[
  {
    "path": ".gitignore",
    "content": "# maven ignore\r\ntarget/\r\n*.jar\r\n*.war\r\n*.zip\r\n*.tar\r\n*.tar.gz\r\n\r\n# eclipse ignore\r\n.settings/\r\n.project\r\n.classpath\r\n\r\n# idea ignore\r\n.idea/\r\n*.ipr\r\n*.iml\r\n*.iws\r\n\r\n# temp ignore\r\n*.log\r\n*.cache\r\n*.diff\r\n*.patch\r\n*.tmp\r\n\r\n# system ignore\r\n.DS_Store\r\n<<<<<<< HEAD\r\nThumbs.db\r\n=======\r\nThumbs.db\r\n>>>>>>> e704ead569657bdb826d1d159a140d2c8278d779\r\n"
  },
  {
    "path": "README.md",
    "content": "# migoshop2.0\n\n#### 具体操作实现步骤请参考本人博客 https://muyinchen.github.io/categories/Migo%E5%95%86%E5%9F%8E2-0/\n\n#### 同时可以对比migo商城第一个版本实现  https://github.com/muyinchen/migoShop\n\n##### 2016.12.31:\n\n##### 2016最后一天，当然要来点猛料，添加sso番外版migo-Fsso,使用Springboot+全新的ORM框架speedment来改写，并使用thymeleaf静态模板页，关于speedment，网上资料很少，全是自己踩坑实现，对于cookie处理这块因为tomcat版本问题出现了不兼容，新的工具类已经实现，等2.0完全迭代完事之后，会和3.0一起放出\n##### \n\n##### 2016.12.25：\n\n###### 为使用Spring4.3的新特性，将依赖版本升级为4.3.5，相应的Jackson版本也相应升级，否则出错，另实现了单点登录系统的注册功能\n\n##### \n\n\n\n"
  },
  {
    "path": "migo-Fsso/.gitignore",
    "content": "target/\n!.mvn/wrapper/maven-wrapper.jar\n\n### STS ###\n.apt_generated\n.classpath\n.factorypath\n.project\n.settings\n.springBeans\n\n### IntelliJ IDEA ###\n.idea\n*.iws\n*.iml\n*.ipr\n\n### NetBeans ###\nnbproject/private/\nbuild/\nnbbuild/\ndist/\nnbdist/\n.nb-gradle/"
  },
  {
    "path": "migo-Fsso/.mvn/wrapper/maven-wrapper.properties",
    "content": "distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip\n"
  },
  {
    "path": "migo-Fsso/mvnw",
    "content": "#!/bin/sh\n# ----------------------------------------------------------------------------\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#    http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing,\n# software distributed under the License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n# KIND, either express or implied.  See the License for the\n# specific language governing permissions and limitations\n# under the License.\n# ----------------------------------------------------------------------------\n\n# ----------------------------------------------------------------------------\n# Maven2 Start Up Batch script\n#\n# Required ENV vars:\n# ------------------\n#   JAVA_HOME - location of a JDK home dir\n#\n# Optional ENV vars\n# -----------------\n#   M2_HOME - location of maven2's installed home dir\n#   MAVEN_OPTS - parameters passed to the Java VM when running Maven\n#     e.g. to debug Maven itself, use\n#       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000\n#   MAVEN_SKIP_RC - flag to disable loading of mavenrc files\n# ----------------------------------------------------------------------------\n\nif [ -z \"$MAVEN_SKIP_RC\" ] ; then\n\n  if [ -f /etc/mavenrc ] ; then\n    . /etc/mavenrc\n  fi\n\n  if [ -f \"$HOME/.mavenrc\" ] ; then\n    . \"$HOME/.mavenrc\"\n  fi\n\nfi\n\n# OS specific support.  $var _must_ be set to either true or false.\ncygwin=false;\ndarwin=false;\nmingw=false\ncase \"`uname`\" in\n  CYGWIN*) cygwin=true ;;\n  MINGW*) mingw=true;;\n  Darwin*) darwin=true\n           #\n           # Look for the Apple JDKs first to preserve the existing behaviour, and then look\n           # for the new JDKs provided by Oracle.\n           #\n           if [ -z \"$JAVA_HOME\" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then\n             #\n             # Apple JDKs\n             #\n             export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home\n           fi\n\n           if [ -z \"$JAVA_HOME\" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then\n             #\n             # Apple JDKs\n             #\n             export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home\n           fi\n\n           if [ -z \"$JAVA_HOME\" ] && [ -L \"/Library/Java/JavaVirtualMachines/CurrentJDK\" ] ; then\n             #\n             # Oracle JDKs\n             #\n             export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home\n           fi\n\n           if [ -z \"$JAVA_HOME\" ] && [ -x \"/usr/libexec/java_home\" ]; then\n             #\n             # Apple JDKs\n             #\n             export JAVA_HOME=`/usr/libexec/java_home`\n           fi\n           ;;\nesac\n\nif [ -z \"$JAVA_HOME\" ] ; then\n  if [ -r /etc/gentoo-release ] ; then\n    JAVA_HOME=`java-config --jre-home`\n  fi\nfi\n\nif [ -z \"$M2_HOME\" ] ; then\n  ## resolve links - $0 may be a link to maven's home\n  PRG=\"$0\"\n\n  # need this for relative symlinks\n  while [ -h \"$PRG\" ] ; do\n    ls=`ls -ld \"$PRG\"`\n    link=`expr \"$ls\" : '.*-> \\(.*\\)$'`\n    if expr \"$link\" : '/.*' > /dev/null; then\n      PRG=\"$link\"\n    else\n      PRG=\"`dirname \"$PRG\"`/$link\"\n    fi\n  done\n\n  saveddir=`pwd`\n\n  M2_HOME=`dirname \"$PRG\"`/..\n\n  # make it fully qualified\n  M2_HOME=`cd \"$M2_HOME\" && pwd`\n\n  cd \"$saveddir\"\n  # echo Using m2 at $M2_HOME\nfi\n\n# For Cygwin, ensure paths are in UNIX format before anything is touched\nif $cygwin ; then\n  [ -n \"$M2_HOME\" ] &&\n    M2_HOME=`cygpath --unix \"$M2_HOME\"`\n  [ -n \"$JAVA_HOME\" ] &&\n    JAVA_HOME=`cygpath --unix \"$JAVA_HOME\"`\n  [ -n \"$CLASSPATH\" ] &&\n    CLASSPATH=`cygpath --path --unix \"$CLASSPATH\"`\nfi\n\n# For Migwn, ensure paths are in UNIX format before anything is touched\nif $mingw ; then\n  [ -n \"$M2_HOME\" ] &&\n    M2_HOME=\"`(cd \"$M2_HOME\"; pwd)`\"\n  [ -n \"$JAVA_HOME\" ] &&\n    JAVA_HOME=\"`(cd \"$JAVA_HOME\"; pwd)`\"\n  # TODO classpath?\nfi\n\nif [ -z \"$JAVA_HOME\" ]; then\n  javaExecutable=\"`which javac`\"\n  if [ -n \"$javaExecutable\" ] && ! [ \"`expr \\\"$javaExecutable\\\" : '\\([^ ]*\\)'`\" = \"no\" ]; then\n    # readlink(1) is not available as standard on Solaris 10.\n    readLink=`which readlink`\n    if [ ! `expr \"$readLink\" : '\\([^ ]*\\)'` = \"no\" ]; then\n      if $darwin ; then\n        javaHome=\"`dirname \\\"$javaExecutable\\\"`\"\n        javaExecutable=\"`cd \\\"$javaHome\\\" && pwd -P`/javac\"\n      else\n        javaExecutable=\"`readlink -f \\\"$javaExecutable\\\"`\"\n      fi\n      javaHome=\"`dirname \\\"$javaExecutable\\\"`\"\n      javaHome=`expr \"$javaHome\" : '\\(.*\\)/bin'`\n      JAVA_HOME=\"$javaHome\"\n      export JAVA_HOME\n    fi\n  fi\nfi\n\nif [ -z \"$JAVACMD\" ] ; then\n  if [ -n \"$JAVA_HOME\"  ] ; then\n    if [ -x \"$JAVA_HOME/jre/sh/java\" ] ; then\n      # IBM's JDK on AIX uses strange locations for the executables\n      JAVACMD=\"$JAVA_HOME/jre/sh/java\"\n    else\n      JAVACMD=\"$JAVA_HOME/bin/java\"\n    fi\n  else\n    JAVACMD=\"`which java`\"\n  fi\nfi\n\nif [ ! -x \"$JAVACMD\" ] ; then\n  echo \"Error: JAVA_HOME is not defined correctly.\" >&2\n  echo \"  We cannot execute $JAVACMD\" >&2\n  exit 1\nfi\n\nif [ -z \"$JAVA_HOME\" ] ; then\n  echo \"Warning: JAVA_HOME environment variable is not set.\"\nfi\n\nCLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher\n\n# For Cygwin, switch paths to Windows format before running java\nif $cygwin; then\n  [ -n \"$M2_HOME\" ] &&\n    M2_HOME=`cygpath --path --windows \"$M2_HOME\"`\n  [ -n \"$JAVA_HOME\" ] &&\n    JAVA_HOME=`cygpath --path --windows \"$JAVA_HOME\"`\n  [ -n \"$CLASSPATH\" ] &&\n    CLASSPATH=`cygpath --path --windows \"$CLASSPATH\"`\nfi\n\n# traverses directory structure from process work directory to filesystem root\n# first directory with .mvn subdirectory is considered project base directory\nfind_maven_basedir() {\n  local basedir=$(pwd)\n  local wdir=$(pwd)\n  while [ \"$wdir\" != '/' ] ; do\n    if [ -d \"$wdir\"/.mvn ] ; then\n      basedir=$wdir\n      break\n    fi\n    wdir=$(cd \"$wdir/..\"; pwd)\n  done\n  echo \"${basedir}\"\n}\n\n# concatenates all lines of a file\nconcat_lines() {\n  if [ -f \"$1\" ]; then\n    echo \"$(tr -s '\\n' ' ' < \"$1\")\"\n  fi\n}\n\nexport MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)}\nMAVEN_OPTS=\"$(concat_lines \"$MAVEN_PROJECTBASEDIR/.mvn/jvm.config\") $MAVEN_OPTS\"\n\n# Provide a \"standardized\" way to retrieve the CLI args that will\n# work with both Windows and non-Windows executions.\nMAVEN_CMD_LINE_ARGS=\"$MAVEN_CONFIG $@\"\nexport MAVEN_CMD_LINE_ARGS\n\nWRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain\n\nexec \"$JAVACMD\" \\\n  $MAVEN_OPTS \\\n  -classpath \"$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar\" \\\n  \"-Dmaven.home=${M2_HOME}\" \"-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}\" \\\n  ${WRAPPER_LAUNCHER} \"$@\"\n"
  },
  {
    "path": "migo-Fsso/mvnw.cmd",
    "content": "@REM ----------------------------------------------------------------------------\n@REM Licensed to the Apache Software Foundation (ASF) under one\n@REM or more contributor license agreements.  See the NOTICE file\n@REM distributed with this work for additional information\n@REM regarding copyright ownership.  The ASF licenses this file\n@REM to you under the Apache License, Version 2.0 (the\n@REM \"License\"); you may not use this file except in compliance\n@REM with the License.  You may obtain a copy of the License at\n@REM\n@REM    http://www.apache.org/licenses/LICENSE-2.0\n@REM\n@REM Unless required by applicable law or agreed to in writing,\n@REM software distributed under the License is distributed on an\n@REM \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n@REM KIND, either express or implied.  See the License for the\n@REM specific language governing permissions and limitations\n@REM under the License.\n@REM ----------------------------------------------------------------------------\n\n@REM ----------------------------------------------------------------------------\n@REM Maven2 Start Up Batch script\n@REM\n@REM Required ENV vars:\n@REM JAVA_HOME - location of a JDK home dir\n@REM\n@REM Optional ENV vars\n@REM M2_HOME - location of maven2's installed home dir\n@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands\n@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending\n@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven\n@REM     e.g. to debug Maven itself, use\n@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000\n@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files\n@REM ----------------------------------------------------------------------------\n\n@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'\n@echo off\n@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'\n@if \"%MAVEN_BATCH_ECHO%\" == \"on\"  echo %MAVEN_BATCH_ECHO%\n\n@REM set %HOME% to equivalent of $HOME\nif \"%HOME%\" == \"\" (set \"HOME=%HOMEDRIVE%%HOMEPATH%\")\n\n@REM Execute a user defined script before this one\nif not \"%MAVEN_SKIP_RC%\" == \"\" goto skipRcPre\n@REM check for pre script, once with legacy .bat ending and once with .cmd ending\nif exist \"%HOME%\\mavenrc_pre.bat\" call \"%HOME%\\mavenrc_pre.bat\"\nif exist \"%HOME%\\mavenrc_pre.cmd\" call \"%HOME%\\mavenrc_pre.cmd\"\n:skipRcPre\n\n@setlocal\n\nset ERROR_CODE=0\n\n@REM To isolate internal variables from possible post scripts, we use another setlocal\n@setlocal\n\n@REM ==== START VALIDATION ====\nif not \"%JAVA_HOME%\" == \"\" goto OkJHome\n\necho.\necho Error: JAVA_HOME not found in your environment. >&2\necho Please set the JAVA_HOME variable in your environment to match the >&2\necho location of your Java installation. >&2\necho.\ngoto error\n\n:OkJHome\nif exist \"%JAVA_HOME%\\bin\\java.exe\" goto init\n\necho.\necho Error: JAVA_HOME is set to an invalid directory. >&2\necho JAVA_HOME = \"%JAVA_HOME%\" >&2\necho Please set the JAVA_HOME variable in your environment to match the >&2\necho location of your Java installation. >&2\necho.\ngoto error\n\n@REM ==== END VALIDATION ====\n\n:init\n\nset MAVEN_CMD_LINE_ARGS=%*\n\n@REM Find the project base dir, i.e. the directory that contains the folder \".mvn\".\n@REM Fallback to current working directory if not found.\n\nset MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%\nIF NOT \"%MAVEN_PROJECTBASEDIR%\"==\"\" goto endDetectBaseDir\n\nset EXEC_DIR=%CD%\nset WDIR=%EXEC_DIR%\n:findBaseDir\nIF EXIST \"%WDIR%\"\\.mvn goto baseDirFound\ncd ..\nIF \"%WDIR%\"==\"%CD%\" goto baseDirNotFound\nset WDIR=%CD%\ngoto findBaseDir\n\n:baseDirFound\nset MAVEN_PROJECTBASEDIR=%WDIR%\ncd \"%EXEC_DIR%\"\ngoto endDetectBaseDir\n\n:baseDirNotFound\nset MAVEN_PROJECTBASEDIR=%EXEC_DIR%\ncd \"%EXEC_DIR%\"\n\n:endDetectBaseDir\n\nIF NOT EXIST \"%MAVEN_PROJECTBASEDIR%\\.mvn\\jvm.config\" goto endReadAdditionalConfig\n\n@setlocal EnableExtensions EnableDelayedExpansion\nfor /F \"usebackq delims=\" %%a in (\"%MAVEN_PROJECTBASEDIR%\\.mvn\\jvm.config\") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a\n@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%\n\n:endReadAdditionalConfig\n\nSET MAVEN_JAVA_EXE=\"%JAVA_HOME%\\bin\\java.exe\"\n\nset WRAPPER_JAR=\"\".\\.mvn\\wrapper\\maven-wrapper.jar\"\"\nset WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain\n\n%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% \"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%\" %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS%\nif ERRORLEVEL 1 goto error\ngoto end\n\n:error\nset ERROR_CODE=1\n\n:end\n@endlocal & set ERROR_CODE=%ERROR_CODE%\n\nif not \"%MAVEN_SKIP_RC%\" == \"\" goto skipRcPost\n@REM check for post script, once with legacy .bat ending and once with .cmd ending\nif exist \"%HOME%\\mavenrc_post.bat\" call \"%HOME%\\mavenrc_post.bat\"\nif exist \"%HOME%\\mavenrc_post.cmd\" call \"%HOME%\\mavenrc_post.cmd\"\n:skipRcPost\n\n@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'\nif \"%MAVEN_BATCH_PAUSE%\" == \"on\" pause\n\nif \"%MAVEN_TERMINATE_CMD%\" == \"on\" exit %ERROR_CODE%\n\nexit /B %ERROR_CODE%"
  },
  {
    "path": "migo-Fsso/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n\txsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n\t<modelVersion>4.0.0</modelVersion>\n\n\t<groupId>com.migo3</groupId>\n\t<artifactId>migo3-sso</artifactId>\n\t<version>0.0.1-SNAPSHOT</version>\n\t<packaging>jar</packaging>\n\n\t<name>demo</name>\n\n\n\t<parent>\n\t\t<groupId>org.springframework.boot</groupId>\n\t\t<artifactId>spring-boot-starter-parent</artifactId>\n\t\t<version>1.4.3.RELEASE</version>\n\t\t<relativePath/> <!-- lookup parent from repository -->\n\t</parent>\n\n\t<properties>\n\t\t<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\n\t\t<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>\n\t\t<java.version>1.8</java.version>\n\n\t\t<spring.version>4.3.5.RELEASE</spring.version>\n\t\t<speedment.version>3.0.1</speedment.version>\n\t\t<db.groupId>mysql</db.groupId>\n\t\t<db.artifactId>mysql-connector-java</db.artifactId>\n\t\t<db.version>5.1.39</db.version>\n\t</properties>\n\n\t<dependencies>\n\t\t<dependency>\n\t\t\t<groupId>com.migo</groupId>\n\t\t\t<artifactId>common</artifactId>\n\t\t\t<version>2.0-SNAPSHOT</version>\n\t\t</dependency>\n\t\t<dependency>\n\t\t\t<groupId>org.springframework.boot</groupId>\n\t\t\t<artifactId>spring-boot-starter-jdbc</artifactId>\n\t\t</dependency>\n\t\t<dependency>\n\t\t\t<groupId>org.springframework.boot</groupId>\n\t\t\t<artifactId>spring-boot-starter-web</artifactId>\n\t\t</dependency>\n\n\n\t\t<dependency>\n\t\t\t<groupId>org.springframework.boot</groupId>\n\t\t\t<artifactId>spring-boot-starter-test</artifactId>\n\t\t\t<scope>test</scope>\n\t\t</dependency>\n\n\t\t<dependency>\n\t\t\t<groupId>org.springframework.boot</groupId>\n\t\t\t<artifactId>spring-boot-starter-thymeleaf</artifactId>\n\t\t</dependency>\n\n\t\t<dependency>\n\t\t\t<groupId>com.alibaba</groupId>\n\t\t\t<artifactId>druid</artifactId>\n\t\t\t<version>1.0.26</version>\n\t\t</dependency>\n\n\t\t<dependency>\n\t\t\t<groupId>com.speedment</groupId>\n\t\t\t<artifactId>runtime</artifactId>\n\t\t\t<version>${speedment.version}</version>\n\t\t\t<type>pom</type>\n\t\t</dependency>\n\t\t<dependency>\n\t\t\t<groupId>${db.groupId}</groupId>\n\t\t\t<artifactId>${db.artifactId}</artifactId>\n\t\t\t<version>${db.version}</version>\n\t\t</dependency>\n\n\n\t</dependencies>\n\n\t<build>\n\t\t<plugins>\n\t\t\t<plugin>\n\t\t\t\t<groupId>org.springframework.boot</groupId>\n\t\t\t\t<artifactId>spring-boot-maven-plugin</artifactId>\n\t\t\t</plugin>\n\n\t\t\t<plugin>\n\t\t\t\t<groupId>com.speedment</groupId>\n\t\t\t\t<artifactId>speedment-maven-plugin</artifactId>\n\t\t\t\t<version>${speedment.version}</version>\n\t\t\t\t<dependencies>\n\t\t\t\t\t<dependency>\n\t\t\t\t\t\t<groupId>${db.groupId}</groupId>\n\t\t\t\t\t\t<artifactId>${db.artifactId}</artifactId>\n\t\t\t\t\t\t<version>${db.version}</version>\n\t\t\t\t\t</dependency>\n\t\t\t\t</dependencies>\n\t\t\t</plugin>\n\t\t\t<plugin>\n\t\t\t\t<groupId>org.apache.maven.plugins</groupId>\n\t\t\t\t<artifactId>maven-compiler-plugin</artifactId>\n\t\t\t\t<configuration>\n\t\t\t\t\t<source>1.8</source>\n\t\t\t\t\t<target>1.8</target>\n\t\t\t\t</configuration>\n\t\t\t</plugin>\n\t\t</plugins>\n\t</build>\n\n\n</project>\n"
  },
  {
    "path": "migo-Fsso/settings.properties",
    "content": "#Speedment Settings\r\n#Thu Dec 29 14:59:10 CST 2016\r\nlast_known_port=3306\r\nlast_known_user=root\r\nlast_known_name=db0\r\nlast_known_dbtype=MySQL\r\nproject_location=D\\:\\\\migoshop3\\\\migo-Fsso\\\\src\\\\main\\\\json\\\\speedment.json\r\nhide_open_option=false\r\nlast_known_host=127.0.0.1\r\nlast_known_schema=migo2\r\n"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/.speedment/.Migo2Application.java.md5",
    "content": "50d0ae9d22dd482d447c93cac09a0a18"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/.speedment/.Migo2ApplicationBuilder.java.md5",
    "content": "c4c9450a644569f984c72aeb12b7647b"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/.speedment/.Migo2ApplicationImpl.java.md5",
    "content": "6d84fee86e1e5e0080621eac987f7eb4"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/Migo2Application.java",
    "content": "package com.migo3.sso;\n\nimport com.migo3.sso.generated.GeneratedMigo2Application;\n\n/**\n * An {@link com.speedment.runtime.core.ApplicationBuilder} interface for the\n * {@link com.speedment.runtime.config.Project} named migo2.\n * <p>\n * This file is safe to edit. It will not be overwritten by the code generator.\n * \n * @author company\n */\npublic interface Migo2Application extends GeneratedMigo2Application {\n    \n    \n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/Migo2ApplicationBuilder.java",
    "content": "package com.migo3.sso;\n\nimport com.migo3.sso.generated.GeneratedMigo2ApplicationBuilder;\n\n/**\n * The default {@link com.speedment.runtime.core.ApplicationBuilder}\n * implementation class for the {@link com.speedment.runtime.config.Project}\n * named migo2.\n * <p>\n * This file is safe to edit. It will not be overwritten by the code generator.\n * \n * @author company\n */\npublic final class Migo2ApplicationBuilder extends GeneratedMigo2ApplicationBuilder {\n    \n    \n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/Migo2ApplicationImpl.java",
    "content": "package com.migo3.sso;\n\nimport com.migo3.sso.generated.GeneratedMigo2ApplicationImpl;\n\n/**\n * The default {@link com.speedment.runtime.core.Speedment} implementation class\n * for the {@link com.speedment.runtime.config.Project} named migo2.\n * <p>\n * This file is safe to edit. It will not be overwritten by the code generator.\n * \n * @author company\n */\npublic final class Migo2ApplicationImpl extends GeneratedMigo2ApplicationImpl implements Migo2Application {\n    \n    \n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/SsoApplication.java",
    "content": "package com.migo3.sso;\n\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\n\n@SpringBootApplication\npublic class SsoApplication {\n\n\tpublic static void main(String[] args) {\n\t\tSpringApplication.run(SsoApplication.class, args);\n\t}\n}\n"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/UserConfig.java",
    "content": "package com.migo3.sso;\r\n\r\nimport com.alibaba.druid.pool.DruidDataSource;\r\nimport com.migo.messageconverter.CallbackMappingJackson2HttpMessageConverter;\r\nimport com.migo.service.impl.JedisClientSingle;\r\nimport com.migo3.sso.pojo.UserManager;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.context.annotation.Bean;\r\nimport org.springframework.context.annotation.Configuration;\r\nimport org.springframework.core.env.Environment;\r\nimport org.springframework.http.converter.HttpMessageConverter;\r\nimport org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;\r\nimport redis.clients.jedis.JedisPool;\r\n\r\nimport java.util.List;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/29.\r\n */\r\n@Configuration\r\npublic class UserConfig extends WebMvcConfigurerAdapter {\r\n\r\n\r\n    @Autowired\r\n    private Environment env;\r\n\r\n\r\n    @Bean\r\n    public Migo2Application geMigo2Application() {\r\n        return new Migo2ApplicationBuilder()\r\n                .withPassword(\"123\")\r\n                .build();\r\n    }\r\n\r\n    @Bean\r\n    public UserManager getUserManager(Migo2Application application) {\r\n        return application.getOrThrow(UserManager.class);\r\n    }\r\n\r\n\r\n\r\n\r\n    @Bean\r\n    public CallbackMappingJackson2HttpMessageConverter converter() {\r\n        CallbackMappingJackson2HttpMessageConverter msc = new CallbackMappingJackson2HttpMessageConverter();\r\n        msc.setCallbackName(\"callback\");\r\n        return msc;\r\n    }\r\n\r\n    @Bean(\"jedisPool\")\r\n    public JedisPool jedisPool() {\r\n        return new JedisPool(\"192.168.42.131\", 6379);\r\n\r\n    }\r\n\r\n    @Bean(\"jedisClientSingle\")\r\n    public JedisClientSingle jedisClientSingle() {\r\n        return new JedisClientSingle();\r\n    }\r\n\r\n\r\n\r\n    @Override\r\n    public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {\r\n        super.extendMessageConverters(converters);\r\n        converters.add(converter());\r\n    }\r\n\r\n    @Bean\r\n    public DruidDataSource dataSource() {\r\n        DruidDataSource dataSource = new DruidDataSource();\r\n        dataSource.setUrl(env.getProperty(\"spring.datasource.url\"));\r\n        dataSource.setUsername(env.getProperty(\"spring.datasource.username\"));//用户名\r\n        dataSource.setPassword(env.getProperty(\"spring.datasource.password\"));//密码\r\n        dataSource.setInitialSize(2);\r\n        dataSource.setMaxActive(20);\r\n        dataSource.setMinIdle(0);\r\n        dataSource.setMaxWait(60000);\r\n        dataSource.setValidationQuery(\"SELECT 1\");\r\n        dataSource.setTestOnBorrow(false);\r\n        dataSource.setTestWhileIdle(true);\r\n        dataSource.setPoolPreparedStatements(false);\r\n        return dataSource;\r\n    }\r\n\r\n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/controller/SsoController.java",
    "content": "package com.migo3.sso.controller;\r\n\r\nimport com.migo.utils.CookieUtils;\r\nimport com.migo3.sso.pojo.User;\r\nimport com.migo3.sso.pojo.UserImpl;\r\nimport com.migo3.sso.service.UserService;\r\nimport org.slf4j.Logger;\r\nimport org.slf4j.LoggerFactory;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.http.HttpStatus;\r\nimport org.springframework.http.ResponseEntity;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.ui.ModelMap;\r\nimport org.springframework.validation.BindingResult;\r\nimport org.springframework.validation.ObjectError;\r\nimport org.springframework.validation.annotation.Validated;\r\nimport org.springframework.web.bind.annotation.*;\r\n\r\nimport javax.servlet.http.HttpServletRequest;\r\nimport javax.servlet.http.HttpServletResponse;\r\nimport java.util.HashMap;\r\nimport java.util.List;\r\nimport java.util.Map;\r\nimport java.util.stream.Collectors;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/29.\r\n */\r\n@Controller\r\n\r\npublic class SsoController {\r\n    private static final Logger logger= LoggerFactory.getLogger(SsoController.class);\r\n\r\n    private static final String COOKIE_NAME = \"MG_TOKEN\";\r\n\r\n    @Autowired\r\n    private UserService userService;\r\n\r\n    @GetMapping(\"/rest/user/register\")\r\n    public String register(){\r\n        return \"register\";\r\n    }\r\n\r\n    @GetMapping(\"/rest/user/doLogin\")\r\n    public String doLogin(ModelMap map){\r\n        map.addAttribute(\"host\", \"http://blog.didispace.com\");\r\n\r\n        return \"login\";\r\n    }\r\n\r\n    @PostMapping(\"/do/user/doLogin\")\r\n    @ResponseBody\r\n    public Map<String,Object> doLogin(@RequestParam(\"username\") String username,\r\n                                      @RequestParam(\"password\") String password,\r\n                                      HttpServletRequest request,\r\n                                      HttpServletResponse response){\r\n\r\n        Map<String,Object> map=new HashMap<>();\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"用户登录功能 username = {} ,password = {}\",username,password);\r\n            }\r\n            String token=this.userService.doLogin(username,password);\r\n            if (token == null) {\r\n                map.put(\"status\",400);\r\n            }else {\r\n                //登录成功将token写入到cookie中\r\n                map.put(\"status\",200);\r\n                CookieUtils.setCookie(request,response,COOKIE_NAME,token);\r\n            }\r\n        } catch (Exception e) {\r\n            logger.error(\"用户登录失败 username = {}\",username,e);\r\n            map.put(\"status\",500);\r\n        }\r\n        return map;\r\n    }\r\n\r\n    @GetMapping(\"/do/user/check/{param}/{type}\")\r\n    public ResponseEntity<Boolean> check(@PathVariable String param, @PathVariable Integer type){\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"检查数据是否可用 param = {} ,type = {}\",param,type);\r\n            }\r\n            Boolean bool=this.userService.check(param,type);\r\n            if (null==bool){\r\n                return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);\r\n            }\r\n            return ResponseEntity.ok(bool);\r\n        } catch (Exception e) {\r\n            logger.error(\"检查数据是否可用 出现异常\",e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n    }\r\n\r\n    @PostMapping(\"/do/user/doRegister\")\r\n    @ResponseBody\r\n    public Map<String,Object> doRegister(@Validated UserImpl user, BindingResult bindingResult){\r\n        Map<String,Object> map=new HashMap<>();\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"注册用户 user = {}\", user);\r\n            }\r\n\r\n            if (bindingResult.hasErrors()){\r\n\r\n\r\n                //List<String> megs=new ArrayList<>();\r\n                List<ObjectError> allErrors = bindingResult.getAllErrors();\r\n                //一种实现，两种写法，都可以使用\r\n                //  allErrors.stream().map(ObjectError::getDefaultMessage).forEach(megs::add);\r\n                // allErrors.stream().parallel().map(ObjectError::getDefaultMessage).forEach(megs::add);\r\n                // allErrors.forEach(objectError -> megs.add(objectError.getDefaultMessage()));\r\n                //allErrors.stream().forEach(objectError->megs.add(objectError.getDefaultMessage()));\r\n                //List<String> collect = allErrors.stream().map(ObjectError::getDefaultMessage).collect(Collectors.toList());\r\n                String collect = allErrors.stream().\r\n                                parallel().\r\n                                map(ObjectError::getDefaultMessage).\r\n                                collect(Collectors.joining(\"|\"));\r\n                map.put(\"status\",\"401\");\r\n                //map.put(\"data\", StringUtils.join(megs,\"|\"));\r\n                map.put(\"data\",collect);\r\n                return map;\r\n            }\r\n            Boolean bool=this.userService.doRegister( user);\r\n            if (bool){\r\n                map.put(\"status\",200);\r\n            }else {\r\n                map.put(\"status\",500);\r\n                map.put(\"data\",\"注册失败\");\r\n            }\r\n        } catch (Exception e) {\r\n            logger.error(\"注册失败 user = {} \",user,e);\r\n            map.put(\"status\",500);\r\n            map.put(\"data\",\"注册失败\");\r\n        }\r\n        return map;\r\n    }\r\n\r\n\r\n    @GetMapping(\"/do/user/{token}\")\r\n    public ResponseEntity<User> queryByToken(@PathVariable(\"token\") String token){\r\n\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"根据token查询用户信息 token = {}\", token);\r\n            }\r\n            User user=this.userService.queryByToken(token);\r\n            if (null==user){\r\n                return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);\r\n            }\r\n            return ResponseEntity.ok(user);\r\n        } catch (Exception e) {\r\n            logger.error(\"根据token查询用户信息 出错 token = {}\", token,e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/generated/.speedment/.GeneratedMigo2Application.java.md5",
    "content": "4f01445412b41fddd046c78fcdd2d612"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/generated/.speedment/.GeneratedMigo2ApplicationBuilder.java.md5",
    "content": "1253dc8d4ce6b2c787757b6cd157ad40"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/generated/.speedment/.GeneratedMigo2ApplicationImpl.java.md5",
    "content": "c8db2bf657039154e022056021adfd42"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/generated/.speedment/.GeneratedMigo2Metadata.java.md5",
    "content": "3682bb03a00bae514cdd88c3f6d6daaa"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/generated/GeneratedMigo2Application.java",
    "content": "package com.migo3.sso.generated;\n\nimport com.speedment.runtime.core.Speedment;\nimport javax.annotation.Generated;\n\n/**\n * The generated {@link\n * com.speedment.runtime.core.internal.AbstractApplicationBuilder} application\n * interface for the {@link com.speedment.runtime.config.Project} named migo2.\n * <p>\n * This file has been automatically generated by Speedment. Any changes made to\n * it will be overwritten.\n * \n * @author Speedment\n */\n@Generated(\"Speedment\")\npublic interface GeneratedMigo2Application extends Speedment {\n    \n    \n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/generated/GeneratedMigo2ApplicationBuilder.java",
    "content": "package com.migo3.sso.generated;\n\nimport com.migo3.sso.Migo2Application;\nimport com.migo3.sso.Migo2ApplicationBuilder;\nimport com.migo3.sso.Migo2ApplicationImpl;\nimport com.migo3.sso.pojo.UserManagerImpl;\nimport com.migo3.sso.pojo.UserSqlAdapter;\nimport com.speedment.common.injector.Injector;\nimport com.speedment.runtime.core.internal.AbstractApplicationBuilder;\nimport javax.annotation.Generated;\n\n/**\n * A generated base {@link\n * com.speedment.runtime.core.internal.AbstractApplicationBuilder} class for the\n * {@link com.speedment.runtime.config.Project} named migo2.\n * <p>\n * This file has been automatically generated by Speedment. Any changes made to\n * it will be overwritten.\n * \n * @author Speedment\n */\n@Generated(\"Speedment\")\npublic abstract class GeneratedMigo2ApplicationBuilder extends AbstractApplicationBuilder<Migo2Application, Migo2ApplicationBuilder> {\n    \n    protected GeneratedMigo2ApplicationBuilder() {\n        super(Migo2ApplicationImpl.class, GeneratedMigo2Metadata.class);\n        withManager(UserManagerImpl.class);\n        withComponent(UserSqlAdapter.class);\n    }\n    \n    @Override\n    public Migo2Application build(Injector injector) {\n        return injector.getOrThrow(Migo2Application.class);\n    }\n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/generated/GeneratedMigo2ApplicationImpl.java",
    "content": "package com.migo3.sso.generated;\n\nimport com.speedment.runtime.core.internal.AbstractSpeedment;\nimport javax.annotation.Generated;\n\n/**\n * The generated {@link\n * com.speedment.runtime.core.internal.AbstractApplicationBuilder}\n * implementation class for the {@link com.speedment.runtime.config.Project}\n * named migo2.\n * <p>\n * This file has been automatically generated by Speedment. Any changes made to\n * it will be overwritten.\n * \n * @author Speedment\n */\n@Generated(\"Speedment\")\npublic class GeneratedMigo2ApplicationImpl extends AbstractSpeedment implements GeneratedMigo2Application {\n    \n    \n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/generated/GeneratedMigo2Metadata.java",
    "content": "package com.migo3.sso.generated;\n\nimport com.speedment.runtime.core.internal.AbstractApplicationMetadata;\nimport java.util.Optional;\nimport java.util.stream.Stream;\nimport javax.annotation.Generated;\n\n/**\n * A {@link com.speedment.runtime.core.ApplicationMetadata} class for the {@link\n * com.speedment.runtime.config.Project} named migo2. This class contains the\n * meta data present at code generation time.\n * <p>\n * This file has been automatically generated by Speedment. Any changes made to\n * it will be overwritten.\n * \n * @author Speedment\n */\n@Generated(\"Speedment\")\npublic class GeneratedMigo2Metadata extends AbstractApplicationMetadata {\n    \n    private final static String METADATA = init();\n    \n    private static String init() {\n        final StringBuilder sb = new StringBuilder();\n        initPart0(sb);\n        initPart1(sb);\n        initPart2(sb);\n        initPart3(sb);\n        initPart4(sb);\n        initPart5(sb);\n        initPart6(sb);\n        initPart7(sb);\n        initPart8(sb);\n        initPart9(sb);\n        initPart10(sb);\n        initPart11(sb);\n        initPart12(sb);\n        initPart13(sb);\n        return sb.toString();\n    }\n    \n    @Override\n    protected Optional<String> getMetadata() {\n        return Optional.of(METADATA);\n    }\n    \n    private static void initPart0(StringBuilder sb) {\n        Stream.of(\n            \"{\",\n            \"  \\\"config\\\" : {\",\n            \"    \\\"expanded\\\" : true,\",\n            \"    \\\"companyName\\\" : \\\"company\\\",\",\n            \"    \\\"name\\\" : \\\"migo2\\\",\",\n            \"    \\\"packageLocation\\\" : \\\"src/main/java/\\\",\",\n            \"    \\\"packageName\\\" : \\\"com.migo2.sso\\\",\",\n            \"    \\\"dbmses\\\" : [\",\n            \"      {\",\n            \"        \\\"expanded\\\" : true,\",\n            \"        \\\"port\\\" : 3306,\",\n            \"        \\\"schemas\\\" : [\",\n            \"          {\",\n            \"            \\\"tables\\\" : [\",\n            \"              {\",\n            \"                \\\"expanded\\\" : false,\",\n            \"                \\\"primaryKeyColumns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"indexes\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"PRIMARY\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ],\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"category_id\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"category_id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ],\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"updated\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"updated\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ],\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"columns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"typeMapper\\\" : \\\"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"autoIncrement\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"typeMapper\\\" : \\\"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"category_id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 2,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"title\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 3,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"sub_title\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 4,\"\n        ).forEachOrdered(sb::append);\n    }\n    \n    private static void initPart1(StringBuilder sb) {\n        Stream.of(\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"title_desc\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 5,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"url\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 6,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"pic\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 7,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"pic2\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 8,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"content\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 9,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"created\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 10,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"updated\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 11,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"name\\\" : \\\"tb_content\\\",\",\n            \"                \\\"enabled\\\" : false\",\n            \"              },\",\n            \"              {\",\n            \"                \\\"expanded\\\" : false,\",\n            \"                \\\"primaryKeyColumns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"indexes\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"PRIMARY\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ],\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"parent_id\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"parent_id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      },\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"status\\\",\"\n        ).forEachOrdered(sb::append);\n    }\n    \n    private static void initPart2(StringBuilder sb) {\n        Stream.of(\n            \"                        \\\"ordinalPosition\\\" : 2\",\n            \"                      }\",\n            \"                    ],\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"sort_order\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"sort_order\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ],\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"columns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"typeMapper\\\" : \\\"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"autoIncrement\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"parent_id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 2,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"name\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 3,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Integer\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"status\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 4,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Integer\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"sort_order\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 5,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Integer\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"is_parent\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 6,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"created\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 7,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"updated\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 8,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"name\\\" : \\\"tb_content_category\\\",\",\n            \"                \\\"enabled\\\" : false\",\n            \"              },\",\n            \"              {\",\n            \"                \\\"expanded\\\" : false,\",\n            \"                \\\"primaryKeyColumns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"indexes\\\" : [\"\n        ).forEachOrdered(sb::append);\n    }\n    \n    private static void initPart3(StringBuilder sb) {\n        Stream.of(\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"PRIMARY\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"cid\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"cid\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"status\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"status\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"updated\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"updated\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"columns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"typeMapper\\\" : \\\"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"title\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 2,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"sell_point\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 3,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"typeMapper\\\" : \\\"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"price\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 4,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Integer\\\",\",\n            \"                    \\\"typeMapper\\\" : \\\"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"num\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 5,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\"\n        ).forEachOrdered(sb::append);\n    }\n    \n    private static void initPart4(StringBuilder sb) {\n        Stream.of(\n            \"                    \\\"name\\\" : \\\"barcode\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 6,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"image\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 7,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"typeMapper\\\" : \\\"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"cid\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 8,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Byte\\\",\",\n            \"                    \\\"typeMapper\\\" : \\\"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"status\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 9,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"created\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 10,\",\n            \"                    \\\"enabled\\\" : true\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"updated\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 11\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"name\\\" : \\\"tb_item\\\",\",\n            \"                \\\"enabled\\\" : false\",\n            \"              },\",\n            \"              {\",\n            \"                \\\"expanded\\\" : false,\",\n            \"                \\\"primaryKeyColumns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"indexes\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"PRIMARY\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"parent_id\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"parent_id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      },\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"status\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 2\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"sort_order\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"sort_order\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\"\n        ).forEachOrdered(sb::append);\n    }\n    \n    private static void initPart5(StringBuilder sb) {\n        Stream.of(\n            \"                      }\",\n            \"                    ]\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"columns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"typeMapper\\\" : \\\"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"autoIncrement\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"parent_id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 2\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"name\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 3\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Integer\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"status\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 4\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Integer\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"sort_order\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 5\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Integer\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"is_parent\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 6\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"created\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 7\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"updated\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 8\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"name\\\" : \\\"tb_item_cat\\\",\",\n            \"                \\\"enabled\\\" : false\",\n            \"              },\",\n            \"              {\",\n            \"                \\\"expanded\\\" : false,\",\n            \"                \\\"primaryKeyColumns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"item_id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"indexes\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"PRIMARY\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"item_id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"columns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"typeMapper\\\" : \\\"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"item_id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  },\",\n            \"                  {\"\n        ).forEachOrdered(sb::append);\n    }\n    \n    private static void initPart6(StringBuilder sb) {\n        Stream.of(\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"item_desc\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 2\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"created\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 3\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"updated\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 4\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"name\\\" : \\\"tb_item_desc\\\",\",\n            \"                \\\"enabled\\\" : false\",\n            \"              },\",\n            \"              {\",\n            \"                \\\"expanded\\\" : false,\",\n            \"                \\\"primaryKeyColumns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"indexes\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"PRIMARY\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"item_cat_id\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"item_cat_id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"columns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"typeMapper\\\" : \\\"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"autoIncrement\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"item_cat_id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 2\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"param_data\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 3\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"created\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 4\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"updated\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 5\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"name\\\" : \\\"tb_item_param\\\",\"\n        ).forEachOrdered(sb::append);\n    }\n    \n    private static void initPart7(StringBuilder sb) {\n        Stream.of(\n            \"                \\\"enabled\\\" : false\",\n            \"              },\",\n            \"              {\",\n            \"                \\\"expanded\\\" : false,\",\n            \"                \\\"primaryKeyColumns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"indexes\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"PRIMARY\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"item_id\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"item_id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"columns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"typeMapper\\\" : \\\"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"autoIncrement\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"item_id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 2\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"param_data\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 3\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"created\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 4\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"updated\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 5\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"name\\\" : \\\"tb_item_param_item\\\",\",\n            \"                \\\"enabled\\\" : false\",\n            \"              },\",\n            \"              {\",\n            \"                \\\"expanded\\\" : false,\",\n            \"                \\\"primaryKeyColumns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"order_id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"indexes\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"PRIMARY\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"order_id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\"\n        ).forEachOrdered(sb::append);\n    }\n    \n    private static void initPart8(StringBuilder sb) {\n        Stream.of(\n            \"                      }\",\n            \"                    ]\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"buyer_nick\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"buyer_nick\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"create_time\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"create_time\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"payment_type\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"payment_type\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"status\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"status\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"columns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"order_id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"payment\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 2\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Integer\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"payment_type\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 3\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"post_fee\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 4\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Integer\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"status\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 5\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"create_time\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 6\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\"\n        ).forEachOrdered(sb::append);\n    }\n    \n    private static void initPart9(StringBuilder sb) {\n        Stream.of(\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"update_time\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 7\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"payment_time\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 8\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"consign_time\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 9\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"end_time\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 10\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"close_time\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 11\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"shipping_name\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 12\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"shipping_code\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 13\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"user_id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 14\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"buyer_message\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 15\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"buyer_nick\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 16\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Integer\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"buyer_rate\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 17\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"name\\\" : \\\"tb_order\\\",\",\n            \"                \\\"enabled\\\" : false\",\n            \"              },\",\n            \"              {\",\n            \"                \\\"expanded\\\" : false,\",\n            \"                \\\"primaryKeyColumns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"indexes\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"PRIMARY\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\"\n        ).forEachOrdered(sb::append);\n    }\n    \n    private static void initPart10(StringBuilder sb) {\n        Stream.of(\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"item_id\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"item_id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"order_id\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"order_id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"columns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"item_id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 2\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"order_id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 3\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Integer\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"num\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 4\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"title\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 5\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"price\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 6\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"total_fee\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 7\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"pic_path\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 8\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"name\\\" : \\\"tb_order_item\\\",\",\n            \"                \\\"enabled\\\" : false\",\n            \"              },\",\n            \"              {\",\n            \"                \\\"expanded\\\" : false,\",\n            \"                \\\"primaryKeyColumns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"order_id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"indexes\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\"\n        ).forEachOrdered(sb::append);\n    }\n    \n    private static void initPart11(StringBuilder sb) {\n        Stream.of(\n            \"                    \\\"unique\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"PRIMARY\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"order_id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"columns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"order_id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"receiver_name\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 2\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"receiver_phone\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 3\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"receiver_mobile\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 4\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"receiver_state\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 5\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"receiver_city\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 6\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"receiver_district\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 7\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"receiver_address\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 8\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"receiver_zip\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 9\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"created\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 10\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"updated\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 11\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"name\\\" : \\\"tb_order_shipping\\\",\",\n            \"                \\\"enabled\\\" : false\",\n            \"              },\",\n            \"              {\",\n            \"                \\\"expanded\\\" : false,\",\n            \"                \\\"primaryKeyColumns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\"\n        ).forEachOrdered(sb::append);\n    }\n    \n    private static void initPart12(StringBuilder sb) {\n        Stream.of(\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"indexes\\\" : [\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"email\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"email\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"phone\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"phone\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"PRIMARY\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"id\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"unique\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"username\\\",\",\n            \"                    \\\"indexColumns\\\" : [\",\n            \"                      {\",\n            \"                        \\\"orderType\\\" : \\\"ASC\\\",\",\n            \"                        \\\"expanded\\\" : false,\",\n            \"                        \\\"name\\\" : \\\"username\\\",\",\n            \"                        \\\"ordinalPosition\\\" : 1\",\n            \"                      }\",\n            \"                    ]\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"columns\\\" : [\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.Long\\\",\",\n            \"                    \\\"typeMapper\\\" : \\\"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"autoIncrement\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"id\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 1\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"username\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 2\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"password\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 3\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"phone\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 4\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.lang.String\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : true,\",\n            \"                    \\\"name\\\" : \\\"email\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 5\",\n            \"                  },\",\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"created\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 6\",\n            \"                  },\"\n        ).forEachOrdered(sb::append);\n    }\n    \n    private static void initPart13(StringBuilder sb) {\n        Stream.of(\n            \"                  {\",\n            \"                    \\\"databaseType\\\" : \\\"java.sql.Timestamp\\\",\",\n            \"                    \\\"expanded\\\" : false,\",\n            \"                    \\\"nullable\\\" : false,\",\n            \"                    \\\"name\\\" : \\\"updated\\\",\",\n            \"                    \\\"ordinalPosition\\\" : 7\",\n            \"                  }\",\n            \"                ],\",\n            \"                \\\"name\\\" : \\\"tb_user\\\",\",\n            \"                \\\"alias\\\" : \\\"user\\\",\",\n            \"                \\\"packageName\\\" : \\\"com.migo2.sso.pojo\\\",\",\n            \"                \\\"enabled\\\" : true\",\n            \"              }\",\n            \"            ],\",\n            \"            \\\"expanded\\\" : true,\",\n            \"            \\\"name\\\" : \\\"migo2\\\",\",\n            \"            \\\"enabled\\\" : true\",\n            \"          }\",\n            \"        ],\",\n            \"        \\\"typeName\\\" : \\\"MySQL\\\",\",\n            \"        \\\"ipAddress\\\" : \\\"127.0.0.1\\\",\",\n            \"        \\\"name\\\" : \\\"db0\\\",\",\n            \"        \\\"enabled\\\" : true,\",\n            \"        \\\"username\\\" : \\\"root\\\"\",\n            \"      }\",\n            \"    ],\",\n            \"    \\\"enabled\\\" : true\",\n            \"  }\",\n            \"}\"\n        ).forEachOrdered(sb::append);\n    }\n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/.speedment/.User.java.md5",
    "content": "27ac398a9caef2cbc4afc808df24d174"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/.speedment/.UserImpl.java.md5",
    "content": "47bed9ddae40c814e63f4ecd1cc00bd0"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/.speedment/.UserManager.java.md5",
    "content": "60c7e85a56883b839aceaa9acc947699"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/.speedment/.UserManagerImpl.java.md5",
    "content": "5d6731a54fa4468b208f915ecab770d4"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/.speedment/.UserSqlAdapter.java.md5",
    "content": "269f02fd2ac863f65d2a8e2a31b6dc45"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/User.java",
    "content": "package com.migo3.sso.pojo;\n\nimport com.migo3.sso.pojo.generated.GeneratedUser;\n\n/**\n * The main interface for entities of the {@code tb_user}-table in the database.\n * <p>\n * This file is safe to edit. It will not be overwritten by the code generator.\n * \n * @author company\n */\npublic interface User extends GeneratedUser {\n    \n    \n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/UserImpl.java",
    "content": "package com.migo3.sso.pojo;\n\nimport com.migo3.sso.pojo.generated.GeneratedUserImpl;\n\n/**\n * The default implementation of the {@link User}-interface.\n * <p>\n * This file is safe to edit. It will not be overwritten by the code generator.\n * \n * @author company\n */\npublic final class UserImpl extends GeneratedUserImpl implements User {\n    \n    \n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/UserManager.java",
    "content": "package com.migo3.sso.pojo;\n\nimport com.migo3.sso.pojo.generated.GeneratedUserManager;\n\n/**\n * The main interface for the manager of every {@link User}\n * entity.\n * <p>\n * This file is safe to edit. It will not be overwritten by the code generator.\n * \n * @author company\n */\npublic interface UserManager extends GeneratedUserManager {\n    \n    \n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/UserManagerImpl.java",
    "content": "package com.migo3.sso.pojo;\n\nimport com.migo3.sso.pojo.generated.GeneratedUserManagerImpl;\n\n/**\n * The default implementation for the manager of every {@link\n * User} entity.\n * <p>\n * This file is safe to edit. It will not be overwritten by the code generator.\n * \n * @author company\n */\npublic final class UserManagerImpl extends GeneratedUserManagerImpl implements UserManager {\n    \n    \n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/UserSqlAdapter.java",
    "content": "package com.migo3.sso.pojo;\n\nimport com.migo3.sso.pojo.generated.GeneratedUserSqlAdapter;\n\n/**\n * The SqlAdapter for every {@link User} entity.\n * <p>\n * This file is safe to edit. It will not be overwritten by the code generator.\n * \n * @author company\n */\npublic class UserSqlAdapter extends GeneratedUserSqlAdapter {\n    \n    \n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/generated/.speedment/.GeneratedUser.java.md5",
    "content": "9e831bfbcbc9f6e6ec54208349878503"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/generated/.speedment/.GeneratedUserImpl.java.md5",
    "content": "fcbc06a46f2f5b1c978abe50b6b83acc"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/generated/.speedment/.GeneratedUserManager.java.md5",
    "content": "0c2d8f9ef1e52faf5c7ac4b2ae394321"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/generated/.speedment/.GeneratedUserManagerImpl.java.md5",
    "content": "3055dae3972f755dad00ef42b6168c20"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/generated/.speedment/.GeneratedUserSqlAdapter.java.md5",
    "content": "f4c0ee8bcb8c3426f2088110a6f39d2e"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/generated/GeneratedUser.java",
    "content": "package com.migo3.sso.pojo.generated;\n\nimport com.migo3.sso.pojo.User;\nimport com.speedment.runtime.config.identifier.ColumnIdentifier;\nimport com.speedment.runtime.config.identifier.TableIdentifier;\nimport com.speedment.runtime.core.util.OptionalUtil;\nimport com.speedment.runtime.field.ComparableField;\nimport com.speedment.runtime.field.LongField;\nimport com.speedment.runtime.field.StringField;\nimport com.speedment.runtime.typemapper.TypeMapper;\n\nimport javax.annotation.Generated;\nimport java.sql.Timestamp;\nimport java.util.Date;\nimport java.util.Optional;\n\n/**\n * The generated base for the {@link User}-interface\n * representing entities of the {@code tb_user}-table in the database.\n * <p>\n * This file has been automatically generated by Speedment. Any changes made to\n * it will be overwritten.\n * \n * @author Speedment\n */\n@Generated(\"Speedment\")\npublic interface GeneratedUser {\n    \n    /**\n     * This Field corresponds to the {@link User} field that can be obtained\n     * using the {@link User#getId()} method.\n     */\n    final LongField<User, Long> ID = LongField.create(\n        Identifier.ID,\n        User::getId,\n        User::setId,\n        TypeMapper.primitive(), \n        true\n    );\n    /**\n     * This Field corresponds to the {@link User} field that can be obtained\n     * using the {@link User#getUsername()} method.\n     */\n    final StringField<User, String> USERNAME = StringField.create(\n        Identifier.USERNAME,\n        User::getUsername,\n        User::setUsername,\n        TypeMapper.identity(), \n        true\n    );\n    /**\n     * This Field corresponds to the {@link User} field that can be obtained\n     * using the {@link User#getPassword()} method.\n     */\n    final StringField<User, String> PASSWORD = StringField.create(\n        Identifier.PASSWORD,\n        User::getPassword,\n        User::setPassword,\n        TypeMapper.identity(), \n        false\n    );\n    /**\n     * This Field corresponds to the {@link User} field that can be obtained\n     * using the {@link User#getPhone()} method.\n     */\n    final StringField<User, String> PHONE = StringField.create(\n        Identifier.PHONE,\n        o -> OptionalUtil.unwrap(o.getPhone()),\n        User::setPhone,\n        TypeMapper.identity(), \n        true\n    );\n    /**\n     * This Field corresponds to the {@link User} field that can be obtained\n     * using the {@link User#getEmail()} method.\n     */\n    final StringField<User, String> EMAIL = StringField.create(\n        Identifier.EMAIL,\n        o -> OptionalUtil.unwrap(o.getEmail()),\n        User::setEmail,\n        TypeMapper.identity(), \n        true\n    );\n    /**\n     * This Field corresponds to the {@link User} field that can be obtained\n     * using the {@link User#getCreated()} method.\n     */\n    final ComparableField<User, Timestamp, Timestamp> CREATED = ComparableField.create(\n        Identifier.CREATED,\n        User::getCreated,\n        User::setCreated,\n        TypeMapper.identity(), \n        false\n    );\n    /**\n     * This Field corresponds to the {@link User} field that can be obtained\n     * using the {@link User#getUpdated()} method.\n     */\n    final ComparableField<User, Timestamp, Timestamp> UPDATED = ComparableField.create(\n        Identifier.UPDATED,\n        User::getUpdated,\n        User::setUpdated,\n        TypeMapper.identity(), \n        false\n    );\n    \n    /**\n     * Returns the id of this User. The id field corresponds to the database\n     * column db0.migo2.tb_user.id.\n     * \n     * @return the id of this User\n     */\n    long getId();\n    \n    /**\n     * Returns the username of this User. The username field corresponds to the\n     * database column db0.migo2.tb_user.username.\n     * \n     * @return the username of this User\n     */\n    String getUsername();\n    \n    /**\n     * Returns the password of this User. The password field corresponds to the\n     * database column db0.migo2.tb_user.password.\n     * \n     * @return the password of this User\n     */\n    String getPassword();\n    \n    /**\n     * Returns the phone of this User. The phone field corresponds to the\n     * database column db0.migo2.tb_user.phone.\n     * \n     * @return the phone of this User\n     */\n    Optional<String> getPhone();\n    \n    /**\n     * Returns the email of this User. The email field corresponds to the\n     * database column db0.migo2.tb_user.email.\n     * \n     * @return the email of this User\n     */\n    Optional<String> getEmail();\n    \n    /**\n     * Returns the created of this User. The created field corresponds to the\n     * database column db0.migo2.tb_user.created.\n     * \n     * @return the created of this User\n     */\n    Timestamp getCreated();\n    \n    /**\n     * Returns the updated of this User. The updated field corresponds to the\n     * database column db0.migo2.tb_user.updated.\n     * \n     * @return the updated of this User\n     */\n    Timestamp getUpdated();\n    \n    /**\n     * Sets the id of this User. The id field corresponds to the database column\n     * db0.migo2.tb_user.id.\n     * \n     * @param id to set of this User\n     * @return   this User instance\n     */\n    User setId(long id);\n    \n    /**\n     * Sets the username of this User. The username field corresponds to the\n     * database column db0.migo2.tb_user.username.\n     * \n     * @param username to set of this User\n     * @return         this User instance\n     */\n    User setUsername(String username);\n    \n    /**\n     * Sets the password of this User. The password field corresponds to the\n     * database column db0.migo2.tb_user.password.\n     * \n     * @param password to set of this User\n     * @return         this User instance\n     */\n    User setPassword(String password);\n    \n    /**\n     * Sets the phone of this User. The phone field corresponds to the database\n     * column db0.migo2.tb_user.phone.\n     * \n     * @param phone to set of this User\n     * @return      this User instance\n     */\n    User setPhone(String phone);\n    \n    /**\n     * Sets the email of this User. The email field corresponds to the database\n     * column db0.migo2.tb_user.email.\n     * \n     * @param email to set of this User\n     * @return      this User instance\n     */\n    User setEmail(String email);\n    \n    /**\n     * Sets the created of this User. The created field corresponds to the\n     * database column db0.migo2.tb_user.created.\n     * \n     * @param created to set of this User\n     * @return        this User instance\n     */\n    User setCreated(Date created);\n    \n    /**\n     * Sets the updated of this User. The updated field corresponds to the\n     * database column db0.migo2.tb_user.updated.\n     * \n     * @param updated to set of this User\n     * @return        this User instance\n     */\n    User setUpdated(Date updated);\n    \n    enum Identifier implements ColumnIdentifier<User> {\n        \n        ID (\"id\"),\n        USERNAME (\"username\"),\n        PASSWORD (\"password\"),\n        PHONE (\"phone\"),\n        EMAIL (\"email\"),\n        CREATED (\"created\"),\n        UPDATED (\"updated\");\n        \n        private final String columnName;\n        private final TableIdentifier<User> tableIdentifier;\n        \n        Identifier(String columnName) {\n            this.columnName = columnName;\n            this.tableIdentifier = TableIdentifier.of(getDbmsName(), getSchemaName(), getTableName());\n        }\n        \n        @Override\n        public String getDbmsName() {\n            return \"db0\";\n        }\n        \n        @Override\n        public String getSchemaName() {\n            return \"migo2\";\n        }\n        \n        @Override\n        public String getTableName() {\n            return \"tb_user\";\n        }\n        \n        @Override\n        public String getColumnName() {\n            return this.columnName;\n        }\n        \n        @Override\n        public TableIdentifier<User> asTableIdentifier() {\n            return this.tableIdentifier;\n        }\n    }\n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/generated/GeneratedUserImpl.java",
    "content": "package com.migo3.sso.pojo.generated;\n\nimport com.migo3.sso.pojo.User;\nimport com.speedment.runtime.core.util.OptionalUtil;\n\nimport javax.annotation.Generated;\nimport java.sql.Timestamp;\nimport java.util.Date;\nimport java.util.Objects;\nimport java.util.Optional;\nimport java.util.StringJoiner;\n\n/**\n * The generated base implementation of the {@link\n * User}-interface.\n * <p>\n * This file has been automatically generated by Speedment. Any changes made to\n * it will be overwritten.\n * \n * @author Speedment\n */\n@Generated(\"Speedment\")\npublic abstract class GeneratedUserImpl implements User {\n    \n    private long id;\n    private String username;\n    private String password;\n    private String phone;\n    private String email;\n    private Timestamp created;\n    private Timestamp updated;\n    \n    protected GeneratedUserImpl() {\n        \n    }\n    \n    @Override\n    public long getId() {\n        return id;\n    }\n    \n    @Override\n    public String getUsername() {\n        return username;\n    }\n    \n    @Override\n    public String getPassword() {\n        return password;\n    }\n    \n    @Override\n    public Optional<String> getPhone() {\n        return Optional.ofNullable(phone);\n    }\n    \n    @Override\n    public Optional<String> getEmail() {\n        return Optional.ofNullable(email);\n    }\n    \n    @Override\n    public Timestamp getCreated() {\n        return created;\n    }\n    \n    @Override\n    public Timestamp getUpdated() {\n        return updated;\n    }\n    \n    @Override\n    public User setId(long id) {\n        this.id = id;\n        return this;\n    }\n    \n    @Override\n    public User setUsername(String username) {\n        this.username = username;\n        return this;\n    }\n    \n    @Override\n    public User setPassword(String password) {\n        this.password = password;\n        return this;\n    }\n    \n    @Override\n    public User setPhone(String phone) {\n        this.phone = phone;\n        return this;\n    }\n    \n    @Override\n    public User setEmail(String email) {\n        this.email = email;\n        return this;\n    }\n    \n    @Override\n    public User setCreated(Date created) {\n        this.created = (Timestamp) created;\n        return this;\n    }\n    \n    @Override\n    public User setUpdated(Date updated) {\n        this.updated = (Timestamp) updated;\n        return this;\n    }\n    \n    @Override\n    public String toString() {\n        final StringJoiner sj = new StringJoiner(\", \", \"{ \", \" }\");\n        sj.add(\"id = \" + Objects.toString(getId()));\n        sj.add(\"username = \" + Objects.toString(getUsername()));\n        sj.add(\"password = \" + Objects.toString(getPassword()));\n        sj.add(\"phone = \" + Objects.toString(OptionalUtil.unwrap(getPhone())));\n        sj.add(\"email = \" + Objects.toString(OptionalUtil.unwrap(getEmail())));\n        sj.add(\"created = \" + Objects.toString(getCreated()));\n        sj.add(\"updated = \" + Objects.toString(getUpdated()));\n        return \"UserImpl \" + sj.toString();\n    }\n    \n    @Override\n    public boolean equals(Object that) {\n        if (this == that) { return true; }\n        if (!(that instanceof User)) { return false; }\n        final User thatUser = (User)that;\n        if (this.getId() != thatUser.getId()) {return false; }\n        if (!Objects.equals(this.getUsername(), thatUser.getUsername())) {return false; }\n        if (!Objects.equals(this.getPassword(), thatUser.getPassword())) {return false; }\n        if (!Objects.equals(this.getPhone(), thatUser.getPhone())) {return false; }\n        if (!Objects.equals(this.getEmail(), thatUser.getEmail())) {return false; }\n        if (!Objects.equals(this.getCreated(), thatUser.getCreated())) {return false; }\n        if (!Objects.equals(this.getUpdated(), thatUser.getUpdated())) {return false; }\n        return true;\n    }\n    \n    @Override\n    public int hashCode() {\n        int hash = 7;\n        hash = 31 * hash + Long.hashCode(getId());\n        hash = 31 * hash + Objects.hashCode(getUsername());\n        hash = 31 * hash + Objects.hashCode(getPassword());\n        hash = 31 * hash + Objects.hashCode(getPhone());\n        hash = 31 * hash + Objects.hashCode(getEmail());\n        hash = 31 * hash + Objects.hashCode(getCreated());\n        hash = 31 * hash + Objects.hashCode(getUpdated());\n        return hash;\n    }\n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/generated/GeneratedUserManager.java",
    "content": "package com.migo3.sso.pojo.generated;\n\nimport com.migo3.sso.pojo.User;\nimport com.speedment.runtime.core.manager.Manager;\nimport javax.annotation.Generated;\n\n/**\n * The generated base interface for the manager of every {@link\n * User} entity.\n * <p>\n * This file has been automatically generated by Speedment. Any changes made to\n * it will be overwritten.\n * \n * @author Speedment\n */\n@Generated(\"Speedment\")\npublic interface GeneratedUserManager extends Manager<User> {\n    \n    @Override\n    default Class<User> getEntityClass() {\n        return User.class;\n    }\n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/generated/GeneratedUserManagerImpl.java",
    "content": "package com.migo3.sso.pojo.generated;\n\nimport com.migo3.sso.pojo.User;\nimport com.speedment.runtime.config.identifier.TableIdentifier;\nimport com.speedment.runtime.core.manager.AbstractManager;\nimport com.speedment.runtime.field.Field;\n\nimport javax.annotation.Generated;\nimport java.util.stream.Stream;\n\n/**\n * The generated base implementation for the manager of every {@link\n * User} entity.\n * <p>\n * This file has been automatically generated by Speedment. Any changes made to\n * it will be overwritten.\n * \n * @author Speedment\n */\n@Generated(\"Speedment\")\npublic abstract class GeneratedUserManagerImpl extends AbstractManager<User> implements GeneratedUserManager {\n    \n    private final TableIdentifier<User> tableIdentifier;\n    \n    protected GeneratedUserManagerImpl() {\n        this.tableIdentifier = TableIdentifier.of(\"db0\", \"migo2\", \"tb_user\");\n    }\n    \n    @Override\n    public TableIdentifier<User> getTableIdentifier() {\n        return tableIdentifier;\n    }\n    \n    @Override\n    public Stream<Field<User>> fields() {\n        return Stream.of(\n            User.ID,\n            User.USERNAME,\n            User.PASSWORD,\n            User.PHONE,\n            User.EMAIL,\n            User.CREATED,\n            User.UPDATED\n        );\n    }\n    \n    @Override\n    public Stream<Field<User>> primaryKeyFields() {\n        return Stream.of(\n            User.ID\n        );\n    }\n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/pojo/generated/GeneratedUserSqlAdapter.java",
    "content": "package com.migo3.sso.pojo.generated;\n\nimport com.migo3.sso.pojo.User;\nimport com.migo3.sso.pojo.UserImpl;\nimport com.speedment.common.injector.annotation.ExecuteBefore;\nimport com.speedment.runtime.config.identifier.TableIdentifier;\nimport com.speedment.runtime.core.component.sql.SqlPersistenceComponent;\nimport com.speedment.runtime.core.component.sql.SqlStreamSupplierComponent;\nimport com.speedment.runtime.core.exception.SpeedmentException;\n\nimport javax.annotation.Generated;\nimport java.sql.ResultSet;\nimport java.sql.SQLException;\n\nimport static com.speedment.common.injector.State.RESOLVED;\nimport static com.speedment.runtime.core.internal.util.sql.ResultSetUtil.getString;\n\n/**\n * The generated Sql Adapter for a {@link User} entity.\n * <p>\n * This file has been automatically generated by Speedment. Any changes made to\n * it will be overwritten.\n * \n * @author Speedment\n */\n@Generated(\"Speedment\")\npublic abstract class GeneratedUserSqlAdapter {\n    \n    private final TableIdentifier<User> tableIdentifier;\n    \n    protected GeneratedUserSqlAdapter() {\n        this.tableIdentifier = TableIdentifier.of(\"db0\", \"migo2\", \"tb_user\");\n    }\n    \n    @ExecuteBefore(RESOLVED)\n    void installMethodName(SqlStreamSupplierComponent streamSupplierComponent, SqlPersistenceComponent persistenceComponent) {\n        streamSupplierComponent.install(tableIdentifier, this::apply);\n        persistenceComponent.install(tableIdentifier);\n    }\n    \n    protected User apply(ResultSet resultSet) throws SpeedmentException{\n        final User entity = createEntity();\n        try {\n            entity.setId(resultSet.getLong(1));\n            entity.setUsername(resultSet.getString(2));\n            entity.setPassword(resultSet.getString(3));\n            entity.setPhone(getString(resultSet, 4));\n            entity.setEmail(getString(resultSet, 5));\n            entity.setCreated(resultSet.getTimestamp(6));\n            entity.setUpdated(resultSet.getTimestamp(7));\n        } catch (final SQLException sqle) {\n            throw new SpeedmentException(sqle);\n        }\n        return entity;\n    }\n    \n    protected UserImpl createEntity() {\n        return new UserImpl();\n    }\n}"
  },
  {
    "path": "migo-Fsso/src/main/java/com/migo3/sso/service/UserService.java",
    "content": "package com.migo3.sso.service;\r\n\r\nimport com.migo.service.JedisClient;\r\nimport com.migo.utils.JsonUtils;\r\nimport com.migo3.sso.pojo.User;\r\nimport com.migo3.sso.pojo.UserImpl;\r\nimport com.migo3.sso.pojo.UserManager;\r\nimport com.speedment.runtime.field.StringField;\r\nimport org.apache.commons.codec.digest.DigestUtils;\r\nimport org.apache.commons.lang3.StringUtils;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.stereotype.Service;\r\n\r\nimport java.sql.Timestamp;\r\nimport java.util.Date;\r\n\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/29.\r\n */\r\n@Service\r\npublic class UserService {\r\n    @Autowired\r\n    private JedisClient jedisClient;\r\n    @Autowired\r\n    private UserManager userManager;\r\n\r\n    public Boolean doRegister(UserImpl user) {\r\n        Date date=new Date();\r\n        Timestamp time = new Timestamp(date.getTime());\r\n\r\n        user.setCreated(time);\r\n        user.setUpdated(time);\r\n        //密码加密，md5已经不安全，故采用sha256\r\n        user.setPassword(DigestUtils.sha256Hex(user.getPassword()));\r\n\r\n        return userManager.persist(user) != null;\r\n    }\r\n\r\n    public User queryByToken(String token) {\r\n        String tokenkey=\"REDIS_SESSION_TOKEN:\" + token;\r\n        //根据token取用户信息\r\n        String json = jedisClient.get(tokenkey);\r\n        if (StringUtils.isEmpty(json)){\r\n            return null;\r\n        }\r\n\r\n        //假如出错，为了不影响业务逻辑，故自己来处理异常\r\n        try {\r\n            this.jedisClient.expire(tokenkey,1800);\r\n            return JsonUtils.jsonToPojo(json,User.class);\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n        return null;\r\n    }\r\n\r\n    public String doLogin(String username, String password) {\r\n        User user=userManager.stream()\r\n                .filter(User.USERNAME.equal(username))\r\n                .filter(User.PASSWORD.equal(DigestUtils.sha256Hex(password)))\r\n                .findAny().orElse(null);\r\n\r\n        //生成token\r\n        String token=DigestUtils.md5Hex(System.currentTimeMillis()+username);\r\n\r\n        this.jedisClient.set(\"REDIS_SESSION_TOKEN:\"+token, JsonUtils.objectToJson(user));\r\n        return token;\r\n    }\r\n\r\n    public Boolean check(String param, Integer type) {\r\n        StringField<User, String> userparam;\r\n        switch (type){\r\n            case 1:\r\n                userparam = User.USERNAME;\r\n                break;\r\n            case 2:\r\n                userparam=User.PHONE;\r\n                break;\r\n            case 3:\r\n                userparam=User.EMAIL;\r\n                break;\r\n            default:\r\n                return null;\r\n        }\r\n        return null!= userManager.stream()\r\n                .filter(userparam.equal(param))\r\n                .findAny()\r\n                .orElse(null);\r\n       /* if (type==1)return userManager.stream().filter(User.USERNAME.equal(param)).findAny().orElse(null)!=null;\r\n        else if(type==2) return  userManager.stream().filter(User.PHONE.equal(param)).findAny().orElse(null)!=null;\r\n        else if (type==3) return userManager.stream().filter(User.EMAIL.equal(param)).findAny().orElse(null)!=null;\r\n        else return null;*/\r\n\r\n\r\n\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-Fsso/src/main/json/speedment.json",
    "content": "{\n  \"config\" : {\n    \"expanded\" : true,\n    \"companyName\" : \"company\",\n    \"name\" : \"migo2\",\n    \"packageLocation\" : \"src/main/java/\",\n    \"packageName\" : \"com.migo2.sso\",\n    \"dbmses\" : [\n      {\n        \"expanded\" : true,\n        \"port\" : 3306,\n        \"schemas\" : [\n          {\n            \"tables\" : [\n              {\n                \"expanded\" : false,\n                \"primaryKeyColumns\" : [\n                  {\n                    \"expanded\" : false,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1\n                  }\n                ],\n                \"indexes\" : [\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : true,\n                    \"name\" : \"PRIMARY\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ],\n                    \"enabled\" : true\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"category_id\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"category_id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ],\n                    \"enabled\" : true\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"updated\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"updated\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ],\n                    \"enabled\" : true\n                  }\n                ],\n                \"columns\" : [\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"typeMapper\" : \"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"autoIncrement\" : true,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"typeMapper\" : \"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"category_id\",\n                    \"ordinalPosition\" : 2,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"title\",\n                    \"ordinalPosition\" : 3,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"sub_title\",\n                    \"ordinalPosition\" : 4,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"title_desc\",\n                    \"ordinalPosition\" : 5,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"url\",\n                    \"ordinalPosition\" : 6,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"pic\",\n                    \"ordinalPosition\" : 7,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"pic2\",\n                    \"ordinalPosition\" : 8,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"content\",\n                    \"ordinalPosition\" : 9,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"created\",\n                    \"ordinalPosition\" : 10,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"updated\",\n                    \"ordinalPosition\" : 11,\n                    \"enabled\" : true\n                  }\n                ],\n                \"name\" : \"tb_content\",\n                \"enabled\" : false\n              },\n              {\n                \"expanded\" : false,\n                \"primaryKeyColumns\" : [\n                  {\n                    \"expanded\" : false,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1\n                  }\n                ],\n                \"indexes\" : [\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : true,\n                    \"name\" : \"PRIMARY\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ],\n                    \"enabled\" : true\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"parent_id\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"parent_id\",\n                        \"ordinalPosition\" : 1\n                      },\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"status\",\n                        \"ordinalPosition\" : 2\n                      }\n                    ],\n                    \"enabled\" : true\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"sort_order\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"sort_order\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ],\n                    \"enabled\" : true\n                  }\n                ],\n                \"columns\" : [\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"typeMapper\" : \"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"autoIncrement\" : true,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"parent_id\",\n                    \"ordinalPosition\" : 2,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"name\",\n                    \"ordinalPosition\" : 3,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Integer\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"status\",\n                    \"ordinalPosition\" : 4,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Integer\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"sort_order\",\n                    \"ordinalPosition\" : 5,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Integer\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"is_parent\",\n                    \"ordinalPosition\" : 6,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"created\",\n                    \"ordinalPosition\" : 7,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"updated\",\n                    \"ordinalPosition\" : 8,\n                    \"enabled\" : true\n                  }\n                ],\n                \"name\" : \"tb_content_category\",\n                \"enabled\" : false\n              },\n              {\n                \"expanded\" : false,\n                \"primaryKeyColumns\" : [\n                  {\n                    \"expanded\" : false,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1\n                  }\n                ],\n                \"indexes\" : [\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : true,\n                    \"name\" : \"PRIMARY\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"cid\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"cid\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"status\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"status\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"updated\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"updated\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  }\n                ],\n                \"columns\" : [\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"typeMapper\" : \"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"title\",\n                    \"ordinalPosition\" : 2,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"sell_point\",\n                    \"ordinalPosition\" : 3,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"typeMapper\" : \"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"price\",\n                    \"ordinalPosition\" : 4,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Integer\",\n                    \"typeMapper\" : \"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"num\",\n                    \"ordinalPosition\" : 5,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"barcode\",\n                    \"ordinalPosition\" : 6,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"image\",\n                    \"ordinalPosition\" : 7,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"typeMapper\" : \"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"cid\",\n                    \"ordinalPosition\" : 8,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Byte\",\n                    \"typeMapper\" : \"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"status\",\n                    \"ordinalPosition\" : 9,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"created\",\n                    \"ordinalPosition\" : 10,\n                    \"enabled\" : true\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"updated\",\n                    \"ordinalPosition\" : 11\n                  }\n                ],\n                \"name\" : \"tb_item\",\n                \"enabled\" : false\n              },\n              {\n                \"expanded\" : false,\n                \"primaryKeyColumns\" : [\n                  {\n                    \"expanded\" : false,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1\n                  }\n                ],\n                \"indexes\" : [\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : true,\n                    \"name\" : \"PRIMARY\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"parent_id\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"parent_id\",\n                        \"ordinalPosition\" : 1\n                      },\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"status\",\n                        \"ordinalPosition\" : 2\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"sort_order\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"sort_order\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  }\n                ],\n                \"columns\" : [\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"typeMapper\" : \"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"autoIncrement\" : true,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"parent_id\",\n                    \"ordinalPosition\" : 2\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"name\",\n                    \"ordinalPosition\" : 3\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Integer\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"status\",\n                    \"ordinalPosition\" : 4\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Integer\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"sort_order\",\n                    \"ordinalPosition\" : 5\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Integer\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"is_parent\",\n                    \"ordinalPosition\" : 6\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"created\",\n                    \"ordinalPosition\" : 7\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"updated\",\n                    \"ordinalPosition\" : 8\n                  }\n                ],\n                \"name\" : \"tb_item_cat\",\n                \"enabled\" : false\n              },\n              {\n                \"expanded\" : false,\n                \"primaryKeyColumns\" : [\n                  {\n                    \"expanded\" : false,\n                    \"name\" : \"item_id\",\n                    \"ordinalPosition\" : 1\n                  }\n                ],\n                \"indexes\" : [\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : true,\n                    \"name\" : \"PRIMARY\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"item_id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  }\n                ],\n                \"columns\" : [\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"typeMapper\" : \"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"item_id\",\n                    \"ordinalPosition\" : 1\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"item_desc\",\n                    \"ordinalPosition\" : 2\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"created\",\n                    \"ordinalPosition\" : 3\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"updated\",\n                    \"ordinalPosition\" : 4\n                  }\n                ],\n                \"name\" : \"tb_item_desc\",\n                \"enabled\" : false\n              },\n              {\n                \"expanded\" : false,\n                \"primaryKeyColumns\" : [\n                  {\n                    \"expanded\" : false,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1\n                  }\n                ],\n                \"indexes\" : [\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : true,\n                    \"name\" : \"PRIMARY\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"item_cat_id\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"item_cat_id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  }\n                ],\n                \"columns\" : [\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"typeMapper\" : \"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"autoIncrement\" : true,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"item_cat_id\",\n                    \"ordinalPosition\" : 2\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"param_data\",\n                    \"ordinalPosition\" : 3\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"created\",\n                    \"ordinalPosition\" : 4\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"updated\",\n                    \"ordinalPosition\" : 5\n                  }\n                ],\n                \"name\" : \"tb_item_param\",\n                \"enabled\" : false\n              },\n              {\n                \"expanded\" : false,\n                \"primaryKeyColumns\" : [\n                  {\n                    \"expanded\" : false,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1\n                  }\n                ],\n                \"indexes\" : [\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : true,\n                    \"name\" : \"PRIMARY\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"item_id\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"item_id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  }\n                ],\n                \"columns\" : [\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"typeMapper\" : \"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"autoIncrement\" : true,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"item_id\",\n                    \"ordinalPosition\" : 2\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"param_data\",\n                    \"ordinalPosition\" : 3\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"created\",\n                    \"ordinalPosition\" : 4\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"updated\",\n                    \"ordinalPosition\" : 5\n                  }\n                ],\n                \"name\" : \"tb_item_param_item\",\n                \"enabled\" : false\n              },\n              {\n                \"expanded\" : false,\n                \"primaryKeyColumns\" : [\n                  {\n                    \"expanded\" : false,\n                    \"name\" : \"order_id\",\n                    \"ordinalPosition\" : 1\n                  }\n                ],\n                \"indexes\" : [\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : true,\n                    \"name\" : \"PRIMARY\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"order_id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"buyer_nick\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"buyer_nick\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"create_time\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"create_time\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"payment_type\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"payment_type\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"status\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"status\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  }\n                ],\n                \"columns\" : [\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"order_id\",\n                    \"ordinalPosition\" : 1\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"payment\",\n                    \"ordinalPosition\" : 2\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Integer\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"payment_type\",\n                    \"ordinalPosition\" : 3\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"post_fee\",\n                    \"ordinalPosition\" : 4\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Integer\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"status\",\n                    \"ordinalPosition\" : 5\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"create_time\",\n                    \"ordinalPosition\" : 6\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"update_time\",\n                    \"ordinalPosition\" : 7\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"payment_time\",\n                    \"ordinalPosition\" : 8\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"consign_time\",\n                    \"ordinalPosition\" : 9\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"end_time\",\n                    \"ordinalPosition\" : 10\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"close_time\",\n                    \"ordinalPosition\" : 11\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"shipping_name\",\n                    \"ordinalPosition\" : 12\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"shipping_code\",\n                    \"ordinalPosition\" : 13\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"user_id\",\n                    \"ordinalPosition\" : 14\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"buyer_message\",\n                    \"ordinalPosition\" : 15\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"buyer_nick\",\n                    \"ordinalPosition\" : 16\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Integer\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"buyer_rate\",\n                    \"ordinalPosition\" : 17\n                  }\n                ],\n                \"name\" : \"tb_order\",\n                \"enabled\" : false\n              },\n              {\n                \"expanded\" : false,\n                \"primaryKeyColumns\" : [\n                  {\n                    \"expanded\" : false,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1\n                  }\n                ],\n                \"indexes\" : [\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : true,\n                    \"name\" : \"PRIMARY\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"item_id\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"item_id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : false,\n                    \"name\" : \"order_id\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"order_id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  }\n                ],\n                \"columns\" : [\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"item_id\",\n                    \"ordinalPosition\" : 2\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"order_id\",\n                    \"ordinalPosition\" : 3\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Integer\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"num\",\n                    \"ordinalPosition\" : 4\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"title\",\n                    \"ordinalPosition\" : 5\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"price\",\n                    \"ordinalPosition\" : 6\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"total_fee\",\n                    \"ordinalPosition\" : 7\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"pic_path\",\n                    \"ordinalPosition\" : 8\n                  }\n                ],\n                \"name\" : \"tb_order_item\",\n                \"enabled\" : false\n              },\n              {\n                \"expanded\" : false,\n                \"primaryKeyColumns\" : [\n                  {\n                    \"expanded\" : false,\n                    \"name\" : \"order_id\",\n                    \"ordinalPosition\" : 1\n                  }\n                ],\n                \"indexes\" : [\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : true,\n                    \"name\" : \"PRIMARY\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"order_id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  }\n                ],\n                \"columns\" : [\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"order_id\",\n                    \"ordinalPosition\" : 1\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"receiver_name\",\n                    \"ordinalPosition\" : 2\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"receiver_phone\",\n                    \"ordinalPosition\" : 3\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"receiver_mobile\",\n                    \"ordinalPosition\" : 4\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"receiver_state\",\n                    \"ordinalPosition\" : 5\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"receiver_city\",\n                    \"ordinalPosition\" : 6\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"receiver_district\",\n                    \"ordinalPosition\" : 7\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"receiver_address\",\n                    \"ordinalPosition\" : 8\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"receiver_zip\",\n                    \"ordinalPosition\" : 9\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"created\",\n                    \"ordinalPosition\" : 10\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"updated\",\n                    \"ordinalPosition\" : 11\n                  }\n                ],\n                \"name\" : \"tb_order_shipping\",\n                \"enabled\" : false\n              },\n              {\n                \"expanded\" : false,\n                \"primaryKeyColumns\" : [\n                  {\n                    \"expanded\" : false,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1\n                  }\n                ],\n                \"indexes\" : [\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : true,\n                    \"name\" : \"email\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"email\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : true,\n                    \"name\" : \"phone\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"phone\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : true,\n                    \"name\" : \"PRIMARY\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"id\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  },\n                  {\n                    \"expanded\" : false,\n                    \"unique\" : true,\n                    \"name\" : \"username\",\n                    \"indexColumns\" : [\n                      {\n                        \"orderType\" : \"ASC\",\n                        \"expanded\" : false,\n                        \"name\" : \"username\",\n                        \"ordinalPosition\" : 1\n                      }\n                    ]\n                  }\n                ],\n                \"columns\" : [\n                  {\n                    \"databaseType\" : \"java.lang.Long\",\n                    \"typeMapper\" : \"com.speedment.runtime.typemapper.primitive.PrimitiveTypeMapper\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"autoIncrement\" : true,\n                    \"name\" : \"id\",\n                    \"ordinalPosition\" : 1\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"username\",\n                    \"ordinalPosition\" : 2\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"password\",\n                    \"ordinalPosition\" : 3\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"phone\",\n                    \"ordinalPosition\" : 4\n                  },\n                  {\n                    \"databaseType\" : \"java.lang.String\",\n                    \"expanded\" : false,\n                    \"nullable\" : true,\n                    \"name\" : \"email\",\n                    \"ordinalPosition\" : 5\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"created\",\n                    \"ordinalPosition\" : 6\n                  },\n                  {\n                    \"databaseType\" : \"java.sql.Timestamp\",\n                    \"expanded\" : false,\n                    \"nullable\" : false,\n                    \"name\" : \"updated\",\n                    \"ordinalPosition\" : 7\n                  }\n                ],\n                \"name\" : \"tb_user\",\n                \"alias\" : \"user\",\n                \"packageName\" : \"com.migo2.sso.pojo\",\n                \"enabled\" : true\n              }\n            ],\n            \"expanded\" : true,\n            \"name\" : \"migo2\",\n            \"enabled\" : true\n          }\n        ],\n        \"typeName\" : \"MySQL\",\n        \"ipAddress\" : \"127.0.0.1\",\n        \"name\" : \"db0\",\n        \"enabled\" : true,\n        \"username\" : \"root\"\n      }\n    ],\n    \"enabled\" : true\n  }\n\n}"
  },
  {
    "path": "migo-Fsso/src/main/resources/application.properties",
    "content": "dbms.username=root\r\ndbms.password=123\r\ndbms.schema=migo2\r\n\r\nserver.port=8084\r\nserver.address=192.168.1.220\r\nserver.sessionTimeout=30\r\nserver.contextPath=/\r\n\r\n\r\n\r\nspring.datasource.url=jdbc:mysql://localhost:3306/migo2?characterEncoding=utf-8\r\nspring.datasource.username=root\r\nspring.datasource.password=123\r\nspring.datasource.driver-class-name=com.mysql.jdbc.Driver\r\n\r\n# Enable template caching.\r\nspring.thymeleaf.cache=true\r\n# Check that the templates location exists.\r\nspring.thymeleaf.check-template-location=true\r\n# Content-Type value.\r\nspring.thymeleaf.content-type=text/html\r\n# Enable MVC Thymeleaf view resolution.\r\nspring.thymeleaf.enabled=true\r\n# Template encoding.\r\nspring.thymeleaf.encoding=UTF-8\r\n# Comma-separated list of view names that should be excluded from resolution.\r\nspring.thymeleaf.excluded-view-names=\r\n# Template mode to be applied to templates. See also StandardTemplateModeHandlers.\r\nspring.thymeleaf.mode=HTML5\r\n# Prefix that gets prepended to view names when building a URL.\r\n#spring.thymeleaf.prefix=classpath:/templates/\r\n# Suffix that gets appended to view names when building a URL.\r\nspring.thymeleaf.suffix=.html\r\n\r\n  # spring.thymeleaf.template-resolver-order=\r\n  # Order of the template resolver in the chain. spring.thymeleaf.view-names=\r\n# Comma-separated list of view names that can be resolved.\r\n"
  },
  {
    "path": "migo-Fsso/src/main/resources/log4j.properties",
    "content": "log4j.rootLogger=DEBUG,A1\r\nlog4j.logger.com.migo3 = DEBUG\r\nlog4j.logger.com.speedment = DEBUG\r\n\r\nlog4j.appender.A1=org.apache.log4j.ConsoleAppender\r\nlog4j.appender.A1.layout=org.apache.log4j.PatternLayout\r\nlog4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n"
  },
  {
    "path": "migo-Fsso/src/main/resources/templates/login.html",
    "content": "<!DOCTYPE HTML>\r\n<html xmlns:th=\"http://www.thymeleaf.org\">\r\n\r\n<head>\r\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\r\n    <title>登录咪购</title>\r\n    <link type=\"text/css\" rel=\"stylesheet\" th:href=\"@{http://static.migo.com/css/login.css}\"/>\r\n    <script type=\"text/javascript\" th:src=\"@{http://static.migo.com/js/jquery-1.2.6.min.js}\"></script>\r\n    <script type=\"text/javascript\" th:src=\"@{http://static.migo.com/js/login/g.base.js}\"></script>\r\n   \t<script type=\"text/javascript\" th:src=\"@{http://static.migo.com/js/login/jdEdit.js}\"></script>\r\n    <script type=\"text/javascript\">\r\n        var pgeditor = new jQuery.pge({\r\n            pgePath: \"#\",\r\n            pgeId: \"_ocx_password\",\r\n            pgeEdittype: 0,\r\n            pgeEreg1: \"\",\r\n            pgeEreg2: \"\",\r\n            pgeMaxlength: 20,\r\n            pgeTabindex: 2,\r\n            pgeClass: \"text_pge\",\r\n            pgeInstallClass: \"text_pge\",\r\n            pgeOnkeydown:\"$('#loginsubmit').click();\",\r\n            tabCallback:\"authcode\"\r\n        });\r\n        window.onload = function(){\r\n            pgeditor.pgInitialize();\r\n        }\r\n    </script>\r\n        <script type=\"text/javascript\">\r\n            $(function(){\r\n                if(pgeditor.checkInstall()){\r\n                    $(\"#chkOpenCtrl\").attr(\"checked\",true);\r\n                    $(\"#nloginpwd\").hide();\r\n                    $(\"#sloginpwd\").show();\r\n                    if(pgeditor.checkUpdate()==1){\r\n                        $(\"#updata\").show();\r\n                    }\r\n                }\r\n            })\r\n        </script>\r\n    \r\n</head>\r\n<body>\r\n<div class=\"w\">\r\n    <div id=\"logo\">\r\n    \t<a th:href=\"@{http://www.migo.com/}\" clstag=\"passport|keycount|login|01\">\r\n    \t\t<img src=\"http://static.migo.com/images/migo-logo.gif\" alt=\"咪购\" width=\"170\" height=\"60\"/>\r\n    \t</a><b></b>\r\n   \t</div>\r\n</div>\r\n<form id=\"formlogin\" method=\"post\" onsubmit=\"return false;\">\r\n    <input type=\"hidden\" id=\"uuid\" name=\"uuid\" value=\"1359c13d-7daa-4a2a-972d-f09e09e6605a\"/>\r\n    <div class=\" w1\" id=\"entry\">\r\n        <div class=\"mc \" id=\"bgDiv\">\r\n            <div id=\"entry-bg\" clstag=\"passport|keycount|login|02\" style=\"width: 511px; height: 455px; position: absolute; left: -44px; top: -44px; background: url(http://static.migo.com/images/544a11d3Na5a3d566.png) 0px 0px no-repeat;\">\r\n\t\t\t</div>\r\n            <div class=\"form \">\r\n                <div class=\"item fore1\">\r\n                    <span>用户名/已验证手机</span>\r\n                    <div class=\"item-ifo\">\r\n                        <input type=\"text\" id=\"loginname\" name=\"username\" class=\"text\"  tabindex=\"1\" autocomplete=\"off\"/>\r\n                        <div class=\"i-name ico\"></div>\r\n                        <label id=\"loginname_succeed\" class=\"blank invisible\"></label>\r\n                        <label id=\"loginname_error\" class=\"hide\"><b></b></label>\r\n                    </div>\r\n                </div>\r\n                <script type=\"text/javascript\">\r\n                    setTimeout(function () {\r\n                        if (!$(\"#loginname\").val()) {\r\n                            $(\"#loginname\").get(0).focus();\r\n                        }\r\n                    }, 0);\r\n                </script>\r\n                <div id=\"capslock\"><i></i><s></s>键盘大写锁定已打开，请注意大小写</div>\r\n                <div class=\"item fore2\">\r\n                    <span>密码</span>\r\n                    <div class=\"item-ifo\">\r\n                        <label id=\"sloginpwd\" style=\"display: none;\">\r\n                            <script type=\"text/javascript\">pgeditor.generate()</script>\r\n                        </label>\r\n                        <input type=\"password\" id=\"nloginpwd\" name=\"password\" class=\"text\" tabindex=\"2\" autocomplete=\"off\"/>\r\n                        <input type=\"hidden\" name=\"loginpwd\" id=\"loginpwd\" value=\"\" class=\"hide\" />\r\n\r\n                        <div class=\"i-pass ico\"></div>\r\n                        <label id=\"loginpwd_succeed\" class=\"blank invisible\"></label>\r\n                        <label id=\"loginpwd_error\" class=\"hide\"></label>\r\n                        <script type=\"text/javascript\">\r\n\t\t\t\t\t\t\t$('#nloginpwd')[0].onkeypress = function(event){\r\n\t\t\t\t\t\t\t\tvar e = event||window.event,\r\n\t\t\t\t\t\t\t\t$tip = $('#capslock'),\r\n\t\t\t\t\t\t\t\tkc  =  e.keyCode||e.which, // 按键的keyCode\r\n\t\t\t\t\t\t\t\tisShift  =  e.shiftKey ||(kc  ==   16 ) || false ; // shift键是否按住\r\n                                /*<![CDATA[*/\r\n\t\t\t\t\t\t\t\tif (((kc >=65&&kc<=90)&&!isShift)|| ((kc >=97&&kc<=122)&&isShift)){\r\n\t\t\t\t\t\t\t\t\t$tip.show();\r\n\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\t$tip.hide();\r\n\t\t\t\t\t\t\t\t}\r\n                                /*]]>*/\r\n\t\t\t\t\t\t\t};\r\n                        </script>\r\n                    </div>\r\n                </div>\r\n                <input type=\"hidden\" name=\"machineNet\" id=\"machineNet\" value=\"\" class=\"hide\"/>\r\n                <input type=\"hidden\" name=\"machineCpu\" id=\"machineCpu\" value=\"\" class=\"hide\"/>\r\n                <input type=\"hidden\" name=\"machineDisk\" id=\"machineDisk\" value=\"\" class=\"hide\"/>\r\n                \r\n                <div class=\"item fore3  hide \" id=\"o-authcode\">\r\n                    <span>验证码</span>\r\n\r\n                    <div class=\"item-ifo\">\r\n                        <input type=\"text\" id=\"authcode\" class=\"text text-1\" name=\"authcode\" tabindex=\"6\" style=\"ime-mode:disabled\"/>\r\n                        <label class=\"img\">\r\n                            <img style=\"cursor:pointer;width:100px;height:33px;display:block;\"\r\n                                 src2=\"https://authcode.jd.com/verify/image?a=1&amp;acid=1359c13d-7daa-4a2a-972d-f09e09e6605a&amp;uid=1359c13d-7daa-4a2a-972d-f09e09e6605a\"\r\n                                                                 onclick=\"this.src= document.location.protocol +'//authcode.jd.com/verify/image?a=1&amp;acid=1359c13d-7daa-4a2a-972d-f09e09e6605a&amp;uid=1359c13d-7daa-4a2a-972d-f09e09e6605a&amp;yys='+new Date().getTime();$('#authcode').val('');\"\r\n                                 ver_colorofnoisepoint=\"#888888\" id=\"JD_Verification1\"></img>\r\n                        </label>\r\n                        <label class=\"ftx23 hline\">看不清？<br/><a href=\"javascript:void(0)\" class=\"flk13\"\r\n                                                              onclick=\"jQuery('#JD_Verification1').click();\">换一张</a></label>\r\n                        <label id=\"authcode_succeed\" class=\"blank invisible\"></label>\r\n                        <label id=\"authcode_error\" class=\"hide\"></label>\r\n                    </div>\r\n                </div>\r\n                <div class=\"item fore4 hide\" id=\"autoentry\">\r\n                    <div class=\"item-ifo\">\r\n                        <input type=\"checkbox\" class=\"checkbox\" name=\"chkRememberMe\" clstag=\"passport|keycount|login|04\"/>\r\n                        <label class=\"mar\">自动登录</label>\r\n                                                <div style=\"float:left;\" id=\"ctrlDiv\">\r\n                            <input type=\"checkbox\" class=\"checkbox\" id=\"chkOpenCtrl\" name=\"chkOpenCtrl\" onclick=\"javascript:inputSelect();\"/>\r\n                            <label class=\"mar\" id=\"jdsafe\">安全控件登录<div class=\"tip-safe\" style=\"display:none;\" id=\"tip-safe\">安全控件可提高账户安全性，加密保护您的密码。</div></label>\r\n                        </div>\r\n                                                <label><a href=\"http://safe.jd.com/findPwd/index.action\" class=\"\" clstag=\"passport|keycount|login|05\">忘记密码?</a></label>\r\n                        <div class=\"clr\"></div>\r\n                    </div>\r\n\r\n                </div>\r\n                <div class=\"item login-btn2013\">\r\n                    <input type=\"button\" class=\"btn-img btn-entry\" id=\"loginsubmit\" value=\"登录\" tabindex=\"8\" clstag=\"passport|keycount|login|06\"/>\r\n                </div>\r\n            </div>\r\n                <div class=\"coagent hide\" clstag=\"passport|keycount|login|07\">\r\n                    <label class=\"ftx24\">\r\n                        使用合作网站账号登录咪购：\r\n                        <span class=\"clr\"></span><input type=\"hidden\" name=\"KbmPxRtWsz\" value=\"IMdug\" />\r\n                    <span class=\"btns qq\"><s></s> <a href=\"javascript:void(0);\"\r\n                                                     onclick=\"window.location='http://qq.jd.com/new/qq/login.aspx'+window.location.search;return false;\">QQ</a></span>\r\n\r\n                        <a id=\"kx001_btn_login\" style=\"display:none\"></a>\r\n                    </label>\r\n                </div>\r\n        </div>\r\n        <div class=\"free-regist\">\r\n            <span><a href=\"http://www.migo.com/user/register.html\" clstag=\"passport|keycount|login|08\">免费注册&gt;&gt;</a></span>\r\n        </div>\r\n    </div>\r\n</form>\r\n<div class=\"w1\">\r\n    <div id=\"mb-bg\" class=\"mb\"></div>\r\n</div>\r\n<div class=\"w\">\r\n\t<!-- links start -->\r\n    <th:include page=\"@{../commons/footer-links.html}\"></th:include>\r\n    <!-- links end -->\r\n</div>\r\n<script type=\"text/javascript\" th:src=\"@{http://static.migo.com/js/login/login.js}\"></script>\r\n<script type=\"text/javascript\" th:src=\"@{http://static.migo.com/js/login/jdThickBox.js}\"></script>\r\n<script type=\"text/javascript\" th:src=\"@{http://static.migo.com/js/login/checkClient.js}\"></script>\r\n<script>\r\n   $(\"#jdsafe\").hover(function () {\r\n       $(\"#tip-safe\").show();\r\n   }, function () {\r\n       $(\"#tip-safe\").hide();\r\n   });\r\n   $('.more-slide').bind('mouseenter mouseleave', function() {\r\n       $(this).toggleClass('hover');\r\n   });\r\n</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-Fsso/src/main/resources/templates/register.html",
    "content": "<!DOCTYPE HTML>\r\n<html xmlns:th=\"http://www.thymeleaf.org\">\r\n<head>\r\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\r\n    <meta http-equiv=\"pragma\" content=\"no-cache\"/>\r\n    <meta http-equiv=\"Cache-Control\" content=\"no-cache,must-revalidate\"/>\r\n    <title>注册-个人用户</title>\r\n    <link type=\"text/css\" rel=\"stylesheet\" th:href=\"@{http://static.migo.com/css/regist.personal.css}\"/>\r\n    <link type=\"text/css\" rel=\"stylesheet\" th:href=\"@{http://static.migo.com/css/passport.base.css}\"/>\r\n    <script type=\"text/javascript\" th:src=\"@{http://static.migo.com/js/jquery-1.2.6.min.js}\"></script>\r\n</head>\r\n<body>\r\n    <script type=\"text/javascript\">\r\nfunction login() {\r\n    location.href = \"/rest/user/login.html\";\r\n    return false\r\n}\r\nfunction regist() {\r\n    location.href = \"/rest/user/register.html\";\r\n    return false\r\n}\r\n(function (a) {\r\n    a.fn.Jdropdown = function (d, e) {\r\n        if (!this.length) {\r\n            return\r\n        }\r\n        if (typeof d == \"function\") {\r\n            e = d;\r\n            d = {}\r\n        }\r\n        var c = a.extend({event: \"mouseover\", current: \"hover\", delay: 0}, d || {});\r\n        var b = (c.event == \"mouseover\") ? \"mouseout\" : \"mouseleave\";\r\n        a.each(this, function () {\r\n            var h = null, g = null, f = false;\r\n            a(this).bind(c.event,\r\n                    function () {\r\n                        if (f) {\r\n                            clearTimeout(g)\r\n                        } else {\r\n                            var j = a(this);\r\n                            h = setTimeout(function () {\r\n                                j.addClass(c.current);\r\n                                f = true;\r\n                                if (e) {\r\n                                    e(j)\r\n                                }\r\n                            }, c.delay)\r\n                        }\r\n                    }).bind(b, function () {\r\n                        if (f) {\r\n                            var j = a(this);\r\n                            g = setTimeout(function () {\r\n                                j.removeClass(c.current);\r\n                                f = false\r\n                            }, c.delay)\r\n                        } else {\r\n                            clearTimeout(h)\r\n                        }\r\n                    })\r\n        })\r\n    }\r\n})(jQuery);\r\nfunction addToFavorite() {\r\n    var a = \"http://www.jd.com/\";\r\n    var b = \"京东商城-网购上京东，省钱又放心\";\r\n    if (document.all) {\r\n        window.external.AddFavorite(a, b)\r\n    } else if (window.sidebar) {\r\n        window.sidebar.addPanel(b, a, \"\")\r\n    } else {\r\n        alert(\"对不起，您的浏览器不支持此操作!\\n请您使用菜单栏或Ctrl+D收藏本站。\")\r\n    }\r\n}</script>\r\n<!--shortcut start-->\r\n\r\n<!--shortcut end-->\r\n<div class=\"w\" id=\"logo\">\r\n    <div>\r\n    \t<a href=\"http://www.migo.com/\">\r\n    \t\t<img src=\"http://static.migo.com/images/migo-logo.gif\" alt=\"京东商城\" width=\"170\" height=\"60\"/>\r\n    \t</a> <b></b>\r\n    </div>\r\n</div>\r\n\r\n<div class=\"w\" id=\"regist\">\r\n    <div class=\"mt\">\r\n        <ul class=\"tab\">\r\n            <li class=\"curr\">个人用户</li>\r\n            <li class=\"line hide\"><a clstag=\"regist|keycount|personalreg|02\" href=\"../reg/company\">企业用户</a></li>\r\n            <li class=\"fore hide\"><a th:href=\"@{http://passport.en.jd.com/user/facade}\">International Customers</a></li>\r\n        </ul>\r\n        <div class=\"extra\">\r\n        <span style=\"text-align: right\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class=\"flk13\"\r\n                                                                               onclick=\"javascript:location.href=&quot;http://en.360buy.com&quot;+location.search;\"\r\n                                                                               href=\"#\">English</a></span> <span>我已经注册，现在就&nbsp;<a\r\n                href=\"http://www.migo.com/user/login.html\"\r\n                class=\"flk13\">登录</a></span>\r\n        </div>\r\n    </div>\r\n    <div class=\"mc\">\r\n        <form id=\"personRegForm\" method=\"post\" onsubmit=\"return false;\">\r\n            <input type=\"hidden\" name=\"regType\" id=\"regType\" value=\"person\"/>\r\n            <input type=\"hidden\" name=\"uuid\" id=\"uuid\" value=\"${uuid}\"/>\r\n            <input type=\"hidden\" name=\"verifymc\" id=\"verifymc\" value=\"\"/>\r\n            <input type=\"hidden\" name=\"emailMg\" id=\"emailMg\"/>\r\n            <input type=\"hidden\" name=\"authcodeMg\" id=\"authcodeMg\"/>\r\n            <input type=\"hidden\" name=\"state\" id=\"state\" value=\"unbind\"/>\r\n\r\n            <div class=\"form\" onselectstart=\"return false;\">\r\n                <div class=\"item\" id=\"select-regName\">\r\n                    <span class=\"label\"><b class=\"ftx04\">*</b>用户名：</span>\r\n\r\n                    <div class=\"fl item-ifo\">\r\n                        <div class=\"o-intelligent-regName\">\r\n                            <input type=\"text\" id=\"regName\" name=\"username\" class=\"text\" tabindex=\"1\" autoComplete=\"off\"\r\n                                   onpaste=\"return false;\"\r\n                                   value=\"\"\r\n                                   onfocus=\"if(this.value=='') this.value='';this.style.color='#333'\"\r\n                                   onblur=\"if(this.value=='') {this.value='';this.style.color='#999999'}\"/>\r\n                            <i class=\"i-name\"></i>\r\n                            <ul id=\"intelligent-regName\" class=\"hide\"></ul>\r\n                            <label id=\"regName_succeed\" class=\"blank\"></label>\r\n                            <label id=\"regName_error\" class=\"hide\"></label>\r\n                        </div>\r\n\r\n                        <div class=\"intelligent-error hide\" id=\"morePinDiv\">\r\n                            <h5>推荐您使用：</h5>\r\n\r\n                            <div class=\"groom\" id=\"morePinGroom\"></div>\r\n                        </div>\r\n                                                <input type=\"hidden\" value=\"-1\" id=\"hnschool\" class=\"hide\"/>\r\n                                                <input type=\"hidden\" id=\"schoolid\" name=\"schoolid\" class=\"hide\"/>\r\n                                                    <input type=\"hidden\" name=\"eBHtwyeixI\" value=\"EyEFt\"/>\r\n                                                <input type=\"hidden\" id=\"hnseli\" class=\"hide\"/>\r\n\r\n                    </div>\r\n                </div>\r\n\r\n                <div id=\"capslock\"><i></i><s></s>键盘大写锁定已打开，请注意大小写</div>\r\n                <div id=\"o-password\">\r\n                    <div class=\"item\">\r\n                        <span class=\"label\"><b class=\"ftx04\">*</b>请设置密码：</span>\r\n\r\n                        <div class=\"fl item-ifo\">\r\n                            <input type=\"password\" id=\"pwd\" name=\"password\" class=\"text\" tabindex=\"2\"\r\n                                   style=\"ime-mode:disabled;\"\r\n                                   onpaste=\"return  false\" autocomplete=\"off\"/>\r\n                            <i class=\"i-pass\"></i>\r\n                            <label id=\"pwd_succeed\" class=\"blank\"></label>\r\n                            <label id=\"pwd_error\"></label>\r\n                            <span class=\"clr\"></span>\r\n                            <label class=\"hide\" id=\"pwdstrength\"><span class=\"fl\">安全程度：</span><b></b></label>\r\n\r\n                        </div>\r\n                    </div>\r\n\r\n                    <script type=\"text/javascript\">\r\n                        /*<![CDATA[*/\r\n                        $('#pwd')[0].onkeypress = function (event) {\r\n                            var e = event || window.event,\r\n                                $tip =\r\n                            $('#capslock'),\r\n                                    kc = e.keyCode || e.which, // 按键的keyCode\r\n                                    isShift = e.shiftKey || (kc == 16 ) || false; // shift键是否按住\r\n                            if (((kc >= 65 && kc <= 90) && !isShift) || ((kc >= 97 && kc <= 122) && isShift)) {\r\n                                    $tip.show();\r\n                            }\r\n                            else {\r\n                                    $tip.hide();\r\n                            }\r\n                        };\r\n                        /*]]>*/\r\n                    </script>\r\n\r\n                    <div class=\"item\">\r\n                        <span class=\"label\"><b class=\"ftx04\">*</b>请确认密码：</span>\r\n\r\n                        <div class=\"fl item-ifo\">\r\n                            <input type=\"password\" id=\"pwdRepeat\" name=\"pwdRepeat\" class=\"text\" tabindex=\"3\"\r\n                                   onpaste=\"return  false\" autocomplete=\"off\"/>\r\n                            <i class=\"i-pass\"></i>\r\n                            <label id=\"pwdRepeat_succeed\" class=\"blank\"></label>\r\n                            <label id=\"pwdRepeat_error\"></label>\r\n                        </div>\r\n                    </div>\r\n\t\t\t\t\t                    <div class=\"item\" id=\"dphone\">\r\n                        <span class=\"label\"><b class=\"ftx04\">*</b>验证手机：</span>\r\n\r\n                        <div class=\"fl item-ifo\">\r\n                            <input type=\"text\" id=\"phone\" maxlength=\"11\" name=\"phone\" class=\"text\" tabindex=\"4\" onfocus=\"phoneFocus();\" onKeyup=\"phoneKeyup();\" onblur=\"phoneBlur();\" autocomplete=\"off\"/>\r\n                            <i class=\"i-phone\"></i>\r\n                            <label id=\"phone_succeed\" class=\"blank\"></label>\r\n                            <label id=\"phone_error\"></label>\r\n                        </div>\r\n\t\t\t\t\t\t                        <div class=\"fl\">\r\n                            <span class=\"ftx-03 ml5\">或</span><a class=\"ftx-05 ml5 mail-verify\"\r\n                                                                style=\"text-decoration:underline;\" href=\"javascript:;\">验证邮箱</a>\r\n                        </div>\r\n\t\t\t\t\t\t                    </div>\r\n\t\t\t\t\t<!-- \r\n                    <div id=\"mobileCodeDiv\" class=\"item\" style=\"height: 62px;\">\r\n                        <span class=\"label\"><b class=\"ftx04\">*</b>短信验证码：</span>\r\n\r\n                        <div class=\"fl item-ifo\">\r\n                            <input type=\"text\" maxlength=\"6\" autocomplete=\"off\" tabindex=\"6\" class=\"text text-1\"\r\n                                   name=\"mobileCode\"\r\n                                   style=\"ime-mode:disabled\" id=\"mobileCode\" onblur=\"mobileCodeBlur()\"\r\n                                   onfocus=\"mobileCodeFocus();\">\r\n                            <label class=\"blank invisible\"></label>\r\n                            <a class=\"btn\" href=\"javascript:void(0);\" onclick=\"sendMobileCode();\" id=\"sendMobileCode\">\r\n                                <span id=\"dyMobileButton\">获取短信验证码</span></a>\r\n                            <span class=\"clr\"></span>\r\n\r\n                            <div class=\"msg-text\" id=\"mobileCodeSucMessage\"></div>\r\n                            <label id=\"mobileCode_error\" class=\"blank\"></label>\r\n                            <label id=\"mobileCode_succeed\" class=\"blank invisible\"></label>\r\n                        </div>\r\n                        <span class=\"clr\"></span>\r\n                    </div>\r\n                     -->\r\n\t\t\t\t\t                </div>\r\n                                <div class=\"item item-new\">\r\n                    <span class=\"label\">&nbsp;</span>\r\n\r\n                    <div class=\"fl item-ifo\">\r\n                        <input type=\"checkbox\" class=\"checkbox\" checked=\"checked\" id=\"readme\"\r\n                               onclick=\"agreeonProtocol();\"/>\r\n                        <label for=\"protocol\">我已阅读并同意<a href=\"#\" class=\"blue\" id=\"protocol\">《京东用户注册协议》</a></label>\r\n                        <span class=\"clr\"></span>\r\n                        <label id=\"protocol_error\" class=\"error hide\">请接受服务条款</label>\r\n                    </div>\r\n                </div>\r\n                <div class=\"item\">\r\n                    <span class=\"label\">&nbsp;</span>\r\n                    <input type=\"button\" class=\"btn-img btn-regist\" id=\"registsubmit\" value=\"立即注册\" tabindex=\"8\"\r\n                           clstag=\"regist|keycount|personalreg|07\"\r\n                           onclick=\"reg();\"/>\r\n                </div>\r\n            </div>\r\n            <div class=\"phone\">\r\n                <img width=\"180\" height=\"180\" src=\"http://static.migo.com/images/phone-bg.jpg\"/>\r\n            </div>\r\n                        <span class=\"clr\"></span>\r\n        </form>\r\n    </div>\r\n</div>\r\n\r\n    <script type=\"text/javascript\">\r\n        /*<![CDATA[*/\r\n    function hello() {\r\n        var helloUrl = \"http://passport.jd.com/call/getHelloJson?m=ls\";\r\n        jQuery.ajax({url: helloUrl, dataType: \"jsonp\", scriptCharset: \"utf-8\", success: function (a) {\r\n            if (a && a.info) {\r\n                $(\"#loginbar\").html(a.info);\r\n            }\r\n            if (a && a.sso) {\r\n                $.each(a.sso, function () {\r\n                    $.getJSON(this)\r\n                })\r\n            }\r\n        }});\r\n        /*]]>*/\r\n    }\r\n    (function ($) {\r\n        $(\"#shortcut-2013 .menu\").Jdropdown({delay: 50});\r\n        //hello();\r\n    })(jQuery);</script>\r\n<div class=\"w\">\r\n\t<!-- links start -->\r\n\r\n    <!-- links end -->\r\n</div>\r\n<script type=\"text/javascript\" th:src=\"@{http://static.migo.com/js/register/jd.lib.js}\"></script>\r\n<script type=\"text/javascript\" th:src=\"@{http://static.migo.com/js/register/jdThickBox.js}\"></script>\r\n<script type=\"text/javascript\" th:src=\"@{http://static.migo.com/js/register/jdValidate.js}\"></script>\r\n<script type=\"text/javascript\" th:src=\"@{http://static.migo.com/js/register/jdValidate.emReg.js}\"></script>\r\n<script type=\"text/javascript\" th:src=\"@{http://static.migo.com/js/register/jdValidate.regSuccess.js}\"></script>\r\n\r\n\r\n<script id=\"box01\" type=\"text/temp\">\r\n\r\n\r\n\r\n\r\n</script>\r\n\r\n<script id=\"box02\" type=\"text/temp\">\r\n\r\n\r\n</script>\r\n<script id=\"box05\" type=\"text/temp\">\r\n\r\n</script>\r\n\r\n<script>\r\n  var closeMobileReg='$closeMobileReg';\r\n    $(function () {\r\n        /*<![CDATA[*/\r\n        $('.mail-verify').bind('click', function () {\r\n\r\n            if (validateRegName() && validateFunction.regValidate()) {\r\n    \t\t\toldEmail=\"\";\r\n    \t\t\temailCheckResult=\"\";\r\n    \t\t\toldMobile1=\"\";\r\n    \t\t\tmobileResult1=\"\";\r\n\t\t\t\temailCheckResult=\"\";\r\n                clearTimeout(countDown1.timer);\r\n\t\t\t\tdelayTime1=120;\r\n\t\t\t\tdelayFlag1=true;\r\n                jQuery.jdThickBox({\r\n                    type: \"text\", /*也可以是text,html,image,ajax,json*/\r\n                    width: 500,\r\n                    height: 260,\r\n                    source: $('#box02').html(),\r\n                    title: \"验证邮箱\",\r\n                    _close_val: \"×\",\r\n                    _con: \"opinioncon\",\r\n                    _titleOn: true\r\n                }, function () {\r\n                    $('#mail').bind('blur', function () {\r\n                        var mail = $(\"#mail\").val();\r\n                        if (mail == \"\") {\r\n                            $('#mail').removeClass().addClass(\"text\");\r\n                            $('#mail_error').removeClass(\"error\");\r\n                            $(\"#mail_error\").hide();\r\n                            $('#mail_succeed').removeClass('error-ico');\r\n                            return;\r\n                        }\r\n                        var email = strTrim(mail);\r\n                        var format = validateRules.isEmail(email);\r\n                        var format2 = validateRules.betweenLength(email, 0, 50);\r\n                        if (!format) {\r\n                            $('#mail_error').removeClass().addClass(\"error\");\r\n                            $(\"#mail_error\").html(\"邮箱地址不正确，请重新输入\");\r\n                            $('#mail_succeed').addClass('error-ico');\r\n                            $('#mail').removeClass(\"highlight1\").addClass('highlight2');\r\n                            return;\r\n                        } else {\r\n                            if (!format2) {\r\n                                $('#mail_error').removeClass().addClass(\"error\");\r\n                                $(\"#mail_error\").html(\"邮箱地址长度应在4-50个字符之间\");\r\n                                $('#mail_succeed').addClass('error-ico');\r\n                                $('#mail').removeClass(\"highlight1\").addClass('highlight2');\r\n                                return;\r\n                            }\r\n                            jQuery.getJSON(\"../validate/isEmailEngaged?email=\" + escape(email) + \"&r=\" + Math.random(),\r\n                                    function (result) {\r\n                                        emailResult = result.success;\r\n                                        // 邮箱未被验证 可注册\r\n                                        if (emailResult == 0) {\r\n                                            $(\"#mail_error\").removeClass().addClass(\"success\").html(\"此邮箱可用\");\r\n                                            $('#mail_succeed').removeClass().addClass('blank succeed');\r\n                                            $('#mail').removeClass('highlight2');\r\n                                        }\r\n                                        if (emailResult == 1) {\r\n\t\t\t\t\t\t\t\t\t\t\t$('#mail').removeClass().addClass(\"text highlight2\");\r\n                                            $('#mail_error').removeClass().addClass(\"error\");\r\n                                            $(\"#mail_error\").html(\"该邮箱已被使用，请更换其它邮箱\");\r\n\t\t\t\t\t\t\t\t\t\t\t$('#mail_succeed').removeClass().addClass('blank error-ico');\r\n                                            return;\r\n                                        }\r\n                                        if (emailResult == 2) {\r\n\t\t\t\t\t\t\t\t\t\t\t$('#mail').removeClass().addClass(\"text highlight2\");\r\n                                            $('#mail_error').removeClass().addClass(\"error\");\r\n                                            $(\"#mail_error\").html(\"邮箱地址不正确，请重新输入\");\r\n\t\t\t\t\t\t\t\t\t\t\t$('#mail_succeed').removeClass().addClass('blank error-ico');\r\n                                            return;\r\n                                        }\r\n                                    });\r\n\r\n                        }\r\n                    });\r\n                    $('#mail').bind('focus', function () {\r\n                        $('#mail').removeClass().addClass('text highlight1');\r\n                        $(\"#mail_error\").removeClass().addClass(\"focus\").html(\"完成验证后，您可以用该邮箱登录和找回密码\");\r\n                        $(\"#mail_error\").show();\r\n                        $('#mail_succeed').removeClass('error-ico');\r\n                    });\r\n                    $('#JD_Verification2').click();\r\n                });\r\n            }\r\n        });\r\n    })\r\n  /*]]>*/\r\n</script>\r\n</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-Fsso/src/test/java/com/migo3/sso/DemoApplicationTests.java",
    "content": "package com.migo3.sso;\n\nimport org.junit.Test;\nimport org.junit.runner.RunWith;\nimport org.springframework.boot.test.context.SpringBootTest;\nimport org.springframework.test.context.junit4.SpringRunner;\n\n@RunWith(SpringRunner.class)\n@SpringBootTest\npublic class DemoApplicationTests {\n\n\t@Test\n\tpublic void contextLoads() {\n\t}\n\n}\n"
  },
  {
    "path": "migo-common/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <modelVersion>4.0.0</modelVersion>\n    <parent>\n        <groupId>com.migo</groupId>\n        <artifactId>parent</artifactId>\n        <version>2.0-SNAPSHOT</version>\n    </parent>\n\n    <artifactId>common</artifactId>\n    <version>2.0-SNAPSHOT</version>\n    <packaging>jar</packaging>\n\n    <!-- 添加依赖的jar包 -->\n    <dependencies>\n        <!-- 时间操作组件 -->\n        <dependency>\n            <groupId>joda-time</groupId>\n            <artifactId>joda-time</artifactId>\n        </dependency>\n        <!-- Jackson Json处理工具包 -->\n        <dependency>\n            <groupId>com.fasterxml.jackson.core</groupId>\n            <artifactId>jackson-databind</artifactId>\n        </dependency>\n        <!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->\n        <dependency>\n            <groupId>org.springframework</groupId>\n            <artifactId>spring-web</artifactId>\n            <version>4.3.5.RELEASE</version>\n        </dependency>\n\n        <dependency>\n            <groupId>javax.servlet</groupId>\n            <artifactId>servlet-api</artifactId>\n            <scope>provided</scope>\n        </dependency>\n        <!-- Apache工具组件 -->\n        <dependency>\n            <groupId>org.apache.commons</groupId>\n            <artifactId>commons-lang3</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.apache.commons</groupId>\n            <artifactId>commons-io</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>commons-net</groupId>\n            <artifactId>commons-net</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>redis.clients</groupId>\n            <artifactId>jedis</artifactId>\n        </dependency>\n\n\n        <dependency>\n        <groupId>fastdfs_client</groupId>\n        <artifactId>fastdfs_client</artifactId>\n        <version>1.25</version>\n\n    </dependency>\n\n\n        <!-- httpclient -->\n        <dependency>\n            <groupId>org.apache.httpcomponents</groupId>\n            <artifactId>httpclient</artifactId>\n        </dependency>\n        <!-- quartz任务调度框架 -->\n        <dependency>\n            <groupId>org.quartz-scheduler</groupId>\n            <artifactId>quartz</artifactId>\n        </dependency>\n        <!-- 单元测试 -->\n        <dependency>\n            <groupId>junit</groupId>\n            <artifactId>junit</artifactId>\n            <scope>test</scope>\n        </dependency>\n        <!-- 日志处理 -->\n        <dependency>\n            <groupId>org.slf4j</groupId>\n            <artifactId>slf4j-log4j12</artifactId>\n        </dependency>\n    </dependencies>\n\n\n\n</project>"
  },
  {
    "path": "migo-common/src/main/java/com/migo/messageconverter/CallbackMappingJackson2HttpMessageConverter.java",
    "content": "package com.migo.messageconverter;\r\n\r\nimport com.fasterxml.jackson.core.JsonEncoding;\r\nimport com.fasterxml.jackson.core.JsonProcessingException;\r\nimport org.apache.commons.io.IOUtils;\r\nimport org.apache.commons.lang3.StringUtils;\r\nimport org.springframework.http.HttpOutputMessage;\r\nimport org.springframework.http.converter.HttpMessageNotWritableException;\r\nimport org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;\r\nimport org.springframework.web.context.request.RequestContextHolder;\r\nimport org.springframework.web.context.request.ServletRequestAttributes;\r\n\r\nimport javax.servlet.http.HttpServletRequest;\r\nimport java.io.IOException;\r\n\r\npublic class CallbackMappingJackson2HttpMessageConverter extends MappingJackson2HttpMessageConverter {\r\n\r\n    // 做jsonp的支持的标识，在请求参数中加该参数\r\n    private String callbackName;\r\n\r\n    @Override\r\n    protected void writeInternal(Object object, HttpOutputMessage outputMessage) throws IOException,\r\n            HttpMessageNotWritableException {\r\n        // 从threadLocal中获取当前的Request对象\r\n        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder\r\n                .currentRequestAttributes()).getRequest();\r\n        String callbackParam = request.getParameter(callbackName);\r\n        if (StringUtils.isEmpty(callbackParam)) {\r\n            // 没有找到callback参数，直接返回json数据\r\n            super.writeInternal(object, outputMessage);\r\n        } else {\r\n            JsonEncoding encoding = getJsonEncoding(outputMessage.getHeaders().getContentType());\r\n            try {\r\n                String result = callbackParam + \"(\" + super.getObjectMapper().writeValueAsString(object)\r\n                        + \");\";\r\n                IOUtils.write(result, outputMessage.getBody(), encoding.getJavaName());\r\n            } catch (JsonProcessingException ex) {\r\n                throw new HttpMessageNotWritableException(\"Could not write JSON: \" + ex.getMessage(), ex);\r\n            }\r\n        }\r\n\r\n    }\r\n\r\n    public String getCallbackName() {\r\n        return callbackName;\r\n    }\r\n\r\n    public void setCallbackName(String callbackName) {\r\n        this.callbackName = callbackName;\r\n    }\r\n\r\n}\r\n"
  },
  {
    "path": "migo-common/src/main/java/com/migo/pojo/CatNode.java",
    "content": "package com.migo.pojo;\r\n\r\nimport com.fasterxml.jackson.annotation.JsonProperty;\r\n\r\nimport java.util.List;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/10/9.\r\n */\r\npublic class CatNode {\r\n    @JsonProperty(\"u\")\r\n    private String url;\r\n    @JsonProperty(\"n\")\r\n    private String name;\r\n    @JsonProperty(\"i\")\r\n    private List items;\r\n\r\n    public List getItems() {\r\n        return items;\r\n    }\r\n\r\n    public void setItems(List items) {\r\n        this.items = items;\r\n    }\r\n\r\n    public String getName() {\r\n        return name;\r\n    }\r\n\r\n    public void setName(String name) {\r\n        this.name = name;\r\n    }\r\n\r\n    public String getUrl() {\r\n        return url;\r\n    }\r\n\r\n    public void setUrl(String url) {\r\n        this.url = url;\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-common/src/main/java/com/migo/pojo/EasyUIDataGridResult.java",
    "content": "package com.migo.pojo;\r\n\r\nimport java.util.List;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/9/23.\r\n */\r\npublic class EasyUIDataGridResult {\r\n    private long total;\r\n    private List<?> rows;\r\n\r\n    public EasyUIDataGridResult() {\r\n    }\r\n\r\n    public EasyUIDataGridResult(List<?> rows, long total) {\r\n        this.rows = rows;\r\n        this.total = total;\r\n    }\r\n\r\n    public List<?> getRows() {\r\n        return rows;\r\n    }\r\n\r\n    public void setRows(List<?> rows) {\r\n        this.rows = rows;\r\n    }\r\n\r\n    public long getTotal() {\r\n        return total;\r\n    }\r\n\r\n    public void setTotal(long total) {\r\n        this.total = total;\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-common/src/main/java/com/migo/pojo/ItemCatResult.java",
    "content": "package com.migo.pojo;\r\n\r\nimport com.fasterxml.jackson.annotation.JsonProperty;\r\n\r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/10/9.\r\n */\r\npublic class ItemCatResult {\r\n    @JsonProperty(\"data\")\r\n    private List<CatNode> catNodes=new ArrayList<>();\r\n\r\n    public List<CatNode> getCatNodes() {\r\n        return catNodes;\r\n    }\r\n\r\n    public void setCatNodes(List<CatNode> catNodes) {\r\n        this.catNodes = catNodes;\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-common/src/main/java/com/migo/service/JedisClient.java",
    "content": "package com.migo.service;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/7.\r\n */\r\npublic interface JedisClient {\r\n    String get(String key);\r\n    String set(String key,String value);\r\n    String set(String key,String value,Integer seconds);\r\n    String hget(String hkey,String key);\r\n    Long hset(String hkey,String key,String value);\r\n    Long incr(String key);\r\n    Long decr(String key);\r\n    Long expire(String key,int second);\r\n    Long ttl(String key);\r\n    Long del(String key);\r\n    Long hdel(String hkey,String key);\r\n}\r\n"
  },
  {
    "path": "migo-common/src/main/java/com/migo/service/WorkCallback.java",
    "content": "package com.migo.service;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/8.\r\n */\r\npublic interface WorkCallback<T,E> {\r\n    T doWorkCallback(E e);\r\n}\r\n"
  },
  {
    "path": "migo-common/src/main/java/com/migo/service/impl/JedisClientCluster.java",
    "content": "package com.migo.service.impl;\r\n\r\nimport com.migo.service.JedisClient;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport redis.clients.jedis.JedisCluster;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/7.\r\n */\r\npublic class JedisClientCluster implements JedisClient {\r\n    /**\r\n     * 有些系统可能不需要添加redis缓存，反而依赖了common项目，但是自己容器内又没有对redis做相应配置,\r\n     * 故 required = false 这样就可以做到，容器内有则注入，没有就忽略\r\n     */\r\n    @Autowired(required = false)\r\n    private JedisCluster jedisCluster;\r\n\r\n\r\n    @Override\r\n    public String get(String key) {\r\n        return jedisCluster.get(key);\r\n    }\r\n\r\n    @Override\r\n    public String set(String key, String value) {\r\n\r\n        return jedisCluster.set(key, value);\r\n    }\r\n\r\n    @Override\r\n    public String set(String key, String value, Integer seconds) {\r\n        return jedisCluster.setex(key,seconds,value);\r\n    }\r\n\r\n    @Override\r\n    public String hget(String hkey, String key) {\r\n        return jedisCluster.hget(hkey, key);\r\n    }\r\n\r\n    @Override\r\n    public Long hset(String hkey, String key, String value) {\r\n        return jedisCluster.hset(hkey, key, value);\r\n    }\r\n\r\n    @Override\r\n    public Long incr(String key) {\r\n        return jedisCluster.incr(key);\r\n    }\r\n\r\n    @Override\r\n    public Long decr(String key) {\r\n        return jedisCluster.decr(key);\r\n    }\r\n\r\n    @Override\r\n    public Long expire(String key, int second) {\r\n        return jedisCluster.expire(key, second);\r\n    }\r\n\r\n    @Override\r\n    public Long ttl(String key) {\r\n        return jedisCluster.ttl(key);\r\n    }\r\n\r\n    @Override\r\n    public Long del(String key) {\r\n        return jedisCluster.del(key);\r\n    }\r\n\r\n    @Override\r\n    public Long hdel(String hkey, String key) {\r\n        return jedisCluster.hdel(hkey,key);\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-common/src/main/java/com/migo/service/impl/JedisClientSingle.java",
    "content": "package com.migo.service.impl;\r\n\r\nimport com.migo.service.JedisClient;\r\nimport com.migo.service.WorkCallback;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport redis.clients.jedis.Jedis;\r\nimport redis.clients.jedis.JedisPool;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/7.\r\n */\r\npublic class JedisClientSingle implements JedisClient {\r\n    /**\r\n     * 有些系统可能不需要添加redis缓存，反而依赖了common项目，但是自己容器内又没有对redis做相应配置,\r\n     * 故 required = false 这样就可以做到，容器内有则注入，没有就忽略\r\n     */\r\n\r\n    @Autowired(required = false)\r\n    private JedisPool jedisPool;\r\n\r\n    private <T> T excute(WorkCallback<T,Jedis> workCallback){\r\n        Jedis jedis=null;\r\n        try {\r\n            jedis = jedisPool.getResource();\r\n            return workCallback.doWorkCallback(jedis);\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }finally {\r\n            if (null !=jedis){\r\n                jedis.close();\r\n            }\r\n        }\r\n        return null;\r\n    }\r\n\r\n    @Override\r\n    public String get(final String key) {\r\n        /*Jedis jedis=jedisPool.getResource();\r\n        String result=jedis.get(key);\r\n        jedis.close();\r\n        return result;*/\r\n        return this.excute(new WorkCallback<String, Jedis>() {\r\n            @Override\r\n            public String doWorkCallback(Jedis jedis) {\r\n                return jedis.get(key);\r\n            }\r\n        });\r\n    }\r\n\r\n    @Override\r\n    public String set(final String key, final String value) {\r\n\r\n        return this.excute(new WorkCallback<String, Jedis>() {\r\n            @Override\r\n            public String doWorkCallback(Jedis jedis) {\r\n                return jedis.set(key, value);\r\n            }\r\n        });\r\n    }\r\n\r\n    @Override\r\n    public String set(final String key, final String value, final Integer seconds) {\r\n        return this.excute(new WorkCallback<String, Jedis>() {\r\n            @Override\r\n            public String doWorkCallback(Jedis jedis) {\r\n                return jedis.setex(key,seconds,value);\r\n            }\r\n        });\r\n    }\r\n\r\n    @Override\r\n    public String hget(final String hkey, final String key) {\r\n        /*Jedis jedis=jedisPool.getResource();\r\n        String result=jedis.hget(hkey, key);\r\n        jedis.close();\r\n        return result;*/\r\n        return this.excute(new WorkCallback<String, Jedis>() {\r\n            @Override\r\n            public String doWorkCallback(Jedis jedis) {\r\n                return jedis.hget(hkey, key);\r\n            }\r\n        });\r\n    }\r\n\r\n    @Override\r\n    public Long hset(final String hkey, final String key, final String value) {\r\n        /*Jedis jedis=jedisPool.getResource();\r\n        Long result = jedis.hset(hkey, key, value);\r\n        jedis.close();\r\n        return result;*/\r\n        return this.excute(new WorkCallback<Long, Jedis>() {\r\n            @Override\r\n            public Long doWorkCallback(Jedis jedis) {\r\n                return jedis.hset(hkey, key, value);\r\n            }\r\n        });\r\n    }\r\n\r\n    @Override\r\n    public Long incr(final String key) {\r\n        /*Jedis jedis=jedisPool.getResource();\r\n        Long result = jedis.incr(key);\r\n        jedis.close();\r\n        return result;*/\r\n        return this.excute(new WorkCallback<Long, Jedis>() {\r\n            @Override\r\n            public Long doWorkCallback(Jedis jedis) {\r\n                return jedis.incr(key);\r\n            }\r\n        });\r\n    }\r\n\r\n    @Override\r\n    public Long decr(final String key) {\r\n        /*Jedis jedis=jedisPool.getResource();\r\n        Long result = jedis.decr(key);\r\n        jedis.close();\r\n        return result;*/\r\n        return this.excute(new WorkCallback<Long, Jedis>() {\r\n            @Override\r\n            public Long doWorkCallback(Jedis jedis) {\r\n                return jedis.decr(key);\r\n            }\r\n        });\r\n    }\r\n\r\n    @Override\r\n    public Long expire(final String key, final int second) {\r\n        /*Jedis jedis=jedisPool.getResource();\r\n        Long result = jedis.expire(key, second);\r\n        jedis.close();\r\n        return result;*/\r\n        return this.excute(new WorkCallback<Long, Jedis>() {\r\n            @Override\r\n            public Long doWorkCallback(Jedis jedis) {\r\n                return jedis.expire(key, second);\r\n            }\r\n        });\r\n    }\r\n\r\n    @Override\r\n    public Long ttl(final String key) {\r\n        /*Jedis jedis=jedisPool.getResource();\r\n        Long result = jedis.ttl(key);\r\n        jedis.close();\r\n        return result;*/\r\n        return this.excute(new WorkCallback<Long, Jedis>() {\r\n            @Override\r\n            public Long doWorkCallback(Jedis jedis) {\r\n                return jedis.ttl(key);\r\n            }\r\n        });\r\n    }\r\n\r\n    @Override\r\n    public Long del(final String key) {\r\n        /*Jedis jedis=jedisPool.getResource();\r\n        Long result = jedis.del(key);\r\n        jedis.close();\r\n        return result;*/\r\n        return this.excute(new WorkCallback<Long, Jedis>() {\r\n            @Override\r\n            public Long doWorkCallback(Jedis jedis) {\r\n                return jedis.del(key);\r\n            }\r\n        });\r\n    }\r\n\r\n    @Override\r\n    public Long hdel(final String hkey, final String key) {\r\n        /*Jedis jedis=jedisPool.getResource();\r\n        Long result = jedis.hdel(hkey, key);\r\n        jedis.close();\r\n        return result;*/\r\n        return this.excute(new WorkCallback<Long, Jedis>() {\r\n            @Override\r\n            public Long doWorkCallback(Jedis jedis) {\r\n                return jedis.hdel(hkey,key);\r\n            }\r\n        });\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-common/src/main/java/com/migo/utils/CookieUtils.java",
    "content": "package com.migo.utils;\r\n\r\nimport javax.servlet.http.Cookie;\r\nimport javax.servlet.http.HttpServletRequest;\r\nimport javax.servlet.http.HttpServletResponse;\r\nimport java.io.UnsupportedEncodingException;\r\nimport java.net.URLDecoder;\r\nimport java.net.URLEncoder;\r\n\r\n\r\n/**\r\n * \r\n * Cookie 工具类\r\n *\r\n */\r\npublic final class CookieUtils {\r\n\r\n    /**\r\n     * 得到Cookie的值, 不编码\r\n     * \r\n     * @param request\r\n     * @param cookieName\r\n     * @return\r\n     */\r\n    public static String getCookieValue(HttpServletRequest request, String cookieName) {\r\n        return getCookieValue(request, cookieName, false);\r\n    }\r\n\r\n    /**\r\n     * 得到Cookie的值,\r\n     * \r\n     * @param request\r\n     * @param cookieName\r\n     * @return\r\n     */\r\n    public static String getCookieValue(HttpServletRequest request, String cookieName, boolean isDecoder) {\r\n        Cookie[] cookieList = request.getCookies();\r\n        if (cookieList == null || cookieName == null) {\r\n            return null;\r\n        }\r\n        String retValue = null;\r\n        try {\r\n            for (int i = 0; i < cookieList.length; i++) {\r\n                if (cookieList[i].getName().equals(cookieName)) {\r\n                    if (isDecoder) {\r\n                        retValue = URLDecoder.decode(cookieList[i].getValue(), \"UTF-8\");\r\n                    } else {\r\n                        retValue = cookieList[i].getValue();\r\n                    }\r\n                    break;\r\n                }\r\n            }\r\n        } catch (UnsupportedEncodingException e) {\r\n            e.printStackTrace();\r\n        }\r\n        return retValue;\r\n    }\r\n\r\n    /**\r\n     * 得到Cookie的值,\r\n     * \r\n     * @param request\r\n     * @param cookieName\r\n     * @return\r\n     */\r\n    public static String getCookieValue(HttpServletRequest request, String cookieName, String encodeString) {\r\n        Cookie[] cookieList = request.getCookies();\r\n        if (cookieList == null || cookieName == null) {\r\n            return null;\r\n        }\r\n        String retValue = null;\r\n        try {\r\n            for (int i = 0; i < cookieList.length; i++) {\r\n                if (cookieList[i].getName().equals(cookieName)) {\r\n                    retValue = URLDecoder.decode(cookieList[i].getValue(), encodeString);\r\n                    break;\r\n                }\r\n            }\r\n        } catch (UnsupportedEncodingException e) {\r\n        \t e.printStackTrace();\r\n        }\r\n        return retValue;\r\n    }\r\n\r\n    /**\r\n     * 设置Cookie的值 不设置生效时间默认浏览器关闭即失效,也不编码\r\n     */\r\n    public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,\r\n            String cookieValue) {\r\n        setCookie(request, response, cookieName, cookieValue, -1);\r\n    }\r\n\r\n    /**\r\n     * 设置Cookie的值 在指定时间内生效,但不编码\r\n     */\r\n    public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,\r\n            String cookieValue, int cookieMaxage) {\r\n        setCookie(request, response, cookieName, cookieValue, cookieMaxage, false);\r\n    }\r\n\r\n    /**\r\n     * 设置Cookie的值 不设置生效时间,但编码\r\n     */\r\n    public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,\r\n            String cookieValue, boolean isEncode) {\r\n        setCookie(request, response, cookieName, cookieValue, -1, isEncode);\r\n    }\r\n\r\n    /**\r\n     * 设置Cookie的值 在指定时间内生效, 编码参数\r\n     */\r\n    public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,\r\n            String cookieValue, int cookieMaxage, boolean isEncode) {\r\n        doSetCookie(request, response, cookieName, cookieValue, cookieMaxage, isEncode);\r\n    }\r\n\r\n    /**\r\n     * 设置Cookie的值 在指定时间内生效, 编码参数(指定编码)\r\n     */\r\n    public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,\r\n            String cookieValue, int cookieMaxage, String encodeString) {\r\n        doSetCookie(request, response, cookieName, cookieValue, cookieMaxage, encodeString);\r\n    }\r\n\r\n    /**\r\n     * 删除Cookie带cookie域名\r\n     */\r\n    public static void deleteCookie(HttpServletRequest request, HttpServletResponse response,\r\n            String cookieName) {\r\n        doSetCookie(request, response, cookieName, \"\", -1, false);\r\n    }\r\n\r\n    /**\r\n     * 设置Cookie的值，并使其在指定时间内生效\r\n     * \r\n     * @param cookieMaxage cookie生效的最大秒数\r\n     */\r\n    private static final void doSetCookie(HttpServletRequest request, HttpServletResponse response,\r\n            String cookieName, String cookieValue, int cookieMaxage, boolean isEncode) {\r\n        try {\r\n            if (cookieValue == null) {\r\n                cookieValue = \"\";\r\n            } else if (isEncode) {\r\n                cookieValue = URLEncoder.encode(cookieValue, \"utf-8\");\r\n            }\r\n            Cookie cookie = new Cookie(cookieName, cookieValue);\r\n            if (cookieMaxage > 0)\r\n                cookie.setMaxAge(cookieMaxage);\r\n            if (null != request) {// 设置域名的cookie\r\n            \tString domainName = getDomainName(request);\r\n            \tSystem.out.println(domainName);\r\n                if (!\"localhost\".equals(domainName)) {\r\n                \tcookie.setDomain(domainName);\r\n                }\r\n            }\r\n            cookie.setPath(\"/\");\r\n            response.addCookie(cookie);\r\n        } catch (Exception e) {\r\n        \t e.printStackTrace();\r\n        }\r\n    }\r\n\r\n    /**\r\n     * 设置Cookie的值，并使其在指定时间内生效\r\n     * \r\n     * @param cookieMaxage cookie生效的最大秒数\r\n     */\r\n    private static final void doSetCookie(HttpServletRequest request, HttpServletResponse response,\r\n            String cookieName, String cookieValue, int cookieMaxage, String encodeString) {\r\n        try {\r\n            if (cookieValue == null) {\r\n                cookieValue = \"\";\r\n            } else {\r\n                cookieValue = URLEncoder.encode(cookieValue, encodeString);\r\n            }\r\n            Cookie cookie = new Cookie(cookieName, cookieValue);\r\n            if (cookieMaxage > 0)\r\n                cookie.setMaxAge(cookieMaxage);\r\n            if (null != request) {// 设置域名的cookie\r\n            \tString domainName = getDomainName(request);\r\n            \tSystem.out.println(domainName);\r\n                if (!\"localhost\".equals(domainName)) {\r\n                \tcookie.setDomain(domainName);\r\n                }\r\n            }\r\n            cookie.setPath(\"/\");\r\n            response.addCookie(cookie);\r\n        } catch (Exception e) {\r\n        \t e.printStackTrace();\r\n        }\r\n    }\r\n\r\n    /**\r\n     * 得到cookie的域名\r\n     */\r\n    private static final String getDomainName(HttpServletRequest request) {\r\n        String domainName = null;\r\n\r\n        String serverName = request.getRequestURL().toString();\r\n        if (serverName == null || serverName.equals(\"\")) {\r\n            domainName = \"\";\r\n        } else {\r\n            serverName = serverName.toLowerCase();\r\n            serverName = serverName.substring(7);\r\n            final int end = serverName.indexOf(\"/\");\r\n            serverName = serverName.substring(0, end);\r\n            final String[] domains = serverName.split(\"\\\\.\");\r\n            int len = domains.length;\r\n            if (len > 3) {\r\n                // www.xxx.com.cn\r\n                domainName = \".\" + domains[len - 3] + \".\" + domains[len - 2] + \".\" + domains[len - 1];\r\n            } else if (len <= 3 && len > 1) {\r\n                // xxx.com or xxx.cn\r\n                domainName = \".\" + domains[len - 2] + \".\" + domains[len - 1];\r\n            } else {\r\n                domainName = serverName;\r\n            }\r\n        }\r\n\r\n        if (domainName != null && domainName.indexOf(\":\") > 0) {\r\n            String[] ary = domainName.split(\"\\\\:\");\r\n            domainName = ary[0];\r\n        }\r\n        return domainName;\r\n    }\r\n\r\n}\r\n"
  },
  {
    "path": "migo-common/src/main/java/com/migo/utils/FastDFSClient.java",
    "content": "package com.migo.utils;\r\n\r\nimport org.csource.common.NameValuePair;\r\nimport org.csource.fastdfs.*;\r\n\r\npublic class FastDFSClient {\r\n\r\n\tprivate TrackerClient trackerClient = null;\r\n\tprivate TrackerServer trackerServer = null;\r\n\tprivate StorageServer storageServer = null;\r\n\tprivate StorageClient1 storageClient = null;\r\n\t\r\n\tpublic FastDFSClient(String conf) throws Exception {\r\n\t\tif (conf.contains(\"classpath:\")) {\r\n\t\t\tconf = conf.replace(\"classpath:\", this.getClass().getResource(\"/\").getPath());\r\n\t\t}\r\n\t\tClientGlobal.init(conf);\r\n\t\ttrackerClient = new TrackerClient();\r\n\t\ttrackerServer = trackerClient.getConnection();\r\n\t\tstorageServer = null;\r\n\t\tstorageClient = new StorageClient1(trackerServer, storageServer);\r\n\t}\r\n\t\r\n\t/**\r\n\t * 上传文件方法\r\n\t * <p>Title: uploadFile</p>\r\n\t * <p>Description: </p>\r\n\t * @param fileName 文件全路径\r\n\t * @param extName 文件扩展名，不包含（.）\r\n\t * @param metas 文件扩展信息\r\n\t * @return\r\n\t * @throws Exception\r\n\t */\r\n\tpublic String uploadFile(String fileName, String extName, NameValuePair[] metas) throws Exception {\r\n\t\tString result = storageClient.upload_file1(fileName, extName, metas);\r\n\t\treturn result;\r\n\t}\r\n\t\r\n\tpublic String uploadFile(String fileName) throws Exception {\r\n\t\treturn uploadFile(fileName, null, null);\r\n\t}\r\n\t\r\n\tpublic String uploadFile(String fileName, String extName) throws Exception {\r\n\t\treturn uploadFile(fileName, extName, null);\r\n\t}\r\n\t\r\n\t/**\r\n\t * 上传文件方法\r\n\t * <p>Title: uploadFile</p>\r\n\t * <p>Description: </p>\r\n\t * @param fileContent 文件的内容，字节数组\r\n\t * @param extName 文件扩展名\r\n\t * @param metas 文件扩展信息\r\n\t * @return\r\n\t * @throws Exception\r\n\t */\r\n\tpublic String uploadFile(byte[] fileContent, String extName, NameValuePair[] metas) throws Exception {\r\n\t\t\r\n\t\tString result = storageClient.upload_file1(fileContent, extName, metas);\r\n\t\treturn result;\r\n\t}\r\n\t\r\n\tpublic String uploadFile(byte[] fileContent) throws Exception {\r\n\t\treturn uploadFile(fileContent, null, null);\r\n\t}\r\n\t\r\n\tpublic String uploadFile(byte[] fileContent, String extName) throws Exception {\r\n\t\treturn uploadFile(fileContent, extName, null);\r\n\t}\r\n}\r\n"
  },
  {
    "path": "migo-common/src/main/java/com/migo/utils/HttpClientUtil.java",
    "content": "package com.migo.utils;\r\n\r\nimport org.apache.http.NameValuePair;\r\nimport org.apache.http.client.entity.UrlEncodedFormEntity;\r\nimport org.apache.http.client.methods.CloseableHttpResponse;\r\nimport org.apache.http.client.methods.HttpGet;\r\nimport org.apache.http.client.methods.HttpPost;\r\nimport org.apache.http.client.utils.URIBuilder;\r\nimport org.apache.http.entity.ContentType;\r\nimport org.apache.http.entity.StringEntity;\r\nimport org.apache.http.impl.client.CloseableHttpClient;\r\nimport org.apache.http.impl.client.HttpClients;\r\nimport org.apache.http.message.BasicNameValuePair;\r\nimport org.apache.http.util.EntityUtils;\r\n\r\nimport java.io.IOException;\r\nimport java.net.URI;\r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\nimport java.util.Map;\r\n\r\npublic class HttpClientUtil {\r\n\r\n\tpublic static String doGet(String url, Map<String, String> param) {\r\n\r\n\t\t// 创建Httpclient对象\r\n\t\tCloseableHttpClient httpclient = HttpClients.createDefault();\r\n\r\n\t\tString resultString = \"\";\r\n\t\tCloseableHttpResponse response = null;\r\n\t\ttry {\r\n\t\t\t// 创建uri\r\n\t\t\tURIBuilder builder = new URIBuilder(url);\r\n\t\t\tif (param != null) {\r\n\t\t\t\tfor (String key : param.keySet()) {\r\n\t\t\t\t\tbuilder.addParameter(key, param.get(key));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tURI uri = builder.build();\r\n\r\n\t\t\t// 创建http GET请求\r\n\t\t\tHttpGet httpGet = new HttpGet(uri);\r\n\r\n\t\t\t// 执行请求\r\n\t\t\tresponse = httpclient.execute(httpGet);\r\n\t\t\t// 判断返回状态是否为200\r\n\t\t\tif (response.getStatusLine().getStatusCode() == 200) {\r\n\t\t\t\tresultString = EntityUtils.toString(response.getEntity(), \"UTF-8\");\r\n\t\t\t}\r\n\t\t} catch (Exception e) {\r\n\t\t\te.printStackTrace();\r\n\t\t} finally {\r\n\t\t\ttry {\r\n\t\t\t\tif (response != null) {\r\n\t\t\t\t\tresponse.close();\r\n\t\t\t\t}\r\n\t\t\t\thttpclient.close();\r\n\t\t\t} catch (IOException e) {\r\n\t\t\t\te.printStackTrace();\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn resultString;\r\n\t}\r\n\r\n\tpublic static String doGet(String url) {\r\n\t\treturn doGet(url, null);\r\n\t}\r\n\r\n\tpublic static String doPost(String url, Map<String, String> param) {\r\n\t\t// 创建Httpclient对象\r\n\t\tCloseableHttpClient httpClient = HttpClients.createDefault();\r\n\t\tCloseableHttpResponse response = null;\r\n\t\tString resultString = \"\";\r\n\t\ttry {\r\n\t\t\t// 创建Http Post请求\r\n\t\t\tHttpPost httpPost = new HttpPost(url);\r\n\t\t\t// 创建参数列表\r\n\t\t\tif (param != null) {\r\n\t\t\t\tList<NameValuePair> paramList = new ArrayList<>();\r\n\t\t\t\tfor (String key : param.keySet()) {\r\n\t\t\t\t\tparamList.add(new BasicNameValuePair(key, param.get(key)));\r\n\t\t\t\t}\r\n\t\t\t\t// 模拟表单\r\n\t\t\t\tUrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList);\r\n\t\t\t\thttpPost.setEntity(entity);\r\n\t\t\t}\r\n\t\t\t// 执行http请求\r\n\t\t\tresponse = httpClient.execute(httpPost);\r\n\t\t\tresultString = EntityUtils.toString(response.getEntity(), \"utf-8\");\r\n\t\t} catch (Exception e) {\r\n\t\t\te.printStackTrace();\r\n\t\t} finally {\r\n\t\t\ttry {\r\n\t\t\t\tresponse.close();\r\n\t\t\t} catch (IOException e) {\r\n\t\t\t\t// TODO Auto-generated catch block\r\n\t\t\t\te.printStackTrace();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn resultString;\r\n\t}\r\n\r\n\tpublic static String doPost(String url) {\r\n\t\treturn doPost(url, null);\r\n\t}\r\n\t\r\n\tpublic static String doPostJson(String url, String json) {\r\n\t\t// 创建Httpclient对象\r\n\t\tCloseableHttpClient httpClient = HttpClients.createDefault();\r\n\t\tCloseableHttpResponse response = null;\r\n\t\tString resultString = \"\";\r\n\t\ttry {\r\n\t\t\t// 创建Http Post请求\r\n\t\t\tHttpPost httpPost = new HttpPost(url);\r\n\t\t\t// 创建请求内容\r\n\t\t\tStringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON);\r\n\t\t\thttpPost.setEntity(entity);\r\n\t\t\t// 执行http请求\r\n\t\t\tresponse = httpClient.execute(httpPost);\r\n\t\t\tresultString = EntityUtils.toString(response.getEntity(), \"utf-8\");\r\n\t\t} catch (Exception e) {\r\n\t\t\te.printStackTrace();\r\n\t\t} finally {\r\n\t\t\ttry {\r\n\t\t\t\tresponse.close();\r\n\t\t\t} catch (IOException e) {\r\n\t\t\t\t// TODO Auto-generated catch block\r\n\t\t\t\te.printStackTrace();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn resultString;\r\n\t}\r\n}\r\n"
  },
  {
    "path": "migo-common/src/main/java/com/migo/utils/IDUtils.java",
    "content": "package com.migo.utils;\r\n\r\nimport java.util.Random;\r\n\r\n/**\r\n * 各种id生成策略\r\n */\r\npublic class IDUtils {\r\n\r\n\t/**\r\n\t * 图片名生成\r\n\t */\r\n\tpublic static String genImageName() {\r\n\t\t//取当前时间的长整形值包含毫秒\r\n\t\tlong millis = System.currentTimeMillis();\r\n\t\t//long millis = System.nanoTime();\r\n\t\t//加上三位随机数\r\n\t\tRandom random = new Random();\r\n\t\tint end3 = random.nextInt(999);\r\n\t\t//如果不足三位前面补0\r\n\t\tString str = millis + String.format(\"%03d\", end3);\r\n\t\t\r\n\t\treturn str;\r\n\t}\r\n\t\r\n\t/**\r\n\t * 商品id生成\r\n\t */\r\n\tpublic static long genItemId() {\r\n\t\t//取当前时间的长整形值包含毫秒\r\n\t\tlong millis = System.currentTimeMillis();\r\n\t\t//long millis = System.nanoTime();\r\n\t\t//加上两位随机数\r\n\t\tRandom random = new Random();\r\n\t\tint end2 = random.nextInt(99);\r\n\t\t//如果不足两位前面补0\r\n\t\tString str = millis + String.format(\"%02d\", end2);\r\n\t\tlong id = new Long(str);\r\n\t\treturn id;\r\n\t}\r\n\t\r\n\tpublic static void main(String[] args) {\r\n\t\tfor(int i=0;i< 100;i++)\r\n\t\tSystem.out.println(genItemId());\r\n\t}\r\n}\r\n"
  },
  {
    "path": "migo-common/src/main/java/com/migo/utils/JsonUtils.java",
    "content": "package com.migo.utils;\r\n\r\nimport com.fasterxml.jackson.core.JsonProcessingException;\r\nimport com.fasterxml.jackson.databind.JavaType;\r\nimport com.fasterxml.jackson.databind.ObjectMapper;\r\n\r\nimport java.util.List;\r\n\r\n\r\npublic class JsonUtils {\r\n\r\n    // 定义jackson对象\r\n    private static final ObjectMapper MAPPER = new ObjectMapper();\r\n\r\n    /**\r\n     * 将对象转换成json字符串。\r\n     * <p>Title: pojoToJson</p>\r\n     * <p>Description: </p>\r\n     * @param data\r\n     * @return\r\n     */\r\n    public static String objectToJson(Object data) {\r\n    \ttry {\r\n\t\t\tString string = MAPPER.writeValueAsString(data);\r\n\t\t\treturn string;\r\n\t\t} catch (JsonProcessingException e) {\r\n\t\t\te.printStackTrace();\r\n\t\t}\r\n    \treturn null;\r\n    }\r\n    \r\n    /**\r\n     * 将json结果集转化为对象\r\n     * \r\n     * @param jsonData json数据\r\n     * @param beanType 对象中的object类型\r\n     * @return\r\n     */\r\n    public static <T> T jsonToPojo(String jsonData, Class<T> beanType) {\r\n        try {\r\n            T t = MAPPER.readValue(jsonData, beanType);\r\n            return t;\r\n        } catch (Exception e) {\r\n        \te.printStackTrace();\r\n        }\r\n        return null;\r\n    }\r\n    \r\n    /**\r\n     * 将json数据转换成pojo对象list\r\n     * <p>Title: jsonToList</p>\r\n     * <p>Description: </p>\r\n     * @param jsonData\r\n     * @param beanType\r\n     * @return\r\n     */\r\n    public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) {\r\n    \tJavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);\r\n    \ttry {\r\n    \t\tList<T> list = MAPPER.readValue(jsonData, javaType);\r\n    \t\treturn list;\r\n\t\t} catch (Exception e) {\r\n\t\t\te.printStackTrace();\r\n\t\t}\r\n    \t\r\n    \treturn null;\r\n    }\r\n    \r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-mapper/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <parent>\n        <artifactId>manage</artifactId>\n        <groupId>com.migo</groupId>\n        <version>2.0-SNAPSHOT</version>\n    </parent>\n    <modelVersion>4.0.0</modelVersion>\n\n    <artifactId>manage-mapper</artifactId>\n    <packaging>jar</packaging>\n\n    <dependencies>\n        <dependency>\n            <groupId>com.migo</groupId>\n            <artifactId>manage-pojo</artifactId>\n            <version>2.0-SNAPSHOT</version>\n        </dependency>\n        <!-- Mybatis -->\n        <dependency>\n            <groupId>org.mybatis</groupId>\n            <artifactId>mybatis</artifactId>\n        </dependency>\n        <!-- 通用Mapper -->\n        <dependency>\n            <groupId>tk.mybatis</groupId>\n            <artifactId>mapper</artifactId>\n        </dependency>\n    </dependencies>\n\n\n</project>"
  },
  {
    "path": "migo-manage/manage-mapper/src/main/java/com/migo/mapper/ContentCategoryMapper.java",
    "content": "package com.migo.mapper;\r\n\r\nimport com.migo.pojo.ContentCategory;\r\nimport tk.mybatis.mapper.common.Mapper;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/20.\r\n */\r\npublic interface ContentCategoryMapper extends Mapper<ContentCategory> {\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-mapper/src/main/java/com/migo/mapper/ContentMapper.java",
    "content": "package com.migo.mapper;\r\n\r\nimport com.migo.pojo.Content;\r\nimport tk.mybatis.mapper.common.Mapper;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/3.\r\n */\r\npublic interface ContentMapper extends Mapper<Content> {\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-mapper/src/main/java/com/migo/mapper/ItemCatMapper.java",
    "content": "package com.migo.mapper;\r\n\r\nimport com.migo.pojo.ItemCat;\r\nimport tk.mybatis.mapper.common.Mapper;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/8.\r\n */\r\npublic interface ItemCatMapper extends Mapper<ItemCat> {\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-mapper/src/main/java/com/migo/mapper/ItemDescMapper.java",
    "content": "package com.migo.mapper;\r\n\r\nimport com.migo.pojo.ItemDesc;\r\nimport tk.mybatis.mapper.common.Mapper;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/12.\r\n */\r\npublic interface ItemDescMapper extends Mapper<ItemDesc> {\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-mapper/src/main/java/com/migo/mapper/ItemMapper.java",
    "content": "package com.migo.mapper;\r\n\r\nimport com.migo.pojo.Item;\r\nimport tk.mybatis.mapper.common.Mapper;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/12.\r\n */\r\npublic interface ItemMapper extends Mapper<Item> {\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-mapper/src/main/java/com/migo/mapper/ItemParamItemMapper.java",
    "content": "package com.migo.mapper;\r\n\r\nimport com.migo.pojo.ItemParamItem;\r\nimport tk.mybatis.mapper.common.Mapper;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/14.\r\n */\r\npublic interface ItemParamItemMapper extends Mapper<ItemParamItem> {\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-mapper/src/main/java/com/migo/mapper/ItemParamMapper.java",
    "content": "package com.migo.mapper;\r\n\r\nimport com.migo.pojo.ItemParam;\r\nimport tk.mybatis.mapper.common.Mapper;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/14.\r\n */\r\npublic interface ItemParamMapper extends Mapper<ItemParam>{\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-mapper/src/main/java/com/migo/mapper/ItemparamexdMapper.java",
    "content": "package com.migo.mapper;\n\nimport com.migo.pojo.ItemParamexd;\nimport org.apache.ibatis.annotations.Select;\n\nimport java.util.List;\n\n/**\n * Author  知秋\n * Created by kauw on 2016/10/6.\n */\npublic interface ItemparamexdMapper {\n\n    @Select(\" select\\n\" +\n            \"         a.id id ,a.item_cat_id itemCatId,a.created created,a.updated updated,a.param_data paramData,b.`name` itemCatName\\n\" +\n            \"        FROM\\n\" +\n            \"        tb_item_param AS a LEFT JOIN  tb_item_cat  as b\\n\" +\n            \"        ON\\n\" +\n            \"        a.item_cat_id=b.id \")\n    List<ItemParamexd> selectList();\n}\n"
  },
  {
    "path": "migo-manage/manage-pojo/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <parent>\n        <artifactId>manage</artifactId>\n        <groupId>com.migo</groupId>\n        <version>2.0-SNAPSHOT</version>\n    </parent>\n    <modelVersion>4.0.0</modelVersion>\n\n    <artifactId>manage-pojo</artifactId>\n    <packaging>jar</packaging>\n\n    <dependencies>\n        <dependency>\n            <groupId>javax.persistence</groupId>\n            <artifactId>persistence-api</artifactId>\n            <version>1.0</version>\n        </dependency>\n    </dependencies>\n\n\n</project>"
  },
  {
    "path": "migo-manage/manage-pojo/src/main/java/com/migo/pojo/BasePojo.java",
    "content": "package com.migo.pojo;\r\n\r\nimport java.util.Date;\r\n\r\npublic abstract class BasePojo {\r\n    \r\n    private Date created;\r\n    private Date updated;\r\n    public Date getCreated() {\r\n        return created;\r\n    }\r\n    public void setCreated(Date created) {\r\n        this.created = created;\r\n    }\r\n    public Date getUpdated() {\r\n        return updated;\r\n    }\r\n    public void setUpdated(Date updated) {\r\n        this.updated = updated;\r\n    }\r\n    \r\n    \r\n\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-pojo/src/main/java/com/migo/pojo/Content.java",
    "content": "package com.migo.pojo;\r\n\r\nimport javax.persistence.Column;\r\nimport javax.persistence.GeneratedValue;\r\nimport javax.persistence.GenerationType;\r\nimport javax.persistence.Id;\r\nimport javax.persistence.Table;\r\n\r\n@Table(name = \"tb_content\")\r\npublic class Content extends BasePojo {\r\n\r\n    @Id\r\n    @GeneratedValue(strategy = GenerationType.IDENTITY)\r\n    private Long id;\r\n\r\n    @Column(name = \"category_id\")\r\n    private Long categoryId;\r\n\r\n    private String title;\r\n\r\n    @Column(name = \"sub_title\")\r\n    private String subTitle;\r\n\r\n    @Column(name = \"title_desc\")\r\n    private String titleDesc;\r\n\r\n    private String url;\r\n\r\n    private String pic;\r\n\r\n    private String pic2;\r\n\r\n    private String content;\r\n\r\n    public Long getId() {\r\n        return id;\r\n    }\r\n\r\n    public void setId(Long id) {\r\n        this.id = id;\r\n    }\r\n\r\n    public Long getCategoryId() {\r\n        return categoryId;\r\n    }\r\n\r\n    public void setCategoryId(Long categoryId) {\r\n        this.categoryId = categoryId;\r\n    }\r\n\r\n    public String getTitle() {\r\n        return title;\r\n    }\r\n\r\n    public void setTitle(String title) {\r\n        this.title = title;\r\n    }\r\n\r\n    public String getSubTitle() {\r\n        return subTitle;\r\n    }\r\n\r\n    public void setSubTitle(String subTitle) {\r\n        this.subTitle = subTitle;\r\n    }\r\n\r\n    public String getTitleDesc() {\r\n        return titleDesc;\r\n    }\r\n\r\n    public void setTitleDesc(String titleDesc) {\r\n        this.titleDesc = titleDesc;\r\n    }\r\n\r\n    public String getUrl() {\r\n        return url;\r\n    }\r\n\r\n    public void setUrl(String url) {\r\n        this.url = url;\r\n    }\r\n\r\n    public String getPic() {\r\n        return pic;\r\n    }\r\n\r\n    public void setPic(String pic) {\r\n        this.pic = pic;\r\n    }\r\n\r\n    public String getPic2() {\r\n        return pic2;\r\n    }\r\n\r\n    public void setPic2(String pic2) {\r\n        this.pic2 = pic2;\r\n    }\r\n\r\n    public String getContent() {\r\n        return content;\r\n    }\r\n\r\n    public void setContent(String content) {\r\n        this.content = content;\r\n    }\r\n\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-pojo/src/main/java/com/migo/pojo/ContentCategory.java",
    "content": "package com.migo.pojo;\r\n\r\nimport javax.persistence.Column;\r\nimport javax.persistence.GeneratedValue;\r\nimport javax.persistence.GenerationType;\r\nimport javax.persistence.Id;\r\nimport javax.persistence.Table;\r\n\r\n@Table(name = \"tb_content_category\")\r\npublic class ContentCategory extends BasePojo {\r\n\r\n    @Id\r\n    @GeneratedValue(strategy = GenerationType.IDENTITY)\r\n    private Long id;\r\n\r\n    @Column(name = \"parent_id\")\r\n    private Long parentId;\r\n\r\n    private String name;\r\n\r\n    private Integer status;\r\n\r\n    @Column(name = \"sort_order\")\r\n    private Integer sortOrder;\r\n\r\n    @Column(name = \"is_parent\")\r\n    private Boolean isParent;\r\n\r\n    public Long getId() {\r\n        return id;\r\n    }\r\n\r\n    public void setId(Long id) {\r\n        this.id = id;\r\n    }\r\n\r\n    public Long getParentId() {\r\n        return parentId;\r\n    }\r\n\r\n    public void setParentId(Long parentId) {\r\n        this.parentId = parentId;\r\n    }\r\n\r\n    public String getName() {\r\n        return name;\r\n    }\r\n\r\n    public void setName(String name) {\r\n        this.name = name;\r\n    }\r\n\r\n    public Integer getStatus() {\r\n        return status;\r\n    }\r\n\r\n    public void setStatus(Integer status) {\r\n        this.status = status;\r\n    }\r\n\r\n    public Integer getSortOrder() {\r\n        return sortOrder;\r\n    }\r\n\r\n    public void setSortOrder(Integer sortOrder) {\r\n        this.sortOrder = sortOrder;\r\n    }\r\n\r\n    public Boolean getIsParent() {\r\n        return isParent;\r\n    }\r\n\r\n    public void setIsParent(Boolean isParent) {\r\n        this.isParent = isParent;\r\n    }\r\n\r\n    // 扩展字段，支持EasyUItree的显示,这样就可以避免再写一个第一版中的EasyuiTreeNode类，同时也省了第一版中\r\n    //在service中的一系列对easyuiTreeNode的处理\r\n    public String getText() {\r\n        return getName();\r\n    }\r\n\r\n    public String getState() {\r\n        return getIsParent() ? \"closed\" : \"open\";\r\n    }\r\n\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-pojo/src/main/java/com/migo/pojo/Item.java",
    "content": "package com.migo.pojo;\r\n\r\nimport javax.persistence.GeneratedValue;\r\nimport javax.persistence.GenerationType;\r\nimport javax.persistence.Id;\r\nimport javax.persistence.Table;\r\n\r\n@Table(name = \"tb_item\")\r\npublic class Item extends BasePojo {\r\n\r\n    @Id\r\n    @GeneratedValue(strategy = GenerationType.IDENTITY)\r\n    private Long id;\r\n\r\n    private String title;\r\n\r\n    private String sellPoint;\r\n\r\n    private Long price;\r\n\r\n    private Integer num;\r\n\r\n    private String barcode;\r\n\r\n    private String image;\r\n\r\n    private Long cid;\r\n\r\n    private Integer status;\r\n\r\n    public Long getId() {\r\n        return id;\r\n    }\r\n\r\n    public void setId(Long id) {\r\n        this.id = id;\r\n    }\r\n\r\n    public String getTitle() {\r\n        return title;\r\n    }\r\n\r\n    public void setTitle(String title) {\r\n        this.title = title;\r\n    }\r\n\r\n    public String getSellPoint() {\r\n        return sellPoint;\r\n    }\r\n\r\n    public void setSellPoint(String sellPoint) {\r\n        this.sellPoint = sellPoint;\r\n    }\r\n\r\n    public Long getPrice() {\r\n        return price;\r\n    }\r\n\r\n    public void setPrice(Long price) {\r\n        this.price = price;\r\n    }\r\n\r\n    public Integer getNum() {\r\n        return num;\r\n    }\r\n\r\n    public void setNum(Integer num) {\r\n        this.num = num;\r\n    }\r\n\r\n    public String getBarcode() {\r\n        return barcode;\r\n    }\r\n\r\n    public void setBarcode(String barcode) {\r\n        this.barcode = barcode;\r\n    }\r\n\r\n    public String getImage() {\r\n        return image;\r\n    }\r\n\r\n    public void setImage(String image) {\r\n        this.image = image;\r\n    }\r\n\r\n    public Long getCid() {\r\n        return cid;\r\n    }\r\n\r\n    public void setCid(Long cid) {\r\n        this.cid = cid;\r\n    }\r\n\r\n    public Integer getStatus() {\r\n        return status;\r\n    }\r\n\r\n    public void setStatus(Integer status) {\r\n        this.status = status;\r\n    }\r\n\r\n    @Override\r\n    public String toString() {\r\n        return \"Item [id=\" + id + \", title=\" + title + \", sellPoint=\" + sellPoint + \", price=\" + price\r\n                + \", num=\" + num + \", barcode=\" + barcode + \", image=\" + image + \", cid=\" + cid + \", status=\"\r\n                + status + \"]\";\r\n    }\r\n\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-pojo/src/main/java/com/migo/pojo/ItemCat.java",
    "content": "package com.migo.pojo;\r\n\r\nimport javax.persistence.GeneratedValue;\r\nimport javax.persistence.GenerationType;\r\nimport javax.persistence.Id;\r\nimport javax.persistence.Table;\r\n\r\n@Table(name = \"tb_item_cat\")\r\npublic class ItemCat extends BasePojo {\r\n\r\n    @Id\r\n    @GeneratedValue(strategy = GenerationType.IDENTITY)\r\n    private Long id;\r\n\r\n    private Long parentId;\r\n\r\n    private String name;\r\n\r\n    private Integer status;\r\n\r\n    private Integer sortOrder;\r\n\r\n    private Boolean isParent;\r\n\r\n    public Long getId() {\r\n        return id;\r\n    }\r\n\r\n    public void setId(Long id) {\r\n        this.id = id;\r\n    }\r\n\r\n    public Long getParentId() {\r\n        return parentId;\r\n    }\r\n\r\n    public void setParentId(Long parentId) {\r\n        this.parentId = parentId;\r\n    }\r\n\r\n    public String getName() {\r\n        return name;\r\n    }\r\n\r\n    public void setName(String name) {\r\n        this.name = name;\r\n    }\r\n\r\n    public Integer getStatus() {\r\n        return status;\r\n    }\r\n\r\n    public void setStatus(Integer status) {\r\n        this.status = status;\r\n    }\r\n\r\n    public Integer getSortOrder() {\r\n        return sortOrder;\r\n    }\r\n\r\n    public void setSortOrder(Integer sortOrder) {\r\n        this.sortOrder = sortOrder;\r\n    }\r\n\r\n    public Boolean getIsParent() {\r\n        return isParent;\r\n    }\r\n\r\n    public void setIsParent(Boolean isParent) {\r\n        this.isParent = isParent;\r\n    }\r\n    // 扩展字段，支持EasyUItree的显示,这样就可以避免再写一个第一版中的EasyuiTreeNode类，同时也省了第一版中\r\n    //在service中的一系列对easyuiTreeNode的处理\r\n    public String getText() {\r\n        return this.getName();\r\n    }\r\n\r\n    public String getState() {\r\n        return this.getIsParent() ? \"closed\" : \"open\";\r\n    }\r\n\r\n\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-pojo/src/main/java/com/migo/pojo/ItemDesc.java",
    "content": "package com.migo.pojo;\r\n\r\nimport javax.persistence.Id;\r\nimport javax.persistence.Table;\r\n\r\n@Table(name = \"tb_item_desc\")\r\npublic class ItemDesc extends BasePojo{\r\n    \r\n    @Id//对应tb_item中的id\r\n    private Long itemId;\r\n    \r\n    private String itemDesc;\r\n\r\n    public Long getItemId() {\r\n        return itemId;\r\n    }\r\n\r\n    public void setItemId(Long itemId) {\r\n        this.itemId = itemId;\r\n    }\r\n\r\n    public String getItemDesc() {\r\n        return itemDesc;\r\n    }\r\n\r\n    public void setItemDesc(String itemDesc) {\r\n        this.itemDesc = itemDesc;\r\n    }\r\n    \r\n    \r\n\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-pojo/src/main/java/com/migo/pojo/ItemParam.java",
    "content": "package com.migo.pojo;\r\n\r\nimport javax.persistence.Column;\r\nimport javax.persistence.GeneratedValue;\r\nimport javax.persistence.GenerationType;\r\nimport javax.persistence.Id;\r\nimport javax.persistence.Table;\r\n\r\n@Table(name = \"tb_item_param\")\r\npublic class ItemParam extends BasePojo {\r\n\r\n    @Id\r\n    @GeneratedValue(strategy = GenerationType.IDENTITY)\r\n    private Long id;\r\n\r\n    @Column(name = \"item_cat_id\")\r\n    private Long itemCatId;\r\n\r\n    @Column(name = \"param_data\")\r\n    private String paramData;\r\n\r\n    public Long getId() {\r\n        return id;\r\n    }\r\n\r\n    public void setId(Long id) {\r\n        this.id = id;\r\n    }\r\n\r\n    public Long getItemCatId() {\r\n        return itemCatId;\r\n    }\r\n\r\n    public void setItemCatId(Long itemCatId) {\r\n        this.itemCatId = itemCatId;\r\n    }\r\n\r\n    public String getParamData() {\r\n        return paramData;\r\n    }\r\n\r\n    public void setParamData(String paramData) {\r\n        this.paramData = paramData;\r\n    }\r\n\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-pojo/src/main/java/com/migo/pojo/ItemParamItem.java",
    "content": "package com.migo.pojo;\r\n\r\nimport javax.persistence.Column;\r\nimport javax.persistence.GeneratedValue;\r\nimport javax.persistence.GenerationType;\r\nimport javax.persistence.Id;\r\nimport javax.persistence.Table;\r\n\r\n@Table(name = \"tb_item_param_item\")\r\npublic class ItemParamItem extends BasePojo {\r\n\r\n    @Id\r\n    @GeneratedValue(strategy = GenerationType.IDENTITY)\r\n    private Long id;\r\n\r\n    @Column(name = \"item_id\")\r\n    private Long itemId;\r\n\r\n    @Column(name = \"param_data\")\r\n    private String paramData;\r\n\r\n    public Long getId() {\r\n        return id;\r\n    }\r\n\r\n    public void setId(Long id) {\r\n        this.id = id;\r\n    }\r\n\r\n    public Long getItemId() {\r\n        return itemId;\r\n    }\r\n\r\n    public void setItemId(Long itemId) {\r\n        this.itemId = itemId;\r\n    }\r\n\r\n    public String getParamData() {\r\n        return paramData;\r\n    }\r\n\r\n    public void setParamData(String paramData) {\r\n        this.paramData = paramData;\r\n    }\r\n\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-pojo/src/main/java/com/migo/pojo/ItemParamexd.java",
    "content": "package com.migo.pojo;\r\n\r\nimport java.util.Date;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/10/6.\r\n */\r\npublic class ItemParamexd {\r\n    private Long id;\r\n\r\n    private Long itemCatId;\r\n\r\n    private Date created;\r\n\r\n    private Date updated;\r\n\r\n    private String paramData;\r\n\r\n    private String itemCatName;\r\n\r\n\r\n    public Date getCreated() {\r\n        return created;\r\n    }\r\n\r\n    public void setCreated(Date created) {\r\n        this.created = created;\r\n    }\r\n\r\n    public Long getId() {\r\n        return id;\r\n    }\r\n\r\n    public void setId(Long id) {\r\n        this.id = id;\r\n    }\r\n\r\n    public Long getItemCatId() {\r\n        return itemCatId;\r\n    }\r\n\r\n    public void setItemCatId(Long itemCatId) {\r\n        this.itemCatId = itemCatId;\r\n    }\r\n\r\n    public String getItemCatName() {\r\n        return itemCatName;\r\n    }\r\n\r\n    public void setItemCatName(String itemCatName) {\r\n        this.itemCatName = itemCatName;\r\n    }\r\n\r\n    public String getParamData() {\r\n        return paramData;\r\n    }\r\n\r\n    public void setParamData(String paramData) {\r\n        this.paramData = paramData;\r\n    }\r\n\r\n    public Date getUpdated() {\r\n        return updated;\r\n    }\r\n\r\n    public void setUpdated(Date updated) {\r\n        this.updated = updated;\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-service/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <parent>\n        <artifactId>manage</artifactId>\n        <groupId>com.migo</groupId>\n        <version>2.0-SNAPSHOT</version>\n    </parent>\n    <modelVersion>4.0.0</modelVersion>\n\n    <artifactId>manage-service</artifactId>\n    <packaging>jar</packaging>\n\n    <dependencies>\n        <dependency>\n            <groupId>com.migo</groupId>\n            <artifactId>manage-mapper</artifactId>\n            <version>2.0-SNAPSHOT</version>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework</groupId>\n            <artifactId>spring-webmvc</artifactId>\n        </dependency>\n        <!-- 分页助手 -->\n        <dependency>\n            <groupId>com.github.pagehelper</groupId>\n            <artifactId>pagehelper</artifactId>\n        </dependency>\n\n        <dependency>\n            <groupId>fastdfs_client</groupId>\n            <artifactId>fastdfs_client</artifactId>\n            <version>1.25</version>\n        </dependency>\n\n        <dependency>\n            <groupId>com.github.jsqlparser</groupId>\n            <artifactId>jsqlparser</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>redis.clients</groupId>\n            <artifactId>jedis</artifactId>\n        </dependency>\n\n        <dependency>\n            <groupId>org.springframework</groupId>\n            <artifactId>spring-test</artifactId>\n            <version>4.3.5.RELEASE</version>\n            <scope>test</scope>\n        </dependency>\n        <!-- https://mvnrepository.com/artifact/org.springframework.amqp/spring-rabbit -->\n        <!--<dependency>\n            <groupId>org.springframework.amqp</groupId>\n            <artifactId>spring-rabbit</artifactId>\n            <version>1.6.3.RELEASE</version>\n        </dependency>-->\n\n\n    </dependencies>\n\n\n</project>"
  },
  {
    "path": "migo-manage/manage-service/src/main/java/com/migo/service/BaseService.java",
    "content": "package com.migo.service;\r\n\r\nimport com.github.pagehelper.PageHelper;\r\nimport com.github.pagehelper.PageInfo;\r\nimport com.migo.pojo.BasePojo;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport tk.mybatis.mapper.common.Mapper;\r\nimport tk.mybatis.mapper.entity.Example;\r\n\r\nimport java.util.Date;\r\nimport java.util.List;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/10.\r\n */\r\npublic class BaseService <T extends BasePojo>{\r\n\r\n    //这里利用了Spring4才支持的泛型注入\r\n    @Autowired\r\n    private Mapper<T> mapper;\r\n\r\n    /**\r\n     * 根据id查询\r\n     */\r\n    public T queryById(Long id){\r\n        return this.mapper.selectByPrimaryKey(id);\r\n    }\r\n    /**\r\n     * 根据条件查询一条数据\r\n     */\r\n    public T queryOne(T example){\r\n        return this.mapper.selectOne(example);\r\n    }\r\n\r\n    /**\r\n     * 查询所有数据\r\n     */\r\n    public List<T> queryAll(){\r\n        return this.mapper.select(null);\r\n    }\r\n\r\n    /**\r\n     * 根据条件查询数据列表\r\n     */\r\n    public List<T> queryListByWhere(T example){\r\n        return this.mapper.select(example);\r\n    }\r\n\r\n    /**\r\n     * 分页查询数据列表\r\n     * @param example 查询条件\r\n     * @param page 页数\r\n     * @param rows 页面大小\r\n     * @return\r\n     */\r\n    public PageInfo<T> queryPageListByWhere(T example,Integer page,Integer rows){\r\n\r\n        //设置分页参数\r\n        PageHelper.startPage(page,rows);\r\n        //执行查询\r\n        List<T> list = this.mapper.select(example);\r\n        return new PageInfo<T>(list);\r\n    }\r\n    /**\r\n     * 新增数据，注意设置数据的创建和更新时间\r\n     * 返回成功的条数\r\n     */\r\n    public Integer save(T t){\r\n        Date date=new Date();\r\n        t.setCreated(date);\r\n        t.setUpdated(date);\r\n        return this.mapper.insertSelective(t);\r\n\r\n    }\r\n    /**\r\n     * 更新数据，设置数据的更新时间\r\n     * 返回成功的条数\r\n     */\r\n    public Integer update(T t){\r\n        t.setUpdated(new Date());\r\n        return this.mapper.updateByPrimaryKey(t);\r\n    }\r\n\r\n    /**\r\n     * 更新数据，设置数据的更新时间（更新部分数据）\r\n     * 返回成功的条数\r\n     */\r\n    public Integer updateSelective(T t){\r\n        t.setUpdated(new Date());\r\n        return this.mapper.updateByPrimaryKeySelective(t);\r\n    }\r\n    /**\r\n     * 根据id删除数据\r\n     */\r\n    public Integer deleteById(Long id){\r\n        return this.mapper.deleteByPrimaryKey(id);\r\n    }\r\n    /**\r\n     * 批量删除数据\r\n     * @param clazz\r\n     * @param property\r\n     * @param list\r\n     * @return\r\n     */\r\n    public Integer deleteByIds(Class<T> clazz,String property,List<Object> list){\r\n        Example example=new Example(clazz);\r\n        example.createCriteria().andIn(property,list);\r\n        return this.mapper.deleteByExample(example);\r\n    }\r\n\r\n    /**\r\n     * 根据条件删除数据\r\n     */\r\n    public Integer deleteByWhere(T example){\r\n        return this.mapper.delete(example);\r\n    }\r\n\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-service/src/main/java/com/migo/service/ContentCategoryService.java",
    "content": "package com.migo.service;\r\n\r\nimport com.migo.pojo.ContentCategory;\r\nimport org.springframework.stereotype.Service;\r\n\r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/20.\r\n */\r\n@Service\r\npublic class ContentCategoryService extends BaseService<ContentCategory>{\r\n\r\n    public void deleteDuDu(ContentCategory contentCategory) {\r\n        List ids=new ArrayList();\r\n        ids.add(contentCategory.getId());\r\n\r\n        //调用递归方法添加旗下所有子节点id\r\n        this.addAllChildrenNode(ids,contentCategory.getId());\r\n        super.deleteByIds(ContentCategory.class,\"id\",ids);\r\n        //判断该节点是否还有兄弟节点，如果没有，修改父节点的isParent为false\r\n        ContentCategory example=new ContentCategory();\r\n        example.setParentId(contentCategory.getParentId());\r\n        List<ContentCategory> list = super.queryListByWhere(example);\r\n        if (list==null||list.isEmpty()){\r\n            ContentCategory parent=new ContentCategory();\r\n            parent.setId(contentCategory.getParentId());\r\n            parent.setIsParent(false);\r\n            super.updateSelective(parent);\r\n        }\r\n    }\r\n    private void addAllChildrenNode(List ids,Long pid){\r\n        ContentCategory example=new ContentCategory();\r\n        example.setParentId(pid);\r\n        List<ContentCategory> contentCategories = super.queryListByWhere(example);\r\n        for (ContentCategory contentCategory : contentCategories) {\r\n            ids.add(contentCategory.getId());\r\n            //判断该节点是否为父节点，如果是，继续调用该方法查找子节点\r\n            if (contentCategory.getIsParent()) {\r\n                //递归调用此方法\r\n                addAllChildrenNode(ids,contentCategory.getId());\r\n            }\r\n\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-service/src/main/java/com/migo/service/ContentService.java",
    "content": "package com.migo.service;\r\n\r\nimport com.github.pagehelper.PageHelper;\r\nimport com.github.pagehelper.PageInfo;\r\nimport com.migo.mapper.ContentMapper;\r\nimport com.migo.pojo.Content;\r\nimport com.migo.pojo.EasyUIDataGridResult;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.stereotype.Service;\r\nimport tk.mybatis.mapper.entity.Example;\r\n\r\nimport java.util.List;\r\n\r\nimport static javafx.scene.input.KeyCode.O;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/3.\r\n */\r\n@Service\r\npublic class ContentService extends BaseService<Content> {\r\n   @Autowired\r\n    private ContentMapper contentMapper;\r\n\r\n    public EasyUIDataGridResult queryListByCategoryId(Long categoryId, Integer page, Integer rows) {\r\n        PageHelper.startPage(page,rows);\r\n\r\n\r\n        Example expample=new Example(Content.class);\r\n        expample.createCriteria().andCondition(\"category_id\").andEqualTo(categoryId);\r\n        expample.orderBy(\"updated\").desc();\r\n        List<Content> contents = contentMapper.selectByExample(expample);\r\n        PageInfo<Content> pageInfo=new PageInfo<>(contents);\r\n        return new EasyUIDataGridResult(pageInfo.getList(),pageInfo.getTotal());\r\n\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-service/src/main/java/com/migo/service/ItemCatService.java",
    "content": "package com.migo.service;\r\n\r\nimport com.migo.pojo.CatNode;\r\nimport com.migo.pojo.ItemCat;\r\nimport com.migo.pojo.ItemCatResult;\r\nimport com.migo.utils.JsonUtils;\r\nimport org.apache.commons.lang3.StringUtils;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.stereotype.Service;\r\n\r\n\r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/8.\r\n */\r\n@Service\r\npublic class ItemCatService extends BaseService<ItemCat> {\r\n    @Autowired\r\n    private JedisClient jedisClient;\r\n    private static final String REDIS_KEY = \"MIGO_MANAGE_ITEM_CAT_LIST\"; // 规则：项目名_模块名_业务名\r\n    private static final Integer REDIS_TIME = 60 * 60 * 24 * 30 * 3;\r\n\r\n    /* @Autowired\r\n    private ItemCatMapper itemCatMapper;\r\n\r\n\r\n    public List<ItemCat> getItemCatList(Long parentId) {\r\n        ItemCat example = new ItemCat();\r\n        example.setParentId(parentId);\r\n        return this.itemCatMapper.select(example);\r\n    }*/\r\n\r\n    /**\r\n     * 查询，并生成jd页面类似的树状结构\r\n     * @return\r\n     */\r\n    public ItemCatResult getItemCatList(){\r\n\r\n        try {\r\n            // 从缓存中命中，如果命中返回，没有命中继续查询\r\n            String jsonData = jedisClient.get(REDIS_KEY);\r\n            if (StringUtils.isNotEmpty(jsonData)) {\r\n                return JsonUtils.jsonToPojo(jsonData,ItemCatResult.class);\r\n            }\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n\r\n\r\n        ItemCatResult itemCatResult=new ItemCatResult();\r\n\r\n        //调用递归方法查询商品分类列表\r\n        List catList=getItemCatList(0L);\r\n        //返回结果\r\n        itemCatResult.setCatNodes(catList);\r\n        return itemCatResult;\r\n    }\r\n\r\n    private List getItemCatList(long parentId) {\r\n        //根据parentId查询列表\r\n\r\n\r\n        ItemCat example=new ItemCat();\r\n        example.setParentId(parentId);\r\n        List<ItemCat> catList = super.queryListByWhere(example);\r\n        List resultList=new ArrayList();\r\n        int count=0;\r\n        for (ItemCat itemCat : catList) {\r\n            //如果是父节点\r\n            if (itemCat.getIsParent()) {\r\n                CatNode node=new CatNode();\r\n                node.setUrl(\"/products/\"+itemCat.getId()+\".html\");\r\n                //如果当前节点为第一级节点\r\n                if (itemCat.getParentId()==0) {\r\n                    node.setName(\"<a href='/products/\"+itemCat.getId()+\".html'>\"+itemCat.getName()+\"</a>\");\r\n                }else {\r\n                    node.setName(itemCat.getName());\r\n                }\r\n                node.setItems(getItemCatList(itemCat.getId()));\r\n                //将node添加到列表\r\n                resultList.add(node);\r\n                count++;\r\n                //第一层只取14条记录\r\n                if (parentId==0&&count>=14){\r\n                    break;\r\n                }\r\n            }else {\r\n                //如果是最底层叶子节点\r\n                String item = \"/products/\"+itemCat.getId()+\".html|\" + itemCat.getName();\r\n                resultList.add(item);\r\n            }\r\n        }\r\n        try {\r\n            //将结果集写入到Redis中\r\n            this.jedisClient.set(REDIS_KEY,JsonUtils.objectToJson(resultList),REDIS_TIME);\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n        return resultList;\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-service/src/main/java/com/migo/service/ItemDescService.java",
    "content": "package com.migo.service;\r\n\r\nimport com.migo.pojo.ItemDesc;\r\nimport com.migo.utils.JsonUtils;\r\nimport org.apache.commons.lang3.StringUtils;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.beans.factory.annotation.Value;\r\nimport org.springframework.stereotype.Service;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/12.\r\n */\r\n@Service\r\npublic class ItemDescService extends BaseService<ItemDesc> {\r\n    @Value(\"${REDIS_KEY}\")\r\n    private String REDIS_KEY;\r\n    @Value(\"${REDIS_TIME}\")\r\n    private Integer REDIS_TIME;\r\n    private static final String ITEM_DESC_KEY = \":ITEM_DESC\";\r\n\r\n    @Autowired\r\n    private JedisClient jedisClient;\r\n\r\n    public ItemDesc queryByIdse(Long itemId) {\r\n        //加入缓存逻辑\r\n        String key=REDIS_KEY+\":\"+itemId+ITEM_DESC_KEY;\r\n        try {\r\n            String jsonData = jedisClient.get(key);\r\n            if (StringUtils.isNotEmpty(jsonData)){\r\n                return JsonUtils.jsonToPojo(jsonData,ItemDesc.class);\r\n            }\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n\r\n        ItemDesc itemDesc = super.queryById(itemId);\r\n\r\n        //数据添加到缓存中\r\n        try {\r\n            jedisClient.set(key,JsonUtils.objectToJson(itemDesc),REDIS_TIME);\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n        return itemDesc;\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-service/src/main/java/com/migo/service/ItemParamItemService.java",
    "content": "package com.migo.service;\r\n\r\nimport com.migo.mapper.ItemParamItemMapper;\r\nimport com.migo.pojo.ItemParamItem;\r\nimport com.migo.utils.JsonUtils;\r\nimport org.apache.commons.lang3.StringUtils;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.beans.factory.annotation.Value;\r\nimport org.springframework.stereotype.Service;\r\n\r\nimport tk.mybatis.mapper.entity.Example;\r\n\r\nimport java.util.Date;\r\nimport java.util.List;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/14.\r\n */\r\n@Service\r\npublic class ItemParamItemService extends BaseService<ItemParamItem> {\r\n    @Value(\"${REDIS_KEY}\")\r\n    private String REDIS_KEY;\r\n    @Value(\"${REDIS_TIME}\")\r\n    private Integer REDIS_TIME;\r\n    private static final String ITEM_PARAM_KEY = \":ITEM_PARAM_ITEM\";\r\n\r\n    @Autowired\r\n    private JedisClient jedisClient;\r\n    @Autowired\r\n    private ItemParamItemMapper itemParamItemMapper;\r\n\r\n    /**\r\n     * 更新商品规格参数数据\r\n     * @param itemId\r\n     * @param itemParams\r\n     * @return\r\n     */\r\n    public Integer updateItemParamItem(Long itemId, String itemParams) {\r\n        ItemParamItem itemParamItem=new ItemParamItem();\r\n        itemParamItem.setParamData(itemParams);\r\n        itemParamItem.setUpdated(new Date());\r\n\r\n        //更新\r\n        Example example=new Example(ItemParamItem.class);\r\n        example.createCriteria().andEqualTo(\"itemId\",itemId);\r\n        return this.itemParamItemMapper.updateByExampleSelective(itemParamItem,example);\r\n    }\r\n\r\n    /**\r\n     * 根据商品id查询商品规格参数数据\r\n     * @param itemId\r\n     * @return\r\n     */\r\n    public ItemParamItem queryByIdse(Long itemId) {\r\n        //添加缓存逻辑\r\n        String key=REDIS_KEY+\":\"+itemId+ITEM_PARAM_KEY;\r\n        try {\r\n            String s = jedisClient.get(key);\r\n            if (StringUtils.isNotEmpty(s)){\r\n                return JsonUtils.jsonToPojo(s,ItemParamItem.class);\r\n            }\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n\r\n\r\n        ItemParamItem example=new ItemParamItem();\r\n        example.setItemId(itemId);\r\n\r\n        ItemParamItem itemParamItem = this.itemParamItemMapper.select(example).get(0);\r\n\r\n        //加入缓存\r\n        try {\r\n            jedisClient.set(key,JsonUtils.objectToJson(itemParamItem),REDIS_TIME);\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n        return itemParamItem;\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-service/src/main/java/com/migo/service/ItemParmService.java",
    "content": "package com.migo.service;\r\n\r\nimport com.github.pagehelper.PageHelper;\r\nimport com.github.pagehelper.PageInfo;\r\nimport com.migo.mapper.ItemparamexdMapper;\r\nimport com.migo.pojo.EasyUIDataGridResult;\r\nimport com.migo.pojo.ItemParam;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.stereotype.Service;\r\n\r\nimport java.util.List;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/14.\r\n*/\r\n@Service\r\npublic class ItemParmService extends BaseService<ItemParam> {\r\n    @Autowired\r\n    private ItemparamexdMapper itemparamexdMapper;\r\n\r\n    public EasyUIDataGridResult getItemParamList(int page, int rows) {\r\n        //分页处理\r\n        PageHelper.startPage(page, rows);\r\n        //执行查询\r\n\r\n        List list = itemparamexdMapper.selectList();\r\n        //取分页信息\r\n        PageInfo pageInfo = new PageInfo<>(list);\r\n        //返回处理结果\r\n        EasyUIDataGridResult result = new EasyUIDataGridResult();\r\n        result.setTotal(pageInfo.getTotal());\r\n        result.setRows(pageInfo.getList());\r\n        return result;\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-service/src/main/java/com/migo/service/ItemService.java",
    "content": "package com.migo.service;\r\n\r\n\r\n\r\nimport com.github.pagehelper.PageHelper;\r\nimport com.github.pagehelper.PageInfo;\r\nimport com.migo.mapper.ItemMapper;\r\nimport com.migo.pojo.EasyUIDataGridResult;\r\nimport com.migo.pojo.Item;\r\nimport com.migo.pojo.ItemDesc;\r\nimport com.migo.pojo.ItemParamItem;\r\nimport com.migo.utils.IDUtils;\r\nimport com.migo.utils.JsonUtils;\r\nimport org.apache.commons.lang3.StringUtils;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.beans.factory.annotation.Value;\r\nimport org.springframework.stereotype.Service;\r\nimport tk.mybatis.mapper.entity.Example;\r\n\r\nimport java.util.List;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/12.\r\n */\r\n@Service\r\npublic class ItemService extends BaseService<Item> {\r\n    @Value(\"${REDIS_KEY}\")\r\n    private String REDIS_KEY;\r\n    @Value(\"${REDIS_TIME}\")\r\n    private Integer REDIS_TIME;\r\n    private static final String ITEM_DETAIL_KEY = \":ITEM_DETAIL\";\r\n    @Autowired\r\n    private JedisClient jedisClient;\r\n\r\n    @Autowired\r\n    private ItemMapper itemMapper;\r\n    @Autowired\r\n    private ItemDescService itemDescService;\r\n    @Autowired\r\n    private ItemParamItemService itemParamItemService;\r\n    //desc参考前端页面传过来的数据是序列化成字符串的\r\n    public Boolean saveItem(Item item,String desc,String itemParams){\r\n        // 1、生成商品id\r\n        long itemId = IDUtils.genItemId();\r\n        // 2、对TbItem对象补全属性。\r\n        item.setId(itemId);\r\n\r\n        //'商品状态，1-正常，2-下架，3-删除'\r\n        item.setStatus(1);\r\n\r\n\r\n        //保存商品数据\r\n        Integer save = super.save(item);\r\n\r\n        ItemDesc itemDesc=new ItemDesc();\r\n        itemDesc.setItemDesc(desc);\r\n        itemDesc.setItemId(itemId);\r\n\r\n        //保存商品描述数据\r\n        Integer save1 = this.itemDescService.save(itemDesc);\r\n\r\n        //保存商品规格参数数据\r\n        ItemParamItem itemParamItem=new ItemParamItem();\r\n        itemParamItem.setItemId(itemId);\r\n        itemParamItem.setParamData(itemParams);\r\n        Integer save2 = this.itemParamItemService.save(itemParamItem);\r\n        return save.intValue()==1&&save1.intValue()==1&&save2==1;\r\n\r\n    }\r\n\r\n    /**\r\n     * 查询商品列表\r\n     */\r\n    public EasyUIDataGridResult getItemList(Integer page,Integer rows){\r\n\r\n        //执行查询\r\n        Example example=new Example(Item.class);\r\n        example.orderBy(\"updated\").desc();\r\n\r\n       // example.setOrderByClause(\"updated DESC\");\r\n        PageHelper.startPage(page,rows);\r\n\r\n        List<Item> itemList = this.itemMapper.selectByExample(example);\r\n\r\n        PageInfo<Item> pageInfo=new PageInfo<>(itemList);\r\n        //返回处理结果\r\n        EasyUIDataGridResult result=new EasyUIDataGridResult();\r\n        result.setTotal(pageInfo.getTotal());\r\n        result.setRows(pageInfo.getList());\r\n        //return new EasyUIDataGridResult(pageInfo.getList(), pageInfo.getTotal());\r\n        return result;\r\n    }\r\n\r\n    /**\r\n     * 商品修改\r\n     */\r\n    public Boolean updateItem(Item item,String desc,String itemParams){\r\n        //强制设置不能更新的字段为空,防止恶意修改\r\n        item.setStatus(null);\r\n        item.setCreated(null);\r\n\r\n        Integer change1 = super.updateSelective(item);\r\n\r\n        //更新商品描述\r\n        ItemDesc itemDesc=new ItemDesc();\r\n        itemDesc.setItemId(item.getId());\r\n        itemDesc.setItemDesc(desc);\r\n        Integer change2 = this.itemDescService.updateSelective(itemDesc);\r\n\r\n        //更新商品规格参数数据\r\n        Integer change3 = this.itemParamItemService.updateItemParamItem(item.getId(), itemParams);\r\n\r\n        return change1.intValue()==1&&change2.intValue()==1&&change3.intValue()==1;\r\n\r\n    }\r\n\r\n    public Item queryByIdse(Long itemId) {\r\n        String key=REDIS_KEY+\":\"+itemId+ITEM_DETAIL_KEY;\r\n        //添加缓存逻辑\r\n        try {\r\n            String jsonData = jedisClient.get(key);\r\n            if (StringUtils.isNotEmpty(jsonData)){\r\n                return JsonUtils.jsonToPojo(jsonData,Item.class);\r\n            }\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n\r\n\r\n        Item item = super.queryById(itemId);\r\n\r\n        //数据加入缓存\r\n        try {\r\n            jedisClient.set(key,JsonUtils.objectToJson(item),REDIS_TIME);\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n        return item;\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-service/src/main/java/com/migo/service/PicService.java",
    "content": "package com.migo.service;\r\n\r\nimport com.migo.utils.FastDFSClient;\r\nimport org.springframework.beans.factory.annotation.Value;\r\nimport org.springframework.stereotype.Service;\r\nimport org.springframework.web.multipart.MultipartFile;\r\n\r\nimport java.util.HashMap;\r\nimport java.util.Map;\r\n\r\n/**\r\n * 图片上传\r\n * Author  知秋\r\n * Created by kauw on 2016/11/11.\r\n */\r\n@Service\r\npublic class PicService {\r\n    @Value(\"${IMAGE_SERVER_BASE_URL}\")\r\n    private String IMAGE_SERVER_BASE_URL;\r\n\r\n    public Map uploadFile(MultipartFile uploadFile){\r\n\r\n        try {\r\n            FastDFSClient client=new FastDFSClient(\"classpath:properties/client.properties\");\r\n            //获取图片原始名称\r\n            String filename = uploadFile.getOriginalFilename();\r\n            //取扩展名\r\n            String extendName = filename.substring(filename.lastIndexOf(\".\") + 1);\r\n            String url=client.uploadFile(uploadFile.getBytes(),extendName);\r\n            //拼接URL\r\n            url=IMAGE_SERVER_BASE_URL+url;\r\n            //返回map数据\r\n            Map result=new HashMap();\r\n            result.put(\"error\",0);\r\n            result.put(\"url\",url);\r\n            return result;\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n            //返回Map数据\r\n            Map result = new HashMap<>();\r\n            result.put(\"error\", 1);\r\n            result.put(\"message\", \"上传失败\");\r\n\r\n            return result;\r\n\r\n        }\r\n\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <parent>\n        <artifactId>manage</artifactId>\n        <groupId>com.migo</groupId>\n        <version>2.0-SNAPSHOT</version>\n    </parent>\n    <modelVersion>4.0.0</modelVersion>\n\n    <artifactId>manage-web</artifactId>\n    <packaging>war</packaging>\n\n    <dependencies>\n        <dependency>\n            <groupId>com.migo</groupId>\n            <artifactId>manage-service</artifactId>\n            <version>2.0-SNAPSHOT</version>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework</groupId>\n            <artifactId>spring-jdbc</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework</groupId>\n            <artifactId>spring-aspects</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.mybatis</groupId>\n            <artifactId>mybatis-spring</artifactId>\n        </dependency>\n        <!-- MySql -->\n        <dependency>\n            <groupId>mysql</groupId>\n            <artifactId>mysql-connector-java</artifactId>\n        </dependency>\n        <!-- Jackson Json处理工具包 -->\n        <dependency>\n            <groupId>com.fasterxml.jackson.core</groupId>\n            <artifactId>jackson-databind</artifactId>\n        </dependency>\n        <!-- 连接池 -->\n        <dependency>\n            <groupId>com.alibaba</groupId>\n            <artifactId>druid</artifactId>\n        </dependency>\n        <!-- JSP相关 -->\n        <dependency>\n            <groupId>jstl</groupId>\n            <artifactId>jstl</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>javax.servlet</groupId>\n            <artifactId>servlet-api</artifactId>\n            <scope>provided</scope>\n        </dependency>\n        <dependency>\n            <groupId>javax.servlet</groupId>\n            <artifactId>jsp-api</artifactId>\n            <scope>provided</scope>\n        </dependency>\n        <dependency>\n            <groupId>commons-fileupload</groupId>\n            <artifactId>commons-fileupload</artifactId>\n            <version>1.3.1</version>\n        </dependency>\n        <dependency>\n            <groupId>fastdfs_client</groupId>\n            <artifactId>fastdfs_client</artifactId>\n            <version>1.25</version>\n        </dependency>\n        <!-- 时间操作组件 -->\n        <dependency>\n            <groupId>joda-time</groupId>\n            <artifactId>joda-time</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>tk.mybatis</groupId>\n            <artifactId>mapper</artifactId>\n            <version>3.3.9</version>\n        </dependency>\n        <dependency>\n            <groupId>org.springframework</groupId>\n            <artifactId>spring-test</artifactId>\n            <version>4.3.5.RELEASE</version>\n            <scope>test</scope>\n        </dependency>\n        <dependency>\n            <groupId>com.alibaba</groupId>\n            <artifactId>fastjson</artifactId>\n            <version>1.1.41</version>\n            <scope>test</scope>\n        </dependency>\n    </dependencies>\n\n\n</project>"
  },
  {
    "path": "migo-manage/manage-web/src/main/java/com/migo/controller/ContentCategoryController.java",
    "content": "package com.migo.controller;\r\n\r\nimport com.migo.pojo.ContentCategory;\r\nimport com.migo.service.ContentCategoryService;\r\nimport org.slf4j.Logger;\r\nimport org.slf4j.LoggerFactory;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.http.HttpStatus;\r\nimport org.springframework.http.ResponseEntity;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\nimport org.springframework.web.bind.annotation.RequestMethod;\r\nimport org.springframework.web.bind.annotation.RequestParam;\r\n\r\nimport java.util.List;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/20.\r\n */\r\n@Controller\r\n@RequestMapping(\"content/category\")\r\npublic class ContentCategoryController {\r\n    private static final Logger logger= LoggerFactory.getLogger(ContentCategoryController.class);\r\n    @Autowired\r\n    private ContentCategoryService contentCategoryService;\r\n\r\n\r\n    /**\r\n     * 根据父节点id查询节点列表\r\n     * @param parentId\r\n     * @return\r\n     */\r\n    @RequestMapping(method = RequestMethod.GET)\r\n    public ResponseEntity<List<ContentCategory>> getContentCatList(\r\n            @RequestParam(value = \"id\", defaultValue = \"0\") Long parentId) {\r\n\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"根据父节点id查询节点列表 parentId = {}\",parentId);\r\n            }\r\n            ContentCategory example=new ContentCategory();\r\n            example.setParentId(parentId);\r\n            List<ContentCategory> categoryList = this.contentCategoryService.queryListByWhere(example);\r\n            if (categoryList==null||categoryList.isEmpty()){\r\n                if (logger.isInfoEnabled()){\r\n                    logger.info(\"根据父节点id查询节点列表 未找到 parentId = {}\",parentId);\r\n                }\r\n                return  ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);\r\n            }\r\n            return  ResponseEntity.ok(categoryList);\r\n        } catch (Exception e) {\r\n           logger.error(\"根据父节点id查询节点列表 服务器傲娇了 parentId = {}\",parentId,e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n    }\r\n\r\n    /**\r\n     * 新增节点\r\n     * @param contentCategory\r\n     * @return\r\n     */\r\n    @RequestMapping(method = RequestMethod.POST)\r\n    public ResponseEntity<ContentCategory> addContentCategery(ContentCategory contentCategory)\r\n    {\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"新增节点 contentCategory = {}\",contentCategory);\r\n            }\r\n            //补全字段\r\n            contentCategory.setId(null);\r\n            contentCategory.setIsParent(false);\r\n            contentCategory.setSortOrder(1);\r\n            contentCategory.setStatus(1);\r\n            this.contentCategoryService.save(contentCategory);\r\n\r\n            //新增节点后可能会改变父节点的状态isParent\r\n            ContentCategory parent = this.contentCategoryService.queryById(contentCategory.getParentId());\r\n            if (!parent.getIsParent()) {\r\n\r\n                parent.setIsParent(true);\r\n                this.contentCategoryService.updateSelective(parent);\r\n            }\r\n            return ResponseEntity.status(HttpStatus.CREATED).body(contentCategory);\r\n        } catch (Exception e) {\r\n           logger.error(\"新增节点 服务器傲娇了 contentCategory = {}\",contentCategory,e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n    }\r\n\r\n    /**\r\n     * 修改节点\r\n     * @param contentCategory\r\n     * @return\r\n     */\r\n    @RequestMapping(method = RequestMethod.PUT)\r\n    public ResponseEntity<Void> updateContentCategery(ContentCategory contentCategory){\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"修改节点 contentCategory = {}\",contentCategory);\r\n            }\r\n            this.contentCategoryService.updateSelective(contentCategory);\r\n            return ResponseEntity.status(HttpStatus.NO_CONTENT).build();\r\n        } catch (Exception e) {\r\n           logger.error(\"修改节点 服务器傲娇了 contentCategory = {}\",contentCategory,e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();\r\n    }\r\n\r\n    /**\r\n     * 删除节点\r\n     * @param contentCategory\r\n     * @return\r\n     */\r\n    @RequestMapping(method = RequestMethod.DELETE)\r\n    public ResponseEntity<Void> delete(ContentCategory contentCategory){\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"删除节点 contentCategory = {}\",contentCategory);\r\n            }\r\n            this.contentCategoryService.deleteDuDu(contentCategory);\r\n            return ResponseEntity.status(HttpStatus.NO_CONTENT).build();\r\n        } catch (Exception e) {\r\n\r\n            logger.error(\"删除节点 服务器傲娇了 contentCategory = {}\",contentCategory,e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();\r\n    }\r\n\r\n\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/java/com/migo/controller/ContentController.java",
    "content": "package com.migo.controller;\r\n\r\nimport com.migo.pojo.Content;\r\nimport com.migo.pojo.EasyUIDataGridResult;\r\nimport com.migo.service.ContentService;\r\nimport org.slf4j.Logger;\r\nimport org.slf4j.LoggerFactory;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.http.HttpStatus;\r\nimport org.springframework.http.ResponseEntity;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\nimport org.springframework.web.bind.annotation.RequestMethod;\r\nimport org.springframework.web.bind.annotation.RequestParam;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/3.\r\n */\r\n@Controller\r\n@RequestMapping(\"content\")\r\npublic class ContentController {\r\n    private static final Logger logger= LoggerFactory.getLogger(ContentController.class);\r\n    @Autowired\r\n    private ContentService contentService;\r\n\r\n    /**\r\n     * 根据categoryId查询内容列表\r\n     * @param categoryId\r\n     * @param page\r\n     * @param rows\r\n     * @return\r\n     */\r\n    @RequestMapping(method = RequestMethod.GET)\r\n    public ResponseEntity<EasyUIDataGridResult> queryListByCategoryId(\r\n            @RequestParam(\"categoryId\") Long categoryId,\r\n            @RequestParam(value = \"page\",defaultValue = \"1\") Integer page,\r\n            @RequestParam(value = \"rows\",defaultValue = \"20\") Integer rows\r\n\r\n    ){\r\n\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"根据categoryId查询内容列表 categoryId = {}\",categoryId);\r\n            }\r\n            EasyUIDataGridResult result=this.contentService.queryListByCategoryId(categoryId,page,rows);\r\n            return ResponseEntity.ok(result);\r\n        } catch (Exception e) {\r\n          logger.error(\"根据categoryId查询内容列表 服务器傲娇了 categoryId = {}\",categoryId);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n    }\r\n\r\n\r\n    /**\r\n     * 新增内容\r\n     * @param content\r\n     * @return\r\n     */\r\n    @RequestMapping(method = RequestMethod.POST)\r\n    public ResponseEntity<Void> add(Content content){\r\n\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"新增内容 contentTitle = {}\",content.getTitle());\r\n            }\r\n            content.setId(null);\r\n            this.contentService.save(content);\r\n            return ResponseEntity.status(HttpStatus.CREATED).build();\r\n        } catch (Exception e) {\r\n            logger.error(\"新增内容 contentTitle = {}\",content.getTitle(),e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();\r\n    }\r\n\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/java/com/migo/controller/ItemCatController.java",
    "content": "package com.migo.controller;\r\n\r\nimport com.migo.pojo.ItemCat;\r\nimport com.migo.service.ItemCatService;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.http.HttpStatus;\r\nimport org.springframework.http.ResponseEntity;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.web.bind.annotation.PathVariable;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\nimport org.springframework.web.bind.annotation.RequestMethod;\r\nimport org.springframework.web.bind.annotation.RequestParam;\r\n\r\nimport java.util.List;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/8.\r\n */\r\n@Controller\r\n@RequestMapping(\"item/cat\")\r\npublic class ItemCatController {\r\n    @Autowired\r\n    private ItemCatService itemCatService;\r\n\r\n    /**\r\n     * 根据父节点id查询商品类目表\r\n     */\r\n\r\n    @RequestMapping(method = RequestMethod.GET)\r\npublic ResponseEntity<List<ItemCat>> getItemCatList(\r\n        @RequestParam(value = \"id\",defaultValue = \"0\") Long parentId\r\n){\r\n\r\n    try {\r\n        //List<ItemCat> itemcats=itemCatService.getItemCatList(parentId);\r\n        ItemCat example=new ItemCat();\r\n        example.setParentId(parentId);\r\n        List<ItemCat> itemCats = itemCatService.queryListByWhere(example);\r\n        if (null==itemCats&&itemCats.isEmpty()){\r\n            //资源不存在，响应404\r\n            return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);\r\n        }\r\n        return  ResponseEntity.ok(itemCats);\r\n    } catch (Exception e) {\r\n        e.printStackTrace();\r\n        // 出错，响应500\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n    }\r\n}\r\n\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/java/com/migo/controller/ItemController.java",
    "content": "package com.migo.controller;\r\n\r\nimport com.migo.pojo.EasyUIDataGridResult;\r\nimport com.migo.pojo.Item;\r\nimport com.migo.service.ItemService;\r\nimport org.slf4j.Logger;\r\nimport org.slf4j.LoggerFactory;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.http.HttpStatus;\r\nimport org.springframework.http.ResponseEntity;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\nimport org.springframework.web.bind.annotation.RequestMethod;\r\nimport org.springframework.web.bind.annotation.RequestParam;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/12.\r\n */\r\n@Controller\r\n@RequestMapping(\"item\")\r\npublic class ItemController {\r\n    private static final Logger LOGGER = LoggerFactory.getLogger(ItemController.class);\r\n    @Autowired\r\n    private ItemService itemService;\r\n\r\n    /**\r\n     * 新增商品\r\n     */\r\n    @RequestMapping(method = RequestMethod.POST)\r\n    public ResponseEntity<Void> addItem(Item item, @RequestParam(\"desc\") String desc,\r\n                                        @RequestParam(\"itemParams\") String itemParams) {\r\n\r\n        if (LOGGER.isInfoEnabled()) {\r\n            LOGGER.info(\"新增商品，item = {}, desc = {}\", item, desc);\r\n        }\r\n        /**\r\n         * TODO 校验以后完善\r\n         */\r\n        if (item.getPrice() == null || item.getPrice().intValue() == 0) {\r\n            if (LOGGER.isInfoEnabled()) {\r\n                LOGGER.info(\"新增商品时用户输入的参数不合法，item = {}, desc = {},itemParams\", item, desc);\r\n            }\r\n            // 参数有误，返回400\r\n            //ResponseEntity<Void> build();\r\n            return ResponseEntity.status(HttpStatus.BAD_REQUEST).build();\r\n        }\r\n\r\n        try {\r\n            Boolean saveItem = this.itemService.saveItem(item, desc,itemParams);\r\n            if (saveItem) {\r\n                if (LOGGER.isInfoEnabled()) {\r\n                    LOGGER.info(\"新增商品成功! id = {}\", item.getId());\r\n                }\r\n                //CREATED(201, \"Created\"),\r\n                return ResponseEntity.status(HttpStatus.CREATED).build();\r\n            }\r\n        } catch (Exception e) {\r\n            LOGGER.error(\"新增商品失败! item = \" + item + \", desc = \" + desc, e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();\r\n    }\r\n\r\n    @RequestMapping(method = RequestMethod.GET)\r\n    public ResponseEntity<EasyUIDataGridResult> getItemList(\r\n            @RequestParam(value = \"page\", defaultValue = \"0\") Integer page,\r\n            @RequestParam(value = \"rows\", defaultValue = \"30\") Integer rows) {\r\n\r\n        try {\r\n            EasyUIDataGridResult itemList = this.itemService.getItemList(page, rows);\r\n            return ResponseEntity.ok(itemList);\r\n        } catch (Exception e) {\r\n\r\n            LOGGER.error(\"查询商品出错：page=\"+page+\",rows=\"+rows,e);\r\n            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n        }\r\n    }\r\n\r\n    /**\r\n     * 更新商品数据\r\n     */\r\n    @RequestMapping(method = RequestMethod.PUT)\r\n    public ResponseEntity<Void> updateItem(Item item, @RequestParam(\"desc\") String desc,\r\n                                           @RequestParam(\"itemParams\") String itemParams){\r\n        if (LOGGER.isInfoEnabled()) {\r\n            LOGGER.info(\"修改商品，item = {}, desc = {}\", item, desc);\r\n        }\r\n        /**\r\n         * TODO 校验以后完善\r\n         */\r\n        if (item.getPrice() == null || item.getPrice().intValue() == 0) {\r\n            if (LOGGER.isInfoEnabled()) {\r\n                LOGGER.info(\"修改商品时用户输入的参数不合法，item = {}, desc = {}\", item, desc);\r\n            }\r\n            // 参数有误，返回400\r\n            //ResponseEntity<Void> build();\r\n            return ResponseEntity.status(HttpStatus.BAD_REQUEST).build();\r\n        }\r\n\r\n        try {\r\n            Boolean updateItem = this.itemService.updateItem(item, desc,itemParams);\r\n            if (updateItem) {\r\n                if (LOGGER.isInfoEnabled()) {\r\n                    LOGGER.info(\"修改商品成功! id = {}\", item.getId());\r\n                }\r\n                //CREATED(201, \"Created\"),\r\n                return ResponseEntity.status(HttpStatus.CREATED).build();\r\n            }\r\n        } catch (Exception e) {\r\n            LOGGER.error(\"修改商品失败! item = \" + item + \", desc = \" + desc, e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();\r\n    }\r\n\r\n\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/java/com/migo/controller/ItemDescController.java",
    "content": "package com.migo.controller;\r\n\r\nimport com.migo.pojo.ItemDesc;\r\nimport com.migo.service.ItemDescService;\r\nimport org.slf4j.Logger;\r\nimport org.slf4j.LoggerFactory;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.http.HttpStatus;\r\nimport org.springframework.http.ResponseEntity;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.web.bind.annotation.PathVariable;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\nimport org.springframework.web.bind.annotation.RequestMethod;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/14.\r\n */\r\n@Controller\r\n@RequestMapping(\"item/desc\")\r\npublic class ItemDescController {\r\n    private static final Logger logger= LoggerFactory.getLogger(ItemDescController.class);\r\n\r\n    @Autowired\r\n    private ItemDescService itemDescService;\r\n\r\n    /**\r\n     * 根据商品id查询商品描述信息\r\n     */\r\n    @RequestMapping(value = \"{itemId}\",method = RequestMethod.GET)\r\n    public ResponseEntity<ItemDesc> queryItemDescByItemId(\r\n            @PathVariable(\"itemId\") Long itemId\r\n    ){\r\n\r\n        if (logger.isInfoEnabled()){\r\n            logger.info(\"商品描述信息查询 id = {}\",itemId);\r\n        }\r\n        try {\r\n            ItemDesc itemDesc = this.itemDescService.queryById(itemId);\r\n            if (itemDesc==null){\r\n                return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);\r\n            }\r\n            return ResponseEntity.ok(itemDesc);\r\n        } catch (Exception e) {\r\n            logger.error(\"商品描述查询失败id = {}\",itemId,e);\r\n\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/java/com/migo/controller/ItemParamController.java",
    "content": "package com.migo.controller;\r\n\r\nimport com.migo.pojo.EasyUIDataGridResult;\r\nimport com.migo.pojo.ItemParam;\r\nimport com.migo.service.ItemParmService;\r\nimport org.slf4j.Logger;\r\nimport org.slf4j.LoggerFactory;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.http.HttpStatus;\r\nimport org.springframework.http.ResponseEntity;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.web.bind.annotation.PathVariable;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\nimport org.springframework.web.bind.annotation.RequestMethod;\r\nimport org.springframework.web.bind.annotation.RequestParam;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/14.\r\n */\r\n@Controller\r\n@RequestMapping(\"item/param\")\r\npublic class ItemParamController {\r\n    private final static Logger logger= LoggerFactory.getLogger(ItemParamController.class);\r\n    @Autowired\r\n    private ItemParmService itemParmService;\r\n\r\n    @RequestMapping(value = \"{itemCatId}\" ,method = RequestMethod.GET)\r\n    public ResponseEntity<ItemParam> getItemParamByCid(@PathVariable(\"itemCatId\") Long itemCatId){\r\n        try {\r\n            if (logger.isInfoEnabled()) {\r\n                logger.info(\"查询某商品规格模板参数模板 itemCatId= {}\",itemCatId);\r\n            }\r\n            ItemParam example=new ItemParam();\r\n            example.setItemCatId(itemCatId);\r\n            ItemParam itemParam = this.itemParmService.queryOne(example);\r\n            if (itemParam==null) {\r\n                if (logger.isInfoEnabled()) {\r\n                    logger.info(\"所查询商品规格模板参数模板 不存在 itemCatId= {}\",itemCatId);\r\n                }\r\n                return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);\r\n\r\n            }\r\n            return ResponseEntity.ok(itemParam);\r\n        } catch (Exception e) {\r\n            logger.error(\"查询某商品规格模板参数模板 失败 itemCatId= {}\",itemCatId,e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n    }\r\n\r\n\r\n    /**\r\n     * 新增规格参数模板\r\n     */\r\n    @RequestMapping(value = \"{itemCatId}\",method = RequestMethod.POST)\r\n    public ResponseEntity<Void> addItemParamByItemCatId(\r\n            @PathVariable(\"itemCatId\") Long itemCatId,@RequestParam(\"paramData\") String paramData\r\n    ){\r\n        try {\r\n            if (logger.isInfoEnabled()) {\r\n                logger.info(\"新增某商品规格模板参数模板 itemCatId= {}，paramData = {}\",itemCatId,paramData);\r\n            }\r\n            ItemParam itemparam=new ItemParam();\r\n            itemparam.setId(null);   //置空，防止恶意修改 `id` bigint(20) NOT NULL AUTO_INCREMENT\r\n            itemparam.setItemCatId(itemCatId);\r\n            itemparam.setParamData(paramData);\r\n            this.itemParmService.save(itemparam);\r\n            return ResponseEntity.status(HttpStatus.CREATED).build();\r\n        } catch (Exception e) {\r\n            logger.error(\"新增某商品规格模板参数模板 失败 itemCatId= {}，\"+itemCatId+\"paramData = {}\"+paramData,e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();\r\n    }\r\n\r\n    /**\r\n     * 查询规格参数模板列表\r\n     */\r\n    @RequestMapping(value = \"/list\",method = RequestMethod.GET)\r\n    public ResponseEntity<EasyUIDataGridResult> getItemparmList(Integer page,Integer rows){\r\n        try {\r\n            if (logger.isInfoEnabled()) {\r\n                logger.info(\"查询商品规格模板参数模板 page= {}，rows = {}\",page,rows);\r\n            }\r\n            EasyUIDataGridResult result=this.itemParmService.getItemParamList(page,rows);\r\n            return ResponseEntity.ok(result);\r\n        } catch (Exception e) {\r\n            logger.error(\"查询商品规格参数模板列表出错：page=\"+page+\",rows=\"+rows,e);\r\n            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/java/com/migo/controller/ItemParamItemController.java",
    "content": "package com.migo.controller;\r\n\r\nimport com.migo.pojo.ItemParamItem;\r\nimport com.migo.service.ItemParamItemService;\r\nimport org.slf4j.Logger;\r\nimport org.slf4j.LoggerFactory;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.http.HttpStatus;\r\nimport org.springframework.http.ResponseEntity;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.web.bind.annotation.PathVariable;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\nimport org.springframework.web.bind.annotation.RequestMethod;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/14.\r\n */\r\n@Controller\r\n@RequestMapping(\"item/param/item/\")\r\npublic class ItemParamItemController {\r\n    private static final Logger logger= LoggerFactory.getLogger(ItemParamItemController.class);\r\n\r\n    @Autowired\r\n    private ItemParamItemService itemParamItemService;\r\n    /**\r\n     * 根据商品Id查询商品规格参数数据\r\n     */\r\n    @RequestMapping(value = \"{itemId}\",method = RequestMethod.GET)\r\n    public ResponseEntity<ItemParamItem> showItemParam(@PathVariable(\"itemId\") Long itemId){\r\n\r\n        try {\r\n            if(logger.isInfoEnabled()){\r\n                logger.info(\"根据商品Id查询商品规格参数数据 itemId = {}\",itemId);\r\n            }\r\n            ItemParamItem example=new ItemParamItem();\r\n            example.setItemId(itemId);\r\n            ItemParamItem itemParamItem = this.itemParamItemService.queryOne(example);\r\n            if (null==itemParamItem){\r\n                return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);\r\n            }\r\n            return ResponseEntity.ok(itemParamItem);\r\n        } catch (Exception e) {\r\n          logger.error(\"根据商品Id查询商品规格参数数据 失败 itemId = {}\",itemId,e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/java/com/migo/controller/PageController.java",
    "content": "package com.migo.controller;\r\n\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.web.bind.annotation.PathVariable;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\nimport org.springframework.web.bind.annotation.RequestMethod;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/7.\r\n * 通用页面的跳转\r\n */\r\n@Controller\r\npublic class PageController {\r\n\r\n    @RequestMapping(value = \"/page/{pageName}\",method = RequestMethod.GET)\r\n    public String tpage(@PathVariable String pageName){\r\n        return pageName;\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/java/com/migo/controller/PicController.java",
    "content": "package com.migo.controller;\r\n\r\nimport com.migo.service.PicService;\r\nimport com.migo.utils.JsonUtils;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\nimport org.springframework.web.bind.annotation.ResponseBody;\r\nimport org.springframework.web.multipart.MultipartFile;\r\n\r\nimport java.util.Map;\r\n\r\n/**\r\n * 图片上传controller\r\n * Author  知秋\r\n * Created by kauw on 2016/11/11.\r\n */\r\n@Controller\r\npublic class PicController {\r\n    @Autowired\r\n    private PicService picService;\r\n\r\n    @RequestMapping(\"/pic/upload\")\r\n    @ResponseBody\r\n    public String uploadFile(MultipartFile uploadFile){\r\n        Map result = picService.uploadFile(uploadFile);\r\n\r\n        //把Java对象手工转换成json数据\r\n        String json = JsonUtils.objectToJson(result);\r\n        return json;\r\n\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/java/com/migo/controller/webs/WebsContenController.java",
    "content": "package com.migo.controller.webs;\r\n\r\nimport com.migo.pojo.EasyUIDataGridResult;\r\nimport com.migo.service.ContentService;\r\nimport org.slf4j.Logger;\r\nimport org.slf4j.LoggerFactory;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.http.HttpStatus;\r\nimport org.springframework.http.ResponseEntity;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\nimport org.springframework.web.bind.annotation.RequestMethod;\r\nimport org.springframework.web.bind.annotation.RequestParam;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/4.\r\n */\r\n@Controller\r\n@RequestMapping(\"webs/content\")\r\npublic class WebsContenController {\r\n    private static final Logger logger= LoggerFactory.getLogger(WebsContenController.class);\r\n    @Autowired\r\n    private ContentService contentService;\r\n    /**\r\n     * 根据categoryId查询内容列表\r\n     * @param categoryId\r\n     * @param page\r\n     * @param rows\r\n     * @return\r\n     */\r\n    @RequestMapping(method = RequestMethod.GET)\r\n    public ResponseEntity<EasyUIDataGridResult> queryListByCategoryId(\r\n            @RequestParam(\"categoryId\") Long categoryId,\r\n            @RequestParam(value = \"page\",defaultValue = \"1\") Integer page,\r\n            @RequestParam(value = \"rows\",defaultValue = \"20\") Integer rows\r\n\r\n    ){\r\n\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"根据categoryId查询内容列表 categoryId = {}\",categoryId);\r\n            }\r\n            EasyUIDataGridResult result=this.contentService.queryListByCategoryId(categoryId,page,rows);\r\n            return ResponseEntity.ok(result);\r\n        } catch (Exception e) {\r\n            logger.error(\"根据categoryId查询内容列表 服务器傲娇了 categoryId = {}\",categoryId,e);\r\n\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/java/com/migo/controller/webs/WebsItemCatController.java",
    "content": "package com.migo.controller.webs;\r\n\r\nimport com.migo.pojo.ItemCatResult;\r\nimport com.migo.service.ItemCatService;\r\nimport org.slf4j.Logger;\r\nimport org.slf4j.LoggerFactory;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.http.HttpStatus;\r\nimport org.springframework.http.ResponseEntity;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\nimport org.springframework.web.bind.annotation.RequestMethod;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/17.\r\n */\r\n@Controller\r\n@RequestMapping(\"webs/item/cat\")\r\npublic class WebsItemCatController {\r\n    private static final Logger logger= LoggerFactory.getLogger(WebsItemCatController.class);\r\n    @Autowired\r\n    private ItemCatService itemCatService;\r\n\r\n   /* @RequestMapping(method = RequestMethod.GET)\r\n    public ResponseEntity<Object> getItemCatList(String callback){\r\n        try {\r\n            if (logger.isInfoEnabled()) {\r\n                logger.info(\"查询商品类目数据服务\");\r\n            }\r\n            ItemCatResult itemCatList = this.itemCatService.getItemCatList();\r\n            if (StringUtils.isEmpty(callback)) {\r\n                String json = JsonUtils.objectToJson(itemCatList);\r\n\r\n                return ResponseEntity.ok((Object) json);\r\n            }\r\n            //如果字符串不为空，需要支持jsonp调用\r\n            MappingJacksonValue mappingJacksonValue=new MappingJacksonValue(itemCatList);\r\n            mappingJacksonValue.setJsonpFunction(callback);\r\n            return ResponseEntity.ok((Object) mappingJacksonValue);\r\n        } catch (Exception e) {\r\n           logger.error(\"查询商品类目数据服务 失败\", e);\r\n            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n        }\r\n\r\n    }*/\r\n    @RequestMapping(method = RequestMethod.GET)\r\n    public ResponseEntity<ItemCatResult> getItemCatList(){\r\n        try {\r\n            if (logger.isInfoEnabled()) {\r\n                logger.info(\"查询商品类目数据服务\");\r\n            }\r\n            ItemCatResult itemCatList = this.itemCatService.getItemCatList();\r\n            return ResponseEntity.ok(itemCatList);\r\n        } catch (Exception e) {\r\n            logger.error(\"查询商品类目数据服务 失败\", e);\r\n            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n        }\r\n\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/java/com/migo/controller/webs/WebsItemController.java",
    "content": "package com.migo.controller.webs;\r\n\r\nimport com.migo.pojo.Item;\r\nimport com.migo.pojo.ItemDesc;\r\nimport com.migo.pojo.ItemParamItem;\r\nimport com.migo.service.ItemDescService;\r\nimport com.migo.service.ItemParamItemService;\r\nimport com.migo.service.ItemService;\r\nimport org.slf4j.Logger;\r\nimport org.slf4j.LoggerFactory;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.http.HttpStatus;\r\nimport org.springframework.http.ResponseEntity;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.web.bind.annotation.PathVariable;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\nimport org.springframework.web.bind.annotation.RequestMethod;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/9.\r\n */\r\n@Controller\r\n@RequestMapping(\"webs/item\")\r\npublic class WebsItemController {\r\n    private static final Logger logger= LoggerFactory.getLogger(WebsItemController.class);\r\n    @Autowired\r\n    private ItemService itemService;\r\n    @Autowired\r\n    private ItemDescService itemDescService;\r\n    @Autowired\r\n    private ItemParamItemService itemParamItemService;\r\n\r\n    /**\r\n     * 根据itemId查询商品详情\r\n     * @param itemId\r\n     * @return\r\n     */\r\n    @RequestMapping(value = \"{itemId}\",method = RequestMethod.GET)\r\n    public ResponseEntity<Item> queryByItemId(@PathVariable(\"itemId\") Long itemId){\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"根据itemId查询商品详情 itemId = {}\",itemId);\r\n            }\r\n            Item item = this.itemService.queryByIdse(itemId);\r\n            if (null==item){\r\n                return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);\r\n            }\r\n            return ResponseEntity.ok(item);\r\n        } catch (Exception e) {\r\n            logger.error(\"根据itemId查询商品详情出错，服务器傲娇了 itemId = {}\",itemId,e);\r\n\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n    }\r\n\r\n\r\n    /**\r\n     * 根据itemId查询商品描述\r\n     * @param itemId\r\n     * @return\r\n     */\r\n    @RequestMapping(value = \"/desc/{itemId}\",method = RequestMethod.GET)\r\n    public ResponseEntity<ItemDesc> queryDescByitemId(@PathVariable(\"itemId\") Long itemId){\r\n\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"根据itemId查询商品描述 itemId = {}\",itemId);\r\n            }\r\n            ItemDesc itemDesc = this.itemDescService.queryByIdse(itemId);\r\n            if (null==itemDesc) {\r\n                return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);\r\n            }\r\n            return ResponseEntity.ok(itemDesc);\r\n        } catch (Exception e) {\r\n            logger.error(\"根据itemId查询商品描述出错，服务器傲娇了 itemId = {}\",itemId,e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n    }\r\n\r\n    /**\r\n     * 根据itemId查询商品规格参数\r\n     * @param itemId\r\n     * @return\r\n     */\r\n    @RequestMapping(value = \"/paramitem/{itemId}\",method = RequestMethod.GET)\r\n    public ResponseEntity<ItemParamItem> queryItemParamItemByitemId(\r\n            @PathVariable(\"itemId\") Long itemId){\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"根据itemId查询商品规格参数 itemId = {}\",itemId);\r\n            }\r\n            ItemParamItem itemParamItem = this.itemParamItemService.queryByIdse(itemId);\r\n            if (itemParamItem==null){\r\n                return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);\r\n            }\r\n            return ResponseEntity.ok(itemParamItem);\r\n        } catch (Exception e) {\r\n            logger.error(\"根据itemId查询商品规格参数出错，服务器傲娇了 itemId = {}\",itemId,e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n    }\r\n\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/resources/log4j.properties",
    "content": "log4j.rootLogger=DEBUG,A1\r\nlog4j.logger.com.migo = DEBUG\r\nlog4j.logger.org.mybatis = DEBUG\r\n\r\nlog4j.appender.A1=org.apache.log4j.ConsoleAppender\r\nlog4j.appender.A1.layout=org.apache.log4j.PatternLayout\r\nlog4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n"
  },
  {
    "path": "migo-manage/manage-web/src/main/resources/mybatis/mybatis-config.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!DOCTYPE configuration\r\n        PUBLIC \"-//mybatis.org//DTD Config 3.0//EN\"\r\n        \"http://mybatis.org/dtd/mybatis-3-config.dtd\">\r\n<configuration>\r\n\r\n    <settings>\r\n        <!-- Globally enables or disables any caches configured in any mapper under this configuration -->\r\n        <setting name=\"cacheEnabled\" value=\"true\"/>\r\n        <!-- Sets the number of seconds the driver will wait for a response from the database -->\r\n        <setting name=\"defaultStatementTimeout\" value=\"3000\"/>\r\n        <!-- Enables automatic mapping from classic database column names A_COLUMN to camel case classic Java property names aColumn -->\r\n        <setting name=\"mapUnderscoreToCamelCase\" value=\"true\"/>\r\n        <!-- Allows JDBC support for generated keys. A compatible driver is required.\r\n        This setting forces generated keys to be used if set to true,\r\n         as some drivers deny compatibility but still work -->\r\n        <setting name=\"useGeneratedKeys\" value=\"true\"/>\r\n    </settings>\r\n\r\n    <!-- Continue going here -->\r\n    <!--<plugins>\r\n        &lt;!&ndash; 配置分页助手 &ndash;&gt;\r\n        <plugin interceptor=\"com.github.pagehelper.PageHelper\">\r\n            <property name=\"dialect\" value=\"mysql\" />\r\n\r\n            &lt;!&ndash; 该参数默认为false &ndash;&gt;\r\n            &lt;!&ndash; 设置为true时，会将RowBounds第一个参数offset当成pageNum页码使用 &ndash;&gt;\r\n            &lt;!&ndash; 和startPage中的pageNum效果一样&ndash;&gt;\r\n            <property name=\"offsetAsPageNum\" value=\"true\"/>\r\n            &lt;!&ndash; 该参数默认为false &ndash;&gt;\r\n            &lt;!&ndash; 设置为true时，使用RowBounds分页会进行count查询 &ndash;&gt;\r\n            <property name=\"rowBoundsWithCount\" value=\"true\"/>\r\n            &lt;!&ndash; 设置为true时，如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 &ndash;&gt;\r\n            &lt;!&ndash; （相当于没有执行分页查询，但是返回结果仍然是Page类型）&ndash;&gt;\r\n            <property name=\"pageSizeZero\" value=\"true\"/>\r\n            &lt;!&ndash; 3.3.0版本可用 - 分页参数合理化，默认false禁用 &ndash;&gt;\r\n            &lt;!&ndash; 启用合理化时，如果pageNum<1会查询第一页，如果pageNum>pages会查询最后一页 &ndash;&gt;\r\n            &lt;!&ndash; 禁用合理化时，如果pageNum<1或pageNum>pages会返回空数据 &ndash;&gt;\r\n            <property name=\"reasonable\" value=\"false\"/>\r\n        </plugin>\r\n\r\n\r\n\r\n    </plugins>-->\r\n\r\n</configuration>"
  },
  {
    "path": "migo-manage/manage-web/src/main/resources/properties/client.properties",
    "content": "tracker_server=192.168.42.129:22122"
  },
  {
    "path": "migo-manage/manage-web/src/main/resources/properties/db.properties",
    "content": "jdbc.driver=com.mysql.jdbc.Driver\r\njdbc.url=jdbc:mysql://localhost:3306/migo2?characterEncoding=utf-8\r\njdbc.username=root\r\njdbc.password=123\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/resources/properties/env.properties",
    "content": "#图片服务器根URL\r\nIMAGE_SERVER_BASE_URL=http://pic.migo.com/\r\n\r\nREDIS_KEY = MIGO_MANAGE\r\nREDIS_TIME = 2592000"
  },
  {
    "path": "migo-manage/manage-web/src/main/resources/spring/applicationContext-dao.xml",
    "content": "<beans xmlns=\"http://www.springframework.org/schema/beans\"\r\n       xmlns:context=\"http://www.springframework.org/schema/context\" xmlns:p=\"http://www.springframework.org/schema/p\"\r\n       xmlns:aop=\"http://www.springframework.org/schema/aop\" xmlns:tx=\"http://www.springframework.org/schema/tx\"\r\n       xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n       xsi:schemaLocation=\"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd\r\n\thttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd\r\n\thttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd\r\n\thttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd\">\r\n    <!-- 数据库连接池 -->\r\n    <!-- 加载配置文件 -->\r\n    <context:property-placeholder location=\"classpath:properties/*.properties\" />\r\n    <!-- 数据库连接池 -->\r\n    <bean id=\"dataSource\" class=\"com.alibaba.druid.pool.DruidDataSource\"\r\n          destroy-method=\"close\">\r\n        <property name=\"url\" value=\"${jdbc.url}\" />\r\n        <property name=\"username\" value=\"${jdbc.username}\" />\r\n        <property name=\"password\" value=\"${jdbc.password}\" />\r\n        <property name=\"driverClassName\" value=\"${jdbc.driver}\" />\r\n        <property name=\"maxActive\" value=\"10\" />\r\n        <property name=\"minIdle\" value=\"5\" />\r\n    </bean>\r\n    <!-- 配置mybatis的SessionFactory -->\r\n    <bean id=\"sqlSessionFactory\" class=\"org.mybatis.spring.SqlSessionFactoryBean\">\r\n        <property name=\"dataSource\" ref=\"dataSource\"/>\r\n        <!--<property name=\"mapperLocations\" value=\"classpath:/mybatis/mappers/**/*.xml\"/>-->\r\n        <property name=\"typeAliasesPackage\" value=\"com.migo.pojo\"/>\r\n        <property name=\"plugins\">\r\n            <array>\r\n                <bean class=\"com.github.pagehelper.PageHelper\">\r\n                    <!-- 这里的几个配置主要演示如何使用，如果不理解，一定要去掉下面的配置 -->\r\n                    <property name=\"properties\">\r\n                        <value>\r\n                            dialect=mysql\r\n                            <!--! 3.3.0版本可用 - 分页参数合理化，默认false禁用-->\r\n                            <!-- 启用合理化时，如果pageNum<1会查询第一页，如果pageNum>pages会查询最后一页 -->\r\n                            <!-- 禁用合理化时，如果pageNum<1或pageNum>pages会返回空数据 -->\r\n                            reasonable=true\r\n                            supportMethodsArguments=true\r\n                            params=count=countSql\r\n                            autoRuntimeDialect=true\r\n                        </value>\r\n                    </property>\r\n                </bean>\r\n            </array>\r\n        </property>\r\n\r\n    </bean>\r\n\r\n    <!-- 自动扫描注册Mybatis mapper -->\r\n    <bean class=\"tk.mybatis.spring.mapper.MapperScannerConfigurer\">\r\n        <property name=\"basePackage\" value=\"com.migo.mapper\"/>\r\n        <property name=\"sqlSessionFactoryBeanName\" value=\"sqlSessionFactory\"/>\r\n        <!--下面这个配置可以不写，默认就是这个-->\r\n        <property name=\"properties\">\r\n            <value>\r\n                mappers=tk.mybatis.mapper.common.Mapper\r\n            </value>\r\n        </property>\r\n    </bean>\r\n\r\n\r\n</beans>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/resources/spring/applicationContext-service.xml",
    "content": "<beans xmlns=\"http://www.springframework.org/schema/beans\"\r\n       xmlns:context=\"http://www.springframework.org/schema/context\" xmlns:p=\"http://www.springframework.org/schema/p\"\r\n       xmlns:aop=\"http://www.springframework.org/schema/aop\" xmlns:tx=\"http://www.springframework.org/schema/tx\"\r\n       xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n       xsi:schemaLocation=\"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd\r\n\thttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd\r\n\thttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd\r\n\thttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd\">\r\n    <!-- 配置包扫描器 -->\r\n    <context:component-scan base-package=\"com.migo.service\"/>\r\n    <!-- 配置redis客户端单机版 -->\r\n    <bean id=\"jedisPool\" class=\"redis.clients.jedis.JedisPool\">\r\n        <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n        <constructor-arg name=\"port\" value=\"6379\"/>\r\n    </bean>\r\n    <!-- 配置redis客户端实现类 -->\r\n    <bean id=\"jedisClientSingle\" class=\"com.migo.service.impl.JedisClientSingle\"/>\r\n    <!-- 配置redis客户端集群版 -->\r\n    <!--<bean id=\"jedisCluster\" class=\"redis.clients.jedis.JedisCluster\">\r\n       <constructor-arg>\r\n           <set>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7001\"/>\r\n               </bean>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7002\"/>\r\n               </bean>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7003\"/>\r\n               </bean>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7004\"/>\r\n               </bean>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7005\"/>\r\n               </bean>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7006\"/>\r\n               </bean>\r\n           </set>\r\n       </constructor-arg>\r\n   </bean>\r\n   <bean id=\"jedisClientCluster\" class=\"com.migo.service.impl.JedisClientCluster\"/>-->\r\n\r\n</beans>"
  },
  {
    "path": "migo-manage/manage-web/src/main/resources/spring/applicationContext-trans.xml",
    "content": "<beans xmlns=\"http://www.springframework.org/schema/beans\"\r\n       xmlns:context=\"http://www.springframework.org/schema/context\" xmlns:p=\"http://www.springframework.org/schema/p\"\r\n       xmlns:aop=\"http://www.springframework.org/schema/aop\" xmlns:tx=\"http://www.springframework.org/schema/tx\"\r\n       xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n       xsi:schemaLocation=\"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd\r\n\thttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd\r\n\thttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd\r\n\thttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd\">\r\n\r\n    <!-- 定义事务管理器 -->\r\n    <bean id=\"transactionManager\"\r\n          class=\"org.springframework.jdbc.datasource.DataSourceTransactionManager\">\r\n        <property name=\"dataSource\" ref=\"dataSource\" />\r\n    </bean>\r\n\r\n    <!-- 定义事务策略 -->\r\n    <tx:advice id=\"txAdvice\" transaction-manager=\"transactionManager\">\r\n        <tx:attributes>\r\n            <!--所有以query开头的方法都是只读的 -->\r\n            <tx:method name=\"query*\" read-only=\"true\" />\r\n            <!--其他方法使用默认事务策略 -->\r\n            <tx:method name=\"*\" />\r\n        </tx:attributes>\r\n    </tx:advice>\r\n    <!-- 切面 -->\r\n    <aop:config>\r\n        <aop:advisor advice-ref=\"txAdvice\"\r\n                     pointcut=\"execution(* com.migo.service.*.*(..))\" />\r\n    </aop:config>\r\n\r\n\r\n\r\n</beans>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/resources/spring/springmvc.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<beans xmlns=\"http://www.springframework.org/schema/beans\"\r\n       xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:p=\"http://www.springframework.org/schema/p\"\r\n       xmlns:context=\"http://www.springframework.org/schema/context\"\r\n       xmlns:mvc=\"http://www.springframework.org/schema/mvc\"\r\n       xsi:schemaLocation=\"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd\r\n        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd\r\n        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd\">\r\n\r\n    <context:component-scan base-package=\"com.migo.controller\" />\r\n    <!-- 加载配置文件 -->\r\n    <context:property-placeholder location=\"classpath:properties/*.properties\" />\r\n    <mvc:annotation-driven>\r\n        <mvc:message-converters>\r\n            <bean class=\"com.migo.messageconverter.CallbackMappingJackson2HttpMessageConverter\">\r\n                <property name=\"callbackName\" value=\"callback\"/>\r\n            </bean>\r\n        </mvc:message-converters>\r\n    </mvc:annotation-driven>\r\n    <bean\r\n            class=\"org.springframework.web.servlet.view.InternalResourceViewResolver\">\r\n        <property name=\"prefix\" value=\"/WEB-INF/views/\" />\r\n        <property name=\"suffix\" value=\".jsp\" />\r\n    </bean>\r\n\r\n    <!-- 配置多媒体解析器 -->\r\n    <bean id=\"multipartResolver\"\r\n          class=\"org.springframework.web.multipart.commons.CommonsMultipartResolver\">\r\n        <!-- 设定默认编码 -->\r\n        <property name=\"defaultEncoding\" value=\"UTF-8\"/>\r\n        <!-- 设定文件上传的最大值5MB，5*1024*1024 -->\r\n        <property name=\"maxUploadSize\" value=\"5242880\"/>\r\n    </bean>\r\n\r\n</beans>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/WEB-INF/views/content-add.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<link href=\"/js/kindeditor-4.1.10/themes/default/default.css\" type=\"text/css\" rel=\"stylesheet\">\r\n<script type=\"text/javascript\" charset=\"utf-8\" src=\"/js/kindeditor-4.1.10/kindeditor-all-min.js\"></script>\r\n<script type=\"text/javascript\" charset=\"utf-8\" src=\"/js/kindeditor-4.1.10/lang/zh_CN.js\"></script>\r\n<div style=\"padding:10px 10px 10px 10px\">\r\n\t<form id=\"contentAddForm\" class=\"itemForm\" method=\"post\">\r\n\t\t<input type=\"hidden\" name=\"categoryId\"/>\r\n\t    <table cellpadding=\"5\">\r\n\t        <tr>\r\n\t            <td>内容标题:</td>\r\n\t            <td><input class=\"easyui-textbox\" type=\"text\" name=\"title\" data-options=\"required:true\" style=\"width: 280px;\"></input></td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>内容子标题:</td>\r\n\t            <td><input class=\"easyui-textbox\" type=\"text\" name=\"subTitle\" style=\"width: 280px;\"></input></td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>内容描述:</td>\r\n\t            <td><input class=\"easyui-textbox\" name=\"titleDesc\" data-options=\"multiline:true,validType:'length[0,150]'\" style=\"height:60px;width: 280px;\"></input>\r\n\t            </td>\r\n\t        </tr>\r\n\t         <tr>\r\n\t            <td>URL:</td>\r\n\t            <td><input class=\"easyui-textbox\" type=\"text\" name=\"url\" style=\"width: 280px;\"></input></td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>图片:</td>\r\n\t            <td>\r\n\t                <input type=\"hidden\" name=\"pic\" />\r\n\t                <a href=\"javascript:void(0)\" class=\"easyui-linkbutton onePicUpload\">图片上传</a>\r\n\t            </td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>图片2:</td>\r\n\t            <td>\r\n\t            \t<input type=\"hidden\" name=\"pic2\" />\r\n\t            \t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton onePicUpload\">图片上传</a>\r\n\t            </td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>内容:</td>\r\n\t            <td>\r\n\t                <textarea style=\"width:800px;height:300px;visibility:hidden;\" name=\"content\"></textarea>\r\n\t            </td>\r\n\t        </tr>\r\n\t    </table>\r\n\t</form>\r\n\t<div style=\"padding:5px\">\r\n\t    <a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"contentAddPage.submitForm()\">提交</a>\r\n\t    <a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"contentAddPage.clearForm()\">重置</a>\r\n\t</div>\r\n</div>\r\n<script type=\"text/javascript\">\r\n\tvar contentAddEditor ;\r\n\t$(function(){\r\n\t\tcontentAddEditor = TT.createEditor(\"#contentAddForm [name=content]\");\r\n\t\tTT.initOnePicUpload();\r\n\t\t$(\"#contentAddForm [name=categoryId]\").val($(\"#contentCategoryTree\").tree(\"getSelected\").id);\r\n\t});\r\n\t\r\n\tvar contentAddPage  = {\r\n\t\t\tsubmitForm : function (){\r\n\t\t\t\tif(!$('#contentAddForm').form('validate')){\r\n\t\t\t\t\t$.messager.alert('提示','表单还未填写完成!');\r\n\t\t\t\t\treturn ;\r\n\t\t\t\t}\r\n\t\t\t\tcontentAddEditor.sync();\r\n\t\t\t\t\r\n\t\t\t\t/* $.post(\"/rest/content/save\",$(\"#contentAddForm\").serialize(), function(data){\r\n\t\t\t\t\tif(data.status == 200){\r\n\t\t\t\t\t\t$.messager.alert('提示','新增内容成功!');\r\n    \t\t\t\t\t$(\"#contentList\").datagrid(\"reload\");\r\n    \t\t\t\t\tTT.closeCurrentWindow();\r\n\t\t\t\t\t}\r\n\t\t\t\t}); */\r\n\t\t\t\t\r\n\t\t\t\t//提交到后台的RESTful\r\n\t\t\t\t$.ajax({\r\n\t\t\t\t   type: \"POST\",\r\n\t\t\t\t   url: \"/rest/content\",\r\n\t\t\t\t   data: $(\"#contentAddForm\").serialize(),\r\n\t\t\t\t   statusCode : {\r\n\t\t\t\t\t   201 : function(){\r\n\t\t\t\t\t\t$.messager.alert('提示','新增内容成功!');\r\n   \t\t\t\t\t\t$(\"#contentList\").datagrid(\"reload\");\r\n   \t\t\t\t\t\tTT.closeCurrentWindow();\r\n\t\t\t\t\t   },\r\n\t\t\t\t\t   500 : function(){\r\n\t\t\t\t\t\t    $.messager.alert('提示','新增内容失败!');\r\n\t\t\t\t\t   }\r\n\t\t\t\t   }\r\n\t\t\t\t  \r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tclearForm : function(){\r\n\t\t\t\t$('#contentAddForm').form('reset');\r\n\t\t\t\tcontentAddEditor.html('');\r\n\t\t\t}\r\n\t};\r\n</script>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/WEB-INF/views/content-category.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<div>\r\n\t <ul id=\"contentCategory\" class=\"easyui-tree\">\r\n    </ul>\r\n</div>\r\n<div id=\"contentCategoryMenu\" class=\"easyui-menu\" style=\"width:120px;\" data-options=\"onClick:menuHandler\">\r\n    <div data-options=\"iconCls:'icon-add',name:'add'\">添加</div>\r\n    <div data-options=\"iconCls:'icon-remove',name:'rename'\">重命名</div>\r\n    <div class=\"menu-sep\"></div>\r\n    <div data-options=\"iconCls:'icon-remove',name:'delete'\">删除</div>\r\n</div>\r\n<script type=\"text/javascript\">\r\n$(function(){\r\n\t$(\"#contentCategory\").tree({\r\n\t\turl : '/rest/content/category',\r\n\t\tanimate: true,\r\n\t\tmethod : \"GET\",\r\n\t\tonContextMenu: function(e,node){\r\n            e.preventDefault();\r\n            $(this).tree('select',node.target);\r\n            $('#contentCategoryMenu').menu('show',{\r\n                left: e.pageX,\r\n                top: e.pageY\r\n            });\r\n        },\r\n        onAfterEdit : function(node){\r\n        \tvar _tree = $(this);\r\n        \tif(node.id == 0){\r\n        \t\t// 新增节点\r\n        \t\t$.post(\"/rest/content/category\",{parentId:node.parentId,name:node.text},function(data){\r\n        \t\t\t_tree.tree(\"update\",{\r\n        \t\t\t\ttarget : node.target,\r\n        \t\t\t\tid : data.id\r\n        \t\t\t});\r\n        \t\t});\r\n        \t}else{\r\n        \t\t$.ajax({\r\n        \t\t\t   type: \"PUT\",\r\n        \t\t\t   url: \"/rest/content/category\",\r\n        \t\t\t   data: {id:node.id,name:node.text},\r\n        \t\t\t   success: function(msg){\r\n        \t\t\t\t   //$.messager.alert('提示','新增商品成功!');\r\n        \t\t\t   },\r\n        \t\t\t   error: function(){\r\n        \t\t\t\t   $.messager.alert('提示','重命名失败!');\r\n        \t\t\t   }\r\n        \t\t\t});\r\n        \t}\r\n        }\r\n\t});\r\n});\r\nfunction menuHandler(item){\r\n\tvar tree = $(\"#contentCategory\");\r\n\tvar node = tree.tree(\"getSelected\");\r\n\tif(item.name === \"add\"){\r\n\t\ttree.tree('append', {\r\n            parent: (node?node.target:null),\r\n            data: [{\r\n                text: '新建分类',\r\n                id : 0,\r\n                parentId : node.id\r\n            }]\r\n        }); \r\n\t\tvar _node = tree.tree('find',0);\r\n\t\ttree.tree(\"select\",_node.target).tree('beginEdit',_node.target);\r\n\t}else if(item.name === \"rename\"){\r\n\t\ttree.tree('beginEdit',node.target);\r\n\t}else if(item.name === \"delete\"){\r\n\t\t$.messager.confirm('确认','确定删除名为 '+node.text+' 的分类吗？',function(r){\r\n\t\t\tif(r){\r\n\t\t\t\t$.ajax({\r\n     \t\t\t   type: \"POST\",\r\n     \t\t\t   url: \"/rest/content/category\",\r\n     \t\t\t   data : {parentId:node.parentId,id:node.id,\"_method\":\"DELETE\"},\r\n     \t\t\t   success: function(msg){\r\n     \t\t\t\t   //$.messager.alert('提示','新增商品成功!');\r\n     \t\t\t\t  tree.tree(\"remove\",node.target);\r\n     \t\t\t   },\r\n     \t\t\t   error: function(){\r\n     \t\t\t\t   $.messager.alert('提示','删除失败!');\r\n     \t\t\t   }\r\n     \t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n</script>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/WEB-INF/views/content-edit.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<link href=\"/js/kindeditor-4.1.10/themes/default/default.css\" type=\"text/css\" rel=\"stylesheet\">\r\n<script type=\"text/javascript\" charset=\"utf-8\" src=\"/js/kindeditor-4.1.10/kindeditor-all-min.js\"></script>\r\n<script type=\"text/javascript\" charset=\"utf-8\" src=\"/js/kindeditor-4.1.10/lang/zh_CN.js\"></script>\r\n<div style=\"padding:10px 10px 10px 10px\">\r\n\t<form id=\"contentEditForm\" class=\"itemForm\" method=\"post\">\r\n\t\t<input type=\"hidden\" name=\"categoryId\"/>\r\n\t\t<input type=\"hidden\" name=\"id\"/>\r\n\t    <table cellpadding=\"5\">\r\n\t        <tr>\r\n\t            <td>内容标题:</td>\r\n\t            <td><input class=\"easyui-textbox\" type=\"text\" name=\"title\" data-options=\"required:true\" style=\"width: 280px;\"></input></td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>内容子标题:</td>\r\n\t            <td><input class=\"easyui-textbox\" type=\"text\" name=\"subTitle\" style=\"width: 280px;\"></input></td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>内容描述:</td>\r\n\t            <td><input class=\"easyui-textbox\" name=\"titleDesc\" data-options=\"multiline:true,validType:'length[0,150]'\" style=\"height:60px;width: 280px;\"></input>\r\n\t            </td>\r\n\t        </tr>\r\n\t         <tr>\r\n\t            <td>URL:</td>\r\n\t            <td><input class=\"easyui-textbox\" type=\"text\" name=\"url\" style=\"width: 280px;\"></input></td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>图片:</td>\r\n\t            <td>\r\n\t                <input type=\"hidden\" name=\"pic\" />\r\n\t                <a href=\"javascript:void(0)\" class=\"easyui-linkbutton onePicUpload\">图片上传</a>\r\n\t            </td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>图片2:</td>\r\n\t            <td>\r\n\t            \t<input type=\"hidden\" name=\"pic2\" />\r\n\t            \t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton onePicUpload\">图片上传</a>\r\n\t            </td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>内容:</td>\r\n\t            <td>\r\n\t                <textarea style=\"width:800px;height:300px;visibility:hidden;\" name=\"content\"></textarea>\r\n\t            </td>\r\n\t        </tr>\r\n\t    </table>\r\n\t</form>\r\n\t<div style=\"padding:5px\">\r\n\t    <a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"contentEditPage.submitForm()\">提交</a>\r\n\t    <a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"contentEditPage.clearForm()\">重置</a>\r\n\t</div>\r\n</div>\r\n<script type=\"text/javascript\">\r\nvar contentEditEditor ;\r\n$(function(){\r\n\tcontentEditEditor = TT.createEditor(\"#contentEditForm [name=content]\");\r\n\tTT.initOnePicUpload();\r\n});\r\n\r\nvar contentEditPage = {\r\n\t\tsubmitForm : function(){\r\n\t\t\tif(!$('#contentEditForm').form('validate')){\r\n\t\t\t\t$.messager.alert('提示','表单还未填写完成!');\r\n\t\t\t\treturn ;\r\n\t\t\t}\r\n\t\t\tcontentEditEditor.sync();\r\n\t\t\t\r\n\t\t\t$.post(\"/rest/content/edit\",$(\"#contentEditForm\").serialize(), function(data){\r\n\t\t\t\tif(data.status == 200){\r\n\t\t\t\t\t$.messager.alert('提示','新增内容成功!');\r\n\t\t\t\t\t$(\"#contentList\").datagrid(\"reload\");\r\n\t\t\t\t\tTT.closeCurrentWindow();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\tclearForm : function(){\r\n\t\t\t\r\n\t\t}\r\n};\r\n\r\n</script>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/WEB-INF/views/content.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<div class=\"easyui-panel\" title=\"Nested Panel\" data-options=\"width:'100%',minHeight:500,noheader:true,border:false\" style=\"padding:10px;\">\r\n    <div class=\"easyui-layout\" data-options=\"fit:true\">\r\n        <div data-options=\"region:'west',split:false\" style=\"width:250px;padding:5px\">\r\n            <ul id=\"contentCategoryTree\" class=\"easyui-tree\" data-options=\"url:'/rest/content/category',animate: true,method : 'GET'\">\r\n            </ul>\r\n        </div>\r\n        <div data-options=\"region:'center'\" style=\"padding:5px\">\r\n            <table class=\"easyui-datagrid\" id=\"contentList\" data-options=\"toolbar:contentListToolbar,singleSelect:false,collapsible:true,pagination:true,method:'get',pageSize:20,url:'/rest/content',queryParams:{categoryId:0}\">\r\n\t\t    <thead>\r\n\t\t        <tr>\r\n\t\t            <th data-options=\"field:'id',width:30\">ID</th>\r\n\t\t            <th data-options=\"field:'title',width:120\">内容标题</th>\r\n\t\t            <th data-options=\"field:'subTitle',width:100\">内容子标题</th>\r\n\t\t            <th data-options=\"field:'titleDesc',width:120\">内容描述</th>\r\n\t\t            <th data-options=\"field:'url',width:60,align:'center',formatter:migo.formatUrl\">内容连接</th>\r\n\t\t            <th data-options=\"field:'pic',width:50,align:'center',formatter:migo.formatUrl\">图片</th>\r\n\t\t            <th data-options=\"field:'pic2',width:50,align:'center',formatter:migo.formatUrl\">图片2</th>\r\n\t\t            <th data-options=\"field:'created',width:130,align:'center',formatter:migo.formatDateTime\">创建日期</th>\r\n\t\t            <th data-options=\"field:'updated',width:130,align:'center',formatter:migo.formatDateTime\">更新日期</th>\r\n\t\t        </tr>\r\n\t\t    </thead>\r\n\t\t</table>\r\n        </div>\r\n    </div>\r\n</div>\r\n<script type=\"text/javascript\">\r\n$(function(){\r\n\tvar tree = $(\"#contentCategoryTree\");\r\n\tvar datagrid = $(\"#contentList\");\r\n\ttree.tree({\r\n\t\tonClick : function(node){\r\n\t\t\tif(tree.tree(\"isLeaf\",node.target)){\r\n\t\t\t\tdatagrid.datagrid('reload', {\r\n\t\t\t\t\tcategoryId :node.id\r\n\t\t        });\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n});\r\nvar contentListToolbar = [{\r\n    text:'新增',\r\n    iconCls:'icon-add',\r\n    handler:function(){\r\n    \tvar node = $(\"#contentCategoryTree\").tree(\"getSelected\");\r\n    \tif(!node || !$(\"#contentCategoryTree\").tree(\"isLeaf\",node.target)){\r\n    \t\t$.messager.alert('提示','新增内容必须选择一个内容分类!');\r\n    \t\treturn ;\r\n    \t}\r\n    \tTT.createWindow({\r\n\t\t\turl : \"/rest/page/content-add\"\r\n\t\t}); \r\n    }\r\n},{\r\n    text:'编辑',\r\n    iconCls:'icon-edit',\r\n    handler:function(){\r\n    \tvar ids = TT.getSelectionsIds(\"#contentList\");\r\n    \tif(ids.length == 0){\r\n    \t\t$.messager.alert('提示','必须选择一个内容才能编辑!');\r\n    \t\treturn ;\r\n    \t}\r\n    \tif(ids.indexOf(',') > 0){\r\n    \t\t$.messager.alert('提示','只能选择一个内容!');\r\n    \t\treturn ;\r\n    \t}\r\n\t\tTT.createWindow({\r\n\t\t\turl : \"/rest/page/content-edit\",\r\n\t\t\tonLoad : function(){\r\n\t\t\t\tvar data = $(\"#contentList\").datagrid(\"getSelections\")[0];\r\n\t\t\t\t$(\"#contentEditForm\").form(\"load\",data);\r\n\t\t\t\t\r\n\t\t\t\t// 实现图片\r\n\t\t\t\tif(data.pic){\r\n\t\t\t\t\t$(\"#contentEditForm [name=pic]\").after(\"<a href='\"+data.pic+\"' target='_blank'><img src='\"+data.pic+\"' width='80' height='50'/></a>\");\t\r\n\t\t\t\t}\r\n\t\t\t\tif(data.pic2){\r\n\t\t\t\t\t$(\"#contentEditForm [name=pic2]\").after(\"<a href='\"+data.pic2+\"' target='_blank'><img src='\"+data.pic2+\"' width='80' height='50'/></a>\");\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tcontentEditEditor.html(data.content);\r\n\t\t\t}\r\n\t\t});    \t\r\n    }\r\n},{\r\n    text:'删除',\r\n    iconCls:'icon-cancel',\r\n    handler:function(){\r\n    \tvar ids = TT.getSelectionsIds(\"#contentList\");\r\n    \tif(ids.length == 0){\r\n    \t\t$.messager.alert('提示','未选中商品!');\r\n    \t\treturn ;\r\n    \t}\r\n    \t$.messager.confirm('确认','确定删除ID为 '+ids+' 的内容吗？',function(r){\r\n    \t    if (r){\r\n    \t    \tvar params = {\"ids\":ids};\r\n            \t$.post(\"/rest/content/delete\",params, function(data){\r\n        \t\t\tif(data.status == 200){\r\n        \t\t\t\t$.messager.alert('提示','删除内容成功!',undefined,function(){\r\n        \t\t\t\t\t$(\"#contentList\").datagrid(\"reload\");\r\n        \t\t\t\t});\r\n        \t\t\t}\r\n        \t\t});\r\n    \t    }\r\n    \t});\r\n    }\r\n}];\r\n</script>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/WEB-INF/views/file-upload.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<!DOCTYPE HTML>\r\n<html lang=\"en\">\r\n<head>\r\n<!-- Force latest IE rendering engine or ChromeFrame if installed -->\r\n<!--[if IE]>\r\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\r\n<![endif]-->\r\n<meta charset=\"utf-8\">\r\n<title>jQuery File Upload Demo</title>\r\n<meta name=\"description\" content=\"File Upload widget with multiple file selection, drag&amp;drop support, progress bars, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<!-- Bootstrap styles -->\r\n<link rel=\"stylesheet\" href=\"/js/file-upload/bootstrap-3.2.0/css/bootstrap.min.css\">\r\n<!-- Generic page styles -->\r\n<link rel=\"stylesheet\" href=\"/js/file-upload/css/style.css\">\r\n<!-- blueimp Gallery styles -->\r\n<link rel=\"stylesheet\" href=\"/js/file-upload/gallery/css/blueimp-gallery.min.css\">\r\n<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->\r\n<link rel=\"stylesheet\" href=\"/js/file-upload/css/jquery.fileupload.css\">\r\n<link rel=\"stylesheet\" href=\"/js/file-upload/css/jquery.fileupload-ui.css\">\r\n<!-- CSS adjustments for browsers with JavaScript disabled -->\r\n<noscript><link rel=\"stylesheet\" href=\"/js/file-upload/css/jquery.fileupload-noscript.css\"></noscript>\r\n<noscript><link rel=\"stylesheet\" href=\"/js/file-upload/css/jquery.fileupload-ui-noscript.css\"></noscript>\r\n</head>\r\n<body>\r\n<div class=\"container\">\r\n    <form id=\"fileupload\" action=\"/rest/pic/upload\" method=\"POST\" enctype=\"multipart/form-data\">\r\n        <!-- Redirect browsers with JavaScript disabled to the origin page -->\r\n        <noscript><input type=\"hidden\" name=\"redirect\" value=\"https://blueimp.github.io/jQuery-File-Upload/\"></noscript>\r\n        <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->\r\n        <div class=\"row fileupload-buttonbar\">\r\n            <div class=\"col-lg-7\">\r\n                <!-- The fileinput-button span is used to style the file input field as button -->\r\n                <span class=\"btn btn-success fileinput-button\">\r\n                    <i class=\"glyphicon glyphicon-plus\"></i>\r\n                    <span>选择文件(多选)</span>\r\n                    <input type=\"file\" name=\"files\" multiple>\r\n                </span>\r\n                <button type=\"submit\" class=\"btn btn-primary start\">\r\n                    <i class=\"glyphicon glyphicon-upload\"></i>\r\n                    <span>开始上传</span>\r\n                </button>\r\n                <button type=\"reset\" class=\"btn btn-warning cancel\">\r\n                    <i class=\"glyphicon glyphicon-ban-circle\"></i>\r\n                    <span>取消上传</span>\r\n                </button>\r\n                <button type=\"button\" class=\"btn btn-danger delete\">\r\n                    <i class=\"glyphicon glyphicon-trash\"></i>\r\n                    <span>删除</span>\r\n                </button> \r\n                <input type=\"checkbox\" class=\"toggle\" title=\"全选\">\r\n                <!-- The global file processing state -->\r\n                <span class=\"fileupload-process\"></span>\r\n            </div>\r\n            <!-- The global progress state -->\r\n            <div class=\"col-lg-5 fileupload-progress fade\">\r\n                <!-- The global progress bar -->\r\n                <div class=\"progress progress-striped active\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\">\r\n                    <div class=\"progress-bar progress-bar-success\" style=\"width:0%;\"></div>\r\n                </div>\r\n                <!-- The extended global progress state -->\r\n                <div class=\"progress-extended\">&nbsp;</div>\r\n            </div>\r\n        </div>\r\n        <!-- The table listing the files available for upload/download -->\r\n        <table role=\"presentation\" class=\"table table-striped\"><tbody class=\"files\"></tbody></table>\r\n    </form>\r\n    <br>\r\n    <div class=\"panel panel-default\">\r\n        <div class=\"panel-heading\">\r\n            <h3 class=\"panel-title\">说明</h3>\r\n        </div>\r\n        <div class=\"panel-body\">\r\n            <ul>\r\n                <li>上传的文件大小限制为：<strong>5 MB</strong>.</li>\r\n                <li>只支持的文件格式为：<strong>JPG, GIF, PNG, BMP </strong>.</li>\r\n            </ul>\r\n        </div>\r\n    </div>\r\n</div>\r\n<!-- The blueimp Gallery widget -->\r\n<div id=\"blueimp-gallery\" class=\"blueimp-gallery blueimp-gallery-controls\" data-filter=\":even\">\r\n    <div class=\"slides\"></div>\r\n    <h3 class=\"title\"></h3>\r\n    <a class=\"prev\">‹</a>\r\n    <a class=\"next\">›</a>\r\n    <a class=\"close\">×</a>\r\n    <a class=\"play-pause\"></a>\r\n    <ol class=\"indicator\"></ol>\r\n</div>\r\n<!-- The template to display files available for upload -->\r\n<script id=\"template-upload\" type=\"text/x-tmpl\">\r\n{% for (var i=0, file; file=o.files[i]; i++) { %}\r\n    <tr class=\"template-upload fade\">\r\n        <td>\r\n            <span class=\"preview\"></span>\r\n        </td>\r\n        <td>\r\n            <p class=\"name\">{%=file.name%}</p>\r\n            <strong class=\"error text-danger\"></strong>\r\n        </td>\r\n        <td>\r\n            <p class=\"size\">Processing...</p>\r\n            <div class=\"progress progress-striped active\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-valuenow=\"0\"><div class=\"progress-bar progress-bar-success\" style=\"width:0%;\"></div></div>\r\n        </td>\r\n        <td>\r\n            {% if (!i && !o.options.autoUpload) { %}\r\n                <button class=\"btn btn-primary start\" disabled>\r\n                    <i class=\"glyphicon glyphicon-upload\"></i>\r\n                    <span>开始</span>\r\n                </button>\r\n            {% } %}\r\n            {% if (!i) { %}\r\n                <button class=\"btn btn-warning cancel\">\r\n                    <i class=\"glyphicon glyphicon-ban-circle\"></i>\r\n                    <span>取消</span>\r\n                </button>\r\n            {% } %}\r\n        </td>\r\n    </tr>\r\n{% } %}\r\n</script>\r\n<!-- The template to display files available for download -->\r\n<script id=\"template-download\" type=\"text/x-tmpl\">\r\n{% for (var i=0, file; file=o.files[i]; i++) { %}\r\n    <tr class=\"template-download fade\">\r\n        <td>\r\n            <span class=\"preview\">\r\n                {% if (file.url) { %}\r\n                    <a href=\"{%=file.url%}\" title=\"{%=file.name%}\" download=\"{%=file.name%}\" data-gallery><img width=\"80\" height=\"50\" src=\"{%=file.url%}\"></a>\r\n                {% } %}\r\n            </span>\r\n        </td>\r\n        <td>\r\n            <p class=\"name\">\r\n                {% if (file.url) { %}\r\n                    <a href=\"{%=file.url%}\" title=\"{%=file.name%}\" download=\"{%=file.name%}\" {%=file.url?'data-gallery':''%}>{%=file.name%}</a>\r\n                {% } else { %}\r\n                    <span>{%=file.name%}</span>\r\n                {% } %}\r\n            </p>\r\n            {% if (file.error) { %}\r\n                <div><span class=\"label label-danger\">Error</span> {%=file.error%}</div>\r\n            {% } %}\r\n        </td>\r\n        <td>\r\n            <span class=\"size\">{%=o.formatFileSize(file.size)%}</span>\r\n        </td>\r\n        <td>\r\n            {% if (file.deleteUrl) { %}\r\n                <button class=\"btn btn-danger delete\" data-type=\"{%=file.deleteType%}\" data-url=\"{%=file.deleteUrl%}\"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{\"withCredentials\":true}'{% } %}>\r\n                    <i class=\"glyphicon glyphicon-trash\"></i>\r\n                    <span>Delete</span>\r\n                </button>\r\n                <input type=\"checkbox\" name=\"delete\" value=\"1\" class=\"toggle\">\r\n            {% } else { %}\r\n                <button class=\"btn btn-warning cancel\">\r\n                    <i class=\"glyphicon glyphicon-ban-circle\"></i>\r\n                    <span>Cancel</span>\r\n                </button>\r\n            {% } %}\r\n        </td>\r\n    </tr>\r\n{% } %}\r\n</script>\r\n<script src=\"/js/file-upload/jquery-1.11.1.min.js\"></script>\r\n<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->\r\n<script src=\"/js/file-upload/vendor/jquery.ui.widget.js\"></script>\r\n<!-- The Templates plugin is included to render the upload/download listings -->\r\n<script src=\"/js/file-upload/tmpl.min.js\"></script>\r\n<!-- The Load Image plugin is included for the preview images and image resizing functionality -->\r\n<script src=\"/js/file-upload/load-image.all.min.js\"></script>\r\n<!-- The Canvas to Blob plugin is included for image resizing functionality -->\r\n<script src=\"/js/file-upload/canvas-to-blob.min.js\"></script>\r\n<!-- Bootstrap JS is not required, but included for the responsive demo navigation -->\r\n<script src=\"/js/file-upload/bootstrap-3.2.0/js/bootstrap.min.js\"></script>\r\n<!-- blueimp Gallery script -->\r\n<script src=\"/js/file-upload/gallery/js/jquery.blueimp-gallery.min.js\"></script>\r\n<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->\r\n<script src=\"/js/file-upload/jquery.iframe-transport.js\"></script>\r\n<!-- The basic File Upload plugin -->\r\n<script src=\"/js/file-upload/jquery.fileupload.js\"></script>\r\n<!-- The File Upload processing plugin -->\r\n<script src=\"/js/file-upload/jquery.fileupload-process.js\"></script>\r\n<!-- The File Upload image preview & resize plugin -->\r\n<script src=\"/js/file-upload/jquery.fileupload-image.js\"></script>\r\n<!-- The File Upload audio preview plugin -->\r\n<script src=\"/js/file-upload/jquery.fileupload-audio.js\"></script>\r\n<!-- The File Upload video preview plugin -->\r\n<script src=\"/js/file-upload/jquery.fileupload-video.js\"></script>\r\n<!-- The File Upload validation plugin -->\r\n<script src=\"/js/file-upload/jquery.fileupload-validate.js\"></script>\r\n<!-- The File Upload user interface plugin -->\r\n<script src=\"/js/file-upload/jquery.fileupload-ui.js\"></script>\r\n<!-- The main application script -->\r\n<script src=\"/js/file-upload/main.js\"></script>\r\n<!-- The XDomainRequest Transport is included for cross-domain file deletion for IE 8 and IE 9 -->\r\n<!--[if (gte IE 8)&(lt IE 10)]>\r\n<script src=\"/js/file-upload/cors/jquery.xdr-transport.js\"></script>\r\n<![endif]-->\r\n</body> \r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/WEB-INF/views/index.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n\t<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n\t<html>\r\n\r\n\t<head>\r\n\t\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\r\n\t\t<title>咪购商城后台管理系统</title>\r\n\t\t<jsp:include page=\"/commons/common-js.jsp\"></jsp:include>\r\n\t\t<style type=\"text/css\">\r\n\t\t\t.content {\r\n\t\t\t\tpadding: 10px 10px 10px 10px;\r\n\t\t\t}\r\n\t\t</style>\r\n\t</head>\r\n\r\n\t<body class=\"easyui-layout\">\r\n\t\t<div data-options=\"region:'west',title:'菜单',split:true\" style=\"width:180px;\">\r\n\t\t\t<ul id=\"menu\" class=\"easyui-tree\" style=\"margin-top: 10px;margin-left: 5px;\">\r\n\t\t\t\t<li>\r\n\t\t\t\t\t<span>商品管理</span>\r\n\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t<li data-options=\"attributes:{'url':'/rest/page/item-add'}\">新增商品</li>\r\n\t\t\t\t\t\t<li data-options=\"attributes:{'url':'/rest/page/item-list'}\">查询商品</li>\r\n\t\t\t\t\t\t<li data-options=\"attributes:{'url':'/rest/page/item-param-list'}\">规格参数</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</li>\r\n\t\t\t\t<li>\r\n\t\t\t\t\t<span>网站内容管理</span>\r\n\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t<li data-options=\"attributes:{'url':'/rest/page/content-category'}\">内容分类管理</li>\r\n\t\t\t\t\t\t<li data-options=\"attributes:{'url':'/rest/page/content'}\">内容管理</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t\t<div data-options=\"region:'center',title:''\">\r\n\t\t\t<div id=\"tabs\" class=\"easyui-tabs\">\r\n\t\t\t\t<div title=\"首页\" style=\"padding:20px;\">\r\n\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<script type=\"text/javascript\">\r\n$(function(){\r\n\t$('#menu').tree({\r\n\t\tonClick: function(node){\r\n\t\t\tif($('#menu').tree(\"isLeaf\",node.target)){\r\n\t\t\t\tvar tabs = $(\"#tabs\");\r\n\t\t\t\tvar tab = tabs.tabs(\"getTab\",node.text);\r\n\t\t\t\tif(tab){\r\n\t\t\t\t\ttabs.tabs(\"select\",node.text);\r\n\t\t\t\t}else{\r\n\t\t\t\t\ttabs.tabs('add',{\r\n\t\t\t\t\t    title:node.text,\r\n\t\t\t\t\t    href: node.attributes.url,\r\n\t\t\t\t\t    closable:true,\r\n\t\t\t\t\t    bodyCls:\"content\"\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n});\r\n</script>\r\n\t</body>\r\n\r\n\t</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/WEB-INF/views/item-add.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<link href=\"/js/kindeditor-4.1.10/themes/default/default.css\" type=\"text/css\" rel=\"stylesheet\">\r\n<script type=\"text/javascript\" charset=\"utf-8\" src=\"/js/kindeditor-4.1.10/kindeditor-all-min.js\"></script>\r\n<script type=\"text/javascript\" charset=\"utf-8\" src=\"/js/kindeditor-4.1.10/lang/zh_CN.js\"></script>\r\n<div style=\"padding:10px 10px 10px 10px\">\r\n\t<form id=\"itemAddForm\" class=\"itemForm\" method=\"post\">\r\n\t    <table cellpadding=\"5\">\r\n\t        <tr>\r\n\t            <td>商品类目:</td>\r\n\t            <td>\r\n\t            \t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton selectItemCat\">选择类目</a>\r\n\t            \t<input type=\"hidden\" name=\"cid\" style=\"width: 280px;\"></input>\r\n\t            </td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>商品标题:</td>\r\n\t            <td><input class=\"easyui-textbox\" type=\"text\" name=\"title\" data-options=\"required:true\" style=\"width: 280px;\"></input></td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>商品卖点:</td>\r\n\t            <td><input class=\"easyui-textbox\" name=\"sellPoint\" data-options=\"multiline:true,validType:'length[0,150]'\" style=\"height:60px;width: 280px;\"></input></td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>商品价格:</td>\r\n\t            <td><input class=\"easyui-numberbox\" type=\"text\" name=\"priceView\" data-options=\"min:1,max:99999999,precision:2,required:true\" />\r\n\t            \t<input type=\"hidden\" name=\"price\"/>\r\n\t            </td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>库存数量:</td>\r\n\t            <td><input class=\"easyui-numberbox\" type=\"text\" name=\"num\" data-options=\"min:1,max:99999999,precision:0,required:true\" /></td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>条形码:</td>\r\n\t            <td>\r\n\t                <input class=\"easyui-textbox\" type=\"text\" name=\"barcode\" data-options=\"validType:'length[1,30]'\" />\r\n\t            </td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>商品图片:</td>\r\n\t            <td>\r\n\t            \t <a href=\"javascript:void(0)\" class=\"easyui-linkbutton picFileUpload\">上传图片</a>\r\n\t                 <input type=\"hidden\" name=\"image\"/>\r\n\t            </td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>商品描述:</td>\r\n\t            <td>\r\n\t                <textarea style=\"width:800px;height:300px;visibility:hidden;\" name=\"desc\"></textarea>\r\n\t            </td>\r\n\t        </tr>\r\n\t        <tr class=\"params hide\">\r\n\t        \t<td>商品规格:</td>\r\n\t        \t<td>\r\n\t        \t\t\r\n\t        \t</td>\r\n\t        </tr>\r\n\t    </table>\r\n\t    <input type=\"hidden\" name=\"itemParams\"/>\r\n\t</form>\r\n\t<div style=\"padding:5px\">\r\n\t    <a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"submitForm()\">提交</a>\r\n\t    <a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"clearForm()\">重置</a>\r\n\t</div>\r\n</div>\r\n<script type=\"text/javascript\">\r\n\tvar itemAddEditor ;\r\n\t$(function(){\r\n\t\titemAddEditor = migo.createEditor(\"#itemAddForm [name=desc]\");\r\n\t\tmigo.init({fun:function(node){\r\n\t\t\tmigo.changeItemParam(node, \"itemAddForm\");\r\n\t\t}});\r\n\t});\r\n\t\r\n\tfunction submitForm(){\r\n\t\tif(!$('#itemAddForm').form('validate')){\r\n\t\t\t$.messager.alert('提示','表单还未填写完成!');\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\t//处理商品的价格的单位，将元转化为分\r\n\t\t$(\"#itemAddForm [name=price]\").val(eval($(\"#itemAddForm [name=priceView]\").val()) * 100);\r\n\t\t//将编辑器中的内容同步到隐藏多行文本中\r\n\t\titemAddEditor.sync();\r\n\t\t\r\n\t\t//输入的规格参数数据保存为json\r\n\t\tvar paramJson = [];\r\n\t\t$(\"#itemAddForm .params li\").each(function(i,e){\r\n\t\t\tvar trs = $(e).find(\"tr\");\r\n\t\t\tvar group = trs.eq(0).text();\r\n\t\t\tvar ps = [];\r\n\t\t\tfor(var i = 1;i<trs.length;i++){\r\n\t\t\t\tvar tr = trs.eq(i);\r\n\t\t\t\tps.push({\r\n\t\t\t\t\t\"k\" : $.trim(tr.find(\"td\").eq(0).find(\"span\").text()),\r\n\t\t\t\t\t\"v\" : $.trim(tr.find(\"input\").val())\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tparamJson.push({\r\n\t\t\t\t\"group\" : group,\r\n\t\t\t\t\"params\": ps\r\n\t\t\t});\r\n\t\t});\r\n\t\tparamJson = JSON.stringify(paramJson);\r\n\t\t\r\n\t\t$(\"#itemAddForm [name=itemParams]\").val(paramJson);\r\n\t\t\r\n\t\t/*\r\n\t\t$.post(\"/rest/item/save\",$(\"#itemAddForm\").serialize(), function(data){\r\n\t\t\tif(data.status == 200){\r\n\t\t\t\t$.messager.alert('提示','新增商品成功!');\r\n\t\t\t}\r\n\t\t});\r\n\t\t*/\r\n\t\t\r\n\t\t//提交到后台的RESTful\r\n\t\t$.ajax({\r\n\t   type: \"POST\",\r\n\t   url: \"/rest/item\",\r\n\t   data: $(\"#itemAddForm\").serialize(),//表单序列化,不明白查api\r\n\t   statusCode : {\r\n\t\t\t   201 : function(){\r\n\t\t\t\t   $.messager.alert('提示','新增商品成功!');\r\n\t\t\t   },\r\n\t\t\t\t400 : function(){\r\n\t\t\t\t   $.messager.alert('提示','提交的参数不合法!');\r\n\t\t\t   },\r\n\t\t\t   500 : function(){\r\n\t\t\t\t   $.messager.alert('提示','新增商品失败!');\r\n\t\t\t   }\r\n\t\t   }\r\n\r\n\t});\r\n\t}\r\n\t\r\n\tfunction clearForm(){\r\n\t\t$('#itemAddForm').form('reset');\r\n\t\titemAddEditor.html('');\r\n\t}\r\n</script>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/WEB-INF/views/item-edit.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<link href=\"/js/kindeditor-4.1.10/themes/default/default.css\" type=\"text/css\" rel=\"stylesheet\">\r\n<script type=\"text/javascript\" charset=\"utf-8\" src=\"/js/kindeditor-4.1.10/kindeditor-all-min.js\"></script>\r\n<script type=\"text/javascript\" charset=\"utf-8\" src=\"/js/kindeditor-4.1.10/lang/zh_CN.js\"></script>\r\n<div style=\"padding:10px 10px 10px 10px\">\r\n\t<form id=\"itemeEditForm\" class=\"itemForm\" method=\"post\">\r\n\t\t<input type=\"hidden\" name=\"id\"/>\r\n\t    <table cellpadding=\"5\">\r\n\t        <tr>\r\n\t            <td>商品类目:</td>\r\n\t            <td>\r\n\t            \t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton selectItemCat\">选择类目</a>\r\n\t            \t<input type=\"hidden\" name=\"cid\" style=\"width: 280px;\"></input>\t\r\n\t            </td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>商品标题:</td>\r\n\t            <td><input class=\"easyui-textbox\" type=\"text\" name=\"title\" data-options=\"required:true\" style=\"width: 280px;\"></input></td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>商品卖点:</td>\r\n\t            <td><input class=\"easyui-textbox\" name=\"sellPoint\" data-options=\"multiline:true,validType:'length[0,150]'\" style=\"height:60px;width: 280px;\"></input></td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>商品价格:</td>\r\n\t            <td><input class=\"easyui-numberbox\" type=\"text\" name=\"priceView\" data-options=\"min:1,max:99999999,precision:2,required:true\" />\r\n\t            \t<input type=\"hidden\" name=\"price\"/>\r\n\t            </td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>库存数量:</td>\r\n\t            <td><input class=\"easyui-numberbox\" type=\"text\" name=\"num\" data-options=\"min:1,max:99999999,precision:0,required:true\" /></td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>条形码:</td>\r\n\t            <td>\r\n\t                <input class=\"easyui-textbox\" type=\"text\" name=\"barcode\" data-options=\"validType:'length[1,30]'\" />\r\n\t            </td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>商品图片:</td>\r\n\t            <td>\r\n\t            \t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton picFileUpload\">上传图片</a>\r\n\t                <input type=\"hidden\" name=\"image\"/>\r\n\t            </td>\r\n\t        </tr>\r\n\t        <tr>\r\n\t            <td>商品描述:</td>\r\n\t            <td>\r\n\t                <textarea style=\"width:800px;height:300px;visibility:hidden;\" name=\"desc\"></textarea>\r\n\t            </td>\r\n\t        </tr>\r\n\t        <tr class=\"params hide\">\r\n\t        \t<td>商品规格:</td>\r\n\t        \t<td>\r\n\t        \t\t\r\n\t        \t</td>\r\n\t        </tr>\r\n\t    </table>\r\n\t    <input type=\"hidden\" name=\"itemParams\"/>\r\n\t    <input type=\"hidden\" name=\"itemParamId\"/>\r\n\t</form>\r\n\t<div style=\"padding:5px\">\r\n\t    <a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"submitForm()\">提交</a>\r\n\t</div>\r\n</div>\r\n<script type=\"text/javascript\">\r\n\tvar itemEditEditor ;\r\n\t$(function(){\r\n\t\t//实例化编辑器\r\n\t\titemEditEditor = migo.createEditor(\"#itemeEditForm [name=desc]\");\r\n\t});\r\n\t\r\n\tfunction submitForm(){\r\n\t\tif(!$('#itemeEditForm').form('validate')){\r\n\t\t\t$.messager.alert('提示','表单还未填写完成!');\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\t$(\"#itemeEditForm [name=price]\").val(eval($(\"#itemeEditForm [name=priceView]\").val()) * 100);\r\n\t\titemEditEditor.sync();\r\n\t\t\r\n\t\tvar paramJson = [];\r\n\t\t$(\"#itemeEditForm .params li\").each(function(i,e){\r\n\t\t\tvar trs = $(e).find(\"tr\");\r\n\t\t\tvar group = trs.eq(0).text();\r\n\t\t\tvar ps = [];\r\n\t\t\tfor(var i = 1;i<trs.length;i++){\r\n\t\t\t\tvar tr = trs.eq(i);\r\n\t\t\t\tps.push({\r\n\t\t\t\t\t\"k\" : $.trim(tr.find(\"td\").eq(0).find(\"span\").text()),\r\n\t\t\t\t\t\"v\" : $.trim(tr.find(\"input\").val())\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tparamJson.push({\r\n\t\t\t\t\"group\" : group,\r\n\t\t\t\t\"params\": ps\r\n\t\t\t});\r\n\t\t});\r\n\t\tparamJson = JSON.stringify(paramJson);\r\n\t\t\r\n\t\t$(\"#itemeEditForm [name=itemParams]\").val(paramJson);\r\n\t\t\r\n\t\t$.ajax({\r\n\t\t   type: \"PUT\",\r\n\t\t   url: \"/rest/item\",\r\n\t\t   data: $(\"#itemeEditForm\").serialize(),\r\n\t\t   statusCode : {\r\n\t\t\t   204 : function(){\r\n\t\t\t\t   $.messager.alert('提示','修改商品成功!','info',function(){\r\n\t\t\t\t\t\t$(\"#itemEditWindow\").window('close');\r\n\t\t\t\t\t\t$(\"#itemList\").datagrid(\"reload\");\r\n\t\t\t\t\t});\r\n\t\t\t   },\r\n\t\t\t   400 : function(){\r\n\t\t\t\t   $.messager.alert('提示','请求参数不合法!');\r\n\t\t\t   },\r\n\t\t\t   500 : function(){\r\n\t\t\t\t   $.messager.alert('提示','修改商品失败!');\r\n\t\t\t   }\r\n\t\t   }\r\n\t\t});\r\n\t}\r\n</script>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/WEB-INF/views/item-list.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<table class=\"easyui-datagrid\" id=\"itemList\" title=\"商品列表\" \r\n       data-options=\"singleSelect:false,collapsible:true,pagination:true,url:'/rest/item',method:'get',pageSize:30,toolbar:toolbar\">\r\n    <thead>\r\n        <tr>\r\n        \t<th data-options=\"field:'ck',checkbox:true\"></th>\r\n        \t<th data-options=\"field:'id',width:60\">商品ID</th>\r\n            <th data-options=\"field:'title',width:200\">商品标题</th>\r\n            <th data-options=\"field:'cid',width:100\">叶子类目</th>\r\n            <th data-options=\"field:'sellPoint',width:100\">卖点</th>\r\n            <th data-options=\"field:'price',width:70,align:'right',formatter:migo.formatPrice\">价格</th>\r\n            <th data-options=\"field:'num',width:70,align:'right'\">库存数量</th>\r\n            <th data-options=\"field:'barcode',width:100\">条形码</th>\r\n            <th data-options=\"field:'status',width:60,align:'center',formatter:migo.formatItemStatus\">状态</th>\r\n            <th data-options=\"field:'created',width:130,align:'center',formatter:migo.formatDateTime\">创建日期</th>\r\n            <th data-options=\"field:'updated',width:130,align:'center',formatter:migo.formatDateTime\">更新日期</th>\r\n        </tr>\r\n    </thead>\r\n</table>\r\n<div id=\"itemEditWindow\" class=\"easyui-window\" title=\"编辑商品\" data-options=\"modal:true,closed:true,iconCls:'icon-save',href:'/rest/page/item-edit'\" style=\"width:80%;height:80%;padding:10px;\">\r\n</div>\r\n<script>\r\n\r\n    function getSelectionsIds(){\r\n    \tvar itemList = $(\"#itemList\");\r\n    \tvar sels = itemList.datagrid(\"getSelections\");\r\n    \tvar ids = [];\r\n    \tfor(var i in sels){\r\n    \t\tids.push(sels[i].id);\r\n    \t}\r\n    \tids = ids.join(\",\");\r\n    \treturn ids;\r\n    }\r\n    \r\n    var toolbar = [{\r\n        text:'新增',\r\n        iconCls:'icon-add',\r\n        handler:function(){\r\n        \t$(\".tree-title:contains('新增商品')\").parent().click();\r\n        }\r\n    },{\r\n        text:'编辑',\r\n        iconCls:'icon-edit',\r\n        handler:function(){\r\n        \tvar ids = getSelectionsIds();\r\n        \tif(ids.length == 0){\r\n        \t\t$.messager.alert('提示','必须选择一个商品才能编辑!');\r\n        \t\treturn ;\r\n        \t}\r\n        \tif(ids.indexOf(',') > 0){\r\n        \t\t$.messager.alert('提示','只能选择一个商品!');\r\n        \t\treturn ;\r\n        \t}\r\n        \t\r\n        \t$(\"#itemEditWindow\").window({\r\n        \t\tonLoad :function(){\r\n        \t\t\t//回显数据\r\n        \t\t\tvar data = $(\"#itemList\").datagrid(\"getSelections\")[0];\r\n        \t\t\tdata.priceView = migo.formatPrice(data.price);\r\n        \t\t\t$(\"#itemeEditForm\").form(\"load\",data);\r\n        \t\t\t\r\n        \t\t\t// 加载商品描述\r\n        \t\t\t$.getJSON('/rest/item/desc/'+data.id,function(_data){\r\n        \t\t\t\titemEditEditor.html(_data.itemDesc);\r\n        \t\t\t});\r\n        \t\t\t\r\n        \t\t\t//加载商品规格\r\n        \t\t\t$.getJSON('/rest/item/param/item/'+data.id,function(_data){\r\n        \t\t\t\t\r\n        \t\t\t\t\t$(\"#itemeEditForm .params\").show();\r\n        \t\t\t\t\t$(\"#itemeEditForm [name=itemParams]\").val(_data.paramData);\r\n        \t\t\t\t\t$(\"#itemeEditForm [name=itemParamId]\").val(_data.id);\r\n        \t\t\t\t\t\r\n        \t\t\t\t\t//回显商品规格\r\n        \t\t\t\t\t var paramData = JSON.parse(_data.paramData);\r\n        \t\t\t\t\t\r\n        \t\t\t\t\t var html = \"<ul>\";\r\n        \t\t\t\t\t for(var i in paramData){\r\n        \t\t\t\t\t\t var pd = paramData[i];\r\n        \t\t\t\t\t\t html+=\"<li><table>\";\r\n        \t\t\t\t\t\t html+=\"<tr><td colspan=\\\"2\\\" class=\\\"group\\\">\"+pd.group+\"</td></tr>\";\r\n        \t\t\t\t\t\t \r\n        \t\t\t\t\t\t for(var j in pd.params){\r\n        \t\t\t\t\t\t\t var ps = pd.params[j];\r\n        \t\t\t\t\t\t\t html+=\"<tr><td class=\\\"param\\\"><span>\"+ps.k+\"</span>: </td><td><input autocomplete=\\\"off\\\" type=\\\"text\\\" value='\"+ps.v+\"'/></td></tr>\";\r\n        \t\t\t\t\t\t }\r\n        \t\t\t\t\t\t \r\n        \t\t\t\t\t\t html+=\"</li></table>\";\r\n        \t\t\t\t\t }\r\n        \t\t\t\t\t html+= \"</ul>\";\r\n        \t\t\t\t\t $(\"#itemeEditForm .params td\").eq(1).html(html);\r\n        \t\t\t\t\r\n        \t\t\t});\r\n        \t\t\t\r\n        \t\t\tmigo.init({\r\n        \t\t\t\t\"pics\" : data.image,\r\n        \t\t\t\t\"cid\" : data.cid,\r\n        \t\t\t\tfun:function(node){\r\n        \t\t\t\t\tmigo.changeItemParam(node, \"itemeEditForm\");\r\n        \t\t\t\t}\r\n        \t\t\t});\r\n        \t\t}\r\n        \t}).window(\"open\");\r\n        }\r\n    },{\r\n        text:'删除',\r\n        iconCls:'icon-cancel',\r\n        handler:function(){\r\n        \tvar ids = getSelectionsIds();\r\n        \tif(ids.length == 0){\r\n        \t\t$.messager.alert('提示','未选中商品!');\r\n        \t\treturn ;\r\n        \t}\r\n        \t$.messager.confirm('确认','确定删除ID为 '+ids+' 的商品吗？',function(r){\r\n        \t    if (r){\r\n        \t    \tvar params = {\"ids\":ids};\r\n                \t$.post(\"/rest/item/delete\",params, function(data){\r\n            \t\t\tif(data.status == 200){\r\n            \t\t\t\t$.messager.alert('提示','删除商品成功!',undefined,function(){\r\n            \t\t\t\t\t$(\"#itemList\").datagrid(\"reload\");\r\n            \t\t\t\t});\r\n            \t\t\t}\r\n            \t\t});\r\n        \t    }\r\n        \t});\r\n        }\r\n    },'-',{\r\n        text:'下架',\r\n        iconCls:'icon-remove',\r\n        handler:function(){\r\n        \tvar ids = getSelectionsIds();\r\n        \tif(ids.length == 0){\r\n        \t\t$.messager.alert('提示','未选中商品!');\r\n        \t\treturn ;\r\n        \t}\r\n        \t$.messager.confirm('确认','确定下架ID为 '+ids+' 的商品吗？',function(r){\r\n        \t    if (r){\r\n        \t    \tvar params = {\"ids\":ids};\r\n                \t$.post(\"/rest/item/instock\",params, function(data){\r\n            \t\t\tif(data.status == 200){\r\n            \t\t\t\t$.messager.alert('提示','下架商品成功!',undefined,function(){\r\n            \t\t\t\t\t$(\"#itemList\").datagrid(\"reload\");\r\n            \t\t\t\t});\r\n            \t\t\t}\r\n            \t\t});\r\n        \t    }\r\n        \t});\r\n        }\r\n    },{\r\n        text:'上架',\r\n        iconCls:'icon-remove',\r\n        handler:function(){\r\n        \tvar ids = getSelectionsIds();\r\n        \tif(ids.length == 0){\r\n        \t\t$.messager.alert('提示','未选中商品!');\r\n        \t\treturn ;\r\n        \t}\r\n        \t$.messager.confirm('确认','确定上架ID为 '+ids+' 的商品吗？',function(r){\r\n        \t    if (r){\r\n        \t    \tvar params = {\"ids\":ids};\r\n                \t$.post(\"/rest/item/reshelf\",params, function(data){\r\n            \t\t\tif(data.status == 200){\r\n            \t\t\t\t$.messager.alert('提示','上架商品成功!',undefined,function(){\r\n            \t\t\t\t\t$(\"#itemList\").datagrid(\"reload\");\r\n            \t\t\t\t});\r\n            \t\t\t}\r\n            \t\t});\r\n        \t    }\r\n        \t});\r\n        }\r\n    }];\r\n</script>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/WEB-INF/views/item-param-add.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\"\r\n\tpageEncoding=\"UTF-8\"%>\r\n<table cellpadding=\"5\" style=\"margin-left: 30px\" id=\"itemParamAddTable\" class=\"itemParam\">\r\n\t<tr>\r\n\t\t<td>商品类目:</td>\r\n\t\t<td><a href=\"javascript:void(0)\" class=\"easyui-linkbutton selectItemCat\">选择类目</a> \r\n\t\t\t<input type=\"hidden\" name=\"cid\" style=\"width: 280px;\"></input>\r\n\t\t</td>\r\n\t</tr>\r\n\t<tr class=\"hide addGroupTr\">\r\n\t\t<td>规格参数:</td>\r\n\t\t<td>\r\n\t\t\t<ul>\r\n\t\t\t\t<li><a href=\"javascript:void(0)\" class=\"easyui-linkbutton addGroup\">添加分组</a></li>\r\n\t\t\t</ul>\r\n\t\t</td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td></td>\r\n\t\t<td>\r\n\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton submit\">提交</a>\r\n\t    \t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton close\">关闭</a>\r\n\t\t</td>\r\n\t</tr>\r\n</table>\r\n<div  class=\"itemParamAddTemplate\" style=\"display: none;\">\r\n\t<li class=\"param\">\r\n\t\t<ul>\r\n\t\t\t<li>\r\n\t\t\t\t<input class=\"easyui-textbox\" style=\"width: 150px;\" name=\"group\"/>&nbsp;<a href=\"javascript:void(0)\" class=\"easyui-linkbutton addParam\"  title=\"添加参数\" data-options=\"plain:true,iconCls:'icon-add'\"></a>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<span>|-------</span><input  style=\"width: 150px;\" class=\"easyui-textbox\" name=\"param\"/>&nbsp;<a href=\"javascript:void(0)\" class=\"easyui-linkbutton delParam\" title=\"删除\" data-options=\"plain:true,iconCls:'icon-cancel'\"></a>\t\t\t\t\t\t\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</li>\r\n</div>\r\n<script style=\"text/javascript\">\r\n\t$(function(){\r\n\t\tmigo.initItemCat({\r\n\t\t\tfun:function(node){\r\n\t\t\t$(\".addGroupTr\").hide().find(\".param\").remove();\r\n\t\t\t\t//  判断选择的目录是否已经添加过规格\r\n\t\t\t  /* $.getJSON(\"/rest/item/param/\" + node.id,function(data){\r\n\t\t\t\t  if(data){\r\n\t\t\t\t\t  $.messager.alert(\"提示\", \"该类目已经添加，请选择其他类目。\", undefined, function(){\r\n\t\t\t\t\t\t $(\"#itemParamAddTable .selectItemCat\").click();\r\n\t\t\t\t\t  });\r\n\t\t\t\t\t  return ;\r\n\t\t\t\t  }\r\n\t\t\t\t  $(\".addGroupTr\").show();\r\n\t\t\t  }); */\r\n\t\t\t\t\r\n\t\t\t  $.ajax({\r\n\t\t\t\t   type: \"GET\",\r\n\t\t\t\t   url: \"/rest/item/param/\" + node.id,\r\n\t\t\t\t   statusCode : {\r\n\t\t\t\t\t   200 : function(){\r\n\t\t\t\t\t\t   //模板存在\r\n\t\t\t\t\t\t   $.messager.alert(\"提示\", \"该类目已经添加，请选择其他类目。\", undefined, function(){\r\n\t\t\t\t\t\t\t\t $(\"#itemParamAddTable .selectItemCat\").click();\r\n\t\t\t\t\t\t\t  });\r\n\t\t\t\t\t   },\r\n\t\t\t\t\t   404 : function(){\r\n\t\t\t\t\t\t   //模板不存在\r\n\t\t\t\t\t\t   $(\".addGroupTr\").show();\r\n\t\t\t\t\t   },\r\n\t\t\t\t\t   500 : function(){\r\n\t\t\t\t\t\t   alert(\"error\");\r\n\t\t\t\t\t   }\r\n\t\t\t\t   }\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\t$(\".addGroup\").click(function(){\r\n\t\t\t  var temple = $(\".itemParamAddTemplate li\").eq(0).clone();\r\n\t\t\t  $(this).parent().parent().append(temple);\r\n\t\t\t  temple.find(\".addParam\").click(function(){\r\n\t\t\t\t  var li = $(\".itemParamAddTemplate li\").eq(2).clone();\r\n\t\t\t\t  li.find(\".delParam\").click(function(){\r\n\t\t\t\t\t  $(this).parent().remove();\r\n\t\t\t\t  });\r\n\t\t\t\t  li.appendTo($(this).parentsUntil(\"ul\").parent());\r\n\t\t\t  });\r\n\t\t\t  temple.find(\".delParam\").click(function(){\r\n\t\t\t\t  $(this).parent().remove();\r\n\t\t\t  });\r\n\t\t });\r\n\t\t\r\n\t\t$(\"#itemParamAddTable .close\").click(function(){\r\n\t\t\t$(\".panel-tool-close\").click();\r\n\t\t});\r\n\t\t\r\n\t\t$(\"#itemParamAddTable .submit\").click(function(){\r\n\t\t\tvar params = [];\r\n\t\t\tvar groups = $(\"#itemParamAddTable [name=group]\");\r\n\t\t\tgroups.each(function(i,e){\r\n\t\t\t\tvar p = $(e).parentsUntil(\"ul\").parent().find(\"[name=param]\");\r\n\t\t\t\tvar _ps = [];\r\n\t\t\t\tp.each(function(_i,_e){\r\n\t\t\t\t\tvar _val = $(_e).siblings(\"input\").val();\r\n\t\t\t\t\tif($.trim(_val).length>0){\r\n\t\t\t\t\t\t_ps.push(_val);\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tvar _val = $(e).siblings(\"input\").val();\r\n\t\t\t\tif($.trim(_val).length>0 && _ps.length > 0){\r\n\t\t\t\t\tparams.push({\r\n\t\t\t\t\t\t\"group\":_val,\r\n\t\t\t\t\t\t\"params\":_ps\r\n\t\t\t\t\t});\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tvar url = \"/rest/item/param/\"+$(\"#itemParamAddTable [name=cid]\").val();\r\n\t\t\t$.post(url,{\"paramData\":JSON.stringify(params)},function(data){\r\n\t\t\t\t$.messager.alert('提示','新增商品规格成功!',undefined,function(){\r\n\t\t\t\t\t$(\".panel-tool-close\").click();\r\n   \t\t\t\t\t$(\"#itemParamList\").datagrid(\"reload\");\r\n   \t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n</script>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/WEB-INF/views/item-param-list.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<table class=\"easyui-datagrid\" id=\"itemParamList\" title=\"商品列表\" \r\n       data-options=\"singleSelect:false,collapsible:true,pagination:true,url:'/rest/item/param/list',method:'get',pageSize:30,toolbar:itemParamListToolbar\">\r\n    <thead>\r\n        <tr>\r\n        \t<th data-options=\"field:'ck',checkbox:true\"></th>\r\n        \t<th data-options=\"field:'id',width:60\">ID</th>\r\n        \t<th data-options=\"field:'itemCatId',width:80\">商品类目ID</th>\r\n        \t<th data-options=\"field:'itemCatName',width:100\">商品类目</th>\r\n            <th data-options=\"field:'paramData',width:300,formatter:formatItemParamData\">规格(只显示分组名称)</th>\r\n            <th data-options=\"field:'created',width:130,align:'center',formatter:migo.formatDateTime\">创建日期</th>\r\n            <th data-options=\"field:'updated',width:130,align:'center',formatter:migo.formatDateTime\">更新日期</th>\r\n        </tr>\r\n    </thead>\r\n</table>\r\n<div id=\"itemEditWindow\" class=\"easyui-window\" title=\"编辑商品\" data-options=\"modal:true,closed:true,iconCls:'icon-save',href:'/rest/page/item-edit'\" style=\"width:80%;height:80%;padding:10px;\">\r\n</div>\r\n<script>\r\n\r\n\tfunction formatItemParamData(value , index){\r\n\t\tvar json = JSON.parse(value);\r\n\t\tvar array = [];\r\n\t\t$.each(json,function(i,e){\r\n\t\t\tarray.push(e.group);\r\n\t\t});\r\n\t\treturn array.join(\",\");\r\n\t}\r\n\r\n    function getSelectionsIds(){\r\n    \tvar itemList = $(\"#itemParamList\");\r\n    \tvar sels = itemList.datagrid(\"getSelections\");\r\n    \tvar ids = [];\r\n    \tfor(var i in sels){\r\n    \t\tids.push(sels[i].id);\r\n    \t}\r\n    \tids = ids.join(\",\");\r\n    \treturn ids;\r\n    }\r\n    \r\n    var itemParamListToolbar = [{\r\n        text:'新增',\r\n        iconCls:'icon-add',\r\n        handler:function(){\r\n        \tmigo.createWindow({\r\n        \t\turl : \"/rest/page/item-param-add\",\r\n        \t});\r\n        }\r\n    },{\r\n        text:'编辑',\r\n        iconCls:'icon-edit',\r\n        handler:function(){\r\n        \t$.messager.alert('提示','该功能未实现!');\r\n        }\r\n    },{\r\n        text:'删除',\r\n        iconCls:'icon-cancel',\r\n        handler:function(){\r\n        \tvar ids = getSelectionsIds();\r\n        \tif(ids.length == 0){\r\n        \t\t$.messager.alert('提示','未选中商品规格!');\r\n        \t\treturn ;\r\n        \t}\r\n        \t$.messager.confirm('确认','确定删除ID为 '+ids+' 的商品规格吗？',function(r){\r\n        \t    if (r){\r\n        \t    \tvar params = {\"ids\":ids};\r\n                \t$.post(\"/rest/item/param/delete\",params, function(data){\r\n            \t\t\tif(data.status == 200){\r\n            \t\t\t\t$.messager.alert('提示','删除商品规格成功!',undefined,function(){\r\n            \t\t\t\t\t$(\"#itemParamList\").datagrid(\"reload\");\r\n            \t\t\t\t});\r\n            \t\t\t}\r\n            \t\t});\r\n        \t    }\r\n        \t});\r\n        }\r\n    }];\r\n</script>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/WEB-INF/views/login.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\r\n<title>管理员登录</title>\r\n<jsp:include page=\"/commons/common-js.jsp\"></jsp:include>\r\n</head>\r\n<body style=\"background-color: #F3F3F3\">\r\n    <div class=\"easyui-dialog\" title=\"管理员登录\" data-options=\"closable:false,draggable:false\" style=\"width:400px;height:300px;padding:10px;\">\r\n       \t<div style=\"margin-left: 50px;margin-top: 50px;\">\r\n       \t\t<div style=\"margin-bottom:20px;\">\r\n\t            <div>\r\n\t            \t用户名: <input name=\"username\" class=\"easyui-textbox\" data-options=\"required:true\" style=\"width:200px;height:32px\" value=\"admin\"/>\r\n\t            </div>\r\n\t        </div>\r\n\t        <div style=\"margin-bottom:20px\">\r\n\t            <div>\r\n\t            \t密&nbsp;&nbsp;码: <input name=\"password\" class=\"easyui-textbox\" type=\"password\" style=\"width:200px;height:32px\" data-options=\"\" value=\"admin\"/>\r\n\t            </div>\r\n\t        </div>\r\n\t        <div>\r\n\t            <a id=\"login\" class=\"easyui-linkbutton\" iconCls=\"icon-ok\" style=\"width:100px;height:32px;margin-left: 50px\">登录</a>\r\n\t        </div>\r\n       \t</div>\r\n    </div>\r\n    \r\n    <script type=\"text/javascript\">\r\n    \t$(\"#login\").click(function(){\r\n    \t\tvar username = $(\"[name=username]\").val();\r\n    \t\tvar password = $(\"[name=password]\").val();\r\n    \t\t\r\n    \t\tif(username!=\"admin\" || password!=\"admin\"){\r\n    \t\t\t$.messager.alert('错误',\"用户名密码不正确！\");\r\n    \t\t\treturn ;\r\n    \t\t}\r\n    \t\twindow.location.href=\"/rest/page/index\";\r\n    \t});\r\n    </script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/WEB-INF/web.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<web-app xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n         xmlns=\"http://java.sun.com/xml/ns/javaee\"\r\n         xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\"\r\n         id=\"WebApp_ID\" version=\"2.5\">\r\n    <display-name>migo-manage</display-name>\r\n\r\n    <context-param>\r\n        <param-name>contextConfigLocation</param-name>\r\n        <param-value>classpath:spring/applicationContext*.xml</param-value>\r\n    </context-param>\r\n\r\n    <!--Spring的ApplicationContext 载入 -->\r\n    <listener>\r\n        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>\r\n    </listener>\r\n\r\n    <!-- 编码过滤器，以UTF8编码 -->\r\n    <filter>\r\n        <filter-name>encodingFilter</filter-name>\r\n        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>\r\n        <init-param>\r\n            <param-name>encoding</param-name>\r\n            <param-value>UTF8</param-value>\r\n        </init-param>\r\n    </filter>\r\n    <filter-mapping>\r\n        <filter-name>encodingFilter</filter-name>\r\n        <url-pattern>/*</url-pattern>\r\n    </filter-mapping>\r\n\r\n    <!-- 解决PUT请求无法提交表单数据的问题 -->\r\n    <filter>\r\n        <filter-name>HttpMethodFilter</filter-name>\r\n        <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>\r\n    </filter>\r\n    <filter-mapping>\r\n        <filter-name>HttpMethodFilter</filter-name>\r\n        <url-pattern>/*</url-pattern>\r\n    </filter-mapping>\r\n\r\n    <!-- 将POST请求转化为DELETE或者是PUT 要用_method指定真正的请求参数 -->\r\n    <filter>\r\n        <filter-name>HiddenHttpMethodFilter</filter-name>\r\n        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>\r\n    </filter>\r\n    <filter-mapping>\r\n        <filter-name>HiddenHttpMethodFilter</filter-name>\r\n        <url-pattern>/*</url-pattern>\r\n    </filter-mapping>\r\n\r\n\r\n    <!-- 配置SpringMVC框架入口 -->\r\n    <servlet>\r\n        <servlet-name>migo-manage</servlet-name>\r\n        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>\r\n        <init-param>\r\n            <param-name>contextConfigLocation</param-name>\r\n            <param-value>classpath:spring/springmvc.xml</param-value>\r\n        </init-param>\r\n        <load-on-startup>1</load-on-startup>\r\n    </servlet>\r\n\r\n    <servlet-mapping>\r\n        <servlet-name>migo-manage</servlet-name>\r\n        <url-pattern>/rest/*</url-pattern>\r\n    </servlet-mapping>\r\n\r\n    <welcome-file-list>\r\n        <welcome-file>index.jsp</welcome-file>\r\n    </welcome-file-list>\r\n\r\n</web-app>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/commons/common-js.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\"\r\n    pageEncoding=\"UTF-8\"%>\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/js/jquery-easyui-1.4.1/themes/default/easyui.css\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/js/jquery-easyui-1.4.1/themes/icon.css\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/migo.css\" />\r\n<script type=\"text/javascript\" src=\"/js/jquery-easyui-1.4.1/jquery.min.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/jquery-easyui-1.4.1/jquery.easyui.min.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/jquery-easyui-1.4.1/locale/easyui-lang-zh_CN.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/common.js\"></script>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/css/migo.css",
    "content": "ul{\r\n\tlist-style: none;\r\n}\r\n\r\n.hide{\r\n\tdisplay: none;\r\n}\r\n\r\n.itemParam ul{\r\n\tpadding-left: 0px;\r\n}\r\n.itemParam li{\r\n\tline-height: 25px;\r\n}\r\n\r\n.itemForm .pics ul{\r\n\tlist-style: none;\r\n\tpadding-left: 0px;\r\n}\r\n.itemForm .pics ul li{\r\n\tfloat: left;\r\n\tpadding-right: 5px;\r\n}\r\n.itemForm .group{\r\n\tfont-weight: bold;\r\n\ttext-align: center;\r\n\tbackground-color: #EAEAEA;\r\n}\r\n.itemForm .param{\r\n\twidth: 80px;\r\n\ttext-align: right;\r\n}"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/common.js",
    "content": "Date.prototype.format = function(format){ \r\n    var o =  { \r\n    \"M+\" : this.getMonth()+1, //month \r\n    \"d+\" : this.getDate(), //day \r\n    \"h+\" : this.getHours(), //hour \r\n    \"m+\" : this.getMinutes(), //minute \r\n    \"s+\" : this.getSeconds(), //second \r\n    \"q+\" : Math.floor((this.getMonth()+3)/3), //quarter \r\n    \"S\" : this.getMilliseconds() //millisecond \r\n    };\r\n    if(/(y+)/.test(format)){ \r\n    \tformat = format.replace(RegExp.$1, (this.getFullYear()+\"\").substr(4 - RegExp.$1.length)); \r\n    }\r\n    for(var k in o)  { \r\n\t    if(new RegExp(\"(\"+ k +\")\").test(format)){ \r\n\t    \tformat = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : (\"00\"+ o[k]).substr((\"\"+ o[k]).length)); \r\n\t    } \r\n    } \r\n    return format; \r\n};\r\n\r\nvar TT = migo = {\r\n\t// 编辑器参数\r\n\tkingEditorParams : {\r\n\t\tfilePostName  : \"uploadFile\",\r\n\t\tuploadJson : '/rest/pic/upload',\r\n\t\tdir : \"image\"\r\n\t},\r\n\t// 格式化时间\r\n\tformatDateTime : function(val,row){\r\n\t\tvar now = new Date(val);\r\n    \treturn now.format(\"yyyy-MM-dd hh:mm:ss\");\r\n\t},\r\n\t// 格式化连接\r\n\tformatUrl : function(val,row){\r\n\t\tif(val){\r\n\t\t\treturn \"<a href='\"+val+\"' target='_blank'>查看</a>\";\t\t\t\r\n\t\t}\r\n\t\treturn \"\";\r\n\t},\r\n\t// 格式化价格\r\n\tformatPrice : function(val,row){\r\n\t\treturn (val/100).toFixed(2);\r\n\t},\r\n\t// 格式化商品的状态\r\n\tformatItemStatus : function formatStatus(val,row){\r\n        if (val == 1){\r\n            return '正常';\r\n        } else if(val == 2){\r\n        \treturn '<span style=\"color:red;\">下架</span>';\r\n        } else {\r\n        \treturn '未知';\r\n        }\r\n    },\r\n    \r\n    init : function(data){\r\n    \tthis.initPicUpload(data);\r\n    \tthis.initItemCat(data);\r\n    },\r\n    // 初始化图片上传组件\r\n    initPicUpload : function(data){\r\n    \t$(\".picFileUpload\").each(function(i,e){\r\n    \t\tvar _ele = $(e);\r\n    \t\t_ele.siblings(\"div.pics\").remove();\r\n    \t\t_ele.after('\\\r\n    \t\t\t<div class=\"pics\">\\\r\n        \t\t\t<ul></ul>\\\r\n        \t\t</div>');\r\n    \t\t// 回显图片\r\n        \tif(data && data.pics){\r\n        \t\tvar imgs = data.pics.split(\",\");\r\n        \t\tfor(var i in imgs){\r\n        \t\t\tif($.trim(imgs[i]).length > 0){\r\n        \t\t\t\t_ele.siblings(\".pics\").find(\"ul\").append(\"<li><a href='\"+imgs[i]+\"' target='_blank'><img src='\"+imgs[i]+\"' width='80' height='50' /></a></li>\");\r\n        \t\t\t}\r\n        \t\t}\r\n        \t}\r\n        \t$(e).click(function(){\r\n        \t\tvar form = $(this).parentsUntil(\"form\").parent(\"form\");\r\n        \t\tKindEditor.editor(TT.kingEditorParams).loadPlugin('multiimage',function(){\r\n        \t\t\tvar editor = this;\r\n        \t\t\teditor.plugin.multiImageDialog({\r\n\t\t\t\t\t\tclickFn : function(urlList) {\r\n\t\t\t\t\t\t\tvar imgArray = [];\r\n\t\t\t\t\t\t\tKindEditor.each(urlList, function(i, data) {\r\n\t\t\t\t\t\t\t\timgArray.push(data.url);\r\n\t\t\t\t\t\t\t\tform.find(\".pics ul\").append(\"<li><a href='\"+data.url+\"' target='_blank'><img src='\"+data.url+\"' width='80' height='50' /></a></li>\");\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tform.find(\"[name=image]\").val(imgArray.join(\",\"));\r\n\t\t\t\t\t\t\teditor.hideDialog();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n        \t\t});\r\n        \t});\r\n    \t});\r\n    },\r\n    \r\n    // 初始化选择类目组件\r\n    initItemCat : function(data){\r\n    \t$(\".selectItemCat\").each(function(i,e){\r\n    \t\tvar _ele = $(e);\r\n    \t\tif(data && data.cid){\r\n    \t\t\t_ele.after(\"<span style='margin-left:10px;'>\"+data.cid+\"</span>\");\r\n    \t\t}else{\r\n    \t\t\t_ele.after(\"<span style='margin-left:10px;'></span>\");\r\n    \t\t}\r\n    \t\t_ele.unbind('click').click(function(){\r\n    \t\t\t$(\"<div>\").css({padding:\"5px\"}).html(\"<ul>\")\r\n    \t\t\t.window({\r\n    \t\t\t\twidth:'500',\r\n    \t\t\t    height:\"450\",\r\n    \t\t\t    modal:true,\r\n    \t\t\t    closed:true,\r\n    \t\t\t    iconCls:'icon-save',\r\n    \t\t\t    title:'选择类目',\r\n    \t\t\t    onOpen : function(){\r\n    \t\t\t    \tvar _win = this;\r\n    \t\t\t    \t$(\"ul\",_win).tree({\r\n    \t\t\t    \t\turl:'/rest/item/cat/',\r\n\t\t\t\t\t\t\tmethod:\"GET\",\r\n    \t\t\t    \t\tanimate:true,\r\n    \t\t\t    \t\tonClick : function(node){\r\n    \t\t\t    \t\t\tif($(this).tree(\"isLeaf\",node.target)){\r\n    \t\t\t    \t\t\t\t// 填写到cid中\r\n    \t\t\t    \t\t\t\t_ele.parent().find(\"[name=cid]\").val(node.id);\r\n    \t\t\t    \t\t\t\t_ele.next().text(node.text).attr(\"cid\",node.id);\r\n    \t\t\t    \t\t\t\t$(_win).window('close');\r\n    \t\t\t    \t\t\t\tif(data && data.fun){\r\n    \t\t\t    \t\t\t\t\tdata.fun.call(this,node);\r\n    \t\t\t    \t\t\t\t}\r\n    \t\t\t    \t\t\t}\r\n    \t\t\t    \t\t}\r\n    \t\t\t    \t});\r\n    \t\t\t    },\r\n    \t\t\t    onClose : function(){\r\n    \t\t\t    \t$(this).window(\"destroy\");\r\n    \t\t\t    }\r\n    \t\t\t}).window('open');\r\n    \t\t});\r\n    \t});\r\n    },\r\n    \r\n    createEditor : function(select){\r\n    \treturn KindEditor.create(select, TT.kingEditorParams);\r\n    },\r\n    \r\n    /**\r\n     * 创建一个窗口，关闭窗口后销毁该窗口对象。<br/>\r\n     * \r\n     * 默认：<br/>\r\n     * width : 80% <br/>\r\n     * height : 80% <br/>\r\n     * title : (空字符串) <br/>\r\n     * \r\n     * 参数：<br/>\r\n     * width : <br/>\r\n     * height : <br/>\r\n     * title : <br/>\r\n     * url : 必填参数 <br/>\r\n     * onLoad : function 加载完窗口内容后执行<br/>\r\n     * \r\n     * \r\n     */\r\n    createWindow : function(params){\r\n    \t$(\"<div>\").css({padding:\"5px\"}).window({\r\n    \t\twidth : params.width?params.width:\"80%\",\r\n    \t\theight : params.height?params.height:\"80%\",\r\n    \t\tmodal:true,\r\n    \t\ttitle : params.title?params.title:\" \",\r\n    \t\thref : params.url,\r\n\t\t    onClose : function(){\r\n\t\t    \t$(this).window(\"destroy\");\r\n\t\t    },\r\n\t\t    onLoad : function(){\r\n\t\t    \tif(params.onLoad){\r\n\t\t    \t\tparams.onLoad.call(this);\r\n\t\t    \t}\r\n\t\t    }\r\n    \t}).window(\"open\");\r\n    },\r\n    \r\n    closeCurrentWindow : function(){\r\n    \t$(\".panel-tool-close\").click();\r\n    },\r\n    \r\n    changeItemParam : function(node,formId){\r\n    \t$.ajax({\r\n\t\t\t   type: \"GET\",\r\n\t\t\t   url: \"/rest/item/param/\" + node.id,\r\n\t\t\t   statusCode : {\r\n\t\t\t\t   200 : function(data){\r\n\t\t\t\t\t   $(\"#\"+formId+\" .params\").show();\r\n\t\t\t\t\t\t var paramData = JSON.parse(data.paramData);\r\n\t\t\t\t\t\t var html = \"<ul>\";\r\n\t\t\t\t\t\t for(var i in paramData){\r\n\t\t\t\t\t\t\t var pd = paramData[i];\r\n\t\t\t\t\t\t\t html+=\"<li><table>\";\r\n\t\t\t\t\t\t\t html+=\"<tr><td colspan=\\\"2\\\" class=\\\"group\\\">\"+pd.group+\"</td></tr>\";\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t for(var j in pd.params){\r\n\t\t\t\t\t\t\t\t var ps = pd.params[j];\r\n\t\t\t\t\t\t\t\t html+=\"<tr><td class=\\\"param\\\"><span>\"+ps+\"</span>: </td><td><input autocomplete=\\\"off\\\" type=\\\"text\\\"/></td></tr>\";\r\n\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t html+=\"</li></table>\";\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t html+= \"</ul>\";\r\n\t\t\t\t\t\t $(\"#\"+formId+\" .params td\").eq(1).html(html);\r\n\t\t\t\t   },\r\n\t\t\t\t   404 : function(){\r\n\t\t\t\t\t   $(\"#\"+formId+\" .params\").hide();\r\n\t\t\t\t\t   $(\"#\"+formId+\" .params td\").eq(1).empty();\r\n\t\t\t\t   },\r\n\t\t\t\t   500 : function(){\r\n\t\t\t\t\t   alert(\"error\");\r\n\t\t\t\t   }\r\n\t\t\t   }\r\n\t\t\t});\r\n\r\n    },\r\n    getSelectionsIds : function (select){\r\n    \tvar list = $(select);\r\n    \tvar sels = list.datagrid(\"getSelections\");\r\n    \tvar ids = [];\r\n    \tfor(var i in sels){\r\n    \t\tids.push(sels[i].id);\r\n    \t}\r\n    \tids = ids.join(\",\");\r\n    \treturn ids;\r\n    },\r\n    \r\n    /**\r\n     * 初始化单图片上传组件 <br/>\r\n     * 选择器为：.onePicUpload <br/>\r\n     * 上传完成后会设置input内容以及在input后面追加<img> \r\n     */\r\n    initOnePicUpload : function(){\r\n    \t$(\".onePicUpload\").click(function(){\r\n\t\t\tvar _self = $(this);\r\n\t\t\tKindEditor.editor(TT.kingEditorParams).loadPlugin('image', function() {\r\n\t\t\t\tthis.plugin.imageDialog({\r\n\t\t\t\t\tshowRemote : false,\r\n\t\t\t\t\tclickFn : function(url, title, width, height, border, align) {\r\n\t\t\t\t\t\tvar input = _self.siblings(\"input\");\r\n\t\t\t\t\t\tinput.parent().find(\"img\").remove();\r\n\t\t\t\t\t\tinput.val(url);\r\n\t\t\t\t\t\tinput.after(\"<a href='\"+url+\"' target='_blank'><img src='\"+url+\"' width='80' height='50'/></a>\");\r\n\t\t\t\t\t\tthis.hideDialog();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n    }\r\n};\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/changelog.txt",
    "content": "Version 1.4.1\r\n-------------\r\n* Bug\r\n * combogrid: The combogrid has different height than other combo components. fixed.\r\n * datagrid: The row element loses some class style value after calling 'updateRow' method. fixed.\r\n * menubutton: Calling 'enable' method on a disabled button can not work well. fixed.\r\n * form: The filebox components in the form do not work correctly after calling 'clear' method. fixed.\r\n* Improvement\r\n * tabs: The 'update' method accepts 'type' option that allows the user to update the header,body,or both.\r\n * panel: Add 'openAnimation','openDuration','closeAnimation' and 'closeDuration' properties to set the animation for opening or closing a panel.\r\n * panel: Add 'footer' property that allows the user to add a footer bar to the bottom of panel.\r\n * datagrid: Calling 'endEdit' method will accept the editing value correctly.\r\n * datagrid: Add 'onBeforeSelect','onBeforeCheck','onBeforeUnselect','onBeforeUncheck' events.\r\n * propertygrid: The user can edit a row by calling 'beginEdit' method.\r\n * datebox: Add 'cloneFrom' method to create the datebox component quickly.\r\n * datetimebox: Add 'cloneFrom' method to create the datetimebox component quickly.\r\n\r\nVersion 1.4\r\n-------------\r\n* Bug\r\n * menu: The menu should not has a correct height when removed a menu item. fixed.\r\n * datagrid: The 'fitColumns' method does not work normally when the datarid width is too small. fixed.\r\n* Improvement\r\n * The fluid/percentange size is supported now for all easyui components.\r\n * menu: Add 'showItem', 'hideItem' and 'resize' methods.\r\n * menu: Auto resize the height upon the window size.\r\n * menu: Add 'duration' property that allows the user to define duration time in milliseconds to hide menu.\r\n * validatebox: Add 'onBeforeValidate' and 'onValidate' events.\r\n * combo: Extended from textbox now.\r\n * combo: Add 'panelMinWidth','panelMaxWidth','panelMinHeight' and 'panelMaxHeight' properties.\r\n * searchbox: Extended from textbox now.\r\n * tree: The 'getRoot' method will return the top parent node of a specified node if pass a 'nodeEl' parameter.\r\n * tree: Add 'queryParams' property.\r\n * datetimebox: Add 'spinnerWidth' property.\r\n * panel: Add 'doLayout' method to cause the panel to lay out its components.\r\n * panel: Add 'clear' method to clear the panel's content.\r\n * datagrid: The user is allowed to assign percent width to columns.\r\n * form: Add 'ajax','novalidate' and 'queryParams' properties.\r\n * linkbutton: Add 'resize' method.\r\n* New Plugins\r\n * textbox: A enhanced input field that allows users build their form easily.\r\n * datetimespinner: A date and time spinner that allows to pick a specific day.\r\n * filebox: The filebox component represents a file field of the forms.\r\n\r\nVersion 1.3.6\r\n-------------\r\n* Bug\r\n * treegrid: The 'getChecked' method can not return correct checked rows. fixed.\r\n * tree: The checkbox does not display properly on async tree when 'onlyLeafCheck' property is true. fixed.\r\n* Improvement\r\n * treegrid: All the selecting and checking methods are extended from datagrid component.\r\n * linkbutton: The icon alignment is fully supported, possible values are: 'top','bottom','left','right'.\r\n * linkbutton: Add 'size' property, possible values are: 'small','large'.\r\n * linkbutton: Add 'onClick' event.\r\n * menubutton: Add 'menuAlign' property that allows the user set top level menu alignment.\r\n * combo: Add 'panelAlign' property, possible values are: 'left','right'.\r\n * calendar: The 'formatter','styler' and 'validator' options are available to custom the calendar dates.\r\n * calendar: Add 'onChange' event.\r\n * panel: Add 'method','queryParams' and 'loader' options.\r\n * panel: Add 'onLoadError' event.\r\n * datagrid: Add 'onBeginEdit' event that fires when a row goes into edit mode.\r\n * datagrid: Add 'onEndEdit' event that fires when finishing editing but before destroying editors.\r\n * datagrid: Add 'sort' method and 'onBeforeSortColumn' event.\r\n * datagrid: The 'combogrid' editor has been integrated into datagrid.\r\n * datagrid: Add 'ctrlSelect' property that only allows multi-selection when ctrl+click is used.\r\n * slider: Add 'converter' option that allows users determine how to convert a value to the slider position or the slider position to the value.\r\n * searchbox: Add 'disabled' property.\r\n * searchbox: Add 'disable','enable','clear','reset' methods.\r\n * spinner: Add 'readonly' property, 'readonly' method and 'onChange' event.\r\n\r\nVersion 1.3.5\r\n-------------\r\n* Bug\r\n * searchbox: The 'searcher' function can not offer 'name' parameter value correctly. fixed.\r\n * combo: The 'isValid' method can not return boolean value. fixed.\r\n * combo: Clicking combo will trigger the 'onHidePanel' event of other combo components that have hidden drop-down panels. fixed.\r\n * combogrid: Some methods can not inherit from combo. fixed.\r\n* Improvement\r\n * datagrid: Improve performance on checking rows.\r\n * menu: Allows to append a menu separator.\r\n * menu: Add 'hideOnUnhover' property to indicate if the menu should be hidden when mouse exits it.\r\n * slider: Add 'clear' and 'reset' methods.\r\n * tabs: Add 'unselect' method that will trigger 'onUnselect' event.\r\n * tabs: Add 'selected' property to specify what tab panel will be opened.\r\n * tabs: The 'collapsible' property of tab panel is supported to determine if the tab panel can be collapsed.\r\n * tabs: Add 'showHeader' property, 'showHeader' and 'hideHeader' methods.\r\n * combobox: The 'disabled' property can be used to disable some items.\r\n * tree: Improve loading performance.\r\n * pagination: The 'layout' property can be used to customize the pagination layout.\r\n * accordion: Add 'unselect' method that will trigger 'onUnselect' event.\r\n * accordion: Add 'selected' and 'multiple' properties.\r\n * accordion: Add 'getSelections' method.\r\n * datebox: Add 'sharedCalendar' property that allows multiple datebox components share one calendar component.\r\n\r\nVersion 1.3.4\r\n-------------\r\n* Bug\r\n * combobox: The onLoadSuccess event fires when parsing empty local data. fixed.\r\n * form: Calling 'reset' method can not reset datebox field. fixed.\r\n* Improvement\r\n * mobile: The context menu and double click features are supported on mobile devices.\r\n * combobox: The 'groupField' and 'groupFormatter' options are available to display items in groups.\r\n * tree: When append or insert nodes, the 'data' parameter accepts one or more nodes data.\r\n * tree: The 'getChecked' method accepts a single 'state' or an array of 'state'.\r\n * tree: Add 'scrollTo' method.\r\n * datagrid: The 'multiSort' property is added to support multiple column sorting.\r\n * datagrid: The 'rowStyler' and column 'styler' can return CSS class name or inline styles.\r\n * treegrid: Add 'load' method to load data and navigate to the first page.\r\n * tabs: Add 'tabWidth' and 'tabHeight' properties.\r\n * validatebox: The 'novalidate' property is available to indicate whether to perform the validation.\r\n * validatebox: Add 'enableValidation' and 'disableValidation' methods.\r\n * form: Add 'enableValidation' and 'disableValidation' methods.\r\n * slider: Add 'onComplete' event.\r\n * pagination: The 'buttons' property accepts the existing element.\r\n\r\nVersion 1.3.3\r\n-------------\r\n* Bug\r\n * datagrid: Some style features are not supported by column styler function. fixed.\r\n * datagrid: IE 31 stylesheet limit. fixed.\r\n * treegrid: Some style features are not supported by column styler function. fixed.\r\n * menu: The auto width of menu item displays incorrect in ie6. fixed.\r\n * combo: The 'onHidePanel' event can not fire when clicked outside the combo area. fixed. \r\n* Improvement\r\n * datagrid: Add 'scrollTo' and 'highlightRow' methods.\r\n * treegrid: Enable treegrid to parse data from <tbody> element.\r\n * combo: Add 'selectOnNavigation' and 'readonly' options.\r\n * combobox: Add 'loadFilter' option to allow users to change data format before loading into combobox.\r\n * tree: Add 'onBeforeDrop' callback event.\r\n * validatebox: Dependent on tooltip plugin now, add 'deltaX' property.\r\n * numberbox: The 'filter' options can be used to determine if the key pressed was accepted.\r\n * linkbutton: The group button is available.\r\n * layout: The 'minWidth','maxWidth','minHeight','maxHeight' and 'collapsible' properties are available for region panel.\r\n* New Plugins\r\n * tooltip: Display a popup message when moving mouse over an element.\r\n \r\nVersion 1.3.2\r\n-------------\r\n* Bug\r\n * datagrid: The loading message window can not be centered when changing the width of datagrid. fixed.\r\n * treegrid: The 'mergeCells' method can not work normally. fixed.\r\n * propertygrid: Calling 'endEdit' method to stop editing a row will cause errors. fixed.\r\n * tree: Can not load empty data when 'lines' property set to true. fixed.\r\n* Improvement\r\n * RTL feature is supported now.\r\n * tabs: Add 'scrollBy' method to scroll the tab header by the specified amount of pixels\r\n * tabs: Add 'toolPosition' property to set tab tools to left or right.\r\n * tabs: Add 'tabPosition' property to define the tab position, possible values are: 'top','bottom','left','right'.\r\n * datagrid: Add a column level property 'order' that allows users to define different default sort order per column.\r\n * datagrid: Add a column level property 'halign' that allows users to define how to align the column header.\r\n * datagrid: Add 'resizeHandle' property to define the resizing column position, by grabbing the left or right edge of the column.\r\n * datagrid: Add 'freezeRow' method to freeze some rows that will always be displayed at the top when the datagrid is scrolled down.\r\n * datagrid: Add 'clearChecked' method to clear all checked records.\r\n * datagrid: Add 'data' property to initialize the datagrid data.\r\n * linkbutton: Add 'iconAlgin' property to define the icon position, supported values are: 'left','right'.\r\n * menu: Add 'minWidth' property.\r\n * menu: The menu width can be automatically calculated.\r\n * tree: New events are available including 'onBeforeDrag','onStartDrag','onDragEnter','onDragOver','onDragLeave',etc.\r\n * combo: Add 'height' property to allow users to define the height of combo.\r\n * combo: Add 'reset' method.\r\n * numberbox: Add 'reset' method.\r\n * spinner: Add 'reset' method.\r\n * spinner: Add 'height' property to allow users to define the height of spinner.\r\n * searchbox: Add 'height' property to allow users to define the height of searchbox.\r\n * form: Add 'reset' method.\r\n * validatebox: Add 'delay' property to delay validating from the last inputting value.\r\n * validatebox: Add 'tipPosition' property to define the tip position, supported values are: 'left','right'.\r\n * validatebox: Multiple validate rules on a field is supported now.\r\n * slider: Add 'reversed' property to determine if the min value and max value will switch their positions.\r\n * progressbar: Add 'height' property to allow users to define the height of progressbar.\r\n\r\nVersion 1.3.1\r\n-------------\r\n* Bug\r\n * datagrid: Setting the 'pageNumber' property is not valid. fixed.\r\n * datagrid: The id attribute of rows isn't adjusted properly while calling 'insertRow' or 'deleteRow' method.\r\n * dialog: When load content from 'href', the script will run twice. fixed.\r\n * propertygrid: The editors that extended from combo can not accept its changed value. fixed.\r\n* Improvement\r\n * droppable: Add 'disabled' property.\r\n * droppable: Add 'options','enable' and 'disable' methods.\r\n * tabs: The tab panel tools can be changed by calling 'update' method.\r\n * messager: When show a message window, the user can define the window position by applying 'style' property.\r\n * window: Prevent script on window body from running twice.\r\n * window: Add 'hcenter','vcenter' and 'center' methods.\r\n * tree: Add 'onBeforeCheck' callback event.\r\n * tree: Extend the 'getChecked' method to allow users to get 'checked','unchecked' or 'indeterminate' nodes.\r\n * treegrid: Add 'update' method to update a specified node.\r\n * treegrid: Add 'insert' method to insert a new node.\r\n * treegrid: Add 'pop' method to remove a node and get the removed node data.\r\n\r\nVersion 1.3\r\n-----------\r\n* Bug\r\n * combogrid: When set to 'remote' query mode, the 'queryParams' parameters can't be sent to server. fixed.\r\n * combotree: The tree nodes on drop-down panel can not be unchecked while calling 'clear' method. fixed.\r\n * datetimebox: Setting 'showSeconds' property to false cannot hide seconds info. fixed.\r\n * datagrid: Calling 'mergeCells' method can't auto resize the merged cell while header is hidden. fixed.\r\n * dialog: Set cache to false and load data via ajax, the content cannot be refreshed. fixed.\r\n* Improvement\r\n * The HTML5 'data-options' attribute is available for components to declare all custom options, including properties and events.\r\n * More detailed documentation is available.\r\n * panel: Prevent script on panel body from running twice.\r\n * accordion: Add 'getPanelIndex' method.\r\n * accordion: The tools can be added on panel header.\r\n * datetimebox: Add 'timeSeparator' option that allows users to define the time separator.\r\n * pagination: Add 'refresh' and 'select' methods.\r\n * datagrid: Auto resize the column width to fit the contents when the column width is not defined.\r\n * datagrid: Double click on the right border of columns to auto resize the columns to the contents in the columns.\r\n * datagrid: Add 'autoSizeColumn' method that allows users to adjust the column width to fit the contents.\r\n * datagrid: Add 'getChecked' method to get all rows where the checkbox has been checked.\r\n * datagrid: Add 'selectOnCheck' and 'checkOnSelect' properties and some checking methods to enhance the row selections.\r\n * datagrid: Add 'pagePosition' property to allow users to display pager bar at either top,bottom or both places of the grid.\r\n * datagrid: The buffer view and virtual scroll view are supported to display large amounts of records without pagination.\r\n * tabs: Add 'disableTab' and 'enableTab' methods to allow users to disable or enable a tab panel.\r\n\r\nVersion 1.2.6\r\n-------------\r\n* Bug\r\n * tabs: Call 'add' method with 'selected:false' option, the added tab panel is always selected. fixed.\r\n * treegrid: The 'onSelect' and 'onUnselect' events can't be triggered. fixed.\r\n * treegrid: Cannot display zero value field. fixed. \r\n* Improvement\r\n * propertygrid: Add 'expandGroup' and 'collapseGroup' methods.\r\n * layout: Allow users to create collapsed layout panels by assigning 'collapsed' property to true.\r\n * layout: Add 'add' and 'remove' methods that allow users to dynamically add or remove region panel.\r\n * layout: Additional tool icons can be added on region panel header.\r\n * calendar: Add 'firstDay' option that allow users to set first day of week. Sunday is 0, Monday is 1, ...\r\n * tree: Add 'lines' option, true to display tree lines. \r\n * tree: Add 'loadFilter' option that allow users to change data format before loading into the tree.\r\n * tree: Add 'loader' option that allow users to define how to load data from remote server.\r\n * treegrid: Add 'onClickCell' and 'onDblClickCell' callback function options.\r\n * datagrid: Add 'autoRowHeight' property that allow users to determine if set the row height based on the contents of that row.\r\n * datagrid: Improve performance to load large data set.\r\n * datagrid: Add 'loader' option that allow users to define how to load data from remote server.\r\n * treegrid: Add 'loader' option that allow users to define how to load data from remote server.\r\n * combobox: Add 'onBeforeLoad' callback event function.\r\n * combobox: Add 'loader' option that allow users to define how to load data from remote server.\r\n * Add support for other loading mode such as dwr,xml,etc.\r\n* New Plugins\r\n * slider: Allows the user to choose a numeric value from a finite range.\r\n\r\nVersion 1.2.5\r\n-------------\r\n* Bug\r\n * tabs: When add a new tab panel with href property, the content page is loaded twice. fixed.\r\n * form: Failed to call 'load' method to load form input with complex name. fixed.\r\n * draggable: End drag in ie9, the cursor cannot be restored. fixed.\r\n* Improvement\r\n * panel: The tools can be defined via html markup.\r\n * tabs: Call 'close' method to close specified tab panel, users can pass tab title or index of tab panel. Other methods such 'select','getTab' and 'exists' are similar to 'close' method.\r\n * tabs: Add 'getTabIndex' method.\r\n * tabs: Users can define mini tools on tabs.\r\n * tree: The mouse must move a specified distance to begin drag and drop operation.\r\n * resizable: Add 'options','enable' and 'disable' methods.\r\n * numberbox: Allow users to change number format.\r\n * datagrid: The subgrid is supported now.\r\n * searchbox: Add 'selectName' method to select searching type name.\r\n\r\nVersion 1.2.4\r\n-------------\r\n* Bug\r\n * menu: The menu position is wrong when scroll bar appears. fixed.\r\n * accordion: Cannot display the default selected panel in jQuery 1.6.2. fixed.\r\n * tabs: Cannot display the default selected tab panel in jQuery 1.6.2. fixed.\r\n* Improvement\r\n * menu: Allow users to disable or enable menu item.\r\n * combo: Add 'delay' property to set the delay time to do searching from the last key input event.\r\n * treegrid: The 'getEditors' and 'getEditor' methods are supported now.\r\n * treegrid: The 'loadFilter' option is supported now.\r\n * messager: Add 'progress' method to display a message box with a progress bar.\r\n * panel: Add 'extractor' option to allow users to extract panel content from ajax response.\r\n* New Plugins\r\n * searchbox: Allow users to type words into box and do searching operation.\r\n * progressbar: To display the progress of a task.\r\n \r\nVersion 1.2.3\r\n-------------\r\n* Bug\r\n * window: Cannot resize the window with iframe content. fixed.\r\n * tree: The node will be removed when dragging to its child. fixed.\r\n * combogrid: The onChange event fires multiple times. fixed.\r\n * accordion: Cannot add batch new panels when animate property is set to true. fixed.\r\n* Improvement\r\n * treegrid: The footer row and row styler features are supported now.\r\n * treegrid: Add 'getLevel','reloadFooter','getFooterRows' methods.\r\n * treegrid: Support root nodes pagination and editable features.\r\n * datagrid: Add 'getFooterRows','reloadFooter','insertRow' methods and improve editing performance.\r\n * datagrid: Add 'loadFilter' option that allow users to change original source data to standard data format.\r\n * draggable: Add 'onBeforeDrag' callback event function.\r\n * validatebox: Add 'remote' validation type.\r\n * combobox: Add 'method' option.\r\n* New Plugins\r\n * propertygrid: Allow users to edit property value in datagrid. \r\n\r\nVersion 1.2.2\r\n-------------\r\n* Bug\r\n * datagrid: Apply fitColumns cannot work fine while set checkbox column. fixed.\r\n * datagrid: The validateRow method cannot return boolean type value. fixed.\r\n * numberbox: Cannot fix value in chrome when min or max property isn't defined. fixed.\r\n* Improvement\r\n * menu: Add some crud methods.\r\n * combo: Add hasDownArrow property to determine whether to display the down arrow button.\r\n * tree: Supports inline editing.\r\n * calendar: Add some useful methods such as 'resize', 'moveTo' etc.\r\n * timespinner: Add some useful methods.\r\n * datebox: Refactoring based on combo and calendar plugin now.\r\n * datagrid: Allow users to change row style in some conditions.\r\n * datagrid: Users can use the footer row to display summary information.\r\n* New Plugins\r\n * datetimebox: Combines datebox with timespinner component.\r\n  \r\nVersion 1.2.1\r\n-------------\r\n* Bug\r\n * easyloader: Some dependencies cannot be loaded by their order. fixed.\r\n * tree: The checkbox is setted incorrectly when removing a node. fixed.\r\n * dialog: The dialog layout incorrectly when 'closed' property is setted to true. fixed.\r\n* Improvement\r\n * parser: Add onComplete callback function that can indicate whether the parse action is complete.\r\n * menu: Add onClick callback function and some other methods.\r\n * tree: Add some useful methods.\r\n * tree: Drag and Drop feature is supported now.\r\n * tree: Add onContextMenu callback function.\r\n * tabs: Add onContextMenu callback function.\r\n * tabs: Add 'tools' property that can create buttons on right bar.\r\n * datagrid: Add onHeaderContextMenu and onRowContextMenu callback functions.\r\n * datagrid: Custom view is supported.\r\n * treegrid: Add onContextMenu callback function and append,remove methods.\r\n  \r\nVersion 1.2\r\n-------------\r\n* Improvement\r\n * tree: Add cascadeCheck,onlyLeafCheck properties and select event.\r\n * combobox: Enable multiple selection.\r\n * combotree: Enable multiple selection.\r\n * tabs: Remember the trace of selection, when current tab panel is closed, the previous selected tab will be selected.\r\n * datagrid: Extend from panel, so many properties defined in panel can be used for datagrid.\r\n* New Plugins\r\n * treegrid: Represent tabular data in hierarchical view, combines tree view and datagrid.\r\n * combo: The basic component that allow user to extend their combo component such as combobox,combotree,etc.\r\n * combogrid: Combines combobox with drop-down datagrid component.\r\n * spinner: The basic plugin to create numberspinner,timespinner,etc.\r\n * numberspinner: The numberbox that allow user to change value by clicking up and down spin buttons.\r\n * timespinner: The time selector that allow user to quickly inc/dec a time.\r\n \r\nVersion 1.1.2\r\n-------------\r\n* Bug\r\n * messager: When call show method in layout, the message window will be blocked. fixed.\r\n* Improvement\r\n * datagrid: Add validateRow method, remember the current editing row status when do editing action.\r\n * datagrid: Add the ability to create merged cells.\r\n * form: Add callback functions when loading data.\r\n * panel,window,dialog: Add maximize,minimize,restore,collapse,expand methods.\r\n * panel,tabs,accordion: The lazy loading feature is supported.\r\n * tabs: Add getSelected,update,getTab methods.\r\n * accordion: Add crud methods.\r\n * linkbutton: Accept an id option to set the id attribute.\r\n * tree: Enhance tree node operation.\r\n \r\nVersion 1.1.1\r\n-------------\r\n* Bug\r\n * form: Cannot clear the value of combobox and combotree component. fixed.\r\n* Improvement\r\n * tree: Add some useful methods such as 'getRoot','getChildren','update',etc.\r\n * datagrid: Add editable feature, improve performance while loading data.\r\n * datebox: Add destroy method.\r\n * combobox: Add destroy and clear method.\r\n * combotree: Add destroy and clear method.\r\n \r\nVersion 1.1\r\n-------------\r\n* Bug\r\n * messager: When call show method with timeout property setted, an error occurs while clicking the close button. fixed.\r\n * combobox: The editable property of combobox plugin is invalid. fixed.\r\n * window: The proxy box will not be removed when dragging or resizing exceed browser border in ie. fixed.\r\n* Improvement\r\n * menu: The menu item can use <a> markup to display a different page.\r\n * tree: The tree node can use <a> markup to act as a tree menu.\r\n * pagination: Add some event on refresh button and page list.\r\n * datagrid: Add a 'param' parameter for reload method, with which users can pass query parameter when reload data.\r\n * numberbox: Add required validation support, the usage is same as validatebox plugin.\r\n * combobox: Add required validation support.\r\n * combotree: Add required validation support.\r\n * layout: Add some method that can get a region panel and attach event handlers.\r\n* New Plugins\r\n * droppable: A droppable plugin that supports drag drop operation.\r\n * calendar: A calendar plugin that can either be embedded within a page or popup.\r\n * datebox: Combines a textbox with a calendar that let users to select date.\r\n * easyloader: A JavaScript loader that allows you to load plugin and their dependencies into your page.\r\n \r\nVersion 1.0.5\r\n* Bug\r\n * panel: The fit property of panel performs incorrectly. fixed.\r\n* Improvement\r\n * menu: Add a href attribute for menu item, with which user can display a different page in the current browser window.\r\n * form: Add a validate method to do validation for validatebox component.\r\n * dialog: The dialog can read collapsible,minimizable,maximizable and resizable attribute from markup.\r\n* New Plugins\r\n * validatebox: A validation plugin that checks to make sure the user's input value is valid. \r\n \r\nVersion 1.0.4\r\n-------------\r\n* Bug\r\n * panel: When panel is invisible, it is abnormal when resized. fixed.\r\n * panel: Memory leak in method 'destroy'. fixed.\r\n * messager: Memory leak when messager box is closed. fixed.\r\n * dialog: No onLoad event occurs when loading remote data. fixed.\r\n* Improvement\r\n * panel: Add method 'setTitle'.\r\n * window: Add method 'setTitle'.\r\n * dialog: Add method 'setTitle'.\r\n * combotree: Add method 'getValue'.\r\n * combobox: Add method 'getValue'.\r\n * form: The 'load' method can load data and fill combobox and combotree field correctly.\r\n \r\nVersion 1.0.3\r\n-------------\r\n* Bug\r\n * menu: When menu is show in a DIV container, it will be cropped. fixed.\r\n * layout: If you collpase a region panel and then expand it immediately, the region panel will not show normally. fixed.\r\n * accordion: If no panel selected then the first one will become selected and the first panel's body height will not set correctly. fixed.\r\n* Improvement\r\n * tree: Add some methods to support CRUD operation.\r\n * datagrid: Toolbar can accept a new property named 'disabled' to disable the specified tool button.\r\n* New Plugins\r\n * combobox: Combines a textbox with a list of options that users are able to choose from.\r\n * combotree: Combines combobox with drop-down tree component.\r\n * numberbox: Make input element can only enter number char.\r\n * dialog: rewrite the dialog plugin, dialog can contains toolbar and buttons.\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/accordion/_content.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>AJAX Content</title>\r\n</head>\r\n<body>\r\n\t<p style=\"font-size:14px\">Here is the content loaded via AJAX.</p>\r\n\t<ul>\r\n\t\t<li>easyui is a collection of user-interface plugin based on jQuery.</li>\r\n\t\t<li>easyui provides essential functionality for building modern, interactive, javascript applications.</li>\r\n\t\t<li>using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.</li>\r\n\t\t<li>complete framework for HTML5 web page.</li>\r\n\t\t<li>easyui save your time and scales while developing your products.</li>\r\n\t\t<li>easyui is very easy but powerful.</li>\r\n\t</ul>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/accordion/actions.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Accordion Actions - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Accordion Actions</h2>\r\n\t<p>Click the buttons below to add or remove accordion items.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"selectPanel()\">Select</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"addPanel()\">Add</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"removePanel()\">Remove</a>\r\n\t</div>\r\n\t<div id=\"aa\" class=\"easyui-accordion\" style=\"width:500px;height:300px;\">\r\n\t\t<div title=\"About\" data-options=\"iconCls:'icon-ok'\" style=\"overflow:auto;padding:10px;\">\r\n\t\t\t<h3 style=\"color:#0099FF;\">Accordion for jQuery</h3>\r\n\t\t\t<p>Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.</p>\r\n\t\t</div>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction selectPanel(){\r\n\t\t\t$.messager.prompt('Prompt','Please enter the panel title:',function(s){\r\n\t\t\t\tif (s){\r\n\t\t\t\t\t$('#aa').accordion('select',s);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tvar idx = 1;\r\n\t\tfunction addPanel(){\r\n\t\t\t$('#aa').accordion('add',{\r\n\t\t\t\ttitle:'Title'+idx,\r\n\t\t\t\tcontent:'<div style=\"padding:10px\">Content'+idx+'</div>'\r\n\t\t\t});\r\n\t\t\tidx++;\r\n\t\t}\r\n\t\tfunction removePanel(){\r\n\t\t\tvar pp = $('#aa').accordion('getSelected');\r\n\t\t\tif (pp){\r\n\t\t\t\tvar index = $('#aa').accordion('getPanelIndex',pp);\r\n\t\t\t\t$('#aa').accordion('remove',index);\r\n\t\t\t}\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/accordion/ajax.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Loading Accordion Content with AJAX - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Loading Accordion Content with AJAX</h2>\r\n\t<p>Click AJAX panel header to load content via AJAX.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\"></div>\r\n\t<div class=\"easyui-accordion\" style=\"width:500px;height:300px;\">\r\n\t\t<div title=\"About\" data-options=\"iconCls:'icon-ok'\" style=\"overflow:auto;padding:10px;\">\r\n\t\t\t<h3 style=\"color:#0099FF;\">Accordion for jQuery</h3>\r\n\t\t\t<p>Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.</p>\r\n\t\t</div>\r\n\t\t<div title=\"Help\" data-options=\"iconCls:'icon-help'\" style=\"padding:10px;\">\r\n\t\t\t<p>The accordion allows you to provide multiple panels and display one or more at a time. Each panel has built-in support for expanding and collapsing. Clicking on a panel header to expand or collapse that panel body. The panel content can be loaded via ajax by specifying a 'href' property. Users can define a panel to be selected. If it is not specified, then the first panel is taken by default.</p> \t\t\r\n\t\t</div>\r\n\t\t<div title=\"Ajax\" data-options=\"href:'_content.html'\" style=\"padding:10px\">\r\n\t\t</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/accordion/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Accordion - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Accordion</h2>\r\n\t<p>Click on panel header to show its content.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\"></div>\r\n\t<div class=\"easyui-accordion\" style=\"width:500px;height:300px;\">\r\n\t\t<div title=\"About\" data-options=\"iconCls:'icon-ok'\" style=\"overflow:auto;padding:10px;\">\r\n\t\t\t<h3 style=\"color:#0099FF;\">Accordion for jQuery</h3>\r\n\t\t\t<p>Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.</p>\r\n\t\t</div>\r\n\t\t<div title=\"Help\" data-options=\"iconCls:'icon-help'\" style=\"padding:10px;\">\r\n\t\t\t<p>The accordion allows you to provide multiple panels and display one or more at a time. Each panel has built-in support for expanding and collapsing. Clicking on a panel header to expand or collapse that panel body. The panel content can be loaded via ajax by specifying a 'href' property. Users can define a panel to be selected. If it is not specified, then the first panel is taken by default.</p> \t\t\r\n\t\t</div>\r\n\t\t<div title=\"TreeMenu\" data-options=\"iconCls:'icon-search'\" style=\"padding:10px;\">\r\n\t\t\t<ul class=\"easyui-tree\">\r\n\t\t\t\t<li>\r\n\t\t\t\t\t<span>Foods</span>\r\n\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t<span>Fruits</span>\r\n\t\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t\t<li>apple</li>\r\n\t\t\t\t\t\t\t\t<li>orange</li>\r\n\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t<span>Vegetables</span>\r\n\t\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t\t<li>tomato</li>\r\n\t\t\t\t\t\t\t\t<li>carrot</li>\r\n\t\t\t\t\t\t\t\t<li>cabbage</li>\r\n\t\t\t\t\t\t\t\t<li>potato</li>\r\n\t\t\t\t\t\t\t\t<li>lettuce</li>\r\n\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/accordion/datagrid_data1.json",
    "content": "{\"total\":28,\"rows\":[\r\n\t{\"productid\":\"FI-SW-01\",\"productname\":\"Koi\",\"unitcost\":10.00,\"status\":\"P\",\"listprice\":36.50,\"attr1\":\"Large\",\"itemid\":\"EST-1\"},\r\n\t{\"productid\":\"K9-DL-01\",\"productname\":\"Dalmation\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":18.50,\"attr1\":\"Spotted Adult Female\",\"itemid\":\"EST-10\"},\r\n\t{\"productid\":\"RP-SN-01\",\"productname\":\"Rattlesnake\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":38.50,\"attr1\":\"Venomless\",\"itemid\":\"EST-11\"},\r\n\t{\"productid\":\"RP-SN-01\",\"productname\":\"Rattlesnake\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":26.50,\"attr1\":\"Rattleless\",\"itemid\":\"EST-12\"},\r\n\t{\"productid\":\"RP-LI-02\",\"productname\":\"Iguana\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":35.50,\"attr1\":\"Green Adult\",\"itemid\":\"EST-13\"},\r\n\t{\"productid\":\"FL-DSH-01\",\"productname\":\"Manx\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":158.50,\"attr1\":\"Tailless\",\"itemid\":\"EST-14\"},\r\n\t{\"productid\":\"FL-DSH-01\",\"productname\":\"Manx\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":83.50,\"attr1\":\"With tail\",\"itemid\":\"EST-15\"},\r\n\t{\"productid\":\"FL-DLH-02\",\"productname\":\"Persian\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":23.50,\"attr1\":\"Adult Female\",\"itemid\":\"EST-16\"},\r\n\t{\"productid\":\"FL-DLH-02\",\"productname\":\"Persian\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":89.50,\"attr1\":\"Adult Male\",\"itemid\":\"EST-17\"},\r\n\t{\"productid\":\"AV-CB-01\",\"productname\":\"Amazon Parrot\",\"unitcost\":92.00,\"status\":\"P\",\"listprice\":63.50,\"attr1\":\"Adult Male\",\"itemid\":\"EST-18\"}\r\n]}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/accordion/expandable.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Keep Expandable Panel in Accordion - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Keep Expandable Panel in Accordion</h2>\r\n\t<p>Keep a expandable panel and prevent it from collapsing.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\"></div>\r\n\t<div class=\"easyui-accordion\" style=\"width:500px;height:300px;\">\r\n\t\t<div title=\"Top Panel\" data-options=\"iconCls:'icon-search',collapsed:false,collapsible:false\" style=\"padding:10px;\">\r\n\t\t\t<input class=\"easyui-searchbox\" prompt=\"Enter something here\" style=\"width:300px;height:25px;\">\r\n\t\t</div>\r\n\t\t<div title=\"About\" data-options=\"selected:true\" style=\"padding:10px;\">\r\n\t\t\t<h3 style=\"color:#0099FF;\">Accordion for jQuery</h3>\r\n\t\t\t<p>Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.</p>\r\n\t\t</div>\r\n\t\t<div title=\"Title1\" style=\"padding:10px\">\r\n\t\t\t<p>Content1</p>\r\n\t\t</div>\r\n\t\t<div title=\"Title2\" style=\"padding:10px\">\r\n\t\t\t<p>Content2</p>\r\n\t\t</div>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/accordion/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid Accordion - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid Accordion</h2>\r\n\t<p>This example shows how to set the width of accordion to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\"></div>\r\n\t<div class=\"easyui-accordion\" style=\"width:100%;height:180px;\">\r\n\t\t<div title=\"About\" data-options=\"iconCls:'icon-ok'\" style=\"overflow:auto;padding:10px;\">\r\n\t\t\t<p>width: 100%</p>\r\n\t\t</div>\r\n\t\t<div title=\"Help\" data-options=\"iconCls:'icon-help',href:'_content.html'\" style=\"padding:10px;\">\r\n\t\t</div>\r\n\t</div>\r\n\t\t<div style=\"margin:20px 0 10px 0;\"></div>\r\n\r\n\t<div class=\"easyui-accordion\" style=\"width:50%;height:180px;\">\r\n\t\t<div title=\"About\" data-options=\"iconCls:'icon-ok'\" style=\"overflow:auto;padding:10px;\">\r\n\t\t\t<p>width: 50%</p>\r\n\t\t</div>\r\n\t\t<div title=\"Help\" data-options=\"iconCls:'icon-help',href:'_content.html'\" style=\"padding:10px;\">\r\n\t\t</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/accordion/multiple.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Multiple Accordion Panels - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Multiple Accordion Panels</h2>\r\n\t<p>Enable 'multiple' mode to expand multiple panels at one time.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\"></div>\r\n\t<div class=\"easyui-accordion\" data-options=\"multiple:true\" style=\"width:500px;height1:300px;\">\r\n\t\t<div title=\"Language\" data-options=\"iconCls:'icon-ok'\" style=\"overflow:auto;padding:10px;\">\r\n\t\t\t<p>A programming language is a formal language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely.</p>\r\n\t\t</div>\r\n\t\t<div title=\"Java\" style=\"padding:10px;\">\r\n\t\t\t<p>Java (Indonesian: Jawa) is an island of Indonesia. With a population of 135 million (excluding the 3.6 million on the island of Madura which is administered as part of the provinces of Java), Java is the world's most populous island, and one of the most densely populated places in the world.</p>\r\n\t\t</div>\r\n\t\t<div title=\"C#\" style=\"padding:10px;\">\r\n\t\t\t<p>C# is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines.</p>\r\n\t\t</div>\r\n\t\t<div title=\"Ruby\" style=\"padding:10px;\">\r\n\t\t\t<p>A dynamic, reflective, general-purpose object-oriented programming language.</p>\r\n\t\t</div>\r\n\t\t<div title=\"Fortran\" style=\"padding:10px;\">\r\n\t\t\t<p>Fortran (previously FORTRAN) is a general-purpose, imperative programming language that is especially suited to numeric computation and scientific computing.</p>\r\n\t\t</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/accordion/tools.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Accordion Tools - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Accordion Tools</h2>\r\n\t<p>Click the tools on top right of panel to perform actions.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\"></div>\r\n\t<div class=\"easyui-accordion\" style=\"width:500px;height:300px;\">\r\n\t\t<div title=\"About\" data-options=\"iconCls:'icon-ok'\" style=\"overflow:auto;padding:10px;\">\r\n\t\t\t<h3 style=\"color:#0099FF;\">Accordion for jQuery</h3>\r\n\t\t\t<p>Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.</p>\r\n\t\t</div>\r\n\t\t<div title=\"Help\" data-options=\"iconCls:'icon-help'\" style=\"padding:10px;\">\r\n\t\t\t<p>The accordion allows you to provide multiple panels and display one ore more at a time. Each panel has built-in support for expanding and collapsing. Clicking on a panel header to expand or collapse that panel body. The panel content can be loaded via ajax by specifying a 'href' property. Users can define a panel to be selected. If it is not specified, then the first panel is taken by default.</p> \t\t\r\n\t\t</div>\r\n\t\t<div title=\"DataGrid\" style=\"padding:10px\" data-options=\"\r\n\t\t\t\tselected:true,\r\n\t\t\t\ttools:[{\r\n\t\t\t\t\ticonCls:'icon-reload',\r\n\t\t\t\t\thandler:function(){\r\n\t\t\t\t\t\t$('#dg').datagrid('reload');\r\n\t\t\t\t\t}\r\n\t\t\t\t}]\">\r\n\t\t\t<table id=\"dg\" class=\"easyui-datagrid\" \r\n\t\t\t\t\tdata-options=\"url:'datagrid_data1.json',method:'get',fit:true,fitColumns:true,singleSelect:true\">\r\n\t\t\t\t<thead>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t\t\t<th data-options=\"field:'productid',width:100\">Product ID</th>\r\n\t\t\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right'\">List Price</th>\r\n\t\t\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right'\">Unit Cost</th>\r\n\t\t\t\t\t\t<th data-options=\"field:'attr1',width:150\">Attribute</th>\r\n\t\t\t\t\t\t<th data-options=\"field:'status',width:50,align:'center'\">Status</th>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</thead>\r\n\t\t\t</table>\r\n\t\t</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/calendar/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Calendar - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Calendar</h2>\r\n\t<p>Click to select date.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t<div class=\"easyui-calendar\" style=\"width:250px;height:250px;\"></div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/calendar/custom.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Custom Calendar - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Custom Calendar</h2>\r\n\t<p>This example shows how to custom the calendar date by using 'formatter' function.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t\r\n\t<div class=\"easyui-calendar\" style=\"width:250px;height:250px;\" data-options=\"formatter:formatDay\"></div>\r\n\t\t\t\r\n\t<script>\r\n\t\tvar d1 = Math.floor((Math.random()*30)+1);\r\n\t\tvar d2 = Math.floor((Math.random()*30)+1);\r\n\t\tfunction formatDay(date){\r\n\t\t\tvar m = date.getMonth()+1;\r\n\t\t\tvar d = date.getDate();\r\n\t\t\tvar opts = $(this).calendar('options');\r\n\t\t\tif (opts.month == m && d == d1){\r\n\t\t\t\treturn '<div class=\"icon-ok md\">' + d + '</div>';\r\n\t\t\t} else if (opts.month == m && d == d2){\r\n\t\t\t\treturn '<div class=\"icon-search md\">' + d + '</div>';\r\n\t\t\t}\r\n\t\t\treturn d;\r\n\t\t}\r\n\t</script>\r\n\t<style scoped=\"scoped\">\r\n\t\t.md{\r\n\t\t\theight:16px;\r\n\t\t\tline-height:16px;\r\n\t\t\tbackground-position:2px center;\r\n\t\t\ttext-align:right;\r\n\t\t\tfont-weight:bold;\r\n\t\t\tpadding:0 2px;\r\n\t\t\tcolor:red;\r\n\t\t}\r\n\t</style>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/calendar/disabledate.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Disable Calendar Date - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Disable Calendar Date</h2>\r\n\t<p>This example shows how to disable specified dates, only allows the user to select Mondays.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t\r\n\t<div class=\"easyui-calendar\" style=\"width:250px;height:250px;\" data-options=\"\r\n\t\t\tvalidator: function(date){\r\n\t\t\t\tif (date.getDay() == 1){\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\"></div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/calendar/firstday.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>First Day of Week - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>First Day of Week</h2>\r\n\t<p>Choose the first day of the week.</p>\r\n\t\r\n\t<div style=\"margin:20px 0\">\r\n\t\t<select onchange=\"$('#cc').calendar({firstDay:this.value})\">\r\n\t\t\t<option value=\"0\">Sunday</option>\r\n\t\t\t<option value=\"1\">Monday</option>\r\n\t\t\t<option value=\"2\">Tuesday</option>\r\n\t\t\t<option value=\"3\">Wednesday</option>\r\n\t\t\t<option value=\"4\">Thursday</option>\r\n\t\t\t<option value=\"5\">Friday</option>\r\n\t\t\t<option value=\"6\">Saturday</option>\r\n\t\t</select>\r\n\t</div>\r\n\t\r\n\t<div id=\"cc\" class=\"easyui-calendar\" style=\"width:250px;height:250px;\"></div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/calendar/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid Calendar - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid Calendar</h2>\r\n\t<p>This example shows how to set the width of calendar to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t<div class=\"easyui-panel\" style=\"width:700px;padding:10px\">\r\n\t\t<p>width: 50%, height: 250px</p>\r\n\t\t<div class=\"easyui-calendar\" style=\"width:50%;height:250px;\"></div>\r\n\t\t<p>width: 30%, height: 40%</p>\r\n\t\t<div class=\"easyui-calendar\" style=\"width:30%;height:40%;\"></div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combo/animation.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Combo Animation - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Combo Animation</h2>\r\n\t<p>Change the animation type when open & close the drop-down panel.</p>\r\n\t<div style=\"margin:20px 0\">\r\n\t\t<span>Animation Type:</span>\r\n\t\t<select onchange=\"changeAnimation(this.value)\">\r\n\t\t\t<option>slide</option>\r\n\t\t\t<option>fade</option>\r\n\t\t\t<option>show</option>\r\n\t\t</select>\r\n\t</div>\r\n\t<select id=\"cc\" class=\"easyui-combo\" style=\"width:150px\"></select>\r\n\t<script type=\"text/javascript\">\r\n\t\t$(function(){\r\n\t\t\tchangeAnimation('slide');\r\n\t\t});\r\n\t\tfunction changeAnimation(atype){\r\n\t\t\t$('#cc').combo('panel').panel({\r\n\t\t\t\topenAnimation:atype,\r\n\t\t\t\tcloseAnimation:(atype=='show'?'hide':atype)\r\n\t\t\t});\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combo/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Combo - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Combo</h2>\r\n\t<p>Click the right arrow button to show drop down panel that can be filled with any content.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t<select id=\"cc\" style=\"width:150px\"></select>\r\n\t<div id=\"sp\">\r\n\t\t<div style=\"color:#99BBE8;background:#fafafa;padding:5px;\">Select a language</div>\r\n\t\t<div style=\"padding:10px\">\r\n\t\t\t<input type=\"radio\" name=\"lang\" value=\"01\"><span>Java</span><br/>\r\n\t\t\t<input type=\"radio\" name=\"lang\" value=\"02\"><span>C#</span><br/>\r\n\t\t\t<input type=\"radio\" name=\"lang\" value=\"03\"><span>Ruby</span><br/>\r\n\t\t\t<input type=\"radio\" name=\"lang\" value=\"04\"><span>Basic</span><br/>\r\n\t\t\t<input type=\"radio\" name=\"lang\" value=\"05\"><span>Fortran</span>\r\n\t\t</div>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\t$(function(){\r\n\t\t\t$('#cc').combo({\r\n\t\t\t\trequired:true,\r\n\t\t\t\teditable:false\r\n\t\t\t});\r\n\t\t\t$('#sp').appendTo($('#cc').combo('panel'));\r\n\t\t\t$('#sp input').click(function(){\r\n\t\t\t\tvar v = $(this).val();\r\n\t\t\t\tvar s = $(this).next('span').text();\r\n\t\t\t\t$('#cc').combo('setValue', v).combo('setText', s).combo('hidePanel');\r\n\t\t\t});\r\n\t\t});\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combobox/actions.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>ComboBox Actions - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>ComboBox</h2>\r\n\t<p>Click the buttons below to perform actions.</p>\r\n\t\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"setvalue()\">SetValue</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"alert($('#state').combobox('getValue'))\">GetValue</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#state').combobox('disable')\">Disable</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#state').combobox('enable')\">Enable</a>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction setvalue(){\r\n\t\t\t$.messager.prompt('SetValue','Please input the value(CO,NV,UT,etc):',function(v){\r\n\t\t\t\tif (v){\r\n\t\t\t\t\t$('#state').combobox('setValue',v);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t</script>\r\n\t\r\n\t<select id=\"state\" class=\"easyui-combobox\" name=\"state\" style=\"width:200px;\">\r\n\t\t<option value=\"AL\">Alabama</option>\r\n\t\t<option value=\"AK\">Alaska</option>\r\n\t\t<option value=\"AZ\">Arizona</option>\r\n\t\t<option value=\"AR\">Arkansas</option>\r\n\t\t<option value=\"CA\">California</option>\r\n\t\t<option value=\"CO\">Colorado</option>\r\n\t\t<option value=\"CT\">Connecticut</option>\r\n\t\t<option value=\"DE\">Delaware</option>\r\n\t\t<option value=\"FL\">Florida</option>\r\n\t\t<option value=\"GA\">Georgia</option>\r\n\t\t<option value=\"HI\">Hawaii</option>\r\n\t\t<option value=\"ID\">Idaho</option>\r\n\t\t<option value=\"IL\">Illinois</option>\r\n\t\t<option value=\"IN\">Indiana</option>\r\n\t\t<option value=\"IA\">Iowa</option>\r\n\t\t<option value=\"KS\">Kansas</option>\r\n\t\t<option value=\"KY\">Kentucky</option>\r\n\t\t<option value=\"LA\">Louisiana</option>\r\n\t\t<option value=\"ME\">Maine</option>\r\n\t\t<option value=\"MD\">Maryland</option>\r\n\t\t<option value=\"MA\">Massachusetts</option>\r\n\t\t<option value=\"MI\">Michigan</option>\r\n\t\t<option value=\"MN\">Minnesota</option>\r\n\t\t<option value=\"MS\">Mississippi</option>\r\n\t\t<option value=\"MO\">Missouri</option>\r\n\t\t<option value=\"MT\">Montana</option>\r\n\t\t<option value=\"NE\">Nebraska</option>\r\n\t\t<option value=\"NV\">Nevada</option>\r\n\t\t<option value=\"NH\">New Hampshire</option>\r\n\t\t<option value=\"NJ\">New Jersey</option>\r\n\t\t<option value=\"NM\">New Mexico</option>\r\n\t\t<option value=\"NY\">New York</option>\r\n\t\t<option value=\"NC\">North Carolina</option>\r\n\t\t<option value=\"ND\">North Dakota</option>\r\n\t\t<option value=\"OH\" selected>Ohio</option>\r\n\t\t<option value=\"OK\">Oklahoma</option>\r\n\t\t<option value=\"OR\">Oregon</option>\r\n\t\t<option value=\"PA\">Pennsylvania</option>\r\n\t\t<option value=\"RI\">Rhode Island</option>\r\n\t\t<option value=\"SC\">South Carolina</option>\r\n\t\t<option value=\"SD\">South Dakota</option>\r\n\t\t<option value=\"TN\">Tennessee</option>\r\n\t\t<option value=\"TX\">Texas</option>\r\n\t\t<option value=\"UT\">Utah</option>\r\n\t\t<option value=\"VT\">Vermont</option>\r\n\t\t<option value=\"VA\">Virginia</option>\r\n\t\t<option value=\"WA\">Washington</option>\r\n\t\t<option value=\"WV\">West Virginia</option>\r\n\t\t<option value=\"WI\">Wisconsin</option>\r\n\t\t<option value=\"WY\">Wyoming</option>\r\n\t</select>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combobox/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic ComboBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic ComboBox</h2>\r\n\t<p>Type in ComboBox to try auto complete.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t\r\n\t<select class=\"easyui-combobox\" name=\"state\" style=\"width:200px;\">\r\n\t\t<option value=\"AL\">Alabama</option>\r\n\t\t<option value=\"AK\">Alaska</option>\r\n\t\t<option value=\"AZ\">Arizona</option>\r\n\t\t<option value=\"AR\">Arkansas</option>\r\n\t\t<option value=\"CA\">California</option>\r\n\t\t<option value=\"CO\">Colorado</option>\r\n\t\t<option value=\"CT\">Connecticut</option>\r\n\t\t<option value=\"DE\">Delaware</option>\r\n\t\t<option value=\"FL\">Florida</option>\r\n\t\t<option value=\"GA\">Georgia</option>\r\n\t\t<option value=\"HI\">Hawaii</option>\r\n\t\t<option value=\"ID\">Idaho</option>\r\n\t\t<option value=\"IL\">Illinois</option>\r\n\t\t<option value=\"IN\">Indiana</option>\r\n\t\t<option value=\"IA\">Iowa</option>\r\n\t\t<option value=\"KS\">Kansas</option>\r\n\t\t<option value=\"KY\">Kentucky</option>\r\n\t\t<option value=\"LA\">Louisiana</option>\r\n\t\t<option value=\"ME\">Maine</option>\r\n\t\t<option value=\"MD\">Maryland</option>\r\n\t\t<option value=\"MA\">Massachusetts</option>\r\n\t\t<option value=\"MI\">Michigan</option>\r\n\t\t<option value=\"MN\">Minnesota</option>\r\n\t\t<option value=\"MS\">Mississippi</option>\r\n\t\t<option value=\"MO\">Missouri</option>\r\n\t\t<option value=\"MT\">Montana</option>\r\n\t\t<option value=\"NE\">Nebraska</option>\r\n\t\t<option value=\"NV\">Nevada</option>\r\n\t\t<option value=\"NH\">New Hampshire</option>\r\n\t\t<option value=\"NJ\">New Jersey</option>\r\n\t\t<option value=\"NM\">New Mexico</option>\r\n\t\t<option value=\"NY\">New York</option>\r\n\t\t<option value=\"NC\">North Carolina</option>\r\n\t\t<option value=\"ND\">North Dakota</option>\r\n\t\t<option value=\"OH\" selected>Ohio</option>\r\n\t\t<option value=\"OK\">Oklahoma</option>\r\n\t\t<option value=\"OR\">Oregon</option>\r\n\t\t<option value=\"PA\">Pennsylvania</option>\r\n\t\t<option value=\"RI\">Rhode Island</option>\r\n\t\t<option value=\"SC\">South Carolina</option>\r\n\t\t<option value=\"SD\">South Dakota</option>\r\n\t\t<option value=\"TN\">Tennessee</option>\r\n\t\t<option value=\"TX\">Texas</option>\r\n\t\t<option value=\"UT\">Utah</option>\r\n\t\t<option value=\"VT\">Vermont</option>\r\n\t\t<option value=\"VA\">Virginia</option>\r\n\t\t<option value=\"WA\">Washington</option>\r\n\t\t<option value=\"WV\">West Virginia</option>\r\n\t\t<option value=\"WI\">Wisconsin</option>\r\n\t\t<option value=\"WY\">Wyoming</option>\r\n\t</select>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combobox/combobox_data1.json",
    "content": "[{\r\n\t\"id\":1,\r\n\t\"text\":\"Java\",\r\n\t\"desc\":\"Write once, run anywhere\"\r\n},{\r\n\t\"id\":2,\r\n\t\"text\":\"C#\",\r\n\t\"desc\":\"One of the programming languages designed for the Common Language Infrastructure\"\r\n},{\r\n\t\"id\":3,\r\n\t\"text\":\"Ruby\",\r\n\t\"selected\":true,\r\n\t\"desc\":\"A dynamic, reflective, general-purpose object-oriented programming language\"\r\n},{\r\n\t\"id\":4,\r\n\t\"text\":\"Perl\",\r\n\t\"desc\":\"A high-level, general-purpose, interpreted, dynamic programming language\"\r\n},{\r\n\t\"id\":5,\r\n\t\"text\":\"Basic\",\r\n\t\"desc\":\"A family of general-purpose, high-level programming languages\"\r\n}]"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combobox/combobox_data2.json",
    "content": "[{\r\n\t\"value\":\"f20\",\r\n\t\"text\":\"Firefox 2.0 or higher\",\r\n\t\"group\":\"Firefox\"\r\n},{\r\n\t\"value\":\"f15\",\r\n\t\"text\":\"Firefox 1.5.x\",\r\n\t\"group\":\"Firefox\"\r\n},{\r\n\t\"value\":\"f10\",\r\n\t\"text\":\"Firefox 1.0.x\",\r\n\t\"group\":\"Firefox\"\r\n},{\r\n\t\"value\":\"ie7\",\r\n\t\"text\":\"Microsoft Internet Explorer 7.0 or higher\",\r\n\t\"group\":\"Microsoft Internet Explorer\"\r\n},{\r\n\t\"value\":\"ie6\",\r\n\t\"text\":\"Microsoft Internet Explorer 6.x\",\r\n\t\"group\":\"Microsoft Internet Explorer\"\r\n},{\r\n\t\"value\":\"ie5\",\r\n\t\"text\":\"Microsoft Internet Explorer 5.x\",\r\n\t\"group\":\"Microsoft Internet Explorer\"\r\n},{\r\n\t\"value\":\"ie4\",\r\n\t\"text\":\"Microsoft Internet Explorer 4.x\",\r\n\t\"group\":\"Microsoft Internet Explorer\"\r\n},{\r\n\t\"value\":\"op9\",\r\n\t\"text\":\"Opera 9.0 or higher\",\r\n\t\"group\":\"Opera\"\r\n},{\r\n\t\"value\":\"op8\",\r\n\t\"text\":\"Opera 8.x\",\r\n\t\"group\":\"Opera\"\r\n},{\r\n\t\"value\":\"op7\",\r\n\t\"text\":\"Opera 7.x\",\r\n\t\"group\":\"Opera\"\r\n},{\r\n\t\"value\":\"Safari\",\r\n\t\"text\":\"Safari\"\r\n},{\r\n\t\"value\":\"Other\",\r\n\t\"text\":\"Other\"\r\n}]"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combobox/customformat.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Custom Format in ComboBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Custom Format in ComboBox</h2>\r\n\t<p>This sample shows how to custom the format of list item.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t<input class=\"easyui-combobox\" name=\"language\" data-options=\"\r\n\t\t\t\turl: 'combobox_data1.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tvalueField: 'id',\r\n\t\t\t\ttextField: 'text',\r\n\t\t\t\tpanelWidth: 350,\r\n\t\t\t\tpanelHeight: 'auto',\r\n\t\t\t\tformatter: formatItem\r\n\t\t\t\">\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction formatItem(row){\r\n\t\t\tvar s = '<span style=\"font-weight:bold\">' + row.text + '</span><br/>' +\r\n\t\t\t\t\t'<span style=\"color:#888\">' + row.desc + '</span>';\r\n\t\t\treturn s;\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combobox/dynamicdata.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Load Dynamic ComboBox Data - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Load Dynamic ComboBox Data</h2>\r\n\t<p>Click the button below to load data.</p>\r\n\t\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#language').combobox('reload', 'combobox_data1.json')\">LoadData</a>\r\n\t</div>\r\n\r\n\t<input class=\"easyui-combobox\" id=\"language\" name=\"language\"\r\n\t\t\tdata-options=\"valueField:'id',textField:'text'\">\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combobox/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid ComboBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid ComboBox</h2>\r\n\t<p>This example shows how to set the width of combobox to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t<p>width: 50%</p>\r\n\t<input class=\"easyui-combobox\" name=\"language\" style=\"width:50%\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\turl: 'combobox_data2.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tvalueField:'value',\r\n\t\t\t\ttextField:'text',\r\n\t\t\t\tgroupField:'group'\r\n\t\t\t\">\r\n\t<p>width: 30%</p>\r\n\t<input class=\"easyui-combobox\" name=\"language\" style=\"width:30%\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\turl:'combobox_data1.json',\r\n\t\t\t\tmethod:'get',\r\n\t\t\t\tvalueField:'id',\r\n\t\t\t\ttextField:'text',\r\n\t\t\t\tpanelHeight:'auto'\r\n\t\t\t\">\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combobox/group.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Group ComboBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Group ComboBox</h2>\r\n\t<p>This example shows how to display combobox items in groups.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t\r\n\t<input class=\"easyui-combobox\" name=\"browser\" style=\"width:280px;\" data-options=\"\r\n\t\t\t\turl: 'combobox_data2.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tvalueField:'value',\r\n\t\t\t\ttextField:'text',\r\n\t\t\t\tgroupField:'group'\r\n\t\t\t\">\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combobox/icons.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>ComboBox with Extra Icons- jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>ComboBox with Extra Icons</h2>\r\n\t<p>The user can attach extra icons to the ComboBox.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t<input class=\"easyui-combobox\" \r\n\t\t\tname=\"language\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\t\turl:'combobox_data1.json',\r\n\t\t\t\t\tmethod:'get',\r\n\t\t\t\t\tvalueField:'id',\r\n\t\t\t\t\ttextField:'text',\r\n\t\t\t\t\tpanelHeight:'auto',\r\n\t\t\t\t\ticons:[{\r\n\t\t\t\t\t\ticonCls:'icon-add'\r\n\t\t\t\t\t},{\r\n\t\t\t\t\t\ticonCls:'icon-cut'\r\n\t\t\t\t\t}]\r\n\t\t\t\">\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combobox/multiline.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Multiline ComboBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Multiline ComboBox</h2>\r\n\t<p>This example shows how to create a multiline ComboBox.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t\r\n\t<select class=\"easyui-combobox\" name=\"state\" data-options=\"multiple:true,multiline:true\" style=\"width:200px;height:50px\">\r\n\t\t<option value=\"AL\">Alabama</option>\r\n\t\t<option value=\"AK\">Alaska</option>\r\n\t\t<option value=\"AZ\">Arizona</option>\r\n\t\t<option value=\"AR\">Arkansas</option>\r\n\t\t<option value=\"CA\">California</option>\r\n\t\t<option value=\"CO\">Colorado</option>\r\n\t\t<option value=\"CT\">Connecticut</option>\r\n\t\t<option value=\"DE\">Delaware</option>\r\n\t\t<option value=\"FL\">Florida</option>\r\n\t\t<option value=\"GA\">Georgia</option>\r\n\t\t<option value=\"HI\">Hawaii</option>\r\n\t\t<option value=\"ID\">Idaho</option>\r\n\t\t<option value=\"IL\">Illinois</option>\r\n\t\t<option value=\"IN\">Indiana</option>\r\n\t\t<option value=\"IA\">Iowa</option>\r\n\t\t<option value=\"KS\">Kansas</option>\r\n\t\t<option value=\"KY\">Kentucky</option>\r\n\t\t<option value=\"LA\">Louisiana</option>\r\n\t\t<option value=\"ME\">Maine</option>\r\n\t\t<option value=\"MD\">Maryland</option>\r\n\t\t<option value=\"MA\">Massachusetts</option>\r\n\t\t<option value=\"MI\">Michigan</option>\r\n\t\t<option value=\"MN\">Minnesota</option>\r\n\t\t<option value=\"MS\">Mississippi</option>\r\n\t\t<option value=\"MO\">Missouri</option>\r\n\t\t<option value=\"MT\">Montana</option>\r\n\t\t<option value=\"NE\">Nebraska</option>\r\n\t\t<option value=\"NV\">Nevada</option>\r\n\t\t<option value=\"NH\">New Hampshire</option>\r\n\t\t<option value=\"NJ\">New Jersey</option>\r\n\t\t<option value=\"NM\">New Mexico</option>\r\n\t\t<option value=\"NY\">New York</option>\r\n\t\t<option value=\"NC\">North Carolina</option>\r\n\t\t<option value=\"ND\">North Dakota</option>\r\n\t\t<option value=\"OH\" selected>Ohio</option>\r\n\t\t<option value=\"OK\">Oklahoma</option>\r\n\t\t<option value=\"OR\">Oregon</option>\r\n\t\t<option value=\"PA\">Pennsylvania</option>\r\n\t\t<option value=\"RI\">Rhode Island</option>\r\n\t\t<option value=\"SC\">South Carolina</option>\r\n\t\t<option value=\"SD\">South Dakota</option>\r\n\t\t<option value=\"TN\">Tennessee</option>\r\n\t\t<option value=\"TX\">Texas</option>\r\n\t\t<option value=\"UT\">Utah</option>\r\n\t\t<option value=\"VT\">Vermont</option>\r\n\t\t<option value=\"VA\">Virginia</option>\r\n\t\t<option value=\"WA\">Washington</option>\r\n\t\t<option value=\"WV\">West Virginia</option>\r\n\t\t<option value=\"WI\">Wisconsin</option>\r\n\t\t<option value=\"WY\">Wyoming</option>\r\n\t</select>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combobox/multiple.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Multiple Select - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Load Dynamic ComboBox Data</h2>\r\n\t<p>Drop down the panel and select multiple items.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t\r\n\t<input class=\"easyui-combobox\" \r\n\t\t\tname=\"language\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\t\turl:'combobox_data1.json',\r\n\t\t\t\t\tmethod:'get',\r\n\t\t\t\t\tvalueField:'id',\r\n\t\t\t\t\ttextField:'text',\r\n\t\t\t\t\tmultiple:true,\r\n\t\t\t\t\tpanelHeight:'auto'\r\n\t\t\t\">\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combobox/navigation.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Navigate ComboBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Navigate ComboBox</h2>\r\n\t<p>Navigate through combobox items width keyboard to select an item.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<input type=\"checkbox\" checked onchange=\"$('#cc').combobox({selectOnNavigation:$(this).is(':checked')})\">\r\n\t\t<span>SelectOnNavigation</span>\r\n\t</div>\r\n\t\r\n\t<select id=\"cc\" class=\"easyui-combobox\" name=\"state\" style=\"width:200px;\">\r\n\t\t<option value=\"AL\">Alabama</option>\r\n\t\t<option value=\"AK\">Alaska</option>\r\n\t\t<option value=\"AZ\">Arizona</option>\r\n\t\t<option value=\"AR\">Arkansas</option>\r\n\t\t<option value=\"CA\">California</option>\r\n\t\t<option value=\"CO\">Colorado</option>\r\n\t\t<option value=\"CT\">Connecticut</option>\r\n\t\t<option value=\"DE\">Delaware</option>\r\n\t\t<option value=\"FL\">Florida</option>\r\n\t\t<option value=\"GA\">Georgia</option>\r\n\t\t<option value=\"HI\">Hawaii</option>\r\n\t\t<option value=\"ID\">Idaho</option>\r\n\t\t<option value=\"IL\">Illinois</option>\r\n\t\t<option value=\"IN\">Indiana</option>\r\n\t\t<option value=\"IA\">Iowa</option>\r\n\t\t<option value=\"KS\">Kansas</option>\r\n\t\t<option value=\"KY\">Kentucky</option>\r\n\t\t<option value=\"LA\">Louisiana</option>\r\n\t\t<option value=\"ME\">Maine</option>\r\n\t\t<option value=\"MD\">Maryland</option>\r\n\t\t<option value=\"MA\">Massachusetts</option>\r\n\t\t<option value=\"MI\">Michigan</option>\r\n\t\t<option value=\"MN\">Minnesota</option>\r\n\t\t<option value=\"MS\">Mississippi</option>\r\n\t\t<option value=\"MO\">Missouri</option>\r\n\t\t<option value=\"MT\">Montana</option>\r\n\t\t<option value=\"NE\">Nebraska</option>\r\n\t\t<option value=\"NV\">Nevada</option>\r\n\t\t<option value=\"NH\">New Hampshire</option>\r\n\t\t<option value=\"NJ\">New Jersey</option>\r\n\t\t<option value=\"NM\">New Mexico</option>\r\n\t\t<option value=\"NY\">New York</option>\r\n\t\t<option value=\"NC\">North Carolina</option>\r\n\t\t<option value=\"ND\">North Dakota</option>\r\n\t\t<option value=\"OK\">Oklahoma</option>\r\n\t\t<option value=\"OR\">Oregon</option>\r\n\t\t<option value=\"PA\">Pennsylvania</option>\r\n\t\t<option value=\"RI\">Rhode Island</option>\r\n\t\t<option value=\"SC\">South Carolina</option>\r\n\t\t<option value=\"SD\">South Dakota</option>\r\n\t\t<option value=\"TN\">Tennessee</option>\r\n\t\t<option value=\"TX\">Texas</option>\r\n\t\t<option value=\"UT\">Utah</option>\r\n\t\t<option value=\"VT\">Vermont</option>\r\n\t\t<option value=\"VA\">Virginia</option>\r\n\t\t<option value=\"WA\">Washington</option>\r\n\t\t<option value=\"WV\">West Virginia</option>\r\n\t\t<option value=\"WI\">Wisconsin</option>\r\n\t\t<option value=\"WY\">Wyoming</option>\r\n\t</select>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combobox/remotedata.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Binding to Remote Data - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Binding to Remote Data</h2>\r\n\t<p>The ComboBox is bound to a remote data.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t<input class=\"easyui-combobox\" \r\n\t\t\tname=\"language\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\t\turl:'combobox_data1.json',\r\n\t\t\t\t\tmethod:'get',\r\n\t\t\t\t\tvalueField:'id',\r\n\t\t\t\t\ttextField:'text',\r\n\t\t\t\t\tpanelHeight:'auto'\r\n\t\t\t\">\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combobox/remotejsonp.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Remote JSONP - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Remote JSONP</h2>\r\n\t<p>This sample shows how to use JSONP to retrieve data from a remote site.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t<input class=\"easyui-combobox\" style=\"width:250px\" data-options=\"\r\n\t\t\t\tloader: myloader,\r\n\t\t\t\tmode: 'remote',\r\n\t\t\t\tvalueField: 'id',\r\n\t\t\t\ttextField: 'name'\r\n\t\t\t\">\r\n\t<script>\r\n\t\tvar myloader = function(param,success,error){\r\n\t\t\tvar q = param.q || '';\r\n\t\t\tif (q.length <= 1){return false}\r\n\t\t\t$.ajax({\r\n\t\t\t\turl: 'http://ws.geonames.org/searchJSON',\r\n\t\t\t\tdataType: 'jsonp',\r\n                data: {\r\n                    featureClass: \"P\",\r\n                    style: \"full\",\r\n                    maxRows: 20,\r\n                    name_startsWith: q\r\n                },\r\n\t\t\t\tsuccess: function(data){\r\n\t\t\t\t\tvar items = $.map(data.geonames, function(item){\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tid: item.geonameId,\r\n\t\t\t\t\t\t\tname: item.name + (item.adminName1 ? ', ' + item.adminName1 : '') + ', ' + item.countryName\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t\tsuccess(items);\r\n\t\t\t\t},\r\n                error: function(){\r\n\t\t\t\t\terror.apply(this, arguments);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combogrid/actions.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>ComboGrid Actions - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>ComboGrid Actions</h2>\r\n\t<p>Click the buttons below to perform actions.</p>\r\n\t<div style=\"margin:20px 0\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"getValue()\">GetValue</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"setValue()\">SetValue</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"disable()\">Disable</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"enable()\">Enable</a>\r\n\t</div>\r\n\t<input id=\"cc\" class=\"easyui-combogrid\" style=\"width:250px\" data-options=\"\r\n\t\t\tpanelWidth: 500,\r\n\t\t\tidField: 'itemid',\r\n\t\t\ttextField: 'productname',\r\n\t\t\turl: 'datagrid_data1.json',\r\n\t\t\tmethod: 'get',\r\n\t\t\tcolumns: [[\r\n\t\t\t\t{field:'itemid',title:'Item ID',width:80},\r\n\t\t\t\t{field:'productname',title:'Product',width:120},\r\n\t\t\t\t{field:'listprice',title:'List Price',width:80,align:'right'},\r\n\t\t\t\t{field:'unitcost',title:'Unit Cost',width:80,align:'right'},\r\n\t\t\t\t{field:'attr1',title:'Attribute',width:200},\r\n\t\t\t\t{field:'status',title:'Status',width:60,align:'center'}\r\n\t\t\t]],\r\n\t\t\tfitColumns: true\r\n\t\t\">\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction getValue(){\r\n\t\t\tvar val = $('#cc').combogrid('getValue');\r\n\t\t\talert(val);\r\n\t\t}\r\n\t\tfunction setValue(){\r\n\t\t\t$('#cc').combogrid('setValue', 'EST-13');\r\n\t\t}\r\n\t\tfunction disable(){\r\n\t\t\t$('#cc').combogrid('disable');\r\n\t\t}\r\n\t\tfunction enable(){\r\n\t\t\t$('#cc').combogrid('enable');\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combogrid/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic ComboGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic ComboGrid</h2>\r\n\t<p>Click the right arrow button to show the DataGrid.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t<select class=\"easyui-combogrid\" style=\"width:250px\" data-options=\"\r\n\t\t\tpanelWidth: 500,\r\n\t\t\tidField: 'itemid',\r\n\t\t\ttextField: 'productname',\r\n\t\t\turl: 'datagrid_data1.json',\r\n\t\t\tmethod: 'get',\r\n\t\t\tcolumns: [[\r\n\t\t\t\t{field:'itemid',title:'Item ID',width:80},\r\n\t\t\t\t{field:'productname',title:'Product',width:120},\r\n\t\t\t\t{field:'listprice',title:'List Price',width:80,align:'right'},\r\n\t\t\t\t{field:'unitcost',title:'Unit Cost',width:80,align:'right'},\r\n\t\t\t\t{field:'attr1',title:'Attribute',width:200},\r\n\t\t\t\t{field:'status',title:'Status',width:60,align:'center'}\r\n\t\t\t]],\r\n\t\t\tfitColumns: true\r\n\t\t\">\r\n\t</select>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combogrid/datagrid_data1.json",
    "content": "{\"total\":28,\"rows\":[\r\n\t{\"productid\":\"FI-SW-01\",\"productname\":\"Koi\",\"unitcost\":10.00,\"status\":\"P\",\"listprice\":36.50,\"attr1\":\"Large\",\"itemid\":\"EST-1\"},\r\n\t{\"productid\":\"K9-DL-01\",\"productname\":\"Dalmation\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":18.50,\"attr1\":\"Spotted Adult Female\",\"itemid\":\"EST-10\"},\r\n\t{\"productid\":\"RP-SN-01\",\"productname\":\"Rattlesnake\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":38.50,\"attr1\":\"Venomless\",\"itemid\":\"EST-11\"},\r\n\t{\"productid\":\"RP-SN-01\",\"productname\":\"Rattlesnake\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":26.50,\"attr1\":\"Rattleless\",\"itemid\":\"EST-12\"},\r\n\t{\"selected\":true,\"productid\":\"RP-LI-02\",\"productname\":\"Iguana\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":35.50,\"attr1\":\"Green Adult\",\"itemid\":\"EST-13\"},\r\n\t{\"productid\":\"FL-DSH-01\",\"productname\":\"Manx\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":158.50,\"attr1\":\"Tailless\",\"itemid\":\"EST-14\"},\r\n\t{\"productid\":\"FL-DSH-01\",\"productname\":\"Manx\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":83.50,\"attr1\":\"With tail\",\"itemid\":\"EST-15\"},\r\n\t{\"productid\":\"FL-DLH-02\",\"productname\":\"Persian\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":23.50,\"attr1\":\"Adult Female\",\"itemid\":\"EST-16\"},\r\n\t{\"productid\":\"FL-DLH-02\",\"productname\":\"Persian\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":89.50,\"attr1\":\"Adult Male\",\"itemid\":\"EST-17\"},\r\n\t{\"productid\":\"AV-CB-01\",\"productname\":\"Amazon Parrot\",\"unitcost\":92.00,\"status\":\"P\",\"listprice\":63.50,\"attr1\":\"Adult Male\",\"itemid\":\"EST-18\"}\r\n]}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combogrid/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid ComboGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid ComboGrid</h2>\r\n\t<p>This example shows how to set the width of ComboGrid to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t<p>width: 50%</p>\r\n\t<select class=\"easyui-combogrid\" style=\"width:50%\" data-options=\"\r\n\t\t\tpanelWidth: 500,\r\n\t\t\tpanelMinWidth: '50%',\r\n\t\t\tidField: 'itemid',\r\n\t\t\ttextField: 'productname',\r\n\t\t\turl: 'datagrid_data1.json',\r\n\t\t\tmethod: 'get',\r\n\t\t\tcolumns: [[\r\n\t\t\t\t{field:'itemid',title:'Item ID',width:80},\r\n\t\t\t\t{field:'productname',title:'Product',width:120},\r\n\t\t\t\t{field:'listprice',title:'List Price',width:80,align:'right'},\r\n\t\t\t\t{field:'unitcost',title:'Unit Cost',width:80,align:'right'},\r\n\t\t\t\t{field:'attr1',title:'Attribute',width:200},\r\n\t\t\t\t{field:'status',title:'Status',width:60,align:'center'}\r\n\t\t\t]],\r\n\t\t\tfitColumns: true\r\n\t\t\">\r\n\t</select>\r\n\t<p>width: 30%</p>\r\n\t<select class=\"easyui-combogrid\" style=\"width:30%\" data-options=\"\r\n\t\t\tpanelWidth: 500,\r\n\t\t\tidField: 'itemid',\r\n\t\t\ttextField: 'productname',\r\n\t\t\turl: 'datagrid_data1.json',\r\n\t\t\tmethod: 'get',\r\n\t\t\tcolumns: [[\r\n\t\t\t\t{field:'itemid',title:'Item ID',width:80},\r\n\t\t\t\t{field:'productname',title:'Product',width:120},\r\n\t\t\t\t{field:'listprice',title:'List Price',width:80,align:'right'},\r\n\t\t\t\t{field:'unitcost',title:'Unit Cost',width:80,align:'right'},\r\n\t\t\t\t{field:'attr1',title:'Attribute',width:200},\r\n\t\t\t\t{field:'status',title:'Status',width:60,align:'center'}\r\n\t\t\t]],\r\n\t\t\tfitColumns: true\r\n\t\t\">\r\n\t</select>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combogrid/initvalue.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Initialize Value for ComboGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Initialize Value for ComboGrid</h2>\r\n\t<p>Initialize value when ComboGrid is created.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t<input class=\"easyui-combogrid\" style=\"width:250px\" value=\"EST-12\" data-options=\"\r\n\t\t\tpanelWidth: 500,\r\n\t\t\tidField: 'itemid',\r\n\t\t\ttextField: 'productname',\r\n\t\t\turl: 'datagrid_data1.json',\r\n\t\t\tmethod: 'get',\r\n\t\t\tcolumns: [[\r\n\t\t\t\t{field:'itemid',title:'Item ID',width:80},\r\n\t\t\t\t{field:'productname',title:'Product',width:120},\r\n\t\t\t\t{field:'listprice',title:'List Price',width:80,align:'right'},\r\n\t\t\t\t{field:'unitcost',title:'Unit Cost',width:80,align:'right'},\r\n\t\t\t\t{field:'attr1',title:'Attribute',width:200},\r\n\t\t\t\t{field:'status',title:'Status',width:60,align:'center'}\r\n\t\t\t]],\r\n\t\t\tfitColumns: true\r\n\t\t\">\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combogrid/multiple.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Multiple ComboGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Multiple ComboGrid</h2>\r\n\t<p>Click the right arrow button to show the DataGrid and select items.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t<select class=\"easyui-combogrid\" style=\"width:250px\" data-options=\"\r\n\t\t\tpanelWidth: 500,\r\n\t\t\tmultiple: true,\r\n\t\t\tidField: 'itemid',\r\n\t\t\ttextField: 'productname',\r\n\t\t\turl: 'datagrid_data1.json',\r\n\t\t\tmethod: 'get',\r\n\t\t\tcolumns: [[\r\n\t\t\t\t{field:'ck',checkbox:true},\r\n\t\t\t\t{field:'itemid',title:'Item ID',width:80},\r\n\t\t\t\t{field:'productname',title:'Product',width:120},\r\n\t\t\t\t{field:'listprice',title:'List Price',width:80,align:'right'},\r\n\t\t\t\t{field:'unitcost',title:'Unit Cost',width:80,align:'right'},\r\n\t\t\t\t{field:'attr1',title:'Attribute',width:200},\r\n\t\t\t\t{field:'status',title:'Status',width:60,align:'center'}\r\n\t\t\t]],\r\n\t\t\tfitColumns: true\r\n\t\t\">\r\n\t</select>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combogrid/navigation.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Navigate ComboGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Navigate ComboGrid</h2>\r\n\t<p>Navigate through grid items with keyboard to select an item.</p>\r\n\t<div style=\"margin:20px 0\">\r\n\t\t<input type=\"checkbox\" checked onchange=\"$('#cc').combogrid({selectOnNavigation:$(this).is(':checked')})\">\r\n\t\t<span>SelectOnNavigation</span>\r\n\t</div>\r\n\t<select id=\"cc\" class=\"easyui-combogrid\" style=\"width:250px\" data-options=\"\r\n\t\t\tpanelWidth: 500,\r\n\t\t\tidField: 'itemid',\r\n\t\t\ttextField: 'productname',\r\n\t\t\turl: 'datagrid_data1.json',\r\n\t\t\tmethod: 'get',\r\n\t\t\tcolumns: [[\r\n\t\t\t\t{field:'itemid',title:'Item ID',width:80},\r\n\t\t\t\t{field:'productname',title:'Product',width:120},\r\n\t\t\t\t{field:'listprice',title:'List Price',width:80,align:'right'},\r\n\t\t\t\t{field:'unitcost',title:'Unit Cost',width:80,align:'right'},\r\n\t\t\t\t{field:'attr1',title:'Attribute',width:200},\r\n\t\t\t\t{field:'status',title:'Status',width:60,align:'center'}\r\n\t\t\t]],\r\n\t\t\tfitColumns: true\r\n\t\t\">\r\n\t</select>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combotree/actions.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>ComboTree Actions - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>ComboTree Actions</h2>\r\n\t<p>Click the buttons below to perform actions</p>\r\n\t<div style=\"margin:20px 0\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"getValue()\">GetValue</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"setValue()\">SetValue</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"disable()\">Disable</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"enable()\">Enable</a>\r\n\t</div>\r\n\t<input id=\"cc\" class=\"easyui-combotree\" data-options=\"url:'tree_data1.json',method:'get',required:true\" style=\"width:200px;\">\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction getValue(){\r\n\t\t\tvar val = $('#cc').combotree('getValue');\r\n\t\t\talert(val);\r\n\t\t}\r\n\t\tfunction setValue(){\r\n\t\t\t$('#cc').combotree('setValue', '122');\r\n\t\t}\r\n\t\tfunction disable(){\r\n\t\t\t$('#cc').combotree('disable');\r\n\t\t}\r\n\t\tfunction enable(){\r\n\t\t\t$('#cc').combotree('enable');\r\n\t\t}\r\n\t</script>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combotree/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic ComboTree - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic ComboTree</h2>\r\n\t<p>Click the right arrow button to show the tree panel.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t<input class=\"easyui-combotree\" data-options=\"url:'tree_data1.json',method:'get',required:true\" style=\"width:200px;\">\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combotree/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid ComboTree - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid ComboTree</h2>\r\n\t<p>This example shows how to set the width of ComboTree to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t<p>width: 50%</p>\r\n\t<input class=\"easyui-combotree\" value=\"122\" data-options=\"url:'tree_data1.json',method:'get'\" style=\"width:50%;\">\r\n\t<p>width: 30%, height: 26px</p>\r\n\t<input class=\"easyui-combotree\" value=\"124\" data-options=\"url:'tree_data1.json',method:'get'\" style=\"width:30%;height:26px\">\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combotree/initvalue.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Initialize Value for ComboTree - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Initialize Value for ComboTree</h2>\r\n\t<p>Initialize Value when ComboTree is created.</p>\r\n\t<div style=\"margin:20px 0\"></div>\r\n\t<input class=\"easyui-combotree\" value=\"122\" data-options=\"url:'tree_data1.json',method:'get',required:true\" style=\"width:200px;\">\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combotree/multiple.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Multiple ComboTree - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Multiple ComboTree</h2>\r\n\t<p>Click the right arrow button to show the tree panel and select multiple nodes.</p>\r\n\t<div style=\"margin:20px 0\">\r\n\t\t<span>Cascade Check: </span>\r\n\t\t<input type=\"checkbox\" checked onclick=\"$('#cc').combotree({cascadeCheck:$(this).is(':checked')})\">\r\n\t</div>\r\n\t<select id=\"cc\" class=\"easyui-combotree\" data-options=\"url:'tree_data1.json',method:'get'\" multiple style=\"width:200px;\"></select>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/combotree/tree_data1.json",
    "content": "[{\r\n\t\"id\":1,\r\n\t\"text\":\"My Documents\",\r\n\t\"children\":[{\r\n\t\t\"id\":11,\r\n\t\t\"text\":\"Photos\",\r\n\t\t\"state\":\"closed\",\r\n\t\t\"children\":[{\r\n\t\t\t\"id\":111,\r\n\t\t\t\"text\":\"Friend\"\r\n\t\t},{\r\n\t\t\t\"id\":112,\r\n\t\t\t\"text\":\"Wife\"\r\n\t\t},{\r\n\t\t\t\"id\":113,\r\n\t\t\t\"text\":\"Company\"\r\n\t\t}]\r\n\t},{\r\n\t\t\"id\":12,\r\n\t\t\"text\":\"Program Files\",\r\n\t\t\"children\":[{\r\n\t\t\t\"id\":121,\r\n\t\t\t\"text\":\"Intel\"\r\n\t\t},{\r\n\t\t\t\"id\":122,\r\n\t\t\t\"text\":\"Java\",\r\n\t\t\t\"attributes\":{\r\n\t\t\t\t\"p1\":\"Custom Attribute1\",\r\n\t\t\t\t\"p2\":\"Custom Attribute2\"\r\n\t\t\t}\r\n\t\t},{\r\n\t\t\t\"id\":123,\r\n\t\t\t\"text\":\"Microsoft Office\"\r\n\t\t},{\r\n\t\t\t\"id\":124,\r\n\t\t\t\"text\":\"Games\",\r\n\t\t\t\"checked\":true\r\n\t\t}]\r\n\t},{\r\n\t\t\"id\":13,\r\n\t\t\"text\":\"index.html\"\r\n\t},{\r\n\t\t\"id\":14,\r\n\t\t\"text\":\"about.html\"\r\n\t},{\r\n\t\t\"id\":15,\r\n\t\t\"text\":\"welcome.html\"\r\n\t}]\r\n}]\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/aligncolumns.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Aligning Columns in DataGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Aligning Columns in DataGrid</h2>\r\n\t<p>Use align and halign properties to set the alignment of the columns and their header.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t\r\n\t<table class=\"easyui-datagrid\" title=\"Aligning Columns in DataGrid\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"singleSelect:true,collapsible:true,url:'datagrid_data1.json',method:'get'\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80,halign:'center'\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100,halign:'center'\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right',halign:'center'\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right',halign:'center'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:250,halign:'center'\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center',halign:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic DataGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic DataGrid</h2>\r\n\t<p>The DataGrid is created from markup, no JavaScript code needed.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t\r\n\t<table class=\"easyui-datagrid\" title=\"Basic DataGrid\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"singleSelect:true,collapsible:true,url:'datagrid_data1.json',method:'get'\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right'\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:250\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/cacheeditor.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Cache Editor for DataGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Cache Editor for DataGrid</h2>\r\n\t<p>This example shows how to cache the editors for datagrid to improve the editing speed.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t\r\n\t<table id=\"dg\" class=\"easyui-datagrid\" title=\"Cache Editor for DataGrid\" style=\"width:700px;height:auto\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\ticonCls: 'icon-edit',\r\n\t\t\t\tsingleSelect: true,\r\n\t\t\t\ttoolbar: '#tb',\r\n\t\t\t\turl: 'datagrid_data1.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tonClickRow: onClickRow\r\n\t\t\t\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100,\r\n\t\t\t\t\t\tformatter:function(value,row){\r\n\t\t\t\t\t\t\treturn row.productname;\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\teditor:{\r\n\t\t\t\t\t\t\ttype:'combobox',\r\n\t\t\t\t\t\t\toptions:{\r\n\t\t\t\t\t\t\t\tvalueField:'productid',\r\n\t\t\t\t\t\t\t\ttextField:'productname',\r\n\t\t\t\t\t\t\t\tmethod:'get',\r\n\t\t\t\t\t\t\t\turl:'products.json',\r\n\t\t\t\t\t\t\t\trequired:true\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right',editor:{type:'numberbox',options:{precision:1}}\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right',editor:'numberbox'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:250,editor:'text'\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center',editor:{type:'checkbox',options:{on:'P',off:''}}\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n\t<div id=\"tb\" style=\"height:auto\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-save',plain:true\" onclick=\"accept()\">Accept</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-undo',plain:true\" onclick=\"reject()\">Reject</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-search',plain:true\" onclick=\"getChanges()\">GetChanges</a>\r\n\t</div>\r\n\t\r\n\t<script type=\"text/javascript\">\r\n\t\t(function($){\r\n\t\t\tfunction getCacheContainer(t){\r\n\t\t\t\tvar view = $(t).closest('div.datagrid-view');\r\n\t\t\t\tvar c = view.children('div.datagrid-editor-cache');\r\n\t\t\t\tif (!c.length){\r\n\t\t\t\t\tc = $('<div class=\"datagrid-editor-cache\" style=\"position:absolute;display:none\"></div>').appendTo(view);\r\n\t\t\t\t}\r\n\t\t\t\treturn c;\r\n\t\t\t}\r\n\t\t\tfunction getCacheEditor(t, field){\r\n\t\t\t\tvar c = getCacheContainer(t);\r\n\t\t\t\treturn c.children('div.datagrid-editor-cache-' + field);\r\n\t\t\t}\r\n\t\t\tfunction setCacheEditor(t, field, editor){\r\n\t\t\t\tvar c = getCacheContainer(t);\r\n\t\t\t\tc.children('div.datagrid-editor-cache-' + field).remove();\r\n\t\t\t\tvar e = $('<div class=\"datagrid-editor-cache-' + field + '\"></div>').appendTo(c);\r\n\t\t\t\te.append(editor);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tvar editors = $.fn.datagrid.defaults.editors;\r\n\t\t\tfor(var editor in editors){\r\n\t\t\t\tvar opts = editors[editor];\r\n\t\t\t\t(function(){\r\n\t\t\t\t\tvar init = opts.init;\r\n\t\t\t\t\topts.init = function(container, options){\r\n\t\t\t\t\t\tvar field = $(container).closest('td[field]').attr('field');\r\n\t\t\t\t\t\tvar ed = getCacheEditor(container, field);\r\n\t\t\t\t\t\tif (ed.length){\r\n\t\t\t\t\t\t\ted.appendTo(container);\r\n\t\t\t\t\t\t\treturn ed.find('.datagrid-editable-input');\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn init(container, options);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})();\r\n\t\t\t\t(function(){\r\n\t\t\t\t\tvar destroy = opts.destroy;\r\n\t\t\t\t\topts.destroy = function(target){\r\n\t\t\t\t\t\tif ($(target).hasClass('datagrid-editable-input')){\r\n\t\t\t\t\t\t\tvar field = $(target).closest('td[field]').attr('field');\r\n\t\t\t\t\t\t\tsetCacheEditor(target, field, $(target).parent().children());\r\n\t\t\t\t\t\t} else if (destroy){\r\n\t\t\t\t\t\t\tdestroy(target);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})();\r\n\t\t\t}\r\n\t\t})(jQuery);\r\n\t</script>\r\n\t<script type=\"text/javascript\">\r\n\t\tvar editIndex = undefined;\r\n\t\tfunction endEditing(){\r\n\t\t\tif (editIndex == undefined){return true}\r\n\t\t\tif ($('#dg').datagrid('validateRow', editIndex)){\r\n\t\t\t\tvar ed = $('#dg').datagrid('getEditor', {index:editIndex,field:'productid'});\r\n\t\t\t\tvar productname = $(ed.target).combobox('getText');\r\n\t\t\t\t$('#dg').datagrid('getRows')[editIndex]['productname'] = productname;\r\n\t\t\t\t$('#dg').datagrid('endEdit', editIndex);\r\n\t\t\t\teditIndex = undefined;\r\n\t\t\t\treturn true;\r\n\t\t\t} else {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction onClickRow(index){\r\n\t\t\tif (editIndex != index){\r\n\t\t\t\tif (endEditing()){\r\n\t\t\t\t\t$('#dg').datagrid('selectRow', index)\r\n\t\t\t\t\t\t\t.datagrid('beginEdit', index);\r\n\t\t\t\t\teditIndex = index;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$('#dg').datagrid('selectRow', editIndex);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction accept(){\r\n\t\t\tif (endEditing()){\r\n\t\t\t\t$('#dg').datagrid('acceptChanges');\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction reject(){\r\n\t\t\t$('#dg').datagrid('rejectChanges');\r\n\t\t\teditIndex = undefined;\r\n\t\t}\r\n\t\tfunction getChanges(){\r\n\t\t\tvar rows = $('#dg').datagrid('getChanges');\r\n\t\t\talert(rows.length+' rows are changed!');\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/cellediting.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Cell Editing in DataGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Cell Editing in DataGrid</h2>\r\n\t<p>Click a cell to start editing.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t\r\n\t<table id=\"dg\" class=\"easyui-datagrid\" title=\"Cell Editing in DataGrid\" style=\"width:700px;height:auto\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\ticonCls: 'icon-edit',\r\n\t\t\t\tsingleSelect: true,\r\n\t\t\t\turl: 'datagrid_data1.json',\r\n\t\t\t\tmethod:'get',\r\n\t\t\t\tonClickCell: onClickCell\r\n\t\t\t\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100,editor:'text'\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right',editor:{type:'numberbox',options:{precision:1}}\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right',editor:'numberbox'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:250,editor:'text'\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center',editor:{type:'checkbox',options:{on:'P',off:''}}\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n\t<script type=\"text/javascript\">\r\n\t\t$.extend($.fn.datagrid.methods, {\r\n\t\t\teditCell: function(jq,param){\r\n\t\t\t\treturn jq.each(function(){\r\n\t\t\t\t\tvar opts = $(this).datagrid('options');\r\n\t\t\t\t\tvar fields = $(this).datagrid('getColumnFields',true).concat($(this).datagrid('getColumnFields'));\r\n\t\t\t\t\tfor(var i=0; i<fields.length; i++){\r\n\t\t\t\t\t\tvar col = $(this).datagrid('getColumnOption', fields[i]);\r\n\t\t\t\t\t\tcol.editor1 = col.editor;\r\n\t\t\t\t\t\tif (fields[i] != param.field){\r\n\t\t\t\t\t\t\tcol.editor = null;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$(this).datagrid('beginEdit', param.index);\r\n\t\t\t\t\tfor(var i=0; i<fields.length; i++){\r\n\t\t\t\t\t\tvar col = $(this).datagrid('getColumnOption', fields[i]);\r\n\t\t\t\t\t\tcol.editor = col.editor1;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\tvar editIndex = undefined;\r\n\t\tfunction endEditing(){\r\n\t\t\tif (editIndex == undefined){return true}\r\n\t\t\tif ($('#dg').datagrid('validateRow', editIndex)){\r\n\t\t\t\t$('#dg').datagrid('endEdit', editIndex);\r\n\t\t\t\teditIndex = undefined;\r\n\t\t\t\treturn true;\r\n\t\t\t} else {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction onClickCell(index, field){\r\n\t\t\tif (endEditing()){\r\n\t\t\t\t$('#dg').datagrid('selectRow', index)\r\n\t\t\t\t\t\t.datagrid('editCell', {index:index,field:field});\r\n\t\t\t\teditIndex = index;\r\n\t\t\t}\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/cellstyle.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>DataGrid Cell Style - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>DataGrid Cell Style</h2>\r\n\t<p>The cells which listprice value is less than 30 are highlighted.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table class=\"easyui-datagrid\" title=\"DataGrid Cell Style\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\tsingleSelect: true,\r\n\t\t\t\ticonCls: 'icon-save',\r\n\t\t\t\turl: 'datagrid_data1.json',\r\n\t\t\t\tmethod: 'get'\r\n\t\t\t\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right',styler:cellStyler\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:250\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction cellStyler(value,row,index){\r\n\t\t\tif (value < 30){\r\n\t\t\t\treturn 'background-color:#ffee00;color:red;';\r\n\t\t\t}\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/checkbox.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>CheckBox Selection on DataGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>CheckBox Selection on DataGrid</h2>\r\n\t<p>Click the checkbox on header to select or unselect all selections.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t\r\n\t<table id=\"dg\" class=\"easyui-datagrid\" title=\"CheckBox Selection on DataGrid\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"rownumbers:true,singleSelect:true,url:'datagrid_data1.json',method:'get'\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'ck',checkbox:true\"></th>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right'\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:220\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\t<div style=\"margin:10px 0;\">\r\n\t\t<span>Selection Mode: </span>\r\n\t\t<select onchange=\"$('#dg').datagrid({singleSelect:(this.value==0)})\">\r\n\t\t\t<option value=\"0\">Single Row</option>\r\n\t\t\t<option value=\"1\">Multiple Rows</option>\r\n\t\t</select><br/>\r\n\t\tSelectOnCheck: <input type=\"checkbox\" checked onchange=\"$('#dg').datagrid({selectOnCheck:$(this).is(':checked')})\"><br/>\r\n\t\tCheckOnSelect: <input type=\"checkbox\" checked onchange=\"$('#dg').datagrid({checkOnSelect:$(this).is(':checked')})\">\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/clientpagination.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Client Side Pagination in DataGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Client Side Pagination in DataGrid</h2>\r\n\t<p>This sample shows how to implement client side pagination in DataGrid.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t\r\n\t<table id=\"dg\" title=\"Client Side Pagination\" style=\"width:700px;height:300px\" data-options=\"\r\n\t\t\t\trownumbers:true,\r\n\t\t\t\tsingleSelect:true,\r\n\t\t\t\tautoRowHeight:false,\r\n\t\t\t\tpagination:true,\r\n\t\t\t\tpageSize:10\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th field=\"inv\" width=\"80\">Inv No</th>\r\n\t\t\t\t<th field=\"date\" width=\"100\">Date</th>\r\n\t\t\t\t<th field=\"name\" width=\"80\">Name</th>\r\n\t\t\t\t<th field=\"amount\" width=\"80\" align=\"right\">Amount</th>\r\n\t\t\t\t<th field=\"price\" width=\"80\" align=\"right\">Price</th>\r\n\t\t\t\t<th field=\"cost\" width=\"100\" align=\"right\">Cost</th>\r\n\t\t\t\t<th field=\"note\" width=\"110\">Note</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\t<script>\r\n\t\tfunction getData(){\r\n\t\t\tvar rows = [];\r\n\t\t\tfor(var i=1; i<=800; i++){\r\n\t\t\t\tvar amount = Math.floor(Math.random()*1000);\r\n\t\t\t\tvar price = Math.floor(Math.random()*1000);\r\n\t\t\t\trows.push({\r\n\t\t\t\t\tinv: 'Inv No '+i,\r\n\t\t\t\t\tdate: $.fn.datebox.defaults.formatter(new Date()),\r\n\t\t\t\t\tname: 'Name '+i,\r\n\t\t\t\t\tamount: amount,\r\n\t\t\t\t\tprice: price,\r\n\t\t\t\t\tcost: amount*price,\r\n\t\t\t\t\tnote: 'Note '+i\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn rows;\r\n\t\t}\r\n\t\t\r\n\t\tfunction pagerFilter(data){\r\n\t\t\tif (typeof data.length == 'number' && typeof data.splice == 'function'){\t// is array\r\n\t\t\t\tdata = {\r\n\t\t\t\t\ttotal: data.length,\r\n\t\t\t\t\trows: data\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar dg = $(this);\r\n\t\t\tvar opts = dg.datagrid('options');\r\n\t\t\tvar pager = dg.datagrid('getPager');\r\n\t\t\tpager.pagination({\r\n\t\t\t\tonSelectPage:function(pageNum, pageSize){\r\n\t\t\t\t\topts.pageNumber = pageNum;\r\n\t\t\t\t\topts.pageSize = pageSize;\r\n\t\t\t\t\tpager.pagination('refresh',{\r\n\t\t\t\t\t\tpageNumber:pageNum,\r\n\t\t\t\t\t\tpageSize:pageSize\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdg.datagrid('loadData',data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (!data.originalRows){\r\n\t\t\t\tdata.originalRows = (data.rows);\r\n\t\t\t}\r\n\t\t\tvar start = (opts.pageNumber-1)*parseInt(opts.pageSize);\r\n\t\t\tvar end = start + parseInt(opts.pageSize);\r\n\t\t\tdata.rows = (data.originalRows.slice(start, end));\r\n\t\t\treturn data;\r\n\t\t}\r\n\t\t\r\n\t\t$(function(){\r\n\t\t\t$('#dg').datagrid({loadFilter:pagerFilter}).datagrid('loadData', getData());\r\n\t\t});\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/columngroup.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Column Group - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Column Group</h2>\r\n\t<p>The header cells can be merged. Useful to group columns under a category.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table class=\"easyui-datagrid\" title=\"Column Group\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"rownumbers:true,singleSelect:true,url:'datagrid_data1.json',method:'get'\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\" rowspan=\"2\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100\" rowspan=\"2\">Product</th>\r\n\t\t\t\t<th colspan=\"4\">Item Details</th>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right'\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:240\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/complextoolbar.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>DataGrid Complex Toolbar - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>DataGrid Complex Toolbar</h2>\r\n\t<p>The DataGrid toolbar can be defined from a &lt;div&gt; markup, so you can define the layout of toolbar easily.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table class=\"easyui-datagrid\" title=\"DataGrid Complex Toolbar\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"rownumbers:true,singleSelect:true,url:'datagrid_data1.json',method:'get',toolbar:'#tb',footer:'#ft'\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right'\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:240\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\t<div id=\"tb\" style=\"padding:2px 5px;\">\r\n\t\tDate From: <input class=\"easyui-datebox\" style=\"width:110px\">\r\n\t\tTo: <input class=\"easyui-datebox\" style=\"width:110px\">\r\n\t\tLanguage: \r\n\t\t<select class=\"easyui-combobox\" panelHeight=\"auto\" style=\"width:100px\">\r\n\t\t\t<option value=\"java\">Java</option>\r\n\t\t\t<option value=\"c\">C</option>\r\n\t\t\t<option value=\"basic\">Basic</option>\r\n\t\t\t<option value=\"perl\">Perl</option>\r\n\t\t\t<option value=\"python\">Python</option>\r\n\t\t</select>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" iconCls=\"icon-search\">Search</a>\r\n\t</div>\r\n\t<div id=\"ft\" style=\"padding:2px 5px;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" iconCls=\"icon-add\" plain=\"true\"></a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" iconCls=\"icon-edit\" plain=\"true\"></a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" iconCls=\"icon-save\" plain=\"true\"></a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" iconCls=\"icon-cut\" plain=\"true\"></a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" iconCls=\"icon-remove\" plain=\"true\"></a>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/contextmenu.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Context Menu on DataGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Context Menu on DataGrid</h2>\r\n\t<p>Right click on the header of DataGrid to display context menu.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table id=\"dg\"></table>\r\n\t<script type=\"text/javascript\">\r\n\t\t$(function(){\r\n\t\t\t$('#dg').datagrid({\r\n\t\t\t\turl: 'datagrid_data1.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\ttitle: 'Context Menu on DataGrid',\r\n\t\t\t\ticonCls: 'icon-save',\r\n\t\t\t\twidth: 700,\r\n\t\t\t\theight: 250,\r\n\t\t\t\tfitColumns: true,\r\n\t\t\t\tsingleSelect: true,\r\n\t\t\t\tcolumns:[[\r\n\t\t\t\t\t{field:'itemid',title:'Item ID',width:80},\r\n\t\t\t\t\t{field:'productid',title:'Product ID',width:120},\r\n\t\t\t\t\t{field:'listprice',title:'List Price',width:80,align:'right'},\r\n\t\t\t\t\t{field:'unitcost',title:'Unit Cost',width:80,align:'right'},\r\n\t\t\t\t\t{field:'attr1',title:'Attribute',width:250},\r\n\t\t\t\t\t{field:'status',title:'Status',width:60,align:'center'}\r\n\t\t\t\t]],\r\n\t\t\t\tonHeaderContextMenu: function(e, field){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tif (!cmenu){\r\n\t\t\t\t\t\tcreateColumnMenu();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcmenu.menu('show', {\r\n\t\t\t\t\t\tleft:e.pageX,\r\n\t\t\t\t\t\ttop:e.pageY\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t\tvar cmenu;\r\n\t\tfunction createColumnMenu(){\r\n\t\t\tcmenu = $('<div/>').appendTo('body');\r\n\t\t\tcmenu.menu({\r\n\t\t\t\tonClick: function(item){\r\n\t\t\t\t\tif (item.iconCls == 'icon-ok'){\r\n\t\t\t\t\t\t$('#dg').datagrid('hideColumn', item.name);\r\n\t\t\t\t\t\tcmenu.menu('setIcon', {\r\n\t\t\t\t\t\t\ttarget: item.target,\r\n\t\t\t\t\t\t\ticonCls: 'icon-empty'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$('#dg').datagrid('showColumn', item.name);\r\n\t\t\t\t\t\tcmenu.menu('setIcon', {\r\n\t\t\t\t\t\t\ttarget: item.target,\r\n\t\t\t\t\t\t\ticonCls: 'icon-ok'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tvar fields = $('#dg').datagrid('getColumnFields');\r\n\t\t\tfor(var i=0; i<fields.length; i++){\r\n\t\t\t\tvar field = fields[i];\r\n\t\t\t\tvar col = $('#dg').datagrid('getColumnOption', field);\r\n\t\t\t\tcmenu.menu('appendItem', {\r\n\t\t\t\t\ttext: col.title,\r\n\t\t\t\t\tname: field,\r\n\t\t\t\t\ticonCls: 'icon-ok'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/custompager.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Custom DataGrid Pager - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Custom DataGrid Pager</h2>\r\n\t<p>You can append some buttons to the standard datagrid pager bar.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table id=\"dg\" title=\"Custom DataGrid Pager\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"rownumbers:true,singleSelect:true,pagination:true,url:'datagrid_data1.json',method:'get'\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right'\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:240\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\t<script type=\"text/javascript\">\r\n\t\t$(function(){\r\n\t\t\tvar pager = $('#dg').datagrid().datagrid('getPager');\t// get the pager of datagrid\r\n\t\t\tpager.pagination({\r\n\t\t\t\tbuttons:[{\r\n\t\t\t\t\ticonCls:'icon-search',\r\n\t\t\t\t\thandler:function(){\r\n\t\t\t\t\t\talert('search');\r\n\t\t\t\t\t}\r\n\t\t\t\t},{\r\n\t\t\t\t\ticonCls:'icon-add',\r\n\t\t\t\t\thandler:function(){\r\n\t\t\t\t\t\talert('add');\r\n\t\t\t\t\t}\r\n\t\t\t\t},{\r\n\t\t\t\t\ticonCls:'icon-edit',\r\n\t\t\t\t\thandler:function(){\r\n\t\t\t\t\t\talert('edit');\r\n\t\t\t\t\t}\r\n\t\t\t\t}]\r\n\t\t\t});\t\t\t\r\n\t\t})\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/datagrid_data1.json",
    "content": "{\"total\":28,\"rows\":[\r\n\t{\"productid\":\"FI-SW-01\",\"productname\":\"Koi\",\"unitcost\":10.00,\"status\":\"P\",\"listprice\":36.50,\"attr1\":\"Large\",\"itemid\":\"EST-1\"},\r\n\t{\"productid\":\"K9-DL-01\",\"productname\":\"Dalmation\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":18.50,\"attr1\":\"Spotted Adult Female\",\"itemid\":\"EST-10\"},\r\n\t{\"productid\":\"RP-SN-01\",\"productname\":\"Rattlesnake\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":38.50,\"attr1\":\"Venomless\",\"itemid\":\"EST-11\"},\r\n\t{\"productid\":\"RP-SN-01\",\"productname\":\"Rattlesnake\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":26.50,\"attr1\":\"Rattleless\",\"itemid\":\"EST-12\"},\r\n\t{\"productid\":\"RP-LI-02\",\"productname\":\"Iguana\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":35.50,\"attr1\":\"Green Adult\",\"itemid\":\"EST-13\"},\r\n\t{\"productid\":\"FL-DSH-01\",\"productname\":\"Manx\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":158.50,\"attr1\":\"Tailless\",\"itemid\":\"EST-14\"},\r\n\t{\"productid\":\"FL-DSH-01\",\"productname\":\"Manx\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":83.50,\"attr1\":\"With tail\",\"itemid\":\"EST-15\"},\r\n\t{\"productid\":\"FL-DLH-02\",\"productname\":\"Persian\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":23.50,\"attr1\":\"Adult Female\",\"itemid\":\"EST-16\"},\r\n\t{\"productid\":\"FL-DLH-02\",\"productname\":\"Persian\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":89.50,\"attr1\":\"Adult Male\",\"itemid\":\"EST-17\"},\r\n\t{\"productid\":\"AV-CB-01\",\"productname\":\"Amazon Parrot\",\"unitcost\":92.00,\"status\":\"P\",\"listprice\":63.50,\"attr1\":\"Adult Male\",\"itemid\":\"EST-18\"}\r\n]}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/datagrid_data2.json",
    "content": "{\"total\":28,\"rows\":[\r\n\t{\"productid\":\"FI-SW-01\",\"unitcost\":10.00,\"status\":\"P\",\"listprice\":36.50,\"attr1\":\"Large\",\"itemid\":\"EST-1\"},\r\n\t{\"productid\":\"K9-DL-01\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":18.50,\"attr1\":\"Spotted Adult Female\",\"itemid\":\"EST-10\"},\r\n\t{\"productid\":\"RP-SN-01\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":28.50,\"attr1\":\"Venomless\",\"itemid\":\"EST-11\"},\r\n\t{\"productid\":\"RP-SN-01\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":26.50,\"attr1\":\"Rattleless\",\"itemid\":\"EST-12\"},\r\n\t{\"productid\":\"RP-LI-02\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":35.50,\"attr1\":\"Green Adult\",\"itemid\":\"EST-13\"},\r\n\t{\"productid\":\"FL-DSH-01\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":158.50,\"attr1\":\"Tailless\",\"itemid\":\"EST-14\"},\r\n\t{\"productid\":\"FL-DSH-01\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":83.50,\"attr1\":\"With tail\",\"itemid\":\"EST-15\"},\r\n\t{\"productid\":\"FL-DLH-02\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":63.50,\"attr1\":\"Adult Female\",\"itemid\":\"EST-16\"},\r\n\t{\"productid\":\"FL-DLH-02\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":89.50,\"attr1\":\"Adult Male\",\"itemid\":\"EST-17\"},\r\n\t{\"productid\":\"AV-CB-01\",\"unitcost\":92.00,\"status\":\"P\",\"listprice\":63.50,\"attr1\":\"Adult Male\",\"itemid\":\"EST-18\"}\r\n],\"footer\":[\r\n\t{\"unitcost\":19.80,\"listprice\":60.40,\"productid\":\"Average:\"},\r\n\t{\"unitcost\":198.00,\"listprice\":604.00,\"productid\":\"Total:\"}\r\n]}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid DataGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid DataGrid</h2>\r\n\t<p>This example shows how to assign percentage width to a column in DataGrid.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t\r\n\t<table id=\"dg\" class=\"easyui-datagrid\" title=\"Fluid DataGrid\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"singleSelect:true,collapsible:true,url:'datagrid_data1.json',method:'get'\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',resizable:false\" width=\"15%\">Item ID(15%)</th>\r\n\t\t\t\t<th data-options=\"field:'productid',resizable:false\" width=\"15%\">Product(15%)</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',align:'right',resizable:false\" width=\"15%\">List Price(15%)</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',align:'right',resizable:false\" width=\"15%\">Unit Cost(15%)</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',resizable:false\" width=\"25%\">Attribute(25%)</th>\r\n\t\t\t\t<th data-options=\"field:'status',align:'center',resizable:false\" width=\"15%\">Status(15%)</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/footer.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Footer Rows in DataGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Footer Rows in DataGrid</h2>\r\n\t<p>The summary informations can be displayed in footer rows.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table class=\"easyui-datagrid\" title=\"Footer Rows in DataGrid\" style=\"width:700px;height:220px\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\turl: 'datagrid_data2.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tfitColumns: true,\r\n\t\t\t\tsingleSelect: true,\r\n\t\t\t\trownumbers: true,\r\n\t\t\t\tshowFooter: true\r\n\t\t\t\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:120\">Product ID</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right'\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:250\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/formatcolumns.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Format DataGrid Columns - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Format DataGrid Columns</h2>\r\n\t<p>The list price value will show red color when less than 30.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table class=\"easyui-datagrid\" title=\"Format DataGrid Columns\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"rownumbers:true,singleSelect:true,iconCls:'icon-ok',url:'datagrid_data1.json',method:'get'\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right',formatter:formatPrice\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:240\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\t<script>\r\n\t\tfunction formatPrice(val,row){\r\n\t\t\tif (val < 30){\r\n\t\t\t\treturn '<span style=\"color:red;\">('+val+')</span>';\r\n\t\t\t} else {\r\n\t\t\t\treturn val;\r\n\t\t\t}\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/frozencolumns.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Frozen Columns in DataGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Frozen Columns in DataGrid</h2>\r\n\t<p>You can freeze some columns that can't scroll out of view.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table class=\"easyui-datagrid\" title=\"Frozen Columns in DataGrid\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"rownumbers:true,singleSelect:true,url:'datagrid_data1.json',method:'get'\">\r\n\t\t<thead data-options=\"frozen:true\">\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:100\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:120\">Product</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:90,align:'right'\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:90,align:'right'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:250\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/frozenrows.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Frozen Rows in DataGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Frozen Rows in DataGrid</h2>\r\n\t<p>This sample shows how to freeze some rows that will always be displayed at the top when the datagrid is scrolled down.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table class=\"easyui-datagrid\" title=\"Frozen Rows in DataGrid\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\tsingleSelect: true,\r\n\t\t\t\tcollapsible: true,\r\n\t\t\t\trownumbers: true,\r\n\t\t\t\turl: 'datagrid_data1.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tonLoadSuccess: function(){\r\n\t\t\t\t\t$(this).datagrid('freezeRow',0).datagrid('freezeRow',1);\r\n\t\t\t\t}\r\n\t\t\t\">\r\n\t\t<thead data-options=\"frozen:true\">\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:100\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:120\">Product</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:90,align:'right'\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:90,align:'right'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:230\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/mergecells.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Merge Cells for DataGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Merge Cells for DataGrid</h2>\r\n\t<p>Cells in DataGrid body can be merged.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table class=\"easyui-datagrid\" title=\"Merge Cells for DataGrid\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\trownumbers: true,\r\n\t\t\t\tsingleSelect: true,\r\n\t\t\t\ticonCls: 'icon-save',\r\n\t\t\t\turl: 'datagrid_data1.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tonLoadSuccess: onLoadSuccess\r\n\t\t\t\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right'\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:240\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction onLoadSuccess(data){\r\n\t\t\tvar merges = [{\r\n\t\t\t\tindex: 2,\r\n\t\t\t\trowspan: 2\r\n\t\t\t},{\r\n\t\t\t\tindex: 5,\r\n\t\t\t\trowspan: 2\r\n\t\t\t},{\r\n\t\t\t\tindex: 7,\r\n\t\t\t\trowspan: 2\r\n\t\t\t}];\r\n\t\t\tfor(var i=0; i<merges.length; i++){\r\n\t\t\t\t$(this).datagrid('mergeCells',{\r\n\t\t\t\t\tindex: merges[i].index,\r\n\t\t\t\t\tfield: 'productid',\r\n\t\t\t\t\trowspan: merges[i].rowspan\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/multisorting.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Multiple Sorting - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Multiple Sorting</h2>\r\n\t<p>Set 'multiSort' property to true to enable multiple column sorting.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t\r\n\t<table class=\"easyui-datagrid\" title=\"Multiple Sorting\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"singleSelect:true,collapsible:true,\r\n\t\t\t\turl:'datagrid_data1.json',\r\n\t\t\t\tmethod:'get',\r\n\t\t\t\tremoteSort:false,\r\n\t\t\t\tmultiSort:true\r\n\t\t\t\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80,sortable:true\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100,sortable:true\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right',sortable:true\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right',sortable:true\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:250\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/products.json",
    "content": "[\r\n{\"productid\":\"FI-SW-01\",\"productname\":\"Koi\"},\r\n{\"productid\":\"K9-DL-01\",\"productname\":\"Dalmation\"},\r\n{\"productid\":\"RP-SN-01\",\"productname\":\"Rattlesnake\"},\r\n{\"productid\":\"RP-LI-02\",\"productname\":\"Iguana\"},\r\n{\"productid\":\"FL-DSH-01\",\"productname\":\"Manx\"},\r\n{\"productid\":\"FL-DLH-02\",\"productname\":\"Persian\"},\r\n{\"productid\":\"AV-CB-01\",\"productname\":\"Amazon Parrot\"}\r\n]\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/rowborder.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Row Border in DataGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Row Border in DataGrid</h2>\r\n\t<p>This sample shows how to change the row border style of datagrid.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<span>Border:</span>\r\n\t\t<select onchange=\"changeBorder(this.value)\">\r\n\t\t\t<option value=\"lines-both\">Both</option>\r\n\t\t\t<option value=\"lines-no\">No Border</option>\r\n\t\t\t<option value=\"lines-right\">Right Border</option>\r\n\t\t\t<option value=\"lines-bottom\">Bottom Border</option>\r\n\t\t</select>\r\n\t\t<span>Striped:</span>\r\n\t\t<input type=\"checkbox\" onclick=\"$('#dg').datagrid({striped:$(this).is(':checked')})\">\r\n\t</div>\r\n\t<table id=\"dg\" class=\"easyui-datagrid\" title=\"Row Border in DataGrid\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"singleSelect:true,fitColumns:true,url:'datagrid_data1.json',method:'get'\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right'\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:250\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction changeBorder(cls){\r\n\t\t\t$('#dg').datagrid('getPanel').removeClass('lines-both lines-no lines-right lines-bottom').addClass(cls);\r\n\t\t}\r\n\t</script>\r\n\t<style type=\"text/css\">\r\n\t\t.lines-both .datagrid-body td{\r\n\t\t}\r\n\t\t.lines-no .datagrid-body td{\r\n\t\t\tborder-right:1px dotted transparent;\r\n\t\t\tborder-bottom:1px dotted transparent;\r\n\t\t}\r\n\t\t.lines-right .datagrid-body td{\r\n\t\t\tborder-bottom:1px dotted transparent;\r\n\t\t}\r\n\t\t.lines-bottom .datagrid-body td{\r\n\t\t\tborder-right:1px dotted transparent;\r\n\t\t}\r\n\t</style>\r\n\t\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/rowediting.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Row Editing in DataGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Row Editing in DataGrid</h2>\r\n\t<p>Click the row to start editing.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t\r\n\t<table id=\"dg\" class=\"easyui-datagrid\" title=\"Row Editing in DataGrid\" style=\"width:700px;height:auto\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\ticonCls: 'icon-edit',\r\n\t\t\t\tsingleSelect: true,\r\n\t\t\t\ttoolbar: '#tb',\r\n\t\t\t\turl: 'datagrid_data1.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tonClickRow: onClickRow\r\n\t\t\t\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100,\r\n\t\t\t\t\t\tformatter:function(value,row){\r\n\t\t\t\t\t\t\treturn row.productname;\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\teditor:{\r\n\t\t\t\t\t\t\ttype:'combobox',\r\n\t\t\t\t\t\t\toptions:{\r\n\t\t\t\t\t\t\t\tvalueField:'productid',\r\n\t\t\t\t\t\t\t\ttextField:'productname',\r\n\t\t\t\t\t\t\t\tmethod:'get',\r\n\t\t\t\t\t\t\t\turl:'products.json',\r\n\t\t\t\t\t\t\t\trequired:true\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right',editor:{type:'numberbox',options:{precision:1}}\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right',editor:'numberbox'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:250,editor:'textbox'\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center',editor:{type:'checkbox',options:{on:'P',off:''}}\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n\t<div id=\"tb\" style=\"height:auto\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-add',plain:true\" onclick=\"append()\">Append</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-remove',plain:true\" onclick=\"removeit()\">Remove</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-save',plain:true\" onclick=\"accept()\">Accept</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-undo',plain:true\" onclick=\"reject()\">Reject</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-search',plain:true\" onclick=\"getChanges()\">GetChanges</a>\r\n\t</div>\r\n\t\r\n\t<script type=\"text/javascript\">\r\n\t\tvar editIndex = undefined;\r\n\t\tfunction endEditing(){\r\n\t\t\tif (editIndex == undefined){return true}\r\n\t\t\tif ($('#dg').datagrid('validateRow', editIndex)){\r\n\t\t\t\tvar ed = $('#dg').datagrid('getEditor', {index:editIndex,field:'productid'});\r\n\t\t\t\tvar productname = $(ed.target).combobox('getText');\r\n\t\t\t\t$('#dg').datagrid('getRows')[editIndex]['productname'] = productname;\r\n\t\t\t\t$('#dg').datagrid('endEdit', editIndex);\r\n\t\t\t\teditIndex = undefined;\r\n\t\t\t\treturn true;\r\n\t\t\t} else {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction onClickRow(index){\r\n\t\t\tif (editIndex != index){\r\n\t\t\t\tif (endEditing()){\r\n\t\t\t\t\t$('#dg').datagrid('selectRow', index)\r\n\t\t\t\t\t\t\t.datagrid('beginEdit', index);\r\n\t\t\t\t\teditIndex = index;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$('#dg').datagrid('selectRow', editIndex);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction append(){\r\n\t\t\tif (endEditing()){\r\n\t\t\t\t$('#dg').datagrid('appendRow',{status:'P'});\r\n\t\t\t\teditIndex = $('#dg').datagrid('getRows').length-1;\r\n\t\t\t\t$('#dg').datagrid('selectRow', editIndex)\r\n\t\t\t\t\t\t.datagrid('beginEdit', editIndex);\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction removeit(){\r\n\t\t\tif (editIndex == undefined){return}\r\n\t\t\t$('#dg').datagrid('cancelEdit', editIndex)\r\n\t\t\t\t\t.datagrid('deleteRow', editIndex);\r\n\t\t\teditIndex = undefined;\r\n\t\t}\r\n\t\tfunction accept(){\r\n\t\t\tif (endEditing()){\r\n\t\t\t\t$('#dg').datagrid('acceptChanges');\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction reject(){\r\n\t\t\t$('#dg').datagrid('rejectChanges');\r\n\t\t\teditIndex = undefined;\r\n\t\t}\r\n\t\tfunction getChanges(){\r\n\t\t\tvar rows = $('#dg').datagrid('getChanges');\r\n\t\t\talert(rows.length+' rows are changed!');\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/rowstyle.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>DataGrid Row Style - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>DataGrid Row Style</h2>\r\n\t<p>The rows which listprice value is less than 30 are highlighted.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table class=\"easyui-datagrid\" title=\"DataGrid Row Style\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\tsingleSelect: true,\r\n\t\t\t\ticonCls: 'icon-save',\r\n\t\t\t\turl: 'datagrid_data1.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\trowStyler: function(index,row){\r\n\t\t\t\t\tif (row.listprice < 30){\r\n\t\t\t\t\t\treturn 'background-color:#6293BB;color:#fff;font-weight:bold;';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right'\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:250\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/selection.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>DataGrid Selection - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>DataGrid Selection</h2>\r\n\t<p>Choose a selection mode and select one or more rows.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"getSelected()\">GetSelected</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"getSelections()\">GetSelections</a>\r\n\t</div>\r\n\t<table id=\"dg\" class=\"easyui-datagrid\" title=\"DataGrid Selection\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"singleSelect:true,url:'datagrid_data1.json',method:'get'\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right'\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:250\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\t<div style=\"margin:10px 0;\">\r\n\t\t<span>Selection Mode: </span>\r\n\t\t<select onchange=\"$('#dg').datagrid({singleSelect:(this.value==0)})\">\r\n\t\t\t<option value=\"0\">Single Row</option>\r\n\t\t\t<option value=\"1\">Multiple Rows</option>\r\n\t\t</select>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction getSelected(){\r\n\t\t\tvar row = $('#dg').datagrid('getSelected');\r\n\t\t\tif (row){\r\n\t\t\t\t$.messager.alert('Info', row.itemid+\":\"+row.productid+\":\"+row.attr1);\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction getSelections(){\r\n\t\t\tvar ss = [];\r\n\t\t\tvar rows = $('#dg').datagrid('getSelections');\r\n\t\t\tfor(var i=0; i<rows.length; i++){\r\n\t\t\t\tvar row = rows[i];\r\n\t\t\t\tss.push('<span>'+row.itemid+\":\"+row.productid+\":\"+row.attr1+'</span>');\r\n\t\t\t}\r\n\t\t\t$.messager.alert('Info', ss.join('<br/>'));\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/simpletoolbar.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>DataGrid with Toolbar - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>DataGrid with Toolbar</h2>\r\n\t<p>Put buttons on top toolbar of DataGrid.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table class=\"easyui-datagrid\" title=\"DataGrid with Toolbar\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"rownumbers:true,singleSelect:true,url:'datagrid_data1.json',method:'get',toolbar:toolbar\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid',width:80\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid',width:100\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',width:80,align:'right'\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'unitcost',width:80,align:'right'\">Unit Cost</th>\r\n\t\t\t\t<th data-options=\"field:'attr1',width:240\">Attribute</th>\r\n\t\t\t\t<th data-options=\"field:'status',width:60,align:'center'\">Status</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\t<script type=\"text/javascript\">\r\n\t\tvar toolbar = [{\r\n\t\t\ttext:'Add',\r\n\t\t\ticonCls:'icon-add',\r\n\t\t\thandler:function(){alert('add')}\r\n\t\t},{\r\n\t\t\ttext:'Cut',\r\n\t\t\ticonCls:'icon-cut',\r\n\t\t\thandler:function(){alert('cut')}\r\n\t\t},'-',{\r\n\t\t\ttext:'Save',\r\n\t\t\ticonCls:'icon-save',\r\n\t\t\thandler:function(){alert('save')}\r\n\t\t}];\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datagrid/transform.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Transform DataGrid from Table - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Transform DataGrid from Table</h2>\r\n\t<p>Transform DataGrid from an existing, unformatted html table.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"javascript:$('#dg').datagrid()\">Transform</a>\r\n\t</div>\r\n\t<table id=\"dg\" style=\"width:700px;height:auto;border:1px solid #ccc;\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'itemid'\">Item ID</th>\r\n\t\t\t\t<th data-options=\"field:'productid'\">Product</th>\r\n\t\t\t\t<th data-options=\"field:'listprice',align:'right'\">List Price</th>\r\n\t\t\t\t<th data-options=\"field:'attr1'\">Attribute</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t\t<tbody>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>EST-1</td><td>FI-SW-01</td><td>36.50</td><td>Large</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>EST-10</td><td>K9-DL-01</td><td>18.50</td><td>Spotted Adult Female</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>EST-11</td><td>RP-SN-01</td><td>28.50</td><td>Venomless</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>EST-12</td><td>RP-SN-01</td><td>26.50</td><td>Rattleless</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>EST-13</td><td>RP-LI-02</td><td>35.50</td><td>Green Adult</td>\r\n\t\t\t</tr>\r\n\t\t</tbody>\r\n\t</table>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datebox/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic DateBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic DateBox</h2>\r\n\t<p>Click the calendar image on the right side.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<input class=\"easyui-datebox\"></input>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datebox/buttons.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>DateBox Buttons - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>DateBox Buttons</h2>\r\n\t<p>This example shows how to customize the datebox buttons underneath the calendar.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<input class=\"easyui-datebox\"></input>\r\n\t<input class=\"easyui-datebox\" data-options=\"buttons:buttons\"></input>\r\n\t<script>\r\n\t\tvar buttons = $.extend([], $.fn.datebox.defaults.buttons);\r\n\t\tbuttons.splice(1, 0, {\r\n\t\t\ttext: 'MyBtn',\r\n\t\t\thandler: function(target){\r\n\t\t\t\talert('click MyBtn');\r\n\t\t\t}\r\n\t\t});\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datebox/dateformat.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Date Format - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Date Format</h2>\r\n\t<p>Different date formats are applied to different DateBox components.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<input class=\"easyui-datebox\"></input>\r\n\t<input class=\"easyui-datebox\" data-options=\"formatter:myformatter,parser:myparser\"></input>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction myformatter(date){\r\n\t\t\tvar y = date.getFullYear();\r\n\t\t\tvar m = date.getMonth()+1;\r\n\t\t\tvar d = date.getDate();\r\n\t\t\treturn y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d);\r\n\t\t}\r\n\t\tfunction myparser(s){\r\n\t\t\tif (!s) return new Date();\r\n\t\t\tvar ss = (s.split('-'));\r\n\t\t\tvar y = parseInt(ss[0],10);\r\n\t\t\tvar m = parseInt(ss[1],10);\r\n\t\t\tvar d = parseInt(ss[2],10);\r\n\t\t\tif (!isNaN(y) && !isNaN(m) && !isNaN(d)){\r\n\t\t\t\treturn new Date(y,m-1,d);\r\n\t\t\t} else {\r\n\t\t\t\treturn new Date();\r\n\t\t\t}\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datebox/events.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>DateBox Events - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>DateBox Events</h2>\r\n\t<p>Click the calendar image on the right side.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<input class=\"easyui-datebox\" data-options=\"onSelect:onSelect\"></input>\r\n\t<div style=\"margin:10px 0\">\r\n\t\t<span>Selected Date: </span>\r\n\t\t<span id=\"result\"></span>\r\n\t</div>\r\n\t<script>\r\n\t\tfunction onSelect(date){\r\n\t\t\t$('#result').text(date)\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datebox/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid DateBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid DateBox</h2>\r\n\t<p>This example shows how to set the width of DateBox to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<p>width: 50%</p>\r\n\t<input class=\"easyui-datebox\" style=\"width:50%\"></input>\r\n\t<p>width: 30%</p>\r\n\t<input class=\"easyui-datebox\" style=\"width:30%\"></input>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datebox/restrict.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Restrict Date Range in DateBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Restrict Date Range in DateBox</h2>\r\n\t<p>This example shows how to restrict the user to select only ten days from now.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<input id=\"dd\"></input>\r\n\t<script>\r\n\t\t$(function(){\r\n\t\t\t$('#dd').datebox().datebox('calendar').calendar({\r\n\t\t\t\tvalidator: function(date){\r\n\t\t\t\t\tvar now = new Date();\r\n\t\t\t\t\tvar d1 = new Date(now.getFullYear(), now.getMonth(), now.getDate());\r\n\t\t\t\t\tvar d2 = new Date(now.getFullYear(), now.getMonth(), now.getDate()+10);\r\n\t\t\t\t\treturn d1<=date && date<=d2;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datebox/sharedcalendar.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>Shared Calendar in DateBox - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>Shared Calendar in DateBox</h2>\n\t<p>Multiple datebox components can share a calendar and use it to pick dates.</p>\n\t<div style=\"margin:20px 0;\"></div>\n\t<table>\n\t\t<tr>\n\t\t\t<td>Start Date:</td>\n\t\t\t<td>\n\t\t\t\t<input class=\"easyui-datebox\" data-options=\"sharedCalendar:'#cc'\">\n\t\t\t</td>\n\t\t\t<td>End Date:</td>\n\t\t\t<td>\n\t\t\t\t<input class=\"easyui-datebox\" data-options=\"sharedCalendar:'#cc'\">\n\t\t\t</td>\n\t\t</tr>\n\t</table>\n\t<div id=\"cc\" class=\"easyui-calendar\"></div>\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datebox/validate.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Validate DateBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Validate DateBox</h2>\r\n\t<p>When the selected date is greater than specified date. The field validator will raise an error.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<input class=\"easyui-datebox\" required data-options=\"validType:'md[\\'10/11/2012\\']'\"></input>\r\n\t<script>\r\n\t\t$.extend($.fn.validatebox.defaults.rules, {\r\n\t\t\tmd: {\r\n\t\t\t\tvalidator: function(value, param){\r\n\t\t\t\t\tvar d1 = $.fn.datebox.defaults.parser(param[0]);\r\n\t\t\t\t\tvar d2 = $.fn.datebox.defaults.parser(value);\r\n\t\t\t\t\treturn d2<=d1;\r\n\t\t\t\t},\r\n\t\t\t\tmessage: 'The date must be less than or equals to {0}.'\r\n\t\t\t}\r\n\t\t})\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datetimebox/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic DateTimeBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic DateTimeBox</h2>\r\n\t<p>Click the calendar image on the right side.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<input class=\"easyui-datetimebox\" required style=\"width:200px\">\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datetimebox/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid DateTimeBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid DateTimeBox</h2>\r\n\t<p>This example shows how to set the width of DateTimeBox to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<p>width: 50%</p>\r\n\t<input class=\"easyui-datetimebox\" style=\"width:50%\">\r\n\t<p>width: 30%</p>\r\n\t<input class=\"easyui-datetimebox\" style=\"width:30%\">\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datetimebox/initvalue.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Initialize Value for DateTime - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Initialize Value for DateTime</h2>\r\n\t<p>The value is initialized when DateTimeBox has been created.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<input class=\"easyui-datetimebox\" value=\"10/11/2012 2:3:56\" style=\"width:200px\">\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datetimebox/showseconds.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Display Seconds - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Display Seconds</h2>\r\n\t<p>The user can decide to display seconds part or not.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<span>Show Seconds: </span>\r\n\t\t<input type=\"checkbox\" checked onchange=\"$('#dt').datetimebox({showSeconds:$(this).is(':checked')})\">\r\n\t</div>\r\n\t<input id=\"dt\" class=\"easyui-datetimebox\" style=\"width:200px\">\r\n\t\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datetimespinner/basic.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>Basic DateTimeSpinner - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>Basic DateTimeSpinner</h2>\n\t<p>Click spin button to adjust date and time.</p>\n\t<div style=\"margin:20px 0;\"></div>\n\t<input class=\"easyui-datetimespinner\" value=\"6/24/2014 17:23\" style=\"width:180px;\">\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datetimespinner/clearicon.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>DateTimeSpinner with Clear Icon - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>DateTimeSpinner with Clear Icon</h2>\n\t<p>A clear icon can be attached to the datetimespinner. Click it to clear the entered value.</p>\n\t<div style=\"margin:20px 0;\"></div>\n\t<input class=\"easyui-datetimespinner\" style=\"width:180px;\" data-options=\"\n\t\t\tvalue: '6/24/2014 17:23:56',\n\t\t\tshowSeconds: true,\n\t\t\tprompt: 'Input date time here!',\n\t\t\ticons:[{\n\t\t\t\ticonCls:'icon-clear',\n\t\t\t\thandler: function(e){\n\t\t\t\t\t$(e.data.target).datetimespinner('clear');\n\t\t\t\t}\n\t\t\t}]\n\t\t\t\">\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datetimespinner/fluid.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>Fluid DateTimeSpinner - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>Fluid DateTimeSpinner</h2>\n\t<p>The width of datetimespinner is set in percentages.</p>\n\t<div style=\"margin:20px 0;\"></div>\n\t<p>width: 50%</p>\n\t<input class=\"easyui-datetimespinner\" value=\"6/24/2014 17:23\" style=\"width:50%;\">\n\t<p>width: 30%</p>\n\t<input class=\"easyui-datetimespinner\" value=\"6/25/2014 17:23\" style=\"width:30%;\">\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/datetimespinner/format.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>Format DateTimeSpinner - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>Format DateTimeSpinner</h2>\n\t<p>The DataTimeSpinner value can be formatted by specifying the 'formatter' and 'parser' functions.</p>\n\t<div style=\"margin:20px 0;\"></div>\n\t<p>mm/dd/yyyy hh:mm</p>\n\t<input class=\"easyui-datetimespinner\" value=\"6/24/2014 17:23\" style=\"width:180px;\">\n\t<p>mm/dd/yyyy</p>\n\t<input class=\"easyui-datetimespinner\" value=\"6/24/2014\" data-options=\"formatter:formatter1,parser:parser1\" style=\"width:180px;\">\n\t<p>yyyy-mm</p>\n\t<input class=\"easyui-datetimespinner\" value=\"6/24/2014\" data-options=\"formatter:formatter2,parser:parser2,selections:[[0,4],[5,7]]\" style=\"width:180px;\">\n\t<script type=\"text/javascript\">\n\t\tfunction formatter1(date){\n\t\t\tif (!date){return '';}\n\t\t\treturn $.fn.datebox.defaults.formatter.call(this, date);\n\t\t}\n\t\tfunction parser1(s){\n\t\t\tif (!s){return null;}\n\t\t\treturn $.fn.datebox.defaults.parser.call(this, s);\n\t\t}\n\t\tfunction formatter2(date){\n\t\t\tif (!date){return '';}\n\t\t\tvar y = date.getFullYear();\n\t\t\tvar m = date.getMonth() + 1;\n\t\t\treturn y + '-' + (m<10?('0'+m):m);\n\t\t}\n\t\tfunction parser2(s){\n\t\t\tif (!s){return null;}\n\t\t\tvar ss = s.split('-');\n\t\t\tvar y = parseInt(ss[0],10);\n\t\t\tvar m = parseInt(ss[1],10);\n\t\t\tif (!isNaN(y) && !isNaN(m)){\n\t\t\t\treturn new Date(y,m-1,1);\n\t\t\t} else {\n\t\t\t\treturn new Date();\n\t\t\t}\n\t\t}\n\t</script>\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/demo.css",
    "content": "*{\r\n\tfont-size:12px;\r\n}\r\nbody {\r\n    font-family:verdana,helvetica,arial,sans-serif;\r\n    padding:20px;\r\n    font-size:12px;\r\n    margin:0;\r\n}\r\nh2 {\r\n    font-size:18px;\r\n    font-weight:bold;\r\n    margin:0;\r\n    margin-bottom:15px;\r\n}\r\n.demo-info{\r\n\tpadding:0 0 12px 0;\r\n}\r\n.demo-tip{\r\n\tdisplay:none;\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/dialog/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Dialog - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Dialog</h2>\r\n\t<p>Click below button to open or close dialog.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#dlg').dialog('open')\">Open</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#dlg').dialog('close')\">Close</a>\r\n\t</div>\r\n\t<div id=\"dlg\" class=\"easyui-dialog\" title=\"Basic Dialog\" data-options=\"iconCls:'icon-save'\" style=\"width:400px;height:200px;padding:10px\">\r\n\t\tThe dialog content.\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/dialog/complextoolbar.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Complex Toolbar on Dialog - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Complex Toolbar on Dialog</h2>\r\n\t<p>This sample shows how to create complex toolbar on dialog.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#dlg').dialog('open')\">Open</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#dlg').dialog('close')\">Close</a>\r\n\t</div>\r\n\t<div id=\"dlg\" class=\"easyui-dialog\" title=\"Complex Toolbar on Dialog\" style=\"width:400px;height:200px;padding:10px\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\ticonCls: 'icon-save',\r\n\t\t\t\ttoolbar: '#dlg-toolbar',\r\n\t\t\t\tbuttons: '#dlg-buttons'\r\n\t\t\t\">\r\n\t\tThe dialog content.\r\n\t</div>\r\n\t<div id=\"dlg-toolbar\" style=\"padding:2px 0\">\r\n\t\t<table cellpadding=\"0\" cellspacing=\"0\" style=\"width:100%\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td style=\"padding-left:2px\">\r\n\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-edit',plain:true\">Edit</a>\r\n\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-help',plain:true\">Help</a>\r\n\t\t\t\t</td>\r\n\t\t\t\t<td style=\"text-align:right;padding-right:2px\">\r\n\t\t\t\t\t<input class=\"easyui-searchbox\" data-options=\"prompt:'Please input somthing'\" style=\"width:150px\"></input>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t</div>\r\n\t<div id=\"dlg-buttons\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"javascript:alert('save')\">Save</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"javascript:$('#dlg').dialog('close')\">Close</a>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/dialog/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid Dialog - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid Dialog</h2>\r\n\t<p>This example shows how to set the width of Dialog to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-dialog\" title=\"Fluid Dialog\" style=\"width:80%;height:200px;max-width:800px;padding:10px\" data-options=\"\r\n\t\t\ticonCls:'icon-save',\r\n\t\t\tonResize:function(){\r\n\t\t\t\t$(this).dialog('center');\r\n\t\t\t}\">\r\n\t\t<p>width: 80%; height: 200px</p>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/dialog/toolbarbuttons.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Toolbar and Buttons - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Toolbar and Buttons</h2>\r\n\t<p>The toolbar and buttons can be added to dialog.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#dlg').dialog('open')\">Open</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#dlg').dialog('close')\">Close</a>\r\n\t</div>\r\n\t<div id=\"dlg\" class=\"easyui-dialog\" title=\"Toolbar and Buttons\" style=\"width:400px;height:200px;padding:10px\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\ticonCls: 'icon-save',\r\n\t\t\t\ttoolbar: [{\r\n\t\t\t\t\ttext:'Add',\r\n\t\t\t\t\ticonCls:'icon-add',\r\n\t\t\t\t\thandler:function(){\r\n\t\t\t\t\t\talert('add')\r\n\t\t\t\t\t}\r\n\t\t\t\t},'-',{\r\n\t\t\t\t\ttext:'Save',\r\n\t\t\t\t\ticonCls:'icon-save',\r\n\t\t\t\t\thandler:function(){\r\n\t\t\t\t\t\talert('save')\r\n\t\t\t\t\t}\r\n\t\t\t\t}],\r\n\t\t\t\tbuttons: [{\r\n\t\t\t\t\ttext:'Ok',\r\n\t\t\t\t\ticonCls:'icon-ok',\r\n\t\t\t\t\thandler:function(){\r\n\t\t\t\t\t\talert('ok');\r\n\t\t\t\t\t}\r\n\t\t\t\t},{\r\n\t\t\t\t\ttext:'Cancel',\r\n\t\t\t\t\thandler:function(){\r\n\t\t\t\t\t\talert('cancel');;\r\n\t\t\t\t\t}\r\n\t\t\t\t}]\r\n\t\t\t\">\r\n\t\tThe dialog content.\r\n\t</div>\r\n\t\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/draggable/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Draggable - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Draggable</h2>\r\n\t<p>Move the boxes below by clicking on it with mouse.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-draggable\" style=\"width:200px;height:150px;background:#fafafa;border:1px solid #ccc\"></div>\r\n\t<div class=\"easyui-draggable\" data-options=\"handle:'#title'\" style=\"width:200px;height:150px;background:#fafafa;border:1px solid #ccc;margin-top:10px\">\r\n\t\t<div id=\"title\" style=\"padding:5px;background:#ccc;color:#fff\">Title</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/draggable/constrain.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Constrain Draggable - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Constrain Draggable</h2>\r\n\t<p>The draggable object can only be moved within its parent container.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"position:relative;overflow:hidden;width:500px;height:300px\">\r\n\t\t<div class=\"easyui-draggable\" data-options=\"onDrag:onDrag\" style=\"width:100px;height:100px;background:#fafafa;border:1px solid #ccc;\">\r\n\t\t</div>\r\n\t</div>\r\n\t<script>\r\n\t\tfunction onDrag(e){\r\n\t\t\tvar d = e.data;\r\n\t\t\tif (d.left < 0){d.left = 0}\r\n\t\t\tif (d.top < 0){d.top = 0}\r\n\t\t\tif (d.left + $(d.target).outerWidth() > $(d.parent).width()){\r\n\t\t\t\td.left = $(d.parent).width() - $(d.target).outerWidth();\r\n\t\t\t}\r\n\t\t\tif (d.top + $(d.target).outerHeight() > $(d.parent).height()){\r\n\t\t\t\td.top = $(d.parent).height() - $(d.target).outerHeight();\r\n\t\t\t}\r\n\t\t}\r\n\t</script>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/draggable/snap.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Snap Draggable - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Snap Draggable</h2>\r\n\t<p>This sample shows how to snap a draggable object to a 20x20 grid.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"position:relative;overflow:hidden;width:500px;height:300px\">\r\n\t\t<div class=\"easyui-draggable\" data-options=\"onDrag:onDrag\" style=\"width:100px;height:100px;background:#fafafa;border:1px solid #ccc;\">\r\n\t\t</div>\r\n\t</div>\r\n\t<script>\r\n\t\tfunction onDrag(e){\r\n\t\t\tvar d = e.data;\r\n\t\t\td.left = repair(d.left);\r\n\t\t\td.top = repair(d.top);\r\n\t\t\t\r\n\t\t\tfunction repair(v){\r\n\t\t\t\tvar r = parseInt(v/20)*20;\r\n\t\t\t\tif (Math.abs(v % 20) > 10){\r\n\t\t\t\t\tr += v > 0 ? 20 : -20;\r\n\t\t\t\t}\r\n\t\t\t\treturn r;\r\n\t\t\t}\r\n\t\t}\r\n\t</script>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/droppable/accept.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Accept a Drop - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Accept a Drop</h2>\r\n\t<p>Some draggable object can not be accepted.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div id=\"source\" style=\"border:1px solid #ccc;width:300px;height:400px;float:left;margin:5px;\">\r\n\t\tdrag me!\r\n\t\t<div id=\"d1\" class=\"drag\">Drag 1</div>\r\n\t\t<div id=\"d2\" class=\"drag\">Drag 2</div>\r\n\t\t<div id=\"d3\" class=\"drag\">Drag 3</div>\r\n\t</div>\r\n\t<div id=\"target\" style=\"border:1px solid #ccc;width:300px;height:400px;float:left;margin:5px;\">\r\n\t\tdrop here!\r\n\t</div>\r\n\t<div style=\"clear:both\"></div>\r\n\t<style type=\"text/css\">\r\n\t\t.drag{\r\n\t\t\twidth:100px;\r\n\t\t\theight:50px;\r\n\t\t\tpadding:10px;\r\n\t\t\tmargin:5px;\r\n\t\t\tborder:1px solid #ccc;\r\n\t\t\tbackground:#AACCFF;\r\n\t\t}\r\n\t\t.dp{\r\n\t\t\topacity:0.5;\r\n\t\t\tfilter:alpha(opacity=50);\r\n\t\t}\r\n\t\t.over{\r\n\t\t\tbackground:#FBEC88;\r\n\t\t}\r\n\t</style>\r\n\t<script>\r\n\t\t$(function(){\r\n\t\t\t$('.drag').draggable({\r\n\t\t\t\tproxy:'clone',\r\n\t\t\t\trevert:true,\r\n\t\t\t\tcursor:'auto',\r\n\t\t\t\tonStartDrag:function(){\r\n\t\t\t\t\t$(this).draggable('options').cursor='not-allowed';\r\n\t\t\t\t\t$(this).draggable('proxy').addClass('dp');\r\n\t\t\t\t},\r\n\t\t\t\tonStopDrag:function(){\r\n\t\t\t\t\t$(this).draggable('options').cursor='auto';\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t$('#target').droppable({\r\n\t\t\t\taccept:'#d1,#d3',\r\n\t\t\t\tonDragEnter:function(e,source){\r\n\t\t\t\t\t$(source).draggable('options').cursor='auto';\r\n\t\t\t\t\t$(source).draggable('proxy').css('border','1px solid red');\r\n\t\t\t\t\t$(this).addClass('over');\r\n\t\t\t\t},\r\n\t\t\t\tonDragLeave:function(e,source){\r\n\t\t\t\t\t$(source).draggable('options').cursor='not-allowed';\r\n\t\t\t\t\t$(source).draggable('proxy').css('border','1px solid #ccc');\r\n\t\t\t\t\t$(this).removeClass('over');\r\n\t\t\t\t},\r\n\t\t\t\tonDrop:function(e,source){\r\n\t\t\t\t\t$(this).append(source)\r\n\t\t\t\t\t$(this).removeClass('over');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t</script>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/droppable/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Droppable - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Droppable</h2>\r\n\t<p>Drag the boxed on left to the target area on right.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div style=\"float:left;width:200px;margin-right:20px;\">\r\n\t\t<div class=\"title\">Source</div>\r\n\t\t<div>\r\n\t\t\t<div class=\"dragitem\">Apple</div>\r\n\t\t\t<div class=\"dragitem\">Peach</div>\r\n\t\t\t<div class=\"dragitem\">Orange</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div style=\"float:left;width:200px;\">\r\n\t\t<div class=\"title\">Target</div>\r\n\t\t<div class=\"easyui-droppable targetarea\"\r\n\t\t\t\tdata-options=\"\r\n\t\t\t\t\taccept: '.dragitem',\r\n\t\t\t\t\tonDragEnter:function(e,source){\r\n\t\t\t\t\t\t$(this).html('enter');\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonDragLeave: function(e,source){\r\n\t\t\t\t\t\t$(this).html('leave');\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonDrop: function(e,source){\r\n\t\t\t\t\t\t$(this).html($(source).html() + ' dropped');\r\n\t\t\t\t\t}\r\n\t\t\t\t\">\r\n\t\t</div>\r\n\t</div>\r\n\t<div style=\"clear:both\"></div>\r\n\t<style type=\"text/css\">\r\n\t\t.title{\r\n\t\t\tmargin-bottom:10px;\r\n\t\t}\r\n\t\t.dragitem{\r\n\t\t\tborder:1px solid #ccc;\r\n\t\t\twidth:50px;\r\n\t\t\theight:50px;\r\n\t\t\tmargin-bottom:10px;\r\n\t\t}\r\n\t\t.targetarea{\r\n\t\t\tborder:1px solid red;\r\n\t\t\theight:150px;\r\n\t\t}\r\n\t\t.proxy{\r\n\t\t\tborder:1px solid #ccc;\r\n\t\t\twidth:80px;\r\n\t\t\tbackground:#fafafa;\r\n\t\t}\r\n\t</style>\r\n\t<script>\r\n\t\t$(function(){\r\n\t\t\t$('.dragitem').draggable({\r\n\t\t\t\trevert:true,\r\n\t\t\t\tdeltaX:10,\r\n\t\t\t\tdeltaY:10,\r\n\t\t\t\tproxy:function(source){\r\n\t\t\t\t\tvar n = $('<div class=\"proxy\"></div>');\r\n\t\t\t\t\tn.html($(source).html()).appendTo('body');\r\n\t\t\t\t\treturn n;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/droppable/sort.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Change Items Order - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Change Items Order</h2>\r\n\t<p>Drag the list items to change their order.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<ul style=\"margin:0;padding:0;margin-left:10px;\">\r\n\t\t<li class=\"drag-item\">Drag 1</li>\r\n\t\t<li class=\"drag-item\">Drag 2</li>\r\n\t\t<li class=\"drag-item\">Drag 3</li>\r\n\t\t<li class=\"drag-item\">Drag 4</li>\r\n\t\t<li class=\"drag-item\">Drag 5</li>\r\n\t\t<li class=\"drag-item\">Drag 6</li>\r\n\t</ul>\r\n\t<style type=\"text/css\">\r\n\t\t.drag-item{\r\n\t\t\tlist-style-type:none;\r\n\t\t\tdisplay:block;\r\n\t\t\tpadding:5px;\r\n\t\t\tborder:1px solid #ccc;\r\n\t\t\tmargin:2px;\r\n\t\t\twidth:300px;\r\n\t\t\tbackground:#fafafa;\r\n\t\t\tcolor:#444;\r\n\t\t}\r\n\t\t.indicator{\r\n\t\t\tposition:absolute;\r\n\t\t\tfont-size:9px;\r\n\t\t\twidth:10px;\r\n\t\t\theight:10px;\r\n\t\t\tdisplay:none;\r\n\t\t\tcolor:red;\r\n\t\t}\r\n\t</style>\r\n\t<script>\r\n\t\t$(function(){\r\n\t\t\tvar indicator = $('<div class=\"indicator\">>></div>').appendTo('body');\r\n\t\t\t$('.drag-item').draggable({\r\n\t\t\t\trevert:true,\r\n\t\t\t\tdeltaX:0,\r\n\t\t\t\tdeltaY:0\r\n\t\t\t}).droppable({\r\n\t\t\t\tonDragOver:function(e,source){\r\n\t\t\t\t\tindicator.css({\r\n\t\t\t\t\t\tdisplay:'block',\r\n\t\t\t\t\t\tleft:$(this).offset().left-10,\r\n\t\t\t\t\t\ttop:$(this).offset().top+$(this).outerHeight()-5\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\tonDragLeave:function(e,source){\r\n\t\t\t\t\tindicator.hide();\r\n\t\t\t\t},\r\n\t\t\t\tonDrop:function(e,source){\r\n\t\t\t\t\t$(source).insertAfter(this);\r\n\t\t\t\t\tindicator.hide();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t</script>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/easyloader/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic EasyLoader - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../easyloader.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic EasyLoader</h2>\r\n\t<div class=\"demo-info\">\r\n\t\t<div class=\"demo-tip icon-tip\"></div>\r\n\t\t<div>Click the buttons below to load components dynamically.</div>\r\n\t</div>\r\n\t<div style=\"margin:10px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"load1()\">Load Calendar</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"load2()\">Load Dialog</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"load3()\">Load DataGrid</a>\r\n\t</div>\r\n\t<div id=\"cc\"></div>\r\n\t<div id=\"dd\"></div>\r\n\t<table id=\"tt\"></table>\r\n\t<script type=\"text/javascript\" src=\"../../easyloader.js\"></script>\r\n\t<script>\r\n\t\tfunction load1(){\r\n\t\t\tusing('calendar', function(){\r\n\t\t\t\t$('#cc').calendar({\r\n\t\t\t\t\twidth:180,\r\n\t\t\t\t\theight:180\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction load2(){\r\n\t\t\tusing(['dialog','messager'], function(){\r\n\t\t\t\t$('#dd').dialog({\r\n\t\t\t\t\ttitle:'Dialog',\r\n\t\t\t\t\twidth:300,\r\n\t\t\t\t\theight:200\r\n\t\t\t\t});\r\n\t\t\t\t$.messager.show({\r\n\t\t\t\t\ttitle:'info',\r\n\t\t\t\t\tmsg:'dialog created'\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction load3(){\r\n\t\t\tusing('datagrid', function(){\r\n\t\t\t\t$('#tt').datagrid({\r\n\t\t\t\t\ttitle:'DataGrid',\r\n\t\t\t\t\twidth:300,\r\n\t\t\t\t\theight:200,\r\n\t\t\t\t\tfitColumns:true,\r\n\t\t\t\t\tcolumns:[[\r\n\t\t\t\t\t\t{field:'productid',title:'Product ID',width:100},\r\n\t\t\t\t\t\t{field:'productname',title:'Product Name',width:200}\r\n\t\t\t\t\t]],\r\n\t\t\t\t\tdata: [\r\n\t\t\t\t\t\t{\"productid\":\"FI-SW-01\",\"productname\":\"Koi\"},\r\n\t\t\t\t\t\t{\"productid\":\"K9-DL-01\",\"productname\":\"Dalmation\"},\r\n\t\t\t\t\t\t{\"productid\":\"RP-SN-01\",\"productname\":\"Rattlesnake\"},\r\n\t\t\t\t\t\t{\"productid\":\"RP-LI-02\",\"productname\":\"Iguana\"},\r\n\t\t\t\t\t\t{\"productid\":\"FL-DSH-01\",\"productname\":\"Manx\"},\r\n\t\t\t\t\t\t{\"productid\":\"FL-DLH-02\",\"productname\":\"Persian\"},\r\n\t\t\t\t\t\t{\"productid\":\"AV-CB-01\",\"productname\":\"Amazon Parrot\"}\r\n\t\t\t\t\t]\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t</script>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/filebox/basic.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>Basic FileBox - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>Basic FileBox</h2>\n\t<p>The filebox component represents a file field of the forms.</p>\n\t<div style=\"margin:20px 0;\"></div>\n\t<div class=\"easyui-panel\" title=\"Upload File\" style=\"width:400px;padding:30px 70px 50px 70px\">\n\t\t<div style=\"margin-bottom:20px\">\n\t\t\t<div>Name:</div>\n\t\t\t<input class=\"easyui-textbox\" style=\"width:100%\">\n\t\t</div>\n\t\t<div style=\"margin-bottom:20px\">\n\t\t\t<div>File1:</div>\n\t\t\t<input class=\"easyui-filebox\" name=\"file1\" data-options=\"prompt:'Choose a file...'\" style=\"width:100%\">\n\t\t</div>\n\t\t<div style=\"margin-bottom:20px\">\n\t\t\t<div>File2:</div>\n\t\t\t<input class=\"easyui-filebox\" name=\"file2\" data-options=\"prompt:'Choose another file...'\" style=\"width:100%\">\n\t\t</div>\n\t\t<div>\n\t\t\t<a href=\"#\" class=\"easyui-linkbutton\" style=\"width:100%\">Upload</a>\n\t\t</div>\n\t</div>\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/filebox/buttonalign.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>Button Align on FileBox - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>Button Align on FileBox</h2>\n\t<p>Change the button align to the left or right of filebox.</p>\n\t<div style=\"margin:20px 0 40px 0;\"></div>\n\t<span>Select Button Align:</span>\n\t<select onchange=\"changeAlign(this.value)\">\n\t\t<option value=\"left\">Left</option>\n\t\t<option value=\"right\" selected>Right</option>\n\t</select>\n\t<div style=\"margin:20px 0;\"></div>\n\t<input id=\"fb\" class=\"easyui-filebox\" style=\"width:400px\" data-options=\"prompt:'Choose a file...'\">\n\t<script type=\"text/javascript\">\n\t\tfunction changeAlign(align){\n\t\t\t$('#fb').filebox({buttonAlign:align});\n\t\t}\n\t</script>\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/filebox/fluid.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>Fluid FileBox - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>Fluid FileBox</h2>\n\t<p>This example shows how to set the width of FileBox to a percentage of its parent container.</p>\n\t<div style=\"margin:20px 0;\"></div>\n\t<p>width: 50%</p>\n\t<input class=\"easyui-filebox\" style=\"width:50%\">\n\t<p>width: 30%</p>\n\t<input class=\"easyui-filebox\" style=\"width:30%\">\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/form/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Form - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Form</h2>\r\n\t<p>Fill the form and submit it.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" title=\"New Topic\" style=\"width:400px\">\r\n\t\t<div style=\"padding:10px 60px 20px 60px\">\r\n\t    <form id=\"ff\" method=\"post\">\r\n\t    \t<table cellpadding=\"5\">\r\n\t    \t\t<tr>\r\n\t    \t\t\t<td>Name:</td>\r\n\t    \t\t\t<td><input class=\"easyui-textbox\" type=\"text\" name=\"name\" data-options=\"required:true\"></input></td>\r\n\t    \t\t</tr>\r\n\t    \t\t<tr>\r\n\t    \t\t\t<td>Email:</td>\r\n\t    \t\t\t<td><input class=\"easyui-textbox\" type=\"text\" name=\"email\" data-options=\"required:true,validType:'email'\"></input></td>\r\n\t    \t\t</tr>\r\n\t    \t\t<tr>\r\n\t    \t\t\t<td>Subject:</td>\r\n\t    \t\t\t<td><input class=\"easyui-textbox\" type=\"text\" name=\"subject\" data-options=\"required:true\"></input></td>\r\n\t    \t\t</tr>\r\n\t    \t\t<tr>\r\n\t    \t\t\t<td>Message:</td>\r\n\t    \t\t\t<td><input class=\"easyui-textbox\" name=\"message\" data-options=\"multiline:true\" style=\"height:60px\"></input></td>\r\n\t    \t\t</tr>\r\n\t    \t\t<tr>\r\n\t    \t\t\t<td>Language:</td>\r\n\t    \t\t\t<td>\r\n\t    \t\t\t\t<select class=\"easyui-combobox\" name=\"language\"><option value=\"ar\">Arabic</option><option value=\"bg\">Bulgarian</option><option value=\"ca\">Catalan</option><option value=\"zh-cht\">Chinese Traditional</option><option value=\"cs\">Czech</option><option value=\"da\">Danish</option><option value=\"nl\">Dutch</option><option value=\"en\" selected=\"selected\">English</option><option value=\"et\">Estonian</option><option value=\"fi\">Finnish</option><option value=\"fr\">French</option><option value=\"de\">German</option><option value=\"el\">Greek</option><option value=\"ht\">Haitian Creole</option><option value=\"he\">Hebrew</option><option value=\"hi\">Hindi</option><option value=\"mww\">Hmong Daw</option><option value=\"hu\">Hungarian</option><option value=\"id\">Indonesian</option><option value=\"it\">Italian</option><option value=\"ja\">Japanese</option><option value=\"ko\">Korean</option><option value=\"lv\">Latvian</option><option value=\"lt\">Lithuanian</option><option value=\"no\">Norwegian</option><option value=\"fa\">Persian</option><option value=\"pl\">Polish</option><option value=\"pt\">Portuguese</option><option value=\"ro\">Romanian</option><option value=\"ru\">Russian</option><option value=\"sk\">Slovak</option><option value=\"sl\">Slovenian</option><option value=\"es\">Spanish</option><option value=\"sv\">Swedish</option><option value=\"th\">Thai</option><option value=\"tr\">Turkish</option><option value=\"uk\">Ukrainian</option><option value=\"vi\">Vietnamese</option></select>\r\n\t    \t\t\t</td>\r\n\t    \t\t</tr>\r\n\t    \t</table>\r\n\t    </form>\r\n\t    <div style=\"text-align:center;padding:5px\">\r\n\t    \t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"submitForm()\">Submit</a>\r\n\t    \t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"clearForm()\">Clear</a>\r\n\t    </div>\r\n\t    </div>\r\n\t</div>\r\n\t<script>\r\n\t\tfunction submitForm(){\r\n\t\t\t$('#ff').form('submit');\r\n\t\t}\r\n\t\tfunction clearForm(){\r\n\t\t\t$('#ff').form('clear');\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/form/form_data1.json",
    "content": "{\r\n\t\"name\":\"easyui\",\r\n\t\"email\":\"easyui@gmail.com\",\r\n\t\"subject\":\"Subject Title\",\r\n\t\"message\":\"Message Content\",\r\n\t\"language\":\"de\"\r\n}"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/form/load.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Load Form Data - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Load Form Data</h2>\r\n\t<p>Click the buttons below to load form data.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"loadLocal()\">LoadLocal</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"loadRemote()\">LoadRemote</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"clearForm()\">Clear</a>\r\n\t</div>\r\n\t<div class=\"easyui-panel\" title=\"New Topic\" style=\"width:400px\">\r\n\t\t<div style=\"padding:10px 60px 20px 60px\">\r\n\t    <form id=\"ff\" method=\"post\">\r\n\t    \t<table cellpadding=\"5\">\r\n\t    \t\t<tr>\r\n\t    \t\t\t<td>Name:</td>\r\n\t    \t\t\t<td><input class=\"easyui-textbox\" type=\"text\" name=\"name\" data-options=\"required:true\"></input></td>\r\n\t    \t\t</tr>\r\n\t    \t\t<tr>\r\n\t    \t\t\t<td>Email:</td>\r\n\t    \t\t\t<td><input class=\"easyui-textbox\" type=\"text\" name=\"email\" data-options=\"required:true,validType:'email'\"></input></td>\r\n\t    \t\t</tr>\r\n\t    \t\t<tr>\r\n\t    \t\t\t<td>Subject:</td>\r\n\t    \t\t\t<td><input class=\"easyui-textbox\" type=\"text\" name=\"subject\" data-options=\"required:true\"></input></td>\r\n\t    \t\t</tr>\r\n\t    \t\t<tr>\r\n\t    \t\t\t<td>Message:</td>\r\n\t    \t\t\t<td><input class=\"easyui-textbox\" name=\"message\" data-options=\"multiline:true\" style=\"height:60px\"></input></td>\r\n\t    \t\t</tr>\r\n\t    \t\t<tr>\r\n\t    \t\t\t<td>Language:</td>\r\n\t    \t\t\t<td>\r\n\t    \t\t\t\t<select class=\"easyui-combobox\" name=\"language\"><option value=\"ar\">Arabic</option><option value=\"bg\">Bulgarian</option><option value=\"ca\">Catalan</option><option value=\"zh-cht\">Chinese Traditional</option><option value=\"cs\">Czech</option><option value=\"da\">Danish</option><option value=\"nl\">Dutch</option><option value=\"en\" selected=\"selected\">English</option><option value=\"et\">Estonian</option><option value=\"fi\">Finnish</option><option value=\"fr\">French</option><option value=\"de\">German</option><option value=\"el\">Greek</option><option value=\"ht\">Haitian Creole</option><option value=\"he\">Hebrew</option><option value=\"hi\">Hindi</option><option value=\"mww\">Hmong Daw</option><option value=\"hu\">Hungarian</option><option value=\"id\">Indonesian</option><option value=\"it\">Italian</option><option value=\"ja\">Japanese</option><option value=\"ko\">Korean</option><option value=\"lv\">Latvian</option><option value=\"lt\">Lithuanian</option><option value=\"no\">Norwegian</option><option value=\"fa\">Persian</option><option value=\"pl\">Polish</option><option value=\"pt\">Portuguese</option><option value=\"ro\">Romanian</option><option value=\"ru\">Russian</option><option value=\"sk\">Slovak</option><option value=\"sl\">Slovenian</option><option value=\"es\">Spanish</option><option value=\"sv\">Swedish</option><option value=\"th\">Thai</option><option value=\"tr\">Turkish</option><option value=\"uk\">Ukrainian</option><option value=\"vi\">Vietnamese</option></select>\r\n\t    \t\t\t</td>\r\n\t    \t\t</tr>\r\n\t    \t</table>\r\n\t    </form>\r\n\t    </div>\r\n\t</div>\r\n\t<script>\r\n\t\tfunction loadLocal(){\r\n\t\t\t$('#ff').form('load',{\r\n\t\t\t\tname:'myname',\r\n\t\t\t\temail:'mymail@gmail.com',\r\n\t\t\t\tsubject:'subject',\r\n\t\t\t\tmessage:'message',\r\n\t\t\t\tlanguage:'en'\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction loadRemote(){\r\n\t\t\t$('#ff').form('load', 'form_data1.json');\r\n\t\t}\r\n\t\tfunction clearForm(){\r\n\t\t\t$('#ff').form('clear');\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/form/validateonsubmit.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Validate Form on Submit - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Validate Form on Submit</h2>\r\n\t<p>The form does not perform validation before being submitted.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" title=\"New Topic\" style=\"width:400px\">\r\n\t\t<div style=\"padding:10px 60px 20px 60px\">\r\n\t    <form id=\"ff\" class=\"easyui-form\" method=\"post\" data-options=\"novalidate:true\">\r\n\t    \t<table cellpadding=\"5\">\r\n\t    \t\t<tr>\r\n\t    \t\t\t<td>Name:</td>\r\n\t    \t\t\t<td><input class=\"easyui-textbox\" type=\"text\" name=\"name\" data-options=\"required:true\"></input></td>\r\n\t    \t\t</tr>\r\n\t    \t\t<tr>\r\n\t    \t\t\t<td>Email:</td>\r\n\t    \t\t\t<td><input class=\"easyui-textbox\" type=\"text\" name=\"email\" data-options=\"required:true,validType:'email'\"></input></td>\r\n\t    \t\t</tr>\r\n\t    \t\t<tr>\r\n\t    \t\t\t<td>Subject:</td>\r\n\t    \t\t\t<td><input class=\"easyui-textbox\" type=\"text\" name=\"subject\" data-options=\"required:true\"></input></td>\r\n\t    \t\t</tr>\r\n\t    \t\t<tr>\r\n\t    \t\t\t<td>Message:</td>\r\n\t    \t\t\t<td><input class=\"easyui-textbox\" name=\"message\" data-options=\"multiline:true\" style=\"height:60px\"></input></td>\r\n\t    \t\t</tr>\r\n\t    \t\t<tr>\r\n\t    \t\t\t<td>Language:</td>\r\n\t    \t\t\t<td>\r\n\t    \t\t\t\t<select class=\"easyui-combobox\" name=\"language\"><option value=\"ar\">Arabic</option><option value=\"bg\">Bulgarian</option><option value=\"ca\">Catalan</option><option value=\"zh-cht\">Chinese Traditional</option><option value=\"cs\">Czech</option><option value=\"da\">Danish</option><option value=\"nl\">Dutch</option><option value=\"en\" selected=\"selected\">English</option><option value=\"et\">Estonian</option><option value=\"fi\">Finnish</option><option value=\"fr\">French</option><option value=\"de\">German</option><option value=\"el\">Greek</option><option value=\"ht\">Haitian Creole</option><option value=\"he\">Hebrew</option><option value=\"hi\">Hindi</option><option value=\"mww\">Hmong Daw</option><option value=\"hu\">Hungarian</option><option value=\"id\">Indonesian</option><option value=\"it\">Italian</option><option value=\"ja\">Japanese</option><option value=\"ko\">Korean</option><option value=\"lv\">Latvian</option><option value=\"lt\">Lithuanian</option><option value=\"no\">Norwegian</option><option value=\"fa\">Persian</option><option value=\"pl\">Polish</option><option value=\"pt\">Portuguese</option><option value=\"ro\">Romanian</option><option value=\"ru\">Russian</option><option value=\"sk\">Slovak</option><option value=\"sl\">Slovenian</option><option value=\"es\">Spanish</option><option value=\"sv\">Swedish</option><option value=\"th\">Thai</option><option value=\"tr\">Turkish</option><option value=\"uk\">Ukrainian</option><option value=\"vi\">Vietnamese</option></select>\r\n\t    \t\t\t</td>\r\n\t    \t\t</tr>\r\n\t    \t</table>\r\n\t    </form>\r\n\t    <div style=\"text-align:center;padding:5px\">\r\n\t    \t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"submitForm()\">Submit</a>\r\n\t    \t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"clearForm()\">Clear</a>\r\n\t    </div>\r\n\t    </div>\r\n\t</div>\r\n\t<script>\r\n\t\tfunction submitForm(){\r\n\t\t\t$('#ff').form('submit',{\r\n\t\t\t\tonSubmit:function(){\r\n\t\t\t\t\treturn $(this).form('enableValidation').form('validate');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction clearForm(){\r\n\t\t\t$('#ff').form('clear');\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/layout/_content.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>AJAX Content</title>\r\n</head>\r\n<body>\r\n\t<p style=\"font-size:14px\">jQuery EasyUI framework help you build your web page easily.</p>\r\n\t<ul>\r\n\t\t<li>easyui is a collection of user-interface plugin based on jQuery.</li>\r\n\t\t<li>easyui provides essential functionality for building modern, interactive, javascript applications.</li>\r\n\t\t<li>using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.</li>\r\n\t\t<li>complete framework for HTML5 web page.</li>\r\n\t\t<li>easyui save your time and scales while developing your products.</li>\r\n\t\t<li>easyui is very easy but powerful.</li>\r\n\t</ul>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/layout/addremove.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Add and Remove Layout - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Add and Remove Layout</h2>\r\n\t<p>Click the buttons below to add or remove region panel of layout.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<span>Select Region Panel:</span>\r\n\t\t<select id=\"region\">\r\n\t\t\t<option value=\"north\">North</option>\r\n\t\t\t<option value=\"south\">South</option>\r\n\t\t\t<option value=\"east\">East</option>\r\n\t\t\t<option value=\"west\">West</option>\r\n\t\t</select>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"addPanel()\">Add</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"removePanel()\">Remove</a>\r\n\t</div>\r\n\t<div id=\"cc\" class=\"easyui-layout\" style=\"width:700px;height:350px;\">\r\n\t\t<div data-options=\"region:'north'\" style=\"height:50px\"></div>\r\n\t\t<div data-options=\"region:'south',split:true\" style=\"height:50px;\"></div>\r\n\t\t<div data-options=\"region:'east',split:true\" title=\"East\" style=\"width:100px;\"></div>\r\n\t\t<div data-options=\"region:'west',split:true\" title=\"West\" style=\"width:100px;\"></div>\r\n\t\t<div data-options=\"region:'center',title:'Center'\"></div>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction addPanel(){\r\n\t\t\tvar region = $('#region').val();\r\n\t\t\tvar options = {\r\n\t\t\t\tregion: region\r\n\t\t\t};\r\n\t\t\tif (region=='north' || region=='south'){\r\n\t\t\t\toptions.height = 50;\r\n\t\t\t} else {\r\n\t\t\t\toptions.width = 100;\r\n\t\t\t\toptions.split = true;\r\n\t\t\t\toptions.title = $('#region option:selected').text();\r\n\t\t\t}\r\n\t\t\t$('#cc').layout('add', options);\r\n\t\t}\r\n\t\tfunction removePanel(){\r\n\t\t\t$('#cc').layout('remove', $('#region').val());\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/layout/autoheight.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Auto Height for Layout - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Auto Height for Layout</h2>\r\n\t<p>This example shows how to auto adjust layout height after dynamically adding items.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"addItem()\">Add Item</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"removeItem()\">Remove Item</a>\r\n\t</div>\r\n\t<div id=\"cc\" style=\"width:700px;height:350px;\">\r\n\t\t<div data-options=\"region:'north'\" style=\"height:50px\"></div>\r\n\t\t<div data-options=\"region:'south'\" style=\"height:50px;\"></div>\r\n\t\t<div data-options=\"region:'west'\" style=\"width:150px;\"></div>\r\n\t\t<div data-options=\"region:'center'\" style=\"padding:20px\">\r\n\t\t\t<p>Panel Content.</p>\r\n\t\t\t<p>Panel Content.</p>\r\n\t\t\t<p>Panel Content.</p>\r\n\t\t\t<p>Panel Content.</p>\r\n\t\t\t<p>Panel Content.</p>\r\n\t\t</div>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\t$(function(){\r\n\t\t\t$('#cc').layout();\r\n\t\t\tsetHeight();\r\n\t\t});\r\n\t\t\r\n\t\tfunction addItem(){\r\n\t\t\t$('#cc').layout('panel','center').append('<p>More Panel Content.</p>');\r\n\t\t\tsetHeight();\r\n\t\t}\r\n\t\t\r\n\t\tfunction removeItem(){\r\n\t\t\t$('#cc').layout('panel','center').find('p:last').remove();\r\n\t\t\tsetHeight();\r\n\t\t}\r\n\t\t\r\n\t\tfunction setHeight(){\r\n\t\t\tvar c = $('#cc');\r\n\t\t\tvar p = c.layout('panel','center');\t// get the center panel\r\n\t\t\tvar oldHeight = p.panel('panel').outerHeight();\r\n\t\t\tp.panel('resize', {height:'auto'});\r\n\t\t\tvar newHeight = p.panel('panel').outerHeight();\r\n\t\t\tc.layout('resize',{\r\n\t\t\t\theight: (c.height() + newHeight - oldHeight)\r\n\t\t\t});\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/layout/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Layout - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Layout</h2>\r\n\t<p>The layout contains north,south,west,east and center regions.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-layout\" style=\"width:700px;height:350px;\">\r\n\t\t<div data-options=\"region:'north'\" style=\"height:50px\"></div>\r\n\t\t<div data-options=\"region:'south',split:true\" style=\"height:50px;\"></div>\r\n\t\t<div data-options=\"region:'east',split:true\" title=\"East\" style=\"width:100px;\"></div>\r\n\t\t<div data-options=\"region:'west',split:true\" title=\"West\" style=\"width:100px;\"></div>\r\n\t\t<div data-options=\"region:'center',title:'Main Title',iconCls:'icon-ok'\">\r\n\t\t\t<table class=\"easyui-datagrid\"\r\n\t\t\t\t\tdata-options=\"url:'datagrid_data1.json',method:'get',border:false,singleSelect:true,fit:true,fitColumns:true\">\r\n\t\t\t\t<thead>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<th data-options=\"field:'itemid'\" width=\"80\">Item ID</th>\r\n\t\t\t\t\t\t<th data-options=\"field:'productid'\" width=\"100\">Product ID</th>\r\n\t\t\t\t\t\t<th data-options=\"field:'listprice',align:'right'\" width=\"80\">List Price</th>\r\n\t\t\t\t\t\t<th data-options=\"field:'unitcost',align:'right'\" width=\"80\">Unit Cost</th>\r\n\t\t\t\t\t\t<th data-options=\"field:'attr1'\" width=\"150\">Attribute</th>\r\n\t\t\t\t\t\t<th data-options=\"field:'status',align:'center'\" width=\"60\">Status</th>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</thead>\r\n\t\t\t</table>\r\n\t\t</div>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/layout/complex.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Complex Layout - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Complex Layout</h2>\r\n\t<p>This sample shows how to create a complex layout.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-layout\" style=\"width:700px;height:350px;\">\r\n\t\t<div data-options=\"region:'north'\" style=\"height:50px\"></div>\r\n\t\t<div data-options=\"region:'south',split:true\" style=\"height:50px;\"></div>\r\n\t\t<div data-options=\"region:'east',split:true\" title=\"East\" style=\"width:180px;\">\r\n\t\t\t<ul class=\"easyui-tree\" data-options=\"url:'tree_data1.json',method:'get',animate:true,dnd:true\"></ul>\r\n\t\t</div>\r\n\t\t<div data-options=\"region:'west',split:true\" title=\"West\" style=\"width:100px;\">\r\n\t\t\t<div class=\"easyui-accordion\" data-options=\"fit:true,border:false\">\r\n\t\t\t\t<div title=\"Title1\" style=\"padding:10px;\">\r\n\t\t\t\t\tcontent1\r\n\t\t\t\t</div>\r\n\t\t\t\t<div title=\"Title2\" data-options=\"selected:true\" style=\"padding:10px;\">\r\n\t\t\t\t\tcontent2\r\n\t\t\t\t</div>\r\n\t\t\t\t<div title=\"Title3\" style=\"padding:10px\">\r\n\t\t\t\t\tcontent3\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div data-options=\"region:'center',title:'Main Title',iconCls:'icon-ok'\">\r\n\t\t\t<div class=\"easyui-tabs\" data-options=\"fit:true,border:false,plain:true\">\r\n\t\t\t\t<div title=\"About\" data-options=\"href:'_content.html'\" style=\"padding:10px\"></div>\r\n\t\t\t\t<div title=\"DataGrid\" style=\"padding:5px\">\r\n\t\t\t\t\t<table class=\"easyui-datagrid\"\r\n\t\t\t\t\t\t\tdata-options=\"url:'datagrid_data1.json',method:'get',singleSelect:true,fit:true,fitColumns:true\">\r\n\t\t\t\t\t\t<thead>\r\n\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t<th data-options=\"field:'itemid'\" width=\"80\">Item ID</th>\r\n\t\t\t\t\t\t\t\t<th data-options=\"field:'productid'\" width=\"100\">Product ID</th>\r\n\t\t\t\t\t\t\t\t<th data-options=\"field:'listprice',align:'right'\" width=\"80\">List Price</th>\r\n\t\t\t\t\t\t\t\t<th data-options=\"field:'unitcost',align:'right'\" width=\"80\">Unit Cost</th>\r\n\t\t\t\t\t\t\t\t<th data-options=\"field:'attr1'\" width=\"150\">Attribute</th>\r\n\t\t\t\t\t\t\t\t<th data-options=\"field:'status',align:'center'\" width=\"50\">Status</th>\r\n\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t</thead>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/layout/datagrid_data1.json",
    "content": "{\"total\":28,\"rows\":[\r\n\t{\"productid\":\"FI-SW-01\",\"productname\":\"Koi\",\"unitcost\":10.00,\"status\":\"P\",\"listprice\":36.50,\"attr1\":\"Large\",\"itemid\":\"EST-1\"},\r\n\t{\"productid\":\"K9-DL-01\",\"productname\":\"Dalmation\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":18.50,\"attr1\":\"Spotted Adult Female\",\"itemid\":\"EST-10\"},\r\n\t{\"productid\":\"RP-SN-01\",\"productname\":\"Rattlesnake\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":38.50,\"attr1\":\"Venomless\",\"itemid\":\"EST-11\"},\r\n\t{\"productid\":\"RP-SN-01\",\"productname\":\"Rattlesnake\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":26.50,\"attr1\":\"Rattleless\",\"itemid\":\"EST-12\"},\r\n\t{\"productid\":\"RP-LI-02\",\"productname\":\"Iguana\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":35.50,\"attr1\":\"Green Adult\",\"itemid\":\"EST-13\"},\r\n\t{\"productid\":\"FL-DSH-01\",\"productname\":\"Manx\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":158.50,\"attr1\":\"Tailless\",\"itemid\":\"EST-14\"},\r\n\t{\"productid\":\"FL-DSH-01\",\"productname\":\"Manx\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":83.50,\"attr1\":\"With tail\",\"itemid\":\"EST-15\"},\r\n\t{\"productid\":\"FL-DLH-02\",\"productname\":\"Persian\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":23.50,\"attr1\":\"Adult Female\",\"itemid\":\"EST-16\"},\r\n\t{\"productid\":\"FL-DLH-02\",\"productname\":\"Persian\",\"unitcost\":12.00,\"status\":\"P\",\"listprice\":89.50,\"attr1\":\"Adult Male\",\"itemid\":\"EST-17\"},\r\n\t{\"productid\":\"AV-CB-01\",\"productname\":\"Amazon Parrot\",\"unitcost\":92.00,\"status\":\"P\",\"listprice\":63.50,\"attr1\":\"Adult Male\",\"itemid\":\"EST-18\"}\r\n]}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/layout/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid Layout - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid Layout</h2>\r\n\t<p>Percentage width of region panel in a layout.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-layout\" style=\"width:700px;height:350px;\">\r\n\t\t<div id=\"p\" data-options=\"region:'west'\" title=\"West\" style=\"width:30%;padding:10px\">\r\n\t\t\t<p>width: 30%</p>\r\n\t\t</div>\r\n\t\t<div data-options=\"region:'center'\" title=\"Center\">\r\n\t\t</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/layout/full.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Full Layout - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body class=\"easyui-layout\">\r\n\t<div data-options=\"region:'north',border:false\" style=\"height:60px;background:#B3DFDA;padding:10px\">north region</div>\r\n\t<div data-options=\"region:'west',split:true,title:'West'\" style=\"width:150px;padding:10px;\">west content</div>\r\n\t<div data-options=\"region:'east',split:true,collapsed:true,title:'East'\" style=\"width:100px;padding:10px;\">east region</div>\r\n\t<div data-options=\"region:'south',border:false\" style=\"height:50px;background:#A9FACD;padding:10px;\">south region</div>\r\n\t<div data-options=\"region:'center',title:'Center'\"></div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/layout/nestedlayout.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Nested Layout - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Nested Layout</h2>\r\n\t<p>The layout region panel contains another layout or other components.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-layout\" style=\"width:700px;height:350px;\">\r\n\t\t<div data-options=\"region:'north'\" style=\"height:50px\"></div>\r\n\t\t<div data-options=\"region:'south',split:true\" style=\"height:50px;\"></div>\r\n\t\t<div data-options=\"region:'east',split:true\" title=\"East\" style=\"width:180px;\"></div>\r\n\t\t<div data-options=\"region:'west',split:true\" title=\"West\" style=\"width:100px;\"></div>\r\n\t\t<div data-options=\"region:'center',iconCls:'icon-ok'\" title=\"Center\">\r\n\t\t\t<div class=\"easyui-layout\" data-options=\"fit:true\">\r\n\t\t\t\t<div data-options=\"region:'north',split:true,border:false\" style=\"height:50px\"></div>\r\n\t\t\t\t<div data-options=\"region:'west',split:true,border:false\" style=\"width:100px\"></div>\r\n\t\t\t\t<div data-options=\"region:'center',border:false\"></div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/layout/nocollapsible.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>No collapsible button in Layout - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>No collapsible button in Layout</h2>\r\n\t<p>The layout region panel has no collapsible button.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-layout\" style=\"width:700px;height:350px;\">\r\n\t\t<div data-options=\"region:'north'\" style=\"height:50px\"></div>\r\n\t\t<div data-options=\"region:'south',split:true\" style=\"height:50px;\"></div>\r\n\t\t<div data-options=\"region:'east',split:true,title:'East',collapsible:false\" style=\"width:250px;\">\r\n\t\t\t<table id=\"tt\" class=\"easyui-propertygrid\" data-options=\"\r\n\t\t\t\t\t\turl: 'propertygrid_data1.json',\r\n\t\t\t\t\t\tmethod: 'get',\r\n\t\t\t\t\t\tshowGroup: true,\r\n\t\t\t\t\t\tfit: true,\r\n\t\t\t\t\t\tborder: false\r\n\t\t\t\t\t\">\r\n\t\t\t</table>\r\n\t\t</div>\r\n\t\t<div data-options=\"region:'center',title:'Main Title',iconCls:'icon-ok',href:'_content.html'\" style=\"padding:10px\">\r\n\t\t</div>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/layout/propertygrid_data1.json",
    "content": "{\"total\":7,\"rows\":[\r\n\t{\"name\":\"Name\",\"value\":\"Bill Smith\",\"group\":\"ID Settings\",\"editor\":\"text\"},\r\n\t{\"name\":\"Address\",\"value\":\"\",\"group\":\"ID Settings\",\"editor\":\"text\"},\r\n\t{\"name\":\"Age\",\"value\":\"40\",\"group\":\"ID Settings\",\"editor\":\"numberbox\"},\r\n\t{\"name\":\"Birthday\",\"value\":\"01/02/2012\",\"group\":\"ID Settings\",\"editor\":\"datebox\"},\r\n\t{\"name\":\"SSN\",\"value\":\"123-456-7890\",\"group\":\"ID Settings\",\"editor\":\"text\"},\r\n\t{\"name\":\"Email\",\"value\":\"bill@gmail.com\",\"group\":\"Marketing Settings\",\"editor\":{\r\n\t\t\"type\":\"validatebox\",\r\n\t\t\"options\":{\r\n\t\t\t\"validType\":\"email\"\r\n\t\t}\r\n\t}},\r\n\t{\"name\":\"FrequentBuyer\",\"value\":\"false\",\"group\":\"Marketing Settings\",\"editor\":{\r\n\t\t\"type\":\"checkbox\",\r\n\t\t\"options\":{\r\n\t\t\t\"on\":true,\r\n\t\t\t\"off\":false\r\n\t\t}\r\n\t}}\r\n]}"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/layout/tree_data1.json",
    "content": "[{\r\n\t\"id\":1,\r\n\t\"text\":\"My Documents\",\r\n\t\"children\":[{\r\n\t\t\"id\":11,\r\n\t\t\"text\":\"Photos\",\r\n\t\t\"state\":\"closed\",\r\n\t\t\"children\":[{\r\n\t\t\t\"id\":111,\r\n\t\t\t\"text\":\"Friend\"\r\n\t\t},{\r\n\t\t\t\"id\":112,\r\n\t\t\t\"text\":\"Wife\"\r\n\t\t},{\r\n\t\t\t\"id\":113,\r\n\t\t\t\"text\":\"Company\"\r\n\t\t}]\r\n\t},{\r\n\t\t\"id\":12,\r\n\t\t\"text\":\"Program Files\",\r\n\t\t\"children\":[{\r\n\t\t\t\"id\":121,\r\n\t\t\t\"text\":\"Intel\"\r\n\t\t},{\r\n\t\t\t\"id\":122,\r\n\t\t\t\"text\":\"Java\",\r\n\t\t\t\"attributes\":{\r\n\t\t\t\t\"p1\":\"Custom Attribute1\",\r\n\t\t\t\t\"p2\":\"Custom Attribute2\"\r\n\t\t\t}\r\n\t\t},{\r\n\t\t\t\"id\":123,\r\n\t\t\t\"text\":\"Microsoft Office\"\r\n\t\t},{\r\n\t\t\t\"id\":124,\r\n\t\t\t\"text\":\"Games\",\r\n\t\t\t\"checked\":true\r\n\t\t}]\r\n\t},{\r\n\t\t\"id\":13,\r\n\t\t\"text\":\"index.html\"\r\n\t},{\r\n\t\t\"id\":14,\r\n\t\t\"text\":\"about.html\"\r\n\t},{\r\n\t\t\"id\":15,\r\n\t\t\"text\":\"welcome.html\"\r\n\t}]\r\n}]\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/linkbutton/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic LinkButton - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic LinkButton</h2>\r\n\t<p>Buttons can be created from &lt;a&gt; or &lt;button&gt; elements.</p>\r\n\t<div style=\"margin:10px 0 40px 0;\"></div>\r\n\t<p>Basic Buttons</p>\r\n\t<div style=\"padding:5px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-add'\">Add</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-remove'\">Remove</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-save'\">Save</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-cut',disabled:true\">Cut</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\">Text Button</a>\r\n\t</div>\r\n\t<p>Fixed Width Buttons</p>\r\n\t<div style=\"padding:5px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-search'\" style=\"width:80px\">Search</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-print'\" style=\"width:80px\">Print</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-reload'\" style=\"width:80px\">Reload</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-help'\" style=\"width:80px\">Help</a>\r\n\t</div>\r\n\t\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/linkbutton/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid LinkButton - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid LinkButton</h2>\r\n\t<p>This example shows how to set the width of LinkButton to a percentage of its parent container.</p>\r\n\t<div style=\"margin:10px 0 40px 0;\"></div>\r\n\t<p>width: 15%</p>\r\n\t<div style=\"padding:5px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-add'\" style=\"width:15%\">Add</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-remove'\" style=\"width:15%\">Remove</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-save'\" style=\"width:15%\">Save</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-cut',disabled:true\" style=\"width:15%\">Cut</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" style=\"width:15%\">Text Button</a>\r\n\t</div>\r\n\t<p>width: 20%</p>\r\n\t<div style=\"padding:5px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-search'\" style=\"width:20%\">Search</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-print'\" style=\"width:20%\">Print</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-reload'\" style=\"width:20%\">Reload</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-help'\" style=\"width:20%\">Help</a>\r\n\t</div>\r\n\t\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/linkbutton/group.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Button Group - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Button Group</h2>\r\n\t<p>In a button group only one button can be selected.</p>\r\n\t<div style=\"margin:10px 0 40px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"toggle:true,group:'g1'\">Button 1</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"toggle:true,group:'g1',selected:true\">Button 2</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"toggle:true,group:'g1'\">Button 3</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"toggle:true,group:'g1'\">Button 4</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"toggle:true,group:'g1'\">Button 5</a>\r\n\t</div>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"toggle:true,group:'g2',plain:true\">Button 1</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"toggle:true,group:'g2',plain:true,selected:true\">Button 2</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"toggle:true,group:'g2',plain:true\">Button 3</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"toggle:true,group:'g2',plain:true\">Button 4</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"toggle:true,group:'g2',plain:true\">Button 5</a>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/linkbutton/iconalign.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Icon Align on LinkButton - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Icon Align on LinkButton</h2>\r\n\t<p>Change the icon align to place icon on left, right, top or bottom of button.</p>\r\n\t<div style=\"margin:10px 0 40px 0;\"></div>\r\n\t<div style=\"margin:10px 0 20px 0\">\r\n\t\t<span>Select Icon Align: </span>\r\n\t\t<select onchange=\"$('#button-bar a').linkbutton({iconAlign:this.value})\">\r\n\t\t\t<option value=\"left\">Left</option>\r\n\t\t\t<option value=\"right\">Right</option>\r\n\t\t\t<option value=\"top\">Top</option>\r\n\t\t\t<option value=\"bottom\">Bottom</option>\r\n\t\t</select>\r\n\t</div>\r\n\t<div id=\"button-bar\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-add'\">Add</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-remove'\">Remove</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-save'\">Save</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-cut',disabled:true\">Cut</a>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/linkbutton/plain.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Plain LinkButton - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Plain LinkButton</h2>\r\n\t<p>The buttons with plain style have transparent background.</p>\r\n\t<div style=\"margin:10px 0 40px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"plain:true,iconCls:'icon-cancel'\">Cancel</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"plain:true,iconCls:'icon-reload'\">Refresh</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"plain:true,iconCls:'icon-search'\">Search</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"plain:true\">Text Button</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"plain:true,iconCls:'icon-print'\">Print</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"plain:true,iconCls:'icon-help'\"> </a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"plain:true,iconCls:'icon-save'\"></a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"plain:true,iconCls:'icon-back'\"></a>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/linkbutton/size.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>LinkButton Size - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>LinkButton Size</h2>\r\n\t<p>This sample shows how to display small buttons and large buttons.</p>\r\n\t<div style=\"margin:10px 0 40px 0;\"></div>\r\n\t<p>Small Buttons</p>\r\n\t<div style=\"padding:5px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-add'\">Add</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-remove'\">Remove</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-save'\">Save</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-cut',disabled:true\">Cut</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\">Text Button</a>\r\n\t</div>\r\n\t<p>Large Buttons</p>\r\n\t<div style=\"padding:5px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-large-picture',size:'large',iconAlign:'top'\">Picture</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-large-clipart',size:'large',iconAlign:'top'\">Clip Art</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-large-shapes',size:'large',iconAlign:'top'\">Shapes</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-large-smartart',size:'large',iconAlign:'top'\">SmartArt</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-large-chart',size:'large',iconAlign:'top'\">Chart</a>\r\n\t</div>\r\n\t\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/linkbutton/style.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Style LinkButton - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/color.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Style LinkButton</h2>\r\n\t<p>This example shows how to style a linkbutton.</p>\r\n\t<div style=\"margin:10px 0 40px 0;\"></div>\r\n\t<div style=\"margin:20px 0\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton c1\" style=\"width:120px\">Button1</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton c2\" style=\"width:120px\">Button2</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton c3\" style=\"width:120px\">Button3</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton c4\" style=\"width:120px\">Button4</a>\r\n\t</div>\r\n\t<div style=\"margin:20px 0\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton c5\" style=\"width:120px\">Button5</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton c6\" style=\"width:120px\">Button6</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton c7\" style=\"width:120px\">Button7</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton c8\" style=\"width:120px\">Button8</a>\r\n\t</div>\r\n\r\n\t\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/linkbutton/toggle.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Toggle Button - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Toggle Button</h2>\r\n\t<p>Click the button below to switch its selected state.</p>\r\n\t<div style=\"margin:10px 0 40px 0;\"></div>\r\n\t<div style=\"padding:5px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-add',toggle:true\">Add</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-remove',toggle:true\">Remove</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-save',toggle:true,selected:true\">Save</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-cut',toggle:true\">Cut</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"toggle:true\">Text Button</a>\r\n\t</div>\r\n\t\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/menu/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Menu - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Menu</h2>\r\n\t<p>Right click on page to display menu.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t\r\n\t<div id=\"mm\" class=\"easyui-menu\" style=\"width:120px;\">\r\n\t\t<div onclick=\"javascript:alert('new')\">New</div>\r\n\t\t<div>\r\n\t\t\t<span>Open</span>\r\n\t\t\t<div style=\"width:150px;\">\r\n\t\t\t\t<div><b>Word</b></div>\r\n\t\t\t\t<div>Excel</div>\r\n\t\t\t\t<div>PowerPoint</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<span>M1</span>\r\n\t\t\t\t\t<div style=\"width:120px;\">\r\n\t\t\t\t\t\t<div>sub1</div>\r\n\t\t\t\t\t\t<div>sub2</div>\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<span>Sub</span>\r\n\t\t\t\t\t\t\t<div style=\"width:80px;\">\r\n\t\t\t\t\t\t\t\t<div onclick=\"javascript:alert('sub21')\">sub21</div>\r\n\t\t\t\t\t\t\t\t<div>sub22</div>\r\n\t\t\t\t\t\t\t\t<div>sub23</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div>sub3</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<span>Window Demos</span>\r\n\t\t\t\t\t<div style=\"width:120px;\">\r\n\t\t\t\t\t\t<div data-options=\"href:'window.html'\">Window</div>\r\n\t\t\t\t\t\t<div data-options=\"href:'dialog.html'\">Dialog</div>\r\n\t\t\t\t\t\t<div><a href=\"http://www.jeasyui.com\" target=\"_blank\">EasyUI</a></div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div data-options=\"iconCls:'icon-save'\">Save</div>\r\n\t\t<div data-options=\"iconCls:'icon-print',disabled:true\">Print</div>\r\n\t\t<div class=\"menu-sep\"></div>\r\n\t\t<div>Exit</div>\r\n\t</div>\r\n\t<script>\r\n\t\t$(function(){\r\n\t\t\t$(document).bind('contextmenu',function(e){\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\t$('#mm').menu('show', {\r\n\t\t\t\t\tleft: e.pageX,\r\n\t\t\t\t\ttop: e.pageY\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/menu/customitem.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Custom Menu Item - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Custom Menu Item</h2>\r\n\t<p>Right click on page to display menu, move to the 'Open' item to display its custom sub content.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div id=\"mm\" class=\"easyui-menu\" style=\"width:120px;\">\r\n\t\t<div>New</div>\r\n\t\t<div>\r\n\t\t\t<span>Open</span>\r\n\t\t\t<div class=\"menu-content\" style=\"text-align:left;padding:10px\">\r\n\t\t\t\t<div style=\"font-weight:bold;font-size:16px\">Select your Language:</div>\r\n\t\t\t\t<ul style=\"margin:0;padding:0 0 0 40px\">\r\n\t\t\t\t\t<li><a href=\"javascript:void(0)\">Java</a></li>\r\n\t\t\t\t\t<li><a href=\"javascript:void(0)\">Basic</a></li>\r\n\t\t\t\t\t<li><a href=\"javascript:void(0)\">C++</a></li>\r\n\t\t\t\t\t<li><a href=\"javascript:void(0)\">Fortran</a></li>\r\n\t\t\t\t\t<li>\r\n\t\t\t\t\t\t<span>Other</span>\r\n\t\t\t\t\t\t<input>\r\n\t\t\t\t\t</li>\r\n\t\t\t\t</ul>\r\n\t\t\t\t<div style=\"padding:10px 0 0 30px\">\r\n\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-ok'\">Ok</a>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div data-options=\"iconCls:'icon-save'\">Save</div>\r\n\t\t<div data-options=\"iconCls:'icon-print'\">Print</div>\r\n\t\t<div class=\"menu-sep\"></div>\r\n\t\t<div>Exit</div>\r\n\t</div>\r\n\t<script>\r\n\t\t$(function(){\r\n\t\t\t$(document).bind('contextmenu',function(e){\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\t$('#mm').menu('show', {\r\n\t\t\t\t\tleft: e.pageX,\r\n\t\t\t\t\ttop: e.pageY\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t</script>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/menu/events.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Menu Events - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Menu Events</h2>\r\n\t<p>Right click on page to display menu and click an item.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div id=\"mm\" class=\"easyui-menu\" data-options=\"onClick:menuHandler\" style=\"width:120px;\">\r\n\t\t<div data-options=\"name:'new'\">New</div>\r\n\t\t<div data-options=\"name:'save',iconCls:'icon-save'\">Save</div>\r\n\t\t<div data-options=\"name:'print',iconCls:'icon-print'\">Print</div>\r\n\t\t<div class=\"menu-sep\"></div>\r\n\t\t<div data-options=\"name:'exit'\">Exit</div>\r\n\t</div>\r\n\t<div id=\"log\" class=\"easyui-panel\" title=\"Event Log\" style=\"height:250px;padding:10px\">\r\n\t</div>\r\n\t<script>\r\n\t\tfunction menuHandler(item){\r\n\t\t\t$('#log').prepend('<p>Click Item: '+item.name+'</p>');\r\n\t\t}\r\n\t\t$(function(){\r\n\t\t\t$(document).bind('contextmenu',function(e){\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\t$('#mm').menu('show', {\r\n\t\t\t\t\tleft: e.pageX,\r\n\t\t\t\t\ttop: e.pageY\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/menubutton/actions.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>MenuButton Actions - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>MenuButton Actions</h2>\r\n\t<p>Click the buttons below to perform actions.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"$('#btn-edit').menubutton('disable')\">Disable Edit</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"$('#btn-edit').menubutton('enable')\">Enable Edit</a>\r\n\t</div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"plain:true\">Home</a>\r\n\t\t<a id=\"btn-edit\" href=\"#\" class=\"easyui-menubutton\" data-options=\"menu:'#mm1',iconCls:'icon-edit'\">Edit</a>\r\n\t\t<a href=\"#\" class=\"easyui-menubutton\" data-options=\"menu:'#mm2',iconCls:'icon-help'\">Help</a>\r\n\t\t<a href=\"#\" class=\"easyui-menubutton\" data-options=\"menu:'#mm3'\">About</a>\r\n\t</div>\r\n\t<div id=\"mm1\" style=\"width:150px;\">\r\n\t\t<div data-options=\"iconCls:'icon-undo'\">Undo</div>\r\n\t\t<div data-options=\"iconCls:'icon-redo'\">Redo</div>\r\n\t\t<div class=\"menu-sep\"></div>\r\n\t\t<div>Cut</div>\r\n\t\t<div>Copy</div>\r\n\t\t<div>Paste</div>\r\n\t\t<div class=\"menu-sep\"></div>\r\n\t\t<div>\r\n\t\t\t<span>Toolbar</span>\r\n\t\t\t<div>\r\n\t\t\t\t<div>Address</div>\r\n\t\t\t\t<div>Link</div>\r\n\t\t\t\t<div>Navigation Toolbar</div>\r\n\t\t\t\t<div>Bookmark Toolbar</div>\r\n\t\t\t\t<div class=\"menu-sep\"></div>\r\n\t\t\t\t<div>New Toolbar...</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div data-options=\"iconCls:'icon-remove'\">Delete</div>\r\n\t\t<div>Select All</div>\r\n\t</div>\r\n\t<div id=\"mm2\" style=\"width:100px;\">\r\n\t\t<div>Help</div>\r\n\t\t<div>Update</div>\r\n\t\t<div>About</div>\r\n\t</div>\r\n\t<div id=\"mm3\" class=\"menu-content\" style=\"background:#f0f0f0;padding:10px;text-align:left\">\r\n\t\t<img src=\"http://www.jeasyui.com/images/logo1.png\" style=\"width:150px;height:50px\">\r\n\t\t<p style=\"font-size:14px;color:#444;\">Try jQuery EasyUI to build your modern, interactive, javascript applications.</p>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/menubutton/alignment.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Menu Alignment on MenuButton - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Menu Alignment on MenuButton</h2>\r\n\t<p>This example shows how to change the alignment of the top level menu.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<span>Change Alignment: </span>\r\n\t\t<select onchange=\"setalign(this.value)\">\r\n\t\t\t<option value=\"left\">Left</option>\r\n\t\t\t<option value=\"right\">Right</option>\r\n\t\t</select>\r\n\t</div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"plain:true\">Home</a>\r\n\t\t<a href=\"#\" class=\"easyui-menubutton\" data-options=\"menu:'#mm1',iconCls:'icon-edit'\">Edit</a>\r\n\t\t<a href=\"#\" class=\"easyui-menubutton\" data-options=\"menu:'#mm2',iconCls:'icon-help'\">Help</a>\r\n\t\t<a href=\"#\" class=\"easyui-menubutton\" data-options=\"menu:'#mm3'\">About</a>\r\n\t\t\r\n\t</div>\r\n\t<div id=\"mm1\" style=\"width:150px;\">\r\n\t\t<div data-options=\"iconCls:'icon-undo'\">Undo</div>\r\n\t\t<div data-options=\"iconCls:'icon-redo'\">Redo</div>\r\n\t\t<div class=\"menu-sep\"></div>\r\n\t\t<div>Cut</div>\r\n\t\t<div>Copy</div>\r\n\t\t<div>Paste</div>\r\n\t\t<div class=\"menu-sep\"></div>\r\n\t\t<div>\r\n\t\t\t<span>Toolbar</span>\r\n\t\t\t<div>\r\n\t\t\t\t<div>Address</div>\r\n\t\t\t\t<div>Link</div>\r\n\t\t\t\t<div>Navigation Toolbar</div>\r\n\t\t\t\t<div>Bookmark Toolbar</div>\r\n\t\t\t\t<div class=\"menu-sep\"></div>\r\n\t\t\t\t<div>New Toolbar...</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div data-options=\"iconCls:'icon-remove'\">Delete</div>\r\n\t\t<div>Select All</div>\r\n\t</div>\r\n\t<div id=\"mm2\" style=\"width:100px;\">\r\n\t\t<div>Help</div>\r\n\t\t<div>Update</div>\r\n\t\t<div>About</div>\r\n\t</div>\r\n\t<div id=\"mm3\">\r\n\t\t<div>History</div>\r\n\t\t<div>Faq</div>\r\n\t\t<div>Our Team</div>\r\n\t</div>\r\n\t<script>\r\n\t\tfunction setalign(align){\r\n\t\t\t$('a.easyui-menubutton').menubutton({\r\n\t\t\t\tmenuAlign: align\r\n\t\t\t})\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/menubutton/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic MenuButton - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic MenuButton</h2>\r\n\t<p>Move mouse over the button to drop down menu.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"plain:true\">Home</a>\r\n\t\t<a href=\"#\" class=\"easyui-menubutton\" data-options=\"menu:'#mm1',iconCls:'icon-edit'\">Edit</a>\r\n\t\t<a href=\"#\" class=\"easyui-menubutton\" data-options=\"menu:'#mm2',iconCls:'icon-help'\">Help</a>\r\n\t\t<a href=\"#\" class=\"easyui-menubutton\" data-options=\"menu:'#mm3'\">About</a>\r\n\t</div>\r\n\t<div id=\"mm1\" style=\"width:150px;\">\r\n\t\t<div data-options=\"iconCls:'icon-undo'\">Undo</div>\r\n\t\t<div data-options=\"iconCls:'icon-redo'\">Redo</div>\r\n\t\t<div class=\"menu-sep\"></div>\r\n\t\t<div>Cut</div>\r\n\t\t<div>Copy</div>\r\n\t\t<div>Paste</div>\r\n\t\t<div class=\"menu-sep\"></div>\r\n\t\t<div>\r\n\t\t\t<span>Toolbar</span>\r\n\t\t\t<div>\r\n\t\t\t\t<div>Address</div>\r\n\t\t\t\t<div>Link</div>\r\n\t\t\t\t<div>Navigation Toolbar</div>\r\n\t\t\t\t<div>Bookmark Toolbar</div>\r\n\t\t\t\t<div class=\"menu-sep\"></div>\r\n\t\t\t\t<div>New Toolbar...</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div data-options=\"iconCls:'icon-remove'\">Delete</div>\r\n\t\t<div>Select All</div>\r\n\t</div>\r\n\t<div id=\"mm2\" style=\"width:100px;\">\r\n\t\t<div>Help</div>\r\n\t\t<div>Update</div>\r\n\t\t<div>About</div>\r\n\t</div>\r\n\t<div id=\"mm3\" class=\"menu-content\" style=\"background:#f0f0f0;padding:10px;text-align:left\">\r\n\t\t<img src=\"http://www.jeasyui.com/images/logo1.png\" style=\"width:150px;height:50px\">\r\n\t\t<p style=\"font-size:14px;color:#444;\">Try jQuery EasyUI to build your modern, interactive, javascript applications.</p>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/messager/alert.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Alert Messager - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Alert Messager</h2>\r\n\t<p>Click on each button to display different alert message box.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"alert1()\">Alert</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"alert2()\">Error</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"alert3()\">Info</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"alert4()\">Question</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"alert5()\">Warning</a>\r\n\t</div>\r\n\t<script>\r\n\t\tfunction alert1(){\r\n\t\t\t$.messager.alert('My Title','Here is a message!');\r\n\t\t}\r\n\t\tfunction alert2(){\r\n\t\t\t$.messager.alert('My Title','Here is a error message!','error');\r\n\t\t}\r\n\t\tfunction alert3(){\r\n\t\t\t$.messager.alert('My Title','Here is a info message!','info');\r\n\t\t}\r\n\t\tfunction alert4(){\r\n\t\t\t$.messager.alert('My Title','Here is a question message!','question');\r\n\t\t}\r\n\t\tfunction alert5(){\r\n\t\t\t$.messager.alert('My Title','Here is a warning message!','warning');\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/messager/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Messager - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Messager</h2>\r\n\t<p>Click on each button to see a distinct message box.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"show()\">Show</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"slide()\">Slide</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"fade()\">Fade</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"progress()\">Progress</a>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction show(){\r\n\t\t\t$.messager.show({\r\n\t\t\t\ttitle:'My Title',\r\n\t\t\t\tmsg:'Message will be closed after 4 seconds.',\r\n\t\t\t\tshowType:'show'\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction slide(){\r\n\t\t\t$.messager.show({\r\n\t\t\t\ttitle:'My Title',\r\n\t\t\t\tmsg:'Message will be closed after 5 seconds.',\r\n\t\t\t\ttimeout:5000,\r\n\t\t\t\tshowType:'slide'\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction fade(){\r\n\t\t\t$.messager.show({\r\n\t\t\t\ttitle:'My Title',\r\n\t\t\t\tmsg:'Message never be closed.',\r\n\t\t\t\ttimeout:0,\r\n\t\t\t\tshowType:'fade'\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction progress(){\r\n\t\t\tvar win = $.messager.progress({\r\n\t\t\t\ttitle:'Please waiting',\r\n\t\t\t\tmsg:'Loading data...'\r\n\t\t\t});\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\t$.messager.progress('close');\r\n\t\t\t},5000)\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/messager/interactive.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Interactive Messager - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Interactive Messager</h2>\r\n\t<p>Click on each button to display interactive message box.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"confirm1();\">Confirm</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"prompt1()\">Prompt</a>\r\n\t</div>\r\n\t<script>\r\n\t\tfunction confirm1(){\r\n\t\t\t$.messager.confirm('My Title', 'Are you confirm this?', function(r){\r\n\t\t\t\tif (r){\r\n\t\t\t\t\talert('confirmed: '+r);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction prompt1(){\r\n\t\t\t$.messager.prompt('My Title', 'Please type something', function(r){\r\n\t\t\t\tif (r){\r\n\t\t\t\t\talert('you type: '+r);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/messager/position.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Message Box Position - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Message Box Position</h2>\r\n\t<p>Click the buttons below to display message box on different position.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<p>\r\n\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"topLeft();\">TopLeft</a>\r\n\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"topCenter()\">TopCenter</a>\r\n\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"topRight()\">TopRight</a>\r\n\t\t</p>\r\n\t\t<p>\r\n\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"centerLeft()\">CenterLeft</a>\r\n\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"center()\">Center</a>\r\n\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"centerRight()\">CenterRight</a>\r\n\t\t</p>\r\n\t\t<p>\r\n\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"bottomLeft()\">BottomLeft</a>\r\n\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"bottomCenter()\">BottomCenter</a>\r\n\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"bottomRight()\">BottomRight</a>\r\n\t\t</p>\r\n\t</div>\r\n\t<script>\r\n\t\tfunction topLeft(){\r\n\t\t\t$.messager.show({\r\n\t\t\t\ttitle:'My Title',\r\n\t\t\t\tmsg:'The message content',\r\n\t\t\t\tshowType:'show',\r\n\t\t\t\tstyle:{\r\n\t\t\t\t\tright:'',\r\n\t\t\t\t\tleft:0,\r\n\t\t\t\t\ttop:document.body.scrollTop+document.documentElement.scrollTop,\r\n\t\t\t\t\tbottom:''\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction topCenter(){\r\n\t\t\t$.messager.show({\r\n\t\t\t\ttitle:'My Title',\r\n\t\t\t\tmsg:'The message content',\r\n\t\t\t\tshowType:'slide',\r\n\t\t\t\tstyle:{\r\n\t\t\t\t\tright:'',\r\n\t\t\t\t\ttop:document.body.scrollTop+document.documentElement.scrollTop,\r\n\t\t\t\t\tbottom:''\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction topRight(){\r\n\t\t\t$.messager.show({\r\n\t\t\t\ttitle:'My Title',\r\n\t\t\t\tmsg:'The message content',\r\n\t\t\t\tshowType:'show',\r\n\t\t\t\tstyle:{\r\n\t\t\t\t\tleft:'',\r\n\t\t\t\t\tright:0,\r\n\t\t\t\t\ttop:document.body.scrollTop+document.documentElement.scrollTop,\r\n\t\t\t\t\tbottom:''\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction centerLeft(){\r\n\t\t\t$.messager.show({\r\n\t\t\t\ttitle:'My Title',\r\n\t\t\t\tmsg:'The message content',\r\n\t\t\t\tshowType:'fade',\r\n\t\t\t\tstyle:{\r\n\t\t\t\t\tleft:0,\r\n\t\t\t\t\tright:'',\r\n\t\t\t\t\tbottom:''\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction center(){\r\n\t\t\t$.messager.show({\r\n\t\t\t\ttitle:'My Title',\r\n\t\t\t\tmsg:'The message content',\r\n\t\t\t\tshowType:'fade',\r\n\t\t\t\tstyle:{\r\n\t\t\t\t\tright:'',\r\n\t\t\t\t\tbottom:''\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction centerRight(){\r\n\t\t\t$.messager.show({\r\n\t\t\t\ttitle:'My Title',\r\n\t\t\t\tmsg:'The message content',\r\n\t\t\t\tshowType:'fade',\r\n\t\t\t\tstyle:{\r\n\t\t\t\t\tleft:'',\r\n\t\t\t\t\tright:0,\r\n\t\t\t\t\tbottom:''\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction bottomLeft(){\r\n\t\t\t$.messager.show({\r\n\t\t\t\ttitle:'My Title',\r\n\t\t\t\tmsg:'The message content',\r\n\t\t\t\tshowType:'show',\r\n\t\t\t\tstyle:{\r\n\t\t\t\t\tleft:0,\r\n\t\t\t\t\tright:'',\r\n\t\t\t\t\ttop:'',\r\n\t\t\t\t\tbottom:-document.body.scrollTop-document.documentElement.scrollTop\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction bottomCenter(){\r\n\t\t\t$.messager.show({\r\n\t\t\t\ttitle:'My Title',\r\n\t\t\t\tmsg:'The message content',\r\n\t\t\t\tshowType:'slide',\r\n\t\t\t\tstyle:{\r\n\t\t\t\t\tright:'',\r\n\t\t\t\t\ttop:'',\r\n\t\t\t\t\tbottom:-document.body.scrollTop-document.documentElement.scrollTop\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction bottomRight(){\r\n\t\t\t$.messager.show({\r\n\t\t\t\ttitle:'My Title',\r\n\t\t\t\tmsg:'The message content',\r\n\t\t\t\tshowType:'show'\r\n\t\t\t});\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/numberbox/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic NumberBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic NumberBox</h2>\r\n\t<p>The NumberBox can only accept inputing numbers.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"width:400px;padding:20px 100px 60px 100px;\">\r\n\t\t<p>List Price:</p>\r\n\t\t<input class=\"easyui-numberbox\" precision=\"2\" value=\"234.56\"></input>\r\n\t\t<p>Amount:</p>\r\n\t\t<input class=\"easyui-numberbox\" value=\"100\"></input>\r\n\t</div>\r\n\t\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/numberbox/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid NumberBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid NumberBox</h2>\r\n\t<p>This example shows how to set the width of NumberBox to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"width:500px;padding:20px 100px 60px 100px;\">\r\n\t\t<p>width: 100%</p>\r\n\t\t<input class=\"easyui-numberbox\" precision=\"2\" value=\"234.56\" style=\"width:100%\">\r\n\t\t<p>width: 50%</p>\r\n\t\t<input class=\"easyui-numberbox\" value=\"100\" style=\"width:50%\">\r\n\t</div>\r\n\t\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/numberbox/format.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Format NumberBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Format NumberBox</h2>\r\n\t<p>Number formatting is the ability to control how a number is displayed.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table>\r\n\t\t<tr>\r\n\t\t\t<td>Number in the United States</td>\r\n\t\t\t<td><input class=\"easyui-numberbox\" value=\"1234567.89\" data-options=\"precision:2,groupSeparator:','\"></input></td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<td>Number in France</td>\r\n\t\t\t<td><input class=\"easyui-numberbox\" value=\"1234567.89\" data-options=\"precision:2,groupSeparator:' ',decimalSeparator:','\"></input></td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<td>Currency:USD</td>\r\n\t\t\t<td><input class=\"easyui-numberbox\" value=\"1234567.89\" data-options=\"precision:2,groupSeparator:',',decimalSeparator:'.',prefix:'$'\"></input></td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<td>Currency:EUR</td>\r\n\t\t\t<td><input class=\"easyui-numberbox\" value=\"1234567.89\" data-options=\"precision:2,groupSeparator:',',decimalSeparator:' ',prefix:'€'\"></input></td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<td></td>\r\n\t\t\t<td><input class=\"easyui-numberbox\" value=\"1234567.89\" data-options=\"precision:2,groupSeparator:' ',decimalSeparator:',',suffix:'€'\"></input></td>\r\n\t\t</tr>\r\n\t</table>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/numberbox/range.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Number Range - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Number Range</h2>\r\n\t<p>The value is constrained to a specified range.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"width:400px;padding:20px 100px 60px 100px;\">\r\n\t\t<p>Amount:</p>\r\n\t\t<input class=\"easyui-numberbox\" data-options=\"min:10,max:90,precision:2,required:true\">\r\n\t\t<p>Weight:</p>\r\n\t\t<input class=\"easyui-numberbox\" data-options=\"min:10,max:90,required:true\">\r\n\t\t<p>Age:</p>\r\n\t\t<input class=\"easyui-numberbox\" data-options=\"min:0,max:100,required:true\">\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/numberspinner/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic NumberSpinner - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic NumberSpinner</h2>\r\n\t<p>Click spinner button to change value.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<input class=\"easyui-numberspinner\" style=\"width:80px;\" data-options=\"\r\n\t\t\t\tonChange: function(value){\r\n\t\t\t\t\t$('#vv').text(value);\r\n\t\t\t\t}\r\n\t\t\t\"></input>\r\n\t<div style=\"margin:10px 0;\">\r\n\t\tValue: <span id=\"vv\"></span>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/numberspinner/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid NumberSpinner - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid NumberSpinner</h2>\r\n\t<p>This example shows how to set the width of NumberSpinner to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<p>width: 50%</p>\r\n\t<input class=\"easyui-numberspinner\" style=\"width:50%;\">\r\n\t<p>width: 30%</p>\r\n\t<input class=\"easyui-numberspinner\" style=\"width:30%;\">\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/numberspinner/increment.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Increment Number - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Increment Number</h2>\r\n\t<p>The sample shows how to set the increment step.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<input class=\"easyui-numberspinner\" value=\"1000\" data-options=\"increment:100\" style=\"width:120px;\"></input>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/numberspinner/range.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Number Range - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Number Range</h2>\r\n\t<p>The value is constrained to a range between 10 and 100.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<input class=\"easyui-numberspinner\" data-options=\"min:10,max:100,required:true\" style=\"width:80px;\"></input>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/pagination/attaching.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Attaching Other Components - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Attaching Other Components</h2>\r\n\t<p>Any other components can be attached to page bar.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\">\r\n\t\t<div class=\"easyui-pagination\" data-options=\"showPageList:false,total:114,buttons:$('#buttons')\"></div>\r\n\t</div>\r\n\t<div id=\"buttons\">\r\n\t\t<table style=\"border-spacing:0\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td>\r\n\t\t\t\t\t<input class=\"easyui-searchbox\" style=\"width:150px\">\r\n\t\t\t\t</td>\r\n\t\t\t\t<td>\r\n\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-save',plain:true\"></a>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/pagination/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Pagination - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Pagination</h2>\r\n\t<p>The user can change page number and page size on page bar.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\">\r\n\t\t<div class=\"easyui-pagination\" data-options=\"total:114\"></div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/pagination/custombuttons.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Custom Pagination Buttons - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Custom Pagination Buttons</h2>\r\n\t<p>The customized buttons can be appended to page bar.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\">\r\n\t\t<div class=\"easyui-pagination\" data-options=\"total:114,buttons:buttons\"></div>\r\n\t</div>\r\n\t<script>\r\n\t\tvar buttons = [{\r\n\t\t\ticonCls:'icon-add',\r\n\t\t\thandler:function(){\r\n\t\t\t\talert('add');\r\n\t\t\t}\r\n\t\t},{\r\n\t\t\ticonCls:'icon-cut',\r\n\t\t\thandler:function(){\r\n\t\t\t\talert('cut');\r\n\t\t\t}\r\n\t\t},{\r\n\t\t\ticonCls:'icon-save',\r\n\t\t\thandler:function(){\r\n\t\t\t\talert('save');\r\n\t\t\t}\r\n\t\t}];\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/pagination/layout.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Pagination Layout - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Pagination Layout</h2>\r\n\t<p>The pagination layout supports various types of pages which you can choose.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\">\r\n\t\t<div id=\"pp\" class=\"easyui-pagination\" data-options=\"\r\n\t\t\t\t\ttotal:114,\r\n\t\t\t\t\tlayout:['first','prev','next','last']\r\n\t\t\t\t\"></div>\r\n\t</div>\r\n\t<div style=\"margin-top:10px\">\r\n\t\t<select onchange=\"setLayout(this.value)\">\r\n\t\t\t<option value=\"1\">Previous Next</option>\r\n\t\t\t<option value=\"2\">Manual Page Input</option>\r\n\t\t\t<option value=\"3\">Numeric Links</option>\r\n\t\t\t<option value=\"4\">Previous Links Next</option>\r\n\t\t\t<option value=\"5\">Go To Page</option>\r\n\t\t</select>\r\n\t</div>\r\n\t<script>\r\n\t\tfunction setLayout(type){\r\n\t\t\tvar p = $('#pp');\r\n\t\t\tswitch(parseInt(type)){\r\n\t\t\tcase 1:\r\n\t\t\t\tp.pagination({layout:['first','prev','next','last']});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 2:\r\n\t\t\t\tp.pagination({\r\n\t\t\t\t\tlayout:['list','sep','first','prev','sep','manual','sep','next','last','sep','refresh'],\r\n\t\t\t\t\tbeforePageText:'Page',\r\n\t\t\t\t\tafterPageText:'of {pages}'\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 3:\r\n\t\t\t\tp.pagination({layout:['links']});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 4:\r\n\t\t\t\tp.pagination({layout:['first','prev','links','next','last']});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 5:\r\n\t\t\t\tp.pagination({\r\n\t\t\t\t\tlayout:['first','prev','next','last','sep','links','sep','manual'],\r\n\t\t\t\t\tbeforePageText:'Go Page',\r\n\t\t\t\t\tafterPageText:''\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/pagination/links.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Pagination Links - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Pagination Links</h2>\r\n\t<p>The example shows how to customize numbered pagination links.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\">\r\n\t\t<div class=\"easyui-pagination\" data-options=\"\r\n\t\t\t\t\ttotal:114,\r\n\t\t\t\t\tlayout:['list','sep','first','prev','links','next','last','sep','refresh']\r\n\t\t\t\t\"></div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/pagination/simple.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Simplify Pagination - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Simplify Pagination</h2>\r\n\t<p>The sample shows how to simplify pagination.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\">\r\n\t\t<div class=\"easyui-pagination\" data-options=\"\r\n\t\t\t\t\ttotal: 114,\r\n\t\t\t\t\tshowPageList: false,\r\n\t\t\t\t\tshowRefresh: false,\r\n\t\t\t\t\tdisplayMsg: ''\r\n\t\t\t\t\"></div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/panel/_content.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>AJAX Content</title>\r\n</head>\r\n<body>\r\n\t<p style=\"font-size:14px\">Here is the content loaded via AJAX.</p>\r\n\t<ul>\r\n\t\t<li>easyui is a collection of user-interface plugin based on jQuery.</li>\r\n\t\t<li>easyui provides essential functionality for building modern, interactive, javascript applications.</li>\r\n\t\t<li>using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.</li>\r\n\t\t<li>complete framework for HTML5 web page.</li>\r\n\t\t<li>easyui save your time and scales while developing your products.</li>\r\n\t\t<li>easyui is very easy but powerful.</li>\r\n\t</ul>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/panel/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Panel - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Panel</h2>\r\n\t<p>The panel is a container for other components or elements.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"javascript:$('#p').panel('open')\">Open</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"javascript:$('#p').panel('close')\">Close</a>\r\n\t</div>\r\n\t<div id=\"p\" class=\"easyui-panel\" title=\"Basic Panel\" style=\"width:700px;height:200px;padding:10px;\">\r\n\t\t<p style=\"font-size:14px\">jQuery EasyUI framework helps you build your web pages easily.</p>\r\n\t\t<ul>\r\n\t\t\t<li>easyui is a collection of user-interface plugin based on jQuery.</li>\r\n\t\t\t<li>easyui provides essential functionality for building modem, interactive, javascript applications.</li>\r\n\t\t\t<li>using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.</li>\r\n\t\t\t<li>complete framework for HTML5 web page.</li>\r\n\t\t\t<li>easyui save your time and scales while developing your products.</li>\r\n\t\t\t<li>easyui is very easy but powerful.</li>\r\n\t\t</ul>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/panel/customtools.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Custom Panel Tools - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Custom Panel Tools</h2>\r\n\t<p>Click the right top buttons to perform actions with panel.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\"></div>\r\n\t<div class=\"easyui-panel\" title=\"Custom Panel Tools\" style=\"width:700px;height:200px;padding:10px;\"\r\n\t\t\tdata-options=\"iconCls:'icon-save',closable:true,tools:'#tt'\">\r\n\t\t<p style=\"font-size:14px\">jQuery EasyUI framework helps you build your web pages easily.</p>\r\n\t\t<ul>\r\n\t\t\t<li>easyui is a collection of user-interface plugin based on jQuery.</li>\r\n\t\t\t<li>easyui provides essential functionality for building modem, interactive, javascript applications.</li>\r\n\t\t\t<li>using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.</li>\r\n\t\t\t<li>complete framework for HTML5 web page.</li>\r\n\t\t\t<li>easyui save your time and scales while developing your products.</li>\r\n\t\t\t<li>easyui is very easy but powerful.</li>\r\n\t\t</ul>\r\n\t</div>\r\n\t<div id=\"tt\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"icon-add\" onclick=\"javascript:alert('add')\"></a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"icon-edit\" onclick=\"javascript:alert('edit')\"></a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"icon-cut\" onclick=\"javascript:alert('cut')\"></a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"icon-help\" onclick=\"javascript:alert('help')\"></a>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/panel/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid Panel - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid Panel</h2>\r\n\t<p>This example shows how to set the width of Panel to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\">\r\n\t</div>\r\n\t<div id=\"p\" class=\"easyui-panel\" title=\"Fluid Panel\" style=\"width:100%;height:200px;padding:10px;\">\r\n\t\t<p>The panel has a width of 100%.<p>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/panel/footer.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Panel Footer - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Panel Footer</h2>\r\n\t<p>The panel footer is displayed at the bottom of the panel and can consist of any other components.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\"></div>\r\n\t<div class=\"easyui-panel\" title=\"Panel Footer\" style=\"width:700px;height:200px;\" data-options=\"footer:'#footer'\">\r\n\t</div>\r\n\t<div id=\"footer\" style=\"padding:5px;\">\r\n\t\tFooter Content.\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/panel/loadcontent.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Load Panel Content - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Load Panel Content</h2>\r\n\t<p>Click the refresh button on top right of panel to load content.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\"></div>\r\n\t<div id=\"p\" class=\"easyui-panel\" title=\"Load Panel Content\" style=\"width:700px;height:200px;padding:10px;\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\ttools:[{\r\n\t\t\t\t\ticonCls:'icon-reload',\r\n\t\t\t\t\thandler:function(){\r\n\t\t\t\t\t\t$('#p').panel('refresh', '_content.html');\r\n\t\t\t\t\t}\r\n\t\t\t\t}]\r\n\t\t\t\">\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/panel/nestedpanel.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Nested Panel - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Nested Panel</h2>\r\n\t<p>The panel can be placed inside containers and can contain other components.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\"></div>\r\n\t<div class=\"easyui-panel\" title=\"Nested Panel\" style=\"width:700px;height:200px;padding:10px;\">\r\n\t\t<div class=\"easyui-layout\" data-options=\"fit:true\">\r\n\t\t\t<div data-options=\"region:'west',split:true\" style=\"width:100px;padding:10px\">\r\n\t\t\t\tLeft Content\r\n\t\t\t</div>\r\n\t\t\t<div data-options=\"region:'east'\" style=\"width:100px;padding:10px\">\r\n\t\t\t\tRight Content\r\n\t\t\t</div>\r\n\t\t\t<div data-options=\"region:'center'\" style=\"padding:10px\">\r\n\t\t\t\tRight Content\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/panel/paneltools.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Panel Tools - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Panel Tools</h2>\r\n\t<p>Click the right top buttons to perform actions with panel.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"javascript:$('#p').panel('open')\">Open</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"javascript:$('#p').panel('close')\">Close</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"javascript:$('#p').panel('expand',true)\">Expand</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"javascript:$('#p').panel('collapse',true)\">Collapse</a>\r\n\t</div>\r\n\t<div class=\"easyui-panel\" style=\"height:350px;padding:5px;\">\r\n\t\t<div id=\"p\" class=\"easyui-panel\" title=\"Panel Tools\" style=\"width:600px;height:200px;padding:10px;\"\r\n\t\t\t\tdata-options=\"iconCls:'icon-save',collapsible:true,minimizable:true,maximizable:true,closable:true\">\r\n\t\t\t<p style=\"font-size:14px\">jQuery EasyUI framework helps you build your web pages easily.</p>\r\n\t\t\t<ul>\r\n\t\t\t\t<li>easyui is a collection of user-interface plugin based on jQuery.</li>\r\n\t\t\t\t<li>easyui provides essential functionality for building modem, interactive, javascript applications.</li>\r\n\t\t\t\t<li>using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.</li>\r\n\t\t\t\t<li>complete framework for HTML5 web page.</li>\r\n\t\t\t\t<li>easyui save your time and scales while developing your products.</li>\r\n\t\t\t\t<li>easyui is very easy but powerful.</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/progressbar/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic ProgressBar - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic ProgressBar</h2>\r\n\t<p>Click the button below to show progress information.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"start()\">Start</a>\r\n\t</div>\r\n\t<div id=\"p\" class=\"easyui-progressbar\" style=\"width:400px;\"></div>\r\n\t<script>\r\n\t\tfunction start(){\r\n\t\t\tvar value = $('#p').progressbar('getValue');\r\n\t\t\tif (value < 100){\r\n\t\t\t\tvalue += Math.floor(Math.random() * 10);\r\n\t\t\t\t$('#p').progressbar('setValue', value);\r\n\t\t\t\tsetTimeout(arguments.callee, 200);\r\n\t\t\t}\r\n\t\t};\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/progressbar/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid ProgressBar - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid ProgressBar</h2>\r\n\t<p>This example shows how to set the width of ProgressBar to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<p>width: 50%</p>\r\n\t<div class=\"easyui-progressbar\" data-options=\"value:80\" style=\"width:50%;\"></div>\r\n\t<p>width: 30%</p>\r\n\t<div class=\"easyui-progressbar\" data-options=\"value:40\" style=\"width:30%;\"></div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/propertygrid/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic PropertyGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic PropertyGrid</h2>\r\n\t<p>Click on row to change each property value.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"showGroup()\">ShowGroup</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"hideGroup()\">HideGroup</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"showHeader()\">ShowHeader</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"hideHeader()\">HideHeader</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"getChanges()\">GetChanges</a>\r\n\t</div>\r\n\t<table id=\"pg\" class=\"easyui-propertygrid\" style=\"width:300px\" data-options=\"\r\n\t\t\t\turl:'propertygrid_data1.json',\r\n\t\t\t\tmethod:'get',\r\n\t\t\t\tshowGroup:true,\r\n\t\t\t\tscrollbarSize:0\r\n\t\t\t\">\r\n\t</table>\r\n\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction showGroup(){\r\n\t\t\t$('#pg').propertygrid({\r\n\t\t\t\tshowGroup:true\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction hideGroup(){\r\n\t\t\t$('#pg').propertygrid({\r\n\t\t\t\tshowGroup:false\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction showHeader(){\r\n\t\t\t$('#pg').propertygrid({\r\n\t\t\t\tshowHeader:true\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction hideHeader(){\r\n\t\t\t$('#pg').propertygrid({\r\n\t\t\t\tshowHeader:false\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction getChanges(){\r\n\t\t\tvar s = '';\r\n\t\t\tvar rows = $('#pg').propertygrid('getChanges');\r\n\t\t\tfor(var i=0; i<rows.length; i++){\r\n\t\t\t\ts += rows[i].name + ':' + rows[i].value + ',';\r\n\t\t\t}\r\n\t\t\talert(s)\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/propertygrid/customcolumns.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Customize Columns of PropertyGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Customize Columns of PropertyGrid</h2>\r\n\t<p>The columns of PropertyGrid can be changed.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table class=\"easyui-propertygrid\" style=\"width:300px\" data-options=\"\r\n\t\t\t\turl: 'propertygrid_data1.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tshowGroup: true,\r\n\t\t\t\tscrollbarSize: 0,\r\n\t\t\t\tcolumns: mycolumns\r\n\t\t\t\">\r\n\t</table>\r\n\t<script>\r\n\t\tvar mycolumns = [[\r\n    \t\t{field:'name',title:'MyName',width:100,sortable:true},\r\n   \t\t    {field:'value',title:'MyValue',width:100,resizable:false}\r\n        ]];\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/propertygrid/groupformat.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Group Format - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Group Format</h2>\r\n\t<p>The user can change the group information.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table class=\"easyui-propertygrid\" style=\"width:300px\" data-options=\"\r\n\t\t\t\turl: 'propertygrid_data1.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tshowGroup: true,\r\n\t\t\t\tscrollbarSize: 0,\r\n\t\t\t\tgroupFormatter: groupFormatter\r\n\t\t\t\">\r\n\t</table>\r\n\t<script>\r\n\t\tfunction groupFormatter(fvalue, rows){\r\n\t\t\treturn fvalue + ' - <span style=\"color:red\">' + rows.length + ' rows</span>';\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/propertygrid/propertygrid_data1.json",
    "content": "{\"total\":7,\"rows\":[\r\n\t{\"name\":\"Name\",\"value\":\"Bill Smith\",\"group\":\"ID Settings\",\"editor\":\"text\"},\r\n\t{\"name\":\"Address\",\"value\":\"\",\"group\":\"ID Settings\",\"editor\":\"text\"},\r\n\t{\"name\":\"Age\",\"value\":\"40\",\"group\":\"ID Settings\",\"editor\":\"numberbox\"},\r\n\t{\"name\":\"Birthday\",\"value\":\"01/02/2012\",\"group\":\"ID Settings\",\"editor\":\"datebox\"},\r\n\t{\"name\":\"SSN\",\"value\":\"123-456-7890\",\"group\":\"ID Settings\",\"editor\":\"text\"},\r\n\t{\"name\":\"Email\",\"value\":\"bill@gmail.com\",\"group\":\"Marketing Settings\",\"editor\":{\r\n\t\t\"type\":\"validatebox\",\r\n\t\t\"options\":{\r\n\t\t\t\"validType\":\"email\"\r\n\t\t}\r\n\t}},\r\n\t{\"name\":\"FrequentBuyer\",\"value\":\"false\",\"group\":\"Marketing Settings\",\"editor\":{\r\n\t\t\"type\":\"checkbox\",\r\n\t\t\"options\":{\r\n\t\t\t\"on\":true,\r\n\t\t\t\"off\":false\r\n\t\t}\r\n\t}}\r\n]}"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/resizable/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Resizable - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Resizable</h2>\r\n\t<p>Click on the edge of box and move the edge to resize the box.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-resizable\" data-options=\"minWidth:50,minHeight:50\" style=\"width:200px;height:150px;border:1px solid #ccc;\">\r\n\t\t<div style=\"padding:20px\">Resize Me</div>\r\n\t</div>\r\n\t<div id=\"dd\" class=\"easyui-draggable easyui-resizable\" data-options=\"handle:'#mytitle'\" style=\"width:200px;height:150px;border:1px solid #ccc\">\r\n\t\t<div id=\"mytitle\" style=\"background:#ddd;padding:5px;\">Title</div>\r\n\t\t<div style=\"padding:20px\">Drag and Resize Me</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/searchbox/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic SearchBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic SearchBox</h2>\r\n\t<p>Click search button or press enter key in input box to do searching.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<input class=\"easyui-searchbox\" data-options=\"prompt:'Please Input Value',searcher:doSearch\" style=\"width:300px\"></input>\r\n\t<script>\r\n\t\tfunction doSearch(value){\r\n\t\t\talert('You input: ' + value);\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/searchbox/category.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Search Category - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Search Category</h2>\r\n\t<p>Select a category and click search button or press enter key in input box to do searching.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<input class=\"easyui-searchbox\" data-options=\"prompt:'Please Input Value',menu:'#mm',searcher:doSearch\" style=\"width:300px\"></input>\r\n\t<div id=\"mm\">\r\n\t\t<div data-options=\"name:'all',iconCls:'icon-ok'\">All News</div>\r\n\t\t<div data-options=\"name:'sports'\">Sports News</div>\r\n\t</div>\r\n\t<script>\r\n\t\tfunction doSearch(value,name){\r\n\t\t\talert('You input: ' + value+'('+name+')');\r\n\t\t}\r\n\t</script>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/searchbox/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid SearchBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid SearchBox</h2>\r\n\t<p>This example shows how to set the width of SearchBox to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<p>width: 50%</p>\r\n\t<input class=\"easyui-searchbox\" data-options=\"prompt:'Please Input Value',menu:'#mm'\" style=\"width:50%\">\r\n\t<p>width: 30%</p>\r\n\t<input class=\"easyui-searchbox\" data-options=\"prompt:'Please Input Value'\" style=\"width:30%\">\r\n\t<div id=\"mm\">\r\n\t\t<div data-options=\"name:'all',iconCls:'icon-ok'\">All News</div>\r\n\t\t<div data-options=\"name:'sports'\">Sports News</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/slider/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Slider - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Slider</h2>\r\n\t<p>Drag the slider to change value.</p>\r\n\t<div style=\"margin:20px 0 50px 0;\"></div>\r\n\t<input class=\"easyui-slider\" style=\"width:300px\" data-options=\"showTip:true\">\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/slider/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid Slider - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid Slider</h2>\r\n\t<p>This example shows how to set the width of Slider to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0 50px 0;\"></div>\r\n\t<p>width: 50%</p>\r\n\t<input class=\"easyui-slider\" value=\"50\" data-options=\"showTip:true\" style=\"width:50%;\">\r\n\t<p>width: 30%</p>\r\n\t<input class=\"easyui-slider\" value=\"50\" data-options=\"showTip:true\" style=\"width:30%;\">\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/slider/formattip.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Format Tip Information - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Format Tip Information</h2>\r\n\t<p>This sample shows how to format tip information.</p>\r\n\t<div style=\"margin:20px 0 50px 0;\"></div>\r\n\t<input class=\"easyui-slider\" value=\"12\" style=\"width:300px\" data-options=\"\r\n\t\t\tshowTip: true,\r\n\t\t\trule: [0,'|',25,'|',50,'|',75,'|',100],\r\n\t\t\ttipFormatter: function(value){\r\n\t\t\t\treturn value+'px';\r\n\t\t\t},\r\n\t\t\tonChange: function(value){\r\n\t\t\t\t$('#ff').css('font-size', value);\r\n\t\t\t}\">\r\n\t<div id=\"ff\" style=\"margin-top:50px;font-size:12px\">jQuery EasyUI</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/slider/nonlinear.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Non Linear Slider - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Non Linear Slider</h2>\r\n\t<p>This example shows how to create a slider with a non-linear scale.</p>\r\n\t<div style=\"margin:20px 0 50px 0;\"></div>\r\n\t<div style=\"padding:2px\">\r\n\t<input class=\"easyui-slider\" style=\"width:400px\" data-options=\"\r\n\t\t\tshowTip:true,\r\n\t\t\trule: [0,'PI/4','PI/2'],\r\n\t\t\tmin:0,\r\n\t\t\tmax:300,\r\n\t\t\ttipFormatter:function(value){\r\n\t\t\t\treturn (value/300.0).toFixed(4);\r\n\t\t\t},\r\n\t\t\tconverter:{\r\n\t\t\t\ttoPosition:function(value,size){\r\n\t\t\t\t\tvar opts = $(this).slider('options');\r\n\t\t\t\t\treturn Math.asin(value/opts.max)/(Math.PI)*2*size;\r\n\t\t\t\t},\r\n\t\t\t\ttoValue:function(pos,size){\r\n\t\t\t\t\tvar opts = $(this).slider('options');\r\n\t\t\t\t\treturn Math.sin(pos/size*Math.PI/2)*opts.max;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tonChange:function(v){\r\n\t\t\t\tvar opts = $(this).slider('options');\r\n\t\t\t\tvar pos = opts.converter.toPosition.call(this, v, opts.width);\r\n\t\t\t\tvar p = $('<div class=point></div>').appendTo('#cc');\r\n\t\t\t\tp.css('top', v);\r\n\t\t\t\tp.css(opts.reversed?'right':'left', pos);\r\n\t\t\t}\r\n\t\t\t\">\r\n\t</div>\r\n\t<div style=\"margin-bottom:30px\"></div>\r\n\t<div id=\"cc\" class=\"easyui-panel\" style=\"position:relative;width:404px;height:304px;\">\r\n\t</div>\r\n\t\r\n\t<style scoped=\"scoped\">\r\n\t\t.point{\r\n\t\t\tposition:absolute;\r\n\t\t\twidth:2px;\r\n\t\t\theight:2px;\r\n\t\t\tfont-size:0;\r\n\t\t\tbackground:red;\r\n\t\t}\r\n\t</style>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/slider/rule.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Slider Rule - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Slider Rule</h2>\r\n\t<p>This sample shows how to define slider rule.</p>\r\n\t<div style=\"margin:20px 0 50px 0;\"></div>\r\n\t<input class=\"easyui-slider\" style=\"width:300px\" data-options=\"\r\n\t\t\t\tshowTip:true,\r\n\t\t\t\trule: [0,'|',25,'|',50,'|',75,'|',100]\r\n\t\t\t\">\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/slider/vertical.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Vertical Slider - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Vertical Slider</h2>\r\n\t<p>This sample shows how to create a vertical slider.</p>\r\n\t<div style=\"margin:20px 0 50px 0;\"></div>\r\n\t<div style=\"margin:0 50px\">\r\n\t<input class=\"easyui-slider\" style=\"height:300px\" data-options=\"\r\n\t\t\t\tshowTip: true,\r\n\t\t\t\tmode: 'v',\r\n\t\t\t\treversed: false,\r\n\t\t\t\trule: [0,'|',25,'|',50,'|',75,'|',100]\r\n\t\t\t\">\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/splitbutton/actions.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>SplitButton Actions - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>SplitButton Actions</h2>\r\n\t<p>Click the buttons below to perform actions.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"$('#btn-edit').splitbutton('disable')\">Disable Edit</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"$('#btn-edit').splitbutton('enable')\">Enable Edit</a>\r\n\t</div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"plain:true\">Home</a>\r\n\t\t<a id=\"btn-edit\" href=\"#\" class=\"easyui-splitbutton\" data-options=\"menu:'#mm1',iconCls:'icon-edit'\">Edit</a>\r\n\t\t<a href=\"#\" class=\"easyui-splitbutton\" data-options=\"menu:'#mm2',iconCls:'icon-ok'\">Ok</a>\r\n\t\t<a href=\"#\" class=\"easyui-menubutton\" data-options=\"menu:'#mm3',iconCls:'icon-help'\">Help</a>\r\n\t</div>\r\n\t<div id=\"mm1\" style=\"width:150px;\">\r\n\t\t<div data-options=\"iconCls:'icon-undo'\">Undo</div>\r\n\t\t<div data-options=\"iconCls:'icon-redo'\">Redo</div>\r\n\t\t<div class=\"menu-sep\"></div>\r\n\t\t<div>Cut</div>\r\n\t\t<div>Copy</div>\r\n\t\t<div>Paste</div>\r\n\t\t<div class=\"menu-sep\"></div>\r\n\t\t<div>\r\n\t\t\t<span>Toolbar</span>\r\n\t\t\t<div>\r\n\t\t\t\t<div>Address</div>\r\n\t\t\t\t<div>Link</div>\r\n\t\t\t\t<div>Navigation Toolbar</div>\r\n\t\t\t\t<div>Bookmark Toolbar</div>\r\n\t\t\t\t<div class=\"menu-sep\"></div>\r\n\t\t\t\t<div>New Toolbar...</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div data-options=\"iconCls:'icon-remove'\">Delete</div>\r\n\t\t<div>Select All</div>\r\n\t</div>\r\n\t<div id=\"mm2\" style=\"width:100px;\">\r\n\t\t<div data-options=\"iconCls:'icon-ok'\">Ok</div>\r\n\t\t<div data-options=\"iconCls:'icon-cancel'\">Cancel</div>\r\n\t</div>\r\n\t<div id=\"mm3\" style=\"width:150px;\">\r\n\t\t<div>Help</div>\r\n\t\t<div>Update</div>\r\n\t\t<div>\r\n\t\t\t<span>About</span>\r\n\t\t\t<div class=\"menu-content\" style=\"padding:10px;text-align:left\">\r\n\t\t\t\t<img src=\"http://www.jeasyui.com/images/logo1.png\" style=\"width:150px;height:50px\">\r\n\t\t\t\t<p style=\"font-size:14px;color:#444\">Try jQuery EasyUI to build your modern, interactive, javascript applications.</p>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/splitbutton/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic SplitButton - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic SplitButton</h2>\r\n\t<p>Move mouse over the arrow area of button to drop down menu.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"plain:true\">Home</a>\r\n\t\t<a href=\"#\" class=\"easyui-splitbutton\" data-options=\"menu:'#mm1',iconCls:'icon-edit'\">Edit</a>\r\n\t\t<a href=\"#\" class=\"easyui-splitbutton\" data-options=\"menu:'#mm2',iconCls:'icon-ok'\">Ok</a>\r\n\t\t<a href=\"#\" class=\"easyui-menubutton\" data-options=\"menu:'#mm3',iconCls:'icon-help'\">Help</a>\r\n\t</div>\r\n\t<div id=\"mm1\" style=\"width:150px;\">\r\n\t\t<div data-options=\"iconCls:'icon-undo'\">Undo</div>\r\n\t\t<div data-options=\"iconCls:'icon-redo'\">Redo</div>\r\n\t\t<div class=\"menu-sep\"></div>\r\n\t\t<div>Cut</div>\r\n\t\t<div>Copy</div>\r\n\t\t<div>Paste</div>\r\n\t\t<div class=\"menu-sep\"></div>\r\n\t\t<div>\r\n\t\t\t<span>Toolbar</span>\r\n\t\t\t<div>\r\n\t\t\t\t<div>Address</div>\r\n\t\t\t\t<div>Link</div>\r\n\t\t\t\t<div>Navigation Toolbar</div>\r\n\t\t\t\t<div>Bookmark Toolbar</div>\r\n\t\t\t\t<div class=\"menu-sep\"></div>\r\n\t\t\t\t<div>New Toolbar...</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div data-options=\"iconCls:'icon-remove'\">Delete</div>\r\n\t\t<div>Select All</div>\r\n\t</div>\r\n\t<div id=\"mm2\" style=\"width:100px;\">\r\n\t\t<div data-options=\"iconCls:'icon-ok'\">Ok</div>\r\n\t\t<div data-options=\"iconCls:'icon-cancel'\">Cancel</div>\r\n\t</div>\r\n\t<div id=\"mm3\" style=\"width:150px;\">\r\n\t\t<div>Help</div>\r\n\t\t<div>Update</div>\r\n\t\t<div>\r\n\t\t\t<span>About</span>\r\n\t\t\t<div class=\"menu-content\" style=\"padding:10px;text-align:left\">\r\n\t\t\t\t<img src=\"http://www.jeasyui.com/images/logo1.png\" style=\"width:150px;height:50px\">\r\n\t\t\t\t<p style=\"font-size:14px;color:#444\">Try jQuery EasyUI to build your modern, interactive, javascript applications.</p>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tabs/_content.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>AJAX Content</title>\r\n</head>\r\n<body>\r\n\t<p style=\"font-size:14px\">Here is the content loaded via AJAX.</p>\r\n\t<ul>\r\n\t\t<li>easyui is a collection of user-interface plugin based on jQuery.</li>\r\n\t\t<li>easyui provides essential functionality for building modern, interactive, javascript applications.</li>\r\n\t\t<li>using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.</li>\r\n\t\t<li>complete framework for HTML5 web page.</li>\r\n\t\t<li>easyui save your time and scales while developing your products.</li>\r\n\t\t<li>easyui is very easy but powerful.</li>\r\n\t</ul>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tabs/autoheight.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Auto Height for Tabs - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Auto Height for Tabs</h2>\r\n\t<p>The tabs height is auto adjusted according to tab panel content.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-tabs\" style=\"width:700px;height:auto\">\r\n\t\t<div title=\"About\" style=\"padding:10px\">\r\n\t\t\t<p style=\"font-size:14px\">jQuery EasyUI framework helps you build your web pages easily.</p>\r\n\t\t\t<ul>\r\n\t\t\t\t<li>easyui is a collection of user-interface plugin based on jQuery.</li>\r\n\t\t\t\t<li>easyui provides essential functionality for building modem, interactive, javascript applications.</li>\r\n\t\t\t\t<li>using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.</li>\r\n\t\t\t\t<li>complete framework for HTML5 web page.</li>\r\n\t\t\t\t<li>easyui save your time and scales while developing your products.</li>\r\n\t\t\t\t<li>easyui is very easy but powerful.</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t\t<div title=\"My Documents\" style=\"padding:10px\">\r\n\t\t\t<ul class=\"easyui-tree\" data-options=\"url:'tree_data1.json',method:'get',animate:true\"></ul>\r\n\t\t</div>\r\n\t\t<div title=\"Help\" data-options=\"iconCls:'icon-help',closable:true\" style=\"padding:10px\">\r\n\t\t\tThis is the help content.\r\n\t\t</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tabs/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Tabs - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Tabs</h2>\r\n\t<p>Click tab strip to swap tab panel content.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\"></div>\r\n\t<div class=\"easyui-tabs\" style=\"width:700px;height:250px\">\r\n\t\t<div title=\"About\" style=\"padding:10px\">\r\n\t\t\t<p style=\"font-size:14px\">jQuery EasyUI framework helps you build your web pages easily.</p>\r\n\t\t\t<ul>\r\n\t\t\t\t<li>easyui is a collection of user-interface plugin based on jQuery.</li>\r\n\t\t\t\t<li>easyui provides essential functionality for building modem, interactive, javascript applications.</li>\r\n\t\t\t\t<li>using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.</li>\r\n\t\t\t\t<li>complete framework for HTML5 web page.</li>\r\n\t\t\t\t<li>easyui save your time and scales while developing your products.</li>\r\n\t\t\t\t<li>easyui is very easy but powerful.</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t\t<div title=\"My Documents\" style=\"padding:10px\">\r\n\t\t\t<ul class=\"easyui-tree\" data-options=\"url:'tree_data1.json',method:'get',animate:true\"></ul>\r\n\t\t</div>\r\n\t\t<div title=\"Help\" data-options=\"iconCls:'icon-help',closable:true\" style=\"padding:10px\">\r\n\t\t\tThis is the help content.\r\n\t\t</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tabs/dropdown.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Tabs with DropDown - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Tabs with DropDown</h2>\r\n\t<p>This sample shows how to add a dropdown menu over a tab strip.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div id=\"tt\" style=\"width:700px;height:250px\">\r\n\t\t<div title=\"About\" style=\"padding:10px\">\r\n\t\t\t<p style=\"font-size:14px\">jQuery EasyUI framework helps you build your web pages easily.</p>\r\n\t\t\t<ul>\r\n\t\t\t\t<li>easyui is a collection of user-interface plugin based on jQuery.</li>\r\n\t\t\t\t<li>easyui provides essential functionality for building modem, interactive, javascript applications.</li>\r\n\t\t\t\t<li>using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.</li>\r\n\t\t\t\t<li>complete framework for HTML5 web page.</li>\r\n\t\t\t\t<li>easyui save your time and scales while developing your products.</li>\r\n\t\t\t\t<li>easyui is very easy but powerful.</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t\t<div title=\"My Documents\" style=\"padding:10px\">\r\n\t\t\t<ul class=\"easyui-tree\" data-options=\"url:'tree_data1.json',method:'get',animate:true\"></ul>\r\n\t\t</div>\r\n\t\t<div title=\"Help\" style=\"padding:10px\">\r\n\t\t\tThis is the help content.\r\n\t\t</div>\r\n\t</div>\r\n\t<div id=\"mm\">\r\n\t\t<div>Welcome</div>\r\n\t\t<div>Help Contents</div>\r\n\t\t<div data-options=\"iconCls:'icon-search'\">Search</div>\r\n\t\t<div>Dynamic Help</div>\r\n\t</div>\r\n\t\r\n\t<script>\r\n\t\t$(function(){\r\n\t\t\tvar p = $('#tt').tabs().tabs('tabs')[2];\r\n\t\t\tvar mb = p.panel('options').tab.find('a.tabs-inner');\r\n\t\t\tmb.menubutton({\r\n\t\t\t\tmenu:'#mm',\r\n\t\t\t\ticonCls:'icon-help'\r\n\t\t\t}).click(function(){\r\n\t\t\t\t$('#tt').tabs('select',2);\r\n\t\t\t});\r\n\t\t});\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tabs/fixedwidth.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fixed Tab Width - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fixed Tab Width</h2>\r\n\t<p>The tab strips have fixed width and height.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-tabs\" data-options=\"tabWidth:112\" style=\"width:700px;height:250px\">\r\n\t\t<div title=\"Home\" style=\"padding:10px\">\r\n\t\t\t<p>Home Content.</p>\r\n\t\t</div>\r\n\t\t<div title=\"Maps\" style=\"padding:10px\">\r\n\t\t\t<p>Maps Content.</p>\r\n\t\t</div>\r\n\t\t<div title=\"Journal\" style=\"padding:10px\">\r\n\t\t\t<p>Journal Content.</p>\r\n\t\t</div>\r\n\t\t<div title=\"History\" style=\"padding:10px\">\r\n\t\t\t<p>History Content.</p>\r\n\t\t</div>\r\n\t\t<div title=\"References\" style=\"padding:10px\">\r\n\t\t\t<p>References Content.</p>\r\n\t\t</div>\r\n\t\t<div title=\"Contact\" data-options=\"tabWidth:110\" style=\"padding:10px\">\r\n\t\t\t<p>Contact Content.</p>\r\n\t\t</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tabs/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid Tabs - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid Tabs</h2>\r\n\t<p>This example shows how to set the width of Tabs to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0 10px 0;\"></div>\r\n\t<div class=\"easyui-tabs\" style=\"width:100%;height:250px\">\r\n\t\t<div title=\"About\" style=\"padding:10px\">\r\n\t\t\t<p>The tabs has a width of 100%.</p>\r\n\t\t</div>\r\n\t\t<div title=\"Title2\"></div>\r\n\t\t<div title=\"Title3\"></div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tabs/hover.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Hover Tabs - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Hover Tabs</h2>\r\n\t<p>Move mouse over the tab strip to open the tab panel.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div id=\"tt\" class=\"easyui-tabs\" style=\"width:700px;height:250px\">\r\n\t\t<div title=\"About\" style=\"padding:10px\">\r\n\t\t\t<p style=\"font-size:14px\">jQuery EasyUI framework helps you build your web pages easily.</p>\r\n\t\t\t<ul>\r\n\t\t\t\t<li>easyui is a collection of user-interface plugin based on jQuery.</li>\r\n\t\t\t\t<li>easyui provides essential functionality for building modem, interactive, javascript applications.</li>\r\n\t\t\t\t<li>using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.</li>\r\n\t\t\t\t<li>complete framework for HTML5 web page.</li>\r\n\t\t\t\t<li>easyui save your time and scales while developing your products.</li>\r\n\t\t\t\t<li>easyui is very easy but powerful.</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t\t<div title=\"My Documents\" style=\"padding:10px\">\r\n\t\t\t<ul class=\"easyui-tree\" data-options=\"url:'tree_data1.json',method:'get',animate:true\"></ul>\r\n\t\t</div>\r\n\t\t<div title=\"Help\" data-options=\"iconCls:'icon-help',closable:true\" style=\"padding:10px\">\r\n\t\t\tThis is the help content.\r\n\t\t</div>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\t$(function(){\r\n\t\t\tvar tabs = $('#tt').tabs().tabs('tabs');\r\n\t\t\tfor(var i=0; i<tabs.length; i++){\r\n\t\t\t\ttabs[i].panel('options').tab.unbind().bind('mouseenter',{index:i},function(e){\r\n\t\t\t\t\t$('#tt').tabs('select', e.data.index);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tabs/nestedtabs.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Nested Tabs - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Nested Tabs</h2>\r\n\t<p>The tab panel can contain sub tabs or other components.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-tabs\" data-options=\"tools:'#tab-tools'\" style=\"width:700px;height:250px\">\r\n\t\t<div title=\"Sub Tabs\" style=\"padding:10px;\">\r\n\t\t\t<div class=\"easyui-tabs\" data-options=\"fit:true,plain:true\">\r\n\t\t\t\t<div title=\"Title1\" style=\"padding:10px;\">Content 1</div>\r\n\t\t\t\t<div title=\"Title2\" style=\"padding:10px;\">Content 2</div>\r\n\t\t\t\t<div title=\"Title3\" style=\"padding:10px;\">Content 3</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div title=\"Ajax\" data-options=\"href:'_content.html',closable:true\" style=\"padding:10px\"></div>\r\n\t\t<div title=\"Iframe\" data-options=\"closable:true\" style=\"overflow:hidden\">\r\n\t\t\t<iframe scrolling=\"yes\" frameborder=\"0\"  src=\"http://www.jeasyui.com/forum/index.php\" style=\"width:100%;height:100%;\"></iframe>\r\n\t\t</div>\r\n\t\t<div title=\"DataGrid\" data-options=\"closable:true\" style=\"padding:10px\">\r\n\t\t\t<table class=\"easyui-datagrid\" data-options=\"fit:true,singleSelect:true,rownumbers:true\">\r\n\t\t\t\t<thead>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<th data-options=\"field:'f1',width:100\">Title1</th>\r\n\t\t\t\t\t\t<th data-options=\"field:'f2',width:100\">Title2</th>\r\n\t\t\t\t\t\t<th data-options=\"field:'f3',width:100\">Title3</th>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</thead>\r\n\t\t\t\t<tbody>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td>d11</td>\r\n\t\t\t\t\t\t<td>d12</td>\r\n\t\t\t\t\t\t<td>d13</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td>d21</td>\r\n\t\t\t\t\t\t<td>d22</td>\r\n\t\t\t\t\t\t<td>d23</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</tbody>\r\n\t\t\t</table>\r\n\t\t</div>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tabs/striptools.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Tabs Strip Tools - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Tabs Strip Tools</h2>\r\n\t<p>Click the mini-buttons on the tab strip to perform actions.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-tabs\" style=\"width:700px;height:250px\">\r\n\t\t<div title=\"About\" data-options=\"tools:'#p-tools'\" style=\"padding:10px\">\r\n\t\t\t<p style=\"font-size:14px\">jQuery EasyUI framework helps you build your web pages easily.</p>\r\n\t\t\t<ul>\r\n\t\t\t\t<li>easyui is a collection of user-interface plugin based on jQuery.</li>\r\n\t\t\t\t<li>easyui provides essential functionality for building modem, interactive, javascript applications.</li>\r\n\t\t\t\t<li>using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.</li>\r\n\t\t\t\t<li>complete framework for HTML5 web page.</li>\r\n\t\t\t\t<li>easyui save your time and scales while developing your products.</li>\r\n\t\t\t\t<li>easyui is very easy but powerful.</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t\t<div title=\"Help\" data-options=\"iconCls:'icon-help',closable:true\" style=\"padding:10px\">\r\n\t\t\tThis is the help content.\r\n\t\t</div>\r\n\t</div>\r\n\t<div id=\"p-tools\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"icon-mini-add\" onclick=\"alert('add')\"></a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"icon-mini-edit\" onclick=\"alert('edit')\"></a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"icon-mini-refresh\" onclick=\"alert('refresh')\"></a>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tabs/tabimage.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Tabs with Images - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Tabs with Images</h2>\r\n\t<p>The tab strip can display big images.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-tabs\" data-options=\"tabWidth:100,tabHeight:60\" style=\"width:700px;height:250px\">\r\n\t\t<div title=\"<span class='tt-inner'><img src='images/modem.png'/><br>Modem</span>\" style=\"padding:10px\">\r\n\t\t\t<p>A modem (modulator-demodulator) is a device that modulates an analog carrier signal to encode digital information, and also demodulates such a carrier signal to decode the transmitted information.</p>\r\n\t\t</div>\r\n\t\t<div title=\"<span class='tt-inner'><img src='images/scanner.png'/><br>Scanner</span>\" style=\"padding:10px\">\r\n\t\t\t<p>In computing, an image scanner—often abbreviated to just scanner—is a device that optically scans images, printed text, handwriting, or an object, and converts it to a digital image.</p>\r\n\t\t</div>\r\n\t\t<div title=\"<span class='tt-inner'><img src='images/pda.png'/><br>Pda</span>\" style=\"padding:10px\">\r\n\t\t\t<p>A personal digital assistant (PDA), also known as a palmtop computer, or personal data assistant, is a mobile device that functions as a personal information manager. PDAs are largely considered obsolete with the widespread adoption of smartphones.</p>\r\n\t\t</div>\r\n\t\t<div title=\"<span class='tt-inner'><img src='images/tablet.png'/><br>Tablet</span>\" style=\"padding:10px\">\r\n\t\t\t<p>A tablet computer, or simply tablet, is a one-piece mobile computer. Devices typically have a touchscreen, with finger or stylus gestures replacing the conventional computer mouse.</p>\r\n\t\t</div>\r\n\t</div>\r\n\t<style scoped=\"scoped\">\r\n\t\t.tt-inner{\r\n\t\t\tdisplay:inline-block;\r\n\t\t\tline-height:12px;\r\n\t\t\tpadding-top:5px;\r\n\t\t}\r\n\t\t.tt-inner img{\r\n\t\t\tborder:0;\r\n\t\t}\r\n\t</style>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tabs/tabposition.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Tab Position - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Tab Position</h2>\r\n\t<p>Click the 'position' drop-down list and select an item to change the tab position.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<span>Position:</span>\r\n\t\t<select onchange=\"$('#tt').tabs({tabPosition:this.value})\">\r\n\t\t\t<option value=\"top\">Top</option>\r\n\t\t\t<option value=\"bottom\">Bottom</option>\r\n\t\t\t<option value=\"left\">Left</option>\r\n\t\t\t<option value=\"right\">Right</option>\r\n\t\t</select>\r\n\t</div>\r\n\t<div id=\"tt\" class=\"easyui-tabs\" style=\"width:700px;height:250px\">\r\n\t\t<div title=\"About\" style=\"padding:10px\">\r\n\t\t\t<p style=\"font-size:14px\">jQuery EasyUI framework helps you build your web pages easily.</p>\r\n\t\t\t<ul>\r\n\t\t\t\t<li>easyui is a collection of user-interface plugin based on jQuery.</li>\r\n\t\t\t\t<li>easyui provides essential functionality for building modem, interactive, javascript applications.</li>\r\n\t\t\t\t<li>using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.</li>\r\n\t\t\t\t<li>complete framework for HTML5 web page.</li>\r\n\t\t\t\t<li>easyui save your time and scales while developing your products.</li>\r\n\t\t\t\t<li>easyui is very easy but powerful.</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t\t<div title=\"My Documents\" style=\"padding:10px\">\r\n\t\t\t<ul class=\"easyui-tree\" data-options=\"url:'tree_data1.json',method:'get',animate:true\"></ul>\r\n\t\t</div>\r\n\t\t<div title=\"Help\" data-options=\"iconCls:'icon-help',closable:true\" style=\"padding:10px\">\r\n\t\t\tThis is the help content.\r\n\t\t</div>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tabs/tabstools.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Tabs Tools - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Tabs Tools</h2>\r\n\t<p>Click the buttons on the top right of tabs header to add or remove tab panel.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div id=\"tt\" class=\"easyui-tabs\" data-options=\"tools:'#tab-tools'\" style=\"width:700px;height:250px\">\r\n\t</div>\r\n\t<div id=\"tab-tools\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" data-options=\"plain:true,iconCls:'icon-add'\" onclick=\"addPanel()\"></a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" data-options=\"plain:true,iconCls:'icon-remove'\" onclick=\"removePanel()\"></a>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\tvar index = 0;\r\n\t\tfunction addPanel(){\r\n\t\t\tindex++;\r\n\t\t\t$('#tt').tabs('add',{\r\n\t\t\t\ttitle: 'Tab'+index,\r\n\t\t\t\tcontent: '<div style=\"padding:10px\">Content'+index+'</div>',\r\n\t\t\t\tclosable: true\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction removePanel(){\r\n\t\t\tvar tab = $('#tt').tabs('getSelected');\r\n\t\t\tif (tab){\r\n\t\t\t\tvar index = $('#tt').tabs('getTabIndex', tab);\r\n\t\t\t\t$('#tt').tabs('close', index);\r\n\t\t\t}\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tabs/tree_data1.json",
    "content": "[{\r\n\t\"id\":1,\r\n\t\"text\":\"My Documents\",\r\n\t\"children\":[{\r\n\t\t\"id\":11,\r\n\t\t\"text\":\"Photos\",\r\n\t\t\"state\":\"closed\",\r\n\t\t\"children\":[{\r\n\t\t\t\"id\":111,\r\n\t\t\t\"text\":\"Friend\"\r\n\t\t},{\r\n\t\t\t\"id\":112,\r\n\t\t\t\"text\":\"Wife\"\r\n\t\t},{\r\n\t\t\t\"id\":113,\r\n\t\t\t\"text\":\"Company\"\r\n\t\t}]\r\n\t},{\r\n\t\t\"id\":12,\r\n\t\t\"text\":\"Program Files\",\r\n\t\t\"children\":[{\r\n\t\t\t\"id\":121,\r\n\t\t\t\"text\":\"Intel\"\r\n\t\t},{\r\n\t\t\t\"id\":122,\r\n\t\t\t\"text\":\"Java\",\r\n\t\t\t\"attributes\":{\r\n\t\t\t\t\"p1\":\"Custom Attribute1\",\r\n\t\t\t\t\"p2\":\"Custom Attribute2\"\r\n\t\t\t}\r\n\t\t},{\r\n\t\t\t\"id\":123,\r\n\t\t\t\"text\":\"Microsoft Office\"\r\n\t\t},{\r\n\t\t\t\"id\":124,\r\n\t\t\t\"text\":\"Games\",\r\n\t\t\t\"checked\":true\r\n\t\t}]\r\n\t},{\r\n\t\t\"id\":13,\r\n\t\t\"text\":\"index.html\"\r\n\t},{\r\n\t\t\"id\":14,\r\n\t\t\"text\":\"about.html\"\r\n\t},{\r\n\t\t\"id\":15,\r\n\t\t\"text\":\"welcome.html\"\r\n\t}]\r\n}]\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/textbox/basic.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>Basic TextBox - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>Basic TextBox</h2>\n\t<p>The textbox allows a user to enter information.</p>\n\t<div style=\"margin:20px 0;\"></div>\n\t<div class=\"easyui-panel\" title=\"Register\" style=\"width:400px;padding:30px 60px\">\n\t\t<div style=\"margin-bottom:20px\">\n\t\t\t<div>Email:</div>\n\t\t\t<input class=\"easyui-textbox\" data-options=\"prompt:'Enter a email address...',validType:'email'\" style=\"width:100%;height:32px\">\n\t\t</div>\n\t\t<div style=\"margin-bottom:20px\">\n\t\t\t<div>First Name:</div>\n\t\t\t<input class=\"easyui-textbox\" style=\"width:100%;height:32px\">\n\t\t</div>\n\t\t<div style=\"margin-bottom:20px\">\n\t\t\t<div>Last Name:</div>\n\t\t\t<input class=\"easyui-textbox\" style=\"width:100%;height:32px\">\n\t\t</div>\n\t\t<div style=\"margin-bottom:20px\">\n\t\t\t<div>Company:</div>\n\t\t\t<input class=\"easyui-textbox\" style=\"width:100%;height:32px\">\n\t\t</div>\n\t\t\n\t\t<div>\n\t\t\t<a href=\"#\" class=\"easyui-linkbutton\" iconCls=\"icon-ok\" style=\"width:100%;height:32px\">Register</a>\n\t\t</div>\n\t</div>\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/textbox/button.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>TextBox with Button - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>TextBox with Button</h2>\n\t<p>The button can be attached to a textbox.</p>\n\t<div style=\"margin:20px 0 40px 0;\"></div>\n\t<div style=\"margin-bottom:40px\">\n\t\t<input class=\"easyui-textbox\" data-options=\"buttonText:'SEARCH',prompt:'Search...'\" style=\"width:250px;height:32px;\">\n\t</div>\n\t<div style=\"margin-bottom:40px\">\n\t\t<input class=\"easyui-textbox\" data-options=\"buttonText:'Search',buttonIcon:'icon-search',prompt:'Search...'\" style=\"width:450px;height:24px;\">\n\t</div>\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/textbox/clearicon.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>TextBox with Clear Icon - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>TextBox with Clear Icon</h2>\n\t<p>This example shows how to create an textbox with an icon to clear the input element itself.</p>\n\t<div style=\"margin:20px 0 40px 0;\"></div>\n\t<input id=\"tt\" style=\"width:400px\" data-options=\"\n\t\t\tprompt: 'Input something here!',\n\t\t\ticons:[{\n\t\t\t\ticonCls:'icon-search',\n\t\t\t\thandler: function(e){\n\t\t\t\t\tvar v = $(e.data.target).textbox('getValue');\n\t\t\t\t\talert('The inputed value is ' + (v ? v : 'empty'));\n\t\t\t\t}\n\t\t\t}]\n\t\t\t\">\n\t<script>\n\t\t$.extend($.fn.textbox.methods, {\n\t\t\taddClearBtn: function(jq, iconCls){\n\t\t\t\treturn jq.each(function(){\n\t\t\t\t\tvar t = $(this);\n\t\t\t\t\tvar opts = t.textbox('options');\n\t\t\t\t\topts.icons = opts.icons || [];\n\t\t\t\t\topts.icons.unshift({\n\t\t\t\t\t\ticonCls: iconCls,\n\t\t\t\t\t\thandler: function(e){\n\t\t\t\t\t\t\t$(e.data.target).textbox('clear').textbox('textbox').focus();\n\t\t\t\t\t\t\t$(this).css('visibility','hidden');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tt.textbox();\n\t\t\t\t\tif (!t.textbox('getText')){\n\t\t\t\t\t\tt.textbox('getIcon',0).css('visibility','hidden');\n\t\t\t\t\t}\n\t\t\t\t\tt.textbox('textbox').bind('keyup', function(){\n\t\t\t\t\t\tvar icon = t.textbox('getIcon',0);\n\t\t\t\t\t\tif ($(this).val()){\n\t\t\t\t\t\t\ticon.css('visibility','visible');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ticon.css('visibility','hidden');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\t\n\t\t$(function(){\n\t\t\t$('#tt').textbox().textbox('addClearBtn', 'icon-clear');\n\t\t});\n\t</script>\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/textbox/custom.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>Custom TextBox - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>Custom TextBox</h2>\n\t<p>This example shows how to custom a login form.</p>\n\t<div style=\"margin:20px 0;\"></div>\n\t<div class=\"easyui-panel\" title=\"Login to system\" style=\"width:400px;padding:30px 70px 20px 70px\">\n\t\t<div style=\"margin-bottom:10px\">\n\t\t\t<input class=\"easyui-textbox\" style=\"width:100%;height:40px;padding:12px\" data-options=\"prompt:'Username',iconCls:'icon-man',iconWidth:38\">\n\t\t</div>\n\t\t<div style=\"margin-bottom:20px\">\n\t\t\t<input class=\"easyui-textbox\" type=\"password\" style=\"width:100%;height:40px;padding:12px\" data-options=\"prompt:'Password',iconCls:'icon-lock',iconWidth:38\">\n\t\t</div>\n\t\t<div style=\"margin-bottom:20px\">\n\t\t\t<input type=\"checkbox\" checked=\"checked\">\n\t\t\t<span>Remember me</span>\n\t\t</div>\n\t\t<div>\n\t\t\t<a href=\"#\" class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-ok'\" style=\"padding:5px 0px;width:100%;\">\n\t\t\t\t<span style=\"font-size:14px;\">Login</span>\n\t\t\t</a>\n\t\t</div>\n\t</div>\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/textbox/fluid.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>Fluid TextBox - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>Fluid TextBox</h2>\n\t<p>This example shows how to set the width of TextBox to a percentage of its parent container.</p>\n\t<div style=\"margin:20px 0;\"></div>\n\t<p>width: 50%</p>\n\t<input class=\"easyui-textbox\" data-options=\"prompt:'Enter something here...'\" style=\"width:50%;height:32px\">\n\t<p>width: 30%</p>\n\t<input class=\"easyui-textbox\" data-options=\"prompt:'Enter something here...'\" style=\"width:30%;height:32px\">\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/textbox/icons.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>TextBox with Icons - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>TextBox with Icons</h2>\n\t<p>Click the icons on textbox to perform actions.</p>\n\t<div style=\"margin:20px 0 40px 0;\"></div>\n    <div style=\"margin:10px 0 20px 0\">\n        <span>Select Icon Align: </span>\n        <select onchange=\"$('#tt').textbox({iconAlign:this.value})\">\n            <option value=\"right\">Right</option>\n            <option value=\"left\">Left</option>\n        </select>\n    </div>\n\t<input id=\"tt\" class=\"easyui-textbox\" style=\"width:400px\" data-options=\"\n\t\t\tprompt: 'Input something here!',\n\t\t\ticonWidth: 22,\n\t\t\ticons: [{\n\t\t\t\ticonCls:'icon-add',\n\t\t\t\thandler: function(e){\n\t\t\t\t\t$(e.data.target).textbox('setValue', 'Something added!');\n\t\t\t\t}\n\t\t\t},{\n\t\t\t\ticonCls:'icon-remove',\n\t\t\t\thandler: function(e){\n\t\t\t\t\t$(e.data.target).textbox('clear');\n\t\t\t\t}\n\t\t\t},{\n\t\t\t\ticonCls:'icon-search',\n\t\t\t\thandler: function(e){\n\t\t\t\t\tvar v = $(e.data.target).textbox('getValue');\n\t\t\t\t\talert('The inputed value is ' + (v ? v : 'empty'));\n\t\t\t\t}\n\t\t\t}]\n\t\t\t\">\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/textbox/multiline.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>Multiline TextBox - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>Multiline TextBox</h2>\n\t<p>This example shows how to define a textbox for the user to enter multi-line text input.</p>\n\t<div style=\"margin:20px 0;\"></div>\n\t<input class=\"easyui-textbox\" data-options=\"multiline:true\" value=\"This TextBox will allow the user to enter multiple lines of text.\" style=\"width:300px;height:100px\">\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/textbox/size.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>TextBox Size - jQuery EasyUI Demo</title>\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\n</head>\n<body>\n\t<h2>TextBox Size</h2>\n\t<p>The textbox can vary in size.</p>\n\t<div style=\"margin:20px 0 40px 0;\"></div>\n\t<div style=\"margin-bottom:40px\">\n\t\t<input class=\"easyui-textbox\" data-options=\"iconCls:'icon-search',iconWidth:28,prompt:'Search small...'\" style=\"width:250px;height:22px;\">\n\t</div>\n\t<div style=\"margin-bottom:40px\">\n\t\t<input class=\"easyui-textbox\" data-options=\"iconCls:'icon-search',iconWidth:28,prompt:'Search large...'\" style=\"width:250px;height:26px;\">\n\t</div>\n\t<div style=\"margin-bottom:40px\">\n\t\t<input class=\"easyui-textbox\" data-options=\"iconCls:'icon-search',iconWidth:28,prompt:'Search big...'\" style=\"width:250px;height:32px;\">\n\t</div>\n\t<div style=\"margin-bottom:40px\">\n\t\t<input class=\"easyui-textbox\" data-options=\"iconCls:'icon-search',iconWidth:28,prompt:'Search huge...'\" style=\"width:250px;height:40px;\">\n\t</div>\n</body>\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/timespinner/actions.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>TimeSpinner Actions - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>TimeSpinner Actions</h2>\r\n\t<p>Click the buttons below to perform actions.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"getValue()\">GetValue</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"setValue()\">SetValue</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"disable()\">Disable</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"enable()\">Enable</a>\r\n\t</div>\r\n\t<input id=\"dt\" class=\"easyui-timespinner\" style=\"width:80px;\">\r\n\t<script>\r\n\t\tfunction getValue(){\r\n\t\t\tvar val = $('#dt').timespinner('getValue');\r\n\t\t\talert(val);\r\n\t\t}\r\n\t\tfunction setValue(){\r\n\t\t\t$('#dt').timespinner('setValue', '09:45');\r\n\t\t}\r\n\t\tfunction disable(){\r\n\t\t\t$('#dt').timespinner('disable');\r\n\t\t}\r\n\t\tfunction enable(){\r\n\t\t\t$('#dt').timespinner('enable');\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/timespinner/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic TimeSpinner - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic TimeSpinner</h2>\r\n\t<p>Click spin button to adjust time.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<input class=\"easyui-timespinner\" style=\"width:80px;\">\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/timespinner/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid TimeSpinner - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid TimeSpinner</h2>\r\n\t<p>This example shows how to set the width of TimeSpinner to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<p>width: 50%</p>\r\n\t<input class=\"easyui-timespinner\" style=\"width:50%;\">\r\n\t<p>width: 30%</p>\r\n\t<input class=\"easyui-timespinner\" style=\"width:30%;\">\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/timespinner/range.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Time Range - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Time Range</h2>\r\n\t<p>The time value is constrained in specified range.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<span>From 08:30 to 18:00</span>\r\n\t</div>\r\n\t<input class=\"easyui-timespinner\" data-options=\"min:'08:30',max:'18:00'\" style=\"width:80px;\"></input>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tooltip/_content.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>AJAX Content</title>\r\n</head>\r\n<body>\r\n\t<p style=\"font-size:14px\">Here is the content loaded via AJAX.</p>\r\n\t<ul>\r\n\t\t<li>easyui is a collection of user-interface plugin based on jQuery.</li>\r\n\t\t<li>easyui provides essential functionality for building modern, interactive, javascript applications.</li>\r\n\t\t<li>using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.</li>\r\n\t\t<li>complete framework for HTML5 web page.</li>\r\n\t\t<li>easyui save your time and scales while developing your products.</li>\r\n\t\t<li>easyui is very easy but powerful.</li>\r\n\t</ul>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tooltip/_dialog.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Dialog Content</title>\r\n</head>\r\n<body>\r\n\t<div style=\"padding:5px;\">\r\n\t\t<div style=\"padding:5px 10px\">\r\n\t\t\t<div>User Name:</div>\r\n\t\t\t<input style=\"width:160px\">\r\n\t\t</div>\r\n\t\t<div style=\"padding:5px 10px\">\r\n\t\t\t<div>Password:</div>\r\n\t\t\t<input type=\"password\" style=\"width:160px\">\r\n\t\t</div>\r\n\t\t<div style=\"padding:5px 10px;text-align:center\">\r\n\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\">Login</a>\r\n\t\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\">Cancel</a>\r\n\t\t</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tooltip/ajax.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Ajax Tooltip - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Ajax Tooltip</h2>\r\n\t<p>The tooltip content can be loaded via AJAX.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<a href=\"#\" class=\"easyui-tooltip\" data-options=\"\r\n\t\t\tcontent: $('<div></div>'),\r\n\t\t\tonShow: function(){\r\n\t\t\t\t$(this).tooltip('arrow').css('left', 20);\r\n\t\t\t\t$(this).tooltip('tip').css('left', $(this).offset().left);\r\n\t\t\t},\r\n\t\t\tonUpdate: function(cc){\r\n\t\t\t\tcc.panel({\r\n\t\t\t\t\twidth: 500,\r\n\t\t\t\t\theight: 'auto',\r\n\t\t\t\t\tborder: false,\r\n\t\t\t\t\thref: '_content.html'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\">Hove me</a> to display tooltip content via AJAX.\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tooltip/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Tooltip - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Tooltip</h2>\r\n\t<p>Hover the links to display tooltip message.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<p>The tooltip can use each elements title attribute.\r\n\t<a href=\"#\" title=\"This is the tooltip message.\" class=\"easyui-tooltip\">Hover me</a> to display tooltip.\r\n\t</p>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tooltip/customcontent.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Custom Tooltip Content - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Custom Tooltip Content</h2>\r\n\t<p>Access to each elements attribute to get the tooltip content.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\">\r\n\t\t<div id=\"pg\" data-options=\"total:114\"></div>\r\n\t</div>\r\n\t\r\n\t<script>\r\n\t\t$(function(){\r\n\t\t\t$('#pg').pagination().find('a.l-btn').tooltip({\r\n\t\t\t\tcontent: function(){\r\n\t\t\t\t\tvar cc = $(this).find('span.l-btn-icon').attr('class').split(' ');\r\n\t\t\t\t\tvar icon = cc[1].split('-')[1];\r\n\t\t\t\t\treturn icon + ' page';\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tooltip/customstyle.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Custom Tooltip Style - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Custom Tooltip Style</h2>\r\n\t<p>This sample shows how to change the tooltip style.</p>\r\n\t<div style=\"margin:s0px 0;\"></div>\r\n\t<div style=\"padding:10px 200px\">\r\n\t\t<div id=\"pp1\" class=\"easyui-panel\" style=\"width:100px;padding:5px\">Hover Me</div>\r\n\t</div>\r\n\t<div style=\"padding:10px 200px\">\r\n\t\t<div id=\"pp2\" class=\"easyui-panel\" style=\"width:100px;padding:5px\">Hover Me</div>\r\n\t</div>\r\n\t<script>\r\n\t\t$(function(){\r\n\t\t\t$('#pp1').tooltip({\r\n\t\t\t\tposition: 'right',\r\n\t\t\t\tcontent: '<span style=\"color:#fff\">This is the tooltip message.</span>',\r\n\t\t\t\tonShow: function(){\r\n\t\t\t\t\t$(this).tooltip('tip').css({\r\n\t\t\t\t\t\tbackgroundColor: '#666',\r\n\t\t\t\t\t\tborderColor: '#666'\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t$('#pp2').tooltip({\r\n\t\t\t\tposition: 'bottom',\r\n\t\t\t\tcontent: '<div style=\"padding:5px;background:#eee;color:#000\">This is the tooltip message.</div>',\r\n\t\t\t\tonShow: function(){\r\n\t\t\t\t\t$(this).tooltip('tip').css({\r\n\t\t\t\t\t\tbackgroundColor: '#fff000',\r\n\t\t\t\t\t\tborderColor: '#ff0000',\r\n\t\t\t\t\t\tboxShadow: '1px 1px 3px #292929'\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\tonPosition: function(){\r\n\t\t\t\t\t$(this).tooltip('tip').css('left', $(this).offset().left);\r\n\t\t\t\t\t$(this).tooltip('arrow').css('left', 20);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tooltip/position.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Tooltip Position - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Tooltip Position</h2>\r\n\t<p>Click the drop-down list below to change where the tooltip appears.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<span>Select position:</span>\r\n\t<select onchange=\"changePosition(this.value)\">\r\n\t\t<option value=\"bottom\">Bottom</option>\r\n\t\t<option value=\"top\">Top</option>\r\n\t\t<option value=\"left\">Left</option>\r\n\t\t<option value=\"right\">Right</option>\r\n\t</select>\r\n\t<div style=\"padding:10px 200px\">\r\n\t<div id=\"pp\" class=\"easyui-panel easyui-tooltip\" title=\"This is the tooltip message.\" style=\"width:100px;padding:5px\">Hover Me</div>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction changePosition(pos){\r\n\t\t\t$('#pp').tooltip({\r\n\t\t\t\tposition: pos\r\n\t\t\t});\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tooltip/toolbar.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Tooltip as Toolbar - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Tooltip as Toolbar</h2>\r\n\t<p>This sample shows how to create a tooltip style toolbar.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div style=\"padding:10px 200px\">\r\n\t\t<p><a id=\"dd\" href=\"javascript:void(0)\" class=\"easyui-tooltip\" data-options=\"\r\n\t\t\t\t\thideEvent: 'none',\r\n\t\t\t\t\tcontent: function(){\r\n\t\t\t\t\t\treturn $('#toolbar');\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonShow: function(){\r\n\t\t\t\t\t\tvar t = $(this);\r\n\t\t\t\t\t\tt.tooltip('tip').focus().unbind().bind('blur',function(){\r\n\t\t\t\t\t\t\tt.tooltip('hide');\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\">Hover me</a> to display toolbar.</p>\r\n\t</div>\r\n\t<div style=\"display:none\">\r\n\t\t<div id=\"toolbar\">\r\n\t\t\t<a href=\"#\" class=\"easyui-linkbutton easyui-tooltip\" title=\"Add\" data-options=\"iconCls:'icon-add',plain:true\"></a>\r\n\t\t\t<a href=\"#\" class=\"easyui-linkbutton easyui-tooltip\" title=\"Cut\" data-options=\"iconCls:'icon-cut',plain:true\"></a>\r\n\t\t\t<a href=\"#\" class=\"easyui-linkbutton easyui-tooltip\" title=\"Remove\" data-options=\"iconCls:'icon-remove',plain:true\"></a>\r\n\t\t\t<a href=\"#\" class=\"easyui-linkbutton easyui-tooltip\" title=\"Undo\" data-options=\"iconCls:'icon-undo',plain:true\"></a>\r\n\t\t\t<a href=\"#\" class=\"easyui-linkbutton easyui-tooltip\" title=\"Redo\" data-options=\"iconCls:'icon-redo',plain:true\"></a>\r\n\t\t</div>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tooltip/tooltipdialog.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Tooltip Dialog - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Tooltip Dialog</h2>\r\n\t<p>This sample shows how to create a tooltip dialog.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div style=\"padding:10px 200px\">\r\n\t\t<p><a id=\"dd\" href=\"javascript:void(0)\">Click here</a> to see the tooltip dialog.\r\n\t</div>\r\n\t<script>\r\n\t\t$(function(){\r\n\t\t\t$('#dd').tooltip({\r\n\t\t\t\tcontent: $('<div></div>'),\r\n\t\t\t\tshowEvent: 'click',\r\n\t\t\t\tonUpdate: function(content){\r\n\t\t\t\t\tcontent.panel({\r\n\t\t\t\t\t\twidth: 200,\r\n\t\t\t\t\t\tborder: false,\r\n\t\t\t\t\t\ttitle: 'Login',\r\n\t\t\t\t\t\thref: '_dialog.html'\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\tonShow: function(){\r\n\t\t\t\t\tvar t = $(this);\r\n\t\t\t\t\tt.tooltip('tip').unbind().bind('mouseenter', function(){\r\n\t\t\t\t\t\tt.tooltip('show');\r\n\t\t\t\t\t}).bind('mouseleave', function(){\r\n\t\t\t\t\t\tt.tooltip('hide');\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tree/actions.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Tree Actions - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Tree Actions</h2>\r\n\t<p>Click the buttons below to perform actions.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"collapseAll()\">CollapseAll</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"expandAll()\">ExpandAll</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"expandTo()\">ExpandTo</a>\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"getSelected()\">GetSelected</a>\r\n\t</div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px\">\r\n\t\t<ul id=\"tt\" class=\"easyui-tree\" data-options=\"url:'tree_data1.json',method:'get',animate:true\"></ul>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction collapseAll(){\r\n\t\t\t$('#tt').tree('collapseAll');\r\n\t\t}\r\n\t\tfunction expandAll(){\r\n\t\t\t$('#tt').tree('expandAll');\r\n\t\t}\r\n\t\tfunction expandTo(){\r\n\t\t\tvar node = $('#tt').tree('find',113);\r\n\t\t\t$('#tt').tree('expandTo', node.target).tree('select', node.target);\r\n\t\t}\r\n\t\tfunction getSelected(){\r\n\t\t\tvar node = $('#tt').tree('getSelected');\r\n\t\t\tif (node){\r\n\t\t\t\tvar s = node.text;\r\n\t\t\t\tif (node.attributes){\r\n\t\t\t\t\ts += \",\"+node.attributes.p1+\",\"+node.attributes.p2;\r\n\t\t\t\t}\r\n\t\t\t\talert(s);\r\n\t\t\t}\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tree/animation.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Animation Tree - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Animation Tree</h2>\r\n\t<p>Apply 'animate' property to true to enable animation effect.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px\">\r\n\t\t<ul class=\"easyui-tree\" data-options=\"url:'tree_data1.json',method:'get',animate:true\"></ul>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tree/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Tree - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Tree</h2>\r\n\t<p>Click the arrow on the left to expand or collapse nodes.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px\">\r\n\t\t<ul class=\"easyui-tree\">\r\n\t\t\t<li>\r\n\t\t\t\t<span>My Documents</span>\r\n\t\t\t\t<ul>\r\n\t\t\t\t\t<li data-options=\"state:'closed'\">\r\n\t\t\t\t\t\t<span>Photos</span>\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t\t<span>Friend</span>\r\n\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t\t<span>Wife</span>\r\n\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t\t<span>Company</span>\r\n\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t</li>\r\n\t\t\t\t\t<li>\r\n\t\t\t\t\t\t<span>Program Files</span>\r\n\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t<li>Intel</li>\r\n\t\t\t\t\t\t\t<li>Java</li>\r\n\t\t\t\t\t\t\t<li>Microsoft Office</li>\r\n\t\t\t\t\t\t\t<li>Games</li>\r\n\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t</li>\r\n\t\t\t\t\t<li>index.html</li>\r\n\t\t\t\t\t<li>about.html</li>\r\n\t\t\t\t\t<li>welcome.html</li>\r\n\t\t\t\t</ul>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tree/checkbox.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>CheckBox Tree - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>CheckBox Tree</h2>\r\n\t<p>Tree nodes with check boxes.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"#\" class=\"easyui-linkbutton\" onclick=\"getChecked()\">GetChecked</a> \r\n\t</div>\r\n\t<div style=\"margin:10px 0\">\r\n\t\t<input type=\"checkbox\" checked onchange=\"$('#tt').tree({cascadeCheck:$(this).is(':checked')})\">CascadeCheck \r\n\t\t<input type=\"checkbox\" onchange=\"$('#tt').tree({onlyLeafCheck:$(this).is(':checked')})\">OnlyLeafCheck\r\n\t</div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px\">\r\n\t\t<ul id=\"tt\" class=\"easyui-tree\" data-options=\"url:'tree_data1.json',method:'get',animate:true,checkbox:true\"></ul>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction getChecked(){\r\n\t\t\tvar nodes = $('#tt').tree('getChecked');\r\n\t\t\tvar s = '';\r\n\t\t\tfor(var i=0; i<nodes.length; i++){\r\n\t\t\t\tif (s != '') s += ',';\r\n\t\t\t\ts += nodes[i].text;\r\n\t\t\t}\r\n\t\t\talert(s);\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tree/contextmenu.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Tree Context Menu - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Tree Context Menu</h2>\r\n\t<p>Right click on a node to display context menu.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px\">\r\n\t\t<ul id=\"tt\" class=\"easyui-tree\" data-options=\"\r\n\t\t\t\turl: 'tree_data1.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tanimate: true,\r\n\t\t\t\tonContextMenu: function(e,node){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t$(this).tree('select',node.target);\r\n\t\t\t\t\t$('#mm').menu('show',{\r\n\t\t\t\t\t\tleft: e.pageX,\r\n\t\t\t\t\t\ttop: e.pageY\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\"></ul>\r\n\t</div>\r\n\t<div id=\"mm\" class=\"easyui-menu\" style=\"width:120px;\">\r\n\t\t<div onclick=\"append()\" data-options=\"iconCls:'icon-add'\">Append</div>\r\n\t\t<div onclick=\"removeit()\" data-options=\"iconCls:'icon-remove'\">Remove</div>\r\n\t\t<div class=\"menu-sep\"></div>\r\n\t\t<div onclick=\"expand()\">Expand</div>\r\n\t\t<div onclick=\"collapse()\">Collapse</div>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction append(){\r\n\t\t\tvar t = $('#tt');\r\n\t\t\tvar node = t.tree('getSelected');\r\n\t\t\tt.tree('append', {\r\n\t\t\t\tparent: (node?node.target:null),\r\n\t\t\t\tdata: [{\r\n\t\t\t\t\ttext: 'new item1'\r\n\t\t\t\t},{\r\n\t\t\t\t\ttext: 'new item2'\r\n\t\t\t\t}]\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction removeit(){\r\n\t\t\tvar node = $('#tt').tree('getSelected');\r\n\t\t\t$('#tt').tree('remove', node.target);\r\n\t\t}\r\n\t\tfunction collapse(){\r\n\t\t\tvar node = $('#tt').tree('getSelected');\r\n\t\t\t$('#tt').tree('collapse',node.target);\r\n\t\t}\r\n\t\tfunction expand(){\r\n\t\t\tvar node = $('#tt').tree('getSelected');\r\n\t\t\t$('#tt').tree('expand',node.target);\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tree/dnd.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Drag Drop Tree Nodes - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Drag Drop Tree Nodes</h2>\r\n\t<p>Press mouse down and drag a node to another position.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px\">\r\n\t\t<ul class=\"easyui-tree\" data-options=\"url:'tree_data1.json',method:'get',animate:true,dnd:true\"></ul>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tree/editable.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Editable Tree - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Editable Tree</h2>\r\n\t<p>Click the node to begin edit, press enter key to stop edit or esc key to cancel edit.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px\">\r\n\t\t<ul id=\"tt\" class=\"easyui-tree\" data-options=\"\r\n\t\t\t\turl: 'tree_data1.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tanimate: true,\r\n\t\t\t\tonClick: function(node){\r\n\t\t\t\t\t$(this).tree('beginEdit',node.target);\r\n\t\t\t\t}\r\n\t\t\t\"></ul>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tree/formatting.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Formatting Tree Nodes - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Formatting Tree Nodes</h2>\r\n\t<p>This example shows how to display extra information on nodes.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px\">\r\n\t\t<ul class=\"easyui-tree\" data-options=\"\r\n\t\t\t\t\turl:'tree_data1.json',\r\n\t\t\t\t\tmethod:'get',\r\n\t\t\t\t\tanimate:true,\r\n\t\t\t\t\tformatter:function(node){\r\n\t\t\t\t\t\tvar s = node.text;\r\n\t\t\t\t\t\tif (node.children){\r\n\t\t\t\t\t\t\ts += '&nbsp;<span style=\\'color:blue\\'>(' + node.children.length + ')</span>';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn s;\r\n\t\t\t\t\t}\r\n\t\t\t\t\">\r\n\t\t</ul>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tree/icons.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Tree Node Icons - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Tree Node Icons</h2>\r\n\t<p>This sample illustrates how to add icons to tree node.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px\">\r\n\t\t<ul class=\"easyui-tree\" data-options=\"url:'tree_data2.json',method:'get',animate:true\"></ul>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tree/lazyload.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Lazy Load Tree Nodes - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Lazy Load Tree Nodes</h2>\r\n\t<p>Get full hierarchical tree data but lazy load nodes level by level.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px\">\r\n\t\t<ul class=\"easyui-tree\" data-options=\"url:'tree_data1.json',method:'get',loadFilter:myLoadFilter\"></ul>\r\n\t</div>\r\n\t<script>\r\n\t\tfunction myLoadFilter(data, parent){\r\n\t\t\tvar state = $.data(this, 'tree');\r\n\t\t\t\r\n\t\t    function setData(){\r\n\t\t    \tvar serno = 1;\r\n\t\t        var todo = [];\r\n\t\t        for(var i=0; i<data.length; i++){\r\n\t\t            todo.push(data[i]);\r\n\t\t        }\r\n\t\t        while(todo.length){\r\n\t\t            var node = todo.shift();\r\n\t\t            if (node.id == undefined){\r\n\t\t            \tnode.id = '_node_' + (serno++);\r\n\t\t            }\r\n\t\t            if (node.children){\r\n\t\t                node.state = 'closed';\r\n\t\t                node.children1 = node.children;\r\n\t\t                node.children = undefined;\r\n\t\t                todo = todo.concat(node.children1);\r\n\t\t            }\r\n\t\t        }\r\n\t\t        state.tdata = data;\r\n\t\t    }\r\n\t\t    function find(id){\r\n\t\t    \tvar data = state.tdata;\r\n\t\t    \tvar cc = [data];\r\n\t\t    \twhile(cc.length){\r\n\t\t    \t\tvar c = cc.shift();\r\n\t\t    \t\tfor(var i=0; i<c.length; i++){\r\n\t\t    \t\t\tvar node = c[i];\r\n\t\t    \t\t\tif (node.id == id){\r\n\t\t    \t\t\t\treturn node;\r\n\t\t    \t\t\t} else if (node.children1){\r\n\t\t    \t\t\t\tcc.push(node.children1);\r\n\t\t    \t\t\t}\r\n\t\t    \t\t}\r\n\t\t    \t}\r\n\t\t    \treturn null;\r\n\t\t    }\r\n\t\t    \r\n\t\t    setData();\r\n\t\t    \r\n\t\t    var t = $(this);\r\n\t\t    var opts = t.tree('options');\r\n\t\t    opts.onBeforeExpand = function(node){\r\n\t    \t\tvar n = find(node.id);\r\n\t    \t\tif (n.children && n.children.length){return}\r\n\t\t    \tif (n.children1){\r\n\t\t    \t\tvar filter = opts.loadFilter;\r\n\t\t    \t\topts.loadFilter = function(data){return data;};\r\n\t\t    \t\tt.tree('append',{\r\n\t\t    \t\t\tparent:node.target,\r\n\t\t    \t\t\tdata:n.children1\r\n\t\t    \t\t});\r\n\t\t    \t\topts.loadFilter = filter;\r\n\t\t    \t\tn.children = n.children1;\r\n\t\t    \t}\r\n\t\t    };\r\n\t\t\treturn data;\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tree/lines.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Tree Lines - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Tree Lines</h2>\r\n\t<p>This sample shows how to show tree lines.</p>\r\n\t<div style=\"margin:10px 0;\"></div>\r\n\t<div class=\"easyui-panel\" style=\"padding:5px\">\r\n\t\t<ul class=\"easyui-tree\" data-options=\"url:'tree_data1.json',method:'get',animate:true,lines:true\"></ul>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tree/tree_data1.json",
    "content": "[{\r\n\t\"id\":1,\r\n\t\"text\":\"My Documents\",\r\n\t\"children\":[{\r\n\t\t\"id\":11,\r\n\t\t\"text\":\"Photos\",\r\n\t\t\"state\":\"closed\",\r\n\t\t\"children\":[{\r\n\t\t\t\"id\":111,\r\n\t\t\t\"text\":\"Friend\"\r\n\t\t},{\r\n\t\t\t\"id\":112,\r\n\t\t\t\"text\":\"Wife\"\r\n\t\t},{\r\n\t\t\t\"id\":113,\r\n\t\t\t\"text\":\"Company\"\r\n\t\t}]\r\n\t},{\r\n\t\t\"id\":12,\r\n\t\t\"text\":\"Program Files\",\r\n\t\t\"children\":[{\r\n\t\t\t\"id\":121,\r\n\t\t\t\"text\":\"Intel\"\r\n\t\t},{\r\n\t\t\t\"id\":122,\r\n\t\t\t\"text\":\"Java\",\r\n\t\t\t\"attributes\":{\r\n\t\t\t\t\"p1\":\"Custom Attribute1\",\r\n\t\t\t\t\"p2\":\"Custom Attribute2\"\r\n\t\t\t}\r\n\t\t},{\r\n\t\t\t\"id\":123,\r\n\t\t\t\"text\":\"Microsoft Office\"\r\n\t\t},{\r\n\t\t\t\"id\":124,\r\n\t\t\t\"text\":\"Games\",\r\n\t\t\t\"checked\":true\r\n\t\t}]\r\n\t},{\r\n\t\t\"id\":13,\r\n\t\t\"text\":\"index.html\"\r\n\t},{\r\n\t\t\"id\":14,\r\n\t\t\"text\":\"about.html\"\r\n\t},{\r\n\t\t\"id\":15,\r\n\t\t\"text\":\"welcome.html\"\r\n\t}]\r\n}]\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/tree/tree_data2.json",
    "content": "[{\r\n\t\"id\":1,\r\n\t\"text\":\"My Documents\",\r\n\t\"children\":[{\r\n\t\t\"id\":11,\r\n\t\t\"text\":\"Photos\",\r\n\t\t\"state\":\"closed\",\r\n\t\t\"children\":[{\r\n\t\t\t\"id\":111,\r\n\t\t\t\"text\":\"Friend\"\r\n\t\t},{\r\n\t\t\t\"id\":112,\r\n\t\t\t\"text\":\"Wife\"\r\n\t\t},{\r\n\t\t\t\"id\":113,\r\n\t\t\t\"text\":\"Company\"\r\n\t\t}]\r\n\t},{\r\n\t\t\"id\":12,\r\n\t\t\"text\":\"Program Files\",\r\n\t\t\"state\":\"closed\",\r\n\t\t\"children\":[{\r\n\t\t\t\"id\":121,\r\n\t\t\t\"text\":\"Intel\"\r\n\t\t},{\r\n\t\t\t\"id\":122,\r\n\t\t\t\"text\":\"Java\"\r\n\t\t},{\r\n\t\t\t\"id\":123,\r\n\t\t\t\"text\":\"Microsoft Office\"\r\n\t\t},{\r\n\t\t\t\"id\":124,\r\n\t\t\t\"text\":\"Games\"\r\n\t\t}]\r\n\t},{\r\n\t\t\"id\":16,\r\n\t\t\"text\":\"Actions\",\r\n\t\t\"children\":[{\r\n\t\t\t\"text\":\"Add\",\r\n\t\t\t\"iconCls\":\"icon-add\"\r\n\t\t},{\r\n\t\t\t\"text\":\"Remove\",\r\n\t\t\t\"iconCls\":\"icon-remove\"\r\n\t\t},{\r\n\t\t\t\"text\":\"Save\",\r\n\t\t\t\"iconCls\":\"icon-save\"\r\n\t\t},{\r\n\t\t\t\"text\":\"Search\",\r\n\t\t\t\"iconCls\":\"icon-search\"\r\n\t\t}]\r\n\t},{\r\n\t\t\"id\":13,\r\n\t\t\"text\":\"index.html\"\r\n\t},{\r\n\t\t\"id\":14,\r\n\t\t\"text\":\"about.html\"\r\n\t},{\r\n\t\t\"id\":15,\r\n\t\t\"text\":\"welcome.html\"\r\n\t}]\r\n}]\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/treegrid/actions.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>TreeGrid Actions - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>TreeGrid Actions</h2>\r\n\t<p>Click the buttons below to perform actions.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"collapseAll()\">CollapseAll</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"expandAll()\">ExpandAll</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"expandTo()\">ExpandTo</a>\r\n\t</div>\r\n\t<table id=\"tg\" class=\"easyui-treegrid\" title=\"TreeGrid Actions\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\ticonCls: 'icon-ok',\r\n\t\t\t\trownumbers: true,\r\n\t\t\t\tanimate: true,\r\n\t\t\t\tcollapsible: true,\r\n\t\t\t\tfitColumns: true,\r\n\t\t\t\turl: 'treegrid_data2.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tidField: 'id',\r\n\t\t\t\ttreeField: 'name'\r\n\t\t\t\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'name',width:180\">Task Name</th>\r\n\t\t\t\t<th data-options=\"field:'persons',width:60,align:'right'\">Persons</th>\r\n\t\t\t\t<th data-options=\"field:'begin',width:80\">Begin Date</th>\r\n\t\t\t\t<th data-options=\"field:'end',width:80\">End Date</th>\r\n\t\t\t\t<th data-options=\"field:'progress',width:120,formatter:formatProgress\">Progress</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction formatProgress(value){\r\n\t    \tif (value){\r\n\t\t    \tvar s = '<div style=\"width:100%;border:1px solid #ccc\">' +\r\n\t\t    \t\t\t'<div style=\"width:' + value + '%;background:#cc0000;color:#fff\">' + value + '%' + '</div>'\r\n\t\t    \t\t\t'</div>';\r\n\t\t    \treturn s;\r\n\t    \t} else {\r\n\t\t    \treturn '';\r\n\t    \t}\r\n\t\t}\r\n\t\tfunction collapseAll(){\r\n\t\t\t$('#tg').treegrid('collapseAll');\r\n\t\t}\r\n\t\tfunction expandAll(){\r\n\t\t\t$('#tg').treegrid('expandAll');\r\n\t\t}\r\n\t\tfunction expandTo(){\r\n\t\t\t$('#tg').treegrid('expandTo',21).treegrid('select',21);\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/treegrid/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic TreeGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic TreeGrid</h2>\r\n\t<p>TreeGrid allows you to expand or collapse group rows.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table title=\"Folder Browser\" class=\"easyui-treegrid\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\turl: 'treegrid_data1.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\trownumbers: true,\r\n\t\t\t\tidField: 'id',\r\n\t\t\t\ttreeField: 'name'\r\n\t\t\t\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'name'\" width=\"220\">Name</th>\r\n\t\t\t\t<th data-options=\"field:'size'\" width=\"100\" align=\"right\">Size</th>\r\n\t\t\t\t<th data-options=\"field:'date'\" width=\"150\">Modified Date</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/treegrid/clientpagination.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Client Side Pagination in TreeGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Client Side Pagination in TreeGrid</h2>\r\n\t<p>This sample shows how to implement client side pagination in TreeGrid.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table id=\"tg\" title=\"Client Side Pagination\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\ticonCls: 'icon-ok',\r\n\t\t\t\trownumbers: true,\r\n\t\t\t\tanimate: true,\r\n\t\t\t\tcollapsible: true,\r\n\t\t\t\tfitColumns: true,\r\n\t\t\t\turl: 'treegrid_data2.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tidField: 'id',\r\n\t\t\t\ttreeField: 'name',\r\n\t\t\t\tpagination: true,\r\n\t\t\t\tpageSize: 2,\r\n\t\t\t\tpageList: [2,5,10]\r\n\t\t\t\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'name',width:180\">Task Name</th>\r\n\t\t\t\t<th data-options=\"field:'persons',width:60,align:'right'\">Persons</th>\r\n\t\t\t\t<th data-options=\"field:'begin',width:80\">Begin Date</th>\r\n\t\t\t\t<th data-options=\"field:'end',width:80\">End Date</th>\r\n\t\t\t\t<th data-options=\"field:'progress',width:120,formatter:formatProgress\">Progress</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\t<script type=\"text/javascript\">\r\n\t\t(function($){\r\n\t\t\tfunction pagerFilter(data){\r\n\t\t        if ($.isArray(data)){    // is array  \r\n\t\t            data = {  \r\n\t\t                total: data.length,  \r\n\t\t                rows: data  \r\n\t\t            }  \r\n\t\t        }\r\n\t\t        var dg = $(this);  \r\n\t\t\t\tvar state = dg.data('treegrid');\r\n\t\t        var opts = dg.treegrid('options');  \r\n\t\t        var pager = dg.treegrid('getPager');  \r\n\t\t        pager.pagination({  \r\n\t\t            onSelectPage:function(pageNum, pageSize){  \r\n\t\t                opts.pageNumber = pageNum;  \r\n\t\t                opts.pageSize = pageSize;  \r\n\t\t                pager.pagination('refresh',{  \r\n\t\t                    pageNumber:pageNum,  \r\n\t\t                    pageSize:pageSize  \r\n\t\t                });  \r\n\t\t                dg.treegrid('loadData',state.originalRows);  \r\n\t\t            }  \r\n\t\t        });  \r\n\t\t        if (!state.originalRows){\r\n\t\t        \tstate.originalRows = data.rows;\r\n\t\t        }\r\n\t\t        var topRows = [];\r\n\t\t        var childRows = [];\r\n\t\t        $.map(state.originalRows, function(row){\r\n\t\t        \trow._parentId ? childRows.push(row) : topRows.push(row);\r\n\t\t        });\r\n\t\t        data.total = topRows.length;\r\n\t\t        var start = (opts.pageNumber-1)*parseInt(opts.pageSize);  \r\n\t\t        var end = start + parseInt(opts.pageSize);  \r\n\t\t\t\tdata.rows = $.extend(true,[],topRows.slice(start, end).concat(childRows));\r\n\t\t\t\treturn data;\r\n\t\t\t}\r\n\r\n\t\t\tvar appendMethod = $.fn.treegrid.methods.append;\r\n\t\t\tvar loadDataMethod = $.fn.treegrid.methods.loadData;\r\n\t\t\t$.extend($.fn.treegrid.methods, {\r\n\t\t\t\tclientPaging: function(jq){\r\n\t\t\t\t\treturn jq.each(function(){\r\n\t\t\t\t\t\tvar state = $(this).data('treegrid');\r\n\t\t\t\t\t\tvar opts = state.options;\r\n\t\t\t\t\t\topts.loadFilter = pagerFilter;\r\n\t\t\t\t\t\tvar onBeforeLoad = opts.onBeforeLoad;\r\n\t\t\t\t\t\topts.onBeforeLoad = function(row,param){\r\n\t\t\t\t\t\t\tstate.originalRows = null;\r\n\t\t\t\t\t\t\tonBeforeLoad.call(this, row, param);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$(this).treegrid('loadData', state.data);\r\n\t\t\t\t\t\t$(this).treegrid('reload');\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\tloadData: function(jq, data){\r\n\t\t\t\t\tjq.each(function(){\r\n\t\t\t\t\t\t$(this).data('treegrid').originalRows = null;\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn loadDataMethod.call($.fn.treegrid.methods, jq, data);\r\n\t\t\t\t},\r\n\t\t\t\tappend: function(jq, param){\r\n\t\t\t\t\treturn jq.each(function(){\r\n\t\t\t\t\t\tvar state = $(this).data('treegrid');\r\n\t\t\t\t\t\tif (state.options.loadFilter == pagerFilter){\r\n\t\t\t\t\t\t\t$.map(param.data, function(row){\r\n\t\t\t\t\t\t\t\trow._parentId = row._parentId || param.parent;\r\n\t\t\t\t\t\t\t\tstate.originalRows.push(row);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t$(this).treegrid('loadData', state.originalRows);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tappendMethod.call($.fn.treegrid.methods, jq, param);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t})(jQuery);\r\n\r\n\t\tfunction formatProgress(value){\r\n\t    \tif (value){\r\n\t\t    \tvar s = '<div style=\"width:100%;border:1px solid #ccc\">' +\r\n\t\t    \t\t\t'<div style=\"width:' + value + '%;background:#cc0000;color:#fff\">' + value + '%' + '</div>'\r\n\t\t    \t\t\t'</div>';\r\n\t\t    \treturn s;\r\n\t    \t} else {\r\n\t\t    \treturn '';\r\n\t    \t}\r\n\t\t}\r\n\t\t\r\n\t\t$(function(){\r\n\t\t\t$('#tg').treegrid().treegrid('clientPaging');\r\n\t\t})\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/treegrid/contextmenu.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>TreeGrid ContextMenu - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>TreeGrid ContextMenu</h2>\r\n\t<p>Right click to display the context menu.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table id=\"tg\" class=\"easyui-treegrid\" title=\"TreeGrid ContextMenu\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\ticonCls: 'icon-ok',\r\n\t\t\t\trownumbers: true,\r\n\t\t\t\tanimate: true,\r\n\t\t\t\tcollapsible: true,\r\n\t\t\t\tfitColumns: true,\r\n\t\t\t\turl: 'treegrid_data2.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tidField: 'id',\r\n\t\t\t\ttreeField: 'name',\r\n\t\t\t\tonContextMenu: onContextMenu\r\n\t\t\t\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'name',width:180\">Task Name</th>\r\n\t\t\t\t<th data-options=\"field:'persons',width:60,align:'right'\">Persons</th>\r\n\t\t\t\t<th data-options=\"field:'begin',width:80\">Begin Date</th>\r\n\t\t\t\t<th data-options=\"field:'end',width:80\">End Date</th>\r\n\t\t\t\t<th data-options=\"field:'progress',width:120,formatter:formatProgress\">Progress</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\t<div id=\"mm\" class=\"easyui-menu\" style=\"width:120px;\">\r\n\t\t<div onclick=\"append()\" data-options=\"iconCls:'icon-add'\">Append</div>\r\n\t\t<div onclick=\"removeIt()\" data-options=\"iconCls:'icon-remove'\">Remove</div>\r\n\t\t<div class=\"menu-sep\"></div>\r\n\t\t<div onclick=\"collapse()\">Collapse</div>\r\n\t\t<div onclick=\"expand()\">Expand</div>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction formatProgress(value){\r\n\t    \tif (value){\r\n\t\t    \tvar s = '<div style=\"width:100%;border:1px solid #ccc\">' +\r\n\t\t    \t\t\t'<div style=\"width:' + value + '%;background:#cc0000;color:#fff\">' + value + '%' + '</div>'\r\n\t\t    \t\t\t'</div>';\r\n\t\t    \treturn s;\r\n\t    \t} else {\r\n\t\t    \treturn '';\r\n\t    \t}\r\n\t\t}\r\n\t\tfunction onContextMenu(e,row){\r\n\t\t\te.preventDefault();\r\n\t\t\t$(this).treegrid('select', row.id);\r\n\t\t\t$('#mm').menu('show',{\r\n\t\t\t\tleft: e.pageX,\r\n\t\t\t\ttop: e.pageY\r\n\t\t\t});\r\n\t\t}\r\n\t\tvar idIndex = 100;\r\n\t\tfunction append(){\r\n\t\t\tidIndex++;\r\n\t\t\tvar d1 = new Date();\r\n\t\t\tvar d2 = new Date();\r\n\t\t\td2.setMonth(d2.getMonth()+1);\r\n\t\t\tvar node = $('#tg').treegrid('getSelected');\r\n\t\t\t$('#tg').treegrid('append',{\r\n\t\t\t\tparent: node.id,\r\n\t\t\t\tdata: [{\r\n\t\t\t\t\tid: idIndex,\r\n\t\t\t\t\tname: 'New Task'+idIndex,\r\n\t\t\t\t\tpersons: parseInt(Math.random()*10),\r\n\t\t\t\t\tbegin: $.fn.datebox.defaults.formatter(d1),\r\n\t\t\t\t\tend: $.fn.datebox.defaults.formatter(d2),\r\n\t\t\t\t\tprogress: parseInt(Math.random()*100)\r\n\t\t\t\t}]\r\n\t\t\t})\r\n\t\t}\r\n\t\tfunction removeIt(){\r\n\t\t\tvar node = $('#tg').treegrid('getSelected');\r\n\t\t\tif (node){\r\n\t\t\t\t$('#tg').treegrid('remove', node.id);\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction collapse(){\r\n\t\t\tvar node = $('#tg').treegrid('getSelected');\r\n\t\t\tif (node){\r\n\t\t\t\t$('#tg').treegrid('collapse', node.id);\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction expand(){\r\n\t\t\tvar node = $('#tg').treegrid('getSelected');\r\n\t\t\tif (node){\r\n\t\t\t\t$('#tg').treegrid('expand', node.id);\r\n\t\t\t}\r\n\t\t}\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/treegrid/editable.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Editable TreeGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Editable TreeGrid</h2>\r\n\t<p>Select one node and click edit button to perform editing.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"edit()\">Edit</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"save()\">Save</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"cancel()\">Cancel</a>\r\n\t</div>\r\n\t<table id=\"tg\" class=\"easyui-treegrid\" title=\"Editable TreeGrid\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\ticonCls: 'icon-ok',\r\n\t\t\t\trownumbers: true,\r\n\t\t\t\tanimate: true,\r\n\t\t\t\tcollapsible: true,\r\n\t\t\t\tfitColumns: true,\r\n\t\t\t\turl: 'treegrid_data2.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tidField: 'id',\r\n\t\t\t\ttreeField: 'name',\r\n\t\t\t\tshowFooter: true\r\n\t\t\t\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'name',width:180,editor:'text'\">Task Name</th>\r\n\t\t\t\t<th data-options=\"field:'persons',width:60,align:'right',editor:'numberbox'\">Persons</th>\r\n\t\t\t\t<th data-options=\"field:'begin',width:80,editor:'datebox'\">Begin Date</th>\r\n\t\t\t\t<th data-options=\"field:'end',width:80,editor:'datebox'\">End Date</th>\r\n\t\t\t\t<th data-options=\"field:'progress',width:120,formatter:formatProgress,editor:'numberbox'\">Progress</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction formatProgress(value){\r\n\t    \tif (value){\r\n\t\t    \tvar s = '<div style=\"width:100%;border:1px solid #ccc\">' +\r\n\t\t    \t\t\t'<div style=\"width:' + value + '%;background:#cc0000;color:#fff\">' + value + '%' + '</div>'\r\n\t\t    \t\t\t'</div>';\r\n\t\t    \treturn s;\r\n\t    \t} else {\r\n\t\t    \treturn '';\r\n\t    \t}\r\n\t\t}\r\n\t\tvar editingId;\r\n\t\tfunction edit(){\r\n\t\t\tif (editingId != undefined){\r\n\t\t\t\t$('#tg').treegrid('select', editingId);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar row = $('#tg').treegrid('getSelected');\r\n\t\t\tif (row){\r\n\t\t\t\teditingId = row.id\r\n\t\t\t\t$('#tg').treegrid('beginEdit', editingId);\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction save(){\r\n\t\t\tif (editingId != undefined){\r\n\t\t\t\tvar t = $('#tg');\r\n\t\t\t\tt.treegrid('endEdit', editingId);\r\n\t\t\t\teditingId = undefined;\r\n\t\t\t\tvar persons = 0;\r\n\t\t\t\tvar rows = t.treegrid('getChildren');\r\n\t\t\t\tfor(var i=0; i<rows.length; i++){\r\n\t\t\t\t\tvar p = parseInt(rows[i].persons);\r\n\t\t\t\t\tif (!isNaN(p)){\r\n\t\t\t\t\t\tpersons += p;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tvar frow = t.treegrid('getFooterRows')[0];\r\n\t\t\t\tfrow.persons = persons;\r\n\t\t\t\tt.treegrid('reloadFooter');\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction cancel(){\r\n\t\t\tif (editingId != undefined){\r\n\t\t\t\t$('#tg').treegrid('cancelEdit', editingId);\r\n\t\t\t\teditingId = undefined;\r\n\t\t\t}\r\n\t\t}\r\n\t</script>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/treegrid/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid TreeGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid TreeGrid</h2>\r\n\t<p>This example shows how to assign percentage width to a column in TreeGrid.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table title=\"Fluid Browser\" class=\"easyui-treegrid\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\turl: 'treegrid_data1.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tidField: 'id',\r\n\t\t\t\ttreeField: 'name'\r\n\t\t\t\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'name'\" width=\"50%\">Name(50%)</th>\r\n\t\t\t\t<th data-options=\"field:'size'\" width=\"20%\" align=\"right\">Size(20%)</th>\r\n\t\t\t\t<th data-options=\"field:'date'\" width=\"30%\">Modified Date(30%)</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/treegrid/footer.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>TreeGrid with Footer - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>TreeGrid with Footer</h2>\r\n\t<p>Show summary information on TreeGrid footer.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table id=\"tg\"></table>\r\n\t<script type=\"text/javascript\">\r\n\t\t$(function(){\r\n\t\t\t$('#tg').treegrid({\r\n\t\t\t\ttitle:'TreeGrid with Footer',\r\n\t\t\t\ticonCls:'icon-ok',\r\n\t\t\t\twidth:700,\r\n\t\t\t\theight:250,\r\n\t\t\t\trownumbers: true,\r\n\t\t\t\tanimate:true,\r\n\t\t\t\tcollapsible:true,\r\n\t\t\t\tfitColumns:true,\r\n\t\t\t\turl:'treegrid_data2.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tidField:'id',\r\n\t\t\t\ttreeField:'name',\r\n\t\t\t\tshowFooter:true,\r\n\t\t\t\tcolumns:[[\r\n\t                {title:'Task Name',field:'name',width:180},\r\n\t\t\t\t\t{field:'persons',title:'Persons',width:60,align:'right'},\r\n\t\t\t\t\t{field:'begin',title:'Begin Date',width:80},\r\n\t\t\t\t\t{field:'end',title:'End Date',width:80},\r\n\t\t\t\t\t{field:'progress',title:'Progress',width:120,\r\n\t\t\t\t\t    formatter:function(value){\r\n\t\t\t\t\t    \tif (value){\r\n\t\t\t\t\t\t    \tvar s = '<div style=\"width:100%;border:1px solid #ccc\">' +\r\n\t\t\t\t\t\t    \t\t\t'<div style=\"width:' + value + '%;background:#cc0000;color:#fff\">' + value + '%' + '</div>'\r\n\t\t\t\t\t\t    \t\t\t'</div>';\r\n\t\t\t\t\t\t    \treturn s;\r\n\t\t\t\t\t    \t} else {\r\n\t\t\t\t\t\t    \treturn '';\r\n\t\t\t\t\t    \t}\r\n\t\t\t\t    \t}\r\n\t\t\t\t\t}\r\n\t\t\t\t]]\r\n\t\t\t});\r\n\t\t})\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/treegrid/lines.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>TreeGrid Lines - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>TreeGrid Lines</h2>\r\n\t<p>This example shows how to show treegrid lines.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table title=\"TreeGrid Lines\" class=\"easyui-treegrid\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\turl: 'treegrid_data1.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\tlines: true,\r\n\t\t\t\trownumbers: true,\r\n\t\t\t\tidField: 'id',\r\n\t\t\t\ttreeField: 'name'\r\n\t\t\t\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th data-options=\"field:'name'\" width=\"220\">Name</th>\r\n\t\t\t\t<th data-options=\"field:'size'\" width=\"100\" align=\"right\">Size</th>\r\n\t\t\t\t<th data-options=\"field:'date'\" width=\"150\">Modified Date</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/treegrid/reports.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Reports using TreeGrid - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Reports using TreeGrid</h2>\r\n\t<p>Using TreeGrid to show complex reports.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<table title=\"Reports using TreeGrid\" class=\"easyui-treegrid\" style=\"width:700px;height:250px\"\r\n\t\t\tdata-options=\"\r\n\t\t\t\turl: 'treegrid_data3.json',\r\n\t\t\t\tmethod: 'get',\r\n\t\t\t\trownumbers: true,\r\n\t\t\t\tshowFooter: true,\r\n\t\t\t\tidField: 'id',\r\n\t\t\t\ttreeField: 'region'\r\n\t\t\t\">\r\n\t\t<thead frozen=\"true\">\r\n\t\t\t<tr>\r\n\t\t\t\t<th field=\"region\" width=\"200\">Region</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th colspan=\"4\">2009</th>\r\n\t\t\t\t<th colspan=\"4\">2010</th>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<th field=\"f1\" width=\"60\" align=\"right\">1st qrt.</th>\r\n\t\t\t\t<th field=\"f2\" width=\"60\" align=\"right\">2st qrt.</th>\r\n\t\t\t\t<th field=\"f3\" width=\"60\" align=\"right\">3st qrt.</th>\r\n\t\t\t\t<th field=\"f4\" width=\"60\" align=\"right\">4st qrt.</th>\r\n\t\t\t\t<th field=\"f5\" width=\"60\" align=\"right\">1st qrt.</th>\r\n\t\t\t\t<th field=\"f6\" width=\"60\" align=\"right\">2st qrt.</th>\r\n\t\t\t\t<th field=\"f7\" width=\"60\" align=\"right\">3st qrt.</th>\r\n\t\t\t\t<th field=\"f8\" width=\"60\" align=\"right\">4st qrt.</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t</table>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/treegrid/treegrid_data1.json",
    "content": "[{\r\n\t\"id\":1,\r\n\t\"name\":\"C\",\r\n\t\"size\":\"\",\r\n\t\"date\":\"02/19/2010\",\r\n\t\"children\":[{\r\n\t\t\"id\":2,\r\n\t\t\"name\":\"Program Files\",\r\n\t\t\"size\":\"120 MB\",\r\n\t\t\"date\":\"03/20/2010\",\r\n\t\t\"children\":[{\r\n\t\t\t\"id\":21,\r\n\t\t\t\"name\":\"Java\",\r\n\t\t\t\"size\":\"\",\r\n\t\t\t\"date\":\"01/13/2010\",\r\n\t\t\t\"state\":\"closed\",\r\n\t\t\t\"children\":[{\r\n\t\t\t\t\"id\":211,\r\n\t\t\t\t\"name\":\"java.exe\",\r\n\t\t\t\t\"size\":\"142 KB\",\r\n\t\t\t\t\"date\":\"01/13/2010\"\r\n\t\t\t},{\r\n\t\t\t\t\"id\":212,\r\n\t\t\t\t\"name\":\"jawt.dll\",\r\n\t\t\t\t\"size\":\"5 KB\",\r\n\t\t\t\t\"date\":\"01/13/2010\"\r\n\t\t\t}]\r\n\t\t},{\r\n\t\t\t\"id\":22,\r\n\t\t\t\"name\":\"MySQL\",\r\n\t\t\t\"size\":\"\",\r\n\t\t\t\"date\":\"01/13/2010\",\r\n\t\t\t\"state\":\"closed\",\r\n\t\t\t\"children\":[{\r\n\t\t\t\t\"id\":221,\r\n\t\t\t\t\"name\":\"my.ini\",\r\n\t\t\t\t\"size\":\"10 KB\",\r\n\t\t\t\t\"date\":\"02/26/2009\"\r\n\t\t\t},{\r\n\t\t\t\t\"id\":222,\r\n\t\t\t\t\"name\":\"my-huge.ini\",\r\n\t\t\t\t\"size\":\"5 KB\",\r\n\t\t\t\t\"date\":\"02/26/2009\"\r\n\t\t\t},{\r\n\t\t\t\t\"id\":223,\r\n\t\t\t\t\"name\":\"my-large.ini\",\r\n\t\t\t\t\"size\":\"5 KB\",\r\n\t\t\t\t\"date\":\"02/26/2009\"\r\n\t\t\t}]\r\n\t\t}]\r\n\t},{\r\n\t\t\"id\":3,\r\n\t\t\"name\":\"eclipse\",\r\n\t\t\"size\":\"\",\r\n\t\t\"date\":\"01/20/2010\",\r\n\t\t\"children\":[{\r\n\t\t\t\"id\":31,\r\n\t\t\t\"name\":\"eclipse.exe\",\r\n\t\t\t\"size\":\"56 KB\",\r\n\t\t\t\"date\":\"05/19/2009\"\r\n\t\t},{\r\n\t\t\t\"id\":32,\r\n\t\t\t\"name\":\"eclipse.ini\",\r\n\t\t\t\"size\":\"1 KB\",\r\n\t\t\t\"date\":\"04/20/2010\"\r\n\t\t},{\r\n\t\t\t\"id\":33,\r\n\t\t\t\"name\":\"notice.html\",\r\n\t\t\t\"size\":\"7 KB\",\r\n\t\t\t\"date\":\"03/17/2005\"\r\n\t\t}]\r\n\t}]\r\n}]"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/treegrid/treegrid_data2.json",
    "content": "{\"total\":7,\"rows\":[\r\n\t{\"id\":1,\"name\":\"All Tasks\",\"begin\":\"3/4/2010\",\"end\":\"3/20/2010\",\"progress\":60,\"iconCls\":\"icon-ok\"},\r\n\t{\"id\":2,\"name\":\"Designing\",\"begin\":\"3/4/2010\",\"end\":\"3/10/2010\",\"progress\":100,\"_parentId\":1,\"state\":\"closed\"},\r\n\t{\"id\":21,\"name\":\"Database\",\"persons\":2,\"begin\":\"3/4/2010\",\"end\":\"3/6/2010\",\"progress\":100,\"_parentId\":2},\r\n\t{\"id\":22,\"name\":\"UML\",\"persons\":1,\"begin\":\"3/7/2010\",\"end\":\"3/8/2010\",\"progress\":100,\"_parentId\":2},\r\n\t{\"id\":23,\"name\":\"Export Document\",\"persons\":1,\"begin\":\"3/9/2010\",\"end\":\"3/10/2010\",\"progress\":100,\"_parentId\":2},\r\n\t{\"id\":3,\"name\":\"Coding\",\"persons\":2,\"begin\":\"3/11/2010\",\"end\":\"3/18/2010\",\"progress\":80},\r\n\t{\"id\":4,\"name\":\"Testing\",\"persons\":1,\"begin\":\"3/19/2010\",\"end\":\"3/20/2010\",\"progress\":20}\r\n],\"footer\":[\r\n\t{\"name\":\"Total Persons:\",\"persons\":7,\"iconCls\":\"icon-sum\"}\r\n]}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/treegrid/treegrid_data3.json",
    "content": "{\"total\":9,\"rows\":[\r\n\t{\"id\":1,\"region\":\"Wyoming\"},\r\n\t{\"id\":11,\"region\":\"Albin\",\"f1\":2000,\"f2\":1800,\"f3\":1903,\"f4\":2183,\"f5\":2133,\"f6\":1923,\"f7\":2018,\"f8\":1838,\"_parentId\":1},\r\n\t{\"id\":12,\"region\":\"Canon\",\"f1\":2000,\"f2\":1800,\"f3\":1903,\"f4\":2183,\"f5\":2133,\"f6\":1923,\"f7\":2018,\"f8\":1838,\"_parentId\":1},\r\n\t{\"id\":13,\"region\":\"Egbert\",\"f1\":2000,\"f2\":1800,\"f3\":1903,\"f4\":2183,\"f5\":2133,\"f6\":1923,\"f7\":2018,\"f8\":1838,\"_parentId\":1},\r\n\t{\"id\":2,\"region\":\"Washington\"},\r\n\t{\"id\":21,\"region\":\"Bellingham\",\"f1\":2000,\"f2\":1800,\"f3\":1903,\"f4\":2183,\"f5\":2133,\"f6\":1923,\"f7\":2018,\"f8\":1838,\"_parentId\":2},\r\n\t{\"id\":22,\"region\":\"Chehalis\",\"f1\":2000,\"f2\":1800,\"f3\":1903,\"f4\":2183,\"f5\":2133,\"f6\":1923,\"f7\":2018,\"f8\":1838,\"_parentId\":2},\r\n\t{\"id\":23,\"region\":\"Ellensburg\",\"f1\":2000,\"f2\":1800,\"f3\":1903,\"f4\":2183,\"f5\":2133,\"f6\":1923,\"f7\":2018,\"f8\":1838,\"_parentId\":2},\r\n\t{\"id\":24,\"region\":\"Monroe\",\"f1\":2000,\"f2\":1800,\"f3\":1903,\"f4\":2183,\"f5\":2133,\"f6\":1923,\"f7\":2018,\"f8\":1838,\"_parentId\":2}\r\n],\"footer\":[\r\n\t{\"region\":\"Total\",\"f1\":14000,\"f2\":12600,\"f3\":13321,\"f4\":15281,\"f5\":14931,\"f6\":13461,\"f7\":14126,\"f8\":12866}\r\n]}"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/validatebox/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic ValidateBox - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic ValidateBox</h2>\r\n\t<p>It's easy to add validate logic to a input box.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" title=\"Register\" style=\"width:400px;padding:10px 60px 20px 60px\">\r\n\t\t<table cellpadding=\"5\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td>User Name:</td>\r\n\t\t\t\t<td><input class=\"easyui-validatebox textbox\" data-options=\"required:true,validType:'length[3,10]'\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>Email:</td>\r\n\t\t\t\t<td><input class=\"easyui-validatebox textbox\" data-options=\"required:true,validType:'email'\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>Birthday:</td>\r\n\t\t\t\t<td><input class=\"easyui-datebox textbox\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>URL:</td>\r\n\t\t\t\t<td><input class=\"easyui-validatebox textbox\" data-options=\"required:true,validType:'url'\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>Phone:</td>\r\n\t\t\t\t<td><input class=\"easyui-validatebox textbox\" data-options=\"required:true\"></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t</div>\r\n\t<style scoped=\"scoped\">\r\n\t\t.textbox{\r\n\t\t\theight:20px;\r\n\t\t\tmargin:0;\r\n\t\t\tpadding:0 2px;\r\n\t\t\tbox-sizing:content-box;\r\n\t\t}\r\n\t</style>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/validatebox/customtooltip.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Custom ValidateBox Tooltip - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Custom ValidateBox Tooltip</h2>\r\n\t<p>This sample shows how to display another tooltip message on a valid textbox.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" title=\"Register\" style=\"width:400px;padding:10px 60px 20px 60px\">\r\n\t\t<table cellpadding=\"5\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td>User Name:</td>\r\n\t\t\t\t<td><input class=\"easyui-validatebox textbox\" data-options=\"prompt:'Enter User Name.',required:true,validType:'length[3,10]'\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>Email:</td>\r\n\t\t\t\t<td><input class=\"easyui-validatebox textbox\" data-options=\"prompt:'Enter a valid email.',required:true,validType:'email'\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>Birthday:</td>\r\n\t\t\t\t<td><input class=\"easyui-datebox\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>URL:</td>\r\n\t\t\t\t<td><input class=\"easyui-validatebox textbox\" data-options=\"prompt:'Enter your URL.',required:true,validType:'url'\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>Phone:</td>\r\n\t\t\t\t<td><input class=\"easyui-validatebox textbox\" data-options=\"prompt:'Enter your phone number.',required:true\"></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t</div>\r\n\t<style scoped=\"scoped\">\r\n\t\t.textbox{\r\n\t\t\theight:20px;\r\n\t\t\tmargin:0;\r\n\t\t\tpadding:0 2px;\r\n\t\t\tbox-sizing:content-box;\r\n\t\t}\r\n\t</style>\r\n\t<script>\r\n\t\t$(function(){\r\n\t\t\t$('input.easyui-validatebox').validatebox({\r\n\t\t\t\ttipOptions: {\t// the options to create tooltip\r\n\t\t\t\t\tshowEvent: 'mouseenter',\r\n\t\t\t\t\thideEvent: 'mouseleave',\r\n\t\t\t\t\tshowDelay: 0,\r\n\t\t\t\t\thideDelay: 0,\r\n\t\t\t\t\tzIndex: '',\r\n\t\t\t\t\tonShow: function(){\r\n\t\t\t\t\t\tif (!$(this).hasClass('validatebox-invalid')){\r\n\t\t\t\t\t\t\tif ($(this).tooltip('options').prompt){\r\n\t\t\t\t\t\t\t\t$(this).tooltip('update', $(this).tooltip('options').prompt);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t$(this).tooltip('tip').hide();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t$(this).tooltip('tip').css({\r\n\t\t\t\t\t\t\t\tcolor: '#000',\r\n\t\t\t\t\t\t\t\tborderColor: '#CC9933',\r\n\t\t\t\t\t\t\t\tbackgroundColor: '#FFFFCC'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonHide: function(){\r\n\t\t\t\t\t\tif (!$(this).tooltip('options').prompt){\r\n\t\t\t\t\t\t\t$(this).tooltip('destroy');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}).tooltip({\r\n\t\t\t\tposition: 'right',\r\n\t\t\t\tcontent: function(){\r\n\t\t\t\t\tvar opts = $(this).validatebox('options');\r\n\t\t\t\t\treturn opts.prompt;\r\n\t\t\t\t},\r\n\t\t\t\tonShow: function(){\r\n\t\t\t\t\t$(this).tooltip('tip').css({\r\n\t\t\t\t\t\tcolor: '#000',\r\n\t\t\t\t\t\tborderColor: '#CC9933',\r\n\t\t\t\t\t\tbackgroundColor: '#FFFFCC'\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/validatebox/validateonblur.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Validate On Blur - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Validate On Blur</h2>\r\n\t<p>Active validation on first blur event.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div class=\"easyui-panel\" title=\"Register\" style=\"width:400px;padding:10px 60px 20px 60px\">\r\n\t\t<table cellpadding=\"5\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td>User Name:</td>\r\n\t\t\t\t<td><input class=\"easyui-validatebox textbox\" data-options=\"required:true,validType:'length[3,10]',novalidate:true\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>Email:</td>\r\n\t\t\t\t<td><input class=\"easyui-validatebox textbox\" data-options=\"required:true,validType:'email',novalidate:true\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>Birthday:</td>\r\n\t\t\t\t<td><input class=\"easyui-datebox textbox\" data-options=\"required:true,novalidate:true\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>URL:</td>\r\n\t\t\t\t<td><input class=\"easyui-validatebox textbox\" data-options=\"required:true,validType:'url',novalidate:true\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>Phone:</td>\r\n\t\t\t\t<td><input class=\"easyui-validatebox textbox\" data-options=\"required:true,novalidate:true\"></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\t$(function(){\r\n\t\t\t$('.validatebox-text').bind('blur', function(){\r\n\t\t\t\t$(this).validatebox('enableValidation').validatebox('validate');\r\n\t\t\t});\r\n\t\t})\r\n\t</script>\r\n\t<style scoped=\"scoped\">\r\n\t\t.textbox{\r\n\t\t\theight:20px;\r\n\t\t\tmargin:0;\r\n\t\t\tpadding:0 2px;\r\n\t\t\tbox-sizing:content-box;\r\n\t\t}\r\n\t</style>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/window/basic.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Basic Window - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Basic Window</h2>\r\n\t<p>Window can be dragged freely on screen.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#w').window('open')\">Open</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#w').window('close')\">Close</a>\r\n\t</div>\r\n\t<div id=\"w\" class=\"easyui-window\" title=\"Basic Window\" data-options=\"iconCls:'icon-save'\" style=\"width:500px;height:200px;padding:10px;\">\r\n\t\tThe window content.\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/window/customtools.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Custom Window Tools - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Custom Window Tools</h2>\r\n\t<p>Click the right top buttons to perform actions.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#w').window('open')\">Open</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#w').window('close')\">Close</a>\r\n\t</div>\r\n\t<div id=\"w\" class=\"easyui-window\" title=\"Custom Window Tools\" data-options=\"iconCls:'icon-save',minimizable:false,tools:'#tt'\" style=\"width:500px;height:200px;padding:10px;\">\r\n\t\tThe window content.\r\n\t</div>\r\n\t<div id=\"tt\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"icon-add\" onclick=\"javascript:alert('add')\"></a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"icon-edit\" onclick=\"javascript:alert('edit')\"></a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"icon-cut\" onclick=\"javascript:alert('cut')\"></a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"icon-help\" onclick=\"javascript:alert('help')\"></a>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/window/fluid.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Fluid Window - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Fluid Window</h2>\r\n\t<p>This example shows how to set the width of Window to a percentage of its parent container.</p>\r\n\t<div style=\"margin:20px 0;\"></div>\r\n\t<div id=\"w\" class=\"easyui-window\" title=\"Fluid Window\" style=\"width:80%;height:200px;padding:10px;\" data-options=\"\r\n\t\t\ticonCls:'icon-save',\r\n\t\t\tonResize:function(){\r\n\t\t\t\t$(this).window('hcenter');\r\n\t\t\t}\">\r\n\t\t<p>The window has a width of 80%.</p>\r\n\t</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/window/footer.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Window with a Footer - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Window with a Footer</h2>\r\n\t<p>This example shows how to attach a footer bar to the window.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#w').window('open')\">Open</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#w').window('close')\">Close</a>\r\n\t</div>\r\n\t<div id=\"w\" class=\"easyui-window\" title=\"Window with a Footer\" data-options=\"iconCls:'icon-save',footer:'#footer'\" style=\"width:500px;height:200px;padding:10px;\">\r\n\t\tThe window content.\r\n\t</div>\r\n\t<div id=\"footer\" style=\"padding:5px;\">Footer Content.</div>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/window/inlinewindow.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Inline Window - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Inline Window</h2>\r\n\t<p>The inline window stay inside its parent.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#w').window('open')\">Open</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#w').window('close')\">Close</a>\r\n\t</div>\r\n\t<div class=\"easyui-panel\" style=\"position:relative;width:500px;height:300px;overflow:auto;\">\r\n\t\t<div id=\"w\" class=\"easyui-window\" data-options=\"title:'Inline Window',inline:true\" style=\"width:250px;height:150px;padding:10px\">\r\n\t\t\tThis window stay inside its parent\r\n\t\t</div>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/window/modalwindow.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Modal Window - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Modal Window</h2>\r\n\t<p>Click the open button below to open the modal window.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#w').window('open')\">Open</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#w').window('close')\">Close</a>\r\n\t</div>\r\n\t<div id=\"w\" class=\"easyui-window\" title=\"Modal Window\" data-options=\"modal:true,closed:true,iconCls:'icon-save'\" style=\"width:500px;height:200px;padding:10px;\">\r\n\t\tThe window content.\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/demo/window/windowlayout.html",
    "content": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<title>Window Layout - jQuery EasyUI Demo</title>\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/default/easyui.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../../themes/icon.css\">\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"../demo.css\">\r\n\t<script type=\"text/javascript\" src=\"../../jquery.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"../../jquery.easyui.min.js\"></script>\r\n</head>\r\n<body>\r\n\t<h2>Window Layout</h2>\r\n\t<p>Using layout on window.</p>\r\n\t<div style=\"margin:20px 0;\">\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#w').window('open')\">Open</a>\r\n\t\t<a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onclick=\"$('#w').window('close')\">Close</a>\r\n\t</div>\r\n\t<div id=\"w\" class=\"easyui-window\" title=\"Window Layout\" data-options=\"iconCls:'icon-save'\" style=\"width:500px;height:200px;padding:5px;\">\r\n\t\t<div class=\"easyui-layout\" data-options=\"fit:true\">\r\n\t\t\t<div data-options=\"region:'east',split:true\" style=\"width:100px\"></div>\r\n\t\t\t<div data-options=\"region:'center'\" style=\"padding:10px;\">\r\n\t\t\t\tjQuery EasyUI framework help you build your web page easily.\r\n\t\t\t</div>\r\n\t\t\t<div data-options=\"region:'south',border:false\" style=\"text-align:right;padding:5px 0 0;\">\r\n\t\t\t\t<a class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-ok'\" href=\"javascript:void(0)\" onclick=\"javascript:alert('ok')\" style=\"width:80px\">Ok</a>\r\n\t\t\t\t<a class=\"easyui-linkbutton\" data-options=\"iconCls:'icon-cancel'\" href=\"javascript:void(0)\" onclick=\"javascript:alert('cancel')\" style=\"width:80px\">Cancel</a>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/easyloader.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function(){\nvar _1={draggable:{js:\"jquery.draggable.js\"},droppable:{js:\"jquery.droppable.js\"},resizable:{js:\"jquery.resizable.js\"},linkbutton:{js:\"jquery.linkbutton.js\",css:\"linkbutton.css\"},progressbar:{js:\"jquery.progressbar.js\",css:\"progressbar.css\"},tooltip:{js:\"jquery.tooltip.js\",css:\"tooltip.css\"},pagination:{js:\"jquery.pagination.js\",css:\"pagination.css\",dependencies:[\"linkbutton\"]},datagrid:{js:\"jquery.datagrid.js\",css:\"datagrid.css\",dependencies:[\"panel\",\"resizable\",\"linkbutton\",\"pagination\"]},treegrid:{js:\"jquery.treegrid.js\",css:\"tree.css\",dependencies:[\"datagrid\"]},propertygrid:{js:\"jquery.propertygrid.js\",css:\"propertygrid.css\",dependencies:[\"datagrid\"]},panel:{js:\"jquery.panel.js\",css:\"panel.css\"},window:{js:\"jquery.window.js\",css:\"window.css\",dependencies:[\"resizable\",\"draggable\",\"panel\"]},dialog:{js:\"jquery.dialog.js\",css:\"dialog.css\",dependencies:[\"linkbutton\",\"window\"]},messager:{js:\"jquery.messager.js\",css:\"messager.css\",dependencies:[\"linkbutton\",\"window\",\"progressbar\"]},layout:{js:\"jquery.layout.js\",css:\"layout.css\",dependencies:[\"resizable\",\"panel\"]},form:{js:\"jquery.form.js\"},menu:{js:\"jquery.menu.js\",css:\"menu.css\"},tabs:{js:\"jquery.tabs.js\",css:\"tabs.css\",dependencies:[\"panel\",\"linkbutton\"]},menubutton:{js:\"jquery.menubutton.js\",css:\"menubutton.css\",dependencies:[\"linkbutton\",\"menu\"]},splitbutton:{js:\"jquery.splitbutton.js\",css:\"splitbutton.css\",dependencies:[\"menubutton\"]},accordion:{js:\"jquery.accordion.js\",css:\"accordion.css\",dependencies:[\"panel\"]},calendar:{js:\"jquery.calendar.js\",css:\"calendar.css\"},textbox:{js:\"jquery.textbox.js\",css:\"textbox.css\",dependencies:[\"validatebox\",\"linkbutton\"]},filebox:{js:\"jquery.filebox.js\",css:\"filebox.css\",dependencies:[\"textbox\"]},combo:{js:\"jquery.combo.js\",css:\"combo.css\",dependencies:[\"panel\",\"textbox\"]},combobox:{js:\"jquery.combobox.js\",css:\"combobox.css\",dependencies:[\"combo\"]},combotree:{js:\"jquery.combotree.js\",dependencies:[\"combo\",\"tree\"]},combogrid:{js:\"jquery.combogrid.js\",dependencies:[\"combo\",\"datagrid\"]},validatebox:{js:\"jquery.validatebox.js\",css:\"validatebox.css\",dependencies:[\"tooltip\"]},numberbox:{js:\"jquery.numberbox.js\",dependencies:[\"textbox\"]},searchbox:{js:\"jquery.searchbox.js\",css:\"searchbox.css\",dependencies:[\"menubutton\",\"textbox\"]},spinner:{js:\"jquery.spinner.js\",css:\"spinner.css\",dependencies:[\"textbox\"]},numberspinner:{js:\"jquery.numberspinner.js\",dependencies:[\"spinner\",\"numberbox\"]},timespinner:{js:\"jquery.timespinner.js\",dependencies:[\"spinner\"]},tree:{js:\"jquery.tree.js\",css:\"tree.css\",dependencies:[\"draggable\",\"droppable\"]},datebox:{js:\"jquery.datebox.js\",css:\"datebox.css\",dependencies:[\"calendar\",\"combo\"]},datetimebox:{js:\"jquery.datetimebox.js\",dependencies:[\"datebox\",\"timespinner\"]},slider:{js:\"jquery.slider.js\",dependencies:[\"draggable\"]},tooltip:{js:\"jquery.tooltip.js\"},parser:{js:\"jquery.parser.js\"}};\nvar _2={\"af\":\"easyui-lang-af.js\",\"ar\":\"easyui-lang-ar.js\",\"bg\":\"easyui-lang-bg.js\",\"ca\":\"easyui-lang-ca.js\",\"cs\":\"easyui-lang-cs.js\",\"cz\":\"easyui-lang-cz.js\",\"da\":\"easyui-lang-da.js\",\"de\":\"easyui-lang-de.js\",\"el\":\"easyui-lang-el.js\",\"en\":\"easyui-lang-en.js\",\"es\":\"easyui-lang-es.js\",\"fr\":\"easyui-lang-fr.js\",\"it\":\"easyui-lang-it.js\",\"jp\":\"easyui-lang-jp.js\",\"nl\":\"easyui-lang-nl.js\",\"pl\":\"easyui-lang-pl.js\",\"pt_BR\":\"easyui-lang-pt_BR.js\",\"ru\":\"easyui-lang-ru.js\",\"sv_SE\":\"easyui-lang-sv_SE.js\",\"tr\":\"easyui-lang-tr.js\",\"zh_CN\":\"easyui-lang-zh_CN.js\",\"zh_TW\":\"easyui-lang-zh_TW.js\"};\nvar _3={};\nfunction _4(_5,_6){\nvar _7=false;\nvar _8=document.createElement(\"script\");\n_8.type=\"text/javascript\";\n_8.language=\"javascript\";\n_8.src=_5;\n_8.onload=_8.onreadystatechange=function(){\nif(!_7&&(!_8.readyState||_8.readyState==\"loaded\"||_8.readyState==\"complete\")){\n_7=true;\n_8.onload=_8.onreadystatechange=null;\nif(_6){\n_6.call(_8);\n}\n}\n};\ndocument.getElementsByTagName(\"head\")[0].appendChild(_8);\n};\nfunction _9(_a,_b){\n_4(_a,function(){\ndocument.getElementsByTagName(\"head\")[0].removeChild(this);\nif(_b){\n_b();\n}\n});\n};\nfunction _c(_d,_e){\nvar _f=document.createElement(\"link\");\n_f.rel=\"stylesheet\";\n_f.type=\"text/css\";\n_f.media=\"screen\";\n_f.href=_d;\ndocument.getElementsByTagName(\"head\")[0].appendChild(_f);\nif(_e){\n_e.call(_f);\n}\n};\nfunction _10(_11,_12){\n_3[_11]=\"loading\";\nvar _13=_1[_11];\nvar _14=\"loading\";\nvar _15=(easyloader.css&&_13[\"css\"])?\"loading\":\"loaded\";\nif(easyloader.css&&_13[\"css\"]){\nif(/^http/i.test(_13[\"css\"])){\nvar url=_13[\"css\"];\n}else{\nvar url=easyloader.base+\"themes/\"+easyloader.theme+\"/\"+_13[\"css\"];\n}\n_c(url,function(){\n_15=\"loaded\";\nif(_14==\"loaded\"&&_15==\"loaded\"){\n_16();\n}\n});\n}\nif(/^http/i.test(_13[\"js\"])){\nvar url=_13[\"js\"];\n}else{\nvar url=easyloader.base+\"plugins/\"+_13[\"js\"];\n}\n_4(url,function(){\n_14=\"loaded\";\nif(_14==\"loaded\"&&_15==\"loaded\"){\n_16();\n}\n});\nfunction _16(){\n_3[_11]=\"loaded\";\neasyloader.onProgress(_11);\nif(_12){\n_12();\n}\n};\n};\nfunction _17(_18,_19){\nvar mm=[];\nvar _1a=false;\nif(typeof _18==\"string\"){\nadd(_18);\n}else{\nfor(var i=0;i<_18.length;i++){\nadd(_18[i]);\n}\n}\nfunction add(_1b){\nif(!_1[_1b]){\nreturn;\n}\nvar d=_1[_1b][\"dependencies\"];\nif(d){\nfor(var i=0;i<d.length;i++){\nadd(d[i]);\n}\n}\nmm.push(_1b);\n};\nfunction _1c(){\nif(_19){\n_19();\n}\neasyloader.onLoad(_18);\n};\nvar _1d=0;\nfunction _1e(){\nif(mm.length){\nvar m=mm[0];\nif(!_3[m]){\n_1a=true;\n_10(m,function(){\nmm.shift();\n_1e();\n});\n}else{\nif(_3[m]==\"loaded\"){\nmm.shift();\n_1e();\n}else{\nif(_1d<easyloader.timeout){\n_1d+=10;\nsetTimeout(arguments.callee,10);\n}\n}\n}\n}else{\nif(easyloader.locale&&_1a==true&&_2[easyloader.locale]){\nvar url=easyloader.base+\"locale/\"+_2[easyloader.locale];\n_9(url,function(){\n_1c();\n});\n}else{\n_1c();\n}\n}\n};\n_1e();\n};\neasyloader={modules:_1,locales:_2,base:\".\",theme:\"default\",css:true,locale:null,timeout:2000,load:function(_1f,_20){\nif(/\\.css$/i.test(_1f)){\nif(/^http/i.test(_1f)){\n_c(_1f,_20);\n}else{\n_c(easyloader.base+_1f,_20);\n}\n}else{\nif(/\\.js$/i.test(_1f)){\nif(/^http/i.test(_1f)){\n_4(_1f,_20);\n}else{\n_4(easyloader.base+_1f,_20);\n}\n}else{\n_17(_1f,_20);\n}\n}\n},onProgress:function(_21){\n},onLoad:function(_22){\n}};\nvar _23=document.getElementsByTagName(\"script\");\nfor(var i=0;i<_23.length;i++){\nvar src=_23[i].src;\nif(!src){\ncontinue;\n}\nvar m=src.match(/easyloader\\.js(\\W|$)/i);\nif(m){\neasyloader.base=src.substring(0,m.index);\n}\n}\nwindow.using=easyloader.load;\nif(window.jQuery){\njQuery(function(){\neasyloader.load(\"parser\",function(){\njQuery.parser.parse();\n});\n});\n}\n})();\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/licence_gpl.txt",
    "content": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.  We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors.  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights.  Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received.  You must make sure that they, too, receive\nor can get the source code.  And you must show them these terms so they\nknow their rights.\n\n  Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n  For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software.  For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n  Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so.  This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software.  The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable.  Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts.  If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n  Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary.  To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Use with the GNU Affero General Public License.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    Galleria is a javascript image gallery written in jQuery\n    Copyright (C) 2008 David Hellsing \n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n    Galleria Copyright (C) 2008 David Hellsing\n    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n<http://www.gnu.org/licenses/>.\n\n  The GNU General Public License does not permit incorporating your program\ninto proprietary programs.  If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library.  If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.  But first, please read\n<http://www.gnu.org/philosophy/why-not-lgpl.html>.\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-af.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'Bladsy';\r\n\t$.fn.pagination.defaults.afterPageText = 'Van {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = 'Wys (from) tot (to) van (total) items';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'Verwerking, wag asseblief ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'Ok';\r\n\t$.messager.defaults.cancel = 'Die styl';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'Die veld is verpligtend.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = \"Gee 'n geldige e-pos adres.\";\r\n\t$.fn.validatebox.defaults.rules.url.message = \"Gee 'n geldige URL nie.\";\r\n\t$.fn.validatebox.defaults.rules.length.message = \"Voer 'n waarde tussen {0} en {1}.\";\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['S','M','T','W','T','F','S'];\r\n\t$.fn.calendar.defaults.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'Vandag';\r\n\t$.fn.datebox.defaults.closeText = 'Sluit';\r\n\t$.fn.datebox.defaults.okText = 'Ok';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-am.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'Էջ';\r\n\t$.fn.pagination.defaults.afterPageText = 'ից {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = 'Դիտել {from}-ից {to}-ը {total} գրառումից';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'Մշակվում է, խնդրում ենք սպասել ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'Այո';\r\n\t$.messager.defaults.cancel = 'Փակել';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'Այս դաշտը պարտադիր է.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = 'Խնդրում ենք մուտքագրել գործող e-mail հասցե.';\r\n\t$.fn.validatebox.defaults.rules.url.message = 'Խնդրում ենք մուտքագրել գործող URL.';\r\n\t$.fn.validatebox.defaults.rules.length.message = 'Խնդրում ենք մուտքագրել արժեք {0}  {1}.';\r\n\t$.fn.validatebox.defaults.rules.remote.message = 'Խնդրում ենք ուղղել այս դաշտը.';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.firstDay = 1;\r\n\t$.fn.calendar.defaults.weeks  = ['Կ.','Ե.','Ե.','Չ.','Հ.','Ու.','Շ.'];\r\n\t$.fn.calendar.defaults.months = ['Հունվար', 'Փետրվար', 'Մարտ', 'Ապրիլ', 'Մայիս', 'Հունիս', 'Հուլիս', 'Օգոստոս', 'Սեպտեմբեր', 'Հոկտեմբեր', 'Նոյեմբեր', 'Դեկտեմբեր'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'Այսօր';\r\n\t$.fn.datebox.defaults.closeText = 'Փակել';\r\n\t$.fn.datebox.defaults.okText = 'Այո';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-ar.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'صفحة';\r\n\t$.fn.pagination.defaults.afterPageText = 'من {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = 'عرض {from} إلى {to} من {total} عنصر';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'معالجة, الرجاء الإنتظار ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'موافق';\r\n\t$.messager.defaults.cancel = 'إلغاء';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'هذا الحقل مطلوب.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = 'الرجاء إدخال بريد إلكتروني صحيح.';\r\n\t$.fn.validatebox.defaults.rules.url.message = 'الرجاء إدخال رابط صحيح.';\r\n\t$.fn.validatebox.defaults.rules.length.message = 'الرجاء إدخال قيمة بين {0} و {1}.';\r\n\t$.fn.validatebox.defaults.rules.remote.message = 'الرجاء التأكد من الحقل.';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['S','M','T','W','T','F','S'];\r\n\t$.fn.calendar.defaults.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'اليوم';\r\n\t$.fn.datebox.defaults.closeText = 'إغلاق';\r\n\t$.fn.datebox.defaults.okText = 'موافق';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-bg.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'Страница';\r\n\t$.fn.pagination.defaults.afterPageText = 'от {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = 'Показани {from} за {to} от {total} продукти';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'Обработка, моля изчакайте ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'Добре';\r\n\t$.messager.defaults.cancel = 'Задрасквам';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'Това поле е задължително.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = 'Моля, въведете валиден имейл адрес.';\r\n\t$.fn.validatebox.defaults.rules.url.message = 'Моля въведете валиден URL.';\r\n\t$.fn.validatebox.defaults.rules.length.message = 'Моля, въведете стойност между {0} и {1}.';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['S','M','T','W','T','F','S'];\r\n\t$.fn.calendar.defaults.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'Днес';\r\n\t$.fn.datebox.defaults.closeText = 'Близо';\r\n\t$.fn.datebox.defaults.okText = 'Добре';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-ca.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'Pàgina';\r\n\t$.fn.pagination.defaults.afterPageText = 'de {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = \"Veient {from} a {to} de {total} d'articles\";\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'Elaboració, si us plau esperi ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'Ok';\r\n\t$.messager.defaults.cancel = 'Cancel';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'Aquest camp és obligatori.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = 'Introduïu una adreça de correu electrònic vàlida.';\r\n\t$.fn.validatebox.defaults.rules.url.message = 'Si us plau, introduïu un URL vàlida.';\r\n\t$.fn.validatebox.defaults.rules.length.message = 'Si us plau, introduïu un valor entre {0} i {1}.';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['S','M','T','W','T','F','S'];\r\n\t$.fn.calendar.defaults.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'Avui';\r\n\t$.fn.datebox.defaults.closeText = 'Tancar';\r\n\t$.fn.datebox.defaults.okText = 'Ok';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-cs.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'Strana';\r\n\t$.fn.pagination.defaults.afterPageText = 'z {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = 'Zobrazuji {from} do {to} z {total} položky';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'Zpracování, čekejte prosím ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'Ok';\r\n\t$.messager.defaults.cancel = 'Zrušit';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'Toto pole je vyžadováno.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = 'Zadejte prosím platnou e-mailovou adresu.';\r\n\t$.fn.validatebox.defaults.rules.url.message = 'Zadejte prosím platnou adresu URL.';\r\n\t$.fn.validatebox.defaults.rules.length.message = 'Prosím, zadejte hodnotu mezi {0} a {1}.';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['S','M','T','W','T','F','S'];\r\n\t$.fn.calendar.defaults.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'Dnes';\r\n\t$.fn.datebox.defaults.closeText = 'Zavřít';\r\n\t$.fn.datebox.defaults.okText = 'Ok';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-cz.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'Strana';\r\n\t$.fn.pagination.defaults.afterPageText = 'z {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = 'Zobrazuji záznam {from} až {to} z {total}.';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'Pracuji, čekejte prosím…';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'Ok';\r\n\t$.messager.defaults.cancel = 'Zrušit';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'Toto pole je vyžadováno.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = 'Zadejte, prosím, platnou e-mailovou adresu.';\r\n\t$.fn.validatebox.defaults.rules.url.message = 'Zadejte, prosím, platnou adresu URL.';\r\n\t$.fn.validatebox.defaults.rules.length.message = 'Zadejte, prosím, hodnotu mezi {0} a {1}.';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['N','P','Ú','S','Č','P','S']; //neděle pondělí úterý středa čtvrtek pátek sobota\r\n\t$.fn.calendar.defaults.months = ['led', 'únr', 'bře', 'dub', 'kvě', 'čvn', 'čvc', 'srp', 'zář', 'říj', 'lis', 'pro']; //leden únor březen duben květen červen červenec srpen září říjen listopad prosinec\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'Dnes';\r\n\t$.fn.datebox.defaults.closeText = 'Zavřít';\r\n\t$.fn.datebox.defaults.okText = 'Ok';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-da.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'Page';\r\n\t$.fn.pagination.defaults.afterPageText = 'af {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = 'Viser {from} til {to} af {total} poster';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'Behandling, vent venligst ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'Ok';\r\n\t$.messager.defaults.cancel = 'Annuller';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'Dette felt er påkrævet.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = 'Angiv en gyldig e-mail-adresse.';\r\n\t$.fn.validatebox.defaults.rules.url.message = 'Angiv en gyldig webadresse.';\r\n\t$.fn.validatebox.defaults.rules.length.message = 'Angiv en værdi mellem {0} og {1}.';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['S','M','T','W','T','F','S'];\r\n\t$.fn.calendar.defaults.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'I dag';\r\n\t$.fn.datebox.defaults.closeText = 'Luk';\r\n\t$.fn.datebox.defaults.okText = 'Ok';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-de.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'Seite';\r\n\t$.fn.pagination.defaults.afterPageText = 'von {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = '{from} bis {to} von {total} Datensätzen';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'Verarbeitung läuft, bitte warten ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'OK';\r\n\t$.messager.defaults.cancel = 'Abbruch';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'Dieses Feld wird benötigt.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = 'Bitte geben Sie eine gültige E-Mail-Adresse ein.';\r\n\t$.fn.validatebox.defaults.rules.url.message = 'Bitte geben Sie eine gültige URL ein.';\r\n\t$.fn.validatebox.defaults.rules.length.message = 'Bitte geben Sie einen Wert zwischen {0} und {1} ein.';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.firstDay = 1;\r\n\t$.fn.calendar.defaults.weeks  = ['S','M','D','M','D','F','S'];\r\n\t$.fn.calendar.defaults.months = ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'Heute';\r\n\t$.fn.datebox.defaults.closeText = 'Schließen';\r\n\t$.fn.datebox.defaults.okText = 'OK';\r\n\t$.fn.datebox.defaults.formatter = function(date){\r\n\t\tvar y = date.getFullYear();\r\n\t\tvar m = date.getMonth()+1;\r\n\t\tvar d = date.getDate();\r\n\t\treturn (d<10?('0'+d):d)+'.'+(m<10?('0'+m):m)+'.'+y;\r\n\t};\r\n\t$.fn.datebox.defaults.parser = function(s){\r\n\t\tif (!s) return new Date();\r\n\t\tvar ss = s.split('.');\r\n\t\tvar m = parseInt(ss[1],10);\r\n\t\tvar d = parseInt(ss[0],10);\r\n\t\tvar y = parseInt(ss[2],10);\r\n\t\tif (!isNaN(y) && !isNaN(m) && !isNaN(d)){\r\n\t\t\treturn new Date(y,m-1,d);\r\n\t\t} else {\r\n\t\t\treturn new Date();\r\n\t\t}\r\n\t};\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-el.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'Σελίδα';\r\n\t$.fn.pagination.defaults.afterPageText = 'από {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = 'Εμφάνιση {from} εώς {to} από {total} αντικείμενα';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'Γίνεται Επεξεργασία, Παρακαλώ Περιμένετε ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'Εντάξει';\r\n\t$.messager.defaults.cancel = 'Άκυρο';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'Το πεδίο είναι υποχρεωτικό.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = 'Παρακαλώ εισάγετε σωστή Ηλ.Διεύθυνση.';\r\n\t$.fn.validatebox.defaults.rules.url.message = 'Παρακαλώ εισάγετε σωστό σύνδεσμο.';\r\n\t$.fn.validatebox.defaults.rules.length.message = 'Παρακαλώ εισάγετε τιμή μεταξύ {0} και {1}.';\r\n\t$.fn.validatebox.defaults.rules.remote.message = 'Παρακαλώ διορθώστε αυτό το πεδίο.';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['Κυρ','Δευ','Τρι','Τετ','Πεμ','Παρ','Σαβ'];\r\n\t$.fn.calendar.defaults.months = ['Ιαν', 'Φεβ', 'Μαρ', 'Απρ', 'Μαϊ', 'Ιου', 'Ιου', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοε', 'Δεκ'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'Σήμερα';\r\n\t$.fn.datebox.defaults.closeText = 'Κλείσιμο';\r\n\t$.fn.datebox.defaults.okText = 'Εντάξει';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-en.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'Page';\r\n\t$.fn.pagination.defaults.afterPageText = 'of {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = 'Displaying {from} to {to} of {total} items';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'Processing, please wait ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'Ok';\r\n\t$.messager.defaults.cancel = 'Cancel';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'This field is required.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = 'Please enter a valid email address.';\r\n\t$.fn.validatebox.defaults.rules.url.message = 'Please enter a valid URL.';\r\n\t$.fn.validatebox.defaults.rules.length.message = 'Please enter a value between {0} and {1}.';\r\n\t$.fn.validatebox.defaults.rules.remote.message = 'Please fix this field.';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['S','M','T','W','T','F','S'];\r\n\t$.fn.calendar.defaults.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'Today';\r\n\t$.fn.datebox.defaults.closeText = 'Close';\r\n\t$.fn.datebox.defaults.okText = 'Ok';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-es.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'P&aacute;gina';\r\n\t$.fn.pagination.defaults.afterPageText = 'de {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = 'Mostrando {from} a {to} de {total} elementos';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'Procesando, por favor espere ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'Aceptar';\r\n\t$.messager.defaults.cancel = 'Cancelar';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'Este campo es obligatorio.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = 'Por favor ingrese una direcci&oacute;n de correo v&aacute;lida.';\r\n\t$.fn.validatebox.defaults.rules.url.message = 'Por favor ingrese una URL v&aacute;lida.';\r\n\t$.fn.validatebox.defaults.rules.length.message = 'Por favor ingrese un valor entre {0} y {1}.';\r\n\t$.fn.validatebox.defaults.rules.remote.message = 'Por favor corrija este campo.';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['Do','Lu','Ma','Mi','Ju','Vi','S&aacute;'];\r\n\t$.fn.calendar.defaults.months = ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'Hoy';\r\n\t$.fn.datebox.defaults.closeText = 'Cerrar';\r\n\t$.fn.datebox.defaults.okText = 'Aceptar';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-fr.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'Page';\r\n\t$.fn.pagination.defaults.afterPageText = 'de {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = 'Affichage de {from} et {to} au {total} des articles';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = \"Traitement, s'il vous plaît patienter ...\";\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'Ok';\r\n\t$.messager.defaults.cancel = 'Annuler';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'Ce champ est obligatoire.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = \"S'il vous plaît entrer une adresse email valide.\";\r\n\t$.fn.validatebox.defaults.rules.url.message = \"S'il vous plaît entrer une URL valide.\";\r\n\t$.fn.validatebox.defaults.rules.length.message = \"S'il vous plaît entrez une valeur comprise entre {0} et {1}.\";\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['S','M','T','W','T','F','S'];\r\n\t$.fn.calendar.defaults.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = \"Aujourd'hui\";\r\n\t$.fn.datebox.defaults.closeText = 'Fermer';\r\n\t$.fn.datebox.defaults.okText = 'Ok';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-it.js",
    "content": "if ($.fn.pagination){\n\t$.fn.pagination.defaults.beforePageText = 'Pagina';\n\t$.fn.pagination.defaults.afterPageText = 'di {pages}';\n\t$.fn.pagination.defaults.displayMsg = 'Visualizzazione {from} a {to} di {total} elementi';\n}\nif ($.fn.datagrid){\n\t$.fn.datagrid.defaults.loadMsg = 'In lavorazione, attendere ...';\n}\nif ($.fn.treegrid && $.fn.datagrid){\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\n}\nif ($.messager){\n\t$.messager.defaults.ok = 'Ok';\n\t$.messager.defaults.cancel = 'Annulla';\n}\n$.map(['validatebox','textbox','filebox','searchbox',\n\t\t'combo','combobox','combogrid','combotree',\n\t\t'datebox','datetimebox','numberbox',\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\n\tif ($.fn[plugin]){\n\t\t$.fn[plugin].defaults.missingMessage = 'Questo campo è richiesto.';\n\t}\n});\nif ($.fn.validatebox){\n\t$.fn.validatebox.defaults.rules.email.message = 'Inserisci un indirizzo email valido.';\n\t$.fn.validatebox.defaults.rules.url.message = 'Inserisci un URL valido.';\n\t$.fn.validatebox.defaults.rules.length.message = 'Inserisci un valore tra {0} e {1}.';\n\t$.fn.validatebox.defaults.rules.remote.message = 'Aggiusta questo campo.';\n}\nif ($.fn.calendar){\n\t$.fn.calendar.defaults.weeks = ['S','M','T','W','T','F','S'];\n\t$.fn.calendar.defaults.months = ['Gen', 'Feb', 'Mar', 'Apr', 'Mag', 'Giu', 'Lug', 'Ago', 'Set', 'Ott', 'Nov', 'Dic'];\n}\nif ($.fn.datebox){\n\t$.fn.datebox.defaults.currentText = 'Oggi';\n\t$.fn.datebox.defaults.closeText = 'Chiudi';\n\t$.fn.datebox.defaults.okText = 'Ok';\n}\nif ($.fn.datetimebox && $.fn.datebox){\n\t$.extend($.fn.datetimebox.defaults,{\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\n\t\tcloseText: $.fn.datebox.defaults.closeText,\n\t\tokText: $.fn.datebox.defaults.okText\n\t});\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-jp.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'ページ';\r\n\t$.fn.pagination.defaults.afterPageText = '{pages} 中';\r\n\t$.fn.pagination.defaults.displayMsg = '全 {total} アイテム中 {from} から {to} を表示中';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = '処理中です。少々お待ちください...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'OK';\r\n\t$.messager.defaults.cancel = 'キャンセル';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = '入力は必須です。';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = '正しいメールアドレスを入力してください。';\r\n\t$.fn.validatebox.defaults.rules.url.message = '正しいURLを入力してください。';\r\n\t$.fn.validatebox.defaults.rules.length.message = '{0} から {1} の範囲の正しい値を入力してください。';\r\n\t$.fn.validatebox.defaults.rules.remote.message = 'このフィールドを修正してください。';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['日','月','火','水','木','金','土'];\r\n\t$.fn.calendar.defaults.months = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = '今日';\r\n\t$.fn.datebox.defaults.closeText = '閉じる';\r\n\t$.fn.datebox.defaults.okText = 'OK';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-nl.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'Pagina';\r\n\t$.fn.pagination.defaults.afterPageText = 'van {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = 'Tonen van {from} tot {to} van de {total} items';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'Verwerking, even geduld ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'Ok';\r\n\t$.messager.defaults.cancel = 'Annuleren';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'Dit veld is verplicht.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = 'Geef een geldig e-mailadres.';\r\n\t$.fn.validatebox.defaults.rules.url.message = 'Vul een geldige URL.';\r\n\t$.fn.validatebox.defaults.rules.length.message = 'Voer een waarde tussen {0} en {1}.';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['S','M','T','W','T','F','S'];\r\n\t$.fn.calendar.defaults.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'Vandaag';\r\n\t$.fn.datebox.defaults.closeText = 'Dicht';\r\n\t$.fn.datebox.defaults.okText = 'Ok';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-pl.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'Strona';\r\n\t$.fn.pagination.defaults.afterPageText = 'z {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = 'Wyświetlono elementy od {from} do {to} z {total}';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'Przetwarzanie, proszę czekać ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'Ok';\r\n\t$.messager.defaults.cancel = 'Cancel';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'To pole jest wymagane.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = 'Wprowadź poprawny adres email.';\r\n\t$.fn.validatebox.defaults.rules.url.message = 'Wprowadź poprawny adres URL.';\r\n\t$.fn.validatebox.defaults.rules.length.message = 'Wprowadź wartość z zakresu od {0} do {1}.';\r\n\t$.fn.validatebox.defaults.rules.remote.message = 'Proszę poprawić to pole.';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['N','P','W','Ś','C','P','S'];\r\n\t$.fn.calendar.defaults.months = ['Sty', 'Lut', 'Mar', 'Kwi', 'Maj', 'Cze', 'Lip', 'Sie', 'Wrz', 'Paź', 'Lis', 'Gru'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'Dzisiaj';\r\n\t$.fn.datebox.defaults.closeText = 'Zamknij';\r\n\t$.fn.datebox.defaults.okText = 'Ok';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-pt_BR.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'Página';\r\n\t$.fn.pagination.defaults.afterPageText = 'de {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = 'Mostrando {from} a {to} de {total} itens';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'Processando, aguarde ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'Ok';\r\n\t$.messager.defaults.cancel = 'Cancelar';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'Esse campo é requerido.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = 'Insira um endereço de email válido.';\r\n\t$.fn.validatebox.defaults.rules.url.message = 'Insira uma URL válida.';\r\n\t$.fn.validatebox.defaults.rules.length.message = 'Insira uma valor entre {0} e {1}.';\r\n\t$.fn.validatebox.defaults.rules.remote.message = 'Corrija esse campo.';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['D','S','T','Q','Q','S','S'];\r\n\t$.fn.calendar.defaults.months = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'Hoje';\r\n\t$.fn.datebox.defaults.closeText = 'Fechar';\r\n\t$.fn.datebox.defaults.okText = 'Ok';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-ru.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = 'Страница';\r\n\t$.fn.pagination.defaults.afterPageText = 'из {pages}';\r\n\t$.fn.pagination.defaults.displayMsg = 'Просмотр {from} до {to} из {total} записей';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = 'Обрабатывается, пожалуйста ждите ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = 'Ок';\r\n\t$.messager.defaults.cancel = 'Закрыть';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = 'Это поле необходимо.';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = 'Пожалуйста введите корректный e-mail адрес.';\r\n\t$.fn.validatebox.defaults.rules.url.message = 'Пожалуйста введите корректный URL.';\r\n\t$.fn.validatebox.defaults.rules.length.message = 'Пожалуйста введите зачение между {0} и {1}.';\r\n\t$.fn.validatebox.defaults.rules.remote.message = 'Пожалуйста исправте это поле.';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.firstDay = 1;\r\n\t$.fn.calendar.defaults.weeks  = ['В','П','В','С','Ч','П','С'];\r\n\t$.fn.calendar.defaults.months = ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = 'Сегодня';\r\n\t$.fn.datebox.defaults.closeText = 'Закрыть';\r\n\t$.fn.datebox.defaults.okText = 'Ок';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-sv_SE.js",
    "content": "if ($.fn.pagination) {\r\n    $.fn.pagination.defaults.beforePageText = 'Sida';\r\n    $.fn.pagination.defaults.afterPageText = 'av {pages}';\r\n    $.fn.pagination.defaults.displayMsg = 'Visar {from} till {to} av {total} poster';\r\n}\r\nif ($.fn.datagrid) {\r\n    $.fn.datagrid.defaults.loadMsg = 'Bearbetar, vänligen vänta ...';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid) {\r\n    $.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager) {\r\n    $.messager.defaults.ok = 'Ok';\r\n    $.messager.defaults.cancel = 'Avbryt';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n        'combo','combobox','combogrid','combotree',\r\n        'datebox','datetimebox','numberbox',\r\n        'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n    if ($.fn[plugin]){\r\n        $.fn[plugin].defaults.missingMessage = 'Detta fält är obligatoriskt.';\r\n    }\r\n});\r\nif ($.fn.validatebox) {\r\n    $.fn.validatebox.defaults.rules.email.message = 'Vänligen ange en korrekt e-post adress.';\r\n    $.fn.validatebox.defaults.rules.url.message = 'Vänligen ange en korrekt URL.';\r\n    $.fn.validatebox.defaults.rules.length.message = 'Vänligen ange ett nummer mellan {0} och {1}.';\r\n    $.fn.validatebox.defaults.rules.remote.message = 'Vänligen åtgärda detta fält.';\r\n}\r\nif ($.fn.calendar) {\r\n    $.fn.calendar.defaults.weeks = ['Sön', 'Mån', 'Tis', 'Ons', 'Tors', 'Fre', 'Lör'];\r\n    $.fn.calendar.defaults.months = ['Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'];\r\n}\r\nif ($.fn.datebox) {\r\n    $.fn.datebox.defaults.currentText = 'I dag';\r\n    $.fn.datebox.defaults.closeText = 'Stäng';\r\n    $.fn.datebox.defaults.okText = 'Ok';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox) {\r\n    $.extend($.fn.datetimebox.defaults, {\r\n        currentText: $.fn.datebox.defaults.currentText,\r\n        closeText: $.fn.datebox.defaults.closeText,\r\n        okText: $.fn.datebox.defaults.okText\r\n    });\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-tr.js",
    "content": "if ($.fn.pagination){\n    $.fn.pagination.defaults.beforePageText = 'Sayfa';\n    $.fn.pagination.defaults.afterPageText = ' / {pages}';\n    $.fn.pagination.defaults.displayMsg = '{from} ile {to} arası gösteriliyor, toplam {total} kayıt';\n}\nif ($.fn.datagrid){\n    $.fn.panel.defaults.loadingMessage = \"Yükleniyor...\";\n}\n\nif ($.fn.datagrid){\n    $.fn.datagrid.defaults.loadingMessage = \"Yükleniyor...\";\n    $.fn.datagrid.defaults.loadMsg = 'İşleminiz Yapılıyor, lütfen bekleyin ...';\n}\nif ($.fn.treegrid && $.fn.datagrid){\n    $.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\n}\nif ($.messager){\n    $.messager.defaults.ok = 'Tamam';\n    $.messager.defaults.cancel = 'İptal';\n}\n$.map(['validatebox','textbox','filebox','searchbox',\n        'combo','combobox','combogrid','combotree',\n        'datebox','datetimebox','numberbox',\n        'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\n    if ($.fn[plugin]){\n        $.fn[plugin].defaults.missingMessage = 'Bu alan zorunludur.';\n    }\n});\nif ($.fn.validatebox){\n    $.fn.validatebox.defaults.rules.email.message = 'Lütfen geçerli bir email adresi giriniz.';\n    $.fn.validatebox.defaults.rules.url.message = 'Lütfen geçerli bir URL giriniz.';\n    $.fn.validatebox.defaults.rules.length.message = 'Lütfen {0} ile {1} arasında bir değer giriniz.';\n    $.fn.validatebox.defaults.rules.remote.message = 'Lütfen bu alanı düzeltiniz.';\n}\nif ($.fn.calendar){\n    $.fn.calendar.defaults.weeks = ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'];\n    $.fn.calendar.defaults.months = ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'];\n}\nif ($.fn.datebox){\n    $.fn.datebox.defaults.currentText = 'Bugün';\n    $.fn.datebox.defaults.closeText = 'Kapat';\n    $.fn.datebox.defaults.okText = 'Tamam';\n}\nif ($.fn.datetimebox && $.fn.datebox){\n    $.extend($.fn.datetimebox.defaults,{\n        currentText: $.fn.datebox.defaults.currentText,\n        closeText: $.fn.datebox.defaults.closeText,\n        okText: $.fn.datebox.defaults.okText\n    });\n    \n    $.fn.datebox.defaults.formatter=function(date){\n        var y=date.getFullYear();\n        var m=date.getMonth()+1;\n        var d=date.getDate();\n        if(m<10){m=\"0\"+m;}\n        if(d<10){d=\"0\"+d;}\n        return d+\".\"+m+\".\"+y;\n    };\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-zh_CN.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = '第';\r\n\t$.fn.pagination.defaults.afterPageText = '共{pages}页';\r\n\t$.fn.pagination.defaults.displayMsg = '显示{from}到{to},共{total}记录';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = '正在处理，请稍待。。。';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = '确定';\r\n\t$.messager.defaults.cancel = '取消';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = '该输入项为必输项';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = '请输入有效的电子邮件地址';\r\n\t$.fn.validatebox.defaults.rules.url.message = '请输入有效的URL地址';\r\n\t$.fn.validatebox.defaults.rules.length.message = '输入内容长度必须介于{0}和{1}之间';\r\n\t$.fn.validatebox.defaults.rules.remote.message = '请修正该字段';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['日','一','二','三','四','五','六'];\r\n\t$.fn.calendar.defaults.months = ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = '今天';\r\n\t$.fn.datebox.defaults.closeText = '关闭';\r\n\t$.fn.datebox.defaults.okText = '确定';\r\n\t$.fn.datebox.defaults.formatter = function(date){\r\n\t\tvar y = date.getFullYear();\r\n\t\tvar m = date.getMonth()+1;\r\n\t\tvar d = date.getDate();\r\n\t\treturn y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d);\r\n\t};\r\n\t$.fn.datebox.defaults.parser = function(s){\r\n\t\tif (!s) return new Date();\r\n\t\tvar ss = s.split('-');\r\n\t\tvar y = parseInt(ss[0],10);\r\n\t\tvar m = parseInt(ss[1],10);\r\n\t\tvar d = parseInt(ss[2],10);\r\n\t\tif (!isNaN(y) && !isNaN(m) && !isNaN(d)){\r\n\t\t\treturn new Date(y,m-1,d);\r\n\t\t} else {\r\n\t\t\treturn new Date();\r\n\t\t}\r\n\t};\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\nif ($.fn.datetimespinner){\r\n\t$.fn.datetimespinner.defaults.selections = [[0,4],[5,7],[8,10],[11,13],[14,16],[17,19]]\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/locale/easyui-lang-zh_TW.js",
    "content": "if ($.fn.pagination){\r\n\t$.fn.pagination.defaults.beforePageText = '第';\r\n\t$.fn.pagination.defaults.afterPageText = '共{pages}頁';\r\n\t$.fn.pagination.defaults.displayMsg = '顯示{from}到{to},共{total}記錄';\r\n}\r\nif ($.fn.datagrid){\r\n\t$.fn.datagrid.defaults.loadMsg = '正在處理，請稍待。。。';\r\n}\r\nif ($.fn.treegrid && $.fn.datagrid){\r\n\t$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;\r\n}\r\nif ($.messager){\r\n\t$.messager.defaults.ok = '確定';\r\n\t$.messager.defaults.cancel = '取消';\r\n}\r\n$.map(['validatebox','textbox','filebox','searchbox',\r\n\t\t'combo','combobox','combogrid','combotree',\r\n\t\t'datebox','datetimebox','numberbox',\r\n\t\t'spinner','numberspinner','timespinner','datetimespinner'], function(plugin){\r\n\tif ($.fn[plugin]){\r\n\t\t$.fn[plugin].defaults.missingMessage = '該輸入項為必輸項';\r\n\t}\r\n});\r\nif ($.fn.validatebox){\r\n\t$.fn.validatebox.defaults.rules.email.message = '請輸入有效的電子郵件地址';\r\n\t$.fn.validatebox.defaults.rules.url.message = '請輸入有效的URL地址';\r\n\t$.fn.validatebox.defaults.rules.length.message = '輸入內容長度必須介於{0}和{1}之間';\r\n\t$.fn.validatebox.defaults.rules.remote.message = '請修正此欄位';\r\n}\r\nif ($.fn.calendar){\r\n\t$.fn.calendar.defaults.weeks = ['日','一','二','三','四','五','六'];\r\n\t$.fn.calendar.defaults.months = ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'];\r\n}\r\nif ($.fn.datebox){\r\n\t$.fn.datebox.defaults.currentText = '今天';\r\n\t$.fn.datebox.defaults.closeText = '關閉';\r\n\t$.fn.datebox.defaults.okText = '確定';\r\n}\r\nif ($.fn.datetimebox && $.fn.datebox){\r\n\t$.extend($.fn.datetimebox.defaults,{\r\n\t\tcurrentText: $.fn.datebox.defaults.currentText,\r\n\t\tcloseText: $.fn.datebox.defaults.closeText,\r\n\t\tokText: $.fn.datebox.defaults.okText\r\n\t});\r\n}\r\nif ($.fn.datetimespinner){\r\n\t$.fn.datetimespinner.defaults.selections = [[0,4],[5,7],[8,10],[11,13],[14,16],[17,19]]\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.accordion.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2,_3){\nvar _4=$.data(_2,\"accordion\");\nvar _5=_4.options;\nvar _6=_4.panels;\nvar cc=$(_2);\nif(_3){\n$.extend(_5,{width:_3.width,height:_3.height});\n}\ncc._size(_5);\nvar _7=0;\nvar _8=\"auto\";\nvar _9=cc.find(\">div.panel>div.accordion-header\");\nif(_9.length){\n_7=$(_9[0]).css(\"height\",\"\")._outerHeight();\n}\nif(!isNaN(parseInt(_5.height))){\n_8=cc.height()-_7*_9.length;\n}\n_a(true,_8-_a(false)+1);\nfunction _a(_b,_c){\nvar _d=0;\nfor(var i=0;i<_6.length;i++){\nvar p=_6[i];\nvar h=p.panel(\"header\")._outerHeight(_7);\nif(p.panel(\"options\").collapsible==_b){\nvar _e=isNaN(_c)?undefined:(_c+_7*h.length);\np.panel(\"resize\",{width:cc.width(),height:(_b?_e:undefined)});\n_d+=p.panel(\"panel\").outerHeight()-_7*h.length;\n}\n}\nreturn _d;\n};\n};\nfunction _f(_10,_11,_12,all){\nvar _13=$.data(_10,\"accordion\").panels;\nvar pp=[];\nfor(var i=0;i<_13.length;i++){\nvar p=_13[i];\nif(_11){\nif(p.panel(\"options\")[_11]==_12){\npp.push(p);\n}\n}else{\nif(p[0]==$(_12)[0]){\nreturn i;\n}\n}\n}\nif(_11){\nreturn all?pp:(pp.length?pp[0]:null);\n}else{\nreturn -1;\n}\n};\nfunction _14(_15){\nreturn _f(_15,\"collapsed\",false,true);\n};\nfunction _16(_17){\nvar pp=_14(_17);\nreturn pp.length?pp[0]:null;\n};\nfunction _18(_19,_1a){\nreturn _f(_19,null,_1a);\n};\nfunction _1b(_1c,_1d){\nvar _1e=$.data(_1c,\"accordion\").panels;\nif(typeof _1d==\"number\"){\nif(_1d<0||_1d>=_1e.length){\nreturn null;\n}else{\nreturn _1e[_1d];\n}\n}\nreturn _f(_1c,\"title\",_1d);\n};\nfunction _1f(_20){\nvar _21=$.data(_20,\"accordion\").options;\nvar cc=$(_20);\nif(_21.border){\ncc.removeClass(\"accordion-noborder\");\n}else{\ncc.addClass(\"accordion-noborder\");\n}\n};\nfunction _22(_23){\nvar _24=$.data(_23,\"accordion\");\nvar cc=$(_23);\ncc.addClass(\"accordion\");\n_24.panels=[];\ncc.children(\"div\").each(function(){\nvar _25=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr(\"selected\")?true:undefined)});\nvar pp=$(this);\n_24.panels.push(pp);\n_27(_23,pp,_25);\n});\ncc.bind(\"_resize\",function(e,_26){\nif($(this).hasClass(\"easyui-fluid\")||_26){\n_1(_23);\n}\nreturn false;\n});\n};\nfunction _27(_28,pp,_29){\nvar _2a=$.data(_28,\"accordion\").options;\npp.panel($.extend({},{collapsible:true,minimizable:false,maximizable:false,closable:false,doSize:false,collapsed:true,headerCls:\"accordion-header\",bodyCls:\"accordion-body\"},_29,{onBeforeExpand:function(){\nif(_29.onBeforeExpand){\nif(_29.onBeforeExpand.call(this)==false){\nreturn false;\n}\n}\nif(!_2a.multiple){\nvar all=$.grep(_14(_28),function(p){\nreturn p.panel(\"options\").collapsible;\n});\nfor(var i=0;i<all.length;i++){\n_35(_28,_18(_28,all[i]));\n}\n}\nvar _2b=$(this).panel(\"header\");\n_2b.addClass(\"accordion-header-selected\");\n_2b.find(\".accordion-collapse\").removeClass(\"accordion-expand\");\n},onExpand:function(){\nif(_29.onExpand){\n_29.onExpand.call(this);\n}\n_2a.onSelect.call(_28,$(this).panel(\"options\").title,_18(_28,this));\n},onBeforeCollapse:function(){\nif(_29.onBeforeCollapse){\nif(_29.onBeforeCollapse.call(this)==false){\nreturn false;\n}\n}\nvar _2c=$(this).panel(\"header\");\n_2c.removeClass(\"accordion-header-selected\");\n_2c.find(\".accordion-collapse\").addClass(\"accordion-expand\");\n},onCollapse:function(){\nif(_29.onCollapse){\n_29.onCollapse.call(this);\n}\n_2a.onUnselect.call(_28,$(this).panel(\"options\").title,_18(_28,this));\n}}));\nvar _2d=pp.panel(\"header\");\nvar _2e=_2d.children(\"div.panel-tool\");\n_2e.children(\"a.panel-tool-collapse\").hide();\nvar t=$(\"<a href=\\\"javascript:void(0)\\\"></a>\").addClass(\"accordion-collapse accordion-expand\").appendTo(_2e);\nt.bind(\"click\",function(){\nvar _2f=_18(_28,pp);\nif(pp.panel(\"options\").collapsed){\n_30(_28,_2f);\n}else{\n_35(_28,_2f);\n}\nreturn false;\n});\npp.panel(\"options\").collapsible?t.show():t.hide();\n_2d.click(function(){\n$(this).find(\"a.accordion-collapse:visible\").triggerHandler(\"click\");\nreturn false;\n});\n};\nfunction _30(_31,_32){\nvar p=_1b(_31,_32);\nif(!p){\nreturn;\n}\n_33(_31);\nvar _34=$.data(_31,\"accordion\").options;\np.panel(\"expand\",_34.animate);\n};\nfunction _35(_36,_37){\nvar p=_1b(_36,_37);\nif(!p){\nreturn;\n}\n_33(_36);\nvar _38=$.data(_36,\"accordion\").options;\np.panel(\"collapse\",_38.animate);\n};\nfunction _39(_3a){\nvar _3b=$.data(_3a,\"accordion\").options;\nvar p=_f(_3a,\"selected\",true);\nif(p){\n_3c(_18(_3a,p));\n}else{\n_3c(_3b.selected);\n}\nfunction _3c(_3d){\nvar _3e=_3b.animate;\n_3b.animate=false;\n_30(_3a,_3d);\n_3b.animate=_3e;\n};\n};\nfunction _33(_3f){\nvar _40=$.data(_3f,\"accordion\").panels;\nfor(var i=0;i<_40.length;i++){\n_40[i].stop(true,true);\n}\n};\nfunction add(_41,_42){\nvar _43=$.data(_41,\"accordion\");\nvar _44=_43.options;\nvar _45=_43.panels;\nif(_42.selected==undefined){\n_42.selected=true;\n}\n_33(_41);\nvar pp=$(\"<div></div>\").appendTo(_41);\n_45.push(pp);\n_27(_41,pp,_42);\n_1(_41);\n_44.onAdd.call(_41,_42.title,_45.length-1);\nif(_42.selected){\n_30(_41,_45.length-1);\n}\n};\nfunction _46(_47,_48){\nvar _49=$.data(_47,\"accordion\");\nvar _4a=_49.options;\nvar _4b=_49.panels;\n_33(_47);\nvar _4c=_1b(_47,_48);\nvar _4d=_4c.panel(\"options\").title;\nvar _4e=_18(_47,_4c);\nif(!_4c){\nreturn;\n}\nif(_4a.onBeforeRemove.call(_47,_4d,_4e)==false){\nreturn;\n}\n_4b.splice(_4e,1);\n_4c.panel(\"destroy\");\nif(_4b.length){\n_1(_47);\nvar _4f=_16(_47);\nif(!_4f){\n_30(_47,0);\n}\n}\n_4a.onRemove.call(_47,_4d,_4e);\n};\n$.fn.accordion=function(_50,_51){\nif(typeof _50==\"string\"){\nreturn $.fn.accordion.methods[_50](this,_51);\n}\n_50=_50||{};\nreturn this.each(function(){\nvar _52=$.data(this,\"accordion\");\nif(_52){\n$.extend(_52.options,_50);\n}else{\n$.data(this,\"accordion\",{options:$.extend({},$.fn.accordion.defaults,$.fn.accordion.parseOptions(this),_50),accordion:$(this).addClass(\"accordion\"),panels:[]});\n_22(this);\n}\n_1f(this);\n_1(this);\n_39(this);\n});\n};\n$.fn.accordion.methods={options:function(jq){\nreturn $.data(jq[0],\"accordion\").options;\n},panels:function(jq){\nreturn $.data(jq[0],\"accordion\").panels;\n},resize:function(jq,_53){\nreturn jq.each(function(){\n_1(this,_53);\n});\n},getSelections:function(jq){\nreturn _14(jq[0]);\n},getSelected:function(jq){\nreturn _16(jq[0]);\n},getPanel:function(jq,_54){\nreturn _1b(jq[0],_54);\n},getPanelIndex:function(jq,_55){\nreturn _18(jq[0],_55);\n},select:function(jq,_56){\nreturn jq.each(function(){\n_30(this,_56);\n});\n},unselect:function(jq,_57){\nreturn jq.each(function(){\n_35(this,_57);\n});\n},add:function(jq,_58){\nreturn jq.each(function(){\nadd(this,_58);\n});\n},remove:function(jq,_59){\nreturn jq.each(function(){\n_46(this,_59);\n});\n}};\n$.fn.accordion.parseOptions=function(_5a){\nvar t=$(_5a);\nreturn $.extend({},$.parser.parseOptions(_5a,[\"width\",\"height\",{fit:\"boolean\",border:\"boolean\",animate:\"boolean\",multiple:\"boolean\",selected:\"number\"}]));\n};\n$.fn.accordion.defaults={width:\"auto\",height:\"auto\",fit:false,border:true,animate:true,multiple:false,selected:0,onSelect:function(_5b,_5c){\n},onUnselect:function(_5d,_5e){\n},onAdd:function(_5f,_60){\n},onBeforeRemove:function(_61,_62){\n},onRemove:function(_63,_64){\n}};\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.calendar.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2,_3){\nvar _4=$.data(_2,\"calendar\").options;\nvar t=$(_2);\nif(_3){\n$.extend(_4,{width:_3.width,height:_3.height});\n}\nt._size(_4,t.parent());\nt.find(\".calendar-body\")._outerHeight(t.height()-t.find(\".calendar-header\")._outerHeight());\nif(t.find(\".calendar-menu\").is(\":visible\")){\n_5(_2);\n}\n};\nfunction _6(_7){\n$(_7).addClass(\"calendar\").html(\"<div class=\\\"calendar-header\\\">\"+\"<div class=\\\"calendar-nav calendar-prevmonth\\\"></div>\"+\"<div class=\\\"calendar-nav calendar-nextmonth\\\"></div>\"+\"<div class=\\\"calendar-nav calendar-prevyear\\\"></div>\"+\"<div class=\\\"calendar-nav calendar-nextyear\\\"></div>\"+\"<div class=\\\"calendar-title\\\">\"+\"<span class=\\\"calendar-text\\\"></span>\"+\"</div>\"+\"</div>\"+\"<div class=\\\"calendar-body\\\">\"+\"<div class=\\\"calendar-menu\\\">\"+\"<div class=\\\"calendar-menu-year-inner\\\">\"+\"<span class=\\\"calendar-nav calendar-menu-prev\\\"></span>\"+\"<span><input class=\\\"calendar-menu-year\\\" type=\\\"text\\\"></input></span>\"+\"<span class=\\\"calendar-nav calendar-menu-next\\\"></span>\"+\"</div>\"+\"<div class=\\\"calendar-menu-month-inner\\\">\"+\"</div>\"+\"</div>\"+\"</div>\");\n$(_7).bind(\"_resize\",function(e,_8){\nif($(this).hasClass(\"easyui-fluid\")||_8){\n_1(_7);\n}\nreturn false;\n});\n};\nfunction _9(_a){\nvar _b=$.data(_a,\"calendar\").options;\nvar _c=$(_a).find(\".calendar-menu\");\n_c.find(\".calendar-menu-year\").unbind(\".calendar\").bind(\"keypress.calendar\",function(e){\nif(e.keyCode==13){\n_d(true);\n}\n});\n$(_a).unbind(\".calendar\").bind(\"mouseover.calendar\",function(e){\nvar t=_e(e.target);\nif(t.hasClass(\"calendar-nav\")||t.hasClass(\"calendar-text\")||(t.hasClass(\"calendar-day\")&&!t.hasClass(\"calendar-disabled\"))){\nt.addClass(\"calendar-nav-hover\");\n}\n}).bind(\"mouseout.calendar\",function(e){\nvar t=_e(e.target);\nif(t.hasClass(\"calendar-nav\")||t.hasClass(\"calendar-text\")||(t.hasClass(\"calendar-day\")&&!t.hasClass(\"calendar-disabled\"))){\nt.removeClass(\"calendar-nav-hover\");\n}\n}).bind(\"click.calendar\",function(e){\nvar t=_e(e.target);\nif(t.hasClass(\"calendar-menu-next\")||t.hasClass(\"calendar-nextyear\")){\n_f(1);\n}else{\nif(t.hasClass(\"calendar-menu-prev\")||t.hasClass(\"calendar-prevyear\")){\n_f(-1);\n}else{\nif(t.hasClass(\"calendar-menu-month\")){\n_c.find(\".calendar-selected\").removeClass(\"calendar-selected\");\nt.addClass(\"calendar-selected\");\n_d(true);\n}else{\nif(t.hasClass(\"calendar-prevmonth\")){\n_10(-1);\n}else{\nif(t.hasClass(\"calendar-nextmonth\")){\n_10(1);\n}else{\nif(t.hasClass(\"calendar-text\")){\nif(_c.is(\":visible\")){\n_c.hide();\n}else{\n_5(_a);\n}\n}else{\nif(t.hasClass(\"calendar-day\")){\nif(t.hasClass(\"calendar-disabled\")){\nreturn;\n}\nvar _11=_b.current;\nt.closest(\"div.calendar-body\").find(\".calendar-selected\").removeClass(\"calendar-selected\");\nt.addClass(\"calendar-selected\");\nvar _12=t.attr(\"abbr\").split(\",\");\nvar y=parseInt(_12[0]);\nvar m=parseInt(_12[1]);\nvar d=parseInt(_12[2]);\n_b.current=new Date(y,m-1,d);\n_b.onSelect.call(_a,_b.current);\nif(!_11||_11.getTime()!=_b.current.getTime()){\n_b.onChange.call(_a,_b.current,_11);\n}\nif(_b.year!=y||_b.month!=m){\n_b.year=y;\n_b.month=m;\n_19(_a);\n}\n}\n}\n}\n}\n}\n}\n}\n});\nfunction _e(t){\nvar day=$(t).closest(\".calendar-day\");\nif(day.length){\nreturn day;\n}else{\nreturn $(t);\n}\n};\nfunction _d(_13){\nvar _14=$(_a).find(\".calendar-menu\");\nvar _15=_14.find(\".calendar-menu-year\").val();\nvar _16=_14.find(\".calendar-selected\").attr(\"abbr\");\nif(!isNaN(_15)){\n_b.year=parseInt(_15);\n_b.month=parseInt(_16);\n_19(_a);\n}\nif(_13){\n_14.hide();\n}\n};\nfunction _f(_17){\n_b.year+=_17;\n_19(_a);\n_c.find(\".calendar-menu-year\").val(_b.year);\n};\nfunction _10(_18){\n_b.month+=_18;\nif(_b.month>12){\n_b.year++;\n_b.month=1;\n}else{\nif(_b.month<1){\n_b.year--;\n_b.month=12;\n}\n}\n_19(_a);\n_c.find(\"td.calendar-selected\").removeClass(\"calendar-selected\");\n_c.find(\"td:eq(\"+(_b.month-1)+\")\").addClass(\"calendar-selected\");\n};\n};\nfunction _5(_1a){\nvar _1b=$.data(_1a,\"calendar\").options;\n$(_1a).find(\".calendar-menu\").show();\nif($(_1a).find(\".calendar-menu-month-inner\").is(\":empty\")){\n$(_1a).find(\".calendar-menu-month-inner\").empty();\nvar t=$(\"<table class=\\\"calendar-mtable\\\"></table>\").appendTo($(_1a).find(\".calendar-menu-month-inner\"));\nvar idx=0;\nfor(var i=0;i<3;i++){\nvar tr=$(\"<tr></tr>\").appendTo(t);\nfor(var j=0;j<4;j++){\n$(\"<td class=\\\"calendar-nav calendar-menu-month\\\"></td>\").html(_1b.months[idx++]).attr(\"abbr\",idx).appendTo(tr);\n}\n}\n}\nvar _1c=$(_1a).find(\".calendar-body\");\nvar _1d=$(_1a).find(\".calendar-menu\");\nvar _1e=_1d.find(\".calendar-menu-year-inner\");\nvar _1f=_1d.find(\".calendar-menu-month-inner\");\n_1e.find(\"input\").val(_1b.year).focus();\n_1f.find(\"td.calendar-selected\").removeClass(\"calendar-selected\");\n_1f.find(\"td:eq(\"+(_1b.month-1)+\")\").addClass(\"calendar-selected\");\n_1d._outerWidth(_1c._outerWidth());\n_1d._outerHeight(_1c._outerHeight());\n_1f._outerHeight(_1d.height()-_1e._outerHeight());\n};\nfunction _20(_21,_22,_23){\nvar _24=$.data(_21,\"calendar\").options;\nvar _25=[];\nvar _26=new Date(_22,_23,0).getDate();\nfor(var i=1;i<=_26;i++){\n_25.push([_22,_23,i]);\n}\nvar _27=[],_28=[];\nvar _29=-1;\nwhile(_25.length>0){\nvar _2a=_25.shift();\n_28.push(_2a);\nvar day=new Date(_2a[0],_2a[1]-1,_2a[2]).getDay();\nif(_29==day){\nday=0;\n}else{\nif(day==(_24.firstDay==0?7:_24.firstDay)-1){\n_27.push(_28);\n_28=[];\n}\n}\n_29=day;\n}\nif(_28.length){\n_27.push(_28);\n}\nvar _2b=_27[0];\nif(_2b.length<7){\nwhile(_2b.length<7){\nvar _2c=_2b[0];\nvar _2a=new Date(_2c[0],_2c[1]-1,_2c[2]-1);\n_2b.unshift([_2a.getFullYear(),_2a.getMonth()+1,_2a.getDate()]);\n}\n}else{\nvar _2c=_2b[0];\nvar _28=[];\nfor(var i=1;i<=7;i++){\nvar _2a=new Date(_2c[0],_2c[1]-1,_2c[2]-i);\n_28.unshift([_2a.getFullYear(),_2a.getMonth()+1,_2a.getDate()]);\n}\n_27.unshift(_28);\n}\nvar _2d=_27[_27.length-1];\nwhile(_2d.length<7){\nvar _2e=_2d[_2d.length-1];\nvar _2a=new Date(_2e[0],_2e[1]-1,_2e[2]+1);\n_2d.push([_2a.getFullYear(),_2a.getMonth()+1,_2a.getDate()]);\n}\nif(_27.length<6){\nvar _2e=_2d[_2d.length-1];\nvar _28=[];\nfor(var i=1;i<=7;i++){\nvar _2a=new Date(_2e[0],_2e[1]-1,_2e[2]+i);\n_28.push([_2a.getFullYear(),_2a.getMonth()+1,_2a.getDate()]);\n}\n_27.push(_28);\n}\nreturn _27;\n};\nfunction _19(_2f){\nvar _30=$.data(_2f,\"calendar\").options;\nif(_30.current&&!_30.validator.call(_2f,_30.current)){\n_30.current=null;\n}\nvar now=new Date();\nvar _31=now.getFullYear()+\",\"+(now.getMonth()+1)+\",\"+now.getDate();\nvar _32=_30.current?(_30.current.getFullYear()+\",\"+(_30.current.getMonth()+1)+\",\"+_30.current.getDate()):\"\";\nvar _33=6-_30.firstDay;\nvar _34=_33+1;\nif(_33>=7){\n_33-=7;\n}\nif(_34>=7){\n_34-=7;\n}\n$(_2f).find(\".calendar-title span\").html(_30.months[_30.month-1]+\" \"+_30.year);\nvar _35=$(_2f).find(\"div.calendar-body\");\n_35.children(\"table\").remove();\nvar _36=[\"<table class=\\\"calendar-dtable\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\" border=\\\"0\\\">\"];\n_36.push(\"<thead><tr>\");\nfor(var i=_30.firstDay;i<_30.weeks.length;i++){\n_36.push(\"<th>\"+_30.weeks[i]+\"</th>\");\n}\nfor(var i=0;i<_30.firstDay;i++){\n_36.push(\"<th>\"+_30.weeks[i]+\"</th>\");\n}\n_36.push(\"</tr></thead>\");\n_36.push(\"<tbody>\");\nvar _37=_20(_2f,_30.year,_30.month);\nfor(var i=0;i<_37.length;i++){\nvar _38=_37[i];\nvar cls=\"\";\nif(i==0){\ncls=\"calendar-first\";\n}else{\nif(i==_37.length-1){\ncls=\"calendar-last\";\n}\n}\n_36.push(\"<tr class=\\\"\"+cls+\"\\\">\");\nfor(var j=0;j<_38.length;j++){\nvar day=_38[j];\nvar s=day[0]+\",\"+day[1]+\",\"+day[2];\nvar _39=new Date(day[0],parseInt(day[1])-1,day[2]);\nvar d=_30.formatter.call(_2f,_39);\nvar css=_30.styler.call(_2f,_39);\nvar _3a=\"\";\nvar _3b=\"\";\nif(typeof css==\"string\"){\n_3b=css;\n}else{\nif(css){\n_3a=css[\"class\"]||\"\";\n_3b=css[\"style\"]||\"\";\n}\n}\nvar cls=\"calendar-day\";\nif(!(_30.year==day[0]&&_30.month==day[1])){\ncls+=\" calendar-other-month\";\n}\nif(s==_31){\ncls+=\" calendar-today\";\n}\nif(s==_32){\ncls+=\" calendar-selected\";\n}\nif(j==_33){\ncls+=\" calendar-saturday\";\n}else{\nif(j==_34){\ncls+=\" calendar-sunday\";\n}\n}\nif(j==0){\ncls+=\" calendar-first\";\n}else{\nif(j==_38.length-1){\ncls+=\" calendar-last\";\n}\n}\ncls+=\" \"+_3a;\nif(!_30.validator.call(_2f,_39)){\ncls+=\" calendar-disabled\";\n}\n_36.push(\"<td class=\\\"\"+cls+\"\\\" abbr=\\\"\"+s+\"\\\" style=\\\"\"+_3b+\"\\\">\"+d+\"</td>\");\n}\n_36.push(\"</tr>\");\n}\n_36.push(\"</tbody>\");\n_36.push(\"</table>\");\n_35.append(_36.join(\"\"));\n_35.children(\"table.calendar-dtable\").prependTo(_35);\n_30.onNavigate.call(_2f,_30.year,_30.month);\n};\n$.fn.calendar=function(_3c,_3d){\nif(typeof _3c==\"string\"){\nreturn $.fn.calendar.methods[_3c](this,_3d);\n}\n_3c=_3c||{};\nreturn this.each(function(){\nvar _3e=$.data(this,\"calendar\");\nif(_3e){\n$.extend(_3e.options,_3c);\n}else{\n_3e=$.data(this,\"calendar\",{options:$.extend({},$.fn.calendar.defaults,$.fn.calendar.parseOptions(this),_3c)});\n_6(this);\n}\nif(_3e.options.border==false){\n$(this).addClass(\"calendar-noborder\");\n}\n_1(this);\n_9(this);\n_19(this);\n$(this).find(\"div.calendar-menu\").hide();\n});\n};\n$.fn.calendar.methods={options:function(jq){\nreturn $.data(jq[0],\"calendar\").options;\n},resize:function(jq,_3f){\nreturn jq.each(function(){\n_1(this,_3f);\n});\n},moveTo:function(jq,_40){\nreturn jq.each(function(){\nvar _41=$(this).calendar(\"options\");\nif(_41.validator.call(this,_40)){\nvar _42=_41.current;\n$(this).calendar({year:_40.getFullYear(),month:_40.getMonth()+1,current:_40});\nif(!_42||_42.getTime()!=_40.getTime()){\n_41.onChange.call(this,_41.current,_42);\n}\n}\n});\n}};\n$.fn.calendar.parseOptions=function(_43){\nvar t=$(_43);\nreturn $.extend({},$.parser.parseOptions(_43,[{firstDay:\"number\",fit:\"boolean\",border:\"boolean\"}]));\n};\n$.fn.calendar.defaults={width:180,height:180,fit:false,border:true,firstDay:0,weeks:[\"S\",\"M\",\"T\",\"W\",\"T\",\"F\",\"S\"],months:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],year:new Date().getFullYear(),month:new Date().getMonth()+1,current:(function(){\nvar d=new Date();\nreturn new Date(d.getFullYear(),d.getMonth(),d.getDate());\n})(),formatter:function(_44){\nreturn _44.getDate();\n},styler:function(_45){\nreturn \"\";\n},validator:function(_46){\nreturn true;\n},onSelect:function(_47){\n},onChange:function(_48,_49){\n},onNavigate:function(_4a,_4b){\n}};\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.combo.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\n$(function(){\n$(document).unbind(\".combo\").bind(\"mousedown.combo mousewheel.combo\",function(e){\nvar p=$(e.target).closest(\"span.combo,div.combo-p\");\nif(p.length){\n_1(p);\nreturn;\n}\n$(\"body>div.combo-p>div.combo-panel:visible\").panel(\"close\");\n});\n});\nfunction _2(_3){\nvar _4=$.data(_3,\"combo\");\nvar _5=_4.options;\nif(!_4.panel){\n_4.panel=$(\"<div class=\\\"combo-panel\\\"></div>\").appendTo(\"body\");\n_4.panel.panel({minWidth:_5.panelMinWidth,maxWidth:_5.panelMaxWidth,minHeight:_5.panelMinHeight,maxHeight:_5.panelMaxHeight,doSize:false,closed:true,cls:\"combo-p\",style:{position:\"absolute\",zIndex:10},onOpen:function(){\nvar _6=$(this).panel(\"options\").comboTarget;\nvar _7=$.data(_6,\"combo\");\nif(_7){\n_7.options.onShowPanel.call(_6);\n}\n},onBeforeClose:function(){\n_1(this);\n},onClose:function(){\nvar _8=$(this).panel(\"options\").comboTarget;\nvar _9=$.data(_8,\"combo\");\nif(_9){\n_9.options.onHidePanel.call(_8);\n}\n}});\n}\nvar _a=$.extend(true,[],_5.icons);\nif(_5.hasDownArrow){\n_a.push({iconCls:\"combo-arrow\",handler:function(e){\n_f(e.data.target);\n}});\n}\n$(_3).addClass(\"combo-f\").textbox($.extend({},_5,{icons:_a,onChange:function(){\n}}));\n$(_3).attr(\"comboName\",$(_3).attr(\"textboxName\"));\n_4.combo=$(_3).next();\n_4.combo.addClass(\"combo\");\n};\nfunction _b(_c){\nvar _d=$.data(_c,\"combo\");\nvar _e=_d.options;\nvar p=_d.panel;\nif(p.is(\":visible\")){\np.panel(\"close\");\n}\nif(!_e.cloned){\np.panel(\"destroy\");\n}\n$(_c).textbox(\"destroy\");\n};\nfunction _f(_10){\nvar _11=$.data(_10,\"combo\").panel;\nif(_11.is(\":visible\")){\n_12(_10);\n}else{\nvar p=$(_10).closest(\"div.combo-panel\");\n$(\"div.combo-panel:visible\").not(_11).not(p).panel(\"close\");\n$(_10).combo(\"showPanel\");\n}\n$(_10).combo(\"textbox\").focus();\n};\nfunction _1(_13){\n$(_13).find(\".combo-f\").each(function(){\nvar p=$(this).combo(\"panel\");\nif(p.is(\":visible\")){\np.panel(\"close\");\n}\n});\n};\nfunction _14(e){\nvar _15=e.data.target;\nvar _16=$.data(_15,\"combo\");\nvar _17=_16.options;\nvar _18=_16.panel;\nif(!_17.editable){\n_f(_15);\n}else{\nvar p=$(_15).closest(\"div.combo-panel\");\n$(\"div.combo-panel:visible\").not(_18).not(p).panel(\"close\");\n}\n};\nfunction _19(e){\nvar _1a=e.data.target;\nvar t=$(_1a);\nvar _1b=t.data(\"combo\");\nvar _1c=t.combo(\"options\");\nswitch(e.keyCode){\ncase 38:\n_1c.keyHandler.up.call(_1a,e);\nbreak;\ncase 40:\n_1c.keyHandler.down.call(_1a,e);\nbreak;\ncase 37:\n_1c.keyHandler.left.call(_1a,e);\nbreak;\ncase 39:\n_1c.keyHandler.right.call(_1a,e);\nbreak;\ncase 13:\ne.preventDefault();\n_1c.keyHandler.enter.call(_1a,e);\nreturn false;\ncase 9:\ncase 27:\n_12(_1a);\nbreak;\ndefault:\nif(_1c.editable){\nif(_1b.timer){\nclearTimeout(_1b.timer);\n}\n_1b.timer=setTimeout(function(){\nvar q=t.combo(\"getText\");\nif(_1b.previousText!=q){\n_1b.previousText=q;\nt.combo(\"showPanel\");\n_1c.keyHandler.query.call(_1a,q,e);\nt.combo(\"validate\");\n}\n},_1c.delay);\n}\n}\n};\nfunction _1d(_1e){\nvar _1f=$.data(_1e,\"combo\");\nvar _20=_1f.combo;\nvar _21=_1f.panel;\nvar _22=$(_1e).combo(\"options\");\nvar _23=_21.panel(\"options\");\n_23.comboTarget=_1e;\nif(_23.closed){\n_21.panel(\"panel\").show().css({zIndex:($.fn.menu?$.fn.menu.defaults.zIndex++:$.fn.window.defaults.zIndex++),left:-999999});\n_21.panel(\"resize\",{width:(_22.panelWidth?_22.panelWidth:_20._outerWidth()),height:_22.panelHeight});\n_21.panel(\"panel\").hide();\n_21.panel(\"open\");\n}\n(function(){\nif(_21.is(\":visible\")){\n_21.panel(\"move\",{left:_24(),top:_25()});\nsetTimeout(arguments.callee,200);\n}\n})();\nfunction _24(){\nvar _26=_20.offset().left;\nif(_22.panelAlign==\"right\"){\n_26+=_20._outerWidth()-_21._outerWidth();\n}\nif(_26+_21._outerWidth()>$(window)._outerWidth()+$(document).scrollLeft()){\n_26=$(window)._outerWidth()+$(document).scrollLeft()-_21._outerWidth();\n}\nif(_26<0){\n_26=0;\n}\nreturn _26;\n};\nfunction _25(){\nvar top=_20.offset().top+_20._outerHeight();\nif(top+_21._outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){\ntop=_20.offset().top-_21._outerHeight();\n}\nif(top<$(document).scrollTop()){\ntop=_20.offset().top+_20._outerHeight();\n}\nreturn top;\n};\n};\nfunction _12(_27){\nvar _28=$.data(_27,\"combo\").panel;\n_28.panel(\"close\");\n};\nfunction _29(_2a){\nvar _2b=$.data(_2a,\"combo\");\nvar _2c=_2b.options;\nvar _2d=_2b.combo;\n$(_2a).textbox(\"clear\");\nif(_2c.multiple){\n_2d.find(\".textbox-value\").remove();\n}else{\n_2d.find(\".textbox-value\").val(\"\");\n}\n};\nfunction _2e(_2f,_30){\nvar _31=$.data(_2f,\"combo\");\nvar _32=$(_2f).textbox(\"getText\");\nif(_32!=_30){\n$(_2f).textbox(\"setText\",_30);\n_31.previousText=_30;\n}\n};\nfunction _33(_34){\nvar _35=[];\nvar _36=$.data(_34,\"combo\").combo;\n_36.find(\".textbox-value\").each(function(){\n_35.push($(this).val());\n});\nreturn _35;\n};\nfunction _37(_38,_39){\nvar _3a=$.data(_38,\"combo\");\nvar _3b=_3a.options;\nvar _3c=_3a.combo;\nif(!$.isArray(_39)){\n_39=_39.split(_3b.separator);\n}\nvar _3d=_33(_38);\n_3c.find(\".textbox-value\").remove();\nvar _3e=$(_38).attr(\"textboxName\")||\"\";\nfor(var i=0;i<_39.length;i++){\nvar _3f=$(\"<input type=\\\"hidden\\\" class=\\\"textbox-value\\\">\").appendTo(_3c);\n_3f.attr(\"name\",_3e);\nif(_3b.disabled){\n_3f.attr(\"disabled\",\"disabled\");\n}\n_3f.val(_39[i]);\n}\nvar _40=(function(){\nif(_3d.length!=_39.length){\nreturn true;\n}\nvar a1=$.extend(true,[],_3d);\nvar a2=$.extend(true,[],_39);\na1.sort();\na2.sort();\nfor(var i=0;i<a1.length;i++){\nif(a1[i]!=a2[i]){\nreturn true;\n}\n}\nreturn false;\n})();\nif(_40){\nif(_3b.multiple){\n_3b.onChange.call(_38,_39,_3d);\n}else{\n_3b.onChange.call(_38,_39[0],_3d[0]);\n}\n}\n};\nfunction _41(_42){\nvar _43=_33(_42);\nreturn _43[0];\n};\nfunction _44(_45,_46){\n_37(_45,[_46]);\n};\nfunction _47(_48){\nvar _49=$.data(_48,\"combo\").options;\nvar _4a=_49.onChange;\n_49.onChange=function(){\n};\nif(_49.multiple){\n_37(_48,_49.value?_49.value:[]);\n}else{\n_44(_48,_49.value);\n}\n_49.onChange=_4a;\n};\n$.fn.combo=function(_4b,_4c){\nif(typeof _4b==\"string\"){\nvar _4d=$.fn.combo.methods[_4b];\nif(_4d){\nreturn _4d(this,_4c);\n}else{\nreturn this.textbox(_4b,_4c);\n}\n}\n_4b=_4b||{};\nreturn this.each(function(){\nvar _4e=$.data(this,\"combo\");\nif(_4e){\n$.extend(_4e.options,_4b);\nif(_4b.value!=undefined){\n_4e.options.originalValue=_4b.value;\n}\n}else{\n_4e=$.data(this,\"combo\",{options:$.extend({},$.fn.combo.defaults,$.fn.combo.parseOptions(this),_4b),previousText:\"\"});\n_4e.options.originalValue=_4e.options.value;\n}\n_2(this);\n_47(this);\n});\n};\n$.fn.combo.methods={options:function(jq){\nvar _4f=jq.textbox(\"options\");\nreturn $.extend($.data(jq[0],\"combo\").options,{width:_4f.width,height:_4f.height,disabled:_4f.disabled,readonly:_4f.readonly});\n},cloneFrom:function(jq,_50){\nreturn jq.each(function(){\n$(this).textbox(\"cloneFrom\",_50);\n$.data(this,\"combo\",{options:$.extend(true,{cloned:true},$(_50).combo(\"options\")),combo:$(this).next(),panel:$(_50).combo(\"panel\")});\n$(this).addClass(\"combo-f\").attr(\"comboName\",$(this).attr(\"textboxName\"));\n});\n},panel:function(jq){\nreturn $.data(jq[0],\"combo\").panel;\n},destroy:function(jq){\nreturn jq.each(function(){\n_b(this);\n});\n},showPanel:function(jq){\nreturn jq.each(function(){\n_1d(this);\n});\n},hidePanel:function(jq){\nreturn jq.each(function(){\n_12(this);\n});\n},clear:function(jq){\nreturn jq.each(function(){\n_29(this);\n});\n},reset:function(jq){\nreturn jq.each(function(){\nvar _51=$.data(this,\"combo\").options;\nif(_51.multiple){\n$(this).combo(\"setValues\",_51.originalValue);\n}else{\n$(this).combo(\"setValue\",_51.originalValue);\n}\n});\n},setText:function(jq,_52){\nreturn jq.each(function(){\n_2e(this,_52);\n});\n},getValues:function(jq){\nreturn _33(jq[0]);\n},setValues:function(jq,_53){\nreturn jq.each(function(){\n_37(this,_53);\n});\n},getValue:function(jq){\nreturn _41(jq[0]);\n},setValue:function(jq,_54){\nreturn jq.each(function(){\n_44(this,_54);\n});\n}};\n$.fn.combo.parseOptions=function(_55){\nvar t=$(_55);\nreturn $.extend({},$.fn.textbox.parseOptions(_55),$.parser.parseOptions(_55,[\"separator\",\"panelAlign\",{panelWidth:\"number\",hasDownArrow:\"boolean\",delay:\"number\",selectOnNavigation:\"boolean\"},{panelMinWidth:\"number\",panelMaxWidth:\"number\",panelMinHeight:\"number\",panelMaxHeight:\"number\"}]),{panelHeight:(t.attr(\"panelHeight\")==\"auto\"?\"auto\":parseInt(t.attr(\"panelHeight\"))||undefined),multiple:(t.attr(\"multiple\")?true:undefined)});\n};\n$.fn.combo.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{click:_14,keydown:_19,paste:_19,drop:_19},panelWidth:null,panelHeight:200,panelMinWidth:null,panelMaxWidth:null,panelMinHeight:null,panelMaxHeight:null,panelAlign:\"left\",multiple:false,selectOnNavigation:true,separator:\",\",hasDownArrow:true,delay:200,keyHandler:{up:function(e){\n},down:function(e){\n},left:function(e){\n},right:function(e){\n},enter:function(e){\n},query:function(q,e){\n}},onShowPanel:function(){\n},onHidePanel:function(){\n},onChange:function(_56,_57){\n}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.combobox.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nvar _1=0;\nfunction _2(_3,_4){\nvar _5=$.data(_3,\"combobox\");\nvar _6=_5.options;\nvar _7=_5.data;\nfor(var i=0;i<_7.length;i++){\nif(_7[i][_6.valueField]==_4){\nreturn i;\n}\n}\nreturn -1;\n};\nfunction _8(_9,_a){\nvar _b=$.data(_9,\"combobox\").options;\nvar _c=$(_9).combo(\"panel\");\nvar _d=_b.finder.getEl(_9,_a);\nif(_d.length){\nif(_d.position().top<=0){\nvar h=_c.scrollTop()+_d.position().top;\n_c.scrollTop(h);\n}else{\nif(_d.position().top+_d.outerHeight()>_c.height()){\nvar h=_c.scrollTop()+_d.position().top+_d.outerHeight()-_c.height();\n_c.scrollTop(h);\n}\n}\n}\n};\nfunction _e(_f,dir){\nvar _10=$.data(_f,\"combobox\").options;\nvar _11=$(_f).combobox(\"panel\");\nvar _12=_11.children(\"div.combobox-item-hover\");\nif(!_12.length){\n_12=_11.children(\"div.combobox-item-selected\");\n}\n_12.removeClass(\"combobox-item-hover\");\nvar _13=\"div.combobox-item:visible:not(.combobox-item-disabled):first\";\nvar _14=\"div.combobox-item:visible:not(.combobox-item-disabled):last\";\nif(!_12.length){\n_12=_11.children(dir==\"next\"?_13:_14);\n}else{\nif(dir==\"next\"){\n_12=_12.nextAll(_13);\nif(!_12.length){\n_12=_11.children(_13);\n}\n}else{\n_12=_12.prevAll(_13);\nif(!_12.length){\n_12=_11.children(_14);\n}\n}\n}\nif(_12.length){\n_12.addClass(\"combobox-item-hover\");\nvar row=_10.finder.getRow(_f,_12);\nif(row){\n_8(_f,row[_10.valueField]);\nif(_10.selectOnNavigation){\n_15(_f,row[_10.valueField]);\n}\n}\n}\n};\nfunction _15(_16,_17){\nvar _18=$.data(_16,\"combobox\").options;\nvar _19=$(_16).combo(\"getValues\");\nif($.inArray(_17+\"\",_19)==-1){\nif(_18.multiple){\n_19.push(_17);\n}else{\n_19=[_17];\n}\n_1a(_16,_19);\n_18.onSelect.call(_16,_18.finder.getRow(_16,_17));\n}\n};\nfunction _1b(_1c,_1d){\nvar _1e=$.data(_1c,\"combobox\").options;\nvar _1f=$(_1c).combo(\"getValues\");\nvar _20=$.inArray(_1d+\"\",_1f);\nif(_20>=0){\n_1f.splice(_20,1);\n_1a(_1c,_1f);\n_1e.onUnselect.call(_1c,_1e.finder.getRow(_1c,_1d));\n}\n};\nfunction _1a(_21,_22,_23){\nvar _24=$.data(_21,\"combobox\").options;\nvar _25=$(_21).combo(\"panel\");\nif(!$.isArray(_22)){\n_22=_22.split(_24.separator);\n}\n_25.find(\"div.combobox-item-selected\").removeClass(\"combobox-item-selected\");\nvar vv=[],ss=[];\nfor(var i=0;i<_22.length;i++){\nvar v=_22[i];\nvar s=v;\n_24.finder.getEl(_21,v).addClass(\"combobox-item-selected\");\nvar row=_24.finder.getRow(_21,v);\nif(row){\ns=row[_24.textField];\n}\nvv.push(v);\nss.push(s);\n}\n$(_21).combo(\"setValues\",vv);\nif(!_23){\n$(_21).combo(\"setText\",ss.join(_24.separator));\n}\n};\nfunction _26(_27,_28,_29){\nvar _2a=$.data(_27,\"combobox\");\nvar _2b=_2a.options;\n_2a.data=_2b.loadFilter.call(_27,_28);\n_2a.groups=[];\n_28=_2a.data;\nvar _2c=$(_27).combobox(\"getValues\");\nvar dd=[];\nvar _2d=undefined;\nfor(var i=0;i<_28.length;i++){\nvar row=_28[i];\nvar v=row[_2b.valueField]+\"\";\nvar s=row[_2b.textField];\nvar g=row[_2b.groupField];\nif(g){\nif(_2d!=g){\n_2d=g;\n_2a.groups.push(g);\ndd.push(\"<div id=\\\"\"+(_2a.groupIdPrefix+\"_\"+(_2a.groups.length-1))+\"\\\" class=\\\"combobox-group\\\">\");\ndd.push(_2b.groupFormatter?_2b.groupFormatter.call(_27,g):g);\ndd.push(\"</div>\");\n}\n}else{\n_2d=undefined;\n}\nvar cls=\"combobox-item\"+(row.disabled?\" combobox-item-disabled\":\"\")+(g?\" combobox-gitem\":\"\");\ndd.push(\"<div id=\\\"\"+(_2a.itemIdPrefix+\"_\"+i)+\"\\\" class=\\\"\"+cls+\"\\\">\");\ndd.push(_2b.formatter?_2b.formatter.call(_27,row):s);\ndd.push(\"</div>\");\nif(row[\"selected\"]&&$.inArray(v,_2c)==-1){\n_2c.push(v);\n}\n}\n$(_27).combo(\"panel\").html(dd.join(\"\"));\nif(_2b.multiple){\n_1a(_27,_2c,_29);\n}else{\n_1a(_27,_2c.length?[_2c[_2c.length-1]]:[],_29);\n}\n_2b.onLoadSuccess.call(_27,_28);\n};\nfunction _2e(_2f,url,_30,_31){\nvar _32=$.data(_2f,\"combobox\").options;\nif(url){\n_32.url=url;\n}\n_30=_30||{};\nif(_32.onBeforeLoad.call(_2f,_30)==false){\nreturn;\n}\n_32.loader.call(_2f,_30,function(_33){\n_26(_2f,_33,_31);\n},function(){\n_32.onLoadError.apply(this,arguments);\n});\n};\nfunction _34(_35,q){\nvar _36=$.data(_35,\"combobox\");\nvar _37=_36.options;\nif(_37.multiple&&!q){\n_1a(_35,[],true);\n}else{\n_1a(_35,[q],true);\n}\nif(_37.mode==\"remote\"){\n_2e(_35,null,{q:q},true);\n}else{\nvar _38=$(_35).combo(\"panel\");\n_38.find(\"div.combobox-item-selected,div.combobox-item-hover\").removeClass(\"combobox-item-selected combobox-item-hover\");\n_38.find(\"div.combobox-item,div.combobox-group\").hide();\nvar _39=_36.data;\nvar vv=[];\nvar qq=_37.multiple?q.split(_37.separator):[q];\n$.map(qq,function(q){\nq=$.trim(q);\nvar _3a=undefined;\nfor(var i=0;i<_39.length;i++){\nvar row=_39[i];\nif(_37.filter.call(_35,q,row)){\nvar v=row[_37.valueField];\nvar s=row[_37.textField];\nvar g=row[_37.groupField];\nvar _3b=_37.finder.getEl(_35,v).show();\nif(s.toLowerCase()==q.toLowerCase()){\nvv.push(v);\n_3b.addClass(\"combobox-item-selected\");\n}\nif(_37.groupField&&_3a!=g){\n$(\"#\"+_36.groupIdPrefix+\"_\"+$.inArray(g,_36.groups)).show();\n_3a=g;\n}\n}\n}\n});\n_1a(_35,vv,true);\n}\n};\nfunction _3c(_3d){\nvar t=$(_3d);\nvar _3e=t.combobox(\"options\");\nvar _3f=t.combobox(\"panel\");\nvar _40=_3f.children(\"div.combobox-item-hover\");\nif(_40.length){\nvar row=_3e.finder.getRow(_3d,_40);\nvar _41=row[_3e.valueField];\nif(_3e.multiple){\nif(_40.hasClass(\"combobox-item-selected\")){\nt.combobox(\"unselect\",_41);\n}else{\nt.combobox(\"select\",_41);\n}\n}else{\nt.combobox(\"select\",_41);\n}\n}\nvar vv=[];\n$.map(t.combobox(\"getValues\"),function(v){\nif(_2(_3d,v)>=0){\nvv.push(v);\n}\n});\nt.combobox(\"setValues\",vv);\nif(!_3e.multiple){\nt.combobox(\"hidePanel\");\n}\n};\nfunction _42(_43){\nvar _44=$.data(_43,\"combobox\");\nvar _45=_44.options;\n_1++;\n_44.itemIdPrefix=\"_easyui_combobox_i\"+_1;\n_44.groupIdPrefix=\"_easyui_combobox_g\"+_1;\n$(_43).addClass(\"combobox-f\");\n$(_43).combo($.extend({},_45,{onShowPanel:function(){\n$(_43).combo(\"panel\").find(\"div.combobox-item,div.combobox-group\").show();\n_8(_43,$(_43).combobox(\"getValue\"));\n_45.onShowPanel.call(_43);\n}}));\n$(_43).combo(\"panel\").unbind().bind(\"mouseover\",function(e){\n$(this).children(\"div.combobox-item-hover\").removeClass(\"combobox-item-hover\");\nvar _46=$(e.target).closest(\"div.combobox-item\");\nif(!_46.hasClass(\"combobox-item-disabled\")){\n_46.addClass(\"combobox-item-hover\");\n}\ne.stopPropagation();\n}).bind(\"mouseout\",function(e){\n$(e.target).closest(\"div.combobox-item\").removeClass(\"combobox-item-hover\");\ne.stopPropagation();\n}).bind(\"click\",function(e){\nvar _47=$(e.target).closest(\"div.combobox-item\");\nif(!_47.length||_47.hasClass(\"combobox-item-disabled\")){\nreturn;\n}\nvar row=_45.finder.getRow(_43,_47);\nif(!row){\nreturn;\n}\nvar _48=row[_45.valueField];\nif(_45.multiple){\nif(_47.hasClass(\"combobox-item-selected\")){\n_1b(_43,_48);\n}else{\n_15(_43,_48);\n}\n}else{\n_15(_43,_48);\n$(_43).combo(\"hidePanel\");\n}\ne.stopPropagation();\n});\n};\n$.fn.combobox=function(_49,_4a){\nif(typeof _49==\"string\"){\nvar _4b=$.fn.combobox.methods[_49];\nif(_4b){\nreturn _4b(this,_4a);\n}else{\nreturn this.combo(_49,_4a);\n}\n}\n_49=_49||{};\nreturn this.each(function(){\nvar _4c=$.data(this,\"combobox\");\nif(_4c){\n$.extend(_4c.options,_49);\n_42(this);\n}else{\n_4c=$.data(this,\"combobox\",{options:$.extend({},$.fn.combobox.defaults,$.fn.combobox.parseOptions(this),_49),data:[]});\n_42(this);\nvar _4d=$.fn.combobox.parseData(this);\nif(_4d.length){\n_26(this,_4d);\n}\n}\nif(_4c.options.data){\n_26(this,_4c.options.data);\n}\n_2e(this);\n});\n};\n$.fn.combobox.methods={options:function(jq){\nvar _4e=jq.combo(\"options\");\nreturn $.extend($.data(jq[0],\"combobox\").options,{width:_4e.width,height:_4e.height,originalValue:_4e.originalValue,disabled:_4e.disabled,readonly:_4e.readonly});\n},getData:function(jq){\nreturn $.data(jq[0],\"combobox\").data;\n},setValues:function(jq,_4f){\nreturn jq.each(function(){\n_1a(this,_4f);\n});\n},setValue:function(jq,_50){\nreturn jq.each(function(){\n_1a(this,[_50]);\n});\n},clear:function(jq){\nreturn jq.each(function(){\n$(this).combo(\"clear\");\nvar _51=$(this).combo(\"panel\");\n_51.find(\"div.combobox-item-selected\").removeClass(\"combobox-item-selected\");\n});\n},reset:function(jq){\nreturn jq.each(function(){\nvar _52=$(this).combobox(\"options\");\nif(_52.multiple){\n$(this).combobox(\"setValues\",_52.originalValue);\n}else{\n$(this).combobox(\"setValue\",_52.originalValue);\n}\n});\n},loadData:function(jq,_53){\nreturn jq.each(function(){\n_26(this,_53);\n});\n},reload:function(jq,url){\nreturn jq.each(function(){\n_2e(this,url);\n});\n},select:function(jq,_54){\nreturn jq.each(function(){\n_15(this,_54);\n});\n},unselect:function(jq,_55){\nreturn jq.each(function(){\n_1b(this,_55);\n});\n}};\n$.fn.combobox.parseOptions=function(_56){\nvar t=$(_56);\nreturn $.extend({},$.fn.combo.parseOptions(_56),$.parser.parseOptions(_56,[\"valueField\",\"textField\",\"groupField\",\"mode\",\"method\",\"url\"]));\n};\n$.fn.combobox.parseData=function(_57){\nvar _58=[];\nvar _59=$(_57).combobox(\"options\");\n$(_57).children().each(function(){\nif(this.tagName.toLowerCase()==\"optgroup\"){\nvar _5a=$(this).attr(\"label\");\n$(this).children().each(function(){\n_5b(this,_5a);\n});\n}else{\n_5b(this);\n}\n});\nreturn _58;\nfunction _5b(el,_5c){\nvar t=$(el);\nvar row={};\nrow[_59.valueField]=t.attr(\"value\")!=undefined?t.attr(\"value\"):t.text();\nrow[_59.textField]=t.text();\nrow[\"selected\"]=t.is(\":selected\");\nrow[\"disabled\"]=t.is(\":disabled\");\nif(_5c){\n_59.groupField=_59.groupField||\"group\";\nrow[_59.groupField]=_5c;\n}\n_58.push(row);\n};\n};\n$.fn.combobox.defaults=$.extend({},$.fn.combo.defaults,{valueField:\"value\",textField:\"text\",groupField:null,groupFormatter:function(_5d){\nreturn _5d;\n},mode:\"local\",method:\"post\",url:null,data:null,keyHandler:{up:function(e){\n_e(this,\"prev\");\ne.preventDefault();\n},down:function(e){\n_e(this,\"next\");\ne.preventDefault();\n},left:function(e){\n},right:function(e){\n},enter:function(e){\n_3c(this);\n},query:function(q,e){\n_34(this,q);\n}},filter:function(q,row){\nvar _5e=$(this).combobox(\"options\");\nreturn row[_5e.textField].toLowerCase().indexOf(q.toLowerCase())==0;\n},formatter:function(row){\nvar _5f=$(this).combobox(\"options\");\nreturn row[_5f.textField];\n},loader:function(_60,_61,_62){\nvar _63=$(this).combobox(\"options\");\nif(!_63.url){\nreturn false;\n}\n$.ajax({type:_63.method,url:_63.url,data:_60,dataType:\"json\",success:function(_64){\n_61(_64);\n},error:function(){\n_62.apply(this,arguments);\n}});\n},loadFilter:function(_65){\nreturn _65;\n},finder:{getEl:function(_66,_67){\nvar _68=_2(_66,_67);\nvar id=$.data(_66,\"combobox\").itemIdPrefix+\"_\"+_68;\nreturn $(\"#\"+id);\n},getRow:function(_69,p){\nvar _6a=$.data(_69,\"combobox\");\nvar _6b=(p instanceof jQuery)?p.attr(\"id\").substr(_6a.itemIdPrefix.length+1):_2(_69,p);\nreturn _6a.data[parseInt(_6b)];\n}},onBeforeLoad:function(_6c){\n},onLoadSuccess:function(){\n},onLoadError:function(){\n},onSelect:function(_6d){\n},onUnselect:function(_6e){\n}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.combogrid.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$.data(_2,\"combogrid\");\nvar _4=_3.options;\nvar _5=_3.grid;\n$(_2).addClass(\"combogrid-f\").combo($.extend({},_4,{onShowPanel:function(){\nvar p=$(this).combogrid(\"panel\");\nvar _6=p.outerHeight()-p.height();\nvar _7=p._size(\"minHeight\");\nvar _8=p._size(\"maxHeight\");\n$(this).combogrid(\"grid\").datagrid(\"resize\",{width:\"100%\",height:(isNaN(parseInt(_4.panelHeight))?\"auto\":\"100%\"),minHeight:(_7?_7-_6:\"\"),maxHeight:(_8?_8-_6:\"\")});\n_4.onShowPanel.call(this);\n}}));\nvar _9=$(_2).combo(\"panel\");\nif(!_5){\n_5=$(\"<table></table>\").appendTo(_9);\n_3.grid=_5;\n}\n_5.datagrid($.extend({},_4,{border:false,singleSelect:(!_4.multiple),onLoadSuccess:function(_a){\nvar _b=$(_2).combo(\"getValues\");\nvar _c=_4.onSelect;\n_4.onSelect=function(){\n};\n_1c(_2,_b,_3.remainText);\n_4.onSelect=_c;\n_4.onLoadSuccess.apply(_2,arguments);\n},onClickRow:_d,onSelect:function(_e,_f){\n_10();\n_4.onSelect.call(this,_e,_f);\n},onUnselect:function(_11,row){\n_10();\n_4.onUnselect.call(this,_11,row);\n},onSelectAll:function(_12){\n_10();\n_4.onSelectAll.call(this,_12);\n},onUnselectAll:function(_13){\nif(_4.multiple){\n_10();\n}\n_4.onUnselectAll.call(this,_13);\n}}));\nfunction _d(_14,row){\n_3.remainText=false;\n_10();\nif(!_4.multiple){\n$(_2).combo(\"hidePanel\");\n}\n_4.onClickRow.call(this,_14,row);\n};\nfunction _10(){\nvar _15=_5.datagrid(\"getSelections\");\nvar vv=[],ss=[];\nfor(var i=0;i<_15.length;i++){\nvv.push(_15[i][_4.idField]);\nss.push(_15[i][_4.textField]);\n}\nif(!_4.multiple){\n$(_2).combo(\"setValues\",(vv.length?vv:[\"\"]));\n}else{\n$(_2).combo(\"setValues\",vv);\n}\nif(!_3.remainText){\n$(_2).combo(\"setText\",ss.join(_4.separator));\n}\n};\n};\nfunction nav(_16,dir){\nvar _17=$.data(_16,\"combogrid\");\nvar _18=_17.options;\nvar _19=_17.grid;\nvar _1a=_19.datagrid(\"getRows\").length;\nif(!_1a){\nreturn;\n}\nvar tr=_18.finder.getTr(_19[0],null,\"highlight\");\nif(!tr.length){\ntr=_18.finder.getTr(_19[0],null,\"selected\");\n}\nvar _1b;\nif(!tr.length){\n_1b=(dir==\"next\"?0:_1a-1);\n}else{\nvar _1b=parseInt(tr.attr(\"datagrid-row-index\"));\n_1b+=(dir==\"next\"?1:-1);\nif(_1b<0){\n_1b=_1a-1;\n}\nif(_1b>=_1a){\n_1b=0;\n}\n}\n_19.datagrid(\"highlightRow\",_1b);\nif(_18.selectOnNavigation){\n_17.remainText=false;\n_19.datagrid(\"selectRow\",_1b);\n}\n};\nfunction _1c(_1d,_1e,_1f){\nvar _20=$.data(_1d,\"combogrid\");\nvar _21=_20.options;\nvar _22=_20.grid;\nvar _23=_22.datagrid(\"getRows\");\nvar ss=[];\nvar _24=$(_1d).combo(\"getValues\");\nvar _25=$(_1d).combo(\"options\");\nvar _26=_25.onChange;\n_25.onChange=function(){\n};\n_22.datagrid(\"clearSelections\");\nif(!$.isArray(_1e)){\n_1e=_1e.split(_21.separator);\n}\nfor(var i=0;i<_1e.length;i++){\nvar _27=_22.datagrid(\"getRowIndex\",_1e[i]);\nif(_27>=0){\n_22.datagrid(\"selectRow\",_27);\nss.push(_23[_27][_21.textField]);\n}else{\nss.push(_1e[i]);\n}\n}\n$(_1d).combo(\"setValues\",_24);\n_25.onChange=_26;\n$(_1d).combo(\"setValues\",_1e);\nif(!_1f){\nvar s=ss.join(_21.separator);\nif($(_1d).combo(\"getText\")!=s){\n$(_1d).combo(\"setText\",s);\n}\n}\n};\nfunction _28(_29,q){\nvar _2a=$.data(_29,\"combogrid\");\nvar _2b=_2a.options;\nvar _2c=_2a.grid;\n_2a.remainText=true;\nif(_2b.multiple&&!q){\n_1c(_29,[],true);\n}else{\n_1c(_29,[q],true);\n}\nif(_2b.mode==\"remote\"){\n_2c.datagrid(\"clearSelections\");\n_2c.datagrid(\"load\",$.extend({},_2b.queryParams,{q:q}));\n}else{\nif(!q){\nreturn;\n}\n_2c.datagrid(\"clearSelections\").datagrid(\"highlightRow\",-1);\nvar _2d=_2c.datagrid(\"getRows\");\nvar qq=_2b.multiple?q.split(_2b.separator):[q];\n$.map(qq,function(q){\nq=$.trim(q);\nif(q){\n$.map(_2d,function(row,i){\nif(q==row[_2b.textField]){\n_2c.datagrid(\"selectRow\",i);\n}else{\nif(_2b.filter.call(_29,q,row)){\n_2c.datagrid(\"highlightRow\",i);\n}\n}\n});\n}\n});\n}\n};\nfunction _2e(_2f){\nvar _30=$.data(_2f,\"combogrid\");\nvar _31=_30.options;\nvar _32=_30.grid;\nvar tr=_31.finder.getTr(_32[0],null,\"highlight\");\n_30.remainText=false;\nif(tr.length){\nvar _33=parseInt(tr.attr(\"datagrid-row-index\"));\nif(_31.multiple){\nif(tr.hasClass(\"datagrid-row-selected\")){\n_32.datagrid(\"unselectRow\",_33);\n}else{\n_32.datagrid(\"selectRow\",_33);\n}\n}else{\n_32.datagrid(\"selectRow\",_33);\n}\n}\nvar vv=[];\n$.map(_32.datagrid(\"getSelections\"),function(row){\nvv.push(row[_31.idField]);\n});\n$(_2f).combogrid(\"setValues\",vv);\nif(!_31.multiple){\n$(_2f).combogrid(\"hidePanel\");\n}\n};\n$.fn.combogrid=function(_34,_35){\nif(typeof _34==\"string\"){\nvar _36=$.fn.combogrid.methods[_34];\nif(_36){\nreturn _36(this,_35);\n}else{\nreturn this.combo(_34,_35);\n}\n}\n_34=_34||{};\nreturn this.each(function(){\nvar _37=$.data(this,\"combogrid\");\nif(_37){\n$.extend(_37.options,_34);\n}else{\n_37=$.data(this,\"combogrid\",{options:$.extend({},$.fn.combogrid.defaults,$.fn.combogrid.parseOptions(this),_34)});\n}\n_1(this);\n});\n};\n$.fn.combogrid.methods={options:function(jq){\nvar _38=jq.combo(\"options\");\nreturn $.extend($.data(jq[0],\"combogrid\").options,{width:_38.width,height:_38.height,originalValue:_38.originalValue,disabled:_38.disabled,readonly:_38.readonly});\n},grid:function(jq){\nreturn $.data(jq[0],\"combogrid\").grid;\n},setValues:function(jq,_39){\nreturn jq.each(function(){\n_1c(this,_39);\n});\n},setValue:function(jq,_3a){\nreturn jq.each(function(){\n_1c(this,[_3a]);\n});\n},clear:function(jq){\nreturn jq.each(function(){\n$(this).combogrid(\"grid\").datagrid(\"clearSelections\");\n$(this).combo(\"clear\");\n});\n},reset:function(jq){\nreturn jq.each(function(){\nvar _3b=$(this).combogrid(\"options\");\nif(_3b.multiple){\n$(this).combogrid(\"setValues\",_3b.originalValue);\n}else{\n$(this).combogrid(\"setValue\",_3b.originalValue);\n}\n});\n}};\n$.fn.combogrid.parseOptions=function(_3c){\nvar t=$(_3c);\nreturn $.extend({},$.fn.combo.parseOptions(_3c),$.fn.datagrid.parseOptions(_3c),$.parser.parseOptions(_3c,[\"idField\",\"textField\",\"mode\"]));\n};\n$.fn.combogrid.defaults=$.extend({},$.fn.combo.defaults,$.fn.datagrid.defaults,{height:22,loadMsg:null,idField:null,textField:null,mode:\"local\",keyHandler:{up:function(e){\nnav(this,\"prev\");\ne.preventDefault();\n},down:function(e){\nnav(this,\"next\");\ne.preventDefault();\n},left:function(e){\n},right:function(e){\n},enter:function(e){\n_2e(this);\n},query:function(q,e){\n_28(this,q);\n}},filter:function(q,row){\nvar _3d=$(this).combogrid(\"options\");\nreturn row[_3d.textField].toLowerCase().indexOf(q.toLowerCase())==0;\n}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.combotree.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$.data(_2,\"combotree\");\nvar _4=_3.options;\nvar _5=_3.tree;\n$(_2).addClass(\"combotree-f\");\n$(_2).combo(_4);\nvar _6=$(_2).combo(\"panel\");\nif(!_5){\n_5=$(\"<ul></ul>\").appendTo(_6);\n$.data(_2,\"combotree\").tree=_5;\n}\n_5.tree($.extend({},_4,{checkbox:_4.multiple,onLoadSuccess:function(_7,_8){\nvar _9=$(_2).combotree(\"getValues\");\nif(_4.multiple){\nvar _a=_5.tree(\"getChecked\");\nfor(var i=0;i<_a.length;i++){\nvar id=_a[i].id;\n(function(){\nfor(var i=0;i<_9.length;i++){\nif(id==_9[i]){\nreturn;\n}\n}\n_9.push(id);\n})();\n}\n}\n$(_2).combotree(\"setValues\",_9);\n_4.onLoadSuccess.call(this,_7,_8);\n},onClick:function(_b){\nif(_4.multiple){\n$(this).tree(_b.checked?\"uncheck\":\"check\",_b.target);\n}else{\n$(_2).combo(\"hidePanel\");\n}\n_e(_2);\n_4.onClick.call(this,_b);\n},onCheck:function(_c,_d){\n_e(_2);\n_4.onCheck.call(this,_c,_d);\n}}));\n};\nfunction _e(_f){\nvar _10=$.data(_f,\"combotree\");\nvar _11=_10.options;\nvar _12=_10.tree;\nvar vv=[],ss=[];\nif(_11.multiple){\nvar _13=_12.tree(\"getChecked\");\nfor(var i=0;i<_13.length;i++){\nvv.push(_13[i].id);\nss.push(_13[i].text);\n}\n}else{\nvar _14=_12.tree(\"getSelected\");\nif(_14){\nvv.push(_14.id);\nss.push(_14.text);\n}\n}\n$(_f).combo(\"setValues\",vv).combo(\"setText\",ss.join(_11.separator));\n};\nfunction _15(_16,_17){\nvar _18=$.data(_16,\"combotree\");\nvar _19=_18.options;\nvar _1a=_18.tree;\nvar _1b=_1a.tree(\"options\");\nvar _1c=_1b.onCheck;\nvar _1d=_1b.onSelect;\n_1b.onCheck=_1b.onSelect=function(){\n};\n_1a.find(\"span.tree-checkbox\").addClass(\"tree-checkbox0\").removeClass(\"tree-checkbox1 tree-checkbox2\");\nif(!$.isArray(_17)){\n_17=_17.split(_19.separator);\n}\nfor(var i=0;i<_17.length;i++){\nvar _1e=_1a.tree(\"find\",_17[i]);\nif(_1e){\n_1a.tree(\"check\",_1e.target);\n_1a.tree(\"select\",_1e.target);\n}\n}\n_1b.onCheck=_1c;\n_1b.onSelect=_1d;\n_e(_16);\n};\n$.fn.combotree=function(_1f,_20){\nif(typeof _1f==\"string\"){\nvar _21=$.fn.combotree.methods[_1f];\nif(_21){\nreturn _21(this,_20);\n}else{\nreturn this.combo(_1f,_20);\n}\n}\n_1f=_1f||{};\nreturn this.each(function(){\nvar _22=$.data(this,\"combotree\");\nif(_22){\n$.extend(_22.options,_1f);\n}else{\n$.data(this,\"combotree\",{options:$.extend({},$.fn.combotree.defaults,$.fn.combotree.parseOptions(this),_1f)});\n}\n_1(this);\n});\n};\n$.fn.combotree.methods={options:function(jq){\nvar _23=jq.combo(\"options\");\nreturn $.extend($.data(jq[0],\"combotree\").options,{width:_23.width,height:_23.height,originalValue:_23.originalValue,disabled:_23.disabled,readonly:_23.readonly});\n},clone:function(jq,_24){\nvar t=jq.combo(\"clone\",_24);\nt.data(\"combotree\",{options:$.extend(true,{},jq.combotree(\"options\")),tree:jq.combotree(\"tree\")});\nreturn t;\n},tree:function(jq){\nreturn $.data(jq[0],\"combotree\").tree;\n},loadData:function(jq,_25){\nreturn jq.each(function(){\nvar _26=$.data(this,\"combotree\").options;\n_26.data=_25;\nvar _27=$.data(this,\"combotree\").tree;\n_27.tree(\"loadData\",_25);\n});\n},reload:function(jq,url){\nreturn jq.each(function(){\nvar _28=$.data(this,\"combotree\").options;\nvar _29=$.data(this,\"combotree\").tree;\nif(url){\n_28.url=url;\n}\n_29.tree({url:_28.url});\n});\n},setValues:function(jq,_2a){\nreturn jq.each(function(){\n_15(this,_2a);\n});\n},setValue:function(jq,_2b){\nreturn jq.each(function(){\n_15(this,[_2b]);\n});\n},clear:function(jq){\nreturn jq.each(function(){\nvar _2c=$.data(this,\"combotree\").tree;\n_2c.find(\"div.tree-node-selected\").removeClass(\"tree-node-selected\");\nvar cc=_2c.tree(\"getChecked\");\nfor(var i=0;i<cc.length;i++){\n_2c.tree(\"uncheck\",cc[i].target);\n}\n$(this).combo(\"clear\");\n});\n},reset:function(jq){\nreturn jq.each(function(){\nvar _2d=$(this).combotree(\"options\");\nif(_2d.multiple){\n$(this).combotree(\"setValues\",_2d.originalValue);\n}else{\n$(this).combotree(\"setValue\",_2d.originalValue);\n}\n});\n}};\n$.fn.combotree.parseOptions=function(_2e){\nreturn $.extend({},$.fn.combo.parseOptions(_2e),$.fn.tree.parseOptions(_2e));\n};\n$.fn.combotree.defaults=$.extend({},$.fn.combo.defaults,$.fn.tree.defaults,{editable:false});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.datagrid.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nvar _1=0;\nfunction _2(a,o){\nfor(var i=0,_3=a.length;i<_3;i++){\nif(a[i]==o){\nreturn i;\n}\n}\nreturn -1;\n};\nfunction _4(a,o,id){\nif(typeof o==\"string\"){\nfor(var i=0,_5=a.length;i<_5;i++){\nif(a[i][o]==id){\na.splice(i,1);\nreturn;\n}\n}\n}else{\nvar _6=_2(a,o);\nif(_6!=-1){\na.splice(_6,1);\n}\n}\n};\nfunction _7(a,o,r){\nfor(var i=0,_8=a.length;i<_8;i++){\nif(a[i][o]==r[o]){\nreturn;\n}\n}\na.push(r);\n};\nfunction _9(_a){\nvar _b=$.data(_a,\"datagrid\");\nvar _c=_b.options;\nvar _d=_b.panel;\nvar dc=_b.dc;\nvar ss=null;\nif(_c.sharedStyleSheet){\nss=typeof _c.sharedStyleSheet==\"boolean\"?\"head\":_c.sharedStyleSheet;\n}else{\nss=_d.closest(\"div.datagrid-view\");\nif(!ss.length){\nss=dc.view;\n}\n}\nvar cc=$(ss);\nvar _e=$.data(cc[0],\"ss\");\nif(!_e){\n_e=$.data(cc[0],\"ss\",{cache:{},dirty:[]});\n}\nreturn {add:function(_f){\nvar ss=[\"<style type=\\\"text/css\\\" easyui=\\\"true\\\">\"];\nfor(var i=0;i<_f.length;i++){\n_e.cache[_f[i][0]]={width:_f[i][1]};\n}\nvar _10=0;\nfor(var s in _e.cache){\nvar _11=_e.cache[s];\n_11.index=_10++;\nss.push(s+\"{width:\"+_11.width+\"}\");\n}\nss.push(\"</style>\");\n$(ss.join(\"\\n\")).appendTo(cc);\ncc.children(\"style[easyui]:not(:last)\").remove();\n},getRule:function(_12){\nvar _13=cc.children(\"style[easyui]:last\")[0];\nvar _14=_13.styleSheet?_13.styleSheet:(_13.sheet||document.styleSheets[document.styleSheets.length-1]);\nvar _15=_14.cssRules||_14.rules;\nreturn _15[_12];\n},set:function(_16,_17){\nvar _18=_e.cache[_16];\nif(_18){\n_18.width=_17;\nvar _19=this.getRule(_18.index);\nif(_19){\n_19.style[\"width\"]=_17;\n}\n}\n},remove:function(_1a){\nvar tmp=[];\nfor(var s in _e.cache){\nif(s.indexOf(_1a)==-1){\ntmp.push([s,_e.cache[s].width]);\n}\n}\n_e.cache={};\nthis.add(tmp);\n},dirty:function(_1b){\nif(_1b){\n_e.dirty.push(_1b);\n}\n},clean:function(){\nfor(var i=0;i<_e.dirty.length;i++){\nthis.remove(_e.dirty[i]);\n}\n_e.dirty=[];\n}};\n};\nfunction _1c(_1d,_1e){\nvar _1f=$.data(_1d,\"datagrid\");\nvar _20=_1f.options;\nvar _21=_1f.panel;\nif(_1e){\n$.extend(_20,_1e);\n}\nif(_20.fit==true){\nvar p=_21.panel(\"panel\").parent();\n_20.width=p.width();\n_20.height=p.height();\n}\n_21.panel(\"resize\",_20);\n};\nfunction _22(_23){\nvar _24=$.data(_23,\"datagrid\");\nvar _25=_24.options;\nvar dc=_24.dc;\nvar _26=_24.panel;\nvar _27=_26.width();\nvar _28=_26.height();\nvar _29=dc.view;\nvar _2a=dc.view1;\nvar _2b=dc.view2;\nvar _2c=_2a.children(\"div.datagrid-header\");\nvar _2d=_2b.children(\"div.datagrid-header\");\nvar _2e=_2c.find(\"table\");\nvar _2f=_2d.find(\"table\");\n_29.width(_27);\nvar _30=_2c.children(\"div.datagrid-header-inner\").show();\n_2a.width(_30.find(\"table\").width());\nif(!_25.showHeader){\n_30.hide();\n}\n_2b.width(_27-_2a._outerWidth());\n_2a.children(\"div.datagrid-header,div.datagrid-body,div.datagrid-footer\").width(_2a.width());\n_2b.children(\"div.datagrid-header,div.datagrid-body,div.datagrid-footer\").width(_2b.width());\nvar hh;\n_2c.add(_2d).css(\"height\",\"\");\n_2e.add(_2f).css(\"height\",\"\");\nhh=Math.max(_2e.height(),_2f.height());\n_2e.add(_2f).height(hh);\n_2c.add(_2d)._outerHeight(hh);\ndc.body1.add(dc.body2).children(\"table.datagrid-btable-frozen\").css({position:\"absolute\",top:dc.header2._outerHeight()});\nvar _31=dc.body2.children(\"table.datagrid-btable-frozen\")._outerHeight();\nvar _32=_31+_2b.children(\"div.datagrid-header\")._outerHeight()+_2b.children(\"div.datagrid-footer\")._outerHeight()+_26.children(\"div.datagrid-toolbar\")._outerHeight();\n_26.children(\"div.datagrid-pager\").each(function(){\n_32+=$(this)._outerHeight();\n});\nvar _33=_26.outerHeight()-_26.height();\nvar _34=_26._size(\"minHeight\")||\"\";\nvar _35=_26._size(\"maxHeight\")||\"\";\n_2a.add(_2b).children(\"div.datagrid-body\").css({marginTop:_31,height:(isNaN(parseInt(_25.height))?\"\":(_28-_32)),minHeight:(_34?_34-_33-_32:\"\"),maxHeight:(_35?_35-_33-_32:\"\")});\n_29.height(_2b.height());\n};\nfunction _36(_37,_38,_39){\nvar _3a=$.data(_37,\"datagrid\").data.rows;\nvar _3b=$.data(_37,\"datagrid\").options;\nvar dc=$.data(_37,\"datagrid\").dc;\nif(!dc.body1.is(\":empty\")&&(!_3b.nowrap||_3b.autoRowHeight||_39)){\nif(_38!=undefined){\nvar tr1=_3b.finder.getTr(_37,_38,\"body\",1);\nvar tr2=_3b.finder.getTr(_37,_38,\"body\",2);\n_3c(tr1,tr2);\n}else{\nvar tr1=_3b.finder.getTr(_37,0,\"allbody\",1);\nvar tr2=_3b.finder.getTr(_37,0,\"allbody\",2);\n_3c(tr1,tr2);\nif(_3b.showFooter){\nvar tr1=_3b.finder.getTr(_37,0,\"allfooter\",1);\nvar tr2=_3b.finder.getTr(_37,0,\"allfooter\",2);\n_3c(tr1,tr2);\n}\n}\n}\n_22(_37);\nif(_3b.height==\"auto\"){\nvar _3d=dc.body1.parent();\nvar _3e=dc.body2;\nvar _3f=_40(_3e);\nvar _41=_3f.height;\nif(_3f.width>_3e.width()){\n_41+=18;\n}\n_41-=parseInt(_3e.css(\"marginTop\"))||0;\n_3d.height(_41);\n_3e.height(_41);\ndc.view.height(dc.view2.height());\n}\ndc.body2.triggerHandler(\"scroll\");\nfunction _3c(_42,_43){\nfor(var i=0;i<_43.length;i++){\nvar tr1=$(_42[i]);\nvar tr2=$(_43[i]);\ntr1.css(\"height\",\"\");\ntr2.css(\"height\",\"\");\nvar _44=Math.max(tr1.height(),tr2.height());\ntr1.css(\"height\",_44);\ntr2.css(\"height\",_44);\n}\n};\nfunction _40(cc){\nvar _45=0;\nvar _46=0;\n$(cc).children().each(function(){\nvar c=$(this);\nif(c.is(\":visible\")){\n_46+=c._outerHeight();\nif(_45<c._outerWidth()){\n_45=c._outerWidth();\n}\n}\n});\nreturn {width:_45,height:_46};\n};\n};\nfunction _47(_48,_49){\nvar _4a=$.data(_48,\"datagrid\");\nvar _4b=_4a.options;\nvar dc=_4a.dc;\nif(!dc.body2.children(\"table.datagrid-btable-frozen\").length){\ndc.body1.add(dc.body2).prepend(\"<table class=\\\"datagrid-btable datagrid-btable-frozen\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\"></table>\");\n}\n_4c(true);\n_4c(false);\n_22(_48);\nfunction _4c(_4d){\nvar _4e=_4d?1:2;\nvar tr=_4b.finder.getTr(_48,_49,\"body\",_4e);\n(_4d?dc.body1:dc.body2).children(\"table.datagrid-btable-frozen\").append(tr);\n};\n};\nfunction _4f(_50,_51){\nfunction _52(){\nvar _53=[];\nvar _54=[];\n$(_50).children(\"thead\").each(function(){\nvar opt=$.parser.parseOptions(this,[{frozen:\"boolean\"}]);\n$(this).find(\"tr\").each(function(){\nvar _55=[];\n$(this).find(\"th\").each(function(){\nvar th=$(this);\nvar col=$.extend({},$.parser.parseOptions(this,[\"field\",\"align\",\"halign\",\"order\",\"width\",{sortable:\"boolean\",checkbox:\"boolean\",resizable:\"boolean\",fixed:\"boolean\"},{rowspan:\"number\",colspan:\"number\"}]),{title:(th.html()||undefined),hidden:(th.attr(\"hidden\")?true:undefined),formatter:(th.attr(\"formatter\")?eval(th.attr(\"formatter\")):undefined),styler:(th.attr(\"styler\")?eval(th.attr(\"styler\")):undefined),sorter:(th.attr(\"sorter\")?eval(th.attr(\"sorter\")):undefined)});\nif(col.width&&String(col.width).indexOf(\"%\")==-1){\ncol.width=parseInt(col.width);\n}\nif(th.attr(\"editor\")){\nvar s=$.trim(th.attr(\"editor\"));\nif(s.substr(0,1)==\"{\"){\ncol.editor=eval(\"(\"+s+\")\");\n}else{\ncol.editor=s;\n}\n}\n_55.push(col);\n});\nopt.frozen?_53.push(_55):_54.push(_55);\n});\n});\nreturn [_53,_54];\n};\nvar _56=$(\"<div class=\\\"datagrid-wrap\\\">\"+\"<div class=\\\"datagrid-view\\\">\"+\"<div class=\\\"datagrid-view1\\\">\"+\"<div class=\\\"datagrid-header\\\">\"+\"<div class=\\\"datagrid-header-inner\\\"></div>\"+\"</div>\"+\"<div class=\\\"datagrid-body\\\">\"+\"<div class=\\\"datagrid-body-inner\\\"></div>\"+\"</div>\"+\"<div class=\\\"datagrid-footer\\\">\"+\"<div class=\\\"datagrid-footer-inner\\\"></div>\"+\"</div>\"+\"</div>\"+\"<div class=\\\"datagrid-view2\\\">\"+\"<div class=\\\"datagrid-header\\\">\"+\"<div class=\\\"datagrid-header-inner\\\"></div>\"+\"</div>\"+\"<div class=\\\"datagrid-body\\\"></div>\"+\"<div class=\\\"datagrid-footer\\\">\"+\"<div class=\\\"datagrid-footer-inner\\\"></div>\"+\"</div>\"+\"</div>\"+\"</div>\"+\"</div>\").insertAfter(_50);\n_56.panel({doSize:false,cls:\"datagrid\"});\n$(_50).addClass(\"datagrid-f\").hide().appendTo(_56.children(\"div.datagrid-view\"));\nvar cc=_52();\nvar _57=_56.children(\"div.datagrid-view\");\nvar _58=_57.children(\"div.datagrid-view1\");\nvar _59=_57.children(\"div.datagrid-view2\");\nreturn {panel:_56,frozenColumns:cc[0],columns:cc[1],dc:{view:_57,view1:_58,view2:_59,header1:_58.children(\"div.datagrid-header\").children(\"div.datagrid-header-inner\"),header2:_59.children(\"div.datagrid-header\").children(\"div.datagrid-header-inner\"),body1:_58.children(\"div.datagrid-body\").children(\"div.datagrid-body-inner\"),body2:_59.children(\"div.datagrid-body\"),footer1:_58.children(\"div.datagrid-footer\").children(\"div.datagrid-footer-inner\"),footer2:_59.children(\"div.datagrid-footer\").children(\"div.datagrid-footer-inner\")}};\n};\nfunction _5a(_5b){\nvar _5c=$.data(_5b,\"datagrid\");\nvar _5d=_5c.options;\nvar dc=_5c.dc;\nvar _5e=_5c.panel;\n_5c.ss=$(_5b).datagrid(\"createStyleSheet\");\n_5e.panel($.extend({},_5d,{id:null,doSize:false,onResize:function(_5f,_60){\nsetTimeout(function(){\nif($.data(_5b,\"datagrid\")){\n_22(_5b);\n_b0(_5b);\n_5d.onResize.call(_5e,_5f,_60);\n}\n},0);\n},onExpand:function(){\n_36(_5b);\n_5d.onExpand.call(_5e);\n}}));\n_5c.rowIdPrefix=\"datagrid-row-r\"+(++_1);\n_5c.cellClassPrefix=\"datagrid-cell-c\"+_1;\n_61(dc.header1,_5d.frozenColumns,true);\n_61(dc.header2,_5d.columns,false);\n_62();\ndc.header1.add(dc.header2).css(\"display\",_5d.showHeader?\"block\":\"none\");\ndc.footer1.add(dc.footer2).css(\"display\",_5d.showFooter?\"block\":\"none\");\nif(_5d.toolbar){\nif($.isArray(_5d.toolbar)){\n$(\"div.datagrid-toolbar\",_5e).remove();\nvar tb=$(\"<div class=\\\"datagrid-toolbar\\\"><table cellspacing=\\\"0\\\" cellpadding=\\\"0\\\"><tr></tr></table></div>\").prependTo(_5e);\nvar tr=tb.find(\"tr\");\nfor(var i=0;i<_5d.toolbar.length;i++){\nvar btn=_5d.toolbar[i];\nif(btn==\"-\"){\n$(\"<td><div class=\\\"datagrid-btn-separator\\\"></div></td>\").appendTo(tr);\n}else{\nvar td=$(\"<td></td>\").appendTo(tr);\nvar _63=$(\"<a href=\\\"javascript:void(0)\\\"></a>\").appendTo(td);\n_63[0].onclick=eval(btn.handler||function(){\n});\n_63.linkbutton($.extend({},btn,{plain:true}));\n}\n}\n}else{\n$(_5d.toolbar).addClass(\"datagrid-toolbar\").prependTo(_5e);\n$(_5d.toolbar).show();\n}\n}else{\n$(\"div.datagrid-toolbar\",_5e).remove();\n}\n$(\"div.datagrid-pager\",_5e).remove();\nif(_5d.pagination){\nvar _64=$(\"<div class=\\\"datagrid-pager\\\"></div>\");\nif(_5d.pagePosition==\"bottom\"){\n_64.appendTo(_5e);\n}else{\nif(_5d.pagePosition==\"top\"){\n_64.addClass(\"datagrid-pager-top\").prependTo(_5e);\n}else{\nvar _65=$(\"<div class=\\\"datagrid-pager datagrid-pager-top\\\"></div>\").prependTo(_5e);\n_64.appendTo(_5e);\n_64=_64.add(_65);\n}\n}\n_64.pagination({total:(_5d.pageNumber*_5d.pageSize),pageNumber:_5d.pageNumber,pageSize:_5d.pageSize,pageList:_5d.pageList,onSelectPage:function(_66,_67){\n_5d.pageNumber=_66||1;\n_5d.pageSize=_67;\n_64.pagination(\"refresh\",{pageNumber:_66,pageSize:_67});\n_ae(_5b);\n}});\n_5d.pageSize=_64.pagination(\"options\").pageSize;\n}\nfunction _61(_68,_69,_6a){\nif(!_69){\nreturn;\n}\n$(_68).show();\n$(_68).empty();\nvar _6b=[];\nvar _6c=[];\nif(_5d.sortName){\n_6b=_5d.sortName.split(\",\");\n_6c=_5d.sortOrder.split(\",\");\n}\nvar t=$(\"<table class=\\\"datagrid-htable\\\" border=\\\"0\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\"><tbody></tbody></table>\").appendTo(_68);\nfor(var i=0;i<_69.length;i++){\nvar tr=$(\"<tr class=\\\"datagrid-header-row\\\"></tr>\").appendTo($(\"tbody\",t));\nvar _6d=_69[i];\nfor(var j=0;j<_6d.length;j++){\nvar col=_6d[j];\nvar _6e=\"\";\nif(col.rowspan){\n_6e+=\"rowspan=\\\"\"+col.rowspan+\"\\\" \";\n}\nif(col.colspan){\n_6e+=\"colspan=\\\"\"+col.colspan+\"\\\" \";\n}\nvar td=$(\"<td \"+_6e+\"></td>\").appendTo(tr);\nif(col.checkbox){\ntd.attr(\"field\",col.field);\n$(\"<div class=\\\"datagrid-header-check\\\"></div>\").html(\"<input type=\\\"checkbox\\\"/>\").appendTo(td);\n}else{\nif(col.field){\ntd.attr(\"field\",col.field);\ntd.append(\"<div class=\\\"datagrid-cell\\\"><span></span><span class=\\\"datagrid-sort-icon\\\"></span></div>\");\n$(\"span\",td).html(col.title);\n$(\"span.datagrid-sort-icon\",td).html(\"&nbsp;\");\nvar _6f=td.find(\"div.datagrid-cell\");\nvar pos=_2(_6b,col.field);\nif(pos>=0){\n_6f.addClass(\"datagrid-sort-\"+_6c[pos]);\n}\nif(col.resizable==false){\n_6f.attr(\"resizable\",\"false\");\n}\nif(col.width){\nvar _70=$.parser.parseValue(\"width\",col.width,dc.view,_5d.scrollbarSize);\n_6f._outerWidth(_70-1);\ncol.boxWidth=parseInt(_6f[0].style.width);\ncol.deltaWidth=_70-col.boxWidth;\n}else{\ncol.auto=true;\n}\n_6f.css(\"text-align\",(col.halign||col.align||\"\"));\ncol.cellClass=_5c.cellClassPrefix+\"-\"+col.field.replace(/[\\.|\\s]/g,\"-\");\n_6f.addClass(col.cellClass).css(\"width\",\"\");\n}else{\n$(\"<div class=\\\"datagrid-cell-group\\\"></div>\").html(col.title).appendTo(td);\n}\n}\nif(col.hidden){\ntd.hide();\n}\n}\n}\nif(_6a&&_5d.rownumbers){\nvar td=$(\"<td rowspan=\\\"\"+_5d.frozenColumns.length+\"\\\"><div class=\\\"datagrid-header-rownumber\\\"></div></td>\");\nif($(\"tr\",t).length==0){\ntd.wrap(\"<tr class=\\\"datagrid-header-row\\\"></tr>\").parent().appendTo($(\"tbody\",t));\n}else{\ntd.prependTo($(\"tr:first\",t));\n}\n}\n};\nfunction _62(){\nvar _71=[];\nvar _72=_73(_5b,true).concat(_73(_5b));\nfor(var i=0;i<_72.length;i++){\nvar col=_74(_5b,_72[i]);\nif(col&&!col.checkbox){\n_71.push([\".\"+col.cellClass,col.boxWidth?col.boxWidth+\"px\":\"auto\"]);\n}\n}\n_5c.ss.add(_71);\n_5c.ss.dirty(_5c.cellSelectorPrefix);\n_5c.cellSelectorPrefix=\".\"+_5c.cellClassPrefix;\n};\n};\nfunction _75(_76){\nvar _77=$.data(_76,\"datagrid\");\nvar _78=_77.panel;\nvar _79=_77.options;\nvar dc=_77.dc;\nvar _7a=dc.header1.add(dc.header2);\n_7a.find(\"input[type=checkbox]\").unbind(\".datagrid\").bind(\"click.datagrid\",function(e){\nif(_79.singleSelect&&_79.selectOnCheck){\nreturn false;\n}\nif($(this).is(\":checked\")){\n_123(_76);\n}else{\n_129(_76);\n}\ne.stopPropagation();\n});\nvar _7b=_7a.find(\"div.datagrid-cell\");\n_7b.closest(\"td\").unbind(\".datagrid\").bind(\"mouseenter.datagrid\",function(){\nif(_77.resizing){\nreturn;\n}\n$(this).addClass(\"datagrid-header-over\");\n}).bind(\"mouseleave.datagrid\",function(){\n$(this).removeClass(\"datagrid-header-over\");\n}).bind(\"contextmenu.datagrid\",function(e){\nvar _7c=$(this).attr(\"field\");\n_79.onHeaderContextMenu.call(_76,e,_7c);\n});\n_7b.unbind(\".datagrid\").bind(\"click.datagrid\",function(e){\nvar p1=$(this).offset().left+5;\nvar p2=$(this).offset().left+$(this)._outerWidth()-5;\nif(e.pageX<p2&&e.pageX>p1){\n_a2(_76,$(this).parent().attr(\"field\"));\n}\n}).bind(\"dblclick.datagrid\",function(e){\nvar p1=$(this).offset().left+5;\nvar p2=$(this).offset().left+$(this)._outerWidth()-5;\nvar _7d=_79.resizeHandle==\"right\"?(e.pageX>p2):(_79.resizeHandle==\"left\"?(e.pageX<p1):(e.pageX<p1||e.pageX>p2));\nif(_7d){\nvar _7e=$(this).parent().attr(\"field\");\nvar col=_74(_76,_7e);\nif(col.resizable==false){\nreturn;\n}\n$(_76).datagrid(\"autoSizeColumn\",_7e);\ncol.auto=false;\n}\n});\nvar _7f=_79.resizeHandle==\"right\"?\"e\":(_79.resizeHandle==\"left\"?\"w\":\"e,w\");\n_7b.each(function(){\n$(this).resizable({handles:_7f,disabled:($(this).attr(\"resizable\")?$(this).attr(\"resizable\")==\"false\":false),minWidth:25,onStartResize:function(e){\n_77.resizing=true;\n_7a.css(\"cursor\",$(\"body\").css(\"cursor\"));\nif(!_77.proxy){\n_77.proxy=$(\"<div class=\\\"datagrid-resize-proxy\\\"></div>\").appendTo(dc.view);\n}\n_77.proxy.css({left:e.pageX-$(_78).offset().left-1,display:\"none\"});\nsetTimeout(function(){\nif(_77.proxy){\n_77.proxy.show();\n}\n},500);\n},onResize:function(e){\n_77.proxy.css({left:e.pageX-$(_78).offset().left-1,display:\"block\"});\nreturn false;\n},onStopResize:function(e){\n_7a.css(\"cursor\",\"\");\n$(this).css(\"height\",\"\");\nvar _80=$(this).parent().attr(\"field\");\nvar col=_74(_76,_80);\ncol.width=$(this)._outerWidth();\ncol.boxWidth=col.width-col.deltaWidth;\ncol.auto=undefined;\n$(this).css(\"width\",\"\");\n_d1(_76,_80);\n_77.proxy.remove();\n_77.proxy=null;\nif($(this).parents(\"div:first.datagrid-header\").parent().hasClass(\"datagrid-view1\")){\n_22(_76);\n}\n_b0(_76);\n_79.onResizeColumn.call(_76,_80,col.width);\nsetTimeout(function(){\n_77.resizing=false;\n},0);\n}});\n});\nvar bb=dc.body1.add(dc.body2);\nbb.unbind();\nfor(var _81 in _79.rowEvents){\nbb.bind(_81,_79.rowEvents[_81]);\n}\ndc.body1.bind(\"mousewheel DOMMouseScroll\",function(e){\nvar e1=e.originalEvent||window.event;\nvar _82=e1.wheelDelta||e1.detail*(-1);\nvar dg=$(e.target).closest(\"div.datagrid-view\").children(\".datagrid-f\");\nvar dc=dg.data(\"datagrid\").dc;\ndc.body2.scrollTop(dc.body2.scrollTop()-_82);\n});\ndc.body2.bind(\"scroll\",function(){\nvar b1=dc.view1.children(\"div.datagrid-body\");\nb1.scrollTop($(this).scrollTop());\nvar c1=dc.body1.children(\":first\");\nvar c2=dc.body2.children(\":first\");\nif(c1.length&&c2.length){\nvar _83=c1.offset().top;\nvar _84=c2.offset().top;\nif(_83!=_84){\nb1.scrollTop(b1.scrollTop()+_83-_84);\n}\n}\ndc.view2.children(\"div.datagrid-header,div.datagrid-footer\")._scrollLeft($(this)._scrollLeft());\ndc.body2.children(\"table.datagrid-btable-frozen\").css(\"left\",-$(this)._scrollLeft());\n});\n};\nfunction _85(_86){\nreturn function(e){\nvar tr=_87(e.target);\nif(!tr){\nreturn;\n}\nvar _88=_89(tr);\nif($.data(_88,\"datagrid\").resizing){\nreturn;\n}\nvar _8a=_8b(tr);\nif(_86){\n_8c(_88,_8a);\n}else{\nvar _8d=$.data(_88,\"datagrid\").options;\n_8d.finder.getTr(_88,_8a).removeClass(\"datagrid-row-over\");\n}\n};\n};\nfunction _8e(e){\nvar tr=_87(e.target);\nif(!tr){\nreturn;\n}\nvar _8f=_89(tr);\nvar _90=$.data(_8f,\"datagrid\").options;\nvar _91=_8b(tr);\nvar tt=$(e.target);\nif(tt.parent().hasClass(\"datagrid-cell-check\")){\nif(_90.singleSelect&&_90.selectOnCheck){\ntt._propAttr(\"checked\",!tt.is(\":checked\"));\n_92(_8f,_91);\n}else{\nif(tt.is(\":checked\")){\ntt._propAttr(\"checked\",false);\n_92(_8f,_91);\n}else{\ntt._propAttr(\"checked\",true);\n_93(_8f,_91);\n}\n}\n}else{\nvar row=_90.finder.getRow(_8f,_91);\nvar td=tt.closest(\"td[field]\",tr);\nif(td.length){\nvar _94=td.attr(\"field\");\n_90.onClickCell.call(_8f,_91,_94,row[_94]);\n}\nif(_90.singleSelect==true){\n_95(_8f,_91);\n}else{\nif(_90.ctrlSelect){\nif(e.ctrlKey){\nif(tr.hasClass(\"datagrid-row-selected\")){\n_96(_8f,_91);\n}else{\n_95(_8f,_91);\n}\n}else{\nif(e.shiftKey){\n$(_8f).datagrid(\"clearSelections\");\nvar _97=Math.min(_90.lastSelectedIndex||0,_91);\nvar _98=Math.max(_90.lastSelectedIndex||0,_91);\nfor(var i=_97;i<=_98;i++){\n_95(_8f,i);\n}\n}else{\n$(_8f).datagrid(\"clearSelections\");\n_95(_8f,_91);\n_90.lastSelectedIndex=_91;\n}\n}\n}else{\nif(tr.hasClass(\"datagrid-row-selected\")){\n_96(_8f,_91);\n}else{\n_95(_8f,_91);\n}\n}\n}\n_90.onClickRow.call(_8f,_91,row);\n}\n};\nfunction _99(e){\nvar tr=_87(e.target);\nif(!tr){\nreturn;\n}\nvar _9a=_89(tr);\nvar _9b=$.data(_9a,\"datagrid\").options;\nvar _9c=_8b(tr);\nvar row=_9b.finder.getRow(_9a,_9c);\nvar td=$(e.target).closest(\"td[field]\",tr);\nif(td.length){\nvar _9d=td.attr(\"field\");\n_9b.onDblClickCell.call(_9a,_9c,_9d,row[_9d]);\n}\n_9b.onDblClickRow.call(_9a,_9c,row);\n};\nfunction _9e(e){\nvar tr=_87(e.target);\nif(!tr){\nreturn;\n}\nvar _9f=_89(tr);\nvar _a0=$.data(_9f,\"datagrid\").options;\nvar _a1=_8b(tr);\nvar row=_a0.finder.getRow(_9f,_a1);\n_a0.onRowContextMenu.call(_9f,e,_a1,row);\n};\nfunction _89(t){\nreturn $(t).closest(\"div.datagrid-view\").children(\".datagrid-f\")[0];\n};\nfunction _87(t){\nvar tr=$(t).closest(\"tr.datagrid-row\");\nif(tr.length&&tr.parent().length){\nreturn tr;\n}else{\nreturn undefined;\n}\n};\nfunction _8b(tr){\nif(tr.attr(\"datagrid-row-index\")){\nreturn parseInt(tr.attr(\"datagrid-row-index\"));\n}else{\nreturn tr.attr(\"node-id\");\n}\n};\nfunction _a2(_a3,_a4){\nvar _a5=$.data(_a3,\"datagrid\");\nvar _a6=_a5.options;\n_a4=_a4||{};\nvar _a7={sortName:_a6.sortName,sortOrder:_a6.sortOrder};\nif(typeof _a4==\"object\"){\n$.extend(_a7,_a4);\n}\nvar _a8=[];\nvar _a9=[];\nif(_a7.sortName){\n_a8=_a7.sortName.split(\",\");\n_a9=_a7.sortOrder.split(\",\");\n}\nif(typeof _a4==\"string\"){\nvar _aa=_a4;\nvar col=_74(_a3,_aa);\nif(!col.sortable||_a5.resizing){\nreturn;\n}\nvar _ab=col.order||\"asc\";\nvar pos=_2(_a8,_aa);\nif(pos>=0){\nvar _ac=_a9[pos]==\"asc\"?\"desc\":\"asc\";\nif(_a6.multiSort&&_ac==_ab){\n_a8.splice(pos,1);\n_a9.splice(pos,1);\n}else{\n_a9[pos]=_ac;\n}\n}else{\nif(_a6.multiSort){\n_a8.push(_aa);\n_a9.push(_ab);\n}else{\n_a8=[_aa];\n_a9=[_ab];\n}\n}\n_a7.sortName=_a8.join(\",\");\n_a7.sortOrder=_a9.join(\",\");\n}\nif(_a6.onBeforeSortColumn.call(_a3,_a7.sortName,_a7.sortOrder)==false){\nreturn;\n}\n$.extend(_a6,_a7);\nvar dc=_a5.dc;\nvar _ad=dc.header1.add(dc.header2);\n_ad.find(\"div.datagrid-cell\").removeClass(\"datagrid-sort-asc datagrid-sort-desc\");\nfor(var i=0;i<_a8.length;i++){\nvar col=_74(_a3,_a8[i]);\n_ad.find(\"div.\"+col.cellClass).addClass(\"datagrid-sort-\"+_a9[i]);\n}\nif(_a6.remoteSort){\n_ae(_a3);\n}else{\n_af(_a3,$(_a3).datagrid(\"getData\"));\n}\n_a6.onSortColumn.call(_a3,_a6.sortName,_a6.sortOrder);\n};\nfunction _b0(_b1){\nvar _b2=$.data(_b1,\"datagrid\");\nvar _b3=_b2.options;\nvar dc=_b2.dc;\nvar _b4=dc.view2.children(\"div.datagrid-header\");\ndc.body2.css(\"overflow-x\",\"\");\n_b5();\n_b6();\nif(_b4.width()>=_b4.find(\"table\").width()){\ndc.body2.css(\"overflow-x\",\"hidden\");\n}\nfunction _b6(){\nif(!_b3.fitColumns){\nreturn;\n}\nif(!_b2.leftWidth){\n_b2.leftWidth=0;\n}\nvar _b7=0;\nvar cc=[];\nvar _b8=_73(_b1,false);\nfor(var i=0;i<_b8.length;i++){\nvar col=_74(_b1,_b8[i]);\nif(_b9(col)){\n_b7+=col.width;\ncc.push({field:col.field,col:col,addingWidth:0});\n}\n}\nif(!_b7){\nreturn;\n}\ncc[cc.length-1].addingWidth-=_b2.leftWidth;\nvar _ba=_b4.children(\"div.datagrid-header-inner\").show();\nvar _bb=_b4.width()-_b4.find(\"table\").width()-_b3.scrollbarSize+_b2.leftWidth;\nvar _bc=_bb/_b7;\nif(!_b3.showHeader){\n_ba.hide();\n}\nfor(var i=0;i<cc.length;i++){\nvar c=cc[i];\nvar _bd=parseInt(c.col.width*_bc);\nc.addingWidth+=_bd;\n_bb-=_bd;\n}\ncc[cc.length-1].addingWidth+=_bb;\nfor(var i=0;i<cc.length;i++){\nvar c=cc[i];\nif(c.col.boxWidth+c.addingWidth>0){\nc.col.boxWidth+=c.addingWidth;\nc.col.width+=c.addingWidth;\n}\n}\n_b2.leftWidth=_bb;\n_d1(_b1);\n};\nfunction _b5(){\nvar _be=false;\nvar _bf=_73(_b1,true).concat(_73(_b1,false));\n$.map(_bf,function(_c0){\nvar col=_74(_b1,_c0);\nif(String(col.width||\"\").indexOf(\"%\")>=0){\nvar _c1=$.parser.parseValue(\"width\",col.width,dc.view,_b3.scrollbarSize)-col.deltaWidth;\nif(_c1>0){\ncol.boxWidth=_c1;\n_be=true;\n}\n}\n});\nif(_be){\n_d1(_b1);\n}\n};\nfunction _b9(col){\nif(String(col.width||\"\").indexOf(\"%\")>=0){\nreturn false;\n}\nif(!col.hidden&&!col.checkbox&&!col.auto&&!col.fixed){\nreturn true;\n}\n};\n};\nfunction _c2(_c3,_c4){\nvar _c5=$.data(_c3,\"datagrid\");\nvar _c6=_c5.options;\nvar dc=_c5.dc;\nvar tmp=$(\"<div class=\\\"datagrid-cell\\\" style=\\\"position:absolute;left:-9999px\\\"></div>\").appendTo(\"body\");\nif(_c4){\n_1c(_c4);\nif(_c6.fitColumns){\n_22(_c3);\n_b0(_c3);\n}\n}else{\nvar _c7=false;\nvar _c8=_73(_c3,true).concat(_73(_c3,false));\nfor(var i=0;i<_c8.length;i++){\nvar _c4=_c8[i];\nvar col=_74(_c3,_c4);\nif(col.auto){\n_1c(_c4);\n_c7=true;\n}\n}\nif(_c7&&_c6.fitColumns){\n_22(_c3);\n_b0(_c3);\n}\n}\ntmp.remove();\nfunction _1c(_c9){\nvar _ca=dc.view.find(\"div.datagrid-header td[field=\\\"\"+_c9+\"\\\"] div.datagrid-cell\");\n_ca.css(\"width\",\"\");\nvar col=$(_c3).datagrid(\"getColumnOption\",_c9);\ncol.width=undefined;\ncol.boxWidth=undefined;\ncol.auto=true;\n$(_c3).datagrid(\"fixColumnSize\",_c9);\nvar _cb=Math.max(_cc(\"header\"),_cc(\"allbody\"),_cc(\"allfooter\"))+1;\n_ca._outerWidth(_cb-1);\ncol.width=_cb;\ncol.boxWidth=parseInt(_ca[0].style.width);\ncol.deltaWidth=_cb-col.boxWidth;\n_ca.css(\"width\",\"\");\n$(_c3).datagrid(\"fixColumnSize\",_c9);\n_c6.onResizeColumn.call(_c3,_c9,col.width);\nfunction _cc(_cd){\nvar _ce=0;\nif(_cd==\"header\"){\n_ce=_cf(_ca);\n}else{\n_c6.finder.getTr(_c3,0,_cd).find(\"td[field=\\\"\"+_c9+\"\\\"] div.datagrid-cell\").each(function(){\nvar w=_cf($(this));\nif(_ce<w){\n_ce=w;\n}\n});\n}\nreturn _ce;\nfunction _cf(_d0){\nreturn _d0.is(\":visible\")?_d0._outerWidth():tmp.html(_d0.html())._outerWidth();\n};\n};\n};\n};\nfunction _d1(_d2,_d3){\nvar _d4=$.data(_d2,\"datagrid\");\nvar _d5=_d4.options;\nvar dc=_d4.dc;\nvar _d6=dc.view.find(\"table.datagrid-btable,table.datagrid-ftable\");\n_d6.css(\"table-layout\",\"fixed\");\nif(_d3){\nfix(_d3);\n}else{\nvar ff=_73(_d2,true).concat(_73(_d2,false));\nfor(var i=0;i<ff.length;i++){\nfix(ff[i]);\n}\n}\n_d6.css(\"table-layout\",\"auto\");\n_d7(_d2);\n_36(_d2);\n_d8(_d2);\nfunction fix(_d9){\nvar col=_74(_d2,_d9);\nif(col.cellClass){\n_d4.ss.set(\".\"+col.cellClass,col.boxWidth?col.boxWidth+\"px\":\"auto\");\n}\n};\n};\nfunction _d7(_da){\nvar dc=$.data(_da,\"datagrid\").dc;\ndc.view.find(\"td.datagrid-td-merged\").each(function(){\nvar td=$(this);\nvar _db=td.attr(\"colspan\")||1;\nvar col=_74(_da,td.attr(\"field\"));\nvar _dc=col.boxWidth+col.deltaWidth-1;\nfor(var i=1;i<_db;i++){\ntd=td.next();\ncol=_74(_da,td.attr(\"field\"));\n_dc+=col.boxWidth+col.deltaWidth;\n}\n$(this).children(\"div.datagrid-cell\")._outerWidth(_dc);\n});\n};\nfunction _d8(_dd){\nvar dc=$.data(_dd,\"datagrid\").dc;\ndc.view.find(\"div.datagrid-editable\").each(function(){\nvar _de=$(this);\nvar _df=_de.parent().attr(\"field\");\nvar col=$(_dd).datagrid(\"getColumnOption\",_df);\n_de._outerWidth(col.boxWidth+col.deltaWidth-1);\nvar ed=$.data(this,\"datagrid.editor\");\nif(ed.actions.resize){\ned.actions.resize(ed.target,_de.width());\n}\n});\n};\nfunction _74(_e0,_e1){\nfunction _e2(_e3){\nif(_e3){\nfor(var i=0;i<_e3.length;i++){\nvar cc=_e3[i];\nfor(var j=0;j<cc.length;j++){\nvar c=cc[j];\nif(c.field==_e1){\nreturn c;\n}\n}\n}\n}\nreturn null;\n};\nvar _e4=$.data(_e0,\"datagrid\").options;\nvar col=_e2(_e4.columns);\nif(!col){\ncol=_e2(_e4.frozenColumns);\n}\nreturn col;\n};\nfunction _73(_e5,_e6){\nvar _e7=$.data(_e5,\"datagrid\").options;\nvar _e8=(_e6==true)?(_e7.frozenColumns||[[]]):_e7.columns;\nif(_e8.length==0){\nreturn [];\n}\nvar aa=[];\nvar _e9=_ea();\nfor(var i=0;i<_e8.length;i++){\naa[i]=new Array(_e9);\n}\nfor(var _eb=0;_eb<_e8.length;_eb++){\n$.map(_e8[_eb],function(col){\nvar _ec=_ed(aa[_eb]);\nif(_ec>=0){\nvar _ee=col.field||\"\";\nfor(var c=0;c<(col.colspan||1);c++){\nfor(var r=0;r<(col.rowspan||1);r++){\naa[_eb+r][_ec]=_ee;\n}\n_ec++;\n}\n}\n});\n}\nreturn aa[aa.length-1];\nfunction _ea(){\nvar _ef=0;\n$.map(_e8[0],function(col){\n_ef+=col.colspan||1;\n});\nreturn _ef;\n};\nfunction _ed(a){\nfor(var i=0;i<a.length;i++){\nif(a[i]==undefined){\nreturn i;\n}\n}\nreturn -1;\n};\n};\nfunction _af(_f0,_f1){\nvar _f2=$.data(_f0,\"datagrid\");\nvar _f3=_f2.options;\nvar dc=_f2.dc;\n_f1=_f3.loadFilter.call(_f0,_f1);\n_f1.total=parseInt(_f1.total);\n_f2.data=_f1;\nif(_f1.footer){\n_f2.footer=_f1.footer;\n}\nif(!_f3.remoteSort&&_f3.sortName){\nvar _f4=_f3.sortName.split(\",\");\nvar _f5=_f3.sortOrder.split(\",\");\n_f1.rows.sort(function(r1,r2){\nvar r=0;\nfor(var i=0;i<_f4.length;i++){\nvar sn=_f4[i];\nvar so=_f5[i];\nvar col=_74(_f0,sn);\nvar _f6=col.sorter||function(a,b){\nreturn a==b?0:(a>b?1:-1);\n};\nr=_f6(r1[sn],r2[sn])*(so==\"asc\"?1:-1);\nif(r!=0){\nreturn r;\n}\n}\nreturn r;\n});\n}\nif(_f3.view.onBeforeRender){\n_f3.view.onBeforeRender.call(_f3.view,_f0,_f1.rows);\n}\n_f3.view.render.call(_f3.view,_f0,dc.body2,false);\n_f3.view.render.call(_f3.view,_f0,dc.body1,true);\nif(_f3.showFooter){\n_f3.view.renderFooter.call(_f3.view,_f0,dc.footer2,false);\n_f3.view.renderFooter.call(_f3.view,_f0,dc.footer1,true);\n}\nif(_f3.view.onAfterRender){\n_f3.view.onAfterRender.call(_f3.view,_f0);\n}\n_f2.ss.clean();\nvar _f7=$(_f0).datagrid(\"getPager\");\nif(_f7.length){\nvar _f8=_f7.pagination(\"options\");\nif(_f8.total!=_f1.total){\n_f7.pagination(\"refresh\",{total:_f1.total});\nif(_f3.pageNumber!=_f8.pageNumber&&_f8.pageNumber>0){\n_f3.pageNumber=_f8.pageNumber;\n_ae(_f0);\n}\n}\n}\n_36(_f0);\ndc.body2.triggerHandler(\"scroll\");\n$(_f0).datagrid(\"setSelectionState\");\n$(_f0).datagrid(\"autoSizeColumn\");\n_f3.onLoadSuccess.call(_f0,_f1);\n};\nfunction _f9(_fa){\nvar _fb=$.data(_fa,\"datagrid\");\nvar _fc=_fb.options;\nvar dc=_fb.dc;\ndc.header1.add(dc.header2).find(\"input[type=checkbox]\")._propAttr(\"checked\",false);\nif(_fc.idField){\nvar _fd=$.data(_fa,\"treegrid\")?true:false;\nvar _fe=_fc.onSelect;\nvar _ff=_fc.onCheck;\n_fc.onSelect=_fc.onCheck=function(){\n};\nvar rows=_fc.finder.getRows(_fa);\nfor(var i=0;i<rows.length;i++){\nvar row=rows[i];\nvar _100=_fd?row[_fc.idField]:i;\nif(_101(_fb.selectedRows,row)){\n_95(_fa,_100,true);\n}\nif(_101(_fb.checkedRows,row)){\n_92(_fa,_100,true);\n}\n}\n_fc.onSelect=_fe;\n_fc.onCheck=_ff;\n}\nfunction _101(a,r){\nfor(var i=0;i<a.length;i++){\nif(a[i][_fc.idField]==r[_fc.idField]){\na[i]=r;\nreturn true;\n}\n}\nreturn false;\n};\n};\nfunction _102(_103,row){\nvar _104=$.data(_103,\"datagrid\");\nvar opts=_104.options;\nvar rows=_104.data.rows;\nif(typeof row==\"object\"){\nreturn _2(rows,row);\n}else{\nfor(var i=0;i<rows.length;i++){\nif(rows[i][opts.idField]==row){\nreturn i;\n}\n}\nreturn -1;\n}\n};\nfunction _105(_106){\nvar _107=$.data(_106,\"datagrid\");\nvar opts=_107.options;\nvar data=_107.data;\nif(opts.idField){\nreturn _107.selectedRows;\n}else{\nvar rows=[];\nopts.finder.getTr(_106,\"\",\"selected\",2).each(function(){\nrows.push(opts.finder.getRow(_106,$(this)));\n});\nreturn rows;\n}\n};\nfunction _108(_109){\nvar _10a=$.data(_109,\"datagrid\");\nvar opts=_10a.options;\nif(opts.idField){\nreturn _10a.checkedRows;\n}else{\nvar rows=[];\nopts.finder.getTr(_109,\"\",\"checked\",2).each(function(){\nrows.push(opts.finder.getRow(_109,$(this)));\n});\nreturn rows;\n}\n};\nfunction _10b(_10c,_10d){\nvar _10e=$.data(_10c,\"datagrid\");\nvar dc=_10e.dc;\nvar opts=_10e.options;\nvar tr=opts.finder.getTr(_10c,_10d);\nif(tr.length){\nif(tr.closest(\"table\").hasClass(\"datagrid-btable-frozen\")){\nreturn;\n}\nvar _10f=dc.view2.children(\"div.datagrid-header\")._outerHeight();\nvar _110=dc.body2;\nvar _111=_110.outerHeight(true)-_110.outerHeight();\nvar top=tr.position().top-_10f-_111;\nif(top<0){\n_110.scrollTop(_110.scrollTop()+top);\n}else{\nif(top+tr._outerHeight()>_110.height()-18){\n_110.scrollTop(_110.scrollTop()+top+tr._outerHeight()-_110.height()+18);\n}\n}\n}\n};\nfunction _8c(_112,_113){\nvar _114=$.data(_112,\"datagrid\");\nvar opts=_114.options;\nopts.finder.getTr(_112,_114.highlightIndex).removeClass(\"datagrid-row-over\");\nopts.finder.getTr(_112,_113).addClass(\"datagrid-row-over\");\n_114.highlightIndex=_113;\n};\nfunction _95(_115,_116,_117){\nvar _118=$.data(_115,\"datagrid\");\nvar opts=_118.options;\nvar row=opts.finder.getRow(_115,_116);\nif(opts.onBeforeSelect.call(_115,_116,row)==false){\nreturn;\n}\nif(opts.singleSelect){\n_119(_115,true);\n_118.selectedRows=[];\n}\nif(!_117&&opts.checkOnSelect){\n_92(_115,_116,true);\n}\nif(opts.idField){\n_7(_118.selectedRows,opts.idField,row);\n}\nopts.finder.getTr(_115,_116).addClass(\"datagrid-row-selected\");\nopts.onSelect.call(_115,_116,row);\n_10b(_115,_116);\n};\nfunction _96(_11a,_11b,_11c){\nvar _11d=$.data(_11a,\"datagrid\");\nvar dc=_11d.dc;\nvar opts=_11d.options;\nvar row=opts.finder.getRow(_11a,_11b);\nif(opts.onBeforeUnselect.call(_11a,_11b,row)==false){\nreturn;\n}\nif(!_11c&&opts.checkOnSelect){\n_93(_11a,_11b,true);\n}\nopts.finder.getTr(_11a,_11b).removeClass(\"datagrid-row-selected\");\nif(opts.idField){\n_4(_11d.selectedRows,opts.idField,row[opts.idField]);\n}\nopts.onUnselect.call(_11a,_11b,row);\n};\nfunction _11e(_11f,_120){\nvar _121=$.data(_11f,\"datagrid\");\nvar opts=_121.options;\nvar rows=opts.finder.getRows(_11f);\nvar _122=$.data(_11f,\"datagrid\").selectedRows;\nif(!_120&&opts.checkOnSelect){\n_123(_11f,true);\n}\nopts.finder.getTr(_11f,\"\",\"allbody\").addClass(\"datagrid-row-selected\");\nif(opts.idField){\nfor(var _124=0;_124<rows.length;_124++){\n_7(_122,opts.idField,rows[_124]);\n}\n}\nopts.onSelectAll.call(_11f,rows);\n};\nfunction _119(_125,_126){\nvar _127=$.data(_125,\"datagrid\");\nvar opts=_127.options;\nvar rows=opts.finder.getRows(_125);\nvar _128=$.data(_125,\"datagrid\").selectedRows;\nif(!_126&&opts.checkOnSelect){\n_129(_125,true);\n}\nopts.finder.getTr(_125,\"\",\"selected\").removeClass(\"datagrid-row-selected\");\nif(opts.idField){\nfor(var _12a=0;_12a<rows.length;_12a++){\n_4(_128,opts.idField,rows[_12a][opts.idField]);\n}\n}\nopts.onUnselectAll.call(_125,rows);\n};\nfunction _92(_12b,_12c,_12d){\nvar _12e=$.data(_12b,\"datagrid\");\nvar opts=_12e.options;\nvar row=opts.finder.getRow(_12b,_12c);\nif(opts.onBeforeCheck.call(_12b,_12c,row)==false){\nreturn;\n}\nif(opts.singleSelect&&opts.selectOnCheck){\n_129(_12b,true);\n_12e.checkedRows=[];\n}\nif(!_12d&&opts.selectOnCheck){\n_95(_12b,_12c,true);\n}\nvar tr=opts.finder.getTr(_12b,_12c).addClass(\"datagrid-row-checked\");\ntr.find(\"div.datagrid-cell-check input[type=checkbox]\")._propAttr(\"checked\",true);\ntr=opts.finder.getTr(_12b,\"\",\"checked\",2);\nif(tr.length==opts.finder.getRows(_12b).length){\nvar dc=_12e.dc;\ndc.header1.add(dc.header2).find(\"input[type=checkbox]\")._propAttr(\"checked\",true);\n}\nif(opts.idField){\n_7(_12e.checkedRows,opts.idField,row);\n}\nopts.onCheck.call(_12b,_12c,row);\n};\nfunction _93(_12f,_130,_131){\nvar _132=$.data(_12f,\"datagrid\");\nvar opts=_132.options;\nvar row=opts.finder.getRow(_12f,_130);\nif(opts.onBeforeUncheck.call(_12f,_130,row)==false){\nreturn;\n}\nif(!_131&&opts.selectOnCheck){\n_96(_12f,_130,true);\n}\nvar tr=opts.finder.getTr(_12f,_130).removeClass(\"datagrid-row-checked\");\ntr.find(\"div.datagrid-cell-check input[type=checkbox]\")._propAttr(\"checked\",false);\nvar dc=_132.dc;\nvar _133=dc.header1.add(dc.header2);\n_133.find(\"input[type=checkbox]\")._propAttr(\"checked\",false);\nif(opts.idField){\n_4(_132.checkedRows,opts.idField,row[opts.idField]);\n}\nopts.onUncheck.call(_12f,_130,row);\n};\nfunction _123(_134,_135){\nvar _136=$.data(_134,\"datagrid\");\nvar opts=_136.options;\nvar rows=opts.finder.getRows(_134);\nif(!_135&&opts.selectOnCheck){\n_11e(_134,true);\n}\nvar dc=_136.dc;\nvar hck=dc.header1.add(dc.header2).find(\"input[type=checkbox]\");\nvar bck=opts.finder.getTr(_134,\"\",\"allbody\").addClass(\"datagrid-row-checked\").find(\"div.datagrid-cell-check input[type=checkbox]\");\nhck.add(bck)._propAttr(\"checked\",true);\nif(opts.idField){\nfor(var i=0;i<rows.length;i++){\n_7(_136.checkedRows,opts.idField,rows[i]);\n}\n}\nopts.onCheckAll.call(_134,rows);\n};\nfunction _129(_137,_138){\nvar _139=$.data(_137,\"datagrid\");\nvar opts=_139.options;\nvar rows=opts.finder.getRows(_137);\nif(!_138&&opts.selectOnCheck){\n_119(_137,true);\n}\nvar dc=_139.dc;\nvar hck=dc.header1.add(dc.header2).find(\"input[type=checkbox]\");\nvar bck=opts.finder.getTr(_137,\"\",\"checked\").removeClass(\"datagrid-row-checked\").find(\"div.datagrid-cell-check input[type=checkbox]\");\nhck.add(bck)._propAttr(\"checked\",false);\nif(opts.idField){\nfor(var i=0;i<rows.length;i++){\n_4(_139.checkedRows,opts.idField,rows[i][opts.idField]);\n}\n}\nopts.onUncheckAll.call(_137,rows);\n};\nfunction _13a(_13b,_13c){\nvar opts=$.data(_13b,\"datagrid\").options;\nvar tr=opts.finder.getTr(_13b,_13c);\nvar row=opts.finder.getRow(_13b,_13c);\nif(tr.hasClass(\"datagrid-row-editing\")){\nreturn;\n}\nif(opts.onBeforeEdit.call(_13b,_13c,row)==false){\nreturn;\n}\ntr.addClass(\"datagrid-row-editing\");\n_13d(_13b,_13c);\n_d8(_13b);\ntr.find(\"div.datagrid-editable\").each(function(){\nvar _13e=$(this).parent().attr(\"field\");\nvar ed=$.data(this,\"datagrid.editor\");\ned.actions.setValue(ed.target,row[_13e]);\n});\n_13f(_13b,_13c);\nopts.onBeginEdit.call(_13b,_13c,row);\n};\nfunction _140(_141,_142,_143){\nvar _144=$.data(_141,\"datagrid\");\nvar opts=_144.options;\nvar _145=_144.updatedRows;\nvar _146=_144.insertedRows;\nvar tr=opts.finder.getTr(_141,_142);\nvar row=opts.finder.getRow(_141,_142);\nif(!tr.hasClass(\"datagrid-row-editing\")){\nreturn;\n}\nif(!_143){\nif(!_13f(_141,_142)){\nreturn;\n}\nvar _147=false;\nvar _148={};\ntr.find(\"div.datagrid-editable\").each(function(){\nvar _149=$(this).parent().attr(\"field\");\nvar ed=$.data(this,\"datagrid.editor\");\nvar t=$(ed.target);\nvar _14a=t.data(\"textbox\")?t.textbox(\"textbox\"):t;\n_14a.triggerHandler(\"blur\");\nvar _14b=ed.actions.getValue(ed.target);\nif(row[_149]!=_14b){\nrow[_149]=_14b;\n_147=true;\n_148[_149]=_14b;\n}\n});\nif(_147){\nif(_2(_146,row)==-1){\nif(_2(_145,row)==-1){\n_145.push(row);\n}\n}\n}\nopts.onEndEdit.call(_141,_142,row,_148);\n}\ntr.removeClass(\"datagrid-row-editing\");\n_14c(_141,_142);\n$(_141).datagrid(\"refreshRow\",_142);\nif(!_143){\nopts.onAfterEdit.call(_141,_142,row,_148);\n}else{\nopts.onCancelEdit.call(_141,_142,row);\n}\n};\nfunction _14d(_14e,_14f){\nvar opts=$.data(_14e,\"datagrid\").options;\nvar tr=opts.finder.getTr(_14e,_14f);\nvar _150=[];\ntr.children(\"td\").each(function(){\nvar cell=$(this).find(\"div.datagrid-editable\");\nif(cell.length){\nvar ed=$.data(cell[0],\"datagrid.editor\");\n_150.push(ed);\n}\n});\nreturn _150;\n};\nfunction _151(_152,_153){\nvar _154=_14d(_152,_153.index!=undefined?_153.index:_153.id);\nfor(var i=0;i<_154.length;i++){\nif(_154[i].field==_153.field){\nreturn _154[i];\n}\n}\nreturn null;\n};\nfunction _13d(_155,_156){\nvar opts=$.data(_155,\"datagrid\").options;\nvar tr=opts.finder.getTr(_155,_156);\ntr.children(\"td\").each(function(){\nvar cell=$(this).find(\"div.datagrid-cell\");\nvar _157=$(this).attr(\"field\");\nvar col=_74(_155,_157);\nif(col&&col.editor){\nvar _158,_159;\nif(typeof col.editor==\"string\"){\n_158=col.editor;\n}else{\n_158=col.editor.type;\n_159=col.editor.options;\n}\nvar _15a=opts.editors[_158];\nif(_15a){\nvar _15b=cell.html();\nvar _15c=cell._outerWidth();\ncell.addClass(\"datagrid-editable\");\ncell._outerWidth(_15c);\ncell.html(\"<table border=\\\"0\\\" cellspacing=\\\"0\\\" cellpadding=\\\"1\\\"><tr><td></td></tr></table>\");\ncell.children(\"table\").bind(\"click dblclick contextmenu\",function(e){\ne.stopPropagation();\n});\n$.data(cell[0],\"datagrid.editor\",{actions:_15a,target:_15a.init(cell.find(\"td\"),_159),field:_157,type:_158,oldHtml:_15b});\n}\n}\n});\n_36(_155,_156,true);\n};\nfunction _14c(_15d,_15e){\nvar opts=$.data(_15d,\"datagrid\").options;\nvar tr=opts.finder.getTr(_15d,_15e);\ntr.children(\"td\").each(function(){\nvar cell=$(this).find(\"div.datagrid-editable\");\nif(cell.length){\nvar ed=$.data(cell[0],\"datagrid.editor\");\nif(ed.actions.destroy){\ned.actions.destroy(ed.target);\n}\ncell.html(ed.oldHtml);\n$.removeData(cell[0],\"datagrid.editor\");\ncell.removeClass(\"datagrid-editable\");\ncell.css(\"width\",\"\");\n}\n});\n};\nfunction _13f(_15f,_160){\nvar tr=$.data(_15f,\"datagrid\").options.finder.getTr(_15f,_160);\nif(!tr.hasClass(\"datagrid-row-editing\")){\nreturn true;\n}\nvar vbox=tr.find(\".validatebox-text\");\nvbox.validatebox(\"validate\");\nvbox.trigger(\"mouseleave\");\nvar _161=tr.find(\".validatebox-invalid\");\nreturn _161.length==0;\n};\nfunction _162(_163,_164){\nvar _165=$.data(_163,\"datagrid\").insertedRows;\nvar _166=$.data(_163,\"datagrid\").deletedRows;\nvar _167=$.data(_163,\"datagrid\").updatedRows;\nif(!_164){\nvar rows=[];\nrows=rows.concat(_165);\nrows=rows.concat(_166);\nrows=rows.concat(_167);\nreturn rows;\n}else{\nif(_164==\"inserted\"){\nreturn _165;\n}else{\nif(_164==\"deleted\"){\nreturn _166;\n}else{\nif(_164==\"updated\"){\nreturn _167;\n}\n}\n}\n}\nreturn [];\n};\nfunction _168(_169,_16a){\nvar _16b=$.data(_169,\"datagrid\");\nvar opts=_16b.options;\nvar data=_16b.data;\nvar _16c=_16b.insertedRows;\nvar _16d=_16b.deletedRows;\n$(_169).datagrid(\"cancelEdit\",_16a);\nvar row=opts.finder.getRow(_169,_16a);\nif(_2(_16c,row)>=0){\n_4(_16c,row);\n}else{\n_16d.push(row);\n}\n_4(_16b.selectedRows,opts.idField,row[opts.idField]);\n_4(_16b.checkedRows,opts.idField,row[opts.idField]);\nopts.view.deleteRow.call(opts.view,_169,_16a);\nif(opts.height==\"auto\"){\n_36(_169);\n}\n$(_169).datagrid(\"getPager\").pagination(\"refresh\",{total:data.total});\n};\nfunction _16e(_16f,_170){\nvar data=$.data(_16f,\"datagrid\").data;\nvar view=$.data(_16f,\"datagrid\").options.view;\nvar _171=$.data(_16f,\"datagrid\").insertedRows;\nview.insertRow.call(view,_16f,_170.index,_170.row);\n_171.push(_170.row);\n$(_16f).datagrid(\"getPager\").pagination(\"refresh\",{total:data.total});\n};\nfunction _172(_173,row){\nvar data=$.data(_173,\"datagrid\").data;\nvar view=$.data(_173,\"datagrid\").options.view;\nvar _174=$.data(_173,\"datagrid\").insertedRows;\nview.insertRow.call(view,_173,null,row);\n_174.push(row);\n$(_173).datagrid(\"getPager\").pagination(\"refresh\",{total:data.total});\n};\nfunction _175(_176){\nvar _177=$.data(_176,\"datagrid\");\nvar data=_177.data;\nvar rows=data.rows;\nvar _178=[];\nfor(var i=0;i<rows.length;i++){\n_178.push($.extend({},rows[i]));\n}\n_177.originalRows=_178;\n_177.updatedRows=[];\n_177.insertedRows=[];\n_177.deletedRows=[];\n};\nfunction _179(_17a){\nvar data=$.data(_17a,\"datagrid\").data;\nvar ok=true;\nfor(var i=0,len=data.rows.length;i<len;i++){\nif(_13f(_17a,i)){\n$(_17a).datagrid(\"endEdit\",i);\n}else{\nok=false;\n}\n}\nif(ok){\n_175(_17a);\n}\n};\nfunction _17b(_17c){\nvar _17d=$.data(_17c,\"datagrid\");\nvar opts=_17d.options;\nvar _17e=_17d.originalRows;\nvar _17f=_17d.insertedRows;\nvar _180=_17d.deletedRows;\nvar _181=_17d.selectedRows;\nvar _182=_17d.checkedRows;\nvar data=_17d.data;\nfunction _183(a){\nvar ids=[];\nfor(var i=0;i<a.length;i++){\nids.push(a[i][opts.idField]);\n}\nreturn ids;\n};\nfunction _184(ids,_185){\nfor(var i=0;i<ids.length;i++){\nvar _186=_102(_17c,ids[i]);\nif(_186>=0){\n(_185==\"s\"?_95:_92)(_17c,_186,true);\n}\n}\n};\nfor(var i=0;i<data.rows.length;i++){\n$(_17c).datagrid(\"cancelEdit\",i);\n}\nvar _187=_183(_181);\nvar _188=_183(_182);\n_181.splice(0,_181.length);\n_182.splice(0,_182.length);\ndata.total+=_180.length-_17f.length;\ndata.rows=_17e;\n_af(_17c,data);\n_184(_187,\"s\");\n_184(_188,\"c\");\n_175(_17c);\n};\nfunction _ae(_189,_18a){\nvar opts=$.data(_189,\"datagrid\").options;\nif(_18a){\nopts.queryParams=_18a;\n}\nvar _18b=$.extend({},opts.queryParams);\nif(opts.pagination){\n$.extend(_18b,{page:opts.pageNumber||1,rows:opts.pageSize});\n}\nif(opts.sortName){\n$.extend(_18b,{sort:opts.sortName,order:opts.sortOrder});\n}\nif(opts.onBeforeLoad.call(_189,_18b)==false){\nreturn;\n}\n$(_189).datagrid(\"loading\");\nsetTimeout(function(){\n_18c();\n},0);\nfunction _18c(){\nvar _18d=opts.loader.call(_189,_18b,function(data){\nsetTimeout(function(){\n$(_189).datagrid(\"loaded\");\n},0);\n_af(_189,data);\nsetTimeout(function(){\n_175(_189);\n},0);\n},function(){\nsetTimeout(function(){\n$(_189).datagrid(\"loaded\");\n},0);\nopts.onLoadError.apply(_189,arguments);\n});\nif(_18d==false){\n$(_189).datagrid(\"loaded\");\n}\n};\n};\nfunction _18e(_18f,_190){\nvar opts=$.data(_18f,\"datagrid\").options;\n_190.type=_190.type||\"body\";\n_190.rowspan=_190.rowspan||1;\n_190.colspan=_190.colspan||1;\nif(_190.rowspan==1&&_190.colspan==1){\nreturn;\n}\nvar tr=opts.finder.getTr(_18f,(_190.index!=undefined?_190.index:_190.id),_190.type);\nif(!tr.length){\nreturn;\n}\nvar td=tr.find(\"td[field=\\\"\"+_190.field+\"\\\"]\");\ntd.attr(\"rowspan\",_190.rowspan).attr(\"colspan\",_190.colspan);\ntd.addClass(\"datagrid-td-merged\");\n_191(td.next(),_190.colspan-1);\nfor(var i=1;i<_190.rowspan;i++){\ntr=tr.next();\nif(!tr.length){\nbreak;\n}\ntd=tr.find(\"td[field=\\\"\"+_190.field+\"\\\"]\");\n_191(td,_190.colspan);\n}\n_d7(_18f);\nfunction _191(td,_192){\nfor(var i=0;i<_192;i++){\ntd.hide();\ntd=td.next();\n}\n};\n};\n$.fn.datagrid=function(_193,_194){\nif(typeof _193==\"string\"){\nreturn $.fn.datagrid.methods[_193](this,_194);\n}\n_193=_193||{};\nreturn this.each(function(){\nvar _195=$.data(this,\"datagrid\");\nvar opts;\nif(_195){\nopts=$.extend(_195.options,_193);\n_195.options=opts;\n}else{\nopts=$.extend({},$.extend({},$.fn.datagrid.defaults,{queryParams:{}}),$.fn.datagrid.parseOptions(this),_193);\n$(this).css(\"width\",\"\").css(\"height\",\"\");\nvar _196=_4f(this,opts.rownumbers);\nif(!opts.columns){\nopts.columns=_196.columns;\n}\nif(!opts.frozenColumns){\nopts.frozenColumns=_196.frozenColumns;\n}\nopts.columns=$.extend(true,[],opts.columns);\nopts.frozenColumns=$.extend(true,[],opts.frozenColumns);\nopts.view=$.extend({},opts.view);\n$.data(this,\"datagrid\",{options:opts,panel:_196.panel,dc:_196.dc,ss:null,selectedRows:[],checkedRows:[],data:{total:0,rows:[]},originalRows:[],updatedRows:[],insertedRows:[],deletedRows:[]});\n}\n_5a(this);\n_75(this);\n_1c(this);\nif(opts.data){\n_af(this,opts.data);\n_175(this);\n}else{\nvar data=$.fn.datagrid.parseData(this);\nif(data.total>0){\n_af(this,data);\n_175(this);\n}\n}\n_ae(this);\n});\n};\nfunction _197(_198){\nvar _199={};\n$.map(_198,function(name){\n_199[name]=_19a(name);\n});\nreturn _199;\nfunction _19a(name){\nfunction isA(_19b){\nreturn $.data($(_19b)[0],name)!=undefined;\n};\nreturn {init:function(_19c,_19d){\nvar _19e=$(\"<input type=\\\"text\\\" class=\\\"datagrid-editable-input\\\">\").appendTo(_19c);\nif(_19e[name]&&name!=\"text\"){\nreturn _19e[name](_19d);\n}else{\nreturn _19e;\n}\n},destroy:function(_19f){\nif(isA(_19f,name)){\n$(_19f)[name](\"destroy\");\n}\n},getValue:function(_1a0){\nif(isA(_1a0,name)){\nvar opts=$(_1a0)[name](\"options\");\nif(opts.multiple){\nreturn $(_1a0)[name](\"getValues\").join(opts.separator);\n}else{\nreturn $(_1a0)[name](\"getValue\");\n}\n}else{\nreturn $(_1a0).val();\n}\n},setValue:function(_1a1,_1a2){\nif(isA(_1a1,name)){\nvar opts=$(_1a1)[name](\"options\");\nif(opts.multiple){\nif(_1a2){\n$(_1a1)[name](\"setValues\",_1a2.split(opts.separator));\n}else{\n$(_1a1)[name](\"clear\");\n}\n}else{\n$(_1a1)[name](\"setValue\",_1a2);\n}\n}else{\n$(_1a1).val(_1a2);\n}\n},resize:function(_1a3,_1a4){\nif(isA(_1a3,name)){\n$(_1a3)[name](\"resize\",_1a4);\n}else{\n$(_1a3)._outerWidth(_1a4)._outerHeight(22);\n}\n}};\n};\n};\nvar _1a5=$.extend({},_197([\"text\",\"textbox\",\"numberbox\",\"numberspinner\",\"combobox\",\"combotree\",\"combogrid\",\"datebox\",\"datetimebox\",\"timespinner\",\"datetimespinner\"]),{textarea:{init:function(_1a6,_1a7){\nvar _1a8=$(\"<textarea class=\\\"datagrid-editable-input\\\"></textarea>\").appendTo(_1a6);\nreturn _1a8;\n},getValue:function(_1a9){\nreturn $(_1a9).val();\n},setValue:function(_1aa,_1ab){\n$(_1aa).val(_1ab);\n},resize:function(_1ac,_1ad){\n$(_1ac)._outerWidth(_1ad);\n}},checkbox:{init:function(_1ae,_1af){\nvar _1b0=$(\"<input type=\\\"checkbox\\\">\").appendTo(_1ae);\n_1b0.val(_1af.on);\n_1b0.attr(\"offval\",_1af.off);\nreturn _1b0;\n},getValue:function(_1b1){\nif($(_1b1).is(\":checked\")){\nreturn $(_1b1).val();\n}else{\nreturn $(_1b1).attr(\"offval\");\n}\n},setValue:function(_1b2,_1b3){\nvar _1b4=false;\nif($(_1b2).val()==_1b3){\n_1b4=true;\n}\n$(_1b2)._propAttr(\"checked\",_1b4);\n}},validatebox:{init:function(_1b5,_1b6){\nvar _1b7=$(\"<input type=\\\"text\\\" class=\\\"datagrid-editable-input\\\">\").appendTo(_1b5);\n_1b7.validatebox(_1b6);\nreturn _1b7;\n},destroy:function(_1b8){\n$(_1b8).validatebox(\"destroy\");\n},getValue:function(_1b9){\nreturn $(_1b9).val();\n},setValue:function(_1ba,_1bb){\n$(_1ba).val(_1bb);\n},resize:function(_1bc,_1bd){\n$(_1bc)._outerWidth(_1bd)._outerHeight(22);\n}}});\n$.fn.datagrid.methods={options:function(jq){\nvar _1be=$.data(jq[0],\"datagrid\").options;\nvar _1bf=$.data(jq[0],\"datagrid\").panel.panel(\"options\");\nvar opts=$.extend(_1be,{width:_1bf.width,height:_1bf.height,closed:_1bf.closed,collapsed:_1bf.collapsed,minimized:_1bf.minimized,maximized:_1bf.maximized});\nreturn opts;\n},setSelectionState:function(jq){\nreturn jq.each(function(){\n_f9(this);\n});\n},createStyleSheet:function(jq){\nreturn _9(jq[0]);\n},getPanel:function(jq){\nreturn $.data(jq[0],\"datagrid\").panel;\n},getPager:function(jq){\nreturn $.data(jq[0],\"datagrid\").panel.children(\"div.datagrid-pager\");\n},getColumnFields:function(jq,_1c0){\nreturn _73(jq[0],_1c0);\n},getColumnOption:function(jq,_1c1){\nreturn _74(jq[0],_1c1);\n},resize:function(jq,_1c2){\nreturn jq.each(function(){\n_1c(this,_1c2);\n});\n},load:function(jq,_1c3){\nreturn jq.each(function(){\nvar opts=$(this).datagrid(\"options\");\nif(typeof _1c3==\"string\"){\nopts.url=_1c3;\n_1c3=null;\n}\nopts.pageNumber=1;\nvar _1c4=$(this).datagrid(\"getPager\");\n_1c4.pagination(\"refresh\",{pageNumber:1});\n_ae(this,_1c3);\n});\n},reload:function(jq,_1c5){\nreturn jq.each(function(){\nvar opts=$(this).datagrid(\"options\");\nif(typeof _1c5==\"string\"){\nopts.url=_1c5;\n_1c5=null;\n}\n_ae(this,_1c5);\n});\n},reloadFooter:function(jq,_1c6){\nreturn jq.each(function(){\nvar opts=$.data(this,\"datagrid\").options;\nvar dc=$.data(this,\"datagrid\").dc;\nif(_1c6){\n$.data(this,\"datagrid\").footer=_1c6;\n}\nif(opts.showFooter){\nopts.view.renderFooter.call(opts.view,this,dc.footer2,false);\nopts.view.renderFooter.call(opts.view,this,dc.footer1,true);\nif(opts.view.onAfterRender){\nopts.view.onAfterRender.call(opts.view,this);\n}\n$(this).datagrid(\"fixRowHeight\");\n}\n});\n},loading:function(jq){\nreturn jq.each(function(){\nvar opts=$.data(this,\"datagrid\").options;\n$(this).datagrid(\"getPager\").pagination(\"loading\");\nif(opts.loadMsg){\nvar _1c7=$(this).datagrid(\"getPanel\");\nif(!_1c7.children(\"div.datagrid-mask\").length){\n$(\"<div class=\\\"datagrid-mask\\\" style=\\\"display:block\\\"></div>\").appendTo(_1c7);\nvar msg=$(\"<div class=\\\"datagrid-mask-msg\\\" style=\\\"display:block;left:50%\\\"></div>\").html(opts.loadMsg).appendTo(_1c7);\nmsg._outerHeight(40);\nmsg.css({marginLeft:(-msg.outerWidth()/2),lineHeight:(msg.height()+\"px\")});\n}\n}\n});\n},loaded:function(jq){\nreturn jq.each(function(){\n$(this).datagrid(\"getPager\").pagination(\"loaded\");\nvar _1c8=$(this).datagrid(\"getPanel\");\n_1c8.children(\"div.datagrid-mask-msg\").remove();\n_1c8.children(\"div.datagrid-mask\").remove();\n});\n},fitColumns:function(jq){\nreturn jq.each(function(){\n_b0(this);\n});\n},fixColumnSize:function(jq,_1c9){\nreturn jq.each(function(){\n_d1(this,_1c9);\n});\n},fixRowHeight:function(jq,_1ca){\nreturn jq.each(function(){\n_36(this,_1ca);\n});\n},freezeRow:function(jq,_1cb){\nreturn jq.each(function(){\n_47(this,_1cb);\n});\n},autoSizeColumn:function(jq,_1cc){\nreturn jq.each(function(){\n_c2(this,_1cc);\n});\n},loadData:function(jq,data){\nreturn jq.each(function(){\n_af(this,data);\n_175(this);\n});\n},getData:function(jq){\nreturn $.data(jq[0],\"datagrid\").data;\n},getRows:function(jq){\nreturn $.data(jq[0],\"datagrid\").data.rows;\n},getFooterRows:function(jq){\nreturn $.data(jq[0],\"datagrid\").footer;\n},getRowIndex:function(jq,id){\nreturn _102(jq[0],id);\n},getChecked:function(jq){\nreturn _108(jq[0]);\n},getSelected:function(jq){\nvar rows=_105(jq[0]);\nreturn rows.length>0?rows[0]:null;\n},getSelections:function(jq){\nreturn _105(jq[0]);\n},clearSelections:function(jq){\nreturn jq.each(function(){\nvar _1cd=$.data(this,\"datagrid\");\nvar _1ce=_1cd.selectedRows;\nvar _1cf=_1cd.checkedRows;\n_1ce.splice(0,_1ce.length);\n_119(this);\nif(_1cd.options.checkOnSelect){\n_1cf.splice(0,_1cf.length);\n}\n});\n},clearChecked:function(jq){\nreturn jq.each(function(){\nvar _1d0=$.data(this,\"datagrid\");\nvar _1d1=_1d0.selectedRows;\nvar _1d2=_1d0.checkedRows;\n_1d2.splice(0,_1d2.length);\n_129(this);\nif(_1d0.options.selectOnCheck){\n_1d1.splice(0,_1d1.length);\n}\n});\n},scrollTo:function(jq,_1d3){\nreturn jq.each(function(){\n_10b(this,_1d3);\n});\n},highlightRow:function(jq,_1d4){\nreturn jq.each(function(){\n_8c(this,_1d4);\n_10b(this,_1d4);\n});\n},selectAll:function(jq){\nreturn jq.each(function(){\n_11e(this);\n});\n},unselectAll:function(jq){\nreturn jq.each(function(){\n_119(this);\n});\n},selectRow:function(jq,_1d5){\nreturn jq.each(function(){\n_95(this,_1d5);\n});\n},selectRecord:function(jq,id){\nreturn jq.each(function(){\nvar opts=$.data(this,\"datagrid\").options;\nif(opts.idField){\nvar _1d6=_102(this,id);\nif(_1d6>=0){\n$(this).datagrid(\"selectRow\",_1d6);\n}\n}\n});\n},unselectRow:function(jq,_1d7){\nreturn jq.each(function(){\n_96(this,_1d7);\n});\n},checkRow:function(jq,_1d8){\nreturn jq.each(function(){\n_92(this,_1d8);\n});\n},uncheckRow:function(jq,_1d9){\nreturn jq.each(function(){\n_93(this,_1d9);\n});\n},checkAll:function(jq){\nreturn jq.each(function(){\n_123(this);\n});\n},uncheckAll:function(jq){\nreturn jq.each(function(){\n_129(this);\n});\n},beginEdit:function(jq,_1da){\nreturn jq.each(function(){\n_13a(this,_1da);\n});\n},endEdit:function(jq,_1db){\nreturn jq.each(function(){\n_140(this,_1db,false);\n});\n},cancelEdit:function(jq,_1dc){\nreturn jq.each(function(){\n_140(this,_1dc,true);\n});\n},getEditors:function(jq,_1dd){\nreturn _14d(jq[0],_1dd);\n},getEditor:function(jq,_1de){\nreturn _151(jq[0],_1de);\n},refreshRow:function(jq,_1df){\nreturn jq.each(function(){\nvar opts=$.data(this,\"datagrid\").options;\nopts.view.refreshRow.call(opts.view,this,_1df);\n});\n},validateRow:function(jq,_1e0){\nreturn _13f(jq[0],_1e0);\n},updateRow:function(jq,_1e1){\nreturn jq.each(function(){\nvar opts=$.data(this,\"datagrid\").options;\nopts.view.updateRow.call(opts.view,this,_1e1.index,_1e1.row);\n});\n},appendRow:function(jq,row){\nreturn jq.each(function(){\n_172(this,row);\n});\n},insertRow:function(jq,_1e2){\nreturn jq.each(function(){\n_16e(this,_1e2);\n});\n},deleteRow:function(jq,_1e3){\nreturn jq.each(function(){\n_168(this,_1e3);\n});\n},getChanges:function(jq,_1e4){\nreturn _162(jq[0],_1e4);\n},acceptChanges:function(jq){\nreturn jq.each(function(){\n_179(this);\n});\n},rejectChanges:function(jq){\nreturn jq.each(function(){\n_17b(this);\n});\n},mergeCells:function(jq,_1e5){\nreturn jq.each(function(){\n_18e(this,_1e5);\n});\n},showColumn:function(jq,_1e6){\nreturn jq.each(function(){\nvar _1e7=$(this).datagrid(\"getPanel\");\n_1e7.find(\"td[field=\\\"\"+_1e6+\"\\\"]\").show();\n$(this).datagrid(\"getColumnOption\",_1e6).hidden=false;\n$(this).datagrid(\"fitColumns\");\n});\n},hideColumn:function(jq,_1e8){\nreturn jq.each(function(){\nvar _1e9=$(this).datagrid(\"getPanel\");\n_1e9.find(\"td[field=\\\"\"+_1e8+\"\\\"]\").hide();\n$(this).datagrid(\"getColumnOption\",_1e8).hidden=true;\n$(this).datagrid(\"fitColumns\");\n});\n},sort:function(jq,_1ea){\nreturn jq.each(function(){\n_a2(this,_1ea);\n});\n}};\n$.fn.datagrid.parseOptions=function(_1eb){\nvar t=$(_1eb);\nreturn $.extend({},$.fn.panel.parseOptions(_1eb),$.parser.parseOptions(_1eb,[\"url\",\"toolbar\",\"idField\",\"sortName\",\"sortOrder\",\"pagePosition\",\"resizeHandle\",{sharedStyleSheet:\"boolean\",fitColumns:\"boolean\",autoRowHeight:\"boolean\",striped:\"boolean\",nowrap:\"boolean\"},{rownumbers:\"boolean\",singleSelect:\"boolean\",ctrlSelect:\"boolean\",checkOnSelect:\"boolean\",selectOnCheck:\"boolean\"},{pagination:\"boolean\",pageSize:\"number\",pageNumber:\"number\"},{multiSort:\"boolean\",remoteSort:\"boolean\",showHeader:\"boolean\",showFooter:\"boolean\"},{scrollbarSize:\"number\"}]),{pageList:(t.attr(\"pageList\")?eval(t.attr(\"pageList\")):undefined),loadMsg:(t.attr(\"loadMsg\")!=undefined?t.attr(\"loadMsg\"):undefined),rowStyler:(t.attr(\"rowStyler\")?eval(t.attr(\"rowStyler\")):undefined)});\n};\n$.fn.datagrid.parseData=function(_1ec){\nvar t=$(_1ec);\nvar data={total:0,rows:[]};\nvar _1ed=t.datagrid(\"getColumnFields\",true).concat(t.datagrid(\"getColumnFields\",false));\nt.find(\"tbody tr\").each(function(){\ndata.total++;\nvar row={};\n$.extend(row,$.parser.parseOptions(this,[\"iconCls\",\"state\"]));\nfor(var i=0;i<_1ed.length;i++){\nrow[_1ed[i]]=$(this).find(\"td:eq(\"+i+\")\").html();\n}\ndata.rows.push(row);\n});\nreturn data;\n};\nvar _1ee={render:function(_1ef,_1f0,_1f1){\nvar _1f2=$.data(_1ef,\"datagrid\");\nvar opts=_1f2.options;\nvar rows=_1f2.data.rows;\nvar _1f3=$(_1ef).datagrid(\"getColumnFields\",_1f1);\nif(_1f1){\nif(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){\nreturn;\n}\n}\nvar _1f4=[\"<table class=\\\"datagrid-btable\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\" border=\\\"0\\\"><tbody>\"];\nfor(var i=0;i<rows.length;i++){\nvar css=opts.rowStyler?opts.rowStyler.call(_1ef,i,rows[i]):\"\";\nvar _1f5=\"\";\nvar _1f6=\"\";\nif(typeof css==\"string\"){\n_1f6=css;\n}else{\nif(css){\n_1f5=css[\"class\"]||\"\";\n_1f6=css[\"style\"]||\"\";\n}\n}\nvar cls=\"class=\\\"datagrid-row \"+(i%2&&opts.striped?\"datagrid-row-alt \":\" \")+_1f5+\"\\\"\";\nvar _1f7=_1f6?\"style=\\\"\"+_1f6+\"\\\"\":\"\";\nvar _1f8=_1f2.rowIdPrefix+\"-\"+(_1f1?1:2)+\"-\"+i;\n_1f4.push(\"<tr id=\\\"\"+_1f8+\"\\\" datagrid-row-index=\\\"\"+i+\"\\\" \"+cls+\" \"+_1f7+\">\");\n_1f4.push(this.renderRow.call(this,_1ef,_1f3,_1f1,i,rows[i]));\n_1f4.push(\"</tr>\");\n}\n_1f4.push(\"</tbody></table>\");\n$(_1f0).html(_1f4.join(\"\"));\n},renderFooter:function(_1f9,_1fa,_1fb){\nvar opts=$.data(_1f9,\"datagrid\").options;\nvar rows=$.data(_1f9,\"datagrid\").footer||[];\nvar _1fc=$(_1f9).datagrid(\"getColumnFields\",_1fb);\nvar _1fd=[\"<table class=\\\"datagrid-ftable\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\" border=\\\"0\\\"><tbody>\"];\nfor(var i=0;i<rows.length;i++){\n_1fd.push(\"<tr class=\\\"datagrid-row\\\" datagrid-row-index=\\\"\"+i+\"\\\">\");\n_1fd.push(this.renderRow.call(this,_1f9,_1fc,_1fb,i,rows[i]));\n_1fd.push(\"</tr>\");\n}\n_1fd.push(\"</tbody></table>\");\n$(_1fa).html(_1fd.join(\"\"));\n},renderRow:function(_1fe,_1ff,_200,_201,_202){\nvar opts=$.data(_1fe,\"datagrid\").options;\nvar cc=[];\nif(_200&&opts.rownumbers){\nvar _203=_201+1;\nif(opts.pagination){\n_203+=(opts.pageNumber-1)*opts.pageSize;\n}\ncc.push(\"<td class=\\\"datagrid-td-rownumber\\\"><div class=\\\"datagrid-cell-rownumber\\\">\"+_203+\"</div></td>\");\n}\nfor(var i=0;i<_1ff.length;i++){\nvar _204=_1ff[i];\nvar col=$(_1fe).datagrid(\"getColumnOption\",_204);\nif(col){\nvar _205=_202[_204];\nvar css=col.styler?(col.styler(_205,_202,_201)||\"\"):\"\";\nvar _206=\"\";\nvar _207=\"\";\nif(typeof css==\"string\"){\n_207=css;\n}else{\nif(css){\n_206=css[\"class\"]||\"\";\n_207=css[\"style\"]||\"\";\n}\n}\nvar cls=_206?\"class=\\\"\"+_206+\"\\\"\":\"\";\nvar _208=col.hidden?\"style=\\\"display:none;\"+_207+\"\\\"\":(_207?\"style=\\\"\"+_207+\"\\\"\":\"\");\ncc.push(\"<td field=\\\"\"+_204+\"\\\" \"+cls+\" \"+_208+\">\");\nvar _208=\"\";\nif(!col.checkbox){\nif(col.align){\n_208+=\"text-align:\"+col.align+\";\";\n}\nif(!opts.nowrap){\n_208+=\"white-space:normal;height:auto;\";\n}else{\nif(opts.autoRowHeight){\n_208+=\"height:auto;\";\n}\n}\n}\ncc.push(\"<div style=\\\"\"+_208+\"\\\" \");\ncc.push(col.checkbox?\"class=\\\"datagrid-cell-check\\\"\":\"class=\\\"datagrid-cell \"+col.cellClass+\"\\\"\");\ncc.push(\">\");\nif(col.checkbox){\ncc.push(\"<input type=\\\"checkbox\\\" \"+(_202.checked?\"checked=\\\"checked\\\"\":\"\"));\ncc.push(\" name=\\\"\"+_204+\"\\\" value=\\\"\"+(_205!=undefined?_205:\"\")+\"\\\">\");\n}else{\nif(col.formatter){\ncc.push(col.formatter(_205,_202,_201));\n}else{\ncc.push(_205);\n}\n}\ncc.push(\"</div>\");\ncc.push(\"</td>\");\n}\n}\nreturn cc.join(\"\");\n},refreshRow:function(_209,_20a){\nthis.updateRow.call(this,_209,_20a,{});\n},updateRow:function(_20b,_20c,row){\nvar opts=$.data(_20b,\"datagrid\").options;\nvar rows=$(_20b).datagrid(\"getRows\");\nvar _20d=_20e(_20c);\n$.extend(rows[_20c],row);\nvar _20f=_20e(_20c);\nvar _210=_20d.c;\nvar _211=_20f.s;\nvar _212=\"datagrid-row \"+(_20c%2&&opts.striped?\"datagrid-row-alt \":\" \")+_20f.c;\nfunction _20e(_213){\nvar css=opts.rowStyler?opts.rowStyler.call(_20b,_213,rows[_213]):\"\";\nvar _214=\"\";\nvar _215=\"\";\nif(typeof css==\"string\"){\n_215=css;\n}else{\nif(css){\n_214=css[\"class\"]||\"\";\n_215=css[\"style\"]||\"\";\n}\n}\nreturn {c:_214,s:_215};\n};\nfunction _216(_217){\nvar _218=$(_20b).datagrid(\"getColumnFields\",_217);\nvar tr=opts.finder.getTr(_20b,_20c,\"body\",(_217?1:2));\nvar _219=tr.find(\"div.datagrid-cell-check input[type=checkbox]\").is(\":checked\");\ntr.html(this.renderRow.call(this,_20b,_218,_217,_20c,rows[_20c]));\ntr.attr(\"style\",_211).removeClass(_210).addClass(_212);\nif(_219){\ntr.find(\"div.datagrid-cell-check input[type=checkbox]\")._propAttr(\"checked\",true);\n}\n};\n_216.call(this,true);\n_216.call(this,false);\n$(_20b).datagrid(\"fixRowHeight\",_20c);\n},insertRow:function(_21a,_21b,row){\nvar _21c=$.data(_21a,\"datagrid\");\nvar opts=_21c.options;\nvar dc=_21c.dc;\nvar data=_21c.data;\nif(_21b==undefined||_21b==null){\n_21b=data.rows.length;\n}\nif(_21b>data.rows.length){\n_21b=data.rows.length;\n}\nfunction _21d(_21e){\nvar _21f=_21e?1:2;\nfor(var i=data.rows.length-1;i>=_21b;i--){\nvar tr=opts.finder.getTr(_21a,i,\"body\",_21f);\ntr.attr(\"datagrid-row-index\",i+1);\ntr.attr(\"id\",_21c.rowIdPrefix+\"-\"+_21f+\"-\"+(i+1));\nif(_21e&&opts.rownumbers){\nvar _220=i+2;\nif(opts.pagination){\n_220+=(opts.pageNumber-1)*opts.pageSize;\n}\ntr.find(\"div.datagrid-cell-rownumber\").html(_220);\n}\nif(opts.striped){\ntr.removeClass(\"datagrid-row-alt\").addClass((i+1)%2?\"datagrid-row-alt\":\"\");\n}\n}\n};\nfunction _221(_222){\nvar _223=_222?1:2;\nvar _224=$(_21a).datagrid(\"getColumnFields\",_222);\nvar _225=_21c.rowIdPrefix+\"-\"+_223+\"-\"+_21b;\nvar tr=\"<tr id=\\\"\"+_225+\"\\\" class=\\\"datagrid-row\\\" datagrid-row-index=\\\"\"+_21b+\"\\\"></tr>\";\nif(_21b>=data.rows.length){\nif(data.rows.length){\nopts.finder.getTr(_21a,\"\",\"last\",_223).after(tr);\n}else{\nvar cc=_222?dc.body1:dc.body2;\ncc.html(\"<table cellspacing=\\\"0\\\" cellpadding=\\\"0\\\" border=\\\"0\\\"><tbody>\"+tr+\"</tbody></table>\");\n}\n}else{\nopts.finder.getTr(_21a,_21b+1,\"body\",_223).before(tr);\n}\n};\n_21d.call(this,true);\n_21d.call(this,false);\n_221.call(this,true);\n_221.call(this,false);\ndata.total+=1;\ndata.rows.splice(_21b,0,row);\nthis.refreshRow.call(this,_21a,_21b);\n},deleteRow:function(_226,_227){\nvar _228=$.data(_226,\"datagrid\");\nvar opts=_228.options;\nvar data=_228.data;\nfunction _229(_22a){\nvar _22b=_22a?1:2;\nfor(var i=_227+1;i<data.rows.length;i++){\nvar tr=opts.finder.getTr(_226,i,\"body\",_22b);\ntr.attr(\"datagrid-row-index\",i-1);\ntr.attr(\"id\",_228.rowIdPrefix+\"-\"+_22b+\"-\"+(i-1));\nif(_22a&&opts.rownumbers){\nvar _22c=i;\nif(opts.pagination){\n_22c+=(opts.pageNumber-1)*opts.pageSize;\n}\ntr.find(\"div.datagrid-cell-rownumber\").html(_22c);\n}\nif(opts.striped){\ntr.removeClass(\"datagrid-row-alt\").addClass((i-1)%2?\"datagrid-row-alt\":\"\");\n}\n}\n};\nopts.finder.getTr(_226,_227).remove();\n_229.call(this,true);\n_229.call(this,false);\ndata.total-=1;\ndata.rows.splice(_227,1);\n},onBeforeRender:function(_22d,rows){\n},onAfterRender:function(_22e){\nvar opts=$.data(_22e,\"datagrid\").options;\nif(opts.showFooter){\nvar _22f=$(_22e).datagrid(\"getPanel\").find(\"div.datagrid-footer\");\n_22f.find(\"div.datagrid-cell-rownumber,div.datagrid-cell-check\").css(\"visibility\",\"hidden\");\n}\n}};\n$.fn.datagrid.defaults=$.extend({},$.fn.panel.defaults,{sharedStyleSheet:false,frozenColumns:undefined,columns:undefined,fitColumns:false,resizeHandle:\"right\",autoRowHeight:true,toolbar:null,striped:false,method:\"post\",nowrap:true,idField:null,url:null,data:null,loadMsg:\"Processing, please wait ...\",rownumbers:false,singleSelect:false,ctrlSelect:false,selectOnCheck:true,checkOnSelect:true,pagination:false,pagePosition:\"bottom\",pageNumber:1,pageSize:10,pageList:[10,20,30,40,50],queryParams:{},sortName:null,sortOrder:\"asc\",multiSort:false,remoteSort:true,showHeader:true,showFooter:false,scrollbarSize:18,rowEvents:{mouseover:_85(true),mouseout:_85(false),click:_8e,dblclick:_99,contextmenu:_9e},rowStyler:function(_230,_231){\n},loader:function(_232,_233,_234){\nvar opts=$(this).datagrid(\"options\");\nif(!opts.url){\nreturn false;\n}\n$.ajax({type:opts.method,url:opts.url,data:_232,dataType:\"json\",success:function(data){\n_233(data);\n},error:function(){\n_234.apply(this,arguments);\n}});\n},loadFilter:function(data){\nif(typeof data.length==\"number\"&&typeof data.splice==\"function\"){\nreturn {total:data.length,rows:data};\n}else{\nreturn data;\n}\n},editors:_1a5,finder:{getTr:function(_235,_236,type,_237){\ntype=type||\"body\";\n_237=_237||0;\nvar _238=$.data(_235,\"datagrid\");\nvar dc=_238.dc;\nvar opts=_238.options;\nif(_237==0){\nvar tr1=opts.finder.getTr(_235,_236,type,1);\nvar tr2=opts.finder.getTr(_235,_236,type,2);\nreturn tr1.add(tr2);\n}else{\nif(type==\"body\"){\nvar tr=$(\"#\"+_238.rowIdPrefix+\"-\"+_237+\"-\"+_236);\nif(!tr.length){\ntr=(_237==1?dc.body1:dc.body2).find(\">table>tbody>tr[datagrid-row-index=\"+_236+\"]\");\n}\nreturn tr;\n}else{\nif(type==\"footer\"){\nreturn (_237==1?dc.footer1:dc.footer2).find(\">table>tbody>tr[datagrid-row-index=\"+_236+\"]\");\n}else{\nif(type==\"selected\"){\nreturn (_237==1?dc.body1:dc.body2).find(\">table>tbody>tr.datagrid-row-selected\");\n}else{\nif(type==\"highlight\"){\nreturn (_237==1?dc.body1:dc.body2).find(\">table>tbody>tr.datagrid-row-over\");\n}else{\nif(type==\"checked\"){\nreturn (_237==1?dc.body1:dc.body2).find(\">table>tbody>tr.datagrid-row-checked\");\n}else{\nif(type==\"editing\"){\nreturn (_237==1?dc.body1:dc.body2).find(\">table>tbody>tr.datagrid-row-editing\");\n}else{\nif(type==\"last\"){\nreturn (_237==1?dc.body1:dc.body2).find(\">table>tbody>tr[datagrid-row-index]:last\");\n}else{\nif(type==\"allbody\"){\nreturn (_237==1?dc.body1:dc.body2).find(\">table>tbody>tr[datagrid-row-index]\");\n}else{\nif(type==\"allfooter\"){\nreturn (_237==1?dc.footer1:dc.footer2).find(\">table>tbody>tr[datagrid-row-index]\");\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n},getRow:function(_239,p){\nvar _23a=(typeof p==\"object\")?p.attr(\"datagrid-row-index\"):p;\nreturn $.data(_239,\"datagrid\").data.rows[parseInt(_23a)];\n},getRows:function(_23b){\nreturn $(_23b).datagrid(\"getRows\");\n}},view:_1ee,onBeforeLoad:function(_23c){\n},onLoadSuccess:function(){\n},onLoadError:function(){\n},onClickRow:function(_23d,_23e){\n},onDblClickRow:function(_23f,_240){\n},onClickCell:function(_241,_242,_243){\n},onDblClickCell:function(_244,_245,_246){\n},onBeforeSortColumn:function(sort,_247){\n},onSortColumn:function(sort,_248){\n},onResizeColumn:function(_249,_24a){\n},onBeforeSelect:function(_24b,_24c){\n},onSelect:function(_24d,_24e){\n},onBeforeUnselect:function(_24f,_250){\n},onUnselect:function(_251,_252){\n},onSelectAll:function(rows){\n},onUnselectAll:function(rows){\n},onBeforeCheck:function(_253,_254){\n},onCheck:function(_255,_256){\n},onBeforeUncheck:function(_257,_258){\n},onUncheck:function(_259,_25a){\n},onCheckAll:function(rows){\n},onUncheckAll:function(rows){\n},onBeforeEdit:function(_25b,_25c){\n},onBeginEdit:function(_25d,_25e){\n},onEndEdit:function(_25f,_260,_261){\n},onAfterEdit:function(_262,_263,_264){\n},onCancelEdit:function(_265,_266){\n},onHeaderContextMenu:function(e,_267){\n},onRowContextMenu:function(e,_268,_269){\n}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.datebox.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$.data(_2,\"datebox\");\nvar _4=_3.options;\n$(_2).addClass(\"datebox-f\").combo($.extend({},_4,{onShowPanel:function(){\n_5(this);\n_6(this);\n_7(this);\n_18(this,$(this).datebox(\"getText\"),true);\n_4.onShowPanel.call(this);\n}}));\nif(!_3.calendar){\nvar _8=$(_2).combo(\"panel\").css(\"overflow\",\"hidden\");\n_8.panel(\"options\").onBeforeDestroy=function(){\nvar c=$(this).find(\".calendar-shared\");\nif(c.length){\nc.insertBefore(c[0].pholder);\n}\n};\nvar cc=$(\"<div class=\\\"datebox-calendar-inner\\\"></div>\").prependTo(_8);\nif(_4.sharedCalendar){\nvar c=$(_4.sharedCalendar);\nif(!c[0].pholder){\nc[0].pholder=$(\"<div class=\\\"calendar-pholder\\\" style=\\\"display:none\\\"></div>\").insertAfter(c);\n}\nc.addClass(\"calendar-shared\").appendTo(cc);\nif(!c.hasClass(\"calendar\")){\nc.calendar();\n}\n_3.calendar=c;\n}else{\n_3.calendar=$(\"<div></div>\").appendTo(cc).calendar();\n}\n$.extend(_3.calendar.calendar(\"options\"),{fit:true,border:false,onSelect:function(_9){\nvar _a=this.target;\nvar _b=$(_a).datebox(\"options\");\n_18(_a,_b.formatter.call(_a,_9));\n$(_a).combo(\"hidePanel\");\n_b.onSelect.call(_a,_9);\n}});\n}\n$(_2).combo(\"textbox\").parent().addClass(\"datebox\");\n$(_2).datebox(\"initValue\",_4.value);\nfunction _5(_c){\nvar _d=$(_c).datebox(\"options\");\nvar _e=$(_c).combo(\"panel\");\n_e.unbind(\".datebox\").bind(\"click.datebox\",function(e){\nif($(e.target).hasClass(\"datebox-button-a\")){\nvar _f=parseInt($(e.target).attr(\"datebox-button-index\"));\n_d.buttons[_f].handler.call(e.target,_c);\n}\n});\n};\nfunction _6(_10){\nvar _11=$(_10).combo(\"panel\");\nif(_11.children(\"div.datebox-button\").length){\nreturn;\n}\nvar _12=$(\"<div class=\\\"datebox-button\\\"><table cellspacing=\\\"0\\\" cellpadding=\\\"0\\\" style=\\\"width:100%\\\"><tr></tr></table></div>\").appendTo(_11);\nvar tr=_12.find(\"tr\");\nfor(var i=0;i<_4.buttons.length;i++){\nvar td=$(\"<td></td>\").appendTo(tr);\nvar btn=_4.buttons[i];\nvar t=$(\"<a class=\\\"datebox-button-a\\\" href=\\\"javascript:void(0)\\\"></a>\").html($.isFunction(btn.text)?btn.text(_10):btn.text).appendTo(td);\nt.attr(\"datebox-button-index\",i);\n}\ntr.find(\"td\").css(\"width\",(100/_4.buttons.length)+\"%\");\n};\nfunction _7(_13){\nvar _14=$(_13).combo(\"panel\");\nvar cc=_14.children(\"div.datebox-calendar-inner\");\n_14.children()._outerWidth(_14.width());\n_3.calendar.appendTo(cc);\n_3.calendar[0].target=_13;\nif(_4.panelHeight!=\"auto\"){\nvar _15=_14.height();\n_14.children().not(cc).each(function(){\n_15-=$(this).outerHeight();\n});\ncc._outerHeight(_15);\n}\n_3.calendar.calendar(\"resize\");\n};\n};\nfunction _16(_17,q){\n_18(_17,q,true);\n};\nfunction _19(_1a){\nvar _1b=$.data(_1a,\"datebox\");\nvar _1c=_1b.options;\nvar _1d=_1b.calendar.calendar(\"options\").current;\nif(_1d){\n_18(_1a,_1c.formatter.call(_1a,_1d));\n$(_1a).combo(\"hidePanel\");\n}\n};\nfunction _18(_1e,_1f,_20){\nvar _21=$.data(_1e,\"datebox\");\nvar _22=_21.options;\nvar _23=_21.calendar;\n$(_1e).combo(\"setValue\",_1f);\n_23.calendar(\"moveTo\",_22.parser.call(_1e,_1f));\nif(!_20){\nif(_1f){\n_1f=_22.formatter.call(_1e,_23.calendar(\"options\").current);\n$(_1e).combo(\"setValue\",_1f).combo(\"setText\",_1f);\n}else{\n$(_1e).combo(\"setText\",_1f);\n}\n}\n};\n$.fn.datebox=function(_24,_25){\nif(typeof _24==\"string\"){\nvar _26=$.fn.datebox.methods[_24];\nif(_26){\nreturn _26(this,_25);\n}else{\nreturn this.combo(_24,_25);\n}\n}\n_24=_24||{};\nreturn this.each(function(){\nvar _27=$.data(this,\"datebox\");\nif(_27){\n$.extend(_27.options,_24);\n}else{\n$.data(this,\"datebox\",{options:$.extend({},$.fn.datebox.defaults,$.fn.datebox.parseOptions(this),_24)});\n}\n_1(this);\n});\n};\n$.fn.datebox.methods={options:function(jq){\nvar _28=jq.combo(\"options\");\nreturn $.extend($.data(jq[0],\"datebox\").options,{width:_28.width,height:_28.height,originalValue:_28.originalValue,disabled:_28.disabled,readonly:_28.readonly});\n},cloneFrom:function(jq,_29){\nreturn jq.each(function(){\n$(this).combo(\"cloneFrom\",_29);\n$.data(this,\"datebox\",{options:$.extend(true,{},$(_29).datebox(\"options\")),calendar:$(_29).datebox(\"calendar\")});\n$(this).addClass(\"datebox-f\");\n});\n},calendar:function(jq){\nreturn $.data(jq[0],\"datebox\").calendar;\n},initValue:function(jq,_2a){\nreturn jq.each(function(){\nvar _2b=$(this).datebox(\"options\");\nvar _2c=_2b.value;\nif(_2c){\n_2c=_2b.formatter.call(this,_2b.parser.call(this,_2c));\n}\n$(this).combo(\"initValue\",_2c).combo(\"setText\",_2c);\n});\n},setValue:function(jq,_2d){\nreturn jq.each(function(){\n_18(this,_2d);\n});\n},reset:function(jq){\nreturn jq.each(function(){\nvar _2e=$(this).datebox(\"options\");\n$(this).datebox(\"setValue\",_2e.originalValue);\n});\n}};\n$.fn.datebox.parseOptions=function(_2f){\nreturn $.extend({},$.fn.combo.parseOptions(_2f),$.parser.parseOptions(_2f,[\"sharedCalendar\"]));\n};\n$.fn.datebox.defaults=$.extend({},$.fn.combo.defaults,{panelWidth:180,panelHeight:\"auto\",sharedCalendar:null,keyHandler:{up:function(e){\n},down:function(e){\n},left:function(e){\n},right:function(e){\n},enter:function(e){\n_19(this);\n},query:function(q,e){\n_16(this,q);\n}},currentText:\"Today\",closeText:\"Close\",okText:\"Ok\",buttons:[{text:function(_30){\nreturn $(_30).datebox(\"options\").currentText;\n},handler:function(_31){\n$(_31).datebox(\"calendar\").calendar({year:new Date().getFullYear(),month:new Date().getMonth()+1,current:new Date()});\n_19(_31);\n}},{text:function(_32){\nreturn $(_32).datebox(\"options\").closeText;\n},handler:function(_33){\n$(this).closest(\"div.combo-panel\").panel(\"close\");\n}}],formatter:function(_34){\nvar y=_34.getFullYear();\nvar m=_34.getMonth()+1;\nvar d=_34.getDate();\nreturn (m<10?(\"0\"+m):m)+\"/\"+(d<10?(\"0\"+d):d)+\"/\"+y;\n},parser:function(s){\nif(!s){\nreturn new Date();\n}\nvar ss=s.split(\"/\");\nvar m=parseInt(ss[0],10);\nvar d=parseInt(ss[1],10);\nvar y=parseInt(ss[2],10);\nif(!isNaN(y)&&!isNaN(m)&&!isNaN(d)){\nreturn new Date(y,m-1,d);\n}else{\nreturn new Date();\n}\n},onSelect:function(_35){\n}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.datetimebox.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$.data(_2,\"datetimebox\");\nvar _4=_3.options;\n$(_2).datebox($.extend({},_4,{onShowPanel:function(){\nvar _5=$(this).datetimebox(\"getValue\");\n_d(this,_5,true);\n_4.onShowPanel.call(this);\n},formatter:$.fn.datebox.defaults.formatter,parser:$.fn.datebox.defaults.parser}));\n$(_2).removeClass(\"datebox-f\").addClass(\"datetimebox-f\");\n$(_2).datebox(\"calendar\").calendar({onSelect:function(_6){\n_4.onSelect.call(this.target,_6);\n}});\nif(!_3.spinner){\nvar _7=$(_2).datebox(\"panel\");\nvar p=$(\"<div style=\\\"padding:2px\\\"><input></div>\").insertAfter(_7.children(\"div.datebox-calendar-inner\"));\n_3.spinner=p.children(\"input\");\n}\n_3.spinner.timespinner({width:_4.spinnerWidth,showSeconds:_4.showSeconds,separator:_4.timeSeparator});\n$(_2).datetimebox(\"initValue\",_4.value);\n};\nfunction _8(_9){\nvar c=$(_9).datetimebox(\"calendar\");\nvar t=$(_9).datetimebox(\"spinner\");\nvar _a=c.calendar(\"options\").current;\nreturn new Date(_a.getFullYear(),_a.getMonth(),_a.getDate(),t.timespinner(\"getHours\"),t.timespinner(\"getMinutes\"),t.timespinner(\"getSeconds\"));\n};\nfunction _b(_c,q){\n_d(_c,q,true);\n};\nfunction _e(_f){\nvar _10=$.data(_f,\"datetimebox\").options;\nvar _11=_8(_f);\n_d(_f,_10.formatter.call(_f,_11));\n$(_f).combo(\"hidePanel\");\n};\nfunction _d(_12,_13,_14){\nvar _15=$.data(_12,\"datetimebox\").options;\n$(_12).combo(\"setValue\",_13);\nif(!_14){\nif(_13){\nvar _16=_15.parser.call(_12,_13);\n$(_12).combo(\"setValue\",_15.formatter.call(_12,_16));\n$(_12).combo(\"setText\",_15.formatter.call(_12,_16));\n}else{\n$(_12).combo(\"setText\",_13);\n}\n}\nvar _16=_15.parser.call(_12,_13);\n$(_12).datetimebox(\"calendar\").calendar(\"moveTo\",_16);\n$(_12).datetimebox(\"spinner\").timespinner(\"setValue\",_17(_16));\nfunction _17(_18){\nfunction _19(_1a){\nreturn (_1a<10?\"0\":\"\")+_1a;\n};\nvar tt=[_19(_18.getHours()),_19(_18.getMinutes())];\nif(_15.showSeconds){\ntt.push(_19(_18.getSeconds()));\n}\nreturn tt.join($(_12).datetimebox(\"spinner\").timespinner(\"options\").separator);\n};\n};\n$.fn.datetimebox=function(_1b,_1c){\nif(typeof _1b==\"string\"){\nvar _1d=$.fn.datetimebox.methods[_1b];\nif(_1d){\nreturn _1d(this,_1c);\n}else{\nreturn this.datebox(_1b,_1c);\n}\n}\n_1b=_1b||{};\nreturn this.each(function(){\nvar _1e=$.data(this,\"datetimebox\");\nif(_1e){\n$.extend(_1e.options,_1b);\n}else{\n$.data(this,\"datetimebox\",{options:$.extend({},$.fn.datetimebox.defaults,$.fn.datetimebox.parseOptions(this),_1b)});\n}\n_1(this);\n});\n};\n$.fn.datetimebox.methods={options:function(jq){\nvar _1f=jq.datebox(\"options\");\nreturn $.extend($.data(jq[0],\"datetimebox\").options,{originalValue:_1f.originalValue,disabled:_1f.disabled,readonly:_1f.readonly});\n},cloneFrom:function(jq,_20){\nreturn jq.each(function(){\n$(this).datebox(\"cloneFrom\",_20);\n$.data(this,\"datetimebox\",{options:$.extend(true,{},$(_20).datetimebox(\"options\")),spinner:$(_20).datetimebox(\"spinner\")});\n$(this).removeClass(\"datebox-f\").addClass(\"datetimebox-f\");\n});\n},spinner:function(jq){\nreturn $.data(jq[0],\"datetimebox\").spinner;\n},initValue:function(jq,_21){\nreturn jq.each(function(){\nvar _22=$(this).datetimebox(\"options\");\nvar _23=_22.value;\nif(_23){\n_23=_22.formatter.call(this,_22.parser.call(this,_23));\n}\n$(this).combo(\"initValue\",_23).combo(\"setText\",_23);\n});\n},setValue:function(jq,_24){\nreturn jq.each(function(){\n_d(this,_24);\n});\n},reset:function(jq){\nreturn jq.each(function(){\nvar _25=$(this).datetimebox(\"options\");\n$(this).datetimebox(\"setValue\",_25.originalValue);\n});\n}};\n$.fn.datetimebox.parseOptions=function(_26){\nvar t=$(_26);\nreturn $.extend({},$.fn.datebox.parseOptions(_26),$.parser.parseOptions(_26,[\"timeSeparator\",\"spinnerWidth\",{showSeconds:\"boolean\"}]));\n};\n$.fn.datetimebox.defaults=$.extend({},$.fn.datebox.defaults,{spinnerWidth:\"100%\",showSeconds:true,timeSeparator:\":\",keyHandler:{up:function(e){\n},down:function(e){\n},left:function(e){\n},right:function(e){\n},enter:function(e){\n_e(this);\n},query:function(q,e){\n_b(this,q);\n}},buttons:[{text:function(_27){\nreturn $(_27).datetimebox(\"options\").currentText;\n},handler:function(_28){\nvar _29=$(_28).datetimebox(\"options\");\n_d(_28,_29.formatter.call(_28,new Date()));\n$(_28).datetimebox(\"hidePanel\");\n}},{text:function(_2a){\nreturn $(_2a).datetimebox(\"options\").okText;\n},handler:function(_2b){\n_e(_2b);\n}},{text:function(_2c){\nreturn $(_2c).datetimebox(\"options\").closeText;\n},handler:function(_2d){\n$(_2d).datetimebox(\"hidePanel\");\n}}],formatter:function(_2e){\nvar h=_2e.getHours();\nvar M=_2e.getMinutes();\nvar s=_2e.getSeconds();\nfunction _2f(_30){\nreturn (_30<10?\"0\":\"\")+_30;\n};\nvar _31=$(this).datetimebox(\"spinner\").timespinner(\"options\").separator;\nvar r=$.fn.datebox.defaults.formatter(_2e)+\" \"+_2f(h)+_31+_2f(M);\nif($(this).datetimebox(\"options\").showSeconds){\nr+=_31+_2f(s);\n}\nreturn r;\n},parser:function(s){\nif($.trim(s)==\"\"){\nreturn new Date();\n}\nvar dt=s.split(\" \");\nvar d=$.fn.datebox.defaults.parser(dt[0]);\nif(dt.length<2){\nreturn d;\n}\nvar _32=$(this).datetimebox(\"spinner\").timespinner(\"options\").separator;\nvar tt=dt[1].split(_32);\nvar _33=parseInt(tt[0],10)||0;\nvar _34=parseInt(tt[1],10)||0;\nvar _35=parseInt(tt[2],10)||0;\nreturn new Date(d.getFullYear(),d.getMonth(),d.getDate(),_33,_34,_35);\n}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.datetimespinner.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$.data(_2,\"datetimespinner\").options;\n$(_2).addClass(\"datetimespinner-f\").timespinner(_3);\n};\n$.fn.datetimespinner=function(_4,_5){\nif(typeof _4==\"string\"){\nvar _6=$.fn.datetimespinner.methods[_4];\nif(_6){\nreturn _6(this,_5);\n}else{\nreturn this.timespinner(_4,_5);\n}\n}\n_4=_4||{};\nreturn this.each(function(){\nvar _7=$.data(this,\"datetimespinner\");\nif(_7){\n$.extend(_7.options,_4);\n}else{\n$.data(this,\"datetimespinner\",{options:$.extend({},$.fn.datetimespinner.defaults,$.fn.datetimespinner.parseOptions(this),_4)});\n}\n_1(this);\n});\n};\n$.fn.datetimespinner.methods={options:function(jq){\nvar _8=jq.timespinner(\"options\");\nreturn $.extend($.data(jq[0],\"datetimespinner\").options,{width:_8.width,value:_8.value,originalValue:_8.originalValue,disabled:_8.disabled,readonly:_8.readonly});\n}};\n$.fn.datetimespinner.parseOptions=function(_9){\nreturn $.extend({},$.fn.timespinner.parseOptions(_9),$.parser.parseOptions(_9,[]));\n};\n$.fn.datetimespinner.defaults=$.extend({},$.fn.timespinner.defaults,{formatter:function(_a){\nif(!_a){\nreturn \"\";\n}\nreturn $.fn.datebox.defaults.formatter.call(this,_a)+\" \"+$.fn.timespinner.defaults.formatter.call(this,_a);\n},parser:function(s){\ns=$.trim(s);\nif(!s){\nreturn null;\n}\nvar dt=s.split(\" \");\nvar _b=$.fn.datebox.defaults.parser.call(this,dt[0]);\nif(dt.length<2){\nreturn _b;\n}\nvar _c=$.fn.timespinner.defaults.parser.call(this,dt[1]);\nreturn new Date(_b.getFullYear(),_b.getMonth(),_b.getDate(),_c.getHours(),_c.getMinutes(),_c.getSeconds());\n},selections:[[0,2],[3,5],[6,10],[11,13],[14,16],[17,19]]});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.dialog.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$.data(_2,\"dialog\").options;\n_3.inited=false;\n$(_2).window($.extend({},_3,{onResize:function(w,h){\nif(_3.inited){\n_a(this);\n_3.onResize.call(this,w,h);\n}\n}}));\nvar _4=$(_2).window(\"window\");\nif(_3.toolbar){\nif($.isArray(_3.toolbar)){\n$(_2).siblings(\"div.dialog-toolbar\").remove();\nvar _5=$(\"<div class=\\\"dialog-toolbar\\\"><table cellspacing=\\\"0\\\" cellpadding=\\\"0\\\"><tr></tr></table></div>\").appendTo(_4);\nvar tr=_5.find(\"tr\");\nfor(var i=0;i<_3.toolbar.length;i++){\nvar _6=_3.toolbar[i];\nif(_6==\"-\"){\n$(\"<td><div class=\\\"dialog-tool-separator\\\"></div></td>\").appendTo(tr);\n}else{\nvar td=$(\"<td></td>\").appendTo(tr);\nvar _7=$(\"<a href=\\\"javascript:void(0)\\\"></a>\").appendTo(td);\n_7[0].onclick=eval(_6.handler||function(){\n});\n_7.linkbutton($.extend({},_6,{plain:true}));\n}\n}\n}else{\n$(_3.toolbar).addClass(\"dialog-toolbar\").appendTo(_4);\n$(_3.toolbar).show();\n}\n}else{\n$(_2).siblings(\"div.dialog-toolbar\").remove();\n}\nif(_3.buttons){\nif($.isArray(_3.buttons)){\n$(_2).siblings(\"div.dialog-button\").remove();\nvar _8=$(\"<div class=\\\"dialog-button\\\"></div>\").appendTo(_4);\nfor(var i=0;i<_3.buttons.length;i++){\nvar p=_3.buttons[i];\nvar _9=$(\"<a href=\\\"javascript:void(0)\\\"></a>\").appendTo(_8);\nif(p.handler){\n_9[0].onclick=p.handler;\n}\n_9.linkbutton(p);\n}\n}else{\n$(_3.buttons).addClass(\"dialog-button\").appendTo(_4);\n$(_3.buttons).show();\n}\n}else{\n$(_2).siblings(\"div.dialog-button\").remove();\n}\n_3.inited=true;\n_4.show();\n$(_2).window(\"resize\");\nif(_3.closed){\n_4.hide();\n}\n};\nfunction _a(_b,_c){\nvar t=$(_b);\nvar _d=t.dialog(\"options\");\nvar _e=_d.noheader;\nvar tb=t.siblings(\".dialog-toolbar\");\nvar bb=t.siblings(\".dialog-button\");\ntb.insertBefore(_b).css({position:\"relative\",borderTopWidth:(_e?1:0),top:(_e?tb.length:0)});\nbb.insertAfter(_b).css({position:\"relative\",top:-1});\nif(!isNaN(parseInt(_d.height))){\nt._outerHeight(t._outerHeight()-tb._outerHeight()-bb._outerHeight());\n}\ntb.add(bb)._outerWidth(t._outerWidth());\nvar _f=$.data(_b,\"window\").shadow;\nif(_f){\nvar cc=t.panel(\"panel\");\n_f.css({width:cc._outerWidth(),height:cc._outerHeight()});\n}\n};\n$.fn.dialog=function(_10,_11){\nif(typeof _10==\"string\"){\nvar _12=$.fn.dialog.methods[_10];\nif(_12){\nreturn _12(this,_11);\n}else{\nreturn this.window(_10,_11);\n}\n}\n_10=_10||{};\nreturn this.each(function(){\nvar _13=$.data(this,\"dialog\");\nif(_13){\n$.extend(_13.options,_10);\n}else{\n$.data(this,\"dialog\",{options:$.extend({},$.fn.dialog.defaults,$.fn.dialog.parseOptions(this),_10)});\n}\n_1(this);\n});\n};\n$.fn.dialog.methods={options:function(jq){\nvar _14=$.data(jq[0],\"dialog\").options;\nvar _15=jq.panel(\"options\");\n$.extend(_14,{width:_15.width,height:_15.height,left:_15.left,top:_15.top,closed:_15.closed,collapsed:_15.collapsed,minimized:_15.minimized,maximized:_15.maximized});\nreturn _14;\n},dialog:function(jq){\nreturn jq.window(\"window\");\n}};\n$.fn.dialog.parseOptions=function(_16){\nreturn $.extend({},$.fn.window.parseOptions(_16),$.parser.parseOptions(_16,[\"toolbar\",\"buttons\"]));\n};\n$.fn.dialog.defaults=$.extend({},$.fn.window.defaults,{title:\"New Dialog\",collapsible:false,minimizable:false,maximizable:false,resizable:false,toolbar:null,buttons:null});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.draggable.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(e){\nvar _2=$.data(e.data.target,\"draggable\");\nvar _3=_2.options;\nvar _4=_2.proxy;\nvar _5=e.data;\nvar _6=_5.startLeft+e.pageX-_5.startX;\nvar _7=_5.startTop+e.pageY-_5.startY;\nif(_4){\nif(_4.parent()[0]==document.body){\nif(_3.deltaX!=null&&_3.deltaX!=undefined){\n_6=e.pageX+_3.deltaX;\n}else{\n_6=e.pageX-e.data.offsetWidth;\n}\nif(_3.deltaY!=null&&_3.deltaY!=undefined){\n_7=e.pageY+_3.deltaY;\n}else{\n_7=e.pageY-e.data.offsetHeight;\n}\n}else{\nif(_3.deltaX!=null&&_3.deltaX!=undefined){\n_6+=e.data.offsetWidth+_3.deltaX;\n}\nif(_3.deltaY!=null&&_3.deltaY!=undefined){\n_7+=e.data.offsetHeight+_3.deltaY;\n}\n}\n}\nif(e.data.parent!=document.body){\n_6+=$(e.data.parent).scrollLeft();\n_7+=$(e.data.parent).scrollTop();\n}\nif(_3.axis==\"h\"){\n_5.left=_6;\n}else{\nif(_3.axis==\"v\"){\n_5.top=_7;\n}else{\n_5.left=_6;\n_5.top=_7;\n}\n}\n};\nfunction _8(e){\nvar _9=$.data(e.data.target,\"draggable\");\nvar _a=_9.options;\nvar _b=_9.proxy;\nif(!_b){\n_b=$(e.data.target);\n}\n_b.css({left:e.data.left,top:e.data.top});\n$(\"body\").css(\"cursor\",_a.cursor);\n};\nfunction _c(e){\n$.fn.draggable.isDragging=true;\nvar _d=$.data(e.data.target,\"draggable\");\nvar _e=_d.options;\nvar _f=$(\".droppable\").filter(function(){\nreturn e.data.target!=this;\n}).filter(function(){\nvar _10=$.data(this,\"droppable\").options.accept;\nif(_10){\nreturn $(_10).filter(function(){\nreturn this==e.data.target;\n}).length>0;\n}else{\nreturn true;\n}\n});\n_d.droppables=_f;\nvar _11=_d.proxy;\nif(!_11){\nif(_e.proxy){\nif(_e.proxy==\"clone\"){\n_11=$(e.data.target).clone().insertAfter(e.data.target);\n}else{\n_11=_e.proxy.call(e.data.target,e.data.target);\n}\n_d.proxy=_11;\n}else{\n_11=$(e.data.target);\n}\n}\n_11.css(\"position\",\"absolute\");\n_1(e);\n_8(e);\n_e.onStartDrag.call(e.data.target,e);\nreturn false;\n};\nfunction _12(e){\nvar _13=$.data(e.data.target,\"draggable\");\n_1(e);\nif(_13.options.onDrag.call(e.data.target,e)!=false){\n_8(e);\n}\nvar _14=e.data.target;\n_13.droppables.each(function(){\nvar _15=$(this);\nif(_15.droppable(\"options\").disabled){\nreturn;\n}\nvar p2=_15.offset();\nif(e.pageX>p2.left&&e.pageX<p2.left+_15.outerWidth()&&e.pageY>p2.top&&e.pageY<p2.top+_15.outerHeight()){\nif(!this.entered){\n$(this).trigger(\"_dragenter\",[_14]);\nthis.entered=true;\n}\n$(this).trigger(\"_dragover\",[_14]);\n}else{\nif(this.entered){\n$(this).trigger(\"_dragleave\",[_14]);\nthis.entered=false;\n}\n}\n});\nreturn false;\n};\nfunction _16(e){\n$.fn.draggable.isDragging=false;\n_12(e);\nvar _17=$.data(e.data.target,\"draggable\");\nvar _18=_17.proxy;\nvar _19=_17.options;\nif(_19.revert){\nif(_1a()==true){\n$(e.data.target).css({position:e.data.startPosition,left:e.data.startLeft,top:e.data.startTop});\n}else{\nif(_18){\nvar _1b,top;\nif(_18.parent()[0]==document.body){\n_1b=e.data.startX-e.data.offsetWidth;\ntop=e.data.startY-e.data.offsetHeight;\n}else{\n_1b=e.data.startLeft;\ntop=e.data.startTop;\n}\n_18.animate({left:_1b,top:top},function(){\n_1c();\n});\n}else{\n$(e.data.target).animate({left:e.data.startLeft,top:e.data.startTop},function(){\n$(e.data.target).css(\"position\",e.data.startPosition);\n});\n}\n}\n}else{\n$(e.data.target).css({position:\"absolute\",left:e.data.left,top:e.data.top});\n_1a();\n}\n_19.onStopDrag.call(e.data.target,e);\n$(document).unbind(\".draggable\");\nsetTimeout(function(){\n$(\"body\").css(\"cursor\",\"\");\n},100);\nfunction _1c(){\nif(_18){\n_18.remove();\n}\n_17.proxy=null;\n};\nfunction _1a(){\nvar _1d=false;\n_17.droppables.each(function(){\nvar _1e=$(this);\nif(_1e.droppable(\"options\").disabled){\nreturn;\n}\nvar p2=_1e.offset();\nif(e.pageX>p2.left&&e.pageX<p2.left+_1e.outerWidth()&&e.pageY>p2.top&&e.pageY<p2.top+_1e.outerHeight()){\nif(_19.revert){\n$(e.data.target).css({position:e.data.startPosition,left:e.data.startLeft,top:e.data.startTop});\n}\n$(this).trigger(\"_drop\",[e.data.target]);\n_1c();\n_1d=true;\nthis.entered=false;\nreturn false;\n}\n});\nif(!_1d&&!_19.revert){\n_1c();\n}\nreturn _1d;\n};\nreturn false;\n};\n$.fn.draggable=function(_1f,_20){\nif(typeof _1f==\"string\"){\nreturn $.fn.draggable.methods[_1f](this,_20);\n}\nreturn this.each(function(){\nvar _21;\nvar _22=$.data(this,\"draggable\");\nif(_22){\n_22.handle.unbind(\".draggable\");\n_21=$.extend(_22.options,_1f);\n}else{\n_21=$.extend({},$.fn.draggable.defaults,$.fn.draggable.parseOptions(this),_1f||{});\n}\nvar _23=_21.handle?(typeof _21.handle==\"string\"?$(_21.handle,this):_21.handle):$(this);\n$.data(this,\"draggable\",{options:_21,handle:_23});\nif(_21.disabled){\n$(this).css(\"cursor\",\"\");\nreturn;\n}\n_23.unbind(\".draggable\").bind(\"mousemove.draggable\",{target:this},function(e){\nif($.fn.draggable.isDragging){\nreturn;\n}\nvar _24=$.data(e.data.target,\"draggable\").options;\nif(_25(e)){\n$(this).css(\"cursor\",_24.cursor);\n}else{\n$(this).css(\"cursor\",\"\");\n}\n}).bind(\"mouseleave.draggable\",{target:this},function(e){\n$(this).css(\"cursor\",\"\");\n}).bind(\"mousedown.draggable\",{target:this},function(e){\nif(_25(e)==false){\nreturn;\n}\n$(this).css(\"cursor\",\"\");\nvar _26=$(e.data.target).position();\nvar _27=$(e.data.target).offset();\nvar _28={startPosition:$(e.data.target).css(\"position\"),startLeft:_26.left,startTop:_26.top,left:_26.left,top:_26.top,startX:e.pageX,startY:e.pageY,offsetWidth:(e.pageX-_27.left),offsetHeight:(e.pageY-_27.top),target:e.data.target,parent:$(e.data.target).parent()[0]};\n$.extend(e.data,_28);\nvar _29=$.data(e.data.target,\"draggable\").options;\nif(_29.onBeforeDrag.call(e.data.target,e)==false){\nreturn;\n}\n$(document).bind(\"mousedown.draggable\",e.data,_c);\n$(document).bind(\"mousemove.draggable\",e.data,_12);\n$(document).bind(\"mouseup.draggable\",e.data,_16);\n});\nfunction _25(e){\nvar _2a=$.data(e.data.target,\"draggable\");\nvar _2b=_2a.handle;\nvar _2c=$(_2b).offset();\nvar _2d=$(_2b).outerWidth();\nvar _2e=$(_2b).outerHeight();\nvar t=e.pageY-_2c.top;\nvar r=_2c.left+_2d-e.pageX;\nvar b=_2c.top+_2e-e.pageY;\nvar l=e.pageX-_2c.left;\nreturn Math.min(t,r,b,l)>_2a.options.edge;\n};\n});\n};\n$.fn.draggable.methods={options:function(jq){\nreturn $.data(jq[0],\"draggable\").options;\n},proxy:function(jq){\nreturn $.data(jq[0],\"draggable\").proxy;\n},enable:function(jq){\nreturn jq.each(function(){\n$(this).draggable({disabled:false});\n});\n},disable:function(jq){\nreturn jq.each(function(){\n$(this).draggable({disabled:true});\n});\n}};\n$.fn.draggable.parseOptions=function(_2f){\nvar t=$(_2f);\nreturn $.extend({},$.parser.parseOptions(_2f,[\"cursor\",\"handle\",\"axis\",{\"revert\":\"boolean\",\"deltaX\":\"number\",\"deltaY\":\"number\",\"edge\":\"number\"}]),{disabled:(t.attr(\"disabled\")?true:undefined)});\n};\n$.fn.draggable.defaults={proxy:null,revert:false,cursor:\"move\",deltaX:null,deltaY:null,handle:null,disabled:false,edge:0,axis:null,onBeforeDrag:function(e){\n},onStartDrag:function(e){\n},onDrag:function(e){\n},onStopDrag:function(e){\n}};\n$.fn.draggable.isDragging=false;\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.droppable.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\n$(_2).addClass(\"droppable\");\n$(_2).bind(\"_dragenter\",function(e,_3){\n$.data(_2,\"droppable\").options.onDragEnter.apply(_2,[e,_3]);\n});\n$(_2).bind(\"_dragleave\",function(e,_4){\n$.data(_2,\"droppable\").options.onDragLeave.apply(_2,[e,_4]);\n});\n$(_2).bind(\"_dragover\",function(e,_5){\n$.data(_2,\"droppable\").options.onDragOver.apply(_2,[e,_5]);\n});\n$(_2).bind(\"_drop\",function(e,_6){\n$.data(_2,\"droppable\").options.onDrop.apply(_2,[e,_6]);\n});\n};\n$.fn.droppable=function(_7,_8){\nif(typeof _7==\"string\"){\nreturn $.fn.droppable.methods[_7](this,_8);\n}\n_7=_7||{};\nreturn this.each(function(){\nvar _9=$.data(this,\"droppable\");\nif(_9){\n$.extend(_9.options,_7);\n}else{\n_1(this);\n$.data(this,\"droppable\",{options:$.extend({},$.fn.droppable.defaults,$.fn.droppable.parseOptions(this),_7)});\n}\n});\n};\n$.fn.droppable.methods={options:function(jq){\nreturn $.data(jq[0],\"droppable\").options;\n},enable:function(jq){\nreturn jq.each(function(){\n$(this).droppable({disabled:false});\n});\n},disable:function(jq){\nreturn jq.each(function(){\n$(this).droppable({disabled:true});\n});\n}};\n$.fn.droppable.parseOptions=function(_a){\nvar t=$(_a);\nreturn $.extend({},$.parser.parseOptions(_a,[\"accept\"]),{disabled:(t.attr(\"disabled\")?true:undefined)});\n};\n$.fn.droppable.defaults={accept:null,disabled:false,onDragEnter:function(e,_b){\n},onDragOver:function(e,_c){\n},onDragLeave:function(e,_d){\n},onDrop:function(e,_e){\n}};\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.filebox.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nvar _1=0;\nfunction _2(_3){\nvar _4=$.data(_3,\"filebox\");\nvar _5=_4.options;\nvar id=\"filebox_file_id_\"+(++_1);\n$(_3).addClass(\"filebox-f\").textbox($.extend({},_5,{buttonText:_5.buttonText?(\"<label for=\\\"\"+id+\"\\\">\"+_5.buttonText+\"</label>\"):\"\"}));\n$(_3).textbox(\"textbox\").attr(\"readonly\",\"readonly\");\n_4.filebox=$(_3).next().addClass(\"filebox\");\n_4.filebox.find(\".textbox-value\").remove();\n_5.oldValue=\"\";\nvar _6=$(\"<input type=\\\"file\\\" class=\\\"textbox-value\\\">\").appendTo(_4.filebox);\n_6.attr(\"id\",id).attr(\"name\",$(_3).attr(\"textboxName\")||\"\");\n_6.change(function(){\n$(_3).filebox(\"setText\",this.value);\n_5.onChange.call(_3,this.value,_5.oldValue);\n_5.oldValue=this.value;\n});\nvar _7=$(_3).filebox(\"button\");\nif(_7.length){\nif(_7.linkbutton(\"options\").disabled){\n_6.attr(\"disabled\",\"disabled\");\n}else{\n_6.removeAttr(\"disabled\");\n}\n}\n};\n$.fn.filebox=function(_8,_9){\nif(typeof _8==\"string\"){\nvar _a=$.fn.filebox.methods[_8];\nif(_a){\nreturn _a(this,_9);\n}else{\nreturn this.textbox(_8,_9);\n}\n}\n_8=_8||{};\nreturn this.each(function(){\nvar _b=$.data(this,\"filebox\");\nif(_b){\n$.extend(_b.options,_8);\n}else{\n$.data(this,\"filebox\",{options:$.extend({},$.fn.filebox.defaults,$.fn.filebox.parseOptions(this),_8)});\n}\n_2(this);\n});\n};\n$.fn.filebox.methods={options:function(jq){\nvar _c=jq.textbox(\"options\");\nreturn $.extend($.data(jq[0],\"filebox\").options,{width:_c.width,value:_c.value,originalValue:_c.originalValue,disabled:_c.disabled,readonly:_c.readonly});\n}};\n$.fn.filebox.parseOptions=function(_d){\nreturn $.extend({},$.fn.textbox.parseOptions(_d),{});\n};\n$.fn.filebox.defaults=$.extend({},$.fn.textbox.defaults,{buttonIcon:null,buttonText:\"Choose File\",buttonAlign:\"right\",inputEvents:{}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.form.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2,_3){\nvar _4=$.data(_2,\"form\").options;\n$.extend(_4,_3||{});\nvar _5=$.extend({},_4.queryParams);\nif(_4.onSubmit.call(_2,_5)==false){\nreturn;\n}\n$(_2).find(\".textbox-text:focus\").blur();\nvar _6=\"easyui_frame_\"+(new Date().getTime());\nvar _7=$(\"<iframe id=\"+_6+\" name=\"+_6+\"></iframe>\").appendTo(\"body\");\n_7.attr(\"src\",window.ActiveXObject?\"javascript:false\":\"about:blank\");\n_7.css({position:\"absolute\",top:-1000,left:-1000});\n_7.bind(\"load\",cb);\n_8(_5);\nfunction _8(_9){\nvar _a=$(_2);\nif(_4.url){\n_a.attr(\"action\",_4.url);\n}\nvar t=_a.attr(\"target\"),a=_a.attr(\"action\");\n_a.attr(\"target\",_6);\nvar _b=$();\ntry{\nfor(var n in _9){\nvar _c=$(\"<input type=\\\"hidden\\\" name=\\\"\"+n+\"\\\">\").val(_9[n]).appendTo(_a);\n_b=_b.add(_c);\n}\n_d();\n_a[0].submit();\n}\nfinally{\n_a.attr(\"action\",a);\nt?_a.attr(\"target\",t):_a.removeAttr(\"target\");\n_b.remove();\n}\n};\nfunction _d(){\nvar f=$(\"#\"+_6);\nif(!f.length){\nreturn;\n}\ntry{\nvar s=f.contents()[0].readyState;\nif(s&&s.toLowerCase()==\"uninitialized\"){\nsetTimeout(_d,100);\n}\n}\ncatch(e){\ncb();\n}\n};\nvar _e=10;\nfunction cb(){\nvar f=$(\"#\"+_6);\nif(!f.length){\nreturn;\n}\nf.unbind();\nvar _f=\"\";\ntry{\nvar _10=f.contents().find(\"body\");\n_f=_10.html();\nif(_f==\"\"){\nif(--_e){\nsetTimeout(cb,100);\nreturn;\n}\n}\nvar ta=_10.find(\">textarea\");\nif(ta.length){\n_f=ta.val();\n}else{\nvar pre=_10.find(\">pre\");\nif(pre.length){\n_f=pre.html();\n}\n}\n}\ncatch(e){\n}\n_4.success(_f);\nsetTimeout(function(){\nf.unbind();\nf.remove();\n},100);\n};\n};\nfunction _11(_12,_13){\nvar _14=$.data(_12,\"form\").options;\nif(typeof _13==\"string\"){\nvar _15={};\nif(_14.onBeforeLoad.call(_12,_15)==false){\nreturn;\n}\n$.ajax({url:_13,data:_15,dataType:\"json\",success:function(_16){\n_17(_16);\n},error:function(){\n_14.onLoadError.apply(_12,arguments);\n}});\n}else{\n_17(_13);\n}\nfunction _17(_18){\nvar _19=$(_12);\nfor(var _1a in _18){\nvar val=_18[_1a];\nvar rr=_1b(_1a,val);\nif(!rr.length){\nvar _1c=_1d(_1a,val);\nif(!_1c){\n$(\"input[name=\\\"\"+_1a+\"\\\"]\",_19).val(val);\n$(\"textarea[name=\\\"\"+_1a+\"\\\"]\",_19).val(val);\n$(\"select[name=\\\"\"+_1a+\"\\\"]\",_19).val(val);\n}\n}\n_1e(_1a,val);\n}\n_14.onLoadSuccess.call(_12,_18);\n_2b(_12);\n};\nfunction _1b(_1f,val){\nvar rr=$(_12).find(\"input[name=\\\"\"+_1f+\"\\\"][type=radio], input[name=\\\"\"+_1f+\"\\\"][type=checkbox]\");\nrr._propAttr(\"checked\",false);\nrr.each(function(){\nvar f=$(this);\nif(f.val()==String(val)||$.inArray(f.val(),$.isArray(val)?val:[val])>=0){\nf._propAttr(\"checked\",true);\n}\n});\nreturn rr;\n};\nfunction _1d(_20,val){\nvar _21=0;\nvar pp=[\"textbox\",\"numberbox\",\"slider\"];\nfor(var i=0;i<pp.length;i++){\nvar p=pp[i];\nvar f=$(_12).find(\"input[\"+p+\"Name=\\\"\"+_20+\"\\\"]\");\nif(f.length){\nf[p](\"setValue\",val);\n_21+=f.length;\n}\n}\nreturn _21;\n};\nfunction _1e(_22,val){\nvar _23=$(_12);\nvar cc=[\"combobox\",\"combotree\",\"combogrid\",\"datetimebox\",\"datebox\",\"combo\"];\nvar c=_23.find(\"[comboName=\\\"\"+_22+\"\\\"]\");\nif(c.length){\nfor(var i=0;i<cc.length;i++){\nvar _24=cc[i];\nif(c.hasClass(_24+\"-f\")){\nif(c[_24](\"options\").multiple){\nc[_24](\"setValues\",val);\n}else{\nc[_24](\"setValue\",val);\n}\nreturn;\n}\n}\n}\n};\n};\nfunction _25(_26){\n$(\"input,select,textarea\",_26).each(function(){\nvar t=this.type,tag=this.tagName.toLowerCase();\nif(t==\"text\"||t==\"hidden\"||t==\"password\"||tag==\"textarea\"){\nthis.value=\"\";\n}else{\nif(t==\"file\"){\nvar _27=$(this);\nif(!_27.hasClass(\"textbox-value\")){\nvar _28=_27.clone().val(\"\");\n_28.insertAfter(_27);\nif(_27.data(\"validatebox\")){\n_27.validatebox(\"destroy\");\n_28.validatebox();\n}else{\n_27.remove();\n}\n}\n}else{\nif(t==\"checkbox\"||t==\"radio\"){\nthis.checked=false;\n}else{\nif(tag==\"select\"){\nthis.selectedIndex=-1;\n}\n}\n}\n}\n});\nvar t=$(_26);\nvar _29=[\"textbox\",\"combo\",\"combobox\",\"combotree\",\"combogrid\",\"slider\"];\nfor(var i=0;i<_29.length;i++){\nvar _2a=_29[i];\nvar r=t.find(\".\"+_2a+\"-f\");\nif(r.length&&r[_2a]){\nr[_2a](\"clear\");\n}\n}\n_2b(_26);\n};\nfunction _2c(_2d){\n_2d.reset();\nvar t=$(_2d);\nvar _2e=[\"textbox\",\"combo\",\"combobox\",\"combotree\",\"combogrid\",\"datebox\",\"datetimebox\",\"spinner\",\"timespinner\",\"numberbox\",\"numberspinner\",\"slider\"];\nfor(var i=0;i<_2e.length;i++){\nvar _2f=_2e[i];\nvar r=t.find(\".\"+_2f+\"-f\");\nif(r.length&&r[_2f]){\nr[_2f](\"reset\");\n}\n}\n_2b(_2d);\n};\nfunction _30(_31){\nvar _32=$.data(_31,\"form\").options;\n$(_31).unbind(\".form\");\nif(_32.ajax){\n$(_31).bind(\"submit.form\",function(){\nsetTimeout(function(){\n_1(_31,_32);\n},0);\nreturn false;\n});\n}\n_33(_31,_32.novalidate);\n};\nfunction _34(_35,_36){\n_36=_36||{};\nvar _37=$.data(_35,\"form\");\nif(_37){\n$.extend(_37.options,_36);\n}else{\n$.data(_35,\"form\",{options:$.extend({},$.fn.form.defaults,$.fn.form.parseOptions(_35),_36)});\n}\n};\nfunction _2b(_38){\nif($.fn.validatebox){\nvar t=$(_38);\nt.find(\".validatebox-text:not(:disabled)\").validatebox(\"validate\");\nvar _39=t.find(\".validatebox-invalid\");\n_39.filter(\":not(:disabled):first\").focus();\nreturn _39.length==0;\n}\nreturn true;\n};\nfunction _33(_3a,_3b){\nvar _3c=$.data(_3a,\"form\").options;\n_3c.novalidate=_3b;\n$(_3a).find(\".validatebox-text:not(:disabled)\").validatebox(_3b?\"disableValidation\":\"enableValidation\");\n};\n$.fn.form=function(_3d,_3e){\nif(typeof _3d==\"string\"){\nthis.each(function(){\n_34(this);\n});\nreturn $.fn.form.methods[_3d](this,_3e);\n}\nreturn this.each(function(){\n_34(this,_3d);\n_30(this);\n});\n};\n$.fn.form.methods={options:function(jq){\nreturn $.data(jq[0],\"form\").options;\n},submit:function(jq,_3f){\nreturn jq.each(function(){\n_1(this,_3f);\n});\n},load:function(jq,_40){\nreturn jq.each(function(){\n_11(this,_40);\n});\n},clear:function(jq){\nreturn jq.each(function(){\n_25(this);\n});\n},reset:function(jq){\nreturn jq.each(function(){\n_2c(this);\n});\n},validate:function(jq){\nreturn _2b(jq[0]);\n},disableValidation:function(jq){\nreturn jq.each(function(){\n_33(this,true);\n});\n},enableValidation:function(jq){\nreturn jq.each(function(){\n_33(this,false);\n});\n}};\n$.fn.form.parseOptions=function(_41){\nvar t=$(_41);\nreturn $.extend({},$.parser.parseOptions(_41,[{ajax:\"boolean\"}]),{url:(t.attr(\"action\")?t.attr(\"action\"):undefined)});\n};\n$.fn.form.defaults={novalidate:false,ajax:true,url:null,queryParams:{},onSubmit:function(_42){\nreturn $(this).form(\"validate\");\n},success:function(_43){\n},onBeforeLoad:function(_44){\n},onLoadSuccess:function(_45){\n},onLoadError:function(){\n}};\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.layout.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nvar _1=false;\nfunction _2(_3,_4){\nvar _5=$.data(_3,\"layout\");\nvar _6=_5.options;\nvar _7=_5.panels;\nvar cc=$(_3);\nif(_4){\n$.extend(_6,{width:_4.width,height:_4.height});\n}\nif(_3.tagName.toLowerCase()==\"body\"){\ncc._size(\"fit\");\n}else{\ncc._size(_6);\n}\nvar _8={top:0,left:0,width:cc.width(),height:cc.height()};\n_9(_a(_7.expandNorth)?_7.expandNorth:_7.north,\"n\");\n_9(_a(_7.expandSouth)?_7.expandSouth:_7.south,\"s\");\n_b(_a(_7.expandEast)?_7.expandEast:_7.east,\"e\");\n_b(_a(_7.expandWest)?_7.expandWest:_7.west,\"w\");\n_7.center.panel(\"resize\",_8);\nfunction _9(pp,_c){\nif(!pp.length||!_a(pp)){\nreturn;\n}\nvar _d=pp.panel(\"options\");\npp.panel(\"resize\",{width:cc.width(),height:_d.height});\nvar _e=pp.panel(\"panel\").outerHeight();\npp.panel(\"move\",{left:0,top:(_c==\"n\"?0:cc.height()-_e)});\n_8.height-=_e;\nif(_c==\"n\"){\n_8.top+=_e;\nif(!_d.split&&_d.border){\n_8.top--;\n}\n}\nif(!_d.split&&_d.border){\n_8.height++;\n}\n};\nfunction _b(pp,_f){\nif(!pp.length||!_a(pp)){\nreturn;\n}\nvar _10=pp.panel(\"options\");\npp.panel(\"resize\",{width:_10.width,height:_8.height});\nvar _11=pp.panel(\"panel\").outerWidth();\npp.panel(\"move\",{left:(_f==\"e\"?cc.width()-_11:0),top:_8.top});\n_8.width-=_11;\nif(_f==\"w\"){\n_8.left+=_11;\nif(!_10.split&&_10.border){\n_8.left--;\n}\n}\nif(!_10.split&&_10.border){\n_8.width++;\n}\n};\n};\nfunction _12(_13){\nvar cc=$(_13);\ncc.addClass(\"layout\");\nfunction _14(cc){\ncc.children(\"div\").each(function(){\nvar _15=$.fn.layout.parsePanelOptions(this);\nif(\"north,south,east,west,center\".indexOf(_15.region)>=0){\n_17(_13,_15,this);\n}\n});\n};\ncc.children(\"form\").length?_14(cc.children(\"form\")):_14(cc);\ncc.append(\"<div class=\\\"layout-split-proxy-h\\\"></div><div class=\\\"layout-split-proxy-v\\\"></div>\");\ncc.bind(\"_resize\",function(e,_16){\nif($(this).hasClass(\"easyui-fluid\")||_16){\n_2(_13);\n}\nreturn false;\n});\n};\nfunction _17(_18,_19,el){\n_19.region=_19.region||\"center\";\nvar _1a=$.data(_18,\"layout\").panels;\nvar cc=$(_18);\nvar dir=_19.region;\nif(_1a[dir].length){\nreturn;\n}\nvar pp=$(el);\nif(!pp.length){\npp=$(\"<div></div>\").appendTo(cc);\n}\nvar _1b=$.extend({},$.fn.layout.paneldefaults,{width:(pp.length?parseInt(pp[0].style.width)||pp.outerWidth():\"auto\"),height:(pp.length?parseInt(pp[0].style.height)||pp.outerHeight():\"auto\"),doSize:false,collapsible:true,cls:(\"layout-panel layout-panel-\"+dir),bodyCls:\"layout-body\",onOpen:function(){\nvar _1c=$(this).panel(\"header\").children(\"div.panel-tool\");\n_1c.children(\"a.panel-tool-collapse\").hide();\nvar _1d={north:\"up\",south:\"down\",east:\"right\",west:\"left\"};\nif(!_1d[dir]){\nreturn;\n}\nvar _1e=\"layout-button-\"+_1d[dir];\nvar t=_1c.children(\"a.\"+_1e);\nif(!t.length){\nt=$(\"<a href=\\\"javascript:void(0)\\\"></a>\").addClass(_1e).appendTo(_1c);\nt.bind(\"click\",{dir:dir},function(e){\n_2b(_18,e.data.dir);\nreturn false;\n});\n}\n$(this).panel(\"options\").collapsible?t.show():t.hide();\n}},_19);\npp.panel(_1b);\n_1a[dir]=pp;\nif(pp.panel(\"options\").split){\nvar _1f=pp.panel(\"panel\");\n_1f.addClass(\"layout-split-\"+dir);\nvar _20=\"\";\nif(dir==\"north\"){\n_20=\"s\";\n}\nif(dir==\"south\"){\n_20=\"n\";\n}\nif(dir==\"east\"){\n_20=\"w\";\n}\nif(dir==\"west\"){\n_20=\"e\";\n}\n_1f.resizable($.extend({},{handles:_20,onStartResize:function(e){\n_1=true;\nif(dir==\"north\"||dir==\"south\"){\nvar _21=$(\">div.layout-split-proxy-v\",_18);\n}else{\nvar _21=$(\">div.layout-split-proxy-h\",_18);\n}\nvar top=0,_22=0,_23=0,_24=0;\nvar pos={display:\"block\"};\nif(dir==\"north\"){\npos.top=parseInt(_1f.css(\"top\"))+_1f.outerHeight()-_21.height();\npos.left=parseInt(_1f.css(\"left\"));\npos.width=_1f.outerWidth();\npos.height=_21.height();\n}else{\nif(dir==\"south\"){\npos.top=parseInt(_1f.css(\"top\"));\npos.left=parseInt(_1f.css(\"left\"));\npos.width=_1f.outerWidth();\npos.height=_21.height();\n}else{\nif(dir==\"east\"){\npos.top=parseInt(_1f.css(\"top\"))||0;\npos.left=parseInt(_1f.css(\"left\"))||0;\npos.width=_21.width();\npos.height=_1f.outerHeight();\n}else{\nif(dir==\"west\"){\npos.top=parseInt(_1f.css(\"top\"))||0;\npos.left=_1f.outerWidth()-_21.width();\npos.width=_21.width();\npos.height=_1f.outerHeight();\n}\n}\n}\n}\n_21.css(pos);\n$(\"<div class=\\\"layout-mask\\\"></div>\").css({left:0,top:0,width:cc.width(),height:cc.height()}).appendTo(cc);\n},onResize:function(e){\nif(dir==\"north\"||dir==\"south\"){\nvar _25=$(\">div.layout-split-proxy-v\",_18);\n_25.css(\"top\",e.pageY-$(_18).offset().top-_25.height()/2);\n}else{\nvar _25=$(\">div.layout-split-proxy-h\",_18);\n_25.css(\"left\",e.pageX-$(_18).offset().left-_25.width()/2);\n}\nreturn false;\n},onStopResize:function(e){\ncc.children(\"div.layout-split-proxy-v,div.layout-split-proxy-h\").hide();\npp.panel(\"resize\",e.data);\n_2(_18);\n_1=false;\ncc.find(\">div.layout-mask\").remove();\n}},_19));\n}\n};\nfunction _26(_27,_28){\nvar _29=$.data(_27,\"layout\").panels;\nif(_29[_28].length){\n_29[_28].panel(\"destroy\");\n_29[_28]=$();\nvar _2a=\"expand\"+_28.substring(0,1).toUpperCase()+_28.substring(1);\nif(_29[_2a]){\n_29[_2a].panel(\"destroy\");\n_29[_2a]=undefined;\n}\n}\n};\nfunction _2b(_2c,_2d,_2e){\nif(_2e==undefined){\n_2e=\"normal\";\n}\nvar _2f=$.data(_2c,\"layout\").panels;\nvar p=_2f[_2d];\nvar _30=p.panel(\"options\");\nif(_30.onBeforeCollapse.call(p)==false){\nreturn;\n}\nvar _31=\"expand\"+_2d.substring(0,1).toUpperCase()+_2d.substring(1);\nif(!_2f[_31]){\n_2f[_31]=_32(_2d);\n_2f[_31].panel(\"panel\").bind(\"click\",function(){\np.panel(\"expand\",false).panel(\"open\");\nvar _33=_34();\np.panel(\"resize\",_33.collapse);\np.panel(\"panel\").animate(_33.expand,function(){\n$(this).unbind(\".layout\").bind(\"mouseleave.layout\",{region:_2d},function(e){\nif(_1==true){\nreturn;\n}\nif($(\"body>div.combo-p>div.combo-panel:visible\").length){\nreturn;\n}\n_2b(_2c,e.data.region);\n});\n});\nreturn false;\n});\n}\nvar _35=_34();\nif(!_a(_2f[_31])){\n_2f.center.panel(\"resize\",_35.resizeC);\n}\np.panel(\"panel\").animate(_35.collapse,_2e,function(){\np.panel(\"collapse\",false).panel(\"close\");\n_2f[_31].panel(\"open\").panel(\"resize\",_35.expandP);\n$(this).unbind(\".layout\");\n});\nfunction _32(dir){\nvar _36;\nif(dir==\"east\"){\n_36=\"layout-button-left\";\n}else{\nif(dir==\"west\"){\n_36=\"layout-button-right\";\n}else{\nif(dir==\"north\"){\n_36=\"layout-button-down\";\n}else{\nif(dir==\"south\"){\n_36=\"layout-button-up\";\n}\n}\n}\n}\nvar p=$(\"<div></div>\").appendTo(_2c);\np.panel($.extend({},$.fn.layout.paneldefaults,{cls:(\"layout-expand layout-expand-\"+dir),title:\"&nbsp;\",closed:true,minWidth:0,minHeight:0,doSize:false,tools:[{iconCls:_36,handler:function(){\n_3c(_2c,_2d);\nreturn false;\n}}]}));\np.panel(\"panel\").hover(function(){\n$(this).addClass(\"layout-expand-over\");\n},function(){\n$(this).removeClass(\"layout-expand-over\");\n});\nreturn p;\n};\nfunction _34(){\nvar cc=$(_2c);\nvar _37=_2f.center.panel(\"options\");\nvar _38=_30.collapsedSize;\nif(_2d==\"east\"){\nvar _39=p.panel(\"panel\")._outerWidth();\nvar _3a=_37.width+_39-_38;\nif(_30.split||!_30.border){\n_3a++;\n}\nreturn {resizeC:{width:_3a},expand:{left:cc.width()-_39},expandP:{top:_37.top,left:cc.width()-_38,width:_38,height:_37.height},collapse:{left:cc.width(),top:_37.top,height:_37.height}};\n}else{\nif(_2d==\"west\"){\nvar _39=p.panel(\"panel\")._outerWidth();\nvar _3a=_37.width+_39-_38;\nif(_30.split||!_30.border){\n_3a++;\n}\nreturn {resizeC:{width:_3a,left:_38-1},expand:{left:0},expandP:{left:0,top:_37.top,width:_38,height:_37.height},collapse:{left:-_39,top:_37.top,height:_37.height}};\n}else{\nif(_2d==\"north\"){\nvar _3b=p.panel(\"panel\")._outerHeight();\nvar hh=_37.height;\nif(!_a(_2f.expandNorth)){\nhh+=_3b-_38+((_30.split||!_30.border)?1:0);\n}\n_2f.east.add(_2f.west).add(_2f.expandEast).add(_2f.expandWest).panel(\"resize\",{top:_38-1,height:hh});\nreturn {resizeC:{top:_38-1,height:hh},expand:{top:0},expandP:{top:0,left:0,width:cc.width(),height:_38},collapse:{top:-_3b,width:cc.width()}};\n}else{\nif(_2d==\"south\"){\nvar _3b=p.panel(\"panel\")._outerHeight();\nvar hh=_37.height;\nif(!_a(_2f.expandSouth)){\nhh+=_3b-_38+((_30.split||!_30.border)?1:0);\n}\n_2f.east.add(_2f.west).add(_2f.expandEast).add(_2f.expandWest).panel(\"resize\",{height:hh});\nreturn {resizeC:{height:hh},expand:{top:cc.height()-_3b},expandP:{top:cc.height()-_38,left:0,width:cc.width(),height:_38},collapse:{top:cc.height(),width:cc.width()}};\n}\n}\n}\n}\n};\n};\nfunction _3c(_3d,_3e){\nvar _3f=$.data(_3d,\"layout\").panels;\nvar p=_3f[_3e];\nvar _40=p.panel(\"options\");\nif(_40.onBeforeExpand.call(p)==false){\nreturn;\n}\nvar _41=\"expand\"+_3e.substring(0,1).toUpperCase()+_3e.substring(1);\nif(_3f[_41]){\n_3f[_41].panel(\"close\");\np.panel(\"panel\").stop(true,true);\np.panel(\"expand\",false).panel(\"open\");\nvar _42=_43();\np.panel(\"resize\",_42.collapse);\np.panel(\"panel\").animate(_42.expand,function(){\n_2(_3d);\n});\n}\nfunction _43(){\nvar cc=$(_3d);\nvar _44=_3f.center.panel(\"options\");\nif(_3e==\"east\"&&_3f.expandEast){\nreturn {collapse:{left:cc.width(),top:_44.top,height:_44.height},expand:{left:cc.width()-p.panel(\"panel\")._outerWidth()}};\n}else{\nif(_3e==\"west\"&&_3f.expandWest){\nreturn {collapse:{left:-p.panel(\"panel\")._outerWidth(),top:_44.top,height:_44.height},expand:{left:0}};\n}else{\nif(_3e==\"north\"&&_3f.expandNorth){\nreturn {collapse:{top:-p.panel(\"panel\")._outerHeight(),width:cc.width()},expand:{top:0}};\n}else{\nif(_3e==\"south\"&&_3f.expandSouth){\nreturn {collapse:{top:cc.height(),width:cc.width()},expand:{top:cc.height()-p.panel(\"panel\")._outerHeight()}};\n}\n}\n}\n}\n};\n};\nfunction _a(pp){\nif(!pp){\nreturn false;\n}\nif(pp.length){\nreturn pp.panel(\"panel\").is(\":visible\");\n}else{\nreturn false;\n}\n};\nfunction _45(_46){\nvar _47=$.data(_46,\"layout\").panels;\nif(_47.east.length&&_47.east.panel(\"options\").collapsed){\n_2b(_46,\"east\",0);\n}\nif(_47.west.length&&_47.west.panel(\"options\").collapsed){\n_2b(_46,\"west\",0);\n}\nif(_47.north.length&&_47.north.panel(\"options\").collapsed){\n_2b(_46,\"north\",0);\n}\nif(_47.south.length&&_47.south.panel(\"options\").collapsed){\n_2b(_46,\"south\",0);\n}\n};\n$.fn.layout=function(_48,_49){\nif(typeof _48==\"string\"){\nreturn $.fn.layout.methods[_48](this,_49);\n}\n_48=_48||{};\nreturn this.each(function(){\nvar _4a=$.data(this,\"layout\");\nif(_4a){\n$.extend(_4a.options,_48);\n}else{\nvar _4b=$.extend({},$.fn.layout.defaults,$.fn.layout.parseOptions(this),_48);\n$.data(this,\"layout\",{options:_4b,panels:{center:$(),north:$(),south:$(),east:$(),west:$()}});\n_12(this);\n}\n_2(this);\n_45(this);\n});\n};\n$.fn.layout.methods={options:function(jq){\nreturn $.data(jq[0],\"layout\").options;\n},resize:function(jq,_4c){\nreturn jq.each(function(){\n_2(this,_4c);\n});\n},panel:function(jq,_4d){\nreturn $.data(jq[0],\"layout\").panels[_4d];\n},collapse:function(jq,_4e){\nreturn jq.each(function(){\n_2b(this,_4e);\n});\n},expand:function(jq,_4f){\nreturn jq.each(function(){\n_3c(this,_4f);\n});\n},add:function(jq,_50){\nreturn jq.each(function(){\n_17(this,_50);\n_2(this);\nif($(this).layout(\"panel\",_50.region).panel(\"options\").collapsed){\n_2b(this,_50.region,0);\n}\n});\n},remove:function(jq,_51){\nreturn jq.each(function(){\n_26(this,_51);\n_2(this);\n});\n}};\n$.fn.layout.parseOptions=function(_52){\nreturn $.extend({},$.parser.parseOptions(_52,[{fit:\"boolean\"}]));\n};\n$.fn.layout.defaults={fit:false};\n$.fn.layout.parsePanelOptions=function(_53){\nvar t=$(_53);\nreturn $.extend({},$.fn.panel.parseOptions(_53),$.parser.parseOptions(_53,[\"region\",{split:\"boolean\",collpasedSize:\"number\",minWidth:\"number\",minHeight:\"number\",maxWidth:\"number\",maxHeight:\"number\"}]));\n};\n$.fn.layout.paneldefaults=$.extend({},$.fn.panel.defaults,{region:null,split:false,collapsedSize:28,minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.linkbutton.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2,_3){\nvar _4=$.data(_2,\"linkbutton\").options;\nif(_3){\n$.extend(_4,_3);\n}\nif(_4.width||_4.height||_4.fit){\nvar _5=$(_2);\nvar _6=_5.parent();\nvar _7=_5.is(\":visible\");\nif(!_7){\nvar _8=$(\"<div style=\\\"display:none\\\"></div>\").insertBefore(_2);\nvar _9={position:_5.css(\"position\"),display:_5.css(\"display\"),left:_5.css(\"left\")};\n_5.appendTo(\"body\");\n_5.css({position:\"absolute\",display:\"inline-block\",left:-20000});\n}\n_5._size(_4,_6);\nvar _a=_5.find(\".l-btn-left\");\n_a.css(\"margin-top\",0);\n_a.css(\"margin-top\",parseInt((_5.height()-_a.height())/2)+\"px\");\nif(!_7){\n_5.insertAfter(_8);\n_5.css(_9);\n_8.remove();\n}\n}\n};\nfunction _b(_c){\nvar _d=$.data(_c,\"linkbutton\").options;\nvar t=$(_c).empty();\nt.addClass(\"l-btn\").removeClass(\"l-btn-plain l-btn-selected l-btn-plain-selected\");\nt.removeClass(\"l-btn-small l-btn-medium l-btn-large\").addClass(\"l-btn-\"+_d.size);\nif(_d.plain){\nt.addClass(\"l-btn-plain\");\n}\nif(_d.selected){\nt.addClass(_d.plain?\"l-btn-selected l-btn-plain-selected\":\"l-btn-selected\");\n}\nt.attr(\"group\",_d.group||\"\");\nt.attr(\"id\",_d.id||\"\");\nvar _e=$(\"<span class=\\\"l-btn-left\\\"></span>\").appendTo(t);\nif(_d.text){\n$(\"<span class=\\\"l-btn-text\\\"></span>\").html(_d.text).appendTo(_e);\n}else{\n$(\"<span class=\\\"l-btn-text l-btn-empty\\\">&nbsp;</span>\").appendTo(_e);\n}\nif(_d.iconCls){\n$(\"<span class=\\\"l-btn-icon\\\">&nbsp;</span>\").addClass(_d.iconCls).appendTo(_e);\n_e.addClass(\"l-btn-icon-\"+_d.iconAlign);\n}\nt.unbind(\".linkbutton\").bind(\"focus.linkbutton\",function(){\nif(!_d.disabled){\n$(this).addClass(\"l-btn-focus\");\n}\n}).bind(\"blur.linkbutton\",function(){\n$(this).removeClass(\"l-btn-focus\");\n}).bind(\"click.linkbutton\",function(){\nif(!_d.disabled){\nif(_d.toggle){\nif(_d.selected){\n$(this).linkbutton(\"unselect\");\n}else{\n$(this).linkbutton(\"select\");\n}\n}\n_d.onClick.call(this);\n}\n});\n_f(_c,_d.selected);\n_10(_c,_d.disabled);\n};\nfunction _f(_11,_12){\nvar _13=$.data(_11,\"linkbutton\").options;\nif(_12){\nif(_13.group){\n$(\"a.l-btn[group=\\\"\"+_13.group+\"\\\"]\").each(function(){\nvar o=$(this).linkbutton(\"options\");\nif(o.toggle){\n$(this).removeClass(\"l-btn-selected l-btn-plain-selected\");\no.selected=false;\n}\n});\n}\n$(_11).addClass(_13.plain?\"l-btn-selected l-btn-plain-selected\":\"l-btn-selected\");\n_13.selected=true;\n}else{\nif(!_13.group){\n$(_11).removeClass(\"l-btn-selected l-btn-plain-selected\");\n_13.selected=false;\n}\n}\n};\nfunction _10(_14,_15){\nvar _16=$.data(_14,\"linkbutton\");\nvar _17=_16.options;\n$(_14).removeClass(\"l-btn-disabled l-btn-plain-disabled\");\nif(_15){\n_17.disabled=true;\nvar _18=$(_14).attr(\"href\");\nif(_18){\n_16.href=_18;\n$(_14).attr(\"href\",\"javascript:void(0)\");\n}\nif(_14.onclick){\n_16.onclick=_14.onclick;\n_14.onclick=null;\n}\n_17.plain?$(_14).addClass(\"l-btn-disabled l-btn-plain-disabled\"):$(_14).addClass(\"l-btn-disabled\");\n}else{\n_17.disabled=false;\nif(_16.href){\n$(_14).attr(\"href\",_16.href);\n}\nif(_16.onclick){\n_14.onclick=_16.onclick;\n}\n}\n};\n$.fn.linkbutton=function(_19,_1a){\nif(typeof _19==\"string\"){\nreturn $.fn.linkbutton.methods[_19](this,_1a);\n}\n_19=_19||{};\nreturn this.each(function(){\nvar _1b=$.data(this,\"linkbutton\");\nif(_1b){\n$.extend(_1b.options,_19);\n}else{\n$.data(this,\"linkbutton\",{options:$.extend({},$.fn.linkbutton.defaults,$.fn.linkbutton.parseOptions(this),_19)});\n$(this).removeAttr(\"disabled\");\n$(this).bind(\"_resize\",function(e,_1c){\nif($(this).hasClass(\"easyui-fluid\")||_1c){\n_1(this);\n}\nreturn false;\n});\n}\n_b(this);\n_1(this);\n});\n};\n$.fn.linkbutton.methods={options:function(jq){\nreturn $.data(jq[0],\"linkbutton\").options;\n},resize:function(jq,_1d){\nreturn jq.each(function(){\n_1(this,_1d);\n});\n},enable:function(jq){\nreturn jq.each(function(){\n_10(this,false);\n});\n},disable:function(jq){\nreturn jq.each(function(){\n_10(this,true);\n});\n},select:function(jq){\nreturn jq.each(function(){\n_f(this,true);\n});\n},unselect:function(jq){\nreturn jq.each(function(){\n_f(this,false);\n});\n}};\n$.fn.linkbutton.parseOptions=function(_1e){\nvar t=$(_1e);\nreturn $.extend({},$.parser.parseOptions(_1e,[\"id\",\"iconCls\",\"iconAlign\",\"group\",\"size\",{plain:\"boolean\",toggle:\"boolean\",selected:\"boolean\"}]),{disabled:(t.attr(\"disabled\")?true:undefined),text:$.trim(t.html()),iconCls:(t.attr(\"icon\")||t.attr(\"iconCls\"))});\n};\n$.fn.linkbutton.defaults={id:null,disabled:false,toggle:false,selected:false,group:null,plain:false,text:\"\",iconCls:null,iconAlign:\"left\",size:\"small\",onClick:function(){\n}};\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.menu.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\n$(_2).appendTo(\"body\");\n$(_2).addClass(\"menu-top\");\n$(document).unbind(\".menu\").bind(\"mousedown.menu\",function(e){\nvar m=$(e.target).closest(\"div.menu,div.combo-p\");\nif(m.length){\nreturn;\n}\n$(\"body>div.menu-top:visible\").menu(\"hide\");\n});\nvar _3=_4($(_2));\nfor(var i=0;i<_3.length;i++){\n_5(_3[i]);\n}\nfunction _4(_6){\nvar _7=[];\n_6.addClass(\"menu\");\n_7.push(_6);\nif(!_6.hasClass(\"menu-content\")){\n_6.children(\"div\").each(function(){\nvar _8=$(this).children(\"div\");\nif(_8.length){\n_8.insertAfter(_2);\nthis.submenu=_8;\nvar mm=_4(_8);\n_7=_7.concat(mm);\n}\n});\n}\nreturn _7;\n};\nfunction _5(_9){\nvar wh=$.parser.parseOptions(_9[0],[\"width\",\"height\"]);\n_9[0].originalHeight=wh.height||0;\nif(_9.hasClass(\"menu-content\")){\n_9[0].originalWidth=wh.width||_9._outerWidth();\n}else{\n_9[0].originalWidth=wh.width||0;\n_9.children(\"div\").each(function(){\nvar _a=$(this);\nvar _b=$.extend({},$.parser.parseOptions(this,[\"name\",\"iconCls\",\"href\",{separator:\"boolean\"}]),{disabled:(_a.attr(\"disabled\")?true:undefined)});\nif(_b.separator){\n_a.addClass(\"menu-sep\");\n}\nif(!_a.hasClass(\"menu-sep\")){\n_a[0].itemName=_b.name||\"\";\n_a[0].itemHref=_b.href||\"\";\nvar _c=_a.addClass(\"menu-item\").html();\n_a.empty().append($(\"<div class=\\\"menu-text\\\"></div>\").html(_c));\nif(_b.iconCls){\n$(\"<div class=\\\"menu-icon\\\"></div>\").addClass(_b.iconCls).appendTo(_a);\n}\nif(_b.disabled){\n_d(_2,_a[0],true);\n}\nif(_a[0].submenu){\n$(\"<div class=\\\"menu-rightarrow\\\"></div>\").appendTo(_a);\n}\n_e(_2,_a);\n}\n});\n$(\"<div class=\\\"menu-line\\\"></div>\").prependTo(_9);\n}\n_f(_2,_9);\n_9.hide();\n_10(_2,_9);\n};\n};\nfunction _f(_11,_12){\nvar _13=$.data(_11,\"menu\").options;\nvar _14=_12.attr(\"style\")||\"\";\n_12.css({display:\"block\",left:-10000,height:\"auto\",overflow:\"hidden\"});\nvar el=_12[0];\nvar _15=el.originalWidth||0;\nif(!_15){\n_15=0;\n_12.find(\"div.menu-text\").each(function(){\nif(_15<$(this)._outerWidth()){\n_15=$(this)._outerWidth();\n}\n$(this).closest(\"div.menu-item\")._outerHeight($(this)._outerHeight()+2);\n});\n_15+=40;\n}\n_15=Math.max(_15,_13.minWidth);\nvar _16=el.originalHeight||0;\nif(!_16){\n_16=_12.outerHeight();\nif(_12.hasClass(\"menu-top\")&&_13.alignTo){\nvar at=$(_13.alignTo);\nvar h1=at.offset().top-$(document).scrollTop();\nvar h2=$(window)._outerHeight()+$(document).scrollTop()-at.offset().top-at._outerHeight();\n_16=Math.min(_16,Math.max(h1,h2));\n}else{\nif(_16>$(window)._outerHeight()){\n_16=$(window).height();\n_14+=\";overflow:auto\";\n}else{\n_14+=\";overflow:hidden\";\n}\n}\n}\nvar _17=Math.max(el.originalHeight,_12.outerHeight())-2;\n_12._outerWidth(_15)._outerHeight(_16);\n_12.children(\"div.menu-line\")._outerHeight(_17);\n_14+=\";width:\"+el.style.width+\";height:\"+el.style.height;\n_12.attr(\"style\",_14);\n};\nfunction _10(_18,_19){\nvar _1a=$.data(_18,\"menu\");\n_19.unbind(\".menu\").bind(\"mouseenter.menu\",function(){\nif(_1a.timer){\nclearTimeout(_1a.timer);\n_1a.timer=null;\n}\n}).bind(\"mouseleave.menu\",function(){\nif(_1a.options.hideOnUnhover){\n_1a.timer=setTimeout(function(){\n_1b(_18);\n},_1a.options.duration);\n}\n});\n};\nfunction _e(_1c,_1d){\nif(!_1d.hasClass(\"menu-item\")){\nreturn;\n}\n_1d.unbind(\".menu\");\n_1d.bind(\"click.menu\",function(){\nif($(this).hasClass(\"menu-item-disabled\")){\nreturn;\n}\nif(!this.submenu){\n_1b(_1c);\nvar _1e=this.itemHref;\nif(_1e){\nlocation.href=_1e;\n}\n}\nvar _1f=$(_1c).menu(\"getItem\",this);\n$.data(_1c,\"menu\").options.onClick.call(_1c,_1f);\n}).bind(\"mouseenter.menu\",function(e){\n_1d.siblings().each(function(){\nif(this.submenu){\n_22(this.submenu);\n}\n$(this).removeClass(\"menu-active\");\n});\n_1d.addClass(\"menu-active\");\nif($(this).hasClass(\"menu-item-disabled\")){\n_1d.addClass(\"menu-active-disabled\");\nreturn;\n}\nvar _20=_1d[0].submenu;\nif(_20){\n$(_1c).menu(\"show\",{menu:_20,parent:_1d});\n}\n}).bind(\"mouseleave.menu\",function(e){\n_1d.removeClass(\"menu-active menu-active-disabled\");\nvar _21=_1d[0].submenu;\nif(_21){\nif(e.pageX>=parseInt(_21.css(\"left\"))){\n_1d.addClass(\"menu-active\");\n}else{\n_22(_21);\n}\n}else{\n_1d.removeClass(\"menu-active\");\n}\n});\n};\nfunction _1b(_23){\nvar _24=$.data(_23,\"menu\");\nif(_24){\nif($(_23).is(\":visible\")){\n_22($(_23));\n_24.options.onHide.call(_23);\n}\n}\nreturn false;\n};\nfunction _25(_26,_27){\nvar _28,top;\n_27=_27||{};\nvar _29=$(_27.menu||_26);\n$(_26).menu(\"resize\",_29[0]);\nif(_29.hasClass(\"menu-top\")){\nvar _2a=$.data(_26,\"menu\").options;\n$.extend(_2a,_27);\n_28=_2a.left;\ntop=_2a.top;\nif(_2a.alignTo){\nvar at=$(_2a.alignTo);\n_28=at.offset().left;\ntop=at.offset().top+at._outerHeight();\nif(_2a.align==\"right\"){\n_28+=at.outerWidth()-_29.outerWidth();\n}\n}\nif(_28+_29.outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){\n_28=$(window)._outerWidth()+$(document).scrollLeft()-_29.outerWidth()-5;\n}\nif(_28<0){\n_28=0;\n}\ntop=_2b(top,_2a.alignTo);\n}else{\nvar _2c=_27.parent;\n_28=_2c.offset().left+_2c.outerWidth()-2;\nif(_28+_29.outerWidth()+5>$(window)._outerWidth()+$(document).scrollLeft()){\n_28=_2c.offset().left-_29.outerWidth()+2;\n}\ntop=_2b(_2c.offset().top-3);\n}\nfunction _2b(top,_2d){\nif(top+_29.outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){\nif(_2d){\ntop=$(_2d).offset().top-_29._outerHeight();\n}else{\ntop=$(window)._outerHeight()+$(document).scrollTop()-_29.outerHeight();\n}\n}\nif(top<0){\ntop=0;\n}\nreturn top;\n};\n_29.css({left:_28,top:top});\n_29.show(0,function(){\nif(!_29[0].shadow){\n_29[0].shadow=$(\"<div class=\\\"menu-shadow\\\"></div>\").insertAfter(_29);\n}\n_29[0].shadow.css({display:\"block\",zIndex:$.fn.menu.defaults.zIndex++,left:_29.css(\"left\"),top:_29.css(\"top\"),width:_29.outerWidth(),height:_29.outerHeight()});\n_29.css(\"z-index\",$.fn.menu.defaults.zIndex++);\nif(_29.hasClass(\"menu-top\")){\n$.data(_29[0],\"menu\").options.onShow.call(_29[0]);\n}\n});\n};\nfunction _22(_2e){\nif(!_2e){\nreturn;\n}\n_2f(_2e);\n_2e.find(\"div.menu-item\").each(function(){\nif(this.submenu){\n_22(this.submenu);\n}\n$(this).removeClass(\"menu-active\");\n});\nfunction _2f(m){\nm.stop(true,true);\nif(m[0].shadow){\nm[0].shadow.hide();\n}\nm.hide();\n};\n};\nfunction _30(_31,_32){\nvar _33=null;\nvar tmp=$(\"<div></div>\");\nfunction _34(_35){\n_35.children(\"div.menu-item\").each(function(){\nvar _36=$(_31).menu(\"getItem\",this);\nvar s=tmp.empty().html(_36.text).text();\nif(_32==$.trim(s)){\n_33=_36;\n}else{\nif(this.submenu&&!_33){\n_34(this.submenu);\n}\n}\n});\n};\n_34($(_31));\ntmp.remove();\nreturn _33;\n};\nfunction _d(_37,_38,_39){\nvar t=$(_38);\nif(!t.hasClass(\"menu-item\")){\nreturn;\n}\nif(_39){\nt.addClass(\"menu-item-disabled\");\nif(_38.onclick){\n_38.onclick1=_38.onclick;\n_38.onclick=null;\n}\n}else{\nt.removeClass(\"menu-item-disabled\");\nif(_38.onclick1){\n_38.onclick=_38.onclick1;\n_38.onclick1=null;\n}\n}\n};\nfunction _3a(_3b,_3c){\nvar _3d=$(_3b);\nif(_3c.parent){\nif(!_3c.parent.submenu){\nvar _3e=$(\"<div class=\\\"menu\\\"><div class=\\\"menu-line\\\"></div></div>\").appendTo(\"body\");\n_3e.hide();\n_3c.parent.submenu=_3e;\n$(\"<div class=\\\"menu-rightarrow\\\"></div>\").appendTo(_3c.parent);\n}\n_3d=_3c.parent.submenu;\n}\nif(_3c.separator){\nvar _3f=$(\"<div class=\\\"menu-sep\\\"></div>\").appendTo(_3d);\n}else{\nvar _3f=$(\"<div class=\\\"menu-item\\\"></div>\").appendTo(_3d);\n$(\"<div class=\\\"menu-text\\\"></div>\").html(_3c.text).appendTo(_3f);\n}\nif(_3c.iconCls){\n$(\"<div class=\\\"menu-icon\\\"></div>\").addClass(_3c.iconCls).appendTo(_3f);\n}\nif(_3c.id){\n_3f.attr(\"id\",_3c.id);\n}\nif(_3c.name){\n_3f[0].itemName=_3c.name;\n}\nif(_3c.href){\n_3f[0].itemHref=_3c.href;\n}\nif(_3c.onclick){\nif(typeof _3c.onclick==\"string\"){\n_3f.attr(\"onclick\",_3c.onclick);\n}else{\n_3f[0].onclick=eval(_3c.onclick);\n}\n}\nif(_3c.handler){\n_3f[0].onclick=eval(_3c.handler);\n}\nif(_3c.disabled){\n_d(_3b,_3f[0],true);\n}\n_e(_3b,_3f);\n_10(_3b,_3d);\n_f(_3b,_3d);\n};\nfunction _40(_41,_42){\nfunction _43(el){\nif(el.submenu){\nel.submenu.children(\"div.menu-item\").each(function(){\n_43(this);\n});\nvar _44=el.submenu[0].shadow;\nif(_44){\n_44.remove();\n}\nel.submenu.remove();\n}\n$(el).remove();\n};\nvar _45=$(_42).parent();\n_43(_42);\n_f(_41,_45);\n};\nfunction _46(_47,_48,_49){\nvar _4a=$(_48).parent();\nif(_49){\n$(_48).show();\n}else{\n$(_48).hide();\n}\n_f(_47,_4a);\n};\nfunction _4b(_4c){\n$(_4c).children(\"div.menu-item\").each(function(){\n_40(_4c,this);\n});\nif(_4c.shadow){\n_4c.shadow.remove();\n}\n$(_4c).remove();\n};\n$.fn.menu=function(_4d,_4e){\nif(typeof _4d==\"string\"){\nreturn $.fn.menu.methods[_4d](this,_4e);\n}\n_4d=_4d||{};\nreturn this.each(function(){\nvar _4f=$.data(this,\"menu\");\nif(_4f){\n$.extend(_4f.options,_4d);\n}else{\n_4f=$.data(this,\"menu\",{options:$.extend({},$.fn.menu.defaults,$.fn.menu.parseOptions(this),_4d)});\n_1(this);\n}\n$(this).css({left:_4f.options.left,top:_4f.options.top});\n});\n};\n$.fn.menu.methods={options:function(jq){\nreturn $.data(jq[0],\"menu\").options;\n},show:function(jq,pos){\nreturn jq.each(function(){\n_25(this,pos);\n});\n},hide:function(jq){\nreturn jq.each(function(){\n_1b(this);\n});\n},destroy:function(jq){\nreturn jq.each(function(){\n_4b(this);\n});\n},setText:function(jq,_50){\nreturn jq.each(function(){\n$(_50.target).children(\"div.menu-text\").html(_50.text);\n});\n},setIcon:function(jq,_51){\nreturn jq.each(function(){\n$(_51.target).children(\"div.menu-icon\").remove();\nif(_51.iconCls){\n$(\"<div class=\\\"menu-icon\\\"></div>\").addClass(_51.iconCls).appendTo(_51.target);\n}\n});\n},getItem:function(jq,_52){\nvar t=$(_52);\nvar _53={target:_52,id:t.attr(\"id\"),text:$.trim(t.children(\"div.menu-text\").html()),disabled:t.hasClass(\"menu-item-disabled\"),name:_52.itemName,href:_52.itemHref,onclick:_52.onclick};\nvar _54=t.children(\"div.menu-icon\");\nif(_54.length){\nvar cc=[];\nvar aa=_54.attr(\"class\").split(\" \");\nfor(var i=0;i<aa.length;i++){\nif(aa[i]!=\"menu-icon\"){\ncc.push(aa[i]);\n}\n}\n_53.iconCls=cc.join(\" \");\n}\nreturn _53;\n},findItem:function(jq,_55){\nreturn _30(jq[0],_55);\n},appendItem:function(jq,_56){\nreturn jq.each(function(){\n_3a(this,_56);\n});\n},removeItem:function(jq,_57){\nreturn jq.each(function(){\n_40(this,_57);\n});\n},enableItem:function(jq,_58){\nreturn jq.each(function(){\n_d(this,_58,false);\n});\n},disableItem:function(jq,_59){\nreturn jq.each(function(){\n_d(this,_59,true);\n});\n},showItem:function(jq,_5a){\nreturn jq.each(function(){\n_46(this,_5a,true);\n});\n},hideItem:function(jq,_5b){\nreturn jq.each(function(){\n_46(this,_5b,false);\n});\n},resize:function(jq,_5c){\nreturn jq.each(function(){\n_f(this,$(_5c));\n});\n}};\n$.fn.menu.parseOptions=function(_5d){\nreturn $.extend({},$.parser.parseOptions(_5d,[{minWidth:\"number\",duration:\"number\",hideOnUnhover:\"boolean\"}]));\n};\n$.fn.menu.defaults={zIndex:110000,left:0,top:0,alignTo:null,align:\"left\",minWidth:120,duration:100,hideOnUnhover:true,onShow:function(){\n},onHide:function(){\n},onClick:function(_5e){\n}};\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.menubutton.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$.data(_2,\"menubutton\").options;\nvar _4=$(_2);\n_4.linkbutton(_3);\n_4.removeClass(_3.cls.btn1+\" \"+_3.cls.btn2).addClass(\"m-btn\");\n_4.removeClass(\"m-btn-small m-btn-medium m-btn-large\").addClass(\"m-btn-\"+_3.size);\nvar _5=_4.find(\".l-btn-left\");\n$(\"<span></span>\").addClass(_3.cls.arrow).appendTo(_5);\n$(\"<span></span>\").addClass(\"m-btn-line\").appendTo(_5);\nif(_3.menu){\n$(_3.menu).menu({duration:_3.duration});\nvar _6=$(_3.menu).menu(\"options\");\nvar _7=_6.onShow;\nvar _8=_6.onHide;\n$.extend(_6,{onShow:function(){\nvar _9=$(this).menu(\"options\");\nvar _a=$(_9.alignTo);\nvar _b=_a.menubutton(\"options\");\n_a.addClass((_b.plain==true)?_b.cls.btn2:_b.cls.btn1);\n_7.call(this);\n},onHide:function(){\nvar _c=$(this).menu(\"options\");\nvar _d=$(_c.alignTo);\nvar _e=_d.menubutton(\"options\");\n_d.removeClass((_e.plain==true)?_e.cls.btn2:_e.cls.btn1);\n_8.call(this);\n}});\n}\n};\nfunction _f(_10){\nvar _11=$.data(_10,\"menubutton\").options;\nvar btn=$(_10);\nvar t=btn.find(\".\"+_11.cls.trigger);\nif(!t.length){\nt=btn;\n}\nt.unbind(\".menubutton\");\nvar _12=null;\nt.bind(\"click.menubutton\",function(){\nif(!_13()){\n_14(_10);\nreturn false;\n}\n}).bind(\"mouseenter.menubutton\",function(){\nif(!_13()){\n_12=setTimeout(function(){\n_14(_10);\n},_11.duration);\nreturn false;\n}\n}).bind(\"mouseleave.menubutton\",function(){\nif(_12){\nclearTimeout(_12);\n}\n$(_11.menu).triggerHandler(\"mouseleave\");\n});\nfunction _13(){\nreturn $(_10).linkbutton(\"options\").disabled;\n};\n};\nfunction _14(_15){\nvar _16=$(_15).menubutton(\"options\");\nif(_16.disabled||!_16.menu){\nreturn;\n}\n$(\"body>div.menu-top\").menu(\"hide\");\nvar btn=$(_15);\nvar mm=$(_16.menu);\nif(mm.length){\nmm.menu(\"options\").alignTo=btn;\nmm.menu(\"show\",{alignTo:btn,align:_16.menuAlign});\n}\nbtn.blur();\n};\n$.fn.menubutton=function(_17,_18){\nif(typeof _17==\"string\"){\nvar _19=$.fn.menubutton.methods[_17];\nif(_19){\nreturn _19(this,_18);\n}else{\nreturn this.linkbutton(_17,_18);\n}\n}\n_17=_17||{};\nreturn this.each(function(){\nvar _1a=$.data(this,\"menubutton\");\nif(_1a){\n$.extend(_1a.options,_17);\n}else{\n$.data(this,\"menubutton\",{options:$.extend({},$.fn.menubutton.defaults,$.fn.menubutton.parseOptions(this),_17)});\n$(this).removeAttr(\"disabled\");\n}\n_1(this);\n_f(this);\n});\n};\n$.fn.menubutton.methods={options:function(jq){\nvar _1b=jq.linkbutton(\"options\");\nreturn $.extend($.data(jq[0],\"menubutton\").options,{toggle:_1b.toggle,selected:_1b.selected,disabled:_1b.disabled});\n},destroy:function(jq){\nreturn jq.each(function(){\nvar _1c=$(this).menubutton(\"options\");\nif(_1c.menu){\n$(_1c.menu).menu(\"destroy\");\n}\n$(this).remove();\n});\n}};\n$.fn.menubutton.parseOptions=function(_1d){\nvar t=$(_1d);\nreturn $.extend({},$.fn.linkbutton.parseOptions(_1d),$.parser.parseOptions(_1d,[\"menu\",{plain:\"boolean\",duration:\"number\"}]));\n};\n$.fn.menubutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,menu:null,menuAlign:\"left\",duration:100,cls:{btn1:\"m-btn-active\",btn2:\"m-btn-plain-active\",arrow:\"m-btn-downarrow\",trigger:\"m-btn\"}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.messager.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(el,_2,_3,_4){\nvar _5=$(el).window(\"window\");\nif(!_5){\nreturn;\n}\nswitch(_2){\ncase null:\n_5.show();\nbreak;\ncase \"slide\":\n_5.slideDown(_3);\nbreak;\ncase \"fade\":\n_5.fadeIn(_3);\nbreak;\ncase \"show\":\n_5.show(_3);\nbreak;\n}\nvar _6=null;\nif(_4>0){\n_6=setTimeout(function(){\n_7(el,_2,_3);\n},_4);\n}\n_5.hover(function(){\nif(_6){\nclearTimeout(_6);\n}\n},function(){\nif(_4>0){\n_6=setTimeout(function(){\n_7(el,_2,_3);\n},_4);\n}\n});\n};\nfunction _7(el,_8,_9){\nif(el.locked==true){\nreturn;\n}\nel.locked=true;\nvar _a=$(el).window(\"window\");\nif(!_a){\nreturn;\n}\nswitch(_8){\ncase null:\n_a.hide();\nbreak;\ncase \"slide\":\n_a.slideUp(_9);\nbreak;\ncase \"fade\":\n_a.fadeOut(_9);\nbreak;\ncase \"show\":\n_a.hide(_9);\nbreak;\n}\nsetTimeout(function(){\n$(el).window(\"destroy\");\n},_9);\n};\nfunction _b(_c){\nvar _d=$.extend({},$.fn.window.defaults,{collapsible:false,minimizable:false,maximizable:false,shadow:false,draggable:false,resizable:false,closed:true,style:{left:\"\",top:\"\",right:0,zIndex:$.fn.window.defaults.zIndex++,bottom:-document.body.scrollTop-document.documentElement.scrollTop},onBeforeOpen:function(){\n_1(this,_d.showType,_d.showSpeed,_d.timeout);\nreturn false;\n},onBeforeClose:function(){\n_7(this,_d.showType,_d.showSpeed);\nreturn false;\n}},{title:\"\",width:250,height:100,showType:\"slide\",showSpeed:600,msg:\"\",timeout:4000},_c);\n_d.style.zIndex=$.fn.window.defaults.zIndex++;\nvar _e=$(\"<div class=\\\"messager-body\\\"></div>\").html(_d.msg).appendTo(\"body\");\n_e.window(_d);\n_e.window(\"window\").css(_d.style);\n_e.window(\"open\");\nreturn _e;\n};\nfunction _f(_10,_11,_12){\nvar win=$(\"<div class=\\\"messager-body\\\"></div>\").appendTo(\"body\");\nwin.append(_11);\nif(_12){\nvar tb=$(\"<div class=\\\"messager-button\\\"></div>\").appendTo(win);\nfor(var _13 in _12){\n$(\"<a></a>\").attr(\"href\",\"javascript:void(0)\").text(_13).css(\"margin-left\",10).bind(\"click\",eval(_12[_13])).appendTo(tb).linkbutton();\n}\n}\nwin.window({title:_10,noheader:(_10?false:true),width:300,height:\"auto\",modal:true,collapsible:false,minimizable:false,maximizable:false,resizable:false,onClose:function(){\nsetTimeout(function(){\nwin.window(\"destroy\");\n},100);\n}});\nwin.window(\"window\").addClass(\"messager-window\");\nwin.children(\"div.messager-button\").children(\"a:first\").focus();\nreturn win;\n};\n$.messager={show:function(_14){\nreturn _b(_14);\n},alert:function(_15,msg,_16,fn){\nvar _17=\"<div>\"+msg+\"</div>\";\nswitch(_16){\ncase \"error\":\n_17=\"<div class=\\\"messager-icon messager-error\\\"></div>\"+_17;\nbreak;\ncase \"info\":\n_17=\"<div class=\\\"messager-icon messager-info\\\"></div>\"+_17;\nbreak;\ncase \"question\":\n_17=\"<div class=\\\"messager-icon messager-question\\\"></div>\"+_17;\nbreak;\ncase \"warning\":\n_17=\"<div class=\\\"messager-icon messager-warning\\\"></div>\"+_17;\nbreak;\n}\n_17+=\"<div style=\\\"clear:both;\\\"/>\";\nvar _18={};\n_18[$.messager.defaults.ok]=function(){\nwin.window(\"close\");\nif(fn){\nfn();\nreturn false;\n}\n};\nvar win=_f(_15,_17,_18);\nreturn win;\n},confirm:function(_19,msg,fn){\nvar _1a=\"<div class=\\\"messager-icon messager-question\\\"></div>\"+\"<div>\"+msg+\"</div>\"+\"<div style=\\\"clear:both;\\\"/>\";\nvar _1b={};\n_1b[$.messager.defaults.ok]=function(){\nwin.window(\"close\");\nif(fn){\nfn(true);\nreturn false;\n}\n};\n_1b[$.messager.defaults.cancel]=function(){\nwin.window(\"close\");\nif(fn){\nfn(false);\nreturn false;\n}\n};\nvar win=_f(_19,_1a,_1b);\nreturn win;\n},prompt:function(_1c,msg,fn){\nvar _1d=\"<div class=\\\"messager-icon messager-question\\\"></div>\"+\"<div>\"+msg+\"</div>\"+\"<br/>\"+\"<div style=\\\"clear:both;\\\"/>\"+\"<div><input class=\\\"messager-input\\\" type=\\\"text\\\"/></div>\";\nvar _1e={};\n_1e[$.messager.defaults.ok]=function(){\nwin.window(\"close\");\nif(fn){\nfn($(\".messager-input\",win).val());\nreturn false;\n}\n};\n_1e[$.messager.defaults.cancel]=function(){\nwin.window(\"close\");\nif(fn){\nfn();\nreturn false;\n}\n};\nvar win=_f(_1c,_1d,_1e);\nwin.children(\"input.messager-input\").focus();\nreturn win;\n},progress:function(_1f){\nvar _20={bar:function(){\nreturn $(\"body>div.messager-window\").find(\"div.messager-p-bar\");\n},close:function(){\nvar win=$(\"body>div.messager-window>div.messager-body:has(div.messager-progress)\");\nif(win.length){\nwin.window(\"close\");\n}\n}};\nif(typeof _1f==\"string\"){\nvar _21=_20[_1f];\nreturn _21();\n}\nvar _22=$.extend({title:\"\",msg:\"\",text:undefined,interval:300},_1f||{});\nvar _23=\"<div class=\\\"messager-progress\\\"><div class=\\\"messager-p-msg\\\"></div><div class=\\\"messager-p-bar\\\"></div></div>\";\nvar win=_f(_22.title,_23,null);\nwin.find(\"div.messager-p-msg\").html(_22.msg);\nvar bar=win.find(\"div.messager-p-bar\");\nbar.progressbar({text:_22.text});\nwin.window({closable:false,onClose:function(){\nif(this.timer){\nclearInterval(this.timer);\n}\n$(this).window(\"destroy\");\n}});\nif(_22.interval){\nwin[0].timer=setInterval(function(){\nvar v=bar.progressbar(\"getValue\");\nv+=10;\nif(v>100){\nv=0;\n}\nbar.progressbar(\"setValue\",v);\n},_22.interval);\n}\nreturn win;\n}};\n$.messager.defaults={ok:\"Ok\",cancel:\"Cancel\"};\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.numberbox.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$.data(_2,\"numberbox\");\nvar _4=_3.options;\n$(_2).addClass(\"numberbox-f\").textbox(_4);\n$(_2).textbox(\"textbox\").css({imeMode:\"disabled\"});\n$(_2).attr(\"numberboxName\",$(_2).attr(\"textboxName\"));\n_3.numberbox=$(_2).next();\n_3.numberbox.addClass(\"numberbox\");\nvar _5=_4.parser.call(_2,_4.value);\nvar _6=_4.formatter.call(_2,_5);\n$(_2).numberbox(\"initValue\",_5).numberbox(\"setText\",_6);\n};\nfunction _7(_8,_9){\nvar _a=$.data(_8,\"numberbox\");\nvar _b=_a.options;\nvar _9=_b.parser.call(_8,_9);\nvar _c=_b.formatter.call(_8,_9);\n_b.value=_9;\n$(_8).textbox(\"setValue\",_9).textbox(\"setText\",_c);\n};\n$.fn.numberbox=function(_d,_e){\nif(typeof _d==\"string\"){\nvar _f=$.fn.numberbox.methods[_d];\nif(_f){\nreturn _f(this,_e);\n}else{\nreturn this.textbox(_d,_e);\n}\n}\n_d=_d||{};\nreturn this.each(function(){\nvar _10=$.data(this,\"numberbox\");\nif(_10){\n$.extend(_10.options,_d);\n}else{\n_10=$.data(this,\"numberbox\",{options:$.extend({},$.fn.numberbox.defaults,$.fn.numberbox.parseOptions(this),_d)});\n}\n_1(this);\n});\n};\n$.fn.numberbox.methods={options:function(jq){\nvar _11=jq.data(\"textbox\")?jq.textbox(\"options\"):{};\nreturn $.extend($.data(jq[0],\"numberbox\").options,{width:_11.width,originalValue:_11.originalValue,disabled:_11.disabled,readonly:_11.readonly});\n},fix:function(jq){\nreturn jq.each(function(){\n$(this).numberbox(\"setValue\",$(this).numberbox(\"getText\"));\n});\n},setValue:function(jq,_12){\nreturn jq.each(function(){\n_7(this,_12);\n});\n},clear:function(jq){\nreturn jq.each(function(){\n$(this).textbox(\"clear\");\n$(this).numberbox(\"options\").value=\"\";\n});\n},reset:function(jq){\nreturn jq.each(function(){\n$(this).textbox(\"reset\");\n$(this).numberbox(\"setValue\",$(this).numberbox(\"getValue\"));\n});\n}};\n$.fn.numberbox.parseOptions=function(_13){\nvar t=$(_13);\nreturn $.extend({},$.fn.textbox.parseOptions(_13),$.parser.parseOptions(_13,[\"decimalSeparator\",\"groupSeparator\",\"suffix\",{min:\"number\",max:\"number\",precision:\"number\"}]),{prefix:(t.attr(\"prefix\")?t.attr(\"prefix\"):undefined)});\n};\n$.fn.numberbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{keypress:function(e){\nvar _14=e.data.target;\nvar _15=$(_14).numberbox(\"options\");\nreturn _15.filter.call(_14,e);\n},blur:function(e){\nvar _16=e.data.target;\n$(_16).numberbox(\"setValue\",$(_16).numberbox(\"getText\"));\n},keydown:function(e){\nif(e.keyCode==13){\nvar _17=e.data.target;\n$(_17).numberbox(\"setValue\",$(_17).numberbox(\"getText\"));\n}\n}},min:null,max:null,precision:0,decimalSeparator:\".\",groupSeparator:\"\",prefix:\"\",suffix:\"\",filter:function(e){\nvar _18=$(this).numberbox(\"options\");\nvar s=$(this).numberbox(\"getText\");\nif(e.which==13){\nreturn true;\n}\nif(e.which==45){\nreturn (s.indexOf(\"-\")==-1?true:false);\n}\nvar c=String.fromCharCode(e.which);\nif(c==_18.decimalSeparator){\nreturn (s.indexOf(c)==-1?true:false);\n}else{\nif(c==_18.groupSeparator){\nreturn true;\n}else{\nif((e.which>=48&&e.which<=57&&e.ctrlKey==false&&e.shiftKey==false)||e.which==0||e.which==8){\nreturn true;\n}else{\nif(e.ctrlKey==true&&(e.which==99||e.which==118)){\nreturn true;\n}else{\nreturn false;\n}\n}\n}\n}\n},formatter:function(_19){\nif(!_19){\nreturn _19;\n}\n_19=_19+\"\";\nvar _1a=$(this).numberbox(\"options\");\nvar s1=_19,s2=\"\";\nvar _1b=_19.indexOf(\".\");\nif(_1b>=0){\ns1=_19.substring(0,_1b);\ns2=_19.substring(_1b+1,_19.length);\n}\nif(_1a.groupSeparator){\nvar p=/(\\d+)(\\d{3})/;\nwhile(p.test(s1)){\ns1=s1.replace(p,\"$1\"+_1a.groupSeparator+\"$2\");\n}\n}\nif(s2){\nreturn _1a.prefix+s1+_1a.decimalSeparator+s2+_1a.suffix;\n}else{\nreturn _1a.prefix+s1+_1a.suffix;\n}\n},parser:function(s){\ns=s+\"\";\nvar _1c=$(this).numberbox(\"options\");\nif(parseFloat(s)!=s){\nif(_1c.prefix){\ns=$.trim(s.replace(new RegExp(\"\\\\\"+$.trim(_1c.prefix),\"g\"),\"\"));\n}\nif(_1c.suffix){\ns=$.trim(s.replace(new RegExp(\"\\\\\"+$.trim(_1c.suffix),\"g\"),\"\"));\n}\nif(_1c.groupSeparator){\ns=$.trim(s.replace(new RegExp(\"\\\\\"+_1c.groupSeparator,\"g\"),\"\"));\n}\nif(_1c.decimalSeparator){\ns=$.trim(s.replace(new RegExp(\"\\\\\"+_1c.decimalSeparator,\"g\"),\".\"));\n}\ns=s.replace(/\\s/g,\"\");\n}\nvar val=parseFloat(s).toFixed(_1c.precision);\nif(isNaN(val)){\nval=\"\";\n}else{\nif(typeof (_1c.min)==\"number\"&&val<_1c.min){\nval=_1c.min.toFixed(_1c.precision);\n}else{\nif(typeof (_1c.max)==\"number\"&&val>_1c.max){\nval=_1c.max.toFixed(_1c.precision);\n}\n}\n}\nreturn val;\n}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.numberspinner.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\n$(_2).addClass(\"numberspinner-f\");\nvar _3=$.data(_2,\"numberspinner\").options;\n$(_2).numberbox(_3).spinner(_3);\n$(_2).numberbox(\"setValue\",_3.value);\n};\nfunction _4(_5,_6){\nvar _7=$.data(_5,\"numberspinner\").options;\nvar v=parseFloat($(_5).numberbox(\"getValue\")||_7.value)||0;\nif(_6){\nv-=_7.increment;\n}else{\nv+=_7.increment;\n}\n$(_5).numberbox(\"setValue\",v);\n};\n$.fn.numberspinner=function(_8,_9){\nif(typeof _8==\"string\"){\nvar _a=$.fn.numberspinner.methods[_8];\nif(_a){\nreturn _a(this,_9);\n}else{\nreturn this.numberbox(_8,_9);\n}\n}\n_8=_8||{};\nreturn this.each(function(){\nvar _b=$.data(this,\"numberspinner\");\nif(_b){\n$.extend(_b.options,_8);\n}else{\n$.data(this,\"numberspinner\",{options:$.extend({},$.fn.numberspinner.defaults,$.fn.numberspinner.parseOptions(this),_8)});\n}\n_1(this);\n});\n};\n$.fn.numberspinner.methods={options:function(jq){\nvar _c=jq.numberbox(\"options\");\nreturn $.extend($.data(jq[0],\"numberspinner\").options,{width:_c.width,value:_c.value,originalValue:_c.originalValue,disabled:_c.disabled,readonly:_c.readonly});\n}};\n$.fn.numberspinner.parseOptions=function(_d){\nreturn $.extend({},$.fn.spinner.parseOptions(_d),$.fn.numberbox.parseOptions(_d),{});\n};\n$.fn.numberspinner.defaults=$.extend({},$.fn.spinner.defaults,$.fn.numberbox.defaults,{spin:function(_e){\n_4(this,_e);\n}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.pagination.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$.data(_2,\"pagination\");\nvar _4=_3.options;\nvar bb=_3.bb={};\nvar _5=$(_2).addClass(\"pagination\").html(\"<table cellspacing=\\\"0\\\" cellpadding=\\\"0\\\" border=\\\"0\\\"><tr></tr></table>\");\nvar tr=_5.find(\"tr\");\nvar aa=$.extend([],_4.layout);\nif(!_4.showPageList){\n_6(aa,\"list\");\n}\nif(!_4.showRefresh){\n_6(aa,\"refresh\");\n}\nif(aa[0]==\"sep\"){\naa.shift();\n}\nif(aa[aa.length-1]==\"sep\"){\naa.pop();\n}\nfor(var _7=0;_7<aa.length;_7++){\nvar _8=aa[_7];\nif(_8==\"list\"){\nvar ps=$(\"<select class=\\\"pagination-page-list\\\"></select>\");\nps.bind(\"change\",function(){\n_4.pageSize=parseInt($(this).val());\n_4.onChangePageSize.call(_2,_4.pageSize);\n_10(_2,_4.pageNumber);\n});\nfor(var i=0;i<_4.pageList.length;i++){\n$(\"<option></option>\").text(_4.pageList[i]).appendTo(ps);\n}\n$(\"<td></td>\").append(ps).appendTo(tr);\n}else{\nif(_8==\"sep\"){\n$(\"<td><div class=\\\"pagination-btn-separator\\\"></div></td>\").appendTo(tr);\n}else{\nif(_8==\"first\"){\nbb.first=_9(\"first\");\n}else{\nif(_8==\"prev\"){\nbb.prev=_9(\"prev\");\n}else{\nif(_8==\"next\"){\nbb.next=_9(\"next\");\n}else{\nif(_8==\"last\"){\nbb.last=_9(\"last\");\n}else{\nif(_8==\"manual\"){\n$(\"<span style=\\\"padding-left:6px;\\\"></span>\").html(_4.beforePageText).appendTo(tr).wrap(\"<td></td>\");\nbb.num=$(\"<input class=\\\"pagination-num\\\" type=\\\"text\\\" value=\\\"1\\\" size=\\\"2\\\">\").appendTo(tr).wrap(\"<td></td>\");\nbb.num.unbind(\".pagination\").bind(\"keydown.pagination\",function(e){\nif(e.keyCode==13){\nvar _a=parseInt($(this).val())||1;\n_10(_2,_a);\nreturn false;\n}\n});\nbb.after=$(\"<span style=\\\"padding-right:6px;\\\"></span>\").appendTo(tr).wrap(\"<td></td>\");\n}else{\nif(_8==\"refresh\"){\nbb.refresh=_9(\"refresh\");\n}else{\nif(_8==\"links\"){\n$(\"<td class=\\\"pagination-links\\\"></td>\").appendTo(tr);\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\nif(_4.buttons){\n$(\"<td><div class=\\\"pagination-btn-separator\\\"></div></td>\").appendTo(tr);\nif($.isArray(_4.buttons)){\nfor(var i=0;i<_4.buttons.length;i++){\nvar _b=_4.buttons[i];\nif(_b==\"-\"){\n$(\"<td><div class=\\\"pagination-btn-separator\\\"></div></td>\").appendTo(tr);\n}else{\nvar td=$(\"<td></td>\").appendTo(tr);\nvar a=$(\"<a href=\\\"javascript:void(0)\\\"></a>\").appendTo(td);\na[0].onclick=eval(_b.handler||function(){\n});\na.linkbutton($.extend({},_b,{plain:true}));\n}\n}\n}else{\nvar td=$(\"<td></td>\").appendTo(tr);\n$(_4.buttons).appendTo(td).show();\n}\n}\n$(\"<div class=\\\"pagination-info\\\"></div>\").appendTo(_5);\n$(\"<div style=\\\"clear:both;\\\"></div>\").appendTo(_5);\nfunction _9(_c){\nvar _d=_4.nav[_c];\nvar a=$(\"<a href=\\\"javascript:void(0)\\\"></a>\").appendTo(tr);\na.wrap(\"<td></td>\");\na.linkbutton({iconCls:_d.iconCls,plain:true}).unbind(\".pagination\").bind(\"click.pagination\",function(){\n_d.handler.call(_2);\n});\nreturn a;\n};\nfunction _6(aa,_e){\nvar _f=$.inArray(_e,aa);\nif(_f>=0){\naa.splice(_f,1);\n}\nreturn aa;\n};\n};\nfunction _10(_11,_12){\nvar _13=$.data(_11,\"pagination\").options;\n_14(_11,{pageNumber:_12});\n_13.onSelectPage.call(_11,_13.pageNumber,_13.pageSize);\n};\nfunction _14(_15,_16){\nvar _17=$.data(_15,\"pagination\");\nvar _18=_17.options;\nvar bb=_17.bb;\n$.extend(_18,_16||{});\nvar ps=$(_15).find(\"select.pagination-page-list\");\nif(ps.length){\nps.val(_18.pageSize+\"\");\n_18.pageSize=parseInt(ps.val());\n}\nvar _19=Math.ceil(_18.total/_18.pageSize)||1;\nif(_18.pageNumber<1){\n_18.pageNumber=1;\n}\nif(_18.pageNumber>_19){\n_18.pageNumber=_19;\n}\nif(_18.total==0){\n_18.pageNumber=0;\n_19=0;\n}\nif(bb.num){\nbb.num.val(_18.pageNumber);\n}\nif(bb.after){\nbb.after.html(_18.afterPageText.replace(/{pages}/,_19));\n}\nvar td=$(_15).find(\"td.pagination-links\");\nif(td.length){\ntd.empty();\nvar _1a=_18.pageNumber-Math.floor(_18.links/2);\nif(_1a<1){\n_1a=1;\n}\nvar _1b=_1a+_18.links-1;\nif(_1b>_19){\n_1b=_19;\n}\n_1a=_1b-_18.links+1;\nif(_1a<1){\n_1a=1;\n}\nfor(var i=_1a;i<=_1b;i++){\nvar a=$(\"<a class=\\\"pagination-link\\\" href=\\\"javascript:void(0)\\\"></a>\").appendTo(td);\na.linkbutton({plain:true,text:i});\nif(i==_18.pageNumber){\na.linkbutton(\"select\");\n}else{\na.unbind(\".pagination\").bind(\"click.pagination\",{pageNumber:i},function(e){\n_10(_15,e.data.pageNumber);\n});\n}\n}\n}\nvar _1c=_18.displayMsg;\n_1c=_1c.replace(/{from}/,_18.total==0?0:_18.pageSize*(_18.pageNumber-1)+1);\n_1c=_1c.replace(/{to}/,Math.min(_18.pageSize*(_18.pageNumber),_18.total));\n_1c=_1c.replace(/{total}/,_18.total);\n$(_15).find(\"div.pagination-info\").html(_1c);\nif(bb.first){\nbb.first.linkbutton({disabled:((!_18.total)||_18.pageNumber==1)});\n}\nif(bb.prev){\nbb.prev.linkbutton({disabled:((!_18.total)||_18.pageNumber==1)});\n}\nif(bb.next){\nbb.next.linkbutton({disabled:(_18.pageNumber==_19)});\n}\nif(bb.last){\nbb.last.linkbutton({disabled:(_18.pageNumber==_19)});\n}\n_1d(_15,_18.loading);\n};\nfunction _1d(_1e,_1f){\nvar _20=$.data(_1e,\"pagination\");\nvar _21=_20.options;\n_21.loading=_1f;\nif(_21.showRefresh&&_20.bb.refresh){\n_20.bb.refresh.linkbutton({iconCls:(_21.loading?\"pagination-loading\":\"pagination-load\")});\n}\n};\n$.fn.pagination=function(_22,_23){\nif(typeof _22==\"string\"){\nreturn $.fn.pagination.methods[_22](this,_23);\n}\n_22=_22||{};\nreturn this.each(function(){\nvar _24;\nvar _25=$.data(this,\"pagination\");\nif(_25){\n_24=$.extend(_25.options,_22);\n}else{\n_24=$.extend({},$.fn.pagination.defaults,$.fn.pagination.parseOptions(this),_22);\n$.data(this,\"pagination\",{options:_24});\n}\n_1(this);\n_14(this);\n});\n};\n$.fn.pagination.methods={options:function(jq){\nreturn $.data(jq[0],\"pagination\").options;\n},loading:function(jq){\nreturn jq.each(function(){\n_1d(this,true);\n});\n},loaded:function(jq){\nreturn jq.each(function(){\n_1d(this,false);\n});\n},refresh:function(jq,_26){\nreturn jq.each(function(){\n_14(this,_26);\n});\n},select:function(jq,_27){\nreturn jq.each(function(){\n_10(this,_27);\n});\n}};\n$.fn.pagination.parseOptions=function(_28){\nvar t=$(_28);\nreturn $.extend({},$.parser.parseOptions(_28,[{total:\"number\",pageSize:\"number\",pageNumber:\"number\",links:\"number\"},{loading:\"boolean\",showPageList:\"boolean\",showRefresh:\"boolean\"}]),{pageList:(t.attr(\"pageList\")?eval(t.attr(\"pageList\")):undefined)});\n};\n$.fn.pagination.defaults={total:1,pageSize:10,pageNumber:1,pageList:[10,20,30,50],loading:false,buttons:null,showPageList:true,showRefresh:true,links:10,layout:[\"list\",\"sep\",\"first\",\"prev\",\"sep\",\"manual\",\"sep\",\"next\",\"last\",\"sep\",\"refresh\"],onSelectPage:function(_29,_2a){\n},onBeforeRefresh:function(_2b,_2c){\n},onRefresh:function(_2d,_2e){\n},onChangePageSize:function(_2f){\n},beforePageText:\"Page\",afterPageText:\"of {pages}\",displayMsg:\"Displaying {from} to {to} of {total} items\",nav:{first:{iconCls:\"pagination-first\",handler:function(){\nvar _30=$(this).pagination(\"options\");\nif(_30.pageNumber>1){\n$(this).pagination(\"select\",1);\n}\n}},prev:{iconCls:\"pagination-prev\",handler:function(){\nvar _31=$(this).pagination(\"options\");\nif(_31.pageNumber>1){\n$(this).pagination(\"select\",_31.pageNumber-1);\n}\n}},next:{iconCls:\"pagination-next\",handler:function(){\nvar _32=$(this).pagination(\"options\");\nvar _33=Math.ceil(_32.total/_32.pageSize);\nif(_32.pageNumber<_33){\n$(this).pagination(\"select\",_32.pageNumber+1);\n}\n}},last:{iconCls:\"pagination-last\",handler:function(){\nvar _34=$(this).pagination(\"options\");\nvar _35=Math.ceil(_34.total/_34.pageSize);\nif(_34.pageNumber<_35){\n$(this).pagination(\"select\",_35);\n}\n}},refresh:{iconCls:\"pagination-refresh\",handler:function(){\nvar _36=$(this).pagination(\"options\");\nif(_36.onBeforeRefresh.call(this,_36.pageNumber,_36.pageSize)!=false){\n$(this).pagination(\"select\",_36.pageNumber);\n_36.onRefresh.call(this,_36.pageNumber,_36.pageSize);\n}\n}}}};\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.panel.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\n$.fn._remove=function(){\nreturn this.each(function(){\n$(this).remove();\ntry{\nthis.outerHTML=\"\";\n}\ncatch(err){\n}\n});\n};\nfunction _1(_2){\n_2._remove();\n};\nfunction _3(_4,_5){\nvar _6=$.data(_4,\"panel\");\nvar _7=_6.options;\nvar _8=_6.panel;\nvar _9=_8.children(\"div.panel-header\");\nvar _a=_8.children(\"div.panel-body\");\nvar _b=_8.children(\"div.panel-footer\");\nif(_5){\n$.extend(_7,{width:_5.width,height:_5.height,minWidth:_5.minWidth,maxWidth:_5.maxWidth,minHeight:_5.minHeight,maxHeight:_5.maxHeight,left:_5.left,top:_5.top});\n}\n_8._size(_7);\n_9.add(_a)._outerWidth(_8.width());\nif(!isNaN(parseInt(_7.height))){\n_a._outerHeight(_8.height()-_9._outerHeight()-_b._outerHeight());\n}else{\n_a.css(\"height\",\"\");\nvar _c=$.parser.parseValue(\"minHeight\",_7.minHeight,_8.parent());\nvar _d=$.parser.parseValue(\"maxHeight\",_7.maxHeight,_8.parent());\nvar _e=_9._outerHeight()+_b._outerHeight()+_8._outerHeight()-_8.height();\n_a._size(\"minHeight\",_c?(_c-_e):\"\");\n_a._size(\"maxHeight\",_d?(_d-_e):\"\");\n}\n_8.css({height:\"\",minHeight:\"\",maxHeight:\"\",left:_7.left,top:_7.top});\n_7.onResize.apply(_4,[_7.width,_7.height]);\n$(_4).panel(\"doLayout\");\n};\nfunction _f(_10,_11){\nvar _12=$.data(_10,\"panel\").options;\nvar _13=$.data(_10,\"panel\").panel;\nif(_11){\nif(_11.left!=null){\n_12.left=_11.left;\n}\nif(_11.top!=null){\n_12.top=_11.top;\n}\n}\n_13.css({left:_12.left,top:_12.top});\n_12.onMove.apply(_10,[_12.left,_12.top]);\n};\nfunction _14(_15){\n$(_15).addClass(\"panel-body\")._size(\"clear\");\nvar _16=$(\"<div class=\\\"panel\\\"></div>\").insertBefore(_15);\n_16[0].appendChild(_15);\n_16.bind(\"_resize\",function(e,_17){\nif($(this).hasClass(\"easyui-fluid\")||_17){\n_3(_15);\n}\nreturn false;\n});\nreturn _16;\n};\nfunction _18(_19){\nvar _1a=$.data(_19,\"panel\");\nvar _1b=_1a.options;\nvar _1c=_1a.panel;\n_1c.css(_1b.style);\n_1c.addClass(_1b.cls);\n_1d();\n_1e();\nvar _1f=$(_19).panel(\"header\");\nvar _20=$(_19).panel(\"body\");\nvar _21=$(_19).siblings(\"div.panel-footer\");\nif(_1b.border){\n_1f.removeClass(\"panel-header-noborder\");\n_20.removeClass(\"panel-body-noborder\");\n_21.removeClass(\"panel-footer-noborder\");\n}else{\n_1f.addClass(\"panel-header-noborder\");\n_20.addClass(\"panel-body-noborder\");\n_21.addClass(\"panel-footer-noborder\");\n}\n_1f.addClass(_1b.headerCls);\n_20.addClass(_1b.bodyCls);\n$(_19).attr(\"id\",_1b.id||\"\");\nif(_1b.content){\n$(_19).panel(\"clear\");\n$(_19).html(_1b.content);\n$.parser.parse($(_19));\n}\nfunction _1d(){\nif(_1b.tools&&typeof _1b.tools==\"string\"){\n_1c.find(\">div.panel-header>div.panel-tool .panel-tool-a\").appendTo(_1b.tools);\n}\n_1(_1c.children(\"div.panel-header\"));\nif(_1b.title&&!_1b.noheader){\nvar _22=$(\"<div class=\\\"panel-header\\\"></div>\").prependTo(_1c);\nvar _23=$(\"<div class=\\\"panel-title\\\"></div>\").html(_1b.title).appendTo(_22);\nif(_1b.iconCls){\n_23.addClass(\"panel-with-icon\");\n$(\"<div class=\\\"panel-icon\\\"></div>\").addClass(_1b.iconCls).appendTo(_22);\n}\nvar _24=$(\"<div class=\\\"panel-tool\\\"></div>\").appendTo(_22);\n_24.bind(\"click\",function(e){\ne.stopPropagation();\n});\nif(_1b.tools){\nif($.isArray(_1b.tools)){\nfor(var i=0;i<_1b.tools.length;i++){\nvar t=$(\"<a href=\\\"javascript:void(0)\\\"></a>\").addClass(_1b.tools[i].iconCls).appendTo(_24);\nif(_1b.tools[i].handler){\nt.bind(\"click\",eval(_1b.tools[i].handler));\n}\n}\n}else{\n$(_1b.tools).children().each(function(){\n$(this).addClass($(this).attr(\"iconCls\")).addClass(\"panel-tool-a\").appendTo(_24);\n});\n}\n}\nif(_1b.collapsible){\n$(\"<a class=\\\"panel-tool-collapse\\\" href=\\\"javascript:void(0)\\\"></a>\").appendTo(_24).bind(\"click\",function(){\nif(_1b.collapsed==true){\n_4a(_19,true);\n}else{\n_38(_19,true);\n}\nreturn false;\n});\n}\nif(_1b.minimizable){\n$(\"<a class=\\\"panel-tool-min\\\" href=\\\"javascript:void(0)\\\"></a>\").appendTo(_24).bind(\"click\",function(){\n_55(_19);\nreturn false;\n});\n}\nif(_1b.maximizable){\n$(\"<a class=\\\"panel-tool-max\\\" href=\\\"javascript:void(0)\\\"></a>\").appendTo(_24).bind(\"click\",function(){\nif(_1b.maximized==true){\n_59(_19);\n}else{\n_37(_19);\n}\nreturn false;\n});\n}\nif(_1b.closable){\n$(\"<a class=\\\"panel-tool-close\\\" href=\\\"javascript:void(0)\\\"></a>\").appendTo(_24).bind(\"click\",function(){\n_39(_19);\nreturn false;\n});\n}\n_1c.children(\"div.panel-body\").removeClass(\"panel-body-noheader\");\n}else{\n_1c.children(\"div.panel-body\").addClass(\"panel-body-noheader\");\n}\n};\nfunction _1e(){\nif(_1b.footer){\n$(_1b.footer).addClass(\"panel-footer\").appendTo(_1c);\n$(_19).addClass(\"panel-body-nobottom\");\n}else{\n_1c.children(\"div.panel-footer\").remove();\n$(_19).removeClass(\"panel-body-nobottom\");\n}\n};\n};\nfunction _25(_26,_27){\nvar _28=$.data(_26,\"panel\");\nvar _29=_28.options;\nif(_2a){\n_29.queryParams=_27;\n}\nif(!_29.href){\nreturn;\n}\nif(!_28.isLoaded||!_29.cache){\nvar _2a=$.extend({},_29.queryParams);\nif(_29.onBeforeLoad.call(_26,_2a)==false){\nreturn;\n}\n_28.isLoaded=false;\n$(_26).panel(\"clear\");\nif(_29.loadingMessage){\n$(_26).html($(\"<div class=\\\"panel-loading\\\"></div>\").html(_29.loadingMessage));\n}\n_29.loader.call(_26,_2a,function(_2b){\nvar _2c=_29.extractor.call(_26,_2b);\n$(_26).html(_2c);\n$.parser.parse($(_26));\n_29.onLoad.apply(_26,arguments);\n_28.isLoaded=true;\n},function(){\n_29.onLoadError.apply(_26,arguments);\n});\n}\n};\nfunction _2d(_2e){\nvar t=$(_2e);\nt.find(\".combo-f\").each(function(){\n$(this).combo(\"destroy\");\n});\nt.find(\".m-btn\").each(function(){\n$(this).menubutton(\"destroy\");\n});\nt.find(\".s-btn\").each(function(){\n$(this).splitbutton(\"destroy\");\n});\nt.find(\".tooltip-f\").each(function(){\n$(this).tooltip(\"destroy\");\n});\nt.children(\"div\").each(function(){\n$(this)._size(\"unfit\");\n});\nt.empty();\n};\nfunction _2f(_30){\n$(_30).panel(\"doLayout\",true);\n};\nfunction _31(_32,_33){\nvar _34=$.data(_32,\"panel\").options;\nvar _35=$.data(_32,\"panel\").panel;\nif(_33!=true){\nif(_34.onBeforeOpen.call(_32)==false){\nreturn;\n}\n}\n_35.stop(true,true);\nif($.isFunction(_34.openAnimation)){\n_34.openAnimation.call(_32,cb);\n}else{\nswitch(_34.openAnimation){\ncase \"slide\":\n_35.slideDown(_34.openDuration,cb);\nbreak;\ncase \"fade\":\n_35.fadeIn(_34.openDuration,cb);\nbreak;\ncase \"show\":\n_35.show(_34.openDuration,cb);\nbreak;\ndefault:\n_35.show();\ncb();\n}\n}\nfunction cb(){\n_34.closed=false;\n_34.minimized=false;\nvar _36=_35.children(\"div.panel-header\").find(\"a.panel-tool-restore\");\nif(_36.length){\n_34.maximized=true;\n}\n_34.onOpen.call(_32);\nif(_34.maximized==true){\n_34.maximized=false;\n_37(_32);\n}\nif(_34.collapsed==true){\n_34.collapsed=false;\n_38(_32);\n}\nif(!_34.collapsed){\n_25(_32);\n_2f(_32);\n}\n};\n};\nfunction _39(_3a,_3b){\nvar _3c=$.data(_3a,\"panel\").options;\nvar _3d=$.data(_3a,\"panel\").panel;\nif(_3b!=true){\nif(_3c.onBeforeClose.call(_3a)==false){\nreturn;\n}\n}\n_3d.stop(true,true);\n_3d._size(\"unfit\");\nif($.isFunction(_3c.closeAnimation)){\n_3c.closeAnimation.call(_3a,cb);\n}else{\nswitch(_3c.closeAnimation){\ncase \"slide\":\n_3d.slideUp(_3c.closeDuration,cb);\nbreak;\ncase \"fade\":\n_3d.fadeOut(_3c.closeDuration,cb);\nbreak;\ncase \"hide\":\n_3d.hide(_3c.closeDuration,cb);\nbreak;\ndefault:\n_3d.hide();\ncb();\n}\n}\nfunction cb(){\n_3c.closed=true;\n_3c.onClose.call(_3a);\n};\n};\nfunction _3e(_3f,_40){\nvar _41=$.data(_3f,\"panel\");\nvar _42=_41.options;\nvar _43=_41.panel;\nif(_40!=true){\nif(_42.onBeforeDestroy.call(_3f)==false){\nreturn;\n}\n}\n$(_3f).panel(\"clear\").panel(\"clear\",\"footer\");\n_1(_43);\n_42.onDestroy.call(_3f);\n};\nfunction _38(_44,_45){\nvar _46=$.data(_44,\"panel\").options;\nvar _47=$.data(_44,\"panel\").panel;\nvar _48=_47.children(\"div.panel-body\");\nvar _49=_47.children(\"div.panel-header\").find(\"a.panel-tool-collapse\");\nif(_46.collapsed==true){\nreturn;\n}\n_48.stop(true,true);\nif(_46.onBeforeCollapse.call(_44)==false){\nreturn;\n}\n_49.addClass(\"panel-tool-expand\");\nif(_45==true){\n_48.slideUp(\"normal\",function(){\n_46.collapsed=true;\n_46.onCollapse.call(_44);\n});\n}else{\n_48.hide();\n_46.collapsed=true;\n_46.onCollapse.call(_44);\n}\n};\nfunction _4a(_4b,_4c){\nvar _4d=$.data(_4b,\"panel\").options;\nvar _4e=$.data(_4b,\"panel\").panel;\nvar _4f=_4e.children(\"div.panel-body\");\nvar _50=_4e.children(\"div.panel-header\").find(\"a.panel-tool-collapse\");\nif(_4d.collapsed==false){\nreturn;\n}\n_4f.stop(true,true);\nif(_4d.onBeforeExpand.call(_4b)==false){\nreturn;\n}\n_50.removeClass(\"panel-tool-expand\");\nif(_4c==true){\n_4f.slideDown(\"normal\",function(){\n_4d.collapsed=false;\n_4d.onExpand.call(_4b);\n_25(_4b);\n_2f(_4b);\n});\n}else{\n_4f.show();\n_4d.collapsed=false;\n_4d.onExpand.call(_4b);\n_25(_4b);\n_2f(_4b);\n}\n};\nfunction _37(_51){\nvar _52=$.data(_51,\"panel\").options;\nvar _53=$.data(_51,\"panel\").panel;\nvar _54=_53.children(\"div.panel-header\").find(\"a.panel-tool-max\");\nif(_52.maximized==true){\nreturn;\n}\n_54.addClass(\"panel-tool-restore\");\nif(!$.data(_51,\"panel\").original){\n$.data(_51,\"panel\").original={width:_52.width,height:_52.height,left:_52.left,top:_52.top,fit:_52.fit};\n}\n_52.left=0;\n_52.top=0;\n_52.fit=true;\n_3(_51);\n_52.minimized=false;\n_52.maximized=true;\n_52.onMaximize.call(_51);\n};\nfunction _55(_56){\nvar _57=$.data(_56,\"panel\").options;\nvar _58=$.data(_56,\"panel\").panel;\n_58._size(\"unfit\");\n_58.hide();\n_57.minimized=true;\n_57.maximized=false;\n_57.onMinimize.call(_56);\n};\nfunction _59(_5a){\nvar _5b=$.data(_5a,\"panel\").options;\nvar _5c=$.data(_5a,\"panel\").panel;\nvar _5d=_5c.children(\"div.panel-header\").find(\"a.panel-tool-max\");\nif(_5b.maximized==false){\nreturn;\n}\n_5c.show();\n_5d.removeClass(\"panel-tool-restore\");\n$.extend(_5b,$.data(_5a,\"panel\").original);\n_3(_5a);\n_5b.minimized=false;\n_5b.maximized=false;\n$.data(_5a,\"panel\").original=null;\n_5b.onRestore.call(_5a);\n};\nfunction _5e(_5f,_60){\n$.data(_5f,\"panel\").options.title=_60;\n$(_5f).panel(\"header\").find(\"div.panel-title\").html(_60);\n};\nvar _61=null;\n$(window).unbind(\".panel\").bind(\"resize.panel\",function(){\nif(_61){\nclearTimeout(_61);\n}\n_61=setTimeout(function(){\nvar _62=$(\"body.layout\");\nif(_62.length){\n_62.layout(\"resize\");\n$(\"body\").children(\".easyui-fluid:visible\").trigger(\"_resize\");\n}else{\n$(\"body\").panel(\"doLayout\");\n}\n_61=null;\n},100);\n});\n$.fn.panel=function(_63,_64){\nif(typeof _63==\"string\"){\nreturn $.fn.panel.methods[_63](this,_64);\n}\n_63=_63||{};\nreturn this.each(function(){\nvar _65=$.data(this,\"panel\");\nvar _66;\nif(_65){\n_66=$.extend(_65.options,_63);\n_65.isLoaded=false;\n}else{\n_66=$.extend({},$.fn.panel.defaults,$.fn.panel.parseOptions(this),_63);\n$(this).attr(\"title\",\"\");\n_65=$.data(this,\"panel\",{options:_66,panel:_14(this),isLoaded:false});\n}\n_18(this);\nif(_66.doSize==true){\n_65.panel.css(\"display\",\"block\");\n_3(this);\n}\nif(_66.closed==true||_66.minimized==true){\n_65.panel.hide();\n}else{\n_31(this);\n}\n});\n};\n$.fn.panel.methods={options:function(jq){\nreturn $.data(jq[0],\"panel\").options;\n},panel:function(jq){\nreturn $.data(jq[0],\"panel\").panel;\n},header:function(jq){\nreturn $.data(jq[0],\"panel\").panel.find(\">div.panel-header\");\n},footer:function(jq){\nreturn jq.panel(\"panel\").children(\".panel-footer\");\n},body:function(jq){\nreturn $.data(jq[0],\"panel\").panel.find(\">div.panel-body\");\n},setTitle:function(jq,_67){\nreturn jq.each(function(){\n_5e(this,_67);\n});\n},open:function(jq,_68){\nreturn jq.each(function(){\n_31(this,_68);\n});\n},close:function(jq,_69){\nreturn jq.each(function(){\n_39(this,_69);\n});\n},destroy:function(jq,_6a){\nreturn jq.each(function(){\n_3e(this,_6a);\n});\n},clear:function(jq,_6b){\nreturn jq.each(function(){\n_2d(_6b==\"footer\"?$(this).panel(\"footer\"):this);\n});\n},refresh:function(jq,_6c){\nreturn jq.each(function(){\nvar _6d=$.data(this,\"panel\");\n_6d.isLoaded=false;\nif(_6c){\nif(typeof _6c==\"string\"){\n_6d.options.href=_6c;\n}else{\n_6d.options.queryParams=_6c;\n}\n}\n_25(this);\n});\n},resize:function(jq,_6e){\nreturn jq.each(function(){\n_3(this,_6e);\n});\n},doLayout:function(jq,all){\nreturn jq.each(function(){\n_6f(this,\"body\");\n_6f($(this).siblings(\"div.panel-footer\")[0],\"footer\");\nfunction _6f(_70,_71){\nif(!_70){\nreturn;\n}\nvar _72=_70==$(\"body\")[0];\nvar s=$(_70).find(\"div.panel:visible,div.accordion:visible,div.tabs-container:visible,div.layout:visible,.easyui-fluid:visible\").filter(function(_73,el){\nvar p=$(el).parents(\"div.panel-\"+_71+\":first\");\nreturn _72?p.length==0:p[0]==_70;\n});\ns.trigger(\"_resize\",[all||false]);\n};\n});\n},move:function(jq,_74){\nreturn jq.each(function(){\n_f(this,_74);\n});\n},maximize:function(jq){\nreturn jq.each(function(){\n_37(this);\n});\n},minimize:function(jq){\nreturn jq.each(function(){\n_55(this);\n});\n},restore:function(jq){\nreturn jq.each(function(){\n_59(this);\n});\n},collapse:function(jq,_75){\nreturn jq.each(function(){\n_38(this,_75);\n});\n},expand:function(jq,_76){\nreturn jq.each(function(){\n_4a(this,_76);\n});\n}};\n$.fn.panel.parseOptions=function(_77){\nvar t=$(_77);\nreturn $.extend({},$.parser.parseOptions(_77,[\"id\",\"width\",\"height\",\"left\",\"top\",\"title\",\"iconCls\",\"cls\",\"headerCls\",\"bodyCls\",\"tools\",\"href\",\"method\",{cache:\"boolean\",fit:\"boolean\",border:\"boolean\",noheader:\"boolean\"},{collapsible:\"boolean\",minimizable:\"boolean\",maximizable:\"boolean\"},{closable:\"boolean\",collapsed:\"boolean\",minimized:\"boolean\",maximized:\"boolean\",closed:\"boolean\"},\"openAnimation\",\"closeAnimation\",{openDuration:\"number\",closeDuration:\"number\"},]),{loadingMessage:(t.attr(\"loadingMessage\")!=undefined?t.attr(\"loadingMessage\"):undefined)});\n};\n$.fn.panel.defaults={id:null,title:null,iconCls:null,width:\"auto\",height:\"auto\",left:null,top:null,cls:null,headerCls:null,bodyCls:null,style:{},href:null,cache:true,fit:false,border:true,doSize:true,noheader:false,content:null,collapsible:false,minimizable:false,maximizable:false,closable:false,collapsed:false,minimized:false,maximized:false,closed:false,openAnimation:false,openDuration:400,closeAnimation:false,closeDuration:400,tools:null,footer:null,queryParams:{},method:\"get\",href:null,loadingMessage:\"Loading...\",loader:function(_78,_79,_7a){\nvar _7b=$(this).panel(\"options\");\nif(!_7b.href){\nreturn false;\n}\n$.ajax({type:_7b.method,url:_7b.href,cache:false,data:_78,dataType:\"html\",success:function(_7c){\n_79(_7c);\n},error:function(){\n_7a.apply(this,arguments);\n}});\n},extractor:function(_7d){\nvar _7e=/<body[^>]*>((.|[\\n\\r])*)<\\/body>/im;\nvar _7f=_7e.exec(_7d);\nif(_7f){\nreturn _7f[1];\n}else{\nreturn _7d;\n}\n},onBeforeLoad:function(_80){\n},onLoad:function(){\n},onLoadError:function(){\n},onBeforeOpen:function(){\n},onOpen:function(){\n},onBeforeClose:function(){\n},onClose:function(){\n},onBeforeDestroy:function(){\n},onDestroy:function(){\n},onResize:function(_81,_82){\n},onMove:function(_83,top){\n},onMaximize:function(){\n},onRestore:function(){\n},onMinimize:function(){\n},onBeforeCollapse:function(){\n},onBeforeExpand:function(){\n},onCollapse:function(){\n},onExpand:function(){\n}};\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.parser.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\n$.parser={auto:true,onComplete:function(_1){\n},plugins:[\"draggable\",\"droppable\",\"resizable\",\"pagination\",\"tooltip\",\"linkbutton\",\"menu\",\"menubutton\",\"splitbutton\",\"progressbar\",\"tree\",\"textbox\",\"filebox\",\"combo\",\"combobox\",\"combotree\",\"combogrid\",\"numberbox\",\"validatebox\",\"searchbox\",\"spinner\",\"numberspinner\",\"timespinner\",\"datetimespinner\",\"calendar\",\"datebox\",\"datetimebox\",\"slider\",\"layout\",\"panel\",\"datagrid\",\"propertygrid\",\"treegrid\",\"tabs\",\"accordion\",\"window\",\"dialog\",\"form\"],parse:function(_2){\nvar aa=[];\nfor(var i=0;i<$.parser.plugins.length;i++){\nvar _3=$.parser.plugins[i];\nvar r=$(\".easyui-\"+_3,_2);\nif(r.length){\nif(r[_3]){\nr[_3]();\n}else{\naa.push({name:_3,jq:r});\n}\n}\n}\nif(aa.length&&window.easyloader){\nvar _4=[];\nfor(var i=0;i<aa.length;i++){\n_4.push(aa[i].name);\n}\neasyloader.load(_4,function(){\nfor(var i=0;i<aa.length;i++){\nvar _5=aa[i].name;\nvar jq=aa[i].jq;\njq[_5]();\n}\n$.parser.onComplete.call($.parser,_2);\n});\n}else{\n$.parser.onComplete.call($.parser,_2);\n}\n},parseValue:function(_6,_7,_8,_9){\n_9=_9||0;\nvar v=$.trim(String(_7||\"\"));\nvar _a=v.substr(v.length-1,1);\nif(_a==\"%\"){\nv=parseInt(v.substr(0,v.length-1));\nif(_6.toLowerCase().indexOf(\"width\")>=0){\nv=Math.floor((_8.width()-_9)*v/100);\n}else{\nv=Math.floor((_8.height()-_9)*v/100);\n}\n}else{\nv=parseInt(v)||undefined;\n}\nreturn v;\n},parseOptions:function(_b,_c){\nvar t=$(_b);\nvar _d={};\nvar s=$.trim(t.attr(\"data-options\"));\nif(s){\nif(s.substring(0,1)!=\"{\"){\ns=\"{\"+s+\"}\";\n}\n_d=(new Function(\"return \"+s))();\n}\n$.map([\"width\",\"height\",\"left\",\"top\",\"minWidth\",\"maxWidth\",\"minHeight\",\"maxHeight\"],function(p){\nvar pv=$.trim(_b.style[p]||\"\");\nif(pv){\nif(pv.indexOf(\"%\")==-1){\npv=parseInt(pv)||undefined;\n}\n_d[p]=pv;\n}\n});\nif(_c){\nvar _e={};\nfor(var i=0;i<_c.length;i++){\nvar pp=_c[i];\nif(typeof pp==\"string\"){\n_e[pp]=t.attr(pp);\n}else{\nfor(var _f in pp){\nvar _10=pp[_f];\nif(_10==\"boolean\"){\n_e[_f]=t.attr(_f)?(t.attr(_f)==\"true\"):undefined;\n}else{\nif(_10==\"number\"){\n_e[_f]=t.attr(_f)==\"0\"?0:parseFloat(t.attr(_f))||undefined;\n}\n}\n}\n}\n}\n$.extend(_d,_e);\n}\nreturn _d;\n}};\n$(function(){\nvar d=$(\"<div style=\\\"position:absolute;top:-1000px;width:100px;height:100px;padding:5px\\\"></div>\").appendTo(\"body\");\n$._boxModel=d.outerWidth()!=100;\nd.remove();\nif(!window.easyloader&&$.parser.auto){\n$.parser.parse();\n}\n});\n$.fn._outerWidth=function(_11){\nif(_11==undefined){\nif(this[0]==window){\nreturn this.width()||document.body.clientWidth;\n}\nreturn this.outerWidth()||0;\n}\nreturn this._size(\"width\",_11);\n};\n$.fn._outerHeight=function(_12){\nif(_12==undefined){\nif(this[0]==window){\nreturn this.height()||document.body.clientHeight;\n}\nreturn this.outerHeight()||0;\n}\nreturn this._size(\"height\",_12);\n};\n$.fn._scrollLeft=function(_13){\nif(_13==undefined){\nreturn this.scrollLeft();\n}else{\nreturn this.each(function(){\n$(this).scrollLeft(_13);\n});\n}\n};\n$.fn._propAttr=$.fn.prop||$.fn.attr;\n$.fn._size=function(_14,_15){\nif(typeof _14==\"string\"){\nif(_14==\"clear\"){\nreturn this.each(function(){\n$(this).css({width:\"\",minWidth:\"\",maxWidth:\"\",height:\"\",minHeight:\"\",maxHeight:\"\"});\n});\n}else{\nif(_14==\"fit\"){\nreturn this.each(function(){\n_16(this,this.tagName==\"BODY\"?$(\"body\"):$(this).parent(),true);\n});\n}else{\nif(_14==\"unfit\"){\nreturn this.each(function(){\n_16(this,$(this).parent(),false);\n});\n}else{\nif(_15==undefined){\nreturn _17(this[0],_14);\n}else{\nreturn this.each(function(){\n_17(this,_14,_15);\n});\n}\n}\n}\n}\n}else{\nreturn this.each(function(){\n_15=_15||$(this).parent();\n$.extend(_14,_16(this,_15,_14.fit)||{});\nvar r1=_18(this,\"width\",_15,_14);\nvar r2=_18(this,\"height\",_15,_14);\nif(r1||r2){\n$(this).addClass(\"easyui-fluid\");\n}else{\n$(this).removeClass(\"easyui-fluid\");\n}\n});\n}\nfunction _16(_19,_1a,fit){\nif(!_1a.length){\nreturn false;\n}\nvar t=$(_19)[0];\nvar p=_1a[0];\nvar _1b=p.fcount||0;\nif(fit){\nif(!t.fitted){\nt.fitted=true;\np.fcount=_1b+1;\n$(p).addClass(\"panel-noscroll\");\nif(p.tagName==\"BODY\"){\n$(\"html\").addClass(\"panel-fit\");\n}\n}\nreturn {width:($(p).width()||1),height:($(p).height()||1)};\n}else{\nif(t.fitted){\nt.fitted=false;\np.fcount=_1b-1;\nif(p.fcount==0){\n$(p).removeClass(\"panel-noscroll\");\nif(p.tagName==\"BODY\"){\n$(\"html\").removeClass(\"panel-fit\");\n}\n}\n}\nreturn false;\n}\n};\nfunction _18(_1c,_1d,_1e,_1f){\nvar t=$(_1c);\nvar p=_1d;\nvar p1=p.substr(0,1).toUpperCase()+p.substr(1);\nvar min=$.parser.parseValue(\"min\"+p1,_1f[\"min\"+p1],_1e);\nvar max=$.parser.parseValue(\"max\"+p1,_1f[\"max\"+p1],_1e);\nvar val=$.parser.parseValue(p,_1f[p],_1e);\nvar _20=(String(_1f[p]||\"\").indexOf(\"%\")>=0?true:false);\nif(!isNaN(val)){\nvar v=Math.min(Math.max(val,min||0),max||99999);\nif(!_20){\n_1f[p]=v;\n}\nt._size(\"min\"+p1,\"\");\nt._size(\"max\"+p1,\"\");\nt._size(p,v);\n}else{\nt._size(p,\"\");\nt._size(\"min\"+p1,min);\nt._size(\"max\"+p1,max);\n}\nreturn _20||_1f.fit;\n};\nfunction _17(_21,_22,_23){\nvar t=$(_21);\nif(_23==undefined){\n_23=parseInt(_21.style[_22]);\nif(isNaN(_23)){\nreturn undefined;\n}\nif($._boxModel){\n_23+=_24();\n}\nreturn _23;\n}else{\nif(_23===\"\"){\nt.css(_22,\"\");\n}else{\nif($._boxModel){\n_23-=_24();\nif(_23<0){\n_23=0;\n}\n}\nt.css(_22,_23+\"px\");\n}\n}\nfunction _24(){\nif(_22.toLowerCase().indexOf(\"width\")>=0){\nreturn t.outerWidth()-t.width();\n}else{\nreturn t.outerHeight()-t.height();\n}\n};\n};\n};\n})(jQuery);\n(function($){\nvar _25=null;\nvar _26=null;\nvar _27=false;\nfunction _28(e){\nif(e.touches.length!=1){\nreturn;\n}\nif(!_27){\n_27=true;\ndblClickTimer=setTimeout(function(){\n_27=false;\n},500);\n}else{\nclearTimeout(dblClickTimer);\n_27=false;\n_29(e,\"dblclick\");\n}\n_25=setTimeout(function(){\n_29(e,\"contextmenu\",3);\n},1000);\n_29(e,\"mousedown\");\nif($.fn.draggable.isDragging||$.fn.resizable.isResizing){\ne.preventDefault();\n}\n};\nfunction _2a(e){\nif(e.touches.length!=1){\nreturn;\n}\nif(_25){\nclearTimeout(_25);\n}\n_29(e,\"mousemove\");\nif($.fn.draggable.isDragging||$.fn.resizable.isResizing){\ne.preventDefault();\n}\n};\nfunction _2b(e){\nif(_25){\nclearTimeout(_25);\n}\n_29(e,\"mouseup\");\nif($.fn.draggable.isDragging||$.fn.resizable.isResizing){\ne.preventDefault();\n}\n};\nfunction _29(e,_2c,_2d){\nvar _2e=new $.Event(_2c);\n_2e.pageX=e.changedTouches[0].pageX;\n_2e.pageY=e.changedTouches[0].pageY;\n_2e.which=_2d||1;\n$(e.target).trigger(_2e);\n};\nif(document.addEventListener){\ndocument.addEventListener(\"touchstart\",_28,true);\ndocument.addEventListener(\"touchmove\",_2a,true);\ndocument.addEventListener(\"touchend\",_2b,true);\n}\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.progressbar.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\n$(_2).addClass(\"progressbar\");\n$(_2).html(\"<div class=\\\"progressbar-text\\\"></div><div class=\\\"progressbar-value\\\"><div class=\\\"progressbar-text\\\"></div></div>\");\n$(_2).bind(\"_resize\",function(e,_3){\nif($(this).hasClass(\"easyui-fluid\")||_3){\n_4(_2);\n}\nreturn false;\n});\nreturn $(_2);\n};\nfunction _4(_5,_6){\nvar _7=$.data(_5,\"progressbar\").options;\nvar _8=$.data(_5,\"progressbar\").bar;\nif(_6){\n_7.width=_6;\n}\n_8._size(_7);\n_8.find(\"div.progressbar-text\").css(\"width\",_8.width());\n_8.find(\"div.progressbar-text,div.progressbar-value\").css({height:_8.height()+\"px\",lineHeight:_8.height()+\"px\"});\n};\n$.fn.progressbar=function(_9,_a){\nif(typeof _9==\"string\"){\nvar _b=$.fn.progressbar.methods[_9];\nif(_b){\nreturn _b(this,_a);\n}\n}\n_9=_9||{};\nreturn this.each(function(){\nvar _c=$.data(this,\"progressbar\");\nif(_c){\n$.extend(_c.options,_9);\n}else{\n_c=$.data(this,\"progressbar\",{options:$.extend({},$.fn.progressbar.defaults,$.fn.progressbar.parseOptions(this),_9),bar:_1(this)});\n}\n$(this).progressbar(\"setValue\",_c.options.value);\n_4(this);\n});\n};\n$.fn.progressbar.methods={options:function(jq){\nreturn $.data(jq[0],\"progressbar\").options;\n},resize:function(jq,_d){\nreturn jq.each(function(){\n_4(this,_d);\n});\n},getValue:function(jq){\nreturn $.data(jq[0],\"progressbar\").options.value;\n},setValue:function(jq,_e){\nif(_e<0){\n_e=0;\n}\nif(_e>100){\n_e=100;\n}\nreturn jq.each(function(){\nvar _f=$.data(this,\"progressbar\").options;\nvar _10=_f.text.replace(/{value}/,_e);\nvar _11=_f.value;\n_f.value=_e;\n$(this).find(\"div.progressbar-value\").width(_e+\"%\");\n$(this).find(\"div.progressbar-text\").html(_10);\nif(_11!=_e){\n_f.onChange.call(this,_e,_11);\n}\n});\n}};\n$.fn.progressbar.parseOptions=function(_12){\nreturn $.extend({},$.parser.parseOptions(_12,[\"width\",\"height\",\"text\",{value:\"number\"}]));\n};\n$.fn.progressbar.defaults={width:\"auto\",height:22,value:0,text:\"{value}%\",onChange:function(_13,_14){\n}};\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.propertygrid.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nvar _1;\n$(document).unbind(\".propertygrid\").bind(\"mousedown.propertygrid\",function(e){\nvar p=$(e.target).closest(\"div.datagrid-view,div.combo-panel\");\nif(p.length){\nreturn;\n}\n_2(_1);\n_1=undefined;\n});\nfunction _3(_4){\nvar _5=$.data(_4,\"propertygrid\");\nvar _6=$.data(_4,\"propertygrid\").options;\n$(_4).datagrid($.extend({},_6,{cls:\"propertygrid\",view:(_6.showGroup?_6.groupView:_6.view),onBeforeEdit:function(_7,_8){\nif(_6.onBeforeEdit.call(_4,_7,_8)==false){\nreturn false;\n}\nvar dg=$(this);\nvar _8=dg.datagrid(\"getRows\")[_7];\nvar _9=dg.datagrid(\"getColumnOption\",\"value\");\n_9.editor=_8.editor;\n},onClickCell:function(_a,_b,_c){\nif(_1!=this){\n_2(_1);\n_1=this;\n}\nif(_6.editIndex!=_a){\n_2(_1);\n$(this).datagrid(\"beginEdit\",_a);\nvar ed=$(this).datagrid(\"getEditor\",{index:_a,field:_b});\nif(!ed){\ned=$(this).datagrid(\"getEditor\",{index:_a,field:\"value\"});\n}\nif(ed){\nvar t=$(ed.target);\nvar _d=t.data(\"textbox\")?t.textbox(\"textbox\"):t;\n_d.focus();\n_6.editIndex=_a;\n}\n}\n_6.onClickCell.call(_4,_a,_b,_c);\n},loadFilter:function(_e){\n_2(this);\nreturn _6.loadFilter.call(this,_e);\n}}));\n};\nfunction _2(_f){\nvar t=$(_f);\nif(!t.length){\nreturn;\n}\nvar _10=$.data(_f,\"propertygrid\").options;\n_10.finder.getTr(_f,null,\"editing\").each(function(){\nvar _11=parseInt($(this).attr(\"datagrid-row-index\"));\nif(t.datagrid(\"validateRow\",_11)){\nt.datagrid(\"endEdit\",_11);\n}else{\nt.datagrid(\"cancelEdit\",_11);\n}\n});\n};\n$.fn.propertygrid=function(_12,_13){\nif(typeof _12==\"string\"){\nvar _14=$.fn.propertygrid.methods[_12];\nif(_14){\nreturn _14(this,_13);\n}else{\nreturn this.datagrid(_12,_13);\n}\n}\n_12=_12||{};\nreturn this.each(function(){\nvar _15=$.data(this,\"propertygrid\");\nif(_15){\n$.extend(_15.options,_12);\n}else{\nvar _16=$.extend({},$.fn.propertygrid.defaults,$.fn.propertygrid.parseOptions(this),_12);\n_16.frozenColumns=$.extend(true,[],_16.frozenColumns);\n_16.columns=$.extend(true,[],_16.columns);\n$.data(this,\"propertygrid\",{options:_16});\n}\n_3(this);\n});\n};\n$.fn.propertygrid.methods={options:function(jq){\nreturn $.data(jq[0],\"propertygrid\").options;\n}};\n$.fn.propertygrid.parseOptions=function(_17){\nreturn $.extend({},$.fn.datagrid.parseOptions(_17),$.parser.parseOptions(_17,[{showGroup:\"boolean\"}]));\n};\nvar _18=$.extend({},$.fn.datagrid.defaults.view,{render:function(_19,_1a,_1b){\nvar _1c=[];\nvar _1d=this.groups;\nfor(var i=0;i<_1d.length;i++){\n_1c.push(this.renderGroup.call(this,_19,i,_1d[i],_1b));\n}\n$(_1a).html(_1c.join(\"\"));\n},renderGroup:function(_1e,_1f,_20,_21){\nvar _22=$.data(_1e,\"datagrid\");\nvar _23=_22.options;\nvar _24=$(_1e).datagrid(\"getColumnFields\",_21);\nvar _25=[];\n_25.push(\"<div class=\\\"datagrid-group\\\" group-index=\"+_1f+\">\");\n_25.push(\"<table cellspacing=\\\"0\\\" cellpadding=\\\"0\\\" border=\\\"0\\\" style=\\\"height:100%\\\"><tbody>\");\n_25.push(\"<tr>\");\nif((_21&&(_23.rownumbers||_23.frozenColumns.length))||(!_21&&!(_23.rownumbers||_23.frozenColumns.length))){\n_25.push(\"<td style=\\\"border:0;text-align:center;width:25px\\\"><span class=\\\"datagrid-row-expander datagrid-row-collapse\\\" style=\\\"display:inline-block;width:16px;height:16px;cursor:pointer\\\">&nbsp;</span></td>\");\n}\n_25.push(\"<td style=\\\"border:0;\\\">\");\nif(!_21){\n_25.push(\"<span class=\\\"datagrid-group-title\\\">\");\n_25.push(_23.groupFormatter.call(_1e,_20.value,_20.rows));\n_25.push(\"</span>\");\n}\n_25.push(\"</td>\");\n_25.push(\"</tr>\");\n_25.push(\"</tbody></table>\");\n_25.push(\"</div>\");\n_25.push(\"<table class=\\\"datagrid-btable\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\" border=\\\"0\\\"><tbody>\");\nvar _26=_20.startIndex;\nfor(var j=0;j<_20.rows.length;j++){\nvar css=_23.rowStyler?_23.rowStyler.call(_1e,_26,_20.rows[j]):\"\";\nvar _27=\"\";\nvar _28=\"\";\nif(typeof css==\"string\"){\n_28=css;\n}else{\nif(css){\n_27=css[\"class\"]||\"\";\n_28=css[\"style\"]||\"\";\n}\n}\nvar cls=\"class=\\\"datagrid-row \"+(_26%2&&_23.striped?\"datagrid-row-alt \":\" \")+_27+\"\\\"\";\nvar _29=_28?\"style=\\\"\"+_28+\"\\\"\":\"\";\nvar _2a=_22.rowIdPrefix+\"-\"+(_21?1:2)+\"-\"+_26;\n_25.push(\"<tr id=\\\"\"+_2a+\"\\\" datagrid-row-index=\\\"\"+_26+\"\\\" \"+cls+\" \"+_29+\">\");\n_25.push(this.renderRow.call(this,_1e,_24,_21,_26,_20.rows[j]));\n_25.push(\"</tr>\");\n_26++;\n}\n_25.push(\"</tbody></table>\");\nreturn _25.join(\"\");\n},bindEvents:function(_2b){\nvar _2c=$.data(_2b,\"datagrid\");\nvar dc=_2c.dc;\nvar _2d=dc.body1.add(dc.body2);\nvar _2e=($.data(_2d[0],\"events\")||$._data(_2d[0],\"events\")).click[0].handler;\n_2d.unbind(\"click\").bind(\"click\",function(e){\nvar tt=$(e.target);\nvar _2f=tt.closest(\"span.datagrid-row-expander\");\nif(_2f.length){\nvar _30=_2f.closest(\"div.datagrid-group\").attr(\"group-index\");\nif(_2f.hasClass(\"datagrid-row-collapse\")){\n$(_2b).datagrid(\"collapseGroup\",_30);\n}else{\n$(_2b).datagrid(\"expandGroup\",_30);\n}\n}else{\n_2e(e);\n}\ne.stopPropagation();\n});\n},onBeforeRender:function(_31,_32){\nvar _33=$.data(_31,\"datagrid\");\nvar _34=_33.options;\n_35();\nvar _36=[];\nfor(var i=0;i<_32.length;i++){\nvar row=_32[i];\nvar _37=_38(row[_34.groupField]);\nif(!_37){\n_37={value:row[_34.groupField],rows:[row]};\n_36.push(_37);\n}else{\n_37.rows.push(row);\n}\n}\nvar _39=0;\nvar _3a=[];\nfor(var i=0;i<_36.length;i++){\nvar _37=_36[i];\n_37.startIndex=_39;\n_39+=_37.rows.length;\n_3a=_3a.concat(_37.rows);\n}\n_33.data.rows=_3a;\nthis.groups=_36;\nvar _3b=this;\nsetTimeout(function(){\n_3b.bindEvents(_31);\n},0);\nfunction _38(_3c){\nfor(var i=0;i<_36.length;i++){\nvar _3d=_36[i];\nif(_3d.value==_3c){\nreturn _3d;\n}\n}\nreturn null;\n};\nfunction _35(){\nif(!$(\"#datagrid-group-style\").length){\n$(\"head\").append(\"<style id=\\\"datagrid-group-style\\\">\"+\".datagrid-group{height:25px;overflow:hidden;font-weight:bold;border-bottom:1px solid #ccc;}\"+\"</style>\");\n}\n};\n}});\n$.extend($.fn.datagrid.methods,{expandGroup:function(jq,_3e){\nreturn jq.each(function(){\nvar _3f=$.data(this,\"datagrid\").dc.view;\nvar _40=_3f.find(_3e!=undefined?\"div.datagrid-group[group-index=\\\"\"+_3e+\"\\\"]\":\"div.datagrid-group\");\nvar _41=_40.find(\"span.datagrid-row-expander\");\nif(_41.hasClass(\"datagrid-row-expand\")){\n_41.removeClass(\"datagrid-row-expand\").addClass(\"datagrid-row-collapse\");\n_40.next(\"table\").show();\n}\n$(this).datagrid(\"fixRowHeight\");\n});\n},collapseGroup:function(jq,_42){\nreturn jq.each(function(){\nvar _43=$.data(this,\"datagrid\").dc.view;\nvar _44=_43.find(_42!=undefined?\"div.datagrid-group[group-index=\\\"\"+_42+\"\\\"]\":\"div.datagrid-group\");\nvar _45=_44.find(\"span.datagrid-row-expander\");\nif(_45.hasClass(\"datagrid-row-collapse\")){\n_45.removeClass(\"datagrid-row-collapse\").addClass(\"datagrid-row-expand\");\n_44.next(\"table\").hide();\n}\n$(this).datagrid(\"fixRowHeight\");\n});\n}});\n$.extend(_18,{refreshGroupTitle:function(_46,_47){\nvar _48=$.data(_46,\"datagrid\");\nvar _49=_48.options;\nvar dc=_48.dc;\nvar _4a=this.groups[_47];\nvar _4b=dc.body2.children(\"div.datagrid-group[group-index=\"+_47+\"]\").find(\"span.datagrid-group-title\");\n_4b.html(_49.groupFormatter.call(_46,_4a.value,_4a.rows));\n},insertRow:function(_4c,_4d,row){\nvar _4e=$.data(_4c,\"datagrid\");\nvar _4f=_4e.options;\nvar dc=_4e.dc;\nvar _50=null;\nvar _51;\nfor(var i=0;i<this.groups.length;i++){\nif(this.groups[i].value==row[_4f.groupField]){\n_50=this.groups[i];\n_51=i;\nbreak;\n}\n}\nif(_50){\nif(_4d==undefined||_4d==null){\n_4d=_4e.data.rows.length;\n}\nif(_4d<_50.startIndex){\n_4d=_50.startIndex;\n}else{\nif(_4d>_50.startIndex+_50.rows.length){\n_4d=_50.startIndex+_50.rows.length;\n}\n}\n$.fn.datagrid.defaults.view.insertRow.call(this,_4c,_4d,row);\nif(_4d>=_50.startIndex+_50.rows.length){\n_52(_4d,true);\n_52(_4d,false);\n}\n_50.rows.splice(_4d-_50.startIndex,0,row);\n}else{\n_50={value:row[_4f.groupField],rows:[row],startIndex:_4e.data.rows.length};\n_51=this.groups.length;\ndc.body1.append(this.renderGroup.call(this,_4c,_51,_50,true));\ndc.body2.append(this.renderGroup.call(this,_4c,_51,_50,false));\nthis.groups.push(_50);\n_4e.data.rows.push(row);\n}\nthis.refreshGroupTitle(_4c,_51);\nfunction _52(_53,_54){\nvar _55=_54?1:2;\nvar _56=_4f.finder.getTr(_4c,_53-1,\"body\",_55);\nvar tr=_4f.finder.getTr(_4c,_53,\"body\",_55);\ntr.insertAfter(_56);\n};\n},updateRow:function(_57,_58,row){\nvar _59=$.data(_57,\"datagrid\").options;\n$.fn.datagrid.defaults.view.updateRow.call(this,_57,_58,row);\nvar tb=_59.finder.getTr(_57,_58,\"body\",2).closest(\"table.datagrid-btable\");\nvar _5a=parseInt(tb.prev().attr(\"group-index\"));\nthis.refreshGroupTitle(_57,_5a);\n},deleteRow:function(_5b,_5c){\nvar _5d=$.data(_5b,\"datagrid\");\nvar _5e=_5d.options;\nvar dc=_5d.dc;\nvar _5f=dc.body1.add(dc.body2);\nvar tb=_5e.finder.getTr(_5b,_5c,\"body\",2).closest(\"table.datagrid-btable\");\nvar _60=parseInt(tb.prev().attr(\"group-index\"));\n$.fn.datagrid.defaults.view.deleteRow.call(this,_5b,_5c);\nvar _61=this.groups[_60];\nif(_61.rows.length>1){\n_61.rows.splice(_5c-_61.startIndex,1);\nthis.refreshGroupTitle(_5b,_60);\n}else{\n_5f.children(\"div.datagrid-group[group-index=\"+_60+\"]\").remove();\nfor(var i=_60+1;i<this.groups.length;i++){\n_5f.children(\"div.datagrid-group[group-index=\"+i+\"]\").attr(\"group-index\",i-1);\n}\nthis.groups.splice(_60,1);\n}\nvar _5c=0;\nfor(var i=0;i<this.groups.length;i++){\nvar _61=this.groups[i];\n_61.startIndex=_5c;\n_5c+=_61.rows.length;\n}\n}});\n$.fn.propertygrid.defaults=$.extend({},$.fn.datagrid.defaults,{singleSelect:true,remoteSort:false,fitColumns:true,loadMsg:\"\",frozenColumns:[[{field:\"f\",width:16,resizable:false}]],columns:[[{field:\"name\",title:\"Name\",width:100,sortable:true},{field:\"value\",title:\"Value\",width:100,resizable:false}]],showGroup:false,groupView:_18,groupField:\"group\",groupFormatter:function(_62,_63){\nreturn _62;\n}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.resizable.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\n$.fn.resizable=function(_1,_2){\nif(typeof _1==\"string\"){\nreturn $.fn.resizable.methods[_1](this,_2);\n}\nfunction _3(e){\nvar _4=e.data;\nvar _5=$.data(_4.target,\"resizable\").options;\nif(_4.dir.indexOf(\"e\")!=-1){\nvar _6=_4.startWidth+e.pageX-_4.startX;\n_6=Math.min(Math.max(_6,_5.minWidth),_5.maxWidth);\n_4.width=_6;\n}\nif(_4.dir.indexOf(\"s\")!=-1){\nvar _7=_4.startHeight+e.pageY-_4.startY;\n_7=Math.min(Math.max(_7,_5.minHeight),_5.maxHeight);\n_4.height=_7;\n}\nif(_4.dir.indexOf(\"w\")!=-1){\nvar _6=_4.startWidth-e.pageX+_4.startX;\n_6=Math.min(Math.max(_6,_5.minWidth),_5.maxWidth);\n_4.width=_6;\n_4.left=_4.startLeft+_4.startWidth-_4.width;\n}\nif(_4.dir.indexOf(\"n\")!=-1){\nvar _7=_4.startHeight-e.pageY+_4.startY;\n_7=Math.min(Math.max(_7,_5.minHeight),_5.maxHeight);\n_4.height=_7;\n_4.top=_4.startTop+_4.startHeight-_4.height;\n}\n};\nfunction _8(e){\nvar _9=e.data;\nvar t=$(_9.target);\nt.css({left:_9.left,top:_9.top});\nif(t.outerWidth()!=_9.width){\nt._outerWidth(_9.width);\n}\nif(t.outerHeight()!=_9.height){\nt._outerHeight(_9.height);\n}\n};\nfunction _a(e){\n$.fn.resizable.isResizing=true;\n$.data(e.data.target,\"resizable\").options.onStartResize.call(e.data.target,e);\nreturn false;\n};\nfunction _b(e){\n_3(e);\nif($.data(e.data.target,\"resizable\").options.onResize.call(e.data.target,e)!=false){\n_8(e);\n}\nreturn false;\n};\nfunction _c(e){\n$.fn.resizable.isResizing=false;\n_3(e,true);\n_8(e);\n$.data(e.data.target,\"resizable\").options.onStopResize.call(e.data.target,e);\n$(document).unbind(\".resizable\");\n$(\"body\").css(\"cursor\",\"\");\nreturn false;\n};\nreturn this.each(function(){\nvar _d=null;\nvar _e=$.data(this,\"resizable\");\nif(_e){\n$(this).unbind(\".resizable\");\n_d=$.extend(_e.options,_1||{});\n}else{\n_d=$.extend({},$.fn.resizable.defaults,$.fn.resizable.parseOptions(this),_1||{});\n$.data(this,\"resizable\",{options:_d});\n}\nif(_d.disabled==true){\nreturn;\n}\n$(this).bind(\"mousemove.resizable\",{target:this},function(e){\nif($.fn.resizable.isResizing){\nreturn;\n}\nvar _f=_10(e);\nif(_f==\"\"){\n$(e.data.target).css(\"cursor\",\"\");\n}else{\n$(e.data.target).css(\"cursor\",_f+\"-resize\");\n}\n}).bind(\"mouseleave.resizable\",{target:this},function(e){\n$(e.data.target).css(\"cursor\",\"\");\n}).bind(\"mousedown.resizable\",{target:this},function(e){\nvar dir=_10(e);\nif(dir==\"\"){\nreturn;\n}\nfunction _11(css){\nvar val=parseInt($(e.data.target).css(css));\nif(isNaN(val)){\nreturn 0;\n}else{\nreturn val;\n}\n};\nvar _12={target:e.data.target,dir:dir,startLeft:_11(\"left\"),startTop:_11(\"top\"),left:_11(\"left\"),top:_11(\"top\"),startX:e.pageX,startY:e.pageY,startWidth:$(e.data.target).outerWidth(),startHeight:$(e.data.target).outerHeight(),width:$(e.data.target).outerWidth(),height:$(e.data.target).outerHeight(),deltaWidth:$(e.data.target).outerWidth()-$(e.data.target).width(),deltaHeight:$(e.data.target).outerHeight()-$(e.data.target).height()};\n$(document).bind(\"mousedown.resizable\",_12,_a);\n$(document).bind(\"mousemove.resizable\",_12,_b);\n$(document).bind(\"mouseup.resizable\",_12,_c);\n$(\"body\").css(\"cursor\",dir+\"-resize\");\n});\nfunction _10(e){\nvar tt=$(e.data.target);\nvar dir=\"\";\nvar _13=tt.offset();\nvar _14=tt.outerWidth();\nvar _15=tt.outerHeight();\nvar _16=_d.edge;\nif(e.pageY>_13.top&&e.pageY<_13.top+_16){\ndir+=\"n\";\n}else{\nif(e.pageY<_13.top+_15&&e.pageY>_13.top+_15-_16){\ndir+=\"s\";\n}\n}\nif(e.pageX>_13.left&&e.pageX<_13.left+_16){\ndir+=\"w\";\n}else{\nif(e.pageX<_13.left+_14&&e.pageX>_13.left+_14-_16){\ndir+=\"e\";\n}\n}\nvar _17=_d.handles.split(\",\");\nfor(var i=0;i<_17.length;i++){\nvar _18=_17[i].replace(/(^\\s*)|(\\s*$)/g,\"\");\nif(_18==\"all\"||_18==dir){\nreturn dir;\n}\n}\nreturn \"\";\n};\n});\n};\n$.fn.resizable.methods={options:function(jq){\nreturn $.data(jq[0],\"resizable\").options;\n},enable:function(jq){\nreturn jq.each(function(){\n$(this).resizable({disabled:false});\n});\n},disable:function(jq){\nreturn jq.each(function(){\n$(this).resizable({disabled:true});\n});\n}};\n$.fn.resizable.parseOptions=function(_19){\nvar t=$(_19);\nreturn $.extend({},$.parser.parseOptions(_19,[\"handles\",{minWidth:\"number\",minHeight:\"number\",maxWidth:\"number\",maxHeight:\"number\",edge:\"number\"}]),{disabled:(t.attr(\"disabled\")?true:undefined)});\n};\n$.fn.resizable.defaults={disabled:false,handles:\"n, e, s, w, ne, se, sw, nw, all\",minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000,edge:5,onStartResize:function(e){\n},onResize:function(e){\n},onStopResize:function(e){\n}};\n$.fn.resizable.isResizing=false;\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.searchbox.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$.data(_2,\"searchbox\");\nvar _4=_3.options;\nvar _5=$.extend(true,[],_4.icons);\n_5.push({iconCls:\"searchbox-button\",handler:function(e){\nvar t=$(e.data.target);\nvar _6=t.searchbox(\"options\");\n_6.searcher.call(e.data.target,t.searchbox(\"getValue\"),t.searchbox(\"getName\"));\n}});\n_7();\nvar _8=_9();\n$(_2).addClass(\"searchbox-f\").textbox($.extend({},_4,{icons:_5,buttonText:(_8?_8.text:\"\")}));\n$(_2).attr(\"searchboxName\",$(_2).attr(\"textboxName\"));\n_3.searchbox=$(_2).next();\n_3.searchbox.addClass(\"searchbox\");\n_a(_8);\nfunction _7(){\nif(_4.menu){\n_3.menu=$(_4.menu).menu();\nvar _b=_3.menu.menu(\"options\");\nvar _c=_b.onClick;\n_b.onClick=function(_d){\n_a(_d);\n_c.call(this,_d);\n};\n}else{\nif(_3.menu){\n_3.menu.menu(\"destroy\");\n}\n_3.menu=null;\n}\n};\nfunction _9(){\nif(_3.menu){\nvar _e=_3.menu.children(\"div.menu-item:first\");\n_3.menu.children(\"div.menu-item\").each(function(){\nvar _f=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr(\"selected\")?true:undefined)});\nif(_f.selected){\n_e=$(this);\nreturn false;\n}\n});\nreturn _3.menu.menu(\"getItem\",_e[0]);\n}else{\nreturn null;\n}\n};\nfunction _a(_10){\nif(!_10){\nreturn;\n}\n$(_2).textbox(\"button\").menubutton({text:_10.text,iconCls:(_10.iconCls||null),menu:_3.menu,menuAlign:_4.buttonAlign,plain:false});\n_3.searchbox.find(\"input.textbox-value\").attr(\"name\",_10.name||_10.text);\n$(_2).searchbox(\"resize\");\n};\n};\n$.fn.searchbox=function(_11,_12){\nif(typeof _11==\"string\"){\nvar _13=$.fn.searchbox.methods[_11];\nif(_13){\nreturn _13(this,_12);\n}else{\nreturn this.textbox(_11,_12);\n}\n}\n_11=_11||{};\nreturn this.each(function(){\nvar _14=$.data(this,\"searchbox\");\nif(_14){\n$.extend(_14.options,_11);\n}else{\n$.data(this,\"searchbox\",{options:$.extend({},$.fn.searchbox.defaults,$.fn.searchbox.parseOptions(this),_11)});\n}\n_1(this);\n});\n};\n$.fn.searchbox.methods={options:function(jq){\nvar _15=jq.textbox(\"options\");\nreturn $.extend($.data(jq[0],\"searchbox\").options,{width:_15.width,value:_15.value,originalValue:_15.originalValue,disabled:_15.disabled,readonly:_15.readonly});\n},menu:function(jq){\nreturn $.data(jq[0],\"searchbox\").menu;\n},getName:function(jq){\nreturn $.data(jq[0],\"searchbox\").searchbox.find(\"input.textbox-value\").attr(\"name\");\n},selectName:function(jq,_16){\nreturn jq.each(function(){\nvar _17=$.data(this,\"searchbox\").menu;\nif(_17){\n_17.children(\"div.menu-item\").each(function(){\nvar _18=_17.menu(\"getItem\",this);\nif(_18.name==_16){\n$(this).triggerHandler(\"click\");\nreturn false;\n}\n});\n}\n});\n},destroy:function(jq){\nreturn jq.each(function(){\nvar _19=$(this).searchbox(\"menu\");\nif(_19){\n_19.menu(\"destroy\");\n}\n$(this).textbox(\"destroy\");\n});\n}};\n$.fn.searchbox.parseOptions=function(_1a){\nvar t=$(_1a);\nreturn $.extend({},$.fn.textbox.parseOptions(_1a),$.parser.parseOptions(_1a,[\"menu\"]),{searcher:(t.attr(\"searcher\")?eval(t.attr(\"searcher\")):undefined)});\n};\n$.fn.searchbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:$.extend({},$.fn.textbox.defaults.inputEvents,{keydown:function(e){\nif(e.keyCode==13){\ne.preventDefault();\nvar t=$(e.data.target);\nvar _1b=t.searchbox(\"options\");\nt.searchbox(\"setValue\",$(this).val());\n_1b.searcher.call(e.data.target,t.searchbox(\"getValue\"),t.searchbox(\"getName\"));\nreturn false;\n}\n}}),buttonAlign:\"left\",menu:null,searcher:function(_1c,_1d){\n}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.slider.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$(\"<div class=\\\"slider\\\">\"+\"<div class=\\\"slider-inner\\\">\"+\"<a href=\\\"javascript:void(0)\\\" class=\\\"slider-handle\\\"></a>\"+\"<span class=\\\"slider-tip\\\"></span>\"+\"</div>\"+\"<div class=\\\"slider-rule\\\"></div>\"+\"<div class=\\\"slider-rulelabel\\\"></div>\"+\"<div style=\\\"clear:both\\\"></div>\"+\"<input type=\\\"hidden\\\" class=\\\"slider-value\\\">\"+\"</div>\").insertAfter(_2);\nvar t=$(_2);\nt.addClass(\"slider-f\").hide();\nvar _4=t.attr(\"name\");\nif(_4){\n_3.find(\"input.slider-value\").attr(\"name\",_4);\nt.removeAttr(\"name\").attr(\"sliderName\",_4);\n}\n_3.bind(\"_resize\",function(e,_5){\nif($(this).hasClass(\"easyui-fluid\")||_5){\n_6(_2);\n}\nreturn false;\n});\nreturn _3;\n};\nfunction _6(_7,_8){\nvar _9=$.data(_7,\"slider\");\nvar _a=_9.options;\nvar _b=_9.slider;\nif(_8){\nif(_8.width){\n_a.width=_8.width;\n}\nif(_8.height){\n_a.height=_8.height;\n}\n}\n_b._size(_a);\nif(_a.mode==\"h\"){\n_b.css(\"height\",\"\");\n_b.children(\"div\").css(\"height\",\"\");\n}else{\n_b.css(\"width\",\"\");\n_b.children(\"div\").css(\"width\",\"\");\n_b.children(\"div.slider-rule,div.slider-rulelabel,div.slider-inner\")._outerHeight(_b._outerHeight());\n}\n_c(_7);\n};\nfunction _d(_e){\nvar _f=$.data(_e,\"slider\");\nvar _10=_f.options;\nvar _11=_f.slider;\nvar aa=_10.mode==\"h\"?_10.rule:_10.rule.slice(0).reverse();\nif(_10.reversed){\naa=aa.slice(0).reverse();\n}\n_12(aa);\nfunction _12(aa){\nvar _13=_11.find(\"div.slider-rule\");\nvar _14=_11.find(\"div.slider-rulelabel\");\n_13.empty();\n_14.empty();\nfor(var i=0;i<aa.length;i++){\nvar _15=i*100/(aa.length-1)+\"%\";\nvar _16=$(\"<span></span>\").appendTo(_13);\n_16.css((_10.mode==\"h\"?\"left\":\"top\"),_15);\nif(aa[i]!=\"|\"){\n_16=$(\"<span></span>\").appendTo(_14);\n_16.html(aa[i]);\nif(_10.mode==\"h\"){\n_16.css({left:_15,marginLeft:-Math.round(_16.outerWidth()/2)});\n}else{\n_16.css({top:_15,marginTop:-Math.round(_16.outerHeight()/2)});\n}\n}\n}\n};\n};\nfunction _17(_18){\nvar _19=$.data(_18,\"slider\");\nvar _1a=_19.options;\nvar _1b=_19.slider;\n_1b.removeClass(\"slider-h slider-v slider-disabled\");\n_1b.addClass(_1a.mode==\"h\"?\"slider-h\":\"slider-v\");\n_1b.addClass(_1a.disabled?\"slider-disabled\":\"\");\n_1b.find(\"a.slider-handle\").draggable({axis:_1a.mode,cursor:\"pointer\",disabled:_1a.disabled,onDrag:function(e){\nvar _1c=e.data.left;\nvar _1d=_1b.width();\nif(_1a.mode!=\"h\"){\n_1c=e.data.top;\n_1d=_1b.height();\n}\nif(_1c<0||_1c>_1d){\nreturn false;\n}else{\nvar _1e=_34(_18,_1c);\n_1f(_1e);\nreturn false;\n}\n},onBeforeDrag:function(){\n_19.isDragging=true;\n},onStartDrag:function(){\n_1a.onSlideStart.call(_18,_1a.value);\n},onStopDrag:function(e){\nvar _20=_34(_18,(_1a.mode==\"h\"?e.data.left:e.data.top));\n_1f(_20);\n_1a.onSlideEnd.call(_18,_1a.value);\n_1a.onComplete.call(_18,_1a.value);\n_19.isDragging=false;\n}});\n_1b.find(\"div.slider-inner\").unbind(\".slider\").bind(\"mousedown.slider\",function(e){\nif(_19.isDragging||_1a.disabled){\nreturn;\n}\nvar pos=$(this).offset();\nvar _21=_34(_18,(_1a.mode==\"h\"?(e.pageX-pos.left):(e.pageY-pos.top)));\n_1f(_21);\n_1a.onComplete.call(_18,_1a.value);\n});\nfunction _1f(_22){\nvar s=Math.abs(_22%_1a.step);\nif(s<_1a.step/2){\n_22-=s;\n}else{\n_22=_22-s+_1a.step;\n}\n_23(_18,_22);\n};\n};\nfunction _23(_24,_25){\nvar _26=$.data(_24,\"slider\");\nvar _27=_26.options;\nvar _28=_26.slider;\nvar _29=_27.value;\nif(_25<_27.min){\n_25=_27.min;\n}\nif(_25>_27.max){\n_25=_27.max;\n}\n_27.value=_25;\n$(_24).val(_25);\n_28.find(\"input.slider-value\").val(_25);\nvar pos=_2a(_24,_25);\nvar tip=_28.find(\".slider-tip\");\nif(_27.showTip){\ntip.show();\ntip.html(_27.tipFormatter.call(_24,_27.value));\n}else{\ntip.hide();\n}\nif(_27.mode==\"h\"){\nvar _2b=\"left:\"+pos+\"px;\";\n_28.find(\".slider-handle\").attr(\"style\",_2b);\ntip.attr(\"style\",_2b+\"margin-left:\"+(-Math.round(tip.outerWidth()/2))+\"px\");\n}else{\nvar _2b=\"top:\"+pos+\"px;\";\n_28.find(\".slider-handle\").attr(\"style\",_2b);\ntip.attr(\"style\",_2b+\"margin-left:\"+(-Math.round(tip.outerWidth()))+\"px\");\n}\nif(_29!=_25){\n_27.onChange.call(_24,_25,_29);\n}\n};\nfunction _c(_2c){\nvar _2d=$.data(_2c,\"slider\").options;\nvar fn=_2d.onChange;\n_2d.onChange=function(){\n};\n_23(_2c,_2d.value);\n_2d.onChange=fn;\n};\nfunction _2a(_2e,_2f){\nvar _30=$.data(_2e,\"slider\");\nvar _31=_30.options;\nvar _32=_30.slider;\nvar _33=_31.mode==\"h\"?_32.width():_32.height();\nvar pos=_31.converter.toPosition.call(_2e,_2f,_33);\nif(_31.mode==\"v\"){\npos=_32.height()-pos;\n}\nif(_31.reversed){\npos=_33-pos;\n}\nreturn pos.toFixed(0);\n};\nfunction _34(_35,pos){\nvar _36=$.data(_35,\"slider\");\nvar _37=_36.options;\nvar _38=_36.slider;\nvar _39=_37.mode==\"h\"?_38.width():_38.height();\nvar _3a=_37.converter.toValue.call(_35,_37.mode==\"h\"?(_37.reversed?(_39-pos):pos):(_39-pos),_39);\nreturn _3a.toFixed(0);\n};\n$.fn.slider=function(_3b,_3c){\nif(typeof _3b==\"string\"){\nreturn $.fn.slider.methods[_3b](this,_3c);\n}\n_3b=_3b||{};\nreturn this.each(function(){\nvar _3d=$.data(this,\"slider\");\nif(_3d){\n$.extend(_3d.options,_3b);\n}else{\n_3d=$.data(this,\"slider\",{options:$.extend({},$.fn.slider.defaults,$.fn.slider.parseOptions(this),_3b),slider:_1(this)});\n$(this).removeAttr(\"disabled\");\n}\nvar _3e=_3d.options;\n_3e.min=parseFloat(_3e.min);\n_3e.max=parseFloat(_3e.max);\n_3e.value=parseFloat(_3e.value);\n_3e.step=parseFloat(_3e.step);\n_3e.originalValue=_3e.value;\n_17(this);\n_d(this);\n_6(this);\n});\n};\n$.fn.slider.methods={options:function(jq){\nreturn $.data(jq[0],\"slider\").options;\n},destroy:function(jq){\nreturn jq.each(function(){\n$.data(this,\"slider\").slider.remove();\n$(this).remove();\n});\n},resize:function(jq,_3f){\nreturn jq.each(function(){\n_6(this,_3f);\n});\n},getValue:function(jq){\nreturn jq.slider(\"options\").value;\n},setValue:function(jq,_40){\nreturn jq.each(function(){\n_23(this,_40);\n});\n},clear:function(jq){\nreturn jq.each(function(){\nvar _41=$(this).slider(\"options\");\n_23(this,_41.min);\n});\n},reset:function(jq){\nreturn jq.each(function(){\nvar _42=$(this).slider(\"options\");\n_23(this,_42.originalValue);\n});\n},enable:function(jq){\nreturn jq.each(function(){\n$.data(this,\"slider\").options.disabled=false;\n_17(this);\n});\n},disable:function(jq){\nreturn jq.each(function(){\n$.data(this,\"slider\").options.disabled=true;\n_17(this);\n});\n}};\n$.fn.slider.parseOptions=function(_43){\nvar t=$(_43);\nreturn $.extend({},$.parser.parseOptions(_43,[\"width\",\"height\",\"mode\",{reversed:\"boolean\",showTip:\"boolean\",min:\"number\",max:\"number\",step:\"number\"}]),{value:(t.val()||undefined),disabled:(t.attr(\"disabled\")?true:undefined),rule:(t.attr(\"rule\")?eval(t.attr(\"rule\")):undefined)});\n};\n$.fn.slider.defaults={width:\"auto\",height:\"auto\",mode:\"h\",reversed:false,showTip:false,disabled:false,value:0,min:0,max:100,step:1,rule:[],tipFormatter:function(_44){\nreturn _44;\n},converter:{toPosition:function(_45,_46){\nvar _47=$(this).slider(\"options\");\nreturn (_45-_47.min)/(_47.max-_47.min)*_46;\n},toValue:function(pos,_48){\nvar _49=$(this).slider(\"options\");\nreturn _49.min+(_49.max-_49.min)*(pos/_48);\n}},onChange:function(_4a,_4b){\n},onSlideStart:function(_4c){\n},onSlideEnd:function(_4d){\n},onComplete:function(_4e){\n}};\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.spinner.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$.data(_2,\"spinner\");\nvar _4=_3.options;\nvar _5=$.extend(true,[],_4.icons);\n_5.push({iconCls:\"spinner-arrow\",handler:function(e){\n_6(e);\n}});\n$(_2).addClass(\"spinner-f\").textbox($.extend({},_4,{icons:_5}));\nvar _7=$(_2).textbox(\"getIcon\",_5.length-1);\n_7.append(\"<a href=\\\"javascript:void(0)\\\" class=\\\"spinner-arrow-up\\\" tabindex=\\\"-1\\\"></a>\");\n_7.append(\"<a href=\\\"javascript:void(0)\\\" class=\\\"spinner-arrow-down\\\" tabindex=\\\"-1\\\"></a>\");\n$(_2).attr(\"spinnerName\",$(_2).attr(\"textboxName\"));\n_3.spinner=$(_2).next();\n_3.spinner.addClass(\"spinner\");\n};\nfunction _6(e){\nvar _8=e.data.target;\nvar _9=$(_8).spinner(\"options\");\nvar up=$(e.target).closest(\"a.spinner-arrow-up\");\nif(up.length){\n_9.spin.call(_8,false);\n_9.onSpinUp.call(_8);\n$(_8).spinner(\"validate\");\n}\nvar _a=$(e.target).closest(\"a.spinner-arrow-down\");\nif(_a.length){\n_9.spin.call(_8,true);\n_9.onSpinDown.call(_8);\n$(_8).spinner(\"validate\");\n}\n};\n$.fn.spinner=function(_b,_c){\nif(typeof _b==\"string\"){\nvar _d=$.fn.spinner.methods[_b];\nif(_d){\nreturn _d(this,_c);\n}else{\nreturn this.textbox(_b,_c);\n}\n}\n_b=_b||{};\nreturn this.each(function(){\nvar _e=$.data(this,\"spinner\");\nif(_e){\n$.extend(_e.options,_b);\n}else{\n_e=$.data(this,\"spinner\",{options:$.extend({},$.fn.spinner.defaults,$.fn.spinner.parseOptions(this),_b)});\n}\n_1(this);\n});\n};\n$.fn.spinner.methods={options:function(jq){\nvar _f=jq.textbox(\"options\");\nreturn $.extend($.data(jq[0],\"spinner\").options,{width:_f.width,value:_f.value,originalValue:_f.originalValue,disabled:_f.disabled,readonly:_f.readonly});\n}};\n$.fn.spinner.parseOptions=function(_10){\nreturn $.extend({},$.fn.textbox.parseOptions(_10),$.parser.parseOptions(_10,[\"min\",\"max\",{increment:\"number\"}]));\n};\n$.fn.spinner.defaults=$.extend({},$.fn.textbox.defaults,{min:null,max:null,increment:1,spin:function(_11){\n},onSpinUp:function(){\n},onSpinDown:function(){\n}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.splitbutton.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$.data(_2,\"splitbutton\").options;\n$(_2).menubutton(_3);\n$(_2).addClass(\"s-btn\");\n};\n$.fn.splitbutton=function(_4,_5){\nif(typeof _4==\"string\"){\nvar _6=$.fn.splitbutton.methods[_4];\nif(_6){\nreturn _6(this,_5);\n}else{\nreturn this.menubutton(_4,_5);\n}\n}\n_4=_4||{};\nreturn this.each(function(){\nvar _7=$.data(this,\"splitbutton\");\nif(_7){\n$.extend(_7.options,_4);\n}else{\n$.data(this,\"splitbutton\",{options:$.extend({},$.fn.splitbutton.defaults,$.fn.splitbutton.parseOptions(this),_4)});\n$(this).removeAttr(\"disabled\");\n}\n_1(this);\n});\n};\n$.fn.splitbutton.methods={options:function(jq){\nvar _8=jq.menubutton(\"options\");\nvar _9=$.data(jq[0],\"splitbutton\").options;\n$.extend(_9,{disabled:_8.disabled,toggle:_8.toggle,selected:_8.selected});\nreturn _9;\n}};\n$.fn.splitbutton.parseOptions=function(_a){\nvar t=$(_a);\nreturn $.extend({},$.fn.linkbutton.parseOptions(_a),$.parser.parseOptions(_a,[\"menu\",{plain:\"boolean\",duration:\"number\"}]));\n};\n$.fn.splitbutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,menu:null,duration:100,cls:{btn1:\"m-btn-active s-btn-active\",btn2:\"m-btn-plain-active s-btn-plain-active\",arrow:\"m-btn-downarrow\",trigger:\"m-btn-line\"}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.tabs.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$.data(_2,\"tabs\").options;\nif(_3.tabPosition==\"left\"||_3.tabPosition==\"right\"||!_3.showHeader){\nreturn;\n}\nvar _4=$(_2).children(\"div.tabs-header\");\nvar _5=_4.children(\"div.tabs-tool\");\nvar _6=_4.children(\"div.tabs-scroller-left\");\nvar _7=_4.children(\"div.tabs-scroller-right\");\nvar _8=_4.children(\"div.tabs-wrap\");\nvar _9=_4.outerHeight();\nif(_3.plain){\n_9-=_9-_4.height();\n}\n_5._outerHeight(_9);\nvar _a=0;\n$(\"ul.tabs li\",_4).each(function(){\n_a+=$(this).outerWidth(true);\n});\nvar _b=_4.width()-_5._outerWidth();\nif(_a>_b){\n_6.add(_7).show()._outerHeight(_9);\nif(_3.toolPosition==\"left\"){\n_5.css({left:_6.outerWidth(),right:\"\"});\n_8.css({marginLeft:_6.outerWidth()+_5._outerWidth(),marginRight:_7._outerWidth(),width:_b-_6.outerWidth()-_7.outerWidth()});\n}else{\n_5.css({left:\"\",right:_7.outerWidth()});\n_8.css({marginLeft:_6.outerWidth(),marginRight:_7.outerWidth()+_5._outerWidth(),width:_b-_6.outerWidth()-_7.outerWidth()});\n}\n}else{\n_6.add(_7).hide();\nif(_3.toolPosition==\"left\"){\n_5.css({left:0,right:\"\"});\n_8.css({marginLeft:_5._outerWidth(),marginRight:0,width:_b});\n}else{\n_5.css({left:\"\",right:0});\n_8.css({marginLeft:0,marginRight:_5._outerWidth(),width:_b});\n}\n}\n};\nfunction _c(_d){\nvar _e=$.data(_d,\"tabs\").options;\nvar _f=$(_d).children(\"div.tabs-header\");\nif(_e.tools){\nif(typeof _e.tools==\"string\"){\n$(_e.tools).addClass(\"tabs-tool\").appendTo(_f);\n$(_e.tools).show();\n}else{\n_f.children(\"div.tabs-tool\").remove();\nvar _10=$(\"<div class=\\\"tabs-tool\\\"><table cellspacing=\\\"0\\\" cellpadding=\\\"0\\\" style=\\\"height:100%\\\"><tr></tr></table></div>\").appendTo(_f);\nvar tr=_10.find(\"tr\");\nfor(var i=0;i<_e.tools.length;i++){\nvar td=$(\"<td></td>\").appendTo(tr);\nvar _11=$(\"<a href=\\\"javascript:void(0);\\\"></a>\").appendTo(td);\n_11[0].onclick=eval(_e.tools[i].handler||function(){\n});\n_11.linkbutton($.extend({},_e.tools[i],{plain:true}));\n}\n}\n}else{\n_f.children(\"div.tabs-tool\").remove();\n}\n};\nfunction _12(_13,_14){\nvar _15=$.data(_13,\"tabs\");\nvar _16=_15.options;\nvar cc=$(_13);\nif(_14){\n$.extend(_16,{width:_14.width,height:_14.height});\n}\ncc._size(_16);\nvar _17=cc.children(\"div.tabs-header\");\nvar _18=cc.children(\"div.tabs-panels\");\nvar _19=_17.find(\"div.tabs-wrap\");\nvar ul=_19.find(\".tabs\");\nfor(var i=0;i<_15.tabs.length;i++){\nvar _1a=_15.tabs[i].panel(\"options\");\nvar p_t=_1a.tab.find(\"a.tabs-inner\");\nvar _1b=parseInt(_1a.tabWidth||_16.tabWidth)||undefined;\nif(_1b){\np_t._outerWidth(_1b);\n}else{\np_t.css(\"width\",\"\");\n}\np_t._outerHeight(_16.tabHeight);\np_t.css(\"lineHeight\",p_t.height()+\"px\");\n}\nif(_16.tabPosition==\"left\"||_16.tabPosition==\"right\"){\n_17._outerWidth(_16.showHeader?_16.headerWidth:0);\n_18._outerWidth(cc.width()-_17.outerWidth());\n_17.add(_18)._outerHeight(_16.height);\n_19._outerWidth(_17.width());\nul._outerWidth(_19.width()).css(\"height\",\"\");\n}else{\nvar lrt=_17.children(\"div.tabs-scroller-left,div.tabs-scroller-right,div.tabs-tool\");\n_17._outerWidth(_16.width).css(\"height\",\"\");\nif(_16.showHeader){\n_17.css(\"background-color\",\"\");\n_19.css(\"height\",\"\");\nlrt.show();\n}else{\n_17.css(\"background-color\",\"transparent\");\n_17._outerHeight(0);\n_19._outerHeight(0);\nlrt.hide();\n}\nul._outerHeight(_16.tabHeight).css(\"width\",\"\");\n_1(_13);\n_18._size(\"height\",isNaN(_16.height)?\"\":(_16.height-_17.outerHeight()));\n_18._size(\"width\",isNaN(_16.width)?\"\":_16.width);\n}\n};\nfunction _1c(_1d){\nvar _1e=$.data(_1d,\"tabs\").options;\nvar tab=_1f(_1d);\nif(tab){\nvar _20=$(_1d).children(\"div.tabs-panels\");\nvar _21=_1e.width==\"auto\"?\"auto\":_20.width();\nvar _22=_1e.height==\"auto\"?\"auto\":_20.height();\ntab.panel(\"resize\",{width:_21,height:_22});\n}\n};\nfunction _23(_24){\nvar _25=$.data(_24,\"tabs\").tabs;\nvar cc=$(_24);\ncc.addClass(\"tabs-container\");\nvar pp=$(\"<div class=\\\"tabs-panels\\\"></div>\").insertBefore(cc);\ncc.children(\"div\").each(function(){\npp[0].appendChild(this);\n});\ncc[0].appendChild(pp[0]);\n$(\"<div class=\\\"tabs-header\\\">\"+\"<div class=\\\"tabs-scroller-left\\\"></div>\"+\"<div class=\\\"tabs-scroller-right\\\"></div>\"+\"<div class=\\\"tabs-wrap\\\">\"+\"<ul class=\\\"tabs\\\"></ul>\"+\"</div>\"+\"</div>\").prependTo(_24);\ncc.children(\"div.tabs-panels\").children(\"div\").each(function(i){\nvar _26=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr(\"selected\")?true:undefined)});\nvar pp=$(this);\n_25.push(pp);\n_35(_24,pp,_26);\n});\ncc.children(\"div.tabs-header\").find(\".tabs-scroller-left, .tabs-scroller-right\").hover(function(){\n$(this).addClass(\"tabs-scroller-over\");\n},function(){\n$(this).removeClass(\"tabs-scroller-over\");\n});\ncc.bind(\"_resize\",function(e,_27){\nif($(this).hasClass(\"easyui-fluid\")||_27){\n_12(_24);\n_1c(_24);\n}\nreturn false;\n});\n};\nfunction _28(_29){\nvar _2a=$.data(_29,\"tabs\");\nvar _2b=_2a.options;\n$(_29).children(\"div.tabs-header\").unbind().bind(\"click\",function(e){\nif($(e.target).hasClass(\"tabs-scroller-left\")){\n$(_29).tabs(\"scrollBy\",-_2b.scrollIncrement);\n}else{\nif($(e.target).hasClass(\"tabs-scroller-right\")){\n$(_29).tabs(\"scrollBy\",_2b.scrollIncrement);\n}else{\nvar li=$(e.target).closest(\"li\");\nif(li.hasClass(\"tabs-disabled\")){\nreturn;\n}\nvar a=$(e.target).closest(\"a.tabs-close\");\nif(a.length){\n_4c(_29,_2c(li));\n}else{\nif(li.length){\nvar _2d=_2c(li);\nvar _2e=_2a.tabs[_2d].panel(\"options\");\nif(_2e.collapsible){\n_2e.closed?_41(_29,_2d):_6b(_29,_2d);\n}else{\n_41(_29,_2d);\n}\n}\n}\n}\n}\n}).bind(\"contextmenu\",function(e){\nvar li=$(e.target).closest(\"li\");\nif(li.hasClass(\"tabs-disabled\")){\nreturn;\n}\nif(li.length){\n_2b.onContextMenu.call(_29,e,li.find(\"span.tabs-title\").html(),_2c(li));\n}\n});\nfunction _2c(li){\nvar _2f=0;\nli.parent().children(\"li\").each(function(i){\nif(li[0]==this){\n_2f=i;\nreturn false;\n}\n});\nreturn _2f;\n};\n};\nfunction _30(_31){\nvar _32=$.data(_31,\"tabs\").options;\nvar _33=$(_31).children(\"div.tabs-header\");\nvar _34=$(_31).children(\"div.tabs-panels\");\n_33.removeClass(\"tabs-header-top tabs-header-bottom tabs-header-left tabs-header-right\");\n_34.removeClass(\"tabs-panels-top tabs-panels-bottom tabs-panels-left tabs-panels-right\");\nif(_32.tabPosition==\"top\"){\n_33.insertBefore(_34);\n}else{\nif(_32.tabPosition==\"bottom\"){\n_33.insertAfter(_34);\n_33.addClass(\"tabs-header-bottom\");\n_34.addClass(\"tabs-panels-top\");\n}else{\nif(_32.tabPosition==\"left\"){\n_33.addClass(\"tabs-header-left\");\n_34.addClass(\"tabs-panels-right\");\n}else{\nif(_32.tabPosition==\"right\"){\n_33.addClass(\"tabs-header-right\");\n_34.addClass(\"tabs-panels-left\");\n}\n}\n}\n}\nif(_32.plain==true){\n_33.addClass(\"tabs-header-plain\");\n}else{\n_33.removeClass(\"tabs-header-plain\");\n}\nif(_32.border==true){\n_33.removeClass(\"tabs-header-noborder\");\n_34.removeClass(\"tabs-panels-noborder\");\n}else{\n_33.addClass(\"tabs-header-noborder\");\n_34.addClass(\"tabs-panels-noborder\");\n}\n};\nfunction _35(_36,pp,_37){\nvar _38=$.data(_36,\"tabs\");\n_37=_37||{};\npp.panel($.extend({},_37,{border:false,noheader:true,closed:true,doSize:false,iconCls:(_37.icon?_37.icon:undefined),onLoad:function(){\nif(_37.onLoad){\n_37.onLoad.call(this,arguments);\n}\n_38.options.onLoad.call(_36,$(this));\n}}));\nvar _39=pp.panel(\"options\");\nvar _3a=$(_36).children(\"div.tabs-header\").find(\"ul.tabs\");\n_39.tab=$(\"<li></li>\").appendTo(_3a);\n_39.tab.append(\"<a href=\\\"javascript:void(0)\\\" class=\\\"tabs-inner\\\">\"+\"<span class=\\\"tabs-title\\\"></span>\"+\"<span class=\\\"tabs-icon\\\"></span>\"+\"</a>\");\n$(_36).tabs(\"update\",{tab:pp,options:_39,type:\"header\"});\n};\nfunction _3b(_3c,_3d){\nvar _3e=$.data(_3c,\"tabs\");\nvar _3f=_3e.options;\nvar _40=_3e.tabs;\nif(_3d.selected==undefined){\n_3d.selected=true;\n}\nvar pp=$(\"<div></div>\").appendTo($(_3c).children(\"div.tabs-panels\"));\n_40.push(pp);\n_35(_3c,pp,_3d);\n_3f.onAdd.call(_3c,_3d.title,_40.length-1);\n_12(_3c);\nif(_3d.selected){\n_41(_3c,_40.length-1);\n}\n};\nfunction _42(_43,_44){\n_44.type=_44.type||\"all\";\nvar _45=$.data(_43,\"tabs\").selectHis;\nvar pp=_44.tab;\nvar _46=pp.panel(\"options\").title;\nif(_44.type==\"all\"||_44==\"body\"){\npp.panel($.extend({},_44.options,{iconCls:(_44.options.icon?_44.options.icon:undefined)}));\n}\nif(_44.type==\"all\"||_44.type==\"header\"){\nvar _47=pp.panel(\"options\");\nvar tab=_47.tab;\nvar _48=tab.find(\"span.tabs-title\");\nvar _49=tab.find(\"span.tabs-icon\");\n_48.html(_47.title);\n_49.attr(\"class\",\"tabs-icon\");\ntab.find(\"a.tabs-close\").remove();\nif(_47.closable){\n_48.addClass(\"tabs-closable\");\n$(\"<a href=\\\"javascript:void(0)\\\" class=\\\"tabs-close\\\"></a>\").appendTo(tab);\n}else{\n_48.removeClass(\"tabs-closable\");\n}\nif(_47.iconCls){\n_48.addClass(\"tabs-with-icon\");\n_49.addClass(_47.iconCls);\n}else{\n_48.removeClass(\"tabs-with-icon\");\n}\nif(_46!=_47.title){\nfor(var i=0;i<_45.length;i++){\nif(_45[i]==_46){\n_45[i]=_47.title;\n}\n}\n}\ntab.find(\"span.tabs-p-tool\").remove();\nif(_47.tools){\nvar _4a=$(\"<span class=\\\"tabs-p-tool\\\"></span>\").insertAfter(tab.find(\"a.tabs-inner\"));\nif($.isArray(_47.tools)){\nfor(var i=0;i<_47.tools.length;i++){\nvar t=$(\"<a href=\\\"javascript:void(0)\\\"></a>\").appendTo(_4a);\nt.addClass(_47.tools[i].iconCls);\nif(_47.tools[i].handler){\nt.bind(\"click\",{handler:_47.tools[i].handler},function(e){\nif($(this).parents(\"li\").hasClass(\"tabs-disabled\")){\nreturn;\n}\ne.data.handler.call(this);\n});\n}\n}\n}else{\n$(_47.tools).children().appendTo(_4a);\n}\nvar pr=_4a.children().length*12;\nif(_47.closable){\npr+=8;\n}else{\npr-=3;\n_4a.css(\"right\",\"5px\");\n}\n_48.css(\"padding-right\",pr+\"px\");\n}\n}\n_12(_43);\n$.data(_43,\"tabs\").options.onUpdate.call(_43,_47.title,_4b(_43,pp));\n};\nfunction _4c(_4d,_4e){\nvar _4f=$.data(_4d,\"tabs\").options;\nvar _50=$.data(_4d,\"tabs\").tabs;\nvar _51=$.data(_4d,\"tabs\").selectHis;\nif(!_52(_4d,_4e)){\nreturn;\n}\nvar tab=_53(_4d,_4e);\nvar _54=tab.panel(\"options\").title;\nvar _55=_4b(_4d,tab);\nif(_4f.onBeforeClose.call(_4d,_54,_55)==false){\nreturn;\n}\nvar tab=_53(_4d,_4e,true);\ntab.panel(\"options\").tab.remove();\ntab.panel(\"destroy\");\n_4f.onClose.call(_4d,_54,_55);\n_12(_4d);\nfor(var i=0;i<_51.length;i++){\nif(_51[i]==_54){\n_51.splice(i,1);\ni--;\n}\n}\nvar _56=_51.pop();\nif(_56){\n_41(_4d,_56);\n}else{\nif(_50.length){\n_41(_4d,0);\n}\n}\n};\nfunction _53(_57,_58,_59){\nvar _5a=$.data(_57,\"tabs\").tabs;\nif(typeof _58==\"number\"){\nif(_58<0||_58>=_5a.length){\nreturn null;\n}else{\nvar tab=_5a[_58];\nif(_59){\n_5a.splice(_58,1);\n}\nreturn tab;\n}\n}\nfor(var i=0;i<_5a.length;i++){\nvar tab=_5a[i];\nif(tab.panel(\"options\").title==_58){\nif(_59){\n_5a.splice(i,1);\n}\nreturn tab;\n}\n}\nreturn null;\n};\nfunction _4b(_5b,tab){\nvar _5c=$.data(_5b,\"tabs\").tabs;\nfor(var i=0;i<_5c.length;i++){\nif(_5c[i][0]==$(tab)[0]){\nreturn i;\n}\n}\nreturn -1;\n};\nfunction _1f(_5d){\nvar _5e=$.data(_5d,\"tabs\").tabs;\nfor(var i=0;i<_5e.length;i++){\nvar tab=_5e[i];\nif(tab.panel(\"options\").closed==false){\nreturn tab;\n}\n}\nreturn null;\n};\nfunction _5f(_60){\nvar _61=$.data(_60,\"tabs\");\nvar _62=_61.tabs;\nfor(var i=0;i<_62.length;i++){\nif(_62[i].panel(\"options\").selected){\n_41(_60,i);\nreturn;\n}\n}\n_41(_60,_61.options.selected);\n};\nfunction _41(_63,_64){\nvar _65=$.data(_63,\"tabs\");\nvar _66=_65.options;\nvar _67=_65.tabs;\nvar _68=_65.selectHis;\nif(_67.length==0){\nreturn;\n}\nvar _69=_53(_63,_64);\nif(!_69){\nreturn;\n}\nvar _6a=_1f(_63);\nif(_6a){\nif(_69[0]==_6a[0]){\n_1c(_63);\nreturn;\n}\n_6b(_63,_4b(_63,_6a));\nif(!_6a.panel(\"options\").closed){\nreturn;\n}\n}\n_69.panel(\"open\");\nvar _6c=_69.panel(\"options\").title;\n_68.push(_6c);\nvar tab=_69.panel(\"options\").tab;\ntab.addClass(\"tabs-selected\");\nvar _6d=$(_63).find(\">div.tabs-header>div.tabs-wrap\");\nvar _6e=tab.position().left;\nvar _6f=_6e+tab.outerWidth();\nif(_6e<0||_6f>_6d.width()){\nvar _70=_6e-(_6d.width()-tab.width())/2;\n$(_63).tabs(\"scrollBy\",_70);\n}else{\n$(_63).tabs(\"scrollBy\",0);\n}\n_1c(_63);\n_66.onSelect.call(_63,_6c,_4b(_63,_69));\n};\nfunction _6b(_71,_72){\nvar _73=$.data(_71,\"tabs\");\nvar p=_53(_71,_72);\nif(p){\nvar _74=p.panel(\"options\");\nif(!_74.closed){\np.panel(\"close\");\nif(_74.closed){\n_74.tab.removeClass(\"tabs-selected\");\n_73.options.onUnselect.call(_71,_74.title,_4b(_71,p));\n}\n}\n}\n};\nfunction _52(_75,_76){\nreturn _53(_75,_76)!=null;\n};\nfunction _77(_78,_79){\nvar _7a=$.data(_78,\"tabs\").options;\n_7a.showHeader=_79;\n$(_78).tabs(\"resize\");\n};\n$.fn.tabs=function(_7b,_7c){\nif(typeof _7b==\"string\"){\nreturn $.fn.tabs.methods[_7b](this,_7c);\n}\n_7b=_7b||{};\nreturn this.each(function(){\nvar _7d=$.data(this,\"tabs\");\nif(_7d){\n$.extend(_7d.options,_7b);\n}else{\n$.data(this,\"tabs\",{options:$.extend({},$.fn.tabs.defaults,$.fn.tabs.parseOptions(this),_7b),tabs:[],selectHis:[]});\n_23(this);\n}\n_c(this);\n_30(this);\n_12(this);\n_28(this);\n_5f(this);\n});\n};\n$.fn.tabs.methods={options:function(jq){\nvar cc=jq[0];\nvar _7e=$.data(cc,\"tabs\").options;\nvar s=_1f(cc);\n_7e.selected=s?_4b(cc,s):-1;\nreturn _7e;\n},tabs:function(jq){\nreturn $.data(jq[0],\"tabs\").tabs;\n},resize:function(jq,_7f){\nreturn jq.each(function(){\n_12(this,_7f);\n_1c(this);\n});\n},add:function(jq,_80){\nreturn jq.each(function(){\n_3b(this,_80);\n});\n},close:function(jq,_81){\nreturn jq.each(function(){\n_4c(this,_81);\n});\n},getTab:function(jq,_82){\nreturn _53(jq[0],_82);\n},getTabIndex:function(jq,tab){\nreturn _4b(jq[0],tab);\n},getSelected:function(jq){\nreturn _1f(jq[0]);\n},select:function(jq,_83){\nreturn jq.each(function(){\n_41(this,_83);\n});\n},unselect:function(jq,_84){\nreturn jq.each(function(){\n_6b(this,_84);\n});\n},exists:function(jq,_85){\nreturn _52(jq[0],_85);\n},update:function(jq,_86){\nreturn jq.each(function(){\n_42(this,_86);\n});\n},enableTab:function(jq,_87){\nreturn jq.each(function(){\n$(this).tabs(\"getTab\",_87).panel(\"options\").tab.removeClass(\"tabs-disabled\");\n});\n},disableTab:function(jq,_88){\nreturn jq.each(function(){\n$(this).tabs(\"getTab\",_88).panel(\"options\").tab.addClass(\"tabs-disabled\");\n});\n},showHeader:function(jq){\nreturn jq.each(function(){\n_77(this,true);\n});\n},hideHeader:function(jq){\nreturn jq.each(function(){\n_77(this,false);\n});\n},scrollBy:function(jq,_89){\nreturn jq.each(function(){\nvar _8a=$(this).tabs(\"options\");\nvar _8b=$(this).find(\">div.tabs-header>div.tabs-wrap\");\nvar pos=Math.min(_8b._scrollLeft()+_89,_8c());\n_8b.animate({scrollLeft:pos},_8a.scrollDuration);\nfunction _8c(){\nvar w=0;\nvar ul=_8b.children(\"ul\");\nul.children(\"li\").each(function(){\nw+=$(this).outerWidth(true);\n});\nreturn w-_8b.width()+(ul.outerWidth()-ul.width());\n};\n});\n}};\n$.fn.tabs.parseOptions=function(_8d){\nreturn $.extend({},$.parser.parseOptions(_8d,[\"tools\",\"toolPosition\",\"tabPosition\",{fit:\"boolean\",border:\"boolean\",plain:\"boolean\",headerWidth:\"number\",tabWidth:\"number\",tabHeight:\"number\",selected:\"number\",showHeader:\"boolean\"}]));\n};\n$.fn.tabs.defaults={width:\"auto\",height:\"auto\",headerWidth:150,tabWidth:\"auto\",tabHeight:27,selected:0,showHeader:true,plain:false,fit:false,border:true,tools:null,toolPosition:\"right\",tabPosition:\"top\",scrollIncrement:100,scrollDuration:400,onLoad:function(_8e){\n},onSelect:function(_8f,_90){\n},onUnselect:function(_91,_92){\n},onBeforeClose:function(_93,_94){\n},onClose:function(_95,_96){\n},onAdd:function(_97,_98){\n},onUpdate:function(_99,_9a){\n},onContextMenu:function(e,_9b,_9c){\n}};\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.textbox.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\n$(_2).addClass(\"textbox-f\").hide();\nvar _3=$(\"<span class=\\\"textbox\\\">\"+\"<input class=\\\"textbox-text\\\" autocomplete=\\\"off\\\">\"+\"<input type=\\\"hidden\\\" class=\\\"textbox-value\\\">\"+\"</span>\").insertAfter(_2);\nvar _4=$(_2).attr(\"name\");\nif(_4){\n_3.find(\"input.textbox-value\").attr(\"name\",_4);\n$(_2).removeAttr(\"name\").attr(\"textboxName\",_4);\n}\nreturn _3;\n};\nfunction _5(_6){\nvar _7=$.data(_6,\"textbox\");\nvar _8=_7.options;\nvar tb=_7.textbox;\ntb.find(\".textbox-text\").remove();\nif(_8.multiline){\n$(\"<textarea class=\\\"textbox-text\\\" autocomplete=\\\"off\\\"></textarea>\").prependTo(tb);\n}else{\n$(\"<input type=\\\"\"+_8.type+\"\\\" class=\\\"textbox-text\\\" autocomplete=\\\"off\\\">\").prependTo(tb);\n}\ntb.find(\".textbox-addon\").remove();\nvar bb=_8.icons?$.extend(true,[],_8.icons):[];\nif(_8.iconCls){\nbb.push({iconCls:_8.iconCls,disabled:true});\n}\nif(bb.length){\nvar bc=$(\"<span class=\\\"textbox-addon\\\"></span>\").prependTo(tb);\nbc.addClass(\"textbox-addon-\"+_8.iconAlign);\nfor(var i=0;i<bb.length;i++){\nbc.append(\"<a href=\\\"javascript:void(0)\\\" class=\\\"textbox-icon \"+bb[i].iconCls+\"\\\" icon-index=\\\"\"+i+\"\\\" tabindex=\\\"-1\\\"></a>\");\n}\n}\ntb.find(\".textbox-button\").remove();\nif(_8.buttonText||_8.buttonIcon){\nvar _9=$(\"<a href=\\\"javascript:void(0)\\\" class=\\\"textbox-button\\\"></a>\").prependTo(tb);\n_9.addClass(\"textbox-button-\"+_8.buttonAlign).linkbutton({text:_8.buttonText,iconCls:_8.buttonIcon});\n}\n_a(_6,_8.disabled);\n_b(_6,_8.readonly);\n};\nfunction _c(_d){\nvar tb=$.data(_d,\"textbox\").textbox;\ntb.find(\".textbox-text\").validatebox(\"destroy\");\ntb.remove();\n$(_d).remove();\n};\nfunction _e(_f,_10){\nvar _11=$.data(_f,\"textbox\");\nvar _12=_11.options;\nvar tb=_11.textbox;\nvar _13=tb.parent();\nif(_10){\n_12.width=_10;\n}\nif(isNaN(parseInt(_12.width))){\nvar c=$(_f).clone();\nc.css(\"visibility\",\"hidden\");\nc.insertAfter(_f);\n_12.width=c.outerWidth();\nc.remove();\n}\ntb.appendTo(\"body\");\nvar _14=tb.find(\".textbox-text\");\nvar btn=tb.find(\".textbox-button\");\nvar _15=tb.find(\".textbox-addon\");\nvar _16=_15.find(\".textbox-icon\");\ntb._size(_12,_13);\nbtn.linkbutton(\"resize\",{height:tb.height()});\nbtn.css({left:(_12.buttonAlign==\"left\"?0:\"\"),right:(_12.buttonAlign==\"right\"?0:\"\")});\n_15.css({left:(_12.iconAlign==\"left\"?(_12.buttonAlign==\"left\"?btn._outerWidth():0):\"\"),right:(_12.iconAlign==\"right\"?(_12.buttonAlign==\"right\"?btn._outerWidth():0):\"\")});\n_16.css({width:_12.iconWidth+\"px\",height:tb.height()+\"px\"});\n_14.css({paddingLeft:(_f.style.paddingLeft||\"\"),paddingRight:(_f.style.paddingRight||\"\"),marginLeft:_17(\"left\"),marginRight:_17(\"right\")});\nif(_12.multiline){\n_14.css({paddingTop:(_f.style.paddingTop||\"\"),paddingBottom:(_f.style.paddingBottom||\"\")});\n_14._outerHeight(tb.height());\n}else{\nvar _18=Math.floor((tb.height()-_14.height())/2);\n_14.css({paddingTop:_18+\"px\",paddingBottom:_18+\"px\"});\n}\n_14._outerWidth(tb.width()-_16.length*_12.iconWidth-btn._outerWidth());\ntb.insertAfter(_f);\n_12.onResize.call(_f,_12.width,_12.height);\nfunction _17(_19){\nreturn (_12.iconAlign==_19?_15._outerWidth():0)+(_12.buttonAlign==_19?btn._outerWidth():0);\n};\n};\nfunction _1a(_1b){\nvar _1c=$(_1b).textbox(\"options\");\nvar _1d=$(_1b).textbox(\"textbox\");\n_1d.validatebox($.extend({},_1c,{deltaX:$(_1b).textbox(\"getTipX\"),onBeforeValidate:function(){\nvar box=$(this);\nif(!box.is(\":focus\")){\n_1c.oldInputValue=box.val();\nbox.val(_1c.value);\n}\n},onValidate:function(_1e){\nvar box=$(this);\nif(_1c.oldInputValue!=undefined){\nbox.val(_1c.oldInputValue);\n_1c.oldInputValue=undefined;\n}\nvar tb=box.parent();\nif(_1e){\ntb.removeClass(\"textbox-invalid\");\n}else{\ntb.addClass(\"textbox-invalid\");\n}\n}}));\n};\nfunction _1f(_20){\nvar _21=$.data(_20,\"textbox\");\nvar _22=_21.options;\nvar tb=_21.textbox;\nvar _23=tb.find(\".textbox-text\");\n_23.attr(\"placeholder\",_22.prompt);\n_23.unbind(\".textbox\");\nif(!_22.disabled&&!_22.readonly){\n_23.bind(\"blur.textbox\",function(e){\nif(!tb.hasClass(\"textbox-focused\")){\nreturn;\n}\n_22.value=$(this).val();\nif(_22.value==\"\"){\n$(this).val(_22.prompt).addClass(\"textbox-prompt\");\n}else{\n$(this).removeClass(\"textbox-prompt\");\n}\ntb.removeClass(\"textbox-focused\");\n}).bind(\"focus.textbox\",function(e){\nif(tb.hasClass(\"textbox-focused\")){\nreturn;\n}\nif($(this).val()!=_22.value){\n$(this).val(_22.value);\n}\n$(this).removeClass(\"textbox-prompt\");\ntb.addClass(\"textbox-focused\");\n});\nfor(var _24 in _22.inputEvents){\n_23.bind(_24+\".textbox\",{target:_20},_22.inputEvents[_24]);\n}\n}\nvar _25=tb.find(\".textbox-addon\");\n_25.unbind().bind(\"click\",{target:_20},function(e){\nvar _26=$(e.target).closest(\"a.textbox-icon:not(.textbox-icon-disabled)\");\nif(_26.length){\nvar _27=parseInt(_26.attr(\"icon-index\"));\nvar _28=_22.icons[_27];\nif(_28&&_28.handler){\n_28.handler.call(_26[0],e);\n_22.onClickIcon.call(_20,_27);\n}\n}\n});\n_25.find(\".textbox-icon\").each(function(_29){\nvar _2a=_22.icons[_29];\nvar _2b=$(this);\nif(!_2a||_2a.disabled||_22.disabled||_22.readonly){\n_2b.addClass(\"textbox-icon-disabled\");\n}else{\n_2b.removeClass(\"textbox-icon-disabled\");\n}\n});\nvar btn=tb.find(\".textbox-button\");\nbtn.unbind(\".textbox\").bind(\"click.textbox\",function(){\nif(!btn.linkbutton(\"options\").disabled){\n_22.onClickButton.call(_20);\n}\n});\nbtn.linkbutton((_22.disabled||_22.readonly)?\"disable\":\"enable\");\ntb.unbind(\".textbox\").bind(\"_resize.textbox\",function(e,_2c){\nif($(this).hasClass(\"easyui-fluid\")||_2c){\n_e(_20);\n}\nreturn false;\n});\n};\nfunction _a(_2d,_2e){\nvar _2f=$.data(_2d,\"textbox\");\nvar _30=_2f.options;\nvar tb=_2f.textbox;\nif(_2e){\n_30.disabled=true;\n$(_2d).attr(\"disabled\",\"disabled\");\ntb.find(\".textbox-text,.textbox-value\").attr(\"disabled\",\"disabled\");\n}else{\n_30.disabled=false;\n$(_2d).removeAttr(\"disabled\");\ntb.find(\".textbox-text,.textbox-value\").removeAttr(\"disabled\");\n}\n};\nfunction _b(_31,_32){\nvar _33=$.data(_31,\"textbox\");\nvar _34=_33.options;\n_34.readonly=_32==undefined?true:_32;\nvar _35=_33.textbox.find(\".textbox-text\");\n_35.removeAttr(\"readonly\").removeClass(\"textbox-text-readonly\");\nif(_34.readonly||!_34.editable){\n_35.attr(\"readonly\",\"readonly\").addClass(\"textbox-text-readonly\");\n}\n};\n$.fn.textbox=function(_36,_37){\nif(typeof _36==\"string\"){\nvar _38=$.fn.textbox.methods[_36];\nif(_38){\nreturn _38(this,_37);\n}else{\nreturn this.each(function(){\nvar _39=$(this).textbox(\"textbox\");\n_39.validatebox(_36,_37);\n});\n}\n}\n_36=_36||{};\nreturn this.each(function(){\nvar _3a=$.data(this,\"textbox\");\nif(_3a){\n$.extend(_3a.options,_36);\nif(_36.value!=undefined){\n_3a.options.originalValue=_36.value;\n}\n}else{\n_3a=$.data(this,\"textbox\",{options:$.extend({},$.fn.textbox.defaults,$.fn.textbox.parseOptions(this),_36),textbox:_1(this)});\n_3a.options.originalValue=_3a.options.value;\n}\n_5(this);\n_1f(this);\n_e(this);\n_1a(this);\n$(this).textbox(\"initValue\",_3a.options.value);\n});\n};\n$.fn.textbox.methods={options:function(jq){\nreturn $.data(jq[0],\"textbox\").options;\n},cloneFrom:function(jq,_3b){\nreturn jq.each(function(){\nvar t=$(this);\nif(t.data(\"textbox\")){\nreturn;\n}\nif(!$(_3b).data(\"textbox\")){\n$(_3b).textbox();\n}\nvar _3c=t.attr(\"name\")||\"\";\nt.addClass(\"textbox-f\").hide();\nt.removeAttr(\"name\").attr(\"textboxName\",_3c);\nvar _3d=$(_3b).next().clone().insertAfter(t);\n_3d.find(\"input.textbox-value\").attr(\"name\",_3c);\n$.data(this,\"textbox\",{options:$.extend(true,{},$(_3b).textbox(\"options\")),textbox:_3d});\nvar _3e=$(_3b).textbox(\"button\");\nif(_3e.length){\nt.textbox(\"button\").linkbutton($.extend(true,{},_3e.linkbutton(\"options\")));\n}\n_1f(this);\n_1a(this);\n});\n},textbox:function(jq){\nreturn $.data(jq[0],\"textbox\").textbox.find(\".textbox-text\");\n},button:function(jq){\nreturn $.data(jq[0],\"textbox\").textbox.find(\".textbox-button\");\n},destroy:function(jq){\nreturn jq.each(function(){\n_c(this);\n});\n},resize:function(jq,_3f){\nreturn jq.each(function(){\n_e(this,_3f);\n});\n},disable:function(jq){\nreturn jq.each(function(){\n_a(this,true);\n_1f(this);\n});\n},enable:function(jq){\nreturn jq.each(function(){\n_a(this,false);\n_1f(this);\n});\n},readonly:function(jq,_40){\nreturn jq.each(function(){\n_b(this,_40);\n_1f(this);\n});\n},isValid:function(jq){\nreturn jq.textbox(\"textbox\").validatebox(\"isValid\");\n},clear:function(jq){\nreturn jq.each(function(){\n$(this).textbox(\"setValue\",\"\");\n});\n},setText:function(jq,_41){\nreturn jq.each(function(){\nvar _42=$(this).textbox(\"options\");\nvar _43=$(this).textbox(\"textbox\");\nif($(this).textbox(\"getText\")!=_41){\n_42.value=_41;\n_43.val(_41);\n}\nif(!_43.is(\":focus\")){\nif(_41){\n_43.removeClass(\"textbox-prompt\");\n}else{\n_43.val(_42.prompt).addClass(\"textbox-prompt\");\n}\n}\n$(this).textbox(\"validate\");\n});\n},initValue:function(jq,_44){\nreturn jq.each(function(){\nvar _45=$.data(this,\"textbox\");\n_45.options.value=\"\";\n$(this).textbox(\"setText\",_44);\n_45.textbox.find(\".textbox-value\").val(_44);\n$(this).val(_44);\n});\n},setValue:function(jq,_46){\nreturn jq.each(function(){\nvar _47=$.data(this,\"textbox\").options;\nvar _48=$(this).textbox(\"getValue\");\n$(this).textbox(\"initValue\",_46);\nif(_48!=_46){\n_47.onChange.call(this,_46,_48);\n}\n});\n},getText:function(jq){\nvar _49=jq.textbox(\"textbox\");\nif(_49.is(\":focus\")){\nreturn _49.val();\n}else{\nreturn jq.textbox(\"options\").value;\n}\n},getValue:function(jq){\nreturn jq.data(\"textbox\").textbox.find(\".textbox-value\").val();\n},reset:function(jq){\nreturn jq.each(function(){\nvar _4a=$(this).textbox(\"options\");\n$(this).textbox(\"setValue\",_4a.originalValue);\n});\n},getIcon:function(jq,_4b){\nreturn jq.data(\"textbox\").textbox.find(\".textbox-icon:eq(\"+_4b+\")\");\n},getTipX:function(jq){\nvar _4c=jq.data(\"textbox\");\nvar _4d=_4c.options;\nvar tb=_4c.textbox;\nvar _4e=tb.find(\".textbox-text\");\nvar _4f=tb.find(\".textbox-addon\")._outerWidth();\nvar _50=tb.find(\".textbox-button\")._outerWidth();\nif(_4d.tipPosition==\"right\"){\nreturn (_4d.iconAlign==\"right\"?_4f:0)+(_4d.buttonAlign==\"right\"?_50:0)+1;\n}else{\nif(_4d.tipPosition==\"left\"){\nreturn (_4d.iconAlign==\"left\"?-_4f:0)+(_4d.buttonAlign==\"left\"?-_50:0)-1;\n}else{\nreturn _4f/2*(_4d.iconAlign==\"right\"?1:-1);\n}\n}\n}};\n$.fn.textbox.parseOptions=function(_51){\nvar t=$(_51);\nreturn $.extend({},$.fn.validatebox.parseOptions(_51),$.parser.parseOptions(_51,[\"prompt\",\"iconCls\",\"iconAlign\",\"buttonText\",\"buttonIcon\",\"buttonAlign\",{multiline:\"boolean\",editable:\"boolean\",iconWidth:\"number\"}]),{value:(t.val()||undefined),type:(t.attr(\"type\")?t.attr(\"type\"):undefined),disabled:(t.attr(\"disabled\")?true:undefined),readonly:(t.attr(\"readonly\")?true:undefined)});\n};\n$.fn.textbox.defaults=$.extend({},$.fn.validatebox.defaults,{width:\"auto\",height:22,prompt:\"\",value:\"\",type:\"text\",multiline:false,editable:true,disabled:false,readonly:false,icons:[],iconCls:null,iconAlign:\"right\",iconWidth:18,buttonText:\"\",buttonIcon:null,buttonAlign:\"right\",inputEvents:{blur:function(e){\nvar t=$(e.data.target);\nvar _52=t.textbox(\"options\");\nt.textbox(\"setValue\",_52.value);\n},keydown:function(e){\nif(e.keyCode==13){\nvar t=$(e.data.target);\nt.textbox(\"setValue\",t.textbox(\"getText\"));\n}\n}},onChange:function(_53,_54){\n},onResize:function(_55,_56){\n},onClickButton:function(){\n},onClickIcon:function(_57){\n}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.timespinner.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=0;\nif(_2.selectionStart){\n_3=_2.selectionStart;\n}else{\nif(_2.createTextRange){\nvar _4=_2.createTextRange();\nvar s=document.selection.createRange();\ns.setEndPoint(\"StartToStart\",_4);\n_3=s.text.length;\n}\n}\nreturn _3;\n};\nfunction _5(_6,_7,_8){\nif(_6.selectionStart){\n_6.setSelectionRange(_7,_8);\n}else{\nif(_6.createTextRange){\nvar _9=_6.createTextRange();\n_9.collapse();\n_9.moveEnd(\"character\",_8);\n_9.moveStart(\"character\",_7);\n_9.select();\n}\n}\n};\nfunction _a(_b){\nvar _c=$.data(_b,\"timespinner\").options;\n$(_b).addClass(\"timespinner-f\").spinner(_c);\nvar _d=_c.formatter.call(_b,_c.parser.call(_b,_c.value));\n$(_b).timespinner(\"initValue\",_d);\n};\nfunction _e(e){\nvar _f=e.data.target;\nvar _10=$.data(_f,\"timespinner\").options;\nvar _11=_1(this);\nfor(var i=0;i<_10.selections.length;i++){\nvar _12=_10.selections[i];\nif(_11>=_12[0]&&_11<=_12[1]){\n_13(_f,i);\nreturn;\n}\n}\n};\nfunction _13(_14,_15){\nvar _16=$.data(_14,\"timespinner\").options;\nif(_15!=undefined){\n_16.highlight=_15;\n}\nvar _17=_16.selections[_16.highlight];\nif(_17){\nvar tb=$(_14).timespinner(\"textbox\");\n_5(tb[0],_17[0],_17[1]);\ntb.focus();\n}\n};\nfunction _18(_19,_1a){\nvar _1b=$.data(_19,\"timespinner\").options;\nvar _1a=_1b.parser.call(_19,_1a);\nvar _1c=_1b.formatter.call(_19,_1a);\n$(_19).spinner(\"setValue\",_1c);\n};\nfunction _1d(_1e,_1f){\nvar _20=$.data(_1e,\"timespinner\").options;\nvar s=$(_1e).timespinner(\"getValue\");\nvar _21=_20.selections[_20.highlight];\nvar s1=s.substring(0,_21[0]);\nvar s2=s.substring(_21[0],_21[1]);\nvar s3=s.substring(_21[1]);\nvar v=s1+((parseInt(s2)||0)+_20.increment*(_1f?-1:1))+s3;\n$(_1e).timespinner(\"setValue\",v);\n_13(_1e);\n};\n$.fn.timespinner=function(_22,_23){\nif(typeof _22==\"string\"){\nvar _24=$.fn.timespinner.methods[_22];\nif(_24){\nreturn _24(this,_23);\n}else{\nreturn this.spinner(_22,_23);\n}\n}\n_22=_22||{};\nreturn this.each(function(){\nvar _25=$.data(this,\"timespinner\");\nif(_25){\n$.extend(_25.options,_22);\n}else{\n$.data(this,\"timespinner\",{options:$.extend({},$.fn.timespinner.defaults,$.fn.timespinner.parseOptions(this),_22)});\n}\n_a(this);\n});\n};\n$.fn.timespinner.methods={options:function(jq){\nvar _26=jq.data(\"spinner\")?jq.spinner(\"options\"):{};\nreturn $.extend($.data(jq[0],\"timespinner\").options,{width:_26.width,value:_26.value,originalValue:_26.originalValue,disabled:_26.disabled,readonly:_26.readonly});\n},setValue:function(jq,_27){\nreturn jq.each(function(){\n_18(this,_27);\n});\n},getHours:function(jq){\nvar _28=$.data(jq[0],\"timespinner\").options;\nvar vv=jq.timespinner(\"getValue\").split(_28.separator);\nreturn parseInt(vv[0],10);\n},getMinutes:function(jq){\nvar _29=$.data(jq[0],\"timespinner\").options;\nvar vv=jq.timespinner(\"getValue\").split(_29.separator);\nreturn parseInt(vv[1],10);\n},getSeconds:function(jq){\nvar _2a=$.data(jq[0],\"timespinner\").options;\nvar vv=jq.timespinner(\"getValue\").split(_2a.separator);\nreturn parseInt(vv[2],10)||0;\n}};\n$.fn.timespinner.parseOptions=function(_2b){\nreturn $.extend({},$.fn.spinner.parseOptions(_2b),$.parser.parseOptions(_2b,[\"separator\",{showSeconds:\"boolean\",highlight:\"number\"}]));\n};\n$.fn.timespinner.defaults=$.extend({},$.fn.spinner.defaults,{inputEvents:$.extend({},$.fn.spinner.defaults.inputEvents,{click:function(e){\n_e.call(this,e);\n},blur:function(e){\nvar t=$(e.data.target);\nt.timespinner(\"setValue\",t.timespinner(\"getText\"));\n},keydown:function(e){\nif(e.keyCode==13){\nvar t=$(e.data.target);\nt.timespinner(\"setValue\",t.timespinner(\"getText\"));\n}\n}}),formatter:function(_2c){\nif(!_2c){\nreturn \"\";\n}\nvar _2d=$(this).timespinner(\"options\");\nvar tt=[_2e(_2c.getHours()),_2e(_2c.getMinutes())];\nif(_2d.showSeconds){\ntt.push(_2e(_2c.getSeconds()));\n}\nreturn tt.join(_2d.separator);\nfunction _2e(_2f){\nreturn (_2f<10?\"0\":\"\")+_2f;\n};\n},parser:function(s){\nvar _30=$(this).timespinner(\"options\");\nvar _31=_32(s);\nif(_31){\nvar min=_32(_30.min);\nvar max=_32(_30.max);\nif(min&&min>_31){\n_31=min;\n}\nif(max&&max<_31){\n_31=max;\n}\n}\nreturn _31;\nfunction _32(s){\nif(!s){\nreturn null;\n}\nvar tt=s.split(_30.separator);\nreturn new Date(1900,0,0,parseInt(tt[0],10)||0,parseInt(tt[1],10)||0,parseInt(tt[2],10)||0);\n};\nif(!s){\nreturn null;\n}\nvar tt=s.split(_30.separator);\nreturn new Date(1900,0,0,parseInt(tt[0],10)||0,parseInt(tt[1],10)||0,parseInt(tt[2],10)||0);\n},selections:[[0,2],[3,5],[6,8]],separator:\":\",showSeconds:false,highlight:0,spin:function(_33){\n_1d(this,_33);\n}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.tooltip.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\n$(_2).addClass(\"tooltip-f\");\n};\nfunction _3(_4){\nvar _5=$.data(_4,\"tooltip\").options;\n$(_4).unbind(\".tooltip\").bind(_5.showEvent+\".tooltip\",function(e){\n$(_4).tooltip(\"show\",e);\n}).bind(_5.hideEvent+\".tooltip\",function(e){\n$(_4).tooltip(\"hide\",e);\n}).bind(\"mousemove.tooltip\",function(e){\nif(_5.trackMouse){\n_5.trackMouseX=e.pageX;\n_5.trackMouseY=e.pageY;\n$(_4).tooltip(\"reposition\");\n}\n});\n};\nfunction _6(_7){\nvar _8=$.data(_7,\"tooltip\");\nif(_8.showTimer){\nclearTimeout(_8.showTimer);\n_8.showTimer=null;\n}\nif(_8.hideTimer){\nclearTimeout(_8.hideTimer);\n_8.hideTimer=null;\n}\n};\nfunction _9(_a){\nvar _b=$.data(_a,\"tooltip\");\nif(!_b||!_b.tip){\nreturn;\n}\nvar _c=_b.options;\nvar _d=_b.tip;\nvar _e={left:-100000,top:-100000};\nif($(_a).is(\":visible\")){\n_e=_f(_c.position);\nif(_c.position==\"top\"&&_e.top<0){\n_e=_f(\"bottom\");\n}else{\nif((_c.position==\"bottom\")&&(_e.top+_d._outerHeight()>$(window)._outerHeight()+$(document).scrollTop())){\n_e=_f(\"top\");\n}\n}\nif(_e.left<0){\nif(_c.position==\"left\"){\n_e=_f(\"right\");\n}else{\n$(_a).tooltip(\"arrow\").css(\"left\",_d._outerWidth()/2+_e.left);\n_e.left=0;\n}\n}else{\nif(_e.left+_d._outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){\nif(_c.position==\"right\"){\n_e=_f(\"left\");\n}else{\nvar _10=_e.left;\n_e.left=$(window)._outerWidth()+$(document)._scrollLeft()-_d._outerWidth();\n$(_a).tooltip(\"arrow\").css(\"left\",_d._outerWidth()/2-(_e.left-_10));\n}\n}\n}\n}\n_d.css({left:_e.left,top:_e.top,zIndex:(_c.zIndex!=undefined?_c.zIndex:($.fn.window?$.fn.window.defaults.zIndex++:\"\"))});\n_c.onPosition.call(_a,_e.left,_e.top);\nfunction _f(_11){\n_c.position=_11||\"bottom\";\n_d.removeClass(\"tooltip-top tooltip-bottom tooltip-left tooltip-right\").addClass(\"tooltip-\"+_c.position);\nvar _12,top;\nif(_c.trackMouse){\nt=$();\n_12=_c.trackMouseX+_c.deltaX;\ntop=_c.trackMouseY+_c.deltaY;\n}else{\nvar t=$(_a);\n_12=t.offset().left+_c.deltaX;\ntop=t.offset().top+_c.deltaY;\n}\nswitch(_c.position){\ncase \"right\":\n_12+=t._outerWidth()+12+(_c.trackMouse?12:0);\ntop-=(_d._outerHeight()-t._outerHeight())/2;\nbreak;\ncase \"left\":\n_12-=_d._outerWidth()+12+(_c.trackMouse?12:0);\ntop-=(_d._outerHeight()-t._outerHeight())/2;\nbreak;\ncase \"top\":\n_12-=(_d._outerWidth()-t._outerWidth())/2;\ntop-=_d._outerHeight()+12+(_c.trackMouse?12:0);\nbreak;\ncase \"bottom\":\n_12-=(_d._outerWidth()-t._outerWidth())/2;\ntop+=t._outerHeight()+12+(_c.trackMouse?12:0);\nbreak;\n}\nreturn {left:_12,top:top};\n};\n};\nfunction _13(_14,e){\nvar _15=$.data(_14,\"tooltip\");\nvar _16=_15.options;\nvar tip=_15.tip;\nif(!tip){\ntip=$(\"<div tabindex=\\\"-1\\\" class=\\\"tooltip\\\">\"+\"<div class=\\\"tooltip-content\\\"></div>\"+\"<div class=\\\"tooltip-arrow-outer\\\"></div>\"+\"<div class=\\\"tooltip-arrow\\\"></div>\"+\"</div>\").appendTo(\"body\");\n_15.tip=tip;\n_17(_14);\n}\n_6(_14);\n_15.showTimer=setTimeout(function(){\n$(_14).tooltip(\"reposition\");\ntip.show();\n_16.onShow.call(_14,e);\nvar _18=tip.children(\".tooltip-arrow-outer\");\nvar _19=tip.children(\".tooltip-arrow\");\nvar bc=\"border-\"+_16.position+\"-color\";\n_18.add(_19).css({borderTopColor:\"\",borderBottomColor:\"\",borderLeftColor:\"\",borderRightColor:\"\"});\n_18.css(bc,tip.css(bc));\n_19.css(bc,tip.css(\"backgroundColor\"));\n},_16.showDelay);\n};\nfunction _1a(_1b,e){\nvar _1c=$.data(_1b,\"tooltip\");\nif(_1c&&_1c.tip){\n_6(_1b);\n_1c.hideTimer=setTimeout(function(){\n_1c.tip.hide();\n_1c.options.onHide.call(_1b,e);\n},_1c.options.hideDelay);\n}\n};\nfunction _17(_1d,_1e){\nvar _1f=$.data(_1d,\"tooltip\");\nvar _20=_1f.options;\nif(_1e){\n_20.content=_1e;\n}\nif(!_1f.tip){\nreturn;\n}\nvar cc=typeof _20.content==\"function\"?_20.content.call(_1d):_20.content;\n_1f.tip.children(\".tooltip-content\").html(cc);\n_20.onUpdate.call(_1d,cc);\n};\nfunction _21(_22){\nvar _23=$.data(_22,\"tooltip\");\nif(_23){\n_6(_22);\nvar _24=_23.options;\nif(_23.tip){\n_23.tip.remove();\n}\nif(_24._title){\n$(_22).attr(\"title\",_24._title);\n}\n$.removeData(_22,\"tooltip\");\n$(_22).unbind(\".tooltip\").removeClass(\"tooltip-f\");\n_24.onDestroy.call(_22);\n}\n};\n$.fn.tooltip=function(_25,_26){\nif(typeof _25==\"string\"){\nreturn $.fn.tooltip.methods[_25](this,_26);\n}\n_25=_25||{};\nreturn this.each(function(){\nvar _27=$.data(this,\"tooltip\");\nif(_27){\n$.extend(_27.options,_25);\n}else{\n$.data(this,\"tooltip\",{options:$.extend({},$.fn.tooltip.defaults,$.fn.tooltip.parseOptions(this),_25)});\n_1(this);\n}\n_3(this);\n_17(this);\n});\n};\n$.fn.tooltip.methods={options:function(jq){\nreturn $.data(jq[0],\"tooltip\").options;\n},tip:function(jq){\nreturn $.data(jq[0],\"tooltip\").tip;\n},arrow:function(jq){\nreturn jq.tooltip(\"tip\").children(\".tooltip-arrow-outer,.tooltip-arrow\");\n},show:function(jq,e){\nreturn jq.each(function(){\n_13(this,e);\n});\n},hide:function(jq,e){\nreturn jq.each(function(){\n_1a(this,e);\n});\n},update:function(jq,_28){\nreturn jq.each(function(){\n_17(this,_28);\n});\n},reposition:function(jq){\nreturn jq.each(function(){\n_9(this);\n});\n},destroy:function(jq){\nreturn jq.each(function(){\n_21(this);\n});\n}};\n$.fn.tooltip.parseOptions=function(_29){\nvar t=$(_29);\nvar _2a=$.extend({},$.parser.parseOptions(_29,[\"position\",\"showEvent\",\"hideEvent\",\"content\",{trackMouse:\"boolean\",deltaX:\"number\",deltaY:\"number\",showDelay:\"number\",hideDelay:\"number\"}]),{_title:t.attr(\"title\")});\nt.attr(\"title\",\"\");\nif(!_2a.content){\n_2a.content=_2a._title;\n}\nreturn _2a;\n};\n$.fn.tooltip.defaults={position:\"bottom\",content:null,trackMouse:false,deltaX:0,deltaY:0,showEvent:\"mouseenter\",hideEvent:\"mouseleave\",showDelay:200,hideDelay:100,onShow:function(e){\n},onHide:function(e){\n},onUpdate:function(_2b){\n},onPosition:function(_2c,top){\n},onDestroy:function(){\n}};\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.tree.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$(_2);\n_3.addClass(\"tree\");\nreturn _3;\n};\nfunction _4(_5){\nvar _6=$.data(_5,\"tree\").options;\n$(_5).unbind().bind(\"mouseover\",function(e){\nvar tt=$(e.target);\nvar _7=tt.closest(\"div.tree-node\");\nif(!_7.length){\nreturn;\n}\n_7.addClass(\"tree-node-hover\");\nif(tt.hasClass(\"tree-hit\")){\nif(tt.hasClass(\"tree-expanded\")){\ntt.addClass(\"tree-expanded-hover\");\n}else{\ntt.addClass(\"tree-collapsed-hover\");\n}\n}\ne.stopPropagation();\n}).bind(\"mouseout\",function(e){\nvar tt=$(e.target);\nvar _8=tt.closest(\"div.tree-node\");\nif(!_8.length){\nreturn;\n}\n_8.removeClass(\"tree-node-hover\");\nif(tt.hasClass(\"tree-hit\")){\nif(tt.hasClass(\"tree-expanded\")){\ntt.removeClass(\"tree-expanded-hover\");\n}else{\ntt.removeClass(\"tree-collapsed-hover\");\n}\n}\ne.stopPropagation();\n}).bind(\"click\",function(e){\nvar tt=$(e.target);\nvar _9=tt.closest(\"div.tree-node\");\nif(!_9.length){\nreturn;\n}\nif(tt.hasClass(\"tree-hit\")){\n_81(_5,_9[0]);\nreturn false;\n}else{\nif(tt.hasClass(\"tree-checkbox\")){\n_34(_5,_9[0],!tt.hasClass(\"tree-checkbox1\"));\nreturn false;\n}else{\n_db(_5,_9[0]);\n_6.onClick.call(_5,_c(_5,_9[0]));\n}\n}\ne.stopPropagation();\n}).bind(\"dblclick\",function(e){\nvar _a=$(e.target).closest(\"div.tree-node\");\nif(!_a.length){\nreturn;\n}\n_db(_5,_a[0]);\n_6.onDblClick.call(_5,_c(_5,_a[0]));\ne.stopPropagation();\n}).bind(\"contextmenu\",function(e){\nvar _b=$(e.target).closest(\"div.tree-node\");\nif(!_b.length){\nreturn;\n}\n_6.onContextMenu.call(_5,e,_c(_5,_b[0]));\ne.stopPropagation();\n});\n};\nfunction _d(_e){\nvar _f=$.data(_e,\"tree\").options;\n_f.dnd=false;\nvar _10=$(_e).find(\"div.tree-node\");\n_10.draggable(\"disable\");\n_10.css(\"cursor\",\"pointer\");\n};\nfunction _11(_12){\nvar _13=$.data(_12,\"tree\");\nvar _14=_13.options;\nvar _15=_13.tree;\n_13.disabledNodes=[];\n_14.dnd=true;\n_15.find(\"div.tree-node\").draggable({disabled:false,revert:true,cursor:\"pointer\",proxy:function(_16){\nvar p=$(\"<div class=\\\"tree-node-proxy\\\"></div>\").appendTo(\"body\");\np.html(\"<span class=\\\"tree-dnd-icon tree-dnd-no\\\">&nbsp;</span>\"+$(_16).find(\".tree-title\").html());\np.hide();\nreturn p;\n},deltaX:15,deltaY:15,onBeforeDrag:function(e){\nif(_14.onBeforeDrag.call(_12,_c(_12,this))==false){\nreturn false;\n}\nif($(e.target).hasClass(\"tree-hit\")||$(e.target).hasClass(\"tree-checkbox\")){\nreturn false;\n}\nif(e.which!=1){\nreturn false;\n}\n$(this).next(\"ul\").find(\"div.tree-node\").droppable({accept:\"no-accept\"});\nvar _17=$(this).find(\"span.tree-indent\");\nif(_17.length){\ne.data.offsetWidth-=_17.length*_17.width();\n}\n},onStartDrag:function(){\n$(this).draggable(\"proxy\").css({left:-10000,top:-10000});\n_14.onStartDrag.call(_12,_c(_12,this));\nvar _18=_c(_12,this);\nif(_18.id==undefined){\n_18.id=\"easyui_tree_node_id_temp\";\n_56(_12,_18);\n}\n_13.draggingNodeId=_18.id;\n},onDrag:function(e){\nvar x1=e.pageX,y1=e.pageY,x2=e.data.startX,y2=e.data.startY;\nvar d=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));\nif(d>3){\n$(this).draggable(\"proxy\").show();\n}\nthis.pageY=e.pageY;\n},onStopDrag:function(){\n$(this).next(\"ul\").find(\"div.tree-node\").droppable({accept:\"div.tree-node\"});\nfor(var i=0;i<_13.disabledNodes.length;i++){\n$(_13.disabledNodes[i]).droppable(\"enable\");\n}\n_13.disabledNodes=[];\nvar _19=_ce(_12,_13.draggingNodeId);\nif(_19&&_19.id==\"easyui_tree_node_id_temp\"){\n_19.id=\"\";\n_56(_12,_19);\n}\n_14.onStopDrag.call(_12,_19);\n}}).droppable({accept:\"div.tree-node\",onDragEnter:function(e,_1a){\nif(_14.onDragEnter.call(_12,this,_1b(_1a))==false){\n_1c(_1a,false);\n$(this).removeClass(\"tree-node-append tree-node-top tree-node-bottom\");\n$(this).droppable(\"disable\");\n_13.disabledNodes.push(this);\n}\n},onDragOver:function(e,_1d){\nif($(this).droppable(\"options\").disabled){\nreturn;\n}\nvar _1e=_1d.pageY;\nvar top=$(this).offset().top;\nvar _1f=top+$(this).outerHeight();\n_1c(_1d,true);\n$(this).removeClass(\"tree-node-append tree-node-top tree-node-bottom\");\nif(_1e>top+(_1f-top)/2){\nif(_1f-_1e<5){\n$(this).addClass(\"tree-node-bottom\");\n}else{\n$(this).addClass(\"tree-node-append\");\n}\n}else{\nif(_1e-top<5){\n$(this).addClass(\"tree-node-top\");\n}else{\n$(this).addClass(\"tree-node-append\");\n}\n}\nif(_14.onDragOver.call(_12,this,_1b(_1d))==false){\n_1c(_1d,false);\n$(this).removeClass(\"tree-node-append tree-node-top tree-node-bottom\");\n$(this).droppable(\"disable\");\n_13.disabledNodes.push(this);\n}\n},onDragLeave:function(e,_20){\n_1c(_20,false);\n$(this).removeClass(\"tree-node-append tree-node-top tree-node-bottom\");\n_14.onDragLeave.call(_12,this,_1b(_20));\n},onDrop:function(e,_21){\nvar _22=this;\nvar _23,_24;\nif($(this).hasClass(\"tree-node-append\")){\n_23=_25;\n_24=\"append\";\n}else{\n_23=_26;\n_24=$(this).hasClass(\"tree-node-top\")?\"top\":\"bottom\";\n}\nif(_14.onBeforeDrop.call(_12,_22,_1b(_21),_24)==false){\n$(this).removeClass(\"tree-node-append tree-node-top tree-node-bottom\");\nreturn;\n}\n_23(_21,_22,_24);\n$(this).removeClass(\"tree-node-append tree-node-top tree-node-bottom\");\n}});\nfunction _1b(_27,pop){\nreturn $(_27).closest(\"ul.tree\").tree(pop?\"pop\":\"getData\",_27);\n};\nfunction _1c(_28,_29){\nvar _2a=$(_28).draggable(\"proxy\").find(\"span.tree-dnd-icon\");\n_2a.removeClass(\"tree-dnd-yes tree-dnd-no\").addClass(_29?\"tree-dnd-yes\":\"tree-dnd-no\");\n};\nfunction _25(_2b,_2c){\nif(_c(_12,_2c).state==\"closed\"){\n_75(_12,_2c,function(){\n_2d();\n});\n}else{\n_2d();\n}\nfunction _2d(){\nvar _2e=_1b(_2b,true);\n$(_12).tree(\"append\",{parent:_2c,data:[_2e]});\n_14.onDrop.call(_12,_2c,_2e,\"append\");\n};\n};\nfunction _26(_2f,_30,_31){\nvar _32={};\nif(_31==\"top\"){\n_32.before=_30;\n}else{\n_32.after=_30;\n}\nvar _33=_1b(_2f,true);\n_32.data=_33;\n$(_12).tree(\"insert\",_32);\n_14.onDrop.call(_12,_30,_33,_31);\n};\n};\nfunction _34(_35,_36,_37){\nvar _38=$.data(_35,\"tree\").options;\nif(!_38.checkbox){\nreturn;\n}\nvar _39=_c(_35,_36);\nif(_38.onBeforeCheck.call(_35,_39,_37)==false){\nreturn;\n}\nvar _3a=$(_36);\nvar ck=_3a.find(\".tree-checkbox\");\nck.removeClass(\"tree-checkbox0 tree-checkbox1 tree-checkbox2\");\nif(_37){\nck.addClass(\"tree-checkbox1\");\n}else{\nck.addClass(\"tree-checkbox0\");\n}\nif(_38.cascadeCheck){\n_3b(_3a);\n_3c(_3a);\n}\n_38.onCheck.call(_35,_39,_37);\nfunction _3c(_3d){\nvar _3e=_3d.next().find(\".tree-checkbox\");\n_3e.removeClass(\"tree-checkbox0 tree-checkbox1 tree-checkbox2\");\nif(_3d.find(\".tree-checkbox\").hasClass(\"tree-checkbox1\")){\n_3e.addClass(\"tree-checkbox1\");\n}else{\n_3e.addClass(\"tree-checkbox0\");\n}\n};\nfunction _3b(_3f){\nvar _40=_8c(_35,_3f[0]);\nif(_40){\nvar ck=$(_40.target).find(\".tree-checkbox\");\nck.removeClass(\"tree-checkbox0 tree-checkbox1 tree-checkbox2\");\nif(_41(_3f)){\nck.addClass(\"tree-checkbox1\");\n}else{\nif(_42(_3f)){\nck.addClass(\"tree-checkbox0\");\n}else{\nck.addClass(\"tree-checkbox2\");\n}\n}\n_3b($(_40.target));\n}\nfunction _41(n){\nvar ck=n.find(\".tree-checkbox\");\nif(ck.hasClass(\"tree-checkbox0\")||ck.hasClass(\"tree-checkbox2\")){\nreturn false;\n}\nvar b=true;\nn.parent().siblings().each(function(){\nif(!$(this).children(\"div.tree-node\").children(\".tree-checkbox\").hasClass(\"tree-checkbox1\")){\nb=false;\n}\n});\nreturn b;\n};\nfunction _42(n){\nvar ck=n.find(\".tree-checkbox\");\nif(ck.hasClass(\"tree-checkbox1\")||ck.hasClass(\"tree-checkbox2\")){\nreturn false;\n}\nvar b=true;\nn.parent().siblings().each(function(){\nif(!$(this).children(\"div.tree-node\").children(\".tree-checkbox\").hasClass(\"tree-checkbox0\")){\nb=false;\n}\n});\nreturn b;\n};\n};\n};\nfunction _43(_44,_45){\nvar _46=$.data(_44,\"tree\").options;\nif(!_46.checkbox){\nreturn;\n}\nvar _47=$(_45);\nif(_48(_44,_45)){\nvar ck=_47.find(\".tree-checkbox\");\nif(ck.length){\nif(ck.hasClass(\"tree-checkbox1\")){\n_34(_44,_45,true);\n}else{\n_34(_44,_45,false);\n}\n}else{\nif(_46.onlyLeafCheck){\n$(\"<span class=\\\"tree-checkbox tree-checkbox0\\\"></span>\").insertBefore(_47.find(\".tree-title\"));\n}\n}\n}else{\nvar ck=_47.find(\".tree-checkbox\");\nif(_46.onlyLeafCheck){\nck.remove();\n}else{\nif(ck.hasClass(\"tree-checkbox1\")){\n_34(_44,_45,true);\n}else{\nif(ck.hasClass(\"tree-checkbox2\")){\nvar _49=true;\nvar _4a=true;\nvar _4b=_4c(_44,_45);\nfor(var i=0;i<_4b.length;i++){\nif(_4b[i].checked){\n_4a=false;\n}else{\n_49=false;\n}\n}\nif(_49){\n_34(_44,_45,true);\n}\nif(_4a){\n_34(_44,_45,false);\n}\n}\n}\n}\n}\n};\nfunction _4d(_4e,ul,_4f,_50){\nvar _51=$.data(_4e,\"tree\");\nvar _52=_51.options;\nvar _53=$(ul).prevAll(\"div.tree-node:first\");\n_4f=_52.loadFilter.call(_4e,_4f,_53[0]);\nvar _54=_55(_4e,\"domId\",_53.attr(\"id\"));\nif(!_50){\n_54?_54.children=_4f:_51.data=_4f;\n$(ul).empty();\n}else{\nif(_54){\n_54.children?_54.children=_54.children.concat(_4f):_54.children=_4f;\n}else{\n_51.data=_51.data.concat(_4f);\n}\n}\n_52.view.render.call(_52.view,_4e,ul,_4f);\nif(_52.dnd){\n_11(_4e);\n}\nif(_54){\n_56(_4e,_54);\n}\nvar _57=[];\nvar _58=[];\nfor(var i=0;i<_4f.length;i++){\nvar _59=_4f[i];\nif(!_59.checked){\n_57.push(_59);\n}\n}\n_5a(_4f,function(_5b){\nif(_5b.checked){\n_58.push(_5b);\n}\n});\nvar _5c=_52.onCheck;\n_52.onCheck=function(){\n};\nif(_57.length){\n_34(_4e,$(\"#\"+_57[0].domId)[0],false);\n}\nfor(var i=0;i<_58.length;i++){\n_34(_4e,$(\"#\"+_58[i].domId)[0],true);\n}\n_52.onCheck=_5c;\nsetTimeout(function(){\n_5d(_4e,_4e);\n},0);\n_52.onLoadSuccess.call(_4e,_54,_4f);\n};\nfunction _5d(_5e,ul,_5f){\nvar _60=$.data(_5e,\"tree\").options;\nif(_60.lines){\n$(_5e).addClass(\"tree-lines\");\n}else{\n$(_5e).removeClass(\"tree-lines\");\nreturn;\n}\nif(!_5f){\n_5f=true;\n$(_5e).find(\"span.tree-indent\").removeClass(\"tree-line tree-join tree-joinbottom\");\n$(_5e).find(\"div.tree-node\").removeClass(\"tree-node-last tree-root-first tree-root-one\");\nvar _61=$(_5e).tree(\"getRoots\");\nif(_61.length>1){\n$(_61[0].target).addClass(\"tree-root-first\");\n}else{\nif(_61.length==1){\n$(_61[0].target).addClass(\"tree-root-one\");\n}\n}\n}\n$(ul).children(\"li\").each(function(){\nvar _62=$(this).children(\"div.tree-node\");\nvar ul=_62.next(\"ul\");\nif(ul.length){\nif($(this).next().length){\n_63(_62);\n}\n_5d(_5e,ul,_5f);\n}else{\n_64(_62);\n}\n});\nvar _65=$(ul).children(\"li:last\").children(\"div.tree-node\").addClass(\"tree-node-last\");\n_65.children(\"span.tree-join\").removeClass(\"tree-join\").addClass(\"tree-joinbottom\");\nfunction _64(_66,_67){\nvar _68=_66.find(\"span.tree-icon\");\n_68.prev(\"span.tree-indent\").addClass(\"tree-join\");\n};\nfunction _63(_69){\nvar _6a=_69.find(\"span.tree-indent, span.tree-hit\").length;\n_69.next().find(\"div.tree-node\").each(function(){\n$(this).children(\"span:eq(\"+(_6a-1)+\")\").addClass(\"tree-line\");\n});\n};\n};\nfunction _6b(_6c,ul,_6d,_6e){\nvar _6f=$.data(_6c,\"tree\").options;\n_6d=$.extend({},_6f.queryParams,_6d||{});\nvar _70=null;\nif(_6c!=ul){\nvar _71=$(ul).prev();\n_70=_c(_6c,_71[0]);\n}\nif(_6f.onBeforeLoad.call(_6c,_70,_6d)==false){\nreturn;\n}\nvar _72=$(ul).prev().children(\"span.tree-folder\");\n_72.addClass(\"tree-loading\");\nvar _73=_6f.loader.call(_6c,_6d,function(_74){\n_72.removeClass(\"tree-loading\");\n_4d(_6c,ul,_74);\nif(_6e){\n_6e();\n}\n},function(){\n_72.removeClass(\"tree-loading\");\n_6f.onLoadError.apply(_6c,arguments);\nif(_6e){\n_6e();\n}\n});\nif(_73==false){\n_72.removeClass(\"tree-loading\");\n}\n};\nfunction _75(_76,_77,_78){\nvar _79=$.data(_76,\"tree\").options;\nvar hit=$(_77).children(\"span.tree-hit\");\nif(hit.length==0){\nreturn;\n}\nif(hit.hasClass(\"tree-expanded\")){\nreturn;\n}\nvar _7a=_c(_76,_77);\nif(_79.onBeforeExpand.call(_76,_7a)==false){\nreturn;\n}\nhit.removeClass(\"tree-collapsed tree-collapsed-hover\").addClass(\"tree-expanded\");\nhit.next().addClass(\"tree-folder-open\");\nvar ul=$(_77).next();\nif(ul.length){\nif(_79.animate){\nul.slideDown(\"normal\",function(){\n_7a.state=\"open\";\n_79.onExpand.call(_76,_7a);\nif(_78){\n_78();\n}\n});\n}else{\nul.css(\"display\",\"block\");\n_7a.state=\"open\";\n_79.onExpand.call(_76,_7a);\nif(_78){\n_78();\n}\n}\n}else{\nvar _7b=$(\"<ul style=\\\"display:none\\\"></ul>\").insertAfter(_77);\n_6b(_76,_7b[0],{id:_7a.id},function(){\nif(_7b.is(\":empty\")){\n_7b.remove();\n}\nif(_79.animate){\n_7b.slideDown(\"normal\",function(){\n_7a.state=\"open\";\n_79.onExpand.call(_76,_7a);\nif(_78){\n_78();\n}\n});\n}else{\n_7b.css(\"display\",\"block\");\n_7a.state=\"open\";\n_79.onExpand.call(_76,_7a);\nif(_78){\n_78();\n}\n}\n});\n}\n};\nfunction _7c(_7d,_7e){\nvar _7f=$.data(_7d,\"tree\").options;\nvar hit=$(_7e).children(\"span.tree-hit\");\nif(hit.length==0){\nreturn;\n}\nif(hit.hasClass(\"tree-collapsed\")){\nreturn;\n}\nvar _80=_c(_7d,_7e);\nif(_7f.onBeforeCollapse.call(_7d,_80)==false){\nreturn;\n}\nhit.removeClass(\"tree-expanded tree-expanded-hover\").addClass(\"tree-collapsed\");\nhit.next().removeClass(\"tree-folder-open\");\nvar ul=$(_7e).next();\nif(_7f.animate){\nul.slideUp(\"normal\",function(){\n_80.state=\"closed\";\n_7f.onCollapse.call(_7d,_80);\n});\n}else{\nul.css(\"display\",\"none\");\n_80.state=\"closed\";\n_7f.onCollapse.call(_7d,_80);\n}\n};\nfunction _81(_82,_83){\nvar hit=$(_83).children(\"span.tree-hit\");\nif(hit.length==0){\nreturn;\n}\nif(hit.hasClass(\"tree-expanded\")){\n_7c(_82,_83);\n}else{\n_75(_82,_83);\n}\n};\nfunction _84(_85,_86){\nvar _87=_4c(_85,_86);\nif(_86){\n_87.unshift(_c(_85,_86));\n}\nfor(var i=0;i<_87.length;i++){\n_75(_85,_87[i].target);\n}\n};\nfunction _88(_89,_8a){\nvar _8b=[];\nvar p=_8c(_89,_8a);\nwhile(p){\n_8b.unshift(p);\np=_8c(_89,p.target);\n}\nfor(var i=0;i<_8b.length;i++){\n_75(_89,_8b[i].target);\n}\n};\nfunction _8d(_8e,_8f){\nvar c=$(_8e).parent();\nwhile(c[0].tagName!=\"BODY\"&&c.css(\"overflow-y\")!=\"auto\"){\nc=c.parent();\n}\nvar n=$(_8f);\nvar _90=n.offset().top;\nif(c[0].tagName!=\"BODY\"){\nvar _91=c.offset().top;\nif(_90<_91){\nc.scrollTop(c.scrollTop()+_90-_91);\n}else{\nif(_90+n.outerHeight()>_91+c.outerHeight()-18){\nc.scrollTop(c.scrollTop()+_90+n.outerHeight()-_91-c.outerHeight()+18);\n}\n}\n}else{\nc.scrollTop(_90);\n}\n};\nfunction _92(_93,_94){\nvar _95=_4c(_93,_94);\nif(_94){\n_95.unshift(_c(_93,_94));\n}\nfor(var i=0;i<_95.length;i++){\n_7c(_93,_95[i].target);\n}\n};\nfunction _96(_97,_98){\nvar _99=$(_98.parent);\nvar _9a=_98.data;\nif(!_9a){\nreturn;\n}\n_9a=$.isArray(_9a)?_9a:[_9a];\nif(!_9a.length){\nreturn;\n}\nvar ul;\nif(_99.length==0){\nul=$(_97);\n}else{\nif(_48(_97,_99[0])){\nvar _9b=_99.find(\"span.tree-icon\");\n_9b.removeClass(\"tree-file\").addClass(\"tree-folder tree-folder-open\");\nvar hit=$(\"<span class=\\\"tree-hit tree-expanded\\\"></span>\").insertBefore(_9b);\nif(hit.prev().length){\nhit.prev().remove();\n}\n}\nul=_99.next();\nif(!ul.length){\nul=$(\"<ul></ul>\").insertAfter(_99);\n}\n}\n_4d(_97,ul[0],_9a,true);\n_43(_97,ul.prev());\n};\nfunction _9c(_9d,_9e){\nvar ref=_9e.before||_9e.after;\nvar _9f=_8c(_9d,ref);\nvar _a0=_9e.data;\nif(!_a0){\nreturn;\n}\n_a0=$.isArray(_a0)?_a0:[_a0];\nif(!_a0.length){\nreturn;\n}\n_96(_9d,{parent:(_9f?_9f.target:null),data:_a0});\nvar _a1=_9f?_9f.children:$(_9d).tree(\"getRoots\");\nfor(var i=0;i<_a1.length;i++){\nif(_a1[i].domId==$(ref).attr(\"id\")){\nfor(var j=_a0.length-1;j>=0;j--){\n_a1.splice((_9e.before?i:(i+1)),0,_a0[j]);\n}\n_a1.splice(_a1.length-_a0.length,_a0.length);\nbreak;\n}\n}\nvar li=$();\nfor(var i=0;i<_a0.length;i++){\nli=li.add($(\"#\"+_a0[i].domId).parent());\n}\nif(_9e.before){\nli.insertBefore($(ref).parent());\n}else{\nli.insertAfter($(ref).parent());\n}\n};\nfunction _a2(_a3,_a4){\nvar _a5=del(_a4);\n$(_a4).parent().remove();\nif(_a5){\nif(!_a5.children||!_a5.children.length){\nvar _a6=$(_a5.target);\n_a6.find(\".tree-icon\").removeClass(\"tree-folder\").addClass(\"tree-file\");\n_a6.find(\".tree-hit\").remove();\n$(\"<span class=\\\"tree-indent\\\"></span>\").prependTo(_a6);\n_a6.next().remove();\n}\n_56(_a3,_a5);\n_43(_a3,_a5.target);\n}\n_5d(_a3,_a3);\nfunction del(_a7){\nvar id=$(_a7).attr(\"id\");\nvar _a8=_8c(_a3,_a7);\nvar cc=_a8?_a8.children:$.data(_a3,\"tree\").data;\nfor(var i=0;i<cc.length;i++){\nif(cc[i].domId==id){\ncc.splice(i,1);\nbreak;\n}\n}\nreturn _a8;\n};\n};\nfunction _56(_a9,_aa){\nvar _ab=$.data(_a9,\"tree\").options;\nvar _ac=$(_aa.target);\nvar _ad=_c(_a9,_aa.target);\nvar _ae=_ad.checked;\nif(_ad.iconCls){\n_ac.find(\".tree-icon\").removeClass(_ad.iconCls);\n}\n$.extend(_ad,_aa);\n_ac.find(\".tree-title\").html(_ab.formatter.call(_a9,_ad));\nif(_ad.iconCls){\n_ac.find(\".tree-icon\").addClass(_ad.iconCls);\n}\nif(_ae!=_ad.checked){\n_34(_a9,_aa.target,_ad.checked);\n}\n};\nfunction _af(_b0,_b1){\nif(_b1){\nvar p=_8c(_b0,_b1);\nwhile(p){\n_b1=p.target;\np=_8c(_b0,_b1);\n}\nreturn _c(_b0,_b1);\n}else{\nvar _b2=_b3(_b0);\nreturn _b2.length?_b2[0]:null;\n}\n};\nfunction _b3(_b4){\nvar _b5=$.data(_b4,\"tree\").data;\nfor(var i=0;i<_b5.length;i++){\n_b6(_b5[i]);\n}\nreturn _b5;\n};\nfunction _4c(_b7,_b8){\nvar _b9=[];\nvar n=_c(_b7,_b8);\nvar _ba=n?(n.children||[]):$.data(_b7,\"tree\").data;\n_5a(_ba,function(_bb){\n_b9.push(_b6(_bb));\n});\nreturn _b9;\n};\nfunction _8c(_bc,_bd){\nvar p=$(_bd).closest(\"ul\").prevAll(\"div.tree-node:first\");\nreturn _c(_bc,p[0]);\n};\nfunction _be(_bf,_c0){\n_c0=_c0||\"checked\";\nif(!$.isArray(_c0)){\n_c0=[_c0];\n}\nvar _c1=[];\nfor(var i=0;i<_c0.length;i++){\nvar s=_c0[i];\nif(s==\"checked\"){\n_c1.push(\"span.tree-checkbox1\");\n}else{\nif(s==\"unchecked\"){\n_c1.push(\"span.tree-checkbox0\");\n}else{\nif(s==\"indeterminate\"){\n_c1.push(\"span.tree-checkbox2\");\n}\n}\n}\n}\nvar _c2=[];\n$(_bf).find(_c1.join(\",\")).each(function(){\nvar _c3=$(this).parent();\n_c2.push(_c(_bf,_c3[0]));\n});\nreturn _c2;\n};\nfunction _c4(_c5){\nvar _c6=$(_c5).find(\"div.tree-node-selected\");\nreturn _c6.length?_c(_c5,_c6[0]):null;\n};\nfunction _c7(_c8,_c9){\nvar _ca=_c(_c8,_c9);\nif(_ca&&_ca.children){\n_5a(_ca.children,function(_cb){\n_b6(_cb);\n});\n}\nreturn _ca;\n};\nfunction _c(_cc,_cd){\nreturn _55(_cc,\"domId\",$(_cd).attr(\"id\"));\n};\nfunction _ce(_cf,id){\nreturn _55(_cf,\"id\",id);\n};\nfunction _55(_d0,_d1,_d2){\nvar _d3=$.data(_d0,\"tree\").data;\nvar _d4=null;\n_5a(_d3,function(_d5){\nif(_d5[_d1]==_d2){\n_d4=_b6(_d5);\nreturn false;\n}\n});\nreturn _d4;\n};\nfunction _b6(_d6){\nvar d=$(\"#\"+_d6.domId);\n_d6.target=d[0];\n_d6.checked=d.find(\".tree-checkbox\").hasClass(\"tree-checkbox1\");\nreturn _d6;\n};\nfunction _5a(_d7,_d8){\nvar _d9=[];\nfor(var i=0;i<_d7.length;i++){\n_d9.push(_d7[i]);\n}\nwhile(_d9.length){\nvar _da=_d9.shift();\nif(_d8(_da)==false){\nreturn;\n}\nif(_da.children){\nfor(var i=_da.children.length-1;i>=0;i--){\n_d9.unshift(_da.children[i]);\n}\n}\n}\n};\nfunction _db(_dc,_dd){\nvar _de=$.data(_dc,\"tree\").options;\nvar _df=_c(_dc,_dd);\nif(_de.onBeforeSelect.call(_dc,_df)==false){\nreturn;\n}\n$(_dc).find(\"div.tree-node-selected\").removeClass(\"tree-node-selected\");\n$(_dd).addClass(\"tree-node-selected\");\n_de.onSelect.call(_dc,_df);\n};\nfunction _48(_e0,_e1){\nreturn $(_e1).children(\"span.tree-hit\").length==0;\n};\nfunction _e2(_e3,_e4){\nvar _e5=$.data(_e3,\"tree\").options;\nvar _e6=_c(_e3,_e4);\nif(_e5.onBeforeEdit.call(_e3,_e6)==false){\nreturn;\n}\n$(_e4).css(\"position\",\"relative\");\nvar nt=$(_e4).find(\".tree-title\");\nvar _e7=nt.outerWidth();\nnt.empty();\nvar _e8=$(\"<input class=\\\"tree-editor\\\">\").appendTo(nt);\n_e8.val(_e6.text).focus();\n_e8.width(_e7+20);\n_e8.height(document.compatMode==\"CSS1Compat\"?(18-(_e8.outerHeight()-_e8.height())):18);\n_e8.bind(\"click\",function(e){\nreturn false;\n}).bind(\"mousedown\",function(e){\ne.stopPropagation();\n}).bind(\"mousemove\",function(e){\ne.stopPropagation();\n}).bind(\"keydown\",function(e){\nif(e.keyCode==13){\n_e9(_e3,_e4);\nreturn false;\n}else{\nif(e.keyCode==27){\n_ef(_e3,_e4);\nreturn false;\n}\n}\n}).bind(\"blur\",function(e){\ne.stopPropagation();\n_e9(_e3,_e4);\n});\n};\nfunction _e9(_ea,_eb){\nvar _ec=$.data(_ea,\"tree\").options;\n$(_eb).css(\"position\",\"\");\nvar _ed=$(_eb).find(\"input.tree-editor\");\nvar val=_ed.val();\n_ed.remove();\nvar _ee=_c(_ea,_eb);\n_ee.text=val;\n_56(_ea,_ee);\n_ec.onAfterEdit.call(_ea,_ee);\n};\nfunction _ef(_f0,_f1){\nvar _f2=$.data(_f0,\"tree\").options;\n$(_f1).css(\"position\",\"\");\n$(_f1).find(\"input.tree-editor\").remove();\nvar _f3=_c(_f0,_f1);\n_56(_f0,_f3);\n_f2.onCancelEdit.call(_f0,_f3);\n};\n$.fn.tree=function(_f4,_f5){\nif(typeof _f4==\"string\"){\nreturn $.fn.tree.methods[_f4](this,_f5);\n}\nvar _f4=_f4||{};\nreturn this.each(function(){\nvar _f6=$.data(this,\"tree\");\nvar _f7;\nif(_f6){\n_f7=$.extend(_f6.options,_f4);\n_f6.options=_f7;\n}else{\n_f7=$.extend({},$.fn.tree.defaults,$.fn.tree.parseOptions(this),_f4);\n$.data(this,\"tree\",{options:_f7,tree:_1(this),data:[]});\nvar _f8=$.fn.tree.parseData(this);\nif(_f8.length){\n_4d(this,this,_f8);\n}\n}\n_4(this);\nif(_f7.data){\n_4d(this,this,$.extend(true,[],_f7.data));\n}\n_6b(this,this);\n});\n};\n$.fn.tree.methods={options:function(jq){\nreturn $.data(jq[0],\"tree\").options;\n},loadData:function(jq,_f9){\nreturn jq.each(function(){\n_4d(this,this,_f9);\n});\n},getNode:function(jq,_fa){\nreturn _c(jq[0],_fa);\n},getData:function(jq,_fb){\nreturn _c7(jq[0],_fb);\n},reload:function(jq,_fc){\nreturn jq.each(function(){\nif(_fc){\nvar _fd=$(_fc);\nvar hit=_fd.children(\"span.tree-hit\");\nhit.removeClass(\"tree-expanded tree-expanded-hover\").addClass(\"tree-collapsed\");\n_fd.next().remove();\n_75(this,_fc);\n}else{\n$(this).empty();\n_6b(this,this);\n}\n});\n},getRoot:function(jq,_fe){\nreturn _af(jq[0],_fe);\n},getRoots:function(jq){\nreturn _b3(jq[0]);\n},getParent:function(jq,_ff){\nreturn _8c(jq[0],_ff);\n},getChildren:function(jq,_100){\nreturn _4c(jq[0],_100);\n},getChecked:function(jq,_101){\nreturn _be(jq[0],_101);\n},getSelected:function(jq){\nreturn _c4(jq[0]);\n},isLeaf:function(jq,_102){\nreturn _48(jq[0],_102);\n},find:function(jq,id){\nreturn _ce(jq[0],id);\n},select:function(jq,_103){\nreturn jq.each(function(){\n_db(this,_103);\n});\n},check:function(jq,_104){\nreturn jq.each(function(){\n_34(this,_104,true);\n});\n},uncheck:function(jq,_105){\nreturn jq.each(function(){\n_34(this,_105,false);\n});\n},collapse:function(jq,_106){\nreturn jq.each(function(){\n_7c(this,_106);\n});\n},expand:function(jq,_107){\nreturn jq.each(function(){\n_75(this,_107);\n});\n},collapseAll:function(jq,_108){\nreturn jq.each(function(){\n_92(this,_108);\n});\n},expandAll:function(jq,_109){\nreturn jq.each(function(){\n_84(this,_109);\n});\n},expandTo:function(jq,_10a){\nreturn jq.each(function(){\n_88(this,_10a);\n});\n},scrollTo:function(jq,_10b){\nreturn jq.each(function(){\n_8d(this,_10b);\n});\n},toggle:function(jq,_10c){\nreturn jq.each(function(){\n_81(this,_10c);\n});\n},append:function(jq,_10d){\nreturn jq.each(function(){\n_96(this,_10d);\n});\n},insert:function(jq,_10e){\nreturn jq.each(function(){\n_9c(this,_10e);\n});\n},remove:function(jq,_10f){\nreturn jq.each(function(){\n_a2(this,_10f);\n});\n},pop:function(jq,_110){\nvar node=jq.tree(\"getData\",_110);\njq.tree(\"remove\",_110);\nreturn node;\n},update:function(jq,_111){\nreturn jq.each(function(){\n_56(this,_111);\n});\n},enableDnd:function(jq){\nreturn jq.each(function(){\n_11(this);\n});\n},disableDnd:function(jq){\nreturn jq.each(function(){\n_d(this);\n});\n},beginEdit:function(jq,_112){\nreturn jq.each(function(){\n_e2(this,_112);\n});\n},endEdit:function(jq,_113){\nreturn jq.each(function(){\n_e9(this,_113);\n});\n},cancelEdit:function(jq,_114){\nreturn jq.each(function(){\n_ef(this,_114);\n});\n}};\n$.fn.tree.parseOptions=function(_115){\nvar t=$(_115);\nreturn $.extend({},$.parser.parseOptions(_115,[\"url\",\"method\",{checkbox:\"boolean\",cascadeCheck:\"boolean\",onlyLeafCheck:\"boolean\"},{animate:\"boolean\",lines:\"boolean\",dnd:\"boolean\"}]));\n};\n$.fn.tree.parseData=function(_116){\nvar data=[];\n_117(data,$(_116));\nreturn data;\nfunction _117(aa,tree){\ntree.children(\"li\").each(function(){\nvar node=$(this);\nvar item=$.extend({},$.parser.parseOptions(this,[\"id\",\"iconCls\",\"state\"]),{checked:(node.attr(\"checked\")?true:undefined)});\nitem.text=node.children(\"span\").html();\nif(!item.text){\nitem.text=node.html();\n}\nvar _118=node.children(\"ul\");\nif(_118.length){\nitem.children=[];\n_117(item.children,_118);\n}\naa.push(item);\n});\n};\n};\nvar _119=1;\nvar _11a={render:function(_11b,ul,data){\nvar opts=$.data(_11b,\"tree\").options;\nvar _11c=$(ul).prev(\"div.tree-node\").find(\"span.tree-indent, span.tree-hit\").length;\nvar cc=_11d(_11c,data);\n$(ul).append(cc.join(\"\"));\nfunction _11d(_11e,_11f){\nvar cc=[];\nfor(var i=0;i<_11f.length;i++){\nvar item=_11f[i];\nif(item.state!=\"open\"&&item.state!=\"closed\"){\nitem.state=\"open\";\n}\nitem.domId=\"_easyui_tree_\"+_119++;\ncc.push(\"<li>\");\ncc.push(\"<div id=\\\"\"+item.domId+\"\\\" class=\\\"tree-node\\\">\");\nfor(var j=0;j<_11e;j++){\ncc.push(\"<span class=\\\"tree-indent\\\"></span>\");\n}\nvar _120=false;\nif(item.state==\"closed\"){\ncc.push(\"<span class=\\\"tree-hit tree-collapsed\\\"></span>\");\ncc.push(\"<span class=\\\"tree-icon tree-folder \"+(item.iconCls?item.iconCls:\"\")+\"\\\"></span>\");\n}else{\nif(item.children&&item.children.length){\ncc.push(\"<span class=\\\"tree-hit tree-expanded\\\"></span>\");\ncc.push(\"<span class=\\\"tree-icon tree-folder tree-folder-open \"+(item.iconCls?item.iconCls:\"\")+\"\\\"></span>\");\n}else{\ncc.push(\"<span class=\\\"tree-indent\\\"></span>\");\ncc.push(\"<span class=\\\"tree-icon tree-file \"+(item.iconCls?item.iconCls:\"\")+\"\\\"></span>\");\n_120=true;\n}\n}\nif(opts.checkbox){\nif((!opts.onlyLeafCheck)||_120){\ncc.push(\"<span class=\\\"tree-checkbox tree-checkbox0\\\"></span>\");\n}\n}\ncc.push(\"<span class=\\\"tree-title\\\">\"+opts.formatter.call(_11b,item)+\"</span>\");\ncc.push(\"</div>\");\nif(item.children&&item.children.length){\nvar tmp=_11d(_11e+1,item.children);\ncc.push(\"<ul style=\\\"display:\"+(item.state==\"closed\"?\"none\":\"block\")+\"\\\">\");\ncc=cc.concat(tmp);\ncc.push(\"</ul>\");\n}\ncc.push(\"</li>\");\n}\nreturn cc;\n};\n}};\n$.fn.tree.defaults={url:null,method:\"post\",animate:false,checkbox:false,cascadeCheck:true,onlyLeafCheck:false,lines:false,dnd:false,data:null,queryParams:{},formatter:function(node){\nreturn node.text;\n},loader:function(_121,_122,_123){\nvar opts=$(this).tree(\"options\");\nif(!opts.url){\nreturn false;\n}\n$.ajax({type:opts.method,url:opts.url,data:_121,dataType:\"json\",success:function(data){\n_122(data);\n},error:function(){\n_123.apply(this,arguments);\n}});\n},loadFilter:function(data,_124){\nreturn data;\n},view:_11a,onBeforeLoad:function(node,_125){\n},onLoadSuccess:function(node,data){\n},onLoadError:function(){\n},onClick:function(node){\n},onDblClick:function(node){\n},onBeforeExpand:function(node){\n},onExpand:function(node){\n},onBeforeCollapse:function(node){\n},onCollapse:function(node){\n},onBeforeCheck:function(node,_126){\n},onCheck:function(node,_127){\n},onBeforeSelect:function(node){\n},onSelect:function(node){\n},onContextMenu:function(e,node){\n},onBeforeDrag:function(node){\n},onStartDrag:function(node){\n},onStopDrag:function(node){\n},onDragEnter:function(_128,_129){\n},onDragOver:function(_12a,_12b){\n},onDragLeave:function(_12c,_12d){\n},onBeforeDrop:function(_12e,_12f,_130){\n},onDrop:function(_131,_132,_133){\n},onBeforeEdit:function(node){\n},onAfterEdit:function(node){\n},onCancelEdit:function(node){\n}};\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.treegrid.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\nvar _3=$.data(_2,\"treegrid\");\nvar _4=_3.options;\n$(_2).datagrid($.extend({},_4,{url:null,data:null,loader:function(){\nreturn false;\n},onBeforeLoad:function(){\nreturn false;\n},onLoadSuccess:function(){\n},onResizeColumn:function(_5,_6){\n_26(_2);\n_4.onResizeColumn.call(_2,_5,_6);\n},onBeforeSortColumn:function(_7,_8){\nif(_4.onBeforeSortColumn.call(_2,_7,_8)==false){\nreturn false;\n}\n},onSortColumn:function(_9,_a){\n_4.sortName=_9;\n_4.sortOrder=_a;\nif(_4.remoteSort){\n_25(_2);\n}else{\nvar _b=$(_2).treegrid(\"getData\");\n_3f(_2,0,_b);\n}\n_4.onSortColumn.call(_2,_9,_a);\n},onBeforeEdit:function(_c,_d){\nif(_4.onBeforeEdit.call(_2,_d)==false){\nreturn false;\n}\n},onAfterEdit:function(_e,_f,_10){\n_4.onAfterEdit.call(_2,_f,_10);\n},onCancelEdit:function(_11,row){\n_4.onCancelEdit.call(_2,row);\n},onBeforeSelect:function(_12){\nif(_4.onBeforeSelect.call(_2,_47(_2,_12))==false){\nreturn false;\n}\n},onSelect:function(_13){\n_4.onSelect.call(_2,_47(_2,_13));\n},onBeforeUnselect:function(_14){\nif(_4.onBeforeUnselect.call(_2,_47(_2,_14))==false){\nreturn false;\n}\n},onUnselect:function(_15){\n_4.onUnselect.call(_2,_47(_2,_15));\n},onBeforeCheck:function(_16){\nif(_4.onBeforeCheck.call(_2,_47(_2,_16))==false){\nreturn false;\n}\n},onCheck:function(_17){\n_4.onCheck.call(_2,_47(_2,_17));\n},onBeforeUncheck:function(_18){\nif(_4.onBeforeUncheck.call(_2,_47(_2,_18))==false){\nreturn false;\n}\n},onUncheck:function(_19){\n_4.onUncheck.call(_2,_47(_2,_19));\n},onClickRow:function(_1a){\n_4.onClickRow.call(_2,_47(_2,_1a));\n},onDblClickRow:function(_1b){\n_4.onDblClickRow.call(_2,_47(_2,_1b));\n},onClickCell:function(_1c,_1d){\n_4.onClickCell.call(_2,_1d,_47(_2,_1c));\n},onDblClickCell:function(_1e,_1f){\n_4.onDblClickCell.call(_2,_1f,_47(_2,_1e));\n},onRowContextMenu:function(e,_20){\n_4.onContextMenu.call(_2,e,_47(_2,_20));\n}}));\nif(!_4.columns){\nvar _21=$.data(_2,\"datagrid\").options;\n_4.columns=_21.columns;\n_4.frozenColumns=_21.frozenColumns;\n}\n_3.dc=$.data(_2,\"datagrid\").dc;\nif(_4.pagination){\nvar _22=$(_2).datagrid(\"getPager\");\n_22.pagination({pageNumber:_4.pageNumber,pageSize:_4.pageSize,pageList:_4.pageList,onSelectPage:function(_23,_24){\n_4.pageNumber=_23;\n_4.pageSize=_24;\n_25(_2);\n}});\n_4.pageSize=_22.pagination(\"options\").pageSize;\n}\n};\nfunction _26(_27,_28){\nvar _29=$.data(_27,\"datagrid\").options;\nvar dc=$.data(_27,\"datagrid\").dc;\nif(!dc.body1.is(\":empty\")&&(!_29.nowrap||_29.autoRowHeight)){\nif(_28!=undefined){\nvar _2a=_2b(_27,_28);\nfor(var i=0;i<_2a.length;i++){\n_2c(_2a[i][_29.idField]);\n}\n}\n}\n$(_27).datagrid(\"fixRowHeight\",_28);\nfunction _2c(_2d){\nvar tr1=_29.finder.getTr(_27,_2d,\"body\",1);\nvar tr2=_29.finder.getTr(_27,_2d,\"body\",2);\ntr1.css(\"height\",\"\");\ntr2.css(\"height\",\"\");\nvar _2e=Math.max(tr1.height(),tr2.height());\ntr1.css(\"height\",_2e);\ntr2.css(\"height\",_2e);\n};\n};\nfunction _2f(_30){\nvar dc=$.data(_30,\"datagrid\").dc;\nvar _31=$.data(_30,\"treegrid\").options;\nif(!_31.rownumbers){\nreturn;\n}\ndc.body1.find(\"div.datagrid-cell-rownumber\").each(function(i){\n$(this).html(i+1);\n});\n};\nfunction _32(_33){\nreturn function(e){\n$.fn.datagrid.defaults.rowEvents[_33?\"mouseover\":\"mouseout\"](e);\nvar tt=$(e.target);\nvar fn=_33?\"addClass\":\"removeClass\";\nif(tt.hasClass(\"tree-hit\")){\ntt.hasClass(\"tree-expanded\")?tt[fn](\"tree-expanded-hover\"):tt[fn](\"tree-collapsed-hover\");\n}\n};\n};\nfunction _34(e){\nvar tt=$(e.target);\nif(tt.hasClass(\"tree-hit\")){\nvar tr=tt.closest(\"tr.datagrid-row\");\nvar _35=tr.closest(\"div.datagrid-view\").children(\".datagrid-f\")[0];\n_36(_35,tr.attr(\"node-id\"));\n}else{\n$.fn.datagrid.defaults.rowEvents.click(e);\n}\n};\nfunction _37(_38,_39){\nvar _3a=$.data(_38,\"treegrid\").options;\nvar tr1=_3a.finder.getTr(_38,_39,\"body\",1);\nvar tr2=_3a.finder.getTr(_38,_39,\"body\",2);\nvar _3b=$(_38).datagrid(\"getColumnFields\",true).length+(_3a.rownumbers?1:0);\nvar _3c=$(_38).datagrid(\"getColumnFields\",false).length;\n_3d(tr1,_3b);\n_3d(tr2,_3c);\nfunction _3d(tr,_3e){\n$(\"<tr class=\\\"treegrid-tr-tree\\\">\"+\"<td style=\\\"border:0px\\\" colspan=\\\"\"+_3e+\"\\\">\"+\"<div></div>\"+\"</td>\"+\"</tr>\").insertAfter(tr);\n};\n};\nfunction _3f(_40,_41,_42,_43){\nvar _44=$.data(_40,\"treegrid\");\nvar _45=_44.options;\nvar dc=_44.dc;\n_42=_45.loadFilter.call(_40,_42,_41);\nvar _46=_47(_40,_41);\nif(_46){\nvar _48=_45.finder.getTr(_40,_41,\"body\",1);\nvar _49=_45.finder.getTr(_40,_41,\"body\",2);\nvar cc1=_48.next(\"tr.treegrid-tr-tree\").children(\"td\").children(\"div\");\nvar cc2=_49.next(\"tr.treegrid-tr-tree\").children(\"td\").children(\"div\");\nif(!_43){\n_46.children=[];\n}\n}else{\nvar cc1=dc.body1;\nvar cc2=dc.body2;\nif(!_43){\n_44.data=[];\n}\n}\nif(!_43){\ncc1.empty();\ncc2.empty();\n}\nif(_45.view.onBeforeRender){\n_45.view.onBeforeRender.call(_45.view,_40,_41,_42);\n}\n_45.view.render.call(_45.view,_40,cc1,true);\n_45.view.render.call(_45.view,_40,cc2,false);\nif(_45.showFooter){\n_45.view.renderFooter.call(_45.view,_40,dc.footer1,true);\n_45.view.renderFooter.call(_45.view,_40,dc.footer2,false);\n}\nif(_45.view.onAfterRender){\n_45.view.onAfterRender.call(_45.view,_40);\n}\nif(!_41&&_45.pagination){\nvar _4a=$.data(_40,\"treegrid\").total;\nvar _4b=$(_40).datagrid(\"getPager\");\nif(_4b.pagination(\"options\").total!=_4a){\n_4b.pagination({total:_4a});\n}\n}\n_26(_40);\n_2f(_40);\n$(_40).treegrid(\"showLines\");\n$(_40).treegrid(\"setSelectionState\");\n$(_40).treegrid(\"autoSizeColumn\");\n_45.onLoadSuccess.call(_40,_46,_42);\n};\nfunction _25(_4c,_4d,_4e,_4f,_50){\nvar _51=$.data(_4c,\"treegrid\").options;\nvar _52=$(_4c).datagrid(\"getPanel\").find(\"div.datagrid-body\");\nif(_4e){\n_51.queryParams=_4e;\n}\nvar _53=$.extend({},_51.queryParams);\nif(_51.pagination){\n$.extend(_53,{page:_51.pageNumber,rows:_51.pageSize});\n}\nif(_51.sortName){\n$.extend(_53,{sort:_51.sortName,order:_51.sortOrder});\n}\nvar row=_47(_4c,_4d);\nif(_51.onBeforeLoad.call(_4c,row,_53)==false){\nreturn;\n}\nvar _54=_52.find(\"tr[node-id=\\\"\"+_4d+\"\\\"] span.tree-folder\");\n_54.addClass(\"tree-loading\");\n$(_4c).treegrid(\"loading\");\nvar _55=_51.loader.call(_4c,_53,function(_56){\n_54.removeClass(\"tree-loading\");\n$(_4c).treegrid(\"loaded\");\n_3f(_4c,_4d,_56,_4f);\nif(_50){\n_50();\n}\n},function(){\n_54.removeClass(\"tree-loading\");\n$(_4c).treegrid(\"loaded\");\n_51.onLoadError.apply(_4c,arguments);\nif(_50){\n_50();\n}\n});\nif(_55==false){\n_54.removeClass(\"tree-loading\");\n$(_4c).treegrid(\"loaded\");\n}\n};\nfunction _57(_58){\nvar _59=_5a(_58);\nif(_59.length){\nreturn _59[0];\n}else{\nreturn null;\n}\n};\nfunction _5a(_5b){\nreturn $.data(_5b,\"treegrid\").data;\n};\nfunction _5c(_5d,_5e){\nvar row=_47(_5d,_5e);\nif(row._parentId){\nreturn _47(_5d,row._parentId);\n}else{\nreturn null;\n}\n};\nfunction _2b(_5f,_60){\nvar _61=$.data(_5f,\"treegrid\").options;\nvar _62=$(_5f).datagrid(\"getPanel\").find(\"div.datagrid-view2 div.datagrid-body\");\nvar _63=[];\nif(_60){\n_64(_60);\n}else{\nvar _65=_5a(_5f);\nfor(var i=0;i<_65.length;i++){\n_63.push(_65[i]);\n_64(_65[i][_61.idField]);\n}\n}\nfunction _64(_66){\nvar _67=_47(_5f,_66);\nif(_67&&_67.children){\nfor(var i=0,len=_67.children.length;i<len;i++){\nvar _68=_67.children[i];\n_63.push(_68);\n_64(_68[_61.idField]);\n}\n}\n};\nreturn _63;\n};\nfunction _69(_6a,_6b){\nif(!_6b){\nreturn 0;\n}\nvar _6c=$.data(_6a,\"treegrid\").options;\nvar _6d=$(_6a).datagrid(\"getPanel\").children(\"div.datagrid-view\");\nvar _6e=_6d.find(\"div.datagrid-body tr[node-id=\\\"\"+_6b+\"\\\"]\").children(\"td[field=\\\"\"+_6c.treeField+\"\\\"]\");\nreturn _6e.find(\"span.tree-indent,span.tree-hit\").length;\n};\nfunction _47(_6f,_70){\nvar _71=$.data(_6f,\"treegrid\").options;\nvar _72=$.data(_6f,\"treegrid\").data;\nvar cc=[_72];\nwhile(cc.length){\nvar c=cc.shift();\nfor(var i=0;i<c.length;i++){\nvar _73=c[i];\nif(_73[_71.idField]==_70){\nreturn _73;\n}else{\nif(_73[\"children\"]){\ncc.push(_73[\"children\"]);\n}\n}\n}\n}\nreturn null;\n};\nfunction _74(_75,_76){\nvar _77=$.data(_75,\"treegrid\").options;\nvar row=_47(_75,_76);\nvar tr=_77.finder.getTr(_75,_76);\nvar hit=tr.find(\"span.tree-hit\");\nif(hit.length==0){\nreturn;\n}\nif(hit.hasClass(\"tree-collapsed\")){\nreturn;\n}\nif(_77.onBeforeCollapse.call(_75,row)==false){\nreturn;\n}\nhit.removeClass(\"tree-expanded tree-expanded-hover\").addClass(\"tree-collapsed\");\nhit.next().removeClass(\"tree-folder-open\");\nrow.state=\"closed\";\ntr=tr.next(\"tr.treegrid-tr-tree\");\nvar cc=tr.children(\"td\").children(\"div\");\nif(_77.animate){\ncc.slideUp(\"normal\",function(){\n$(_75).treegrid(\"autoSizeColumn\");\n_26(_75,_76);\n_77.onCollapse.call(_75,row);\n});\n}else{\ncc.hide();\n$(_75).treegrid(\"autoSizeColumn\");\n_26(_75,_76);\n_77.onCollapse.call(_75,row);\n}\n};\nfunction _78(_79,_7a){\nvar _7b=$.data(_79,\"treegrid\").options;\nvar tr=_7b.finder.getTr(_79,_7a);\nvar hit=tr.find(\"span.tree-hit\");\nvar row=_47(_79,_7a);\nif(hit.length==0){\nreturn;\n}\nif(hit.hasClass(\"tree-expanded\")){\nreturn;\n}\nif(_7b.onBeforeExpand.call(_79,row)==false){\nreturn;\n}\nhit.removeClass(\"tree-collapsed tree-collapsed-hover\").addClass(\"tree-expanded\");\nhit.next().addClass(\"tree-folder-open\");\nvar _7c=tr.next(\"tr.treegrid-tr-tree\");\nif(_7c.length){\nvar cc=_7c.children(\"td\").children(\"div\");\n_7d(cc);\n}else{\n_37(_79,row[_7b.idField]);\nvar _7c=tr.next(\"tr.treegrid-tr-tree\");\nvar cc=_7c.children(\"td\").children(\"div\");\ncc.hide();\nvar _7e=$.extend({},_7b.queryParams||{});\n_7e.id=row[_7b.idField];\n_25(_79,row[_7b.idField],_7e,true,function(){\nif(cc.is(\":empty\")){\n_7c.remove();\n}else{\n_7d(cc);\n}\n});\n}\nfunction _7d(cc){\nrow.state=\"open\";\nif(_7b.animate){\ncc.slideDown(\"normal\",function(){\n$(_79).treegrid(\"autoSizeColumn\");\n_26(_79,_7a);\n_7b.onExpand.call(_79,row);\n});\n}else{\ncc.show();\n$(_79).treegrid(\"autoSizeColumn\");\n_26(_79,_7a);\n_7b.onExpand.call(_79,row);\n}\n};\n};\nfunction _36(_7f,_80){\nvar _81=$.data(_7f,\"treegrid\").options;\nvar tr=_81.finder.getTr(_7f,_80);\nvar hit=tr.find(\"span.tree-hit\");\nif(hit.hasClass(\"tree-expanded\")){\n_74(_7f,_80);\n}else{\n_78(_7f,_80);\n}\n};\nfunction _82(_83,_84){\nvar _85=$.data(_83,\"treegrid\").options;\nvar _86=_2b(_83,_84);\nif(_84){\n_86.unshift(_47(_83,_84));\n}\nfor(var i=0;i<_86.length;i++){\n_74(_83,_86[i][_85.idField]);\n}\n};\nfunction _87(_88,_89){\nvar _8a=$.data(_88,\"treegrid\").options;\nvar _8b=_2b(_88,_89);\nif(_89){\n_8b.unshift(_47(_88,_89));\n}\nfor(var i=0;i<_8b.length;i++){\n_78(_88,_8b[i][_8a.idField]);\n}\n};\nfunction _8c(_8d,_8e){\nvar _8f=$.data(_8d,\"treegrid\").options;\nvar ids=[];\nvar p=_5c(_8d,_8e);\nwhile(p){\nvar id=p[_8f.idField];\nids.unshift(id);\np=_5c(_8d,id);\n}\nfor(var i=0;i<ids.length;i++){\n_78(_8d,ids[i]);\n}\n};\nfunction _90(_91,_92){\nvar _93=$.data(_91,\"treegrid\").options;\nif(_92.parent){\nvar tr=_93.finder.getTr(_91,_92.parent);\nif(tr.next(\"tr.treegrid-tr-tree\").length==0){\n_37(_91,_92.parent);\n}\nvar _94=tr.children(\"td[field=\\\"\"+_93.treeField+\"\\\"]\").children(\"div.datagrid-cell\");\nvar _95=_94.children(\"span.tree-icon\");\nif(_95.hasClass(\"tree-file\")){\n_95.removeClass(\"tree-file\").addClass(\"tree-folder tree-folder-open\");\nvar hit=$(\"<span class=\\\"tree-hit tree-expanded\\\"></span>\").insertBefore(_95);\nif(hit.prev().length){\nhit.prev().remove();\n}\n}\n}\n_3f(_91,_92.parent,_92.data,true);\n};\nfunction _96(_97,_98){\nvar ref=_98.before||_98.after;\nvar _99=$.data(_97,\"treegrid\").options;\nvar _9a=_5c(_97,ref);\n_90(_97,{parent:(_9a?_9a[_99.idField]:null),data:[_98.data]});\nvar _9b=_9a?_9a.children:$(_97).treegrid(\"getRoots\");\nfor(var i=0;i<_9b.length;i++){\nif(_9b[i][_99.idField]==ref){\nvar _9c=_9b[_9b.length-1];\n_9b.splice(_98.before?i:(i+1),0,_9c);\n_9b.splice(_9b.length-1,1);\nbreak;\n}\n}\n_9d(true);\n_9d(false);\n_2f(_97);\n$(_97).treegrid(\"showLines\");\nfunction _9d(_9e){\nvar _9f=_9e?1:2;\nvar tr=_99.finder.getTr(_97,_98.data[_99.idField],\"body\",_9f);\nvar _a0=tr.closest(\"table.datagrid-btable\");\ntr=tr.parent().children();\nvar _a1=_99.finder.getTr(_97,ref,\"body\",_9f);\nif(_98.before){\ntr.insertBefore(_a1);\n}else{\nvar sub=_a1.next(\"tr.treegrid-tr-tree\");\ntr.insertAfter(sub.length?sub:_a1);\n}\n_a0.remove();\n};\n};\nfunction _a2(_a3,_a4){\nvar _a5=$.data(_a3,\"treegrid\");\n$(_a3).datagrid(\"deleteRow\",_a4);\n_2f(_a3);\n_a5.total-=1;\n$(_a3).datagrid(\"getPager\").pagination(\"refresh\",{total:_a5.total});\n$(_a3).treegrid(\"showLines\");\n};\nfunction _a6(_a7){\nvar t=$(_a7);\nvar _a8=t.treegrid(\"options\");\nif(_a8.lines){\nt.treegrid(\"getPanel\").addClass(\"tree-lines\");\n}else{\nt.treegrid(\"getPanel\").removeClass(\"tree-lines\");\nreturn;\n}\nt.treegrid(\"getPanel\").find(\"span.tree-indent\").removeClass(\"tree-line tree-join tree-joinbottom\");\nt.treegrid(\"getPanel\").find(\"div.datagrid-cell\").removeClass(\"tree-node-last tree-root-first tree-root-one\");\nvar _a9=t.treegrid(\"getRoots\");\nif(_a9.length>1){\n_aa(_a9[0]).addClass(\"tree-root-first\");\n}else{\nif(_a9.length==1){\n_aa(_a9[0]).addClass(\"tree-root-one\");\n}\n}\n_ab(_a9);\n_ac(_a9);\nfunction _ab(_ad){\n$.map(_ad,function(_ae){\nif(_ae.children&&_ae.children.length){\n_ab(_ae.children);\n}else{\nvar _af=_aa(_ae);\n_af.find(\".tree-icon\").prev().addClass(\"tree-join\");\n}\n});\nif(_ad.length){\nvar _b0=_aa(_ad[_ad.length-1]);\n_b0.addClass(\"tree-node-last\");\n_b0.find(\".tree-join\").removeClass(\"tree-join\").addClass(\"tree-joinbottom\");\n}\n};\nfunction _ac(_b1){\n$.map(_b1,function(_b2){\nif(_b2.children&&_b2.children.length){\n_ac(_b2.children);\n}\n});\nfor(var i=0;i<_b1.length-1;i++){\nvar _b3=_b1[i];\nvar _b4=t.treegrid(\"getLevel\",_b3[_a8.idField]);\nvar tr=_a8.finder.getTr(_a7,_b3[_a8.idField]);\nvar cc=tr.next().find(\"tr.datagrid-row td[field=\\\"\"+_a8.treeField+\"\\\"] div.datagrid-cell\");\ncc.find(\"span:eq(\"+(_b4-1)+\")\").addClass(\"tree-line\");\n}\n};\nfunction _aa(_b5){\nvar tr=_a8.finder.getTr(_a7,_b5[_a8.idField]);\nvar _b6=tr.find(\"td[field=\\\"\"+_a8.treeField+\"\\\"] div.datagrid-cell\");\nreturn _b6;\n};\n};\n$.fn.treegrid=function(_b7,_b8){\nif(typeof _b7==\"string\"){\nvar _b9=$.fn.treegrid.methods[_b7];\nif(_b9){\nreturn _b9(this,_b8);\n}else{\nreturn this.datagrid(_b7,_b8);\n}\n}\n_b7=_b7||{};\nreturn this.each(function(){\nvar _ba=$.data(this,\"treegrid\");\nif(_ba){\n$.extend(_ba.options,_b7);\n}else{\n_ba=$.data(this,\"treegrid\",{options:$.extend({},$.fn.treegrid.defaults,$.fn.treegrid.parseOptions(this),_b7),data:[]});\n}\n_1(this);\nif(_ba.options.data){\n$(this).treegrid(\"loadData\",_ba.options.data);\n}\n_25(this);\n});\n};\n$.fn.treegrid.methods={options:function(jq){\nreturn $.data(jq[0],\"treegrid\").options;\n},resize:function(jq,_bb){\nreturn jq.each(function(){\n$(this).datagrid(\"resize\",_bb);\n});\n},fixRowHeight:function(jq,_bc){\nreturn jq.each(function(){\n_26(this,_bc);\n});\n},loadData:function(jq,_bd){\nreturn jq.each(function(){\n_3f(this,_bd.parent,_bd);\n});\n},load:function(jq,_be){\nreturn jq.each(function(){\n$(this).treegrid(\"options\").pageNumber=1;\n$(this).treegrid(\"getPager\").pagination({pageNumber:1});\n$(this).treegrid(\"reload\",_be);\n});\n},reload:function(jq,id){\nreturn jq.each(function(){\nvar _bf=$(this).treegrid(\"options\");\nvar _c0={};\nif(typeof id==\"object\"){\n_c0=id;\n}else{\n_c0=$.extend({},_bf.queryParams);\n_c0.id=id;\n}\nif(_c0.id){\nvar _c1=$(this).treegrid(\"find\",_c0.id);\nif(_c1.children){\n_c1.children.splice(0,_c1.children.length);\n}\n_bf.queryParams=_c0;\nvar tr=_bf.finder.getTr(this,_c0.id);\ntr.next(\"tr.treegrid-tr-tree\").remove();\ntr.find(\"span.tree-hit\").removeClass(\"tree-expanded tree-expanded-hover\").addClass(\"tree-collapsed\");\n_78(this,_c0.id);\n}else{\n_25(this,null,_c0);\n}\n});\n},reloadFooter:function(jq,_c2){\nreturn jq.each(function(){\nvar _c3=$.data(this,\"treegrid\").options;\nvar dc=$.data(this,\"datagrid\").dc;\nif(_c2){\n$.data(this,\"treegrid\").footer=_c2;\n}\nif(_c3.showFooter){\n_c3.view.renderFooter.call(_c3.view,this,dc.footer1,true);\n_c3.view.renderFooter.call(_c3.view,this,dc.footer2,false);\nif(_c3.view.onAfterRender){\n_c3.view.onAfterRender.call(_c3.view,this);\n}\n$(this).treegrid(\"fixRowHeight\");\n}\n});\n},getData:function(jq){\nreturn $.data(jq[0],\"treegrid\").data;\n},getFooterRows:function(jq){\nreturn $.data(jq[0],\"treegrid\").footer;\n},getRoot:function(jq){\nreturn _57(jq[0]);\n},getRoots:function(jq){\nreturn _5a(jq[0]);\n},getParent:function(jq,id){\nreturn _5c(jq[0],id);\n},getChildren:function(jq,id){\nreturn _2b(jq[0],id);\n},getLevel:function(jq,id){\nreturn _69(jq[0],id);\n},find:function(jq,id){\nreturn _47(jq[0],id);\n},isLeaf:function(jq,id){\nvar _c4=$.data(jq[0],\"treegrid\").options;\nvar tr=_c4.finder.getTr(jq[0],id);\nvar hit=tr.find(\"span.tree-hit\");\nreturn hit.length==0;\n},select:function(jq,id){\nreturn jq.each(function(){\n$(this).datagrid(\"selectRow\",id);\n});\n},unselect:function(jq,id){\nreturn jq.each(function(){\n$(this).datagrid(\"unselectRow\",id);\n});\n},collapse:function(jq,id){\nreturn jq.each(function(){\n_74(this,id);\n});\n},expand:function(jq,id){\nreturn jq.each(function(){\n_78(this,id);\n});\n},toggle:function(jq,id){\nreturn jq.each(function(){\n_36(this,id);\n});\n},collapseAll:function(jq,id){\nreturn jq.each(function(){\n_82(this,id);\n});\n},expandAll:function(jq,id){\nreturn jq.each(function(){\n_87(this,id);\n});\n},expandTo:function(jq,id){\nreturn jq.each(function(){\n_8c(this,id);\n});\n},append:function(jq,_c5){\nreturn jq.each(function(){\n_90(this,_c5);\n});\n},insert:function(jq,_c6){\nreturn jq.each(function(){\n_96(this,_c6);\n});\n},remove:function(jq,id){\nreturn jq.each(function(){\n_a2(this,id);\n});\n},pop:function(jq,id){\nvar row=jq.treegrid(\"find\",id);\njq.treegrid(\"remove\",id);\nreturn row;\n},refresh:function(jq,id){\nreturn jq.each(function(){\nvar _c7=$.data(this,\"treegrid\").options;\n_c7.view.refreshRow.call(_c7.view,this,id);\n});\n},update:function(jq,_c8){\nreturn jq.each(function(){\nvar _c9=$.data(this,\"treegrid\").options;\n_c9.view.updateRow.call(_c9.view,this,_c8.id,_c8.row);\n});\n},beginEdit:function(jq,id){\nreturn jq.each(function(){\n$(this).datagrid(\"beginEdit\",id);\n$(this).treegrid(\"fixRowHeight\",id);\n});\n},endEdit:function(jq,id){\nreturn jq.each(function(){\n$(this).datagrid(\"endEdit\",id);\n});\n},cancelEdit:function(jq,id){\nreturn jq.each(function(){\n$(this).datagrid(\"cancelEdit\",id);\n});\n},showLines:function(jq){\nreturn jq.each(function(){\n_a6(this);\n});\n}};\n$.fn.treegrid.parseOptions=function(_ca){\nreturn $.extend({},$.fn.datagrid.parseOptions(_ca),$.parser.parseOptions(_ca,[\"treeField\",{animate:\"boolean\"}]));\n};\nvar _cb=$.extend({},$.fn.datagrid.defaults.view,{render:function(_cc,_cd,_ce){\nvar _cf=$.data(_cc,\"treegrid\").options;\nvar _d0=$(_cc).datagrid(\"getColumnFields\",_ce);\nvar _d1=$.data(_cc,\"datagrid\").rowIdPrefix;\nif(_ce){\nif(!(_cf.rownumbers||(_cf.frozenColumns&&_cf.frozenColumns.length))){\nreturn;\n}\n}\nvar _d2=this;\nif(this.treeNodes&&this.treeNodes.length){\nvar _d3=_d4(_ce,this.treeLevel,this.treeNodes);\n$(_cd).append(_d3.join(\"\"));\n}\nfunction _d4(_d5,_d6,_d7){\nvar _d8=$(_cc).treegrid(\"getParent\",_d7[0][_cf.idField]);\nvar _d9=(_d8?_d8.children.length:$(_cc).treegrid(\"getRoots\").length)-_d7.length;\nvar _da=[\"<table class=\\\"datagrid-btable\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\" border=\\\"0\\\"><tbody>\"];\nfor(var i=0;i<_d7.length;i++){\nvar row=_d7[i];\nif(row.state!=\"open\"&&row.state!=\"closed\"){\nrow.state=\"open\";\n}\nvar css=_cf.rowStyler?_cf.rowStyler.call(_cc,row):\"\";\nvar _db=\"\";\nvar _dc=\"\";\nif(typeof css==\"string\"){\n_dc=css;\n}else{\nif(css){\n_db=css[\"class\"]||\"\";\n_dc=css[\"style\"]||\"\";\n}\n}\nvar cls=\"class=\\\"datagrid-row \"+(_d9++%2&&_cf.striped?\"datagrid-row-alt \":\" \")+_db+\"\\\"\";\nvar _dd=_dc?\"style=\\\"\"+_dc+\"\\\"\":\"\";\nvar _de=_d1+\"-\"+(_d5?1:2)+\"-\"+row[_cf.idField];\n_da.push(\"<tr id=\\\"\"+_de+\"\\\" node-id=\\\"\"+row[_cf.idField]+\"\\\" \"+cls+\" \"+_dd+\">\");\n_da=_da.concat(_d2.renderRow.call(_d2,_cc,_d0,_d5,_d6,row));\n_da.push(\"</tr>\");\nif(row.children&&row.children.length){\nvar tt=_d4(_d5,_d6+1,row.children);\nvar v=row.state==\"closed\"?\"none\":\"block\";\n_da.push(\"<tr class=\\\"treegrid-tr-tree\\\"><td style=\\\"border:0px\\\" colspan=\"+(_d0.length+(_cf.rownumbers?1:0))+\"><div style=\\\"display:\"+v+\"\\\">\");\n_da=_da.concat(tt);\n_da.push(\"</div></td></tr>\");\n}\n}\n_da.push(\"</tbody></table>\");\nreturn _da;\n};\n},renderFooter:function(_df,_e0,_e1){\nvar _e2=$.data(_df,\"treegrid\").options;\nvar _e3=$.data(_df,\"treegrid\").footer||[];\nvar _e4=$(_df).datagrid(\"getColumnFields\",_e1);\nvar _e5=[\"<table class=\\\"datagrid-ftable\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\" border=\\\"0\\\"><tbody>\"];\nfor(var i=0;i<_e3.length;i++){\nvar row=_e3[i];\nrow[_e2.idField]=row[_e2.idField]||(\"foot-row-id\"+i);\n_e5.push(\"<tr class=\\\"datagrid-row\\\" node-id=\\\"\"+row[_e2.idField]+\"\\\">\");\n_e5.push(this.renderRow.call(this,_df,_e4,_e1,0,row));\n_e5.push(\"</tr>\");\n}\n_e5.push(\"</tbody></table>\");\n$(_e0).html(_e5.join(\"\"));\n},renderRow:function(_e6,_e7,_e8,_e9,row){\nvar _ea=$.data(_e6,\"treegrid\").options;\nvar cc=[];\nif(_e8&&_ea.rownumbers){\ncc.push(\"<td class=\\\"datagrid-td-rownumber\\\"><div class=\\\"datagrid-cell-rownumber\\\">0</div></td>\");\n}\nfor(var i=0;i<_e7.length;i++){\nvar _eb=_e7[i];\nvar col=$(_e6).datagrid(\"getColumnOption\",_eb);\nif(col){\nvar css=col.styler?(col.styler(row[_eb],row)||\"\"):\"\";\nvar _ec=\"\";\nvar _ed=\"\";\nif(typeof css==\"string\"){\n_ed=css;\n}else{\nif(cc){\n_ec=css[\"class\"]||\"\";\n_ed=css[\"style\"]||\"\";\n}\n}\nvar cls=_ec?\"class=\\\"\"+_ec+\"\\\"\":\"\";\nvar _ee=col.hidden?\"style=\\\"display:none;\"+_ed+\"\\\"\":(_ed?\"style=\\\"\"+_ed+\"\\\"\":\"\");\ncc.push(\"<td field=\\\"\"+_eb+\"\\\" \"+cls+\" \"+_ee+\">\");\nvar _ee=\"\";\nif(!col.checkbox){\nif(col.align){\n_ee+=\"text-align:\"+col.align+\";\";\n}\nif(!_ea.nowrap){\n_ee+=\"white-space:normal;height:auto;\";\n}else{\nif(_ea.autoRowHeight){\n_ee+=\"height:auto;\";\n}\n}\n}\ncc.push(\"<div style=\\\"\"+_ee+\"\\\" \");\nif(col.checkbox){\ncc.push(\"class=\\\"datagrid-cell-check \");\n}else{\ncc.push(\"class=\\\"datagrid-cell \"+col.cellClass);\n}\ncc.push(\"\\\">\");\nif(col.checkbox){\nif(row.checked){\ncc.push(\"<input type=\\\"checkbox\\\" checked=\\\"checked\\\"\");\n}else{\ncc.push(\"<input type=\\\"checkbox\\\"\");\n}\ncc.push(\" name=\\\"\"+_eb+\"\\\" value=\\\"\"+(row[_eb]!=undefined?row[_eb]:\"\")+\"\\\">\");\n}else{\nvar val=null;\nif(col.formatter){\nval=col.formatter(row[_eb],row);\n}else{\nval=row[_eb];\n}\nif(_eb==_ea.treeField){\nfor(var j=0;j<_e9;j++){\ncc.push(\"<span class=\\\"tree-indent\\\"></span>\");\n}\nif(row.state==\"closed\"){\ncc.push(\"<span class=\\\"tree-hit tree-collapsed\\\"></span>\");\ncc.push(\"<span class=\\\"tree-icon tree-folder \"+(row.iconCls?row.iconCls:\"\")+\"\\\"></span>\");\n}else{\nif(row.children&&row.children.length){\ncc.push(\"<span class=\\\"tree-hit tree-expanded\\\"></span>\");\ncc.push(\"<span class=\\\"tree-icon tree-folder tree-folder-open \"+(row.iconCls?row.iconCls:\"\")+\"\\\"></span>\");\n}else{\ncc.push(\"<span class=\\\"tree-indent\\\"></span>\");\ncc.push(\"<span class=\\\"tree-icon tree-file \"+(row.iconCls?row.iconCls:\"\")+\"\\\"></span>\");\n}\n}\ncc.push(\"<span class=\\\"tree-title\\\">\"+val+\"</span>\");\n}else{\ncc.push(val);\n}\n}\ncc.push(\"</div>\");\ncc.push(\"</td>\");\n}\n}\nreturn cc.join(\"\");\n},refreshRow:function(_ef,id){\nthis.updateRow.call(this,_ef,id,{});\n},updateRow:function(_f0,id,row){\nvar _f1=$.data(_f0,\"treegrid\").options;\nvar _f2=$(_f0).treegrid(\"find\",id);\n$.extend(_f2,row);\nvar _f3=$(_f0).treegrid(\"getLevel\",id)-1;\nvar _f4=_f1.rowStyler?_f1.rowStyler.call(_f0,_f2):\"\";\nvar _f5=$.data(_f0,\"datagrid\").rowIdPrefix;\nvar _f6=_f2[_f1.idField];\nfunction _f7(_f8){\nvar _f9=$(_f0).treegrid(\"getColumnFields\",_f8);\nvar tr=_f1.finder.getTr(_f0,id,\"body\",(_f8?1:2));\nvar _fa=tr.find(\"div.datagrid-cell-rownumber\").html();\nvar _fb=tr.find(\"div.datagrid-cell-check input[type=checkbox]\").is(\":checked\");\ntr.html(this.renderRow(_f0,_f9,_f8,_f3,_f2));\ntr.attr(\"style\",_f4||\"\");\ntr.find(\"div.datagrid-cell-rownumber\").html(_fa);\nif(_fb){\ntr.find(\"div.datagrid-cell-check input[type=checkbox]\")._propAttr(\"checked\",true);\n}\nif(_f6!=id){\ntr.attr(\"id\",_f5+\"-\"+(_f8?1:2)+\"-\"+_f6);\ntr.attr(\"node-id\",_f6);\n}\n};\n_f7.call(this,true);\n_f7.call(this,false);\n$(_f0).treegrid(\"fixRowHeight\",id);\n},deleteRow:function(_fc,id){\nvar _fd=$.data(_fc,\"treegrid\").options;\nvar tr=_fd.finder.getTr(_fc,id);\ntr.next(\"tr.treegrid-tr-tree\").remove();\ntr.remove();\nvar _fe=del(id);\nif(_fe){\nif(_fe.children.length==0){\ntr=_fd.finder.getTr(_fc,_fe[_fd.idField]);\ntr.next(\"tr.treegrid-tr-tree\").remove();\nvar _ff=tr.children(\"td[field=\\\"\"+_fd.treeField+\"\\\"]\").children(\"div.datagrid-cell\");\n_ff.find(\".tree-icon\").removeClass(\"tree-folder\").addClass(\"tree-file\");\n_ff.find(\".tree-hit\").remove();\n$(\"<span class=\\\"tree-indent\\\"></span>\").prependTo(_ff);\n}\n}\nfunction del(id){\nvar cc;\nvar _100=$(_fc).treegrid(\"getParent\",id);\nif(_100){\ncc=_100.children;\n}else{\ncc=$(_fc).treegrid(\"getData\");\n}\nfor(var i=0;i<cc.length;i++){\nif(cc[i][_fd.idField]==id){\ncc.splice(i,1);\nbreak;\n}\n}\nreturn _100;\n};\n},onBeforeRender:function(_101,_102,data){\nif($.isArray(_102)){\ndata={total:_102.length,rows:_102};\n_102=null;\n}\nif(!data){\nreturn false;\n}\nvar _103=$.data(_101,\"treegrid\");\nvar opts=_103.options;\nif(data.length==undefined){\nif(data.footer){\n_103.footer=data.footer;\n}\nif(data.total){\n_103.total=data.total;\n}\ndata=this.transfer(_101,_102,data.rows);\n}else{\nfunction _104(_105,_106){\nfor(var i=0;i<_105.length;i++){\nvar row=_105[i];\nrow._parentId=_106;\nif(row.children&&row.children.length){\n_104(row.children,row[opts.idField]);\n}\n}\n};\n_104(data,_102);\n}\nvar node=_47(_101,_102);\nif(node){\nif(node.children){\nnode.children=node.children.concat(data);\n}else{\nnode.children=data;\n}\n}else{\n_103.data=_103.data.concat(data);\n}\nthis.sort(_101,data);\nthis.treeNodes=data;\nthis.treeLevel=$(_101).treegrid(\"getLevel\",_102);\n},sort:function(_107,data){\nvar opts=$.data(_107,\"treegrid\").options;\nif(!opts.remoteSort&&opts.sortName){\nvar _108=opts.sortName.split(\",\");\nvar _109=opts.sortOrder.split(\",\");\n_10a(data);\n}\nfunction _10a(rows){\nrows.sort(function(r1,r2){\nvar r=0;\nfor(var i=0;i<_108.length;i++){\nvar sn=_108[i];\nvar so=_109[i];\nvar col=$(_107).treegrid(\"getColumnOption\",sn);\nvar _10b=col.sorter||function(a,b){\nreturn a==b?0:(a>b?1:-1);\n};\nr=_10b(r1[sn],r2[sn])*(so==\"asc\"?1:-1);\nif(r!=0){\nreturn r;\n}\n}\nreturn r;\n});\nfor(var i=0;i<rows.length;i++){\nvar _10c=rows[i].children;\nif(_10c&&_10c.length){\n_10a(_10c);\n}\n}\n};\n},transfer:function(_10d,_10e,data){\nvar opts=$.data(_10d,\"treegrid\").options;\nvar rows=[];\nfor(var i=0;i<data.length;i++){\nrows.push(data[i]);\n}\nvar _10f=[];\nfor(var i=0;i<rows.length;i++){\nvar row=rows[i];\nif(!_10e){\nif(!row._parentId){\n_10f.push(row);\nrows.splice(i,1);\ni--;\n}\n}else{\nif(row._parentId==_10e){\n_10f.push(row);\nrows.splice(i,1);\ni--;\n}\n}\n}\nvar toDo=[];\nfor(var i=0;i<_10f.length;i++){\ntoDo.push(_10f[i]);\n}\nwhile(toDo.length){\nvar node=toDo.shift();\nfor(var i=0;i<rows.length;i++){\nvar row=rows[i];\nif(row._parentId==node[opts.idField]){\nif(node.children){\nnode.children.push(row);\n}else{\nnode.children=[row];\n}\ntoDo.push(row);\nrows.splice(i,1);\ni--;\n}\n}\n}\nreturn _10f;\n}});\n$.fn.treegrid.defaults=$.extend({},$.fn.datagrid.defaults,{treeField:null,lines:false,animate:false,singleSelect:true,view:_cb,rowEvents:$.extend({},$.fn.datagrid.defaults.rowEvents,{mouseover:_32(true),mouseout:_32(false),click:_34}),loader:function(_110,_111,_112){\nvar opts=$(this).treegrid(\"options\");\nif(!opts.url){\nreturn false;\n}\n$.ajax({type:opts.method,url:opts.url,data:_110,dataType:\"json\",success:function(data){\n_111(data);\n},error:function(){\n_112.apply(this,arguments);\n}});\n},loadFilter:function(data,_113){\nreturn data;\n},finder:{getTr:function(_114,id,type,_115){\ntype=type||\"body\";\n_115=_115||0;\nvar dc=$.data(_114,\"datagrid\").dc;\nif(_115==0){\nvar opts=$.data(_114,\"treegrid\").options;\nvar tr1=opts.finder.getTr(_114,id,type,1);\nvar tr2=opts.finder.getTr(_114,id,type,2);\nreturn tr1.add(tr2);\n}else{\nif(type==\"body\"){\nvar tr=$(\"#\"+$.data(_114,\"datagrid\").rowIdPrefix+\"-\"+_115+\"-\"+id);\nif(!tr.length){\ntr=(_115==1?dc.body1:dc.body2).find(\"tr[node-id=\\\"\"+id+\"\\\"]\");\n}\nreturn tr;\n}else{\nif(type==\"footer\"){\nreturn (_115==1?dc.footer1:dc.footer2).find(\"tr[node-id=\\\"\"+id+\"\\\"]\");\n}else{\nif(type==\"selected\"){\nreturn (_115==1?dc.body1:dc.body2).find(\"tr.datagrid-row-selected\");\n}else{\nif(type==\"highlight\"){\nreturn (_115==1?dc.body1:dc.body2).find(\"tr.datagrid-row-over\");\n}else{\nif(type==\"checked\"){\nreturn (_115==1?dc.body1:dc.body2).find(\"tr.datagrid-row-checked\");\n}else{\nif(type==\"last\"){\nreturn (_115==1?dc.body1:dc.body2).find(\"tr:last[node-id]\");\n}else{\nif(type==\"allbody\"){\nreturn (_115==1?dc.body1:dc.body2).find(\"tr[node-id]\");\n}else{\nif(type==\"allfooter\"){\nreturn (_115==1?dc.footer1:dc.footer2).find(\"tr[node-id]\");\n}\n}\n}\n}\n}\n}\n}\n}\n}\n},getRow:function(_116,p){\nvar id=(typeof p==\"object\")?p.attr(\"node-id\"):p;\nreturn $(_116).treegrid(\"find\",id);\n},getRows:function(_117){\nreturn $(_117).treegrid(\"getChildren\");\n}},onBeforeLoad:function(row,_118){\n},onLoadSuccess:function(row,data){\n},onLoadError:function(){\n},onBeforeCollapse:function(row){\n},onCollapse:function(row){\n},onBeforeExpand:function(row){\n},onExpand:function(row){\n},onClickRow:function(row){\n},onDblClickRow:function(row){\n},onClickCell:function(_119,row){\n},onDblClickCell:function(_11a,row){\n},onContextMenu:function(e,row){\n},onBeforeEdit:function(row){\n},onAfterEdit:function(row,_11b){\n},onCancelEdit:function(row){\n}});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.validatebox.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2){\n$(_2).addClass(\"validatebox-text\");\n};\nfunction _3(_4){\nvar _5=$.data(_4,\"validatebox\");\n_5.validating=false;\nif(_5.timer){\nclearTimeout(_5.timer);\n}\n$(_4).tooltip(\"destroy\");\n$(_4).unbind();\n$(_4).remove();\n};\nfunction _6(_7){\nvar _8=$.data(_7,\"validatebox\").options;\nvar _9=$(_7);\n_9.unbind(\".validatebox\");\nif(_8.novalidate||_9.is(\":disabled\")){\nreturn;\n}\nfor(var _a in _8.events){\n$(_7).bind(_a+\".validatebox\",{target:_7},_8.events[_a]);\n}\n};\nfunction _b(e){\nvar _c=e.data.target;\nvar _d=$.data(_c,\"validatebox\");\nvar _e=$(_c);\nif($(_c).attr(\"readonly\")){\nreturn;\n}\n_d.validating=true;\n_d.value=undefined;\n(function(){\nif(_d.validating){\nif(_d.value!=_e.val()){\n_d.value=_e.val();\nif(_d.timer){\nclearTimeout(_d.timer);\n}\n_d.timer=setTimeout(function(){\n$(_c).validatebox(\"validate\");\n},_d.options.delay);\n}else{\n_f(_c);\n}\nsetTimeout(arguments.callee,200);\n}\n})();\n};\nfunction _10(e){\nvar _11=e.data.target;\nvar _12=$.data(_11,\"validatebox\");\nif(_12.timer){\nclearTimeout(_12.timer);\n_12.timer=undefined;\n}\n_12.validating=false;\n_13(_11);\n};\nfunction _14(e){\nvar _15=e.data.target;\nif($(_15).hasClass(\"validatebox-invalid\")){\n_16(_15);\n}\n};\nfunction _17(e){\nvar _18=e.data.target;\nvar _19=$.data(_18,\"validatebox\");\nif(!_19.validating){\n_13(_18);\n}\n};\nfunction _16(_1a){\nvar _1b=$.data(_1a,\"validatebox\");\nvar _1c=_1b.options;\n$(_1a).tooltip($.extend({},_1c.tipOptions,{content:_1b.message,position:_1c.tipPosition,deltaX:_1c.deltaX})).tooltip(\"show\");\n_1b.tip=true;\n};\nfunction _f(_1d){\nvar _1e=$.data(_1d,\"validatebox\");\nif(_1e&&_1e.tip){\n$(_1d).tooltip(\"reposition\");\n}\n};\nfunction _13(_1f){\nvar _20=$.data(_1f,\"validatebox\");\n_20.tip=false;\n$(_1f).tooltip(\"hide\");\n};\nfunction _21(_22){\nvar _23=$.data(_22,\"validatebox\");\nvar _24=_23.options;\nvar box=$(_22);\n_24.onBeforeValidate.call(_22);\nvar _25=_26();\n_24.onValidate.call(_22,_25);\nreturn _25;\nfunction _27(msg){\n_23.message=msg;\n};\nfunction _28(_29,_2a){\nvar _2b=box.val();\nvar _2c=/([a-zA-Z_]+)(.*)/.exec(_29);\nvar _2d=_24.rules[_2c[1]];\nif(_2d&&_2b){\nvar _2e=_2a||_24.validParams||eval(_2c[2]);\nif(!_2d[\"validator\"].call(_22,_2b,_2e)){\nbox.addClass(\"validatebox-invalid\");\nvar _2f=_2d[\"message\"];\nif(_2e){\nfor(var i=0;i<_2e.length;i++){\n_2f=_2f.replace(new RegExp(\"\\\\{\"+i+\"\\\\}\",\"g\"),_2e[i]);\n}\n}\n_27(_24.invalidMessage||_2f);\nif(_23.validating){\n_16(_22);\n}\nreturn false;\n}\n}\nreturn true;\n};\nfunction _26(){\nbox.removeClass(\"validatebox-invalid\");\n_13(_22);\nif(_24.novalidate||box.is(\":disabled\")){\nreturn true;\n}\nif(_24.required){\nif(box.val()==\"\"){\nbox.addClass(\"validatebox-invalid\");\n_27(_24.missingMessage);\nif(_23.validating){\n_16(_22);\n}\nreturn false;\n}\n}\nif(_24.validType){\nif($.isArray(_24.validType)){\nfor(var i=0;i<_24.validType.length;i++){\nif(!_28(_24.validType[i])){\nreturn false;\n}\n}\n}else{\nif(typeof _24.validType==\"string\"){\nif(!_28(_24.validType)){\nreturn false;\n}\n}else{\nfor(var _30 in _24.validType){\nvar _31=_24.validType[_30];\nif(!_28(_30,_31)){\nreturn false;\n}\n}\n}\n}\n}\nreturn true;\n};\n};\nfunction _32(_33,_34){\nvar _35=$.data(_33,\"validatebox\").options;\nif(_34!=undefined){\n_35.novalidate=_34;\n}\nif(_35.novalidate){\n$(_33).removeClass(\"validatebox-invalid\");\n_13(_33);\n}\n_21(_33);\n_6(_33);\n};\n$.fn.validatebox=function(_36,_37){\nif(typeof _36==\"string\"){\nreturn $.fn.validatebox.methods[_36](this,_37);\n}\n_36=_36||{};\nreturn this.each(function(){\nvar _38=$.data(this,\"validatebox\");\nif(_38){\n$.extend(_38.options,_36);\n}else{\n_1(this);\n$.data(this,\"validatebox\",{options:$.extend({},$.fn.validatebox.defaults,$.fn.validatebox.parseOptions(this),_36)});\n}\n_32(this);\n_21(this);\n});\n};\n$.fn.validatebox.methods={options:function(jq){\nreturn $.data(jq[0],\"validatebox\").options;\n},destroy:function(jq){\nreturn jq.each(function(){\n_3(this);\n});\n},validate:function(jq){\nreturn jq.each(function(){\n_21(this);\n});\n},isValid:function(jq){\nreturn _21(jq[0]);\n},enableValidation:function(jq){\nreturn jq.each(function(){\n_32(this,false);\n});\n},disableValidation:function(jq){\nreturn jq.each(function(){\n_32(this,true);\n});\n}};\n$.fn.validatebox.parseOptions=function(_39){\nvar t=$(_39);\nreturn $.extend({},$.parser.parseOptions(_39,[\"validType\",\"missingMessage\",\"invalidMessage\",\"tipPosition\",{delay:\"number\",deltaX:\"number\"}]),{required:(t.attr(\"required\")?true:undefined),novalidate:(t.attr(\"novalidate\")!=undefined?true:undefined)});\n};\n$.fn.validatebox.defaults={required:false,validType:null,validParams:null,delay:200,missingMessage:\"This field is required.\",invalidMessage:null,tipPosition:\"right\",deltaX:0,novalidate:false,events:{focus:_b,blur:_10,mouseenter:_14,mouseleave:_17,click:function(e){\nvar t=$(e.data.target);\nif(!t.is(\":focus\")){\nt.trigger(\"focus\");\n}\n}},tipOptions:{showEvent:\"none\",hideEvent:\"none\",showDelay:0,hideDelay:0,zIndex:\"\",onShow:function(){\n$(this).tooltip(\"tip\").css({color:\"#000\",borderColor:\"#CC9933\",backgroundColor:\"#FFFFCC\"});\n},onHide:function(){\n$(this).tooltip(\"destroy\");\n}},rules:{email:{validator:function(_3a){\nreturn /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?$/i.test(_3a);\n},message:\"Please enter a valid email address.\"},url:{validator:function(_3b){\nreturn /^(https?|ftp):\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i.test(_3b);\n},message:\"Please enter a valid URL.\"},length:{validator:function(_3c,_3d){\nvar len=$.trim(_3c).length;\nreturn len>=_3d[0]&&len<=_3d[1];\n},message:\"Please enter a value between {0} and {1}.\"},remote:{validator:function(_3e,_3f){\nvar _40={};\n_40[_3f[1]]=_3e;\nvar _41=$.ajax({url:_3f[0],dataType:\"json\",data:_40,async:false,cache:false,type:\"post\"}).responseText;\nreturn _41==\"true\";\n},message:\"Please fix this field.\"}},onBeforeValidate:function(){\n},onValidate:function(_42){\n}};\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/plugins/jquery.window.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n(function($){\nfunction _1(_2,_3){\nvar _4=$.data(_2,\"window\");\nif(_3){\nif(_3.left!=null){\n_4.options.left=_3.left;\n}\nif(_3.top!=null){\n_4.options.top=_3.top;\n}\n}\n$(_2).panel(\"move\",_4.options);\nif(_4.shadow){\n_4.shadow.css({left:_4.options.left,top:_4.options.top});\n}\n};\nfunction _5(_6,_7){\nvar _8=$.data(_6,\"window\").options;\nvar pp=$(_6).window(\"panel\");\nvar _9=pp._outerWidth();\nif(_8.inline){\nvar _a=pp.parent();\n_8.left=Math.ceil((_a.width()-_9)/2+_a.scrollLeft());\n}else{\n_8.left=Math.ceil(($(window)._outerWidth()-_9)/2+$(document).scrollLeft());\n}\nif(_7){\n_1(_6);\n}\n};\nfunction _b(_c,_d){\nvar _e=$.data(_c,\"window\").options;\nvar pp=$(_c).window(\"panel\");\nvar _f=pp._outerHeight();\nif(_e.inline){\nvar _10=pp.parent();\n_e.top=Math.ceil((_10.height()-_f)/2+_10.scrollTop());\n}else{\n_e.top=Math.ceil(($(window)._outerHeight()-_f)/2+$(document).scrollTop());\n}\nif(_d){\n_1(_c);\n}\n};\nfunction _11(_12){\nvar _13=$.data(_12,\"window\");\nvar _14=_13.options;\nvar win=$(_12).panel($.extend({},_13.options,{border:false,doSize:true,closed:true,cls:\"window\",headerCls:\"window-header\",bodyCls:\"window-body \"+(_14.noheader?\"window-body-noheader\":\"\"),onBeforeDestroy:function(){\nif(_14.onBeforeDestroy.call(_12)==false){\nreturn false;\n}\nif(_13.shadow){\n_13.shadow.remove();\n}\nif(_13.mask){\n_13.mask.remove();\n}\n},onClose:function(){\nif(_13.shadow){\n_13.shadow.hide();\n}\nif(_13.mask){\n_13.mask.hide();\n}\n_14.onClose.call(_12);\n},onOpen:function(){\nif(_13.mask){\n_13.mask.css({display:\"block\",zIndex:$.fn.window.defaults.zIndex++});\n}\nif(_13.shadow){\n_13.shadow.css({display:\"block\",zIndex:$.fn.window.defaults.zIndex++,left:_14.left,top:_14.top,width:_13.window._outerWidth(),height:_13.window._outerHeight()});\n}\n_13.window.css(\"z-index\",$.fn.window.defaults.zIndex++);\n_14.onOpen.call(_12);\n},onResize:function(_15,_16){\nvar _17=$(this).panel(\"options\");\n$.extend(_14,{width:_17.width,height:_17.height,left:_17.left,top:_17.top});\nif(_13.shadow){\n_13.shadow.css({left:_14.left,top:_14.top,width:_13.window._outerWidth(),height:_13.window._outerHeight()});\n}\n_14.onResize.call(_12,_15,_16);\n},onMinimize:function(){\nif(_13.shadow){\n_13.shadow.hide();\n}\nif(_13.mask){\n_13.mask.hide();\n}\n_13.options.onMinimize.call(_12);\n},onBeforeCollapse:function(){\nif(_14.onBeforeCollapse.call(_12)==false){\nreturn false;\n}\nif(_13.shadow){\n_13.shadow.hide();\n}\n},onExpand:function(){\nif(_13.shadow){\n_13.shadow.show();\n}\n_14.onExpand.call(_12);\n}}));\n_13.window=win.panel(\"panel\");\nif(_13.mask){\n_13.mask.remove();\n}\nif(_14.modal==true){\n_13.mask=$(\"<div class=\\\"window-mask\\\"></div>\").insertAfter(_13.window);\n_13.mask.css({width:(_14.inline?_13.mask.parent().width():_18().width),height:(_14.inline?_13.mask.parent().height():_18().height),display:\"none\"});\n}\nif(_13.shadow){\n_13.shadow.remove();\n}\nif(_14.shadow==true){\n_13.shadow=$(\"<div class=\\\"window-shadow\\\"></div>\").insertAfter(_13.window);\n_13.shadow.css({display:\"none\"});\n}\nif(_14.left==null){\n_5(_12);\n}\nif(_14.top==null){\n_b(_12);\n}\n_1(_12);\nif(!_14.closed){\nwin.window(\"open\");\n}\n};\nfunction _19(_1a){\nvar _1b=$.data(_1a,\"window\");\n_1b.window.draggable({handle:\">div.panel-header>div.panel-title\",disabled:_1b.options.draggable==false,onStartDrag:function(e){\nif(_1b.mask){\n_1b.mask.css(\"z-index\",$.fn.window.defaults.zIndex++);\n}\nif(_1b.shadow){\n_1b.shadow.css(\"z-index\",$.fn.window.defaults.zIndex++);\n}\n_1b.window.css(\"z-index\",$.fn.window.defaults.zIndex++);\nif(!_1b.proxy){\n_1b.proxy=$(\"<div class=\\\"window-proxy\\\"></div>\").insertAfter(_1b.window);\n}\n_1b.proxy.css({display:\"none\",zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top});\n_1b.proxy._outerWidth(_1b.window._outerWidth());\n_1b.proxy._outerHeight(_1b.window._outerHeight());\nsetTimeout(function(){\nif(_1b.proxy){\n_1b.proxy.show();\n}\n},500);\n},onDrag:function(e){\n_1b.proxy.css({display:\"block\",left:e.data.left,top:e.data.top});\nreturn false;\n},onStopDrag:function(e){\n_1b.options.left=e.data.left;\n_1b.options.top=e.data.top;\n$(_1a).window(\"move\");\n_1b.proxy.remove();\n_1b.proxy=null;\n}});\n_1b.window.resizable({disabled:_1b.options.resizable==false,onStartResize:function(e){\nif(_1b.pmask){\n_1b.pmask.remove();\n}\n_1b.pmask=$(\"<div class=\\\"window-proxy-mask\\\"></div>\").insertAfter(_1b.window);\n_1b.pmask.css({zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top,width:_1b.window._outerWidth(),height:_1b.window._outerHeight()});\nif(_1b.proxy){\n_1b.proxy.remove();\n}\n_1b.proxy=$(\"<div class=\\\"window-proxy\\\"></div>\").insertAfter(_1b.window);\n_1b.proxy.css({zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top});\n_1b.proxy._outerWidth(e.data.width)._outerHeight(e.data.height);\n},onResize:function(e){\n_1b.proxy.css({left:e.data.left,top:e.data.top});\n_1b.proxy._outerWidth(e.data.width);\n_1b.proxy._outerHeight(e.data.height);\nreturn false;\n},onStopResize:function(e){\n$(_1a).window(\"resize\",e.data);\n_1b.pmask.remove();\n_1b.pmask=null;\n_1b.proxy.remove();\n_1b.proxy=null;\n}});\n};\nfunction _18(){\nif(document.compatMode==\"BackCompat\"){\nreturn {width:Math.max(document.body.scrollWidth,document.body.clientWidth),height:Math.max(document.body.scrollHeight,document.body.clientHeight)};\n}else{\nreturn {width:Math.max(document.documentElement.scrollWidth,document.documentElement.clientWidth),height:Math.max(document.documentElement.scrollHeight,document.documentElement.clientHeight)};\n}\n};\n$(window).resize(function(){\n$(\"body>div.window-mask\").css({width:$(window)._outerWidth(),height:$(window)._outerHeight()});\nsetTimeout(function(){\n$(\"body>div.window-mask\").css({width:_18().width,height:_18().height});\n},50);\n});\n$.fn.window=function(_1c,_1d){\nif(typeof _1c==\"string\"){\nvar _1e=$.fn.window.methods[_1c];\nif(_1e){\nreturn _1e(this,_1d);\n}else{\nreturn this.panel(_1c,_1d);\n}\n}\n_1c=_1c||{};\nreturn this.each(function(){\nvar _1f=$.data(this,\"window\");\nif(_1f){\n$.extend(_1f.options,_1c);\n}else{\n_1f=$.data(this,\"window\",{options:$.extend({},$.fn.window.defaults,$.fn.window.parseOptions(this),_1c)});\nif(!_1f.options.inline){\ndocument.body.appendChild(this);\n}\n}\n_11(this);\n_19(this);\n});\n};\n$.fn.window.methods={options:function(jq){\nvar _20=jq.panel(\"options\");\nvar _21=$.data(jq[0],\"window\").options;\nreturn $.extend(_21,{closed:_20.closed,collapsed:_20.collapsed,minimized:_20.minimized,maximized:_20.maximized});\n},window:function(jq){\nreturn $.data(jq[0],\"window\").window;\n},move:function(jq,_22){\nreturn jq.each(function(){\n_1(this,_22);\n});\n},hcenter:function(jq){\nreturn jq.each(function(){\n_5(this,true);\n});\n},vcenter:function(jq){\nreturn jq.each(function(){\n_b(this,true);\n});\n},center:function(jq){\nreturn jq.each(function(){\n_5(this);\n_b(this);\n_1(this);\n});\n}};\n$.fn.window.parseOptions=function(_23){\nreturn $.extend({},$.fn.panel.parseOptions(_23),$.parser.parseOptions(_23,[{draggable:\"boolean\",resizable:\"boolean\",shadow:\"boolean\",modal:\"boolean\",inline:\"boolean\"}]));\n};\n$.fn.window.defaults=$.extend({},$.fn.panel.defaults,{zIndex:9000,draggable:true,resizable:true,shadow:true,modal:false,inline:false,title:\"New Window\",collapsible:true,minimizable:true,maximizable:true,closable:true,closed:false});\n})(jQuery);\n\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/readme.txt",
    "content": "Current Version: 1.4.1\r\n======================\r\nThis software is allowed to use under GPL or you need to buy commercial license for better support or other purpose.\r\nPlease contact us at info@jeasyui.com\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/easyloader.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * easyloader - jQuery EasyUI\r\n * \r\n */\r\n(function(){\r\n\tvar modules = {\r\n\t\tdraggable:{\r\n\t\t\tjs:'jquery.draggable.js'\r\n\t\t},\r\n\t\tdroppable:{\r\n\t\t\tjs:'jquery.droppable.js'\r\n\t\t},\r\n\t\tresizable:{\r\n\t\t\tjs:'jquery.resizable.js'\r\n\t\t},\r\n\t\tlinkbutton:{\r\n\t\t\tjs:'jquery.linkbutton.js',\r\n\t\t\tcss:'linkbutton.css'\r\n\t\t},\r\n\t\tprogressbar:{\r\n\t\t\tjs:'jquery.progressbar.js',\r\n\t\t\tcss:'progressbar.css'\r\n\t\t},\r\n\t\ttooltip:{\r\n\t\t\tjs:'jquery.tooltip.js',\r\n\t\t\tcss:'tooltip.css'\r\n\t\t},\r\n\t\tpagination:{\r\n\t\t\tjs:'jquery.pagination.js',\r\n\t\t\tcss:'pagination.css',\r\n\t\t\tdependencies:['linkbutton']\r\n\t\t},\r\n\t\tdatagrid:{\r\n\t\t\tjs:'jquery.datagrid.js',\r\n\t\t\tcss:'datagrid.css',\r\n\t\t\tdependencies:['panel','resizable','linkbutton','pagination']\r\n\t\t},\r\n\t\ttreegrid:{\r\n\t\t\tjs:'jquery.treegrid.js',\r\n\t\t\tcss:'tree.css',\r\n\t\t\tdependencies:['datagrid']\r\n\t\t},\r\n\t\tpropertygrid:{\r\n\t\t\tjs:'jquery.propertygrid.js',\r\n\t\t\tcss:'propertygrid.css',\r\n\t\t\tdependencies:['datagrid']\r\n\t\t},\r\n\t\tpanel: {\r\n\t\t\tjs:'jquery.panel.js',\r\n\t\t\tcss:'panel.css'\r\n\t\t},\r\n\t\twindow:{\r\n\t\t\tjs:'jquery.window.js',\r\n\t\t\tcss:'window.css',\r\n\t\t\tdependencies:['resizable','draggable','panel']\r\n\t\t},\r\n\t\tdialog:{\r\n\t\t\tjs:'jquery.dialog.js',\r\n\t\t\tcss:'dialog.css',\r\n\t\t\tdependencies:['linkbutton','window']\r\n\t\t},\r\n\t\tmessager:{\r\n\t\t\tjs:'jquery.messager.js',\r\n\t\t\tcss:'messager.css',\r\n\t\t\tdependencies:['linkbutton','window','progressbar']\r\n\t\t},\r\n\t\tlayout:{\r\n\t\t\tjs:'jquery.layout.js',\r\n\t\t\tcss:'layout.css',\r\n\t\t\tdependencies:['resizable','panel']\r\n\t\t},\r\n\t\tform:{\r\n\t\t\tjs:'jquery.form.js'\r\n\t\t},\r\n\t\tmenu:{\r\n\t\t\tjs:'jquery.menu.js',\r\n\t\t\tcss:'menu.css'\r\n\t\t},\r\n\t\ttabs:{\r\n\t\t\tjs:'jquery.tabs.js',\r\n\t\t\tcss:'tabs.css',\r\n\t\t\tdependencies:['panel','linkbutton']\r\n\t\t},\r\n\t\tmenubutton:{\r\n\t\t\tjs:'jquery.menubutton.js',\r\n\t\t\tcss:'menubutton.css',\r\n\t\t\tdependencies:['linkbutton','menu']\r\n\t\t},\r\n\t\tsplitbutton:{\r\n\t\t\tjs:'jquery.splitbutton.js',\r\n\t\t\tcss:'splitbutton.css',\r\n\t\t\tdependencies:['menubutton']\r\n\t\t},\r\n\t\taccordion:{\r\n\t\t\tjs:'jquery.accordion.js',\r\n\t\t\tcss:'accordion.css',\r\n\t\t\tdependencies:['panel']\r\n\t\t},\r\n\t\tcalendar:{\r\n\t\t\tjs:'jquery.calendar.js',\r\n\t\t\tcss:'calendar.css'\r\n\t\t},\r\n\t\ttextbox:{\r\n\t\t\tjs:'jquery.textbox.js',\r\n\t\t\tcss:'textbox.css',\r\n\t\t\tdependencies:['validatebox','linkbutton']\r\n\t\t},\r\n\t\tfilebox:{\r\n\t\t\tjs:'jquery.filebox.js',\r\n\t\t\tcss:'filebox.css',\r\n\t\t\tdependencies:['textbox']\r\n\t\t},\r\n\t\tcombo:{\r\n\t\t\tjs:'jquery.combo.js',\r\n\t\t\tcss:'combo.css',\r\n\t\t\tdependencies:['panel','textbox']\r\n\t\t},\r\n\t\tcombobox:{\r\n\t\t\tjs:'jquery.combobox.js',\r\n\t\t\tcss:'combobox.css',\r\n\t\t\tdependencies:['combo']\r\n\t\t},\r\n\t\tcombotree:{\r\n\t\t\tjs:'jquery.combotree.js',\r\n\t\t\tdependencies:['combo','tree']\r\n\t\t},\r\n\t\tcombogrid:{\r\n\t\t\tjs:'jquery.combogrid.js',\r\n\t\t\tdependencies:['combo','datagrid']\r\n\t\t},\r\n\t\tvalidatebox:{\r\n\t\t\tjs:'jquery.validatebox.js',\r\n\t\t\tcss:'validatebox.css',\r\n\t\t\tdependencies:['tooltip']\r\n\t\t},\r\n\t\tnumberbox:{\r\n\t\t\tjs:'jquery.numberbox.js',\r\n\t\t\tdependencies:['textbox']\r\n\t\t},\r\n\t\tsearchbox:{\r\n\t\t\tjs:'jquery.searchbox.js',\r\n\t\t\tcss:'searchbox.css',\r\n\t\t\tdependencies:['menubutton','textbox']\r\n\t\t},\r\n\t\tspinner:{\r\n\t\t\tjs:'jquery.spinner.js',\r\n\t\t\tcss:'spinner.css',\r\n\t\t\tdependencies:['textbox']\r\n\t\t},\r\n\t\tnumberspinner:{\r\n\t\t\tjs:'jquery.numberspinner.js',\r\n\t\t\tdependencies:['spinner','numberbox']\r\n\t\t},\r\n\t\ttimespinner:{\r\n\t\t\tjs:'jquery.timespinner.js',\r\n\t\t\tdependencies:['spinner']\r\n\t\t},\r\n\t\ttree:{\r\n\t\t\tjs:'jquery.tree.js',\r\n\t\t\tcss:'tree.css',\r\n\t\t\tdependencies:['draggable','droppable']\r\n\t\t},\r\n\t\tdatebox:{\r\n\t\t\tjs:'jquery.datebox.js',\r\n\t\t\tcss:'datebox.css',\r\n\t\t\tdependencies:['calendar','combo']\r\n\t\t},\r\n\t\tdatetimebox:{\r\n\t\t\tjs:'jquery.datetimebox.js',\r\n\t\t\tdependencies:['datebox','timespinner']\r\n\t\t},\r\n\t\tslider:{\r\n\t\t\tjs:'jquery.slider.js',\r\n\t\t\tdependencies:['draggable']\r\n\t\t},\r\n\t\ttooltip:{\r\n\t\t\tjs:'jquery.tooltip.js'\r\n\t\t},\r\n\t\tparser:{\r\n\t\t\tjs:'jquery.parser.js'\r\n\t\t}\r\n\t};\r\n\t\r\n\tvar locales = {\r\n\t\t'af':'easyui-lang-af.js',\r\n\t\t'ar':'easyui-lang-ar.js',\r\n\t\t'bg':'easyui-lang-bg.js',\r\n\t\t'ca':'easyui-lang-ca.js',\r\n\t\t'cs':'easyui-lang-cs.js',\r\n\t\t'cz':'easyui-lang-cz.js',\r\n\t\t'da':'easyui-lang-da.js',\r\n\t\t'de':'easyui-lang-de.js',\r\n\t\t'el':'easyui-lang-el.js',\r\n\t\t'en':'easyui-lang-en.js',\r\n\t\t'es':'easyui-lang-es.js',\r\n\t\t'fr':'easyui-lang-fr.js',\r\n\t\t'it':'easyui-lang-it.js',\r\n\t\t'jp':'easyui-lang-jp.js',\r\n\t\t'nl':'easyui-lang-nl.js',\r\n\t\t'pl':'easyui-lang-pl.js',\r\n\t\t'pt_BR':'easyui-lang-pt_BR.js',\r\n\t\t'ru':'easyui-lang-ru.js',\r\n\t\t'sv_SE':'easyui-lang-sv_SE.js',\r\n\t\t'tr':'easyui-lang-tr.js',\r\n\t\t'zh_CN':'easyui-lang-zh_CN.js',\r\n\t\t'zh_TW':'easyui-lang-zh_TW.js'\r\n\t};\r\n\t\r\n\tvar queues = {};\r\n\t\r\n\tfunction loadJs(url, callback){\r\n\t\tvar done = false;\r\n\t\tvar script = document.createElement('script');\r\n\t\tscript.type = 'text/javascript';\r\n\t\tscript.language = 'javascript';\r\n\t\tscript.src = url;\r\n\t\tscript.onload = script.onreadystatechange = function(){\r\n\t\t\tif (!done && (!script.readyState || script.readyState == 'loaded' || script.readyState == 'complete')){\r\n\t\t\t\tdone = true;\r\n\t\t\t\tscript.onload = script.onreadystatechange = null;\r\n\t\t\t\tif (callback){\r\n\t\t\t\t\tcallback.call(script);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tdocument.getElementsByTagName(\"head\")[0].appendChild(script);\r\n\t}\r\n\t\r\n\tfunction runJs(url, callback){\r\n\t\tloadJs(url, function(){\r\n\t\t\tdocument.getElementsByTagName(\"head\")[0].removeChild(this);\r\n\t\t\tif (callback){\r\n\t\t\t\tcallback();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\tfunction loadCss(url, callback){\r\n\t\tvar link = document.createElement('link');\r\n\t\tlink.rel = 'stylesheet';\r\n\t\tlink.type = 'text/css';\r\n\t\tlink.media = 'screen';\r\n\t\tlink.href = url;\r\n\t\tdocument.getElementsByTagName('head')[0].appendChild(link);\r\n\t\tif (callback){\r\n\t\t\tcallback.call(link);\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction loadSingle(name, callback){\r\n\t\tqueues[name] = 'loading';\r\n\t\t\r\n\t\tvar module = modules[name];\r\n\t\tvar jsStatus = 'loading';\r\n\t\tvar cssStatus = (easyloader.css && module['css']) ? 'loading' : 'loaded';\r\n\t\t\r\n\t\tif (easyloader.css && module['css']){\r\n\t\t\tif (/^http/i.test(module['css'])){\r\n\t\t\t\tvar url = module['css'];\r\n\t\t\t} else {\r\n\t\t\t\tvar url = easyloader.base + 'themes/' + easyloader.theme + '/' + module['css'];\r\n\t\t\t}\r\n\t\t\tloadCss(url, function(){\r\n\t\t\t\tcssStatus = 'loaded';\r\n\t\t\t\tif (jsStatus == 'loaded' && cssStatus == 'loaded'){\r\n\t\t\t\t\tfinish();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\t\r\n\t\tif (/^http/i.test(module['js'])){\r\n\t\t\tvar url = module['js'];\r\n\t\t} else {\r\n\t\t\tvar url = easyloader.base + 'plugins/' + module['js'];\r\n\t\t}\r\n\t\tloadJs(url, function(){\r\n\t\t\tjsStatus = 'loaded';\r\n\t\t\tif (jsStatus == 'loaded' && cssStatus == 'loaded'){\r\n\t\t\t\tfinish();\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\tfunction finish(){\r\n\t\t\tqueues[name] = 'loaded';\r\n\t\t\teasyloader.onProgress(name);\r\n\t\t\tif (callback){\r\n\t\t\t\tcallback();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction loadModule(name, callback){\r\n\t\tvar mm = [];\r\n\t\tvar doLoad = false;\r\n\t\t\r\n\t\tif (typeof name == 'string'){\r\n\t\t\tadd(name);\r\n\t\t} else {\r\n\t\t\tfor(var i=0; i<name.length; i++){\r\n\t\t\t\tadd(name[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tfunction add(name){\r\n\t\t\tif (!modules[name]) return;\r\n\t\t\tvar d = modules[name]['dependencies'];\r\n\t\t\tif (d){\r\n\t\t\t\tfor(var i=0; i<d.length; i++){\r\n\t\t\t\t\tadd(d[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tmm.push(name);\r\n\t\t}\r\n\t\t\r\n\t\tfunction finish(){\r\n\t\t\tif (callback){\r\n\t\t\t\tcallback();\r\n\t\t\t}\r\n\t\t\teasyloader.onLoad(name);\r\n\t\t}\r\n\t\t\r\n\t\tvar time = 0;\r\n\t\tfunction loadMm(){\r\n\t\t\tif (mm.length){\r\n\t\t\t\tvar m = mm[0];\t// the first module\r\n\t\t\t\tif (!queues[m]){\r\n\t\t\t\t\tdoLoad = true;\r\n\t\t\t\t\tloadSingle(m, function(){\r\n\t\t\t\t\t\tmm.shift();\r\n\t\t\t\t\t\tloadMm();\r\n\t\t\t\t\t});\r\n\t\t\t\t} else if (queues[m] == 'loaded'){\r\n\t\t\t\t\tmm.shift();\r\n\t\t\t\t\tloadMm();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (time < easyloader.timeout){\r\n\t\t\t\t\t\ttime += 10;\r\n\t\t\t\t\t\tsetTimeout(arguments.callee, 10);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (easyloader.locale && doLoad == true && locales[easyloader.locale]){\r\n\t\t\t\t\tvar url = easyloader.base + 'locale/' + locales[easyloader.locale];\r\n\t\t\t\t\trunJs(url, function(){\r\n\t\t\t\t\t\tfinish();\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tfinish();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tloadMm();\r\n\t}\r\n\t\r\n\teasyloader = {\r\n\t\tmodules:modules,\r\n\t\tlocales:locales,\r\n\t\t\r\n\t\tbase:'.',\r\n\t\ttheme:'default',\r\n\t\tcss:true,\r\n\t\tlocale:null,\r\n\t\ttimeout:2000,\r\n\t\r\n\t\tload: function(name, callback){\r\n\t\t\tif (/\\.css$/i.test(name)){\r\n\t\t\t\tif (/^http/i.test(name)){\r\n\t\t\t\t\tloadCss(name, callback);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tloadCss(easyloader.base + name, callback);\r\n\t\t\t\t}\r\n\t\t\t} else if (/\\.js$/i.test(name)){\r\n\t\t\t\tif (/^http/i.test(name)){\r\n\t\t\t\t\tloadJs(name, callback);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tloadJs(easyloader.base + name, callback);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tloadModule(name, callback);\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tonProgress: function(name){},\r\n\t\tonLoad: function(name){}\r\n\t};\r\n\r\n\tvar scripts = document.getElementsByTagName('script');\r\n\tfor(var i=0; i<scripts.length; i++){\r\n\t\tvar src = scripts[i].src;\r\n\t\tif (!src) continue;\r\n\t\tvar m = src.match(/easyloader\\.js(\\W|$)/i);\r\n\t\tif (m){\r\n\t\t\teasyloader.base = src.substring(0, m.index);\r\n\t\t}\r\n\t}\r\n\r\n\twindow.using = easyloader.load;\r\n\t\r\n\tif (window.jQuery){\r\n\t\tjQuery(function(){\r\n\t\t\teasyloader.load('parser', function(){\r\n\t\t\t\tjQuery.parser.parse();\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\t\r\n})();\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.accordion.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * accordion - jQuery EasyUI\r\n * \r\n * Dependencies:\r\n * \t panel\r\n * \r\n */\r\n(function($){\r\n\t\r\n\tfunction setSize(container, param){\r\n\t\tvar state = $.data(container, 'accordion');\r\n\t\tvar opts = state.options;\r\n\t\tvar panels = state.panels;\r\n\t\tvar cc = $(container);\r\n\t\t\r\n\t\tif (param){\r\n\t\t\t$.extend(opts, {\r\n\t\t\t\twidth: param.width,\r\n\t\t\t\theight: param.height\r\n\t\t\t});\r\n\t\t}\r\n\t\tcc._size(opts);\r\n\t\tvar headerHeight = 0;\r\n\t\tvar bodyHeight = 'auto';\r\n\t\tvar headers = cc.find('>div.panel>div.accordion-header');\r\n\t\tif (headers.length){\r\n\t\t\theaderHeight = $(headers[0]).css('height', '')._outerHeight();\r\n\t\t}\r\n\t\tif (!isNaN(parseInt(opts.height))){\r\n\t\t\tbodyHeight = cc.height() - headerHeight*headers.length;\r\n\t\t}\r\n\t\t\r\n\t\t_resize(true, bodyHeight - _resize(false) + 1);\r\n\t\t\r\n\t\tfunction _resize(collapsible, height){\r\n\t\t\tvar totalHeight = 0;\r\n\t\t\tfor(var i=0; i<panels.length; i++){\r\n\t\t\t\tvar p = panels[i];\r\n\t\t\t\tvar h = p.panel('header')._outerHeight(headerHeight);\r\n\t\t\t\tif (p.panel('options').collapsible == collapsible){\r\n\t\t\t\t\tvar pheight = isNaN(height) ? undefined : (height+headerHeight*h.length);\r\n\t\t\t\t\tp.panel('resize', {\r\n\t\t\t\t\t\twidth: cc.width(),\r\n\t\t\t\t\t\theight: (collapsible ? pheight : undefined)\r\n\t\t\t\t\t});\r\n\t\t\t\t\ttotalHeight += p.panel('panel').outerHeight()-headerHeight*h.length;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn totalHeight;\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * find a panel by specified property, return the panel object or panel index.\r\n\t */\r\n\tfunction findBy(container, property, value, all){\r\n\t\tvar panels = $.data(container, 'accordion').panels;\r\n\t\tvar pp = [];\r\n\t\tfor(var i=0; i<panels.length; i++){\r\n\t\t\tvar p = panels[i];\r\n\t\t\tif (property){\r\n\t\t\t\tif (p.panel('options')[property] == value){\r\n\t\t\t\t\tpp.push(p);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (p[0] == $(value)[0]){\r\n\t\t\t\t\treturn i;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (property){\r\n\t\t\treturn all ? pp : (pp.length ? pp[0] : null);\r\n\t\t} else {\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction getSelections(container){\r\n\t\treturn findBy(container, 'collapsed', false, true);\r\n\t}\r\n\t\r\n\tfunction getSelected(container){\r\n\t\tvar pp = getSelections(container);\r\n\t\treturn pp.length ? pp[0] : null;\r\n\t}\r\n\t\r\n\t/**\r\n\t * get panel index, start with 0\r\n\t */\r\n\tfunction getPanelIndex(container, panel){\r\n\t\treturn findBy(container, null, panel);\r\n\t}\r\n\t\r\n\t/**\r\n\t * get the specified panel.\r\n\t */\r\n\tfunction getPanel(container, which){\r\n\t\tvar panels = $.data(container, 'accordion').panels;\r\n\t\tif (typeof which == 'number'){\r\n\t\t\tif (which < 0 || which >= panels.length){\r\n\t\t\t\treturn null;\r\n\t\t\t} else {\r\n\t\t\t\treturn panels[which];\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn findBy(container, 'title', which);\r\n\t}\r\n\t\r\n\tfunction setProperties(container){\r\n\t\tvar opts = $.data(container, 'accordion').options;\r\n\t\tvar cc = $(container);\r\n\t\tif (opts.border){\r\n\t\t\tcc.removeClass('accordion-noborder');\r\n\t\t} else {\r\n\t\t\tcc.addClass('accordion-noborder');\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction init(container){\r\n\t\tvar state = $.data(container, 'accordion');\r\n\t\tvar cc = $(container);\r\n\t\tcc.addClass('accordion');\r\n\t\t\r\n\t\tstate.panels = [];\r\n\t\tcc.children('div').each(function(){\r\n\t\t\tvar opts = $.extend({}, $.parser.parseOptions(this), {\r\n\t\t\t\tselected: ($(this).attr('selected') ? true : undefined)\r\n\t\t\t});\r\n\t\t\tvar pp = $(this);\r\n\t\t\tstate.panels.push(pp);\r\n\t\t\tcreatePanel(container, pp, opts);\r\n\t\t});\r\n\t\t\r\n\t\tcc.bind('_resize', function(e,force){\r\n\t\t\tif ($(this).hasClass('easyui-fluid') || force){\r\n\t\t\t\tsetSize(container);\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t});\r\n\t}\r\n\t\r\n\tfunction createPanel(container, pp, options){\r\n\t\tvar opts = $.data(container, 'accordion').options;\r\n\t\tpp.panel($.extend({}, {\r\n\t\t\tcollapsible: true,\r\n\t\t\tminimizable: false,\r\n\t\t\tmaximizable: false,\r\n\t\t\tclosable: false,\r\n\t\t\tdoSize: false,\r\n\t\t\tcollapsed: true,\r\n\t\t\theaderCls: 'accordion-header',\r\n\t\t\tbodyCls: 'accordion-body'\r\n\t\t}, options, {\r\n\t\t\tonBeforeExpand: function(){\r\n\t\t\t\tif (options.onBeforeExpand){\r\n\t\t\t\t\tif (options.onBeforeExpand.call(this) == false){return false}\r\n\t\t\t\t}\r\n\t\t\t\tif (!opts.multiple){\r\n\t\t\t\t\t// get all selected panel\r\n\t\t\t\t\tvar all = $.grep(getSelections(container), function(p){\r\n\t\t\t\t\t\treturn p.panel('options').collapsible;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tfor(var i=0; i<all.length; i++){\r\n\t\t\t\t\t\tunselect(container, getPanelIndex(container, all[i]));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tvar header = $(this).panel('header');\r\n\t\t\t\theader.addClass('accordion-header-selected');\r\n\t\t\t\theader.find('.accordion-collapse').removeClass('accordion-expand');\r\n\t\t\t},\r\n\t\t\tonExpand: function(){\r\n\t\t\t\tif (options.onExpand){options.onExpand.call(this)}\r\n\t\t\t\topts.onSelect.call(container, $(this).panel('options').title, getPanelIndex(container, this));\r\n\t\t\t},\r\n\t\t\tonBeforeCollapse: function(){\r\n\t\t\t\tif (options.onBeforeCollapse){\r\n\t\t\t\t\tif (options.onBeforeCollapse.call(this) == false){return false}\r\n\t\t\t\t}\r\n\t\t\t\tvar header = $(this).panel('header');\r\n\t\t\t\theader.removeClass('accordion-header-selected');\r\n\t\t\t\theader.find('.accordion-collapse').addClass('accordion-expand');\r\n\t\t\t},\r\n\t\t\tonCollapse: function(){\r\n\t\t\t\tif (options.onCollapse){options.onCollapse.call(this)}\r\n\t\t\t\topts.onUnselect.call(container, $(this).panel('options').title, getPanelIndex(container, this));\r\n\t\t\t}\r\n\t\t}));\r\n\t\t\r\n\t\tvar header = pp.panel('header');\r\n\t\tvar tool = header.children('div.panel-tool');\r\n\t\ttool.children('a.panel-tool-collapse').hide();\t// hide the old collapse button\r\n\t\tvar t = $('<a href=\"javascript:void(0)\"></a>').addClass('accordion-collapse accordion-expand').appendTo(tool);\r\n\t\tt.bind('click', function(){\r\n\t\t\tvar index = getPanelIndex(container, pp);\r\n\t\t\tif (pp.panel('options').collapsed){\r\n\t\t\t\tselect(container, index);\r\n\t\t\t} else {\r\n\t\t\t\tunselect(container, index);\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t});\r\n\t\tpp.panel('options').collapsible ? t.show() : t.hide();\r\n\t\t\r\n\t\theader.click(function(){\r\n\t\t\t$(this).find('a.accordion-collapse:visible').triggerHandler('click');\r\n\t\t\treturn false;\r\n\t\t});\r\n\t}\r\n\t\r\n\t/**\r\n\t * select and set the specified panel active\r\n\t */\r\n\tfunction select(container, which){\r\n\t\tvar p = getPanel(container, which);\r\n\t\tif (!p){return}\r\n\t\tstopAnimate(container);\r\n\t\tvar opts = $.data(container, 'accordion').options;\r\n\t\tp.panel('expand', opts.animate);\r\n\t}\r\n\t\r\n\tfunction unselect(container, which){\r\n\t\tvar p = getPanel(container, which);\r\n\t\tif (!p){return}\r\n\t\tstopAnimate(container);\r\n\t\tvar opts = $.data(container, 'accordion').options;\r\n\t\tp.panel('collapse', opts.animate);\r\n\t}\r\n\t\r\n\tfunction doFirstSelect(container){\r\n\t\tvar opts = $.data(container, 'accordion').options;\r\n\t\tvar p = findBy(container, 'selected', true);\r\n\t\tif (p){\r\n\t\t\t_select(getPanelIndex(container, p));\r\n\t\t} else {\r\n\t\t\t_select(opts.selected);\r\n\t\t}\r\n\t\t\r\n\t\tfunction _select(index){\r\n\t\t\tvar animate = opts.animate;\r\n\t\t\topts.animate = false;\r\n\t\t\tselect(container, index);\r\n\t\t\topts.animate = animate;\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * stop the animation of all panels\r\n\t */\r\n\tfunction stopAnimate(container){\r\n\t\tvar panels = $.data(container, 'accordion').panels;\r\n\t\tfor(var i=0; i<panels.length; i++){\r\n\t\t\tpanels[i].stop(true,true);\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction add(container, options){\r\n\t\tvar state = $.data(container, 'accordion');\r\n\t\tvar opts = state.options;\r\n\t\tvar panels = state.panels;\r\n\t\tif (options.selected == undefined) options.selected = true;\r\n\r\n\t\tstopAnimate(container);\r\n\t\t\r\n\t\tvar pp = $('<div></div>').appendTo(container);\r\n\t\tpanels.push(pp);\r\n\t\tcreatePanel(container, pp, options);\r\n\t\tsetSize(container);\r\n\t\t\r\n\t\topts.onAdd.call(container, options.title, panels.length-1);\r\n\t\t\r\n\t\tif (options.selected){\r\n\t\t\tselect(container, panels.length-1);\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction remove(container, which){\r\n\t\tvar state = $.data(container, 'accordion');\r\n\t\tvar opts = state.options;\r\n\t\tvar panels = state.panels;\r\n\t\t\r\n\t\tstopAnimate(container);\r\n\t\t\r\n\t\tvar panel = getPanel(container, which);\r\n\t\tvar title = panel.panel('options').title;\r\n\t\tvar index = getPanelIndex(container, panel);\r\n\t\t\r\n\t\tif (!panel){return}\r\n\t\tif (opts.onBeforeRemove.call(container, title, index) == false){return}\r\n\t\t\r\n\t\tpanels.splice(index, 1);\r\n\t\tpanel.panel('destroy');\r\n\t\tif (panels.length){\r\n\t\t\tsetSize(container);\r\n\t\t\tvar curr = getSelected(container);\r\n\t\t\tif (!curr){\r\n\t\t\t\tselect(container, 0);\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\topts.onRemove.call(container, title, index);\r\n\t}\r\n\t\r\n\t$.fn.accordion = function(options, param){\r\n\t\tif (typeof options == 'string'){\r\n\t\t\treturn $.fn.accordion.methods[options](this, param);\r\n\t\t}\r\n\t\t\r\n\t\toptions = options || {};\r\n\t\treturn this.each(function(){\r\n\t\t\tvar state = $.data(this, 'accordion');\r\n\t\t\tif (state){\r\n\t\t\t\t$.extend(state.options, options);\r\n\t\t\t} else {\r\n\t\t\t\t$.data(this, 'accordion', {\r\n\t\t\t\t\toptions: $.extend({}, $.fn.accordion.defaults, $.fn.accordion.parseOptions(this), options),\r\n\t\t\t\t\taccordion: $(this).addClass('accordion'),\r\n\t\t\t\t\tpanels: []\r\n\t\t\t\t});\r\n\t\t\t\tinit(this);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tsetProperties(this);\r\n\t\t\tsetSize(this);\r\n\t\t\tdoFirstSelect(this);\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.accordion.methods = {\r\n\t\toptions: function(jq){\r\n\t\t\treturn $.data(jq[0], 'accordion').options;\r\n\t\t},\r\n\t\tpanels: function(jq){\r\n\t\t\treturn $.data(jq[0], 'accordion').panels;\r\n\t\t},\r\n\t\tresize: function(jq, param){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetSize(this, param);\r\n\t\t\t});\r\n\t\t},\r\n\t\tgetSelections: function(jq){\r\n\t\t\treturn getSelections(jq[0]);\r\n\t\t},\r\n\t\tgetSelected: function(jq){\r\n\t\t\treturn getSelected(jq[0]);\r\n\t\t},\r\n\t\tgetPanel: function(jq, which){\r\n\t\t\treturn getPanel(jq[0], which);\r\n\t\t},\r\n\t\tgetPanelIndex: function(jq, panel){\r\n\t\t\treturn getPanelIndex(jq[0], panel);\r\n\t\t},\r\n\t\tselect: function(jq, which){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tselect(this, which);\r\n\t\t\t});\r\n\t\t},\r\n\t\tunselect: function(jq, which){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tunselect(this, which);\r\n\t\t\t});\r\n\t\t},\r\n\t\tadd: function(jq, options){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tadd(this, options);\r\n\t\t\t});\r\n\t\t},\r\n\t\tremove: function(jq, which){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tremove(this, which);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.accordion.parseOptions = function(target){\r\n\t\tvar t = $(target);\r\n\t\treturn $.extend({}, $.parser.parseOptions(target, [\r\n\t\t\t'width','height',\r\n\t\t\t{fit:'boolean',border:'boolean',animate:'boolean',multiple:'boolean',selected:'number'}\r\n\t\t]));\r\n\t};\r\n\t\r\n\t$.fn.accordion.defaults = {\r\n\t\twidth: 'auto',\r\n\t\theight: 'auto',\r\n\t\tfit: false,\r\n\t\tborder: true,\r\n\t\tanimate: true,\r\n\t\tmultiple: false,\r\n\t\tselected: 0,\r\n\t\t\r\n\t\tonSelect: function(title, index){},\r\n\t\tonUnselect: function(title, index){},\r\n\t\tonAdd: function(title, index){},\r\n\t\tonBeforeRemove: function(title, index){},\r\n\t\tonRemove: function(title, index){}\r\n\t};\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.calendar.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * calendar - jQuery EasyUI\r\n * \r\n */\r\n(function($){\r\n\t\r\n\tfunction setSize(target, param){\r\n\t\tvar opts = $.data(target, 'calendar').options;\r\n\t\tvar t = $(target);\r\n\t\tif (param){\r\n\t\t\t$.extend(opts, {\r\n\t\t\t\twidth: param.width,\r\n\t\t\t\theight: param.height\r\n\t\t\t});\r\n\t\t}\r\n\t\tt._size(opts, t.parent());\r\n\t\tt.find('.calendar-body')._outerHeight(t.height() - t.find('.calendar-header')._outerHeight());\r\n\t\tif (t.find('.calendar-menu').is(':visible')){\r\n\t\t\tshowSelectMenus(target);\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction init(target){\r\n\t\t$(target).addClass('calendar').html(\r\n\t\t\t\t'<div class=\"calendar-header\">' +\r\n\t\t\t\t\t'<div class=\"calendar-nav calendar-prevmonth\"></div>' +\r\n\t\t\t\t\t'<div class=\"calendar-nav calendar-nextmonth\"></div>' +\r\n\t\t\t\t\t'<div class=\"calendar-nav calendar-prevyear\"></div>' +\r\n\t\t\t\t\t'<div class=\"calendar-nav calendar-nextyear\"></div>' +\r\n\t\t\t\t\t'<div class=\"calendar-title\">' +\r\n\t\t\t\t\t\t'<span class=\"calendar-text\"></span>' +\r\n\t\t\t\t\t'</div>' +\r\n\t\t\t\t'</div>' +\r\n\t\t\t\t'<div class=\"calendar-body\">' +\r\n\t\t\t\t\t'<div class=\"calendar-menu\">' +\r\n\t\t\t\t\t\t'<div class=\"calendar-menu-year-inner\">' +\r\n\t\t\t\t\t\t\t'<span class=\"calendar-nav calendar-menu-prev\"></span>' +\r\n\t\t\t\t\t\t\t'<span><input class=\"calendar-menu-year\" type=\"text\"></input></span>' +\r\n\t\t\t\t\t\t\t'<span class=\"calendar-nav calendar-menu-next\"></span>' +\r\n\t\t\t\t\t\t'</div>' +\r\n\t\t\t\t\t\t'<div class=\"calendar-menu-month-inner\">' +\r\n\t\t\t\t\t\t'</div>' +\r\n\t\t\t\t\t'</div>' +\r\n\t\t\t\t'</div>'\r\n\t\t);\r\n\t\t\r\n\t\t\r\n\t\t$(target).bind('_resize', function(e,force){\r\n\t\t\tif ($(this).hasClass('easyui-fluid') || force){\r\n\t\t\t\tsetSize(target);\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t});\r\n\t}\r\n\t\r\n\tfunction bindEvents(target){\r\n\t\tvar opts = $.data(target, 'calendar').options;\r\n\t\tvar menu = $(target).find('.calendar-menu');\r\n\t\tmenu.find('.calendar-menu-year').unbind('.calendar').bind('keypress.calendar', function(e){\r\n\t\t\tif (e.keyCode == 13){\r\n\t\t\t\tsetDate(true);\r\n\t\t\t}\r\n\t\t});\r\n\t\t$(target).unbind('.calendar').bind('mouseover.calendar', function(e){\r\n\t\t\tvar t = toTarget(e.target);\r\n\t\t\tif (t.hasClass('calendar-nav') || t.hasClass('calendar-text') || (t.hasClass('calendar-day') && !t.hasClass('calendar-disabled'))){\r\n\t\t\t\tt.addClass('calendar-nav-hover');\r\n\t\t\t}\r\n\t\t}).bind('mouseout.calendar', function(e){\r\n\t\t\tvar t = toTarget(e.target);\r\n\t\t\tif (t.hasClass('calendar-nav') || t.hasClass('calendar-text') || (t.hasClass('calendar-day') && !t.hasClass('calendar-disabled'))){\r\n\t\t\t\tt.removeClass('calendar-nav-hover');\r\n\t\t\t}\r\n\t\t}).bind('click.calendar', function(e){\r\n\t\t\tvar t = toTarget(e.target);\r\n\t\t\tif (t.hasClass('calendar-menu-next') || t.hasClass('calendar-nextyear')){\r\n\t\t\t\tshowYear(1);\r\n\t\t\t} else if (t.hasClass('calendar-menu-prev') || t.hasClass('calendar-prevyear')){\r\n\t\t\t\tshowYear(-1);\r\n\t\t\t} else if (t.hasClass('calendar-menu-month')){\r\n\t\t\t\tmenu.find('.calendar-selected').removeClass('calendar-selected');\r\n\t\t\t\tt.addClass('calendar-selected');\r\n\t\t\t\tsetDate(true);\r\n\t\t\t} else if (t.hasClass('calendar-prevmonth')){\r\n\t\t\t\tshowMonth(-1);\r\n\t\t\t} else if (t.hasClass('calendar-nextmonth')){\r\n\t\t\t\tshowMonth(1);\r\n\t\t\t} else if (t.hasClass('calendar-text')){\r\n\t\t\t\tif (menu.is(':visible')){\r\n\t\t\t\t\tmenu.hide();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowSelectMenus(target);\r\n\t\t\t\t}\r\n\t\t\t} else if (t.hasClass('calendar-day')){\r\n\t\t\t\tif (t.hasClass('calendar-disabled')){return}\r\n\t\t\t\tvar oldValue = opts.current;\r\n\t\t\t\tt.closest('div.calendar-body').find('.calendar-selected').removeClass('calendar-selected');\r\n\t\t\t\tt.addClass('calendar-selected');\r\n\t\t\t\tvar parts = t.attr('abbr').split(',');\r\n\t\t\t\tvar y = parseInt(parts[0]);\r\n\t\t\t\tvar m = parseInt(parts[1]);\r\n\t\t\t\tvar d = parseInt(parts[2]);\r\n\t\t\t\topts.current = new Date(y, m-1, d);\r\n\t\t\t\topts.onSelect.call(target, opts.current);\r\n\t\t\t\tif (!oldValue || oldValue.getTime() != opts.current.getTime()){\r\n\t\t\t\t\topts.onChange.call(target, opts.current, oldValue);\r\n\t\t\t\t}\r\n\t\t\t\tif (opts.year != y || opts.month != m){\r\n\t\t\t\t\topts.year = y;\r\n\t\t\t\t\topts.month = m;\r\n\t\t\t\t\tshow(target);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tfunction toTarget(t){\r\n\t\t\tvar day = $(t).closest('.calendar-day');\r\n\t\t\tif (day.length){\r\n\t\t\t\treturn day;\r\n\t\t\t} else {\r\n\t\t\t\treturn $(t);\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction setDate(hideMenu){\r\n\t\t\tvar menu = $(target).find('.calendar-menu');\r\n\t\t\tvar year = menu.find('.calendar-menu-year').val();\r\n\t\t\tvar month = menu.find('.calendar-selected').attr('abbr');\r\n\t\t\tif (!isNaN(year)){\r\n\t\t\t\topts.year = parseInt(year);\r\n\t\t\t\topts.month = parseInt(month);\r\n\t\t\t\tshow(target);\r\n\t\t\t}\r\n\t\t\tif (hideMenu){menu.hide()}\r\n\t\t}\r\n\t\tfunction showYear(delta){\r\n\t\t\topts.year += delta;\r\n\t\t\tshow(target);\r\n\t\t\tmenu.find('.calendar-menu-year').val(opts.year);\r\n\t\t}\r\n\t\tfunction showMonth(delta){\r\n\t\t\topts.month += delta;\r\n\t\t\tif (opts.month > 12){\r\n\t\t\t\topts.year++;\r\n\t\t\t\topts.month = 1;\r\n\t\t\t} else if (opts.month < 1){\r\n\t\t\t\topts.year--;\r\n\t\t\t\topts.month = 12;\r\n\t\t\t}\r\n\t\t\tshow(target);\r\n\t\t\t\r\n\t\t\tmenu.find('td.calendar-selected').removeClass('calendar-selected');\r\n\t\t\tmenu.find('td:eq(' + (opts.month-1) + ')').addClass('calendar-selected');\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * show the select menu that can change year or month, if the menu is not be created then create it.\r\n\t */\r\n\tfunction showSelectMenus(target){\r\n\t\tvar opts = $.data(target, 'calendar').options;\r\n\t\t$(target).find('.calendar-menu').show();\r\n\t\t\r\n\t\tif ($(target).find('.calendar-menu-month-inner').is(':empty')){\r\n\t\t\t$(target).find('.calendar-menu-month-inner').empty();\r\n\t\t\tvar t = $('<table class=\"calendar-mtable\"></table>').appendTo($(target).find('.calendar-menu-month-inner'));\r\n\t\t\tvar idx = 0;\r\n\t\t\tfor(var i=0; i<3; i++){\r\n\t\t\t\tvar tr = $('<tr></tr>').appendTo(t);\r\n\t\t\t\tfor(var j=0; j<4; j++){\r\n\t\t\t\t\t$('<td class=\"calendar-nav calendar-menu-month\"></td>').html(opts.months[idx++]).attr('abbr',idx).appendTo(tr);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tvar body = $(target).find('.calendar-body');\r\n\t\tvar sele = $(target).find('.calendar-menu');\r\n\t\tvar seleYear = sele.find('.calendar-menu-year-inner');\r\n\t\tvar seleMonth = sele.find('.calendar-menu-month-inner');\r\n\t\t\r\n\t\tseleYear.find('input').val(opts.year).focus();\r\n\t\tseleMonth.find('td.calendar-selected').removeClass('calendar-selected');\r\n\t\tseleMonth.find('td:eq('+(opts.month-1)+')').addClass('calendar-selected');\r\n\t\t\r\n\t\tsele._outerWidth(body._outerWidth());\r\n\t\tsele._outerHeight(body._outerHeight());\r\n\t\tseleMonth._outerHeight(sele.height() - seleYear._outerHeight());\r\n\t}\r\n\t\r\n\t/**\r\n\t * get weeks data.\r\n\t */\r\n\tfunction getWeeks(target, year, month){\r\n\t\tvar opts = $.data(target, 'calendar').options;\r\n\t\tvar dates = [];\r\n\t\tvar lastDay = new Date(year, month, 0).getDate();\r\n\t\tfor(var i=1; i<=lastDay; i++) dates.push([year,month,i]);\r\n\t\t\r\n\t\t// group date by week\r\n\t\tvar weeks = [], week = [];\r\n\t\tvar memoDay = -1;\r\n\t\twhile(dates.length > 0){\r\n\t\t\tvar date = dates.shift();\r\n\t\t\tweek.push(date);\r\n\t\t\tvar day = new Date(date[0],date[1]-1,date[2]).getDay();\r\n\t\t\tif (memoDay == day){\r\n\t\t\t\tday = 0;\r\n\t\t\t} else if (day == (opts.firstDay==0 ? 7 : opts.firstDay) - 1){\r\n\t\t\t\tweeks.push(week);\r\n\t\t\t\tweek = [];\r\n\t\t\t}\r\n\t\t\tmemoDay = day;\r\n\t\t}\r\n\t\tif (week.length){\r\n\t\t\tweeks.push(week);\r\n\t\t}\r\n\t\t\r\n\t\tvar firstWeek = weeks[0];\r\n\t\tif (firstWeek.length < 7){\r\n\t\t\twhile(firstWeek.length < 7){\r\n\t\t\t\tvar firstDate = firstWeek[0];\r\n\t\t\t\tvar date = new Date(firstDate[0],firstDate[1]-1,firstDate[2]-1)\r\n\t\t\t\tfirstWeek.unshift([date.getFullYear(), date.getMonth()+1, date.getDate()]);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvar firstDate = firstWeek[0];\r\n\t\t\tvar week = [];\r\n\t\t\tfor(var i=1; i<=7; i++){\r\n\t\t\t\tvar date = new Date(firstDate[0], firstDate[1]-1, firstDate[2]-i);\r\n\t\t\t\tweek.unshift([date.getFullYear(), date.getMonth()+1, date.getDate()]);\r\n\t\t\t}\r\n\t\t\tweeks.unshift(week);\r\n\t\t}\r\n\t\t\r\n\t\tvar lastWeek = weeks[weeks.length-1];\r\n\t\twhile(lastWeek.length < 7){\r\n\t\t\tvar lastDate = lastWeek[lastWeek.length-1];\r\n\t\t\tvar date = new Date(lastDate[0], lastDate[1]-1, lastDate[2]+1);\r\n\t\t\tlastWeek.push([date.getFullYear(), date.getMonth()+1, date.getDate()]);\r\n\t\t}\r\n\t\tif (weeks.length < 6){\r\n\t\t\tvar lastDate = lastWeek[lastWeek.length-1];\r\n\t\t\tvar week = [];\r\n\t\t\tfor(var i=1; i<=7; i++){\r\n\t\t\t\tvar date = new Date(lastDate[0], lastDate[1]-1, lastDate[2]+i);\r\n\t\t\t\tweek.push([date.getFullYear(), date.getMonth()+1, date.getDate()]);\r\n\t\t\t}\r\n\t\t\tweeks.push(week);\r\n\t\t}\r\n\t\t\r\n\t\treturn weeks;\r\n\t}\r\n\t\r\n\t/**\r\n\t * show the calendar day.\r\n\t */\r\n\tfunction show(target){\r\n\t\tvar opts = $.data(target, 'calendar').options;\r\n\t\tif (opts.current && !opts.validator.call(target, opts.current)){\r\n\t\t\topts.current = null;\r\n\t\t}\r\n\t\t\r\n\t\tvar now = new Date();\r\n\t\tvar todayInfo = now.getFullYear()+','+(now.getMonth()+1)+','+now.getDate();\r\n\t\tvar currentInfo = opts.current ? (opts.current.getFullYear()+','+(opts.current.getMonth()+1)+','+opts.current.getDate()) : '';\r\n\t\t// calulate the saturday and sunday index\r\n\t\tvar saIndex = 6 - opts.firstDay;\r\n\t\tvar suIndex = saIndex + 1;\r\n\t\tif (saIndex >= 7) saIndex -= 7;\r\n\t\tif (suIndex >= 7) suIndex -= 7;\r\n\t\t\r\n\t\t$(target).find('.calendar-title span').html(opts.months[opts.month-1] + ' ' + opts.year);\r\n\t\t\r\n\t\tvar body = $(target).find('div.calendar-body');\r\n\t\tbody.children('table').remove();\r\n\t\t\r\n\t\tvar data = ['<table class=\"calendar-dtable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">'];\r\n\t\tdata.push('<thead><tr>');\r\n\t\tfor(var i=opts.firstDay; i<opts.weeks.length; i++){\r\n\t\t\tdata.push('<th>'+opts.weeks[i]+'</th>');\r\n\t\t}\r\n\t\tfor(var i=0; i<opts.firstDay; i++){\r\n\t\t\tdata.push('<th>'+opts.weeks[i]+'</th>');\r\n\t\t}\r\n\t\tdata.push('</tr></thead>');\r\n\t\t\r\n\t\tdata.push('<tbody>');\r\n\t\tvar weeks = getWeeks(target, opts.year, opts.month);\r\n\t\tfor(var i=0; i<weeks.length; i++){\r\n\t\t\tvar week = weeks[i];\r\n\t\t\tvar cls = '';\r\n\t\t\tif (i == 0){cls = 'calendar-first';}\r\n\t\t\telse if (i == weeks.length - 1){cls = 'calendar-last';}\r\n\t\t\tdata.push('<tr class=\"' + cls + '\">');\r\n\t\t\tfor(var j=0; j<week.length; j++){\r\n\t\t\t\tvar day = week[j];\r\n\t\t\t\tvar s = day[0]+','+day[1]+','+day[2];\r\n\t\t\t\tvar dvalue = new Date(day[0], parseInt(day[1])-1, day[2]);\r\n\t\t\t\tvar d = opts.formatter.call(target, dvalue);\r\n\t\t\t\tvar css = opts.styler.call(target, dvalue);\r\n\t\t\t\tvar classValue = '';\r\n\t\t\t\tvar styleValue = '';\r\n\t\t\t\tif (typeof css == 'string'){\r\n\t\t\t\t\tstyleValue = css;\r\n\t\t\t\t} else if (css){\r\n\t\t\t\t\tclassValue = css['class'] || '';\r\n\t\t\t\t\tstyleValue = css['style'] || '';\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tvar cls = 'calendar-day';\r\n\t\t\t\tif (!(opts.year == day[0] && opts.month == day[1])){\r\n\t\t\t\t\tcls += ' calendar-other-month';\r\n\t\t\t\t}\r\n\t\t\t\tif (s == todayInfo){cls += ' calendar-today';}\r\n\t\t\t\tif (s == currentInfo){cls += ' calendar-selected';}\r\n\t\t\t\tif (j == saIndex){cls += ' calendar-saturday';}\r\n\t\t\t\telse if (j == suIndex){cls += ' calendar-sunday';}\r\n\t\t\t\tif (j == 0){cls += ' calendar-first';}\r\n\t\t\t\telse if (j == week.length-1){cls += ' calendar-last';}\r\n\t\t\t\t\r\n\t\t\t\tcls += ' ' + classValue;\r\n\t\t\t\tif (!opts.validator.call(target, dvalue)){\r\n\t\t\t\t\tcls += ' calendar-disabled';\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tdata.push('<td class=\"' + cls + '\" abbr=\"' + s + '\" style=\"' + styleValue + '\">' + d + '</td>');\r\n\t\t\t}\r\n\t\t\tdata.push('</tr>');\r\n\t\t}\r\n\t\tdata.push('</tbody>');\r\n\t\tdata.push('</table>');\r\n\t\t\r\n\t\tbody.append(data.join(''));\r\n\t\tbody.children('table.calendar-dtable').prependTo(body);\r\n\r\n\t\topts.onNavigate.call(target, opts.year, opts.month);\r\n\t}\r\n\t\r\n\t$.fn.calendar = function(options, param){\r\n\t\tif (typeof options == 'string'){\r\n\t\t\treturn $.fn.calendar.methods[options](this, param);\r\n\t\t}\r\n\t\t\r\n\t\toptions = options || {};\r\n\t\treturn this.each(function(){\r\n\t\t\tvar state = $.data(this, 'calendar');\r\n\t\t\tif (state){\r\n\t\t\t\t$.extend(state.options, options);\r\n\t\t\t} else {\r\n\t\t\t\tstate = $.data(this, 'calendar', {\r\n\t\t\t\t\toptions:$.extend({}, $.fn.calendar.defaults, $.fn.calendar.parseOptions(this), options)\r\n\t\t\t\t});\r\n\t\t\t\tinit(this);\r\n\t\t\t}\r\n\t\t\tif (state.options.border == false){\r\n\t\t\t\t$(this).addClass('calendar-noborder');\r\n\t\t\t}\r\n\t\t\tsetSize(this);\r\n\t\t\tbindEvents(this);\r\n\t\t\tshow(this);\r\n\t\t\t$(this).find('div.calendar-menu').hide();\t// hide the calendar menu\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.calendar.methods = {\r\n\t\toptions: function(jq){\r\n\t\t\treturn $.data(jq[0], 'calendar').options;\r\n\t\t},\r\n\t\tresize: function(jq, param){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetSize(this, param);\r\n\t\t\t});\r\n\t\t},\r\n\t\tmoveTo: function(jq, date){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tvar opts = $(this).calendar('options');\r\n\t\t\t\tif (opts.validator.call(this, date)){\r\n\t\t\t\t\tvar oldValue = opts.current;\r\n\t\t\t\t\t$(this).calendar({\r\n\t\t\t\t\t\tyear: date.getFullYear(),\r\n\t\t\t\t\t\tmonth: date.getMonth()+1,\r\n\t\t\t\t\t\tcurrent: date\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (!oldValue || oldValue.getTime() != date.getTime()){\r\n\t\t\t\t\t\topts.onChange.call(this, opts.current, oldValue);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.calendar.parseOptions = function(target){\r\n\t\tvar t = $(target);\r\n\t\treturn $.extend({}, $.parser.parseOptions(target, [\r\n\t\t\t{firstDay:'number',fit:'boolean',border:'boolean'}\r\n\t\t]));\r\n\t};\r\n\t\r\n\t$.fn.calendar.defaults = {\r\n\t\twidth:180,\r\n\t\theight:180,\r\n\t\tfit:false,\r\n\t\tborder:true,\r\n\t\tfirstDay:0,\r\n\t\tweeks:['S','M','T','W','T','F','S'],\r\n\t\tmonths:['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\r\n\t\tyear:new Date().getFullYear(),\r\n\t\tmonth:new Date().getMonth()+1,\r\n\t\tcurrent:(function(){\r\n\t\t\tvar d = new Date();\r\n\t\t\treturn new Date(d.getFullYear(), d.getMonth(), d.getDate());\r\n\t\t})(),\r\n\t\t\r\n\t\tformatter:function(date){return date.getDate()},\r\n\t\tstyler:function(date){return ''},\r\n\t\tvalidator:function(date){return true},\r\n\t\t\r\n\t\tonSelect: function(date){},\r\n\t\tonChange: function(newDate, oldDate){},\r\n\t\tonNavigate: function(year, month){}\r\n\t};\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.combobox.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * combobox - jQuery EasyUI\r\n * \r\n * Dependencies:\r\n *   combo\r\n * \r\n */\r\n(function($){\r\n\tvar COMBOBOX_SERNO = 0;\r\n\t\r\n\tfunction getRowIndex(target, value){\r\n\t\tvar state = $.data(target, 'combobox');\r\n\t\tvar opts = state.options;\r\n\t\tvar data = state.data;\r\n\t\tfor(var i=0; i<data.length; i++){\r\n\t\t\tif (data[i][opts.valueField] == value){\r\n\t\t\t\treturn i;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn -1;\r\n\t}\r\n\t\r\n\t/**\r\n\t * scroll panel to display the specified item\r\n\t */\r\n\tfunction scrollTo(target, value){\r\n\t\tvar opts = $.data(target, 'combobox').options;\r\n\t\tvar panel = $(target).combo('panel');\r\n\t\tvar item = opts.finder.getEl(target, value);\r\n\t\tif (item.length){\r\n\t\t\tif (item.position().top <= 0){\r\n\t\t\t\tvar h = panel.scrollTop() + item.position().top;\r\n\t\t\t\tpanel.scrollTop(h);\r\n\t\t\t} else if (item.position().top + item.outerHeight() > panel.height()){\r\n\t\t\t\tvar h = panel.scrollTop() + item.position().top + item.outerHeight() - panel.height();\r\n\t\t\t\tpanel.scrollTop(h);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction nav(target, dir){\r\n\t\tvar opts = $.data(target, 'combobox').options;\r\n\t\tvar panel = $(target).combobox('panel');\r\n\t\tvar item = panel.children('div.combobox-item-hover');\r\n\t\tif (!item.length){\r\n\t\t\titem = panel.children('div.combobox-item-selected');\r\n\t\t}\r\n\t\titem.removeClass('combobox-item-hover');\r\n\t\tvar firstSelector = 'div.combobox-item:visible:not(.combobox-item-disabled):first';\r\n\t\tvar lastSelector = 'div.combobox-item:visible:not(.combobox-item-disabled):last';\r\n\t\tif (!item.length){\r\n\t\t\titem = panel.children(dir=='next' ? firstSelector : lastSelector);\r\n//\t\t\titem = panel.children('div.combobox-item:visible:' + (dir=='next'?'first':'last'));\r\n\t\t} else {\r\n\t\t\tif (dir == 'next'){\r\n\t\t\t\titem = item.nextAll(firstSelector);\r\n//\t\t\t\titem = item.nextAll('div.combobox-item:visible:first');\r\n\t\t\t\tif (!item.length){\r\n\t\t\t\t\titem = panel.children(firstSelector);\r\n//\t\t\t\t\titem = panel.children('div.combobox-item:visible:first');\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\titem = item.prevAll(firstSelector);\r\n//\t\t\t\titem = item.prevAll('div.combobox-item:visible:first');\r\n\t\t\t\tif (!item.length){\r\n\t\t\t\t\titem = panel.children(lastSelector);\r\n//\t\t\t\t\titem = panel.children('div.combobox-item:visible:last');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (item.length){\r\n\t\t\titem.addClass('combobox-item-hover');\r\n\t\t\tvar row = opts.finder.getRow(target, item);\r\n\t\t\tif (row){\r\n\t\t\t\tscrollTo(target, row[opts.valueField]);\r\n\t\t\t\tif (opts.selectOnNavigation){\r\n\t\t\t\t\tselect(target, row[opts.valueField]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * select the specified value\r\n\t */\r\n\tfunction select(target, value){\r\n\t\tvar opts = $.data(target, 'combobox').options;\r\n\t\tvar values = $(target).combo('getValues');\r\n\t\tif ($.inArray(value+'', values) == -1){\r\n\t\t\tif (opts.multiple){\r\n\t\t\t\tvalues.push(value);\r\n\t\t\t} else {\r\n\t\t\t\tvalues = [value];\r\n\t\t\t}\r\n\t\t\tsetValues(target, values);\r\n\t\t\topts.onSelect.call(target, opts.finder.getRow(target, value));\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * unselect the specified value\r\n\t */\r\n\tfunction unselect(target, value){\r\n\t\tvar opts = $.data(target, 'combobox').options;\r\n\t\tvar values = $(target).combo('getValues');\r\n\t\tvar index = $.inArray(value+'', values);\r\n\t\tif (index >= 0){\r\n\t\t\tvalues.splice(index, 1);\r\n\t\t\tsetValues(target, values);\r\n\t\t\topts.onUnselect.call(target, opts.finder.getRow(target, value));\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * set values\r\n\t */\r\n\tfunction setValues(target, values, remainText){\r\n\t\tvar opts = $.data(target, 'combobox').options;\r\n\t\tvar panel = $(target).combo('panel');\r\n\t\t\r\n\t\tif (!$.isArray(values)){values = values.split(opts.separator)}\r\n\t\tpanel.find('div.combobox-item-selected').removeClass('combobox-item-selected');\r\n\t\tvar vv = [], ss = [];\r\n\t\tfor(var i=0; i<values.length; i++){\r\n\t\t\tvar v = values[i];\r\n\t\t\tvar s = v;\r\n\t\t\topts.finder.getEl(target, v).addClass('combobox-item-selected');\r\n\t\t\tvar row = opts.finder.getRow(target, v);\r\n\t\t\tif (row){\r\n\t\t\t\ts = row[opts.textField];\r\n\t\t\t}\r\n\t\t\tvv.push(v);\r\n\t\t\tss.push(s);\r\n\t\t}\r\n\t\t\r\n\t\t$(target).combo('setValues', vv);\r\n\t\tif (!remainText){\r\n\t\t\t$(target).combo('setText', ss.join(opts.separator));\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * load data, the old list items will be removed.\r\n\t */\r\n\tfunction loadData(target, data, remainText){\r\n\t\tvar state = $.data(target, 'combobox');\r\n\t\tvar opts = state.options;\r\n\t\tstate.data = opts.loadFilter.call(target, data);\r\n\t\tstate.groups = [];\r\n\t\tdata = state.data;\r\n\t\t\r\n\t\tvar selected = $(target).combobox('getValues');\r\n\t\tvar dd = [];\r\n\t\tvar group = undefined;\r\n\t\tfor(var i=0; i<data.length; i++){\r\n\t\t\tvar row = data[i];\r\n\t\t\tvar v = row[opts.valueField]+'';\r\n\t\t\tvar s = row[opts.textField];\r\n\t\t\tvar g = row[opts.groupField];\r\n\t\t\t\r\n\t\t\tif (g){\r\n\t\t\t\tif (group != g){\r\n\t\t\t\t\tgroup = g;\r\n\t\t\t\t\tstate.groups.push(g);\r\n\t\t\t\t\tdd.push('<div id=\"' + (state.groupIdPrefix+'_'+(state.groups.length-1)) + '\" class=\"combobox-group\">');\r\n\t\t\t\t\tdd.push(opts.groupFormatter ? opts.groupFormatter.call(target, g) : g);\r\n\t\t\t\t\tdd.push('</div>');\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tgroup = undefined;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tvar cls = 'combobox-item' + (row.disabled ? ' combobox-item-disabled' : '') + (g ? ' combobox-gitem' : '');\r\n\t\t\tdd.push('<div id=\"' + (state.itemIdPrefix+'_'+i) + '\" class=\"' + cls + '\">');\r\n\t\t\tdd.push(opts.formatter ? opts.formatter.call(target, row) : s);\r\n\t\t\tdd.push('</div>');\r\n\t\t\t\r\n//\t\t\tif (item['selected']){\r\n//\t\t\t\t(function(){\r\n//\t\t\t\t\tfor(var i=0; i<selected.length; i++){\r\n//\t\t\t\t\t\tif (v == selected[i]) return;\r\n//\t\t\t\t\t}\r\n//\t\t\t\t\tselected.push(v);\r\n//\t\t\t\t})();\r\n//\t\t\t}\r\n\t\t\tif (row['selected'] && $.inArray(v, selected) == -1){\r\n\t\t\t\tselected.push(v);\r\n\t\t\t}\r\n\t\t}\r\n\t\t$(target).combo('panel').html(dd.join(''));\r\n\t\t\r\n\t\tif (opts.multiple){\r\n\t\t\tsetValues(target, selected, remainText);\r\n\t\t} else {\r\n\t\t\tsetValues(target, selected.length ? [selected[selected.length-1]] : [], remainText);\r\n\t\t}\r\n\t\t\r\n\t\topts.onLoadSuccess.call(target, data);\r\n\t}\r\n\t\r\n\t/**\r\n\t * request remote data if the url property is setted.\r\n\t */\r\n\tfunction request(target, url, param, remainText){\r\n\t\tvar opts = $.data(target, 'combobox').options;\r\n\t\tif (url){\r\n\t\t\topts.url = url;\r\n\t\t}\r\n//\t\tif (!opts.url) return;\r\n\t\tparam = param || {};\r\n\t\t\r\n\t\tif (opts.onBeforeLoad.call(target, param) == false) return;\r\n\r\n\t\topts.loader.call(target, param, function(data){\r\n\t\t\tloadData(target, data, remainText);\r\n\t\t}, function(){\r\n\t\t\topts.onLoadError.apply(this, arguments);\r\n\t\t});\r\n\t}\r\n\t\r\n\t/**\r\n\t * do the query action\r\n\t */\r\n\tfunction doQuery(target, q){\r\n\t\tvar state = $.data(target, 'combobox');\r\n\t\tvar opts = state.options;\r\n\t\t\r\n\t\tif (opts.multiple && !q){\r\n\t\t\tsetValues(target, [], true);\r\n\t\t} else {\r\n\t\t\tsetValues(target, [q], true);\r\n\t\t}\r\n\t\t\r\n\t\tif (opts.mode == 'remote'){\r\n\t\t\trequest(target, null, {q:q}, true);\r\n\t\t} else {\r\n\t\t\tvar panel = $(target).combo('panel');\r\n\t\t\tpanel.find('div.combobox-item-selected,div.combobox-item-hover').removeClass('combobox-item-selected combobox-item-hover');\r\n\t\t\tpanel.find('div.combobox-item,div.combobox-group').hide();\r\n\t\t\tvar data = state.data;\r\n\t\t\tvar vv = [];\r\n\t\t\tvar qq = opts.multiple ? q.split(opts.separator) : [q];\r\n\t\t\t$.map(qq, function(q){\r\n\t\t\t\tq = $.trim(q);\r\n\t\t\t\tvar group = undefined;\r\n\t\t\t\tfor(var i=0; i<data.length; i++){\r\n\t\t\t\t\tvar row = data[i];\r\n\t\t\t\t\tif (opts.filter.call(target, q, row)){\r\n\t\t\t\t\t\tvar v = row[opts.valueField];\r\n\t\t\t\t\t\tvar s = row[opts.textField];\r\n\t\t\t\t\t\tvar g = row[opts.groupField];\r\n\t\t\t\t\t\tvar item = opts.finder.getEl(target, v).show();\r\n\t\t\t\t\t\tif (s.toLowerCase() == q.toLowerCase()){\r\n\t\t\t\t\t\t\tvv.push(v);\r\n\t\t\t\t\t\t\titem.addClass('combobox-item-selected');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (opts.groupField && group != g){\r\n\t\t\t\t\t\t\t$('#'+state.groupIdPrefix+'_'+$.inArray(g, state.groups)).show();\r\n\t\t\t\t\t\t\tgroup = g;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tsetValues(target, vv, true);\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction doEnter(target){\r\n\t\tvar t = $(target);\r\n\t\tvar opts = t.combobox('options');\r\n\t\tvar panel = t.combobox('panel');\r\n\t\tvar item = panel.children('div.combobox-item-hover');\r\n\t\tif (item.length){\r\n\t\t\tvar row = opts.finder.getRow(target, item);\r\n\t\t\tvar value = row[opts.valueField];\r\n\t\t\tif (opts.multiple){\r\n\t\t\t\tif (item.hasClass('combobox-item-selected')){\r\n\t\t\t\t\tt.combobox('unselect', value);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tt.combobox('select', value);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tt.combobox('select', value);\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar vv = [];\r\n\t\t$.map(t.combobox('getValues'), function(v){\r\n\t\t\tif (getRowIndex(target, v) >= 0){\r\n\t\t\t\tvv.push(v);\r\n\t\t\t}\r\n\t\t});\r\n\t\tt.combobox('setValues', vv);\r\n\t\tif (!opts.multiple){\r\n\t\t\tt.combobox('hidePanel');\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * create the component\r\n\t */\r\n\tfunction create(target){\r\n\t\tvar state = $.data(target, 'combobox');\r\n\t\tvar opts = state.options;\r\n\t\t\r\n\t\tCOMBOBOX_SERNO++;\r\n\t\tstate.itemIdPrefix = '_easyui_combobox_i' + COMBOBOX_SERNO;\r\n\t\tstate.groupIdPrefix = '_easyui_combobox_g' + COMBOBOX_SERNO;\r\n\t\t\r\n\t\t$(target).addClass('combobox-f');\r\n\t\t$(target).combo($.extend({}, opts, {\r\n\t\t\tonShowPanel: function(){\r\n\t\t\t\t$(target).combo('panel').find('div.combobox-item,div.combobox-group').show();\r\n\t\t\t\tscrollTo(target, $(target).combobox('getValue'));\r\n\t\t\t\topts.onShowPanel.call(target);\r\n\t\t\t}\r\n\t\t}));\r\n\t\t\r\n\t\t$(target).combo('panel').unbind().bind('mouseover', function(e){\r\n\t\t\t$(this).children('div.combobox-item-hover').removeClass('combobox-item-hover');\r\n\t\t\tvar item = $(e.target).closest('div.combobox-item');\r\n\t\t\tif (!item.hasClass('combobox-item-disabled')){\r\n\t\t\t\titem.addClass('combobox-item-hover');\r\n\t\t\t}\r\n\t\t\te.stopPropagation();\r\n\t\t}).bind('mouseout', function(e){\r\n\t\t\t$(e.target).closest('div.combobox-item').removeClass('combobox-item-hover');\r\n\t\t\te.stopPropagation();\r\n\t\t}).bind('click', function(e){\r\n\t\t\tvar item = $(e.target).closest('div.combobox-item');\r\n\t\t\tif (!item.length || item.hasClass('combobox-item-disabled')){return}\r\n\t\t\tvar row = opts.finder.getRow(target, item);\r\n\t\t\tif (!row){return}\r\n\t\t\tvar value = row[opts.valueField];\r\n\t\t\tif (opts.multiple){\r\n\t\t\t\tif (item.hasClass('combobox-item-selected')){\r\n\t\t\t\t\tunselect(target, value);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tselect(target, value);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tselect(target, value);\r\n\t\t\t\t$(target).combo('hidePanel');\r\n\t\t\t}\r\n\t\t\te.stopPropagation();\r\n\t\t});\r\n\t}\r\n\t\r\n\t$.fn.combobox = function(options, param){\r\n\t\tif (typeof options == 'string'){\r\n\t\t\tvar method = $.fn.combobox.methods[options];\r\n\t\t\tif (method){\r\n\t\t\t\treturn method(this, param);\r\n\t\t\t} else {\r\n\t\t\t\treturn this.combo(options, param);\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\toptions = options || {};\r\n\t\treturn this.each(function(){\r\n\t\t\tvar state = $.data(this, 'combobox');\r\n\t\t\tif (state){\r\n\t\t\t\t$.extend(state.options, options);\r\n\t\t\t\tcreate(this);\r\n\t\t\t} else {\r\n\t\t\t\tstate = $.data(this, 'combobox', {\r\n\t\t\t\t\toptions: $.extend({}, $.fn.combobox.defaults, $.fn.combobox.parseOptions(this), options),\r\n\t\t\t\t\tdata: []\r\n\t\t\t\t});\r\n\t\t\t\tcreate(this);\r\n\t\t\t\tvar data = $.fn.combobox.parseData(this);\r\n\t\t\t\tif (data.length){\r\n\t\t\t\t\tloadData(this, data);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (state.options.data){\r\n\t\t\t\tloadData(this, state.options.data);\r\n\t\t\t}\r\n\t\t\trequest(this);\r\n\t\t});\r\n\t};\r\n\t\r\n\t\r\n\t$.fn.combobox.methods = {\r\n\t\toptions: function(jq){\r\n\t\t\tvar copts = jq.combo('options');\r\n\t\t\treturn $.extend($.data(jq[0], 'combobox').options, {\r\n\t\t\t\twidth: copts.width,\r\n\t\t\t\theight: copts.height,\r\n\t\t\t\toriginalValue: copts.originalValue,\r\n\t\t\t\tdisabled: copts.disabled,\r\n\t\t\t\treadonly: copts.readonly\r\n\t\t\t});\r\n\t\t},\r\n\t\tgetData: function(jq){\r\n\t\t\treturn $.data(jq[0], 'combobox').data;\r\n\t\t},\r\n\t\tsetValues: function(jq, values){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetValues(this, values);\r\n\t\t\t});\r\n\t\t},\r\n\t\tsetValue: function(jq, value){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetValues(this, [value]);\r\n\t\t\t});\r\n\t\t},\r\n\t\tclear: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\t$(this).combo('clear');\r\n\t\t\t\tvar panel = $(this).combo('panel');\r\n\t\t\t\tpanel.find('div.combobox-item-selected').removeClass('combobox-item-selected');\r\n\t\t\t});\r\n\t\t},\r\n\t\treset: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tvar opts = $(this).combobox('options');\r\n\t\t\t\tif (opts.multiple){\r\n\t\t\t\t\t$(this).combobox('setValues', opts.originalValue);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(this).combobox('setValue', opts.originalValue);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\tloadData: function(jq, data){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tloadData(this, data);\r\n\t\t\t});\r\n\t\t},\r\n\t\treload: function(jq, url){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\trequest(this, url);\r\n\t\t\t});\r\n\t\t},\r\n\t\tselect: function(jq, value){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tselect(this, value);\r\n\t\t\t});\r\n\t\t},\r\n\t\tunselect: function(jq, value){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tunselect(this, value);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.combobox.parseOptions = function(target){\r\n\t\tvar t = $(target);\r\n\t\treturn $.extend({}, $.fn.combo.parseOptions(target), $.parser.parseOptions(target,[\r\n\t\t\t'valueField','textField','groupField','mode','method','url'\r\n\t\t]));\r\n\t};\r\n\t\r\n\t$.fn.combobox.parseData = function(target){\r\n\t\tvar data = [];\r\n\t\tvar opts = $(target).combobox('options');\r\n\t\t$(target).children().each(function(){\r\n\t\t\tif (this.tagName.toLowerCase() == 'optgroup'){\r\n\t\t\t\tvar group = $(this).attr('label');\r\n\t\t\t\t$(this).children().each(function(){\r\n\t\t\t\t\t_parseItem(this, group);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\t_parseItem(this);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn data;\r\n\t\t\r\n\t\tfunction _parseItem(el, group){\r\n\t\t\tvar t = $(el);\r\n\t\t\tvar row = {};\r\n\t\t\trow[opts.valueField] = t.attr('value')!=undefined ? t.attr('value') : t.text();\r\n\t\t\trow[opts.textField] = t.text();\r\n\t\t\trow['selected'] = t.is(':selected');\r\n\t\t\trow['disabled'] = t.is(':disabled');\r\n\t\t\tif (group){\r\n\t\t\t\topts.groupField = opts.groupField || 'group';\r\n\t\t\t\trow[opts.groupField] = group;\r\n\t\t\t}\r\n\t\t\tdata.push(row);\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.combobox.defaults = $.extend({}, $.fn.combo.defaults, {\r\n\t\tvalueField: 'value',\r\n\t\ttextField: 'text',\r\n\t\tgroupField: null,\r\n\t\tgroupFormatter: function(group){return group;},\r\n\t\tmode: 'local',\t// or 'remote'\r\n\t\tmethod: 'post',\r\n\t\turl: null,\r\n\t\tdata: null,\r\n\t\t\r\n\t\tkeyHandler: {\r\n\t\t\tup: function(e){nav(this,'prev');e.preventDefault()},\r\n\t\t\tdown: function(e){nav(this,'next');e.preventDefault()},\r\n\t\t\tleft: function(e){},\r\n\t\t\tright: function(e){},\r\n\t\t\tenter: function(e){doEnter(this)},\r\n\t\t\tquery: function(q,e){doQuery(this, q)}\r\n\t\t},\r\n\t\tfilter: function(q, row){\r\n\t\t\tvar opts = $(this).combobox('options');\r\n\t\t\treturn row[opts.textField].toLowerCase().indexOf(q.toLowerCase()) == 0;\r\n\t\t},\r\n\t\tformatter: function(row){\r\n\t\t\tvar opts = $(this).combobox('options');\r\n\t\t\treturn row[opts.textField];\r\n\t\t},\r\n\t\tloader: function(param, success, error){\r\n\t\t\tvar opts = $(this).combobox('options');\r\n\t\t\tif (!opts.url) return false;\r\n\t\t\t$.ajax({\r\n\t\t\t\ttype: opts.method,\r\n\t\t\t\turl: opts.url,\r\n\t\t\t\tdata: param,\r\n\t\t\t\tdataType: 'json',\r\n\t\t\t\tsuccess: function(data){\r\n\t\t\t\t\tsuccess(data);\r\n\t\t\t\t},\r\n\t\t\t\terror: function(){\r\n\t\t\t\t\terror.apply(this, arguments);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\tloadFilter: function(data){\r\n\t\t\treturn data;\r\n\t\t},\r\n\t\tfinder:{\r\n\t\t\tgetEl:function(target, value){\r\n\t\t\t\tvar index = getRowIndex(target, value);\r\n\t\t\t\tvar id = $.data(target, 'combobox').itemIdPrefix + '_' + index;\r\n\t\t\t\treturn $('#'+id);\r\n\t\t\t},\r\n\t\t\tgetRow:function(target, p){\r\n\t\t\t\tvar state = $.data(target, 'combobox');\r\n\t\t\t\tvar index = (p instanceof jQuery) ? p.attr('id').substr(state.itemIdPrefix.length+1) : getRowIndex(target, p);\r\n\t\t\t\treturn state.data[parseInt(index)];\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tonBeforeLoad: function(param){},\r\n\t\tonLoadSuccess: function(){},\r\n\t\tonLoadError: function(){},\r\n\t\tonSelect: function(record){},\r\n\t\tonUnselect: function(record){}\r\n\t});\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.datebox.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * datebox - jQuery EasyUI\r\n * \r\n * Dependencies:\r\n * \t calendar\r\n *   combo\r\n * \r\n */\r\n(function($){\r\n\t/**\r\n\t * create date box\r\n\t */\r\n\tfunction createBox(target){\r\n\t\tvar state = $.data(target, 'datebox');\r\n\t\tvar opts = state.options;\r\n\t\t\r\n\t\t$(target).addClass('datebox-f').combo($.extend({}, opts, {\r\n\t\t\tonShowPanel:function(){\r\n\t\t\t\tbindEvents(this);\r\n\t\t\t\tsetButtons(this);\r\n\t\t\t\tsetCalendar(this);\r\n\t\t\t\tsetValue(this, $(this).datebox('getText'), true);\r\n\t\t\t\topts.onShowPanel.call(this);\r\n\t\t\t}\r\n\t\t}));\r\n\t\t\r\n\t\t/**\r\n\t\t * if the calendar isn't created, create it.\r\n\t\t */\r\n\t\tif (!state.calendar){\r\n\t\t\tvar panel = $(target).combo('panel').css('overflow','hidden');\r\n\t\t\tpanel.panel('options').onBeforeDestroy = function(){\r\n\t\t\t\tvar c = $(this).find('.calendar-shared');\r\n\t\t\t\tif (c.length){\r\n\t\t\t\t\tc.insertBefore(c[0].pholder);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tvar cc = $('<div class=\"datebox-calendar-inner\"></div>').prependTo(panel);\r\n\t\t\tif (opts.sharedCalendar){\r\n\t\t\t\tvar c = $(opts.sharedCalendar);\r\n\t\t\t\tif (!c[0].pholder){\r\n\t\t\t\t\tc[0].pholder = $('<div class=\"calendar-pholder\" style=\"display:none\"></div>').insertAfter(c);\r\n\t\t\t\t}\r\n\t\t\t\tc.addClass('calendar-shared').appendTo(cc);\r\n\t\t\t\tif (!c.hasClass('calendar')){\r\n\t\t\t\t\tc.calendar();\r\n\t\t\t\t}\r\n\t\t\t\tstate.calendar = c;\r\n\t\t\t} else {\r\n\t\t\t\tstate.calendar = $('<div></div>').appendTo(cc).calendar();\r\n\t\t\t}\r\n\r\n\t\t\t$.extend(state.calendar.calendar('options'), {\r\n\t\t\t\tfit:true,\r\n\t\t\t\tborder:false,\r\n\t\t\t\tonSelect:function(date){\r\n\t\t\t\t\tvar target = this.target;\r\n\t\t\t\t\tvar opts = $(target).datebox('options');\r\n\t\t\t\t\tsetValue(target, opts.formatter.call(target, date));\r\n\t\t\t\t\t$(target).combo('hidePanel');\r\n\t\t\t\t\topts.onSelect.call(target, date);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t$(target).combo('textbox').parent().addClass('datebox');\r\n\t\t$(target).datebox('initValue', opts.value);\r\n\t\t\r\n\t\tfunction bindEvents(target){\r\n\t\t\tvar opts = $(target).datebox('options');\r\n\t\t\tvar panel = $(target).combo('panel');\r\n\t\t\tpanel.unbind('.datebox').bind('click.datebox', function(e){\r\n\t\t\t\tif ($(e.target).hasClass('datebox-button-a')){\r\n\t\t\t\t\tvar index = parseInt($(e.target).attr('datebox-button-index'));\r\n\t\t\t\t\topts.buttons[index].handler.call(e.target, target);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction setButtons(target){\r\n\t\t\tvar panel = $(target).combo('panel');\r\n\t\t\tif (panel.children('div.datebox-button').length){return}\r\n\t\t\tvar button = $('<div class=\"datebox-button\"><table cellspacing=\"0\" cellpadding=\"0\" style=\"width:100%\"><tr></tr></table></div>').appendTo(panel);\r\n\t\t\tvar tr = button.find('tr');\r\n\t\t\tfor(var i=0; i<opts.buttons.length; i++){\r\n\t\t\t\tvar td = $('<td></td>').appendTo(tr);\r\n\t\t\t\tvar btn = opts.buttons[i];\r\n\t\t\t\tvar t = $('<a class=\"datebox-button-a\" href=\"javascript:void(0)\"></a>').html($.isFunction(btn.text) ? btn.text(target) : btn.text).appendTo(td);\r\n\t\t\t\tt.attr('datebox-button-index', i);\r\n\t\t\t}\r\n\t\t\ttr.find('td').css('width', (100/opts.buttons.length)+'%');\r\n\t\t}\r\n\t\tfunction setCalendar(target){\r\n\t\t\tvar panel = $(target).combo('panel');\r\n\t\t\tvar cc = panel.children('div.datebox-calendar-inner');\r\n\t\t\tpanel.children()._outerWidth(panel.width());\r\n\t\t\tstate.calendar.appendTo(cc);\r\n\t\t\tstate.calendar[0].target = target;\r\n\t\t\tif (opts.panelHeight != 'auto'){\r\n\t\t\t\tvar height = panel.height();\r\n\t\t\t\tpanel.children().not(cc).each(function(){\r\n\t\t\t\t\theight -= $(this).outerHeight();\r\n\t\t\t\t});\r\n\t\t\t\tcc._outerHeight(height);\r\n\t\t\t}\r\n\t\t\tstate.calendar.calendar('resize');\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * called when user inputs some value in text box\r\n\t */\r\n\tfunction doQuery(target, q){\r\n\t\tsetValue(target, q, true);\r\n\t}\r\n\t\r\n\t/**\r\n\t * called when user press enter key\r\n\t */\r\n\tfunction doEnter(target){\r\n\t\tvar state = $.data(target, 'datebox');\r\n\t\tvar opts = state.options;\r\n\t\tvar current = state.calendar.calendar('options').current;\r\n\t\tif (current){\r\n\t\t\tsetValue(target, opts.formatter.call(target, current));\r\n\t\t\t$(target).combo('hidePanel');\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction setValue(target, value, remainText){\r\n\t\tvar state = $.data(target, 'datebox');\r\n\t\tvar opts = state.options;\r\n\t\tvar calendar = state.calendar;\r\n\t\t$(target).combo('setValue', value);\r\n\t\tcalendar.calendar('moveTo', opts.parser.call(target, value));\r\n\t\tif (!remainText){\r\n\t\t\tif (value){\r\n\t\t\t\tvalue = opts.formatter.call(target, calendar.calendar('options').current);\r\n\t\t\t\t$(target).combo('setValue', value).combo('setText', value);\r\n\t\t\t} else {\r\n\t\t\t\t$(target).combo('setText', value);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\t$.fn.datebox = function(options, param){\r\n\t\tif (typeof options == 'string'){\r\n\t\t\tvar method = $.fn.datebox.methods[options];\r\n\t\t\tif (method){\r\n\t\t\t\treturn method(this, param);\r\n\t\t\t} else {\r\n\t\t\t\treturn this.combo(options, param);\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\toptions = options || {};\r\n\t\treturn this.each(function(){\r\n\t\t\tvar state = $.data(this, 'datebox');\r\n\t\t\tif (state){\r\n\t\t\t\t$.extend(state.options, options);\r\n\t\t\t} else {\r\n\t\t\t\t$.data(this, 'datebox', {\r\n\t\t\t\t\toptions: $.extend({}, $.fn.datebox.defaults, $.fn.datebox.parseOptions(this), options)\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tcreateBox(this);\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.datebox.methods = {\r\n\t\toptions: function(jq){\r\n\t\t\tvar copts = jq.combo('options');\r\n\t\t\treturn $.extend($.data(jq[0], 'datebox').options, {\r\n\t\t\t\twidth: copts.width,\r\n\t\t\t\theight: copts.height,\r\n\t\t\t\toriginalValue: copts.originalValue,\r\n\t\t\t\tdisabled: copts.disabled,\r\n\t\t\t\treadonly: copts.readonly\r\n\t\t\t});\r\n\t\t},\r\n\t\tcloneFrom: function(jq, from){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\t$(this).combo('cloneFrom', from);\r\n\t\t\t\t$.data(this, 'datebox', {\r\n\t\t\t\t\toptions: $.extend(true, {}, $(from).datebox('options')),\r\n\t\t\t\t\tcalendar: $(from).datebox('calendar')\r\n\t\t\t\t});\r\n\t\t\t\t$(this).addClass('datebox-f');\r\n\t\t\t});\r\n\t\t},\r\n\t\tcalendar: function(jq){\t// get the calendar object\r\n\t\t\treturn $.data(jq[0], 'datebox').calendar;\r\n\t\t},\r\n\t\tinitValue: function(jq, value){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tvar opts = $(this).datebox('options');\r\n\t\t\t\tvar value = opts.value;\r\n\t\t\t\tif (value){\r\n\t\t\t\t\tvalue = opts.formatter.call(this, opts.parser.call(this, value));\r\n\t\t\t\t}\r\n\t\t\t\t$(this).combo('initValue', value).combo('setText', value);\r\n\t\t\t});\r\n\t\t},\r\n\t\tsetValue: function(jq, value){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetValue(this, value);\r\n\t\t\t});\r\n\t\t},\r\n\t\treset: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tvar opts = $(this).datebox('options');\r\n\t\t\t\t$(this).datebox('setValue', opts.originalValue);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.datebox.parseOptions = function(target){\r\n\t\treturn $.extend({}, $.fn.combo.parseOptions(target), $.parser.parseOptions(target, ['sharedCalendar']));\r\n\t};\r\n\t\r\n\t$.fn.datebox.defaults = $.extend({}, $.fn.combo.defaults, {\r\n\t\tpanelWidth:180,\r\n\t\tpanelHeight:'auto',\r\n\t\tsharedCalendar:null,\r\n\t\t\r\n\t\tkeyHandler: {\r\n\t\t\tup:function(e){},\r\n\t\t\tdown:function(e){},\r\n\t\t\tleft: function(e){},\r\n\t\t\tright: function(e){},\r\n\t\t\tenter:function(e){doEnter(this)},\r\n\t\t\tquery:function(q,e){doQuery(this, q)}\r\n\t\t},\r\n\t\t\r\n\t\tcurrentText:'Today',\r\n\t\tcloseText:'Close',\r\n\t\tokText:'Ok',\r\n\t\t\r\n\t\tbuttons:[{\r\n\t\t\ttext: function(target){return $(target).datebox('options').currentText;},\r\n\t\t\thandler: function(target){\r\n\t\t\t\t$(target).datebox('calendar').calendar({\r\n\t\t\t\t\tyear:new Date().getFullYear(),\r\n\t\t\t\t\tmonth:new Date().getMonth()+1,\r\n\t\t\t\t\tcurrent:new Date()\r\n\t\t\t\t});\r\n\t\t\t\tdoEnter(target);\r\n\t\t\t}\r\n\t\t},{\r\n\t\t\ttext: function(target){return $(target).datebox('options').closeText;},\r\n\t\t\thandler: function(target){\r\n\t\t\t\t$(this).closest('div.combo-panel').panel('close');\r\n\t\t\t}\r\n\t\t}],\r\n\t\t\r\n\t\tformatter:function(date){\r\n\t\t\tvar y = date.getFullYear();\r\n\t\t\tvar m = date.getMonth()+1;\r\n\t\t\tvar d = date.getDate();\r\n\t\t\treturn (m<10?('0'+m):m)+'/'+(d<10?('0'+d):d)+'/'+y;\r\n\t\t},\r\n\t\tparser:function(s){\r\n\t\t\tif (!s) return new Date();\r\n\t\t\tvar ss = s.split('/');\r\n\t\t\tvar m = parseInt(ss[0],10);\r\n\t\t\tvar d = parseInt(ss[1],10);\r\n\t\t\tvar y = parseInt(ss[2],10);\r\n\t\t\tif (!isNaN(y) && !isNaN(m) && !isNaN(d)){\r\n\t\t\t\treturn new Date(y,m-1,d);\r\n\t\t\t} else {\r\n\t\t\t\treturn new Date();\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tonSelect:function(date){}\r\n\t});\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.draggable.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * draggable - jQuery EasyUI\r\n * \r\n */\r\n(function($){\r\n//\tvar isDragging = false;\r\n\tfunction drag(e){\r\n\t\tvar state = $.data(e.data.target, 'draggable');\r\n\t\tvar opts = state.options;\r\n\t\tvar proxy = state.proxy;\r\n\t\t\r\n\t\tvar dragData = e.data;\r\n\t\tvar left = dragData.startLeft + e.pageX - dragData.startX;\r\n\t\tvar top = dragData.startTop + e.pageY - dragData.startY;\r\n\t\t\r\n\t\tif (proxy){\r\n\t\t\tif (proxy.parent()[0] == document.body){\r\n\t\t\t\tif (opts.deltaX != null && opts.deltaX != undefined){\r\n\t\t\t\t\tleft = e.pageX + opts.deltaX;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tleft = e.pageX - e.data.offsetWidth;\r\n\t\t\t\t}\r\n\t\t\t\tif (opts.deltaY != null && opts.deltaY != undefined){\r\n\t\t\t\t\ttop = e.pageY + opts.deltaY;\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttop = e.pageY - e.data.offsetHeight;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (opts.deltaX != null && opts.deltaX != undefined){\r\n\t\t\t\t\tleft += e.data.offsetWidth + opts.deltaX;\r\n\t\t\t\t}\r\n\t\t\t\tif (opts.deltaY != null && opts.deltaY != undefined){\r\n\t\t\t\t\ttop += e.data.offsetHeight + opts.deltaY;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n//\t\tif (opts.deltaX != null && opts.deltaX != undefined){\r\n//\t\t\tleft = e.pageX + opts.deltaX;\r\n//\t\t}\r\n//\t\tif (opts.deltaY != null && opts.deltaY != undefined){\r\n//\t\t\ttop = e.pageY + opts.deltaY;\r\n//\t\t}\r\n\t\t\r\n\t\tif (e.data.parent != document.body) {\r\n\t\t\tleft += $(e.data.parent).scrollLeft();\r\n\t\t\ttop += $(e.data.parent).scrollTop();\r\n\t\t}\r\n\t\t\r\n\t\tif (opts.axis == 'h') {\r\n\t\t\tdragData.left = left;\r\n\t\t} else if (opts.axis == 'v') {\r\n\t\t\tdragData.top = top;\r\n\t\t} else {\r\n\t\t\tdragData.left = left;\r\n\t\t\tdragData.top = top;\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction applyDrag(e){\r\n\t\tvar state = $.data(e.data.target, 'draggable');\r\n\t\tvar opts = state.options;\r\n\t\tvar proxy = state.proxy;\r\n\t\tif (!proxy){\r\n\t\t\tproxy = $(e.data.target);\r\n\t\t}\r\n//\t\tif (proxy){\r\n//\t\t\tproxy.css('cursor', opts.cursor);\r\n//\t\t} else {\r\n//\t\t\tproxy = $(e.data.target);\r\n//\t\t\t$.data(e.data.target, 'draggable').handle.css('cursor', opts.cursor);\r\n//\t\t}\r\n\t\tproxy.css({\r\n\t\t\tleft:e.data.left,\r\n\t\t\ttop:e.data.top\r\n\t\t});\r\n\t\t$('body').css('cursor', opts.cursor);\r\n\t}\r\n\t\r\n\tfunction doDown(e){\r\n//\t\tisDragging = true;\r\n\t\t$.fn.draggable.isDragging = true;\r\n\t\tvar state = $.data(e.data.target, 'draggable');\r\n\t\tvar opts = state.options;\r\n\t\t\r\n\t\tvar droppables = $('.droppable').filter(function(){\r\n\t\t\treturn e.data.target != this;\r\n\t\t}).filter(function(){\r\n\t\t\tvar accept = $.data(this, 'droppable').options.accept;\r\n\t\t\tif (accept){\r\n\t\t\t\treturn $(accept).filter(function(){\r\n\t\t\t\t\treturn this == e.data.target;\r\n\t\t\t\t}).length > 0;\r\n\t\t\t} else {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t});\r\n\t\tstate.droppables = droppables;\r\n\t\t\r\n\t\tvar proxy = state.proxy;\r\n\t\tif (!proxy){\r\n\t\t\tif (opts.proxy){\r\n\t\t\t\tif (opts.proxy == 'clone'){\r\n\t\t\t\t\tproxy = $(e.data.target).clone().insertAfter(e.data.target);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tproxy = opts.proxy.call(e.data.target, e.data.target);\r\n\t\t\t\t}\r\n\t\t\t\tstate.proxy = proxy;\r\n\t\t\t} else {\r\n\t\t\t\tproxy = $(e.data.target);\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tproxy.css('position', 'absolute');\r\n\t\tdrag(e);\r\n\t\tapplyDrag(e);\r\n\t\t\r\n\t\topts.onStartDrag.call(e.data.target, e);\r\n\t\treturn false;\r\n\t}\r\n\t\r\n\tfunction doMove(e){\r\n\t\tvar state = $.data(e.data.target, 'draggable');\r\n\t\tdrag(e);\r\n\t\tif (state.options.onDrag.call(e.data.target, e) != false){\r\n\t\t\tapplyDrag(e);\r\n\t\t}\r\n\t\t\r\n\t\tvar source = e.data.target;\r\n\t\tstate.droppables.each(function(){\r\n\t\t\tvar dropObj = $(this);\r\n\t\t\tif (dropObj.droppable('options').disabled){return;}\r\n\t\t\t\r\n\t\t\tvar p2 = dropObj.offset();\r\n\t\t\tif (e.pageX > p2.left && e.pageX < p2.left + dropObj.outerWidth()\r\n\t\t\t\t\t&& e.pageY > p2.top && e.pageY < p2.top + dropObj.outerHeight()){\r\n\t\t\t\tif (!this.entered){\r\n\t\t\t\t\t$(this).trigger('_dragenter', [source]);\r\n\t\t\t\t\tthis.entered = true;\r\n\t\t\t\t}\r\n\t\t\t\t$(this).trigger('_dragover', [source]);\r\n\t\t\t} else {\r\n\t\t\t\tif (this.entered){\r\n\t\t\t\t\t$(this).trigger('_dragleave', [source]);\r\n\t\t\t\t\tthis.entered = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\treturn false;\r\n\t}\r\n\t\r\n\tfunction doUp(e){\r\n//\t\tisDragging = false;\r\n\t\t$.fn.draggable.isDragging = false;\r\n//\t\tdrag(e);\r\n\t\tdoMove(e);\r\n\t\t\r\n\t\tvar state = $.data(e.data.target, 'draggable');\r\n\t\tvar proxy = state.proxy;\r\n\t\tvar opts = state.options;\r\n\t\tif (opts.revert){\r\n\t\t\tif (checkDrop() == true){\r\n\t\t\t\t$(e.data.target).css({\r\n\t\t\t\t\tposition:e.data.startPosition,\r\n\t\t\t\t\tleft:e.data.startLeft,\r\n\t\t\t\t\ttop:e.data.startTop\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tif (proxy){\r\n\t\t\t\t\tvar left, top;\r\n\t\t\t\t\tif (proxy.parent()[0] == document.body){\r\n\t\t\t\t\t\tleft = e.data.startX - e.data.offsetWidth;\r\n\t\t\t\t\t\ttop = e.data.startY - e.data.offsetHeight;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tleft = e.data.startLeft;\r\n\t\t\t\t\t\ttop = e.data.startTop;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tproxy.animate({\r\n\t\t\t\t\t\tleft: left,\r\n\t\t\t\t\t\ttop: top\r\n\t\t\t\t\t}, function(){\r\n\t\t\t\t\t\tremoveProxy();\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(e.data.target).animate({\r\n\t\t\t\t\t\tleft:e.data.startLeft,\r\n\t\t\t\t\t\ttop:e.data.startTop\r\n\t\t\t\t\t}, function(){\r\n\t\t\t\t\t\t$(e.data.target).css('position', e.data.startPosition);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t$(e.data.target).css({\r\n\t\t\t\tposition:'absolute',\r\n\t\t\t\tleft:e.data.left,\r\n\t\t\t\ttop:e.data.top\r\n\t\t\t});\r\n\t\t\tcheckDrop();\r\n\t\t}\r\n\t\t\r\n\t\topts.onStopDrag.call(e.data.target, e);\r\n\t\t\r\n\t\t$(document).unbind('.draggable');\r\n\t\tsetTimeout(function(){\r\n\t\t\t$('body').css('cursor','');\r\n\t\t},100);\r\n\t\t\r\n\t\tfunction removeProxy(){\r\n\t\t\tif (proxy){\r\n\t\t\t\tproxy.remove();\r\n\t\t\t}\r\n\t\t\tstate.proxy = null;\r\n\t\t}\r\n\t\t\r\n\t\tfunction checkDrop(){\r\n\t\t\tvar dropped = false;\r\n\t\t\tstate.droppables.each(function(){\r\n\t\t\t\tvar dropObj = $(this);\r\n\t\t\t\tif (dropObj.droppable('options').disabled){return;}\r\n\t\t\t\t\r\n\t\t\t\tvar p2 = dropObj.offset();\r\n\t\t\t\tif (e.pageX > p2.left && e.pageX < p2.left + dropObj.outerWidth()\r\n\t\t\t\t\t\t&& e.pageY > p2.top && e.pageY < p2.top + dropObj.outerHeight()){\r\n\t\t\t\t\tif (opts.revert){\r\n\t\t\t\t\t\t$(e.data.target).css({\r\n\t\t\t\t\t\t\tposition:e.data.startPosition,\r\n\t\t\t\t\t\t\tleft:e.data.startLeft,\r\n\t\t\t\t\t\t\ttop:e.data.startTop\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$(this).trigger('_drop', [e.data.target]);\r\n\t\t\t\t\tremoveProxy();\r\n\t\t\t\t\tdropped = true;\r\n\t\t\t\t\tthis.entered = false;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (!dropped && !opts.revert){\r\n\t\t\t\tremoveProxy();\r\n\t\t\t}\r\n\t\t\treturn dropped;\r\n\t\t}\r\n\t\t\r\n\t\treturn false;\r\n\t}\r\n\t\r\n\t$.fn.draggable = function(options, param){\r\n\t\tif (typeof options == 'string'){\r\n\t\t\treturn $.fn.draggable.methods[options](this, param);\r\n\t\t}\r\n\t\t\r\n\t\treturn this.each(function(){\r\n\t\t\tvar opts;\r\n\t\t\tvar state = $.data(this, 'draggable');\r\n\t\t\tif (state) {\r\n\t\t\t\tstate.handle.unbind('.draggable');\r\n\t\t\t\topts = $.extend(state.options, options);\r\n\t\t\t} else {\r\n\t\t\t\topts = $.extend({}, $.fn.draggable.defaults, $.fn.draggable.parseOptions(this), options || {});\r\n\t\t\t}\r\n\t\t\tvar handle = opts.handle ? (typeof opts.handle=='string' ? $(opts.handle, this) : opts.handle) : $(this);\r\n\t\t\t\r\n\t\t\t$.data(this, 'draggable', {\r\n\t\t\t\toptions: opts,\r\n\t\t\t\thandle: handle\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\tif (opts.disabled) {\r\n\t\t\t\t$(this).css('cursor', '');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\thandle.unbind('.draggable').bind('mousemove.draggable', {target:this}, function(e){\r\n//\t\t\t\tif (isDragging) return;\r\n\t\t\t\tif ($.fn.draggable.isDragging){return}\r\n\t\t\t\tvar opts = $.data(e.data.target, 'draggable').options;\r\n\t\t\t\tif (checkArea(e)){\r\n\t\t\t\t\t$(this).css('cursor', opts.cursor);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(this).css('cursor', '');\r\n\t\t\t\t}\r\n\t\t\t}).bind('mouseleave.draggable', {target:this}, function(e){\r\n\t\t\t\t$(this).css('cursor', '');\r\n\t\t\t}).bind('mousedown.draggable', {target:this}, function(e){\r\n\t\t\t\tif (checkArea(e) == false) return;\r\n\t\t\t\t$(this).css('cursor', '');\r\n\r\n\t\t\t\tvar position = $(e.data.target).position();\r\n\t\t\t\tvar offset = $(e.data.target).offset();\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\tstartPosition: $(e.data.target).css('position'),\r\n\t\t\t\t\tstartLeft: position.left,\r\n\t\t\t\t\tstartTop: position.top,\r\n\t\t\t\t\tleft: position.left,\r\n\t\t\t\t\ttop: position.top,\r\n\t\t\t\t\tstartX: e.pageX,\r\n\t\t\t\t\tstartY: e.pageY,\r\n\t\t\t\t\toffsetWidth: (e.pageX - offset.left),\r\n\t\t\t\t\toffsetHeight: (e.pageY - offset.top),\r\n\t\t\t\t\ttarget: e.data.target,\r\n\t\t\t\t\tparent: $(e.data.target).parent()[0]\r\n\t\t\t\t};\r\n\t\t\t\t\r\n\t\t\t\t$.extend(e.data, data);\r\n\t\t\t\tvar opts = $.data(e.data.target, 'draggable').options;\r\n\t\t\t\tif (opts.onBeforeDrag.call(e.data.target, e) == false) return;\r\n\t\t\t\t\r\n\t\t\t\t$(document).bind('mousedown.draggable', e.data, doDown);\r\n\t\t\t\t$(document).bind('mousemove.draggable', e.data, doMove);\r\n\t\t\t\t$(document).bind('mouseup.draggable', e.data, doUp);\r\n//\t\t\t\t$('body').css('cursor', opts.cursor);\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\t// check if the handle can be dragged\r\n\t\t\tfunction checkArea(e) {\r\n\t\t\t\tvar state = $.data(e.data.target, 'draggable');\r\n\t\t\t\tvar handle = state.handle;\r\n\t\t\t\tvar offset = $(handle).offset();\r\n\t\t\t\tvar width = $(handle).outerWidth();\r\n\t\t\t\tvar height = $(handle).outerHeight();\r\n\t\t\t\tvar t = e.pageY - offset.top;\r\n\t\t\t\tvar r = offset.left + width - e.pageX;\r\n\t\t\t\tvar b = offset.top + height - e.pageY;\r\n\t\t\t\tvar l = e.pageX - offset.left;\r\n\t\t\t\t\r\n\t\t\t\treturn Math.min(t,r,b,l) > state.options.edge;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.draggable.methods = {\r\n\t\toptions: function(jq){\r\n\t\t\treturn $.data(jq[0], 'draggable').options;\r\n\t\t},\r\n\t\tproxy: function(jq){\r\n\t\t\treturn $.data(jq[0], 'draggable').proxy;\r\n\t\t},\r\n\t\tenable: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\t$(this).draggable({disabled:false});\r\n\t\t\t});\r\n\t\t},\r\n\t\tdisable: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\t$(this).draggable({disabled:true});\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.draggable.parseOptions = function(target){\r\n\t\tvar t = $(target);\r\n\t\treturn $.extend({}, \r\n\t\t\t\t$.parser.parseOptions(target, ['cursor','handle','axis',\r\n\t\t\t\t       {'revert':'boolean','deltaX':'number','deltaY':'number','edge':'number'}]), {\r\n\t\t\tdisabled: (t.attr('disabled') ? true : undefined)\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.draggable.defaults = {\r\n\t\tproxy:null,\t// 'clone' or a function that will create the proxy object, \r\n\t\t\t\t\t// the function has the source parameter that indicate the source object dragged.\r\n\t\trevert:false,\r\n\t\tcursor:'move',\r\n\t\tdeltaX:null,\r\n\t\tdeltaY:null,\r\n\t\thandle: null,\r\n\t\tdisabled: false,\r\n\t\tedge:0,\r\n\t\taxis:null,\t// v or h\r\n\t\t\r\n\t\tonBeforeDrag: function(e){},\r\n\t\tonStartDrag: function(e){},\r\n\t\tonDrag: function(e){},\r\n\t\tonStopDrag: function(e){}\r\n\t};\r\n\t\r\n\t$.fn.draggable.isDragging = false;\r\n\t\r\n//\t$(function(){\r\n//\t\tfunction touchHandler(e) {\r\n//\t\t\tvar touches = e.changedTouches, first = touches[0], type = \"\";\r\n//\r\n//\t\t\tswitch(e.type) {\r\n//\t\t\t\tcase \"touchstart\": type = \"mousedown\"; break;\r\n//\t\t\t\tcase \"touchmove\":  type = \"mousemove\"; break;        \r\n//\t\t\t\tcase \"touchend\":   type = \"mouseup\";   break;\r\n//\t\t\t\tdefault: return;\r\n//\t\t\t}\r\n//\t\t\tvar simulatedEvent = document.createEvent(\"MouseEvent\");\r\n//\t\t\tsimulatedEvent.initMouseEvent(type, true, true, window, 1,\r\n//\t\t\t\t\t\t\t\t\t  first.screenX, first.screenY,\r\n//\t\t\t\t\t\t\t\t\t  first.clientX, first.clientY, false,\r\n//\t\t\t\t\t\t\t\t\t  false, false, false, 0/*left*/, null);\r\n//\r\n//\t\t\tfirst.target.dispatchEvent(simulatedEvent);\r\n//\t\t\tif (isDragging){\r\n//\t\t\t\te.preventDefault();\r\n//\t\t\t}\r\n//\t\t}\r\n//\t\t\r\n//\t\tif (document.addEventListener){\r\n//\t\t\tdocument.addEventListener(\"touchstart\", touchHandler, true);\r\n//\t\t\tdocument.addEventListener(\"touchmove\", touchHandler, true);\r\n//\t\t\tdocument.addEventListener(\"touchend\", touchHandler, true);\r\n//\t\t\tdocument.addEventListener(\"touchcancel\", touchHandler, true); \r\n//\t\t}\r\n//\t});\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.droppable.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * droppable - jQuery EasyUI\r\n * \r\n */\r\n(function($){\r\n\tfunction init(target){\r\n\t\t$(target).addClass('droppable');\r\n\t\t$(target).bind('_dragenter', function(e, source){\r\n\t\t\t$.data(target, 'droppable').options.onDragEnter.apply(target, [e, source]);\r\n\t\t});\r\n\t\t$(target).bind('_dragleave', function(e, source){\r\n\t\t\t$.data(target, 'droppable').options.onDragLeave.apply(target, [e, source]);\r\n\t\t});\r\n\t\t$(target).bind('_dragover', function(e, source){\r\n\t\t\t$.data(target, 'droppable').options.onDragOver.apply(target, [e, source]);\r\n\t\t});\r\n\t\t$(target).bind('_drop', function(e, source){\r\n\t\t\t$.data(target, 'droppable').options.onDrop.apply(target, [e, source]);\r\n\t\t});\r\n\t}\r\n\t\r\n\t$.fn.droppable = function(options, param){\r\n\t\tif (typeof options == 'string'){\r\n\t\t\treturn $.fn.droppable.methods[options](this, param);\r\n\t\t}\r\n\t\t\r\n\t\toptions = options || {};\r\n\t\treturn this.each(function(){\r\n\t\t\tvar state = $.data(this, 'droppable');\r\n\t\t\tif (state){\r\n\t\t\t\t$.extend(state.options, options);\r\n\t\t\t} else {\r\n\t\t\t\tinit(this);\r\n\t\t\t\t$.data(this, 'droppable', {\r\n\t\t\t\t\toptions: $.extend({}, $.fn.droppable.defaults, $.fn.droppable.parseOptions(this), options)\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.droppable.methods = {\r\n\t\toptions: function(jq){\r\n\t\t\treturn $.data(jq[0], 'droppable').options;\r\n\t\t},\r\n\t\tenable: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\t$(this).droppable({disabled:false});\r\n\t\t\t});\r\n\t\t},\r\n\t\tdisable: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\t$(this).droppable({disabled:true});\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.droppable.parseOptions = function(target){\r\n\t\tvar t = $(target);\r\n\t\treturn $.extend({},\t$.parser.parseOptions(target, ['accept']), {\r\n\t\t\tdisabled: (t.attr('disabled') ? true : undefined)\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.droppable.defaults = {\r\n\t\taccept:null,\r\n\t\tdisabled:false,\r\n\t\tonDragEnter:function(e, source){},\r\n\t\tonDragOver:function(e, source){},\r\n\t\tonDragLeave:function(e, source){},\r\n\t\tonDrop:function(e, source){}\r\n\t};\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.form.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * form - jQuery EasyUI\r\n * \r\n */\r\n(function($){\r\n\t/**\r\n\t * submit the form\r\n\t */\r\n\tfunction ajaxSubmit(target, options){\r\n\t\tvar opts = $.data(target, 'form').options;\r\n\t\t$.extend(opts, options||{});\r\n\t\t\r\n\t\tvar param = $.extend({}, opts.queryParams);\r\n\t\tif (opts.onSubmit.call(target, param) == false){return;}\r\n\t\t$(target).find('.textbox-text:focus').blur();\r\n\t\t\r\n\t\tvar frameId = 'easyui_frame_' + (new Date().getTime());\r\n\t\tvar frame = $('<iframe id='+frameId+' name='+frameId+'></iframe>').appendTo('body')\r\n\t\tframe.attr('src', window.ActiveXObject ? 'javascript:false' : 'about:blank');\r\n\t\tframe.css({\r\n\t\t\tposition:'absolute',\r\n\t\t\ttop:-1000,\r\n\t\t\tleft:-1000\r\n\t\t});\r\n\t\tframe.bind('load', cb);\r\n\t\t\r\n\t\tsubmit(param);\r\n\t\t\r\n\t\tfunction submit(param){\r\n\t\t\tvar form = $(target);\r\n\t\t\tif (opts.url){\r\n\t\t\t\tform.attr('action', opts.url);\r\n\t\t\t}\r\n\t\t\tvar t = form.attr('target'), a = form.attr('action');\r\n\t\t\tform.attr('target', frameId);\r\n\t\t\tvar paramFields = $();\r\n\t\t\ttry {\r\n\t\t\t\tfor(var n in param){\r\n\t\t\t\t\tvar field = $('<input type=\"hidden\" name=\"' + n + '\">').val(param[n]).appendTo(form);\r\n\t\t\t\t\tparamFields = paramFields.add(field);\r\n\t\t\t\t}\r\n\t\t\t\tcheckState();\r\n\t\t\t\tform[0].submit();\r\n\t\t\t} finally {\r\n\t\t\t\tform.attr('action', a);\r\n\t\t\t\tt ? form.attr('target', t) : form.removeAttr('target');\r\n\t\t\t\tparamFields.remove();\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tfunction checkState(){\r\n\t\t\tvar f = $('#'+frameId);\r\n\t\t\tif (!f.length){return}\r\n\t\t\ttry{\r\n\t\t\t\tvar s = f.contents()[0].readyState;\r\n\t\t\t\tif (s && s.toLowerCase() == 'uninitialized'){\r\n\t\t\t\t\tsetTimeout(checkState, 100);\r\n\t\t\t\t}\r\n\t\t\t} catch(e){\r\n\t\t\t\tcb();\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tvar checkCount = 10;\r\n\t\tfunction cb(){\r\n\t\t\tvar f = $('#'+frameId);\r\n\t\t\tif (!f.length){return}\r\n\t\t\tf.unbind();\r\n\t\t\tvar data = '';\r\n\t\t\ttry{\r\n\t\t\t\tvar body = f.contents().find('body');\r\n\t\t\t\tdata = body.html();\r\n\t\t\t\tif (data == ''){\r\n\t\t\t\t\tif (--checkCount){\r\n\t\t\t\t\t\tsetTimeout(cb, 100);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tvar ta = body.find('>textarea');\r\n\t\t\t\tif (ta.length){\r\n\t\t\t\t\tdata = ta.val();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar pre = body.find('>pre');\r\n\t\t\t\t\tif (pre.length){\r\n\t\t\t\t\t\tdata = pre.html();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} catch(e){\r\n\t\t\t}\r\n\t\t\topts.success(data);\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\tf.unbind();\r\n\t\t\t\tf.remove();\r\n\t\t\t}, 100);\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * load form data\r\n\t * if data is a URL string type load from remote site, \r\n\t * otherwise load from local data object. \r\n\t */\r\n\tfunction load(target, data){\r\n\t\tvar opts = $.data(target, 'form').options;\r\n\t\t\r\n\t\tif (typeof data == 'string'){\r\n\t\t\tvar param = {};\r\n\t\t\tif (opts.onBeforeLoad.call(target, param) == false) return;\r\n\t\t\t\r\n\t\t\t$.ajax({\r\n\t\t\t\turl: data,\r\n\t\t\t\tdata: param,\r\n\t\t\t\tdataType: 'json',\r\n\t\t\t\tsuccess: function(data){\r\n\t\t\t\t\t_load(data);\r\n\t\t\t\t},\r\n\t\t\t\terror: function(){\r\n\t\t\t\t\topts.onLoadError.apply(target, arguments);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\t_load(data);\r\n\t\t}\r\n\t\t\r\n\t\tfunction _load(data){\r\n\t\t\tvar form = $(target);\r\n\t\t\tfor(var name in data){\r\n\t\t\t\tvar val = data[name];\r\n\t\t\t\tvar rr = _checkField(name, val);\r\n\t\t\t\tif (!rr.length){\r\n\t\t\t\t\tvar count = _loadOther(name, val);\r\n\t\t\t\t\tif (!count){\r\n\t\t\t\t\t\t$('input[name=\"'+name+'\"]', form).val(val);\r\n\t\t\t\t\t\t$('textarea[name=\"'+name+'\"]', form).val(val);\r\n\t\t\t\t\t\t$('select[name=\"'+name+'\"]', form).val(val);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t_loadCombo(name, val);\r\n\t\t\t}\r\n\t\t\topts.onLoadSuccess.call(target, data);\r\n\t\t\tvalidate(target);\r\n\t\t}\r\n\t\t\r\n\t\t/**\r\n\t\t * check the checkbox and radio fields\r\n\t\t */\r\n\t\tfunction _checkField(name, val){\r\n\t\t\tvar rr = $(target).find('input[name=\"'+name+'\"][type=radio], input[name=\"'+name+'\"][type=checkbox]');\r\n\t\t\trr._propAttr('checked', false);\r\n\t\t\trr.each(function(){\r\n\t\t\t\tvar f = $(this);\r\n\t\t\t\tif (f.val() == String(val) || $.inArray(f.val(), $.isArray(val)?val:[val]) >= 0){\r\n\t\t\t\t\tf._propAttr('checked', true);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn rr;\r\n\t\t}\r\n\t\t\r\n\t\tfunction _loadOther(name, val){\r\n\t\t\tvar count = 0;\r\n\t\t\tvar pp = ['textbox','numberbox','slider'];\r\n\t\t\tfor(var i=0; i<pp.length; i++){\r\n\t\t\t\tvar p = pp[i];\r\n\t\t\t\tvar f = $(target).find('input['+p+'Name=\"'+name+'\"]');\r\n\t\t\t\tif (f.length){\r\n\t\t\t\t\tf[p]('setValue', val);\r\n\t\t\t\t\tcount += f.length;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn count;\r\n\t\t}\r\n\t\t\r\n\t\tfunction _loadCombo(name, val){\r\n\t\t\tvar form = $(target);\r\n\t\t\tvar cc = ['combobox','combotree','combogrid','datetimebox','datebox','combo'];\r\n\t\t\tvar c = form.find('[comboName=\"' + name + '\"]');\r\n\t\t\tif (c.length){\r\n\t\t\t\tfor(var i=0; i<cc.length; i++){\r\n\t\t\t\t\tvar type = cc[i];\r\n\t\t\t\t\tif (c.hasClass(type+'-f')){\r\n\t\t\t\t\t\tif (c[type]('options').multiple){\r\n\t\t\t\t\t\t\tc[type]('setValues', val);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tc[type]('setValue', val);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * clear the form fields\r\n\t */\r\n\tfunction clear(target){\r\n\t\t$('input,select,textarea', target).each(function(){\r\n\t\t\tvar t = this.type, tag = this.tagName.toLowerCase();\r\n\t\t\tif (t == 'text' || t == 'hidden' || t == 'password' || tag == 'textarea'){\r\n\t\t\t\tthis.value = '';\r\n\t\t\t} else if (t == 'file'){\r\n\t\t\t\tvar file = $(this);\r\n\t\t\t\tif (!file.hasClass('textbox-value')){\r\n\t\t\t\t\tvar newfile = file.clone().val('');\r\n\t\t\t\t\tnewfile.insertAfter(file);\r\n\t\t\t\t\tif (file.data('validatebox')){\r\n\t\t\t\t\t\tfile.validatebox('destroy');\r\n\t\t\t\t\t\tnewfile.validatebox();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tfile.remove();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if (t == 'checkbox' || t == 'radio'){\r\n\t\t\t\tthis.checked = false;\r\n\t\t\t} else if (tag == 'select'){\r\n\t\t\t\tthis.selectedIndex = -1;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t});\r\n\t\t\r\n\t\tvar t = $(target);\r\n\t\tvar plugins = ['textbox','combo','combobox','combotree','combogrid','slider'];\r\n\t\tfor(var i=0; i<plugins.length; i++){\r\n\t\t\tvar plugin = plugins[i];\r\n\t\t\tvar r = t.find('.'+plugin+'-f');\r\n\t\t\tif (r.length && r[plugin]){\r\n\t\t\t\tr[plugin]('clear');\r\n\t\t\t}\r\n\t\t}\r\n\t\tvalidate(target);\r\n\t}\r\n\t\r\n\tfunction reset(target){\r\n\t\ttarget.reset();\r\n\t\tvar t = $(target);\r\n\t\t\r\n\t\tvar plugins = ['textbox','combo','combobox','combotree','combogrid','datebox','datetimebox','spinner','timespinner','numberbox','numberspinner','slider'];\r\n\t\tfor(var i=0; i<plugins.length; i++){\r\n\t\t\tvar plugin = plugins[i];\r\n\t\t\tvar r = t.find('.'+plugin+'-f');\r\n\t\t\tif (r.length && r[plugin]){\r\n\t\t\t\tr[plugin]('reset');\r\n\t\t\t}\r\n\t\t}\r\n\t\tvalidate(target);\r\n\t}\r\n\t\r\n\t/**\r\n\t * set the form to make it can submit with ajax.\r\n\t */\r\n\tfunction setForm(target){\r\n\t\tvar options = $.data(target, 'form').options;\r\n\t\t$(target).unbind('.form');\r\n\t\tif (options.ajax){\r\n\t\t\t$(target).bind('submit.form', function(){\r\n\t\t\t\tsetTimeout(function(){\r\n\t\t\t\t\tajaxSubmit(target, options);\r\n\t\t\t\t}, 0);\r\n\t\t\t\treturn false;\r\n\t\t\t});\r\n\t\t}\r\n\t\tsetValidation(target, options.novalidate);\r\n\t}\r\n\t\r\n\tfunction initForm(target, options){\r\n\t\toptions = options || {};\r\n\t\tvar state = $.data(target, 'form');\r\n\t\tif (state){\r\n\t\t\t$.extend(state.options, options);\r\n\t\t} else {\r\n\t\t\t$.data(target, 'form', {\r\n\t\t\t\toptions: $.extend({}, $.fn.form.defaults, $.fn.form.parseOptions(target), options)\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction validate(target){\r\n\t\tif ($.fn.validatebox){\r\n\t\t\tvar t = $(target);\r\n\t\t\tt.find('.validatebox-text:not(:disabled)').validatebox('validate');\r\n\t\t\tvar invalidbox = t.find('.validatebox-invalid');\r\n\t\t\tinvalidbox.filter(':not(:disabled):first').focus();\r\n\t\t\treturn invalidbox.length == 0;\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\t\r\n\tfunction setValidation(target, novalidate){\r\n\t\tvar opts = $.data(target, 'form').options;\r\n\t\topts.novalidate = novalidate;\r\n\t\t$(target).find('.validatebox-text:not(:disabled)').validatebox(novalidate ? 'disableValidation' : 'enableValidation');\r\n\t}\r\n\t\r\n\t$.fn.form = function(options, param){\r\n\t\tif (typeof options == 'string'){\r\n\t\t\tthis.each(function(){\r\n\t\t\t\tinitForm(this);\r\n\t\t\t});\r\n\t\t\treturn $.fn.form.methods[options](this, param);\r\n\t\t}\r\n\t\t\r\n\t\treturn this.each(function(){\r\n\t\t\tinitForm(this, options);\r\n\t\t\tsetForm(this);\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.form.methods = {\r\n\t\toptions: function(jq){\r\n\t\t\treturn $.data(jq[0], 'form').options;\r\n\t\t},\r\n\t\tsubmit: function(jq, options){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tajaxSubmit(this, options);\r\n\t\t\t});\r\n\t\t},\r\n\t\tload: function(jq, data){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tload(this, data);\r\n\t\t\t});\r\n\t\t},\r\n\t\tclear: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tclear(this);\r\n\t\t\t});\r\n\t\t},\r\n\t\treset: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\treset(this);\r\n\t\t\t});\r\n\t\t},\r\n\t\tvalidate: function(jq){\r\n\t\t\treturn validate(jq[0]);\r\n\t\t},\r\n\t\tdisableValidation: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetValidation(this, true);\r\n\t\t\t});\r\n\t\t},\r\n\t\tenableValidation: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetValidation(this, false);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.form.parseOptions = function(target){\r\n\t\tvar t = $(target);\r\n\t\treturn $.extend({}, $.parser.parseOptions(target, [{ajax:'boolean'}]), {\r\n\t\t\turl: (t.attr('action') ? t.attr('action') : undefined)\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.form.defaults = {\r\n\t\tnovalidate: false,\r\n\t\tajax: true,\r\n\t\turl: null,\r\n\t\tqueryParams: {},\r\n\t\tonSubmit: function(param){return $(this).form('validate');},\r\n\t\tsuccess: function(data){},\r\n\t\tonBeforeLoad: function(param){},\r\n\t\tonLoadSuccess: function(data){},\r\n\t\tonLoadError: function(){}\r\n\t};\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.linkbutton.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * linkbutton - jQuery EasyUI\r\n * \r\n */\r\n(function($){\r\n\tfunction setSize(target, param){\r\n\t\tvar opts = $.data(target, 'linkbutton').options;\r\n\t\tif (param){\r\n\t\t\t$.extend(opts, param);\r\n\t\t}\r\n\t\tif (opts.width || opts.height || opts.fit){\r\n\t\t\tvar btn = $(target);\r\n\t\t\tvar parent = btn.parent();\r\n\t\t\tvar isVisible = btn.is(':visible');\r\n\t\t\tif (!isVisible){\r\n\t\t\t\tvar spacer = $('<div style=\"display:none\"></div>').insertBefore(target);\r\n\t\t\t\tvar style = {\r\n\t\t\t\t\tposition: btn.css('position'),\r\n\t\t\t\t\tdisplay: btn.css('display'),\r\n\t\t\t\t\tleft: btn.css('left')\r\n\t\t\t\t};\r\n\t\t\t\tbtn.appendTo('body');\r\n\t\t\t\tbtn.css({\r\n\t\t\t\t\tposition: 'absolute',\r\n\t\t\t\t\tdisplay: 'inline-block',\r\n\t\t\t\t\tleft: -20000\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tbtn._size(opts, parent);\r\n\t\t\tvar left = btn.find('.l-btn-left');\r\n\t\t\tleft.css('margin-top', 0);\r\n\t\t\tleft.css('margin-top', parseInt((btn.height()-left.height())/2)+'px');\r\n\t\t\tif (!isVisible){\r\n\t\t\t\tbtn.insertAfter(spacer);\r\n\t\t\t\tbtn.css(style);\r\n\t\t\t\tspacer.remove();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction createButton(target) {\r\n\t\tvar opts = $.data(target, 'linkbutton').options;\r\n\t\tvar t = $(target).empty();\r\n\t\t\r\n\t\tt.addClass('l-btn').removeClass('l-btn-plain l-btn-selected l-btn-plain-selected');\r\n\t\tt.removeClass('l-btn-small l-btn-medium l-btn-large').addClass('l-btn-'+opts.size);\r\n\t\tif (opts.plain){t.addClass('l-btn-plain')}\r\n\t\tif (opts.selected){\r\n\t\t\tt.addClass(opts.plain ? 'l-btn-selected l-btn-plain-selected' : 'l-btn-selected');\r\n\t\t}\r\n\t\tt.attr('group', opts.group || '');\r\n\t\tt.attr('id', opts.id || '');\r\n\t\t\r\n\t\tvar inner = $('<span class=\"l-btn-left\"></span>').appendTo(t);\r\n\t\tif (opts.text){\r\n\t\t\t$('<span class=\"l-btn-text\"></span>').html(opts.text).appendTo(inner);\r\n\t\t} else {\r\n\t\t\t$('<span class=\"l-btn-text l-btn-empty\">&nbsp;</span>').appendTo(inner);\r\n\t\t}\r\n\t\tif (opts.iconCls){\r\n\t\t\t$('<span class=\"l-btn-icon\">&nbsp;</span>').addClass(opts.iconCls).appendTo(inner);\r\n\t\t\tinner.addClass('l-btn-icon-'+opts.iconAlign);\r\n\t\t}\r\n\t\t\r\n\t\tt.unbind('.linkbutton').bind('focus.linkbutton',function(){\r\n\t\t\tif (!opts.disabled){\r\n\t\t\t\t$(this).addClass('l-btn-focus');\r\n\t\t\t}\r\n\t\t}).bind('blur.linkbutton',function(){\r\n\t\t\t$(this).removeClass('l-btn-focus');\r\n\t\t}).bind('click.linkbutton',function(){\r\n\t\t\tif (!opts.disabled){\r\n\t\t\t\tif (opts.toggle){\r\n\t\t\t\t\tif (opts.selected){\r\n\t\t\t\t\t\t$(this).linkbutton('unselect');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$(this).linkbutton('select');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\topts.onClick.call(this);\r\n\t\t\t}\r\n//\t\t\treturn false;\r\n\t\t});\r\n//\t\tif (opts.toggle && !opts.disabled){\r\n//\t\t\tt.bind('click.linkbutton', function(){\r\n//\t\t\t\tif (opts.selected){\r\n//\t\t\t\t\t$(this).linkbutton('unselect');\r\n//\t\t\t\t} else {\r\n//\t\t\t\t\t$(this).linkbutton('select');\r\n//\t\t\t\t}\r\n//\t\t\t});\r\n//\t\t}\r\n\t\t\r\n\t\tsetSelected(target, opts.selected)\r\n\t\tsetDisabled(target, opts.disabled);\r\n\t}\r\n\t\r\n\tfunction setSelected(target, selected){\r\n\t\tvar opts = $.data(target, 'linkbutton').options;\r\n\t\tif (selected){\r\n\t\t\tif (opts.group){\r\n\t\t\t\t$('a.l-btn[group=\"'+opts.group+'\"]').each(function(){\r\n\t\t\t\t\tvar o = $(this).linkbutton('options');\r\n\t\t\t\t\tif (o.toggle){\r\n\t\t\t\t\t\t$(this).removeClass('l-btn-selected l-btn-plain-selected');\r\n\t\t\t\t\t\to.selected = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\t$(target).addClass(opts.plain ? 'l-btn-selected l-btn-plain-selected' : 'l-btn-selected');\r\n\t\t\topts.selected = true;\r\n\t\t} else {\r\n\t\t\tif (!opts.group){\r\n\t\t\t\t$(target).removeClass('l-btn-selected l-btn-plain-selected');\r\n\t\t\t\topts.selected = false;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction setDisabled(target, disabled){\r\n\t\tvar state = $.data(target, 'linkbutton');\r\n\t\tvar opts = state.options;\r\n\t\t$(target).removeClass('l-btn-disabled l-btn-plain-disabled');\r\n\t\tif (disabled){\r\n\t\t\topts.disabled = true;\r\n\t\t\tvar href = $(target).attr('href');\r\n\t\t\tif (href){\r\n\t\t\t\tstate.href = href;\r\n\t\t\t\t$(target).attr('href', 'javascript:void(0)');\r\n\t\t\t}\r\n\t\t\tif (target.onclick){\r\n\t\t\t\tstate.onclick = target.onclick;\r\n\t\t\t\ttarget.onclick = null;\r\n\t\t\t}\r\n\t\t\topts.plain ? $(target).addClass('l-btn-disabled l-btn-plain-disabled') : $(target).addClass('l-btn-disabled');\r\n\t\t} else {\r\n\t\t\topts.disabled = false;\r\n\t\t\tif (state.href) {\r\n\t\t\t\t$(target).attr('href', state.href);\r\n\t\t\t}\r\n\t\t\tif (state.onclick) {\r\n\t\t\t\ttarget.onclick = state.onclick;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\t$.fn.linkbutton = function(options, param){\r\n\t\tif (typeof options == 'string'){\r\n\t\t\treturn $.fn.linkbutton.methods[options](this, param);\r\n\t\t}\r\n\t\t\r\n\t\toptions = options || {};\r\n\t\treturn this.each(function(){\r\n\t\t\tvar state = $.data(this, 'linkbutton');\r\n\t\t\tif (state){\r\n\t\t\t\t$.extend(state.options, options);\r\n\t\t\t} else {\r\n\t\t\t\t$.data(this, 'linkbutton', {\r\n\t\t\t\t\toptions: $.extend({}, $.fn.linkbutton.defaults, $.fn.linkbutton.parseOptions(this), options)\r\n\t\t\t\t});\r\n\t\t\t\t$(this).removeAttr('disabled');\r\n\t\t\t\t$(this).bind('_resize', function(e, force){\r\n\t\t\t\t\tif ($(this).hasClass('easyui-fluid') || force){\r\n\t\t\t\t\t\tsetSize(this);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tcreateButton(this);\r\n\t\t\tsetSize(this);\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.linkbutton.methods = {\r\n\t\toptions: function(jq){\r\n\t\t\treturn $.data(jq[0], 'linkbutton').options;\r\n\t\t},\r\n\t\tresize: function(jq, param){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetSize(this, param);\r\n\t\t\t});\r\n\t\t},\r\n\t\tenable: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetDisabled(this, false);\r\n\t\t\t});\r\n\t\t},\r\n\t\tdisable: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetDisabled(this, true);\r\n\t\t\t});\r\n\t\t},\r\n\t\tselect: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetSelected(this, true);\r\n\t\t\t});\r\n\t\t},\r\n\t\tunselect: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetSelected(this, false);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.linkbutton.parseOptions = function(target){\r\n\t\tvar t = $(target);\r\n\t\treturn $.extend({}, $.parser.parseOptions(target, \r\n\t\t\t['id','iconCls','iconAlign','group','size',{plain:'boolean',toggle:'boolean',selected:'boolean'}]\r\n\t\t), {\r\n\t\t\tdisabled: (t.attr('disabled') ? true : undefined),\r\n\t\t\ttext: $.trim(t.html()),\r\n\t\t\ticonCls: (t.attr('icon') || t.attr('iconCls'))\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.linkbutton.defaults = {\r\n\t\tid: null,\r\n\t\tdisabled: false,\r\n\t\ttoggle: false,\r\n\t\tselected: false,\r\n\t\tgroup: null,\r\n\t\tplain: false,\r\n\t\ttext: '',\r\n\t\ticonCls: null,\r\n\t\ticonAlign: 'left',\r\n\t\tsize: 'small',\t// small,large\r\n\t\tonClick: function(){}\r\n\t};\r\n\t\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.menu.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * menu - jQuery EasyUI\r\n * \r\n */\r\n(function($){\r\n\t\r\n\t/**\r\n\t * initialize the target menu, the function can be invoked only once\r\n\t */\r\n\tfunction init(target){\r\n\t\t$(target).appendTo('body');\r\n\t\t$(target).addClass('menu-top');\t// the top menu\r\n\t\t\r\n\t\t$(document).unbind('.menu').bind('mousedown.menu', function(e){\r\n//\t\t\tvar allMenu = $('body>div.menu:visible');\r\n//\t\t\tvar m = $(e.target).closest('div.menu', allMenu);\r\n\t\t\tvar m = $(e.target).closest('div.menu,div.combo-p');\r\n\t\t\tif (m.length){return}\r\n\t\t\t$('body>div.menu-top:visible').menu('hide');\r\n\t\t});\r\n\t\t\r\n\t\tvar menus = splitMenu($(target));\r\n\t\tfor(var i=0; i<menus.length; i++){\r\n\t\t\tcreateMenu(menus[i]);\r\n\t\t}\r\n\t\t\r\n\t\tfunction splitMenu(menu){\r\n\t\t\tvar menus = [];\r\n\t\t\tmenu.addClass('menu');\r\n\t\t\tmenus.push(menu);\r\n\t\t\tif (!menu.hasClass('menu-content')){\r\n\t\t\t\tmenu.children('div').each(function(){\r\n\t\t\t\t\tvar submenu = $(this).children('div');\r\n\t\t\t\t\tif (submenu.length){\r\n\t\t\t\t\t\tsubmenu.insertAfter(target);\r\n\t\t\t\t\t\tthis.submenu = submenu;\t\t// point to the sub menu\r\n\t\t\t\t\t\tvar mm = splitMenu(submenu);\r\n\t\t\t\t\t\tmenus = menus.concat(mm);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn menus;\r\n\t\t}\r\n\t\t\r\n\t\tfunction createMenu(menu){\r\n\t\t\tvar wh = $.parser.parseOptions(menu[0], ['width','height']);\r\n\t\t\tmenu[0].originalHeight = wh.height || 0;\r\n\t\t\tif (menu.hasClass('menu-content')){\r\n\t\t\t\tmenu[0].originalWidth = wh.width || menu._outerWidth();\r\n\t\t\t} else {\r\n\t\t\t\tmenu[0].originalWidth = wh.width || 0;\r\n\t\t\t\tmenu.children('div').each(function(){\r\n\t\t\t\t\tvar item = $(this);\r\n\t\t\t\t\tvar itemOpts = $.extend({}, $.parser.parseOptions(this,['name','iconCls','href',{separator:'boolean'}]), {\r\n\t\t\t\t\t\tdisabled: (item.attr('disabled') ? true : undefined)\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (itemOpts.separator){\r\n\t\t\t\t\t\titem.addClass('menu-sep');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!item.hasClass('menu-sep')){\r\n\t\t\t\t\t\titem[0].itemName = itemOpts.name || '';\r\n\t\t\t\t\t\titem[0].itemHref = itemOpts.href || '';\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tvar text = item.addClass('menu-item').html();\r\n\t\t\t\t\t\titem.empty().append($('<div class=\"menu-text\"></div>').html(text));\r\n\t\t\t\t\t\tif (itemOpts.iconCls){\r\n\t\t\t\t\t\t\t$('<div class=\"menu-icon\"></div>').addClass(itemOpts.iconCls).appendTo(item);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (itemOpts.disabled){\r\n\t\t\t\t\t\t\tsetDisabled(target, item[0], true);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (item[0].submenu){\r\n\t\t\t\t\t\t\t$('<div class=\"menu-rightarrow\"></div>').appendTo(item);\t// has sub menu\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tbindMenuItemEvent(target, item);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t$('<div class=\"menu-line\"></div>').prependTo(menu);\r\n\t\t\t}\r\n\t\t\tsetMenuSize(target, menu);\r\n\t\t\tmenu.hide();\r\n\t\t\t\r\n\t\t\tbindMenuEvent(target, menu);\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction setMenuSize(target, menu){\r\n\t\tvar opts = $.data(target, 'menu').options;\r\n\t\tvar style = menu.attr('style') || '';\r\n\t\tmenu.css({\r\n\t\t\tdisplay: 'block',\r\n\t\t\tleft:-10000,\r\n\t\t\theight: 'auto',\r\n\t\t\toverflow: 'hidden'\r\n\t\t});\r\n\t\t\r\n\t\tvar el = menu[0];\r\n\t\tvar width = el.originalWidth || 0;\r\n\t\tif (!width){\r\n\t\t\twidth = 0;\r\n\t\t\tmenu.find('div.menu-text').each(function(){\r\n\t\t\t\tif (width < $(this)._outerWidth()){\r\n\t\t\t\t\twidth = $(this)._outerWidth();\r\n\t\t\t\t}\r\n\t\t\t\t$(this).closest('div.menu-item')._outerHeight($(this)._outerHeight()+2);\r\n\t\t\t});\r\n\t\t\twidth += 40;\r\n\t\t}\r\n\t\t\r\n\t\twidth = Math.max(width, opts.minWidth);\r\n//\t\tvar height = el.originalHeight || menu.outerHeight();\r\n\t\tvar height = el.originalHeight || 0;\r\n\t\tif (!height){\r\n\t\t\theight = menu.outerHeight();\r\n\t\t\t\r\n\t\t\tif (menu.hasClass('menu-top') && opts.alignTo){\r\n\t\t\t\tvar at = $(opts.alignTo);\r\n\t\t\t\tvar h1 = at.offset().top - $(document).scrollTop();\r\n\t\t\t\tvar h2 = $(window)._outerHeight() + $(document).scrollTop() - at.offset().top - at._outerHeight();\r\n\t\t\t\theight = Math.min(height, Math.max(h1, h2));\r\n\t\t\t} else if (height > $(window)._outerHeight()){\r\n\t\t\t\theight = $(window).height();\r\n\t\t\t\tstyle += ';overflow:auto';\r\n\t\t\t} else {\r\n\t\t\t\tstyle += ';overflow:hidden';\r\n\t\t\t}\r\n\t\t\t\r\n//\t\t\tif (height > $(window).height()-5){\r\n//\t\t\t\theight = $(window).height()-5;\r\n//\t\t\t\tstyle += ';overflow:auto';\r\n//\t\t\t} else {\r\n//\t\t\t\tstyle += ';overflow:hidden';\r\n//\t\t\t}\r\n\t\t}\r\n\t\tvar lineHeight = Math.max(el.originalHeight, menu.outerHeight()) - 2;\r\n\t\tmenu._outerWidth(width)._outerHeight(height);\r\n\t\tmenu.children('div.menu-line')._outerHeight(lineHeight);\r\n\t\t\r\n\t\tstyle += ';width:' + el.style.width + ';height:' + el.style.height;\r\n\t\t\r\n\t\tmenu.attr('style', style);\r\n\t}\r\n\t\r\n\t/**\r\n\t * bind menu event\r\n\t */\r\n\tfunction bindMenuEvent(target, menu){\r\n\t\tvar state = $.data(target, 'menu');\r\n\t\tmenu.unbind('.menu').bind('mouseenter.menu', function(){\r\n\t\t\tif (state.timer){\r\n\t\t\t\tclearTimeout(state.timer);\r\n\t\t\t\tstate.timer = null;\r\n\t\t\t}\r\n\t\t}).bind('mouseleave.menu', function(){\r\n\t\t\tif (state.options.hideOnUnhover){\r\n\t\t\t\tstate.timer = setTimeout(function(){\r\n\t\t\t\t\thideAll(target);\r\n\t\t\t\t}, state.options.duration);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\t/**\r\n\t * bind menu item event\r\n\t */\r\n\tfunction bindMenuItemEvent(target, item){\r\n\t\tif (!item.hasClass('menu-item')){return}\r\n\t\titem.unbind('.menu');\r\n\t\titem.bind('click.menu', function(){\r\n\t\t\tif ($(this).hasClass('menu-item-disabled')){\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t// only the sub menu clicked can hide all menus\r\n\t\t\tif (!this.submenu){\r\n\t\t\t\thideAll(target);\r\n\t\t\t\tvar href = this.itemHref;\r\n\t\t\t\tif (href){\r\n\t\t\t\t\tlocation.href = href;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar item = $(target).menu('getItem', this);\r\n\t\t\t$.data(target, 'menu').options.onClick.call(target, item);\r\n\t\t}).bind('mouseenter.menu', function(e){\r\n\t\t\t// hide other menu\r\n\t\t\titem.siblings().each(function(){\r\n\t\t\t\tif (this.submenu){\r\n\t\t\t\t\thideMenu(this.submenu);\r\n\t\t\t\t}\r\n\t\t\t\t$(this).removeClass('menu-active');\r\n\t\t\t});\r\n\t\t\t// show this menu\r\n\t\t\titem.addClass('menu-active');\r\n\t\t\t\r\n\t\t\tif ($(this).hasClass('menu-item-disabled')){\r\n\t\t\t\titem.addClass('menu-active-disabled');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tvar submenu = item[0].submenu;\r\n\t\t\tif (submenu){\r\n\t\t\t\t$(target).menu('show', {\r\n\t\t\t\t\tmenu: submenu,\r\n\t\t\t\t\tparent: item\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}).bind('mouseleave.menu', function(e){\r\n\t\t\titem.removeClass('menu-active menu-active-disabled');\r\n\t\t\tvar submenu = item[0].submenu;\r\n\t\t\tif (submenu){\r\n\t\t\t\tif (e.pageX>=parseInt(submenu.css('left'))){\r\n\t\t\t\t\titem.addClass('menu-active');\r\n\t\t\t\t} else {\r\n\t\t\t\t\thideMenu(submenu);\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t} else {\r\n\t\t\t\titem.removeClass('menu-active');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\t/**\r\n\t * hide top menu and it's all sub menus\r\n\t */\r\n\tfunction hideAll(target){\r\n\t\tvar state = $.data(target, 'menu');\r\n\t\tif (state){\r\n\t\t\tif ($(target).is(':visible')){\r\n\t\t\t\thideMenu($(target));\r\n\t\t\t\tstate.options.onHide.call(target);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\t\r\n\t/**\r\n\t * show the menu, the 'param' object has one or more properties:\r\n\t * left: the left position to display\r\n\t * top: the top position to display\r\n\t * menu: the menu to display, if not defined, the 'target menu' is used\r\n\t * parent: the parent menu item to align to\r\n\t * alignTo: the element object to align to\r\n\t */\r\n\tfunction showMenu(target, param){\r\n\t\tvar left,top;\r\n\t\tparam = param || {};\r\n\t\tvar menu = $(param.menu || target);\r\n\t\t$(target).menu('resize', menu[0]);\r\n\t\tif (menu.hasClass('menu-top')){\r\n\t\t\tvar opts = $.data(target, 'menu').options;\r\n\t\t\t$.extend(opts, param);\r\n\t\t\tleft = opts.left;\r\n\t\t\ttop = opts.top;\r\n\t\t\tif (opts.alignTo){\r\n\t\t\t\tvar at = $(opts.alignTo);\r\n\t\t\t\tleft = at.offset().left;\r\n\t\t\t\ttop = at.offset().top + at._outerHeight();\r\n\t\t\t\tif (opts.align == 'right'){\r\n\t\t\t\t\tleft += at.outerWidth() - menu.outerWidth();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (left + menu.outerWidth() > $(window)._outerWidth() + $(document)._scrollLeft()){\r\n\t\t\t\tleft = $(window)._outerWidth() + $(document).scrollLeft() - menu.outerWidth() - 5;\r\n\t\t\t}\r\n\t\t\tif (left < 0){left = 0;}\r\n\t\t\ttop = _fixTop(top, opts.alignTo);\r\n\t\t} else {\r\n\t\t\tvar parent = param.parent;\t// the parent menu item\r\n\t\t\tleft = parent.offset().left + parent.outerWidth() - 2;\r\n\t\t\tif (left + menu.outerWidth() + 5 > $(window)._outerWidth() + $(document).scrollLeft()){\r\n\t\t\t\tleft = parent.offset().left - menu.outerWidth() + 2;\r\n\t\t\t}\r\n\t\t\ttop = _fixTop(parent.offset().top - 3);\r\n\t\t}\r\n\t\t\r\n\t\tfunction _fixTop(top, alignTo){\r\n\t\t\tif (top + menu.outerHeight() > $(window)._outerHeight() + $(document).scrollTop()){\r\n\t\t\t\tif (alignTo){\r\n\t\t\t\t\ttop = $(alignTo).offset().top - menu._outerHeight();\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttop = $(window)._outerHeight() + $(document).scrollTop() - menu.outerHeight();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (top < 0){top = 0;}\r\n\t\t\treturn top;\r\n\t\t}\r\n\t\t\r\n\t\tmenu.css({left:left,top:top});\r\n\t\tmenu.show(0, function(){\r\n\t\t\tif (!menu[0].shadow){\r\n\t\t\t\tmenu[0].shadow = $('<div class=\"menu-shadow\"></div>').insertAfter(menu);\r\n\t\t\t}\r\n\t\t\tmenu[0].shadow.css({\r\n\t\t\t\tdisplay:'block',\r\n\t\t\t\tzIndex:$.fn.menu.defaults.zIndex++,\r\n\t\t\t\tleft:menu.css('left'),\r\n\t\t\t\ttop:menu.css('top'),\r\n\t\t\t\twidth:menu.outerWidth(),\r\n\t\t\t\theight:menu.outerHeight()\r\n\t\t\t});\r\n\t\t\tmenu.css('z-index', $.fn.menu.defaults.zIndex++);\r\n\t\t\tif (menu.hasClass('menu-top')){\r\n\t\t\t\t$.data(menu[0], 'menu').options.onShow.call(menu[0]);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\tfunction hideMenu(menu){\r\n\t\tif (!menu) return;\r\n\t\t\r\n\t\thideit(menu);\r\n\t\tmenu.find('div.menu-item').each(function(){\r\n\t\t\tif (this.submenu){\r\n\t\t\t\thideMenu(this.submenu);\r\n\t\t\t}\r\n\t\t\t$(this).removeClass('menu-active');\r\n\t\t});\r\n\t\t\r\n\t\tfunction hideit(m){\r\n\t\t\tm.stop(true,true);\r\n\t\t\tif (m[0].shadow){\r\n\t\t\t\tm[0].shadow.hide();\r\n\t\t\t}\r\n\t\t\tm.hide();\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction findItem(target, text){\r\n\t\tvar result = null;\r\n\t\tvar tmp = $('<div></div>');\r\n\t\tfunction find(menu){\r\n\t\t\tmenu.children('div.menu-item').each(function(){\r\n\t\t\t\tvar item = $(target).menu('getItem', this);\r\n\t\t\t\tvar s = tmp.empty().html(item.text).text();\r\n\t\t\t\tif (text == $.trim(s)) {\r\n\t\t\t\t\tresult = item;\r\n\t\t\t\t} else if (this.submenu && !result){\r\n\t\t\t\t\tfind(this.submenu);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tfind($(target));\r\n\t\ttmp.remove();\r\n\t\treturn result;\r\n\t}\r\n\t\r\n\tfunction setDisabled(target, itemEl, disabled){\r\n\t\tvar t = $(itemEl);\r\n\t\tif (!t.hasClass('menu-item')){return}\r\n\t\t\r\n\t\tif (disabled){\r\n\t\t\tt.addClass('menu-item-disabled');\r\n\t\t\tif (itemEl.onclick){\r\n\t\t\t\titemEl.onclick1 = itemEl.onclick;\r\n\t\t\t\titemEl.onclick = null;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tt.removeClass('menu-item-disabled');\r\n\t\t\tif (itemEl.onclick1){\r\n\t\t\t\titemEl.onclick = itemEl.onclick1;\r\n\t\t\t\titemEl.onclick1 = null;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction appendItem(target, param){\r\n\t\tvar menu = $(target);\r\n\t\tif (param.parent){\r\n\t\t\tif (!param.parent.submenu){\r\n\t\t\t\tvar submenu = $('<div class=\"menu\"><div class=\"menu-line\"></div></div>').appendTo('body');\r\n\t\t\t\tsubmenu.hide();\r\n\t\t\t\tparam.parent.submenu = submenu;\r\n\t\t\t\t$('<div class=\"menu-rightarrow\"></div>').appendTo(param.parent);\r\n\t\t\t}\r\n\t\t\tmenu = param.parent.submenu;\r\n\t\t}\r\n\t\tif (param.separator){\r\n\t\t\tvar item = $('<div class=\"menu-sep\"></div>').appendTo(menu);\r\n\t\t} else {\r\n\t\t\tvar item = $('<div class=\"menu-item\"></div>').appendTo(menu);\r\n\t\t\t$('<div class=\"menu-text\"></div>').html(param.text).appendTo(item);\r\n\t\t}\r\n\t\tif (param.iconCls) $('<div class=\"menu-icon\"></div>').addClass(param.iconCls).appendTo(item);\r\n\t\tif (param.id) item.attr('id', param.id);\r\n\t\tif (param.name){item[0].itemName = param.name}\r\n\t\tif (param.href){item[0].itemHref = param.href}\r\n\t\tif (param.onclick){\r\n\t\t\tif (typeof param.onclick == 'string'){\r\n\t\t\t\titem.attr('onclick', param.onclick);\r\n\t\t\t} else {\r\n\t\t\t\titem[0].onclick = eval(param.onclick);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (param.handler){item[0].onclick = eval(param.handler)}\r\n\t\tif (param.disabled){setDisabled(target, item[0], true)}\r\n\t\t\r\n\t\tbindMenuItemEvent(target, item);\r\n\t\tbindMenuEvent(target, menu);\r\n\t\tsetMenuSize(target, menu);\r\n\t}\r\n\t\r\n\tfunction removeItem(target, itemEl){\r\n\t\tfunction removeit(el){\r\n\t\t\tif (el.submenu){\r\n\t\t\t\tel.submenu.children('div.menu-item').each(function(){\r\n\t\t\t\t\tremoveit(this);\r\n\t\t\t\t});\r\n\t\t\t\tvar shadow = el.submenu[0].shadow;\r\n\t\t\t\tif (shadow) shadow.remove();\r\n\t\t\t\tel.submenu.remove();\r\n\t\t\t}\r\n\t\t\t$(el).remove();\r\n\t\t}\r\n\t\tvar menu = $(itemEl).parent();\r\n\t\tremoveit(itemEl);\r\n\t\tsetMenuSize(target, menu);\r\n\t}\r\n\t\r\n\tfunction setVisible(target, itemEl, visible){\r\n\t\tvar menu = $(itemEl).parent();\r\n\t\tif (visible){\r\n\t\t\t$(itemEl).show();\r\n\t\t} else {\r\n\t\t\t$(itemEl).hide();\r\n\t\t}\r\n\t\tsetMenuSize(target, menu);\r\n\t}\r\n\t\r\n\tfunction destroyMenu(target){\r\n\t\t$(target).children('div.menu-item').each(function(){\r\n\t\t\tremoveItem(target, this);\r\n\t\t});\r\n\t\tif (target.shadow) target.shadow.remove();\r\n\t\t$(target).remove();\r\n\t}\r\n\t\r\n\t$.fn.menu = function(options, param){\r\n\t\tif (typeof options == 'string'){\r\n\t\t\treturn $.fn.menu.methods[options](this, param);\r\n\t\t}\r\n\t\t\r\n\t\toptions = options || {};\r\n\t\treturn this.each(function(){\r\n\t\t\tvar state = $.data(this, 'menu');\r\n\t\t\tif (state){\r\n\t\t\t\t$.extend(state.options, options);\r\n\t\t\t} else {\r\n\t\t\t\tstate = $.data(this, 'menu', {\r\n\t\t\t\t\toptions: $.extend({}, $.fn.menu.defaults, $.fn.menu.parseOptions(this), options)\r\n\t\t\t\t});\r\n\t\t\t\tinit(this);\r\n\t\t\t}\r\n\t\t\t$(this).css({\r\n\t\t\t\tleft: state.options.left,\r\n\t\t\t\ttop: state.options.top\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.menu.methods = {\r\n\t\toptions: function(jq){\r\n\t\t\treturn $.data(jq[0], 'menu').options;\r\n\t\t},\r\n\t\tshow: function(jq, pos){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tshowMenu(this, pos);\r\n\t\t\t});\r\n\t\t},\r\n\t\thide: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\thideAll(this);\r\n\t\t\t});\r\n\t\t},\r\n\t\tdestroy: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tdestroyMenu(this);\r\n\t\t\t});\r\n\t\t},\r\n\t\t/**\r\n\t\t * set the menu item text\r\n\t\t * param: {\r\n\t\t * \ttarget: DOM object, indicate the menu item\r\n\t\t * \ttext: string, the new text\r\n\t\t * }\r\n\t\t */\r\n\t\tsetText: function(jq, param){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\t$(param.target).children('div.menu-text').html(param.text);\r\n\t\t\t});\r\n\t\t},\r\n\t\t/**\r\n\t\t * set the menu icon class\r\n\t\t * param: {\r\n\t\t * \ttarget: DOM object, indicate the menu item\r\n\t\t * \ticonCls: the menu item icon class\r\n\t\t * }\r\n\t\t */\r\n\t\tsetIcon: function(jq, param){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\t$(param.target).children('div.menu-icon').remove();\r\n\t\t\t\tif (param.iconCls){\r\n\t\t\t\t\t$('<div class=\"menu-icon\"></div>').addClass(param.iconCls).appendTo(param.target);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\t/**\r\n\t\t * get the menu item data that contains the following property:\r\n\t\t * {\r\n\t\t * \ttarget: DOM object, the menu item\r\n\t\t *  id: the menu id\r\n\t\t * \ttext: the menu item text\r\n\t\t * \ticonCls: the icon class\r\n\t\t *  href: a remote address to redirect to\r\n\t\t *  onclick: a function to be called when the item is clicked\r\n\t\t * }\r\n\t\t */\r\n\t\tgetItem: function(jq, itemEl){\r\n\t\t\tvar t = $(itemEl);\r\n\t\t\tvar item = {\r\n\t\t\t\ttarget: itemEl,\r\n\t\t\t\tid: t.attr('id'),\r\n\t\t\t\ttext: $.trim(t.children('div.menu-text').html()),\r\n\t\t\t\tdisabled: t.hasClass('menu-item-disabled'),\r\n//\t\t\t\thref: t.attr('href'),\r\n//\t\t\t\tname: t.attr('name'),\r\n\t\t\t\tname: itemEl.itemName,\r\n\t\t\t\thref: itemEl.itemHref,\r\n\t\t\t\tonclick: itemEl.onclick\r\n\t\t\t}\r\n\t\t\tvar icon = t.children('div.menu-icon');\r\n\t\t\tif (icon.length){\r\n\t\t\t\tvar cc = [];\r\n\t\t\t\tvar aa = icon.attr('class').split(' ');\r\n\t\t\t\tfor(var i=0; i<aa.length; i++){\r\n\t\t\t\t\tif (aa[i] != 'menu-icon'){\r\n\t\t\t\t\t\tcc.push(aa[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\titem.iconCls = cc.join(' ');\r\n\t\t\t}\r\n\t\t\treturn item;\r\n\t\t},\r\n\t\tfindItem: function(jq, text){\r\n\t\t\treturn findItem(jq[0], text);\r\n\t\t},\r\n\t\t/**\r\n\t\t * append menu item, the param contains following properties:\r\n\t\t * parent,id,text,iconCls,href,onclick\r\n\t\t * when parent property is assigned, append menu item to it\r\n\t\t */\r\n\t\tappendItem: function(jq, param){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tappendItem(this, param);\r\n\t\t\t});\r\n\t\t},\r\n\t\tremoveItem: function(jq, itemEl){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tremoveItem(this, itemEl);\r\n\t\t\t});\r\n\t\t},\r\n\t\tenableItem: function(jq, itemEl){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetDisabled(this, itemEl, false);\r\n\t\t\t});\r\n\t\t},\r\n\t\tdisableItem: function(jq, itemEl){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetDisabled(this, itemEl, true);\r\n\t\t\t});\r\n\t\t},\r\n\t\tshowItem: function(jq, itemEl){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetVisible(this, itemEl, true);\r\n\t\t\t});\r\n\t\t},\r\n\t\thideItem: function(jq, itemEl){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetVisible(this, itemEl, false);\r\n\t\t\t});\r\n\t\t},\r\n\t\tresize: function(jq, menuEl){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetMenuSize(this, $(menuEl));\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.menu.parseOptions = function(target){\r\n\t\treturn $.extend({}, $.parser.parseOptions(target, [{minWidth:'number',duration:'number',hideOnUnhover:'boolean'}]));\r\n\t};\r\n\t\r\n\t$.fn.menu.defaults = {\r\n\t\tzIndex:110000,\r\n\t\tleft: 0,\r\n\t\ttop: 0,\r\n\t\talignTo: null,\r\n\t\talign: 'left',\r\n\t\tminWidth: 120,\r\n\t\tduration: 100,\t// Defines duration time in milliseconds to hide when the mouse leaves the menu.\r\n\t\thideOnUnhover: true,\t// Automatically hides the menu when mouse exits it\r\n\t\tonShow: function(){},\r\n\t\tonHide: function(){},\r\n\t\tonClick: function(item){}\r\n\t};\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.parser.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * parser - jQuery EasyUI\r\n * \r\n */\r\n\r\n(function($){\r\n\t$.parser = {\r\n\t\tauto: true,\r\n\t\tonComplete: function(context){},\r\n\t\tplugins:['draggable','droppable','resizable','pagination','tooltip',\r\n\t\t         'linkbutton','menu','menubutton','splitbutton','progressbar',\r\n\t\t\t\t 'tree','textbox','filebox','combo','combobox','combotree','combogrid','numberbox','validatebox','searchbox',\r\n\t\t\t\t 'spinner','numberspinner','timespinner','datetimespinner','calendar','datebox','datetimebox','slider',\r\n\t\t\t\t 'layout','panel','datagrid','propertygrid','treegrid','tabs','accordion','window','dialog','form'\r\n\t\t],\r\n\t\tparse: function(context){\r\n\t\t\tvar aa = [];\r\n\t\t\tfor(var i=0; i<$.parser.plugins.length; i++){\r\n\t\t\t\tvar name = $.parser.plugins[i];\r\n\t\t\t\tvar r = $('.easyui-' + name, context);\r\n\t\t\t\tif (r.length){\r\n\t\t\t\t\tif (r[name]){\r\n\t\t\t\t\t\tr[name]();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\taa.push({name:name,jq:r});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (aa.length && window.easyloader){\r\n\t\t\t\tvar names = [];\r\n\t\t\t\tfor(var i=0; i<aa.length; i++){\r\n\t\t\t\t\tnames.push(aa[i].name);\r\n\t\t\t\t}\r\n\t\t\t\teasyloader.load(names, function(){\r\n\t\t\t\t\tfor(var i=0; i<aa.length; i++){\r\n\t\t\t\t\t\tvar name = aa[i].name;\r\n\t\t\t\t\t\tvar jq = aa[i].jq;\r\n\t\t\t\t\t\tjq[name]();\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$.parser.onComplete.call($.parser, context);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\t$.parser.onComplete.call($.parser, context);\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tparseValue: function(property, value, parent, delta){\r\n\t\t\tdelta = delta || 0;\r\n\t\t\tvar v = $.trim(String(value||''));\r\n\t\t\tvar endchar = v.substr(v.length-1, 1);\r\n\t\t\tif (endchar == '%'){\r\n\t\t\t\tv = parseInt(v.substr(0, v.length-1));\r\n\t\t\t\tif (property.toLowerCase().indexOf('width') >= 0){\r\n\t\t\t\t\tv = Math.floor((parent.width()-delta) * v / 100.0);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tv = Math.floor((parent.height()-delta) * v / 100.0);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tv = parseInt(v) || undefined;\r\n\t\t\t}\r\n\t\t\treturn v;\r\n\t\t},\r\n\t\t\r\n\t\t/**\r\n\t\t * parse options, including standard 'data-options' attribute.\r\n\t\t * \r\n\t\t * calling examples:\r\n\t\t * $.parser.parseOptions(target);\r\n\t\t * $.parser.parseOptions(target, ['id','title','width',{fit:'boolean',border:'boolean'},{min:'number'}]);\r\n\t\t */\r\n\t\tparseOptions: function(target, properties){\r\n\t\t\tvar t = $(target);\r\n\t\t\tvar options = {};\r\n\t\t\t\r\n\t\t\tvar s = $.trim(t.attr('data-options'));\r\n\t\t\tif (s){\r\n\t\t\t\tif (s.substring(0, 1) != '{'){\r\n\t\t\t\t\ts = '{' + s + '}';\r\n\t\t\t\t}\r\n\t\t\t\toptions = (new Function('return ' + s))();\r\n\t\t\t}\r\n\t\t\t$.map(['width','height','left','top','minWidth','maxWidth','minHeight','maxHeight'], function(p){\r\n\t\t\t\tvar pv = $.trim(target.style[p] || '');\r\n\t\t\t\tif (pv){\r\n\t\t\t\t\tif (pv.indexOf('%') == -1){\r\n\t\t\t\t\t\tpv = parseInt(pv) || undefined;\r\n\t\t\t\t\t}\r\n\t\t\t\t\toptions[p] = pv;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t\t\r\n\t\t\tif (properties){\r\n\t\t\t\tvar opts = {};\r\n\t\t\t\tfor(var i=0; i<properties.length; i++){\r\n\t\t\t\t\tvar pp = properties[i];\r\n\t\t\t\t\tif (typeof pp == 'string'){\r\n\t\t\t\t\t\topts[pp] = t.attr(pp);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tfor(var name in pp){\r\n\t\t\t\t\t\t\tvar type = pp[name];\r\n\t\t\t\t\t\t\tif (type == 'boolean'){\r\n\t\t\t\t\t\t\t\topts[name] = t.attr(name) ? (t.attr(name) == 'true') : undefined;\r\n\t\t\t\t\t\t\t} else if (type == 'number'){\r\n\t\t\t\t\t\t\t\topts[name] = t.attr(name)=='0' ? 0 : parseFloat(t.attr(name)) || undefined;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t$.extend(options, opts);\r\n\t\t\t}\r\n\t\t\treturn options;\r\n\t\t}\r\n\t};\r\n\t$(function(){\r\n\t\tvar d = $('<div style=\"position:absolute;top:-1000px;width:100px;height:100px;padding:5px\"></div>').appendTo('body');\r\n\t\t$._boxModel = d.outerWidth()!=100;\r\n\t\td.remove();\r\n\t\t\r\n\t\tif (!window.easyloader && $.parser.auto){\r\n\t\t\t$.parser.parse();\r\n\t\t}\r\n\t});\r\n\t\r\n\t/**\r\n\t * extend plugin to set box model width\r\n\t */\r\n\t$.fn._outerWidth = function(width){\r\n\t\tif (width == undefined){\r\n\t\t\tif (this[0] == window){\r\n\t\t\t\treturn this.width() || document.body.clientWidth;\r\n\t\t\t}\r\n\t\t\treturn this.outerWidth()||0;\r\n\t\t}\r\n\t\treturn this._size('width', width);\r\n\t};\r\n\t\r\n\t/**\r\n\t * extend plugin to set box model height\r\n\t */\r\n\t$.fn._outerHeight = function(height){\r\n\t\tif (height == undefined){\r\n\t\t\tif (this[0] == window){\r\n\t\t\t\treturn this.height() || document.body.clientHeight;\r\n\t\t\t}\r\n\t\t\treturn this.outerHeight()||0;\r\n\t\t}\r\n\t\treturn this._size('height', height);\r\n\t};\r\n\t\r\n\t$.fn._scrollLeft = function(left){\r\n\t\tif (left == undefined){\r\n\t\t\treturn this.scrollLeft();\r\n\t\t} else {\r\n\t\t\treturn this.each(function(){$(this).scrollLeft(left)});\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn._propAttr = $.fn.prop || $.fn.attr;\r\n\t\r\n\t$.fn._size = function(options, parent){\r\n\t\tif (typeof options == 'string'){\r\n\t\t\tif (options == 'clear'){\r\n\t\t\t\treturn this.each(function(){\r\n\t\t\t\t\t$(this).css({width:'',minWidth:'',maxWidth:'',height:'',minHeight:'',maxHeight:''});\r\n\t\t\t\t});\r\n\t\t\t} else if (options == 'fit'){\r\n\t\t\t\treturn this.each(function(){\r\n\t\t\t\t\t_fit(this, this.tagName=='BODY' ? $('body') : $(this).parent(), true);\r\n\t\t\t\t});\r\n\t\t\t} else if (options == 'unfit'){\r\n\t\t\t\treturn this.each(function(){\r\n\t\t\t\t\t_fit(this, $(this).parent(), false);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tif (parent == undefined){\r\n\t\t\t\t\treturn _css(this[0], options);\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn this.each(function(){\r\n\t\t\t\t\t\t_css(this, options, parent);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn this.each(function(){\r\n\t\t\t\tparent = parent || $(this).parent();\r\n\t\t\t\t$.extend(options, _fit(this, parent, options.fit)||{});\r\n\t\t\t\tvar r1 = _setSize(this, 'width', parent, options);\r\n\t\t\t\tvar r2 = _setSize(this, 'height', parent, options);\r\n\t\t\t\tif (r1 || r2){\r\n\t\t\t\t\t$(this).addClass('easyui-fluid');\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(this).removeClass('easyui-fluid');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\t\r\n\t\tfunction _fit(target, parent, fit){\r\n\t\t\tif (!parent.length){return false;}\r\n\t\t\tvar t = $(target)[0];\r\n\t\t\tvar p = parent[0];\r\n\t\t\tvar fcount = p.fcount || 0;\r\n\t\t\tif (fit){\r\n\t\t\t\tif (!t.fitted){\r\n\t\t\t\t\tt.fitted = true;\r\n\t\t\t\t\tp.fcount = fcount + 1;\r\n\t\t\t\t\t$(p).addClass('panel-noscroll');\r\n\t\t\t\t\tif (p.tagName == 'BODY'){\r\n\t\t\t\t\t\t$('html').addClass('panel-fit');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn {\r\n\t\t\t\t\twidth: ($(p).width()||1),\r\n\t\t\t\t\theight: ($(p).height()||1)\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\tif (t.fitted){\r\n\t\t\t\t\tt.fitted = false;\r\n\t\t\t\t\tp.fcount = fcount - 1;\r\n\t\t\t\t\tif (p.fcount == 0){\r\n\t\t\t\t\t\t$(p).removeClass('panel-noscroll');\r\n\t\t\t\t\t\tif (p.tagName == 'BODY'){\r\n\t\t\t\t\t\t\t$('html').removeClass('panel-fit');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction _setSize(target, property, parent, options){\r\n\t\t\tvar t = $(target);\r\n\t\t\tvar p = property;\r\n\t\t\tvar p1 = p.substr(0,1).toUpperCase() + p.substr(1);\r\n\t\t\tvar min = $.parser.parseValue('min'+p1, options['min'+p1], parent);// || 0;\r\n\t\t\tvar max = $.parser.parseValue('max'+p1, options['max'+p1], parent);// || 99999;\r\n\t\t\tvar val = $.parser.parseValue(p, options[p], parent);\r\n\t\t\tvar fluid = (String(options[p]||'').indexOf('%') >= 0 ? true : false);\r\n\t\t\t\r\n\t\t\tif (!isNaN(val)){\r\n\t\t\t\tvar v = Math.min(Math.max(val, min||0), max||99999);\r\n\t\t\t\tif (!fluid){\r\n\t\t\t\t\toptions[p] = v;\r\n\t\t\t\t}\r\n\t\t\t\tt._size('min'+p1, '');\r\n\t\t\t\tt._size('max'+p1, '');\r\n\t\t\t\tt._size(p, v);\r\n\t\t\t} else {\r\n\t\t\t\tt._size(p, '');\r\n\t\t\t\tt._size('min'+p1, min);\r\n\t\t\t\tt._size('max'+p1, max);\r\n\t\t\t}\r\n\t\t\treturn fluid || options.fit;\r\n\t\t}\r\n\t\tfunction _css(target, property, value){\r\n\t\t\tvar t = $(target);\r\n\t\t\tif (value == undefined){\r\n\t\t\t\tvalue = parseInt(target.style[property]);\r\n\t\t\t\tif (isNaN(value)){return undefined;}\r\n\t\t\t\tif ($._boxModel){\r\n\t\t\t\t\tvalue += getDeltaSize();\r\n\t\t\t\t}\r\n\t\t\t\treturn value;\r\n\t\t\t} else if (value === ''){\r\n\t\t\t\tt.css(property, '');\r\n\t\t\t} else {\r\n\t\t\t\tif ($._boxModel){\r\n\t\t\t\t\tvalue -= getDeltaSize();\r\n\t\t\t\t\tif (value < 0){value = 0;}\r\n\t\t\t\t}\r\n\t\t\t\tt.css(property, value+'px');\r\n\t\t\t}\r\n\t\t\tfunction getDeltaSize(){\r\n\t\t\t\tif (property.toLowerCase().indexOf('width') >= 0){\r\n\t\t\t\t\treturn t.outerWidth() - t.width();\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn t.outerHeight() - t.height();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t\r\n})(jQuery);\r\n\r\n/**\r\n * support for mobile devices\r\n */\r\n(function($){\r\n\tvar longTouchTimer = null;\r\n\tvar dblTouchTimer = null;\r\n\tvar isDblClick = false;\r\n\t\r\n\tfunction onTouchStart(e){\r\n\t\tif (e.touches.length != 1){return}\r\n\t\tif (!isDblClick){\r\n\t\t\tisDblClick = true;\r\n\t\t\tdblClickTimer = setTimeout(function(){\r\n\t\t\t\tisDblClick = false;\r\n\t\t\t}, 500);\r\n\t\t} else {\r\n\t\t\tclearTimeout(dblClickTimer);\r\n\t\t\tisDblClick = false;\r\n\t\t\tfire(e, 'dblclick');\r\n//\t\t\te.preventDefault();\r\n\t\t}\r\n\t\tlongTouchTimer = setTimeout(function(){\r\n\t\t\tfire(e, 'contextmenu', 3);\r\n\t\t}, 1000);\r\n\t\tfire(e, 'mousedown');\r\n\t\tif ($.fn.draggable.isDragging || $.fn.resizable.isResizing){\r\n\t\t\te.preventDefault();\r\n\t\t}\r\n\t}\r\n\tfunction onTouchMove(e){\r\n\t\tif (e.touches.length != 1){return}\r\n\t\tif (longTouchTimer){\r\n\t\t\tclearTimeout(longTouchTimer);\r\n\t\t}\r\n\t\tfire(e, 'mousemove');\r\n\t\tif ($.fn.draggable.isDragging || $.fn.resizable.isResizing){\r\n\t\t\te.preventDefault();\r\n\t\t}\r\n\t}\r\n\tfunction onTouchEnd(e){\r\n//\t\tif (e.touches.length > 0){return}\r\n\t\tif (longTouchTimer){\r\n\t\t\tclearTimeout(longTouchTimer);\r\n\t\t}\r\n\t\tfire(e, 'mouseup');\r\n\t\tif ($.fn.draggable.isDragging || $.fn.resizable.isResizing){\r\n\t\t\te.preventDefault();\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction fire(e, name, which){\r\n\t\tvar event = new $.Event(name);\r\n\t\tevent.pageX = e.changedTouches[0].pageX;\r\n\t\tevent.pageY = e.changedTouches[0].pageY;\r\n\t\tevent.which = which || 1;\r\n\t\t$(e.target).trigger(event);\r\n\t}\r\n\t\r\n\tif (document.addEventListener){\r\n\t\tdocument.addEventListener(\"touchstart\", onTouchStart, true);\r\n\t\tdocument.addEventListener(\"touchmove\", onTouchMove, true);\r\n\t\tdocument.addEventListener(\"touchend\", onTouchEnd, true);\r\n\t}\r\n})(jQuery);\r\n\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.progressbar.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * progressbar - jQuery EasyUI\r\n * \r\n * Dependencies:\r\n * \t none\r\n * \r\n */\r\n(function($){\r\n\tfunction init(target){\r\n\t\t$(target).addClass('progressbar');\r\n\t\t$(target).html('<div class=\"progressbar-text\"></div><div class=\"progressbar-value\"><div class=\"progressbar-text\"></div></div>');\r\n\t\t$(target).bind('_resize', function(e,force){\r\n\t\t\tif ($(this).hasClass('easyui-fluid') || force){\r\n\t\t\t\tsetSize(target);\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t});\r\n\t\treturn $(target);\r\n\t}\r\n\t\r\n\tfunction setSize(target,width){\r\n\t\tvar opts = $.data(target, 'progressbar').options;\r\n\t\tvar bar = $.data(target, 'progressbar').bar;\r\n\t\tif (width) opts.width = width;\r\n\t\tbar._size(opts);\r\n\t\t\r\n\t\tbar.find('div.progressbar-text').css('width', bar.width());\r\n\t\tbar.find('div.progressbar-text,div.progressbar-value').css({\r\n\t\t\theight: bar.height()+'px',\r\n\t\t\tlineHeight: bar.height()+'px'\r\n\t\t});\r\n\t}\r\n\t\r\n\t$.fn.progressbar = function(options, param){\r\n\t\tif (typeof options == 'string'){\r\n\t\t\tvar method = $.fn.progressbar.methods[options];\r\n\t\t\tif (method){\r\n\t\t\t\treturn method(this, param);\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\toptions = options || {};\r\n\t\treturn this.each(function(){\r\n\t\t\tvar state = $.data(this, 'progressbar');\r\n\t\t\tif (state){\r\n\t\t\t\t$.extend(state.options, options);\r\n\t\t\t} else {\r\n\t\t\t\tstate = $.data(this, 'progressbar', {\r\n\t\t\t\t\toptions: $.extend({}, $.fn.progressbar.defaults, $.fn.progressbar.parseOptions(this), options),\r\n\t\t\t\t\tbar: init(this)\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\t$(this).progressbar('setValue', state.options.value);\r\n\t\t\tsetSize(this);\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.progressbar.methods = {\r\n\t\toptions: function(jq){\r\n\t\t\treturn $.data(jq[0], 'progressbar').options;\r\n\t\t},\r\n\t\tresize: function(jq, width){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetSize(this, width);\r\n\t\t\t});\r\n\t\t},\r\n\t\tgetValue: function(jq){\r\n\t\t\treturn $.data(jq[0], 'progressbar').options.value;\r\n\t\t},\r\n\t\tsetValue: function(jq, value){\r\n\t\t\tif (value < 0) value = 0;\r\n\t\t\tif (value > 100) value = 100;\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tvar opts = $.data(this, 'progressbar').options;\r\n\t\t\t\tvar text = opts.text.replace(/{value}/, value);\r\n\t\t\t\tvar oldValue = opts.value;\r\n\t\t\t\topts.value = value;\r\n\t\t\t\t$(this).find('div.progressbar-value').width(value+'%');\r\n\t\t\t\t$(this).find('div.progressbar-text').html(text);\r\n\t\t\t\tif (oldValue != value){\r\n\t\t\t\t\topts.onChange.call(this, value, oldValue);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.progressbar.parseOptions = function(target){\r\n\t\treturn $.extend({}, $.parser.parseOptions(target, ['width','height','text',{value:'number'}]));\r\n\t};\r\n\t\r\n\t$.fn.progressbar.defaults = {\r\n\t\twidth: 'auto',\r\n\t\theight: 22,\r\n\t\tvalue: 0,\t// percentage value\r\n\t\ttext: '{value}%',\r\n\t\tonChange:function(newValue,oldValue){}\r\n\t};\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.propertygrid.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * propertygrid - jQuery EasyUI\r\n * \r\n * Dependencies:\r\n * \t datagrid\r\n * \r\n */\r\n(function($){\r\n\tvar currTarget;\r\n\t$(document).unbind('.propertygrid').bind('mousedown.propertygrid', function(e){\r\n\t\tvar p = $(e.target).closest('div.datagrid-view,div.combo-panel');\r\n\t\tif (p.length){return;}\r\n\t\tstopEditing(currTarget);\r\n\t\tcurrTarget = undefined;\r\n\t});\r\n\t\r\n\tfunction buildGrid(target){\r\n\t\tvar state = $.data(target, 'propertygrid');\r\n\t\tvar opts = $.data(target, 'propertygrid').options;\r\n\t\t$(target).datagrid($.extend({}, opts, {\r\n\t\t\tcls:'propertygrid',\r\n\t\t\tview:(opts.showGroup ? opts.groupView : opts.view),\r\n\t\t\tonBeforeEdit:function(index, row){\r\n\t\t\t\tif (opts.onBeforeEdit.call(target, index, row) == false){return false;}\r\n\t\t\t\tvar dg = $(this);\r\n\t\t\t\tvar row = dg.datagrid('getRows')[index];\r\n\t\t\t\tvar col = dg.datagrid('getColumnOption', 'value');\r\n\t\t\t\tcol.editor = row.editor;\r\n\t\t\t},\r\n\t\t\tonClickCell:function(index, field, value){\r\n\t\t\t\tif (currTarget != this){\r\n\t\t\t\t\tstopEditing(currTarget);\r\n\t\t\t\t\tcurrTarget = this;\r\n\t\t\t\t}\r\n\t\t\t\tif (opts.editIndex != index){\r\n\t\t\t\t\tstopEditing(currTarget);\r\n\t\t\t\t\t$(this).datagrid('beginEdit', index);\r\n\t\t\t\t\tvar ed = $(this).datagrid('getEditor', {index:index,field:field});\r\n\t\t\t\t\tif (!ed){\r\n\t\t\t\t\t\ted = $(this).datagrid('getEditor', {index:index,field:'value'});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (ed){\r\n\t\t\t\t\t\tvar t = $(ed.target);\r\n\t\t\t\t\t\tvar input = t.data('textbox') ? t.textbox('textbox') : t;\r\n\t\t\t\t\t\tinput.focus();\r\n\t\t\t\t\t\topts.editIndex = index;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\topts.onClickCell.call(target, index, field, value);\r\n\t\t\t},\r\n\t\t\tloadFilter:function(data){\r\n\t\t\t\tstopEditing(this);\r\n\t\t\t\treturn opts.loadFilter.call(this, data);\r\n\t\t\t}\r\n\t\t}));\r\n\t}\r\n\t\r\n\tfunction stopEditing(target){\r\n\t\tvar t = $(target);\r\n\t\tif (!t.length){return}\r\n\t\tvar opts = $.data(target, 'propertygrid').options;\r\n\t\topts.finder.getTr(target, null, 'editing').each(function(){\r\n\t\t\tvar index = parseInt($(this).attr('datagrid-row-index'));\r\n\t\t\tif (t.datagrid('validateRow', index)){\r\n\t\t\t\tt.datagrid('endEdit', index);\r\n\t\t\t} else {\r\n\t\t\t\tt.datagrid('cancelEdit', index);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\t$.fn.propertygrid = function(options, param){\r\n\t\tif (typeof options == 'string'){\r\n\t\t\tvar method = $.fn.propertygrid.methods[options];\r\n\t\t\tif (method){\r\n\t\t\t\treturn method(this, param);\r\n\t\t\t} else {\r\n\t\t\t\treturn this.datagrid(options, param);\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\toptions = options || {};\r\n\t\treturn this.each(function(){\r\n\t\t\tvar state = $.data(this, 'propertygrid');\r\n\t\t\tif (state){\r\n\t\t\t\t$.extend(state.options, options);\r\n\t\t\t} else {\r\n\t\t\t\tvar opts = $.extend({}, $.fn.propertygrid.defaults, $.fn.propertygrid.parseOptions(this), options);\r\n\t\t\t\topts.frozenColumns = $.extend(true, [], opts.frozenColumns);\r\n\t\t\t\topts.columns = $.extend(true, [], opts.columns);\r\n\t\t\t\t$.data(this, 'propertygrid', {\r\n\t\t\t\t\toptions: opts\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tbuildGrid(this);\r\n\t\t});\r\n\t}\r\n\t\r\n\t$.fn.propertygrid.methods = {\r\n\t\toptions: function(jq){\r\n\t\t\treturn $.data(jq[0], 'propertygrid').options;\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.propertygrid.parseOptions = function(target){\r\n\t\treturn $.extend({}, $.fn.datagrid.parseOptions(target), $.parser.parseOptions(target,[{showGroup:'boolean'}]));\r\n\t};\r\n\t\r\n\t// the group view definition\r\n\tvar groupview = $.extend({}, $.fn.datagrid.defaults.view, {\r\n\t\trender: function(target, container, frozen){\r\n\t\t\tvar table = [];\r\n\t\t\tvar groups = this.groups;\r\n\t\t\tfor(var i=0; i<groups.length; i++){\r\n\t\t\t\ttable.push(this.renderGroup.call(this, target, i, groups[i], frozen));\r\n\t\t\t}\r\n\t\t\t$(container).html(table.join(''));\r\n\t\t},\r\n\t\t\r\n\t\trenderGroup: function(target, groupIndex, group, frozen){\r\n\t\t\tvar state = $.data(target, 'datagrid');\r\n\t\t\tvar opts = state.options;\r\n\t\t\tvar fields = $(target).datagrid('getColumnFields', frozen);\r\n\t\t\t\r\n\t\t\tvar table = [];\r\n\t\t\ttable.push('<div class=\"datagrid-group\" group-index=' + groupIndex + '>');\r\n\t\t\ttable.push('<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"height:100%\"><tbody>');\r\n\t\t\ttable.push('<tr>');\r\n\t\t\tif ((frozen && (opts.rownumbers || opts.frozenColumns.length)) ||\r\n\t\t\t\t\t(!frozen && !(opts.rownumbers || opts.frozenColumns.length))){\r\n\t\t\t\ttable.push('<td style=\"border:0;text-align:center;width:25px\"><span class=\"datagrid-row-expander datagrid-row-collapse\" style=\"display:inline-block;width:16px;height:16px;cursor:pointer\">&nbsp;</span></td>');\r\n\t\t\t}\r\n\t\t\ttable.push('<td style=\"border:0;\">');\r\n\t\t\tif (!frozen){\r\n\t\t\t\ttable.push('<span class=\"datagrid-group-title\">');\r\n\t\t\t\ttable.push(opts.groupFormatter.call(target, group.value, group.rows));\r\n\t\t\t\ttable.push('</span>');\r\n\t\t\t}\r\n\t\t\ttable.push('</td>');\r\n\t\t\ttable.push('</tr>');\r\n\t\t\ttable.push('</tbody></table>');\r\n\t\t\ttable.push('</div>');\r\n\t\t\t\r\n\t\t\ttable.push('<table class=\"datagrid-btable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>');\r\n\t\t\tvar index = group.startIndex;\r\n\t\t\tfor(var j=0; j<group.rows.length; j++) {\r\n\t\t\t\tvar css = opts.rowStyler ? opts.rowStyler.call(target, index, group.rows[j]) : '';\r\n\t\t\t\tvar classValue = '';\r\n\t\t\t\tvar styleValue = '';\r\n\t\t\t\tif (typeof css == 'string'){\r\n\t\t\t\t\tstyleValue = css;\r\n\t\t\t\t} else if (css){\r\n\t\t\t\t\tclassValue = css['class'] || '';\r\n\t\t\t\t\tstyleValue = css['style'] || '';\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tvar cls = 'class=\"datagrid-row ' + (index % 2 && opts.striped ? 'datagrid-row-alt ' : ' ') + classValue + '\"';\r\n\t\t\t\tvar style = styleValue ? 'style=\"' + styleValue + '\"' : '';\r\n\t\t\t\tvar rowId = state.rowIdPrefix + '-' + (frozen?1:2) + '-' + index;\r\n\t\t\t\ttable.push('<tr id=\"' + rowId + '\" datagrid-row-index=\"' + index + '\" ' + cls + ' ' + style + '>');\r\n\t\t\t\ttable.push(this.renderRow.call(this, target, fields, frozen, index, group.rows[j]));\r\n\t\t\t\ttable.push('</tr>');\r\n\t\t\t\tindex++;\r\n\t\t\t}\r\n\t\t\ttable.push('</tbody></table>');\r\n\t\t\treturn table.join('');\r\n\t\t},\r\n\t\t\r\n\t\tbindEvents: function(target){\r\n\t\t\tvar state = $.data(target, 'datagrid');\r\n\t\t\tvar dc = state.dc;\r\n\t\t\tvar body = dc.body1.add(dc.body2);\r\n\t\t\tvar clickHandler = ($.data(body[0],'events')||$._data(body[0],'events')).click[0].handler;\r\n\t\t\tbody.unbind('click').bind('click', function(e){\r\n\t\t\t\tvar tt = $(e.target);\r\n\t\t\t\tvar expander = tt.closest('span.datagrid-row-expander');\r\n\t\t\t\tif (expander.length){\r\n\t\t\t\t\tvar gindex = expander.closest('div.datagrid-group').attr('group-index');\r\n\t\t\t\t\tif (expander.hasClass('datagrid-row-collapse')){\r\n\t\t\t\t\t\t$(target).datagrid('collapseGroup', gindex);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$(target).datagrid('expandGroup', gindex);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tclickHandler(e);\r\n\t\t\t\t}\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t});\r\n\t\t},\r\n\t\t\r\n\t\tonBeforeRender: function(target, rows){\r\n\t\t\tvar state = $.data(target, 'datagrid');\r\n\t\t\tvar opts = state.options;\r\n\t\t\t\r\n\t\t\tinitCss();\r\n\t\t\t\r\n\t\t\tvar groups = [];\r\n\t\t\tfor(var i=0; i<rows.length; i++){\r\n\t\t\t\tvar row = rows[i];\r\n\t\t\t\tvar group = getGroup(row[opts.groupField]);\r\n\t\t\t\tif (!group){\r\n\t\t\t\t\tgroup = {\r\n\t\t\t\t\t\tvalue: row[opts.groupField],\r\n\t\t\t\t\t\trows: [row]\r\n\t\t\t\t\t};\r\n\t\t\t\t\tgroups.push(group);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tgroup.rows.push(row);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tvar index = 0;\r\n\t\t\tvar newRows = [];\r\n\t\t\tfor(var i=0; i<groups.length; i++){\r\n\t\t\t\tvar group = groups[i];\r\n\t\t\t\tgroup.startIndex = index;\r\n\t\t\t\tindex += group.rows.length;\r\n\t\t\t\tnewRows = newRows.concat(group.rows);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tstate.data.rows = newRows;\r\n\t\t\tthis.groups = groups;\r\n\t\t\t\r\n\t\t\tvar that = this;\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\tthat.bindEvents(target);\r\n\t\t\t},0);\r\n\t\t\t\r\n\t\t\tfunction getGroup(value){\r\n\t\t\t\tfor(var i=0; i<groups.length; i++){\r\n\t\t\t\t\tvar group = groups[i];\r\n\t\t\t\t\tif (group.value == value){\r\n\t\t\t\t\t\treturn group;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\tfunction initCss(){\r\n\t\t\t\tif (!$('#datagrid-group-style').length){\r\n\t\t\t\t\t$('head').append(\r\n\t\t\t\t\t\t'<style id=\"datagrid-group-style\">' +\r\n\t\t\t\t\t\t'.datagrid-group{height:25px;overflow:hidden;font-weight:bold;border-bottom:1px solid #ccc;}' +\r\n\t\t\t\t\t\t'</style>'\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\t$.extend($.fn.datagrid.methods, {\r\n\t    expandGroup:function(jq, groupIndex){\r\n\t        return jq.each(function(){\r\n\t            var view = $.data(this, 'datagrid').dc.view;\r\n\t            var group = view.find(groupIndex!=undefined ? 'div.datagrid-group[group-index=\"'+groupIndex+'\"]' : 'div.datagrid-group');\r\n\t            var expander = group.find('span.datagrid-row-expander');\r\n\t            if (expander.hasClass('datagrid-row-expand')){\r\n\t                expander.removeClass('datagrid-row-expand').addClass('datagrid-row-collapse');\r\n\t                group.next('table').show();\r\n\t            }\r\n\t            $(this).datagrid('fixRowHeight');\r\n\t        });\r\n\t    },\r\n\t    collapseGroup:function(jq, groupIndex){\r\n\t        return jq.each(function(){\r\n\t            var view = $.data(this, 'datagrid').dc.view;\r\n\t            var group = view.find(groupIndex!=undefined ? 'div.datagrid-group[group-index=\"'+groupIndex+'\"]' : 'div.datagrid-group');\r\n\t            var expander = group.find('span.datagrid-row-expander');\r\n\t            if (expander.hasClass('datagrid-row-collapse')){\r\n\t                expander.removeClass('datagrid-row-collapse').addClass('datagrid-row-expand');\r\n\t                group.next('table').hide();\r\n\t            }\r\n\t            $(this).datagrid('fixRowHeight');\r\n\t        });\r\n\t    }\r\n\t});\r\n\r\n\t$.extend(groupview, {\r\n\t\trefreshGroupTitle: function(target, groupIndex){\r\n\t\t\tvar state = $.data(target, 'datagrid');\r\n\t\t\tvar opts = state.options;\r\n\t\t\tvar dc = state.dc;\r\n\t\t\tvar group = this.groups[groupIndex];\r\n\t\t\tvar span = dc.body2.children('div.datagrid-group[group-index=' + groupIndex + ']').find('span.datagrid-group-title');\r\n\t\t\tspan.html(opts.groupFormatter.call(target, group.value, group.rows));\r\n\t\t},\r\n\t\t\r\n\t\tinsertRow: function(target, index, row){\r\n\t\t\tvar state = $.data(target, 'datagrid');\r\n\t\t\tvar opts = state.options;\r\n\t\t\tvar dc = state.dc;\r\n\t\t\tvar group = null;\r\n\t\t\tvar groupIndex;\r\n\t\t\t\r\n\t\t\tfor(var i=0; i<this.groups.length; i++){\r\n\t\t\t\tif (this.groups[i].value == row[opts.groupField]){\r\n\t\t\t\t\tgroup = this.groups[i];\r\n\t\t\t\t\tgroupIndex = i;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (group){\r\n\t\t\t\tif (index == undefined || index == null){\r\n\t\t\t\t\tindex = state.data.rows.length;\r\n\t\t\t\t}\r\n\t\t\t\tif (index < group.startIndex){\r\n\t\t\t\t\tindex = group.startIndex;\r\n\t\t\t\t} else if (index > group.startIndex + group.rows.length){\r\n\t\t\t\t\tindex = group.startIndex + group.rows.length;\r\n\t\t\t\t}\r\n\t\t\t\t$.fn.datagrid.defaults.view.insertRow.call(this, target, index, row);\r\n\t\t\t\t\r\n\t\t\t\tif (index >= group.startIndex + group.rows.length){\r\n\t\t\t\t\t_moveTr(index, true);\r\n\t\t\t\t\t_moveTr(index, false);\r\n\t\t\t\t}\r\n\t\t\t\tgroup.rows.splice(index - group.startIndex, 0, row);\r\n\t\t\t} else {\r\n\t\t\t\tgroup = {\r\n\t\t\t\t\tvalue: row[opts.groupField],\r\n\t\t\t\t\trows: [row],\r\n\t\t\t\t\tstartIndex: state.data.rows.length\r\n\t\t\t\t}\r\n\t\t\t\tgroupIndex = this.groups.length;\r\n\t\t\t\tdc.body1.append(this.renderGroup.call(this, target, groupIndex, group, true));\r\n\t\t\t\tdc.body2.append(this.renderGroup.call(this, target, groupIndex, group, false));\r\n\t\t\t\tthis.groups.push(group);\r\n\t\t\t\tstate.data.rows.push(row);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tthis.refreshGroupTitle(target, groupIndex);\r\n\t\t\t\r\n\t\t\tfunction _moveTr(index,frozen){\r\n\t\t\t\tvar serno = frozen?1:2;\r\n\t\t\t\tvar prevTr = opts.finder.getTr(target, index-1, 'body', serno);\r\n\t\t\t\tvar tr = opts.finder.getTr(target, index, 'body', serno);\r\n\t\t\t\ttr.insertAfter(prevTr);\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tupdateRow: function(target, index, row){\r\n\t\t\tvar opts = $.data(target, 'datagrid').options;\r\n\t\t\t$.fn.datagrid.defaults.view.updateRow.call(this, target, index, row);\r\n\t\t\tvar tb = opts.finder.getTr(target, index, 'body', 2).closest('table.datagrid-btable');\r\n\t\t\tvar groupIndex = parseInt(tb.prev().attr('group-index'));\r\n\t\t\tthis.refreshGroupTitle(target, groupIndex);\r\n\t\t},\r\n\t\t\r\n\t\tdeleteRow: function(target, index){\r\n\t\t\tvar state = $.data(target, 'datagrid');\r\n\t\t\tvar opts = state.options;\r\n\t\t\tvar dc = state.dc;\r\n\t\t\tvar body = dc.body1.add(dc.body2);\r\n\t\t\t\r\n\t\t\tvar tb = opts.finder.getTr(target, index, 'body', 2).closest('table.datagrid-btable');\r\n\t\t\tvar groupIndex = parseInt(tb.prev().attr('group-index'));\r\n\t\t\t\r\n\t\t\t$.fn.datagrid.defaults.view.deleteRow.call(this, target, index);\r\n\t\t\t\r\n\t\t\tvar group = this.groups[groupIndex];\r\n\t\t\tif (group.rows.length > 1){\r\n\t\t\t\tgroup.rows.splice(index-group.startIndex, 1);\r\n\t\t\t\tthis.refreshGroupTitle(target, groupIndex);\r\n\t\t\t} else {\r\n\t\t\t\tbody.children('div.datagrid-group[group-index='+groupIndex+']').remove();\r\n\t\t\t\tfor(var i=groupIndex+1; i<this.groups.length; i++){\r\n\t\t\t\t\tbody.children('div.datagrid-group[group-index='+i+']').attr('group-index', i-1);\r\n\t\t\t\t}\r\n\t\t\t\tthis.groups.splice(groupIndex, 1);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tvar index = 0;\r\n\t\t\tfor(var i=0; i<this.groups.length; i++){\r\n\t\t\t\tvar group = this.groups[i];\r\n\t\t\t\tgroup.startIndex = index;\r\n\t\t\t\tindex += group.rows.length;\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\t// end of group view definition\r\n\t\r\n\t$.fn.propertygrid.defaults = $.extend({}, $.fn.datagrid.defaults, {\r\n\t\tsingleSelect:true,\r\n\t\tremoteSort:false,\r\n\t\tfitColumns:true,\r\n\t\tloadMsg:'',\r\n\t\tfrozenColumns:[[\r\n\t\t    {field:'f',width:16,resizable:false}\r\n\t\t]],\r\n\t\tcolumns:[[\r\n\t\t    {field:'name',title:'Name',width:100,sortable:true},\r\n\t\t    {field:'value',title:'Value',width:100,resizable:false}\r\n\t\t]],\r\n\t\t\r\n\t\tshowGroup:false,\r\n\t\tgroupView:groupview,\r\n\t\tgroupField:'group',\r\n\t\tgroupFormatter:function(fvalue,rows){return fvalue}\r\n\t});\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.resizable.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * resizable - jQuery EasyUI\r\n * \r\n */\r\n(function($){\r\n//\tvar isResizing = false;\r\n\t$.fn.resizable = function(options, param){\r\n\t\tif (typeof options == 'string'){\r\n\t\t\treturn $.fn.resizable.methods[options](this, param);\r\n\t\t}\r\n\t\t\r\n\t\tfunction resize(e){\r\n\t\t\tvar resizeData = e.data;\r\n\t\t\tvar options = $.data(resizeData.target, 'resizable').options;\r\n\t\t\tif (resizeData.dir.indexOf('e') != -1) {\r\n\t\t\t\tvar width = resizeData.startWidth + e.pageX - resizeData.startX;\r\n\t\t\t\twidth = Math.min(\r\n\t\t\t\t\t\t\tMath.max(width, options.minWidth),\r\n\t\t\t\t\t\t\toptions.maxWidth\r\n\t\t\t\t\t\t);\r\n\t\t\t\tresizeData.width = width;\r\n\t\t\t}\r\n\t\t\tif (resizeData.dir.indexOf('s') != -1) {\r\n\t\t\t\tvar height = resizeData.startHeight + e.pageY - resizeData.startY;\r\n\t\t\t\theight = Math.min(\r\n\t\t\t\t\t\tMath.max(height, options.minHeight),\r\n\t\t\t\t\t\toptions.maxHeight\r\n\t\t\t\t);\r\n\t\t\t\tresizeData.height = height;\r\n\t\t\t}\r\n\t\t\tif (resizeData.dir.indexOf('w') != -1) {\r\n\t\t\t\tvar width = resizeData.startWidth - e.pageX + resizeData.startX;\r\n\t\t\t\twidth = Math.min(\r\n\t\t\t\t\t\t\tMath.max(width, options.minWidth),\r\n\t\t\t\t\t\t\toptions.maxWidth\r\n\t\t\t\t\t\t);\r\n\t\t\t\tresizeData.width = width;\r\n\t\t\t\tresizeData.left = resizeData.startLeft + resizeData.startWidth - resizeData.width;\r\n\t\t\t\t\r\n//\t\t\t\tresizeData.width = resizeData.startWidth - e.pageX + resizeData.startX;\r\n//\t\t\t\tif (resizeData.width >= options.minWidth && resizeData.width <= options.maxWidth) {\r\n//\t\t\t\t\tresizeData.left = resizeData.startLeft + e.pageX - resizeData.startX;\r\n//\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (resizeData.dir.indexOf('n') != -1) {\r\n\t\t\t\tvar height = resizeData.startHeight - e.pageY + resizeData.startY;\r\n\t\t\t\theight = Math.min(\r\n\t\t\t\t\t\t\tMath.max(height, options.minHeight),\r\n\t\t\t\t\t\t\toptions.maxHeight\r\n\t\t\t\t\t\t);\r\n\t\t\t\tresizeData.height = height;\r\n\t\t\t\tresizeData.top = resizeData.startTop + resizeData.startHeight - resizeData.height;\r\n\t\t\t\t\r\n//\t\t\t\tresizeData.height = resizeData.startHeight - e.pageY + resizeData.startY;\r\n//\t\t\t\tif (resizeData.height >= options.minHeight && resizeData.height <= options.maxHeight) {\r\n//\t\t\t\t\tresizeData.top = resizeData.startTop + e.pageY - resizeData.startY;\r\n//\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tfunction applySize(e){\r\n\t\t\tvar resizeData = e.data;\r\n\t\t\tvar t = $(resizeData.target);\r\n\t\t\tt.css({\r\n\t\t\t\tleft: resizeData.left,\r\n\t\t\t\ttop: resizeData.top\r\n\t\t\t});\r\n\t\t\tif (t.outerWidth() != resizeData.width){t._outerWidth(resizeData.width)}\r\n\t\t\tif (t.outerHeight() != resizeData.height){t._outerHeight(resizeData.height)}\r\n//\t\t\tt._outerWidth(resizeData.width)._outerHeight(resizeData.height);\r\n\t\t}\r\n\t\t\r\n\t\tfunction doDown(e){\r\n//\t\t\tisResizing = true;\r\n\t\t\t$.fn.resizable.isResizing = true;\r\n\t\t\t$.data(e.data.target, 'resizable').options.onStartResize.call(e.data.target, e);\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t\r\n\t\tfunction doMove(e){\r\n\t\t\tresize(e);\r\n\t\t\tif ($.data(e.data.target, 'resizable').options.onResize.call(e.data.target, e) != false){\r\n\t\t\t\tapplySize(e)\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t\r\n\t\tfunction doUp(e){\r\n//\t\t\tisResizing = false;\r\n\t\t\t$.fn.resizable.isResizing = false;\r\n\t\t\tresize(e, true);\r\n\t\t\tapplySize(e);\r\n\t\t\t$.data(e.data.target, 'resizable').options.onStopResize.call(e.data.target, e);\r\n\t\t\t$(document).unbind('.resizable');\r\n\t\t\t$('body').css('cursor','');\r\n//\t\t\t$('body').css('cursor','auto');\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t\r\n\t\treturn this.each(function(){\r\n\t\t\tvar opts = null;\r\n\t\t\tvar state = $.data(this, 'resizable');\r\n\t\t\tif (state) {\r\n\t\t\t\t$(this).unbind('.resizable');\r\n\t\t\t\topts = $.extend(state.options, options || {});\r\n\t\t\t} else {\r\n\t\t\t\topts = $.extend({}, $.fn.resizable.defaults, $.fn.resizable.parseOptions(this), options || {});\r\n\t\t\t\t$.data(this, 'resizable', {\r\n\t\t\t\t\toptions:opts\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tif (opts.disabled == true) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t// bind mouse event using namespace resizable\r\n\t\t\t$(this).bind('mousemove.resizable', {target:this}, function(e){\r\n//\t\t\t\tif (isResizing) return;\r\n\t\t\t\tif ($.fn.resizable.isResizing){return}\r\n\t\t\t\tvar dir = getDirection(e);\r\n\t\t\t\tif (dir == '') {\r\n\t\t\t\t\t$(e.data.target).css('cursor', '');\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(e.data.target).css('cursor', dir + '-resize');\r\n\t\t\t\t}\r\n\t\t\t}).bind('mouseleave.resizable', {target:this}, function(e){\r\n\t\t\t\t$(e.data.target).css('cursor', '');\r\n\t\t\t}).bind('mousedown.resizable', {target:this}, function(e){\r\n\t\t\t\tvar dir = getDirection(e);\r\n\t\t\t\tif (dir == '') return;\r\n\t\t\t\t\r\n\t\t\t\tfunction getCssValue(css) {\r\n\t\t\t\t\tvar val = parseInt($(e.data.target).css(css));\r\n\t\t\t\t\tif (isNaN(val)) {\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn val;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\ttarget: e.data.target,\r\n\t\t\t\t\tdir: dir,\r\n\t\t\t\t\tstartLeft: getCssValue('left'),\r\n\t\t\t\t\tstartTop: getCssValue('top'),\r\n\t\t\t\t\tleft: getCssValue('left'),\r\n\t\t\t\t\ttop: getCssValue('top'),\r\n\t\t\t\t\tstartX: e.pageX,\r\n\t\t\t\t\tstartY: e.pageY,\r\n\t\t\t\t\tstartWidth: $(e.data.target).outerWidth(),\r\n\t\t\t\t\tstartHeight: $(e.data.target).outerHeight(),\r\n\t\t\t\t\twidth: $(e.data.target).outerWidth(),\r\n\t\t\t\t\theight: $(e.data.target).outerHeight(),\r\n\t\t\t\t\tdeltaWidth: $(e.data.target).outerWidth() - $(e.data.target).width(),\r\n\t\t\t\t\tdeltaHeight: $(e.data.target).outerHeight() - $(e.data.target).height()\r\n\t\t\t\t};\r\n\t\t\t\t$(document).bind('mousedown.resizable', data, doDown);\r\n\t\t\t\t$(document).bind('mousemove.resizable', data, doMove);\r\n\t\t\t\t$(document).bind('mouseup.resizable', data, doUp);\r\n\t\t\t\t$('body').css('cursor', dir+'-resize');\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\t// get the resize direction\r\n\t\t\tfunction getDirection(e) {\r\n\t\t\t\tvar tt = $(e.data.target);\r\n\t\t\t\tvar dir = '';\r\n\t\t\t\tvar offset = tt.offset();\r\n\t\t\t\tvar width = tt.outerWidth();\r\n\t\t\t\tvar height = tt.outerHeight();\r\n\t\t\t\tvar edge = opts.edge;\r\n\t\t\t\tif (e.pageY > offset.top && e.pageY < offset.top + edge) {\r\n\t\t\t\t\tdir += 'n';\r\n\t\t\t\t} else if (e.pageY < offset.top + height && e.pageY > offset.top + height - edge) {\r\n\t\t\t\t\tdir += 's';\r\n\t\t\t\t}\r\n\t\t\t\tif (e.pageX > offset.left && e.pageX < offset.left + edge) {\r\n\t\t\t\t\tdir += 'w';\r\n\t\t\t\t} else if (e.pageX < offset.left + width && e.pageX > offset.left + width - edge) {\r\n\t\t\t\t\tdir += 'e';\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tvar handles = opts.handles.split(',');\r\n\t\t\t\tfor(var i=0; i<handles.length; i++) {\r\n\t\t\t\t\tvar handle = handles[i].replace(/(^\\s*)|(\\s*$)/g, '');\r\n\t\t\t\t\tif (handle == 'all' || handle == dir) {\r\n\t\t\t\t\t\treturn dir;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.resizable.methods = {\r\n\t\toptions: function(jq){\r\n\t\t\treturn $.data(jq[0], 'resizable').options;\r\n\t\t},\r\n\t\tenable: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\t$(this).resizable({disabled:false});\r\n\t\t\t});\r\n\t\t},\r\n\t\tdisable: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\t$(this).resizable({disabled:true});\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.resizable.parseOptions = function(target){\r\n\t\tvar t = $(target);\r\n\t\treturn $.extend({},\r\n\t\t\t\t$.parser.parseOptions(target, [\r\n\t\t\t\t\t'handles',{minWidth:'number',minHeight:'number',maxWidth:'number',maxHeight:'number',edge:'number'}\r\n\t\t\t\t]), {\r\n\t\t\tdisabled: (t.attr('disabled') ? true : undefined)\r\n\t\t})\r\n\t};\r\n\t\r\n\t$.fn.resizable.defaults = {\r\n\t\tdisabled:false,\r\n\t\thandles:'n, e, s, w, ne, se, sw, nw, all',\r\n\t\tminWidth: 10,\r\n\t\tminHeight: 10,\r\n\t\tmaxWidth: 10000,//$(document).width(),\r\n\t\tmaxHeight: 10000,//$(document).height(),\r\n\t\tedge:5,\r\n\t\tonStartResize: function(e){},\r\n\t\tonResize: function(e){},\r\n\t\tonStopResize: function(e){}\r\n\t};\r\n\t\r\n\t$.fn.resizable.isResizing = false;\r\n\t\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.slider.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * slider - jQuery EasyUI\r\n * \r\n * Dependencies:\r\n *  draggable\r\n * \r\n */\r\n(function($){\r\n\tfunction init(target){\r\n\t\tvar slider = $('<div class=\"slider\">' +\r\n\t\t\t\t'<div class=\"slider-inner\">' +\r\n\t\t\t\t'<a href=\"javascript:void(0)\" class=\"slider-handle\"></a>' +\r\n\t\t\t\t'<span class=\"slider-tip\"></span>' +\r\n\t\t\t\t'</div>' +\r\n\t\t\t\t'<div class=\"slider-rule\"></div>' +\r\n\t\t\t\t'<div class=\"slider-rulelabel\"></div>' +\r\n\t\t\t\t'<div style=\"clear:both\"></div>' +\r\n\t\t\t\t'<input type=\"hidden\" class=\"slider-value\">' +\r\n\t\t\t\t'</div>').insertAfter(target);\r\n\t\tvar t = $(target);\r\n\t\tt.addClass('slider-f').hide();\r\n\t\tvar name = t.attr('name');\r\n\t\tif (name){\r\n\t\t\tslider.find('input.slider-value').attr('name', name);\r\n\t\t\tt.removeAttr('name').attr('sliderName', name);\r\n\t\t}\r\n\t\tslider.bind('_resize', function(e,force){\r\n\t\t\tif ($(this).hasClass('easyui-fluid') || force){\r\n\t\t\t\tsetSize(target);\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t});\r\n\t\treturn slider;\r\n\t}\r\n\t\r\n\t/**\r\n\t * set the slider size, for vertical slider, the height property is required\r\n\t */\r\n\tfunction setSize(target, param){\r\n\t\tvar state = $.data(target, 'slider');\r\n\t\tvar opts = state.options;\r\n\t\tvar slider = state.slider;\r\n\t\t\r\n\t\tif (param){\r\n\t\t\tif (param.width) opts.width = param.width;\r\n\t\t\tif (param.height) opts.height = param.height;\r\n\t\t}\r\n\t\tslider._size(opts);\r\n\t\tif (opts.mode == 'h'){\r\n\t\t\tslider.css('height', '');\r\n\t\t\tslider.children('div').css('height', '');\r\n\t\t} else {\r\n\t\t\tslider.css('width', '');\r\n\t\t\tslider.children('div').css('width', '');\r\n\t\t\tslider.children('div.slider-rule,div.slider-rulelabel,div.slider-inner')._outerHeight(slider._outerHeight());\r\n\t\t}\r\n\t\tinitValue(target);\r\n\t}\r\n\t\r\n\t/**\r\n\t * show slider rule if needed\r\n\t */\r\n\tfunction showRule(target){\r\n\t\tvar state = $.data(target, 'slider');\r\n\t\tvar opts = state.options;\r\n\t\tvar slider = state.slider;\r\n\t\t\r\n\t\tvar aa = opts.mode == 'h' ? opts.rule : opts.rule.slice(0).reverse();\r\n\t\tif (opts.reversed){\r\n\t\t\taa = aa.slice(0).reverse();\r\n\t\t}\r\n\t\t_build(aa);\r\n\t\t\r\n\t\tfunction _build(aa){\r\n\t\t\tvar rule = slider.find('div.slider-rule');\r\n\t\t\tvar label = slider.find('div.slider-rulelabel');\r\n\t\t\trule.empty();\r\n\t\t\tlabel.empty();\r\n\t\t\tfor(var i=0; i<aa.length; i++){\r\n\t\t\t\tvar distance = i*100/(aa.length-1)+'%';\r\n\t\t\t\tvar span = $('<span></span>').appendTo(rule);\r\n\t\t\t\tspan.css((opts.mode=='h'?'left':'top'), distance);\r\n\t\t\t\t\r\n\t\t\t\t// show the labels\r\n\t\t\t\tif (aa[i] != '|'){\r\n\t\t\t\t\tspan = $('<span></span>').appendTo(label);\r\n\t\t\t\t\tspan.html(aa[i]);\r\n\t\t\t\t\tif (opts.mode == 'h'){\r\n\t\t\t\t\t\tspan.css({\r\n\t\t\t\t\t\t\tleft: distance,\r\n\t\t\t\t\t\t\tmarginLeft: -Math.round(span.outerWidth()/2)\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tspan.css({\r\n\t\t\t\t\t\t\ttop: distance,\r\n\t\t\t\t\t\t\tmarginTop: -Math.round(span.outerHeight()/2)\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * build the slider and set some properties\r\n\t */\r\n\tfunction buildSlider(target){\r\n\t\tvar state = $.data(target, 'slider');\r\n\t\tvar opts = state.options;\r\n\t\tvar slider = state.slider;\r\n\t\t\r\n\t\tslider.removeClass('slider-h slider-v slider-disabled');\r\n\t\tslider.addClass(opts.mode == 'h' ? 'slider-h' : 'slider-v');\r\n\t\tslider.addClass(opts.disabled ? 'slider-disabled' : '');\r\n\t\t\r\n\t\tslider.find('a.slider-handle').draggable({\r\n\t\t\taxis:opts.mode,\r\n\t\t\tcursor:'pointer',\r\n\t\t\tdisabled: opts.disabled,\r\n\t\t\tonDrag:function(e){\r\n\t\t\t\tvar left = e.data.left;\r\n\t\t\t\tvar width = slider.width();\r\n\t\t\t\tif (opts.mode!='h'){\r\n\t\t\t\t\tleft = e.data.top;\r\n\t\t\t\t\twidth = slider.height();\r\n\t\t\t\t}\r\n\t\t\t\tif (left < 0 || left > width) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar value = pos2value(target, left);\r\n\t\t\t\t\tadjustValue(value);\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tonBeforeDrag:function(){\r\n\t\t\t\tstate.isDragging = true;\r\n\t\t\t},\r\n\t\t\tonStartDrag:function(){\r\n\t\t\t\topts.onSlideStart.call(target, opts.value);\r\n\t\t\t},\r\n\t\t\tonStopDrag:function(e){\r\n\t\t\t\tvar value = pos2value(target, (opts.mode=='h'?e.data.left:e.data.top));\r\n\t\t\t\tadjustValue(value);\r\n\t\t\t\topts.onSlideEnd.call(target, opts.value);\r\n\t\t\t\topts.onComplete.call(target, opts.value);\r\n\t\t\t\tstate.isDragging = false;\r\n\t\t\t}\r\n\t\t});\r\n\t\tslider.find('div.slider-inner').unbind('.slider').bind('mousedown.slider', function(e){\r\n\t\t\tif (state.isDragging || opts.disabled){return}\r\n\t\t\tvar pos = $(this).offset();\r\n\t\t\tvar value = pos2value(target, (opts.mode=='h'?(e.pageX-pos.left):(e.pageY-pos.top)));\r\n\t\t\tadjustValue(value);\r\n\t\t\topts.onComplete.call(target, opts.value);\r\n\t\t});\r\n\t\t\r\n\t\tfunction adjustValue(value){\r\n\t\t\tvar s = Math.abs(value % opts.step);\r\n\t\t\tif (s < opts.step/2){\r\n\t\t\t\tvalue -= s;\r\n\t\t\t} else {\r\n\t\t\t\tvalue = value - s + opts.step;\r\n\t\t\t}\r\n\t\t\tsetValue(target, value);\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * set a specified value to slider\r\n\t */\r\n\tfunction setValue(target, value){\r\n\t\tvar state = $.data(target, 'slider');\r\n\t\tvar opts = state.options;\r\n\t\tvar slider = state.slider;\r\n\t\tvar oldValue = opts.value;\r\n\t\tif (value < opts.min) value = opts.min;\r\n\t\tif (value > opts.max) value = opts.max;\r\n\t\t\r\n\t\topts.value = value;\r\n\t\t$(target).val(value);\r\n\t\tslider.find('input.slider-value').val(value);\r\n\t\t\r\n\t\tvar pos = value2pos(target, value);\r\n\t\tvar tip = slider.find('.slider-tip');\r\n\t\tif (opts.showTip){\r\n\t\t\ttip.show();\r\n\t\t\ttip.html(opts.tipFormatter.call(target, opts.value));\r\n\t\t} else {\r\n\t\t\ttip.hide();\r\n\t\t}\r\n\t\t\r\n\t\tif (opts.mode == 'h'){\r\n\t\t\tvar style = 'left:'+pos+'px;';\r\n\t\t\tslider.find('.slider-handle').attr('style', style);\r\n\t\t\ttip.attr('style', style +  'margin-left:' + (-Math.round(tip.outerWidth()/2)) + 'px');\r\n\t\t} else {\r\n\t\t\tvar style = 'top:' + pos + 'px;';\r\n\t\t\tslider.find('.slider-handle').attr('style', style);\r\n\t\t\ttip.attr('style', style + 'margin-left:' + (-Math.round(tip.outerWidth())) + 'px');\r\n\t\t}\r\n\t\t\r\n\t\tif (oldValue != value){\r\n\t\t\topts.onChange.call(target, value, oldValue);\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction initValue(target){\r\n\t\tvar opts = $.data(target, 'slider').options;\r\n\t\tvar fn = opts.onChange;\r\n\t\topts.onChange = function(){};\r\n\t\tsetValue(target, opts.value);\r\n\t\topts.onChange = fn;\r\n\t}\r\n\t\r\n\t/**\r\n\t * translate value to slider position\r\n\t */\r\n//\tfunction value2pos(target, value){\r\n//\t\tvar state = $.data(target, 'slider');\r\n//\t\tvar opts = state.options;\r\n//\t\tvar slider = state.slider;\r\n//\t\tif (opts.mode == 'h'){\r\n//\t\t\tvar pos = (value-opts.min)/(opts.max-opts.min)*slider.width();\r\n//\t\t\tif (opts.reversed){\r\n//\t\t\t\tpos = slider.width() - pos;\r\n//\t\t\t}\r\n//\t\t} else {\r\n//\t\t\tvar pos = slider.height() - (value-opts.min)/(opts.max-opts.min)*slider.height();\r\n//\t\t\tif (opts.reversed){\r\n//\t\t\t\tpos = slider.height() - pos;\r\n//\t\t\t}\r\n//\t\t}\r\n//\t\treturn pos.toFixed(0);\r\n//\t}\r\n\tfunction value2pos(target, value){\r\n\t\tvar state = $.data(target, 'slider');\r\n\t\tvar opts = state.options;\r\n\t\tvar slider = state.slider;\r\n\t\tvar size = opts.mode == 'h' ? slider.width() : slider.height();\r\n\t\tvar pos = opts.converter.toPosition.call(target, value, size);\r\n\t\tif (opts.mode == 'v'){\r\n\t\t\tpos = slider.height() - pos;\r\n\t\t}\r\n\t\tif (opts.reversed){\r\n\t\t\tpos = size - pos;\r\n\t\t}\r\n\t\treturn pos.toFixed(0);\r\n\t}\r\n\t\r\n\t/**\r\n\t * translate slider position to value\r\n\t */\r\n//\tfunction pos2value(target, pos){\r\n//\t\tvar state = $.data(target, 'slider');\r\n//\t\tvar opts = state.options;\r\n//\t\tvar slider = state.slider;\r\n//\t\tif (opts.mode == 'h'){\r\n//\t\t\tvar value = opts.min + (opts.max-opts.min)*(pos/slider.width());\r\n//\t\t} else {\r\n//\t\t\tvar value = opts.min + (opts.max-opts.min)*((slider.height()-pos)/slider.height());\r\n//\t\t}\r\n//\t\treturn opts.reversed ? opts.max - value.toFixed(0) : value.toFixed(0);\r\n//\t}\r\n\tfunction pos2value(target, pos){\r\n\t\tvar state = $.data(target, 'slider');\r\n\t\tvar opts = state.options;\r\n\t\tvar slider = state.slider;\r\n\t\tvar size = opts.mode == 'h' ? slider.width() : slider.height();\r\n\t\tvar value = opts.converter.toValue.call(target, opts.mode=='h'?(opts.reversed?(size-pos):pos):(size-pos), size);\r\n\t\treturn value.toFixed(0);\r\n//\t\tvar value = opts.converter.toValue.call(target, opts.mode=='h'?pos:(size-pos), size);\r\n//\t\treturn opts.reversed ? opts.max - value.toFixed(0) : value.toFixed(0);\r\n\t}\r\n\t\r\n\t$.fn.slider = function(options, param){\r\n\t\tif (typeof options == 'string'){\r\n\t\t\treturn $.fn.slider.methods[options](this, param);\r\n\t\t}\r\n\t\t\r\n\t\toptions = options || {};\r\n\t\treturn this.each(function(){\r\n\t\t\tvar state = $.data(this, 'slider');\r\n\t\t\tif (state){\r\n\t\t\t\t$.extend(state.options, options);\r\n\t\t\t} else {\r\n\t\t\t\tstate = $.data(this, 'slider', {\r\n\t\t\t\t\toptions: $.extend({}, $.fn.slider.defaults, $.fn.slider.parseOptions(this), options),\r\n\t\t\t\t\tslider: init(this)\r\n\t\t\t\t});\r\n\t\t\t\t$(this).removeAttr('disabled');\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tvar opts = state.options;\r\n\t\t\topts.min = parseFloat(opts.min);\r\n\t\t\topts.max = parseFloat(opts.max);\r\n\t\t\topts.value = parseFloat(opts.value);\r\n\t\t\topts.step = parseFloat(opts.step);\r\n\t\t\topts.originalValue = opts.value;\r\n\t\t\t\r\n\t\t\tbuildSlider(this);\r\n\t\t\tshowRule(this);\r\n\t\t\tsetSize(this);\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.slider.methods = {\r\n\t\toptions: function(jq){\r\n\t\t\treturn $.data(jq[0], 'slider').options;\r\n\t\t},\r\n\t\tdestroy: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\t$.data(this, 'slider').slider.remove();\r\n\t\t\t\t$(this).remove();\r\n\t\t\t});\r\n\t\t},\r\n\t\tresize: function(jq, param){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetSize(this, param);\r\n\t\t\t});\r\n\t\t},\r\n\t\tgetValue: function(jq){\r\n\t\t\treturn jq.slider('options').value;\r\n\t\t},\r\n\t\tsetValue: function(jq, value){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetValue(this, value);\r\n\t\t\t});\r\n\t\t},\r\n\t\tclear: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tvar opts = $(this).slider('options');\r\n\t\t\t\tsetValue(this, opts.min);\r\n\t\t\t});\r\n\t\t},\r\n\t\treset: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tvar opts = $(this).slider('options');\r\n\t\t\t\tsetValue(this, opts.originalValue);\r\n\t\t\t});\r\n\t\t},\r\n\t\tenable: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\t$.data(this, 'slider').options.disabled = false;\r\n\t\t\t\tbuildSlider(this);\r\n\t\t\t});\r\n\t\t},\r\n\t\tdisable: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\t$.data(this, 'slider').options.disabled = true;\r\n\t\t\t\tbuildSlider(this);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.slider.parseOptions = function(target){\r\n\t\tvar t = $(target);\r\n\t\treturn $.extend({}, $.parser.parseOptions(target, [\r\n\t\t\t'width','height','mode',{reversed:'boolean',showTip:'boolean',min:'number',max:'number',step:'number'}\r\n\t\t]), {\r\n\t\t\tvalue: (t.val() || undefined),\r\n\t\t\tdisabled: (t.attr('disabled') ? true : undefined),\r\n\t\t\trule: (t.attr('rule') ? eval(t.attr('rule')) : undefined)\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.slider.defaults = {\r\n\t\twidth: 'auto',\r\n\t\theight: 'auto',\r\n\t\tmode: 'h',\t// 'h'(horizontal) or 'v'(vertical)\r\n\t\treversed: false,\r\n\t\tshowTip: false,\r\n\t\tdisabled: false,\r\n\t\tvalue: 0,\r\n\t\tmin: 0,\r\n\t\tmax: 100,\r\n\t\tstep: 1,\r\n\t\trule: [],\t// [0,'|',100]\r\n\t\ttipFormatter: function(value){return value},\r\n\t\tconverter:{\r\n\t\t\ttoPosition:function(value, size){\r\n\t\t\t\tvar opts = $(this).slider('options');\r\n\t\t\t\treturn (value-opts.min)/(opts.max-opts.min)*size;\r\n\t\t\t},\r\n\t\t\ttoValue:function(pos, size){\r\n\t\t\t\tvar opts = $(this).slider('options');\r\n\t\t\t\treturn opts.min + (opts.max-opts.min)*(pos/size);\r\n\t\t\t}\r\n\t\t},\r\n\t\tonChange: function(value, oldValue){},\r\n\t\tonSlideStart: function(value){},\r\n\t\tonSlideEnd: function(value){},\r\n\t\tonComplete: function(value){}\r\n\t};\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.tabs.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * tabs - jQuery EasyUI\r\n * \r\n * Dependencies:\r\n * \t panel\r\n *   linkbutton\r\n * \r\n */\r\n(function($){\r\n\t\r\n\t/**\r\n\t * set the tabs scrollers to show or not,\r\n\t * dependent on the tabs count and width\r\n\t */\r\n\tfunction setScrollers(container) {\r\n\t\tvar opts = $.data(container, 'tabs').options;\r\n\t\tif (opts.tabPosition == 'left' || opts.tabPosition == 'right' || !opts.showHeader){return}\r\n\t\t\r\n\t\tvar header = $(container).children('div.tabs-header');\r\n\t\tvar tool = header.children('div.tabs-tool');\r\n\t\tvar sLeft = header.children('div.tabs-scroller-left');\r\n\t\tvar sRight = header.children('div.tabs-scroller-right');\r\n\t\tvar wrap = header.children('div.tabs-wrap');\r\n\t\t\r\n\t\t// set the tool height\r\n\t\tvar tHeight = header.outerHeight();\r\n\t\tif (opts.plain){\r\n\t\t\ttHeight -= tHeight - header.height();\r\n\t\t}\r\n\t\ttool._outerHeight(tHeight);\r\n\t\t\r\n\t\tvar tabsWidth = 0;\r\n\t\t$('ul.tabs li', header).each(function(){\r\n\t\t\ttabsWidth += $(this).outerWidth(true);\r\n\t\t});\r\n\t\tvar cWidth = header.width() - tool._outerWidth();\r\n\t\t\r\n\t\tif (tabsWidth > cWidth) {\r\n\t\t\tsLeft.add(sRight).show()._outerHeight(tHeight);\r\n\t\t\tif (opts.toolPosition == 'left'){\r\n\t\t\t\ttool.css({\r\n\t\t\t\t\tleft: sLeft.outerWidth(),\r\n\t\t\t\t\tright: ''\r\n\t\t\t\t});\r\n\t\t\t\twrap.css({\r\n\t\t\t\t\tmarginLeft: sLeft.outerWidth() + tool._outerWidth(),\r\n\t\t\t\t\tmarginRight: sRight._outerWidth(),\r\n\t\t\t\t\twidth: cWidth - sLeft.outerWidth() - sRight.outerWidth()\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\ttool.css({\r\n\t\t\t\t\tleft: '',\r\n\t\t\t\t\tright: sRight.outerWidth()\r\n\t\t\t\t});\r\n\t\t\t\twrap.css({\r\n\t\t\t\t\tmarginLeft: sLeft.outerWidth(),\r\n\t\t\t\t\tmarginRight: sRight.outerWidth() + tool._outerWidth(),\r\n\t\t\t\t\twidth: cWidth - sLeft.outerWidth() - sRight.outerWidth()\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tsLeft.add(sRight).hide();\r\n\t\t\tif (opts.toolPosition == 'left'){\r\n\t\t\t\ttool.css({\r\n\t\t\t\t\tleft: 0,\r\n\t\t\t\t\tright: ''\r\n\t\t\t\t});\r\n\t\t\t\twrap.css({\r\n\t\t\t\t\tmarginLeft: tool._outerWidth(),\r\n\t\t\t\t\tmarginRight: 0,\r\n\t\t\t\t\twidth: cWidth\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\ttool.css({\r\n\t\t\t\t\tleft: '',\r\n\t\t\t\t\tright: 0\r\n\t\t\t\t});\r\n\t\t\t\twrap.css({\r\n\t\t\t\t\tmarginLeft: 0,\r\n\t\t\t\t\tmarginRight: tool._outerWidth(),\r\n\t\t\t\t\twidth: cWidth\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction addTools(container){\r\n\t\tvar opts = $.data(container, 'tabs').options;\r\n\t\tvar header = $(container).children('div.tabs-header');\r\n\t\tif (opts.tools) {\r\n\t\t\tif (typeof opts.tools == 'string'){\r\n\t\t\t\t$(opts.tools).addClass('tabs-tool').appendTo(header);\r\n\t\t\t\t$(opts.tools).show();\r\n\t\t\t} else {\r\n\t\t\t\theader.children('div.tabs-tool').remove();\r\n\t\t\t\tvar tools = $('<div class=\"tabs-tool\"><table cellspacing=\"0\" cellpadding=\"0\" style=\"height:100%\"><tr></tr></table></div>').appendTo(header);\r\n\t\t\t\tvar tr = tools.find('tr');\r\n\t\t\t\tfor(var i=0; i<opts.tools.length; i++){\r\n\t\t\t\t\tvar td = $('<td></td>').appendTo(tr);\r\n\t\t\t\t\tvar tool = $('<a href=\"javascript:void(0);\"></a>').appendTo(td);\r\n\t\t\t\t\ttool[0].onclick = eval(opts.tools[i].handler || function(){});\r\n\t\t\t\t\ttool.linkbutton($.extend({}, opts.tools[i], {\r\n\t\t\t\t\t\tplain: true\r\n\t\t\t\t\t}));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\theader.children('div.tabs-tool').remove();\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction setSize(container, param) {\r\n\t\tvar state = $.data(container, 'tabs');\r\n\t\tvar opts = state.options;\r\n\t\tvar cc = $(container);\r\n\t\t\r\n\t\tif (param){\r\n\t\t\t$.extend(opts, {\r\n\t\t\t\twidth: param.width,\r\n\t\t\t\theight: param.height\r\n\t\t\t});\r\n\t\t}\r\n\t\tcc._size(opts);\r\n\t\t\r\n\t\tvar header = cc.children('div.tabs-header');\r\n\t\tvar panels = cc.children('div.tabs-panels');\r\n\t\tvar wrap = header.find('div.tabs-wrap');\r\n\t\tvar ul = wrap.find('.tabs');\r\n\t\t\r\n\t\tfor(var i=0; i<state.tabs.length; i++){\r\n\t\t\tvar p_opts = state.tabs[i].panel('options');\r\n\t\t\tvar p_t = p_opts.tab.find('a.tabs-inner');\r\n\t\t\tvar width = parseInt(p_opts.tabWidth || opts.tabWidth) || undefined;\r\n\t\t\tif (width){\r\n\t\t\t\tp_t._outerWidth(width);\r\n\t\t\t} else {\r\n\t\t\t\tp_t.css('width', '');\r\n\t\t\t}\r\n\t\t\tp_t._outerHeight(opts.tabHeight);\r\n\t\t\tp_t.css('lineHeight', p_t.height()+'px');\r\n\t\t}\r\n\t\tif (opts.tabPosition == 'left' || opts.tabPosition == 'right'){\r\n\t\t\theader._outerWidth(opts.showHeader ? opts.headerWidth : 0);\r\n//\t\t\theader._outerWidth(opts.headerWidth);\r\n\t\t\tpanels._outerWidth(cc.width() - header.outerWidth());\r\n\t\t\theader.add(panels)._outerHeight(opts.height);\r\n\t\t\twrap._outerWidth(header.width());\r\n\t\t\tul._outerWidth(wrap.width()).css('height','');\r\n\t\t} else {\r\n\t\t\tvar lrt = header.children('div.tabs-scroller-left,div.tabs-scroller-right,div.tabs-tool');\r\n\t\t\theader._outerWidth(opts.width).css('height','');\r\n\t\t\tif (opts.showHeader){\r\n\t\t\t\theader.css('background-color','');\r\n\t\t\t\twrap.css('height','');\r\n\t\t\t\tlrt.show();\r\n\t\t\t} else {\r\n\t\t\t\theader.css('background-color','transparent');\r\n\t\t\t\theader._outerHeight(0);\r\n\t\t\t\twrap._outerHeight(0);\r\n\t\t\t\tlrt.hide();\r\n\t\t\t}\r\n\t\t\tul._outerHeight(opts.tabHeight).css('width','');\r\n\t\t\t\r\n\t\t\tsetScrollers(container);\r\n\t\t\t\r\n\t\t\tpanels._size('height', isNaN(opts.height) ? '' : (opts.height-header.outerHeight()));\r\n\t\t\tpanels._size('width', isNaN(opts.width) ? '' : opts.width);\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * set selected tab panel size\r\n\t */\r\n\tfunction setSelectedSize(container){\r\n\t\tvar opts = $.data(container, 'tabs').options;\r\n\t\tvar tab = getSelectedTab(container);\r\n\t\tif (tab){\r\n\t\t\tvar panels = $(container).children('div.tabs-panels');\r\n\t\t\tvar width = opts.width=='auto' ? 'auto' : panels.width();\r\n\t\t\tvar height = opts.height=='auto' ? 'auto' : panels.height();\r\n\t\t\ttab.panel('resize', {\r\n\t\t\t\twidth: width,\r\n\t\t\t\theight: height\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * wrap the tabs header and body\r\n\t */\r\n\tfunction wrapTabs(container) {\r\n\t\tvar tabs = $.data(container, 'tabs').tabs;\r\n\t\tvar cc = $(container);\r\n\t\tcc.addClass('tabs-container');\r\n\t\tvar pp = $('<div class=\"tabs-panels\"></div>').insertBefore(cc);\r\n\t\tcc.children('div').each(function(){\r\n\t\t\tpp[0].appendChild(this);\r\n\t\t});\r\n\t\tcc[0].appendChild(pp[0]);\r\n//\t\tcc.wrapInner('<div class=\"tabs-panels\"/>');\r\n\t\t$('<div class=\"tabs-header\">'\r\n\t\t\t\t+ '<div class=\"tabs-scroller-left\"></div>'\r\n\t\t\t\t+ '<div class=\"tabs-scroller-right\"></div>'\r\n\t\t\t\t+ '<div class=\"tabs-wrap\">'\r\n\t\t\t\t+ '<ul class=\"tabs\"></ul>'\r\n\t\t\t\t+ '</div>'\r\n\t\t\t\t+ '</div>').prependTo(container);\r\n\t\t\r\n\t\tcc.children('div.tabs-panels').children('div').each(function(i){\r\n\t\t\tvar opts = $.extend({}, $.parser.parseOptions(this), {\r\n\t\t\t\tselected: ($(this).attr('selected') ? true : undefined)\r\n\t\t\t});\r\n\t\t\tvar pp = $(this);\r\n\t\t\ttabs.push(pp);\r\n\t\t\tcreateTab(container, pp, opts);\r\n\t\t});\r\n\t\t\r\n\t\tcc.children('div.tabs-header').find('.tabs-scroller-left, .tabs-scroller-right').hover(\r\n\t\t\t\tfunction(){$(this).addClass('tabs-scroller-over');},\r\n\t\t\t\tfunction(){$(this).removeClass('tabs-scroller-over');}\r\n\t\t);\r\n\t\tcc.bind('_resize', function(e,force){\r\n\t\t\tif ($(this).hasClass('easyui-fluid') || force){\r\n\t\t\t\tsetSize(container);\r\n\t\t\t\tsetSelectedSize(container);\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t});\r\n\t}\r\n\t\r\n\tfunction bindEvents(container){\r\n\t\tvar state = $.data(container, 'tabs')\r\n\t\tvar opts = state.options;\r\n\t\t$(container).children('div.tabs-header').unbind().bind('click', function(e){\r\n\t\t\tif ($(e.target).hasClass('tabs-scroller-left')){\r\n\t\t\t\t$(container).tabs('scrollBy', -opts.scrollIncrement);\r\n\t\t\t} else if ($(e.target).hasClass('tabs-scroller-right')){\r\n\t\t\t\t$(container).tabs('scrollBy', opts.scrollIncrement);\r\n\t\t\t} else {\r\n\t\t\t\tvar li = $(e.target).closest('li');\r\n\t\t\t\tif (li.hasClass('tabs-disabled')){return;}\r\n\t\t\t\tvar a = $(e.target).closest('a.tabs-close');\r\n\t\t\t\tif (a.length){\r\n\t\t\t\t\tcloseTab(container, getLiIndex(li));\r\n\t\t\t\t} else if (li.length){\r\n//\t\t\t\t\tselectTab(container, getLiIndex(li));\r\n\t\t\t\t\tvar index = getLiIndex(li);\r\n\t\t\t\t\tvar popts = state.tabs[index].panel('options');\r\n\t\t\t\t\tif (popts.collapsible){\r\n\t\t\t\t\t\tpopts.closed ? selectTab(container, index) : unselectTab(container, index);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tselectTab(container, index);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}).bind('contextmenu', function(e){\r\n\t\t\tvar li = $(e.target).closest('li');\r\n\t\t\tif (li.hasClass('tabs-disabled')){return;}\r\n\t\t\tif (li.length){\r\n\t\t\t\topts.onContextMenu.call(container, e, li.find('span.tabs-title').html(), getLiIndex(li));\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\tfunction getLiIndex(li){\r\n\t\t\tvar index = 0;\r\n\t\t\tli.parent().children('li').each(function(i){\r\n\t\t\t\tif (li[0] == this){\r\n\t\t\t\t\tindex = i;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn index;\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction setProperties(container){\r\n\t\tvar opts = $.data(container, 'tabs').options;\r\n\t\tvar header = $(container).children('div.tabs-header');\r\n\t\tvar panels = $(container).children('div.tabs-panels');\r\n\t\t\r\n\t\theader.removeClass('tabs-header-top tabs-header-bottom tabs-header-left tabs-header-right');\r\n\t\tpanels.removeClass('tabs-panels-top tabs-panels-bottom tabs-panels-left tabs-panels-right');\r\n\t\tif (opts.tabPosition == 'top'){\r\n\t\t\theader.insertBefore(panels);\r\n\t\t} else if (opts.tabPosition == 'bottom'){\r\n\t\t\theader.insertAfter(panels);\r\n\t\t\theader.addClass('tabs-header-bottom');\r\n\t\t\tpanels.addClass('tabs-panels-top');\r\n\t\t} else if (opts.tabPosition == 'left'){\r\n\t\t\theader.addClass('tabs-header-left');\r\n\t\t\tpanels.addClass('tabs-panels-right');\r\n\t\t} else if (opts.tabPosition == 'right'){\r\n\t\t\theader.addClass('tabs-header-right');\r\n\t\t\tpanels.addClass('tabs-panels-left');\r\n\t\t}\r\n\t\t\r\n\t\tif (opts.plain == true) {\r\n\t\t\theader.addClass('tabs-header-plain');\r\n\t\t} else {\r\n\t\t\theader.removeClass('tabs-header-plain');\r\n\t\t}\r\n\t\tif (opts.border == true){\r\n\t\t\theader.removeClass('tabs-header-noborder');\r\n\t\t\tpanels.removeClass('tabs-panels-noborder');\r\n\t\t} else {\r\n\t\t\theader.addClass('tabs-header-noborder');\r\n\t\t\tpanels.addClass('tabs-panels-noborder');\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction createTab(container, pp, options) {\r\n\t\tvar state = $.data(container, 'tabs');\r\n\t\toptions = options || {};\r\n\t\t\r\n\t\t// create panel\r\n\t\tpp.panel($.extend({}, options, {\r\n\t\t\tborder: false,\r\n\t\t\tnoheader: true,\r\n\t\t\tclosed: true,\r\n\t\t\tdoSize: false,\r\n\t\t\ticonCls: (options.icon ? options.icon : undefined),\r\n\t\t\tonLoad: function(){\r\n\t\t\t\tif (options.onLoad){\r\n\t\t\t\t\toptions.onLoad.call(this, arguments);\r\n\t\t\t\t}\r\n\t\t\t\tstate.options.onLoad.call(container, $(this));\r\n\t\t\t}\r\n\t\t}));\r\n\t\t\r\n\t\tvar opts = pp.panel('options');\r\n\t\tvar tabs = $(container).children('div.tabs-header').find('ul.tabs');\r\n\t\t\r\n\t\topts.tab = $('<li></li>').appendTo(tabs);\t// set the tab object in panel options\r\n\t\topts.tab.append(\r\n\t\t\t\t'<a href=\"javascript:void(0)\" class=\"tabs-inner\">' +\r\n\t\t\t\t'<span class=\"tabs-title\"></span>' +\r\n\t\t\t\t'<span class=\"tabs-icon\"></span>' +\r\n\t\t\t\t'</a>'\r\n\t\t);\r\n\t\t\r\n\t\t// only update the tab header\r\n\t\t$(container).tabs('update', {\r\n\t\t\ttab: pp,\r\n\t\t\toptions: opts,\r\n\t\t\ttype: 'header'\r\n\t\t});\r\n\t}\r\n\t\r\n\tfunction addTab(container, options) {\r\n\t\tvar state = $.data(container, 'tabs');\r\n\t\tvar opts = state.options;\r\n\t\tvar tabs = state.tabs;\r\n\t\tif (options.selected == undefined) options.selected = true;\r\n\t\t\r\n\t\tvar pp = $('<div></div>').appendTo($(container).children('div.tabs-panels'));\r\n\t\ttabs.push(pp);\r\n\t\tcreateTab(container, pp, options);\r\n\t\t\r\n\t\topts.onAdd.call(container, options.title, tabs.length-1);\r\n\t\t\r\n\t\tsetSize(container);\r\n\t\tif (options.selected){\r\n\t\t\tselectTab(container, tabs.length-1);\t// select the added tab panel\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * update tab panel, param has following properties:\r\n\t * tab: the tab panel to be updated\r\n\t * options: the tab panel options\r\n\t * type: the update type, possible values are: 'header','body','all'\r\n\t */\r\n\tfunction updateTab(container, param){\r\n\t\tparam.type = param.type || 'all';\r\n\t\tvar selectHis = $.data(container, 'tabs').selectHis;\r\n\t\tvar pp = param.tab;\t// the tab panel\r\n\t\tvar oldTitle = pp.panel('options').title;\r\n\t\t\r\n\t\tif (param.type == 'all' || param == 'body'){\r\n\t\t\tpp.panel($.extend({}, param.options, {\r\n\t\t\t\ticonCls: (param.options.icon ? param.options.icon : undefined)\r\n\t\t\t}));\r\n\t\t}\r\n\t\tif (param.type == 'all' || param.type == 'header'){\r\n\t\t\tvar opts = pp.panel('options');\t// get the tab panel options\r\n\t\t\tvar tab = opts.tab;\r\n\t\t\t\r\n\t\t\tvar s_title = tab.find('span.tabs-title');\r\n\t\t\tvar s_icon = tab.find('span.tabs-icon');\r\n\t\t\ts_title.html(opts.title);\r\n\t\t\ts_icon.attr('class', 'tabs-icon');\r\n\t\t\t\r\n\t\t\ttab.find('a.tabs-close').remove();\r\n\t\t\tif (opts.closable){\r\n\t\t\t\ts_title.addClass('tabs-closable');\r\n\t\t\t\t$('<a href=\"javascript:void(0)\" class=\"tabs-close\"></a>').appendTo(tab);\r\n\t\t\t} else{\r\n\t\t\t\ts_title.removeClass('tabs-closable');\r\n\t\t\t}\r\n\t\t\tif (opts.iconCls){\r\n\t\t\t\ts_title.addClass('tabs-with-icon');\r\n\t\t\t\ts_icon.addClass(opts.iconCls);\r\n\t\t\t} else {\r\n\t\t\t\ts_title.removeClass('tabs-with-icon');\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tif (oldTitle != opts.title){\r\n\t\t\t\tfor(var i=0; i<selectHis.length; i++){\r\n\t\t\t\t\tif (selectHis[i] == oldTitle){\r\n\t\t\t\t\t\tselectHis[i] = opts.title;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\ttab.find('span.tabs-p-tool').remove();\r\n\t\t\tif (opts.tools){\r\n\t\t\t\tvar p_tool = $('<span class=\"tabs-p-tool\"></span>').insertAfter(tab.find('a.tabs-inner'));\r\n\t\t\t\tif ($.isArray(opts.tools)){\r\n\t\t\t\t\tfor(var i=0; i<opts.tools.length; i++){\r\n\t\t\t\t\t\tvar t = $('<a href=\"javascript:void(0)\"></a>').appendTo(p_tool);\r\n\t\t\t\t\t\tt.addClass(opts.tools[i].iconCls);\r\n\t\t\t\t\t\tif (opts.tools[i].handler){\r\n\t\t\t\t\t\t\tt.bind('click', {handler:opts.tools[i].handler}, function(e){\r\n\t\t\t\t\t\t\t\tif ($(this).parents('li').hasClass('tabs-disabled')){return;}\r\n\t\t\t\t\t\t\t\te.data.handler.call(this);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(opts.tools).children().appendTo(p_tool);\r\n\t\t\t\t}\r\n\t\t\t\tvar pr = p_tool.children().length * 12;\r\n\t\t\t\tif (opts.closable) {\r\n\t\t\t\t\tpr += 8;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tpr -= 3;\r\n\t\t\t\t\tp_tool.css('right','5px');\r\n\t\t\t\t}\r\n\t\t\t\ts_title.css('padding-right', pr+'px');\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tsetSize(container);\r\n\t\t\r\n\t\t$.data(container, 'tabs').options.onUpdate.call(container, opts.title, getTabIndex(container, pp));\r\n\t}\r\n\t\r\n\t/**\r\n\t * close a tab with specified index or title\r\n\t */\r\n\tfunction closeTab(container, which) {\r\n\t\tvar opts = $.data(container, 'tabs').options;\r\n\t\tvar tabs = $.data(container, 'tabs').tabs;\r\n\t\tvar selectHis = $.data(container, 'tabs').selectHis;\r\n\t\t\r\n\t\tif (!exists(container, which)) return;\r\n\t\t\r\n\t\tvar tab = getTab(container, which);\r\n\t\tvar title = tab.panel('options').title;\r\n\t\tvar index = getTabIndex(container, tab);\r\n\t\t\r\n\t\tif (opts.onBeforeClose.call(container, title, index) == false) return;\r\n\t\t\r\n\t\tvar tab = getTab(container, which, true);\r\n\t\ttab.panel('options').tab.remove();\r\n\t\ttab.panel('destroy');\r\n\t\t\r\n\t\topts.onClose.call(container, title, index);\r\n\t\t\r\n//\t\tsetScrollers(container);\r\n\t\tsetSize(container);\r\n\t\t\r\n\t\t// remove the select history item\r\n\t\tfor(var i=0; i<selectHis.length; i++){\r\n\t\t\tif (selectHis[i] == title){\r\n\t\t\t\tselectHis.splice(i, 1);\r\n\t\t\t\ti --;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t// select the nearest tab panel\r\n\t\tvar hisTitle = selectHis.pop();\r\n\t\tif (hisTitle){\r\n\t\t\tselectTab(container, hisTitle);\r\n\t\t} else if (tabs.length){\r\n\t\t\tselectTab(container, 0);\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * get the specified tab panel\r\n\t */\r\n\tfunction getTab(container, which, removeit){\r\n\t\tvar tabs = $.data(container, 'tabs').tabs;\r\n\t\tif (typeof which == 'number'){\r\n\t\t\tif (which < 0 || which >= tabs.length){\r\n\t\t\t\treturn null;\r\n\t\t\t} else {\r\n\t\t\t\tvar tab = tabs[which];\r\n\t\t\t\tif (removeit) {\r\n\t\t\t\t\ttabs.splice(which, 1);\r\n\t\t\t\t}\r\n\t\t\t\treturn tab;\r\n\t\t\t}\r\n\t\t}\r\n\t\tfor(var i=0; i<tabs.length; i++){\r\n\t\t\tvar tab = tabs[i];\r\n\t\t\tif (tab.panel('options').title == which){\r\n\t\t\t\tif (removeit){\r\n\t\t\t\t\ttabs.splice(i, 1);\r\n\t\t\t\t}\r\n\t\t\t\treturn tab;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\t\r\n\tfunction getTabIndex(container, tab){\r\n\t\tvar tabs = $.data(container, 'tabs').tabs;\r\n\t\tfor(var i=0; i<tabs.length; i++){\r\n\t\t\tif (tabs[i][0] == $(tab)[0]){\r\n\t\t\t\treturn i;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn -1;\r\n\t}\r\n\t\r\n\tfunction getSelectedTab(container){\r\n\t\tvar tabs = $.data(container, 'tabs').tabs;\r\n\t\tfor(var i=0; i<tabs.length; i++){\r\n\t\t\tvar tab = tabs[i];\r\n\t\t\tif (tab.panel('options').closed == false){\r\n\t\t\t\treturn tab;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\t\r\n\t/**\r\n\t * do first select action, if no tab is setted the first tab will be selected.\r\n\t */\r\n\tfunction doFirstSelect(container){\r\n\t\tvar state = $.data(container, 'tabs')\r\n\t\tvar tabs = state.tabs;\r\n\t\tfor(var i=0; i<tabs.length; i++){\r\n\t\t\tif (tabs[i].panel('options').selected){\r\n\t\t\t\tselectTab(container, i);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n//\t\tif (tabs.length){\r\n//\t\t\tselectTab(container, 0);\r\n//\t\t}\r\n\t\tselectTab(container, state.options.selected);\r\n\t}\r\n\t\r\n\tfunction selectTab(container, which){\r\n\t\tvar state = $.data(container, 'tabs');\r\n\t\tvar opts = state.options;\r\n\t\tvar tabs = state.tabs;\r\n\t\tvar selectHis = state.selectHis;\r\n\t\t\r\n\t\tif (tabs.length == 0) {return;}\r\n\t\t\r\n\t\tvar panel = getTab(container, which); // get the panel to be activated\r\n\t\tif (!panel){return}\r\n\t\t\r\n\t\tvar selected = getSelectedTab(container);\r\n\t\tif (selected){\r\n\t\t\tif (panel[0] == selected[0]){\r\n\t\t\t\tsetSelectedSize(container);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tunselectTab(container, getTabIndex(container, selected));\r\n\t\t\tif (!selected.panel('options').closed){return}\r\n\t\t}\r\n\t\t\r\n\t\tpanel.panel('open');\r\n\t\tvar title = panel.panel('options').title;\t// the panel title\r\n\t\tselectHis.push(title);\t// push select history\r\n\t\t\r\n\t\tvar tab = panel.panel('options').tab;\t// get the tab object\r\n\t\ttab.addClass('tabs-selected');\r\n\t\t\r\n\t\t// scroll the tab to center position if required.\r\n\t\tvar wrap = $(container).find('>div.tabs-header>div.tabs-wrap');\r\n\t\tvar left = tab.position().left;\r\n\t\tvar right = left + tab.outerWidth();\r\n\t\tif (left < 0 || right > wrap.width()){\r\n\t\t\tvar deltaX = left - (wrap.width()-tab.width()) / 2;\r\n\t\t\t$(container).tabs('scrollBy', deltaX);\r\n\t\t} else {\r\n\t\t\t$(container).tabs('scrollBy', 0);\r\n\t\t}\r\n\t\t\r\n\t\tsetSelectedSize(container);\r\n\t\t\r\n\t\topts.onSelect.call(container, title, getTabIndex(container, panel));\r\n\t}\r\n\t\r\n\tfunction unselectTab(container, which){\r\n\t\tvar state = $.data(container, 'tabs');\r\n\t\tvar p = getTab(container, which);\r\n\t\tif (p){\r\n\t\t\tvar opts = p.panel('options');\r\n\t\t\tif (!opts.closed){\r\n\t\t\t\tp.panel('close');\r\n\t\t\t\tif (opts.closed){\r\n\t\t\t\t\topts.tab.removeClass('tabs-selected');\r\n\t\t\t\t\tstate.options.onUnselect.call(container, opts.title, getTabIndex(container, p));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction exists(container, which){\r\n\t\treturn getTab(container, which) != null;\r\n\t}\r\n\t\r\n\tfunction showHeader(container, visible){\r\n\t\tvar opts = $.data(container, 'tabs').options;\r\n\t\topts.showHeader = visible;\r\n\t\t$(container).tabs('resize');\r\n\t}\r\n\t\r\n\t\r\n\t$.fn.tabs = function(options, param){\r\n\t\tif (typeof options == 'string') {\r\n\t\t\treturn $.fn.tabs.methods[options](this, param);\r\n\t\t}\r\n\t\t\r\n\t\toptions = options || {};\r\n\t\treturn this.each(function(){\r\n\t\t\tvar state = $.data(this, 'tabs');\r\n\t\t\tif (state) {\r\n\t\t\t\t$.extend(state.options, options);\r\n\t\t\t} else {\r\n\t\t\t\t$.data(this, 'tabs', {\r\n\t\t\t\t\toptions: $.extend({},$.fn.tabs.defaults, $.fn.tabs.parseOptions(this), options),\r\n\t\t\t\t\ttabs: [],\r\n\t\t\t\t\tselectHis: []\r\n\t\t\t\t});\r\n\t\t\t\twrapTabs(this);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\taddTools(this);\r\n\t\t\tsetProperties(this);\r\n\t\t\tsetSize(this);\r\n\t\t\tbindEvents(this);\r\n\t\t\t\r\n\t\t\tdoFirstSelect(this);\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.tabs.methods = {\r\n\t\toptions: function(jq){\r\n\t\t\tvar cc = jq[0];\r\n\t\t\tvar opts = $.data(cc, 'tabs').options;\r\n\t\t\tvar s = getSelectedTab(cc);\r\n\t\t\topts.selected = s ? getTabIndex(cc, s) : -1;\r\n\t\t\treturn opts;\r\n\t\t},\r\n\t\ttabs: function(jq){\r\n\t\t\treturn $.data(jq[0], 'tabs').tabs;\r\n\t\t},\r\n\t\tresize: function(jq, param){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tsetSize(this, param);\r\n\t\t\t\tsetSelectedSize(this);\r\n\t\t\t});\r\n\t\t},\r\n\t\tadd: function(jq, options){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\taddTab(this, options);\r\n\t\t\t});\r\n\t\t},\r\n\t\tclose: function(jq, which){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tcloseTab(this, which);\r\n\t\t\t});\r\n\t\t},\r\n\t\tgetTab: function(jq, which){\r\n\t\t\treturn getTab(jq[0], which);\r\n\t\t},\r\n\t\tgetTabIndex: function(jq, tab){\r\n\t\t\treturn getTabIndex(jq[0], tab);\r\n\t\t},\r\n\t\tgetSelected: function(jq){\r\n\t\t\treturn getSelectedTab(jq[0]);\r\n\t\t},\r\n\t\tselect: function(jq, which){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tselectTab(this, which);\r\n\t\t\t});\r\n\t\t},\r\n\t\tunselect: function(jq, which){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tunselectTab(this, which);\r\n\t\t\t});\r\n\t\t},\r\n\t\texists: function(jq, which){\r\n\t\t\treturn exists(jq[0], which);\r\n\t\t},\r\n\t\tupdate: function(jq, options){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tupdateTab(this, options);\r\n\t\t\t});\r\n\t\t},\r\n\t\tenableTab: function(jq, which){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\t$(this).tabs('getTab', which).panel('options').tab.removeClass('tabs-disabled');\r\n\t\t\t});\r\n\t\t},\r\n\t\tdisableTab: function(jq, which){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\t$(this).tabs('getTab', which).panel('options').tab.addClass('tabs-disabled');\r\n\t\t\t});\r\n\t\t},\r\n\t\tshowHeader: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tshowHeader(this, true);\r\n\t\t\t});\r\n\t\t},\r\n\t\thideHeader: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tshowHeader(this, false);\r\n\t\t\t});\r\n\t\t},\r\n\t\tscrollBy: function(jq, deltaX){\t// scroll the tab header by the specified amount of pixels\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tvar opts = $(this).tabs('options');\r\n\t\t\t\tvar wrap = $(this).find('>div.tabs-header>div.tabs-wrap');\r\n\t\t\t\tvar pos = Math.min(wrap._scrollLeft() + deltaX, getMaxScrollWidth());\r\n\t\t\t\twrap.animate({scrollLeft: pos}, opts.scrollDuration);\r\n\t\t\t\t\r\n\t\t\t\tfunction getMaxScrollWidth(){\r\n\t\t\t\t\tvar w = 0;\r\n\t\t\t\t\tvar ul = wrap.children('ul');\r\n\t\t\t\t\tul.children('li').each(function(){\r\n\t\t\t\t\t\tw += $(this).outerWidth(true);\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn w - wrap.width() + (ul.outerWidth() - ul.width());\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.tabs.parseOptions = function(target){\r\n\t\treturn $.extend({}, $.parser.parseOptions(target, [\r\n\t\t\t'tools','toolPosition','tabPosition',\r\n\t\t\t{fit:'boolean',border:'boolean',plain:'boolean',headerWidth:'number',tabWidth:'number',tabHeight:'number',selected:'number',showHeader:'boolean'}\r\n\t\t]));\r\n\t};\r\n\t\r\n\t$.fn.tabs.defaults = {\r\n\t\twidth: 'auto',\r\n\t\theight: 'auto',\r\n\t\theaderWidth: 150,\t// the tab header width, it is valid only when tabPosition set to 'left' or 'right' \r\n\t\ttabWidth: 'auto',\t// the tab width\r\n\t\ttabHeight: 27,\t\t// the tab height\r\n\t\tselected: 0,\t\t// the initialized selected tab index\r\n\t\tshowHeader: true,\r\n\t\tplain: false,\r\n\t\tfit: false,\r\n\t\tborder: true,\r\n\t\ttools: null,\r\n\t\ttoolPosition: 'right',\t// left,right\r\n\t\ttabPosition: 'top',\t\t// possible values: top,bottom\r\n\t\tscrollIncrement: 100,\r\n\t\tscrollDuration: 400,\r\n\t\tonLoad: function(panel){},\r\n\t\tonSelect: function(title, index){},\r\n\t\tonUnselect: function(title, index){},\r\n\t\tonBeforeClose: function(title, index){},\r\n\t\tonClose: function(title, index){},\r\n\t\tonAdd: function(title, index){},\r\n\t\tonUpdate: function(title, index){},\r\n\t\tonContextMenu: function(e, title, index){}\r\n\t};\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/src/jquery.window.js",
    "content": "/**\r\n * jQuery EasyUI 1.4.1\r\n * \r\n * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.\r\n *\r\n * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt\r\n * To use it on other terms please contact us at info@jeasyui.com\r\n *\r\n */\r\n/**\r\n * window - jQuery EasyUI\r\n * \r\n * Dependencies:\r\n * \t panel\r\n *   draggable\r\n *   resizable\r\n * \r\n */\r\n(function($){\r\n\tfunction moveWindow(target, param){\r\n\t\tvar state = $.data(target, 'window');\r\n\t\tif (param){\r\n\t\t\tif (param.left != null) state.options.left = param.left;\r\n\t\t\tif (param.top != null) state.options.top = param.top;\r\n\t\t}\r\n\t\t$(target).panel('move', state.options);\r\n\t\tif (state.shadow){\r\n\t\t\tstate.shadow.css({\r\n\t\t\t\tleft: state.options.left,\r\n\t\t\t\ttop: state.options.top\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t *  center the window only horizontally\r\n\t */\r\n\tfunction hcenter(target, tomove){\r\n\t\tvar opts = $.data(target, 'window').options;\r\n\t\tvar pp = $(target).window('panel');\r\n\t\tvar width = pp._outerWidth();\r\n\t\tif (opts.inline){\r\n\t\t\tvar parent = pp.parent();\r\n\t\t\topts.left = Math.ceil((parent.width() - width) / 2 + parent.scrollLeft());\r\n\t\t} else {\r\n\t\t\topts.left = Math.ceil(($(window)._outerWidth() - width) / 2 + $(document).scrollLeft());\r\n\t\t}\r\n\t\tif (tomove){moveWindow(target);}\r\n\t}\r\n\t\r\n\t/**\r\n\t * center the window only vertically\r\n\t */\r\n\tfunction vcenter(target, tomove){\r\n\t\tvar opts = $.data(target, 'window').options;\r\n\t\tvar pp = $(target).window('panel');\r\n\t\tvar height = pp._outerHeight();\r\n\t\tif (opts.inline){\r\n\t\t\tvar parent = pp.parent();\r\n\t\t\topts.top = Math.ceil((parent.height() - height) / 2 + parent.scrollTop());\r\n\t\t} else {\r\n\t\t\topts.top = Math.ceil(($(window)._outerHeight() - height) / 2 + $(document).scrollTop());\r\n\t\t}\r\n\t\tif (tomove){moveWindow(target);}\r\n\t}\r\n\t\r\n\tfunction create(target){\r\n\t\tvar state = $.data(target, 'window');\r\n\t\tvar opts = state.options;\r\n\t\tvar win = $(target).panel($.extend({}, state.options, {\r\n\t\t\tborder: false,\r\n\t\t\tdoSize: true,\t// size the panel, the property undefined in window component\r\n\t\t\tclosed: true,\t// close the panel\r\n\t\t\tcls: 'window',\r\n\t\t\theaderCls: 'window-header',\r\n\t\t\tbodyCls: 'window-body ' + (opts.noheader ? 'window-body-noheader' : ''),\r\n\t\t\t\r\n\t\t\tonBeforeDestroy: function(){\r\n\t\t\t\tif (opts.onBeforeDestroy.call(target) == false){return false;}\r\n\t\t\t\tif (state.shadow){state.shadow.remove();}\r\n\t\t\t\tif (state.mask){state.mask.remove();}\r\n\t\t\t},\r\n\t\t\tonClose: function(){\r\n\t\t\t\tif (state.shadow){state.shadow.hide();}\r\n\t\t\t\tif (state.mask){state.mask.hide();}\r\n\t\t\t\topts.onClose.call(target);\r\n\t\t\t},\r\n\t\t\tonOpen: function(){\r\n\t\t\t\tif (state.mask){\r\n\t\t\t\t\tstate.mask.css({\r\n\t\t\t\t\t\tdisplay:'block',\r\n\t\t\t\t\t\tzIndex: $.fn.window.defaults.zIndex++\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif (state.shadow){\r\n\t\t\t\t\tstate.shadow.css({\r\n\t\t\t\t\t\tdisplay:'block',\r\n\t\t\t\t\t\tzIndex: $.fn.window.defaults.zIndex++,\r\n\t\t\t\t\t\tleft: opts.left,\r\n\t\t\t\t\t\ttop: opts.top,\r\n\t\t\t\t\t\twidth: state.window._outerWidth(),\r\n\t\t\t\t\t\theight: state.window._outerHeight()\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tstate.window.css('z-index', $.fn.window.defaults.zIndex++);\r\n\t\t\t\t\r\n\t\t\t\topts.onOpen.call(target);\r\n\t\t\t},\r\n\t\t\tonResize: function(width, height){\r\n\t\t\t\tvar popts = $(this).panel('options');\r\n\t\t\t\t$.extend(opts, {\r\n\t\t\t\t\twidth: popts.width,\r\n\t\t\t\t\theight: popts.height,\r\n\t\t\t\t\tleft: popts.left,\r\n\t\t\t\t\ttop: popts.top\r\n\t\t\t\t});\r\n\t\t\t\tif (state.shadow){\r\n\t\t\t\t\tstate.shadow.css({\r\n\t\t\t\t\t\tleft: opts.left,\r\n\t\t\t\t\t\ttop: opts.top,\r\n\t\t\t\t\t\twidth: state.window._outerWidth(),\r\n\t\t\t\t\t\theight: state.window._outerHeight()\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\topts.onResize.call(target, width, height);\r\n\t\t\t},\r\n\t\t\tonMinimize: function(){\r\n\t\t\t\tif (state.shadow){state.shadow.hide();}\r\n\t\t\t\tif (state.mask){state.mask.hide();}\r\n\t\t\t\tstate.options.onMinimize.call(target);\r\n\t\t\t},\r\n\t\t\tonBeforeCollapse: function(){\r\n\t\t\t\tif (opts.onBeforeCollapse.call(target) == false){return false;}\r\n\t\t\t\tif (state.shadow){state.shadow.hide();}\r\n\t\t\t},\r\n\t\t\tonExpand: function(){\r\n\t\t\t\tif (state.shadow){state.shadow.show();}\r\n\t\t\t\topts.onExpand.call(target);\r\n\t\t\t}\r\n\t\t}));\r\n\t\t\r\n\t\tstate.window = win.panel('panel');\r\n\t\t\r\n\t\t// create mask\r\n\t\tif (state.mask){state.mask.remove();}\r\n\t\tif (opts.modal == true){\r\n\t\t\tstate.mask = $('<div class=\"window-mask\"></div>').insertAfter(state.window);\r\n\t\t\tstate.mask.css({\r\n\t\t\t\twidth: (opts.inline ? state.mask.parent().width() : getPageArea().width),\r\n\t\t\t\theight: (opts.inline ? state.mask.parent().height() : getPageArea().height),\r\n\t\t\t\tdisplay: 'none'\r\n\t\t\t});\r\n\t\t}\r\n\t\t\r\n\t\t// create shadow\r\n\t\tif (state.shadow){state.shadow.remove();}\r\n\t\tif (opts.shadow == true){\r\n\t\t\tstate.shadow = $('<div class=\"window-shadow\"></div>').insertAfter(state.window);\r\n\t\t\tstate.shadow.css({\r\n\t\t\t\tdisplay: 'none'\r\n\t\t\t});\r\n\t\t}\r\n\t\t\r\n\t\t// if require center the window\r\n\t\tif (opts.left == null){hcenter(target);}\r\n\t\tif (opts.top == null){vcenter(target);}\r\n\t\tmoveWindow(target);\r\n\t\t\r\n\t\tif (!opts.closed){\r\n\t\t\twin.window('open');\t// open the window\r\n\t\t}\r\n\t}\r\n\t\r\n\t\r\n\t/**\r\n\t * set window drag and resize property\r\n\t */\r\n\tfunction setProperties(target){\r\n\t\tvar state = $.data(target, 'window');\r\n\t\t\r\n\t\tstate.window.draggable({\r\n\t\t\thandle: '>div.panel-header>div.panel-title',\r\n\t\t\tdisabled: state.options.draggable == false,\r\n\t\t\tonStartDrag: function(e){\r\n\t\t\t\tif (state.mask) state.mask.css('z-index', $.fn.window.defaults.zIndex++);\r\n\t\t\t\tif (state.shadow) state.shadow.css('z-index', $.fn.window.defaults.zIndex++);\r\n\t\t\t\tstate.window.css('z-index', $.fn.window.defaults.zIndex++);\r\n\t\t\t\t\r\n\t\t\t\tif (!state.proxy){\r\n\t\t\t\t\tstate.proxy = $('<div class=\"window-proxy\"></div>').insertAfter(state.window);\r\n\t\t\t\t}\r\n\t\t\t\tstate.proxy.css({\r\n\t\t\t\t\tdisplay:'none',\r\n\t\t\t\t\tzIndex: $.fn.window.defaults.zIndex++,\r\n\t\t\t\t\tleft: e.data.left,\r\n\t\t\t\t\ttop: e.data.top\r\n\t\t\t\t});\r\n\t\t\t\tstate.proxy._outerWidth(state.window._outerWidth());\r\n\t\t\t\tstate.proxy._outerHeight(state.window._outerHeight());\r\n\t\t\t\tsetTimeout(function(){\r\n\t\t\t\t\tif (state.proxy) state.proxy.show();\r\n\t\t\t\t}, 500);\r\n\t\t\t},\r\n\t\t\tonDrag: function(e){\r\n\t\t\t\tstate.proxy.css({\r\n\t\t\t\t\tdisplay:'block',\r\n\t\t\t\t\tleft: e.data.left,\r\n\t\t\t\t\ttop: e.data.top\r\n\t\t\t\t});\r\n\t\t\t\treturn false;\r\n\t\t\t},\r\n\t\t\tonStopDrag: function(e){\r\n\t\t\t\tstate.options.left = e.data.left;\r\n\t\t\t\tstate.options.top = e.data.top;\r\n\t\t\t\t$(target).window('move');\r\n\t\t\t\tstate.proxy.remove();\r\n\t\t\t\tstate.proxy = null;\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\tstate.window.resizable({\r\n\t\t\tdisabled: state.options.resizable == false,\r\n\t\t\tonStartResize:function(e){\r\n\t\t\t\tif (state.pmask){state.pmask.remove();}\r\n\t\t\t\tstate.pmask = $('<div class=\"window-proxy-mask\"></div>').insertAfter(state.window);\r\n\t\t\t\tstate.pmask.css({\r\n\t\t\t\t\tzIndex: $.fn.window.defaults.zIndex++,\r\n\t\t\t\t\tleft: e.data.left,\r\n\t\t\t\t\ttop: e.data.top,\r\n\t\t\t\t\twidth: state.window._outerWidth(),\r\n\t\t\t\t\theight: state.window._outerHeight()\r\n\t\t\t\t});\r\n\t\t\t\tif (state.proxy){state.proxy.remove();}\r\n\t\t\t\tstate.proxy = $('<div class=\"window-proxy\"></div>').insertAfter(state.window);\r\n\t\t\t\tstate.proxy.css({\r\n\t\t\t\t\tzIndex: $.fn.window.defaults.zIndex++,\r\n\t\t\t\t\tleft: e.data.left,\r\n\t\t\t\t\ttop: e.data.top\r\n\t\t\t\t});\r\n\t\t\t\tstate.proxy._outerWidth(e.data.width)._outerHeight(e.data.height);\r\n\t\t\t},\r\n\t\t\tonResize: function(e){\r\n\t\t\t\tstate.proxy.css({\r\n\t\t\t\t\tleft: e.data.left,\r\n\t\t\t\t\ttop: e.data.top\r\n\t\t\t\t});\r\n\t\t\t\tstate.proxy._outerWidth(e.data.width);\r\n\t\t\t\tstate.proxy._outerHeight(e.data.height);\r\n\t\t\t\treturn false;\r\n\t\t\t},\r\n\t\t\tonStopResize: function(e){\r\n\t\t\t\t$(target).window('resize', e.data);\r\n\t\t\t\tstate.pmask.remove();\r\n\t\t\t\tstate.pmask = null;\r\n\t\t\t\tstate.proxy.remove();\r\n\t\t\t\tstate.proxy = null;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\tfunction getPageArea() {\r\n\t\tif (document.compatMode == 'BackCompat') {\r\n\t\t\treturn {\r\n\t\t\t\twidth: Math.max(document.body.scrollWidth, document.body.clientWidth),\r\n\t\t\t\theight: Math.max(document.body.scrollHeight, document.body.clientHeight)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn {\r\n\t\t\t\twidth: Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth),\r\n\t\t\t\theight: Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\t// when window resize, reset the width and height of the window's mask\r\n\t$(window).resize(function(){\r\n\t\t$('body>div.window-mask').css({\r\n\t\t\twidth: $(window)._outerWidth(),\r\n\t\t\theight: $(window)._outerHeight()\r\n\t\t});\r\n\t\tsetTimeout(function(){\r\n\t\t\t$('body>div.window-mask').css({\r\n\t\t\t\twidth: getPageArea().width,\r\n\t\t\t\theight: getPageArea().height\r\n\t\t\t});\r\n\t\t}, 50);\r\n\t});\r\n\t\r\n\t$.fn.window = function(options, param){\r\n\t\tif (typeof options == 'string'){\r\n\t\t\tvar method = $.fn.window.methods[options];\r\n\t\t\tif (method){\r\n\t\t\t\treturn method(this, param);\r\n\t\t\t} else {\r\n\t\t\t\treturn this.panel(options, param);\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\toptions = options || {};\r\n\t\treturn this.each(function(){\r\n\t\t\tvar state = $.data(this, 'window');\r\n\t\t\tif (state){\r\n\t\t\t\t$.extend(state.options, options);\r\n\t\t\t} else {\r\n\t\t\t\tstate = $.data(this, 'window', {\r\n\t\t\t\t\toptions: $.extend({}, $.fn.window.defaults, $.fn.window.parseOptions(this), options)\r\n\t\t\t\t});\r\n\t\t\t\tif (!state.options.inline){\r\n//\t\t\t\t\t$(this).appendTo('body');\r\n\t\t\t\t\tdocument.body.appendChild(this);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tcreate(this);\r\n\t\t\tsetProperties(this);\r\n\t\t});\r\n\t};\r\n\t\r\n\t$.fn.window.methods = {\r\n\t\toptions: function(jq){\r\n\t\t\tvar popts = jq.panel('options');\r\n\t\t\tvar wopts = $.data(jq[0], 'window').options;\r\n\t\t\treturn $.extend(wopts, {\r\n\t\t\t\tclosed: popts.closed,\r\n\t\t\t\tcollapsed: popts.collapsed,\r\n\t\t\t\tminimized: popts.minimized,\r\n\t\t\t\tmaximized: popts.maximized\r\n\t\t\t});\r\n\t\t},\r\n\t\twindow: function(jq){\r\n\t\t\treturn $.data(jq[0], 'window').window;\r\n\t\t},\r\n\t\tmove: function(jq, param){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tmoveWindow(this, param);\r\n\t\t\t});\r\n\t\t},\r\n\t\thcenter: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\thcenter(this, true);\r\n\t\t\t});\r\n\t\t},\r\n\t\tvcenter: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\tvcenter(this, true);\r\n\t\t\t});\r\n\t\t},\r\n\t\tcenter: function(jq){\r\n\t\t\treturn jq.each(function(){\r\n\t\t\t\thcenter(this);\r\n\t\t\t\tvcenter(this);\r\n\t\t\t\tmoveWindow(this);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t\r\n\t$.fn.window.parseOptions = function(target){\r\n\t\treturn $.extend({}, $.fn.panel.parseOptions(target), $.parser.parseOptions(target, [\r\n\t\t\t{draggable:'boolean',resizable:'boolean',shadow:'boolean',modal:'boolean',inline:'boolean'}\r\n\t\t]));\r\n\t};\r\n\t\r\n\t// Inherited from $.fn.panel.defaults\r\n\t$.fn.window.defaults = $.extend({}, $.fn.panel.defaults, {\r\n\t\tzIndex: 9000,\r\n\t\tdraggable: true,\r\n\t\tresizable: true,\r\n\t\tshadow: true,\r\n\t\tmodal: false,\r\n\t\tinline: false,\t// true to stay inside its parent, false to go on top of all elements\r\n\t\t\r\n\t\t// window's property which difference from panel\r\n\t\ttitle: 'New Window',\r\n\t\tcollapsible: true,\r\n\t\tminimizable: true,\r\n\t\tmaximizable: true,\r\n\t\tclosable: true,\r\n\t\tclosed: false\r\n\t});\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/accordion.css",
    "content": ".accordion {\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.accordion .accordion-header {\n  border-width: 0 0 1px;\n  cursor: pointer;\n}\n.accordion .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-noborder {\n  border-width: 0;\n}\n.accordion-noborder .accordion-header {\n  border-width: 0 0 1px;\n}\n.accordion-noborder .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-collapse {\n  background: url('images/accordion_arrows.png') no-repeat 0 0;\n}\n.accordion-expand {\n  background: url('images/accordion_arrows.png') no-repeat -16px 0;\n}\n.accordion {\n  background: #666;\n  border-color: #000;\n}\n.accordion .accordion-header {\n  background: #3d3d3d;\n  filter: none;\n}\n.accordion .accordion-header-selected {\n  background: #0052A3;\n}\n.accordion .accordion-header-selected .panel-title {\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/calendar.css",
    "content": ".calendar {\n  border-width: 1px;\n  border-style: solid;\n  padding: 1px;\n  overflow: hidden;\n}\n.calendar table {\n  table-layout: fixed;\n  border-collapse: separate;\n  font-size: 12px;\n  width: 100%;\n  height: 100%;\n}\n.calendar table td,\n.calendar table th {\n  font-size: 12px;\n}\n.calendar-noborder {\n  border: 0;\n}\n.calendar-header {\n  position: relative;\n  height: 22px;\n}\n.calendar-title {\n  text-align: center;\n  height: 22px;\n}\n.calendar-title span {\n  position: relative;\n  display: inline-block;\n  top: 2px;\n  padding: 0 3px;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth,\n.calendar-nextmonth,\n.calendar-prevyear,\n.calendar-nextyear {\n  position: absolute;\n  top: 50%;\n  margin-top: -7px;\n  width: 14px;\n  height: 14px;\n  cursor: pointer;\n  font-size: 1px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth {\n  left: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -18px -2px;\n}\n.calendar-nextmonth {\n  right: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -34px -2px;\n}\n.calendar-prevyear {\n  left: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -1px -2px;\n}\n.calendar-nextyear {\n  right: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -49px -2px;\n}\n.calendar-body {\n  position: relative;\n}\n.calendar-body th,\n.calendar-body td {\n  text-align: center;\n}\n.calendar-day {\n  border: 0;\n  padding: 1px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-other-month {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.calendar-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  cursor: default;\n}\n.calendar-menu {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 180px;\n  height: 150px;\n  padding: 5px;\n  font-size: 12px;\n  display: none;\n  overflow: hidden;\n}\n.calendar-menu-year-inner {\n  text-align: center;\n  padding-bottom: 5px;\n}\n.calendar-menu-year {\n  width: 40px;\n  text-align: center;\n  border-width: 1px;\n  border-style: solid;\n  margin: 0;\n  padding: 2px;\n  font-weight: bold;\n  font-size: 12px;\n}\n.calendar-menu-prev,\n.calendar-menu-next {\n  display: inline-block;\n  width: 21px;\n  height: 21px;\n  vertical-align: top;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-menu-prev {\n  margin-right: 10px;\n  background: url('images/calendar_arrows.png') no-repeat 2px 2px;\n}\n.calendar-menu-next {\n  margin-left: 10px;\n  background: url('images/calendar_arrows.png') no-repeat -45px 2px;\n}\n.calendar-menu-month {\n  text-align: center;\n  cursor: pointer;\n  font-weight: bold;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-body th,\n.calendar-menu-month {\n  color: #ffffff;\n}\n.calendar-day {\n  color: #fff;\n}\n.calendar-sunday {\n  color: #CC2222;\n}\n.calendar-saturday {\n  color: #00ee00;\n}\n.calendar-today {\n  color: #0000ff;\n}\n.calendar-menu-year {\n  border-color: #000;\n}\n.calendar {\n  border-color: #000;\n}\n.calendar-header {\n  background: #3d3d3d;\n}\n.calendar-body,\n.calendar-menu {\n  background: #666;\n}\n.calendar-body th {\n  background: #555;\n  padding: 2px 0;\n}\n.calendar-hover,\n.calendar-nav-hover,\n.calendar-menu-hover {\n  background-color: #777;\n  color: #fff;\n}\n.calendar-hover {\n  border: 1px solid #555;\n  padding: 0;\n}\n.calendar-selected {\n  background-color: #0052A3;\n  color: #fff;\n  border: 1px solid #00458a;\n  padding: 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/combo.css",
    "content": ".combo {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.combo .combo-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0px 2px;\n  vertical-align: baseline;\n}\n.combo-arrow {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.combo-arrow-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.combo-panel {\n  overflow: auto;\n}\n.combo-arrow {\n  background: url('images/combo_arrow.png') no-repeat center center;\n}\n.combo-panel {\n  background-color: #666;\n}\n.combo {\n  border-color: #000;\n  background-color: #fff;\n}\n.combo-arrow {\n  background-color: #3d3d3d;\n}\n.combo-arrow-hover {\n  background-color: #777;\n}\n.combo-arrow:hover {\n  background-color: #777;\n}\n.combo .textbox-icon-disabled:hover {\n  cursor: default;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/combobox.css",
    "content": ".combobox-item,\n.combobox-group {\n  font-size: 12px;\n  padding: 3px;\n  padding-right: 0px;\n}\n.combobox-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.combobox-gitem {\n  padding-left: 10px;\n}\n.combobox-group {\n  font-weight: bold;\n}\n.combobox-item-hover {\n  background-color: #777;\n  color: #fff;\n}\n.combobox-item-selected {\n  background-color: #0052A3;\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/datagrid.css",
    "content": ".datagrid .panel-body {\n  overflow: hidden;\n  position: relative;\n}\n.datagrid-view {\n  position: relative;\n  overflow: hidden;\n}\n.datagrid-view1,\n.datagrid-view2 {\n  position: absolute;\n  overflow: hidden;\n  top: 0;\n}\n.datagrid-view1 {\n  left: 0;\n}\n.datagrid-view2 {\n  right: 0;\n}\n.datagrid-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n  display: none;\n}\n.datagrid-mask-msg {\n  position: absolute;\n  top: 50%;\n  margin-top: -20px;\n  padding: 10px 5px 10px 30px;\n  width: auto;\n  height: 16px;\n  border-width: 2px;\n  border-style: solid;\n  display: none;\n}\n.datagrid-sort-icon {\n  padding: 0;\n}\n.datagrid-toolbar {\n  height: auto;\n  padding: 1px 2px;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #444;\n  border-right: 1px solid #777;\n  margin: 2px 1px;\n}\n.datagrid .datagrid-pager {\n  display: block;\n  margin: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.datagrid .datagrid-pager-top {\n  border-width: 0 0 1px 0;\n}\n.datagrid-header {\n  overflow: hidden;\n  cursor: default;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-header-inner {\n  float: left;\n  width: 10000px;\n}\n.datagrid-header-row,\n.datagrid-row {\n  height: 25px;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-width: 0 1px 1px 0;\n  border-style: dotted;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-cell,\n.datagrid-cell-group,\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  margin: 0;\n  padding: 0 4px;\n  white-space: nowrap;\n  word-wrap: normal;\n  overflow: hidden;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n}\n.datagrid-header .datagrid-cell {\n  height: auto;\n}\n.datagrid-header .datagrid-cell span {\n  font-size: 12px;\n}\n.datagrid-cell-group {\n  text-align: center;\n}\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  width: 25px;\n  text-align: center;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body {\n  margin: 0;\n  padding: 0;\n  overflow: auto;\n  zoom: 1;\n}\n.datagrid-view1 .datagrid-body-inner {\n  padding-bottom: 20px;\n}\n.datagrid-view1 .datagrid-body {\n  overflow: hidden;\n}\n.datagrid-footer {\n  overflow: hidden;\n}\n.datagrid-footer-inner {\n  border-width: 1px 0 0 0;\n  border-style: solid;\n  width: 10000px;\n  float: left;\n}\n.datagrid-row-editing .datagrid-cell {\n  height: auto;\n}\n.datagrid-header-check,\n.datagrid-cell-check {\n  padding: 0;\n  width: 27px;\n  height: 18px;\n  font-size: 1px;\n  text-align: center;\n  overflow: hidden;\n}\n.datagrid-header-check input,\n.datagrid-cell-check input {\n  margin: 0;\n  padding: 0;\n  width: 15px;\n  height: 18px;\n}\n.datagrid-resize-proxy {\n  position: absolute;\n  width: 1px;\n  height: 10000px;\n  top: 0;\n  cursor: e-resize;\n  display: none;\n}\n.datagrid-body .datagrid-editable {\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body .datagrid-editable table {\n  width: 100%;\n  height: 100%;\n}\n.datagrid-body .datagrid-editable td {\n  border: 0;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-view .datagrid-editable-input {\n  margin: 0;\n  padding: 2px 4px;\n  border: 1px solid #000;\n  font-size: 12px;\n  outline-style: none;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.datagrid-sort-desc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat -16px center;\n}\n.datagrid-sort-asc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat 0px center;\n}\n.datagrid-row-collapse {\n  background: url('images/datagrid_icons.png') no-repeat -48px center;\n}\n.datagrid-row-expand {\n  background: url('images/datagrid_icons.png') no-repeat -32px center;\n}\n.datagrid-mask-msg {\n  background: #666 url('images/loading.gif') no-repeat scroll 5px center;\n}\n.datagrid-header,\n.datagrid-td-rownumber {\n  background-color: #444;\n  background: -webkit-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%);\n  background: -moz-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%);\n  background: -o-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%);\n  background: linear-gradient(to bottom,#4c4c4c 0,#3f3f3f 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c4c4c,endColorstr=#3f3f3f,GradientType=0);\n}\n.datagrid-cell-rownumber {\n  color: #fff;\n}\n.datagrid-resize-proxy {\n  background: #cccccc;\n}\n.datagrid-mask {\n  background: #000;\n}\n.datagrid-mask-msg {\n  border-color: #000;\n}\n.datagrid-toolbar,\n.datagrid-pager {\n  background: #555;\n}\n.datagrid-header,\n.datagrid-toolbar,\n.datagrid-pager,\n.datagrid-footer-inner {\n  border-color: #222;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-color: #222;\n}\n.datagrid-htable,\n.datagrid-btable,\n.datagrid-ftable {\n  color: #fff;\n  border-collapse: separate;\n}\n.datagrid-row-alt {\n  background: #555;\n}\n.datagrid-row-over,\n.datagrid-header td.datagrid-header-over {\n  background: #777;\n  color: #fff;\n  cursor: default;\n}\n.datagrid-row-selected {\n  background: #0052A3;\n  color: #fff;\n}\n.datagrid-row-editing .textbox,\n.datagrid-row-editing .textbox-text {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/datebox.css",
    "content": ".datebox-calendar-inner {\n  height: 180px;\n}\n.datebox-button {\n  height: 18px;\n  padding: 2px 5px;\n  text-align: center;\n}\n.datebox-button a {\n  font-size: 12px;\n  font-weight: bold;\n  text-decoration: none;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.datebox-button a:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.datebox-current,\n.datebox-close {\n  float: left;\n}\n.datebox-close {\n  float: right;\n}\n.datebox .combo-arrow {\n  background-image: url('images/datebox_arrow.png');\n  background-position: center center;\n}\n.datebox-button {\n  background-color: #555;\n}\n.datebox-button a {\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/dialog.css",
    "content": ".dialog-content {\n  overflow: auto;\n}\n.dialog-toolbar {\n  padding: 2px 5px;\n}\n.dialog-tool-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #444;\n  border-right: 1px solid #777;\n  margin: 2px 1px;\n}\n.dialog-button {\n  padding: 5px;\n  text-align: right;\n}\n.dialog-button .l-btn {\n  margin-left: 5px;\n}\n.dialog-toolbar,\n.dialog-button {\n  background: #555;\n  border-width: 1px;\n  border-style: solid;\n}\n.dialog-toolbar {\n  border-color: #000 #000 #222 #000;\n}\n.dialog-button {\n  border-color: #222 #000 #000 #000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/easyui.css",
    "content": ".panel {\n  overflow: hidden;\n  text-align: left;\n  margin: 0;\n  border: 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.panel-header,\n.panel-body {\n  border-width: 1px;\n  border-style: solid;\n}\n.panel-header {\n  padding: 5px;\n  position: relative;\n}\n.panel-title {\n  background: url('images/blank.gif') no-repeat;\n}\n.panel-header-noborder {\n  border-width: 0 0 1px 0;\n}\n.panel-body {\n  overflow: auto;\n  border-top-width: 0;\n  padding: 0;\n}\n.panel-body-noheader {\n  border-top-width: 1px;\n}\n.panel-body-noborder {\n  border-width: 0px;\n}\n.panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.panel-with-icon {\n  padding-left: 18px;\n}\n.panel-icon,\n.panel-tool {\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  height: 16px;\n  overflow: hidden;\n}\n.panel-icon {\n  left: 5px;\n  width: 16px;\n}\n.panel-tool {\n  right: 5px;\n  width: auto;\n}\n.panel-tool a {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  margin: 0 0 0 2px;\n  vertical-align: top;\n}\n.panel-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  background-color: #777;\n  -moz-border-radius: 3px 3px 3px 3px;\n  -webkit-border-radius: 3px 3px 3px 3px;\n  border-radius: 3px 3px 3px 3px;\n}\n.panel-loading {\n  padding: 11px 0px 10px 30px;\n}\n.panel-noscroll {\n  overflow: hidden;\n}\n.panel-fit,\n.panel-fit body {\n  height: 100%;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  overflow: hidden;\n}\n.panel-loading {\n  background: url('images/loading.gif') no-repeat 10px 10px;\n}\n.panel-tool-close {\n  background: url('images/panel_tools.png') no-repeat -16px 0px;\n}\n.panel-tool-min {\n  background: url('images/panel_tools.png') no-repeat 0px 0px;\n}\n.panel-tool-max {\n  background: url('images/panel_tools.png') no-repeat 0px -16px;\n}\n.panel-tool-restore {\n  background: url('images/panel_tools.png') no-repeat -16px -16px;\n}\n.panel-tool-collapse {\n  background: url('images/panel_tools.png') no-repeat -32px 0;\n}\n.panel-tool-expand {\n  background: url('images/panel_tools.png') no-repeat -32px -16px;\n}\n.panel-header,\n.panel-body {\n  border-color: #000;\n}\n.panel-header {\n  background-color: #3d3d3d;\n  background: -webkit-linear-gradient(top,#454545 0,#383838 100%);\n  background: -moz-linear-gradient(top,#454545 0,#383838 100%);\n  background: -o-linear-gradient(top,#454545 0,#383838 100%);\n  background: linear-gradient(to bottom,#454545 0,#383838 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0);\n}\n.panel-body {\n  background-color: #666;\n  color: #fff;\n  font-size: 12px;\n}\n.panel-title {\n  font-size: 12px;\n  font-weight: bold;\n  color: #fff;\n  height: 16px;\n  line-height: 16px;\n}\n.panel-footer {\n  border: 1px solid #000;\n  overflow: hidden;\n  background: #555;\n}\n.panel-footer-noborder {\n  border-width: 1px 0 0 0;\n}\n.accordion {\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.accordion .accordion-header {\n  border-width: 0 0 1px;\n  cursor: pointer;\n}\n.accordion .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-noborder {\n  border-width: 0;\n}\n.accordion-noborder .accordion-header {\n  border-width: 0 0 1px;\n}\n.accordion-noborder .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-collapse {\n  background: url('images/accordion_arrows.png') no-repeat 0 0;\n}\n.accordion-expand {\n  background: url('images/accordion_arrows.png') no-repeat -16px 0;\n}\n.accordion {\n  background: #666;\n  border-color: #000;\n}\n.accordion .accordion-header {\n  background: #3d3d3d;\n  filter: none;\n}\n.accordion .accordion-header-selected {\n  background: #0052A3;\n}\n.accordion .accordion-header-selected .panel-title {\n  color: #fff;\n}\n.window {\n  overflow: hidden;\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n}\n.window .window-header {\n  background: transparent;\n  padding: 0px 0px 6px 0px;\n}\n.window .window-body {\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0px;\n}\n.window .window-body-noheader {\n  border-top-width: 1px;\n}\n.window .panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.window .window-header .panel-icon,\n.window .window-header .panel-tool {\n  top: 50%;\n  margin-top: -11px;\n}\n.window .window-header .panel-icon {\n  left: 1px;\n}\n.window .window-header .panel-tool {\n  right: 1px;\n}\n.window .window-header .panel-with-icon {\n  padding-left: 18px;\n}\n.window-proxy {\n  position: absolute;\n  overflow: hidden;\n}\n.window-proxy-mask {\n  position: absolute;\n  filter: alpha(opacity=5);\n  opacity: 0.05;\n}\n.window-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  filter: alpha(opacity=40);\n  opacity: 0.40;\n  font-size: 1px;\n  overflow: hidden;\n}\n.window,\n.window-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.window-shadow {\n  background: #777;\n  -moz-box-shadow: 2px 2px 3px #787878;\n  -webkit-box-shadow: 2px 2px 3px #787878;\n  box-shadow: 2px 2px 3px #787878;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.window,\n.window .window-body {\n  border-color: #000;\n}\n.window {\n  background-color: #3d3d3d;\n  background: -webkit-linear-gradient(top,#454545 0,#383838 20%);\n  background: -moz-linear-gradient(top,#454545 0,#383838 20%);\n  background: -o-linear-gradient(top,#454545 0,#383838 20%);\n  background: linear-gradient(to bottom,#454545 0,#383838 20%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0);\n}\n.window-proxy {\n  border: 1px dashed #000;\n}\n.window-proxy-mask,\n.window-mask {\n  background: #000;\n}\n.window .panel-footer {\n  border: 1px solid #000;\n  position: relative;\n  top: -1px;\n}\n.dialog-content {\n  overflow: auto;\n}\n.dialog-toolbar {\n  padding: 2px 5px;\n}\n.dialog-tool-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #444;\n  border-right: 1px solid #777;\n  margin: 2px 1px;\n}\n.dialog-button {\n  padding: 5px;\n  text-align: right;\n}\n.dialog-button .l-btn {\n  margin-left: 5px;\n}\n.dialog-toolbar,\n.dialog-button {\n  background: #555;\n  border-width: 1px;\n  border-style: solid;\n}\n.dialog-toolbar {\n  border-color: #000 #000 #222 #000;\n}\n.dialog-button {\n  border-color: #222 #000 #000 #000;\n}\n.l-btn {\n  text-decoration: none;\n  display: inline-block;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  cursor: pointer;\n  outline: none;\n  text-align: center;\n  vertical-align: middle;\n}\n.l-btn-plain {\n  border: 0;\n  padding: 1px;\n}\n.l-btn-left {\n  display: inline-block;\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  vertical-align: top;\n}\n.l-btn-text {\n  display: inline-block;\n  vertical-align: top;\n  width: auto;\n  line-height: 24px;\n  font-size: 12px;\n  padding: 0;\n  margin: 0 4px;\n}\n.l-btn-icon {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  line-height: 16px;\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  font-size: 1px;\n}\n.l-btn span span .l-btn-empty {\n  display: inline-block;\n  margin: 0;\n  width: 16px;\n  height: 24px;\n  font-size: 1px;\n  vertical-align: top;\n}\n.l-btn span .l-btn-icon-left {\n  padding: 0 0 0 20px;\n  background-position: left center;\n}\n.l-btn span .l-btn-icon-right {\n  padding: 0 20px 0 0;\n  background-position: right center;\n}\n.l-btn-icon-left .l-btn-text {\n  margin: 0 4px 0 24px;\n}\n.l-btn-icon-left .l-btn-icon {\n  left: 4px;\n}\n.l-btn-icon-right .l-btn-text {\n  margin: 0 24px 0 4px;\n}\n.l-btn-icon-right .l-btn-icon {\n  right: 4px;\n}\n.l-btn-icon-top .l-btn-text {\n  margin: 20px 4px 0 4px;\n}\n.l-btn-icon-top .l-btn-icon {\n  top: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-icon-bottom .l-btn-text {\n  margin: 0 4px 20px 4px;\n}\n.l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 16px;\n}\n.l-btn-plain:hover {\n  padding: 0;\n}\n.l-btn-focus {\n  outline: #0000FF dotted thin;\n}\n.l-btn-large .l-btn-text {\n  line-height: 40px;\n}\n.l-btn-large .l-btn-icon {\n  width: 32px;\n  height: 32px;\n  line-height: 32px;\n  margin-top: -16px;\n}\n.l-btn-large .l-btn-icon-left .l-btn-text {\n  margin-left: 40px;\n}\n.l-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-text {\n  margin-top: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 32px;\n}\n.l-btn {\n  color: #fff;\n  background: #777;\n  background-repeat: repeat-x;\n  border: 1px solid #555;\n  background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%);\n  background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%);\n  background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%);\n  background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0);\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn:hover {\n  background: #777;\n  color: #fff;\n  border: 1px solid #555;\n  filter: none;\n}\n.l-btn-plain {\n  background: transparent;\n  border: 0;\n  filter: none;\n}\n.l-btn-plain:hover {\n  background: #777;\n  color: #fff;\n  border: 1px solid #555;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn-disabled,\n.l-btn-disabled:hover {\n  opacity: 0.5;\n  cursor: default;\n  background: #777;\n  color: #fff;\n  background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%);\n  background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%);\n  background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%);\n  background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0);\n}\n.l-btn-disabled .l-btn-text,\n.l-btn-disabled .l-btn-icon {\n  filter: alpha(opacity=50);\n}\n.l-btn-plain-disabled,\n.l-btn-plain-disabled:hover {\n  background: transparent;\n  filter: alpha(opacity=50);\n}\n.l-btn-selected,\n.l-btn-selected:hover {\n  background: #000;\n  filter: none;\n}\n.l-btn-plain-selected,\n.l-btn-plain-selected:hover {\n  background: #000;\n}\n.textbox {\n  position: relative;\n  border: 1px solid #000;\n  background-color: #fff;\n  vertical-align: middle;\n  display: inline-block;\n  overflow: hidden;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 4px;\n  white-space: normal;\n  vertical-align: top;\n  outline-style: none;\n  resize: none;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-prompt {\n  font-size: 12px;\n  color: #aaa;\n}\n.textbox-button,\n.textbox-button:hover {\n  position: absolute;\n  top: 0;\n  padding: 0;\n  vertical-align: top;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.textbox-button-right,\n.textbox-button-right:hover {\n  border-width: 0 0 0 1px;\n}\n.textbox-button-left,\n.textbox-button-left:hover {\n  border-width: 0 1px 0 0;\n}\n.textbox-addon {\n  position: absolute;\n  top: 0;\n}\n.textbox-icon {\n  display: inline-block;\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  vertical-align: top;\n  background-position: center center;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  text-decoration: none;\n  outline-style: none;\n}\n.textbox-icon-disabled,\n.textbox-icon-readonly {\n  cursor: default;\n}\n.textbox-icon:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.textbox-icon-disabled:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.textbox-focused {\n  -moz-box-shadow: 0 0 3px 0 #000;\n  -webkit-box-shadow: 0 0 3px 0 #000;\n  box-shadow: 0 0 3px 0 #000;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n.filebox .textbox-value {\n  vertical-align: top;\n  position: absolute;\n  top: 0;\n  left: -5000px;\n}\n.combo {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.combo .combo-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0px 2px;\n  vertical-align: baseline;\n}\n.combo-arrow {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.combo-arrow-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.combo-panel {\n  overflow: auto;\n}\n.combo-arrow {\n  background: url('images/combo_arrow.png') no-repeat center center;\n}\n.combo-panel {\n  background-color: #666;\n}\n.combo {\n  border-color: #000;\n  background-color: #fff;\n}\n.combo-arrow {\n  background-color: #3d3d3d;\n}\n.combo-arrow-hover {\n  background-color: #777;\n}\n.combo-arrow:hover {\n  background-color: #777;\n}\n.combo .textbox-icon-disabled:hover {\n  cursor: default;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n.combobox-item,\n.combobox-group {\n  font-size: 12px;\n  padding: 3px;\n  padding-right: 0px;\n}\n.combobox-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.combobox-gitem {\n  padding-left: 10px;\n}\n.combobox-group {\n  font-weight: bold;\n}\n.combobox-item-hover {\n  background-color: #777;\n  color: #fff;\n}\n.combobox-item-selected {\n  background-color: #0052A3;\n  color: #fff;\n}\n.layout {\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  z-index: 0;\n}\n.layout-panel {\n  position: absolute;\n  overflow: hidden;\n}\n.layout-panel-east,\n.layout-panel-west {\n  z-index: 2;\n}\n.layout-panel-north,\n.layout-panel-south {\n  z-index: 3;\n}\n.layout-expand {\n  position: absolute;\n  padding: 0px;\n  font-size: 1px;\n  cursor: pointer;\n  z-index: 1;\n}\n.layout-expand .panel-header,\n.layout-expand .panel-body {\n  background: transparent;\n  filter: none;\n  overflow: hidden;\n}\n.layout-expand .panel-header {\n  border-bottom-width: 0px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  position: absolute;\n  font-size: 1px;\n  display: none;\n  z-index: 5;\n}\n.layout-split-proxy-h {\n  width: 5px;\n  cursor: e-resize;\n}\n.layout-split-proxy-v {\n  height: 5px;\n  cursor: n-resize;\n}\n.layout-mask {\n  position: absolute;\n  background: #fafafa;\n  filter: alpha(opacity=10);\n  opacity: 0.10;\n  z-index: 4;\n}\n.layout-button-up {\n  background: url('images/layout_arrows.png') no-repeat -16px -16px;\n}\n.layout-button-down {\n  background: url('images/layout_arrows.png') no-repeat -16px 0;\n}\n.layout-button-left {\n  background: url('images/layout_arrows.png') no-repeat 0 0;\n}\n.layout-button-right {\n  background: url('images/layout_arrows.png') no-repeat 0 -16px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  background-color: #cccccc;\n}\n.layout-split-north {\n  border-bottom: 5px solid #444;\n}\n.layout-split-south {\n  border-top: 5px solid #444;\n}\n.layout-split-east {\n  border-left: 5px solid #444;\n}\n.layout-split-west {\n  border-right: 5px solid #444;\n}\n.layout-expand {\n  background-color: #3d3d3d;\n}\n.layout-expand-over {\n  background-color: #3d3d3d;\n}\n.tabs-container {\n  overflow: hidden;\n}\n.tabs-header {\n  border-width: 1px;\n  border-style: solid;\n  border-bottom-width: 0;\n  position: relative;\n  padding: 0;\n  padding-top: 2px;\n  overflow: hidden;\n}\n.tabs-header-plain {\n  border: 0;\n  background: transparent;\n}\n.tabs-scroller-left,\n.tabs-scroller-right {\n  position: absolute;\n  top: auto;\n  bottom: 0;\n  width: 18px;\n  font-size: 1px;\n  display: none;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-scroller-left {\n  left: 0;\n}\n.tabs-scroller-right {\n  right: 0;\n}\n.tabs-tool {\n  position: absolute;\n  bottom: 0;\n  padding: 1px;\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-header-plain .tabs-tool {\n  padding: 0 1px;\n}\n.tabs-wrap {\n  position: relative;\n  left: 0;\n  overflow: hidden;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n}\n.tabs-scrolling {\n  margin-left: 18px;\n  margin-right: 18px;\n}\n.tabs-disabled {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.tabs {\n  list-style-type: none;\n  height: 26px;\n  margin: 0px;\n  padding: 0px;\n  padding-left: 4px;\n  width: 50000px;\n  border-style: solid;\n  border-width: 0 0 1px 0;\n}\n.tabs li {\n  float: left;\n  display: inline-block;\n  margin: 0 4px -1px 0;\n  padding: 0;\n  position: relative;\n  border: 0;\n}\n.tabs li a.tabs-inner {\n  display: inline-block;\n  text-decoration: none;\n  margin: 0;\n  padding: 0 10px;\n  height: 25px;\n  line-height: 25px;\n  text-align: center;\n  white-space: nowrap;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 0 0;\n  -webkit-border-radius: 5px 5px 0 0;\n  border-radius: 5px 5px 0 0;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  font-weight: bold;\n  outline: none;\n}\n.tabs li.tabs-selected a:hover.tabs-inner {\n  cursor: default;\n  pointer: default;\n}\n.tabs li a.tabs-close,\n.tabs-p-tool {\n  position: absolute;\n  font-size: 1px;\n  display: block;\n  height: 12px;\n  padding: 0;\n  top: 50%;\n  margin-top: -6px;\n  overflow: hidden;\n}\n.tabs li a.tabs-close {\n  width: 12px;\n  right: 5px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs-p-tool {\n  right: 16px;\n}\n.tabs-p-tool a {\n  display: inline-block;\n  font-size: 1px;\n  width: 12px;\n  height: 12px;\n  margin: 0;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs li a:hover.tabs-close,\n.tabs-p-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  cursor: hand;\n  cursor: pointer;\n}\n.tabs-with-icon {\n  padding-left: 18px;\n}\n.tabs-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 10px;\n  top: 50%;\n  margin-top: -8px;\n}\n.tabs-title {\n  font-size: 12px;\n}\n.tabs-closable {\n  padding-right: 8px;\n}\n.tabs-panels {\n  margin: 0px;\n  padding: 0px;\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0;\n  overflow: hidden;\n}\n.tabs-header-bottom {\n  border-width: 0 1px 1px 1px;\n  padding: 0 0 2px 0;\n}\n.tabs-header-bottom .tabs {\n  border-width: 1px 0 0 0;\n}\n.tabs-header-bottom .tabs li {\n  margin: -1px 4px 0 0;\n}\n.tabs-header-bottom .tabs li a.tabs-inner {\n  -moz-border-radius: 0 0 5px 5px;\n  -webkit-border-radius: 0 0 5px 5px;\n  border-radius: 0 0 5px 5px;\n}\n.tabs-header-bottom .tabs-tool {\n  top: 0;\n}\n.tabs-header-bottom .tabs-scroller-left,\n.tabs-header-bottom .tabs-scroller-right {\n  top: 0;\n  bottom: auto;\n}\n.tabs-panels-top {\n  border-width: 1px 1px 0 1px;\n}\n.tabs-header-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n  padding: 0;\n}\n.tabs-header-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n  padding: 0;\n}\n.tabs-header-left .tabs-wrap,\n.tabs-header-right .tabs-wrap {\n  height: 100%;\n}\n.tabs-header-left .tabs {\n  height: 100%;\n  padding: 4px 0 0 4px;\n  border-width: 0 1px 0 0;\n}\n.tabs-header-right .tabs {\n  height: 100%;\n  padding: 4px 4px 0 0;\n  border-width: 0 0 0 1px;\n}\n.tabs-header-left .tabs li,\n.tabs-header-right .tabs li {\n  display: block;\n  width: 100%;\n  position: relative;\n}\n.tabs-header-left .tabs li {\n  left: auto;\n  right: 0;\n  margin: 0 -1px 4px 0;\n  float: right;\n}\n.tabs-header-right .tabs li {\n  left: 0;\n  right: auto;\n  margin: 0 0 4px -1px;\n  float: left;\n}\n.tabs-header-left .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.tabs-header-right .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 0 5px 5px 0;\n  -webkit-border-radius: 0 5px 5px 0;\n  border-radius: 0 5px 5px 0;\n}\n.tabs-panels-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n}\n.tabs-panels-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n}\n.tabs-header-noborder,\n.tabs-panels-noborder {\n  border: 0px;\n}\n.tabs-header-plain {\n  border: 0px;\n  background: transparent;\n}\n.tabs-scroller-left {\n  background: #3d3d3d url('images/tabs_icons.png') no-repeat 1px center;\n}\n.tabs-scroller-right {\n  background: #3d3d3d url('images/tabs_icons.png') no-repeat -15px center;\n}\n.tabs li a.tabs-close {\n  background: url('images/tabs_icons.png') no-repeat -34px center;\n}\n.tabs li a.tabs-inner:hover {\n  background: #777;\n  color: #fff;\n  filter: none;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  background-color: #666;\n  color: #fff;\n  background: -webkit-linear-gradient(top,#454545 0,#666 100%);\n  background: -moz-linear-gradient(top,#454545 0,#666 100%);\n  background: -o-linear-gradient(top,#454545 0,#666 100%);\n  background: linear-gradient(to bottom,#454545 0,#666 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=0);\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(top,#666 0,#454545 100%);\n  background: -moz-linear-gradient(top,#666 0,#454545 100%);\n  background: -o-linear-gradient(top,#666 0,#454545 100%);\n  background: linear-gradient(to bottom,#666 0,#454545 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=0);\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#454545 0,#666 100%);\n  background: -moz-linear-gradient(left,#454545 0,#666 100%);\n  background: -o-linear-gradient(left,#454545 0,#666 100%);\n  background: linear-gradient(to right,#454545 0,#666 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=1);\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#666 0,#454545 100%);\n  background: -moz-linear-gradient(left,#666 0,#454545 100%);\n  background: -o-linear-gradient(left,#666 0,#454545 100%);\n  background: linear-gradient(to right,#666 0,#454545 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=1);\n}\n.tabs li a.tabs-inner {\n  color: #fff;\n  background-color: #3d3d3d;\n  background: -webkit-linear-gradient(top,#454545 0,#383838 100%);\n  background: -moz-linear-gradient(top,#454545 0,#383838 100%);\n  background: -o-linear-gradient(top,#454545 0,#383838 100%);\n  background: linear-gradient(to bottom,#454545 0,#383838 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0);\n}\n.tabs-header,\n.tabs-tool {\n  background-color: #3d3d3d;\n}\n.tabs-header-plain {\n  background: transparent;\n}\n.tabs-header,\n.tabs-scroller-left,\n.tabs-scroller-right,\n.tabs-tool,\n.tabs,\n.tabs-panels,\n.tabs li a.tabs-inner,\n.tabs li.tabs-selected a.tabs-inner,\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-color: #000;\n}\n.tabs-p-tool a:hover,\n.tabs li a:hover.tabs-close,\n.tabs-scroller-over {\n  background-color: #777;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  border-bottom: 1px solid #666;\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  border-top: 1px solid #666;\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  border-right: 1px solid #666;\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-left: 1px solid #666;\n}\n.datagrid .panel-body {\n  overflow: hidden;\n  position: relative;\n}\n.datagrid-view {\n  position: relative;\n  overflow: hidden;\n}\n.datagrid-view1,\n.datagrid-view2 {\n  position: absolute;\n  overflow: hidden;\n  top: 0;\n}\n.datagrid-view1 {\n  left: 0;\n}\n.datagrid-view2 {\n  right: 0;\n}\n.datagrid-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n  display: none;\n}\n.datagrid-mask-msg {\n  position: absolute;\n  top: 50%;\n  margin-top: -20px;\n  padding: 10px 5px 10px 30px;\n  width: auto;\n  height: 16px;\n  border-width: 2px;\n  border-style: solid;\n  display: none;\n}\n.datagrid-sort-icon {\n  padding: 0;\n}\n.datagrid-toolbar {\n  height: auto;\n  padding: 1px 2px;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #444;\n  border-right: 1px solid #777;\n  margin: 2px 1px;\n}\n.datagrid .datagrid-pager {\n  display: block;\n  margin: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.datagrid .datagrid-pager-top {\n  border-width: 0 0 1px 0;\n}\n.datagrid-header {\n  overflow: hidden;\n  cursor: default;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-header-inner {\n  float: left;\n  width: 10000px;\n}\n.datagrid-header-row,\n.datagrid-row {\n  height: 25px;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-width: 0 1px 1px 0;\n  border-style: dotted;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-cell,\n.datagrid-cell-group,\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  margin: 0;\n  padding: 0 4px;\n  white-space: nowrap;\n  word-wrap: normal;\n  overflow: hidden;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n}\n.datagrid-header .datagrid-cell {\n  height: auto;\n}\n.datagrid-header .datagrid-cell span {\n  font-size: 12px;\n}\n.datagrid-cell-group {\n  text-align: center;\n}\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  width: 25px;\n  text-align: center;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body {\n  margin: 0;\n  padding: 0;\n  overflow: auto;\n  zoom: 1;\n}\n.datagrid-view1 .datagrid-body-inner {\n  padding-bottom: 20px;\n}\n.datagrid-view1 .datagrid-body {\n  overflow: hidden;\n}\n.datagrid-footer {\n  overflow: hidden;\n}\n.datagrid-footer-inner {\n  border-width: 1px 0 0 0;\n  border-style: solid;\n  width: 10000px;\n  float: left;\n}\n.datagrid-row-editing .datagrid-cell {\n  height: auto;\n}\n.datagrid-header-check,\n.datagrid-cell-check {\n  padding: 0;\n  width: 27px;\n  height: 18px;\n  font-size: 1px;\n  text-align: center;\n  overflow: hidden;\n}\n.datagrid-header-check input,\n.datagrid-cell-check input {\n  margin: 0;\n  padding: 0;\n  width: 15px;\n  height: 18px;\n}\n.datagrid-resize-proxy {\n  position: absolute;\n  width: 1px;\n  height: 10000px;\n  top: 0;\n  cursor: e-resize;\n  display: none;\n}\n.datagrid-body .datagrid-editable {\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body .datagrid-editable table {\n  width: 100%;\n  height: 100%;\n}\n.datagrid-body .datagrid-editable td {\n  border: 0;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-view .datagrid-editable-input {\n  margin: 0;\n  padding: 2px 4px;\n  border: 1px solid #000;\n  font-size: 12px;\n  outline-style: none;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.datagrid-sort-desc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat -16px center;\n}\n.datagrid-sort-asc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat 0px center;\n}\n.datagrid-row-collapse {\n  background: url('images/datagrid_icons.png') no-repeat -48px center;\n}\n.datagrid-row-expand {\n  background: url('images/datagrid_icons.png') no-repeat -32px center;\n}\n.datagrid-mask-msg {\n  background: #666 url('images/loading.gif') no-repeat scroll 5px center;\n}\n.datagrid-header,\n.datagrid-td-rownumber {\n  background-color: #444;\n  background: -webkit-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%);\n  background: -moz-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%);\n  background: -o-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%);\n  background: linear-gradient(to bottom,#4c4c4c 0,#3f3f3f 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c4c4c,endColorstr=#3f3f3f,GradientType=0);\n}\n.datagrid-cell-rownumber {\n  color: #fff;\n}\n.datagrid-resize-proxy {\n  background: #cccccc;\n}\n.datagrid-mask {\n  background: #000;\n}\n.datagrid-mask-msg {\n  border-color: #000;\n}\n.datagrid-toolbar,\n.datagrid-pager {\n  background: #555;\n}\n.datagrid-header,\n.datagrid-toolbar,\n.datagrid-pager,\n.datagrid-footer-inner {\n  border-color: #222;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-color: #222;\n}\n.datagrid-htable,\n.datagrid-btable,\n.datagrid-ftable {\n  color: #fff;\n  border-collapse: separate;\n}\n.datagrid-row-alt {\n  background: #555;\n}\n.datagrid-row-over,\n.datagrid-header td.datagrid-header-over {\n  background: #777;\n  color: #fff;\n  cursor: default;\n}\n.datagrid-row-selected {\n  background: #0052A3;\n  color: #fff;\n}\n.datagrid-row-editing .textbox,\n.datagrid-row-editing .textbox-text {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.propertygrid .datagrid-view1 .datagrid-body td {\n  padding-bottom: 1px;\n  border-width: 0 1px 0 0;\n}\n.propertygrid .datagrid-group {\n  height: 21px;\n  overflow: hidden;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.propertygrid .datagrid-group span {\n  font-weight: bold;\n}\n.propertygrid .datagrid-view1 .datagrid-body td {\n  border-color: #222;\n}\n.propertygrid .datagrid-view1 .datagrid-group {\n  border-color: #3d3d3d;\n}\n.propertygrid .datagrid-view2 .datagrid-group {\n  border-color: #222;\n}\n.propertygrid .datagrid-group,\n.propertygrid .datagrid-view1 .datagrid-body,\n.propertygrid .datagrid-view1 .datagrid-row-over,\n.propertygrid .datagrid-view1 .datagrid-row-selected {\n  background: #3d3d3d;\n}\n.pagination {\n  zoom: 1;\n}\n.pagination table {\n  float: left;\n  height: 30px;\n}\n.pagination td {\n  border: 0;\n}\n.pagination-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #444;\n  border-right: 1px solid #777;\n  margin: 3px 1px;\n}\n.pagination .pagination-num {\n  border-width: 1px;\n  border-style: solid;\n  margin: 0 2px;\n  padding: 2px;\n  width: 2em;\n  height: auto;\n}\n.pagination-page-list {\n  margin: 0px 6px;\n  padding: 1px 2px;\n  width: auto;\n  height: auto;\n  border-width: 1px;\n  border-style: solid;\n}\n.pagination-info {\n  float: right;\n  margin: 0 6px 0 0;\n  padding: 0;\n  height: 30px;\n  line-height: 30px;\n  font-size: 12px;\n}\n.pagination span {\n  font-size: 12px;\n}\n.pagination-link .l-btn-text {\n  width: 24px;\n  text-align: center;\n  margin: 0;\n}\n.pagination-first {\n  background: url('images/pagination_icons.png') no-repeat 0 center;\n}\n.pagination-prev {\n  background: url('images/pagination_icons.png') no-repeat -16px center;\n}\n.pagination-next {\n  background: url('images/pagination_icons.png') no-repeat -32px center;\n}\n.pagination-last {\n  background: url('images/pagination_icons.png') no-repeat -48px center;\n}\n.pagination-load {\n  background: url('images/pagination_icons.png') no-repeat -64px center;\n}\n.pagination-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.pagination-page-list,\n.pagination .pagination-num {\n  border-color: #000;\n}\n.calendar {\n  border-width: 1px;\n  border-style: solid;\n  padding: 1px;\n  overflow: hidden;\n}\n.calendar table {\n  table-layout: fixed;\n  border-collapse: separate;\n  font-size: 12px;\n  width: 100%;\n  height: 100%;\n}\n.calendar table td,\n.calendar table th {\n  font-size: 12px;\n}\n.calendar-noborder {\n  border: 0;\n}\n.calendar-header {\n  position: relative;\n  height: 22px;\n}\n.calendar-title {\n  text-align: center;\n  height: 22px;\n}\n.calendar-title span {\n  position: relative;\n  display: inline-block;\n  top: 2px;\n  padding: 0 3px;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth,\n.calendar-nextmonth,\n.calendar-prevyear,\n.calendar-nextyear {\n  position: absolute;\n  top: 50%;\n  margin-top: -7px;\n  width: 14px;\n  height: 14px;\n  cursor: pointer;\n  font-size: 1px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth {\n  left: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -18px -2px;\n}\n.calendar-nextmonth {\n  right: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -34px -2px;\n}\n.calendar-prevyear {\n  left: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -1px -2px;\n}\n.calendar-nextyear {\n  right: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -49px -2px;\n}\n.calendar-body {\n  position: relative;\n}\n.calendar-body th,\n.calendar-body td {\n  text-align: center;\n}\n.calendar-day {\n  border: 0;\n  padding: 1px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-other-month {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.calendar-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  cursor: default;\n}\n.calendar-menu {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 180px;\n  height: 150px;\n  padding: 5px;\n  font-size: 12px;\n  display: none;\n  overflow: hidden;\n}\n.calendar-menu-year-inner {\n  text-align: center;\n  padding-bottom: 5px;\n}\n.calendar-menu-year {\n  width: 40px;\n  text-align: center;\n  border-width: 1px;\n  border-style: solid;\n  margin: 0;\n  padding: 2px;\n  font-weight: bold;\n  font-size: 12px;\n}\n.calendar-menu-prev,\n.calendar-menu-next {\n  display: inline-block;\n  width: 21px;\n  height: 21px;\n  vertical-align: top;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-menu-prev {\n  margin-right: 10px;\n  background: url('images/calendar_arrows.png') no-repeat 2px 2px;\n}\n.calendar-menu-next {\n  margin-left: 10px;\n  background: url('images/calendar_arrows.png') no-repeat -45px 2px;\n}\n.calendar-menu-month {\n  text-align: center;\n  cursor: pointer;\n  font-weight: bold;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-body th,\n.calendar-menu-month {\n  color: #ffffff;\n}\n.calendar-day {\n  color: #fff;\n}\n.calendar-sunday {\n  color: #CC2222;\n}\n.calendar-saturday {\n  color: #00ee00;\n}\n.calendar-today {\n  color: #0000ff;\n}\n.calendar-menu-year {\n  border-color: #000;\n}\n.calendar {\n  border-color: #000;\n}\n.calendar-header {\n  background: #3d3d3d;\n}\n.calendar-body,\n.calendar-menu {\n  background: #666;\n}\n.calendar-body th {\n  background: #555;\n  padding: 2px 0;\n}\n.calendar-hover,\n.calendar-nav-hover,\n.calendar-menu-hover {\n  background-color: #777;\n  color: #fff;\n}\n.calendar-hover {\n  border: 1px solid #555;\n  padding: 0;\n}\n.calendar-selected {\n  background-color: #0052A3;\n  color: #fff;\n  border: 1px solid #00458a;\n  padding: 0;\n}\n.datebox-calendar-inner {\n  height: 180px;\n}\n.datebox-button {\n  height: 18px;\n  padding: 2px 5px;\n  text-align: center;\n}\n.datebox-button a {\n  font-size: 12px;\n  font-weight: bold;\n  text-decoration: none;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.datebox-button a:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.datebox-current,\n.datebox-close {\n  float: left;\n}\n.datebox-close {\n  float: right;\n}\n.datebox .combo-arrow {\n  background-image: url('images/datebox_arrow.png');\n  background-position: center center;\n}\n.datebox-button {\n  background-color: #555;\n}\n.datebox-button a {\n  color: #fff;\n}\n.numberbox {\n  border: 1px solid #000;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: middle;\n}\n.textbox {\n  padding: 0;\n}\n.spinner {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.spinner .spinner-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: baseline;\n}\n.spinner-arrow {\n  background-color: #3d3d3d;\n  display: inline-block;\n  overflow: hidden;\n  vertical-align: top;\n  margin: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  width: 18px;\n}\n.spinner-arrow-up,\n.spinner-arrow-down {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  display: block;\n  font-size: 1px;\n  width: 18px;\n  height: 10px;\n  width: 100%;\n  height: 50%;\n  outline-style: none;\n}\n.spinner-arrow-hover {\n  background-color: #777;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.spinner-arrow-up:hover,\n.spinner-arrow-down:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  background-color: #777;\n}\n.textbox-icon-disabled .spinner-arrow-up:hover,\n.textbox-icon-disabled .spinner-arrow-down:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  background-color: #3d3d3d;\n  cursor: default;\n}\n.spinner .textbox-icon-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.spinner-arrow-up {\n  background: url('images/spinner_arrows.png') no-repeat 1px center;\n}\n.spinner-arrow-down {\n  background: url('images/spinner_arrows.png') no-repeat -15px center;\n}\n.spinner {\n  border-color: #000;\n}\n.progressbar {\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  overflow: hidden;\n  position: relative;\n}\n.progressbar-text {\n  text-align: center;\n  position: absolute;\n}\n.progressbar-value {\n  position: relative;\n  overflow: hidden;\n  width: 0;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.progressbar {\n  border-color: #000;\n}\n.progressbar-text {\n  color: #fff;\n  font-size: 12px;\n}\n.progressbar-value .progressbar-text {\n  background-color: #0052A3;\n  color: #fff;\n}\n.searchbox {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.searchbox .searchbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: top;\n}\n.searchbox .searchbox-prompt {\n  font-size: 12px;\n  color: #ccc;\n}\n.searchbox-button {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.searchbox-button-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.searchbox .l-btn-plain {\n  border: 0;\n  padding: 0;\n  vertical-align: top;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .l-btn-plain:hover {\n  border: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox a.m-btn-plain-active {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .m-btn-active {\n  border-width: 0 1px 0 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .textbox-button-right {\n  border-width: 0 0 0 1px;\n}\n.searchbox .textbox-button-left {\n  border-width: 0 1px 0 0;\n}\n.searchbox-button {\n  background: url('images/searchbox_button.png') no-repeat center center;\n}\n.searchbox {\n  border-color: #000;\n  background-color: #fff;\n}\n.searchbox .l-btn-plain {\n  background: #3d3d3d;\n}\n.searchbox .l-btn-plain-disabled,\n.searchbox .l-btn-plain-disabled:hover {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n.slider-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.slider-h {\n  height: 22px;\n}\n.slider-v {\n  width: 22px;\n}\n.slider-inner {\n  position: relative;\n  height: 6px;\n  top: 7px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n}\n.slider-handle {\n  position: absolute;\n  display: block;\n  outline: none;\n  width: 20px;\n  height: 20px;\n  top: 50%;\n  margin-top: -10px;\n  margin-left: -10px;\n}\n.slider-tip {\n  position: absolute;\n  display: inline-block;\n  line-height: 12px;\n  font-size: 12px;\n  white-space: nowrap;\n  top: -22px;\n}\n.slider-rule {\n  position: relative;\n  top: 15px;\n}\n.slider-rule span {\n  position: absolute;\n  display: inline-block;\n  font-size: 0;\n  height: 5px;\n  border-width: 0 0 0 1px;\n  border-style: solid;\n}\n.slider-rulelabel {\n  position: relative;\n  top: 20px;\n}\n.slider-rulelabel span {\n  position: absolute;\n  display: inline-block;\n  font-size: 12px;\n}\n.slider-v .slider-inner {\n  width: 6px;\n  left: 7px;\n  top: 0;\n  float: left;\n}\n.slider-v .slider-handle {\n  left: 50%;\n  margin-top: -10px;\n}\n.slider-v .slider-tip {\n  left: -10px;\n  margin-top: -6px;\n}\n.slider-v .slider-rule {\n  float: left;\n  top: 0;\n  left: 16px;\n}\n.slider-v .slider-rule span {\n  width: 5px;\n  height: 'auto';\n  border-left: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.slider-v .slider-rulelabel {\n  float: left;\n  top: 0;\n  left: 23px;\n}\n.slider-handle {\n  background: url('images/slider_handle.png') no-repeat;\n}\n.slider-inner {\n  border-color: #000;\n  background: #3d3d3d;\n}\n.slider-rule span {\n  border-color: #000;\n}\n.slider-rulelabel span {\n  color: #fff;\n}\n.menu {\n  position: absolute;\n  margin: 0;\n  padding: 2px;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n}\n.menu-item {\n  position: relative;\n  margin: 0;\n  padding: 0;\n  overflow: hidden;\n  white-space: nowrap;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.menu-text {\n  height: 20px;\n  line-height: 20px;\n  float: left;\n  padding-left: 28px;\n}\n.menu-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 2px;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-rightarrow {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-line {\n  position: absolute;\n  left: 26px;\n  top: 0;\n  height: 2000px;\n  font-size: 1px;\n}\n.menu-sep {\n  margin: 3px 0px 3px 25px;\n  font-size: 1px;\n}\n.menu-active {\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.menu-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  cursor: default;\n}\n.menu-text,\n.menu-text span {\n  font-size: 12px;\n}\n.menu-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  background: #777;\n  -moz-box-shadow: 2px 2px 3px #787878;\n  -webkit-box-shadow: 2px 2px 3px #787878;\n  box-shadow: 2px 2px 3px #787878;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.menu-rightarrow {\n  background: url('images/menu_arrows.png') no-repeat -32px center;\n}\n.menu-line {\n  border-left: 1px solid #444;\n  border-right: 1px solid #777;\n}\n.menu-sep {\n  border-top: 1px solid #444;\n  border-bottom: 1px solid #777;\n}\n.menu {\n  background-color: #666;\n  border-color: #444;\n  color: #fff;\n}\n.menu-content {\n  background: #666;\n}\n.menu-item {\n  border-color: transparent;\n  _border-color: #666;\n}\n.menu-active {\n  border-color: #555;\n  color: #fff;\n  background: #777;\n}\n.menu-active-disabled {\n  border-color: transparent;\n  background: transparent;\n  color: #fff;\n}\n.m-btn-downarrow,\n.s-btn-downarrow {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  font-size: 1px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.m-btn-active,\n.s-btn-active {\n  background: #777;\n  color: #fff;\n  border: 1px solid #555;\n  filter: none;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  background: transparent;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.m-btn .l-btn-left .l-btn-text {\n  margin-right: 20px;\n}\n.m-btn .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.m-btn .l-btn-icon-right .l-btn-icon {\n  right: 20px;\n}\n.m-btn .l-btn-icon-top .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 14px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 34px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 20px;\n}\n.m-btn .l-btn-icon-top .m-btn-downarrow,\n.m-btn .l-btn-icon-bottom .m-btn-downarrow {\n  top: auto;\n  bottom: 0px;\n  left: 50%;\n  margin-left: -8px;\n}\n.m-btn-line {\n  display: inline-block;\n  position: absolute;\n  font-size: 1px;\n  display: none;\n}\n.m-btn .l-btn-left .m-btn-line {\n  right: 0;\n  width: 16px;\n  height: 500px;\n  border-style: solid;\n  border-color: #cccccc;\n  border-width: 0 0 0 1px;\n}\n.m-btn .l-btn-icon-top .m-btn-line,\n.m-btn .l-btn-icon-bottom .m-btn-line {\n  left: 0;\n  bottom: 0;\n  width: 500px;\n  height: 16px;\n  border-width: 1px 0 0 0;\n}\n.m-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 56px;\n}\n.m-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 50px;\n}\n.m-btn-downarrow,\n.s-btn-downarrow {\n  background: url('images/menu_arrows.png') no-repeat 0 center;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  border-color: #555;\n  background-color: #777;\n  color: #fff;\n}\n.s-btn:hover .m-btn-line,\n.s-btn-active .m-btn-line,\n.s-btn-plain-active .m-btn-line {\n  display: inline-block;\n}\n.l-btn:hover .s-btn-downarrow,\n.s-btn-active .s-btn-downarrow,\n.s-btn-plain-active .s-btn-downarrow {\n  border-style: solid;\n  border-color: #cccccc;\n  border-width: 0 0 0 1px;\n}\n.messager-body {\n  padding: 10px;\n  overflow: hidden;\n}\n.messager-button {\n  text-align: center;\n  padding-top: 10px;\n}\n.messager-button .l-btn {\n  width: 70px;\n}\n.messager-icon {\n  float: left;\n  width: 32px;\n  height: 32px;\n  margin: 0 10px 10px 0;\n}\n.messager-error {\n  background: url('images/messager_icons.png') no-repeat scroll -64px 0;\n}\n.messager-info {\n  background: url('images/messager_icons.png') no-repeat scroll 0 0;\n}\n.messager-question {\n  background: url('images/messager_icons.png') no-repeat scroll -32px 0;\n}\n.messager-warning {\n  background: url('images/messager_icons.png') no-repeat scroll -96px 0;\n}\n.messager-progress {\n  padding: 10px;\n}\n.messager-p-msg {\n  margin-bottom: 5px;\n}\n.messager-body .messager-input {\n  width: 100%;\n  padding: 1px 0;\n  border: 1px solid #000;\n}\n.tree {\n  margin: 0;\n  padding: 0;\n  list-style-type: none;\n}\n.tree li {\n  white-space: nowrap;\n}\n.tree li ul {\n  list-style-type: none;\n  margin: 0;\n  padding: 0;\n}\n.tree-node {\n  height: 18px;\n  white-space: nowrap;\n  cursor: pointer;\n}\n.tree-hit {\n  cursor: pointer;\n}\n.tree-expanded,\n.tree-collapsed,\n.tree-folder,\n.tree-file,\n.tree-checkbox,\n.tree-indent {\n  display: inline-block;\n  width: 16px;\n  height: 18px;\n  vertical-align: top;\n  overflow: hidden;\n}\n.tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -18px 0px;\n}\n.tree-expanded-hover {\n  background: url('images/tree_icons.png') no-repeat -50px 0px;\n}\n.tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat 0px 0px;\n}\n.tree-collapsed-hover {\n  background: url('images/tree_icons.png') no-repeat -32px 0px;\n}\n.tree-lines .tree-expanded,\n.tree-lines .tree-root-first .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -144px 0;\n}\n.tree-lines .tree-collapsed,\n.tree-lines .tree-root-first .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -128px 0;\n}\n.tree-lines .tree-node-last .tree-expanded,\n.tree-lines .tree-root-one .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -80px 0;\n}\n.tree-lines .tree-node-last .tree-collapsed,\n.tree-lines .tree-root-one .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -64px 0;\n}\n.tree-line {\n  background: url('images/tree_icons.png') no-repeat -176px 0;\n}\n.tree-join {\n  background: url('images/tree_icons.png') no-repeat -192px 0;\n}\n.tree-joinbottom {\n  background: url('images/tree_icons.png') no-repeat -160px 0;\n}\n.tree-folder {\n  background: url('images/tree_icons.png') no-repeat -208px 0;\n}\n.tree-folder-open {\n  background: url('images/tree_icons.png') no-repeat -224px 0;\n}\n.tree-file {\n  background: url('images/tree_icons.png') no-repeat -240px 0;\n}\n.tree-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.tree-checkbox0 {\n  background: url('images/tree_icons.png') no-repeat -208px -18px;\n}\n.tree-checkbox1 {\n  background: url('images/tree_icons.png') no-repeat -224px -18px;\n}\n.tree-checkbox2 {\n  background: url('images/tree_icons.png') no-repeat -240px -18px;\n}\n.tree-title {\n  font-size: 12px;\n  display: inline-block;\n  text-decoration: none;\n  vertical-align: top;\n  white-space: nowrap;\n  padding: 0 2px;\n  height: 18px;\n  line-height: 18px;\n}\n.tree-node-proxy {\n  font-size: 12px;\n  line-height: 20px;\n  padding: 0 2px 0 20px;\n  border-width: 1px;\n  border-style: solid;\n  z-index: 9900000;\n}\n.tree-dnd-icon {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 18px;\n  left: 2px;\n  top: 50%;\n  margin-top: -9px;\n}\n.tree-dnd-yes {\n  background: url('images/tree_icons.png') no-repeat -256px 0;\n}\n.tree-dnd-no {\n  background: url('images/tree_icons.png') no-repeat -256px -18px;\n}\n.tree-node-top {\n  border-top: 1px dotted red;\n}\n.tree-node-bottom {\n  border-bottom: 1px dotted red;\n}\n.tree-node-append .tree-title {\n  border: 1px dotted red;\n}\n.tree-editor {\n  border: 1px solid #ccc;\n  font-size: 12px;\n  height: 14px !important;\n  height: 18px;\n  line-height: 14px;\n  padding: 1px 2px;\n  width: 80px;\n  position: absolute;\n  top: 0;\n}\n.tree-node-proxy {\n  background-color: #666;\n  color: #fff;\n  border-color: #000;\n}\n.tree-node-hover {\n  background: #777;\n  color: #fff;\n}\n.tree-node-selected {\n  background: #0052A3;\n  color: #fff;\n}\n.validatebox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n  color: #000;\n}\n.tooltip {\n  position: absolute;\n  display: none;\n  z-index: 9900000;\n  outline: none;\n  opacity: 1;\n  filter: alpha(opacity=100);\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.tooltip-content {\n  font-size: 12px;\n}\n.tooltip-arrow-outer,\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  line-height: 0;\n  font-size: 0;\n  border-style: solid;\n  border-width: 6px;\n  border-color: transparent;\n  _border-color: tomato;\n  _filter: chroma(color=tomato);\n}\n.tooltip-right .tooltip-arrow-outer {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -13px;\n}\n.tooltip-right .tooltip-arrow {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -12px;\n}\n.tooltip-left .tooltip-arrow-outer {\n  right: 0;\n  top: 50%;\n  margin: -6px -13px 0 0;\n}\n.tooltip-left .tooltip-arrow {\n  right: 0;\n  top: 50%;\n  margin: -6px -12px 0 0;\n}\n.tooltip-top .tooltip-arrow-outer {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -13px -6px;\n}\n.tooltip-top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -12px -6px;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  top: 0;\n  left: 50%;\n  margin: -13px 0 0 -6px;\n}\n.tooltip-bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin: -12px 0 0 -6px;\n}\n.tooltip {\n  background-color: #666;\n  border-color: #000;\n  color: #fff;\n}\n.tooltip-right .tooltip-arrow-outer {\n  border-right-color: #000;\n}\n.tooltip-right .tooltip-arrow {\n  border-right-color: #666;\n}\n.tooltip-left .tooltip-arrow-outer {\n  border-left-color: #000;\n}\n.tooltip-left .tooltip-arrow {\n  border-left-color: #666;\n}\n.tooltip-top .tooltip-arrow-outer {\n  border-top-color: #000;\n}\n.tooltip-top .tooltip-arrow {\n  border-top-color: #666;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  border-bottom-color: #000;\n}\n.tooltip-bottom .tooltip-arrow {\n  border-bottom-color: #666;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/filebox.css",
    "content": ".filebox .textbox-value {\n  vertical-align: top;\n  position: absolute;\n  top: 0;\n  left: -5000px;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/layout.css",
    "content": ".layout {\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  z-index: 0;\n}\n.layout-panel {\n  position: absolute;\n  overflow: hidden;\n}\n.layout-panel-east,\n.layout-panel-west {\n  z-index: 2;\n}\n.layout-panel-north,\n.layout-panel-south {\n  z-index: 3;\n}\n.layout-expand {\n  position: absolute;\n  padding: 0px;\n  font-size: 1px;\n  cursor: pointer;\n  z-index: 1;\n}\n.layout-expand .panel-header,\n.layout-expand .panel-body {\n  background: transparent;\n  filter: none;\n  overflow: hidden;\n}\n.layout-expand .panel-header {\n  border-bottom-width: 0px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  position: absolute;\n  font-size: 1px;\n  display: none;\n  z-index: 5;\n}\n.layout-split-proxy-h {\n  width: 5px;\n  cursor: e-resize;\n}\n.layout-split-proxy-v {\n  height: 5px;\n  cursor: n-resize;\n}\n.layout-mask {\n  position: absolute;\n  background: #fafafa;\n  filter: alpha(opacity=10);\n  opacity: 0.10;\n  z-index: 4;\n}\n.layout-button-up {\n  background: url('images/layout_arrows.png') no-repeat -16px -16px;\n}\n.layout-button-down {\n  background: url('images/layout_arrows.png') no-repeat -16px 0;\n}\n.layout-button-left {\n  background: url('images/layout_arrows.png') no-repeat 0 0;\n}\n.layout-button-right {\n  background: url('images/layout_arrows.png') no-repeat 0 -16px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  background-color: #cccccc;\n}\n.layout-split-north {\n  border-bottom: 5px solid #444;\n}\n.layout-split-south {\n  border-top: 5px solid #444;\n}\n.layout-split-east {\n  border-left: 5px solid #444;\n}\n.layout-split-west {\n  border-right: 5px solid #444;\n}\n.layout-expand {\n  background-color: #3d3d3d;\n}\n.layout-expand-over {\n  background-color: #3d3d3d;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/linkbutton.css",
    "content": ".l-btn {\n  text-decoration: none;\n  display: inline-block;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  cursor: pointer;\n  outline: none;\n  text-align: center;\n  vertical-align: middle;\n}\n.l-btn-plain {\n  border: 0;\n  padding: 1px;\n}\n.l-btn-left {\n  display: inline-block;\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  vertical-align: top;\n}\n.l-btn-text {\n  display: inline-block;\n  vertical-align: top;\n  width: auto;\n  line-height: 24px;\n  font-size: 12px;\n  padding: 0;\n  margin: 0 4px;\n}\n.l-btn-icon {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  line-height: 16px;\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  font-size: 1px;\n}\n.l-btn span span .l-btn-empty {\n  display: inline-block;\n  margin: 0;\n  width: 16px;\n  height: 24px;\n  font-size: 1px;\n  vertical-align: top;\n}\n.l-btn span .l-btn-icon-left {\n  padding: 0 0 0 20px;\n  background-position: left center;\n}\n.l-btn span .l-btn-icon-right {\n  padding: 0 20px 0 0;\n  background-position: right center;\n}\n.l-btn-icon-left .l-btn-text {\n  margin: 0 4px 0 24px;\n}\n.l-btn-icon-left .l-btn-icon {\n  left: 4px;\n}\n.l-btn-icon-right .l-btn-text {\n  margin: 0 24px 0 4px;\n}\n.l-btn-icon-right .l-btn-icon {\n  right: 4px;\n}\n.l-btn-icon-top .l-btn-text {\n  margin: 20px 4px 0 4px;\n}\n.l-btn-icon-top .l-btn-icon {\n  top: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-icon-bottom .l-btn-text {\n  margin: 0 4px 20px 4px;\n}\n.l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 16px;\n}\n.l-btn-plain:hover {\n  padding: 0;\n}\n.l-btn-focus {\n  outline: #0000FF dotted thin;\n}\n.l-btn-large .l-btn-text {\n  line-height: 40px;\n}\n.l-btn-large .l-btn-icon {\n  width: 32px;\n  height: 32px;\n  line-height: 32px;\n  margin-top: -16px;\n}\n.l-btn-large .l-btn-icon-left .l-btn-text {\n  margin-left: 40px;\n}\n.l-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-text {\n  margin-top: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 32px;\n}\n.l-btn {\n  color: #fff;\n  background: #777;\n  background-repeat: repeat-x;\n  border: 1px solid #555;\n  background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%);\n  background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%);\n  background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%);\n  background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0);\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn:hover {\n  background: #777;\n  color: #fff;\n  border: 1px solid #555;\n  filter: none;\n}\n.l-btn-plain {\n  background: transparent;\n  border: 0;\n  filter: none;\n}\n.l-btn-plain:hover {\n  background: #777;\n  color: #fff;\n  border: 1px solid #555;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn-disabled,\n.l-btn-disabled:hover {\n  opacity: 0.5;\n  cursor: default;\n  background: #777;\n  color: #fff;\n  background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%);\n  background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%);\n  background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%);\n  background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0);\n}\n.l-btn-disabled .l-btn-text,\n.l-btn-disabled .l-btn-icon {\n  filter: alpha(opacity=50);\n}\n.l-btn-plain-disabled,\n.l-btn-plain-disabled:hover {\n  background: transparent;\n  filter: alpha(opacity=50);\n}\n.l-btn-selected,\n.l-btn-selected:hover {\n  background: #000;\n  filter: none;\n}\n.l-btn-plain-selected,\n.l-btn-plain-selected:hover {\n  background: #000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/menu.css",
    "content": ".menu {\n  position: absolute;\n  margin: 0;\n  padding: 2px;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n}\n.menu-item {\n  position: relative;\n  margin: 0;\n  padding: 0;\n  overflow: hidden;\n  white-space: nowrap;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.menu-text {\n  height: 20px;\n  line-height: 20px;\n  float: left;\n  padding-left: 28px;\n}\n.menu-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 2px;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-rightarrow {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-line {\n  position: absolute;\n  left: 26px;\n  top: 0;\n  height: 2000px;\n  font-size: 1px;\n}\n.menu-sep {\n  margin: 3px 0px 3px 25px;\n  font-size: 1px;\n}\n.menu-active {\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.menu-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  cursor: default;\n}\n.menu-text,\n.menu-text span {\n  font-size: 12px;\n}\n.menu-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  background: #777;\n  -moz-box-shadow: 2px 2px 3px #787878;\n  -webkit-box-shadow: 2px 2px 3px #787878;\n  box-shadow: 2px 2px 3px #787878;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.menu-rightarrow {\n  background: url('images/menu_arrows.png') no-repeat -32px center;\n}\n.menu-line {\n  border-left: 1px solid #444;\n  border-right: 1px solid #777;\n}\n.menu-sep {\n  border-top: 1px solid #444;\n  border-bottom: 1px solid #777;\n}\n.menu {\n  background-color: #666;\n  border-color: #444;\n  color: #fff;\n}\n.menu-content {\n  background: #666;\n}\n.menu-item {\n  border-color: transparent;\n  _border-color: #666;\n}\n.menu-active {\n  border-color: #555;\n  color: #fff;\n  background: #777;\n}\n.menu-active-disabled {\n  border-color: transparent;\n  background: transparent;\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/menubutton.css",
    "content": ".m-btn-downarrow,\n.s-btn-downarrow {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  font-size: 1px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.m-btn-active,\n.s-btn-active {\n  background: #777;\n  color: #fff;\n  border: 1px solid #555;\n  filter: none;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  background: transparent;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.m-btn .l-btn-left .l-btn-text {\n  margin-right: 20px;\n}\n.m-btn .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.m-btn .l-btn-icon-right .l-btn-icon {\n  right: 20px;\n}\n.m-btn .l-btn-icon-top .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 14px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 34px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 20px;\n}\n.m-btn .l-btn-icon-top .m-btn-downarrow,\n.m-btn .l-btn-icon-bottom .m-btn-downarrow {\n  top: auto;\n  bottom: 0px;\n  left: 50%;\n  margin-left: -8px;\n}\n.m-btn-line {\n  display: inline-block;\n  position: absolute;\n  font-size: 1px;\n  display: none;\n}\n.m-btn .l-btn-left .m-btn-line {\n  right: 0;\n  width: 16px;\n  height: 500px;\n  border-style: solid;\n  border-color: #cccccc;\n  border-width: 0 0 0 1px;\n}\n.m-btn .l-btn-icon-top .m-btn-line,\n.m-btn .l-btn-icon-bottom .m-btn-line {\n  left: 0;\n  bottom: 0;\n  width: 500px;\n  height: 16px;\n  border-width: 1px 0 0 0;\n}\n.m-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 56px;\n}\n.m-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 50px;\n}\n.m-btn-downarrow,\n.s-btn-downarrow {\n  background: url('images/menu_arrows.png') no-repeat 0 center;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  border-color: #555;\n  background-color: #777;\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/messager.css",
    "content": ".messager-body {\n  padding: 10px;\n  overflow: hidden;\n}\n.messager-button {\n  text-align: center;\n  padding-top: 10px;\n}\n.messager-button .l-btn {\n  width: 70px;\n}\n.messager-icon {\n  float: left;\n  width: 32px;\n  height: 32px;\n  margin: 0 10px 10px 0;\n}\n.messager-error {\n  background: url('images/messager_icons.png') no-repeat scroll -64px 0;\n}\n.messager-info {\n  background: url('images/messager_icons.png') no-repeat scroll 0 0;\n}\n.messager-question {\n  background: url('images/messager_icons.png') no-repeat scroll -32px 0;\n}\n.messager-warning {\n  background: url('images/messager_icons.png') no-repeat scroll -96px 0;\n}\n.messager-progress {\n  padding: 10px;\n}\n.messager-p-msg {\n  margin-bottom: 5px;\n}\n.messager-body .messager-input {\n  width: 100%;\n  padding: 1px 0;\n  border: 1px solid #000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/numberbox.css",
    "content": ".numberbox {\n  border: 1px solid #000;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: middle;\n}\n.textbox {\n  padding: 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/pagination.css",
    "content": ".pagination {\n  zoom: 1;\n}\n.pagination table {\n  float: left;\n  height: 30px;\n}\n.pagination td {\n  border: 0;\n}\n.pagination-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #444;\n  border-right: 1px solid #777;\n  margin: 3px 1px;\n}\n.pagination .pagination-num {\n  border-width: 1px;\n  border-style: solid;\n  margin: 0 2px;\n  padding: 2px;\n  width: 2em;\n  height: auto;\n}\n.pagination-page-list {\n  margin: 0px 6px;\n  padding: 1px 2px;\n  width: auto;\n  height: auto;\n  border-width: 1px;\n  border-style: solid;\n}\n.pagination-info {\n  float: right;\n  margin: 0 6px 0 0;\n  padding: 0;\n  height: 30px;\n  line-height: 30px;\n  font-size: 12px;\n}\n.pagination span {\n  font-size: 12px;\n}\n.pagination-link .l-btn-text {\n  width: 24px;\n  text-align: center;\n  margin: 0;\n}\n.pagination-first {\n  background: url('images/pagination_icons.png') no-repeat 0 center;\n}\n.pagination-prev {\n  background: url('images/pagination_icons.png') no-repeat -16px center;\n}\n.pagination-next {\n  background: url('images/pagination_icons.png') no-repeat -32px center;\n}\n.pagination-last {\n  background: url('images/pagination_icons.png') no-repeat -48px center;\n}\n.pagination-load {\n  background: url('images/pagination_icons.png') no-repeat -64px center;\n}\n.pagination-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.pagination-page-list,\n.pagination .pagination-num {\n  border-color: #000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/panel.css",
    "content": ".panel {\n  overflow: hidden;\n  text-align: left;\n  margin: 0;\n  border: 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.panel-header,\n.panel-body {\n  border-width: 1px;\n  border-style: solid;\n}\n.panel-header {\n  padding: 5px;\n  position: relative;\n}\n.panel-title {\n  background: url('images/blank.gif') no-repeat;\n}\n.panel-header-noborder {\n  border-width: 0 0 1px 0;\n}\n.panel-body {\n  overflow: auto;\n  border-top-width: 0;\n  padding: 0;\n}\n.panel-body-noheader {\n  border-top-width: 1px;\n}\n.panel-body-noborder {\n  border-width: 0px;\n}\n.panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.panel-with-icon {\n  padding-left: 18px;\n}\n.panel-icon,\n.panel-tool {\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  height: 16px;\n  overflow: hidden;\n}\n.panel-icon {\n  left: 5px;\n  width: 16px;\n}\n.panel-tool {\n  right: 5px;\n  width: auto;\n}\n.panel-tool a {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  margin: 0 0 0 2px;\n  vertical-align: top;\n}\n.panel-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  background-color: #777;\n  -moz-border-radius: 3px 3px 3px 3px;\n  -webkit-border-radius: 3px 3px 3px 3px;\n  border-radius: 3px 3px 3px 3px;\n}\n.panel-loading {\n  padding: 11px 0px 10px 30px;\n}\n.panel-noscroll {\n  overflow: hidden;\n}\n.panel-fit,\n.panel-fit body {\n  height: 100%;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  overflow: hidden;\n}\n.panel-loading {\n  background: url('images/loading.gif') no-repeat 10px 10px;\n}\n.panel-tool-close {\n  background: url('images/panel_tools.png') no-repeat -16px 0px;\n}\n.panel-tool-min {\n  background: url('images/panel_tools.png') no-repeat 0px 0px;\n}\n.panel-tool-max {\n  background: url('images/panel_tools.png') no-repeat 0px -16px;\n}\n.panel-tool-restore {\n  background: url('images/panel_tools.png') no-repeat -16px -16px;\n}\n.panel-tool-collapse {\n  background: url('images/panel_tools.png') no-repeat -32px 0;\n}\n.panel-tool-expand {\n  background: url('images/panel_tools.png') no-repeat -32px -16px;\n}\n.panel-header,\n.panel-body {\n  border-color: #000;\n}\n.panel-header {\n  background-color: #3d3d3d;\n  background: -webkit-linear-gradient(top,#454545 0,#383838 100%);\n  background: -moz-linear-gradient(top,#454545 0,#383838 100%);\n  background: -o-linear-gradient(top,#454545 0,#383838 100%);\n  background: linear-gradient(to bottom,#454545 0,#383838 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0);\n}\n.panel-body {\n  background-color: #666;\n  color: #fff;\n  font-size: 12px;\n}\n.panel-title {\n  font-size: 12px;\n  font-weight: bold;\n  color: #fff;\n  height: 16px;\n  line-height: 16px;\n}\n.panel-footer {\n  border: 1px solid #000;\n  overflow: hidden;\n  background: #555;\n}\n.panel-footer-noborder {\n  border-width: 1px 0 0 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/progressbar.css",
    "content": ".progressbar {\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  overflow: hidden;\n  position: relative;\n}\n.progressbar-text {\n  text-align: center;\n  position: absolute;\n}\n.progressbar-value {\n  position: relative;\n  overflow: hidden;\n  width: 0;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.progressbar {\n  border-color: #000;\n}\n.progressbar-text {\n  color: #fff;\n  font-size: 12px;\n}\n.progressbar-value .progressbar-text {\n  background-color: #0052A3;\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/propertygrid.css",
    "content": ".propertygrid .datagrid-view1 .datagrid-body td {\n  padding-bottom: 1px;\n  border-width: 0 1px 0 0;\n}\n.propertygrid .datagrid-group {\n  height: 21px;\n  overflow: hidden;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.propertygrid .datagrid-group span {\n  font-weight: bold;\n}\n.propertygrid .datagrid-view1 .datagrid-body td {\n  border-color: #222;\n}\n.propertygrid .datagrid-view1 .datagrid-group {\n  border-color: #3d3d3d;\n}\n.propertygrid .datagrid-view2 .datagrid-group {\n  border-color: #222;\n}\n.propertygrid .datagrid-group,\n.propertygrid .datagrid-view1 .datagrid-body,\n.propertygrid .datagrid-view1 .datagrid-row-over,\n.propertygrid .datagrid-view1 .datagrid-row-selected {\n  background: #3d3d3d;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/searchbox.css",
    "content": ".searchbox {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.searchbox .searchbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: top;\n}\n.searchbox .searchbox-prompt {\n  font-size: 12px;\n  color: #ccc;\n}\n.searchbox-button {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.searchbox-button-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.searchbox .l-btn-plain {\n  border: 0;\n  padding: 0;\n  vertical-align: top;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .l-btn-plain:hover {\n  border: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox a.m-btn-plain-active {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .m-btn-active {\n  border-width: 0 1px 0 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .textbox-button-right {\n  border-width: 0 0 0 1px;\n}\n.searchbox .textbox-button-left {\n  border-width: 0 1px 0 0;\n}\n.searchbox-button {\n  background: url('images/searchbox_button.png') no-repeat center center;\n}\n.searchbox {\n  border-color: #000;\n  background-color: #fff;\n}\n.searchbox .l-btn-plain {\n  background: #3d3d3d;\n}\n.searchbox .l-btn-plain-disabled,\n.searchbox .l-btn-plain-disabled:hover {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/slider.css",
    "content": ".slider-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.slider-h {\n  height: 22px;\n}\n.slider-v {\n  width: 22px;\n}\n.slider-inner {\n  position: relative;\n  height: 6px;\n  top: 7px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n}\n.slider-handle {\n  position: absolute;\n  display: block;\n  outline: none;\n  width: 20px;\n  height: 20px;\n  top: 50%;\n  margin-top: -10px;\n  margin-left: -10px;\n}\n.slider-tip {\n  position: absolute;\n  display: inline-block;\n  line-height: 12px;\n  font-size: 12px;\n  white-space: nowrap;\n  top: -22px;\n}\n.slider-rule {\n  position: relative;\n  top: 15px;\n}\n.slider-rule span {\n  position: absolute;\n  display: inline-block;\n  font-size: 0;\n  height: 5px;\n  border-width: 0 0 0 1px;\n  border-style: solid;\n}\n.slider-rulelabel {\n  position: relative;\n  top: 20px;\n}\n.slider-rulelabel span {\n  position: absolute;\n  display: inline-block;\n  font-size: 12px;\n}\n.slider-v .slider-inner {\n  width: 6px;\n  left: 7px;\n  top: 0;\n  float: left;\n}\n.slider-v .slider-handle {\n  left: 50%;\n  margin-top: -10px;\n}\n.slider-v .slider-tip {\n  left: -10px;\n  margin-top: -6px;\n}\n.slider-v .slider-rule {\n  float: left;\n  top: 0;\n  left: 16px;\n}\n.slider-v .slider-rule span {\n  width: 5px;\n  height: 'auto';\n  border-left: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.slider-v .slider-rulelabel {\n  float: left;\n  top: 0;\n  left: 23px;\n}\n.slider-handle {\n  background: url('images/slider_handle.png') no-repeat;\n}\n.slider-inner {\n  border-color: #000;\n  background: #3d3d3d;\n}\n.slider-rule span {\n  border-color: #000;\n}\n.slider-rulelabel span {\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/spinner.css",
    "content": ".spinner {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.spinner .spinner-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: baseline;\n}\n.spinner-arrow {\n  background-color: #3d3d3d;\n  display: inline-block;\n  overflow: hidden;\n  vertical-align: top;\n  margin: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  width: 18px;\n}\n.spinner-arrow-up,\n.spinner-arrow-down {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  display: block;\n  font-size: 1px;\n  width: 18px;\n  height: 10px;\n  width: 100%;\n  height: 50%;\n  outline-style: none;\n}\n.spinner-arrow-hover {\n  background-color: #777;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.spinner-arrow-up:hover,\n.spinner-arrow-down:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  background-color: #777;\n}\n.textbox-icon-disabled .spinner-arrow-up:hover,\n.textbox-icon-disabled .spinner-arrow-down:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  background-color: #3d3d3d;\n  cursor: default;\n}\n.spinner .textbox-icon-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.spinner-arrow-up {\n  background: url('images/spinner_arrows.png') no-repeat 1px center;\n}\n.spinner-arrow-down {\n  background: url('images/spinner_arrows.png') no-repeat -15px center;\n}\n.spinner {\n  border-color: #000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/splitbutton.css",
    "content": ".s-btn:hover .m-btn-line,\n.s-btn-active .m-btn-line,\n.s-btn-plain-active .m-btn-line {\n  display: inline-block;\n}\n.l-btn:hover .s-btn-downarrow,\n.s-btn-active .s-btn-downarrow,\n.s-btn-plain-active .s-btn-downarrow {\n  border-style: solid;\n  border-color: #cccccc;\n  border-width: 0 0 0 1px;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/tabs.css",
    "content": ".tabs-container {\n  overflow: hidden;\n}\n.tabs-header {\n  border-width: 1px;\n  border-style: solid;\n  border-bottom-width: 0;\n  position: relative;\n  padding: 0;\n  padding-top: 2px;\n  overflow: hidden;\n}\n.tabs-header-plain {\n  border: 0;\n  background: transparent;\n}\n.tabs-scroller-left,\n.tabs-scroller-right {\n  position: absolute;\n  top: auto;\n  bottom: 0;\n  width: 18px;\n  font-size: 1px;\n  display: none;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-scroller-left {\n  left: 0;\n}\n.tabs-scroller-right {\n  right: 0;\n}\n.tabs-tool {\n  position: absolute;\n  bottom: 0;\n  padding: 1px;\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-header-plain .tabs-tool {\n  padding: 0 1px;\n}\n.tabs-wrap {\n  position: relative;\n  left: 0;\n  overflow: hidden;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n}\n.tabs-scrolling {\n  margin-left: 18px;\n  margin-right: 18px;\n}\n.tabs-disabled {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.tabs {\n  list-style-type: none;\n  height: 26px;\n  margin: 0px;\n  padding: 0px;\n  padding-left: 4px;\n  width: 50000px;\n  border-style: solid;\n  border-width: 0 0 1px 0;\n}\n.tabs li {\n  float: left;\n  display: inline-block;\n  margin: 0 4px -1px 0;\n  padding: 0;\n  position: relative;\n  border: 0;\n}\n.tabs li a.tabs-inner {\n  display: inline-block;\n  text-decoration: none;\n  margin: 0;\n  padding: 0 10px;\n  height: 25px;\n  line-height: 25px;\n  text-align: center;\n  white-space: nowrap;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 0 0;\n  -webkit-border-radius: 5px 5px 0 0;\n  border-radius: 5px 5px 0 0;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  font-weight: bold;\n  outline: none;\n}\n.tabs li.tabs-selected a:hover.tabs-inner {\n  cursor: default;\n  pointer: default;\n}\n.tabs li a.tabs-close,\n.tabs-p-tool {\n  position: absolute;\n  font-size: 1px;\n  display: block;\n  height: 12px;\n  padding: 0;\n  top: 50%;\n  margin-top: -6px;\n  overflow: hidden;\n}\n.tabs li a.tabs-close {\n  width: 12px;\n  right: 5px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs-p-tool {\n  right: 16px;\n}\n.tabs-p-tool a {\n  display: inline-block;\n  font-size: 1px;\n  width: 12px;\n  height: 12px;\n  margin: 0;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs li a:hover.tabs-close,\n.tabs-p-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  cursor: hand;\n  cursor: pointer;\n}\n.tabs-with-icon {\n  padding-left: 18px;\n}\n.tabs-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 10px;\n  top: 50%;\n  margin-top: -8px;\n}\n.tabs-title {\n  font-size: 12px;\n}\n.tabs-closable {\n  padding-right: 8px;\n}\n.tabs-panels {\n  margin: 0px;\n  padding: 0px;\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0;\n  overflow: hidden;\n}\n.tabs-header-bottom {\n  border-width: 0 1px 1px 1px;\n  padding: 0 0 2px 0;\n}\n.tabs-header-bottom .tabs {\n  border-width: 1px 0 0 0;\n}\n.tabs-header-bottom .tabs li {\n  margin: -1px 4px 0 0;\n}\n.tabs-header-bottom .tabs li a.tabs-inner {\n  -moz-border-radius: 0 0 5px 5px;\n  -webkit-border-radius: 0 0 5px 5px;\n  border-radius: 0 0 5px 5px;\n}\n.tabs-header-bottom .tabs-tool {\n  top: 0;\n}\n.tabs-header-bottom .tabs-scroller-left,\n.tabs-header-bottom .tabs-scroller-right {\n  top: 0;\n  bottom: auto;\n}\n.tabs-panels-top {\n  border-width: 1px 1px 0 1px;\n}\n.tabs-header-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n  padding: 0;\n}\n.tabs-header-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n  padding: 0;\n}\n.tabs-header-left .tabs-wrap,\n.tabs-header-right .tabs-wrap {\n  height: 100%;\n}\n.tabs-header-left .tabs {\n  height: 100%;\n  padding: 4px 0 0 4px;\n  border-width: 0 1px 0 0;\n}\n.tabs-header-right .tabs {\n  height: 100%;\n  padding: 4px 4px 0 0;\n  border-width: 0 0 0 1px;\n}\n.tabs-header-left .tabs li,\n.tabs-header-right .tabs li {\n  display: block;\n  width: 100%;\n  position: relative;\n}\n.tabs-header-left .tabs li {\n  left: auto;\n  right: 0;\n  margin: 0 -1px 4px 0;\n  float: right;\n}\n.tabs-header-right .tabs li {\n  left: 0;\n  right: auto;\n  margin: 0 0 4px -1px;\n  float: left;\n}\n.tabs-header-left .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.tabs-header-right .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 0 5px 5px 0;\n  -webkit-border-radius: 0 5px 5px 0;\n  border-radius: 0 5px 5px 0;\n}\n.tabs-panels-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n}\n.tabs-panels-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n}\n.tabs-header-noborder,\n.tabs-panels-noborder {\n  border: 0px;\n}\n.tabs-header-plain {\n  border: 0px;\n  background: transparent;\n}\n.tabs-scroller-left {\n  background: #3d3d3d url('images/tabs_icons.png') no-repeat 1px center;\n}\n.tabs-scroller-right {\n  background: #3d3d3d url('images/tabs_icons.png') no-repeat -15px center;\n}\n.tabs li a.tabs-close {\n  background: url('images/tabs_icons.png') no-repeat -34px center;\n}\n.tabs li a.tabs-inner:hover {\n  background: #777;\n  color: #fff;\n  filter: none;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  background-color: #666;\n  color: #fff;\n  background: -webkit-linear-gradient(top,#454545 0,#666 100%);\n  background: -moz-linear-gradient(top,#454545 0,#666 100%);\n  background: -o-linear-gradient(top,#454545 0,#666 100%);\n  background: linear-gradient(to bottom,#454545 0,#666 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=0);\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(top,#666 0,#454545 100%);\n  background: -moz-linear-gradient(top,#666 0,#454545 100%);\n  background: -o-linear-gradient(top,#666 0,#454545 100%);\n  background: linear-gradient(to bottom,#666 0,#454545 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=0);\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#454545 0,#666 100%);\n  background: -moz-linear-gradient(left,#454545 0,#666 100%);\n  background: -o-linear-gradient(left,#454545 0,#666 100%);\n  background: linear-gradient(to right,#454545 0,#666 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=1);\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#666 0,#454545 100%);\n  background: -moz-linear-gradient(left,#666 0,#454545 100%);\n  background: -o-linear-gradient(left,#666 0,#454545 100%);\n  background: linear-gradient(to right,#666 0,#454545 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=1);\n}\n.tabs li a.tabs-inner {\n  color: #fff;\n  background-color: #3d3d3d;\n  background: -webkit-linear-gradient(top,#454545 0,#383838 100%);\n  background: -moz-linear-gradient(top,#454545 0,#383838 100%);\n  background: -o-linear-gradient(top,#454545 0,#383838 100%);\n  background: linear-gradient(to bottom,#454545 0,#383838 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0);\n}\n.tabs-header,\n.tabs-tool {\n  background-color: #3d3d3d;\n}\n.tabs-header-plain {\n  background: transparent;\n}\n.tabs-header,\n.tabs-scroller-left,\n.tabs-scroller-right,\n.tabs-tool,\n.tabs,\n.tabs-panels,\n.tabs li a.tabs-inner,\n.tabs li.tabs-selected a.tabs-inner,\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-color: #000;\n}\n.tabs-p-tool a:hover,\n.tabs li a:hover.tabs-close,\n.tabs-scroller-over {\n  background-color: #777;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  border-bottom: 1px solid #666;\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  border-top: 1px solid #666;\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  border-right: 1px solid #666;\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-left: 1px solid #666;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/textbox.css",
    "content": ".textbox {\n  position: relative;\n  border: 1px solid #000;\n  background-color: #fff;\n  vertical-align: middle;\n  display: inline-block;\n  overflow: hidden;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 4px;\n  white-space: normal;\n  vertical-align: top;\n  outline-style: none;\n  resize: none;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-prompt {\n  font-size: 12px;\n  color: #aaa;\n}\n.textbox-button,\n.textbox-button:hover {\n  position: absolute;\n  top: 0;\n  padding: 0;\n  vertical-align: top;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.textbox-button-right,\n.textbox-button-right:hover {\n  border-width: 0 0 0 1px;\n}\n.textbox-button-left,\n.textbox-button-left:hover {\n  border-width: 0 1px 0 0;\n}\n.textbox-addon {\n  position: absolute;\n  top: 0;\n}\n.textbox-icon {\n  display: inline-block;\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  vertical-align: top;\n  background-position: center center;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  text-decoration: none;\n  outline-style: none;\n}\n.textbox-icon-disabled,\n.textbox-icon-readonly {\n  cursor: default;\n}\n.textbox-icon:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.textbox-icon-disabled:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.textbox-focused {\n  -moz-box-shadow: 0 0 3px 0 #000;\n  -webkit-box-shadow: 0 0 3px 0 #000;\n  box-shadow: 0 0 3px 0 #000;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/tooltip.css",
    "content": ".tooltip {\n  position: absolute;\n  display: none;\n  z-index: 9900000;\n  outline: none;\n  opacity: 1;\n  filter: alpha(opacity=100);\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.tooltip-content {\n  font-size: 12px;\n}\n.tooltip-arrow-outer,\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  line-height: 0;\n  font-size: 0;\n  border-style: solid;\n  border-width: 6px;\n  border-color: transparent;\n  _border-color: tomato;\n  _filter: chroma(color=tomato);\n}\n.tooltip-right .tooltip-arrow-outer {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -13px;\n}\n.tooltip-right .tooltip-arrow {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -12px;\n}\n.tooltip-left .tooltip-arrow-outer {\n  right: 0;\n  top: 50%;\n  margin: -6px -13px 0 0;\n}\n.tooltip-left .tooltip-arrow {\n  right: 0;\n  top: 50%;\n  margin: -6px -12px 0 0;\n}\n.tooltip-top .tooltip-arrow-outer {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -13px -6px;\n}\n.tooltip-top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -12px -6px;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  top: 0;\n  left: 50%;\n  margin: -13px 0 0 -6px;\n}\n.tooltip-bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin: -12px 0 0 -6px;\n}\n.tooltip {\n  background-color: #666;\n  border-color: #000;\n  color: #fff;\n}\n.tooltip-right .tooltip-arrow-outer {\n  border-right-color: #000;\n}\n.tooltip-right .tooltip-arrow {\n  border-right-color: #666;\n}\n.tooltip-left .tooltip-arrow-outer {\n  border-left-color: #000;\n}\n.tooltip-left .tooltip-arrow {\n  border-left-color: #666;\n}\n.tooltip-top .tooltip-arrow-outer {\n  border-top-color: #000;\n}\n.tooltip-top .tooltip-arrow {\n  border-top-color: #666;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  border-bottom-color: #000;\n}\n.tooltip-bottom .tooltip-arrow {\n  border-bottom-color: #666;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/tree.css",
    "content": ".tree {\n  margin: 0;\n  padding: 0;\n  list-style-type: none;\n}\n.tree li {\n  white-space: nowrap;\n}\n.tree li ul {\n  list-style-type: none;\n  margin: 0;\n  padding: 0;\n}\n.tree-node {\n  height: 18px;\n  white-space: nowrap;\n  cursor: pointer;\n}\n.tree-hit {\n  cursor: pointer;\n}\n.tree-expanded,\n.tree-collapsed,\n.tree-folder,\n.tree-file,\n.tree-checkbox,\n.tree-indent {\n  display: inline-block;\n  width: 16px;\n  height: 18px;\n  vertical-align: top;\n  overflow: hidden;\n}\n.tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -18px 0px;\n}\n.tree-expanded-hover {\n  background: url('images/tree_icons.png') no-repeat -50px 0px;\n}\n.tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat 0px 0px;\n}\n.tree-collapsed-hover {\n  background: url('images/tree_icons.png') no-repeat -32px 0px;\n}\n.tree-lines .tree-expanded,\n.tree-lines .tree-root-first .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -144px 0;\n}\n.tree-lines .tree-collapsed,\n.tree-lines .tree-root-first .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -128px 0;\n}\n.tree-lines .tree-node-last .tree-expanded,\n.tree-lines .tree-root-one .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -80px 0;\n}\n.tree-lines .tree-node-last .tree-collapsed,\n.tree-lines .tree-root-one .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -64px 0;\n}\n.tree-line {\n  background: url('images/tree_icons.png') no-repeat -176px 0;\n}\n.tree-join {\n  background: url('images/tree_icons.png') no-repeat -192px 0;\n}\n.tree-joinbottom {\n  background: url('images/tree_icons.png') no-repeat -160px 0;\n}\n.tree-folder {\n  background: url('images/tree_icons.png') no-repeat -208px 0;\n}\n.tree-folder-open {\n  background: url('images/tree_icons.png') no-repeat -224px 0;\n}\n.tree-file {\n  background: url('images/tree_icons.png') no-repeat -240px 0;\n}\n.tree-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.tree-checkbox0 {\n  background: url('images/tree_icons.png') no-repeat -208px -18px;\n}\n.tree-checkbox1 {\n  background: url('images/tree_icons.png') no-repeat -224px -18px;\n}\n.tree-checkbox2 {\n  background: url('images/tree_icons.png') no-repeat -240px -18px;\n}\n.tree-title {\n  font-size: 12px;\n  display: inline-block;\n  text-decoration: none;\n  vertical-align: top;\n  white-space: nowrap;\n  padding: 0 2px;\n  height: 18px;\n  line-height: 18px;\n}\n.tree-node-proxy {\n  font-size: 12px;\n  line-height: 20px;\n  padding: 0 2px 0 20px;\n  border-width: 1px;\n  border-style: solid;\n  z-index: 9900000;\n}\n.tree-dnd-icon {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 18px;\n  left: 2px;\n  top: 50%;\n  margin-top: -9px;\n}\n.tree-dnd-yes {\n  background: url('images/tree_icons.png') no-repeat -256px 0;\n}\n.tree-dnd-no {\n  background: url('images/tree_icons.png') no-repeat -256px -18px;\n}\n.tree-node-top {\n  border-top: 1px dotted red;\n}\n.tree-node-bottom {\n  border-bottom: 1px dotted red;\n}\n.tree-node-append .tree-title {\n  border: 1px dotted red;\n}\n.tree-editor {\n  border: 1px solid #ccc;\n  font-size: 12px;\n  height: 14px !important;\n  height: 18px;\n  line-height: 14px;\n  padding: 1px 2px;\n  width: 80px;\n  position: absolute;\n  top: 0;\n}\n.tree-node-proxy {\n  background-color: #666;\n  color: #fff;\n  border-color: #000;\n}\n.tree-node-hover {\n  background: #777;\n  color: #fff;\n}\n.tree-node-selected {\n  background: #0052A3;\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/validatebox.css",
    "content": ".validatebox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n  color: #000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/black/window.css",
    "content": ".window {\n  overflow: hidden;\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n}\n.window .window-header {\n  background: transparent;\n  padding: 0px 0px 6px 0px;\n}\n.window .window-body {\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0px;\n}\n.window .window-body-noheader {\n  border-top-width: 1px;\n}\n.window .panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.window .window-header .panel-icon,\n.window .window-header .panel-tool {\n  top: 50%;\n  margin-top: -11px;\n}\n.window .window-header .panel-icon {\n  left: 1px;\n}\n.window .window-header .panel-tool {\n  right: 1px;\n}\n.window .window-header .panel-with-icon {\n  padding-left: 18px;\n}\n.window-proxy {\n  position: absolute;\n  overflow: hidden;\n}\n.window-proxy-mask {\n  position: absolute;\n  filter: alpha(opacity=5);\n  opacity: 0.05;\n}\n.window-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  filter: alpha(opacity=40);\n  opacity: 0.40;\n  font-size: 1px;\n  overflow: hidden;\n}\n.window,\n.window-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.window-shadow {\n  background: #777;\n  -moz-box-shadow: 2px 2px 3px #787878;\n  -webkit-box-shadow: 2px 2px 3px #787878;\n  box-shadow: 2px 2px 3px #787878;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.window,\n.window .window-body {\n  border-color: #000;\n}\n.window {\n  background-color: #3d3d3d;\n  background: -webkit-linear-gradient(top,#454545 0,#383838 20%);\n  background: -moz-linear-gradient(top,#454545 0,#383838 20%);\n  background: -o-linear-gradient(top,#454545 0,#383838 20%);\n  background: linear-gradient(to bottom,#454545 0,#383838 20%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0);\n}\n.window-proxy {\n  border: 1px dashed #000;\n}\n.window-proxy-mask,\n.window-mask {\n  background: #000;\n}\n.window .panel-footer {\n  border: 1px solid #000;\n  position: relative;\n  top: -1px;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/accordion.css",
    "content": ".accordion {\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.accordion .accordion-header {\n  border-width: 0 0 1px;\n  cursor: pointer;\n}\n.accordion .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-noborder {\n  border-width: 0;\n}\n.accordion-noborder .accordion-header {\n  border-width: 0 0 1px;\n}\n.accordion-noborder .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-collapse {\n  background: url('images/accordion_arrows.png') no-repeat 0 0;\n}\n.accordion-expand {\n  background: url('images/accordion_arrows.png') no-repeat -16px 0;\n}\n.accordion {\n  background: #ffffff;\n  border-color: #D4D4D4;\n}\n.accordion .accordion-header {\n  background: #F2F2F2;\n  filter: none;\n}\n.accordion .accordion-header-selected {\n  background: #0081c2;\n}\n.accordion .accordion-header-selected .panel-title {\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/calendar.css",
    "content": ".calendar {\n  border-width: 1px;\n  border-style: solid;\n  padding: 1px;\n  overflow: hidden;\n}\n.calendar table {\n  table-layout: fixed;\n  border-collapse: separate;\n  font-size: 12px;\n  width: 100%;\n  height: 100%;\n}\n.calendar table td,\n.calendar table th {\n  font-size: 12px;\n}\n.calendar-noborder {\n  border: 0;\n}\n.calendar-header {\n  position: relative;\n  height: 22px;\n}\n.calendar-title {\n  text-align: center;\n  height: 22px;\n}\n.calendar-title span {\n  position: relative;\n  display: inline-block;\n  top: 2px;\n  padding: 0 3px;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth,\n.calendar-nextmonth,\n.calendar-prevyear,\n.calendar-nextyear {\n  position: absolute;\n  top: 50%;\n  margin-top: -7px;\n  width: 14px;\n  height: 14px;\n  cursor: pointer;\n  font-size: 1px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth {\n  left: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -18px -2px;\n}\n.calendar-nextmonth {\n  right: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -34px -2px;\n}\n.calendar-prevyear {\n  left: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -1px -2px;\n}\n.calendar-nextyear {\n  right: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -49px -2px;\n}\n.calendar-body {\n  position: relative;\n}\n.calendar-body th,\n.calendar-body td {\n  text-align: center;\n}\n.calendar-day {\n  border: 0;\n  padding: 1px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-other-month {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.calendar-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  cursor: default;\n}\n.calendar-menu {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 180px;\n  height: 150px;\n  padding: 5px;\n  font-size: 12px;\n  display: none;\n  overflow: hidden;\n}\n.calendar-menu-year-inner {\n  text-align: center;\n  padding-bottom: 5px;\n}\n.calendar-menu-year {\n  width: 40px;\n  text-align: center;\n  border-width: 1px;\n  border-style: solid;\n  margin: 0;\n  padding: 2px;\n  font-weight: bold;\n  font-size: 12px;\n}\n.calendar-menu-prev,\n.calendar-menu-next {\n  display: inline-block;\n  width: 21px;\n  height: 21px;\n  vertical-align: top;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-menu-prev {\n  margin-right: 10px;\n  background: url('images/calendar_arrows.png') no-repeat 2px 2px;\n}\n.calendar-menu-next {\n  margin-left: 10px;\n  background: url('images/calendar_arrows.png') no-repeat -45px 2px;\n}\n.calendar-menu-month {\n  text-align: center;\n  cursor: pointer;\n  font-weight: bold;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-body th,\n.calendar-menu-month {\n  color: #808080;\n}\n.calendar-day {\n  color: #333;\n}\n.calendar-sunday {\n  color: #CC2222;\n}\n.calendar-saturday {\n  color: #00ee00;\n}\n.calendar-today {\n  color: #0000ff;\n}\n.calendar-menu-year {\n  border-color: #D4D4D4;\n}\n.calendar {\n  border-color: #D4D4D4;\n}\n.calendar-header {\n  background: #F2F2F2;\n}\n.calendar-body,\n.calendar-menu {\n  background: #ffffff;\n}\n.calendar-body th {\n  background: #F5F5F5;\n  padding: 2px 0;\n}\n.calendar-hover,\n.calendar-nav-hover,\n.calendar-menu-hover {\n  background-color: #e6e6e6;\n  color: #00438a;\n}\n.calendar-hover {\n  border: 1px solid #ddd;\n  padding: 0;\n}\n.calendar-selected {\n  background-color: #0081c2;\n  color: #fff;\n  border: 1px solid #0070a9;\n  padding: 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/combo.css",
    "content": ".combo {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.combo .combo-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0px 2px;\n  vertical-align: baseline;\n}\n.combo-arrow {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.combo-arrow-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.combo-panel {\n  overflow: auto;\n}\n.combo-arrow {\n  background: url('images/combo_arrow.png') no-repeat center center;\n}\n.combo-panel {\n  background-color: #ffffff;\n}\n.combo {\n  border-color: #D4D4D4;\n  background-color: #fff;\n}\n.combo-arrow {\n  background-color: #F2F2F2;\n}\n.combo-arrow-hover {\n  background-color: #e6e6e6;\n}\n.combo-arrow:hover {\n  background-color: #e6e6e6;\n}\n.combo .textbox-icon-disabled:hover {\n  cursor: default;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/combobox.css",
    "content": ".combobox-item,\n.combobox-group {\n  font-size: 12px;\n  padding: 3px;\n  padding-right: 0px;\n}\n.combobox-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.combobox-gitem {\n  padding-left: 10px;\n}\n.combobox-group {\n  font-weight: bold;\n}\n.combobox-item-hover {\n  background-color: #e6e6e6;\n  color: #00438a;\n}\n.combobox-item-selected {\n  background-color: #0081c2;\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/datagrid.css",
    "content": ".datagrid .panel-body {\n  overflow: hidden;\n  position: relative;\n}\n.datagrid-view {\n  position: relative;\n  overflow: hidden;\n}\n.datagrid-view1,\n.datagrid-view2 {\n  position: absolute;\n  overflow: hidden;\n  top: 0;\n}\n.datagrid-view1 {\n  left: 0;\n}\n.datagrid-view2 {\n  right: 0;\n}\n.datagrid-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n  display: none;\n}\n.datagrid-mask-msg {\n  position: absolute;\n  top: 50%;\n  margin-top: -20px;\n  padding: 10px 5px 10px 30px;\n  width: auto;\n  height: 16px;\n  border-width: 2px;\n  border-style: solid;\n  display: none;\n}\n.datagrid-sort-icon {\n  padding: 0;\n}\n.datagrid-toolbar {\n  height: auto;\n  padding: 1px 2px;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.datagrid .datagrid-pager {\n  display: block;\n  margin: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.datagrid .datagrid-pager-top {\n  border-width: 0 0 1px 0;\n}\n.datagrid-header {\n  overflow: hidden;\n  cursor: default;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-header-inner {\n  float: left;\n  width: 10000px;\n}\n.datagrid-header-row,\n.datagrid-row {\n  height: 25px;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-width: 0 1px 1px 0;\n  border-style: dotted;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-cell,\n.datagrid-cell-group,\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  margin: 0;\n  padding: 0 4px;\n  white-space: nowrap;\n  word-wrap: normal;\n  overflow: hidden;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n}\n.datagrid-header .datagrid-cell {\n  height: auto;\n}\n.datagrid-header .datagrid-cell span {\n  font-size: 12px;\n}\n.datagrid-cell-group {\n  text-align: center;\n}\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  width: 25px;\n  text-align: center;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body {\n  margin: 0;\n  padding: 0;\n  overflow: auto;\n  zoom: 1;\n}\n.datagrid-view1 .datagrid-body-inner {\n  padding-bottom: 20px;\n}\n.datagrid-view1 .datagrid-body {\n  overflow: hidden;\n}\n.datagrid-footer {\n  overflow: hidden;\n}\n.datagrid-footer-inner {\n  border-width: 1px 0 0 0;\n  border-style: solid;\n  width: 10000px;\n  float: left;\n}\n.datagrid-row-editing .datagrid-cell {\n  height: auto;\n}\n.datagrid-header-check,\n.datagrid-cell-check {\n  padding: 0;\n  width: 27px;\n  height: 18px;\n  font-size: 1px;\n  text-align: center;\n  overflow: hidden;\n}\n.datagrid-header-check input,\n.datagrid-cell-check input {\n  margin: 0;\n  padding: 0;\n  width: 15px;\n  height: 18px;\n}\n.datagrid-resize-proxy {\n  position: absolute;\n  width: 1px;\n  height: 10000px;\n  top: 0;\n  cursor: e-resize;\n  display: none;\n}\n.datagrid-body .datagrid-editable {\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body .datagrid-editable table {\n  width: 100%;\n  height: 100%;\n}\n.datagrid-body .datagrid-editable td {\n  border: 0;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-view .datagrid-editable-input {\n  margin: 0;\n  padding: 2px 4px;\n  border: 1px solid #D4D4D4;\n  font-size: 12px;\n  outline-style: none;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.datagrid-sort-desc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat -16px center;\n}\n.datagrid-sort-asc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat 0px center;\n}\n.datagrid-row-collapse {\n  background: url('images/datagrid_icons.png') no-repeat -48px center;\n}\n.datagrid-row-expand {\n  background: url('images/datagrid_icons.png') no-repeat -32px center;\n}\n.datagrid-mask-msg {\n  background: #ffffff url('images/loading.gif') no-repeat scroll 5px center;\n}\n.datagrid-header,\n.datagrid-td-rownumber {\n  background-color: #F2F2F2;\n  background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0);\n}\n.datagrid-cell-rownumber {\n  color: #333;\n}\n.datagrid-resize-proxy {\n  background: #bbb;\n}\n.datagrid-mask {\n  background: #ccc;\n}\n.datagrid-mask-msg {\n  border-color: #D4D4D4;\n}\n.datagrid-toolbar,\n.datagrid-pager {\n  background: #F5F5F5;\n}\n.datagrid-header,\n.datagrid-toolbar,\n.datagrid-pager,\n.datagrid-footer-inner {\n  border-color: #e6e6e6;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-color: #ccc;\n}\n.datagrid-htable,\n.datagrid-btable,\n.datagrid-ftable {\n  color: #333;\n  border-collapse: separate;\n}\n.datagrid-row-alt {\n  background: #F5F5F5;\n}\n.datagrid-row-over,\n.datagrid-header td.datagrid-header-over {\n  background: #e6e6e6;\n  color: #00438a;\n  cursor: default;\n}\n.datagrid-row-selected {\n  background: #0081c2;\n  color: #fff;\n}\n.datagrid-row-editing .textbox,\n.datagrid-row-editing .textbox-text {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/datebox.css",
    "content": ".datebox-calendar-inner {\n  height: 180px;\n}\n.datebox-button {\n  height: 18px;\n  padding: 2px 5px;\n  text-align: center;\n}\n.datebox-button a {\n  font-size: 12px;\n  font-weight: bold;\n  text-decoration: none;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.datebox-button a:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.datebox-current,\n.datebox-close {\n  float: left;\n}\n.datebox-close {\n  float: right;\n}\n.datebox .combo-arrow {\n  background-image: url('images/datebox_arrow.png');\n  background-position: center center;\n}\n.datebox-button {\n  background-color: #F5F5F5;\n}\n.datebox-button a {\n  color: #444;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/dialog.css",
    "content": ".dialog-content {\n  overflow: auto;\n}\n.dialog-toolbar {\n  padding: 2px 5px;\n}\n.dialog-tool-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.dialog-button {\n  padding: 5px;\n  text-align: right;\n}\n.dialog-button .l-btn {\n  margin-left: 5px;\n}\n.dialog-toolbar,\n.dialog-button {\n  background: #F5F5F5;\n  border-width: 1px;\n  border-style: solid;\n}\n.dialog-toolbar {\n  border-color: #D4D4D4 #D4D4D4 #e6e6e6 #D4D4D4;\n}\n.dialog-button {\n  border-color: #e6e6e6 #D4D4D4 #D4D4D4 #D4D4D4;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/easyui.css",
    "content": ".panel {\n  overflow: hidden;\n  text-align: left;\n  margin: 0;\n  border: 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.panel-header,\n.panel-body {\n  border-width: 1px;\n  border-style: solid;\n}\n.panel-header {\n  padding: 5px;\n  position: relative;\n}\n.panel-title {\n  background: url('images/blank.gif') no-repeat;\n}\n.panel-header-noborder {\n  border-width: 0 0 1px 0;\n}\n.panel-body {\n  overflow: auto;\n  border-top-width: 0;\n  padding: 0;\n}\n.panel-body-noheader {\n  border-top-width: 1px;\n}\n.panel-body-noborder {\n  border-width: 0px;\n}\n.panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.panel-with-icon {\n  padding-left: 18px;\n}\n.panel-icon,\n.panel-tool {\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  height: 16px;\n  overflow: hidden;\n}\n.panel-icon {\n  left: 5px;\n  width: 16px;\n}\n.panel-tool {\n  right: 5px;\n  width: auto;\n}\n.panel-tool a {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  margin: 0 0 0 2px;\n  vertical-align: top;\n}\n.panel-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  background-color: #e6e6e6;\n  -moz-border-radius: 3px 3px 3px 3px;\n  -webkit-border-radius: 3px 3px 3px 3px;\n  border-radius: 3px 3px 3px 3px;\n}\n.panel-loading {\n  padding: 11px 0px 10px 30px;\n}\n.panel-noscroll {\n  overflow: hidden;\n}\n.panel-fit,\n.panel-fit body {\n  height: 100%;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  overflow: hidden;\n}\n.panel-loading {\n  background: url('images/loading.gif') no-repeat 10px 10px;\n}\n.panel-tool-close {\n  background: url('images/panel_tools.png') no-repeat -16px 0px;\n}\n.panel-tool-min {\n  background: url('images/panel_tools.png') no-repeat 0px 0px;\n}\n.panel-tool-max {\n  background: url('images/panel_tools.png') no-repeat 0px -16px;\n}\n.panel-tool-restore {\n  background: url('images/panel_tools.png') no-repeat -16px -16px;\n}\n.panel-tool-collapse {\n  background: url('images/panel_tools.png') no-repeat -32px 0;\n}\n.panel-tool-expand {\n  background: url('images/panel_tools.png') no-repeat -32px -16px;\n}\n.panel-header,\n.panel-body {\n  border-color: #D4D4D4;\n}\n.panel-header {\n  background-color: #F2F2F2;\n  background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0);\n}\n.panel-body {\n  background-color: #ffffff;\n  color: #333;\n  font-size: 12px;\n}\n.panel-title {\n  font-size: 12px;\n  font-weight: bold;\n  color: #777;\n  height: 16px;\n  line-height: 16px;\n}\n.panel-footer {\n  border: 1px solid #D4D4D4;\n  overflow: hidden;\n  background: #F5F5F5;\n}\n.panel-footer-noborder {\n  border-width: 1px 0 0 0;\n}\n.accordion {\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.accordion .accordion-header {\n  border-width: 0 0 1px;\n  cursor: pointer;\n}\n.accordion .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-noborder {\n  border-width: 0;\n}\n.accordion-noborder .accordion-header {\n  border-width: 0 0 1px;\n}\n.accordion-noborder .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-collapse {\n  background: url('images/accordion_arrows.png') no-repeat 0 0;\n}\n.accordion-expand {\n  background: url('images/accordion_arrows.png') no-repeat -16px 0;\n}\n.accordion {\n  background: #ffffff;\n  border-color: #D4D4D4;\n}\n.accordion .accordion-header {\n  background: #F2F2F2;\n  filter: none;\n}\n.accordion .accordion-header-selected {\n  background: #0081c2;\n}\n.accordion .accordion-header-selected .panel-title {\n  color: #fff;\n}\n.window {\n  overflow: hidden;\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n}\n.window .window-header {\n  background: transparent;\n  padding: 0px 0px 6px 0px;\n}\n.window .window-body {\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0px;\n}\n.window .window-body-noheader {\n  border-top-width: 1px;\n}\n.window .panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.window .window-header .panel-icon,\n.window .window-header .panel-tool {\n  top: 50%;\n  margin-top: -11px;\n}\n.window .window-header .panel-icon {\n  left: 1px;\n}\n.window .window-header .panel-tool {\n  right: 1px;\n}\n.window .window-header .panel-with-icon {\n  padding-left: 18px;\n}\n.window-proxy {\n  position: absolute;\n  overflow: hidden;\n}\n.window-proxy-mask {\n  position: absolute;\n  filter: alpha(opacity=5);\n  opacity: 0.05;\n}\n.window-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  filter: alpha(opacity=40);\n  opacity: 0.40;\n  font-size: 1px;\n  overflow: hidden;\n}\n.window,\n.window-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.window-shadow {\n  background: #ccc;\n  -moz-box-shadow: 2px 2px 3px #cccccc;\n  -webkit-box-shadow: 2px 2px 3px #cccccc;\n  box-shadow: 2px 2px 3px #cccccc;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.window,\n.window .window-body {\n  border-color: #D4D4D4;\n}\n.window {\n  background-color: #F2F2F2;\n  background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 20%);\n  background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 20%);\n  background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 20%);\n  background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 20%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0);\n}\n.window-proxy {\n  border: 1px dashed #D4D4D4;\n}\n.window-proxy-mask,\n.window-mask {\n  background: #ccc;\n}\n.window .panel-footer {\n  border: 1px solid #D4D4D4;\n  position: relative;\n  top: -1px;\n}\n.dialog-content {\n  overflow: auto;\n}\n.dialog-toolbar {\n  padding: 2px 5px;\n}\n.dialog-tool-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.dialog-button {\n  padding: 5px;\n  text-align: right;\n}\n.dialog-button .l-btn {\n  margin-left: 5px;\n}\n.dialog-toolbar,\n.dialog-button {\n  background: #F5F5F5;\n  border-width: 1px;\n  border-style: solid;\n}\n.dialog-toolbar {\n  border-color: #D4D4D4 #D4D4D4 #e6e6e6 #D4D4D4;\n}\n.dialog-button {\n  border-color: #e6e6e6 #D4D4D4 #D4D4D4 #D4D4D4;\n}\n.l-btn {\n  text-decoration: none;\n  display: inline-block;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  cursor: pointer;\n  outline: none;\n  text-align: center;\n  vertical-align: middle;\n}\n.l-btn-plain {\n  border: 0;\n  padding: 1px;\n}\n.l-btn-left {\n  display: inline-block;\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  vertical-align: top;\n}\n.l-btn-text {\n  display: inline-block;\n  vertical-align: top;\n  width: auto;\n  line-height: 24px;\n  font-size: 12px;\n  padding: 0;\n  margin: 0 4px;\n}\n.l-btn-icon {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  line-height: 16px;\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  font-size: 1px;\n}\n.l-btn span span .l-btn-empty {\n  display: inline-block;\n  margin: 0;\n  width: 16px;\n  height: 24px;\n  font-size: 1px;\n  vertical-align: top;\n}\n.l-btn span .l-btn-icon-left {\n  padding: 0 0 0 20px;\n  background-position: left center;\n}\n.l-btn span .l-btn-icon-right {\n  padding: 0 20px 0 0;\n  background-position: right center;\n}\n.l-btn-icon-left .l-btn-text {\n  margin: 0 4px 0 24px;\n}\n.l-btn-icon-left .l-btn-icon {\n  left: 4px;\n}\n.l-btn-icon-right .l-btn-text {\n  margin: 0 24px 0 4px;\n}\n.l-btn-icon-right .l-btn-icon {\n  right: 4px;\n}\n.l-btn-icon-top .l-btn-text {\n  margin: 20px 4px 0 4px;\n}\n.l-btn-icon-top .l-btn-icon {\n  top: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-icon-bottom .l-btn-text {\n  margin: 0 4px 20px 4px;\n}\n.l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 16px;\n}\n.l-btn-plain:hover {\n  padding: 0;\n}\n.l-btn-focus {\n  outline: #0000FF dotted thin;\n}\n.l-btn-large .l-btn-text {\n  line-height: 40px;\n}\n.l-btn-large .l-btn-icon {\n  width: 32px;\n  height: 32px;\n  line-height: 32px;\n  margin-top: -16px;\n}\n.l-btn-large .l-btn-icon-left .l-btn-text {\n  margin-left: 40px;\n}\n.l-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-text {\n  margin-top: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 32px;\n}\n.l-btn {\n  color: #444;\n  background: #f5f5f5;\n  background-repeat: repeat-x;\n  border: 1px solid #bbb;\n  background: -webkit-linear-gradient(top,#ffffff 0,#e6e6e6 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#e6e6e6 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#e6e6e6 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#e6e6e6 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#e6e6e6,GradientType=0);\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn:hover {\n  background: #e6e6e6;\n  color: #00438a;\n  border: 1px solid #ddd;\n  filter: none;\n}\n.l-btn-plain {\n  background: transparent;\n  border: 0;\n  filter: none;\n}\n.l-btn-plain:hover {\n  background: #e6e6e6;\n  color: #00438a;\n  border: 1px solid #ddd;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn-disabled,\n.l-btn-disabled:hover {\n  opacity: 0.5;\n  cursor: default;\n  background: #f5f5f5;\n  color: #444;\n  background: -webkit-linear-gradient(top,#ffffff 0,#e6e6e6 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#e6e6e6 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#e6e6e6 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#e6e6e6 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#e6e6e6,GradientType=0);\n}\n.l-btn-disabled .l-btn-text,\n.l-btn-disabled .l-btn-icon {\n  filter: alpha(opacity=50);\n}\n.l-btn-plain-disabled,\n.l-btn-plain-disabled:hover {\n  background: transparent;\n  filter: alpha(opacity=50);\n}\n.l-btn-selected,\n.l-btn-selected:hover {\n  background: #ddd;\n  filter: none;\n}\n.l-btn-plain-selected,\n.l-btn-plain-selected:hover {\n  background: #ddd;\n}\n.textbox {\n  position: relative;\n  border: 1px solid #D4D4D4;\n  background-color: #fff;\n  vertical-align: middle;\n  display: inline-block;\n  overflow: hidden;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 4px;\n  white-space: normal;\n  vertical-align: top;\n  outline-style: none;\n  resize: none;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-prompt {\n  font-size: 12px;\n  color: #aaa;\n}\n.textbox-button,\n.textbox-button:hover {\n  position: absolute;\n  top: 0;\n  padding: 0;\n  vertical-align: top;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.textbox-button-right,\n.textbox-button-right:hover {\n  border-width: 0 0 0 1px;\n}\n.textbox-button-left,\n.textbox-button-left:hover {\n  border-width: 0 1px 0 0;\n}\n.textbox-addon {\n  position: absolute;\n  top: 0;\n}\n.textbox-icon {\n  display: inline-block;\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  vertical-align: top;\n  background-position: center center;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  text-decoration: none;\n  outline-style: none;\n}\n.textbox-icon-disabled,\n.textbox-icon-readonly {\n  cursor: default;\n}\n.textbox-icon:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.textbox-icon-disabled:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.textbox-focused {\n  -moz-box-shadow: 0 0 3px 0 #D4D4D4;\n  -webkit-box-shadow: 0 0 3px 0 #D4D4D4;\n  box-shadow: 0 0 3px 0 #D4D4D4;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n.filebox .textbox-value {\n  vertical-align: top;\n  position: absolute;\n  top: 0;\n  left: -5000px;\n}\n.combo {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.combo .combo-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0px 2px;\n  vertical-align: baseline;\n}\n.combo-arrow {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.combo-arrow-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.combo-panel {\n  overflow: auto;\n}\n.combo-arrow {\n  background: url('images/combo_arrow.png') no-repeat center center;\n}\n.combo-panel {\n  background-color: #ffffff;\n}\n.combo {\n  border-color: #D4D4D4;\n  background-color: #fff;\n}\n.combo-arrow {\n  background-color: #F2F2F2;\n}\n.combo-arrow-hover {\n  background-color: #e6e6e6;\n}\n.combo-arrow:hover {\n  background-color: #e6e6e6;\n}\n.combo .textbox-icon-disabled:hover {\n  cursor: default;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n.combobox-item,\n.combobox-group {\n  font-size: 12px;\n  padding: 3px;\n  padding-right: 0px;\n}\n.combobox-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.combobox-gitem {\n  padding-left: 10px;\n}\n.combobox-group {\n  font-weight: bold;\n}\n.combobox-item-hover {\n  background-color: #e6e6e6;\n  color: #00438a;\n}\n.combobox-item-selected {\n  background-color: #0081c2;\n  color: #fff;\n}\n.layout {\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  z-index: 0;\n}\n.layout-panel {\n  position: absolute;\n  overflow: hidden;\n}\n.layout-panel-east,\n.layout-panel-west {\n  z-index: 2;\n}\n.layout-panel-north,\n.layout-panel-south {\n  z-index: 3;\n}\n.layout-expand {\n  position: absolute;\n  padding: 0px;\n  font-size: 1px;\n  cursor: pointer;\n  z-index: 1;\n}\n.layout-expand .panel-header,\n.layout-expand .panel-body {\n  background: transparent;\n  filter: none;\n  overflow: hidden;\n}\n.layout-expand .panel-header {\n  border-bottom-width: 0px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  position: absolute;\n  font-size: 1px;\n  display: none;\n  z-index: 5;\n}\n.layout-split-proxy-h {\n  width: 5px;\n  cursor: e-resize;\n}\n.layout-split-proxy-v {\n  height: 5px;\n  cursor: n-resize;\n}\n.layout-mask {\n  position: absolute;\n  background: #fafafa;\n  filter: alpha(opacity=10);\n  opacity: 0.10;\n  z-index: 4;\n}\n.layout-button-up {\n  background: url('images/layout_arrows.png') no-repeat -16px -16px;\n}\n.layout-button-down {\n  background: url('images/layout_arrows.png') no-repeat -16px 0;\n}\n.layout-button-left {\n  background: url('images/layout_arrows.png') no-repeat 0 0;\n}\n.layout-button-right {\n  background: url('images/layout_arrows.png') no-repeat 0 -16px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  background-color: #bbb;\n}\n.layout-split-north {\n  border-bottom: 5px solid #eee;\n}\n.layout-split-south {\n  border-top: 5px solid #eee;\n}\n.layout-split-east {\n  border-left: 5px solid #eee;\n}\n.layout-split-west {\n  border-right: 5px solid #eee;\n}\n.layout-expand {\n  background-color: #F2F2F2;\n}\n.layout-expand-over {\n  background-color: #F2F2F2;\n}\n.tabs-container {\n  overflow: hidden;\n}\n.tabs-header {\n  border-width: 1px;\n  border-style: solid;\n  border-bottom-width: 0;\n  position: relative;\n  padding: 0;\n  padding-top: 2px;\n  overflow: hidden;\n}\n.tabs-header-plain {\n  border: 0;\n  background: transparent;\n}\n.tabs-scroller-left,\n.tabs-scroller-right {\n  position: absolute;\n  top: auto;\n  bottom: 0;\n  width: 18px;\n  font-size: 1px;\n  display: none;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-scroller-left {\n  left: 0;\n}\n.tabs-scroller-right {\n  right: 0;\n}\n.tabs-tool {\n  position: absolute;\n  bottom: 0;\n  padding: 1px;\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-header-plain .tabs-tool {\n  padding: 0 1px;\n}\n.tabs-wrap {\n  position: relative;\n  left: 0;\n  overflow: hidden;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n}\n.tabs-scrolling {\n  margin-left: 18px;\n  margin-right: 18px;\n}\n.tabs-disabled {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.tabs {\n  list-style-type: none;\n  height: 26px;\n  margin: 0px;\n  padding: 0px;\n  padding-left: 4px;\n  width: 50000px;\n  border-style: solid;\n  border-width: 0 0 1px 0;\n}\n.tabs li {\n  float: left;\n  display: inline-block;\n  margin: 0 4px -1px 0;\n  padding: 0;\n  position: relative;\n  border: 0;\n}\n.tabs li a.tabs-inner {\n  display: inline-block;\n  text-decoration: none;\n  margin: 0;\n  padding: 0 10px;\n  height: 25px;\n  line-height: 25px;\n  text-align: center;\n  white-space: nowrap;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 0 0;\n  -webkit-border-radius: 5px 5px 0 0;\n  border-radius: 5px 5px 0 0;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  font-weight: bold;\n  outline: none;\n}\n.tabs li.tabs-selected a:hover.tabs-inner {\n  cursor: default;\n  pointer: default;\n}\n.tabs li a.tabs-close,\n.tabs-p-tool {\n  position: absolute;\n  font-size: 1px;\n  display: block;\n  height: 12px;\n  padding: 0;\n  top: 50%;\n  margin-top: -6px;\n  overflow: hidden;\n}\n.tabs li a.tabs-close {\n  width: 12px;\n  right: 5px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs-p-tool {\n  right: 16px;\n}\n.tabs-p-tool a {\n  display: inline-block;\n  font-size: 1px;\n  width: 12px;\n  height: 12px;\n  margin: 0;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs li a:hover.tabs-close,\n.tabs-p-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  cursor: hand;\n  cursor: pointer;\n}\n.tabs-with-icon {\n  padding-left: 18px;\n}\n.tabs-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 10px;\n  top: 50%;\n  margin-top: -8px;\n}\n.tabs-title {\n  font-size: 12px;\n}\n.tabs-closable {\n  padding-right: 8px;\n}\n.tabs-panels {\n  margin: 0px;\n  padding: 0px;\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0;\n  overflow: hidden;\n}\n.tabs-header-bottom {\n  border-width: 0 1px 1px 1px;\n  padding: 0 0 2px 0;\n}\n.tabs-header-bottom .tabs {\n  border-width: 1px 0 0 0;\n}\n.tabs-header-bottom .tabs li {\n  margin: -1px 4px 0 0;\n}\n.tabs-header-bottom .tabs li a.tabs-inner {\n  -moz-border-radius: 0 0 5px 5px;\n  -webkit-border-radius: 0 0 5px 5px;\n  border-radius: 0 0 5px 5px;\n}\n.tabs-header-bottom .tabs-tool {\n  top: 0;\n}\n.tabs-header-bottom .tabs-scroller-left,\n.tabs-header-bottom .tabs-scroller-right {\n  top: 0;\n  bottom: auto;\n}\n.tabs-panels-top {\n  border-width: 1px 1px 0 1px;\n}\n.tabs-header-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n  padding: 0;\n}\n.tabs-header-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n  padding: 0;\n}\n.tabs-header-left .tabs-wrap,\n.tabs-header-right .tabs-wrap {\n  height: 100%;\n}\n.tabs-header-left .tabs {\n  height: 100%;\n  padding: 4px 0 0 4px;\n  border-width: 0 1px 0 0;\n}\n.tabs-header-right .tabs {\n  height: 100%;\n  padding: 4px 4px 0 0;\n  border-width: 0 0 0 1px;\n}\n.tabs-header-left .tabs li,\n.tabs-header-right .tabs li {\n  display: block;\n  width: 100%;\n  position: relative;\n}\n.tabs-header-left .tabs li {\n  left: auto;\n  right: 0;\n  margin: 0 -1px 4px 0;\n  float: right;\n}\n.tabs-header-right .tabs li {\n  left: 0;\n  right: auto;\n  margin: 0 0 4px -1px;\n  float: left;\n}\n.tabs-header-left .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.tabs-header-right .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 0 5px 5px 0;\n  -webkit-border-radius: 0 5px 5px 0;\n  border-radius: 0 5px 5px 0;\n}\n.tabs-panels-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n}\n.tabs-panels-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n}\n.tabs-header-noborder,\n.tabs-panels-noborder {\n  border: 0px;\n}\n.tabs-header-plain {\n  border: 0px;\n  background: transparent;\n}\n.tabs-scroller-left {\n  background: #F2F2F2 url('images/tabs_icons.png') no-repeat 1px center;\n}\n.tabs-scroller-right {\n  background: #F2F2F2 url('images/tabs_icons.png') no-repeat -15px center;\n}\n.tabs li a.tabs-close {\n  background: url('images/tabs_icons.png') no-repeat -34px center;\n}\n.tabs li a.tabs-inner:hover {\n  background: #e6e6e6;\n  color: #00438a;\n  filter: none;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  background-color: #ffffff;\n  color: #777;\n  background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0);\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0);\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%);\n  background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%);\n  background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%);\n  background: linear-gradient(to right,#ffffff 0,#ffffff 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1);\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%);\n  background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%);\n  background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%);\n  background: linear-gradient(to right,#ffffff 0,#ffffff 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1);\n}\n.tabs li a.tabs-inner {\n  color: #777;\n  background-color: #F2F2F2;\n  background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0);\n}\n.tabs-header,\n.tabs-tool {\n  background-color: #F2F2F2;\n}\n.tabs-header-plain {\n  background: transparent;\n}\n.tabs-header,\n.tabs-scroller-left,\n.tabs-scroller-right,\n.tabs-tool,\n.tabs,\n.tabs-panels,\n.tabs li a.tabs-inner,\n.tabs li.tabs-selected a.tabs-inner,\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-color: #D4D4D4;\n}\n.tabs-p-tool a:hover,\n.tabs li a:hover.tabs-close,\n.tabs-scroller-over {\n  background-color: #e6e6e6;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  border-bottom: 1px solid #ffffff;\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  border-top: 1px solid #ffffff;\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  border-right: 1px solid #ffffff;\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-left: 1px solid #ffffff;\n}\n.datagrid .panel-body {\n  overflow: hidden;\n  position: relative;\n}\n.datagrid-view {\n  position: relative;\n  overflow: hidden;\n}\n.datagrid-view1,\n.datagrid-view2 {\n  position: absolute;\n  overflow: hidden;\n  top: 0;\n}\n.datagrid-view1 {\n  left: 0;\n}\n.datagrid-view2 {\n  right: 0;\n}\n.datagrid-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n  display: none;\n}\n.datagrid-mask-msg {\n  position: absolute;\n  top: 50%;\n  margin-top: -20px;\n  padding: 10px 5px 10px 30px;\n  width: auto;\n  height: 16px;\n  border-width: 2px;\n  border-style: solid;\n  display: none;\n}\n.datagrid-sort-icon {\n  padding: 0;\n}\n.datagrid-toolbar {\n  height: auto;\n  padding: 1px 2px;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.datagrid .datagrid-pager {\n  display: block;\n  margin: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.datagrid .datagrid-pager-top {\n  border-width: 0 0 1px 0;\n}\n.datagrid-header {\n  overflow: hidden;\n  cursor: default;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-header-inner {\n  float: left;\n  width: 10000px;\n}\n.datagrid-header-row,\n.datagrid-row {\n  height: 25px;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-width: 0 1px 1px 0;\n  border-style: dotted;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-cell,\n.datagrid-cell-group,\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  margin: 0;\n  padding: 0 4px;\n  white-space: nowrap;\n  word-wrap: normal;\n  overflow: hidden;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n}\n.datagrid-header .datagrid-cell {\n  height: auto;\n}\n.datagrid-header .datagrid-cell span {\n  font-size: 12px;\n}\n.datagrid-cell-group {\n  text-align: center;\n}\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  width: 25px;\n  text-align: center;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body {\n  margin: 0;\n  padding: 0;\n  overflow: auto;\n  zoom: 1;\n}\n.datagrid-view1 .datagrid-body-inner {\n  padding-bottom: 20px;\n}\n.datagrid-view1 .datagrid-body {\n  overflow: hidden;\n}\n.datagrid-footer {\n  overflow: hidden;\n}\n.datagrid-footer-inner {\n  border-width: 1px 0 0 0;\n  border-style: solid;\n  width: 10000px;\n  float: left;\n}\n.datagrid-row-editing .datagrid-cell {\n  height: auto;\n}\n.datagrid-header-check,\n.datagrid-cell-check {\n  padding: 0;\n  width: 27px;\n  height: 18px;\n  font-size: 1px;\n  text-align: center;\n  overflow: hidden;\n}\n.datagrid-header-check input,\n.datagrid-cell-check input {\n  margin: 0;\n  padding: 0;\n  width: 15px;\n  height: 18px;\n}\n.datagrid-resize-proxy {\n  position: absolute;\n  width: 1px;\n  height: 10000px;\n  top: 0;\n  cursor: e-resize;\n  display: none;\n}\n.datagrid-body .datagrid-editable {\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body .datagrid-editable table {\n  width: 100%;\n  height: 100%;\n}\n.datagrid-body .datagrid-editable td {\n  border: 0;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-view .datagrid-editable-input {\n  margin: 0;\n  padding: 2px 4px;\n  border: 1px solid #D4D4D4;\n  font-size: 12px;\n  outline-style: none;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.datagrid-sort-desc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat -16px center;\n}\n.datagrid-sort-asc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat 0px center;\n}\n.datagrid-row-collapse {\n  background: url('images/datagrid_icons.png') no-repeat -48px center;\n}\n.datagrid-row-expand {\n  background: url('images/datagrid_icons.png') no-repeat -32px center;\n}\n.datagrid-mask-msg {\n  background: #ffffff url('images/loading.gif') no-repeat scroll 5px center;\n}\n.datagrid-header,\n.datagrid-td-rownumber {\n  background-color: #F2F2F2;\n  background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0);\n}\n.datagrid-cell-rownumber {\n  color: #333;\n}\n.datagrid-resize-proxy {\n  background: #bbb;\n}\n.datagrid-mask {\n  background: #ccc;\n}\n.datagrid-mask-msg {\n  border-color: #D4D4D4;\n}\n.datagrid-toolbar,\n.datagrid-pager {\n  background: #F5F5F5;\n}\n.datagrid-header,\n.datagrid-toolbar,\n.datagrid-pager,\n.datagrid-footer-inner {\n  border-color: #e6e6e6;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-color: #ccc;\n}\n.datagrid-htable,\n.datagrid-btable,\n.datagrid-ftable {\n  color: #333;\n  border-collapse: separate;\n}\n.datagrid-row-alt {\n  background: #F5F5F5;\n}\n.datagrid-row-over,\n.datagrid-header td.datagrid-header-over {\n  background: #e6e6e6;\n  color: #00438a;\n  cursor: default;\n}\n.datagrid-row-selected {\n  background: #0081c2;\n  color: #fff;\n}\n.datagrid-row-editing .textbox,\n.datagrid-row-editing .textbox-text {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.propertygrid .datagrid-view1 .datagrid-body td {\n  padding-bottom: 1px;\n  border-width: 0 1px 0 0;\n}\n.propertygrid .datagrid-group {\n  height: 21px;\n  overflow: hidden;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.propertygrid .datagrid-group span {\n  font-weight: bold;\n}\n.propertygrid .datagrid-view1 .datagrid-body td {\n  border-color: #e6e6e6;\n}\n.propertygrid .datagrid-view1 .datagrid-group {\n  border-color: #F2F2F2;\n}\n.propertygrid .datagrid-view2 .datagrid-group {\n  border-color: #e6e6e6;\n}\n.propertygrid .datagrid-group,\n.propertygrid .datagrid-view1 .datagrid-body,\n.propertygrid .datagrid-view1 .datagrid-row-over,\n.propertygrid .datagrid-view1 .datagrid-row-selected {\n  background: #F2F2F2;\n}\n.pagination {\n  zoom: 1;\n}\n.pagination table {\n  float: left;\n  height: 30px;\n}\n.pagination td {\n  border: 0;\n}\n.pagination-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 3px 1px;\n}\n.pagination .pagination-num {\n  border-width: 1px;\n  border-style: solid;\n  margin: 0 2px;\n  padding: 2px;\n  width: 2em;\n  height: auto;\n}\n.pagination-page-list {\n  margin: 0px 6px;\n  padding: 1px 2px;\n  width: auto;\n  height: auto;\n  border-width: 1px;\n  border-style: solid;\n}\n.pagination-info {\n  float: right;\n  margin: 0 6px 0 0;\n  padding: 0;\n  height: 30px;\n  line-height: 30px;\n  font-size: 12px;\n}\n.pagination span {\n  font-size: 12px;\n}\n.pagination-link .l-btn-text {\n  width: 24px;\n  text-align: center;\n  margin: 0;\n}\n.pagination-first {\n  background: url('images/pagination_icons.png') no-repeat 0 center;\n}\n.pagination-prev {\n  background: url('images/pagination_icons.png') no-repeat -16px center;\n}\n.pagination-next {\n  background: url('images/pagination_icons.png') no-repeat -32px center;\n}\n.pagination-last {\n  background: url('images/pagination_icons.png') no-repeat -48px center;\n}\n.pagination-load {\n  background: url('images/pagination_icons.png') no-repeat -64px center;\n}\n.pagination-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.pagination-page-list,\n.pagination .pagination-num {\n  border-color: #D4D4D4;\n}\n.calendar {\n  border-width: 1px;\n  border-style: solid;\n  padding: 1px;\n  overflow: hidden;\n}\n.calendar table {\n  table-layout: fixed;\n  border-collapse: separate;\n  font-size: 12px;\n  width: 100%;\n  height: 100%;\n}\n.calendar table td,\n.calendar table th {\n  font-size: 12px;\n}\n.calendar-noborder {\n  border: 0;\n}\n.calendar-header {\n  position: relative;\n  height: 22px;\n}\n.calendar-title {\n  text-align: center;\n  height: 22px;\n}\n.calendar-title span {\n  position: relative;\n  display: inline-block;\n  top: 2px;\n  padding: 0 3px;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth,\n.calendar-nextmonth,\n.calendar-prevyear,\n.calendar-nextyear {\n  position: absolute;\n  top: 50%;\n  margin-top: -7px;\n  width: 14px;\n  height: 14px;\n  cursor: pointer;\n  font-size: 1px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth {\n  left: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -18px -2px;\n}\n.calendar-nextmonth {\n  right: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -34px -2px;\n}\n.calendar-prevyear {\n  left: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -1px -2px;\n}\n.calendar-nextyear {\n  right: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -49px -2px;\n}\n.calendar-body {\n  position: relative;\n}\n.calendar-body th,\n.calendar-body td {\n  text-align: center;\n}\n.calendar-day {\n  border: 0;\n  padding: 1px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-other-month {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.calendar-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  cursor: default;\n}\n.calendar-menu {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 180px;\n  height: 150px;\n  padding: 5px;\n  font-size: 12px;\n  display: none;\n  overflow: hidden;\n}\n.calendar-menu-year-inner {\n  text-align: center;\n  padding-bottom: 5px;\n}\n.calendar-menu-year {\n  width: 40px;\n  text-align: center;\n  border-width: 1px;\n  border-style: solid;\n  margin: 0;\n  padding: 2px;\n  font-weight: bold;\n  font-size: 12px;\n}\n.calendar-menu-prev,\n.calendar-menu-next {\n  display: inline-block;\n  width: 21px;\n  height: 21px;\n  vertical-align: top;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-menu-prev {\n  margin-right: 10px;\n  background: url('images/calendar_arrows.png') no-repeat 2px 2px;\n}\n.calendar-menu-next {\n  margin-left: 10px;\n  background: url('images/calendar_arrows.png') no-repeat -45px 2px;\n}\n.calendar-menu-month {\n  text-align: center;\n  cursor: pointer;\n  font-weight: bold;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-body th,\n.calendar-menu-month {\n  color: #808080;\n}\n.calendar-day {\n  color: #333;\n}\n.calendar-sunday {\n  color: #CC2222;\n}\n.calendar-saturday {\n  color: #00ee00;\n}\n.calendar-today {\n  color: #0000ff;\n}\n.calendar-menu-year {\n  border-color: #D4D4D4;\n}\n.calendar {\n  border-color: #D4D4D4;\n}\n.calendar-header {\n  background: #F2F2F2;\n}\n.calendar-body,\n.calendar-menu {\n  background: #ffffff;\n}\n.calendar-body th {\n  background: #F5F5F5;\n  padding: 2px 0;\n}\n.calendar-hover,\n.calendar-nav-hover,\n.calendar-menu-hover {\n  background-color: #e6e6e6;\n  color: #00438a;\n}\n.calendar-hover {\n  border: 1px solid #ddd;\n  padding: 0;\n}\n.calendar-selected {\n  background-color: #0081c2;\n  color: #fff;\n  border: 1px solid #0070a9;\n  padding: 0;\n}\n.datebox-calendar-inner {\n  height: 180px;\n}\n.datebox-button {\n  height: 18px;\n  padding: 2px 5px;\n  text-align: center;\n}\n.datebox-button a {\n  font-size: 12px;\n  font-weight: bold;\n  text-decoration: none;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.datebox-button a:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.datebox-current,\n.datebox-close {\n  float: left;\n}\n.datebox-close {\n  float: right;\n}\n.datebox .combo-arrow {\n  background-image: url('images/datebox_arrow.png');\n  background-position: center center;\n}\n.datebox-button {\n  background-color: #F5F5F5;\n}\n.datebox-button a {\n  color: #444;\n}\n.numberbox {\n  border: 1px solid #D4D4D4;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: middle;\n}\n.textbox {\n  padding: 0;\n}\n.spinner {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.spinner .spinner-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: baseline;\n}\n.spinner-arrow {\n  background-color: #F2F2F2;\n  display: inline-block;\n  overflow: hidden;\n  vertical-align: top;\n  margin: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  width: 18px;\n}\n.spinner-arrow-up,\n.spinner-arrow-down {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  display: block;\n  font-size: 1px;\n  width: 18px;\n  height: 10px;\n  width: 100%;\n  height: 50%;\n  outline-style: none;\n}\n.spinner-arrow-hover {\n  background-color: #e6e6e6;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.spinner-arrow-up:hover,\n.spinner-arrow-down:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  background-color: #e6e6e6;\n}\n.textbox-icon-disabled .spinner-arrow-up:hover,\n.textbox-icon-disabled .spinner-arrow-down:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  background-color: #F2F2F2;\n  cursor: default;\n}\n.spinner .textbox-icon-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.spinner-arrow-up {\n  background: url('images/spinner_arrows.png') no-repeat 1px center;\n}\n.spinner-arrow-down {\n  background: url('images/spinner_arrows.png') no-repeat -15px center;\n}\n.spinner {\n  border-color: #D4D4D4;\n}\n.progressbar {\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  overflow: hidden;\n  position: relative;\n}\n.progressbar-text {\n  text-align: center;\n  position: absolute;\n}\n.progressbar-value {\n  position: relative;\n  overflow: hidden;\n  width: 0;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.progressbar {\n  border-color: #D4D4D4;\n}\n.progressbar-text {\n  color: #333;\n  font-size: 12px;\n}\n.progressbar-value .progressbar-text {\n  background-color: #0081c2;\n  color: #fff;\n}\n.searchbox {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.searchbox .searchbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: top;\n}\n.searchbox .searchbox-prompt {\n  font-size: 12px;\n  color: #ccc;\n}\n.searchbox-button {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.searchbox-button-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.searchbox .l-btn-plain {\n  border: 0;\n  padding: 0;\n  vertical-align: top;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .l-btn-plain:hover {\n  border: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox a.m-btn-plain-active {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .m-btn-active {\n  border-width: 0 1px 0 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .textbox-button-right {\n  border-width: 0 0 0 1px;\n}\n.searchbox .textbox-button-left {\n  border-width: 0 1px 0 0;\n}\n.searchbox-button {\n  background: url('images/searchbox_button.png') no-repeat center center;\n}\n.searchbox {\n  border-color: #D4D4D4;\n  background-color: #fff;\n}\n.searchbox .l-btn-plain {\n  background: #F2F2F2;\n}\n.searchbox .l-btn-plain-disabled,\n.searchbox .l-btn-plain-disabled:hover {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n.slider-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.slider-h {\n  height: 22px;\n}\n.slider-v {\n  width: 22px;\n}\n.slider-inner {\n  position: relative;\n  height: 6px;\n  top: 7px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n}\n.slider-handle {\n  position: absolute;\n  display: block;\n  outline: none;\n  width: 20px;\n  height: 20px;\n  top: 50%;\n  margin-top: -10px;\n  margin-left: -10px;\n}\n.slider-tip {\n  position: absolute;\n  display: inline-block;\n  line-height: 12px;\n  font-size: 12px;\n  white-space: nowrap;\n  top: -22px;\n}\n.slider-rule {\n  position: relative;\n  top: 15px;\n}\n.slider-rule span {\n  position: absolute;\n  display: inline-block;\n  font-size: 0;\n  height: 5px;\n  border-width: 0 0 0 1px;\n  border-style: solid;\n}\n.slider-rulelabel {\n  position: relative;\n  top: 20px;\n}\n.slider-rulelabel span {\n  position: absolute;\n  display: inline-block;\n  font-size: 12px;\n}\n.slider-v .slider-inner {\n  width: 6px;\n  left: 7px;\n  top: 0;\n  float: left;\n}\n.slider-v .slider-handle {\n  left: 50%;\n  margin-top: -10px;\n}\n.slider-v .slider-tip {\n  left: -10px;\n  margin-top: -6px;\n}\n.slider-v .slider-rule {\n  float: left;\n  top: 0;\n  left: 16px;\n}\n.slider-v .slider-rule span {\n  width: 5px;\n  height: 'auto';\n  border-left: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.slider-v .slider-rulelabel {\n  float: left;\n  top: 0;\n  left: 23px;\n}\n.slider-handle {\n  background: url('images/slider_handle.png') no-repeat;\n}\n.slider-inner {\n  border-color: #D4D4D4;\n  background: #F2F2F2;\n}\n.slider-rule span {\n  border-color: #D4D4D4;\n}\n.slider-rulelabel span {\n  color: #333;\n}\n.menu {\n  position: absolute;\n  margin: 0;\n  padding: 2px;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n}\n.menu-item {\n  position: relative;\n  margin: 0;\n  padding: 0;\n  overflow: hidden;\n  white-space: nowrap;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.menu-text {\n  height: 20px;\n  line-height: 20px;\n  float: left;\n  padding-left: 28px;\n}\n.menu-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 2px;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-rightarrow {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-line {\n  position: absolute;\n  left: 26px;\n  top: 0;\n  height: 2000px;\n  font-size: 1px;\n}\n.menu-sep {\n  margin: 3px 0px 3px 25px;\n  font-size: 1px;\n}\n.menu-active {\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.menu-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  cursor: default;\n}\n.menu-text,\n.menu-text span {\n  font-size: 12px;\n}\n.menu-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  background: #ccc;\n  -moz-box-shadow: 2px 2px 3px #cccccc;\n  -webkit-box-shadow: 2px 2px 3px #cccccc;\n  box-shadow: 2px 2px 3px #cccccc;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.menu-rightarrow {\n  background: url('images/menu_arrows.png') no-repeat -32px center;\n}\n.menu-line {\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n}\n.menu-sep {\n  border-top: 1px solid #ccc;\n  border-bottom: 1px solid #fff;\n}\n.menu {\n  background-color: #fff;\n  border-color: #e6e6e6;\n  color: #333;\n}\n.menu-content {\n  background: #ffffff;\n}\n.menu-item {\n  border-color: transparent;\n  _border-color: #fff;\n}\n.menu-active {\n  border-color: #ddd;\n  color: #00438a;\n  background: #e6e6e6;\n}\n.menu-active-disabled {\n  border-color: transparent;\n  background: transparent;\n  color: #333;\n}\n.m-btn-downarrow,\n.s-btn-downarrow {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  font-size: 1px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.m-btn-active,\n.s-btn-active {\n  background: #e6e6e6;\n  color: #00438a;\n  border: 1px solid #ddd;\n  filter: none;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  background: transparent;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.m-btn .l-btn-left .l-btn-text {\n  margin-right: 20px;\n}\n.m-btn .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.m-btn .l-btn-icon-right .l-btn-icon {\n  right: 20px;\n}\n.m-btn .l-btn-icon-top .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 14px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 34px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 20px;\n}\n.m-btn .l-btn-icon-top .m-btn-downarrow,\n.m-btn .l-btn-icon-bottom .m-btn-downarrow {\n  top: auto;\n  bottom: 0px;\n  left: 50%;\n  margin-left: -8px;\n}\n.m-btn-line {\n  display: inline-block;\n  position: absolute;\n  font-size: 1px;\n  display: none;\n}\n.m-btn .l-btn-left .m-btn-line {\n  right: 0;\n  width: 16px;\n  height: 500px;\n  border-style: solid;\n  border-color: #bbb;\n  border-width: 0 0 0 1px;\n}\n.m-btn .l-btn-icon-top .m-btn-line,\n.m-btn .l-btn-icon-bottom .m-btn-line {\n  left: 0;\n  bottom: 0;\n  width: 500px;\n  height: 16px;\n  border-width: 1px 0 0 0;\n}\n.m-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 56px;\n}\n.m-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 50px;\n}\n.m-btn-downarrow,\n.s-btn-downarrow {\n  background: url('images/menu_arrows.png') no-repeat 0 center;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  border-color: #ddd;\n  background-color: #e6e6e6;\n  color: #00438a;\n}\n.s-btn:hover .m-btn-line,\n.s-btn-active .m-btn-line,\n.s-btn-plain-active .m-btn-line {\n  display: inline-block;\n}\n.l-btn:hover .s-btn-downarrow,\n.s-btn-active .s-btn-downarrow,\n.s-btn-plain-active .s-btn-downarrow {\n  border-style: solid;\n  border-color: #bbb;\n  border-width: 0 0 0 1px;\n}\n.messager-body {\n  padding: 10px;\n  overflow: hidden;\n}\n.messager-button {\n  text-align: center;\n  padding-top: 10px;\n}\n.messager-button .l-btn {\n  width: 70px;\n}\n.messager-icon {\n  float: left;\n  width: 32px;\n  height: 32px;\n  margin: 0 10px 10px 0;\n}\n.messager-error {\n  background: url('images/messager_icons.png') no-repeat scroll -64px 0;\n}\n.messager-info {\n  background: url('images/messager_icons.png') no-repeat scroll 0 0;\n}\n.messager-question {\n  background: url('images/messager_icons.png') no-repeat scroll -32px 0;\n}\n.messager-warning {\n  background: url('images/messager_icons.png') no-repeat scroll -96px 0;\n}\n.messager-progress {\n  padding: 10px;\n}\n.messager-p-msg {\n  margin-bottom: 5px;\n}\n.messager-body .messager-input {\n  width: 100%;\n  padding: 1px 0;\n  border: 1px solid #D4D4D4;\n}\n.tree {\n  margin: 0;\n  padding: 0;\n  list-style-type: none;\n}\n.tree li {\n  white-space: nowrap;\n}\n.tree li ul {\n  list-style-type: none;\n  margin: 0;\n  padding: 0;\n}\n.tree-node {\n  height: 18px;\n  white-space: nowrap;\n  cursor: pointer;\n}\n.tree-hit {\n  cursor: pointer;\n}\n.tree-expanded,\n.tree-collapsed,\n.tree-folder,\n.tree-file,\n.tree-checkbox,\n.tree-indent {\n  display: inline-block;\n  width: 16px;\n  height: 18px;\n  vertical-align: top;\n  overflow: hidden;\n}\n.tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -18px 0px;\n}\n.tree-expanded-hover {\n  background: url('images/tree_icons.png') no-repeat -50px 0px;\n}\n.tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat 0px 0px;\n}\n.tree-collapsed-hover {\n  background: url('images/tree_icons.png') no-repeat -32px 0px;\n}\n.tree-lines .tree-expanded,\n.tree-lines .tree-root-first .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -144px 0;\n}\n.tree-lines .tree-collapsed,\n.tree-lines .tree-root-first .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -128px 0;\n}\n.tree-lines .tree-node-last .tree-expanded,\n.tree-lines .tree-root-one .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -80px 0;\n}\n.tree-lines .tree-node-last .tree-collapsed,\n.tree-lines .tree-root-one .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -64px 0;\n}\n.tree-line {\n  background: url('images/tree_icons.png') no-repeat -176px 0;\n}\n.tree-join {\n  background: url('images/tree_icons.png') no-repeat -192px 0;\n}\n.tree-joinbottom {\n  background: url('images/tree_icons.png') no-repeat -160px 0;\n}\n.tree-folder {\n  background: url('images/tree_icons.png') no-repeat -208px 0;\n}\n.tree-folder-open {\n  background: url('images/tree_icons.png') no-repeat -224px 0;\n}\n.tree-file {\n  background: url('images/tree_icons.png') no-repeat -240px 0;\n}\n.tree-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.tree-checkbox0 {\n  background: url('images/tree_icons.png') no-repeat -208px -18px;\n}\n.tree-checkbox1 {\n  background: url('images/tree_icons.png') no-repeat -224px -18px;\n}\n.tree-checkbox2 {\n  background: url('images/tree_icons.png') no-repeat -240px -18px;\n}\n.tree-title {\n  font-size: 12px;\n  display: inline-block;\n  text-decoration: none;\n  vertical-align: top;\n  white-space: nowrap;\n  padding: 0 2px;\n  height: 18px;\n  line-height: 18px;\n}\n.tree-node-proxy {\n  font-size: 12px;\n  line-height: 20px;\n  padding: 0 2px 0 20px;\n  border-width: 1px;\n  border-style: solid;\n  z-index: 9900000;\n}\n.tree-dnd-icon {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 18px;\n  left: 2px;\n  top: 50%;\n  margin-top: -9px;\n}\n.tree-dnd-yes {\n  background: url('images/tree_icons.png') no-repeat -256px 0;\n}\n.tree-dnd-no {\n  background: url('images/tree_icons.png') no-repeat -256px -18px;\n}\n.tree-node-top {\n  border-top: 1px dotted red;\n}\n.tree-node-bottom {\n  border-bottom: 1px dotted red;\n}\n.tree-node-append .tree-title {\n  border: 1px dotted red;\n}\n.tree-editor {\n  border: 1px solid #ccc;\n  font-size: 12px;\n  height: 14px !important;\n  height: 18px;\n  line-height: 14px;\n  padding: 1px 2px;\n  width: 80px;\n  position: absolute;\n  top: 0;\n}\n.tree-node-proxy {\n  background-color: #ffffff;\n  color: #333;\n  border-color: #D4D4D4;\n}\n.tree-node-hover {\n  background: #e6e6e6;\n  color: #00438a;\n}\n.tree-node-selected {\n  background: #0081c2;\n  color: #fff;\n}\n.validatebox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n  color: #000;\n}\n.tooltip {\n  position: absolute;\n  display: none;\n  z-index: 9900000;\n  outline: none;\n  opacity: 1;\n  filter: alpha(opacity=100);\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.tooltip-content {\n  font-size: 12px;\n}\n.tooltip-arrow-outer,\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  line-height: 0;\n  font-size: 0;\n  border-style: solid;\n  border-width: 6px;\n  border-color: transparent;\n  _border-color: tomato;\n  _filter: chroma(color=tomato);\n}\n.tooltip-right .tooltip-arrow-outer {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -13px;\n}\n.tooltip-right .tooltip-arrow {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -12px;\n}\n.tooltip-left .tooltip-arrow-outer {\n  right: 0;\n  top: 50%;\n  margin: -6px -13px 0 0;\n}\n.tooltip-left .tooltip-arrow {\n  right: 0;\n  top: 50%;\n  margin: -6px -12px 0 0;\n}\n.tooltip-top .tooltip-arrow-outer {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -13px -6px;\n}\n.tooltip-top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -12px -6px;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  top: 0;\n  left: 50%;\n  margin: -13px 0 0 -6px;\n}\n.tooltip-bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin: -12px 0 0 -6px;\n}\n.tooltip {\n  background-color: #ffffff;\n  border-color: #D4D4D4;\n  color: #333;\n}\n.tooltip-right .tooltip-arrow-outer {\n  border-right-color: #D4D4D4;\n}\n.tooltip-right .tooltip-arrow {\n  border-right-color: #ffffff;\n}\n.tooltip-left .tooltip-arrow-outer {\n  border-left-color: #D4D4D4;\n}\n.tooltip-left .tooltip-arrow {\n  border-left-color: #ffffff;\n}\n.tooltip-top .tooltip-arrow-outer {\n  border-top-color: #D4D4D4;\n}\n.tooltip-top .tooltip-arrow {\n  border-top-color: #ffffff;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  border-bottom-color: #D4D4D4;\n}\n.tooltip-bottom .tooltip-arrow {\n  border-bottom-color: #ffffff;\n}\n.tabs-panels {\n  border-color: transparent;\n}\n.tabs li a.tabs-inner {\n  border-color: transparent;\n  background: transparent;\n  filter: none;\n  color: #0088CC;\n}\n.menu-active {\n  background-color: #0081C2;\n  border-color: #0081C2;\n  color: #fff;\n}\n.menu-active-disabled {\n  border-color: transparent;\n  background: transparent;\n  color: #333;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/filebox.css",
    "content": ".filebox .textbox-value {\n  vertical-align: top;\n  position: absolute;\n  top: 0;\n  left: -5000px;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/layout.css",
    "content": ".layout {\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  z-index: 0;\n}\n.layout-panel {\n  position: absolute;\n  overflow: hidden;\n}\n.layout-panel-east,\n.layout-panel-west {\n  z-index: 2;\n}\n.layout-panel-north,\n.layout-panel-south {\n  z-index: 3;\n}\n.layout-expand {\n  position: absolute;\n  padding: 0px;\n  font-size: 1px;\n  cursor: pointer;\n  z-index: 1;\n}\n.layout-expand .panel-header,\n.layout-expand .panel-body {\n  background: transparent;\n  filter: none;\n  overflow: hidden;\n}\n.layout-expand .panel-header {\n  border-bottom-width: 0px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  position: absolute;\n  font-size: 1px;\n  display: none;\n  z-index: 5;\n}\n.layout-split-proxy-h {\n  width: 5px;\n  cursor: e-resize;\n}\n.layout-split-proxy-v {\n  height: 5px;\n  cursor: n-resize;\n}\n.layout-mask {\n  position: absolute;\n  background: #fafafa;\n  filter: alpha(opacity=10);\n  opacity: 0.10;\n  z-index: 4;\n}\n.layout-button-up {\n  background: url('images/layout_arrows.png') no-repeat -16px -16px;\n}\n.layout-button-down {\n  background: url('images/layout_arrows.png') no-repeat -16px 0;\n}\n.layout-button-left {\n  background: url('images/layout_arrows.png') no-repeat 0 0;\n}\n.layout-button-right {\n  background: url('images/layout_arrows.png') no-repeat 0 -16px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  background-color: #bbb;\n}\n.layout-split-north {\n  border-bottom: 5px solid #eee;\n}\n.layout-split-south {\n  border-top: 5px solid #eee;\n}\n.layout-split-east {\n  border-left: 5px solid #eee;\n}\n.layout-split-west {\n  border-right: 5px solid #eee;\n}\n.layout-expand {\n  background-color: #F2F2F2;\n}\n.layout-expand-over {\n  background-color: #F2F2F2;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/linkbutton.css",
    "content": ".l-btn {\n  text-decoration: none;\n  display: inline-block;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  cursor: pointer;\n  outline: none;\n  text-align: center;\n  vertical-align: middle;\n}\n.l-btn-plain {\n  border: 0;\n  padding: 1px;\n}\n.l-btn-left {\n  display: inline-block;\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  vertical-align: top;\n}\n.l-btn-text {\n  display: inline-block;\n  vertical-align: top;\n  width: auto;\n  line-height: 24px;\n  font-size: 12px;\n  padding: 0;\n  margin: 0 4px;\n}\n.l-btn-icon {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  line-height: 16px;\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  font-size: 1px;\n}\n.l-btn span span .l-btn-empty {\n  display: inline-block;\n  margin: 0;\n  width: 16px;\n  height: 24px;\n  font-size: 1px;\n  vertical-align: top;\n}\n.l-btn span .l-btn-icon-left {\n  padding: 0 0 0 20px;\n  background-position: left center;\n}\n.l-btn span .l-btn-icon-right {\n  padding: 0 20px 0 0;\n  background-position: right center;\n}\n.l-btn-icon-left .l-btn-text {\n  margin: 0 4px 0 24px;\n}\n.l-btn-icon-left .l-btn-icon {\n  left: 4px;\n}\n.l-btn-icon-right .l-btn-text {\n  margin: 0 24px 0 4px;\n}\n.l-btn-icon-right .l-btn-icon {\n  right: 4px;\n}\n.l-btn-icon-top .l-btn-text {\n  margin: 20px 4px 0 4px;\n}\n.l-btn-icon-top .l-btn-icon {\n  top: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-icon-bottom .l-btn-text {\n  margin: 0 4px 20px 4px;\n}\n.l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 16px;\n}\n.l-btn-plain:hover {\n  padding: 0;\n}\n.l-btn-focus {\n  outline: #0000FF dotted thin;\n}\n.l-btn-large .l-btn-text {\n  line-height: 40px;\n}\n.l-btn-large .l-btn-icon {\n  width: 32px;\n  height: 32px;\n  line-height: 32px;\n  margin-top: -16px;\n}\n.l-btn-large .l-btn-icon-left .l-btn-text {\n  margin-left: 40px;\n}\n.l-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-text {\n  margin-top: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 32px;\n}\n.l-btn {\n  color: #444;\n  background: #f5f5f5;\n  background-repeat: repeat-x;\n  border: 1px solid #bbb;\n  background: -webkit-linear-gradient(top,#ffffff 0,#e6e6e6 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#e6e6e6 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#e6e6e6 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#e6e6e6 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#e6e6e6,GradientType=0);\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn:hover {\n  background: #e6e6e6;\n  color: #00438a;\n  border: 1px solid #ddd;\n  filter: none;\n}\n.l-btn-plain {\n  background: transparent;\n  border: 0;\n  filter: none;\n}\n.l-btn-plain:hover {\n  background: #e6e6e6;\n  color: #00438a;\n  border: 1px solid #ddd;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn-disabled,\n.l-btn-disabled:hover {\n  opacity: 0.5;\n  cursor: default;\n  background: #f5f5f5;\n  color: #444;\n  background: -webkit-linear-gradient(top,#ffffff 0,#e6e6e6 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#e6e6e6 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#e6e6e6 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#e6e6e6 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#e6e6e6,GradientType=0);\n}\n.l-btn-disabled .l-btn-text,\n.l-btn-disabled .l-btn-icon {\n  filter: alpha(opacity=50);\n}\n.l-btn-plain-disabled,\n.l-btn-plain-disabled:hover {\n  background: transparent;\n  filter: alpha(opacity=50);\n}\n.l-btn-selected,\n.l-btn-selected:hover {\n  background: #ddd;\n  filter: none;\n}\n.l-btn-plain-selected,\n.l-btn-plain-selected:hover {\n  background: #ddd;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/menu.css",
    "content": ".menu {\n  position: absolute;\n  margin: 0;\n  padding: 2px;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n}\n.menu-item {\n  position: relative;\n  margin: 0;\n  padding: 0;\n  overflow: hidden;\n  white-space: nowrap;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.menu-text {\n  height: 20px;\n  line-height: 20px;\n  float: left;\n  padding-left: 28px;\n}\n.menu-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 2px;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-rightarrow {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-line {\n  position: absolute;\n  left: 26px;\n  top: 0;\n  height: 2000px;\n  font-size: 1px;\n}\n.menu-sep {\n  margin: 3px 0px 3px 25px;\n  font-size: 1px;\n}\n.menu-active {\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.menu-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  cursor: default;\n}\n.menu-text,\n.menu-text span {\n  font-size: 12px;\n}\n.menu-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  background: #ccc;\n  -moz-box-shadow: 2px 2px 3px #cccccc;\n  -webkit-box-shadow: 2px 2px 3px #cccccc;\n  box-shadow: 2px 2px 3px #cccccc;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.menu-rightarrow {\n  background: url('images/menu_arrows.png') no-repeat -32px center;\n}\n.menu-line {\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n}\n.menu-sep {\n  border-top: 1px solid #ccc;\n  border-bottom: 1px solid #fff;\n}\n.menu {\n  background-color: #fff;\n  border-color: #e6e6e6;\n  color: #333;\n}\n.menu-content {\n  background: #ffffff;\n}\n.menu-item {\n  border-color: transparent;\n  _border-color: #fff;\n}\n.menu-active {\n  border-color: #ddd;\n  color: #00438a;\n  background: #e6e6e6;\n}\n.menu-active-disabled {\n  border-color: transparent;\n  background: transparent;\n  color: #333;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/menubutton.css",
    "content": ".m-btn-downarrow,\n.s-btn-downarrow {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  font-size: 1px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.m-btn-active,\n.s-btn-active {\n  background: #e6e6e6;\n  color: #00438a;\n  border: 1px solid #ddd;\n  filter: none;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  background: transparent;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.m-btn .l-btn-left .l-btn-text {\n  margin-right: 20px;\n}\n.m-btn .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.m-btn .l-btn-icon-right .l-btn-icon {\n  right: 20px;\n}\n.m-btn .l-btn-icon-top .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 14px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 34px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 20px;\n}\n.m-btn .l-btn-icon-top .m-btn-downarrow,\n.m-btn .l-btn-icon-bottom .m-btn-downarrow {\n  top: auto;\n  bottom: 0px;\n  left: 50%;\n  margin-left: -8px;\n}\n.m-btn-line {\n  display: inline-block;\n  position: absolute;\n  font-size: 1px;\n  display: none;\n}\n.m-btn .l-btn-left .m-btn-line {\n  right: 0;\n  width: 16px;\n  height: 500px;\n  border-style: solid;\n  border-color: #bbb;\n  border-width: 0 0 0 1px;\n}\n.m-btn .l-btn-icon-top .m-btn-line,\n.m-btn .l-btn-icon-bottom .m-btn-line {\n  left: 0;\n  bottom: 0;\n  width: 500px;\n  height: 16px;\n  border-width: 1px 0 0 0;\n}\n.m-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 56px;\n}\n.m-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 50px;\n}\n.m-btn-downarrow,\n.s-btn-downarrow {\n  background: url('images/menu_arrows.png') no-repeat 0 center;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  border-color: #ddd;\n  background-color: #e6e6e6;\n  color: #00438a;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/messager.css",
    "content": ".messager-body {\n  padding: 10px;\n  overflow: hidden;\n}\n.messager-button {\n  text-align: center;\n  padding-top: 10px;\n}\n.messager-button .l-btn {\n  width: 70px;\n}\n.messager-icon {\n  float: left;\n  width: 32px;\n  height: 32px;\n  margin: 0 10px 10px 0;\n}\n.messager-error {\n  background: url('images/messager_icons.png') no-repeat scroll -64px 0;\n}\n.messager-info {\n  background: url('images/messager_icons.png') no-repeat scroll 0 0;\n}\n.messager-question {\n  background: url('images/messager_icons.png') no-repeat scroll -32px 0;\n}\n.messager-warning {\n  background: url('images/messager_icons.png') no-repeat scroll -96px 0;\n}\n.messager-progress {\n  padding: 10px;\n}\n.messager-p-msg {\n  margin-bottom: 5px;\n}\n.messager-body .messager-input {\n  width: 100%;\n  padding: 1px 0;\n  border: 1px solid #D4D4D4;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/numberbox.css",
    "content": ".numberbox {\n  border: 1px solid #D4D4D4;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: middle;\n}\n.textbox {\n  padding: 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/pagination.css",
    "content": ".pagination {\n  zoom: 1;\n}\n.pagination table {\n  float: left;\n  height: 30px;\n}\n.pagination td {\n  border: 0;\n}\n.pagination-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 3px 1px;\n}\n.pagination .pagination-num {\n  border-width: 1px;\n  border-style: solid;\n  margin: 0 2px;\n  padding: 2px;\n  width: 2em;\n  height: auto;\n}\n.pagination-page-list {\n  margin: 0px 6px;\n  padding: 1px 2px;\n  width: auto;\n  height: auto;\n  border-width: 1px;\n  border-style: solid;\n}\n.pagination-info {\n  float: right;\n  margin: 0 6px 0 0;\n  padding: 0;\n  height: 30px;\n  line-height: 30px;\n  font-size: 12px;\n}\n.pagination span {\n  font-size: 12px;\n}\n.pagination-link .l-btn-text {\n  width: 24px;\n  text-align: center;\n  margin: 0;\n}\n.pagination-first {\n  background: url('images/pagination_icons.png') no-repeat 0 center;\n}\n.pagination-prev {\n  background: url('images/pagination_icons.png') no-repeat -16px center;\n}\n.pagination-next {\n  background: url('images/pagination_icons.png') no-repeat -32px center;\n}\n.pagination-last {\n  background: url('images/pagination_icons.png') no-repeat -48px center;\n}\n.pagination-load {\n  background: url('images/pagination_icons.png') no-repeat -64px center;\n}\n.pagination-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.pagination-page-list,\n.pagination .pagination-num {\n  border-color: #D4D4D4;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/panel.css",
    "content": ".panel {\n  overflow: hidden;\n  text-align: left;\n  margin: 0;\n  border: 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.panel-header,\n.panel-body {\n  border-width: 1px;\n  border-style: solid;\n}\n.panel-header {\n  padding: 5px;\n  position: relative;\n}\n.panel-title {\n  background: url('images/blank.gif') no-repeat;\n}\n.panel-header-noborder {\n  border-width: 0 0 1px 0;\n}\n.panel-body {\n  overflow: auto;\n  border-top-width: 0;\n  padding: 0;\n}\n.panel-body-noheader {\n  border-top-width: 1px;\n}\n.panel-body-noborder {\n  border-width: 0px;\n}\n.panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.panel-with-icon {\n  padding-left: 18px;\n}\n.panel-icon,\n.panel-tool {\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  height: 16px;\n  overflow: hidden;\n}\n.panel-icon {\n  left: 5px;\n  width: 16px;\n}\n.panel-tool {\n  right: 5px;\n  width: auto;\n}\n.panel-tool a {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  margin: 0 0 0 2px;\n  vertical-align: top;\n}\n.panel-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  background-color: #e6e6e6;\n  -moz-border-radius: 3px 3px 3px 3px;\n  -webkit-border-radius: 3px 3px 3px 3px;\n  border-radius: 3px 3px 3px 3px;\n}\n.panel-loading {\n  padding: 11px 0px 10px 30px;\n}\n.panel-noscroll {\n  overflow: hidden;\n}\n.panel-fit,\n.panel-fit body {\n  height: 100%;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  overflow: hidden;\n}\n.panel-loading {\n  background: url('images/loading.gif') no-repeat 10px 10px;\n}\n.panel-tool-close {\n  background: url('images/panel_tools.png') no-repeat -16px 0px;\n}\n.panel-tool-min {\n  background: url('images/panel_tools.png') no-repeat 0px 0px;\n}\n.panel-tool-max {\n  background: url('images/panel_tools.png') no-repeat 0px -16px;\n}\n.panel-tool-restore {\n  background: url('images/panel_tools.png') no-repeat -16px -16px;\n}\n.panel-tool-collapse {\n  background: url('images/panel_tools.png') no-repeat -32px 0;\n}\n.panel-tool-expand {\n  background: url('images/panel_tools.png') no-repeat -32px -16px;\n}\n.panel-header,\n.panel-body {\n  border-color: #D4D4D4;\n}\n.panel-header {\n  background-color: #F2F2F2;\n  background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0);\n}\n.panel-body {\n  background-color: #ffffff;\n  color: #333;\n  font-size: 12px;\n}\n.panel-title {\n  font-size: 12px;\n  font-weight: bold;\n  color: #777;\n  height: 16px;\n  line-height: 16px;\n}\n.panel-footer {\n  border: 1px solid #D4D4D4;\n  overflow: hidden;\n  background: #F5F5F5;\n}\n.panel-footer-noborder {\n  border-width: 1px 0 0 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/progressbar.css",
    "content": ".progressbar {\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  overflow: hidden;\n  position: relative;\n}\n.progressbar-text {\n  text-align: center;\n  position: absolute;\n}\n.progressbar-value {\n  position: relative;\n  overflow: hidden;\n  width: 0;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.progressbar {\n  border-color: #D4D4D4;\n}\n.progressbar-text {\n  color: #333;\n  font-size: 12px;\n}\n.progressbar-value .progressbar-text {\n  background-color: #0081c2;\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/propertygrid.css",
    "content": ".propertygrid .datagrid-view1 .datagrid-body td {\n  padding-bottom: 1px;\n  border-width: 0 1px 0 0;\n}\n.propertygrid .datagrid-group {\n  height: 21px;\n  overflow: hidden;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.propertygrid .datagrid-group span {\n  font-weight: bold;\n}\n.propertygrid .datagrid-view1 .datagrid-body td {\n  border-color: #e6e6e6;\n}\n.propertygrid .datagrid-view1 .datagrid-group {\n  border-color: #F2F2F2;\n}\n.propertygrid .datagrid-view2 .datagrid-group {\n  border-color: #e6e6e6;\n}\n.propertygrid .datagrid-group,\n.propertygrid .datagrid-view1 .datagrid-body,\n.propertygrid .datagrid-view1 .datagrid-row-over,\n.propertygrid .datagrid-view1 .datagrid-row-selected {\n  background: #F2F2F2;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/searchbox.css",
    "content": ".searchbox {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.searchbox .searchbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: top;\n}\n.searchbox .searchbox-prompt {\n  font-size: 12px;\n  color: #ccc;\n}\n.searchbox-button {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.searchbox-button-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.searchbox .l-btn-plain {\n  border: 0;\n  padding: 0;\n  vertical-align: top;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .l-btn-plain:hover {\n  border: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox a.m-btn-plain-active {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .m-btn-active {\n  border-width: 0 1px 0 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .textbox-button-right {\n  border-width: 0 0 0 1px;\n}\n.searchbox .textbox-button-left {\n  border-width: 0 1px 0 0;\n}\n.searchbox-button {\n  background: url('images/searchbox_button.png') no-repeat center center;\n}\n.searchbox {\n  border-color: #D4D4D4;\n  background-color: #fff;\n}\n.searchbox .l-btn-plain {\n  background: #F2F2F2;\n}\n.searchbox .l-btn-plain-disabled,\n.searchbox .l-btn-plain-disabled:hover {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/slider.css",
    "content": ".slider-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.slider-h {\n  height: 22px;\n}\n.slider-v {\n  width: 22px;\n}\n.slider-inner {\n  position: relative;\n  height: 6px;\n  top: 7px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n}\n.slider-handle {\n  position: absolute;\n  display: block;\n  outline: none;\n  width: 20px;\n  height: 20px;\n  top: 50%;\n  margin-top: -10px;\n  margin-left: -10px;\n}\n.slider-tip {\n  position: absolute;\n  display: inline-block;\n  line-height: 12px;\n  font-size: 12px;\n  white-space: nowrap;\n  top: -22px;\n}\n.slider-rule {\n  position: relative;\n  top: 15px;\n}\n.slider-rule span {\n  position: absolute;\n  display: inline-block;\n  font-size: 0;\n  height: 5px;\n  border-width: 0 0 0 1px;\n  border-style: solid;\n}\n.slider-rulelabel {\n  position: relative;\n  top: 20px;\n}\n.slider-rulelabel span {\n  position: absolute;\n  display: inline-block;\n  font-size: 12px;\n}\n.slider-v .slider-inner {\n  width: 6px;\n  left: 7px;\n  top: 0;\n  float: left;\n}\n.slider-v .slider-handle {\n  left: 50%;\n  margin-top: -10px;\n}\n.slider-v .slider-tip {\n  left: -10px;\n  margin-top: -6px;\n}\n.slider-v .slider-rule {\n  float: left;\n  top: 0;\n  left: 16px;\n}\n.slider-v .slider-rule span {\n  width: 5px;\n  height: 'auto';\n  border-left: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.slider-v .slider-rulelabel {\n  float: left;\n  top: 0;\n  left: 23px;\n}\n.slider-handle {\n  background: url('images/slider_handle.png') no-repeat;\n}\n.slider-inner {\n  border-color: #D4D4D4;\n  background: #F2F2F2;\n}\n.slider-rule span {\n  border-color: #D4D4D4;\n}\n.slider-rulelabel span {\n  color: #333;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/spinner.css",
    "content": ".spinner {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.spinner .spinner-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: baseline;\n}\n.spinner-arrow {\n  background-color: #F2F2F2;\n  display: inline-block;\n  overflow: hidden;\n  vertical-align: top;\n  margin: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  width: 18px;\n}\n.spinner-arrow-up,\n.spinner-arrow-down {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  display: block;\n  font-size: 1px;\n  width: 18px;\n  height: 10px;\n  width: 100%;\n  height: 50%;\n  outline-style: none;\n}\n.spinner-arrow-hover {\n  background-color: #e6e6e6;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.spinner-arrow-up:hover,\n.spinner-arrow-down:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  background-color: #e6e6e6;\n}\n.textbox-icon-disabled .spinner-arrow-up:hover,\n.textbox-icon-disabled .spinner-arrow-down:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  background-color: #F2F2F2;\n  cursor: default;\n}\n.spinner .textbox-icon-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.spinner-arrow-up {\n  background: url('images/spinner_arrows.png') no-repeat 1px center;\n}\n.spinner-arrow-down {\n  background: url('images/spinner_arrows.png') no-repeat -15px center;\n}\n.spinner {\n  border-color: #D4D4D4;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/splitbutton.css",
    "content": ".s-btn:hover .m-btn-line,\n.s-btn-active .m-btn-line,\n.s-btn-plain-active .m-btn-line {\n  display: inline-block;\n}\n.l-btn:hover .s-btn-downarrow,\n.s-btn-active .s-btn-downarrow,\n.s-btn-plain-active .s-btn-downarrow {\n  border-style: solid;\n  border-color: #bbb;\n  border-width: 0 0 0 1px;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/tabs.css",
    "content": ".tabs-container {\n  overflow: hidden;\n}\n.tabs-header {\n  border-width: 1px;\n  border-style: solid;\n  border-bottom-width: 0;\n  position: relative;\n  padding: 0;\n  padding-top: 2px;\n  overflow: hidden;\n}\n.tabs-header-plain {\n  border: 0;\n  background: transparent;\n}\n.tabs-scroller-left,\n.tabs-scroller-right {\n  position: absolute;\n  top: auto;\n  bottom: 0;\n  width: 18px;\n  font-size: 1px;\n  display: none;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-scroller-left {\n  left: 0;\n}\n.tabs-scroller-right {\n  right: 0;\n}\n.tabs-tool {\n  position: absolute;\n  bottom: 0;\n  padding: 1px;\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-header-plain .tabs-tool {\n  padding: 0 1px;\n}\n.tabs-wrap {\n  position: relative;\n  left: 0;\n  overflow: hidden;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n}\n.tabs-scrolling {\n  margin-left: 18px;\n  margin-right: 18px;\n}\n.tabs-disabled {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.tabs {\n  list-style-type: none;\n  height: 26px;\n  margin: 0px;\n  padding: 0px;\n  padding-left: 4px;\n  width: 50000px;\n  border-style: solid;\n  border-width: 0 0 1px 0;\n}\n.tabs li {\n  float: left;\n  display: inline-block;\n  margin: 0 4px -1px 0;\n  padding: 0;\n  position: relative;\n  border: 0;\n}\n.tabs li a.tabs-inner {\n  display: inline-block;\n  text-decoration: none;\n  margin: 0;\n  padding: 0 10px;\n  height: 25px;\n  line-height: 25px;\n  text-align: center;\n  white-space: nowrap;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 0 0;\n  -webkit-border-radius: 5px 5px 0 0;\n  border-radius: 5px 5px 0 0;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  font-weight: bold;\n  outline: none;\n}\n.tabs li.tabs-selected a:hover.tabs-inner {\n  cursor: default;\n  pointer: default;\n}\n.tabs li a.tabs-close,\n.tabs-p-tool {\n  position: absolute;\n  font-size: 1px;\n  display: block;\n  height: 12px;\n  padding: 0;\n  top: 50%;\n  margin-top: -6px;\n  overflow: hidden;\n}\n.tabs li a.tabs-close {\n  width: 12px;\n  right: 5px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs-p-tool {\n  right: 16px;\n}\n.tabs-p-tool a {\n  display: inline-block;\n  font-size: 1px;\n  width: 12px;\n  height: 12px;\n  margin: 0;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs li a:hover.tabs-close,\n.tabs-p-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  cursor: hand;\n  cursor: pointer;\n}\n.tabs-with-icon {\n  padding-left: 18px;\n}\n.tabs-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 10px;\n  top: 50%;\n  margin-top: -8px;\n}\n.tabs-title {\n  font-size: 12px;\n}\n.tabs-closable {\n  padding-right: 8px;\n}\n.tabs-panels {\n  margin: 0px;\n  padding: 0px;\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0;\n  overflow: hidden;\n}\n.tabs-header-bottom {\n  border-width: 0 1px 1px 1px;\n  padding: 0 0 2px 0;\n}\n.tabs-header-bottom .tabs {\n  border-width: 1px 0 0 0;\n}\n.tabs-header-bottom .tabs li {\n  margin: -1px 4px 0 0;\n}\n.tabs-header-bottom .tabs li a.tabs-inner {\n  -moz-border-radius: 0 0 5px 5px;\n  -webkit-border-radius: 0 0 5px 5px;\n  border-radius: 0 0 5px 5px;\n}\n.tabs-header-bottom .tabs-tool {\n  top: 0;\n}\n.tabs-header-bottom .tabs-scroller-left,\n.tabs-header-bottom .tabs-scroller-right {\n  top: 0;\n  bottom: auto;\n}\n.tabs-panels-top {\n  border-width: 1px 1px 0 1px;\n}\n.tabs-header-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n  padding: 0;\n}\n.tabs-header-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n  padding: 0;\n}\n.tabs-header-left .tabs-wrap,\n.tabs-header-right .tabs-wrap {\n  height: 100%;\n}\n.tabs-header-left .tabs {\n  height: 100%;\n  padding: 4px 0 0 4px;\n  border-width: 0 1px 0 0;\n}\n.tabs-header-right .tabs {\n  height: 100%;\n  padding: 4px 4px 0 0;\n  border-width: 0 0 0 1px;\n}\n.tabs-header-left .tabs li,\n.tabs-header-right .tabs li {\n  display: block;\n  width: 100%;\n  position: relative;\n}\n.tabs-header-left .tabs li {\n  left: auto;\n  right: 0;\n  margin: 0 -1px 4px 0;\n  float: right;\n}\n.tabs-header-right .tabs li {\n  left: 0;\n  right: auto;\n  margin: 0 0 4px -1px;\n  float: left;\n}\n.tabs-header-left .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.tabs-header-right .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 0 5px 5px 0;\n  -webkit-border-radius: 0 5px 5px 0;\n  border-radius: 0 5px 5px 0;\n}\n.tabs-panels-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n}\n.tabs-panels-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n}\n.tabs-header-noborder,\n.tabs-panels-noborder {\n  border: 0px;\n}\n.tabs-header-plain {\n  border: 0px;\n  background: transparent;\n}\n.tabs-scroller-left {\n  background: #F2F2F2 url('images/tabs_icons.png') no-repeat 1px center;\n}\n.tabs-scroller-right {\n  background: #F2F2F2 url('images/tabs_icons.png') no-repeat -15px center;\n}\n.tabs li a.tabs-close {\n  background: url('images/tabs_icons.png') no-repeat -34px center;\n}\n.tabs li a.tabs-inner:hover {\n  background: #e6e6e6;\n  color: #00438a;\n  filter: none;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  background-color: #ffffff;\n  color: #777;\n  background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0);\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0);\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%);\n  background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%);\n  background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%);\n  background: linear-gradient(to right,#ffffff 0,#ffffff 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1);\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%);\n  background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%);\n  background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%);\n  background: linear-gradient(to right,#ffffff 0,#ffffff 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1);\n}\n.tabs li a.tabs-inner {\n  color: #777;\n  background-color: #F2F2F2;\n  background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0);\n}\n.tabs-header,\n.tabs-tool {\n  background-color: #F2F2F2;\n}\n.tabs-header-plain {\n  background: transparent;\n}\n.tabs-header,\n.tabs-scroller-left,\n.tabs-scroller-right,\n.tabs-tool,\n.tabs,\n.tabs-panels,\n.tabs li a.tabs-inner,\n.tabs li.tabs-selected a.tabs-inner,\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-color: #D4D4D4;\n}\n.tabs-p-tool a:hover,\n.tabs li a:hover.tabs-close,\n.tabs-scroller-over {\n  background-color: #e6e6e6;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  border-bottom: 1px solid #ffffff;\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  border-top: 1px solid #ffffff;\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  border-right: 1px solid #ffffff;\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-left: 1px solid #ffffff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/textbox.css",
    "content": ".textbox {\n  position: relative;\n  border: 1px solid #D4D4D4;\n  background-color: #fff;\n  vertical-align: middle;\n  display: inline-block;\n  overflow: hidden;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 4px;\n  white-space: normal;\n  vertical-align: top;\n  outline-style: none;\n  resize: none;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-prompt {\n  font-size: 12px;\n  color: #aaa;\n}\n.textbox-button,\n.textbox-button:hover {\n  position: absolute;\n  top: 0;\n  padding: 0;\n  vertical-align: top;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.textbox-button-right,\n.textbox-button-right:hover {\n  border-width: 0 0 0 1px;\n}\n.textbox-button-left,\n.textbox-button-left:hover {\n  border-width: 0 1px 0 0;\n}\n.textbox-addon {\n  position: absolute;\n  top: 0;\n}\n.textbox-icon {\n  display: inline-block;\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  vertical-align: top;\n  background-position: center center;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  text-decoration: none;\n  outline-style: none;\n}\n.textbox-icon-disabled,\n.textbox-icon-readonly {\n  cursor: default;\n}\n.textbox-icon:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.textbox-icon-disabled:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.textbox-focused {\n  -moz-box-shadow: 0 0 3px 0 #D4D4D4;\n  -webkit-box-shadow: 0 0 3px 0 #D4D4D4;\n  box-shadow: 0 0 3px 0 #D4D4D4;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/tooltip.css",
    "content": ".tooltip {\n  position: absolute;\n  display: none;\n  z-index: 9900000;\n  outline: none;\n  opacity: 1;\n  filter: alpha(opacity=100);\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.tooltip-content {\n  font-size: 12px;\n}\n.tooltip-arrow-outer,\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  line-height: 0;\n  font-size: 0;\n  border-style: solid;\n  border-width: 6px;\n  border-color: transparent;\n  _border-color: tomato;\n  _filter: chroma(color=tomato);\n}\n.tooltip-right .tooltip-arrow-outer {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -13px;\n}\n.tooltip-right .tooltip-arrow {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -12px;\n}\n.tooltip-left .tooltip-arrow-outer {\n  right: 0;\n  top: 50%;\n  margin: -6px -13px 0 0;\n}\n.tooltip-left .tooltip-arrow {\n  right: 0;\n  top: 50%;\n  margin: -6px -12px 0 0;\n}\n.tooltip-top .tooltip-arrow-outer {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -13px -6px;\n}\n.tooltip-top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -12px -6px;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  top: 0;\n  left: 50%;\n  margin: -13px 0 0 -6px;\n}\n.tooltip-bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin: -12px 0 0 -6px;\n}\n.tooltip {\n  background-color: #ffffff;\n  border-color: #D4D4D4;\n  color: #333;\n}\n.tooltip-right .tooltip-arrow-outer {\n  border-right-color: #D4D4D4;\n}\n.tooltip-right .tooltip-arrow {\n  border-right-color: #ffffff;\n}\n.tooltip-left .tooltip-arrow-outer {\n  border-left-color: #D4D4D4;\n}\n.tooltip-left .tooltip-arrow {\n  border-left-color: #ffffff;\n}\n.tooltip-top .tooltip-arrow-outer {\n  border-top-color: #D4D4D4;\n}\n.tooltip-top .tooltip-arrow {\n  border-top-color: #ffffff;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  border-bottom-color: #D4D4D4;\n}\n.tooltip-bottom .tooltip-arrow {\n  border-bottom-color: #ffffff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/tree.css",
    "content": ".tree {\n  margin: 0;\n  padding: 0;\n  list-style-type: none;\n}\n.tree li {\n  white-space: nowrap;\n}\n.tree li ul {\n  list-style-type: none;\n  margin: 0;\n  padding: 0;\n}\n.tree-node {\n  height: 18px;\n  white-space: nowrap;\n  cursor: pointer;\n}\n.tree-hit {\n  cursor: pointer;\n}\n.tree-expanded,\n.tree-collapsed,\n.tree-folder,\n.tree-file,\n.tree-checkbox,\n.tree-indent {\n  display: inline-block;\n  width: 16px;\n  height: 18px;\n  vertical-align: top;\n  overflow: hidden;\n}\n.tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -18px 0px;\n}\n.tree-expanded-hover {\n  background: url('images/tree_icons.png') no-repeat -50px 0px;\n}\n.tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat 0px 0px;\n}\n.tree-collapsed-hover {\n  background: url('images/tree_icons.png') no-repeat -32px 0px;\n}\n.tree-lines .tree-expanded,\n.tree-lines .tree-root-first .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -144px 0;\n}\n.tree-lines .tree-collapsed,\n.tree-lines .tree-root-first .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -128px 0;\n}\n.tree-lines .tree-node-last .tree-expanded,\n.tree-lines .tree-root-one .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -80px 0;\n}\n.tree-lines .tree-node-last .tree-collapsed,\n.tree-lines .tree-root-one .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -64px 0;\n}\n.tree-line {\n  background: url('images/tree_icons.png') no-repeat -176px 0;\n}\n.tree-join {\n  background: url('images/tree_icons.png') no-repeat -192px 0;\n}\n.tree-joinbottom {\n  background: url('images/tree_icons.png') no-repeat -160px 0;\n}\n.tree-folder {\n  background: url('images/tree_icons.png') no-repeat -208px 0;\n}\n.tree-folder-open {\n  background: url('images/tree_icons.png') no-repeat -224px 0;\n}\n.tree-file {\n  background: url('images/tree_icons.png') no-repeat -240px 0;\n}\n.tree-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.tree-checkbox0 {\n  background: url('images/tree_icons.png') no-repeat -208px -18px;\n}\n.tree-checkbox1 {\n  background: url('images/tree_icons.png') no-repeat -224px -18px;\n}\n.tree-checkbox2 {\n  background: url('images/tree_icons.png') no-repeat -240px -18px;\n}\n.tree-title {\n  font-size: 12px;\n  display: inline-block;\n  text-decoration: none;\n  vertical-align: top;\n  white-space: nowrap;\n  padding: 0 2px;\n  height: 18px;\n  line-height: 18px;\n}\n.tree-node-proxy {\n  font-size: 12px;\n  line-height: 20px;\n  padding: 0 2px 0 20px;\n  border-width: 1px;\n  border-style: solid;\n  z-index: 9900000;\n}\n.tree-dnd-icon {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 18px;\n  left: 2px;\n  top: 50%;\n  margin-top: -9px;\n}\n.tree-dnd-yes {\n  background: url('images/tree_icons.png') no-repeat -256px 0;\n}\n.tree-dnd-no {\n  background: url('images/tree_icons.png') no-repeat -256px -18px;\n}\n.tree-node-top {\n  border-top: 1px dotted red;\n}\n.tree-node-bottom {\n  border-bottom: 1px dotted red;\n}\n.tree-node-append .tree-title {\n  border: 1px dotted red;\n}\n.tree-editor {\n  border: 1px solid #ccc;\n  font-size: 12px;\n  height: 14px !important;\n  height: 18px;\n  line-height: 14px;\n  padding: 1px 2px;\n  width: 80px;\n  position: absolute;\n  top: 0;\n}\n.tree-node-proxy {\n  background-color: #ffffff;\n  color: #333;\n  border-color: #D4D4D4;\n}\n.tree-node-hover {\n  background: #e6e6e6;\n  color: #00438a;\n}\n.tree-node-selected {\n  background: #0081c2;\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/validatebox.css",
    "content": ".validatebox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n  color: #000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/bootstrap/window.css",
    "content": ".window {\n  overflow: hidden;\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n}\n.window .window-header {\n  background: transparent;\n  padding: 0px 0px 6px 0px;\n}\n.window .window-body {\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0px;\n}\n.window .window-body-noheader {\n  border-top-width: 1px;\n}\n.window .panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.window .window-header .panel-icon,\n.window .window-header .panel-tool {\n  top: 50%;\n  margin-top: -11px;\n}\n.window .window-header .panel-icon {\n  left: 1px;\n}\n.window .window-header .panel-tool {\n  right: 1px;\n}\n.window .window-header .panel-with-icon {\n  padding-left: 18px;\n}\n.window-proxy {\n  position: absolute;\n  overflow: hidden;\n}\n.window-proxy-mask {\n  position: absolute;\n  filter: alpha(opacity=5);\n  opacity: 0.05;\n}\n.window-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  filter: alpha(opacity=40);\n  opacity: 0.40;\n  font-size: 1px;\n  overflow: hidden;\n}\n.window,\n.window-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.window-shadow {\n  background: #ccc;\n  -moz-box-shadow: 2px 2px 3px #cccccc;\n  -webkit-box-shadow: 2px 2px 3px #cccccc;\n  box-shadow: 2px 2px 3px #cccccc;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.window,\n.window .window-body {\n  border-color: #D4D4D4;\n}\n.window {\n  background-color: #F2F2F2;\n  background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 20%);\n  background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 20%);\n  background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 20%);\n  background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 20%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0);\n}\n.window-proxy {\n  border: 1px dashed #D4D4D4;\n}\n.window-proxy-mask,\n.window-mask {\n  background: #ccc;\n}\n.window .panel-footer {\n  border: 1px solid #D4D4D4;\n  position: relative;\n  top: -1px;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/color.css",
    "content": ".c1,.c1:hover{\r\n\tcolor: #fff;\r\n\tborder-color: #3c8b3c;\r\n\tbackground: #4cae4c;\r\n\tbackground: -webkit-linear-gradient(top,#4cae4c 0,#449d44 100%);\r\n\tbackground: -moz-linear-gradient(top,#4cae4c 0,#449d44 100%);\r\n\tbackground: -o-linear-gradient(top,#4cae4c 0,#449d44 100%);\r\n\tbackground: linear-gradient(to bottom,#4cae4c 0,#449d44 100%);\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4cae4c,endColorstr=#449d44,GradientType=0);\r\n}\r\na.c1:hover{\r\n\tbackground: #449d44;\r\n\tfilter: none;\r\n}\r\n.c2,.c2:hover{\r\n\tcolor: #fff;\r\n\tborder-color: #5f5f5f;\r\n\tbackground: #747474;\r\n\tbackground: -webkit-linear-gradient(top,#747474 0,#676767 100%);\r\n\tbackground: -moz-linear-gradient(top,#747474 0,#676767 100%);\r\n\tbackground: -o-linear-gradient(top,#747474 0,#676767 100%);\r\n\tbackground: linear-gradient(to bottom,#747474 0,#676767 100%);\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#747474,endColorstr=#676767,GradientType=0);\r\n}\r\na.c2:hover{\r\n\tbackground: #676767;\r\n\tfilter: none;\r\n}\r\n.c3,.c3:hover{\r\n\tcolor: #333;\r\n\tborder-color: #ff8080;\r\n\tbackground: #ffb3b3;\r\n\tbackground: -webkit-linear-gradient(top,#ffb3b3 0,#ff9999 100%);\r\n\tbackground: -moz-linear-gradient(top,#ffb3b3 0,#ff9999 100%);\r\n\tbackground: -o-linear-gradient(top,#ffb3b3 0,#ff9999 100%);\r\n\tbackground: linear-gradient(to bottom,#ffb3b3 0,#ff9999 100%);\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffb3b3,endColorstr=#ff9999,GradientType=0);\r\n}\r\na.c3:hover{\r\n\tbackground: #ff9999;\r\n\tfilter: none;\r\n}\r\n.c4,.c4:hover{\r\n\tcolor: #333;\r\n\tborder-color: #52d689;\r\n\tbackground: #b8eecf;\r\n\tbackground: -webkit-linear-gradient(top,#b8eecf 0,#a4e9c1 100%);\r\n\tbackground: -moz-linear-gradient(top,#b8eecf 0,#a4e9c1 100%);\r\n\tbackground: -o-linear-gradient(top,#b8eecf 0,#a4e9c1 100%);\r\n\tbackground: linear-gradient(to bottom,#b8eecf 0,#a4e9c1 100%);\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b8eecf,endColorstr=#a4e9c1,GradientType=0);\r\n}\r\na.c4:hover{\r\n\tbackground: #a4e9c1;\r\n\tfilter: none;\r\n}\r\n.c5,.c5:hover{\r\n\tcolor: #fff;\r\n\tborder-color: #b52b27;\r\n\tbackground: #d84f4b;\r\n\tbackground: -webkit-linear-gradient(top,#d84f4b 0,#c9302c 100%);\r\n\tbackground: -moz-linear-gradient(top,#d84f4b 0,#c9302c 100%);\r\n\tbackground: -o-linear-gradient(top,#d84f4b 0,#c9302c 100%);\r\n\tbackground: linear-gradient(to bottom,#d84f4b 0,#c9302c 100%);\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#d84f4b,endColorstr=#c9302c,GradientType=0);\r\n}\r\na.c5:hover{\r\n\tbackground: #c9302c;\r\n\tfilter: none;\r\n}\r\n.c6,.c6:hover{\r\n\tcolor: #fff;\r\n\tborder-color: #1f637b;\r\n\tbackground: #2984a4;\r\n\tbackground: -webkit-linear-gradient(top,#2984a4 0,#24748f 100%);\r\n\tbackground: -moz-linear-gradient(top,#2984a4 0,#24748f 100%);\r\n\tbackground: -o-linear-gradient(top,#2984a4 0,#24748f 100%);\r\n\tbackground: linear-gradient(to bottom,#2984a4 0,#24748f 100%);\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#2984a4,endColorstr=#24748f,GradientType=0);\r\n}\r\na.c6:hover{\r\n\tbackground: #24748f;\r\n\tfilter: none;\r\n}\r\n.c7,.c7:hover{\r\n\tcolor: #333;\r\n\tborder-color: #e68900;\r\n\tbackground: #ffab2e;\r\n\tbackground: -webkit-linear-gradient(top,#ffab2e 0,#ff9900 100%);\r\n\tbackground: -moz-linear-gradient(top,#ffab2e 0,#ff9900 100%);\r\n\tbackground: -o-linear-gradient(top,#ffab2e 0,#ff9900 100%);\r\n\tbackground: linear-gradient(to bottom,#ffab2e 0,#ff9900 100%);\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffab2e,endColorstr=#ff9900,GradientType=0);\r\n}\r\na.c7:hover{\r\n\tbackground: #ff9900;\r\n\tfilter: none;\r\n}\r\n.c8,.c8:hover{\r\n\tcolor: #fff;\r\n\tborder-color: #4b72a4;\r\n\tbackground: #698cba;\r\n\tbackground: -webkit-linear-gradient(top,#698cba 0,#577eb2 100%);\r\n\tbackground: -moz-linear-gradient(top,#698cba 0,#577eb2 100%);\r\n\tbackground: -o-linear-gradient(top,#698cba 0,#577eb2 100%);\r\n\tbackground: linear-gradient(to bottom,#698cba 0,#577eb2 100%);\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#698cba,endColorstr=#577eb2,GradientType=0);\r\n}\r\na.c8:hover{\r\n\tbackground: #577eb2;\r\n\tfilter: none;\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/accordion.css",
    "content": ".accordion {\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.accordion .accordion-header {\n  border-width: 0 0 1px;\n  cursor: pointer;\n}\n.accordion .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-noborder {\n  border-width: 0;\n}\n.accordion-noborder .accordion-header {\n  border-width: 0 0 1px;\n}\n.accordion-noborder .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-collapse {\n  background: url('images/accordion_arrows.png') no-repeat 0 0;\n}\n.accordion-expand {\n  background: url('images/accordion_arrows.png') no-repeat -16px 0;\n}\n.accordion {\n  background: #ffffff;\n  border-color: #95B8E7;\n}\n.accordion .accordion-header {\n  background: #E0ECFF;\n  filter: none;\n}\n.accordion .accordion-header-selected {\n  background: #ffe48d;\n}\n.accordion .accordion-header-selected .panel-title {\n  color: #000000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/calendar.css",
    "content": ".calendar {\n  border-width: 1px;\n  border-style: solid;\n  padding: 1px;\n  overflow: hidden;\n}\n.calendar table {\n  table-layout: fixed;\n  border-collapse: separate;\n  font-size: 12px;\n  width: 100%;\n  height: 100%;\n}\n.calendar table td,\n.calendar table th {\n  font-size: 12px;\n}\n.calendar-noborder {\n  border: 0;\n}\n.calendar-header {\n  position: relative;\n  height: 22px;\n}\n.calendar-title {\n  text-align: center;\n  height: 22px;\n}\n.calendar-title span {\n  position: relative;\n  display: inline-block;\n  top: 2px;\n  padding: 0 3px;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth,\n.calendar-nextmonth,\n.calendar-prevyear,\n.calendar-nextyear {\n  position: absolute;\n  top: 50%;\n  margin-top: -7px;\n  width: 14px;\n  height: 14px;\n  cursor: pointer;\n  font-size: 1px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth {\n  left: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -18px -2px;\n}\n.calendar-nextmonth {\n  right: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -34px -2px;\n}\n.calendar-prevyear {\n  left: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -1px -2px;\n}\n.calendar-nextyear {\n  right: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -49px -2px;\n}\n.calendar-body {\n  position: relative;\n}\n.calendar-body th,\n.calendar-body td {\n  text-align: center;\n}\n.calendar-day {\n  border: 0;\n  padding: 1px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-other-month {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.calendar-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  cursor: default;\n}\n.calendar-menu {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 180px;\n  height: 150px;\n  padding: 5px;\n  font-size: 12px;\n  display: none;\n  overflow: hidden;\n}\n.calendar-menu-year-inner {\n  text-align: center;\n  padding-bottom: 5px;\n}\n.calendar-menu-year {\n  width: 40px;\n  text-align: center;\n  border-width: 1px;\n  border-style: solid;\n  margin: 0;\n  padding: 2px;\n  font-weight: bold;\n  font-size: 12px;\n}\n.calendar-menu-prev,\n.calendar-menu-next {\n  display: inline-block;\n  width: 21px;\n  height: 21px;\n  vertical-align: top;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-menu-prev {\n  margin-right: 10px;\n  background: url('images/calendar_arrows.png') no-repeat 2px 2px;\n}\n.calendar-menu-next {\n  margin-left: 10px;\n  background: url('images/calendar_arrows.png') no-repeat -45px 2px;\n}\n.calendar-menu-month {\n  text-align: center;\n  cursor: pointer;\n  font-weight: bold;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-body th,\n.calendar-menu-month {\n  color: #4d4d4d;\n}\n.calendar-day {\n  color: #000000;\n}\n.calendar-sunday {\n  color: #CC2222;\n}\n.calendar-saturday {\n  color: #00ee00;\n}\n.calendar-today {\n  color: #0000ff;\n}\n.calendar-menu-year {\n  border-color: #95B8E7;\n}\n.calendar {\n  border-color: #95B8E7;\n}\n.calendar-header {\n  background: #E0ECFF;\n}\n.calendar-body,\n.calendar-menu {\n  background: #ffffff;\n}\n.calendar-body th {\n  background: #F4F4F4;\n  padding: 2px 0;\n}\n.calendar-hover,\n.calendar-nav-hover,\n.calendar-menu-hover {\n  background-color: #eaf2ff;\n  color: #000000;\n}\n.calendar-hover {\n  border: 1px solid #b7d2ff;\n  padding: 0;\n}\n.calendar-selected {\n  background-color: #ffe48d;\n  color: #000000;\n  border: 1px solid #ffab3f;\n  padding: 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/combo.css",
    "content": ".combo {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.combo .combo-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0px 2px;\n  vertical-align: baseline;\n}\n.combo-arrow {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.combo-arrow-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.combo-panel {\n  overflow: auto;\n}\n.combo-arrow {\n  background: url('images/combo_arrow.png') no-repeat center center;\n}\n.combo-panel {\n  background-color: #ffffff;\n}\n.combo {\n  border-color: #95B8E7;\n  background-color: #fff;\n}\n.combo-arrow {\n  background-color: #E0ECFF;\n}\n.combo-arrow-hover {\n  background-color: #eaf2ff;\n}\n.combo-arrow:hover {\n  background-color: #eaf2ff;\n}\n.combo .textbox-icon-disabled:hover {\n  cursor: default;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/combobox.css",
    "content": ".combobox-item,\n.combobox-group {\n  font-size: 12px;\n  padding: 3px;\n  padding-right: 0px;\n}\n.combobox-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.combobox-gitem {\n  padding-left: 10px;\n}\n.combobox-group {\n  font-weight: bold;\n}\n.combobox-item-hover {\n  background-color: #eaf2ff;\n  color: #000000;\n}\n.combobox-item-selected {\n  background-color: #ffe48d;\n  color: #000000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/datagrid.css",
    "content": ".datagrid .panel-body {\n  overflow: hidden;\n  position: relative;\n}\n.datagrid-view {\n  position: relative;\n  overflow: hidden;\n}\n.datagrid-view1,\n.datagrid-view2 {\n  position: absolute;\n  overflow: hidden;\n  top: 0;\n}\n.datagrid-view1 {\n  left: 0;\n}\n.datagrid-view2 {\n  right: 0;\n}\n.datagrid-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n  display: none;\n}\n.datagrid-mask-msg {\n  position: absolute;\n  top: 50%;\n  margin-top: -20px;\n  padding: 10px 5px 10px 30px;\n  width: auto;\n  height: 16px;\n  border-width: 2px;\n  border-style: solid;\n  display: none;\n}\n.datagrid-sort-icon {\n  padding: 0;\n}\n.datagrid-toolbar {\n  height: auto;\n  padding: 1px 2px;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.datagrid .datagrid-pager {\n  display: block;\n  margin: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.datagrid .datagrid-pager-top {\n  border-width: 0 0 1px 0;\n}\n.datagrid-header {\n  overflow: hidden;\n  cursor: default;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-header-inner {\n  float: left;\n  width: 10000px;\n}\n.datagrid-header-row,\n.datagrid-row {\n  height: 25px;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-width: 0 1px 1px 0;\n  border-style: dotted;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-cell,\n.datagrid-cell-group,\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  margin: 0;\n  padding: 0 4px;\n  white-space: nowrap;\n  word-wrap: normal;\n  overflow: hidden;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n}\n.datagrid-header .datagrid-cell {\n  height: auto;\n}\n.datagrid-header .datagrid-cell span {\n  font-size: 12px;\n}\n.datagrid-cell-group {\n  text-align: center;\n}\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  width: 25px;\n  text-align: center;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body {\n  margin: 0;\n  padding: 0;\n  overflow: auto;\n  zoom: 1;\n}\n.datagrid-view1 .datagrid-body-inner {\n  padding-bottom: 20px;\n}\n.datagrid-view1 .datagrid-body {\n  overflow: hidden;\n}\n.datagrid-footer {\n  overflow: hidden;\n}\n.datagrid-footer-inner {\n  border-width: 1px 0 0 0;\n  border-style: solid;\n  width: 10000px;\n  float: left;\n}\n.datagrid-row-editing .datagrid-cell {\n  height: auto;\n}\n.datagrid-header-check,\n.datagrid-cell-check {\n  padding: 0;\n  width: 27px;\n  height: 18px;\n  font-size: 1px;\n  text-align: center;\n  overflow: hidden;\n}\n.datagrid-header-check input,\n.datagrid-cell-check input {\n  margin: 0;\n  padding: 0;\n  width: 15px;\n  height: 18px;\n}\n.datagrid-resize-proxy {\n  position: absolute;\n  width: 1px;\n  height: 10000px;\n  top: 0;\n  cursor: e-resize;\n  display: none;\n}\n.datagrid-body .datagrid-editable {\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body .datagrid-editable table {\n  width: 100%;\n  height: 100%;\n}\n.datagrid-body .datagrid-editable td {\n  border: 0;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-view .datagrid-editable-input {\n  margin: 0;\n  padding: 2px 4px;\n  border: 1px solid #95B8E7;\n  font-size: 12px;\n  outline-style: none;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.datagrid-sort-desc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat -16px center;\n}\n.datagrid-sort-asc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat 0px center;\n}\n.datagrid-row-collapse {\n  background: url('images/datagrid_icons.png') no-repeat -48px center;\n}\n.datagrid-row-expand {\n  background: url('images/datagrid_icons.png') no-repeat -32px center;\n}\n.datagrid-mask-msg {\n  background: #ffffff url('images/loading.gif') no-repeat scroll 5px center;\n}\n.datagrid-header,\n.datagrid-td-rownumber {\n  background-color: #efefef;\n  background: -webkit-linear-gradient(top,#F9F9F9 0,#efefef 100%);\n  background: -moz-linear-gradient(top,#F9F9F9 0,#efefef 100%);\n  background: -o-linear-gradient(top,#F9F9F9 0,#efefef 100%);\n  background: linear-gradient(to bottom,#F9F9F9 0,#efefef 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F9F9F9,endColorstr=#efefef,GradientType=0);\n}\n.datagrid-cell-rownumber {\n  color: #000000;\n}\n.datagrid-resize-proxy {\n  background: #aac5e7;\n}\n.datagrid-mask {\n  background: #ccc;\n}\n.datagrid-mask-msg {\n  border-color: #95B8E7;\n}\n.datagrid-toolbar,\n.datagrid-pager {\n  background: #F4F4F4;\n}\n.datagrid-header,\n.datagrid-toolbar,\n.datagrid-pager,\n.datagrid-footer-inner {\n  border-color: #dddddd;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-color: #ccc;\n}\n.datagrid-htable,\n.datagrid-btable,\n.datagrid-ftable {\n  color: #000000;\n  border-collapse: separate;\n}\n.datagrid-row-alt {\n  background: #fafafa;\n}\n.datagrid-row-over,\n.datagrid-header td.datagrid-header-over {\n  background: #eaf2ff;\n  color: #000000;\n  cursor: default;\n}\n.datagrid-row-selected {\n  background: #ffe48d;\n  color: #000000;\n}\n.datagrid-row-editing .textbox,\n.datagrid-row-editing .textbox-text {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/datebox.css",
    "content": ".datebox-calendar-inner {\n  height: 180px;\n}\n.datebox-button {\n  height: 18px;\n  padding: 2px 5px;\n  text-align: center;\n}\n.datebox-button a {\n  font-size: 12px;\n  font-weight: bold;\n  text-decoration: none;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.datebox-button a:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.datebox-current,\n.datebox-close {\n  float: left;\n}\n.datebox-close {\n  float: right;\n}\n.datebox .combo-arrow {\n  background-image: url('images/datebox_arrow.png');\n  background-position: center center;\n}\n.datebox-button {\n  background-color: #F4F4F4;\n}\n.datebox-button a {\n  color: #444;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/dialog.css",
    "content": ".dialog-content {\n  overflow: auto;\n}\n.dialog-toolbar {\n  padding: 2px 5px;\n}\n.dialog-tool-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.dialog-button {\n  padding: 5px;\n  text-align: right;\n}\n.dialog-button .l-btn {\n  margin-left: 5px;\n}\n.dialog-toolbar,\n.dialog-button {\n  background: #F4F4F4;\n  border-width: 1px;\n  border-style: solid;\n}\n.dialog-toolbar {\n  border-color: #95B8E7 #95B8E7 #dddddd #95B8E7;\n}\n.dialog-button {\n  border-color: #dddddd #95B8E7 #95B8E7 #95B8E7;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/easyui.css",
    "content": ".panel {\n  overflow: hidden;\n  text-align: left;\n  margin: 0;\n  border: 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.panel-header,\n.panel-body {\n  border-width: 1px;\n  border-style: solid;\n}\n.panel-header {\n  padding: 5px;\n  position: relative;\n}\n.panel-title {\n  background: url('images/blank.gif') no-repeat;\n}\n.panel-header-noborder {\n  border-width: 0 0 1px 0;\n}\n.panel-body {\n  overflow: auto;\n  border-top-width: 0;\n  padding: 0;\n}\n.panel-body-noheader {\n  border-top-width: 1px;\n}\n.panel-body-noborder {\n  border-width: 0px;\n}\n.panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.panel-with-icon {\n  padding-left: 18px;\n}\n.panel-icon,\n.panel-tool {\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  height: 16px;\n  overflow: hidden;\n}\n.panel-icon {\n  left: 5px;\n  width: 16px;\n}\n.panel-tool {\n  right: 5px;\n  width: auto;\n}\n.panel-tool a {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  margin: 0 0 0 2px;\n  vertical-align: top;\n}\n.panel-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  background-color: #eaf2ff;\n  -moz-border-radius: 3px 3px 3px 3px;\n  -webkit-border-radius: 3px 3px 3px 3px;\n  border-radius: 3px 3px 3px 3px;\n}\n.panel-loading {\n  padding: 11px 0px 10px 30px;\n}\n.panel-noscroll {\n  overflow: hidden;\n}\n.panel-fit,\n.panel-fit body {\n  height: 100%;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  overflow: hidden;\n}\n.panel-loading {\n  background: url('images/loading.gif') no-repeat 10px 10px;\n}\n.panel-tool-close {\n  background: url('images/panel_tools.png') no-repeat -16px 0px;\n}\n.panel-tool-min {\n  background: url('images/panel_tools.png') no-repeat 0px 0px;\n}\n.panel-tool-max {\n  background: url('images/panel_tools.png') no-repeat 0px -16px;\n}\n.panel-tool-restore {\n  background: url('images/panel_tools.png') no-repeat -16px -16px;\n}\n.panel-tool-collapse {\n  background: url('images/panel_tools.png') no-repeat -32px 0;\n}\n.panel-tool-expand {\n  background: url('images/panel_tools.png') no-repeat -32px -16px;\n}\n.panel-header,\n.panel-body {\n  border-color: #95B8E7;\n}\n.panel-header {\n  background-color: #E0ECFF;\n  background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);\n  background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);\n  background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);\n  background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0);\n}\n.panel-body {\n  background-color: #ffffff;\n  color: #000000;\n  font-size: 12px;\n}\n.panel-title {\n  font-size: 12px;\n  font-weight: bold;\n  color: #0E2D5F;\n  height: 16px;\n  line-height: 16px;\n}\n.panel-footer {\n  border: 1px solid #95B8E7;\n  overflow: hidden;\n  background: #F4F4F4;\n}\n.panel-footer-noborder {\n  border-width: 1px 0 0 0;\n}\n.accordion {\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.accordion .accordion-header {\n  border-width: 0 0 1px;\n  cursor: pointer;\n}\n.accordion .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-noborder {\n  border-width: 0;\n}\n.accordion-noborder .accordion-header {\n  border-width: 0 0 1px;\n}\n.accordion-noborder .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-collapse {\n  background: url('images/accordion_arrows.png') no-repeat 0 0;\n}\n.accordion-expand {\n  background: url('images/accordion_arrows.png') no-repeat -16px 0;\n}\n.accordion {\n  background: #ffffff;\n  border-color: #95B8E7;\n}\n.accordion .accordion-header {\n  background: #E0ECFF;\n  filter: none;\n}\n.accordion .accordion-header-selected {\n  background: #ffe48d;\n}\n.accordion .accordion-header-selected .panel-title {\n  color: #000000;\n}\n.window {\n  overflow: hidden;\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n}\n.window .window-header {\n  background: transparent;\n  padding: 0px 0px 6px 0px;\n}\n.window .window-body {\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0px;\n}\n.window .window-body-noheader {\n  border-top-width: 1px;\n}\n.window .panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.window .window-header .panel-icon,\n.window .window-header .panel-tool {\n  top: 50%;\n  margin-top: -11px;\n}\n.window .window-header .panel-icon {\n  left: 1px;\n}\n.window .window-header .panel-tool {\n  right: 1px;\n}\n.window .window-header .panel-with-icon {\n  padding-left: 18px;\n}\n.window-proxy {\n  position: absolute;\n  overflow: hidden;\n}\n.window-proxy-mask {\n  position: absolute;\n  filter: alpha(opacity=5);\n  opacity: 0.05;\n}\n.window-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  filter: alpha(opacity=40);\n  opacity: 0.40;\n  font-size: 1px;\n  overflow: hidden;\n}\n.window,\n.window-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.window-shadow {\n  background: #ccc;\n  -moz-box-shadow: 2px 2px 3px #cccccc;\n  -webkit-box-shadow: 2px 2px 3px #cccccc;\n  box-shadow: 2px 2px 3px #cccccc;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.window,\n.window .window-body {\n  border-color: #95B8E7;\n}\n.window {\n  background-color: #E0ECFF;\n  background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%);\n  background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%);\n  background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%);\n  background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 20%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0);\n}\n.window-proxy {\n  border: 1px dashed #95B8E7;\n}\n.window-proxy-mask,\n.window-mask {\n  background: #ccc;\n}\n.window .panel-footer {\n  border: 1px solid #95B8E7;\n  position: relative;\n  top: -1px;\n}\n.dialog-content {\n  overflow: auto;\n}\n.dialog-toolbar {\n  padding: 2px 5px;\n}\n.dialog-tool-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.dialog-button {\n  padding: 5px;\n  text-align: right;\n}\n.dialog-button .l-btn {\n  margin-left: 5px;\n}\n.dialog-toolbar,\n.dialog-button {\n  background: #F4F4F4;\n  border-width: 1px;\n  border-style: solid;\n}\n.dialog-toolbar {\n  border-color: #95B8E7 #95B8E7 #dddddd #95B8E7;\n}\n.dialog-button {\n  border-color: #dddddd #95B8E7 #95B8E7 #95B8E7;\n}\n.l-btn {\n  text-decoration: none;\n  display: inline-block;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  cursor: pointer;\n  outline: none;\n  text-align: center;\n  vertical-align: middle;\n}\n.l-btn-plain {\n  border: 0;\n  padding: 1px;\n}\n.l-btn-left {\n  display: inline-block;\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  vertical-align: top;\n}\n.l-btn-text {\n  display: inline-block;\n  vertical-align: top;\n  width: auto;\n  line-height: 24px;\n  font-size: 12px;\n  padding: 0;\n  margin: 0 4px;\n}\n.l-btn-icon {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  line-height: 16px;\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  font-size: 1px;\n}\n.l-btn span span .l-btn-empty {\n  display: inline-block;\n  margin: 0;\n  width: 16px;\n  height: 24px;\n  font-size: 1px;\n  vertical-align: top;\n}\n.l-btn span .l-btn-icon-left {\n  padding: 0 0 0 20px;\n  background-position: left center;\n}\n.l-btn span .l-btn-icon-right {\n  padding: 0 20px 0 0;\n  background-position: right center;\n}\n.l-btn-icon-left .l-btn-text {\n  margin: 0 4px 0 24px;\n}\n.l-btn-icon-left .l-btn-icon {\n  left: 4px;\n}\n.l-btn-icon-right .l-btn-text {\n  margin: 0 24px 0 4px;\n}\n.l-btn-icon-right .l-btn-icon {\n  right: 4px;\n}\n.l-btn-icon-top .l-btn-text {\n  margin: 20px 4px 0 4px;\n}\n.l-btn-icon-top .l-btn-icon {\n  top: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-icon-bottom .l-btn-text {\n  margin: 0 4px 20px 4px;\n}\n.l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 16px;\n}\n.l-btn-plain:hover {\n  padding: 0;\n}\n.l-btn-focus {\n  outline: #0000FF dotted thin;\n}\n.l-btn-large .l-btn-text {\n  line-height: 40px;\n}\n.l-btn-large .l-btn-icon {\n  width: 32px;\n  height: 32px;\n  line-height: 32px;\n  margin-top: -16px;\n}\n.l-btn-large .l-btn-icon-left .l-btn-text {\n  margin-left: 40px;\n}\n.l-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-text {\n  margin-top: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 32px;\n}\n.l-btn {\n  color: #444;\n  background: #fafafa;\n  background-repeat: repeat-x;\n  border: 1px solid #bbb;\n  background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0);\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn:hover {\n  background: #eaf2ff;\n  color: #000000;\n  border: 1px solid #b7d2ff;\n  filter: none;\n}\n.l-btn-plain {\n  background: transparent;\n  border: 0;\n  filter: none;\n}\n.l-btn-plain:hover {\n  background: #eaf2ff;\n  color: #000000;\n  border: 1px solid #b7d2ff;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn-disabled,\n.l-btn-disabled:hover {\n  opacity: 0.5;\n  cursor: default;\n  background: #fafafa;\n  color: #444;\n  background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0);\n}\n.l-btn-disabled .l-btn-text,\n.l-btn-disabled .l-btn-icon {\n  filter: alpha(opacity=50);\n}\n.l-btn-plain-disabled,\n.l-btn-plain-disabled:hover {\n  background: transparent;\n  filter: alpha(opacity=50);\n}\n.l-btn-selected,\n.l-btn-selected:hover {\n  background: #ddd;\n  filter: none;\n}\n.l-btn-plain-selected,\n.l-btn-plain-selected:hover {\n  background: #ddd;\n}\n.textbox {\n  position: relative;\n  border: 1px solid #95B8E7;\n  background-color: #fff;\n  vertical-align: middle;\n  display: inline-block;\n  overflow: hidden;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 4px;\n  white-space: normal;\n  vertical-align: top;\n  outline-style: none;\n  resize: none;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-prompt {\n  font-size: 12px;\n  color: #aaa;\n}\n.textbox-button,\n.textbox-button:hover {\n  position: absolute;\n  top: 0;\n  padding: 0;\n  vertical-align: top;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.textbox-button-right,\n.textbox-button-right:hover {\n  border-width: 0 0 0 1px;\n}\n.textbox-button-left,\n.textbox-button-left:hover {\n  border-width: 0 1px 0 0;\n}\n.textbox-addon {\n  position: absolute;\n  top: 0;\n}\n.textbox-icon {\n  display: inline-block;\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  vertical-align: top;\n  background-position: center center;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  text-decoration: none;\n  outline-style: none;\n}\n.textbox-icon-disabled,\n.textbox-icon-readonly {\n  cursor: default;\n}\n.textbox-icon:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.textbox-icon-disabled:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.textbox-focused {\n  -moz-box-shadow: 0 0 3px 0 #95B8E7;\n  -webkit-box-shadow: 0 0 3px 0 #95B8E7;\n  box-shadow: 0 0 3px 0 #95B8E7;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n.filebox .textbox-value {\n  vertical-align: top;\n  position: absolute;\n  top: 0;\n  left: -5000px;\n}\n.combo {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.combo .combo-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0px 2px;\n  vertical-align: baseline;\n}\n.combo-arrow {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.combo-arrow-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.combo-panel {\n  overflow: auto;\n}\n.combo-arrow {\n  background: url('images/combo_arrow.png') no-repeat center center;\n}\n.combo-panel {\n  background-color: #ffffff;\n}\n.combo {\n  border-color: #95B8E7;\n  background-color: #fff;\n}\n.combo-arrow {\n  background-color: #E0ECFF;\n}\n.combo-arrow-hover {\n  background-color: #eaf2ff;\n}\n.combo-arrow:hover {\n  background-color: #eaf2ff;\n}\n.combo .textbox-icon-disabled:hover {\n  cursor: default;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n.combobox-item,\n.combobox-group {\n  font-size: 12px;\n  padding: 3px;\n  padding-right: 0px;\n}\n.combobox-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.combobox-gitem {\n  padding-left: 10px;\n}\n.combobox-group {\n  font-weight: bold;\n}\n.combobox-item-hover {\n  background-color: #eaf2ff;\n  color: #000000;\n}\n.combobox-item-selected {\n  background-color: #ffe48d;\n  color: #000000;\n}\n.layout {\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  z-index: 0;\n}\n.layout-panel {\n  position: absolute;\n  overflow: hidden;\n}\n.layout-panel-east,\n.layout-panel-west {\n  z-index: 2;\n}\n.layout-panel-north,\n.layout-panel-south {\n  z-index: 3;\n}\n.layout-expand {\n  position: absolute;\n  padding: 0px;\n  font-size: 1px;\n  cursor: pointer;\n  z-index: 1;\n}\n.layout-expand .panel-header,\n.layout-expand .panel-body {\n  background: transparent;\n  filter: none;\n  overflow: hidden;\n}\n.layout-expand .panel-header {\n  border-bottom-width: 0px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  position: absolute;\n  font-size: 1px;\n  display: none;\n  z-index: 5;\n}\n.layout-split-proxy-h {\n  width: 5px;\n  cursor: e-resize;\n}\n.layout-split-proxy-v {\n  height: 5px;\n  cursor: n-resize;\n}\n.layout-mask {\n  position: absolute;\n  background: #fafafa;\n  filter: alpha(opacity=10);\n  opacity: 0.10;\n  z-index: 4;\n}\n.layout-button-up {\n  background: url('images/layout_arrows.png') no-repeat -16px -16px;\n}\n.layout-button-down {\n  background: url('images/layout_arrows.png') no-repeat -16px 0;\n}\n.layout-button-left {\n  background: url('images/layout_arrows.png') no-repeat 0 0;\n}\n.layout-button-right {\n  background: url('images/layout_arrows.png') no-repeat 0 -16px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  background-color: #aac5e7;\n}\n.layout-split-north {\n  border-bottom: 5px solid #E6EEF8;\n}\n.layout-split-south {\n  border-top: 5px solid #E6EEF8;\n}\n.layout-split-east {\n  border-left: 5px solid #E6EEF8;\n}\n.layout-split-west {\n  border-right: 5px solid #E6EEF8;\n}\n.layout-expand {\n  background-color: #E0ECFF;\n}\n.layout-expand-over {\n  background-color: #E0ECFF;\n}\n.tabs-container {\n  overflow: hidden;\n}\n.tabs-header {\n  border-width: 1px;\n  border-style: solid;\n  border-bottom-width: 0;\n  position: relative;\n  padding: 0;\n  padding-top: 2px;\n  overflow: hidden;\n}\n.tabs-header-plain {\n  border: 0;\n  background: transparent;\n}\n.tabs-scroller-left,\n.tabs-scroller-right {\n  position: absolute;\n  top: auto;\n  bottom: 0;\n  width: 18px;\n  font-size: 1px;\n  display: none;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-scroller-left {\n  left: 0;\n}\n.tabs-scroller-right {\n  right: 0;\n}\n.tabs-tool {\n  position: absolute;\n  bottom: 0;\n  padding: 1px;\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-header-plain .tabs-tool {\n  padding: 0 1px;\n}\n.tabs-wrap {\n  position: relative;\n  left: 0;\n  overflow: hidden;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n}\n.tabs-scrolling {\n  margin-left: 18px;\n  margin-right: 18px;\n}\n.tabs-disabled {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.tabs {\n  list-style-type: none;\n  height: 26px;\n  margin: 0px;\n  padding: 0px;\n  padding-left: 4px;\n  width: 50000px;\n  border-style: solid;\n  border-width: 0 0 1px 0;\n}\n.tabs li {\n  float: left;\n  display: inline-block;\n  margin: 0 4px -1px 0;\n  padding: 0;\n  position: relative;\n  border: 0;\n}\n.tabs li a.tabs-inner {\n  display: inline-block;\n  text-decoration: none;\n  margin: 0;\n  padding: 0 10px;\n  height: 25px;\n  line-height: 25px;\n  text-align: center;\n  white-space: nowrap;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 0 0;\n  -webkit-border-radius: 5px 5px 0 0;\n  border-radius: 5px 5px 0 0;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  font-weight: bold;\n  outline: none;\n}\n.tabs li.tabs-selected a:hover.tabs-inner {\n  cursor: default;\n  pointer: default;\n}\n.tabs li a.tabs-close,\n.tabs-p-tool {\n  position: absolute;\n  font-size: 1px;\n  display: block;\n  height: 12px;\n  padding: 0;\n  top: 50%;\n  margin-top: -6px;\n  overflow: hidden;\n}\n.tabs li a.tabs-close {\n  width: 12px;\n  right: 5px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs-p-tool {\n  right: 16px;\n}\n.tabs-p-tool a {\n  display: inline-block;\n  font-size: 1px;\n  width: 12px;\n  height: 12px;\n  margin: 0;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs li a:hover.tabs-close,\n.tabs-p-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  cursor: hand;\n  cursor: pointer;\n}\n.tabs-with-icon {\n  padding-left: 18px;\n}\n.tabs-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 10px;\n  top: 50%;\n  margin-top: -8px;\n}\n.tabs-title {\n  font-size: 12px;\n}\n.tabs-closable {\n  padding-right: 8px;\n}\n.tabs-panels {\n  margin: 0px;\n  padding: 0px;\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0;\n  overflow: hidden;\n}\n.tabs-header-bottom {\n  border-width: 0 1px 1px 1px;\n  padding: 0 0 2px 0;\n}\n.tabs-header-bottom .tabs {\n  border-width: 1px 0 0 0;\n}\n.tabs-header-bottom .tabs li {\n  margin: -1px 4px 0 0;\n}\n.tabs-header-bottom .tabs li a.tabs-inner {\n  -moz-border-radius: 0 0 5px 5px;\n  -webkit-border-radius: 0 0 5px 5px;\n  border-radius: 0 0 5px 5px;\n}\n.tabs-header-bottom .tabs-tool {\n  top: 0;\n}\n.tabs-header-bottom .tabs-scroller-left,\n.tabs-header-bottom .tabs-scroller-right {\n  top: 0;\n  bottom: auto;\n}\n.tabs-panels-top {\n  border-width: 1px 1px 0 1px;\n}\n.tabs-header-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n  padding: 0;\n}\n.tabs-header-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n  padding: 0;\n}\n.tabs-header-left .tabs-wrap,\n.tabs-header-right .tabs-wrap {\n  height: 100%;\n}\n.tabs-header-left .tabs {\n  height: 100%;\n  padding: 4px 0 0 4px;\n  border-width: 0 1px 0 0;\n}\n.tabs-header-right .tabs {\n  height: 100%;\n  padding: 4px 4px 0 0;\n  border-width: 0 0 0 1px;\n}\n.tabs-header-left .tabs li,\n.tabs-header-right .tabs li {\n  display: block;\n  width: 100%;\n  position: relative;\n}\n.tabs-header-left .tabs li {\n  left: auto;\n  right: 0;\n  margin: 0 -1px 4px 0;\n  float: right;\n}\n.tabs-header-right .tabs li {\n  left: 0;\n  right: auto;\n  margin: 0 0 4px -1px;\n  float: left;\n}\n.tabs-header-left .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.tabs-header-right .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 0 5px 5px 0;\n  -webkit-border-radius: 0 5px 5px 0;\n  border-radius: 0 5px 5px 0;\n}\n.tabs-panels-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n}\n.tabs-panels-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n}\n.tabs-header-noborder,\n.tabs-panels-noborder {\n  border: 0px;\n}\n.tabs-header-plain {\n  border: 0px;\n  background: transparent;\n}\n.tabs-scroller-left {\n  background: #E0ECFF url('images/tabs_icons.png') no-repeat 1px center;\n}\n.tabs-scroller-right {\n  background: #E0ECFF url('images/tabs_icons.png') no-repeat -15px center;\n}\n.tabs li a.tabs-close {\n  background: url('images/tabs_icons.png') no-repeat -34px center;\n}\n.tabs li a.tabs-inner:hover {\n  background: #eaf2ff;\n  color: #000000;\n  filter: none;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  background-color: #ffffff;\n  color: #0E2D5F;\n  background: -webkit-linear-gradient(top,#EFF5FF 0,#ffffff 100%);\n  background: -moz-linear-gradient(top,#EFF5FF 0,#ffffff 100%);\n  background: -o-linear-gradient(top,#EFF5FF 0,#ffffff 100%);\n  background: linear-gradient(to bottom,#EFF5FF 0,#ffffff 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=0);\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(top,#ffffff 0,#EFF5FF 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#EFF5FF 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#EFF5FF 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#EFF5FF 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=0);\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#EFF5FF 0,#ffffff 100%);\n  background: -moz-linear-gradient(left,#EFF5FF 0,#ffffff 100%);\n  background: -o-linear-gradient(left,#EFF5FF 0,#ffffff 100%);\n  background: linear-gradient(to right,#EFF5FF 0,#ffffff 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=1);\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#ffffff 0,#EFF5FF 100%);\n  background: -moz-linear-gradient(left,#ffffff 0,#EFF5FF 100%);\n  background: -o-linear-gradient(left,#ffffff 0,#EFF5FF 100%);\n  background: linear-gradient(to right,#ffffff 0,#EFF5FF 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=1);\n}\n.tabs li a.tabs-inner {\n  color: #0E2D5F;\n  background-color: #E0ECFF;\n  background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);\n  background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);\n  background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);\n  background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0);\n}\n.tabs-header,\n.tabs-tool {\n  background-color: #E0ECFF;\n}\n.tabs-header-plain {\n  background: transparent;\n}\n.tabs-header,\n.tabs-scroller-left,\n.tabs-scroller-right,\n.tabs-tool,\n.tabs,\n.tabs-panels,\n.tabs li a.tabs-inner,\n.tabs li.tabs-selected a.tabs-inner,\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-color: #95B8E7;\n}\n.tabs-p-tool a:hover,\n.tabs li a:hover.tabs-close,\n.tabs-scroller-over {\n  background-color: #eaf2ff;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  border-bottom: 1px solid #ffffff;\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  border-top: 1px solid #ffffff;\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  border-right: 1px solid #ffffff;\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-left: 1px solid #ffffff;\n}\n.datagrid .panel-body {\n  overflow: hidden;\n  position: relative;\n}\n.datagrid-view {\n  position: relative;\n  overflow: hidden;\n}\n.datagrid-view1,\n.datagrid-view2 {\n  position: absolute;\n  overflow: hidden;\n  top: 0;\n}\n.datagrid-view1 {\n  left: 0;\n}\n.datagrid-view2 {\n  right: 0;\n}\n.datagrid-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n  display: none;\n}\n.datagrid-mask-msg {\n  position: absolute;\n  top: 50%;\n  margin-top: -20px;\n  padding: 10px 5px 10px 30px;\n  width: auto;\n  height: 16px;\n  border-width: 2px;\n  border-style: solid;\n  display: none;\n}\n.datagrid-sort-icon {\n  padding: 0;\n}\n.datagrid-toolbar {\n  height: auto;\n  padding: 1px 2px;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.datagrid .datagrid-pager {\n  display: block;\n  margin: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.datagrid .datagrid-pager-top {\n  border-width: 0 0 1px 0;\n}\n.datagrid-header {\n  overflow: hidden;\n  cursor: default;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-header-inner {\n  float: left;\n  width: 10000px;\n}\n.datagrid-header-row,\n.datagrid-row {\n  height: 25px;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-width: 0 1px 1px 0;\n  border-style: dotted;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-cell,\n.datagrid-cell-group,\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  margin: 0;\n  padding: 0 4px;\n  white-space: nowrap;\n  word-wrap: normal;\n  overflow: hidden;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n}\n.datagrid-header .datagrid-cell {\n  height: auto;\n}\n.datagrid-header .datagrid-cell span {\n  font-size: 12px;\n}\n.datagrid-cell-group {\n  text-align: center;\n}\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  width: 25px;\n  text-align: center;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body {\n  margin: 0;\n  padding: 0;\n  overflow: auto;\n  zoom: 1;\n}\n.datagrid-view1 .datagrid-body-inner {\n  padding-bottom: 20px;\n}\n.datagrid-view1 .datagrid-body {\n  overflow: hidden;\n}\n.datagrid-footer {\n  overflow: hidden;\n}\n.datagrid-footer-inner {\n  border-width: 1px 0 0 0;\n  border-style: solid;\n  width: 10000px;\n  float: left;\n}\n.datagrid-row-editing .datagrid-cell {\n  height: auto;\n}\n.datagrid-header-check,\n.datagrid-cell-check {\n  padding: 0;\n  width: 27px;\n  height: 18px;\n  font-size: 1px;\n  text-align: center;\n  overflow: hidden;\n}\n.datagrid-header-check input,\n.datagrid-cell-check input {\n  margin: 0;\n  padding: 0;\n  width: 15px;\n  height: 18px;\n}\n.datagrid-resize-proxy {\n  position: absolute;\n  width: 1px;\n  height: 10000px;\n  top: 0;\n  cursor: e-resize;\n  display: none;\n}\n.datagrid-body .datagrid-editable {\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body .datagrid-editable table {\n  width: 100%;\n  height: 100%;\n}\n.datagrid-body .datagrid-editable td {\n  border: 0;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-view .datagrid-editable-input {\n  margin: 0;\n  padding: 2px 4px;\n  border: 1px solid #95B8E7;\n  font-size: 12px;\n  outline-style: none;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.datagrid-sort-desc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat -16px center;\n}\n.datagrid-sort-asc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat 0px center;\n}\n.datagrid-row-collapse {\n  background: url('images/datagrid_icons.png') no-repeat -48px center;\n}\n.datagrid-row-expand {\n  background: url('images/datagrid_icons.png') no-repeat -32px center;\n}\n.datagrid-mask-msg {\n  background: #ffffff url('images/loading.gif') no-repeat scroll 5px center;\n}\n.datagrid-header,\n.datagrid-td-rownumber {\n  background-color: #efefef;\n  background: -webkit-linear-gradient(top,#F9F9F9 0,#efefef 100%);\n  background: -moz-linear-gradient(top,#F9F9F9 0,#efefef 100%);\n  background: -o-linear-gradient(top,#F9F9F9 0,#efefef 100%);\n  background: linear-gradient(to bottom,#F9F9F9 0,#efefef 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F9F9F9,endColorstr=#efefef,GradientType=0);\n}\n.datagrid-cell-rownumber {\n  color: #000000;\n}\n.datagrid-resize-proxy {\n  background: #aac5e7;\n}\n.datagrid-mask {\n  background: #ccc;\n}\n.datagrid-mask-msg {\n  border-color: #95B8E7;\n}\n.datagrid-toolbar,\n.datagrid-pager {\n  background: #F4F4F4;\n}\n.datagrid-header,\n.datagrid-toolbar,\n.datagrid-pager,\n.datagrid-footer-inner {\n  border-color: #dddddd;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-color: #ccc;\n}\n.datagrid-htable,\n.datagrid-btable,\n.datagrid-ftable {\n  color: #000000;\n  border-collapse: separate;\n}\n.datagrid-row-alt {\n  background: #fafafa;\n}\n.datagrid-row-over,\n.datagrid-header td.datagrid-header-over {\n  background: #eaf2ff;\n  color: #000000;\n  cursor: default;\n}\n.datagrid-row-selected {\n  background: #ffe48d;\n  color: #000000;\n}\n.datagrid-row-editing .textbox,\n.datagrid-row-editing .textbox-text {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.propertygrid .datagrid-view1 .datagrid-body td {\n  padding-bottom: 1px;\n  border-width: 0 1px 0 0;\n}\n.propertygrid .datagrid-group {\n  height: 21px;\n  overflow: hidden;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.propertygrid .datagrid-group span {\n  font-weight: bold;\n}\n.propertygrid .datagrid-view1 .datagrid-body td {\n  border-color: #dddddd;\n}\n.propertygrid .datagrid-view1 .datagrid-group {\n  border-color: #E0ECFF;\n}\n.propertygrid .datagrid-view2 .datagrid-group {\n  border-color: #dddddd;\n}\n.propertygrid .datagrid-group,\n.propertygrid .datagrid-view1 .datagrid-body,\n.propertygrid .datagrid-view1 .datagrid-row-over,\n.propertygrid .datagrid-view1 .datagrid-row-selected {\n  background: #E0ECFF;\n}\n.pagination {\n  zoom: 1;\n}\n.pagination table {\n  float: left;\n  height: 30px;\n}\n.pagination td {\n  border: 0;\n}\n.pagination-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 3px 1px;\n}\n.pagination .pagination-num {\n  border-width: 1px;\n  border-style: solid;\n  margin: 0 2px;\n  padding: 2px;\n  width: 2em;\n  height: auto;\n}\n.pagination-page-list {\n  margin: 0px 6px;\n  padding: 1px 2px;\n  width: auto;\n  height: auto;\n  border-width: 1px;\n  border-style: solid;\n}\n.pagination-info {\n  float: right;\n  margin: 0 6px 0 0;\n  padding: 0;\n  height: 30px;\n  line-height: 30px;\n  font-size: 12px;\n}\n.pagination span {\n  font-size: 12px;\n}\n.pagination-link .l-btn-text {\n  width: 24px;\n  text-align: center;\n  margin: 0;\n}\n.pagination-first {\n  background: url('images/pagination_icons.png') no-repeat 0 center;\n}\n.pagination-prev {\n  background: url('images/pagination_icons.png') no-repeat -16px center;\n}\n.pagination-next {\n  background: url('images/pagination_icons.png') no-repeat -32px center;\n}\n.pagination-last {\n  background: url('images/pagination_icons.png') no-repeat -48px center;\n}\n.pagination-load {\n  background: url('images/pagination_icons.png') no-repeat -64px center;\n}\n.pagination-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.pagination-page-list,\n.pagination .pagination-num {\n  border-color: #95B8E7;\n}\n.calendar {\n  border-width: 1px;\n  border-style: solid;\n  padding: 1px;\n  overflow: hidden;\n}\n.calendar table {\n  table-layout: fixed;\n  border-collapse: separate;\n  font-size: 12px;\n  width: 100%;\n  height: 100%;\n}\n.calendar table td,\n.calendar table th {\n  font-size: 12px;\n}\n.calendar-noborder {\n  border: 0;\n}\n.calendar-header {\n  position: relative;\n  height: 22px;\n}\n.calendar-title {\n  text-align: center;\n  height: 22px;\n}\n.calendar-title span {\n  position: relative;\n  display: inline-block;\n  top: 2px;\n  padding: 0 3px;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth,\n.calendar-nextmonth,\n.calendar-prevyear,\n.calendar-nextyear {\n  position: absolute;\n  top: 50%;\n  margin-top: -7px;\n  width: 14px;\n  height: 14px;\n  cursor: pointer;\n  font-size: 1px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth {\n  left: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -18px -2px;\n}\n.calendar-nextmonth {\n  right: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -34px -2px;\n}\n.calendar-prevyear {\n  left: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -1px -2px;\n}\n.calendar-nextyear {\n  right: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -49px -2px;\n}\n.calendar-body {\n  position: relative;\n}\n.calendar-body th,\n.calendar-body td {\n  text-align: center;\n}\n.calendar-day {\n  border: 0;\n  padding: 1px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-other-month {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.calendar-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  cursor: default;\n}\n.calendar-menu {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 180px;\n  height: 150px;\n  padding: 5px;\n  font-size: 12px;\n  display: none;\n  overflow: hidden;\n}\n.calendar-menu-year-inner {\n  text-align: center;\n  padding-bottom: 5px;\n}\n.calendar-menu-year {\n  width: 40px;\n  text-align: center;\n  border-width: 1px;\n  border-style: solid;\n  margin: 0;\n  padding: 2px;\n  font-weight: bold;\n  font-size: 12px;\n}\n.calendar-menu-prev,\n.calendar-menu-next {\n  display: inline-block;\n  width: 21px;\n  height: 21px;\n  vertical-align: top;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-menu-prev {\n  margin-right: 10px;\n  background: url('images/calendar_arrows.png') no-repeat 2px 2px;\n}\n.calendar-menu-next {\n  margin-left: 10px;\n  background: url('images/calendar_arrows.png') no-repeat -45px 2px;\n}\n.calendar-menu-month {\n  text-align: center;\n  cursor: pointer;\n  font-weight: bold;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-body th,\n.calendar-menu-month {\n  color: #4d4d4d;\n}\n.calendar-day {\n  color: #000000;\n}\n.calendar-sunday {\n  color: #CC2222;\n}\n.calendar-saturday {\n  color: #00ee00;\n}\n.calendar-today {\n  color: #0000ff;\n}\n.calendar-menu-year {\n  border-color: #95B8E7;\n}\n.calendar {\n  border-color: #95B8E7;\n}\n.calendar-header {\n  background: #E0ECFF;\n}\n.calendar-body,\n.calendar-menu {\n  background: #ffffff;\n}\n.calendar-body th {\n  background: #F4F4F4;\n  padding: 2px 0;\n}\n.calendar-hover,\n.calendar-nav-hover,\n.calendar-menu-hover {\n  background-color: #eaf2ff;\n  color: #000000;\n}\n.calendar-hover {\n  border: 1px solid #b7d2ff;\n  padding: 0;\n}\n.calendar-selected {\n  background-color: #ffe48d;\n  color: #000000;\n  border: 1px solid #ffab3f;\n  padding: 0;\n}\n.datebox-calendar-inner {\n  height: 180px;\n}\n.datebox-button {\n  height: 18px;\n  padding: 2px 5px;\n  text-align: center;\n}\n.datebox-button a {\n  font-size: 12px;\n  font-weight: bold;\n  text-decoration: none;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.datebox-button a:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.datebox-current,\n.datebox-close {\n  float: left;\n}\n.datebox-close {\n  float: right;\n}\n.datebox .combo-arrow {\n  background-image: url('images/datebox_arrow.png');\n  background-position: center center;\n}\n.datebox-button {\n  background-color: #F4F4F4;\n}\n.datebox-button a {\n  color: #444;\n}\n.numberbox {\n  border: 1px solid #95B8E7;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: middle;\n}\n.textbox {\n  padding: 0;\n}\n.spinner {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.spinner .spinner-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: baseline;\n}\n.spinner-arrow {\n  background-color: #E0ECFF;\n  display: inline-block;\n  overflow: hidden;\n  vertical-align: top;\n  margin: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  width: 18px;\n}\n.spinner-arrow-up,\n.spinner-arrow-down {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  display: block;\n  font-size: 1px;\n  width: 18px;\n  height: 10px;\n  width: 100%;\n  height: 50%;\n  outline-style: none;\n}\n.spinner-arrow-hover {\n  background-color: #eaf2ff;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.spinner-arrow-up:hover,\n.spinner-arrow-down:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  background-color: #eaf2ff;\n}\n.textbox-icon-disabled .spinner-arrow-up:hover,\n.textbox-icon-disabled .spinner-arrow-down:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  background-color: #E0ECFF;\n  cursor: default;\n}\n.spinner .textbox-icon-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.spinner-arrow-up {\n  background: url('images/spinner_arrows.png') no-repeat 1px center;\n}\n.spinner-arrow-down {\n  background: url('images/spinner_arrows.png') no-repeat -15px center;\n}\n.spinner {\n  border-color: #95B8E7;\n}\n.progressbar {\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  overflow: hidden;\n  position: relative;\n}\n.progressbar-text {\n  text-align: center;\n  position: absolute;\n}\n.progressbar-value {\n  position: relative;\n  overflow: hidden;\n  width: 0;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.progressbar {\n  border-color: #95B8E7;\n}\n.progressbar-text {\n  color: #000000;\n  font-size: 12px;\n}\n.progressbar-value .progressbar-text {\n  background-color: #ffe48d;\n  color: #000000;\n}\n.searchbox {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.searchbox .searchbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: top;\n}\n.searchbox .searchbox-prompt {\n  font-size: 12px;\n  color: #ccc;\n}\n.searchbox-button {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.searchbox-button-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.searchbox .l-btn-plain {\n  border: 0;\n  padding: 0;\n  vertical-align: top;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .l-btn-plain:hover {\n  border: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox a.m-btn-plain-active {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .m-btn-active {\n  border-width: 0 1px 0 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .textbox-button-right {\n  border-width: 0 0 0 1px;\n}\n.searchbox .textbox-button-left {\n  border-width: 0 1px 0 0;\n}\n.searchbox-button {\n  background: url('images/searchbox_button.png') no-repeat center center;\n}\n.searchbox {\n  border-color: #95B8E7;\n  background-color: #fff;\n}\n.searchbox .l-btn-plain {\n  background: #E0ECFF;\n}\n.searchbox .l-btn-plain-disabled,\n.searchbox .l-btn-plain-disabled:hover {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n.slider-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.slider-h {\n  height: 22px;\n}\n.slider-v {\n  width: 22px;\n}\n.slider-inner {\n  position: relative;\n  height: 6px;\n  top: 7px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n}\n.slider-handle {\n  position: absolute;\n  display: block;\n  outline: none;\n  width: 20px;\n  height: 20px;\n  top: 50%;\n  margin-top: -10px;\n  margin-left: -10px;\n}\n.slider-tip {\n  position: absolute;\n  display: inline-block;\n  line-height: 12px;\n  font-size: 12px;\n  white-space: nowrap;\n  top: -22px;\n}\n.slider-rule {\n  position: relative;\n  top: 15px;\n}\n.slider-rule span {\n  position: absolute;\n  display: inline-block;\n  font-size: 0;\n  height: 5px;\n  border-width: 0 0 0 1px;\n  border-style: solid;\n}\n.slider-rulelabel {\n  position: relative;\n  top: 20px;\n}\n.slider-rulelabel span {\n  position: absolute;\n  display: inline-block;\n  font-size: 12px;\n}\n.slider-v .slider-inner {\n  width: 6px;\n  left: 7px;\n  top: 0;\n  float: left;\n}\n.slider-v .slider-handle {\n  left: 50%;\n  margin-top: -10px;\n}\n.slider-v .slider-tip {\n  left: -10px;\n  margin-top: -6px;\n}\n.slider-v .slider-rule {\n  float: left;\n  top: 0;\n  left: 16px;\n}\n.slider-v .slider-rule span {\n  width: 5px;\n  height: 'auto';\n  border-left: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.slider-v .slider-rulelabel {\n  float: left;\n  top: 0;\n  left: 23px;\n}\n.slider-handle {\n  background: url('images/slider_handle.png') no-repeat;\n}\n.slider-inner {\n  border-color: #95B8E7;\n  background: #E0ECFF;\n}\n.slider-rule span {\n  border-color: #95B8E7;\n}\n.slider-rulelabel span {\n  color: #000000;\n}\n.menu {\n  position: absolute;\n  margin: 0;\n  padding: 2px;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n}\n.menu-item {\n  position: relative;\n  margin: 0;\n  padding: 0;\n  overflow: hidden;\n  white-space: nowrap;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.menu-text {\n  height: 20px;\n  line-height: 20px;\n  float: left;\n  padding-left: 28px;\n}\n.menu-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 2px;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-rightarrow {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-line {\n  position: absolute;\n  left: 26px;\n  top: 0;\n  height: 2000px;\n  font-size: 1px;\n}\n.menu-sep {\n  margin: 3px 0px 3px 25px;\n  font-size: 1px;\n}\n.menu-active {\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.menu-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  cursor: default;\n}\n.menu-text,\n.menu-text span {\n  font-size: 12px;\n}\n.menu-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  background: #ccc;\n  -moz-box-shadow: 2px 2px 3px #cccccc;\n  -webkit-box-shadow: 2px 2px 3px #cccccc;\n  box-shadow: 2px 2px 3px #cccccc;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.menu-rightarrow {\n  background: url('images/menu_arrows.png') no-repeat -32px center;\n}\n.menu-line {\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n}\n.menu-sep {\n  border-top: 1px solid #ccc;\n  border-bottom: 1px solid #fff;\n}\n.menu {\n  background-color: #fafafa;\n  border-color: #ddd;\n  color: #444;\n}\n.menu-content {\n  background: #ffffff;\n}\n.menu-item {\n  border-color: transparent;\n  _border-color: #fafafa;\n}\n.menu-active {\n  border-color: #b7d2ff;\n  color: #000000;\n  background: #eaf2ff;\n}\n.menu-active-disabled {\n  border-color: transparent;\n  background: transparent;\n  color: #444;\n}\n.m-btn-downarrow,\n.s-btn-downarrow {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  font-size: 1px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.m-btn-active,\n.s-btn-active {\n  background: #eaf2ff;\n  color: #000000;\n  border: 1px solid #b7d2ff;\n  filter: none;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  background: transparent;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.m-btn .l-btn-left .l-btn-text {\n  margin-right: 20px;\n}\n.m-btn .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.m-btn .l-btn-icon-right .l-btn-icon {\n  right: 20px;\n}\n.m-btn .l-btn-icon-top .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 14px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 34px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 20px;\n}\n.m-btn .l-btn-icon-top .m-btn-downarrow,\n.m-btn .l-btn-icon-bottom .m-btn-downarrow {\n  top: auto;\n  bottom: 0px;\n  left: 50%;\n  margin-left: -8px;\n}\n.m-btn-line {\n  display: inline-block;\n  position: absolute;\n  font-size: 1px;\n  display: none;\n}\n.m-btn .l-btn-left .m-btn-line {\n  right: 0;\n  width: 16px;\n  height: 500px;\n  border-style: solid;\n  border-color: #aac5e7;\n  border-width: 0 0 0 1px;\n}\n.m-btn .l-btn-icon-top .m-btn-line,\n.m-btn .l-btn-icon-bottom .m-btn-line {\n  left: 0;\n  bottom: 0;\n  width: 500px;\n  height: 16px;\n  border-width: 1px 0 0 0;\n}\n.m-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 56px;\n}\n.m-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 50px;\n}\n.m-btn-downarrow,\n.s-btn-downarrow {\n  background: url('images/menu_arrows.png') no-repeat 0 center;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  border-color: #b7d2ff;\n  background-color: #eaf2ff;\n  color: #000000;\n}\n.s-btn:hover .m-btn-line,\n.s-btn-active .m-btn-line,\n.s-btn-plain-active .m-btn-line {\n  display: inline-block;\n}\n.l-btn:hover .s-btn-downarrow,\n.s-btn-active .s-btn-downarrow,\n.s-btn-plain-active .s-btn-downarrow {\n  border-style: solid;\n  border-color: #aac5e7;\n  border-width: 0 0 0 1px;\n}\n.messager-body {\n  padding: 10px;\n  overflow: hidden;\n}\n.messager-button {\n  text-align: center;\n  padding-top: 10px;\n}\n.messager-button .l-btn {\n  width: 70px;\n}\n.messager-icon {\n  float: left;\n  width: 32px;\n  height: 32px;\n  margin: 0 10px 10px 0;\n}\n.messager-error {\n  background: url('images/messager_icons.png') no-repeat scroll -64px 0;\n}\n.messager-info {\n  background: url('images/messager_icons.png') no-repeat scroll 0 0;\n}\n.messager-question {\n  background: url('images/messager_icons.png') no-repeat scroll -32px 0;\n}\n.messager-warning {\n  background: url('images/messager_icons.png') no-repeat scroll -96px 0;\n}\n.messager-progress {\n  padding: 10px;\n}\n.messager-p-msg {\n  margin-bottom: 5px;\n}\n.messager-body .messager-input {\n  width: 100%;\n  padding: 1px 0;\n  border: 1px solid #95B8E7;\n}\n.tree {\n  margin: 0;\n  padding: 0;\n  list-style-type: none;\n}\n.tree li {\n  white-space: nowrap;\n}\n.tree li ul {\n  list-style-type: none;\n  margin: 0;\n  padding: 0;\n}\n.tree-node {\n  height: 18px;\n  white-space: nowrap;\n  cursor: pointer;\n}\n.tree-hit {\n  cursor: pointer;\n}\n.tree-expanded,\n.tree-collapsed,\n.tree-folder,\n.tree-file,\n.tree-checkbox,\n.tree-indent {\n  display: inline-block;\n  width: 16px;\n  height: 18px;\n  vertical-align: top;\n  overflow: hidden;\n}\n.tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -18px 0px;\n}\n.tree-expanded-hover {\n  background: url('images/tree_icons.png') no-repeat -50px 0px;\n}\n.tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat 0px 0px;\n}\n.tree-collapsed-hover {\n  background: url('images/tree_icons.png') no-repeat -32px 0px;\n}\n.tree-lines .tree-expanded,\n.tree-lines .tree-root-first .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -144px 0;\n}\n.tree-lines .tree-collapsed,\n.tree-lines .tree-root-first .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -128px 0;\n}\n.tree-lines .tree-node-last .tree-expanded,\n.tree-lines .tree-root-one .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -80px 0;\n}\n.tree-lines .tree-node-last .tree-collapsed,\n.tree-lines .tree-root-one .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -64px 0;\n}\n.tree-line {\n  background: url('images/tree_icons.png') no-repeat -176px 0;\n}\n.tree-join {\n  background: url('images/tree_icons.png') no-repeat -192px 0;\n}\n.tree-joinbottom {\n  background: url('images/tree_icons.png') no-repeat -160px 0;\n}\n.tree-folder {\n  background: url('images/tree_icons.png') no-repeat -208px 0;\n}\n.tree-folder-open {\n  background: url('images/tree_icons.png') no-repeat -224px 0;\n}\n.tree-file {\n  background: url('images/tree_icons.png') no-repeat -240px 0;\n}\n.tree-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.tree-checkbox0 {\n  background: url('images/tree_icons.png') no-repeat -208px -18px;\n}\n.tree-checkbox1 {\n  background: url('images/tree_icons.png') no-repeat -224px -18px;\n}\n.tree-checkbox2 {\n  background: url('images/tree_icons.png') no-repeat -240px -18px;\n}\n.tree-title {\n  font-size: 12px;\n  display: inline-block;\n  text-decoration: none;\n  vertical-align: top;\n  white-space: nowrap;\n  padding: 0 2px;\n  height: 18px;\n  line-height: 18px;\n}\n.tree-node-proxy {\n  font-size: 12px;\n  line-height: 20px;\n  padding: 0 2px 0 20px;\n  border-width: 1px;\n  border-style: solid;\n  z-index: 9900000;\n}\n.tree-dnd-icon {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 18px;\n  left: 2px;\n  top: 50%;\n  margin-top: -9px;\n}\n.tree-dnd-yes {\n  background: url('images/tree_icons.png') no-repeat -256px 0;\n}\n.tree-dnd-no {\n  background: url('images/tree_icons.png') no-repeat -256px -18px;\n}\n.tree-node-top {\n  border-top: 1px dotted red;\n}\n.tree-node-bottom {\n  border-bottom: 1px dotted red;\n}\n.tree-node-append .tree-title {\n  border: 1px dotted red;\n}\n.tree-editor {\n  border: 1px solid #ccc;\n  font-size: 12px;\n  height: 14px !important;\n  height: 18px;\n  line-height: 14px;\n  padding: 1px 2px;\n  width: 80px;\n  position: absolute;\n  top: 0;\n}\n.tree-node-proxy {\n  background-color: #ffffff;\n  color: #000000;\n  border-color: #95B8E7;\n}\n.tree-node-hover {\n  background: #eaf2ff;\n  color: #000000;\n}\n.tree-node-selected {\n  background: #ffe48d;\n  color: #000000;\n}\n.validatebox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n  color: #000;\n}\n.tooltip {\n  position: absolute;\n  display: none;\n  z-index: 9900000;\n  outline: none;\n  opacity: 1;\n  filter: alpha(opacity=100);\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.tooltip-content {\n  font-size: 12px;\n}\n.tooltip-arrow-outer,\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  line-height: 0;\n  font-size: 0;\n  border-style: solid;\n  border-width: 6px;\n  border-color: transparent;\n  _border-color: tomato;\n  _filter: chroma(color=tomato);\n}\n.tooltip-right .tooltip-arrow-outer {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -13px;\n}\n.tooltip-right .tooltip-arrow {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -12px;\n}\n.tooltip-left .tooltip-arrow-outer {\n  right: 0;\n  top: 50%;\n  margin: -6px -13px 0 0;\n}\n.tooltip-left .tooltip-arrow {\n  right: 0;\n  top: 50%;\n  margin: -6px -12px 0 0;\n}\n.tooltip-top .tooltip-arrow-outer {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -13px -6px;\n}\n.tooltip-top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -12px -6px;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  top: 0;\n  left: 50%;\n  margin: -13px 0 0 -6px;\n}\n.tooltip-bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin: -12px 0 0 -6px;\n}\n.tooltip {\n  background-color: #ffffff;\n  border-color: #95B8E7;\n  color: #000000;\n}\n.tooltip-right .tooltip-arrow-outer {\n  border-right-color: #95B8E7;\n}\n.tooltip-right .tooltip-arrow {\n  border-right-color: #ffffff;\n}\n.tooltip-left .tooltip-arrow-outer {\n  border-left-color: #95B8E7;\n}\n.tooltip-left .tooltip-arrow {\n  border-left-color: #ffffff;\n}\n.tooltip-top .tooltip-arrow-outer {\n  border-top-color: #95B8E7;\n}\n.tooltip-top .tooltip-arrow {\n  border-top-color: #ffffff;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  border-bottom-color: #95B8E7;\n}\n.tooltip-bottom .tooltip-arrow {\n  border-bottom-color: #ffffff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/filebox.css",
    "content": ".filebox .textbox-value {\n  vertical-align: top;\n  position: absolute;\n  top: 0;\n  left: -5000px;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/layout.css",
    "content": ".layout {\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  z-index: 0;\n}\n.layout-panel {\n  position: absolute;\n  overflow: hidden;\n}\n.layout-panel-east,\n.layout-panel-west {\n  z-index: 2;\n}\n.layout-panel-north,\n.layout-panel-south {\n  z-index: 3;\n}\n.layout-expand {\n  position: absolute;\n  padding: 0px;\n  font-size: 1px;\n  cursor: pointer;\n  z-index: 1;\n}\n.layout-expand .panel-header,\n.layout-expand .panel-body {\n  background: transparent;\n  filter: none;\n  overflow: hidden;\n}\n.layout-expand .panel-header {\n  border-bottom-width: 0px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  position: absolute;\n  font-size: 1px;\n  display: none;\n  z-index: 5;\n}\n.layout-split-proxy-h {\n  width: 5px;\n  cursor: e-resize;\n}\n.layout-split-proxy-v {\n  height: 5px;\n  cursor: n-resize;\n}\n.layout-mask {\n  position: absolute;\n  background: #fafafa;\n  filter: alpha(opacity=10);\n  opacity: 0.10;\n  z-index: 4;\n}\n.layout-button-up {\n  background: url('images/layout_arrows.png') no-repeat -16px -16px;\n}\n.layout-button-down {\n  background: url('images/layout_arrows.png') no-repeat -16px 0;\n}\n.layout-button-left {\n  background: url('images/layout_arrows.png') no-repeat 0 0;\n}\n.layout-button-right {\n  background: url('images/layout_arrows.png') no-repeat 0 -16px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  background-color: #aac5e7;\n}\n.layout-split-north {\n  border-bottom: 5px solid #E6EEF8;\n}\n.layout-split-south {\n  border-top: 5px solid #E6EEF8;\n}\n.layout-split-east {\n  border-left: 5px solid #E6EEF8;\n}\n.layout-split-west {\n  border-right: 5px solid #E6EEF8;\n}\n.layout-expand {\n  background-color: #E0ECFF;\n}\n.layout-expand-over {\n  background-color: #E0ECFF;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/linkbutton.css",
    "content": ".l-btn {\n  text-decoration: none;\n  display: inline-block;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  cursor: pointer;\n  outline: none;\n  text-align: center;\n  vertical-align: middle;\n}\n.l-btn-plain {\n  border: 0;\n  padding: 1px;\n}\n.l-btn-left {\n  display: inline-block;\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  vertical-align: top;\n}\n.l-btn-text {\n  display: inline-block;\n  vertical-align: top;\n  width: auto;\n  line-height: 24px;\n  font-size: 12px;\n  padding: 0;\n  margin: 0 4px;\n}\n.l-btn-icon {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  line-height: 16px;\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  font-size: 1px;\n}\n.l-btn span span .l-btn-empty {\n  display: inline-block;\n  margin: 0;\n  width: 16px;\n  height: 24px;\n  font-size: 1px;\n  vertical-align: top;\n}\n.l-btn span .l-btn-icon-left {\n  padding: 0 0 0 20px;\n  background-position: left center;\n}\n.l-btn span .l-btn-icon-right {\n  padding: 0 20px 0 0;\n  background-position: right center;\n}\n.l-btn-icon-left .l-btn-text {\n  margin: 0 4px 0 24px;\n}\n.l-btn-icon-left .l-btn-icon {\n  left: 4px;\n}\n.l-btn-icon-right .l-btn-text {\n  margin: 0 24px 0 4px;\n}\n.l-btn-icon-right .l-btn-icon {\n  right: 4px;\n}\n.l-btn-icon-top .l-btn-text {\n  margin: 20px 4px 0 4px;\n}\n.l-btn-icon-top .l-btn-icon {\n  top: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-icon-bottom .l-btn-text {\n  margin: 0 4px 20px 4px;\n}\n.l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 16px;\n}\n.l-btn-plain:hover {\n  padding: 0;\n}\n.l-btn-focus {\n  outline: #0000FF dotted thin;\n}\n.l-btn-large .l-btn-text {\n  line-height: 40px;\n}\n.l-btn-large .l-btn-icon {\n  width: 32px;\n  height: 32px;\n  line-height: 32px;\n  margin-top: -16px;\n}\n.l-btn-large .l-btn-icon-left .l-btn-text {\n  margin-left: 40px;\n}\n.l-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-text {\n  margin-top: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 32px;\n}\n.l-btn {\n  color: #444;\n  background: #fafafa;\n  background-repeat: repeat-x;\n  border: 1px solid #bbb;\n  background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0);\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn:hover {\n  background: #eaf2ff;\n  color: #000000;\n  border: 1px solid #b7d2ff;\n  filter: none;\n}\n.l-btn-plain {\n  background: transparent;\n  border: 0;\n  filter: none;\n}\n.l-btn-plain:hover {\n  background: #eaf2ff;\n  color: #000000;\n  border: 1px solid #b7d2ff;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn-disabled,\n.l-btn-disabled:hover {\n  opacity: 0.5;\n  cursor: default;\n  background: #fafafa;\n  color: #444;\n  background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0);\n}\n.l-btn-disabled .l-btn-text,\n.l-btn-disabled .l-btn-icon {\n  filter: alpha(opacity=50);\n}\n.l-btn-plain-disabled,\n.l-btn-plain-disabled:hover {\n  background: transparent;\n  filter: alpha(opacity=50);\n}\n.l-btn-selected,\n.l-btn-selected:hover {\n  background: #ddd;\n  filter: none;\n}\n.l-btn-plain-selected,\n.l-btn-plain-selected:hover {\n  background: #ddd;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/menu.css",
    "content": ".menu {\n  position: absolute;\n  margin: 0;\n  padding: 2px;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n}\n.menu-item {\n  position: relative;\n  margin: 0;\n  padding: 0;\n  overflow: hidden;\n  white-space: nowrap;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.menu-text {\n  height: 20px;\n  line-height: 20px;\n  float: left;\n  padding-left: 28px;\n}\n.menu-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 2px;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-rightarrow {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-line {\n  position: absolute;\n  left: 26px;\n  top: 0;\n  height: 2000px;\n  font-size: 1px;\n}\n.menu-sep {\n  margin: 3px 0px 3px 25px;\n  font-size: 1px;\n}\n.menu-active {\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.menu-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  cursor: default;\n}\n.menu-text,\n.menu-text span {\n  font-size: 12px;\n}\n.menu-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  background: #ccc;\n  -moz-box-shadow: 2px 2px 3px #cccccc;\n  -webkit-box-shadow: 2px 2px 3px #cccccc;\n  box-shadow: 2px 2px 3px #cccccc;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.menu-rightarrow {\n  background: url('images/menu_arrows.png') no-repeat -32px center;\n}\n.menu-line {\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n}\n.menu-sep {\n  border-top: 1px solid #ccc;\n  border-bottom: 1px solid #fff;\n}\n.menu {\n  background-color: #fafafa;\n  border-color: #ddd;\n  color: #444;\n}\n.menu-content {\n  background: #ffffff;\n}\n.menu-item {\n  border-color: transparent;\n  _border-color: #fafafa;\n}\n.menu-active {\n  border-color: #b7d2ff;\n  color: #000000;\n  background: #eaf2ff;\n}\n.menu-active-disabled {\n  border-color: transparent;\n  background: transparent;\n  color: #444;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/menubutton.css",
    "content": ".m-btn-downarrow,\n.s-btn-downarrow {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  font-size: 1px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.m-btn-active,\n.s-btn-active {\n  background: #eaf2ff;\n  color: #000000;\n  border: 1px solid #b7d2ff;\n  filter: none;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  background: transparent;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.m-btn .l-btn-left .l-btn-text {\n  margin-right: 20px;\n}\n.m-btn .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.m-btn .l-btn-icon-right .l-btn-icon {\n  right: 20px;\n}\n.m-btn .l-btn-icon-top .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 14px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 34px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 20px;\n}\n.m-btn .l-btn-icon-top .m-btn-downarrow,\n.m-btn .l-btn-icon-bottom .m-btn-downarrow {\n  top: auto;\n  bottom: 0px;\n  left: 50%;\n  margin-left: -8px;\n}\n.m-btn-line {\n  display: inline-block;\n  position: absolute;\n  font-size: 1px;\n  display: none;\n}\n.m-btn .l-btn-left .m-btn-line {\n  right: 0;\n  width: 16px;\n  height: 500px;\n  border-style: solid;\n  border-color: #aac5e7;\n  border-width: 0 0 0 1px;\n}\n.m-btn .l-btn-icon-top .m-btn-line,\n.m-btn .l-btn-icon-bottom .m-btn-line {\n  left: 0;\n  bottom: 0;\n  width: 500px;\n  height: 16px;\n  border-width: 1px 0 0 0;\n}\n.m-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 56px;\n}\n.m-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 50px;\n}\n.m-btn-downarrow,\n.s-btn-downarrow {\n  background: url('images/menu_arrows.png') no-repeat 0 center;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  border-color: #b7d2ff;\n  background-color: #eaf2ff;\n  color: #000000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/messager.css",
    "content": ".messager-body {\n  padding: 10px;\n  overflow: hidden;\n}\n.messager-button {\n  text-align: center;\n  padding-top: 10px;\n}\n.messager-button .l-btn {\n  width: 70px;\n}\n.messager-icon {\n  float: left;\n  width: 32px;\n  height: 32px;\n  margin: 0 10px 10px 0;\n}\n.messager-error {\n  background: url('images/messager_icons.png') no-repeat scroll -64px 0;\n}\n.messager-info {\n  background: url('images/messager_icons.png') no-repeat scroll 0 0;\n}\n.messager-question {\n  background: url('images/messager_icons.png') no-repeat scroll -32px 0;\n}\n.messager-warning {\n  background: url('images/messager_icons.png') no-repeat scroll -96px 0;\n}\n.messager-progress {\n  padding: 10px;\n}\n.messager-p-msg {\n  margin-bottom: 5px;\n}\n.messager-body .messager-input {\n  width: 100%;\n  padding: 1px 0;\n  border: 1px solid #95B8E7;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/numberbox.css",
    "content": ".numberbox {\n  border: 1px solid #95B8E7;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: middle;\n}\n.textbox {\n  padding: 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/pagination.css",
    "content": ".pagination {\n  zoom: 1;\n}\n.pagination table {\n  float: left;\n  height: 30px;\n}\n.pagination td {\n  border: 0;\n}\n.pagination-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 3px 1px;\n}\n.pagination .pagination-num {\n  border-width: 1px;\n  border-style: solid;\n  margin: 0 2px;\n  padding: 2px;\n  width: 2em;\n  height: auto;\n}\n.pagination-page-list {\n  margin: 0px 6px;\n  padding: 1px 2px;\n  width: auto;\n  height: auto;\n  border-width: 1px;\n  border-style: solid;\n}\n.pagination-info {\n  float: right;\n  margin: 0 6px 0 0;\n  padding: 0;\n  height: 30px;\n  line-height: 30px;\n  font-size: 12px;\n}\n.pagination span {\n  font-size: 12px;\n}\n.pagination-link .l-btn-text {\n  width: 24px;\n  text-align: center;\n  margin: 0;\n}\n.pagination-first {\n  background: url('images/pagination_icons.png') no-repeat 0 center;\n}\n.pagination-prev {\n  background: url('images/pagination_icons.png') no-repeat -16px center;\n}\n.pagination-next {\n  background: url('images/pagination_icons.png') no-repeat -32px center;\n}\n.pagination-last {\n  background: url('images/pagination_icons.png') no-repeat -48px center;\n}\n.pagination-load {\n  background: url('images/pagination_icons.png') no-repeat -64px center;\n}\n.pagination-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.pagination-page-list,\n.pagination .pagination-num {\n  border-color: #95B8E7;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/panel.css",
    "content": ".panel {\n  overflow: hidden;\n  text-align: left;\n  margin: 0;\n  border: 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.panel-header,\n.panel-body {\n  border-width: 1px;\n  border-style: solid;\n}\n.panel-header {\n  padding: 5px;\n  position: relative;\n}\n.panel-title {\n  background: url('images/blank.gif') no-repeat;\n}\n.panel-header-noborder {\n  border-width: 0 0 1px 0;\n}\n.panel-body {\n  overflow: auto;\n  border-top-width: 0;\n  padding: 0;\n}\n.panel-body-noheader {\n  border-top-width: 1px;\n}\n.panel-body-noborder {\n  border-width: 0px;\n}\n.panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.panel-with-icon {\n  padding-left: 18px;\n}\n.panel-icon,\n.panel-tool {\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  height: 16px;\n  overflow: hidden;\n}\n.panel-icon {\n  left: 5px;\n  width: 16px;\n}\n.panel-tool {\n  right: 5px;\n  width: auto;\n}\n.panel-tool a {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  margin: 0 0 0 2px;\n  vertical-align: top;\n}\n.panel-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  background-color: #eaf2ff;\n  -moz-border-radius: 3px 3px 3px 3px;\n  -webkit-border-radius: 3px 3px 3px 3px;\n  border-radius: 3px 3px 3px 3px;\n}\n.panel-loading {\n  padding: 11px 0px 10px 30px;\n}\n.panel-noscroll {\n  overflow: hidden;\n}\n.panel-fit,\n.panel-fit body {\n  height: 100%;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  overflow: hidden;\n}\n.panel-loading {\n  background: url('images/loading.gif') no-repeat 10px 10px;\n}\n.panel-tool-close {\n  background: url('images/panel_tools.png') no-repeat -16px 0px;\n}\n.panel-tool-min {\n  background: url('images/panel_tools.png') no-repeat 0px 0px;\n}\n.panel-tool-max {\n  background: url('images/panel_tools.png') no-repeat 0px -16px;\n}\n.panel-tool-restore {\n  background: url('images/panel_tools.png') no-repeat -16px -16px;\n}\n.panel-tool-collapse {\n  background: url('images/panel_tools.png') no-repeat -32px 0;\n}\n.panel-tool-expand {\n  background: url('images/panel_tools.png') no-repeat -32px -16px;\n}\n.panel-header,\n.panel-body {\n  border-color: #95B8E7;\n}\n.panel-header {\n  background-color: #E0ECFF;\n  background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);\n  background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);\n  background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);\n  background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0);\n}\n.panel-body {\n  background-color: #ffffff;\n  color: #000000;\n  font-size: 12px;\n}\n.panel-title {\n  font-size: 12px;\n  font-weight: bold;\n  color: #0E2D5F;\n  height: 16px;\n  line-height: 16px;\n}\n.panel-footer {\n  border: 1px solid #95B8E7;\n  overflow: hidden;\n  background: #F4F4F4;\n}\n.panel-footer-noborder {\n  border-width: 1px 0 0 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/progressbar.css",
    "content": ".progressbar {\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  overflow: hidden;\n  position: relative;\n}\n.progressbar-text {\n  text-align: center;\n  position: absolute;\n}\n.progressbar-value {\n  position: relative;\n  overflow: hidden;\n  width: 0;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.progressbar {\n  border-color: #95B8E7;\n}\n.progressbar-text {\n  color: #000000;\n  font-size: 12px;\n}\n.progressbar-value .progressbar-text {\n  background-color: #ffe48d;\n  color: #000000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/propertygrid.css",
    "content": ".propertygrid .datagrid-view1 .datagrid-body td {\n  padding-bottom: 1px;\n  border-width: 0 1px 0 0;\n}\n.propertygrid .datagrid-group {\n  height: 21px;\n  overflow: hidden;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.propertygrid .datagrid-group span {\n  font-weight: bold;\n}\n.propertygrid .datagrid-view1 .datagrid-body td {\n  border-color: #dddddd;\n}\n.propertygrid .datagrid-view1 .datagrid-group {\n  border-color: #E0ECFF;\n}\n.propertygrid .datagrid-view2 .datagrid-group {\n  border-color: #dddddd;\n}\n.propertygrid .datagrid-group,\n.propertygrid .datagrid-view1 .datagrid-body,\n.propertygrid .datagrid-view1 .datagrid-row-over,\n.propertygrid .datagrid-view1 .datagrid-row-selected {\n  background: #E0ECFF;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/searchbox.css",
    "content": ".searchbox {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.searchbox .searchbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: top;\n}\n.searchbox .searchbox-prompt {\n  font-size: 12px;\n  color: #ccc;\n}\n.searchbox-button {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.searchbox-button-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.searchbox .l-btn-plain {\n  border: 0;\n  padding: 0;\n  vertical-align: top;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .l-btn-plain:hover {\n  border: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox a.m-btn-plain-active {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .m-btn-active {\n  border-width: 0 1px 0 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .textbox-button-right {\n  border-width: 0 0 0 1px;\n}\n.searchbox .textbox-button-left {\n  border-width: 0 1px 0 0;\n}\n.searchbox-button {\n  background: url('images/searchbox_button.png') no-repeat center center;\n}\n.searchbox {\n  border-color: #95B8E7;\n  background-color: #fff;\n}\n.searchbox .l-btn-plain {\n  background: #E0ECFF;\n}\n.searchbox .l-btn-plain-disabled,\n.searchbox .l-btn-plain-disabled:hover {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/slider.css",
    "content": ".slider-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.slider-h {\n  height: 22px;\n}\n.slider-v {\n  width: 22px;\n}\n.slider-inner {\n  position: relative;\n  height: 6px;\n  top: 7px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n}\n.slider-handle {\n  position: absolute;\n  display: block;\n  outline: none;\n  width: 20px;\n  height: 20px;\n  top: 50%;\n  margin-top: -10px;\n  margin-left: -10px;\n}\n.slider-tip {\n  position: absolute;\n  display: inline-block;\n  line-height: 12px;\n  font-size: 12px;\n  white-space: nowrap;\n  top: -22px;\n}\n.slider-rule {\n  position: relative;\n  top: 15px;\n}\n.slider-rule span {\n  position: absolute;\n  display: inline-block;\n  font-size: 0;\n  height: 5px;\n  border-width: 0 0 0 1px;\n  border-style: solid;\n}\n.slider-rulelabel {\n  position: relative;\n  top: 20px;\n}\n.slider-rulelabel span {\n  position: absolute;\n  display: inline-block;\n  font-size: 12px;\n}\n.slider-v .slider-inner {\n  width: 6px;\n  left: 7px;\n  top: 0;\n  float: left;\n}\n.slider-v .slider-handle {\n  left: 50%;\n  margin-top: -10px;\n}\n.slider-v .slider-tip {\n  left: -10px;\n  margin-top: -6px;\n}\n.slider-v .slider-rule {\n  float: left;\n  top: 0;\n  left: 16px;\n}\n.slider-v .slider-rule span {\n  width: 5px;\n  height: 'auto';\n  border-left: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.slider-v .slider-rulelabel {\n  float: left;\n  top: 0;\n  left: 23px;\n}\n.slider-handle {\n  background: url('images/slider_handle.png') no-repeat;\n}\n.slider-inner {\n  border-color: #95B8E7;\n  background: #E0ECFF;\n}\n.slider-rule span {\n  border-color: #95B8E7;\n}\n.slider-rulelabel span {\n  color: #000000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/spinner.css",
    "content": ".spinner {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.spinner .spinner-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: baseline;\n}\n.spinner-arrow {\n  background-color: #E0ECFF;\n  display: inline-block;\n  overflow: hidden;\n  vertical-align: top;\n  margin: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  width: 18px;\n}\n.spinner-arrow-up,\n.spinner-arrow-down {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  display: block;\n  font-size: 1px;\n  width: 18px;\n  height: 10px;\n  width: 100%;\n  height: 50%;\n  outline-style: none;\n}\n.spinner-arrow-hover {\n  background-color: #eaf2ff;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.spinner-arrow-up:hover,\n.spinner-arrow-down:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  background-color: #eaf2ff;\n}\n.textbox-icon-disabled .spinner-arrow-up:hover,\n.textbox-icon-disabled .spinner-arrow-down:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  background-color: #E0ECFF;\n  cursor: default;\n}\n.spinner .textbox-icon-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.spinner-arrow-up {\n  background: url('images/spinner_arrows.png') no-repeat 1px center;\n}\n.spinner-arrow-down {\n  background: url('images/spinner_arrows.png') no-repeat -15px center;\n}\n.spinner {\n  border-color: #95B8E7;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/splitbutton.css",
    "content": ".s-btn:hover .m-btn-line,\n.s-btn-active .m-btn-line,\n.s-btn-plain-active .m-btn-line {\n  display: inline-block;\n}\n.l-btn:hover .s-btn-downarrow,\n.s-btn-active .s-btn-downarrow,\n.s-btn-plain-active .s-btn-downarrow {\n  border-style: solid;\n  border-color: #aac5e7;\n  border-width: 0 0 0 1px;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/tabs.css",
    "content": ".tabs-container {\n  overflow: hidden;\n}\n.tabs-header {\n  border-width: 1px;\n  border-style: solid;\n  border-bottom-width: 0;\n  position: relative;\n  padding: 0;\n  padding-top: 2px;\n  overflow: hidden;\n}\n.tabs-header-plain {\n  border: 0;\n  background: transparent;\n}\n.tabs-scroller-left,\n.tabs-scroller-right {\n  position: absolute;\n  top: auto;\n  bottom: 0;\n  width: 18px;\n  font-size: 1px;\n  display: none;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-scroller-left {\n  left: 0;\n}\n.tabs-scroller-right {\n  right: 0;\n}\n.tabs-tool {\n  position: absolute;\n  bottom: 0;\n  padding: 1px;\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-header-plain .tabs-tool {\n  padding: 0 1px;\n}\n.tabs-wrap {\n  position: relative;\n  left: 0;\n  overflow: hidden;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n}\n.tabs-scrolling {\n  margin-left: 18px;\n  margin-right: 18px;\n}\n.tabs-disabled {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.tabs {\n  list-style-type: none;\n  height: 26px;\n  margin: 0px;\n  padding: 0px;\n  padding-left: 4px;\n  width: 50000px;\n  border-style: solid;\n  border-width: 0 0 1px 0;\n}\n.tabs li {\n  float: left;\n  display: inline-block;\n  margin: 0 4px -1px 0;\n  padding: 0;\n  position: relative;\n  border: 0;\n}\n.tabs li a.tabs-inner {\n  display: inline-block;\n  text-decoration: none;\n  margin: 0;\n  padding: 0 10px;\n  height: 25px;\n  line-height: 25px;\n  text-align: center;\n  white-space: nowrap;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 0 0;\n  -webkit-border-radius: 5px 5px 0 0;\n  border-radius: 5px 5px 0 0;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  font-weight: bold;\n  outline: none;\n}\n.tabs li.tabs-selected a:hover.tabs-inner {\n  cursor: default;\n  pointer: default;\n}\n.tabs li a.tabs-close,\n.tabs-p-tool {\n  position: absolute;\n  font-size: 1px;\n  display: block;\n  height: 12px;\n  padding: 0;\n  top: 50%;\n  margin-top: -6px;\n  overflow: hidden;\n}\n.tabs li a.tabs-close {\n  width: 12px;\n  right: 5px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs-p-tool {\n  right: 16px;\n}\n.tabs-p-tool a {\n  display: inline-block;\n  font-size: 1px;\n  width: 12px;\n  height: 12px;\n  margin: 0;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs li a:hover.tabs-close,\n.tabs-p-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  cursor: hand;\n  cursor: pointer;\n}\n.tabs-with-icon {\n  padding-left: 18px;\n}\n.tabs-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 10px;\n  top: 50%;\n  margin-top: -8px;\n}\n.tabs-title {\n  font-size: 12px;\n}\n.tabs-closable {\n  padding-right: 8px;\n}\n.tabs-panels {\n  margin: 0px;\n  padding: 0px;\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0;\n  overflow: hidden;\n}\n.tabs-header-bottom {\n  border-width: 0 1px 1px 1px;\n  padding: 0 0 2px 0;\n}\n.tabs-header-bottom .tabs {\n  border-width: 1px 0 0 0;\n}\n.tabs-header-bottom .tabs li {\n  margin: -1px 4px 0 0;\n}\n.tabs-header-bottom .tabs li a.tabs-inner {\n  -moz-border-radius: 0 0 5px 5px;\n  -webkit-border-radius: 0 0 5px 5px;\n  border-radius: 0 0 5px 5px;\n}\n.tabs-header-bottom .tabs-tool {\n  top: 0;\n}\n.tabs-header-bottom .tabs-scroller-left,\n.tabs-header-bottom .tabs-scroller-right {\n  top: 0;\n  bottom: auto;\n}\n.tabs-panels-top {\n  border-width: 1px 1px 0 1px;\n}\n.tabs-header-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n  padding: 0;\n}\n.tabs-header-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n  padding: 0;\n}\n.tabs-header-left .tabs-wrap,\n.tabs-header-right .tabs-wrap {\n  height: 100%;\n}\n.tabs-header-left .tabs {\n  height: 100%;\n  padding: 4px 0 0 4px;\n  border-width: 0 1px 0 0;\n}\n.tabs-header-right .tabs {\n  height: 100%;\n  padding: 4px 4px 0 0;\n  border-width: 0 0 0 1px;\n}\n.tabs-header-left .tabs li,\n.tabs-header-right .tabs li {\n  display: block;\n  width: 100%;\n  position: relative;\n}\n.tabs-header-left .tabs li {\n  left: auto;\n  right: 0;\n  margin: 0 -1px 4px 0;\n  float: right;\n}\n.tabs-header-right .tabs li {\n  left: 0;\n  right: auto;\n  margin: 0 0 4px -1px;\n  float: left;\n}\n.tabs-header-left .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.tabs-header-right .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 0 5px 5px 0;\n  -webkit-border-radius: 0 5px 5px 0;\n  border-radius: 0 5px 5px 0;\n}\n.tabs-panels-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n}\n.tabs-panels-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n}\n.tabs-header-noborder,\n.tabs-panels-noborder {\n  border: 0px;\n}\n.tabs-header-plain {\n  border: 0px;\n  background: transparent;\n}\n.tabs-scroller-left {\n  background: #E0ECFF url('images/tabs_icons.png') no-repeat 1px center;\n}\n.tabs-scroller-right {\n  background: #E0ECFF url('images/tabs_icons.png') no-repeat -15px center;\n}\n.tabs li a.tabs-close {\n  background: url('images/tabs_icons.png') no-repeat -34px center;\n}\n.tabs li a.tabs-inner:hover {\n  background: #eaf2ff;\n  color: #000000;\n  filter: none;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  background-color: #ffffff;\n  color: #0E2D5F;\n  background: -webkit-linear-gradient(top,#EFF5FF 0,#ffffff 100%);\n  background: -moz-linear-gradient(top,#EFF5FF 0,#ffffff 100%);\n  background: -o-linear-gradient(top,#EFF5FF 0,#ffffff 100%);\n  background: linear-gradient(to bottom,#EFF5FF 0,#ffffff 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=0);\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(top,#ffffff 0,#EFF5FF 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#EFF5FF 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#EFF5FF 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#EFF5FF 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=0);\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#EFF5FF 0,#ffffff 100%);\n  background: -moz-linear-gradient(left,#EFF5FF 0,#ffffff 100%);\n  background: -o-linear-gradient(left,#EFF5FF 0,#ffffff 100%);\n  background: linear-gradient(to right,#EFF5FF 0,#ffffff 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=1);\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#ffffff 0,#EFF5FF 100%);\n  background: -moz-linear-gradient(left,#ffffff 0,#EFF5FF 100%);\n  background: -o-linear-gradient(left,#ffffff 0,#EFF5FF 100%);\n  background: linear-gradient(to right,#ffffff 0,#EFF5FF 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=1);\n}\n.tabs li a.tabs-inner {\n  color: #0E2D5F;\n  background-color: #E0ECFF;\n  background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);\n  background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);\n  background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);\n  background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0);\n}\n.tabs-header,\n.tabs-tool {\n  background-color: #E0ECFF;\n}\n.tabs-header-plain {\n  background: transparent;\n}\n.tabs-header,\n.tabs-scroller-left,\n.tabs-scroller-right,\n.tabs-tool,\n.tabs,\n.tabs-panels,\n.tabs li a.tabs-inner,\n.tabs li.tabs-selected a.tabs-inner,\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-color: #95B8E7;\n}\n.tabs-p-tool a:hover,\n.tabs li a:hover.tabs-close,\n.tabs-scroller-over {\n  background-color: #eaf2ff;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  border-bottom: 1px solid #ffffff;\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  border-top: 1px solid #ffffff;\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  border-right: 1px solid #ffffff;\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-left: 1px solid #ffffff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/textbox.css",
    "content": ".textbox {\n  position: relative;\n  border: 1px solid #95B8E7;\n  background-color: #fff;\n  vertical-align: middle;\n  display: inline-block;\n  overflow: hidden;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 4px;\n  white-space: normal;\n  vertical-align: top;\n  outline-style: none;\n  resize: none;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-prompt {\n  font-size: 12px;\n  color: #aaa;\n}\n.textbox-button,\n.textbox-button:hover {\n  position: absolute;\n  top: 0;\n  padding: 0;\n  vertical-align: top;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.textbox-button-right,\n.textbox-button-right:hover {\n  border-width: 0 0 0 1px;\n}\n.textbox-button-left,\n.textbox-button-left:hover {\n  border-width: 0 1px 0 0;\n}\n.textbox-addon {\n  position: absolute;\n  top: 0;\n}\n.textbox-icon {\n  display: inline-block;\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  vertical-align: top;\n  background-position: center center;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  text-decoration: none;\n  outline-style: none;\n}\n.textbox-icon-disabled,\n.textbox-icon-readonly {\n  cursor: default;\n}\n.textbox-icon:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.textbox-icon-disabled:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.textbox-focused {\n  -moz-box-shadow: 0 0 3px 0 #95B8E7;\n  -webkit-box-shadow: 0 0 3px 0 #95B8E7;\n  box-shadow: 0 0 3px 0 #95B8E7;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/tooltip.css",
    "content": ".tooltip {\n  position: absolute;\n  display: none;\n  z-index: 9900000;\n  outline: none;\n  opacity: 1;\n  filter: alpha(opacity=100);\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.tooltip-content {\n  font-size: 12px;\n}\n.tooltip-arrow-outer,\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  line-height: 0;\n  font-size: 0;\n  border-style: solid;\n  border-width: 6px;\n  border-color: transparent;\n  _border-color: tomato;\n  _filter: chroma(color=tomato);\n}\n.tooltip-right .tooltip-arrow-outer {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -13px;\n}\n.tooltip-right .tooltip-arrow {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -12px;\n}\n.tooltip-left .tooltip-arrow-outer {\n  right: 0;\n  top: 50%;\n  margin: -6px -13px 0 0;\n}\n.tooltip-left .tooltip-arrow {\n  right: 0;\n  top: 50%;\n  margin: -6px -12px 0 0;\n}\n.tooltip-top .tooltip-arrow-outer {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -13px -6px;\n}\n.tooltip-top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -12px -6px;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  top: 0;\n  left: 50%;\n  margin: -13px 0 0 -6px;\n}\n.tooltip-bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin: -12px 0 0 -6px;\n}\n.tooltip {\n  background-color: #ffffff;\n  border-color: #95B8E7;\n  color: #000000;\n}\n.tooltip-right .tooltip-arrow-outer {\n  border-right-color: #95B8E7;\n}\n.tooltip-right .tooltip-arrow {\n  border-right-color: #ffffff;\n}\n.tooltip-left .tooltip-arrow-outer {\n  border-left-color: #95B8E7;\n}\n.tooltip-left .tooltip-arrow {\n  border-left-color: #ffffff;\n}\n.tooltip-top .tooltip-arrow-outer {\n  border-top-color: #95B8E7;\n}\n.tooltip-top .tooltip-arrow {\n  border-top-color: #ffffff;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  border-bottom-color: #95B8E7;\n}\n.tooltip-bottom .tooltip-arrow {\n  border-bottom-color: #ffffff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/tree.css",
    "content": ".tree {\n  margin: 0;\n  padding: 0;\n  list-style-type: none;\n}\n.tree li {\n  white-space: nowrap;\n}\n.tree li ul {\n  list-style-type: none;\n  margin: 0;\n  padding: 0;\n}\n.tree-node {\n  height: 18px;\n  white-space: nowrap;\n  cursor: pointer;\n}\n.tree-hit {\n  cursor: pointer;\n}\n.tree-expanded,\n.tree-collapsed,\n.tree-folder,\n.tree-file,\n.tree-checkbox,\n.tree-indent {\n  display: inline-block;\n  width: 16px;\n  height: 18px;\n  vertical-align: top;\n  overflow: hidden;\n}\n.tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -18px 0px;\n}\n.tree-expanded-hover {\n  background: url('images/tree_icons.png') no-repeat -50px 0px;\n}\n.tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat 0px 0px;\n}\n.tree-collapsed-hover {\n  background: url('images/tree_icons.png') no-repeat -32px 0px;\n}\n.tree-lines .tree-expanded,\n.tree-lines .tree-root-first .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -144px 0;\n}\n.tree-lines .tree-collapsed,\n.tree-lines .tree-root-first .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -128px 0;\n}\n.tree-lines .tree-node-last .tree-expanded,\n.tree-lines .tree-root-one .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -80px 0;\n}\n.tree-lines .tree-node-last .tree-collapsed,\n.tree-lines .tree-root-one .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -64px 0;\n}\n.tree-line {\n  background: url('images/tree_icons.png') no-repeat -176px 0;\n}\n.tree-join {\n  background: url('images/tree_icons.png') no-repeat -192px 0;\n}\n.tree-joinbottom {\n  background: url('images/tree_icons.png') no-repeat -160px 0;\n}\n.tree-folder {\n  background: url('images/tree_icons.png') no-repeat -208px 0;\n}\n.tree-folder-open {\n  background: url('images/tree_icons.png') no-repeat -224px 0;\n}\n.tree-file {\n  background: url('images/tree_icons.png') no-repeat -240px 0;\n}\n.tree-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.tree-checkbox0 {\n  background: url('images/tree_icons.png') no-repeat -208px -18px;\n}\n.tree-checkbox1 {\n  background: url('images/tree_icons.png') no-repeat -224px -18px;\n}\n.tree-checkbox2 {\n  background: url('images/tree_icons.png') no-repeat -240px -18px;\n}\n.tree-title {\n  font-size: 12px;\n  display: inline-block;\n  text-decoration: none;\n  vertical-align: top;\n  white-space: nowrap;\n  padding: 0 2px;\n  height: 18px;\n  line-height: 18px;\n}\n.tree-node-proxy {\n  font-size: 12px;\n  line-height: 20px;\n  padding: 0 2px 0 20px;\n  border-width: 1px;\n  border-style: solid;\n  z-index: 9900000;\n}\n.tree-dnd-icon {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 18px;\n  left: 2px;\n  top: 50%;\n  margin-top: -9px;\n}\n.tree-dnd-yes {\n  background: url('images/tree_icons.png') no-repeat -256px 0;\n}\n.tree-dnd-no {\n  background: url('images/tree_icons.png') no-repeat -256px -18px;\n}\n.tree-node-top {\n  border-top: 1px dotted red;\n}\n.tree-node-bottom {\n  border-bottom: 1px dotted red;\n}\n.tree-node-append .tree-title {\n  border: 1px dotted red;\n}\n.tree-editor {\n  border: 1px solid #ccc;\n  font-size: 12px;\n  height: 14px !important;\n  height: 18px;\n  line-height: 14px;\n  padding: 1px 2px;\n  width: 80px;\n  position: absolute;\n  top: 0;\n}\n.tree-node-proxy {\n  background-color: #ffffff;\n  color: #000000;\n  border-color: #95B8E7;\n}\n.tree-node-hover {\n  background: #eaf2ff;\n  color: #000000;\n}\n.tree-node-selected {\n  background: #ffe48d;\n  color: #000000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/validatebox.css",
    "content": ".validatebox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n  color: #000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/default/window.css",
    "content": ".window {\n  overflow: hidden;\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n}\n.window .window-header {\n  background: transparent;\n  padding: 0px 0px 6px 0px;\n}\n.window .window-body {\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0px;\n}\n.window .window-body-noheader {\n  border-top-width: 1px;\n}\n.window .panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.window .window-header .panel-icon,\n.window .window-header .panel-tool {\n  top: 50%;\n  margin-top: -11px;\n}\n.window .window-header .panel-icon {\n  left: 1px;\n}\n.window .window-header .panel-tool {\n  right: 1px;\n}\n.window .window-header .panel-with-icon {\n  padding-left: 18px;\n}\n.window-proxy {\n  position: absolute;\n  overflow: hidden;\n}\n.window-proxy-mask {\n  position: absolute;\n  filter: alpha(opacity=5);\n  opacity: 0.05;\n}\n.window-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  filter: alpha(opacity=40);\n  opacity: 0.40;\n  font-size: 1px;\n  overflow: hidden;\n}\n.window,\n.window-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.window-shadow {\n  background: #ccc;\n  -moz-box-shadow: 2px 2px 3px #cccccc;\n  -webkit-box-shadow: 2px 2px 3px #cccccc;\n  box-shadow: 2px 2px 3px #cccccc;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.window,\n.window .window-body {\n  border-color: #95B8E7;\n}\n.window {\n  background-color: #E0ECFF;\n  background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%);\n  background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%);\n  background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%);\n  background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 20%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0);\n}\n.window-proxy {\n  border: 1px dashed #95B8E7;\n}\n.window-proxy-mask,\n.window-mask {\n  background: #ccc;\n}\n.window .panel-footer {\n  border: 1px solid #95B8E7;\n  position: relative;\n  top: -1px;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/accordion.css",
    "content": ".accordion {\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.accordion .accordion-header {\n  border-width: 0 0 1px;\n  cursor: pointer;\n}\n.accordion .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-noborder {\n  border-width: 0;\n}\n.accordion-noborder .accordion-header {\n  border-width: 0 0 1px;\n}\n.accordion-noborder .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-collapse {\n  background: url('images/accordion_arrows.png') no-repeat 0 0;\n}\n.accordion-expand {\n  background: url('images/accordion_arrows.png') no-repeat -16px 0;\n}\n.accordion {\n  background: #ffffff;\n  border-color: #D3D3D3;\n}\n.accordion .accordion-header {\n  background: #f3f3f3;\n  filter: none;\n}\n.accordion .accordion-header-selected {\n  background: #0092DC;\n}\n.accordion .accordion-header-selected .panel-title {\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/calendar.css",
    "content": ".calendar {\n  border-width: 1px;\n  border-style: solid;\n  padding: 1px;\n  overflow: hidden;\n}\n.calendar table {\n  table-layout: fixed;\n  border-collapse: separate;\n  font-size: 12px;\n  width: 100%;\n  height: 100%;\n}\n.calendar table td,\n.calendar table th {\n  font-size: 12px;\n}\n.calendar-noborder {\n  border: 0;\n}\n.calendar-header {\n  position: relative;\n  height: 22px;\n}\n.calendar-title {\n  text-align: center;\n  height: 22px;\n}\n.calendar-title span {\n  position: relative;\n  display: inline-block;\n  top: 2px;\n  padding: 0 3px;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth,\n.calendar-nextmonth,\n.calendar-prevyear,\n.calendar-nextyear {\n  position: absolute;\n  top: 50%;\n  margin-top: -7px;\n  width: 14px;\n  height: 14px;\n  cursor: pointer;\n  font-size: 1px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth {\n  left: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -18px -2px;\n}\n.calendar-nextmonth {\n  right: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -34px -2px;\n}\n.calendar-prevyear {\n  left: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -1px -2px;\n}\n.calendar-nextyear {\n  right: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -49px -2px;\n}\n.calendar-body {\n  position: relative;\n}\n.calendar-body th,\n.calendar-body td {\n  text-align: center;\n}\n.calendar-day {\n  border: 0;\n  padding: 1px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-other-month {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.calendar-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  cursor: default;\n}\n.calendar-menu {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 180px;\n  height: 150px;\n  padding: 5px;\n  font-size: 12px;\n  display: none;\n  overflow: hidden;\n}\n.calendar-menu-year-inner {\n  text-align: center;\n  padding-bottom: 5px;\n}\n.calendar-menu-year {\n  width: 40px;\n  text-align: center;\n  border-width: 1px;\n  border-style: solid;\n  margin: 0;\n  padding: 2px;\n  font-weight: bold;\n  font-size: 12px;\n}\n.calendar-menu-prev,\n.calendar-menu-next {\n  display: inline-block;\n  width: 21px;\n  height: 21px;\n  vertical-align: top;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-menu-prev {\n  margin-right: 10px;\n  background: url('images/calendar_arrows.png') no-repeat 2px 2px;\n}\n.calendar-menu-next {\n  margin-left: 10px;\n  background: url('images/calendar_arrows.png') no-repeat -45px 2px;\n}\n.calendar-menu-month {\n  text-align: center;\n  cursor: pointer;\n  font-weight: bold;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-body th,\n.calendar-menu-month {\n  color: #4d4d4d;\n}\n.calendar-day {\n  color: #000000;\n}\n.calendar-sunday {\n  color: #CC2222;\n}\n.calendar-saturday {\n  color: #00ee00;\n}\n.calendar-today {\n  color: #0000ff;\n}\n.calendar-menu-year {\n  border-color: #D3D3D3;\n}\n.calendar {\n  border-color: #D3D3D3;\n}\n.calendar-header {\n  background: #f3f3f3;\n}\n.calendar-body,\n.calendar-menu {\n  background: #ffffff;\n}\n.calendar-body th {\n  background: #fafafa;\n  padding: 2px 0;\n}\n.calendar-hover,\n.calendar-nav-hover,\n.calendar-menu-hover {\n  background-color: #e2e2e2;\n  color: #000000;\n}\n.calendar-hover {\n  border: 1px solid #ccc;\n  padding: 0;\n}\n.calendar-selected {\n  background-color: #0092DC;\n  color: #fff;\n  border: 1px solid #0070a9;\n  padding: 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/combo.css",
    "content": ".combo {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.combo .combo-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0px 2px;\n  vertical-align: baseline;\n}\n.combo-arrow {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.combo-arrow-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.combo-panel {\n  overflow: auto;\n}\n.combo-arrow {\n  background: url('images/combo_arrow.png') no-repeat center center;\n}\n.combo-panel {\n  background-color: #ffffff;\n}\n.combo {\n  border-color: #D3D3D3;\n  background-color: #fff;\n}\n.combo-arrow {\n  background-color: #f3f3f3;\n}\n.combo-arrow-hover {\n  background-color: #e2e2e2;\n}\n.combo-arrow:hover {\n  background-color: #e2e2e2;\n}\n.combo .textbox-icon-disabled:hover {\n  cursor: default;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/combobox.css",
    "content": ".combobox-item,\n.combobox-group {\n  font-size: 12px;\n  padding: 3px;\n  padding-right: 0px;\n}\n.combobox-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.combobox-gitem {\n  padding-left: 10px;\n}\n.combobox-group {\n  font-weight: bold;\n}\n.combobox-item-hover {\n  background-color: #e2e2e2;\n  color: #000000;\n}\n.combobox-item-selected {\n  background-color: #0092DC;\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/datagrid.css",
    "content": ".datagrid .panel-body {\n  overflow: hidden;\n  position: relative;\n}\n.datagrid-view {\n  position: relative;\n  overflow: hidden;\n}\n.datagrid-view1,\n.datagrid-view2 {\n  position: absolute;\n  overflow: hidden;\n  top: 0;\n}\n.datagrid-view1 {\n  left: 0;\n}\n.datagrid-view2 {\n  right: 0;\n}\n.datagrid-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n  display: none;\n}\n.datagrid-mask-msg {\n  position: absolute;\n  top: 50%;\n  margin-top: -20px;\n  padding: 10px 5px 10px 30px;\n  width: auto;\n  height: 16px;\n  border-width: 2px;\n  border-style: solid;\n  display: none;\n}\n.datagrid-sort-icon {\n  padding: 0;\n}\n.datagrid-toolbar {\n  height: auto;\n  padding: 1px 2px;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.datagrid .datagrid-pager {\n  display: block;\n  margin: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.datagrid .datagrid-pager-top {\n  border-width: 0 0 1px 0;\n}\n.datagrid-header {\n  overflow: hidden;\n  cursor: default;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-header-inner {\n  float: left;\n  width: 10000px;\n}\n.datagrid-header-row,\n.datagrid-row {\n  height: 25px;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-width: 0 1px 1px 0;\n  border-style: dotted;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-cell,\n.datagrid-cell-group,\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  margin: 0;\n  padding: 0 4px;\n  white-space: nowrap;\n  word-wrap: normal;\n  overflow: hidden;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n}\n.datagrid-header .datagrid-cell {\n  height: auto;\n}\n.datagrid-header .datagrid-cell span {\n  font-size: 12px;\n}\n.datagrid-cell-group {\n  text-align: center;\n}\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  width: 25px;\n  text-align: center;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body {\n  margin: 0;\n  padding: 0;\n  overflow: auto;\n  zoom: 1;\n}\n.datagrid-view1 .datagrid-body-inner {\n  padding-bottom: 20px;\n}\n.datagrid-view1 .datagrid-body {\n  overflow: hidden;\n}\n.datagrid-footer {\n  overflow: hidden;\n}\n.datagrid-footer-inner {\n  border-width: 1px 0 0 0;\n  border-style: solid;\n  width: 10000px;\n  float: left;\n}\n.datagrid-row-editing .datagrid-cell {\n  height: auto;\n}\n.datagrid-header-check,\n.datagrid-cell-check {\n  padding: 0;\n  width: 27px;\n  height: 18px;\n  font-size: 1px;\n  text-align: center;\n  overflow: hidden;\n}\n.datagrid-header-check input,\n.datagrid-cell-check input {\n  margin: 0;\n  padding: 0;\n  width: 15px;\n  height: 18px;\n}\n.datagrid-resize-proxy {\n  position: absolute;\n  width: 1px;\n  height: 10000px;\n  top: 0;\n  cursor: e-resize;\n  display: none;\n}\n.datagrid-body .datagrid-editable {\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body .datagrid-editable table {\n  width: 100%;\n  height: 100%;\n}\n.datagrid-body .datagrid-editable td {\n  border: 0;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-view .datagrid-editable-input {\n  margin: 0;\n  padding: 2px 4px;\n  border: 1px solid #D3D3D3;\n  font-size: 12px;\n  outline-style: none;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.datagrid-sort-desc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat -16px center;\n}\n.datagrid-sort-asc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat 0px center;\n}\n.datagrid-row-collapse {\n  background: url('images/datagrid_icons.png') no-repeat -48px center;\n}\n.datagrid-row-expand {\n  background: url('images/datagrid_icons.png') no-repeat -32px center;\n}\n.datagrid-mask-msg {\n  background: #ffffff url('images/loading.gif') no-repeat scroll 5px center;\n}\n.datagrid-header,\n.datagrid-td-rownumber {\n  background-color: #fafafa;\n  background: -webkit-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%);\n  background: -moz-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%);\n  background: -o-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%);\n  background: linear-gradient(to bottom,#fdfdfd 0,#f5f5f5 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#fdfdfd,endColorstr=#f5f5f5,GradientType=0);\n}\n.datagrid-cell-rownumber {\n  color: #000000;\n}\n.datagrid-resize-proxy {\n  background: #bfbfbf;\n}\n.datagrid-mask {\n  background: #ccc;\n}\n.datagrid-mask-msg {\n  border-color: #D3D3D3;\n}\n.datagrid-toolbar,\n.datagrid-pager {\n  background: #fafafa;\n}\n.datagrid-header,\n.datagrid-toolbar,\n.datagrid-pager,\n.datagrid-footer-inner {\n  border-color: #ddd;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-color: #ccc;\n}\n.datagrid-htable,\n.datagrid-btable,\n.datagrid-ftable {\n  color: #000000;\n  border-collapse: separate;\n}\n.datagrid-row-alt {\n  background: #fafafa;\n}\n.datagrid-row-over,\n.datagrid-header td.datagrid-header-over {\n  background: #e2e2e2;\n  color: #000000;\n  cursor: default;\n}\n.datagrid-row-selected {\n  background: #0092DC;\n  color: #fff;\n}\n.datagrid-row-editing .textbox,\n.datagrid-row-editing .textbox-text {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/datebox.css",
    "content": ".datebox-calendar-inner {\n  height: 180px;\n}\n.datebox-button {\n  height: 18px;\n  padding: 2px 5px;\n  text-align: center;\n}\n.datebox-button a {\n  font-size: 12px;\n  font-weight: bold;\n  text-decoration: none;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.datebox-button a:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.datebox-current,\n.datebox-close {\n  float: left;\n}\n.datebox-close {\n  float: right;\n}\n.datebox .combo-arrow {\n  background-image: url('images/datebox_arrow.png');\n  background-position: center center;\n}\n.datebox-button {\n  background-color: #fafafa;\n}\n.datebox-button a {\n  color: #444;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/dialog.css",
    "content": ".dialog-content {\n  overflow: auto;\n}\n.dialog-toolbar {\n  padding: 2px 5px;\n}\n.dialog-tool-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.dialog-button {\n  padding: 5px;\n  text-align: right;\n}\n.dialog-button .l-btn {\n  margin-left: 5px;\n}\n.dialog-toolbar,\n.dialog-button {\n  background: #fafafa;\n  border-width: 1px;\n  border-style: solid;\n}\n.dialog-toolbar {\n  border-color: #D3D3D3 #D3D3D3 #ddd #D3D3D3;\n}\n.dialog-button {\n  border-color: #ddd #D3D3D3 #D3D3D3 #D3D3D3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/easyui.css",
    "content": ".panel {\n  overflow: hidden;\n  text-align: left;\n  margin: 0;\n  border: 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.panel-header,\n.panel-body {\n  border-width: 1px;\n  border-style: solid;\n}\n.panel-header {\n  padding: 5px;\n  position: relative;\n}\n.panel-title {\n  background: url('images/blank.gif') no-repeat;\n}\n.panel-header-noborder {\n  border-width: 0 0 1px 0;\n}\n.panel-body {\n  overflow: auto;\n  border-top-width: 0;\n  padding: 0;\n}\n.panel-body-noheader {\n  border-top-width: 1px;\n}\n.panel-body-noborder {\n  border-width: 0px;\n}\n.panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.panel-with-icon {\n  padding-left: 18px;\n}\n.panel-icon,\n.panel-tool {\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  height: 16px;\n  overflow: hidden;\n}\n.panel-icon {\n  left: 5px;\n  width: 16px;\n}\n.panel-tool {\n  right: 5px;\n  width: auto;\n}\n.panel-tool a {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  margin: 0 0 0 2px;\n  vertical-align: top;\n}\n.panel-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  background-color: #e2e2e2;\n  -moz-border-radius: 3px 3px 3px 3px;\n  -webkit-border-radius: 3px 3px 3px 3px;\n  border-radius: 3px 3px 3px 3px;\n}\n.panel-loading {\n  padding: 11px 0px 10px 30px;\n}\n.panel-noscroll {\n  overflow: hidden;\n}\n.panel-fit,\n.panel-fit body {\n  height: 100%;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  overflow: hidden;\n}\n.panel-loading {\n  background: url('images/loading.gif') no-repeat 10px 10px;\n}\n.panel-tool-close {\n  background: url('images/panel_tools.png') no-repeat -16px 0px;\n}\n.panel-tool-min {\n  background: url('images/panel_tools.png') no-repeat 0px 0px;\n}\n.panel-tool-max {\n  background: url('images/panel_tools.png') no-repeat 0px -16px;\n}\n.panel-tool-restore {\n  background: url('images/panel_tools.png') no-repeat -16px -16px;\n}\n.panel-tool-collapse {\n  background: url('images/panel_tools.png') no-repeat -32px 0;\n}\n.panel-tool-expand {\n  background: url('images/panel_tools.png') no-repeat -32px -16px;\n}\n.panel-header,\n.panel-body {\n  border-color: #D3D3D3;\n}\n.panel-header {\n  background-color: #f3f3f3;\n  background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 100%);\n  background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 100%);\n  background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 100%);\n  background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0);\n}\n.panel-body {\n  background-color: #ffffff;\n  color: #000000;\n  font-size: 12px;\n}\n.panel-title {\n  font-size: 12px;\n  font-weight: bold;\n  color: #575765;\n  height: 16px;\n  line-height: 16px;\n}\n.panel-footer {\n  border: 1px solid #D3D3D3;\n  overflow: hidden;\n  background: #fafafa;\n}\n.panel-footer-noborder {\n  border-width: 1px 0 0 0;\n}\n.accordion {\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.accordion .accordion-header {\n  border-width: 0 0 1px;\n  cursor: pointer;\n}\n.accordion .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-noborder {\n  border-width: 0;\n}\n.accordion-noborder .accordion-header {\n  border-width: 0 0 1px;\n}\n.accordion-noborder .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-collapse {\n  background: url('images/accordion_arrows.png') no-repeat 0 0;\n}\n.accordion-expand {\n  background: url('images/accordion_arrows.png') no-repeat -16px 0;\n}\n.accordion {\n  background: #ffffff;\n  border-color: #D3D3D3;\n}\n.accordion .accordion-header {\n  background: #f3f3f3;\n  filter: none;\n}\n.accordion .accordion-header-selected {\n  background: #0092DC;\n}\n.accordion .accordion-header-selected .panel-title {\n  color: #fff;\n}\n.window {\n  overflow: hidden;\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n}\n.window .window-header {\n  background: transparent;\n  padding: 0px 0px 6px 0px;\n}\n.window .window-body {\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0px;\n}\n.window .window-body-noheader {\n  border-top-width: 1px;\n}\n.window .panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.window .window-header .panel-icon,\n.window .window-header .panel-tool {\n  top: 50%;\n  margin-top: -11px;\n}\n.window .window-header .panel-icon {\n  left: 1px;\n}\n.window .window-header .panel-tool {\n  right: 1px;\n}\n.window .window-header .panel-with-icon {\n  padding-left: 18px;\n}\n.window-proxy {\n  position: absolute;\n  overflow: hidden;\n}\n.window-proxy-mask {\n  position: absolute;\n  filter: alpha(opacity=5);\n  opacity: 0.05;\n}\n.window-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  filter: alpha(opacity=40);\n  opacity: 0.40;\n  font-size: 1px;\n  overflow: hidden;\n}\n.window,\n.window-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.window-shadow {\n  background: #ccc;\n  -moz-box-shadow: 2px 2px 3px #cccccc;\n  -webkit-box-shadow: 2px 2px 3px #cccccc;\n  box-shadow: 2px 2px 3px #cccccc;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.window,\n.window .window-body {\n  border-color: #D3D3D3;\n}\n.window {\n  background-color: #f3f3f3;\n  background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 20%);\n  background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 20%);\n  background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 20%);\n  background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 20%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0);\n}\n.window-proxy {\n  border: 1px dashed #D3D3D3;\n}\n.window-proxy-mask,\n.window-mask {\n  background: #ccc;\n}\n.window .panel-footer {\n  border: 1px solid #D3D3D3;\n  position: relative;\n  top: -1px;\n}\n.dialog-content {\n  overflow: auto;\n}\n.dialog-toolbar {\n  padding: 2px 5px;\n}\n.dialog-tool-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.dialog-button {\n  padding: 5px;\n  text-align: right;\n}\n.dialog-button .l-btn {\n  margin-left: 5px;\n}\n.dialog-toolbar,\n.dialog-button {\n  background: #fafafa;\n  border-width: 1px;\n  border-style: solid;\n}\n.dialog-toolbar {\n  border-color: #D3D3D3 #D3D3D3 #ddd #D3D3D3;\n}\n.dialog-button {\n  border-color: #ddd #D3D3D3 #D3D3D3 #D3D3D3;\n}\n.l-btn {\n  text-decoration: none;\n  display: inline-block;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  cursor: pointer;\n  outline: none;\n  text-align: center;\n  vertical-align: middle;\n}\n.l-btn-plain {\n  border: 0;\n  padding: 1px;\n}\n.l-btn-left {\n  display: inline-block;\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  vertical-align: top;\n}\n.l-btn-text {\n  display: inline-block;\n  vertical-align: top;\n  width: auto;\n  line-height: 24px;\n  font-size: 12px;\n  padding: 0;\n  margin: 0 4px;\n}\n.l-btn-icon {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  line-height: 16px;\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  font-size: 1px;\n}\n.l-btn span span .l-btn-empty {\n  display: inline-block;\n  margin: 0;\n  width: 16px;\n  height: 24px;\n  font-size: 1px;\n  vertical-align: top;\n}\n.l-btn span .l-btn-icon-left {\n  padding: 0 0 0 20px;\n  background-position: left center;\n}\n.l-btn span .l-btn-icon-right {\n  padding: 0 20px 0 0;\n  background-position: right center;\n}\n.l-btn-icon-left .l-btn-text {\n  margin: 0 4px 0 24px;\n}\n.l-btn-icon-left .l-btn-icon {\n  left: 4px;\n}\n.l-btn-icon-right .l-btn-text {\n  margin: 0 24px 0 4px;\n}\n.l-btn-icon-right .l-btn-icon {\n  right: 4px;\n}\n.l-btn-icon-top .l-btn-text {\n  margin: 20px 4px 0 4px;\n}\n.l-btn-icon-top .l-btn-icon {\n  top: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-icon-bottom .l-btn-text {\n  margin: 0 4px 20px 4px;\n}\n.l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 16px;\n}\n.l-btn-plain:hover {\n  padding: 0;\n}\n.l-btn-focus {\n  outline: #0000FF dotted thin;\n}\n.l-btn-large .l-btn-text {\n  line-height: 40px;\n}\n.l-btn-large .l-btn-icon {\n  width: 32px;\n  height: 32px;\n  line-height: 32px;\n  margin-top: -16px;\n}\n.l-btn-large .l-btn-icon-left .l-btn-text {\n  margin-left: 40px;\n}\n.l-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-text {\n  margin-top: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 32px;\n}\n.l-btn {\n  color: #444;\n  background: #fafafa;\n  background-repeat: repeat-x;\n  border: 1px solid #bbb;\n  background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0);\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn:hover {\n  background: #e2e2e2;\n  color: #000000;\n  border: 1px solid #ccc;\n  filter: none;\n}\n.l-btn-plain {\n  background: transparent;\n  border: 0;\n  filter: none;\n}\n.l-btn-plain:hover {\n  background: #e2e2e2;\n  color: #000000;\n  border: 1px solid #ccc;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn-disabled,\n.l-btn-disabled:hover {\n  opacity: 0.5;\n  cursor: default;\n  background: #fafafa;\n  color: #444;\n  background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0);\n}\n.l-btn-disabled .l-btn-text,\n.l-btn-disabled .l-btn-icon {\n  filter: alpha(opacity=50);\n}\n.l-btn-plain-disabled,\n.l-btn-plain-disabled:hover {\n  background: transparent;\n  filter: alpha(opacity=50);\n}\n.l-btn-selected,\n.l-btn-selected:hover {\n  background: #ddd;\n  filter: none;\n}\n.l-btn-plain-selected,\n.l-btn-plain-selected:hover {\n  background: #ddd;\n}\n.textbox {\n  position: relative;\n  border: 1px solid #D3D3D3;\n  background-color: #fff;\n  vertical-align: middle;\n  display: inline-block;\n  overflow: hidden;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 4px;\n  white-space: normal;\n  vertical-align: top;\n  outline-style: none;\n  resize: none;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-prompt {\n  font-size: 12px;\n  color: #aaa;\n}\n.textbox-button,\n.textbox-button:hover {\n  position: absolute;\n  top: 0;\n  padding: 0;\n  vertical-align: top;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.textbox-button-right,\n.textbox-button-right:hover {\n  border-width: 0 0 0 1px;\n}\n.textbox-button-left,\n.textbox-button-left:hover {\n  border-width: 0 1px 0 0;\n}\n.textbox-addon {\n  position: absolute;\n  top: 0;\n}\n.textbox-icon {\n  display: inline-block;\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  vertical-align: top;\n  background-position: center center;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  text-decoration: none;\n  outline-style: none;\n}\n.textbox-icon-disabled,\n.textbox-icon-readonly {\n  cursor: default;\n}\n.textbox-icon:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.textbox-icon-disabled:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.textbox-focused {\n  -moz-box-shadow: 0 0 3px 0 #D3D3D3;\n  -webkit-box-shadow: 0 0 3px 0 #D3D3D3;\n  box-shadow: 0 0 3px 0 #D3D3D3;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n.filebox .textbox-value {\n  vertical-align: top;\n  position: absolute;\n  top: 0;\n  left: -5000px;\n}\n.combo {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.combo .combo-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0px 2px;\n  vertical-align: baseline;\n}\n.combo-arrow {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.combo-arrow-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.combo-panel {\n  overflow: auto;\n}\n.combo-arrow {\n  background: url('images/combo_arrow.png') no-repeat center center;\n}\n.combo-panel {\n  background-color: #ffffff;\n}\n.combo {\n  border-color: #D3D3D3;\n  background-color: #fff;\n}\n.combo-arrow {\n  background-color: #f3f3f3;\n}\n.combo-arrow-hover {\n  background-color: #e2e2e2;\n}\n.combo-arrow:hover {\n  background-color: #e2e2e2;\n}\n.combo .textbox-icon-disabled:hover {\n  cursor: default;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n.combobox-item,\n.combobox-group {\n  font-size: 12px;\n  padding: 3px;\n  padding-right: 0px;\n}\n.combobox-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.combobox-gitem {\n  padding-left: 10px;\n}\n.combobox-group {\n  font-weight: bold;\n}\n.combobox-item-hover {\n  background-color: #e2e2e2;\n  color: #000000;\n}\n.combobox-item-selected {\n  background-color: #0092DC;\n  color: #fff;\n}\n.layout {\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  z-index: 0;\n}\n.layout-panel {\n  position: absolute;\n  overflow: hidden;\n}\n.layout-panel-east,\n.layout-panel-west {\n  z-index: 2;\n}\n.layout-panel-north,\n.layout-panel-south {\n  z-index: 3;\n}\n.layout-expand {\n  position: absolute;\n  padding: 0px;\n  font-size: 1px;\n  cursor: pointer;\n  z-index: 1;\n}\n.layout-expand .panel-header,\n.layout-expand .panel-body {\n  background: transparent;\n  filter: none;\n  overflow: hidden;\n}\n.layout-expand .panel-header {\n  border-bottom-width: 0px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  position: absolute;\n  font-size: 1px;\n  display: none;\n  z-index: 5;\n}\n.layout-split-proxy-h {\n  width: 5px;\n  cursor: e-resize;\n}\n.layout-split-proxy-v {\n  height: 5px;\n  cursor: n-resize;\n}\n.layout-mask {\n  position: absolute;\n  background: #fafafa;\n  filter: alpha(opacity=10);\n  opacity: 0.10;\n  z-index: 4;\n}\n.layout-button-up {\n  background: url('images/layout_arrows.png') no-repeat -16px -16px;\n}\n.layout-button-down {\n  background: url('images/layout_arrows.png') no-repeat -16px 0;\n}\n.layout-button-left {\n  background: url('images/layout_arrows.png') no-repeat 0 0;\n}\n.layout-button-right {\n  background: url('images/layout_arrows.png') no-repeat 0 -16px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  background-color: #bfbfbf;\n}\n.layout-split-north {\n  border-bottom: 5px solid #efefef;\n}\n.layout-split-south {\n  border-top: 5px solid #efefef;\n}\n.layout-split-east {\n  border-left: 5px solid #efefef;\n}\n.layout-split-west {\n  border-right: 5px solid #efefef;\n}\n.layout-expand {\n  background-color: #f3f3f3;\n}\n.layout-expand-over {\n  background-color: #f3f3f3;\n}\n.tabs-container {\n  overflow: hidden;\n}\n.tabs-header {\n  border-width: 1px;\n  border-style: solid;\n  border-bottom-width: 0;\n  position: relative;\n  padding: 0;\n  padding-top: 2px;\n  overflow: hidden;\n}\n.tabs-header-plain {\n  border: 0;\n  background: transparent;\n}\n.tabs-scroller-left,\n.tabs-scroller-right {\n  position: absolute;\n  top: auto;\n  bottom: 0;\n  width: 18px;\n  font-size: 1px;\n  display: none;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-scroller-left {\n  left: 0;\n}\n.tabs-scroller-right {\n  right: 0;\n}\n.tabs-tool {\n  position: absolute;\n  bottom: 0;\n  padding: 1px;\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-header-plain .tabs-tool {\n  padding: 0 1px;\n}\n.tabs-wrap {\n  position: relative;\n  left: 0;\n  overflow: hidden;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n}\n.tabs-scrolling {\n  margin-left: 18px;\n  margin-right: 18px;\n}\n.tabs-disabled {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.tabs {\n  list-style-type: none;\n  height: 26px;\n  margin: 0px;\n  padding: 0px;\n  padding-left: 4px;\n  width: 50000px;\n  border-style: solid;\n  border-width: 0 0 1px 0;\n}\n.tabs li {\n  float: left;\n  display: inline-block;\n  margin: 0 4px -1px 0;\n  padding: 0;\n  position: relative;\n  border: 0;\n}\n.tabs li a.tabs-inner {\n  display: inline-block;\n  text-decoration: none;\n  margin: 0;\n  padding: 0 10px;\n  height: 25px;\n  line-height: 25px;\n  text-align: center;\n  white-space: nowrap;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 0 0;\n  -webkit-border-radius: 5px 5px 0 0;\n  border-radius: 5px 5px 0 0;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  font-weight: bold;\n  outline: none;\n}\n.tabs li.tabs-selected a:hover.tabs-inner {\n  cursor: default;\n  pointer: default;\n}\n.tabs li a.tabs-close,\n.tabs-p-tool {\n  position: absolute;\n  font-size: 1px;\n  display: block;\n  height: 12px;\n  padding: 0;\n  top: 50%;\n  margin-top: -6px;\n  overflow: hidden;\n}\n.tabs li a.tabs-close {\n  width: 12px;\n  right: 5px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs-p-tool {\n  right: 16px;\n}\n.tabs-p-tool a {\n  display: inline-block;\n  font-size: 1px;\n  width: 12px;\n  height: 12px;\n  margin: 0;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs li a:hover.tabs-close,\n.tabs-p-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  cursor: hand;\n  cursor: pointer;\n}\n.tabs-with-icon {\n  padding-left: 18px;\n}\n.tabs-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 10px;\n  top: 50%;\n  margin-top: -8px;\n}\n.tabs-title {\n  font-size: 12px;\n}\n.tabs-closable {\n  padding-right: 8px;\n}\n.tabs-panels {\n  margin: 0px;\n  padding: 0px;\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0;\n  overflow: hidden;\n}\n.tabs-header-bottom {\n  border-width: 0 1px 1px 1px;\n  padding: 0 0 2px 0;\n}\n.tabs-header-bottom .tabs {\n  border-width: 1px 0 0 0;\n}\n.tabs-header-bottom .tabs li {\n  margin: -1px 4px 0 0;\n}\n.tabs-header-bottom .tabs li a.tabs-inner {\n  -moz-border-radius: 0 0 5px 5px;\n  -webkit-border-radius: 0 0 5px 5px;\n  border-radius: 0 0 5px 5px;\n}\n.tabs-header-bottom .tabs-tool {\n  top: 0;\n}\n.tabs-header-bottom .tabs-scroller-left,\n.tabs-header-bottom .tabs-scroller-right {\n  top: 0;\n  bottom: auto;\n}\n.tabs-panels-top {\n  border-width: 1px 1px 0 1px;\n}\n.tabs-header-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n  padding: 0;\n}\n.tabs-header-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n  padding: 0;\n}\n.tabs-header-left .tabs-wrap,\n.tabs-header-right .tabs-wrap {\n  height: 100%;\n}\n.tabs-header-left .tabs {\n  height: 100%;\n  padding: 4px 0 0 4px;\n  border-width: 0 1px 0 0;\n}\n.tabs-header-right .tabs {\n  height: 100%;\n  padding: 4px 4px 0 0;\n  border-width: 0 0 0 1px;\n}\n.tabs-header-left .tabs li,\n.tabs-header-right .tabs li {\n  display: block;\n  width: 100%;\n  position: relative;\n}\n.tabs-header-left .tabs li {\n  left: auto;\n  right: 0;\n  margin: 0 -1px 4px 0;\n  float: right;\n}\n.tabs-header-right .tabs li {\n  left: 0;\n  right: auto;\n  margin: 0 0 4px -1px;\n  float: left;\n}\n.tabs-header-left .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.tabs-header-right .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 0 5px 5px 0;\n  -webkit-border-radius: 0 5px 5px 0;\n  border-radius: 0 5px 5px 0;\n}\n.tabs-panels-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n}\n.tabs-panels-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n}\n.tabs-header-noborder,\n.tabs-panels-noborder {\n  border: 0px;\n}\n.tabs-header-plain {\n  border: 0px;\n  background: transparent;\n}\n.tabs-scroller-left {\n  background: #f3f3f3 url('images/tabs_icons.png') no-repeat 1px center;\n}\n.tabs-scroller-right {\n  background: #f3f3f3 url('images/tabs_icons.png') no-repeat -15px center;\n}\n.tabs li a.tabs-close {\n  background: url('images/tabs_icons.png') no-repeat -34px center;\n}\n.tabs li a.tabs-inner:hover {\n  background: #e2e2e2;\n  color: #000000;\n  filter: none;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  background-color: #ffffff;\n  color: #575765;\n  background: -webkit-linear-gradient(top,#F8F8F8 0,#ffffff 100%);\n  background: -moz-linear-gradient(top,#F8F8F8 0,#ffffff 100%);\n  background: -o-linear-gradient(top,#F8F8F8 0,#ffffff 100%);\n  background: linear-gradient(to bottom,#F8F8F8 0,#ffffff 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=0);\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(top,#ffffff 0,#F8F8F8 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#F8F8F8 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#F8F8F8 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#F8F8F8 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=0);\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#F8F8F8 0,#ffffff 100%);\n  background: -moz-linear-gradient(left,#F8F8F8 0,#ffffff 100%);\n  background: -o-linear-gradient(left,#F8F8F8 0,#ffffff 100%);\n  background: linear-gradient(to right,#F8F8F8 0,#ffffff 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=1);\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#ffffff 0,#F8F8F8 100%);\n  background: -moz-linear-gradient(left,#ffffff 0,#F8F8F8 100%);\n  background: -o-linear-gradient(left,#ffffff 0,#F8F8F8 100%);\n  background: linear-gradient(to right,#ffffff 0,#F8F8F8 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=1);\n}\n.tabs li a.tabs-inner {\n  color: #575765;\n  background-color: #f3f3f3;\n  background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 100%);\n  background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 100%);\n  background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 100%);\n  background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0);\n}\n.tabs-header,\n.tabs-tool {\n  background-color: #f3f3f3;\n}\n.tabs-header-plain {\n  background: transparent;\n}\n.tabs-header,\n.tabs-scroller-left,\n.tabs-scroller-right,\n.tabs-tool,\n.tabs,\n.tabs-panels,\n.tabs li a.tabs-inner,\n.tabs li.tabs-selected a.tabs-inner,\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-color: #D3D3D3;\n}\n.tabs-p-tool a:hover,\n.tabs li a:hover.tabs-close,\n.tabs-scroller-over {\n  background-color: #e2e2e2;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  border-bottom: 1px solid #ffffff;\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  border-top: 1px solid #ffffff;\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  border-right: 1px solid #ffffff;\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-left: 1px solid #ffffff;\n}\n.datagrid .panel-body {\n  overflow: hidden;\n  position: relative;\n}\n.datagrid-view {\n  position: relative;\n  overflow: hidden;\n}\n.datagrid-view1,\n.datagrid-view2 {\n  position: absolute;\n  overflow: hidden;\n  top: 0;\n}\n.datagrid-view1 {\n  left: 0;\n}\n.datagrid-view2 {\n  right: 0;\n}\n.datagrid-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n  display: none;\n}\n.datagrid-mask-msg {\n  position: absolute;\n  top: 50%;\n  margin-top: -20px;\n  padding: 10px 5px 10px 30px;\n  width: auto;\n  height: 16px;\n  border-width: 2px;\n  border-style: solid;\n  display: none;\n}\n.datagrid-sort-icon {\n  padding: 0;\n}\n.datagrid-toolbar {\n  height: auto;\n  padding: 1px 2px;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.datagrid .datagrid-pager {\n  display: block;\n  margin: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.datagrid .datagrid-pager-top {\n  border-width: 0 0 1px 0;\n}\n.datagrid-header {\n  overflow: hidden;\n  cursor: default;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-header-inner {\n  float: left;\n  width: 10000px;\n}\n.datagrid-header-row,\n.datagrid-row {\n  height: 25px;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-width: 0 1px 1px 0;\n  border-style: dotted;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-cell,\n.datagrid-cell-group,\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  margin: 0;\n  padding: 0 4px;\n  white-space: nowrap;\n  word-wrap: normal;\n  overflow: hidden;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n}\n.datagrid-header .datagrid-cell {\n  height: auto;\n}\n.datagrid-header .datagrid-cell span {\n  font-size: 12px;\n}\n.datagrid-cell-group {\n  text-align: center;\n}\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  width: 25px;\n  text-align: center;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body {\n  margin: 0;\n  padding: 0;\n  overflow: auto;\n  zoom: 1;\n}\n.datagrid-view1 .datagrid-body-inner {\n  padding-bottom: 20px;\n}\n.datagrid-view1 .datagrid-body {\n  overflow: hidden;\n}\n.datagrid-footer {\n  overflow: hidden;\n}\n.datagrid-footer-inner {\n  border-width: 1px 0 0 0;\n  border-style: solid;\n  width: 10000px;\n  float: left;\n}\n.datagrid-row-editing .datagrid-cell {\n  height: auto;\n}\n.datagrid-header-check,\n.datagrid-cell-check {\n  padding: 0;\n  width: 27px;\n  height: 18px;\n  font-size: 1px;\n  text-align: center;\n  overflow: hidden;\n}\n.datagrid-header-check input,\n.datagrid-cell-check input {\n  margin: 0;\n  padding: 0;\n  width: 15px;\n  height: 18px;\n}\n.datagrid-resize-proxy {\n  position: absolute;\n  width: 1px;\n  height: 10000px;\n  top: 0;\n  cursor: e-resize;\n  display: none;\n}\n.datagrid-body .datagrid-editable {\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body .datagrid-editable table {\n  width: 100%;\n  height: 100%;\n}\n.datagrid-body .datagrid-editable td {\n  border: 0;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-view .datagrid-editable-input {\n  margin: 0;\n  padding: 2px 4px;\n  border: 1px solid #D3D3D3;\n  font-size: 12px;\n  outline-style: none;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.datagrid-sort-desc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat -16px center;\n}\n.datagrid-sort-asc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat 0px center;\n}\n.datagrid-row-collapse {\n  background: url('images/datagrid_icons.png') no-repeat -48px center;\n}\n.datagrid-row-expand {\n  background: url('images/datagrid_icons.png') no-repeat -32px center;\n}\n.datagrid-mask-msg {\n  background: #ffffff url('images/loading.gif') no-repeat scroll 5px center;\n}\n.datagrid-header,\n.datagrid-td-rownumber {\n  background-color: #fafafa;\n  background: -webkit-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%);\n  background: -moz-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%);\n  background: -o-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%);\n  background: linear-gradient(to bottom,#fdfdfd 0,#f5f5f5 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#fdfdfd,endColorstr=#f5f5f5,GradientType=0);\n}\n.datagrid-cell-rownumber {\n  color: #000000;\n}\n.datagrid-resize-proxy {\n  background: #bfbfbf;\n}\n.datagrid-mask {\n  background: #ccc;\n}\n.datagrid-mask-msg {\n  border-color: #D3D3D3;\n}\n.datagrid-toolbar,\n.datagrid-pager {\n  background: #fafafa;\n}\n.datagrid-header,\n.datagrid-toolbar,\n.datagrid-pager,\n.datagrid-footer-inner {\n  border-color: #ddd;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-color: #ccc;\n}\n.datagrid-htable,\n.datagrid-btable,\n.datagrid-ftable {\n  color: #000000;\n  border-collapse: separate;\n}\n.datagrid-row-alt {\n  background: #fafafa;\n}\n.datagrid-row-over,\n.datagrid-header td.datagrid-header-over {\n  background: #e2e2e2;\n  color: #000000;\n  cursor: default;\n}\n.datagrid-row-selected {\n  background: #0092DC;\n  color: #fff;\n}\n.datagrid-row-editing .textbox,\n.datagrid-row-editing .textbox-text {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.propertygrid .datagrid-view1 .datagrid-body td {\n  padding-bottom: 1px;\n  border-width: 0 1px 0 0;\n}\n.propertygrid .datagrid-group {\n  height: 21px;\n  overflow: hidden;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.propertygrid .datagrid-group span {\n  font-weight: bold;\n}\n.propertygrid .datagrid-view1 .datagrid-body td {\n  border-color: #ddd;\n}\n.propertygrid .datagrid-view1 .datagrid-group {\n  border-color: #f3f3f3;\n}\n.propertygrid .datagrid-view2 .datagrid-group {\n  border-color: #ddd;\n}\n.propertygrid .datagrid-group,\n.propertygrid .datagrid-view1 .datagrid-body,\n.propertygrid .datagrid-view1 .datagrid-row-over,\n.propertygrid .datagrid-view1 .datagrid-row-selected {\n  background: #f3f3f3;\n}\n.pagination {\n  zoom: 1;\n}\n.pagination table {\n  float: left;\n  height: 30px;\n}\n.pagination td {\n  border: 0;\n}\n.pagination-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 3px 1px;\n}\n.pagination .pagination-num {\n  border-width: 1px;\n  border-style: solid;\n  margin: 0 2px;\n  padding: 2px;\n  width: 2em;\n  height: auto;\n}\n.pagination-page-list {\n  margin: 0px 6px;\n  padding: 1px 2px;\n  width: auto;\n  height: auto;\n  border-width: 1px;\n  border-style: solid;\n}\n.pagination-info {\n  float: right;\n  margin: 0 6px 0 0;\n  padding: 0;\n  height: 30px;\n  line-height: 30px;\n  font-size: 12px;\n}\n.pagination span {\n  font-size: 12px;\n}\n.pagination-link .l-btn-text {\n  width: 24px;\n  text-align: center;\n  margin: 0;\n}\n.pagination-first {\n  background: url('images/pagination_icons.png') no-repeat 0 center;\n}\n.pagination-prev {\n  background: url('images/pagination_icons.png') no-repeat -16px center;\n}\n.pagination-next {\n  background: url('images/pagination_icons.png') no-repeat -32px center;\n}\n.pagination-last {\n  background: url('images/pagination_icons.png') no-repeat -48px center;\n}\n.pagination-load {\n  background: url('images/pagination_icons.png') no-repeat -64px center;\n}\n.pagination-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.pagination-page-list,\n.pagination .pagination-num {\n  border-color: #D3D3D3;\n}\n.calendar {\n  border-width: 1px;\n  border-style: solid;\n  padding: 1px;\n  overflow: hidden;\n}\n.calendar table {\n  table-layout: fixed;\n  border-collapse: separate;\n  font-size: 12px;\n  width: 100%;\n  height: 100%;\n}\n.calendar table td,\n.calendar table th {\n  font-size: 12px;\n}\n.calendar-noborder {\n  border: 0;\n}\n.calendar-header {\n  position: relative;\n  height: 22px;\n}\n.calendar-title {\n  text-align: center;\n  height: 22px;\n}\n.calendar-title span {\n  position: relative;\n  display: inline-block;\n  top: 2px;\n  padding: 0 3px;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth,\n.calendar-nextmonth,\n.calendar-prevyear,\n.calendar-nextyear {\n  position: absolute;\n  top: 50%;\n  margin-top: -7px;\n  width: 14px;\n  height: 14px;\n  cursor: pointer;\n  font-size: 1px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-prevmonth {\n  left: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -18px -2px;\n}\n.calendar-nextmonth {\n  right: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -34px -2px;\n}\n.calendar-prevyear {\n  left: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -1px -2px;\n}\n.calendar-nextyear {\n  right: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -49px -2px;\n}\n.calendar-body {\n  position: relative;\n}\n.calendar-body th,\n.calendar-body td {\n  text-align: center;\n}\n.calendar-day {\n  border: 0;\n  padding: 1px;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-other-month {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.calendar-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  cursor: default;\n}\n.calendar-menu {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 180px;\n  height: 150px;\n  padding: 5px;\n  font-size: 12px;\n  display: none;\n  overflow: hidden;\n}\n.calendar-menu-year-inner {\n  text-align: center;\n  padding-bottom: 5px;\n}\n.calendar-menu-year {\n  width: 40px;\n  text-align: center;\n  border-width: 1px;\n  border-style: solid;\n  margin: 0;\n  padding: 2px;\n  font-weight: bold;\n  font-size: 12px;\n}\n.calendar-menu-prev,\n.calendar-menu-next {\n  display: inline-block;\n  width: 21px;\n  height: 21px;\n  vertical-align: top;\n  cursor: pointer;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-menu-prev {\n  margin-right: 10px;\n  background: url('images/calendar_arrows.png') no-repeat 2px 2px;\n}\n.calendar-menu-next {\n  margin-left: 10px;\n  background: url('images/calendar_arrows.png') no-repeat -45px 2px;\n}\n.calendar-menu-month {\n  text-align: center;\n  cursor: pointer;\n  font-weight: bold;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.calendar-body th,\n.calendar-menu-month {\n  color: #4d4d4d;\n}\n.calendar-day {\n  color: #000000;\n}\n.calendar-sunday {\n  color: #CC2222;\n}\n.calendar-saturday {\n  color: #00ee00;\n}\n.calendar-today {\n  color: #0000ff;\n}\n.calendar-menu-year {\n  border-color: #D3D3D3;\n}\n.calendar {\n  border-color: #D3D3D3;\n}\n.calendar-header {\n  background: #f3f3f3;\n}\n.calendar-body,\n.calendar-menu {\n  background: #ffffff;\n}\n.calendar-body th {\n  background: #fafafa;\n  padding: 2px 0;\n}\n.calendar-hover,\n.calendar-nav-hover,\n.calendar-menu-hover {\n  background-color: #e2e2e2;\n  color: #000000;\n}\n.calendar-hover {\n  border: 1px solid #ccc;\n  padding: 0;\n}\n.calendar-selected {\n  background-color: #0092DC;\n  color: #fff;\n  border: 1px solid #0070a9;\n  padding: 0;\n}\n.datebox-calendar-inner {\n  height: 180px;\n}\n.datebox-button {\n  height: 18px;\n  padding: 2px 5px;\n  text-align: center;\n}\n.datebox-button a {\n  font-size: 12px;\n  font-weight: bold;\n  text-decoration: none;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.datebox-button a:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.datebox-current,\n.datebox-close {\n  float: left;\n}\n.datebox-close {\n  float: right;\n}\n.datebox .combo-arrow {\n  background-image: url('images/datebox_arrow.png');\n  background-position: center center;\n}\n.datebox-button {\n  background-color: #fafafa;\n}\n.datebox-button a {\n  color: #444;\n}\n.numberbox {\n  border: 1px solid #D3D3D3;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: middle;\n}\n.textbox {\n  padding: 0;\n}\n.spinner {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.spinner .spinner-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: baseline;\n}\n.spinner-arrow {\n  background-color: #f3f3f3;\n  display: inline-block;\n  overflow: hidden;\n  vertical-align: top;\n  margin: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  width: 18px;\n}\n.spinner-arrow-up,\n.spinner-arrow-down {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  display: block;\n  font-size: 1px;\n  width: 18px;\n  height: 10px;\n  width: 100%;\n  height: 50%;\n  outline-style: none;\n}\n.spinner-arrow-hover {\n  background-color: #e2e2e2;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.spinner-arrow-up:hover,\n.spinner-arrow-down:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  background-color: #e2e2e2;\n}\n.textbox-icon-disabled .spinner-arrow-up:hover,\n.textbox-icon-disabled .spinner-arrow-down:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  background-color: #f3f3f3;\n  cursor: default;\n}\n.spinner .textbox-icon-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.spinner-arrow-up {\n  background: url('images/spinner_arrows.png') no-repeat 1px center;\n}\n.spinner-arrow-down {\n  background: url('images/spinner_arrows.png') no-repeat -15px center;\n}\n.spinner {\n  border-color: #D3D3D3;\n}\n.progressbar {\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  overflow: hidden;\n  position: relative;\n}\n.progressbar-text {\n  text-align: center;\n  position: absolute;\n}\n.progressbar-value {\n  position: relative;\n  overflow: hidden;\n  width: 0;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.progressbar {\n  border-color: #D3D3D3;\n}\n.progressbar-text {\n  color: #000000;\n  font-size: 12px;\n}\n.progressbar-value .progressbar-text {\n  background-color: #0092DC;\n  color: #fff;\n}\n.searchbox {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.searchbox .searchbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: top;\n}\n.searchbox .searchbox-prompt {\n  font-size: 12px;\n  color: #ccc;\n}\n.searchbox-button {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.searchbox-button-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.searchbox .l-btn-plain {\n  border: 0;\n  padding: 0;\n  vertical-align: top;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .l-btn-plain:hover {\n  border: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox a.m-btn-plain-active {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .m-btn-active {\n  border-width: 0 1px 0 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .textbox-button-right {\n  border-width: 0 0 0 1px;\n}\n.searchbox .textbox-button-left {\n  border-width: 0 1px 0 0;\n}\n.searchbox-button {\n  background: url('images/searchbox_button.png') no-repeat center center;\n}\n.searchbox {\n  border-color: #D3D3D3;\n  background-color: #fff;\n}\n.searchbox .l-btn-plain {\n  background: #f3f3f3;\n}\n.searchbox .l-btn-plain-disabled,\n.searchbox .l-btn-plain-disabled:hover {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n.slider-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.slider-h {\n  height: 22px;\n}\n.slider-v {\n  width: 22px;\n}\n.slider-inner {\n  position: relative;\n  height: 6px;\n  top: 7px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n}\n.slider-handle {\n  position: absolute;\n  display: block;\n  outline: none;\n  width: 20px;\n  height: 20px;\n  top: 50%;\n  margin-top: -10px;\n  margin-left: -10px;\n}\n.slider-tip {\n  position: absolute;\n  display: inline-block;\n  line-height: 12px;\n  font-size: 12px;\n  white-space: nowrap;\n  top: -22px;\n}\n.slider-rule {\n  position: relative;\n  top: 15px;\n}\n.slider-rule span {\n  position: absolute;\n  display: inline-block;\n  font-size: 0;\n  height: 5px;\n  border-width: 0 0 0 1px;\n  border-style: solid;\n}\n.slider-rulelabel {\n  position: relative;\n  top: 20px;\n}\n.slider-rulelabel span {\n  position: absolute;\n  display: inline-block;\n  font-size: 12px;\n}\n.slider-v .slider-inner {\n  width: 6px;\n  left: 7px;\n  top: 0;\n  float: left;\n}\n.slider-v .slider-handle {\n  left: 50%;\n  margin-top: -10px;\n}\n.slider-v .slider-tip {\n  left: -10px;\n  margin-top: -6px;\n}\n.slider-v .slider-rule {\n  float: left;\n  top: 0;\n  left: 16px;\n}\n.slider-v .slider-rule span {\n  width: 5px;\n  height: 'auto';\n  border-left: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.slider-v .slider-rulelabel {\n  float: left;\n  top: 0;\n  left: 23px;\n}\n.slider-handle {\n  background: url('images/slider_handle.png') no-repeat;\n}\n.slider-inner {\n  border-color: #D3D3D3;\n  background: #f3f3f3;\n}\n.slider-rule span {\n  border-color: #D3D3D3;\n}\n.slider-rulelabel span {\n  color: #000000;\n}\n.menu {\n  position: absolute;\n  margin: 0;\n  padding: 2px;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n}\n.menu-item {\n  position: relative;\n  margin: 0;\n  padding: 0;\n  overflow: hidden;\n  white-space: nowrap;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.menu-text {\n  height: 20px;\n  line-height: 20px;\n  float: left;\n  padding-left: 28px;\n}\n.menu-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 2px;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-rightarrow {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-line {\n  position: absolute;\n  left: 26px;\n  top: 0;\n  height: 2000px;\n  font-size: 1px;\n}\n.menu-sep {\n  margin: 3px 0px 3px 25px;\n  font-size: 1px;\n}\n.menu-active {\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.menu-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  cursor: default;\n}\n.menu-text,\n.menu-text span {\n  font-size: 12px;\n}\n.menu-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  background: #ccc;\n  -moz-box-shadow: 2px 2px 3px #cccccc;\n  -webkit-box-shadow: 2px 2px 3px #cccccc;\n  box-shadow: 2px 2px 3px #cccccc;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.menu-rightarrow {\n  background: url('images/menu_arrows.png') no-repeat -32px center;\n}\n.menu-line {\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n}\n.menu-sep {\n  border-top: 1px solid #ccc;\n  border-bottom: 1px solid #fff;\n}\n.menu {\n  background-color: #f3f3f3;\n  border-color: #D3D3D3;\n  color: #444;\n}\n.menu-content {\n  background: #ffffff;\n}\n.menu-item {\n  border-color: transparent;\n  _border-color: #f3f3f3;\n}\n.menu-active {\n  border-color: #ccc;\n  color: #000000;\n  background: #e2e2e2;\n}\n.menu-active-disabled {\n  border-color: transparent;\n  background: transparent;\n  color: #444;\n}\n.m-btn-downarrow,\n.s-btn-downarrow {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  font-size: 1px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.m-btn-active,\n.s-btn-active {\n  background: #e2e2e2;\n  color: #000000;\n  border: 1px solid #ccc;\n  filter: none;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  background: transparent;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.m-btn .l-btn-left .l-btn-text {\n  margin-right: 20px;\n}\n.m-btn .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.m-btn .l-btn-icon-right .l-btn-icon {\n  right: 20px;\n}\n.m-btn .l-btn-icon-top .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 14px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 34px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 20px;\n}\n.m-btn .l-btn-icon-top .m-btn-downarrow,\n.m-btn .l-btn-icon-bottom .m-btn-downarrow {\n  top: auto;\n  bottom: 0px;\n  left: 50%;\n  margin-left: -8px;\n}\n.m-btn-line {\n  display: inline-block;\n  position: absolute;\n  font-size: 1px;\n  display: none;\n}\n.m-btn .l-btn-left .m-btn-line {\n  right: 0;\n  width: 16px;\n  height: 500px;\n  border-style: solid;\n  border-color: #bfbfbf;\n  border-width: 0 0 0 1px;\n}\n.m-btn .l-btn-icon-top .m-btn-line,\n.m-btn .l-btn-icon-bottom .m-btn-line {\n  left: 0;\n  bottom: 0;\n  width: 500px;\n  height: 16px;\n  border-width: 1px 0 0 0;\n}\n.m-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 56px;\n}\n.m-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 50px;\n}\n.m-btn-downarrow,\n.s-btn-downarrow {\n  background: url('images/menu_arrows.png') no-repeat 0 center;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  border-color: #ccc;\n  background-color: #e2e2e2;\n  color: #000000;\n}\n.s-btn:hover .m-btn-line,\n.s-btn-active .m-btn-line,\n.s-btn-plain-active .m-btn-line {\n  display: inline-block;\n}\n.l-btn:hover .s-btn-downarrow,\n.s-btn-active .s-btn-downarrow,\n.s-btn-plain-active .s-btn-downarrow {\n  border-style: solid;\n  border-color: #bfbfbf;\n  border-width: 0 0 0 1px;\n}\n.messager-body {\n  padding: 10px;\n  overflow: hidden;\n}\n.messager-button {\n  text-align: center;\n  padding-top: 10px;\n}\n.messager-button .l-btn {\n  width: 70px;\n}\n.messager-icon {\n  float: left;\n  width: 32px;\n  height: 32px;\n  margin: 0 10px 10px 0;\n}\n.messager-error {\n  background: url('images/messager_icons.png') no-repeat scroll -64px 0;\n}\n.messager-info {\n  background: url('images/messager_icons.png') no-repeat scroll 0 0;\n}\n.messager-question {\n  background: url('images/messager_icons.png') no-repeat scroll -32px 0;\n}\n.messager-warning {\n  background: url('images/messager_icons.png') no-repeat scroll -96px 0;\n}\n.messager-progress {\n  padding: 10px;\n}\n.messager-p-msg {\n  margin-bottom: 5px;\n}\n.messager-body .messager-input {\n  width: 100%;\n  padding: 1px 0;\n  border: 1px solid #D3D3D3;\n}\n.tree {\n  margin: 0;\n  padding: 0;\n  list-style-type: none;\n}\n.tree li {\n  white-space: nowrap;\n}\n.tree li ul {\n  list-style-type: none;\n  margin: 0;\n  padding: 0;\n}\n.tree-node {\n  height: 18px;\n  white-space: nowrap;\n  cursor: pointer;\n}\n.tree-hit {\n  cursor: pointer;\n}\n.tree-expanded,\n.tree-collapsed,\n.tree-folder,\n.tree-file,\n.tree-checkbox,\n.tree-indent {\n  display: inline-block;\n  width: 16px;\n  height: 18px;\n  vertical-align: top;\n  overflow: hidden;\n}\n.tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -18px 0px;\n}\n.tree-expanded-hover {\n  background: url('images/tree_icons.png') no-repeat -50px 0px;\n}\n.tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat 0px 0px;\n}\n.tree-collapsed-hover {\n  background: url('images/tree_icons.png') no-repeat -32px 0px;\n}\n.tree-lines .tree-expanded,\n.tree-lines .tree-root-first .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -144px 0;\n}\n.tree-lines .tree-collapsed,\n.tree-lines .tree-root-first .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -128px 0;\n}\n.tree-lines .tree-node-last .tree-expanded,\n.tree-lines .tree-root-one .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -80px 0;\n}\n.tree-lines .tree-node-last .tree-collapsed,\n.tree-lines .tree-root-one .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -64px 0;\n}\n.tree-line {\n  background: url('images/tree_icons.png') no-repeat -176px 0;\n}\n.tree-join {\n  background: url('images/tree_icons.png') no-repeat -192px 0;\n}\n.tree-joinbottom {\n  background: url('images/tree_icons.png') no-repeat -160px 0;\n}\n.tree-folder {\n  background: url('images/tree_icons.png') no-repeat -208px 0;\n}\n.tree-folder-open {\n  background: url('images/tree_icons.png') no-repeat -224px 0;\n}\n.tree-file {\n  background: url('images/tree_icons.png') no-repeat -240px 0;\n}\n.tree-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.tree-checkbox0 {\n  background: url('images/tree_icons.png') no-repeat -208px -18px;\n}\n.tree-checkbox1 {\n  background: url('images/tree_icons.png') no-repeat -224px -18px;\n}\n.tree-checkbox2 {\n  background: url('images/tree_icons.png') no-repeat -240px -18px;\n}\n.tree-title {\n  font-size: 12px;\n  display: inline-block;\n  text-decoration: none;\n  vertical-align: top;\n  white-space: nowrap;\n  padding: 0 2px;\n  height: 18px;\n  line-height: 18px;\n}\n.tree-node-proxy {\n  font-size: 12px;\n  line-height: 20px;\n  padding: 0 2px 0 20px;\n  border-width: 1px;\n  border-style: solid;\n  z-index: 9900000;\n}\n.tree-dnd-icon {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 18px;\n  left: 2px;\n  top: 50%;\n  margin-top: -9px;\n}\n.tree-dnd-yes {\n  background: url('images/tree_icons.png') no-repeat -256px 0;\n}\n.tree-dnd-no {\n  background: url('images/tree_icons.png') no-repeat -256px -18px;\n}\n.tree-node-top {\n  border-top: 1px dotted red;\n}\n.tree-node-bottom {\n  border-bottom: 1px dotted red;\n}\n.tree-node-append .tree-title {\n  border: 1px dotted red;\n}\n.tree-editor {\n  border: 1px solid #ccc;\n  font-size: 12px;\n  height: 14px !important;\n  height: 18px;\n  line-height: 14px;\n  padding: 1px 2px;\n  width: 80px;\n  position: absolute;\n  top: 0;\n}\n.tree-node-proxy {\n  background-color: #ffffff;\n  color: #000000;\n  border-color: #D3D3D3;\n}\n.tree-node-hover {\n  background: #e2e2e2;\n  color: #000000;\n}\n.tree-node-selected {\n  background: #0092DC;\n  color: #fff;\n}\n.validatebox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n  color: #000;\n}\n.tooltip {\n  position: absolute;\n  display: none;\n  z-index: 9900000;\n  outline: none;\n  opacity: 1;\n  filter: alpha(opacity=100);\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.tooltip-content {\n  font-size: 12px;\n}\n.tooltip-arrow-outer,\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  line-height: 0;\n  font-size: 0;\n  border-style: solid;\n  border-width: 6px;\n  border-color: transparent;\n  _border-color: tomato;\n  _filter: chroma(color=tomato);\n}\n.tooltip-right .tooltip-arrow-outer {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -13px;\n}\n.tooltip-right .tooltip-arrow {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -12px;\n}\n.tooltip-left .tooltip-arrow-outer {\n  right: 0;\n  top: 50%;\n  margin: -6px -13px 0 0;\n}\n.tooltip-left .tooltip-arrow {\n  right: 0;\n  top: 50%;\n  margin: -6px -12px 0 0;\n}\n.tooltip-top .tooltip-arrow-outer {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -13px -6px;\n}\n.tooltip-top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -12px -6px;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  top: 0;\n  left: 50%;\n  margin: -13px 0 0 -6px;\n}\n.tooltip-bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin: -12px 0 0 -6px;\n}\n.tooltip {\n  background-color: #ffffff;\n  border-color: #D3D3D3;\n  color: #000000;\n}\n.tooltip-right .tooltip-arrow-outer {\n  border-right-color: #D3D3D3;\n}\n.tooltip-right .tooltip-arrow {\n  border-right-color: #ffffff;\n}\n.tooltip-left .tooltip-arrow-outer {\n  border-left-color: #D3D3D3;\n}\n.tooltip-left .tooltip-arrow {\n  border-left-color: #ffffff;\n}\n.tooltip-top .tooltip-arrow-outer {\n  border-top-color: #D3D3D3;\n}\n.tooltip-top .tooltip-arrow {\n  border-top-color: #ffffff;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  border-bottom-color: #D3D3D3;\n}\n.tooltip-bottom .tooltip-arrow {\n  border-bottom-color: #ffffff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/filebox.css",
    "content": ".filebox .textbox-value {\n  vertical-align: top;\n  position: absolute;\n  top: 0;\n  left: -5000px;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/layout.css",
    "content": ".layout {\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  z-index: 0;\n}\n.layout-panel {\n  position: absolute;\n  overflow: hidden;\n}\n.layout-panel-east,\n.layout-panel-west {\n  z-index: 2;\n}\n.layout-panel-north,\n.layout-panel-south {\n  z-index: 3;\n}\n.layout-expand {\n  position: absolute;\n  padding: 0px;\n  font-size: 1px;\n  cursor: pointer;\n  z-index: 1;\n}\n.layout-expand .panel-header,\n.layout-expand .panel-body {\n  background: transparent;\n  filter: none;\n  overflow: hidden;\n}\n.layout-expand .panel-header {\n  border-bottom-width: 0px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  position: absolute;\n  font-size: 1px;\n  display: none;\n  z-index: 5;\n}\n.layout-split-proxy-h {\n  width: 5px;\n  cursor: e-resize;\n}\n.layout-split-proxy-v {\n  height: 5px;\n  cursor: n-resize;\n}\n.layout-mask {\n  position: absolute;\n  background: #fafafa;\n  filter: alpha(opacity=10);\n  opacity: 0.10;\n  z-index: 4;\n}\n.layout-button-up {\n  background: url('images/layout_arrows.png') no-repeat -16px -16px;\n}\n.layout-button-down {\n  background: url('images/layout_arrows.png') no-repeat -16px 0;\n}\n.layout-button-left {\n  background: url('images/layout_arrows.png') no-repeat 0 0;\n}\n.layout-button-right {\n  background: url('images/layout_arrows.png') no-repeat 0 -16px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  background-color: #bfbfbf;\n}\n.layout-split-north {\n  border-bottom: 5px solid #efefef;\n}\n.layout-split-south {\n  border-top: 5px solid #efefef;\n}\n.layout-split-east {\n  border-left: 5px solid #efefef;\n}\n.layout-split-west {\n  border-right: 5px solid #efefef;\n}\n.layout-expand {\n  background-color: #f3f3f3;\n}\n.layout-expand-over {\n  background-color: #f3f3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/linkbutton.css",
    "content": ".l-btn {\n  text-decoration: none;\n  display: inline-block;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  cursor: pointer;\n  outline: none;\n  text-align: center;\n  vertical-align: middle;\n}\n.l-btn-plain {\n  border: 0;\n  padding: 1px;\n}\n.l-btn-left {\n  display: inline-block;\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  vertical-align: top;\n}\n.l-btn-text {\n  display: inline-block;\n  vertical-align: top;\n  width: auto;\n  line-height: 24px;\n  font-size: 12px;\n  padding: 0;\n  margin: 0 4px;\n}\n.l-btn-icon {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  line-height: 16px;\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  font-size: 1px;\n}\n.l-btn span span .l-btn-empty {\n  display: inline-block;\n  margin: 0;\n  width: 16px;\n  height: 24px;\n  font-size: 1px;\n  vertical-align: top;\n}\n.l-btn span .l-btn-icon-left {\n  padding: 0 0 0 20px;\n  background-position: left center;\n}\n.l-btn span .l-btn-icon-right {\n  padding: 0 20px 0 0;\n  background-position: right center;\n}\n.l-btn-icon-left .l-btn-text {\n  margin: 0 4px 0 24px;\n}\n.l-btn-icon-left .l-btn-icon {\n  left: 4px;\n}\n.l-btn-icon-right .l-btn-text {\n  margin: 0 24px 0 4px;\n}\n.l-btn-icon-right .l-btn-icon {\n  right: 4px;\n}\n.l-btn-icon-top .l-btn-text {\n  margin: 20px 4px 0 4px;\n}\n.l-btn-icon-top .l-btn-icon {\n  top: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-icon-bottom .l-btn-text {\n  margin: 0 4px 20px 4px;\n}\n.l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 16px;\n}\n.l-btn-plain:hover {\n  padding: 0;\n}\n.l-btn-focus {\n  outline: #0000FF dotted thin;\n}\n.l-btn-large .l-btn-text {\n  line-height: 40px;\n}\n.l-btn-large .l-btn-icon {\n  width: 32px;\n  height: 32px;\n  line-height: 32px;\n  margin-top: -16px;\n}\n.l-btn-large .l-btn-icon-left .l-btn-text {\n  margin-left: 40px;\n}\n.l-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-text {\n  margin-top: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 32px;\n}\n.l-btn {\n  color: #444;\n  background: #fafafa;\n  background-repeat: repeat-x;\n  border: 1px solid #bbb;\n  background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0);\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn:hover {\n  background: #e2e2e2;\n  color: #000000;\n  border: 1px solid #ccc;\n  filter: none;\n}\n.l-btn-plain {\n  background: transparent;\n  border: 0;\n  filter: none;\n}\n.l-btn-plain:hover {\n  background: #e2e2e2;\n  color: #000000;\n  border: 1px solid #ccc;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.l-btn-disabled,\n.l-btn-disabled:hover {\n  opacity: 0.5;\n  cursor: default;\n  background: #fafafa;\n  color: #444;\n  background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0);\n}\n.l-btn-disabled .l-btn-text,\n.l-btn-disabled .l-btn-icon {\n  filter: alpha(opacity=50);\n}\n.l-btn-plain-disabled,\n.l-btn-plain-disabled:hover {\n  background: transparent;\n  filter: alpha(opacity=50);\n}\n.l-btn-selected,\n.l-btn-selected:hover {\n  background: #ddd;\n  filter: none;\n}\n.l-btn-plain-selected,\n.l-btn-plain-selected:hover {\n  background: #ddd;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/menu.css",
    "content": ".menu {\n  position: absolute;\n  margin: 0;\n  padding: 2px;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n}\n.menu-item {\n  position: relative;\n  margin: 0;\n  padding: 0;\n  overflow: hidden;\n  white-space: nowrap;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.menu-text {\n  height: 20px;\n  line-height: 20px;\n  float: left;\n  padding-left: 28px;\n}\n.menu-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 2px;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-rightarrow {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-line {\n  position: absolute;\n  left: 26px;\n  top: 0;\n  height: 2000px;\n  font-size: 1px;\n}\n.menu-sep {\n  margin: 3px 0px 3px 25px;\n  font-size: 1px;\n}\n.menu-active {\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.menu-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  cursor: default;\n}\n.menu-text,\n.menu-text span {\n  font-size: 12px;\n}\n.menu-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  background: #ccc;\n  -moz-box-shadow: 2px 2px 3px #cccccc;\n  -webkit-box-shadow: 2px 2px 3px #cccccc;\n  box-shadow: 2px 2px 3px #cccccc;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.menu-rightarrow {\n  background: url('images/menu_arrows.png') no-repeat -32px center;\n}\n.menu-line {\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n}\n.menu-sep {\n  border-top: 1px solid #ccc;\n  border-bottom: 1px solid #fff;\n}\n.menu {\n  background-color: #f3f3f3;\n  border-color: #D3D3D3;\n  color: #444;\n}\n.menu-content {\n  background: #ffffff;\n}\n.menu-item {\n  border-color: transparent;\n  _border-color: #f3f3f3;\n}\n.menu-active {\n  border-color: #ccc;\n  color: #000000;\n  background: #e2e2e2;\n}\n.menu-active-disabled {\n  border-color: transparent;\n  background: transparent;\n  color: #444;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/menubutton.css",
    "content": ".m-btn-downarrow,\n.s-btn-downarrow {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  font-size: 1px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.m-btn-active,\n.s-btn-active {\n  background: #e2e2e2;\n  color: #000000;\n  border: 1px solid #ccc;\n  filter: none;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  background: transparent;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.m-btn .l-btn-left .l-btn-text {\n  margin-right: 20px;\n}\n.m-btn .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.m-btn .l-btn-icon-right .l-btn-icon {\n  right: 20px;\n}\n.m-btn .l-btn-icon-top .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 14px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 34px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 20px;\n}\n.m-btn .l-btn-icon-top .m-btn-downarrow,\n.m-btn .l-btn-icon-bottom .m-btn-downarrow {\n  top: auto;\n  bottom: 0px;\n  left: 50%;\n  margin-left: -8px;\n}\n.m-btn-line {\n  display: inline-block;\n  position: absolute;\n  font-size: 1px;\n  display: none;\n}\n.m-btn .l-btn-left .m-btn-line {\n  right: 0;\n  width: 16px;\n  height: 500px;\n  border-style: solid;\n  border-color: #bfbfbf;\n  border-width: 0 0 0 1px;\n}\n.m-btn .l-btn-icon-top .m-btn-line,\n.m-btn .l-btn-icon-bottom .m-btn-line {\n  left: 0;\n  bottom: 0;\n  width: 500px;\n  height: 16px;\n  border-width: 1px 0 0 0;\n}\n.m-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 56px;\n}\n.m-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 50px;\n}\n.m-btn-downarrow,\n.s-btn-downarrow {\n  background: url('images/menu_arrows.png') no-repeat 0 center;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  border-color: #ccc;\n  background-color: #e2e2e2;\n  color: #000000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/messager.css",
    "content": ".messager-body {\n  padding: 10px;\n  overflow: hidden;\n}\n.messager-button {\n  text-align: center;\n  padding-top: 10px;\n}\n.messager-button .l-btn {\n  width: 70px;\n}\n.messager-icon {\n  float: left;\n  width: 32px;\n  height: 32px;\n  margin: 0 10px 10px 0;\n}\n.messager-error {\n  background: url('images/messager_icons.png') no-repeat scroll -64px 0;\n}\n.messager-info {\n  background: url('images/messager_icons.png') no-repeat scroll 0 0;\n}\n.messager-question {\n  background: url('images/messager_icons.png') no-repeat scroll -32px 0;\n}\n.messager-warning {\n  background: url('images/messager_icons.png') no-repeat scroll -96px 0;\n}\n.messager-progress {\n  padding: 10px;\n}\n.messager-p-msg {\n  margin-bottom: 5px;\n}\n.messager-body .messager-input {\n  width: 100%;\n  padding: 1px 0;\n  border: 1px solid #D3D3D3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/numberbox.css",
    "content": ".numberbox {\n  border: 1px solid #D3D3D3;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: middle;\n}\n.textbox {\n  padding: 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/pagination.css",
    "content": ".pagination {\n  zoom: 1;\n}\n.pagination table {\n  float: left;\n  height: 30px;\n}\n.pagination td {\n  border: 0;\n}\n.pagination-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ccc;\n  border-right: 1px solid #fff;\n  margin: 3px 1px;\n}\n.pagination .pagination-num {\n  border-width: 1px;\n  border-style: solid;\n  margin: 0 2px;\n  padding: 2px;\n  width: 2em;\n  height: auto;\n}\n.pagination-page-list {\n  margin: 0px 6px;\n  padding: 1px 2px;\n  width: auto;\n  height: auto;\n  border-width: 1px;\n  border-style: solid;\n}\n.pagination-info {\n  float: right;\n  margin: 0 6px 0 0;\n  padding: 0;\n  height: 30px;\n  line-height: 30px;\n  font-size: 12px;\n}\n.pagination span {\n  font-size: 12px;\n}\n.pagination-link .l-btn-text {\n  width: 24px;\n  text-align: center;\n  margin: 0;\n}\n.pagination-first {\n  background: url('images/pagination_icons.png') no-repeat 0 center;\n}\n.pagination-prev {\n  background: url('images/pagination_icons.png') no-repeat -16px center;\n}\n.pagination-next {\n  background: url('images/pagination_icons.png') no-repeat -32px center;\n}\n.pagination-last {\n  background: url('images/pagination_icons.png') no-repeat -48px center;\n}\n.pagination-load {\n  background: url('images/pagination_icons.png') no-repeat -64px center;\n}\n.pagination-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.pagination-page-list,\n.pagination .pagination-num {\n  border-color: #D3D3D3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/panel.css",
    "content": ".panel {\n  overflow: hidden;\n  text-align: left;\n  margin: 0;\n  border: 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.panel-header,\n.panel-body {\n  border-width: 1px;\n  border-style: solid;\n}\n.panel-header {\n  padding: 5px;\n  position: relative;\n}\n.panel-title {\n  background: url('images/blank.gif') no-repeat;\n}\n.panel-header-noborder {\n  border-width: 0 0 1px 0;\n}\n.panel-body {\n  overflow: auto;\n  border-top-width: 0;\n  padding: 0;\n}\n.panel-body-noheader {\n  border-top-width: 1px;\n}\n.panel-body-noborder {\n  border-width: 0px;\n}\n.panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.panel-with-icon {\n  padding-left: 18px;\n}\n.panel-icon,\n.panel-tool {\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  height: 16px;\n  overflow: hidden;\n}\n.panel-icon {\n  left: 5px;\n  width: 16px;\n}\n.panel-tool {\n  right: 5px;\n  width: auto;\n}\n.panel-tool a {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  margin: 0 0 0 2px;\n  vertical-align: top;\n}\n.panel-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  background-color: #e2e2e2;\n  -moz-border-radius: 3px 3px 3px 3px;\n  -webkit-border-radius: 3px 3px 3px 3px;\n  border-radius: 3px 3px 3px 3px;\n}\n.panel-loading {\n  padding: 11px 0px 10px 30px;\n}\n.panel-noscroll {\n  overflow: hidden;\n}\n.panel-fit,\n.panel-fit body {\n  height: 100%;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  overflow: hidden;\n}\n.panel-loading {\n  background: url('images/loading.gif') no-repeat 10px 10px;\n}\n.panel-tool-close {\n  background: url('images/panel_tools.png') no-repeat -16px 0px;\n}\n.panel-tool-min {\n  background: url('images/panel_tools.png') no-repeat 0px 0px;\n}\n.panel-tool-max {\n  background: url('images/panel_tools.png') no-repeat 0px -16px;\n}\n.panel-tool-restore {\n  background: url('images/panel_tools.png') no-repeat -16px -16px;\n}\n.panel-tool-collapse {\n  background: url('images/panel_tools.png') no-repeat -32px 0;\n}\n.panel-tool-expand {\n  background: url('images/panel_tools.png') no-repeat -32px -16px;\n}\n.panel-header,\n.panel-body {\n  border-color: #D3D3D3;\n}\n.panel-header {\n  background-color: #f3f3f3;\n  background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 100%);\n  background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 100%);\n  background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 100%);\n  background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0);\n}\n.panel-body {\n  background-color: #ffffff;\n  color: #000000;\n  font-size: 12px;\n}\n.panel-title {\n  font-size: 12px;\n  font-weight: bold;\n  color: #575765;\n  height: 16px;\n  line-height: 16px;\n}\n.panel-footer {\n  border: 1px solid #D3D3D3;\n  overflow: hidden;\n  background: #fafafa;\n}\n.panel-footer-noborder {\n  border-width: 1px 0 0 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/progressbar.css",
    "content": ".progressbar {\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n  overflow: hidden;\n  position: relative;\n}\n.progressbar-text {\n  text-align: center;\n  position: absolute;\n}\n.progressbar-value {\n  position: relative;\n  overflow: hidden;\n  width: 0;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.progressbar {\n  border-color: #D3D3D3;\n}\n.progressbar-text {\n  color: #000000;\n  font-size: 12px;\n}\n.progressbar-value .progressbar-text {\n  background-color: #0092DC;\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/propertygrid.css",
    "content": ".propertygrid .datagrid-view1 .datagrid-body td {\n  padding-bottom: 1px;\n  border-width: 0 1px 0 0;\n}\n.propertygrid .datagrid-group {\n  height: 21px;\n  overflow: hidden;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.propertygrid .datagrid-group span {\n  font-weight: bold;\n}\n.propertygrid .datagrid-view1 .datagrid-body td {\n  border-color: #ddd;\n}\n.propertygrid .datagrid-view1 .datagrid-group {\n  border-color: #f3f3f3;\n}\n.propertygrid .datagrid-view2 .datagrid-group {\n  border-color: #ddd;\n}\n.propertygrid .datagrid-group,\n.propertygrid .datagrid-view1 .datagrid-body,\n.propertygrid .datagrid-view1 .datagrid-row-over,\n.propertygrid .datagrid-view1 .datagrid-row-selected {\n  background: #f3f3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/searchbox.css",
    "content": ".searchbox {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.searchbox .searchbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: top;\n}\n.searchbox .searchbox-prompt {\n  font-size: 12px;\n  color: #ccc;\n}\n.searchbox-button {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.searchbox-button-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.searchbox .l-btn-plain {\n  border: 0;\n  padding: 0;\n  vertical-align: top;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .l-btn-plain:hover {\n  border: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox a.m-btn-plain-active {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .m-btn-active {\n  border-width: 0 1px 0 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .textbox-button-right {\n  border-width: 0 0 0 1px;\n}\n.searchbox .textbox-button-left {\n  border-width: 0 1px 0 0;\n}\n.searchbox-button {\n  background: url('images/searchbox_button.png') no-repeat center center;\n}\n.searchbox {\n  border-color: #D3D3D3;\n  background-color: #fff;\n}\n.searchbox .l-btn-plain {\n  background: #f3f3f3;\n}\n.searchbox .l-btn-plain-disabled,\n.searchbox .l-btn-plain-disabled:hover {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/slider.css",
    "content": ".slider-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.slider-h {\n  height: 22px;\n}\n.slider-v {\n  width: 22px;\n}\n.slider-inner {\n  position: relative;\n  height: 6px;\n  top: 7px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n}\n.slider-handle {\n  position: absolute;\n  display: block;\n  outline: none;\n  width: 20px;\n  height: 20px;\n  top: 50%;\n  margin-top: -10px;\n  margin-left: -10px;\n}\n.slider-tip {\n  position: absolute;\n  display: inline-block;\n  line-height: 12px;\n  font-size: 12px;\n  white-space: nowrap;\n  top: -22px;\n}\n.slider-rule {\n  position: relative;\n  top: 15px;\n}\n.slider-rule span {\n  position: absolute;\n  display: inline-block;\n  font-size: 0;\n  height: 5px;\n  border-width: 0 0 0 1px;\n  border-style: solid;\n}\n.slider-rulelabel {\n  position: relative;\n  top: 20px;\n}\n.slider-rulelabel span {\n  position: absolute;\n  display: inline-block;\n  font-size: 12px;\n}\n.slider-v .slider-inner {\n  width: 6px;\n  left: 7px;\n  top: 0;\n  float: left;\n}\n.slider-v .slider-handle {\n  left: 50%;\n  margin-top: -10px;\n}\n.slider-v .slider-tip {\n  left: -10px;\n  margin-top: -6px;\n}\n.slider-v .slider-rule {\n  float: left;\n  top: 0;\n  left: 16px;\n}\n.slider-v .slider-rule span {\n  width: 5px;\n  height: 'auto';\n  border-left: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.slider-v .slider-rulelabel {\n  float: left;\n  top: 0;\n  left: 23px;\n}\n.slider-handle {\n  background: url('images/slider_handle.png') no-repeat;\n}\n.slider-inner {\n  border-color: #D3D3D3;\n  background: #f3f3f3;\n}\n.slider-rule span {\n  border-color: #D3D3D3;\n}\n.slider-rulelabel span {\n  color: #000000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/spinner.css",
    "content": ".spinner {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.spinner .spinner-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: baseline;\n}\n.spinner-arrow {\n  background-color: #f3f3f3;\n  display: inline-block;\n  overflow: hidden;\n  vertical-align: top;\n  margin: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  width: 18px;\n}\n.spinner-arrow-up,\n.spinner-arrow-down {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  display: block;\n  font-size: 1px;\n  width: 18px;\n  height: 10px;\n  width: 100%;\n  height: 50%;\n  outline-style: none;\n}\n.spinner-arrow-hover {\n  background-color: #e2e2e2;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.spinner-arrow-up:hover,\n.spinner-arrow-down:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  background-color: #e2e2e2;\n}\n.textbox-icon-disabled .spinner-arrow-up:hover,\n.textbox-icon-disabled .spinner-arrow-down:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  background-color: #f3f3f3;\n  cursor: default;\n}\n.spinner .textbox-icon-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.spinner-arrow-up {\n  background: url('images/spinner_arrows.png') no-repeat 1px center;\n}\n.spinner-arrow-down {\n  background: url('images/spinner_arrows.png') no-repeat -15px center;\n}\n.spinner {\n  border-color: #D3D3D3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/splitbutton.css",
    "content": ".s-btn:hover .m-btn-line,\n.s-btn-active .m-btn-line,\n.s-btn-plain-active .m-btn-line {\n  display: inline-block;\n}\n.l-btn:hover .s-btn-downarrow,\n.s-btn-active .s-btn-downarrow,\n.s-btn-plain-active .s-btn-downarrow {\n  border-style: solid;\n  border-color: #bfbfbf;\n  border-width: 0 0 0 1px;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/tabs.css",
    "content": ".tabs-container {\n  overflow: hidden;\n}\n.tabs-header {\n  border-width: 1px;\n  border-style: solid;\n  border-bottom-width: 0;\n  position: relative;\n  padding: 0;\n  padding-top: 2px;\n  overflow: hidden;\n}\n.tabs-header-plain {\n  border: 0;\n  background: transparent;\n}\n.tabs-scroller-left,\n.tabs-scroller-right {\n  position: absolute;\n  top: auto;\n  bottom: 0;\n  width: 18px;\n  font-size: 1px;\n  display: none;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-scroller-left {\n  left: 0;\n}\n.tabs-scroller-right {\n  right: 0;\n}\n.tabs-tool {\n  position: absolute;\n  bottom: 0;\n  padding: 1px;\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-header-plain .tabs-tool {\n  padding: 0 1px;\n}\n.tabs-wrap {\n  position: relative;\n  left: 0;\n  overflow: hidden;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n}\n.tabs-scrolling {\n  margin-left: 18px;\n  margin-right: 18px;\n}\n.tabs-disabled {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.tabs {\n  list-style-type: none;\n  height: 26px;\n  margin: 0px;\n  padding: 0px;\n  padding-left: 4px;\n  width: 50000px;\n  border-style: solid;\n  border-width: 0 0 1px 0;\n}\n.tabs li {\n  float: left;\n  display: inline-block;\n  margin: 0 4px -1px 0;\n  padding: 0;\n  position: relative;\n  border: 0;\n}\n.tabs li a.tabs-inner {\n  display: inline-block;\n  text-decoration: none;\n  margin: 0;\n  padding: 0 10px;\n  height: 25px;\n  line-height: 25px;\n  text-align: center;\n  white-space: nowrap;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 5px 5px 0 0;\n  -webkit-border-radius: 5px 5px 0 0;\n  border-radius: 5px 5px 0 0;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  font-weight: bold;\n  outline: none;\n}\n.tabs li.tabs-selected a:hover.tabs-inner {\n  cursor: default;\n  pointer: default;\n}\n.tabs li a.tabs-close,\n.tabs-p-tool {\n  position: absolute;\n  font-size: 1px;\n  display: block;\n  height: 12px;\n  padding: 0;\n  top: 50%;\n  margin-top: -6px;\n  overflow: hidden;\n}\n.tabs li a.tabs-close {\n  width: 12px;\n  right: 5px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs-p-tool {\n  right: 16px;\n}\n.tabs-p-tool a {\n  display: inline-block;\n  font-size: 1px;\n  width: 12px;\n  height: 12px;\n  margin: 0;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs li a:hover.tabs-close,\n.tabs-p-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  cursor: hand;\n  cursor: pointer;\n}\n.tabs-with-icon {\n  padding-left: 18px;\n}\n.tabs-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 10px;\n  top: 50%;\n  margin-top: -8px;\n}\n.tabs-title {\n  font-size: 12px;\n}\n.tabs-closable {\n  padding-right: 8px;\n}\n.tabs-panels {\n  margin: 0px;\n  padding: 0px;\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0;\n  overflow: hidden;\n}\n.tabs-header-bottom {\n  border-width: 0 1px 1px 1px;\n  padding: 0 0 2px 0;\n}\n.tabs-header-bottom .tabs {\n  border-width: 1px 0 0 0;\n}\n.tabs-header-bottom .tabs li {\n  margin: -1px 4px 0 0;\n}\n.tabs-header-bottom .tabs li a.tabs-inner {\n  -moz-border-radius: 0 0 5px 5px;\n  -webkit-border-radius: 0 0 5px 5px;\n  border-radius: 0 0 5px 5px;\n}\n.tabs-header-bottom .tabs-tool {\n  top: 0;\n}\n.tabs-header-bottom .tabs-scroller-left,\n.tabs-header-bottom .tabs-scroller-right {\n  top: 0;\n  bottom: auto;\n}\n.tabs-panels-top {\n  border-width: 1px 1px 0 1px;\n}\n.tabs-header-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n  padding: 0;\n}\n.tabs-header-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n  padding: 0;\n}\n.tabs-header-left .tabs-wrap,\n.tabs-header-right .tabs-wrap {\n  height: 100%;\n}\n.tabs-header-left .tabs {\n  height: 100%;\n  padding: 4px 0 0 4px;\n  border-width: 0 1px 0 0;\n}\n.tabs-header-right .tabs {\n  height: 100%;\n  padding: 4px 4px 0 0;\n  border-width: 0 0 0 1px;\n}\n.tabs-header-left .tabs li,\n.tabs-header-right .tabs li {\n  display: block;\n  width: 100%;\n  position: relative;\n}\n.tabs-header-left .tabs li {\n  left: auto;\n  right: 0;\n  margin: 0 -1px 4px 0;\n  float: right;\n}\n.tabs-header-right .tabs li {\n  left: 0;\n  right: auto;\n  margin: 0 0 4px -1px;\n  float: left;\n}\n.tabs-header-left .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 5px 0 0 5px;\n  -webkit-border-radius: 5px 0 0 5px;\n  border-radius: 5px 0 0 5px;\n}\n.tabs-header-right .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 0 5px 5px 0;\n  -webkit-border-radius: 0 5px 5px 0;\n  border-radius: 0 5px 5px 0;\n}\n.tabs-panels-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n}\n.tabs-panels-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n}\n.tabs-header-noborder,\n.tabs-panels-noborder {\n  border: 0px;\n}\n.tabs-header-plain {\n  border: 0px;\n  background: transparent;\n}\n.tabs-scroller-left {\n  background: #f3f3f3 url('images/tabs_icons.png') no-repeat 1px center;\n}\n.tabs-scroller-right {\n  background: #f3f3f3 url('images/tabs_icons.png') no-repeat -15px center;\n}\n.tabs li a.tabs-close {\n  background: url('images/tabs_icons.png') no-repeat -34px center;\n}\n.tabs li a.tabs-inner:hover {\n  background: #e2e2e2;\n  color: #000000;\n  filter: none;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  background-color: #ffffff;\n  color: #575765;\n  background: -webkit-linear-gradient(top,#F8F8F8 0,#ffffff 100%);\n  background: -moz-linear-gradient(top,#F8F8F8 0,#ffffff 100%);\n  background: -o-linear-gradient(top,#F8F8F8 0,#ffffff 100%);\n  background: linear-gradient(to bottom,#F8F8F8 0,#ffffff 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=0);\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(top,#ffffff 0,#F8F8F8 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#F8F8F8 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#F8F8F8 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#F8F8F8 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=0);\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#F8F8F8 0,#ffffff 100%);\n  background: -moz-linear-gradient(left,#F8F8F8 0,#ffffff 100%);\n  background: -o-linear-gradient(left,#F8F8F8 0,#ffffff 100%);\n  background: linear-gradient(to right,#F8F8F8 0,#ffffff 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=1);\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  background: -webkit-linear-gradient(left,#ffffff 0,#F8F8F8 100%);\n  background: -moz-linear-gradient(left,#ffffff 0,#F8F8F8 100%);\n  background: -o-linear-gradient(left,#ffffff 0,#F8F8F8 100%);\n  background: linear-gradient(to right,#ffffff 0,#F8F8F8 100%);\n  background-repeat: repeat-y;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=1);\n}\n.tabs li a.tabs-inner {\n  color: #575765;\n  background-color: #f3f3f3;\n  background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 100%);\n  background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 100%);\n  background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 100%);\n  background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0);\n}\n.tabs-header,\n.tabs-tool {\n  background-color: #f3f3f3;\n}\n.tabs-header-plain {\n  background: transparent;\n}\n.tabs-header,\n.tabs-scroller-left,\n.tabs-scroller-right,\n.tabs-tool,\n.tabs,\n.tabs-panels,\n.tabs li a.tabs-inner,\n.tabs li.tabs-selected a.tabs-inner,\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-color: #D3D3D3;\n}\n.tabs-p-tool a:hover,\n.tabs li a:hover.tabs-close,\n.tabs-scroller-over {\n  background-color: #e2e2e2;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  border-bottom: 1px solid #ffffff;\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  border-top: 1px solid #ffffff;\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  border-right: 1px solid #ffffff;\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-left: 1px solid #ffffff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/textbox.css",
    "content": ".textbox {\n  position: relative;\n  border: 1px solid #D3D3D3;\n  background-color: #fff;\n  vertical-align: middle;\n  display: inline-block;\n  overflow: hidden;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 4px;\n  white-space: normal;\n  vertical-align: top;\n  outline-style: none;\n  resize: none;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.textbox .textbox-prompt {\n  font-size: 12px;\n  color: #aaa;\n}\n.textbox-button,\n.textbox-button:hover {\n  position: absolute;\n  top: 0;\n  padding: 0;\n  vertical-align: top;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.textbox-button-right,\n.textbox-button-right:hover {\n  border-width: 0 0 0 1px;\n}\n.textbox-button-left,\n.textbox-button-left:hover {\n  border-width: 0 1px 0 0;\n}\n.textbox-addon {\n  position: absolute;\n  top: 0;\n}\n.textbox-icon {\n  display: inline-block;\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  vertical-align: top;\n  background-position: center center;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  text-decoration: none;\n  outline-style: none;\n}\n.textbox-icon-disabled,\n.textbox-icon-readonly {\n  cursor: default;\n}\n.textbox-icon:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.textbox-icon-disabled:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.textbox-focused {\n  -moz-box-shadow: 0 0 3px 0 #D3D3D3;\n  -webkit-box-shadow: 0 0 3px 0 #D3D3D3;\n  box-shadow: 0 0 3px 0 #D3D3D3;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/tooltip.css",
    "content": ".tooltip {\n  position: absolute;\n  display: none;\n  z-index: 9900000;\n  outline: none;\n  opacity: 1;\n  filter: alpha(opacity=100);\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.tooltip-content {\n  font-size: 12px;\n}\n.tooltip-arrow-outer,\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  line-height: 0;\n  font-size: 0;\n  border-style: solid;\n  border-width: 6px;\n  border-color: transparent;\n  _border-color: tomato;\n  _filter: chroma(color=tomato);\n}\n.tooltip-right .tooltip-arrow-outer {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -13px;\n}\n.tooltip-right .tooltip-arrow {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -12px;\n}\n.tooltip-left .tooltip-arrow-outer {\n  right: 0;\n  top: 50%;\n  margin: -6px -13px 0 0;\n}\n.tooltip-left .tooltip-arrow {\n  right: 0;\n  top: 50%;\n  margin: -6px -12px 0 0;\n}\n.tooltip-top .tooltip-arrow-outer {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -13px -6px;\n}\n.tooltip-top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -12px -6px;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  top: 0;\n  left: 50%;\n  margin: -13px 0 0 -6px;\n}\n.tooltip-bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin: -12px 0 0 -6px;\n}\n.tooltip {\n  background-color: #ffffff;\n  border-color: #D3D3D3;\n  color: #000000;\n}\n.tooltip-right .tooltip-arrow-outer {\n  border-right-color: #D3D3D3;\n}\n.tooltip-right .tooltip-arrow {\n  border-right-color: #ffffff;\n}\n.tooltip-left .tooltip-arrow-outer {\n  border-left-color: #D3D3D3;\n}\n.tooltip-left .tooltip-arrow {\n  border-left-color: #ffffff;\n}\n.tooltip-top .tooltip-arrow-outer {\n  border-top-color: #D3D3D3;\n}\n.tooltip-top .tooltip-arrow {\n  border-top-color: #ffffff;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  border-bottom-color: #D3D3D3;\n}\n.tooltip-bottom .tooltip-arrow {\n  border-bottom-color: #ffffff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/tree.css",
    "content": ".tree {\n  margin: 0;\n  padding: 0;\n  list-style-type: none;\n}\n.tree li {\n  white-space: nowrap;\n}\n.tree li ul {\n  list-style-type: none;\n  margin: 0;\n  padding: 0;\n}\n.tree-node {\n  height: 18px;\n  white-space: nowrap;\n  cursor: pointer;\n}\n.tree-hit {\n  cursor: pointer;\n}\n.tree-expanded,\n.tree-collapsed,\n.tree-folder,\n.tree-file,\n.tree-checkbox,\n.tree-indent {\n  display: inline-block;\n  width: 16px;\n  height: 18px;\n  vertical-align: top;\n  overflow: hidden;\n}\n.tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -18px 0px;\n}\n.tree-expanded-hover {\n  background: url('images/tree_icons.png') no-repeat -50px 0px;\n}\n.tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat 0px 0px;\n}\n.tree-collapsed-hover {\n  background: url('images/tree_icons.png') no-repeat -32px 0px;\n}\n.tree-lines .tree-expanded,\n.tree-lines .tree-root-first .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -144px 0;\n}\n.tree-lines .tree-collapsed,\n.tree-lines .tree-root-first .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -128px 0;\n}\n.tree-lines .tree-node-last .tree-expanded,\n.tree-lines .tree-root-one .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -80px 0;\n}\n.tree-lines .tree-node-last .tree-collapsed,\n.tree-lines .tree-root-one .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -64px 0;\n}\n.tree-line {\n  background: url('images/tree_icons.png') no-repeat -176px 0;\n}\n.tree-join {\n  background: url('images/tree_icons.png') no-repeat -192px 0;\n}\n.tree-joinbottom {\n  background: url('images/tree_icons.png') no-repeat -160px 0;\n}\n.tree-folder {\n  background: url('images/tree_icons.png') no-repeat -208px 0;\n}\n.tree-folder-open {\n  background: url('images/tree_icons.png') no-repeat -224px 0;\n}\n.tree-file {\n  background: url('images/tree_icons.png') no-repeat -240px 0;\n}\n.tree-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.tree-checkbox0 {\n  background: url('images/tree_icons.png') no-repeat -208px -18px;\n}\n.tree-checkbox1 {\n  background: url('images/tree_icons.png') no-repeat -224px -18px;\n}\n.tree-checkbox2 {\n  background: url('images/tree_icons.png') no-repeat -240px -18px;\n}\n.tree-title {\n  font-size: 12px;\n  display: inline-block;\n  text-decoration: none;\n  vertical-align: top;\n  white-space: nowrap;\n  padding: 0 2px;\n  height: 18px;\n  line-height: 18px;\n}\n.tree-node-proxy {\n  font-size: 12px;\n  line-height: 20px;\n  padding: 0 2px 0 20px;\n  border-width: 1px;\n  border-style: solid;\n  z-index: 9900000;\n}\n.tree-dnd-icon {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 18px;\n  left: 2px;\n  top: 50%;\n  margin-top: -9px;\n}\n.tree-dnd-yes {\n  background: url('images/tree_icons.png') no-repeat -256px 0;\n}\n.tree-dnd-no {\n  background: url('images/tree_icons.png') no-repeat -256px -18px;\n}\n.tree-node-top {\n  border-top: 1px dotted red;\n}\n.tree-node-bottom {\n  border-bottom: 1px dotted red;\n}\n.tree-node-append .tree-title {\n  border: 1px dotted red;\n}\n.tree-editor {\n  border: 1px solid #ccc;\n  font-size: 12px;\n  height: 14px !important;\n  height: 18px;\n  line-height: 14px;\n  padding: 1px 2px;\n  width: 80px;\n  position: absolute;\n  top: 0;\n}\n.tree-node-proxy {\n  background-color: #ffffff;\n  color: #000000;\n  border-color: #D3D3D3;\n}\n.tree-node-hover {\n  background: #e2e2e2;\n  color: #000000;\n}\n.tree-node-selected {\n  background: #0092DC;\n  color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/validatebox.css",
    "content": ".validatebox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n  color: #000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/gray/window.css",
    "content": ".window {\n  overflow: hidden;\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n}\n.window .window-header {\n  background: transparent;\n  padding: 0px 0px 6px 0px;\n}\n.window .window-body {\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0px;\n}\n.window .window-body-noheader {\n  border-top-width: 1px;\n}\n.window .panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.window .window-header .panel-icon,\n.window .window-header .panel-tool {\n  top: 50%;\n  margin-top: -11px;\n}\n.window .window-header .panel-icon {\n  left: 1px;\n}\n.window .window-header .panel-tool {\n  right: 1px;\n}\n.window .window-header .panel-with-icon {\n  padding-left: 18px;\n}\n.window-proxy {\n  position: absolute;\n  overflow: hidden;\n}\n.window-proxy-mask {\n  position: absolute;\n  filter: alpha(opacity=5);\n  opacity: 0.05;\n}\n.window-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  filter: alpha(opacity=40);\n  opacity: 0.40;\n  font-size: 1px;\n  overflow: hidden;\n}\n.window,\n.window-shadow {\n  position: absolute;\n  -moz-border-radius: 5px 5px 5px 5px;\n  -webkit-border-radius: 5px 5px 5px 5px;\n  border-radius: 5px 5px 5px 5px;\n}\n.window-shadow {\n  background: #ccc;\n  -moz-box-shadow: 2px 2px 3px #cccccc;\n  -webkit-box-shadow: 2px 2px 3px #cccccc;\n  box-shadow: 2px 2px 3px #cccccc;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.window,\n.window .window-body {\n  border-color: #D3D3D3;\n}\n.window {\n  background-color: #f3f3f3;\n  background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 20%);\n  background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 20%);\n  background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 20%);\n  background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 20%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0);\n}\n.window-proxy {\n  border: 1px dashed #D3D3D3;\n}\n.window-proxy-mask,\n.window-mask {\n  background: #ccc;\n}\n.window .panel-footer {\n  border: 1px solid #D3D3D3;\n  position: relative;\n  top: -1px;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/icon.css",
    "content": ".icon-blank{\r\n\tbackground:url('icons/blank.gif') no-repeat center center;\r\n}\r\n.icon-add{\r\n\tbackground:url('icons/edit_add.png') no-repeat center center;\r\n}\r\n.icon-edit{\r\n\tbackground:url('icons/pencil.png') no-repeat center center;\r\n}\r\n.icon-clear{\r\n\tbackground:url('icons/clear.png') no-repeat center center;\r\n}\r\n.icon-remove{\r\n\tbackground:url('icons/edit_remove.png') no-repeat center center;\r\n}\r\n.icon-save{\r\n\tbackground:url('icons/filesave.png') no-repeat center center;\r\n}\r\n.icon-cut{\r\n\tbackground:url('icons/cut.png') no-repeat center center;\r\n}\r\n.icon-ok{\r\n\tbackground:url('icons/ok.png') no-repeat center center;\r\n}\r\n.icon-no{\r\n\tbackground:url('icons/no.png') no-repeat center center;\r\n}\r\n.icon-cancel{\r\n\tbackground:url('icons/cancel.png') no-repeat center center;\r\n}\r\n.icon-reload{\r\n\tbackground:url('icons/reload.png') no-repeat center center;\r\n}\r\n.icon-search{\r\n\tbackground:url('icons/search.png') no-repeat center center;\r\n}\r\n.icon-print{\r\n\tbackground:url('icons/print.png') no-repeat center center;\r\n}\r\n.icon-help{\r\n\tbackground:url('icons/help.png') no-repeat center center;\r\n}\r\n.icon-undo{\r\n\tbackground:url('icons/undo.png') no-repeat center center;\r\n}\r\n.icon-redo{\r\n\tbackground:url('icons/redo.png') no-repeat center center;\r\n}\r\n.icon-back{\r\n\tbackground:url('icons/back.png') no-repeat center center;\r\n}\r\n.icon-sum{\r\n\tbackground:url('icons/sum.png') no-repeat center center;\r\n}\r\n.icon-tip{\r\n\tbackground:url('icons/tip.png') no-repeat center center;\r\n}\r\n.icon-filter{\r\n\tbackground:url('icons/filter.png') no-repeat center center;\r\n}\r\n.icon-man{\r\n\tbackground:url('icons/man.png') no-repeat center center;\r\n}\r\n.icon-lock{\r\n\tbackground:url('icons/lock.png') no-repeat center center;\r\n}\r\n\r\n\r\n.icon-mini-add{\r\n\tbackground:url('icons/mini_add.png') no-repeat center center;\r\n}\r\n.icon-mini-edit{\r\n\tbackground:url('icons/mini_edit.png') no-repeat center center;\r\n}\r\n.icon-mini-refresh{\r\n\tbackground:url('icons/mini_refresh.png') no-repeat center center;\r\n}\r\n\r\n.icon-large-picture{\r\n\tbackground:url('icons/large_picture.png') no-repeat center center;\r\n}\r\n.icon-large-clipart{\r\n\tbackground:url('icons/large_clipart.png') no-repeat center center;\r\n}\r\n.icon-large-shapes{\r\n\tbackground:url('icons/large_shapes.png') no-repeat center center;\r\n}\r\n.icon-large-smartart{\r\n\tbackground:url('icons/large_smartart.png') no-repeat center center;\r\n}\r\n.icon-large-chart{\r\n\tbackground:url('icons/large_chart.png') no-repeat center center;\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/accordion.css",
    "content": ".accordion {\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.accordion .accordion-header {\n  border-width: 0 0 1px;\n  cursor: pointer;\n}\n.accordion .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-noborder {\n  border-width: 0;\n}\n.accordion-noborder .accordion-header {\n  border-width: 0 0 1px;\n}\n.accordion-noborder .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-collapse {\n  background: url('images/accordion_arrows.png') no-repeat 0 0;\n}\n.accordion-expand {\n  background: url('images/accordion_arrows.png') no-repeat -16px 0;\n}\n.accordion {\n  background: #fff;\n  border-color: #ddd;\n}\n.accordion .accordion-header {\n  background: #ffffff;\n  filter: none;\n}\n.accordion .accordion-header-selected {\n  background: #CCE6FF;\n}\n.accordion .accordion-header-selected .panel-title {\n  color: #000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/calendar.css",
    "content": ".calendar {\n  border-width: 1px;\n  border-style: solid;\n  padding: 1px;\n  overflow: hidden;\n}\n.calendar table {\n  table-layout: fixed;\n  border-collapse: separate;\n  font-size: 12px;\n  width: 100%;\n  height: 100%;\n}\n.calendar table td,\n.calendar table th {\n  font-size: 12px;\n}\n.calendar-noborder {\n  border: 0;\n}\n.calendar-header {\n  position: relative;\n  height: 22px;\n}\n.calendar-title {\n  text-align: center;\n  height: 22px;\n}\n.calendar-title span {\n  position: relative;\n  display: inline-block;\n  top: 2px;\n  padding: 0 3px;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n  cursor: pointer;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.calendar-prevmonth,\n.calendar-nextmonth,\n.calendar-prevyear,\n.calendar-nextyear {\n  position: absolute;\n  top: 50%;\n  margin-top: -7px;\n  width: 14px;\n  height: 14px;\n  cursor: pointer;\n  font-size: 1px;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.calendar-prevmonth {\n  left: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -18px -2px;\n}\n.calendar-nextmonth {\n  right: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -34px -2px;\n}\n.calendar-prevyear {\n  left: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -1px -2px;\n}\n.calendar-nextyear {\n  right: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -49px -2px;\n}\n.calendar-body {\n  position: relative;\n}\n.calendar-body th,\n.calendar-body td {\n  text-align: center;\n}\n.calendar-day {\n  border: 0;\n  padding: 1px;\n  cursor: pointer;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.calendar-other-month {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.calendar-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  cursor: default;\n}\n.calendar-menu {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 180px;\n  height: 150px;\n  padding: 5px;\n  font-size: 12px;\n  display: none;\n  overflow: hidden;\n}\n.calendar-menu-year-inner {\n  text-align: center;\n  padding-bottom: 5px;\n}\n.calendar-menu-year {\n  width: 40px;\n  text-align: center;\n  border-width: 1px;\n  border-style: solid;\n  margin: 0;\n  padding: 2px;\n  font-weight: bold;\n  font-size: 12px;\n}\n.calendar-menu-prev,\n.calendar-menu-next {\n  display: inline-block;\n  width: 21px;\n  height: 21px;\n  vertical-align: top;\n  cursor: pointer;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.calendar-menu-prev {\n  margin-right: 10px;\n  background: url('images/calendar_arrows.png') no-repeat 2px 2px;\n}\n.calendar-menu-next {\n  margin-left: 10px;\n  background: url('images/calendar_arrows.png') no-repeat -45px 2px;\n}\n.calendar-menu-month {\n  text-align: center;\n  cursor: pointer;\n  font-weight: bold;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.calendar-body th,\n.calendar-menu-month {\n  color: #919191;\n}\n.calendar-day {\n  color: #444;\n}\n.calendar-sunday {\n  color: #CC2222;\n}\n.calendar-saturday {\n  color: #00ee00;\n}\n.calendar-today {\n  color: #0000ff;\n}\n.calendar-menu-year {\n  border-color: #ddd;\n}\n.calendar {\n  border-color: #ddd;\n}\n.calendar-header {\n  background: #ffffff;\n}\n.calendar-body,\n.calendar-menu {\n  background: #fff;\n}\n.calendar-body th {\n  background: #fff;\n  padding: 2px 0;\n}\n.calendar-hover,\n.calendar-nav-hover,\n.calendar-menu-hover {\n  background-color: #E6E6E6;\n  color: #444;\n}\n.calendar-hover {\n  border: 1px solid #ddd;\n  padding: 0;\n}\n.calendar-selected {\n  background-color: #CCE6FF;\n  color: #000;\n  border: 1px solid #99cdff;\n  padding: 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/combo.css",
    "content": ".combo {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.combo .combo-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0px 2px;\n  vertical-align: baseline;\n}\n.combo-arrow {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.combo-arrow-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.combo-panel {\n  overflow: auto;\n}\n.combo-arrow {\n  background: url('images/combo_arrow.png') no-repeat center center;\n}\n.combo-panel {\n  background-color: #fff;\n}\n.combo {\n  border-color: #ddd;\n  background-color: #fff;\n}\n.combo-arrow {\n  background-color: #ffffff;\n}\n.combo-arrow-hover {\n  background-color: #E6E6E6;\n}\n.combo-arrow:hover {\n  background-color: #E6E6E6;\n}\n.combo .textbox-icon-disabled:hover {\n  cursor: default;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/combobox.css",
    "content": ".combobox-item,\n.combobox-group {\n  font-size: 12px;\n  padding: 3px;\n  padding-right: 0px;\n}\n.combobox-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.combobox-gitem {\n  padding-left: 10px;\n}\n.combobox-group {\n  font-weight: bold;\n}\n.combobox-item-hover {\n  background-color: #E6E6E6;\n  color: #444;\n}\n.combobox-item-selected {\n  background-color: #CCE6FF;\n  color: #000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/datagrid.css",
    "content": ".datagrid .panel-body {\n  overflow: hidden;\n  position: relative;\n}\n.datagrid-view {\n  position: relative;\n  overflow: hidden;\n}\n.datagrid-view1,\n.datagrid-view2 {\n  position: absolute;\n  overflow: hidden;\n  top: 0;\n}\n.datagrid-view1 {\n  left: 0;\n}\n.datagrid-view2 {\n  right: 0;\n}\n.datagrid-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n  display: none;\n}\n.datagrid-mask-msg {\n  position: absolute;\n  top: 50%;\n  margin-top: -20px;\n  padding: 10px 5px 10px 30px;\n  width: auto;\n  height: 16px;\n  border-width: 2px;\n  border-style: solid;\n  display: none;\n}\n.datagrid-sort-icon {\n  padding: 0;\n}\n.datagrid-toolbar {\n  height: auto;\n  padding: 1px 2px;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ddd;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.datagrid .datagrid-pager {\n  display: block;\n  margin: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.datagrid .datagrid-pager-top {\n  border-width: 0 0 1px 0;\n}\n.datagrid-header {\n  overflow: hidden;\n  cursor: default;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-header-inner {\n  float: left;\n  width: 10000px;\n}\n.datagrid-header-row,\n.datagrid-row {\n  height: 25px;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-width: 0 1px 1px 0;\n  border-style: dotted;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-cell,\n.datagrid-cell-group,\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  margin: 0;\n  padding: 0 4px;\n  white-space: nowrap;\n  word-wrap: normal;\n  overflow: hidden;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n}\n.datagrid-header .datagrid-cell {\n  height: auto;\n}\n.datagrid-header .datagrid-cell span {\n  font-size: 12px;\n}\n.datagrid-cell-group {\n  text-align: center;\n}\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  width: 25px;\n  text-align: center;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body {\n  margin: 0;\n  padding: 0;\n  overflow: auto;\n  zoom: 1;\n}\n.datagrid-view1 .datagrid-body-inner {\n  padding-bottom: 20px;\n}\n.datagrid-view1 .datagrid-body {\n  overflow: hidden;\n}\n.datagrid-footer {\n  overflow: hidden;\n}\n.datagrid-footer-inner {\n  border-width: 1px 0 0 0;\n  border-style: solid;\n  width: 10000px;\n  float: left;\n}\n.datagrid-row-editing .datagrid-cell {\n  height: auto;\n}\n.datagrid-header-check,\n.datagrid-cell-check {\n  padding: 0;\n  width: 27px;\n  height: 18px;\n  font-size: 1px;\n  text-align: center;\n  overflow: hidden;\n}\n.datagrid-header-check input,\n.datagrid-cell-check input {\n  margin: 0;\n  padding: 0;\n  width: 15px;\n  height: 18px;\n}\n.datagrid-resize-proxy {\n  position: absolute;\n  width: 1px;\n  height: 10000px;\n  top: 0;\n  cursor: e-resize;\n  display: none;\n}\n.datagrid-body .datagrid-editable {\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body .datagrid-editable table {\n  width: 100%;\n  height: 100%;\n}\n.datagrid-body .datagrid-editable td {\n  border: 0;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-view .datagrid-editable-input {\n  margin: 0;\n  padding: 2px 4px;\n  border: 1px solid #ddd;\n  font-size: 12px;\n  outline-style: none;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.datagrid-sort-desc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat -16px center;\n}\n.datagrid-sort-asc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat 0px center;\n}\n.datagrid-row-collapse {\n  background: url('images/datagrid_icons.png') no-repeat -48px center;\n}\n.datagrid-row-expand {\n  background: url('images/datagrid_icons.png') no-repeat -32px center;\n}\n.datagrid-mask-msg {\n  background: #fff url('images/loading.gif') no-repeat scroll 5px center;\n}\n.datagrid-header,\n.datagrid-td-rownumber {\n  background-color: #ffffff;\n}\n.datagrid-cell-rownumber {\n  color: #444;\n}\n.datagrid-resize-proxy {\n  background: #b3b3b3;\n}\n.datagrid-mask {\n  background: #eee;\n}\n.datagrid-mask-msg {\n  border-color: #ddd;\n}\n.datagrid-toolbar,\n.datagrid-pager {\n  background: #fff;\n}\n.datagrid-header,\n.datagrid-toolbar,\n.datagrid-pager,\n.datagrid-footer-inner {\n  border-color: #ddd;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-color: #ddd;\n}\n.datagrid-htable,\n.datagrid-btable,\n.datagrid-ftable {\n  color: #444;\n  border-collapse: separate;\n}\n.datagrid-row-alt {\n  background: #f5f5f5;\n}\n.datagrid-row-over,\n.datagrid-header td.datagrid-header-over {\n  background: #E6E6E6;\n  color: #444;\n  cursor: default;\n}\n.datagrid-row-selected {\n  background: #CCE6FF;\n  color: #000;\n}\n.datagrid-row-editing .textbox,\n.datagrid-row-editing .textbox-text {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/datebox.css",
    "content": ".datebox-calendar-inner {\n  height: 180px;\n}\n.datebox-button {\n  height: 18px;\n  padding: 2px 5px;\n  text-align: center;\n}\n.datebox-button a {\n  font-size: 12px;\n  font-weight: bold;\n  text-decoration: none;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.datebox-button a:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.datebox-current,\n.datebox-close {\n  float: left;\n}\n.datebox-close {\n  float: right;\n}\n.datebox .combo-arrow {\n  background-image: url('images/datebox_arrow.png');\n  background-position: center center;\n}\n.datebox-button {\n  background-color: #fff;\n}\n.datebox-button a {\n  color: #777;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/dialog.css",
    "content": ".dialog-content {\n  overflow: auto;\n}\n.dialog-toolbar {\n  padding: 2px 5px;\n}\n.dialog-tool-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ddd;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.dialog-button {\n  padding: 5px;\n  text-align: right;\n}\n.dialog-button .l-btn {\n  margin-left: 5px;\n}\n.dialog-toolbar,\n.dialog-button {\n  background: #fff;\n  border-width: 1px;\n  border-style: solid;\n}\n.dialog-toolbar {\n  border-color: #ddd #ddd #ddd #ddd;\n}\n.dialog-button {\n  border-color: #ddd #ddd #ddd #ddd;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/easyui.css",
    "content": ".panel {\n  overflow: hidden;\n  text-align: left;\n  margin: 0;\n  border: 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.panel-header,\n.panel-body {\n  border-width: 1px;\n  border-style: solid;\n}\n.panel-header {\n  padding: 5px;\n  position: relative;\n}\n.panel-title {\n  background: url('images/blank.gif') no-repeat;\n}\n.panel-header-noborder {\n  border-width: 0 0 1px 0;\n}\n.panel-body {\n  overflow: auto;\n  border-top-width: 0;\n  padding: 0;\n}\n.panel-body-noheader {\n  border-top-width: 1px;\n}\n.panel-body-noborder {\n  border-width: 0px;\n}\n.panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.panel-with-icon {\n  padding-left: 18px;\n}\n.panel-icon,\n.panel-tool {\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  height: 16px;\n  overflow: hidden;\n}\n.panel-icon {\n  left: 5px;\n  width: 16px;\n}\n.panel-tool {\n  right: 5px;\n  width: auto;\n}\n.panel-tool a {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  margin: 0 0 0 2px;\n  vertical-align: top;\n}\n.panel-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  background-color: #E6E6E6;\n  -moz-border-radius: -2px -2px -2px -2px;\n  -webkit-border-radius: -2px -2px -2px -2px;\n  border-radius: -2px -2px -2px -2px;\n}\n.panel-loading {\n  padding: 11px 0px 10px 30px;\n}\n.panel-noscroll {\n  overflow: hidden;\n}\n.panel-fit,\n.panel-fit body {\n  height: 100%;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  overflow: hidden;\n}\n.panel-loading {\n  background: url('images/loading.gif') no-repeat 10px 10px;\n}\n.panel-tool-close {\n  background: url('images/panel_tools.png') no-repeat -16px 0px;\n}\n.panel-tool-min {\n  background: url('images/panel_tools.png') no-repeat 0px 0px;\n}\n.panel-tool-max {\n  background: url('images/panel_tools.png') no-repeat 0px -16px;\n}\n.panel-tool-restore {\n  background: url('images/panel_tools.png') no-repeat -16px -16px;\n}\n.panel-tool-collapse {\n  background: url('images/panel_tools.png') no-repeat -32px 0;\n}\n.panel-tool-expand {\n  background: url('images/panel_tools.png') no-repeat -32px -16px;\n}\n.panel-header,\n.panel-body {\n  border-color: #ddd;\n}\n.panel-header {\n  background-color: #ffffff;\n}\n.panel-body {\n  background-color: #fff;\n  color: #444;\n  font-size: 12px;\n}\n.panel-title {\n  font-size: 12px;\n  font-weight: bold;\n  color: #777;\n  height: 16px;\n  line-height: 16px;\n}\n.panel-footer {\n  border: 1px solid #ddd;\n  overflow: hidden;\n  background: #fff;\n}\n.panel-footer-noborder {\n  border-width: 1px 0 0 0;\n}\n.accordion {\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.accordion .accordion-header {\n  border-width: 0 0 1px;\n  cursor: pointer;\n}\n.accordion .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-noborder {\n  border-width: 0;\n}\n.accordion-noborder .accordion-header {\n  border-width: 0 0 1px;\n}\n.accordion-noborder .accordion-body {\n  border-width: 0 0 1px;\n}\n.accordion-collapse {\n  background: url('images/accordion_arrows.png') no-repeat 0 0;\n}\n.accordion-expand {\n  background: url('images/accordion_arrows.png') no-repeat -16px 0;\n}\n.accordion {\n  background: #fff;\n  border-color: #ddd;\n}\n.accordion .accordion-header {\n  background: #ffffff;\n  filter: none;\n}\n.accordion .accordion-header-selected {\n  background: #CCE6FF;\n}\n.accordion .accordion-header-selected .panel-title {\n  color: #000;\n}\n.window {\n  overflow: hidden;\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n}\n.window .window-header {\n  background: transparent;\n  padding: 0px 0px 6px 0px;\n}\n.window .window-body {\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0px;\n}\n.window .window-body-noheader {\n  border-top-width: 1px;\n}\n.window .panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.window .window-header .panel-icon,\n.window .window-header .panel-tool {\n  top: 50%;\n  margin-top: -11px;\n}\n.window .window-header .panel-icon {\n  left: 1px;\n}\n.window .window-header .panel-tool {\n  right: 1px;\n}\n.window .window-header .panel-with-icon {\n  padding-left: 18px;\n}\n.window-proxy {\n  position: absolute;\n  overflow: hidden;\n}\n.window-proxy-mask {\n  position: absolute;\n  filter: alpha(opacity=5);\n  opacity: 0.05;\n}\n.window-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  filter: alpha(opacity=40);\n  opacity: 0.40;\n  font-size: 1px;\n  overflow: hidden;\n}\n.window,\n.window-shadow {\n  position: absolute;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.window-shadow {\n  background: #eee;\n  -moz-box-shadow: 2px 2px 3px #ededed;\n  -webkit-box-shadow: 2px 2px 3px #ededed;\n  box-shadow: 2px 2px 3px #ededed;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.window,\n.window .window-body {\n  border-color: #ddd;\n}\n.window {\n  background-color: #ffffff;\n}\n.window-proxy {\n  border: 1px dashed #ddd;\n}\n.window-proxy-mask,\n.window-mask {\n  background: #eee;\n}\n.window .panel-footer {\n  border: 1px solid #ddd;\n  position: relative;\n  top: -1px;\n}\n.dialog-content {\n  overflow: auto;\n}\n.dialog-toolbar {\n  padding: 2px 5px;\n}\n.dialog-tool-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ddd;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.dialog-button {\n  padding: 5px;\n  text-align: right;\n}\n.dialog-button .l-btn {\n  margin-left: 5px;\n}\n.dialog-toolbar,\n.dialog-button {\n  background: #fff;\n  border-width: 1px;\n  border-style: solid;\n}\n.dialog-toolbar {\n  border-color: #ddd #ddd #ddd #ddd;\n}\n.dialog-button {\n  border-color: #ddd #ddd #ddd #ddd;\n}\n.l-btn {\n  text-decoration: none;\n  display: inline-block;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  cursor: pointer;\n  outline: none;\n  text-align: center;\n  vertical-align: middle;\n}\n.l-btn-plain {\n  border: 0;\n  padding: 1px;\n}\n.l-btn-left {\n  display: inline-block;\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  vertical-align: top;\n}\n.l-btn-text {\n  display: inline-block;\n  vertical-align: top;\n  width: auto;\n  line-height: 24px;\n  font-size: 12px;\n  padding: 0;\n  margin: 0 4px;\n}\n.l-btn-icon {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  line-height: 16px;\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  font-size: 1px;\n}\n.l-btn span span .l-btn-empty {\n  display: inline-block;\n  margin: 0;\n  width: 16px;\n  height: 24px;\n  font-size: 1px;\n  vertical-align: top;\n}\n.l-btn span .l-btn-icon-left {\n  padding: 0 0 0 20px;\n  background-position: left center;\n}\n.l-btn span .l-btn-icon-right {\n  padding: 0 20px 0 0;\n  background-position: right center;\n}\n.l-btn-icon-left .l-btn-text {\n  margin: 0 4px 0 24px;\n}\n.l-btn-icon-left .l-btn-icon {\n  left: 4px;\n}\n.l-btn-icon-right .l-btn-text {\n  margin: 0 24px 0 4px;\n}\n.l-btn-icon-right .l-btn-icon {\n  right: 4px;\n}\n.l-btn-icon-top .l-btn-text {\n  margin: 20px 4px 0 4px;\n}\n.l-btn-icon-top .l-btn-icon {\n  top: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-icon-bottom .l-btn-text {\n  margin: 0 4px 20px 4px;\n}\n.l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 16px;\n}\n.l-btn-plain:hover {\n  padding: 0;\n}\n.l-btn-focus {\n  outline: #0000FF dotted thin;\n}\n.l-btn-large .l-btn-text {\n  line-height: 40px;\n}\n.l-btn-large .l-btn-icon {\n  width: 32px;\n  height: 32px;\n  line-height: 32px;\n  margin-top: -16px;\n}\n.l-btn-large .l-btn-icon-left .l-btn-text {\n  margin-left: 40px;\n}\n.l-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-text {\n  margin-top: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 32px;\n}\n.l-btn {\n  color: #777;\n  background: #ffffff;\n  background-repeat: repeat-x;\n  border: 1px solid #dddddd;\n  background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0);\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.l-btn:hover {\n  background: #E6E6E6;\n  color: #444;\n  border: 1px solid #ddd;\n  filter: none;\n}\n.l-btn-plain {\n  background: transparent;\n  border: 0;\n  filter: none;\n}\n.l-btn-plain:hover {\n  background: #E6E6E6;\n  color: #444;\n  border: 1px solid #ddd;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.l-btn-disabled,\n.l-btn-disabled:hover {\n  opacity: 0.5;\n  cursor: default;\n  background: #ffffff;\n  color: #777;\n  background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0);\n}\n.l-btn-disabled .l-btn-text,\n.l-btn-disabled .l-btn-icon {\n  filter: alpha(opacity=50);\n}\n.l-btn-plain-disabled,\n.l-btn-plain-disabled:hover {\n  background: transparent;\n  filter: alpha(opacity=50);\n}\n.l-btn-selected,\n.l-btn-selected:hover {\n  background: #ddd;\n  filter: none;\n}\n.l-btn-plain-selected,\n.l-btn-plain-selected:hover {\n  background: #ddd;\n}\n.textbox {\n  position: relative;\n  border: 1px solid #ddd;\n  background-color: #fff;\n  vertical-align: middle;\n  display: inline-block;\n  overflow: hidden;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.textbox .textbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 4px;\n  white-space: normal;\n  vertical-align: top;\n  outline-style: none;\n  resize: none;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.textbox .textbox-prompt {\n  font-size: 12px;\n  color: #aaa;\n}\n.textbox-button,\n.textbox-button:hover {\n  position: absolute;\n  top: 0;\n  padding: 0;\n  vertical-align: top;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.textbox-button-right,\n.textbox-button-right:hover {\n  border-width: 0 0 0 1px;\n}\n.textbox-button-left,\n.textbox-button-left:hover {\n  border-width: 0 1px 0 0;\n}\n.textbox-addon {\n  position: absolute;\n  top: 0;\n}\n.textbox-icon {\n  display: inline-block;\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  vertical-align: top;\n  background-position: center center;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  text-decoration: none;\n  outline-style: none;\n}\n.textbox-icon-disabled,\n.textbox-icon-readonly {\n  cursor: default;\n}\n.textbox-icon:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.textbox-icon-disabled:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.textbox-focused {\n  -moz-box-shadow: 0 0 3px 0 #ddd;\n  -webkit-box-shadow: 0 0 3px 0 #ddd;\n  box-shadow: 0 0 3px 0 #ddd;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n.filebox .textbox-value {\n  vertical-align: top;\n  position: absolute;\n  top: 0;\n  left: -5000px;\n}\n.combo {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.combo .combo-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0px 2px;\n  vertical-align: baseline;\n}\n.combo-arrow {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.combo-arrow-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.combo-panel {\n  overflow: auto;\n}\n.combo-arrow {\n  background: url('images/combo_arrow.png') no-repeat center center;\n}\n.combo-panel {\n  background-color: #fff;\n}\n.combo {\n  border-color: #ddd;\n  background-color: #fff;\n}\n.combo-arrow {\n  background-color: #ffffff;\n}\n.combo-arrow-hover {\n  background-color: #E6E6E6;\n}\n.combo-arrow:hover {\n  background-color: #E6E6E6;\n}\n.combo .textbox-icon-disabled:hover {\n  cursor: default;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n.combobox-item,\n.combobox-group {\n  font-size: 12px;\n  padding: 3px;\n  padding-right: 0px;\n}\n.combobox-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.combobox-gitem {\n  padding-left: 10px;\n}\n.combobox-group {\n  font-weight: bold;\n}\n.combobox-item-hover {\n  background-color: #E6E6E6;\n  color: #444;\n}\n.combobox-item-selected {\n  background-color: #CCE6FF;\n  color: #000;\n}\n.layout {\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  z-index: 0;\n}\n.layout-panel {\n  position: absolute;\n  overflow: hidden;\n}\n.layout-panel-east,\n.layout-panel-west {\n  z-index: 2;\n}\n.layout-panel-north,\n.layout-panel-south {\n  z-index: 3;\n}\n.layout-expand {\n  position: absolute;\n  padding: 0px;\n  font-size: 1px;\n  cursor: pointer;\n  z-index: 1;\n}\n.layout-expand .panel-header,\n.layout-expand .panel-body {\n  background: transparent;\n  filter: none;\n  overflow: hidden;\n}\n.layout-expand .panel-header {\n  border-bottom-width: 0px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  position: absolute;\n  font-size: 1px;\n  display: none;\n  z-index: 5;\n}\n.layout-split-proxy-h {\n  width: 5px;\n  cursor: e-resize;\n}\n.layout-split-proxy-v {\n  height: 5px;\n  cursor: n-resize;\n}\n.layout-mask {\n  position: absolute;\n  background: #fafafa;\n  filter: alpha(opacity=10);\n  opacity: 0.10;\n  z-index: 4;\n}\n.layout-button-up {\n  background: url('images/layout_arrows.png') no-repeat -16px -16px;\n}\n.layout-button-down {\n  background: url('images/layout_arrows.png') no-repeat -16px 0;\n}\n.layout-button-left {\n  background: url('images/layout_arrows.png') no-repeat 0 0;\n}\n.layout-button-right {\n  background: url('images/layout_arrows.png') no-repeat 0 -16px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  background-color: #b3b3b3;\n}\n.layout-split-north {\n  border-bottom: 5px solid #fff;\n}\n.layout-split-south {\n  border-top: 5px solid #fff;\n}\n.layout-split-east {\n  border-left: 5px solid #fff;\n}\n.layout-split-west {\n  border-right: 5px solid #fff;\n}\n.layout-expand {\n  background-color: #ffffff;\n}\n.layout-expand-over {\n  background-color: #ffffff;\n}\n.tabs-container {\n  overflow: hidden;\n}\n.tabs-header {\n  border-width: 1px;\n  border-style: solid;\n  border-bottom-width: 0;\n  position: relative;\n  padding: 0;\n  padding-top: 2px;\n  overflow: hidden;\n}\n.tabs-header-plain {\n  border: 0;\n  background: transparent;\n}\n.tabs-scroller-left,\n.tabs-scroller-right {\n  position: absolute;\n  top: auto;\n  bottom: 0;\n  width: 18px;\n  font-size: 1px;\n  display: none;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-scroller-left {\n  left: 0;\n}\n.tabs-scroller-right {\n  right: 0;\n}\n.tabs-tool {\n  position: absolute;\n  bottom: 0;\n  padding: 1px;\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-header-plain .tabs-tool {\n  padding: 0 1px;\n}\n.tabs-wrap {\n  position: relative;\n  left: 0;\n  overflow: hidden;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n}\n.tabs-scrolling {\n  margin-left: 18px;\n  margin-right: 18px;\n}\n.tabs-disabled {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.tabs {\n  list-style-type: none;\n  height: 26px;\n  margin: 0px;\n  padding: 0px;\n  padding-left: 4px;\n  width: 50000px;\n  border-style: solid;\n  border-width: 0 0 1px 0;\n}\n.tabs li {\n  float: left;\n  display: inline-block;\n  margin: 0 4px -1px 0;\n  padding: 0;\n  position: relative;\n  border: 0;\n}\n.tabs li a.tabs-inner {\n  display: inline-block;\n  text-decoration: none;\n  margin: 0;\n  padding: 0 10px;\n  height: 25px;\n  line-height: 25px;\n  text-align: center;\n  white-space: nowrap;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 0px 0px 0 0;\n  -webkit-border-radius: 0px 0px 0 0;\n  border-radius: 0px 0px 0 0;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  font-weight: bold;\n  outline: none;\n}\n.tabs li.tabs-selected a:hover.tabs-inner {\n  cursor: default;\n  pointer: default;\n}\n.tabs li a.tabs-close,\n.tabs-p-tool {\n  position: absolute;\n  font-size: 1px;\n  display: block;\n  height: 12px;\n  padding: 0;\n  top: 50%;\n  margin-top: -6px;\n  overflow: hidden;\n}\n.tabs li a.tabs-close {\n  width: 12px;\n  right: 5px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs-p-tool {\n  right: 16px;\n}\n.tabs-p-tool a {\n  display: inline-block;\n  font-size: 1px;\n  width: 12px;\n  height: 12px;\n  margin: 0;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs li a:hover.tabs-close,\n.tabs-p-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  cursor: hand;\n  cursor: pointer;\n}\n.tabs-with-icon {\n  padding-left: 18px;\n}\n.tabs-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 10px;\n  top: 50%;\n  margin-top: -8px;\n}\n.tabs-title {\n  font-size: 12px;\n}\n.tabs-closable {\n  padding-right: 8px;\n}\n.tabs-panels {\n  margin: 0px;\n  padding: 0px;\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0;\n  overflow: hidden;\n}\n.tabs-header-bottom {\n  border-width: 0 1px 1px 1px;\n  padding: 0 0 2px 0;\n}\n.tabs-header-bottom .tabs {\n  border-width: 1px 0 0 0;\n}\n.tabs-header-bottom .tabs li {\n  margin: -1px 4px 0 0;\n}\n.tabs-header-bottom .tabs li a.tabs-inner {\n  -moz-border-radius: 0 0 0px 0px;\n  -webkit-border-radius: 0 0 0px 0px;\n  border-radius: 0 0 0px 0px;\n}\n.tabs-header-bottom .tabs-tool {\n  top: 0;\n}\n.tabs-header-bottom .tabs-scroller-left,\n.tabs-header-bottom .tabs-scroller-right {\n  top: 0;\n  bottom: auto;\n}\n.tabs-panels-top {\n  border-width: 1px 1px 0 1px;\n}\n.tabs-header-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n  padding: 0;\n}\n.tabs-header-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n  padding: 0;\n}\n.tabs-header-left .tabs-wrap,\n.tabs-header-right .tabs-wrap {\n  height: 100%;\n}\n.tabs-header-left .tabs {\n  height: 100%;\n  padding: 4px 0 0 4px;\n  border-width: 0 1px 0 0;\n}\n.tabs-header-right .tabs {\n  height: 100%;\n  padding: 4px 4px 0 0;\n  border-width: 0 0 0 1px;\n}\n.tabs-header-left .tabs li,\n.tabs-header-right .tabs li {\n  display: block;\n  width: 100%;\n  position: relative;\n}\n.tabs-header-left .tabs li {\n  left: auto;\n  right: 0;\n  margin: 0 -1px 4px 0;\n  float: right;\n}\n.tabs-header-right .tabs li {\n  left: 0;\n  right: auto;\n  margin: 0 0 4px -1px;\n  float: left;\n}\n.tabs-header-left .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 0px 0 0 0px;\n  -webkit-border-radius: 0px 0 0 0px;\n  border-radius: 0px 0 0 0px;\n}\n.tabs-header-right .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 0 0px 0px 0;\n  -webkit-border-radius: 0 0px 0px 0;\n  border-radius: 0 0px 0px 0;\n}\n.tabs-panels-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n}\n.tabs-panels-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n}\n.tabs-header-noborder,\n.tabs-panels-noborder {\n  border: 0px;\n}\n.tabs-header-plain {\n  border: 0px;\n  background: transparent;\n}\n.tabs-scroller-left {\n  background: #ffffff url('images/tabs_icons.png') no-repeat 1px center;\n}\n.tabs-scroller-right {\n  background: #ffffff url('images/tabs_icons.png') no-repeat -15px center;\n}\n.tabs li a.tabs-close {\n  background: url('images/tabs_icons.png') no-repeat -34px center;\n}\n.tabs li a.tabs-inner:hover {\n  background: #E6E6E6;\n  color: #444;\n  filter: none;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  background-color: #fff;\n  color: #777;\n}\n.tabs li a.tabs-inner {\n  color: #777;\n  background-color: #ffffff;\n}\n.tabs-header,\n.tabs-tool {\n  background-color: #ffffff;\n}\n.tabs-header-plain {\n  background: transparent;\n}\n.tabs-header,\n.tabs-scroller-left,\n.tabs-scroller-right,\n.tabs-tool,\n.tabs,\n.tabs-panels,\n.tabs li a.tabs-inner,\n.tabs li.tabs-selected a.tabs-inner,\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-color: #ddd;\n}\n.tabs-p-tool a:hover,\n.tabs li a:hover.tabs-close,\n.tabs-scroller-over {\n  background-color: #E6E6E6;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  border-bottom: 1px solid #fff;\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  border-top: 1px solid #fff;\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  border-right: 1px solid #fff;\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-left: 1px solid #fff;\n}\n.datagrid .panel-body {\n  overflow: hidden;\n  position: relative;\n}\n.datagrid-view {\n  position: relative;\n  overflow: hidden;\n}\n.datagrid-view1,\n.datagrid-view2 {\n  position: absolute;\n  overflow: hidden;\n  top: 0;\n}\n.datagrid-view1 {\n  left: 0;\n}\n.datagrid-view2 {\n  right: 0;\n}\n.datagrid-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n  display: none;\n}\n.datagrid-mask-msg {\n  position: absolute;\n  top: 50%;\n  margin-top: -20px;\n  padding: 10px 5px 10px 30px;\n  width: auto;\n  height: 16px;\n  border-width: 2px;\n  border-style: solid;\n  display: none;\n}\n.datagrid-sort-icon {\n  padding: 0;\n}\n.datagrid-toolbar {\n  height: auto;\n  padding: 1px 2px;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ddd;\n  border-right: 1px solid #fff;\n  margin: 2px 1px;\n}\n.datagrid .datagrid-pager {\n  display: block;\n  margin: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.datagrid .datagrid-pager-top {\n  border-width: 0 0 1px 0;\n}\n.datagrid-header {\n  overflow: hidden;\n  cursor: default;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.datagrid-header-inner {\n  float: left;\n  width: 10000px;\n}\n.datagrid-header-row,\n.datagrid-row {\n  height: 25px;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-width: 0 1px 1px 0;\n  border-style: dotted;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-cell,\n.datagrid-cell-group,\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  margin: 0;\n  padding: 0 4px;\n  white-space: nowrap;\n  word-wrap: normal;\n  overflow: hidden;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n}\n.datagrid-header .datagrid-cell {\n  height: auto;\n}\n.datagrid-header .datagrid-cell span {\n  font-size: 12px;\n}\n.datagrid-cell-group {\n  text-align: center;\n}\n.datagrid-header-rownumber,\n.datagrid-cell-rownumber {\n  width: 25px;\n  text-align: center;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body {\n  margin: 0;\n  padding: 0;\n  overflow: auto;\n  zoom: 1;\n}\n.datagrid-view1 .datagrid-body-inner {\n  padding-bottom: 20px;\n}\n.datagrid-view1 .datagrid-body {\n  overflow: hidden;\n}\n.datagrid-footer {\n  overflow: hidden;\n}\n.datagrid-footer-inner {\n  border-width: 1px 0 0 0;\n  border-style: solid;\n  width: 10000px;\n  float: left;\n}\n.datagrid-row-editing .datagrid-cell {\n  height: auto;\n}\n.datagrid-header-check,\n.datagrid-cell-check {\n  padding: 0;\n  width: 27px;\n  height: 18px;\n  font-size: 1px;\n  text-align: center;\n  overflow: hidden;\n}\n.datagrid-header-check input,\n.datagrid-cell-check input {\n  margin: 0;\n  padding: 0;\n  width: 15px;\n  height: 18px;\n}\n.datagrid-resize-proxy {\n  position: absolute;\n  width: 1px;\n  height: 10000px;\n  top: 0;\n  cursor: e-resize;\n  display: none;\n}\n.datagrid-body .datagrid-editable {\n  margin: 0;\n  padding: 0;\n}\n.datagrid-body .datagrid-editable table {\n  width: 100%;\n  height: 100%;\n}\n.datagrid-body .datagrid-editable td {\n  border: 0;\n  margin: 0;\n  padding: 0;\n}\n.datagrid-view .datagrid-editable-input {\n  margin: 0;\n  padding: 2px 4px;\n  border: 1px solid #ddd;\n  font-size: 12px;\n  outline-style: none;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.datagrid-sort-desc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat -16px center;\n}\n.datagrid-sort-asc .datagrid-sort-icon {\n  padding: 0 13px 0 0;\n  background: url('images/datagrid_icons.png') no-repeat 0px center;\n}\n.datagrid-row-collapse {\n  background: url('images/datagrid_icons.png') no-repeat -48px center;\n}\n.datagrid-row-expand {\n  background: url('images/datagrid_icons.png') no-repeat -32px center;\n}\n.datagrid-mask-msg {\n  background: #fff url('images/loading.gif') no-repeat scroll 5px center;\n}\n.datagrid-header,\n.datagrid-td-rownumber {\n  background-color: #ffffff;\n}\n.datagrid-cell-rownumber {\n  color: #444;\n}\n.datagrid-resize-proxy {\n  background: #b3b3b3;\n}\n.datagrid-mask {\n  background: #eee;\n}\n.datagrid-mask-msg {\n  border-color: #ddd;\n}\n.datagrid-toolbar,\n.datagrid-pager {\n  background: #fff;\n}\n.datagrid-header,\n.datagrid-toolbar,\n.datagrid-pager,\n.datagrid-footer-inner {\n  border-color: #ddd;\n}\n.datagrid-header td,\n.datagrid-body td,\n.datagrid-footer td {\n  border-color: #ddd;\n}\n.datagrid-htable,\n.datagrid-btable,\n.datagrid-ftable {\n  color: #444;\n  border-collapse: separate;\n}\n.datagrid-row-alt {\n  background: #f5f5f5;\n}\n.datagrid-row-over,\n.datagrid-header td.datagrid-header-over {\n  background: #E6E6E6;\n  color: #444;\n  cursor: default;\n}\n.datagrid-row-selected {\n  background: #CCE6FF;\n  color: #000;\n}\n.datagrid-row-editing .textbox,\n.datagrid-row-editing .textbox-text {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.propertygrid .datagrid-view1 .datagrid-body td {\n  padding-bottom: 1px;\n  border-width: 0 1px 0 0;\n}\n.propertygrid .datagrid-group {\n  height: 21px;\n  overflow: hidden;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.propertygrid .datagrid-group span {\n  font-weight: bold;\n}\n.propertygrid .datagrid-view1 .datagrid-body td {\n  border-color: #ddd;\n}\n.propertygrid .datagrid-view1 .datagrid-group {\n  border-color: #ffffff;\n}\n.propertygrid .datagrid-view2 .datagrid-group {\n  border-color: #ddd;\n}\n.propertygrid .datagrid-group,\n.propertygrid .datagrid-view1 .datagrid-body,\n.propertygrid .datagrid-view1 .datagrid-row-over,\n.propertygrid .datagrid-view1 .datagrid-row-selected {\n  background: #ffffff;\n}\n.pagination {\n  zoom: 1;\n}\n.pagination table {\n  float: left;\n  height: 30px;\n}\n.pagination td {\n  border: 0;\n}\n.pagination-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ddd;\n  border-right: 1px solid #fff;\n  margin: 3px 1px;\n}\n.pagination .pagination-num {\n  border-width: 1px;\n  border-style: solid;\n  margin: 0 2px;\n  padding: 2px;\n  width: 2em;\n  height: auto;\n}\n.pagination-page-list {\n  margin: 0px 6px;\n  padding: 1px 2px;\n  width: auto;\n  height: auto;\n  border-width: 1px;\n  border-style: solid;\n}\n.pagination-info {\n  float: right;\n  margin: 0 6px 0 0;\n  padding: 0;\n  height: 30px;\n  line-height: 30px;\n  font-size: 12px;\n}\n.pagination span {\n  font-size: 12px;\n}\n.pagination-link .l-btn-text {\n  width: 24px;\n  text-align: center;\n  margin: 0;\n}\n.pagination-first {\n  background: url('images/pagination_icons.png') no-repeat 0 center;\n}\n.pagination-prev {\n  background: url('images/pagination_icons.png') no-repeat -16px center;\n}\n.pagination-next {\n  background: url('images/pagination_icons.png') no-repeat -32px center;\n}\n.pagination-last {\n  background: url('images/pagination_icons.png') no-repeat -48px center;\n}\n.pagination-load {\n  background: url('images/pagination_icons.png') no-repeat -64px center;\n}\n.pagination-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.pagination-page-list,\n.pagination .pagination-num {\n  border-color: #ddd;\n}\n.calendar {\n  border-width: 1px;\n  border-style: solid;\n  padding: 1px;\n  overflow: hidden;\n}\n.calendar table {\n  table-layout: fixed;\n  border-collapse: separate;\n  font-size: 12px;\n  width: 100%;\n  height: 100%;\n}\n.calendar table td,\n.calendar table th {\n  font-size: 12px;\n}\n.calendar-noborder {\n  border: 0;\n}\n.calendar-header {\n  position: relative;\n  height: 22px;\n}\n.calendar-title {\n  text-align: center;\n  height: 22px;\n}\n.calendar-title span {\n  position: relative;\n  display: inline-block;\n  top: 2px;\n  padding: 0 3px;\n  height: 18px;\n  line-height: 18px;\n  font-size: 12px;\n  cursor: pointer;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.calendar-prevmonth,\n.calendar-nextmonth,\n.calendar-prevyear,\n.calendar-nextyear {\n  position: absolute;\n  top: 50%;\n  margin-top: -7px;\n  width: 14px;\n  height: 14px;\n  cursor: pointer;\n  font-size: 1px;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.calendar-prevmonth {\n  left: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -18px -2px;\n}\n.calendar-nextmonth {\n  right: 20px;\n  background: url('images/calendar_arrows.png') no-repeat -34px -2px;\n}\n.calendar-prevyear {\n  left: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -1px -2px;\n}\n.calendar-nextyear {\n  right: 3px;\n  background: url('images/calendar_arrows.png') no-repeat -49px -2px;\n}\n.calendar-body {\n  position: relative;\n}\n.calendar-body th,\n.calendar-body td {\n  text-align: center;\n}\n.calendar-day {\n  border: 0;\n  padding: 1px;\n  cursor: pointer;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.calendar-other-month {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.calendar-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  cursor: default;\n}\n.calendar-menu {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 180px;\n  height: 150px;\n  padding: 5px;\n  font-size: 12px;\n  display: none;\n  overflow: hidden;\n}\n.calendar-menu-year-inner {\n  text-align: center;\n  padding-bottom: 5px;\n}\n.calendar-menu-year {\n  width: 40px;\n  text-align: center;\n  border-width: 1px;\n  border-style: solid;\n  margin: 0;\n  padding: 2px;\n  font-weight: bold;\n  font-size: 12px;\n}\n.calendar-menu-prev,\n.calendar-menu-next {\n  display: inline-block;\n  width: 21px;\n  height: 21px;\n  vertical-align: top;\n  cursor: pointer;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.calendar-menu-prev {\n  margin-right: 10px;\n  background: url('images/calendar_arrows.png') no-repeat 2px 2px;\n}\n.calendar-menu-next {\n  margin-left: 10px;\n  background: url('images/calendar_arrows.png') no-repeat -45px 2px;\n}\n.calendar-menu-month {\n  text-align: center;\n  cursor: pointer;\n  font-weight: bold;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.calendar-body th,\n.calendar-menu-month {\n  color: #919191;\n}\n.calendar-day {\n  color: #444;\n}\n.calendar-sunday {\n  color: #CC2222;\n}\n.calendar-saturday {\n  color: #00ee00;\n}\n.calendar-today {\n  color: #0000ff;\n}\n.calendar-menu-year {\n  border-color: #ddd;\n}\n.calendar {\n  border-color: #ddd;\n}\n.calendar-header {\n  background: #ffffff;\n}\n.calendar-body,\n.calendar-menu {\n  background: #fff;\n}\n.calendar-body th {\n  background: #fff;\n  padding: 2px 0;\n}\n.calendar-hover,\n.calendar-nav-hover,\n.calendar-menu-hover {\n  background-color: #E6E6E6;\n  color: #444;\n}\n.calendar-hover {\n  border: 1px solid #ddd;\n  padding: 0;\n}\n.calendar-selected {\n  background-color: #CCE6FF;\n  color: #000;\n  border: 1px solid #99cdff;\n  padding: 0;\n}\n.datebox-calendar-inner {\n  height: 180px;\n}\n.datebox-button {\n  height: 18px;\n  padding: 2px 5px;\n  text-align: center;\n}\n.datebox-button a {\n  font-size: 12px;\n  font-weight: bold;\n  text-decoration: none;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.datebox-button a:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.datebox-current,\n.datebox-close {\n  float: left;\n}\n.datebox-close {\n  float: right;\n}\n.datebox .combo-arrow {\n  background-image: url('images/datebox_arrow.png');\n  background-position: center center;\n}\n.datebox-button {\n  background-color: #fff;\n}\n.datebox-button a {\n  color: #777;\n}\n.numberbox {\n  border: 1px solid #ddd;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: middle;\n}\n.textbox {\n  padding: 0;\n}\n.spinner {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.spinner .spinner-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: baseline;\n}\n.spinner-arrow {\n  background-color: #ffffff;\n  display: inline-block;\n  overflow: hidden;\n  vertical-align: top;\n  margin: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  width: 18px;\n}\n.spinner-arrow-up,\n.spinner-arrow-down {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  display: block;\n  font-size: 1px;\n  width: 18px;\n  height: 10px;\n  width: 100%;\n  height: 50%;\n  outline-style: none;\n}\n.spinner-arrow-hover {\n  background-color: #E6E6E6;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.spinner-arrow-up:hover,\n.spinner-arrow-down:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  background-color: #E6E6E6;\n}\n.textbox-icon-disabled .spinner-arrow-up:hover,\n.textbox-icon-disabled .spinner-arrow-down:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  background-color: #ffffff;\n  cursor: default;\n}\n.spinner .textbox-icon-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.spinner-arrow-up {\n  background: url('images/spinner_arrows.png') no-repeat 1px center;\n}\n.spinner-arrow-down {\n  background: url('images/spinner_arrows.png') no-repeat -15px center;\n}\n.spinner {\n  border-color: #ddd;\n}\n.progressbar {\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n  overflow: hidden;\n  position: relative;\n}\n.progressbar-text {\n  text-align: center;\n  position: absolute;\n}\n.progressbar-value {\n  position: relative;\n  overflow: hidden;\n  width: 0;\n  -moz-border-radius: 0px 0 0 0px;\n  -webkit-border-radius: 0px 0 0 0px;\n  border-radius: 0px 0 0 0px;\n}\n.progressbar {\n  border-color: #ddd;\n}\n.progressbar-text {\n  color: #444;\n  font-size: 12px;\n}\n.progressbar-value .progressbar-text {\n  background-color: #CCE6FF;\n  color: #000;\n}\n.searchbox {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.searchbox .searchbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: top;\n}\n.searchbox .searchbox-prompt {\n  font-size: 12px;\n  color: #ccc;\n}\n.searchbox-button {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.searchbox-button-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.searchbox .l-btn-plain {\n  border: 0;\n  padding: 0;\n  vertical-align: top;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .l-btn-plain:hover {\n  border: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox a.m-btn-plain-active {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .m-btn-active {\n  border-width: 0 1px 0 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .textbox-button-right {\n  border-width: 0 0 0 1px;\n}\n.searchbox .textbox-button-left {\n  border-width: 0 1px 0 0;\n}\n.searchbox-button {\n  background: url('images/searchbox_button.png') no-repeat center center;\n}\n.searchbox {\n  border-color: #ddd;\n  background-color: #fff;\n}\n.searchbox .l-btn-plain {\n  background: #ffffff;\n}\n.searchbox .l-btn-plain-disabled,\n.searchbox .l-btn-plain-disabled:hover {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n.slider-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.slider-h {\n  height: 22px;\n}\n.slider-v {\n  width: 22px;\n}\n.slider-inner {\n  position: relative;\n  height: 6px;\n  top: 7px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 0px;\n}\n.slider-handle {\n  position: absolute;\n  display: block;\n  outline: none;\n  width: 20px;\n  height: 20px;\n  top: 50%;\n  margin-top: -10px;\n  margin-left: -10px;\n}\n.slider-tip {\n  position: absolute;\n  display: inline-block;\n  line-height: 12px;\n  font-size: 12px;\n  white-space: nowrap;\n  top: -22px;\n}\n.slider-rule {\n  position: relative;\n  top: 15px;\n}\n.slider-rule span {\n  position: absolute;\n  display: inline-block;\n  font-size: 0;\n  height: 5px;\n  border-width: 0 0 0 1px;\n  border-style: solid;\n}\n.slider-rulelabel {\n  position: relative;\n  top: 20px;\n}\n.slider-rulelabel span {\n  position: absolute;\n  display: inline-block;\n  font-size: 12px;\n}\n.slider-v .slider-inner {\n  width: 6px;\n  left: 7px;\n  top: 0;\n  float: left;\n}\n.slider-v .slider-handle {\n  left: 50%;\n  margin-top: -10px;\n}\n.slider-v .slider-tip {\n  left: -10px;\n  margin-top: -6px;\n}\n.slider-v .slider-rule {\n  float: left;\n  top: 0;\n  left: 16px;\n}\n.slider-v .slider-rule span {\n  width: 5px;\n  height: 'auto';\n  border-left: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.slider-v .slider-rulelabel {\n  float: left;\n  top: 0;\n  left: 23px;\n}\n.slider-handle {\n  background: url('images/slider_handle.png') no-repeat;\n}\n.slider-inner {\n  border-color: #ddd;\n  background: #ffffff;\n}\n.slider-rule span {\n  border-color: #ddd;\n}\n.slider-rulelabel span {\n  color: #444;\n}\n.menu {\n  position: absolute;\n  margin: 0;\n  padding: 2px;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n}\n.menu-item {\n  position: relative;\n  margin: 0;\n  padding: 0;\n  overflow: hidden;\n  white-space: nowrap;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.menu-text {\n  height: 20px;\n  line-height: 20px;\n  float: left;\n  padding-left: 28px;\n}\n.menu-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 2px;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-rightarrow {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-line {\n  position: absolute;\n  left: 26px;\n  top: 0;\n  height: 2000px;\n  font-size: 1px;\n}\n.menu-sep {\n  margin: 3px 0px 3px 25px;\n  font-size: 1px;\n}\n.menu-active {\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.menu-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  cursor: default;\n}\n.menu-text,\n.menu-text span {\n  font-size: 12px;\n}\n.menu-shadow {\n  position: absolute;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n  background: #eee;\n  -moz-box-shadow: 2px 2px 3px #ededed;\n  -webkit-box-shadow: 2px 2px 3px #ededed;\n  box-shadow: 2px 2px 3px #ededed;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.menu-rightarrow {\n  background: url('images/menu_arrows.png') no-repeat -32px center;\n}\n.menu-line {\n  border-left: 1px solid #ddd;\n  border-right: 1px solid #fff;\n}\n.menu-sep {\n  border-top: 1px solid #ddd;\n  border-bottom: 1px solid #fff;\n}\n.menu {\n  background-color: #ffffff;\n  border-color: #ddd;\n  color: #444;\n}\n.menu-content {\n  background: #fff;\n}\n.menu-item {\n  border-color: transparent;\n  _border-color: #ffffff;\n}\n.menu-active {\n  border-color: #ddd;\n  color: #444;\n  background: #E6E6E6;\n}\n.menu-active-disabled {\n  border-color: transparent;\n  background: transparent;\n  color: #444;\n}\n.m-btn-downarrow,\n.s-btn-downarrow {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  font-size: 1px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.m-btn-active,\n.s-btn-active {\n  background: #E6E6E6;\n  color: #444;\n  border: 1px solid #ddd;\n  filter: none;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  background: transparent;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.m-btn .l-btn-left .l-btn-text {\n  margin-right: 20px;\n}\n.m-btn .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.m-btn .l-btn-icon-right .l-btn-icon {\n  right: 20px;\n}\n.m-btn .l-btn-icon-top .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 14px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 34px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 20px;\n}\n.m-btn .l-btn-icon-top .m-btn-downarrow,\n.m-btn .l-btn-icon-bottom .m-btn-downarrow {\n  top: auto;\n  bottom: 0px;\n  left: 50%;\n  margin-left: -8px;\n}\n.m-btn-line {\n  display: inline-block;\n  position: absolute;\n  font-size: 1px;\n  display: none;\n}\n.m-btn .l-btn-left .m-btn-line {\n  right: 0;\n  width: 16px;\n  height: 500px;\n  border-style: solid;\n  border-color: #b3b3b3;\n  border-width: 0 0 0 1px;\n}\n.m-btn .l-btn-icon-top .m-btn-line,\n.m-btn .l-btn-icon-bottom .m-btn-line {\n  left: 0;\n  bottom: 0;\n  width: 500px;\n  height: 16px;\n  border-width: 1px 0 0 0;\n}\n.m-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 56px;\n}\n.m-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 50px;\n}\n.m-btn-downarrow,\n.s-btn-downarrow {\n  background: url('images/menu_arrows.png') no-repeat 0 center;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  border-color: #ddd;\n  background-color: #E6E6E6;\n  color: #444;\n}\n.s-btn:hover .m-btn-line,\n.s-btn-active .m-btn-line,\n.s-btn-plain-active .m-btn-line {\n  display: inline-block;\n}\n.l-btn:hover .s-btn-downarrow,\n.s-btn-active .s-btn-downarrow,\n.s-btn-plain-active .s-btn-downarrow {\n  border-style: solid;\n  border-color: #b3b3b3;\n  border-width: 0 0 0 1px;\n}\n.messager-body {\n  padding: 10px;\n  overflow: hidden;\n}\n.messager-button {\n  text-align: center;\n  padding-top: 10px;\n}\n.messager-button .l-btn {\n  width: 70px;\n}\n.messager-icon {\n  float: left;\n  width: 32px;\n  height: 32px;\n  margin: 0 10px 10px 0;\n}\n.messager-error {\n  background: url('images/messager_icons.png') no-repeat scroll -64px 0;\n}\n.messager-info {\n  background: url('images/messager_icons.png') no-repeat scroll 0 0;\n}\n.messager-question {\n  background: url('images/messager_icons.png') no-repeat scroll -32px 0;\n}\n.messager-warning {\n  background: url('images/messager_icons.png') no-repeat scroll -96px 0;\n}\n.messager-progress {\n  padding: 10px;\n}\n.messager-p-msg {\n  margin-bottom: 5px;\n}\n.messager-body .messager-input {\n  width: 100%;\n  padding: 1px 0;\n  border: 1px solid #ddd;\n}\n.tree {\n  margin: 0;\n  padding: 0;\n  list-style-type: none;\n}\n.tree li {\n  white-space: nowrap;\n}\n.tree li ul {\n  list-style-type: none;\n  margin: 0;\n  padding: 0;\n}\n.tree-node {\n  height: 18px;\n  white-space: nowrap;\n  cursor: pointer;\n}\n.tree-hit {\n  cursor: pointer;\n}\n.tree-expanded,\n.tree-collapsed,\n.tree-folder,\n.tree-file,\n.tree-checkbox,\n.tree-indent {\n  display: inline-block;\n  width: 16px;\n  height: 18px;\n  vertical-align: top;\n  overflow: hidden;\n}\n.tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -18px 0px;\n}\n.tree-expanded-hover {\n  background: url('images/tree_icons.png') no-repeat -50px 0px;\n}\n.tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat 0px 0px;\n}\n.tree-collapsed-hover {\n  background: url('images/tree_icons.png') no-repeat -32px 0px;\n}\n.tree-lines .tree-expanded,\n.tree-lines .tree-root-first .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -144px 0;\n}\n.tree-lines .tree-collapsed,\n.tree-lines .tree-root-first .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -128px 0;\n}\n.tree-lines .tree-node-last .tree-expanded,\n.tree-lines .tree-root-one .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -80px 0;\n}\n.tree-lines .tree-node-last .tree-collapsed,\n.tree-lines .tree-root-one .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -64px 0;\n}\n.tree-line {\n  background: url('images/tree_icons.png') no-repeat -176px 0;\n}\n.tree-join {\n  background: url('images/tree_icons.png') no-repeat -192px 0;\n}\n.tree-joinbottom {\n  background: url('images/tree_icons.png') no-repeat -160px 0;\n}\n.tree-folder {\n  background: url('images/tree_icons.png') no-repeat -208px 0;\n}\n.tree-folder-open {\n  background: url('images/tree_icons.png') no-repeat -224px 0;\n}\n.tree-file {\n  background: url('images/tree_icons.png') no-repeat -240px 0;\n}\n.tree-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.tree-checkbox0 {\n  background: url('images/tree_icons.png') no-repeat -208px -18px;\n}\n.tree-checkbox1 {\n  background: url('images/tree_icons.png') no-repeat -224px -18px;\n}\n.tree-checkbox2 {\n  background: url('images/tree_icons.png') no-repeat -240px -18px;\n}\n.tree-title {\n  font-size: 12px;\n  display: inline-block;\n  text-decoration: none;\n  vertical-align: top;\n  white-space: nowrap;\n  padding: 0 2px;\n  height: 18px;\n  line-height: 18px;\n}\n.tree-node-proxy {\n  font-size: 12px;\n  line-height: 20px;\n  padding: 0 2px 0 20px;\n  border-width: 1px;\n  border-style: solid;\n  z-index: 9900000;\n}\n.tree-dnd-icon {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 18px;\n  left: 2px;\n  top: 50%;\n  margin-top: -9px;\n}\n.tree-dnd-yes {\n  background: url('images/tree_icons.png') no-repeat -256px 0;\n}\n.tree-dnd-no {\n  background: url('images/tree_icons.png') no-repeat -256px -18px;\n}\n.tree-node-top {\n  border-top: 1px dotted red;\n}\n.tree-node-bottom {\n  border-bottom: 1px dotted red;\n}\n.tree-node-append .tree-title {\n  border: 1px dotted red;\n}\n.tree-editor {\n  border: 1px solid #ccc;\n  font-size: 12px;\n  height: 14px !important;\n  height: 18px;\n  line-height: 14px;\n  padding: 1px 2px;\n  width: 80px;\n  position: absolute;\n  top: 0;\n}\n.tree-node-proxy {\n  background-color: #fff;\n  color: #444;\n  border-color: #ddd;\n}\n.tree-node-hover {\n  background: #E6E6E6;\n  color: #444;\n}\n.tree-node-selected {\n  background: #CCE6FF;\n  color: #000;\n}\n.validatebox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n  color: #000;\n}\n.tooltip {\n  position: absolute;\n  display: none;\n  z-index: 9900000;\n  outline: none;\n  opacity: 1;\n  filter: alpha(opacity=100);\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.tooltip-content {\n  font-size: 12px;\n}\n.tooltip-arrow-outer,\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  line-height: 0;\n  font-size: 0;\n  border-style: solid;\n  border-width: 6px;\n  border-color: transparent;\n  _border-color: tomato;\n  _filter: chroma(color=tomato);\n}\n.tooltip-right .tooltip-arrow-outer {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -13px;\n}\n.tooltip-right .tooltip-arrow {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -12px;\n}\n.tooltip-left .tooltip-arrow-outer {\n  right: 0;\n  top: 50%;\n  margin: -6px -13px 0 0;\n}\n.tooltip-left .tooltip-arrow {\n  right: 0;\n  top: 50%;\n  margin: -6px -12px 0 0;\n}\n.tooltip-top .tooltip-arrow-outer {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -13px -6px;\n}\n.tooltip-top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -12px -6px;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  top: 0;\n  left: 50%;\n  margin: -13px 0 0 -6px;\n}\n.tooltip-bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin: -12px 0 0 -6px;\n}\n.tooltip {\n  background-color: #fff;\n  border-color: #ddd;\n  color: #444;\n}\n.tooltip-right .tooltip-arrow-outer {\n  border-right-color: #ddd;\n}\n.tooltip-right .tooltip-arrow {\n  border-right-color: #fff;\n}\n.tooltip-left .tooltip-arrow-outer {\n  border-left-color: #ddd;\n}\n.tooltip-left .tooltip-arrow {\n  border-left-color: #fff;\n}\n.tooltip-top .tooltip-arrow-outer {\n  border-top-color: #ddd;\n}\n.tooltip-top .tooltip-arrow {\n  border-top-color: #fff;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  border-bottom-color: #ddd;\n}\n.tooltip-bottom .tooltip-arrow {\n  border-bottom-color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/filebox.css",
    "content": ".filebox .textbox-value {\n  vertical-align: top;\n  position: absolute;\n  top: 0;\n  left: -5000px;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/layout.css",
    "content": ".layout {\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  z-index: 0;\n}\n.layout-panel {\n  position: absolute;\n  overflow: hidden;\n}\n.layout-panel-east,\n.layout-panel-west {\n  z-index: 2;\n}\n.layout-panel-north,\n.layout-panel-south {\n  z-index: 3;\n}\n.layout-expand {\n  position: absolute;\n  padding: 0px;\n  font-size: 1px;\n  cursor: pointer;\n  z-index: 1;\n}\n.layout-expand .panel-header,\n.layout-expand .panel-body {\n  background: transparent;\n  filter: none;\n  overflow: hidden;\n}\n.layout-expand .panel-header {\n  border-bottom-width: 0px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  position: absolute;\n  font-size: 1px;\n  display: none;\n  z-index: 5;\n}\n.layout-split-proxy-h {\n  width: 5px;\n  cursor: e-resize;\n}\n.layout-split-proxy-v {\n  height: 5px;\n  cursor: n-resize;\n}\n.layout-mask {\n  position: absolute;\n  background: #fafafa;\n  filter: alpha(opacity=10);\n  opacity: 0.10;\n  z-index: 4;\n}\n.layout-button-up {\n  background: url('images/layout_arrows.png') no-repeat -16px -16px;\n}\n.layout-button-down {\n  background: url('images/layout_arrows.png') no-repeat -16px 0;\n}\n.layout-button-left {\n  background: url('images/layout_arrows.png') no-repeat 0 0;\n}\n.layout-button-right {\n  background: url('images/layout_arrows.png') no-repeat 0 -16px;\n}\n.layout-split-proxy-h,\n.layout-split-proxy-v {\n  background-color: #b3b3b3;\n}\n.layout-split-north {\n  border-bottom: 5px solid #fff;\n}\n.layout-split-south {\n  border-top: 5px solid #fff;\n}\n.layout-split-east {\n  border-left: 5px solid #fff;\n}\n.layout-split-west {\n  border-right: 5px solid #fff;\n}\n.layout-expand {\n  background-color: #ffffff;\n}\n.layout-expand-over {\n  background-color: #ffffff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/linkbutton.css",
    "content": ".l-btn {\n  text-decoration: none;\n  display: inline-block;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  cursor: pointer;\n  outline: none;\n  text-align: center;\n  vertical-align: middle;\n}\n.l-btn-plain {\n  border: 0;\n  padding: 1px;\n}\n.l-btn-left {\n  display: inline-block;\n  position: relative;\n  overflow: hidden;\n  margin: 0;\n  padding: 0;\n  vertical-align: top;\n}\n.l-btn-text {\n  display: inline-block;\n  vertical-align: top;\n  width: auto;\n  line-height: 24px;\n  font-size: 12px;\n  padding: 0;\n  margin: 0 4px;\n}\n.l-btn-icon {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  line-height: 16px;\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  font-size: 1px;\n}\n.l-btn span span .l-btn-empty {\n  display: inline-block;\n  margin: 0;\n  width: 16px;\n  height: 24px;\n  font-size: 1px;\n  vertical-align: top;\n}\n.l-btn span .l-btn-icon-left {\n  padding: 0 0 0 20px;\n  background-position: left center;\n}\n.l-btn span .l-btn-icon-right {\n  padding: 0 20px 0 0;\n  background-position: right center;\n}\n.l-btn-icon-left .l-btn-text {\n  margin: 0 4px 0 24px;\n}\n.l-btn-icon-left .l-btn-icon {\n  left: 4px;\n}\n.l-btn-icon-right .l-btn-text {\n  margin: 0 24px 0 4px;\n}\n.l-btn-icon-right .l-btn-icon {\n  right: 4px;\n}\n.l-btn-icon-top .l-btn-text {\n  margin: 20px 4px 0 4px;\n}\n.l-btn-icon-top .l-btn-icon {\n  top: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-icon-bottom .l-btn-text {\n  margin: 0 4px 20px 4px;\n}\n.l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 4px;\n  left: 50%;\n  margin: 0 0 0 -8px;\n}\n.l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 16px;\n}\n.l-btn-plain:hover {\n  padding: 0;\n}\n.l-btn-focus {\n  outline: #0000FF dotted thin;\n}\n.l-btn-large .l-btn-text {\n  line-height: 40px;\n}\n.l-btn-large .l-btn-icon {\n  width: 32px;\n  height: 32px;\n  line-height: 32px;\n  margin-top: -16px;\n}\n.l-btn-large .l-btn-icon-left .l-btn-text {\n  margin-left: 40px;\n}\n.l-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-text {\n  margin-top: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-top .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 36px;\n  line-height: 24px;\n  min-width: 32px;\n}\n.l-btn-large .l-btn-icon-bottom .l-btn-icon {\n  margin: 0 0 0 -16px;\n}\n.l-btn-large .l-btn-left .l-btn-empty {\n  margin: 0 4px;\n  width: 32px;\n}\n.l-btn {\n  color: #777;\n  background: #ffffff;\n  background-repeat: repeat-x;\n  border: 1px solid #dddddd;\n  background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0);\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.l-btn:hover {\n  background: #E6E6E6;\n  color: #444;\n  border: 1px solid #ddd;\n  filter: none;\n}\n.l-btn-plain {\n  background: transparent;\n  border: 0;\n  filter: none;\n}\n.l-btn-plain:hover {\n  background: #E6E6E6;\n  color: #444;\n  border: 1px solid #ddd;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.l-btn-disabled,\n.l-btn-disabled:hover {\n  opacity: 0.5;\n  cursor: default;\n  background: #ffffff;\n  color: #777;\n  background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%);\n  background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0);\n}\n.l-btn-disabled .l-btn-text,\n.l-btn-disabled .l-btn-icon {\n  filter: alpha(opacity=50);\n}\n.l-btn-plain-disabled,\n.l-btn-plain-disabled:hover {\n  background: transparent;\n  filter: alpha(opacity=50);\n}\n.l-btn-selected,\n.l-btn-selected:hover {\n  background: #ddd;\n  filter: none;\n}\n.l-btn-plain-selected,\n.l-btn-plain-selected:hover {\n  background: #ddd;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/menu.css",
    "content": ".menu {\n  position: absolute;\n  margin: 0;\n  padding: 2px;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n}\n.menu-item {\n  position: relative;\n  margin: 0;\n  padding: 0;\n  overflow: hidden;\n  white-space: nowrap;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.menu-text {\n  height: 20px;\n  line-height: 20px;\n  float: left;\n  padding-left: 28px;\n}\n.menu-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 2px;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-rightarrow {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.menu-line {\n  position: absolute;\n  left: 26px;\n  top: 0;\n  height: 2000px;\n  font-size: 1px;\n}\n.menu-sep {\n  margin: 3px 0px 3px 25px;\n  font-size: 1px;\n}\n.menu-active {\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.menu-item-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  cursor: default;\n}\n.menu-text,\n.menu-text span {\n  font-size: 12px;\n}\n.menu-shadow {\n  position: absolute;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n  background: #eee;\n  -moz-box-shadow: 2px 2px 3px #ededed;\n  -webkit-box-shadow: 2px 2px 3px #ededed;\n  box-shadow: 2px 2px 3px #ededed;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.menu-rightarrow {\n  background: url('images/menu_arrows.png') no-repeat -32px center;\n}\n.menu-line {\n  border-left: 1px solid #ddd;\n  border-right: 1px solid #fff;\n}\n.menu-sep {\n  border-top: 1px solid #ddd;\n  border-bottom: 1px solid #fff;\n}\n.menu {\n  background-color: #ffffff;\n  border-color: #ddd;\n  color: #444;\n}\n.menu-content {\n  background: #fff;\n}\n.menu-item {\n  border-color: transparent;\n  _border-color: #ffffff;\n}\n.menu-active {\n  border-color: #ddd;\n  color: #444;\n  background: #E6E6E6;\n}\n.menu-active-disabled {\n  border-color: transparent;\n  background: transparent;\n  color: #444;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/menubutton.css",
    "content": ".m-btn-downarrow,\n.s-btn-downarrow {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  font-size: 1px;\n  right: 0;\n  top: 50%;\n  margin-top: -8px;\n}\n.m-btn-active,\n.s-btn-active {\n  background: #E6E6E6;\n  color: #444;\n  border: 1px solid #ddd;\n  filter: none;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  background: transparent;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.m-btn .l-btn-left .l-btn-text {\n  margin-right: 20px;\n}\n.m-btn .l-btn-icon-right .l-btn-text {\n  margin-right: 40px;\n}\n.m-btn .l-btn-icon-right .l-btn-icon {\n  right: 20px;\n}\n.m-btn .l-btn-icon-top .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 14px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-text {\n  margin-right: 4px;\n  margin-bottom: 34px;\n}\n.m-btn .l-btn-icon-bottom .l-btn-icon {\n  top: auto;\n  bottom: 20px;\n}\n.m-btn .l-btn-icon-top .m-btn-downarrow,\n.m-btn .l-btn-icon-bottom .m-btn-downarrow {\n  top: auto;\n  bottom: 0px;\n  left: 50%;\n  margin-left: -8px;\n}\n.m-btn-line {\n  display: inline-block;\n  position: absolute;\n  font-size: 1px;\n  display: none;\n}\n.m-btn .l-btn-left .m-btn-line {\n  right: 0;\n  width: 16px;\n  height: 500px;\n  border-style: solid;\n  border-color: #b3b3b3;\n  border-width: 0 0 0 1px;\n}\n.m-btn .l-btn-icon-top .m-btn-line,\n.m-btn .l-btn-icon-bottom .m-btn-line {\n  left: 0;\n  bottom: 0;\n  width: 500px;\n  height: 16px;\n  border-width: 1px 0 0 0;\n}\n.m-btn-large .l-btn-icon-right .l-btn-text {\n  margin-right: 56px;\n}\n.m-btn-large .l-btn-icon-bottom .l-btn-text {\n  margin-bottom: 50px;\n}\n.m-btn-downarrow,\n.s-btn-downarrow {\n  background: url('images/menu_arrows.png') no-repeat 0 center;\n}\n.m-btn-plain-active,\n.s-btn-plain-active {\n  border-color: #ddd;\n  background-color: #E6E6E6;\n  color: #444;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/messager.css",
    "content": ".messager-body {\n  padding: 10px;\n  overflow: hidden;\n}\n.messager-button {\n  text-align: center;\n  padding-top: 10px;\n}\n.messager-button .l-btn {\n  width: 70px;\n}\n.messager-icon {\n  float: left;\n  width: 32px;\n  height: 32px;\n  margin: 0 10px 10px 0;\n}\n.messager-error {\n  background: url('images/messager_icons.png') no-repeat scroll -64px 0;\n}\n.messager-info {\n  background: url('images/messager_icons.png') no-repeat scroll 0 0;\n}\n.messager-question {\n  background: url('images/messager_icons.png') no-repeat scroll -32px 0;\n}\n.messager-warning {\n  background: url('images/messager_icons.png') no-repeat scroll -96px 0;\n}\n.messager-progress {\n  padding: 10px;\n}\n.messager-p-msg {\n  margin-bottom: 5px;\n}\n.messager-body .messager-input {\n  width: 100%;\n  padding: 1px 0;\n  border: 1px solid #ddd;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/numberbox.css",
    "content": ".numberbox {\n  border: 1px solid #ddd;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: middle;\n}\n.textbox {\n  padding: 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/pagination.css",
    "content": ".pagination {\n  zoom: 1;\n}\n.pagination table {\n  float: left;\n  height: 30px;\n}\n.pagination td {\n  border: 0;\n}\n.pagination-btn-separator {\n  float: left;\n  height: 24px;\n  border-left: 1px solid #ddd;\n  border-right: 1px solid #fff;\n  margin: 3px 1px;\n}\n.pagination .pagination-num {\n  border-width: 1px;\n  border-style: solid;\n  margin: 0 2px;\n  padding: 2px;\n  width: 2em;\n  height: auto;\n}\n.pagination-page-list {\n  margin: 0px 6px;\n  padding: 1px 2px;\n  width: auto;\n  height: auto;\n  border-width: 1px;\n  border-style: solid;\n}\n.pagination-info {\n  float: right;\n  margin: 0 6px 0 0;\n  padding: 0;\n  height: 30px;\n  line-height: 30px;\n  font-size: 12px;\n}\n.pagination span {\n  font-size: 12px;\n}\n.pagination-link .l-btn-text {\n  width: 24px;\n  text-align: center;\n  margin: 0;\n}\n.pagination-first {\n  background: url('images/pagination_icons.png') no-repeat 0 center;\n}\n.pagination-prev {\n  background: url('images/pagination_icons.png') no-repeat -16px center;\n}\n.pagination-next {\n  background: url('images/pagination_icons.png') no-repeat -32px center;\n}\n.pagination-last {\n  background: url('images/pagination_icons.png') no-repeat -48px center;\n}\n.pagination-load {\n  background: url('images/pagination_icons.png') no-repeat -64px center;\n}\n.pagination-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.pagination-page-list,\n.pagination .pagination-num {\n  border-color: #ddd;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/panel.css",
    "content": ".panel {\n  overflow: hidden;\n  text-align: left;\n  margin: 0;\n  border: 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.panel-header,\n.panel-body {\n  border-width: 1px;\n  border-style: solid;\n}\n.panel-header {\n  padding: 5px;\n  position: relative;\n}\n.panel-title {\n  background: url('images/blank.gif') no-repeat;\n}\n.panel-header-noborder {\n  border-width: 0 0 1px 0;\n}\n.panel-body {\n  overflow: auto;\n  border-top-width: 0;\n  padding: 0;\n}\n.panel-body-noheader {\n  border-top-width: 1px;\n}\n.panel-body-noborder {\n  border-width: 0px;\n}\n.panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.panel-with-icon {\n  padding-left: 18px;\n}\n.panel-icon,\n.panel-tool {\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  height: 16px;\n  overflow: hidden;\n}\n.panel-icon {\n  left: 5px;\n  width: 16px;\n}\n.panel-tool {\n  right: 5px;\n  width: auto;\n}\n.panel-tool a {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  margin: 0 0 0 2px;\n  vertical-align: top;\n}\n.panel-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  background-color: #E6E6E6;\n  -moz-border-radius: -2px -2px -2px -2px;\n  -webkit-border-radius: -2px -2px -2px -2px;\n  border-radius: -2px -2px -2px -2px;\n}\n.panel-loading {\n  padding: 11px 0px 10px 30px;\n}\n.panel-noscroll {\n  overflow: hidden;\n}\n.panel-fit,\n.panel-fit body {\n  height: 100%;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  overflow: hidden;\n}\n.panel-loading {\n  background: url('images/loading.gif') no-repeat 10px 10px;\n}\n.panel-tool-close {\n  background: url('images/panel_tools.png') no-repeat -16px 0px;\n}\n.panel-tool-min {\n  background: url('images/panel_tools.png') no-repeat 0px 0px;\n}\n.panel-tool-max {\n  background: url('images/panel_tools.png') no-repeat 0px -16px;\n}\n.panel-tool-restore {\n  background: url('images/panel_tools.png') no-repeat -16px -16px;\n}\n.panel-tool-collapse {\n  background: url('images/panel_tools.png') no-repeat -32px 0;\n}\n.panel-tool-expand {\n  background: url('images/panel_tools.png') no-repeat -32px -16px;\n}\n.panel-header,\n.panel-body {\n  border-color: #ddd;\n}\n.panel-header {\n  background-color: #ffffff;\n}\n.panel-body {\n  background-color: #fff;\n  color: #444;\n  font-size: 12px;\n}\n.panel-title {\n  font-size: 12px;\n  font-weight: bold;\n  color: #777;\n  height: 16px;\n  line-height: 16px;\n}\n.panel-footer {\n  border: 1px solid #ddd;\n  overflow: hidden;\n  background: #fff;\n}\n.panel-footer-noborder {\n  border-width: 1px 0 0 0;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/progressbar.css",
    "content": ".progressbar {\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n  overflow: hidden;\n  position: relative;\n}\n.progressbar-text {\n  text-align: center;\n  position: absolute;\n}\n.progressbar-value {\n  position: relative;\n  overflow: hidden;\n  width: 0;\n  -moz-border-radius: 0px 0 0 0px;\n  -webkit-border-radius: 0px 0 0 0px;\n  border-radius: 0px 0 0 0px;\n}\n.progressbar {\n  border-color: #ddd;\n}\n.progressbar-text {\n  color: #444;\n  font-size: 12px;\n}\n.progressbar-value .progressbar-text {\n  background-color: #CCE6FF;\n  color: #000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/propertygrid.css",
    "content": ".propertygrid .datagrid-view1 .datagrid-body td {\n  padding-bottom: 1px;\n  border-width: 0 1px 0 0;\n}\n.propertygrid .datagrid-group {\n  height: 21px;\n  overflow: hidden;\n  border-width: 0 0 1px 0;\n  border-style: solid;\n}\n.propertygrid .datagrid-group span {\n  font-weight: bold;\n}\n.propertygrid .datagrid-view1 .datagrid-body td {\n  border-color: #ddd;\n}\n.propertygrid .datagrid-view1 .datagrid-group {\n  border-color: #ffffff;\n}\n.propertygrid .datagrid-view2 .datagrid-group {\n  border-color: #ddd;\n}\n.propertygrid .datagrid-group,\n.propertygrid .datagrid-view1 .datagrid-body,\n.propertygrid .datagrid-view1 .datagrid-row-over,\n.propertygrid .datagrid-view1 .datagrid-row-selected {\n  background: #ffffff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/searchbox.css",
    "content": ".searchbox {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.searchbox .searchbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: top;\n}\n.searchbox .searchbox-prompt {\n  font-size: 12px;\n  color: #ccc;\n}\n.searchbox-button {\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  display: inline-block;\n  vertical-align: top;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.searchbox-button-hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.searchbox .l-btn-plain {\n  border: 0;\n  padding: 0;\n  vertical-align: top;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .l-btn-plain:hover {\n  border: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox a.m-btn-plain-active {\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .m-btn-active {\n  border-width: 0 1px 0 0;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.searchbox .textbox-button-right {\n  border-width: 0 0 0 1px;\n}\n.searchbox .textbox-button-left {\n  border-width: 0 1px 0 0;\n}\n.searchbox-button {\n  background: url('images/searchbox_button.png') no-repeat center center;\n}\n.searchbox {\n  border-color: #ddd;\n  background-color: #fff;\n}\n.searchbox .l-btn-plain {\n  background: #ffffff;\n}\n.searchbox .l-btn-plain-disabled,\n.searchbox .l-btn-plain-disabled:hover {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/slider.css",
    "content": ".slider-disabled {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.slider-h {\n  height: 22px;\n}\n.slider-v {\n  width: 22px;\n}\n.slider-inner {\n  position: relative;\n  height: 6px;\n  top: 7px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 0px;\n}\n.slider-handle {\n  position: absolute;\n  display: block;\n  outline: none;\n  width: 20px;\n  height: 20px;\n  top: 50%;\n  margin-top: -10px;\n  margin-left: -10px;\n}\n.slider-tip {\n  position: absolute;\n  display: inline-block;\n  line-height: 12px;\n  font-size: 12px;\n  white-space: nowrap;\n  top: -22px;\n}\n.slider-rule {\n  position: relative;\n  top: 15px;\n}\n.slider-rule span {\n  position: absolute;\n  display: inline-block;\n  font-size: 0;\n  height: 5px;\n  border-width: 0 0 0 1px;\n  border-style: solid;\n}\n.slider-rulelabel {\n  position: relative;\n  top: 20px;\n}\n.slider-rulelabel span {\n  position: absolute;\n  display: inline-block;\n  font-size: 12px;\n}\n.slider-v .slider-inner {\n  width: 6px;\n  left: 7px;\n  top: 0;\n  float: left;\n}\n.slider-v .slider-handle {\n  left: 50%;\n  margin-top: -10px;\n}\n.slider-v .slider-tip {\n  left: -10px;\n  margin-top: -6px;\n}\n.slider-v .slider-rule {\n  float: left;\n  top: 0;\n  left: 16px;\n}\n.slider-v .slider-rule span {\n  width: 5px;\n  height: 'auto';\n  border-left: 0;\n  border-width: 1px 0 0 0;\n  border-style: solid;\n}\n.slider-v .slider-rulelabel {\n  float: left;\n  top: 0;\n  left: 23px;\n}\n.slider-handle {\n  background: url('images/slider_handle.png') no-repeat;\n}\n.slider-inner {\n  border-color: #ddd;\n  background: #ffffff;\n}\n.slider-rule span {\n  border-color: #ddd;\n}\n.slider-rulelabel span {\n  color: #444;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/spinner.css",
    "content": ".spinner {\n  display: inline-block;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  border-width: 1px;\n  border-style: solid;\n  overflow: hidden;\n  vertical-align: middle;\n}\n.spinner .spinner-text {\n  font-size: 12px;\n  border: 0px;\n  margin: 0;\n  padding: 0 2px;\n  vertical-align: baseline;\n}\n.spinner-arrow {\n  background-color: #ffffff;\n  display: inline-block;\n  overflow: hidden;\n  vertical-align: top;\n  margin: 0;\n  padding: 0;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  width: 18px;\n}\n.spinner-arrow-up,\n.spinner-arrow-down {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  display: block;\n  font-size: 1px;\n  width: 18px;\n  height: 10px;\n  width: 100%;\n  height: 50%;\n  outline-style: none;\n}\n.spinner-arrow-hover {\n  background-color: #E6E6E6;\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.spinner-arrow-up:hover,\n.spinner-arrow-down:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n  background-color: #E6E6E6;\n}\n.textbox-icon-disabled .spinner-arrow-up:hover,\n.textbox-icon-disabled .spinner-arrow-down:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  background-color: #ffffff;\n  cursor: default;\n}\n.spinner .textbox-icon-disabled {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.spinner-arrow-up {\n  background: url('images/spinner_arrows.png') no-repeat 1px center;\n}\n.spinner-arrow-down {\n  background: url('images/spinner_arrows.png') no-repeat -15px center;\n}\n.spinner {\n  border-color: #ddd;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/splitbutton.css",
    "content": ".s-btn:hover .m-btn-line,\n.s-btn-active .m-btn-line,\n.s-btn-plain-active .m-btn-line {\n  display: inline-block;\n}\n.l-btn:hover .s-btn-downarrow,\n.s-btn-active .s-btn-downarrow,\n.s-btn-plain-active .s-btn-downarrow {\n  border-style: solid;\n  border-color: #b3b3b3;\n  border-width: 0 0 0 1px;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/tabs.css",
    "content": ".tabs-container {\n  overflow: hidden;\n}\n.tabs-header {\n  border-width: 1px;\n  border-style: solid;\n  border-bottom-width: 0;\n  position: relative;\n  padding: 0;\n  padding-top: 2px;\n  overflow: hidden;\n}\n.tabs-header-plain {\n  border: 0;\n  background: transparent;\n}\n.tabs-scroller-left,\n.tabs-scroller-right {\n  position: absolute;\n  top: auto;\n  bottom: 0;\n  width: 18px;\n  font-size: 1px;\n  display: none;\n  cursor: pointer;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-scroller-left {\n  left: 0;\n}\n.tabs-scroller-right {\n  right: 0;\n}\n.tabs-tool {\n  position: absolute;\n  bottom: 0;\n  padding: 1px;\n  overflow: hidden;\n  border-width: 1px;\n  border-style: solid;\n}\n.tabs-header-plain .tabs-tool {\n  padding: 0 1px;\n}\n.tabs-wrap {\n  position: relative;\n  left: 0;\n  overflow: hidden;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n}\n.tabs-scrolling {\n  margin-left: 18px;\n  margin-right: 18px;\n}\n.tabs-disabled {\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n}\n.tabs {\n  list-style-type: none;\n  height: 26px;\n  margin: 0px;\n  padding: 0px;\n  padding-left: 4px;\n  width: 50000px;\n  border-style: solid;\n  border-width: 0 0 1px 0;\n}\n.tabs li {\n  float: left;\n  display: inline-block;\n  margin: 0 4px -1px 0;\n  padding: 0;\n  position: relative;\n  border: 0;\n}\n.tabs li a.tabs-inner {\n  display: inline-block;\n  text-decoration: none;\n  margin: 0;\n  padding: 0 10px;\n  height: 25px;\n  line-height: 25px;\n  text-align: center;\n  white-space: nowrap;\n  border-width: 1px;\n  border-style: solid;\n  -moz-border-radius: 0px 0px 0 0;\n  -webkit-border-radius: 0px 0px 0 0;\n  border-radius: 0px 0px 0 0;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  font-weight: bold;\n  outline: none;\n}\n.tabs li.tabs-selected a:hover.tabs-inner {\n  cursor: default;\n  pointer: default;\n}\n.tabs li a.tabs-close,\n.tabs-p-tool {\n  position: absolute;\n  font-size: 1px;\n  display: block;\n  height: 12px;\n  padding: 0;\n  top: 50%;\n  margin-top: -6px;\n  overflow: hidden;\n}\n.tabs li a.tabs-close {\n  width: 12px;\n  right: 5px;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs-p-tool {\n  right: 16px;\n}\n.tabs-p-tool a {\n  display: inline-block;\n  font-size: 1px;\n  width: 12px;\n  height: 12px;\n  margin: 0;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.tabs li a:hover.tabs-close,\n.tabs-p-tool a:hover {\n  opacity: 1;\n  filter: alpha(opacity=100);\n  cursor: hand;\n  cursor: pointer;\n}\n.tabs-with-icon {\n  padding-left: 18px;\n}\n.tabs-icon {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 10px;\n  top: 50%;\n  margin-top: -8px;\n}\n.tabs-title {\n  font-size: 12px;\n}\n.tabs-closable {\n  padding-right: 8px;\n}\n.tabs-panels {\n  margin: 0px;\n  padding: 0px;\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0;\n  overflow: hidden;\n}\n.tabs-header-bottom {\n  border-width: 0 1px 1px 1px;\n  padding: 0 0 2px 0;\n}\n.tabs-header-bottom .tabs {\n  border-width: 1px 0 0 0;\n}\n.tabs-header-bottom .tabs li {\n  margin: -1px 4px 0 0;\n}\n.tabs-header-bottom .tabs li a.tabs-inner {\n  -moz-border-radius: 0 0 0px 0px;\n  -webkit-border-radius: 0 0 0px 0px;\n  border-radius: 0 0 0px 0px;\n}\n.tabs-header-bottom .tabs-tool {\n  top: 0;\n}\n.tabs-header-bottom .tabs-scroller-left,\n.tabs-header-bottom .tabs-scroller-right {\n  top: 0;\n  bottom: auto;\n}\n.tabs-panels-top {\n  border-width: 1px 1px 0 1px;\n}\n.tabs-header-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n  padding: 0;\n}\n.tabs-header-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n  padding: 0;\n}\n.tabs-header-left .tabs-wrap,\n.tabs-header-right .tabs-wrap {\n  height: 100%;\n}\n.tabs-header-left .tabs {\n  height: 100%;\n  padding: 4px 0 0 4px;\n  border-width: 0 1px 0 0;\n}\n.tabs-header-right .tabs {\n  height: 100%;\n  padding: 4px 4px 0 0;\n  border-width: 0 0 0 1px;\n}\n.tabs-header-left .tabs li,\n.tabs-header-right .tabs li {\n  display: block;\n  width: 100%;\n  position: relative;\n}\n.tabs-header-left .tabs li {\n  left: auto;\n  right: 0;\n  margin: 0 -1px 4px 0;\n  float: right;\n}\n.tabs-header-right .tabs li {\n  left: 0;\n  right: auto;\n  margin: 0 0 4px -1px;\n  float: left;\n}\n.tabs-header-left .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 0px 0 0 0px;\n  -webkit-border-radius: 0px 0 0 0px;\n  border-radius: 0px 0 0 0px;\n}\n.tabs-header-right .tabs li a.tabs-inner {\n  display: block;\n  text-align: left;\n  -moz-border-radius: 0 0px 0px 0;\n  -webkit-border-radius: 0 0px 0px 0;\n  border-radius: 0 0px 0px 0;\n}\n.tabs-panels-right {\n  float: right;\n  border-width: 1px 1px 1px 0;\n}\n.tabs-panels-left {\n  float: left;\n  border-width: 1px 0 1px 1px;\n}\n.tabs-header-noborder,\n.tabs-panels-noborder {\n  border: 0px;\n}\n.tabs-header-plain {\n  border: 0px;\n  background: transparent;\n}\n.tabs-scroller-left {\n  background: #ffffff url('images/tabs_icons.png') no-repeat 1px center;\n}\n.tabs-scroller-right {\n  background: #ffffff url('images/tabs_icons.png') no-repeat -15px center;\n}\n.tabs li a.tabs-close {\n  background: url('images/tabs_icons.png') no-repeat -34px center;\n}\n.tabs li a.tabs-inner:hover {\n  background: #E6E6E6;\n  color: #444;\n  filter: none;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  background-color: #fff;\n  color: #777;\n}\n.tabs li a.tabs-inner {\n  color: #777;\n  background-color: #ffffff;\n}\n.tabs-header,\n.tabs-tool {\n  background-color: #ffffff;\n}\n.tabs-header-plain {\n  background: transparent;\n}\n.tabs-header,\n.tabs-scroller-left,\n.tabs-scroller-right,\n.tabs-tool,\n.tabs,\n.tabs-panels,\n.tabs li a.tabs-inner,\n.tabs li.tabs-selected a.tabs-inner,\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner,\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-color: #ddd;\n}\n.tabs-p-tool a:hover,\n.tabs li a:hover.tabs-close,\n.tabs-scroller-over {\n  background-color: #E6E6E6;\n}\n.tabs li.tabs-selected a.tabs-inner {\n  border-bottom: 1px solid #fff;\n}\n.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {\n  border-top: 1px solid #fff;\n}\n.tabs-header-left .tabs li.tabs-selected a.tabs-inner {\n  border-right: 1px solid #fff;\n}\n.tabs-header-right .tabs li.tabs-selected a.tabs-inner {\n  border-left: 1px solid #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/textbox.css",
    "content": ".textbox {\n  position: relative;\n  border: 1px solid #ddd;\n  background-color: #fff;\n  vertical-align: middle;\n  display: inline-block;\n  overflow: hidden;\n  white-space: nowrap;\n  margin: 0;\n  padding: 0;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.textbox .textbox-text {\n  font-size: 12px;\n  border: 0;\n  margin: 0;\n  padding: 4px;\n  white-space: normal;\n  vertical-align: top;\n  outline-style: none;\n  resize: none;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.textbox .textbox-prompt {\n  font-size: 12px;\n  color: #aaa;\n}\n.textbox-button,\n.textbox-button:hover {\n  position: absolute;\n  top: 0;\n  padding: 0;\n  vertical-align: top;\n  -moz-border-radius: 0 0 0 0;\n  -webkit-border-radius: 0 0 0 0;\n  border-radius: 0 0 0 0;\n}\n.textbox-button-right,\n.textbox-button-right:hover {\n  border-width: 0 0 0 1px;\n}\n.textbox-button-left,\n.textbox-button-left:hover {\n  border-width: 0 1px 0 0;\n}\n.textbox-addon {\n  position: absolute;\n  top: 0;\n}\n.textbox-icon {\n  display: inline-block;\n  width: 18px;\n  height: 20px;\n  overflow: hidden;\n  vertical-align: top;\n  background-position: center center;\n  cursor: pointer;\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n  text-decoration: none;\n  outline-style: none;\n}\n.textbox-icon-disabled,\n.textbox-icon-readonly {\n  cursor: default;\n}\n.textbox-icon:hover {\n  opacity: 1.0;\n  filter: alpha(opacity=100);\n}\n.textbox-icon-disabled:hover {\n  opacity: 0.6;\n  filter: alpha(opacity=60);\n}\n.textbox-focused {\n  -moz-box-shadow: 0 0 3px 0 #ddd;\n  -webkit-box-shadow: 0 0 3px 0 #ddd;\n  box-shadow: 0 0 3px 0 #ddd;\n}\n.textbox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/tooltip.css",
    "content": ".tooltip {\n  position: absolute;\n  display: none;\n  z-index: 9900000;\n  outline: none;\n  opacity: 1;\n  filter: alpha(opacity=100);\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 5px;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.tooltip-content {\n  font-size: 12px;\n}\n.tooltip-arrow-outer,\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  line-height: 0;\n  font-size: 0;\n  border-style: solid;\n  border-width: 6px;\n  border-color: transparent;\n  _border-color: tomato;\n  _filter: chroma(color=tomato);\n}\n.tooltip-right .tooltip-arrow-outer {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -13px;\n}\n.tooltip-right .tooltip-arrow {\n  left: 0;\n  top: 50%;\n  margin: -6px 0 0 -12px;\n}\n.tooltip-left .tooltip-arrow-outer {\n  right: 0;\n  top: 50%;\n  margin: -6px -13px 0 0;\n}\n.tooltip-left .tooltip-arrow {\n  right: 0;\n  top: 50%;\n  margin: -6px -12px 0 0;\n}\n.tooltip-top .tooltip-arrow-outer {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -13px -6px;\n}\n.tooltip-top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin: 0 0 -12px -6px;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  top: 0;\n  left: 50%;\n  margin: -13px 0 0 -6px;\n}\n.tooltip-bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin: -12px 0 0 -6px;\n}\n.tooltip {\n  background-color: #fff;\n  border-color: #ddd;\n  color: #444;\n}\n.tooltip-right .tooltip-arrow-outer {\n  border-right-color: #ddd;\n}\n.tooltip-right .tooltip-arrow {\n  border-right-color: #fff;\n}\n.tooltip-left .tooltip-arrow-outer {\n  border-left-color: #ddd;\n}\n.tooltip-left .tooltip-arrow {\n  border-left-color: #fff;\n}\n.tooltip-top .tooltip-arrow-outer {\n  border-top-color: #ddd;\n}\n.tooltip-top .tooltip-arrow {\n  border-top-color: #fff;\n}\n.tooltip-bottom .tooltip-arrow-outer {\n  border-bottom-color: #ddd;\n}\n.tooltip-bottom .tooltip-arrow {\n  border-bottom-color: #fff;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/tree.css",
    "content": ".tree {\n  margin: 0;\n  padding: 0;\n  list-style-type: none;\n}\n.tree li {\n  white-space: nowrap;\n}\n.tree li ul {\n  list-style-type: none;\n  margin: 0;\n  padding: 0;\n}\n.tree-node {\n  height: 18px;\n  white-space: nowrap;\n  cursor: pointer;\n}\n.tree-hit {\n  cursor: pointer;\n}\n.tree-expanded,\n.tree-collapsed,\n.tree-folder,\n.tree-file,\n.tree-checkbox,\n.tree-indent {\n  display: inline-block;\n  width: 16px;\n  height: 18px;\n  vertical-align: top;\n  overflow: hidden;\n}\n.tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -18px 0px;\n}\n.tree-expanded-hover {\n  background: url('images/tree_icons.png') no-repeat -50px 0px;\n}\n.tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat 0px 0px;\n}\n.tree-collapsed-hover {\n  background: url('images/tree_icons.png') no-repeat -32px 0px;\n}\n.tree-lines .tree-expanded,\n.tree-lines .tree-root-first .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -144px 0;\n}\n.tree-lines .tree-collapsed,\n.tree-lines .tree-root-first .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -128px 0;\n}\n.tree-lines .tree-node-last .tree-expanded,\n.tree-lines .tree-root-one .tree-expanded {\n  background: url('images/tree_icons.png') no-repeat -80px 0;\n}\n.tree-lines .tree-node-last .tree-collapsed,\n.tree-lines .tree-root-one .tree-collapsed {\n  background: url('images/tree_icons.png') no-repeat -64px 0;\n}\n.tree-line {\n  background: url('images/tree_icons.png') no-repeat -176px 0;\n}\n.tree-join {\n  background: url('images/tree_icons.png') no-repeat -192px 0;\n}\n.tree-joinbottom {\n  background: url('images/tree_icons.png') no-repeat -160px 0;\n}\n.tree-folder {\n  background: url('images/tree_icons.png') no-repeat -208px 0;\n}\n.tree-folder-open {\n  background: url('images/tree_icons.png') no-repeat -224px 0;\n}\n.tree-file {\n  background: url('images/tree_icons.png') no-repeat -240px 0;\n}\n.tree-loading {\n  background: url('images/loading.gif') no-repeat center center;\n}\n.tree-checkbox0 {\n  background: url('images/tree_icons.png') no-repeat -208px -18px;\n}\n.tree-checkbox1 {\n  background: url('images/tree_icons.png') no-repeat -224px -18px;\n}\n.tree-checkbox2 {\n  background: url('images/tree_icons.png') no-repeat -240px -18px;\n}\n.tree-title {\n  font-size: 12px;\n  display: inline-block;\n  text-decoration: none;\n  vertical-align: top;\n  white-space: nowrap;\n  padding: 0 2px;\n  height: 18px;\n  line-height: 18px;\n}\n.tree-node-proxy {\n  font-size: 12px;\n  line-height: 20px;\n  padding: 0 2px 0 20px;\n  border-width: 1px;\n  border-style: solid;\n  z-index: 9900000;\n}\n.tree-dnd-icon {\n  display: inline-block;\n  position: absolute;\n  width: 16px;\n  height: 18px;\n  left: 2px;\n  top: 50%;\n  margin-top: -9px;\n}\n.tree-dnd-yes {\n  background: url('images/tree_icons.png') no-repeat -256px 0;\n}\n.tree-dnd-no {\n  background: url('images/tree_icons.png') no-repeat -256px -18px;\n}\n.tree-node-top {\n  border-top: 1px dotted red;\n}\n.tree-node-bottom {\n  border-bottom: 1px dotted red;\n}\n.tree-node-append .tree-title {\n  border: 1px dotted red;\n}\n.tree-editor {\n  border: 1px solid #ccc;\n  font-size: 12px;\n  height: 14px !important;\n  height: 18px;\n  line-height: 14px;\n  padding: 1px 2px;\n  width: 80px;\n  position: absolute;\n  top: 0;\n}\n.tree-node-proxy {\n  background-color: #fff;\n  color: #444;\n  border-color: #ddd;\n}\n.tree-node-hover {\n  background: #E6E6E6;\n  color: #444;\n}\n.tree-node-selected {\n  background: #CCE6FF;\n  color: #000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/validatebox.css",
    "content": ".validatebox-invalid {\n  border-color: #ffa8a8;\n  background-color: #fff3f3;\n  color: #000;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/jquery-easyui-1.4.1/themes/metro/window.css",
    "content": ".window {\n  overflow: hidden;\n  padding: 5px;\n  border-width: 1px;\n  border-style: solid;\n}\n.window .window-header {\n  background: transparent;\n  padding: 0px 0px 6px 0px;\n}\n.window .window-body {\n  border-width: 1px;\n  border-style: solid;\n  border-top-width: 0px;\n}\n.window .window-body-noheader {\n  border-top-width: 1px;\n}\n.window .panel-body-nobottom {\n  border-bottom-width: 0;\n}\n.window .window-header .panel-icon,\n.window .window-header .panel-tool {\n  top: 50%;\n  margin-top: -11px;\n}\n.window .window-header .panel-icon {\n  left: 1px;\n}\n.window .window-header .panel-tool {\n  right: 1px;\n}\n.window .window-header .panel-with-icon {\n  padding-left: 18px;\n}\n.window-proxy {\n  position: absolute;\n  overflow: hidden;\n}\n.window-proxy-mask {\n  position: absolute;\n  filter: alpha(opacity=5);\n  opacity: 0.05;\n}\n.window-mask {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  filter: alpha(opacity=40);\n  opacity: 0.40;\n  font-size: 1px;\n  overflow: hidden;\n}\n.window,\n.window-shadow {\n  position: absolute;\n  -moz-border-radius: 0px 0px 0px 0px;\n  -webkit-border-radius: 0px 0px 0px 0px;\n  border-radius: 0px 0px 0px 0px;\n}\n.window-shadow {\n  background: #eee;\n  -moz-box-shadow: 2px 2px 3px #ededed;\n  -webkit-box-shadow: 2px 2px 3px #ededed;\n  box-shadow: 2px 2px 3px #ededed;\n  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);\n}\n.window,\n.window .window-body {\n  border-color: #ddd;\n}\n.window {\n  background-color: #ffffff;\n}\n.window-proxy {\n  border: 1px dashed #ddd;\n}\n.window-proxy-mask,\n.window-mask {\n  background: #eee;\n}\n.window .panel-footer {\n  border: 1px solid #ddd;\n  position: relative;\n  top: -1px;\n}\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/asp/JSON_2.0.4.asp",
    "content": "<%\r\n'\r\n'\tVBS JSON 2.0.3\r\n'\tCopyright (c) 2009 Turul Topuz\r\n'\tUnder the MIT (MIT-LICENSE.txt) license.\r\n'\r\n\r\nConst JSON_OBJECT\t= 0\r\nConst JSON_ARRAY\t= 1\r\n\r\nClass jsCore\r\n\tPublic Collection\r\n\tPublic Count\r\n\tPublic QuotedVars\r\n\tPublic Kind ' 0 = object, 1 = array\r\n\r\n\tPrivate Sub Class_Initialize\r\n\t\tSet Collection = CreateObject(\"Scripting.Dictionary\")\r\n\t\tQuotedVars = True\r\n\t\tCount = 0\r\n\tEnd Sub\r\n\r\n\tPrivate Sub Class_Terminate\r\n\t\tSet Collection = Nothing\r\n\tEnd Sub\r\n\r\n\t' counter\r\n\tPrivate Property Get Counter \r\n\t\tCounter = Count\r\n\t\tCount = Count + 1\r\n\tEnd Property\r\n\r\n\t' - data maluplation\r\n\t' -- pair\r\n\tPublic Property Let Pair(p, v)\r\n\t\tIf IsNull(p) Then p = Counter\r\n\t\tCollection(p) = v\r\n\tEnd Property\r\n\r\n\tPublic Property Set Pair(p, v)\r\n\t\tIf IsNull(p) Then p = Counter\r\n\t\tIf TypeName(v) <> \"jsCore\" Then\r\n\t\t\tErr.Raise &hD, \"class: class\", \"Incompatible types: '\" & TypeName(v) & \"'\"\r\n\t\tEnd If\r\n\t\tSet Collection(p) = v\r\n\tEnd Property\r\n\r\n\tPublic Default Property Get Pair(p)\r\n\t\tIf IsNull(p) Then p = Count - 1\r\n\t\tIf IsObject(Collection(p)) Then\r\n\t\t\tSet Pair = Collection(p)\r\n\t\tElse\r\n\t\t\tPair = Collection(p)\r\n\t\tEnd If\r\n\tEnd Property\r\n\t' -- pair\r\n\tPublic Sub Clean\r\n\t\tCollection.RemoveAll\r\n\tEnd Sub\r\n\r\n\tPublic Sub Remove(vProp)\r\n\t\tCollection.Remove vProp\r\n\tEnd Sub\r\n\t' data maluplation\r\n\r\n\t' encoding\r\n\tFunction jsEncode(str)\r\n\t\tDim charmap(127), haystack()\r\n\t\tcharmap(8)  = \"\\b\"\r\n\t\tcharmap(9)  = \"\\t\"\r\n\t\tcharmap(10) = \"\\n\"\r\n\t\tcharmap(12) = \"\\f\"\r\n\t\tcharmap(13) = \"\\r\"\r\n\t\tcharmap(34) = \"\\\"\"\"\r\n\t\tcharmap(47) = \"\\/\"\r\n\t\tcharmap(92) = \"\\\\\"\r\n\r\n\t\tDim strlen : strlen = Len(str) - 1\r\n\t\tReDim haystack(strlen)\r\n\r\n\t\tDim i, charcode\r\n\t\tFor i = 0 To strlen\r\n\t\t\thaystack(i) = Mid(str, i + 1, 1)\r\n\r\n\t\t\tcharcode = AscW(haystack(i)) And 65535\r\n\t\t\tIf charcode < 127 Then\r\n\t\t\t\tIf Not IsEmpty(charmap(charcode)) Then\r\n\t\t\t\t\thaystack(i) = charmap(charcode)\r\n\t\t\t\tElseIf charcode < 32 Then\r\n\t\t\t\t\thaystack(i) = \"\\u\" & Right(\"000\" & Hex(charcode), 4)\r\n\t\t\t\tEnd If\r\n\t\t\tElse\r\n\t\t\t\thaystack(i) = \"\\u\" & Right(\"000\" & Hex(charcode), 4)\r\n\t\t\tEnd If\r\n\t\tNext\r\n\r\n\t\tjsEncode = Join(haystack, \"\")\r\n\tEnd Function\r\n\r\n\t' converting\r\n\tPublic Function toJSON(vPair)\r\n\t\tSelect Case VarType(vPair)\r\n\t\t\tCase 0\t' Empty\r\n\t\t\t\ttoJSON = \"null\"\r\n\t\t\tCase 1\t' Null\r\n\t\t\t\ttoJSON = \"null\"\r\n\t\t\tCase 7\t' Date\r\n\t\t\t\t' toJSON = \"new Date(\" & (vPair - CDate(25569)) * 86400000 & \")\"\t' let in only utc time\r\n\t\t\t\ttoJSON = \"\"\"\" & CStr(vPair) & \"\"\"\"\r\n\t\t\tCase 8\t' String\r\n\t\t\t\ttoJSON = \"\"\"\" & jsEncode(vPair) & \"\"\"\"\r\n\t\t\tCase 9\t' Object\r\n\t\t\t\tDim bFI,i \r\n\t\t\t\tbFI = True\r\n\t\t\t\tIf vPair.Kind Then toJSON = toJSON & \"[\" Else toJSON = toJSON & \"{\"\r\n\t\t\t\tFor Each i In vPair.Collection\r\n\t\t\t\t\tIf bFI Then bFI = False Else toJSON = toJSON & \",\"\r\n\r\n\t\t\t\t\tIf vPair.Kind Then \r\n\t\t\t\t\t\ttoJSON = toJSON & toJSON(vPair(i))\r\n\t\t\t\t\tElse\r\n\t\t\t\t\t\tIf QuotedVars Then\r\n\t\t\t\t\t\t\ttoJSON = toJSON & \"\"\"\" & i & \"\"\":\" & toJSON(vPair(i))\r\n\t\t\t\t\t\tElse\r\n\t\t\t\t\t\t\ttoJSON = toJSON & i & \":\" & toJSON(vPair(i))\r\n\t\t\t\t\t\tEnd If\r\n\t\t\t\t\tEnd If\r\n\t\t\t\tNext\r\n\t\t\t\tIf vPair.Kind Then toJSON = toJSON & \"]\" Else toJSON = toJSON & \"}\"\r\n\t\t\tCase 11\r\n\t\t\t\tIf vPair Then toJSON = \"true\" Else toJSON = \"false\"\r\n\t\t\tCase 12, 8192, 8204\r\n\t\t\t\ttoJSON = RenderArray(vPair, 1, \"\")\r\n\t\t\tCase Else\r\n\t\t\t\ttoJSON = Replace(vPair, \",\", \".\")\r\n\t\tEnd select\r\n\tEnd Function\r\n\r\n\tFunction RenderArray(arr, depth, parent)\r\n\t\tDim first : first = LBound(arr, depth)\r\n\t\tDim last : last = UBound(arr, depth)\r\n\r\n\t\tDim index, rendered\r\n\t\tDim limiter : limiter = \",\"\r\n\r\n\t\tRenderArray = \"[\"\r\n\t\tFor index = first To last\r\n\t\t\tIf index = last Then\r\n\t\t\t\tlimiter = \"\"\r\n\t\t\tEnd If \r\n\r\n\t\t\tOn Error Resume Next\r\n\t\t\trendered = RenderArray(arr, depth + 1, parent & index & \",\" )\r\n\r\n\t\t\tIf Err = 9 Then\r\n\t\t\t\tOn Error GoTo 0\r\n\t\t\t\tRenderArray = RenderArray & toJSON(Eval(\"arr(\" & parent & index & \")\")) & limiter\r\n\t\t\tElse\r\n\t\t\t\tRenderArray = RenderArray & rendered & \"\" & limiter\r\n\t\t\tEnd If\r\n\t\tNext\r\n\t\tRenderArray = RenderArray & \"]\"\r\n\tEnd Function\r\n\r\n\tPublic Property Get jsString\r\n\t\tjsString = toJSON(Me)\r\n\tEnd Property\r\n\r\n\tSub Flush\r\n\t\tIf TypeName(Response) <> \"Empty\" Then \r\n\t\t\tResponse.Write(jsString)\r\n\t\tElseIf WScript <> Empty Then \r\n\t\t\tWScript.Echo(jsString)\r\n\t\tEnd If\r\n\tEnd Sub\r\n\r\n\tPublic Function Clone\r\n\t\tSet Clone = ColClone(Me)\r\n\tEnd Function\r\n\r\n\tPrivate Function ColClone(core)\r\n\t\tDim jsc, i\r\n\t\tSet jsc = new jsCore\r\n\t\tjsc.Kind = core.Kind\r\n\t\tFor Each i In core.Collection\r\n\t\t\tIf IsObject(core(i)) Then\r\n\t\t\t\tSet jsc(i) = ColClone(core(i))\r\n\t\t\tElse\r\n\t\t\t\tjsc(i) = core(i)\r\n\t\t\tEnd If\r\n\t\tNext\r\n\t\tSet ColClone = jsc\r\n\tEnd Function\r\n\r\nEnd Class\r\n\r\nFunction jsObject\r\n\tSet jsObject = new jsCore\r\n\tjsObject.Kind = JSON_OBJECT\r\nEnd Function\r\n\r\nFunction jsArray\r\n\tSet jsArray = new jsCore\r\n\tjsArray.Kind = JSON_ARRAY\r\nEnd Function\r\n\r\nFunction toJSON(val)\r\n\ttoJSON = (new jsCore).toJSON(val)\r\nEnd Function\r\n%>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/asp/UpLoad_Class.asp",
    "content": "<%\r\n'=========================================================\r\n '类名: AnUpLoad(艾恩无组件上传类)\r\n '作者: Anlige\r\n '版本: 艾恩ASP无组件上传类V11.03.25\r\n '开发日期: 2008-4-12\r\n '修改日期: 2011-03025\r\n '主页: http://dev.mo.cn\r\n 'Email: zhanghuiguoanlige@126.com\r\n 'QQ: 1034555083\r\n'=========================================================\r\nDim StreamT\r\nClass AnUpLoad\r\n\tPrivate Form, Fils\r\n\tPrivate vCharSet, vMaxSize, vSingleSize, vErr, vVersion, vTotalSize, vExe, pID, vOP, vErrExe,vboundary, vLostTime, vMode, vFileCount\r\n\t\r\n\t'==============================\r\n\t'设置和读取属性开始\r\n\t'==============================\r\n\tPublic Property Let Mode(ByVal value)\r\n\t\tvMode = value\r\n\tEnd Property\r\n\t\r\n\tPublic Property Let MaxSize(ByVal value)\r\n\t\tvMaxSize = value\r\n\tEnd Property\r\n\t\r\n\tPublic Property Let SingleSize(ByVal value)\r\n\t\tvSingleSize = value\r\n\tEnd Property\r\n\t\r\n\tPublic Property Let Exe(ByVal value)\r\n\t\tvExe = LCase(value)\r\n\tEnd Property\r\n\t\r\n\tPublic Property Let CharSet(ByVal value)\r\n\t\tvCharSet = value\r\n\tEnd Property\r\n\t\r\n\tPublic Property Get ErrorID()\r\n\t\tErrorID = vErr\r\n\tEnd Property\r\n\t\r\n\tPublic Property Get FileCount()\r\n\t\tFileCount = Fils.count\r\n\tEnd Property\r\n\t\r\n\tPublic Property Get Description()\r\n\t\tDescription = GetErr(vErr)\r\n\tEnd Property\r\n\t\r\n\tPublic Property Get Version()\r\n\t\tVersion = vVersion\r\n\tEnd Property\r\n\t\r\n\tPublic Property Get TotalSize()\r\n\t\tTotalSize = vTotalSize\r\n\tEnd Property\r\n\t\r\n\tPublic Property Get ProcessID()\r\n\t\tProcessID = pID\r\n\tEnd Property\r\n\t\r\n\tPublic Property Let openProcesser(ByVal value)\r\n\t\tvOP = value\r\n\tEnd Property\r\n\t\r\n\tPublic Property Get LostTime()\r\n\t\tLostTime = vLostTime\r\n\tEnd Property\r\n\t'==============================\r\n\t'设置和读取属性结束，初始化类\r\n\t'==============================\r\n\t\r\n\tPrivate Sub Class_Initialize()\r\n\t\tset Form = server.createobject(\"Scripting.Dictionary\")\r\n\t\tset Fils = server.createobject(\"Scripting.Dictionary\")\r\n\t\tSet StreamT = server.CreateObject(\"Adodb.stream\")\r\n\t\tvVersion = \"艾恩ASP无组件上传类V10.10.22\"\r\n\t\tvMaxSize = -1\r\n\t\tvSingleSize = -1\r\n\t\tvErr = -1\r\n\t\tvExe = \"\"\r\n\t\tvTotalSize = 0\r\n\t\tvCharSet = \"utf-8\"\r\n\t\tvOP=false\r\n\t\tpID=\"AnUpload\"\r\n\t\tsetApp \"\",0,0,\"\"\r\n\t\tvMode = 0\r\n\tEnd Sub\r\n\t\r\n\tPrivate Sub Class_Terminate()\r\n\t\tDim f\r\n\t\tForm.RemoveAll()\r\n\t\tFor each f in Fils \r\n\t\t\tFils(f).value=empty\r\n\t\t\tSet Fils(f) = Nothing\r\n\t\tNext\r\n\t\tFils.RemoveAll()\r\n\t\tSet Form = Nothing\r\n\t\tSet Fils = Nothing\r\n\t\tStreamT.Close()\r\n\t\tSet StreamT = Nothing\r\n\tEnd Sub\r\n\t\r\n\t'==============================\r\n\t'函数名:GetData\r\n\t'作用:处理客户端提交来的所有数据\r\n\t'==============================\r\n\tPublic Sub GetData()\r\n\t\tDim time1\r\n\t\ttime1 = timer()\r\n\t\tif vOP And trim(request.querystring(\"processid\"))<>\"\" then pID=request.querystring(\"processid\")\r\n\t\tDim value, str, bcrlf, fpos, sSplit, slen, istart,ef\r\n\t\tDim TotalBytes,tempdata,BytesRead,ChunkReadSize,PartSize,DataPart,formend, formhead, startpos, endpos, formname, FileName, fileExe, valueend, NewName,localname,type_1,contentType\r\n\t\tTotalBytes = Request.TotalBytes\r\n\t\tef = false\r\n\t\tIf checkEntryType = false Then ef = true : vErr = 2\r\n\t\t'下面3句注释掉了，因为在IIS5.0中，如果上传大小大于限制大小的文件，会出错，一直没找到解决方法。如果是在IIS5以上的版本使用，可以取消下面3句的注释\r\n\t\t'If Not ef Then\r\n\t\t\t'If vMaxSize > 0 And TotalBytes > vMaxSize Then ef = true : vErr = 1\r\n\t\t'End If\r\n\t\tIf ef Then Exit Sub\r\n\t\tIf vMode = 0 Then\r\n\t\t\tvTotalSize = 0 \r\n\t\t\tStreamT.Type = 1\r\n\t\t\tStreamT.Mode = 3\r\n\t\t\tStreamT.Open\r\n\t\t\tBytesRead = 0\r\n\t\t\tChunkReadSize = 1024 * 16\r\n\t\t\tDo While BytesRead < TotalBytes\r\n\t\t\t\tPartSize = ChunkReadSize\r\n\t\t\t\tIf PartSize + BytesRead > TotalBytes Then PartSize = TotalBytes - BytesRead\r\n\t\t\t\tDataPart = Request.BinaryRead(PartSize)\r\n\t\t\t\tStreamT.Write DataPart\r\n\t\t\t\tBytesRead = BytesRead + PartSize\r\n\t\t\t\tsetApp \"uploading\",TotalBytes,BytesRead,\"\"\r\n\t\t\tLoop\r\n\t\t\tsetApp \"uploaded\",TotalBytes,BytesRead,\"\"\r\n\t\t\tStreamT.Position = 0\r\n\t\t\ttempdata = StreamT.Read\r\n\t\tElse\r\n\t\t\ttempdata = Request.BinaryRead(TotalBytes)\r\n\t\tEnd If\r\n\t\tbcrlf = ChrB(13) & ChrB(10)\r\n\t\tfpos = InStrB(1, tempdata, bcrlf)\r\n        sSplit = MidB(tempdata, 1, fpos - 1)\r\n\t\tslen = LenB(sSplit)\r\n\t\tistart = slen + 2\r\n        Do\r\n            formend = InStrB(istart, tempdata, bcrlf & bcrlf)\r\n            formhead = MidB(tempdata, istart, formend - istart)\r\n            str = Bytes2Str(formhead)\r\n            startpos = InStr(str, \"name=\"\"\") + 6\r\n            endpos = InStr(startpos, str, \"\"\"\")\r\n            formname = LCase(Mid(str, startpos, endpos - startpos))\r\n            valueend = InStrB(formend + 3, tempdata, sSplit)\r\n\t\t\tIf InStr(str, \"filename=\"\"\") > 0 Then\r\n\t\t\t\tstartpos = InStr(str, \"filename=\"\"\") + 10\r\n\t\t\t\tendpos = InStr(startpos, str, \"\"\"\")\r\n\t\t\t\ttype_1=instr(endpos,lcase(str),\"content-type\")\r\n\t\t\t\tcontentType=trim(mid(str,type_1+13))\r\n\t\t\t\tFileName = Mid(str, startpos, endpos - startpos)\r\n\t\t\t\tIf Trim(FileName) <> \"\" Then\r\n\t\t\t\t\tLocalName = FileName\r\n\t\t\t\t\tFileName = Replace(FileName, \"/\", \"\\\")\r\n\t\t\t\t\tFileName = Mid(FileName, InStrRev(FileName, \"\\\") + 1)\r\n\t\t\t\t\tIf instr(FileName,\".\")>0 Then\r\n\t\t\t\t\t\tfileExe = Split(FileName, \".\")(UBound(Split(FileName, \".\")))\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tfileExe = \"\"\r\n\t\t\t\t\tEnd If\r\n\t\t\t\t\tIf vExe <> \"\" Then '判断扩展名\r\n\t\t\t\t\t\tIf checkExe(fileExe) = True Then\r\n\t\t\t\t\t\t\tvErr = 3\r\n\t\t\t\t\t\t\tvErrExe = fileExe\r\n\t\t\t\t\t\t\ttempdata = empty\r\n\t\t\t\t\t\t\tExit Sub\r\n\t\t\t\t\t\tEnd If\r\n\t\t\t\t\tEnd If\r\n\t\t\t\t\tNewName = Getname()\r\n\t\t\t\t\tNewName = NewName & \".\" & fileExe\r\n\t\t\t\t\tvTotalSize = vTotalSize + valueend - formend - 6\r\n\t\t\t\t\tIf vSingleSize > 0 And (valueend - formend - 6) > vSingleSize Then '判断上传单个文件大小\r\n\t\t\t\t\t\tvErr = 5\r\n\t\t\t\t\t\ttempdata = empty\r\n\t\t\t\t\t\tExit Sub\r\n\t\t\t\t\tEnd If\r\n\t\t\t\t\tIf vMaxSize > 0 And vTotalSize > vMaxSize Then '判断上传数据总大小\r\n\t\t\t\t\t\tvErr = 1\r\n\t\t\t\t\t\ttempdata = empty\r\n\t\t\t\t\t\tExit Sub\r\n\t\t\t\t\tEnd If\r\n\t\t\t\t\tIf Fils.Exists(formname) Then\r\n\t\t\t\t\t\tvErr = 4\r\n\t\t\t\t\t\ttempdata = empty\r\n\t\t\t\t\t\tExit Sub\r\n\t\t\t\t\tElse\r\n\t\t\t\t\t\tDim fileCls:set fileCls= new UploadFileEx\r\n\t\t\t\t\t\tfileCls.ContentType=contentType\r\n\t\t\t\t\t\tfileCls.Size = (valueend - formend - 6)\r\n\t\t\t\t\t\tfileCls.Position = (formend + 3)\r\n\t\t\t\t\t\tfileCls.FormName = formname\r\n\t\t\t\t\t\tfileCls.NewName = NewName\r\n\t\t\t\t\t\tfileCls.FileName = FileName\r\n\t\t\t\t\t\tfileCls.LocalName = FileName\r\n\t\t\t\t\t\tfileCls.extend=split(NewName,\".\")(ubound(split(NewName,\".\")))\r\n\t\t\t\t\t\tFils.Add formname, fileCls\r\n\t\t\t\t\t\tSet fileCls = Nothing\r\n\t\t\t\t\tEnd If\r\n\t\t\t\tEnd If\r\n\t\t\tElse\r\n\t\t\t\tvalue = MidB(tempdata, formend + 4, valueend - formend - 6)\r\n\t\t\t\tIf Form.Exists(formname) Then\r\n\t\t\t\t\tForm(formname) = Form(formname) & \",\" & Bytes2Str(value)\r\n\t\t\t\tElse\r\n\t\t\t\t\tForm.Add formname, Bytes2Str(value)\r\n\t\t\t\tEnd If\r\n\t\t\tEnd If\r\n            istart = valueend + 2 + slen\r\n        Loop Until (istart + 2) >= LenB(tempdata)\r\n\t\tvErr = 0\r\n\t\ttempdata = empty\r\n\t\tvLostTime = FormatNumber((timer-time1)*1000,2)\r\n\tEnd Sub\r\n\t\r\n\tPublic sub setApp(stp,total,current,desc)\r\n\t\tApplication.lock()\r\n\t\tApplication(pID)=\"{ID:\"\"\" & pID & \"\"\",step:\"\"\" & stp & \"\"\",total:\" & total & \",now:\" & current & \",description:\"\"\" & desc & \"\"\",dt:\"\"\" & now() & \"\"\"}\"\r\n\t\tApplication.unlock()\r\n\tend sub\r\n\t'==============================\r\n\t'判断扩展名\r\n\t'==============================\r\n\tPrivate Function checkExe(ByVal ex)\r\n\t\tDim notIn: notIn = True\r\n\t\tIf vExe=\"*\" then\r\n\t\t\tnotIn=false \r\n\t\telseIf InStr(1, vExe, \"|\") > 0 Then\r\n\t\t\tDim tempExe: tempExe = Split(vExe, \"|\")\r\n\t\t\tDim I: I = 0\r\n\t\t\tFor I = 0 To UBound(tempExe)\r\n\t\t\t\tIf LCase(ex) = tempExe(I) Then\r\n\t\t\t\t\tnotIn = False\r\n\t\t\t\t\tExit For\r\n\t\t\t\tEnd If\r\n\t\t\tNext\r\n\t\tElse\r\n\t\t\tIf vExe = LCase(ex) Then\r\n\t\t\t\tnotIn = False\r\n\t\t\tEnd If\r\n\t\tEnd If\r\n\t\tcheckExe = notIn\r\n\tEnd Function\r\n\t\r\n\t'==============================\r\n\t'把数字转换为文件大小显示方式\r\n\t'==============================\r\n\tPublic Function GetSize(ByVal Size)\r\n\t\tIf Size < 1024 Then\r\n\t\t\tGetSize = FormatNumber(Size, 2) & \"B\"\r\n\t\tElseIf Size >= 1024 And Size < 1048576 Then\r\n\t\t\tGetSize = FormatNumber(Size / 1024, 2) & \"KB\"\r\n\t\tElseIf Size >= 1048576 Then\r\n\t\t\tGetSize = FormatNumber((Size / 1024) / 1024, 2) & \"MB\"\r\n\t\tEnd If\r\n\tEnd Function\r\n\t\r\n\t'==============================\r\n\t'二进制数据转换为字符\r\n\t'==============================\r\n\tPrivate Function Bytes2Str(ByVal byt)\r\n\t\tIf LenB(byt) = 0 Then\r\n\t\t\tBytes2Str = \"\"\r\n\t\t\tExit Function\r\n\t\tEnd If\r\n\t\tDim mystream, bstr\r\n\t\tSet mystream =server.createobject(\"ADODB.Stream\")\r\n\t\tmystream.Type = 2\r\n\t\tmystream.Mode = 3\r\n\t\tmystream.Open\r\n\t\tmystream.WriteText byt\r\n\t\tmystream.Position = 0\r\n\t\tmystream.CharSet = vCharSet\r\n\t\tmystream.Position = 2\r\n\t\tbstr = mystream.ReadText()\r\n\t\tmystream.Close\r\n\t\tSet mystream = Nothing\r\n\t\tBytes2Str = bstr\r\n\tEnd Function\r\n\t\r\n\t'==============================\r\n\t'获取错误描述\r\n\t'==============================\r\n\tPrivate Function GetErr(ByVal Num)\r\n\t\tSelect Case Num\r\n\t\t\tCase 0\r\n\t\t\t\tGetErr = \"数据处理完毕!\"\r\n\t\t\tCase 1\r\n\t\t\t\tGetErr = \"上传数据超过\" & GetSize(vMaxSize) & \"限制!可设置MaxSize属性来改变限制!\"\r\n\t\t\tCase 2\r\n\t\t\t\tGetErr = \"未设置上传表单enctype属性为multipart/form-data或者未设置method属性为Post,上传无效!\"\r\n\t\t\tCase 3\r\n\t\t\t\tGetErr = \"含有非法扩展名(\" & vErrExe & \")文件!只能上传扩展名为\" & Replace(vExe, \"|\", \",\") & \"的文件\"\r\n\t\t\tCase 4\r\n\t\t\t\tGetErr = \"对不起,程序不允许使用相同name属性的文件域!\"\r\n\t\t\tCase 5\r\n\t\t\t\tGetErr = \"单个文件大小超出\" & GetSize(vSingleSize) & \"的上传限制!\"\r\n\t\tEnd Select\r\n\tEnd Function\r\n\t\r\n\t'==============================\r\n\t'根据日期生成随机文件名\r\n\t'==============================\r\n\tPrivate Function Getname()\r\n\t\tDim y, m, d, h, mm, S, r\r\n\t\tRandomize\r\n\t\ty = Year(Now)\r\n\t\tm = right(\"0\" & Month(Now),2)\r\n\t\td = right(\"0\" & Day(Now),2)\r\n\t\th = right(\"0\" & Hour(Now),2)\r\n\t\tmm =right(\"0\" & Minute(Now),2)\r\n\t\tS = right(\"0\" & Second(Now),2)\r\n\t\tr = 0\r\n\t\tr = CInt(Rnd() * 10000)\r\n\t\tS = right(\"0000\" & r,4)\r\n\t\tGetname = y & m & d & h & mm & S & r\r\n\tEnd Function\r\n\t\r\n\t'==============================\r\n\t'检测上传类型是否为multipart/form-data\r\n\t'==============================\r\n\tPrivate Function checkEntryType()\r\n\t\tDim ContentType, ctArray, bArray,RequestMethod\r\n\t\tRequestMethod=trim(LCase(Request.ServerVariables(\"REQUEST_METHOD\")))\r\n\t\tif RequestMethod=\"\" or RequestMethod<>\"post\" then\r\n\t\t\tcheckEntryType = False\r\n\t\t\texit function\r\n\t\tend if\r\n\t\tContentType = LCase(Request.ServerVariables(\"HTTP_CONTENT_TYPE\"))\r\n\t\tctArray = Split(ContentType, \";\")\r\n\t\tif ubound(ctarray)>=0 then\r\n\t\t\tIf Trim(ctArray(0)) = \"multipart/form-data\" Then\r\n\t\t\tcheckEntryType = True\r\n\t\t\tvboundary = Split(ContentType,\"boundary=\")(1)\r\n\t\t\tElse\r\n\t\t\tcheckEntryType = False\r\n\t\t\tEnd If\r\n\t\telse\r\n\t\t\tcheckEntryType = False\r\n\t\tend if\r\n\tEnd Function\r\n\t\r\n\t'==============================\r\n\t'获取上传表单值,参数可选,如果为-1则返回一个包含所有表单项的一个dictionary对象\r\n\t'==============================\r\n\tPublic Function Forms(ByVal formname)\r\n\t\tIf trim(formname) = \"-1\" Then\r\n\t\t\tSet Forms = Form\r\n\t\tElse\r\n\t\t\tIf Form.Exists(LCase(formname)) Then\r\n\t\t\t\tForms = Form(LCase(formname))\r\n\t\t\tElse\r\n\t\t\t\tForms = \"\"\r\n\t\t\tEnd If\r\n\t\tEnd If\r\n\tEnd Function\r\n\t\r\n\t'==============================\r\n\t'获取上传的文件类,参数可选,如果为-1则返回一个包含所有上传文件类的一个dictionary对象\r\n\t'==============================\r\n\tPublic Function Files(ByVal formname)\r\n\t\tIf trim(formname) = \"-1\" Then\r\n\t\t\tSet Files = Fils\r\n\t\tElse\r\n\t\t\tIf Fils.Exists(LCase(formname)) Then\r\n\t\t\t\tSet Files = Fils(LCase(formname))\r\n\t\t\tElse\r\n\t\t\t\tSet Files = Nothing\r\n\t\t\tEnd If\r\n\t\tEnd If\r\n\tEnd Function\r\nEnd Class\r\n\r\nClass UploadFileEx\r\n\tPrivate mvarFormName , mvarNewName , mvarLocalName , mvarFileName , mvarUserSetName , mvarContentType ,mException,mvarPosition\r\n\tPrivate mvarSize , mvarValue , mvarPath , mvarExtend ,mvarWidth, mvarHeight\r\n\t\r\n\tPublic Property Let Extend(ByVal vData )\r\n\t\tmvarExtend = vData\r\n\tEnd Property\r\n\tPublic Property Get Extend() \r\n\t\tExtend = mvarExtend\r\n\tEnd Property\r\n\r\n\tPublic Property Get Width() \r\n\t\tWidth = mvarWidth\r\n\tEnd Property\r\n\t\r\n\tPublic Property Get Height() \r\n\t\tHeight = mvarHeight\r\n\tEnd Property\r\n\t\r\n\t\t\r\n\tPublic Property Let Path(ByVal vData )\r\n\t\tmvarPath = vData\r\n\tEnd Property\r\n\tPublic Property Get Path() \r\n\t\tPath = mvarPath\r\n\tEnd Property\r\n\t\r\n\tPublic Property Get Exception() \r\n\t\tException = mException\r\n\tEnd Property\r\n\t\r\n\tPublic Property Let Value(ByVal vData )\r\n\t\tmvarValue = vData\r\n\tEnd Property\r\n\t\r\n\tPublic Property Get Value() \r\n\t\tValue = mvarValue\r\n\tEnd Property\r\n\t\r\n\tPublic Property Let Size(ByVal vData )\r\n\t\tmvarSize = vData\r\n\tEnd Property\r\n\tPublic Property Get Size() \r\n\t\tSize = mvarSize\r\n\tEnd Property\r\n\r\n\tPublic Property Let Position(ByVal vData )\r\n\t\tmvarPosition = vData\r\n\tEnd Property\r\n\tPublic Property Get Position() \r\n\t\tSize = mvarPosition\r\n\tEnd Property\r\n\t\t\r\n\tPublic Property Let ContentType(ByVal vData )\r\n\t\tmvarContentType = vData\r\n\tEnd Property\r\n\tPublic Property Get ContentType() \r\n\t\tContentType = mvarContentType\r\n\tEnd Property\r\n\t\r\n\tPublic Property Let UserSetName(ByVal vData )\r\n\t\tmvarUserSetName = vData\r\n\tEnd Property\r\n\tPublic Property Get UserSetName() \r\n\t\tUserSetName = mvarUserSetName\r\n\tEnd Property\r\n\t\r\n\tPublic Property Let FileName(ByVal vData )\r\n\t\tmvarFileName = vData\r\n\tEnd Property\r\n\tPublic Property Get FileName() \r\n\t\tFileName = mvarFileName\r\n\tEnd Property\r\n\t\r\n\tPublic Property Let LocalName(ByVal vData )\r\n\t\tmvarLocalName = vData\r\n\tEnd Property\r\n\tPublic Property Get LocalName() \r\n\t\tLocalName = mvarLocalName\r\n\tEnd Property\r\n\t\r\n\tPublic Property Let NewName(ByVal vData )\r\n\t\tmvarNewName = vData\r\n\tEnd Property\r\n\tPublic Property Get NewName() \r\n\t\tNewName = mvarNewName\r\n\tEnd Property\r\n\t\r\n\tPublic Property Let FormName(ByVal vData )\r\n\t\tmvarFormName = vData\r\n\tEnd Property\r\n\tPublic Property Get FormName() \r\n\t\tFormName = mvarFormName\r\n\tEnd Property\r\n\t\r\n\tPrivate Sub Class_Initialize()\r\n\t\tmvarSize =0\r\n\t\tmvarWidth = 0\r\n\t\tmvarHeight = 0\r\n\tEnd Sub\r\n\t\r\n\tPublic Function SaveToFile(ByVal Path , byval tOption, byval OverWrite)\r\n\t\tOn Error Resume Next\r\n\t\tDim IsP \r\n\t\tIsP = (InStr(Path, \":\") = 2)\r\n\t\tIf Not IsP Then Path = Server.MapPath(Path)\r\n\t\tPath = Replace(Path, \"/\", \"\\\")\r\n\t\tIf Mid(Path, Len(Path) - 1) <> \"\\\" Then Path = Path + \"\\\"\r\n\t\tCreateFolder Path\r\n\t\tmvarPath = Path\r\n\t\tIf tOption = 1 Then\r\n\t\t\tPath = Path & mvarLocalName: mvarFileName = mvarLocalName\r\n\t\tElse\r\n\t\t\tIf tOption = -1 And mvarUserSetName <> \"\" Then\r\n\t\t\t\tPath = Path & mvarUserSetName & \".\" & mvarExtend: mvarFileName = mvarUserSetName & \".\" & mvarExtend\r\n\t\t\tElse\r\n\t\t\t\tPath = Path & mvarNewName: mvarFileName = mvarNewName\r\n\t\t\tEnd If\r\n\t\tEnd If\r\n\t\tIf Not OverWrite Then\r\n\t\t\tPath = GetFilePath()\r\n\t\tEnd If\r\n\t\tDim tmpStrm\r\n\t\tSet tmpStrm =server.CreateObject(\"ADODB.Stream\")\r\n\t\ttmpStrm.Mode = 3\r\n\t\ttmpStrm.Type = 1\r\n\t\ttmpStrm.Open\r\n\t\tStreamT.Position = mvarPosition\r\n\t\tStreamT.copyto tmpStrm,mvarSize\r\n\t\ttmpStrm.SaveToFile Path, 2\r\n\t\ttmpStrm.Close\r\n\t\tSet tmpStrm = Nothing\r\n\t\tIf Not Err Then\r\n\t\t\tSet SaveToFile = objFromJson(\"{error:false}\")\r\n\t\tElse\r\n\t\t\tSet SaveToFile = objFromJson(\"{error:true,description:'\" & replace(Err.Description,\"'\",\"\\'\") & \"'}\")\r\n\t\t\tmException=Err.Description\r\n\t\tEnd If\r\n\tEnd Function\r\n\t\r\n\tPublic Function GetBytes()\r\n\t\tStreamT.Position = mvarPosition\r\n\t\tGetBytes = StreamT.read(mvarSize)\r\n\tEnd Function\r\n\tPrivate Function CreateFolder(ByVal folderPath )\r\n\t\tDim oFSO\r\n\t\tSet oFSO = server.CreateObject(\"Scripting.FileSystemObject\")\r\n\t\tDim sParent \r\n\t\tsParent = oFSO.GetParentFolderName(folderPath)\r\n\t\tIf sParent = \"\" Then Exit Function\r\n\t\tIf Not oFSO.FolderExists(sParent) Then CreateFolder (sParent)\r\n\t\tIf Not oFSO.FolderExists(folderPath) Then oFSO.CreateFolder (folderPath)\r\n\t\tSet oFSO = Nothing\r\n\tEnd Function\r\n\t\r\n\tPrivate Function GetFilePath() \r\n\t\tDim oFSO, Fname , FNameL , i \r\n\t\ti = 0\r\n\t\tSet oFSO = server.CreateObject(\"Scripting.FileSystemObject\")\r\n\t\tFname = mvarPath & mvarFileName\r\n\t\tFNameL = Mid(mvarFileName, 1, InStr(mvarFileName, \".\") - 1)\r\n\t\tDo While oFSO.FileExists(Fname)\r\n\t\t\tFname = mvarPath & FNameL & \"(\" & i & \").\" & mvarExtend\r\n\t\t\tmvarFileName = FNameL & \"(\" & i & \").\" & mvarExtend\r\n\t\t\ti = i + 1\r\n\t\tLoop\r\n\t\tSet oFSO = Nothing\r\n\t\tGetFilePath = Fname\r\n\tEnd Function\r\nEnd Class\r\n%>\r\n<script language=\"jscript\" runat=\"server\">\r\n\tfunction objFromJson(str){\r\n\t\teval(\"var _temp=(\" + str + \");\");\r\n\t\treturn _temp;\r\n\t}\r\n</script>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/asp/demo.asp",
    "content": "<%@ CODEPAGE=65001 %>\r\n<%\r\nOption Explicit\r\nResponse.CodePage=65001\r\nResponse.Charset=\"UTF-8\"\r\n\r\nDim htmlData\r\n\r\nhtmlData = Request.Form(\"content1\")\r\n\r\nFunction htmlspecialchars(str)\r\n\tstr = Replace(str, \"&\", \"&amp;\")\r\n\tstr = Replace(str, \"<\", \"&lt;\")\r\n\tstr = Replace(str, \">\", \"&gt;\")\r\n\tstr = Replace(str, \"\"\"\", \"&quot;\")\r\n\thtmlspecialchars = str\r\nEnd Function\r\n%>\r\n<!doctype html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"utf-8\" />\r\n\t<title>KindEditor ASP</title>\r\n\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t<link rel=\"stylesheet\" href=\"../plugins/code/prettify.css\" />\r\n\t<script charset=\"utf-8\" src=\"../kindeditor.js\"></script>\r\n\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t<script charset=\"utf-8\" src=\"../plugins/code/prettify.js\"></script>\r\n\t<script>\r\n\t\tKindEditor.ready(function(K) {\r\n\t\t\tvar editor1 = K.create('textarea[name=\"content1\"]', {\r\n\t\t\t\tcssPath : '../plugins/code/prettify.css',\r\n\t\t\t\tuploadJson : '../asp/upload_json.asp',\r\n\t\t\t\tfileManagerJson : '../asp/file_manager_json.asp',\r\n\t\t\t\tallowFileManager : true,\r\n\t\t\t\tafterCreate : function() {\r\n\t\t\t\t\tvar self = this;\r\n\t\t\t\t\tK.ctrl(document, 13, function() {\r\n\t\t\t\t\t\tself.sync();\r\n\t\t\t\t\t\tK('form[name=example]')[0].submit();\r\n\t\t\t\t\t});\r\n\t\t\t\t\tK.ctrl(self.edit.doc, 13, function() {\r\n\t\t\t\t\t\tself.sync();\r\n\t\t\t\t\t\tK('form[name=example]')[0].submit();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tprettyPrint();\r\n\t\t});\r\n\t</script>\r\n</head>\r\n<body>\r\n\t<%=htmlData%>\r\n\t<form name=\"example\" method=\"post\" action=\"demo.asp\">\r\n\t\t<textarea name=\"content1\" style=\"width:700px;height:200px;visibility:hidden;\"><%=htmlspecialchars(htmlData)%></textarea>\r\n\t\t<br />\r\n\t\t<input type=\"submit\" name=\"button\" value=\"提交内容\" /> (提交快捷键: Ctrl + Enter)\r\n\t</form>\r\n</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/asp/file_manager_json.asp",
    "content": "<%@ CODEPAGE=65001 %>\r\n<% Option Explicit %>\r\n<% Response.CodePage=65001 %>\r\n<% Response.Charset=\"UTF-8\" %>\r\n<!--#include file=\"JSON_2.0.4.asp\"-->\r\n<%\r\n\r\n' KindEditor ASP\r\n'\r\n' 本ASP程序是演示程序，建议不要直接在实际项目中使用。\r\n' 如果您确定直接使用本程序，使用之前请仔细确认相关安全设置。\r\n'\r\n\r\nDim aspUrl, rootPath, rootUrl, fileTypes\r\nDim currentPath, currentUrl, currentDirPath, moveupDirPath\r\nDim path, order, dirName, fso, folder, dir, file, result\r\nDim fileExt, dirCount, fileCount, orderIndex, i, j\r\nDim dirList(), fileList(), isDir, hasFile, filesize, isPhoto, filetype, filename, datetime\r\n\r\naspUrl = Request.ServerVariables(\"SCRIPT_NAME\")\r\naspUrl = left(aspUrl, InStrRev(aspUrl, \"/\"))\r\n\r\n'根目录路径，可以指定绝对路径，比如 /var/www/attached/\r\nrootPath = \"../attached/\"\r\n'根目录URL，可以指定绝对路径，比如 http://www.yoursite.com/attached/\r\nrootUrl = aspUrl & \"../attached/\"\r\n'图片扩展名\r\nfileTypes = \"gif,jpg,jpeg,png,bmp\"\r\n\r\ncurrentPath = \"\"\r\ncurrentUrl = \"\"\r\ncurrentDirPath = \"\"\r\nmoveupDirPath = \"\"\r\n\r\nSet fso = Server.CreateObject(\"Scripting.FileSystemObject\")\r\n\r\n'目录名\r\ndirName = Request.QueryString(\"dir\")\r\nIf Not isEmpty(dirName) Then\r\n\tIf instr(lcase(\"image,flash,media,file\"), dirName) < 1 Then\r\n\t\tResponse.Write \"Invalid Directory name.\"\r\n\t\tResponse.End\r\n\tEnd If\r\n\trootPath = rootPath & dirName & \"/\"\r\n\trootUrl = rootUrl & dirName & \"/\"\r\n\tIf Not fso.FolderExists(Server.mappath(rootPath)) Then\r\n\t\tfso.CreateFolder(Server.mappath(rootPath))\r\n\tEnd If\r\nEnd If\r\n\r\n'根据path参数，设置各路径和URL\r\npath = Request.QueryString(\"path\")\r\nIf path = \"\" Then\r\n\tcurrentPath = Server.MapPath(rootPath) & \"\\\"\r\n\tcurrentUrl = rootUrl\r\n\tcurrentDirPath = \"\"\r\n\tmoveupDirPath = \"\"\r\nElse\r\n\tcurrentPath = Server.MapPath(rootPath & path) & \"\\\"\r\n\tcurrentUrl = rootUrl + path\r\n\tcurrentDirPath = path\r\n\tmoveupDirPath = RegexReplace(currentDirPath, \"(.*?)[^\\/]+\\/$\", \"$1\")\r\nEnd If\r\n\r\nSet folder = fso.GetFolder(currentPath)\r\n\r\n'排序形式，name or size or type\r\norder = lcase(Request.QueryString(\"order\"))\r\nSelect Case order\r\n\tCase \"type\" orderIndex = 4\r\n\tCase \"size\" orderIndex = 2\r\n\tCase Else  orderIndex = 5\r\nEnd Select\r\n\r\n'不允许使用..移动到上一级目录\r\nIf RegexIsMatch(path, \"\\.\\.\") Then\r\n\tResponse.Write \"Access is not allowed.\"\r\n\tResponse.End\r\nEnd If\r\n'最后一个字符不是/\r\nIf path <> \"\" And Not RegexIsMatch(path, \"\\/$\") Then\r\n\tResponse.Write \"Parameter is not allowed.\"\r\n\tResponse.End\r\nEnd If\r\n'目录不存在或不是目录\r\nIf Not DirectoryExists(currentPath) Then\r\n\tResponse.Write \"Directory does not exist.\"\r\n\tResponse.End\r\nEnd If\r\n\r\nSet result = jsObject()\r\n'相对于根目录的上一级目录\r\nresult(\"moveup_dir_path\") = moveupDirPath\r\n'相对于根目录的当前目录\r\nresult(\"current_dir_path\") = currentDirPath\r\n'当前目录的URL\r\nresult(\"current_url\") = currentUrl\r\n\r\n'文件数\r\ndirCount = folder.SubFolders.count\r\nfileCount = folder.Files.count\r\nresult(\"total_count\") = dirCount + fileCount\r\n\r\nReDim dirList(dirCount)\r\ni = 0\r\nFor Each dir in folder.SubFolders\r\n\tisDir = True\r\n\thasFile = (dir.Files.count > 0)\r\n\tfilesize = 0\r\n\tisPhoto = False\r\n\tfiletype = \"\"\r\n\tfilename = dir.name\r\n\tdatetime = FormatDate(dir.DateLastModified)\r\n\tdirList(i) = Array(isDir, hasFile, filesize, isPhoto, filetype, filename, datetime)\r\n\ti = i + 1\r\nNext\r\nReDim fileList(fileCount)\r\ni = 0\r\nFor Each file in folder.Files\r\n\tfileExt = lcase(mid(file.name, InStrRev(file.name, \".\") + 1))\r\n\tisDir = False\r\n\thasFile = False\r\n\tfilesize = file.size\r\n\tisPhoto = (instr(lcase(fileTypes), fileExt) > 0)\r\n\tfiletype = fileExt\r\n\tfilename = file.name\r\n\tdatetime = FormatDate(file.DateLastModified)\r\n\tfileList(i) = Array(isDir, hasFile, filesize, isPhoto, filetype, filename, datetime)\r\n\ti = i + 1\r\nNext\r\n\r\n'排序\r\nDim minidx, temp\r\nFor i = 0 To dirCount - 2\r\n\tminidx = i\r\n\tFor j = i + 1 To dirCount - 1\r\n\t\tIf (dirList(minidx)(5) > dirList(j)(5)) Then\r\n\t\t\tminidx = j\r\n\t\tEnd If\r\n\tNext\r\n\tIf minidx <> i Then\r\n\t\ttemp = dirList(minidx)\r\n\t\tdirList(minidx) = dirList(i)\r\n\t\tdirList(i) = temp\r\n\tEnd If\r\nNext\r\nFor i = 0 To fileCount - 2\r\n\tminidx = i\r\n\tFor j = i + 1 To fileCount - 1\r\n\t\tIf (fileList(minidx)(orderIndex) > fileList(j)(orderIndex)) Then\r\n\t\t\tminidx = j\r\n\t\tEnd If\r\n\tNext\r\n\tIf minidx <> i Then\r\n\t\ttemp = fileList(minidx)\r\n\t\tfileList(minidx) = fileList(i)\r\n\t\tfileList(i) = temp\r\n\tEnd If\r\nNext\r\n\r\nSet result(\"file_list\") = jsArray()\r\nFor i = 0 To dirCount - 1\r\n\tSet result(\"file_list\")(Null) = jsObject()\r\n\tresult(\"file_list\")(Null)(\"is_dir\") = dirList(i)(0)\r\n\tresult(\"file_list\")(Null)(\"has_file\") = dirList(i)(1)\r\n\tresult(\"file_list\")(Null)(\"filesize\") = dirList(i)(2)\r\n\tresult(\"file_list\")(Null)(\"is_photo\") = dirList(i)(3)\r\n\tresult(\"file_list\")(Null)(\"filetype\") = dirList(i)(4)\r\n\tresult(\"file_list\")(Null)(\"filename\") = dirList(i)(5)\r\n\tresult(\"file_list\")(Null)(\"datetime\") = dirList(i)(6)\r\nNext\r\nFor i = 0 To fileCount - 1\r\n\tSet result(\"file_list\")(Null) = jsObject()\r\n\tresult(\"file_list\")(Null)(\"is_dir\") = fileList(i)(0)\r\n\tresult(\"file_list\")(Null)(\"has_file\") = fileList(i)(1)\r\n\tresult(\"file_list\")(Null)(\"filesize\") = fileList(i)(2)\r\n\tresult(\"file_list\")(Null)(\"is_photo\") = fileList(i)(3)\r\n\tresult(\"file_list\")(Null)(\"filetype\") = fileList(i)(4)\r\n\tresult(\"file_list\")(Null)(\"filename\") = fileList(i)(5)\r\n\tresult(\"file_list\")(Null)(\"datetime\") = fileList(i)(6)\r\nNext\r\n\r\n'输出JSON字符串\r\nResponse.AddHeader \"Content-Type\", \"text/html; charset=UTF-8\"\r\nresult.Flush\r\nResponse.End\r\n\r\n'自定义函数\r\nFunction DirectoryExists(dirPath)\r\n\tDim fso\r\n\tSet fso = Server.CreateObject(\"Scripting.FileSystemObject\")\r\n\tDirectoryExists = fso.FolderExists(dirPath)\r\nEnd Function\r\n\r\nFunction RegexIsMatch(subject, pattern)\r\n\tDim reg\r\n\tSet reg = New RegExp\r\n\treg.Global = True\r\n\treg.MultiLine = True\r\n\treg.Pattern = pattern\r\n\tRegexIsMatch = reg.Test(subject)\r\nEnd Function\r\n\r\nFunction RegexReplace(subject, pattern, replacement)\r\n\tDim reg\r\n\tSet reg = New RegExp\r\n\treg.Global = True\r\n\treg.MultiLine = True\r\n\treg.Pattern = pattern\r\n\tRegexReplace = reg.Replace(subject, replacement)\r\nEnd Function\r\n\r\nPublic Function FormatDate(datetime)\r\n\tDim y, m, d, h, i, s\r\n\ty = CStr(Year(datetime))\r\n\tm = CStr(Month(datetime))\r\n\tIf Len(m) = 1 Then m = \"0\" & m\r\n\td = CStr(Day(datetime))\r\n\tIf Len(d) = 1 Then d = \"0\" & d\r\n\th = CStr(Hour(datetime))\r\n\tIf Len(h) = 1 Then h = \"0\" & h\r\n\ti = CStr(Minute(datetime))\r\n\tIf Len(i) = 1 Then i = \"0\" & i\r\n\ts = CStr(Second(datetime))\r\n\tIf Len(s) = 1 Then s = \"0\" & s\r\n\tFormatDate = y & \"-\" & m & \"-\" & d & \" \" & h & \":\" & i & \":\" & s\r\nEnd Function\r\n%>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/asp/upload_json.asp",
    "content": "<%@ CODEPAGE=65001 %>\r\n<% Option Explicit %>\r\n<% Response.CodePage=65001 %>\r\n<% Response.Charset=\"UTF-8\" %>\r\n<!--#include file=\"UpLoad_Class.asp\"-->\r\n<!--#include file=\"JSON_2.0.4.asp\"-->\r\n<%\r\n\r\n' KindEditor ASP\r\n'\r\n' 本ASP程序是演示程序，建议不要直接在实际项目中使用。\r\n' 如果您确定直接使用本程序，使用之前请仔细确认相关安全设置。\r\n'\r\n\r\nDim aspUrl, savePath, saveUrl, maxSize, fileName, fileExt, newFileName, filePath, fileUrl, dirName\r\nDim extStr, imageExtStr, flashExtStr, mediaExtStr, fileExtStr\r\nDim upload, file, fso, ranNum, hash, ymd, mm, dd, result\r\n\r\naspUrl = Request.ServerVariables(\"SCRIPT_NAME\")\r\naspUrl = left(aspUrl, InStrRev(aspUrl, \"/\"))\r\n\r\n'文件保存目录路径\r\nsavePath = \"../attached/\"\r\n'文件保存目录URL\r\nsaveUrl = aspUrl & \"../attached/\"\r\n'定义允许上传的文件扩展名\r\nimageExtStr = \"gif|jpg|jpeg|png|bmp\"\r\nflashExtStr = \"swf|flv\"\r\nmediaExtStr = \"swf|flv|mp3|wav|wma|wmv|mid|avi|mpg|asf|rm|rmvb\"\r\nfileExtStr = \"doc|docx|xls|xlsx|ppt|htm|html|txt|zip|rar|gz|bz2\"\r\n'最大文件大小\r\nmaxSize = 5 * 1024 * 1024 '5M\r\n\r\nSet fso = Server.CreateObject(\"Scripting.FileSystemObject\")\r\nIf Not fso.FolderExists(Server.mappath(savePath)) Then\r\n\tshowError(\"上传目录不存在。\")\r\nEnd If\r\n\r\ndirName = Request.QueryString(\"dir\")\r\nIf isEmpty(dirName) Then\r\n\tdirName = \"image\"\r\nEnd If\r\nIf instr(lcase(\"image,flash,media,file\"), dirName) < 1 Then\r\n\tshowError(\"目录名不正确。\")\r\nEnd If\r\n\r\nSelect Case dirName\r\n\tCase \"flash\" extStr = flashExtStr\r\n\tCase \"media\" extStr = mediaExtStr\r\n\tCase \"file\" extStr = fileExtStr\r\n\tCase Else  extStr = imageExtStr\r\nEnd Select\r\n\r\nset upload = new AnUpLoad\r\nupload.Exe = extStr\r\nupload.MaxSize = maxSize\r\nupload.GetData()\r\nif upload.ErrorID>0 then \r\n\tshowError(upload.Description)\r\nend if\r\n\r\n'创建文件夹\r\nsavePath = savePath & dirName & \"/\"\r\nsaveUrl = saveUrl & dirName & \"/\"\r\nIf Not fso.FolderExists(Server.mappath(savePath)) Then\r\n\tfso.CreateFolder(Server.mappath(savePath))\r\nEnd If\r\nmm = month(now)\r\nIf mm < 10 Then\r\n\tmm = \"0\" & mm\r\nEnd If\r\ndd = day(now)\r\nIf dd < 10 Then\r\n\tdd = \"0\" & dd\r\nEnd If\r\nymd = year(now) & mm & dd\r\nsavePath = savePath & ymd & \"/\"\r\nsaveUrl = saveUrl & ymd & \"/\"\r\nIf Not fso.FolderExists(Server.mappath(savePath)) Then\r\n\tfso.CreateFolder(Server.mappath(savePath))\r\nEnd If\r\n\r\nset file = upload.files(\"imgFile\")\r\nif file is nothing then\r\n\tshowError(\"请选择文件。\")\r\nend if\r\n\r\nset result = file.saveToFile(savePath, 0, true)\r\nif result.error then\r\n\tshowError(file.Exception)\r\nend if\r\n\r\nfilePath = Server.mappath(savePath & file.filename)\r\nfileUrl = saveUrl & file.filename\r\n\r\nSet upload = nothing\r\nSet file = nothing\r\n\r\nIf Not fso.FileExists(filePath) Then\r\n\tshowError(\"上传文件失败。\")\r\nEnd If\r\n\r\nResponse.AddHeader \"Content-Type\", \"text/html; charset=UTF-8\"\r\nSet hash = jsObject()\r\nhash(\"error\") = 0\r\nhash(\"url\") = fileUrl\r\nhash.Flush\r\nResponse.End\r\n\r\nFunction showError(message)\r\n\tResponse.AddHeader \"Content-Type\", \"text/html; charset=UTF-8\"\r\n\tDim hash\r\n\tSet hash = jsObject()\r\n\thash(\"error\") = 1\r\n\thash(\"message\") = message\r\n\thash.Flush\r\n\tResponse.End\r\nEnd Function\r\n%>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/asp.net/README.txt",
    "content": "KindEditor ASP.NET\r\n\r\n本ASP.NET程序是演示程序，建议不要直接在实际项目中使用。\r\n如果您确定直接使用本程序，使用之前请仔细确认相关安全设置。\r\n \r\n使用方法:\r\n\r\n1. 解压zip文件，将所有文件复制到IIS的wwwroot/kindeditor目录下。\r\n\r\n2. 将kindeditor/asp.net/bin目录下的dll文件复制到wwwroot/bin目录下。\r\n\r\n3. 打开浏览器，输入http://localhost:[P0RT]/kindeditor/asp.net/demo.aspx。\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/asp.net/demo.aspx",
    "content": "﻿<%@ Page Language=\"C#\" AutoEventWireup=\"true\" validateRequest=\"false\" %>\r\n\r\n<script runat=\"server\">\r\nprotected void Page_Load(object sender, EventArgs e)\r\n{\r\n    this.Label1.Text = Request.Form[\"content1\"];\r\n}\r\n\r\n</script>\r\n\r\n<!doctype html>\r\n\r\n<html>\r\n<head runat=\"server\">\r\n    <meta charset=\"utf-8\" />\r\n    <title>KindEditor ASP.NET</title>\r\n    <link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t<link rel=\"stylesheet\" href=\"../plugins/code/prettify.css\" />\r\n\t<script charset=\"utf-8\" src=\"../kindeditor.js\"></script>\r\n\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t<script charset=\"utf-8\" src=\"../plugins/code/prettify.js\"></script>\r\n\t<script>\r\n\t\tKindEditor.ready(function(K) {\r\n\t\t\tvar editor1 = K.create('#content1', {\r\n\t\t\t\tcssPath : '../plugins/code/prettify.css',\r\n\t\t\t\tuploadJson : '../asp.net/upload_json.ashx',\r\n\t\t\t\tfileManagerJson : '../asp.net/file_manager_json.ashx',\r\n\t\t\t\tallowFileManager : true,\r\n\t\t\t\tafterCreate : function() {\r\n\t\t\t\t\tvar self = this;\r\n\t\t\t\t\tK.ctrl(document, 13, function() {\r\n\t\t\t\t\t\tself.sync();\r\n\t\t\t\t\t\tK('form[name=example]')[0].submit();\r\n\t\t\t\t\t});\r\n\t\t\t\t\tK.ctrl(self.edit.doc, 13, function() {\r\n\t\t\t\t\t\tself.sync();\r\n\t\t\t\t\t\tK('form[name=example]')[0].submit();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tprettyPrint();\r\n\t\t});\r\n\t</script>\r\n</head>\r\n<body>\r\n    <asp:Label ID=\"Label1\" runat=\"server\" Text=\"\"></asp:Label>\r\n    <form id=\"example\" runat=\"server\">\r\n        <textarea id=\"content1\" cols=\"100\" rows=\"8\" style=\"width:700px;height:200px;visibility:hidden;\" runat=\"server\"></textarea>\r\n        <br />\r\n        <asp:Button ID=\"Button1\" runat=\"server\" Text=\"提交内容\" /> (提交快捷键: Ctrl + Enter)\r\n    </form>\r\n</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/asp.net/file_manager_json.ashx",
    "content": "﻿<%@ webhandler Language=\"C#\" class=\"FileManager\" %>\r\n\r\n/**\r\n * KindEditor ASP.NET\r\n *\r\n * 本ASP.NET程序是演示程序，建议不要直接在实际项目中使用。\r\n * 如果您确定直接使用本程序，使用之前请仔细确认相关安全设置。\r\n *\r\n */\r\n\r\nusing System;\r\nusing System.Collections;\r\nusing System.Web;\r\nusing System.IO;\r\nusing System.Text.RegularExpressions;\r\nusing LitJson;\r\nusing System.Collections.Generic;\r\n\r\npublic class FileManager : IHttpHandler\r\n{\r\n\tpublic void ProcessRequest(HttpContext context)\r\n\t{\r\n\t\tString aspxUrl = context.Request.Path.Substring(0, context.Request.Path.LastIndexOf(\"/\") + 1);\r\n\r\n\t\t//根目录路径，相对路径\r\n\t\tString rootPath = \"../attached/\";\r\n\t\t//根目录URL，可以指定绝对路径，比如 http://www.yoursite.com/attached/\r\n\t\tString rootUrl = aspxUrl + \"../attached/\";\r\n\t\t//图片扩展名\r\n\t\tString fileTypes = \"gif,jpg,jpeg,png,bmp\";\r\n\r\n\t\tString currentPath = \"\";\r\n\t\tString currentUrl = \"\";\r\n\t\tString currentDirPath = \"\";\r\n\t\tString moveupDirPath = \"\";\r\n\r\n\t\tString dirPath = context.Server.MapPath(rootPath);\r\n\t\tString dirName = context.Request.QueryString[\"dir\"];\r\n\t\tif (!String.IsNullOrEmpty(dirName)) {\r\n\t\t\tif (Array.IndexOf(\"image,flash,media,file\".Split(','), dirName) == -1) {\r\n\t\t\t\tcontext.Response.Write(\"Invalid Directory name.\");\r\n\t\t\t\tcontext.Response.End();\r\n\t\t\t}\r\n\t\t\tdirPath += dirName + \"/\";\r\n\t\t\trootUrl += dirName + \"/\";\r\n\t\t\tif (!Directory.Exists(dirPath)) {\r\n\t\t\t\tDirectory.CreateDirectory(dirPath);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//根据path参数，设置各路径和URL\r\n\t\tString path = context.Request.QueryString[\"path\"];\r\n\t\tpath = String.IsNullOrEmpty(path) ? \"\" : path;\r\n\t\tif (path == \"\")\r\n\t\t{\r\n\t\t\tcurrentPath = dirPath;\r\n\t\t\tcurrentUrl = rootUrl;\r\n\t\t\tcurrentDirPath = \"\";\r\n\t\t\tmoveupDirPath = \"\";\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tcurrentPath = dirPath + path;\r\n\t\t\tcurrentUrl = rootUrl + path;\r\n\t\t\tcurrentDirPath = path;\r\n\t\t\tmoveupDirPath = Regex.Replace(currentDirPath, @\"(.*?)[^\\/]+\\/$\", \"$1\");\r\n\t\t}\r\n\r\n\t\t//排序形式，name or size or type\r\n\t\tString order = context.Request.QueryString[\"order\"];\r\n\t\torder = String.IsNullOrEmpty(order) ? \"\" : order.ToLower();\r\n\r\n\t\t//不允许使用..移动到上一级目录\r\n\t\tif (Regex.IsMatch(path, @\"\\.\\.\"))\r\n\t\t{\r\n\t\t\tcontext.Response.Write(\"Access is not allowed.\");\r\n\t\t\tcontext.Response.End();\r\n\t\t}\r\n\t\t//最后一个字符不是/\r\n\t\tif (path != \"\" && !path.EndsWith(\"/\"))\r\n\t\t{\r\n\t\t\tcontext.Response.Write(\"Parameter is not valid.\");\r\n\t\t\tcontext.Response.End();\r\n\t\t}\r\n\t\t//目录不存在或不是目录\r\n\t\tif (!Directory.Exists(currentPath))\r\n\t\t{\r\n\t\t\tcontext.Response.Write(\"Directory does not exist.\");\r\n\t\t\tcontext.Response.End();\r\n\t\t}\r\n\r\n\t\t//遍历目录取得文件信息\r\n\t\tstring[] dirList = Directory.GetDirectories(currentPath);\r\n\t\tstring[] fileList = Directory.GetFiles(currentPath);\r\n\r\n\t\tswitch (order)\r\n\t\t{\r\n\t\t\tcase \"size\":\r\n\t\t\t\tArray.Sort(dirList, new NameSorter());\r\n\t\t\t\tArray.Sort(fileList, new SizeSorter());\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"type\":\r\n\t\t\t\tArray.Sort(dirList, new NameSorter());\r\n\t\t\t\tArray.Sort(fileList, new TypeSorter());\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"name\":\r\n\t\t\tdefault:\r\n\t\t\t\tArray.Sort(dirList, new NameSorter());\r\n\t\t\t\tArray.Sort(fileList, new NameSorter());\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tHashtable result = new Hashtable();\r\n\t\tresult[\"moveup_dir_path\"] = moveupDirPath;\r\n\t\tresult[\"current_dir_path\"] = currentDirPath;\r\n\t\tresult[\"current_url\"] = currentUrl;\r\n\t\tresult[\"total_count\"] = dirList.Length + fileList.Length;\r\n\t\tList<Hashtable> dirFileList = new List<Hashtable>();\r\n\t\tresult[\"file_list\"] = dirFileList;\r\n\t\tfor (int i = 0; i < dirList.Length; i++)\r\n\t\t{\r\n\t\t\tDirectoryInfo dir = new DirectoryInfo(dirList[i]);\r\n\t\t\tHashtable hash = new Hashtable();\r\n\t\t\thash[\"is_dir\"] = true;\r\n\t\t\thash[\"has_file\"] = (dir.GetFileSystemInfos().Length > 0);\r\n\t\t\thash[\"filesize\"] = 0;\r\n\t\t\thash[\"is_photo\"] = false;\r\n\t\t\thash[\"filetype\"] = \"\";\r\n\t\t\thash[\"filename\"] = dir.Name;\r\n\t\t\thash[\"datetime\"] = dir.LastWriteTime.ToString(\"yyyy-MM-dd HH:mm:ss\");\r\n\t\t\tdirFileList.Add(hash);\r\n\t\t}\r\n\t\tfor (int i = 0; i < fileList.Length; i++)\r\n\t\t{\r\n\t\t\tFileInfo file = new FileInfo(fileList[i]);\r\n\t\t\tHashtable hash = new Hashtable();\r\n\t\t\thash[\"is_dir\"] = false;\r\n\t\t\thash[\"has_file\"] = false;\r\n\t\t\thash[\"filesize\"] = file.Length;\r\n\t\t\thash[\"is_photo\"] = (Array.IndexOf(fileTypes.Split(','), file.Extension.Substring(1).ToLower()) >= 0);\r\n\t\t\thash[\"filetype\"] = file.Extension.Substring(1);\r\n\t\t\thash[\"filename\"] = file.Name;\r\n\t\t\thash[\"datetime\"] = file.LastWriteTime.ToString(\"yyyy-MM-dd HH:mm:ss\");\r\n\t\t\tdirFileList.Add(hash);\r\n\t\t}\r\n\t\tcontext.Response.AddHeader(\"Content-Type\", \"application/json; charset=UTF-8\");\r\n\t\tcontext.Response.Write(JsonMapper.ToJson(result));\r\n\t\tcontext.Response.End();\r\n\t}\r\n\r\n\tpublic class NameSorter : IComparer\r\n\t{\r\n\t\tpublic int Compare(object x, object y)\r\n\t\t{\r\n\t\t\tif (x == null && y == null)\r\n\t\t\t{\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t\tif (x == null)\r\n\t\t\t{\r\n\t\t\t\treturn -1;\r\n\t\t\t}\r\n\t\t\tif (y == null)\r\n\t\t\t{\r\n\t\t\t\treturn 1;\r\n\t\t\t}\r\n\t\t\tFileInfo xInfo = new FileInfo(x.ToString());\r\n\t\t\tFileInfo yInfo = new FileInfo(y.ToString());\r\n\r\n\t\t\treturn xInfo.FullName.CompareTo(yInfo.FullName);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic class SizeSorter : IComparer\r\n\t{\r\n\t\tpublic int Compare(object x, object y)\r\n\t\t{\r\n\t\t\tif (x == null && y == null)\r\n\t\t\t{\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t\tif (x == null)\r\n\t\t\t{\r\n\t\t\t\treturn -1;\r\n\t\t\t}\r\n\t\t\tif (y == null)\r\n\t\t\t{\r\n\t\t\t\treturn 1;\r\n\t\t\t}\r\n\t\t\tFileInfo xInfo = new FileInfo(x.ToString());\r\n\t\t\tFileInfo yInfo = new FileInfo(y.ToString());\r\n\r\n\t\t\treturn xInfo.Length.CompareTo(yInfo.Length);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic class TypeSorter : IComparer\r\n\t{\r\n\t\tpublic int Compare(object x, object y)\r\n\t\t{\r\n\t\t\tif (x == null && y == null)\r\n\t\t\t{\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t\tif (x == null)\r\n\t\t\t{\r\n\t\t\t\treturn -1;\r\n\t\t\t}\r\n\t\t\tif (y == null)\r\n\t\t\t{\r\n\t\t\t\treturn 1;\r\n\t\t\t}\r\n\t\t\tFileInfo xInfo = new FileInfo(x.ToString());\r\n\t\t\tFileInfo yInfo = new FileInfo(y.ToString());\r\n\r\n\t\t\treturn xInfo.Extension.CompareTo(yInfo.Extension);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic bool IsReusable\r\n\t{\r\n\t\tget\r\n\t\t{\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/asp.net/upload_json.ashx",
    "content": "﻿<%@ webhandler Language=\"C#\" class=\"Upload\" %>\r\n\r\n/**\r\n * KindEditor ASP.NET\r\n *\r\n * 本ASP.NET程序是演示程序，建议不要直接在实际项目中使用。\r\n * 如果您确定直接使用本程序，使用之前请仔细确认相关安全设置。\r\n *\r\n */\r\n\r\nusing System;\r\nusing System.Collections;\r\nusing System.Web;\r\nusing System.IO;\r\nusing System.Globalization;\r\nusing LitJson;\r\n\r\npublic class Upload : IHttpHandler\r\n{\r\n\tprivate HttpContext context;\r\n\r\n\tpublic void ProcessRequest(HttpContext context)\r\n\t{\r\n\t\tString aspxUrl = context.Request.Path.Substring(0, context.Request.Path.LastIndexOf(\"/\") + 1);\r\n\t\t\r\n\t\t//文件保存目录路径\r\n\t\tString savePath = \"../attached/\";\r\n\r\n\t\t//文件保存目录URL\r\n\t\tString saveUrl = aspxUrl + \"../attached/\";\r\n\r\n\t\t//定义允许上传的文件扩展名\r\n\t\tHashtable extTable = new Hashtable();\r\n\t\textTable.Add(\"image\", \"gif,jpg,jpeg,png,bmp\");\r\n\t\textTable.Add(\"flash\", \"swf,flv\");\r\n\t\textTable.Add(\"media\", \"swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb\");\r\n\t\textTable.Add(\"file\", \"doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2\");\r\n\r\n\t\t//最大文件大小\r\n\t\tint maxSize = 1000000;\r\n\t\tthis.context = context;\r\n\r\n\t\tHttpPostedFile imgFile = context.Request.Files[\"imgFile\"];\r\n\t\tif (imgFile == null)\r\n\t\t{\r\n\t\t\tshowError(\"请选择文件。\");\r\n\t\t}\r\n\r\n\t\tString dirPath = context.Server.MapPath(savePath);\r\n\t\tif (!Directory.Exists(dirPath))\r\n\t\t{\r\n\t\t\tshowError(\"上传目录不存在。\");\r\n\t\t}\r\n\r\n\t\tString dirName = context.Request.QueryString[\"dir\"];\r\n\t\tif (String.IsNullOrEmpty(dirName)) {\r\n\t\t\tdirName = \"image\";\r\n\t\t}\r\n\t\tif (!extTable.ContainsKey(dirName)) {\r\n\t\t\tshowError(\"目录名不正确。\");\r\n\t\t}\r\n\r\n\t\tString fileName = imgFile.FileName;\r\n\t\tString fileExt = Path.GetExtension(fileName).ToLower();\r\n\r\n\t\tif (imgFile.InputStream == null || imgFile.InputStream.Length > maxSize)\r\n\t\t{\r\n\t\t\tshowError(\"上传文件大小超过限制。\");\r\n\t\t}\r\n\r\n\t\tif (String.IsNullOrEmpty(fileExt) || Array.IndexOf(((String)extTable[dirName]).Split(','), fileExt.Substring(1).ToLower()) == -1)\r\n\t\t{\r\n\t\t\tshowError(\"上传文件扩展名是不允许的扩展名。\\n只允许\" + ((String)extTable[dirName]) + \"格式。\");\r\n\t\t}\r\n\r\n\t\t//创建文件夹\r\n\t\tdirPath += dirName + \"/\";\r\n\t\tsaveUrl += dirName + \"/\";\r\n\t\tif (!Directory.Exists(dirPath)) {\r\n\t\t\tDirectory.CreateDirectory(dirPath);\r\n\t\t}\r\n\t\tString ymd = DateTime.Now.ToString(\"yyyyMMdd\", DateTimeFormatInfo.InvariantInfo);\r\n\t\tdirPath += ymd + \"/\";\r\n\t\tsaveUrl += ymd + \"/\";\r\n\t\tif (!Directory.Exists(dirPath)) {\r\n\t\t\tDirectory.CreateDirectory(dirPath);\r\n\t\t}\r\n\r\n\t\tString newFileName = DateTime.Now.ToString(\"yyyyMMddHHmmss_ffff\", DateTimeFormatInfo.InvariantInfo) + fileExt;\r\n\t\tString filePath = dirPath + newFileName;\r\n\r\n\t\timgFile.SaveAs(filePath);\r\n\r\n\t\tString fileUrl = saveUrl + newFileName;\r\n\r\n\t\tHashtable hash = new Hashtable();\r\n\t\thash[\"error\"] = 0;\r\n\t\thash[\"url\"] = fileUrl;\r\n\t\tcontext.Response.AddHeader(\"Content-Type\", \"text/html; charset=UTF-8\");\r\n\t\tcontext.Response.Write(JsonMapper.ToJson(hash));\r\n\t\tcontext.Response.End();\r\n\t}\r\n\r\n\tprivate void showError(string message)\r\n\t{\r\n\t\tHashtable hash = new Hashtable();\r\n\t\thash[\"error\"] = 1;\r\n\t\thash[\"message\"] = message;\r\n\t\tcontext.Response.AddHeader(\"Content-Type\", \"text/html; charset=UTF-8\");\r\n\t\tcontext.Response.Write(JsonMapper.ToJson(hash));\r\n\t\tcontext.Response.End();\r\n\t}\r\n\r\n\tpublic bool IsReusable\r\n\t{\r\n\t\tget\r\n\t\t{\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/auto-height.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Auto Height Examples</title>\r\n\t\t<style>\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script charset=\"utf-8\" src=\"../kindeditor-min.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tK.create('textarea[name=\"content\"]', {\r\n\t\t\t\t\tautoHeightMode : true,\r\n\t\t\t\t\tafterCreate : function() {\r\n\t\t\t\t\t\tthis.loadPlugin('autoheight');\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>自动调整高度</h3>\r\n\t\t<form>\r\n\t\t\t<textarea name=\"content\" style=\"width:800px;height:200px;\"></textarea>\r\n\t\t</form>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/colorpicker.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>ColorPicker Examples</title>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script src=\"../kindeditor-min.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tvar colorpicker;\r\n\t\t\t\tK('#colorpicker').bind('click', function(e) {\r\n\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\tif (colorpicker) {\r\n\t\t\t\t\t\tcolorpicker.remove();\r\n\t\t\t\t\t\tcolorpicker = null;\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar colorpickerPos = K('#colorpicker').pos();\r\n\t\t\t\t\tcolorpicker = K.colorpicker({\r\n\t\t\t\t\t\tx : colorpickerPos.x,\r\n\t\t\t\t\t\ty : colorpickerPos.y + K('#colorpicker').height(),\r\n\t\t\t\t\t\tz : 19811214,\r\n\t\t\t\t\t\tselectedColor : 'default',\r\n\t\t\t\t\t\tnoColor : '无颜色',\r\n\t\t\t\t\t\tclick : function(color) {\r\n\t\t\t\t\t\t\tK('#color').val(color);\r\n\t\t\t\t\t\t\tcolorpicker.remove();\r\n\t\t\t\t\t\t\tcolorpicker = null;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t\tK(document).click(function() {\r\n\t\t\t\t\tif (colorpicker) {\r\n\t\t\t\t\t\tcolorpicker.remove();\r\n\t\t\t\t\t\tcolorpicker = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<input type=\"text\" id=\"color\" value=\"\" /> <input type=\"button\" id=\"colorpicker\" value=\"打开取色器\" />\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/custom-plugin.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Custom Plugin Examples</title>\r\n\t\t<style>\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t\t.ke-icon-example1 {\r\n\t\t\t\tbackground-image: url(../themes/default/default.gif);\r\n\t\t\t\tbackground-position: 0px -672px;\r\n\t\t\t\twidth: 16px;\r\n\t\t\t\theight: 16px;\r\n\t\t\t}\r\n\t\t\t.ke-icon-example2 {\r\n\t\t\t\tbackground-image: url(../themes/default/default.gif);\r\n\t\t\t\tbackground-position: 0px -672px;\r\n\t\t\t\twidth: 16px;\r\n\t\t\t\theight: 16px;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script charset=\"utf-8\" src=\"../kindeditor-min.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\t// 自定义插件 #1\r\n\t\t\tKindEditor.lang({\r\n\t\t\t\texample1 : '插入HTML'\r\n\t\t\t});\r\n\t\t\tKindEditor.plugin('example1', function(K) {\r\n\t\t\t\tvar self = this, name = 'example1';\r\n\t\t\t\tself.clickToolbar(name, function() {\r\n\t\t\t\t\tself.insertHtml('<strong>测试内容</strong>');\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\t// 自定义插件 #2\r\n\t\t\tKindEditor.lang({\r\n\t\t\t\texample2 : 'CLASS样式'\r\n\t\t\t});\r\n\t\t\tKindEditor.plugin('example2', function(K) {\r\n\t\t\t\tvar self = this, name = 'example2';\r\n\t\t\t\tfunction click(value) {\r\n\t\t\t\t\tvar cmd = self.cmd;\r\n\t\t\t\t\tif (value === 'adv_strikethrough') {\r\n\t\t\t\t\t\tcmd.wrap('<span style=\"background-color:#e53333;text-decoration:line-through;\"></span>');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcmd.wrap('<span class=\"' + value + '\"></span>');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcmd.select();\r\n\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t}\r\n\t\t\t\tself.clickToolbar(name, function() {\r\n\t\t\t\t\tvar menu = self.createMenu({\r\n\t\t\t\t\t\tname : name,\r\n\t\t\t\t\t\twidth : 150\r\n\t\t\t\t\t});\r\n\t\t\t\t\tmenu.addItem({\r\n\t\t\t\t\t\ttitle : '红底白字',\r\n\t\t\t\t\t\tclick : function() {\r\n\t\t\t\t\t\t\tclick('red');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tmenu.addItem({\r\n\t\t\t\t\t\ttitle : '绿底白字',\r\n\t\t\t\t\t\tclick : function() {\r\n\t\t\t\t\t\t\tclick('green');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tmenu.addItem({\r\n\t\t\t\t\t\ttitle : '黄底白字',\r\n\t\t\t\t\t\tclick : function() {\r\n\t\t\t\t\t\t\tclick('yellow');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tmenu.addItem({\r\n\t\t\t\t\t\ttitle : '自定义删除线',\r\n\t\t\t\t\t\tclick : function() {\r\n\t\t\t\t\t\t\tclick('adv_strikethrough');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tK.create('#content1', {\r\n\t\t\t\t\tcssPath : ['../plugins/code/prettify.css', 'index.css'],\r\n\t\t\t\t\titems : ['source', 'removeformat', 'example1', 'example2', 'code']\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>自定义插件</h3>\r\n\t\t<textarea id=\"content1\" name=\"content\" style=\"width:700px;height:200px;visibility:hidden;\"></textarea>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/custom-theme.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Custom Theme Examples</title>\r\n\t\t<style>\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script charset=\"utf-8\" src=\"../kindeditor-min.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tK.create('#content1', {\r\n\t\t\t\t\tthemeType : 'default'\r\n\t\t\t\t});\r\n\t\t\t\tK.create('#content2', {\r\n\t\t\t\t\tthemeType : 'simple'\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>默认风格</h3>\r\n\t\t<textarea id=\"content1\" name=\"content\" style=\"width:700px;height:200px;visibility:hidden;\"></textarea>\r\n\t\t<h3>简单风格</h3>\r\n\t\t<textarea id=\"content2\" name=\"content\" style=\"width:700px;height:200px;visibility:hidden;\"></textarea>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/default.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Default Examples</title>\r\n\t\t<style>\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script charset=\"utf-8\" src=\"../kindeditor-min.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\tvar editor;\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\teditor = K.create('textarea[name=\"content\"]', {\r\n\t\t\t\t\tallowFileManager : true\r\n\t\t\t\t});\r\n\t\t\t\tK('input[name=getHtml]').click(function(e) {\r\n\t\t\t\t\talert(editor.html());\r\n\t\t\t\t});\r\n\t\t\t\tK('input[name=isEmpty]').click(function(e) {\r\n\t\t\t\t\talert(editor.isEmpty());\r\n\t\t\t\t});\r\n\t\t\t\tK('input[name=getText]').click(function(e) {\r\n\t\t\t\t\talert(editor.text());\r\n\t\t\t\t});\r\n\t\t\t\tK('input[name=selectedHtml]').click(function(e) {\r\n\t\t\t\t\talert(editor.selectedHtml());\r\n\t\t\t\t});\r\n\t\t\t\tK('input[name=setHtml]').click(function(e) {\r\n\t\t\t\t\teditor.html('<h3>Hello KindEditor</h3>');\r\n\t\t\t\t});\r\n\t\t\t\tK('input[name=setText]').click(function(e) {\r\n\t\t\t\t\teditor.text('<h3>Hello KindEditor</h3>');\r\n\t\t\t\t});\r\n\t\t\t\tK('input[name=insertHtml]').click(function(e) {\r\n\t\t\t\t\teditor.insertHtml('<strong>插入HTML</strong>');\r\n\t\t\t\t});\r\n\t\t\t\tK('input[name=appendHtml]').click(function(e) {\r\n\t\t\t\t\teditor.appendHtml('<strong>添加HTML</strong>');\r\n\t\t\t\t});\r\n\t\t\t\tK('input[name=clear]').click(function(e) {\r\n\t\t\t\t\teditor.html('');\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>默认模式</h3>\r\n\t\t<form>\r\n\t\t\t<textarea name=\"content\" style=\"width:800px;height:400px;visibility:hidden;\">KindEditor</textarea>\r\n\t\t\t<p>\r\n\t\t\t\t<input type=\"button\" name=\"getHtml\" value=\"取得HTML\" />\r\n\t\t\t\t<input type=\"button\" name=\"isEmpty\" value=\"判断是否为空\" />\r\n\t\t\t\t<input type=\"button\" name=\"getText\" value=\"取得文本(包含img,embed)\" />\r\n\t\t\t\t<input type=\"button\" name=\"selectedHtml\" value=\"取得选中HTML\" />\r\n\t\t\t\t<br />\r\n\t\t\t\t<br />\r\n\t\t\t\t<input type=\"button\" name=\"setHtml\" value=\"设置HTML\" />\r\n\t\t\t\t<input type=\"button\" name=\"setText\" value=\"设置文本\" />\r\n\t\t\t\t<input type=\"button\" name=\"insertHtml\" value=\"插入HTML\" />\r\n\t\t\t\t<input type=\"button\" name=\"appendHtml\" value=\"添加HTML\" />\r\n\t\t\t\t<input type=\"button\" name=\"clear\" value=\"清空内容\" />\r\n\t\t\t\t<input type=\"reset\" name=\"reset\" value=\"Reset\" />\r\n\t\t\t</p>\r\n\t\t</form>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/dialog.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Dialog Examples</title>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script src=\"../kindeditor.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tK('#create1').click(function() {\r\n\t\t\t\t\tvar dialog = K.dialog({\r\n\t\t\t\t\t\twidth : 500,\r\n\t\t\t\t\t\ttitle : '测试窗口',\r\n\t\t\t\t\t\tbody : '<div style=\"margin:10px;\"><strong>内容</strong></div>',\r\n\t\t\t\t\t\tcloseBtn : {\r\n\t\t\t\t\t\t\tname : '关闭',\r\n\t\t\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\t\t\tdialog.remove();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tyesBtn : {\r\n\t\t\t\t\t\t\tname : '确定',\r\n\t\t\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\t\t\talert(this.value);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tnoBtn : {\r\n\t\t\t\t\t\t\tname : '取消',\r\n\t\t\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\t\t\tdialog.remove();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<input type=\"button\" id=\"create1\" value=\"打开弹出框\" />\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/dynamic-load.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Dynamic Load Examples</title>\r\n\t\t<style>\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<script charset=\"utf-8\" src=\"jquery.js\"></script>\r\n\t\t<script>\r\n\t\t\t$(function() {\r\n\t\t\t\t$('input[name=load]').click(function() {\r\n\t\t\t\t\t$.getScript('../kindeditor-min.js', function() {\r\n\t\t\t\t\t\tKindEditor.basePath = '../';\r\n\t\t\t\t\t\tKindEditor.create('textarea[name=\"content\"]');\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t\t$('input[name=remove]').click(function() {\r\n\t\t\t\t\tKindEditor.remove('textarea[name=\"content\"]');\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>异步加载</h3>\r\n\t\t<form>\r\n\t\t\t<textarea name=\"content\" style=\"width:800px;height:200px;\"></textarea>\r\n\t\t\t<p>\r\n\t\t\t\t<input type=\"button\" name=\"load\" value=\"加载JS并创建编辑器\" />\r\n\t\t\t\t<input type=\"button\" name=\"remove\" value=\"删除编辑器\" />\r\n\t\t\t</p>\r\n\t\t</form>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/file-dialog.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>fileDialog Examples</title>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script src=\"../kindeditor.js\"></script>\r\n\t\t<script src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tvar editor = K.editor({\r\n\t\t\t\t\tallowFileManager : true\r\n\t\t\t\t});\r\n\t\t\t\tK('#insertfile').click(function() {\r\n\t\t\t\t\teditor.loadPlugin('insertfile', function() {\r\n\t\t\t\t\t\teditor.plugin.fileDialog({\r\n\t\t\t\t\t\t\tfileUrl : K('#url').val(),\r\n\t\t\t\t\t\t\tclickFn : function(url, title) {\r\n\t\t\t\t\t\t\t\tK('#url').val(url);\r\n\t\t\t\t\t\t\t\teditor.hideDialog();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<input type=\"text\" id=\"url\" value=\"\" /> <input type=\"button\" id=\"insertfile\" value=\"选择文件\" />\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/file-manager.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>FileManager Examples</title>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script src=\"../kindeditor.js\"></script>\r\n\t\t<script src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tvar editor = K.editor({\r\n\t\t\t\t\tfileManagerJson : '../php/file_manager_json.php'\r\n\t\t\t\t});\r\n\t\t\t\tK('#filemanager').click(function() {\r\n\t\t\t\t\teditor.loadPlugin('filemanager', function() {\r\n\t\t\t\t\t\teditor.plugin.filemanagerDialog({\r\n\t\t\t\t\t\t\tviewType : 'VIEW',\r\n\t\t\t\t\t\t\tdirName : 'image',\r\n\t\t\t\t\t\t\tclickFn : function(url, title) {\r\n\t\t\t\t\t\t\t\tK('#url').val(url);\r\n\t\t\t\t\t\t\t\teditor.hideDialog();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<input type=\"text\" id=\"url\" value=\"\" /> <input type=\"button\" id=\"filemanager\" value=\"浏览服务器\" />\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/filter-mode.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Filter Mode Examples</title>\r\n\t\t<style>\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script charset=\"utf-8\" src=\"../kindeditor-min.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tK.create('textarea[name=\"content\"]', {\r\n\t\t\t\t\tfilterMode : false\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>关闭HTML过滤</h3>\r\n\t\t<form>\r\n\t\t\t<textarea name=\"content\" style=\"width:800px;height:200px;\"></textarea>\r\n\t\t\t<p>\r\n\t\t\t\tKindEditor 默认采用白名单过滤方式，可用 htmlTags 参数定义要保留的标签和属性。当然也可以用 filterMode 参数关闭过滤模式，保留所有标签。\r\n\t\t\t</p>\r\n\t\t</form>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/image-dialog.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>ImageDialog Examples</title>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script src=\"../kindeditor.js\"></script>\r\n\t\t<script src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tvar editor = K.editor({\r\n\t\t\t\t\tallowFileManager : true\r\n\t\t\t\t});\r\n\t\t\t\tK('#image1').click(function() {\r\n\t\t\t\t\teditor.loadPlugin('image', function() {\r\n\t\t\t\t\t\teditor.plugin.imageDialog({\r\n\t\t\t\t\t\t\timageUrl : K('#url1').val(),\r\n\t\t\t\t\t\t\tclickFn : function(url, title, width, height, border, align) {\r\n\t\t\t\t\t\t\t\tK('#url1').val(url);\r\n\t\t\t\t\t\t\t\teditor.hideDialog();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t\tK('#image2').click(function() {\r\n\t\t\t\t\teditor.loadPlugin('image', function() {\r\n\t\t\t\t\t\teditor.plugin.imageDialog({\r\n\t\t\t\t\t\t\tshowLocal : false,\r\n\t\t\t\t\t\t\timageUrl : K('#url2').val(),\r\n\t\t\t\t\t\t\tclickFn : function(url, title, width, height, border, align) {\r\n\t\t\t\t\t\t\t\tK('#url2').val(url);\r\n\t\t\t\t\t\t\t\teditor.hideDialog();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t\tK('#image3').click(function() {\r\n\t\t\t\t\teditor.loadPlugin('image', function() {\r\n\t\t\t\t\t\teditor.plugin.imageDialog({\r\n\t\t\t\t\t\t\tshowRemote : false,\r\n\t\t\t\t\t\t\timageUrl : K('#url3').val(),\r\n\t\t\t\t\t\t\tclickFn : function(url, title, width, height, border, align) {\r\n\t\t\t\t\t\t\t\tK('#url3').val(url);\r\n\t\t\t\t\t\t\t\teditor.hideDialog();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<p><input type=\"text\" id=\"url1\" value=\"\" /> <input type=\"button\" id=\"image1\" value=\"选择图片\" />（网络图片 + 本地上传）</p>\r\n\t\t<p><input type=\"text\" id=\"url2\" value=\"\" /> <input type=\"button\" id=\"image2\" value=\"选择图片\" />（网络图片）</p>\r\n\t\t<p><input type=\"text\" id=\"url3\" value=\"\" /> <input type=\"button\" id=\"image3\" value=\"选择图片\" />（本地上传）</p>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/index.css",
    "content": ".ke-content {\r\n\tfont-size: 12px;\r\n\tbackground-color: #ffffff;\r\n}\r\n.ke-content table {\r\n\tborder-collapse:collapse;\r\n}\r\n.red {\r\n\tcolor: white;\r\n\tbackground-color: red;\r\n}\r\n.green {\r\n\tcolor: white;\r\n\tbackground-color: green;\r\n}\r\n.yellow {\r\n\tcolor: white;\r\n\tbackground-color: yellow;\r\n}"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/index.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>KindEditor Examples</title>\r\n\t\t<style>\r\n\t\t\tbody {\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t\tfont-family: Tahoma, Simsun;\r\n\t\t\t}\r\n\t\t\th3 {\r\n\t\t\t\tfont-size: 14px;\r\n\t\t\t}\r\n\t\t\ta {\r\n\t\t\t\tcolor: #1870a9;\r\n\t\t\t\ttext-decoration: none;\r\n\t\t\t}\r\n\t\t\ta:hover {\r\n\t\t\t\tcolor: #BC2A4D;\r\n\t\t\t}\r\n\t\t\tli {\r\n\t\t\t\tmargin: 5px;\r\n\t\t\t}\r\n\t\t</style>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>编辑器演示</h3>\r\n\t\t<ol>\r\n\t\t\t<li><a href=\"default.html\" target=\"_blank\">default.html</a> (默认模式)</li>\r\n\t\t\t<li><a href=\"simple.html\" target=\"_blank\">simple.html</a> (简单模式)</li>\r\n\t\t\t<li><a href=\"dynamic-load.html\" target=\"_blank\">dynamic-load.html</a> (异步加载)</li>\r\n\t\t\t<li><a href=\"multi-language.html\" target=\"_blank\">multi-language.html</a> (多语言)</li>\r\n\t\t\t<li><a href=\"readonly.html\" target=\"_blank\">readonly.html</a> (只读模式)</li>\r\n\t\t\t<li><a href=\"newline.html\" target=\"_blank\">newline.html</a> (回车换行设置)</li>\r\n\t\t\t<li><a href=\"word-count.html\" target=\"_blank\">word-count.html</a> (统计字数)</li>\r\n\t\t\t<li><a href=\"filter-mode.html\" target=\"_blank\">filter-mode.html</a> (关闭HTML过滤)</li>\r\n\t\t\t<li><a href=\"url-type.html\" target=\"_blank\">url-type.html</a> (URL设置)</li>\r\n\t\t\t<li><a href=\"paste-type.html\" target=\"_blank\">paste-type.html</a> (粘贴设置)</li>\r\n\t\t\t<li><a href=\"auto-height.html\" target=\"_blank\">auto-height.html</a> (自动调整高度)</li>\r\n\t\t\t<li><a href=\"custom-theme.html\" target=\"_blank\">custom-theme.html</a> (自定义风格)</li>\r\n\t\t\t<li><a href=\"qqstyle.html\" target=\"_blank\">qqstyle.html</a> (自定义风格 仿QQ邮箱)</li>\r\n\t\t\t<li><a href=\"custom-plugin.html\" target=\"_blank\">custom-plugin.html</a> (自定义插件)</li>\r\n\t\t</ol>\r\n\t\t<h3>使用其它类库</h3>\r\n\t\t<ol>\r\n\t\t\t<li><a href=\"jquery.html\" target=\"_blank\">jquery.html</a> (jQuery)</li>\r\n\t\t\t<li><a href=\"jquery-ui.html\" target=\"_blank\">jquery-ui.html</a> (jQuery UI)</li>\r\n\t\t</ol>\r\n\t\t<h3>单独调用组件</h3>\r\n\t\t<ol>\r\n\t\t\t<li><a href=\"node.html\" target=\"_blank\">node.html</a> (Node操作)</li>\r\n\t\t\t<li><a href=\"uploadbutton.html\" target=\"_blank\">uploadbutton.html</a> (上传按钮)</li>\r\n\t\t\t<li><a href=\"dialog.html\" target=\"_blank\">dialog.html</a> (弹出框)</li>\r\n\t\t\t<li><a href=\"colorpicker.html\" target=\"_blank\">colorpicker.html</a> (取色器)</li>\r\n\t\t\t<li><a href=\"file-manager.html\" target=\"_blank\">file-manager.html</a> (浏览服务器)</li>\r\n\t\t\t<li><a href=\"image-dialog.html\" target=\"_blank\">image-dialog.html</a> (上传图片弹出框)</li>\r\n\t\t\t<li><a href=\"multi-image-dialog.html\" target=\"_blank\">multi-image-dialog.html</a> (批量上传弹出框)</li>\r\n\t\t\t<li><a href=\"file-dialog.html\" target=\"_blank\">file-dialog.html</a> (上传文件弹出框)</li>\r\n\t\t</ol>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/jquery-ui/css/smoothness/jquery-ui-1.9.2.custom.css",
    "content": "/*! jQuery UI - v1.9.2 - 2012-11-23\n* http://jqueryui.com\n* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css\n* To view and modify this theme, visit http://jqueryui.com/themeroller/\n* Copyright (c) 2012 jQuery Foundation and other contributors Licensed MIT */\n\n/* Layout helpers\n----------------------------------*/\n.ui-helper-hidden { display: none; }\n.ui-helper-hidden-accessible { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }\n.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }\n.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: \"\"; display: table; }\n.ui-helper-clearfix:after { clear: both; }\n.ui-helper-clearfix { zoom: 1; }\n.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }\n\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-disabled { cursor: default !important; }\n\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Overlays */\n.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }\n.ui-accordion .ui-accordion-header { display: block; cursor: pointer; position: relative; margin-top: 2px; padding: .5em .5em .5em .7em; zoom: 1; }\n.ui-accordion .ui-accordion-icons { padding-left: 2.2em; }\n.ui-accordion .ui-accordion-noicons { padding-left: .7em; }\n.ui-accordion .ui-accordion-icons .ui-accordion-icons { padding-left: 2.2em; }\n.ui-accordion .ui-accordion-header .ui-accordion-header-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }\n.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; overflow: auto; zoom: 1; }\n.ui-autocomplete {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tcursor: default;\n}\n\n/* workarounds */\n* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */\n.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */\n.ui-button, .ui-button:link, .ui-button:visited, .ui-button:hover, .ui-button:active { text-decoration: none; }\n.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */\nbutton.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */\n.ui-button-icons-only { width: 3.4em; } \nbutton.ui-button-icons-only { width: 3.7em; } \n\n/*button text element */\n.ui-button .ui-button-text { display: block; line-height: 1.4;  }\n.ui-button-text-only .ui-button-text { padding: .4em 1em; }\n.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }\n.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }\n.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }\n.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }\n/* no icon support for input elements, provide padding by default */\ninput.ui-button { padding: .4em 1em; }\n\n/*button icon element(s) */\n.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }\n.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }\n.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }\n.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }\n.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }\n\n/*button sets*/\n.ui-buttonset { margin-right: 7px; }\n.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }\n\n/* workarounds */\nbutton.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */\n.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }\n.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }\n.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }\n.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }\n.ui-datepicker .ui-datepicker-prev { left:2px; }\n.ui-datepicker .ui-datepicker-next { right:2px; }\n.ui-datepicker .ui-datepicker-prev-hover { left:1px; }\n.ui-datepicker .ui-datepicker-next-hover { right:1px; }\n.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  }\n.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }\n.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }\n.ui-datepicker select.ui-datepicker-month-year {width: 100%;}\n.ui-datepicker select.ui-datepicker-month, \n.ui-datepicker select.ui-datepicker-year { width: 49%;}\n.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }\n.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }\n.ui-datepicker td { border: 0; padding: 1px; }\n.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }\n.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }\n.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }\n.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }\n\n/* with multiple calendars */\n.ui-datepicker.ui-datepicker-multi { width:auto; }\n.ui-datepicker-multi .ui-datepicker-group { float:left; }\n.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }\n.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }\n.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }\n.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }\n.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }\n.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }\n.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }\n.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }\n\n/* RTL support */\n.ui-datepicker-rtl { direction: rtl; }\n.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }\n.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }\n.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }\n.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }\n.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }\n.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }\n.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }\n.ui-datepicker-rtl .ui-datepicker-group { float:right; }\n.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }\n.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }\n\n/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */\n.ui-datepicker-cover {\n    position: absolute; /*must have*/\n    z-index: -1; /*must have*/\n    filter: mask(); /*must have*/\n    top: -4px; /*must have*/\n    left: -4px; /*must have*/\n    width: 200px; /*must have*/\n    height: 200px; /*must have*/\n}.ui-dialog { position: absolute; top: 0; left: 0; padding: .2em; width: 300px; overflow: hidden; }\n.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative;  }\n.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }\n.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }\n.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }\n.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }\n.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }\n.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }\n.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }\n.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }\n.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }\n.ui-draggable .ui-dialog-titlebar { cursor: move; }\n.ui-menu { list-style:none; padding: 2px; margin: 0; display:block; outline: none; }\n.ui-menu .ui-menu { margin-top: -3px; position: absolute; }\n.ui-menu .ui-menu-item { margin: 0; padding: 0; zoom: 1; width: 100%; }\n.ui-menu .ui-menu-divider { margin: 5px -2px 5px -2px; height: 0; font-size: 0; line-height: 0; border-width: 1px 0 0 0; }\n.ui-menu .ui-menu-item a { text-decoration: none; display: block; padding: 2px .4em; line-height: 1.5; zoom: 1; font-weight: normal; }\n.ui-menu .ui-menu-item a.ui-state-focus,\n.ui-menu .ui-menu-item a.ui-state-active { font-weight: normal; margin: -1px; }\n\n.ui-menu .ui-state-disabled { font-weight: normal; margin: .4em 0 .2em; line-height: 1.5; }\n.ui-menu .ui-state-disabled a { cursor: default; }\n\n/* icon support */\n.ui-menu-icons { position: relative; }\n.ui-menu-icons .ui-menu-item a { position: relative; padding-left: 2em; }\n\n/* left-aligned */\n.ui-menu .ui-icon { position: absolute; top: .2em; left: .2em; }\n\n/* right-aligned */\n.ui-menu .ui-menu-icon { position: static; float: right; }\n.ui-progressbar { height:2em; text-align: left; overflow: hidden; }\n.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }.ui-resizable { position: relative;}\n.ui-resizable-handle { position: absolute;font-size: 0.1px; display: block; }\n.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }\n.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }\n.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }\n.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }\n.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }\n.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }\n.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }\n.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }\n.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }\n.ui-slider { position: relative; text-align: left; }\n.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }\n.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }\n\n.ui-slider-horizontal { height: .8em; }\n.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }\n.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }\n.ui-slider-horizontal .ui-slider-range-min { left: 0; }\n.ui-slider-horizontal .ui-slider-range-max { right: 0; }\n\n.ui-slider-vertical { width: .8em; height: 100px; }\n.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }\n.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }\n.ui-slider-vertical .ui-slider-range-min { bottom: 0; }\n.ui-slider-vertical .ui-slider-range-max { top: 0; }.ui-spinner { position:relative; display: inline-block; overflow: hidden; padding: 0; vertical-align: middle; }\n.ui-spinner-input { border: none; background: none; padding: 0; margin: .2em 0; vertical-align: middle; margin-left: .4em; margin-right: 22px; }\n.ui-spinner-button { width: 16px; height: 50%; font-size: .5em; padding: 0; margin: 0; text-align: center; position: absolute; cursor: default; display: block; overflow: hidden; right: 0; }\n.ui-spinner a.ui-spinner-button { border-top: none; border-bottom: none; border-right: none; } /* more specificity required here to overide default borders */\n.ui-spinner .ui-icon { position: absolute; margin-top: -8px; top: 50%; left: 0; } /* vertical centre icon */\n.ui-spinner-up { top: 0; }\n.ui-spinner-down { bottom: 0; }\n\n/* TR overrides */\n.ui-spinner .ui-icon-triangle-1-s {\n\t/* need to fix icons sprite */\n\tbackground-position:-65px -16px;\n}\n.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as \"fixed\") */\n.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }\n.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 0; margin: 1px .2em 0 0; border-bottom: 0; padding: 0; white-space: nowrap; }\n.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }\n.ui-tabs .ui-tabs-nav li.ui-tabs-active { margin-bottom: -1px; padding-bottom: 1px; }\n.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a { cursor: text; }\n.ui-tabs .ui-tabs-nav li a, .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */\n.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }\n.ui-tooltip {\n\tpadding: 8px;\n\tposition: absolute;\n\tz-index: 9999;\n\tmax-width: 300px;\n\t-webkit-box-shadow: 0 0 5px #aaa;\n\tbox-shadow: 0 0 5px #aaa;\n}\n/* Fades and background-images don't work well together in IE6, drop the image */\n* html .ui-tooltip {\n\tbackground-image: none;\n}\nbody .ui-tooltip { border-width: 2px; }\n\n/* Component containers\n----------------------------------*/\n.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }\n.ui-widget .ui-widget { font-size: 1em; }\n.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }\n.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }\n.ui-widget-content a { color: #222222; }\n.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }\n.ui-widget-header a { color: #222222; }\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }\n.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }\n.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }\n.ui-state-hover a, .ui-state-hover a:hover, .ui-state-hover a:link, .ui-state-hover a:visited { color: #212121; text-decoration: none; }\n.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }\n.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }\n.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }\n.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }\n.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }\n.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }\n.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }\n.ui-priority-secondary, .ui-widget-content .ui-priority-secondary,  .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }\n.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }\n.ui-state-disabled .ui-icon { filter:Alpha(Opacity=35); } /* For IE8 - See #6059 */\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }\n.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }\n.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }\n.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }\n.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }\n.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }\n.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }\n.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }\n\n/* positioning */\n.ui-icon-carat-1-n { background-position: 0 0; }\n.ui-icon-carat-1-ne { background-position: -16px 0; }\n.ui-icon-carat-1-e { background-position: -32px 0; }\n.ui-icon-carat-1-se { background-position: -48px 0; }\n.ui-icon-carat-1-s { background-position: -64px 0; }\n.ui-icon-carat-1-sw { background-position: -80px 0; }\n.ui-icon-carat-1-w { background-position: -96px 0; }\n.ui-icon-carat-1-nw { background-position: -112px 0; }\n.ui-icon-carat-2-n-s { background-position: -128px 0; }\n.ui-icon-carat-2-e-w { background-position: -144px 0; }\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\n.ui-icon-triangle-1-s { background-position: -64px -16px; }\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\n.ui-icon-arrow-1-s { background-position: -64px -32px; }\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n.ui-icon-arrowthick-1-n { background-position: 0 -48px; }\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\n.ui-icon-arrow-4 { background-position: 0 -80px; }\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\n.ui-icon-extlink { background-position: -32px -80px; }\n.ui-icon-newwin { background-position: -48px -80px; }\n.ui-icon-refresh { background-position: -64px -80px; }\n.ui-icon-shuffle { background-position: -80px -80px; }\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\n.ui-icon-folder-open { background-position: -16px -96px; }\n.ui-icon-document { background-position: -32px -96px; }\n.ui-icon-document-b { background-position: -48px -96px; }\n.ui-icon-note { background-position: -64px -96px; }\n.ui-icon-mail-closed { background-position: -80px -96px; }\n.ui-icon-mail-open { background-position: -96px -96px; }\n.ui-icon-suitcase { background-position: -112px -96px; }\n.ui-icon-comment { background-position: -128px -96px; }\n.ui-icon-person { background-position: -144px -96px; }\n.ui-icon-print { background-position: -160px -96px; }\n.ui-icon-trash { background-position: -176px -96px; }\n.ui-icon-locked { background-position: -192px -96px; }\n.ui-icon-unlocked { background-position: -208px -96px; }\n.ui-icon-bookmark { background-position: -224px -96px; }\n.ui-icon-tag { background-position: -240px -96px; }\n.ui-icon-home { background-position: 0 -112px; }\n.ui-icon-flag { background-position: -16px -112px; }\n.ui-icon-calendar { background-position: -32px -112px; }\n.ui-icon-cart { background-position: -48px -112px; }\n.ui-icon-pencil { background-position: -64px -112px; }\n.ui-icon-clock { background-position: -80px -112px; }\n.ui-icon-disk { background-position: -96px -112px; }\n.ui-icon-calculator { background-position: -112px -112px; }\n.ui-icon-zoomin { background-position: -128px -112px; }\n.ui-icon-zoomout { background-position: -144px -112px; }\n.ui-icon-search { background-position: -160px -112px; }\n.ui-icon-wrench { background-position: -176px -112px; }\n.ui-icon-gear { background-position: -192px -112px; }\n.ui-icon-heart { background-position: -208px -112px; }\n.ui-icon-star { background-position: -224px -112px; }\n.ui-icon-link { background-position: -240px -112px; }\n.ui-icon-cancel { background-position: 0 -128px; }\n.ui-icon-plus { background-position: -16px -128px; }\n.ui-icon-plusthick { background-position: -32px -128px; }\n.ui-icon-minus { background-position: -48px -128px; }\n.ui-icon-minusthick { background-position: -64px -128px; }\n.ui-icon-close { background-position: -80px -128px; }\n.ui-icon-closethick { background-position: -96px -128px; }\n.ui-icon-key { background-position: -112px -128px; }\n.ui-icon-lightbulb { background-position: -128px -128px; }\n.ui-icon-scissors { background-position: -144px -128px; }\n.ui-icon-clipboard { background-position: -160px -128px; }\n.ui-icon-copy { background-position: -176px -128px; }\n.ui-icon-contact { background-position: -192px -128px; }\n.ui-icon-image { background-position: -208px -128px; }\n.ui-icon-video { background-position: -224px -128px; }\n.ui-icon-script { background-position: -240px -128px; }\n.ui-icon-alert { background-position: 0 -144px; }\n.ui-icon-info { background-position: -16px -144px; }\n.ui-icon-notice { background-position: -32px -144px; }\n.ui-icon-help { background-position: -48px -144px; }\n.ui-icon-check { background-position: -64px -144px; }\n.ui-icon-bullet { background-position: -80px -144px; }\n.ui-icon-radio-on { background-position: -96px -144px; }\n.ui-icon-radio-off { background-position: -112px -144px; }\n.ui-icon-pin-w { background-position: -128px -144px; }\n.ui-icon-pin-s { background-position: -144px -144px; }\n.ui-icon-play { background-position: 0 -160px; }\n.ui-icon-pause { background-position: -16px -160px; }\n.ui-icon-seek-next { background-position: -32px -160px; }\n.ui-icon-seek-prev { background-position: -48px -160px; }\n.ui-icon-seek-end { background-position: -64px -160px; }\n.ui-icon-seek-start { background-position: -80px -160px; }\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n.ui-icon-seek-first { background-position: -80px -160px; }\n.ui-icon-stop { background-position: -96px -160px; }\n.ui-icon-eject { background-position: -112px -160px; }\n.ui-icon-volume-off { background-position: -128px -160px; }\n.ui-icon-volume-on { background-position: -144px -160px; }\n.ui-icon-power { background-position: 0 -176px; }\n.ui-icon-signal-diag { background-position: -16px -176px; }\n.ui-icon-signal { background-position: -32px -176px; }\n.ui-icon-battery-0 { background-position: -48px -176px; }\n.ui-icon-battery-1 { background-position: -64px -176px; }\n.ui-icon-battery-2 { background-position: -80px -176px; }\n.ui-icon-battery-3 { background-position: -96px -176px; }\n.ui-icon-circle-plus { background-position: 0 -192px; }\n.ui-icon-circle-minus { background-position: -16px -192px; }\n.ui-icon-circle-close { background-position: -32px -192px; }\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\n.ui-icon-circle-check { background-position: -208px -192px; }\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Corner radius */\n.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }\n.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }\n.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }\n.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }\n\n/* Overlays */\n.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .3;filter:Alpha(Opacity=30); }\n.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .3;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/jquery-ui/js/jquery-ui-1.9.2.custom.js",
    "content": "/*! jQuery UI - v1.9.2 - 2012-11-23\n* http://jqueryui.com\n* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.effect.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js, jquery.ui.menu.js, jquery.ui.progressbar.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.slider.js, jquery.ui.sortable.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js\n* Copyright (c) 2012 jQuery Foundation and other contributors Licensed MIT */\n\n(function( $, undefined ) {\n\nvar uuid = 0,\n\truniqueId = /^ui-id-\\d+$/;\n\n// prevent duplicate loading\n// this is only a problem because we proxy existing functions\n// and we don't want to double proxy them\n$.ui = $.ui || {};\nif ( $.ui.version ) {\n\treturn;\n}\n\n$.extend( $.ui, {\n\tversion: \"1.9.2\",\n\n\tkeyCode: {\n\t\tBACKSPACE: 8,\n\t\tCOMMA: 188,\n\t\tDELETE: 46,\n\t\tDOWN: 40,\n\t\tEND: 35,\n\t\tENTER: 13,\n\t\tESCAPE: 27,\n\t\tHOME: 36,\n\t\tLEFT: 37,\n\t\tNUMPAD_ADD: 107,\n\t\tNUMPAD_DECIMAL: 110,\n\t\tNUMPAD_DIVIDE: 111,\n\t\tNUMPAD_ENTER: 108,\n\t\tNUMPAD_MULTIPLY: 106,\n\t\tNUMPAD_SUBTRACT: 109,\n\t\tPAGE_DOWN: 34,\n\t\tPAGE_UP: 33,\n\t\tPERIOD: 190,\n\t\tRIGHT: 39,\n\t\tSPACE: 32,\n\t\tTAB: 9,\n\t\tUP: 38\n\t}\n});\n\n// plugins\n$.fn.extend({\n\t_focus: $.fn.focus,\n\tfocus: function( delay, fn ) {\n\t\treturn typeof delay === \"number\" ?\n\t\t\tthis.each(function() {\n\t\t\t\tvar elem = this;\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t$( elem ).focus();\n\t\t\t\t\tif ( fn ) {\n\t\t\t\t\t\tfn.call( elem );\n\t\t\t\t\t}\n\t\t\t\t}, delay );\n\t\t\t}) :\n\t\t\tthis._focus.apply( this, arguments );\n\t},\n\n\tscrollParent: function() {\n\t\tvar scrollParent;\n\t\tif (($.ui.ie && (/(static|relative)/).test(this.css('position'))) || (/absolute/).test(this.css('position'))) {\n\t\t\tscrollParent = this.parents().filter(function() {\n\t\t\t\treturn (/(relative|absolute|fixed)/).test($.css(this,'position')) && (/(auto|scroll)/).test($.css(this,'overflow')+$.css(this,'overflow-y')+$.css(this,'overflow-x'));\n\t\t\t}).eq(0);\n\t\t} else {\n\t\t\tscrollParent = this.parents().filter(function() {\n\t\t\t\treturn (/(auto|scroll)/).test($.css(this,'overflow')+$.css(this,'overflow-y')+$.css(this,'overflow-x'));\n\t\t\t}).eq(0);\n\t\t}\n\n\t\treturn (/fixed/).test(this.css('position')) || !scrollParent.length ? $(document) : scrollParent;\n\t},\n\n\tzIndex: function( zIndex ) {\n\t\tif ( zIndex !== undefined ) {\n\t\t\treturn this.css( \"zIndex\", zIndex );\n\t\t}\n\n\t\tif ( this.length ) {\n\t\t\tvar elem = $( this[ 0 ] ), position, value;\n\t\t\twhile ( elem.length && elem[ 0 ] !== document ) {\n\t\t\t\t// Ignore z-index if position is set to a value where z-index is ignored by the browser\n\t\t\t\t// This makes behavior of this function consistent across browsers\n\t\t\t\t// WebKit always returns auto if the element is positioned\n\t\t\t\tposition = elem.css( \"position\" );\n\t\t\t\tif ( position === \"absolute\" || position === \"relative\" || position === \"fixed\" ) {\n\t\t\t\t\t// IE returns 0 when zIndex is not specified\n\t\t\t\t\t// other browsers return a string\n\t\t\t\t\t// we ignore the case of nested elements with an explicit value of 0\n\t\t\t\t\t// <div style=\"z-index: -10;\"><div style=\"z-index: 0;\"></div></div>\n\t\t\t\t\tvalue = parseInt( elem.css( \"zIndex\" ), 10 );\n\t\t\t\t\tif ( !isNaN( value ) && value !== 0 ) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telem = elem.parent();\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t},\n\n\tuniqueId: function() {\n\t\treturn this.each(function() {\n\t\t\tif ( !this.id ) {\n\t\t\t\tthis.id = \"ui-id-\" + (++uuid);\n\t\t\t}\n\t\t});\n\t},\n\n\tremoveUniqueId: function() {\n\t\treturn this.each(function() {\n\t\t\tif ( runiqueId.test( this.id ) ) {\n\t\t\t\t$( this ).removeAttr( \"id\" );\n\t\t\t}\n\t\t});\n\t}\n});\n\n// selectors\nfunction focusable( element, isTabIndexNotNaN ) {\n\tvar map, mapName, img,\n\t\tnodeName = element.nodeName.toLowerCase();\n\tif ( \"area\" === nodeName ) {\n\t\tmap = element.parentNode;\n\t\tmapName = map.name;\n\t\tif ( !element.href || !mapName || map.nodeName.toLowerCase() !== \"map\" ) {\n\t\t\treturn false;\n\t\t}\n\t\timg = $( \"img[usemap=#\" + mapName + \"]\" )[0];\n\t\treturn !!img && visible( img );\n\t}\n\treturn ( /input|select|textarea|button|object/.test( nodeName ) ?\n\t\t!element.disabled :\n\t\t\"a\" === nodeName ?\n\t\t\telement.href || isTabIndexNotNaN :\n\t\t\tisTabIndexNotNaN) &&\n\t\t// the element and all of its ancestors must be visible\n\t\tvisible( element );\n}\n\nfunction visible( element ) {\n\treturn $.expr.filters.visible( element ) &&\n\t\t!$( element ).parents().andSelf().filter(function() {\n\t\t\treturn $.css( this, \"visibility\" ) === \"hidden\";\n\t\t}).length;\n}\n\n$.extend( $.expr[ \":\" ], {\n\tdata: $.expr.createPseudo ?\n\t\t$.expr.createPseudo(function( dataName ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn !!$.data( elem, dataName );\n\t\t\t};\n\t\t}) :\n\t\t// support: jQuery <1.8\n\t\tfunction( elem, i, match ) {\n\t\t\treturn !!$.data( elem, match[ 3 ] );\n\t\t},\n\n\tfocusable: function( element ) {\n\t\treturn focusable( element, !isNaN( $.attr( element, \"tabindex\" ) ) );\n\t},\n\n\ttabbable: function( element ) {\n\t\tvar tabIndex = $.attr( element, \"tabindex\" ),\n\t\t\tisTabIndexNaN = isNaN( tabIndex );\n\t\treturn ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN );\n\t}\n});\n\n// support\n$(function() {\n\tvar body = document.body,\n\t\tdiv = body.appendChild( div = document.createElement( \"div\" ) );\n\n\t// access offsetHeight before setting the style to prevent a layout bug\n\t// in IE 9 which causes the element to continue to take up space even\n\t// after it is removed from the DOM (#8026)\n\tdiv.offsetHeight;\n\n\t$.extend( div.style, {\n\t\tminHeight: \"100px\",\n\t\theight: \"auto\",\n\t\tpadding: 0,\n\t\tborderWidth: 0\n\t});\n\n\t$.support.minHeight = div.offsetHeight === 100;\n\t$.support.selectstart = \"onselectstart\" in div;\n\n\t// set display to none to avoid a layout bug in IE\n\t// http://dev.jquery.com/ticket/4014\n\tbody.removeChild( div ).style.display = \"none\";\n});\n\n// support: jQuery <1.8\nif ( !$( \"<a>\" ).outerWidth( 1 ).jquery ) {\n\t$.each( [ \"Width\", \"Height\" ], function( i, name ) {\n\t\tvar side = name === \"Width\" ? [ \"Left\", \"Right\" ] : [ \"Top\", \"Bottom\" ],\n\t\t\ttype = name.toLowerCase(),\n\t\t\torig = {\n\t\t\t\tinnerWidth: $.fn.innerWidth,\n\t\t\t\tinnerHeight: $.fn.innerHeight,\n\t\t\t\touterWidth: $.fn.outerWidth,\n\t\t\t\touterHeight: $.fn.outerHeight\n\t\t\t};\n\n\t\tfunction reduce( elem, size, border, margin ) {\n\t\t\t$.each( side, function() {\n\t\t\t\tsize -= parseFloat( $.css( elem, \"padding\" + this ) ) || 0;\n\t\t\t\tif ( border ) {\n\t\t\t\t\tsize -= parseFloat( $.css( elem, \"border\" + this + \"Width\" ) ) || 0;\n\t\t\t\t}\n\t\t\t\tif ( margin ) {\n\t\t\t\t\tsize -= parseFloat( $.css( elem, \"margin\" + this ) ) || 0;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn size;\n\t\t}\n\n\t\t$.fn[ \"inner\" + name ] = function( size ) {\n\t\t\tif ( size === undefined ) {\n\t\t\t\treturn orig[ \"inner\" + name ].call( this );\n\t\t\t}\n\n\t\t\treturn this.each(function() {\n\t\t\t\t$( this ).css( type, reduce( this, size ) + \"px\" );\n\t\t\t});\n\t\t};\n\n\t\t$.fn[ \"outer\" + name] = function( size, margin ) {\n\t\t\tif ( typeof size !== \"number\" ) {\n\t\t\t\treturn orig[ \"outer\" + name ].call( this, size );\n\t\t\t}\n\n\t\t\treturn this.each(function() {\n\t\t\t\t$( this).css( type, reduce( this, size, true, margin ) + \"px\" );\n\t\t\t});\n\t\t};\n\t});\n}\n\n// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413)\nif ( $( \"<a>\" ).data( \"a-b\", \"a\" ).removeData( \"a-b\" ).data( \"a-b\" ) ) {\n\t$.fn.removeData = (function( removeData ) {\n\t\treturn function( key ) {\n\t\t\tif ( arguments.length ) {\n\t\t\t\treturn removeData.call( this, $.camelCase( key ) );\n\t\t\t} else {\n\t\t\t\treturn removeData.call( this );\n\t\t\t}\n\t\t};\n\t})( $.fn.removeData );\n}\n\n\n\n\n\n// deprecated\n\n(function() {\n\tvar uaMatch = /msie ([\\w.]+)/.exec( navigator.userAgent.toLowerCase() ) || [];\n\t$.ui.ie = uaMatch.length ? true : false;\n\t$.ui.ie6 = parseFloat( uaMatch[ 1 ], 10 ) === 6;\n})();\n\n$.fn.extend({\n\tdisableSelection: function() {\n\t\treturn this.bind( ( $.support.selectstart ? \"selectstart\" : \"mousedown\" ) +\n\t\t\t\".ui-disableSelection\", function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t});\n\t},\n\n\tenableSelection: function() {\n\t\treturn this.unbind( \".ui-disableSelection\" );\n\t}\n});\n\n$.extend( $.ui, {\n\t// $.ui.plugin is deprecated.  Use the proxy pattern instead.\n\tplugin: {\n\t\tadd: function( module, option, set ) {\n\t\t\tvar i,\n\t\t\t\tproto = $.ui[ module ].prototype;\n\t\t\tfor ( i in set ) {\n\t\t\t\tproto.plugins[ i ] = proto.plugins[ i ] || [];\n\t\t\t\tproto.plugins[ i ].push( [ option, set[ i ] ] );\n\t\t\t}\n\t\t},\n\t\tcall: function( instance, name, args ) {\n\t\t\tvar i,\n\t\t\t\tset = instance.plugins[ name ];\n\t\t\tif ( !set || !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor ( i = 0; i < set.length; i++ ) {\n\t\t\t\tif ( instance.options[ set[ i ][ 0 ] ] ) {\n\t\t\t\t\tset[ i ][ 1 ].apply( instance.element, args );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tcontains: $.contains,\n\n\t// only used by resizable\n\thasScroll: function( el, a ) {\n\n\t\t//If overflow is hidden, the element might have extra content, but the user wants to hide it\n\t\tif ( $( el ).css( \"overflow\" ) === \"hidden\") {\n\t\t\treturn false;\n\t\t}\n\n\t\tvar scroll = ( a && a === \"left\" ) ? \"scrollLeft\" : \"scrollTop\",\n\t\t\thas = false;\n\n\t\tif ( el[ scroll ] > 0 ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// TODO: determine which cases actually cause this to happen\n\t\t// if the element doesn't have the scroll set, see if it's possible to\n\t\t// set the scroll\n\t\tel[ scroll ] = 1;\n\t\thas = ( el[ scroll ] > 0 );\n\t\tel[ scroll ] = 0;\n\t\treturn has;\n\t},\n\n\t// these are odd functions, fix the API or move into individual plugins\n\tisOverAxis: function( x, reference, size ) {\n\t\t//Determines when x coordinate is over \"b\" element axis\n\t\treturn ( x > reference ) && ( x < ( reference + size ) );\n\t},\n\tisOver: function( y, x, top, left, height, width ) {\n\t\t//Determines when x, y coordinates is over \"b\" element\n\t\treturn $.ui.isOverAxis( y, top, height ) && $.ui.isOverAxis( x, left, width );\n\t}\n});\n\n})( jQuery );\n(function( $, undefined ) {\n\nvar uuid = 0,\n\tslice = Array.prototype.slice,\n\t_cleanData = $.cleanData;\n$.cleanData = function( elems ) {\n\tfor ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {\n\t\ttry {\n\t\t\t$( elem ).triggerHandler( \"remove\" );\n\t\t// http://bugs.jquery.com/ticket/8235\n\t\t} catch( e ) {}\n\t}\n\t_cleanData( elems );\n};\n\n$.widget = function( name, base, prototype ) {\n\tvar fullName, existingConstructor, constructor, basePrototype,\n\t\tnamespace = name.split( \".\" )[ 0 ];\n\n\tname = name.split( \".\" )[ 1 ];\n\tfullName = namespace + \"-\" + name;\n\n\tif ( !prototype ) {\n\t\tprototype = base;\n\t\tbase = $.Widget;\n\t}\n\n\t// create selector for plugin\n\t$.expr[ \":\" ][ fullName.toLowerCase() ] = function( elem ) {\n\t\treturn !!$.data( elem, fullName );\n\t};\n\n\t$[ namespace ] = $[ namespace ] || {};\n\texistingConstructor = $[ namespace ][ name ];\n\tconstructor = $[ namespace ][ name ] = function( options, element ) {\n\t\t// allow instantiation without \"new\" keyword\n\t\tif ( !this._createWidget ) {\n\t\t\treturn new constructor( options, element );\n\t\t}\n\n\t\t// allow instantiation without initializing for simple inheritance\n\t\t// must use \"new\" keyword (the code above always passes args)\n\t\tif ( arguments.length ) {\n\t\t\tthis._createWidget( options, element );\n\t\t}\n\t};\n\t// extend with the existing constructor to carry over any static properties\n\t$.extend( constructor, existingConstructor, {\n\t\tversion: prototype.version,\n\t\t// copy the object used to create the prototype in case we need to\n\t\t// redefine the widget later\n\t\t_proto: $.extend( {}, prototype ),\n\t\t// track widgets that inherit from this widget in case this widget is\n\t\t// redefined after a widget inherits from it\n\t\t_childConstructors: []\n\t});\n\n\tbasePrototype = new base();\n\t// we need to make the options hash a property directly on the new instance\n\t// otherwise we'll modify the options hash on the prototype that we're\n\t// inheriting from\n\tbasePrototype.options = $.widget.extend( {}, basePrototype.options );\n\t$.each( prototype, function( prop, value ) {\n\t\tif ( $.isFunction( value ) ) {\n\t\t\tprototype[ prop ] = (function() {\n\t\t\t\tvar _super = function() {\n\t\t\t\t\t\treturn base.prototype[ prop ].apply( this, arguments );\n\t\t\t\t\t},\n\t\t\t\t\t_superApply = function( args ) {\n\t\t\t\t\t\treturn base.prototype[ prop ].apply( this, args );\n\t\t\t\t\t};\n\t\t\t\treturn function() {\n\t\t\t\t\tvar __super = this._super,\n\t\t\t\t\t\t__superApply = this._superApply,\n\t\t\t\t\t\treturnValue;\n\n\t\t\t\t\tthis._super = _super;\n\t\t\t\t\tthis._superApply = _superApply;\n\n\t\t\t\t\treturnValue = value.apply( this, arguments );\n\n\t\t\t\t\tthis._super = __super;\n\t\t\t\t\tthis._superApply = __superApply;\n\n\t\t\t\t\treturn returnValue;\n\t\t\t\t};\n\t\t\t})();\n\t\t}\n\t});\n\tconstructor.prototype = $.widget.extend( basePrototype, {\n\t\t// TODO: remove support for widgetEventPrefix\n\t\t// always use the name + a colon as the prefix, e.g., draggable:start\n\t\t// don't prefix for widgets that aren't DOM-based\n\t\twidgetEventPrefix: existingConstructor ? basePrototype.widgetEventPrefix : name\n\t}, prototype, {\n\t\tconstructor: constructor,\n\t\tnamespace: namespace,\n\t\twidgetName: name,\n\t\t// TODO remove widgetBaseClass, see #8155\n\t\twidgetBaseClass: fullName,\n\t\twidgetFullName: fullName\n\t});\n\n\t// If this widget is being redefined then we need to find all widgets that\n\t// are inheriting from it and redefine all of them so that they inherit from\n\t// the new version of this widget. We're essentially trying to replace one\n\t// level in the prototype chain.\n\tif ( existingConstructor ) {\n\t\t$.each( existingConstructor._childConstructors, function( i, child ) {\n\t\t\tvar childPrototype = child.prototype;\n\n\t\t\t// redefine the child widget using the same prototype that was\n\t\t\t// originally used, but inherit from the new version of the base\n\t\t\t$.widget( childPrototype.namespace + \".\" + childPrototype.widgetName, constructor, child._proto );\n\t\t});\n\t\t// remove the list of existing child constructors from the old constructor\n\t\t// so the old child constructors can be garbage collected\n\t\tdelete existingConstructor._childConstructors;\n\t} else {\n\t\tbase._childConstructors.push( constructor );\n\t}\n\n\t$.widget.bridge( name, constructor );\n};\n\n$.widget.extend = function( target ) {\n\tvar input = slice.call( arguments, 1 ),\n\t\tinputIndex = 0,\n\t\tinputLength = input.length,\n\t\tkey,\n\t\tvalue;\n\tfor ( ; inputIndex < inputLength; inputIndex++ ) {\n\t\tfor ( key in input[ inputIndex ] ) {\n\t\t\tvalue = input[ inputIndex ][ key ];\n\t\t\tif ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {\n\t\t\t\t// Clone objects\n\t\t\t\tif ( $.isPlainObject( value ) ) {\n\t\t\t\t\ttarget[ key ] = $.isPlainObject( target[ key ] ) ?\n\t\t\t\t\t\t$.widget.extend( {}, target[ key ], value ) :\n\t\t\t\t\t\t// Don't extend strings, arrays, etc. with objects\n\t\t\t\t\t\t$.widget.extend( {}, value );\n\t\t\t\t// Copy everything else by reference\n\t\t\t\t} else {\n\t\t\t\t\ttarget[ key ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn target;\n};\n\n$.widget.bridge = function( name, object ) {\n\tvar fullName = object.prototype.widgetFullName || name;\n\t$.fn[ name ] = function( options ) {\n\t\tvar isMethodCall = typeof options === \"string\",\n\t\t\targs = slice.call( arguments, 1 ),\n\t\t\treturnValue = this;\n\n\t\t// allow multiple hashes to be passed on init\n\t\toptions = !isMethodCall && args.length ?\n\t\t\t$.widget.extend.apply( null, [ options ].concat(args) ) :\n\t\t\toptions;\n\n\t\tif ( isMethodCall ) {\n\t\t\tthis.each(function() {\n\t\t\t\tvar methodValue,\n\t\t\t\t\tinstance = $.data( this, fullName );\n\t\t\t\tif ( !instance ) {\n\t\t\t\t\treturn $.error( \"cannot call methods on \" + name + \" prior to initialization; \" +\n\t\t\t\t\t\t\"attempted to call method '\" + options + \"'\" );\n\t\t\t\t}\n\t\t\t\tif ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === \"_\" ) {\n\t\t\t\t\treturn $.error( \"no such method '\" + options + \"' for \" + name + \" widget instance\" );\n\t\t\t\t}\n\t\t\t\tmethodValue = instance[ options ].apply( instance, args );\n\t\t\t\tif ( methodValue !== instance && methodValue !== undefined ) {\n\t\t\t\t\treturnValue = methodValue && methodValue.jquery ?\n\t\t\t\t\t\treturnValue.pushStack( methodValue.get() ) :\n\t\t\t\t\t\tmethodValue;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tthis.each(function() {\n\t\t\t\tvar instance = $.data( this, fullName );\n\t\t\t\tif ( instance ) {\n\t\t\t\t\tinstance.option( options || {} )._init();\n\t\t\t\t} else {\n\t\t\t\t\t$.data( this, fullName, new object( options, this ) );\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn returnValue;\n\t};\n};\n\n$.Widget = function( /* options, element */ ) {};\n$.Widget._childConstructors = [];\n\n$.Widget.prototype = {\n\twidgetName: \"widget\",\n\twidgetEventPrefix: \"\",\n\tdefaultElement: \"<div>\",\n\toptions: {\n\t\tdisabled: false,\n\n\t\t// callbacks\n\t\tcreate: null\n\t},\n\t_createWidget: function( options, element ) {\n\t\telement = $( element || this.defaultElement || this )[ 0 ];\n\t\tthis.element = $( element );\n\t\tthis.uuid = uuid++;\n\t\tthis.eventNamespace = \".\" + this.widgetName + this.uuid;\n\t\tthis.options = $.widget.extend( {},\n\t\t\tthis.options,\n\t\t\tthis._getCreateOptions(),\n\t\t\toptions );\n\n\t\tthis.bindings = $();\n\t\tthis.hoverable = $();\n\t\tthis.focusable = $();\n\n\t\tif ( element !== this ) {\n\t\t\t// 1.9 BC for #7810\n\t\t\t// TODO remove dual storage\n\t\t\t$.data( element, this.widgetName, this );\n\t\t\t$.data( element, this.widgetFullName, this );\n\t\t\tthis._on( true, this.element, {\n\t\t\t\tremove: function( event ) {\n\t\t\t\t\tif ( event.target === element ) {\n\t\t\t\t\t\tthis.destroy();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.document = $( element.style ?\n\t\t\t\t// element within the document\n\t\t\t\telement.ownerDocument :\n\t\t\t\t// element is window or document\n\t\t\t\telement.document || element );\n\t\t\tthis.window = $( this.document[0].defaultView || this.document[0].parentWindow );\n\t\t}\n\n\t\tthis._create();\n\t\tthis._trigger( \"create\", null, this._getCreateEventData() );\n\t\tthis._init();\n\t},\n\t_getCreateOptions: $.noop,\n\t_getCreateEventData: $.noop,\n\t_create: $.noop,\n\t_init: $.noop,\n\n\tdestroy: function() {\n\t\tthis._destroy();\n\t\t// we can probably remove the unbind calls in 2.0\n\t\t// all event bindings should go through this._on()\n\t\tthis.element\n\t\t\t.unbind( this.eventNamespace )\n\t\t\t// 1.9 BC for #7810\n\t\t\t// TODO remove dual storage\n\t\t\t.removeData( this.widgetName )\n\t\t\t.removeData( this.widgetFullName )\n\t\t\t// support: jquery <1.6.3\n\t\t\t// http://bugs.jquery.com/ticket/9413\n\t\t\t.removeData( $.camelCase( this.widgetFullName ) );\n\t\tthis.widget()\n\t\t\t.unbind( this.eventNamespace )\n\t\t\t.removeAttr( \"aria-disabled\" )\n\t\t\t.removeClass(\n\t\t\t\tthis.widgetFullName + \"-disabled \" +\n\t\t\t\t\"ui-state-disabled\" );\n\n\t\t// clean up events and states\n\t\tthis.bindings.unbind( this.eventNamespace );\n\t\tthis.hoverable.removeClass( \"ui-state-hover\" );\n\t\tthis.focusable.removeClass( \"ui-state-focus\" );\n\t},\n\t_destroy: $.noop,\n\n\twidget: function() {\n\t\treturn this.element;\n\t},\n\n\toption: function( key, value ) {\n\t\tvar options = key,\n\t\t\tparts,\n\t\t\tcurOption,\n\t\t\ti;\n\n\t\tif ( arguments.length === 0 ) {\n\t\t\t// don't return a reference to the internal hash\n\t\t\treturn $.widget.extend( {}, this.options );\n\t\t}\n\n\t\tif ( typeof key === \"string\" ) {\n\t\t\t// handle nested keys, e.g., \"foo.bar\" => { foo: { bar: ___ } }\n\t\t\toptions = {};\n\t\t\tparts = key.split( \".\" );\n\t\t\tkey = parts.shift();\n\t\t\tif ( parts.length ) {\n\t\t\t\tcurOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );\n\t\t\t\tfor ( i = 0; i < parts.length - 1; i++ ) {\n\t\t\t\t\tcurOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};\n\t\t\t\t\tcurOption = curOption[ parts[ i ] ];\n\t\t\t\t}\n\t\t\t\tkey = parts.pop();\n\t\t\t\tif ( value === undefined ) {\n\t\t\t\t\treturn curOption[ key ] === undefined ? null : curOption[ key ];\n\t\t\t\t}\n\t\t\t\tcurOption[ key ] = value;\n\t\t\t} else {\n\t\t\t\tif ( value === undefined ) {\n\t\t\t\t\treturn this.options[ key ] === undefined ? null : this.options[ key ];\n\t\t\t\t}\n\t\t\t\toptions[ key ] = value;\n\t\t\t}\n\t\t}\n\n\t\tthis._setOptions( options );\n\n\t\treturn this;\n\t},\n\t_setOptions: function( options ) {\n\t\tvar key;\n\n\t\tfor ( key in options ) {\n\t\t\tthis._setOption( key, options[ key ] );\n\t\t}\n\n\t\treturn this;\n\t},\n\t_setOption: function( key, value ) {\n\t\tthis.options[ key ] = value;\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis.widget()\n\t\t\t\t.toggleClass( this.widgetFullName + \"-disabled ui-state-disabled\", !!value )\n\t\t\t\t.attr( \"aria-disabled\", value );\n\t\t\tthis.hoverable.removeClass( \"ui-state-hover\" );\n\t\t\tthis.focusable.removeClass( \"ui-state-focus\" );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tenable: function() {\n\t\treturn this._setOption( \"disabled\", false );\n\t},\n\tdisable: function() {\n\t\treturn this._setOption( \"disabled\", true );\n\t},\n\n\t_on: function( suppressDisabledCheck, element, handlers ) {\n\t\tvar delegateElement,\n\t\t\tinstance = this;\n\n\t\t// no suppressDisabledCheck flag, shuffle arguments\n\t\tif ( typeof suppressDisabledCheck !== \"boolean\" ) {\n\t\t\thandlers = element;\n\t\t\telement = suppressDisabledCheck;\n\t\t\tsuppressDisabledCheck = false;\n\t\t}\n\n\t\t// no element argument, shuffle and use this.element\n\t\tif ( !handlers ) {\n\t\t\thandlers = element;\n\t\t\telement = this.element;\n\t\t\tdelegateElement = this.widget();\n\t\t} else {\n\t\t\t// accept selectors, DOM elements\n\t\t\telement = delegateElement = $( element );\n\t\t\tthis.bindings = this.bindings.add( element );\n\t\t}\n\n\t\t$.each( handlers, function( event, handler ) {\n\t\t\tfunction handlerProxy() {\n\t\t\t\t// allow widgets to customize the disabled handling\n\t\t\t\t// - disabled as an array instead of boolean\n\t\t\t\t// - disabled class as method for disabling individual parts\n\t\t\t\tif ( !suppressDisabledCheck &&\n\t\t\t\t\t\t( instance.options.disabled === true ||\n\t\t\t\t\t\t\t$( this ).hasClass( \"ui-state-disabled\" ) ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t\t.apply( instance, arguments );\n\t\t\t}\n\n\t\t\t// copy the guid so direct unbinding works\n\t\t\tif ( typeof handler !== \"string\" ) {\n\t\t\t\thandlerProxy.guid = handler.guid =\n\t\t\t\t\thandler.guid || handlerProxy.guid || $.guid++;\n\t\t\t}\n\n\t\t\tvar match = event.match( /^(\\w+)\\s*(.*)$/ ),\n\t\t\t\teventName = match[1] + instance.eventNamespace,\n\t\t\t\tselector = match[2];\n\t\t\tif ( selector ) {\n\t\t\t\tdelegateElement.delegate( selector, eventName, handlerProxy );\n\t\t\t} else {\n\t\t\t\telement.bind( eventName, handlerProxy );\n\t\t\t}\n\t\t});\n\t},\n\n\t_off: function( element, eventName ) {\n\t\teventName = (eventName || \"\").split( \" \" ).join( this.eventNamespace + \" \" ) + this.eventNamespace;\n\t\telement.unbind( eventName ).undelegate( eventName );\n\t},\n\n\t_delay: function( handler, delay ) {\n\t\tfunction handlerProxy() {\n\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t.apply( instance, arguments );\n\t\t}\n\t\tvar instance = this;\n\t\treturn setTimeout( handlerProxy, delay || 0 );\n\t},\n\n\t_hoverable: function( element ) {\n\t\tthis.hoverable = this.hoverable.add( element );\n\t\tthis._on( element, {\n\t\t\tmouseenter: function( event ) {\n\t\t\t\t$( event.currentTarget ).addClass( \"ui-state-hover\" );\n\t\t\t},\n\t\t\tmouseleave: function( event ) {\n\t\t\t\t$( event.currentTarget ).removeClass( \"ui-state-hover\" );\n\t\t\t}\n\t\t});\n\t},\n\n\t_focusable: function( element ) {\n\t\tthis.focusable = this.focusable.add( element );\n\t\tthis._on( element, {\n\t\t\tfocusin: function( event ) {\n\t\t\t\t$( event.currentTarget ).addClass( \"ui-state-focus\" );\n\t\t\t},\n\t\t\tfocusout: function( event ) {\n\t\t\t\t$( event.currentTarget ).removeClass( \"ui-state-focus\" );\n\t\t\t}\n\t\t});\n\t},\n\n\t_trigger: function( type, event, data ) {\n\t\tvar prop, orig,\n\t\t\tcallback = this.options[ type ];\n\n\t\tdata = data || {};\n\t\tevent = $.Event( event );\n\t\tevent.type = ( type === this.widgetEventPrefix ?\n\t\t\ttype :\n\t\t\tthis.widgetEventPrefix + type ).toLowerCase();\n\t\t// the original event may come from any element\n\t\t// so we need to reset the target on the new event\n\t\tevent.target = this.element[ 0 ];\n\n\t\t// copy original event properties over to the new event\n\t\torig = event.originalEvent;\n\t\tif ( orig ) {\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tif ( !( prop in event ) ) {\n\t\t\t\t\tevent[ prop ] = orig[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.element.trigger( event, data );\n\t\treturn !( $.isFunction( callback ) &&\n\t\t\tcallback.apply( this.element[0], [ event ].concat( data ) ) === false ||\n\t\t\tevent.isDefaultPrevented() );\n\t}\n};\n\n$.each( { show: \"fadeIn\", hide: \"fadeOut\" }, function( method, defaultEffect ) {\n\t$.Widget.prototype[ \"_\" + method ] = function( element, options, callback ) {\n\t\tif ( typeof options === \"string\" ) {\n\t\t\toptions = { effect: options };\n\t\t}\n\t\tvar hasOptions,\n\t\t\teffectName = !options ?\n\t\t\t\tmethod :\n\t\t\t\toptions === true || typeof options === \"number\" ?\n\t\t\t\t\tdefaultEffect :\n\t\t\t\t\toptions.effect || defaultEffect;\n\t\toptions = options || {};\n\t\tif ( typeof options === \"number\" ) {\n\t\t\toptions = { duration: options };\n\t\t}\n\t\thasOptions = !$.isEmptyObject( options );\n\t\toptions.complete = callback;\n\t\tif ( options.delay ) {\n\t\t\telement.delay( options.delay );\n\t\t}\n\t\tif ( hasOptions && $.effects && ( $.effects.effect[ effectName ] || $.uiBackCompat !== false && $.effects[ effectName ] ) ) {\n\t\t\telement[ method ]( options );\n\t\t} else if ( effectName !== method && element[ effectName ] ) {\n\t\t\telement[ effectName ]( options.duration, options.easing, callback );\n\t\t} else {\n\t\t\telement.queue(function( next ) {\n\t\t\t\t$( this )[ method ]();\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback.call( element[ 0 ] );\n\t\t\t\t}\n\t\t\t\tnext();\n\t\t\t});\n\t\t}\n\t};\n});\n\n// DEPRECATED\nif ( $.uiBackCompat !== false ) {\n\t$.Widget.prototype._getCreateOptions = function() {\n\t\treturn $.metadata && $.metadata.get( this.element[0] )[ this.widgetName ];\n\t};\n}\n\n})( jQuery );\n(function( $, undefined ) {\n\nvar mouseHandled = false;\n$( document ).mouseup( function( e ) {\n\tmouseHandled = false;\n});\n\n$.widget(\"ui.mouse\", {\n\tversion: \"1.9.2\",\n\toptions: {\n\t\tcancel: 'input,textarea,button,select,option',\n\t\tdistance: 1,\n\t\tdelay: 0\n\t},\n\t_mouseInit: function() {\n\t\tvar that = this;\n\n\t\tthis.element\n\t\t\t.bind('mousedown.'+this.widgetName, function(event) {\n\t\t\t\treturn that._mouseDown(event);\n\t\t\t})\n\t\t\t.bind('click.'+this.widgetName, function(event) {\n\t\t\t\tif (true === $.data(event.target, that.widgetName + '.preventClickEvent')) {\n\t\t\t\t\t$.removeData(event.target, that.widgetName + '.preventClickEvent');\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t});\n\n\t\tthis.started = false;\n\t},\n\n\t// TODO: make sure destroying one instance of mouse doesn't mess with\n\t// other instances of mouse\n\t_mouseDestroy: function() {\n\t\tthis.element.unbind('.'+this.widgetName);\n\t\tif ( this._mouseMoveDelegate ) {\n\t\t\t$(document)\n\t\t\t\t.unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)\n\t\t\t\t.unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);\n\t\t}\n\t},\n\n\t_mouseDown: function(event) {\n\t\t// don't let more than one widget handle mouseStart\n\t\tif( mouseHandled ) { return; }\n\n\t\t// we may have missed mouseup (out of window)\n\t\t(this._mouseStarted && this._mouseUp(event));\n\n\t\tthis._mouseDownEvent = event;\n\n\t\tvar that = this,\n\t\t\tbtnIsLeft = (event.which === 1),\n\t\t\t// event.target.nodeName works around a bug in IE 8 with\n\t\t\t// disabled inputs (#7620)\n\t\t\telIsCancel = (typeof this.options.cancel === \"string\" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false);\n\t\tif (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tthis.mouseDelayMet = !this.options.delay;\n\t\tif (!this.mouseDelayMet) {\n\t\t\tthis._mouseDelayTimer = setTimeout(function() {\n\t\t\t\tthat.mouseDelayMet = true;\n\t\t\t}, this.options.delay);\n\t\t}\n\n\t\tif (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {\n\t\t\tthis._mouseStarted = (this._mouseStart(event) !== false);\n\t\t\tif (!this._mouseStarted) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\t// Click event may never have fired (Gecko & Opera)\n\t\tif (true === $.data(event.target, this.widgetName + '.preventClickEvent')) {\n\t\t\t$.removeData(event.target, this.widgetName + '.preventClickEvent');\n\t\t}\n\n\t\t// these delegates are required to keep context\n\t\tthis._mouseMoveDelegate = function(event) {\n\t\t\treturn that._mouseMove(event);\n\t\t};\n\t\tthis._mouseUpDelegate = function(event) {\n\t\t\treturn that._mouseUp(event);\n\t\t};\n\t\t$(document)\n\t\t\t.bind('mousemove.'+this.widgetName, this._mouseMoveDelegate)\n\t\t\t.bind('mouseup.'+this.widgetName, this._mouseUpDelegate);\n\n\t\tevent.preventDefault();\n\n\t\tmouseHandled = true;\n\t\treturn true;\n\t},\n\n\t_mouseMove: function(event) {\n\t\t// IE mouseup check - mouseup happened when mouse was out of window\n\t\tif ($.ui.ie && !(document.documentMode >= 9) && !event.button) {\n\t\t\treturn this._mouseUp(event);\n\t\t}\n\n\t\tif (this._mouseStarted) {\n\t\t\tthis._mouseDrag(event);\n\t\t\treturn event.preventDefault();\n\t\t}\n\n\t\tif (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {\n\t\t\tthis._mouseStarted =\n\t\t\t\t(this._mouseStart(this._mouseDownEvent, event) !== false);\n\t\t\t(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));\n\t\t}\n\n\t\treturn !this._mouseStarted;\n\t},\n\n\t_mouseUp: function(event) {\n\t\t$(document)\n\t\t\t.unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)\n\t\t\t.unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);\n\n\t\tif (this._mouseStarted) {\n\t\t\tthis._mouseStarted = false;\n\n\t\t\tif (event.target === this._mouseDownEvent.target) {\n\t\t\t\t$.data(event.target, this.widgetName + '.preventClickEvent', true);\n\t\t\t}\n\n\t\t\tthis._mouseStop(event);\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t_mouseDistanceMet: function(event) {\n\t\treturn (Math.max(\n\t\t\t\tMath.abs(this._mouseDownEvent.pageX - event.pageX),\n\t\t\t\tMath.abs(this._mouseDownEvent.pageY - event.pageY)\n\t\t\t) >= this.options.distance\n\t\t);\n\t},\n\n\t_mouseDelayMet: function(event) {\n\t\treturn this.mouseDelayMet;\n\t},\n\n\t// These are placeholder methods, to be overriden by extending plugin\n\t_mouseStart: function(event) {},\n\t_mouseDrag: function(event) {},\n\t_mouseStop: function(event) {},\n\t_mouseCapture: function(event) { return true; }\n});\n\n})(jQuery);\n(function( $, undefined ) {\n\n$.ui = $.ui || {};\n\nvar cachedScrollbarWidth,\n\tmax = Math.max,\n\tabs = Math.abs,\n\tround = Math.round,\n\trhorizontal = /left|center|right/,\n\trvertical = /top|center|bottom/,\n\troffset = /[\\+\\-]\\d+%?/,\n\trposition = /^\\w+/,\n\trpercent = /%$/,\n\t_position = $.fn.position;\n\nfunction getOffsets( offsets, width, height ) {\n\treturn [\n\t\tparseInt( offsets[ 0 ], 10 ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),\n\t\tparseInt( offsets[ 1 ], 10 ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )\n\t];\n}\nfunction parseCss( element, property ) {\n\treturn parseInt( $.css( element, property ), 10 ) || 0;\n}\n\n$.position = {\n\tscrollbarWidth: function() {\n\t\tif ( cachedScrollbarWidth !== undefined ) {\n\t\t\treturn cachedScrollbarWidth;\n\t\t}\n\t\tvar w1, w2,\n\t\t\tdiv = $( \"<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>\" ),\n\t\t\tinnerDiv = div.children()[0];\n\n\t\t$( \"body\" ).append( div );\n\t\tw1 = innerDiv.offsetWidth;\n\t\tdiv.css( \"overflow\", \"scroll\" );\n\n\t\tw2 = innerDiv.offsetWidth;\n\n\t\tif ( w1 === w2 ) {\n\t\t\tw2 = div[0].clientWidth;\n\t\t}\n\n\t\tdiv.remove();\n\n\t\treturn (cachedScrollbarWidth = w1 - w2);\n\t},\n\tgetScrollInfo: function( within ) {\n\t\tvar overflowX = within.isWindow ? \"\" : within.element.css( \"overflow-x\" ),\n\t\t\toverflowY = within.isWindow ? \"\" : within.element.css( \"overflow-y\" ),\n\t\t\thasOverflowX = overflowX === \"scroll\" ||\n\t\t\t\t( overflowX === \"auto\" && within.width < within.element[0].scrollWidth ),\n\t\t\thasOverflowY = overflowY === \"scroll\" ||\n\t\t\t\t( overflowY === \"auto\" && within.height < within.element[0].scrollHeight );\n\t\treturn {\n\t\t\twidth: hasOverflowX ? $.position.scrollbarWidth() : 0,\n\t\t\theight: hasOverflowY ? $.position.scrollbarWidth() : 0\n\t\t};\n\t},\n\tgetWithinInfo: function( element ) {\n\t\tvar withinElement = $( element || window ),\n\t\t\tisWindow = $.isWindow( withinElement[0] );\n\t\treturn {\n\t\t\telement: withinElement,\n\t\t\tisWindow: isWindow,\n\t\t\toffset: withinElement.offset() || { left: 0, top: 0 },\n\t\t\tscrollLeft: withinElement.scrollLeft(),\n\t\t\tscrollTop: withinElement.scrollTop(),\n\t\t\twidth: isWindow ? withinElement.width() : withinElement.outerWidth(),\n\t\t\theight: isWindow ? withinElement.height() : withinElement.outerHeight()\n\t\t};\n\t}\n};\n\n$.fn.position = function( options ) {\n\tif ( !options || !options.of ) {\n\t\treturn _position.apply( this, arguments );\n\t}\n\n\t// make a copy, we don't want to modify arguments\n\toptions = $.extend( {}, options );\n\n\tvar atOffset, targetWidth, targetHeight, targetOffset, basePosition,\n\t\ttarget = $( options.of ),\n\t\twithin = $.position.getWithinInfo( options.within ),\n\t\tscrollInfo = $.position.getScrollInfo( within ),\n\t\ttargetElem = target[0],\n\t\tcollision = ( options.collision || \"flip\" ).split( \" \" ),\n\t\toffsets = {};\n\n\tif ( targetElem.nodeType === 9 ) {\n\t\ttargetWidth = target.width();\n\t\ttargetHeight = target.height();\n\t\ttargetOffset = { top: 0, left: 0 };\n\t} else if ( $.isWindow( targetElem ) ) {\n\t\ttargetWidth = target.width();\n\t\ttargetHeight = target.height();\n\t\ttargetOffset = { top: target.scrollTop(), left: target.scrollLeft() };\n\t} else if ( targetElem.preventDefault ) {\n\t\t// force left top to allow flipping\n\t\toptions.at = \"left top\";\n\t\ttargetWidth = targetHeight = 0;\n\t\ttargetOffset = { top: targetElem.pageY, left: targetElem.pageX };\n\t} else {\n\t\ttargetWidth = target.outerWidth();\n\t\ttargetHeight = target.outerHeight();\n\t\ttargetOffset = target.offset();\n\t}\n\t// clone to reuse original targetOffset later\n\tbasePosition = $.extend( {}, targetOffset );\n\n\t// force my and at to have valid horizontal and vertical positions\n\t// if a value is missing or invalid, it will be converted to center\n\t$.each( [ \"my\", \"at\" ], function() {\n\t\tvar pos = ( options[ this ] || \"\" ).split( \" \" ),\n\t\t\thorizontalOffset,\n\t\t\tverticalOffset;\n\n\t\tif ( pos.length === 1) {\n\t\t\tpos = rhorizontal.test( pos[ 0 ] ) ?\n\t\t\t\tpos.concat( [ \"center\" ] ) :\n\t\t\t\trvertical.test( pos[ 0 ] ) ?\n\t\t\t\t\t[ \"center\" ].concat( pos ) :\n\t\t\t\t\t[ \"center\", \"center\" ];\n\t\t}\n\t\tpos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : \"center\";\n\t\tpos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : \"center\";\n\n\t\t// calculate offsets\n\t\thorizontalOffset = roffset.exec( pos[ 0 ] );\n\t\tverticalOffset = roffset.exec( pos[ 1 ] );\n\t\toffsets[ this ] = [\n\t\t\thorizontalOffset ? horizontalOffset[ 0 ] : 0,\n\t\t\tverticalOffset ? verticalOffset[ 0 ] : 0\n\t\t];\n\n\t\t// reduce to just the positions without the offsets\n\t\toptions[ this ] = [\n\t\t\trposition.exec( pos[ 0 ] )[ 0 ],\n\t\t\trposition.exec( pos[ 1 ] )[ 0 ]\n\t\t];\n\t});\n\n\t// normalize collision option\n\tif ( collision.length === 1 ) {\n\t\tcollision[ 1 ] = collision[ 0 ];\n\t}\n\n\tif ( options.at[ 0 ] === \"right\" ) {\n\t\tbasePosition.left += targetWidth;\n\t} else if ( options.at[ 0 ] === \"center\" ) {\n\t\tbasePosition.left += targetWidth / 2;\n\t}\n\n\tif ( options.at[ 1 ] === \"bottom\" ) {\n\t\tbasePosition.top += targetHeight;\n\t} else if ( options.at[ 1 ] === \"center\" ) {\n\t\tbasePosition.top += targetHeight / 2;\n\t}\n\n\tatOffset = getOffsets( offsets.at, targetWidth, targetHeight );\n\tbasePosition.left += atOffset[ 0 ];\n\tbasePosition.top += atOffset[ 1 ];\n\n\treturn this.each(function() {\n\t\tvar collisionPosition, using,\n\t\t\telem = $( this ),\n\t\t\telemWidth = elem.outerWidth(),\n\t\t\telemHeight = elem.outerHeight(),\n\t\t\tmarginLeft = parseCss( this, \"marginLeft\" ),\n\t\t\tmarginTop = parseCss( this, \"marginTop\" ),\n\t\t\tcollisionWidth = elemWidth + marginLeft + parseCss( this, \"marginRight\" ) + scrollInfo.width,\n\t\t\tcollisionHeight = elemHeight + marginTop + parseCss( this, \"marginBottom\" ) + scrollInfo.height,\n\t\t\tposition = $.extend( {}, basePosition ),\n\t\t\tmyOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );\n\n\t\tif ( options.my[ 0 ] === \"right\" ) {\n\t\t\tposition.left -= elemWidth;\n\t\t} else if ( options.my[ 0 ] === \"center\" ) {\n\t\t\tposition.left -= elemWidth / 2;\n\t\t}\n\n\t\tif ( options.my[ 1 ] === \"bottom\" ) {\n\t\t\tposition.top -= elemHeight;\n\t\t} else if ( options.my[ 1 ] === \"center\" ) {\n\t\t\tposition.top -= elemHeight / 2;\n\t\t}\n\n\t\tposition.left += myOffset[ 0 ];\n\t\tposition.top += myOffset[ 1 ];\n\n\t\t// if the browser doesn't support fractions, then round for consistent results\n\t\tif ( !$.support.offsetFractions ) {\n\t\t\tposition.left = round( position.left );\n\t\t\tposition.top = round( position.top );\n\t\t}\n\n\t\tcollisionPosition = {\n\t\t\tmarginLeft: marginLeft,\n\t\t\tmarginTop: marginTop\n\t\t};\n\n\t\t$.each( [ \"left\", \"top\" ], function( i, dir ) {\n\t\t\tif ( $.ui.position[ collision[ i ] ] ) {\n\t\t\t\t$.ui.position[ collision[ i ] ][ dir ]( position, {\n\t\t\t\t\ttargetWidth: targetWidth,\n\t\t\t\t\ttargetHeight: targetHeight,\n\t\t\t\t\telemWidth: elemWidth,\n\t\t\t\t\telemHeight: elemHeight,\n\t\t\t\t\tcollisionPosition: collisionPosition,\n\t\t\t\t\tcollisionWidth: collisionWidth,\n\t\t\t\t\tcollisionHeight: collisionHeight,\n\t\t\t\t\toffset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],\n\t\t\t\t\tmy: options.my,\n\t\t\t\t\tat: options.at,\n\t\t\t\t\twithin: within,\n\t\t\t\t\telem : elem\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tif ( $.fn.bgiframe ) {\n\t\t\telem.bgiframe();\n\t\t}\n\n\t\tif ( options.using ) {\n\t\t\t// adds feedback as second argument to using callback, if present\n\t\t\tusing = function( props ) {\n\t\t\t\tvar left = targetOffset.left - position.left,\n\t\t\t\t\tright = left + targetWidth - elemWidth,\n\t\t\t\t\ttop = targetOffset.top - position.top,\n\t\t\t\t\tbottom = top + targetHeight - elemHeight,\n\t\t\t\t\tfeedback = {\n\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\telement: target,\n\t\t\t\t\t\t\tleft: targetOffset.left,\n\t\t\t\t\t\t\ttop: targetOffset.top,\n\t\t\t\t\t\t\twidth: targetWidth,\n\t\t\t\t\t\t\theight: targetHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\telement: {\n\t\t\t\t\t\t\telement: elem,\n\t\t\t\t\t\t\tleft: position.left,\n\t\t\t\t\t\t\ttop: position.top,\n\t\t\t\t\t\t\twidth: elemWidth,\n\t\t\t\t\t\t\theight: elemHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\thorizontal: right < 0 ? \"left\" : left > 0 ? \"right\" : \"center\",\n\t\t\t\t\t\tvertical: bottom < 0 ? \"top\" : top > 0 ? \"bottom\" : \"middle\"\n\t\t\t\t\t};\n\t\t\t\tif ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {\n\t\t\t\t\tfeedback.horizontal = \"center\";\n\t\t\t\t}\n\t\t\t\tif ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {\n\t\t\t\t\tfeedback.vertical = \"middle\";\n\t\t\t\t}\n\t\t\t\tif ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {\n\t\t\t\t\tfeedback.important = \"horizontal\";\n\t\t\t\t} else {\n\t\t\t\t\tfeedback.important = \"vertical\";\n\t\t\t\t}\n\t\t\t\toptions.using.call( this, props, feedback );\n\t\t\t};\n\t\t}\n\n\t\telem.offset( $.extend( position, { using: using } ) );\n\t});\n};\n\n$.ui.position = {\n\tfit: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\touterWidth = within.width,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = withinOffset - collisionPosLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,\n\t\t\t\tnewOverRight;\n\n\t\t\t// element is wider than within\n\t\t\tif ( data.collisionWidth > outerWidth ) {\n\t\t\t\t// element is initially over the left side of within\n\t\t\t\tif ( overLeft > 0 && overRight <= 0 ) {\n\t\t\t\t\tnewOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset;\n\t\t\t\t\tposition.left += overLeft - newOverRight;\n\t\t\t\t// element is initially over right side of within\n\t\t\t\t} else if ( overRight > 0 && overLeft <= 0 ) {\n\t\t\t\t\tposition.left = withinOffset;\n\t\t\t\t// element is initially over both left and right sides of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overLeft > overRight ) {\n\t\t\t\t\t\tposition.left = withinOffset + outerWidth - data.collisionWidth;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.left = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t// too far left -> align with left edge\n\t\t\t} else if ( overLeft > 0 ) {\n\t\t\t\tposition.left += overLeft;\n\t\t\t// too far right -> align with right edge\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tposition.left -= overRight;\n\t\t\t// adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.left = max( position.left - collisionPosLeft, position.left );\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\touterHeight = data.within.height,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = withinOffset - collisionPosTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,\n\t\t\t\tnewOverBottom;\n\n\t\t\t// element is taller than within\n\t\t\tif ( data.collisionHeight > outerHeight ) {\n\t\t\t\t// element is initially over the top of within\n\t\t\t\tif ( overTop > 0 && overBottom <= 0 ) {\n\t\t\t\t\tnewOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset;\n\t\t\t\t\tposition.top += overTop - newOverBottom;\n\t\t\t\t// element is initially over bottom of within\n\t\t\t\t} else if ( overBottom > 0 && overTop <= 0 ) {\n\t\t\t\t\tposition.top = withinOffset;\n\t\t\t\t// element is initially over both top and bottom of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overTop > overBottom ) {\n\t\t\t\t\t\tposition.top = withinOffset + outerHeight - data.collisionHeight;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.top = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t// too far up -> align with top\n\t\t\t} else if ( overTop > 0 ) {\n\t\t\t\tposition.top += overTop;\n\t\t\t// too far down -> align with bottom edge\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tposition.top -= overBottom;\n\t\t\t// adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.top = max( position.top - collisionPosTop, position.top );\n\t\t\t}\n\t\t}\n\t},\n\tflip: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.left + within.scrollLeft,\n\t\t\t\touterWidth = within.width,\n\t\t\t\toffsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = collisionPosLeft - offsetLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,\n\t\t\t\tmyOffset = data.my[ 0 ] === \"left\" ?\n\t\t\t\t\t-data.elemWidth :\n\t\t\t\t\tdata.my[ 0 ] === \"right\" ?\n\t\t\t\t\t\tdata.elemWidth :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 0 ] === \"left\" ?\n\t\t\t\t\tdata.targetWidth :\n\t\t\t\t\tdata.at[ 0 ] === \"right\" ?\n\t\t\t\t\t\t-data.targetWidth :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 0 ],\n\t\t\t\tnewOverRight,\n\t\t\t\tnewOverLeft;\n\n\t\t\tif ( overLeft < 0 ) {\n\t\t\t\tnewOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset;\n\t\t\t\tif ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if ( overRight > 0 ) {\n\t\t\t\tnewOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft;\n\t\t\t\tif ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.top + within.scrollTop,\n\t\t\t\touterHeight = within.height,\n\t\t\t\toffsetTop = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = collisionPosTop - offsetTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,\n\t\t\t\ttop = data.my[ 1 ] === \"top\",\n\t\t\t\tmyOffset = top ?\n\t\t\t\t\t-data.elemHeight :\n\t\t\t\t\tdata.my[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\tdata.elemHeight :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 1 ] === \"top\" ?\n\t\t\t\t\tdata.targetHeight :\n\t\t\t\t\tdata.at[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\t-data.targetHeight :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 1 ],\n\t\t\t\tnewOverTop,\n\t\t\t\tnewOverBottom;\n\t\t\tif ( overTop < 0 ) {\n\t\t\t\tnewOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset;\n\t\t\t\tif ( ( position.top + myOffset + atOffset + offset) > overTop && ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if ( overBottom > 0 ) {\n\t\t\t\tnewOverTop = position.top -  data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;\n\t\t\t\tif ( ( position.top + myOffset + atOffset + offset) > overBottom && ( newOverTop > 0 || abs( newOverTop ) < overBottom ) ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tflipfit: {\n\t\tleft: function() {\n\t\t\t$.ui.position.flip.left.apply( this, arguments );\n\t\t\t$.ui.position.fit.left.apply( this, arguments );\n\t\t},\n\t\ttop: function() {\n\t\t\t$.ui.position.flip.top.apply( this, arguments );\n\t\t\t$.ui.position.fit.top.apply( this, arguments );\n\t\t}\n\t}\n};\n\n// fraction support test\n(function () {\n\tvar testElement, testElementParent, testElementStyle, offsetLeft, i,\n\t\tbody = document.getElementsByTagName( \"body\" )[ 0 ],\n\t\tdiv = document.createElement( \"div\" );\n\n\t//Create a \"fake body\" for testing based on method used in jQuery.support\n\ttestElement = document.createElement( body ? \"div\" : \"body\" );\n\ttestElementStyle = {\n\t\tvisibility: \"hidden\",\n\t\twidth: 0,\n\t\theight: 0,\n\t\tborder: 0,\n\t\tmargin: 0,\n\t\tbackground: \"none\"\n\t};\n\tif ( body ) {\n\t\t$.extend( testElementStyle, {\n\t\t\tposition: \"absolute\",\n\t\t\tleft: \"-1000px\",\n\t\t\ttop: \"-1000px\"\n\t\t});\n\t}\n\tfor ( i in testElementStyle ) {\n\t\ttestElement.style[ i ] = testElementStyle[ i ];\n\t}\n\ttestElement.appendChild( div );\n\ttestElementParent = body || document.documentElement;\n\ttestElementParent.insertBefore( testElement, testElementParent.firstChild );\n\n\tdiv.style.cssText = \"position: absolute; left: 10.7432222px;\";\n\n\toffsetLeft = $( div ).offset().left;\n\t$.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11;\n\n\ttestElement.innerHTML = \"\";\n\ttestElementParent.removeChild( testElement );\n})();\n\n// DEPRECATED\nif ( $.uiBackCompat !== false ) {\n\t// offset option\n\t(function( $ ) {\n\t\tvar _position = $.fn.position;\n\t\t$.fn.position = function( options ) {\n\t\t\tif ( !options || !options.offset ) {\n\t\t\t\treturn _position.call( this, options );\n\t\t\t}\n\t\t\tvar offset = options.offset.split( \" \" ),\n\t\t\t\tat = options.at.split( \" \" );\n\t\t\tif ( offset.length === 1 ) {\n\t\t\t\toffset[ 1 ] = offset[ 0 ];\n\t\t\t}\n\t\t\tif ( /^\\d/.test( offset[ 0 ] ) ) {\n\t\t\t\toffset[ 0 ] = \"+\" + offset[ 0 ];\n\t\t\t}\n\t\t\tif ( /^\\d/.test( offset[ 1 ] ) ) {\n\t\t\t\toffset[ 1 ] = \"+\" + offset[ 1 ];\n\t\t\t}\n\t\t\tif ( at.length === 1 ) {\n\t\t\t\tif ( /left|center|right/.test( at[ 0 ] ) ) {\n\t\t\t\t\tat[ 1 ] = \"center\";\n\t\t\t\t} else {\n\t\t\t\t\tat[ 1 ] = at[ 0 ];\n\t\t\t\t\tat[ 0 ] = \"center\";\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn _position.call( this, $.extend( options, {\n\t\t\t\tat: at[ 0 ] + offset[ 0 ] + \" \" + at[ 1 ] + offset[ 1 ],\n\t\t\t\toffset: undefined\n\t\t\t} ) );\n\t\t};\n\t}( jQuery ) );\n}\n\n}( jQuery ) );\n(function( $, undefined ) {\n\nvar uid = 0,\n\thideProps = {},\n\tshowProps = {};\n\nhideProps.height = hideProps.paddingTop = hideProps.paddingBottom =\n\thideProps.borderTopWidth = hideProps.borderBottomWidth = \"hide\";\nshowProps.height = showProps.paddingTop = showProps.paddingBottom =\n\tshowProps.borderTopWidth = showProps.borderBottomWidth = \"show\";\n\n$.widget( \"ui.accordion\", {\n\tversion: \"1.9.2\",\n\toptions: {\n\t\tactive: 0,\n\t\tanimate: {},\n\t\tcollapsible: false,\n\t\tevent: \"click\",\n\t\theader: \"> li > :first-child,> :not(li):even\",\n\t\theightStyle: \"auto\",\n\t\ticons: {\n\t\t\tactiveHeader: \"ui-icon-triangle-1-s\",\n\t\t\theader: \"ui-icon-triangle-1-e\"\n\t\t},\n\n\t\t// callbacks\n\t\tactivate: null,\n\t\tbeforeActivate: null\n\t},\n\n\t_create: function() {\n\t\tvar accordionId = this.accordionId = \"ui-accordion-\" +\n\t\t\t\t(this.element.attr( \"id\" ) || ++uid),\n\t\t\toptions = this.options;\n\n\t\tthis.prevShow = this.prevHide = $();\n\t\tthis.element.addClass( \"ui-accordion ui-widget ui-helper-reset\" );\n\n\t\tthis.headers = this.element.find( options.header )\n\t\t\t.addClass( \"ui-accordion-header ui-helper-reset ui-state-default ui-corner-all\" );\n\t\tthis._hoverable( this.headers );\n\t\tthis._focusable( this.headers );\n\n\t\tthis.headers.next()\n\t\t\t.addClass( \"ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom\" )\n\t\t\t.hide();\n\n\t\t// don't allow collapsible: false and active: false / null\n\t\tif ( !options.collapsible && (options.active === false || options.active == null) ) {\n\t\t\toptions.active = 0;\n\t\t}\n\t\t// handle negative values\n\t\tif ( options.active < 0 ) {\n\t\t\toptions.active += this.headers.length;\n\t\t}\n\t\tthis.active = this._findActive( options.active )\n\t\t\t.addClass( \"ui-accordion-header-active ui-state-active\" )\n\t\t\t.toggleClass( \"ui-corner-all ui-corner-top\" );\n\t\tthis.active.next()\n\t\t\t.addClass( \"ui-accordion-content-active\" )\n\t\t\t.show();\n\n\t\tthis._createIcons();\n\t\tthis.refresh();\n\n\t\t// ARIA\n\t\tthis.element.attr( \"role\", \"tablist\" );\n\n\t\tthis.headers\n\t\t\t.attr( \"role\", \"tab\" )\n\t\t\t.each(function( i ) {\n\t\t\t\tvar header = $( this ),\n\t\t\t\t\theaderId = header.attr( \"id\" ),\n\t\t\t\t\tpanel = header.next(),\n\t\t\t\t\tpanelId = panel.attr( \"id\" );\n\t\t\t\tif ( !headerId ) {\n\t\t\t\t\theaderId = accordionId + \"-header-\" + i;\n\t\t\t\t\theader.attr( \"id\", headerId );\n\t\t\t\t}\n\t\t\t\tif ( !panelId ) {\n\t\t\t\t\tpanelId = accordionId + \"-panel-\" + i;\n\t\t\t\t\tpanel.attr( \"id\", panelId );\n\t\t\t\t}\n\t\t\t\theader.attr( \"aria-controls\", panelId );\n\t\t\t\tpanel.attr( \"aria-labelledby\", headerId );\n\t\t\t})\n\t\t\t.next()\n\t\t\t\t.attr( \"role\", \"tabpanel\" );\n\n\t\tthis.headers\n\t\t\t.not( this.active )\n\t\t\t.attr({\n\t\t\t\t\"aria-selected\": \"false\",\n\t\t\t\ttabIndex: -1\n\t\t\t})\n\t\t\t.next()\n\t\t\t\t.attr({\n\t\t\t\t\t\"aria-expanded\": \"false\",\n\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t})\n\t\t\t\t.hide();\n\n\t\t// make sure at least one header is in the tab order\n\t\tif ( !this.active.length ) {\n\t\t\tthis.headers.eq( 0 ).attr( \"tabIndex\", 0 );\n\t\t} else {\n\t\t\tthis.active.attr({\n\t\t\t\t\"aria-selected\": \"true\",\n\t\t\t\ttabIndex: 0\n\t\t\t})\n\t\t\t.next()\n\t\t\t\t.attr({\n\t\t\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\t\t\"aria-hidden\": \"false\"\n\t\t\t\t});\n\t\t}\n\n\t\tthis._on( this.headers, { keydown: \"_keydown\" });\n\t\tthis._on( this.headers.next(), { keydown: \"_panelKeyDown\" });\n\t\tthis._setupEvents( options.event );\n\t},\n\n\t_getCreateEventData: function() {\n\t\treturn {\n\t\t\theader: this.active,\n\t\t\tcontent: !this.active.length ? $() : this.active.next()\n\t\t};\n\t},\n\n\t_createIcons: function() {\n\t\tvar icons = this.options.icons;\n\t\tif ( icons ) {\n\t\t\t$( \"<span>\" )\n\t\t\t\t.addClass( \"ui-accordion-header-icon ui-icon \" + icons.header )\n\t\t\t\t.prependTo( this.headers );\n\t\t\tthis.active.children( \".ui-accordion-header-icon\" )\n\t\t\t\t.removeClass( icons.header )\n\t\t\t\t.addClass( icons.activeHeader );\n\t\t\tthis.headers.addClass( \"ui-accordion-icons\" );\n\t\t}\n\t},\n\n\t_destroyIcons: function() {\n\t\tthis.headers\n\t\t\t.removeClass( \"ui-accordion-icons\" )\n\t\t\t.children( \".ui-accordion-header-icon\" )\n\t\t\t\t.remove();\n\t},\n\n\t_destroy: function() {\n\t\tvar contents;\n\n\t\t// clean up main element\n\t\tthis.element\n\t\t\t.removeClass( \"ui-accordion ui-widget ui-helper-reset\" )\n\t\t\t.removeAttr( \"role\" );\n\n\t\t// clean up headers\n\t\tthis.headers\n\t\t\t.removeClass( \"ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top\" )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"aria-selected\" )\n\t\t\t.removeAttr( \"aria-controls\" )\n\t\t\t.removeAttr( \"tabIndex\" )\n\t\t\t.each(function() {\n\t\t\t\tif ( /^ui-accordion/.test( this.id ) ) {\n\t\t\t\t\tthis.removeAttribute( \"id\" );\n\t\t\t\t}\n\t\t\t});\n\t\tthis._destroyIcons();\n\n\t\t// clean up content panels\n\t\tcontents = this.headers.next()\n\t\t\t.css( \"display\", \"\" )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"aria-expanded\" )\n\t\t\t.removeAttr( \"aria-hidden\" )\n\t\t\t.removeAttr( \"aria-labelledby\" )\n\t\t\t.removeClass( \"ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled\" )\n\t\t\t.each(function() {\n\t\t\t\tif ( /^ui-accordion/.test( this.id ) ) {\n\t\t\t\t\tthis.removeAttribute( \"id\" );\n\t\t\t\t}\n\t\t\t});\n\t\tif ( this.options.heightStyle !== \"content\" ) {\n\t\t\tcontents.css( \"height\", \"\" );\n\t\t}\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"active\" ) {\n\t\t\t// _activate() will handle invalid values and update this.options\n\t\t\tthis._activate( value );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key === \"event\" ) {\n\t\t\tif ( this.options.event ) {\n\t\t\t\tthis._off( this.headers, this.options.event );\n\t\t\t}\n\t\t\tthis._setupEvents( value );\n\t\t}\n\n\t\tthis._super( key, value );\n\n\t\t// setting collapsible: false while collapsed; open first panel\n\t\tif ( key === \"collapsible\" && !value && this.options.active === false ) {\n\t\t\tthis._activate( 0 );\n\t\t}\n\n\t\tif ( key === \"icons\" ) {\n\t\t\tthis._destroyIcons();\n\t\t\tif ( value ) {\n\t\t\t\tthis._createIcons();\n\t\t\t}\n\t\t}\n\n\t\t// #5332 - opacity doesn't cascade to positioned elements in IE\n\t\t// so we need to add the disabled class to the headers and panels\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis.headers.add( this.headers.next() )\n\t\t\t\t.toggleClass( \"ui-state-disabled\", !!value );\n\t\t}\n\t},\n\n\t_keydown: function( event ) {\n\t\tif ( event.altKey || event.ctrlKey ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar keyCode = $.ui.keyCode,\n\t\t\tlength = this.headers.length,\n\t\t\tcurrentIndex = this.headers.index( event.target ),\n\t\t\ttoFocus = false;\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase keyCode.RIGHT:\n\t\t\tcase keyCode.DOWN:\n\t\t\t\ttoFocus = this.headers[ ( currentIndex + 1 ) % length ];\n\t\t\t\tbreak;\n\t\t\tcase keyCode.LEFT:\n\t\t\tcase keyCode.UP:\n\t\t\t\ttoFocus = this.headers[ ( currentIndex - 1 + length ) % length ];\n\t\t\t\tbreak;\n\t\t\tcase keyCode.SPACE:\n\t\t\tcase keyCode.ENTER:\n\t\t\t\tthis._eventHandler( event );\n\t\t\t\tbreak;\n\t\t\tcase keyCode.HOME:\n\t\t\t\ttoFocus = this.headers[ 0 ];\n\t\t\t\tbreak;\n\t\t\tcase keyCode.END:\n\t\t\t\ttoFocus = this.headers[ length - 1 ];\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( toFocus ) {\n\t\t\t$( event.target ).attr( \"tabIndex\", -1 );\n\t\t\t$( toFocus ).attr( \"tabIndex\", 0 );\n\t\t\ttoFocus.focus();\n\t\t\tevent.preventDefault();\n\t\t}\n\t},\n\n\t_panelKeyDown : function( event ) {\n\t\tif ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) {\n\t\t\t$( event.currentTarget ).prev().focus();\n\t\t}\n\t},\n\n\trefresh: function() {\n\t\tvar maxHeight, overflow,\n\t\t\theightStyle = this.options.heightStyle,\n\t\t\tparent = this.element.parent();\n\n\n\t\tif ( heightStyle === \"fill\" ) {\n\t\t\t// IE 6 treats height like minHeight, so we need to turn off overflow\n\t\t\t// in order to get a reliable height\n\t\t\t// we use the minHeight support test because we assume that only\n\t\t\t// browsers that don't support minHeight will treat height as minHeight\n\t\t\tif ( !$.support.minHeight ) {\n\t\t\t\toverflow = parent.css( \"overflow\" );\n\t\t\t\tparent.css( \"overflow\", \"hidden\");\n\t\t\t}\n\t\t\tmaxHeight = parent.height();\n\t\t\tthis.element.siblings( \":visible\" ).each(function() {\n\t\t\t\tvar elem = $( this ),\n\t\t\t\t\tposition = elem.css( \"position\" );\n\n\t\t\t\tif ( position === \"absolute\" || position === \"fixed\" ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tmaxHeight -= elem.outerHeight( true );\n\t\t\t});\n\t\t\tif ( overflow ) {\n\t\t\t\tparent.css( \"overflow\", overflow );\n\t\t\t}\n\n\t\t\tthis.headers.each(function() {\n\t\t\t\tmaxHeight -= $( this ).outerHeight( true );\n\t\t\t});\n\n\t\t\tthis.headers.next()\n\t\t\t\t.each(function() {\n\t\t\t\t\t$( this ).height( Math.max( 0, maxHeight -\n\t\t\t\t\t\t$( this ).innerHeight() + $( this ).height() ) );\n\t\t\t\t})\n\t\t\t\t.css( \"overflow\", \"auto\" );\n\t\t} else if ( heightStyle === \"auto\" ) {\n\t\t\tmaxHeight = 0;\n\t\t\tthis.headers.next()\n\t\t\t\t.each(function() {\n\t\t\t\t\tmaxHeight = Math.max( maxHeight, $( this ).css( \"height\", \"\" ).height() );\n\t\t\t\t})\n\t\t\t\t.height( maxHeight );\n\t\t}\n\t},\n\n\t_activate: function( index ) {\n\t\tvar active = this._findActive( index )[ 0 ];\n\n\t\t// trying to activate the already active panel\n\t\tif ( active === this.active[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// trying to collapse, simulate a click on the currently active header\n\t\tactive = active || this.active[ 0 ];\n\n\t\tthis._eventHandler({\n\t\t\ttarget: active,\n\t\t\tcurrentTarget: active,\n\t\t\tpreventDefault: $.noop\n\t\t});\n\t},\n\n\t_findActive: function( selector ) {\n\t\treturn typeof selector === \"number\" ? this.headers.eq( selector ) : $();\n\t},\n\n\t_setupEvents: function( event ) {\n\t\tvar events = {};\n\t\tif ( !event ) {\n\t\t\treturn;\n\t\t}\n\t\t$.each( event.split(\" \"), function( index, eventName ) {\n\t\t\tevents[ eventName ] = \"_eventHandler\";\n\t\t});\n\t\tthis._on( this.headers, events );\n\t},\n\n\t_eventHandler: function( event ) {\n\t\tvar options = this.options,\n\t\t\tactive = this.active,\n\t\t\tclicked = $( event.currentTarget ),\n\t\t\tclickedIsActive = clicked[ 0 ] === active[ 0 ],\n\t\t\tcollapsing = clickedIsActive && options.collapsible,\n\t\t\ttoShow = collapsing ? $() : clicked.next(),\n\t\t\ttoHide = active.next(),\n\t\t\teventData = {\n\t\t\t\toldHeader: active,\n\t\t\t\toldPanel: toHide,\n\t\t\t\tnewHeader: collapsing ? $() : clicked,\n\t\t\t\tnewPanel: toShow\n\t\t\t};\n\n\t\tevent.preventDefault();\n\n\t\tif (\n\t\t\t\t// click on active header, but not collapsible\n\t\t\t\t( clickedIsActive && !options.collapsible ) ||\n\t\t\t\t// allow canceling activation\n\t\t\t\t( this._trigger( \"beforeActivate\", event, eventData ) === false ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\toptions.active = collapsing ? false : this.headers.index( clicked );\n\n\t\t// when the call to ._toggle() comes after the class changes\n\t\t// it causes a very odd bug in IE 8 (see #6720)\n\t\tthis.active = clickedIsActive ? $() : clicked;\n\t\tthis._toggle( eventData );\n\n\t\t// switch classes\n\t\t// corner classes on the previously active header stay after the animation\n\t\tactive.removeClass( \"ui-accordion-header-active ui-state-active\" );\n\t\tif ( options.icons ) {\n\t\t\tactive.children( \".ui-accordion-header-icon\" )\n\t\t\t\t.removeClass( options.icons.activeHeader )\n\t\t\t\t.addClass( options.icons.header );\n\t\t}\n\n\t\tif ( !clickedIsActive ) {\n\t\t\tclicked\n\t\t\t\t.removeClass( \"ui-corner-all\" )\n\t\t\t\t.addClass( \"ui-accordion-header-active ui-state-active ui-corner-top\" );\n\t\t\tif ( options.icons ) {\n\t\t\t\tclicked.children( \".ui-accordion-header-icon\" )\n\t\t\t\t\t.removeClass( options.icons.header )\n\t\t\t\t\t.addClass( options.icons.activeHeader );\n\t\t\t}\n\n\t\t\tclicked\n\t\t\t\t.next()\n\t\t\t\t.addClass( \"ui-accordion-content-active\" );\n\t\t}\n\t},\n\n\t_toggle: function( data ) {\n\t\tvar toShow = data.newPanel,\n\t\t\ttoHide = this.prevShow.length ? this.prevShow : data.oldPanel;\n\n\t\t// handle activating a panel during the animation for another activation\n\t\tthis.prevShow.add( this.prevHide ).stop( true, true );\n\t\tthis.prevShow = toShow;\n\t\tthis.prevHide = toHide;\n\n\t\tif ( this.options.animate ) {\n\t\t\tthis._animate( toShow, toHide, data );\n\t\t} else {\n\t\t\ttoHide.hide();\n\t\t\ttoShow.show();\n\t\t\tthis._toggleComplete( data );\n\t\t}\n\n\t\ttoHide.attr({\n\t\t\t\"aria-expanded\": \"false\",\n\t\t\t\"aria-hidden\": \"true\"\n\t\t});\n\t\ttoHide.prev().attr( \"aria-selected\", \"false\" );\n\t\t// if we're switching panels, remove the old header from the tab order\n\t\t// if we're opening from collapsed state, remove the previous header from the tab order\n\t\t// if we're collapsing, then keep the collapsing header in the tab order\n\t\tif ( toShow.length && toHide.length ) {\n\t\t\ttoHide.prev().attr( \"tabIndex\", -1 );\n\t\t} else if ( toShow.length ) {\n\t\t\tthis.headers.filter(function() {\n\t\t\t\treturn $( this ).attr( \"tabIndex\" ) === 0;\n\t\t\t})\n\t\t\t.attr( \"tabIndex\", -1 );\n\t\t}\n\n\t\ttoShow\n\t\t\t.attr({\n\t\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\t\"aria-hidden\": \"false\"\n\t\t\t})\n\t\t\t.prev()\n\t\t\t\t.attr({\n\t\t\t\t\t\"aria-selected\": \"true\",\n\t\t\t\t\ttabIndex: 0\n\t\t\t\t});\n\t},\n\n\t_animate: function( toShow, toHide, data ) {\n\t\tvar total, easing, duration,\n\t\t\tthat = this,\n\t\t\tadjust = 0,\n\t\t\tdown = toShow.length &&\n\t\t\t\t( !toHide.length || ( toShow.index() < toHide.index() ) ),\n\t\t\tanimate = this.options.animate || {},\n\t\t\toptions = down && animate.down || animate,\n\t\t\tcomplete = function() {\n\t\t\t\tthat._toggleComplete( data );\n\t\t\t};\n\n\t\tif ( typeof options === \"number\" ) {\n\t\t\tduration = options;\n\t\t}\n\t\tif ( typeof options === \"string\" ) {\n\t\t\teasing = options;\n\t\t}\n\t\t// fall back from options to animation in case of partial down settings\n\t\teasing = easing || options.easing || animate.easing;\n\t\tduration = duration || options.duration || animate.duration;\n\n\t\tif ( !toHide.length ) {\n\t\t\treturn toShow.animate( showProps, duration, easing, complete );\n\t\t}\n\t\tif ( !toShow.length ) {\n\t\t\treturn toHide.animate( hideProps, duration, easing, complete );\n\t\t}\n\n\t\ttotal = toShow.show().outerHeight();\n\t\ttoHide.animate( hideProps, {\n\t\t\tduration: duration,\n\t\t\teasing: easing,\n\t\t\tstep: function( now, fx ) {\n\t\t\t\tfx.now = Math.round( now );\n\t\t\t}\n\t\t});\n\t\ttoShow\n\t\t\t.hide()\n\t\t\t.animate( showProps, {\n\t\t\t\tduration: duration,\n\t\t\t\teasing: easing,\n\t\t\t\tcomplete: complete,\n\t\t\t\tstep: function( now, fx ) {\n\t\t\t\t\tfx.now = Math.round( now );\n\t\t\t\t\tif ( fx.prop !== \"height\" ) {\n\t\t\t\t\t\tadjust += fx.now;\n\t\t\t\t\t} else if ( that.options.heightStyle !== \"content\" ) {\n\t\t\t\t\t\tfx.now = Math.round( total - toHide.outerHeight() - adjust );\n\t\t\t\t\t\tadjust = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t},\n\n\t_toggleComplete: function( data ) {\n\t\tvar toHide = data.oldPanel;\n\n\t\ttoHide\n\t\t\t.removeClass( \"ui-accordion-content-active\" )\n\t\t\t.prev()\n\t\t\t\t.removeClass( \"ui-corner-top\" )\n\t\t\t\t.addClass( \"ui-corner-all\" );\n\n\t\t// Work around for rendering bug in IE (#5421)\n\t\tif ( toHide.length ) {\n\t\t\ttoHide.parent()[0].className = toHide.parent()[0].className;\n\t\t}\n\n\t\tthis._trigger( \"activate\", null, data );\n\t}\n});\n\n\n\n// DEPRECATED\nif ( $.uiBackCompat !== false ) {\n\t// navigation options\n\t(function( $, prototype ) {\n\t\t$.extend( prototype.options, {\n\t\t\tnavigation: false,\n\t\t\tnavigationFilter: function() {\n\t\t\t\treturn this.href.toLowerCase() === location.href.toLowerCase();\n\t\t\t}\n\t\t});\n\n\t\tvar _create = prototype._create;\n\t\tprototype._create = function() {\n\t\t\tif ( this.options.navigation ) {\n\t\t\t\tvar that = this,\n\t\t\t\t\theaders = this.element.find( this.options.header ),\n\t\t\t\t\tcontent = headers.next(),\n\t\t\t\t\tcurrent = headers.add( content )\n\t\t\t\t\t\t.find( \"a\" )\n\t\t\t\t\t\t.filter( this.options.navigationFilter )\n\t\t\t\t\t\t[ 0 ];\n\t\t\t\tif ( current ) {\n\t\t\t\t\theaders.add( content ).each( function( index ) {\n\t\t\t\t\t\tif ( $.contains( this, current ) ) {\n\t\t\t\t\t\t\tthat.options.active = Math.floor( index / 2 );\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\t_create.call( this );\n\t\t};\n\t}( jQuery, jQuery.ui.accordion.prototype ) );\n\n\t// height options\n\t(function( $, prototype ) {\n\t\t$.extend( prototype.options, {\n\t\t\theightStyle: null, // remove default so we fall back to old values\n\t\t\tautoHeight: true, // use heightStyle: \"auto\"\n\t\t\tclearStyle: false, // use heightStyle: \"content\"\n\t\t\tfillSpace: false // use heightStyle: \"fill\"\n\t\t});\n\n\t\tvar _create = prototype._create,\n\t\t\t_setOption = prototype._setOption;\n\n\t\t$.extend( prototype, {\n\t\t\t_create: function() {\n\t\t\t\tthis.options.heightStyle = this.options.heightStyle ||\n\t\t\t\t\tthis._mergeHeightStyle();\n\n\t\t\t\t_create.call( this );\n\t\t\t},\n\n\t\t\t_setOption: function( key ) {\n\t\t\t\tif ( key === \"autoHeight\" || key === \"clearStyle\" || key === \"fillSpace\" ) {\n\t\t\t\t\tthis.options.heightStyle = this._mergeHeightStyle();\n\t\t\t\t}\n\t\t\t\t_setOption.apply( this, arguments );\n\t\t\t},\n\n\t\t\t_mergeHeightStyle: function() {\n\t\t\t\tvar options = this.options;\n\n\t\t\t\tif ( options.fillSpace ) {\n\t\t\t\t\treturn \"fill\";\n\t\t\t\t}\n\n\t\t\t\tif ( options.clearStyle ) {\n\t\t\t\t\treturn \"content\";\n\t\t\t\t}\n\n\t\t\t\tif ( options.autoHeight ) {\n\t\t\t\t\treturn \"auto\";\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}( jQuery, jQuery.ui.accordion.prototype ) );\n\n\t// icon options\n\t(function( $, prototype ) {\n\t\t$.extend( prototype.options.icons, {\n\t\t\tactiveHeader: null, // remove default so we fall back to old values\n\t\t\theaderSelected: \"ui-icon-triangle-1-s\"\n\t\t});\n\n\t\tvar _createIcons = prototype._createIcons;\n\t\tprototype._createIcons = function() {\n\t\t\tif ( this.options.icons ) {\n\t\t\t\tthis.options.icons.activeHeader = this.options.icons.activeHeader ||\n\t\t\t\t\tthis.options.icons.headerSelected;\n\t\t\t}\n\t\t\t_createIcons.call( this );\n\t\t};\n\t}( jQuery, jQuery.ui.accordion.prototype ) );\n\n\t// expanded active option, activate method\n\t(function( $, prototype ) {\n\t\tprototype.activate = prototype._activate;\n\n\t\tvar _findActive = prototype._findActive;\n\t\tprototype._findActive = function( index ) {\n\t\t\tif ( index === -1 ) {\n\t\t\t\tindex = false;\n\t\t\t}\n\t\t\tif ( index && typeof index !== \"number\" ) {\n\t\t\t\tindex = this.headers.index( this.headers.filter( index ) );\n\t\t\t\tif ( index === -1 ) {\n\t\t\t\t\tindex = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn _findActive.call( this, index );\n\t\t};\n\t}( jQuery, jQuery.ui.accordion.prototype ) );\n\n\t// resize method\n\tjQuery.ui.accordion.prototype.resize = jQuery.ui.accordion.prototype.refresh;\n\n\t// change events\n\t(function( $, prototype ) {\n\t\t$.extend( prototype.options, {\n\t\t\tchange: null,\n\t\t\tchangestart: null\n\t\t});\n\n\t\tvar _trigger = prototype._trigger;\n\t\tprototype._trigger = function( type, event, data ) {\n\t\t\tvar ret = _trigger.apply( this, arguments );\n\t\t\tif ( !ret ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( type === \"beforeActivate\" ) {\n\t\t\t\tret = _trigger.call( this, \"changestart\", event, {\n\t\t\t\t\toldHeader: data.oldHeader,\n\t\t\t\t\toldContent: data.oldPanel,\n\t\t\t\t\tnewHeader: data.newHeader,\n\t\t\t\t\tnewContent: data.newPanel\n\t\t\t\t});\n\t\t\t} else if ( type === \"activate\" ) {\n\t\t\t\tret = _trigger.call( this, \"change\", event, {\n\t\t\t\t\toldHeader: data.oldHeader,\n\t\t\t\t\toldContent: data.oldPanel,\n\t\t\t\t\tnewHeader: data.newHeader,\n\t\t\t\t\tnewContent: data.newPanel\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn ret;\n\t\t};\n\t}( jQuery, jQuery.ui.accordion.prototype ) );\n\n\t// animated option\n\t// NOTE: this only provides support for \"slide\", \"bounceslide\", and easings\n\t// not the full $.ui.accordion.animations API\n\t(function( $, prototype ) {\n\t\t$.extend( prototype.options, {\n\t\t\tanimate: null,\n\t\t\tanimated: \"slide\"\n\t\t});\n\n\t\tvar _create = prototype._create;\n\t\tprototype._create = function() {\n\t\t\tvar options = this.options;\n\t\t\tif ( options.animate === null ) {\n\t\t\t\tif ( !options.animated ) {\n\t\t\t\t\toptions.animate = false;\n\t\t\t\t} else if ( options.animated === \"slide\" ) {\n\t\t\t\t\toptions.animate = 300;\n\t\t\t\t} else if ( options.animated === \"bounceslide\" ) {\n\t\t\t\t\toptions.animate = {\n\t\t\t\t\t\tduration: 200,\n\t\t\t\t\t\tdown: {\n\t\t\t\t\t\t\teasing: \"easeOutBounce\",\n\t\t\t\t\t\t\tduration: 1000\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\toptions.animate = options.animated;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t_create.call( this );\n\t\t};\n\t}( jQuery, jQuery.ui.accordion.prototype ) );\n}\n\n})( jQuery );\n(function( $, undefined ) {\n\n// used to prevent race conditions with remote data sources\nvar requestIndex = 0;\n\n$.widget( \"ui.autocomplete\", {\n\tversion: \"1.9.2\",\n\tdefaultElement: \"<input>\",\n\toptions: {\n\t\tappendTo: \"body\",\n\t\tautoFocus: false,\n\t\tdelay: 300,\n\t\tminLength: 1,\n\t\tposition: {\n\t\t\tmy: \"left top\",\n\t\t\tat: \"left bottom\",\n\t\t\tcollision: \"none\"\n\t\t},\n\t\tsource: null,\n\n\t\t// callbacks\n\t\tchange: null,\n\t\tclose: null,\n\t\tfocus: null,\n\t\topen: null,\n\t\tresponse: null,\n\t\tsearch: null,\n\t\tselect: null\n\t},\n\n\tpending: 0,\n\n\t_create: function() {\n\t\t// Some browsers only repeat keydown events, not keypress events,\n\t\t// so we use the suppressKeyPress flag to determine if we've already\n\t\t// handled the keydown event. #7269\n\t\t// Unfortunately the code for & in keypress is the same as the up arrow,\n\t\t// so we use the suppressKeyPressRepeat flag to avoid handling keypress\n\t\t// events when we know the keydown event was used to modify the\n\t\t// search term. #7799\n\t\tvar suppressKeyPress, suppressKeyPressRepeat, suppressInput;\n\n\t\tthis.isMultiLine = this._isMultiLine();\n\t\tthis.valueMethod = this.element[ this.element.is( \"input,textarea\" ) ? \"val\" : \"text\" ];\n\t\tthis.isNewMenu = true;\n\n\t\tthis.element\n\t\t\t.addClass( \"ui-autocomplete-input\" )\n\t\t\t.attr( \"autocomplete\", \"off\" );\n\n\t\tthis._on( this.element, {\n\t\t\tkeydown: function( event ) {\n\t\t\t\tif ( this.element.prop( \"readOnly\" ) ) {\n\t\t\t\t\tsuppressKeyPress = true;\n\t\t\t\t\tsuppressInput = true;\n\t\t\t\t\tsuppressKeyPressRepeat = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsuppressKeyPress = false;\n\t\t\t\tsuppressInput = false;\n\t\t\t\tsuppressKeyPressRepeat = false;\n\t\t\t\tvar keyCode = $.ui.keyCode;\n\t\t\t\tswitch( event.keyCode ) {\n\t\t\t\tcase keyCode.PAGE_UP:\n\t\t\t\t\tsuppressKeyPress = true;\n\t\t\t\t\tthis._move( \"previousPage\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.PAGE_DOWN:\n\t\t\t\t\tsuppressKeyPress = true;\n\t\t\t\t\tthis._move( \"nextPage\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.UP:\n\t\t\t\t\tsuppressKeyPress = true;\n\t\t\t\t\tthis._keyEvent( \"previous\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.DOWN:\n\t\t\t\t\tsuppressKeyPress = true;\n\t\t\t\t\tthis._keyEvent( \"next\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.ENTER:\n\t\t\t\tcase keyCode.NUMPAD_ENTER:\n\t\t\t\t\t// when menu is open and has focus\n\t\t\t\t\tif ( this.menu.active ) {\n\t\t\t\t\t\t// #6055 - Opera still allows the keypress to occur\n\t\t\t\t\t\t// which causes forms to submit\n\t\t\t\t\t\tsuppressKeyPress = true;\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tthis.menu.select( event );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.TAB:\n\t\t\t\t\tif ( this.menu.active ) {\n\t\t\t\t\t\tthis.menu.select( event );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.ESCAPE:\n\t\t\t\t\tif ( this.menu.element.is( \":visible\" ) ) {\n\t\t\t\t\t\tthis._value( this.term );\n\t\t\t\t\t\tthis.close( event );\n\t\t\t\t\t\t// Different browsers have different default behavior for escape\n\t\t\t\t\t\t// Single press can mean undo or clear\n\t\t\t\t\t\t// Double press in IE means clear the whole form\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tsuppressKeyPressRepeat = true;\n\t\t\t\t\t// search timeout should be triggered before the input value is changed\n\t\t\t\t\tthis._searchTimeout( event );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\t\t\tkeypress: function( event ) {\n\t\t\t\tif ( suppressKeyPress ) {\n\t\t\t\t\tsuppressKeyPress = false;\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( suppressKeyPressRepeat ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// replicate some key handlers to allow them to repeat in Firefox and Opera\n\t\t\t\tvar keyCode = $.ui.keyCode;\n\t\t\t\tswitch( event.keyCode ) {\n\t\t\t\tcase keyCode.PAGE_UP:\n\t\t\t\t\tthis._move( \"previousPage\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.PAGE_DOWN:\n\t\t\t\t\tthis._move( \"nextPage\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.UP:\n\t\t\t\t\tthis._keyEvent( \"previous\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.DOWN:\n\t\t\t\t\tthis._keyEvent( \"next\", event );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\t\t\tinput: function( event ) {\n\t\t\t\tif ( suppressInput ) {\n\t\t\t\t\tsuppressInput = false;\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis._searchTimeout( event );\n\t\t\t},\n\t\t\tfocus: function() {\n\t\t\t\tthis.selectedItem = null;\n\t\t\t\tthis.previous = this._value();\n\t\t\t},\n\t\t\tblur: function( event ) {\n\t\t\t\tif ( this.cancelBlur ) {\n\t\t\t\t\tdelete this.cancelBlur;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tclearTimeout( this.searching );\n\t\t\t\tthis.close( event );\n\t\t\t\tthis._change( event );\n\t\t\t}\n\t\t});\n\n\t\tthis._initSource();\n\t\tthis.menu = $( \"<ul>\" )\n\t\t\t.addClass( \"ui-autocomplete\" )\n\t\t\t.appendTo( this.document.find( this.options.appendTo || \"body\" )[ 0 ] )\n\t\t\t.menu({\n\t\t\t\t// custom key handling for now\n\t\t\t\tinput: $(),\n\t\t\t\t// disable ARIA support, the live region takes care of that\n\t\t\t\trole: null\n\t\t\t})\n\t\t\t.zIndex( this.element.zIndex() + 1 )\n\t\t\t.hide()\n\t\t\t.data( \"menu\" );\n\n\t\tthis._on( this.menu.element, {\n\t\t\tmousedown: function( event ) {\n\t\t\t\t// prevent moving focus out of the text field\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\t// IE doesn't prevent moving focus even with event.preventDefault()\n\t\t\t\t// so we set a flag to know when we should ignore the blur event\n\t\t\t\tthis.cancelBlur = true;\n\t\t\t\tthis._delay(function() {\n\t\t\t\t\tdelete this.cancelBlur;\n\t\t\t\t});\n\n\t\t\t\t// clicking on the scrollbar causes focus to shift to the body\n\t\t\t\t// but we can't detect a mouseup or a click immediately afterward\n\t\t\t\t// so we have to track the next mousedown and close the menu if\n\t\t\t\t// the user clicks somewhere outside of the autocomplete\n\t\t\t\tvar menuElement = this.menu.element[ 0 ];\n\t\t\t\tif ( !$( event.target ).closest( \".ui-menu-item\" ).length ) {\n\t\t\t\t\tthis._delay(function() {\n\t\t\t\t\t\tvar that = this;\n\t\t\t\t\t\tthis.document.one( \"mousedown\", function( event ) {\n\t\t\t\t\t\t\tif ( event.target !== that.element[ 0 ] &&\n\t\t\t\t\t\t\t\t\tevent.target !== menuElement &&\n\t\t\t\t\t\t\t\t\t!$.contains( menuElement, event.target ) ) {\n\t\t\t\t\t\t\t\tthat.close();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tmenufocus: function( event, ui ) {\n\t\t\t\t// #7024 - Prevent accidental activation of menu items in Firefox\n\t\t\t\tif ( this.isNewMenu ) {\n\t\t\t\t\tthis.isNewMenu = false;\n\t\t\t\t\tif ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) {\n\t\t\t\t\t\tthis.menu.blur();\n\n\t\t\t\t\t\tthis.document.one( \"mousemove\", function() {\n\t\t\t\t\t\t\t$( event.target ).trigger( event.originalEvent );\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// back compat for _renderItem using item.autocomplete, via #7810\n\t\t\t\t// TODO remove the fallback, see #8156\n\t\t\t\tvar item = ui.item.data( \"ui-autocomplete-item\" ) || ui.item.data( \"item.autocomplete\" );\n\t\t\t\tif ( false !== this._trigger( \"focus\", event, { item: item } ) ) {\n\t\t\t\t\t// use value to match what will end up in the input, if it was a key event\n\t\t\t\t\tif ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) {\n\t\t\t\t\t\tthis._value( item.value );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Normally the input is populated with the item's value as the\n\t\t\t\t\t// menu is navigated, causing screen readers to notice a change and\n\t\t\t\t\t// announce the item. Since the focus event was canceled, this doesn't\n\t\t\t\t\t// happen, so we update the live region so that screen readers can\n\t\t\t\t\t// still notice the change and announce it.\n\t\t\t\t\tthis.liveRegion.text( item.value );\n\t\t\t\t}\n\t\t\t},\n\t\t\tmenuselect: function( event, ui ) {\n\t\t\t\t// back compat for _renderItem using item.autocomplete, via #7810\n\t\t\t\t// TODO remove the fallback, see #8156\n\t\t\t\tvar item = ui.item.data( \"ui-autocomplete-item\" ) || ui.item.data( \"item.autocomplete\" ),\n\t\t\t\t\tprevious = this.previous;\n\n\t\t\t\t// only trigger when focus was lost (click on menu)\n\t\t\t\tif ( this.element[0] !== this.document[0].activeElement ) {\n\t\t\t\t\tthis.element.focus();\n\t\t\t\t\tthis.previous = previous;\n\t\t\t\t\t// #6109 - IE triggers two focus events and the second\n\t\t\t\t\t// is asynchronous, so we need to reset the previous\n\t\t\t\t\t// term synchronously and asynchronously :-(\n\t\t\t\t\tthis._delay(function() {\n\t\t\t\t\t\tthis.previous = previous;\n\t\t\t\t\t\tthis.selectedItem = item;\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif ( false !== this._trigger( \"select\", event, { item: item } ) ) {\n\t\t\t\t\tthis._value( item.value );\n\t\t\t\t}\n\t\t\t\t// reset the term after the select event\n\t\t\t\t// this allows custom select handling to work properly\n\t\t\t\tthis.term = this._value();\n\n\t\t\t\tthis.close( event );\n\t\t\t\tthis.selectedItem = item;\n\t\t\t}\n\t\t});\n\n\t\tthis.liveRegion = $( \"<span>\", {\n\t\t\t\trole: \"status\",\n\t\t\t\t\"aria-live\": \"polite\"\n\t\t\t})\n\t\t\t.addClass( \"ui-helper-hidden-accessible\" )\n\t\t\t.insertAfter( this.element );\n\n\t\tif ( $.fn.bgiframe ) {\n\t\t\tthis.menu.element.bgiframe();\n\t\t}\n\n\t\t// turning off autocomplete prevents the browser from remembering the\n\t\t// value when navigating through history, so we re-enable autocomplete\n\t\t// if the page is unloaded before the widget is destroyed. #7790\n\t\tthis._on( this.window, {\n\t\t\tbeforeunload: function() {\n\t\t\t\tthis.element.removeAttr( \"autocomplete\" );\n\t\t\t}\n\t\t});\n\t},\n\n\t_destroy: function() {\n\t\tclearTimeout( this.searching );\n\t\tthis.element\n\t\t\t.removeClass( \"ui-autocomplete-input\" )\n\t\t\t.removeAttr( \"autocomplete\" );\n\t\tthis.menu.element.remove();\n\t\tthis.liveRegion.remove();\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tthis._super( key, value );\n\t\tif ( key === \"source\" ) {\n\t\t\tthis._initSource();\n\t\t}\n\t\tif ( key === \"appendTo\" ) {\n\t\t\tthis.menu.element.appendTo( this.document.find( value || \"body\" )[0] );\n\t\t}\n\t\tif ( key === \"disabled\" && value && this.xhr ) {\n\t\t\tthis.xhr.abort();\n\t\t}\n\t},\n\n\t_isMultiLine: function() {\n\t\t// Textareas are always multi-line\n\t\tif ( this.element.is( \"textarea\" ) ) {\n\t\t\treturn true;\n\t\t}\n\t\t// Inputs are always single-line, even if inside a contentEditable element\n\t\t// IE also treats inputs as contentEditable\n\t\tif ( this.element.is( \"input\" ) ) {\n\t\t\treturn false;\n\t\t}\n\t\t// All other element types are determined by whether or not they're contentEditable\n\t\treturn this.element.prop( \"isContentEditable\" );\n\t},\n\n\t_initSource: function() {\n\t\tvar array, url,\n\t\t\tthat = this;\n\t\tif ( $.isArray(this.options.source) ) {\n\t\t\tarray = this.options.source;\n\t\t\tthis.source = function( request, response ) {\n\t\t\t\tresponse( $.ui.autocomplete.filter( array, request.term ) );\n\t\t\t};\n\t\t} else if ( typeof this.options.source === \"string\" ) {\n\t\t\turl = this.options.source;\n\t\t\tthis.source = function( request, response ) {\n\t\t\t\tif ( that.xhr ) {\n\t\t\t\t\tthat.xhr.abort();\n\t\t\t\t}\n\t\t\t\tthat.xhr = $.ajax({\n\t\t\t\t\turl: url,\n\t\t\t\t\tdata: request,\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\t\tresponse( data );\n\t\t\t\t\t},\n\t\t\t\t\terror: function() {\n\t\t\t\t\t\tresponse( [] );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\t\t} else {\n\t\t\tthis.source = this.options.source;\n\t\t}\n\t},\n\n\t_searchTimeout: function( event ) {\n\t\tclearTimeout( this.searching );\n\t\tthis.searching = this._delay(function() {\n\t\t\t// only search if the value has changed\n\t\t\tif ( this.term !== this._value() ) {\n\t\t\t\tthis.selectedItem = null;\n\t\t\t\tthis.search( null, event );\n\t\t\t}\n\t\t}, this.options.delay );\n\t},\n\n\tsearch: function( value, event ) {\n\t\tvalue = value != null ? value : this._value();\n\n\t\t// always save the actual value, not the one passed as an argument\n\t\tthis.term = this._value();\n\n\t\tif ( value.length < this.options.minLength ) {\n\t\t\treturn this.close( event );\n\t\t}\n\n\t\tif ( this._trigger( \"search\", event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this._search( value );\n\t},\n\n\t_search: function( value ) {\n\t\tthis.pending++;\n\t\tthis.element.addClass( \"ui-autocomplete-loading\" );\n\t\tthis.cancelSearch = false;\n\n\t\tthis.source( { term: value }, this._response() );\n\t},\n\n\t_response: function() {\n\t\tvar that = this,\n\t\t\tindex = ++requestIndex;\n\n\t\treturn function( content ) {\n\t\t\tif ( index === requestIndex ) {\n\t\t\t\tthat.__response( content );\n\t\t\t}\n\n\t\t\tthat.pending--;\n\t\t\tif ( !that.pending ) {\n\t\t\t\tthat.element.removeClass( \"ui-autocomplete-loading\" );\n\t\t\t}\n\t\t};\n\t},\n\n\t__response: function( content ) {\n\t\tif ( content ) {\n\t\t\tcontent = this._normalize( content );\n\t\t}\n\t\tthis._trigger( \"response\", null, { content: content } );\n\t\tif ( !this.options.disabled && content && content.length && !this.cancelSearch ) {\n\t\t\tthis._suggest( content );\n\t\t\tthis._trigger( \"open\" );\n\t\t} else {\n\t\t\t// use ._close() instead of .close() so we don't cancel future searches\n\t\t\tthis._close();\n\t\t}\n\t},\n\n\tclose: function( event ) {\n\t\tthis.cancelSearch = true;\n\t\tthis._close( event );\n\t},\n\n\t_close: function( event ) {\n\t\tif ( this.menu.element.is( \":visible\" ) ) {\n\t\t\tthis.menu.element.hide();\n\t\t\tthis.menu.blur();\n\t\t\tthis.isNewMenu = true;\n\t\t\tthis._trigger( \"close\", event );\n\t\t}\n\t},\n\n\t_change: function( event ) {\n\t\tif ( this.previous !== this._value() ) {\n\t\t\tthis._trigger( \"change\", event, { item: this.selectedItem } );\n\t\t}\n\t},\n\n\t_normalize: function( items ) {\n\t\t// assume all items have the right format when the first item is complete\n\t\tif ( items.length && items[0].label && items[0].value ) {\n\t\t\treturn items;\n\t\t}\n\t\treturn $.map( items, function( item ) {\n\t\t\tif ( typeof item === \"string\" ) {\n\t\t\t\treturn {\n\t\t\t\t\tlabel: item,\n\t\t\t\t\tvalue: item\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn $.extend({\n\t\t\t\tlabel: item.label || item.value,\n\t\t\t\tvalue: item.value || item.label\n\t\t\t}, item );\n\t\t});\n\t},\n\n\t_suggest: function( items ) {\n\t\tvar ul = this.menu.element\n\t\t\t.empty()\n\t\t\t.zIndex( this.element.zIndex() + 1 );\n\t\tthis._renderMenu( ul, items );\n\t\tthis.menu.refresh();\n\n\t\t// size and position menu\n\t\tul.show();\n\t\tthis._resizeMenu();\n\t\tul.position( $.extend({\n\t\t\tof: this.element\n\t\t}, this.options.position ));\n\n\t\tif ( this.options.autoFocus ) {\n\t\t\tthis.menu.next();\n\t\t}\n\t},\n\n\t_resizeMenu: function() {\n\t\tvar ul = this.menu.element;\n\t\tul.outerWidth( Math.max(\n\t\t\t// Firefox wraps long text (possibly a rounding bug)\n\t\t\t// so we add 1px to avoid the wrapping (#7513)\n\t\t\tul.width( \"\" ).outerWidth() + 1,\n\t\t\tthis.element.outerWidth()\n\t\t) );\n\t},\n\n\t_renderMenu: function( ul, items ) {\n\t\tvar that = this;\n\t\t$.each( items, function( index, item ) {\n\t\t\tthat._renderItemData( ul, item );\n\t\t});\n\t},\n\n\t_renderItemData: function( ul, item ) {\n\t\treturn this._renderItem( ul, item ).data( \"ui-autocomplete-item\", item );\n\t},\n\n\t_renderItem: function( ul, item ) {\n\t\treturn $( \"<li>\" )\n\t\t\t.append( $( \"<a>\" ).text( item.label ) )\n\t\t\t.appendTo( ul );\n\t},\n\n\t_move: function( direction, event ) {\n\t\tif ( !this.menu.element.is( \":visible\" ) ) {\n\t\t\tthis.search( null, event );\n\t\t\treturn;\n\t\t}\n\t\tif ( this.menu.isFirstItem() && /^previous/.test( direction ) ||\n\t\t\t\tthis.menu.isLastItem() && /^next/.test( direction ) ) {\n\t\t\tthis._value( this.term );\n\t\t\tthis.menu.blur();\n\t\t\treturn;\n\t\t}\n\t\tthis.menu[ direction ]( event );\n\t},\n\n\twidget: function() {\n\t\treturn this.menu.element;\n\t},\n\n\t_value: function() {\n\t\treturn this.valueMethod.apply( this.element, arguments );\n\t},\n\n\t_keyEvent: function( keyEvent, event ) {\n\t\tif ( !this.isMultiLine || this.menu.element.is( \":visible\" ) ) {\n\t\t\tthis._move( keyEvent, event );\n\n\t\t\t// prevents moving cursor to beginning/end of the text field in some browsers\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n});\n\n$.extend( $.ui.autocomplete, {\n\tescapeRegex: function( value ) {\n\t\treturn value.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\");\n\t},\n\tfilter: function(array, term) {\n\t\tvar matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), \"i\" );\n\t\treturn $.grep( array, function(value) {\n\t\t\treturn matcher.test( value.label || value.value || value );\n\t\t});\n\t}\n});\n\n\n// live region extension, adding a `messages` option\n// NOTE: This is an experimental API. We are still investigating\n// a full solution for string manipulation and internationalization.\n$.widget( \"ui.autocomplete\", $.ui.autocomplete, {\n\toptions: {\n\t\tmessages: {\n\t\t\tnoResults: \"No search results.\",\n\t\t\tresults: function( amount ) {\n\t\t\t\treturn amount + ( amount > 1 ? \" results are\" : \" result is\" ) +\n\t\t\t\t\t\" available, use up and down arrow keys to navigate.\";\n\t\t\t}\n\t\t}\n\t},\n\n\t__response: function( content ) {\n\t\tvar message;\n\t\tthis._superApply( arguments );\n\t\tif ( this.options.disabled || this.cancelSearch ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( content && content.length ) {\n\t\t\tmessage = this.options.messages.results( content.length );\n\t\t} else {\n\t\t\tmessage = this.options.messages.noResults;\n\t\t}\n\t\tthis.liveRegion.text( message );\n\t}\n});\n\n\n}( jQuery ));\n(function( $, undefined ) {\n\nvar lastActive, startXPos, startYPos, clickDragged,\n\tbaseClasses = \"ui-button ui-widget ui-state-default ui-corner-all\",\n\tstateClasses = \"ui-state-hover ui-state-active \",\n\ttypeClasses = \"ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only\",\n\tformResetHandler = function() {\n\t\tvar buttons = $( this ).find( \":ui-button\" );\n\t\tsetTimeout(function() {\n\t\t\tbuttons.button( \"refresh\" );\n\t\t}, 1 );\n\t},\n\tradioGroup = function( radio ) {\n\t\tvar name = radio.name,\n\t\t\tform = radio.form,\n\t\t\tradios = $( [] );\n\t\tif ( name ) {\n\t\t\tif ( form ) {\n\t\t\t\tradios = $( form ).find( \"[name='\" + name + \"']\" );\n\t\t\t} else {\n\t\t\t\tradios = $( \"[name='\" + name + \"']\", radio.ownerDocument )\n\t\t\t\t\t.filter(function() {\n\t\t\t\t\t\treturn !this.form;\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn radios;\n\t};\n\n$.widget( \"ui.button\", {\n\tversion: \"1.9.2\",\n\tdefaultElement: \"<button>\",\n\toptions: {\n\t\tdisabled: null,\n\t\ttext: true,\n\t\tlabel: null,\n\t\ticons: {\n\t\t\tprimary: null,\n\t\t\tsecondary: null\n\t\t}\n\t},\n\t_create: function() {\n\t\tthis.element.closest( \"form\" )\n\t\t\t.unbind( \"reset\" + this.eventNamespace )\n\t\t\t.bind( \"reset\" + this.eventNamespace, formResetHandler );\n\n\t\tif ( typeof this.options.disabled !== \"boolean\" ) {\n\t\t\tthis.options.disabled = !!this.element.prop( \"disabled\" );\n\t\t} else {\n\t\t\tthis.element.prop( \"disabled\", this.options.disabled );\n\t\t}\n\n\t\tthis._determineButtonType();\n\t\tthis.hasTitle = !!this.buttonElement.attr( \"title\" );\n\n\t\tvar that = this,\n\t\t\toptions = this.options,\n\t\t\ttoggleButton = this.type === \"checkbox\" || this.type === \"radio\",\n\t\t\tactiveClass = !toggleButton ? \"ui-state-active\" : \"\",\n\t\t\tfocusClass = \"ui-state-focus\";\n\n\t\tif ( options.label === null ) {\n\t\t\toptions.label = (this.type === \"input\" ? this.buttonElement.val() : this.buttonElement.html());\n\t\t}\n\n\t\tthis._hoverable( this.buttonElement );\n\n\t\tthis.buttonElement\n\t\t\t.addClass( baseClasses )\n\t\t\t.attr( \"role\", \"button\" )\n\t\t\t.bind( \"mouseenter\" + this.eventNamespace, function() {\n\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( this === lastActive ) {\n\t\t\t\t\t$( this ).addClass( \"ui-state-active\" );\n\t\t\t\t}\n\t\t\t})\n\t\t\t.bind( \"mouseleave\" + this.eventNamespace, function() {\n\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t$( this ).removeClass( activeClass );\n\t\t\t})\n\t\t\t.bind( \"click\" + this.eventNamespace, function( event ) {\n\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t}\n\t\t\t});\n\n\t\tthis.element\n\t\t\t.bind( \"focus\" + this.eventNamespace, function() {\n\t\t\t\t// no need to check disabled, focus won't be triggered anyway\n\t\t\t\tthat.buttonElement.addClass( focusClass );\n\t\t\t})\n\t\t\t.bind( \"blur\" + this.eventNamespace, function() {\n\t\t\t\tthat.buttonElement.removeClass( focusClass );\n\t\t\t});\n\n\t\tif ( toggleButton ) {\n\t\t\tthis.element.bind( \"change\" + this.eventNamespace, function() {\n\t\t\t\tif ( clickDragged ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthat.refresh();\n\t\t\t});\n\t\t\t// if mouse moves between mousedown and mouseup (drag) set clickDragged flag\n\t\t\t// prevents issue where button state changes but checkbox/radio checked state\n\t\t\t// does not in Firefox (see ticket #6970)\n\t\t\tthis.buttonElement\n\t\t\t\t.bind( \"mousedown\" + this.eventNamespace, function( event ) {\n\t\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tclickDragged = false;\n\t\t\t\t\tstartXPos = event.pageX;\n\t\t\t\t\tstartYPos = event.pageY;\n\t\t\t\t})\n\t\t\t\t.bind( \"mouseup\" + this.eventNamespace, function( event ) {\n\t\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif ( startXPos !== event.pageX || startYPos !== event.pageY ) {\n\t\t\t\t\t\tclickDragged = true;\n\t\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif ( this.type === \"checkbox\" ) {\n\t\t\tthis.buttonElement.bind( \"click\" + this.eventNamespace, function() {\n\t\t\t\tif ( options.disabled || clickDragged ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t$( this ).toggleClass( \"ui-state-active\" );\n\t\t\t\tthat.buttonElement.attr( \"aria-pressed\", that.element[0].checked );\n\t\t\t});\n\t\t} else if ( this.type === \"radio\" ) {\n\t\t\tthis.buttonElement.bind( \"click\" + this.eventNamespace, function() {\n\t\t\t\tif ( options.disabled || clickDragged ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t$( this ).addClass( \"ui-state-active\" );\n\t\t\t\tthat.buttonElement.attr( \"aria-pressed\", \"true\" );\n\n\t\t\t\tvar radio = that.element[ 0 ];\n\t\t\t\tradioGroup( radio )\n\t\t\t\t\t.not( radio )\n\t\t\t\t\t.map(function() {\n\t\t\t\t\t\treturn $( this ).button( \"widget\" )[ 0 ];\n\t\t\t\t\t})\n\t\t\t\t\t.removeClass( \"ui-state-active\" )\n\t\t\t\t\t.attr( \"aria-pressed\", \"false\" );\n\t\t\t});\n\t\t} else {\n\t\t\tthis.buttonElement\n\t\t\t\t.bind( \"mousedown\" + this.eventNamespace, function() {\n\t\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\t$( this ).addClass( \"ui-state-active\" );\n\t\t\t\t\tlastActive = this;\n\t\t\t\t\tthat.document.one( \"mouseup\", function() {\n\t\t\t\t\t\tlastActive = null;\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.bind( \"mouseup\" + this.eventNamespace, function() {\n\t\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\t$( this ).removeClass( \"ui-state-active\" );\n\t\t\t\t})\n\t\t\t\t.bind( \"keydown\" + this.eventNamespace, function(event) {\n\t\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tif ( event.keyCode === $.ui.keyCode.SPACE || event.keyCode === $.ui.keyCode.ENTER ) {\n\t\t\t\t\t\t$( this ).addClass( \"ui-state-active\" );\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.bind( \"keyup\" + this.eventNamespace, function() {\n\t\t\t\t\t$( this ).removeClass( \"ui-state-active\" );\n\t\t\t\t});\n\n\t\t\tif ( this.buttonElement.is(\"a\") ) {\n\t\t\t\tthis.buttonElement.keyup(function(event) {\n\t\t\t\t\tif ( event.keyCode === $.ui.keyCode.SPACE ) {\n\t\t\t\t\t\t// TODO pass through original event correctly (just as 2nd argument doesn't work)\n\t\t\t\t\t\t$( this ).click();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// TODO: pull out $.Widget's handling for the disabled option into\n\t\t// $.Widget.prototype._setOptionDisabled so it's easy to proxy and can\n\t\t// be overridden by individual plugins\n\t\tthis._setOption( \"disabled\", options.disabled );\n\t\tthis._resetButton();\n\t},\n\n\t_determineButtonType: function() {\n\t\tvar ancestor, labelSelector, checked;\n\n\t\tif ( this.element.is(\"[type=checkbox]\") ) {\n\t\t\tthis.type = \"checkbox\";\n\t\t} else if ( this.element.is(\"[type=radio]\") ) {\n\t\t\tthis.type = \"radio\";\n\t\t} else if ( this.element.is(\"input\") ) {\n\t\t\tthis.type = \"input\";\n\t\t} else {\n\t\t\tthis.type = \"button\";\n\t\t}\n\n\t\tif ( this.type === \"checkbox\" || this.type === \"radio\" ) {\n\t\t\t// we don't search against the document in case the element\n\t\t\t// is disconnected from the DOM\n\t\t\tancestor = this.element.parents().last();\n\t\t\tlabelSelector = \"label[for='\" + this.element.attr(\"id\") + \"']\";\n\t\t\tthis.buttonElement = ancestor.find( labelSelector );\n\t\t\tif ( !this.buttonElement.length ) {\n\t\t\t\tancestor = ancestor.length ? ancestor.siblings() : this.element.siblings();\n\t\t\t\tthis.buttonElement = ancestor.filter( labelSelector );\n\t\t\t\tif ( !this.buttonElement.length ) {\n\t\t\t\t\tthis.buttonElement = ancestor.find( labelSelector );\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.element.addClass( \"ui-helper-hidden-accessible\" );\n\n\t\t\tchecked = this.element.is( \":checked\" );\n\t\t\tif ( checked ) {\n\t\t\t\tthis.buttonElement.addClass( \"ui-state-active\" );\n\t\t\t}\n\t\t\tthis.buttonElement.prop( \"aria-pressed\", checked );\n\t\t} else {\n\t\t\tthis.buttonElement = this.element;\n\t\t}\n\t},\n\n\twidget: function() {\n\t\treturn this.buttonElement;\n\t},\n\n\t_destroy: function() {\n\t\tthis.element\n\t\t\t.removeClass( \"ui-helper-hidden-accessible\" );\n\t\tthis.buttonElement\n\t\t\t.removeClass( baseClasses + \" \" + stateClasses + \" \" + typeClasses )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"aria-pressed\" )\n\t\t\t.html( this.buttonElement.find(\".ui-button-text\").html() );\n\n\t\tif ( !this.hasTitle ) {\n\t\t\tthis.buttonElement.removeAttr( \"title\" );\n\t\t}\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tthis._super( key, value );\n\t\tif ( key === \"disabled\" ) {\n\t\t\tif ( value ) {\n\t\t\t\tthis.element.prop( \"disabled\", true );\n\t\t\t} else {\n\t\t\t\tthis.element.prop( \"disabled\", false );\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tthis._resetButton();\n\t},\n\n\trefresh: function() {\n\t\t//See #8237 & #8828\n\t\tvar isDisabled = this.element.is( \"input, button\" ) ? this.element.is( \":disabled\" ) : this.element.hasClass( \"ui-button-disabled\" );\n\n\t\tif ( isDisabled !== this.options.disabled ) {\n\t\t\tthis._setOption( \"disabled\", isDisabled );\n\t\t}\n\t\tif ( this.type === \"radio\" ) {\n\t\t\tradioGroup( this.element[0] ).each(function() {\n\t\t\t\tif ( $( this ).is( \":checked\" ) ) {\n\t\t\t\t\t$( this ).button( \"widget\" )\n\t\t\t\t\t\t.addClass( \"ui-state-active\" )\n\t\t\t\t\t\t.attr( \"aria-pressed\", \"true\" );\n\t\t\t\t} else {\n\t\t\t\t\t$( this ).button( \"widget\" )\n\t\t\t\t\t\t.removeClass( \"ui-state-active\" )\n\t\t\t\t\t\t.attr( \"aria-pressed\", \"false\" );\n\t\t\t\t}\n\t\t\t});\n\t\t} else if ( this.type === \"checkbox\" ) {\n\t\t\tif ( this.element.is( \":checked\" ) ) {\n\t\t\t\tthis.buttonElement\n\t\t\t\t\t.addClass( \"ui-state-active\" )\n\t\t\t\t\t.attr( \"aria-pressed\", \"true\" );\n\t\t\t} else {\n\t\t\t\tthis.buttonElement\n\t\t\t\t\t.removeClass( \"ui-state-active\" )\n\t\t\t\t\t.attr( \"aria-pressed\", \"false\" );\n\t\t\t}\n\t\t}\n\t},\n\n\t_resetButton: function() {\n\t\tif ( this.type === \"input\" ) {\n\t\t\tif ( this.options.label ) {\n\t\t\t\tthis.element.val( this.options.label );\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tvar buttonElement = this.buttonElement.removeClass( typeClasses ),\n\t\t\tbuttonText = $( \"<span></span>\", this.document[0] )\n\t\t\t\t.addClass( \"ui-button-text\" )\n\t\t\t\t.html( this.options.label )\n\t\t\t\t.appendTo( buttonElement.empty() )\n\t\t\t\t.text(),\n\t\t\ticons = this.options.icons,\n\t\t\tmultipleIcons = icons.primary && icons.secondary,\n\t\t\tbuttonClasses = [];\n\n\t\tif ( icons.primary || icons.secondary ) {\n\t\t\tif ( this.options.text ) {\n\t\t\t\tbuttonClasses.push( \"ui-button-text-icon\" + ( multipleIcons ? \"s\" : ( icons.primary ? \"-primary\" : \"-secondary\" ) ) );\n\t\t\t}\n\n\t\t\tif ( icons.primary ) {\n\t\t\t\tbuttonElement.prepend( \"<span class='ui-button-icon-primary ui-icon \" + icons.primary + \"'></span>\" );\n\t\t\t}\n\n\t\t\tif ( icons.secondary ) {\n\t\t\t\tbuttonElement.append( \"<span class='ui-button-icon-secondary ui-icon \" + icons.secondary + \"'></span>\" );\n\t\t\t}\n\n\t\t\tif ( !this.options.text ) {\n\t\t\t\tbuttonClasses.push( multipleIcons ? \"ui-button-icons-only\" : \"ui-button-icon-only\" );\n\n\t\t\t\tif ( !this.hasTitle ) {\n\t\t\t\t\tbuttonElement.attr( \"title\", $.trim( buttonText ) );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tbuttonClasses.push( \"ui-button-text-only\" );\n\t\t}\n\t\tbuttonElement.addClass( buttonClasses.join( \" \" ) );\n\t}\n});\n\n$.widget( \"ui.buttonset\", {\n\tversion: \"1.9.2\",\n\toptions: {\n\t\titems: \"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(button)\"\n\t},\n\n\t_create: function() {\n\t\tthis.element.addClass( \"ui-buttonset\" );\n\t},\n\n\t_init: function() {\n\t\tthis.refresh();\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis.buttons.button( \"option\", key, value );\n\t\t}\n\n\t\tthis._super( key, value );\n\t},\n\n\trefresh: function() {\n\t\tvar rtl = this.element.css( \"direction\" ) === \"rtl\";\n\n\t\tthis.buttons = this.element.find( this.options.items )\n\t\t\t.filter( \":ui-button\" )\n\t\t\t\t.button( \"refresh\" )\n\t\t\t.end()\n\t\t\t.not( \":ui-button\" )\n\t\t\t\t.button()\n\t\t\t.end()\n\t\t\t.map(function() {\n\t\t\t\treturn $( this ).button( \"widget\" )[ 0 ];\n\t\t\t})\n\t\t\t\t.removeClass( \"ui-corner-all ui-corner-left ui-corner-right\" )\n\t\t\t\t.filter( \":first\" )\n\t\t\t\t\t.addClass( rtl ? \"ui-corner-right\" : \"ui-corner-left\" )\n\t\t\t\t.end()\n\t\t\t\t.filter( \":last\" )\n\t\t\t\t\t.addClass( rtl ? \"ui-corner-left\" : \"ui-corner-right\" )\n\t\t\t\t.end()\n\t\t\t.end();\n\t},\n\n\t_destroy: function() {\n\t\tthis.element.removeClass( \"ui-buttonset\" );\n\t\tthis.buttons\n\t\t\t.map(function() {\n\t\t\t\treturn $( this ).button( \"widget\" )[ 0 ];\n\t\t\t})\n\t\t\t\t.removeClass( \"ui-corner-left ui-corner-right\" )\n\t\t\t.end()\n\t\t\t.button( \"destroy\" );\n\t}\n});\n\n}( jQuery ) );\n(function( $, undefined ) {\n\n$.extend($.ui, { datepicker: { version: \"1.9.2\" } });\n\nvar PROP_NAME = 'datepicker';\nvar dpuuid = new Date().getTime();\nvar instActive;\n\n/* Date picker manager.\n   Use the singleton instance of this class, $.datepicker, to interact with the date picker.\n   Settings for (groups of) date pickers are maintained in an instance object,\n   allowing multiple different settings on the same page. */\n\nfunction Datepicker() {\n\tthis.debug = false; // Change this to true to start debugging\n\tthis._curInst = null; // The current instance in use\n\tthis._keyEvent = false; // If the last event was a key event\n\tthis._disabledInputs = []; // List of date picker inputs that have been disabled\n\tthis._datepickerShowing = false; // True if the popup picker is showing , false if not\n\tthis._inDialog = false; // True if showing within a \"dialog\", false if not\n\tthis._mainDivId = 'ui-datepicker-div'; // The ID of the main datepicker division\n\tthis._inlineClass = 'ui-datepicker-inline'; // The name of the inline marker class\n\tthis._appendClass = 'ui-datepicker-append'; // The name of the append marker class\n\tthis._triggerClass = 'ui-datepicker-trigger'; // The name of the trigger marker class\n\tthis._dialogClass = 'ui-datepicker-dialog'; // The name of the dialog marker class\n\tthis._disableClass = 'ui-datepicker-disabled'; // The name of the disabled covering marker class\n\tthis._unselectableClass = 'ui-datepicker-unselectable'; // The name of the unselectable cell marker class\n\tthis._currentClass = 'ui-datepicker-current-day'; // The name of the current day marker class\n\tthis._dayOverClass = 'ui-datepicker-days-cell-over'; // The name of the day hover marker class\n\tthis.regional = []; // Available regional settings, indexed by language code\n\tthis.regional[''] = { // Default regional settings\n\t\tcloseText: 'Done', // Display text for close link\n\t\tprevText: 'Prev', // Display text for previous month link\n\t\tnextText: 'Next', // Display text for next month link\n\t\tcurrentText: 'Today', // Display text for current month link\n\t\tmonthNames: ['January','February','March','April','May','June',\n\t\t\t'July','August','September','October','November','December'], // Names of months for drop-down and formatting\n\t\tmonthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], // For formatting\n\t\tdayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], // For formatting\n\t\tdayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], // For formatting\n\t\tdayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'], // Column headings for days starting at Sunday\n\t\tweekHeader: 'Wk', // Column header for week of the year\n\t\tdateFormat: 'mm/dd/yy', // See format options on parseDate\n\t\tfirstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ...\n\t\tisRTL: false, // True if right-to-left language, false if left-to-right\n\t\tshowMonthAfterYear: false, // True if the year select precedes month, false for month then year\n\t\tyearSuffix: '' // Additional text to append to the year in the month headers\n\t};\n\tthis._defaults = { // Global defaults for all the date picker instances\n\t\tshowOn: 'focus', // 'focus' for popup on focus,\n\t\t\t// 'button' for trigger button, or 'both' for either\n\t\tshowAnim: 'fadeIn', // Name of jQuery animation for popup\n\t\tshowOptions: {}, // Options for enhanced animations\n\t\tdefaultDate: null, // Used when field is blank: actual date,\n\t\t\t// +/-number for offset from today, null for today\n\t\tappendText: '', // Display text following the input box, e.g. showing the format\n\t\tbuttonText: '...', // Text for trigger button\n\t\tbuttonImage: '', // URL for trigger button image\n\t\tbuttonImageOnly: false, // True if the image appears alone, false if it appears on a button\n\t\thideIfNoPrevNext: false, // True to hide next/previous month links\n\t\t\t// if not applicable, false to just disable them\n\t\tnavigationAsDateFormat: false, // True if date formatting applied to prev/today/next links\n\t\tgotoCurrent: false, // True if today link goes back to current selection instead\n\t\tchangeMonth: false, // True if month can be selected directly, false if only prev/next\n\t\tchangeYear: false, // True if year can be selected directly, false if only prev/next\n\t\tyearRange: 'c-10:c+10', // Range of years to display in drop-down,\n\t\t\t// either relative to today's year (-nn:+nn), relative to currently displayed year\n\t\t\t// (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n)\n\t\tshowOtherMonths: false, // True to show dates in other months, false to leave blank\n\t\tselectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable\n\t\tshowWeek: false, // True to show week of the year, false to not show it\n\t\tcalculateWeek: this.iso8601Week, // How to calculate the week of the year,\n\t\t\t// takes a Date and returns the number of the week for it\n\t\tshortYearCutoff: '+10', // Short year values < this are in the current century,\n\t\t\t// > this are in the previous century,\n\t\t\t// string value starting with '+' for current year + value\n\t\tminDate: null, // The earliest selectable date, or null for no limit\n\t\tmaxDate: null, // The latest selectable date, or null for no limit\n\t\tduration: 'fast', // Duration of display/closure\n\t\tbeforeShowDay: null, // Function that takes a date and returns an array with\n\t\t\t// [0] = true if selectable, false if not, [1] = custom CSS class name(s) or '',\n\t\t\t// [2] = cell title (optional), e.g. $.datepicker.noWeekends\n\t\tbeforeShow: null, // Function that takes an input field and\n\t\t\t// returns a set of custom settings for the date picker\n\t\tonSelect: null, // Define a callback function when a date is selected\n\t\tonChangeMonthYear: null, // Define a callback function when the month or year is changed\n\t\tonClose: null, // Define a callback function when the datepicker is closed\n\t\tnumberOfMonths: 1, // Number of months to show at a time\n\t\tshowCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0)\n\t\tstepMonths: 1, // Number of months to step back/forward\n\t\tstepBigMonths: 12, // Number of months to step back/forward for the big links\n\t\taltField: '', // Selector for an alternate field to store selected dates into\n\t\taltFormat: '', // The date format to use for the alternate field\n\t\tconstrainInput: true, // The input is constrained by the current date format\n\t\tshowButtonPanel: false, // True to show button panel, false to not show it\n\t\tautoSize: false, // True to size the input for the date format, false to leave as is\n\t\tdisabled: false // The initial disabled state\n\t};\n\t$.extend(this._defaults, this.regional['']);\n\tthis.dpDiv = bindHover($('<div id=\"' + this._mainDivId + '\" class=\"ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all\"></div>'));\n}\n\n$.extend(Datepicker.prototype, {\n\t/* Class name added to elements to indicate already configured with a date picker. */\n\tmarkerClassName: 'hasDatepicker',\n\n\t//Keep track of the maximum number of rows displayed (see #7043)\n\tmaxRows: 4,\n\n\t/* Debug logging (if enabled). */\n\tlog: function () {\n\t\tif (this.debug)\n\t\t\tconsole.log.apply('', arguments);\n\t},\n\n\t// TODO rename to \"widget\" when switching to widget factory\n\t_widgetDatepicker: function() {\n\t\treturn this.dpDiv;\n\t},\n\n\t/* Override the default settings for all instances of the date picker.\n\t   @param  settings  object - the new settings to use as defaults (anonymous object)\n\t   @return the manager object */\n\tsetDefaults: function(settings) {\n\t\textendRemove(this._defaults, settings || {});\n\t\treturn this;\n\t},\n\n\t/* Attach the date picker to a jQuery selection.\n\t   @param  target    element - the target input field or division or span\n\t   @param  settings  object - the new settings to use for this date picker instance (anonymous) */\n\t_attachDatepicker: function(target, settings) {\n\t\t// check for settings on the control itself - in namespace 'date:'\n\t\tvar inlineSettings = null;\n\t\tfor (var attrName in this._defaults) {\n\t\t\tvar attrValue = target.getAttribute('date:' + attrName);\n\t\t\tif (attrValue) {\n\t\t\t\tinlineSettings = inlineSettings || {};\n\t\t\t\ttry {\n\t\t\t\t\tinlineSettings[attrName] = eval(attrValue);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tinlineSettings[attrName] = attrValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tvar nodeName = target.nodeName.toLowerCase();\n\t\tvar inline = (nodeName == 'div' || nodeName == 'span');\n\t\tif (!target.id) {\n\t\t\tthis.uuid += 1;\n\t\t\ttarget.id = 'dp' + this.uuid;\n\t\t}\n\t\tvar inst = this._newInst($(target), inline);\n\t\tinst.settings = $.extend({}, settings || {}, inlineSettings || {});\n\t\tif (nodeName == 'input') {\n\t\t\tthis._connectDatepicker(target, inst);\n\t\t} else if (inline) {\n\t\t\tthis._inlineDatepicker(target, inst);\n\t\t}\n\t},\n\n\t/* Create a new instance object. */\n\t_newInst: function(target, inline) {\n\t\tvar id = target[0].id.replace(/([^A-Za-z0-9_-])/g, '\\\\\\\\$1'); // escape jQuery meta chars\n\t\treturn {id: id, input: target, // associated target\n\t\t\tselectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection\n\t\t\tdrawMonth: 0, drawYear: 0, // month being drawn\n\t\t\tinline: inline, // is datepicker inline or not\n\t\t\tdpDiv: (!inline ? this.dpDiv : // presentation div\n\t\t\tbindHover($('<div class=\"' + this._inlineClass + ' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all\"></div>')))};\n\t},\n\n\t/* Attach the date picker to an input field. */\n\t_connectDatepicker: function(target, inst) {\n\t\tvar input = $(target);\n\t\tinst.append = $([]);\n\t\tinst.trigger = $([]);\n\t\tif (input.hasClass(this.markerClassName))\n\t\t\treturn;\n\t\tthis._attachments(input, inst);\n\t\tinput.addClass(this.markerClassName).keydown(this._doKeyDown).\n\t\t\tkeypress(this._doKeyPress).keyup(this._doKeyUp).\n\t\t\tbind(\"setData.datepicker\", function(event, key, value) {\n\t\t\t\tinst.settings[key] = value;\n\t\t\t}).bind(\"getData.datepicker\", function(event, key) {\n\t\t\t\treturn this._get(inst, key);\n\t\t\t});\n\t\tthis._autoSize(inst);\n\t\t$.data(target, PROP_NAME, inst);\n\t\t//If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665)\n\t\tif( inst.settings.disabled ) {\n\t\t\tthis._disableDatepicker( target );\n\t\t}\n\t},\n\n\t/* Make attachments based on settings. */\n\t_attachments: function(input, inst) {\n\t\tvar appendText = this._get(inst, 'appendText');\n\t\tvar isRTL = this._get(inst, 'isRTL');\n\t\tif (inst.append)\n\t\t\tinst.append.remove();\n\t\tif (appendText) {\n\t\t\tinst.append = $('<span class=\"' + this._appendClass + '\">' + appendText + '</span>');\n\t\t\tinput[isRTL ? 'before' : 'after'](inst.append);\n\t\t}\n\t\tinput.unbind('focus', this._showDatepicker);\n\t\tif (inst.trigger)\n\t\t\tinst.trigger.remove();\n\t\tvar showOn = this._get(inst, 'showOn');\n\t\tif (showOn == 'focus' || showOn == 'both') // pop-up date picker when in the marked field\n\t\t\tinput.focus(this._showDatepicker);\n\t\tif (showOn == 'button' || showOn == 'both') { // pop-up date picker when button clicked\n\t\t\tvar buttonText = this._get(inst, 'buttonText');\n\t\t\tvar buttonImage = this._get(inst, 'buttonImage');\n\t\t\tinst.trigger = $(this._get(inst, 'buttonImageOnly') ?\n\t\t\t\t$('<img/>').addClass(this._triggerClass).\n\t\t\t\t\tattr({ src: buttonImage, alt: buttonText, title: buttonText }) :\n\t\t\t\t$('<button type=\"button\"></button>').addClass(this._triggerClass).\n\t\t\t\t\thtml(buttonImage == '' ? buttonText : $('<img/>').attr(\n\t\t\t\t\t{ src:buttonImage, alt:buttonText, title:buttonText })));\n\t\t\tinput[isRTL ? 'before' : 'after'](inst.trigger);\n\t\t\tinst.trigger.click(function() {\n\t\t\t\tif ($.datepicker._datepickerShowing && $.datepicker._lastInput == input[0])\n\t\t\t\t\t$.datepicker._hideDatepicker();\n\t\t\t\telse if ($.datepicker._datepickerShowing && $.datepicker._lastInput != input[0]) {\n\t\t\t\t\t$.datepicker._hideDatepicker();\n\t\t\t\t\t$.datepicker._showDatepicker(input[0]);\n\t\t\t\t} else\n\t\t\t\t\t$.datepicker._showDatepicker(input[0]);\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}\n\t},\n\n\t/* Apply the maximum length for the date format. */\n\t_autoSize: function(inst) {\n\t\tif (this._get(inst, 'autoSize') && !inst.inline) {\n\t\t\tvar date = new Date(2009, 12 - 1, 20); // Ensure double digits\n\t\t\tvar dateFormat = this._get(inst, 'dateFormat');\n\t\t\tif (dateFormat.match(/[DM]/)) {\n\t\t\t\tvar findMax = function(names) {\n\t\t\t\t\tvar max = 0;\n\t\t\t\t\tvar maxI = 0;\n\t\t\t\t\tfor (var i = 0; i < names.length; i++) {\n\t\t\t\t\t\tif (names[i].length > max) {\n\t\t\t\t\t\t\tmax = names[i].length;\n\t\t\t\t\t\t\tmaxI = i;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn maxI;\n\t\t\t\t};\n\t\t\t\tdate.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ?\n\t\t\t\t\t'monthNames' : 'monthNamesShort'))));\n\t\t\t\tdate.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ?\n\t\t\t\t\t'dayNames' : 'dayNamesShort'))) + 20 - date.getDay());\n\t\t\t}\n\t\t\tinst.input.attr('size', this._formatDate(inst, date).length);\n\t\t}\n\t},\n\n\t/* Attach an inline date picker to a div. */\n\t_inlineDatepicker: function(target, inst) {\n\t\tvar divSpan = $(target);\n\t\tif (divSpan.hasClass(this.markerClassName))\n\t\t\treturn;\n\t\tdivSpan.addClass(this.markerClassName).append(inst.dpDiv).\n\t\t\tbind(\"setData.datepicker\", function(event, key, value){\n\t\t\t\tinst.settings[key] = value;\n\t\t\t}).bind(\"getData.datepicker\", function(event, key){\n\t\t\t\treturn this._get(inst, key);\n\t\t\t});\n\t\t$.data(target, PROP_NAME, inst);\n\t\tthis._setDate(inst, this._getDefaultDate(inst), true);\n\t\tthis._updateDatepicker(inst);\n\t\tthis._updateAlternate(inst);\n\t\t//If disabled option is true, disable the datepicker before showing it (see ticket #5665)\n\t\tif( inst.settings.disabled ) {\n\t\t\tthis._disableDatepicker( target );\n\t\t}\n\t\t// Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements\n\t\t// http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height\n\t\tinst.dpDiv.css( \"display\", \"block\" );\n\t},\n\n\t/* Pop-up the date picker in a \"dialog\" box.\n\t   @param  input     element - ignored\n\t   @param  date      string or Date - the initial date to display\n\t   @param  onSelect  function - the function to call when a date is selected\n\t   @param  settings  object - update the dialog date picker instance's settings (anonymous object)\n\t   @param  pos       int[2] - coordinates for the dialog's position within the screen or\n\t                     event - with x/y coordinates or\n\t                     leave empty for default (screen centre)\n\t   @return the manager object */\n\t_dialogDatepicker: function(input, date, onSelect, settings, pos) {\n\t\tvar inst = this._dialogInst; // internal instance\n\t\tif (!inst) {\n\t\t\tthis.uuid += 1;\n\t\t\tvar id = 'dp' + this.uuid;\n\t\t\tthis._dialogInput = $('<input type=\"text\" id=\"' + id +\n\t\t\t\t'\" style=\"position: absolute; top: -100px; width: 0px;\"/>');\n\t\t\tthis._dialogInput.keydown(this._doKeyDown);\n\t\t\t$('body').append(this._dialogInput);\n\t\t\tinst = this._dialogInst = this._newInst(this._dialogInput, false);\n\t\t\tinst.settings = {};\n\t\t\t$.data(this._dialogInput[0], PROP_NAME, inst);\n\t\t}\n\t\textendRemove(inst.settings, settings || {});\n\t\tdate = (date && date.constructor == Date ? this._formatDate(inst, date) : date);\n\t\tthis._dialogInput.val(date);\n\n\t\tthis._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null);\n\t\tif (!this._pos) {\n\t\t\tvar browserWidth = document.documentElement.clientWidth;\n\t\t\tvar browserHeight = document.documentElement.clientHeight;\n\t\t\tvar scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;\n\t\t\tvar scrollY = document.documentElement.scrollTop || document.body.scrollTop;\n\t\t\tthis._pos = // should use actual width/height below\n\t\t\t\t[(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY];\n\t\t}\n\n\t\t// move input on screen for focus, but hidden behind dialog\n\t\tthis._dialogInput.css('left', (this._pos[0] + 20) + 'px').css('top', this._pos[1] + 'px');\n\t\tinst.settings.onSelect = onSelect;\n\t\tthis._inDialog = true;\n\t\tthis.dpDiv.addClass(this._dialogClass);\n\t\tthis._showDatepicker(this._dialogInput[0]);\n\t\tif ($.blockUI)\n\t\t\t$.blockUI(this.dpDiv);\n\t\t$.data(this._dialogInput[0], PROP_NAME, inst);\n\t\treturn this;\n\t},\n\n\t/* Detach a datepicker from its control.\n\t   @param  target    element - the target input field or division or span */\n\t_destroyDatepicker: function(target) {\n\t\tvar $target = $(target);\n\t\tvar inst = $.data(target, PROP_NAME);\n\t\tif (!$target.hasClass(this.markerClassName)) {\n\t\t\treturn;\n\t\t}\n\t\tvar nodeName = target.nodeName.toLowerCase();\n\t\t$.removeData(target, PROP_NAME);\n\t\tif (nodeName == 'input') {\n\t\t\tinst.append.remove();\n\t\t\tinst.trigger.remove();\n\t\t\t$target.removeClass(this.markerClassName).\n\t\t\t\tunbind('focus', this._showDatepicker).\n\t\t\t\tunbind('keydown', this._doKeyDown).\n\t\t\t\tunbind('keypress', this._doKeyPress).\n\t\t\t\tunbind('keyup', this._doKeyUp);\n\t\t} else if (nodeName == 'div' || nodeName == 'span')\n\t\t\t$target.removeClass(this.markerClassName).empty();\n\t},\n\n\t/* Enable the date picker to a jQuery selection.\n\t   @param  target    element - the target input field or division or span */\n\t_enableDatepicker: function(target) {\n\t\tvar $target = $(target);\n\t\tvar inst = $.data(target, PROP_NAME);\n\t\tif (!$target.hasClass(this.markerClassName)) {\n\t\t\treturn;\n\t\t}\n\t\tvar nodeName = target.nodeName.toLowerCase();\n\t\tif (nodeName == 'input') {\n\t\t\ttarget.disabled = false;\n\t\t\tinst.trigger.filter('button').\n\t\t\t\teach(function() { this.disabled = false; }).end().\n\t\t\t\tfilter('img').css({opacity: '1.0', cursor: ''});\n\t\t}\n\t\telse if (nodeName == 'div' || nodeName == 'span') {\n\t\t\tvar inline = $target.children('.' + this._inlineClass);\n\t\t\tinline.children().removeClass('ui-state-disabled');\n\t\t\tinline.find(\"select.ui-datepicker-month, select.ui-datepicker-year\").\n\t\t\t\tprop(\"disabled\", false);\n\t\t}\n\t\tthis._disabledInputs = $.map(this._disabledInputs,\n\t\t\tfunction(value) { return (value == target ? null : value); }); // delete entry\n\t},\n\n\t/* Disable the date picker to a jQuery selection.\n\t   @param  target    element - the target input field or division or span */\n\t_disableDatepicker: function(target) {\n\t\tvar $target = $(target);\n\t\tvar inst = $.data(target, PROP_NAME);\n\t\tif (!$target.hasClass(this.markerClassName)) {\n\t\t\treturn;\n\t\t}\n\t\tvar nodeName = target.nodeName.toLowerCase();\n\t\tif (nodeName == 'input') {\n\t\t\ttarget.disabled = true;\n\t\t\tinst.trigger.filter('button').\n\t\t\t\teach(function() { this.disabled = true; }).end().\n\t\t\t\tfilter('img').css({opacity: '0.5', cursor: 'default'});\n\t\t}\n\t\telse if (nodeName == 'div' || nodeName == 'span') {\n\t\t\tvar inline = $target.children('.' + this._inlineClass);\n\t\t\tinline.children().addClass('ui-state-disabled');\n\t\t\tinline.find(\"select.ui-datepicker-month, select.ui-datepicker-year\").\n\t\t\t\tprop(\"disabled\", true);\n\t\t}\n\t\tthis._disabledInputs = $.map(this._disabledInputs,\n\t\t\tfunction(value) { return (value == target ? null : value); }); // delete entry\n\t\tthis._disabledInputs[this._disabledInputs.length] = target;\n\t},\n\n\t/* Is the first field in a jQuery collection disabled as a datepicker?\n\t   @param  target    element - the target input field or division or span\n\t   @return boolean - true if disabled, false if enabled */\n\t_isDisabledDatepicker: function(target) {\n\t\tif (!target) {\n\t\t\treturn false;\n\t\t}\n\t\tfor (var i = 0; i < this._disabledInputs.length; i++) {\n\t\t\tif (this._disabledInputs[i] == target)\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\t/* Retrieve the instance data for the target control.\n\t   @param  target  element - the target input field or division or span\n\t   @return  object - the associated instance data\n\t   @throws  error if a jQuery problem getting data */\n\t_getInst: function(target) {\n\t\ttry {\n\t\t\treturn $.data(target, PROP_NAME);\n\t\t}\n\t\tcatch (err) {\n\t\t\tthrow 'Missing instance data for this datepicker';\n\t\t}\n\t},\n\n\t/* Update or retrieve the settings for a date picker attached to an input field or division.\n\t   @param  target  element - the target input field or division or span\n\t   @param  name    object - the new settings to update or\n\t                   string - the name of the setting to change or retrieve,\n\t                   when retrieving also 'all' for all instance settings or\n\t                   'defaults' for all global defaults\n\t   @param  value   any - the new value for the setting\n\t                   (omit if above is an object or to retrieve a value) */\n\t_optionDatepicker: function(target, name, value) {\n\t\tvar inst = this._getInst(target);\n\t\tif (arguments.length == 2 && typeof name == 'string') {\n\t\t\treturn (name == 'defaults' ? $.extend({}, $.datepicker._defaults) :\n\t\t\t\t(inst ? (name == 'all' ? $.extend({}, inst.settings) :\n\t\t\t\tthis._get(inst, name)) : null));\n\t\t}\n\t\tvar settings = name || {};\n\t\tif (typeof name == 'string') {\n\t\t\tsettings = {};\n\t\t\tsettings[name] = value;\n\t\t}\n\t\tif (inst) {\n\t\t\tif (this._curInst == inst) {\n\t\t\t\tthis._hideDatepicker();\n\t\t\t}\n\t\t\tvar date = this._getDateDatepicker(target, true);\n\t\t\tvar minDate = this._getMinMaxDate(inst, 'min');\n\t\t\tvar maxDate = this._getMinMaxDate(inst, 'max');\n\t\t\textendRemove(inst.settings, settings);\n\t\t\t// reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided\n\t\t\tif (minDate !== null && settings['dateFormat'] !== undefined && settings['minDate'] === undefined)\n\t\t\t\tinst.settings.minDate = this._formatDate(inst, minDate);\n\t\t\tif (maxDate !== null && settings['dateFormat'] !== undefined && settings['maxDate'] === undefined)\n\t\t\t\tinst.settings.maxDate = this._formatDate(inst, maxDate);\n\t\t\tthis._attachments($(target), inst);\n\t\t\tthis._autoSize(inst);\n\t\t\tthis._setDate(inst, date);\n\t\t\tthis._updateAlternate(inst);\n\t\t\tthis._updateDatepicker(inst);\n\t\t}\n\t},\n\n\t// change method deprecated\n\t_changeDatepicker: function(target, name, value) {\n\t\tthis._optionDatepicker(target, name, value);\n\t},\n\n\t/* Redraw the date picker attached to an input field or division.\n\t   @param  target  element - the target input field or division or span */\n\t_refreshDatepicker: function(target) {\n\t\tvar inst = this._getInst(target);\n\t\tif (inst) {\n\t\t\tthis._updateDatepicker(inst);\n\t\t}\n\t},\n\n\t/* Set the dates for a jQuery selection.\n\t   @param  target   element - the target input field or division or span\n\t   @param  date     Date - the new date */\n\t_setDateDatepicker: function(target, date) {\n\t\tvar inst = this._getInst(target);\n\t\tif (inst) {\n\t\t\tthis._setDate(inst, date);\n\t\t\tthis._updateDatepicker(inst);\n\t\t\tthis._updateAlternate(inst);\n\t\t}\n\t},\n\n\t/* Get the date(s) for the first entry in a jQuery selection.\n\t   @param  target     element - the target input field or division or span\n\t   @param  noDefault  boolean - true if no default date is to be used\n\t   @return Date - the current date */\n\t_getDateDatepicker: function(target, noDefault) {\n\t\tvar inst = this._getInst(target);\n\t\tif (inst && !inst.inline)\n\t\t\tthis._setDateFromField(inst, noDefault);\n\t\treturn (inst ? this._getDate(inst) : null);\n\t},\n\n\t/* Handle keystrokes. */\n\t_doKeyDown: function(event) {\n\t\tvar inst = $.datepicker._getInst(event.target);\n\t\tvar handled = true;\n\t\tvar isRTL = inst.dpDiv.is('.ui-datepicker-rtl');\n\t\tinst._keyEvent = true;\n\t\tif ($.datepicker._datepickerShowing)\n\t\t\tswitch (event.keyCode) {\n\t\t\t\tcase 9: $.datepicker._hideDatepicker();\n\t\t\t\t\t\thandled = false;\n\t\t\t\t\t\tbreak; // hide on tab out\n\t\t\t\tcase 13: var sel = $('td.' + $.datepicker._dayOverClass + ':not(.' +\n\t\t\t\t\t\t\t\t\t$.datepicker._currentClass + ')', inst.dpDiv);\n\t\t\t\t\t\tif (sel[0])\n\t\t\t\t\t\t\t$.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]);\n\t\t\t\t\t\t\tvar onSelect = $.datepicker._get(inst, 'onSelect');\n\t\t\t\t\t\t\tif (onSelect) {\n\t\t\t\t\t\t\t\tvar dateStr = $.datepicker._formatDate(inst);\n\n\t\t\t\t\t\t\t\t// trigger custom callback\n\t\t\t\t\t\t\t\tonSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t$.datepicker._hideDatepicker();\n\t\t\t\t\t\treturn false; // don't submit the form\n\t\t\t\t\t\tbreak; // select the value on enter\n\t\t\t\tcase 27: $.datepicker._hideDatepicker();\n\t\t\t\t\t\tbreak; // hide on escape\n\t\t\t\tcase 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ?\n\t\t\t\t\t\t\t-$.datepicker._get(inst, 'stepBigMonths') :\n\t\t\t\t\t\t\t-$.datepicker._get(inst, 'stepMonths')), 'M');\n\t\t\t\t\t\tbreak; // previous month/year on page up/+ ctrl\n\t\t\t\tcase 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ?\n\t\t\t\t\t\t\t+$.datepicker._get(inst, 'stepBigMonths') :\n\t\t\t\t\t\t\t+$.datepicker._get(inst, 'stepMonths')), 'M');\n\t\t\t\t\t\tbreak; // next month/year on page down/+ ctrl\n\t\t\t\tcase 35: if (event.ctrlKey || event.metaKey) $.datepicker._clearDate(event.target);\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n\t\t\t\t\t\tbreak; // clear on ctrl or command +end\n\t\t\t\tcase 36: if (event.ctrlKey || event.metaKey) $.datepicker._gotoToday(event.target);\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n\t\t\t\t\t\tbreak; // current on ctrl or command +home\n\t\t\t\tcase 37: if (event.ctrlKey || event.metaKey) $.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), 'D');\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n\t\t\t\t\t\t// -1 day on ctrl or command +left\n\t\t\t\t\t\tif (event.originalEvent.altKey) $.datepicker._adjustDate(event.target, (event.ctrlKey ?\n\t\t\t\t\t\t\t\t\t-$.datepicker._get(inst, 'stepBigMonths') :\n\t\t\t\t\t\t\t\t\t-$.datepicker._get(inst, 'stepMonths')), 'M');\n\t\t\t\t\t\t// next month/year on alt +left on Mac\n\t\t\t\t\t\tbreak;\n\t\t\t\tcase 38: if (event.ctrlKey || event.metaKey) $.datepicker._adjustDate(event.target, -7, 'D');\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n\t\t\t\t\t\tbreak; // -1 week on ctrl or command +up\n\t\t\t\tcase 39: if (event.ctrlKey || event.metaKey) $.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), 'D');\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n\t\t\t\t\t\t// +1 day on ctrl or command +right\n\t\t\t\t\t\tif (event.originalEvent.altKey) $.datepicker._adjustDate(event.target, (event.ctrlKey ?\n\t\t\t\t\t\t\t\t\t+$.datepicker._get(inst, 'stepBigMonths') :\n\t\t\t\t\t\t\t\t\t+$.datepicker._get(inst, 'stepMonths')), 'M');\n\t\t\t\t\t\t// next month/year on alt +right\n\t\t\t\t\t\tbreak;\n\t\t\t\tcase 40: if (event.ctrlKey || event.metaKey) $.datepicker._adjustDate(event.target, +7, 'D');\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n\t\t\t\t\t\tbreak; // +1 week on ctrl or command +down\n\t\t\t\tdefault: handled = false;\n\t\t\t}\n\t\telse if (event.keyCode == 36 && event.ctrlKey) // display the date picker on ctrl+home\n\t\t\t$.datepicker._showDatepicker(this);\n\t\telse {\n\t\t\thandled = false;\n\t\t}\n\t\tif (handled) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t},\n\n\t/* Filter entered characters - based on date format. */\n\t_doKeyPress: function(event) {\n\t\tvar inst = $.datepicker._getInst(event.target);\n\t\tif ($.datepicker._get(inst, 'constrainInput')) {\n\t\t\tvar chars = $.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat'));\n\t\t\tvar chr = String.fromCharCode(event.charCode == undefined ? event.keyCode : event.charCode);\n\t\t\treturn event.ctrlKey || event.metaKey || (chr < ' ' || !chars || chars.indexOf(chr) > -1);\n\t\t}\n\t},\n\n\t/* Synchronise manual entry and field/alternate field. */\n\t_doKeyUp: function(event) {\n\t\tvar inst = $.datepicker._getInst(event.target);\n\t\tif (inst.input.val() != inst.lastVal) {\n\t\t\ttry {\n\t\t\t\tvar date = $.datepicker.parseDate($.datepicker._get(inst, 'dateFormat'),\n\t\t\t\t\t(inst.input ? inst.input.val() : null),\n\t\t\t\t\t$.datepicker._getFormatConfig(inst));\n\t\t\t\tif (date) { // only if valid\n\t\t\t\t\t$.datepicker._setDateFromField(inst);\n\t\t\t\t\t$.datepicker._updateAlternate(inst);\n\t\t\t\t\t$.datepicker._updateDatepicker(inst);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (err) {\n\t\t\t\t$.datepicker.log(err);\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t},\n\n\t/* Pop-up the date picker for a given input field.\n\t   If false returned from beforeShow event handler do not show.\n\t   @param  input  element - the input field attached to the date picker or\n\t                  event - if triggered by focus */\n\t_showDatepicker: function(input) {\n\t\tinput = input.target || input;\n\t\tif (input.nodeName.toLowerCase() != 'input') // find from button/image trigger\n\t\t\tinput = $('input', input.parentNode)[0];\n\t\tif ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput == input) // already here\n\t\t\treturn;\n\t\tvar inst = $.datepicker._getInst(input);\n\t\tif ($.datepicker._curInst && $.datepicker._curInst != inst) {\n\t\t\t$.datepicker._curInst.dpDiv.stop(true, true);\n\t\t\tif ( inst && $.datepicker._datepickerShowing ) {\n\t\t\t\t$.datepicker._hideDatepicker( $.datepicker._curInst.input[0] );\n\t\t\t}\n\t\t}\n\t\tvar beforeShow = $.datepicker._get(inst, 'beforeShow');\n\t\tvar beforeShowSettings = beforeShow ? beforeShow.apply(input, [input, inst]) : {};\n\t\tif(beforeShowSettings === false){\n\t\t\t//false\n\t\t\treturn;\n\t\t}\n\t\textendRemove(inst.settings, beforeShowSettings);\n\t\tinst.lastVal = null;\n\t\t$.datepicker._lastInput = input;\n\t\t$.datepicker._setDateFromField(inst);\n\t\tif ($.datepicker._inDialog) // hide cursor\n\t\t\tinput.value = '';\n\t\tif (!$.datepicker._pos) { // position below input\n\t\t\t$.datepicker._pos = $.datepicker._findPos(input);\n\t\t\t$.datepicker._pos[1] += input.offsetHeight; // add the height\n\t\t}\n\t\tvar isFixed = false;\n\t\t$(input).parents().each(function() {\n\t\t\tisFixed |= $(this).css('position') == 'fixed';\n\t\t\treturn !isFixed;\n\t\t});\n\t\tvar offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]};\n\t\t$.datepicker._pos = null;\n\t\t//to avoid flashes on Firefox\n\t\tinst.dpDiv.empty();\n\t\t// determine sizing offscreen\n\t\tinst.dpDiv.css({position: 'absolute', display: 'block', top: '-1000px'});\n\t\t$.datepicker._updateDatepicker(inst);\n\t\t// fix width for dynamic number of date pickers\n\t\t// and adjust position before showing\n\t\toffset = $.datepicker._checkOffset(inst, offset, isFixed);\n\t\tinst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ?\n\t\t\t'static' : (isFixed ? 'fixed' : 'absolute')), display: 'none',\n\t\t\tleft: offset.left + 'px', top: offset.top + 'px'});\n\t\tif (!inst.inline) {\n\t\t\tvar showAnim = $.datepicker._get(inst, 'showAnim');\n\t\t\tvar duration = $.datepicker._get(inst, 'duration');\n\t\t\tvar postProcess = function() {\n\t\t\t\tvar cover = inst.dpDiv.find('iframe.ui-datepicker-cover'); // IE6- only\n\t\t\t\tif( !! cover.length ){\n\t\t\t\t\tvar borders = $.datepicker._getBorders(inst.dpDiv);\n\t\t\t\t\tcover.css({left: -borders[0], top: -borders[1],\n\t\t\t\t\t\twidth: inst.dpDiv.outerWidth(), height: inst.dpDiv.outerHeight()});\n\t\t\t\t}\n\t\t\t};\n\t\t\tinst.dpDiv.zIndex($(input).zIndex()+1);\n\t\t\t$.datepicker._datepickerShowing = true;\n\n\t\t\t// DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed\n\t\t\tif ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) )\n\t\t\t\tinst.dpDiv.show(showAnim, $.datepicker._get(inst, 'showOptions'), duration, postProcess);\n\t\t\telse\n\t\t\t\tinst.dpDiv[showAnim || 'show']((showAnim ? duration : null), postProcess);\n\t\t\tif (!showAnim || !duration)\n\t\t\t\tpostProcess();\n\t\t\tif (inst.input.is(':visible') && !inst.input.is(':disabled'))\n\t\t\t\tinst.input.focus();\n\t\t\t$.datepicker._curInst = inst;\n\t\t}\n\t},\n\n\t/* Generate the date picker content. */\n\t_updateDatepicker: function(inst) {\n\t\tthis.maxRows = 4; //Reset the max number of rows being displayed (see #7043)\n\t\tvar borders = $.datepicker._getBorders(inst.dpDiv);\n\t\tinstActive = inst; // for delegate hover events\n\t\tinst.dpDiv.empty().append(this._generateHTML(inst));\n\t\tthis._attachHandlers(inst);\n\t\tvar cover = inst.dpDiv.find('iframe.ui-datepicker-cover'); // IE6- only\n\t\tif( !!cover.length ){ //avoid call to outerXXXX() when not in IE6\n\t\t\tcover.css({left: -borders[0], top: -borders[1], width: inst.dpDiv.outerWidth(), height: inst.dpDiv.outerHeight()})\n\t\t}\n\t\tinst.dpDiv.find('.' + this._dayOverClass + ' a').mouseover();\n\t\tvar numMonths = this._getNumberOfMonths(inst);\n\t\tvar cols = numMonths[1];\n\t\tvar width = 17;\n\t\tinst.dpDiv.removeClass('ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4').width('');\n\t\tif (cols > 1)\n\t\t\tinst.dpDiv.addClass('ui-datepicker-multi-' + cols).css('width', (width * cols) + 'em');\n\t\tinst.dpDiv[(numMonths[0] != 1 || numMonths[1] != 1 ? 'add' : 'remove') +\n\t\t\t'Class']('ui-datepicker-multi');\n\t\tinst.dpDiv[(this._get(inst, 'isRTL') ? 'add' : 'remove') +\n\t\t\t'Class']('ui-datepicker-rtl');\n\t\tif (inst == $.datepicker._curInst && $.datepicker._datepickerShowing && inst.input &&\n\t\t\t\t// #6694 - don't focus the input if it's already focused\n\t\t\t\t// this breaks the change event in IE\n\t\t\t\tinst.input.is(':visible') && !inst.input.is(':disabled') && inst.input[0] != document.activeElement)\n\t\t\tinst.input.focus();\n\t\t// deffered render of the years select (to avoid flashes on Firefox)\n\t\tif( inst.yearshtml ){\n\t\t\tvar origyearshtml = inst.yearshtml;\n\t\t\tsetTimeout(function(){\n\t\t\t\t//assure that inst.yearshtml didn't change.\n\t\t\t\tif( origyearshtml === inst.yearshtml && inst.yearshtml ){\n\t\t\t\t\tinst.dpDiv.find('select.ui-datepicker-year:first').replaceWith(inst.yearshtml);\n\t\t\t\t}\n\t\t\t\torigyearshtml = inst.yearshtml = null;\n\t\t\t}, 0);\n\t\t}\n\t},\n\n\t/* Retrieve the size of left and top borders for an element.\n\t   @param  elem  (jQuery object) the element of interest\n\t   @return  (number[2]) the left and top borders */\n\t_getBorders: function(elem) {\n\t\tvar convert = function(value) {\n\t\t\treturn {thin: 1, medium: 2, thick: 3}[value] || value;\n\t\t};\n\t\treturn [parseFloat(convert(elem.css('border-left-width'))),\n\t\t\tparseFloat(convert(elem.css('border-top-width')))];\n\t},\n\n\t/* Check positioning to remain on screen. */\n\t_checkOffset: function(inst, offset, isFixed) {\n\t\tvar dpWidth = inst.dpDiv.outerWidth();\n\t\tvar dpHeight = inst.dpDiv.outerHeight();\n\t\tvar inputWidth = inst.input ? inst.input.outerWidth() : 0;\n\t\tvar inputHeight = inst.input ? inst.input.outerHeight() : 0;\n\t\tvar viewWidth = document.documentElement.clientWidth + (isFixed ? 0 : $(document).scrollLeft());\n\t\tvar viewHeight = document.documentElement.clientHeight + (isFixed ? 0 : $(document).scrollTop());\n\n\t\toffset.left -= (this._get(inst, 'isRTL') ? (dpWidth - inputWidth) : 0);\n\t\toffset.left -= (isFixed && offset.left == inst.input.offset().left) ? $(document).scrollLeft() : 0;\n\t\toffset.top -= (isFixed && offset.top == (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0;\n\n\t\t// now check if datepicker is showing outside window viewport - move to a better place if so.\n\t\toffset.left -= Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ?\n\t\t\tMath.abs(offset.left + dpWidth - viewWidth) : 0);\n\t\toffset.top -= Math.min(offset.top, (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ?\n\t\t\tMath.abs(dpHeight + inputHeight) : 0);\n\n\t\treturn offset;\n\t},\n\n\t/* Find an object's position on the screen. */\n\t_findPos: function(obj) {\n\t\tvar inst = this._getInst(obj);\n\t\tvar isRTL = this._get(inst, 'isRTL');\n\t\twhile (obj && (obj.type == 'hidden' || obj.nodeType != 1 || $.expr.filters.hidden(obj))) {\n\t\t\tobj = obj[isRTL ? 'previousSibling' : 'nextSibling'];\n\t\t}\n\t\tvar position = $(obj).offset();\n\t\treturn [position.left, position.top];\n\t},\n\n\t/* Hide the date picker from view.\n\t   @param  input  element - the input field attached to the date picker */\n\t_hideDatepicker: function(input) {\n\t\tvar inst = this._curInst;\n\t\tif (!inst || (input && inst != $.data(input, PROP_NAME)))\n\t\t\treturn;\n\t\tif (this._datepickerShowing) {\n\t\t\tvar showAnim = this._get(inst, 'showAnim');\n\t\t\tvar duration = this._get(inst, 'duration');\n\t\t\tvar postProcess = function() {\n\t\t\t\t$.datepicker._tidyDialog(inst);\n\t\t\t};\n\n\t\t\t// DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed\n\t\t\tif ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) )\n\t\t\t\tinst.dpDiv.hide(showAnim, $.datepicker._get(inst, 'showOptions'), duration, postProcess);\n\t\t\telse\n\t\t\t\tinst.dpDiv[(showAnim == 'slideDown' ? 'slideUp' :\n\t\t\t\t\t(showAnim == 'fadeIn' ? 'fadeOut' : 'hide'))]((showAnim ? duration : null), postProcess);\n\t\t\tif (!showAnim)\n\t\t\t\tpostProcess();\n\t\t\tthis._datepickerShowing = false;\n\t\t\tvar onClose = this._get(inst, 'onClose');\n\t\t\tif (onClose)\n\t\t\t\tonClose.apply((inst.input ? inst.input[0] : null),\n\t\t\t\t\t[(inst.input ? inst.input.val() : ''), inst]);\n\t\t\tthis._lastInput = null;\n\t\t\tif (this._inDialog) {\n\t\t\t\tthis._dialogInput.css({ position: 'absolute', left: '0', top: '-100px' });\n\t\t\t\tif ($.blockUI) {\n\t\t\t\t\t$.unblockUI();\n\t\t\t\t\t$('body').append(this.dpDiv);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._inDialog = false;\n\t\t}\n\t},\n\n\t/* Tidy up after a dialog display. */\n\t_tidyDialog: function(inst) {\n\t\tinst.dpDiv.removeClass(this._dialogClass).unbind('.ui-datepicker-calendar');\n\t},\n\n\t/* Close date picker if clicked elsewhere. */\n\t_checkExternalClick: function(event) {\n\t\tif (!$.datepicker._curInst)\n\t\t\treturn;\n\n\t\tvar $target = $(event.target),\n\t\t\tinst = $.datepicker._getInst($target[0]);\n\n\t\tif ( ( ( $target[0].id != $.datepicker._mainDivId &&\n\t\t\t\t$target.parents('#' + $.datepicker._mainDivId).length == 0 &&\n\t\t\t\t!$target.hasClass($.datepicker.markerClassName) &&\n\t\t\t\t!$target.closest(\".\" + $.datepicker._triggerClass).length &&\n\t\t\t\t$.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI) ) ) ||\n\t\t\t( $target.hasClass($.datepicker.markerClassName) && $.datepicker._curInst != inst ) )\n\t\t\t$.datepicker._hideDatepicker();\n\t},\n\n\t/* Adjust one of the date sub-fields. */\n\t_adjustDate: function(id, offset, period) {\n\t\tvar target = $(id);\n\t\tvar inst = this._getInst(target[0]);\n\t\tif (this._isDisabledDatepicker(target[0])) {\n\t\t\treturn;\n\t\t}\n\t\tthis._adjustInstDate(inst, offset +\n\t\t\t(period == 'M' ? this._get(inst, 'showCurrentAtPos') : 0), // undo positioning\n\t\t\tperiod);\n\t\tthis._updateDatepicker(inst);\n\t},\n\n\t/* Action for current link. */\n\t_gotoToday: function(id) {\n\t\tvar target = $(id);\n\t\tvar inst = this._getInst(target[0]);\n\t\tif (this._get(inst, 'gotoCurrent') && inst.currentDay) {\n\t\t\tinst.selectedDay = inst.currentDay;\n\t\t\tinst.drawMonth = inst.selectedMonth = inst.currentMonth;\n\t\t\tinst.drawYear = inst.selectedYear = inst.currentYear;\n\t\t}\n\t\telse {\n\t\t\tvar date = new Date();\n\t\t\tinst.selectedDay = date.getDate();\n\t\t\tinst.drawMonth = inst.selectedMonth = date.getMonth();\n\t\t\tinst.drawYear = inst.selectedYear = date.getFullYear();\n\t\t}\n\t\tthis._notifyChange(inst);\n\t\tthis._adjustDate(target);\n\t},\n\n\t/* Action for selecting a new month/year. */\n\t_selectMonthYear: function(id, select, period) {\n\t\tvar target = $(id);\n\t\tvar inst = this._getInst(target[0]);\n\t\tinst['selected' + (period == 'M' ? 'Month' : 'Year')] =\n\t\tinst['draw' + (period == 'M' ? 'Month' : 'Year')] =\n\t\t\tparseInt(select.options[select.selectedIndex].value,10);\n\t\tthis._notifyChange(inst);\n\t\tthis._adjustDate(target);\n\t},\n\n\t/* Action for selecting a day. */\n\t_selectDay: function(id, month, year, td) {\n\t\tvar target = $(id);\n\t\tif ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) {\n\t\t\treturn;\n\t\t}\n\t\tvar inst = this._getInst(target[0]);\n\t\tinst.selectedDay = inst.currentDay = $('a', td).html();\n\t\tinst.selectedMonth = inst.currentMonth = month;\n\t\tinst.selectedYear = inst.currentYear = year;\n\t\tthis._selectDate(id, this._formatDate(inst,\n\t\t\tinst.currentDay, inst.currentMonth, inst.currentYear));\n\t},\n\n\t/* Erase the input field and hide the date picker. */\n\t_clearDate: function(id) {\n\t\tvar target = $(id);\n\t\tvar inst = this._getInst(target[0]);\n\t\tthis._selectDate(target, '');\n\t},\n\n\t/* Update the input field with the selected date. */\n\t_selectDate: function(id, dateStr) {\n\t\tvar target = $(id);\n\t\tvar inst = this._getInst(target[0]);\n\t\tdateStr = (dateStr != null ? dateStr : this._formatDate(inst));\n\t\tif (inst.input)\n\t\t\tinst.input.val(dateStr);\n\t\tthis._updateAlternate(inst);\n\t\tvar onSelect = this._get(inst, 'onSelect');\n\t\tif (onSelect)\n\t\t\tonSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);  // trigger custom callback\n\t\telse if (inst.input)\n\t\t\tinst.input.trigger('change'); // fire the change event\n\t\tif (inst.inline)\n\t\t\tthis._updateDatepicker(inst);\n\t\telse {\n\t\t\tthis._hideDatepicker();\n\t\t\tthis._lastInput = inst.input[0];\n\t\t\tif (typeof(inst.input[0]) != 'object')\n\t\t\t\tinst.input.focus(); // restore focus\n\t\t\tthis._lastInput = null;\n\t\t}\n\t},\n\n\t/* Update any alternate field to synchronise with the main field. */\n\t_updateAlternate: function(inst) {\n\t\tvar altField = this._get(inst, 'altField');\n\t\tif (altField) { // update alternate field too\n\t\t\tvar altFormat = this._get(inst, 'altFormat') || this._get(inst, 'dateFormat');\n\t\t\tvar date = this._getDate(inst);\n\t\t\tvar dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst));\n\t\t\t$(altField).each(function() { $(this).val(dateStr); });\n\t\t}\n\t},\n\n\t/* Set as beforeShowDay function to prevent selection of weekends.\n\t   @param  date  Date - the date to customise\n\t   @return [boolean, string] - is this date selectable?, what is its CSS class? */\n\tnoWeekends: function(date) {\n\t\tvar day = date.getDay();\n\t\treturn [(day > 0 && day < 6), ''];\n\t},\n\n\t/* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition.\n\t   @param  date  Date - the date to get the week for\n\t   @return  number - the number of the week within the year that contains this date */\n\tiso8601Week: function(date) {\n\t\tvar checkDate = new Date(date.getTime());\n\t\t// Find Thursday of this week starting on Monday\n\t\tcheckDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));\n\t\tvar time = checkDate.getTime();\n\t\tcheckDate.setMonth(0); // Compare with Jan 1\n\t\tcheckDate.setDate(1);\n\t\treturn Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;\n\t},\n\n\t/* Parse a string value into a date object.\n\t   See formatDate below for the possible formats.\n\n\t   @param  format    string - the expected format of the date\n\t   @param  value     string - the date in the above format\n\t   @param  settings  Object - attributes include:\n\t                     shortYearCutoff  number - the cutoff year for determining the century (optional)\n\t                     dayNamesShort    string[7] - abbreviated names of the days from Sunday (optional)\n\t                     dayNames         string[7] - names of the days from Sunday (optional)\n\t                     monthNamesShort  string[12] - abbreviated names of the months (optional)\n\t                     monthNames       string[12] - names of the months (optional)\n\t   @return  Date - the extracted date value or null if value is blank */\n\tparseDate: function (format, value, settings) {\n\t\tif (format == null || value == null)\n\t\t\tthrow 'Invalid arguments';\n\t\tvalue = (typeof value == 'object' ? value.toString() : value + '');\n\t\tif (value == '')\n\t\t\treturn null;\n\t\tvar shortYearCutoff = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff;\n\t\tshortYearCutoff = (typeof shortYearCutoff != 'string' ? shortYearCutoff :\n\t\t\t\tnew Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10));\n\t\tvar dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort;\n\t\tvar dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames;\n\t\tvar monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort;\n\t\tvar monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames;\n\t\tvar year = -1;\n\t\tvar month = -1;\n\t\tvar day = -1;\n\t\tvar doy = -1;\n\t\tvar literal = false;\n\t\t// Check whether a format character is doubled\n\t\tvar lookAhead = function(match) {\n\t\t\tvar matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match);\n\t\t\tif (matches)\n\t\t\t\tiFormat++;\n\t\t\treturn matches;\n\t\t};\n\t\t// Extract a number from the string value\n\t\tvar getNumber = function(match) {\n\t\t\tvar isDoubled = lookAhead(match);\n\t\t\tvar size = (match == '@' ? 14 : (match == '!' ? 20 :\n\t\t\t\t(match == 'y' && isDoubled ? 4 : (match == 'o' ? 3 : 2))));\n\t\t\tvar digits = new RegExp('^\\\\d{1,' + size + '}');\n\t\t\tvar num = value.substring(iValue).match(digits);\n\t\t\tif (!num)\n\t\t\t\tthrow 'Missing number at position ' + iValue;\n\t\t\tiValue += num[0].length;\n\t\t\treturn parseInt(num[0], 10);\n\t\t};\n\t\t// Extract a name from the string value and convert to an index\n\t\tvar getName = function(match, shortNames, longNames) {\n\t\t\tvar names = $.map(lookAhead(match) ? longNames : shortNames, function (v, k) {\n\t\t\t\treturn [ [k, v] ];\n\t\t\t}).sort(function (a, b) {\n\t\t\t\treturn -(a[1].length - b[1].length);\n\t\t\t});\n\t\t\tvar index = -1;\n\t\t\t$.each(names, function (i, pair) {\n\t\t\t\tvar name = pair[1];\n\t\t\t\tif (value.substr(iValue, name.length).toLowerCase() == name.toLowerCase()) {\n\t\t\t\t\tindex = pair[0];\n\t\t\t\t\tiValue += name.length;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (index != -1)\n\t\t\t\treturn index + 1;\n\t\t\telse\n\t\t\t\tthrow 'Unknown name at position ' + iValue;\n\t\t};\n\t\t// Confirm that a literal character matches the string value\n\t\tvar checkLiteral = function() {\n\t\t\tif (value.charAt(iValue) != format.charAt(iFormat))\n\t\t\t\tthrow 'Unexpected literal at position ' + iValue;\n\t\t\tiValue++;\n\t\t};\n\t\tvar iValue = 0;\n\t\tfor (var iFormat = 0; iFormat < format.length; iFormat++) {\n\t\t\tif (literal)\n\t\t\t\tif (format.charAt(iFormat) == \"'\" && !lookAhead(\"'\"))\n\t\t\t\t\tliteral = false;\n\t\t\t\telse\n\t\t\t\t\tcheckLiteral();\n\t\t\telse\n\t\t\t\tswitch (format.charAt(iFormat)) {\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tday = getNumber('d');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'D':\n\t\t\t\t\t\tgetName('D', dayNamesShort, dayNames);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'o':\n\t\t\t\t\t\tdoy = getNumber('o');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'm':\n\t\t\t\t\t\tmonth = getNumber('m');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'M':\n\t\t\t\t\t\tmonth = getName('M', monthNamesShort, monthNames);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'y':\n\t\t\t\t\t\tyear = getNumber('y');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '@':\n\t\t\t\t\t\tvar date = new Date(getNumber('@'));\n\t\t\t\t\t\tyear = date.getFullYear();\n\t\t\t\t\t\tmonth = date.getMonth() + 1;\n\t\t\t\t\t\tday = date.getDate();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '!':\n\t\t\t\t\t\tvar date = new Date((getNumber('!') - this._ticksTo1970) / 10000);\n\t\t\t\t\t\tyear = date.getFullYear();\n\t\t\t\t\t\tmonth = date.getMonth() + 1;\n\t\t\t\t\t\tday = date.getDate();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"'\":\n\t\t\t\t\t\tif (lookAhead(\"'\"))\n\t\t\t\t\t\t\tcheckLiteral();\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tliteral = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcheckLiteral();\n\t\t\t\t}\n\t\t}\n\t\tif (iValue < value.length){\n\t\t\tvar extra = value.substr(iValue);\n\t\t\tif (!/^\\s+/.test(extra)) {\n\t\t\t\tthrow \"Extra/unparsed characters found in date: \" + extra;\n\t\t\t}\n\t\t}\n\t\tif (year == -1)\n\t\t\tyear = new Date().getFullYear();\n\t\telse if (year < 100)\n\t\t\tyear += new Date().getFullYear() - new Date().getFullYear() % 100 +\n\t\t\t\t(year <= shortYearCutoff ? 0 : -100);\n\t\tif (doy > -1) {\n\t\t\tmonth = 1;\n\t\t\tday = doy;\n\t\t\tdo {\n\t\t\t\tvar dim = this._getDaysInMonth(year, month - 1);\n\t\t\t\tif (day <= dim)\n\t\t\t\t\tbreak;\n\t\t\t\tmonth++;\n\t\t\t\tday -= dim;\n\t\t\t} while (true);\n\t\t}\n\t\tvar date = this._daylightSavingAdjust(new Date(year, month - 1, day));\n\t\tif (date.getFullYear() != year || date.getMonth() + 1 != month || date.getDate() != day)\n\t\t\tthrow 'Invalid date'; // E.g. 31/02/00\n\t\treturn date;\n\t},\n\n\t/* Standard date formats. */\n\tATOM: 'yy-mm-dd', // RFC 3339 (ISO 8601)\n\tCOOKIE: 'D, dd M yy',\n\tISO_8601: 'yy-mm-dd',\n\tRFC_822: 'D, d M y',\n\tRFC_850: 'DD, dd-M-y',\n\tRFC_1036: 'D, d M y',\n\tRFC_1123: 'D, d M yy',\n\tRFC_2822: 'D, d M yy',\n\tRSS: 'D, d M y', // RFC 822\n\tTICKS: '!',\n\tTIMESTAMP: '@',\n\tW3C: 'yy-mm-dd', // ISO 8601\n\n\t_ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) +\n\t\tMath.floor(1970 / 400)) * 24 * 60 * 60 * 10000000),\n\n\t/* Format a date object into a string value.\n\t   The format can be combinations of the following:\n\t   d  - day of month (no leading zero)\n\t   dd - day of month (two digit)\n\t   o  - day of year (no leading zeros)\n\t   oo - day of year (three digit)\n\t   D  - day name short\n\t   DD - day name long\n\t   m  - month of year (no leading zero)\n\t   mm - month of year (two digit)\n\t   M  - month name short\n\t   MM - month name long\n\t   y  - year (two digit)\n\t   yy - year (four digit)\n\t   @ - Unix timestamp (ms since 01/01/1970)\n\t   ! - Windows ticks (100ns since 01/01/0001)\n\t   '...' - literal text\n\t   '' - single quote\n\n\t   @param  format    string - the desired format of the date\n\t   @param  date      Date - the date value to format\n\t   @param  settings  Object - attributes include:\n\t                     dayNamesShort    string[7] - abbreviated names of the days from Sunday (optional)\n\t                     dayNames         string[7] - names of the days from Sunday (optional)\n\t                     monthNamesShort  string[12] - abbreviated names of the months (optional)\n\t                     monthNames       string[12] - names of the months (optional)\n\t   @return  string - the date in the above format */\n\tformatDate: function (format, date, settings) {\n\t\tif (!date)\n\t\t\treturn '';\n\t\tvar dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort;\n\t\tvar dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames;\n\t\tvar monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort;\n\t\tvar monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames;\n\t\t// Check whether a format character is doubled\n\t\tvar lookAhead = function(match) {\n\t\t\tvar matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match);\n\t\t\tif (matches)\n\t\t\t\tiFormat++;\n\t\t\treturn matches;\n\t\t};\n\t\t// Format a number, with leading zero if necessary\n\t\tvar formatNumber = function(match, value, len) {\n\t\t\tvar num = '' + value;\n\t\t\tif (lookAhead(match))\n\t\t\t\twhile (num.length < len)\n\t\t\t\t\tnum = '0' + num;\n\t\t\treturn num;\n\t\t};\n\t\t// Format a name, short or long as requested\n\t\tvar formatName = function(match, value, shortNames, longNames) {\n\t\t\treturn (lookAhead(match) ? longNames[value] : shortNames[value]);\n\t\t};\n\t\tvar output = '';\n\t\tvar literal = false;\n\t\tif (date)\n\t\t\tfor (var iFormat = 0; iFormat < format.length; iFormat++) {\n\t\t\t\tif (literal)\n\t\t\t\t\tif (format.charAt(iFormat) == \"'\" && !lookAhead(\"'\"))\n\t\t\t\t\t\tliteral = false;\n\t\t\t\t\telse\n\t\t\t\t\t\toutput += format.charAt(iFormat);\n\t\t\t\telse\n\t\t\t\t\tswitch (format.charAt(iFormat)) {\n\t\t\t\t\t\tcase 'd':\n\t\t\t\t\t\t\toutput += formatNumber('d', date.getDate(), 2);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'D':\n\t\t\t\t\t\t\toutput += formatName('D', date.getDay(), dayNamesShort, dayNames);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'o':\n\t\t\t\t\t\t\toutput += formatNumber('o',\n\t\t\t\t\t\t\t\tMath.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'm':\n\t\t\t\t\t\t\toutput += formatNumber('m', date.getMonth() + 1, 2);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'M':\n\t\t\t\t\t\t\toutput += formatName('M', date.getMonth(), monthNamesShort, monthNames);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'y':\n\t\t\t\t\t\t\toutput += (lookAhead('y') ? date.getFullYear() :\n\t\t\t\t\t\t\t\t(date.getYear() % 100 < 10 ? '0' : '') + date.getYear() % 100);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase '@':\n\t\t\t\t\t\t\toutput += date.getTime();\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase '!':\n\t\t\t\t\t\t\toutput += date.getTime() * 10000 + this._ticksTo1970;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"'\":\n\t\t\t\t\t\t\tif (lookAhead(\"'\"))\n\t\t\t\t\t\t\t\toutput += \"'\";\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tliteral = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\toutput += format.charAt(iFormat);\n\t\t\t\t\t}\n\t\t\t}\n\t\treturn output;\n\t},\n\n\t/* Extract all possible characters from the date format. */\n\t_possibleChars: function (format) {\n\t\tvar chars = '';\n\t\tvar literal = false;\n\t\t// Check whether a format character is doubled\n\t\tvar lookAhead = function(match) {\n\t\t\tvar matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match);\n\t\t\tif (matches)\n\t\t\t\tiFormat++;\n\t\t\treturn matches;\n\t\t};\n\t\tfor (var iFormat = 0; iFormat < format.length; iFormat++)\n\t\t\tif (literal)\n\t\t\t\tif (format.charAt(iFormat) == \"'\" && !lookAhead(\"'\"))\n\t\t\t\t\tliteral = false;\n\t\t\t\telse\n\t\t\t\t\tchars += format.charAt(iFormat);\n\t\t\telse\n\t\t\t\tswitch (format.charAt(iFormat)) {\n\t\t\t\t\tcase 'd': case 'm': case 'y': case '@':\n\t\t\t\t\t\tchars += '0123456789';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'D': case 'M':\n\t\t\t\t\t\treturn null; // Accept anything\n\t\t\t\t\tcase \"'\":\n\t\t\t\t\t\tif (lookAhead(\"'\"))\n\t\t\t\t\t\t\tchars += \"'\";\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tliteral = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tchars += format.charAt(iFormat);\n\t\t\t\t}\n\t\treturn chars;\n\t},\n\n\t/* Get a setting value, defaulting if necessary. */\n\t_get: function(inst, name) {\n\t\treturn inst.settings[name] !== undefined ?\n\t\t\tinst.settings[name] : this._defaults[name];\n\t},\n\n\t/* Parse existing date and initialise date picker. */\n\t_setDateFromField: function(inst, noDefault) {\n\t\tif (inst.input.val() == inst.lastVal) {\n\t\t\treturn;\n\t\t}\n\t\tvar dateFormat = this._get(inst, 'dateFormat');\n\t\tvar dates = inst.lastVal = inst.input ? inst.input.val() : null;\n\t\tvar date, defaultDate;\n\t\tdate = defaultDate = this._getDefaultDate(inst);\n\t\tvar settings = this._getFormatConfig(inst);\n\t\ttry {\n\t\t\tdate = this.parseDate(dateFormat, dates, settings) || defaultDate;\n\t\t} catch (event) {\n\t\t\tthis.log(event);\n\t\t\tdates = (noDefault ? '' : dates);\n\t\t}\n\t\tinst.selectedDay = date.getDate();\n\t\tinst.drawMonth = inst.selectedMonth = date.getMonth();\n\t\tinst.drawYear = inst.selectedYear = date.getFullYear();\n\t\tinst.currentDay = (dates ? date.getDate() : 0);\n\t\tinst.currentMonth = (dates ? date.getMonth() : 0);\n\t\tinst.currentYear = (dates ? date.getFullYear() : 0);\n\t\tthis._adjustInstDate(inst);\n\t},\n\n\t/* Retrieve the default date shown on opening. */\n\t_getDefaultDate: function(inst) {\n\t\treturn this._restrictMinMax(inst,\n\t\t\tthis._determineDate(inst, this._get(inst, 'defaultDate'), new Date()));\n\t},\n\n\t/* A date may be specified as an exact value or a relative one. */\n\t_determineDate: function(inst, date, defaultDate) {\n\t\tvar offsetNumeric = function(offset) {\n\t\t\tvar date = new Date();\n\t\t\tdate.setDate(date.getDate() + offset);\n\t\t\treturn date;\n\t\t};\n\t\tvar offsetString = function(offset) {\n\t\t\ttry {\n\t\t\t\treturn $.datepicker.parseDate($.datepicker._get(inst, 'dateFormat'),\n\t\t\t\t\toffset, $.datepicker._getFormatConfig(inst));\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\t// Ignore\n\t\t\t}\n\t\t\tvar date = (offset.toLowerCase().match(/^c/) ?\n\t\t\t\t$.datepicker._getDate(inst) : null) || new Date();\n\t\t\tvar year = date.getFullYear();\n\t\t\tvar month = date.getMonth();\n\t\t\tvar day = date.getDate();\n\t\t\tvar pattern = /([+-]?[0-9]+)\\s*(d|D|w|W|m|M|y|Y)?/g;\n\t\t\tvar matches = pattern.exec(offset);\n\t\t\twhile (matches) {\n\t\t\t\tswitch (matches[2] || 'd') {\n\t\t\t\t\tcase 'd' : case 'D' :\n\t\t\t\t\t\tday += parseInt(matches[1],10); break;\n\t\t\t\t\tcase 'w' : case 'W' :\n\t\t\t\t\t\tday += parseInt(matches[1],10) * 7; break;\n\t\t\t\t\tcase 'm' : case 'M' :\n\t\t\t\t\t\tmonth += parseInt(matches[1],10);\n\t\t\t\t\t\tday = Math.min(day, $.datepicker._getDaysInMonth(year, month));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'y': case 'Y' :\n\t\t\t\t\t\tyear += parseInt(matches[1],10);\n\t\t\t\t\t\tday = Math.min(day, $.datepicker._getDaysInMonth(year, month));\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tmatches = pattern.exec(offset);\n\t\t\t}\n\t\t\treturn new Date(year, month, day);\n\t\t};\n\t\tvar newDate = (date == null || date === '' ? defaultDate : (typeof date == 'string' ? offsetString(date) :\n\t\t\t(typeof date == 'number' ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : new Date(date.getTime()))));\n\t\tnewDate = (newDate && newDate.toString() == 'Invalid Date' ? defaultDate : newDate);\n\t\tif (newDate) {\n\t\t\tnewDate.setHours(0);\n\t\t\tnewDate.setMinutes(0);\n\t\t\tnewDate.setSeconds(0);\n\t\t\tnewDate.setMilliseconds(0);\n\t\t}\n\t\treturn this._daylightSavingAdjust(newDate);\n\t},\n\n\t/* Handle switch to/from daylight saving.\n\t   Hours may be non-zero on daylight saving cut-over:\n\t   > 12 when midnight changeover, but then cannot generate\n\t   midnight datetime, so jump to 1AM, otherwise reset.\n\t   @param  date  (Date) the date to check\n\t   @return  (Date) the corrected date */\n\t_daylightSavingAdjust: function(date) {\n\t\tif (!date) return null;\n\t\tdate.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);\n\t\treturn date;\n\t},\n\n\t/* Set the date(s) directly. */\n\t_setDate: function(inst, date, noChange) {\n\t\tvar clear = !date;\n\t\tvar origMonth = inst.selectedMonth;\n\t\tvar origYear = inst.selectedYear;\n\t\tvar newDate = this._restrictMinMax(inst, this._determineDate(inst, date, new Date()));\n\t\tinst.selectedDay = inst.currentDay = newDate.getDate();\n\t\tinst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth();\n\t\tinst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear();\n\t\tif ((origMonth != inst.selectedMonth || origYear != inst.selectedYear) && !noChange)\n\t\t\tthis._notifyChange(inst);\n\t\tthis._adjustInstDate(inst);\n\t\tif (inst.input) {\n\t\t\tinst.input.val(clear ? '' : this._formatDate(inst));\n\t\t}\n\t},\n\n\t/* Retrieve the date(s) directly. */\n\t_getDate: function(inst) {\n\t\tvar startDate = (!inst.currentYear || (inst.input && inst.input.val() == '') ? null :\n\t\t\tthis._daylightSavingAdjust(new Date(\n\t\t\tinst.currentYear, inst.currentMonth, inst.currentDay)));\n\t\t\treturn startDate;\n\t},\n\n\t/* Attach the onxxx handlers.  These are declared statically so\n\t * they work with static code transformers like Caja.\n\t */\n\t_attachHandlers: function(inst) {\n\t\tvar stepMonths = this._get(inst, 'stepMonths');\n\t\tvar id = '#' + inst.id.replace( /\\\\\\\\/g, \"\\\\\" );\n\t\tinst.dpDiv.find('[data-handler]').map(function () {\n\t\t\tvar handler = {\n\t\t\t\tprev: function () {\n\t\t\t\t\twindow['DP_jQuery_' + dpuuid].datepicker._adjustDate(id, -stepMonths, 'M');\n\t\t\t\t},\n\t\t\t\tnext: function () {\n\t\t\t\t\twindow['DP_jQuery_' + dpuuid].datepicker._adjustDate(id, +stepMonths, 'M');\n\t\t\t\t},\n\t\t\t\thide: function () {\n\t\t\t\t\twindow['DP_jQuery_' + dpuuid].datepicker._hideDatepicker();\n\t\t\t\t},\n\t\t\t\ttoday: function () {\n\t\t\t\t\twindow['DP_jQuery_' + dpuuid].datepicker._gotoToday(id);\n\t\t\t\t},\n\t\t\t\tselectDay: function () {\n\t\t\t\t\twindow['DP_jQuery_' + dpuuid].datepicker._selectDay(id, +this.getAttribute('data-month'), +this.getAttribute('data-year'), this);\n\t\t\t\t\treturn false;\n\t\t\t\t},\n\t\t\t\tselectMonth: function () {\n\t\t\t\t\twindow['DP_jQuery_' + dpuuid].datepicker._selectMonthYear(id, this, 'M');\n\t\t\t\t\treturn false;\n\t\t\t\t},\n\t\t\t\tselectYear: function () {\n\t\t\t\t\twindow['DP_jQuery_' + dpuuid].datepicker._selectMonthYear(id, this, 'Y');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t};\n\t\t\t$(this).bind(this.getAttribute('data-event'), handler[this.getAttribute('data-handler')]);\n\t\t});\n\t},\n\n\t/* Generate the HTML for the current state of the date picker. */\n\t_generateHTML: function(inst) {\n\t\tvar today = new Date();\n\t\ttoday = this._daylightSavingAdjust(\n\t\t\tnew Date(today.getFullYear(), today.getMonth(), today.getDate())); // clear time\n\t\tvar isRTL = this._get(inst, 'isRTL');\n\t\tvar showButtonPanel = this._get(inst, 'showButtonPanel');\n\t\tvar hideIfNoPrevNext = this._get(inst, 'hideIfNoPrevNext');\n\t\tvar navigationAsDateFormat = this._get(inst, 'navigationAsDateFormat');\n\t\tvar numMonths = this._getNumberOfMonths(inst);\n\t\tvar showCurrentAtPos = this._get(inst, 'showCurrentAtPos');\n\t\tvar stepMonths = this._get(inst, 'stepMonths');\n\t\tvar isMultiMonth = (numMonths[0] != 1 || numMonths[1] != 1);\n\t\tvar currentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) :\n\t\t\tnew Date(inst.currentYear, inst.currentMonth, inst.currentDay)));\n\t\tvar minDate = this._getMinMaxDate(inst, 'min');\n\t\tvar maxDate = this._getMinMaxDate(inst, 'max');\n\t\tvar drawMonth = inst.drawMonth - showCurrentAtPos;\n\t\tvar drawYear = inst.drawYear;\n\t\tif (drawMonth < 0) {\n\t\t\tdrawMonth += 12;\n\t\t\tdrawYear--;\n\t\t}\n\t\tif (maxDate) {\n\t\t\tvar maxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(),\n\t\t\t\tmaxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, maxDate.getDate()));\n\t\t\tmaxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw);\n\t\t\twhile (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) {\n\t\t\t\tdrawMonth--;\n\t\t\t\tif (drawMonth < 0) {\n\t\t\t\t\tdrawMonth = 11;\n\t\t\t\t\tdrawYear--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tinst.drawMonth = drawMonth;\n\t\tinst.drawYear = drawYear;\n\t\tvar prevText = this._get(inst, 'prevText');\n\t\tprevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText,\n\t\t\tthis._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)),\n\t\t\tthis._getFormatConfig(inst)));\n\t\tvar prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ?\n\t\t\t'<a class=\"ui-datepicker-prev ui-corner-all\" data-handler=\"prev\" data-event=\"click\"' +\n\t\t\t' title=\"' + prevText + '\"><span class=\"ui-icon ui-icon-circle-triangle-' + ( isRTL ? 'e' : 'w') + '\">' + prevText + '</span></a>' :\n\t\t\t(hideIfNoPrevNext ? '' : '<a class=\"ui-datepicker-prev ui-corner-all ui-state-disabled\" title=\"'+ prevText +'\"><span class=\"ui-icon ui-icon-circle-triangle-' + ( isRTL ? 'e' : 'w') + '\">' + prevText + '</span></a>'));\n\t\tvar nextText = this._get(inst, 'nextText');\n\t\tnextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText,\n\t\t\tthis._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)),\n\t\t\tthis._getFormatConfig(inst)));\n\t\tvar next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ?\n\t\t\t'<a class=\"ui-datepicker-next ui-corner-all\" data-handler=\"next\" data-event=\"click\"' +\n\t\t\t' title=\"' + nextText + '\"><span class=\"ui-icon ui-icon-circle-triangle-' + ( isRTL ? 'w' : 'e') + '\">' + nextText + '</span></a>' :\n\t\t\t(hideIfNoPrevNext ? '' : '<a class=\"ui-datepicker-next ui-corner-all ui-state-disabled\" title=\"'+ nextText + '\"><span class=\"ui-icon ui-icon-circle-triangle-' + ( isRTL ? 'w' : 'e') + '\">' + nextText + '</span></a>'));\n\t\tvar currentText = this._get(inst, 'currentText');\n\t\tvar gotoDate = (this._get(inst, 'gotoCurrent') && inst.currentDay ? currentDate : today);\n\t\tcurrentText = (!navigationAsDateFormat ? currentText :\n\t\t\tthis.formatDate(currentText, gotoDate, this._getFormatConfig(inst)));\n\t\tvar controls = (!inst.inline ? '<button type=\"button\" class=\"ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all\" data-handler=\"hide\" data-event=\"click\">' +\n\t\t\tthis._get(inst, 'closeText') + '</button>' : '');\n\t\tvar buttonPanel = (showButtonPanel) ? '<div class=\"ui-datepicker-buttonpane ui-widget-content\">' + (isRTL ? controls : '') +\n\t\t\t(this._isInRange(inst, gotoDate) ? '<button type=\"button\" class=\"ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all\" data-handler=\"today\" data-event=\"click\"' +\n\t\t\t'>' + currentText + '</button>' : '') + (isRTL ? '' : controls) + '</div>' : '';\n\t\tvar firstDay = parseInt(this._get(inst, 'firstDay'),10);\n\t\tfirstDay = (isNaN(firstDay) ? 0 : firstDay);\n\t\tvar showWeek = this._get(inst, 'showWeek');\n\t\tvar dayNames = this._get(inst, 'dayNames');\n\t\tvar dayNamesShort = this._get(inst, 'dayNamesShort');\n\t\tvar dayNamesMin = this._get(inst, 'dayNamesMin');\n\t\tvar monthNames = this._get(inst, 'monthNames');\n\t\tvar monthNamesShort = this._get(inst, 'monthNamesShort');\n\t\tvar beforeShowDay = this._get(inst, 'beforeShowDay');\n\t\tvar showOtherMonths = this._get(inst, 'showOtherMonths');\n\t\tvar selectOtherMonths = this._get(inst, 'selectOtherMonths');\n\t\tvar calculateWeek = this._get(inst, 'calculateWeek') || this.iso8601Week;\n\t\tvar defaultDate = this._getDefaultDate(inst);\n\t\tvar html = '';\n\t\tfor (var row = 0; row < numMonths[0]; row++) {\n\t\t\tvar group = '';\n\t\t\tthis.maxRows = 4;\n\t\t\tfor (var col = 0; col < numMonths[1]; col++) {\n\t\t\t\tvar selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay));\n\t\t\t\tvar cornerClass = ' ui-corner-all';\n\t\t\t\tvar calender = '';\n\t\t\t\tif (isMultiMonth) {\n\t\t\t\t\tcalender += '<div class=\"ui-datepicker-group';\n\t\t\t\t\tif (numMonths[1] > 1)\n\t\t\t\t\t\tswitch (col) {\n\t\t\t\t\t\t\tcase 0: calender += ' ui-datepicker-group-first';\n\t\t\t\t\t\t\t\tcornerClass = ' ui-corner-' + (isRTL ? 'right' : 'left'); break;\n\t\t\t\t\t\t\tcase numMonths[1]-1: calender += ' ui-datepicker-group-last';\n\t\t\t\t\t\t\t\tcornerClass = ' ui-corner-' + (isRTL ? 'left' : 'right'); break;\n\t\t\t\t\t\t\tdefault: calender += ' ui-datepicker-group-middle'; cornerClass = ''; break;\n\t\t\t\t\t\t}\n\t\t\t\t\tcalender += '\">';\n\t\t\t\t}\n\t\t\t\tcalender += '<div class=\"ui-datepicker-header ui-widget-header ui-helper-clearfix' + cornerClass + '\">' +\n\t\t\t\t\t(/all|left/.test(cornerClass) && row == 0 ? (isRTL ? next : prev) : '') +\n\t\t\t\t\t(/all|right/.test(cornerClass) && row == 0 ? (isRTL ? prev : next) : '') +\n\t\t\t\t\tthis._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate,\n\t\t\t\t\trow > 0 || col > 0, monthNames, monthNamesShort) + // draw month headers\n\t\t\t\t\t'</div><table class=\"ui-datepicker-calendar\"><thead>' +\n\t\t\t\t\t'<tr>';\n\t\t\t\tvar thead = (showWeek ? '<th class=\"ui-datepicker-week-col\">' + this._get(inst, 'weekHeader') + '</th>' : '');\n\t\t\t\tfor (var dow = 0; dow < 7; dow++) { // days of the week\n\t\t\t\t\tvar day = (dow + firstDay) % 7;\n\t\t\t\t\tthead += '<th' + ((dow + firstDay + 6) % 7 >= 5 ? ' class=\"ui-datepicker-week-end\"' : '') + '>' +\n\t\t\t\t\t\t'<span title=\"' + dayNames[day] + '\">' + dayNamesMin[day] + '</span></th>';\n\t\t\t\t}\n\t\t\t\tcalender += thead + '</tr></thead><tbody>';\n\t\t\t\tvar daysInMonth = this._getDaysInMonth(drawYear, drawMonth);\n\t\t\t\tif (drawYear == inst.selectedYear && drawMonth == inst.selectedMonth)\n\t\t\t\t\tinst.selectedDay = Math.min(inst.selectedDay, daysInMonth);\n\t\t\t\tvar leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7;\n\t\t\t\tvar curRows = Math.ceil((leadDays + daysInMonth) / 7); // calculate the number of rows to generate\n\t\t\t\tvar numRows = (isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows); //If multiple months, use the higher number of rows (see #7043)\n\t\t\t\tthis.maxRows = numRows;\n\t\t\t\tvar printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays));\n\t\t\t\tfor (var dRow = 0; dRow < numRows; dRow++) { // create date picker rows\n\t\t\t\t\tcalender += '<tr>';\n\t\t\t\t\tvar tbody = (!showWeek ? '' : '<td class=\"ui-datepicker-week-col\">' +\n\t\t\t\t\t\tthis._get(inst, 'calculateWeek')(printDate) + '</td>');\n\t\t\t\t\tfor (var dow = 0; dow < 7; dow++) { // create date picker days\n\t\t\t\t\t\tvar daySettings = (beforeShowDay ?\n\t\t\t\t\t\t\tbeforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, '']);\n\t\t\t\t\t\tvar otherMonth = (printDate.getMonth() != drawMonth);\n\t\t\t\t\t\tvar unselectable = (otherMonth && !selectOtherMonths) || !daySettings[0] ||\n\t\t\t\t\t\t\t(minDate && printDate < minDate) || (maxDate && printDate > maxDate);\n\t\t\t\t\t\ttbody += '<td class=\"' +\n\t\t\t\t\t\t\t((dow + firstDay + 6) % 7 >= 5 ? ' ui-datepicker-week-end' : '') + // highlight weekends\n\t\t\t\t\t\t\t(otherMonth ? ' ui-datepicker-other-month' : '') + // highlight days from other months\n\t\t\t\t\t\t\t((printDate.getTime() == selectedDate.getTime() && drawMonth == inst.selectedMonth && inst._keyEvent) || // user pressed key\n\t\t\t\t\t\t\t(defaultDate.getTime() == printDate.getTime() && defaultDate.getTime() == selectedDate.getTime()) ?\n\t\t\t\t\t\t\t// or defaultDate is current printedDate and defaultDate is selectedDate\n\t\t\t\t\t\t\t' ' + this._dayOverClass : '') + // highlight selected day\n\t\t\t\t\t\t\t(unselectable ? ' ' + this._unselectableClass + ' ui-state-disabled': '') +  // highlight unselectable days\n\t\t\t\t\t\t\t(otherMonth && !showOtherMonths ? '' : ' ' + daySettings[1] + // highlight custom dates\n\t\t\t\t\t\t\t(printDate.getTime() == currentDate.getTime() ? ' ' + this._currentClass : '') + // highlight selected day\n\t\t\t\t\t\t\t(printDate.getTime() == today.getTime() ? ' ui-datepicker-today' : '')) + '\"' + // highlight today (if different)\n\t\t\t\t\t\t\t((!otherMonth || showOtherMonths) && daySettings[2] ? ' title=\"' + daySettings[2] + '\"' : '') + // cell title\n\t\t\t\t\t\t\t(unselectable ? '' : ' data-handler=\"selectDay\" data-event=\"click\" data-month=\"' + printDate.getMonth() + '\" data-year=\"' + printDate.getFullYear() + '\"') + '>' + // actions\n\t\t\t\t\t\t\t(otherMonth && !showOtherMonths ? '&#xa0;' : // display for other months\n\t\t\t\t\t\t\t(unselectable ? '<span class=\"ui-state-default\">' + printDate.getDate() + '</span>' : '<a class=\"ui-state-default' +\n\t\t\t\t\t\t\t(printDate.getTime() == today.getTime() ? ' ui-state-highlight' : '') +\n\t\t\t\t\t\t\t(printDate.getTime() == currentDate.getTime() ? ' ui-state-active' : '') + // highlight selected day\n\t\t\t\t\t\t\t(otherMonth ? ' ui-priority-secondary' : '') + // distinguish dates from other months\n\t\t\t\t\t\t\t'\" href=\"#\">' + printDate.getDate() + '</a>')) + '</td>'; // display selectable date\n\t\t\t\t\t\tprintDate.setDate(printDate.getDate() + 1);\n\t\t\t\t\t\tprintDate = this._daylightSavingAdjust(printDate);\n\t\t\t\t\t}\n\t\t\t\t\tcalender += tbody + '</tr>';\n\t\t\t\t}\n\t\t\t\tdrawMonth++;\n\t\t\t\tif (drawMonth > 11) {\n\t\t\t\t\tdrawMonth = 0;\n\t\t\t\t\tdrawYear++;\n\t\t\t\t}\n\t\t\t\tcalender += '</tbody></table>' + (isMultiMonth ? '</div>' +\n\t\t\t\t\t\t\t((numMonths[0] > 0 && col == numMonths[1]-1) ? '<div class=\"ui-datepicker-row-break\"></div>' : '') : '');\n\t\t\t\tgroup += calender;\n\t\t\t}\n\t\t\thtml += group;\n\t\t}\n\t\thtml += buttonPanel + ($.ui.ie6 && !inst.inline ?\n\t\t\t'<iframe src=\"javascript:false;\" class=\"ui-datepicker-cover\" frameborder=\"0\"></iframe>' : '');\n\t\tinst._keyEvent = false;\n\t\treturn html;\n\t},\n\n\t/* Generate the month and year header. */\n\t_generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate,\n\t\t\tsecondary, monthNames, monthNamesShort) {\n\t\tvar changeMonth = this._get(inst, 'changeMonth');\n\t\tvar changeYear = this._get(inst, 'changeYear');\n\t\tvar showMonthAfterYear = this._get(inst, 'showMonthAfterYear');\n\t\tvar html = '<div class=\"ui-datepicker-title\">';\n\t\tvar monthHtml = '';\n\t\t// month selection\n\t\tif (secondary || !changeMonth)\n\t\t\tmonthHtml += '<span class=\"ui-datepicker-month\">' + monthNames[drawMonth] + '</span>';\n\t\telse {\n\t\t\tvar inMinYear = (minDate && minDate.getFullYear() == drawYear);\n\t\t\tvar inMaxYear = (maxDate && maxDate.getFullYear() == drawYear);\n\t\t\tmonthHtml += '<select class=\"ui-datepicker-month\" data-handler=\"selectMonth\" data-event=\"change\">';\n\t\t\tfor (var month = 0; month < 12; month++) {\n\t\t\t\tif ((!inMinYear || month >= minDate.getMonth()) &&\n\t\t\t\t\t\t(!inMaxYear || month <= maxDate.getMonth()))\n\t\t\t\t\tmonthHtml += '<option value=\"' + month + '\"' +\n\t\t\t\t\t\t(month == drawMonth ? ' selected=\"selected\"' : '') +\n\t\t\t\t\t\t'>' + monthNamesShort[month] + '</option>';\n\t\t\t}\n\t\t\tmonthHtml += '</select>';\n\t\t}\n\t\tif (!showMonthAfterYear)\n\t\t\thtml += monthHtml + (secondary || !(changeMonth && changeYear) ? '&#xa0;' : '');\n\t\t// year selection\n\t\tif ( !inst.yearshtml ) {\n\t\t\tinst.yearshtml = '';\n\t\t\tif (secondary || !changeYear)\n\t\t\t\thtml += '<span class=\"ui-datepicker-year\">' + drawYear + '</span>';\n\t\t\telse {\n\t\t\t\t// determine range of years to display\n\t\t\t\tvar years = this._get(inst, 'yearRange').split(':');\n\t\t\t\tvar thisYear = new Date().getFullYear();\n\t\t\t\tvar determineYear = function(value) {\n\t\t\t\t\tvar year = (value.match(/c[+-].*/) ? drawYear + parseInt(value.substring(1), 10) :\n\t\t\t\t\t\t(value.match(/[+-].*/) ? thisYear + parseInt(value, 10) :\n\t\t\t\t\t\tparseInt(value, 10)));\n\t\t\t\t\treturn (isNaN(year) ? thisYear : year);\n\t\t\t\t};\n\t\t\t\tvar year = determineYear(years[0]);\n\t\t\t\tvar endYear = Math.max(year, determineYear(years[1] || ''));\n\t\t\t\tyear = (minDate ? Math.max(year, minDate.getFullYear()) : year);\n\t\t\t\tendYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear);\n\t\t\t\tinst.yearshtml += '<select class=\"ui-datepicker-year\" data-handler=\"selectYear\" data-event=\"change\">';\n\t\t\t\tfor (; year <= endYear; year++) {\n\t\t\t\t\tinst.yearshtml += '<option value=\"' + year + '\"' +\n\t\t\t\t\t\t(year == drawYear ? ' selected=\"selected\"' : '') +\n\t\t\t\t\t\t'>' + year + '</option>';\n\t\t\t\t}\n\t\t\t\tinst.yearshtml += '</select>';\n\n\t\t\t\thtml += inst.yearshtml;\n\t\t\t\tinst.yearshtml = null;\n\t\t\t}\n\t\t}\n\t\thtml += this._get(inst, 'yearSuffix');\n\t\tif (showMonthAfterYear)\n\t\t\thtml += (secondary || !(changeMonth && changeYear) ? '&#xa0;' : '') + monthHtml;\n\t\thtml += '</div>'; // Close datepicker_header\n\t\treturn html;\n\t},\n\n\t/* Adjust one of the date sub-fields. */\n\t_adjustInstDate: function(inst, offset, period) {\n\t\tvar year = inst.drawYear + (period == 'Y' ? offset : 0);\n\t\tvar month = inst.drawMonth + (period == 'M' ? offset : 0);\n\t\tvar day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) +\n\t\t\t(period == 'D' ? offset : 0);\n\t\tvar date = this._restrictMinMax(inst,\n\t\t\tthis._daylightSavingAdjust(new Date(year, month, day)));\n\t\tinst.selectedDay = date.getDate();\n\t\tinst.drawMonth = inst.selectedMonth = date.getMonth();\n\t\tinst.drawYear = inst.selectedYear = date.getFullYear();\n\t\tif (period == 'M' || period == 'Y')\n\t\t\tthis._notifyChange(inst);\n\t},\n\n\t/* Ensure a date is within any min/max bounds. */\n\t_restrictMinMax: function(inst, date) {\n\t\tvar minDate = this._getMinMaxDate(inst, 'min');\n\t\tvar maxDate = this._getMinMaxDate(inst, 'max');\n\t\tvar newDate = (minDate && date < minDate ? minDate : date);\n\t\tnewDate = (maxDate && newDate > maxDate ? maxDate : newDate);\n\t\treturn newDate;\n\t},\n\n\t/* Notify change of month/year. */\n\t_notifyChange: function(inst) {\n\t\tvar onChange = this._get(inst, 'onChangeMonthYear');\n\t\tif (onChange)\n\t\t\tonChange.apply((inst.input ? inst.input[0] : null),\n\t\t\t\t[inst.selectedYear, inst.selectedMonth + 1, inst]);\n\t},\n\n\t/* Determine the number of months to show. */\n\t_getNumberOfMonths: function(inst) {\n\t\tvar numMonths = this._get(inst, 'numberOfMonths');\n\t\treturn (numMonths == null ? [1, 1] : (typeof numMonths == 'number' ? [1, numMonths] : numMonths));\n\t},\n\n\t/* Determine the current maximum date - ensure no time components are set. */\n\t_getMinMaxDate: function(inst, minMax) {\n\t\treturn this._determineDate(inst, this._get(inst, minMax + 'Date'), null);\n\t},\n\n\t/* Find the number of days in a given month. */\n\t_getDaysInMonth: function(year, month) {\n\t\treturn 32 - this._daylightSavingAdjust(new Date(year, month, 32)).getDate();\n\t},\n\n\t/* Find the day of the week of the first of a month. */\n\t_getFirstDayOfMonth: function(year, month) {\n\t\treturn new Date(year, month, 1).getDay();\n\t},\n\n\t/* Determines if we should allow a \"next/prev\" month display change. */\n\t_canAdjustMonth: function(inst, offset, curYear, curMonth) {\n\t\tvar numMonths = this._getNumberOfMonths(inst);\n\t\tvar date = this._daylightSavingAdjust(new Date(curYear,\n\t\t\tcurMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1));\n\t\tif (offset < 0)\n\t\t\tdate.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth()));\n\t\treturn this._isInRange(inst, date);\n\t},\n\n\t/* Is the given date in the accepted range? */\n\t_isInRange: function(inst, date) {\n\t\tvar minDate = this._getMinMaxDate(inst, 'min');\n\t\tvar maxDate = this._getMinMaxDate(inst, 'max');\n\t\treturn ((!minDate || date.getTime() >= minDate.getTime()) &&\n\t\t\t(!maxDate || date.getTime() <= maxDate.getTime()));\n\t},\n\n\t/* Provide the configuration settings for formatting/parsing. */\n\t_getFormatConfig: function(inst) {\n\t\tvar shortYearCutoff = this._get(inst, 'shortYearCutoff');\n\t\tshortYearCutoff = (typeof shortYearCutoff != 'string' ? shortYearCutoff :\n\t\t\tnew Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10));\n\t\treturn {shortYearCutoff: shortYearCutoff,\n\t\t\tdayNamesShort: this._get(inst, 'dayNamesShort'), dayNames: this._get(inst, 'dayNames'),\n\t\t\tmonthNamesShort: this._get(inst, 'monthNamesShort'), monthNames: this._get(inst, 'monthNames')};\n\t},\n\n\t/* Format the given date for display. */\n\t_formatDate: function(inst, day, month, year) {\n\t\tif (!day) {\n\t\t\tinst.currentDay = inst.selectedDay;\n\t\t\tinst.currentMonth = inst.selectedMonth;\n\t\t\tinst.currentYear = inst.selectedYear;\n\t\t}\n\t\tvar date = (day ? (typeof day == 'object' ? day :\n\t\t\tthis._daylightSavingAdjust(new Date(year, month, day))) :\n\t\t\tthis._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay)));\n\t\treturn this.formatDate(this._get(inst, 'dateFormat'), date, this._getFormatConfig(inst));\n\t}\n});\n\n/*\n * Bind hover events for datepicker elements.\n * Done via delegate so the binding only occurs once in the lifetime of the parent div.\n * Global instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker.\n */\nfunction bindHover(dpDiv) {\n\tvar selector = 'button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a';\n\treturn dpDiv.delegate(selector, 'mouseout', function() {\n\t\t\t$(this).removeClass('ui-state-hover');\n\t\t\tif (this.className.indexOf('ui-datepicker-prev') != -1) $(this).removeClass('ui-datepicker-prev-hover');\n\t\t\tif (this.className.indexOf('ui-datepicker-next') != -1) $(this).removeClass('ui-datepicker-next-hover');\n\t\t})\n\t\t.delegate(selector, 'mouseover', function(){\n\t\t\tif (!$.datepicker._isDisabledDatepicker( instActive.inline ? dpDiv.parent()[0] : instActive.input[0])) {\n\t\t\t\t$(this).parents('.ui-datepicker-calendar').find('a').removeClass('ui-state-hover');\n\t\t\t\t$(this).addClass('ui-state-hover');\n\t\t\t\tif (this.className.indexOf('ui-datepicker-prev') != -1) $(this).addClass('ui-datepicker-prev-hover');\n\t\t\t\tif (this.className.indexOf('ui-datepicker-next') != -1) $(this).addClass('ui-datepicker-next-hover');\n\t\t\t}\n\t\t});\n}\n\n/* jQuery extend now ignores nulls! */\nfunction extendRemove(target, props) {\n\t$.extend(target, props);\n\tfor (var name in props)\n\t\tif (props[name] == null || props[name] == undefined)\n\t\t\ttarget[name] = props[name];\n\treturn target;\n};\n\n/* Invoke the datepicker functionality.\n   @param  options  string - a command, optionally followed by additional parameters or\n\t                Object - settings for attaching new datepicker functionality\n   @return  jQuery object */\n$.fn.datepicker = function(options){\n\n\t/* Verify an empty collection wasn't passed - Fixes #6976 */\n\tif ( !this.length ) {\n\t\treturn this;\n\t}\n\n\t/* Initialise the date picker. */\n\tif (!$.datepicker.initialized) {\n\t\t$(document).mousedown($.datepicker._checkExternalClick).\n\t\t\tfind(document.body).append($.datepicker.dpDiv);\n\t\t$.datepicker.initialized = true;\n\t}\n\n\tvar otherArgs = Array.prototype.slice.call(arguments, 1);\n\tif (typeof options == 'string' && (options == 'isDisabled' || options == 'getDate' || options == 'widget'))\n\t\treturn $.datepicker['_' + options + 'Datepicker'].\n\t\t\tapply($.datepicker, [this[0]].concat(otherArgs));\n\tif (options == 'option' && arguments.length == 2 && typeof arguments[1] == 'string')\n\t\treturn $.datepicker['_' + options + 'Datepicker'].\n\t\t\tapply($.datepicker, [this[0]].concat(otherArgs));\n\treturn this.each(function() {\n\t\ttypeof options == 'string' ?\n\t\t\t$.datepicker['_' + options + 'Datepicker'].\n\t\t\t\tapply($.datepicker, [this].concat(otherArgs)) :\n\t\t\t$.datepicker._attachDatepicker(this, options);\n\t});\n};\n\n$.datepicker = new Datepicker(); // singleton instance\n$.datepicker.initialized = false;\n$.datepicker.uuid = new Date().getTime();\n$.datepicker.version = \"1.9.2\";\n\n// Workaround for #4055\n// Add another global to avoid noConflict issues with inline event handlers\nwindow['DP_jQuery_' + dpuuid] = $;\n\n})(jQuery);\n(function( $, undefined ) {\n\nvar uiDialogClasses = \"ui-dialog ui-widget ui-widget-content ui-corner-all \",\n\tsizeRelatedOptions = {\n\t\tbuttons: true,\n\t\theight: true,\n\t\tmaxHeight: true,\n\t\tmaxWidth: true,\n\t\tminHeight: true,\n\t\tminWidth: true,\n\t\twidth: true\n\t},\n\tresizableRelatedOptions = {\n\t\tmaxHeight: true,\n\t\tmaxWidth: true,\n\t\tminHeight: true,\n\t\tminWidth: true\n\t};\n\n$.widget(\"ui.dialog\", {\n\tversion: \"1.9.2\",\n\toptions: {\n\t\tautoOpen: true,\n\t\tbuttons: {},\n\t\tcloseOnEscape: true,\n\t\tcloseText: \"close\",\n\t\tdialogClass: \"\",\n\t\tdraggable: true,\n\t\thide: null,\n\t\theight: \"auto\",\n\t\tmaxHeight: false,\n\t\tmaxWidth: false,\n\t\tminHeight: 150,\n\t\tminWidth: 150,\n\t\tmodal: false,\n\t\tposition: {\n\t\t\tmy: \"center\",\n\t\t\tat: \"center\",\n\t\t\tof: window,\n\t\t\tcollision: \"fit\",\n\t\t\t// ensure that the titlebar is never outside the document\n\t\t\tusing: function( pos ) {\n\t\t\t\tvar topOffset = $( this ).css( pos ).offset().top;\n\t\t\t\tif ( topOffset < 0 ) {\n\t\t\t\t\t$( this ).css( \"top\", pos.top - topOffset );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tresizable: true,\n\t\tshow: null,\n\t\tstack: true,\n\t\ttitle: \"\",\n\t\twidth: 300,\n\t\tzIndex: 1000\n\t},\n\n\t_create: function() {\n\t\tthis.originalTitle = this.element.attr( \"title\" );\n\t\t// #5742 - .attr() might return a DOMElement\n\t\tif ( typeof this.originalTitle !== \"string\" ) {\n\t\t\tthis.originalTitle = \"\";\n\t\t}\n\t\tthis.oldPosition = {\n\t\t\tparent: this.element.parent(),\n\t\t\tindex: this.element.parent().children().index( this.element )\n\t\t};\n\t\tthis.options.title = this.options.title || this.originalTitle;\n\t\tvar that = this,\n\t\t\toptions = this.options,\n\n\t\t\ttitle = options.title || \"&#160;\",\n\t\t\tuiDialog,\n\t\t\tuiDialogTitlebar,\n\t\t\tuiDialogTitlebarClose,\n\t\t\tuiDialogTitle,\n\t\t\tuiDialogButtonPane;\n\n\t\t\tuiDialog = ( this.uiDialog = $( \"<div>\" ) )\n\t\t\t\t.addClass( uiDialogClasses + options.dialogClass )\n\t\t\t\t.css({\n\t\t\t\t\tdisplay: \"none\",\n\t\t\t\t\toutline: 0, // TODO: move to stylesheet\n\t\t\t\t\tzIndex: options.zIndex\n\t\t\t\t})\n\t\t\t\t// setting tabIndex makes the div focusable\n\t\t\t\t.attr( \"tabIndex\", -1)\n\t\t\t\t.keydown(function( event ) {\n\t\t\t\t\tif ( options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode &&\n\t\t\t\t\t\t\tevent.keyCode === $.ui.keyCode.ESCAPE ) {\n\t\t\t\t\t\tthat.close( event );\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.mousedown(function( event ) {\n\t\t\t\t\tthat.moveToTop( false, event );\n\t\t\t\t})\n\t\t\t\t.appendTo( \"body\" );\n\n\t\t\tthis.element\n\t\t\t\t.show()\n\t\t\t\t.removeAttr( \"title\" )\n\t\t\t\t.addClass( \"ui-dialog-content ui-widget-content\" )\n\t\t\t\t.appendTo( uiDialog );\n\n\t\t\tuiDialogTitlebar = ( this.uiDialogTitlebar = $( \"<div>\" ) )\n\t\t\t\t.addClass( \"ui-dialog-titlebar  ui-widget-header  \" +\n\t\t\t\t\t\"ui-corner-all  ui-helper-clearfix\" )\n\t\t\t\t.bind( \"mousedown\", function() {\n\t\t\t\t\t// Dialog isn't getting focus when dragging (#8063)\n\t\t\t\t\tuiDialog.focus();\n\t\t\t\t})\n\t\t\t\t.prependTo( uiDialog );\n\n\t\t\tuiDialogTitlebarClose = $( \"<a href='#'></a>\" )\n\t\t\t\t.addClass( \"ui-dialog-titlebar-close  ui-corner-all\" )\n\t\t\t\t.attr( \"role\", \"button\" )\n\t\t\t\t.click(function( event ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tthat.close( event );\n\t\t\t\t})\n\t\t\t\t.appendTo( uiDialogTitlebar );\n\n\t\t\t( this.uiDialogTitlebarCloseText = $( \"<span>\" ) )\n\t\t\t\t.addClass( \"ui-icon ui-icon-closethick\" )\n\t\t\t\t.text( options.closeText )\n\t\t\t\t.appendTo( uiDialogTitlebarClose );\n\n\t\t\tuiDialogTitle = $( \"<span>\" )\n\t\t\t\t.uniqueId()\n\t\t\t\t.addClass( \"ui-dialog-title\" )\n\t\t\t\t.html( title )\n\t\t\t\t.prependTo( uiDialogTitlebar );\n\n\t\t\tuiDialogButtonPane = ( this.uiDialogButtonPane = $( \"<div>\" ) )\n\t\t\t\t.addClass( \"ui-dialog-buttonpane ui-widget-content ui-helper-clearfix\" );\n\n\t\t\t( this.uiButtonSet = $( \"<div>\" ) )\n\t\t\t\t.addClass( \"ui-dialog-buttonset\" )\n\t\t\t\t.appendTo( uiDialogButtonPane );\n\n\t\tuiDialog.attr({\n\t\t\trole: \"dialog\",\n\t\t\t\"aria-labelledby\": uiDialogTitle.attr( \"id\" )\n\t\t});\n\n\t\tuiDialogTitlebar.find( \"*\" ).add( uiDialogTitlebar ).disableSelection();\n\t\tthis._hoverable( uiDialogTitlebarClose );\n\t\tthis._focusable( uiDialogTitlebarClose );\n\n\t\tif ( options.draggable && $.fn.draggable ) {\n\t\t\tthis._makeDraggable();\n\t\t}\n\t\tif ( options.resizable && $.fn.resizable ) {\n\t\t\tthis._makeResizable();\n\t\t}\n\n\t\tthis._createButtons( options.buttons );\n\t\tthis._isOpen = false;\n\n\t\tif ( $.fn.bgiframe ) {\n\t\t\tuiDialog.bgiframe();\n\t\t}\n\n\t\t// prevent tabbing out of modal dialogs\n\t\tthis._on( uiDialog, { keydown: function( event ) {\n\t\t\tif ( !options.modal || event.keyCode !== $.ui.keyCode.TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar tabbables = $( \":tabbable\", uiDialog ),\n\t\t\t\tfirst = tabbables.filter( \":first\" ),\n\t\t\t\tlast  = tabbables.filter( \":last\" );\n\n\t\t\tif ( event.target === last[0] && !event.shiftKey ) {\n\t\t\t\tfirst.focus( 1 );\n\t\t\t\treturn false;\n\t\t\t} else if ( event.target === first[0] && event.shiftKey ) {\n\t\t\t\tlast.focus( 1 );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}});\n\t},\n\n\t_init: function() {\n\t\tif ( this.options.autoOpen ) {\n\t\t\tthis.open();\n\t\t}\n\t},\n\n\t_destroy: function() {\n\t\tvar next,\n\t\t\toldPosition = this.oldPosition;\n\n\t\tif ( this.overlay ) {\n\t\t\tthis.overlay.destroy();\n\t\t}\n\t\tthis.uiDialog.hide();\n\t\tthis.element\n\t\t\t.removeClass( \"ui-dialog-content ui-widget-content\" )\n\t\t\t.hide()\n\t\t\t.appendTo( \"body\" );\n\t\tthis.uiDialog.remove();\n\n\t\tif ( this.originalTitle ) {\n\t\t\tthis.element.attr( \"title\", this.originalTitle );\n\t\t}\n\n\t\tnext = oldPosition.parent.children().eq( oldPosition.index );\n\t\t// Don't try to place the dialog next to itself (#8613)\n\t\tif ( next.length && next[ 0 ] !== this.element[ 0 ] ) {\n\t\t\tnext.before( this.element );\n\t\t} else {\n\t\t\toldPosition.parent.append( this.element );\n\t\t}\n\t},\n\n\twidget: function() {\n\t\treturn this.uiDialog;\n\t},\n\n\tclose: function( event ) {\n\t\tvar that = this,\n\t\t\tmaxZ, thisZ;\n\n\t\tif ( !this._isOpen ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( false === this._trigger( \"beforeClose\", event ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._isOpen = false;\n\n\t\tif ( this.overlay ) {\n\t\t\tthis.overlay.destroy();\n\t\t}\n\n\t\tif ( this.options.hide ) {\n\t\t\tthis._hide( this.uiDialog, this.options.hide, function() {\n\t\t\t\tthat._trigger( \"close\", event );\n\t\t\t});\n\t\t} else {\n\t\t\tthis.uiDialog.hide();\n\t\t\tthis._trigger( \"close\", event );\n\t\t}\n\n\t\t$.ui.dialog.overlay.resize();\n\n\t\t// adjust the maxZ to allow other modal dialogs to continue to work (see #4309)\n\t\tif ( this.options.modal ) {\n\t\t\tmaxZ = 0;\n\t\t\t$( \".ui-dialog\" ).each(function() {\n\t\t\t\tif ( this !== that.uiDialog[0] ) {\n\t\t\t\t\tthisZ = $( this ).css( \"z-index\" );\n\t\t\t\t\tif ( !isNaN( thisZ ) ) {\n\t\t\t\t\t\tmaxZ = Math.max( maxZ, thisZ );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\t$.ui.dialog.maxZ = maxZ;\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tisOpen: function() {\n\t\treturn this._isOpen;\n\t},\n\n\t// the force parameter allows us to move modal dialogs to their correct\n\t// position on open\n\tmoveToTop: function( force, event ) {\n\t\tvar options = this.options,\n\t\t\tsaveScroll;\n\n\t\tif ( ( options.modal && !force ) ||\n\t\t\t\t( !options.stack && !options.modal ) ) {\n\t\t\treturn this._trigger( \"focus\", event );\n\t\t}\n\n\t\tif ( options.zIndex > $.ui.dialog.maxZ ) {\n\t\t\t$.ui.dialog.maxZ = options.zIndex;\n\t\t}\n\t\tif ( this.overlay ) {\n\t\t\t$.ui.dialog.maxZ += 1;\n\t\t\t$.ui.dialog.overlay.maxZ = $.ui.dialog.maxZ;\n\t\t\tthis.overlay.$el.css( \"z-index\", $.ui.dialog.overlay.maxZ );\n\t\t}\n\n\t\t// Save and then restore scroll\n\t\t// Opera 9.5+ resets when parent z-index is changed.\n\t\t// http://bugs.jqueryui.com/ticket/3193\n\t\tsaveScroll = {\n\t\t\tscrollTop: this.element.scrollTop(),\n\t\t\tscrollLeft: this.element.scrollLeft()\n\t\t};\n\t\t$.ui.dialog.maxZ += 1;\n\t\tthis.uiDialog.css( \"z-index\", $.ui.dialog.maxZ );\n\t\tthis.element.attr( saveScroll );\n\t\tthis._trigger( \"focus\", event );\n\n\t\treturn this;\n\t},\n\n\topen: function() {\n\t\tif ( this._isOpen ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar hasFocus,\n\t\t\toptions = this.options,\n\t\t\tuiDialog = this.uiDialog;\n\n\t\tthis._size();\n\t\tthis._position( options.position );\n\t\tuiDialog.show( options.show );\n\t\tthis.overlay = options.modal ? new $.ui.dialog.overlay( this ) : null;\n\t\tthis.moveToTop( true );\n\n\t\t// set focus to the first tabbable element in the content area or the first button\n\t\t// if there are no tabbable elements, set focus on the dialog itself\n\t\thasFocus = this.element.find( \":tabbable\" );\n\t\tif ( !hasFocus.length ) {\n\t\t\thasFocus = this.uiDialogButtonPane.find( \":tabbable\" );\n\t\t\tif ( !hasFocus.length ) {\n\t\t\t\thasFocus = uiDialog;\n\t\t\t}\n\t\t}\n\t\thasFocus.eq( 0 ).focus();\n\n\t\tthis._isOpen = true;\n\t\tthis._trigger( \"open\" );\n\n\t\treturn this;\n\t},\n\n\t_createButtons: function( buttons ) {\n\t\tvar that = this,\n\t\t\thasButtons = false;\n\n\t\t// if we already have a button pane, remove it\n\t\tthis.uiDialogButtonPane.remove();\n\t\tthis.uiButtonSet.empty();\n\n\t\tif ( typeof buttons === \"object\" && buttons !== null ) {\n\t\t\t$.each( buttons, function() {\n\t\t\t\treturn !(hasButtons = true);\n\t\t\t});\n\t\t}\n\t\tif ( hasButtons ) {\n\t\t\t$.each( buttons, function( name, props ) {\n\t\t\t\tvar button, click;\n\t\t\t\tprops = $.isFunction( props ) ?\n\t\t\t\t\t{ click: props, text: name } :\n\t\t\t\t\tprops;\n\t\t\t\t// Default to a non-submitting button\n\t\t\t\tprops = $.extend( { type: \"button\" }, props );\n\t\t\t\t// Change the context for the click callback to be the main element\n\t\t\t\tclick = props.click;\n\t\t\t\tprops.click = function() {\n\t\t\t\t\tclick.apply( that.element[0], arguments );\n\t\t\t\t};\n\t\t\t\tbutton = $( \"<button></button>\", props )\n\t\t\t\t\t.appendTo( that.uiButtonSet );\n\t\t\t\tif ( $.fn.button ) {\n\t\t\t\t\tbutton.button();\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.uiDialog.addClass( \"ui-dialog-buttons\" );\n\t\t\tthis.uiDialogButtonPane.appendTo( this.uiDialog );\n\t\t} else {\n\t\t\tthis.uiDialog.removeClass( \"ui-dialog-buttons\" );\n\t\t}\n\t},\n\n\t_makeDraggable: function() {\n\t\tvar that = this,\n\t\t\toptions = this.options;\n\n\t\tfunction filteredUi( ui ) {\n\t\t\treturn {\n\t\t\t\tposition: ui.position,\n\t\t\t\toffset: ui.offset\n\t\t\t};\n\t\t}\n\n\t\tthis.uiDialog.draggable({\n\t\t\tcancel: \".ui-dialog-content, .ui-dialog-titlebar-close\",\n\t\t\thandle: \".ui-dialog-titlebar\",\n\t\t\tcontainment: \"document\",\n\t\t\tstart: function( event, ui ) {\n\t\t\t\t$( this )\n\t\t\t\t\t.addClass( \"ui-dialog-dragging\" );\n\t\t\t\tthat._trigger( \"dragStart\", event, filteredUi( ui ) );\n\t\t\t},\n\t\t\tdrag: function( event, ui ) {\n\t\t\t\tthat._trigger( \"drag\", event, filteredUi( ui ) );\n\t\t\t},\n\t\t\tstop: function( event, ui ) {\n\t\t\t\toptions.position = [\n\t\t\t\t\tui.position.left - that.document.scrollLeft(),\n\t\t\t\t\tui.position.top - that.document.scrollTop()\n\t\t\t\t];\n\t\t\t\t$( this )\n\t\t\t\t\t.removeClass( \"ui-dialog-dragging\" );\n\t\t\t\tthat._trigger( \"dragStop\", event, filteredUi( ui ) );\n\t\t\t\t$.ui.dialog.overlay.resize();\n\t\t\t}\n\t\t});\n\t},\n\n\t_makeResizable: function( handles ) {\n\t\thandles = (handles === undefined ? this.options.resizable : handles);\n\t\tvar that = this,\n\t\t\toptions = this.options,\n\t\t\t// .ui-resizable has position: relative defined in the stylesheet\n\t\t\t// but dialogs have to use absolute or fixed positioning\n\t\t\tposition = this.uiDialog.css( \"position\" ),\n\t\t\tresizeHandles = typeof handles === 'string' ?\n\t\t\t\thandles\t:\n\t\t\t\t\"n,e,s,w,se,sw,ne,nw\";\n\n\t\tfunction filteredUi( ui ) {\n\t\t\treturn {\n\t\t\t\toriginalPosition: ui.originalPosition,\n\t\t\t\toriginalSize: ui.originalSize,\n\t\t\t\tposition: ui.position,\n\t\t\t\tsize: ui.size\n\t\t\t};\n\t\t}\n\n\t\tthis.uiDialog.resizable({\n\t\t\tcancel: \".ui-dialog-content\",\n\t\t\tcontainment: \"document\",\n\t\t\talsoResize: this.element,\n\t\t\tmaxWidth: options.maxWidth,\n\t\t\tmaxHeight: options.maxHeight,\n\t\t\tminWidth: options.minWidth,\n\t\t\tminHeight: this._minHeight(),\n\t\t\thandles: resizeHandles,\n\t\t\tstart: function( event, ui ) {\n\t\t\t\t$( this ).addClass( \"ui-dialog-resizing\" );\n\t\t\t\tthat._trigger( \"resizeStart\", event, filteredUi( ui ) );\n\t\t\t},\n\t\t\tresize: function( event, ui ) {\n\t\t\t\tthat._trigger( \"resize\", event, filteredUi( ui ) );\n\t\t\t},\n\t\t\tstop: function( event, ui ) {\n\t\t\t\t$( this ).removeClass( \"ui-dialog-resizing\" );\n\t\t\t\toptions.height = $( this ).height();\n\t\t\t\toptions.width = $( this ).width();\n\t\t\t\tthat._trigger( \"resizeStop\", event, filteredUi( ui ) );\n\t\t\t\t$.ui.dialog.overlay.resize();\n\t\t\t}\n\t\t})\n\t\t.css( \"position\", position )\n\t\t.find( \".ui-resizable-se\" )\n\t\t\t.addClass( \"ui-icon ui-icon-grip-diagonal-se\" );\n\t},\n\n\t_minHeight: function() {\n\t\tvar options = this.options;\n\n\t\tif ( options.height === \"auto\" ) {\n\t\t\treturn options.minHeight;\n\t\t} else {\n\t\t\treturn Math.min( options.minHeight, options.height );\n\t\t}\n\t},\n\n\t_position: function( position ) {\n\t\tvar myAt = [],\n\t\t\toffset = [ 0, 0 ],\n\t\t\tisVisible;\n\n\t\tif ( position ) {\n\t\t\t// deep extending converts arrays to objects in jQuery <= 1.3.2 :-(\n\t//\t\tif (typeof position == 'string' || $.isArray(position)) {\n\t//\t\t\tmyAt = $.isArray(position) ? position : position.split(' ');\n\n\t\t\tif ( typeof position === \"string\" || (typeof position === \"object\" && \"0\" in position ) ) {\n\t\t\t\tmyAt = position.split ? position.split( \" \" ) : [ position[ 0 ], position[ 1 ] ];\n\t\t\t\tif ( myAt.length === 1 ) {\n\t\t\t\t\tmyAt[ 1 ] = myAt[ 0 ];\n\t\t\t\t}\n\n\t\t\t\t$.each( [ \"left\", \"top\" ], function( i, offsetPosition ) {\n\t\t\t\t\tif ( +myAt[ i ] === myAt[ i ] ) {\n\t\t\t\t\t\toffset[ i ] = myAt[ i ];\n\t\t\t\t\t\tmyAt[ i ] = offsetPosition;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tposition = {\n\t\t\t\t\tmy: myAt[0] + (offset[0] < 0 ? offset[0] : \"+\" + offset[0]) + \" \" +\n\t\t\t\t\t\tmyAt[1] + (offset[1] < 0 ? offset[1] : \"+\" + offset[1]),\n\t\t\t\t\tat: myAt.join( \" \" )\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tposition = $.extend( {}, $.ui.dialog.prototype.options.position, position );\n\t\t} else {\n\t\t\tposition = $.ui.dialog.prototype.options.position;\n\t\t}\n\n\t\t// need to show the dialog to get the actual offset in the position plugin\n\t\tisVisible = this.uiDialog.is( \":visible\" );\n\t\tif ( !isVisible ) {\n\t\t\tthis.uiDialog.show();\n\t\t}\n\t\tthis.uiDialog.position( position );\n\t\tif ( !isVisible ) {\n\t\t\tthis.uiDialog.hide();\n\t\t}\n\t},\n\n\t_setOptions: function( options ) {\n\t\tvar that = this,\n\t\t\tresizableOptions = {},\n\t\t\tresize = false;\n\n\t\t$.each( options, function( key, value ) {\n\t\t\tthat._setOption( key, value );\n\n\t\t\tif ( key in sizeRelatedOptions ) {\n\t\t\t\tresize = true;\n\t\t\t}\n\t\t\tif ( key in resizableRelatedOptions ) {\n\t\t\t\tresizableOptions[ key ] = value;\n\t\t\t}\n\t\t});\n\n\t\tif ( resize ) {\n\t\t\tthis._size();\n\t\t}\n\t\tif ( this.uiDialog.is( \":data(resizable)\" ) ) {\n\t\t\tthis.uiDialog.resizable( \"option\", resizableOptions );\n\t\t}\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tvar isDraggable, isResizable,\n\t\t\tuiDialog = this.uiDialog;\n\n\t\tswitch ( key ) {\n\t\t\tcase \"buttons\":\n\t\t\t\tthis._createButtons( value );\n\t\t\t\tbreak;\n\t\t\tcase \"closeText\":\n\t\t\t\t// ensure that we always pass a string\n\t\t\t\tthis.uiDialogTitlebarCloseText.text( \"\" + value );\n\t\t\t\tbreak;\n\t\t\tcase \"dialogClass\":\n\t\t\t\tuiDialog\n\t\t\t\t\t.removeClass( this.options.dialogClass )\n\t\t\t\t\t.addClass( uiDialogClasses + value );\n\t\t\t\tbreak;\n\t\t\tcase \"disabled\":\n\t\t\t\tif ( value ) {\n\t\t\t\t\tuiDialog.addClass( \"ui-dialog-disabled\" );\n\t\t\t\t} else {\n\t\t\t\t\tuiDialog.removeClass( \"ui-dialog-disabled\" );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"draggable\":\n\t\t\t\tisDraggable = uiDialog.is( \":data(draggable)\" );\n\t\t\t\tif ( isDraggable && !value ) {\n\t\t\t\t\tuiDialog.draggable( \"destroy\" );\n\t\t\t\t}\n\n\t\t\t\tif ( !isDraggable && value ) {\n\t\t\t\t\tthis._makeDraggable();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"position\":\n\t\t\t\tthis._position( value );\n\t\t\t\tbreak;\n\t\t\tcase \"resizable\":\n\t\t\t\t// currently resizable, becoming non-resizable\n\t\t\t\tisResizable = uiDialog.is( \":data(resizable)\" );\n\t\t\t\tif ( isResizable && !value ) {\n\t\t\t\t\tuiDialog.resizable( \"destroy\" );\n\t\t\t\t}\n\n\t\t\t\t// currently resizable, changing handles\n\t\t\t\tif ( isResizable && typeof value === \"string\" ) {\n\t\t\t\t\tuiDialog.resizable( \"option\", \"handles\", value );\n\t\t\t\t}\n\n\t\t\t\t// currently non-resizable, becoming resizable\n\t\t\t\tif ( !isResizable && value !== false ) {\n\t\t\t\t\tthis._makeResizable( value );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"title\":\n\t\t\t\t// convert whatever was passed in o a string, for html() to not throw up\n\t\t\t\t$( \".ui-dialog-title\", this.uiDialogTitlebar )\n\t\t\t\t\t.html( \"\" + ( value || \"&#160;\" ) );\n\t\t\t\tbreak;\n\t\t}\n\n\t\tthis._super( key, value );\n\t},\n\n\t_size: function() {\n\t\t/* If the user has resized the dialog, the .ui-dialog and .ui-dialog-content\n\t\t * divs will both have width and height set, so we need to reset them\n\t\t */\n\t\tvar nonContentHeight, minContentHeight, autoHeight,\n\t\t\toptions = this.options,\n\t\t\tisVisible = this.uiDialog.is( \":visible\" );\n\n\t\t// reset content sizing\n\t\tthis.element.show().css({\n\t\t\twidth: \"auto\",\n\t\t\tminHeight: 0,\n\t\t\theight: 0\n\t\t});\n\n\t\tif ( options.minWidth > options.width ) {\n\t\t\toptions.width = options.minWidth;\n\t\t}\n\n\t\t// reset wrapper sizing\n\t\t// determine the height of all the non-content elements\n\t\tnonContentHeight = this.uiDialog.css({\n\t\t\t\theight: \"auto\",\n\t\t\t\twidth: options.width\n\t\t\t})\n\t\t\t.outerHeight();\n\t\tminContentHeight = Math.max( 0, options.minHeight - nonContentHeight );\n\n\t\tif ( options.height === \"auto\" ) {\n\t\t\t// only needed for IE6 support\n\t\t\tif ( $.support.minHeight ) {\n\t\t\t\tthis.element.css({\n\t\t\t\t\tminHeight: minContentHeight,\n\t\t\t\t\theight: \"auto\"\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.uiDialog.show();\n\t\t\t\tautoHeight = this.element.css( \"height\", \"auto\" ).height();\n\t\t\t\tif ( !isVisible ) {\n\t\t\t\t\tthis.uiDialog.hide();\n\t\t\t\t}\n\t\t\t\tthis.element.height( Math.max( autoHeight, minContentHeight ) );\n\t\t\t}\n\t\t} else {\n\t\t\tthis.element.height( Math.max( options.height - nonContentHeight, 0 ) );\n\t\t}\n\n\t\tif (this.uiDialog.is( \":data(resizable)\" ) ) {\n\t\t\tthis.uiDialog.resizable( \"option\", \"minHeight\", this._minHeight() );\n\t\t}\n\t}\n});\n\n$.extend($.ui.dialog, {\n\tuuid: 0,\n\tmaxZ: 0,\n\n\tgetTitleId: function($el) {\n\t\tvar id = $el.attr( \"id\" );\n\t\tif ( !id ) {\n\t\t\tthis.uuid += 1;\n\t\t\tid = this.uuid;\n\t\t}\n\t\treturn \"ui-dialog-title-\" + id;\n\t},\n\n\toverlay: function( dialog ) {\n\t\tthis.$el = $.ui.dialog.overlay.create( dialog );\n\t}\n});\n\n$.extend( $.ui.dialog.overlay, {\n\tinstances: [],\n\t// reuse old instances due to IE memory leak with alpha transparency (see #5185)\n\toldInstances: [],\n\tmaxZ: 0,\n\tevents: $.map(\n\t\t\"focus,mousedown,mouseup,keydown,keypress,click\".split( \",\" ),\n\t\tfunction( event ) {\n\t\t\treturn event + \".dialog-overlay\";\n\t\t}\n\t).join( \" \" ),\n\tcreate: function( dialog ) {\n\t\tif ( this.instances.length === 0 ) {\n\t\t\t// prevent use of anchors and inputs\n\t\t\t// we use a setTimeout in case the overlay is created from an\n\t\t\t// event that we're going to be cancelling (see #2804)\n\t\t\tsetTimeout(function() {\n\t\t\t\t// handle $(el).dialog().dialog('close') (see #4065)\n\t\t\t\tif ( $.ui.dialog.overlay.instances.length ) {\n\t\t\t\t\t$( document ).bind( $.ui.dialog.overlay.events, function( event ) {\n\t\t\t\t\t\t// stop events if the z-index of the target is < the z-index of the overlay\n\t\t\t\t\t\t// we cannot return true when we don't want to cancel the event (#3523)\n\t\t\t\t\t\tif ( $( event.target ).zIndex() < $.ui.dialog.overlay.maxZ ) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}, 1 );\n\n\t\t\t// handle window resize\n\t\t\t$( window ).bind( \"resize.dialog-overlay\", $.ui.dialog.overlay.resize );\n\t\t}\n\n\t\tvar $el = ( this.oldInstances.pop() || $( \"<div>\" ).addClass( \"ui-widget-overlay\" ) );\n\n\t\t// allow closing by pressing the escape key\n\t\t$( document ).bind( \"keydown.dialog-overlay\", function( event ) {\n\t\t\tvar instances = $.ui.dialog.overlay.instances;\n\t\t\t// only react to the event if we're the top overlay\n\t\t\tif ( instances.length !== 0 && instances[ instances.length - 1 ] === $el &&\n\t\t\t\tdialog.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode &&\n\t\t\t\tevent.keyCode === $.ui.keyCode.ESCAPE ) {\n\n\t\t\t\tdialog.close( event );\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t});\n\n\t\t$el.appendTo( document.body ).css({\n\t\t\twidth: this.width(),\n\t\t\theight: this.height()\n\t\t});\n\n\t\tif ( $.fn.bgiframe ) {\n\t\t\t$el.bgiframe();\n\t\t}\n\n\t\tthis.instances.push( $el );\n\t\treturn $el;\n\t},\n\n\tdestroy: function( $el ) {\n\t\tvar indexOf = $.inArray( $el, this.instances ),\n\t\t\tmaxZ = 0;\n\n\t\tif ( indexOf !== -1 ) {\n\t\t\tthis.oldInstances.push( this.instances.splice( indexOf, 1 )[ 0 ] );\n\t\t}\n\n\t\tif ( this.instances.length === 0 ) {\n\t\t\t$( [ document, window ] ).unbind( \".dialog-overlay\" );\n\t\t}\n\n\t\t$el.height( 0 ).width( 0 ).remove();\n\n\t\t// adjust the maxZ to allow other modal dialogs to continue to work (see #4309)\n\t\t$.each( this.instances, function() {\n\t\t\tmaxZ = Math.max( maxZ, this.css( \"z-index\" ) );\n\t\t});\n\t\tthis.maxZ = maxZ;\n\t},\n\n\theight: function() {\n\t\tvar scrollHeight,\n\t\t\toffsetHeight;\n\t\t// handle IE\n\t\tif ( $.ui.ie ) {\n\t\t\tscrollHeight = Math.max(\n\t\t\t\tdocument.documentElement.scrollHeight,\n\t\t\t\tdocument.body.scrollHeight\n\t\t\t);\n\t\t\toffsetHeight = Math.max(\n\t\t\t\tdocument.documentElement.offsetHeight,\n\t\t\t\tdocument.body.offsetHeight\n\t\t\t);\n\n\t\t\tif ( scrollHeight < offsetHeight ) {\n\t\t\t\treturn $( window ).height() + \"px\";\n\t\t\t} else {\n\t\t\t\treturn scrollHeight + \"px\";\n\t\t\t}\n\t\t// handle \"good\" browsers\n\t\t} else {\n\t\t\treturn $( document ).height() + \"px\";\n\t\t}\n\t},\n\n\twidth: function() {\n\t\tvar scrollWidth,\n\t\t\toffsetWidth;\n\t\t// handle IE\n\t\tif ( $.ui.ie ) {\n\t\t\tscrollWidth = Math.max(\n\t\t\t\tdocument.documentElement.scrollWidth,\n\t\t\t\tdocument.body.scrollWidth\n\t\t\t);\n\t\t\toffsetWidth = Math.max(\n\t\t\t\tdocument.documentElement.offsetWidth,\n\t\t\t\tdocument.body.offsetWidth\n\t\t\t);\n\n\t\t\tif ( scrollWidth < offsetWidth ) {\n\t\t\t\treturn $( window ).width() + \"px\";\n\t\t\t} else {\n\t\t\t\treturn scrollWidth + \"px\";\n\t\t\t}\n\t\t// handle \"good\" browsers\n\t\t} else {\n\t\t\treturn $( document ).width() + \"px\";\n\t\t}\n\t},\n\n\tresize: function() {\n\t\t/* If the dialog is draggable and the user drags it past the\n\t\t * right edge of the window, the document becomes wider so we\n\t\t * need to stretch the overlay. If the user then drags the\n\t\t * dialog back to the left, the document will become narrower,\n\t\t * so we need to shrink the overlay to the appropriate size.\n\t\t * This is handled by shrinking the overlay before setting it\n\t\t * to the full document size.\n\t\t */\n\t\tvar $overlays = $( [] );\n\t\t$.each( $.ui.dialog.overlay.instances, function() {\n\t\t\t$overlays = $overlays.add( this );\n\t\t});\n\n\t\t$overlays.css({\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t}).css({\n\t\t\twidth: $.ui.dialog.overlay.width(),\n\t\t\theight: $.ui.dialog.overlay.height()\n\t\t});\n\t}\n});\n\n$.extend( $.ui.dialog.overlay.prototype, {\n\tdestroy: function() {\n\t\t$.ui.dialog.overlay.destroy( this.$el );\n\t}\n});\n\n}( jQuery ) );\n(function( $, undefined ) {\n\n$.widget(\"ui.draggable\", $.ui.mouse, {\n\tversion: \"1.9.2\",\n\twidgetEventPrefix: \"drag\",\n\toptions: {\n\t\taddClasses: true,\n\t\tappendTo: \"parent\",\n\t\taxis: false,\n\t\tconnectToSortable: false,\n\t\tcontainment: false,\n\t\tcursor: \"auto\",\n\t\tcursorAt: false,\n\t\tgrid: false,\n\t\thandle: false,\n\t\thelper: \"original\",\n\t\tiframeFix: false,\n\t\topacity: false,\n\t\trefreshPositions: false,\n\t\trevert: false,\n\t\trevertDuration: 500,\n\t\tscope: \"default\",\n\t\tscroll: true,\n\t\tscrollSensitivity: 20,\n\t\tscrollSpeed: 20,\n\t\tsnap: false,\n\t\tsnapMode: \"both\",\n\t\tsnapTolerance: 20,\n\t\tstack: false,\n\t\tzIndex: false\n\t},\n\t_create: function() {\n\n\t\tif (this.options.helper == 'original' && !(/^(?:r|a|f)/).test(this.element.css(\"position\")))\n\t\t\tthis.element[0].style.position = 'relative';\n\n\t\t(this.options.addClasses && this.element.addClass(\"ui-draggable\"));\n\t\t(this.options.disabled && this.element.addClass(\"ui-draggable-disabled\"));\n\n\t\tthis._mouseInit();\n\n\t},\n\n\t_destroy: function() {\n\t\tthis.element.removeClass( \"ui-draggable ui-draggable-dragging ui-draggable-disabled\" );\n\t\tthis._mouseDestroy();\n\t},\n\n\t_mouseCapture: function(event) {\n\n\t\tvar o = this.options;\n\n\t\t// among others, prevent a drag on a resizable-handle\n\t\tif (this.helper || o.disabled || $(event.target).is('.ui-resizable-handle'))\n\t\t\treturn false;\n\n\t\t//Quit if we're not on a valid handle\n\t\tthis.handle = this._getHandle(event);\n\t\tif (!this.handle)\n\t\t\treturn false;\n\n\t\t$(o.iframeFix === true ? \"iframe\" : o.iframeFix).each(function() {\n\t\t\t$('<div class=\"ui-draggable-iframeFix\" style=\"background: #fff;\"></div>')\n\t\t\t.css({\n\t\t\t\twidth: this.offsetWidth+\"px\", height: this.offsetHeight+\"px\",\n\t\t\t\tposition: \"absolute\", opacity: \"0.001\", zIndex: 1000\n\t\t\t})\n\t\t\t.css($(this).offset())\n\t\t\t.appendTo(\"body\");\n\t\t});\n\n\t\treturn true;\n\n\t},\n\n\t_mouseStart: function(event) {\n\n\t\tvar o = this.options;\n\n\t\t//Create and append the visible helper\n\t\tthis.helper = this._createHelper(event);\n\n\t\tthis.helper.addClass(\"ui-draggable-dragging\");\n\n\t\t//Cache the helper size\n\t\tthis._cacheHelperProportions();\n\n\t\t//If ddmanager is used for droppables, set the global draggable\n\t\tif($.ui.ddmanager)\n\t\t\t$.ui.ddmanager.current = this;\n\n\t\t/*\n\t\t * - Position generation -\n\t\t * This block generates everything position related - it's the core of draggables.\n\t\t */\n\n\t\t//Cache the margins of the original element\n\t\tthis._cacheMargins();\n\n\t\t//Store the helper's css position\n\t\tthis.cssPosition = this.helper.css(\"position\");\n\t\tthis.scrollParent = this.helper.scrollParent();\n\n\t\t//The element's absolute position on the page minus margins\n\t\tthis.offset = this.positionAbs = this.element.offset();\n\t\tthis.offset = {\n\t\t\ttop: this.offset.top - this.margins.top,\n\t\t\tleft: this.offset.left - this.margins.left\n\t\t};\n\n\t\t$.extend(this.offset, {\n\t\t\tclick: { //Where the click happened, relative to the element\n\t\t\t\tleft: event.pageX - this.offset.left,\n\t\t\t\ttop: event.pageY - this.offset.top\n\t\t\t},\n\t\t\tparent: this._getParentOffset(),\n\t\t\trelative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper\n\t\t});\n\n\t\t//Generate the original position\n\t\tthis.originalPosition = this.position = this._generatePosition(event);\n\t\tthis.originalPageX = event.pageX;\n\t\tthis.originalPageY = event.pageY;\n\n\t\t//Adjust the mouse offset relative to the helper if 'cursorAt' is supplied\n\t\t(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));\n\n\t\t//Set a containment if given in the options\n\t\tif(o.containment)\n\t\t\tthis._setContainment();\n\n\t\t//Trigger event + callbacks\n\t\tif(this._trigger(\"start\", event) === false) {\n\t\t\tthis._clear();\n\t\t\treturn false;\n\t\t}\n\n\t\t//Recache the helper size\n\t\tthis._cacheHelperProportions();\n\n\t\t//Prepare the droppable offsets\n\t\tif ($.ui.ddmanager && !o.dropBehaviour)\n\t\t\t$.ui.ddmanager.prepareOffsets(this, event);\n\n\n\t\tthis._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position\n\n\t\t//If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003)\n\t\tif ( $.ui.ddmanager ) $.ui.ddmanager.dragStart(this, event);\n\n\t\treturn true;\n\t},\n\n\t_mouseDrag: function(event, noPropagation) {\n\n\t\t//Compute the helpers position\n\t\tthis.position = this._generatePosition(event);\n\t\tthis.positionAbs = this._convertPositionTo(\"absolute\");\n\n\t\t//Call plugins and callbacks and use the resulting position if something is returned\n\t\tif (!noPropagation) {\n\t\t\tvar ui = this._uiHash();\n\t\t\tif(this._trigger('drag', event, ui) === false) {\n\t\t\t\tthis._mouseUp({});\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.position = ui.position;\n\t\t}\n\n\t\tif(!this.options.axis || this.options.axis != \"y\") this.helper[0].style.left = this.position.left+'px';\n\t\tif(!this.options.axis || this.options.axis != \"x\") this.helper[0].style.top = this.position.top+'px';\n\t\tif($.ui.ddmanager) $.ui.ddmanager.drag(this, event);\n\n\t\treturn false;\n\t},\n\n\t_mouseStop: function(event) {\n\n\t\t//If we are using droppables, inform the manager about the drop\n\t\tvar dropped = false;\n\t\tif ($.ui.ddmanager && !this.options.dropBehaviour)\n\t\t\tdropped = $.ui.ddmanager.drop(this, event);\n\n\t\t//if a drop comes from outside (a sortable)\n\t\tif(this.dropped) {\n\t\t\tdropped = this.dropped;\n\t\t\tthis.dropped = false;\n\t\t}\n\n\t\t//if the original element is no longer in the DOM don't bother to continue (see #8269)\n\t\tvar element = this.element[0], elementInDom = false;\n\t\twhile ( element && (element = element.parentNode) ) {\n\t\t\tif (element == document ) {\n\t\t\t\telementInDom = true;\n\t\t\t}\n\t\t}\n\t\tif ( !elementInDom && this.options.helper === \"original\" )\n\t\t\treturn false;\n\n\t\tif((this.options.revert == \"invalid\" && !dropped) || (this.options.revert == \"valid\" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) {\n\t\t\tvar that = this;\n\t\t\t$(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {\n\t\t\t\tif(that._trigger(\"stop\", event) !== false) {\n\t\t\t\t\tthat._clear();\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tif(this._trigger(\"stop\", event) !== false) {\n\t\t\t\tthis._clear();\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t_mouseUp: function(event) {\n\t\t//Remove frame helpers\n\t\t$(\"div.ui-draggable-iframeFix\").each(function() {\n\t\t\tthis.parentNode.removeChild(this);\n\t\t});\n\n\t\t//If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003)\n\t\tif( $.ui.ddmanager ) $.ui.ddmanager.dragStop(this, event);\n\n\t\treturn $.ui.mouse.prototype._mouseUp.call(this, event);\n\t},\n\n\tcancel: function() {\n\n\t\tif(this.helper.is(\".ui-draggable-dragging\")) {\n\t\t\tthis._mouseUp({});\n\t\t} else {\n\t\t\tthis._clear();\n\t\t}\n\n\t\treturn this;\n\n\t},\n\n\t_getHandle: function(event) {\n\n\t\tvar handle = !this.options.handle || !$(this.options.handle, this.element).length ? true : false;\n\t\t$(this.options.handle, this.element)\n\t\t\t.find(\"*\")\n\t\t\t.andSelf()\n\t\t\t.each(function() {\n\t\t\t\tif(this == event.target) handle = true;\n\t\t\t});\n\n\t\treturn handle;\n\n\t},\n\n\t_createHelper: function(event) {\n\n\t\tvar o = this.options;\n\t\tvar helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper == 'clone' ? this.element.clone().removeAttr('id') : this.element);\n\n\t\tif(!helper.parents('body').length)\n\t\t\thelper.appendTo((o.appendTo == 'parent' ? this.element[0].parentNode : o.appendTo));\n\n\t\tif(helper[0] != this.element[0] && !(/(fixed|absolute)/).test(helper.css(\"position\")))\n\t\t\thelper.css(\"position\", \"absolute\");\n\n\t\treturn helper;\n\n\t},\n\n\t_adjustOffsetFromHelper: function(obj) {\n\t\tif (typeof obj == 'string') {\n\t\t\tobj = obj.split(' ');\n\t\t}\n\t\tif ($.isArray(obj)) {\n\t\t\tobj = {left: +obj[0], top: +obj[1] || 0};\n\t\t}\n\t\tif ('left' in obj) {\n\t\t\tthis.offset.click.left = obj.left + this.margins.left;\n\t\t}\n\t\tif ('right' in obj) {\n\t\t\tthis.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;\n\t\t}\n\t\tif ('top' in obj) {\n\t\t\tthis.offset.click.top = obj.top + this.margins.top;\n\t\t}\n\t\tif ('bottom' in obj) {\n\t\t\tthis.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;\n\t\t}\n\t},\n\n\t_getParentOffset: function() {\n\n\t\t//Get the offsetParent and cache its position\n\t\tthis.offsetParent = this.helper.offsetParent();\n\t\tvar po = this.offsetParent.offset();\n\n\t\t// This is a special case where we need to modify a offset calculated on start, since the following happened:\n\t\t// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent\n\t\t// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that\n\t\t//    the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag\n\t\tif(this.cssPosition == 'absolute' && this.scrollParent[0] != document && $.contains(this.scrollParent[0], this.offsetParent[0])) {\n\t\t\tpo.left += this.scrollParent.scrollLeft();\n\t\t\tpo.top += this.scrollParent.scrollTop();\n\t\t}\n\n\t\tif((this.offsetParent[0] == document.body) //This needs to be actually done for all browsers, since pageX/pageY includes this information\n\t\t|| (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == 'html' && $.ui.ie)) //Ugly IE fix\n\t\t\tpo = { top: 0, left: 0 };\n\n\t\treturn {\n\t\t\ttop: po.top + (parseInt(this.offsetParent.css(\"borderTopWidth\"),10) || 0),\n\t\t\tleft: po.left + (parseInt(this.offsetParent.css(\"borderLeftWidth\"),10) || 0)\n\t\t};\n\n\t},\n\n\t_getRelativeOffset: function() {\n\n\t\tif(this.cssPosition == \"relative\") {\n\t\t\tvar p = this.element.position();\n\t\t\treturn {\n\t\t\t\ttop: p.top - (parseInt(this.helper.css(\"top\"),10) || 0) + this.scrollParent.scrollTop(),\n\t\t\t\tleft: p.left - (parseInt(this.helper.css(\"left\"),10) || 0) + this.scrollParent.scrollLeft()\n\t\t\t};\n\t\t} else {\n\t\t\treturn { top: 0, left: 0 };\n\t\t}\n\n\t},\n\n\t_cacheMargins: function() {\n\t\tthis.margins = {\n\t\t\tleft: (parseInt(this.element.css(\"marginLeft\"),10) || 0),\n\t\t\ttop: (parseInt(this.element.css(\"marginTop\"),10) || 0),\n\t\t\tright: (parseInt(this.element.css(\"marginRight\"),10) || 0),\n\t\t\tbottom: (parseInt(this.element.css(\"marginBottom\"),10) || 0)\n\t\t};\n\t},\n\n\t_cacheHelperProportions: function() {\n\t\tthis.helperProportions = {\n\t\t\twidth: this.helper.outerWidth(),\n\t\t\theight: this.helper.outerHeight()\n\t\t};\n\t},\n\n\t_setContainment: function() {\n\n\t\tvar o = this.options;\n\t\tif(o.containment == 'parent') o.containment = this.helper[0].parentNode;\n\t\tif(o.containment == 'document' || o.containment == 'window') this.containment = [\n\t\t\to.containment == 'document' ? 0 : $(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left,\n\t\t\to.containment == 'document' ? 0 : $(window).scrollTop() - this.offset.relative.top - this.offset.parent.top,\n\t\t\t(o.containment == 'document' ? 0 : $(window).scrollLeft()) + $(o.containment == 'document' ? document : window).width() - this.helperProportions.width - this.margins.left,\n\t\t\t(o.containment == 'document' ? 0 : $(window).scrollTop()) + ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top\n\t\t];\n\n\t\tif(!(/^(document|window|parent)$/).test(o.containment) && o.containment.constructor != Array) {\n\t\t\tvar c = $(o.containment);\n\t\t\tvar ce = c[0]; if(!ce) return;\n\t\t\tvar co = c.offset();\n\t\t\tvar over = ($(ce).css(\"overflow\") != 'hidden');\n\n\t\t\tthis.containment = [\n\t\t\t\t(parseInt($(ce).css(\"borderLeftWidth\"),10) || 0) + (parseInt($(ce).css(\"paddingLeft\"),10) || 0),\n\t\t\t\t(parseInt($(ce).css(\"borderTopWidth\"),10) || 0) + (parseInt($(ce).css(\"paddingTop\"),10) || 0),\n\t\t\t\t(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css(\"borderLeftWidth\"),10) || 0) - (parseInt($(ce).css(\"paddingRight\"),10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right,\n\t\t\t\t(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css(\"borderTopWidth\"),10) || 0) - (parseInt($(ce).css(\"paddingBottom\"),10) || 0) - this.helperProportions.height - this.margins.top  - this.margins.bottom\n\t\t\t];\n\t\t\tthis.relative_container = c;\n\n\t\t} else if(o.containment.constructor == Array) {\n\t\t\tthis.containment = o.containment;\n\t\t}\n\n\t},\n\n\t_convertPositionTo: function(d, pos) {\n\n\t\tif(!pos) pos = this.position;\n\t\tvar mod = d == \"absolute\" ? 1 : -1;\n\t\tvar o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);\n\n\t\treturn {\n\t\t\ttop: (\n\t\t\t\tpos.top\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\t+ this.offset.relative.top * mod\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\t+ this.offset.parent.top * mod\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t- ( ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)\n\t\t\t),\n\t\t\tleft: (\n\t\t\t\tpos.left\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\t+ this.offset.relative.left * mod\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\t+ this.offset.parent.left * mod\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t- ( ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_generatePosition: function(event) {\n\n\t\tvar o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);\n\t\tvar pageX = event.pageX;\n\t\tvar pageY = event.pageY;\n\n\t\t/*\n\t\t * - Position constraining -\n\t\t * Constrain the position to a mix of grid, containment.\n\t\t */\n\n\t\tif(this.originalPosition) { //If we are not dragging yet, we won't check for options\n\t\t\tvar containment;\n\t\t\tif(this.containment) {\n\t\t\tif (this.relative_container){\n\t\t\t\tvar co = this.relative_container.offset();\n\t\t\t\tcontainment = [ this.containment[0] + co.left,\n\t\t\t\t\tthis.containment[1] + co.top,\n\t\t\t\t\tthis.containment[2] + co.left,\n\t\t\t\t\tthis.containment[3] + co.top ];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcontainment = this.containment;\n\t\t\t}\n\n\t\t\t\tif(event.pageX - this.offset.click.left < containment[0]) pageX = containment[0] + this.offset.click.left;\n\t\t\t\tif(event.pageY - this.offset.click.top < containment[1]) pageY = containment[1] + this.offset.click.top;\n\t\t\t\tif(event.pageX - this.offset.click.left > containment[2]) pageX = containment[2] + this.offset.click.left;\n\t\t\t\tif(event.pageY - this.offset.click.top > containment[3]) pageY = containment[3] + this.offset.click.top;\n\t\t\t}\n\n\t\t\tif(o.grid) {\n\t\t\t\t//Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950)\n\t\t\t\tvar top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY;\n\t\t\t\tpageY = containment ? (!(top - this.offset.click.top < containment[1] || top - this.offset.click.top > containment[3]) ? top : (!(top - this.offset.click.top < containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;\n\n\t\t\t\tvar left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX;\n\t\t\t\tpageX = containment ? (!(left - this.offset.click.left < containment[0] || left - this.offset.click.left > containment[2]) ? left : (!(left - this.offset.click.left < containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;\n\t\t\t}\n\n\t\t}\n\n\t\treturn {\n\t\t\ttop: (\n\t\t\t\tpageY\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\t- this.offset.click.top\t\t\t\t\t\t\t\t\t\t\t\t\t// Click offset (relative to the element)\n\t\t\t\t- this.offset.relative.top\t\t\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\t- this.offset.parent.top\t\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t+ ( ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))\n\t\t\t),\n\t\t\tleft: (\n\t\t\t\tpageX\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\t- this.offset.click.left\t\t\t\t\t\t\t\t\t\t\t\t// Click offset (relative to the element)\n\t\t\t\t- this.offset.relative.left\t\t\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\t- this.offset.parent.left\t\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t+ ( ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_clear: function() {\n\t\tthis.helper.removeClass(\"ui-draggable-dragging\");\n\t\tif(this.helper[0] != this.element[0] && !this.cancelHelperRemoval) this.helper.remove();\n\t\t//if($.ui.ddmanager) $.ui.ddmanager.current = null;\n\t\tthis.helper = null;\n\t\tthis.cancelHelperRemoval = false;\n\t},\n\n\t// From now on bulk stuff - mainly helpers\n\n\t_trigger: function(type, event, ui) {\n\t\tui = ui || this._uiHash();\n\t\t$.ui.plugin.call(this, type, [event, ui]);\n\t\tif(type == \"drag\") this.positionAbs = this._convertPositionTo(\"absolute\"); //The absolute position has to be recalculated after plugins\n\t\treturn $.Widget.prototype._trigger.call(this, type, event, ui);\n\t},\n\n\tplugins: {},\n\n\t_uiHash: function(event) {\n\t\treturn {\n\t\t\thelper: this.helper,\n\t\t\tposition: this.position,\n\t\t\toriginalPosition: this.originalPosition,\n\t\t\toffset: this.positionAbs\n\t\t};\n\t}\n\n});\n\n$.ui.plugin.add(\"draggable\", \"connectToSortable\", {\n\tstart: function(event, ui) {\n\n\t\tvar inst = $(this).data(\"draggable\"), o = inst.options,\n\t\t\tuiSortable = $.extend({}, ui, { item: inst.element });\n\t\tinst.sortables = [];\n\t\t$(o.connectToSortable).each(function() {\n\t\t\tvar sortable = $.data(this, 'sortable');\n\t\t\tif (sortable && !sortable.options.disabled) {\n\t\t\t\tinst.sortables.push({\n\t\t\t\t\tinstance: sortable,\n\t\t\t\t\tshouldRevert: sortable.options.revert\n\t\t\t\t});\n\t\t\t\tsortable.refreshPositions();\t// Call the sortable's refreshPositions at drag start to refresh the containerCache since the sortable container cache is used in drag and needs to be up to date (this will ensure it's initialised as well as being kept in step with any changes that might have happened on the page).\n\t\t\t\tsortable._trigger(\"activate\", event, uiSortable);\n\t\t\t}\n\t\t});\n\n\t},\n\tstop: function(event, ui) {\n\n\t\t//If we are still over the sortable, we fake the stop event of the sortable, but also remove helper\n\t\tvar inst = $(this).data(\"draggable\"),\n\t\t\tuiSortable = $.extend({}, ui, { item: inst.element });\n\n\t\t$.each(inst.sortables, function() {\n\t\t\tif(this.instance.isOver) {\n\n\t\t\t\tthis.instance.isOver = 0;\n\n\t\t\t\tinst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance\n\t\t\t\tthis.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work)\n\n\t\t\t\t//The sortable revert is supported, and we have to set a temporary dropped variable on the draggable to support revert: 'valid/invalid'\n\t\t\t\tif(this.shouldRevert) this.instance.options.revert = true;\n\n\t\t\t\t//Trigger the stop of the sortable\n\t\t\t\tthis.instance._mouseStop(event);\n\n\t\t\t\tthis.instance.options.helper = this.instance.options._helper;\n\n\t\t\t\t//If the helper has been the original item, restore properties in the sortable\n\t\t\t\tif(inst.options.helper == 'original')\n\t\t\t\t\tthis.instance.currentItem.css({ top: 'auto', left: 'auto' });\n\n\t\t\t} else {\n\t\t\t\tthis.instance.cancelHelperRemoval = false; //Remove the helper in the sortable instance\n\t\t\t\tthis.instance._trigger(\"deactivate\", event, uiSortable);\n\t\t\t}\n\n\t\t});\n\n\t},\n\tdrag: function(event, ui) {\n\n\t\tvar inst = $(this).data(\"draggable\"), that = this;\n\n\t\tvar checkPos = function(o) {\n\t\t\tvar dyClick = this.offset.click.top, dxClick = this.offset.click.left;\n\t\t\tvar helperTop = this.positionAbs.top, helperLeft = this.positionAbs.left;\n\t\t\tvar itemHeight = o.height, itemWidth = o.width;\n\t\t\tvar itemTop = o.top, itemLeft = o.left;\n\n\t\t\treturn $.ui.isOver(helperTop + dyClick, helperLeft + dxClick, itemTop, itemLeft, itemHeight, itemWidth);\n\t\t};\n\n\t\t$.each(inst.sortables, function(i) {\n\n\t\t\tvar innermostIntersecting = false;\n\t\t\tvar thisSortable = this;\n\t\t\t//Copy over some variables to allow calling the sortable's native _intersectsWith\n\t\t\tthis.instance.positionAbs = inst.positionAbs;\n\t\t\tthis.instance.helperProportions = inst.helperProportions;\n\t\t\tthis.instance.offset.click = inst.offset.click;\n\n\t\t\tif(this.instance._intersectsWith(this.instance.containerCache)) {\n\t\t\t\tinnermostIntersecting = true;\n\t\t\t\t$.each(inst.sortables, function () {\n\t\t\t\t\tthis.instance.positionAbs = inst.positionAbs;\n\t\t\t\t\tthis.instance.helperProportions = inst.helperProportions;\n\t\t\t\t\tthis.instance.offset.click = inst.offset.click;\n\t\t\t\t\tif  (this != thisSortable\n\t\t\t\t\t\t&& this.instance._intersectsWith(this.instance.containerCache)\n\t\t\t\t\t\t&& $.ui.contains(thisSortable.instance.element[0], this.instance.element[0]))\n\t\t\t\t\t\tinnermostIntersecting = false;\n\t\t\t\t\t\treturn innermostIntersecting;\n\t\t\t\t});\n\t\t\t}\n\n\n\t\t\tif(innermostIntersecting) {\n\t\t\t\t//If it intersects, we use a little isOver variable and set it once, so our move-in stuff gets fired only once\n\t\t\t\tif(!this.instance.isOver) {\n\n\t\t\t\t\tthis.instance.isOver = 1;\n\t\t\t\t\t//Now we fake the start of dragging for the sortable instance,\n\t\t\t\t\t//by cloning the list group item, appending it to the sortable and using it as inst.currentItem\n\t\t\t\t\t//We can then fire the start event of the sortable with our passed browser event, and our own helper (so it doesn't create a new one)\n\t\t\t\t\tthis.instance.currentItem = $(that).clone().removeAttr('id').appendTo(this.instance.element).data(\"sortable-item\", true);\n\t\t\t\t\tthis.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it\n\t\t\t\t\tthis.instance.options.helper = function() { return ui.helper[0]; };\n\n\t\t\t\t\tevent.target = this.instance.currentItem[0];\n\t\t\t\t\tthis.instance._mouseCapture(event, true);\n\t\t\t\t\tthis.instance._mouseStart(event, true, true);\n\n\t\t\t\t\t//Because the browser event is way off the new appended portlet, we modify a couple of variables to reflect the changes\n\t\t\t\t\tthis.instance.offset.click.top = inst.offset.click.top;\n\t\t\t\t\tthis.instance.offset.click.left = inst.offset.click.left;\n\t\t\t\t\tthis.instance.offset.parent.left -= inst.offset.parent.left - this.instance.offset.parent.left;\n\t\t\t\t\tthis.instance.offset.parent.top -= inst.offset.parent.top - this.instance.offset.parent.top;\n\n\t\t\t\t\tinst._trigger(\"toSortable\", event);\n\t\t\t\t\tinst.dropped = this.instance.element; //draggable revert needs that\n\t\t\t\t\t//hack so receive/update callbacks work (mostly)\n\t\t\t\t\tinst.currentItem = inst.element;\n\t\t\t\t\tthis.instance.fromOutside = inst;\n\n\t\t\t\t}\n\n\t\t\t\t//Provided we did all the previous steps, we can fire the drag event of the sortable on every draggable drag, when it intersects with the sortable\n\t\t\t\tif(this.instance.currentItem) this.instance._mouseDrag(event);\n\n\t\t\t} else {\n\n\t\t\t\t//If it doesn't intersect with the sortable, and it intersected before,\n\t\t\t\t//we fake the drag stop of the sortable, but make sure it doesn't remove the helper by using cancelHelperRemoval\n\t\t\t\tif(this.instance.isOver) {\n\n\t\t\t\t\tthis.instance.isOver = 0;\n\t\t\t\t\tthis.instance.cancelHelperRemoval = true;\n\n\t\t\t\t\t//Prevent reverting on this forced stop\n\t\t\t\t\tthis.instance.options.revert = false;\n\n\t\t\t\t\t// The out event needs to be triggered independently\n\t\t\t\t\tthis.instance._trigger('out', event, this.instance._uiHash(this.instance));\n\n\t\t\t\t\tthis.instance._mouseStop(event, true);\n\t\t\t\t\tthis.instance.options.helper = this.instance.options._helper;\n\n\t\t\t\t\t//Now we remove our currentItem, the list group clone again, and the placeholder, and animate the helper back to it's original size\n\t\t\t\t\tthis.instance.currentItem.remove();\n\t\t\t\t\tif(this.instance.placeholder) this.instance.placeholder.remove();\n\n\t\t\t\t\tinst._trigger(\"fromSortable\", event);\n\t\t\t\t\tinst.dropped = false; //draggable revert needs that\n\t\t\t\t}\n\n\t\t\t};\n\n\t\t});\n\n\t}\n});\n\n$.ui.plugin.add(\"draggable\", \"cursor\", {\n\tstart: function(event, ui) {\n\t\tvar t = $('body'), o = $(this).data('draggable').options;\n\t\tif (t.css(\"cursor\")) o._cursor = t.css(\"cursor\");\n\t\tt.css(\"cursor\", o.cursor);\n\t},\n\tstop: function(event, ui) {\n\t\tvar o = $(this).data('draggable').options;\n\t\tif (o._cursor) $('body').css(\"cursor\", o._cursor);\n\t}\n});\n\n$.ui.plugin.add(\"draggable\", \"opacity\", {\n\tstart: function(event, ui) {\n\t\tvar t = $(ui.helper), o = $(this).data('draggable').options;\n\t\tif(t.css(\"opacity\")) o._opacity = t.css(\"opacity\");\n\t\tt.css('opacity', o.opacity);\n\t},\n\tstop: function(event, ui) {\n\t\tvar o = $(this).data('draggable').options;\n\t\tif(o._opacity) $(ui.helper).css('opacity', o._opacity);\n\t}\n});\n\n$.ui.plugin.add(\"draggable\", \"scroll\", {\n\tstart: function(event, ui) {\n\t\tvar i = $(this).data(\"draggable\");\n\t\tif(i.scrollParent[0] != document && i.scrollParent[0].tagName != 'HTML') i.overflowOffset = i.scrollParent.offset();\n\t},\n\tdrag: function(event, ui) {\n\n\t\tvar i = $(this).data(\"draggable\"), o = i.options, scrolled = false;\n\n\t\tif(i.scrollParent[0] != document && i.scrollParent[0].tagName != 'HTML') {\n\n\t\t\tif(!o.axis || o.axis != 'x') {\n\t\t\t\tif((i.overflowOffset.top + i.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity)\n\t\t\t\t\ti.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop + o.scrollSpeed;\n\t\t\t\telse if(event.pageY - i.overflowOffset.top < o.scrollSensitivity)\n\t\t\t\t\ti.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop - o.scrollSpeed;\n\t\t\t}\n\n\t\t\tif(!o.axis || o.axis != 'y') {\n\t\t\t\tif((i.overflowOffset.left + i.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity)\n\t\t\t\t\ti.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft + o.scrollSpeed;\n\t\t\t\telse if(event.pageX - i.overflowOffset.left < o.scrollSensitivity)\n\t\t\t\t\ti.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft - o.scrollSpeed;\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tif(!o.axis || o.axis != 'x') {\n\t\t\t\tif(event.pageY - $(document).scrollTop() < o.scrollSensitivity)\n\t\t\t\t\tscrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);\n\t\t\t\telse if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity)\n\t\t\t\t\tscrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);\n\t\t\t}\n\n\t\t\tif(!o.axis || o.axis != 'y') {\n\t\t\t\tif(event.pageX - $(document).scrollLeft() < o.scrollSensitivity)\n\t\t\t\t\tscrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);\n\t\t\t\telse if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity)\n\t\t\t\t\tscrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);\n\t\t\t}\n\n\t\t}\n\n\t\tif(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour)\n\t\t\t$.ui.ddmanager.prepareOffsets(i, event);\n\n\t}\n});\n\n$.ui.plugin.add(\"draggable\", \"snap\", {\n\tstart: function(event, ui) {\n\n\t\tvar i = $(this).data(\"draggable\"), o = i.options;\n\t\ti.snapElements = [];\n\n\t\t$(o.snap.constructor != String ? ( o.snap.items || ':data(draggable)' ) : o.snap).each(function() {\n\t\t\tvar $t = $(this); var $o = $t.offset();\n\t\t\tif(this != i.element[0]) i.snapElements.push({\n\t\t\t\titem: this,\n\t\t\t\twidth: $t.outerWidth(), height: $t.outerHeight(),\n\t\t\t\ttop: $o.top, left: $o.left\n\t\t\t});\n\t\t});\n\n\t},\n\tdrag: function(event, ui) {\n\n\t\tvar inst = $(this).data(\"draggable\"), o = inst.options;\n\t\tvar d = o.snapTolerance;\n\n\t\tvar x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,\n\t\t\ty1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;\n\n\t\tfor (var i = inst.snapElements.length - 1; i >= 0; i--){\n\n\t\t\tvar l = inst.snapElements[i].left, r = l + inst.snapElements[i].width,\n\t\t\t\tt = inst.snapElements[i].top, b = t + inst.snapElements[i].height;\n\n\t\t\t//Yes, I know, this is insane ;)\n\t\t\tif(!((l-d < x1 && x1 < r+d && t-d < y1 && y1 < b+d) || (l-d < x1 && x1 < r+d && t-d < y2 && y2 < b+d) || (l-d < x2 && x2 < r+d && t-d < y1 && y1 < b+d) || (l-d < x2 && x2 < r+d && t-d < y2 && y2 < b+d))) {\n\t\t\t\tif(inst.snapElements[i].snapping) (inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));\n\t\t\t\tinst.snapElements[i].snapping = false;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif(o.snapMode != 'inner') {\n\t\t\t\tvar ts = Math.abs(t - y2) <= d;\n\t\t\t\tvar bs = Math.abs(b - y1) <= d;\n\t\t\t\tvar ls = Math.abs(l - x2) <= d;\n\t\t\t\tvar rs = Math.abs(r - x1) <= d;\n\t\t\t\tif(ts) ui.position.top = inst._convertPositionTo(\"relative\", { top: t - inst.helperProportions.height, left: 0 }).top - inst.margins.top;\n\t\t\t\tif(bs) ui.position.top = inst._convertPositionTo(\"relative\", { top: b, left: 0 }).top - inst.margins.top;\n\t\t\t\tif(ls) ui.position.left = inst._convertPositionTo(\"relative\", { top: 0, left: l - inst.helperProportions.width }).left - inst.margins.left;\n\t\t\t\tif(rs) ui.position.left = inst._convertPositionTo(\"relative\", { top: 0, left: r }).left - inst.margins.left;\n\t\t\t}\n\n\t\t\tvar first = (ts || bs || ls || rs);\n\n\t\t\tif(o.snapMode != 'outer') {\n\t\t\t\tvar ts = Math.abs(t - y1) <= d;\n\t\t\t\tvar bs = Math.abs(b - y2) <= d;\n\t\t\t\tvar ls = Math.abs(l - x1) <= d;\n\t\t\t\tvar rs = Math.abs(r - x2) <= d;\n\t\t\t\tif(ts) ui.position.top = inst._convertPositionTo(\"relative\", { top: t, left: 0 }).top - inst.margins.top;\n\t\t\t\tif(bs) ui.position.top = inst._convertPositionTo(\"relative\", { top: b - inst.helperProportions.height, left: 0 }).top - inst.margins.top;\n\t\t\t\tif(ls) ui.position.left = inst._convertPositionTo(\"relative\", { top: 0, left: l }).left - inst.margins.left;\n\t\t\t\tif(rs) ui.position.left = inst._convertPositionTo(\"relative\", { top: 0, left: r - inst.helperProportions.width }).left - inst.margins.left;\n\t\t\t}\n\n\t\t\tif(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first))\n\t\t\t\t(inst.options.snap.snap && inst.options.snap.snap.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));\n\t\t\tinst.snapElements[i].snapping = (ts || bs || ls || rs || first);\n\n\t\t};\n\n\t}\n});\n\n$.ui.plugin.add(\"draggable\", \"stack\", {\n\tstart: function(event, ui) {\n\n\t\tvar o = $(this).data(\"draggable\").options;\n\n\t\tvar group = $.makeArray($(o.stack)).sort(function(a,b) {\n\t\t\treturn (parseInt($(a).css(\"zIndex\"),10) || 0) - (parseInt($(b).css(\"zIndex\"),10) || 0);\n\t\t});\n\t\tif (!group.length) { return; }\n\n\t\tvar min = parseInt(group[0].style.zIndex) || 0;\n\t\t$(group).each(function(i) {\n\t\t\tthis.style.zIndex = min + i;\n\t\t});\n\n\t\tthis[0].style.zIndex = min + group.length;\n\n\t}\n});\n\n$.ui.plugin.add(\"draggable\", \"zIndex\", {\n\tstart: function(event, ui) {\n\t\tvar t = $(ui.helper), o = $(this).data(\"draggable\").options;\n\t\tif(t.css(\"zIndex\")) o._zIndex = t.css(\"zIndex\");\n\t\tt.css('zIndex', o.zIndex);\n\t},\n\tstop: function(event, ui) {\n\t\tvar o = $(this).data(\"draggable\").options;\n\t\tif(o._zIndex) $(ui.helper).css('zIndex', o._zIndex);\n\t}\n});\n\n})(jQuery);\n(function( $, undefined ) {\n\n$.widget(\"ui.droppable\", {\n\tversion: \"1.9.2\",\n\twidgetEventPrefix: \"drop\",\n\toptions: {\n\t\taccept: '*',\n\t\tactiveClass: false,\n\t\taddClasses: true,\n\t\tgreedy: false,\n\t\thoverClass: false,\n\t\tscope: 'default',\n\t\ttolerance: 'intersect'\n\t},\n\t_create: function() {\n\n\t\tvar o = this.options, accept = o.accept;\n\t\tthis.isover = 0; this.isout = 1;\n\n\t\tthis.accept = $.isFunction(accept) ? accept : function(d) {\n\t\t\treturn d.is(accept);\n\t\t};\n\n\t\t//Store the droppable's proportions\n\t\tthis.proportions = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight };\n\n\t\t// Add the reference and positions to the manager\n\t\t$.ui.ddmanager.droppables[o.scope] = $.ui.ddmanager.droppables[o.scope] || [];\n\t\t$.ui.ddmanager.droppables[o.scope].push(this);\n\n\t\t(o.addClasses && this.element.addClass(\"ui-droppable\"));\n\n\t},\n\n\t_destroy: function() {\n\t\tvar drop = $.ui.ddmanager.droppables[this.options.scope];\n\t\tfor ( var i = 0; i < drop.length; i++ )\n\t\t\tif ( drop[i] == this )\n\t\t\t\tdrop.splice(i, 1);\n\n\t\tthis.element.removeClass(\"ui-droppable ui-droppable-disabled\");\n\t},\n\n\t_setOption: function(key, value) {\n\n\t\tif(key == 'accept') {\n\t\t\tthis.accept = $.isFunction(value) ? value : function(d) {\n\t\t\t\treturn d.is(value);\n\t\t\t};\n\t\t}\n\t\t$.Widget.prototype._setOption.apply(this, arguments);\n\t},\n\n\t_activate: function(event) {\n\t\tvar draggable = $.ui.ddmanager.current;\n\t\tif(this.options.activeClass) this.element.addClass(this.options.activeClass);\n\t\t(draggable && this._trigger('activate', event, this.ui(draggable)));\n\t},\n\n\t_deactivate: function(event) {\n\t\tvar draggable = $.ui.ddmanager.current;\n\t\tif(this.options.activeClass) this.element.removeClass(this.options.activeClass);\n\t\t(draggable && this._trigger('deactivate', event, this.ui(draggable)));\n\t},\n\n\t_over: function(event) {\n\n\t\tvar draggable = $.ui.ddmanager.current;\n\t\tif (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element\n\n\t\tif (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {\n\t\t\tif(this.options.hoverClass) this.element.addClass(this.options.hoverClass);\n\t\t\tthis._trigger('over', event, this.ui(draggable));\n\t\t}\n\n\t},\n\n\t_out: function(event) {\n\n\t\tvar draggable = $.ui.ddmanager.current;\n\t\tif (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element\n\n\t\tif (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {\n\t\t\tif(this.options.hoverClass) this.element.removeClass(this.options.hoverClass);\n\t\t\tthis._trigger('out', event, this.ui(draggable));\n\t\t}\n\n\t},\n\n\t_drop: function(event,custom) {\n\n\t\tvar draggable = custom || $.ui.ddmanager.current;\n\t\tif (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return false; // Bail if draggable and droppable are same element\n\n\t\tvar childrenIntersection = false;\n\t\tthis.element.find(\":data(droppable)\").not(\".ui-draggable-dragging\").each(function() {\n\t\t\tvar inst = $.data(this, 'droppable');\n\t\t\tif(\n\t\t\t\tinst.options.greedy\n\t\t\t\t&& !inst.options.disabled\n\t\t\t\t&& inst.options.scope == draggable.options.scope\n\t\t\t\t&& inst.accept.call(inst.element[0], (draggable.currentItem || draggable.element))\n\t\t\t\t&& $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)\n\t\t\t) { childrenIntersection = true; return false; }\n\t\t});\n\t\tif(childrenIntersection) return false;\n\n\t\tif(this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {\n\t\t\tif(this.options.activeClass) this.element.removeClass(this.options.activeClass);\n\t\t\tif(this.options.hoverClass) this.element.removeClass(this.options.hoverClass);\n\t\t\tthis._trigger('drop', event, this.ui(draggable));\n\t\t\treturn this.element;\n\t\t}\n\n\t\treturn false;\n\n\t},\n\n\tui: function(c) {\n\t\treturn {\n\t\t\tdraggable: (c.currentItem || c.element),\n\t\t\thelper: c.helper,\n\t\t\tposition: c.position,\n\t\t\toffset: c.positionAbs\n\t\t};\n\t}\n\n});\n\n$.ui.intersect = function(draggable, droppable, toleranceMode) {\n\n\tif (!droppable.offset) return false;\n\n\tvar x1 = (draggable.positionAbs || draggable.position.absolute).left, x2 = x1 + draggable.helperProportions.width,\n\t\ty1 = (draggable.positionAbs || draggable.position.absolute).top, y2 = y1 + draggable.helperProportions.height;\n\tvar l = droppable.offset.left, r = l + droppable.proportions.width,\n\t\tt = droppable.offset.top, b = t + droppable.proportions.height;\n\n\tswitch (toleranceMode) {\n\t\tcase 'fit':\n\t\t\treturn (l <= x1 && x2 <= r\n\t\t\t\t&& t <= y1 && y2 <= b);\n\t\t\tbreak;\n\t\tcase 'intersect':\n\t\t\treturn (l < x1 + (draggable.helperProportions.width / 2) // Right Half\n\t\t\t\t&& x2 - (draggable.helperProportions.width / 2) < r // Left Half\n\t\t\t\t&& t < y1 + (draggable.helperProportions.height / 2) // Bottom Half\n\t\t\t\t&& y2 - (draggable.helperProportions.height / 2) < b ); // Top Half\n\t\t\tbreak;\n\t\tcase 'pointer':\n\t\t\tvar draggableLeft = ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left),\n\t\t\t\tdraggableTop = ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top),\n\t\t\t\tisOver = $.ui.isOver(draggableTop, draggableLeft, t, l, droppable.proportions.height, droppable.proportions.width);\n\t\t\treturn isOver;\n\t\t\tbreak;\n\t\tcase 'touch':\n\t\t\treturn (\n\t\t\t\t\t(y1 >= t && y1 <= b) ||\t// Top edge touching\n\t\t\t\t\t(y2 >= t && y2 <= b) ||\t// Bottom edge touching\n\t\t\t\t\t(y1 < t && y2 > b)\t\t// Surrounded vertically\n\t\t\t\t) && (\n\t\t\t\t\t(x1 >= l && x1 <= r) ||\t// Left edge touching\n\t\t\t\t\t(x2 >= l && x2 <= r) ||\t// Right edge touching\n\t\t\t\t\t(x1 < l && x2 > r)\t\t// Surrounded horizontally\n\t\t\t\t);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\treturn false;\n\t\t\tbreak;\n\t\t}\n\n};\n\n/*\n\tThis manager tracks offsets of draggables and droppables\n*/\n$.ui.ddmanager = {\n\tcurrent: null,\n\tdroppables: { 'default': [] },\n\tprepareOffsets: function(t, event) {\n\n\t\tvar m = $.ui.ddmanager.droppables[t.options.scope] || [];\n\t\tvar type = event ? event.type : null; // workaround for #2317\n\t\tvar list = (t.currentItem || t.element).find(\":data(droppable)\").andSelf();\n\n\t\tdroppablesLoop: for (var i = 0; i < m.length; i++) {\n\n\t\t\tif(m[i].options.disabled || (t && !m[i].accept.call(m[i].element[0],(t.currentItem || t.element)))) continue;\t//No disabled and non-accepted\n\t\t\tfor (var j=0; j < list.length; j++) { if(list[j] == m[i].element[0]) { m[i].proportions.height = 0; continue droppablesLoop; } }; //Filter out elements in the current dragged item\n\t\t\tm[i].visible = m[i].element.css(\"display\") != \"none\"; if(!m[i].visible) continue; \t\t\t\t\t\t\t\t\t//If the element is not visible, continue\n\n\t\t\tif(type == \"mousedown\") m[i]._activate.call(m[i], event); //Activate the droppable if used directly from draggables\n\n\t\t\tm[i].offset = m[i].element.offset();\n\t\t\tm[i].proportions = { width: m[i].element[0].offsetWidth, height: m[i].element[0].offsetHeight };\n\n\t\t}\n\n\t},\n\tdrop: function(draggable, event) {\n\n\t\tvar dropped = false;\n\t\t$.each($.ui.ddmanager.droppables[draggable.options.scope] || [], function() {\n\n\t\t\tif(!this.options) return;\n\t\t\tif (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance))\n\t\t\t\tdropped = this._drop.call(this, event) || dropped;\n\n\t\t\tif (!this.options.disabled && this.visible && this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {\n\t\t\t\tthis.isout = 1; this.isover = 0;\n\t\t\t\tthis._deactivate.call(this, event);\n\t\t\t}\n\n\t\t});\n\t\treturn dropped;\n\n\t},\n\tdragStart: function( draggable, event ) {\n\t\t//Listen for scrolling so that if the dragging causes scrolling the position of the droppables can be recalculated (see #5003)\n\t\tdraggable.element.parentsUntil( \"body\" ).bind( \"scroll.droppable\", function() {\n\t\t\tif( !draggable.options.refreshPositions ) $.ui.ddmanager.prepareOffsets( draggable, event );\n\t\t});\n\t},\n\tdrag: function(draggable, event) {\n\n\t\t//If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse.\n\t\tif(draggable.options.refreshPositions) $.ui.ddmanager.prepareOffsets(draggable, event);\n\n\t\t//Run through all droppables and check their positions based on specific tolerance options\n\t\t$.each($.ui.ddmanager.droppables[draggable.options.scope] || [], function() {\n\n\t\t\tif(this.options.disabled || this.greedyChild || !this.visible) return;\n\t\t\tvar intersects = $.ui.intersect(draggable, this, this.options.tolerance);\n\n\t\t\tvar c = !intersects && this.isover == 1 ? 'isout' : (intersects && this.isover == 0 ? 'isover' : null);\n\t\t\tif(!c) return;\n\n\t\t\tvar parentInstance;\n\t\t\tif (this.options.greedy) {\n\t\t\t\t// find droppable parents with same scope\n\t\t\t\tvar scope = this.options.scope;\n\t\t\t\tvar parent = this.element.parents(':data(droppable)').filter(function () {\n\t\t\t\t\treturn $.data(this, 'droppable').options.scope === scope;\n\t\t\t\t});\n\n\t\t\t\tif (parent.length) {\n\t\t\t\t\tparentInstance = $.data(parent[0], 'droppable');\n\t\t\t\t\tparentInstance.greedyChild = (c == 'isover' ? 1 : 0);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// we just moved into a greedy child\n\t\t\tif (parentInstance && c == 'isover') {\n\t\t\t\tparentInstance['isover'] = 0;\n\t\t\t\tparentInstance['isout'] = 1;\n\t\t\t\tparentInstance._out.call(parentInstance, event);\n\t\t\t}\n\n\t\t\tthis[c] = 1; this[c == 'isout' ? 'isover' : 'isout'] = 0;\n\t\t\tthis[c == \"isover\" ? \"_over\" : \"_out\"].call(this, event);\n\n\t\t\t// we just moved out of a greedy child\n\t\t\tif (parentInstance && c == 'isout') {\n\t\t\t\tparentInstance['isout'] = 0;\n\t\t\t\tparentInstance['isover'] = 1;\n\t\t\t\tparentInstance._over.call(parentInstance, event);\n\t\t\t}\n\t\t});\n\n\t},\n\tdragStop: function( draggable, event ) {\n\t\tdraggable.element.parentsUntil( \"body\" ).unbind( \"scroll.droppable\" );\n\t\t//Call prepareOffsets one final time since IE does not fire return scroll events when overflow was caused by drag (see #5003)\n\t\tif( !draggable.options.refreshPositions ) $.ui.ddmanager.prepareOffsets( draggable, event );\n\t}\n};\n\n})(jQuery);\n;(jQuery.effects || (function($, undefined) {\n\nvar backCompat = $.uiBackCompat !== false,\n\t// prefix used for storing data on .data()\n\tdataSpace = \"ui-effects-\";\n\n$.effects = {\n\teffect: {}\n};\n\n/*!\n * jQuery Color Animations v2.0.0\n * http://jquery.com/\n *\n * Copyright 2012 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * Date: Mon Aug 13 13:41:02 2012 -0500\n */\n(function( jQuery, undefined ) {\n\n\tvar stepHooks = \"backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor\".split(\" \"),\n\n\t// plusequals test for += 100 -= 100\n\trplusequals = /^([\\-+])=\\s*(\\d+\\.?\\d*)/,\n\t// a set of RE's that can match strings and generate color tuples.\n\tstringParsers = [{\n\t\t\tre: /rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\texecResult[ 1 ],\n\t\t\t\t\texecResult[ 2 ],\n\t\t\t\t\texecResult[ 3 ],\n\t\t\t\t\texecResult[ 4 ]\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\t\t\tre: /rgba?\\(\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\texecResult[ 1 ] * 2.55,\n\t\t\t\t\texecResult[ 2 ] * 2.55,\n\t\t\t\t\texecResult[ 3 ] * 2.55,\n\t\t\t\t\texecResult[ 4 ]\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\t\t\t// this regex ignores A-F because it's compared against an already lowercased string\n\t\t\tre: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\tparseInt( execResult[ 1 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 2 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 3 ], 16 )\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\t\t\t// this regex ignores A-F because it's compared against an already lowercased string\n\t\t\tre: /#([a-f0-9])([a-f0-9])([a-f0-9])/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\tparseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 3 ] + execResult[ 3 ], 16 )\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\t\t\tre: /hsla?\\(\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n\t\t\tspace: \"hsla\",\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\texecResult[ 1 ],\n\t\t\t\t\texecResult[ 2 ] / 100,\n\t\t\t\t\texecResult[ 3 ] / 100,\n\t\t\t\t\texecResult[ 4 ]\n\t\t\t\t];\n\t\t\t}\n\t\t}],\n\n\t// jQuery.Color( )\n\tcolor = jQuery.Color = function( color, green, blue, alpha ) {\n\t\treturn new jQuery.Color.fn.parse( color, green, blue, alpha );\n\t},\n\tspaces = {\n\t\trgba: {\n\t\t\tprops: {\n\t\t\t\tred: {\n\t\t\t\t\tidx: 0,\n\t\t\t\t\ttype: \"byte\"\n\t\t\t\t},\n\t\t\t\tgreen: {\n\t\t\t\t\tidx: 1,\n\t\t\t\t\ttype: \"byte\"\n\t\t\t\t},\n\t\t\t\tblue: {\n\t\t\t\t\tidx: 2,\n\t\t\t\t\ttype: \"byte\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\thsla: {\n\t\t\tprops: {\n\t\t\t\thue: {\n\t\t\t\t\tidx: 0,\n\t\t\t\t\ttype: \"degrees\"\n\t\t\t\t},\n\t\t\t\tsaturation: {\n\t\t\t\t\tidx: 1,\n\t\t\t\t\ttype: \"percent\"\n\t\t\t\t},\n\t\t\t\tlightness: {\n\t\t\t\t\tidx: 2,\n\t\t\t\t\ttype: \"percent\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tpropTypes = {\n\t\t\"byte\": {\n\t\t\tfloor: true,\n\t\t\tmax: 255\n\t\t},\n\t\t\"percent\": {\n\t\t\tmax: 1\n\t\t},\n\t\t\"degrees\": {\n\t\t\tmod: 360,\n\t\t\tfloor: true\n\t\t}\n\t},\n\tsupport = color.support = {},\n\n\t// element for support tests\n\tsupportElem = jQuery( \"<p>\" )[ 0 ],\n\n\t// colors = jQuery.Color.names\n\tcolors,\n\n\t// local aliases of functions called often\n\teach = jQuery.each;\n\n// determine rgba support immediately\nsupportElem.style.cssText = \"background-color:rgba(1,1,1,.5)\";\nsupport.rgba = supportElem.style.backgroundColor.indexOf( \"rgba\" ) > -1;\n\n// define cache name and alpha properties\n// for rgba and hsla spaces\neach( spaces, function( spaceName, space ) {\n\tspace.cache = \"_\" + spaceName;\n\tspace.props.alpha = {\n\t\tidx: 3,\n\t\ttype: \"percent\",\n\t\tdef: 1\n\t};\n});\n\nfunction clamp( value, prop, allowEmpty ) {\n\tvar type = propTypes[ prop.type ] || {};\n\n\tif ( value == null ) {\n\t\treturn (allowEmpty || !prop.def) ? null : prop.def;\n\t}\n\n\t// ~~ is an short way of doing floor for positive numbers\n\tvalue = type.floor ? ~~value : parseFloat( value );\n\n\t// IE will pass in empty strings as value for alpha,\n\t// which will hit this case\n\tif ( isNaN( value ) ) {\n\t\treturn prop.def;\n\t}\n\n\tif ( type.mod ) {\n\t\t// we add mod before modding to make sure that negatives values\n\t\t// get converted properly: -10 -> 350\n\t\treturn (value + type.mod) % type.mod;\n\t}\n\n\t// for now all property types without mod have min and max\n\treturn 0 > value ? 0 : type.max < value ? type.max : value;\n}\n\nfunction stringParse( string ) {\n\tvar inst = color(),\n\t\trgba = inst._rgba = [];\n\n\tstring = string.toLowerCase();\n\n\teach( stringParsers, function( i, parser ) {\n\t\tvar parsed,\n\t\t\tmatch = parser.re.exec( string ),\n\t\t\tvalues = match && parser.parse( match ),\n\t\t\tspaceName = parser.space || \"rgba\";\n\n\t\tif ( values ) {\n\t\t\tparsed = inst[ spaceName ]( values );\n\n\t\t\t// if this was an rgba parse the assignment might happen twice\n\t\t\t// oh well....\n\t\t\tinst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];\n\t\t\trgba = inst._rgba = parsed._rgba;\n\n\t\t\t// exit each( stringParsers ) here because we matched\n\t\t\treturn false;\n\t\t}\n\t});\n\n\t// Found a stringParser that handled it\n\tif ( rgba.length ) {\n\n\t\t// if this came from a parsed string, force \"transparent\" when alpha is 0\n\t\t// chrome, (and maybe others) return \"transparent\" as rgba(0,0,0,0)\n\t\tif ( rgba.join() === \"0,0,0,0\" ) {\n\t\t\tjQuery.extend( rgba, colors.transparent );\n\t\t}\n\t\treturn inst;\n\t}\n\n\t// named colors\n\treturn colors[ string ];\n}\n\ncolor.fn = jQuery.extend( color.prototype, {\n\tparse: function( red, green, blue, alpha ) {\n\t\tif ( red === undefined ) {\n\t\t\tthis._rgba = [ null, null, null, null ];\n\t\t\treturn this;\n\t\t}\n\t\tif ( red.jquery || red.nodeType ) {\n\t\t\tred = jQuery( red ).css( green );\n\t\t\tgreen = undefined;\n\t\t}\n\n\t\tvar inst = this,\n\t\t\ttype = jQuery.type( red ),\n\t\t\trgba = this._rgba = [];\n\n\t\t// more than 1 argument specified - assume ( red, green, blue, alpha )\n\t\tif ( green !== undefined ) {\n\t\t\tred = [ red, green, blue, alpha ];\n\t\t\ttype = \"array\";\n\t\t}\n\n\t\tif ( type === \"string\" ) {\n\t\t\treturn this.parse( stringParse( red ) || colors._default );\n\t\t}\n\n\t\tif ( type === \"array\" ) {\n\t\t\teach( spaces.rgba.props, function( key, prop ) {\n\t\t\t\trgba[ prop.idx ] = clamp( red[ prop.idx ], prop );\n\t\t\t});\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( type === \"object\" ) {\n\t\t\tif ( red instanceof color ) {\n\t\t\t\teach( spaces, function( spaceName, space ) {\n\t\t\t\t\tif ( red[ space.cache ] ) {\n\t\t\t\t\t\tinst[ space.cache ] = red[ space.cache ].slice();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\teach( spaces, function( spaceName, space ) {\n\t\t\t\t\tvar cache = space.cache;\n\t\t\t\t\teach( space.props, function( key, prop ) {\n\n\t\t\t\t\t\t// if the cache doesn't exist, and we know how to convert\n\t\t\t\t\t\tif ( !inst[ cache ] && space.to ) {\n\n\t\t\t\t\t\t\t// if the value was null, we don't need to copy it\n\t\t\t\t\t\t\t// if the key was alpha, we don't need to copy it either\n\t\t\t\t\t\t\tif ( key === \"alpha\" || red[ key ] == null ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinst[ cache ] = space.to( inst._rgba );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// this is the only case where we allow nulls for ALL properties.\n\t\t\t\t\t\t// call clamp with alwaysAllowEmpty\n\t\t\t\t\t\tinst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );\n\t\t\t\t\t});\n\n\t\t\t\t\t// everything defined but alpha?\n\t\t\t\t\tif ( inst[ cache ] && $.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {\n\t\t\t\t\t\t// use the default of 1\n\t\t\t\t\t\tinst[ cache ][ 3 ] = 1;\n\t\t\t\t\t\tif ( space.from ) {\n\t\t\t\t\t\t\tinst._rgba = space.from( inst[ cache ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t},\n\tis: function( compare ) {\n\t\tvar is = color( compare ),\n\t\t\tsame = true,\n\t\t\tinst = this;\n\n\t\teach( spaces, function( _, space ) {\n\t\t\tvar localCache,\n\t\t\t\tisCache = is[ space.cache ];\n\t\t\tif (isCache) {\n\t\t\t\tlocalCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];\n\t\t\t\teach( space.props, function( _, prop ) {\n\t\t\t\t\tif ( isCache[ prop.idx ] != null ) {\n\t\t\t\t\t\tsame = ( isCache[ prop.idx ] === localCache[ prop.idx ] );\n\t\t\t\t\t\treturn same;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn same;\n\t\t});\n\t\treturn same;\n\t},\n\t_space: function() {\n\t\tvar used = [],\n\t\t\tinst = this;\n\t\teach( spaces, function( spaceName, space ) {\n\t\t\tif ( inst[ space.cache ] ) {\n\t\t\t\tused.push( spaceName );\n\t\t\t}\n\t\t});\n\t\treturn used.pop();\n\t},\n\ttransition: function( other, distance ) {\n\t\tvar end = color( other ),\n\t\t\tspaceName = end._space(),\n\t\t\tspace = spaces[ spaceName ],\n\t\t\tstartColor = this.alpha() === 0 ? color( \"transparent\" ) : this,\n\t\t\tstart = startColor[ space.cache ] || space.to( startColor._rgba ),\n\t\t\tresult = start.slice();\n\n\t\tend = end[ space.cache ];\n\t\teach( space.props, function( key, prop ) {\n\t\t\tvar index = prop.idx,\n\t\t\t\tstartValue = start[ index ],\n\t\t\t\tendValue = end[ index ],\n\t\t\t\ttype = propTypes[ prop.type ] || {};\n\n\t\t\t// if null, don't override start value\n\t\t\tif ( endValue === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// if null - use end\n\t\t\tif ( startValue === null ) {\n\t\t\t\tresult[ index ] = endValue;\n\t\t\t} else {\n\t\t\t\tif ( type.mod ) {\n\t\t\t\t\tif ( endValue - startValue > type.mod / 2 ) {\n\t\t\t\t\t\tstartValue += type.mod;\n\t\t\t\t\t} else if ( startValue - endValue > type.mod / 2 ) {\n\t\t\t\t\t\tstartValue -= type.mod;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tresult[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );\n\t\t\t}\n\t\t});\n\t\treturn this[ spaceName ]( result );\n\t},\n\tblend: function( opaque ) {\n\t\t// if we are already opaque - return ourself\n\t\tif ( this._rgba[ 3 ] === 1 ) {\n\t\t\treturn this;\n\t\t}\n\n\t\tvar rgb = this._rgba.slice(),\n\t\t\ta = rgb.pop(),\n\t\t\tblend = color( opaque )._rgba;\n\n\t\treturn color( jQuery.map( rgb, function( v, i ) {\n\t\t\treturn ( 1 - a ) * blend[ i ] + a * v;\n\t\t}));\n\t},\n\ttoRgbaString: function() {\n\t\tvar prefix = \"rgba(\",\n\t\t\trgba = jQuery.map( this._rgba, function( v, i ) {\n\t\t\t\treturn v == null ? ( i > 2 ? 1 : 0 ) : v;\n\t\t\t});\n\n\t\tif ( rgba[ 3 ] === 1 ) {\n\t\t\trgba.pop();\n\t\t\tprefix = \"rgb(\";\n\t\t}\n\n\t\treturn prefix + rgba.join() + \")\";\n\t},\n\ttoHslaString: function() {\n\t\tvar prefix = \"hsla(\",\n\t\t\thsla = jQuery.map( this.hsla(), function( v, i ) {\n\t\t\t\tif ( v == null ) {\n\t\t\t\t\tv = i > 2 ? 1 : 0;\n\t\t\t\t}\n\n\t\t\t\t// catch 1 and 2\n\t\t\t\tif ( i && i < 3 ) {\n\t\t\t\t\tv = Math.round( v * 100 ) + \"%\";\n\t\t\t\t}\n\t\t\t\treturn v;\n\t\t\t});\n\n\t\tif ( hsla[ 3 ] === 1 ) {\n\t\t\thsla.pop();\n\t\t\tprefix = \"hsl(\";\n\t\t}\n\t\treturn prefix + hsla.join() + \")\";\n\t},\n\ttoHexString: function( includeAlpha ) {\n\t\tvar rgba = this._rgba.slice(),\n\t\t\talpha = rgba.pop();\n\n\t\tif ( includeAlpha ) {\n\t\t\trgba.push( ~~( alpha * 255 ) );\n\t\t}\n\n\t\treturn \"#\" + jQuery.map( rgba, function( v ) {\n\n\t\t\t// default to 0 when nulls exist\n\t\t\tv = ( v || 0 ).toString( 16 );\n\t\t\treturn v.length === 1 ? \"0\" + v : v;\n\t\t}).join(\"\");\n\t},\n\ttoString: function() {\n\t\treturn this._rgba[ 3 ] === 0 ? \"transparent\" : this.toRgbaString();\n\t}\n});\ncolor.fn.parse.prototype = color.fn;\n\n// hsla conversions adapted from:\n// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021\n\nfunction hue2rgb( p, q, h ) {\n\th = ( h + 1 ) % 1;\n\tif ( h * 6 < 1 ) {\n\t\treturn p + (q - p) * h * 6;\n\t}\n\tif ( h * 2 < 1) {\n\t\treturn q;\n\t}\n\tif ( h * 3 < 2 ) {\n\t\treturn p + (q - p) * ((2/3) - h) * 6;\n\t}\n\treturn p;\n}\n\nspaces.hsla.to = function ( rgba ) {\n\tif ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {\n\t\treturn [ null, null, null, rgba[ 3 ] ];\n\t}\n\tvar r = rgba[ 0 ] / 255,\n\t\tg = rgba[ 1 ] / 255,\n\t\tb = rgba[ 2 ] / 255,\n\t\ta = rgba[ 3 ],\n\t\tmax = Math.max( r, g, b ),\n\t\tmin = Math.min( r, g, b ),\n\t\tdiff = max - min,\n\t\tadd = max + min,\n\t\tl = add * 0.5,\n\t\th, s;\n\n\tif ( min === max ) {\n\t\th = 0;\n\t} else if ( r === max ) {\n\t\th = ( 60 * ( g - b ) / diff ) + 360;\n\t} else if ( g === max ) {\n\t\th = ( 60 * ( b - r ) / diff ) + 120;\n\t} else {\n\t\th = ( 60 * ( r - g ) / diff ) + 240;\n\t}\n\n\tif ( l === 0 || l === 1 ) {\n\t\ts = l;\n\t} else if ( l <= 0.5 ) {\n\t\ts = diff / add;\n\t} else {\n\t\ts = diff / ( 2 - add );\n\t}\n\treturn [ Math.round(h) % 360, s, l, a == null ? 1 : a ];\n};\n\nspaces.hsla.from = function ( hsla ) {\n\tif ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {\n\t\treturn [ null, null, null, hsla[ 3 ] ];\n\t}\n\tvar h = hsla[ 0 ] / 360,\n\t\ts = hsla[ 1 ],\n\t\tl = hsla[ 2 ],\n\t\ta = hsla[ 3 ],\n\t\tq = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,\n\t\tp = 2 * l - q;\n\n\treturn [\n\t\tMath.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),\n\t\tMath.round( hue2rgb( p, q, h ) * 255 ),\n\t\tMath.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),\n\t\ta\n\t];\n};\n\n\neach( spaces, function( spaceName, space ) {\n\tvar props = space.props,\n\t\tcache = space.cache,\n\t\tto = space.to,\n\t\tfrom = space.from;\n\n\t// makes rgba() and hsla()\n\tcolor.fn[ spaceName ] = function( value ) {\n\n\t\t// generate a cache for this space if it doesn't exist\n\t\tif ( to && !this[ cache ] ) {\n\t\t\tthis[ cache ] = to( this._rgba );\n\t\t}\n\t\tif ( value === undefined ) {\n\t\t\treturn this[ cache ].slice();\n\t\t}\n\n\t\tvar ret,\n\t\t\ttype = jQuery.type( value ),\n\t\t\tarr = ( type === \"array\" || type === \"object\" ) ? value : arguments,\n\t\t\tlocal = this[ cache ].slice();\n\n\t\teach( props, function( key, prop ) {\n\t\t\tvar val = arr[ type === \"object\" ? key : prop.idx ];\n\t\t\tif ( val == null ) {\n\t\t\t\tval = local[ prop.idx ];\n\t\t\t}\n\t\t\tlocal[ prop.idx ] = clamp( val, prop );\n\t\t});\n\n\t\tif ( from ) {\n\t\t\tret = color( from( local ) );\n\t\t\tret[ cache ] = local;\n\t\t\treturn ret;\n\t\t} else {\n\t\t\treturn color( local );\n\t\t}\n\t};\n\n\t// makes red() green() blue() alpha() hue() saturation() lightness()\n\teach( props, function( key, prop ) {\n\t\t// alpha is included in more than one space\n\t\tif ( color.fn[ key ] ) {\n\t\t\treturn;\n\t\t}\n\t\tcolor.fn[ key ] = function( value ) {\n\t\t\tvar vtype = jQuery.type( value ),\n\t\t\t\tfn = ( key === \"alpha\" ? ( this._hsla ? \"hsla\" : \"rgba\" ) : spaceName ),\n\t\t\t\tlocal = this[ fn ](),\n\t\t\t\tcur = local[ prop.idx ],\n\t\t\t\tmatch;\n\n\t\t\tif ( vtype === \"undefined\" ) {\n\t\t\t\treturn cur;\n\t\t\t}\n\n\t\t\tif ( vtype === \"function\" ) {\n\t\t\t\tvalue = value.call( this, cur );\n\t\t\t\tvtype = jQuery.type( value );\n\t\t\t}\n\t\t\tif ( value == null && prop.empty ) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tif ( vtype === \"string\" ) {\n\t\t\t\tmatch = rplusequals.exec( value );\n\t\t\t\tif ( match ) {\n\t\t\t\t\tvalue = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === \"+\" ? 1 : -1 );\n\t\t\t\t}\n\t\t\t}\n\t\t\tlocal[ prop.idx ] = value;\n\t\t\treturn this[ fn ]( local );\n\t\t};\n\t});\n});\n\n// add .fx.step functions\neach( stepHooks, function( i, hook ) {\n\tjQuery.cssHooks[ hook ] = {\n\t\tset: function( elem, value ) {\n\t\t\tvar parsed, curElem,\n\t\t\t\tbackgroundColor = \"\";\n\n\t\t\tif ( jQuery.type( value ) !== \"string\" || ( parsed = stringParse( value ) ) ) {\n\t\t\t\tvalue = color( parsed || value );\n\t\t\t\tif ( !support.rgba && value._rgba[ 3 ] !== 1 ) {\n\t\t\t\t\tcurElem = hook === \"backgroundColor\" ? elem.parentNode : elem;\n\t\t\t\t\twhile (\n\t\t\t\t\t\t(backgroundColor === \"\" || backgroundColor === \"transparent\") &&\n\t\t\t\t\t\tcurElem && curElem.style\n\t\t\t\t\t) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tbackgroundColor = jQuery.css( curElem, \"backgroundColor\" );\n\t\t\t\t\t\t\tcurElem = curElem.parentNode;\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tvalue = value.blend( backgroundColor && backgroundColor !== \"transparent\" ?\n\t\t\t\t\t\tbackgroundColor :\n\t\t\t\t\t\t\"_default\" );\n\t\t\t\t}\n\n\t\t\t\tvalue = value.toRgbaString();\n\t\t\t}\n\t\t\ttry {\n\t\t\t\telem.style[ hook ] = value;\n\t\t\t} catch( error ) {\n\t\t\t\t// wrapped to prevent IE from throwing errors on \"invalid\" values like 'auto' or 'inherit'\n\t\t\t}\n\t\t}\n\t};\n\tjQuery.fx.step[ hook ] = function( fx ) {\n\t\tif ( !fx.colorInit ) {\n\t\t\tfx.start = color( fx.elem, hook );\n\t\t\tfx.end = color( fx.end );\n\t\t\tfx.colorInit = true;\n\t\t}\n\t\tjQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );\n\t};\n});\n\njQuery.cssHooks.borderColor = {\n\texpand: function( value ) {\n\t\tvar expanded = {};\n\n\t\teach( [ \"Top\", \"Right\", \"Bottom\", \"Left\" ], function( i, part ) {\n\t\t\texpanded[ \"border\" + part + \"Color\" ] = value;\n\t\t});\n\t\treturn expanded;\n\t}\n};\n\n// Basic color names only.\n// Usage of any of the other color names requires adding yourself or including\n// jquery.color.svg-names.js.\ncolors = jQuery.Color.names = {\n\t// 4.1. Basic color keywords\n\taqua: \"#00ffff\",\n\tblack: \"#000000\",\n\tblue: \"#0000ff\",\n\tfuchsia: \"#ff00ff\",\n\tgray: \"#808080\",\n\tgreen: \"#008000\",\n\tlime: \"#00ff00\",\n\tmaroon: \"#800000\",\n\tnavy: \"#000080\",\n\tolive: \"#808000\",\n\tpurple: \"#800080\",\n\tred: \"#ff0000\",\n\tsilver: \"#c0c0c0\",\n\tteal: \"#008080\",\n\twhite: \"#ffffff\",\n\tyellow: \"#ffff00\",\n\n\t// 4.2.3. \"transparent\" color keyword\n\ttransparent: [ null, null, null, 0 ],\n\n\t_default: \"#ffffff\"\n};\n\n})( jQuery );\n\n\n\n/******************************************************************************/\n/****************************** CLASS ANIMATIONS ******************************/\n/******************************************************************************/\n(function() {\n\nvar classAnimationActions = [ \"add\", \"remove\", \"toggle\" ],\n\tshorthandStyles = {\n\t\tborder: 1,\n\t\tborderBottom: 1,\n\t\tborderColor: 1,\n\t\tborderLeft: 1,\n\t\tborderRight: 1,\n\t\tborderTop: 1,\n\t\tborderWidth: 1,\n\t\tmargin: 1,\n\t\tpadding: 1\n\t};\n\n$.each([ \"borderLeftStyle\", \"borderRightStyle\", \"borderBottomStyle\", \"borderTopStyle\" ], function( _, prop ) {\n\t$.fx.step[ prop ] = function( fx ) {\n\t\tif ( fx.end !== \"none\" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {\n\t\t\tjQuery.style( fx.elem, prop, fx.end );\n\t\t\tfx.setAttr = true;\n\t\t}\n\t};\n});\n\nfunction getElementStyles() {\n\tvar style = this.ownerDocument.defaultView ?\n\t\t\tthis.ownerDocument.defaultView.getComputedStyle( this, null ) :\n\t\t\tthis.currentStyle,\n\t\tnewStyle = {},\n\t\tkey,\n\t\tlen;\n\n\t// webkit enumerates style porperties\n\tif ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) {\n\t\tlen = style.length;\n\t\twhile ( len-- ) {\n\t\t\tkey = style[ len ];\n\t\t\tif ( typeof style[ key ] === \"string\" ) {\n\t\t\t\tnewStyle[ $.camelCase( key ) ] = style[ key ];\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor ( key in style ) {\n\t\t\tif ( typeof style[ key ] === \"string\" ) {\n\t\t\t\tnewStyle[ key ] = style[ key ];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newStyle;\n}\n\n\nfunction styleDifference( oldStyle, newStyle ) {\n\tvar diff = {},\n\t\tname, value;\n\n\tfor ( name in newStyle ) {\n\t\tvalue = newStyle[ name ];\n\t\tif ( oldStyle[ name ] !== value ) {\n\t\t\tif ( !shorthandStyles[ name ] ) {\n\t\t\t\tif ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) {\n\t\t\t\t\tdiff[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn diff;\n}\n\n$.effects.animateClass = function( value, duration, easing, callback ) {\n\tvar o = $.speed( duration, easing, callback );\n\n\treturn this.queue( function() {\n\t\tvar animated = $( this ),\n\t\t\tbaseClass = animated.attr( \"class\" ) || \"\",\n\t\t\tapplyClassChange,\n\t\t\tallAnimations = o.children ? animated.find( \"*\" ).andSelf() : animated;\n\n\t\t// map the animated objects to store the original styles.\n\t\tallAnimations = allAnimations.map(function() {\n\t\t\tvar el = $( this );\n\t\t\treturn {\n\t\t\t\tel: el,\n\t\t\t\tstart: getElementStyles.call( this )\n\t\t\t};\n\t\t});\n\n\t\t// apply class change\n\t\tapplyClassChange = function() {\n\t\t\t$.each( classAnimationActions, function(i, action) {\n\t\t\t\tif ( value[ action ] ) {\n\t\t\t\t\tanimated[ action + \"Class\" ]( value[ action ] );\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t\tapplyClassChange();\n\n\t\t// map all animated objects again - calculate new styles and diff\n\t\tallAnimations = allAnimations.map(function() {\n\t\t\tthis.end = getElementStyles.call( this.el[ 0 ] );\n\t\t\tthis.diff = styleDifference( this.start, this.end );\n\t\t\treturn this;\n\t\t});\n\n\t\t// apply original class\n\t\tanimated.attr( \"class\", baseClass );\n\n\t\t// map all animated objects again - this time collecting a promise\n\t\tallAnimations = allAnimations.map(function() {\n\t\t\tvar styleInfo = this,\n\t\t\t\tdfd = $.Deferred(),\n\t\t\t\topts = jQuery.extend({}, o, {\n\t\t\t\t\tqueue: false,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tdfd.resolve( styleInfo );\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\tthis.el.animate( this.diff, opts );\n\t\t\treturn dfd.promise();\n\t\t});\n\n\t\t// once all animations have completed:\n\t\t$.when.apply( $, allAnimations.get() ).done(function() {\n\n\t\t\t// set the final class\n\t\t\tapplyClassChange();\n\n\t\t\t// for each animated element,\n\t\t\t// clear all css properties that were animated\n\t\t\t$.each( arguments, function() {\n\t\t\t\tvar el = this.el;\n\t\t\t\t$.each( this.diff, function(key) {\n\t\t\t\t\tel.css( key, '' );\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t// this is guarnteed to be there if you use jQuery.speed()\n\t\t\t// it also handles dequeuing the next anim...\n\t\t\to.complete.call( animated[ 0 ] );\n\t\t});\n\t});\n};\n\n$.fn.extend({\n\t_addClass: $.fn.addClass,\n\taddClass: function( classNames, speed, easing, callback ) {\n\t\treturn speed ?\n\t\t\t$.effects.animateClass.call( this,\n\t\t\t\t{ add: classNames }, speed, easing, callback ) :\n\t\t\tthis._addClass( classNames );\n\t},\n\n\t_removeClass: $.fn.removeClass,\n\tremoveClass: function( classNames, speed, easing, callback ) {\n\t\treturn speed ?\n\t\t\t$.effects.animateClass.call( this,\n\t\t\t\t{ remove: classNames }, speed, easing, callback ) :\n\t\t\tthis._removeClass( classNames );\n\t},\n\n\t_toggleClass: $.fn.toggleClass,\n\ttoggleClass: function( classNames, force, speed, easing, callback ) {\n\t\tif ( typeof force === \"boolean\" || force === undefined ) {\n\t\t\tif ( !speed ) {\n\t\t\t\t// without speed parameter\n\t\t\t\treturn this._toggleClass( classNames, force );\n\t\t\t} else {\n\t\t\t\treturn $.effects.animateClass.call( this,\n\t\t\t\t\t(force ? { add: classNames } : { remove: classNames }),\n\t\t\t\t\tspeed, easing, callback );\n\t\t\t}\n\t\t} else {\n\t\t\t// without force parameter\n\t\t\treturn $.effects.animateClass.call( this,\n\t\t\t\t{ toggle: classNames }, force, speed, easing );\n\t\t}\n\t},\n\n\tswitchClass: function( remove, add, speed, easing, callback) {\n\t\treturn $.effects.animateClass.call( this, {\n\t\t\tadd: add,\n\t\t\tremove: remove\n\t\t}, speed, easing, callback );\n\t}\n});\n\n})();\n\n/******************************************************************************/\n/*********************************** EFFECTS **********************************/\n/******************************************************************************/\n\n(function() {\n\n$.extend( $.effects, {\n\tversion: \"1.9.2\",\n\n\t// Saves a set of properties in a data storage\n\tsave: function( element, set ) {\n\t\tfor( var i=0; i < set.length; i++ ) {\n\t\t\tif ( set[ i ] !== null ) {\n\t\t\t\telement.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );\n\t\t\t}\n\t\t}\n\t},\n\n\t// Restores a set of previously saved properties from a data storage\n\trestore: function( element, set ) {\n\t\tvar val, i;\n\t\tfor( i=0; i < set.length; i++ ) {\n\t\t\tif ( set[ i ] !== null ) {\n\t\t\t\tval = element.data( dataSpace + set[ i ] );\n\t\t\t\t// support: jQuery 1.6.2\n\t\t\t\t// http://bugs.jquery.com/ticket/9917\n\t\t\t\t// jQuery 1.6.2 incorrectly returns undefined for any falsy value.\n\t\t\t\t// We can't differentiate between \"\" and 0 here, so we just assume\n\t\t\t\t// empty string since it's likely to be a more common value...\n\t\t\t\tif ( val === undefined ) {\n\t\t\t\t\tval = \"\";\n\t\t\t\t}\n\t\t\t\telement.css( set[ i ], val );\n\t\t\t}\n\t\t}\n\t},\n\n\tsetMode: function( el, mode ) {\n\t\tif (mode === \"toggle\") {\n\t\t\tmode = el.is( \":hidden\" ) ? \"show\" : \"hide\";\n\t\t}\n\t\treturn mode;\n\t},\n\n\t// Translates a [top,left] array into a baseline value\n\t// this should be a little more flexible in the future to handle a string & hash\n\tgetBaseline: function( origin, original ) {\n\t\tvar y, x;\n\t\tswitch ( origin[ 0 ] ) {\n\t\t\tcase \"top\": y = 0; break;\n\t\t\tcase \"middle\": y = 0.5; break;\n\t\t\tcase \"bottom\": y = 1; break;\n\t\t\tdefault: y = origin[ 0 ] / original.height;\n\t\t}\n\t\tswitch ( origin[ 1 ] ) {\n\t\t\tcase \"left\": x = 0; break;\n\t\t\tcase \"center\": x = 0.5; break;\n\t\t\tcase \"right\": x = 1; break;\n\t\t\tdefault: x = origin[ 1 ] / original.width;\n\t\t}\n\t\treturn {\n\t\t\tx: x,\n\t\t\ty: y\n\t\t};\n\t},\n\n\t// Wraps the element around a wrapper that copies position properties\n\tcreateWrapper: function( element ) {\n\n\t\t// if the element is already wrapped, return it\n\t\tif ( element.parent().is( \".ui-effects-wrapper\" )) {\n\t\t\treturn element.parent();\n\t\t}\n\n\t\t// wrap the element\n\t\tvar props = {\n\t\t\t\twidth: element.outerWidth(true),\n\t\t\t\theight: element.outerHeight(true),\n\t\t\t\t\"float\": element.css( \"float\" )\n\t\t\t},\n\t\t\twrapper = $( \"<div></div>\" )\n\t\t\t\t.addClass( \"ui-effects-wrapper\" )\n\t\t\t\t.css({\n\t\t\t\t\tfontSize: \"100%\",\n\t\t\t\t\tbackground: \"transparent\",\n\t\t\t\t\tborder: \"none\",\n\t\t\t\t\tmargin: 0,\n\t\t\t\t\tpadding: 0\n\t\t\t\t}),\n\t\t\t// Store the size in case width/height are defined in % - Fixes #5245\n\t\t\tsize = {\n\t\t\t\twidth: element.width(),\n\t\t\t\theight: element.height()\n\t\t\t},\n\t\t\tactive = document.activeElement;\n\n\t\t// support: Firefox\n\t\t// Firefox incorrectly exposes anonymous content\n\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=561664\n\t\ttry {\n\t\t\tactive.id;\n\t\t} catch( e ) {\n\t\t\tactive = document.body;\n\t\t}\n\n\t\telement.wrap( wrapper );\n\n\t\t// Fixes #7595 - Elements lose focus when wrapped.\n\t\tif ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {\n\t\t\t$( active ).focus();\n\t\t}\n\n\t\twrapper = element.parent(); //Hotfix for jQuery 1.4 since some change in wrap() seems to actually lose the reference to the wrapped element\n\n\t\t// transfer positioning properties to the wrapper\n\t\tif ( element.css( \"position\" ) === \"static\" ) {\n\t\t\twrapper.css({ position: \"relative\" });\n\t\t\telement.css({ position: \"relative\" });\n\t\t} else {\n\t\t\t$.extend( props, {\n\t\t\t\tposition: element.css( \"position\" ),\n\t\t\t\tzIndex: element.css( \"z-index\" )\n\t\t\t});\n\t\t\t$.each([ \"top\", \"left\", \"bottom\", \"right\" ], function(i, pos) {\n\t\t\t\tprops[ pos ] = element.css( pos );\n\t\t\t\tif ( isNaN( parseInt( props[ pos ], 10 ) ) ) {\n\t\t\t\t\tprops[ pos ] = \"auto\";\n\t\t\t\t}\n\t\t\t});\n\t\t\telement.css({\n\t\t\t\tposition: \"relative\",\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\tright: \"auto\",\n\t\t\t\tbottom: \"auto\"\n\t\t\t});\n\t\t}\n\t\telement.css(size);\n\n\t\treturn wrapper.css( props ).show();\n\t},\n\n\tremoveWrapper: function( element ) {\n\t\tvar active = document.activeElement;\n\n\t\tif ( element.parent().is( \".ui-effects-wrapper\" ) ) {\n\t\t\telement.parent().replaceWith( element );\n\n\t\t\t// Fixes #7595 - Elements lose focus when wrapped.\n\t\t\tif ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {\n\t\t\t\t$( active ).focus();\n\t\t\t}\n\t\t}\n\n\n\t\treturn element;\n\t},\n\n\tsetTransition: function( element, list, factor, value ) {\n\t\tvalue = value || {};\n\t\t$.each( list, function( i, x ) {\n\t\t\tvar unit = element.cssUnit( x );\n\t\t\tif ( unit[ 0 ] > 0 ) {\n\t\t\t\tvalue[ x ] = unit[ 0 ] * factor + unit[ 1 ];\n\t\t\t}\n\t\t});\n\t\treturn value;\n\t}\n});\n\n// return an effect options object for the given parameters:\nfunction _normalizeArguments( effect, options, speed, callback ) {\n\n\t// allow passing all options as the first parameter\n\tif ( $.isPlainObject( effect ) ) {\n\t\toptions = effect;\n\t\teffect = effect.effect;\n\t}\n\n\t// convert to an object\n\teffect = { effect: effect };\n\n\t// catch (effect, null, ...)\n\tif ( options == null ) {\n\t\toptions = {};\n\t}\n\n\t// catch (effect, callback)\n\tif ( $.isFunction( options ) ) {\n\t\tcallback = options;\n\t\tspeed = null;\n\t\toptions = {};\n\t}\n\n\t// catch (effect, speed, ?)\n\tif ( typeof options === \"number\" || $.fx.speeds[ options ] ) {\n\t\tcallback = speed;\n\t\tspeed = options;\n\t\toptions = {};\n\t}\n\n\t// catch (effect, options, callback)\n\tif ( $.isFunction( speed ) ) {\n\t\tcallback = speed;\n\t\tspeed = null;\n\t}\n\n\t// add options to effect\n\tif ( options ) {\n\t\t$.extend( effect, options );\n\t}\n\n\tspeed = speed || options.duration;\n\teffect.duration = $.fx.off ? 0 :\n\t\ttypeof speed === \"number\" ? speed :\n\t\tspeed in $.fx.speeds ? $.fx.speeds[ speed ] :\n\t\t$.fx.speeds._default;\n\n\teffect.complete = callback || options.complete;\n\n\treturn effect;\n}\n\nfunction standardSpeed( speed ) {\n\t// valid standard speeds\n\tif ( !speed || typeof speed === \"number\" || $.fx.speeds[ speed ] ) {\n\t\treturn true;\n\t}\n\n\t// invalid strings - treat as \"normal\" speed\n\tif ( typeof speed === \"string\" && !$.effects.effect[ speed ] ) {\n\t\t// TODO: remove in 2.0 (#7115)\n\t\tif ( backCompat && $.effects[ speed ] ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n\n$.fn.extend({\n\teffect: function( /* effect, options, speed, callback */ ) {\n\t\tvar args = _normalizeArguments.apply( this, arguments ),\n\t\t\tmode = args.mode,\n\t\t\tqueue = args.queue,\n\t\t\teffectMethod = $.effects.effect[ args.effect ],\n\n\t\t\t// DEPRECATED: remove in 2.0 (#7115)\n\t\t\toldEffectMethod = !effectMethod && backCompat && $.effects[ args.effect ];\n\n\t\tif ( $.fx.off || !( effectMethod || oldEffectMethod ) ) {\n\t\t\t// delegate to the original method (e.g., .show()) if possible\n\t\t\tif ( mode ) {\n\t\t\t\treturn this[ mode ]( args.duration, args.complete );\n\t\t\t} else {\n\t\t\t\treturn this.each( function() {\n\t\t\t\t\tif ( args.complete ) {\n\t\t\t\t\t\targs.complete.call( this );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction run( next ) {\n\t\t\tvar elem = $( this ),\n\t\t\t\tcomplete = args.complete,\n\t\t\t\tmode = args.mode;\n\n\t\t\tfunction done() {\n\t\t\t\tif ( $.isFunction( complete ) ) {\n\t\t\t\t\tcomplete.call( elem[0] );\n\t\t\t\t}\n\t\t\t\tif ( $.isFunction( next ) ) {\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// if the element is hiddden and mode is hide,\n\t\t\t// or element is visible and mode is show\n\t\t\tif ( elem.is( \":hidden\" ) ? mode === \"hide\" : mode === \"show\" ) {\n\t\t\t\tdone();\n\t\t\t} else {\n\t\t\t\teffectMethod.call( elem[0], args, done );\n\t\t\t}\n\t\t}\n\n\t\t// TODO: remove this check in 2.0, effectMethod will always be true\n\t\tif ( effectMethod ) {\n\t\t\treturn queue === false ? this.each( run ) : this.queue( queue || \"fx\", run );\n\t\t} else {\n\t\t\t// DEPRECATED: remove in 2.0 (#7115)\n\t\t\treturn oldEffectMethod.call(this, {\n\t\t\t\toptions: args,\n\t\t\t\tduration: args.duration,\n\t\t\t\tcallback: args.complete,\n\t\t\t\tmode: args.mode\n\t\t\t});\n\t\t}\n\t},\n\n\t_show: $.fn.show,\n\tshow: function( speed ) {\n\t\tif ( standardSpeed( speed ) ) {\n\t\t\treturn this._show.apply( this, arguments );\n\t\t} else {\n\t\t\tvar args = _normalizeArguments.apply( this, arguments );\n\t\t\targs.mode = \"show\";\n\t\t\treturn this.effect.call( this, args );\n\t\t}\n\t},\n\n\t_hide: $.fn.hide,\n\thide: function( speed ) {\n\t\tif ( standardSpeed( speed ) ) {\n\t\t\treturn this._hide.apply( this, arguments );\n\t\t} else {\n\t\t\tvar args = _normalizeArguments.apply( this, arguments );\n\t\t\targs.mode = \"hide\";\n\t\t\treturn this.effect.call( this, args );\n\t\t}\n\t},\n\n\t// jQuery core overloads toggle and creates _toggle\n\t__toggle: $.fn.toggle,\n\ttoggle: function( speed ) {\n\t\tif ( standardSpeed( speed ) || typeof speed === \"boolean\" || $.isFunction( speed ) ) {\n\t\t\treturn this.__toggle.apply( this, arguments );\n\t\t} else {\n\t\t\tvar args = _normalizeArguments.apply( this, arguments );\n\t\t\targs.mode = \"toggle\";\n\t\t\treturn this.effect.call( this, args );\n\t\t}\n\t},\n\n\t// helper functions\n\tcssUnit: function(key) {\n\t\tvar style = this.css( key ),\n\t\t\tval = [];\n\n\t\t$.each( [ \"em\", \"px\", \"%\", \"pt\" ], function( i, unit ) {\n\t\t\tif ( style.indexOf( unit ) > 0 ) {\n\t\t\t\tval = [ parseFloat( style ), unit ];\n\t\t\t}\n\t\t});\n\t\treturn val;\n\t}\n});\n\n})();\n\n/******************************************************************************/\n/*********************************** EASING ***********************************/\n/******************************************************************************/\n\n(function() {\n\n// based on easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\nvar baseEasings = {};\n\n$.each( [ \"Quad\", \"Cubic\", \"Quart\", \"Quint\", \"Expo\" ], function( i, name ) {\n\tbaseEasings[ name ] = function( p ) {\n\t\treturn Math.pow( p, i + 2 );\n\t};\n});\n\n$.extend( baseEasings, {\n\tSine: function ( p ) {\n\t\treturn 1 - Math.cos( p * Math.PI / 2 );\n\t},\n\tCirc: function ( p ) {\n\t\treturn 1 - Math.sqrt( 1 - p * p );\n\t},\n\tElastic: function( p ) {\n\t\treturn p === 0 || p === 1 ? p :\n\t\t\t-Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 - 7.5 ) * Math.PI / 15 );\n\t},\n\tBack: function( p ) {\n\t\treturn p * p * ( 3 * p - 2 );\n\t},\n\tBounce: function ( p ) {\n\t\tvar pow2,\n\t\t\tbounce = 4;\n\n\t\twhile ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}\n\t\treturn 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );\n\t}\n});\n\n$.each( baseEasings, function( name, easeIn ) {\n\t$.easing[ \"easeIn\" + name ] = easeIn;\n\t$.easing[ \"easeOut\" + name ] = function( p ) {\n\t\treturn 1 - easeIn( 1 - p );\n\t};\n\t$.easing[ \"easeInOut\" + name ] = function( p ) {\n\t\treturn p < 0.5 ?\n\t\t\teaseIn( p * 2 ) / 2 :\n\t\t\t1 - easeIn( p * -2 + 2 ) / 2;\n\t};\n});\n\n})();\n\n})(jQuery));\n(function( $, undefined ) {\n\nvar rvertical = /up|down|vertical/,\n\trpositivemotion = /up|left|vertical|horizontal/;\n\n$.effects.effect.blind = function( o, done ) {\n\t// Create element\n\tvar el = $( this ),\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"height\", \"width\" ],\n\t\tmode = $.effects.setMode( el, o.mode || \"hide\" ),\n\t\tdirection = o.direction || \"up\",\n\t\tvertical = rvertical.test( direction ),\n\t\tref = vertical ? \"height\" : \"width\",\n\t\tref2 = vertical ? \"top\" : \"left\",\n\t\tmotion = rpositivemotion.test( direction ),\n\t\tanimation = {},\n\t\tshow = mode === \"show\",\n\t\twrapper, distance, margin;\n\n\t// if already wrapped, the wrapper's properties are my property. #6245\n\tif ( el.parent().is( \".ui-effects-wrapper\" ) ) {\n\t\t$.effects.save( el.parent(), props );\n\t} else {\n\t\t$.effects.save( el, props );\n\t}\n\tel.show();\n\twrapper = $.effects.createWrapper( el ).css({\n\t\toverflow: \"hidden\"\n\t});\n\n\tdistance = wrapper[ ref ]();\n\tmargin = parseFloat( wrapper.css( ref2 ) ) || 0;\n\n\tanimation[ ref ] = show ? distance : 0;\n\tif ( !motion ) {\n\t\tel\n\t\t\t.css( vertical ? \"bottom\" : \"right\", 0 )\n\t\t\t.css( vertical ? \"top\" : \"left\", \"auto\" )\n\t\t\t.css({ position: \"absolute\" });\n\n\t\tanimation[ ref2 ] = show ? margin : distance + margin;\n\t}\n\n\t// start at 0 if we are showing\n\tif ( show ) {\n\t\twrapper.css( ref, 0 );\n\t\tif ( ! motion ) {\n\t\t\twrapper.css( ref2, margin + distance );\n\t\t}\n\t}\n\n\t// Animate\n\twrapper.animate( animation, {\n\t\tduration: o.duration,\n\t\teasing: o.easing,\n\t\tqueue: false,\n\t\tcomplete: function() {\n\t\t\tif ( mode === \"hide\" ) {\n\t\t\t\tel.hide();\n\t\t\t}\n\t\t\t$.effects.restore( el, props );\n\t\t\t$.effects.removeWrapper( el );\n\t\t\tdone();\n\t\t}\n\t});\n\n};\n\n})(jQuery);\n(function( $, undefined ) {\n\n$.effects.effect.bounce = function( o, done ) {\n\tvar el = $( this ),\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"height\", \"width\" ],\n\n\t\t// defaults:\n\t\tmode = $.effects.setMode( el, o.mode || \"effect\" ),\n\t\thide = mode === \"hide\",\n\t\tshow = mode === \"show\",\n\t\tdirection = o.direction || \"up\",\n\t\tdistance = o.distance,\n\t\ttimes = o.times || 5,\n\n\t\t// number of internal animations\n\t\tanims = times * 2 + ( show || hide ? 1 : 0 ),\n\t\tspeed = o.duration / anims,\n\t\teasing = o.easing,\n\n\t\t// utility:\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tmotion = ( direction === \"up\" || direction === \"left\" ),\n\t\ti,\n\t\tupAnim,\n\t\tdownAnim,\n\n\t\t// we will need to re-assemble the queue to stack our animations in place\n\t\tqueue = el.queue(),\n\t\tqueuelen = queue.length;\n\n\t// Avoid touching opacity to prevent clearType and PNG issues in IE\n\tif ( show || hide ) {\n\t\tprops.push( \"opacity\" );\n\t}\n\n\t$.effects.save( el, props );\n\tel.show();\n\t$.effects.createWrapper( el ); // Create Wrapper\n\n\t// default distance for the BIGGEST bounce is the outer Distance / 3\n\tif ( !distance ) {\n\t\tdistance = el[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]() / 3;\n\t}\n\n\tif ( show ) {\n\t\tdownAnim = { opacity: 1 };\n\t\tdownAnim[ ref ] = 0;\n\n\t\t// if we are showing, force opacity 0 and set the initial position\n\t\t// then do the \"first\" animation\n\t\tel.css( \"opacity\", 0 )\n\t\t\t.css( ref, motion ? -distance * 2 : distance * 2 )\n\t\t\t.animate( downAnim, speed, easing );\n\t}\n\n\t// start at the smallest distance if we are hiding\n\tif ( hide ) {\n\t\tdistance = distance / Math.pow( 2, times - 1 );\n\t}\n\n\tdownAnim = {};\n\tdownAnim[ ref ] = 0;\n\t// Bounces up/down/left/right then back to 0 -- times * 2 animations happen here\n\tfor ( i = 0; i < times; i++ ) {\n\t\tupAnim = {};\n\t\tupAnim[ ref ] = ( motion ? \"-=\" : \"+=\" ) + distance;\n\n\t\tel.animate( upAnim, speed, easing )\n\t\t\t.animate( downAnim, speed, easing );\n\n\t\tdistance = hide ? distance * 2 : distance / 2;\n\t}\n\n\t// Last Bounce when Hiding\n\tif ( hide ) {\n\t\tupAnim = { opacity: 0 };\n\t\tupAnim[ ref ] = ( motion ? \"-=\" : \"+=\" ) + distance;\n\n\t\tel.animate( upAnim, speed, easing );\n\t}\n\n\tel.queue(function() {\n\t\tif ( hide ) {\n\t\t\tel.hide();\n\t\t}\n\t\t$.effects.restore( el, props );\n\t\t$.effects.removeWrapper( el );\n\t\tdone();\n\t});\n\n\t// inject all the animations we just queued to be first in line (after \"inprogress\")\n\tif ( queuelen > 1) {\n\t\tqueue.splice.apply( queue,\n\t\t\t[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );\n\t}\n\tel.dequeue();\n\n};\n\n})(jQuery);\n(function( $, undefined ) {\n\n$.effects.effect.clip = function( o, done ) {\n\t// Create element\n\tvar el = $( this ),\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"height\", \"width\" ],\n\t\tmode = $.effects.setMode( el, o.mode || \"hide\" ),\n\t\tshow = mode === \"show\",\n\t\tdirection = o.direction || \"vertical\",\n\t\tvert = direction === \"vertical\",\n\t\tsize = vert ? \"height\" : \"width\",\n\t\tposition = vert ? \"top\" : \"left\",\n\t\tanimation = {},\n\t\twrapper, animate, distance;\n\n\t// Save & Show\n\t$.effects.save( el, props );\n\tel.show();\n\n\t// Create Wrapper\n\twrapper = $.effects.createWrapper( el ).css({\n\t\toverflow: \"hidden\"\n\t});\n\tanimate = ( el[0].tagName === \"IMG\" ) ? wrapper : el;\n\tdistance = animate[ size ]();\n\n\t// Shift\n\tif ( show ) {\n\t\tanimate.css( size, 0 );\n\t\tanimate.css( position, distance / 2 );\n\t}\n\n\t// Create Animation Object:\n\tanimation[ size ] = show ? distance : 0;\n\tanimation[ position ] = show ? 0 : distance / 2;\n\n\t// Animate\n\tanimate.animate( animation, {\n\t\tqueue: false,\n\t\tduration: o.duration,\n\t\teasing: o.easing,\n\t\tcomplete: function() {\n\t\t\tif ( !show ) {\n\t\t\t\tel.hide();\n\t\t\t}\n\t\t\t$.effects.restore( el, props );\n\t\t\t$.effects.removeWrapper( el );\n\t\t\tdone();\n\t\t}\n\t});\n\n};\n\n})(jQuery);\n(function( $, undefined ) {\n\n$.effects.effect.drop = function( o, done ) {\n\n\tvar el = $( this ),\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"opacity\", \"height\", \"width\" ],\n\t\tmode = $.effects.setMode( el, o.mode || \"hide\" ),\n\t\tshow = mode === \"show\",\n\t\tdirection = o.direction || \"left\",\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tmotion = ( direction === \"up\" || direction === \"left\" ) ? \"pos\" : \"neg\",\n\t\tanimation = {\n\t\t\topacity: show ? 1 : 0\n\t\t},\n\t\tdistance;\n\n\t// Adjust\n\t$.effects.save( el, props );\n\tel.show();\n\t$.effects.createWrapper( el );\n\n\tdistance = o.distance || el[ ref === \"top\" ? \"outerHeight\": \"outerWidth\" ]( true ) / 2;\n\n\tif ( show ) {\n\t\tel\n\t\t\t.css( \"opacity\", 0 )\n\t\t\t.css( ref, motion === \"pos\" ? -distance : distance );\n\t}\n\n\t// Animation\n\tanimation[ ref ] = ( show ?\n\t\t( motion === \"pos\" ? \"+=\" : \"-=\" ) :\n\t\t( motion === \"pos\" ? \"-=\" : \"+=\" ) ) +\n\t\tdistance;\n\n\t// Animate\n\tel.animate( animation, {\n\t\tqueue: false,\n\t\tduration: o.duration,\n\t\teasing: o.easing,\n\t\tcomplete: function() {\n\t\t\tif ( mode === \"hide\" ) {\n\t\t\t\tel.hide();\n\t\t\t}\n\t\t\t$.effects.restore( el, props );\n\t\t\t$.effects.removeWrapper( el );\n\t\t\tdone();\n\t\t}\n\t});\n};\n\n})(jQuery);\n(function( $, undefined ) {\n\n$.effects.effect.explode = function( o, done ) {\n\n\tvar rows = o.pieces ? Math.round( Math.sqrt( o.pieces ) ) : 3,\n\t\tcells = rows,\n\t\tel = $( this ),\n\t\tmode = $.effects.setMode( el, o.mode || \"hide\" ),\n\t\tshow = mode === \"show\",\n\n\t\t// show and then visibility:hidden the element before calculating offset\n\t\toffset = el.show().css( \"visibility\", \"hidden\" ).offset(),\n\n\t\t// width and height of a piece\n\t\twidth = Math.ceil( el.outerWidth() / cells ),\n\t\theight = Math.ceil( el.outerHeight() / rows ),\n\t\tpieces = [],\n\n\t\t// loop\n\t\ti, j, left, top, mx, my;\n\n\t// children animate complete:\n\tfunction childComplete() {\n\t\tpieces.push( this );\n\t\tif ( pieces.length === rows * cells ) {\n\t\t\tanimComplete();\n\t\t}\n\t}\n\n\t// clone the element for each row and cell.\n\tfor( i = 0; i < rows ; i++ ) { // ===>\n\t\ttop = offset.top + i * height;\n\t\tmy = i - ( rows - 1 ) / 2 ;\n\n\t\tfor( j = 0; j < cells ; j++ ) { // |||\n\t\t\tleft = offset.left + j * width;\n\t\t\tmx = j - ( cells - 1 ) / 2 ;\n\n\t\t\t// Create a clone of the now hidden main element that will be absolute positioned\n\t\t\t// within a wrapper div off the -left and -top equal to size of our pieces\n\t\t\tel\n\t\t\t\t.clone()\n\t\t\t\t.appendTo( \"body\" )\n\t\t\t\t.wrap( \"<div></div>\" )\n\t\t\t\t.css({\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tvisibility: \"visible\",\n\t\t\t\t\tleft: -j * width,\n\t\t\t\t\ttop: -i * height\n\t\t\t\t})\n\n\t\t\t// select the wrapper - make it overflow: hidden and absolute positioned based on\n\t\t\t// where the original was located +left and +top equal to the size of pieces\n\t\t\t\t.parent()\n\t\t\t\t.addClass( \"ui-effects-explode\" )\n\t\t\t\t.css({\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: width,\n\t\t\t\t\theight: height,\n\t\t\t\t\tleft: left + ( show ? mx * width : 0 ),\n\t\t\t\t\ttop: top + ( show ? my * height : 0 ),\n\t\t\t\t\topacity: show ? 0 : 1\n\t\t\t\t}).animate({\n\t\t\t\t\tleft: left + ( show ? 0 : mx * width ),\n\t\t\t\t\ttop: top + ( show ? 0 : my * height ),\n\t\t\t\t\topacity: show ? 1 : 0\n\t\t\t\t}, o.duration || 500, o.easing, childComplete );\n\t\t}\n\t}\n\n\tfunction animComplete() {\n\t\tel.css({\n\t\t\tvisibility: \"visible\"\n\t\t});\n\t\t$( pieces ).remove();\n\t\tif ( !show ) {\n\t\t\tel.hide();\n\t\t}\n\t\tdone();\n\t}\n};\n\n})(jQuery);\n(function( $, undefined ) {\n\n$.effects.effect.fade = function( o, done ) {\n\tvar el = $( this ),\n\t\tmode = $.effects.setMode( el, o.mode || \"toggle\" );\n\n\tel.animate({\n\t\topacity: mode\n\t}, {\n\t\tqueue: false,\n\t\tduration: o.duration,\n\t\teasing: o.easing,\n\t\tcomplete: done\n\t});\n};\n\n})( jQuery );\n(function( $, undefined ) {\n\n$.effects.effect.fold = function( o, done ) {\n\n\t// Create element\n\tvar el = $( this ),\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"height\", \"width\" ],\n\t\tmode = $.effects.setMode( el, o.mode || \"hide\" ),\n\t\tshow = mode === \"show\",\n\t\thide = mode === \"hide\",\n\t\tsize = o.size || 15,\n\t\tpercent = /([0-9]+)%/.exec( size ),\n\t\thorizFirst = !!o.horizFirst,\n\t\twidthFirst = show !== horizFirst,\n\t\tref = widthFirst ? [ \"width\", \"height\" ] : [ \"height\", \"width\" ],\n\t\tduration = o.duration / 2,\n\t\twrapper, distance,\n\t\tanimation1 = {},\n\t\tanimation2 = {};\n\n\t$.effects.save( el, props );\n\tel.show();\n\n\t// Create Wrapper\n\twrapper = $.effects.createWrapper( el ).css({\n\t\toverflow: \"hidden\"\n\t});\n\tdistance = widthFirst ?\n\t\t[ wrapper.width(), wrapper.height() ] :\n\t\t[ wrapper.height(), wrapper.width() ];\n\n\tif ( percent ) {\n\t\tsize = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ];\n\t}\n\tif ( show ) {\n\t\twrapper.css( horizFirst ? {\n\t\t\theight: 0,\n\t\t\twidth: size\n\t\t} : {\n\t\t\theight: size,\n\t\t\twidth: 0\n\t\t});\n\t}\n\n\t// Animation\n\tanimation1[ ref[ 0 ] ] = show ? distance[ 0 ] : size;\n\tanimation2[ ref[ 1 ] ] = show ? distance[ 1 ] : 0;\n\n\t// Animate\n\twrapper\n\t\t.animate( animation1, duration, o.easing )\n\t\t.animate( animation2, duration, o.easing, function() {\n\t\t\tif ( hide ) {\n\t\t\t\tel.hide();\n\t\t\t}\n\t\t\t$.effects.restore( el, props );\n\t\t\t$.effects.removeWrapper( el );\n\t\t\tdone();\n\t\t});\n\n};\n\n})(jQuery);\n(function( $, undefined ) {\n\n$.effects.effect.highlight = function( o, done ) {\n\tvar elem = $( this ),\n\t\tprops = [ \"backgroundImage\", \"backgroundColor\", \"opacity\" ],\n\t\tmode = $.effects.setMode( elem, o.mode || \"show\" ),\n\t\tanimation = {\n\t\t\tbackgroundColor: elem.css( \"backgroundColor\" )\n\t\t};\n\n\tif (mode === \"hide\") {\n\t\tanimation.opacity = 0;\n\t}\n\n\t$.effects.save( elem, props );\n\n\telem\n\t\t.show()\n\t\t.css({\n\t\t\tbackgroundImage: \"none\",\n\t\t\tbackgroundColor: o.color || \"#ffff99\"\n\t\t})\n\t\t.animate( animation, {\n\t\t\tqueue: false,\n\t\t\tduration: o.duration,\n\t\t\teasing: o.easing,\n\t\t\tcomplete: function() {\n\t\t\t\tif ( mode === \"hide\" ) {\n\t\t\t\t\telem.hide();\n\t\t\t\t}\n\t\t\t\t$.effects.restore( elem, props );\n\t\t\t\tdone();\n\t\t\t}\n\t\t});\n};\n\n})(jQuery);\n(function( $, undefined ) {\n\n$.effects.effect.pulsate = function( o, done ) {\n\tvar elem = $( this ),\n\t\tmode = $.effects.setMode( elem, o.mode || \"show\" ),\n\t\tshow = mode === \"show\",\n\t\thide = mode === \"hide\",\n\t\tshowhide = ( show || mode === \"hide\" ),\n\n\t\t// showing or hiding leaves of the \"last\" animation\n\t\tanims = ( ( o.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ),\n\t\tduration = o.duration / anims,\n\t\tanimateTo = 0,\n\t\tqueue = elem.queue(),\n\t\tqueuelen = queue.length,\n\t\ti;\n\n\tif ( show || !elem.is(\":visible\")) {\n\t\telem.css( \"opacity\", 0 ).show();\n\t\tanimateTo = 1;\n\t}\n\n\t// anims - 1 opacity \"toggles\"\n\tfor ( i = 1; i < anims; i++ ) {\n\t\telem.animate({\n\t\t\topacity: animateTo\n\t\t}, duration, o.easing );\n\t\tanimateTo = 1 - animateTo;\n\t}\n\n\telem.animate({\n\t\topacity: animateTo\n\t}, duration, o.easing);\n\n\telem.queue(function() {\n\t\tif ( hide ) {\n\t\t\telem.hide();\n\t\t}\n\t\tdone();\n\t});\n\n\t// We just queued up \"anims\" animations, we need to put them next in the queue\n\tif ( queuelen > 1 ) {\n\t\tqueue.splice.apply( queue,\n\t\t\t[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );\n\t}\n\telem.dequeue();\n};\n\n})(jQuery);\n(function( $, undefined ) {\n\n$.effects.effect.puff = function( o, done ) {\n\tvar elem = $( this ),\n\t\tmode = $.effects.setMode( elem, o.mode || \"hide\" ),\n\t\thide = mode === \"hide\",\n\t\tpercent = parseInt( o.percent, 10 ) || 150,\n\t\tfactor = percent / 100,\n\t\toriginal = {\n\t\t\theight: elem.height(),\n\t\t\twidth: elem.width(),\n\t\t\touterHeight: elem.outerHeight(),\n\t\t\touterWidth: elem.outerWidth()\n\t\t};\n\n\t$.extend( o, {\n\t\teffect: \"scale\",\n\t\tqueue: false,\n\t\tfade: true,\n\t\tmode: mode,\n\t\tcomplete: done,\n\t\tpercent: hide ? percent : 100,\n\t\tfrom: hide ?\n\t\t\toriginal :\n\t\t\t{\n\t\t\t\theight: original.height * factor,\n\t\t\t\twidth: original.width * factor,\n\t\t\t\touterHeight: original.outerHeight * factor,\n\t\t\t\touterWidth: original.outerWidth * factor\n\t\t\t}\n\t});\n\n\telem.effect( o );\n};\n\n$.effects.effect.scale = function( o, done ) {\n\n\t// Create element\n\tvar el = $( this ),\n\t\toptions = $.extend( true, {}, o ),\n\t\tmode = $.effects.setMode( el, o.mode || \"effect\" ),\n\t\tpercent = parseInt( o.percent, 10 ) ||\n\t\t\t( parseInt( o.percent, 10 ) === 0 ? 0 : ( mode === \"hide\" ? 0 : 100 ) ),\n\t\tdirection = o.direction || \"both\",\n\t\torigin = o.origin,\n\t\toriginal = {\n\t\t\theight: el.height(),\n\t\t\twidth: el.width(),\n\t\t\touterHeight: el.outerHeight(),\n\t\t\touterWidth: el.outerWidth()\n\t\t},\n\t\tfactor = {\n\t\t\ty: direction !== \"horizontal\" ? (percent / 100) : 1,\n\t\t\tx: direction !== \"vertical\" ? (percent / 100) : 1\n\t\t};\n\n\t// We are going to pass this effect to the size effect:\n\toptions.effect = \"size\";\n\toptions.queue = false;\n\toptions.complete = done;\n\n\t// Set default origin and restore for show/hide\n\tif ( mode !== \"effect\" ) {\n\t\toptions.origin = origin || [\"middle\",\"center\"];\n\t\toptions.restore = true;\n\t}\n\n\toptions.from = o.from || ( mode === \"show\" ? {\n\t\theight: 0,\n\t\twidth: 0,\n\t\touterHeight: 0,\n\t\touterWidth: 0\n\t} : original );\n\toptions.to = {\n\t\theight: original.height * factor.y,\n\t\twidth: original.width * factor.x,\n\t\touterHeight: original.outerHeight * factor.y,\n\t\touterWidth: original.outerWidth * factor.x\n\t};\n\n\t// Fade option to support puff\n\tif ( options.fade ) {\n\t\tif ( mode === \"show\" ) {\n\t\t\toptions.from.opacity = 0;\n\t\t\toptions.to.opacity = 1;\n\t\t}\n\t\tif ( mode === \"hide\" ) {\n\t\t\toptions.from.opacity = 1;\n\t\t\toptions.to.opacity = 0;\n\t\t}\n\t}\n\n\t// Animate\n\tel.effect( options );\n\n};\n\n$.effects.effect.size = function( o, done ) {\n\n\t// Create element\n\tvar original, baseline, factor,\n\t\tel = $( this ),\n\t\tprops0 = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"width\", \"height\", \"overflow\", \"opacity\" ],\n\n\t\t// Always restore\n\t\tprops1 = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"overflow\", \"opacity\" ],\n\n\t\t// Copy for children\n\t\tprops2 = [ \"width\", \"height\", \"overflow\" ],\n\t\tcProps = [ \"fontSize\" ],\n\t\tvProps = [ \"borderTopWidth\", \"borderBottomWidth\", \"paddingTop\", \"paddingBottom\" ],\n\t\thProps = [ \"borderLeftWidth\", \"borderRightWidth\", \"paddingLeft\", \"paddingRight\" ],\n\n\t\t// Set options\n\t\tmode = $.effects.setMode( el, o.mode || \"effect\" ),\n\t\trestore = o.restore || mode !== \"effect\",\n\t\tscale = o.scale || \"both\",\n\t\torigin = o.origin || [ \"middle\", \"center\" ],\n\t\tposition = el.css( \"position\" ),\n\t\tprops = restore ? props0 : props1,\n\t\tzero = {\n\t\t\theight: 0,\n\t\t\twidth: 0,\n\t\t\touterHeight: 0,\n\t\t\touterWidth: 0\n\t\t};\n\n\tif ( mode === \"show\" ) {\n\t\tel.show();\n\t}\n\toriginal = {\n\t\theight: el.height(),\n\t\twidth: el.width(),\n\t\touterHeight: el.outerHeight(),\n\t\touterWidth: el.outerWidth()\n\t};\n\n\tif ( o.mode === \"toggle\" && mode === \"show\" ) {\n\t\tel.from = o.to || zero;\n\t\tel.to = o.from || original;\n\t} else {\n\t\tel.from = o.from || ( mode === \"show\" ? zero : original );\n\t\tel.to = o.to || ( mode === \"hide\" ? zero : original );\n\t}\n\n\t// Set scaling factor\n\tfactor = {\n\t\tfrom: {\n\t\t\ty: el.from.height / original.height,\n\t\t\tx: el.from.width / original.width\n\t\t},\n\t\tto: {\n\t\t\ty: el.to.height / original.height,\n\t\t\tx: el.to.width / original.width\n\t\t}\n\t};\n\n\t// Scale the css box\n\tif ( scale === \"box\" || scale === \"both\" ) {\n\n\t\t// Vertical props scaling\n\t\tif ( factor.from.y !== factor.to.y ) {\n\t\t\tprops = props.concat( vProps );\n\t\t\tel.from = $.effects.setTransition( el, vProps, factor.from.y, el.from );\n\t\t\tel.to = $.effects.setTransition( el, vProps, factor.to.y, el.to );\n\t\t}\n\n\t\t// Horizontal props scaling\n\t\tif ( factor.from.x !== factor.to.x ) {\n\t\t\tprops = props.concat( hProps );\n\t\t\tel.from = $.effects.setTransition( el, hProps, factor.from.x, el.from );\n\t\t\tel.to = $.effects.setTransition( el, hProps, factor.to.x, el.to );\n\t\t}\n\t}\n\n\t// Scale the content\n\tif ( scale === \"content\" || scale === \"both\" ) {\n\n\t\t// Vertical props scaling\n\t\tif ( factor.from.y !== factor.to.y ) {\n\t\t\tprops = props.concat( cProps ).concat( props2 );\n\t\t\tel.from = $.effects.setTransition( el, cProps, factor.from.y, el.from );\n\t\t\tel.to = $.effects.setTransition( el, cProps, factor.to.y, el.to );\n\t\t}\n\t}\n\n\t$.effects.save( el, props );\n\tel.show();\n\t$.effects.createWrapper( el );\n\tel.css( \"overflow\", \"hidden\" ).css( el.from );\n\n\t// Adjust\n\tif (origin) { // Calculate baseline shifts\n\t\tbaseline = $.effects.getBaseline( origin, original );\n\t\tel.from.top = ( original.outerHeight - el.outerHeight() ) * baseline.y;\n\t\tel.from.left = ( original.outerWidth - el.outerWidth() ) * baseline.x;\n\t\tel.to.top = ( original.outerHeight - el.to.outerHeight ) * baseline.y;\n\t\tel.to.left = ( original.outerWidth - el.to.outerWidth ) * baseline.x;\n\t}\n\tel.css( el.from ); // set top & left\n\n\t// Animate\n\tif ( scale === \"content\" || scale === \"both\" ) { // Scale the children\n\n\t\t// Add margins/font-size\n\t\tvProps = vProps.concat([ \"marginTop\", \"marginBottom\" ]).concat(cProps);\n\t\thProps = hProps.concat([ \"marginLeft\", \"marginRight\" ]);\n\t\tprops2 = props0.concat(vProps).concat(hProps);\n\n\t\tel.find( \"*[width]\" ).each( function(){\n\t\t\tvar child = $( this ),\n\t\t\t\tc_original = {\n\t\t\t\t\theight: child.height(),\n\t\t\t\t\twidth: child.width(),\n\t\t\t\t\touterHeight: child.outerHeight(),\n\t\t\t\t\touterWidth: child.outerWidth()\n\t\t\t\t};\n\t\t\tif (restore) {\n\t\t\t\t$.effects.save(child, props2);\n\t\t\t}\n\n\t\t\tchild.from = {\n\t\t\t\theight: c_original.height * factor.from.y,\n\t\t\t\twidth: c_original.width * factor.from.x,\n\t\t\t\touterHeight: c_original.outerHeight * factor.from.y,\n\t\t\t\touterWidth: c_original.outerWidth * factor.from.x\n\t\t\t};\n\t\t\tchild.to = {\n\t\t\t\theight: c_original.height * factor.to.y,\n\t\t\t\twidth: c_original.width * factor.to.x,\n\t\t\t\touterHeight: c_original.height * factor.to.y,\n\t\t\t\touterWidth: c_original.width * factor.to.x\n\t\t\t};\n\n\t\t\t// Vertical props scaling\n\t\t\tif ( factor.from.y !== factor.to.y ) {\n\t\t\t\tchild.from = $.effects.setTransition( child, vProps, factor.from.y, child.from );\n\t\t\t\tchild.to = $.effects.setTransition( child, vProps, factor.to.y, child.to );\n\t\t\t}\n\n\t\t\t// Horizontal props scaling\n\t\t\tif ( factor.from.x !== factor.to.x ) {\n\t\t\t\tchild.from = $.effects.setTransition( child, hProps, factor.from.x, child.from );\n\t\t\t\tchild.to = $.effects.setTransition( child, hProps, factor.to.x, child.to );\n\t\t\t}\n\n\t\t\t// Animate children\n\t\t\tchild.css( child.from );\n\t\t\tchild.animate( child.to, o.duration, o.easing, function() {\n\n\t\t\t\t// Restore children\n\t\t\t\tif ( restore ) {\n\t\t\t\t\t$.effects.restore( child, props2 );\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t// Animate\n\tel.animate( el.to, {\n\t\tqueue: false,\n\t\tduration: o.duration,\n\t\teasing: o.easing,\n\t\tcomplete: function() {\n\t\t\tif ( el.to.opacity === 0 ) {\n\t\t\t\tel.css( \"opacity\", el.from.opacity );\n\t\t\t}\n\t\t\tif( mode === \"hide\" ) {\n\t\t\t\tel.hide();\n\t\t\t}\n\t\t\t$.effects.restore( el, props );\n\t\t\tif ( !restore ) {\n\n\t\t\t\t// we need to calculate our new positioning based on the scaling\n\t\t\t\tif ( position === \"static\" ) {\n\t\t\t\t\tel.css({\n\t\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\t\ttop: el.to.top,\n\t\t\t\t\t\tleft: el.to.left\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$.each([ \"top\", \"left\" ], function( idx, pos ) {\n\t\t\t\t\t\tel.css( pos, function( _, str ) {\n\t\t\t\t\t\t\tvar val = parseInt( str, 10 ),\n\t\t\t\t\t\t\t\ttoRef = idx ? el.to.left : el.to.top;\n\n\t\t\t\t\t\t\t// if original was \"auto\", recalculate the new value from wrapper\n\t\t\t\t\t\t\tif ( str === \"auto\" ) {\n\t\t\t\t\t\t\t\treturn toRef + \"px\";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn val + toRef + \"px\";\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$.effects.removeWrapper( el );\n\t\t\tdone();\n\t\t}\n\t});\n\n};\n\n})(jQuery);\n(function( $, undefined ) {\n\n$.effects.effect.shake = function( o, done ) {\n\n\tvar el = $( this ),\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"height\", \"width\" ],\n\t\tmode = $.effects.setMode( el, o.mode || \"effect\" ),\n\t\tdirection = o.direction || \"left\",\n\t\tdistance = o.distance || 20,\n\t\ttimes = o.times || 3,\n\t\tanims = times * 2 + 1,\n\t\tspeed = Math.round(o.duration/anims),\n\t\tref = (direction === \"up\" || direction === \"down\") ? \"top\" : \"left\",\n\t\tpositiveMotion = (direction === \"up\" || direction === \"left\"),\n\t\tanimation = {},\n\t\tanimation1 = {},\n\t\tanimation2 = {},\n\t\ti,\n\n\t\t// we will need to re-assemble the queue to stack our animations in place\n\t\tqueue = el.queue(),\n\t\tqueuelen = queue.length;\n\n\t$.effects.save( el, props );\n\tel.show();\n\t$.effects.createWrapper( el );\n\n\t// Animation\n\tanimation[ ref ] = ( positiveMotion ? \"-=\" : \"+=\" ) + distance;\n\tanimation1[ ref ] = ( positiveMotion ? \"+=\" : \"-=\" ) + distance * 2;\n\tanimation2[ ref ] = ( positiveMotion ? \"-=\" : \"+=\" ) + distance * 2;\n\n\t// Animate\n\tel.animate( animation, speed, o.easing );\n\n\t// Shakes\n\tfor ( i = 1; i < times; i++ ) {\n\t\tel.animate( animation1, speed, o.easing ).animate( animation2, speed, o.easing );\n\t}\n\tel\n\t\t.animate( animation1, speed, o.easing )\n\t\t.animate( animation, speed / 2, o.easing )\n\t\t.queue(function() {\n\t\t\tif ( mode === \"hide\" ) {\n\t\t\t\tel.hide();\n\t\t\t}\n\t\t\t$.effects.restore( el, props );\n\t\t\t$.effects.removeWrapper( el );\n\t\t\tdone();\n\t\t});\n\n\t// inject all the animations we just queued to be first in line (after \"inprogress\")\n\tif ( queuelen > 1) {\n\t\tqueue.splice.apply( queue,\n\t\t\t[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );\n\t}\n\tel.dequeue();\n\n};\n\n})(jQuery);\n(function( $, undefined ) {\n\n$.effects.effect.slide = function( o, done ) {\n\n\t// Create element\n\tvar el = $( this ),\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"width\", \"height\" ],\n\t\tmode = $.effects.setMode( el, o.mode || \"show\" ),\n\t\tshow = mode === \"show\",\n\t\tdirection = o.direction || \"left\",\n\t\tref = (direction === \"up\" || direction === \"down\") ? \"top\" : \"left\",\n\t\tpositiveMotion = (direction === \"up\" || direction === \"left\"),\n\t\tdistance,\n\t\tanimation = {};\n\n\t// Adjust\n\t$.effects.save( el, props );\n\tel.show();\n\tdistance = o.distance || el[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]( true );\n\n\t$.effects.createWrapper( el ).css({\n\t\toverflow: \"hidden\"\n\t});\n\n\tif ( show ) {\n\t\tel.css( ref, positiveMotion ? (isNaN(distance) ? \"-\" + distance : -distance) : distance );\n\t}\n\n\t// Animation\n\tanimation[ ref ] = ( show ?\n\t\t( positiveMotion ? \"+=\" : \"-=\") :\n\t\t( positiveMotion ? \"-=\" : \"+=\")) +\n\t\tdistance;\n\n\t// Animate\n\tel.animate( animation, {\n\t\tqueue: false,\n\t\tduration: o.duration,\n\t\teasing: o.easing,\n\t\tcomplete: function() {\n\t\t\tif ( mode === \"hide\" ) {\n\t\t\t\tel.hide();\n\t\t\t}\n\t\t\t$.effects.restore( el, props );\n\t\t\t$.effects.removeWrapper( el );\n\t\t\tdone();\n\t\t}\n\t});\n};\n\n})(jQuery);\n(function( $, undefined ) {\n\n$.effects.effect.transfer = function( o, done ) {\n\tvar elem = $( this ),\n\t\ttarget = $( o.to ),\n\t\ttargetFixed = target.css( \"position\" ) === \"fixed\",\n\t\tbody = $(\"body\"),\n\t\tfixTop = targetFixed ? body.scrollTop() : 0,\n\t\tfixLeft = targetFixed ? body.scrollLeft() : 0,\n\t\tendPosition = target.offset(),\n\t\tanimation = {\n\t\t\ttop: endPosition.top - fixTop ,\n\t\t\tleft: endPosition.left - fixLeft ,\n\t\t\theight: target.innerHeight(),\n\t\t\twidth: target.innerWidth()\n\t\t},\n\t\tstartPosition = elem.offset(),\n\t\ttransfer = $( '<div class=\"ui-effects-transfer\"></div>' )\n\t\t\t.appendTo( document.body )\n\t\t\t.addClass( o.className )\n\t\t\t.css({\n\t\t\t\ttop: startPosition.top - fixTop ,\n\t\t\t\tleft: startPosition.left - fixLeft ,\n\t\t\t\theight: elem.innerHeight(),\n\t\t\t\twidth: elem.innerWidth(),\n\t\t\t\tposition: targetFixed ? \"fixed\" : \"absolute\"\n\t\t\t})\n\t\t\t.animate( animation, o.duration, o.easing, function() {\n\t\t\t\ttransfer.remove();\n\t\t\t\tdone();\n\t\t\t});\n};\n\n})(jQuery);\n(function( $, undefined ) {\n\nvar mouseHandled = false;\n\n$.widget( \"ui.menu\", {\n\tversion: \"1.9.2\",\n\tdefaultElement: \"<ul>\",\n\tdelay: 300,\n\toptions: {\n\t\ticons: {\n\t\t\tsubmenu: \"ui-icon-carat-1-e\"\n\t\t},\n\t\tmenus: \"ul\",\n\t\tposition: {\n\t\t\tmy: \"left top\",\n\t\t\tat: \"right top\"\n\t\t},\n\t\trole: \"menu\",\n\n\t\t// callbacks\n\t\tblur: null,\n\t\tfocus: null,\n\t\tselect: null\n\t},\n\n\t_create: function() {\n\t\tthis.activeMenu = this.element;\n\t\tthis.element\n\t\t\t.uniqueId()\n\t\t\t.addClass( \"ui-menu ui-widget ui-widget-content ui-corner-all\" )\n\t\t\t.toggleClass( \"ui-menu-icons\", !!this.element.find( \".ui-icon\" ).length )\n\t\t\t.attr({\n\t\t\t\trole: this.options.role,\n\t\t\t\ttabIndex: 0\n\t\t\t})\n\t\t\t// need to catch all clicks on disabled menu\n\t\t\t// not possible through _on\n\t\t\t.bind( \"click\" + this.eventNamespace, $.proxy(function( event ) {\n\t\t\t\tif ( this.options.disabled ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}, this ));\n\n\t\tif ( this.options.disabled ) {\n\t\t\tthis.element\n\t\t\t\t.addClass( \"ui-state-disabled\" )\n\t\t\t\t.attr( \"aria-disabled\", \"true\" );\n\t\t}\n\n\t\tthis._on({\n\t\t\t// Prevent focus from sticking to links inside menu after clicking\n\t\t\t// them (focus should always stay on UL during navigation).\n\t\t\t\"mousedown .ui-menu-item > a\": function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t},\n\t\t\t\"click .ui-state-disabled > a\": function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t},\n\t\t\t\"click .ui-menu-item:has(a)\": function( event ) {\n\t\t\t\tvar target = $( event.target ).closest( \".ui-menu-item\" );\n\t\t\t\tif ( !mouseHandled && target.not( \".ui-state-disabled\" ).length ) {\n\t\t\t\t\tmouseHandled = true;\n\n\t\t\t\t\tthis.select( event );\n\t\t\t\t\t// Open submenu on click\n\t\t\t\t\tif ( target.has( \".ui-menu\" ).length ) {\n\t\t\t\t\t\tthis.expand( event );\n\t\t\t\t\t} else if ( !this.element.is( \":focus\" ) ) {\n\t\t\t\t\t\t// Redirect focus to the menu\n\t\t\t\t\t\tthis.element.trigger( \"focus\", [ true ] );\n\n\t\t\t\t\t\t// If the active item is on the top level, let it stay active.\n\t\t\t\t\t\t// Otherwise, blur the active item since it is no longer visible.\n\t\t\t\t\t\tif ( this.active && this.active.parents( \".ui-menu\" ).length === 1 ) {\n\t\t\t\t\t\t\tclearTimeout( this.timer );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"mouseenter .ui-menu-item\": function( event ) {\n\t\t\t\tvar target = $( event.currentTarget );\n\t\t\t\t// Remove ui-state-active class from siblings of the newly focused menu item\n\t\t\t\t// to avoid a jump caused by adjacent elements both having a class with a border\n\t\t\t\ttarget.siblings().children( \".ui-state-active\" ).removeClass( \"ui-state-active\" );\n\t\t\t\tthis.focus( event, target );\n\t\t\t},\n\t\t\tmouseleave: \"collapseAll\",\n\t\t\t\"mouseleave .ui-menu\": \"collapseAll\",\n\t\t\tfocus: function( event, keepActiveItem ) {\n\t\t\t\t// If there's already an active item, keep it active\n\t\t\t\t// If not, activate the first item\n\t\t\t\tvar item = this.active || this.element.children( \".ui-menu-item\" ).eq( 0 );\n\n\t\t\t\tif ( !keepActiveItem ) {\n\t\t\t\t\tthis.focus( event, item );\n\t\t\t\t}\n\t\t\t},\n\t\t\tblur: function( event ) {\n\t\t\t\tthis._delay(function() {\n\t\t\t\t\tif ( !$.contains( this.element[0], this.document[0].activeElement ) ) {\n\t\t\t\t\t\tthis.collapseAll( event );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tkeydown: \"_keydown\"\n\t\t});\n\n\t\tthis.refresh();\n\n\t\t// Clicks outside of a menu collapse any open menus\n\t\tthis._on( this.document, {\n\t\t\tclick: function( event ) {\n\t\t\t\tif ( !$( event.target ).closest( \".ui-menu\" ).length ) {\n\t\t\t\t\tthis.collapseAll( event );\n\t\t\t\t}\n\n\t\t\t\t// Reset the mouseHandled flag\n\t\t\t\tmouseHandled = false;\n\t\t\t}\n\t\t});\n\t},\n\n\t_destroy: function() {\n\t\t// Destroy (sub)menus\n\t\tthis.element\n\t\t\t.removeAttr( \"aria-activedescendant\" )\n\t\t\t.find( \".ui-menu\" ).andSelf()\n\t\t\t\t.removeClass( \"ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons\" )\n\t\t\t\t.removeAttr( \"role\" )\n\t\t\t\t.removeAttr( \"tabIndex\" )\n\t\t\t\t.removeAttr( \"aria-labelledby\" )\n\t\t\t\t.removeAttr( \"aria-expanded\" )\n\t\t\t\t.removeAttr( \"aria-hidden\" )\n\t\t\t\t.removeAttr( \"aria-disabled\" )\n\t\t\t\t.removeUniqueId()\n\t\t\t\t.show();\n\n\t\t// Destroy menu items\n\t\tthis.element.find( \".ui-menu-item\" )\n\t\t\t.removeClass( \"ui-menu-item\" )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"aria-disabled\" )\n\t\t\t.children( \"a\" )\n\t\t\t\t.removeUniqueId()\n\t\t\t\t.removeClass( \"ui-corner-all ui-state-hover\" )\n\t\t\t\t.removeAttr( \"tabIndex\" )\n\t\t\t\t.removeAttr( \"role\" )\n\t\t\t\t.removeAttr( \"aria-haspopup\" )\n\t\t\t\t.children().each( function() {\n\t\t\t\t\tvar elem = $( this );\n\t\t\t\t\tif ( elem.data( \"ui-menu-submenu-carat\" ) ) {\n\t\t\t\t\t\telem.remove();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t// Destroy menu dividers\n\t\tthis.element.find( \".ui-menu-divider\" ).removeClass( \"ui-menu-divider ui-widget-content\" );\n\t},\n\n\t_keydown: function( event ) {\n\t\tvar match, prev, character, skip, regex,\n\t\t\tpreventDefault = true;\n\n\t\tfunction escape( value ) {\n\t\t\treturn value.replace( /[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\" );\n\t\t}\n\n\t\tswitch ( event.keyCode ) {\n\t\tcase $.ui.keyCode.PAGE_UP:\n\t\t\tthis.previousPage( event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.PAGE_DOWN:\n\t\t\tthis.nextPage( event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.HOME:\n\t\t\tthis._move( \"first\", \"first\", event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.END:\n\t\t\tthis._move( \"last\", \"last\", event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.UP:\n\t\t\tthis.previous( event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.DOWN:\n\t\t\tthis.next( event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.LEFT:\n\t\t\tthis.collapse( event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.RIGHT:\n\t\t\tif ( this.active && !this.active.is( \".ui-state-disabled\" ) ) {\n\t\t\t\tthis.expand( event );\n\t\t\t}\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.ENTER:\n\t\tcase $.ui.keyCode.SPACE:\n\t\t\tthis._activate( event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.ESCAPE:\n\t\t\tthis.collapse( event );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tpreventDefault = false;\n\t\t\tprev = this.previousFilter || \"\";\n\t\t\tcharacter = String.fromCharCode( event.keyCode );\n\t\t\tskip = false;\n\n\t\t\tclearTimeout( this.filterTimer );\n\n\t\t\tif ( character === prev ) {\n\t\t\t\tskip = true;\n\t\t\t} else {\n\t\t\t\tcharacter = prev + character;\n\t\t\t}\n\n\t\t\tregex = new RegExp( \"^\" + escape( character ), \"i\" );\n\t\t\tmatch = this.activeMenu.children( \".ui-menu-item\" ).filter(function() {\n\t\t\t\treturn regex.test( $( this ).children( \"a\" ).text() );\n\t\t\t});\n\t\t\tmatch = skip && match.index( this.active.next() ) !== -1 ?\n\t\t\t\tthis.active.nextAll( \".ui-menu-item\" ) :\n\t\t\t\tmatch;\n\n\t\t\t// If no matches on the current filter, reset to the last character pressed\n\t\t\t// to move down the menu to the first item that starts with that character\n\t\t\tif ( !match.length ) {\n\t\t\t\tcharacter = String.fromCharCode( event.keyCode );\n\t\t\t\tregex = new RegExp( \"^\" + escape( character ), \"i\" );\n\t\t\t\tmatch = this.activeMenu.children( \".ui-menu-item\" ).filter(function() {\n\t\t\t\t\treturn regex.test( $( this ).children( \"a\" ).text() );\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif ( match.length ) {\n\t\t\t\tthis.focus( event, match );\n\t\t\t\tif ( match.length > 1 ) {\n\t\t\t\t\tthis.previousFilter = character;\n\t\t\t\t\tthis.filterTimer = this._delay(function() {\n\t\t\t\t\t\tdelete this.previousFilter;\n\t\t\t\t\t}, 1000 );\n\t\t\t\t} else {\n\t\t\t\t\tdelete this.previousFilter;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdelete this.previousFilter;\n\t\t\t}\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t},\n\n\t_activate: function( event ) {\n\t\tif ( !this.active.is( \".ui-state-disabled\" ) ) {\n\t\t\tif ( this.active.children( \"a[aria-haspopup='true']\" ).length ) {\n\t\t\t\tthis.expand( event );\n\t\t\t} else {\n\t\t\t\tthis.select( event );\n\t\t\t}\n\t\t}\n\t},\n\n\trefresh: function() {\n\t\tvar menus,\n\t\t\ticon = this.options.icons.submenu,\n\t\t\tsubmenus = this.element.find( this.options.menus );\n\n\t\t// Initialize nested menus\n\t\tsubmenus.filter( \":not(.ui-menu)\" )\n\t\t\t.addClass( \"ui-menu ui-widget ui-widget-content ui-corner-all\" )\n\t\t\t.hide()\n\t\t\t.attr({\n\t\t\t\trole: this.options.role,\n\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\t\"aria-expanded\": \"false\"\n\t\t\t})\n\t\t\t.each(function() {\n\t\t\t\tvar menu = $( this ),\n\t\t\t\t\titem = menu.prev( \"a\" ),\n\t\t\t\t\tsubmenuCarat = $( \"<span>\" )\n\t\t\t\t\t\t.addClass( \"ui-menu-icon ui-icon \" + icon )\n\t\t\t\t\t\t.data( \"ui-menu-submenu-carat\", true );\n\n\t\t\t\titem\n\t\t\t\t\t.attr( \"aria-haspopup\", \"true\" )\n\t\t\t\t\t.prepend( submenuCarat );\n\t\t\t\tmenu.attr( \"aria-labelledby\", item.attr( \"id\" ) );\n\t\t\t});\n\n\t\tmenus = submenus.add( this.element );\n\n\t\t// Don't refresh list items that are already adapted\n\t\tmenus.children( \":not(.ui-menu-item):has(a)\" )\n\t\t\t.addClass( \"ui-menu-item\" )\n\t\t\t.attr( \"role\", \"presentation\" )\n\t\t\t.children( \"a\" )\n\t\t\t\t.uniqueId()\n\t\t\t\t.addClass( \"ui-corner-all\" )\n\t\t\t\t.attr({\n\t\t\t\t\ttabIndex: -1,\n\t\t\t\t\trole: this._itemRole()\n\t\t\t\t});\n\n\t\t// Initialize unlinked menu-items containing spaces and/or dashes only as dividers\n\t\tmenus.children( \":not(.ui-menu-item)\" ).each(function() {\n\t\t\tvar item = $( this );\n\t\t\t// hyphen, em dash, en dash\n\t\t\tif ( !/[^\\-—–\\s]/.test( item.text() ) ) {\n\t\t\t\titem.addClass( \"ui-widget-content ui-menu-divider\" );\n\t\t\t}\n\t\t});\n\n\t\t// Add aria-disabled attribute to any disabled menu item\n\t\tmenus.children( \".ui-state-disabled\" ).attr( \"aria-disabled\", \"true\" );\n\n\t\t// If the active item has been removed, blur the menu\n\t\tif ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {\n\t\t\tthis.blur();\n\t\t}\n\t},\n\n\t_itemRole: function() {\n\t\treturn {\n\t\t\tmenu: \"menuitem\",\n\t\t\tlistbox: \"option\"\n\t\t}[ this.options.role ];\n\t},\n\n\tfocus: function( event, item ) {\n\t\tvar nested, focused;\n\t\tthis.blur( event, event && event.type === \"focus\" );\n\n\t\tthis._scrollIntoView( item );\n\n\t\tthis.active = item.first();\n\t\tfocused = this.active.children( \"a\" ).addClass( \"ui-state-focus\" );\n\t\t// Only update aria-activedescendant if there's a role\n\t\t// otherwise we assume focus is managed elsewhere\n\t\tif ( this.options.role ) {\n\t\t\tthis.element.attr( \"aria-activedescendant\", focused.attr( \"id\" ) );\n\t\t}\n\n\t\t// Highlight active parent menu item, if any\n\t\tthis.active\n\t\t\t.parent()\n\t\t\t.closest( \".ui-menu-item\" )\n\t\t\t.children( \"a:first\" )\n\t\t\t.addClass( \"ui-state-active\" );\n\n\t\tif ( event && event.type === \"keydown\" ) {\n\t\t\tthis._close();\n\t\t} else {\n\t\t\tthis.timer = this._delay(function() {\n\t\t\t\tthis._close();\n\t\t\t}, this.delay );\n\t\t}\n\n\t\tnested = item.children( \".ui-menu\" );\n\t\tif ( nested.length && ( /^mouse/.test( event.type ) ) ) {\n\t\t\tthis._startOpening(nested);\n\t\t}\n\t\tthis.activeMenu = item.parent();\n\n\t\tthis._trigger( \"focus\", event, { item: item } );\n\t},\n\n\t_scrollIntoView: function( item ) {\n\t\tvar borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;\n\t\tif ( this._hasScroll() ) {\n\t\t\tborderTop = parseFloat( $.css( this.activeMenu[0], \"borderTopWidth\" ) ) || 0;\n\t\t\tpaddingTop = parseFloat( $.css( this.activeMenu[0], \"paddingTop\" ) ) || 0;\n\t\t\toffset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;\n\t\t\tscroll = this.activeMenu.scrollTop();\n\t\t\telementHeight = this.activeMenu.height();\n\t\t\titemHeight = item.height();\n\n\t\t\tif ( offset < 0 ) {\n\t\t\t\tthis.activeMenu.scrollTop( scroll + offset );\n\t\t\t} else if ( offset + itemHeight > elementHeight ) {\n\t\t\t\tthis.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight );\n\t\t\t}\n\t\t}\n\t},\n\n\tblur: function( event, fromFocus ) {\n\t\tif ( !fromFocus ) {\n\t\t\tclearTimeout( this.timer );\n\t\t}\n\n\t\tif ( !this.active ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.active.children( \"a\" ).removeClass( \"ui-state-focus\" );\n\t\tthis.active = null;\n\n\t\tthis._trigger( \"blur\", event, { item: this.active } );\n\t},\n\n\t_startOpening: function( submenu ) {\n\t\tclearTimeout( this.timer );\n\n\t\t// Don't open if already open fixes a Firefox bug that caused a .5 pixel\n\t\t// shift in the submenu position when mousing over the carat icon\n\t\tif ( submenu.attr( \"aria-hidden\" ) !== \"true\" ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.timer = this._delay(function() {\n\t\t\tthis._close();\n\t\t\tthis._open( submenu );\n\t\t}, this.delay );\n\t},\n\n\t_open: function( submenu ) {\n\t\tvar position = $.extend({\n\t\t\tof: this.active\n\t\t}, this.options.position );\n\n\t\tclearTimeout( this.timer );\n\t\tthis.element.find( \".ui-menu\" ).not( submenu.parents( \".ui-menu\" ) )\n\t\t\t.hide()\n\t\t\t.attr( \"aria-hidden\", \"true\" );\n\n\t\tsubmenu\n\t\t\t.show()\n\t\t\t.removeAttr( \"aria-hidden\" )\n\t\t\t.attr( \"aria-expanded\", \"true\" )\n\t\t\t.position( position );\n\t},\n\n\tcollapseAll: function( event, all ) {\n\t\tclearTimeout( this.timer );\n\t\tthis.timer = this._delay(function() {\n\t\t\t// If we were passed an event, look for the submenu that contains the event\n\t\t\tvar currentMenu = all ? this.element :\n\t\t\t\t$( event && event.target ).closest( this.element.find( \".ui-menu\" ) );\n\n\t\t\t// If we found no valid submenu ancestor, use the main menu to close all sub menus anyway\n\t\t\tif ( !currentMenu.length ) {\n\t\t\t\tcurrentMenu = this.element;\n\t\t\t}\n\n\t\t\tthis._close( currentMenu );\n\n\t\t\tthis.blur( event );\n\t\t\tthis.activeMenu = currentMenu;\n\t\t}, this.delay );\n\t},\n\n\t// With no arguments, closes the currently active menu - if nothing is active\n\t// it closes all menus.  If passed an argument, it will search for menus BELOW\n\t_close: function( startMenu ) {\n\t\tif ( !startMenu ) {\n\t\t\tstartMenu = this.active ? this.active.parent() : this.element;\n\t\t}\n\n\t\tstartMenu\n\t\t\t.find( \".ui-menu\" )\n\t\t\t\t.hide()\n\t\t\t\t.attr( \"aria-hidden\", \"true\" )\n\t\t\t\t.attr( \"aria-expanded\", \"false\" )\n\t\t\t.end()\n\t\t\t.find( \"a.ui-state-active\" )\n\t\t\t\t.removeClass( \"ui-state-active\" );\n\t},\n\n\tcollapse: function( event ) {\n\t\tvar newItem = this.active &&\n\t\t\tthis.active.parent().closest( \".ui-menu-item\", this.element );\n\t\tif ( newItem && newItem.length ) {\n\t\t\tthis._close();\n\t\t\tthis.focus( event, newItem );\n\t\t}\n\t},\n\n\texpand: function( event ) {\n\t\tvar newItem = this.active &&\n\t\t\tthis.active\n\t\t\t\t.children( \".ui-menu \" )\n\t\t\t\t.children( \".ui-menu-item\" )\n\t\t\t\t.first();\n\n\t\tif ( newItem && newItem.length ) {\n\t\t\tthis._open( newItem.parent() );\n\n\t\t\t// Delay so Firefox will not hide activedescendant change in expanding submenu from AT\n\t\t\tthis._delay(function() {\n\t\t\t\tthis.focus( event, newItem );\n\t\t\t});\n\t\t}\n\t},\n\n\tnext: function( event ) {\n\t\tthis._move( \"next\", \"first\", event );\n\t},\n\n\tprevious: function( event ) {\n\t\tthis._move( \"prev\", \"last\", event );\n\t},\n\n\tisFirstItem: function() {\n\t\treturn this.active && !this.active.prevAll( \".ui-menu-item\" ).length;\n\t},\n\n\tisLastItem: function() {\n\t\treturn this.active && !this.active.nextAll( \".ui-menu-item\" ).length;\n\t},\n\n\t_move: function( direction, filter, event ) {\n\t\tvar next;\n\t\tif ( this.active ) {\n\t\t\tif ( direction === \"first\" || direction === \"last\" ) {\n\t\t\t\tnext = this.active\n\t\t\t\t\t[ direction === \"first\" ? \"prevAll\" : \"nextAll\" ]( \".ui-menu-item\" )\n\t\t\t\t\t.eq( -1 );\n\t\t\t} else {\n\t\t\t\tnext = this.active\n\t\t\t\t\t[ direction + \"All\" ]( \".ui-menu-item\" )\n\t\t\t\t\t.eq( 0 );\n\t\t\t}\n\t\t}\n\t\tif ( !next || !next.length || !this.active ) {\n\t\t\tnext = this.activeMenu.children( \".ui-menu-item\" )[ filter ]();\n\t\t}\n\n\t\tthis.focus( event, next );\n\t},\n\n\tnextPage: function( event ) {\n\t\tvar item, base, height;\n\n\t\tif ( !this.active ) {\n\t\t\tthis.next( event );\n\t\t\treturn;\n\t\t}\n\t\tif ( this.isLastItem() ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( this._hasScroll() ) {\n\t\t\tbase = this.active.offset().top;\n\t\t\theight = this.element.height();\n\t\t\tthis.active.nextAll( \".ui-menu-item\" ).each(function() {\n\t\t\t\titem = $( this );\n\t\t\t\treturn item.offset().top - base - height < 0;\n\t\t\t});\n\n\t\t\tthis.focus( event, item );\n\t\t} else {\n\t\t\tthis.focus( event, this.activeMenu.children( \".ui-menu-item\" )\n\t\t\t\t[ !this.active ? \"first\" : \"last\" ]() );\n\t\t}\n\t},\n\n\tpreviousPage: function( event ) {\n\t\tvar item, base, height;\n\t\tif ( !this.active ) {\n\t\t\tthis.next( event );\n\t\t\treturn;\n\t\t}\n\t\tif ( this.isFirstItem() ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( this._hasScroll() ) {\n\t\t\tbase = this.active.offset().top;\n\t\t\theight = this.element.height();\n\t\t\tthis.active.prevAll( \".ui-menu-item\" ).each(function() {\n\t\t\t\titem = $( this );\n\t\t\t\treturn item.offset().top - base + height > 0;\n\t\t\t});\n\n\t\t\tthis.focus( event, item );\n\t\t} else {\n\t\t\tthis.focus( event, this.activeMenu.children( \".ui-menu-item\" ).first() );\n\t\t}\n\t},\n\n\t_hasScroll: function() {\n\t\treturn this.element.outerHeight() < this.element.prop( \"scrollHeight\" );\n\t},\n\n\tselect: function( event ) {\n\t\t// TODO: It should never be possible to not have an active item at this\n\t\t// point, but the tests don't trigger mouseenter before click.\n\t\tthis.active = this.active || $( event.target ).closest( \".ui-menu-item\" );\n\t\tvar ui = { item: this.active };\n\t\tif ( !this.active.has( \".ui-menu\" ).length ) {\n\t\t\tthis.collapseAll( event, true );\n\t\t}\n\t\tthis._trigger( \"select\", event, ui );\n\t}\n});\n\n}( jQuery ));\n(function( $, undefined ) {\n\n$.widget( \"ui.progressbar\", {\n\tversion: \"1.9.2\",\n\toptions: {\n\t\tvalue: 0,\n\t\tmax: 100\n\t},\n\n\tmin: 0,\n\n\t_create: function() {\n\t\tthis.element\n\t\t\t.addClass( \"ui-progressbar ui-widget ui-widget-content ui-corner-all\" )\n\t\t\t.attr({\n\t\t\t\trole: \"progressbar\",\n\t\t\t\t\"aria-valuemin\": this.min,\n\t\t\t\t\"aria-valuemax\": this.options.max,\n\t\t\t\t\"aria-valuenow\": this._value()\n\t\t\t});\n\n\t\tthis.valueDiv = $( \"<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>\" )\n\t\t\t.appendTo( this.element );\n\n\t\tthis.oldValue = this._value();\n\t\tthis._refreshValue();\n\t},\n\n\t_destroy: function() {\n\t\tthis.element\n\t\t\t.removeClass( \"ui-progressbar ui-widget ui-widget-content ui-corner-all\" )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"aria-valuemin\" )\n\t\t\t.removeAttr( \"aria-valuemax\" )\n\t\t\t.removeAttr( \"aria-valuenow\" );\n\n\t\tthis.valueDiv.remove();\n\t},\n\n\tvalue: function( newValue ) {\n\t\tif ( newValue === undefined ) {\n\t\t\treturn this._value();\n\t\t}\n\n\t\tthis._setOption( \"value\", newValue );\n\t\treturn this;\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"value\" ) {\n\t\t\tthis.options.value = value;\n\t\t\tthis._refreshValue();\n\t\t\tif ( this._value() === this.options.max ) {\n\t\t\t\tthis._trigger( \"complete\" );\n\t\t\t}\n\t\t}\n\n\t\tthis._super( key, value );\n\t},\n\n\t_value: function() {\n\t\tvar val = this.options.value;\n\t\t// normalize invalid value\n\t\tif ( typeof val !== \"number\" ) {\n\t\t\tval = 0;\n\t\t}\n\t\treturn Math.min( this.options.max, Math.max( this.min, val ) );\n\t},\n\n\t_percentage: function() {\n\t\treturn 100 * this._value() / this.options.max;\n\t},\n\n\t_refreshValue: function() {\n\t\tvar value = this.value(),\n\t\t\tpercentage = this._percentage();\n\n\t\tif ( this.oldValue !== value ) {\n\t\t\tthis.oldValue = value;\n\t\t\tthis._trigger( \"change\" );\n\t\t}\n\n\t\tthis.valueDiv\n\t\t\t.toggle( value > this.min )\n\t\t\t.toggleClass( \"ui-corner-right\", value === this.options.max )\n\t\t\t.width( percentage.toFixed(0) + \"%\" );\n\t\tthis.element.attr( \"aria-valuenow\", value );\n\t}\n});\n\n})( jQuery );\n(function( $, undefined ) {\n\n$.widget(\"ui.resizable\", $.ui.mouse, {\n\tversion: \"1.9.2\",\n\twidgetEventPrefix: \"resize\",\n\toptions: {\n\t\talsoResize: false,\n\t\tanimate: false,\n\t\tanimateDuration: \"slow\",\n\t\tanimateEasing: \"swing\",\n\t\taspectRatio: false,\n\t\tautoHide: false,\n\t\tcontainment: false,\n\t\tghost: false,\n\t\tgrid: false,\n\t\thandles: \"e,s,se\",\n\t\thelper: false,\n\t\tmaxHeight: null,\n\t\tmaxWidth: null,\n\t\tminHeight: 10,\n\t\tminWidth: 10,\n\t\tzIndex: 1000\n\t},\n\t_create: function() {\n\n\t\tvar that = this, o = this.options;\n\t\tthis.element.addClass(\"ui-resizable\");\n\n\t\t$.extend(this, {\n\t\t\t_aspectRatio: !!(o.aspectRatio),\n\t\t\taspectRatio: o.aspectRatio,\n\t\t\toriginalElement: this.element,\n\t\t\t_proportionallyResizeElements: [],\n\t\t\t_helper: o.helper || o.ghost || o.animate ? o.helper || 'ui-resizable-helper' : null\n\t\t});\n\n\t\t//Wrap the element if it cannot hold child nodes\n\t\tif(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)) {\n\n\t\t\t//Create a wrapper element and set the wrapper to the new current internal element\n\t\t\tthis.element.wrap(\n\t\t\t\t$('<div class=\"ui-wrapper\" style=\"overflow: hidden;\"></div>').css({\n\t\t\t\t\tposition: this.element.css('position'),\n\t\t\t\t\twidth: this.element.outerWidth(),\n\t\t\t\t\theight: this.element.outerHeight(),\n\t\t\t\t\ttop: this.element.css('top'),\n\t\t\t\t\tleft: this.element.css('left')\n\t\t\t\t})\n\t\t\t);\n\n\t\t\t//Overwrite the original this.element\n\t\t\tthis.element = this.element.parent().data(\n\t\t\t\t\"resizable\", this.element.data('resizable')\n\t\t\t);\n\n\t\t\tthis.elementIsWrapper = true;\n\n\t\t\t//Move margins to the wrapper\n\t\t\tthis.element.css({ marginLeft: this.originalElement.css(\"marginLeft\"), marginTop: this.originalElement.css(\"marginTop\"), marginRight: this.originalElement.css(\"marginRight\"), marginBottom: this.originalElement.css(\"marginBottom\") });\n\t\t\tthis.originalElement.css({ marginLeft: 0, marginTop: 0, marginRight: 0, marginBottom: 0});\n\n\t\t\t//Prevent Safari textarea resize\n\t\t\tthis.originalResizeStyle = this.originalElement.css('resize');\n\t\t\tthis.originalElement.css('resize', 'none');\n\n\t\t\t//Push the actual element to our proportionallyResize internal array\n\t\t\tthis._proportionallyResizeElements.push(this.originalElement.css({ position: 'static', zoom: 1, display: 'block' }));\n\n\t\t\t// avoid IE jump (hard set the margin)\n\t\t\tthis.originalElement.css({ margin: this.originalElement.css('margin') });\n\n\t\t\t// fix handlers offset\n\t\t\tthis._proportionallyResize();\n\n\t\t}\n\n\t\tthis.handles = o.handles || (!$('.ui-resizable-handle', this.element).length ? \"e,s,se\" : { n: '.ui-resizable-n', e: '.ui-resizable-e', s: '.ui-resizable-s', w: '.ui-resizable-w', se: '.ui-resizable-se', sw: '.ui-resizable-sw', ne: '.ui-resizable-ne', nw: '.ui-resizable-nw' });\n\t\tif(this.handles.constructor == String) {\n\n\t\t\tif(this.handles == 'all') this.handles = 'n,e,s,w,se,sw,ne,nw';\n\t\t\tvar n = this.handles.split(\",\"); this.handles = {};\n\n\t\t\tfor(var i = 0; i < n.length; i++) {\n\n\t\t\t\tvar handle = $.trim(n[i]), hname = 'ui-resizable-'+handle;\n\t\t\t\tvar axis = $('<div class=\"ui-resizable-handle ' + hname + '\"></div>');\n\n\t\t\t\t// Apply zIndex to all handles - see #7960\n\t\t\t\taxis.css({ zIndex: o.zIndex });\n\n\t\t\t\t//TODO : What's going on here?\n\t\t\t\tif ('se' == handle) {\n\t\t\t\t\taxis.addClass('ui-icon ui-icon-gripsmall-diagonal-se');\n\t\t\t\t};\n\n\t\t\t\t//Insert into internal handles object and append to element\n\t\t\t\tthis.handles[handle] = '.ui-resizable-'+handle;\n\t\t\t\tthis.element.append(axis);\n\t\t\t}\n\n\t\t}\n\n\t\tthis._renderAxis = function(target) {\n\n\t\t\ttarget = target || this.element;\n\n\t\t\tfor(var i in this.handles) {\n\n\t\t\t\tif(this.handles[i].constructor == String)\n\t\t\t\t\tthis.handles[i] = $(this.handles[i], this.element).show();\n\n\t\t\t\t//Apply pad to wrapper element, needed to fix axis position (textarea, inputs, scrolls)\n\t\t\t\tif (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) {\n\n\t\t\t\t\tvar axis = $(this.handles[i], this.element), padWrapper = 0;\n\n\t\t\t\t\t//Checking the correct pad and border\n\t\t\t\t\tpadWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth();\n\n\t\t\t\t\t//The padding type i have to apply...\n\t\t\t\t\tvar padPos = [ 'padding',\n\t\t\t\t\t\t/ne|nw|n/.test(i) ? 'Top' :\n\t\t\t\t\t\t/se|sw|s/.test(i) ? 'Bottom' :\n\t\t\t\t\t\t/^e$/.test(i) ? 'Right' : 'Left' ].join(\"\");\n\n\t\t\t\t\ttarget.css(padPos, padWrapper);\n\n\t\t\t\t\tthis._proportionallyResize();\n\n\t\t\t\t}\n\n\t\t\t\t//TODO: What's that good for? There's not anything to be executed left\n\t\t\t\tif(!$(this.handles[i]).length)\n\t\t\t\t\tcontinue;\n\n\t\t\t}\n\t\t};\n\n\t\t//TODO: make renderAxis a prototype function\n\t\tthis._renderAxis(this.element);\n\n\t\tthis._handles = $('.ui-resizable-handle', this.element)\n\t\t\t.disableSelection();\n\n\t\t//Matching axis name\n\t\tthis._handles.mouseover(function() {\n\t\t\tif (!that.resizing) {\n\t\t\t\tif (this.className)\n\t\t\t\t\tvar axis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);\n\t\t\t\t//Axis, default = se\n\t\t\t\tthat.axis = axis && axis[1] ? axis[1] : 'se';\n\t\t\t}\n\t\t});\n\n\t\t//If we want to auto hide the elements\n\t\tif (o.autoHide) {\n\t\t\tthis._handles.hide();\n\t\t\t$(this.element)\n\t\t\t\t.addClass(\"ui-resizable-autohide\")\n\t\t\t\t.mouseenter(function() {\n\t\t\t\t\tif (o.disabled) return;\n\t\t\t\t\t$(this).removeClass(\"ui-resizable-autohide\");\n\t\t\t\t\tthat._handles.show();\n\t\t\t\t})\n\t\t\t\t.mouseleave(function(){\n\t\t\t\t\tif (o.disabled) return;\n\t\t\t\t\tif (!that.resizing) {\n\t\t\t\t\t\t$(this).addClass(\"ui-resizable-autohide\");\n\t\t\t\t\t\tthat._handles.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\n\t\t//Initialize the mouse interaction\n\t\tthis._mouseInit();\n\n\t},\n\n\t_destroy: function() {\n\n\t\tthis._mouseDestroy();\n\n\t\tvar _destroy = function(exp) {\n\t\t\t$(exp).removeClass(\"ui-resizable ui-resizable-disabled ui-resizable-resizing\")\n\t\t\t\t.removeData(\"resizable\").removeData(\"ui-resizable\").unbind(\".resizable\").find('.ui-resizable-handle').remove();\n\t\t};\n\n\t\t//TODO: Unwrap at same DOM position\n\t\tif (this.elementIsWrapper) {\n\t\t\t_destroy(this.element);\n\t\t\tvar wrapper = this.element;\n\t\t\tthis.originalElement.css({\n\t\t\t\tposition: wrapper.css('position'),\n\t\t\t\twidth: wrapper.outerWidth(),\n\t\t\t\theight: wrapper.outerHeight(),\n\t\t\t\ttop: wrapper.css('top'),\n\t\t\t\tleft: wrapper.css('left')\n\t\t\t}).insertAfter( wrapper );\n\t\t\twrapper.remove();\n\t\t}\n\n\t\tthis.originalElement.css('resize', this.originalResizeStyle);\n\t\t_destroy(this.originalElement);\n\n\t\treturn this;\n\t},\n\n\t_mouseCapture: function(event) {\n\t\tvar handle = false;\n\t\tfor (var i in this.handles) {\n\t\t\tif ($(this.handles[i])[0] == event.target) {\n\t\t\t\thandle = true;\n\t\t\t}\n\t\t}\n\n\t\treturn !this.options.disabled && handle;\n\t},\n\n\t_mouseStart: function(event) {\n\n\t\tvar o = this.options, iniPos = this.element.position(), el = this.element;\n\n\t\tthis.resizing = true;\n\t\tthis.documentScroll = { top: $(document).scrollTop(), left: $(document).scrollLeft() };\n\n\t\t// bugfix for http://dev.jquery.com/ticket/1749\n\t\tif (el.is('.ui-draggable') || (/absolute/).test(el.css('position'))) {\n\t\t\tel.css({ position: 'absolute', top: iniPos.top, left: iniPos.left });\n\t\t}\n\n\t\tthis._renderProxy();\n\n\t\tvar curleft = num(this.helper.css('left')), curtop = num(this.helper.css('top'));\n\n\t\tif (o.containment) {\n\t\t\tcurleft += $(o.containment).scrollLeft() || 0;\n\t\t\tcurtop += $(o.containment).scrollTop() || 0;\n\t\t}\n\n\t\t//Store needed variables\n\t\tthis.offset = this.helper.offset();\n\t\tthis.position = { left: curleft, top: curtop };\n\t\tthis.size = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() };\n\t\tthis.originalSize = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() };\n\t\tthis.originalPosition = { left: curleft, top: curtop };\n\t\tthis.sizeDiff = { width: el.outerWidth() - el.width(), height: el.outerHeight() - el.height() };\n\t\tthis.originalMousePosition = { left: event.pageX, top: event.pageY };\n\n\t\t//Aspect Ratio\n\t\tthis.aspectRatio = (typeof o.aspectRatio == 'number') ? o.aspectRatio : ((this.originalSize.width / this.originalSize.height) || 1);\n\n\t\tvar cursor = $('.ui-resizable-' + this.axis).css('cursor');\n\t\t$('body').css('cursor', cursor == 'auto' ? this.axis + '-resize' : cursor);\n\n\t\tel.addClass(\"ui-resizable-resizing\");\n\t\tthis._propagate(\"start\", event);\n\t\treturn true;\n\t},\n\n\t_mouseDrag: function(event) {\n\n\t\t//Increase performance, avoid regex\n\t\tvar el = this.helper, o = this.options, props = {},\n\t\t\tthat = this, smp = this.originalMousePosition, a = this.axis;\n\n\t\tvar dx = (event.pageX-smp.left)||0, dy = (event.pageY-smp.top)||0;\n\t\tvar trigger = this._change[a];\n\t\tif (!trigger) return false;\n\n\t\t// Calculate the attrs that will be change\n\t\tvar data = trigger.apply(this, [event, dx, dy]);\n\n\t\t// Put this in the mouseDrag handler since the user can start pressing shift while resizing\n\t\tthis._updateVirtualBoundaries(event.shiftKey);\n\t\tif (this._aspectRatio || event.shiftKey)\n\t\t\tdata = this._updateRatio(data, event);\n\n\t\tdata = this._respectSize(data, event);\n\n\t\t// plugins callbacks need to be called first\n\t\tthis._propagate(\"resize\", event);\n\n\t\tel.css({\n\t\t\ttop: this.position.top + \"px\", left: this.position.left + \"px\",\n\t\t\twidth: this.size.width + \"px\", height: this.size.height + \"px\"\n\t\t});\n\n\t\tif (!this._helper && this._proportionallyResizeElements.length)\n\t\t\tthis._proportionallyResize();\n\n\t\tthis._updateCache(data);\n\n\t\t// calling the user callback at the end\n\t\tthis._trigger('resize', event, this.ui());\n\n\t\treturn false;\n\t},\n\n\t_mouseStop: function(event) {\n\n\t\tthis.resizing = false;\n\t\tvar o = this.options, that = this;\n\n\t\tif(this._helper) {\n\t\t\tvar pr = this._proportionallyResizeElements, ista = pr.length && (/textarea/i).test(pr[0].nodeName),\n\t\t\t\tsoffseth = ista && $.ui.hasScroll(pr[0], 'left') /* TODO - jump height */ ? 0 : that.sizeDiff.height,\n\t\t\t\tsoffsetw = ista ? 0 : that.sizeDiff.width;\n\n\t\t\tvar s = { width: (that.helper.width()  - soffsetw), height: (that.helper.height() - soffseth) },\n\t\t\t\tleft = (parseInt(that.element.css('left'), 10) + (that.position.left - that.originalPosition.left)) || null,\n\t\t\t\ttop = (parseInt(that.element.css('top'), 10) + (that.position.top - that.originalPosition.top)) || null;\n\n\t\t\tif (!o.animate)\n\t\t\t\tthis.element.css($.extend(s, { top: top, left: left }));\n\n\t\t\tthat.helper.height(that.size.height);\n\t\t\tthat.helper.width(that.size.width);\n\n\t\t\tif (this._helper && !o.animate) this._proportionallyResize();\n\t\t}\n\n\t\t$('body').css('cursor', 'auto');\n\n\t\tthis.element.removeClass(\"ui-resizable-resizing\");\n\n\t\tthis._propagate(\"stop\", event);\n\n\t\tif (this._helper) this.helper.remove();\n\t\treturn false;\n\n\t},\n\n\t_updateVirtualBoundaries: function(forceAspectRatio) {\n\t\tvar o = this.options, pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b;\n\n\t\tb = {\n\t\t\tminWidth: isNumber(o.minWidth) ? o.minWidth : 0,\n\t\t\tmaxWidth: isNumber(o.maxWidth) ? o.maxWidth : Infinity,\n\t\t\tminHeight: isNumber(o.minHeight) ? o.minHeight : 0,\n\t\t\tmaxHeight: isNumber(o.maxHeight) ? o.maxHeight : Infinity\n\t\t};\n\n\t\tif(this._aspectRatio || forceAspectRatio) {\n\t\t\t// We want to create an enclosing box whose aspect ration is the requested one\n\t\t\t// First, compute the \"projected\" size for each dimension based on the aspect ratio and other dimension\n\t\t\tpMinWidth = b.minHeight * this.aspectRatio;\n\t\t\tpMinHeight = b.minWidth / this.aspectRatio;\n\t\t\tpMaxWidth = b.maxHeight * this.aspectRatio;\n\t\t\tpMaxHeight = b.maxWidth / this.aspectRatio;\n\n\t\t\tif(pMinWidth > b.minWidth) b.minWidth = pMinWidth;\n\t\t\tif(pMinHeight > b.minHeight) b.minHeight = pMinHeight;\n\t\t\tif(pMaxWidth < b.maxWidth) b.maxWidth = pMaxWidth;\n\t\t\tif(pMaxHeight < b.maxHeight) b.maxHeight = pMaxHeight;\n\t\t}\n\t\tthis._vBoundaries = b;\n\t},\n\n\t_updateCache: function(data) {\n\t\tvar o = this.options;\n\t\tthis.offset = this.helper.offset();\n\t\tif (isNumber(data.left)) this.position.left = data.left;\n\t\tif (isNumber(data.top)) this.position.top = data.top;\n\t\tif (isNumber(data.height)) this.size.height = data.height;\n\t\tif (isNumber(data.width)) this.size.width = data.width;\n\t},\n\n\t_updateRatio: function(data, event) {\n\n\t\tvar o = this.options, cpos = this.position, csize = this.size, a = this.axis;\n\n\t\tif (isNumber(data.height)) data.width = (data.height * this.aspectRatio);\n\t\telse if (isNumber(data.width)) data.height = (data.width / this.aspectRatio);\n\n\t\tif (a == 'sw') {\n\t\t\tdata.left = cpos.left + (csize.width - data.width);\n\t\t\tdata.top = null;\n\t\t}\n\t\tif (a == 'nw') {\n\t\t\tdata.top = cpos.top + (csize.height - data.height);\n\t\t\tdata.left = cpos.left + (csize.width - data.width);\n\t\t}\n\n\t\treturn data;\n\t},\n\n\t_respectSize: function(data, event) {\n\n\t\tvar el = this.helper, o = this._vBoundaries, pRatio = this._aspectRatio || event.shiftKey, a = this.axis,\n\t\t\t\tismaxw = isNumber(data.width) && o.maxWidth && (o.maxWidth < data.width), ismaxh = isNumber(data.height) && o.maxHeight && (o.maxHeight < data.height),\n\t\t\t\t\tisminw = isNumber(data.width) && o.minWidth && (o.minWidth > data.width), isminh = isNumber(data.height) && o.minHeight && (o.minHeight > data.height);\n\n\t\tif (isminw) data.width = o.minWidth;\n\t\tif (isminh) data.height = o.minHeight;\n\t\tif (ismaxw) data.width = o.maxWidth;\n\t\tif (ismaxh) data.height = o.maxHeight;\n\n\t\tvar dw = this.originalPosition.left + this.originalSize.width, dh = this.position.top + this.size.height;\n\t\tvar cw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a);\n\n\t\tif (isminw && cw) data.left = dw - o.minWidth;\n\t\tif (ismaxw && cw) data.left = dw - o.maxWidth;\n\t\tif (isminh && ch)\tdata.top = dh - o.minHeight;\n\t\tif (ismaxh && ch)\tdata.top = dh - o.maxHeight;\n\n\t\t// fixing jump error on top/left - bug #2330\n\t\tvar isNotwh = !data.width && !data.height;\n\t\tif (isNotwh && !data.left && data.top) data.top = null;\n\t\telse if (isNotwh && !data.top && data.left) data.left = null;\n\n\t\treturn data;\n\t},\n\n\t_proportionallyResize: function() {\n\n\t\tvar o = this.options;\n\t\tif (!this._proportionallyResizeElements.length) return;\n\t\tvar element = this.helper || this.element;\n\n\t\tfor (var i=0; i < this._proportionallyResizeElements.length; i++) {\n\n\t\t\tvar prel = this._proportionallyResizeElements[i];\n\n\t\t\tif (!this.borderDif) {\n\t\t\t\tvar b = [prel.css('borderTopWidth'), prel.css('borderRightWidth'), prel.css('borderBottomWidth'), prel.css('borderLeftWidth')],\n\t\t\t\t\tp = [prel.css('paddingTop'), prel.css('paddingRight'), prel.css('paddingBottom'), prel.css('paddingLeft')];\n\n\t\t\t\tthis.borderDif = $.map(b, function(v, i) {\n\t\t\t\t\tvar border = parseInt(v,10)||0, padding = parseInt(p[i],10)||0;\n\t\t\t\t\treturn border + padding;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tprel.css({\n\t\t\t\theight: (element.height() - this.borderDif[0] - this.borderDif[2]) || 0,\n\t\t\t\twidth: (element.width() - this.borderDif[1] - this.borderDif[3]) || 0\n\t\t\t});\n\n\t\t};\n\n\t},\n\n\t_renderProxy: function() {\n\n\t\tvar el = this.element, o = this.options;\n\t\tthis.elementOffset = el.offset();\n\n\t\tif(this._helper) {\n\n\t\t\tthis.helper = this.helper || $('<div style=\"overflow:hidden;\"></div>');\n\n\t\t\t// fix ie6 offset TODO: This seems broken\n\t\t\tvar ie6offset = ($.ui.ie6 ? 1 : 0),\n\t\t\tpxyoffset = ( $.ui.ie6 ? 2 : -1 );\n\n\t\t\tthis.helper.addClass(this._helper).css({\n\t\t\t\twidth: this.element.outerWidth() + pxyoffset,\n\t\t\t\theight: this.element.outerHeight() + pxyoffset,\n\t\t\t\tposition: 'absolute',\n\t\t\t\tleft: this.elementOffset.left - ie6offset +'px',\n\t\t\t\ttop: this.elementOffset.top - ie6offset +'px',\n\t\t\t\tzIndex: ++o.zIndex //TODO: Don't modify option\n\t\t\t});\n\n\t\t\tthis.helper\n\t\t\t\t.appendTo(\"body\")\n\t\t\t\t.disableSelection();\n\n\t\t} else {\n\t\t\tthis.helper = this.element;\n\t\t}\n\n\t},\n\n\t_change: {\n\t\te: function(event, dx, dy) {\n\t\t\treturn { width: this.originalSize.width + dx };\n\t\t},\n\t\tw: function(event, dx, dy) {\n\t\t\tvar o = this.options, cs = this.originalSize, sp = this.originalPosition;\n\t\t\treturn { left: sp.left + dx, width: cs.width - dx };\n\t\t},\n\t\tn: function(event, dx, dy) {\n\t\t\tvar o = this.options, cs = this.originalSize, sp = this.originalPosition;\n\t\t\treturn { top: sp.top + dy, height: cs.height - dy };\n\t\t},\n\t\ts: function(event, dx, dy) {\n\t\t\treturn { height: this.originalSize.height + dy };\n\t\t},\n\t\tse: function(event, dx, dy) {\n\t\t\treturn $.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [event, dx, dy]));\n\t\t},\n\t\tsw: function(event, dx, dy) {\n\t\t\treturn $.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [event, dx, dy]));\n\t\t},\n\t\tne: function(event, dx, dy) {\n\t\t\treturn $.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [event, dx, dy]));\n\t\t},\n\t\tnw: function(event, dx, dy) {\n\t\t\treturn $.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [event, dx, dy]));\n\t\t}\n\t},\n\n\t_propagate: function(n, event) {\n\t\t$.ui.plugin.call(this, n, [event, this.ui()]);\n\t\t(n != \"resize\" && this._trigger(n, event, this.ui()));\n\t},\n\n\tplugins: {},\n\n\tui: function() {\n\t\treturn {\n\t\t\toriginalElement: this.originalElement,\n\t\t\telement: this.element,\n\t\t\thelper: this.helper,\n\t\t\tposition: this.position,\n\t\t\tsize: this.size,\n\t\t\toriginalSize: this.originalSize,\n\t\t\toriginalPosition: this.originalPosition\n\t\t};\n\t}\n\n});\n\n/*\n * Resizable Extensions\n */\n\n$.ui.plugin.add(\"resizable\", \"alsoResize\", {\n\n\tstart: function (event, ui) {\n\t\tvar that = $(this).data(\"resizable\"), o = that.options;\n\n\t\tvar _store = function (exp) {\n\t\t\t$(exp).each(function() {\n\t\t\t\tvar el = $(this);\n\t\t\t\tel.data(\"resizable-alsoresize\", {\n\t\t\t\t\twidth: parseInt(el.width(), 10), height: parseInt(el.height(), 10),\n\t\t\t\t\tleft: parseInt(el.css('left'), 10), top: parseInt(el.css('top'), 10)\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tif (typeof(o.alsoResize) == 'object' && !o.alsoResize.parentNode) {\n\t\t\tif (o.alsoResize.length) { o.alsoResize = o.alsoResize[0]; _store(o.alsoResize); }\n\t\t\telse { $.each(o.alsoResize, function (exp) { _store(exp); }); }\n\t\t}else{\n\t\t\t_store(o.alsoResize);\n\t\t}\n\t},\n\n\tresize: function (event, ui) {\n\t\tvar that = $(this).data(\"resizable\"), o = that.options, os = that.originalSize, op = that.originalPosition;\n\n\t\tvar delta = {\n\t\t\theight: (that.size.height - os.height) || 0, width: (that.size.width - os.width) || 0,\n\t\t\ttop: (that.position.top - op.top) || 0, left: (that.position.left - op.left) || 0\n\t\t},\n\n\t\t_alsoResize = function (exp, c) {\n\t\t\t$(exp).each(function() {\n\t\t\t\tvar el = $(this), start = $(this).data(\"resizable-alsoresize\"), style = {},\n\t\t\t\t\tcss = c && c.length ? c : el.parents(ui.originalElement[0]).length ? ['width', 'height'] : ['width', 'height', 'top', 'left'];\n\n\t\t\t\t$.each(css, function (i, prop) {\n\t\t\t\t\tvar sum = (start[prop]||0) + (delta[prop]||0);\n\t\t\t\t\tif (sum && sum >= 0)\n\t\t\t\t\t\tstyle[prop] = sum || null;\n\t\t\t\t});\n\n\t\t\t\tel.css(style);\n\t\t\t});\n\t\t};\n\n\t\tif (typeof(o.alsoResize) == 'object' && !o.alsoResize.nodeType) {\n\t\t\t$.each(o.alsoResize, function (exp, c) { _alsoResize(exp, c); });\n\t\t}else{\n\t\t\t_alsoResize(o.alsoResize);\n\t\t}\n\t},\n\n\tstop: function (event, ui) {\n\t\t$(this).removeData(\"resizable-alsoresize\");\n\t}\n});\n\n$.ui.plugin.add(\"resizable\", \"animate\", {\n\n\tstop: function(event, ui) {\n\t\tvar that = $(this).data(\"resizable\"), o = that.options;\n\n\t\tvar pr = that._proportionallyResizeElements, ista = pr.length && (/textarea/i).test(pr[0].nodeName),\n\t\t\t\t\tsoffseth = ista && $.ui.hasScroll(pr[0], 'left') /* TODO - jump height */ ? 0 : that.sizeDiff.height,\n\t\t\t\t\t\tsoffsetw = ista ? 0 : that.sizeDiff.width;\n\n\t\tvar style = { width: (that.size.width - soffsetw), height: (that.size.height - soffseth) },\n\t\t\t\t\tleft = (parseInt(that.element.css('left'), 10) + (that.position.left - that.originalPosition.left)) || null,\n\t\t\t\t\t\ttop = (parseInt(that.element.css('top'), 10) + (that.position.top - that.originalPosition.top)) || null;\n\n\t\tthat.element.animate(\n\t\t\t$.extend(style, top && left ? { top: top, left: left } : {}), {\n\t\t\t\tduration: o.animateDuration,\n\t\t\t\teasing: o.animateEasing,\n\t\t\t\tstep: function() {\n\n\t\t\t\t\tvar data = {\n\t\t\t\t\t\twidth: parseInt(that.element.css('width'), 10),\n\t\t\t\t\t\theight: parseInt(that.element.css('height'), 10),\n\t\t\t\t\t\ttop: parseInt(that.element.css('top'), 10),\n\t\t\t\t\t\tleft: parseInt(that.element.css('left'), 10)\n\t\t\t\t\t};\n\n\t\t\t\t\tif (pr && pr.length) $(pr[0]).css({ width: data.width, height: data.height });\n\n\t\t\t\t\t// propagating resize, and updating values for each animation step\n\t\t\t\t\tthat._updateCache(data);\n\t\t\t\t\tthat._propagate(\"resize\", event);\n\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n});\n\n$.ui.plugin.add(\"resizable\", \"containment\", {\n\n\tstart: function(event, ui) {\n\t\tvar that = $(this).data(\"resizable\"), o = that.options, el = that.element;\n\t\tvar oc = o.containment,\tce = (oc instanceof $) ? oc.get(0) : (/parent/.test(oc)) ? el.parent().get(0) : oc;\n\t\tif (!ce) return;\n\n\t\tthat.containerElement = $(ce);\n\n\t\tif (/document/.test(oc) || oc == document) {\n\t\t\tthat.containerOffset = { left: 0, top: 0 };\n\t\t\tthat.containerPosition = { left: 0, top: 0 };\n\n\t\t\tthat.parentData = {\n\t\t\t\telement: $(document), left: 0, top: 0,\n\t\t\t\twidth: $(document).width(), height: $(document).height() || document.body.parentNode.scrollHeight\n\t\t\t};\n\t\t}\n\n\t\t// i'm a node, so compute top, left, right, bottom\n\t\telse {\n\t\t\tvar element = $(ce), p = [];\n\t\t\t$([ \"Top\", \"Right\", \"Left\", \"Bottom\" ]).each(function(i, name) { p[i] = num(element.css(\"padding\" + name)); });\n\n\t\t\tthat.containerOffset = element.offset();\n\t\t\tthat.containerPosition = element.position();\n\t\t\tthat.containerSize = { height: (element.innerHeight() - p[3]), width: (element.innerWidth() - p[1]) };\n\n\t\t\tvar co = that.containerOffset, ch = that.containerSize.height,\tcw = that.containerSize.width,\n\t\t\t\t\t\twidth = ($.ui.hasScroll(ce, \"left\") ? ce.scrollWidth : cw ), height = ($.ui.hasScroll(ce) ? ce.scrollHeight : ch);\n\n\t\t\tthat.parentData = {\n\t\t\t\telement: ce, left: co.left, top: co.top, width: width, height: height\n\t\t\t};\n\t\t}\n\t},\n\n\tresize: function(event, ui) {\n\t\tvar that = $(this).data(\"resizable\"), o = that.options,\n\t\t\t\tps = that.containerSize, co = that.containerOffset, cs = that.size, cp = that.position,\n\t\t\t\tpRatio = that._aspectRatio || event.shiftKey, cop = { top:0, left:0 }, ce = that.containerElement;\n\n\t\tif (ce[0] != document && (/static/).test(ce.css('position'))) cop = co;\n\n\t\tif (cp.left < (that._helper ? co.left : 0)) {\n\t\t\tthat.size.width = that.size.width + (that._helper ? (that.position.left - co.left) : (that.position.left - cop.left));\n\t\t\tif (pRatio) that.size.height = that.size.width / that.aspectRatio;\n\t\t\tthat.position.left = o.helper ? co.left : 0;\n\t\t}\n\n\t\tif (cp.top < (that._helper ? co.top : 0)) {\n\t\t\tthat.size.height = that.size.height + (that._helper ? (that.position.top - co.top) : that.position.top);\n\t\t\tif (pRatio) that.size.width = that.size.height * that.aspectRatio;\n\t\t\tthat.position.top = that._helper ? co.top : 0;\n\t\t}\n\n\t\tthat.offset.left = that.parentData.left+that.position.left;\n\t\tthat.offset.top = that.parentData.top+that.position.top;\n\n\t\tvar woset = Math.abs( (that._helper ? that.offset.left - cop.left : (that.offset.left - cop.left)) + that.sizeDiff.width ),\n\t\t\t\t\thoset = Math.abs( (that._helper ? that.offset.top - cop.top : (that.offset.top - co.top)) + that.sizeDiff.height );\n\n\t\tvar isParent = that.containerElement.get(0) == that.element.parent().get(0),\n\t\t\tisOffsetRelative = /relative|absolute/.test(that.containerElement.css('position'));\n\n\t\tif(isParent && isOffsetRelative) woset -= that.parentData.left;\n\n\t\tif (woset + that.size.width >= that.parentData.width) {\n\t\t\tthat.size.width = that.parentData.width - woset;\n\t\t\tif (pRatio) that.size.height = that.size.width / that.aspectRatio;\n\t\t}\n\n\t\tif (hoset + that.size.height >= that.parentData.height) {\n\t\t\tthat.size.height = that.parentData.height - hoset;\n\t\t\tif (pRatio) that.size.width = that.size.height * that.aspectRatio;\n\t\t}\n\t},\n\n\tstop: function(event, ui){\n\t\tvar that = $(this).data(\"resizable\"), o = that.options, cp = that.position,\n\t\t\t\tco = that.containerOffset, cop = that.containerPosition, ce = that.containerElement;\n\n\t\tvar helper = $(that.helper), ho = helper.offset(), w = helper.outerWidth() - that.sizeDiff.width, h = helper.outerHeight() - that.sizeDiff.height;\n\n\t\tif (that._helper && !o.animate && (/relative/).test(ce.css('position')))\n\t\t\t$(this).css({ left: ho.left - cop.left - co.left, width: w, height: h });\n\n\t\tif (that._helper && !o.animate && (/static/).test(ce.css('position')))\n\t\t\t$(this).css({ left: ho.left - cop.left - co.left, width: w, height: h });\n\n\t}\n});\n\n$.ui.plugin.add(\"resizable\", \"ghost\", {\n\n\tstart: function(event, ui) {\n\n\t\tvar that = $(this).data(\"resizable\"), o = that.options, cs = that.size;\n\n\t\tthat.ghost = that.originalElement.clone();\n\t\tthat.ghost\n\t\t\t.css({ opacity: .25, display: 'block', position: 'relative', height: cs.height, width: cs.width, margin: 0, left: 0, top: 0 })\n\t\t\t.addClass('ui-resizable-ghost')\n\t\t\t.addClass(typeof o.ghost == 'string' ? o.ghost : '');\n\n\t\tthat.ghost.appendTo(that.helper);\n\n\t},\n\n\tresize: function(event, ui){\n\t\tvar that = $(this).data(\"resizable\"), o = that.options;\n\t\tif (that.ghost) that.ghost.css({ position: 'relative', height: that.size.height, width: that.size.width });\n\t},\n\n\tstop: function(event, ui){\n\t\tvar that = $(this).data(\"resizable\"), o = that.options;\n\t\tif (that.ghost && that.helper) that.helper.get(0).removeChild(that.ghost.get(0));\n\t}\n\n});\n\n$.ui.plugin.add(\"resizable\", \"grid\", {\n\n\tresize: function(event, ui) {\n\t\tvar that = $(this).data(\"resizable\"), o = that.options, cs = that.size, os = that.originalSize, op = that.originalPosition, a = that.axis, ratio = o._aspectRatio || event.shiftKey;\n\t\to.grid = typeof o.grid == \"number\" ? [o.grid, o.grid] : o.grid;\n\t\tvar ox = Math.round((cs.width - os.width) / (o.grid[0]||1)) * (o.grid[0]||1), oy = Math.round((cs.height - os.height) / (o.grid[1]||1)) * (o.grid[1]||1);\n\n\t\tif (/^(se|s|e)$/.test(a)) {\n\t\t\tthat.size.width = os.width + ox;\n\t\t\tthat.size.height = os.height + oy;\n\t\t}\n\t\telse if (/^(ne)$/.test(a)) {\n\t\t\tthat.size.width = os.width + ox;\n\t\t\tthat.size.height = os.height + oy;\n\t\t\tthat.position.top = op.top - oy;\n\t\t}\n\t\telse if (/^(sw)$/.test(a)) {\n\t\t\tthat.size.width = os.width + ox;\n\t\t\tthat.size.height = os.height + oy;\n\t\t\tthat.position.left = op.left - ox;\n\t\t}\n\t\telse {\n\t\t\tthat.size.width = os.width + ox;\n\t\t\tthat.size.height = os.height + oy;\n\t\t\tthat.position.top = op.top - oy;\n\t\t\tthat.position.left = op.left - ox;\n\t\t}\n\t}\n\n});\n\nvar num = function(v) {\n\treturn parseInt(v, 10) || 0;\n};\n\nvar isNumber = function(value) {\n\treturn !isNaN(parseInt(value, 10));\n};\n\n})(jQuery);\n(function( $, undefined ) {\n\n$.widget(\"ui.selectable\", $.ui.mouse, {\n\tversion: \"1.9.2\",\n\toptions: {\n\t\tappendTo: 'body',\n\t\tautoRefresh: true,\n\t\tdistance: 0,\n\t\tfilter: '*',\n\t\ttolerance: 'touch'\n\t},\n\t_create: function() {\n\t\tvar that = this;\n\n\t\tthis.element.addClass(\"ui-selectable\");\n\n\t\tthis.dragged = false;\n\n\t\t// cache selectee children based on filter\n\t\tvar selectees;\n\t\tthis.refresh = function() {\n\t\t\tselectees = $(that.options.filter, that.element[0]);\n\t\t\tselectees.addClass(\"ui-selectee\");\n\t\t\tselectees.each(function() {\n\t\t\t\tvar $this = $(this);\n\t\t\t\tvar pos = $this.offset();\n\t\t\t\t$.data(this, \"selectable-item\", {\n\t\t\t\t\telement: this,\n\t\t\t\t\t$element: $this,\n\t\t\t\t\tleft: pos.left,\n\t\t\t\t\ttop: pos.top,\n\t\t\t\t\tright: pos.left + $this.outerWidth(),\n\t\t\t\t\tbottom: pos.top + $this.outerHeight(),\n\t\t\t\t\tstartselected: false,\n\t\t\t\t\tselected: $this.hasClass('ui-selected'),\n\t\t\t\t\tselecting: $this.hasClass('ui-selecting'),\n\t\t\t\t\tunselecting: $this.hasClass('ui-unselecting')\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\t\tthis.refresh();\n\n\t\tthis.selectees = selectees.addClass(\"ui-selectee\");\n\n\t\tthis._mouseInit();\n\n\t\tthis.helper = $(\"<div class='ui-selectable-helper'></div>\");\n\t},\n\n\t_destroy: function() {\n\t\tthis.selectees\n\t\t\t.removeClass(\"ui-selectee\")\n\t\t\t.removeData(\"selectable-item\");\n\t\tthis.element\n\t\t\t.removeClass(\"ui-selectable ui-selectable-disabled\");\n\t\tthis._mouseDestroy();\n\t},\n\n\t_mouseStart: function(event) {\n\t\tvar that = this;\n\n\t\tthis.opos = [event.pageX, event.pageY];\n\n\t\tif (this.options.disabled)\n\t\t\treturn;\n\n\t\tvar options = this.options;\n\n\t\tthis.selectees = $(options.filter, this.element[0]);\n\n\t\tthis._trigger(\"start\", event);\n\n\t\t$(options.appendTo).append(this.helper);\n\t\t// position helper (lasso)\n\t\tthis.helper.css({\n\t\t\t\"left\": event.clientX,\n\t\t\t\"top\": event.clientY,\n\t\t\t\"width\": 0,\n\t\t\t\"height\": 0\n\t\t});\n\n\t\tif (options.autoRefresh) {\n\t\t\tthis.refresh();\n\t\t}\n\n\t\tthis.selectees.filter('.ui-selected').each(function() {\n\t\t\tvar selectee = $.data(this, \"selectable-item\");\n\t\t\tselectee.startselected = true;\n\t\t\tif (!event.metaKey && !event.ctrlKey) {\n\t\t\t\tselectee.$element.removeClass('ui-selected');\n\t\t\t\tselectee.selected = false;\n\t\t\t\tselectee.$element.addClass('ui-unselecting');\n\t\t\t\tselectee.unselecting = true;\n\t\t\t\t// selectable UNSELECTING callback\n\t\t\t\tthat._trigger(\"unselecting\", event, {\n\t\t\t\t\tunselecting: selectee.element\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\t$(event.target).parents().andSelf().each(function() {\n\t\t\tvar selectee = $.data(this, \"selectable-item\");\n\t\t\tif (selectee) {\n\t\t\t\tvar doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass('ui-selected');\n\t\t\t\tselectee.$element\n\t\t\t\t\t.removeClass(doSelect ? \"ui-unselecting\" : \"ui-selected\")\n\t\t\t\t\t.addClass(doSelect ? \"ui-selecting\" : \"ui-unselecting\");\n\t\t\t\tselectee.unselecting = !doSelect;\n\t\t\t\tselectee.selecting = doSelect;\n\t\t\t\tselectee.selected = doSelect;\n\t\t\t\t// selectable (UN)SELECTING callback\n\t\t\t\tif (doSelect) {\n\t\t\t\t\tthat._trigger(\"selecting\", event, {\n\t\t\t\t\t\tselecting: selectee.element\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthat._trigger(\"unselecting\", event, {\n\t\t\t\t\t\tunselecting: selectee.element\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t},\n\n\t_mouseDrag: function(event) {\n\t\tvar that = this;\n\t\tthis.dragged = true;\n\n\t\tif (this.options.disabled)\n\t\t\treturn;\n\n\t\tvar options = this.options;\n\n\t\tvar x1 = this.opos[0], y1 = this.opos[1], x2 = event.pageX, y2 = event.pageY;\n\t\tif (x1 > x2) { var tmp = x2; x2 = x1; x1 = tmp; }\n\t\tif (y1 > y2) { var tmp = y2; y2 = y1; y1 = tmp; }\n\t\tthis.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1});\n\n\t\tthis.selectees.each(function() {\n\t\t\tvar selectee = $.data(this, \"selectable-item\");\n\t\t\t//prevent helper from being selected if appendTo: selectable\n\t\t\tif (!selectee || selectee.element == that.element[0])\n\t\t\t\treturn;\n\t\t\tvar hit = false;\n\t\t\tif (options.tolerance == 'touch') {\n\t\t\t\thit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );\n\t\t\t} else if (options.tolerance == 'fit') {\n\t\t\t\thit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);\n\t\t\t}\n\n\t\t\tif (hit) {\n\t\t\t\t// SELECT\n\t\t\t\tif (selectee.selected) {\n\t\t\t\t\tselectee.$element.removeClass('ui-selected');\n\t\t\t\t\tselectee.selected = false;\n\t\t\t\t}\n\t\t\t\tif (selectee.unselecting) {\n\t\t\t\t\tselectee.$element.removeClass('ui-unselecting');\n\t\t\t\t\tselectee.unselecting = false;\n\t\t\t\t}\n\t\t\t\tif (!selectee.selecting) {\n\t\t\t\t\tselectee.$element.addClass('ui-selecting');\n\t\t\t\t\tselectee.selecting = true;\n\t\t\t\t\t// selectable SELECTING callback\n\t\t\t\t\tthat._trigger(\"selecting\", event, {\n\t\t\t\t\t\tselecting: selectee.element\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// UNSELECT\n\t\t\t\tif (selectee.selecting) {\n\t\t\t\t\tif ((event.metaKey || event.ctrlKey) && selectee.startselected) {\n\t\t\t\t\t\tselectee.$element.removeClass('ui-selecting');\n\t\t\t\t\t\tselectee.selecting = false;\n\t\t\t\t\t\tselectee.$element.addClass('ui-selected');\n\t\t\t\t\t\tselectee.selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tselectee.$element.removeClass('ui-selecting');\n\t\t\t\t\t\tselectee.selecting = false;\n\t\t\t\t\t\tif (selectee.startselected) {\n\t\t\t\t\t\t\tselectee.$element.addClass('ui-unselecting');\n\t\t\t\t\t\t\tselectee.unselecting = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// selectable UNSELECTING callback\n\t\t\t\t\t\tthat._trigger(\"unselecting\", event, {\n\t\t\t\t\t\t\tunselecting: selectee.element\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (selectee.selected) {\n\t\t\t\t\tif (!event.metaKey && !event.ctrlKey && !selectee.startselected) {\n\t\t\t\t\t\tselectee.$element.removeClass('ui-selected');\n\t\t\t\t\t\tselectee.selected = false;\n\n\t\t\t\t\t\tselectee.$element.addClass('ui-unselecting');\n\t\t\t\t\t\tselectee.unselecting = true;\n\t\t\t\t\t\t// selectable UNSELECTING callback\n\t\t\t\t\t\tthat._trigger(\"unselecting\", event, {\n\t\t\t\t\t\t\tunselecting: selectee.element\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn false;\n\t},\n\n\t_mouseStop: function(event) {\n\t\tvar that = this;\n\n\t\tthis.dragged = false;\n\n\t\tvar options = this.options;\n\n\t\t$('.ui-unselecting', this.element[0]).each(function() {\n\t\t\tvar selectee = $.data(this, \"selectable-item\");\n\t\t\tselectee.$element.removeClass('ui-unselecting');\n\t\t\tselectee.unselecting = false;\n\t\t\tselectee.startselected = false;\n\t\t\tthat._trigger(\"unselected\", event, {\n\t\t\t\tunselected: selectee.element\n\t\t\t});\n\t\t});\n\t\t$('.ui-selecting', this.element[0]).each(function() {\n\t\t\tvar selectee = $.data(this, \"selectable-item\");\n\t\t\tselectee.$element.removeClass('ui-selecting').addClass('ui-selected');\n\t\t\tselectee.selecting = false;\n\t\t\tselectee.selected = true;\n\t\t\tselectee.startselected = true;\n\t\t\tthat._trigger(\"selected\", event, {\n\t\t\t\tselected: selectee.element\n\t\t\t});\n\t\t});\n\t\tthis._trigger(\"stop\", event);\n\n\t\tthis.helper.remove();\n\n\t\treturn false;\n\t}\n\n});\n\n})(jQuery);\n(function( $, undefined ) {\n\n// number of pages in a slider\n// (how many times can you page up/down to go through the whole range)\nvar numPages = 5;\n\n$.widget( \"ui.slider\", $.ui.mouse, {\n\tversion: \"1.9.2\",\n\twidgetEventPrefix: \"slide\",\n\n\toptions: {\n\t\tanimate: false,\n\t\tdistance: 0,\n\t\tmax: 100,\n\t\tmin: 0,\n\t\torientation: \"horizontal\",\n\t\trange: false,\n\t\tstep: 1,\n\t\tvalue: 0,\n\t\tvalues: null\n\t},\n\n\t_create: function() {\n\t\tvar i, handleCount,\n\t\t\to = this.options,\n\t\t\texistingHandles = this.element.find( \".ui-slider-handle\" ).addClass( \"ui-state-default ui-corner-all\" ),\n\t\t\thandle = \"<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>\",\n\t\t\thandles = [];\n\n\t\tthis._keySliding = false;\n\t\tthis._mouseSliding = false;\n\t\tthis._animateOff = true;\n\t\tthis._handleIndex = null;\n\t\tthis._detectOrientation();\n\t\tthis._mouseInit();\n\n\t\tthis.element\n\t\t\t.addClass( \"ui-slider\" +\n\t\t\t\t\" ui-slider-\" + this.orientation +\n\t\t\t\t\" ui-widget\" +\n\t\t\t\t\" ui-widget-content\" +\n\t\t\t\t\" ui-corner-all\" +\n\t\t\t\t( o.disabled ? \" ui-slider-disabled ui-disabled\" : \"\" ) );\n\n\t\tthis.range = $([]);\n\n\t\tif ( o.range ) {\n\t\t\tif ( o.range === true ) {\n\t\t\t\tif ( !o.values ) {\n\t\t\t\t\to.values = [ this._valueMin(), this._valueMin() ];\n\t\t\t\t}\n\t\t\t\tif ( o.values.length && o.values.length !== 2 ) {\n\t\t\t\t\to.values = [ o.values[0], o.values[0] ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.range = $( \"<div></div>\" )\n\t\t\t\t.appendTo( this.element )\n\t\t\t\t.addClass( \"ui-slider-range\" +\n\t\t\t\t// note: this isn't the most fittingly semantic framework class for this element,\n\t\t\t\t// but worked best visually with a variety of themes\n\t\t\t\t\" ui-widget-header\" +\n\t\t\t\t( ( o.range === \"min\" || o.range === \"max\" ) ? \" ui-slider-range-\" + o.range : \"\" ) );\n\t\t}\n\n\t\thandleCount = ( o.values && o.values.length ) || 1;\n\n\t\tfor ( i = existingHandles.length; i < handleCount; i++ ) {\n\t\t\thandles.push( handle );\n\t\t}\n\n\t\tthis.handles = existingHandles.add( $( handles.join( \"\" ) ).appendTo( this.element ) );\n\n\t\tthis.handle = this.handles.eq( 0 );\n\n\t\tthis.handles.add( this.range ).filter( \"a\" )\n\t\t\t.click(function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t})\n\t\t\t.mouseenter(function() {\n\t\t\t\tif ( !o.disabled ) {\n\t\t\t\t\t$( this ).addClass( \"ui-state-hover\" );\n\t\t\t\t}\n\t\t\t})\n\t\t\t.mouseleave(function() {\n\t\t\t\t$( this ).removeClass( \"ui-state-hover\" );\n\t\t\t})\n\t\t\t.focus(function() {\n\t\t\t\tif ( !o.disabled ) {\n\t\t\t\t\t$( \".ui-slider .ui-state-focus\" ).removeClass( \"ui-state-focus\" );\n\t\t\t\t\t$( this ).addClass( \"ui-state-focus\" );\n\t\t\t\t} else {\n\t\t\t\t\t$( this ).blur();\n\t\t\t\t}\n\t\t\t})\n\t\t\t.blur(function() {\n\t\t\t\t$( this ).removeClass( \"ui-state-focus\" );\n\t\t\t});\n\n\t\tthis.handles.each(function( i ) {\n\t\t\t$( this ).data( \"ui-slider-handle-index\", i );\n\t\t});\n\n\t\tthis._on( this.handles, {\n\t\t\tkeydown: function( event ) {\n\t\t\t\tvar allowed, curVal, newVal, step,\n\t\t\t\t\tindex = $( event.target ).data( \"ui-slider-handle-index\" );\n\n\t\t\t\tswitch ( event.keyCode ) {\n\t\t\t\t\tcase $.ui.keyCode.HOME:\n\t\t\t\t\tcase $.ui.keyCode.END:\n\t\t\t\t\tcase $.ui.keyCode.PAGE_UP:\n\t\t\t\t\tcase $.ui.keyCode.PAGE_DOWN:\n\t\t\t\t\tcase $.ui.keyCode.UP:\n\t\t\t\t\tcase $.ui.keyCode.RIGHT:\n\t\t\t\t\tcase $.ui.keyCode.DOWN:\n\t\t\t\t\tcase $.ui.keyCode.LEFT:\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tif ( !this._keySliding ) {\n\t\t\t\t\t\t\tthis._keySliding = true;\n\t\t\t\t\t\t\t$( event.target ).addClass( \"ui-state-active\" );\n\t\t\t\t\t\t\tallowed = this._start( event, index );\n\t\t\t\t\t\t\tif ( allowed === false ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tstep = this.options.step;\n\t\t\t\tif ( this.options.values && this.options.values.length ) {\n\t\t\t\t\tcurVal = newVal = this.values( index );\n\t\t\t\t} else {\n\t\t\t\t\tcurVal = newVal = this.value();\n\t\t\t\t}\n\n\t\t\t\tswitch ( event.keyCode ) {\n\t\t\t\t\tcase $.ui.keyCode.HOME:\n\t\t\t\t\t\tnewVal = this._valueMin();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase $.ui.keyCode.END:\n\t\t\t\t\t\tnewVal = this._valueMax();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase $.ui.keyCode.PAGE_UP:\n\t\t\t\t\t\tnewVal = this._trimAlignValue( curVal + ( (this._valueMax() - this._valueMin()) / numPages ) );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase $.ui.keyCode.PAGE_DOWN:\n\t\t\t\t\t\tnewVal = this._trimAlignValue( curVal - ( (this._valueMax() - this._valueMin()) / numPages ) );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase $.ui.keyCode.UP:\n\t\t\t\t\tcase $.ui.keyCode.RIGHT:\n\t\t\t\t\t\tif ( curVal === this._valueMax() ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnewVal = this._trimAlignValue( curVal + step );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase $.ui.keyCode.DOWN:\n\t\t\t\t\tcase $.ui.keyCode.LEFT:\n\t\t\t\t\t\tif ( curVal === this._valueMin() ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnewVal = this._trimAlignValue( curVal - step );\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tthis._slide( event, index, newVal );\n\t\t\t},\n\t\t\tkeyup: function( event ) {\n\t\t\t\tvar index = $( event.target ).data( \"ui-slider-handle-index\" );\n\n\t\t\t\tif ( this._keySliding ) {\n\t\t\t\t\tthis._keySliding = false;\n\t\t\t\t\tthis._stop( event, index );\n\t\t\t\t\tthis._change( event, index );\n\t\t\t\t\t$( event.target ).removeClass( \"ui-state-active\" );\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis._refreshValue();\n\n\t\tthis._animateOff = false;\n\t},\n\n\t_destroy: function() {\n\t\tthis.handles.remove();\n\t\tthis.range.remove();\n\n\t\tthis.element\n\t\t\t.removeClass( \"ui-slider\" +\n\t\t\t\t\" ui-slider-horizontal\" +\n\t\t\t\t\" ui-slider-vertical\" +\n\t\t\t\t\" ui-slider-disabled\" +\n\t\t\t\t\" ui-widget\" +\n\t\t\t\t\" ui-widget-content\" +\n\t\t\t\t\" ui-corner-all\" );\n\n\t\tthis._mouseDestroy();\n\t},\n\n\t_mouseCapture: function( event ) {\n\t\tvar position, normValue, distance, closestHandle, index, allowed, offset, mouseOverHandle,\n\t\t\tthat = this,\n\t\t\to = this.options;\n\n\t\tif ( o.disabled ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.elementSize = {\n\t\t\twidth: this.element.outerWidth(),\n\t\t\theight: this.element.outerHeight()\n\t\t};\n\t\tthis.elementOffset = this.element.offset();\n\n\t\tposition = { x: event.pageX, y: event.pageY };\n\t\tnormValue = this._normValueFromMouse( position );\n\t\tdistance = this._valueMax() - this._valueMin() + 1;\n\t\tthis.handles.each(function( i ) {\n\t\t\tvar thisDistance = Math.abs( normValue - that.values(i) );\n\t\t\tif ( distance > thisDistance ) {\n\t\t\t\tdistance = thisDistance;\n\t\t\t\tclosestHandle = $( this );\n\t\t\t\tindex = i;\n\t\t\t}\n\t\t});\n\n\t\t// workaround for bug #3736 (if both handles of a range are at 0,\n\t\t// the first is always used as the one with least distance,\n\t\t// and moving it is obviously prevented by preventing negative ranges)\n\t\tif( o.range === true && this.values(1) === o.min ) {\n\t\t\tindex += 1;\n\t\t\tclosestHandle = $( this.handles[index] );\n\t\t}\n\n\t\tallowed = this._start( event, index );\n\t\tif ( allowed === false ) {\n\t\t\treturn false;\n\t\t}\n\t\tthis._mouseSliding = true;\n\n\t\tthis._handleIndex = index;\n\n\t\tclosestHandle\n\t\t\t.addClass( \"ui-state-active\" )\n\t\t\t.focus();\n\n\t\toffset = closestHandle.offset();\n\t\tmouseOverHandle = !$( event.target ).parents().andSelf().is( \".ui-slider-handle\" );\n\t\tthis._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : {\n\t\t\tleft: event.pageX - offset.left - ( closestHandle.width() / 2 ),\n\t\t\ttop: event.pageY - offset.top -\n\t\t\t\t( closestHandle.height() / 2 ) -\n\t\t\t\t( parseInt( closestHandle.css(\"borderTopWidth\"), 10 ) || 0 ) -\n\t\t\t\t( parseInt( closestHandle.css(\"borderBottomWidth\"), 10 ) || 0) +\n\t\t\t\t( parseInt( closestHandle.css(\"marginTop\"), 10 ) || 0)\n\t\t};\n\n\t\tif ( !this.handles.hasClass( \"ui-state-hover\" ) ) {\n\t\t\tthis._slide( event, index, normValue );\n\t\t}\n\t\tthis._animateOff = true;\n\t\treturn true;\n\t},\n\n\t_mouseStart: function() {\n\t\treturn true;\n\t},\n\n\t_mouseDrag: function( event ) {\n\t\tvar position = { x: event.pageX, y: event.pageY },\n\t\t\tnormValue = this._normValueFromMouse( position );\n\n\t\tthis._slide( event, this._handleIndex, normValue );\n\n\t\treturn false;\n\t},\n\n\t_mouseStop: function( event ) {\n\t\tthis.handles.removeClass( \"ui-state-active\" );\n\t\tthis._mouseSliding = false;\n\n\t\tthis._stop( event, this._handleIndex );\n\t\tthis._change( event, this._handleIndex );\n\n\t\tthis._handleIndex = null;\n\t\tthis._clickOffset = null;\n\t\tthis._animateOff = false;\n\n\t\treturn false;\n\t},\n\n\t_detectOrientation: function() {\n\t\tthis.orientation = ( this.options.orientation === \"vertical\" ) ? \"vertical\" : \"horizontal\";\n\t},\n\n\t_normValueFromMouse: function( position ) {\n\t\tvar pixelTotal,\n\t\t\tpixelMouse,\n\t\t\tpercentMouse,\n\t\t\tvalueTotal,\n\t\t\tvalueMouse;\n\n\t\tif ( this.orientation === \"horizontal\" ) {\n\t\t\tpixelTotal = this.elementSize.width;\n\t\t\tpixelMouse = position.x - this.elementOffset.left - ( this._clickOffset ? this._clickOffset.left : 0 );\n\t\t} else {\n\t\t\tpixelTotal = this.elementSize.height;\n\t\t\tpixelMouse = position.y - this.elementOffset.top - ( this._clickOffset ? this._clickOffset.top : 0 );\n\t\t}\n\n\t\tpercentMouse = ( pixelMouse / pixelTotal );\n\t\tif ( percentMouse > 1 ) {\n\t\t\tpercentMouse = 1;\n\t\t}\n\t\tif ( percentMouse < 0 ) {\n\t\t\tpercentMouse = 0;\n\t\t}\n\t\tif ( this.orientation === \"vertical\" ) {\n\t\t\tpercentMouse = 1 - percentMouse;\n\t\t}\n\n\t\tvalueTotal = this._valueMax() - this._valueMin();\n\t\tvalueMouse = this._valueMin() + percentMouse * valueTotal;\n\n\t\treturn this._trimAlignValue( valueMouse );\n\t},\n\n\t_start: function( event, index ) {\n\t\tvar uiHash = {\n\t\t\thandle: this.handles[ index ],\n\t\t\tvalue: this.value()\n\t\t};\n\t\tif ( this.options.values && this.options.values.length ) {\n\t\t\tuiHash.value = this.values( index );\n\t\t\tuiHash.values = this.values();\n\t\t}\n\t\treturn this._trigger( \"start\", event, uiHash );\n\t},\n\n\t_slide: function( event, index, newVal ) {\n\t\tvar otherVal,\n\t\t\tnewValues,\n\t\t\tallowed;\n\n\t\tif ( this.options.values && this.options.values.length ) {\n\t\t\totherVal = this.values( index ? 0 : 1 );\n\n\t\t\tif ( ( this.options.values.length === 2 && this.options.range === true ) &&\n\t\t\t\t\t( ( index === 0 && newVal > otherVal) || ( index === 1 && newVal < otherVal ) )\n\t\t\t\t) {\n\t\t\t\tnewVal = otherVal;\n\t\t\t}\n\n\t\t\tif ( newVal !== this.values( index ) ) {\n\t\t\t\tnewValues = this.values();\n\t\t\t\tnewValues[ index ] = newVal;\n\t\t\t\t// A slide can be canceled by returning false from the slide callback\n\t\t\t\tallowed = this._trigger( \"slide\", event, {\n\t\t\t\t\thandle: this.handles[ index ],\n\t\t\t\t\tvalue: newVal,\n\t\t\t\t\tvalues: newValues\n\t\t\t\t} );\n\t\t\t\totherVal = this.values( index ? 0 : 1 );\n\t\t\t\tif ( allowed !== false ) {\n\t\t\t\t\tthis.values( index, newVal, true );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif ( newVal !== this.value() ) {\n\t\t\t\t// A slide can be canceled by returning false from the slide callback\n\t\t\t\tallowed = this._trigger( \"slide\", event, {\n\t\t\t\t\thandle: this.handles[ index ],\n\t\t\t\t\tvalue: newVal\n\t\t\t\t} );\n\t\t\t\tif ( allowed !== false ) {\n\t\t\t\t\tthis.value( newVal );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t_stop: function( event, index ) {\n\t\tvar uiHash = {\n\t\t\thandle: this.handles[ index ],\n\t\t\tvalue: this.value()\n\t\t};\n\t\tif ( this.options.values && this.options.values.length ) {\n\t\t\tuiHash.value = this.values( index );\n\t\t\tuiHash.values = this.values();\n\t\t}\n\n\t\tthis._trigger( \"stop\", event, uiHash );\n\t},\n\n\t_change: function( event, index ) {\n\t\tif ( !this._keySliding && !this._mouseSliding ) {\n\t\t\tvar uiHash = {\n\t\t\t\thandle: this.handles[ index ],\n\t\t\t\tvalue: this.value()\n\t\t\t};\n\t\t\tif ( this.options.values && this.options.values.length ) {\n\t\t\t\tuiHash.value = this.values( index );\n\t\t\t\tuiHash.values = this.values();\n\t\t\t}\n\n\t\t\tthis._trigger( \"change\", event, uiHash );\n\t\t}\n\t},\n\n\tvalue: function( newValue ) {\n\t\tif ( arguments.length ) {\n\t\t\tthis.options.value = this._trimAlignValue( newValue );\n\t\t\tthis._refreshValue();\n\t\t\tthis._change( null, 0 );\n\t\t\treturn;\n\t\t}\n\n\t\treturn this._value();\n\t},\n\n\tvalues: function( index, newValue ) {\n\t\tvar vals,\n\t\t\tnewValues,\n\t\t\ti;\n\n\t\tif ( arguments.length > 1 ) {\n\t\t\tthis.options.values[ index ] = this._trimAlignValue( newValue );\n\t\t\tthis._refreshValue();\n\t\t\tthis._change( null, index );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( arguments.length ) {\n\t\t\tif ( $.isArray( arguments[ 0 ] ) ) {\n\t\t\t\tvals = this.options.values;\n\t\t\t\tnewValues = arguments[ 0 ];\n\t\t\t\tfor ( i = 0; i < vals.length; i += 1 ) {\n\t\t\t\t\tvals[ i ] = this._trimAlignValue( newValues[ i ] );\n\t\t\t\t\tthis._change( null, i );\n\t\t\t\t}\n\t\t\t\tthis._refreshValue();\n\t\t\t} else {\n\t\t\t\tif ( this.options.values && this.options.values.length ) {\n\t\t\t\t\treturn this._values( index );\n\t\t\t\t} else {\n\t\t\t\t\treturn this.value();\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\treturn this._values();\n\t\t}\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tvar i,\n\t\t\tvalsLength = 0;\n\n\t\tif ( $.isArray( this.options.values ) ) {\n\t\t\tvalsLength = this.options.values.length;\n\t\t}\n\n\t\t$.Widget.prototype._setOption.apply( this, arguments );\n\n\t\tswitch ( key ) {\n\t\t\tcase \"disabled\":\n\t\t\t\tif ( value ) {\n\t\t\t\t\tthis.handles.filter( \".ui-state-focus\" ).blur();\n\t\t\t\t\tthis.handles.removeClass( \"ui-state-hover\" );\n\t\t\t\t\tthis.handles.prop( \"disabled\", true );\n\t\t\t\t\tthis.element.addClass( \"ui-disabled\" );\n\t\t\t\t} else {\n\t\t\t\t\tthis.handles.prop( \"disabled\", false );\n\t\t\t\t\tthis.element.removeClass( \"ui-disabled\" );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"orientation\":\n\t\t\t\tthis._detectOrientation();\n\t\t\t\tthis.element\n\t\t\t\t\t.removeClass( \"ui-slider-horizontal ui-slider-vertical\" )\n\t\t\t\t\t.addClass( \"ui-slider-\" + this.orientation );\n\t\t\t\tthis._refreshValue();\n\t\t\t\tbreak;\n\t\t\tcase \"value\":\n\t\t\t\tthis._animateOff = true;\n\t\t\t\tthis._refreshValue();\n\t\t\t\tthis._change( null, 0 );\n\t\t\t\tthis._animateOff = false;\n\t\t\t\tbreak;\n\t\t\tcase \"values\":\n\t\t\t\tthis._animateOff = true;\n\t\t\t\tthis._refreshValue();\n\t\t\t\tfor ( i = 0; i < valsLength; i += 1 ) {\n\t\t\t\t\tthis._change( null, i );\n\t\t\t\t}\n\t\t\t\tthis._animateOff = false;\n\t\t\t\tbreak;\n\t\t\tcase \"min\":\n\t\t\tcase \"max\":\n\t\t\t\tthis._animateOff = true;\n\t\t\t\tthis._refreshValue();\n\t\t\t\tthis._animateOff = false;\n\t\t\t\tbreak;\n\t\t}\n\t},\n\n\t//internal value getter\n\t// _value() returns value trimmed by min and max, aligned by step\n\t_value: function() {\n\t\tvar val = this.options.value;\n\t\tval = this._trimAlignValue( val );\n\n\t\treturn val;\n\t},\n\n\t//internal values getter\n\t// _values() returns array of values trimmed by min and max, aligned by step\n\t// _values( index ) returns single value trimmed by min and max, aligned by step\n\t_values: function( index ) {\n\t\tvar val,\n\t\t\tvals,\n\t\t\ti;\n\n\t\tif ( arguments.length ) {\n\t\t\tval = this.options.values[ index ];\n\t\t\tval = this._trimAlignValue( val );\n\n\t\t\treturn val;\n\t\t} else {\n\t\t\t// .slice() creates a copy of the array\n\t\t\t// this copy gets trimmed by min and max and then returned\n\t\t\tvals = this.options.values.slice();\n\t\t\tfor ( i = 0; i < vals.length; i+= 1) {\n\t\t\t\tvals[ i ] = this._trimAlignValue( vals[ i ] );\n\t\t\t}\n\n\t\t\treturn vals;\n\t\t}\n\t},\n\n\t// returns the step-aligned value that val is closest to, between (inclusive) min and max\n\t_trimAlignValue: function( val ) {\n\t\tif ( val <= this._valueMin() ) {\n\t\t\treturn this._valueMin();\n\t\t}\n\t\tif ( val >= this._valueMax() ) {\n\t\t\treturn this._valueMax();\n\t\t}\n\t\tvar step = ( this.options.step > 0 ) ? this.options.step : 1,\n\t\t\tvalModStep = (val - this._valueMin()) % step,\n\t\t\talignValue = val - valModStep;\n\n\t\tif ( Math.abs(valModStep) * 2 >= step ) {\n\t\t\talignValue += ( valModStep > 0 ) ? step : ( -step );\n\t\t}\n\n\t\t// Since JavaScript has problems with large floats, round\n\t\t// the final value to 5 digits after the decimal point (see #4124)\n\t\treturn parseFloat( alignValue.toFixed(5) );\n\t},\n\n\t_valueMin: function() {\n\t\treturn this.options.min;\n\t},\n\n\t_valueMax: function() {\n\t\treturn this.options.max;\n\t},\n\n\t_refreshValue: function() {\n\t\tvar lastValPercent, valPercent, value, valueMin, valueMax,\n\t\t\toRange = this.options.range,\n\t\t\to = this.options,\n\t\t\tthat = this,\n\t\t\tanimate = ( !this._animateOff ) ? o.animate : false,\n\t\t\t_set = {};\n\n\t\tif ( this.options.values && this.options.values.length ) {\n\t\t\tthis.handles.each(function( i ) {\n\t\t\t\tvalPercent = ( that.values(i) - that._valueMin() ) / ( that._valueMax() - that._valueMin() ) * 100;\n\t\t\t\t_set[ that.orientation === \"horizontal\" ? \"left\" : \"bottom\" ] = valPercent + \"%\";\n\t\t\t\t$( this ).stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( _set, o.animate );\n\t\t\t\tif ( that.options.range === true ) {\n\t\t\t\t\tif ( that.orientation === \"horizontal\" ) {\n\t\t\t\t\t\tif ( i === 0 ) {\n\t\t\t\t\t\t\tthat.range.stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( { left: valPercent + \"%\" }, o.animate );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( i === 1 ) {\n\t\t\t\t\t\t\tthat.range[ animate ? \"animate\" : \"css\" ]( { width: ( valPercent - lastValPercent ) + \"%\" }, { queue: false, duration: o.animate } );\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif ( i === 0 ) {\n\t\t\t\t\t\t\tthat.range.stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( { bottom: ( valPercent ) + \"%\" }, o.animate );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( i === 1 ) {\n\t\t\t\t\t\t\tthat.range[ animate ? \"animate\" : \"css\" ]( { height: ( valPercent - lastValPercent ) + \"%\" }, { queue: false, duration: o.animate } );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlastValPercent = valPercent;\n\t\t\t});\n\t\t} else {\n\t\t\tvalue = this.value();\n\t\t\tvalueMin = this._valueMin();\n\t\t\tvalueMax = this._valueMax();\n\t\t\tvalPercent = ( valueMax !== valueMin ) ?\n\t\t\t\t\t( value - valueMin ) / ( valueMax - valueMin ) * 100 :\n\t\t\t\t\t0;\n\t\t\t_set[ this.orientation === \"horizontal\" ? \"left\" : \"bottom\" ] = valPercent + \"%\";\n\t\t\tthis.handle.stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( _set, o.animate );\n\n\t\t\tif ( oRange === \"min\" && this.orientation === \"horizontal\" ) {\n\t\t\t\tthis.range.stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( { width: valPercent + \"%\" }, o.animate );\n\t\t\t}\n\t\t\tif ( oRange === \"max\" && this.orientation === \"horizontal\" ) {\n\t\t\t\tthis.range[ animate ? \"animate\" : \"css\" ]( { width: ( 100 - valPercent ) + \"%\" }, { queue: false, duration: o.animate } );\n\t\t\t}\n\t\t\tif ( oRange === \"min\" && this.orientation === \"vertical\" ) {\n\t\t\t\tthis.range.stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( { height: valPercent + \"%\" }, o.animate );\n\t\t\t}\n\t\t\tif ( oRange === \"max\" && this.orientation === \"vertical\" ) {\n\t\t\t\tthis.range[ animate ? \"animate\" : \"css\" ]( { height: ( 100 - valPercent ) + \"%\" }, { queue: false, duration: o.animate } );\n\t\t\t}\n\t\t}\n\t}\n\n});\n\n}(jQuery));\n(function( $, undefined ) {\n\n$.widget(\"ui.sortable\", $.ui.mouse, {\n\tversion: \"1.9.2\",\n\twidgetEventPrefix: \"sort\",\n\tready: false,\n\toptions: {\n\t\tappendTo: \"parent\",\n\t\taxis: false,\n\t\tconnectWith: false,\n\t\tcontainment: false,\n\t\tcursor: 'auto',\n\t\tcursorAt: false,\n\t\tdropOnEmpty: true,\n\t\tforcePlaceholderSize: false,\n\t\tforceHelperSize: false,\n\t\tgrid: false,\n\t\thandle: false,\n\t\thelper: \"original\",\n\t\titems: '> *',\n\t\topacity: false,\n\t\tplaceholder: false,\n\t\trevert: false,\n\t\tscroll: true,\n\t\tscrollSensitivity: 20,\n\t\tscrollSpeed: 20,\n\t\tscope: \"default\",\n\t\ttolerance: \"intersect\",\n\t\tzIndex: 1000\n\t},\n\t_create: function() {\n\n\t\tvar o = this.options;\n\t\tthis.containerCache = {};\n\t\tthis.element.addClass(\"ui-sortable\");\n\n\t\t//Get the items\n\t\tthis.refresh();\n\n\t\t//Let's determine if the items are being displayed horizontally\n\t\tthis.floating = this.items.length ? o.axis === 'x' || (/left|right/).test(this.items[0].item.css('float')) || (/inline|table-cell/).test(this.items[0].item.css('display')) : false;\n\n\t\t//Let's determine the parent's offset\n\t\tthis.offset = this.element.offset();\n\n\t\t//Initialize mouse events for interaction\n\t\tthis._mouseInit();\n\n\t\t//We're ready to go\n\t\tthis.ready = true\n\n\t},\n\n\t_destroy: function() {\n\t\tthis.element\n\t\t\t.removeClass(\"ui-sortable ui-sortable-disabled\");\n\t\tthis._mouseDestroy();\n\n\t\tfor ( var i = this.items.length - 1; i >= 0; i-- )\n\t\t\tthis.items[i].item.removeData(this.widgetName + \"-item\");\n\n\t\treturn this;\n\t},\n\n\t_setOption: function(key, value){\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis.options[ key ] = value;\n\n\t\t\tthis.widget().toggleClass( \"ui-sortable-disabled\", !!value );\n\t\t} else {\n\t\t\t// Don't call widget base _setOption for disable as it adds ui-state-disabled class\n\t\t\t$.Widget.prototype._setOption.apply(this, arguments);\n\t\t}\n\t},\n\n\t_mouseCapture: function(event, overrideHandle) {\n\t\tvar that = this;\n\n\t\tif (this.reverting) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif(this.options.disabled || this.options.type == 'static') return false;\n\n\t\t//We have to refresh the items data once first\n\t\tthis._refreshItems(event);\n\n\t\t//Find out if the clicked node (or one of its parents) is a actual item in this.items\n\t\tvar currentItem = null, nodes = $(event.target).parents().each(function() {\n\t\t\tif($.data(this, that.widgetName + '-item') == that) {\n\t\t\t\tcurrentItem = $(this);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif($.data(event.target, that.widgetName + '-item') == that) currentItem = $(event.target);\n\n\t\tif(!currentItem) return false;\n\t\tif(this.options.handle && !overrideHandle) {\n\t\t\tvar validHandle = false;\n\n\t\t\t$(this.options.handle, currentItem).find(\"*\").andSelf().each(function() { if(this == event.target) validHandle = true; });\n\t\t\tif(!validHandle) return false;\n\t\t}\n\n\t\tthis.currentItem = currentItem;\n\t\tthis._removeCurrentsFromItems();\n\t\treturn true;\n\n\t},\n\n\t_mouseStart: function(event, overrideHandle, noActivation) {\n\n\t\tvar o = this.options;\n\t\tthis.currentContainer = this;\n\n\t\t//We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture\n\t\tthis.refreshPositions();\n\n\t\t//Create and append the visible helper\n\t\tthis.helper = this._createHelper(event);\n\n\t\t//Cache the helper size\n\t\tthis._cacheHelperProportions();\n\n\t\t/*\n\t\t * - Position generation -\n\t\t * This block generates everything position related - it's the core of draggables.\n\t\t */\n\n\t\t//Cache the margins of the original element\n\t\tthis._cacheMargins();\n\n\t\t//Get the next scrolling parent\n\t\tthis.scrollParent = this.helper.scrollParent();\n\n\t\t//The element's absolute position on the page minus margins\n\t\tthis.offset = this.currentItem.offset();\n\t\tthis.offset = {\n\t\t\ttop: this.offset.top - this.margins.top,\n\t\t\tleft: this.offset.left - this.margins.left\n\t\t};\n\n\t\t$.extend(this.offset, {\n\t\t\tclick: { //Where the click happened, relative to the element\n\t\t\t\tleft: event.pageX - this.offset.left,\n\t\t\t\ttop: event.pageY - this.offset.top\n\t\t\t},\n\t\t\tparent: this._getParentOffset(),\n\t\t\trelative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper\n\t\t});\n\n\t\t// Only after we got the offset, we can change the helper's position to absolute\n\t\t// TODO: Still need to figure out a way to make relative sorting possible\n\t\tthis.helper.css(\"position\", \"absolute\");\n\t\tthis.cssPosition = this.helper.css(\"position\");\n\n\t\t//Generate the original position\n\t\tthis.originalPosition = this._generatePosition(event);\n\t\tthis.originalPageX = event.pageX;\n\t\tthis.originalPageY = event.pageY;\n\n\t\t//Adjust the mouse offset relative to the helper if 'cursorAt' is supplied\n\t\t(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));\n\n\t\t//Cache the former DOM position\n\t\tthis.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] };\n\n\t\t//If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way\n\t\tif(this.helper[0] != this.currentItem[0]) {\n\t\t\tthis.currentItem.hide();\n\t\t}\n\n\t\t//Create the placeholder\n\t\tthis._createPlaceholder();\n\n\t\t//Set a containment if given in the options\n\t\tif(o.containment)\n\t\t\tthis._setContainment();\n\n\t\tif(o.cursor) { // cursor option\n\t\t\tif ($('body').css(\"cursor\")) this._storedCursor = $('body').css(\"cursor\");\n\t\t\t$('body').css(\"cursor\", o.cursor);\n\t\t}\n\n\t\tif(o.opacity) { // opacity option\n\t\t\tif (this.helper.css(\"opacity\")) this._storedOpacity = this.helper.css(\"opacity\");\n\t\t\tthis.helper.css(\"opacity\", o.opacity);\n\t\t}\n\n\t\tif(o.zIndex) { // zIndex option\n\t\t\tif (this.helper.css(\"zIndex\")) this._storedZIndex = this.helper.css(\"zIndex\");\n\t\t\tthis.helper.css(\"zIndex\", o.zIndex);\n\t\t}\n\n\t\t//Prepare scrolling\n\t\tif(this.scrollParent[0] != document && this.scrollParent[0].tagName != 'HTML')\n\t\t\tthis.overflowOffset = this.scrollParent.offset();\n\n\t\t//Call callbacks\n\t\tthis._trigger(\"start\", event, this._uiHash());\n\n\t\t//Recache the helper size\n\t\tif(!this._preserveHelperProportions)\n\t\t\tthis._cacheHelperProportions();\n\n\n\t\t//Post 'activate' events to possible containers\n\t\tif(!noActivation) {\n\t\t\t for (var i = this.containers.length - 1; i >= 0; i--) { this.containers[i]._trigger(\"activate\", event, this._uiHash(this)); }\n\t\t}\n\n\t\t//Prepare possible droppables\n\t\tif($.ui.ddmanager)\n\t\t\t$.ui.ddmanager.current = this;\n\n\t\tif ($.ui.ddmanager && !o.dropBehaviour)\n\t\t\t$.ui.ddmanager.prepareOffsets(this, event);\n\n\t\tthis.dragging = true;\n\n\t\tthis.helper.addClass(\"ui-sortable-helper\");\n\t\tthis._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position\n\t\treturn true;\n\n\t},\n\n\t_mouseDrag: function(event) {\n\n\t\t//Compute the helpers position\n\t\tthis.position = this._generatePosition(event);\n\t\tthis.positionAbs = this._convertPositionTo(\"absolute\");\n\n\t\tif (!this.lastPositionAbs) {\n\t\t\tthis.lastPositionAbs = this.positionAbs;\n\t\t}\n\n\t\t//Do scrolling\n\t\tif(this.options.scroll) {\n\t\t\tvar o = this.options, scrolled = false;\n\t\t\tif(this.scrollParent[0] != document && this.scrollParent[0].tagName != 'HTML') {\n\n\t\t\t\tif((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity)\n\t\t\t\t\tthis.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;\n\t\t\t\telse if(event.pageY - this.overflowOffset.top < o.scrollSensitivity)\n\t\t\t\t\tthis.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;\n\n\t\t\t\tif((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity)\n\t\t\t\t\tthis.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;\n\t\t\t\telse if(event.pageX - this.overflowOffset.left < o.scrollSensitivity)\n\t\t\t\t\tthis.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;\n\n\t\t\t} else {\n\n\t\t\t\tif(event.pageY - $(document).scrollTop() < o.scrollSensitivity)\n\t\t\t\t\tscrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);\n\t\t\t\telse if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity)\n\t\t\t\t\tscrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);\n\n\t\t\t\tif(event.pageX - $(document).scrollLeft() < o.scrollSensitivity)\n\t\t\t\t\tscrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);\n\t\t\t\telse if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity)\n\t\t\t\t\tscrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);\n\n\t\t\t}\n\n\t\t\tif(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour)\n\t\t\t\t$.ui.ddmanager.prepareOffsets(this, event);\n\t\t}\n\n\t\t//Regenerate the absolute position used for position checks\n\t\tthis.positionAbs = this._convertPositionTo(\"absolute\");\n\n\t\t//Set the helper position\n\t\tif(!this.options.axis || this.options.axis != \"y\") this.helper[0].style.left = this.position.left+'px';\n\t\tif(!this.options.axis || this.options.axis != \"x\") this.helper[0].style.top = this.position.top+'px';\n\n\t\t//Rearrange\n\t\tfor (var i = this.items.length - 1; i >= 0; i--) {\n\n\t\t\t//Cache variables and intersection, continue if no intersection\n\t\t\tvar item = this.items[i], itemElement = item.item[0], intersection = this._intersectsWithPointer(item);\n\t\t\tif (!intersection) continue;\n\n\t\t\t// Only put the placeholder inside the current Container, skip all\n\t\t\t// items form other containers. This works because when moving\n\t\t\t// an item from one container to another the\n\t\t\t// currentContainer is switched before the placeholder is moved.\n\t\t\t//\n\t\t\t// Without this moving items in \"sub-sortables\" can cause the placeholder to jitter\n\t\t\t// beetween the outer and inner container.\n\t\t\tif (item.instance !== this.currentContainer) continue;\n\n\t\t\tif (itemElement != this.currentItem[0] //cannot intersect with itself\n\t\t\t\t&&\tthis.placeholder[intersection == 1 ? \"next\" : \"prev\"]()[0] != itemElement //no useless actions that have been done before\n\t\t\t\t&&\t!$.contains(this.placeholder[0], itemElement) //no action if the item moved is the parent of the item checked\n\t\t\t\t&& (this.options.type == 'semi-dynamic' ? !$.contains(this.element[0], itemElement) : true)\n\t\t\t\t//&& itemElement.parentNode == this.placeholder[0].parentNode // only rearrange items within the same container\n\t\t\t) {\n\n\t\t\t\tthis.direction = intersection == 1 ? \"down\" : \"up\";\n\n\t\t\t\tif (this.options.tolerance == \"pointer\" || this._intersectsWithSides(item)) {\n\t\t\t\t\tthis._rearrange(event, item);\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tthis._trigger(\"change\", event, this._uiHash());\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t//Post events to containers\n\t\tthis._contactContainers(event);\n\n\t\t//Interconnect with droppables\n\t\tif($.ui.ddmanager) $.ui.ddmanager.drag(this, event);\n\n\t\t//Call callbacks\n\t\tthis._trigger('sort', event, this._uiHash());\n\n\t\tthis.lastPositionAbs = this.positionAbs;\n\t\treturn false;\n\n\t},\n\n\t_mouseStop: function(event, noPropagation) {\n\n\t\tif(!event) return;\n\n\t\t//If we are using droppables, inform the manager about the drop\n\t\tif ($.ui.ddmanager && !this.options.dropBehaviour)\n\t\t\t$.ui.ddmanager.drop(this, event);\n\n\t\tif(this.options.revert) {\n\t\t\tvar that = this;\n\t\t\tvar cur = this.placeholder.offset();\n\n\t\t\tthis.reverting = true;\n\n\t\t\t$(this.helper).animate({\n\t\t\t\tleft: cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft),\n\t\t\t\ttop: cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop)\n\t\t\t}, parseInt(this.options.revert, 10) || 500, function() {\n\t\t\t\tthat._clear(event);\n\t\t\t});\n\t\t} else {\n\t\t\tthis._clear(event, noPropagation);\n\t\t}\n\n\t\treturn false;\n\n\t},\n\n\tcancel: function() {\n\n\t\tif(this.dragging) {\n\n\t\t\tthis._mouseUp({ target: null });\n\n\t\t\tif(this.options.helper == \"original\")\n\t\t\t\tthis.currentItem.css(this._storedCSS).removeClass(\"ui-sortable-helper\");\n\t\t\telse\n\t\t\t\tthis.currentItem.show();\n\n\t\t\t//Post deactivating events to containers\n\t\t\tfor (var i = this.containers.length - 1; i >= 0; i--){\n\t\t\t\tthis.containers[i]._trigger(\"deactivate\", null, this._uiHash(this));\n\t\t\t\tif(this.containers[i].containerCache.over) {\n\t\t\t\t\tthis.containers[i]._trigger(\"out\", null, this._uiHash(this));\n\t\t\t\t\tthis.containers[i].containerCache.over = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\tif (this.placeholder) {\n\t\t\t//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!\n\t\t\tif(this.placeholder[0].parentNode) this.placeholder[0].parentNode.removeChild(this.placeholder[0]);\n\t\t\tif(this.options.helper != \"original\" && this.helper && this.helper[0].parentNode) this.helper.remove();\n\n\t\t\t$.extend(this, {\n\t\t\t\thelper: null,\n\t\t\t\tdragging: false,\n\t\t\t\treverting: false,\n\t\t\t\t_noFinalSort: null\n\t\t\t});\n\n\t\t\tif(this.domPosition.prev) {\n\t\t\t\t$(this.domPosition.prev).after(this.currentItem);\n\t\t\t} else {\n\t\t\t\t$(this.domPosition.parent).prepend(this.currentItem);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\n\t},\n\n\tserialize: function(o) {\n\n\t\tvar items = this._getItemsAsjQuery(o && o.connected);\n\t\tvar str = []; o = o || {};\n\n\t\t$(items).each(function() {\n\t\t\tvar res = ($(o.item || this).attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[-=_](.+)/));\n\t\t\tif(res) str.push((o.key || res[1]+'[]')+'='+(o.key && o.expression ? res[1] : res[2]));\n\t\t});\n\n\t\tif(!str.length && o.key) {\n\t\t\tstr.push(o.key + '=');\n\t\t}\n\n\t\treturn str.join('&');\n\n\t},\n\n\ttoArray: function(o) {\n\n\t\tvar items = this._getItemsAsjQuery(o && o.connected);\n\t\tvar ret = []; o = o || {};\n\n\t\titems.each(function() { ret.push($(o.item || this).attr(o.attribute || 'id') || ''); });\n\t\treturn ret;\n\n\t},\n\n\t/* Be careful with the following core functions */\n\t_intersectsWith: function(item) {\n\n\t\tvar x1 = this.positionAbs.left,\n\t\t\tx2 = x1 + this.helperProportions.width,\n\t\t\ty1 = this.positionAbs.top,\n\t\t\ty2 = y1 + this.helperProportions.height;\n\n\t\tvar l = item.left,\n\t\t\tr = l + item.width,\n\t\t\tt = item.top,\n\t\t\tb = t + item.height;\n\n\t\tvar dyClick = this.offset.click.top,\n\t\t\tdxClick = this.offset.click.left;\n\n\t\tvar isOverElement = (y1 + dyClick) > t && (y1 + dyClick) < b && (x1 + dxClick) > l && (x1 + dxClick) < r;\n\n\t\tif(\t   this.options.tolerance == \"pointer\"\n\t\t\t|| this.options.forcePointerForContainers\n\t\t\t|| (this.options.tolerance != \"pointer\" && this.helperProportions[this.floating ? 'width' : 'height'] > item[this.floating ? 'width' : 'height'])\n\t\t) {\n\t\t\treturn isOverElement;\n\t\t} else {\n\n\t\t\treturn (l < x1 + (this.helperProportions.width / 2) // Right Half\n\t\t\t\t&& x2 - (this.helperProportions.width / 2) < r // Left Half\n\t\t\t\t&& t < y1 + (this.helperProportions.height / 2) // Bottom Half\n\t\t\t\t&& y2 - (this.helperProportions.height / 2) < b ); // Top Half\n\n\t\t}\n\t},\n\n\t_intersectsWithPointer: function(item) {\n\n\t\tvar isOverElementHeight = (this.options.axis === 'x') || $.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height),\n\t\t\tisOverElementWidth = (this.options.axis === 'y') || $.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width),\n\t\t\tisOverElement = isOverElementHeight && isOverElementWidth,\n\t\t\tverticalDirection = this._getDragVerticalDirection(),\n\t\t\thorizontalDirection = this._getDragHorizontalDirection();\n\n\t\tif (!isOverElement)\n\t\t\treturn false;\n\n\t\treturn this.floating ?\n\t\t\t( ((horizontalDirection && horizontalDirection == \"right\") || verticalDirection == \"down\") ? 2 : 1 )\n\t\t\t: ( verticalDirection && (verticalDirection == \"down\" ? 2 : 1) );\n\n\t},\n\n\t_intersectsWithSides: function(item) {\n\n\t\tvar isOverBottomHalf = $.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height),\n\t\t\tisOverRightHalf = $.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width),\n\t\t\tverticalDirection = this._getDragVerticalDirection(),\n\t\t\thorizontalDirection = this._getDragHorizontalDirection();\n\n\t\tif (this.floating && horizontalDirection) {\n\t\t\treturn ((horizontalDirection == \"right\" && isOverRightHalf) || (horizontalDirection == \"left\" && !isOverRightHalf));\n\t\t} else {\n\t\t\treturn verticalDirection && ((verticalDirection == \"down\" && isOverBottomHalf) || (verticalDirection == \"up\" && !isOverBottomHalf));\n\t\t}\n\n\t},\n\n\t_getDragVerticalDirection: function() {\n\t\tvar delta = this.positionAbs.top - this.lastPositionAbs.top;\n\t\treturn delta != 0 && (delta > 0 ? \"down\" : \"up\");\n\t},\n\n\t_getDragHorizontalDirection: function() {\n\t\tvar delta = this.positionAbs.left - this.lastPositionAbs.left;\n\t\treturn delta != 0 && (delta > 0 ? \"right\" : \"left\");\n\t},\n\n\trefresh: function(event) {\n\t\tthis._refreshItems(event);\n\t\tthis.refreshPositions();\n\t\treturn this;\n\t},\n\n\t_connectWith: function() {\n\t\tvar options = this.options;\n\t\treturn options.connectWith.constructor == String\n\t\t\t? [options.connectWith]\n\t\t\t: options.connectWith;\n\t},\n\n\t_getItemsAsjQuery: function(connected) {\n\n\t\tvar items = [];\n\t\tvar queries = [];\n\t\tvar connectWith = this._connectWith();\n\n\t\tif(connectWith && connected) {\n\t\t\tfor (var i = connectWith.length - 1; i >= 0; i--){\n\t\t\t\tvar cur = $(connectWith[i]);\n\t\t\t\tfor (var j = cur.length - 1; j >= 0; j--){\n\t\t\t\t\tvar inst = $.data(cur[j], this.widgetName);\n\t\t\t\t\tif(inst && inst != this && !inst.options.disabled) {\n\t\t\t\t\t\tqueries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(\".ui-sortable-helper\").not('.ui-sortable-placeholder'), inst]);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\t\t}\n\n\t\tqueries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(\".ui-sortable-helper\").not('.ui-sortable-placeholder'), this]);\n\n\t\tfor (var i = queries.length - 1; i >= 0; i--){\n\t\t\tqueries[i][0].each(function() {\n\t\t\t\titems.push(this);\n\t\t\t});\n\t\t};\n\n\t\treturn $(items);\n\n\t},\n\n\t_removeCurrentsFromItems: function() {\n\n\t\tvar list = this.currentItem.find(\":data(\" + this.widgetName + \"-item)\");\n\n\t\tthis.items = $.grep(this.items, function (item) {\n\t\t\tfor (var j=0; j < list.length; j++) {\n\t\t\t\tif(list[j] == item.item[0])\n\t\t\t\t\treturn false;\n\t\t\t};\n\t\t\treturn true;\n\t\t});\n\n\t},\n\n\t_refreshItems: function(event) {\n\n\t\tthis.items = [];\n\t\tthis.containers = [this];\n\t\tvar items = this.items;\n\t\tvar queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]];\n\t\tvar connectWith = this._connectWith();\n\n\t\tif(connectWith && this.ready) { //Shouldn't be run the first time through due to massive slow-down\n\t\t\tfor (var i = connectWith.length - 1; i >= 0; i--){\n\t\t\t\tvar cur = $(connectWith[i]);\n\t\t\t\tfor (var j = cur.length - 1; j >= 0; j--){\n\t\t\t\t\tvar inst = $.data(cur[j], this.widgetName);\n\t\t\t\t\tif(inst && inst != this && !inst.options.disabled) {\n\t\t\t\t\t\tqueries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]);\n\t\t\t\t\t\tthis.containers.push(inst);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\t\t}\n\n\t\tfor (var i = queries.length - 1; i >= 0; i--) {\n\t\t\tvar targetData = queries[i][1];\n\t\t\tvar _queries = queries[i][0];\n\n\t\t\tfor (var j=0, queriesLength = _queries.length; j < queriesLength; j++) {\n\t\t\t\tvar item = $(_queries[j]);\n\n\t\t\t\titem.data(this.widgetName + '-item', targetData); // Data for target checking (mouse manager)\n\n\t\t\t\titems.push({\n\t\t\t\t\titem: item,\n\t\t\t\t\tinstance: targetData,\n\t\t\t\t\twidth: 0, height: 0,\n\t\t\t\t\tleft: 0, top: 0\n\t\t\t\t});\n\t\t\t};\n\t\t};\n\n\t},\n\n\trefreshPositions: function(fast) {\n\n\t\t//This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change\n\t\tif(this.offsetParent && this.helper) {\n\t\t\tthis.offset.parent = this._getParentOffset();\n\t\t}\n\n\t\tfor (var i = this.items.length - 1; i >= 0; i--){\n\t\t\tvar item = this.items[i];\n\n\t\t\t//We ignore calculating positions of all connected containers when we're not over them\n\t\t\tif(item.instance != this.currentContainer && this.currentContainer && item.item[0] != this.currentItem[0])\n\t\t\t\tcontinue;\n\n\t\t\tvar t = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item;\n\n\t\t\tif (!fast) {\n\t\t\t\titem.width = t.outerWidth();\n\t\t\t\titem.height = t.outerHeight();\n\t\t\t}\n\n\t\t\tvar p = t.offset();\n\t\t\titem.left = p.left;\n\t\t\titem.top = p.top;\n\t\t};\n\n\t\tif(this.options.custom && this.options.custom.refreshContainers) {\n\t\t\tthis.options.custom.refreshContainers.call(this);\n\t\t} else {\n\t\t\tfor (var i = this.containers.length - 1; i >= 0; i--){\n\t\t\t\tvar p = this.containers[i].element.offset();\n\t\t\t\tthis.containers[i].containerCache.left = p.left;\n\t\t\t\tthis.containers[i].containerCache.top = p.top;\n\t\t\t\tthis.containers[i].containerCache.width\t= this.containers[i].element.outerWidth();\n\t\t\t\tthis.containers[i].containerCache.height = this.containers[i].element.outerHeight();\n\t\t\t};\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_createPlaceholder: function(that) {\n\t\tthat = that || this;\n\t\tvar o = that.options;\n\n\t\tif(!o.placeholder || o.placeholder.constructor == String) {\n\t\t\tvar className = o.placeholder;\n\t\t\to.placeholder = {\n\t\t\t\telement: function() {\n\n\t\t\t\t\tvar el = $(document.createElement(that.currentItem[0].nodeName))\n\t\t\t\t\t\t.addClass(className || that.currentItem[0].className+\" ui-sortable-placeholder\")\n\t\t\t\t\t\t.removeClass(\"ui-sortable-helper\")[0];\n\n\t\t\t\t\tif(!className)\n\t\t\t\t\t\tel.style.visibility = \"hidden\";\n\n\t\t\t\t\treturn el;\n\t\t\t\t},\n\t\t\t\tupdate: function(container, p) {\n\n\t\t\t\t\t// 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that\n\t\t\t\t\t// 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified\n\t\t\t\t\tif(className && !o.forcePlaceholderSize) return;\n\n\t\t\t\t\t//If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item\n\t\t\t\t\tif(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css('paddingTop')||0, 10) - parseInt(that.currentItem.css('paddingBottom')||0, 10)); };\n\t\t\t\t\tif(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css('paddingLeft')||0, 10) - parseInt(that.currentItem.css('paddingRight')||0, 10)); };\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\t//Create the placeholder\n\t\tthat.placeholder = $(o.placeholder.element.call(that.element, that.currentItem));\n\n\t\t//Append it after the actual current item\n\t\tthat.currentItem.after(that.placeholder);\n\n\t\t//Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317)\n\t\to.placeholder.update(that, that.placeholder);\n\n\t},\n\n\t_contactContainers: function(event) {\n\n\t\t// get innermost container that intersects with item\n\t\tvar innermostContainer = null, innermostIndex = null;\n\n\n\t\tfor (var i = this.containers.length - 1; i >= 0; i--){\n\n\t\t\t// never consider a container that's located within the item itself\n\t\t\tif($.contains(this.currentItem[0], this.containers[i].element[0]))\n\t\t\t\tcontinue;\n\n\t\t\tif(this._intersectsWith(this.containers[i].containerCache)) {\n\n\t\t\t\t// if we've already found a container and it's more \"inner\" than this, then continue\n\t\t\t\tif(innermostContainer && $.contains(this.containers[i].element[0], innermostContainer.element[0]))\n\t\t\t\t\tcontinue;\n\n\t\t\t\tinnermostContainer = this.containers[i];\n\t\t\t\tinnermostIndex = i;\n\n\t\t\t} else {\n\t\t\t\t// container doesn't intersect. trigger \"out\" event if necessary\n\t\t\t\tif(this.containers[i].containerCache.over) {\n\t\t\t\t\tthis.containers[i]._trigger(\"out\", event, this._uiHash(this));\n\t\t\t\t\tthis.containers[i].containerCache.over = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t// if no intersecting containers found, return\n\t\tif(!innermostContainer) return;\n\n\t\t// move the item into the container if it's not there already\n\t\tif(this.containers.length === 1) {\n\t\t\tthis.containers[innermostIndex]._trigger(\"over\", event, this._uiHash(this));\n\t\t\tthis.containers[innermostIndex].containerCache.over = 1;\n\t\t} else {\n\n\t\t\t//When entering a new container, we will find the item with the least distance and append our item near it\n\t\t\tvar dist = 10000; var itemWithLeastDistance = null;\n\t\t\tvar posProperty = this.containers[innermostIndex].floating ? 'left' : 'top';\n\t\t\tvar sizeProperty = this.containers[innermostIndex].floating ? 'width' : 'height';\n\t\t\tvar base = this.positionAbs[posProperty] + this.offset.click[posProperty];\n\t\t\tfor (var j = this.items.length - 1; j >= 0; j--) {\n\t\t\t\tif(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) continue;\n\t\t\t\tif(this.items[j].item[0] == this.currentItem[0]) continue;\n\t\t\t\tvar cur = this.items[j].item.offset()[posProperty];\n\t\t\t\tvar nearBottom = false;\n\t\t\t\tif(Math.abs(cur - base) > Math.abs(cur + this.items[j][sizeProperty] - base)){\n\t\t\t\t\tnearBottom = true;\n\t\t\t\t\tcur += this.items[j][sizeProperty];\n\t\t\t\t}\n\n\t\t\t\tif(Math.abs(cur - base) < dist) {\n\t\t\t\t\tdist = Math.abs(cur - base); itemWithLeastDistance = this.items[j];\n\t\t\t\t\tthis.direction = nearBottom ? \"up\": \"down\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(!itemWithLeastDistance && !this.options.dropOnEmpty) //Check if dropOnEmpty is enabled\n\t\t\t\treturn;\n\n\t\t\tthis.currentContainer = this.containers[innermostIndex];\n\t\t\titemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true);\n\t\t\tthis._trigger(\"change\", event, this._uiHash());\n\t\t\tthis.containers[innermostIndex]._trigger(\"change\", event, this._uiHash(this));\n\n\t\t\t//Update the placeholder\n\t\t\tthis.options.placeholder.update(this.currentContainer, this.placeholder);\n\n\t\t\tthis.containers[innermostIndex]._trigger(\"over\", event, this._uiHash(this));\n\t\t\tthis.containers[innermostIndex].containerCache.over = 1;\n\t\t}\n\n\n\t},\n\n\t_createHelper: function(event) {\n\n\t\tvar o = this.options;\n\t\tvar helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper == 'clone' ? this.currentItem.clone() : this.currentItem);\n\n\t\tif(!helper.parents('body').length) //Add the helper to the DOM if that didn't happen already\n\t\t\t$(o.appendTo != 'parent' ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]);\n\n\t\tif(helper[0] == this.currentItem[0])\n\t\t\tthis._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css(\"position\"), top: this.currentItem.css(\"top\"), left: this.currentItem.css(\"left\") };\n\n\t\tif(helper[0].style.width == '' || o.forceHelperSize) helper.width(this.currentItem.width());\n\t\tif(helper[0].style.height == '' || o.forceHelperSize) helper.height(this.currentItem.height());\n\n\t\treturn helper;\n\n\t},\n\n\t_adjustOffsetFromHelper: function(obj) {\n\t\tif (typeof obj == 'string') {\n\t\t\tobj = obj.split(' ');\n\t\t}\n\t\tif ($.isArray(obj)) {\n\t\t\tobj = {left: +obj[0], top: +obj[1] || 0};\n\t\t}\n\t\tif ('left' in obj) {\n\t\t\tthis.offset.click.left = obj.left + this.margins.left;\n\t\t}\n\t\tif ('right' in obj) {\n\t\t\tthis.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;\n\t\t}\n\t\tif ('top' in obj) {\n\t\t\tthis.offset.click.top = obj.top + this.margins.top;\n\t\t}\n\t\tif ('bottom' in obj) {\n\t\t\tthis.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;\n\t\t}\n\t},\n\n\t_getParentOffset: function() {\n\n\n\t\t//Get the offsetParent and cache its position\n\t\tthis.offsetParent = this.helper.offsetParent();\n\t\tvar po = this.offsetParent.offset();\n\n\t\t// This is a special case where we need to modify a offset calculated on start, since the following happened:\n\t\t// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent\n\t\t// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that\n\t\t//    the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag\n\t\tif(this.cssPosition == 'absolute' && this.scrollParent[0] != document && $.contains(this.scrollParent[0], this.offsetParent[0])) {\n\t\t\tpo.left += this.scrollParent.scrollLeft();\n\t\t\tpo.top += this.scrollParent.scrollTop();\n\t\t}\n\n\t\tif((this.offsetParent[0] == document.body) //This needs to be actually done for all browsers, since pageX/pageY includes this information\n\t\t|| (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == 'html' && $.ui.ie)) //Ugly IE fix\n\t\t\tpo = { top: 0, left: 0 };\n\n\t\treturn {\n\t\t\ttop: po.top + (parseInt(this.offsetParent.css(\"borderTopWidth\"),10) || 0),\n\t\t\tleft: po.left + (parseInt(this.offsetParent.css(\"borderLeftWidth\"),10) || 0)\n\t\t};\n\n\t},\n\n\t_getRelativeOffset: function() {\n\n\t\tif(this.cssPosition == \"relative\") {\n\t\t\tvar p = this.currentItem.position();\n\t\t\treturn {\n\t\t\t\ttop: p.top - (parseInt(this.helper.css(\"top\"),10) || 0) + this.scrollParent.scrollTop(),\n\t\t\t\tleft: p.left - (parseInt(this.helper.css(\"left\"),10) || 0) + this.scrollParent.scrollLeft()\n\t\t\t};\n\t\t} else {\n\t\t\treturn { top: 0, left: 0 };\n\t\t}\n\n\t},\n\n\t_cacheMargins: function() {\n\t\tthis.margins = {\n\t\t\tleft: (parseInt(this.currentItem.css(\"marginLeft\"),10) || 0),\n\t\t\ttop: (parseInt(this.currentItem.css(\"marginTop\"),10) || 0)\n\t\t};\n\t},\n\n\t_cacheHelperProportions: function() {\n\t\tthis.helperProportions = {\n\t\t\twidth: this.helper.outerWidth(),\n\t\t\theight: this.helper.outerHeight()\n\t\t};\n\t},\n\n\t_setContainment: function() {\n\n\t\tvar o = this.options;\n\t\tif(o.containment == 'parent') o.containment = this.helper[0].parentNode;\n\t\tif(o.containment == 'document' || o.containment == 'window') this.containment = [\n\t\t\t0 - this.offset.relative.left - this.offset.parent.left,\n\t\t\t0 - this.offset.relative.top - this.offset.parent.top,\n\t\t\t$(o.containment == 'document' ? document : window).width() - this.helperProportions.width - this.margins.left,\n\t\t\t($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top\n\t\t];\n\n\t\tif(!(/^(document|window|parent)$/).test(o.containment)) {\n\t\t\tvar ce = $(o.containment)[0];\n\t\t\tvar co = $(o.containment).offset();\n\t\t\tvar over = ($(ce).css(\"overflow\") != 'hidden');\n\n\t\t\tthis.containment = [\n\t\t\t\tco.left + (parseInt($(ce).css(\"borderLeftWidth\"),10) || 0) + (parseInt($(ce).css(\"paddingLeft\"),10) || 0) - this.margins.left,\n\t\t\t\tco.top + (parseInt($(ce).css(\"borderTopWidth\"),10) || 0) + (parseInt($(ce).css(\"paddingTop\"),10) || 0) - this.margins.top,\n\t\t\t\tco.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css(\"borderLeftWidth\"),10) || 0) - (parseInt($(ce).css(\"paddingRight\"),10) || 0) - this.helperProportions.width - this.margins.left,\n\t\t\t\tco.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css(\"borderTopWidth\"),10) || 0) - (parseInt($(ce).css(\"paddingBottom\"),10) || 0) - this.helperProportions.height - this.margins.top\n\t\t\t];\n\t\t}\n\n\t},\n\n\t_convertPositionTo: function(d, pos) {\n\n\t\tif(!pos) pos = this.position;\n\t\tvar mod = d == \"absolute\" ? 1 : -1;\n\t\tvar o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);\n\n\t\treturn {\n\t\t\ttop: (\n\t\t\t\tpos.top\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\t+ this.offset.relative.top * mod\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\t+ this.offset.parent.top * mod\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t- ( ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)\n\t\t\t),\n\t\t\tleft: (\n\t\t\t\tpos.left\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\t+ this.offset.relative.left * mod\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\t+ this.offset.parent.left * mod\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t- ( ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_generatePosition: function(event) {\n\n\t\tvar o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);\n\n\t\t// This is another very weird special case that only happens for relative elements:\n\t\t// 1. If the css position is relative\n\t\t// 2. and the scroll parent is the document or similar to the offset parent\n\t\t// we have to refresh the relative offset during the scroll so there are no jumps\n\t\tif(this.cssPosition == 'relative' && !(this.scrollParent[0] != document && this.scrollParent[0] != this.offsetParent[0])) {\n\t\t\tthis.offset.relative = this._getRelativeOffset();\n\t\t}\n\n\t\tvar pageX = event.pageX;\n\t\tvar pageY = event.pageY;\n\n\t\t/*\n\t\t * - Position constraining -\n\t\t * Constrain the position to a mix of grid, containment.\n\t\t */\n\n\t\tif(this.originalPosition) { //If we are not dragging yet, we won't check for options\n\n\t\t\tif(this.containment) {\n\t\t\t\tif(event.pageX - this.offset.click.left < this.containment[0]) pageX = this.containment[0] + this.offset.click.left;\n\t\t\t\tif(event.pageY - this.offset.click.top < this.containment[1]) pageY = this.containment[1] + this.offset.click.top;\n\t\t\t\tif(event.pageX - this.offset.click.left > this.containment[2]) pageX = this.containment[2] + this.offset.click.left;\n\t\t\t\tif(event.pageY - this.offset.click.top > this.containment[3]) pageY = this.containment[3] + this.offset.click.top;\n\t\t\t}\n\n\t\t\tif(o.grid) {\n\t\t\t\tvar top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1];\n\t\t\t\tpageY = this.containment ? (!(top - this.offset.click.top < this.containment[1] || top - this.offset.click.top > this.containment[3]) ? top : (!(top - this.offset.click.top < this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;\n\n\t\t\t\tvar left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0];\n\t\t\t\tpageX = this.containment ? (!(left - this.offset.click.left < this.containment[0] || left - this.offset.click.left > this.containment[2]) ? left : (!(left - this.offset.click.left < this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;\n\t\t\t}\n\n\t\t}\n\n\t\treturn {\n\t\t\ttop: (\n\t\t\t\tpageY\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\t- this.offset.click.top\t\t\t\t\t\t\t\t\t\t\t\t\t// Click offset (relative to the element)\n\t\t\t\t- this.offset.relative.top\t\t\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\t- this.offset.parent.top\t\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t+ ( ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))\n\t\t\t),\n\t\t\tleft: (\n\t\t\t\tpageX\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\t- this.offset.click.left\t\t\t\t\t\t\t\t\t\t\t\t// Click offset (relative to the element)\n\t\t\t\t- this.offset.relative.left\t\t\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\t- this.offset.parent.left\t\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t+ ( ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_rearrange: function(event, i, a, hardRefresh) {\n\n\t\ta ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction == 'down' ? i.item[0] : i.item[0].nextSibling));\n\n\t\t//Various things done here to improve the performance:\n\t\t// 1. we create a setTimeout, that calls refreshPositions\n\t\t// 2. on the instance, we have a counter variable, that get's higher after every append\n\t\t// 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same\n\t\t// 4. this lets only the last addition to the timeout stack through\n\t\tthis.counter = this.counter ? ++this.counter : 1;\n\t\tvar counter = this.counter;\n\n\t\tthis._delay(function() {\n\t\t\tif(counter == this.counter) this.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove\n\t\t});\n\n\t},\n\n\t_clear: function(event, noPropagation) {\n\n\t\tthis.reverting = false;\n\t\t// We delay all events that have to be triggered to after the point where the placeholder has been removed and\n\t\t// everything else normalized again\n\t\tvar delayedTriggers = [];\n\n\t\t// We first have to update the dom position of the actual currentItem\n\t\t// Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088)\n\t\tif(!this._noFinalSort && this.currentItem.parent().length) this.placeholder.before(this.currentItem);\n\t\tthis._noFinalSort = null;\n\n\t\tif(this.helper[0] == this.currentItem[0]) {\n\t\t\tfor(var i in this._storedCSS) {\n\t\t\t\tif(this._storedCSS[i] == 'auto' || this._storedCSS[i] == 'static') this._storedCSS[i] = '';\n\t\t\t}\n\t\t\tthis.currentItem.css(this._storedCSS).removeClass(\"ui-sortable-helper\");\n\t\t} else {\n\t\t\tthis.currentItem.show();\n\t\t}\n\n\t\tif(this.fromOutside && !noPropagation) delayedTriggers.push(function(event) { this._trigger(\"receive\", event, this._uiHash(this.fromOutside)); });\n\t\tif((this.fromOutside || this.domPosition.prev != this.currentItem.prev().not(\".ui-sortable-helper\")[0] || this.domPosition.parent != this.currentItem.parent()[0]) && !noPropagation) delayedTriggers.push(function(event) { this._trigger(\"update\", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed\n\n\t\t// Check if the items Container has Changed and trigger appropriate\n\t\t// events.\n\t\tif (this !== this.currentContainer) {\n\t\t\tif(!noPropagation) {\n\t\t\t\tdelayedTriggers.push(function(event) { this._trigger(\"remove\", event, this._uiHash()); });\n\t\t\t\tdelayedTriggers.push((function(c) { return function(event) { c._trigger(\"receive\", event, this._uiHash(this)); };  }).call(this, this.currentContainer));\n\t\t\t\tdelayedTriggers.push((function(c) { return function(event) { c._trigger(\"update\", event, this._uiHash(this));  }; }).call(this, this.currentContainer));\n\t\t\t}\n\t\t}\n\n\n\t\t//Post events to containers\n\t\tfor (var i = this.containers.length - 1; i >= 0; i--){\n\t\t\tif(!noPropagation) delayedTriggers.push((function(c) { return function(event) { c._trigger(\"deactivate\", event, this._uiHash(this)); };  }).call(this, this.containers[i]));\n\t\t\tif(this.containers[i].containerCache.over) {\n\t\t\t\tdelayedTriggers.push((function(c) { return function(event) { c._trigger(\"out\", event, this._uiHash(this)); };  }).call(this, this.containers[i]));\n\t\t\t\tthis.containers[i].containerCache.over = 0;\n\t\t\t}\n\t\t}\n\n\t\t//Do what was originally in plugins\n\t\tif(this._storedCursor) $('body').css(\"cursor\", this._storedCursor); //Reset cursor\n\t\tif(this._storedOpacity) this.helper.css(\"opacity\", this._storedOpacity); //Reset opacity\n\t\tif(this._storedZIndex) this.helper.css(\"zIndex\", this._storedZIndex == 'auto' ? '' : this._storedZIndex); //Reset z-index\n\n\t\tthis.dragging = false;\n\t\tif(this.cancelHelperRemoval) {\n\t\t\tif(!noPropagation) {\n\t\t\t\tthis._trigger(\"beforeStop\", event, this._uiHash());\n\t\t\t\tfor (var i=0; i < delayedTriggers.length; i++) { delayedTriggers[i].call(this, event); }; //Trigger all delayed events\n\t\t\t\tthis._trigger(\"stop\", event, this._uiHash());\n\t\t\t}\n\n\t\t\tthis.fromOutside = false;\n\t\t\treturn false;\n\t\t}\n\n\t\tif(!noPropagation) this._trigger(\"beforeStop\", event, this._uiHash());\n\n\t\t//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!\n\t\tthis.placeholder[0].parentNode.removeChild(this.placeholder[0]);\n\n\t\tif(this.helper[0] != this.currentItem[0]) this.helper.remove(); this.helper = null;\n\n\t\tif(!noPropagation) {\n\t\t\tfor (var i=0; i < delayedTriggers.length; i++) { delayedTriggers[i].call(this, event); }; //Trigger all delayed events\n\t\t\tthis._trigger(\"stop\", event, this._uiHash());\n\t\t}\n\n\t\tthis.fromOutside = false;\n\t\treturn true;\n\n\t},\n\n\t_trigger: function() {\n\t\tif ($.Widget.prototype._trigger.apply(this, arguments) === false) {\n\t\t\tthis.cancel();\n\t\t}\n\t},\n\n\t_uiHash: function(_inst) {\n\t\tvar inst = _inst || this;\n\t\treturn {\n\t\t\thelper: inst.helper,\n\t\t\tplaceholder: inst.placeholder || $([]),\n\t\t\tposition: inst.position,\n\t\t\toriginalPosition: inst.originalPosition,\n\t\t\toffset: inst.positionAbs,\n\t\t\titem: inst.currentItem,\n\t\t\tsender: _inst ? _inst.element : null\n\t\t};\n\t}\n\n});\n\n})(jQuery);\n(function( $ ) {\n\nfunction modifier( fn ) {\n\treturn function() {\n\t\tvar previous = this.element.val();\n\t\tfn.apply( this, arguments );\n\t\tthis._refresh();\n\t\tif ( previous !== this.element.val() ) {\n\t\t\tthis._trigger( \"change\" );\n\t\t}\n\t};\n}\n\n$.widget( \"ui.spinner\", {\n\tversion: \"1.9.2\",\n\tdefaultElement: \"<input>\",\n\twidgetEventPrefix: \"spin\",\n\toptions: {\n\t\tculture: null,\n\t\ticons: {\n\t\t\tdown: \"ui-icon-triangle-1-s\",\n\t\t\tup: \"ui-icon-triangle-1-n\"\n\t\t},\n\t\tincremental: true,\n\t\tmax: null,\n\t\tmin: null,\n\t\tnumberFormat: null,\n\t\tpage: 10,\n\t\tstep: 1,\n\n\t\tchange: null,\n\t\tspin: null,\n\t\tstart: null,\n\t\tstop: null\n\t},\n\n\t_create: function() {\n\t\t// handle string values that need to be parsed\n\t\tthis._setOption( \"max\", this.options.max );\n\t\tthis._setOption( \"min\", this.options.min );\n\t\tthis._setOption( \"step\", this.options.step );\n\n\t\t// format the value, but don't constrain\n\t\tthis._value( this.element.val(), true );\n\n\t\tthis._draw();\n\t\tthis._on( this._events );\n\t\tthis._refresh();\n\n\t\t// turning off autocomplete prevents the browser from remembering the\n\t\t// value when navigating through history, so we re-enable autocomplete\n\t\t// if the page is unloaded before the widget is destroyed. #7790\n\t\tthis._on( this.window, {\n\t\t\tbeforeunload: function() {\n\t\t\t\tthis.element.removeAttr( \"autocomplete\" );\n\t\t\t}\n\t\t});\n\t},\n\n\t_getCreateOptions: function() {\n\t\tvar options = {},\n\t\t\telement = this.element;\n\n\t\t$.each( [ \"min\", \"max\", \"step\" ], function( i, option ) {\n\t\t\tvar value = element.attr( option );\n\t\t\tif ( value !== undefined && value.length ) {\n\t\t\t\toptions[ option ] = value;\n\t\t\t}\n\t\t});\n\n\t\treturn options;\n\t},\n\n\t_events: {\n\t\tkeydown: function( event ) {\n\t\t\tif ( this._start( event ) && this._keydown( event ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\tkeyup: \"_stop\",\n\t\tfocus: function() {\n\t\t\tthis.previous = this.element.val();\n\t\t},\n\t\tblur: function( event ) {\n\t\t\tif ( this.cancelBlur ) {\n\t\t\t\tdelete this.cancelBlur;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._refresh();\n\t\t\tif ( this.previous !== this.element.val() ) {\n\t\t\t\tthis._trigger( \"change\", event );\n\t\t\t}\n\t\t},\n\t\tmousewheel: function( event, delta ) {\n\t\t\tif ( !delta ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( !this.spinning && !this._start( event ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis._spin( (delta > 0 ? 1 : -1) * this.options.step, event );\n\t\t\tclearTimeout( this.mousewheelTimer );\n\t\t\tthis.mousewheelTimer = this._delay(function() {\n\t\t\t\tif ( this.spinning ) {\n\t\t\t\t\tthis._stop( event );\n\t\t\t\t}\n\t\t\t}, 100 );\n\t\t\tevent.preventDefault();\n\t\t},\n\t\t\"mousedown .ui-spinner-button\": function( event ) {\n\t\t\tvar previous;\n\n\t\t\t// We never want the buttons to have focus; whenever the user is\n\t\t\t// interacting with the spinner, the focus should be on the input.\n\t\t\t// If the input is focused then this.previous is properly set from\n\t\t\t// when the input first received focus. If the input is not focused\n\t\t\t// then we need to set this.previous based on the value before spinning.\n\t\t\tprevious = this.element[0] === this.document[0].activeElement ?\n\t\t\t\tthis.previous : this.element.val();\n\t\t\tfunction checkFocus() {\n\t\t\t\tvar isActive = this.element[0] === this.document[0].activeElement;\n\t\t\t\tif ( !isActive ) {\n\t\t\t\t\tthis.element.focus();\n\t\t\t\t\tthis.previous = previous;\n\t\t\t\t\t// support: IE\n\t\t\t\t\t// IE sets focus asynchronously, so we need to check if focus\n\t\t\t\t\t// moved off of the input because the user clicked on the button.\n\t\t\t\t\tthis._delay(function() {\n\t\t\t\t\t\tthis.previous = previous;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// ensure focus is on (or stays on) the text field\n\t\t\tevent.preventDefault();\n\t\t\tcheckFocus.call( this );\n\n\t\t\t// support: IE\n\t\t\t// IE doesn't prevent moving focus even with event.preventDefault()\n\t\t\t// so we set a flag to know when we should ignore the blur event\n\t\t\t// and check (again) if focus moved off of the input.\n\t\t\tthis.cancelBlur = true;\n\t\t\tthis._delay(function() {\n\t\t\t\tdelete this.cancelBlur;\n\t\t\t\tcheckFocus.call( this );\n\t\t\t});\n\n\t\t\tif ( this._start( event ) === false ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._repeat( null, $( event.currentTarget ).hasClass( \"ui-spinner-up\" ) ? 1 : -1, event );\n\t\t},\n\t\t\"mouseup .ui-spinner-button\": \"_stop\",\n\t\t\"mouseenter .ui-spinner-button\": function( event ) {\n\t\t\t// button will add ui-state-active if mouse was down while mouseleave and kept down\n\t\t\tif ( !$( event.currentTarget ).hasClass( \"ui-state-active\" ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this._start( event ) === false ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis._repeat( null, $( event.currentTarget ).hasClass( \"ui-spinner-up\" ) ? 1 : -1, event );\n\t\t},\n\t\t// TODO: do we really want to consider this a stop?\n\t\t// shouldn't we just stop the repeater and wait until mouseup before\n\t\t// we trigger the stop event?\n\t\t\"mouseleave .ui-spinner-button\": \"_stop\"\n\t},\n\n\t_draw: function() {\n\t\tvar uiSpinner = this.uiSpinner = this.element\n\t\t\t.addClass( \"ui-spinner-input\" )\n\t\t\t.attr( \"autocomplete\", \"off\" )\n\t\t\t.wrap( this._uiSpinnerHtml() )\n\t\t\t.parent()\n\t\t\t\t// add buttons\n\t\t\t\t.append( this._buttonHtml() );\n\n\t\tthis.element.attr( \"role\", \"spinbutton\" );\n\n\t\t// button bindings\n\t\tthis.buttons = uiSpinner.find( \".ui-spinner-button\" )\n\t\t\t.attr( \"tabIndex\", -1 )\n\t\t\t.button()\n\t\t\t.removeClass( \"ui-corner-all\" );\n\n\t\t// IE 6 doesn't understand height: 50% for the buttons\n\t\t// unless the wrapper has an explicit height\n\t\tif ( this.buttons.height() > Math.ceil( uiSpinner.height() * 0.5 ) &&\n\t\t\t\tuiSpinner.height() > 0 ) {\n\t\t\tuiSpinner.height( uiSpinner.height() );\n\t\t}\n\n\t\t// disable spinner if element was already disabled\n\t\tif ( this.options.disabled ) {\n\t\t\tthis.disable();\n\t\t}\n\t},\n\n\t_keydown: function( event ) {\n\t\tvar options = this.options,\n\t\t\tkeyCode = $.ui.keyCode;\n\n\t\tswitch ( event.keyCode ) {\n\t\tcase keyCode.UP:\n\t\t\tthis._repeat( null, 1, event );\n\t\t\treturn true;\n\t\tcase keyCode.DOWN:\n\t\t\tthis._repeat( null, -1, event );\n\t\t\treturn true;\n\t\tcase keyCode.PAGE_UP:\n\t\t\tthis._repeat( null, options.page, event );\n\t\t\treturn true;\n\t\tcase keyCode.PAGE_DOWN:\n\t\t\tthis._repeat( null, -options.page, event );\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t_uiSpinnerHtml: function() {\n\t\treturn \"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>\";\n\t},\n\n\t_buttonHtml: function() {\n\t\treturn \"\" +\n\t\t\t\"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'>\" +\n\t\t\t\t\"<span class='ui-icon \" + this.options.icons.up + \"'>&#9650;</span>\" +\n\t\t\t\"</a>\" +\n\t\t\t\"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>\" +\n\t\t\t\t\"<span class='ui-icon \" + this.options.icons.down + \"'>&#9660;</span>\" +\n\t\t\t\"</a>\";\n\t},\n\n\t_start: function( event ) {\n\t\tif ( !this.spinning && this._trigger( \"start\", event ) === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( !this.counter ) {\n\t\t\tthis.counter = 1;\n\t\t}\n\t\tthis.spinning = true;\n\t\treturn true;\n\t},\n\n\t_repeat: function( i, steps, event ) {\n\t\ti = i || 500;\n\n\t\tclearTimeout( this.timer );\n\t\tthis.timer = this._delay(function() {\n\t\t\tthis._repeat( 40, steps, event );\n\t\t}, i );\n\n\t\tthis._spin( steps * this.options.step, event );\n\t},\n\n\t_spin: function( step, event ) {\n\t\tvar value = this.value() || 0;\n\n\t\tif ( !this.counter ) {\n\t\t\tthis.counter = 1;\n\t\t}\n\n\t\tvalue = this._adjustValue( value + step * this._increment( this.counter ) );\n\n\t\tif ( !this.spinning || this._trigger( \"spin\", event, { value: value } ) !== false) {\n\t\t\tthis._value( value );\n\t\t\tthis.counter++;\n\t\t}\n\t},\n\n\t_increment: function( i ) {\n\t\tvar incremental = this.options.incremental;\n\n\t\tif ( incremental ) {\n\t\t\treturn $.isFunction( incremental ) ?\n\t\t\t\tincremental( i ) :\n\t\t\t\tMath.floor( i*i*i/50000 - i*i/500 + 17*i/200 + 1 );\n\t\t}\n\n\t\treturn 1;\n\t},\n\n\t_precision: function() {\n\t\tvar precision = this._precisionOf( this.options.step );\n\t\tif ( this.options.min !== null ) {\n\t\t\tprecision = Math.max( precision, this._precisionOf( this.options.min ) );\n\t\t}\n\t\treturn precision;\n\t},\n\n\t_precisionOf: function( num ) {\n\t\tvar str = num.toString(),\n\t\t\tdecimal = str.indexOf( \".\" );\n\t\treturn decimal === -1 ? 0 : str.length - decimal - 1;\n\t},\n\n\t_adjustValue: function( value ) {\n\t\tvar base, aboveMin,\n\t\t\toptions = this.options;\n\n\t\t// make sure we're at a valid step\n\t\t// - find out where we are relative to the base (min or 0)\n\t\tbase = options.min !== null ? options.min : 0;\n\t\taboveMin = value - base;\n\t\t// - round to the nearest step\n\t\taboveMin = Math.round(aboveMin / options.step) * options.step;\n\t\t// - rounding is based on 0, so adjust back to our base\n\t\tvalue = base + aboveMin;\n\n\t\t// fix precision from bad JS floating point math\n\t\tvalue = parseFloat( value.toFixed( this._precision() ) );\n\n\t\t// clamp the value\n\t\tif ( options.max !== null && value > options.max) {\n\t\t\treturn options.max;\n\t\t}\n\t\tif ( options.min !== null && value < options.min ) {\n\t\t\treturn options.min;\n\t\t}\n\n\t\treturn value;\n\t},\n\n\t_stop: function( event ) {\n\t\tif ( !this.spinning ) {\n\t\t\treturn;\n\t\t}\n\n\t\tclearTimeout( this.timer );\n\t\tclearTimeout( this.mousewheelTimer );\n\t\tthis.counter = 0;\n\t\tthis.spinning = false;\n\t\tthis._trigger( \"stop\", event );\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"culture\" || key === \"numberFormat\" ) {\n\t\t\tvar prevValue = this._parse( this.element.val() );\n\t\t\tthis.options[ key ] = value;\n\t\t\tthis.element.val( this._format( prevValue ) );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key === \"max\" || key === \"min\" || key === \"step\" ) {\n\t\t\tif ( typeof value === \"string\" ) {\n\t\t\t\tvalue = this._parse( value );\n\t\t\t}\n\t\t}\n\n\t\tthis._super( key, value );\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tif ( value ) {\n\t\t\t\tthis.element.prop( \"disabled\", true );\n\t\t\t\tthis.buttons.button( \"disable\" );\n\t\t\t} else {\n\t\t\t\tthis.element.prop( \"disabled\", false );\n\t\t\t\tthis.buttons.button( \"enable\" );\n\t\t\t}\n\t\t}\n\t},\n\n\t_setOptions: modifier(function( options ) {\n\t\tthis._super( options );\n\t\tthis._value( this.element.val() );\n\t}),\n\n\t_parse: function( val ) {\n\t\tif ( typeof val === \"string\" && val !== \"\" ) {\n\t\t\tval = window.Globalize && this.options.numberFormat ?\n\t\t\t\tGlobalize.parseFloat( val, 10, this.options.culture ) : +val;\n\t\t}\n\t\treturn val === \"\" || isNaN( val ) ? null : val;\n\t},\n\n\t_format: function( value ) {\n\t\tif ( value === \"\" ) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn window.Globalize && this.options.numberFormat ?\n\t\t\tGlobalize.format( value, this.options.numberFormat, this.options.culture ) :\n\t\t\tvalue;\n\t},\n\n\t_refresh: function() {\n\t\tthis.element.attr({\n\t\t\t\"aria-valuemin\": this.options.min,\n\t\t\t\"aria-valuemax\": this.options.max,\n\t\t\t// TODO: what should we do with values that can't be parsed?\n\t\t\t\"aria-valuenow\": this._parse( this.element.val() )\n\t\t});\n\t},\n\n\t// update the value without triggering change\n\t_value: function( value, allowAny ) {\n\t\tvar parsed;\n\t\tif ( value !== \"\" ) {\n\t\t\tparsed = this._parse( value );\n\t\t\tif ( parsed !== null ) {\n\t\t\t\tif ( !allowAny ) {\n\t\t\t\t\tparsed = this._adjustValue( parsed );\n\t\t\t\t}\n\t\t\t\tvalue = this._format( parsed );\n\t\t\t}\n\t\t}\n\t\tthis.element.val( value );\n\t\tthis._refresh();\n\t},\n\n\t_destroy: function() {\n\t\tthis.element\n\t\t\t.removeClass( \"ui-spinner-input\" )\n\t\t\t.prop( \"disabled\", false )\n\t\t\t.removeAttr( \"autocomplete\" )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"aria-valuemin\" )\n\t\t\t.removeAttr( \"aria-valuemax\" )\n\t\t\t.removeAttr( \"aria-valuenow\" );\n\t\tthis.uiSpinner.replaceWith( this.element );\n\t},\n\n\tstepUp: modifier(function( steps ) {\n\t\tthis._stepUp( steps );\n\t}),\n\t_stepUp: function( steps ) {\n\t\tthis._spin( (steps || 1) * this.options.step );\n\t},\n\n\tstepDown: modifier(function( steps ) {\n\t\tthis._stepDown( steps );\n\t}),\n\t_stepDown: function( steps ) {\n\t\tthis._spin( (steps || 1) * -this.options.step );\n\t},\n\n\tpageUp: modifier(function( pages ) {\n\t\tthis._stepUp( (pages || 1) * this.options.page );\n\t}),\n\n\tpageDown: modifier(function( pages ) {\n\t\tthis._stepDown( (pages || 1) * this.options.page );\n\t}),\n\n\tvalue: function( newVal ) {\n\t\tif ( !arguments.length ) {\n\t\t\treturn this._parse( this.element.val() );\n\t\t}\n\t\tmodifier( this._value ).call( this, newVal );\n\t},\n\n\twidget: function() {\n\t\treturn this.uiSpinner;\n\t}\n});\n\n}( jQuery ) );\n(function( $, undefined ) {\n\nvar tabId = 0,\n\trhash = /#.*$/;\n\nfunction getNextTabId() {\n\treturn ++tabId;\n}\n\nfunction isLocal( anchor ) {\n\treturn anchor.hash.length > 1 &&\n\t\tanchor.href.replace( rhash, \"\" ) ===\n\t\t\tlocation.href.replace( rhash, \"\" )\n\t\t\t\t// support: Safari 5.1\n\t\t\t\t// Safari 5.1 doesn't encode spaces in window.location\n\t\t\t\t// but it does encode spaces from anchors (#8777)\n\t\t\t\t.replace( /\\s/g, \"%20\" );\n}\n\n$.widget( \"ui.tabs\", {\n\tversion: \"1.9.2\",\n\tdelay: 300,\n\toptions: {\n\t\tactive: null,\n\t\tcollapsible: false,\n\t\tevent: \"click\",\n\t\theightStyle: \"content\",\n\t\thide: null,\n\t\tshow: null,\n\n\t\t// callbacks\n\t\tactivate: null,\n\t\tbeforeActivate: null,\n\t\tbeforeLoad: null,\n\t\tload: null\n\t},\n\n\t_create: function() {\n\t\tvar that = this,\n\t\t\toptions = this.options,\n\t\t\tactive = options.active,\n\t\t\tlocationHash = location.hash.substring( 1 );\n\n\t\tthis.running = false;\n\n\t\tthis.element\n\t\t\t.addClass( \"ui-tabs ui-widget ui-widget-content ui-corner-all\" )\n\t\t\t.toggleClass( \"ui-tabs-collapsible\", options.collapsible )\n\t\t\t// Prevent users from focusing disabled tabs via click\n\t\t\t.delegate( \".ui-tabs-nav > li\", \"mousedown\" + this.eventNamespace, function( event ) {\n\t\t\t\tif ( $( this ).is( \".ui-state-disabled\" ) ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t})\n\t\t\t// support: IE <9\n\t\t\t// Preventing the default action in mousedown doesn't prevent IE\n\t\t\t// from focusing the element, so if the anchor gets focused, blur.\n\t\t\t// We don't have to worry about focusing the previously focused\n\t\t\t// element since clicking on a non-focusable element should focus\n\t\t\t// the body anyway.\n\t\t\t.delegate( \".ui-tabs-anchor\", \"focus\" + this.eventNamespace, function() {\n\t\t\t\tif ( $( this ).closest( \"li\" ).is( \".ui-state-disabled\" ) ) {\n\t\t\t\t\tthis.blur();\n\t\t\t\t}\n\t\t\t});\n\n\t\tthis._processTabs();\n\n\t\tif ( active === null ) {\n\t\t\t// check the fragment identifier in the URL\n\t\t\tif ( locationHash ) {\n\t\t\t\tthis.tabs.each(function( i, tab ) {\n\t\t\t\t\tif ( $( tab ).attr( \"aria-controls\" ) === locationHash ) {\n\t\t\t\t\t\tactive = i;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// check for a tab marked active via a class\n\t\t\tif ( active === null ) {\n\t\t\t\tactive = this.tabs.index( this.tabs.filter( \".ui-tabs-active\" ) );\n\t\t\t}\n\n\t\t\t// no active tab, set to false\n\t\t\tif ( active === null || active === -1 ) {\n\t\t\t\tactive = this.tabs.length ? 0 : false;\n\t\t\t}\n\t\t}\n\n\t\t// handle numbers: negative, out of range\n\t\tif ( active !== false ) {\n\t\t\tactive = this.tabs.index( this.tabs.eq( active ) );\n\t\t\tif ( active === -1 ) {\n\t\t\t\tactive = options.collapsible ? false : 0;\n\t\t\t}\n\t\t}\n\t\toptions.active = active;\n\n\t\t// don't allow collapsible: false and active: false\n\t\tif ( !options.collapsible && options.active === false && this.anchors.length ) {\n\t\t\toptions.active = 0;\n\t\t}\n\n\t\t// Take disabling tabs via class attribute from HTML\n\t\t// into account and update option properly.\n\t\tif ( $.isArray( options.disabled ) ) {\n\t\t\toptions.disabled = $.unique( options.disabled.concat(\n\t\t\t\t$.map( this.tabs.filter( \".ui-state-disabled\" ), function( li ) {\n\t\t\t\t\treturn that.tabs.index( li );\n\t\t\t\t})\n\t\t\t) ).sort();\n\t\t}\n\n\t\t// check for length avoids error when initializing empty list\n\t\tif ( this.options.active !== false && this.anchors.length ) {\n\t\t\tthis.active = this._findActive( this.options.active );\n\t\t} else {\n\t\t\tthis.active = $();\n\t\t}\n\n\t\tthis._refresh();\n\n\t\tif ( this.active.length ) {\n\t\t\tthis.load( options.active );\n\t\t}\n\t},\n\n\t_getCreateEventData: function() {\n\t\treturn {\n\t\t\ttab: this.active,\n\t\t\tpanel: !this.active.length ? $() : this._getPanelForTab( this.active )\n\t\t};\n\t},\n\n\t_tabKeydown: function( event ) {\n\t\tvar focusedTab = $( this.document[0].activeElement ).closest( \"li\" ),\n\t\t\tselectedIndex = this.tabs.index( focusedTab ),\n\t\t\tgoingForward = true;\n\n\t\tif ( this._handlePageNav( event ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase $.ui.keyCode.RIGHT:\n\t\t\tcase $.ui.keyCode.DOWN:\n\t\t\t\tselectedIndex++;\n\t\t\t\tbreak;\n\t\t\tcase $.ui.keyCode.UP:\n\t\t\tcase $.ui.keyCode.LEFT:\n\t\t\t\tgoingForward = false;\n\t\t\t\tselectedIndex--;\n\t\t\t\tbreak;\n\t\t\tcase $.ui.keyCode.END:\n\t\t\t\tselectedIndex = this.anchors.length - 1;\n\t\t\t\tbreak;\n\t\t\tcase $.ui.keyCode.HOME:\n\t\t\t\tselectedIndex = 0;\n\t\t\t\tbreak;\n\t\t\tcase $.ui.keyCode.SPACE:\n\t\t\t\t// Activate only, no collapsing\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclearTimeout( this.activating );\n\t\t\t\tthis._activate( selectedIndex );\n\t\t\t\treturn;\n\t\t\tcase $.ui.keyCode.ENTER:\n\t\t\t\t// Toggle (cancel delayed activation, allow collapsing)\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclearTimeout( this.activating );\n\t\t\t\t// Determine if we should collapse or activate\n\t\t\t\tthis._activate( selectedIndex === this.options.active ? false : selectedIndex );\n\t\t\t\treturn;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\n\t\t// Focus the appropriate tab, based on which key was pressed\n\t\tevent.preventDefault();\n\t\tclearTimeout( this.activating );\n\t\tselectedIndex = this._focusNextTab( selectedIndex, goingForward );\n\n\t\t// Navigating with control key will prevent automatic activation\n\t\tif ( !event.ctrlKey ) {\n\t\t\t// Update aria-selected immediately so that AT think the tab is already selected.\n\t\t\t// Otherwise AT may confuse the user by stating that they need to activate the tab,\n\t\t\t// but the tab will already be activated by the time the announcement finishes.\n\t\t\tfocusedTab.attr( \"aria-selected\", \"false\" );\n\t\t\tthis.tabs.eq( selectedIndex ).attr( \"aria-selected\", \"true\" );\n\n\t\t\tthis.activating = this._delay(function() {\n\t\t\t\tthis.option( \"active\", selectedIndex );\n\t\t\t}, this.delay );\n\t\t}\n\t},\n\n\t_panelKeydown: function( event ) {\n\t\tif ( this._handlePageNav( event ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Ctrl+up moves focus to the current tab\n\t\tif ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.active.focus();\n\t\t}\n\t},\n\n\t// Alt+page up/down moves focus to the previous/next tab (and activates)\n\t_handlePageNav: function( event ) {\n\t\tif ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) {\n\t\t\tthis._activate( this._focusNextTab( this.options.active - 1, false ) );\n\t\t\treturn true;\n\t\t}\n\t\tif ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) {\n\t\t\tthis._activate( this._focusNextTab( this.options.active + 1, true ) );\n\t\t\treturn true;\n\t\t}\n\t},\n\n\t_findNextTab: function( index, goingForward ) {\n\t\tvar lastTabIndex = this.tabs.length - 1;\n\n\t\tfunction constrain() {\n\t\t\tif ( index > lastTabIndex ) {\n\t\t\t\tindex = 0;\n\t\t\t}\n\t\t\tif ( index < 0 ) {\n\t\t\t\tindex = lastTabIndex;\n\t\t\t}\n\t\t\treturn index;\n\t\t}\n\n\t\twhile ( $.inArray( constrain(), this.options.disabled ) !== -1 ) {\n\t\t\tindex = goingForward ? index + 1 : index - 1;\n\t\t}\n\n\t\treturn index;\n\t},\n\n\t_focusNextTab: function( index, goingForward ) {\n\t\tindex = this._findNextTab( index, goingForward );\n\t\tthis.tabs.eq( index ).focus();\n\t\treturn index;\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"active\" ) {\n\t\t\t// _activate() will handle invalid values and update this.options\n\t\t\tthis._activate( value );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\t// don't use the widget factory's disabled handling\n\t\t\tthis._setupDisabled( value );\n\t\t\treturn;\n\t\t}\n\n\t\tthis._super( key, value);\n\n\t\tif ( key === \"collapsible\" ) {\n\t\t\tthis.element.toggleClass( \"ui-tabs-collapsible\", value );\n\t\t\t// Setting collapsible: false while collapsed; open first panel\n\t\t\tif ( !value && this.options.active === false ) {\n\t\t\t\tthis._activate( 0 );\n\t\t\t}\n\t\t}\n\n\t\tif ( key === \"event\" ) {\n\t\t\tthis._setupEvents( value );\n\t\t}\n\n\t\tif ( key === \"heightStyle\" ) {\n\t\t\tthis._setupHeightStyle( value );\n\t\t}\n\t},\n\n\t_tabId: function( tab ) {\n\t\treturn tab.attr( \"aria-controls\" ) || \"ui-tabs-\" + getNextTabId();\n\t},\n\n\t_sanitizeSelector: function( hash ) {\n\t\treturn hash ? hash.replace( /[!\"$%&'()*+,.\\/:;<=>?@\\[\\]\\^`{|}~]/g, \"\\\\$&\" ) : \"\";\n\t},\n\n\trefresh: function() {\n\t\tvar options = this.options,\n\t\t\tlis = this.tablist.children( \":has(a[href])\" );\n\n\t\t// get disabled tabs from class attribute from HTML\n\t\t// this will get converted to a boolean if needed in _refresh()\n\t\toptions.disabled = $.map( lis.filter( \".ui-state-disabled\" ), function( tab ) {\n\t\t\treturn lis.index( tab );\n\t\t});\n\n\t\tthis._processTabs();\n\n\t\t// was collapsed or no tabs\n\t\tif ( options.active === false || !this.anchors.length ) {\n\t\t\toptions.active = false;\n\t\t\tthis.active = $();\n\t\t// was active, but active tab is gone\n\t\t} else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) {\n\t\t\t// all remaining tabs are disabled\n\t\t\tif ( this.tabs.length === options.disabled.length ) {\n\t\t\t\toptions.active = false;\n\t\t\t\tthis.active = $();\n\t\t\t// activate previous tab\n\t\t\t} else {\n\t\t\t\tthis._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) );\n\t\t\t}\n\t\t// was active, active tab still exists\n\t\t} else {\n\t\t\t// make sure active index is correct\n\t\t\toptions.active = this.tabs.index( this.active );\n\t\t}\n\n\t\tthis._refresh();\n\t},\n\n\t_refresh: function() {\n\t\tthis._setupDisabled( this.options.disabled );\n\t\tthis._setupEvents( this.options.event );\n\t\tthis._setupHeightStyle( this.options.heightStyle );\n\n\t\tthis.tabs.not( this.active ).attr({\n\t\t\t\"aria-selected\": \"false\",\n\t\t\ttabIndex: -1\n\t\t});\n\t\tthis.panels.not( this._getPanelForTab( this.active ) )\n\t\t\t.hide()\n\t\t\t.attr({\n\t\t\t\t\"aria-expanded\": \"false\",\n\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t});\n\n\t\t// Make sure one tab is in the tab order\n\t\tif ( !this.active.length ) {\n\t\t\tthis.tabs.eq( 0 ).attr( \"tabIndex\", 0 );\n\t\t} else {\n\t\t\tthis.active\n\t\t\t\t.addClass( \"ui-tabs-active ui-state-active\" )\n\t\t\t\t.attr({\n\t\t\t\t\t\"aria-selected\": \"true\",\n\t\t\t\t\ttabIndex: 0\n\t\t\t\t});\n\t\t\tthis._getPanelForTab( this.active )\n\t\t\t\t.show()\n\t\t\t\t.attr({\n\t\t\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\t\t\"aria-hidden\": \"false\"\n\t\t\t\t});\n\t\t}\n\t},\n\n\t_processTabs: function() {\n\t\tvar that = this;\n\n\t\tthis.tablist = this._getList()\n\t\t\t.addClass( \"ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all\" )\n\t\t\t.attr( \"role\", \"tablist\" );\n\n\t\tthis.tabs = this.tablist.find( \"> li:has(a[href])\" )\n\t\t\t.addClass( \"ui-state-default ui-corner-top\" )\n\t\t\t.attr({\n\t\t\t\trole: \"tab\",\n\t\t\t\ttabIndex: -1\n\t\t\t});\n\n\t\tthis.anchors = this.tabs.map(function() {\n\t\t\t\treturn $( \"a\", this )[ 0 ];\n\t\t\t})\n\t\t\t.addClass( \"ui-tabs-anchor\" )\n\t\t\t.attr({\n\t\t\t\trole: \"presentation\",\n\t\t\t\ttabIndex: -1\n\t\t\t});\n\n\t\tthis.panels = $();\n\n\t\tthis.anchors.each(function( i, anchor ) {\n\t\t\tvar selector, panel, panelId,\n\t\t\t\tanchorId = $( anchor ).uniqueId().attr( \"id\" ),\n\t\t\t\ttab = $( anchor ).closest( \"li\" ),\n\t\t\t\toriginalAriaControls = tab.attr( \"aria-controls\" );\n\n\t\t\t// inline tab\n\t\t\tif ( isLocal( anchor ) ) {\n\t\t\t\tselector = anchor.hash;\n\t\t\t\tpanel = that.element.find( that._sanitizeSelector( selector ) );\n\t\t\t// remote tab\n\t\t\t} else {\n\t\t\t\tpanelId = that._tabId( tab );\n\t\t\t\tselector = \"#\" + panelId;\n\t\t\t\tpanel = that.element.find( selector );\n\t\t\t\tif ( !panel.length ) {\n\t\t\t\t\tpanel = that._createPanel( panelId );\n\t\t\t\t\tpanel.insertAfter( that.panels[ i - 1 ] || that.tablist );\n\t\t\t\t}\n\t\t\t\tpanel.attr( \"aria-live\", \"polite\" );\n\t\t\t}\n\n\t\t\tif ( panel.length) {\n\t\t\t\tthat.panels = that.panels.add( panel );\n\t\t\t}\n\t\t\tif ( originalAriaControls ) {\n\t\t\t\ttab.data( \"ui-tabs-aria-controls\", originalAriaControls );\n\t\t\t}\n\t\t\ttab.attr({\n\t\t\t\t\"aria-controls\": selector.substring( 1 ),\n\t\t\t\t\"aria-labelledby\": anchorId\n\t\t\t});\n\t\t\tpanel.attr( \"aria-labelledby\", anchorId );\n\t\t});\n\n\t\tthis.panels\n\t\t\t.addClass( \"ui-tabs-panel ui-widget-content ui-corner-bottom\" )\n\t\t\t.attr( \"role\", \"tabpanel\" );\n\t},\n\n\t// allow overriding how to find the list for rare usage scenarios (#7715)\n\t_getList: function() {\n\t\treturn this.element.find( \"ol,ul\" ).eq( 0 );\n\t},\n\n\t_createPanel: function( id ) {\n\t\treturn $( \"<div>\" )\n\t\t\t.attr( \"id\", id )\n\t\t\t.addClass( \"ui-tabs-panel ui-widget-content ui-corner-bottom\" )\n\t\t\t.data( \"ui-tabs-destroy\", true );\n\t},\n\n\t_setupDisabled: function( disabled ) {\n\t\tif ( $.isArray( disabled ) ) {\n\t\t\tif ( !disabled.length ) {\n\t\t\t\tdisabled = false;\n\t\t\t} else if ( disabled.length === this.anchors.length ) {\n\t\t\t\tdisabled = true;\n\t\t\t}\n\t\t}\n\n\t\t// disable tabs\n\t\tfor ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) {\n\t\t\tif ( disabled === true || $.inArray( i, disabled ) !== -1 ) {\n\t\t\t\t$( li )\n\t\t\t\t\t.addClass( \"ui-state-disabled\" )\n\t\t\t\t\t.attr( \"aria-disabled\", \"true\" );\n\t\t\t} else {\n\t\t\t\t$( li )\n\t\t\t\t\t.removeClass( \"ui-state-disabled\" )\n\t\t\t\t\t.removeAttr( \"aria-disabled\" );\n\t\t\t}\n\t\t}\n\n\t\tthis.options.disabled = disabled;\n\t},\n\n\t_setupEvents: function( event ) {\n\t\tvar events = {\n\t\t\tclick: function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t};\n\t\tif ( event ) {\n\t\t\t$.each( event.split(\" \"), function( index, eventName ) {\n\t\t\t\tevents[ eventName ] = \"_eventHandler\";\n\t\t\t});\n\t\t}\n\n\t\tthis._off( this.anchors.add( this.tabs ).add( this.panels ) );\n\t\tthis._on( this.anchors, events );\n\t\tthis._on( this.tabs, { keydown: \"_tabKeydown\" } );\n\t\tthis._on( this.panels, { keydown: \"_panelKeydown\" } );\n\n\t\tthis._focusable( this.tabs );\n\t\tthis._hoverable( this.tabs );\n\t},\n\n\t_setupHeightStyle: function( heightStyle ) {\n\t\tvar maxHeight, overflow,\n\t\t\tparent = this.element.parent();\n\n\t\tif ( heightStyle === \"fill\" ) {\n\t\t\t// IE 6 treats height like minHeight, so we need to turn off overflow\n\t\t\t// in order to get a reliable height\n\t\t\t// we use the minHeight support test because we assume that only\n\t\t\t// browsers that don't support minHeight will treat height as minHeight\n\t\t\tif ( !$.support.minHeight ) {\n\t\t\t\toverflow = parent.css( \"overflow\" );\n\t\t\t\tparent.css( \"overflow\", \"hidden\");\n\t\t\t}\n\t\t\tmaxHeight = parent.height();\n\t\t\tthis.element.siblings( \":visible\" ).each(function() {\n\t\t\t\tvar elem = $( this ),\n\t\t\t\t\tposition = elem.css( \"position\" );\n\n\t\t\t\tif ( position === \"absolute\" || position === \"fixed\" ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tmaxHeight -= elem.outerHeight( true );\n\t\t\t});\n\t\t\tif ( overflow ) {\n\t\t\t\tparent.css( \"overflow\", overflow );\n\t\t\t}\n\n\t\t\tthis.element.children().not( this.panels ).each(function() {\n\t\t\t\tmaxHeight -= $( this ).outerHeight( true );\n\t\t\t});\n\n\t\t\tthis.panels.each(function() {\n\t\t\t\t$( this ).height( Math.max( 0, maxHeight -\n\t\t\t\t\t$( this ).innerHeight() + $( this ).height() ) );\n\t\t\t})\n\t\t\t.css( \"overflow\", \"auto\" );\n\t\t} else if ( heightStyle === \"auto\" ) {\n\t\t\tmaxHeight = 0;\n\t\t\tthis.panels.each(function() {\n\t\t\t\tmaxHeight = Math.max( maxHeight, $( this ).height( \"\" ).height() );\n\t\t\t}).height( maxHeight );\n\t\t}\n\t},\n\n\t_eventHandler: function( event ) {\n\t\tvar options = this.options,\n\t\t\tactive = this.active,\n\t\t\tanchor = $( event.currentTarget ),\n\t\t\ttab = anchor.closest( \"li\" ),\n\t\t\tclickedIsActive = tab[ 0 ] === active[ 0 ],\n\t\t\tcollapsing = clickedIsActive && options.collapsible,\n\t\t\ttoShow = collapsing ? $() : this._getPanelForTab( tab ),\n\t\t\ttoHide = !active.length ? $() : this._getPanelForTab( active ),\n\t\t\teventData = {\n\t\t\t\toldTab: active,\n\t\t\t\toldPanel: toHide,\n\t\t\t\tnewTab: collapsing ? $() : tab,\n\t\t\t\tnewPanel: toShow\n\t\t\t};\n\n\t\tevent.preventDefault();\n\n\t\tif ( tab.hasClass( \"ui-state-disabled\" ) ||\n\t\t\t\t// tab is already loading\n\t\t\t\ttab.hasClass( \"ui-tabs-loading\" ) ||\n\t\t\t\t// can't switch durning an animation\n\t\t\t\tthis.running ||\n\t\t\t\t// click on active header, but not collapsible\n\t\t\t\t( clickedIsActive && !options.collapsible ) ||\n\t\t\t\t// allow canceling activation\n\t\t\t\t( this._trigger( \"beforeActivate\", event, eventData ) === false ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\toptions.active = collapsing ? false : this.tabs.index( tab );\n\n\t\tthis.active = clickedIsActive ? $() : tab;\n\t\tif ( this.xhr ) {\n\t\t\tthis.xhr.abort();\n\t\t}\n\n\t\tif ( !toHide.length && !toShow.length ) {\n\t\t\t$.error( \"jQuery UI Tabs: Mismatching fragment identifier.\" );\n\t\t}\n\n\t\tif ( toShow.length ) {\n\t\t\tthis.load( this.tabs.index( tab ), event );\n\t\t}\n\t\tthis._toggle( event, eventData );\n\t},\n\n\t// handles show/hide for selecting tabs\n\t_toggle: function( event, eventData ) {\n\t\tvar that = this,\n\t\t\ttoShow = eventData.newPanel,\n\t\t\ttoHide = eventData.oldPanel;\n\n\t\tthis.running = true;\n\n\t\tfunction complete() {\n\t\t\tthat.running = false;\n\t\t\tthat._trigger( \"activate\", event, eventData );\n\t\t}\n\n\t\tfunction show() {\n\t\t\teventData.newTab.closest( \"li\" ).addClass( \"ui-tabs-active ui-state-active\" );\n\n\t\t\tif ( toShow.length && that.options.show ) {\n\t\t\t\tthat._show( toShow, that.options.show, complete );\n\t\t\t} else {\n\t\t\t\ttoShow.show();\n\t\t\t\tcomplete();\n\t\t\t}\n\t\t}\n\n\t\t// start out by hiding, then showing, then completing\n\t\tif ( toHide.length && this.options.hide ) {\n\t\t\tthis._hide( toHide, this.options.hide, function() {\n\t\t\t\teventData.oldTab.closest( \"li\" ).removeClass( \"ui-tabs-active ui-state-active\" );\n\t\t\t\tshow();\n\t\t\t});\n\t\t} else {\n\t\t\teventData.oldTab.closest( \"li\" ).removeClass( \"ui-tabs-active ui-state-active\" );\n\t\t\ttoHide.hide();\n\t\t\tshow();\n\t\t}\n\n\t\ttoHide.attr({\n\t\t\t\"aria-expanded\": \"false\",\n\t\t\t\"aria-hidden\": \"true\"\n\t\t});\n\t\teventData.oldTab.attr( \"aria-selected\", \"false\" );\n\t\t// If we're switching tabs, remove the old tab from the tab order.\n\t\t// If we're opening from collapsed state, remove the previous tab from the tab order.\n\t\t// If we're collapsing, then keep the collapsing tab in the tab order.\n\t\tif ( toShow.length && toHide.length ) {\n\t\t\teventData.oldTab.attr( \"tabIndex\", -1 );\n\t\t} else if ( toShow.length ) {\n\t\t\tthis.tabs.filter(function() {\n\t\t\t\treturn $( this ).attr( \"tabIndex\" ) === 0;\n\t\t\t})\n\t\t\t.attr( \"tabIndex\", -1 );\n\t\t}\n\n\t\ttoShow.attr({\n\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\"aria-hidden\": \"false\"\n\t\t});\n\t\teventData.newTab.attr({\n\t\t\t\"aria-selected\": \"true\",\n\t\t\ttabIndex: 0\n\t\t});\n\t},\n\n\t_activate: function( index ) {\n\t\tvar anchor,\n\t\t\tactive = this._findActive( index );\n\n\t\t// trying to activate the already active panel\n\t\tif ( active[ 0 ] === this.active[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// trying to collapse, simulate a click on the current active header\n\t\tif ( !active.length ) {\n\t\t\tactive = this.active;\n\t\t}\n\n\t\tanchor = active.find( \".ui-tabs-anchor\" )[ 0 ];\n\t\tthis._eventHandler({\n\t\t\ttarget: anchor,\n\t\t\tcurrentTarget: anchor,\n\t\t\tpreventDefault: $.noop\n\t\t});\n\t},\n\n\t_findActive: function( index ) {\n\t\treturn index === false ? $() : this.tabs.eq( index );\n\t},\n\n\t_getIndex: function( index ) {\n\t\t// meta-function to give users option to provide a href string instead of a numerical index.\n\t\tif ( typeof index === \"string\" ) {\n\t\t\tindex = this.anchors.index( this.anchors.filter( \"[href$='\" + index + \"']\" ) );\n\t\t}\n\n\t\treturn index;\n\t},\n\n\t_destroy: function() {\n\t\tif ( this.xhr ) {\n\t\t\tthis.xhr.abort();\n\t\t}\n\n\t\tthis.element.removeClass( \"ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible\" );\n\n\t\tthis.tablist\n\t\t\t.removeClass( \"ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all\" )\n\t\t\t.removeAttr( \"role\" );\n\n\t\tthis.anchors\n\t\t\t.removeClass( \"ui-tabs-anchor\" )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"tabIndex\" )\n\t\t\t.removeData( \"href.tabs\" )\n\t\t\t.removeData( \"load.tabs\" )\n\t\t\t.removeUniqueId();\n\n\t\tthis.tabs.add( this.panels ).each(function() {\n\t\t\tif ( $.data( this, \"ui-tabs-destroy\" ) ) {\n\t\t\t\t$( this ).remove();\n\t\t\t} else {\n\t\t\t\t$( this )\n\t\t\t\t\t.removeClass( \"ui-state-default ui-state-active ui-state-disabled \" +\n\t\t\t\t\t\t\"ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel\" )\n\t\t\t\t\t.removeAttr( \"tabIndex\" )\n\t\t\t\t\t.removeAttr( \"aria-live\" )\n\t\t\t\t\t.removeAttr( \"aria-busy\" )\n\t\t\t\t\t.removeAttr( \"aria-selected\" )\n\t\t\t\t\t.removeAttr( \"aria-labelledby\" )\n\t\t\t\t\t.removeAttr( \"aria-hidden\" )\n\t\t\t\t\t.removeAttr( \"aria-expanded\" )\n\t\t\t\t\t.removeAttr( \"role\" );\n\t\t\t}\n\t\t});\n\n\t\tthis.tabs.each(function() {\n\t\t\tvar li = $( this ),\n\t\t\t\tprev = li.data( \"ui-tabs-aria-controls\" );\n\t\t\tif ( prev ) {\n\t\t\t\tli.attr( \"aria-controls\", prev );\n\t\t\t} else {\n\t\t\t\tli.removeAttr( \"aria-controls\" );\n\t\t\t}\n\t\t});\n\n\t\tthis.panels.show();\n\n\t\tif ( this.options.heightStyle !== \"content\" ) {\n\t\t\tthis.panels.css( \"height\", \"\" );\n\t\t}\n\t},\n\n\tenable: function( index ) {\n\t\tvar disabled = this.options.disabled;\n\t\tif ( disabled === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( index === undefined ) {\n\t\t\tdisabled = false;\n\t\t} else {\n\t\t\tindex = this._getIndex( index );\n\t\t\tif ( $.isArray( disabled ) ) {\n\t\t\t\tdisabled = $.map( disabled, function( num ) {\n\t\t\t\t\treturn num !== index ? num : null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdisabled = $.map( this.tabs, function( li, num ) {\n\t\t\t\t\treturn num !== index ? num : null;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tthis._setupDisabled( disabled );\n\t},\n\n\tdisable: function( index ) {\n\t\tvar disabled = this.options.disabled;\n\t\tif ( disabled === true ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( index === undefined ) {\n\t\t\tdisabled = true;\n\t\t} else {\n\t\t\tindex = this._getIndex( index );\n\t\t\tif ( $.inArray( index, disabled ) !== -1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( $.isArray( disabled ) ) {\n\t\t\t\tdisabled = $.merge( [ index ], disabled ).sort();\n\t\t\t} else {\n\t\t\t\tdisabled = [ index ];\n\t\t\t}\n\t\t}\n\t\tthis._setupDisabled( disabled );\n\t},\n\n\tload: function( index, event ) {\n\t\tindex = this._getIndex( index );\n\t\tvar that = this,\n\t\t\ttab = this.tabs.eq( index ),\n\t\t\tanchor = tab.find( \".ui-tabs-anchor\" ),\n\t\t\tpanel = this._getPanelForTab( tab ),\n\t\t\teventData = {\n\t\t\t\ttab: tab,\n\t\t\t\tpanel: panel\n\t\t\t};\n\n\t\t// not remote\n\t\tif ( isLocal( anchor[ 0 ] ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) );\n\n\t\t// support: jQuery <1.8\n\t\t// jQuery <1.8 returns false if the request is canceled in beforeSend,\n\t\t// but as of 1.8, $.ajax() always returns a jqXHR object.\n\t\tif ( this.xhr && this.xhr.statusText !== \"canceled\" ) {\n\t\t\ttab.addClass( \"ui-tabs-loading\" );\n\t\t\tpanel.attr( \"aria-busy\", \"true\" );\n\n\t\t\tthis.xhr\n\t\t\t\t.success(function( response ) {\n\t\t\t\t\t// support: jQuery <1.8\n\t\t\t\t\t// http://bugs.jquery.com/ticket/11778\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\tpanel.html( response );\n\t\t\t\t\t\tthat._trigger( \"load\", event, eventData );\n\t\t\t\t\t}, 1 );\n\t\t\t\t})\n\t\t\t\t.complete(function( jqXHR, status ) {\n\t\t\t\t\t// support: jQuery <1.8\n\t\t\t\t\t// http://bugs.jquery.com/ticket/11778\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\tif ( status === \"abort\" ) {\n\t\t\t\t\t\t\tthat.panels.stop( false, true );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttab.removeClass( \"ui-tabs-loading\" );\n\t\t\t\t\t\tpanel.removeAttr( \"aria-busy\" );\n\n\t\t\t\t\t\tif ( jqXHR === that.xhr ) {\n\t\t\t\t\t\t\tdelete that.xhr;\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 1 );\n\t\t\t\t});\n\t\t}\n\t},\n\n\t// TODO: Remove this function in 1.10 when ajaxOptions is removed\n\t_ajaxSettings: function( anchor, event, eventData ) {\n\t\tvar that = this;\n\t\treturn {\n\t\t\turl: anchor.attr( \"href\" ),\n\t\t\tbeforeSend: function( jqXHR, settings ) {\n\t\t\t\treturn that._trigger( \"beforeLoad\", event,\n\t\t\t\t\t$.extend( { jqXHR : jqXHR, ajaxSettings: settings }, eventData ) );\n\t\t\t}\n\t\t};\n\t},\n\n\t_getPanelForTab: function( tab ) {\n\t\tvar id = $( tab ).attr( \"aria-controls\" );\n\t\treturn this.element.find( this._sanitizeSelector( \"#\" + id ) );\n\t}\n});\n\n// DEPRECATED\nif ( $.uiBackCompat !== false ) {\n\n\t// helper method for a lot of the back compat extensions\n\t$.ui.tabs.prototype._ui = function( tab, panel ) {\n\t\treturn {\n\t\t\ttab: tab,\n\t\t\tpanel: panel,\n\t\t\tindex: this.anchors.index( tab )\n\t\t};\n\t};\n\n\t// url method\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\turl: function( index, url ) {\n\t\t\tthis.anchors.eq( index ).attr( \"href\", url );\n\t\t}\n\t});\n\n\t// TODO: Remove _ajaxSettings() method when removing this extension\n\t// ajaxOptions and cache options\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tajaxOptions: null,\n\t\t\tcache: false\n\t\t},\n\n\t\t_create: function() {\n\t\t\tthis._super();\n\n\t\t\tvar that = this;\n\n\t\t\tthis._on({ tabsbeforeload: function( event, ui ) {\n\t\t\t\t// tab is already cached\n\t\t\t\tif ( $.data( ui.tab[ 0 ], \"cache.tabs\" ) ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tui.jqXHR.success(function() {\n\t\t\t\t\tif ( that.options.cache ) {\n\t\t\t\t\t\t$.data( ui.tab[ 0 ], \"cache.tabs\", true );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}});\n\t\t},\n\n\t\t_ajaxSettings: function( anchor, event, ui ) {\n\t\t\tvar ajaxOptions = this.options.ajaxOptions;\n\t\t\treturn $.extend( {}, ajaxOptions, {\n\t\t\t\terror: function( xhr, status ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Passing index avoid a race condition when this method is\n\t\t\t\t\t\t// called after the user has selected another tab.\n\t\t\t\t\t\t// Pass the anchor that initiated this request allows\n\t\t\t\t\t\t// loadError to manipulate the tab content panel via $(a.hash)\n\t\t\t\t\t\tajaxOptions.error(\n\t\t\t\t\t\t\txhr, status, ui.tab.closest( \"li\" ).index(), ui.tab[ 0 ] );\n\t\t\t\t\t}\n\t\t\t\t\tcatch ( error ) {}\n\t\t\t\t}\n\t\t\t}, this._superApply( arguments ) );\n\t\t},\n\n\t\t_setOption: function( key, value ) {\n\t\t\t// reset cache if switching from cached to not cached\n\t\t\tif ( key === \"cache\" && value === false ) {\n\t\t\t\tthis.anchors.removeData( \"cache.tabs\" );\n\t\t\t}\n\t\t\tthis._super( key, value );\n\t\t},\n\n\t\t_destroy: function() {\n\t\t\tthis.anchors.removeData( \"cache.tabs\" );\n\t\t\tthis._super();\n\t\t},\n\n\t\turl: function( index ){\n\t\t\tthis.anchors.eq( index ).removeData( \"cache.tabs\" );\n\t\t\tthis._superApply( arguments );\n\t\t}\n\t});\n\n\t// abort method\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\tabort: function() {\n\t\t\tif ( this.xhr ) {\n\t\t\t\tthis.xhr.abort();\n\t\t\t}\n\t\t}\n\t});\n\n\t// spinner\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tspinner: \"<em>Loading&#8230;</em>\"\n\t\t},\n\t\t_create: function() {\n\t\t\tthis._super();\n\t\t\tthis._on({\n\t\t\t\ttabsbeforeload: function( event, ui ) {\n\t\t\t\t\t// Don't react to nested tabs or tabs that don't use a spinner\n\t\t\t\t\tif ( event.target !== this.element[ 0 ] ||\n\t\t\t\t\t\t\t!this.options.spinner ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar span = ui.tab.find( \"span\" ),\n\t\t\t\t\t\thtml = span.html();\n\t\t\t\t\tspan.html( this.options.spinner );\n\t\t\t\t\tui.jqXHR.complete(function() {\n\t\t\t\t\t\tspan.html( html );\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\t// enable/disable events\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tenable: null,\n\t\t\tdisable: null\n\t\t},\n\n\t\tenable: function( index ) {\n\t\t\tvar options = this.options,\n\t\t\t\ttrigger;\n\n\t\t\tif ( index && options.disabled === true ||\n\t\t\t\t\t( $.isArray( options.disabled ) && $.inArray( index, options.disabled ) !== -1 ) ) {\n\t\t\t\ttrigger = true;\n\t\t\t}\n\n\t\t\tthis._superApply( arguments );\n\n\t\t\tif ( trigger ) {\n\t\t\t\tthis._trigger( \"enable\", null, this._ui( this.anchors[ index ], this.panels[ index ] ) );\n\t\t\t}\n\t\t},\n\n\t\tdisable: function( index ) {\n\t\t\tvar options = this.options,\n\t\t\t\ttrigger;\n\n\t\t\tif ( index && options.disabled === false ||\n\t\t\t\t\t( $.isArray( options.disabled ) && $.inArray( index, options.disabled ) === -1 ) ) {\n\t\t\t\ttrigger = true;\n\t\t\t}\n\n\t\t\tthis._superApply( arguments );\n\n\t\t\tif ( trigger ) {\n\t\t\t\tthis._trigger( \"disable\", null, this._ui( this.anchors[ index ], this.panels[ index ] ) );\n\t\t\t}\n\t\t}\n\t});\n\n\t// add/remove methods and events\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tadd: null,\n\t\t\tremove: null,\n\t\t\ttabTemplate: \"<li><a href='#{href}'><span>#{label}</span></a></li>\"\n\t\t},\n\n\t\tadd: function( url, label, index ) {\n\t\t\tif ( index === undefined ) {\n\t\t\t\tindex = this.anchors.length;\n\t\t\t}\n\n\t\t\tvar doInsertAfter, panel,\n\t\t\t\toptions = this.options,\n\t\t\t\tli = $( options.tabTemplate\n\t\t\t\t\t.replace( /#\\{href\\}/g, url )\n\t\t\t\t\t.replace( /#\\{label\\}/g, label ) ),\n\t\t\t\tid = !url.indexOf( \"#\" ) ?\n\t\t\t\t\turl.replace( \"#\", \"\" ) :\n\t\t\t\t\tthis._tabId( li );\n\n\t\t\tli.addClass( \"ui-state-default ui-corner-top\" ).data( \"ui-tabs-destroy\", true );\n\t\t\tli.attr( \"aria-controls\", id );\n\n\t\t\tdoInsertAfter = index >= this.tabs.length;\n\n\t\t\t// try to find an existing element before creating a new one\n\t\t\tpanel = this.element.find( \"#\" + id );\n\t\t\tif ( !panel.length ) {\n\t\t\t\tpanel = this._createPanel( id );\n\t\t\t\tif ( doInsertAfter ) {\n\t\t\t\t\tif ( index > 0 ) {\n\t\t\t\t\t\tpanel.insertAfter( this.panels.eq( -1 ) );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpanel.appendTo( this.element );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tpanel.insertBefore( this.panels[ index ] );\n\t\t\t\t}\n\t\t\t}\n\t\t\tpanel.addClass( \"ui-tabs-panel ui-widget-content ui-corner-bottom\" ).hide();\n\n\t\t\tif ( doInsertAfter ) {\n\t\t\t\tli.appendTo( this.tablist );\n\t\t\t} else {\n\t\t\t\tli.insertBefore( this.tabs[ index ] );\n\t\t\t}\n\n\t\t\toptions.disabled = $.map( options.disabled, function( n ) {\n\t\t\t\treturn n >= index ? ++n : n;\n\t\t\t});\n\n\t\t\tthis.refresh();\n\t\t\tif ( this.tabs.length === 1 && options.active === false ) {\n\t\t\t\tthis.option( \"active\", 0 );\n\t\t\t}\n\n\t\t\tthis._trigger( \"add\", null, this._ui( this.anchors[ index ], this.panels[ index ] ) );\n\t\t\treturn this;\n\t\t},\n\n\t\tremove: function( index ) {\n\t\t\tindex = this._getIndex( index );\n\t\t\tvar options = this.options,\n\t\t\t\ttab = this.tabs.eq( index ).remove(),\n\t\t\t\tpanel = this._getPanelForTab( tab ).remove();\n\n\t\t\t// If selected tab was removed focus tab to the right or\n\t\t\t// in case the last tab was removed the tab to the left.\n\t\t\t// We check for more than 2 tabs, because if there are only 2,\n\t\t\t// then when we remove this tab, there will only be one tab left\n\t\t\t// so we don't need to detect which tab to activate.\n\t\t\tif ( tab.hasClass( \"ui-tabs-active\" ) && this.anchors.length > 2 ) {\n\t\t\t\tthis._activate( index + ( index + 1 < this.anchors.length ? 1 : -1 ) );\n\t\t\t}\n\n\t\t\toptions.disabled = $.map(\n\t\t\t\t$.grep( options.disabled, function( n ) {\n\t\t\t\t\treturn n !== index;\n\t\t\t\t}),\n\t\t\t\tfunction( n ) {\n\t\t\t\t\treturn n >= index ? --n : n;\n\t\t\t\t});\n\n\t\t\tthis.refresh();\n\n\t\t\tthis._trigger( \"remove\", null, this._ui( tab.find( \"a\" )[ 0 ], panel[ 0 ] ) );\n\t\t\treturn this;\n\t\t}\n\t});\n\n\t// length method\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\tlength: function() {\n\t\t\treturn this.anchors.length;\n\t\t}\n\t});\n\n\t// panel ids (idPrefix option + title attribute)\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tidPrefix: \"ui-tabs-\"\n\t\t},\n\n\t\t_tabId: function( tab ) {\n\t\t\tvar a = tab.is( \"li\" ) ? tab.find( \"a[href]\" ) : tab;\n\t\t\ta = a[0];\n\t\t\treturn $( a ).closest( \"li\" ).attr( \"aria-controls\" ) ||\n\t\t\t\ta.title && a.title.replace( /\\s/g, \"_\" ).replace( /[^\\w\\u00c0-\\uFFFF\\-]/g, \"\" ) ||\n\t\t\t\tthis.options.idPrefix + getNextTabId();\n\t\t}\n\t});\n\n\t// _createPanel method\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tpanelTemplate: \"<div></div>\"\n\t\t},\n\n\t\t_createPanel: function( id ) {\n\t\t\treturn $( this.options.panelTemplate )\n\t\t\t\t.attr( \"id\", id )\n\t\t\t\t.addClass( \"ui-tabs-panel ui-widget-content ui-corner-bottom\" )\n\t\t\t\t.data( \"ui-tabs-destroy\", true );\n\t\t}\n\t});\n\n\t// selected option\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\t_create: function() {\n\t\t\tvar options = this.options;\n\t\t\tif ( options.active === null && options.selected !== undefined ) {\n\t\t\t\toptions.active = options.selected === -1 ? false : options.selected;\n\t\t\t}\n\t\t\tthis._super();\n\t\t\toptions.selected = options.active;\n\t\t\tif ( options.selected === false ) {\n\t\t\t\toptions.selected = -1;\n\t\t\t}\n\t\t},\n\n\t\t_setOption: function( key, value ) {\n\t\t\tif ( key !== \"selected\" ) {\n\t\t\t\treturn this._super( key, value );\n\t\t\t}\n\n\t\t\tvar options = this.options;\n\t\t\tthis._super( \"active\", value === -1 ? false : value );\n\t\t\toptions.selected = options.active;\n\t\t\tif ( options.selected === false ) {\n\t\t\t\toptions.selected = -1;\n\t\t\t}\n\t\t},\n\n\t\t_eventHandler: function() {\n\t\t\tthis._superApply( arguments );\n\t\t\tthis.options.selected = this.options.active;\n\t\t\tif ( this.options.selected === false ) {\n\t\t\t\tthis.options.selected = -1;\n\t\t\t}\n\t\t}\n\t});\n\n\t// show and select event\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tshow: null,\n\t\t\tselect: null\n\t\t},\n\t\t_create: function() {\n\t\t\tthis._super();\n\t\t\tif ( this.options.active !== false ) {\n\t\t\t\tthis._trigger( \"show\", null, this._ui(\n\t\t\t\t\tthis.active.find( \".ui-tabs-anchor\" )[ 0 ],\n\t\t\t\t\tthis._getPanelForTab( this.active )[ 0 ] ) );\n\t\t\t}\n\t\t},\n\t\t_trigger: function( type, event, data ) {\n\t\t\tvar tab, panel,\n\t\t\t\tret = this._superApply( arguments );\n\n\t\t\tif ( !ret ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( type === \"beforeActivate\" ) {\n\t\t\t\ttab = data.newTab.length ? data.newTab : data.oldTab;\n\t\t\t\tpanel = data.newPanel.length ? data.newPanel : data.oldPanel;\n\t\t\t\tret = this._super( \"select\", event, {\n\t\t\t\t\ttab: tab.find( \".ui-tabs-anchor\" )[ 0],\n\t\t\t\t\tpanel: panel[ 0 ],\n\t\t\t\t\tindex: tab.closest( \"li\" ).index()\n\t\t\t\t});\n\t\t\t} else if ( type === \"activate\" && data.newTab.length ) {\n\t\t\t\tret = this._super( \"show\", event, {\n\t\t\t\t\ttab: data.newTab.find( \".ui-tabs-anchor\" )[ 0 ],\n\t\t\t\t\tpanel: data.newPanel[ 0 ],\n\t\t\t\t\tindex: data.newTab.closest( \"li\" ).index()\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t});\n\n\t// select method\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\tselect: function( index ) {\n\t\t\tindex = this._getIndex( index );\n\t\t\tif ( index === -1 ) {\n\t\t\t\tif ( this.options.collapsible && this.options.selected !== -1 ) {\n\t\t\t\t\tindex = this.options.selected;\n\t\t\t\t} else {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.anchors.eq( index ).trigger( this.options.event + this.eventNamespace );\n\t\t}\n\t});\n\n\t// cookie option\n\t(function() {\n\n\tvar listId = 0;\n\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tcookie: null // e.g. { expires: 7, path: '/', domain: 'jquery.com', secure: true }\n\t\t},\n\t\t_create: function() {\n\t\t\tvar options = this.options,\n\t\t\t\tactive;\n\t\t\tif ( options.active == null && options.cookie ) {\n\t\t\t\tactive = parseInt( this._cookie(), 10 );\n\t\t\t\tif ( active === -1 ) {\n\t\t\t\t\tactive = false;\n\t\t\t\t}\n\t\t\t\toptions.active = active;\n\t\t\t}\n\t\t\tthis._super();\n\t\t},\n\t\t_cookie: function( active ) {\n\t\t\tvar cookie = [ this.cookie ||\n\t\t\t\t( this.cookie = this.options.cookie.name || \"ui-tabs-\" + (++listId) ) ];\n\t\t\tif ( arguments.length ) {\n\t\t\t\tcookie.push( active === false ? -1 : active );\n\t\t\t\tcookie.push( this.options.cookie );\n\t\t\t}\n\t\t\treturn $.cookie.apply( null, cookie );\n\t\t},\n\t\t_refresh: function() {\n\t\t\tthis._super();\n\t\t\tif ( this.options.cookie ) {\n\t\t\t\tthis._cookie( this.options.active, this.options.cookie );\n\t\t\t}\n\t\t},\n\t\t_eventHandler: function() {\n\t\t\tthis._superApply( arguments );\n\t\t\tif ( this.options.cookie ) {\n\t\t\t\tthis._cookie( this.options.active, this.options.cookie );\n\t\t\t}\n\t\t},\n\t\t_destroy: function() {\n\t\t\tthis._super();\n\t\t\tif ( this.options.cookie ) {\n\t\t\t\tthis._cookie( null, this.options.cookie );\n\t\t\t}\n\t\t}\n\t});\n\n\t})();\n\n\t// load event\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\t_trigger: function( type, event, data ) {\n\t\t\tvar _data = $.extend( {}, data );\n\t\t\tif ( type === \"load\" ) {\n\t\t\t\t_data.panel = _data.panel[ 0 ];\n\t\t\t\t_data.tab = _data.tab.find( \".ui-tabs-anchor\" )[ 0 ];\n\t\t\t}\n\t\t\treturn this._super( type, event, _data );\n\t\t}\n\t});\n\n\t// fx option\n\t// The new animation options (show, hide) conflict with the old show callback.\n\t// The old fx option wins over show/hide anyway (always favor back-compat).\n\t// If a user wants to use the new animation API, they must give up the old API.\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tfx: null // e.g. { height: \"toggle\", opacity: \"toggle\", duration: 200 }\n\t\t},\n\n\t\t_getFx: function() {\n\t\t\tvar hide, show,\n\t\t\t\tfx = this.options.fx;\n\n\t\t\tif ( fx ) {\n\t\t\t\tif ( $.isArray( fx ) ) {\n\t\t\t\t\thide = fx[ 0 ];\n\t\t\t\t\tshow = fx[ 1 ];\n\t\t\t\t} else {\n\t\t\t\t\thide = show = fx;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn fx ? { show: show, hide: hide } : null;\n\t\t},\n\n\t\t_toggle: function( event, eventData ) {\n\t\t\tvar that = this,\n\t\t\t\ttoShow = eventData.newPanel,\n\t\t\t\ttoHide = eventData.oldPanel,\n\t\t\t\tfx = this._getFx();\n\n\t\t\tif ( !fx ) {\n\t\t\t\treturn this._super( event, eventData );\n\t\t\t}\n\n\t\t\tthat.running = true;\n\n\t\t\tfunction complete() {\n\t\t\t\tthat.running = false;\n\t\t\t\tthat._trigger( \"activate\", event, eventData );\n\t\t\t}\n\n\t\t\tfunction show() {\n\t\t\t\teventData.newTab.closest( \"li\" ).addClass( \"ui-tabs-active ui-state-active\" );\n\n\t\t\t\tif ( toShow.length && fx.show ) {\n\t\t\t\t\ttoShow\n\t\t\t\t\t\t.animate( fx.show, fx.show.duration, function() {\n\t\t\t\t\t\t\tcomplete();\n\t\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttoShow.show();\n\t\t\t\t\tcomplete();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// start out by hiding, then showing, then completing\n\t\t\tif ( toHide.length && fx.hide ) {\n\t\t\t\ttoHide.animate( fx.hide, fx.hide.duration, function() {\n\t\t\t\t\teventData.oldTab.closest( \"li\" ).removeClass( \"ui-tabs-active ui-state-active\" );\n\t\t\t\t\tshow();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\teventData.oldTab.closest( \"li\" ).removeClass( \"ui-tabs-active ui-state-active\" );\n\t\t\t\ttoHide.hide();\n\t\t\t\tshow();\n\t\t\t}\n\t\t}\n\t});\n}\n\n})( jQuery );\n(function( $ ) {\n\nvar increments = 0;\n\nfunction addDescribedBy( elem, id ) {\n\tvar describedby = (elem.attr( \"aria-describedby\" ) || \"\").split( /\\s+/ );\n\tdescribedby.push( id );\n\telem\n\t\t.data( \"ui-tooltip-id\", id )\n\t\t.attr( \"aria-describedby\", $.trim( describedby.join( \" \" ) ) );\n}\n\nfunction removeDescribedBy( elem ) {\n\tvar id = elem.data( \"ui-tooltip-id\" ),\n\t\tdescribedby = (elem.attr( \"aria-describedby\" ) || \"\").split( /\\s+/ ),\n\t\tindex = $.inArray( id, describedby );\n\tif ( index !== -1 ) {\n\t\tdescribedby.splice( index, 1 );\n\t}\n\n\telem.removeData( \"ui-tooltip-id\" );\n\tdescribedby = $.trim( describedby.join( \" \" ) );\n\tif ( describedby ) {\n\t\telem.attr( \"aria-describedby\", describedby );\n\t} else {\n\t\telem.removeAttr( \"aria-describedby\" );\n\t}\n}\n\n$.widget( \"ui.tooltip\", {\n\tversion: \"1.9.2\",\n\toptions: {\n\t\tcontent: function() {\n\t\t\treturn $( this ).attr( \"title\" );\n\t\t},\n\t\thide: true,\n\t\t// Disabled elements have inconsistent behavior across browsers (#8661)\n\t\titems: \"[title]:not([disabled])\",\n\t\tposition: {\n\t\t\tmy: \"left top+15\",\n\t\t\tat: \"left bottom\",\n\t\t\tcollision: \"flipfit flip\"\n\t\t},\n\t\tshow: true,\n\t\ttooltipClass: null,\n\t\ttrack: false,\n\n\t\t// callbacks\n\t\tclose: null,\n\t\topen: null\n\t},\n\n\t_create: function() {\n\t\tthis._on({\n\t\t\tmouseover: \"open\",\n\t\t\tfocusin: \"open\"\n\t\t});\n\n\t\t// IDs of generated tooltips, needed for destroy\n\t\tthis.tooltips = {};\n\t\t// IDs of parent tooltips where we removed the title attribute\n\t\tthis.parents = {};\n\n\t\tif ( this.options.disabled ) {\n\t\t\tthis._disable();\n\t\t}\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tvar that = this;\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis[ value ? \"_disable\" : \"_enable\" ]();\n\t\t\tthis.options[ key ] = value;\n\t\t\t// disable element style changes\n\t\t\treturn;\n\t\t}\n\n\t\tthis._super( key, value );\n\n\t\tif ( key === \"content\" ) {\n\t\t\t$.each( this.tooltips, function( id, element ) {\n\t\t\t\tthat._updateContent( element );\n\t\t\t});\n\t\t}\n\t},\n\n\t_disable: function() {\n\t\tvar that = this;\n\n\t\t// close open tooltips\n\t\t$.each( this.tooltips, function( id, element ) {\n\t\t\tvar event = $.Event( \"blur\" );\n\t\t\tevent.target = event.currentTarget = element[0];\n\t\t\tthat.close( event, true );\n\t\t});\n\n\t\t// remove title attributes to prevent native tooltips\n\t\tthis.element.find( this.options.items ).andSelf().each(function() {\n\t\t\tvar element = $( this );\n\t\t\tif ( element.is( \"[title]\" ) ) {\n\t\t\t\telement\n\t\t\t\t\t.data( \"ui-tooltip-title\", element.attr( \"title\" ) )\n\t\t\t\t\t.attr( \"title\", \"\" );\n\t\t\t}\n\t\t});\n\t},\n\n\t_enable: function() {\n\t\t// restore title attributes\n\t\tthis.element.find( this.options.items ).andSelf().each(function() {\n\t\t\tvar element = $( this );\n\t\t\tif ( element.data( \"ui-tooltip-title\" ) ) {\n\t\t\t\telement.attr( \"title\", element.data( \"ui-tooltip-title\" ) );\n\t\t\t}\n\t\t});\n\t},\n\n\topen: function( event ) {\n\t\tvar that = this,\n\t\t\ttarget = $( event ? event.target : this.element )\n\t\t\t\t// we need closest here due to mouseover bubbling,\n\t\t\t\t// but always pointing at the same event target\n\t\t\t\t.closest( this.options.items );\n\n\t\t// No element to show a tooltip for or the tooltip is already open\n\t\tif ( !target.length || target.data( \"ui-tooltip-id\" ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( target.attr( \"title\" ) ) {\n\t\t\ttarget.data( \"ui-tooltip-title\", target.attr( \"title\" ) );\n\t\t}\n\n\t\ttarget.data( \"ui-tooltip-open\", true );\n\n\t\t// kill parent tooltips, custom or native, for hover\n\t\tif ( event && event.type === \"mouseover\" ) {\n\t\t\ttarget.parents().each(function() {\n\t\t\t\tvar parent = $( this ),\n\t\t\t\t\tblurEvent;\n\t\t\t\tif ( parent.data( \"ui-tooltip-open\" ) ) {\n\t\t\t\t\tblurEvent = $.Event( \"blur\" );\n\t\t\t\t\tblurEvent.target = blurEvent.currentTarget = this;\n\t\t\t\t\tthat.close( blurEvent, true );\n\t\t\t\t}\n\t\t\t\tif ( parent.attr( \"title\" ) ) {\n\t\t\t\t\tparent.uniqueId();\n\t\t\t\t\tthat.parents[ this.id ] = {\n\t\t\t\t\t\telement: this,\n\t\t\t\t\t\ttitle: parent.attr( \"title\" )\n\t\t\t\t\t};\n\t\t\t\t\tparent.attr( \"title\", \"\" );\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tthis._updateContent( target, event );\n\t},\n\n\t_updateContent: function( target, event ) {\n\t\tvar content,\n\t\t\tcontentOption = this.options.content,\n\t\t\tthat = this,\n\t\t\teventType = event ? event.type : null;\n\n\t\tif ( typeof contentOption === \"string\" ) {\n\t\t\treturn this._open( event, target, contentOption );\n\t\t}\n\n\t\tcontent = contentOption.call( target[0], function( response ) {\n\t\t\t// ignore async response if tooltip was closed already\n\t\t\tif ( !target.data( \"ui-tooltip-open\" ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// IE may instantly serve a cached response for ajax requests\n\t\t\t// delay this call to _open so the other call to _open runs first\n\t\t\tthat._delay(function() {\n\t\t\t\t// jQuery creates a special event for focusin when it doesn't\n\t\t\t\t// exist natively. To improve performance, the native event\n\t\t\t\t// object is reused and the type is changed. Therefore, we can't\n\t\t\t\t// rely on the type being correct after the event finished\n\t\t\t\t// bubbling, so we set it back to the previous value. (#8740)\n\t\t\t\tif ( event ) {\n\t\t\t\t\tevent.type = eventType;\n\t\t\t\t}\n\t\t\t\tthis._open( event, target, response );\n\t\t\t});\n\t\t});\n\t\tif ( content ) {\n\t\t\tthis._open( event, target, content );\n\t\t}\n\t},\n\n\t_open: function( event, target, content ) {\n\t\tvar tooltip, events, delayedShow,\n\t\t\tpositionOption = $.extend( {}, this.options.position );\n\n\t\tif ( !content ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Content can be updated multiple times. If the tooltip already\n\t\t// exists, then just update the content and bail.\n\t\ttooltip = this._find( target );\n\t\tif ( tooltip.length ) {\n\t\t\ttooltip.find( \".ui-tooltip-content\" ).html( content );\n\t\t\treturn;\n\t\t}\n\n\t\t// if we have a title, clear it to prevent the native tooltip\n\t\t// we have to check first to avoid defining a title if none exists\n\t\t// (we don't want to cause an element to start matching [title])\n\t\t//\n\t\t// We use removeAttr only for key events, to allow IE to export the correct\n\t\t// accessible attributes. For mouse events, set to empty string to avoid\n\t\t// native tooltip showing up (happens only when removing inside mouseover).\n\t\tif ( target.is( \"[title]\" ) ) {\n\t\t\tif ( event && event.type === \"mouseover\" ) {\n\t\t\t\ttarget.attr( \"title\", \"\" );\n\t\t\t} else {\n\t\t\t\ttarget.removeAttr( \"title\" );\n\t\t\t}\n\t\t}\n\n\t\ttooltip = this._tooltip( target );\n\t\taddDescribedBy( target, tooltip.attr( \"id\" ) );\n\t\ttooltip.find( \".ui-tooltip-content\" ).html( content );\n\n\t\tfunction position( event ) {\n\t\t\tpositionOption.of = event;\n\t\t\tif ( tooltip.is( \":hidden\" ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttooltip.position( positionOption );\n\t\t}\n\t\tif ( this.options.track && event && /^mouse/.test( event.type ) ) {\n\t\t\tthis._on( this.document, {\n\t\t\t\tmousemove: position\n\t\t\t});\n\t\t\t// trigger once to override element-relative positioning\n\t\t\tposition( event );\n\t\t} else {\n\t\t\ttooltip.position( $.extend({\n\t\t\t\tof: target\n\t\t\t}, this.options.position ) );\n\t\t}\n\n\t\ttooltip.hide();\n\n\t\tthis._show( tooltip, this.options.show );\n\t\t// Handle tracking tooltips that are shown with a delay (#8644). As soon\n\t\t// as the tooltip is visible, position the tooltip using the most recent\n\t\t// event.\n\t\tif ( this.options.show && this.options.show.delay ) {\n\t\t\tdelayedShow = setInterval(function() {\n\t\t\t\tif ( tooltip.is( \":visible\" ) ) {\n\t\t\t\t\tposition( positionOption.of );\n\t\t\t\t\tclearInterval( delayedShow );\n\t\t\t\t}\n\t\t\t}, $.fx.interval );\n\t\t}\n\n\t\tthis._trigger( \"open\", event, { tooltip: tooltip } );\n\n\t\tevents = {\n\t\t\tkeyup: function( event ) {\n\t\t\t\tif ( event.keyCode === $.ui.keyCode.ESCAPE ) {\n\t\t\t\t\tvar fakeEvent = $.Event(event);\n\t\t\t\t\tfakeEvent.currentTarget = target[0];\n\t\t\t\t\tthis.close( fakeEvent, true );\n\t\t\t\t}\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tthis._removeTooltip( tooltip );\n\t\t\t}\n\t\t};\n\t\tif ( !event || event.type === \"mouseover\" ) {\n\t\t\tevents.mouseleave = \"close\";\n\t\t}\n\t\tif ( !event || event.type === \"focusin\" ) {\n\t\t\tevents.focusout = \"close\";\n\t\t}\n\t\tthis._on( true, target, events );\n\t},\n\n\tclose: function( event ) {\n\t\tvar that = this,\n\t\t\ttarget = $( event ? event.currentTarget : this.element ),\n\t\t\ttooltip = this._find( target );\n\n\t\t// disabling closes the tooltip, so we need to track when we're closing\n\t\t// to avoid an infinite loop in case the tooltip becomes disabled on close\n\t\tif ( this.closing ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// only set title if we had one before (see comment in _open())\n\t\tif ( target.data( \"ui-tooltip-title\" ) ) {\n\t\t\ttarget.attr( \"title\", target.data( \"ui-tooltip-title\" ) );\n\t\t}\n\n\t\tremoveDescribedBy( target );\n\n\t\ttooltip.stop( true );\n\t\tthis._hide( tooltip, this.options.hide, function() {\n\t\t\tthat._removeTooltip( $( this ) );\n\t\t});\n\n\t\ttarget.removeData( \"ui-tooltip-open\" );\n\t\tthis._off( target, \"mouseleave focusout keyup\" );\n\t\t// Remove 'remove' binding only on delegated targets\n\t\tif ( target[0] !== this.element[0] ) {\n\t\t\tthis._off( target, \"remove\" );\n\t\t}\n\t\tthis._off( this.document, \"mousemove\" );\n\n\t\tif ( event && event.type === \"mouseleave\" ) {\n\t\t\t$.each( this.parents, function( id, parent ) {\n\t\t\t\t$( parent.element ).attr( \"title\", parent.title );\n\t\t\t\tdelete that.parents[ id ];\n\t\t\t});\n\t\t}\n\n\t\tthis.closing = true;\n\t\tthis._trigger( \"close\", event, { tooltip: tooltip } );\n\t\tthis.closing = false;\n\t},\n\n\t_tooltip: function( element ) {\n\t\tvar id = \"ui-tooltip-\" + increments++,\n\t\t\ttooltip = $( \"<div>\" )\n\t\t\t\t.attr({\n\t\t\t\t\tid: id,\n\t\t\t\t\trole: \"tooltip\"\n\t\t\t\t})\n\t\t\t\t.addClass( \"ui-tooltip ui-widget ui-corner-all ui-widget-content \" +\n\t\t\t\t\t( this.options.tooltipClass || \"\" ) );\n\t\t$( \"<div>\" )\n\t\t\t.addClass( \"ui-tooltip-content\" )\n\t\t\t.appendTo( tooltip );\n\t\ttooltip.appendTo( this.document[0].body );\n\t\tif ( $.fn.bgiframe ) {\n\t\t\ttooltip.bgiframe();\n\t\t}\n\t\tthis.tooltips[ id ] = element;\n\t\treturn tooltip;\n\t},\n\n\t_find: function( target ) {\n\t\tvar id = target.data( \"ui-tooltip-id\" );\n\t\treturn id ? $( \"#\" + id ) : $();\n\t},\n\n\t_removeTooltip: function( tooltip ) {\n\t\ttooltip.remove();\n\t\tdelete this.tooltips[ tooltip.attr( \"id\" ) ];\n\t},\n\n\t_destroy: function() {\n\t\tvar that = this;\n\n\t\t// close open tooltips\n\t\t$.each( this.tooltips, function( id, element ) {\n\t\t\t// Delegate to close method to handle common cleanup\n\t\t\tvar event = $.Event( \"blur\" );\n\t\t\tevent.target = event.currentTarget = element[0];\n\t\t\tthat.close( event, true );\n\n\t\t\t// Remove immediately; destroying an open tooltip doesn't use the\n\t\t\t// hide animation\n\t\t\t$( \"#\" + id ).remove();\n\n\t\t\t// Restore the title\n\t\t\tif ( element.data( \"ui-tooltip-title\" ) ) {\n\t\t\t\telement.attr( \"title\", element.data( \"ui-tooltip-title\" ) );\n\t\t\t\telement.removeData( \"ui-tooltip-title\" );\n\t\t\t}\n\t\t});\n\t}\n});\n\n}( jQuery ) );\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/jquery-ui.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>With jQuery UI</title>\r\n\t\t<style>\r\n\t\t\tbody {\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t}\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t\t#J_editorDialog {\r\n\t\t\t\tdisplay: none;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<link rel=\"stylesheet\" href=\"jquery-ui/css/smoothness/jquery-ui-1.9.2.custom.css\" />\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script charset=\"utf-8\" src=\"jquery.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"jquery-ui/js/jquery-ui-1.9.2.custom.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../kindeditor.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\t$(function() {\r\n\t\t\t\t$('#J_openDialog').click(function() {\r\n\t\t\t\t\t$('#J_editorDialog').dialog({\r\n\t\t\t\t\t\ttitle : 'KindEditor',\r\n\t\t\t\t\t\twidth : 700,\r\n\t\t\t\t\t\topen : function(event, ui) {\r\n\t\t\t\t\t\t\t// 打开Dialog后创建编辑器\r\n\t\t\t\t\t\t\tKindEditor.create('textarea[name=\"content\"]', {\r\n\t\t\t\t\t\t\t\tresizeType : 1\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tbeforeClose : function(event, ui) {\r\n\t\t\t\t\t\t\t// 关闭Dialog前移除编辑器\r\n\t\t\t\t\t\t\tKindEditor.remove('textarea[name=\"content\"]');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>在jQuery UI Dialog里打开编辑器</h3>\r\n\t\t<div id=\"J_editorDialog\">\r\n\t\t\t<textarea name=\"content\" style=\"width:100%;height:200px;\"></textarea>\r\n\t\t</div>\r\n\t\t<button type=\"button\" id=\"J_openDialog\">打开Dialog</button>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/jquery.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>With jQuery</title>\r\n\t\t<style>\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script charset=\"utf-8\" src=\"jquery.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../kindeditor-min.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\t$(function() {\r\n\t\t\t\tvar editor = KindEditor.create('textarea[name=\"content\"]');\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>使用jQuery</h3>\r\n\t\t<form>\r\n\t\t\t<textarea name=\"content\" style=\"width:800px;height:200px;\"></textarea>\r\n\t\t</form>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/jquery.js",
    "content": "/*!\n * jQuery JavaScript Library v1.8.3\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Copyright 2012 jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: Tue Nov 13 2012 08:20:33 GMT-0500 (Eastern Standard Time)\n */\n(function( window, undefined ) {\nvar\n\t// A central reference to the root jQuery(document)\n\trootjQuery,\n\n\t// The deferred used on DOM ready\n\treadyList,\n\n\t// Use the correct document accordingly with window argument (sandbox)\n\tdocument = window.document,\n\tlocation = window.location,\n\tnavigator = window.navigator,\n\n\t// Map over jQuery in case of overwrite\n\t_jQuery = window.jQuery,\n\n\t// Map over the $ in case of overwrite\n\t_$ = window.$,\n\n\t// Save a reference to some core methods\n\tcore_push = Array.prototype.push,\n\tcore_slice = Array.prototype.slice,\n\tcore_indexOf = Array.prototype.indexOf,\n\tcore_toString = Object.prototype.toString,\n\tcore_hasOwn = Object.prototype.hasOwnProperty,\n\tcore_trim = String.prototype.trim,\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\treturn new jQuery.fn.init( selector, context, rootjQuery );\n\t},\n\n\t// Used for matching numbers\n\tcore_pnum = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source,\n\n\t// Used for detecting and trimming whitespace\n\tcore_rnotwhite = /\\S/,\n\tcore_rspace = /\\s+/,\n\n\t// Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE)\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)\n\trquickExpr = /^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/,\n\n\t// Match a standalone tag\n\trsingleTag = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,\n\n\t// JSON RegExp\n\trvalidchars = /^[\\],:{}\\s]*$/,\n\trvalidbraces = /(?:^|:|,)(?:\\s*\\[)+/g,\n\trvalidescape = /\\\\(?:[\"\\\\\\/bfnrt]|u[\\da-fA-F]{4})/g,\n\trvalidtokens = /\"[^\"\\\\\\r\\n]*\"|true|false|null|-?(?:\\d\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/g,\n\n\t// Matches dashed string for camelizing\n\trmsPrefix = /^-ms-/,\n\trdashAlpha = /-([\\da-z])/gi,\n\n\t// Used by jQuery.camelCase as callback to replace()\n\tfcamelCase = function( all, letter ) {\n\t\treturn ( letter + \"\" ).toUpperCase();\n\t},\n\n\t// The ready event handler and self cleanup method\n\tDOMContentLoaded = function() {\n\t\tif ( document.addEventListener ) {\n\t\t\tdocument.removeEventListener( \"DOMContentLoaded\", DOMContentLoaded, false );\n\t\t\tjQuery.ready();\n\t\t} else if ( document.readyState === \"complete\" ) {\n\t\t\t// we're here because readyState === \"complete\" in oldIE\n\t\t\t// which is good enough for us to call the dom ready!\n\t\t\tdocument.detachEvent( \"onreadystatechange\", DOMContentLoaded );\n\t\t\tjQuery.ready();\n\t\t}\n\t},\n\n\t// [[Class]] -> type pairs\n\tclass2type = {};\n\njQuery.fn = jQuery.prototype = {\n\tconstructor: jQuery,\n\tinit: function( selector, context, rootjQuery ) {\n\t\tvar match, elem, ret, doc;\n\n\t\t// Handle $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Handle $(DOMElement)\n\t\tif ( selector.nodeType ) {\n\t\t\tthis.context = this[0] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\t\t}\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector.charAt(0) === \"<\" && selector.charAt( selector.length - 1 ) === \">\" && selector.length >= 3 ) {\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && (match[1] || !context) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[1] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[0] : context;\n\t\t\t\t\tdoc = ( context && context.nodeType ? context.ownerDocument || context : document );\n\n\t\t\t\t\t// scripts is true for back-compat\n\t\t\t\t\tselector = jQuery.parseHTML( match[1], doc, true );\n\t\t\t\t\tif ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tthis.attr.call( selector, context, true );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn jQuery.merge( this, selector );\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[2] );\n\n\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t\t// nodes that are no longer in the document #6963\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\t\t\t\t\t\t// Handle the case where IE and Opera return items\n\t\t\t\t\t\t// by name instead of ID\n\t\t\t\t\t\tif ( elem.id !== match[2] ) {\n\t\t\t\t\t\t\treturn rootjQuery.find( selector );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Otherwise, we inject the element directly into the jQuery object\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t\tthis[0] = elem;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.context = document;\n\t\t\t\t\tthis.selector = selector;\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || rootjQuery ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( jQuery.isFunction( selector ) ) {\n\t\t\treturn rootjQuery.ready( selector );\n\t\t}\n\n\t\tif ( selector.selector !== undefined ) {\n\t\t\tthis.selector = selector.selector;\n\t\t\tthis.context = selector.context;\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t},\n\n\t// Start with an empty selector\n\tselector: \"\",\n\n\t// The current version of jQuery being used\n\tjquery: \"1.8.3\",\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\t// The number of elements contained in the matched element set\n\tsize: function() {\n\t\treturn this.length;\n\t},\n\n\ttoArray: function() {\n\t\treturn core_slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\t\treturn num == null ?\n\n\t\t\t// Return a 'clean' array\n\t\t\tthis.toArray() :\n\n\t\t\t// Return just the object\n\t\t\t( num < 0 ? this[ this.length + num ] : this[ num ] );\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems, name, selector ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\tret.context = this.context;\n\n\t\tif ( name === \"find\" ) {\n\t\t\tret.selector = this.selector + ( this.selector ? \" \" : \"\" ) + selector;\n\t\t} else if ( name ) {\n\t\t\tret.selector = this.selector + \".\" + name + \"(\" + selector + \")\";\n\t\t}\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\t// (You can seed the arguments with an array of args, but this is\n\t// only used internally.)\n\teach: function( callback, args ) {\n\t\treturn jQuery.each( this, callback, args );\n\t},\n\n\tready: function( fn ) {\n\t\t// Add the callback\n\t\tjQuery.ready.promise().done( fn );\n\n\t\treturn this;\n\t},\n\n\teq: function( i ) {\n\t\ti = +i;\n\t\treturn i === -1 ?\n\t\t\tthis.slice( i ) :\n\t\t\tthis.slice( i, i + 1 );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( core_slice.apply( this, arguments ),\n\t\t\t\"slice\", core_slice.call(arguments).join(\",\") );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map(this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t}));\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor(null);\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: core_push,\n\tsort: [].sort,\n\tsplice: [].splice\n};\n\n// Give the init function the jQuery prototype for later instantiation\njQuery.fn.init.prototype = jQuery.fn;\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[0] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !jQuery.isFunction(target) ) {\n\t\ttarget = {};\n\t}\n\n\t// extend jQuery itself if only one argument is passed\n\tif ( length === i ) {\n\t\ttarget = this;\n\t\t--i;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\t\t// Only deal with non-null/undefined values\n\t\tif ( (options = arguments[ i ]) != null ) {\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && jQuery.isArray(src) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && jQuery.isPlainObject(src) ? src : {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend({\n\tnoConflict: function( deep ) {\n\t\tif ( window.$ === jQuery ) {\n\t\t\twindow.$ = _$;\n\t\t}\n\n\t\tif ( deep && window.jQuery === jQuery ) {\n\t\t\twindow.jQuery = _jQuery;\n\t\t}\n\n\t\treturn jQuery;\n\t},\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Hold (or release) the ready event\n\tholdReady: function( hold ) {\n\t\tif ( hold ) {\n\t\t\tjQuery.readyWait++;\n\t\t} else {\n\t\t\tjQuery.ready( true );\n\t\t}\n\t},\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).\n\t\tif ( !document.body ) {\n\t\t\treturn setTimeout( jQuery.ready, 1 );\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\n\t\t// Trigger any bound ready events\n\t\tif ( jQuery.fn.trigger ) {\n\t\t\tjQuery( document ).trigger(\"ready\").off(\"ready\");\n\t\t}\n\t},\n\n\t// See test/unit/core.js for details concerning isFunction.\n\t// Since version 1.3, DOM methods and functions like alert\n\t// aren't supported. They return false on IE (#2968).\n\tisFunction: function( obj ) {\n\t\treturn jQuery.type(obj) === \"function\";\n\t},\n\n\tisArray: Array.isArray || function( obj ) {\n\t\treturn jQuery.type(obj) === \"array\";\n\t},\n\n\tisWindow: function( obj ) {\n\t\treturn obj != null && obj == obj.window;\n\t},\n\n\tisNumeric: function( obj ) {\n\t\treturn !isNaN( parseFloat(obj) ) && isFinite( obj );\n\t},\n\n\ttype: function( obj ) {\n\t\treturn obj == null ?\n\t\t\tString( obj ) :\n\t\t\tclass2type[ core_toString.call(obj) ] || \"object\";\n\t},\n\n\tisPlainObject: function( obj ) {\n\t\t// Must be an Object.\n\t\t// Because of IE, we also have to check the presence of the constructor property.\n\t\t// Make sure that DOM nodes and window objects don't pass through, as well\n\t\tif ( !obj || jQuery.type(obj) !== \"object\" || obj.nodeType || jQuery.isWindow( obj ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t// Not own constructor property must be Object\n\t\t\tif ( obj.constructor &&\n\t\t\t\t!core_hasOwn.call(obj, \"constructor\") &&\n\t\t\t\t!core_hasOwn.call(obj.constructor.prototype, \"isPrototypeOf\") ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\t// IE8,9 Will throw exceptions on certain host objects #9897\n\t\t\treturn false;\n\t\t}\n\n\t\t// Own properties are enumerated firstly, so to speed up,\n\t\t// if last one is own, then all properties are own.\n\n\t\tvar key;\n\t\tfor ( key in obj ) {}\n\n\t\treturn key === undefined || core_hasOwn.call( obj, key );\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\t// data: string of html\n\t// context (optional): If specified, the fragment will be created in this context, defaults to document\n\t// scripts (optional): If true, will include scripts passed in the html string\n\tparseHTML: function( data, context, scripts ) {\n\t\tvar parsed;\n\t\tif ( !data || typeof data !== \"string\" ) {\n\t\t\treturn null;\n\t\t}\n\t\tif ( typeof context === \"boolean\" ) {\n\t\t\tscripts = context;\n\t\t\tcontext = 0;\n\t\t}\n\t\tcontext = context || document;\n\n\t\t// Single tag\n\t\tif ( (parsed = rsingleTag.exec( data )) ) {\n\t\t\treturn [ context.createElement( parsed[1] ) ];\n\t\t}\n\n\t\tparsed = jQuery.buildFragment( [ data ], context, scripts ? null : [] );\n\t\treturn jQuery.merge( [],\n\t\t\t(parsed.cacheable ? jQuery.clone( parsed.fragment ) : parsed.fragment).childNodes );\n\t},\n\n\tparseJSON: function( data ) {\n\t\tif ( !data || typeof data !== \"string\") {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Make sure leading/trailing whitespace is removed (IE can't handle it)\n\t\tdata = jQuery.trim( data );\n\n\t\t// Attempt to parse using the native JSON parser first\n\t\tif ( window.JSON && window.JSON.parse ) {\n\t\t\treturn window.JSON.parse( data );\n\t\t}\n\n\t\t// Make sure the incoming data is actual JSON\n\t\t// Logic borrowed from http://json.org/json2.js\n\t\tif ( rvalidchars.test( data.replace( rvalidescape, \"@\" )\n\t\t\t.replace( rvalidtokens, \"]\" )\n\t\t\t.replace( rvalidbraces, \"\")) ) {\n\n\t\t\treturn ( new Function( \"return \" + data ) )();\n\n\t\t}\n\t\tjQuery.error( \"Invalid JSON: \" + data );\n\t},\n\n\t// Cross-browser xml parsing\n\tparseXML: function( data ) {\n\t\tvar xml, tmp;\n\t\tif ( !data || typeof data !== \"string\" ) {\n\t\t\treturn null;\n\t\t}\n\t\ttry {\n\t\t\tif ( window.DOMParser ) { // Standard\n\t\t\t\ttmp = new DOMParser();\n\t\t\t\txml = tmp.parseFromString( data , \"text/xml\" );\n\t\t\t} else { // IE\n\t\t\t\txml = new ActiveXObject( \"Microsoft.XMLDOM\" );\n\t\t\t\txml.async = \"false\";\n\t\t\t\txml.loadXML( data );\n\t\t\t}\n\t\t} catch( e ) {\n\t\t\txml = undefined;\n\t\t}\n\t\tif ( !xml || !xml.documentElement || xml.getElementsByTagName( \"parsererror\" ).length ) {\n\t\t\tjQuery.error( \"Invalid XML: \" + data );\n\t\t}\n\t\treturn xml;\n\t},\n\n\tnoop: function() {},\n\n\t// Evaluates a script in a global context\n\t// Workarounds based on findings by Jim Driscoll\n\t// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context\n\tglobalEval: function( data ) {\n\t\tif ( data && core_rnotwhite.test( data ) ) {\n\t\t\t// We use execScript on Internet Explorer\n\t\t\t// We use an anonymous function so that context is window\n\t\t\t// rather than jQuery in Firefox\n\t\t\t( window.execScript || function( data ) {\n\t\t\t\twindow[ \"eval\" ].call( window, data );\n\t\t\t} )( data );\n\t\t}\n\t},\n\n\t// Convert dashed to camelCase; used by the css and data modules\n\t// Microsoft forgot to hump their vendor prefix (#9572)\n\tcamelCase: function( string ) {\n\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n\t},\n\n\tnodeName: function( elem, name ) {\n\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\t},\n\n\t// args is for internal usage only\n\teach: function( obj, callback, args ) {\n\t\tvar name,\n\t\t\ti = 0,\n\t\t\tlength = obj.length,\n\t\t\tisObj = length === undefined || jQuery.isFunction( obj );\n\n\t\tif ( args ) {\n\t\t\tif ( isObj ) {\n\t\t\t\tfor ( name in obj ) {\n\t\t\t\t\tif ( callback.apply( obj[ name ], args ) === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( ; i < length; ) {\n\t\t\t\t\tif ( callback.apply( obj[ i++ ], args ) === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// A special, fast, case for the most common use of each\n\t\t} else {\n\t\t\tif ( isObj ) {\n\t\t\t\tfor ( name in obj ) {\n\t\t\t\t\tif ( callback.call( obj[ name ], name, obj[ name ] ) === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( ; i < length; ) {\n\t\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i++ ] ) === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// Use native String.trim function wherever possible\n\ttrim: core_trim && !core_trim.call(\"\\uFEFF\\xA0\") ?\n\t\tfunction( text ) {\n\t\t\treturn text == null ?\n\t\t\t\t\"\" :\n\t\t\t\tcore_trim.call( text );\n\t\t} :\n\n\t\t// Otherwise use our own trimming functionality\n\t\tfunction( text ) {\n\t\t\treturn text == null ?\n\t\t\t\t\"\" :\n\t\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar type,\n\t\t\tret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\t// The window, strings (and functions) also have 'length'\n\t\t\t// Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930\n\t\t\ttype = jQuery.type( arr );\n\n\t\t\tif ( arr.length == null || type === \"string\" || type === \"function\" || type === \"regexp\" || jQuery.isWindow( arr ) ) {\n\t\t\t\tcore_push.call( ret, arr );\n\t\t\t} else {\n\t\t\t\tjQuery.merge( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\tvar len;\n\n\t\tif ( arr ) {\n\t\t\tif ( core_indexOf ) {\n\t\t\t\treturn core_indexOf.call( arr, elem, i );\n\t\t\t}\n\n\t\t\tlen = arr.length;\n\t\t\ti = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;\n\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t// Skip accessing in sparse arrays\n\t\t\t\tif ( i in arr && arr[ i ] === elem ) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn -1;\n\t},\n\n\tmerge: function( first, second ) {\n\t\tvar l = second.length,\n\t\t\ti = first.length,\n\t\t\tj = 0;\n\n\t\tif ( typeof l === \"number\" ) {\n\t\t\tfor ( ; j < l; j++ ) {\n\t\t\t\tfirst[ i++ ] = second[ j ];\n\t\t\t}\n\n\t\t} else {\n\t\t\twhile ( second[j] !== undefined ) {\n\t\t\t\tfirst[ i++ ] = second[ j++ ];\n\t\t\t}\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, inv ) {\n\t\tvar retVal,\n\t\t\tret = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length;\n\t\tinv = !!inv;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tretVal = !!callback( elems[ i ], i );\n\t\t\tif ( inv !== retVal ) {\n\t\t\t\tret.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar value, key,\n\t\t\tret = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\t// jquery objects are treated as arrays\n\t\t\tisArray = elems instanceof jQuery || length !== undefined && typeof length === \"number\" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ;\n\n\t\t// Go through the array, translating each of the items to their\n\t\tif ( isArray ) {\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret[ ret.length ] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( key in elems ) {\n\t\t\t\tvalue = callback( elems[ key ], key, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret[ ret.length ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn ret.concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// Bind a function to a context, optionally partially applying any\n\t// arguments.\n\tproxy: function( fn, context ) {\n\t\tvar tmp, args, proxy;\n\n\t\tif ( typeof context === \"string\" ) {\n\t\t\ttmp = fn[ context ];\n\t\t\tcontext = fn;\n\t\t\tfn = tmp;\n\t\t}\n\n\t\t// Quick check to determine if target is callable, in the spec\n\t\t// this throws a TypeError, but we will just return undefined.\n\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Simulated bind\n\t\targs = core_slice.call( arguments, 2 );\n\t\tproxy = function() {\n\t\t\treturn fn.apply( context, args.concat( core_slice.call( arguments ) ) );\n\t\t};\n\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\t\treturn proxy;\n\t},\n\n\t// Multifunctional method to get and set values of a collection\n\t// The value/s can optionally be executed if it's a function\n\taccess: function( elems, fn, key, value, chainable, emptyGet, pass ) {\n\t\tvar exec,\n\t\t\tbulk = key == null,\n\t\t\ti = 0,\n\t\t\tlength = elems.length;\n\n\t\t// Sets many values\n\t\tif ( key && typeof key === \"object\" ) {\n\t\t\tfor ( i in key ) {\n\t\t\t\tjQuery.access( elems, fn, i, key[i], 1, emptyGet, value );\n\t\t\t}\n\t\t\tchainable = 1;\n\n\t\t// Sets one value\n\t\t} else if ( value !== undefined ) {\n\t\t\t// Optionally, function values get executed if exec is true\n\t\t\texec = pass === undefined && jQuery.isFunction( value );\n\n\t\t\tif ( bulk ) {\n\t\t\t\t// Bulk operations only iterate when executing function values\n\t\t\t\tif ( exec ) {\n\t\t\t\t\texec = fn;\n\t\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\t\treturn exec.call( jQuery( elem ), value );\n\t\t\t\t\t};\n\n\t\t\t\t// Otherwise they run against the entire set\n\t\t\t\t} else {\n\t\t\t\t\tfn.call( elems, value );\n\t\t\t\t\tfn = null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( fn ) {\n\t\t\t\tfor (; i < length; i++ ) {\n\t\t\t\t\tfn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tchainable = 1;\n\t\t}\n\n\t\treturn chainable ?\n\t\t\telems :\n\n\t\t\t// Gets\n\t\t\tbulk ?\n\t\t\t\tfn.call( elems ) :\n\t\t\t\tlength ? fn( elems[0], key ) : emptyGet;\n\t},\n\n\tnow: function() {\n\t\treturn ( new Date() ).getTime();\n\t}\n});\n\njQuery.ready.promise = function( obj ) {\n\tif ( !readyList ) {\n\n\t\treadyList = jQuery.Deferred();\n\n\t\t// Catch cases where $(document).ready() is called after the browser event has already occurred.\n\t\t// we once tried to use readyState \"interactive\" here, but it caused issues like the one\n\t\t// discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15\n\t\tif ( document.readyState === \"complete\" ) {\n\t\t\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\t\t\tsetTimeout( jQuery.ready, 1 );\n\n\t\t// Standards-based browsers support DOMContentLoaded\n\t\t} else if ( document.addEventListener ) {\n\t\t\t// Use the handy event callback\n\t\t\tdocument.addEventListener( \"DOMContentLoaded\", DOMContentLoaded, false );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.addEventListener( \"load\", jQuery.ready, false );\n\n\t\t// If IE event model is used\n\t\t} else {\n\t\t\t// Ensure firing before onload, maybe late but safe also for iframes\n\t\t\tdocument.attachEvent( \"onreadystatechange\", DOMContentLoaded );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.attachEvent( \"onload\", jQuery.ready );\n\n\t\t\t// If IE and not a frame\n\t\t\t// continually check to see if the document is ready\n\t\t\tvar top = false;\n\n\t\t\ttry {\n\t\t\t\ttop = window.frameElement == null && document.documentElement;\n\t\t\t} catch(e) {}\n\n\t\t\tif ( top && top.doScroll ) {\n\t\t\t\t(function doScrollCheck() {\n\t\t\t\t\tif ( !jQuery.isReady ) {\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t// Use the trick by Diego Perini\n\t\t\t\t\t\t\t// http://javascript.nwbox.com/IEContentLoaded/\n\t\t\t\t\t\t\ttop.doScroll(\"left\");\n\t\t\t\t\t\t} catch(e) {\n\t\t\t\t\t\t\treturn setTimeout( doScrollCheck, 50 );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// and execute any waiting functions\n\t\t\t\t\t\tjQuery.ready();\n\t\t\t\t\t}\n\t\t\t\t})();\n\t\t\t}\n\t\t}\n\t}\n\treturn readyList.promise( obj );\n};\n\n// Populate the class2type map\njQuery.each(\"Boolean Number String Function Array Date RegExp Object\".split(\" \"), function(i, name) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n});\n\n// All jQuery objects should point back to these\nrootjQuery = jQuery(document);\n// String to Object options format cache\nvar optionsCache = {};\n\n// Convert String-formatted options into Object-formatted ones and store in cache\nfunction createOptions( options ) {\n\tvar object = optionsCache[ options ] = {};\n\tjQuery.each( options.split( core_rspace ), function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t});\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\t( optionsCache[ options ] || createOptions( options ) ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Last fire value (for non-forgettable lists)\n\t\tmemory,\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\t\t// Flag to know if list is currently firing\n\t\tfiring,\n\t\t// First callback to fire (used internally by add and fireWith)\n\t\tfiringStart,\n\t\t// End of the loop when firing\n\t\tfiringLength,\n\t\t// Index of currently firing callback (modified by remove if needed)\n\t\tfiringIndex,\n\t\t// Actual callback list\n\t\tlist = [],\n\t\t// Stack of fire calls for repeatable lists\n\t\tstack = !options.once && [],\n\t\t// Fire callbacks\n\t\tfire = function( data ) {\n\t\t\tmemory = options.memory && data;\n\t\t\tfired = true;\n\t\t\tfiringIndex = firingStart || 0;\n\t\t\tfiringStart = 0;\n\t\t\tfiringLength = list.length;\n\t\t\tfiring = true;\n\t\t\tfor ( ; list && firingIndex < firingLength; firingIndex++ ) {\n\t\t\t\tif ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {\n\t\t\t\t\tmemory = false; // To prevent further calls using add\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tfiring = false;\n\t\t\tif ( list ) {\n\t\t\t\tif ( stack ) {\n\t\t\t\t\tif ( stack.length ) {\n\t\t\t\t\t\tfire( stack.shift() );\n\t\t\t\t\t}\n\t\t\t\t} else if ( memory ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t} else {\n\t\t\t\t\tself.disable();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Actual Callbacks object\n\t\tself = {\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\t// First, we save the current length\n\t\t\t\t\tvar start = list.length;\n\t\t\t\t\t(function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tvar type = jQuery.type( arg );\n\t\t\t\t\t\t\tif ( type === \"function\" ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && type !== \"string\" ) {\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t})( arguments );\n\t\t\t\t\t// Do we need to add the callbacks to the\n\t\t\t\t\t// current firing batch?\n\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\tfiringLength = list.length;\n\t\t\t\t\t// With memory, if we're not firing then\n\t\t\t\t\t// we should call right away\n\t\t\t\t\t} else if ( memory ) {\n\t\t\t\t\t\tfiringStart = start;\n\t\t\t\t\t\tfire( memory );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\t\tvar index;\n\t\t\t\t\t\twhile( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\t\tlist.splice( index, 1 );\n\t\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\t\t\tif ( index <= firingLength ) {\n\t\t\t\t\t\t\t\t\tfiringLength--;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Control if a given callback is in the list\n\t\t\thas: function( fn ) {\n\t\t\t\treturn jQuery.inArray( fn, list ) > -1;\n\t\t\t},\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tlist = [];\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Have the list do nothing anymore\n\t\t\tdisable: function() {\n\t\t\t\tlist = stack = memory = undefined;\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Is it disabled?\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\t\t\t// Lock the list in its current state\n\t\t\tlock: function() {\n\t\t\t\tstack = undefined;\n\t\t\t\tif ( !memory ) {\n\t\t\t\t\tself.disable();\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Is it locked?\n\t\t\tlocked: function() {\n\t\t\t\treturn !stack;\n\t\t\t},\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\targs = args || [];\n\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\tif ( list && ( !fired || stack ) ) {\n\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\tstack.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfire( args );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\njQuery.extend({\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\t\t\t\t// action, add listener, listener list, final state\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks(\"once memory\"), \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks(\"once memory\"), \"rejected\" ],\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks(\"memory\") ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\tthen: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\t\t\t\t\treturn jQuery.Deferred(function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\t\t\t\t\tvar action = tuple[ 0 ],\n\t\t\t\t\t\t\t\tfn = fns[ i ];\n\t\t\t\t\t\t\t// deferred[ done | fail | progress ] for forwarding actions to newDefer\n\t\t\t\t\t\t\tdeferred[ tuple[1] ]( jQuery.isFunction( fn ) ?\n\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\tvar returned = fn.apply( this, arguments );\n\t\t\t\t\t\t\t\t\tif ( returned && jQuery.isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject )\n\t\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify );\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tnewDefer[ action + \"With\" ]( this === deferred ? newDefer : this, [ returned ] );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} :\n\t\t\t\t\t\t\t\tnewDefer[ action ]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t}).promise();\n\t\t\t\t},\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Keep pipe for back-compat\n\t\tpromise.pipe = promise.then;\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 3 ];\n\n\t\t\t// promise[ done | fail | progress ] = list.add\n\t\t\tpromise[ tuple[1] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(function() {\n\t\t\t\t\t// state = [ resolved | rejected ]\n\t\t\t\t\tstate = stateString;\n\n\t\t\t\t// [ reject_list | resolve_list ].disable; progress_list.lock\n\t\t\t\t}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );\n\t\t\t}\n\n\t\t\t// deferred[ resolve | reject | notify ] = list.fire\n\t\t\tdeferred[ tuple[0] ] = list.fire;\n\t\t\tdeferred[ tuple[0] + \"With\" ] = list.fireWith;\n\t\t});\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( subordinate /* , ..., subordinateN */ ) {\n\t\tvar i = 0,\n\t\t\tresolveValues = core_slice.call( arguments ),\n\t\t\tlength = resolveValues.length,\n\n\t\t\t// the count of uncompleted subordinates\n\t\t\tremaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,\n\n\t\t\t// the master Deferred. If resolveValues consist of only a single Deferred, just use that.\n\t\t\tdeferred = remaining === 1 ? subordinate : jQuery.Deferred(),\n\n\t\t\t// Update function for both resolve and progress values\n\t\t\tupdateFunc = function( i, contexts, values ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tcontexts[ i ] = this;\n\t\t\t\t\tvalues[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value;\n\t\t\t\t\tif( values === progressValues ) {\n\t\t\t\t\t\tdeferred.notifyWith( contexts, values );\n\t\t\t\t\t} else if ( !( --remaining ) ) {\n\t\t\t\t\t\tdeferred.resolveWith( contexts, values );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tprogressValues, progressContexts, resolveContexts;\n\n\t\t// add listeners to Deferred subordinates; treat others as resolved\n\t\tif ( length > 1 ) {\n\t\t\tprogressValues = new Array( length );\n\t\t\tprogressContexts = new Array( length );\n\t\t\tresolveContexts = new Array( length );\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {\n\t\t\t\t\tresolveValues[ i ].promise()\n\t\t\t\t\t\t.done( updateFunc( i, resolveContexts, resolveValues ) )\n\t\t\t\t\t\t.fail( deferred.reject )\n\t\t\t\t\t\t.progress( updateFunc( i, progressContexts, progressValues ) );\n\t\t\t\t} else {\n\t\t\t\t\t--remaining;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// if we're not waiting on anything, resolve the master\n\t\tif ( !remaining ) {\n\t\t\tdeferred.resolveWith( resolveContexts, resolveValues );\n\t\t}\n\n\t\treturn deferred.promise();\n\t}\n});\njQuery.support = (function() {\n\n\tvar support,\n\t\tall,\n\t\ta,\n\t\tselect,\n\t\topt,\n\t\tinput,\n\t\tfragment,\n\t\teventName,\n\t\ti,\n\t\tisSupported,\n\t\tclickFn,\n\t\tdiv = document.createElement(\"div\");\n\n\t// Setup\n\tdiv.setAttribute( \"className\", \"t\" );\n\tdiv.innerHTML = \"  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>\";\n\n\t// Support tests won't run in some limited or non-browser environments\n\tall = div.getElementsByTagName(\"*\");\n\ta = div.getElementsByTagName(\"a\")[ 0 ];\n\tif ( !all || !a || !all.length ) {\n\t\treturn {};\n\t}\n\n\t// First batch of tests\n\tselect = document.createElement(\"select\");\n\topt = select.appendChild( document.createElement(\"option\") );\n\tinput = div.getElementsByTagName(\"input\")[ 0 ];\n\n\ta.style.cssText = \"top:1px;float:left;opacity:.5\";\n\tsupport = {\n\t\t// IE strips leading whitespace when .innerHTML is used\n\t\tleadingWhitespace: ( div.firstChild.nodeType === 3 ),\n\n\t\t// Make sure that tbody elements aren't automatically inserted\n\t\t// IE will insert them into empty tables\n\t\ttbody: !div.getElementsByTagName(\"tbody\").length,\n\n\t\t// Make sure that link elements get serialized correctly by innerHTML\n\t\t// This requires a wrapper element in IE\n\t\thtmlSerialize: !!div.getElementsByTagName(\"link\").length,\n\n\t\t// Get the style information from getAttribute\n\t\t// (IE uses .cssText instead)\n\t\tstyle: /top/.test( a.getAttribute(\"style\") ),\n\n\t\t// Make sure that URLs aren't manipulated\n\t\t// (IE normalizes it by default)\n\t\threfNormalized: ( a.getAttribute(\"href\") === \"/a\" ),\n\n\t\t// Make sure that element opacity exists\n\t\t// (IE uses filter instead)\n\t\t// Use a regex to work around a WebKit issue. See #5145\n\t\topacity: /^0.5/.test( a.style.opacity ),\n\n\t\t// Verify style float existence\n\t\t// (IE uses styleFloat instead of cssFloat)\n\t\tcssFloat: !!a.style.cssFloat,\n\n\t\t// Make sure that if no value is specified for a checkbox\n\t\t// that it defaults to \"on\".\n\t\t// (WebKit defaults to \"\" instead)\n\t\tcheckOn: ( input.value === \"on\" ),\n\n\t\t// Make sure that a selected-by-default option has a working selected property.\n\t\t// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)\n\t\toptSelected: opt.selected,\n\n\t\t// Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)\n\t\tgetSetAttribute: div.className !== \"t\",\n\n\t\t// Tests for enctype support on a form (#6743)\n\t\tenctype: !!document.createElement(\"form\").enctype,\n\n\t\t// Makes sure cloning an html5 element does not cause problems\n\t\t// Where outerHTML is undefined, this still works\n\t\thtml5Clone: document.createElement(\"nav\").cloneNode( true ).outerHTML !== \"<:nav></:nav>\",\n\n\t\t// jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode\n\t\tboxModel: ( document.compatMode === \"CSS1Compat\" ),\n\n\t\t// Will be defined later\n\t\tsubmitBubbles: true,\n\t\tchangeBubbles: true,\n\t\tfocusinBubbles: false,\n\t\tdeleteExpando: true,\n\t\tnoCloneEvent: true,\n\t\tinlineBlockNeedsLayout: false,\n\t\tshrinkWrapBlocks: false,\n\t\treliableMarginRight: true,\n\t\tboxSizingReliable: true,\n\t\tpixelPosition: false\n\t};\n\n\t// Make sure checked status is properly cloned\n\tinput.checked = true;\n\tsupport.noCloneChecked = input.cloneNode( true ).checked;\n\n\t// Make sure that the options inside disabled selects aren't marked as disabled\n\t// (WebKit marks them as disabled)\n\tselect.disabled = true;\n\tsupport.optDisabled = !opt.disabled;\n\n\t// Test to see if it's possible to delete an expando from an element\n\t// Fails in Internet Explorer\n\ttry {\n\t\tdelete div.test;\n\t} catch( e ) {\n\t\tsupport.deleteExpando = false;\n\t}\n\n\tif ( !div.addEventListener && div.attachEvent && div.fireEvent ) {\n\t\tdiv.attachEvent( \"onclick\", clickFn = function() {\n\t\t\t// Cloning a node shouldn't copy over any\n\t\t\t// bound event handlers (IE does this)\n\t\t\tsupport.noCloneEvent = false;\n\t\t});\n\t\tdiv.cloneNode( true ).fireEvent(\"onclick\");\n\t\tdiv.detachEvent( \"onclick\", clickFn );\n\t}\n\n\t// Check if a radio maintains its value\n\t// after being appended to the DOM\n\tinput = document.createElement(\"input\");\n\tinput.value = \"t\";\n\tinput.setAttribute( \"type\", \"radio\" );\n\tsupport.radioValue = input.value === \"t\";\n\n\tinput.setAttribute( \"checked\", \"checked\" );\n\n\t// #11217 - WebKit loses check when the name is after the checked attribute\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\tfragment = document.createDocumentFragment();\n\tfragment.appendChild( div.lastChild );\n\n\t// WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Check if a disconnected checkbox will retain its checked\n\t// value of true after appended to the DOM (IE6/7)\n\tsupport.appendChecked = input.checked;\n\n\tfragment.removeChild( input );\n\tfragment.appendChild( div );\n\n\t// Technique from Juriy Zaytsev\n\t// http://perfectionkills.com/detecting-event-support-without-browser-sniffing/\n\t// We only care about the case where non-standard event systems\n\t// are used, namely in IE. Short-circuiting here helps us to\n\t// avoid an eval call (in setAttribute) which can cause CSP\n\t// to go haywire. See: https://developer.mozilla.org/en/Security/CSP\n\tif ( div.attachEvent ) {\n\t\tfor ( i in {\n\t\t\tsubmit: true,\n\t\t\tchange: true,\n\t\t\tfocusin: true\n\t\t}) {\n\t\t\teventName = \"on\" + i;\n\t\t\tisSupported = ( eventName in div );\n\t\t\tif ( !isSupported ) {\n\t\t\t\tdiv.setAttribute( eventName, \"return;\" );\n\t\t\t\tisSupported = ( typeof div[ eventName ] === \"function\" );\n\t\t\t}\n\t\t\tsupport[ i + \"Bubbles\" ] = isSupported;\n\t\t}\n\t}\n\n\t// Run tests that need a body at doc ready\n\tjQuery(function() {\n\t\tvar container, div, tds, marginDiv,\n\t\t\tdivReset = \"padding:0;margin:0;border:0;display:block;overflow:hidden;\",\n\t\t\tbody = document.getElementsByTagName(\"body\")[0];\n\n\t\tif ( !body ) {\n\t\t\t// Return for frameset docs that don't have a body\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer = document.createElement(\"div\");\n\t\tcontainer.style.cssText = \"visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px\";\n\t\tbody.insertBefore( container, body.firstChild );\n\n\t\t// Construct the test element\n\t\tdiv = document.createElement(\"div\");\n\t\tcontainer.appendChild( div );\n\n\t\t// Check if table cells still have offsetWidth/Height when they are set\n\t\t// to display:none and there are still other visible table cells in a\n\t\t// table row; if so, offsetWidth/Height are not reliable for use when\n\t\t// determining if an element has been hidden directly using\n\t\t// display:none (it is still safe to use offsets if a parent element is\n\t\t// hidden; don safety goggles and see bug #4512 for more information).\n\t\t// (only IE 8 fails this test)\n\t\tdiv.innerHTML = \"<table><tr><td></td><td>t</td></tr></table>\";\n\t\ttds = div.getElementsByTagName(\"td\");\n\t\ttds[ 0 ].style.cssText = \"padding:0;margin:0;border:0;display:none\";\n\t\tisSupported = ( tds[ 0 ].offsetHeight === 0 );\n\n\t\ttds[ 0 ].style.display = \"\";\n\t\ttds[ 1 ].style.display = \"none\";\n\n\t\t// Check if empty table cells still have offsetWidth/Height\n\t\t// (IE <= 8 fail this test)\n\t\tsupport.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 );\n\n\t\t// Check box-sizing and margin behavior\n\t\tdiv.innerHTML = \"\";\n\t\tdiv.style.cssText = \"box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;\";\n\t\tsupport.boxSizing = ( div.offsetWidth === 4 );\n\t\tsupport.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 );\n\n\t\t// NOTE: To any future maintainer, we've window.getComputedStyle\n\t\t// because jsdom on node.js will break without it.\n\t\tif ( window.getComputedStyle ) {\n\t\t\tsupport.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== \"1%\";\n\t\t\tsupport.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: \"4px\" } ).width === \"4px\";\n\n\t\t\t// Check if div with explicit width and no margin-right incorrectly\n\t\t\t// gets computed margin-right based on width of container. For more\n\t\t\t// info see bug #3333\n\t\t\t// Fails in WebKit before Feb 2011 nightlies\n\t\t\t// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right\n\t\t\tmarginDiv = document.createElement(\"div\");\n\t\t\tmarginDiv.style.cssText = div.style.cssText = divReset;\n\t\t\tmarginDiv.style.marginRight = marginDiv.style.width = \"0\";\n\t\t\tdiv.style.width = \"1px\";\n\t\t\tdiv.appendChild( marginDiv );\n\t\t\tsupport.reliableMarginRight =\n\t\t\t\t!parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight );\n\t\t}\n\n\t\tif ( typeof div.style.zoom !== \"undefined\" ) {\n\t\t\t// Check if natively block-level elements act like inline-block\n\t\t\t// elements when setting their display to 'inline' and giving\n\t\t\t// them layout\n\t\t\t// (IE < 8 does this)\n\t\t\tdiv.innerHTML = \"\";\n\t\t\tdiv.style.cssText = divReset + \"width:1px;padding:1px;display:inline;zoom:1\";\n\t\t\tsupport.inlineBlockNeedsLayout = ( div.offsetWidth === 3 );\n\n\t\t\t// Check if elements with layout shrink-wrap their children\n\t\t\t// (IE 6 does this)\n\t\t\tdiv.style.display = \"block\";\n\t\t\tdiv.style.overflow = \"visible\";\n\t\t\tdiv.innerHTML = \"<div></div>\";\n\t\t\tdiv.firstChild.style.width = \"5px\";\n\t\t\tsupport.shrinkWrapBlocks = ( div.offsetWidth !== 3 );\n\n\t\t\tcontainer.style.zoom = 1;\n\t\t}\n\n\t\t// Null elements to avoid leaks in IE\n\t\tbody.removeChild( container );\n\t\tcontainer = div = tds = marginDiv = null;\n\t});\n\n\t// Null elements to avoid leaks in IE\n\tfragment.removeChild( div );\n\tall = a = select = opt = input = fragment = div = null;\n\n\treturn support;\n})();\nvar rbrace = /(?:\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\])$/,\n\trmultiDash = /([A-Z])/g;\n\njQuery.extend({\n\tcache: {},\n\n\tdeletedIds: [],\n\n\t// Remove at next major release (1.9/2.0)\n\tuuid: 0,\n\n\t// Unique for each copy of jQuery on the page\n\t// Non-digits removed to match rinlinejQuery\n\texpando: \"jQuery\" + ( jQuery.fn.jquery + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// The following elements throw uncatchable exceptions if you\n\t// attempt to add expando properties to them.\n\tnoData: {\n\t\t\"embed\": true,\n\t\t// Ban all objects except for Flash (which handle expandos)\n\t\t\"object\": \"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\",\n\t\t\"applet\": true\n\t},\n\n\thasData: function( elem ) {\n\t\telem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ];\n\t\treturn !!elem && !isEmptyDataObject( elem );\n\t},\n\n\tdata: function( elem, name, data, pvt /* Internal Use Only */ ) {\n\t\tif ( !jQuery.acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar thisCache, ret,\n\t\t\tinternalKey = jQuery.expando,\n\t\t\tgetByName = typeof name === \"string\",\n\n\t\t\t// We have to handle DOM nodes and JS objects differently because IE6-7\n\t\t\t// can't GC object references properly across the DOM-JS boundary\n\t\t\tisNode = elem.nodeType,\n\n\t\t\t// Only DOM nodes need the global jQuery cache; JS object data is\n\t\t\t// attached directly to the object so GC can occur automatically\n\t\t\tcache = isNode ? jQuery.cache : elem,\n\n\t\t\t// Only defining an ID for JS objects if its cache already exists allows\n\t\t\t// the code to shortcut on the same path as a DOM node with no cache\n\t\t\tid = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey;\n\n\t\t// Avoid doing any more work than we need to when trying to get data on an\n\t\t// object that has no data at all\n\t\tif ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !id ) {\n\t\t\t// Only DOM nodes need a new unique ID for each element since their data\n\t\t\t// ends up in the global cache\n\t\t\tif ( isNode ) {\n\t\t\t\telem[ internalKey ] = id = jQuery.deletedIds.pop() || jQuery.guid++;\n\t\t\t} else {\n\t\t\t\tid = internalKey;\n\t\t\t}\n\t\t}\n\n\t\tif ( !cache[ id ] ) {\n\t\t\tcache[ id ] = {};\n\n\t\t\t// Avoids exposing jQuery metadata on plain JS objects when the object\n\t\t\t// is serialized using JSON.stringify\n\t\t\tif ( !isNode ) {\n\t\t\t\tcache[ id ].toJSON = jQuery.noop;\n\t\t\t}\n\t\t}\n\n\t\t// An object can be passed to jQuery.data instead of a key/value pair; this gets\n\t\t// shallow copied over onto the existing cache\n\t\tif ( typeof name === \"object\" || typeof name === \"function\" ) {\n\t\t\tif ( pvt ) {\n\t\t\t\tcache[ id ] = jQuery.extend( cache[ id ], name );\n\t\t\t} else {\n\t\t\t\tcache[ id ].data = jQuery.extend( cache[ id ].data, name );\n\t\t\t}\n\t\t}\n\n\t\tthisCache = cache[ id ];\n\n\t\t// jQuery data() is stored in a separate object inside the object's internal data\n\t\t// cache in order to avoid key collisions between internal data and user-defined\n\t\t// data.\n\t\tif ( !pvt ) {\n\t\t\tif ( !thisCache.data ) {\n\t\t\t\tthisCache.data = {};\n\t\t\t}\n\n\t\t\tthisCache = thisCache.data;\n\t\t}\n\n\t\tif ( data !== undefined ) {\n\t\t\tthisCache[ jQuery.camelCase( name ) ] = data;\n\t\t}\n\n\t\t// Check for both converted-to-camel and non-converted data property names\n\t\t// If a data property was specified\n\t\tif ( getByName ) {\n\n\t\t\t// First Try to find as-is property data\n\t\t\tret = thisCache[ name ];\n\n\t\t\t// Test for null|undefined property data\n\t\t\tif ( ret == null ) {\n\n\t\t\t\t// Try to find the camelCased property\n\t\t\t\tret = thisCache[ jQuery.camelCase( name ) ];\n\t\t\t}\n\t\t} else {\n\t\t\tret = thisCache;\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tremoveData: function( elem, name, pvt /* Internal Use Only */ ) {\n\t\tif ( !jQuery.acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar thisCache, i, l,\n\n\t\t\tisNode = elem.nodeType,\n\n\t\t\t// See jQuery.data for more information\n\t\t\tcache = isNode ? jQuery.cache : elem,\n\t\t\tid = isNode ? elem[ jQuery.expando ] : jQuery.expando;\n\n\t\t// If there is already no cache entry for this object, there is no\n\t\t// purpose in continuing\n\t\tif ( !cache[ id ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( name ) {\n\n\t\t\tthisCache = pvt ? cache[ id ] : cache[ id ].data;\n\n\t\t\tif ( thisCache ) {\n\n\t\t\t\t// Support array or space separated string names for data keys\n\t\t\t\tif ( !jQuery.isArray( name ) ) {\n\n\t\t\t\t\t// try the string as a key before any manipulation\n\t\t\t\t\tif ( name in thisCache ) {\n\t\t\t\t\t\tname = [ name ];\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// split the camel cased version by spaces unless a key with the spaces exists\n\t\t\t\t\t\tname = jQuery.camelCase( name );\n\t\t\t\t\t\tif ( name in thisCache ) {\n\t\t\t\t\t\t\tname = [ name ];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tname = name.split(\" \");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfor ( i = 0, l = name.length; i < l; i++ ) {\n\t\t\t\t\tdelete thisCache[ name[i] ];\n\t\t\t\t}\n\n\t\t\t\t// If there is no data left in the cache, we want to continue\n\t\t\t\t// and let the cache object itself get destroyed\n\t\t\t\tif ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// See jQuery.data for more information\n\t\tif ( !pvt ) {\n\t\t\tdelete cache[ id ].data;\n\n\t\t\t// Don't destroy the parent cache unless the internal data object\n\t\t\t// had been the only thing left in it\n\t\t\tif ( !isEmptyDataObject( cache[ id ] ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Destroy the cache\n\t\tif ( isNode ) {\n\t\t\tjQuery.cleanData( [ elem ], true );\n\n\t\t// Use delete when supported for expandos or `cache` is not a window per isWindow (#10080)\n\t\t} else if ( jQuery.support.deleteExpando || cache != cache.window ) {\n\t\t\tdelete cache[ id ];\n\n\t\t// When all else fails, null\n\t\t} else {\n\t\t\tcache[ id ] = null;\n\t\t}\n\t},\n\n\t// For internal use only.\n\t_data: function( elem, name, data ) {\n\t\treturn jQuery.data( elem, name, data, true );\n\t},\n\n\t// A method for determining if a DOM node can handle the data expando\n\tacceptData: function( elem ) {\n\t\tvar noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ];\n\n\t\t// nodes accept data unless otherwise specified; rejection can be conditional\n\t\treturn !noData || noData !== true && elem.getAttribute(\"classid\") === noData;\n\t}\n});\n\njQuery.fn.extend({\n\tdata: function( key, value ) {\n\t\tvar parts, part, attr, name, l,\n\t\t\telem = this[0],\n\t\t\ti = 0,\n\t\t\tdata = null;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = jQuery.data( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !jQuery._data( elem, \"parsedAttrs\" ) ) {\n\t\t\t\t\tattr = elem.attributes;\n\t\t\t\t\tfor ( l = attr.length; i < l; i++ ) {\n\t\t\t\t\t\tname = attr[i].name;\n\n\t\t\t\t\t\tif ( !name.indexOf( \"data-\" ) ) {\n\t\t\t\t\t\t\tname = jQuery.camelCase( name.substring(5) );\n\n\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tjQuery._data( elem, \"parsedAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each(function() {\n\t\t\t\tjQuery.data( this, key );\n\t\t\t});\n\t\t}\n\n\t\tparts = key.split( \".\", 2 );\n\t\tparts[1] = parts[1] ? \".\" + parts[1] : \"\";\n\t\tpart = parts[1] + \"!\";\n\n\t\treturn jQuery.access( this, function( value ) {\n\n\t\t\tif ( value === undefined ) {\n\t\t\t\tdata = this.triggerHandler( \"getData\" + part, [ parts[0] ] );\n\n\t\t\t\t// Try to fetch any internally stored data first\n\t\t\t\tif ( data === undefined && elem ) {\n\t\t\t\t\tdata = jQuery.data( elem, key );\n\t\t\t\t\tdata = dataAttr( elem, key, data );\n\t\t\t\t}\n\n\t\t\t\treturn data === undefined && parts[1] ?\n\t\t\t\t\tthis.data( parts[0] ) :\n\t\t\t\t\tdata;\n\t\t\t}\n\n\t\t\tparts[1] = value;\n\t\t\tthis.each(function() {\n\t\t\t\tvar self = jQuery( this );\n\n\t\t\t\tself.triggerHandler( \"setData\" + part, parts );\n\t\t\t\tjQuery.data( this, key, value );\n\t\t\t\tself.triggerHandler( \"changeData\" + part, parts );\n\t\t\t});\n\t\t}, null, value, arguments.length > 1, null, false );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.removeData( this, key );\n\t\t});\n\t}\n});\n\nfunction dataAttr( elem, key, data ) {\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\n\t\tvar name = \"data-\" + key.replace( rmultiDash, \"-$1\" ).toLowerCase();\n\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = data === \"true\" ? true :\n\t\t\t\tdata === \"false\" ? false :\n\t\t\t\tdata === \"null\" ? null :\n\t\t\t\t// Only convert to a number if it doesn't change the string\n\t\t\t\t+data + \"\" === data ? +data :\n\t\t\t\trbrace.test( data ) ? jQuery.parseJSON( data ) :\n\t\t\t\t\tdata;\n\t\t\t} catch( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tjQuery.data( elem, key, data );\n\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\n\treturn data;\n}\n\n// checks a cache object for emptiness\nfunction isEmptyDataObject( obj ) {\n\tvar name;\n\tfor ( name in obj ) {\n\n\t\t// if the public data object is empty, the private is still empty\n\t\tif ( name === \"data\" && jQuery.isEmptyObject( obj[name] ) ) {\n\t\t\tcontinue;\n\t\t}\n\t\tif ( name !== \"toJSON\" ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\njQuery.extend({\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = jQuery._data( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || jQuery.isArray(data) ) {\n\t\t\t\t\tqueue = jQuery._data( elem, type, jQuery.makeArray(data) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// not intended for public consumption - generates a queueHooks object, or returns the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn jQuery._data( elem, key ) || jQuery._data( elem, key, {\n\t\t\tempty: jQuery.Callbacks(\"once memory\").add(function() {\n\t\t\t\tjQuery.removeData( elem, type + \"queue\", true );\n\t\t\t\tjQuery.removeData( elem, key, true );\n\t\t\t})\n\t\t});\n\t}\n});\n\njQuery.fn.extend({\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[0], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each(function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[0] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t});\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t});\n\t},\n\t// Based off of the plugin by Clint Helfers, with permission.\n\t// http://blindsignals.com/index.php/2009/07/jquery-delay/\n\tdelay: function( time, type ) {\n\t\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\t\ttype = type || \"fx\";\n\n\t\treturn this.queue( type, function( next, hooks ) {\n\t\t\tvar timeout = setTimeout( next, time );\n\t\t\thooks.stop = function() {\n\t\t\t\tclearTimeout( timeout );\n\t\t\t};\n\t\t});\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile( i-- ) {\n\t\t\ttmp = jQuery._data( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n});\nvar nodeHook, boolHook, fixSpecified,\n\trclass = /[\\t\\r\\n]/g,\n\trreturn = /\\r/g,\n\trtype = /^(?:button|input)$/i,\n\trfocusable = /^(?:button|input|object|select|textarea)$/i,\n\trclickable = /^a(?:rea|)$/i,\n\trboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,\n\tgetSetAttribute = jQuery.support.getSetAttribute;\n\njQuery.fn.extend({\n\tattr: function( name, value ) {\n\t\treturn jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t});\n\t},\n\n\tprop: function( name, value ) {\n\t\treturn jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\tname = jQuery.propFix[ name ] || name;\n\t\treturn this.each(function() {\n\t\t\t// try/catch handles cases where IE balks (such as removing a property on window)\n\t\t\ttry {\n\t\t\t\tthis[ name ] = undefined;\n\t\t\t\tdelete this[ name ];\n\t\t\t} catch( e ) {}\n\t\t});\n\t},\n\n\taddClass: function( value ) {\n\t\tvar classNames, i, l, elem,\n\t\t\tsetClass, c, cl;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each(function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call(this, j, this.className) );\n\t\t\t});\n\t\t}\n\n\t\tif ( value && typeof value === \"string\" ) {\n\t\t\tclassNames = value.split( core_rspace );\n\n\t\t\tfor ( i = 0, l = this.length; i < l; i++ ) {\n\t\t\t\telem = this[ i ];\n\n\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\tif ( !elem.className && classNames.length === 1 ) {\n\t\t\t\t\t\telem.className = value;\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetClass = \" \" + elem.className + \" \";\n\n\t\t\t\t\t\tfor ( c = 0, cl = classNames.length; c < cl; c++ ) {\n\t\t\t\t\t\t\tif ( setClass.indexOf( \" \" + classNames[ c ] + \" \" ) < 0 ) {\n\t\t\t\t\t\t\t\tsetClass += classNames[ c ] + \" \";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telem.className = jQuery.trim( setClass );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar removes, className, elem, c, cl, i, l;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each(function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call(this, j, this.className) );\n\t\t\t});\n\t\t}\n\t\tif ( (value && typeof value === \"string\") || value === undefined ) {\n\t\t\tremoves = ( value || \"\" ).split( core_rspace );\n\n\t\t\tfor ( i = 0, l = this.length; i < l; i++ ) {\n\t\t\t\telem = this[ i ];\n\t\t\t\tif ( elem.nodeType === 1 && elem.className ) {\n\n\t\t\t\t\tclassName = (\" \" + elem.className + \" \").replace( rclass, \" \" );\n\n\t\t\t\t\t// loop over each item in the removal list\n\t\t\t\t\tfor ( c = 0, cl = removes.length; c < cl; c++ ) {\n\t\t\t\t\t\t// Remove until there is nothing to remove,\n\t\t\t\t\t\twhile ( className.indexOf(\" \" + removes[ c ] + \" \") >= 0 ) {\n\t\t\t\t\t\t\tclassName = className.replace( \" \" + removes[ c ] + \" \" , \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telem.className = value ? jQuery.trim( className ) : \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value,\n\t\t\tisBool = typeof stateVal === \"boolean\";\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each(function( i ) {\n\t\t\t\tjQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );\n\t\t\t});\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tif ( type === \"string\" ) {\n\t\t\t\t// toggle individual class names\n\t\t\t\tvar className,\n\t\t\t\t\ti = 0,\n\t\t\t\t\tself = jQuery( this ),\n\t\t\t\t\tstate = stateVal,\n\t\t\t\t\tclassNames = value.split( core_rspace );\n\n\t\t\t\twhile ( (className = classNames[ i++ ]) ) {\n\t\t\t\t\t// check each className given, space separated list\n\t\t\t\t\tstate = isBool ? state : !self.hasClass( className );\n\t\t\t\t\tself[ state ? \"addClass\" : \"removeClass\" ]( className );\n\t\t\t\t}\n\n\t\t\t} else if ( type === \"undefined\" || type === \"boolean\" ) {\n\t\t\t\tif ( this.className ) {\n\t\t\t\t\t// store className if set\n\t\t\t\t\tjQuery._data( this, \"__className__\", this.className );\n\t\t\t\t}\n\n\t\t\t\t// toggle whole className\n\t\t\t\tthis.className = this.className || value === false ? \"\" : jQuery._data( this, \"__className__\" ) || \"\";\n\t\t\t}\n\t\t});\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className = \" \" + selector + \" \",\n\t\t\ti = 0,\n\t\t\tl = this.length;\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tif ( this[i].nodeType === 1 && (\" \" + this[i].className + \" \").replace(rclass, \" \").indexOf( className ) >= 0 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t},\n\n\tval: function( value ) {\n\t\tvar hooks, ret, isFunction,\n\t\t\telem = this[0];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks && \"get\" in hooks && (ret = hooks.get( elem, \"value\" )) !== undefined ) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\treturn typeof ret === \"string\" ?\n\t\t\t\t\t// handle most common string cases\n\t\t\t\t\tret.replace(rreturn, \"\") :\n\t\t\t\t\t// handle cases where value is null/undef or number\n\t\t\t\t\tret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tisFunction = jQuery.isFunction( value );\n\n\t\treturn this.each(function( i ) {\n\t\t\tvar val,\n\t\t\t\tself = jQuery(this);\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isFunction ) {\n\t\t\t\tval = value.call( this, i, self.val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\t\t\t} else if ( jQuery.isArray( val ) ) {\n\t\t\t\tval = jQuery.map(val, function ( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t});\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !(\"set\" in hooks) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t});\n\t}\n});\n\njQuery.extend({\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\t\t\t\t// attributes.value is undefined in Blackberry 4.7 but\n\t\t\t\t// uses .value. See #6932\n\t\t\t\tvar val = elem.attributes.value;\n\t\t\t\treturn !val || val.specified ? elem.value : elem.text;\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\" || index < 0,\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length,\n\t\t\t\t\ti = index < 0 ?\n\t\t\t\t\t\tmax :\n\t\t\t\t\t\tone ? index : 0;\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// oldIE doesn't update selected after form reset (#2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t( jQuery.support.optDisabled ? !option.disabled : option.getAttribute(\"disabled\") === null ) &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar values = jQuery.makeArray( value );\n\n\t\t\t\tjQuery(elem).find(\"option\").each(function() {\n\t\t\t\t\tthis.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;\n\t\t\t\t});\n\n\t\t\t\tif ( !values.length ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t},\n\n\t// Unused in 1.8, left in so attrFn-stabbers won't die; remove in 1.9\n\tattrFn: {},\n\n\tattr: function( elem, name, value, pass ) {\n\t\tvar ret, hooks, notxml,\n\t\t\tnType = elem.nodeType;\n\n\t\t// don't get/set attributes on text, comment and attribute nodes\n\t\tif ( !elem || nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( pass && jQuery.isFunction( jQuery.fn[ name ] ) ) {\n\t\t\treturn jQuery( elem )[ name ]( value );\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\tnotxml = nType !== 1 || !jQuery.isXMLDoc( elem );\n\n\t\t// All attributes are lowercase\n\t\t// Grab necessary hook if one is defined\n\t\tif ( notxml ) {\n\t\t\tname = name.toLowerCase();\n\t\t\thooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\n\t\t\t} else if ( hooks && \"set\" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) {\n\t\t\t\treturn ret;\n\n\t\t\t} else {\n\t\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t} else if ( hooks && \"get\" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) {\n\t\t\treturn ret;\n\n\t\t} else {\n\n\t\t\tret = elem.getAttribute( name );\n\n\t\t\t// Non-existent attributes return null, we normalize to undefined\n\t\t\treturn ret === null ?\n\t\t\t\tundefined :\n\t\t\t\tret;\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar propName, attrNames, name, isBool,\n\t\t\ti = 0;\n\n\t\tif ( value && elem.nodeType === 1 ) {\n\n\t\t\tattrNames = value.split( core_rspace );\n\n\t\t\tfor ( ; i < attrNames.length; i++ ) {\n\t\t\t\tname = attrNames[ i ];\n\n\t\t\t\tif ( name ) {\n\t\t\t\t\tpropName = jQuery.propFix[ name ] || name;\n\t\t\t\t\tisBool = rboolean.test( name );\n\n\t\t\t\t\t// See #9699 for explanation of this approach (setting first, then removal)\n\t\t\t\t\t// Do not do this for boolean attributes (see #10870)\n\t\t\t\t\tif ( !isBool ) {\n\t\t\t\t\t\tjQuery.attr( elem, name, \"\" );\n\t\t\t\t\t}\n\t\t\t\t\telem.removeAttribute( getSetAttribute ? name : propName );\n\n\t\t\t\t\t// Set corresponding property to false for boolean attributes\n\t\t\t\t\tif ( isBool && propName in elem ) {\n\t\t\t\t\t\telem[ propName ] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\t// We can't allow the type property to be changed (since it causes problems in IE)\n\t\t\t\tif ( rtype.test( elem.nodeName ) && elem.parentNode ) {\n\t\t\t\t\tjQuery.error( \"type property can't be changed\" );\n\t\t\t\t} else if ( !jQuery.support.radioValue && value === \"radio\" && jQuery.nodeName(elem, \"input\") ) {\n\t\t\t\t\t// Setting the type on a radio button after the value resets the value in IE6-9\n\t\t\t\t\t// Reset value to it's default in case type is set after value\n\t\t\t\t\t// This is for element creation\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Use the value property for back compat\n\t\t// Use the nodeHook for button elements in IE6/7 (#1954)\n\t\tvalue: {\n\t\t\tget: function( elem, name ) {\n\t\t\t\tif ( nodeHook && jQuery.nodeName( elem, \"button\" ) ) {\n\t\t\t\t\treturn nodeHook.get( elem, name );\n\t\t\t\t}\n\t\t\t\treturn name in elem ?\n\t\t\t\t\telem.value :\n\t\t\t\t\tnull;\n\t\t\t},\n\t\t\tset: function( elem, value, name ) {\n\t\t\t\tif ( nodeHook && jQuery.nodeName( elem, \"button\" ) ) {\n\t\t\t\t\treturn nodeHook.set( elem, value, name );\n\t\t\t\t}\n\t\t\t\t// Does not return so that setAttribute is also used\n\t\t\t\telem.value = value;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\ttabindex: \"tabIndex\",\n\t\treadonly: \"readOnly\",\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\",\n\t\tmaxlength: \"maxLength\",\n\t\tcellspacing: \"cellSpacing\",\n\t\tcellpadding: \"cellPadding\",\n\t\trowspan: \"rowSpan\",\n\t\tcolspan: \"colSpan\",\n\t\tusemap: \"useMap\",\n\t\tframeborder: \"frameBorder\",\n\t\tcontenteditable: \"contentEditable\"\n\t},\n\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks, notxml,\n\t\t\tnType = elem.nodeType;\n\n\t\t// don't get/set properties on text, comment and attribute nodes\n\t\tif ( !elem || nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tnotxml = nType !== 1 || !jQuery.isXMLDoc( elem );\n\n\t\tif ( notxml ) {\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {\n\t\t\t\treturn ret;\n\n\t\t\t} else {\n\t\t\t\treturn ( elem[ name ] = value );\n\t\t\t}\n\n\t\t} else {\n\t\t\tif ( hooks && \"get\" in hooks && (ret = hooks.get( elem, name )) !== null ) {\n\t\t\t\treturn ret;\n\n\t\t\t} else {\n\t\t\t\treturn elem[ name ];\n\t\t\t}\n\t\t}\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\t\t\t\t// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set\n\t\t\t\t// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n\t\t\t\tvar attributeNode = elem.getAttributeNode(\"tabindex\");\n\n\t\t\t\treturn attributeNode && attributeNode.specified ?\n\t\t\t\t\tparseInt( attributeNode.value, 10 ) :\n\t\t\t\t\trfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?\n\t\t\t\t\t\t0 :\n\t\t\t\t\t\tundefined;\n\t\t\t}\n\t\t}\n\t}\n});\n\n// Hook for boolean attributes\nboolHook = {\n\tget: function( elem, name ) {\n\t\t// Align boolean attributes with corresponding properties\n\t\t// Fall back to attribute presence where some booleans are not supported\n\t\tvar attrNode,\n\t\t\tproperty = jQuery.prop( elem, name );\n\t\treturn property === true || typeof property !== \"boolean\" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?\n\t\t\tname.toLowerCase() :\n\t\t\tundefined;\n\t},\n\tset: function( elem, value, name ) {\n\t\tvar propName;\n\t\tif ( value === false ) {\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\t// value is true since we know at this point it's type boolean and not false\n\t\t\t// Set boolean attributes to the same name and set the DOM property\n\t\t\tpropName = jQuery.propFix[ name ] || name;\n\t\t\tif ( propName in elem ) {\n\t\t\t\t// Only set the IDL specifically if it already exists on the element\n\t\t\t\telem[ propName ] = true;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, name.toLowerCase() );\n\t\t}\n\t\treturn name;\n\t}\n};\n\n// IE6/7 do not support getting/setting some attributes with get/setAttribute\nif ( !getSetAttribute ) {\n\n\tfixSpecified = {\n\t\tname: true,\n\t\tid: true,\n\t\tcoords: true\n\t};\n\n\t// Use this for any attribute in IE6/7\n\t// This fixes almost every IE6/7 issue\n\tnodeHook = jQuery.valHooks.button = {\n\t\tget: function( elem, name ) {\n\t\t\tvar ret;\n\t\t\tret = elem.getAttributeNode( name );\n\t\t\treturn ret && ( fixSpecified[ name ] ? ret.value !== \"\" : ret.specified ) ?\n\t\t\t\tret.value :\n\t\t\t\tundefined;\n\t\t},\n\t\tset: function( elem, value, name ) {\n\t\t\t// Set the existing or create a new attribute node\n\t\t\tvar ret = elem.getAttributeNode( name );\n\t\t\tif ( !ret ) {\n\t\t\t\tret = document.createAttribute( name );\n\t\t\t\telem.setAttributeNode( ret );\n\t\t\t}\n\t\t\treturn ( ret.value = value + \"\" );\n\t\t}\n\t};\n\n\t// Set width and height to auto instead of 0 on empty string( Bug #8150 )\n\t// This is for removals\n\tjQuery.each([ \"width\", \"height\" ], function( i, name ) {\n\t\tjQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( value === \"\" ) {\n\t\t\t\t\telem.setAttribute( name, \"auto\" );\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n\n\t// Set contenteditable to false on removals(#10429)\n\t// Setting to empty string throws an error as an invalid value\n\tjQuery.attrHooks.contenteditable = {\n\t\tget: nodeHook.get,\n\t\tset: function( elem, value, name ) {\n\t\t\tif ( value === \"\" ) {\n\t\t\t\tvalue = \"false\";\n\t\t\t}\n\t\t\tnodeHook.set( elem, value, name );\n\t\t}\n\t};\n}\n\n\n// Some attributes require a special call on IE\nif ( !jQuery.support.hrefNormalized ) {\n\tjQuery.each([ \"href\", \"src\", \"width\", \"height\" ], function( i, name ) {\n\t\tjQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar ret = elem.getAttribute( name, 2 );\n\t\t\t\treturn ret === null ? undefined : ret;\n\t\t\t}\n\t\t});\n\t});\n}\n\nif ( !jQuery.support.style ) {\n\tjQuery.attrHooks.style = {\n\t\tget: function( elem ) {\n\t\t\t// Return undefined in the case of empty string\n\t\t\t// Normalize to lowercase since IE uppercases css property names\n\t\t\treturn elem.style.cssText.toLowerCase() || undefined;\n\t\t},\n\t\tset: function( elem, value ) {\n\t\t\treturn ( elem.style.cssText = value + \"\" );\n\t\t}\n\t};\n}\n\n// Safari mis-reports the default selected property of an option\n// Accessing the parent's selectedIndex property fixes it\nif ( !jQuery.support.optSelected ) {\n\tjQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, {\n\t\tget: function( elem ) {\n\t\t\tvar parent = elem.parentNode;\n\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\t// Make sure that it also works with optgroups, see #5701\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t});\n}\n\n// IE6/7 call enctype encoding\nif ( !jQuery.support.enctype ) {\n\tjQuery.propFix.enctype = \"encoding\";\n}\n\n// Radios and checkboxes getter/setter\nif ( !jQuery.support.checkOn ) {\n\tjQuery.each([ \"radio\", \"checkbox\" ], function() {\n\t\tjQuery.valHooks[ this ] = {\n\t\t\tget: function( elem ) {\n\t\t\t\t// Handle the case where in Webkit \"\" is returned instead of \"on\" if a value isn't specified\n\t\t\t\treturn elem.getAttribute(\"value\") === null ? \"on\" : elem.value;\n\t\t\t}\n\t\t};\n\t});\n}\njQuery.each([ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], {\n\t\tset: function( elem, value ) {\n\t\t\tif ( jQuery.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );\n\t\t\t}\n\t\t}\n\t});\n});\nvar rformElems = /^(?:textarea|input|select)$/i,\n\trtypenamespace = /^([^\\.]*|)(?:\\.(.+)|)$/,\n\trhoverHack = /(?:^|\\s)hover(\\.\\S+|)\\b/,\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|contextmenu)|click/,\n\trfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\thoverHack = function( events ) {\n\t\treturn jQuery.event.special.hover ? events : events.replace( rhoverHack, \"mouseenter$1 mouseleave$1\" );\n\t};\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar elemData, eventHandle, events,\n\t\t\tt, tns, type, namespaces, handleObj,\n\t\t\thandleObjIn, handlers, special;\n\n\t\t// Don't attach events to noData or text/comment nodes (allow plain objects tho)\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tevents = elemData.events;\n\t\tif ( !events ) {\n\t\t\telemData.events = events = {};\n\t\t}\n\t\teventHandle = elemData.handle;\n\t\tif ( !eventHandle ) {\n\t\t\telemData.handle = eventHandle = function( e ) {\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && (!e || jQuery.event.triggered !== e.type) ?\n\t\t\t\t\tjQuery.event.dispatch.apply( eventHandle.elem, arguments ) :\n\t\t\t\t\tundefined;\n\t\t\t};\n\t\t\t// Add elem as a property of the handle fn to prevent a memory leak with IE non-native events\n\t\t\teventHandle.elem = elem;\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\t// jQuery(...).bind(\"mouseover mouseout\", fn);\n\t\ttypes = jQuery.trim( hoverHack(types) ).split( \" \" );\n\t\tfor ( t = 0; t < types.length; t++ ) {\n\n\t\t\ttns = rtypenamespace.exec( types[t] ) || [];\n\t\t\ttype = tns[1];\n\t\t\tnamespaces = ( tns[2] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend({\n\t\t\t\ttype: type,\n\t\t\t\torigType: tns[1],\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join(\".\")\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\thandlers = events[ type ];\n\t\t\tif ( !handlers ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener/attachEvent if the special events handler returns false\n\t\t\t\tif ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\t\t\t\t\t// Bind the global event handler to the element\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle, false );\n\n\t\t\t\t\t} else if ( elem.attachEvent ) {\n\t\t\t\t\t\telem.attachEvent( \"on\" + type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t\t// Nullify elem to prevent memory leaks in IE\n\t\telem = null;\n\t},\n\n\tglobal: {},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar t, tns, type, origType, namespaces, origCount,\n\t\t\tj, events, special, eventType, handleObj,\n\t\t\telemData = jQuery.hasData( elem ) && jQuery._data( elem );\n\n\t\tif ( !elemData || !(events = elemData.events) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = jQuery.trim( hoverHack( types || \"\" ) ).split(\" \");\n\t\tfor ( t = 0; t < types.length; t++ ) {\n\t\t\ttns = rtypenamespace.exec( types[t] ) || [];\n\t\t\ttype = origType = tns[1];\n\t\t\tnamespaces = tns[2];\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector? special.delegateType : special.bindType ) || type;\n\t\t\teventType = events[ type ] || [];\n\t\t\torigCount = eventType.length;\n\t\t\tnamespaces = namespaces ? new RegExp(\"(^|\\\\.)\" + namespaces.split(\".\").sort().join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\") : null;\n\n\t\t\t// Remove matching events\n\t\t\tfor ( j = 0; j < eventType.length; j++ ) {\n\t\t\t\thandleObj = eventType[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t ( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t ( !namespaces || namespaces.test( handleObj.namespace ) ) &&\n\t\t\t\t\t ( !selector || selector === handleObj.selector || selector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\teventType.splice( j--, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\teventType.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( eventType.length === 0 && origCount !== eventType.length ) {\n\t\t\t\tif ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdelete elemData.handle;\n\n\t\t\t// removeData also checks for emptiness and clears the expando if empty\n\t\t\t// so use it instead of delete\n\t\t\tjQuery.removeData( elem, \"events\", true );\n\t\t}\n\t},\n\n\t// Events that are safe to short-circuit if no handlers are attached.\n\t// Native DOM events should not be added, they may have inline handlers.\n\tcustomEvent: {\n\t\t\"getData\": true,\n\t\t\"setData\": true,\n\t\t\"changeData\": true\n\t},\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Event object or event type\n\t\tvar cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType,\n\t\t\ttype = event.type || event,\n\t\t\tnamespaces = [];\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \"!\" ) >= 0 ) {\n\t\t\t// Exclusive events trigger only for the exact event (no namespaces)\n\t\t\ttype = type.slice(0, -1);\n\t\t\texclusive = true;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) >= 0 ) {\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split(\".\");\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\n\t\tif ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) {\n\t\t\t// No jQuery handlers for this event type, and it can't have inline handlers\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an Event, Object, or just an event type string\n\t\tevent = typeof event === \"object\" ?\n\t\t\t// jQuery.Event object\n\t\t\tevent[ jQuery.expando ] ? event :\n\t\t\t// Object literal\n\t\t\tnew jQuery.Event( type, event ) :\n\t\t\t// Just the event type (string)\n\t\t\tnew jQuery.Event( type );\n\n\t\tevent.type = type;\n\t\tevent.isTrigger = true;\n\t\tevent.exclusive = exclusive;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.namespace_re = event.namespace? new RegExp(\"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\") : null;\n\t\tontype = type.indexOf( \":\" ) < 0 ? \"on\" + type : \"\";\n\n\t\t// Handle a global trigger\n\t\tif ( !elem ) {\n\n\t\t\t// TODO: Stop taunting the data cache; remove global events and always attach to document\n\t\t\tcache = jQuery.cache;\n\t\t\tfor ( i in cache ) {\n\t\t\t\tif ( cache[ i ].events && cache[ i ].events[ type ] ) {\n\t\t\t\t\tjQuery.event.trigger( event, data, cache[ i ].handle.elem, true );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data != null ? jQuery.makeArray( data ) : [];\n\t\tdata.unshift( event );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\teventPath = [[ elem, special.bindType || type ]];\n\t\tif ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tcur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode;\n\t\t\tfor ( old = elem; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push([ cur, bubbleType ]);\n\t\t\t\told = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( old === (elem.ownerDocument || document) ) {\n\t\t\t\teventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]);\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\tfor ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) {\n\n\t\t\tcur = eventPath[i][0];\n\t\t\tevent.type = eventPath[i][1];\n\n\t\t\thandle = ( jQuery._data( cur, \"events\" ) || {} )[ event.type ] && jQuery._data( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\t\t\t// Note that this is a bare JS function and not a jQuery handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) &&\n\t\t\t\t!(type === \"click\" && jQuery.nodeName( elem, \"a\" )) && jQuery.acceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name name as the event.\n\t\t\t\t// Can't use an .isFunction() check here because IE6/7 fails that test.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\t// IE<9 dies on focus/blur to hidden element (#1486)\n\t\t\t\tif ( ontype && elem[ type ] && ((type !== \"focus\" && type !== \"blur\") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\told = elem[ ontype ];\n\n\t\t\t\t\tif ( old ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\t\t\t\t\telem[ type ]();\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( old ) {\n\t\t\t\t\t\telem[ ontype ] = old;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\tdispatch: function( event ) {\n\n\t\t// Make a writable jQuery.Event from the native event object\n\t\tevent = jQuery.event.fix( event || window.event );\n\n\t\tvar i, j, cur, ret, selMatch, matched, matches, handleObj, sel, related,\n\t\t\thandlers = ( (jQuery._data( this, \"events\" ) || {} )[ event.type ] || []),\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\targs = core_slice.call( arguments ),\n\t\t\trun_all = !event.exclusive && !event.namespace,\n\t\t\tspecial = jQuery.event.special[ event.type ] || {},\n\t\t\thandlerQueue = [];\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[0] = event;\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers that should run if there are delegated events\n\t\t// Avoid non-left-click bubbling in Firefox (#3861)\n\t\tif ( delegateCount && !(event.button && event.type === \"click\") ) {\n\n\t\t\tfor ( cur = event.target; cur != this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't process clicks (ONLY) on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.disabled !== true || event.type !== \"click\" ) {\n\t\t\t\t\tselMatch = {};\n\t\t\t\t\tmatches = [];\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\t\t\t\t\t\tsel = handleObj.selector;\n\n\t\t\t\t\t\tif ( selMatch[ sel ] === undefined ) {\n\t\t\t\t\t\t\tselMatch[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) >= 0 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( selMatch[ sel ] ) {\n\t\t\t\t\t\t\tmatches.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matches.length ) {\n\t\t\t\t\t\thandlerQueue.push({ elem: cur, matches: matches });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tif ( handlers.length > delegateCount ) {\n\t\t\thandlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) });\n\t\t}\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\tfor ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) {\n\t\t\tmatched = handlerQueue[ i ];\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tfor ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) {\n\t\t\t\thandleObj = matched.matches[ j ];\n\n\t\t\t\t// Triggered event must either 1) be non-exclusive and have no namespace, or\n\t\t\t\t// 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).\n\t\t\t\tif ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.data = handleObj.data;\n\t\t\t\t\tevent.handleObj = handleObj;\n\n\t\t\t\t\tret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )\n\t\t\t\t\t\t\t.apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tevent.result = ret;\n\t\t\t\t\t\tif ( ret === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Includes some event props shared by KeyEvent and MouseEvent\n\t// *** attrChange attrName relatedNode srcElement  are not normalized, non-W3C, deprecated, will be removed in 1.8 ***\n\tprops: \"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),\n\n\tfixHooks: {},\n\n\tkeyHooks: {\n\t\tprops: \"char charCode key keyCode\".split(\" \"),\n\t\tfilter: function( event, original ) {\n\n\t\t\t// Add which for key events\n\t\t\tif ( event.which == null ) {\n\t\t\t\tevent.which = original.charCode != null ? original.charCode : original.keyCode;\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tmouseHooks: {\n\t\tprops: \"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),\n\t\tfilter: function( event, original ) {\n\t\t\tvar eventDoc, doc, body,\n\t\t\t\tbutton = original.button,\n\t\t\t\tfromElement = original.fromElement;\n\n\t\t\t// Calculate pageX/Y if missing and clientX/Y available\n\t\t\tif ( event.pageX == null && original.clientX != null ) {\n\t\t\t\teventDoc = event.target.ownerDocument || document;\n\t\t\t\tdoc = eventDoc.documentElement;\n\t\t\t\tbody = eventDoc.body;\n\n\t\t\t\tevent.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );\n\t\t\t\tevent.pageY = original.clientY + ( doc && doc.scrollTop  || body && body.scrollTop  || 0 ) - ( doc && doc.clientTop  || body && body.clientTop  || 0 );\n\t\t\t}\n\n\t\t\t// Add relatedTarget, if necessary\n\t\t\tif ( !event.relatedTarget && fromElement ) {\n\t\t\t\tevent.relatedTarget = fromElement === event.target ? original.toElement : fromElement;\n\t\t\t}\n\n\t\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\t\t// Note: button is not normalized, so don't use it\n\t\t\tif ( !event.which && button !== undefined ) {\n\t\t\t\tevent.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tfix: function( event ) {\n\t\tif ( event[ jQuery.expando ] ) {\n\t\t\treturn event;\n\t\t}\n\n\t\t// Create a writable copy of the event object and normalize some properties\n\t\tvar i, prop,\n\t\t\toriginalEvent = event,\n\t\t\tfixHook = jQuery.event.fixHooks[ event.type ] || {},\n\t\t\tcopy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;\n\n\t\tevent = jQuery.Event( originalEvent );\n\n\t\tfor ( i = copy.length; i; ) {\n\t\t\tprop = copy[ --i ];\n\t\t\tevent[ prop ] = originalEvent[ prop ];\n\t\t}\n\n\t\t// Fix target property, if necessary (#1925, IE 6/7/8 & Safari2)\n\t\tif ( !event.target ) {\n\t\t\tevent.target = originalEvent.srcElement || document;\n\t\t}\n\n\t\t// Target should not be a text node (#504, Safari)\n\t\tif ( event.target.nodeType === 3 ) {\n\t\t\tevent.target = event.target.parentNode;\n\t\t}\n\n\t\t// For mouse/key events, metaKey==false if it's undefined (#3368, #11328; IE6/7/8)\n\t\tevent.metaKey = !!event.metaKey;\n\n\t\treturn fixHook.filter? fixHook.filter( event, originalEvent ) : event;\n\t},\n\n\tspecial: {\n\t\tload: {\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\n\t\tfocus: {\n\t\t\tdelegateType: \"focusin\"\n\t\t},\n\t\tblur: {\n\t\t\tdelegateType: \"focusout\"\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tsetup: function( data, namespaces, eventHandle ) {\n\t\t\t\t// We only want to do this special case on windows\n\t\t\t\tif ( jQuery.isWindow( this ) ) {\n\t\t\t\t\tthis.onbeforeunload = eventHandle;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tteardown: function( namespaces, eventHandle ) {\n\t\t\t\tif ( this.onbeforeunload === eventHandle ) {\n\t\t\t\t\tthis.onbeforeunload = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tsimulate: function( type, elem, event, bubble ) {\n\t\t// Piggyback on a donor event to simulate a different one.\n\t\t// Fake originalEvent to avoid donor's stopPropagation, but if the\n\t\t// simulated event prevents default then we do the same on the donor.\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{ type: type,\n\t\t\t\tisSimulated: true,\n\t\t\t\toriginalEvent: {}\n\t\t\t}\n\t\t);\n\t\tif ( bubble ) {\n\t\t\tjQuery.event.trigger( e, null, elem );\n\t\t} else {\n\t\t\tjQuery.event.dispatch.call( elem, e );\n\t\t}\n\t\tif ( e.isDefaultPrevented() ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n};\n\n// Some plugins are using, but it's undocumented/deprecated and will be removed.\n// The 1.7 special event interface should provide all the hooks needed now.\njQuery.event.handle = jQuery.event.dispatch;\n\njQuery.removeEvent = document.removeEventListener ?\n\tfunction( elem, type, handle ) {\n\t\tif ( elem.removeEventListener ) {\n\t\t\telem.removeEventListener( type, handle, false );\n\t\t}\n\t} :\n\tfunction( elem, type, handle ) {\n\t\tvar name = \"on\" + type;\n\n\t\tif ( elem.detachEvent ) {\n\n\t\t\t// #8545, #7054, preventing memory leaks for custom events in IE6-8\n\t\t\t// detachEvent needed property on element, by name of that event, to properly expose it to GC\n\t\t\tif ( typeof elem[ name ] === \"undefined\" ) {\n\t\t\t\telem[ name ] = null;\n\t\t\t}\n\n\t\t\telem.detachEvent( name, handle );\n\t\t}\n\t};\n\njQuery.Event = function( src, props ) {\n\t// Allow instantiation without the 'new' keyword\n\tif ( !(this instanceof jQuery.Event) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false ||\n\t\t\tsrc.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || jQuery.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\nfunction returnFalse() {\n\treturn false;\n}\nfunction returnTrue() {\n\treturn true;\n}\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tpreventDefault: function() {\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tvar e = this.originalEvent;\n\t\tif ( !e ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// if preventDefault exists run it on the original event\n\t\tif ( e.preventDefault ) {\n\t\t\te.preventDefault();\n\n\t\t// otherwise set the returnValue property of the original event to false (IE)\n\t\t} else {\n\t\t\te.returnValue = false;\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tvar e = this.originalEvent;\n\t\tif ( !e ) {\n\t\t\treturn;\n\t\t}\n\t\t// if stopPropagation exists run it on the original event\n\t\tif ( e.stopPropagation ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t\t// otherwise set the cancelBubble property of the original event to true (IE)\n\t\te.cancelBubble = true;\n\t},\n\tstopImmediatePropagation: function() {\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\t\tthis.stopPropagation();\n\t},\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse\n};\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\njQuery.each({\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj,\n\t\t\t\tselector = handleObj.selector;\n\n\t\t\t// For mousenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || (related !== target && !jQuery.contains( target, related )) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n});\n\n// IE submit delegation\nif ( !jQuery.support.submitBubbles ) {\n\n\tjQuery.event.special.submit = {\n\t\tsetup: function() {\n\t\t\t// Only need this for delegated form submit events\n\t\t\tif ( jQuery.nodeName( this, \"form\" ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Lazy-add a submit handler when a descendant form may potentially be submitted\n\t\t\tjQuery.event.add( this, \"click._submit keypress._submit\", function( e ) {\n\t\t\t\t// Node name check avoids a VML-related crash in IE (#9807)\n\t\t\t\tvar elem = e.target,\n\t\t\t\t\tform = jQuery.nodeName( elem, \"input\" ) || jQuery.nodeName( elem, \"button\" ) ? elem.form : undefined;\n\t\t\t\tif ( form && !jQuery._data( form, \"_submit_attached\" ) ) {\n\t\t\t\t\tjQuery.event.add( form, \"submit._submit\", function( event ) {\n\t\t\t\t\t\tevent._submit_bubble = true;\n\t\t\t\t\t});\n\t\t\t\t\tjQuery._data( form, \"_submit_attached\", true );\n\t\t\t\t}\n\t\t\t});\n\t\t\t// return undefined since we don't need an event listener\n\t\t},\n\n\t\tpostDispatch: function( event ) {\n\t\t\t// If form was submitted by the user, bubble the event up the tree\n\t\t\tif ( event._submit_bubble ) {\n\t\t\t\tdelete event._submit_bubble;\n\t\t\t\tif ( this.parentNode && !event.isTrigger ) {\n\t\t\t\t\tjQuery.event.simulate( \"submit\", this.parentNode, event, true );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tteardown: function() {\n\t\t\t// Only need this for delegated form submit events\n\t\t\tif ( jQuery.nodeName( this, \"form\" ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Remove delegated handlers; cleanData eventually reaps submit handlers attached above\n\t\t\tjQuery.event.remove( this, \"._submit\" );\n\t\t}\n\t};\n}\n\n// IE change delegation and checkbox/radio fix\nif ( !jQuery.support.changeBubbles ) {\n\n\tjQuery.event.special.change = {\n\n\t\tsetup: function() {\n\n\t\t\tif ( rformElems.test( this.nodeName ) ) {\n\t\t\t\t// IE doesn't fire change on a check/radio until blur; trigger it on click\n\t\t\t\t// after a propertychange. Eat the blur-change in special.change.handle.\n\t\t\t\t// This still fires onchange a second time for check/radio after blur.\n\t\t\t\tif ( this.type === \"checkbox\" || this.type === \"radio\" ) {\n\t\t\t\t\tjQuery.event.add( this, \"propertychange._change\", function( event ) {\n\t\t\t\t\t\tif ( event.originalEvent.propertyName === \"checked\" ) {\n\t\t\t\t\t\t\tthis._just_changed = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tjQuery.event.add( this, \"click._change\", function( event ) {\n\t\t\t\t\t\tif ( this._just_changed && !event.isTrigger ) {\n\t\t\t\t\t\t\tthis._just_changed = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Allow triggered, simulated change events (#11500)\n\t\t\t\t\t\tjQuery.event.simulate( \"change\", this, event, true );\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// Delegated event; lazy-add a change handler on descendant inputs\n\t\t\tjQuery.event.add( this, \"beforeactivate._change\", function( e ) {\n\t\t\t\tvar elem = e.target;\n\n\t\t\t\tif ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, \"_change_attached\" ) ) {\n\t\t\t\t\tjQuery.event.add( elem, \"change._change\", function( event ) {\n\t\t\t\t\t\tif ( this.parentNode && !event.isSimulated && !event.isTrigger ) {\n\t\t\t\t\t\t\tjQuery.event.simulate( \"change\", this.parentNode, event, true );\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tjQuery._data( elem, \"_change_attached\", true );\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\thandle: function( event ) {\n\t\t\tvar elem = event.target;\n\n\t\t\t// Swallow native change events from checkbox/radio, we already triggered them above\n\t\t\tif ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== \"radio\" && elem.type !== \"checkbox\") ) {\n\t\t\t\treturn event.handleObj.handler.apply( this, arguments );\n\t\t\t}\n\t\t},\n\n\t\tteardown: function() {\n\t\t\tjQuery.event.remove( this, \"._change\" );\n\n\t\t\treturn !rformElems.test( this.nodeName );\n\t\t}\n\t};\n}\n\n// Create \"bubbling\" focus and blur events\nif ( !jQuery.support.focusinBubbles ) {\n\tjQuery.each({ focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler while someone wants focusin/focusout\n\t\tvar attaches = 0,\n\t\t\thandler = function( event ) {\n\t\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );\n\t\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\t\t\t\tif ( attaches++ === 0 ) {\n\t\t\t\t\tdocument.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tif ( --attaches === 0 ) {\n\t\t\t\t\tdocument.removeEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n}\n\njQuery.fn.extend({\n\n\ton: function( types, selector, data, fn, /*INTERNAL*/ one ) {\n\t\tvar origFn, type;\n\n\t\t// Types can be a map of types/handlers\n\t\tif ( typeof types === \"object\" ) {\n\t\t\t// ( types-Object, selector, data )\n\t\t\tif ( typeof selector !== \"string\" ) { // && selector != null\n\t\t\t\t// ( types-Object, data )\n\t\t\t\tdata = data || selector;\n\t\t\t\tselector = undefined;\n\t\t\t}\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.on( type, selector, data, types[ type ], one );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( data == null && fn == null ) {\n\t\t\t// ( types, fn )\n\t\t\tfn = selector;\n\t\t\tdata = selector = undefined;\n\t\t} else if ( fn == null ) {\n\t\t\tif ( typeof selector === \"string\" ) {\n\t\t\t\t// ( types, selector, fn )\n\t\t\t\tfn = data;\n\t\t\t\tdata = undefined;\n\t\t\t} else {\n\t\t\t\t// ( types, data, fn )\n\t\t\t\tfn = data;\n\t\t\t\tdata = selector;\n\t\t\t\tselector = undefined;\n\t\t\t}\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t} else if ( !fn ) {\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( one === 1 ) {\n\t\t\torigFn = fn;\n\t\t\tfn = function( event ) {\n\t\t\t\t// Can use an empty set, since event contains the info\n\t\t\t\tjQuery().off( event );\n\t\t\t\treturn origFn.apply( this, arguments );\n\t\t\t};\n\t\t\t// Use same guid so caller can remove using origFn\n\t\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.add( this, types, fn, data, selector );\n\t\t});\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn this.on( types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\t\t\t// ( event )  dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ? handleObj.origType + \".\" + handleObj.namespace : handleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each(function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t});\n\t},\n\n\tbind: function( types, data, fn ) {\n\t\treturn this.on( types, null, data, fn );\n\t},\n\tunbind: function( types, fn ) {\n\t\treturn this.off( types, null, fn );\n\t},\n\n\tlive: function( types, data, fn ) {\n\t\tjQuery( this.context ).on( types, this.selector, data, fn );\n\t\treturn this;\n\t},\n\tdie: function( types, fn ) {\n\t\tjQuery( this.context ).off( types, this.selector || \"**\", fn );\n\t\treturn this;\n\t},\n\n\tdelegate: function( selector, types, data, fn ) {\n\t\treturn this.on( types, selector, data, fn );\n\t},\n\tundelegate: function( selector, types, fn ) {\n\t\t// ( namespace ) or ( selector, types [, fn] )\n\t\treturn arguments.length === 1 ? this.off( selector, \"**\" ) : this.off( types, selector || \"**\", fn );\n\t},\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t});\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tif ( this[0] ) {\n\t\t\treturn jQuery.event.trigger( type, data, this[0], true );\n\t\t}\n\t},\n\n\ttoggle: function( fn ) {\n\t\t// Save reference to arguments for access in closure\n\t\tvar args = arguments,\n\t\t\tguid = fn.guid || jQuery.guid++,\n\t\t\ti = 0,\n\t\t\ttoggler = function( event ) {\n\t\t\t\t// Figure out which function to execute\n\t\t\t\tvar lastToggle = ( jQuery._data( this, \"lastToggle\" + fn.guid ) || 0 ) % i;\n\t\t\t\tjQuery._data( this, \"lastToggle\" + fn.guid, lastToggle + 1 );\n\n\t\t\t\t// Make sure that clicks stop\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\t// and execute the function\n\t\t\t\treturn args[ lastToggle ].apply( this, arguments ) || false;\n\t\t\t};\n\n\t\t// link all the functions, so any of them can unbind this click handler\n\t\ttoggler.guid = guid;\n\t\twhile ( i < args.length ) {\n\t\t\targs[ i++ ].guid = guid;\n\t\t}\n\n\t\treturn this.click( toggler );\n\t},\n\n\thover: function( fnOver, fnOut ) {\n\t\treturn this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );\n\t}\n});\n\njQuery.each( (\"blur focus focusin focusout load resize scroll unload click dblclick \" +\n\t\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" +\n\t\"change select submit keydown keypress keyup error contextmenu\").split(\" \"), function( i, name ) {\n\n\t// Handle event binding\n\tjQuery.fn[ name ] = function( data, fn ) {\n\t\tif ( fn == null ) {\n\t\t\tfn = data;\n\t\t\tdata = null;\n\t\t}\n\n\t\treturn arguments.length > 0 ?\n\t\t\tthis.on( name, null, data, fn ) :\n\t\t\tthis.trigger( name );\n\t};\n\n\tif ( rkeyEvent.test( name ) ) {\n\t\tjQuery.event.fixHooks[ name ] = jQuery.event.keyHooks;\n\t}\n\n\tif ( rmouseEvent.test( name ) ) {\n\t\tjQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks;\n\t}\n});\n/*!\r\n * Sizzle CSS Selector Engine\r\n * Copyright 2012 jQuery Foundation and other contributors\r\n * Released under the MIT license\r\n * http://sizzlejs.com/\r\n */\r\n(function( window, undefined ) {\r\n\r\nvar cachedruns,\r\n\tassertGetIdNotName,\r\n\tExpr,\r\n\tgetText,\r\n\tisXML,\r\n\tcontains,\r\n\tcompile,\r\n\tsortOrder,\r\n\thasDuplicate,\r\n\toutermostContext,\r\n\r\n\tbaseHasDuplicate = true,\r\n\tstrundefined = \"undefined\",\r\n\r\n\texpando = ( \"sizcache\" + Math.random() ).replace( \".\", \"\" ),\r\n\r\n\tToken = String,\r\n\tdocument = window.document,\r\n\tdocElem = document.documentElement,\r\n\tdirruns = 0,\r\n\tdone = 0,\r\n\tpop = [].pop,\r\n\tpush = [].push,\r\n\tslice = [].slice,\r\n\t// Use a stripped-down indexOf if a native one is unavailable\r\n\tindexOf = [].indexOf || function( elem ) {\r\n\t\tvar i = 0,\r\n\t\t\tlen = this.length;\r\n\t\tfor ( ; i < len; i++ ) {\r\n\t\t\tif ( this[i] === elem ) {\r\n\t\t\t\treturn i;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn -1;\r\n\t},\r\n\r\n\t// Augment a function for special use by Sizzle\r\n\tmarkFunction = function( fn, value ) {\r\n\t\tfn[ expando ] = value == null || value;\r\n\t\treturn fn;\r\n\t},\r\n\r\n\tcreateCache = function() {\r\n\t\tvar cache = {},\r\n\t\t\tkeys = [];\r\n\r\n\t\treturn markFunction(function( key, value ) {\r\n\t\t\t// Only keep the most recent entries\r\n\t\t\tif ( keys.push( key ) > Expr.cacheLength ) {\r\n\t\t\t\tdelete cache[ keys.shift() ];\r\n\t\t\t}\r\n\r\n\t\t\t// Retrieve with (key + \" \") to avoid collision with native Object.prototype properties (see Issue #157)\r\n\t\t\treturn (cache[ key + \" \" ] = value);\r\n\t\t}, cache );\r\n\t},\r\n\r\n\tclassCache = createCache(),\r\n\ttokenCache = createCache(),\r\n\tcompilerCache = createCache(),\r\n\r\n\t// Regex\r\n\r\n\t// Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace\r\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\r\n\t// http://www.w3.org/TR/css3-syntax/#characters\r\n\tcharacterEncoding = \"(?:\\\\\\\\.|[-\\\\w]|[^\\\\x00-\\\\xa0])+\",\r\n\r\n\t// Loosely modeled on CSS identifier characters\r\n\t// An unquoted value should be a CSS identifier (http://www.w3.org/TR/css3-selectors/#attribute-selectors)\r\n\t// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\r\n\tidentifier = characterEncoding.replace( \"w\", \"w#\" ),\r\n\r\n\t// Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors\r\n\toperators = \"([*^$|!~]?=)\",\r\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + characterEncoding + \")\" + whitespace +\r\n\t\t\"*(?:\" + operators + whitespace + \"*(?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|(\" + identifier + \")|)|)\" + whitespace + \"*\\\\]\",\r\n\r\n\t// Prefer arguments not in parens/brackets,\r\n\t//   then attribute selectors and non-pseudos (denoted by :),\r\n\t//   then anything else\r\n\t// These preferences are here to reduce the number of selectors\r\n\t//   needing tokenize in the PSEUDO preFilter\r\n\tpseudos = \":(\" + characterEncoding + \")(?:\\\\((?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\2|([^()[\\\\]]*|(?:(?:\" + attributes + \")|[^:]|\\\\\\\\.)*|.*))\\\\)|)\",\r\n\r\n\t// For matchExpr.POS and matchExpr.needsContext\r\n\tpos = \":(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace +\r\n\t\t\"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\",\r\n\r\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\r\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\r\n\r\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\r\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([\\\\x20\\\\t\\\\r\\\\n\\\\f>+~])\" + whitespace + \"*\" ),\r\n\trpseudo = new RegExp( pseudos ),\r\n\r\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\r\n\trquickExpr = /^(?:#([\\w\\-]+)|(\\w+)|\\.([\\w\\-]+))$/,\r\n\r\n\trnot = /^:not/,\r\n\trsibling = /[\\x20\\t\\r\\n\\f]*[+~]/,\r\n\trendsWithNot = /:not\\($/,\r\n\r\n\trheader = /h\\d/i,\r\n\trinputs = /input|select|textarea|button/i,\r\n\r\n\trbackslash = /\\\\(?!\\\\)/g,\r\n\r\n\tmatchExpr = {\r\n\t\t\"ID\": new RegExp( \"^#(\" + characterEncoding + \")\" ),\r\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + characterEncoding + \")\" ),\r\n\t\t\"NAME\": new RegExp( \"^\\\\[name=['\\\"]?(\" + characterEncoding + \")['\\\"]?\\\\]\" ),\r\n\t\t\"TAG\": new RegExp( \"^(\" + characterEncoding.replace( \"w\", \"w*\" ) + \")\" ),\r\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\r\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\r\n\t\t\"POS\": new RegExp( pos, \"i\" ),\r\n\t\t\"CHILD\": new RegExp( \"^:(only|nth|first|last)-child(?:\\\\(\" + whitespace +\r\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\r\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\r\n\t\t// For use in libraries implementing .is()\r\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|\" + pos, \"i\" )\r\n\t},\r\n\r\n\t// Support\r\n\r\n\t// Used for testing something on an element\r\n\tassert = function( fn ) {\r\n\t\tvar div = document.createElement(\"div\");\r\n\r\n\t\ttry {\r\n\t\t\treturn fn( div );\r\n\t\t} catch (e) {\r\n\t\t\treturn false;\r\n\t\t} finally {\r\n\t\t\t// release memory in IE\r\n\t\t\tdiv = null;\r\n\t\t}\r\n\t},\r\n\r\n\t// Check if getElementsByTagName(\"*\") returns only elements\r\n\tassertTagNameNoComments = assert(function( div ) {\r\n\t\tdiv.appendChild( document.createComment(\"\") );\r\n\t\treturn !div.getElementsByTagName(\"*\").length;\r\n\t}),\r\n\r\n\t// Check if getAttribute returns normalized href attributes\r\n\tassertHrefNotNormalized = assert(function( div ) {\r\n\t\tdiv.innerHTML = \"<a href='#'></a>\";\r\n\t\treturn div.firstChild && typeof div.firstChild.getAttribute !== strundefined &&\r\n\t\t\tdiv.firstChild.getAttribute(\"href\") === \"#\";\r\n\t}),\r\n\r\n\t// Check if attributes should be retrieved by attribute nodes\r\n\tassertAttributes = assert(function( div ) {\r\n\t\tdiv.innerHTML = \"<select></select>\";\r\n\t\tvar type = typeof div.lastChild.getAttribute(\"multiple\");\r\n\t\t// IE8 returns a string for some attributes even when not present\r\n\t\treturn type !== \"boolean\" && type !== \"string\";\r\n\t}),\r\n\r\n\t// Check if getElementsByClassName can be trusted\r\n\tassertUsableClassName = assert(function( div ) {\r\n\t\t// Opera can't find a second classname (in 9.6)\r\n\t\tdiv.innerHTML = \"<div class='hidden e'></div><div class='hidden'></div>\";\r\n\t\tif ( !div.getElementsByClassName || !div.getElementsByClassName(\"e\").length ) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// Safari 3.2 caches class attributes and doesn't catch changes\r\n\t\tdiv.lastChild.className = \"e\";\r\n\t\treturn div.getElementsByClassName(\"e\").length === 2;\r\n\t}),\r\n\r\n\t// Check if getElementById returns elements by name\r\n\t// Check if getElementsByName privileges form controls or returns elements by ID\r\n\tassertUsableName = assert(function( div ) {\r\n\t\t// Inject content\r\n\t\tdiv.id = expando + 0;\r\n\t\tdiv.innerHTML = \"<a name='\" + expando + \"'></a><div name='\" + expando + \"'></div>\";\r\n\t\tdocElem.insertBefore( div, docElem.firstChild );\r\n\r\n\t\t// Test\r\n\t\tvar pass = document.getElementsByName &&\r\n\t\t\t// buggy browsers will return fewer than the correct 2\r\n\t\t\tdocument.getElementsByName( expando ).length === 2 +\r\n\t\t\t// buggy browsers will return more than the correct 0\r\n\t\t\tdocument.getElementsByName( expando + 0 ).length;\r\n\t\tassertGetIdNotName = !document.getElementById( expando );\r\n\r\n\t\t// Cleanup\r\n\t\tdocElem.removeChild( div );\r\n\r\n\t\treturn pass;\r\n\t});\r\n\r\n// If slice is not available, provide a backup\r\ntry {\r\n\tslice.call( docElem.childNodes, 0 )[0].nodeType;\r\n} catch ( e ) {\r\n\tslice = function( i ) {\r\n\t\tvar elem,\r\n\t\t\tresults = [];\r\n\t\tfor ( ; (elem = this[i]); i++ ) {\r\n\t\t\tresults.push( elem );\r\n\t\t}\r\n\t\treturn results;\r\n\t};\r\n}\r\n\r\nfunction Sizzle( selector, context, results, seed ) {\r\n\tresults = results || [];\r\n\tcontext = context || document;\r\n\tvar match, elem, xml, m,\r\n\t\tnodeType = context.nodeType;\r\n\r\n\tif ( !selector || typeof selector !== \"string\" ) {\r\n\t\treturn results;\r\n\t}\r\n\r\n\tif ( nodeType !== 1 && nodeType !== 9 ) {\r\n\t\treturn [];\r\n\t}\r\n\r\n\txml = isXML( context );\r\n\r\n\tif ( !xml && !seed ) {\r\n\t\tif ( (match = rquickExpr.exec( selector )) ) {\r\n\t\t\t// Speed-up: Sizzle(\"#ID\")\r\n\t\t\tif ( (m = match[1]) ) {\r\n\t\t\t\tif ( nodeType === 9 ) {\r\n\t\t\t\t\telem = context.getElementById( m );\r\n\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\r\n\t\t\t\t\t// nodes that are no longer in the document #6963\r\n\t\t\t\t\tif ( elem && elem.parentNode ) {\r\n\t\t\t\t\t\t// Handle the case where IE, Opera, and Webkit return items\r\n\t\t\t\t\t\t// by name instead of ID\r\n\t\t\t\t\t\tif ( elem.id === m ) {\r\n\t\t\t\t\t\t\tresults.push( elem );\r\n\t\t\t\t\t\t\treturn results;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn results;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Context is not a document\r\n\t\t\t\t\tif ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&\r\n\t\t\t\t\t\tcontains( context, elem ) && elem.id === m ) {\r\n\t\t\t\t\t\tresults.push( elem );\r\n\t\t\t\t\t\treturn results;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t// Speed-up: Sizzle(\"TAG\")\r\n\t\t\t} else if ( match[2] ) {\r\n\t\t\t\tpush.apply( results, slice.call(context.getElementsByTagName( selector ), 0) );\r\n\t\t\t\treturn results;\r\n\r\n\t\t\t// Speed-up: Sizzle(\".CLASS\")\r\n\t\t\t} else if ( (m = match[3]) && assertUsableClassName && context.getElementsByClassName ) {\r\n\t\t\t\tpush.apply( results, slice.call(context.getElementsByClassName( m ), 0) );\r\n\t\t\t\treturn results;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// All others\r\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed, xml );\r\n}\r\n\r\nSizzle.matches = function( expr, elements ) {\r\n\treturn Sizzle( expr, null, null, elements );\r\n};\r\n\r\nSizzle.matchesSelector = function( elem, expr ) {\r\n\treturn Sizzle( expr, null, null, [ elem ] ).length > 0;\r\n};\r\n\r\n// Returns a function to use in pseudos for input types\r\nfunction createInputPseudo( type ) {\r\n\treturn function( elem ) {\r\n\t\tvar name = elem.nodeName.toLowerCase();\r\n\t\treturn name === \"input\" && elem.type === type;\r\n\t};\r\n}\r\n\r\n// Returns a function to use in pseudos for buttons\r\nfunction createButtonPseudo( type ) {\r\n\treturn function( elem ) {\r\n\t\tvar name = elem.nodeName.toLowerCase();\r\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\r\n\t};\r\n}\r\n\r\n// Returns a function to use in pseudos for positionals\r\nfunction createPositionalPseudo( fn ) {\r\n\treturn markFunction(function( argument ) {\r\n\t\targument = +argument;\r\n\t\treturn markFunction(function( seed, matches ) {\r\n\t\t\tvar j,\r\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\r\n\t\t\t\ti = matchIndexes.length;\r\n\r\n\t\t\t// Match elements found at the specified indexes\r\n\t\t\twhile ( i-- ) {\r\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\r\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\n\r\n/**\r\n * Utility function for retrieving the text value of an array of DOM nodes\r\n * @param {Array|Element} elem\r\n */\r\ngetText = Sizzle.getText = function( elem ) {\r\n\tvar node,\r\n\t\tret = \"\",\r\n\t\ti = 0,\r\n\t\tnodeType = elem.nodeType;\r\n\r\n\tif ( nodeType ) {\r\n\t\tif ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\r\n\t\t\t// Use textContent for elements\r\n\t\t\t// innerText usage removed for consistency of new lines (see #11153)\r\n\t\t\tif ( typeof elem.textContent === \"string\" ) {\r\n\t\t\t\treturn elem.textContent;\r\n\t\t\t} else {\r\n\t\t\t\t// Traverse its children\r\n\t\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\r\n\t\t\t\t\tret += getText( elem );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if ( nodeType === 3 || nodeType === 4 ) {\r\n\t\t\treturn elem.nodeValue;\r\n\t\t}\r\n\t\t// Do not include comment or processing instruction nodes\r\n\t} else {\r\n\r\n\t\t// If no nodeType, this is expected to be an array\r\n\t\tfor ( ; (node = elem[i]); i++ ) {\r\n\t\t\t// Do not traverse comment nodes\r\n\t\t\tret += getText( node );\r\n\t\t}\r\n\t}\r\n\treturn ret;\r\n};\r\n\r\nisXML = Sizzle.isXML = function( elem ) {\r\n\t// documentElement is verified for cases where it doesn't yet exist\r\n\t// (such as loading iframes in IE - #4833)\r\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\r\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\r\n};\r\n\r\n// Element contains another\r\ncontains = Sizzle.contains = docElem.contains ?\r\n\tfunction( a, b ) {\r\n\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\r\n\t\t\tbup = b && b.parentNode;\r\n\t\treturn a === bup || !!( bup && bup.nodeType === 1 && adown.contains && adown.contains(bup) );\r\n\t} :\r\n\tdocElem.compareDocumentPosition ?\r\n\tfunction( a, b ) {\r\n\t\treturn b && !!( a.compareDocumentPosition( b ) & 16 );\r\n\t} :\r\n\tfunction( a, b ) {\r\n\t\twhile ( (b = b.parentNode) ) {\r\n\t\t\tif ( b === a ) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\nSizzle.attr = function( elem, name ) {\r\n\tvar val,\r\n\t\txml = isXML( elem );\r\n\r\n\tif ( !xml ) {\r\n\t\tname = name.toLowerCase();\r\n\t}\r\n\tif ( (val = Expr.attrHandle[ name ]) ) {\r\n\t\treturn val( elem );\r\n\t}\r\n\tif ( xml || assertAttributes ) {\r\n\t\treturn elem.getAttribute( name );\r\n\t}\r\n\tval = elem.getAttributeNode( name );\r\n\treturn val ?\r\n\t\ttypeof elem[ name ] === \"boolean\" ?\r\n\t\t\telem[ name ] ? name : null :\r\n\t\t\tval.specified ? val.value : null :\r\n\t\tnull;\r\n};\r\n\r\nExpr = Sizzle.selectors = {\r\n\r\n\t// Can be adjusted by the user\r\n\tcacheLength: 50,\r\n\r\n\tcreatePseudo: markFunction,\r\n\r\n\tmatch: matchExpr,\r\n\r\n\t// IE6/7 return a modified href\r\n\tattrHandle: assertHrefNotNormalized ?\r\n\t\t{} :\r\n\t\t{\r\n\t\t\t\"href\": function( elem ) {\r\n\t\t\t\treturn elem.getAttribute( \"href\", 2 );\r\n\t\t\t},\r\n\t\t\t\"type\": function( elem ) {\r\n\t\t\t\treturn elem.getAttribute(\"type\");\r\n\t\t\t}\r\n\t\t},\r\n\r\n\tfind: {\r\n\t\t\"ID\": assertGetIdNotName ?\r\n\t\t\tfunction( id, context, xml ) {\r\n\t\t\t\tif ( typeof context.getElementById !== strundefined && !xml ) {\r\n\t\t\t\t\tvar m = context.getElementById( id );\r\n\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\r\n\t\t\t\t\t// nodes that are no longer in the document #6963\r\n\t\t\t\t\treturn m && m.parentNode ? [m] : [];\r\n\t\t\t\t}\r\n\t\t\t} :\r\n\t\t\tfunction( id, context, xml ) {\r\n\t\t\t\tif ( typeof context.getElementById !== strundefined && !xml ) {\r\n\t\t\t\t\tvar m = context.getElementById( id );\r\n\r\n\t\t\t\t\treturn m ?\r\n\t\t\t\t\t\tm.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode(\"id\").value === id ?\r\n\t\t\t\t\t\t\t[m] :\r\n\t\t\t\t\t\t\tundefined :\r\n\t\t\t\t\t\t[];\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\"TAG\": assertTagNameNoComments ?\r\n\t\t\tfunction( tag, context ) {\r\n\t\t\t\tif ( typeof context.getElementsByTagName !== strundefined ) {\r\n\t\t\t\t\treturn context.getElementsByTagName( tag );\r\n\t\t\t\t}\r\n\t\t\t} :\r\n\t\t\tfunction( tag, context ) {\r\n\t\t\t\tvar results = context.getElementsByTagName( tag );\r\n\r\n\t\t\t\t// Filter out possible comments\r\n\t\t\t\tif ( tag === \"*\" ) {\r\n\t\t\t\t\tvar elem,\r\n\t\t\t\t\t\ttmp = [],\r\n\t\t\t\t\t\ti = 0;\r\n\r\n\t\t\t\t\tfor ( ; (elem = results[i]); i++ ) {\r\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\r\n\t\t\t\t\t\t\ttmp.push( elem );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn tmp;\r\n\t\t\t\t}\r\n\t\t\t\treturn results;\r\n\t\t\t},\r\n\r\n\t\t\"NAME\": assertUsableName && function( tag, context ) {\r\n\t\t\tif ( typeof context.getElementsByName !== strundefined ) {\r\n\t\t\t\treturn context.getElementsByName( name );\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t\"CLASS\": assertUsableClassName && function( className, context, xml ) {\r\n\t\t\tif ( typeof context.getElementsByClassName !== strundefined && !xml ) {\r\n\t\t\t\treturn context.getElementsByClassName( className );\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\trelative: {\r\n\t\t\">\": { dir: \"parentNode\", first: true },\r\n\t\t\" \": { dir: \"parentNode\" },\r\n\t\t\"+\": { dir: \"previousSibling\", first: true },\r\n\t\t\"~\": { dir: \"previousSibling\" }\r\n\t},\r\n\r\n\tpreFilter: {\r\n\t\t\"ATTR\": function( match ) {\r\n\t\t\tmatch[1] = match[1].replace( rbackslash, \"\" );\r\n\r\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\r\n\t\t\tmatch[3] = ( match[4] || match[5] || \"\" ).replace( rbackslash, \"\" );\r\n\r\n\t\t\tif ( match[2] === \"~=\" ) {\r\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\r\n\t\t\t}\r\n\r\n\t\t\treturn match.slice( 0, 4 );\r\n\t\t},\r\n\r\n\t\t\"CHILD\": function( match ) {\r\n\t\t\t/* matches from matchExpr[\"CHILD\"]\r\n\t\t\t\t1 type (only|nth|...)\r\n\t\t\t\t2 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\r\n\t\t\t\t3 xn-component of xn+y argument ([+-]?\\d*n|)\r\n\t\t\t\t4 sign of xn-component\r\n\t\t\t\t5 x of xn-component\r\n\t\t\t\t6 sign of y-component\r\n\t\t\t\t7 y of y-component\r\n\t\t\t*/\r\n\t\t\tmatch[1] = match[1].toLowerCase();\r\n\r\n\t\t\tif ( match[1] === \"nth\" ) {\r\n\t\t\t\t// nth-child requires argument\r\n\t\t\t\tif ( !match[2] ) {\r\n\t\t\t\t\tSizzle.error( match[0] );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\r\n\t\t\t\t// remember that false/true cast respectively to 0/1\r\n\t\t\t\tmatch[3] = +( match[3] ? match[4] + (match[5] || 1) : 2 * ( match[2] === \"even\" || match[2] === \"odd\" ) );\r\n\t\t\t\tmatch[4] = +( ( match[6] + match[7] ) || match[2] === \"odd\" );\r\n\r\n\t\t\t// other types prohibit arguments\r\n\t\t\t} else if ( match[2] ) {\r\n\t\t\t\tSizzle.error( match[0] );\r\n\t\t\t}\r\n\r\n\t\t\treturn match;\r\n\t\t},\r\n\r\n\t\t\"PSEUDO\": function( match ) {\r\n\t\t\tvar unquoted, excess;\r\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t\tif ( match[3] ) {\r\n\t\t\t\tmatch[2] = match[3];\r\n\t\t\t} else if ( (unquoted = match[4]) ) {\r\n\t\t\t\t// Only check arguments that contain a pseudo\r\n\t\t\t\tif ( rpseudo.test(unquoted) &&\r\n\t\t\t\t\t// Get excess from tokenize (recursively)\r\n\t\t\t\t\t(excess = tokenize( unquoted, true )) &&\r\n\t\t\t\t\t// advance to the next closing parenthesis\r\n\t\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\r\n\r\n\t\t\t\t\t// excess is a negative index\r\n\t\t\t\t\tunquoted = unquoted.slice( 0, excess );\r\n\t\t\t\t\tmatch[0] = match[0].slice( 0, excess );\r\n\t\t\t\t}\r\n\t\t\t\tmatch[2] = unquoted;\r\n\t\t\t}\r\n\r\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\r\n\t\t\treturn match.slice( 0, 3 );\r\n\t\t}\r\n\t},\r\n\r\n\tfilter: {\r\n\t\t\"ID\": assertGetIdNotName ?\r\n\t\t\tfunction( id ) {\r\n\t\t\t\tid = id.replace( rbackslash, \"\" );\r\n\t\t\t\treturn function( elem ) {\r\n\t\t\t\t\treturn elem.getAttribute(\"id\") === id;\r\n\t\t\t\t};\r\n\t\t\t} :\r\n\t\t\tfunction( id ) {\r\n\t\t\t\tid = id.replace( rbackslash, \"\" );\r\n\t\t\t\treturn function( elem ) {\r\n\t\t\t\t\tvar node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode(\"id\");\r\n\t\t\t\t\treturn node && node.value === id;\r\n\t\t\t\t};\r\n\t\t\t},\r\n\r\n\t\t\"TAG\": function( nodeName ) {\r\n\t\t\tif ( nodeName === \"*\" ) {\r\n\t\t\t\treturn function() { return true; };\r\n\t\t\t}\r\n\t\t\tnodeName = nodeName.replace( rbackslash, \"\" ).toLowerCase();\r\n\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\t\"CLASS\": function( className ) {\r\n\t\t\tvar pattern = classCache[ expando ][ className + \" \" ];\r\n\r\n\t\t\treturn pattern ||\r\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\r\n\t\t\t\tclassCache( className, function( elem ) {\r\n\t\t\t\t\treturn pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute(\"class\")) || \"\" );\r\n\t\t\t\t});\r\n\t\t},\r\n\r\n\t\t\"ATTR\": function( name, operator, check ) {\r\n\t\t\treturn function( elem, context ) {\r\n\t\t\t\tvar result = Sizzle.attr( elem, name );\r\n\r\n\t\t\t\tif ( result == null ) {\r\n\t\t\t\t\treturn operator === \"!=\";\r\n\t\t\t\t}\r\n\t\t\t\tif ( !operator ) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tresult += \"\";\r\n\r\n\t\t\t\treturn operator === \"=\" ? result === check :\r\n\t\t\t\t\toperator === \"!=\" ? result !== check :\r\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\r\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\r\n\t\t\t\t\toperator === \"$=\" ? check && result.substr( result.length - check.length ) === check :\r\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result + \" \" ).indexOf( check ) > -1 :\r\n\t\t\t\t\toperator === \"|=\" ? result === check || result.substr( 0, check.length + 1 ) === check + \"-\" :\r\n\t\t\t\t\tfalse;\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\t\"CHILD\": function( type, argument, first, last ) {\r\n\r\n\t\t\tif ( type === \"nth\" ) {\r\n\t\t\t\treturn function( elem ) {\r\n\t\t\t\t\tvar node, diff,\r\n\t\t\t\t\t\tparent = elem.parentNode;\r\n\r\n\t\t\t\t\tif ( first === 1 && last === 0 ) {\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ( parent ) {\r\n\t\t\t\t\t\tdiff = 0;\r\n\t\t\t\t\t\tfor ( node = parent.firstChild; node; node = node.nextSibling ) {\r\n\t\t\t\t\t\t\tif ( node.nodeType === 1 ) {\r\n\t\t\t\t\t\t\t\tdiff++;\r\n\t\t\t\t\t\t\t\tif ( elem === node ) {\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Incorporate the offset (or cast to NaN), then check against cycle size\r\n\t\t\t\t\tdiff -= last;\r\n\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\tvar node = elem;\r\n\r\n\t\t\t\tswitch ( type ) {\r\n\t\t\t\t\tcase \"only\":\r\n\t\t\t\t\tcase \"first\":\r\n\t\t\t\t\t\twhile ( (node = node.previousSibling) ) {\r\n\t\t\t\t\t\t\tif ( node.nodeType === 1 ) {\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif ( type === \"first\" ) {\r\n\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tnode = elem;\r\n\r\n\t\t\t\t\t\t/* falls through */\r\n\t\t\t\t\tcase \"last\":\r\n\t\t\t\t\t\twhile ( (node = node.nextSibling) ) {\r\n\t\t\t\t\t\t\tif ( node.nodeType === 1 ) {\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\t\"PSEUDO\": function( pseudo, argument ) {\r\n\t\t\t// pseudo-class names are case-insensitive\r\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\r\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\r\n\t\t\t// Remember that setFilters inherits from pseudos\r\n\t\t\tvar args,\r\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\r\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\r\n\r\n\t\t\t// The user may use createPseudo to indicate that\r\n\t\t\t// arguments are needed to create the filter function\r\n\t\t\t// just as Sizzle does\r\n\t\t\tif ( fn[ expando ] ) {\r\n\t\t\t\treturn fn( argument );\r\n\t\t\t}\r\n\r\n\t\t\t// But maintain support for old signatures\r\n\t\t\tif ( fn.length > 1 ) {\r\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\r\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\r\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\r\n\t\t\t\t\t\tvar idx,\r\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\r\n\t\t\t\t\t\t\ti = matched.length;\r\n\t\t\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\t\t\tidx = indexOf.call( seed, matched[i] );\r\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}) :\r\n\t\t\t\t\tfunction( elem ) {\r\n\t\t\t\t\t\treturn fn( elem, 0, args );\r\n\t\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn fn;\r\n\t\t}\r\n\t},\r\n\r\n\tpseudos: {\r\n\t\t\"not\": markFunction(function( selector ) {\r\n\t\t\t// Trim the selector passed to compile\r\n\t\t\t// to avoid treating leading and trailing\r\n\t\t\t// spaces as combinators\r\n\t\t\tvar input = [],\r\n\t\t\t\tresults = [],\r\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\r\n\r\n\t\t\treturn matcher[ expando ] ?\r\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\r\n\t\t\t\t\tvar elem,\r\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\r\n\t\t\t\t\t\ti = seed.length;\r\n\r\n\t\t\t\t\t// Match elements unmatched by `matcher`\r\n\t\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\r\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}) :\r\n\t\t\t\tfunction( elem, context, xml ) {\r\n\t\t\t\t\tinput[0] = elem;\r\n\t\t\t\t\tmatcher( input, null, xml, results );\r\n\t\t\t\t\treturn !results.pop();\r\n\t\t\t\t};\r\n\t\t}),\r\n\r\n\t\t\"has\": markFunction(function( selector ) {\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\r\n\t\t\t};\r\n\t\t}),\r\n\r\n\t\t\"contains\": markFunction(function( text ) {\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\r\n\t\t\t};\r\n\t\t}),\r\n\r\n\t\t\"enabled\": function( elem ) {\r\n\t\t\treturn elem.disabled === false;\r\n\t\t},\r\n\r\n\t\t\"disabled\": function( elem ) {\r\n\t\t\treturn elem.disabled === true;\r\n\t\t},\r\n\r\n\t\t\"checked\": function( elem ) {\r\n\t\t\t// In CSS3, :checked should return both checked and selected elements\r\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\r\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\r\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\r\n\t\t},\r\n\r\n\t\t\"selected\": function( elem ) {\r\n\t\t\t// Accessing this property makes selected-by-default\r\n\t\t\t// options in Safari work properly\r\n\t\t\tif ( elem.parentNode ) {\r\n\t\t\t\telem.parentNode.selectedIndex;\r\n\t\t\t}\r\n\r\n\t\t\treturn elem.selected === true;\r\n\t\t},\r\n\r\n\t\t\"parent\": function( elem ) {\r\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\r\n\t\t},\r\n\r\n\t\t\"empty\": function( elem ) {\r\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\r\n\t\t\t// :empty is only affected by element nodes and content nodes(including text(3), cdata(4)),\r\n\t\t\t//   not comment, processing instructions, or others\r\n\t\t\t// Thanks to Diego Perini for the nodeName shortcut\r\n\t\t\t//   Greater than \"@\" means alpha characters (specifically not starting with \"#\" or \"?\")\r\n\t\t\tvar nodeType;\r\n\t\t\telem = elem.firstChild;\r\n\t\t\twhile ( elem ) {\r\n\t\t\t\tif ( elem.nodeName > \"@\" || (nodeType = elem.nodeType) === 3 || nodeType === 4 ) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\telem = elem.nextSibling;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t},\r\n\r\n\t\t\"header\": function( elem ) {\r\n\t\t\treturn rheader.test( elem.nodeName );\r\n\t\t},\r\n\r\n\t\t\"text\": function( elem ) {\r\n\t\t\tvar type, attr;\r\n\t\t\t// IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc)\r\n\t\t\t// use getAttribute instead to test this case\r\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\r\n\t\t\t\t(type = elem.type) === \"text\" &&\r\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === type );\r\n\t\t},\r\n\r\n\t\t// Input types\r\n\t\t\"radio\": createInputPseudo(\"radio\"),\r\n\t\t\"checkbox\": createInputPseudo(\"checkbox\"),\r\n\t\t\"file\": createInputPseudo(\"file\"),\r\n\t\t\"password\": createInputPseudo(\"password\"),\r\n\t\t\"image\": createInputPseudo(\"image\"),\r\n\r\n\t\t\"submit\": createButtonPseudo(\"submit\"),\r\n\t\t\"reset\": createButtonPseudo(\"reset\"),\r\n\r\n\t\t\"button\": function( elem ) {\r\n\t\t\tvar name = elem.nodeName.toLowerCase();\r\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\r\n\t\t},\r\n\r\n\t\t\"input\": function( elem ) {\r\n\t\t\treturn rinputs.test( elem.nodeName );\r\n\t\t},\r\n\r\n\t\t\"focus\": function( elem ) {\r\n\t\t\tvar doc = elem.ownerDocument;\r\n\t\t\treturn elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\r\n\t\t},\r\n\r\n\t\t\"active\": function( elem ) {\r\n\t\t\treturn elem === elem.ownerDocument.activeElement;\r\n\t\t},\r\n\r\n\t\t// Positional types\r\n\t\t\"first\": createPositionalPseudo(function() {\r\n\t\t\treturn [ 0 ];\r\n\t\t}),\r\n\r\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\r\n\t\t\treturn [ length - 1 ];\r\n\t\t}),\r\n\r\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\r\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\r\n\t\t}),\r\n\r\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\r\n\t\t\tfor ( var i = 0; i < length; i += 2 ) {\r\n\t\t\t\tmatchIndexes.push( i );\r\n\t\t\t}\r\n\t\t\treturn matchIndexes;\r\n\t\t}),\r\n\r\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\r\n\t\t\tfor ( var i = 1; i < length; i += 2 ) {\r\n\t\t\t\tmatchIndexes.push( i );\r\n\t\t\t}\r\n\t\t\treturn matchIndexes;\r\n\t\t}),\r\n\r\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\r\n\t\t\tfor ( var i = argument < 0 ? argument + length : argument; --i >= 0; ) {\r\n\t\t\t\tmatchIndexes.push( i );\r\n\t\t\t}\r\n\t\t\treturn matchIndexes;\r\n\t\t}),\r\n\r\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\r\n\t\t\tfor ( var i = argument < 0 ? argument + length : argument; ++i < length; ) {\r\n\t\t\t\tmatchIndexes.push( i );\r\n\t\t\t}\r\n\t\t\treturn matchIndexes;\r\n\t\t})\r\n\t}\r\n};\r\n\r\nfunction siblingCheck( a, b, ret ) {\r\n\tif ( a === b ) {\r\n\t\treturn ret;\r\n\t}\r\n\r\n\tvar cur = a.nextSibling;\r\n\r\n\twhile ( cur ) {\r\n\t\tif ( cur === b ) {\r\n\t\t\treturn -1;\r\n\t\t}\r\n\r\n\t\tcur = cur.nextSibling;\r\n\t}\r\n\r\n\treturn 1;\r\n}\r\n\r\nsortOrder = docElem.compareDocumentPosition ?\r\n\tfunction( a, b ) {\r\n\t\tif ( a === b ) {\r\n\t\t\thasDuplicate = true;\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\treturn ( !a.compareDocumentPosition || !b.compareDocumentPosition ?\r\n\t\t\ta.compareDocumentPosition :\r\n\t\t\ta.compareDocumentPosition(b) & 4\r\n\t\t) ? -1 : 1;\r\n\t} :\r\n\tfunction( a, b ) {\r\n\t\t// The nodes are identical, we can exit early\r\n\t\tif ( a === b ) {\r\n\t\t\thasDuplicate = true;\r\n\t\t\treturn 0;\r\n\r\n\t\t// Fallback to using sourceIndex (in IE) if it's available on both nodes\r\n\t\t} else if ( a.sourceIndex && b.sourceIndex ) {\r\n\t\t\treturn a.sourceIndex - b.sourceIndex;\r\n\t\t}\r\n\r\n\t\tvar al, bl,\r\n\t\t\tap = [],\r\n\t\t\tbp = [],\r\n\t\t\taup = a.parentNode,\r\n\t\t\tbup = b.parentNode,\r\n\t\t\tcur = aup;\r\n\r\n\t\t// If the nodes are siblings (or identical) we can do a quick check\r\n\t\tif ( aup === bup ) {\r\n\t\t\treturn siblingCheck( a, b );\r\n\r\n\t\t// If no parents were found then the nodes are disconnected\r\n\t\t} else if ( !aup ) {\r\n\t\t\treturn -1;\r\n\r\n\t\t} else if ( !bup ) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\r\n\t\t// Otherwise they're somewhere else in the tree so we need\r\n\t\t// to build up a full list of the parentNodes for comparison\r\n\t\twhile ( cur ) {\r\n\t\t\tap.unshift( cur );\r\n\t\t\tcur = cur.parentNode;\r\n\t\t}\r\n\r\n\t\tcur = bup;\r\n\r\n\t\twhile ( cur ) {\r\n\t\t\tbp.unshift( cur );\r\n\t\t\tcur = cur.parentNode;\r\n\t\t}\r\n\r\n\t\tal = ap.length;\r\n\t\tbl = bp.length;\r\n\r\n\t\t// Start walking down the tree looking for a discrepancy\r\n\t\tfor ( var i = 0; i < al && i < bl; i++ ) {\r\n\t\t\tif ( ap[i] !== bp[i] ) {\r\n\t\t\t\treturn siblingCheck( ap[i], bp[i] );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// We ended someplace up the tree so do a sibling check\r\n\t\treturn i === al ?\r\n\t\t\tsiblingCheck( a, bp[i], -1 ) :\r\n\t\t\tsiblingCheck( ap[i], b, 1 );\r\n\t};\r\n\r\n// Always assume the presence of duplicates if sort doesn't\r\n// pass them to our comparison function (as in Google Chrome).\r\n[0, 0].sort( sortOrder );\r\nbaseHasDuplicate = !hasDuplicate;\r\n\r\n// Document sorting and removing duplicates\r\nSizzle.uniqueSort = function( results ) {\r\n\tvar elem,\r\n\t\tduplicates = [],\r\n\t\ti = 1,\r\n\t\tj = 0;\r\n\r\n\thasDuplicate = baseHasDuplicate;\r\n\tresults.sort( sortOrder );\r\n\r\n\tif ( hasDuplicate ) {\r\n\t\tfor ( ; (elem = results[i]); i++ ) {\r\n\t\t\tif ( elem === results[ i - 1 ] ) {\r\n\t\t\t\tj = duplicates.push( i );\r\n\t\t\t}\r\n\t\t}\r\n\t\twhile ( j-- ) {\r\n\t\t\tresults.splice( duplicates[ j ], 1 );\r\n\t\t}\r\n\t}\r\n\r\n\treturn results;\r\n};\r\n\r\nSizzle.error = function( msg ) {\r\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\r\n};\r\n\r\nfunction tokenize( selector, parseOnly ) {\r\n\tvar matched, match, tokens, type,\r\n\t\tsoFar, groups, preFilters,\r\n\t\tcached = tokenCache[ expando ][ selector + \" \" ];\r\n\r\n\tif ( cached ) {\r\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\r\n\t}\r\n\r\n\tsoFar = selector;\r\n\tgroups = [];\r\n\tpreFilters = Expr.preFilter;\r\n\r\n\twhile ( soFar ) {\r\n\r\n\t\t// Comma and first run\r\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\r\n\t\t\tif ( match ) {\r\n\t\t\t\t// Don't consume trailing commas as valid\r\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\r\n\t\t\t}\r\n\t\t\tgroups.push( tokens = [] );\r\n\t\t}\r\n\r\n\t\tmatched = false;\r\n\r\n\t\t// Combinators\r\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\r\n\t\t\ttokens.push( matched = new Token( match.shift() ) );\r\n\t\t\tsoFar = soFar.slice( matched.length );\r\n\r\n\t\t\t// Cast descendant combinators to space\r\n\t\t\tmatched.type = match[0].replace( rtrim, \" \" );\r\n\t\t}\r\n\r\n\t\t// Filters\r\n\t\tfor ( type in Expr.filter ) {\r\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\r\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\r\n\r\n\t\t\t\ttokens.push( matched = new Token( match.shift() ) );\r\n\t\t\t\tsoFar = soFar.slice( matched.length );\r\n\t\t\t\tmatched.type = type;\r\n\t\t\t\tmatched.matches = match;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( !matched ) {\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\t// Return the length of the invalid excess\r\n\t// if we're just parsing\r\n\t// Otherwise, throw an error or return tokens\r\n\treturn parseOnly ?\r\n\t\tsoFar.length :\r\n\t\tsoFar ?\r\n\t\t\tSizzle.error( selector ) :\r\n\t\t\t// Cache the tokens\r\n\t\t\ttokenCache( selector, groups ).slice( 0 );\r\n}\r\n\r\nfunction addCombinator( matcher, combinator, base ) {\r\n\tvar dir = combinator.dir,\r\n\t\tcheckNonElements = base && combinator.dir === \"parentNode\",\r\n\t\tdoneName = done++;\r\n\r\n\treturn combinator.first ?\r\n\t\t// Check against closest ancestor/preceding element\r\n\t\tfunction( elem, context, xml ) {\r\n\t\t\twhile ( (elem = elem[ dir ]) ) {\r\n\t\t\t\tif ( checkNonElements || elem.nodeType === 1  ) {\r\n\t\t\t\t\treturn matcher( elem, context, xml );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} :\r\n\r\n\t\t// Check against all ancestor/preceding elements\r\n\t\tfunction( elem, context, xml ) {\r\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from dir caching\r\n\t\t\tif ( !xml ) {\r\n\t\t\t\tvar cache,\r\n\t\t\t\t\tdirkey = dirruns + \" \" + doneName + \" \",\r\n\t\t\t\t\tcachedkey = dirkey + cachedruns;\r\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\r\n\t\t\t\t\tif ( checkNonElements || elem.nodeType === 1 ) {\r\n\t\t\t\t\t\tif ( (cache = elem[ expando ]) === cachedkey ) {\r\n\t\t\t\t\t\t\treturn elem.sizset;\r\n\t\t\t\t\t\t} else if ( typeof cache === \"string\" && cache.indexOf(dirkey) === 0 ) {\r\n\t\t\t\t\t\t\tif ( elem.sizset ) {\r\n\t\t\t\t\t\t\t\treturn elem;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\telem[ expando ] = cachedkey;\r\n\t\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\r\n\t\t\t\t\t\t\t\telem.sizset = true;\r\n\t\t\t\t\t\t\t\treturn elem;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telem.sizset = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\r\n\t\t\t\t\tif ( checkNonElements || elem.nodeType === 1 ) {\r\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\r\n\t\t\t\t\t\t\treturn elem;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n}\r\n\r\nfunction elementMatcher( matchers ) {\r\n\treturn matchers.length > 1 ?\r\n\t\tfunction( elem, context, xml ) {\r\n\t\t\tvar i = matchers.length;\r\n\t\t\twhile ( i-- ) {\r\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t} :\r\n\t\tmatchers[0];\r\n}\r\n\r\nfunction condense( unmatched, map, filter, context, xml ) {\r\n\tvar elem,\r\n\t\tnewUnmatched = [],\r\n\t\ti = 0,\r\n\t\tlen = unmatched.length,\r\n\t\tmapped = map != null;\r\n\r\n\tfor ( ; i < len; i++ ) {\r\n\t\tif ( (elem = unmatched[i]) ) {\r\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\r\n\t\t\t\tnewUnmatched.push( elem );\r\n\t\t\t\tif ( mapped ) {\r\n\t\t\t\t\tmap.push( i );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn newUnmatched;\r\n}\r\n\r\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\r\n\tif ( postFilter && !postFilter[ expando ] ) {\r\n\t\tpostFilter = setMatcher( postFilter );\r\n\t}\r\n\tif ( postFinder && !postFinder[ expando ] ) {\r\n\t\tpostFinder = setMatcher( postFinder, postSelector );\r\n\t}\r\n\treturn markFunction(function( seed, results, context, xml ) {\r\n\t\tvar temp, i, elem,\r\n\t\t\tpreMap = [],\r\n\t\t\tpostMap = [],\r\n\t\t\tpreexisting = results.length,\r\n\r\n\t\t\t// Get initial elements from seed or context\r\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\r\n\r\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\r\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\r\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\r\n\t\t\t\telems,\r\n\r\n\t\t\tmatcherOut = matcher ?\r\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\r\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\r\n\r\n\t\t\t\t\t// ...intermediate processing is necessary\r\n\t\t\t\t\t[] :\r\n\r\n\t\t\t\t\t// ...otherwise use results directly\r\n\t\t\t\t\tresults :\r\n\t\t\t\tmatcherIn;\r\n\r\n\t\t// Find primary matches\r\n\t\tif ( matcher ) {\r\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\r\n\t\t}\r\n\r\n\t\t// Apply postFilter\r\n\t\tif ( postFilter ) {\r\n\t\t\ttemp = condense( matcherOut, postMap );\r\n\t\t\tpostFilter( temp, [], context, xml );\r\n\r\n\t\t\t// Un-match failing elements by moving them back to matcherIn\r\n\t\t\ti = temp.length;\r\n\t\t\twhile ( i-- ) {\r\n\t\t\t\tif ( (elem = temp[i]) ) {\r\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( seed ) {\r\n\t\t\tif ( postFinder || preFilter ) {\r\n\t\t\t\tif ( postFinder ) {\r\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\r\n\t\t\t\t\ttemp = [];\r\n\t\t\t\t\ti = matcherOut.length;\r\n\t\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\r\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\r\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\r\n\t\t\t\ti = matcherOut.length;\r\n\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\r\n\t\t\t\t\t\t(temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) {\r\n\r\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t// Add elements to results, through postFinder if defined\r\n\t\t} else {\r\n\t\t\tmatcherOut = condense(\r\n\t\t\t\tmatcherOut === results ?\r\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\r\n\t\t\t\t\tmatcherOut\r\n\t\t\t);\r\n\t\t\tif ( postFinder ) {\r\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\r\n\t\t\t} else {\r\n\t\t\t\tpush.apply( results, matcherOut );\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction matcherFromTokens( tokens ) {\r\n\tvar checkContext, matcher, j,\r\n\t\tlen = tokens.length,\r\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\r\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\r\n\t\ti = leadingRelative ? 1 : 0,\r\n\r\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\r\n\t\tmatchContext = addCombinator( function( elem ) {\r\n\t\t\treturn elem === checkContext;\r\n\t\t}, implicitRelative, true ),\r\n\t\tmatchAnyContext = addCombinator( function( elem ) {\r\n\t\t\treturn indexOf.call( checkContext, elem ) > -1;\r\n\t\t}, implicitRelative, true ),\r\n\t\tmatchers = [ function( elem, context, xml ) {\r\n\t\t\treturn ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\r\n\t\t\t\t(checkContext = context).nodeType ?\r\n\t\t\t\t\tmatchContext( elem, context, xml ) :\r\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\r\n\t\t} ];\r\n\r\n\tfor ( ; i < len; i++ ) {\r\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\r\n\t\t\tmatchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];\r\n\t\t} else {\r\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\r\n\r\n\t\t\t// Return special upon seeing a positional matcher\r\n\t\t\tif ( matcher[ expando ] ) {\r\n\t\t\t\t// Find the next relative operator (if any) for proper handling\r\n\t\t\t\tj = ++i;\r\n\t\t\t\tfor ( ; j < len; j++ ) {\r\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn setMatcher(\r\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\r\n\t\t\t\t\ti > 1 && tokens.slice( 0, i - 1 ).join(\"\").replace( rtrim, \"$1\" ),\r\n\t\t\t\t\tmatcher,\r\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\r\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\r\n\t\t\t\t\tj < len && tokens.join(\"\")\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tmatchers.push( matcher );\r\n\t\t}\r\n\t}\r\n\r\n\treturn elementMatcher( matchers );\r\n}\r\n\r\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\r\n\tvar bySet = setMatchers.length > 0,\r\n\t\tbyElement = elementMatchers.length > 0,\r\n\t\tsuperMatcher = function( seed, context, xml, results, expandContext ) {\r\n\t\t\tvar elem, j, matcher,\r\n\t\t\t\tsetMatched = [],\r\n\t\t\t\tmatchedCount = 0,\r\n\t\t\t\ti = \"0\",\r\n\t\t\t\tunmatched = seed && [],\r\n\t\t\t\toutermost = expandContext != null,\r\n\t\t\t\tcontextBackup = outermostContext,\r\n\t\t\t\t// We must always have either seed elements or context\r\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", expandContext && context.parentNode || context ),\r\n\t\t\t\t// Nested matchers should use non-integer dirruns\r\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.E);\r\n\r\n\t\t\tif ( outermost ) {\r\n\t\t\t\toutermostContext = context !== document && context;\r\n\t\t\t\tcachedruns = superMatcher.el;\r\n\t\t\t}\r\n\r\n\t\t\t// Add elements passing elementMatchers directly to results\r\n\t\t\tfor ( ; (elem = elems[i]) != null; i++ ) {\r\n\t\t\t\tif ( byElement && elem ) {\r\n\t\t\t\t\tfor ( j = 0; (matcher = elementMatchers[j]); j++ ) {\r\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\r\n\t\t\t\t\t\t\tresults.push( elem );\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( outermost ) {\r\n\t\t\t\t\t\tdirruns = dirrunsUnique;\r\n\t\t\t\t\t\tcachedruns = ++superMatcher.el;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Track unmatched elements for set filters\r\n\t\t\t\tif ( bySet ) {\r\n\t\t\t\t\t// They will have gone through all possible matchers\r\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\r\n\t\t\t\t\t\tmatchedCount--;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Lengthen the array for every element, matched or not\r\n\t\t\t\t\tif ( seed ) {\r\n\t\t\t\t\t\tunmatched.push( elem );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Apply set filters to unmatched elements\r\n\t\t\tmatchedCount += i;\r\n\t\t\tif ( bySet && i !== matchedCount ) {\r\n\t\t\t\tfor ( j = 0; (matcher = setMatchers[j]); j++ ) {\r\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ( seed ) {\r\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\r\n\t\t\t\t\tif ( matchedCount > 0 ) {\r\n\t\t\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\r\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\r\n\t\t\t\t\tsetMatched = condense( setMatched );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Add matches to results\r\n\t\t\t\tpush.apply( results, setMatched );\r\n\r\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\r\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\r\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\r\n\r\n\t\t\t\t\tSizzle.uniqueSort( results );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Override manipulation of globals by nested matchers\r\n\t\t\tif ( outermost ) {\r\n\t\t\t\tdirruns = dirrunsUnique;\r\n\t\t\t\toutermostContext = contextBackup;\r\n\t\t\t}\r\n\r\n\t\t\treturn unmatched;\r\n\t\t};\r\n\r\n\tsuperMatcher.el = 0;\r\n\treturn bySet ?\r\n\t\tmarkFunction( superMatcher ) :\r\n\t\tsuperMatcher;\r\n}\r\n\r\ncompile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {\r\n\tvar i,\r\n\t\tsetMatchers = [],\r\n\t\telementMatchers = [],\r\n\t\tcached = compilerCache[ expando ][ selector + \" \" ];\r\n\r\n\tif ( !cached ) {\r\n\t\t// Generate a function of recursive functions that can be used to check each element\r\n\t\tif ( !group ) {\r\n\t\t\tgroup = tokenize( selector );\r\n\t\t}\r\n\t\ti = group.length;\r\n\t\twhile ( i-- ) {\r\n\t\t\tcached = matcherFromTokens( group[i] );\r\n\t\t\tif ( cached[ expando ] ) {\r\n\t\t\t\tsetMatchers.push( cached );\r\n\t\t\t} else {\r\n\t\t\t\telementMatchers.push( cached );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Cache the compiled function\r\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\r\n\t}\r\n\treturn cached;\r\n};\r\n\r\nfunction multipleContexts( selector, contexts, results ) {\r\n\tvar i = 0,\r\n\t\tlen = contexts.length;\r\n\tfor ( ; i < len; i++ ) {\r\n\t\tSizzle( selector, contexts[i], results );\r\n\t}\r\n\treturn results;\r\n}\r\n\r\nfunction select( selector, context, results, seed, xml ) {\r\n\tvar i, tokens, token, type, find,\r\n\t\tmatch = tokenize( selector ),\r\n\t\tj = match.length;\r\n\r\n\tif ( !seed ) {\r\n\t\t// Try to minimize operations if there is only one group\r\n\t\tif ( match.length === 1 ) {\r\n\r\n\t\t\t// Take a shortcut and set the context if the root selector is an ID\r\n\t\t\ttokens = match[0] = match[0].slice( 0 );\r\n\t\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\r\n\t\t\t\t\tcontext.nodeType === 9 && !xml &&\r\n\t\t\t\t\tExpr.relative[ tokens[1].type ] ) {\r\n\r\n\t\t\t\tcontext = Expr.find[\"ID\"]( token.matches[0].replace( rbackslash, \"\" ), context, xml )[0];\r\n\t\t\t\tif ( !context ) {\r\n\t\t\t\t\treturn results;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tselector = selector.slice( tokens.shift().length );\r\n\t\t\t}\r\n\r\n\t\t\t// Fetch a seed set for right-to-left matching\r\n\t\t\tfor ( i = matchExpr[\"POS\"].test( selector ) ? -1 : tokens.length - 1; i >= 0; i-- ) {\r\n\t\t\t\ttoken = tokens[i];\r\n\r\n\t\t\t\t// Abort if we hit a combinator\r\n\t\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tif ( (find = Expr.find[ type ]) ) {\r\n\t\t\t\t\t// Search, expanding context for leading sibling combinators\r\n\t\t\t\t\tif ( (seed = find(\r\n\t\t\t\t\t\ttoken.matches[0].replace( rbackslash, \"\" ),\r\n\t\t\t\t\t\trsibling.test( tokens[0].type ) && context.parentNode || context,\r\n\t\t\t\t\t\txml\r\n\t\t\t\t\t)) ) {\r\n\r\n\t\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\r\n\t\t\t\t\t\ttokens.splice( i, 1 );\r\n\t\t\t\t\t\tselector = seed.length && tokens.join(\"\");\r\n\t\t\t\t\t\tif ( !selector ) {\r\n\t\t\t\t\t\t\tpush.apply( results, slice.call( seed, 0 ) );\r\n\t\t\t\t\t\t\treturn results;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Compile and execute a filtering function\r\n\t// Provide `match` to avoid retokenization if we modified the selector above\r\n\tcompile( selector, match )(\r\n\t\tseed,\r\n\t\tcontext,\r\n\t\txml,\r\n\t\tresults,\r\n\t\trsibling.test( selector )\r\n\t);\r\n\treturn results;\r\n}\r\n\r\nif ( document.querySelectorAll ) {\r\n\t(function() {\r\n\t\tvar disconnectedMatch,\r\n\t\t\toldSelect = select,\r\n\t\t\trescape = /'|\\\\/g,\r\n\t\t\trattributeQuotes = /\\=[\\x20\\t\\r\\n\\f]*([^'\"\\]]*)[\\x20\\t\\r\\n\\f]*\\]/g,\r\n\r\n\t\t\t// qSa(:focus) reports false when true (Chrome 21), no need to also add to buggyMatches since matches checks buggyQSA\r\n\t\t\t// A support test would require too much code (would include document ready)\r\n\t\t\trbuggyQSA = [ \":focus\" ],\r\n\r\n\t\t\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\r\n\t\t\t// A support test would require too much code (would include document ready)\r\n\t\t\t// just skip matchesSelector for :active\r\n\t\t\trbuggyMatches = [ \":active\" ],\r\n\t\t\tmatches = docElem.matchesSelector ||\r\n\t\t\t\tdocElem.mozMatchesSelector ||\r\n\t\t\t\tdocElem.webkitMatchesSelector ||\r\n\t\t\t\tdocElem.oMatchesSelector ||\r\n\t\t\t\tdocElem.msMatchesSelector;\r\n\r\n\t\t// Build QSA regex\r\n\t\t// Regex strategy adopted from Diego Perini\r\n\t\tassert(function( div ) {\r\n\t\t\t// Select is set to empty string on purpose\r\n\t\t\t// This is to test IE's treatment of not explictly\r\n\t\t\t// setting a boolean content attribute,\r\n\t\t\t// since its presence should be enough\r\n\t\t\t// http://bugs.jquery.com/ticket/12359\r\n\t\t\tdiv.innerHTML = \"<select><option selected=''></option></select>\";\r\n\r\n\t\t\t// IE8 - Some boolean attributes are not treated correctly\r\n\t\t\tif ( !div.querySelectorAll(\"[selected]\").length ) {\r\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:checked|disabled|ismap|multiple|readonly|selected|value)\" );\r\n\t\t\t}\r\n\r\n\t\t\t// Webkit/Opera - :checked should return selected option elements\r\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\r\n\t\t\t// IE8 throws error here (do not put tests after this one)\r\n\t\t\tif ( !div.querySelectorAll(\":checked\").length ) {\r\n\t\t\t\trbuggyQSA.push(\":checked\");\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tassert(function( div ) {\r\n\r\n\t\t\t// Opera 10-12/IE9 - ^= $= *= and empty values\r\n\t\t\t// Should not select anything\r\n\t\t\tdiv.innerHTML = \"<p test=''></p>\";\r\n\t\t\tif ( div.querySelectorAll(\"[test^='']\").length ) {\r\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:\\\"\\\"|'')\" );\r\n\t\t\t}\r\n\r\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\r\n\t\t\t// IE8 throws error here (do not put tests after this one)\r\n\t\t\tdiv.innerHTML = \"<input type='hidden'/>\";\r\n\t\t\tif ( !div.querySelectorAll(\":enabled\").length ) {\r\n\t\t\t\trbuggyQSA.push(\":enabled\", \":disabled\");\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// rbuggyQSA always contains :focus, so no need for a length check\r\n\t\trbuggyQSA = /* rbuggyQSA.length && */ new RegExp( rbuggyQSA.join(\"|\") );\r\n\r\n\t\tselect = function( selector, context, results, seed, xml ) {\r\n\t\t\t// Only use querySelectorAll when not filtering,\r\n\t\t\t// when this is not xml,\r\n\t\t\t// and when no QSA bugs apply\r\n\t\t\tif ( !seed && !xml && !rbuggyQSA.test( selector ) ) {\r\n\t\t\t\tvar groups, i,\r\n\t\t\t\t\told = true,\r\n\t\t\t\t\tnid = expando,\r\n\t\t\t\t\tnewContext = context,\r\n\t\t\t\t\tnewSelector = context.nodeType === 9 && selector;\r\n\r\n\t\t\t\t// qSA works strangely on Element-rooted queries\r\n\t\t\t\t// We can work around this by specifying an extra ID on the root\r\n\t\t\t\t// and working up from there (Thanks to Andrew Dupont for the technique)\r\n\t\t\t\t// IE 8 doesn't work on object elements\r\n\t\t\t\tif ( context.nodeType === 1 && context.nodeName.toLowerCase() !== \"object\" ) {\r\n\t\t\t\t\tgroups = tokenize( selector );\r\n\r\n\t\t\t\t\tif ( (old = context.getAttribute(\"id\")) ) {\r\n\t\t\t\t\t\tnid = old.replace( rescape, \"\\\\$&\" );\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcontext.setAttribute( \"id\", nid );\r\n\t\t\t\t\t}\r\n\t\t\t\t\tnid = \"[id='\" + nid + \"'] \";\r\n\r\n\t\t\t\t\ti = groups.length;\r\n\t\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\t\tgroups[i] = nid + groups[i].join(\"\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\tnewContext = rsibling.test( selector ) && context.parentNode || context;\r\n\t\t\t\t\tnewSelector = groups.join(\",\");\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ( newSelector ) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tpush.apply( results, slice.call( newContext.querySelectorAll(\r\n\t\t\t\t\t\t\tnewSelector\r\n\t\t\t\t\t\t), 0 ) );\r\n\t\t\t\t\t\treturn results;\r\n\t\t\t\t\t} catch(qsaError) {\r\n\t\t\t\t\t} finally {\r\n\t\t\t\t\t\tif ( !old ) {\r\n\t\t\t\t\t\t\tcontext.removeAttribute(\"id\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn oldSelect( selector, context, results, seed, xml );\r\n\t\t};\r\n\r\n\t\tif ( matches ) {\r\n\t\t\tassert(function( div ) {\r\n\t\t\t\t// Check to see if it's possible to do matchesSelector\r\n\t\t\t\t// on a disconnected node (IE 9)\r\n\t\t\t\tdisconnectedMatch = matches.call( div, \"div\" );\r\n\r\n\t\t\t\t// This should fail with an exception\r\n\t\t\t\t// Gecko does not error, returns false instead\r\n\t\t\t\ttry {\r\n\t\t\t\t\tmatches.call( div, \"[test!='']:sizzle\" );\r\n\t\t\t\t\trbuggyMatches.push( \"!=\", pseudos );\r\n\t\t\t\t} catch ( e ) {}\r\n\t\t\t});\r\n\r\n\t\t\t// rbuggyMatches always contains :active and :focus, so no need for a length check\r\n\t\t\trbuggyMatches = /* rbuggyMatches.length && */ new RegExp( rbuggyMatches.join(\"|\") );\r\n\r\n\t\t\tSizzle.matchesSelector = function( elem, expr ) {\r\n\t\t\t\t// Make sure that attribute selectors are quoted\r\n\t\t\t\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\r\n\r\n\t\t\t\t// rbuggyMatches always contains :active, so no need for an existence check\r\n\t\t\t\tif ( !isXML( elem ) && !rbuggyMatches.test( expr ) && !rbuggyQSA.test( expr ) ) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar ret = matches.call( elem, expr );\r\n\r\n\t\t\t\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\r\n\t\t\t\t\t\tif ( ret || disconnectedMatch ||\r\n\t\t\t\t\t\t\t\t// As well, disconnected nodes are said to be in a document\r\n\t\t\t\t\t\t\t\t// fragment in IE 9\r\n\t\t\t\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\r\n\t\t\t\t\t\t\treturn ret;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch(e) {}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Sizzle( expr, null, null, [ elem ] ).length > 0;\r\n\t\t\t};\r\n\t\t}\r\n\t})();\r\n}\r\n\r\n// Deprecated\r\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\r\n\r\n// Back-compat\r\nfunction setFilters() {}\r\nExpr.filters = setFilters.prototype = Expr.pseudos;\r\nExpr.setFilters = new setFilters();\r\n\r\n// Override sizzle attribute retrieval\nSizzle.attr = jQuery.attr;\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\njQuery.expr[\":\"] = jQuery.expr.pseudos;\njQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\n\r\n\r\n})( window );\r\nvar runtil = /Until$/,\n\trparentsprev = /^(?:parents|prev(?:Until|All))/,\n\tisSimple = /^.[^:#\\[\\.,]*$/,\n\trneedsContext = jQuery.expr.match.needsContext,\n\t// methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend({\n\tfind: function( selector ) {\n\t\tvar i, l, length, n, r, ret,\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn jQuery( selector ).filter(function() {\n\t\t\t\tfor ( i = 0, l = self.length; i < l; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tret = this.pushStack( \"\", \"find\", selector );\n\n\t\tfor ( i = 0, l = this.length; i < l; i++ ) {\n\t\t\tlength = ret.length;\n\t\t\tjQuery.find( selector, this[i], ret );\n\n\t\t\tif ( i > 0 ) {\n\t\t\t\t// Make sure that the results are unique\n\t\t\t\tfor ( n = length; n < ret.length; n++ ) {\n\t\t\t\t\tfor ( r = 0; r < length; r++ ) {\n\t\t\t\t\t\tif ( ret[r] === ret[n] ) {\n\t\t\t\t\t\t\tret.splice(n--, 1);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\thas: function( target ) {\n\t\tvar i,\n\t\t\ttargets = jQuery( target, this ),\n\t\t\tlen = targets.length;\n\n\t\treturn this.filter(function() {\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[i] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow(this, selector, false), \"not\", selector);\n\t},\n\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow(this, selector, true), \"filter\", selector );\n\t},\n\n\tis: function( selector ) {\n\t\treturn !!selector && (\n\t\t\ttypeof selector === \"string\" ?\n\t\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\t\trneedsContext.test( selector ) ?\n\t\t\t\t\tjQuery( selector, this.context ).index( this[0] ) >= 0 :\n\t\t\t\t\tjQuery.filter( selector, this ).length > 0 :\n\t\t\t\tthis.filter( selector ).length > 0 );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tret = [],\n\t\t\tpos = rneedsContext.test( selectors ) || typeof selectors !== \"string\" ?\n\t\t\t\tjQuery( selectors, context || this.context ) :\n\t\t\t\t0;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tcur = this[i];\n\n\t\t\twhile ( cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11 ) {\n\t\t\t\tif ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) {\n\t\t\t\t\tret.push( cur );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t}\n\n\t\tret = ret.length > 1 ? jQuery.unique( ret ) : ret;\n\n\t\treturn this.pushStack( ret, \"closest\", selectors );\n\t},\n\n\t// Determine the position of an element within\n\t// the matched set of elements\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1;\n\t\t}\n\n\t\t// index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn jQuery.inArray( this[0], jQuery( elem ) );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn jQuery.inArray(\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[0] : elem, this );\n\t},\n\n\tadd: function( selector, context ) {\n\t\tvar set = typeof selector === \"string\" ?\n\t\t\t\tjQuery( selector, context ) :\n\t\t\t\tjQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ),\n\t\t\tall = jQuery.merge( this.get(), set );\n\n\t\treturn this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?\n\t\t\tall :\n\t\t\tjQuery.unique( all ) );\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter(selector)\n\t\t);\n\t}\n});\n\njQuery.fn.andSelf = jQuery.fn.addBack;\n\n// A painfully simple check to see if an element is disconnected\n// from a document (should be improved, where feasible).\nfunction isDisconnected( node ) {\n\treturn !node || !node.parentNode || node.parentNode.nodeType === 11;\n}\n\nfunction sibling( cur, dir ) {\n\tdo {\n\t\tcur = cur[ dir ];\n\t} while ( cur && cur.nodeType !== 1 );\n\n\treturn cur;\n}\n\njQuery.each({\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn jQuery.dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn jQuery.dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn jQuery.dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn jQuery.sibling( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\treturn jQuery.nodeName( elem, \"iframe\" ) ?\n\t\t\telem.contentDocument || elem.contentWindow.document :\n\t\t\tjQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar ret = jQuery.map( this, fn, until );\n\n\t\tif ( !runtil.test( name ) ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tret = jQuery.filter( selector, ret );\n\t\t}\n\n\t\tret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret;\n\n\t\tif ( this.length > 1 && rparentsprev.test( name ) ) {\n\t\t\tret = ret.reverse();\n\t\t}\n\n\t\treturn this.pushStack( ret, name, core_slice.call( arguments ).join(\",\") );\n\t};\n});\n\njQuery.extend({\n\tfilter: function( expr, elems, not ) {\n\t\tif ( not ) {\n\t\t\texpr = \":not(\" + expr + \")\";\n\t\t}\n\n\t\treturn elems.length === 1 ?\n\t\t\tjQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] :\n\t\t\tjQuery.find.matches(expr, elems);\n\t},\n\n\tdir: function( elem, dir, until ) {\n\t\tvar matched = [],\n\t\t\tcur = elem[ dir ];\n\n\t\twhile ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {\n\t\t\tif ( cur.nodeType === 1 ) {\n\t\t\t\tmatched.push( cur );\n\t\t\t}\n\t\t\tcur = cur[dir];\n\t\t}\n\t\treturn matched;\n\t},\n\n\tsibling: function( n, elem ) {\n\t\tvar r = [];\n\n\t\tfor ( ; n; n = n.nextSibling ) {\n\t\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\t\tr.push( n );\n\t\t\t}\n\t\t}\n\n\t\treturn r;\n\t}\n});\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, keep ) {\n\n\t// Can't pass null or undefined to indexOf in Firefox 4\n\t// Set to 0 to skip string check\n\tqualifier = qualifier || 0;\n\n\tif ( jQuery.isFunction( qualifier ) ) {\n\t\treturn jQuery.grep(elements, function( elem, i ) {\n\t\t\tvar retVal = !!qualifier.call( elem, i, elem );\n\t\t\treturn retVal === keep;\n\t\t});\n\n\t} else if ( qualifier.nodeType ) {\n\t\treturn jQuery.grep(elements, function( elem, i ) {\n\t\t\treturn ( elem === qualifier ) === keep;\n\t\t});\n\n\t} else if ( typeof qualifier === \"string\" ) {\n\t\tvar filtered = jQuery.grep(elements, function( elem ) {\n\t\t\treturn elem.nodeType === 1;\n\t\t});\n\n\t\tif ( isSimple.test( qualifier ) ) {\n\t\t\treturn jQuery.filter(qualifier, filtered, !keep);\n\t\t} else {\n\t\t\tqualifier = jQuery.filter( qualifier, filtered );\n\t\t}\n\t}\n\n\treturn jQuery.grep(elements, function( elem, i ) {\n\t\treturn ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep;\n\t});\n}\nfunction createSafeFragment( document ) {\n\tvar list = nodeNames.split( \"|\" ),\n\tsafeFrag = document.createDocumentFragment();\n\n\tif ( safeFrag.createElement ) {\n\t\twhile ( list.length ) {\n\t\t\tsafeFrag.createElement(\n\t\t\t\tlist.pop()\n\t\t\t);\n\t\t}\n\t}\n\treturn safeFrag;\n}\n\nvar nodeNames = \"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|\" +\n\t\t\"header|hgroup|mark|meter|nav|output|progress|section|summary|time|video\",\n\trinlinejQuery = / jQuery\\d+=\"(?:null|\\d+)\"/g,\n\trleadingWhitespace = /^\\s+/,\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,\n\trtagName = /<([\\w:]+)/,\n\trtbody = /<tbody/i,\n\trhtml = /<|&#?\\w+;/,\n\trnoInnerhtml = /<(?:script|style|link)/i,\n\trnocache = /<(?:script|object|embed|option|style)/i,\n\trnoshimcache = new RegExp(\"<(?:\" + nodeNames + \")[\\\\s/>]\", \"i\"),\n\trcheckableType = /^(?:checkbox|radio)$/,\n\t// checked=\"checked\" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\trscriptType = /\\/(java|ecma)script/i,\n\trcleanScript = /^\\s*<!(?:\\[CDATA\\[|\\-\\-)|[\\]\\-]{2}>\\s*$/g,\n\twrapMap = {\n\t\toption: [ 1, \"<select multiple='multiple'>\", \"</select>\" ],\n\t\tlegend: [ 1, \"<fieldset>\", \"</fieldset>\" ],\n\t\tthead: [ 1, \"<table>\", \"</table>\" ],\n\t\ttr: [ 2, \"<table><tbody>\", \"</tbody></table>\" ],\n\t\ttd: [ 3, \"<table><tbody><tr>\", \"</tr></tbody></table>\" ],\n\t\tcol: [ 2, \"<table><tbody></tbody><colgroup>\", \"</colgroup></table>\" ],\n\t\tarea: [ 1, \"<map>\", \"</map>\" ],\n\t\t_default: [ 0, \"\", \"\" ]\n\t},\n\tsafeFragment = createSafeFragment( document ),\n\tfragmentDiv = safeFragment.appendChild( document.createElement(\"div\") );\n\nwrapMap.optgroup = wrapMap.option;\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags,\n// unless wrapped in a div with non-breaking characters in front of it.\nif ( !jQuery.support.htmlSerialize ) {\n\twrapMap._default = [ 1, \"X<div>\", \"</div>\" ];\n}\n\njQuery.fn.extend({\n\ttext: function( value ) {\n\t\treturn jQuery.access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) );\n\t\t}, null, value, arguments.length );\n\t},\n\n\twrapAll: function( html ) {\n\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\treturn this.each(function(i) {\n\t\t\t\tjQuery(this).wrapAll( html.call(this, i) );\n\t\t\t});\n\t\t}\n\n\t\tif ( this[0] ) {\n\t\t\t// The elements to wrap the target around\n\t\t\tvar wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true);\n\n\t\t\tif ( this[0].parentNode ) {\n\t\t\t\twrap.insertBefore( this[0] );\n\t\t\t}\n\n\t\t\twrap.map(function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstChild && elem.firstChild.nodeType === 1 ) {\n\t\t\t\t\telem = elem.firstChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t}).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\treturn this.each(function(i) {\n\t\t\t\tjQuery(this).wrapInner( html.call(this, i) );\n\t\t\t});\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t});\n\t},\n\n\twrap: function( html ) {\n\t\tvar isFunction = jQuery.isFunction( html );\n\n\t\treturn this.each(function(i) {\n\t\t\tjQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );\n\t\t});\n\t},\n\n\tunwrap: function() {\n\t\treturn this.parent().each(function() {\n\t\t\tif ( !jQuery.nodeName( this, \"body\" ) ) {\n\t\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t\t}\n\t\t}).end();\n\t},\n\n\tappend: function() {\n\t\treturn this.domManip(arguments, true, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 ) {\n\t\t\t\tthis.appendChild( elem );\n\t\t\t}\n\t\t});\n\t},\n\n\tprepend: function() {\n\t\treturn this.domManip(arguments, true, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 ) {\n\t\t\t\tthis.insertBefore( elem, this.firstChild );\n\t\t\t}\n\t\t});\n\t},\n\n\tbefore: function() {\n\t\tif ( !isDisconnected( this[0] ) ) {\n\t\t\treturn this.domManip(arguments, false, function( elem ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t});\n\t\t}\n\n\t\tif ( arguments.length ) {\n\t\t\tvar set = jQuery.clean( arguments );\n\t\t\treturn this.pushStack( jQuery.merge( set, this ), \"before\", this.selector );\n\t\t}\n\t},\n\n\tafter: function() {\n\t\tif ( !isDisconnected( this[0] ) ) {\n\t\t\treturn this.domManip(arguments, false, function( elem ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t});\n\t\t}\n\n\t\tif ( arguments.length ) {\n\t\t\tvar set = jQuery.clean( arguments );\n\t\t\treturn this.pushStack( jQuery.merge( this, set ), \"after\", this.selector );\n\t\t}\n\t},\n\n\t// keepData is for internal use only--do not document\n\tremove: function( selector, keepData ) {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; (elem = this[i]) != null; i++ ) {\n\t\t\tif ( !selector || jQuery.filter( selector, [ elem ] ).length ) {\n\t\t\t\tif ( !keepData && elem.nodeType === 1 ) {\n\t\t\t\t\tjQuery.cleanData( elem.getElementsByTagName(\"*\") );\n\t\t\t\t\tjQuery.cleanData( [ elem ] );\n\t\t\t\t}\n\n\t\t\t\tif ( elem.parentNode ) {\n\t\t\t\t\telem.parentNode.removeChild( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; (elem = this[i]) != null; i++ ) {\n\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\tjQuery.cleanData( elem.getElementsByTagName(\"*\") );\n\t\t\t}\n\n\t\t\t// Remove any remaining nodes\n\t\t\twhile ( elem.firstChild ) {\n\t\t\t\telem.removeChild( elem.firstChild );\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function () {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t});\n\t},\n\n\thtml: function( value ) {\n\t\treturn jQuery.access( this, function( value ) {\n\t\t\tvar elem = this[0] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined ) {\n\t\t\t\treturn elem.nodeType === 1 ?\n\t\t\t\t\telem.innerHTML.replace( rinlinejQuery, \"\" ) :\n\t\t\t\t\tundefined;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t( jQuery.support.htmlSerialize || !rnoshimcache.test( value )  ) &&\n\t\t\t\t( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [\"\", \"\"] )[1].toLowerCase() ] ) {\n\n\t\t\t\tvalue = value.replace( rxhtmlTag, \"<$1></$2>\" );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor (; i < l; i++ ) {\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\telem = this[i] || {};\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( elem.getElementsByTagName( \"*\" ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch(e) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function( value ) {\n\t\tif ( !isDisconnected( this[0] ) ) {\n\t\t\t// Make sure that the elements are removed from the DOM before they are inserted\n\t\t\t// this can help fix replacing a parent with child elements\n\t\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\t\treturn this.each(function(i) {\n\t\t\t\t\tvar self = jQuery(this), old = self.html();\n\t\t\t\t\tself.replaceWith( value.call( this, i, old ) );\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif ( typeof value !== \"string\" ) {\n\t\t\t\tvalue = jQuery( value ).detach();\n\t\t\t}\n\n\t\t\treturn this.each(function() {\n\t\t\t\tvar next = this.nextSibling,\n\t\t\t\t\tparent = this.parentNode;\n\n\t\t\t\tjQuery( this ).remove();\n\n\t\t\t\tif ( next ) {\n\t\t\t\t\tjQuery(next).before( value );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery(parent).append( value );\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn this.length ?\n\t\t\tthis.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), \"replaceWith\", value ) :\n\t\t\tthis;\n\t},\n\n\tdetach: function( selector ) {\n\t\treturn this.remove( selector, true );\n\t},\n\n\tdomManip: function( args, table, callback ) {\n\n\t\t// Flatten any nested arrays\n\t\targs = [].concat.apply( [], args );\n\n\t\tvar results, first, fragment, iNoClone,\n\t\t\ti = 0,\n\t\t\tvalue = args[0],\n\t\t\tscripts = [],\n\t\t\tl = this.length;\n\n\t\t// We can't cloneNode fragments that contain checked, in WebKit\n\t\tif ( !jQuery.support.checkClone && l > 1 && typeof value === \"string\" && rchecked.test( value ) ) {\n\t\t\treturn this.each(function() {\n\t\t\t\tjQuery(this).domManip( args, table, callback );\n\t\t\t});\n\t\t}\n\n\t\tif ( jQuery.isFunction(value) ) {\n\t\t\treturn this.each(function(i) {\n\t\t\t\tvar self = jQuery(this);\n\t\t\t\targs[0] = value.call( this, i, table ? self.html() : undefined );\n\t\t\t\tself.domManip( args, table, callback );\n\t\t\t});\n\t\t}\n\n\t\tif ( this[0] ) {\n\t\t\tresults = jQuery.buildFragment( args, this, scripts );\n\t\t\tfragment = results.fragment;\n\t\t\tfirst = fragment.firstChild;\n\n\t\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\t\tfragment = first;\n\t\t\t}\n\n\t\t\tif ( first ) {\n\t\t\t\ttable = table && jQuery.nodeName( first, \"tr\" );\n\n\t\t\t\t// Use the original fragment for the last item instead of the first because it can end up\n\t\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\t\t// Fragments from the fragment cache must always be cloned and never used in place.\n\t\t\t\tfor ( iNoClone = results.cacheable || l - 1; i < l; i++ ) {\n\t\t\t\t\tcallback.call(\n\t\t\t\t\t\ttable && jQuery.nodeName( this[i], \"table\" ) ?\n\t\t\t\t\t\t\tfindOrAppend( this[i], \"tbody\" ) :\n\t\t\t\t\t\t\tthis[i],\n\t\t\t\t\t\ti === iNoClone ?\n\t\t\t\t\t\t\tfragment :\n\t\t\t\t\t\t\tjQuery.clone( fragment, true, true )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fix #11809: Avoid leaking memory\n\t\t\tfragment = first = null;\n\n\t\t\tif ( scripts.length ) {\n\t\t\t\tjQuery.each( scripts, function( i, elem ) {\n\t\t\t\t\tif ( elem.src ) {\n\t\t\t\t\t\tif ( jQuery.ajax ) {\n\t\t\t\t\t\t\tjQuery.ajax({\n\t\t\t\t\t\t\t\turl: elem.src,\n\t\t\t\t\t\t\t\ttype: \"GET\",\n\t\t\t\t\t\t\t\tdataType: \"script\",\n\t\t\t\t\t\t\t\tasync: false,\n\t\t\t\t\t\t\t\tglobal: false,\n\t\t\t\t\t\t\t\t\"throws\": true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tjQuery.error(\"no ajax\");\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tjQuery.globalEval( ( elem.text || elem.textContent || elem.innerHTML || \"\" ).replace( rcleanScript, \"\" ) );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( elem.parentNode ) {\n\t\t\t\t\t\telem.parentNode.removeChild( elem );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n});\n\nfunction findOrAppend( elem, tag ) {\n\treturn elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) );\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\n\tif ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {\n\t\treturn;\n\t}\n\n\tvar type, i, l,\n\t\toldData = jQuery._data( src ),\n\t\tcurData = jQuery._data( dest, oldData ),\n\t\tevents = oldData.events;\n\n\tif ( events ) {\n\t\tdelete curData.handle;\n\t\tcurData.events = {};\n\n\t\tfor ( type in events ) {\n\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t}\n\t\t}\n\t}\n\n\t// make the cloned public data object a copy from the original\n\tif ( curData.data ) {\n\t\tcurData.data = jQuery.extend( {}, curData.data );\n\t}\n}\n\nfunction cloneFixAttributes( src, dest ) {\n\tvar nodeName;\n\n\t// We do not need to do anything for non-Elements\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// clearAttributes removes the attributes, which we don't want,\n\t// but also removes the attachEvent events, which we *do* want\n\tif ( dest.clearAttributes ) {\n\t\tdest.clearAttributes();\n\t}\n\n\t// mergeAttributes, in contrast, only merges back on the\n\t// original attributes, not the events\n\tif ( dest.mergeAttributes ) {\n\t\tdest.mergeAttributes( src );\n\t}\n\n\tnodeName = dest.nodeName.toLowerCase();\n\n\tif ( nodeName === \"object\" ) {\n\t\t// IE6-10 improperly clones children of object elements using classid.\n\t\t// IE10 throws NoModificationAllowedError if parent is null, #12132.\n\t\tif ( dest.parentNode ) {\n\t\t\tdest.outerHTML = src.outerHTML;\n\t\t}\n\n\t\t// This path appears unavoidable for IE9. When cloning an object\n\t\t// element in IE9, the outerHTML strategy above is not sufficient.\n\t\t// If the src has innerHTML and the destination does not,\n\t\t// copy the src.innerHTML into the dest.innerHTML. #10324\n\t\tif ( jQuery.support.html5Clone && (src.innerHTML && !jQuery.trim(dest.innerHTML)) ) {\n\t\t\tdest.innerHTML = src.innerHTML;\n\t\t}\n\n\t} else if ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\t// IE6-8 fails to persist the checked state of a cloned checkbox\n\t\t// or radio button. Worse, IE6-7 fail to give the cloned element\n\t\t// a checked appearance if the defaultChecked value isn't also set\n\n\t\tdest.defaultChecked = dest.checked = src.checked;\n\n\t\t// IE6-7 get confused and end up setting the value of a cloned\n\t\t// checkbox/radio button to an empty string instead of \"on\"\n\t\tif ( dest.value !== src.value ) {\n\t\t\tdest.value = src.value;\n\t\t}\n\n\t// IE6-8 fails to return the selected option to the default selected\n\t// state when cloning options\n\t} else if ( nodeName === \"option\" ) {\n\t\tdest.selected = src.defaultSelected;\n\n\t// IE6-8 fails to set the defaultValue to the correct value when\n\t// cloning other types of input fields\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\n\t// IE blanks contents when cloning scripts\n\t} else if ( nodeName === \"script\" && dest.text !== src.text ) {\n\t\tdest.text = src.text;\n\t}\n\n\t// Event data gets referenced instead of copied if the expando\n\t// gets copied too\n\tdest.removeAttribute( jQuery.expando );\n}\n\njQuery.buildFragment = function( args, context, scripts ) {\n\tvar fragment, cacheable, cachehit,\n\t\tfirst = args[ 0 ];\n\n\t// Set context from what may come in as undefined or a jQuery collection or a node\n\t// Updated to fix #12266 where accessing context[0] could throw an exception in IE9/10 &\n\t// also doubles as fix for #8950 where plain objects caused createDocumentFragment exception\n\tcontext = context || document;\n\tcontext = !context.nodeType && context[0] || context;\n\tcontext = context.ownerDocument || context;\n\n\t// Only cache \"small\" (1/2 KB) HTML strings that are associated with the main document\n\t// Cloning options loses the selected state, so don't cache them\n\t// IE 6 doesn't like it when you put <object> or <embed> elements in a fragment\n\t// Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache\n\t// Lastly, IE6,7,8 will not correctly reuse cached fragments that were created from unknown elems #10501\n\tif ( args.length === 1 && typeof first === \"string\" && first.length < 512 && context === document &&\n\t\tfirst.charAt(0) === \"<\" && !rnocache.test( first ) &&\n\t\t(jQuery.support.checkClone || !rchecked.test( first )) &&\n\t\t(jQuery.support.html5Clone || !rnoshimcache.test( first )) ) {\n\n\t\t// Mark cacheable and look for a hit\n\t\tcacheable = true;\n\t\tfragment = jQuery.fragments[ first ];\n\t\tcachehit = fragment !== undefined;\n\t}\n\n\tif ( !fragment ) {\n\t\tfragment = context.createDocumentFragment();\n\t\tjQuery.clean( args, context, fragment, scripts );\n\n\t\t// Update the cache, but only store false\n\t\t// unless this is a second parsing of the same content\n\t\tif ( cacheable ) {\n\t\t\tjQuery.fragments[ first ] = cachehit && fragment;\n\t\t}\n\t}\n\n\treturn { fragment: fragment, cacheable: cacheable };\n};\n\njQuery.fragments = {};\n\njQuery.each({\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\ti = 0,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tl = insert.length,\n\t\t\tparent = this.length === 1 && this[0].parentNode;\n\n\t\tif ( (parent == null || parent && parent.nodeType === 11 && parent.childNodes.length === 1) && l === 1 ) {\n\t\t\tinsert[ original ]( this[0] );\n\t\t\treturn this;\n\t\t} else {\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\telems = ( i > 0 ? this.clone(true) : this ).get();\n\t\t\t\tjQuery( insert[i] )[ original ]( elems );\n\t\t\t\tret = ret.concat( elems );\n\t\t\t}\n\n\t\t\treturn this.pushStack( ret, name, insert.selector );\n\t\t}\n\t};\n});\n\nfunction getAll( elem ) {\n\tif ( typeof elem.getElementsByTagName !== \"undefined\" ) {\n\t\treturn elem.getElementsByTagName( \"*\" );\n\n\t} else if ( typeof elem.querySelectorAll !== \"undefined\" ) {\n\t\treturn elem.querySelectorAll( \"*\" );\n\n\t} else {\n\t\treturn [];\n\t}\n}\n\n// Used in clean, fixes the defaultChecked property\nfunction fixDefaultChecked( elem ) {\n\tif ( rcheckableType.test( elem.type ) ) {\n\t\telem.defaultChecked = elem.checked;\n\t}\n}\n\njQuery.extend({\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar srcElements,\n\t\t\tdestElements,\n\t\t\ti,\n\t\t\tclone;\n\n\t\tif ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( \"<\" + elem.nodeName + \">\" ) ) {\n\t\t\tclone = elem.cloneNode( true );\n\n\t\t// IE<=8 does not properly clone detached, unknown element nodes\n\t\t} else {\n\t\t\tfragmentDiv.innerHTML = elem.outerHTML;\n\t\t\tfragmentDiv.removeChild( clone = fragmentDiv.firstChild );\n\t\t}\n\n\t\tif ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&\n\t\t\t\t(elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {\n\t\t\t// IE copies events bound via attachEvent when using cloneNode.\n\t\t\t// Calling detachEvent on the clone will also remove the events\n\t\t\t// from the original. In order to get around this, we use some\n\t\t\t// proprietary methods to clear the events. Thanks to MooTools\n\t\t\t// guys for this hotness.\n\n\t\t\tcloneFixAttributes( elem, clone );\n\n\t\t\t// Using Sizzle here is crazy slow, so we use getElementsByTagName instead\n\t\t\tsrcElements = getAll( elem );\n\t\t\tdestElements = getAll( clone );\n\n\t\t\t// Weird iteration because IE will replace the length property\n\t\t\t// with an element if you are cloning the body and one of the\n\t\t\t// elements on the page has a name or id of \"length\"\n\t\t\tfor ( i = 0; srcElements[i]; ++i ) {\n\t\t\t\t// Ensure that the destination node is not null; Fixes #9587\n\t\t\t\tif ( destElements[i] ) {\n\t\t\t\t\tcloneFixAttributes( srcElements[i], destElements[i] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tcloneCopyEvent( elem, clone );\n\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = getAll( elem );\n\t\t\t\tdestElements = getAll( clone );\n\n\t\t\t\tfor ( i = 0; srcElements[i]; ++i ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[i], destElements[i] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tsrcElements = destElements = null;\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tclean: function( elems, context, fragment, scripts ) {\n\t\tvar i, j, elem, tag, wrap, depth, div, hasBody, tbody, len, handleScript, jsTags,\n\t\t\tsafe = context === document && safeFragment,\n\t\t\tret = [];\n\n\t\t// Ensure that context is a document\n\t\tif ( !context || typeof context.createDocumentFragment === \"undefined\" ) {\n\t\t\tcontext = document;\n\t\t}\n\n\t\t// Use the already-created safe fragment if context permits\n\t\tfor ( i = 0; (elem = elems[i]) != null; i++ ) {\n\t\t\tif ( typeof elem === \"number\" ) {\n\t\t\t\telem += \"\";\n\t\t\t}\n\n\t\t\tif ( !elem ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Convert html string into DOM nodes\n\t\t\tif ( typeof elem === \"string\" ) {\n\t\t\t\tif ( !rhtml.test( elem ) ) {\n\t\t\t\t\telem = context.createTextNode( elem );\n\t\t\t\t} else {\n\t\t\t\t\t// Ensure a safe container in which to render the html\n\t\t\t\t\tsafe = safe || createSafeFragment( context );\n\t\t\t\t\tdiv = context.createElement(\"div\");\n\t\t\t\t\tsafe.appendChild( div );\n\n\t\t\t\t\t// Fix \"XHTML\"-style tags in all browsers\n\t\t\t\t\telem = elem.replace(rxhtmlTag, \"<$1></$2>\");\n\n\t\t\t\t\t// Go to html and back, then peel off extra wrappers\n\t\t\t\t\ttag = ( rtagName.exec( elem ) || [\"\", \"\"] )[1].toLowerCase();\n\t\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\t\tdepth = wrap[0];\n\t\t\t\t\tdiv.innerHTML = wrap[1] + elem + wrap[2];\n\n\t\t\t\t\t// Move to the right depth\n\t\t\t\t\twhile ( depth-- ) {\n\t\t\t\t\t\tdiv = div.lastChild;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Remove IE's autoinserted <tbody> from table fragments\n\t\t\t\t\tif ( !jQuery.support.tbody ) {\n\n\t\t\t\t\t\t// String was a <table>, *may* have spurious <tbody>\n\t\t\t\t\t\thasBody = rtbody.test(elem);\n\t\t\t\t\t\t\ttbody = tag === \"table\" && !hasBody ?\n\t\t\t\t\t\t\t\tdiv.firstChild && div.firstChild.childNodes :\n\n\t\t\t\t\t\t\t\t// String was a bare <thead> or <tfoot>\n\t\t\t\t\t\t\t\twrap[1] === \"<table>\" && !hasBody ?\n\t\t\t\t\t\t\t\t\tdiv.childNodes :\n\t\t\t\t\t\t\t\t\t[];\n\n\t\t\t\t\t\tfor ( j = tbody.length - 1; j >= 0 ; --j ) {\n\t\t\t\t\t\t\tif ( jQuery.nodeName( tbody[ j ], \"tbody\" ) && !tbody[ j ].childNodes.length ) {\n\t\t\t\t\t\t\t\ttbody[ j ].parentNode.removeChild( tbody[ j ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// IE completely kills leading whitespace when innerHTML is used\n\t\t\t\t\tif ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {\n\t\t\t\t\t\tdiv.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild );\n\t\t\t\t\t}\n\n\t\t\t\t\telem = div.childNodes;\n\n\t\t\t\t\t// Take out of fragment container (we need a fresh div each time)\n\t\t\t\t\tdiv.parentNode.removeChild( div );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( elem.nodeType ) {\n\t\t\t\tret.push( elem );\n\t\t\t} else {\n\t\t\t\tjQuery.merge( ret, elem );\n\t\t\t}\n\t\t}\n\n\t\t// Fix #11356: Clear elements from safeFragment\n\t\tif ( div ) {\n\t\t\telem = div = safe = null;\n\t\t}\n\n\t\t// Reset defaultChecked for any radios and checkboxes\n\t\t// about to be appended to the DOM in IE 6/7 (#8060)\n\t\tif ( !jQuery.support.appendChecked ) {\n\t\t\tfor ( i = 0; (elem = ret[i]) != null; i++ ) {\n\t\t\t\tif ( jQuery.nodeName( elem, \"input\" ) ) {\n\t\t\t\t\tfixDefaultChecked( elem );\n\t\t\t\t} else if ( typeof elem.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\t\tjQuery.grep( elem.getElementsByTagName(\"input\"), fixDefaultChecked );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Append elements to a provided document fragment\n\t\tif ( fragment ) {\n\t\t\t// Special handling of each script element\n\t\t\thandleScript = function( elem ) {\n\t\t\t\t// Check if we consider it executable\n\t\t\t\tif ( !elem.type || rscriptType.test( elem.type ) ) {\n\t\t\t\t\t// Detach the script and store it in the scripts array (if provided) or the fragment\n\t\t\t\t\t// Return truthy to indicate that it has been handled\n\t\t\t\t\treturn scripts ?\n\t\t\t\t\t\tscripts.push( elem.parentNode ? elem.parentNode.removeChild( elem ) : elem ) :\n\t\t\t\t\t\tfragment.appendChild( elem );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tfor ( i = 0; (elem = ret[i]) != null; i++ ) {\n\t\t\t\t// Check if we're done after handling an executable script\n\t\t\t\tif ( !( jQuery.nodeName( elem, \"script\" ) && handleScript( elem ) ) ) {\n\t\t\t\t\t// Append to fragment and handle embedded scripts\n\t\t\t\t\tfragment.appendChild( elem );\n\t\t\t\t\tif ( typeof elem.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\t\t\t// handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration\n\t\t\t\t\t\tjsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName(\"script\") ), handleScript );\n\n\t\t\t\t\t\t// Splice the scripts into ret after their former ancestor and advance our index beyond them\n\t\t\t\t\t\tret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );\n\t\t\t\t\t\ti += jsTags.length;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tcleanData: function( elems, /* internal */ acceptData ) {\n\t\tvar data, id, elem, type,\n\t\t\ti = 0,\n\t\t\tinternalKey = jQuery.expando,\n\t\t\tcache = jQuery.cache,\n\t\t\tdeleteExpando = jQuery.support.deleteExpando,\n\t\t\tspecial = jQuery.event.special;\n\n\t\tfor ( ; (elem = elems[i]) != null; i++ ) {\n\n\t\t\tif ( acceptData || jQuery.acceptData( elem ) ) {\n\n\t\t\t\tid = elem[ internalKey ];\n\t\t\t\tdata = id && cache[ id ];\n\n\t\t\t\tif ( data ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Remove cache only if it was not already removed by jQuery.event.remove\n\t\t\t\t\tif ( cache[ id ] ) {\n\n\t\t\t\t\t\tdelete cache[ id ];\n\n\t\t\t\t\t\t// IE does not allow us to delete expando properties from nodes,\n\t\t\t\t\t\t// nor does it have a removeAttribute function on Document nodes;\n\t\t\t\t\t\t// we must handle all of these cases\n\t\t\t\t\t\tif ( deleteExpando ) {\n\t\t\t\t\t\t\tdelete elem[ internalKey ];\n\n\t\t\t\t\t\t} else if ( elem.removeAttribute ) {\n\t\t\t\t\t\t\telem.removeAttribute( internalKey );\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\telem[ internalKey ] = null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tjQuery.deletedIds.push( id );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n// Limit scope pollution from any deprecated API\n(function() {\n\nvar matched, browser;\n\n// Use of jQuery.browser is frowned upon.\n// More details: http://api.jquery.com/jQuery.browser\n// jQuery.uaMatch maintained for back-compat\njQuery.uaMatch = function( ua ) {\n\tua = ua.toLowerCase();\n\n\tvar match = /(chrome)[ \\/]([\\w.]+)/.exec( ua ) ||\n\t\t/(webkit)[ \\/]([\\w.]+)/.exec( ua ) ||\n\t\t/(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec( ua ) ||\n\t\t/(msie) ([\\w.]+)/.exec( ua ) ||\n\t\tua.indexOf(\"compatible\") < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec( ua ) ||\n\t\t[];\n\n\treturn {\n\t\tbrowser: match[ 1 ] || \"\",\n\t\tversion: match[ 2 ] || \"0\"\n\t};\n};\n\nmatched = jQuery.uaMatch( navigator.userAgent );\nbrowser = {};\n\nif ( matched.browser ) {\n\tbrowser[ matched.browser ] = true;\n\tbrowser.version = matched.version;\n}\n\n// Chrome is Webkit, but Webkit is also Safari.\nif ( browser.chrome ) {\n\tbrowser.webkit = true;\n} else if ( browser.webkit ) {\n\tbrowser.safari = true;\n}\n\njQuery.browser = browser;\n\njQuery.sub = function() {\n\tfunction jQuerySub( selector, context ) {\n\t\treturn new jQuerySub.fn.init( selector, context );\n\t}\n\tjQuery.extend( true, jQuerySub, this );\n\tjQuerySub.superclass = this;\n\tjQuerySub.fn = jQuerySub.prototype = this();\n\tjQuerySub.fn.constructor = jQuerySub;\n\tjQuerySub.sub = this.sub;\n\tjQuerySub.fn.init = function init( selector, context ) {\n\t\tif ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {\n\t\t\tcontext = jQuerySub( context );\n\t\t}\n\n\t\treturn jQuery.fn.init.call( this, selector, context, rootjQuerySub );\n\t};\n\tjQuerySub.fn.init.prototype = jQuerySub.fn;\n\tvar rootjQuerySub = jQuerySub(document);\n\treturn jQuerySub;\n};\n\n})();\nvar curCSS, iframe, iframeDoc,\n\tralpha = /alpha\\([^)]*\\)/i,\n\tropacity = /opacity=([^)]*)/,\n\trposition = /^(top|right|bottom|left)$/,\n\t// swappable if display is none or starts with table except \"table\", \"table-cell\", or \"table-caption\"\n\t// see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\trmargin = /^margin/,\n\trnumsplit = new RegExp( \"^(\" + core_pnum + \")(.*)$\", \"i\" ),\n\trnumnonpx = new RegExp( \"^(\" + core_pnum + \")(?!px)[a-z%]+$\", \"i\" ),\n\trrelNum = new RegExp( \"^([-+])=(\" + core_pnum + \")\", \"i\" ),\n\telemdisplay = { BODY: \"block\" },\n\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: 0,\n\t\tfontWeight: 400\n\t},\n\n\tcssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ],\n\tcssPrefixes = [ \"Webkit\", \"O\", \"Moz\", \"ms\" ],\n\n\teventsToggle = jQuery.fn.toggle;\n\n// return a css property mapped to a potentially vendor prefixed property\nfunction vendorPropName( style, name ) {\n\n\t// shortcut for names that are not vendor prefixed\n\tif ( name in style ) {\n\t\treturn name;\n\t}\n\n\t// check for vendor prefixed names\n\tvar capName = name.charAt(0).toUpperCase() + name.slice(1),\n\t\torigName = name,\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in style ) {\n\t\t\treturn name;\n\t\t}\n\t}\n\n\treturn origName;\n}\n\nfunction isHidden( elem, el ) {\n\telem = el || elem;\n\treturn jQuery.css( elem, \"display\" ) === \"none\" || !jQuery.contains( elem.ownerDocument, elem );\n}\n\nfunction showHide( elements, show ) {\n\tvar elem, display,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\t\tvalues[ index ] = jQuery._data( elem, \"olddisplay\" );\n\t\tif ( show ) {\n\t\t\t// Reset the inline display of this element to learn if it is\n\t\t\t// being hidden by cascaded rules or not\n\t\t\tif ( !values[ index ] && elem.style.display === \"none\" ) {\n\t\t\t\telem.style.display = \"\";\n\t\t\t}\n\n\t\t\t// Set elements which have been overridden with display: none\n\t\t\t// in a stylesheet to whatever the default browser style is\n\t\t\t// for such an element\n\t\t\tif ( elem.style.display === \"\" && isHidden( elem ) ) {\n\t\t\t\tvalues[ index ] = jQuery._data( elem, \"olddisplay\", css_defaultDisplay(elem.nodeName) );\n\t\t\t}\n\t\t} else {\n\t\t\tdisplay = curCSS( elem, \"display\" );\n\n\t\t\tif ( !values[ index ] && display !== \"none\" ) {\n\t\t\t\tjQuery._data( elem, \"olddisplay\", display );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of most of the elements in a second loop\n\t// to avoid the constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\t\tif ( !show || elem.style.display === \"none\" || elem.style.display === \"\" ) {\n\t\t\telem.style.display = show ? values[ index ] || \"\" : \"none\";\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.fn.extend({\n\tcss: function( name, value ) {\n\t\treturn jQuery.access( this, function( elem, name, value ) {\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t},\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state, fn2 ) {\n\t\tvar bool = typeof state === \"boolean\";\n\n\t\tif ( jQuery.isFunction( state ) && jQuery.isFunction( fn2 ) ) {\n\t\t\treturn eventsToggle.apply( this, arguments );\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tif ( bool ? state : isHidden( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t});\n\t}\n});\n\njQuery.extend({\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Exclude the following css properties to add px\n\tcssNumber: {\n\t\t\"fillOpacity\": true,\n\t\t\"fontWeight\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {\n\t\t// normalize float css property\n\t\t\"float\": jQuery.support.cssFloat ? \"cssFloat\" : \"styleFloat\"\n\t},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = jQuery.camelCase( name ),\n\t\t\tstyle = elem.style;\n\n\t\tname = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) );\n\n\t\t// gets hook for the prefixed version\n\t\t// followed by the unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// convert relative number strings (+= or -=) to relative numbers. #7345\n\t\t\tif ( type === \"string\" && (ret = rrelNum.exec( value )) ) {\n\t\t\t\tvalue = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) );\n\t\t\t\t// Fixes bug #9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that NaN and null values aren't set. See: #7116\n\t\t\tif ( value == null || type === \"number\" && isNaN( value ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add 'px' to the (except for certain CSS properties)\n\t\t\tif ( type === \"number\" && !jQuery.cssNumber[ origName ] ) {\n\t\t\t\tvalue += \"px\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !(\"set\" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {\n\t\t\t\t// Wrapped to prevent IE from throwing errors when 'invalid' values are provided\n\t\t\t\t// Fixes bug #5509\n\t\t\t\ttry {\n\t\t\t\t\tstyle[ name ] = value;\n\t\t\t\t} catch(e) {}\n\t\t\t}\n\n\t\t} else {\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, numeric, extra ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = jQuery.camelCase( name );\n\n\t\t// Make sure that we're working with the right name\n\t\tname = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) );\n\n\t\t// gets hook for the prefixed version\n\t\t// followed by the unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name );\n\t\t}\n\n\t\t//convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Return, converting to number if forced or a qualifier was provided and val looks numeric\n\t\tif ( numeric || extra !== undefined ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn numeric || jQuery.isNumeric( num ) ? num || 0 : val;\n\t\t}\n\t\treturn val;\n\t},\n\n\t// A method for quickly swapping in/out CSS properties to get correct calculations\n\tswap: function( elem, options, callback ) {\n\t\tvar ret, name,\n\t\t\told = {};\n\n\t\t// Remember the old values, and insert the new ones\n\t\tfor ( name in options ) {\n\t\t\told[ name ] = elem.style[ name ];\n\t\t\telem.style[ name ] = options[ name ];\n\t\t}\n\n\t\tret = callback.call( elem );\n\n\t\t// Revert the old values\n\t\tfor ( name in options ) {\n\t\t\telem.style[ name ] = old[ name ];\n\t\t}\n\n\t\treturn ret;\n\t}\n});\n\n// NOTE: To any future maintainer, we've window.getComputedStyle\n// because jsdom on node.js will break without it.\nif ( window.getComputedStyle ) {\n\tcurCSS = function( elem, name ) {\n\t\tvar ret, width, minWidth, maxWidth,\n\t\t\tcomputed = window.getComputedStyle( elem, null ),\n\t\t\tstyle = elem.style;\n\n\t\tif ( computed ) {\n\n\t\t\t// getPropertyValue is only needed for .css('filter') in IE9, see #12537\n\t\t\tret = computed.getPropertyValue( name ) || computed[ name ];\n\n\t\t\tif ( ret === \"\" && !jQuery.contains( elem.ownerDocument, elem ) ) {\n\t\t\t\tret = jQuery.style( elem, name );\n\t\t\t}\n\n\t\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t\t// Chrome < 17 and Safari 5.0 uses \"computed value\" instead of \"used value\" for margin-right\n\t\t\t// Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels\n\t\t\t// this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values\n\t\t\tif ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {\n\t\t\t\twidth = style.width;\n\t\t\t\tminWidth = style.minWidth;\n\t\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\t\tret = computed.width;\n\n\t\t\t\tstyle.width = width;\n\t\t\t\tstyle.minWidth = minWidth;\n\t\t\t\tstyle.maxWidth = maxWidth;\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t};\n} else if ( document.documentElement.currentStyle ) {\n\tcurCSS = function( elem, name ) {\n\t\tvar left, rsLeft,\n\t\t\tret = elem.currentStyle && elem.currentStyle[ name ],\n\t\t\tstyle = elem.style;\n\n\t\t// Avoid setting ret to empty string here\n\t\t// so we don't default to auto\n\t\tif ( ret == null && style && style[ name ] ) {\n\t\t\tret = style[ name ];\n\t\t}\n\n\t\t// From the awesome hack by Dean Edwards\n\t\t// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n\n\t\t// If we're not dealing with a regular pixel number\n\t\t// but a number that has a weird ending, we need to convert it to pixels\n\t\t// but not position css attributes, as those are proportional to the parent element instead\n\t\t// and we can't measure the parent instead because it might trigger a \"stacking dolls\" problem\n\t\tif ( rnumnonpx.test( ret ) && !rposition.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\tleft = style.left;\n\t\t\trsLeft = elem.runtimeStyle && elem.runtimeStyle.left;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tif ( rsLeft ) {\n\t\t\t\telem.runtimeStyle.left = elem.currentStyle.left;\n\t\t\t}\n\t\t\tstyle.left = name === \"fontSize\" ? \"1em\" : ret;\n\t\t\tret = style.pixelLeft + \"px\";\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.left = left;\n\t\t\tif ( rsLeft ) {\n\t\t\t\telem.runtimeStyle.left = rsLeft;\n\t\t\t}\n\t\t}\n\n\t\treturn ret === \"\" ? \"auto\" : ret;\n\t};\n}\n\nfunction setPositiveNumber( elem, value, subtract ) {\n\tvar matches = rnumsplit.exec( value );\n\treturn matches ?\n\t\t\tMath.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || \"px\" ) :\n\t\t\tvalue;\n}\n\nfunction augmentWidthOrHeight( elem, name, extra, isBorderBox ) {\n\tvar i = extra === ( isBorderBox ? \"border\" : \"content\" ) ?\n\t\t// If we already have the right measurement, avoid augmentation\n\t\t4 :\n\t\t// Otherwise initialize for horizontal or vertical properties\n\t\tname === \"width\" ? 1 : 0,\n\n\t\tval = 0;\n\n\tfor ( ; i < 4; i += 2 ) {\n\t\t// both box models exclude margin, so add it if we want it\n\t\tif ( extra === \"margin\" ) {\n\t\t\t// we use jQuery.css instead of curCSS here\n\t\t\t// because of the reliableMarginRight CSS hook!\n\t\t\tval += jQuery.css( elem, extra + cssExpand[ i ], true );\n\t\t}\n\n\t\t// From this point on we use curCSS for maximum performance (relevant in animations)\n\t\tif ( isBorderBox ) {\n\t\t\t// border-box includes padding, so remove it if we want content\n\t\t\tif ( extra === \"content\" ) {\n\t\t\t\tval -= parseFloat( curCSS( elem, \"padding\" + cssExpand[ i ] ) ) || 0;\n\t\t\t}\n\n\t\t\t// at this point, extra isn't border nor margin, so remove border\n\t\t\tif ( extra !== \"margin\" ) {\n\t\t\t\tval -= parseFloat( curCSS( elem, \"border\" + cssExpand[ i ] + \"Width\" ) ) || 0;\n\t\t\t}\n\t\t} else {\n\t\t\t// at this point, extra isn't content, so add padding\n\t\t\tval += parseFloat( curCSS( elem, \"padding\" + cssExpand[ i ] ) ) || 0;\n\n\t\t\t// at this point, extra isn't content nor padding, so add border\n\t\t\tif ( extra !== \"padding\" ) {\n\t\t\t\tval += parseFloat( curCSS( elem, \"border\" + cssExpand[ i ] + \"Width\" ) ) || 0;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn val;\n}\n\nfunction getWidthOrHeight( elem, name, extra ) {\n\n\t// Start with offset property, which is equivalent to the border-box value\n\tvar val = name === \"width\" ? elem.offsetWidth : elem.offsetHeight,\n\t\tvalueIsBorderBox = true,\n\t\tisBorderBox = jQuery.support.boxSizing && jQuery.css( elem, \"boxSizing\" ) === \"border-box\";\n\n\t// some non-html elements return undefined for offsetWidth, so check for null/undefined\n\t// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285\n\t// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668\n\tif ( val <= 0 || val == null ) {\n\t\t// Fall back to computed then uncomputed css if necessary\n\t\tval = curCSS( elem, name );\n\t\tif ( val < 0 || val == null ) {\n\t\t\tval = elem.style[ name ];\n\t\t}\n\n\t\t// Computed unit is not pixels. Stop here and return.\n\t\tif ( rnumnonpx.test(val) ) {\n\t\t\treturn val;\n\t\t}\n\n\t\t// we need the check for style in case a browser which returns unreliable values\n\t\t// for getComputedStyle silently falls back to the reliable elem.style\n\t\tvalueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] );\n\n\t\t// Normalize \"\", auto, and prepare for extra\n\t\tval = parseFloat( val ) || 0;\n\t}\n\n\t// use the active box-sizing model to add/subtract irrelevant styles\n\treturn ( val +\n\t\taugmentWidthOrHeight(\n\t\t\telem,\n\t\t\tname,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox\n\t\t)\n\t) + \"px\";\n}\n\n\n// Try to determine the default display value of an element\nfunction css_defaultDisplay( nodeName ) {\n\tif ( elemdisplay[ nodeName ] ) {\n\t\treturn elemdisplay[ nodeName ];\n\t}\n\n\tvar elem = jQuery( \"<\" + nodeName + \">\" ).appendTo( document.body ),\n\t\tdisplay = elem.css(\"display\");\n\telem.remove();\n\n\t// If the simple way fails,\n\t// get element's real default display by attaching it to a temp iframe\n\tif ( display === \"none\" || display === \"\" ) {\n\t\t// Use the already-created iframe if possible\n\t\tiframe = document.body.appendChild(\n\t\t\tiframe || jQuery.extend( document.createElement(\"iframe\"), {\n\t\t\t\tframeBorder: 0,\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t})\n\t\t);\n\n\t\t// Create a cacheable copy of the iframe document on first call.\n\t\t// IE and Opera will allow us to reuse the iframeDoc without re-writing the fake HTML\n\t\t// document to it; WebKit & Firefox won't allow reusing the iframe document.\n\t\tif ( !iframeDoc || !iframe.createElement ) {\n\t\t\tiframeDoc = ( iframe.contentWindow || iframe.contentDocument ).document;\n\t\t\tiframeDoc.write(\"<!doctype html><html><body>\");\n\t\t\tiframeDoc.close();\n\t\t}\n\n\t\telem = iframeDoc.body.appendChild( iframeDoc.createElement(nodeName) );\n\n\t\tdisplay = curCSS( elem, \"display\" );\n\t\tdocument.body.removeChild( iframe );\n\t}\n\n\t// Store the correct default display\n\telemdisplay[ nodeName ] = display;\n\n\treturn display;\n}\n\njQuery.each([ \"height\", \"width\" ], function( i, name ) {\n\tjQuery.cssHooks[ name ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\t\t\t\t// certain elements can have dimension info if we invisibly show them\n\t\t\t\t// however, it must have a current display style that would benefit from this\n\t\t\t\tif ( elem.offsetWidth === 0 && rdisplayswap.test( curCSS( elem, \"display\" ) ) ) {\n\t\t\t\t\treturn jQuery.swap( elem, cssShow, function() {\n\t\t\t\t\t\treturn getWidthOrHeight( elem, name, extra );\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturn getWidthOrHeight( elem, name, extra );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\treturn setPositiveNumber( elem, value, extra ?\n\t\t\t\taugmentWidthOrHeight(\n\t\t\t\t\telem,\n\t\t\t\t\tname,\n\t\t\t\t\textra,\n\t\t\t\t\tjQuery.support.boxSizing && jQuery.css( elem, \"boxSizing\" ) === \"border-box\"\n\t\t\t\t) : 0\n\t\t\t);\n\t\t}\n\t};\n});\n\nif ( !jQuery.support.opacity ) {\n\tjQuery.cssHooks.opacity = {\n\t\tget: function( elem, computed ) {\n\t\t\t// IE uses filters for opacity\n\t\t\treturn ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || \"\" ) ?\n\t\t\t\t( 0.01 * parseFloat( RegExp.$1 ) ) + \"\" :\n\t\t\t\tcomputed ? \"1\" : \"\";\n\t\t},\n\n\t\tset: function( elem, value ) {\n\t\t\tvar style = elem.style,\n\t\t\t\tcurrentStyle = elem.currentStyle,\n\t\t\t\topacity = jQuery.isNumeric( value ) ? \"alpha(opacity=\" + value * 100 + \")\" : \"\",\n\t\t\t\tfilter = currentStyle && currentStyle.filter || style.filter || \"\";\n\n\t\t\t// IE has trouble with opacity if it does not have layout\n\t\t\t// Force it by setting the zoom level\n\t\t\tstyle.zoom = 1;\n\n\t\t\t// if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652\n\t\t\tif ( value >= 1 && jQuery.trim( filter.replace( ralpha, \"\" ) ) === \"\" &&\n\t\t\t\tstyle.removeAttribute ) {\n\n\t\t\t\t// Setting style.filter to null, \"\" & \" \" still leave \"filter:\" in the cssText\n\t\t\t\t// if \"filter:\" is present at all, clearType is disabled, we want to avoid this\n\t\t\t\t// style.removeAttribute is IE Only, but so apparently is this code path...\n\t\t\t\tstyle.removeAttribute( \"filter\" );\n\n\t\t\t\t// if there there is no filter style applied in a css rule, we are done\n\t\t\t\tif ( currentStyle && !currentStyle.filter ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// otherwise, set new filter values\n\t\t\tstyle.filter = ralpha.test( filter ) ?\n\t\t\t\tfilter.replace( ralpha, opacity ) :\n\t\t\t\tfilter + \" \" + opacity;\n\t\t}\n\t};\n}\n\n// These hooks cannot be added until DOM ready because the support test\n// for it is not run until after DOM ready\njQuery(function() {\n\tif ( !jQuery.support.reliableMarginRight ) {\n\t\tjQuery.cssHooks.marginRight = {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\t// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right\n\t\t\t\t// Work around by temporarily setting element display to inline-block\n\t\t\t\treturn jQuery.swap( elem, { \"display\": \"inline-block\" }, function() {\n\t\t\t\t\tif ( computed ) {\n\t\t\t\t\t\treturn curCSS( elem, \"marginRight\" );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}\n\n\t// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\n\t// getComputedStyle returns percent when specified for top/left/bottom/right\n\t// rather than make the css module depend on the offset module, we just check for it here\n\tif ( !jQuery.support.pixelPosition && jQuery.fn.position ) {\n\t\tjQuery.each( [ \"top\", \"left\" ], function( i, prop ) {\n\t\t\tjQuery.cssHooks[ prop ] = {\n\t\t\t\tget: function( elem, computed ) {\n\t\t\t\t\tif ( computed ) {\n\t\t\t\t\t\tvar ret = curCSS( elem, prop );\n\t\t\t\t\t\t// if curCSS returns percentage, fallback to offset\n\t\t\t\t\t\treturn rnumnonpx.test( ret ) ? jQuery( elem ).position()[ prop ] + \"px\" : ret;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}\n\n});\n\nif ( jQuery.expr && jQuery.expr.filters ) {\n\tjQuery.expr.filters.hidden = function( elem ) {\n\t\treturn ( elem.offsetWidth === 0 && elem.offsetHeight === 0 ) || (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || curCSS( elem, \"display\" )) === \"none\");\n\t};\n\n\tjQuery.expr.filters.visible = function( elem ) {\n\t\treturn !jQuery.expr.filters.hidden( elem );\n\t};\n}\n\n// These hooks are used by animate to expand properties\njQuery.each({\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i,\n\n\t\t\t\t// assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split(\" \") : [ value ],\n\t\t\t\texpanded = {};\n\n\t\t\tfor ( i = 0; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( !rmargin.test( prefix ) ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n});\nvar r20 = /%20/g,\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,\n\trselectTextarea = /^(?:select|textarea)/i;\n\njQuery.fn.extend({\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map(function(){\n\t\t\treturn this.elements ? jQuery.makeArray( this.elements ) : this;\n\t\t})\n\t\t.filter(function(){\n\t\t\treturn this.name && !this.disabled &&\n\t\t\t\t( this.checked || rselectTextarea.test( this.nodeName ) ||\n\t\t\t\t\trinput.test( this.type ) );\n\t\t})\n\t\t.map(function( i, elem ){\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\treturn val == null ?\n\t\t\t\tnull :\n\t\t\t\tjQuery.isArray( val ) ?\n\t\t\t\t\tjQuery.map( val, function( val, i ){\n\t\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t\t}) :\n\t\t\t\t\t{ name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t}).get();\n\t}\n});\n\n//Serialize an array of form elements or a set of\n//key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, value ) {\n\t\t\t// If value is a function, invoke it and return its value\n\t\t\tvalue = jQuery.isFunction( value ) ? value() : ( value == null ? \"\" : value );\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" + encodeURIComponent( value );\n\t\t};\n\n\t// Set traditional to true for jQuery <= 1.3.2 behavior.\n\tif ( traditional === undefined ) {\n\t\ttraditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t});\n\n\t} else {\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" ).replace( r20, \"+\" );\n};\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( jQuery.isArray( obj ) ) {\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\t\t\t\t// If array item is non-scalar (array or object), encode its\n\t\t\t\t// numeric index to resolve deserialization ambiguity issues.\n\t\t\t\t// Note that rack (as of 1.0.0) can't currently deserialize\n\t\t\t\t// nested arrays properly, and attempting to do so may cause\n\t\t\t\t// a server error. Possible fixes are to modify rack's\n\t\t\t\t// deserialization algorithm or to provide an option or flag\n\t\t\t\t// to force array serialization to be shallow.\n\t\t\t\tbuildParams( prefix + \"[\" + ( typeof v === \"object\" ? i : \"\" ) + \"]\", v, traditional, add );\n\t\t\t}\n\t\t});\n\n\t} else if ( !traditional && jQuery.type( obj ) === \"object\" ) {\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\nvar\n\t// Document location\n\tajaxLocParts,\n\tajaxLocation,\n\n\trhash = /#.*$/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)\\r?$/mg, // IE leaves an \\r character at EOL\n\t// #7653, #8125, #8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app\\-storage|.+\\-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\trquery = /\\?/,\n\trscript = /<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,\n\trts = /([?&])_=[^&]*/,\n\trurl = /^([\\w\\+\\.\\-]+:)(?:\\/\\/([^\\/?#:]*)(?::(\\d+)|)|)/,\n\n\t// Keep a copy of the old load method\n\t_load = jQuery.fn.load,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t *    - BEFORE asking for a transport\n\t *    - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n\tallTypes = [\"*/\"] + [\"*\"];\n\n// #8138, IE may throw an exception when accessing\n// a field from window.location if document.domain has been set\ntry {\n\tajaxLocation = location.href;\n} catch( e ) {\n\t// Use the href attribute of an A element\n\t// since IE will modify it given document.location\n\tajaxLocation = document.createElement( \"a\" );\n\tajaxLocation.href = \"\";\n\tajaxLocation = ajaxLocation.href;\n}\n\n// Segment location into parts\najaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType, list, placeBefore,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().split( core_rspace ),\n\t\t\ti = 0,\n\t\t\tlength = dataTypes.length;\n\n\t\tif ( jQuery.isFunction( func ) ) {\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tdataType = dataTypes[ i ];\n\t\t\t\t// We control if we're asked to add before\n\t\t\t\t// any existing element\n\t\t\t\tplaceBefore = /^\\+/.test( dataType );\n\t\t\t\tif ( placeBefore ) {\n\t\t\t\t\tdataType = dataType.substr( 1 ) || \"*\";\n\t\t\t\t}\n\t\t\t\tlist = structure[ dataType ] = structure[ dataType ] || [];\n\t\t\t\t// then we add to the structure accordingly\n\t\t\t\tlist[ placeBefore ? \"unshift\" : \"push\" ]( func );\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR,\n\t\tdataType /* internal */, inspected /* internal */ ) {\n\n\tdataType = dataType || options.dataTypes[ 0 ];\n\tinspected = inspected || {};\n\n\tinspected[ dataType ] = true;\n\n\tvar selection,\n\t\tlist = structure[ dataType ],\n\t\ti = 0,\n\t\tlength = list ? list.length : 0,\n\t\texecuteOnly = ( structure === prefilters );\n\n\tfor ( ; i < length && ( executeOnly || !selection ); i++ ) {\n\t\tselection = list[ i ]( options, originalOptions, jqXHR );\n\t\t// If we got redirected to another dataType\n\t\t// we try there if executing only and not done already\n\t\tif ( typeof selection === \"string\" ) {\n\t\t\tif ( !executeOnly || inspected[ selection ] ) {\n\t\t\t\tselection = undefined;\n\t\t\t} else {\n\t\t\t\toptions.dataTypes.unshift( selection );\n\t\t\t\tselection = inspectPrefiltersOrTransports(\n\t\t\t\t\t\tstructure, options, originalOptions, jqXHR, selection, inspected );\n\t\t\t}\n\t\t}\n\t}\n\t// If we're only executing or nothing was selected\n\t// we try the catchall dataType if not done already\n\tif ( ( executeOnly || !selection ) && !inspected[ \"*\" ] ) {\n\t\tselection = inspectPrefiltersOrTransports(\n\t\t\t\tstructure, options, originalOptions, jqXHR, \"*\", inspected );\n\t}\n\t// unnecessary when only executing (prefilters)\n\t// but it'll be ignored by the caller in that case\n\treturn selection;\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes #9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n}\n\njQuery.fn.load = function( url, params, callback ) {\n\tif ( typeof url !== \"string\" && _load ) {\n\t\treturn _load.apply( this, arguments );\n\t}\n\n\t// Don't do a request if no elements are being requested\n\tif ( !this.length ) {\n\t\treturn this;\n\t}\n\n\tvar selector, type, response,\n\t\tself = this,\n\t\toff = url.indexOf(\" \");\n\n\tif ( off >= 0 ) {\n\t\tselector = url.slice( off, url.length );\n\t\turl = url.slice( 0, off );\n\t}\n\n\t// If it's a function\n\tif ( jQuery.isFunction( params ) ) {\n\n\t\t// We assume that it's the callback\n\t\tcallback = params;\n\t\tparams = undefined;\n\n\t// Otherwise, build a param string\n\t} else if ( params && typeof params === \"object\" ) {\n\t\ttype = \"POST\";\n\t}\n\n\t// Request the remote document\n\tjQuery.ajax({\n\t\turl: url,\n\n\t\t// if \"type\" variable is undefined, then \"GET\" method will be used\n\t\ttype: type,\n\t\tdataType: \"html\",\n\t\tdata: params,\n\t\tcomplete: function( jqXHR, status ) {\n\t\t\tif ( callback ) {\n\t\t\t\tself.each( callback, response || [ jqXHR.responseText, status, jqXHR ] );\n\t\t\t}\n\t\t}\n\t}).done(function( responseText ) {\n\n\t\t// Save response for use in complete callback\n\t\tresponse = arguments;\n\n\t\t// See if a selector was specified\n\t\tself.html( selector ?\n\n\t\t\t// Create a dummy div to hold the results\n\t\t\tjQuery(\"<div>\")\n\n\t\t\t\t// inject the contents of the document in, removing the scripts\n\t\t\t\t// to avoid any 'Permission Denied' errors in IE\n\t\t\t\t.append( responseText.replace( rscript, \"\" ) )\n\n\t\t\t\t// Locate the specified elements\n\t\t\t\t.find( selector ) :\n\n\t\t\t// If not, just inject the full result\n\t\t\tresponseText );\n\n\t});\n\n\treturn this;\n};\n\n// Attach a bunch of functions for handling common AJAX events\njQuery.each( \"ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend\".split( \" \" ), function( i, o ){\n\tjQuery.fn[ o ] = function( f ){\n\t\treturn this.on( o, f );\n\t};\n});\n\njQuery.each( [ \"get\", \"post\" ], function( i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\t\t// shift arguments if data argument was omitted\n\t\tif ( jQuery.isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\treturn jQuery.ajax({\n\t\t\ttype: method,\n\t\t\turl: url,\n\t\t\tdata: data,\n\t\t\tsuccess: callback,\n\t\t\tdataType: type\n\t\t});\n\t};\n});\n\njQuery.extend({\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\tif ( settings ) {\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( target, jQuery.ajaxSettings );\n\t\t} else {\n\t\t\t// Extending ajaxSettings\n\t\t\tsettings = target;\n\t\t\ttarget = jQuery.ajaxSettings;\n\t\t}\n\t\tajaxExtend( target, settings );\n\t\treturn target;\n\t},\n\n\tajaxSettings: {\n\t\turl: ajaxLocation,\n\t\tisLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),\n\t\tglobal: true,\n\t\ttype: \"GET\",\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\t\tprocessData: true,\n\t\tasync: true,\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\thtml: \"text/html\",\n\t\t\ttext: \"text/plain\",\n\t\t\tjson: \"application/json, text/javascript\",\n\t\t\t\"*\": allTypes\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /xml/,\n\t\t\thtml: /html/,\n\t\t\tjson: /json/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\"\n\t\t},\n\n\t\t// List of data converters\n\t\t// 1) key format is \"source_type destination_type\" (a single space in-between)\n\t\t// 2) the catchall symbol \"*\" can be used for source_type\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": window.String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": jQuery.parseJSON,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\tcontext: true,\n\t\t\turl: true\n\t\t}\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar // ifModified key\n\t\t\tifModifiedKey,\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\t\t\t// transport\n\t\t\ttransport,\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\t\t\t// Cross-domain detection vars\n\t\t\tparts,\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\t\t\t// Loop variable\n\t\t\ti,\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\t\t\t// Context for global events\n\t\t\t// It's the callbackContext if one was provided in the options\n\t\t\t// and if it's a DOM node or a jQuery collection\n\t\t\tglobalEventContext = callbackContext !== s &&\n\t\t\t\t( callbackContext.nodeType || callbackContext instanceof jQuery ) ?\n\t\t\t\t\t\tjQuery( callbackContext ) : jQuery.event,\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\t\t\t// The jqXHR state\n\t\t\tstate = 0,\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tif ( !state ) {\n\t\t\t\t\t\tvar lname = name.toLowerCase();\n\t\t\t\t\t\tname = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn state === 2 ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( state === 2 ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[1].toLowerCase() ] = match[ 2 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match === undefined ? null : match;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( !state ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tstatusText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( statusText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, statusText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Callback for when everything is done\n\t\t// It is defined here because jslint complains if it is declared\n\t\t// at the end of the function (which would be more logical and readable)\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Called once\n\t\t\tif ( state === 2 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// State is \"done\" now\n\t\t\tstate = 2;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\tclearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( status >= 200 && status < 300 || status === 304 ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\n\t\t\t\t\tmodified = jqXHR.getResponseHeader(\"Last-Modified\");\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ ifModifiedKey ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader(\"Etag\");\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ ifModifiedKey ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// If not modified\n\t\t\t\tif ( status === 304 ) {\n\n\t\t\t\t\tstatusText = \"notmodified\";\n\t\t\t\t\tisSuccess = true;\n\n\t\t\t\t// If we have data\n\t\t\t\t} else {\n\n\t\t\t\t\tisSuccess = ajaxConvert( s, response );\n\t\t\t\t\tstatusText = isSuccess.state;\n\t\t\t\t\tsuccess = isSuccess.data;\n\t\t\t\t\terror = isSuccess.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// We extract error from statusText\n\t\t\t\t// then normalize statusText and status for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( !statusText || status ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajax\" + ( isSuccess ? \"Success\" : \"Error\" ),\n\t\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR );\n\t\tjqXHR.success = jqXHR.done;\n\t\tjqXHR.error = jqXHR.fail;\n\t\tjqXHR.complete = completeDeferred.add;\n\n\t\t// Status-dependent callbacks\n\t\tjqXHR.statusCode = function( map ) {\n\t\t\tif ( map ) {\n\t\t\t\tvar tmp;\n\t\t\t\tif ( state < 2 ) {\n\t\t\t\t\tfor ( tmp in map ) {\n\t\t\t\t\t\tstatusCode[ tmp ] = [ statusCode[tmp], map[tmp] ];\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttmp = map[ jqXHR.status ];\n\t\t\t\t\tjqXHR.always( tmp );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this;\n\t\t};\n\n\t\t// Remove hash character (#7531: and string promotion)\n\t\t// Add protocol if not provided (#5866: IE7 issue with protocol-less urls)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url ) + \"\" ).replace( rhash, \"\" ).replace( rprotocol, ajaxLocParts[ 1 ] + \"//\" );\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = jQuery.trim( s.dataType || \"*\" ).toLowerCase().split( core_rspace );\n\n\t\t// A cross-domain request is in order when we have a protocol:host:port mismatch\n\t\tif ( s.crossDomain == null ) {\n\t\t\tparts = rurl.exec( s.url.toLowerCase() );\n\t\t\ts.crossDomain = !!( parts &&\n\t\t\t\t( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||\n\t\t\t\t\t( parts[ 3 ] || ( parts[ 1 ] === \"http:\" ? 80 : 443 ) ) !=\n\t\t\t\t\t\t( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === \"http:\" ? 80 : 443 ) ) )\n\t\t\t);\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( state === 2 ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\tfireGlobals = s.global;\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// If data is available, append data to url\n\t\t\tif ( s.data ) {\n\t\t\t\ts.url += ( rquery.test( s.url ) ? \"&\" : \"?\" ) + s.data;\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Get ifModifiedKey before adding the anti-cache parameter\n\t\t\tifModifiedKey = s.url;\n\n\t\t\t// Add anti-cache in url if needed\n\t\t\tif ( s.cache === false ) {\n\n\t\t\t\tvar ts = jQuery.now(),\n\t\t\t\t\t// try replacing _= if it is there\n\t\t\t\t\tret = s.url.replace( rts, \"$1_=\" + ts );\n\n\t\t\t\t// if nothing was replaced, add timestamp to the end\n\t\t\t\ts.url = ret + ( ( ret === s.url ) ? ( rquery.test( s.url ) ? \"&\" : \"?\" ) + \"_=\" + ts : \"\" );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tifModifiedKey = ifModifiedKey || s.url;\n\t\t\tif ( jQuery.lastModified[ ifModifiedKey ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ ifModifiedKey ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ ifModifiedKey ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ ifModifiedKey ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {\n\t\t\t\t// Abort if not done already and return\n\t\t\t\treturn jqXHR.abort();\n\n\t\t}\n\n\t\t// aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tfor ( i in { success: 1, error: 1, complete: 1 } ) {\n\t\t\tjqXHR[ i ]( s[ i ] );\n\t\t}\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = setTimeout( function(){\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tstate = 1;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch (e) {\n\t\t\t\t// Propagate exception as error if not done\n\t\t\t\tif ( state < 2 ) {\n\t\t\t\t\tdone( -1, e );\n\t\t\t\t// Simply rethrow otherwise\n\t\t\t\t} else {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {}\n\n});\n\n/* Handles responses to an ajax request:\n * - sets all responseXXX fields accordingly\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes,\n\t\tresponseFields = s.responseFields;\n\n\t// Fill responseXXX fields\n\tfor ( type in responseFields ) {\n\t\tif ( type in responses ) {\n\t\t\tjqXHR[ responseFields[type] ] = responses[ type ];\n\t\t}\n\t}\n\n\t// Remove auto dataType and get content-type in the process\n\twhile( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"content-type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[0] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n// Chain conversions given the request and the original response\nfunction ajaxConvert( s, response ) {\n\n\tvar conv, conv2, current, tmp,\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice(),\n\t\tprev = dataTypes[ 0 ],\n\t\tconverters = {},\n\t\ti = 0;\n\n\t// Apply the dataFilter if provided\n\tif ( s.dataFilter ) {\n\t\tresponse = s.dataFilter( response, s.dataType );\n\t}\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\t// Convert to each sequential dataType, tolerating list modification\n\tfor ( ; (current = dataTypes[++i]); ) {\n\n\t\t// There's only work to do if current dataType is non-auto\n\t\tif ( current !== \"*\" ) {\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\tif ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split(\" \");\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.splice( i--, 0, current );\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s[\"throws\"] ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn { state: \"parsererror\", error: conv ? e : \"No conversion from \" + prev + \" to \" + current };\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Update prev for next iteration\n\t\t\tprev = current;\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\nvar oldCallbacks = [],\n\trquestion = /\\?/,\n\trjsonp = /(=)\\?(?=&|$)|\\?\\?/,\n\tnonce = jQuery.now();\n\n// Default jsonp settings\njQuery.ajaxSetup({\n\tjsonp: \"callback\",\n\tjsonpCallback: function() {\n\t\tvar callback = oldCallbacks.pop() || ( jQuery.expando + \"_\" + ( nonce++ ) );\n\t\tthis[ callback ] = true;\n\t\treturn callback;\n\t}\n});\n\n// Detect, normalize options and install callbacks for jsonp requests\njQuery.ajaxPrefilter( \"json jsonp\", function( s, originalSettings, jqXHR ) {\n\n\tvar callbackName, overwritten, responseContainer,\n\t\tdata = s.data,\n\t\turl = s.url,\n\t\thasCallback = s.jsonp !== false,\n\t\treplaceInUrl = hasCallback && rjsonp.test( url ),\n\t\treplaceInData = hasCallback && !replaceInUrl && typeof data === \"string\" &&\n\t\t\t!( s.contentType || \"\" ).indexOf(\"application/x-www-form-urlencoded\") &&\n\t\t\trjsonp.test( data );\n\n\t// Handle iff the expected data type is \"jsonp\" or we have a parameter to set\n\tif ( s.dataTypes[ 0 ] === \"jsonp\" || replaceInUrl || replaceInData ) {\n\n\t\t// Get callback name, remembering preexisting value associated with it\n\t\tcallbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?\n\t\t\ts.jsonpCallback() :\n\t\t\ts.jsonpCallback;\n\t\toverwritten = window[ callbackName ];\n\n\t\t// Insert callback into url or form data\n\t\tif ( replaceInUrl ) {\n\t\t\ts.url = url.replace( rjsonp, \"$1\" + callbackName );\n\t\t} else if ( replaceInData ) {\n\t\t\ts.data = data.replace( rjsonp, \"$1\" + callbackName );\n\t\t} else if ( hasCallback ) {\n\t\t\ts.url += ( rquestion.test( url ) ? \"&\" : \"?\" ) + s.jsonp + \"=\" + callbackName;\n\t\t}\n\n\t\t// Use data converter to retrieve json after script execution\n\t\ts.converters[\"script json\"] = function() {\n\t\t\tif ( !responseContainer ) {\n\t\t\t\tjQuery.error( callbackName + \" was not called\" );\n\t\t\t}\n\t\t\treturn responseContainer[ 0 ];\n\t\t};\n\n\t\t// force json dataType\n\t\ts.dataTypes[ 0 ] = \"json\";\n\n\t\t// Install callback\n\t\twindow[ callbackName ] = function() {\n\t\t\tresponseContainer = arguments;\n\t\t};\n\n\t\t// Clean-up function (fires after converters)\n\t\tjqXHR.always(function() {\n\t\t\t// Restore preexisting value\n\t\t\twindow[ callbackName ] = overwritten;\n\n\t\t\t// Save back as free\n\t\t\tif ( s[ callbackName ] ) {\n\t\t\t\t// make sure that re-using the options doesn't screw things around\n\t\t\t\ts.jsonpCallback = originalSettings.jsonpCallback;\n\n\t\t\t\t// save the callback name for future use\n\t\t\t\toldCallbacks.push( callbackName );\n\t\t\t}\n\n\t\t\t// Call if it was a function and we have a response\n\t\t\tif ( responseContainer && jQuery.isFunction( overwritten ) ) {\n\t\t\t\toverwritten( responseContainer[ 0 ] );\n\t\t\t}\n\n\t\t\tresponseContainer = overwritten = undefined;\n\t\t});\n\n\t\t// Delegate to script\n\t\treturn \"script\";\n\t}\n});\n// Install script dataType\njQuery.ajaxSetup({\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /javascript|ecmascript/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n});\n\n// Handle cache's special case and global\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t\ts.global = false;\n\t}\n});\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function(s) {\n\n\t// This transport only deals with cross domain requests\n\tif ( s.crossDomain ) {\n\n\t\tvar script,\n\t\t\thead = document.head || document.getElementsByTagName( \"head\" )[0] || document.documentElement;\n\n\t\treturn {\n\n\t\t\tsend: function( _, callback ) {\n\n\t\t\t\tscript = document.createElement( \"script\" );\n\n\t\t\t\tscript.async = \"async\";\n\n\t\t\t\tif ( s.scriptCharset ) {\n\t\t\t\t\tscript.charset = s.scriptCharset;\n\t\t\t\t}\n\n\t\t\t\tscript.src = s.url;\n\n\t\t\t\t// Attach handlers for all browsers\n\t\t\t\tscript.onload = script.onreadystatechange = function( _, isAbort ) {\n\n\t\t\t\t\tif ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) {\n\n\t\t\t\t\t\t// Handle memory leak in IE\n\t\t\t\t\t\tscript.onload = script.onreadystatechange = null;\n\n\t\t\t\t\t\t// Remove the script\n\t\t\t\t\t\tif ( head && script.parentNode ) {\n\t\t\t\t\t\t\thead.removeChild( script );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Dereference the script\n\t\t\t\t\t\tscript = undefined;\n\n\t\t\t\t\t\t// Callback if not abort\n\t\t\t\t\t\tif ( !isAbort ) {\n\t\t\t\t\t\t\tcallback( 200, \"success\" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\t// Use insertBefore instead of appendChild  to circumvent an IE6 bug.\n\t\t\t\t// This arises when a base node is used (#2709 and #4378).\n\t\t\t\thead.insertBefore( script, head.firstChild );\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( script ) {\n\t\t\t\t\tscript.onload( 0, 1 );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n});\nvar xhrCallbacks,\n\t// #5280: Internet Explorer will keep connections alive if we don't abort on unload\n\txhrOnUnloadAbort = window.ActiveXObject ? function() {\n\t\t// Abort all pending requests\n\t\tfor ( var key in xhrCallbacks ) {\n\t\t\txhrCallbacks[ key ]( 0, 1 );\n\t\t}\n\t} : false,\n\txhrId = 0;\n\n// Functions to create xhrs\nfunction createStandardXHR() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch( e ) {}\n}\n\nfunction createActiveXHR() {\n\ttry {\n\t\treturn new window.ActiveXObject( \"Microsoft.XMLHTTP\" );\n\t} catch( e ) {}\n}\n\n// Create the request object\n// (This is still attached to ajaxSettings for backward compatibility)\njQuery.ajaxSettings.xhr = window.ActiveXObject ?\n\t/* Microsoft failed to properly\n\t * implement the XMLHttpRequest in IE7 (can't request local files),\n\t * so we use the ActiveXObject when it is available\n\t * Additionally XMLHttpRequest can be disabled in IE7/IE8 so\n\t * we need a fallback.\n\t */\n\tfunction() {\n\t\treturn !this.isLocal && createStandardXHR() || createActiveXHR();\n\t} :\n\t// For all other browsers, use the standard XMLHttpRequest object\n\tcreateStandardXHR;\n\n// Determine support properties\n(function( xhr ) {\n\tjQuery.extend( jQuery.support, {\n\t\tajax: !!xhr,\n\t\tcors: !!xhr && ( \"withCredentials\" in xhr )\n\t});\n})( jQuery.ajaxSettings.xhr() );\n\n// Create transport if the browser can provide an xhr\nif ( jQuery.support.ajax ) {\n\n\tjQuery.ajaxTransport(function( s ) {\n\t\t// Cross domain only allowed if supported through XMLHttpRequest\n\t\tif ( !s.crossDomain || jQuery.support.cors ) {\n\n\t\t\tvar callback;\n\n\t\t\treturn {\n\t\t\t\tsend: function( headers, complete ) {\n\n\t\t\t\t\t// Get a new xhr\n\t\t\t\t\tvar handle, i,\n\t\t\t\t\t\txhr = s.xhr();\n\n\t\t\t\t\t// Open the socket\n\t\t\t\t\t// Passing null username, generates a login popup on Opera (#2865)\n\t\t\t\t\tif ( s.username ) {\n\t\t\t\t\t\txhr.open( s.type, s.url, s.async, s.username, s.password );\n\t\t\t\t\t} else {\n\t\t\t\t\t\txhr.open( s.type, s.url, s.async );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Apply custom fields if provided\n\t\t\t\t\tif ( s.xhrFields ) {\n\t\t\t\t\t\tfor ( i in s.xhrFields ) {\n\t\t\t\t\t\t\txhr[ i ] = s.xhrFields[ i ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Override mime type if needed\n\t\t\t\t\tif ( s.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\t\txhr.overrideMimeType( s.mimeType );\n\t\t\t\t\t}\n\n\t\t\t\t\t// X-Requested-With header\n\t\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\t\tif ( !s.crossDomain && !headers[\"X-Requested-With\"] ) {\n\t\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t\t}\n\n\t\t\t\t\t// Need an extra try/catch for cross domain requests in Firefox 3\n\t\t\t\t\ttry {\n\t\t\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch( _ ) {}\n\n\t\t\t\t\t// Do send the request\n\t\t\t\t\t// This may raise an exception which is actually\n\t\t\t\t\t// handled in jQuery.ajax (so no try/catch here)\n\t\t\t\t\txhr.send( ( s.hasContent && s.data ) || null );\n\n\t\t\t\t\t// Listener\n\t\t\t\t\tcallback = function( _, isAbort ) {\n\n\t\t\t\t\t\tvar status,\n\t\t\t\t\t\t\tstatusText,\n\t\t\t\t\t\t\tresponseHeaders,\n\t\t\t\t\t\t\tresponses,\n\t\t\t\t\t\t\txml;\n\n\t\t\t\t\t\t// Firefox throws exceptions when accessing properties\n\t\t\t\t\t\t// of an xhr when a network error occurred\n\t\t\t\t\t\t// http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)\n\t\t\t\t\t\ttry {\n\n\t\t\t\t\t\t\t// Was never called and is aborted or complete\n\t\t\t\t\t\t\tif ( callback && ( isAbort || xhr.readyState === 4 ) ) {\n\n\t\t\t\t\t\t\t\t// Only called once\n\t\t\t\t\t\t\t\tcallback = undefined;\n\n\t\t\t\t\t\t\t\t// Do not keep as active anymore\n\t\t\t\t\t\t\t\tif ( handle ) {\n\t\t\t\t\t\t\t\t\txhr.onreadystatechange = jQuery.noop;\n\t\t\t\t\t\t\t\t\tif ( xhrOnUnloadAbort ) {\n\t\t\t\t\t\t\t\t\t\tdelete xhrCallbacks[ handle ];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// If it's an abort\n\t\t\t\t\t\t\t\tif ( isAbort ) {\n\t\t\t\t\t\t\t\t\t// Abort it manually if needed\n\t\t\t\t\t\t\t\t\tif ( xhr.readyState !== 4 ) {\n\t\t\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tstatus = xhr.status;\n\t\t\t\t\t\t\t\t\tresponseHeaders = xhr.getAllResponseHeaders();\n\t\t\t\t\t\t\t\t\tresponses = {};\n\t\t\t\t\t\t\t\t\txml = xhr.responseXML;\n\n\t\t\t\t\t\t\t\t\t// Construct response list\n\t\t\t\t\t\t\t\t\tif ( xml && xml.documentElement /* #4958 */ ) {\n\t\t\t\t\t\t\t\t\t\tresponses.xml = xml;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// When requesting binary data, IE6-9 will throw an exception\n\t\t\t\t\t\t\t\t\t// on any attempt to access responseText (#11426)\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tresponses.text = xhr.responseText;\n\t\t\t\t\t\t\t\t\t} catch( e ) {\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Firefox throws an exception when accessing\n\t\t\t\t\t\t\t\t\t// statusText for faulty cross-domain requests\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tstatusText = xhr.statusText;\n\t\t\t\t\t\t\t\t\t} catch( e ) {\n\t\t\t\t\t\t\t\t\t\t// We normalize with Webkit giving an empty statusText\n\t\t\t\t\t\t\t\t\t\tstatusText = \"\";\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Filter status for non standard behaviors\n\n\t\t\t\t\t\t\t\t\t// If the request is local and we have data: assume a success\n\t\t\t\t\t\t\t\t\t// (success with no data won't get notified, that's the best we\n\t\t\t\t\t\t\t\t\t// can do given current implementations)\n\t\t\t\t\t\t\t\t\tif ( !status && s.isLocal && !s.crossDomain ) {\n\t\t\t\t\t\t\t\t\t\tstatus = responses.text ? 200 : 404;\n\t\t\t\t\t\t\t\t\t// IE - #1450: sometimes returns 1223 when it should be 204\n\t\t\t\t\t\t\t\t\t} else if ( status === 1223 ) {\n\t\t\t\t\t\t\t\t\t\tstatus = 204;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch( firefoxAccessException ) {\n\t\t\t\t\t\t\tif ( !isAbort ) {\n\t\t\t\t\t\t\t\tcomplete( -1, firefoxAccessException );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Call complete if needed\n\t\t\t\t\t\tif ( responses ) {\n\t\t\t\t\t\t\tcomplete( status, statusText, responses, responseHeaders );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tif ( !s.async ) {\n\t\t\t\t\t\t// if we're in sync mode we fire the callback\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t} else if ( xhr.readyState === 4 ) {\n\t\t\t\t\t\t// (IE6 & IE7) if it's in cache and has been\n\t\t\t\t\t\t// retrieved directly we need to fire the callback\n\t\t\t\t\t\tsetTimeout( callback, 0 );\n\t\t\t\t\t} else {\n\t\t\t\t\t\thandle = ++xhrId;\n\t\t\t\t\t\tif ( xhrOnUnloadAbort ) {\n\t\t\t\t\t\t\t// Create the active xhrs callbacks list if needed\n\t\t\t\t\t\t\t// and attach the unload handler\n\t\t\t\t\t\t\tif ( !xhrCallbacks ) {\n\t\t\t\t\t\t\t\txhrCallbacks = {};\n\t\t\t\t\t\t\t\tjQuery( window ).unload( xhrOnUnloadAbort );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Add to list of active xhrs callbacks\n\t\t\t\t\t\t\txhrCallbacks[ handle ] = callback;\n\t\t\t\t\t\t}\n\t\t\t\t\t\txhr.onreadystatechange = callback;\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\tabort: function() {\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tcallback(0,1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t});\n}\nvar fxNow, timerId,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trfxnum = new RegExp( \"^(?:([-+])=|)(\" + core_pnum + \")([a-z%]*)$\", \"i\" ),\n\trrun = /queueHooks$/,\n\tanimationPrefilters = [ defaultPrefilter ],\n\ttweeners = {\n\t\t\"*\": [function( prop, value ) {\n\t\t\tvar end, unit,\n\t\t\t\ttween = this.createTween( prop, value ),\n\t\t\t\tparts = rfxnum.exec( value ),\n\t\t\t\ttarget = tween.cur(),\n\t\t\t\tstart = +target || 0,\n\t\t\t\tscale = 1,\n\t\t\t\tmaxIterations = 20;\n\n\t\t\tif ( parts ) {\n\t\t\t\tend = +parts[2];\n\t\t\t\tunit = parts[3] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\n\t\t\t\t// We need to compute starting value\n\t\t\t\tif ( unit !== \"px\" && start ) {\n\t\t\t\t\t// Iteratively approximate from a nonzero starting point\n\t\t\t\t\t// Prefer the current property, because this process will be trivial if it uses the same units\n\t\t\t\t\t// Fallback to end or a simple constant\n\t\t\t\t\tstart = jQuery.css( tween.elem, prop, true ) || end || 1;\n\n\t\t\t\t\tdo {\n\t\t\t\t\t\t// If previous iteration zeroed out, double until we get *something*\n\t\t\t\t\t\t// Use a string for doubling factor so we don't accidentally see scale as unchanged below\n\t\t\t\t\t\tscale = scale || \".5\";\n\n\t\t\t\t\t\t// Adjust and apply\n\t\t\t\t\t\tstart = start / scale;\n\t\t\t\t\t\tjQuery.style( tween.elem, prop, start + unit );\n\n\t\t\t\t\t// Update scale, tolerating zero or NaN from tween.cur()\n\t\t\t\t\t// And breaking the loop if scale is unchanged or perfect, or if we've just had enough\n\t\t\t\t\t} while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations );\n\t\t\t\t}\n\n\t\t\t\ttween.unit = unit;\n\t\t\t\ttween.start = start;\n\t\t\t\t// If a +=/-= token was provided, we're doing a relative animation\n\t\t\t\ttween.end = parts[1] ? start + ( parts[1] + 1 ) * end : end;\n\t\t\t}\n\t\t\treturn tween;\n\t\t}]\n\t};\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\tsetTimeout(function() {\n\t\tfxNow = undefined;\n\t}, 0 );\n\treturn ( fxNow = jQuery.now() );\n}\n\nfunction createTweens( animation, props ) {\n\tjQuery.each( props, function( prop, value ) {\n\t\tvar collection = ( tweeners[ prop ] || [] ).concat( tweeners[ \"*\" ] ),\n\t\t\tindex = 0,\n\t\t\tlength = collection.length;\n\t\tfor ( ; index < length; index++ ) {\n\t\t\tif ( collection[ index ].call( animation, prop, value ) ) {\n\n\t\t\t\t// we're done with this property\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tindex = 0,\n\t\ttweenerIndex = 0,\n\t\tlength = animationPrefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\t\t\t// don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t}),\n\t\ttick = function() {\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\t\t\t\t// archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length ; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ]);\n\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t} else {\n\t\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tanimation = deferred.promise({\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, { specialEasing: {} }, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end, easing ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\t\t\t\t\t// if we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\n\t\t\t\tfor ( ; index < length ; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// resolve when we played the last frame\n\t\t\t\t// otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length ; index++ ) {\n\t\tresult = animationPrefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tcreateTweens( animation, props );\n\n\tif ( jQuery.isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue,\n\t\t\telem: elem\n\t\t})\n\t);\n\n\t// attach callbacks from options\n\treturn animation.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = jQuery.camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( jQuery.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// not quite $.extend, this wont overwrite keys already present.\n\t\t\t// also - reusing 'index' from above because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweener: function( props, callback ) {\n\t\tif ( jQuery.isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.split(\" \");\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length ; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\ttweeners[ prop ] = tweeners[ prop ] || [];\n\t\t\ttweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tanimationPrefilters.unshift( callback );\n\t\t} else {\n\t\t\tanimationPrefilters.push( callback );\n\t\t}\n\t}\n});\n\nfunction defaultPrefilter( elem, props, opts ) {\n\tvar index, prop, value, length, dataShow, toggle, tween, hooks, oldfire,\n\t\tanim = this,\n\t\tstyle = elem.style,\n\t\torig = {},\n\t\thandled = [],\n\t\thidden = elem.nodeType && isHidden( elem );\n\n\t// handle queue: false promises\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always(function() {\n\t\t\t// doing this makes sure that the complete handler will be called\n\t\t\t// before this completes\n\t\t\tanim.always(function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t// height/width overflow pass\n\tif ( elem.nodeType === 1 && ( \"height\" in props || \"width\" in props ) ) {\n\t\t// Make sure that nothing sneaks out\n\t\t// Record all 3 overflow attributes because IE does not\n\t\t// change the overflow attribute when overflowX and\n\t\t// overflowY are set to the same value\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Set display property to inline-block for height/width\n\t\t// animations on inline elements that are having width/height animated\n\t\tif ( jQuery.css( elem, \"display\" ) === \"inline\" &&\n\t\t\t\tjQuery.css( elem, \"float\" ) === \"none\" ) {\n\n\t\t\t// inline-level elements accept inline-block;\n\t\t\t// block-level elements need to be inline with layout\n\t\t\tif ( !jQuery.support.inlineBlockNeedsLayout || css_defaultDisplay( elem.nodeName ) === \"inline\" ) {\n\t\t\t\tstyle.display = \"inline-block\";\n\n\t\t\t} else {\n\t\t\t\tstyle.zoom = 1;\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tif ( !jQuery.support.shrinkWrapBlocks ) {\n\t\t\tanim.done(function() {\n\t\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t\t});\n\t\t}\n\t}\n\n\n\t// show/hide pass\n\tfor ( index in props ) {\n\t\tvalue = props[ index ];\n\t\tif ( rfxtypes.exec( value ) ) {\n\t\t\tdelete props[ index ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\thandled.push( index );\n\t\t}\n\t}\n\n\tlength = handled.length;\n\tif ( length ) {\n\t\tdataShow = jQuery._data( elem, \"fxshow\" ) || jQuery._data( elem, \"fxshow\", {} );\n\t\tif ( \"hidden\" in dataShow ) {\n\t\t\thidden = dataShow.hidden;\n\t\t}\n\n\t\t// store state if its toggle - enables .stop().toggle() to \"reverse\"\n\t\tif ( toggle ) {\n\t\t\tdataShow.hidden = !hidden;\n\t\t}\n\t\tif ( hidden ) {\n\t\t\tjQuery( elem ).show();\n\t\t} else {\n\t\t\tanim.done(function() {\n\t\t\t\tjQuery( elem ).hide();\n\t\t\t});\n\t\t}\n\t\tanim.done(function() {\n\t\t\tvar prop;\n\t\t\tjQuery.removeData( elem, \"fxshow\", true );\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t}\n\t\t});\n\t\tfor ( index = 0 ; index < length ; index++ ) {\n\t\t\tprop = handled[ index ];\n\t\t\ttween = anim.createTween( prop, hidden ? dataShow[ prop ] : 0 );\n\t\t\torig[ prop ] = dataShow[ prop ] || jQuery.style( elem, prop );\n\n\t\t\tif ( !( prop in dataShow ) ) {\n\t\t\t\tdataShow[ prop ] = tween.start;\n\t\t\t\tif ( hidden ) {\n\t\t\t\t\ttween.end = tween.start;\n\t\t\t\t\ttween.start = prop === \"width\" || prop === \"height\" ? 1 : 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || \"swing\";\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\tif ( tween.elem[ tween.prop ] != null &&\n\t\t\t\t(!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// passing any value as a 4th parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails\n\t\t\t// so, simple values such as \"10px\" are parsed to Float.\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, false, \"\" );\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\t\t\t// use step hook for back compat - use cssHook if its there - use .style if its\n\t\t\t// available and use plain properties where available\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Remove in 2.0 - this supports IE8's panic based approach\n// to setting things on disconnected nodes\n\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.each([ \"toggle\", \"show\", \"hide\" ], function( i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ||\n\t\t\t// special check for .toggle( handler, handler, ... )\n\t\t\t( !i && jQuery.isFunction( speed ) && jQuery.isFunction( easing ) ) ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n});\n\njQuery.fn.extend({\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHidden ).css( \"opacity\", 0 ).show()\n\n\t\t\t// animate to the value specified\n\t\t\t.end().animate({ opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations resolve immediately\n\t\t\t\tif ( empty ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue && type !== false ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = jQuery._data( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) {\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// start the next in the queue if the last step wasn't forced\n\t\t\t// timers currently will call their complete callbacks, which will dequeue\n\t\t\t// but only if they were gotoEnd\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t});\n\t}\n});\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\tattrs = { height: type },\n\t\ti = 0;\n\n\t// if we include width, step value is 1 to do all cssExpand values,\n\t// if we don't include width, step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth? 1 : 0;\n\tfor( ; i < 4 ; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\n// Generate shortcuts for custom animations\njQuery.each({\n\tslideDown: genFx(\"show\"),\n\tslideUp: genFx(\"hide\"),\n\tslideToggle: genFx(\"toggle\"),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n});\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tjQuery.isFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !jQuery.isFunction( easing ) && easing\n\t};\n\n\topt.duration = jQuery.fx.off ? 0 : typeof opt.duration === \"number\" ? opt.duration :\n\t\topt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;\n\n\t// normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( jQuery.isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p*Math.PI ) / 2;\n\t}\n};\n\njQuery.timers = [];\njQuery.fx = Tween.prototype.init;\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ttimers = jQuery.timers,\n\t\ti = 0;\n\n\tfxNow = jQuery.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\t\t// Checks the timer has not already been removed\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tif ( timer() && jQuery.timers.push( timer ) && !timerId ) {\n\t\ttimerId = setInterval( jQuery.fx.tick, jQuery.fx.interval );\n\t}\n};\n\njQuery.fx.interval = 13;\n\njQuery.fx.stop = function() {\n\tclearInterval( timerId );\n\ttimerId = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\t// Default speed\n\t_default: 400\n};\n\n// Back Compat <1.8 extension point\njQuery.fx.step = {};\n\nif ( jQuery.expr && jQuery.expr.filters ) {\n\tjQuery.expr.filters.animated = function( elem ) {\n\t\treturn jQuery.grep(jQuery.timers, function( fn ) {\n\t\t\treturn elem === fn.elem;\n\t\t}).length;\n\t};\n}\nvar rroot = /^(?:body|html)$/i;\n\njQuery.fn.offset = function( options ) {\n\tif ( arguments.length ) {\n\t\treturn options === undefined ?\n\t\t\tthis :\n\t\t\tthis.each(function( i ) {\n\t\t\t\tjQuery.offset.setOffset( this, options, i );\n\t\t\t});\n\t}\n\n\tvar docElem, body, win, clientTop, clientLeft, scrollTop, scrollLeft,\n\t\tbox = { top: 0, left: 0 },\n\t\telem = this[ 0 ],\n\t\tdoc = elem && elem.ownerDocument;\n\n\tif ( !doc ) {\n\t\treturn;\n\t}\n\n\tif ( (body = doc.body) === elem ) {\n\t\treturn jQuery.offset.bodyOffset( elem );\n\t}\n\n\tdocElem = doc.documentElement;\n\n\t// Make sure it's not a disconnected DOM node\n\tif ( !jQuery.contains( docElem, elem ) ) {\n\t\treturn box;\n\t}\n\n\t// If we don't have gBCR, just use 0,0 rather than error\n\t// BlackBerry 5, iOS 3 (original iPhone)\n\tif ( typeof elem.getBoundingClientRect !== \"undefined\" ) {\n\t\tbox = elem.getBoundingClientRect();\n\t}\n\twin = getWindow( doc );\n\tclientTop  = docElem.clientTop  || body.clientTop  || 0;\n\tclientLeft = docElem.clientLeft || body.clientLeft || 0;\n\tscrollTop  = win.pageYOffset || docElem.scrollTop;\n\tscrollLeft = win.pageXOffset || docElem.scrollLeft;\n\treturn {\n\t\ttop: box.top  + scrollTop  - clientTop,\n\t\tleft: box.left + scrollLeft - clientLeft\n\t};\n};\n\njQuery.offset = {\n\n\tbodyOffset: function( body ) {\n\t\tvar top = body.offsetTop,\n\t\t\tleft = body.offsetLeft;\n\n\t\tif ( jQuery.support.doesNotIncludeMarginInBodyOffset ) {\n\t\t\ttop  += parseFloat( jQuery.css(body, \"marginTop\") ) || 0;\n\t\t\tleft += parseFloat( jQuery.css(body, \"marginLeft\") ) || 0;\n\t\t}\n\n\t\treturn { top: top, left: left };\n\t},\n\n\tsetOffset: function( elem, options, i ) {\n\t\tvar position = jQuery.css( elem, \"position\" );\n\n\t\t// set position first, in-case top/left are set even on static elem\n\t\tif ( position === \"static\" ) {\n\t\t\telem.style.position = \"relative\";\n\t\t}\n\n\t\tvar curElem = jQuery( elem ),\n\t\t\tcurOffset = curElem.offset(),\n\t\t\tcurCSSTop = jQuery.css( elem, \"top\" ),\n\t\t\tcurCSSLeft = jQuery.css( elem, \"left\" ),\n\t\t\tcalculatePosition = ( position === \"absolute\" || position === \"fixed\" ) && jQuery.inArray(\"auto\", [curCSSTop, curCSSLeft]) > -1,\n\t\t\tprops = {}, curPosition = {}, curTop, curLeft;\n\n\t\t// need to be able to calculate position if either top or left is auto and position is either absolute or fixed\n\t\tif ( calculatePosition ) {\n\t\t\tcurPosition = curElem.position();\n\t\t\tcurTop = curPosition.top;\n\t\t\tcurLeft = curPosition.left;\n\t\t} else {\n\t\t\tcurTop = parseFloat( curCSSTop ) || 0;\n\t\t\tcurLeft = parseFloat( curCSSLeft ) || 0;\n\t\t}\n\n\t\tif ( jQuery.isFunction( options ) ) {\n\t\t\toptions = options.call( elem, i, curOffset );\n\t\t}\n\n\t\tif ( options.top != null ) {\n\t\t\tprops.top = ( options.top - curOffset.top ) + curTop;\n\t\t}\n\t\tif ( options.left != null ) {\n\t\t\tprops.left = ( options.left - curOffset.left ) + curLeft;\n\t\t}\n\n\t\tif ( \"using\" in options ) {\n\t\t\toptions.using.call( elem, props );\n\t\t} else {\n\t\t\tcurElem.css( props );\n\t\t}\n\t}\n};\n\n\njQuery.fn.extend({\n\n\tposition: function() {\n\t\tif ( !this[0] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar elem = this[0],\n\n\t\t// Get *real* offsetParent\n\t\toffsetParent = this.offsetParent(),\n\n\t\t// Get correct offsets\n\t\toffset       = this.offset(),\n\t\tparentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset();\n\n\t\t// Subtract element margins\n\t\t// note: when an element has margin: auto the offsetLeft and marginLeft\n\t\t// are the same in Safari causing offset.left to incorrectly be 0\n\t\toffset.top  -= parseFloat( jQuery.css(elem, \"marginTop\") ) || 0;\n\t\toffset.left -= parseFloat( jQuery.css(elem, \"marginLeft\") ) || 0;\n\n\t\t// Add offsetParent borders\n\t\tparentOffset.top  += parseFloat( jQuery.css(offsetParent[0], \"borderTopWidth\") ) || 0;\n\t\tparentOffset.left += parseFloat( jQuery.css(offsetParent[0], \"borderLeftWidth\") ) || 0;\n\n\t\t// Subtract the two offsets\n\t\treturn {\n\t\t\ttop:  offset.top  - parentOffset.top,\n\t\t\tleft: offset.left - parentOffset.left\n\t\t};\n\t},\n\n\toffsetParent: function() {\n\t\treturn this.map(function() {\n\t\t\tvar offsetParent = this.offsetParent || document.body;\n\t\t\twhile ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, \"position\") === \"static\") ) {\n\t\t\t\toffsetParent = offsetParent.offsetParent;\n\t\t\t}\n\t\t\treturn offsetParent || document.body;\n\t\t});\n\t}\n});\n\n\n// Create scrollLeft and scrollTop methods\njQuery.each( {scrollLeft: \"pageXOffset\", scrollTop: \"pageYOffset\"}, function( method, prop ) {\n\tvar top = /Y/.test( prop );\n\n\tjQuery.fn[ method ] = function( val ) {\n\t\treturn jQuery.access( this, function( elem, method, val ) {\n\t\t\tvar win = getWindow( elem );\n\n\t\t\tif ( val === undefined ) {\n\t\t\t\treturn win ? (prop in win) ? win[ prop ] :\n\t\t\t\t\twin.document.documentElement[ method ] :\n\t\t\t\t\telem[ method ];\n\t\t\t}\n\n\t\t\tif ( win ) {\n\t\t\t\twin.scrollTo(\n\t\t\t\t\t!top ? val : jQuery( win ).scrollLeft(),\n\t\t\t\t\t top ? val : jQuery( win ).scrollTop()\n\t\t\t\t);\n\n\t\t\t} else {\n\t\t\t\telem[ method ] = val;\n\t\t\t}\n\t\t}, method, val, arguments.length, null );\n\t};\n});\n\nfunction getWindow( elem ) {\n\treturn jQuery.isWindow( elem ) ?\n\t\telem :\n\t\telem.nodeType === 9 ?\n\t\t\telem.defaultView || elem.parentWindow :\n\t\t\tfalse;\n}\n// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\njQuery.each( { Height: \"height\", Width: \"width\" }, function( name, type ) {\n\tjQuery.each( { padding: \"inner\" + name, content: type, \"\": \"outer\" + name }, function( defaultExtra, funcName ) {\n\t\t// margin is only for outerHeight, outerWidth\n\t\tjQuery.fn[ funcName ] = function( margin, value ) {\n\t\t\tvar chainable = arguments.length && ( defaultExtra || typeof margin !== \"boolean\" ),\n\t\t\t\textra = defaultExtra || ( margin === true || value === true ? \"margin\" : \"border\" );\n\n\t\t\treturn jQuery.access( this, function( elem, type, value ) {\n\t\t\t\tvar doc;\n\n\t\t\t\tif ( jQuery.isWindow( elem ) ) {\n\t\t\t\t\t// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there\n\t\t\t\t\t// isn't a whole lot we can do. See pull request at this URL for discussion:\n\t\t\t\t\t// https://github.com/jquery/jquery/pull/764\n\t\t\t\t\treturn elem.document.documentElement[ \"client\" + name ];\n\t\t\t\t}\n\n\t\t\t\t// Get document width or height\n\t\t\t\tif ( elem.nodeType === 9 ) {\n\t\t\t\t\tdoc = elem.documentElement;\n\n\t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest\n\t\t\t\t\t// unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it.\n\t\t\t\t\treturn Math.max(\n\t\t\t\t\t\telem.body[ \"scroll\" + name ], doc[ \"scroll\" + name ],\n\t\t\t\t\t\telem.body[ \"offset\" + name ], doc[ \"offset\" + name ],\n\t\t\t\t\t\tdoc[ \"client\" + name ]\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn value === undefined ?\n\t\t\t\t\t// Get width or height on the element, requesting but not forcing parseFloat\n\t\t\t\t\tjQuery.css( elem, type, value, extra ) :\n\n\t\t\t\t\t// Set width or height on the element\n\t\t\t\t\tjQuery.style( elem, type, value, extra );\n\t\t\t}, type, chainable ? margin : undefined, chainable, null );\n\t\t};\n\t});\n});\n// Expose jQuery to the global object\nwindow.jQuery = window.$ = jQuery;\n\n// Expose jQuery as an AMD module, but only for AMD loaders that\n// understand the issues with loading multiple versions of jQuery\n// in a page that all might call define(). The loader will indicate\n// they have special allowances for multiple jQuery versions by\n// specifying define.amd.jQuery = true. Register as a named module,\n// since jQuery can be concatenated with other files that may use define,\n// but not use a proper concatenation script that understands anonymous\n// AMD modules. A named AMD is safest and most robust way to register.\n// Lowercase jquery is used because AMD module names are derived from\n// file names, and jQuery is normally delivered in a lowercase file name.\n// Do this after creating the global so that if an AMD module wants to call\n// noConflict to hide this version of jQuery, it will work.\nif ( typeof define === \"function\" && define.amd && define.amd.jQuery ) {\n\tdefine( \"jquery\", [], function () { return jQuery; } );\n}\n\n})( window );\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/multi-image-dialog.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>MultiImageDialog Examples</title>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script src=\"../kindeditor.js\"></script>\r\n\t\t<script src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tvar editor = K.editor({\r\n\t\t\t\t\tallowFileManager : true\r\n\t\t\t\t});\r\n\t\t\t\tK('#J_selectImage').click(function() {\r\n\t\t\t\t\teditor.loadPlugin('multiimage', function() {\r\n\t\t\t\t\t\teditor.plugin.multiImageDialog({\r\n\t\t\t\t\t\t\tclickFn : function(urlList) {\r\n\t\t\t\t\t\t\t\tvar div = K('#J_imageView');\r\n\t\t\t\t\t\t\t\tdiv.html('');\r\n\t\t\t\t\t\t\t\tK.each(urlList, function(i, data) {\r\n\t\t\t\t\t\t\t\t\tdiv.append('<img src=\"' + data.url + '\">');\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\teditor.hideDialog();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<input type=\"button\" id=\"J_selectImage\" value=\"批量上传\" />\r\n\t\t<div id=\"J_imageView\"></div>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/multi-language.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Multi Language Examples</title>\r\n\t\t<style>\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script charset=\"utf-8\" src=\"../kindeditor-min.js\"></script>\r\n\t\t<script>\r\n\t\t\tvar editor;\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tK('select[name=lang]').change(function() {\r\n\t\t\t\t\tif (editor) {\r\n\t\t\t\t\t\teditor.remove();\r\n\t\t\t\t\t\teditor = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t\teditor = K.create('textarea[name=\"content\"]', {\r\n\t\t\t\t\t\tlangType : this.value\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t\tK('select[name=lang]').change();\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>Multi Language</h3>\r\n\t\t<form>\r\n\t\t\t<p>\r\n\t\t\t\t<select name=\"lang\">\r\n\t\t\t\t\t<option value=\"en\">English</option>\r\n\t\t\t\t\t<option value=\"zh_CN\">简体中文</option>\r\n\t\t\t\t\t<option value=\"zh_TW\">繁體中文</option>\r\n\t\t\t\t\t<option value=\"ko\">Korean</option>\r\n\t\t\t\t\t<option value=\"ar\">Arabic</option>\r\n\t\t\t\t</select>\r\n\t\t\t</p>\r\n\t\t\t<textarea name=\"content\" style=\"width:800px;height:200px;\"></textarea>\r\n\t\t</form>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/newline.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Newline Examples</title>\r\n\t\t<style>\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script charset=\"utf-8\" src=\"../kindeditor-min.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tvar editor;\r\n\t\t\t\tK('select[name=newlineTag]').change(function() {\r\n\t\t\t\t\tif (editor) {\r\n\t\t\t\t\t\teditor.remove();\r\n\t\t\t\t\t\teditor = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t\teditor = K.create('textarea[name=\"content\"]', {\r\n\t\t\t\t\t\tnewlineTag : this.value\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t\tK('select[name=newlineTag]').change();\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>回车换行设置</h3>\r\n\t\t<form>\r\n\t\t\t<p>\r\n\t\t\t\t<select name=\"newlineTag\">\r\n\t\t\t\t\t<option value=\"br\">BR换行</option>\r\n\t\t\t\t\t<option value=\"p\">P换行</option>\r\n\t\t\t\t</select>\r\n\t\t\t</p>\r\n\t\t\t<textarea name=\"content\" style=\"width:800px;height:200px;\"></textarea>\r\n\t\t</form>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/node.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Node Examples</title>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script src=\"../kindeditor.js\"></script>\r\n\t\t<style>\r\n\t\t\t.cls {\r\n\t\t\t\tborder : 1px solid #A0A0A0;\r\n\t\t\t\tmargin : 10px;\r\n\t\t\t\tpadding : 10px;\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t}\r\n\t\t\t.on {\r\n\t\t\t\tborder : 1px solid red;\r\n\t\t\t\tbackground-color : #F0F0F0;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tK('.cls').mouseover(function(e) {\r\n\t\t\t\t\tK(this).addClass('on');\r\n\t\t\t\t})\r\n\t\t\t\t.mouseout(function(e) {\r\n\t\t\t\t\tK(this).removeClass('on');\r\n\t\t\t\t})\r\n\t\t\t\t.click(function(e) {\r\n\t\t\t\t\teval(K.unescape(K(this).html()));\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<div class=\"cls\">K('div#id').addClass('cls');</div>\r\n\t\t<div class=\"cls\">K('div.class').css('margin', '10px');</div>\r\n\t\t<div class=\"cls\">K('#id img').css('border', '1px solid #000').attr('title', 'hello');</div>\r\n\t\t<div class=\"cls\">K('#id > div').width(200).height(50).css('border', '1px solid #000');</div>\r\n\t\t<div class=\"cls\">K('a[href=\"\\\\#\"]').attr('href', 'http://www.kindsoft.net/');</div>\r\n\t\t<div id=\"id\">\r\n\t\t\t<div class=\"class\">class1</div>\r\n\t\t\t<div class=\"class\"><a href=\"#\" target=\"_blank\">class2</a></div>\r\n\t\t\t<a href=\"#\" target=\"_blank\"><img src=\"http://www.kindsoft.net/images/logo_180_30.gif\" /></a>\r\n\t\t</div>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/paste-type.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Paste Type Examples</title>\r\n\t\t<style>\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script charset=\"utf-8\" src=\"../kindeditor-min.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tK.create('#content1', {\r\n\t\t\t\t\tpasteType : 0\r\n\t\t\t\t});\r\n\t\t\t\tK.create('#content2', {\r\n\t\t\t\t\tpasteType : 1\r\n\t\t\t\t});\r\n\t\t\t\tK.create('#content3', {\r\n\t\t\t\t\tpasteType : 2\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>禁止粘贴</h3>\r\n\t\t<textarea id=\"content1\" name=\"content\" style=\"width:700px;height:200px;visibility:hidden;\"></textarea>\r\n\t\t<h3>纯文本粘贴</h3>\r\n\t\t<textarea id=\"content2\" name=\"content\" style=\"width:700px;height:200px;visibility:hidden;\"></textarea>\r\n\t\t<h3>HTML粘贴</h3>\r\n\t\t<textarea id=\"content3\" name=\"content\" style=\"width:700px;height:200px;visibility:hidden;\"></textarea>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/qqstyle.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Custom Theme Examples</title>\r\n\t\t<style>\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<script charset=\"utf-8\" src=\"../kindeditor-min.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tK.each({\r\n\t\t\t\t\t'plug-align' : {\r\n\t\t\t\t\t\tname : '对齐方式',\r\n\t\t\t\t\t\tmethod : {\r\n\t\t\t\t\t\t\t'justifyleft' : '左对齐',\r\n\t\t\t\t\t\t\t'justifycenter' : '居中对齐',\r\n\t\t\t\t\t\t\t'justifyright' : '右对齐'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\t'plug-order' : {\r\n\t\t\t\t\t\tname : '编号',\r\n\t\t\t\t\t\tmethod : {\r\n\t\t\t\t\t\t\t'insertorderedlist' : '数字编号',\r\n\t\t\t\t\t\t\t'insertunorderedlist' : '项目编号'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\t'plug-indent' : {\r\n\t\t\t\t\t\tname : '缩进',\r\n\t\t\t\t\t\tmethod : {\r\n\t\t\t\t\t\t\t'indent' : '向右缩进',\r\n\t\t\t\t\t\t\t'outdent' : '向左缩进'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},function( pluginName, pluginData ){\r\n\t\t\t\t\tvar lang = {};\r\n\t\t\t\t\tlang[pluginName] = pluginData.name;\r\n\t\t\t\t\tKindEditor.lang( lang );\r\n\t\t\t\t\tKindEditor.plugin( pluginName, function(K) {\r\n\t\t\t\t\t\tvar self = this;\r\n\t\t\t\t\t\tself.clickToolbar( pluginName, function() {\r\n\t\t\t\t\t\t\tvar menu = self.createMenu({\r\n\t\t\t\t\t\t\t\t\tname : pluginName,\r\n\t\t\t\t\t\t\t\t\twidth : pluginData.width || 100\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tK.each( pluginData.method, function( i, v ){\r\n\t\t\t\t\t\t\t\tmenu.addItem({\r\n\t\t\t\t\t\t\t\t\ttitle : v,\r\n\t\t\t\t\t\t\t\t\tchecked : false,\r\n\t\t\t\t\t\t\t\t\ticonClass : pluginName+'-'+i,\r\n\t\t\t\t\t\t\t\t\tclick : function() {\r\n\t\t\t\t\t\t\t\t\t\tself.exec(i).hideMenu();\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t\tK.create('#contentqq', {\r\n\t\t\t\t\tthemeType : 'qq',\r\n\t\t\t\t\titems : [\r\n\t\t\t\t\t\t'bold','italic','underline','fontname','fontsize','forecolor','hilitecolor','plug-align','plug-order','plug-indent','link'\r\n\t\t\t\t\t]\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>QQ风格</h3>\r\n\t\t<textarea id=\"contentqq\" name=\"content\" style=\"width:700px;height:200px;visibility:hidden;\"></textarea>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/readonly.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Readonly Examples</title>\r\n\t\t<style>\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script charset=\"utf-8\" src=\"../kindeditor-min.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tvar editor = K.create('textarea[name=\"content\"]', {\r\n\t\t\t\t\treadonlyMode : true\r\n\t\t\t\t});\r\n\t\t\t\t// 设置成只读状态\r\n\t\t\t\tK('input[name=readonly]').click(function() {\r\n\t\t\t\t\teditor.readonly();\r\n\t\t\t\t});\r\n\t\t\t\t// 取消只读状态\r\n\t\t\t\tK('input[name=cancel]').click(function() {\r\n\t\t\t\t\teditor.readonly(false);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>只读模式</h3>\r\n\t\t<form>\r\n\t\t\t<textarea name=\"content\" style=\"width:800px;height:200px;\"></textarea>\r\n\t\t\t<p>\r\n\t\t\t\t<input type=\"button\" name=\"readonly\" value=\"设置成只读状态\" />\r\n\t\t\t\t<input type=\"button\" name=\"cancel\" value=\"取消只读状态\" />\r\n\t\t\t</p>\r\n\t\t</form>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/simple.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Simple Examples</title>\r\n\t\t<style>\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script charset=\"utf-8\" src=\"../kindeditor-min.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\tvar editor;\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\teditor = K.create('textarea[name=\"content\"]', {\r\n\t\t\t\t\tresizeType : 1,\r\n\t\t\t\t\tallowPreviewEmoticons : false,\r\n\t\t\t\t\tallowImageUpload : false,\r\n\t\t\t\t\titems : [\r\n\t\t\t\t\t\t'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', 'italic', 'underline',\r\n\t\t\t\t\t\t'removeformat', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist',\r\n\t\t\t\t\t\t'insertunorderedlist', '|', 'emoticons', 'image', 'link']\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>默认模式</h3>\r\n\t\t<form>\r\n\t\t\t<textarea name=\"content\" style=\"width:700px;height:200px;visibility:hidden;\">KindEditor</textarea>\r\n\t\t</form>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/uploadbutton.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Upload Button Examples</title>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script src=\"../kindeditor-min.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tvar uploadbutton = K.uploadbutton({\r\n\t\t\t\t\tbutton : K('#uploadButton')[0],\r\n\t\t\t\t\tfieldName : 'imgFile',\r\n\t\t\t\t\turl : '../php/upload_json.php?dir=file',\r\n\t\t\t\t\tafterUpload : function(data) {\r\n\t\t\t\t\t\tif (data.error === 0) {\r\n\t\t\t\t\t\t\tvar url = K.formatUrl(data.url, 'absolute');\r\n\t\t\t\t\t\t\tK('#url').val(url);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\talert(data.message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tafterError : function(str) {\r\n\t\t\t\t\t\talert('自定义错误信息: ' + str);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tuploadbutton.fileBox.change(function(e) {\r\n\t\t\t\t\tuploadbutton.submit();\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<div class=\"upload\">\r\n\t\t\t<input class=\"ke-input-text\" type=\"text\" id=\"url\" value=\"\" readonly=\"readonly\" /> <input type=\"button\" id=\"uploadButton\" value=\"Upload\" />\r\n\t\t</div>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/url-type.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>URL Type Examples</title>\r\n\t\t<style>\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script charset=\"utf-8\" src=\"../kindeditor-min.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tK.create('#content1', {\r\n\t\t\t\t\turlType : 'relative'\r\n\t\t\t\t});\r\n\t\t\t\tK.create('#content2', {\r\n\t\t\t\t\turlType : 'absolute'\r\n\t\t\t\t});\r\n\t\t\t\tK.create('#content3', {\r\n\t\t\t\t\turlType : 'domain'\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>相对URL</h3>\r\n\t\t<textarea id=\"content1\" name=\"content\" style=\"width:700px;height:200px;visibility:hidden;\">\r\n内部连接：<img border=\"0\" src=\"./../plugins/emoticons/images/0.gif\" /><br />\r\n外部连接：<img border=\"0\" alt=\"\" src=\"http://img1.cache.netease.com/img09/logo/logo.gif\" /><br />\r\n内部超级连接：<a href=\"./demo-19.html\" target=\"_blank\">点击这里</a><br />\r\n外部超级连接：<a href=\"http://www.163.com/\" target=\"_blank\">点击这里</a><br />\r\n</textarea>\r\n\t\t<h3>绝对URL</h3>\r\n\t\t<textarea id=\"content2\" name=\"content\" style=\"width:700px;height:200px;visibility:hidden;\">\r\n内部连接：<img border=\"0\" src=\"./../plugins/emoticons/images/0.gif\" /><br />\r\n外部连接：<img border=\"0\" alt=\"\" src=\"http://img1.cache.netease.com/img09/logo/logo.gif\" /><br />\r\n内部超级连接：<a href=\"./demo-19.html\" target=\"_blank\">点击这里</a><br />\r\n外部超级连接：<a href=\"http://www.163.com/\" target=\"_blank\">点击这里</a><br />\r\n</textarea>\r\n\t\t<h3>绝对URL（包含域名）</h3>\r\n\t\t<textarea id=\"content3\" name=\"content\" style=\"width:700px;height:200px;visibility:hidden;\">\r\n内部连接：<img border=\"0\" src=\"./../plugins/emoticons/images/0.gif\" /><br />\r\n外部连接：<img border=\"0\" alt=\"\" src=\"http://img1.cache.netease.com/img09/logo/logo.gif\" /><br />\r\n内部超级连接：<a href=\"./demo-19.html\" target=\"_blank\">点击这里</a><br />\r\n外部超级连接：<a href=\"http://www.163.com/\" target=\"_blank\">点击这里</a><br />\r\n</textarea>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/word-count.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Word Count Examples</title>\r\n\t\t<style>\r\n\t\t\tform {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\ttextarea {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t</style>\r\n\t\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t\t<script charset=\"utf-8\" src=\"../kindeditor-min.js\"></script>\r\n\t\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t\t<script>\r\n\t\t\tKindEditor.ready(function(K) {\r\n\t\t\t\tK.create('textarea[name=\"content\"]', {\r\n\t\t\t\t\tafterChange : function() {\r\n\t\t\t\t\t\tK('.word_count1').html(this.count());\r\n\t\t\t\t\t\tK('.word_count2').html(this.count('text'));\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t</script>\r\n\t</head>\r\n\t<body>\r\n\t\t<h3>统计字数</h3>\r\n\t\t<form>\r\n\t\t\t<textarea name=\"content\" style=\"width:800px;height:200px;\"></textarea>\r\n\t\t\t<p>\r\n\t\t\t\t您当前输入了 <span class=\"word_count1\">0</span> 个文字。（字数统计包含HTML代码。）<br />\r\n\t\t\t\t您当前输入了 <span class=\"word_count2\">0</span> 个文字。（字数统计包含纯文本、IMG、EMBED，不包含换行符，IMG和EMBED算一个文字。）\r\n\t\t\t</p>\r\n\t\t</form>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/jsp/README.txt",
    "content": "KindEditor JSP\r\n\r\n本JSP程序是演示程序，建议不要直接在实际项目中使用。\r\n如果您确定直接使用本程序，使用之前请仔细确认相关安全设置。\r\n \r\n使用方法:\r\n\r\n1. 解压zip文件，将所有文件复制到Tomcat的webapps/kindeditor目录下。\r\n\r\n2. 将kindeditor/jsp/lib目录下的3个jar文件复制到Tomcat的lib目录下，并重新启动Tomcat。\r\n\t* commons-fileupload-1.2.1.jar\r\n\t* commons-io-1.4.jar\r\n\t* json_simple-1.1.jar\r\n\r\n3. 打开浏览器，输入http://localhost:[P0RT]/kindeditor/jsp/demo.jsp。\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/jsp/demo.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%\r\nrequest.setCharacterEncoding(\"UTF-8\");\r\nString htmlData = request.getParameter(\"content1\") != null ? request.getParameter(\"content1\") : \"\";\r\n%>\r\n<!doctype html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"utf-8\" />\r\n\t<title>KindEditor JSP</title>\r\n\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t<link rel=\"stylesheet\" href=\"../plugins/code/prettify.css\" />\r\n\t<script charset=\"utf-8\" src=\"../kindeditor.js\"></script>\r\n\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t<script charset=\"utf-8\" src=\"../plugins/code/prettify.js\"></script>\r\n\t<script>\r\n\t\tKindEditor.ready(function(K) {\r\n\t\t\tvar editor1 = K.create('textarea[name=\"content1\"]', {\r\n\t\t\t\tcssPath : '../plugins/code/prettify.css',\r\n\t\t\t\tuploadJson : '../jsp/upload_json.jsp',\r\n\t\t\t\tfileManagerJson : '../jsp/file_manager_json.jsp',\r\n\t\t\t\tallowFileManager : true,\r\n\t\t\t\tafterCreate : function() {\r\n\t\t\t\t\tvar self = this;\r\n\t\t\t\t\tK.ctrl(document, 13, function() {\r\n\t\t\t\t\t\tself.sync();\r\n\t\t\t\t\t\tdocument.forms['example'].submit();\r\n\t\t\t\t\t});\r\n\t\t\t\t\tK.ctrl(self.edit.doc, 13, function() {\r\n\t\t\t\t\t\tself.sync();\r\n\t\t\t\t\t\tdocument.forms['example'].submit();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tprettyPrint();\r\n\t\t});\r\n\t</script>\r\n</head>\r\n<body>\r\n\t<%=htmlData%>\r\n\t<form name=\"example\" method=\"post\" action=\"demo.jsp\">\r\n\t\t<textarea name=\"content1\" cols=\"100\" rows=\"8\" style=\"width:700px;height:200px;visibility:hidden;\"><%=htmlspecialchars(htmlData)%></textarea>\r\n\t\t<br />\r\n\t\t<input type=\"submit\" name=\"button\" value=\"提交内容\" /> (提交快捷键: Ctrl + Enter)\r\n\t</form>\r\n</body>\r\n</html>\r\n<%!\r\nprivate String htmlspecialchars(String str) {\r\n\tstr = str.replaceAll(\"&\", \"&amp;\");\r\n\tstr = str.replaceAll(\"<\", \"&lt;\");\r\n\tstr = str.replaceAll(\">\", \"&gt;\");\r\n\tstr = str.replaceAll(\"\\\"\", \"&quot;\");\r\n\treturn str;\r\n}\r\n%>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/jsp/file_manager_json.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page import=\"java.util.*,java.io.*\" %>\r\n<%@ page import=\"java.text.SimpleDateFormat\" %>\r\n<%@ page import=\"org.json.simple.*\" %>\r\n<%\r\n\r\n/**\r\n * KindEditor JSP\r\n *\r\n * 本JSP程序是演示程序，建议不要直接在实际项目中使用。\r\n * 如果您确定直接使用本程序，使用之前请仔细确认相关安全设置。\r\n *\r\n */\r\n\r\n//根目录路径，可以指定绝对路径，比如 /var/www/attached/\r\nString rootPath = pageContext.getServletContext().getRealPath(\"/\") + \"attached/\";\r\n//根目录URL，可以指定绝对路径，比如 http://www.yoursite.com/attached/\r\nString rootUrl  = request.getContextPath() + \"/attached/\";\r\n//图片扩展名\r\nString[] fileTypes = new String[]{\"gif\", \"jpg\", \"jpeg\", \"png\", \"bmp\"};\r\n\r\nString dirName = request.getParameter(\"dir\");\r\nif (dirName != null) {\r\n\tif(!Arrays.<String>asList(new String[]{\"image\", \"flash\", \"media\", \"file\"}).contains(dirName)){\r\n\t\tout.println(\"Invalid Directory name.\");\r\n\t\treturn;\r\n\t}\r\n\trootPath += dirName + \"/\";\r\n\trootUrl += dirName + \"/\";\r\n\tFile saveDirFile = new File(rootPath);\r\n\tif (!saveDirFile.exists()) {\r\n\t\tsaveDirFile.mkdirs();\r\n\t}\r\n}\r\n//根据path参数，设置各路径和URL\r\nString path = request.getParameter(\"path\") != null ? request.getParameter(\"path\") : \"\";\r\nString currentPath = rootPath + path;\r\nString currentUrl = rootUrl + path;\r\nString currentDirPath = path;\r\nString moveupDirPath = \"\";\r\nif (!\"\".equals(path)) {\r\n\tString str = currentDirPath.substring(0, currentDirPath.length() - 1);\r\n\tmoveupDirPath = str.lastIndexOf(\"/\") >= 0 ? str.substring(0, str.lastIndexOf(\"/\") + 1) : \"\";\r\n}\r\n\r\n//排序形式，name or size or type\r\nString order = request.getParameter(\"order\") != null ? request.getParameter(\"order\").toLowerCase() : \"name\";\r\n\r\n//不允许使用..移动到上一级目录\r\nif (path.indexOf(\"..\") >= 0) {\r\n\tout.println(\"Access is not allowed.\");\r\n\treturn;\r\n}\r\n//最后一个字符不是/\r\nif (!\"\".equals(path) && !path.endsWith(\"/\")) {\r\n\tout.println(\"Parameter is not valid.\");\r\n\treturn;\r\n}\r\n//目录不存在或不是目录\r\nFile currentPathFile = new File(currentPath);\r\nif(!currentPathFile.isDirectory()){\r\n\tout.println(\"Directory does not exist.\");\r\n\treturn;\r\n}\r\n\r\n//遍历目录取的文件信息\r\nList<Hashtable> fileList = new ArrayList<Hashtable>();\r\nif(currentPathFile.listFiles() != null) {\r\n\tfor (File file : currentPathFile.listFiles()) {\r\n\t\tHashtable<String, Object> hash = new Hashtable<String, Object>();\r\n\t\tString fileName = file.getName();\r\n\t\tif(file.isDirectory()) {\r\n\t\t\thash.put(\"is_dir\", true);\r\n\t\t\thash.put(\"has_file\", (file.listFiles() != null));\r\n\t\t\thash.put(\"filesize\", 0L);\r\n\t\t\thash.put(\"is_photo\", false);\r\n\t\t\thash.put(\"filetype\", \"\");\r\n\t\t} else if(file.isFile()){\r\n\t\t\tString fileExt = fileName.substring(fileName.lastIndexOf(\".\") + 1).toLowerCase();\r\n\t\t\thash.put(\"is_dir\", false);\r\n\t\t\thash.put(\"has_file\", false);\r\n\t\t\thash.put(\"filesize\", file.length());\r\n\t\t\thash.put(\"is_photo\", Arrays.<String>asList(fileTypes).contains(fileExt));\r\n\t\t\thash.put(\"filetype\", fileExt);\r\n\t\t}\r\n\t\thash.put(\"filename\", fileName);\r\n\t\thash.put(\"datetime\", new SimpleDateFormat(\"yyyy-MM-dd HH:mm:ss\").format(file.lastModified()));\r\n\t\tfileList.add(hash);\r\n\t}\r\n}\r\n\r\nif (\"size\".equals(order)) {\r\n\tCollections.sort(fileList, new SizeComparator());\r\n} else if (\"type\".equals(order)) {\r\n\tCollections.sort(fileList, new TypeComparator());\r\n} else {\r\n\tCollections.sort(fileList, new NameComparator());\r\n}\r\nJSONObject result = new JSONObject();\r\nresult.put(\"moveup_dir_path\", moveupDirPath);\r\nresult.put(\"current_dir_path\", currentDirPath);\r\nresult.put(\"current_url\", currentUrl);\r\nresult.put(\"total_count\", fileList.size());\r\nresult.put(\"file_list\", fileList);\r\n\r\nresponse.setContentType(\"application/json; charset=UTF-8\");\r\nout.println(result.toJSONString());\r\n%>\r\n<%!\r\npublic class NameComparator implements Comparator {\r\n\tpublic int compare(Object a, Object b) {\r\n\t\tHashtable hashA = (Hashtable)a;\r\n\t\tHashtable hashB = (Hashtable)b;\r\n\t\tif (((Boolean)hashA.get(\"is_dir\")) && !((Boolean)hashB.get(\"is_dir\"))) {\r\n\t\t\treturn -1;\r\n\t\t} else if (!((Boolean)hashA.get(\"is_dir\")) && ((Boolean)hashB.get(\"is_dir\"))) {\r\n\t\t\treturn 1;\r\n\t\t} else {\r\n\t\t\treturn ((String)hashA.get(\"filename\")).compareTo((String)hashB.get(\"filename\"));\r\n\t\t}\r\n\t}\r\n}\r\npublic class SizeComparator implements Comparator {\r\n\tpublic int compare(Object a, Object b) {\r\n\t\tHashtable hashA = (Hashtable)a;\r\n\t\tHashtable hashB = (Hashtable)b;\r\n\t\tif (((Boolean)hashA.get(\"is_dir\")) && !((Boolean)hashB.get(\"is_dir\"))) {\r\n\t\t\treturn -1;\r\n\t\t} else if (!((Boolean)hashA.get(\"is_dir\")) && ((Boolean)hashB.get(\"is_dir\"))) {\r\n\t\t\treturn 1;\r\n\t\t} else {\r\n\t\t\tif (((Long)hashA.get(\"filesize\")) > ((Long)hashB.get(\"filesize\"))) {\r\n\t\t\t\treturn 1;\r\n\t\t\t} else if (((Long)hashA.get(\"filesize\")) < ((Long)hashB.get(\"filesize\"))) {\r\n\t\t\t\treturn -1;\r\n\t\t\t} else {\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\npublic class TypeComparator implements Comparator {\r\n\tpublic int compare(Object a, Object b) {\r\n\t\tHashtable hashA = (Hashtable)a;\r\n\t\tHashtable hashB = (Hashtable)b;\r\n\t\tif (((Boolean)hashA.get(\"is_dir\")) && !((Boolean)hashB.get(\"is_dir\"))) {\r\n\t\t\treturn -1;\r\n\t\t} else if (!((Boolean)hashA.get(\"is_dir\")) && ((Boolean)hashB.get(\"is_dir\"))) {\r\n\t\t\treturn 1;\r\n\t\t} else {\r\n\t\t\treturn ((String)hashA.get(\"filetype\")).compareTo((String)hashB.get(\"filetype\"));\r\n\t\t}\r\n\t}\r\n}\r\n%>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/jsp/upload_json.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page import=\"java.util.*,java.io.*\" %>\r\n<%@ page import=\"java.text.SimpleDateFormat\" %>\r\n<%@ page import=\"org.apache.commons.fileupload.*\" %>\r\n<%@ page import=\"org.apache.commons.fileupload.disk.*\" %>\r\n<%@ page import=\"org.apache.commons.fileupload.servlet.*\" %>\r\n<%@ page import=\"org.json.simple.*\" %>\r\n<%\r\n\r\n/**\r\n * KindEditor JSP\r\n * \r\n * 本JSP程序是演示程序，建议不要直接在实际项目中使用。\r\n * 如果您确定直接使用本程序，使用之前请仔细确认相关安全设置。\r\n * \r\n */\r\n\r\n//文件保存目录路径\r\nString savePath = pageContext.getServletContext().getRealPath(\"/\") + \"attached/\";\r\n\r\n//文件保存目录URL\r\nString saveUrl  = request.getContextPath() + \"/attached/\";\r\n\r\n//定义允许上传的文件扩展名\r\nHashMap<String, String> extMap = new HashMap<String, String>();\r\nextMap.put(\"image\", \"gif,jpg,jpeg,png,bmp\");\r\nextMap.put(\"flash\", \"swf,flv\");\r\nextMap.put(\"media\", \"swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb\");\r\nextMap.put(\"file\", \"doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2\");\r\n\r\n//最大文件大小\r\nlong maxSize = 1000000;\r\n\r\nresponse.setContentType(\"text/html; charset=UTF-8\");\r\n\r\nif(!ServletFileUpload.isMultipartContent(request)){\r\n\tout.println(getError(\"请选择文件。\"));\r\n\treturn;\r\n}\r\n//检查目录\r\nFile uploadDir = new File(savePath);\r\nif(!uploadDir.isDirectory()){\r\n\tout.println(getError(\"上传目录不存在。\"));\r\n\treturn;\r\n}\r\n//检查目录写权限\r\nif(!uploadDir.canWrite()){\r\n\tout.println(getError(\"上传目录没有写权限。\"));\r\n\treturn;\r\n}\r\n\r\nString dirName = request.getParameter(\"dir\");\r\nif (dirName == null) {\r\n\tdirName = \"image\";\r\n}\r\nif(!extMap.containsKey(dirName)){\r\n\tout.println(getError(\"目录名不正确。\"));\r\n\treturn;\r\n}\r\n//创建文件夹\r\nsavePath += dirName + \"/\";\r\nsaveUrl += dirName + \"/\";\r\nFile saveDirFile = new File(savePath);\r\nif (!saveDirFile.exists()) {\r\n\tsaveDirFile.mkdirs();\r\n}\r\nSimpleDateFormat sdf = new SimpleDateFormat(\"yyyyMMdd\");\r\nString ymd = sdf.format(new Date());\r\nsavePath += ymd + \"/\";\r\nsaveUrl += ymd + \"/\";\r\nFile dirFile = new File(savePath);\r\nif (!dirFile.exists()) {\r\n\tdirFile.mkdirs();\r\n}\r\n\r\nFileItemFactory factory = new DiskFileItemFactory();\r\nServletFileUpload upload = new ServletFileUpload(factory);\r\nupload.setHeaderEncoding(\"UTF-8\");\r\nList items = upload.parseRequest(request);\r\nIterator itr = items.iterator();\r\nwhile (itr.hasNext()) {\r\n\tFileItem item = (FileItem) itr.next();\r\n\tString fileName = item.getName();\r\n\tlong fileSize = item.getSize();\r\n\tif (!item.isFormField()) {\r\n\t\t//检查文件大小\r\n\t\tif(item.getSize() > maxSize){\r\n\t\t\tout.println(getError(\"上传文件大小超过限制。\"));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t//检查扩展名\r\n\t\tString fileExt = fileName.substring(fileName.lastIndexOf(\".\") + 1).toLowerCase();\r\n\t\tif(!Arrays.<String>asList(extMap.get(dirName).split(\",\")).contains(fileExt)){\r\n\t\t\tout.println(getError(\"上传文件扩展名是不允许的扩展名。\\n只允许\" + extMap.get(dirName) + \"格式。\"));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tSimpleDateFormat df = new SimpleDateFormat(\"yyyyMMddHHmmss\");\r\n\t\tString newFileName = df.format(new Date()) + \"_\" + new Random().nextInt(1000) + \".\" + fileExt;\r\n\t\ttry{\r\n\t\t\tFile uploadedFile = new File(savePath, newFileName);\r\n\t\t\titem.write(uploadedFile);\r\n\t\t}catch(Exception e){\r\n\t\t\tout.println(getError(\"上传文件失败。\"));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tJSONObject obj = new JSONObject();\r\n\t\tobj.put(\"error\", 0);\r\n\t\tobj.put(\"url\", saveUrl + newFileName);\r\n\t\tout.println(obj.toJSONString());\r\n\t}\r\n}\r\n%>\r\n<%!\r\nprivate String getError(String message) {\r\n\tJSONObject obj = new JSONObject();\r\n\tobj.put(\"error\", 1);\r\n\tobj.put(\"message\", message);\r\n\treturn obj.toJSONString();\r\n}\r\n%>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/kindeditor-all-min.js",
    "content": "/* KindEditor 4.1.10 (2013-11-23), Copyright (C) kindsoft.net, Licence: http://www.kindsoft.net/license.php */(function(b,d){function f(a){if(!a)return!1;return Object.prototype.toString.call(a)===\"[object Array]\"}function j(a){if(!a)return!1;return Object.prototype.toString.call(a)===\"[object Function]\"}function e(a,c){for(var g=0,b=c.length;g<b;g++)if(a===c[g])return g;return-1}function h(a,c){if(f(a))for(var g=0,b=a.length;g<b;g++){if(c.call(a[g],g,a[g])===!1)break}else for(g in a)if(a.hasOwnProperty(g)&&c.call(a[g],g,a[g])===!1)break}function m(a){return a.replace(/(?:^[ \\t\\n\\r]+)|(?:[ \\t\\n\\r]+$)/g,\"\")}\nfunction n(a,c,g){g=g===d?\",\":g;return(g+c+g).indexOf(g+a+g)>=0}function o(a,c){c=c||\"px\";return a&&/^\\d+$/.test(a)?a+c:a}function l(a){var c;return a&&(c=/(\\d+)/.exec(a))?parseInt(c[1],10):0}function s(a){return a.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\")}function v(a){return a.replace(/&lt;/g,\"<\").replace(/&gt;/g,\">\").replace(/&quot;/g,'\"').replace(/&amp;/g,\"&\")}function p(a){var c=a.split(\"-\"),a=\"\";h(c,function(c,b){a+=c>0?b.charAt(0).toUpperCase()+\nb.substr(1):b});return a}function r(a){function c(a){a=parseInt(a,10).toString(16).toUpperCase();return a.length>1?a:\"0\"+a}return a.replace(/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/ig,function(a,b,d,k){return\"#\"+c(b)+c(d)+c(k)})}function z(a,c){var c=c===d?\",\":c,g={},b=f(a)?a:a.split(c),t;h(b,function(a,c){if(t=/^(\\d+)\\.\\.(\\d+)$/.exec(c))for(var b=parseInt(t[1],10);b<=parseInt(t[2],10);b++)g[b.toString()]=!0;else g[c]=!0});return g}function D(a,c){return Array.prototype.slice.call(a,c||0)}function q(a,\nc){return a===d?c:a}function A(a,c,g){g||(g=c,c=null);var b;if(c){var d=function(){};d.prototype=c.prototype;b=new d;h(g,function(a,c){b[a]=c})}else b=g;b.constructor=a;a.prototype=b;a.parent=c?c.prototype:null}function B(a){var c;if(c=/\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\]/.exec(a))a=c[0];c=/[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;c.lastIndex=0;c.test(a)&&(a=a.replace(c,function(a){return\"\\\\u\"+(\"0000\"+a.charCodeAt(0).toString(16)).slice(-4)}));\nif(/^[\\],:{}\\s]*$/.test(a.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g,\"@\").replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,\"]\").replace(/(?:^|:|,)(?:\\s*\\[)+/g,\"\")))return eval(\"(\"+a+\")\");throw\"JSON parse error\";}function G(a,c,g){a.addEventListener?a.addEventListener(c,g,fb):a.attachEvent&&a.attachEvent(\"on\"+c,g)}function C(a,c,g){a.removeEventListener?a.removeEventListener(c,g,fb):a.detachEvent&&a.detachEvent(\"on\"+c,g)}function u(a,c){this.init(a,c)}function I(a){try{delete a[ma]}catch(c){a.removeAttribute&&\na.removeAttribute(ma)}}function E(a,c,g){if(c.indexOf(\",\")>=0)h(c.split(\",\"),function(){E(a,this,g)});else{var b=a[ma]||null;b||(a[ma]=++gb,b=gb);L[b]===d&&(L[b]={});var t=L[b][c];t&&t.length>0?C(a,c,t[0]):(L[b][c]=[],L[b].el=a);t=L[b][c];t.length===0&&(t[0]=function(c){var g=c?new u(a,c):d;h(t,function(c,b){c>0&&b&&b.call(a,g)})});e(g,t)<0&&t.push(g);G(a,c,t[0])}}function T(a,c,g){if(c&&c.indexOf(\",\")>=0)h(c.split(\",\"),function(){T(a,this,g)});else{var b=a[ma]||null;if(b)if(c===d)b in L&&(h(L[b],\nfunction(c,g){c!=\"el\"&&g.length>0&&C(a,c,g[0])}),delete L[b],I(a));else if(L[b]){var t=L[b][c];if(t&&t.length>0){g===d?(C(a,c,t[0]),delete L[b][c]):(h(t,function(a,c){a>0&&c===g&&t.splice(a,1)}),t.length==1&&(C(a,c,t[0]),delete L[b][c]));var k=0;h(L[b],function(){k++});k<2&&(delete L[b],I(a))}}}}function qa(a,c){if(c.indexOf(\",\")>=0)h(c.split(\",\"),function(){qa(a,this)});else{var g=a[ma]||null;if(g){var b=L[g][c];if(L[g]&&b&&b.length>0)b[0]()}}}function $(a,c,g){c=/^\\d{2,}$/.test(c)?c:c.toUpperCase().charCodeAt(0);\nE(a,\"keydown\",function(b){b.ctrlKey&&b.which==c&&!b.shiftKey&&!b.altKey&&(g.call(a),b.stop())})}function M(a){for(var c={},g=/\\s*([\\w\\-]+)\\s*:([^;]*)(;|$)/g,b;b=g.exec(a);){var d=m(b[1].toLowerCase());b=m(r(b[2]));c[d]=b}return c}function K(a){for(var c={},g=/\\s+(?:([\\w\\-:]+)|(?:([\\w\\-:]+)=([^\\s\"'<>]+))|(?:([\\w\\-:\"]+)=\"([^\"]*)\")|(?:([\\w\\-:\"]+)='([^']*)'))(?=(?:\\s|\\/|>)+)/g,b;b=g.exec(a);){var d=(b[1]||b[2]||b[4]||b[6]).toLowerCase();c[d]=(b[2]?b[3]:b[4]?b[5]:b[7])||\"\"}return c}function O(a,c){return a=\n/\\s+class\\s*=/.test(a)?a.replace(/(\\s+class=[\"']?)([^\"']*)([\"']?[\\s>])/,function(a,b,d,k){return(\" \"+d+\" \").indexOf(\" \"+c+\" \")<0?d===\"\"?b+c+k:b+d+\" \"+c+k:a}):a.substr(0,a.length-1)+' class=\"'+c+'\">'}function Q(a){var c=\"\";h(M(a),function(a,b){c+=a+\":\"+b+\";\"});return c}function R(a,c,g,b){function t(a){for(var a=a.split(\"/\"),c=[],g=0,b=a.length;g<b;g++){var d=a[g];d==\"..\"?c.length>0&&c.pop():d!==\"\"&&d!=\".\"&&c.push(d)}return\"/\"+c.join(\"/\")}function k(c,g){if(a.substr(0,c.length)===c){for(var d=[],t=\n0;t<g;t++)d.push(\"..\");t=\".\";d.length>0&&(t+=\"/\"+d.join(\"/\"));b==\"/\"&&(t+=\"/\");return t+a.substr(c.length)}else if(i=/^(.*)\\//.exec(c))return k(i[1],++g)}c=q(c,\"\").toLowerCase();a.substr(0,5)!=\"data:\"&&(a=a.replace(/([^:])\\/\\//g,\"$1/\"));if(e(c,[\"absolute\",\"relative\",\"domain\"])<0)return a;g=g||location.protocol+\"//\"+location.host;if(b===d)var w=location.pathname.match(/^(\\/.*)\\//),b=w?w[1]:\"\";var i;if(i=/^(\\w+:\\/\\/[^\\/]*)/.exec(a)){if(i[1]!==g)return a}else if(/^\\w+:/.test(a))return a;/^\\//.test(a)?\na=g+t(a.substr(1)):/^\\w+:\\/\\//.test(a)||(a=g+t(b+\"/\"+a));c===\"relative\"?a=k(g+b,0).substr(2):c===\"absolute\"&&a.substr(0,g.length)===g&&(a=a.substr(g.length));return a}function H(a,c,g,b,d){a==null&&(a=\"\");var g=g||\"\",b=q(b,!1),d=q(d,\"\\t\"),k=\"xx-small,x-small,small,medium,large,x-large,xx-large\".split(\",\"),a=a.replace(/(<(?:pre|pre\\s[^>]*)>)([\\s\\S]*?)(<\\/pre>)/ig,function(a,c,g,b){return c+g.replace(/<(?:br|br\\s[^>]*)>/ig,\"\\n\")+b}),a=a.replace(/<(?:br|br\\s[^>]*)\\s*\\/?>\\s*<\\/p>/ig,\"</p>\"),a=a.replace(/(<(?:p|p\\s[^>]*)>)\\s*(<\\/p>)/ig,\n\"$1<br />$2\"),a=a.replace(/\\u200B/g,\"\"),a=a.replace(/\\u00A9/g,\"&copy;\"),a=a.replace(/\\u00AE/g,\"&reg;\"),a=a.replace(/<[^>]+/g,function(a){return a.replace(/\\s+/g,\" \")}),w={};c&&(h(c,function(a,c){for(var g=a.split(\",\"),b=0,d=g.length;b<d;b++)w[g[b]]=z(c)}),w.script||(a=a.replace(/(<(?:script|script\\s[^>]*)>)([\\s\\S]*?)(<\\/script>)/ig,\"\")),w.style||(a=a.replace(/(<(?:style|style\\s[^>]*)>)([\\s\\S]*?)(<\\/style>)/ig,\"\")));var i=[],a=a.replace(/(\\s*)<(\\/)?([\\w\\-:]+)((?:\\s+|(?:\\s+[\\w\\-:]+)|(?:\\s+[\\w\\-:]+=[^\\s\"'<>]+)|(?:\\s+[\\w\\-:\"]+=\"[^\"]*\")|(?:\\s+[\\w\\-:\"]+='[^']*'))*)(\\/)?>(\\s*)/g,\nfunction(a,f,n,l,o,j,s){var f=f||\"\",n=n||\"\",m=l.toLowerCase(),r=o||\"\",l=j?\" \"+j:\"\",s=s||\"\";if(c&&!w[m])return\"\";l===\"\"&&hb[m]&&(l=\" /\");ib[m]&&(f&&(f=\" \"),s&&(s=\" \"));Ma[m]&&(n?s=\"\\n\":f=\"\\n\");b&&m==\"br\"&&(s=\"\\n\");if(jb[m]&&!Ma[m])if(b){n&&i.length>0&&i[i.length-1]===m?i.pop():i.push(m);s=f=\"\\n\";o=0;for(j=n?i.length:i.length-1;o<j;o++)f+=d,n||(s+=d);l?i.pop():n||(s+=d)}else f=s=\"\";if(r!==\"\"){var p=K(a);if(m===\"font\"){var v={},q=\"\";h(p,function(a,c){if(a===\"color\")v.color=c,delete p[a];a===\"size\"&&\n(v[\"font-size\"]=k[parseInt(c,10)-1]||\"\",delete p[a]);a===\"face\"&&(v[\"font-family\"]=c,delete p[a]);a===\"style\"&&(q=c)});q&&!/;$/.test(q)&&(q+=\";\");h(v,function(a,c){c!==\"\"&&(/\\s/.test(c)&&(c=\"'\"+c+\"'\"),q+=a+\":\"+c+\";\")});p.style=q}h(p,function(a,b){Lb[a]&&(p[a]=a);e(a,[\"src\",\"href\"])>=0&&(p[a]=R(b,g));(c&&a!==\"style\"&&!w[m][\"*\"]&&!w[m][a]||m===\"body\"&&a===\"contenteditable\"||/^kindeditor_\\d+$/.test(a))&&delete p[a];if(a===\"style\"&&b!==\"\"){var d=M(b);h(d,function(a){c&&!w[m].style&&!w[m][\".\"+a]&&delete d[a]});\nvar V=\"\";h(d,function(a,c){V+=a+\":\"+c+\";\"});p.style=V}});r=\"\";h(p,function(a,c){a===\"style\"&&c===\"\"||(c=c.replace(/\"/g,\"&quot;\"),r+=\" \"+a+'=\"'+c+'\"')})}m===\"font\"&&(m=\"span\");return f+\"<\"+n+m+r+l+\">\"+s}),a=a.replace(/(<(?:pre|pre\\s[^>]*)>)([\\s\\S]*?)(<\\/pre>)/ig,function(a,c,g,b){return c+g.replace(/\\n/g,'<span id=\"__kindeditor_pre_newline__\">\\n')+b}),a=a.replace(/\\n\\s*\\n/g,\"\\n\"),a=a.replace(/<span id=\"__kindeditor_pre_newline__\">\\n/g,\"\\n\");return m(a)}function U(a,c){a=a.replace(/<meta[\\s\\S]*?>/ig,\n\"\").replace(/<![\\s\\S]*?>/ig,\"\").replace(/<style[^>]*>[\\s\\S]*?<\\/style>/ig,\"\").replace(/<script[^>]*>[\\s\\S]*?<\\/script>/ig,\"\").replace(/<w:[^>]+>[\\s\\S]*?<\\/w:[^>]+>/ig,\"\").replace(/<o:[^>]+>[\\s\\S]*?<\\/o:[^>]+>/ig,\"\").replace(/<xml>[\\s\\S]*?<\\/xml>/ig,\"\").replace(/<(?:table|td)[^>]*>/ig,function(a){return a.replace(/border-bottom:([#\\w\\s]+)/ig,\"border:$1\")});return H(a,c)}function W(a){if(/\\.(rm|rmvb)(\\?|$)/i.test(a))return\"audio/x-pn-realaudio-plugin\";if(/\\.(swf|flv)(\\?|$)/i.test(a))return\"application/x-shockwave-flash\";\nreturn\"video/x-ms-asf-plugin\"}function S(a){return K(unescape(a))}function Na(a){var c=\"<embed \";h(a,function(a,b){c+=a+'=\"'+b+'\" '});c+=\"/>\";return c}function kb(a,c){var g=c.width,b=c.height,d=c.type||W(c.src),k=Na(c),w=\"\";/\\D/.test(g)?w+=\"width:\"+g+\";\":g>0&&(w+=\"width:\"+g+\"px;\");/\\D/.test(b)?w+=\"height:\"+b+\";\":b>0&&(w+=\"height:\"+b+\"px;\");g=/realaudio/i.test(d)?\"ke-rm\":/flash/i.test(d)?\"ke-flash\":\"ke-media\";g='<img class=\"'+g+'\" src=\"'+a+'\" ';w!==\"\"&&(g+='style=\"'+w+'\" ');g+='data-ke-tag=\"'+escape(k)+\n'\" alt=\"\" />';return g}function Da(a,c){if(a.nodeType==9&&c.nodeType!=9)return!0;for(;c=c.parentNode;)if(c==a)return!0;return!1}function Ea(a,c){var c=c.toLowerCase(),g=null;if(!Mb&&a.nodeName.toLowerCase()!=\"script\"){var b=a.ownerDocument.createElement(\"div\");b.appendChild(a.cloneNode(!1));b=K(v(b.innerHTML));c in b&&(g=b[c])}else try{g=a.getAttribute(c,2)}catch(d){g=a.getAttribute(c,1)}c===\"style\"&&g!==null&&(g=Q(g));return g}function Fa(a,c){function g(a){if(typeof a!=\"string\")return a;return a.replace(/([^\\w\\-])/g,\n\"\\\\$1\")}function b(a,c){return a===\"*\"||a.toLowerCase()===g(c.toLowerCase())}function d(a,c,g){var t=[];(a=(g.ownerDocument||g).getElementById(a.replace(/\\\\/g,\"\")))&&b(c,a.nodeName)&&Da(g,a)&&t.push(a);return t}function k(a,c,g){var d=g.ownerDocument||g,t=[],k,w,i;if(g.getElementsByClassName){d=g.getElementsByClassName(a.replace(/\\\\/g,\"\"));k=0;for(w=d.length;k<w;k++)i=d[k],b(c,i.nodeName)&&t.push(i)}else if(d.querySelectorAll){d=d.querySelectorAll((g.nodeName!==\"#document\"?g.nodeName+\" \":\"\")+c+\".\"+\na);k=0;for(w=d.length;k<w;k++)i=d[k],Da(g,i)&&t.push(i)}else{d=g.getElementsByTagName(c);a=\" \"+a+\" \";k=0;for(w=d.length;k<w;k++)if(i=d[k],i.nodeType==1)(c=i.className)&&(\" \"+c+\" \").indexOf(a)>-1&&t.push(i)}return t}function w(a,c,b,d){for(var t=[],b=d.getElementsByTagName(b),V=0,k=b.length;V<k;V++)d=b[V],d.nodeType==1&&(c===null?Ea(d,a)!==null&&t.push(d):c===g(Ea(d,a))&&t.push(d));return t}function i(a,c){var g=[],e,f=(e=/^((?:\\\\.|[^.#\\s\\[<>])+)/.exec(a))?e[1]:\"*\";if(e=/#((?:[\\w\\-]|\\\\.)+)$/.exec(a))g=\nd(e[1],f,c);else if(e=/\\.((?:[\\w\\-]|\\\\.)+)$/.exec(a))g=k(e[1],f,c);else if(e=/\\[((?:[\\w\\-]|\\\\.)+)\\]/.exec(a))g=w(e[1].toLowerCase(),null,f,c);else if(e=/\\[((?:[\\w\\-]|\\\\.)+)\\s*=\\s*['\"]?((?:\\\\.|[^'\"]+)+)['\"]?\\]/.exec(a)){g=e[1].toLowerCase();e=e[2];if(g===\"id\")f=d(e,f,c);else if(g===\"class\")f=k(e,f,c);else if(g===\"name\"){g=[];e=(c.ownerDocument||c).getElementsByName(e.replace(/\\\\/g,\"\"));for(var Z,h=0,l=e.length;h<l;h++)Z=e[h],b(f,Z.nodeName)&&Da(c,Z)&&Z.getAttribute(\"name\")!==null&&g.push(Z);f=g}else f=\nw(g,e,f,c);g=f}else{f=c.getElementsByTagName(f);Z=0;for(h=f.length;Z<h;Z++)e=f[Z],e.nodeType==1&&g.push(e)}return g}var f=a.split(\",\");if(f.length>1){var n=[];h(f,function(){h(Fa(this,c),function(){e(this,n)<0&&n.push(this)})});return n}for(var c=c||document,f=[],l,o=/((?:\\\\.|[^\\s>])+|[\\s>])/g;l=o.exec(a);)l[1]!==\" \"&&f.push(l[1]);l=[];if(f.length==1)return i(f[0],c);var o=!1,m,s,j,r,p,v,q,B,E,u;v=0;for(lenth=f.length;v<lenth;v++)if(m=f[v],m===\">\")o=!0;else{if(v>0){s=[];q=0;for(E=l.length;q<E;q++){r=\nl[q];j=i(m,r);B=0;for(u=j.length;B<u;B++)p=j[B],o?r===p.parentNode&&s.push(p):s.push(p)}l=s}else l=i(m,c);if(l.length===0)return[]}return l}function ia(a){if(!a)return document;return a.ownerDocument||a.document||a}function ja(a){if(!a)return b;a=ia(a);return a.parentWindow||a.defaultView}function Nb(a,c){if(a.nodeType==1){var g=ia(a);try{a.innerHTML='<img id=\"__kindeditor_temp_tag__\" width=\"0\" height=\"0\" style=\"display:none;\" />'+c;var b=g.getElementById(\"__kindeditor_temp_tag__\");b.parentNode.removeChild(b)}catch(d){i(a).empty(),\ni(\"@\"+c,g).each(function(){a.appendChild(this)})}}}function Oa(a,c,g){F&&N<8&&c.toLowerCase()==\"class\"&&(c=\"className\");a.setAttribute(c,\"\"+g)}function Pa(a){if(!a||!a.nodeName)return\"\";return a.nodeName.toLowerCase()}function Ob(a,c){var g=ja(a),b=p(c),d=\"\";g.getComputedStyle?(g=g.getComputedStyle(a,null),d=g[b]||g.getPropertyValue(c)||a.style[b]):a.currentStyle&&(d=a.currentStyle[b]||a.style[b]);return d}function X(a){a=a||document;return da?a.body:a.documentElement}function na(a){var a=a||document,\nc;F||Pb||Qa?(c=X(a).scrollLeft,a=X(a).scrollTop):(c=ja(a).scrollX,a=ja(a).scrollY);return{x:c,y:a}}function P(a){this.init(a)}function lb(a){a.collapsed=a.startContainer===a.endContainer&&a.startOffset===a.endOffset;return a}function Ra(a,c,g){function b(d,t,V){var k=d.nodeValue.length,i;c&&(i=d.cloneNode(!0),i=t>0?i.splitText(t):i,V<k&&i.splitText(V-t));if(g){var w=d;t>0&&(w=d.splitText(t),a.setStart(d,t));V<k&&(d=w.splitText(V-t),a.setEnd(d,0));e.push(w)}return i}function d(){g&&a.up().collapse(!0);\nfor(var c=0,b=e.length;c<b;c++){var t=e[c];t.parentNode&&t.parentNode.removeChild(t)}}function k(d,t){for(var m=d.firstChild,s;m;){s=(new aa(i)).selectNode(m);h=s.compareBoundaryPoints(ra,a);h>=0&&l<=0&&(l=s.compareBoundaryPoints(sa,a));l>=0&&n<=0&&(n=s.compareBoundaryPoints(oa,a));n>=0&&o<=0&&(o=s.compareBoundaryPoints(ta,a));if(o>=0)return!1;s=m.nextSibling;if(h>0)if(m.nodeType==1)if(l>=0&&n<=0)c&&t.appendChild(m.cloneNode(!0)),g&&e.push(m);else{var j;c&&(j=m.cloneNode(!1),t.appendChild(j));if(k(m,\nj)===!1)return!1}else if(m.nodeType==3&&(m=m==f.startContainer?b(m,f.startOffset,m.nodeValue.length):m==f.endContainer?b(m,0,f.endOffset):b(m,0,m.nodeValue.length),c))try{t.appendChild(m)}catch(r){}m=s}}var i=a.doc,e=[],f=a.cloneRange().down(),h=-1,l=-1,n=-1,o=-1,m=a.commonAncestor(),s=i.createDocumentFragment();if(m.nodeType==3)return m=b(m,a.startOffset,a.endOffset),c&&s.appendChild(m),d(),c?s:a;k(m,s);g&&a.up().collapse(!0);for(var m=0,j=e.length;m<j;m++){var r=e[m];r.parentNode&&r.parentNode.removeChild(r)}return c?\ns:a}function ua(a,c){for(var g=c;g;){var b=i(g);if(b.name==\"marquee\"||b.name==\"select\")return;g=g.parentNode}try{a.moveToElementText(c)}catch(d){}}function mb(a,c){var g=a.parentElement().ownerDocument,b=a.duplicate();b.collapse(c);var d=b.parentElement(),k=d.childNodes;if(k.length===0)return{node:d.parentNode,offset:i(d).index()};var w=g,e=0,f=-1,h=a.duplicate();ua(h,d);for(var l=0,n=k.length;l<n;l++){var o=k[l],f=h.compareEndPoints(\"StartToStart\",b);if(f===0)return{node:o.parentNode,offset:l};if(o.nodeType==\n1){var m=a.duplicate(),s,j=i(o),r=o;j.isControl()&&(s=g.createElement(\"span\"),j.after(s),r=s,e+=j.text().replace(/\\r\\n|\\n|\\r/g,\"\").length);ua(m,r);h.setEndPoint(\"StartToEnd\",m);f>0?e+=m.text.replace(/\\r\\n|\\n|\\r/g,\"\").length:e=0;s&&i(s).remove()}else o.nodeType==3&&(h.moveStart(\"character\",o.nodeValue.length),e+=o.nodeValue.length);f<0&&(w=o)}if(f<0&&w.nodeType==1)return{node:d,offset:i(d.lastChild).index()+1};if(f>0)for(;w.nextSibling&&w.nodeType==1;)w=w.nextSibling;h=a.duplicate();ua(h,d);h.setEndPoint(\"StartToEnd\",\nb);e-=h.text.replace(/\\r\\n|\\n|\\r/g,\"\").length;if(f>0&&w.nodeType==3)for(g=w.previousSibling;g&&g.nodeType==3;)e-=g.nodeValue.length,g=g.previousSibling;return{node:w,offset:e}}function nb(a,c){var g=a.ownerDocument||a,b=g.body.createTextRange();if(g==a)return b.collapse(!0),b;if(a.nodeType==1&&a.childNodes.length>0){var d=a.childNodes,k;c===0?(k=d[0],d=!0):(k=d[c-1],d=!1);if(!k)return b;if(i(k).name===\"head\")return c===1&&(d=!0),c===2&&(d=!1),b.collapse(d),b;if(k.nodeType==1){var w=i(k),e;w.isControl()&&\n(e=g.createElement(\"span\"),d?w.before(e):w.after(e),k=e);ua(b,k);b.collapse(d);e&&i(e).remove();return b}a=k;c=d?0:k.nodeValue.length}g=g.createElement(\"span\");i(a).before(g);ua(b,g);b.moveStart(\"character\",c);i(g).remove();return b}function ob(a){function c(a){if(i(a.node).name==\"tr\")a.node=a.node.cells[a.offset],a.offset=0}var g;if(Y){if(a.item)return g=ia(a.item(0)),g=new aa(g),g.selectNode(a.item(0)),g;g=a.parentElement().ownerDocument;var b=mb(a,!0),a=mb(a,!1);c(b);c(a);g=new aa(g);g.setStart(b.node,\nb.offset);g.setEnd(a.node,a.offset);return g}b=a.startContainer;g=b.ownerDocument||b;g=new aa(g);g.setStart(b,a.startOffset);g.setEnd(a.endContainer,a.endOffset);return g}function aa(a){this.init(a)}function Sa(a){if(!a.nodeName)return a.constructor===aa?a:ob(a);return new aa(a)}function ea(a,c,g){try{a.execCommand(c,!1,g)}catch(b){}}function pb(a,c){var g=\"\";try{g=a.queryCommandValue(c)}catch(b){}typeof g!==\"string\"&&(g=\"\");return g}function Ta(a){var c=ja(a);return Y?a.selection:c.getSelection()}\nfunction qb(a){var c={},g,b;h(a,function(a,d){g=a.split(\",\");for(var i=0,e=g.length;i<e;i++)b=g[i],c[b]=d});return c}function Ua(a,c){return rb(a,c,\"*\")||rb(a,c)}function rb(a,c,g){g=g||a.name;if(a.type!==1)return!1;c=qb(c);if(!c[g])return!1;for(var g=c[g].split(\",\"),c=0,b=g.length;c<b;c++){var d=g[c];if(d===\"*\")return!0;var k=/^(\\.?)([^=]+)(?:=([^=]*))?$/.exec(d),i=k[1]?\"css\":\"attr\",d=k[2],k=k[3]||\"\";if(k===\"\"&&a[i](d)!==\"\")return!0;if(k!==\"\"&&a[i](d)===k)return!0}return!1}function Va(a,c){a.type==\n1&&(sb(a,c,\"*\"),sb(a,c))}function sb(a,c,g){g=g||a.name;if(a.type===1&&(c=qb(c),c[g])){for(var g=c[g].split(\",\"),c=!1,b=0,d=g.length;b<d;b++){var k=g[b];if(k===\"*\"){c=!0;break}var i=/^(\\.?)([^=]+)(?:=([^=]*))?$/.exec(k),k=i[2];i[1]?(k=p(k),a[0].style[k]&&(a[0].style[k]=\"\")):a.removeAttr(k)}c&&a.remove(!0)}}function Wa(a){for(;a.first();)a=a.first();return a}function pa(a){if(a.type!=1||a.isSingle())return!1;return a.html().replace(/<[^>]+>/g,\"\")===\"\"}function Qb(a,c,g){h(c,function(c,g){c!==\"style\"&&\na.attr(c,g)});h(g,function(c,g){a.css(c,g)})}function va(a){this.init(a)}function tb(a){a.nodeName&&(a=ia(a),a=Sa(a).selectNodeContents(a.body).collapse(!1));return new va(a)}function Xa(a){var c=a.moveEl,g=a.moveFn,b=a.clickEl||c,t=a.beforeDrag,k=[document];(a.iframeFix===d||a.iframeFix)&&i(\"iframe\").each(function(){if(!/^https?:\\/\\//.test(R(this.src||\"\",\"absolute\"))){var a;try{a=Ya(this)}catch(c){}if(a){var g=i(this).pos();i(a).data(\"pos-x\",g.x);i(a).data(\"pos-y\",g.y);k.push(a)}}});b.mousedown(function(a){function d(a){a.preventDefault();\nvar c=i(ia(a.target)),t=fa((c.data(\"pos-x\")||0)+a.pageX-j),a=fa((c.data(\"pos-y\")||0)+a.pageY-r);g.call(b,n,o,m,s,t,a)}function e(a){a.preventDefault()}function f(a){a.preventDefault();i(k).unbind(\"mousemove\",d).unbind(\"mouseup\",f).unbind(\"selectstart\",e);h.releaseCapture&&h.releaseCapture()}a.stopPropagation();var h=b.get(),n=l(c.css(\"left\")),o=l(c.css(\"top\")),m=c.width(),s=c.height(),j=a.pageX,r=a.pageY;t&&t();i(k).mousemove(d).mouseup(f).bind(\"selectstart\",e);h.setCapture&&h.setCapture()})}function ga(a){this.init(a)}\nfunction Za(a){return new ga(a)}function Ya(a){a=i(a)[0];return a.contentDocument||a.contentWindow.document}function Rb(a,c,g,b){var d=[$a===\"\"?\"<html>\":'<html dir=\"'+$a+'\">','<head><meta charset=\"utf-8\" /><title></title>',\"<style>\",\"html {margin:0;padding:0;}\",\"body {margin:0;padding:5px;}\",'body, td {font:12px/1.5 \"sans serif\",tahoma,verdana,helvetica;}',\"body, p, div {word-wrap: break-word;}\",\"p {margin:5px 0;}\",\"table {border-collapse:collapse;}\",\"img {border:0;}\",\"noscript {display:none;}\",\"table.ke-zeroborder td {border:1px dotted #AAA;}\",\n\"img.ke-flash {\",\"\\tborder:1px solid #AAA;\",\"\\tbackground-image:url(\"+a+\"common/flash.gif);\",\"\\tbackground-position:center center;\",\"\\tbackground-repeat:no-repeat;\",\"\\twidth:100px;\",\"\\theight:100px;\",\"}\",\"img.ke-rm {\",\"\\tborder:1px solid #AAA;\",\"\\tbackground-image:url(\"+a+\"common/rm.gif);\",\"\\tbackground-position:center center;\",\"\\tbackground-repeat:no-repeat;\",\"\\twidth:100px;\",\"\\theight:100px;\",\"}\",\"img.ke-media {\",\"\\tborder:1px solid #AAA;\",\"\\tbackground-image:url(\"+a+\"common/media.gif);\",\"\\tbackground-position:center center;\",\n\"\\tbackground-repeat:no-repeat;\",\"\\twidth:100px;\",\"\\theight:100px;\",\"}\",\"img.ke-anchor {\",\"\\tborder:1px dashed #666;\",\"\\twidth:16px;\",\"\\theight:16px;\",\"}\",\".ke-script, .ke-noscript, .ke-display-none {\",\"\\tdisplay:none;\",\"\\tfont-size:0;\",\"\\twidth:0;\",\"\\theight:0;\",\"}\",\".ke-pagebreak {\",\"\\tborder:1px dotted #AAA;\",\"\\tfont-size:0;\",\"\\theight:2px;\",\"}\",\"</style>\"];f(g)||(g=[g]);h(g,function(a,c){c&&d.push('<link href=\"'+c+'\" rel=\"stylesheet\" />')});b&&d.push(\"<style>\"+b+\"</style>\");d.push(\"</head><body \"+\n(c?'class=\"'+c+'\"':\"\")+\"></body></html>\");return d.join(\"\\n\")}function wa(a,c){if(a.hasVal()){if(c===d){var g=a.val();return g=g.replace(/(<(?:p|p\\s[^>]*)>) *(<\\/p>)/ig,\"\")}return a.val(c)}return a.html(c)}function xa(a){this.init(a)}function ub(a){return new xa(a)}function vb(a,c){var g=this.get(a);g&&!g.hasClass(\"ke-disabled\")&&c(g)}function Ga(a){this.init(a)}function wb(a){return new Ga(a)}function ya(a){this.init(a)}function ab(a){return new ya(a)}function za(a){this.init(a)}function xb(a){return new za(a)}\nfunction bb(a){this.init(a)}function Aa(a){this.init(a)}function yb(a){return new Aa(a)}function cb(a,c){var g=document.getElementsByTagName(\"head\")[0]||(da?document.body:document.documentElement),b=document.createElement(\"script\");g.appendChild(b);b.src=a;b.charset=\"utf-8\";b.onload=b.onreadystatechange=function(){if(!this.readyState||this.readyState===\"loaded\")c&&c(),b.onload=b.onreadystatechange=null,g.removeChild(b)}}function zb(a){var c=a.indexOf(\"?\");return c>0?a.substr(0,c):a}function db(a){for(var c=\ndocument.getElementsByTagName(\"head\")[0]||(da?document.body:document.documentElement),g=document.createElement(\"link\"),b=zb(R(a,\"absolute\")),d=i('link[rel=\"stylesheet\"]',c),k=0,w=d.length;k<w;k++)if(zb(R(d[k].href,\"absolute\"))===b)return;c.appendChild(g);g.href=a;g.rel=\"stylesheet\"}function Ab(a,c){if(a===d)return ba;if(!c)return ba[a];ba[a]=c}function Bb(a){var c,g=\"core\";if(c=/^(\\w+)\\.(\\w+)$/.exec(a))g=c[1],a=c[2];return{ns:g,key:a}}function Cb(a,c){c=c===d?i.options.langType:c;if(typeof a===\"string\"){if(!ca[c])return\"no language\";\nvar g=a.length-1;if(a.substr(g)===\".\")return ca[c][a.substr(0,g)];g=Bb(a);return ca[c][g.ns][g.key]}h(a,function(a,g){var b=Bb(a);ca[c]||(ca[c]={});ca[c][b.ns]||(ca[c][b.ns]={});ca[c][b.ns][b.key]=g})}function Ha(a,c){if(!a.collapsed){var a=a.cloneRange().up(),g=a.startContainer,b=a.startOffset;if(ka||a.isControl())if((g=i(g.childNodes[b]))&&g.name==\"img\"&&c(g))return g}}function Sb(){var a=this;i(a.edit.doc).contextmenu(function(c){a.menu&&a.hideMenu();if(a.useContextmenu){if(a._contextmenus.length!==\n0){var g=0,b=[];for(h(a._contextmenus,function(){if(this.title==\"-\")b.push(this);else if(this.cond&&this.cond()&&(b.push(this),this.width&&this.width>g))g=this.width});b.length>0&&b[0].title==\"-\";)b.shift();for(;b.length>0&&b[b.length-1].title==\"-\";)b.pop();var d=null;h(b,function(a){this.title==\"-\"&&d.title==\"-\"&&delete b[a];d=this});if(b.length>0){c.preventDefault();var k=i(a.edit.iframe).pos(),w=ab({x:k.x+c.clientX,y:k.y+c.clientY,width:g,css:{visibility:\"hidden\"},shadowMode:a.shadowMode});h(b,\nfunction(){this.title&&w.addItem(this)});var k=X(w.doc),e=w.div.height();c.clientY+e>=k.clientHeight-100&&w.pos(w.x,l(w.y)-e);w.div.css(\"visibility\",\"visible\");a.menu=w}}}else c.preventDefault()})}function Tb(){function a(a){for(a=i(a.commonAncestor());a;){if(a.type==1&&!a.isStyle())break;a=a.parent()}return a.name}var c=this,g=c.edit.doc,b=c.newlineTag;if(!(F&&b!==\"br\")&&(!la||!(N<3&&b!==\"p\"))&&!(Qa&&N<9)){var d=z(\"h1,h2,h3,h4,h5,h6,pre,li\"),k=z(\"p,h1,h2,h3,h4,h5,h6,pre,li,blockquote\");i(g).keydown(function(i){if(!(i.which!=\n13||i.shiftKey||i.ctrlKey||i.altKey)){c.cmd.selection();var e=a(c.cmd.range);e==\"marquee\"||e==\"select\"||(b===\"br\"&&!d[e]?(i.preventDefault(),c.insertHtml(\"<br />\"+(F&&N<9?\"\":\"\\u200b\"))):k[e]||ea(g,\"formatblock\",\"<p>\"))}});i(g).keyup(function(d){if(!(d.which!=13||d.shiftKey||d.ctrlKey||d.altKey)&&b!=\"br\")if(la){var d=c.cmd.commonAncestor(\"p\"),t=c.cmd.commonAncestor(\"a\");t&&t.text()==\"\"&&(t.remove(!0),c.cmd.range.selectNodeContents(d[0]).collapse(!0),c.cmd.select())}else if(c.cmd.selection(),d=a(c.cmd.range),\n!(d==\"marquee\"||d==\"select\"))if(k[d]||ea(g,\"formatblock\",\"<p>\"),d=c.cmd.commonAncestor(\"div\")){for(var t=i(\"<p></p>\"),e=d[0].firstChild;e;){var f=e.nextSibling;t.append(e);e=f}d.before(t);d.remove();c.cmd.range.selectNodeContents(t[0]);c.cmd.select()}})}}function Ub(){var a=this,c=a.edit.doc;i(c).keydown(function(g){if(g.which==9)if(g.preventDefault(),a.afterTab)a.afterTab.call(a,g);else{var g=a.cmd,b=g.range;b.shrink();b.collapsed&&b.startContainer.nodeType==1&&(b.insertNode(i(\"@&nbsp;\",c)[0]),g.select());\na.insertHtml(\"&nbsp;&nbsp;&nbsp;&nbsp;\")}})}function Vb(){var a=this;i(a.edit.textarea[0],a.edit.win).focus(function(c){a.afterFocus&&a.afterFocus.call(a,c)}).blur(function(c){a.afterBlur&&a.afterBlur.call(a,c)})}function ha(a){return m(a.replace(/<span [^>]*id=\"?__kindeditor_bookmark_\\w+_\\d+__\"?[^>]*><\\/span>/ig,\"\"))}function Ia(a){return a.replace(/<div[^>]+class=\"?__kindeditor_paste__\"?[^>]*>[\\s\\S]*?<\\/div>/ig,\"\")}function Db(a,c){if(a.length===0)a.push(c);else{var g=a[a.length-1];ha(c.html)!==\nha(g.html)&&a.push(c)}}function Eb(a,c){var g=this.edit,b=g.doc.body,d,k;if(a.length===0)return this;g.designMode?(d=this.cmd.range,k=d.createBookmark(!0),k.html=b.innerHTML):k={html:b.innerHTML};Db(c,k);var e=a.pop();ha(k.html)===ha(e.html)&&a.length>0&&(e=a.pop());g.designMode?(g.html(e.html),e.start&&(d.moveToBookmark(e),this.select())):i(b).html(ha(e.html));return this}function Ba(a){function c(a,c){Ba.prototype[a]===d&&(g[a]=c);g.options[a]=c}var g=this;g.options={};h(a,function(g){c(g,a[g])});\nh(i.options,function(a,b){g[a]===d&&c(a,b)});var b=i(g.srcElement||\"<textarea/>\");if(!g.width)g.width=b[0].style.width||b.width();if(!g.height)g.height=b[0].style.height||b.height();c(\"width\",q(g.width,g.minWidth));c(\"height\",q(g.height,g.minHeight));c(\"width\",o(g.width));c(\"height\",o(g.height));if(Wb&&(!Xb||N<534))g.designMode=!1;g.srcElement=b;g.initContent=\"\";g.plugin={};g.isCreated=!1;g._handlers={};g._contextmenus=[];g._undoStack=[];g._redoStack=[];g._firstAddBookmark=!0;g.menu=g.contextmenu=\nnull;g.dialogs=[]}function Fb(a,c){function g(a){h(ba,function(c,g){j(g)&&g.call(a,KindEditor)});return a.create()}c=c||{};c.basePath=q(c.basePath,i.basePath);c.themesPath=q(c.themesPath,c.basePath+\"themes/\");c.langPath=q(c.langPath,c.basePath+\"lang/\");c.pluginsPath=q(c.pluginsPath,c.basePath+\"plugins/\");if(q(c.loadStyleMode,i.options.loadStyleMode)){var b=q(c.themeType,i.options.themeType);db(c.themesPath+\"default/default.css\");db(c.themesPath+b+\"/\"+b+\".css\")}if((b=i(a))&&b.length!==0){if(b.length>\n1)return b.each(function(){Fb(this,c)}),_instances[0];c.srcElement=b[0];var d=new Ba(c);_instances.push(d);if(ca[d.langType])return g(d);cb(d.langPath+d.langType+\".js?ver=\"+encodeURIComponent(i.DEBUG?Ja:Ka),function(){g(d)});return d}}function Ca(a,c){i(a).each(function(a,b){i.each(_instances,function(a,g){if(g&&g.srcElement[0]==b)return c.call(g,a),!1})})}if(!b.KindEditor){if(!b.console)b.console={};if(!console.log)console.log=function(){};var Ka=\"4.1.10 (2013-11-23)\",J=navigator.userAgent.toLowerCase(),\nF=J.indexOf(\"msie\")>-1&&J.indexOf(\"opera\")==-1,Pb=J.indexOf(\"msie\")==-1&&J.indexOf(\"trident\")>-1,la=J.indexOf(\"gecko\")>-1&&J.indexOf(\"khtml\")==-1,ka=J.indexOf(\"applewebkit\")>-1,Qa=J.indexOf(\"opera\")>-1,Wb=J.indexOf(\"mobile\")>-1,Xb=/ipad|iphone|ipod/.test(J),da=document.compatMode!=\"CSS1Compat\",Y=!b.getSelection,N=(J=/(?:msie|firefox|webkit|opera)[\\/:\\s](\\d+)/.exec(J))?J[1]:\"0\",Ja=(new Date).getTime(),fa=Math.round,i={DEBUG:!1,VERSION:Ka,IE:F,GECKO:la,WEBKIT:ka,OPERA:Qa,V:N,TIME:Ja,each:h,isArray:f,\nisFunction:j,inArray:e,inString:n,trim:m,addUnit:o,removeUnit:l,escape:s,unescape:v,toCamel:p,toHex:r,toMap:z,toArray:D,undef:q,invalidUrl:function(a){return!a||/[<>\"]/.test(a)},addParam:function(a,c){return a.indexOf(\"?\")>=0?a+\"&\"+c:a+\"?\"+c},extend:A,json:B},ib=z(\"a,abbr,acronym,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,img,input,ins,kbd,label,map,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var\"),jb=z(\"address,applet,blockquote,body,center,dd,dir,div,dl,dt,fieldset,form,frameset,h1,h2,h3,h4,h5,h6,head,hr,html,iframe,ins,isindex,li,map,menu,meta,noframes,noscript,object,ol,p,pre,script,style,table,tbody,td,tfoot,th,thead,title,tr,ul\"),\nhb=z(\"area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed\"),Gb=z(\"b,basefont,big,del,em,font,i,s,small,span,strike,strong,sub,sup,u\"),Yb=z(\"img,table,input,textarea,button\"),Ma=z(\"pre,style,script\"),La=z(\"html,head,body,td,tr,table,ol,ul,li\");z(\"colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr\");var Lb=z(\"checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected\"),Hb=z(\"input,button,textarea,select\");i.basePath=function(){for(var a=\ndocument.getElementsByTagName(\"script\"),c,g=0,b=a.length;g<b;g++)if(c=a[g].src||\"\",/kindeditor[\\w\\-\\.]*\\.js/.test(c))return c.substring(0,c.lastIndexOf(\"/\")+1);return\"\"}();i.options={designMode:!0,fullscreenMode:!1,filterMode:!0,wellFormatMode:!0,shadowMode:!0,loadStyleMode:!0,basePath:i.basePath,themesPath:i.basePath+\"themes/\",langPath:i.basePath+\"lang/\",pluginsPath:i.basePath+\"plugins/\",themeType:\"default\",langType:\"zh_CN\",urlType:\"\",newlineTag:\"p\",resizeType:2,syncType:\"form\",pasteType:2,dialogAlignType:\"page\",\nuseContextmenu:!0,fullscreenShortcut:!1,bodyClass:\"ke-content\",indentChar:\"\\t\",cssPath:\"\",cssData:\"\",minWidth:650,minHeight:100,minChangeSize:50,zIndex:811213,items:[\"source\",\"|\",\"undo\",\"redo\",\"|\",\"preview\",\"print\",\"template\",\"code\",\"cut\",\"copy\",\"paste\",\"plainpaste\",\"wordpaste\",\"|\",\"justifyleft\",\"justifycenter\",\"justifyright\",\"justifyfull\",\"insertorderedlist\",\"insertunorderedlist\",\"indent\",\"outdent\",\"subscript\",\"superscript\",\"clearhtml\",\"quickformat\",\"selectall\",\"|\",\"fullscreen\",\"/\",\"formatblock\",\n\"fontname\",\"fontsize\",\"|\",\"forecolor\",\"hilitecolor\",\"bold\",\"italic\",\"underline\",\"strikethrough\",\"lineheight\",\"removeformat\",\"|\",\"image\",\"multiimage\",\"flash\",\"media\",\"insertfile\",\"table\",\"hr\",\"emoticons\",\"baidumap\",\"pagebreak\",\"anchor\",\"link\",\"unlink\",\"|\",\"about\"],noDisableItems:[\"source\",\"fullscreen\"],colorTable:[[\"#E53333\",\"#E56600\",\"#FF9900\",\"#64451D\",\"#DFC5A4\",\"#FFE500\"],[\"#009900\",\"#006600\",\"#99BB00\",\"#B8D100\",\"#60D978\",\"#00D5FF\"],[\"#337FE5\",\"#003399\",\"#4C33E5\",\"#9933E5\",\"#CC33E5\",\"#EE33EE\"],\n[\"#FFFFFF\",\"#CCCCCC\",\"#999999\",\"#666666\",\"#333333\",\"#000000\"]],fontSizeTable:[\"9px\",\"10px\",\"12px\",\"14px\",\"16px\",\"18px\",\"24px\",\"32px\"],htmlTags:{font:[\"id\",\"class\",\"color\",\"size\",\"face\",\".background-color\"],span:[\"id\",\"class\",\".color\",\".background-color\",\".font-size\",\".font-family\",\".background\",\".font-weight\",\".font-style\",\".text-decoration\",\".vertical-align\",\".line-height\"],div:[\"id\",\"class\",\"align\",\".border\",\".margin\",\".padding\",\".text-align\",\".color\",\".background-color\",\".font-size\",\".font-family\",\n\".font-weight\",\".background\",\".font-style\",\".text-decoration\",\".vertical-align\",\".margin-left\"],table:[\"id\",\"class\",\"border\",\"cellspacing\",\"cellpadding\",\"width\",\"height\",\"align\",\"bordercolor\",\".padding\",\".margin\",\".border\",\"bgcolor\",\".text-align\",\".color\",\".background-color\",\".font-size\",\".font-family\",\".font-weight\",\".font-style\",\".text-decoration\",\".background\",\".width\",\".height\",\".border-collapse\"],\"td,th\":[\"id\",\"class\",\"align\",\"valign\",\"width\",\"height\",\"colspan\",\"rowspan\",\"bgcolor\",\".text-align\",\n\".color\",\".background-color\",\".font-size\",\".font-family\",\".font-weight\",\".font-style\",\".text-decoration\",\".vertical-align\",\".background\",\".border\"],a:[\"id\",\"class\",\"href\",\"target\",\"name\"],embed:[\"id\",\"class\",\"src\",\"width\",\"height\",\"type\",\"loop\",\"autostart\",\"quality\",\".width\",\".height\",\"align\",\"allowscriptaccess\"],img:[\"id\",\"class\",\"src\",\"width\",\"height\",\"border\",\"alt\",\"title\",\"align\",\".width\",\".height\",\".border\"],\"p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6\":[\"id\",\"class\",\"align\",\".text-align\",\".color\",\n\".background-color\",\".font-size\",\".font-family\",\".background\",\".font-weight\",\".font-style\",\".text-decoration\",\".vertical-align\",\".text-indent\",\".margin-left\"],pre:[\"id\",\"class\"],hr:[\"id\",\"class\",\".page-break-after\"],\"br,tbody,tr,strong,b,sub,sup,em,i,u,strike,s,del\":[\"id\",\"class\"],iframe:[\"id\",\"class\",\"src\",\"frameborder\",\"width\",\"height\",\".width\",\".height\"]},layout:'<div class=\"container\"><div class=\"toolbar\"></div><div class=\"edit\"></div><div class=\"statusbar\"></div></div>'};var fb=!1,Ib=z(\"8,9,13,32,46,48..57,59,61,65..90,106,109..111,188,190..192,219..222\"),\nJ=z(\"33..40\"),eb={};h(Ib,function(a,c){eb[a]=c});h(J,function(a,c){eb[a]=c});var Zb=\"altKey,attrChange,attrName,bubbles,button,cancelable,charCode,clientX,clientY,ctrlKey,currentTarget,data,detail,eventPhase,fromElement,handler,keyCode,metaKey,newValue,offsetX,offsetY,originalTarget,pageX,pageY,prevValue,relatedNode,relatedTarget,screenX,screenY,shiftKey,srcElement,target,toElement,view,wheelDelta,which\".split(\",\");A(u,{init:function(a,c){var g=this,b=a.ownerDocument||a.document||a;g.event=c;h(Zb,\nfunction(a,b){g[b]=c[b]});if(!g.target)g.target=g.srcElement||b;if(g.target.nodeType===3)g.target=g.target.parentNode;if(!g.relatedTarget&&g.fromElement)g.relatedTarget=g.fromElement===g.target?g.toElement:g.fromElement;if(g.pageX==null&&g.clientX!=null){var t=b.documentElement,b=b.body;g.pageX=g.clientX+(t&&t.scrollLeft||b&&b.scrollLeft||0)-(t&&t.clientLeft||b&&b.clientLeft||0);g.pageY=g.clientY+(t&&t.scrollTop||b&&b.scrollTop||0)-(t&&t.clientTop||b&&b.clientTop||0)}if(!g.which&&(g.charCode||g.charCode===\n0?g.charCode:g.keyCode))g.which=g.charCode||g.keyCode;if(!g.metaKey&&g.ctrlKey)g.metaKey=g.ctrlKey;if(!g.which&&g.button!==d)g.which=g.button&1?1:g.button&2?3:g.button&4?2:0;switch(g.which){case 186:g.which=59;break;case 187:case 107:case 43:g.which=61;break;case 189:case 45:g.which=109;break;case 42:g.which=106;break;case 47:g.which=111;break;case 78:g.which=110}g.which>=96&&g.which<=105&&(g.which-=48)},preventDefault:function(){var a=this.event;a.preventDefault?a.preventDefault():a.returnValue=\n!1},stopPropagation:function(){var a=this.event;a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},stop:function(){this.preventDefault();this.stopPropagation()}});var ma=\"kindeditor_\"+Ja,gb=0,L={},Jb=!1;F&&b.attachEvent(\"onunload\",function(){h(L,function(a,c){c.el&&T(c.el)})});i.ctrl=$;i.ready=function(a){function c(){t||(t=!0,a(KindEditor),Jb=!0)}function g(){if(!t){try{document.documentElement.doScroll(\"left\")}catch(a){setTimeout(g,100);return}c()}}function d(){document.readyState===\"complete\"&&\nc()}if(Jb)a(KindEditor);else{var t=!1;if(document.addEventListener)E(document,\"DOMContentLoaded\",c);else if(document.attachEvent){E(document,\"readystatechange\",d);var k=!1;try{k=b.frameElement==null}catch(i){}document.documentElement.doScroll&&k&&g()}E(b,\"load\",c)}};i.formatUrl=R;i.formatHtml=H;i.getCssList=M;i.getAttrList=K;i.mediaType=W;i.mediaAttrs=S;i.mediaEmbed=Na;i.mediaImg=kb;i.clearMsWord=U;i.tmpl=function(a,c){var g=new Function(\"obj\",\"var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('\"+\na.replace(/[\\r\\t\\n]/g,\" \").split(\"<%\").join(\"\\t\").replace(/((^|%>)[^\\t]*)'/g,\"$1\\r\").replace(/\\t=(.*?)%>/g,\"',$1,'\").split(\"\\t\").join(\"');\").split(\"%>\").join(\"p.push('\").split(\"\\r\").join(\"\\\\'\")+\"');}return p.join('');\");return c?g(c):g};J=document.createElement(\"div\");J.setAttribute(\"className\",\"t\");var Mb=J.className!==\"t\";i.query=function(a,c){var g=Fa(a,c);return g.length>0?g[0]:null};i.queryAll=Fa;A(P,{init:function(a){for(var a=f(a)?a:[a],c=0,g=0,b=a.length;g<b;g++)a[g]&&(this[g]=a[g].constructor===\nP?a[g][0]:a[g],c++);this.length=c;this.doc=ia(this[0]);this.name=Pa(this[0]);this.type=this.length>0?this[0].nodeType:null;this.win=ja(this[0])},each:function(a){for(var c=0;c<this.length;c++)if(a.call(this[c],c,this[c])===!1)break;return this},bind:function(a,c){this.each(function(){E(this,a,c)});return this},unbind:function(a,c){this.each(function(){T(this,a,c)});return this},fire:function(a){if(this.length<1)return this;qa(this[0],a);return this},hasAttr:function(a){if(this.length<1)return!1;return!!Ea(this[0],\na)},attr:function(a,c){var g=this;if(a===d)return K(g.outer());if(typeof a===\"object\")return h(a,function(a,c){g.attr(a,c)}),g;if(c===d)return c=g.length<1?null:Ea(g[0],a),c===null?\"\":c;g.each(function(){Oa(this,a,c)});return g},removeAttr:function(a){this.each(function(){var c=a;F&&N<8&&c.toLowerCase()==\"class\"&&(c=\"className\");Oa(this,c,\"\");this.removeAttribute(c)});return this},get:function(a){if(this.length<1)return null;return this[a||0]},eq:function(a){if(this.length<1)return null;return this[a]?\nnew P(this[a]):null},hasClass:function(a){if(this.length<1)return!1;return n(a,this[0].className,\" \")},addClass:function(a){this.each(function(){if(!n(a,this.className,\" \"))this.className=m(this.className+\" \"+a)});return this},removeClass:function(a){this.each(function(){if(n(a,this.className,\" \"))this.className=m(this.className.replace(RegExp(\"(^|\\\\s)\"+a+\"(\\\\s|$)\"),\" \"))});return this},html:function(a){if(a===d){if(this.length<1||this.type!=1)return\"\";return H(this[0].innerHTML)}this.each(function(){Nb(this,\na)});return this},text:function(){if(this.length<1)return\"\";return F?this[0].innerText:this[0].textContent},hasVal:function(){if(this.length<1)return!1;return!!Hb[Pa(this[0])]},val:function(a){if(a===d){if(this.length<1)return\"\";return this.hasVal()?this[0].value:this.attr(\"value\")}else return this.each(function(){Hb[Pa(this)]?this.value=a:Oa(this,\"value\",a)}),this},css:function(a,c){var g=this;if(a===d)return M(g.attr(\"style\"));if(typeof a===\"object\")return h(a,function(a,c){g.css(a,c)}),g;if(c===\nd){if(g.length<1)return\"\";return g[0].style[p(a)]||Ob(g[0],a)||\"\"}g.each(function(){this.style[p(a)]=c});return g},width:function(a){if(a===d){if(this.length<1)return 0;return this[0].offsetWidth}return this.css(\"width\",o(a))},height:function(a){if(a===d){if(this.length<1)return 0;return this[0].offsetHeight}return this.css(\"height\",o(a))},opacity:function(a){this.each(function(){this.style.opacity===d?this.style.filter=a==1?\"\":\"alpha(opacity=\"+a*100+\")\":this.style.opacity=a==1?\"\":a});return this},\ndata:function(a,c){a=\"kindeditor_data_\"+a;if(c===d){if(this.length<1)return null;return this[0][a]}this.each(function(){this[a]=c});return this},pos:function(){var a=this[0],c=0,g=0;if(a)if(a.getBoundingClientRect)a=a.getBoundingClientRect(),g=na(this.doc),c=a.left+g.x,g=a.top+g.y;else for(;a;)c+=a.offsetLeft,g+=a.offsetTop,a=a.offsetParent;return{x:fa(c),y:fa(g)}},clone:function(a){if(this.length<1)return new P([]);return new P(this[0].cloneNode(a))},append:function(a){this.each(function(){this.appendChild&&\nthis.appendChild(i(a)[0])});return this},appendTo:function(a){this.each(function(){i(a)[0].appendChild(this)});return this},before:function(a){this.each(function(){this.parentNode.insertBefore(i(a)[0],this)});return this},after:function(a){this.each(function(){this.nextSibling?this.parentNode.insertBefore(i(a)[0],this.nextSibling):this.parentNode.appendChild(i(a)[0])});return this},replaceWith:function(a){var c=[];this.each(function(g,b){T(b);var d=i(a)[0];b.parentNode.replaceChild(d,b);c.push(d)});\nreturn i(c)},empty:function(){this.each(function(a,c){for(var b=c.firstChild;b;){if(!c.parentNode)break;var d=b.nextSibling;b.parentNode.removeChild(b);b=d}});return this},remove:function(a){var c=this;c.each(function(b,d){if(d.parentNode){T(d);if(a)for(var i=d.firstChild;i;){var k=i.nextSibling;d.parentNode.insertBefore(i,d);i=k}d.parentNode.removeChild(d);delete c[b]}});c.length=0;return c},show:function(a){a===d&&(a=this._originDisplay||\"\");if(this.css(\"display\")!=\"none\")return this;return this.css(\"display\",\na)},hide:function(){if(this.length<1)return this;this._originDisplay=this[0].style.display;return this.css(\"display\",\"none\")},outer:function(){if(this.length<1)return\"\";var a=this.doc.createElement(\"div\");a.appendChild(this[0].cloneNode(!0));return H(a.innerHTML)},isSingle:function(){return!!hb[this.name]},isInline:function(){return!!ib[this.name]},isBlock:function(){return!!jb[this.name]},isStyle:function(){return!!Gb[this.name]},isControl:function(){return!!Yb[this.name]},contains:function(a){if(this.length<\n1)return!1;return Da(this[0],i(a)[0])},parent:function(){if(this.length<1)return null;var a=this[0].parentNode;return a?new P(a):null},children:function(){if(this.length<1)return new P([]);for(var a=[],c=this[0].firstChild;c;)(c.nodeType!=3||m(c.nodeValue)!==\"\")&&a.push(c),c=c.nextSibling;return new P(a)},first:function(){var a=this.children();return a.length>0?a.eq(0):null},last:function(){var a=this.children();return a.length>0?a.eq(a.length-1):null},index:function(){if(this.length<1)return-1;for(var a=\n-1,c=this[0];c;)a++,c=c.previousSibling;return a},prev:function(){if(this.length<1)return null;var a=this[0].previousSibling;return a?new P(a):null},next:function(){if(this.length<1)return null;var a=this[0].nextSibling;return a?new P(a):null},scan:function(a,c){function b(d){for(d=c?d.firstChild:d.lastChild;d;){var i=c?d.nextSibling:d.previousSibling;if(a(d)===!1)return!1;if(b(d)===!1)return!1;d=i}}if(!(this.length<1))return c=c===d?!0:c,b(this[0]),this}});h(\"blur,focus,focusin,focusout,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error,contextmenu\".split(\",\"),\nfunction(a,c){P.prototype[c]=function(a){return a?this.bind(c,a):this.fire(c)}});J=i;i=function(a,c){function b(a){a[0]||(a=[]);return new P(a)}if(!(a===d||a===null)){if(typeof a===\"string\"){c&&(c=i(c)[0]);var e=a.length;a.charAt(0)===\"@\"&&(a=a.substr(1));if(a.length!==e||/<.+>/.test(a)){var e=(c?c.ownerDocument||c:document).createElement(\"div\"),t=[];e.innerHTML='<img id=\"__kindeditor_temp_tag__\" width=\"0\" height=\"0\" style=\"display:none;\" />'+a;for(var k=0,w=e.childNodes.length;k<w;k++){var h=e.childNodes[k];\nh.id!=\"__kindeditor_temp_tag__\"&&t.push(h)}return b(t)}return b(Fa(a,c))}if(a&&a.constructor===P)return a;a.toArray&&(a=a.toArray());if(f(a))return b(a);return b(D(arguments))}};h(J,function(a,c){i[a]=c});i.NodeClass=P;b.KindEditor=i;var sa=0,ra=1,oa=2,ta=3,Kb=0;A(aa,{init:function(a){this.startContainer=a;this.startOffset=0;this.endContainer=a;this.endOffset=0;this.collapsed=!0;this.doc=a},commonAncestor:function(){function a(a){for(var c=[];a;)c.push(a),a=a.parentNode;return c}for(var c=a(this.startContainer),\nb=a(this.endContainer),d=0,i=c.length,k=b.length,e,f;++d;)if(e=c[i-d],f=b[k-d],!e||!f||e!==f)break;return c[i-d+1]},setStart:function(a,c){var b=this.doc;this.startContainer=a;this.startOffset=c;if(this.endContainer===b)this.endContainer=a,this.endOffset=c;return lb(this)},setEnd:function(a,c){var b=this.doc;this.endContainer=a;this.endOffset=c;if(this.startContainer===b)this.startContainer=a,this.startOffset=c;return lb(this)},setStartBefore:function(a){return this.setStart(a.parentNode||this.doc,\ni(a).index())},setStartAfter:function(a){return this.setStart(a.parentNode||this.doc,i(a).index()+1)},setEndBefore:function(a){return this.setEnd(a.parentNode||this.doc,i(a).index())},setEndAfter:function(a){return this.setEnd(a.parentNode||this.doc,i(a).index()+1)},selectNode:function(a){return this.setStartBefore(a).setEndAfter(a)},selectNodeContents:function(a){var c=i(a);if(c.type==3||c.isSingle())return this.selectNode(a);c=c.children();if(c.length>0)return this.setStartBefore(c[0]).setEndAfter(c[c.length-\n1]);return this.setStart(a,0).setEnd(a,0)},collapse:function(a){if(a)return this.setEnd(this.startContainer,this.startOffset);return this.setStart(this.endContainer,this.endOffset)},compareBoundaryPoints:function(a,c){var b=this.get(),d=c.get();if(Y){var t={};t[sa]=\"StartToStart\";t[ra]=\"EndToStart\";t[oa]=\"EndToEnd\";t[ta]=\"StartToEnd\";b=b.compareEndPoints(t[a],d);if(b!==0)return b;var k,e,f,h;if(a===sa||a===ta)k=this.startContainer,f=this.startOffset;if(a===ra||a===oa)k=this.endContainer,f=this.endOffset;\nif(a===sa||a===ra)e=c.startContainer,h=c.startOffset;if(a===oa||a===ta)e=c.endContainer,h=c.endOffset;if(k===e)return k=f-h,k>0?1:k<0?-1:0;for(b=e;b&&b.parentNode!==k;)b=b.parentNode;if(b)return i(b).index()>=f?-1:1;for(b=k;b&&b.parentNode!==e;)b=b.parentNode;if(b)return i(b).index()>=h?1:-1;if((b=i(e).next())&&b.contains(k))return 1;if((b=i(k).next())&&b.contains(e))return-1}else return b.compareBoundaryPoints(a,d)},cloneRange:function(){return(new aa(this.doc)).setStart(this.startContainer,this.startOffset).setEnd(this.endContainer,\nthis.endOffset)},toString:function(){var a=this.get();return(Y?a.text:a.toString()).replace(/\\r\\n|\\n|\\r/g,\"\")},cloneContents:function(){return Ra(this,!0,!1)},deleteContents:function(){return Ra(this,!1,!0)},extractContents:function(){return Ra(this,!0,!0)},insertNode:function(a){var c=this.startContainer,b=this.startOffset,d=this.endContainer,i=this.endOffset,k,e,f,h=1;if(a.nodeName.toLowerCase()===\"#document-fragment\")k=a.firstChild,e=a.lastChild,h=a.childNodes.length;c.nodeType==1?(f=c.childNodes[b])?\n(c.insertBefore(a,f),c===d&&(i+=h)):c.appendChild(a):c.nodeType==3&&(b===0?(c.parentNode.insertBefore(a,c),c.parentNode===d&&(i+=h)):b>=c.nodeValue.length?c.nextSibling?c.parentNode.insertBefore(a,c.nextSibling):c.parentNode.appendChild(a):(f=b>0?c.splitText(b):c,c.parentNode.insertBefore(a,f),c===d&&(d=f,i-=b)));k?this.setStartBefore(k).setEndAfter(e):this.selectNode(a);if(this.compareBoundaryPoints(oa,this.cloneRange().setEnd(d,i))>=1)return this;return this.setEnd(d,i)},surroundContents:function(a){a.appendChild(this.extractContents());\nreturn this.insertNode(a).selectNode(a)},isControl:function(){var a=this.startContainer,c=this.startOffset,b=this.endContainer,d=this.endOffset;return a.nodeType==1&&a===b&&c+1===d&&i(a.childNodes[c]).isControl()},get:function(a){var c=this.doc;if(!Y){c=c.createRange();try{c.setStart(this.startContainer,this.startOffset),c.setEnd(this.endContainer,this.endOffset)}catch(b){}return c}if(a&&this.isControl())return c=c.body.createControlRange(),c.addElement(this.startContainer.childNodes[this.startOffset]),\nc;a=this.cloneRange().down();c=c.body.createTextRange();c.setEndPoint(\"StartToStart\",nb(a.startContainer,a.startOffset));c.setEndPoint(\"EndToStart\",nb(a.endContainer,a.endOffset));return c},html:function(){return i(this.cloneContents()).outer()},down:function(){function a(a,b,d){if(a.nodeType==1&&(a=i(a).children(),a.length!==0)){var k,e,f,h;b>0&&(k=a.eq(b-1));b<a.length&&(e=a.eq(b));if(k&&k.type==3)f=k[0],h=f.nodeValue.length;e&&e.type==3&&(f=e[0],h=0);f&&(d?c.setStart(f,h):c.setEnd(f,h))}}var c=\nthis;a(c.startContainer,c.startOffset,!0);a(c.endContainer,c.endOffset,!1);return c},up:function(){function a(a,b,d){a.nodeType==3&&(b===0?d?c.setStartBefore(a):c.setEndBefore(a):b==a.nodeValue.length&&(d?c.setStartAfter(a):c.setEndAfter(a)))}var c=this;a(c.startContainer,c.startOffset,!0);a(c.endContainer,c.endOffset,!1);return c},enlarge:function(a){function c(c,d,k){c=i(c);if(!(c.type==3||La[c.name]||!a&&c.isBlock()))if(d===0){for(;!c.prev();){d=c.parent();if(!d||La[d.name]||!a&&d.isBlock())break;\nc=d}k?b.setStartBefore(c[0]):b.setEndBefore(c[0])}else if(d==c.children().length){for(;!c.next();){d=c.parent();if(!d||La[d.name]||!a&&d.isBlock())break;c=d}k?b.setStartAfter(c[0]):b.setEndAfter(c[0])}}var b=this;b.up();c(b.startContainer,b.startOffset,!0);c(b.endContainer,b.endOffset,!1);return b},shrink:function(){for(var a,c=this.collapsed;this.startContainer.nodeType==1&&(a=this.startContainer.childNodes[this.startOffset])&&a.nodeType==1&&!i(a).isSingle();)this.setStart(a,0);if(c)return this.collapse(c);\nfor(;this.endContainer.nodeType==1&&this.endOffset>0&&(a=this.endContainer.childNodes[this.endOffset-1])&&a.nodeType==1&&!i(a).isSingle();)this.setEnd(a,a.childNodes.length);return this},createBookmark:function(a){var c,b=i('<span style=\"display:none;\"></span>',this.doc)[0];b.id=\"__kindeditor_bookmark_start_\"+Kb++ +\"__\";if(!this.collapsed)c=b.cloneNode(!0),c.id=\"__kindeditor_bookmark_end_\"+Kb++ +\"__\";c&&this.cloneRange().collapse(!1).insertNode(c).setEndBefore(c);this.insertNode(b).setStartAfter(b);\nreturn{start:a?\"#\"+b.id:b,end:c?a?\"#\"+c.id:c:null}},moveToBookmark:function(a){var c=this.doc,b=i(a.start,c),a=a.end?i(a.end,c):null;if(!b||b.length<1)return this;this.setStartBefore(b[0]);b.remove();a&&a.length>0?(this.setEndBefore(a[0]),a.remove()):this.collapse(!0);return this},dump:function(){console.log(\"--------------------\");console.log(this.startContainer.nodeType==3?this.startContainer.nodeValue:this.startContainer,this.startOffset);console.log(this.endContainer.nodeType==3?this.endContainer.nodeValue:\nthis.endContainer,this.endOffset)}});i.RangeClass=aa;i.range=Sa;i.START_TO_START=sa;i.START_TO_END=ra;i.END_TO_END=oa;i.END_TO_START=ta;A(va,{init:function(a){var c=a.doc;this.doc=c;this.win=ja(c);this.sel=Ta(c);this.range=a},selection:function(a){var c=this.doc,b;b=Ta(c);var d;try{d=b.rangeCount>0?b.getRangeAt(0):b.createRange()}catch(e){}b=Y&&(!d||!d.item&&d.parentElement().ownerDocument!==c)?null:d;this.sel=Ta(c);if(b)return this.range=Sa(b),i(this.range.startContainer).name==\"html\"&&this.range.selectNodeContents(c.body).collapse(!1),\nthis;a&&this.range.selectNodeContents(c.body).collapse(!1);return this},select:function(a){var a=q(a,!0),c=this.sel,b=this.range.cloneRange().shrink(),d=b.startContainer,e=b.startOffset,k=ia(d),f=this.win,h,l=!1;if(a&&d.nodeType==1&&b.collapsed){if(Y){c=i(\"<span>&nbsp;</span>\",k);b.insertNode(c[0]);h=k.body.createTextRange();try{h.moveToElementText(c[0])}catch(n){}h.collapse(!1);h.select();c.remove();f.focus();return this}if(ka&&(a=d.childNodes,i(d).isInline()||e>0&&i(a[e-1]).isInline()||a[e]&&i(a[e]).isInline()))b.insertNode(k.createTextNode(\"\\u200b\")),\nl=!0}if(Y)try{h=b.get(!0),h.select()}catch(o){}else l&&b.collapse(!1),h=b.get(!0),c.removeAllRanges(),c.addRange(h),k!==document&&(b=i(h.endContainer).pos(),f.scrollTo(b.x,b.y));f.focus();return this},wrap:function(a){var c=this.range,b;b=i(a,this.doc);if(c.collapsed)return c.shrink(),c.insertNode(b[0]).selectNodeContents(b[0]),this;if(b.isBlock()){for(var d=a=b.clone(!0);d.first();)d=d.first();d.append(c.extractContents());c.insertNode(a[0]).selectNode(a[0]);return this}c.enlarge();var e=c.createBookmark(),\na=c.commonAncestor(),k=!1;i(a).scan(function(a){if(!k&&a==e.start)k=!0;else if(k){if(a==e.end)return!1;var c=i(a),d;a:{for(d=c;d&&d.name!=\"body\";){if(Ma[d.name]||d.name==\"div\"&&d.hasClass(\"ke-script\")){d=!0;break a}d=d.parent()}d=!1}if(!d&&c.type==3&&m(a.nodeValue).length>0){for(var f;(f=c.parent())&&f.isStyle()&&f.children().length==1;)c=f;f=b;f=f.clone(!0);if(c.type==3)Wa(f).append(c.clone(!1)),c.replaceWith(f);else{for(var a=c,h;(h=c.first())&&h.children().length==1;)c=h;h=c.first();for(c=c.doc.createDocumentFragment();h;)c.appendChild(h[0]),\nh=h.next();h=a.clone(!0);d=Wa(h);for(var l=h,n=!1;f;){for(;l;)l.name===f.name&&(Qb(l,f.attr(),f.css()),n=!0),l=l.first();n||d.append(f.clone(!1));n=!1;f=f.first()}f=h;c.firstChild&&Wa(f).append(c);a.replaceWith(f)}}}});c.moveToBookmark(e);return this},split:function(a,c){for(var b=this.range,d=b.doc,e=b.cloneRange().collapse(a),k=e.startContainer,f=e.startOffset,h=k.nodeType==3?k.parentNode:k,l=!1,n;h&&h.parentNode;){n=i(h);if(c){if(!n.isStyle())break;if(!Ua(n,c))break}else if(La[n.name])break;l=\n!0;h=h.parentNode}if(l)d=d.createElement(\"span\"),b.cloneRange().collapse(!a).insertNode(d),a?e.setStartBefore(h.firstChild).setEnd(k,f):e.setStart(k,f).setEndAfter(h.lastChild),k=e.extractContents(),f=k.firstChild,l=k.lastChild,a?(e.insertNode(k),b.setStartAfter(l).setEndBefore(d)):(h.appendChild(k),b.setStartBefore(d).setEndBefore(f)),e=d.parentNode,e==b.endContainer&&(h=i(d).prev(),k=i(d).next(),h&&k&&h.type==3&&k.type==3?b.setEnd(h[0],h[0].nodeValue.length):a||b.setEnd(b.endContainer,b.endOffset-\n1)),e.removeChild(d);return this},remove:function(a){var c=this.doc,b=this.range;b.enlarge();if(b.startOffset===0){for(var d=i(b.startContainer),e;(e=d.parent())&&e.isStyle()&&e.children().length==1;)d=e;b.setStart(d[0],0);d=i(b.startContainer);d.isBlock()&&Va(d,a);(d=d.parent())&&d.isBlock()&&Va(d,a)}if(b.collapsed){this.split(!0,a);c=b.startContainer;d=b.startOffset;if(d>0&&(e=i(c.childNodes[d-1]))&&pa(e))e.remove(),b.setStart(c,d-1);(d=i(c.childNodes[d]))&&pa(d)&&d.remove();pa(c)&&(b.startBefore(c),\nc.remove());b.collapse(!0);return this}this.split(!0,a);this.split(!1,a);var k=c.createElement(\"span\"),f=c.createElement(\"span\");b.cloneRange().collapse(!1).insertNode(f);b.cloneRange().collapse(!0).insertNode(k);var l=[],n=!1;i(b.commonAncestor()).scan(function(a){if(!n&&a==k)n=!0;else{if(a==f)return!1;n&&l.push(a)}});i(k).remove();i(f).remove();c=b.startContainer;d=b.startOffset;e=b.endContainer;var o=b.endOffset;if(d>0){var m=i(c.childNodes[d-1]);m&&pa(m)&&(m.remove(),b.setStart(c,d-1),c==e&&b.setEnd(e,\no-1));if((d=i(c.childNodes[d]))&&pa(d))d.remove(),c==e&&b.setEnd(e,o-1)}(c=i(e.childNodes[b.endOffset]))&&pa(c)&&c.remove();c=b.createBookmark(!0);h(l,function(c,b){Va(i(b),a)});b.moveToBookmark(c);return this},commonNode:function(a){function c(c){for(var b=c;c;){if(Ua(i(c),a))return i(c);c=c.parentNode}for(;b&&(b=b.lastChild);)if(Ua(i(b),a))return i(b);return null}var b=this.range,d=b.endContainer,b=b.endOffset,e=d.nodeType==3||b===0?d:d.childNodes[b-1],k=c(e);if(k)return k;if(e.nodeType==1||d.nodeType==\n3&&b===0)if(d=i(e).prev())return c(d);return null},commonAncestor:function(a){function c(c){for(;c;){if(c.nodeType==1&&c.tagName.toLowerCase()===a)return c;c=c.parentNode}return null}var b=this.range,d=b.startContainer,e=b.startOffset,k=b.endContainer,b=b.endOffset,k=k.nodeType==3||b===0?k:k.childNodes[b-1],d=c(d.nodeType==3||e===0?d:d.childNodes[e-1]),e=c(k);if(d&&e&&d===e)return i(d);return null},state:function(a){var c=this.doc,b=!1;try{b=c.queryCommandState(a)}catch(d){}return b},val:function(a){var c=\nthis.doc,a=a.toLowerCase(),b=\"\";if(a===\"fontfamily\"||a===\"fontname\")return b=pb(c,\"fontname\"),b=b.replace(/['\"]/g,\"\"),b.toLowerCase();if(a===\"formatblock\"){b=pb(c,a);if(b===\"\"&&(a=this.commonNode({\"h1,h2,h3,h4,h5,h6,p,div,pre,address\":\"*\"})))b=a.name;b===\"Normal\"&&(b=\"p\");return b.toLowerCase()}if(a===\"fontsize\")return(a=this.commonNode({\"*\":\".font-size\"}))&&(b=a.css(\"font-size\")),b.toLowerCase();if(a===\"forecolor\")return(a=this.commonNode({\"*\":\".color\"}))&&(b=a.css(\"color\")),b=r(b),b===\"\"&&(b=\"default\"),\nb.toLowerCase();if(a===\"hilitecolor\")return(a=this.commonNode({\"*\":\".background-color\"}))&&(b=a.css(\"background-color\")),b=r(b),b===\"\"&&(b=\"default\"),b.toLowerCase();return b},toggle:function(a,c){this.commonNode(c)?this.remove(c):this.wrap(a);return this.select()},bold:function(){return this.toggle(\"<strong></strong>\",{span:\".font-weight=bold\",strong:\"*\",b:\"*\"})},italic:function(){return this.toggle(\"<em></em>\",{span:\".font-style=italic\",em:\"*\",i:\"*\"})},underline:function(){return this.toggle(\"<u></u>\",\n{span:\".text-decoration=underline\",u:\"*\"})},strikethrough:function(){return this.toggle(\"<s></s>\",{span:\".text-decoration=line-through\",s:\"*\"})},forecolor:function(a){return this.wrap('<span style=\"color:'+a+';\"></span>').select()},hilitecolor:function(a){return this.wrap('<span style=\"background-color:'+a+';\"></span>').select()},fontsize:function(a){return this.wrap('<span style=\"font-size:'+a+';\"></span>').select()},fontname:function(a){return this.fontfamily(a)},fontfamily:function(a){return this.wrap('<span style=\"font-family:'+\na+';\"></span>').select()},removeformat:function(){var a={\"*\":\".font-weight,.font-style,.text-decoration,.color,.background-color,.font-size,.font-family,.text-indent\"};h(Gb,function(c){a[c]=\"*\"});this.remove(a);return this.select()},inserthtml:function(a,c){function b(a,c){var c='<img id=\"__kindeditor_temp_tag__\" width=\"0\" height=\"0\" style=\"display:none;\" />'+c,d=a.get();d.item?d.item(0).outerHTML=c:d.pasteHTML(c);var g=a.doc.getElementById(\"__kindeditor_temp_tag__\");g.parentNode.removeChild(g);d=\nob(d);a.setEnd(d.endContainer,d.endOffset);a.collapse(!1);e.select(!1)}function d(a,c){var b=a.doc,g=b.createDocumentFragment();i(\"@\"+c,b).each(function(){g.appendChild(this)});a.deleteContents();a.insertNode(g);a.collapse(!1);e.select(!1)}var e=this,k=e.range;if(a===\"\")return e;if(Y&&c){try{b(k,a)}catch(f){d(k,a)}return e}d(k,a);return e},hr:function(){return this.inserthtml(\"<hr />\")},print:function(){this.win.print();return this},insertimage:function(a,c,b,d,e,i){c=q(c,\"\");q(e,0);a='<img src=\"'+\ns(a)+'\" data-ke-src=\"'+s(a)+'\" ';b&&(a+='width=\"'+s(b)+'\" ');d&&(a+='height=\"'+s(d)+'\" ');c&&(a+='title=\"'+s(c)+'\" ');i&&(a+='align=\"'+s(i)+'\" ');a+='alt=\"'+s(c)+'\" ';a+=\"/>\";return this.inserthtml(a)},createlink:function(a,c){function b(a,c,d){i(a).attr(\"href\",c).attr(\"data-ke-src\",c);d?i(a).attr(\"target\",d):i(a).removeAttr(\"target\")}var d=this.doc,e=this.range;this.select();var k=this.commonNode({a:\"*\"});k&&!e.isControl()&&(e.selectNode(k.get()),this.select());k='<a href=\"'+s(a)+'\" data-ke-src=\"'+\ns(a)+'\" ';c&&(k+=' target=\"'+s(c)+'\"');if(e.collapsed)return k+=\">\"+s(a)+\"</a>\",this.inserthtml(k);if(e.isControl()){var f=i(e.startContainer.childNodes[e.startOffset]);k+=\"></a>\";f.after(i(k,d));f.next().append(f);e.selectNode(f[0]);return this.select()}var k=e.startContainer,f=e.startOffset,h=e.endContainer,e=e.endOffset;if(k.nodeType==1&&k===h&&f+1===e&&(e=k.childNodes[f],e.nodeName.toLowerCase()==\"a\"))return b(e,a,c),this;ea(d,\"createlink\",\"__kindeditor_temp_url__\");i('a[href=\"__kindeditor_temp_url__\"]',\nd).each(function(){b(this,a,c)});return this},unlink:function(){var a=this.doc,c=this.range;this.select();if(c.collapsed){var b=this.commonNode({a:\"*\"});b&&(c.selectNode(b.get()),this.select());ea(a,\"unlink\",null);ka&&i(c.startContainer).name===\"img\"&&(a=i(c.startContainer).parent(),a.name===\"a\"&&a.remove(!0))}else ea(a,\"unlink\",null);return this}});h(\"formatblock,selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,indent,outdent,subscript,superscript\".split(\",\"),\nfunction(a,c){va.prototype[c]=function(a){this.select();ea(this.doc,c,a);Y&&e(c,\"justifyleft,justifycenter,justifyright,justifyfull\".split(\",\"))>=0&&this.selection();(!Y||e(c,\"formatblock,selectall,insertorderedlist,insertunorderedlist\".split(\",\"))>=0)&&this.selection();return this}});h(\"cut,copy,paste\".split(\",\"),function(a,c){va.prototype[c]=function(){if(!this.doc.queryCommandSupported(c))throw\"not supported\";this.select();ea(this.doc,c,null);return this}});i.CmdClass=va;i.cmd=tb;A(ga,{init:function(a){var c=\nthis;c.name=a.name||\"\";c.doc=a.doc||document;c.win=ja(c.doc);c.x=o(a.x);c.y=o(a.y);c.z=a.z;c.width=o(a.width);c.height=o(a.height);c.div=i('<div style=\"display:block;\"></div>');c.options=a;c._alignEl=a.alignEl;c.width&&c.div.css(\"width\",c.width);c.height&&c.div.css(\"height\",c.height);c.z&&c.div.css({position:\"absolute\",left:c.x,top:c.y,\"z-index\":c.z});c.z&&(c.x===d||c.y===d)&&c.autoPos(c.width,c.height);a.cls&&c.div.addClass(a.cls);a.shadowMode&&c.div.addClass(\"ke-shadow\");a.css&&c.div.css(a.css);\na.src?i(a.src).replaceWith(c.div):i(c.doc.body).append(c.div);a.html&&c.div.html(a.html);if(a.autoScroll)if(F&&N<7||da){var b=na();i(c.win).bind(\"scroll\",function(){var a=na(),d=a.x-b.x,a=a.y-b.y;c.pos(l(c.x)+d,l(c.y)+a,!1)})}else c.div.css(\"position\",\"fixed\")},pos:function(a,c,b){b=q(b,!0);if(a!==null&&(a=a<0?0:o(a),this.div.css(\"left\",a),b))this.x=a;if(c!==null&&(c=c<0?0:o(c),this.div.css(\"top\",c),b))this.y=c;return this},autoPos:function(a,c){var b=l(a)||0,d=l(c)||0,e=na();if(this._alignEl){var k=\ni(this._alignEl),f=k.pos(),b=fa(k[0].clientWidth/2-b/2),d=fa(k[0].clientHeight/2-d/2);x=b<0?f.x:f.x+b;y=d<0?f.y:f.y+d}else f=X(this.doc),x=fa(e.x+(f.clientWidth-b)/2),y=fa(e.y+(f.clientHeight-d)/2);F&&N<7||da||(x-=e.x,y-=e.y);return this.pos(x,y)},remove:function(){var a=this;(F&&N<7||da)&&i(a.win).unbind(\"scroll\");a.div.remove();h(a,function(c){a[c]=null});return this},show:function(){this.div.show();return this},hide:function(){this.div.hide();return this},draggable:function(a){var c=this,a=a||\n{};a.moveEl=c.div;a.moveFn=function(a,b,d,e,i,f){if((a+=i)<0)a=0;if((b+=f)<0)b=0;c.pos(a,b)};Xa(a);return c}});i.WidgetClass=ga;i.widget=Za;var $a=\"\";if(J=document.getElementsByTagName(\"html\"))$a=J[0].dir;A(xa,ga,{init:function(a){function c(){var c=Ya(b.iframe);c.open();if(h)c.domain=document.domain;c.write(Rb(d,e,k,f));c.close();b.win=b.iframe[0].contentWindow;b.doc=c;var l=tb(c);b.afterChange(function(){l.selection()});ka&&i(c).click(function(a){i(a.target).name===\"img\"&&(l.selection(!0),l.range.selectNode(a.target),\nl.select())});if(F)b._mousedownHandler=function(){var a=l.range.cloneRange();a.shrink();a.isControl()&&b.blur()},i(document).mousedown(b._mousedownHandler),i(c).keydown(function(a){if(a.which==8){l.selection();var c=l.range;c.isControl()&&(c.collapse(!0),i(c.startContainer.childNodes[c.startOffset]).remove(),a.preventDefault())}});b.cmd=l;b.html(wa(b.srcElement));F?(c.body.disabled=!0,c.body.contentEditable=!0,c.body.removeAttribute(\"disabled\")):c.designMode=\"on\";a.afterCreate&&a.afterCreate.call(b)}\nvar b=this;xa.parent.init.call(b,a);b.srcElement=i(a.srcElement);b.div.addClass(\"ke-edit\");b.designMode=q(a.designMode,!0);b.beforeGetHtml=a.beforeGetHtml;b.beforeSetHtml=a.beforeSetHtml;b.afterSetHtml=a.afterSetHtml;var d=q(a.themesPath,\"\"),e=a.bodyClass,k=a.cssPath,f=a.cssData,h=location.protocol!=\"res:\"&&location.host.replace(/:\\d+/,\"\")!==document.domain,l=\"document.open();\"+(h?'document.domain=\"'+document.domain+'\";':\"\")+\"document.close();\",l=F?' src=\"javascript:void(function(){'+encodeURIComponent(l)+\n'}())\"':\"\";b.iframe=i('<iframe class=\"ke-edit-iframe\" hidefocus=\"true\" frameborder=\"0\"'+l+\"></iframe>\").css(\"width\",\"100%\");b.textarea=i('<textarea class=\"ke-edit-textarea\" hidefocus=\"true\"></textarea>').css(\"width\",\"100%\");b.tabIndex=isNaN(parseInt(a.tabIndex,10))?b.srcElement.attr(\"tabindex\"):parseInt(a.tabIndex,10);b.iframe.attr(\"tabindex\",b.tabIndex);b.textarea.attr(\"tabindex\",b.tabIndex);b.width&&b.setWidth(b.width);b.height&&b.setHeight(b.height);b.designMode?b.textarea.hide():b.iframe.hide();\nh&&b.iframe.bind(\"load\",function(){b.iframe.unbind(\"load\");F?c():setTimeout(c,0)});b.div.append(b.iframe);b.div.append(b.textarea);b.srcElement.hide();!h&&c()},setWidth:function(a){this.width=a=o(a);this.div.css(\"width\",a);return this},setHeight:function(a){this.height=a=o(a);this.div.css(\"height\",a);this.iframe.css(\"height\",a);if(F&&N<8||da)a=o(l(a)-2);this.textarea.css(\"height\",a);return this},remove:function(){var a=this.doc;i(a.body).unbind();i(a).unbind();i(this.win).unbind();this._mousedownHandler&&\ni(document).unbind(\"mousedown\",this._mousedownHandler);wa(this.srcElement,this.html());this.srcElement.show();a.write(\"\");this.iframe.unbind();this.textarea.unbind();xa.parent.remove.call(this)},html:function(a,c){var b=this.doc;if(this.designMode){b=b.body;if(a===d)return a=c?\"<!doctype html><html>\"+b.parentNode.innerHTML+\"</html>\":b.innerHTML,this.beforeGetHtml&&(a=this.beforeGetHtml(a)),la&&a==\"<br />\"&&(a=\"\"),a;this.beforeSetHtml&&(a=this.beforeSetHtml(a));F&&N>=9&&(a=a.replace(/(<.*?checked=\")checked(\".*>)/ig,\n\"$1$2\"));i(b).html(a);this.afterSetHtml&&this.afterSetHtml();return this}if(a===d)return this.textarea.val();this.textarea.val(a);return this},design:function(a){if(a===d?!this.designMode:a){if(!this.designMode)a=this.html(),this.designMode=!0,this.html(a),this.textarea.hide(),this.iframe.show()}else if(this.designMode)a=this.html(),this.designMode=!1,this.html(a),this.iframe.hide(),this.textarea.show();return this.focus()},focus:function(){this.designMode?this.win.focus():this.textarea[0].focus();\nreturn this},blur:function(){if(F){var a=i('<input type=\"text\" style=\"float:left;width:0;height:0;padding:0;margin:0;border:0;\" value=\"\" />',this.div);this.div.append(a);a[0].focus();a.remove()}else this.designMode?this.win.blur():this.textarea[0].blur();return this},afterChange:function(a){function c(c){setTimeout(function(){a(c)},1)}var b=this.doc,d=b.body;i(b).keyup(function(c){!c.ctrlKey&&!c.altKey&&eb[c.which]&&a(c)});i(b).mouseup(a).contextmenu(a);i(this.win).blur(a);i(d).bind(\"paste\",c);i(d).bind(\"cut\",\nc);return this}});i.EditClass=xa;i.edit=ub;i.iframeDoc=Ya;A(Ga,ga,{init:function(a){function c(a){a=i(a);if(a.hasClass(\"ke-outline\"))return a;if(a.hasClass(\"ke-toolbar-icon\"))return a.parent()}function b(a,d){var g=c(a.target);if(g&&!g.hasClass(\"ke-disabled\")&&!g.hasClass(\"ke-selected\"))g[d](\"ke-on\")}var d=this;Ga.parent.init.call(d,a);d.disableMode=q(a.disableMode,!1);d.noDisableItemMap=z(q(a.noDisableItems,[]));d._itemMap={};d.div.addClass(\"ke-toolbar\").bind(\"contextmenu,mousedown,mousemove\",function(a){a.preventDefault()}).attr(\"unselectable\",\n\"on\");d.div.mouseover(function(a){b(a,\"addClass\")}).mouseout(function(a){b(a,\"removeClass\")}).click(function(a){var b=c(a.target);b&&!b.hasClass(\"ke-disabled\")&&d.options.click.call(this,a,b.attr(\"data-name\"))})},get:function(a){if(this._itemMap[a])return this._itemMap[a];return this._itemMap[a]=i(\"span.ke-icon-\"+a,this.div).parent()},select:function(a){vb.call(this,a,function(a){a.addClass(\"ke-selected\")});return self},unselect:function(a){vb.call(this,a,function(a){a.removeClass(\"ke-selected\").removeClass(\"ke-on\")});\nreturn self},enable:function(a){if(a=a.get?a:this.get(a))a.removeClass(\"ke-disabled\"),a.opacity(1);return this},disable:function(a){if(a=a.get?a:this.get(a))a.removeClass(\"ke-selected\").addClass(\"ke-disabled\"),a.opacity(0.5);return this},disableAll:function(a,c){var b=this,e=b.noDisableItemMap;c&&(e=z(c));(a===d?!b.disableMode:a)?(i(\"span.ke-outline\",b.div).each(function(){var a=i(this),c=a[0].getAttribute(\"data-name\",2);e[c]||b.disable(a)}),b.disableMode=!0):(i(\"span.ke-outline\",b.div).each(function(){var a=\ni(this),c=a[0].getAttribute(\"data-name\",2);e[c]||b.enable(a)}),b.disableMode=!1);return b}});i.ToolbarClass=Ga;i.toolbar=wb;A(ya,ga,{init:function(a){a.z=a.z||811213;ya.parent.init.call(this,a);this.centerLineMode=q(a.centerLineMode,!0);this.div.addClass(\"ke-menu\").bind(\"click,mousedown\",function(a){a.stopPropagation()}).attr(\"unselectable\",\"on\")},addItem:function(a){if(a.title===\"-\")this.div.append(i('<div class=\"ke-menu-separator\"></div>'));else{var c=i('<div class=\"ke-menu-item\" unselectable=\"on\"></div>'),\nb=i('<div class=\"ke-inline-block ke-menu-item-left\"></div>'),d=i('<div class=\"ke-inline-block ke-menu-item-right\"></div>'),e=o(a.height),f=q(a.iconClass,\"\");this.div.append(c);e&&(c.css(\"height\",e),d.css(\"line-height\",e));var h;this.centerLineMode&&(h=i('<div class=\"ke-inline-block ke-menu-item-center\"></div>'),e&&h.css(\"height\",e));c.mouseover(function(){i(this).addClass(\"ke-menu-item-on\");h&&h.addClass(\"ke-menu-item-center-on\")}).mouseout(function(){i(this).removeClass(\"ke-menu-item-on\");h&&h.removeClass(\"ke-menu-item-center-on\")}).click(function(c){a.click.call(i(this));\nc.stopPropagation()}).append(b);h&&c.append(h);c.append(d);a.checked&&(f=\"ke-icon-checked\");f!==\"\"&&b.html('<span class=\"ke-inline-block ke-toolbar-icon ke-toolbar-icon-url '+f+'\"></span>');d.html(a.title);return this}},remove:function(){this.options.beforeRemove&&this.options.beforeRemove.call(this);i(\".ke-menu-item\",this.div[0]).unbind();ya.parent.remove.call(this);return this}});i.MenuClass=ya;i.menu=ab;A(za,ga,{init:function(a){a.z=a.z||811213;za.parent.init.call(this,a);var c=a.colors||[[\"#E53333\",\n\"#E56600\",\"#FF9900\",\"#64451D\",\"#DFC5A4\",\"#FFE500\"],[\"#009900\",\"#006600\",\"#99BB00\",\"#B8D100\",\"#60D978\",\"#00D5FF\"],[\"#337FE5\",\"#003399\",\"#4C33E5\",\"#9933E5\",\"#CC33E5\",\"#EE33EE\"],[\"#FFFFFF\",\"#CCCCCC\",\"#999999\",\"#666666\",\"#333333\",\"#000000\"]];this.selectedColor=(a.selectedColor||\"\").toLowerCase();this._cells=[];this.div.addClass(\"ke-colorpicker\").bind(\"click,mousedown\",function(a){a.stopPropagation()}).attr(\"unselectable\",\"on\");a=this.doc.createElement(\"table\");this.div.append(a);a.className=\"ke-colorpicker-table\";\na.cellPadding=0;a.cellSpacing=0;a.border=0;var b=a.insertRow(0),d=b.insertCell(0);d.colSpan=c[0].length;this._addAttr(d,\"\",\"ke-colorpicker-cell-top\");for(var e=0;e<c.length;e++)for(var b=a.insertRow(e+1),i=0;i<c[e].length;i++)d=b.insertCell(i),this._addAttr(d,c[e][i],\"ke-colorpicker-cell\")},_addAttr:function(a,c,b){var d=this,a=i(a).addClass(b);d.selectedColor===c.toLowerCase()&&a.addClass(\"ke-colorpicker-cell-selected\");a.attr(\"title\",c||d.options.noColor);a.mouseover(function(){i(this).addClass(\"ke-colorpicker-cell-on\")});\na.mouseout(function(){i(this).removeClass(\"ke-colorpicker-cell-on\")});a.click(function(a){a.stop();d.options.click.call(i(this),c)});c?a.append(i('<div class=\"ke-colorpicker-cell-color\" unselectable=\"on\"></div>').css(\"background-color\",c)):a.html(d.options.noColor);i(a).attr(\"unselectable\",\"on\");d._cells.push(a)},remove:function(){h(this._cells,function(){this.unbind()});za.parent.remove.call(this);return this}});i.ColorPickerClass=za;i.colorpicker=xb;A(bb,{init:function(a){var c=i(a.button),b=a.fieldName||\n\"file\",d=a.url||\"\",e=c.val(),f=a.extraParams||{},h=c[0].className||\"\",l=a.target||\"kindeditor_upload_iframe_\"+(new Date).getTime();a.afterError=a.afterError||function(a){alert(a)};var n=[],o;for(o in f)n.push('<input type=\"hidden\" name=\"'+o+'\" value=\"'+f[o]+'\" />');b=['<div class=\"ke-inline-block '+h+'\">',a.target?\"\":'<iframe name=\"'+l+'\" style=\"display:none;\"></iframe>',a.form?'<div class=\"ke-upload-area\">':'<form class=\"ke-upload-area ke-form\" method=\"post\" enctype=\"multipart/form-data\" target=\"'+\nl+'\" action=\"'+d+'\">','<span class=\"ke-button-common\">',n.join(\"\"),'<input type=\"button\" class=\"ke-button-common ke-button\" value=\"'+e+'\" />',\"</span>\",'<input type=\"file\" class=\"ke-upload-file\" name=\"'+b+'\" tabindex=\"-1\" />',a.form?\"</div>\":\"</form>\",\"</div>\"].join(\"\");b=i(b,c.doc);c.hide();c.before(b);this.div=b;this.button=c;this.iframe=a.target?i('iframe[name=\"'+l+'\"]'):i(\"iframe\",b);this.form=a.form?i(a.form):i(\"form\",b);this.fileBox=i(\".ke-upload-file\",b);c=a.width||i(\".ke-button-common\",b).width();\ni(\".ke-upload-area\",b).width(c);this.options=a},submit:function(){var a=this,c=a.iframe;c.bind(\"load\",function(){c.unbind();var b=document.createElement(\"form\");a.fileBox.before(b);i(b).append(a.fileBox);b.reset();i(b).remove(!0);var b=i.iframeDoc(c),d=b.getElementsByTagName(\"pre\")[0],e=\"\",f,e=d?d.innerHTML:b.body.innerHTML,e=v(e);c[0].src=\"javascript:false\";try{f=i.json(e)}catch(h){a.options.afterError.call(a,\"<!doctype html><html>\"+b.body.parentNode.innerHTML+\"</html>\")}f&&a.options.afterUpload.call(a,\nf)});a.form[0].submit();return a},remove:function(){this.fileBox&&this.fileBox.unbind();this.iframe.remove();this.div.remove();this.button.show();return this}});i.UploadButtonClass=bb;i.uploadbutton=function(a){return new bb(a)};A(Aa,ga,{init:function(a){var c=q(a.shadowMode,!0);a.z=a.z||811213;a.shadowMode=!1;a.autoScroll=q(a.autoScroll,!0);Aa.parent.init.call(this,a);var b=a.title,d=i(a.body,this.doc),e=a.previewBtn,f=a.yesBtn,n=a.noBtn,o=a.closeBtn,m=q(a.showMask,!0);this.div.addClass(\"ke-dialog\").bind(\"click,mousedown\",\nfunction(a){a.stopPropagation()});var s=i('<div class=\"ke-dialog-content\"></div>').appendTo(this.div);F&&N<7?this.iframeMask=i('<iframe src=\"about:blank\" class=\"ke-dialog-shadow\"></iframe>').appendTo(this.div):c&&i('<div class=\"ke-dialog-shadow\"></div>').appendTo(this.div);c=i('<div class=\"ke-dialog-header\"></div>');s.append(c);c.html(b);this.closeIcon=i('<span class=\"ke-dialog-icon-close\" title=\"'+o.name+'\"></span>').click(o.click);c.append(this.closeIcon);this.draggable({clickEl:c,beforeDrag:a.beforeDrag});\na=i('<div class=\"ke-dialog-body\"></div>');s.append(a);a.append(d);var j=i('<div class=\"ke-dialog-footer\"></div>');(e||f||n)&&s.append(j);h([{btn:e,name:\"preview\"},{btn:f,name:\"yes\"},{btn:n,name:\"no\"}],function(){if(this.btn){var a=this.btn,a=a||{},c=a.name||\"\",b=i('<span class=\"ke-button-common ke-button-outer\" title=\"'+c+'\"></span>'),c=i('<input class=\"ke-button-common ke-button\" type=\"button\" value=\"'+c+'\" />');a.click&&c.click(a.click);b.append(c);b.addClass(\"ke-dialog-\"+this.name);j.append(b)}});\nthis.height&&a.height(l(this.height)-c.height()-j.height());this.div.width(this.div.width());this.div.height(this.div.height());this.mask=null;if(m)d=X(this.doc),this.mask=Za({x:0,y:0,z:this.z-1,cls:\"ke-dialog-mask\",width:Math.max(d.scrollWidth,d.clientWidth),height:Math.max(d.scrollHeight,d.clientHeight)});this.autoPos(this.div.width(),this.div.height());this.footerDiv=j;this.bodyDiv=a;this.headerDiv=c;this.isLoading=!1},setMaskIndex:function(a){this.mask.div.css(\"z-index\",a)},showLoading:function(a){var a=\nq(a,\"\"),c=this.bodyDiv;this.loading=i('<div class=\"ke-dialog-loading\"><div class=\"ke-inline-block ke-dialog-loading-content\" style=\"margin-top:'+Math.round(c.height()/3)+'px;\">'+a+\"</div></div>\").width(c.width()).height(c.height()).css(\"top\",this.headerDiv.height()+\"px\");c.css(\"visibility\",\"hidden\").after(this.loading);this.isLoading=!0;return this},hideLoading:function(){this.loading&&this.loading.remove();this.bodyDiv.css(\"visibility\",\"visible\");this.isLoading=!1;return this},remove:function(){this.options.beforeRemove&&\nthis.options.beforeRemove.call(this);this.mask&&this.mask.remove();this.iframeMask&&this.iframeMask.remove();this.closeIcon.unbind();i(\"input\",this.div).unbind();i(\"button\",this.div).unbind();this.footerDiv.unbind();this.bodyDiv.unbind();this.headerDiv.unbind();i(\"iframe\",this.div).each(function(){i(this).remove()});Aa.parent.remove.call(this);return this}});i.DialogClass=Aa;i.dialog=yb;i.tabs=function(a){var c=Za(a),b=c.remove,d=a.afterSelect,a=c.div,e=[];a.addClass(\"ke-tabs\").bind(\"contextmenu,mousedown,mousemove\",\nfunction(a){a.preventDefault()});var f=i('<ul class=\"ke-tabs-ul ke-clearfix\"></ul>');a.append(f);c.add=function(a){var c=i('<li class=\"ke-tabs-li\">'+a.title+\"</li>\");c.data(\"tab\",a);e.push(c);f.append(c)};c.selectedIndex=0;c.select=function(a){c.selectedIndex=a;h(e,function(b,d){d.unbind();b===a?(d.addClass(\"ke-tabs-li-selected\"),i(d.data(\"tab\").panel).show(\"\")):(d.removeClass(\"ke-tabs-li-selected\").removeClass(\"ke-tabs-li-on\").mouseover(function(){i(this).addClass(\"ke-tabs-li-on\")}).mouseout(function(){i(this).removeClass(\"ke-tabs-li-on\")}).click(function(){c.select(b)}),\ni(d.data(\"tab\").panel).hide())});d&&d.call(c,a)};c.remove=function(){h(e,function(){this.remove()});f.remove();b.call(c)};return c};i.loadScript=cb;i.loadStyle=db;i.ajax=function(a,c,d,e,i){var d=d||\"GET\",i=i||\"json\",f=b.XMLHttpRequest?new b.XMLHttpRequest:new ActiveXObject(\"Microsoft.XMLHTTP\");f.open(d,a,!0);f.onreadystatechange=function(){if(f.readyState==4&&f.status==200&&c){var a=m(f.responseText);i==\"json\"&&(a=B(a));c(a)}};if(d==\"POST\"){var l=[];h(e,function(a,c){l.push(encodeURIComponent(a)+\n\"=\"+encodeURIComponent(c))});try{f.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded\")}catch(n){}f.send(l.join(\"&\"))}else f.send(null)};var ba={},ca={};Ba.prototype={lang:function(a){return Cb(a,this.langType)},loadPlugin:function(a,c){var b=this;if(ba[a]){if(!j(ba[a]))return setTimeout(function(){b.loadPlugin(a,c)},100),b;ba[a].call(b,KindEditor);c&&c.call(b);return b}ba[a]=\"loading\";cb(b.pluginsPath+a+\"/\"+a+\".js?ver=\"+encodeURIComponent(i.DEBUG?Ja:Ka),function(){setTimeout(function(){ba[a]&&\nb.loadPlugin(a,c)},0)});return b},handler:function(a,c){var b=this;b._handlers[a]||(b._handlers[a]=[]);if(j(c))return b._handlers[a].push(c),b;h(b._handlers[a],function(){c=this.call(b,c)});return c},clickToolbar:function(a,c){var b=this,e=\"clickToolbar\"+a;if(c===d){if(b._handlers[e])return b.handler(e);b.loadPlugin(a,function(){b.handler(e)});return b}return b.handler(e,c)},updateState:function(){var a=this;h(\"justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,subscript,superscript,bold,italic,underline,strikethrough\".split(\",\"),\nfunction(c,b){a.cmd.state(b)?a.toolbar.select(b):a.toolbar.unselect(b)});return a},addContextmenu:function(a){this._contextmenus.push(a);return this},afterCreate:function(a){return this.handler(\"afterCreate\",a)},beforeRemove:function(a){return this.handler(\"beforeRemove\",a)},beforeGetHtml:function(a){return this.handler(\"beforeGetHtml\",a)},beforeSetHtml:function(a){return this.handler(\"beforeSetHtml\",a)},afterSetHtml:function(a){return this.handler(\"afterSetHtml\",a)},create:function(){function a(){m.height()===\n0?setTimeout(a,100):c.resize(e,f,!1)}var c=this,d=c.fullscreenMode;if(c.isCreated)return c;if(c.srcElement.data(\"kindeditor\"))return c;c.srcElement.data(\"kindeditor\",\"true\");d?X().style.overflow=\"hidden\":X().style.overflow=\"\";var e=d?X().clientWidth+\"px\":c.width,f=d?X().clientHeight+\"px\":c.height;if(F&&N<8||da)f=o(l(f)+2);var k=c.container=i(c.layout);d?i(document.body).append(k):c.srcElement.before(k);var h=i(\".toolbar\",k),n=i(\".edit\",k),m=c.statusbar=i(\".statusbar\",k);k.removeClass(\"container\").addClass(\"ke-container ke-container-\"+\nc.themeType).css(\"width\",e);if(d){k.css({position:\"absolute\",left:0,top:0,\"z-index\":811211});if(!la)c._scrollPos=na();b.scrollTo(0,0);i(document.body).css({height:\"1px\",overflow:\"hidden\"});i(document.body.parentNode).css(\"overflow\",\"hidden\");c._fullscreenExecuted=!0}else c._fullscreenExecuted&&(i(document.body).css({height:\"\",overflow:\"\"}),i(document.body.parentNode).css(\"overflow\",\"\")),c._scrollPos&&b.scrollTo(c._scrollPos.x,c._scrollPos.y);var s=[];i.each(c.items,function(a,b){b==\"|\"?s.push('<span class=\"ke-inline-block ke-separator\"></span>'):\nb==\"/\"?s.push('<div class=\"ke-hr\"></div>'):(s.push('<span class=\"ke-outline\" data-name=\"'+b+'\" title=\"'+c.lang(b)+'\" unselectable=\"on\">'),s.push('<span class=\"ke-toolbar-icon ke-toolbar-icon-url ke-icon-'+b+'\" unselectable=\"on\"></span></span>'))});var h=c.toolbar=wb({src:h,html:s.join(\"\"),noDisableItems:c.noDisableItems,click:function(a,b){a.stop();if(c.menu){var d=c.menu.name;c.hideMenu();if(d===b)return}c.clickToolbar(b)}}),j=l(f)-h.div.height(),r=c.edit=ub({height:j>0&&l(f)>c.minHeight?j:c.minHeight,\nsrc:n,srcElement:c.srcElement,designMode:c.designMode,themesPath:c.themesPath,bodyClass:c.bodyClass,cssPath:c.cssPath,cssData:c.cssData,beforeGetHtml:function(a){a=c.beforeGetHtml(a);a=ha(Ia(a));return H(a,c.filterMode?c.htmlTags:null,c.urlType,c.wellFormatMode,c.indentChar)},beforeSetHtml:function(a){a=H(a,c.filterMode?c.htmlTags:null,\"\",!1);return c.beforeSetHtml(a)},afterSetHtml:function(){c.edit=r=this;c.afterSetHtml()},afterCreate:function(){c.edit=r=this;c.cmd=r.cmd;c._docMousedownFn=function(){c.menu&&\nc.hideMenu()};i(r.doc,document).mousedown(c._docMousedownFn);Sb.call(c);Tb.call(c);Ub.call(c);Vb.call(c);r.afterChange(function(){r.designMode&&(c.updateState(),c.addBookmark(),c.options.afterChange&&c.options.afterChange.call(c))});r.textarea.keyup(function(a){!a.ctrlKey&&!a.altKey&&Ib[a.which]&&c.options.afterChange&&c.options.afterChange.call(c)});c.readonlyMode&&c.readonly();c.isCreated=!0;if(c.initContent===\"\")c.initContent=c.html();if(c._undoStack.length>0){var a=c._undoStack.pop();a.start&&\n(c.html(a.html),r.cmd.range.moveToBookmark(a),c.select())}c.afterCreate();c.options.afterCreate&&c.options.afterCreate.call(c)}});m.removeClass(\"statusbar\").addClass(\"ke-statusbar\").append('<span class=\"ke-inline-block ke-statusbar-center-icon\"></span>').append('<span class=\"ke-inline-block ke-statusbar-right-icon\"></span>');if(c._fullscreenResizeHandler)i(b).unbind(\"resize\",c._fullscreenResizeHandler),c._fullscreenResizeHandler=null;a();d?(c._fullscreenResizeHandler=function(){c.isCreated&&c.resize(X().clientWidth,\nX().clientHeight,!1)},i(b).bind(\"resize\",c._fullscreenResizeHandler),h.select(\"fullscreen\"),m.first().css(\"visibility\",\"hidden\"),m.last().css(\"visibility\",\"hidden\")):(la&&i(b).bind(\"scroll\",function(){c._scrollPos=na()}),c.resizeType>0?Xa({moveEl:k,clickEl:m,moveFn:function(a,b,d,g,e,f){g+=f;c.resize(null,g)}}):m.first().css(\"visibility\",\"hidden\"),c.resizeType===2?Xa({moveEl:k,clickEl:m.last(),moveFn:function(a,b,d,g,e,f){d+=e;g+=f;c.resize(d,g)}}):m.last().css(\"visibility\",\"hidden\"));return c},remove:function(){var a=\nthis;if(!a.isCreated)return a;a.beforeRemove();a.srcElement.data(\"kindeditor\",\"\");a.menu&&a.hideMenu();h(a.dialogs,function(){a.hideDialog()});i(document).unbind(\"mousedown\",a._docMousedownFn);a.toolbar.remove();a.edit.remove();a.statusbar.last().unbind();a.statusbar.unbind();a.container.remove();a.container=a.toolbar=a.edit=a.menu=null;a.dialogs=[];a.isCreated=!1;return a},resize:function(a,c,b){b=q(b,!0);if(a&&(/%/.test(a)||(a=l(a),a=a<this.minWidth?this.minWidth:a),this.container.css(\"width\",o(a)),\nb))this.width=o(a);if(c&&(c=l(c),editHeight=l(c)-this.toolbar.div.height()-this.statusbar.height(),editHeight=editHeight<this.minHeight?this.minHeight:editHeight,this.edit.setHeight(editHeight),b))this.height=o(c);return this},select:function(){this.isCreated&&this.cmd.select();return this},html:function(a){if(a===d)return this.isCreated?this.edit.html():wa(this.srcElement);this.isCreated?this.edit.html(a):wa(this.srcElement,a);this.isCreated&&this.cmd.selection();return this},fullHtml:function(){return this.isCreated?\nthis.edit.html(d,!0):\"\"},text:function(a){return a===d?m(this.html().replace(/<(?!img|embed).*?>/ig,\"\").replace(/&nbsp;/ig,\" \")):this.html(s(a))},isEmpty:function(){return m(this.text().replace(/\\r\\n|\\n|\\r/,\"\"))===\"\"},isDirty:function(){return m(this.initContent.replace(/\\r\\n|\\n|\\r|t/g,\"\"))!==m(this.html().replace(/\\r\\n|\\n|\\r|t/g,\"\"))},selectedHtml:function(){var a=this.isCreated?this.cmd.range.html():\"\";return a=ha(Ia(a))},count:function(a){a=(a||\"html\").toLowerCase();if(a===\"html\")return this.html().length;\nif(a===\"text\")return this.text().replace(/<(?:img|embed).*?>/ig,\"K\").replace(/\\r\\n|\\n|\\r/g,\"\").length;return 0},exec:function(a){var a=a.toLowerCase(),c=this.cmd,b=e(a,\"selectall,copy,paste,print\".split(\",\"))<0;b&&this.addBookmark(!1);c[a].apply(c,D(arguments,1));b&&(this.updateState(),this.addBookmark(!1),this.options.afterChange&&this.options.afterChange.call(this));return this},insertHtml:function(a,c){if(!this.isCreated)return this;a=this.beforeSetHtml(a);this.exec(\"inserthtml\",a,c);return this},\nappendHtml:function(a){this.html(this.html()+a);if(this.isCreated)a=this.cmd,a.range.selectNodeContents(a.doc.body).collapse(!1),a.select();return this},sync:function(){wa(this.srcElement,this.html());return this},focus:function(){this.isCreated?this.edit.focus():this.srcElement[0].focus();return this},blur:function(){this.isCreated?this.edit.blur():this.srcElement[0].blur();return this},addBookmark:function(a){var a=q(a,!0),c=this.edit,b=c.doc.body,d=Ia(b.innerHTML);if(a&&this._undoStack.length>\n0&&Math.abs(d.length-ha(this._undoStack[this._undoStack.length-1].html).length)<this.minChangeSize)return this;c.designMode&&!this._firstAddBookmark?(c=this.cmd.range,a=c.createBookmark(!0),a.html=Ia(b.innerHTML),c.moveToBookmark(a)):a={html:d};this._firstAddBookmark=!1;Db(this._undoStack,a);return this},undo:function(){return Eb.call(this,this._undoStack,this._redoStack)},redo:function(){return Eb.call(this,this._redoStack,this._undoStack)},fullscreen:function(a){this.fullscreenMode=a===d?!this.fullscreenMode:\na;this.addBookmark(!1);return this.remove().create()},readonly:function(a){var a=q(a,!0),c=this,b=c.edit,d=b.doc;c.designMode?c.toolbar.disableAll(a,[]):h(c.noDisableItems,function(){c.toolbar[a?\"disable\":\"enable\"](this)});F?d.body.contentEditable=!a:d.designMode=a?\"off\":\"on\";b.textarea[0].disabled=a},createMenu:function(a){var c=this.toolbar.get(a.name),b=c.pos();a.x=b.x;a.y=b.y+c.height();a.z=this.options.zIndex;a.shadowMode=q(a.shadowMode,this.shadowMode);a.selectedColor!==d?(a.cls=\"ke-colorpicker-\"+\nthis.themeType,a.noColor=this.lang(\"noColor\"),this.menu=xb(a)):(a.cls=\"ke-menu-\"+this.themeType,a.centerLineMode=!1,this.menu=ab(a));return this.menu},hideMenu:function(){this.menu.remove();this.menu=null;return this},hideContextmenu:function(){this.contextmenu.remove();this.contextmenu=null;return this},createDialog:function(a){var b=this;a.z=b.options.zIndex;a.shadowMode=q(a.shadowMode,b.shadowMode);a.closeBtn=q(a.closeBtn,{name:b.lang(\"close\"),click:function(){b.hideDialog();F&&b.cmd&&b.cmd.select()}});\na.noBtn=q(a.noBtn,{name:b.lang(a.yesBtn?\"no\":\"close\"),click:function(){b.hideDialog();F&&b.cmd&&b.cmd.select()}});if(b.dialogAlignType!=\"page\")a.alignEl=b.container;a.cls=\"ke-dialog-\"+b.themeType;if(b.dialogs.length>0){var d=b.dialogs[b.dialogs.length-1];b.dialogs[0].setMaskIndex(d.z+2);a.z=d.z+3;a.showMask=!1}a=yb(a);b.dialogs.push(a);return a},hideDialog:function(){this.dialogs.length>0&&this.dialogs.pop().remove();this.dialogs.length>0&&this.dialogs[0].setMaskIndex(this.dialogs[this.dialogs.length-\n1].z-1);return this},errorDialog:function(a){var b=this.createDialog({width:750,title:this.lang(\"uploadError\"),body:'<div style=\"padding:10px 20px;\"><iframe frameborder=\"0\" style=\"width:708px;height:400px;\"></iframe></div>'}),b=i(\"iframe\",b.div),d=i.iframeDoc(b);d.open();d.write(a);d.close();i(d.body).css(\"background-color\",\"#FFF\");b[0].contentWindow.focus();return this}};_instances=[];i.remove=function(a){Ca(a,function(a){this.remove();_instances.splice(a,1)})};i.sync=function(a){Ca(a,function(){this.sync()})};\ni.html=function(a,b){Ca(a,function(){this.html(b)})};i.insertHtml=function(a,b){Ca(a,function(){this.insertHtml(b)})};i.appendHtml=function(a,b){Ca(a,function(){this.appendHtml(b)})};F&&N<7&&ea(document,\"BackgroundImageCache\",!0);i.EditorClass=Ba;i.editor=function(a){return new Ba(a)};i.create=Fb;i.instances=_instances;i.plugin=Ab;i.lang=Cb;Ab(\"core\",function(a){var c=this,g={undo:\"Z\",redo:\"Y\",bold:\"B\",italic:\"I\",underline:\"U\",print:\"P\",selectall:\"A\"};c.afterSetHtml(function(){c.options.afterChange&&\nc.options.afterChange.call(c)});c.afterCreate(function(){if(c.syncType==\"form\"){for(var d=a(c.srcElement),g=!1;d=d.parent();)if(d.name==\"form\"){g=!0;break}if(g){d.bind(\"submit\",function(){c.sync();a(b).bind(\"unload\",function(){c.edit.textarea.remove()})});var e=a('[type=\"reset\"]',d);e.click(function(){c.html(c.initContent);c.cmd.selection()});c.beforeRemove(function(){d.unbind();e.unbind()})}}});c.clickToolbar(\"source\",function(){c.edit.designMode?(c.toolbar.disableAll(!0),c.edit.design(!1),c.toolbar.select(\"source\")):\n(c.toolbar.disableAll(!1),c.edit.design(!0),c.toolbar.unselect(\"source\"),la?setTimeout(function(){c.cmd.selection()},0):c.cmd.selection());c.designMode=c.edit.designMode});c.afterCreate(function(){c.designMode||c.toolbar.disableAll(!0).select(\"source\")});c.clickToolbar(\"fullscreen\",function(){c.fullscreen()});if(c.fullscreenShortcut){var f=!1;c.afterCreate(function(){a(c.edit.doc,c.edit.textarea).keyup(function(a){a.which==27&&setTimeout(function(){c.fullscreen()},0)});if(f){if(F&&!c.designMode)return;\nc.focus()}f||(f=!0)})}h(\"undo,redo\".split(\",\"),function(a,b){g[b]&&c.afterCreate(function(){$(this.edit.doc,g[b],function(){c.clickToolbar(b)})});c.clickToolbar(b,function(){c[b]()})});c.clickToolbar(\"formatblock\",function(){var a=c.lang(\"formatblock.formatBlock\"),b={h1:28,h2:24,h3:18,H4:14,p:12},d=c.cmd.val(\"formatblock\"),g=c.createMenu({name:\"formatblock\",width:c.langType==\"en\"?200:150});h(a,function(a,e){var f=\"font-size:\"+b[a]+\"px;\";a.charAt(0)===\"h\"&&(f+=\"font-weight:bold;\");g.addItem({title:'<span style=\"'+\nf+'\" unselectable=\"on\">'+e+\"</span>\",height:b[a]+12,checked:d===a||d===e,click:function(){c.select().exec(\"formatblock\",\"<\"+a+\">\").hideMenu()}})})});c.clickToolbar(\"fontname\",function(){var a=c.cmd.val(\"fontname\"),b=c.createMenu({name:\"fontname\",width:150});h(c.lang(\"fontname.fontName\"),function(d,g){b.addItem({title:'<span style=\"font-family: '+d+';\" unselectable=\"on\">'+g+\"</span>\",checked:a===d.toLowerCase()||a===g.toLowerCase(),click:function(){c.exec(\"fontname\",d).hideMenu()}})})});c.clickToolbar(\"fontsize\",\nfunction(){var a=c.cmd.val(\"fontsize\"),b=c.createMenu({name:\"fontsize\",width:150});h(c.fontSizeTable,function(d,g){b.addItem({title:'<span style=\"font-size:'+g+';\" unselectable=\"on\">'+g+\"</span>\",height:l(g)+12,checked:a===g,click:function(){c.exec(\"fontsize\",g).hideMenu()}})})});h(\"forecolor,hilitecolor\".split(\",\"),function(a,b){c.clickToolbar(b,function(){c.createMenu({name:b,selectedColor:c.cmd.val(b)||\"default\",colors:c.colorTable,click:function(a){c.exec(b,a).hideMenu()}})})});h(\"cut,copy,paste\".split(\",\"),\nfunction(a,b){c.clickToolbar(b,function(){c.focus();try{c.exec(b,null)}catch(a){alert(c.lang(b+\"Error\"))}})});c.clickToolbar(\"about\",function(){var a='<div style=\"margin:20px;\"><div>KindEditor '+Ka+'</div><div>Copyright &copy; <a href=\"http://www.kindsoft.net/\" target=\"_blank\">kindsoft.net</a> All rights reserved.</div></div>';c.createDialog({name:\"about\",width:350,title:c.lang(\"about\"),body:a})});c.plugin.getSelectedLink=function(){return c.cmd.commonAncestor(\"a\")};c.plugin.getSelectedImage=function(){return Ha(c.edit.cmd.range,\nfunction(a){return!/^ke-\\w+$/i.test(a[0].className)})};c.plugin.getSelectedFlash=function(){return Ha(c.edit.cmd.range,function(a){return a[0].className==\"ke-flash\"})};c.plugin.getSelectedMedia=function(){return Ha(c.edit.cmd.range,function(a){return a[0].className==\"ke-media\"||a[0].className==\"ke-rm\"})};c.plugin.getSelectedAnchor=function(){return Ha(c.edit.cmd.range,function(a){return a[0].className==\"ke-anchor\"})};h(\"link,image,flash,media,anchor\".split(\",\"),function(a,b){var g=b.charAt(0).toUpperCase()+\nb.substr(1);h(\"edit,delete\".split(\",\"),function(a,e){c.addContextmenu({title:c.lang(e+g),click:function(){c.loadPlugin(b,function(){c.plugin[b][e]();c.hideMenu()})},cond:c.plugin[\"getSelected\"+g],width:150,iconClass:e==\"edit\"?\"ke-icon-\"+b:d})});c.addContextmenu({title:\"-\"})});c.plugin.getSelectedTable=function(){return c.cmd.commonAncestor(\"table\")};c.plugin.getSelectedRow=function(){return c.cmd.commonAncestor(\"tr\")};c.plugin.getSelectedCell=function(){return c.cmd.commonAncestor(\"td\")};h(\"prop,cellprop,colinsertleft,colinsertright,rowinsertabove,rowinsertbelow,rowmerge,colmerge,rowsplit,colsplit,coldelete,rowdelete,insert,delete\".split(\",\"),\nfunction(a,b){var d=e(b,[\"prop\",\"delete\"])<0?c.plugin.getSelectedCell:c.plugin.getSelectedTable;c.addContextmenu({title:c.lang(\"table\"+b),click:function(){c.loadPlugin(\"table\",function(){c.plugin.table[b]();c.hideMenu()})},cond:d,width:170,iconClass:\"ke-icon-table\"+b})});c.addContextmenu({title:\"-\"});h(\"selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,indent,outdent,subscript,superscript,hr,print,bold,italic,underline,strikethrough,removeformat,unlink\".split(\",\"),\nfunction(a,b){g[b]&&c.afterCreate(function(){$(this.edit.doc,g[b],function(){c.cmd.selection();c.clickToolbar(b)})});c.clickToolbar(b,function(){c.focus().exec(b,null)})});c.afterCreate(function(){function b(){g.range.moveToBookmark(e);g.select();ka&&(a(\"div.\"+i,f).each(function(){a(this).after(\"<br />\").remove(!0)}),a(\"span.Apple-style-span\",f).remove(!0),a(\"span.Apple-tab-span\",f).remove(!0),a(\"span[style]\",f).each(function(){a(this).css(\"white-space\")==\"nowrap\"&&a(this).remove(!0)}),a(\"meta\",f).remove());\nvar d=f[0].innerHTML;f.remove();d!==\"\"&&(ka&&(d=d.replace(/(<br>)\\1/ig,\"$1\")),c.pasteType===2&&(d=d.replace(/(<(?:p|p\\s[^>]*)>) *(<\\/p>)/ig,\"\"),/schemas-microsoft-com|worddocument|mso-\\w+/i.test(d)?d=U(d,c.filterMode?c.htmlTags:a.options.htmlTags):(d=H(d,c.filterMode?c.htmlTags:null),d=c.beforeSetHtml(d))),c.pasteType===1&&(d=d.replace(/&nbsp;/ig,\" \"),d=d.replace(/\\n\\s*\\n/g,\"\\n\"),d=d.replace(/<br[^>]*>/ig,\"\\n\"),d=d.replace(/<\\/p><p[^>]*>/ig,\"\\n\"),d=d.replace(/<[^>]+>/g,\"\"),d=d.replace(/ {2}/g,\" &nbsp;\"),\nc.newlineTag==\"p\"?/\\n/.test(d)&&(d=d.replace(/^/,\"<p>\").replace(/$/,\"<br /></p>\").replace(/\\n/g,\"<br /></p><p>\")):d=d.replace(/\\n/g,\"<br />$&\")),c.insertHtml(d,!0))}var d=c.edit.doc,g,e,f,i=\"__kindeditor_paste__\",h=!1;a(d.body).bind(\"paste\",function(l){if(c.pasteType===0)l.stop();else if(!h){h=!0;a(\"div.\"+i,d).remove();g=c.cmd.selection();e=g.range.createBookmark();f=a('<div class=\"'+i+'\"></div>',d).css({position:\"absolute\",width:\"1px\",height:\"1px\",overflow:\"hidden\",left:\"-1981px\",top:a(e.start).pos().y+\n\"px\",\"white-space\":\"nowrap\"});a(d.body).append(f);if(F){var n=g.range.get(!0);n.moveToElementText(f[0]);n.select();n.execCommand(\"paste\");l.preventDefault()}else g.range.selectNodeContents(f[0]),g.select();setTimeout(function(){b();h=!1},0)}})});c.beforeGetHtml(function(a){F&&N<=8&&(a=a.replace(/<div\\s+[^>]*data-ke-input-tag=\"([^\"]*)\"[^>]*>([\\s\\S]*?)<\\/div>/ig,function(a,b){return unescape(b)}),a=a.replace(/(<input)((?:\\s+[^>]*)?>)/ig,function(a,b,c){if(!/\\s+type=\"[^\"]+\"/i.test(a))return b+' type=\"text\"'+\nc;return a}));return a.replace(/(<(?:noscript|noscript\\s[^>]*)>)([\\s\\S]*?)(<\\/noscript>)/ig,function(a,b,c,d){return b+v(c).replace(/\\s+/g,\" \")+d}).replace(/<img[^>]*class=\"?ke-(flash|rm|media)\"?[^>]*>/ig,function(a){var a=K(a),b=M(a.style||\"\"),c=S(a[\"data-ke-tag\"]),d=q(b.width,\"\"),b=q(b.height,\"\");/px/i.test(d)&&(d=l(d));/px/i.test(b)&&(b=l(b));c.width=q(a.width,d);c.height=q(a.height,b);return Na(c)}).replace(/<img[^>]*class=\"?ke-anchor\"?[^>]*>/ig,function(a){a=K(a);return'<a name=\"'+unescape(a[\"data-ke-name\"])+\n'\"></a>'}).replace(/<div\\s+[^>]*data-ke-script-attr=\"([^\"]*)\"[^>]*>([\\s\\S]*?)<\\/div>/ig,function(a,b,c){return\"<script\"+unescape(b)+\">\"+unescape(c)+\"<\\/script>\"}).replace(/<div\\s+[^>]*data-ke-noscript-attr=\"([^\"]*)\"[^>]*>([\\s\\S]*?)<\\/div>/ig,function(a,b,c){return\"<noscript\"+unescape(b)+\">\"+unescape(c)+\"</noscript>\"}).replace(/(<[^>]*)data-ke-src=\"([^\"]*)\"([^>]*>)/ig,function(a,b,c){a=a.replace(/(\\s+(?:href|src)=\")[^\"]*(\")/i,function(a,b,d){return b+v(c)+d});return a=a.replace(/\\s+data-ke-src=\"[^\"]*\"/i,\n\"\")}).replace(/(<[^>]+\\s)data-ke-(on\\w+=\"[^\"]*\"[^>]*>)/ig,function(a,b,c){return b+c})});c.beforeSetHtml(function(a){F&&N<=8&&(a=a.replace(/<input[^>]*>|<(select|button)[^>]*>[\\s\\S]*?<\\/\\1>/ig,function(a){var b=K(a);if(M(b.style||\"\").display==\"none\")return'<div class=\"ke-display-none\" data-ke-input-tag=\"'+escape(a)+'\"></div>';return a}));return a.replace(/<embed[^>]*type=\"([^\"]+)\"[^>]*>(?:<\\/embed>)?/ig,function(a){a=K(a);a.src=q(a.src,\"\");a.width=q(a.width,0);a.height=q(a.height,0);return kb(c.themesPath+\n\"common/blank.gif\",a)}).replace(/<a[^>]*name=\"([^\"]+)\"[^>]*>(?:<\\/a>)?/ig,function(a){var b=K(a);if(b.href!==d)return a;return'<img class=\"ke-anchor\" src=\"'+c.themesPath+'common/anchor.gif\" data-ke-name=\"'+escape(b.name)+'\" />'}).replace(/<script([^>]*)>([\\s\\S]*?)<\\/script>/ig,function(a,b,c){return'<div class=\"ke-script\" data-ke-script-attr=\"'+escape(b)+'\">'+escape(c)+\"</div>\"}).replace(/<noscript([^>]*)>([\\s\\S]*?)<\\/noscript>/ig,function(a,b,c){return'<div class=\"ke-noscript\" data-ke-noscript-attr=\"'+\nescape(b)+'\">'+escape(c)+\"</div>\"}).replace(/(<[^>]*)(href|src)=\"([^\"]*)\"([^>]*>)/ig,function(a,b,c,d,g){if(a.match(/\\sdata-ke-src=\"[^\"]*\"/i))return a;return a=b+c+'=\"'+d+'\" data-ke-src=\"'+s(d)+'\"'+g}).replace(/(<[^>]+\\s)(on\\w+=\"[^\"]*\"[^>]*>)/ig,function(a,b,c){return b+\"data-ke-\"+c}).replace(/<table[^>]*\\s+border=\"0\"[^>]*>/ig,function(a){if(a.indexOf(\"ke-zeroborder\")>=0)return a;return O(a,\"ke-zeroborder\")})})})}})(window);\nKindEditor.lang({source:\"HTML\\u4ee3\\u7801\",preview:\"\\u9884\\u89c8\",undo:\"\\u540e\\u9000(Ctrl+Z)\",redo:\"\\u524d\\u8fdb(Ctrl+Y)\",cut:\"\\u526a\\u5207(Ctrl+X)\",copy:\"\\u590d\\u5236(Ctrl+C)\",paste:\"\\u7c98\\u8d34(Ctrl+V)\",plainpaste:\"\\u7c98\\u8d34\\u4e3a\\u65e0\\u683c\\u5f0f\\u6587\\u672c\",wordpaste:\"\\u4eceWord\\u7c98\\u8d34\",selectall:\"\\u5168\\u9009(Ctrl+A)\",justifyleft:\"\\u5de6\\u5bf9\\u9f50\",justifycenter:\"\\u5c45\\u4e2d\",justifyright:\"\\u53f3\\u5bf9\\u9f50\",justifyfull:\"\\u4e24\\u7aef\\u5bf9\\u9f50\",insertorderedlist:\"\\u7f16\\u53f7\",\ninsertunorderedlist:\"\\u9879\\u76ee\\u7b26\\u53f7\",indent:\"\\u589e\\u52a0\\u7f29\\u8fdb\",outdent:\"\\u51cf\\u5c11\\u7f29\\u8fdb\",subscript:\"\\u4e0b\\u6807\",superscript:\"\\u4e0a\\u6807\",formatblock:\"\\u6bb5\\u843d\",fontname:\"\\u5b57\\u4f53\",fontsize:\"\\u6587\\u5b57\\u5927\\u5c0f\",forecolor:\"\\u6587\\u5b57\\u989c\\u8272\",hilitecolor:\"\\u6587\\u5b57\\u80cc\\u666f\",bold:\"\\u7c97\\u4f53(Ctrl+B)\",italic:\"\\u659c\\u4f53(Ctrl+I)\",underline:\"\\u4e0b\\u5212\\u7ebf(Ctrl+U)\",strikethrough:\"\\u5220\\u9664\\u7ebf\",removeformat:\"\\u5220\\u9664\\u683c\\u5f0f\",\nimage:\"\\u56fe\\u7247\",multiimage:\"\\u6279\\u91cf\\u56fe\\u7247\\u4e0a\\u4f20\",flash:\"Flash\",media:\"\\u89c6\\u97f3\\u9891\",table:\"\\u8868\\u683c\",tablecell:\"\\u5355\\u5143\\u683c\",hr:\"\\u63d2\\u5165\\u6a2a\\u7ebf\",emoticons:\"\\u63d2\\u5165\\u8868\\u60c5\",link:\"\\u8d85\\u7ea7\\u94fe\\u63a5\",unlink:\"\\u53d6\\u6d88\\u8d85\\u7ea7\\u94fe\\u63a5\",fullscreen:\"\\u5168\\u5c4f\\u663e\\u793a\",about:\"\\u5173\\u4e8e\",print:\"\\u6253\\u5370(Ctrl+P)\",filemanager:\"\\u6587\\u4ef6\\u7a7a\\u95f4\",code:\"\\u63d2\\u5165\\u7a0b\\u5e8f\\u4ee3\\u7801\",map:\"Google\\u5730\\u56fe\",\nbaidumap:\"\\u767e\\u5ea6\\u5730\\u56fe\",lineheight:\"\\u884c\\u8ddd\",clearhtml:\"\\u6e05\\u7406HTML\\u4ee3\\u7801\",pagebreak:\"\\u63d2\\u5165\\u5206\\u9875\\u7b26\",quickformat:\"\\u4e00\\u952e\\u6392\\u7248\",insertfile:\"\\u63d2\\u5165\\u6587\\u4ef6\",template:\"\\u63d2\\u5165\\u6a21\\u677f\",anchor:\"\\u951a\\u70b9\",yes:\"\\u786e\\u5b9a\",no:\"\\u53d6\\u6d88\",close:\"\\u5173\\u95ed\",editImage:\"\\u56fe\\u7247\\u5c5e\\u6027\",deleteImage:\"\\u5220\\u9664\\u56fe\\u7247\",editFlash:\"Flash\\u5c5e\\u6027\",deleteFlash:\"\\u5220\\u9664Flash\",editMedia:\"\\u89c6\\u97f3\\u9891\\u5c5e\\u6027\",\ndeleteMedia:\"\\u5220\\u9664\\u89c6\\u97f3\\u9891\",editLink:\"\\u8d85\\u7ea7\\u94fe\\u63a5\\u5c5e\\u6027\",deleteLink:\"\\u53d6\\u6d88\\u8d85\\u7ea7\\u94fe\\u63a5\",editAnchor:\"\\u951a\\u70b9\\u5c5e\\u6027\",deleteAnchor:\"\\u5220\\u9664\\u951a\\u70b9\",tableprop:\"\\u8868\\u683c\\u5c5e\\u6027\",tablecellprop:\"\\u5355\\u5143\\u683c\\u5c5e\\u6027\",tableinsert:\"\\u63d2\\u5165\\u8868\\u683c\",tabledelete:\"\\u5220\\u9664\\u8868\\u683c\",tablecolinsertleft:\"\\u5de6\\u4fa7\\u63d2\\u5165\\u5217\",tablecolinsertright:\"\\u53f3\\u4fa7\\u63d2\\u5165\\u5217\",tablerowinsertabove:\"\\u4e0a\\u65b9\\u63d2\\u5165\\u884c\",\ntablerowinsertbelow:\"\\u4e0b\\u65b9\\u63d2\\u5165\\u884c\",tablerowmerge:\"\\u5411\\u4e0b\\u5408\\u5e76\\u5355\\u5143\\u683c\",tablecolmerge:\"\\u5411\\u53f3\\u5408\\u5e76\\u5355\\u5143\\u683c\",tablerowsplit:\"\\u62c6\\u5206\\u884c\",tablecolsplit:\"\\u62c6\\u5206\\u5217\",tablecoldelete:\"\\u5220\\u9664\\u5217\",tablerowdelete:\"\\u5220\\u9664\\u884c\",noColor:\"\\u65e0\\u989c\\u8272\",pleaseSelectFile:\"\\u8bf7\\u9009\\u62e9\\u6587\\u4ef6\\u3002\",invalidImg:\"\\u8bf7\\u8f93\\u5165\\u6709\\u6548\\u7684URL\\u5730\\u5740\\u3002\\n\\u53ea\\u5141\\u8bb8jpg,gif,bmp,png\\u683c\\u5f0f\\u3002\",\ninvalidMedia:\"\\u8bf7\\u8f93\\u5165\\u6709\\u6548\\u7684URL\\u5730\\u5740\\u3002\\n\\u53ea\\u5141\\u8bb8swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb\\u683c\\u5f0f\\u3002\",invalidWidth:\"\\u5bbd\\u5ea6\\u5fc5\\u987b\\u4e3a\\u6570\\u5b57\\u3002\",invalidHeight:\"\\u9ad8\\u5ea6\\u5fc5\\u987b\\u4e3a\\u6570\\u5b57\\u3002\",invalidBorder:\"\\u8fb9\\u6846\\u5fc5\\u987b\\u4e3a\\u6570\\u5b57\\u3002\",invalidUrl:\"\\u8bf7\\u8f93\\u5165\\u6709\\u6548\\u7684URL\\u5730\\u5740\\u3002\",invalidRows:\"\\u884c\\u6570\\u4e3a\\u5fc5\\u9009\\u9879\\uff0c\\u53ea\\u5141\\u8bb8\\u8f93\\u5165\\u5927\\u4e8e0\\u7684\\u6570\\u5b57\\u3002\",\ninvalidCols:\"\\u5217\\u6570\\u4e3a\\u5fc5\\u9009\\u9879\\uff0c\\u53ea\\u5141\\u8bb8\\u8f93\\u5165\\u5927\\u4e8e0\\u7684\\u6570\\u5b57\\u3002\",invalidPadding:\"\\u8fb9\\u8ddd\\u5fc5\\u987b\\u4e3a\\u6570\\u5b57\\u3002\",invalidSpacing:\"\\u95f4\\u8ddd\\u5fc5\\u987b\\u4e3a\\u6570\\u5b57\\u3002\",invalidJson:\"\\u670d\\u52a1\\u5668\\u53d1\\u751f\\u6545\\u969c\\u3002\",uploadSuccess:\"\\u4e0a\\u4f20\\u6210\\u529f\\u3002\",cutError:\"\\u60a8\\u7684\\u6d4f\\u89c8\\u5668\\u5b89\\u5168\\u8bbe\\u7f6e\\u4e0d\\u5141\\u8bb8\\u4f7f\\u7528\\u526a\\u5207\\u64cd\\u4f5c\\uff0c\\u8bf7\\u4f7f\\u7528\\u5feb\\u6377\\u952e(Ctrl+X)\\u6765\\u5b8c\\u6210\\u3002\",\ncopyError:\"\\u60a8\\u7684\\u6d4f\\u89c8\\u5668\\u5b89\\u5168\\u8bbe\\u7f6e\\u4e0d\\u5141\\u8bb8\\u4f7f\\u7528\\u590d\\u5236\\u64cd\\u4f5c\\uff0c\\u8bf7\\u4f7f\\u7528\\u5feb\\u6377\\u952e(Ctrl+C)\\u6765\\u5b8c\\u6210\\u3002\",pasteError:\"\\u60a8\\u7684\\u6d4f\\u89c8\\u5668\\u5b89\\u5168\\u8bbe\\u7f6e\\u4e0d\\u5141\\u8bb8\\u4f7f\\u7528\\u7c98\\u8d34\\u64cd\\u4f5c\\uff0c\\u8bf7\\u4f7f\\u7528\\u5feb\\u6377\\u952e(Ctrl+V)\\u6765\\u5b8c\\u6210\\u3002\",ajaxLoading:\"\\u52a0\\u8f7d\\u4e2d\\uff0c\\u8bf7\\u7a0d\\u5019 ...\",uploadLoading:\"\\u4e0a\\u4f20\\u4e2d\\uff0c\\u8bf7\\u7a0d\\u5019 ...\",\nuploadError:\"\\u4e0a\\u4f20\\u9519\\u8bef\",\"plainpaste.comment\":\"\\u8bf7\\u4f7f\\u7528\\u5feb\\u6377\\u952e(Ctrl+V)\\u628a\\u5185\\u5bb9\\u7c98\\u8d34\\u5230\\u4e0b\\u9762\\u7684\\u65b9\\u6846\\u91cc\\u3002\",\"wordpaste.comment\":\"\\u8bf7\\u4f7f\\u7528\\u5feb\\u6377\\u952e(Ctrl+V)\\u628a\\u5185\\u5bb9\\u7c98\\u8d34\\u5230\\u4e0b\\u9762\\u7684\\u65b9\\u6846\\u91cc\\u3002\",\"code.pleaseInput\":\"\\u8bf7\\u8f93\\u5165\\u7a0b\\u5e8f\\u4ee3\\u7801\\u3002\",\"link.url\":\"URL\",\"link.linkType\":\"\\u6253\\u5f00\\u7c7b\\u578b\",\"link.newWindow\":\"\\u65b0\\u7a97\\u53e3\",\"link.selfWindow\":\"\\u5f53\\u524d\\u7a97\\u53e3\",\n\"flash.url\":\"URL\",\"flash.width\":\"\\u5bbd\\u5ea6\",\"flash.height\":\"\\u9ad8\\u5ea6\",\"flash.upload\":\"\\u4e0a\\u4f20\",\"flash.viewServer\":\"\\u6587\\u4ef6\\u7a7a\\u95f4\",\"media.url\":\"URL\",\"media.width\":\"\\u5bbd\\u5ea6\",\"media.height\":\"\\u9ad8\\u5ea6\",\"media.autostart\":\"\\u81ea\\u52a8\\u64ad\\u653e\",\"media.upload\":\"\\u4e0a\\u4f20\",\"media.viewServer\":\"\\u6587\\u4ef6\\u7a7a\\u95f4\",\"image.remoteImage\":\"\\u7f51\\u7edc\\u56fe\\u7247\",\"image.localImage\":\"\\u672c\\u5730\\u4e0a\\u4f20\",\"image.remoteUrl\":\"\\u56fe\\u7247\\u5730\\u5740\",\"image.localUrl\":\"\\u4e0a\\u4f20\\u6587\\u4ef6\",\n\"image.size\":\"\\u56fe\\u7247\\u5927\\u5c0f\",\"image.width\":\"\\u5bbd\",\"image.height\":\"\\u9ad8\",\"image.resetSize\":\"\\u91cd\\u7f6e\\u5927\\u5c0f\",\"image.align\":\"\\u5bf9\\u9f50\\u65b9\\u5f0f\",\"image.defaultAlign\":\"\\u9ed8\\u8ba4\\u65b9\\u5f0f\",\"image.leftAlign\":\"\\u5de6\\u5bf9\\u9f50\",\"image.rightAlign\":\"\\u53f3\\u5bf9\\u9f50\",\"image.imgTitle\":\"\\u56fe\\u7247\\u8bf4\\u660e\",\"image.upload\":\"\\u6d4f\\u89c8...\",\"image.viewServer\":\"\\u56fe\\u7247\\u7a7a\\u95f4\",\"multiimage.uploadDesc\":\"\\u5141\\u8bb8\\u7528\\u6237\\u540c\\u65f6\\u4e0a\\u4f20<%=uploadLimit%>\\u5f20\\u56fe\\u7247\\uff0c\\u5355\\u5f20\\u56fe\\u7247\\u5bb9\\u91cf\\u4e0d\\u8d85\\u8fc7<%=sizeLimit%>\",\n\"multiimage.startUpload\":\"\\u5f00\\u59cb\\u4e0a\\u4f20\",\"multiimage.clearAll\":\"\\u5168\\u90e8\\u6e05\\u7a7a\",\"multiimage.insertAll\":\"\\u5168\\u90e8\\u63d2\\u5165\",\"multiimage.queueLimitExceeded\":\"\\u6587\\u4ef6\\u6570\\u91cf\\u8d85\\u8fc7\\u9650\\u5236\\u3002\",\"multiimage.fileExceedsSizeLimit\":\"\\u6587\\u4ef6\\u5927\\u5c0f\\u8d85\\u8fc7\\u9650\\u5236\\u3002\",\"multiimage.zeroByteFile\":\"\\u65e0\\u6cd5\\u4e0a\\u4f20\\u7a7a\\u6587\\u4ef6\\u3002\",\"multiimage.invalidFiletype\":\"\\u6587\\u4ef6\\u7c7b\\u578b\\u4e0d\\u6b63\\u786e\\u3002\",\"multiimage.unknownError\":\"\\u53d1\\u751f\\u5f02\\u5e38\\uff0c\\u65e0\\u6cd5\\u4e0a\\u4f20\\u3002\",\n\"multiimage.pending\":\"\\u7b49\\u5f85\\u4e0a\\u4f20\",\"multiimage.uploadError\":\"\\u4e0a\\u4f20\\u5931\\u8d25\",\"filemanager.emptyFolder\":\"\\u7a7a\\u6587\\u4ef6\\u5939\",\"filemanager.moveup\":\"\\u79fb\\u5230\\u4e0a\\u4e00\\u7ea7\\u6587\\u4ef6\\u5939\",\"filemanager.viewType\":\"\\u663e\\u793a\\u65b9\\u5f0f\\uff1a\",\"filemanager.viewImage\":\"\\u7f29\\u7565\\u56fe\",\"filemanager.listImage\":\"\\u8be6\\u7ec6\\u4fe1\\u606f\",\"filemanager.orderType\":\"\\u6392\\u5e8f\\u65b9\\u5f0f\\uff1a\",\"filemanager.fileName\":\"\\u540d\\u79f0\",\"filemanager.fileSize\":\"\\u5927\\u5c0f\",\n\"filemanager.fileType\":\"\\u7c7b\\u578b\",\"insertfile.url\":\"URL\",\"insertfile.title\":\"\\u6587\\u4ef6\\u8bf4\\u660e\",\"insertfile.upload\":\"\\u4e0a\\u4f20\",\"insertfile.viewServer\":\"\\u6587\\u4ef6\\u7a7a\\u95f4\",\"table.cells\":\"\\u5355\\u5143\\u683c\\u6570\",\"table.rows\":\"\\u884c\\u6570\",\"table.cols\":\"\\u5217\\u6570\",\"table.size\":\"\\u5927\\u5c0f\",\"table.width\":\"\\u5bbd\\u5ea6\",\"table.height\":\"\\u9ad8\\u5ea6\",\"table.percent\":\"%\",\"table.px\":\"px\",\"table.space\":\"\\u8fb9\\u8ddd\\u95f4\\u8ddd\",\"table.padding\":\"\\u8fb9\\u8ddd\",\"table.spacing\":\"\\u95f4\\u8ddd\",\n\"table.align\":\"\\u5bf9\\u9f50\\u65b9\\u5f0f\",\"table.textAlign\":\"\\u6c34\\u5e73\\u5bf9\\u9f50\",\"table.verticalAlign\":\"\\u5782\\u76f4\\u5bf9\\u9f50\",\"table.alignDefault\":\"\\u9ed8\\u8ba4\",\"table.alignLeft\":\"\\u5de6\\u5bf9\\u9f50\",\"table.alignCenter\":\"\\u5c45\\u4e2d\",\"table.alignRight\":\"\\u53f3\\u5bf9\\u9f50\",\"table.alignTop\":\"\\u9876\\u90e8\",\"table.alignMiddle\":\"\\u4e2d\\u90e8\",\"table.alignBottom\":\"\\u5e95\\u90e8\",\"table.alignBaseline\":\"\\u57fa\\u7ebf\",\"table.border\":\"\\u8fb9\\u6846\",\"table.borderWidth\":\"\\u8fb9\\u6846\",\"table.borderColor\":\"\\u989c\\u8272\",\n\"table.backgroundColor\":\"\\u80cc\\u666f\\u989c\\u8272\",\"map.address\":\"\\u5730\\u5740: \",\"map.search\":\"\\u641c\\u7d22\",\"baidumap.address\":\"\\u5730\\u5740: \",\"baidumap.search\":\"\\u641c\\u7d22\",\"baidumap.insertDynamicMap\":\"\\u63d2\\u5165\\u52a8\\u6001\\u5730\\u56fe\",\"anchor.name\":\"\\u951a\\u70b9\\u540d\\u79f0\",\"formatblock.formatBlock\":{h1:\"\\u6807\\u9898 1\",h2:\"\\u6807\\u9898 2\",h3:\"\\u6807\\u9898 3\",h4:\"\\u6807\\u9898 4\",p:\"\\u6b63 \\u6587\"},\"fontname.fontName\":{SimSun:\"\\u5b8b\\u4f53\",NSimSun:\"\\u65b0\\u5b8b\\u4f53\",FangSong_GB2312:\"\\u4eff\\u5b8b_GB2312\",\nKaiTi_GB2312:\"\\u6977\\u4f53_GB2312\",SimHei:\"\\u9ed1\\u4f53\",\"Microsoft YaHei\":\"\\u5fae\\u8f6f\\u96c5\\u9ed1\",Arial:\"Arial\",\"Arial Black\":\"Arial Black\",\"Times New Roman\":\"Times New Roman\",\"Courier New\":\"Courier New\",Tahoma:\"Tahoma\",Verdana:\"Verdana\"},\"lineheight.lineHeight\":[{1:\"\\u5355\\u500d\\u884c\\u8ddd\"},{\"1.5\":\"1.5\\u500d\\u884c\\u8ddd\"},{2:\"2\\u500d\\u884c\\u8ddd\"},{\"2.5\":\"2.5\\u500d\\u884c\\u8ddd\"},{3:\"3\\u500d\\u884c\\u8ddd\"}],\"template.selectTemplate\":\"\\u53ef\\u9009\\u6a21\\u677f\",\"template.replaceContent\":\"\\u66ff\\u6362\\u5f53\\u524d\\u5185\\u5bb9\",\n\"template.fileList\":{\"1.html\":\"\\u56fe\\u7247\\u548c\\u6587\\u5b57\",\"2.html\":\"\\u8868\\u683c\",\"3.html\":\"\\u9879\\u76ee\\u7f16\\u53f7\"}},\"zh_CN\");\nKindEditor.plugin(\"anchor\",function(b){var d=this,f=d.lang(\"anchor.\");d.plugin.anchor={edit:function(){var j=['<div style=\"padding:20px;\"><div class=\"ke-dialog-row\">','<label for=\"keName\">'+f.name+\"</label>\",'<input class=\"ke-input-text\" type=\"text\" id=\"keName\" name=\"name\" value=\"\" style=\"width:100px;\" /></div></div>'].join(\"\"),j=d.createDialog({name:\"anchor\",width:300,title:d.lang(\"anchor\"),body:j,yesBtn:{name:d.lang(\"yes\"),click:function(){d.insertHtml('<a name=\"'+e.val()+'\">').hideDialog().focus()}}}).div,\ne=b('input[name=\"name\"]',j);(j=d.plugin.getSelectedAnchor())&&e.val(unescape(j.attr(\"data-ke-name\")));e[0].focus();e[0].select()},\"delete\":function(){d.plugin.getSelectedAnchor().remove()}};d.clickToolbar(\"anchor\",d.plugin.anchor.edit)});\nKindEditor.plugin(\"autoheight\",function(b){function d(){var d=j.edit,f=d.doc.body;d.iframe.height(e);j.resize(null,Math.max((b.IE?f.scrollHeight:f.offsetHeight)+76,e))}function f(){e=b.removeUnit(j.height);j.edit.afterChange(d);var f=j.edit,m=f.doc.body;f.iframe[0].scroll=\"no\";m.style.overflowY=\"hidden\";d()}var j=this;if(j.autoHeightMode){var e;j.isCreated?f():j.afterCreate(f)}});\nKindEditor.plugin(\"baidumap\",function(b){var d=this,f=d.lang(\"baidumap.\"),j=b.undef(d.mapWidth,558),e=b.undef(d.mapHeight,360);d.clickToolbar(\"baidumap\",function(){function h(){v=r[0].contentWindow;p=b.iframeDoc(r)}var m=['<div style=\"padding:10px 20px;\"><div class=\"ke-header\"><div class=\"ke-left\">',f.address+' <input id=\"kindeditor_plugin_map_address\" name=\"address\" class=\"ke-input-text\" value=\"\" style=\"width:200px;\" /> ','<span class=\"ke-button-common ke-button-outer\">','<input type=\"button\" name=\"searchBtn\" class=\"ke-button-common ke-button\" value=\"'+\nf.search+'\" />','</span></div><div class=\"ke-right\">','<input type=\"checkbox\" id=\"keInsertDynamicMap\" name=\"insertDynamicMap\" value=\"1\" /> <label for=\"keInsertDynamicMap\">'+f.insertDynamicMap+\"</label>\",'</div><div class=\"ke-clearfix\"></div></div>','<div class=\"ke-map\" style=\"width:'+j+\"px;height:\"+e+'px;\"></div>',\"</div>\"].join(\"\"),m=d.createDialog({name:\"baidumap\",width:j+42,title:d.lang(\"baidumap\"),body:m,yesBtn:{name:d.lang(\"yes\"),click:function(){var b=v.map,f=b.getCenter(),f=f.lng+\",\"+f.lat,\nb=b.getZoom(),b=[s[0].checked?d.pluginsPath+\"baidumap/index.html\":\"http://api.map.baidu.com/staticimage\",\"?center=\"+encodeURIComponent(f),\"&zoom=\"+encodeURIComponent(b),\"&width=\"+j,\"&height=\"+e,\"&markers=\"+encodeURIComponent(f),\"&markerStyles=\"+encodeURIComponent(\"l,A\")].join(\"\");s[0].checked?d.insertHtml('<iframe src=\"'+b+'\" frameborder=\"0\" style=\"width:'+(j+2)+\"px;height:\"+(e+2)+'px;\"></iframe>'):d.exec(\"insertimage\",b);d.hideDialog().focus()}},beforeRemove:function(){l.remove();p&&p.write(\"\");\nr.remove()}}),n=m.div,o=b('[name=\"address\"]',n),l=b('[name=\"searchBtn\"]',n),s=b('[name=\"insertDynamicMap\"]',m.div),v,p,r=b('<iframe class=\"ke-textarea\" frameborder=\"0\" src=\"'+d.pluginsPath+'baidumap/map.html\" style=\"width:'+j+\"px;height:\"+e+'px;\"></iframe>');r.bind(\"load\",function(){r.unbind(\"load\");b.IE?h():setTimeout(h,0)});b(\".ke-map\",n).replaceWith(r);l.click(function(){v.search(o.val())})})});\nKindEditor.plugin(\"clearhtml\",function(b){var d=this;d.clickToolbar(\"clearhtml\",function(){d.focus();var f=d.html(),f=f.replace(/(<script[^>]*>)([\\s\\S]*?)(<\\/script>)/ig,\"\"),f=f.replace(/(<style[^>]*>)([\\s\\S]*?)(<\\/style>)/ig,\"\"),f=b.formatHtml(f,{a:[\"href\",\"target\"],embed:[\"src\",\"width\",\"height\",\"type\",\"loop\",\"autostart\",\"quality\",\".width\",\".height\",\"align\",\"allowscriptaccess\"],img:[\"src\",\"width\",\"height\",\"border\",\"alt\",\"title\",\".width\",\".height\"],table:[\"border\"],\"td,th\":[\"rowspan\",\"colspan\"],\"div,hr,br,tbody,tr,p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6\":[]});\nd.html(f);d.cmd.selection(!0);d.addBookmark()})});\nKindEditor.plugin(\"code\",function(b){var d=this;d.clickToolbar(\"code\",function(){var f=d.lang(\"code.\"),j=d.createDialog({name:\"code\",width:450,title:d.lang(\"code\"),body:'<div style=\"padding:10px 20px;\"><div class=\"ke-dialog-row\"><select class=\"ke-code-type\"><option value=\"js\">JavaScript</option><option value=\"html\">HTML</option><option value=\"css\">CSS</option><option value=\"php\">PHP</option><option value=\"pl\">Perl</option><option value=\"py\">Python</option><option value=\"rb\">Ruby</option><option value=\"java\">Java</option><option value=\"vb\">ASP/VB</option><option value=\"cpp\">C/C++</option><option value=\"cs\">C#</option><option value=\"xml\">XML</option><option value=\"bsh\">Shell</option><option value=\"\">Other</option></select></div><textarea class=\"ke-textarea\" style=\"width:408px;height:260px;\"></textarea></div>',yesBtn:{name:d.lang(\"yes\"),\nclick:function(){var h=b(\".ke-code-type\",j.div).val(),m=e.val(),h='<pre class=\"prettyprint'+(h===\"\"?\"\":\" lang-\"+h)+'\">\\n'+b.escape(m)+\"</pre> \";b.trim(m)===\"\"?(alert(f.pleaseInput),e[0].focus()):d.insertHtml(h).hideDialog().focus()}}}),e=b(\"textarea\",j.div);e[0].focus()})});\nKindEditor.plugin(\"emoticons\",function(b){var d=this,f=d.emoticonsPath||d.pluginsPath+\"emoticons/images/\",j=d.allowPreviewEmoticons===void 0?!0:d.allowPreviewEmoticons,e=1;d.clickToolbar(\"emoticons\",function(){function h(e,h,l){B?e.mouseover(function(){h>D?(B.css(\"left\",0),B.css(\"right\",\"\")):(B.css(\"left\",\"\"),B.css(\"right\",0));G.attr(\"src\",f+l+\".gif\");b(this).addClass(\"ke-on\")}):e.mouseover(function(){b(this).addClass(\"ke-on\")});e.mouseout(function(){b(this).removeClass(\"ke-on\")});e.click(function(b){d.insertHtml('<img src=\"'+\nf+l+'.gif\" border=\"0\" alt=\"\" />').hideMenu().focus();b.stop()})}function m(d,e){var l=document.createElement(\"table\");e.append(l);B&&(b(l).mouseover(function(){B.show(\"block\")}),b(l).mouseout(function(){B.hide()}),A.push(b(l)));l.className=\"ke-table\";l.cellPadding=0;l.cellSpacing=0;l.border=0;for(var n=(d-1)*r+p,o=0;o<s;o++)for(var m=l.insertRow(o),j=0;j<v;j++){var q=b(m.insertCell(j));q.addClass(\"ke-cell\");h(q,j,n);var u=b('<span class=\"ke-img\"></span>').css(\"background-position\",\"-\"+24*n+\"px 0px\").css(\"background-image\",\n\"url(\"+f+\"static.gif)\");q.append(u);A.push(q);n++}return l}function n(){b.each(A,function(){this.unbind()})}function o(b,d){b.click(function(b){n();C.parentNode.removeChild(C);u.remove();C=m(d,q);l(d);e=d;b.stop()})}function l(d){u=b('<div class=\"ke-page\"></div>');q.append(u);for(var e=1;e<=z;e++){if(d!==e){var f=b('<a href=\"javascript:;\">['+e+\"]</a>\");o(f,e);u.append(f);A.push(f)}else u.append(b(\"@[\"+e+\"]\"));u.append(b(\"@&nbsp;\"))}}var s=5,v=9,p=0,r=s*v,z=Math.ceil(135/r),D=Math.floor(v/2),q=b('<div class=\"ke-plugin-emoticons\"></div>'),\nA=[];d.createMenu({name:\"emoticons\",beforeRemove:function(){n()}}).div.append(q);var B,G;j&&(B=b('<div class=\"ke-preview\"></div>').css(\"right\",0),G=b('<img class=\"ke-preview-img\" src=\"'+f+p+'.gif\" />'),q.append(B),B.append(G));var C=m(e,q),u;l(e)})});\nKindEditor.plugin(\"filemanager\",function(b){function d(b,d){d.is_dir?b.attr(\"title\",d.filename):b.attr(\"title\",d.filename+\" (\"+Math.ceil(d.filesize/1024)+\"KB, \"+d.datetime+\")\")}var f=this,j=b.undef(f.fileManagerJson,f.basePath+\"php/file_manager_json.php\"),e=f.pluginsPath+\"filemanager/images/\",h=f.lang(\"filemanager.\");f.plugin.filemanagerDialog=function(m){function n(d,e,h){d=\"path=\"+d+\"&order=\"+e+\"&dir=\"+z;A.showLoading(f.lang(\"ajaxLoading\"));b.ajax(b.addParam(j,d+\"&\"+(new Date).getTime()),function(b){A.hideLoading();\nh(b)})}function o(d,e,f,h){var l=b.formatUrl(e.current_url+f.filename,\"absolute\"),o=encodeURIComponent(e.current_dir_path+f.filename+\"/\");f.is_dir?d.click(function(){n(o,u.val(),h)}):f.is_photo?d.click(function(){q.call(this,l,f.filename)}):d.click(function(){q.call(this,l,f.filename)});I.push(d)}function l(d,e){function f(){C.val()==\"VIEW\"?n(d.current_dir_path,u.val(),v):n(d.current_dir_path,u.val(),s)}b.each(I,function(){this.unbind()});G.unbind();C.unbind();u.unbind();d.current_dir_path&&G.click(function(){n(d.moveup_dir_path,\nu.val(),e)});C.change(f);u.change(f);B.html(\"\")}function s(d){l(d,s);var f=document.createElement(\"table\");f.className=\"ke-table\";f.cellPadding=0;f.cellSpacing=0;f.border=0;B.append(f);for(var n=d.file_list,m=0,j=n.length;m<j;m++){var r=n[m],p=b(f.insertRow(m));p.mouseover(function(){b(this).addClass(\"ke-on\")}).mouseout(function(){b(this).removeClass(\"ke-on\")});var q=b('<img src=\"'+(e+(r.is_dir?\"folder-16.gif\":\"file-16.gif\"))+'\" width=\"16\" height=\"16\" alt=\"'+r.filename+'\" align=\"absmiddle\" />'),q=\nb(p[0].insertCell(0)).addClass(\"ke-cell ke-name\").append(q).append(document.createTextNode(\" \"+r.filename));!r.is_dir||r.has_file?(p.css(\"cursor\",\"pointer\"),q.attr(\"title\",r.filename),o(q,d,r,s)):q.attr(\"title\",h.emptyFolder);b(p[0].insertCell(1)).addClass(\"ke-cell ke-size\").html(r.is_dir?\"-\":Math.ceil(r.filesize/1024)+\"KB\");b(p[0].insertCell(2)).addClass(\"ke-cell ke-datetime\").html(r.datetime)}}function v(f){l(f,v);for(var n=f.file_list,m=0,s=n.length;m<s;m++){var j=n[m],r=b('<div class=\"ke-inline-block ke-item\"></div>');\nB.append(r);var p=b('<div class=\"ke-inline-block ke-photo\"></div>').mouseover(function(){b(this).addClass(\"ke-on\")}).mouseout(function(){b(this).removeClass(\"ke-on\")});r.append(p);var q=f.current_url+j.filename,q=b('<img src=\"'+(j.is_dir?e+\"folder-64.gif\":j.is_photo?q:e+\"file-64.gif\")+'\" width=\"80\" height=\"80\" alt=\"'+j.filename+'\" />');!j.is_dir||j.has_file?(p.css(\"cursor\",\"pointer\"),d(p,j),o(p,f,j,v)):p.attr(\"title\",h.emptyFolder);p.append(q);r.append('<div class=\"ke-name\" title=\"'+j.filename+'\">'+\nj.filename+\"</div>\")}}var p=b.undef(m.width,650),r=b.undef(m.height,510),z=b.undef(m.dirName,\"\"),D=b.undef(m.viewType,\"VIEW\").toUpperCase(),q=m.clickFn,m=['<div style=\"padding:10px 20px;\"><div class=\"ke-plugin-filemanager-header\"><div class=\"ke-left\">','<img class=\"ke-inline-block\" name=\"moveupImg\" src=\"'+e+'go-up.gif\" width=\"16\" height=\"16\" border=\"0\" alt=\"\" /> ','<a class=\"ke-inline-block\" name=\"moveupLink\" href=\"javascript:;\">'+h.moveup+\"</a>\",'</div><div class=\"ke-right\">',h.viewType+' <select class=\"ke-inline-block\" name=\"viewType\">',\n'<option value=\"VIEW\">'+h.viewImage+\"</option>\",'<option value=\"LIST\">'+h.listImage+\"</option>\",\"</select> \",h.orderType+' <select class=\"ke-inline-block\" name=\"orderType\">','<option value=\"NAME\">'+h.fileName+\"</option>\",'<option value=\"SIZE\">'+h.fileSize+\"</option>\",'<option value=\"TYPE\">'+h.fileType+\"</option>\",'</select></div><div class=\"ke-clearfix\"></div></div><div class=\"ke-plugin-filemanager-body\"></div></div>'].join(\"\"),A=f.createDialog({name:\"filemanager\",width:p,height:r,title:f.lang(\"filemanager\"),\nbody:m}),p=A.div,B=b(\".ke-plugin-filemanager-body\",p);b('[name=\"moveupImg\"]',p);var G=b('[name=\"moveupLink\"]',p);b('[name=\"viewServer\"]',p);var C=b('[name=\"viewType\"]',p),u=b('[name=\"orderType\"]',p),I=[];C.val(D);n(\"\",u.val(),D==\"VIEW\"?v:s);return A}});\nKindEditor.plugin(\"flash\",function(b){var d=this,f=d.lang(\"flash.\"),j=b.undef(d.allowFlashUpload,!0),e=b.undef(d.allowFileManager,!1),h=b.undef(d.formatUploadUrl,!0),m=b.undef(d.extraFileUploadParams,{}),n=b.undef(d.filePostName,\"imgFile\"),o=b.undef(d.uploadJson,d.basePath+\"php/upload_json.php\");d.plugin.flash={edit:function(){var l=['<div style=\"padding:20px;\"><div class=\"ke-dialog-row\">','<label for=\"keUrl\" style=\"width:60px;\">'+f.url+\"</label>\",'<input class=\"ke-input-text\" type=\"text\" id=\"keUrl\" name=\"url\" value=\"\" style=\"width:160px;\" /> &nbsp;',\n'<input type=\"button\" class=\"ke-upload-button\" value=\"'+f.upload+'\" /> &nbsp;','<span class=\"ke-button-common ke-button-outer\">','<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"'+f.viewServer+'\" />','</span></div><div class=\"ke-dialog-row\">','<label for=\"keWidth\" style=\"width:60px;\">'+f.width+\"</label>\",'<input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"550\" maxlength=\"4\" /> </div><div class=\"ke-dialog-row\">','<label for=\"keHeight\" style=\"width:60px;\">'+\nf.height+\"</label>\",'<input type=\"text\" id=\"keHeight\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"400\" maxlength=\"4\" /> </div></div>'].join(\"\"),s=d.createDialog({name:\"flash\",width:450,title:d.lang(\"flash\"),body:l,yesBtn:{name:d.lang(\"yes\"),click:function(){var e=b.trim(p.val()),f=r.val(),h=z.val();e==\"http://\"||b.invalidUrl(e)?(alert(d.lang(\"invalidUrl\")),p[0].focus()):/^\\d*$/.test(f)?/^\\d*$/.test(h)?(e=b.mediaImg(d.themesPath+\"common/blank.gif\",{src:e,type:b.mediaType(\".swf\"),width:f,\nheight:h,quality:\"high\"}),d.insertHtml(e).hideDialog().focus()):(alert(d.lang(\"invalidHeight\")),z[0].focus()):(alert(d.lang(\"invalidWidth\")),r[0].focus())}}}),v=s.div,p=b('[name=\"url\"]',v),l=b('[name=\"viewServer\"]',v),r=b('[name=\"width\"]',v),z=b('[name=\"height\"]',v);p.val(\"http://\");if(j){var D=b.uploadbutton({button:b(\".ke-upload-button\",v)[0],fieldName:n,extraParams:m,url:b.addParam(o,\"dir=flash\"),afterUpload:function(e){s.hideLoading();if(e.error===0){var f=e.url;h&&(f=b.formatUrl(f,\"absolute\"));\np.val(f);d.afterUpload&&d.afterUpload.call(d,f,e,\"flash\");alert(d.lang(\"uploadSuccess\"))}else alert(e.message)},afterError:function(b){s.hideLoading();d.errorDialog(b)}});D.fileBox.change(function(){s.showLoading(d.lang(\"uploadLoading\"));D.submit()})}else b(\".ke-upload-button\",v).hide();e?l.click(function(){d.loadPlugin(\"filemanager\",function(){d.plugin.filemanagerDialog({viewType:\"LIST\",dirName:\"flash\",clickFn:function(e){d.dialogs.length>1&&(b('[name=\"url\"]',v).val(e),d.afterSelectFile&&d.afterSelectFile.call(d,\ne),d.hideDialog())}})})}):l.hide();if(l=d.plugin.getSelectedFlash()){var q=b.mediaAttrs(l.attr(\"data-ke-tag\"));p.val(q.src);r.val(b.removeUnit(l.css(\"width\"))||q.width||0);z.val(b.removeUnit(l.css(\"height\"))||q.height||0)}p[0].focus();p[0].select()},\"delete\":function(){d.plugin.getSelectedFlash().remove();d.addBookmark()}};d.clickToolbar(\"flash\",d.plugin.flash.edit)});\nKindEditor.plugin(\"image\",function(b){var d=this,f=b.undef(d.allowImageUpload,!0),j=b.undef(d.allowImageRemote,!0),e=b.undef(d.formatUploadUrl,!0),h=b.undef(d.allowFileManager,!1),m=b.undef(d.uploadJson,d.basePath+\"php/upload_json.php\"),n=b.undef(d.imageTabIndex,0),o=d.pluginsPath+\"image/images/\",l=b.undef(d.extraFileUploadParams,{}),s=b.undef(d.filePostName,\"imgFile\"),v=b.undef(d.fillDescAfterUploadImage,!1),p=d.lang(\"image.\");d.plugin.imageDialog=function(f){function n(b,d){M.val(b);K.val(d);W=\nb;S=d}b.undef(f.imageWidth,\"\");b.undef(f.imageHeight,\"\");b.undef(f.imageTitle,\"\");b.undef(f.imageAlign,\"\");var j=b.undef(f.showRemote,!0),q=b.undef(f.showLocal,!0),A=b.undef(f.tabIndex,0),B=f.clickFn,G=\"kindeditor_upload_iframe_\"+(new Date).getTime(),C=[],u;for(u in l)C.push('<input type=\"hidden\" name=\"'+u+'\" value=\"'+l[u]+'\" />');var C=['<div style=\"padding:20px;\"><div class=\"tabs\"></div><div class=\"tab1\" style=\"display:none;\"><div class=\"ke-dialog-row\">','<label for=\"remoteUrl\" style=\"width:60px;\">'+\np.remoteUrl+\"</label>\",'<input type=\"text\" id=\"remoteUrl\" class=\"ke-input-text\" name=\"url\" value=\"\" style=\"width:200px;\" /> &nbsp;<span class=\"ke-button-common ke-button-outer\">','<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"'+p.viewServer+'\" />','</span></div><div class=\"ke-dialog-row\">','<label for=\"remoteWidth\" style=\"width:60px;\">'+p.size+\"</label>\",p.width+' <input type=\"text\" id=\"remoteWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"\" maxlength=\"4\" /> ',\np.height+' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"\" maxlength=\"4\" /> ','<img class=\"ke-refresh-btn\" src=\"'+o+'refresh.png\" width=\"16\" height=\"16\" alt=\"\" style=\"cursor:pointer;\" title=\"'+p.resetSize+'\" />','</div><div class=\"ke-dialog-row\">','<label style=\"width:60px;\">'+p.align+\"</label>\",'<input type=\"radio\" name=\"align\" class=\"ke-inline-block\" value=\"\" checked=\"checked\" /> <img name=\"defaultImg\" src=\"'+o+'align_top.gif\" width=\"23\" height=\"25\" alt=\"\" />',' <input type=\"radio\" name=\"align\" class=\"ke-inline-block\" value=\"left\" /> <img name=\"leftImg\" src=\"'+\no+'align_left.gif\" width=\"23\" height=\"25\" alt=\"\" />',' <input type=\"radio\" name=\"align\" class=\"ke-inline-block\" value=\"right\" /> <img name=\"rightImg\" src=\"'+o+'align_right.gif\" width=\"23\" height=\"25\" alt=\"\" />','</div><div class=\"ke-dialog-row\">','<label for=\"remoteTitle\" style=\"width:60px;\">'+p.imgTitle+\"</label>\",'<input type=\"text\" id=\"remoteTitle\" class=\"ke-input-text\" name=\"title\" value=\"\" style=\"width:200px;\" /></div></div><div class=\"tab2\" style=\"display:none;\">','<iframe name=\"'+G+'\" style=\"display:none;\"></iframe>',\n'<form class=\"ke-upload-area ke-form\" method=\"post\" enctype=\"multipart/form-data\" target=\"'+G+'\" action=\"'+b.addParam(m,\"dir=image\")+'\">','<div class=\"ke-dialog-row\">',C.join(\"\"),'<label style=\"width:60px;\">'+p.localUrl+\"</label>\",'<input type=\"text\" name=\"localUrl\" class=\"ke-input-text\" tabindex=\"-1\" style=\"width:200px;\" readonly=\"true\" /> &nbsp;','<input type=\"button\" class=\"ke-upload-button\" value=\"'+p.upload+'\" />',\"</div></form></div></div>\"].join(\"\"),I=d.createDialog({name:\"image\",width:q||\nh?450:400,height:q&&j?300:250,title:d.lang(\"image\"),body:C,yesBtn:{name:d.lang(\"yes\"),click:function(){if(!I.isLoading)if(q&&j&&H&&H.selectedIndex===1||!j)U.fileBox.val()==\"\"?alert(d.lang(\"pleaseSelectFile\")):(I.showLoading(d.lang(\"uploadLoading\")),U.submit(),qa.val(\"\"));else{var e=b.trim(T.val()),f=M.val(),h=K.val(),l=Q.val(),n=\"\";R.each(function(){if(this.checked)return n=this.value,!1});e==\"http://\"||b.invalidUrl(e)?(alert(d.lang(\"invalidUrl\")),T[0].focus()):/^\\d*$/.test(f)?/^\\d*$/.test(h)?B.call(d,\ne,l,f,h,0,n):(alert(d.lang(\"invalidHeight\")),K[0].focus()):(alert(d.lang(\"invalidWidth\")),M[0].focus())}}},beforeRemove:function(){$.unbind();M.unbind();K.unbind();O.unbind()}}),E=I.div,T=b('[name=\"url\"]',E),qa=b('[name=\"localUrl\"]',E),$=b('[name=\"viewServer\"]',E),M=b('.tab1 [name=\"width\"]',E),K=b('.tab1 [name=\"height\"]',E),O=b(\".ke-refresh-btn\",E),Q=b('.tab1 [name=\"title\"]',E),R=b('.tab1 [name=\"align\"]',E),H;j&&q?(H=b.tabs({src:b(\".tabs\",E),afterSelect:function(){}}),H.add({title:p.remoteImage,panel:b(\".tab1\",\nE)}),H.add({title:p.localImage,panel:b(\".tab2\",E)}),H.select(A)):j?b(\".tab1\",E).show():q&&b(\".tab2\",E).show();var U=b.uploadbutton({button:b(\".ke-upload-button\",E)[0],fieldName:s,form:b(\".ke-form\",E),target:G,width:60,afterUpload:function(f){I.hideLoading();if(f.error===0){var h=f.url;e&&(h=b.formatUrl(h,\"absolute\"));d.afterUpload&&d.afterUpload.call(d,h,f,\"image\");v?(b(\".ke-dialog-row #remoteUrl\",E).val(h),b(\".ke-tabs-li\",E)[0].click(),b(\".ke-refresh-btn\",E).click()):B.call(d,h,f.title,f.width,f.height,\nf.border,f.align)}else alert(f.message)},afterError:function(b){I.hideLoading();d.errorDialog(b)}});U.fileBox.change(function(){qa.val(U.fileBox.val())});h?$.click(function(){d.loadPlugin(\"filemanager\",function(){d.plugin.filemanagerDialog({viewType:\"VIEW\",dirName:\"image\",clickFn:function(e){d.dialogs.length>1&&(b('[name=\"url\"]',E).val(e),d.afterSelectFile&&d.afterSelectFile.call(d,e),d.hideDialog())}})})}):$.hide();var W=0,S=0;O.click(function(){var d=b('<img src=\"'+T.val()+'\" />',document).css({position:\"absolute\",\nvisibility:\"hidden\",top:0,left:\"-1000px\"});d.bind(\"load\",function(){n(d.width(),d.height());d.remove()});b(document.body).append(d)});M.change(function(){W>0&&K.val(Math.round(S/W*parseInt(this.value,10)))});K.change(function(){S>0&&M.val(Math.round(W/S*parseInt(this.value,10)))});T.val(f.imageUrl);n(f.imageWidth,f.imageHeight);Q.val(f.imageTitle);R.each(function(){if(this.value===f.imageAlign)return this.checked=!0,!1});j&&A===0&&(T[0].focus(),T[0].select());return I};d.plugin.image={edit:function(){var b=\nd.plugin.getSelectedImage();d.plugin.imageDialog({imageUrl:b?b.attr(\"data-ke-src\"):\"http://\",imageWidth:b?b.width():\"\",imageHeight:b?b.height():\"\",imageTitle:b?b.attr(\"title\"):\"\",imageAlign:b?b.attr(\"align\"):\"\",showRemote:j,showLocal:f,tabIndex:b?0:n,clickFn:function(e,f,h,l,n,o){b?(b.attr(\"src\",e),b.attr(\"data-ke-src\",e),b.attr(\"width\",h),b.attr(\"height\",l),b.attr(\"title\",f),b.attr(\"align\",o),b.attr(\"alt\",f)):d.exec(\"insertimage\",e,f,h,l,n,o);setTimeout(function(){d.hideDialog().focus()},0)}})},\n\"delete\":function(){var b=d.plugin.getSelectedImage();b.parent().name==\"a\"&&(b=b.parent());b.remove();d.addBookmark()}};d.clickToolbar(\"image\",d.plugin.image.edit)});\nKindEditor.plugin(\"insertfile\",function(b){var d=this,f=b.undef(d.allowFileUpload,!0),j=b.undef(d.allowFileManager,!1),e=b.undef(d.formatUploadUrl,!0),h=b.undef(d.uploadJson,d.basePath+\"php/upload_json.php\"),m=b.undef(d.extraFileUploadParams,{}),n=b.undef(d.filePostName,\"imgFile\"),o=d.lang(\"insertfile.\");d.plugin.fileDialog=function(l){var s=b.undef(l.fileUrl,\"http://\"),v=b.undef(l.fileTitle,\"\"),p=l.clickFn,l=['<div style=\"padding:20px;\"><div class=\"ke-dialog-row\">','<label for=\"keUrl\" style=\"width:60px;\">'+\no.url+\"</label>\",'<input type=\"text\" id=\"keUrl\" name=\"url\" class=\"ke-input-text\" style=\"width:160px;\" /> &nbsp;','<input type=\"button\" class=\"ke-upload-button\" value=\"'+o.upload+'\" /> &nbsp;','<span class=\"ke-button-common ke-button-outer\">','<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"'+o.viewServer+'\" />','</span></div><div class=\"ke-dialog-row\">','<label for=\"keTitle\" style=\"width:60px;\">'+o.title+\"</label>\",'<input type=\"text\" id=\"keTitle\" class=\"ke-input-text\" name=\"title\" value=\"\" style=\"width:160px;\" /></div></div></form></div>'].join(\"\"),\nr=d.createDialog({name:\"insertfile\",width:450,title:d.lang(\"insertfile\"),body:l,yesBtn:{name:d.lang(\"yes\"),click:function(){var e=b.trim(D.val()),f=q.val();e==\"http://\"||b.invalidUrl(e)?(alert(d.lang(\"invalidUrl\")),D[0].focus()):(b.trim(f)===\"\"&&(f=e),p.call(d,e,f))}}}),z=r.div,D=b('[name=\"url\"]',z),l=b('[name=\"viewServer\"]',z),q=b('[name=\"title\"]',z);if(f){var A=b.uploadbutton({button:b(\".ke-upload-button\",z)[0],fieldName:n,url:b.addParam(h,\"dir=file\"),extraParams:m,afterUpload:function(f){r.hideLoading();\nif(f.error===0){var h=f.url;e&&(h=b.formatUrl(h,\"absolute\"));D.val(h);d.afterUpload&&d.afterUpload.call(d,h,f,\"insertfile\");alert(d.lang(\"uploadSuccess\"))}else alert(f.message)},afterError:function(b){r.hideLoading();d.errorDialog(b)}});A.fileBox.change(function(){r.showLoading(d.lang(\"uploadLoading\"));A.submit()})}else b(\".ke-upload-button\",z).hide();j?l.click(function(){d.loadPlugin(\"filemanager\",function(){d.plugin.filemanagerDialog({viewType:\"LIST\",dirName:\"file\",clickFn:function(e){d.dialogs.length>\n1&&(b('[name=\"url\"]',z).val(e),d.afterSelectFile&&d.afterSelectFile.call(d,e),d.hideDialog())}})})}):l.hide();D.val(s);q.val(v);D[0].focus();D[0].select()};d.clickToolbar(\"insertfile\",function(){d.plugin.fileDialog({clickFn:function(b,e){d.insertHtml('<a class=\"ke-insertfile\" href=\"'+b+'\" data-ke-src=\"'+b+'\" target=\"_blank\">'+e+\"</a>\").hideDialog().focus()}})})});\nKindEditor.plugin(\"lineheight\",function(b){var d=this,f=d.lang(\"lineheight.\");d.clickToolbar(\"lineheight\",function(){var j=\"\",e=d.cmd.commonNode({\"*\":\".line-height\"});e&&(j=e.css(\"line-height\"));var h=d.createMenu({name:\"lineheight\",width:150});b.each(f.lineHeight,function(e,f){b.each(f,function(b,e){h.addItem({title:e,checked:j===b,click:function(){d.cmd.toggle('<span style=\"line-height:'+b+';\"></span>',{span:\".line-height=\"+b});d.updateState();d.addBookmark();d.hideMenu()}})})})})});\nKindEditor.plugin(\"link\",function(b){var d=this;d.plugin.link={edit:function(){var f=d.lang(\"link.\"),j='<div style=\"padding:20px;\"><div class=\"ke-dialog-row\"><label for=\"keUrl\" style=\"width:60px;\">'+f.url+'</label><input class=\"ke-input-text\" type=\"text\" id=\"keUrl\" name=\"url\" value=\"\" style=\"width:260px;\" /></div><div class=\"ke-dialog-row\"\"><label for=\"keType\" style=\"width:60px;\">'+f.linkType+'</label><select id=\"keType\" name=\"type\"></select></div></div>',j=d.createDialog({name:\"link\",width:450,title:d.lang(\"link\"),\nbody:j,yesBtn:{name:d.lang(\"yes\"),click:function(){var f=b.trim(e.val());f==\"http://\"||b.invalidUrl(f)?(alert(d.lang(\"invalidUrl\")),e[0].focus()):d.exec(\"createlink\",f,h.val()).hideDialog().focus()}}}).div,e=b('input[name=\"url\"]',j),h=b('select[name=\"type\"]',j);e.val(\"http://\");h[0].options[0]=new Option(f.newWindow,\"_blank\");h[0].options[1]=new Option(f.selfWindow,\"\");d.cmd.selection();if(f=d.plugin.getSelectedLink())d.cmd.range.selectNode(f[0]),d.cmd.select(),e.val(f.attr(\"data-ke-src\")),h.val(f.attr(\"target\"));\ne[0].focus();e[0].select()},\"delete\":function(){d.exec(\"unlink\",null)}};d.clickToolbar(\"link\",d.plugin.link.edit)});\nKindEditor.plugin(\"map\",function(b){var d=this,f=d.lang(\"map.\");d.clickToolbar(\"map\",function(){function j(){n=l[0].contentWindow;o=b.iframeDoc(l)}var e=['<div style=\"padding:10px 20px;\"><div class=\"ke-dialog-row\">',f.address+' <input id=\"kindeditor_plugin_map_address\" name=\"address\" class=\"ke-input-text\" value=\"\" style=\"width:200px;\" /> ','<span class=\"ke-button-common ke-button-outer\">','<input type=\"button\" name=\"searchBtn\" class=\"ke-button-common ke-button\" value=\"'+f.search+'\" />','</span></div><div class=\"ke-map\" style=\"width:558px;height:360px;\"></div></div>'].join(\"\"),\ne=d.createDialog({name:\"map\",width:600,title:d.lang(\"map\"),body:e,yesBtn:{name:d.lang(\"yes\"),click:function(){var b=n.map,e=b.getCenter().lat()+\",\"+b.getCenter().lng(),f=b.getZoom(),b=b.getMapTypeId(),h=\"http://maps.googleapis.com/maps/api/staticmap\";h+=\"?center=\"+encodeURIComponent(e);h+=\"&zoom=\"+encodeURIComponent(f);h+=\"&size=558x360\";h+=\"&maptype=\"+encodeURIComponent(b);h+=\"&markers=\"+encodeURIComponent(e);h+=\"&language=\"+d.langType;h+=\"&sensor=false\";d.exec(\"insertimage\",h).hideDialog().focus()}},\nbeforeRemove:function(){m.remove();o&&o.write(\"\");l.remove()}}).div,h=b('[name=\"address\"]',e),m=b('[name=\"searchBtn\"]',e),n,o;['<!doctype html><html><head>\\n<meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\" />\\n<style>\\n\\thtml { height: 100% }\\n\\tbody { height: 100%; margin: 0; padding: 0; background-color: #FFF }\\n\\t#map_canvas { height: 100% }\\n</style>','<script src=\"http://maps.googleapis.com/maps/api/js?sensor=false&language='+d.langType+'\"><\\/script>','<script>\\nvar map, geocoder;\\nfunction initialize() {\\n\\tvar latlng = new google.maps.LatLng(31.230393, 121.473704);\\n\\tvar options = {\\n\\t\\tzoom: 11,\\n\\t\\tcenter: latlng,\\n\\t\\tdisableDefaultUI: true,\\n\\t\\tpanControl: true,\\n\\t\\tzoomControl: true,\\n\\t\\tmapTypeControl: true,\\n\\t\\tscaleControl: true,\\n\\t\\tstreetViewControl: false,\\n\\t\\toverviewMapControl: true,\\n\\t\\tmapTypeId: google.maps.MapTypeId.ROADMAP\\n\\t};\\n\\tmap = new google.maps.Map(document.getElementById(\"map_canvas\"), options);\\n\\tgeocoder = new google.maps.Geocoder();\\n\\tgeocoder.geocode({latLng: latlng}, function(results, status) {\\n\\t\\tif (status == google.maps.GeocoderStatus.OK) {\\n\\t\\t\\tif (results[3]) {\\n\\t\\t\\t\\tparent.document.getElementById(\"kindeditor_plugin_map_address\").value = results[3].formatted_address;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n}\\nfunction search(address) {\\n\\tif (!map) return;\\n\\tgeocoder.geocode({address : address}, function(results, status) {\\n\\t\\tif (status == google.maps.GeocoderStatus.OK) {\\n\\t\\t\\tmap.setZoom(11);\\n\\t\\t\\tmap.setCenter(results[0].geometry.location);\\n\\t\\t\\tvar marker = new google.maps.Marker({\\n\\t\\t\\t\\tmap: map,\\n\\t\\t\\t\\tposition: results[0].geometry.location\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\talert(\"Invalid address: \" + address);\\n\\t\\t}\\n\\t});\\n}\\n<\\/script>\\n</head>\\n<body onload=\"initialize();\">\\n<div id=\"map_canvas\" style=\"width:100%; height:100%\"></div>\\n</body></html>'].join(\"\\n\");\nvar l=b('<iframe class=\"ke-textarea\" frameborder=\"0\" src=\"'+d.pluginsPath+'map/map.html\" style=\"width:558px;height:360px;\"></iframe>');l.bind(\"load\",function(){l.unbind(\"load\");b.IE?j():setTimeout(j,0)});b(\".ke-map\",e).replaceWith(l);m.click(function(){n.search(h.val())})})});\nKindEditor.plugin(\"media\",function(b){var d=this,f=d.lang(\"media.\"),j=b.undef(d.allowMediaUpload,!0),e=b.undef(d.allowFileManager,!1),h=b.undef(d.formatUploadUrl,!0),m=b.undef(d.extraFileUploadParams,{}),n=b.undef(d.filePostName,\"imgFile\"),o=b.undef(d.uploadJson,d.basePath+\"php/upload_json.php\");d.plugin.media={edit:function(){var l=['<div style=\"padding:20px;\"><div class=\"ke-dialog-row\">','<label for=\"keUrl\" style=\"width:60px;\">'+f.url+\"</label>\",'<input class=\"ke-input-text\" type=\"text\" id=\"keUrl\" name=\"url\" value=\"\" style=\"width:160px;\" /> &nbsp;',\n'<input type=\"button\" class=\"ke-upload-button\" value=\"'+f.upload+'\" /> &nbsp;','<span class=\"ke-button-common ke-button-outer\">','<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"'+f.viewServer+'\" />','</span></div><div class=\"ke-dialog-row\">','<label for=\"keWidth\" style=\"width:60px;\">'+f.width+\"</label>\",'<input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"550\" maxlength=\"4\" /></div><div class=\"ke-dialog-row\">','<label for=\"keHeight\" style=\"width:60px;\">'+\nf.height+\"</label>\",'<input type=\"text\" id=\"keHeight\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"400\" maxlength=\"4\" /></div><div class=\"ke-dialog-row\">','<label for=\"keAutostart\">'+f.autostart+\"</label>\",'<input type=\"checkbox\" id=\"keAutostart\" name=\"autostart\" value=\"\" /> </div></div>'].join(\"\"),s=d.createDialog({name:\"media\",width:450,height:230,title:d.lang(\"media\"),body:l,yesBtn:{name:d.lang(\"yes\"),click:function(){var e=b.trim(p.val()),f=r.val(),h=z.val();e==\"http://\"||b.invalidUrl(e)?\n(alert(d.lang(\"invalidUrl\")),p[0].focus()):/^\\d*$/.test(f)?/^\\d*$/.test(h)?(e=b.mediaImg(d.themesPath+\"common/blank.gif\",{src:e,type:b.mediaType(e),width:f,height:h,autostart:D[0].checked?\"true\":\"false\",loop:\"true\"}),d.insertHtml(e).hideDialog().focus()):(alert(d.lang(\"invalidHeight\")),z[0].focus()):(alert(d.lang(\"invalidWidth\")),r[0].focus())}}}),v=s.div,p=b('[name=\"url\"]',v),l=b('[name=\"viewServer\"]',v),r=b('[name=\"width\"]',v),z=b('[name=\"height\"]',v),D=b('[name=\"autostart\"]',v);p.val(\"http://\");\nif(j){var q=b.uploadbutton({button:b(\".ke-upload-button\",v)[0],fieldName:n,extraParams:m,url:b.addParam(o,\"dir=media\"),afterUpload:function(e){s.hideLoading();if(e.error===0){var f=e.url;h&&(f=b.formatUrl(f,\"absolute\"));p.val(f);d.afterUpload&&d.afterUpload.call(d,f,e,\"media\");alert(d.lang(\"uploadSuccess\"))}else alert(e.message)},afterError:function(b){s.hideLoading();d.errorDialog(b)}});q.fileBox.change(function(){s.showLoading(d.lang(\"uploadLoading\"));q.submit()})}else b(\".ke-upload-button\",v).hide();\ne?l.click(function(){d.loadPlugin(\"filemanager\",function(){d.plugin.filemanagerDialog({viewType:\"LIST\",dirName:\"media\",clickFn:function(e){d.dialogs.length>1&&(b('[name=\"url\"]',v).val(e),d.afterSelectFile&&d.afterSelectFile.call(d,e),d.hideDialog())}})})}):l.hide();if(l=d.plugin.getSelectedMedia()){var A=b.mediaAttrs(l.attr(\"data-ke-tag\"));p.val(A.src);r.val(b.removeUnit(l.css(\"width\"))||A.width||0);z.val(b.removeUnit(l.css(\"height\"))||A.height||0);D[0].checked=A.autostart===\"true\"}p[0].focus();p[0].select()},\n\"delete\":function(){d.plugin.getSelectedMedia().remove();d.addBookmark()}};d.clickToolbar(\"media\",d.plugin.media.edit)});\n(function(b){function d(b){this.init(b)}b.extend(d,{init:function(d){function j(d,e){b(\".ke-status > div\",d).hide();b(\".ke-message\",d).addClass(\"ke-error\").show().html(b.escape(e))}var e=this;d.afterError=d.afterError||function(b){alert(b)};e.options=d;e.progressbars={};e.div=b(d.container).html(['<div class=\"ke-swfupload\"><div class=\"ke-swfupload-top\"><div class=\"ke-inline-block ke-swfupload-button\"><input type=\"button\" value=\"Browse\" /></div>','<div class=\"ke-inline-block ke-swfupload-desc\">'+d.uploadDesc+\n\"</div>\",'<span class=\"ke-button-common ke-button-outer ke-swfupload-startupload\">','<input type=\"button\" class=\"ke-button-common ke-button\" value=\"'+d.startButtonValue+'\" />','</span></div><div class=\"ke-swfupload-body\"></div></div>'].join(\"\"));e.bodyDiv=b(\".ke-swfupload-body\",e.div);var h={debug:!1,upload_url:d.uploadUrl,flash_url:d.flashUrl,file_post_name:d.filePostName,button_placeholder:b(\".ke-swfupload-button > input\",e.div)[0],button_image_url:d.buttonImageUrl,button_width:d.buttonWidth,button_height:d.buttonHeight,\nbutton_cursor:SWFUpload.CURSOR.HAND,file_types:d.fileTypes,file_types_description:d.fileTypesDesc,file_upload_limit:d.fileUploadLimit,file_size_limit:d.fileSizeLimit,post_params:d.postParams,file_queued_handler:function(b){b.url=e.options.fileIconUrl;e.appendFile(b)},file_queue_error_handler:function(e,h){var o=\"\";switch(h){case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:o=d.queueLimitExceeded;break;case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:o=d.fileExceedsSizeLimit;break;case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:o=\nd.zeroByteFile;break;case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:o=d.invalidFiletype;break;default:o=d.unknownError}b.DEBUG&&alert(o)},upload_start_handler:function(d){d=b('div[data-id=\"'+d.id+'\"]',this.bodyDiv);b(\".ke-status > div\",d).hide();b(\".ke-progressbar\",d).show()},upload_progress_handler:function(b,d,f){d=Math.round(d*100/f);b=e.progressbars[b.id];b.bar.css(\"width\",Math.round(d*80/100)+\"px\");b.percent.html(d+\"%\")},upload_error_handler:function(d){d&&d.filestatus==SWFUpload.FILE_STATUS.ERROR&&\n(d=b('div[data-id=\"'+d.id+'\"]',e.bodyDiv).eq(0),j(d,e.options.errorMessage))},upload_success_handler:function(d,f){var h=b('div[data-id=\"'+d.id+'\"]',e.bodyDiv).eq(0),l={};try{l=b.json(f)}catch(s){e.options.afterError.call(this,\"<!doctype html><html>\"+f+\"</html>\")}l.error!==0?j(h,b.DEBUG?l.message:e.options.errorMessage):(d.url=l.url,b(\".ke-img\",h).attr(\"src\",d.url).attr(\"data-status\",d.filestatus).data(\"data\",l),b(\".ke-status > div\",h).hide())}};e.swfu=new SWFUpload(h);b(\".ke-swfupload-startupload input\",\ne.div).click(function(){e.swfu.startUpload()})},getUrlList:function(){var d=[];b(\".ke-img\",self.bodyDiv).each(function(){var j=b(this);j.attr(\"data-status\")==SWFUpload.FILE_STATUS.COMPLETE&&d.push(j.data(\"data\"))});return d},removeFile:function(d){this.swfu.cancelUpload(d);d=b('div[data-id=\"'+d+'\"]',this.bodyDiv);b(\".ke-photo\",d).unbind();b(\".ke-delete\",d).unbind();d.remove()},removeFiles:function(){var d=this;b(\".ke-item\",d.bodyDiv).each(function(){d.removeFile(b(this).attr(\"data-id\"))})},appendFile:function(d){var j=\nthis,e=b('<div class=\"ke-inline-block ke-item\" data-id=\"'+d.id+'\"></div>');j.bodyDiv.append(e);var h=b('<div class=\"ke-inline-block ke-photo\"></div>').mouseover(function(){b(this).addClass(\"ke-on\")}).mouseout(function(){b(this).removeClass(\"ke-on\")});e.append(h);var m=b('<img src=\"'+d.url+'\" class=\"ke-img\" data-status=\"'+d.filestatus+'\" width=\"80\" height=\"80\" alt=\"'+d.name+'\" />');h.append(m);b('<span class=\"ke-delete\"></span>').appendTo(h).click(function(){j.removeFile(d.id)});m=b('<div class=\"ke-status\"></div>').appendTo(h);\nb('<div class=\"ke-progressbar\"><div class=\"ke-progressbar-bar\"><div class=\"ke-progressbar-bar-inner\"></div></div><div class=\"ke-progressbar-percent\">0%</div></div>').hide().appendTo(m);b('<div class=\"ke-message\">'+j.options.pendingMessage+\"</div>\").appendTo(m);e.append('<div class=\"ke-name\">'+d.name+\"</div>\");j.progressbars[d.id]={bar:b(\".ke-progressbar-bar-inner\",h),percent:b(\".ke-progressbar-percent\",h)}},remove:function(){this.removeFiles();this.swfu.destroy();this.div.html(\"\")}});b.swfupload=\nfunction(b,j){return new d(b,j)}})(KindEditor);\nKindEditor.plugin(\"multiimage\",function(b){var d=this;b.undef(d.formatUploadUrl,!0);var f=b.undef(d.uploadJson,d.basePath+\"php/upload_json.php\"),j=d.pluginsPath+\"multiimage/images/\",e=b.undef(d.imageSizeLimit,\"1MB\");b.undef(d.imageFileTypes,\"*.jpg;*.gif;*.png\");var h=b.undef(d.imageUploadLimit,20),m=b.undef(d.filePostName,\"imgFile\"),n=d.lang(\"multiimage.\");d.plugin.multiImageDialog=function(o){var l=o.clickFn,o=b.tmpl(n.uploadDesc,{uploadLimit:h,sizeLimit:e}),s=d.createDialog({name:\"multiimage\",width:650,\nheight:510,title:d.lang(\"multiimage\"),body:'<div style=\"padding:20px;\"><div class=\"swfupload\"></div></div>',previewBtn:{name:n.insertAll,click:function(){l.call(d,v.getUrlList())}},yesBtn:{name:n.clearAll,click:function(){v.removeFiles()}},beforeRemove:function(){(!b.IE||b.V<=8)&&v.remove()}}),v=b.swfupload({container:b(\".swfupload\",s.div),buttonImageUrl:j+(d.langType==\"zh_CN\"?\"select-files-zh_CN.png\":\"select-files-en.png\"),buttonWidth:d.langType==\"zh_CN\"?72:88,buttonHeight:23,fileIconUrl:j+\"image.png\",\nuploadDesc:o,startButtonValue:n.startUpload,uploadUrl:b.addParam(f,\"dir=image\"),flashUrl:j+\"swfupload.swf\",filePostName:m,fileTypes:\"*.jpg;*.jpeg;*.gif;*.png;*.bmp\",fileTypesDesc:\"Image Files\",fileUploadLimit:h,fileSizeLimit:e,postParams:b.undef(d.extraFileUploadParams,{}),queueLimitExceeded:n.queueLimitExceeded,fileExceedsSizeLimit:n.fileExceedsSizeLimit,zeroByteFile:n.zeroByteFile,invalidFiletype:n.invalidFiletype,unknownError:n.unknownError,pendingMessage:n.pending,errorMessage:n.uploadError,afterError:function(b){d.errorDialog(b)}});\nreturn s};d.clickToolbar(\"multiimage\",function(){d.plugin.multiImageDialog({clickFn:function(e){e.length!==0&&(b.each(e,function(b,e){d.afterUpload&&d.afterUpload.call(d,e.url,e,\"multiimage\");d.exec(\"insertimage\",e.url,e.title,e.width,e.height,e.border,e.align)}),setTimeout(function(){d.hideDialog().focus()},0))}})})});\n(function(){window.SWFUpload=function(b){this.initSWFUpload(b)};SWFUpload.prototype.initSWFUpload=function(b){try{this.customSettings={},this.settings=b,this.eventQueue=[],this.movieName=\"KindEditor_SWFUpload_\"+SWFUpload.movieCount++,this.movieElement=null,SWFUpload.instances[this.movieName]=this,this.initSettings(),this.loadFlash(),this.displayDebugInfo()}catch(d){throw delete SWFUpload.instances[this.movieName],d;}};SWFUpload.instances={};SWFUpload.movieCount=0;SWFUpload.version=\"2.2.0 2009-03-25\";\nSWFUpload.QUEUE_ERROR={QUEUE_LIMIT_EXCEEDED:-100,FILE_EXCEEDS_SIZE_LIMIT:-110,ZERO_BYTE_FILE:-120,INVALID_FILETYPE:-130};SWFUpload.UPLOAD_ERROR={HTTP_ERROR:-200,MISSING_UPLOAD_URL:-210,IO_ERROR:-220,SECURITY_ERROR:-230,UPLOAD_LIMIT_EXCEEDED:-240,UPLOAD_FAILED:-250,SPECIFIED_FILE_ID_NOT_FOUND:-260,FILE_VALIDATION_FAILED:-270,FILE_CANCELLED:-280,UPLOAD_STOPPED:-290};SWFUpload.FILE_STATUS={QUEUED:-1,IN_PROGRESS:-2,ERROR:-3,COMPLETE:-4,CANCELLED:-5};SWFUpload.BUTTON_ACTION={SELECT_FILE:-100,SELECT_FILES:-110,\nSTART_UPLOAD:-120};SWFUpload.CURSOR={ARROW:-1,HAND:-2};SWFUpload.WINDOW_MODE={WINDOW:\"window\",TRANSPARENT:\"transparent\",OPAQUE:\"opaque\"};SWFUpload.completeURL=function(b){if(typeof b!==\"string\"||b.match(/^https?:\\/\\//i)||b.match(/^\\//))return b;var d=window.location.pathname.lastIndexOf(\"/\");path=d<=0?\"/\":window.location.pathname.substr(0,d)+\"/\";return path+b};SWFUpload.prototype.initSettings=function(){this.ensureDefault=function(b,d){this.settings[b]=this.settings[b]==void 0?d:this.settings[b]};\nthis.ensureDefault(\"upload_url\",\"\");this.ensureDefault(\"preserve_relative_urls\",!1);this.ensureDefault(\"file_post_name\",\"Filedata\");this.ensureDefault(\"post_params\",{});this.ensureDefault(\"use_query_string\",!1);this.ensureDefault(\"requeue_on_error\",!1);this.ensureDefault(\"http_success\",[]);this.ensureDefault(\"assume_success_timeout\",0);this.ensureDefault(\"file_types\",\"*.*\");this.ensureDefault(\"file_types_description\",\"All Files\");this.ensureDefault(\"file_size_limit\",0);this.ensureDefault(\"file_upload_limit\",\n0);this.ensureDefault(\"file_queue_limit\",0);this.ensureDefault(\"flash_url\",\"swfupload.swf\");this.ensureDefault(\"prevent_swf_caching\",!0);this.ensureDefault(\"button_image_url\",\"\");this.ensureDefault(\"button_width\",1);this.ensureDefault(\"button_height\",1);this.ensureDefault(\"button_text\",\"\");this.ensureDefault(\"button_text_style\",\"color: #000000; font-size: 16pt;\");this.ensureDefault(\"button_text_top_padding\",0);this.ensureDefault(\"button_text_left_padding\",0);this.ensureDefault(\"button_action\",SWFUpload.BUTTON_ACTION.SELECT_FILES);\nthis.ensureDefault(\"button_disabled\",!1);this.ensureDefault(\"button_placeholder_id\",\"\");this.ensureDefault(\"button_placeholder\",null);this.ensureDefault(\"button_cursor\",SWFUpload.CURSOR.ARROW);this.ensureDefault(\"button_window_mode\",SWFUpload.WINDOW_MODE.WINDOW);this.ensureDefault(\"debug\",!1);this.settings.debug_enabled=this.settings.debug;this.settings.return_upload_start_handler=this.returnUploadStart;this.ensureDefault(\"swfupload_loaded_handler\",null);this.ensureDefault(\"file_dialog_start_handler\",\nnull);this.ensureDefault(\"file_queued_handler\",null);this.ensureDefault(\"file_queue_error_handler\",null);this.ensureDefault(\"file_dialog_complete_handler\",null);this.ensureDefault(\"upload_start_handler\",null);this.ensureDefault(\"upload_progress_handler\",null);this.ensureDefault(\"upload_error_handler\",null);this.ensureDefault(\"upload_success_handler\",null);this.ensureDefault(\"upload_complete_handler\",null);this.ensureDefault(\"debug_handler\",this.debugMessage);this.ensureDefault(\"custom_settings\",{});\nthis.customSettings=this.settings.custom_settings;if(this.settings.prevent_swf_caching)this.settings.flash_url=this.settings.flash_url+(this.settings.flash_url.indexOf(\"?\")<0?\"?\":\"&\")+\"preventswfcaching=\"+(new Date).getTime();if(!this.settings.preserve_relative_urls)this.settings.upload_url=SWFUpload.completeURL(this.settings.upload_url),this.settings.button_image_url=SWFUpload.completeURL(this.settings.button_image_url);delete this.ensureDefault};SWFUpload.prototype.loadFlash=function(){var b,d;\nif(document.getElementById(this.movieName)!==null)throw\"ID \"+this.movieName+\" is already in use. The Flash Object could not be added\";b=document.getElementById(this.settings.button_placeholder_id)||this.settings.button_placeholder;if(b==void 0)throw\"Could not find the placeholder element: \"+this.settings.button_placeholder_id;d=document.createElement(\"div\");d.innerHTML=this.getFlashHTML();b.parentNode.replaceChild(d.firstChild,b);window[this.movieName]==void 0&&(window[this.movieName]=this.getMovieElement())};\nSWFUpload.prototype.getFlashHTML=function(){var b=\"\";KindEditor.IE&&KindEditor.V>8&&(b=' classid = \"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\"');return['<object id=\"',this.movieName,'\"'+b+' type=\"application/x-shockwave-flash\" data=\"',this.settings.flash_url,'\" width=\"',this.settings.button_width,'\" height=\"',this.settings.button_height,'\" class=\"swfupload\"><param name=\"wmode\" value=\"',this.settings.button_window_mode,'\" /><param name=\"movie\" value=\"',this.settings.flash_url,'\" /><param name=\"quality\" value=\"high\" /><param name=\"menu\" value=\"false\" /><param name=\"allowScriptAccess\" value=\"always\" />',\n'<param name=\"flashvars\" value=\"'+this.getFlashVars()+'\" />',\"</object>\"].join(\"\")};SWFUpload.prototype.getFlashVars=function(){var b=this.buildParamString(),d=this.settings.http_success.join(\",\");return[\"movieName=\",encodeURIComponent(this.movieName),\"&amp;uploadURL=\",encodeURIComponent(this.settings.upload_url),\"&amp;useQueryString=\",encodeURIComponent(this.settings.use_query_string),\"&amp;requeueOnError=\",encodeURIComponent(this.settings.requeue_on_error),\"&amp;httpSuccess=\",encodeURIComponent(d),\n\"&amp;assumeSuccessTimeout=\",encodeURIComponent(this.settings.assume_success_timeout),\"&amp;params=\",encodeURIComponent(b),\"&amp;filePostName=\",encodeURIComponent(this.settings.file_post_name),\"&amp;fileTypes=\",encodeURIComponent(this.settings.file_types),\"&amp;fileTypesDescription=\",encodeURIComponent(this.settings.file_types_description),\"&amp;fileSizeLimit=\",encodeURIComponent(this.settings.file_size_limit),\"&amp;fileUploadLimit=\",encodeURIComponent(this.settings.file_upload_limit),\"&amp;fileQueueLimit=\",\nencodeURIComponent(this.settings.file_queue_limit),\"&amp;debugEnabled=\",encodeURIComponent(this.settings.debug_enabled),\"&amp;buttonImageURL=\",encodeURIComponent(this.settings.button_image_url),\"&amp;buttonWidth=\",encodeURIComponent(this.settings.button_width),\"&amp;buttonHeight=\",encodeURIComponent(this.settings.button_height),\"&amp;buttonText=\",encodeURIComponent(this.settings.button_text),\"&amp;buttonTextTopPadding=\",encodeURIComponent(this.settings.button_text_top_padding),\"&amp;buttonTextLeftPadding=\",\nencodeURIComponent(this.settings.button_text_left_padding),\"&amp;buttonTextStyle=\",encodeURIComponent(this.settings.button_text_style),\"&amp;buttonAction=\",encodeURIComponent(this.settings.button_action),\"&amp;buttonDisabled=\",encodeURIComponent(this.settings.button_disabled),\"&amp;buttonCursor=\",encodeURIComponent(this.settings.button_cursor)].join(\"\")};SWFUpload.prototype.getMovieElement=function(){if(this.movieElement==void 0)this.movieElement=document.getElementById(this.movieName);if(this.movieElement===\nnull)throw\"Could not find Flash element\";return this.movieElement};SWFUpload.prototype.buildParamString=function(){var b=this.settings.post_params,d=[];if(typeof b===\"object\")for(var f in b)b.hasOwnProperty(f)&&d.push(encodeURIComponent(f.toString())+\"=\"+encodeURIComponent(b[f].toString()));return d.join(\"&amp;\")};SWFUpload.prototype.destroy=function(){try{this.cancelUpload(null,!1);var b=null;if((b=this.getMovieElement())&&typeof b.CallFunction===\"unknown\"){for(var d in b)try{typeof b[d]===\"function\"&&\n(b[d]=null)}catch(f){}try{b.parentNode.removeChild(b)}catch(j){}}window[this.movieName]=null;SWFUpload.instances[this.movieName]=null;delete SWFUpload.instances[this.movieName];this.movieName=this.eventQueue=this.customSettings=this.settings=this.movieElement=null;return!0}catch(e){return!1}};SWFUpload.prototype.displayDebugInfo=function(){this.debug([\"---SWFUpload Instance Info---\\nVersion: \",SWFUpload.version,\"\\nMovie Name: \",this.movieName,\"\\nSettings:\\n\\tupload_url:               \",this.settings.upload_url,\n\"\\n\\tflash_url:                \",this.settings.flash_url,\"\\n\\tuse_query_string:         \",this.settings.use_query_string.toString(),\"\\n\\trequeue_on_error:         \",this.settings.requeue_on_error.toString(),\"\\n\\thttp_success:             \",this.settings.http_success.join(\", \"),\"\\n\\tassume_success_timeout:   \",this.settings.assume_success_timeout,\"\\n\\tfile_post_name:           \",this.settings.file_post_name,\"\\n\\tpost_params:              \",this.settings.post_params.toString(),\"\\n\\tfile_types:               \",\nthis.settings.file_types,\"\\n\\tfile_types_description:   \",this.settings.file_types_description,\"\\n\\tfile_size_limit:          \",this.settings.file_size_limit,\"\\n\\tfile_upload_limit:        \",this.settings.file_upload_limit,\"\\n\\tfile_queue_limit:         \",this.settings.file_queue_limit,\"\\n\\tdebug:                    \",this.settings.debug.toString(),\"\\n\\tprevent_swf_caching:      \",this.settings.prevent_swf_caching.toString(),\"\\n\\tbutton_placeholder_id:    \",this.settings.button_placeholder_id.toString(),\n\"\\n\\tbutton_placeholder:       \",this.settings.button_placeholder?\"Set\":\"Not Set\",\"\\n\\tbutton_image_url:         \",this.settings.button_image_url.toString(),\"\\n\\tbutton_width:             \",this.settings.button_width.toString(),\"\\n\\tbutton_height:            \",this.settings.button_height.toString(),\"\\n\\tbutton_text:              \",this.settings.button_text.toString(),\"\\n\\tbutton_text_style:        \",this.settings.button_text_style.toString(),\"\\n\\tbutton_text_top_padding:  \",this.settings.button_text_top_padding.toString(),\n\"\\n\\tbutton_text_left_padding: \",this.settings.button_text_left_padding.toString(),\"\\n\\tbutton_action:            \",this.settings.button_action.toString(),\"\\n\\tbutton_disabled:          \",this.settings.button_disabled.toString(),\"\\n\\tcustom_settings:          \",this.settings.custom_settings.toString(),\"\\nEvent Handlers:\\n\\tswfupload_loaded_handler assigned:  \",(typeof this.settings.swfupload_loaded_handler===\"function\").toString(),\"\\n\\tfile_dialog_start_handler assigned: \",(typeof this.settings.file_dialog_start_handler===\n\"function\").toString(),\"\\n\\tfile_queued_handler assigned:       \",(typeof this.settings.file_queued_handler===\"function\").toString(),\"\\n\\tfile_queue_error_handler assigned:  \",(typeof this.settings.file_queue_error_handler===\"function\").toString(),\"\\n\\tupload_start_handler assigned:      \",(typeof this.settings.upload_start_handler===\"function\").toString(),\"\\n\\tupload_progress_handler assigned:   \",(typeof this.settings.upload_progress_handler===\"function\").toString(),\"\\n\\tupload_error_handler assigned:      \",\n(typeof this.settings.upload_error_handler===\"function\").toString(),\"\\n\\tupload_success_handler assigned:    \",(typeof this.settings.upload_success_handler===\"function\").toString(),\"\\n\\tupload_complete_handler assigned:   \",(typeof this.settings.upload_complete_handler===\"function\").toString(),\"\\n\\tdebug_handler assigned:             \",(typeof this.settings.debug_handler===\"function\").toString(),\"\\n\"].join(\"\"))};SWFUpload.prototype.addSetting=function(b,d,f){return d==void 0?this.settings[b]=f:this.settings[b]=\nd};SWFUpload.prototype.getSetting=function(b){if(this.settings[b]!=void 0)return this.settings[b];return\"\"};SWFUpload.prototype.callFlash=function(b,d){var d=d||[],f=this.getMovieElement(),j,e;try{e=f.CallFunction('<invoke name=\"'+b+'\" returntype=\"javascript\">'+__flash__argumentsToXML(d,0)+\"</invoke>\"),j=eval(e)}catch(h){throw\"Call to \"+b+\" failed\";}j!=void 0&&typeof j.post===\"object\"&&(j=this.unescapeFilePostParams(j));return j};SWFUpload.prototype.selectFile=function(){this.callFlash(\"SelectFile\")};\nSWFUpload.prototype.selectFiles=function(){this.callFlash(\"SelectFiles\")};SWFUpload.prototype.startUpload=function(b){this.callFlash(\"StartUpload\",[b])};SWFUpload.prototype.cancelUpload=function(b,d){d!==!1&&(d=!0);this.callFlash(\"CancelUpload\",[b,d])};SWFUpload.prototype.stopUpload=function(){this.callFlash(\"StopUpload\")};SWFUpload.prototype.getStats=function(){return this.callFlash(\"GetStats\")};SWFUpload.prototype.setStats=function(b){this.callFlash(\"SetStats\",[b])};SWFUpload.prototype.getFile=\nfunction(b){return typeof b===\"number\"?this.callFlash(\"GetFileByIndex\",[b]):this.callFlash(\"GetFile\",[b])};SWFUpload.prototype.addFileParam=function(b,d,f){return this.callFlash(\"AddFileParam\",[b,d,f])};SWFUpload.prototype.removeFileParam=function(b,d){this.callFlash(\"RemoveFileParam\",[b,d])};SWFUpload.prototype.setUploadURL=function(b){this.settings.upload_url=b.toString();this.callFlash(\"SetUploadURL\",[b])};SWFUpload.prototype.setPostParams=function(b){this.settings.post_params=b;this.callFlash(\"SetPostParams\",\n[b])};SWFUpload.prototype.addPostParam=function(b,d){this.settings.post_params[b]=d;this.callFlash(\"SetPostParams\",[this.settings.post_params])};SWFUpload.prototype.removePostParam=function(b){delete this.settings.post_params[b];this.callFlash(\"SetPostParams\",[this.settings.post_params])};SWFUpload.prototype.setFileTypes=function(b,d){this.settings.file_types=b;this.settings.file_types_description=d;this.callFlash(\"SetFileTypes\",[b,d])};SWFUpload.prototype.setFileSizeLimit=function(b){this.settings.file_size_limit=\nb;this.callFlash(\"SetFileSizeLimit\",[b])};SWFUpload.prototype.setFileUploadLimit=function(b){this.settings.file_upload_limit=b;this.callFlash(\"SetFileUploadLimit\",[b])};SWFUpload.prototype.setFileQueueLimit=function(b){this.settings.file_queue_limit=b;this.callFlash(\"SetFileQueueLimit\",[b])};SWFUpload.prototype.setFilePostName=function(b){this.settings.file_post_name=b;this.callFlash(\"SetFilePostName\",[b])};SWFUpload.prototype.setUseQueryString=function(b){this.settings.use_query_string=b;this.callFlash(\"SetUseQueryString\",\n[b])};SWFUpload.prototype.setRequeueOnError=function(b){this.settings.requeue_on_error=b;this.callFlash(\"SetRequeueOnError\",[b])};SWFUpload.prototype.setHTTPSuccess=function(b){typeof b===\"string\"&&(b=b.replace(\" \",\"\").split(\",\"));this.settings.http_success=b;this.callFlash(\"SetHTTPSuccess\",[b])};SWFUpload.prototype.setAssumeSuccessTimeout=function(b){this.settings.assume_success_timeout=b;this.callFlash(\"SetAssumeSuccessTimeout\",[b])};SWFUpload.prototype.setDebugEnabled=function(b){this.settings.debug_enabled=\nb;this.callFlash(\"SetDebugEnabled\",[b])};SWFUpload.prototype.setButtonImageURL=function(b){b==void 0&&(b=\"\");this.settings.button_image_url=b;this.callFlash(\"SetButtonImageURL\",[b])};SWFUpload.prototype.setButtonDimensions=function(b,d){this.settings.button_width=b;this.settings.button_height=d;var f=this.getMovieElement();if(f!=void 0)f.style.width=b+\"px\",f.style.height=d+\"px\";this.callFlash(\"SetButtonDimensions\",[b,d])};SWFUpload.prototype.setButtonText=function(b){this.settings.button_text=b;this.callFlash(\"SetButtonText\",\n[b])};SWFUpload.prototype.setButtonTextPadding=function(b,d){this.settings.button_text_top_padding=d;this.settings.button_text_left_padding=b;this.callFlash(\"SetButtonTextPadding\",[b,d])};SWFUpload.prototype.setButtonTextStyle=function(b){this.settings.button_text_style=b;this.callFlash(\"SetButtonTextStyle\",[b])};SWFUpload.prototype.setButtonDisabled=function(b){this.settings.button_disabled=b;this.callFlash(\"SetButtonDisabled\",[b])};SWFUpload.prototype.setButtonAction=function(b){this.settings.button_action=\nb;this.callFlash(\"SetButtonAction\",[b])};SWFUpload.prototype.setButtonCursor=function(b){this.settings.button_cursor=b;this.callFlash(\"SetButtonCursor\",[b])};SWFUpload.prototype.queueEvent=function(b,d){d==void 0?d=[]:d instanceof Array||(d=[d]);var f=this;if(typeof this.settings[b]===\"function\")this.eventQueue.push(function(){this.settings[b].apply(this,d)}),setTimeout(function(){f.executeNextEvent()},0);else if(this.settings[b]!==null)throw\"Event handler \"+b+\" is unknown or is not a function\";};\nSWFUpload.prototype.executeNextEvent=function(){var b=this.eventQueue?this.eventQueue.shift():null;typeof b===\"function\"&&b.apply(this)};SWFUpload.prototype.unescapeFilePostParams=function(b){var d=/[$]([0-9a-f]{4})/i,f={},j;if(b!=void 0){for(var e in b.post)if(b.post.hasOwnProperty(e)){j=e;for(var h;(h=d.exec(j))!==null;)j=j.replace(h[0],String.fromCharCode(parseInt(\"0x\"+h[1],16)));f[j]=b.post[e]}b.post=f}return b};SWFUpload.prototype.testExternalInterface=function(){try{return this.callFlash(\"TestExternalInterface\")}catch(b){return!1}};\nSWFUpload.prototype.flashReady=function(){var b=this.getMovieElement();b?(this.cleanUp(b),this.queueEvent(\"swfupload_loaded_handler\")):this.debug(\"Flash called back ready but the flash movie can't be found.\")};SWFUpload.prototype.cleanUp=function(b){try{if(this.movieElement&&typeof b.CallFunction===\"unknown\"){this.debug(\"Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)\");for(var d in b)try{typeof b[d]===\"function\"&&(b[d]=null)}catch(f){}}}catch(j){}window.__flash__removeCallback=\nfunction(b,d){try{b&&(b[d]=null)}catch(f){}}};SWFUpload.prototype.fileDialogStart=function(){this.queueEvent(\"file_dialog_start_handler\")};SWFUpload.prototype.fileQueued=function(b){b=this.unescapeFilePostParams(b);this.queueEvent(\"file_queued_handler\",b)};SWFUpload.prototype.fileQueueError=function(b,d,f){b=this.unescapeFilePostParams(b);this.queueEvent(\"file_queue_error_handler\",[b,d,f])};SWFUpload.prototype.fileDialogComplete=function(b,d,f){this.queueEvent(\"file_dialog_complete_handler\",[b,d,\nf])};SWFUpload.prototype.uploadStart=function(b){b=this.unescapeFilePostParams(b);this.queueEvent(\"return_upload_start_handler\",b)};SWFUpload.prototype.returnUploadStart=function(b){var d;if(typeof this.settings.upload_start_handler===\"function\")b=this.unescapeFilePostParams(b),d=this.settings.upload_start_handler.call(this,b);else if(this.settings.upload_start_handler!=void 0)throw\"upload_start_handler must be a function\";d===void 0&&(d=!0);this.callFlash(\"ReturnUploadStart\",[!!d])};SWFUpload.prototype.uploadProgress=\nfunction(b,d,f){b=this.unescapeFilePostParams(b);this.queueEvent(\"upload_progress_handler\",[b,d,f])};SWFUpload.prototype.uploadError=function(b,d,f){b=this.unescapeFilePostParams(b);this.queueEvent(\"upload_error_handler\",[b,d,f])};SWFUpload.prototype.uploadSuccess=function(b,d,f){b=this.unescapeFilePostParams(b);this.queueEvent(\"upload_success_handler\",[b,d,f])};SWFUpload.prototype.uploadComplete=function(b){b=this.unescapeFilePostParams(b);this.queueEvent(\"upload_complete_handler\",b)};SWFUpload.prototype.debug=\nfunction(b){this.queueEvent(\"debug_handler\",b)};SWFUpload.prototype.debugMessage=function(b){if(this.settings.debug){var d=[];if(typeof b===\"object\"&&typeof b.name===\"string\"&&typeof b.message===\"string\"){for(var f in b)b.hasOwnProperty(f)&&d.push(f+\": \"+b[f]);b=d.join(\"\\n\")||\"\";d=b.split(\"\\n\");b=\"EXCEPTION: \"+d.join(\"\\nEXCEPTION: \")}SWFUpload.Console.writeLine(b)}};SWFUpload.Console={};SWFUpload.Console.writeLine=function(b){var d,f;try{d=document.getElementById(\"SWFUpload_Console\");if(!d)f=document.createElement(\"form\"),\ndocument.getElementsByTagName(\"body\")[0].appendChild(f),d=document.createElement(\"textarea\"),d.id=\"SWFUpload_Console\",d.style.fontFamily=\"monospace\",d.setAttribute(\"wrap\",\"off\"),d.wrap=\"off\",d.style.overflow=\"auto\",d.style.width=\"700px\",d.style.height=\"350px\",d.style.margin=\"5px\",f.appendChild(d);d.value+=b+\"\\n\";d.scrollTop=d.scrollHeight-d.clientHeight}catch(j){alert(\"Exception: \"+j.name+\" Message: \"+j.message)}}})();\n(function(){if(typeof SWFUpload===\"function\")SWFUpload.queue={},SWFUpload.prototype.initSettings=function(b){return function(){typeof b===\"function\"&&b.call(this);this.queueSettings={};this.queueSettings.queue_cancelled_flag=!1;this.queueSettings.queue_upload_count=0;this.queueSettings.user_upload_complete_handler=this.settings.upload_complete_handler;this.queueSettings.user_upload_start_handler=this.settings.upload_start_handler;this.settings.upload_complete_handler=SWFUpload.queue.uploadCompleteHandler;\nthis.settings.upload_start_handler=SWFUpload.queue.uploadStartHandler;this.settings.queue_complete_handler=this.settings.queue_complete_handler||null}}(SWFUpload.prototype.initSettings),SWFUpload.prototype.startUpload=function(b){this.queueSettings.queue_cancelled_flag=!1;this.callFlash(\"StartUpload\",[b])},SWFUpload.prototype.cancelQueue=function(){this.queueSettings.queue_cancelled_flag=!0;this.stopUpload();for(var b=this.getStats();b.files_queued>0;)this.cancelUpload(),b=this.getStats()},SWFUpload.queue.uploadStartHandler=\nfunction(b){var d;typeof this.queueSettings.user_upload_start_handler===\"function\"&&(d=this.queueSettings.user_upload_start_handler.call(this,b));d=d===!1?!1:!0;this.queueSettings.queue_cancelled_flag=!d;return d},SWFUpload.queue.uploadCompleteHandler=function(b){var d=this.queueSettings.user_upload_complete_handler;b.filestatus===SWFUpload.FILE_STATUS.COMPLETE&&this.queueSettings.queue_upload_count++;if(typeof d===\"function\"?d.call(this,b)!==!1:b.filestatus!==SWFUpload.FILE_STATUS.QUEUED)this.getStats().files_queued>\n0&&this.queueSettings.queue_cancelled_flag===!1?this.startUpload():(this.queueSettings.queue_cancelled_flag===!1?this.queueEvent(\"queue_complete_handler\",[this.queueSettings.queue_upload_count]):this.queueSettings.queue_cancelled_flag=!1,this.queueSettings.queue_upload_count=0)}})();\nKindEditor.plugin(\"pagebreak\",function(b){var d=this,f=b.undef(d.pagebreakHtml,'<hr style=\"page-break-after: always;\" class=\"ke-pagebreak\" />');d.clickToolbar(\"pagebreak\",function(){var j=d.cmd,e=j.range;d.focus();var h=d.newlineTag==\"br\"||b.WEBKIT?\"\":'<span id=\"__kindeditor_tail_tag__\"></span>';d.insertHtml(f+h);h!==\"\"&&(h=b(\"#__kindeditor_tail_tag__\",d.edit.doc),e.selectNodeContents(h[0]),h.removeAttr(\"id\"),j.select())})});\nKindEditor.plugin(\"plainpaste\",function(b){var d=this;d.clickToolbar(\"plainpaste\",function(){var f='<div style=\"padding:10px 20px;\"><div style=\"margin-bottom:10px;\">'+d.lang(\"plainpaste.\").comment+'</div><textarea class=\"ke-textarea\" style=\"width:408px;height:260px;\"></textarea></div>',f=d.createDialog({name:\"plainpaste\",width:450,title:d.lang(\"plainpaste\"),body:f,yesBtn:{name:d.lang(\"yes\"),click:function(){var e=j.val(),e=b.escape(e),e=e.replace(/ {2}/g,\" &nbsp;\"),e=d.newlineTag==\"p\"?e.replace(/^/,\n\"<p>\").replace(/$/,\"</p>\").replace(/\\n/g,\"</p><p>\"):e.replace(/\\n/g,\"<br />$&\");d.insertHtml(e).hideDialog().focus()}}}),j=b(\"textarea\",f.div);j[0].focus()})});\nKindEditor.plugin(\"preview\",function(b){var d=this;d.clickToolbar(\"preview\",function(){d.lang(\"preview.\");var f=d.createDialog({name:\"preview\",width:750,title:d.lang(\"preview\"),body:'<div style=\"padding:10px 20px;\"><iframe class=\"ke-textarea\" frameborder=\"0\" style=\"width:708px;height:400px;\"></iframe></div>'}),f=b(\"iframe\",f.div),j=b.iframeDoc(f);j.open();j.write(d.fullHtml());j.close();b(j.body).css(\"background-color\",\"#FFF\");f[0].contentWindow.focus()})});\nKindEditor.plugin(\"quickformat\",function(b){function d(b){for(b=b.first();b&&b.first();)b=b.first();return b}var f=this,j=b.toMap(\"blockquote,center,div,h1,h2,h3,h4,h5,h6,p\");f.clickToolbar(\"quickformat\",function(){f.focus();for(var e=f.edit.doc,h=f.cmd.range,m=b(e.body).first(),n,o=[],l=[],s=h.createBookmark(!0);m;){n=m.next();var v=d(m);if(!v||v.name!=\"img\")if(j[m.name]?(m.html(m.html().replace(/^(\\s|&nbsp;|\\u3000)+/ig,\"\")),m.css(\"text-indent\",\"2em\")):l.push(m),!n||j[n.name]||j[m.name]&&!j[n.name])l.length>\n0&&o.push(l),l=[];m=n}b.each(o,function(d,f){var h=b('<p style=\"text-indent:2em;\"></p>',e);f[0].before(h);b.each(f,function(b,d){h.append(d)})});h.moveToBookmark(s);f.addBookmark()})});\nKindEditor.plugin(\"table\",function(b){function d(b,d){d=d.toUpperCase();b.css(\"background-color\",d);b.css(\"color\",d===\"#000000\"?\"#FFFFFF\":\"#000000\");b.html(d)}function f(f,h){function l(){b.each(m,function(){this.remove()});m=[];b(document).unbind(\"click,mousedown\",l);f.unbind(\"click,mousedown\",l)}h.bind(\"click,mousedown\",function(b){b.stopPropagation()});h.click(function(){l();var h=b(this),o=h.pos(),o=b.colorpicker({x:o.x,y:o.y+h.height(),z:811214,selectedColor:b(this).html(),colors:e.colorTable,\nnoColor:e.lang(\"noColor\"),shadowMode:e.shadowMode,click:function(b){d(h,b);l()}});m.push(o);b(document).bind(\"click,mousedown\",l);f.bind(\"click,mousedown\",l)})}function j(b,d,e){for(var f=b=0,h=d.cells.length;f<h;f++){if(d.cells[f]==e)break;b+=d.cells[f].rowSpan-1}return e.cellIndex-b}var e=this,h=e.lang(\"table.\"),m=[];e.plugin.table={prop:function(n){var o=['<div style=\"padding:20px;\"><div class=\"ke-dialog-row\">','<label for=\"keRows\" style=\"width:90px;\">'+h.cells+\"</label>\",h.rows+' <input type=\"text\" id=\"keRows\" class=\"ke-input-text ke-input-number\" name=\"rows\" value=\"\" maxlength=\"4\" /> &nbsp; ',\nh.cols+' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"cols\" value=\"\" maxlength=\"4\" />','</div><div class=\"ke-dialog-row\">','<label for=\"keWidth\" style=\"width:90px;\">'+h.size+\"</label>\",h.width+' <input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"\" maxlength=\"4\" /> &nbsp; ','<select name=\"widthType\">','<option value=\"%\">'+h.percent+\"</option>\",'<option value=\"px\">'+h.px+\"</option>\",\"</select> &nbsp; \",h.height+' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"\" maxlength=\"4\" /> &nbsp; ',\n'<select name=\"heightType\">','<option value=\"%\">'+h.percent+\"</option>\",'<option value=\"px\">'+h.px+\"</option>\",'</select></div><div class=\"ke-dialog-row\">','<label for=\"kePadding\" style=\"width:90px;\">'+h.space+\"</label>\",h.padding+' <input type=\"text\" id=\"kePadding\" class=\"ke-input-text ke-input-number\" name=\"padding\" value=\"\" maxlength=\"4\" /> &nbsp; ',h.spacing+' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"spacing\" value=\"\" maxlength=\"4\" />','</div><div class=\"ke-dialog-row\">',\n'<label for=\"keAlign\" style=\"width:90px;\">'+h.align+\"</label>\",'<select id=\"keAlign\" name=\"align\">','<option value=\"\">'+h.alignDefault+\"</option>\",'<option value=\"left\">'+h.alignLeft+\"</option>\",'<option value=\"center\">'+h.alignCenter+\"</option>\",'<option value=\"right\">'+h.alignRight+\"</option>\",'</select></div><div class=\"ke-dialog-row\">','<label for=\"keBorder\" style=\"width:90px;\">'+h.border+\"</label>\",h.borderWidth+' <input type=\"text\" id=\"keBorder\" class=\"ke-input-text ke-input-number\" name=\"border\" value=\"\" maxlength=\"4\" /> &nbsp; ',\nh.borderColor+' <span class=\"ke-inline-block ke-input-color\"></span>','</div><div class=\"ke-dialog-row\">','<label for=\"keBgColor\" style=\"width:90px;\">'+h.backgroundColor+\"</label>\",'<span class=\"ke-inline-block ke-input-color\"></span></div></div>'].join(\"\"),l=e.cmd.range.createBookmark(),o=e.createDialog({name:\"table\",width:500,title:e.lang(\"table\"),body:o,beforeRemove:function(){C.unbind()},yesBtn:{name:e.lang(\"yes\"),click:function(){var d=j.val(),f=m.val(),h=p.val(),n=r.val(),o=z.val(),I=D.val(),\nO=q.val(),Q=A.val(),R=B.val(),H=G.val(),U=b(C[0]).html()||\"\",W=b(C[1]).html()||\"\";if(d==0||!/^\\d+$/.test(d))alert(e.lang(\"invalidRows\")),j[0].focus();else if(f==0||!/^\\d+$/.test(f))alert(e.lang(\"invalidRows\")),m[0].focus();else if(/^\\d*$/.test(h))if(/^\\d*$/.test(n))if(/^\\d*$/.test(O))if(/^\\d*$/.test(Q))if(/^\\d*$/.test(H)){if(u)h!==\"\"?u.width(h+o):u.css(\"width\",\"\"),u[0].width!==void 0&&u.removeAttr(\"width\"),n!==\"\"?u.height(n+I):u.css(\"height\",\"\"),u[0].height!==void 0&&u.removeAttr(\"height\"),u.css(\"background-color\",\nW),u[0].bgColor!==void 0&&u.removeAttr(\"bgColor\"),O!==\"\"?u[0].cellPadding=O:u.removeAttr(\"cellPadding\"),Q!==\"\"?u[0].cellSpacing=Q:u.removeAttr(\"cellSpacing\"),R!==\"\"?u[0].align=R:u.removeAttr(\"align\"),H!==\"\"?u.attr(\"border\",H):u.removeAttr(\"border\"),H===\"\"||H===\"0\"?u.addClass(\"ke-zeroborder\"):u.removeClass(\"ke-zeroborder\"),U!==\"\"?u.attr(\"borderColor\",U):u.removeAttr(\"borderColor\"),e.hideDialog().focus(),e.cmd.range.moveToBookmark(l),e.cmd.select();else{var S=\"\";h!==\"\"&&(S+=\"width:\"+h+o+\";\");n!==\"\"&&\n(S+=\"height:\"+n+I+\";\");W!==\"\"&&(S+=\"background-color:\"+W+\";\");h=\"<table\";S!==\"\"&&(h+=' style=\"'+S+'\"');O!==\"\"&&(h+=' cellpadding=\"'+O+'\"');Q!==\"\"&&(h+=' cellspacing=\"'+Q+'\"');R!==\"\"&&(h+=' align=\"'+R+'\"');H!==\"\"&&(h+=' border=\"'+H+'\"');if(H===\"\"||H===\"0\")h+=' class=\"ke-zeroborder\"';U!==\"\"&&(h+=' bordercolor=\"'+U+'\"');h+=\">\";for(O=0;O<d;O++){h+=\"<tr>\";for(Q=0;Q<f;Q++)h+=\"<td>\"+(b.IE?\"&nbsp;\":\"<br />\")+\"</td>\";h+=\"</tr>\"}h+=\"</table>\";b.IE||(h+=\"<br />\");e.insertHtml(h);e.select().hideDialog().focus()}e.addBookmark()}else alert(e.lang(\"invalidBorder\")),\nG[0].focus();else alert(e.lang(\"invalidSpacing\")),A[0].focus();else alert(e.lang(\"invalidPadding\")),q[0].focus();else alert(e.lang(\"invalidHeight\")),r[0].focus();else alert(e.lang(\"invalidWidth\")),p[0].focus()}}}).div,j=b('[name=\"rows\"]',o).val(3),m=b('[name=\"cols\"]',o).val(2),p=b('[name=\"width\"]',o).val(100),r=b('[name=\"height\"]',o),z=b('[name=\"widthType\"]',o),D=b('[name=\"heightType\"]',o),q=b('[name=\"padding\"]',o).val(2),A=b('[name=\"spacing\"]',o).val(0),B=b('[name=\"align\"]',o),G=b('[name=\"border\"]',\no).val(1),C=b(\".ke-input-color\",o);f(o,C.eq(0));f(o,C.eq(1));d(C.eq(0),\"#000000\");d(C.eq(1),\"\");j[0].focus();j[0].select();var u;if(!n&&(u=e.plugin.getSelectedTable())){j.val(u[0].rows.length);m.val(u[0].rows.length>0?u[0].rows[0].cells.length:0);j.attr(\"disabled\",!0);m.attr(\"disabled\",!0);var I,n=u[0].style.width||u[0].width,o=u[0].style.height||u[0].height;n!==void 0&&(I=/^(\\d+)((?:px|%)*)$/.exec(n))?(p.val(I[1]),z.val(I[2])):p.val(\"\");if(o!==void 0&&(I=/^(\\d+)((?:px|%)*)$/.exec(o)))r.val(I[1]),\nD.val(I[2]);q.val(u[0].cellPadding||\"\");A.val(u[0].cellSpacing||\"\");B.val(u[0].align||\"\");G.val(u[0].border===void 0?\"\":u[0].border);d(C.eq(0),b.toHex(u.attr(\"borderColor\")||\"\"));d(C.eq(1),b.toHex(u[0].style.backgroundColor||u[0].bgColor||\"\"));p[0].focus();p[0].select()}},cellprop:function(){var n=['<div style=\"padding:20px;\"><div class=\"ke-dialog-row\">','<label for=\"keWidth\" style=\"width:90px;\">'+h.size+\"</label>\",h.width+' <input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"\" maxlength=\"4\" /> &nbsp; ',\n'<select name=\"widthType\">','<option value=\"%\">'+h.percent+\"</option>\",'<option value=\"px\">'+h.px+\"</option>\",\"</select> &nbsp; \",h.height+' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"\" maxlength=\"4\" /> &nbsp; ','<select name=\"heightType\">','<option value=\"%\">'+h.percent+\"</option>\",'<option value=\"px\">'+h.px+\"</option>\",'</select></div><div class=\"ke-dialog-row\">','<label for=\"keAlign\" style=\"width:90px;\">'+h.align+\"</label>\",h.textAlign+' <select id=\"keAlign\" name=\"textAlign\">',\n'<option value=\"\">'+h.alignDefault+\"</option>\",'<option value=\"left\">'+h.alignLeft+\"</option>\",'<option value=\"center\">'+h.alignCenter+\"</option>\",'<option value=\"right\">'+h.alignRight+\"</option>\",\"</select> \",h.verticalAlign+' <select name=\"verticalAlign\">','<option value=\"\">'+h.alignDefault+\"</option>\",'<option value=\"top\">'+h.alignTop+\"</option>\",'<option value=\"middle\">'+h.alignMiddle+\"</option>\",'<option value=\"bottom\">'+h.alignBottom+\"</option>\",'<option value=\"baseline\">'+h.alignBaseline+\"</option>\",\n'</select></div><div class=\"ke-dialog-row\">','<label for=\"keBorder\" style=\"width:90px;\">'+h.border+\"</label>\",h.borderWidth+' <input type=\"text\" id=\"keBorder\" class=\"ke-input-text ke-input-number\" name=\"border\" value=\"\" maxlength=\"4\" /> &nbsp; ',h.borderColor+' <span class=\"ke-inline-block ke-input-color\"></span>','</div><div class=\"ke-dialog-row\">','<label for=\"keBgColor\" style=\"width:90px;\">'+h.backgroundColor+\"</label>\",'<span class=\"ke-inline-block ke-input-color\"></span></div></div>'].join(\"\"),\no=e.cmd.range.createBookmark(),n=e.createDialog({name:\"table\",width:500,title:e.lang(\"tablecell\"),body:n,beforeRemove:function(){B.unbind()},yesBtn:{name:e.lang(\"yes\"),click:function(){var d=l.val(),f=j.val(),h=m.val(),n=p.val();r.val();z.val();var C=D.val(),$=q.val(),M=A.val(),K=b(B[0]).html()||\"\",O=b(B[1]).html()||\"\";/^\\d*$/.test(d)?/^\\d*$/.test(f)?/^\\d*$/.test(M)?(G.css({width:d!==\"\"?d+h:\"\",height:f!==\"\"?f+n:\"\",\"background-color\":O,\"text-align\":C,\"vertical-align\":$,\"border-width\":M,\"border-style\":M!==\n\"\"?\"solid\":\"\",\"border-color\":K}),e.hideDialog().focus(),e.cmd.range.moveToBookmark(o),e.cmd.select(),e.addBookmark()):(alert(e.lang(\"invalidBorder\")),A[0].focus()):(alert(e.lang(\"invalidHeight\")),j[0].focus()):(alert(e.lang(\"invalidWidth\")),l[0].focus())}}}).div,l=b('[name=\"width\"]',n).val(100),j=b('[name=\"height\"]',n),m=b('[name=\"widthType\"]',n),p=b('[name=\"heightType\"]',n),r=b('[name=\"padding\"]',n).val(2),z=b('[name=\"spacing\"]',n).val(0),D=b('[name=\"textAlign\"]',n),q=b('[name=\"verticalAlign\"]',\nn),A=b('[name=\"border\"]',n).val(1),B=b(\".ke-input-color\",n);f(n,B.eq(0));f(n,B.eq(1));d(B.eq(0),\"#000000\");d(B.eq(1),\"\");l[0].focus();l[0].select();var G=e.plugin.getSelectedCell(),C=G[0].style.height||G[0].height||\"\";(n=/^(\\d+)((?:px|%)*)$/.exec(G[0].style.width||G[0].width||\"\"))?(l.val(n[1]),m.val(n[2])):l.val(\"\");if(n=/^(\\d+)((?:px|%)*)$/.exec(C))j.val(n[1]),p.val(n[2]);D.val(G[0].style.textAlign||\"\");q.val(G[0].style.verticalAlign||\"\");(n=G[0].style.borderWidth||\"\")&&(n=parseInt(n));A.val(n);\nd(B.eq(0),b.toHex(G[0].style.borderColor||\"\"));d(B.eq(1),b.toHex(G[0].style.backgroundColor||\"\"));l[0].focus();l[0].select()},insert:function(){this.prop(!0)},\"delete\":function(){var b=e.plugin.getSelectedTable();e.cmd.range.setStartBefore(b[0]).collapse(!0);e.cmd.select();b.remove();e.addBookmark()},colinsert:function(d){var f=e.plugin.getSelectedTable()[0],h=e.plugin.getSelectedRow()[0],m=e.plugin.getSelectedCell()[0],d=m.cellIndex+d;d+=f.rows[0].cells.length-h.cells.length;for(var h=0,v=f.rows.length;h<\nv;h++){var p=f.rows[h],d=p.insertCell(d);d.innerHTML=b.IE?\"\":\"<br />\";d=j(f,p,d)}e.cmd.range.selectNodeContents(m).collapse(!0);e.cmd.select();e.addBookmark()},colinsertleft:function(){this.colinsert(0)},colinsertright:function(){this.colinsert(1)},rowinsert:function(d){var f=e.plugin.getSelectedTable()[0],h=e.plugin.getSelectedRow()[0],j=e.plugin.getSelectedCell()[0],m=h.rowIndex;d===1&&(m=h.rowIndex+(j.rowSpan-1)+d);for(var p=f.insertRow(m),r=0,z=h.cells.length;r<z;r++){h.cells[r].rowSpan>1&&(z-=\nh.cells[r].rowSpan-1);var D=p.insertCell(r);if(d===1&&h.cells[r].colSpan>1)D.colSpan=h.cells[r].colSpan;D.innerHTML=b.IE?\"\":\"<br />\"}for(h=m;h>=0;h--)if(d=f.rows[h].cells,d.length>r){for(f=j.cellIndex;f>=0;f--)d[f].rowSpan>1&&(d[f].rowSpan+=1);break}e.cmd.range.selectNodeContents(j).collapse(!0);e.cmd.select();e.addBookmark()},rowinsertabove:function(){this.rowinsert(0)},rowinsertbelow:function(){this.rowinsert(1)},rowmerge:function(){var b=e.plugin.getSelectedTable()[0],d=e.plugin.getSelectedRow()[0],\nf=e.plugin.getSelectedCell()[0],h=d.rowIndex+f.rowSpan,d=b.rows[h];if(!(b.rows.length<=h))b=f.cellIndex,d.cells.length<=b||(h=d.cells[b],f.colSpan===h.colSpan&&(f.rowSpan+=h.rowSpan,d.deleteCell(b),e.cmd.range.selectNodeContents(f).collapse(!0),e.cmd.select(),e.addBookmark()))},colmerge:function(){e.plugin.getSelectedTable();var b=e.plugin.getSelectedRow()[0],d=e.plugin.getSelectedCell()[0],f=d.cellIndex+1;if(!(b.cells.length<=f)){var h=b.cells[f];d.rowSpan===h.rowSpan&&(d.colSpan+=h.colSpan,b.deleteCell(f),\ne.cmd.range.selectNodeContents(d).collapse(!0),e.cmd.select(),e.addBookmark())}},rowsplit:function(){var d=e.plugin.getSelectedTable()[0],f=e.plugin.getSelectedRow()[0],h=e.plugin.getSelectedCell()[0],m=f.rowIndex;if(h.rowSpan!==1){for(var v=j(d,f,h),f=1,p=h.rowSpan;f<p;f++){var r=d.rows[m+f],v=r.insertCell(v);if(h.colSpan>1)v.colSpan=h.colSpan;v.innerHTML=b.IE?\"\":\"<br />\";v=j(d,r,v)}b(h).removeAttr(\"rowSpan\");e.cmd.range.selectNodeContents(h).collapse(!0);e.cmd.select();e.addBookmark()}},colsplit:function(){e.plugin.getSelectedTable();\nvar d=e.plugin.getSelectedRow()[0],f=e.plugin.getSelectedCell()[0],h=f.cellIndex;if(f.colSpan!==1){for(var j=1,m=f.colSpan;j<m;j++){var p=d.insertCell(h+j);if(f.rowSpan>1)p.rowSpan=f.rowSpan;p.innerHTML=b.IE?\"\":\"<br />\"}b(f).removeAttr(\"colSpan\");e.cmd.range.selectNodeContents(f).collapse(!0);e.cmd.select();e.addBookmark()}},coldelete:function(){for(var d=e.plugin.getSelectedTable()[0],f=e.plugin.getSelectedRow()[0],h=e.plugin.getSelectedCell()[0].cellIndex,j=0,m=d.rows.length;j<m;j++){var p=d.rows[j],\nr=p.cells[h];r.colSpan>1?(r.colSpan-=1,r.colSpan===1&&b(r).removeAttr(\"colSpan\")):p.deleteCell(h);r.rowSpan>1&&(j+=r.rowSpan-1)}f.cells.length===0?(e.cmd.range.setStartBefore(d).collapse(!0),e.cmd.select(),b(d).remove()):e.cmd.selection(!0);e.addBookmark()},rowdelete:function(){for(var d=e.plugin.getSelectedTable()[0],f=e.plugin.getSelectedRow()[0],h=e.plugin.getSelectedCell()[0],f=f.rowIndex,h=h.rowSpan-1;h>=0;h--)d.deleteRow(f+h);d.rows.length===0?(e.cmd.range.setStartBefore(d).collapse(!0),e.cmd.select(),\nb(d).remove()):e.cmd.selection(!0);e.addBookmark()}};e.clickToolbar(\"table\",e.plugin.table.prop)});\nKindEditor.plugin(\"template\",function(b){function d(d){return j+d+\"?ver=\"+encodeURIComponent(b.DEBUG?b.TIME:b.VERSION)}var f=this;f.lang(\"template.\");var j=f.pluginsPath+\"template/html/\";f.clickToolbar(\"template\",function(){var e=f.lang(\"template.\"),h=['<div style=\"padding:10px 20px;\">','<div class=\"ke-header\">','<div class=\"ke-left\">',e.selectTemplate+\" <select>\"];b.each(e.fileList,function(b,d){h.push('<option value=\"'+b+'\">'+d+\"</option>\")});html=[h.join(\"\"),'</select></div><div class=\"ke-right\">',\n'<input type=\"checkbox\" id=\"keReplaceFlag\" name=\"replaceFlag\" value=\"1\" /> <label for=\"keReplaceFlag\">'+e.replaceContent+\"</label>\",'</div><div class=\"ke-clearfix\"></div></div><iframe class=\"ke-textarea\" frameborder=\"0\" style=\"width:458px;height:260px;background-color:#FFF;\"></iframe></div>'].join(\"\");var e=f.createDialog({name:\"template\",width:500,title:f.lang(\"template\"),body:html,yesBtn:{name:f.lang(\"yes\"),click:function(){var d=b.iframeDoc(o);f[n[0].checked?\"html\":\"insertHtml\"](d.body.innerHTML).hideDialog().focus()}}}),\nj=b(\"select\",e.div),n=b('[name=\"replaceFlag\"]',e.div),o=b(\"iframe\",e.div);n[0].checked=!0;o.attr(\"src\",d(j.val()));j.change(function(){o.attr(\"src\",d(this.value))})})});\nKindEditor.plugin(\"wordpaste\",function(b){var d=this;d.clickToolbar(\"wordpaste\",function(){var f='<div style=\"padding:10px 20px;\"><div style=\"margin-bottom:10px;\">'+d.lang(\"wordpaste.\").comment+'</div><iframe class=\"ke-textarea\" frameborder=\"0\" style=\"width:408px;height:260px;\"></iframe></div>',f=d.createDialog({name:\"wordpaste\",width:450,title:d.lang(\"wordpaste\"),body:f,yesBtn:{name:d.lang(\"yes\"),click:function(){var e=j.body.innerHTML,e=b.clearMsWord(e,d.filterMode?d.htmlTags:b.options.htmlTags);\nd.insertHtml(e).hideDialog().focus()}}}).div,f=b(\"iframe\",f),j=b.iframeDoc(f);if(!b.IE)j.designMode=\"on\";j.open();j.write(\"<!doctype html><html><head><title>WordPaste</title></head>\");j.write('<body style=\"background-color:#FFF;font-size:12px;margin:2px;\">');b.IE||j.write(\"<br />\");j.write(\"</body></html>\");j.close();if(b.IE)j.body.contentEditable=\"true\";f[0].contentWindow.focus()})});\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/kindeditor-all.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2013 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @website http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n* @version 4.1.10 (2013-11-23)\r\n*******************************************************************************/\r\n(function (window, undefined) {\r\n\tif (window.KindEditor) {\r\n\t\treturn;\r\n\t}\r\nif (!window.console) {\r\n\twindow.console = {};\r\n}\r\nif (!console.log) {\r\n\tconsole.log = function () {};\r\n}\r\nvar _VERSION = '4.1.10 (2013-11-23)',\r\n\t_ua = navigator.userAgent.toLowerCase(),\r\n\t_IE = _ua.indexOf('msie') > -1 && _ua.indexOf('opera') == -1,\r\n\t_NEWIE = _ua.indexOf('msie') == -1 && _ua.indexOf('trident') > -1,\r\n\t_GECKO = _ua.indexOf('gecko') > -1 && _ua.indexOf('khtml') == -1,\r\n\t_WEBKIT = _ua.indexOf('applewebkit') > -1,\r\n\t_OPERA = _ua.indexOf('opera') > -1,\r\n\t_MOBILE = _ua.indexOf('mobile') > -1,\r\n\t_IOS = /ipad|iphone|ipod/.test(_ua),\r\n\t_QUIRKS = document.compatMode != 'CSS1Compat',\r\n\t_IERANGE = !window.getSelection,\r\n\t_matches = /(?:msie|firefox|webkit|opera)[\\/:\\s](\\d+)/.exec(_ua),\r\n\t_V = _matches ? _matches[1] : '0',\r\n\t_TIME = new Date().getTime();\r\nfunction _isArray(val) {\r\n\tif (!val) {\r\n\t\treturn false;\r\n\t}\r\n\treturn Object.prototype.toString.call(val) === '[object Array]';\r\n}\r\nfunction _isFunction(val) {\r\n\tif (!val) {\r\n\t\treturn false;\r\n\t}\r\n\treturn Object.prototype.toString.call(val) === '[object Function]';\r\n}\r\nfunction _inArray(val, arr) {\r\n\tfor (var i = 0, len = arr.length; i < len; i++) {\r\n\t\tif (val === arr[i]) {\r\n\t\t\treturn i;\r\n\t\t}\r\n\t}\r\n\treturn -1;\r\n}\r\nfunction _each(obj, fn) {\r\n\tif (_isArray(obj)) {\r\n\t\tfor (var i = 0, len = obj.length; i < len; i++) {\r\n\t\t\tif (fn.call(obj[i], i, obj[i]) === false) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t} else {\r\n\t\tfor (var key in obj) {\r\n\t\t\tif (obj.hasOwnProperty(key)) {\r\n\t\t\t\tif (fn.call(obj[key], key, obj[key]) === false) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\nfunction _trim(str) {\r\n\treturn str.replace(/(?:^[ \\t\\n\\r]+)|(?:[ \\t\\n\\r]+$)/g, '');\r\n}\r\nfunction _inString(val, str, delimiter) {\r\n\tdelimiter = delimiter === undefined ? ',' : delimiter;\r\n\treturn (delimiter + str + delimiter).indexOf(delimiter + val + delimiter) >= 0;\r\n}\r\nfunction _addUnit(val, unit) {\r\n\tunit = unit || 'px';\r\n\treturn val && /^\\d+$/.test(val) ? val + unit : val;\r\n}\r\nfunction _removeUnit(val) {\r\n\tvar match;\r\n\treturn val && (match = /(\\d+)/.exec(val)) ? parseInt(match[1], 10) : 0;\r\n}\r\nfunction _escape(val) {\r\n\treturn val.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;');\r\n}\r\nfunction _unescape(val) {\r\n\treturn val.replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&quot;/g, '\"').replace(/&amp;/g, '&');\r\n}\r\nfunction _toCamel(str) {\r\n\tvar arr = str.split('-');\r\n\tstr = '';\r\n\t_each(arr, function(key, val) {\r\n\t\tstr += (key > 0) ? val.charAt(0).toUpperCase() + val.substr(1) : val;\r\n\t});\r\n\treturn str;\r\n}\r\nfunction _toHex(val) {\r\n\tfunction hex(d) {\r\n\t\tvar s = parseInt(d, 10).toString(16).toUpperCase();\r\n\t\treturn s.length > 1 ? s : '0' + s;\r\n\t}\r\n\treturn val.replace(/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/ig,\r\n\t\tfunction($0, $1, $2, $3) {\r\n\t\t\treturn '#' + hex($1) + hex($2) + hex($3);\r\n\t\t}\r\n\t);\r\n}\r\nfunction _toMap(val, delimiter) {\r\n\tdelimiter = delimiter === undefined ? ',' : delimiter;\r\n\tvar map = {}, arr = _isArray(val) ? val : val.split(delimiter), match;\r\n\t_each(arr, function(key, val) {\r\n\t\tif ((match = /^(\\d+)\\.\\.(\\d+)$/.exec(val))) {\r\n\t\t\tfor (var i = parseInt(match[1], 10); i <= parseInt(match[2], 10); i++) {\r\n\t\t\t\tmap[i.toString()] = true;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tmap[val] = true;\r\n\t\t}\r\n\t});\r\n\treturn map;\r\n}\r\nfunction _toArray(obj, offset) {\r\n\treturn Array.prototype.slice.call(obj, offset || 0);\r\n}\r\nfunction _undef(val, defaultVal) {\r\n\treturn val === undefined ? defaultVal : val;\r\n}\r\nfunction _invalidUrl(url) {\r\n\treturn !url || /[<>\"]/.test(url);\r\n}\r\nfunction _addParam(url, param) {\r\n\treturn url.indexOf('?') >= 0 ? url + '&' + param : url + '?' + param;\r\n}\r\nfunction _extend(child, parent, proto) {\r\n\tif (!proto) {\r\n\t\tproto = parent;\r\n\t\tparent = null;\r\n\t}\r\n\tvar childProto;\r\n\tif (parent) {\r\n\t\tvar fn = function () {};\r\n\t\tfn.prototype = parent.prototype;\r\n\t\tchildProto = new fn();\r\n\t\t_each(proto, function(key, val) {\r\n\t\t\tchildProto[key] = val;\r\n\t\t});\r\n\t} else {\r\n\t\tchildProto = proto;\r\n\t}\r\n\tchildProto.constructor = child;\r\n\tchild.prototype = childProto;\r\n\tchild.parent = parent ? parent.prototype : null;\r\n}\r\nfunction _json(text) {\r\n\tvar match;\r\n\tif ((match = /\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\]/.exec(text))) {\r\n\t\ttext = match[0];\r\n\t}\r\n\tvar cx = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;\r\n\tcx.lastIndex = 0;\r\n\tif (cx.test(text)) {\r\n\t\ttext = text.replace(cx, function (a) {\r\n\t\t\treturn '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\r\n\t\t});\r\n\t}\r\n\tif (/^[\\],:{}\\s]*$/.\r\n\ttest(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').\r\n\treplace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']').\r\n\treplace(/(?:^|:|,)(?:\\s*\\[)+/g, ''))) {\r\n\t\treturn eval('(' + text + ')');\r\n\t}\r\n\tthrow 'JSON parse error';\r\n}\r\nvar _round = Math.round;\r\nvar K = {\r\n\tDEBUG : false,\r\n\tVERSION : _VERSION,\r\n\tIE : _IE,\r\n\tGECKO : _GECKO,\r\n\tWEBKIT : _WEBKIT,\r\n\tOPERA : _OPERA,\r\n\tV : _V,\r\n\tTIME : _TIME,\r\n\teach : _each,\r\n\tisArray : _isArray,\r\n\tisFunction : _isFunction,\r\n\tinArray : _inArray,\r\n\tinString : _inString,\r\n\ttrim : _trim,\r\n\taddUnit : _addUnit,\r\n\tremoveUnit : _removeUnit,\r\n\tescape : _escape,\r\n\tunescape : _unescape,\r\n\ttoCamel : _toCamel,\r\n\ttoHex : _toHex,\r\n\ttoMap : _toMap,\r\n\ttoArray : _toArray,\r\n\tundef : _undef,\r\n\tinvalidUrl : _invalidUrl,\r\n\taddParam : _addParam,\r\n\textend : _extend,\r\n\tjson : _json\r\n};\r\nvar _INLINE_TAG_MAP = _toMap('a,abbr,acronym,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,img,input,ins,kbd,label,map,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var'),\r\n\t_BLOCK_TAG_MAP = _toMap('address,applet,blockquote,body,center,dd,dir,div,dl,dt,fieldset,form,frameset,h1,h2,h3,h4,h5,h6,head,hr,html,iframe,ins,isindex,li,map,menu,meta,noframes,noscript,object,ol,p,pre,script,style,table,tbody,td,tfoot,th,thead,title,tr,ul'),\r\n\t_SINGLE_TAG_MAP = _toMap('area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed'),\r\n\t_STYLE_TAG_MAP = _toMap('b,basefont,big,del,em,font,i,s,small,span,strike,strong,sub,sup,u'),\r\n\t_CONTROL_TAG_MAP = _toMap('img,table,input,textarea,button'),\r\n\t_PRE_TAG_MAP = _toMap('pre,style,script'),\r\n\t_NOSPLIT_TAG_MAP = _toMap('html,head,body,td,tr,table,ol,ul,li'),\r\n\t_AUTOCLOSE_TAG_MAP = _toMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr'),\r\n\t_FILL_ATTR_MAP = _toMap('checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected'),\r\n\t_VALUE_TAG_MAP = _toMap('input,button,textarea,select');\r\nfunction _getBasePath() {\r\n\tvar els = document.getElementsByTagName('script'), src;\r\n\tfor (var i = 0, len = els.length; i < len; i++) {\r\n\t\tsrc = els[i].src || '';\r\n\t\tif (/kindeditor[\\w\\-\\.]*\\.js/.test(src)) {\r\n\t\t\treturn src.substring(0, src.lastIndexOf('/') + 1);\r\n\t\t}\r\n\t}\r\n\treturn '';\r\n}\r\nK.basePath = _getBasePath();\r\nK.options = {\r\n\tdesignMode : true,\r\n\tfullscreenMode : false,\r\n\tfilterMode : true,\r\n\twellFormatMode : true,\r\n\tshadowMode : true,\r\n\tloadStyleMode : true,\r\n\tbasePath : K.basePath,\r\n\tthemesPath : K.basePath + 'themes/',\r\n\tlangPath : K.basePath + 'lang/',\r\n\tpluginsPath : K.basePath + 'plugins/',\r\n\tthemeType : 'default',\r\n\tlangType : 'zh_CN',\r\n\turlType : '',\r\n\tnewlineTag : 'p',\r\n\tresizeType : 2,\r\n\tsyncType : 'form',\r\n\tpasteType : 2,\r\n\tdialogAlignType : 'page',\r\n\tuseContextmenu : true,\r\n\tfullscreenShortcut : false,\r\n\tbodyClass : 'ke-content',\r\n\tindentChar : '\\t',\r\n\tcssPath : '',\r\n\tcssData : '',\r\n\tminWidth : 650,\r\n\tminHeight : 100,\r\n\tminChangeSize : 50,\r\n\tzIndex : 811213,\r\n\titems : [\r\n\t\t'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'template', 'code', 'cut', 'copy', 'paste',\r\n\t\t'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright',\r\n\t\t'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript',\r\n\t\t'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/',\r\n\t\t'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',\r\n\t\t'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|', 'image', 'multiimage',\r\n\t\t'flash', 'media', 'insertfile', 'table', 'hr', 'emoticons', 'baidumap', 'pagebreak',\r\n\t\t'anchor', 'link', 'unlink', '|', 'about'\r\n\t],\r\n\tnoDisableItems : ['source', 'fullscreen'],\r\n\tcolorTable : [\r\n\t\t['#E53333', '#E56600', '#FF9900', '#64451D', '#DFC5A4', '#FFE500'],\r\n\t\t['#009900', '#006600', '#99BB00', '#B8D100', '#60D978', '#00D5FF'],\r\n\t\t['#337FE5', '#003399', '#4C33E5', '#9933E5', '#CC33E5', '#EE33EE'],\r\n\t\t['#FFFFFF', '#CCCCCC', '#999999', '#666666', '#333333', '#000000']\r\n\t],\r\n\tfontSizeTable : ['9px', '10px', '12px', '14px', '16px', '18px', '24px', '32px'],\r\n\thtmlTags : {\r\n\t\tfont : ['id', 'class', 'color', 'size', 'face', '.background-color'],\r\n\t\tspan : [\r\n\t\t\t'id', 'class', '.color', '.background-color', '.font-size', '.font-family', '.background',\r\n\t\t\t'.font-weight', '.font-style', '.text-decoration', '.vertical-align', '.line-height'\r\n\t\t],\r\n\t\tdiv : [\r\n\t\t\t'id', 'class', 'align', '.border', '.margin', '.padding', '.text-align', '.color',\r\n\t\t\t'.background-color', '.font-size', '.font-family', '.font-weight', '.background',\r\n\t\t\t'.font-style', '.text-decoration', '.vertical-align', '.margin-left'\r\n\t\t],\r\n\t\ttable: [\r\n\t\t\t'id', 'class', 'border', 'cellspacing', 'cellpadding', 'width', 'height', 'align', 'bordercolor',\r\n\t\t\t'.padding', '.margin', '.border', 'bgcolor', '.text-align', '.color', '.background-color',\r\n\t\t\t'.font-size', '.font-family', '.font-weight', '.font-style', '.text-decoration', '.background',\r\n\t\t\t'.width', '.height', '.border-collapse'\r\n\t\t],\r\n\t\t'td,th': [\r\n\t\t\t'id', 'class', 'align', 'valign', 'width', 'height', 'colspan', 'rowspan', 'bgcolor',\r\n\t\t\t'.text-align', '.color', '.background-color', '.font-size', '.font-family', '.font-weight',\r\n\t\t\t'.font-style', '.text-decoration', '.vertical-align', '.background', '.border'\r\n\t\t],\r\n\t\ta : ['id', 'class', 'href', 'target', 'name'],\r\n\t\tembed : ['id', 'class', 'src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess'],\r\n\t\timg : ['id', 'class', 'src', 'width', 'height', 'border', 'alt', 'title', 'align', '.width', '.height', '.border'],\r\n\t\t'p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : [\r\n\t\t\t'id', 'class', 'align', '.text-align', '.color', '.background-color', '.font-size', '.font-family', '.background',\r\n\t\t\t'.font-weight', '.font-style', '.text-decoration', '.vertical-align', '.text-indent', '.margin-left'\r\n\t\t],\r\n\t\tpre : ['id', 'class'],\r\n\t\thr : ['id', 'class', '.page-break-after'],\r\n\t\t'br,tbody,tr,strong,b,sub,sup,em,i,u,strike,s,del' : ['id', 'class'],\r\n\t\tiframe : ['id', 'class', 'src', 'frameborder', 'width', 'height', '.width', '.height']\r\n\t},\r\n\tlayout : '<div class=\"container\"><div class=\"toolbar\"></div><div class=\"edit\"></div><div class=\"statusbar\"></div></div>'\r\n};\r\nvar _useCapture = false;\r\nvar _INPUT_KEY_MAP = _toMap('8,9,13,32,46,48..57,59,61,65..90,106,109..111,188,190..192,219..222');\r\nvar _CURSORMOVE_KEY_MAP = _toMap('33..40');\r\nvar _CHANGE_KEY_MAP = {};\r\n_each(_INPUT_KEY_MAP, function(key, val) {\r\n\t_CHANGE_KEY_MAP[key] = val;\r\n});\r\n_each(_CURSORMOVE_KEY_MAP, function(key, val) {\r\n\t_CHANGE_KEY_MAP[key] = val;\r\n});\r\nfunction _bindEvent(el, type, fn) {\r\n\tif (el.addEventListener){\r\n\t\tel.addEventListener(type, fn, _useCapture);\r\n\t} else if (el.attachEvent){\r\n\t\tel.attachEvent('on' + type, fn);\r\n\t}\r\n}\r\nfunction _unbindEvent(el, type, fn) {\r\n\tif (el.removeEventListener){\r\n\t\tel.removeEventListener(type, fn, _useCapture);\r\n\t} else if (el.detachEvent){\r\n\t\tel.detachEvent('on' + type, fn);\r\n\t}\r\n}\r\nvar _EVENT_PROPS = ('altKey,attrChange,attrName,bubbles,button,cancelable,charCode,clientX,clientY,ctrlKey,currentTarget,' +\r\n\t'data,detail,eventPhase,fromElement,handler,keyCode,metaKey,newValue,offsetX,offsetY,originalTarget,pageX,' +\r\n\t'pageY,prevValue,relatedNode,relatedTarget,screenX,screenY,shiftKey,srcElement,target,toElement,view,wheelDelta,which').split(',');\r\nfunction KEvent(el, event) {\r\n\tthis.init(el, event);\r\n}\r\n_extend(KEvent, {\r\n\tinit : function(el, event) {\r\n\t\tvar self = this, doc = el.ownerDocument || el.document || el;\r\n\t\tself.event = event;\r\n\t\t_each(_EVENT_PROPS, function(key, val) {\r\n\t\t\tself[val] = event[val];\r\n\t\t});\r\n\t\tif (!self.target) {\r\n\t\t\tself.target = self.srcElement || doc;\r\n\t\t}\r\n\t\tif (self.target.nodeType === 3) {\r\n\t\t\tself.target = self.target.parentNode;\r\n\t\t}\r\n\t\tif (!self.relatedTarget && self.fromElement) {\r\n\t\t\tself.relatedTarget = self.fromElement === self.target ? self.toElement : self.fromElement;\r\n\t\t}\r\n\t\tif (self.pageX == null && self.clientX != null) {\r\n\t\t\tvar d = doc.documentElement, body = doc.body;\r\n\t\t\tself.pageX = self.clientX + (d && d.scrollLeft || body && body.scrollLeft || 0) - (d && d.clientLeft || body && body.clientLeft || 0);\r\n\t\t\tself.pageY = self.clientY + (d && d.scrollTop  || body && body.scrollTop  || 0) - (d && d.clientTop  || body && body.clientTop  || 0);\r\n\t\t}\r\n\t\tif (!self.which && ((self.charCode || self.charCode === 0) ? self.charCode : self.keyCode)) {\r\n\t\t\tself.which = self.charCode || self.keyCode;\r\n\t\t}\r\n\t\tif (!self.metaKey && self.ctrlKey) {\r\n\t\t\tself.metaKey = self.ctrlKey;\r\n\t\t}\r\n\t\tif (!self.which && self.button !== undefined) {\r\n\t\t\tself.which = (self.button & 1 ? 1 : (self.button & 2 ? 3 : (self.button & 4 ? 2 : 0)));\r\n\t\t}\r\n\t\tswitch (self.which) {\r\n\t\tcase 186 :\r\n\t\t\tself.which = 59;\r\n\t\t\tbreak;\r\n\t\tcase 187 :\r\n\t\tcase 107 :\r\n\t\tcase 43 :\r\n\t\t\tself.which = 61;\r\n\t\t\tbreak;\r\n\t\tcase 189 :\r\n\t\tcase 45 :\r\n\t\t\tself.which = 109;\r\n\t\t\tbreak;\r\n\t\tcase 42 :\r\n\t\t\tself.which = 106;\r\n\t\t\tbreak;\r\n\t\tcase 47 :\r\n\t\t\tself.which = 111;\r\n\t\t\tbreak;\r\n\t\tcase 78 :\r\n\t\t\tself.which = 110;\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tif (self.which >= 96 && self.which <= 105) {\r\n\t\t\tself.which -= 48;\r\n\t\t}\r\n\t},\r\n\tpreventDefault : function() {\r\n\t\tvar ev = this.event;\r\n\t\tif (ev.preventDefault) {\r\n\t\t\tev.preventDefault();\r\n\t\t} else {\r\n\t\t\tev.returnValue = false;\r\n\t\t}\r\n\t},\r\n\tstopPropagation : function() {\r\n\t\tvar ev = this.event;\r\n\t\tif (ev.stopPropagation) {\r\n\t\t\tev.stopPropagation();\r\n\t\t} else {\r\n\t\t\tev.cancelBubble = true;\r\n\t\t}\r\n\t},\r\n\tstop : function() {\r\n\t\tthis.preventDefault();\r\n\t\tthis.stopPropagation();\r\n\t}\r\n});\r\nvar _eventExpendo = 'kindeditor_' + _TIME, _eventId = 0, _eventData = {};\r\nfunction _getId(el) {\r\n\treturn el[_eventExpendo] || null;\r\n}\r\nfunction _setId(el) {\r\n\tel[_eventExpendo] = ++_eventId;\r\n\treturn _eventId;\r\n}\r\nfunction _removeId(el) {\r\n\ttry {\r\n\t\tdelete el[_eventExpendo];\r\n\t} catch(e) {\r\n\t\tif (el.removeAttribute) {\r\n\t\t\tel.removeAttribute(_eventExpendo);\r\n\t\t}\r\n\t}\r\n}\r\nfunction _bind(el, type, fn) {\r\n\tif (type.indexOf(',') >= 0) {\r\n\t\t_each(type.split(','), function() {\r\n\t\t\t_bind(el, this, fn);\r\n\t\t});\r\n\t\treturn;\r\n\t}\r\n\tvar id = _getId(el);\r\n\tif (!id) {\r\n\t\tid = _setId(el);\r\n\t}\r\n\tif (_eventData[id] === undefined) {\r\n\t\t_eventData[id] = {};\r\n\t}\r\n\tvar events = _eventData[id][type];\r\n\tif (events && events.length > 0) {\r\n\t\t_unbindEvent(el, type, events[0]);\r\n\t} else {\r\n\t\t_eventData[id][type] = [];\r\n\t\t_eventData[id].el = el;\r\n\t}\r\n\tevents = _eventData[id][type];\r\n\tif (events.length === 0) {\r\n\t\tevents[0] = function(e) {\r\n\t\t\tvar kevent = e ? new KEvent(el, e) : undefined;\r\n\t\t\t_each(events, function(i, event) {\r\n\t\t\t\tif (i > 0 && event) {\r\n\t\t\t\t\tevent.call(el, kevent);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t}\r\n\tif (_inArray(fn, events) < 0) {\r\n\t\tevents.push(fn);\r\n\t}\r\n\t_bindEvent(el, type, events[0]);\r\n}\r\nfunction _unbind(el, type, fn) {\r\n\tif (type && type.indexOf(',') >= 0) {\r\n\t\t_each(type.split(','), function() {\r\n\t\t\t_unbind(el, this, fn);\r\n\t\t});\r\n\t\treturn;\r\n\t}\r\n\tvar id = _getId(el);\r\n\tif (!id) {\r\n\t\treturn;\r\n\t}\r\n\tif (type === undefined) {\r\n\t\tif (id in _eventData) {\r\n\t\t\t_each(_eventData[id], function(key, events) {\r\n\t\t\t\tif (key != 'el' && events.length > 0) {\r\n\t\t\t\t\t_unbindEvent(el, key, events[0]);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tdelete _eventData[id];\r\n\t\t\t_removeId(el);\r\n\t\t}\r\n\t\treturn;\r\n\t}\r\n\tif (!_eventData[id]) {\r\n\t\treturn;\r\n\t}\r\n\tvar events = _eventData[id][type];\r\n\tif (events && events.length > 0) {\r\n\t\tif (fn === undefined) {\r\n\t\t\t_unbindEvent(el, type, events[0]);\r\n\t\t\tdelete _eventData[id][type];\r\n\t\t} else {\r\n\t\t\t_each(events, function(i, event) {\r\n\t\t\t\tif (i > 0 && event === fn) {\r\n\t\t\t\t\tevents.splice(i, 1);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (events.length == 1) {\r\n\t\t\t\t_unbindEvent(el, type, events[0]);\r\n\t\t\t\tdelete _eventData[id][type];\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar count = 0;\r\n\t\t_each(_eventData[id], function() {\r\n\t\t\tcount++;\r\n\t\t});\r\n\t\tif (count < 2) {\r\n\t\t\tdelete _eventData[id];\r\n\t\t\t_removeId(el);\r\n\t\t}\r\n\t}\r\n}\r\nfunction _fire(el, type) {\r\n\tif (type.indexOf(',') >= 0) {\r\n\t\t_each(type.split(','), function() {\r\n\t\t\t_fire(el, this);\r\n\t\t});\r\n\t\treturn;\r\n\t}\r\n\tvar id = _getId(el);\r\n\tif (!id) {\r\n\t\treturn;\r\n\t}\r\n\tvar events = _eventData[id][type];\r\n\tif (_eventData[id] && events && events.length > 0) {\r\n\t\tevents[0]();\r\n\t}\r\n}\r\nfunction _ctrl(el, key, fn) {\r\n\tvar self = this;\r\n\tkey = /^\\d{2,}$/.test(key) ? key : key.toUpperCase().charCodeAt(0);\r\n\t_bind(el, 'keydown', function(e) {\r\n\t\tif (e.ctrlKey && e.which == key && !e.shiftKey && !e.altKey) {\r\n\t\t\tfn.call(el);\r\n\t\t\te.stop();\r\n\t\t}\r\n\t});\r\n}\r\nvar _readyFinished = false;\r\nfunction _ready(fn) {\r\n\tif (_readyFinished) {\r\n\t\tfn(KindEditor);\r\n\t\treturn;\r\n\t}\r\n\tvar loaded = false;\r\n\tfunction readyFunc() {\r\n\t\tif (!loaded) {\r\n\t\t\tloaded = true;\r\n\t\t\tfn(KindEditor);\r\n\t\t\t_readyFinished = true;\r\n\t\t}\r\n\t}\r\n\tfunction ieReadyFunc() {\r\n\t\tif (!loaded) {\r\n\t\t\ttry {\r\n\t\t\t\tdocument.documentElement.doScroll('left');\r\n\t\t\t} catch(e) {\r\n\t\t\t\tsetTimeout(ieReadyFunc, 100);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\treadyFunc();\r\n\t\t}\r\n\t}\r\n\tfunction ieReadyStateFunc() {\r\n\t\tif (document.readyState === 'complete') {\r\n\t\t\treadyFunc();\r\n\t\t}\r\n\t}\r\n\tif (document.addEventListener) {\r\n\t\t_bind(document, 'DOMContentLoaded', readyFunc);\r\n\t} else if (document.attachEvent) {\r\n\t\t_bind(document, 'readystatechange', ieReadyStateFunc);\r\n\t\tvar toplevel = false;\r\n\t\ttry {\r\n\t\t\ttoplevel = window.frameElement == null;\r\n\t\t} catch(e) {}\r\n\t\tif (document.documentElement.doScroll && toplevel) {\r\n\t\t\tieReadyFunc();\r\n\t\t}\r\n\t}\r\n\t_bind(window, 'load', readyFunc);\r\n}\r\nif (_IE) {\r\n\twindow.attachEvent('onunload', function() {\r\n\t\t_each(_eventData, function(key, events) {\r\n\t\t\tif (events.el) {\r\n\t\t\t\t_unbind(events.el);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\nK.ctrl = _ctrl;\r\nK.ready = _ready;\r\nfunction _getCssList(css) {\r\n\tvar list = {},\r\n\t\treg = /\\s*([\\w\\-]+)\\s*:([^;]*)(;|$)/g,\r\n\t\tmatch;\r\n\twhile ((match = reg.exec(css))) {\r\n\t\tvar key = _trim(match[1].toLowerCase()),\r\n\t\t\tval = _trim(_toHex(match[2]));\r\n\t\tlist[key] = val;\r\n\t}\r\n\treturn list;\r\n}\r\nfunction _getAttrList(tag) {\r\n\tvar list = {},\r\n\t\treg = /\\s+(?:([\\w\\-:]+)|(?:([\\w\\-:]+)=([^\\s\"'<>]+))|(?:([\\w\\-:\"]+)=\"([^\"]*)\")|(?:([\\w\\-:\"]+)='([^']*)'))(?=(?:\\s|\\/|>)+)/g,\r\n\t\tmatch;\r\n\twhile ((match = reg.exec(tag))) {\r\n\t\tvar key = (match[1] || match[2] || match[4] || match[6]).toLowerCase(),\r\n\t\t\tval = (match[2] ? match[3] : (match[4] ? match[5] : match[7])) || '';\r\n\t\tlist[key] = val;\r\n\t}\r\n\treturn list;\r\n}\r\nfunction _addClassToTag(tag, className) {\r\n\tif (/\\s+class\\s*=/.test(tag)) {\r\n\t\ttag = tag.replace(/(\\s+class=[\"']?)([^\"']*)([\"']?[\\s>])/, function($0, $1, $2, $3) {\r\n\t\t\tif ((' ' + $2 + ' ').indexOf(' ' + className + ' ') < 0) {\r\n\t\t\t\treturn $2 === '' ? $1 + className + $3 : $1 + $2 + ' ' + className + $3;\r\n\t\t\t} else {\r\n\t\t\t\treturn $0;\r\n\t\t\t}\r\n\t\t});\r\n\t} else {\r\n\t\ttag = tag.substr(0, tag.length - 1) + ' class=\"' + className + '\">';\r\n\t}\r\n\treturn tag;\r\n}\r\nfunction _formatCss(css) {\r\n\tvar str = '';\r\n\t_each(_getCssList(css), function(key, val) {\r\n\t\tstr += key + ':' + val + ';';\r\n\t});\r\n\treturn str;\r\n}\r\nfunction _formatUrl(url, mode, host, pathname) {\r\n\tmode = _undef(mode, '').toLowerCase();\r\n\tif (url.substr(0, 5) != 'data:') {\r\n\t\turl = url.replace(/([^:])\\/\\//g, '$1/');\r\n\t}\r\n\tif (_inArray(mode, ['absolute', 'relative', 'domain']) < 0) {\r\n\t\treturn url;\r\n\t}\r\n\thost = host || location.protocol + '//' + location.host;\r\n\tif (pathname === undefined) {\r\n\t\tvar m = location.pathname.match(/^(\\/.*)\\//);\r\n\t\tpathname = m ? m[1] : '';\r\n\t}\r\n\tvar match;\r\n\tif ((match = /^(\\w+:\\/\\/[^\\/]*)/.exec(url))) {\r\n\t\tif (match[1] !== host) {\r\n\t\t\treturn url;\r\n\t\t}\r\n\t} else if (/^\\w+:/.test(url)) {\r\n\t\treturn url;\r\n\t}\r\n\tfunction getRealPath(path) {\r\n\t\tvar parts = path.split('/'), paths = [];\r\n\t\tfor (var i = 0, len = parts.length; i < len; i++) {\r\n\t\t\tvar part = parts[i];\r\n\t\t\tif (part == '..') {\r\n\t\t\t\tif (paths.length > 0) {\r\n\t\t\t\t\tpaths.pop();\r\n\t\t\t\t}\r\n\t\t\t} else if (part !== '' && part != '.') {\r\n\t\t\t\tpaths.push(part);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn '/' + paths.join('/');\r\n\t}\r\n\tif (/^\\//.test(url)) {\r\n\t\turl = host + getRealPath(url.substr(1));\r\n\t} else if (!/^\\w+:\\/\\//.test(url)) {\r\n\t\turl = host + getRealPath(pathname + '/' + url);\r\n\t}\r\n\tfunction getRelativePath(path, depth) {\r\n\t\tif (url.substr(0, path.length) === path) {\r\n\t\t\tvar arr = [];\r\n\t\t\tfor (var i = 0; i < depth; i++) {\r\n\t\t\t\tarr.push('..');\r\n\t\t\t}\r\n\t\t\tvar prefix = '.';\r\n\t\t\tif (arr.length > 0) {\r\n\t\t\t\tprefix += '/' + arr.join('/');\r\n\t\t\t}\r\n\t\t\tif (pathname == '/') {\r\n\t\t\t\tprefix += '/';\r\n\t\t\t}\r\n\t\t\treturn prefix + url.substr(path.length);\r\n\t\t} else {\r\n\t\t\tif ((match = /^(.*)\\//.exec(path))) {\r\n\t\t\t\treturn getRelativePath(match[1], ++depth);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (mode === 'relative') {\r\n\t\turl = getRelativePath(host + pathname, 0).substr(2);\r\n\t} else if (mode === 'absolute') {\r\n\t\tif (url.substr(0, host.length) === host) {\r\n\t\t\turl = url.substr(host.length);\r\n\t\t}\r\n\t}\r\n\treturn url;\r\n}\r\nfunction _formatHtml(html, htmlTags, urlType, wellFormatted, indentChar) {\r\n\tif (html == null) {\r\n\t\thtml = '';\r\n\t}\r\n\turlType = urlType || '';\r\n\twellFormatted = _undef(wellFormatted, false);\r\n\tindentChar = _undef(indentChar, '\\t');\r\n\tvar fontSizeList = 'xx-small,x-small,small,medium,large,x-large,xx-large'.split(',');\r\n\thtml = html.replace(/(<(?:pre|pre\\s[^>]*)>)([\\s\\S]*?)(<\\/pre>)/ig, function($0, $1, $2, $3) {\r\n\t\treturn $1 + $2.replace(/<(?:br|br\\s[^>]*)>/ig, '\\n') + $3;\r\n\t});\r\n\thtml = html.replace(/<(?:br|br\\s[^>]*)\\s*\\/?>\\s*<\\/p>/ig, '</p>');\r\n\thtml = html.replace(/(<(?:p|p\\s[^>]*)>)\\s*(<\\/p>)/ig, '$1<br />$2');\r\n\thtml = html.replace(/\\u200B/g, '');\r\n\thtml = html.replace(/\\u00A9/g, '&copy;');\r\n\thtml = html.replace(/\\u00AE/g, '&reg;');\r\n\thtml = html.replace(/<[^>]+/g, function($0) {\r\n\t\treturn $0.replace(/\\s+/g, ' ');\r\n\t});\r\n\tvar htmlTagMap = {};\r\n\tif (htmlTags) {\r\n\t\t_each(htmlTags, function(key, val) {\r\n\t\t\tvar arr = key.split(',');\r\n\t\t\tfor (var i = 0, len = arr.length; i < len; i++) {\r\n\t\t\t\thtmlTagMap[arr[i]] = _toMap(val);\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (!htmlTagMap.script) {\r\n\t\t\thtml = html.replace(/(<(?:script|script\\s[^>]*)>)([\\s\\S]*?)(<\\/script>)/ig, '');\r\n\t\t}\r\n\t\tif (!htmlTagMap.style) {\r\n\t\t\thtml = html.replace(/(<(?:style|style\\s[^>]*)>)([\\s\\S]*?)(<\\/style>)/ig, '');\r\n\t\t}\r\n\t}\r\n\tvar re = /(\\s*)<(\\/)?([\\w\\-:]+)((?:\\s+|(?:\\s+[\\w\\-:]+)|(?:\\s+[\\w\\-:]+=[^\\s\"'<>]+)|(?:\\s+[\\w\\-:\"]+=\"[^\"]*\")|(?:\\s+[\\w\\-:\"]+='[^']*'))*)(\\/)?>(\\s*)/g;\r\n\tvar tagStack = [];\r\n\thtml = html.replace(re, function($0, $1, $2, $3, $4, $5, $6) {\r\n\t\tvar full = $0,\r\n\t\t\tstartNewline = $1 || '',\r\n\t\t\tstartSlash = $2 || '',\r\n\t\t\ttagName = $3.toLowerCase(),\r\n\t\t\tattr = $4 || '',\r\n\t\t\tendSlash = $5 ? ' ' + $5 : '',\r\n\t\t\tendNewline = $6 || '';\r\n\t\tif (htmlTags && !htmlTagMap[tagName]) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tif (endSlash === '' && _SINGLE_TAG_MAP[tagName]) {\r\n\t\t\tendSlash = ' /';\r\n\t\t}\r\n\t\tif (_INLINE_TAG_MAP[tagName]) {\r\n\t\t\tif (startNewline) {\r\n\t\t\t\tstartNewline = ' ';\r\n\t\t\t}\r\n\t\t\tif (endNewline) {\r\n\t\t\t\tendNewline = ' ';\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (_PRE_TAG_MAP[tagName]) {\r\n\t\t\tif (startSlash) {\r\n\t\t\t\tendNewline = '\\n';\r\n\t\t\t} else {\r\n\t\t\t\tstartNewline = '\\n';\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (wellFormatted && tagName == 'br') {\r\n\t\t\tendNewline = '\\n';\r\n\t\t}\r\n\t\tif (_BLOCK_TAG_MAP[tagName] && !_PRE_TAG_MAP[tagName]) {\r\n\t\t\tif (wellFormatted) {\r\n\t\t\t\tif (startSlash && tagStack.length > 0 && tagStack[tagStack.length - 1] === tagName) {\r\n\t\t\t\t\ttagStack.pop();\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttagStack.push(tagName);\r\n\t\t\t\t}\r\n\t\t\t\tstartNewline = '\\n';\r\n\t\t\t\tendNewline = '\\n';\r\n\t\t\t\tfor (var i = 0, len = startSlash ? tagStack.length : tagStack.length - 1; i < len; i++) {\r\n\t\t\t\t\tstartNewline += indentChar;\r\n\t\t\t\t\tif (!startSlash) {\r\n\t\t\t\t\t\tendNewline += indentChar;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (endSlash) {\r\n\t\t\t\t\ttagStack.pop();\r\n\t\t\t\t} else if (!startSlash) {\r\n\t\t\t\t\tendNewline += indentChar;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tstartNewline = endNewline = '';\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (attr !== '') {\r\n\t\t\tvar attrMap = _getAttrList(full);\r\n\t\t\tif (tagName === 'font') {\r\n\t\t\t\tvar fontStyleMap = {}, fontStyle = '';\r\n\t\t\t\t_each(attrMap, function(key, val) {\r\n\t\t\t\t\tif (key === 'color') {\r\n\t\t\t\t\t\tfontStyleMap.color = val;\r\n\t\t\t\t\t\tdelete attrMap[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (key === 'size') {\r\n\t\t\t\t\t\tfontStyleMap['font-size'] = fontSizeList[parseInt(val, 10) - 1] || '';\r\n\t\t\t\t\t\tdelete attrMap[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (key === 'face') {\r\n\t\t\t\t\t\tfontStyleMap['font-family'] = val;\r\n\t\t\t\t\t\tdelete attrMap[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (key === 'style') {\r\n\t\t\t\t\t\tfontStyle = val;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif (fontStyle && !/;$/.test(fontStyle)) {\r\n\t\t\t\t\tfontStyle += ';';\r\n\t\t\t\t}\r\n\t\t\t\t_each(fontStyleMap, function(key, val) {\r\n\t\t\t\t\tif (val === '') {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (/\\s/.test(val)) {\r\n\t\t\t\t\t\tval = \"'\" + val + \"'\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfontStyle += key + ':' + val + ';';\r\n\t\t\t\t});\r\n\t\t\t\tattrMap.style = fontStyle;\r\n\t\t\t}\r\n\t\t\t_each(attrMap, function(key, val) {\r\n\t\t\t\tif (_FILL_ATTR_MAP[key]) {\r\n\t\t\t\t\tattrMap[key] = key;\r\n\t\t\t\t}\r\n\t\t\t\tif (_inArray(key, ['src', 'href']) >= 0) {\r\n\t\t\t\t\tattrMap[key] = _formatUrl(val, urlType);\r\n\t\t\t\t}\r\n\t\t\t\tif (htmlTags && key !== 'style' && !htmlTagMap[tagName]['*'] && !htmlTagMap[tagName][key] ||\r\n\t\t\t\t\ttagName === 'body' && key === 'contenteditable' ||\r\n\t\t\t\t\t/^kindeditor_\\d+$/.test(key)) {\r\n\t\t\t\t\tdelete attrMap[key];\r\n\t\t\t\t}\r\n\t\t\t\tif (key === 'style' && val !== '') {\r\n\t\t\t\t\tvar styleMap = _getCssList(val);\r\n\t\t\t\t\t_each(styleMap, function(k, v) {\r\n\t\t\t\t\t\tif (htmlTags && !htmlTagMap[tagName].style && !htmlTagMap[tagName]['.' + k]) {\r\n\t\t\t\t\t\t\tdelete styleMap[k];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tvar style = '';\r\n\t\t\t\t\t_each(styleMap, function(k, v) {\r\n\t\t\t\t\t\tstyle += k + ':' + v + ';';\r\n\t\t\t\t\t});\r\n\t\t\t\t\tattrMap.style = style;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tattr = '';\r\n\t\t\t_each(attrMap, function(key, val) {\r\n\t\t\t\tif (key === 'style' && val === '') {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tval = val.replace(/\"/g, '&quot;');\r\n\t\t\t\tattr += ' ' + key + '=\"' + val + '\"';\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (tagName === 'font') {\r\n\t\t\ttagName = 'span';\r\n\t\t}\r\n\t\treturn startNewline + '<' + startSlash + tagName + attr + endSlash + '>' + endNewline;\r\n\t});\r\n\thtml = html.replace(/(<(?:pre|pre\\s[^>]*)>)([\\s\\S]*?)(<\\/pre>)/ig, function($0, $1, $2, $3) {\r\n\t\treturn $1 + $2.replace(/\\n/g, '<span id=\"__kindeditor_pre_newline__\">\\n') + $3;\r\n\t});\r\n\thtml = html.replace(/\\n\\s*\\n/g, '\\n');\r\n\thtml = html.replace(/<span id=\"__kindeditor_pre_newline__\">\\n/g, '\\n');\r\n\treturn _trim(html);\r\n}\r\nfunction _clearMsWord(html, htmlTags) {\r\n\thtml = html.replace(/<meta[\\s\\S]*?>/ig, '')\r\n\t\t.replace(/<![\\s\\S]*?>/ig, '')\r\n\t\t.replace(/<style[^>]*>[\\s\\S]*?<\\/style>/ig, '')\r\n\t\t.replace(/<script[^>]*>[\\s\\S]*?<\\/script>/ig, '')\r\n\t\t.replace(/<w:[^>]+>[\\s\\S]*?<\\/w:[^>]+>/ig, '')\r\n\t\t.replace(/<o:[^>]+>[\\s\\S]*?<\\/o:[^>]+>/ig, '')\r\n\t\t.replace(/<xml>[\\s\\S]*?<\\/xml>/ig, '')\r\n\t\t.replace(/<(?:table|td)[^>]*>/ig, function(full) {\r\n\t\t\treturn full.replace(/border-bottom:([#\\w\\s]+)/ig, 'border:$1');\r\n\t\t});\r\n\treturn _formatHtml(html, htmlTags);\r\n}\r\nfunction _mediaType(src) {\r\n\tif (/\\.(rm|rmvb)(\\?|$)/i.test(src)) {\r\n\t\treturn 'audio/x-pn-realaudio-plugin';\r\n\t}\r\n\tif (/\\.(swf|flv)(\\?|$)/i.test(src)) {\r\n\t\treturn 'application/x-shockwave-flash';\r\n\t}\r\n\treturn 'video/x-ms-asf-plugin';\r\n}\r\nfunction _mediaClass(type) {\r\n\tif (/realaudio/i.test(type)) {\r\n\t\treturn 'ke-rm';\r\n\t}\r\n\tif (/flash/i.test(type)) {\r\n\t\treturn 'ke-flash';\r\n\t}\r\n\treturn 'ke-media';\r\n}\r\nfunction _mediaAttrs(srcTag) {\r\n\treturn _getAttrList(unescape(srcTag));\r\n}\r\nfunction _mediaEmbed(attrs) {\r\n\tvar html = '<embed ';\r\n\t_each(attrs, function(key, val) {\r\n\t\thtml += key + '=\"' + val + '\" ';\r\n\t});\r\n\thtml += '/>';\r\n\treturn html;\r\n}\r\nfunction _mediaImg(blankPath, attrs) {\r\n\tvar width = attrs.width,\r\n\t\theight = attrs.height,\r\n\t\ttype = attrs.type || _mediaType(attrs.src),\r\n\t\tsrcTag = _mediaEmbed(attrs),\r\n\t\tstyle = '';\r\n\tif (/\\D/.test(width)) {\r\n\t\tstyle += 'width:' + width + ';';\r\n\t} else if (width > 0) {\r\n\t\tstyle += 'width:' + width + 'px;';\r\n\t}\r\n\tif (/\\D/.test(height)) {\r\n\t\tstyle += 'height:' + height + ';';\r\n\t} else if (height > 0) {\r\n\t\tstyle += 'height:' + height + 'px;';\r\n\t}\r\n\tvar html = '<img class=\"' + _mediaClass(type) + '\" src=\"' + blankPath + '\" ';\r\n\tif (style !== '') {\r\n\t\thtml += 'style=\"' + style + '\" ';\r\n\t}\r\n\thtml += 'data-ke-tag=\"' + escape(srcTag) + '\" alt=\"\" />';\r\n\treturn html;\r\n}\r\nfunction _tmpl(str, data) {\r\n\tvar fn = new Function(\"obj\",\r\n\t\t\"var p=[],print=function(){p.push.apply(p,arguments);};\" +\r\n\t\t\"with(obj){p.push('\" +\r\n\t\tstr.replace(/[\\r\\t\\n]/g, \" \")\r\n\t\t\t.split(\"<%\").join(\"\\t\")\r\n\t\t\t.replace(/((^|%>)[^\\t]*)'/g, \"$1\\r\")\r\n\t\t\t.replace(/\\t=(.*?)%>/g, \"',$1,'\")\r\n\t\t\t.split(\"\\t\").join(\"');\")\r\n\t\t\t.split(\"%>\").join(\"p.push('\")\r\n\t\t\t.split(\"\\r\").join(\"\\\\'\") + \"');}return p.join('');\");\r\n\treturn data ? fn(data) : fn;\r\n}\r\nK.formatUrl = _formatUrl;\r\nK.formatHtml = _formatHtml;\r\nK.getCssList = _getCssList;\r\nK.getAttrList = _getAttrList;\r\nK.mediaType = _mediaType;\r\nK.mediaAttrs = _mediaAttrs;\r\nK.mediaEmbed = _mediaEmbed;\r\nK.mediaImg = _mediaImg;\r\nK.clearMsWord = _clearMsWord;\r\nK.tmpl = _tmpl;\r\nfunction _contains(nodeA, nodeB) {\r\n\tif (nodeA.nodeType == 9 && nodeB.nodeType != 9) {\r\n\t\treturn true;\r\n\t}\r\n\twhile ((nodeB = nodeB.parentNode)) {\r\n\t\tif (nodeB == nodeA) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n}\r\nvar _getSetAttrDiv = document.createElement('div');\r\n_getSetAttrDiv.setAttribute('className', 't');\r\nvar _GET_SET_ATTRIBUTE = _getSetAttrDiv.className !== 't';\r\nfunction _getAttr(el, key) {\r\n\tkey = key.toLowerCase();\r\n\tvar val = null;\r\n\tif (!_GET_SET_ATTRIBUTE && el.nodeName.toLowerCase() != 'script') {\r\n\t\tvar div = el.ownerDocument.createElement('div');\r\n\t\tdiv.appendChild(el.cloneNode(false));\r\n\t\tvar list = _getAttrList(_unescape(div.innerHTML));\r\n\t\tif (key in list) {\r\n\t\t\tval = list[key];\r\n\t\t}\r\n\t} else {\r\n\t\ttry {\r\n\t\t\tval = el.getAttribute(key, 2);\r\n\t\t} catch(e) {\r\n\t\t\tval = el.getAttribute(key, 1);\r\n\t\t}\r\n\t}\r\n\tif (key === 'style' && val !== null) {\r\n\t\tval = _formatCss(val);\r\n\t}\r\n\treturn val;\r\n}\r\nfunction _queryAll(expr, root) {\r\n\tvar exprList = expr.split(',');\r\n\tif (exprList.length > 1) {\r\n\t\tvar mergedResults = [];\r\n\t\t_each(exprList, function() {\r\n\t\t\t_each(_queryAll(this, root), function() {\r\n\t\t\t\tif (_inArray(this, mergedResults) < 0) {\r\n\t\t\t\t\tmergedResults.push(this);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t\treturn mergedResults;\r\n\t}\r\n\troot = root || document;\r\n\tfunction escape(str) {\r\n\t\tif (typeof str != 'string') {\r\n\t\t\treturn str;\r\n\t\t}\r\n\t\treturn str.replace(/([^\\w\\-])/g, '\\\\$1');\r\n\t}\r\n\tfunction stripslashes(str) {\r\n\t\treturn str.replace(/\\\\/g, '');\r\n\t}\r\n\tfunction cmpTag(tagA, tagB) {\r\n\t\treturn tagA === '*' || tagA.toLowerCase() === escape(tagB.toLowerCase());\r\n\t}\r\n\tfunction byId(id, tag, root) {\r\n\t\tvar arr = [],\r\n\t\t\tdoc = root.ownerDocument || root,\r\n\t\t\tel = doc.getElementById(stripslashes(id));\r\n\t\tif (el) {\r\n\t\t\tif (cmpTag(tag, el.nodeName) && _contains(root, el)) {\r\n\t\t\t\tarr.push(el);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\tfunction byClass(className, tag, root) {\r\n\t\tvar doc = root.ownerDocument || root, arr = [], els, i, len, el;\r\n\t\tif (root.getElementsByClassName) {\r\n\t\t\tels = root.getElementsByClassName(stripslashes(className));\r\n\t\t\tfor (i = 0, len = els.length; i < len; i++) {\r\n\t\t\t\tel = els[i];\r\n\t\t\t\tif (cmpTag(tag, el.nodeName)) {\r\n\t\t\t\t\tarr.push(el);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (doc.querySelectorAll) {\r\n\t\t\tels = doc.querySelectorAll((root.nodeName !== '#document' ? root.nodeName + ' ' : '') + tag + '.' + className);\r\n\t\t\tfor (i = 0, len = els.length; i < len; i++) {\r\n\t\t\t\tel = els[i];\r\n\t\t\t\tif (_contains(root, el)) {\r\n\t\t\t\t\tarr.push(el);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tels = root.getElementsByTagName(tag);\r\n\t\t\tclassName = ' ' + className + ' ';\r\n\t\t\tfor (i = 0, len = els.length; i < len; i++) {\r\n\t\t\t\tel = els[i];\r\n\t\t\t\tif (el.nodeType == 1) {\r\n\t\t\t\t\tvar cls = el.className;\r\n\t\t\t\t\tif (cls && (' ' + cls + ' ').indexOf(className) > -1) {\r\n\t\t\t\t\t\tarr.push(el);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\tfunction byName(name, tag, root) {\r\n\t\tvar arr = [], doc = root.ownerDocument || root,\r\n\t\t\tels = doc.getElementsByName(stripslashes(name)), el;\r\n\t\tfor (var i = 0, len = els.length; i < len; i++) {\r\n\t\t\tel = els[i];\r\n\t\t\tif (cmpTag(tag, el.nodeName) && _contains(root, el)) {\r\n\t\t\t\tif (el.getAttribute('name') !== null) {\r\n\t\t\t\t\tarr.push(el);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\tfunction byAttr(key, val, tag, root) {\r\n\t\tvar arr = [], els = root.getElementsByTagName(tag), el;\r\n\t\tfor (var i = 0, len = els.length; i < len; i++) {\r\n\t\t\tel = els[i];\r\n\t\t\tif (el.nodeType == 1) {\r\n\t\t\t\tif (val === null) {\r\n\t\t\t\t\tif (_getAttr(el, key) !== null) {\r\n\t\t\t\t\t\tarr.push(el);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (val === escape(_getAttr(el, key))) {\r\n\t\t\t\t\t\tarr.push(el);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\tfunction select(expr, root) {\r\n\t\tvar arr = [], matches;\r\n\t\tmatches = /^((?:\\\\.|[^.#\\s\\[<>])+)/.exec(expr);\r\n\t\tvar tag = matches ? matches[1] : '*';\r\n\t\tif ((matches = /#((?:[\\w\\-]|\\\\.)+)$/.exec(expr))) {\r\n\t\t\tarr = byId(matches[1], tag, root);\r\n\t\t} else if ((matches = /\\.((?:[\\w\\-]|\\\\.)+)$/.exec(expr))) {\r\n\t\t\tarr = byClass(matches[1], tag, root);\r\n\t\t} else if ((matches = /\\[((?:[\\w\\-]|\\\\.)+)\\]/.exec(expr))) {\r\n\t\t\tarr = byAttr(matches[1].toLowerCase(), null, tag, root);\r\n\t\t} else if ((matches = /\\[((?:[\\w\\-]|\\\\.)+)\\s*=\\s*['\"]?((?:\\\\.|[^'\"]+)+)['\"]?\\]/.exec(expr))) {\r\n\t\t\tvar key = matches[1].toLowerCase(), val = matches[2];\r\n\t\t\tif (key === 'id') {\r\n\t\t\t\tarr = byId(val, tag, root);\r\n\t\t\t} else if (key === 'class') {\r\n\t\t\t\tarr = byClass(val, tag, root);\r\n\t\t\t} else if (key === 'name') {\r\n\t\t\t\tarr = byName(val, tag, root);\r\n\t\t\t} else {\r\n\t\t\t\tarr = byAttr(key, val, tag, root);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvar els = root.getElementsByTagName(tag), el;\r\n\t\t\tfor (var i = 0, len = els.length; i < len; i++) {\r\n\t\t\t\tel = els[i];\r\n\t\t\t\tif (el.nodeType == 1) {\r\n\t\t\t\t\tarr.push(el);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\tvar parts = [], arr, re = /((?:\\\\.|[^\\s>])+|[\\s>])/g;\r\n\twhile ((arr = re.exec(expr))) {\r\n\t\tif (arr[1] !== ' ') {\r\n\t\t\tparts.push(arr[1]);\r\n\t\t}\r\n\t}\r\n\tvar results = [];\r\n\tif (parts.length == 1) {\r\n\t\treturn select(parts[0], root);\r\n\t}\r\n\tvar isChild = false, part, els, subResults, val, v, i, j, k, length, len, l;\r\n\tfor (i = 0, lenth = parts.length; i < lenth; i++) {\r\n\t\tpart = parts[i];\r\n\t\tif (part === '>') {\r\n\t\t\tisChild = true;\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif (i > 0) {\r\n\t\t\tels = [];\r\n\t\t\tfor (j = 0, len = results.length; j < len; j++) {\r\n\t\t\t\tval = results[j];\r\n\t\t\t\tsubResults = select(part, val);\r\n\t\t\t\tfor (k = 0, l = subResults.length; k < l; k++) {\r\n\t\t\t\t\tv = subResults[k];\r\n\t\t\t\t\tif (isChild) {\r\n\t\t\t\t\t\tif (val === v.parentNode) {\r\n\t\t\t\t\t\t\tels.push(v);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tels.push(v);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tresults = els;\r\n\t\t} else {\r\n\t\t\tresults = select(part, root);\r\n\t\t}\r\n\t\tif (results.length === 0) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\t}\r\n\treturn results;\r\n}\r\nfunction _query(expr, root) {\r\n\tvar arr = _queryAll(expr, root);\r\n\treturn arr.length > 0 ? arr[0] : null;\r\n}\r\nK.query = _query;\r\nK.queryAll = _queryAll;\r\nfunction _get(val) {\r\n\treturn K(val)[0];\r\n}\r\nfunction _getDoc(node) {\r\n\tif (!node) {\r\n\t\treturn document;\r\n\t}\r\n\treturn node.ownerDocument || node.document || node;\r\n}\r\nfunction _getWin(node) {\r\n\tif (!node) {\r\n\t\treturn window;\r\n\t}\r\n\tvar doc = _getDoc(node);\r\n\treturn doc.parentWindow || doc.defaultView;\r\n}\r\nfunction _setHtml(el, html) {\r\n\tif (el.nodeType != 1) {\r\n\t\treturn;\r\n\t}\r\n\tvar doc = _getDoc(el);\r\n\ttry {\r\n\t\tel.innerHTML = '<img id=\"__kindeditor_temp_tag__\" width=\"0\" height=\"0\" style=\"display:none;\" />' + html;\r\n\t\tvar temp = doc.getElementById('__kindeditor_temp_tag__');\r\n\t\ttemp.parentNode.removeChild(temp);\r\n\t} catch(e) {\r\n\t\tK(el).empty();\r\n\t\tK('@' + html, doc).each(function() {\r\n\t\t\tel.appendChild(this);\r\n\t\t});\r\n\t}\r\n}\r\nfunction _hasClass(el, cls) {\r\n\treturn _inString(cls, el.className, ' ');\r\n}\r\nfunction _setAttr(el, key, val) {\r\n\tif (_IE && _V < 8 && key.toLowerCase() == 'class') {\r\n\t\tkey = 'className';\r\n\t}\r\n\tel.setAttribute(key, '' + val);\r\n}\r\nfunction _removeAttr(el, key) {\r\n\tif (_IE && _V < 8 && key.toLowerCase() == 'class') {\r\n\t\tkey = 'className';\r\n\t}\r\n\t_setAttr(el, key, '');\r\n\tel.removeAttribute(key);\r\n}\r\nfunction _getNodeName(node) {\r\n\tif (!node || !node.nodeName) {\r\n\t\treturn '';\r\n\t}\r\n\treturn node.nodeName.toLowerCase();\r\n}\r\nfunction _computedCss(el, key) {\r\n\tvar self = this, win = _getWin(el), camelKey = _toCamel(key), val = '';\r\n\tif (win.getComputedStyle) {\r\n\t\tvar style = win.getComputedStyle(el, null);\r\n\t\tval = style[camelKey] || style.getPropertyValue(key) || el.style[camelKey];\r\n\t} else if (el.currentStyle) {\r\n\t\tval = el.currentStyle[camelKey] || el.style[camelKey];\r\n\t}\r\n\treturn val;\r\n}\r\nfunction _hasVal(node) {\r\n\treturn !!_VALUE_TAG_MAP[_getNodeName(node)];\r\n}\r\nfunction _docElement(doc) {\r\n\tdoc = doc || document;\r\n\treturn _QUIRKS ? doc.body : doc.documentElement;\r\n}\r\nfunction _docHeight(doc) {\r\n\tvar el = _docElement(doc);\r\n\treturn Math.max(el.scrollHeight, el.clientHeight);\r\n}\r\nfunction _docWidth(doc) {\r\n\tvar el = _docElement(doc);\r\n\treturn Math.max(el.scrollWidth, el.clientWidth);\r\n}\r\nfunction _getScrollPos(doc) {\r\n\tdoc = doc || document;\r\n\tvar x, y;\r\n\tif (_IE || _NEWIE || _OPERA) {\r\n\t\tx = _docElement(doc).scrollLeft;\r\n\t\ty = _docElement(doc).scrollTop;\r\n\t} else {\r\n\t\tx = _getWin(doc).scrollX;\r\n\t\ty = _getWin(doc).scrollY;\r\n\t}\r\n\treturn {x : x, y : y};\r\n}\r\nfunction KNode(node) {\r\n\tthis.init(node);\r\n}\r\n_extend(KNode, {\r\n\tinit : function(node) {\r\n\t\tvar self = this;\r\n\t\tnode = _isArray(node) ? node : [node];\r\n\t\tvar length = 0;\r\n\t\tfor (var i = 0, len = node.length; i < len; i++) {\r\n\t\t\tif (node[i]) {\r\n\t\t\t\tself[i] = node[i].constructor === KNode ? node[i][0] : node[i];\r\n\t\t\t\tlength++;\r\n\t\t\t}\r\n\t\t}\r\n\t\tself.length = length;\r\n\t\tself.doc = _getDoc(self[0]);\r\n\t\tself.name = _getNodeName(self[0]);\r\n\t\tself.type = self.length > 0 ? self[0].nodeType : null;\r\n\t\tself.win = _getWin(self[0]);\r\n\t},\r\n\teach : function(fn) {\r\n\t\tvar self = this;\r\n\t\tfor (var i = 0; i < self.length; i++) {\r\n\t\t\tif (fn.call(self[i], i, self[i]) === false) {\r\n\t\t\t\treturn self;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tbind : function(type, fn) {\r\n\t\tthis.each(function() {\r\n\t\t\t_bind(this, type, fn);\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tunbind : function(type, fn) {\r\n\t\tthis.each(function() {\r\n\t\t\t_unbind(this, type, fn);\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tfire : function(type) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\t_fire(this[0], type);\r\n\t\treturn this;\r\n\t},\r\n\thasAttr : function(key) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn !!_getAttr(this[0], key);\r\n\t},\r\n\tattr : function(key, val) {\r\n\t\tvar self = this;\r\n\t\tif (key === undefined) {\r\n\t\t\treturn _getAttrList(self.outer());\r\n\t\t}\r\n\t\tif (typeof key === 'object') {\r\n\t\t\t_each(key, function(k, v) {\r\n\t\t\t\tself.attr(k, v);\r\n\t\t\t});\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (val === undefined) {\r\n\t\t\tval = self.length < 1 ? null : _getAttr(self[0], key);\r\n\t\t\treturn val === null ? '' : val;\r\n\t\t}\r\n\t\tself.each(function() {\r\n\t\t\t_setAttr(this, key, val);\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tremoveAttr : function(key) {\r\n\t\tthis.each(function() {\r\n\t\t\t_removeAttr(this, key);\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tget : function(i) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn this[i || 0];\r\n\t},\r\n\teq : function(i) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn this[i] ? new KNode(this[i]) : null;\r\n\t},\r\n\thasClass : function(cls) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn _hasClass(this[0], cls);\r\n\t},\r\n\taddClass : function(cls) {\r\n\t\tthis.each(function() {\r\n\t\t\tif (!_hasClass(this, cls)) {\r\n\t\t\t\tthis.className = _trim(this.className + ' ' + cls);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tremoveClass : function(cls) {\r\n\t\tthis.each(function() {\r\n\t\t\tif (_hasClass(this, cls)) {\r\n\t\t\t\tthis.className = _trim(this.className.replace(new RegExp('(^|\\\\s)' + cls + '(\\\\s|$)'), ' '));\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\thtml : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1 || self.type != 1) {\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t\treturn _formatHtml(self[0].innerHTML);\r\n\t\t}\r\n\t\tself.each(function() {\r\n\t\t\t_setHtml(this, val);\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\ttext : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.length < 1) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\treturn _IE ? self[0].innerText : self[0].textContent;\r\n\t},\r\n\thasVal : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn _hasVal(this[0]);\r\n\t},\r\n\tval : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1) {\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t\treturn self.hasVal() ? self[0].value : self.attr('value');\r\n\t\t} else {\r\n\t\t\tself.each(function() {\r\n\t\t\t\tif (_hasVal(this)) {\r\n\t\t\t\t\tthis.value = val;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t_setAttr(this, 'value' , val);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn self;\r\n\t\t}\r\n\t},\r\n\tcss : function(key, val) {\r\n\t\tvar self = this;\r\n\t\tif (key === undefined) {\r\n\t\t\treturn _getCssList(self.attr('style'));\r\n\t\t}\r\n\t\tif (typeof key === 'object') {\r\n\t\t\t_each(key, function(k, v) {\r\n\t\t\t\tself.css(k, v);\r\n\t\t\t});\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1) {\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t\treturn self[0].style[_toCamel(key)] || _computedCss(self[0], key) || '';\r\n\t\t}\r\n\t\tself.each(function() {\r\n\t\t\tthis.style[_toCamel(key)] = val;\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\twidth : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1) {\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t\treturn self[0].offsetWidth;\r\n\t\t}\r\n\t\treturn self.css('width', _addUnit(val));\r\n\t},\r\n\theight : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1) {\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t\treturn self[0].offsetHeight;\r\n\t\t}\r\n\t\treturn self.css('height', _addUnit(val));\r\n\t},\r\n\topacity : function(val) {\r\n\t\tthis.each(function() {\r\n\t\t\tif (this.style.opacity === undefined) {\r\n\t\t\t\tthis.style.filter = val == 1 ? '' : 'alpha(opacity=' + (val * 100) + ')';\r\n\t\t\t} else {\r\n\t\t\t\tthis.style.opacity = val == 1 ? '' : val;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tdata : function(key, val) {\r\n\t\tvar self = this;\r\n\t\tkey = 'kindeditor_data_' + key;\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\treturn self[0][key];\r\n\t\t}\r\n\t\tthis.each(function() {\r\n\t\t\tthis[key] = val;\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tpos : function() {\r\n\t\tvar self = this, node = self[0], x = 0, y = 0;\r\n\t\tif (node) {\r\n\t\t\tif (node.getBoundingClientRect) {\r\n\t\t\t\tvar box = node.getBoundingClientRect(),\r\n\t\t\t\t\tpos = _getScrollPos(self.doc);\r\n\t\t\t\tx = box.left + pos.x;\r\n\t\t\t\ty = box.top + pos.y;\r\n\t\t\t} else {\r\n\t\t\t\twhile (node) {\r\n\t\t\t\t\tx += node.offsetLeft;\r\n\t\t\t\t\ty += node.offsetTop;\r\n\t\t\t\t\tnode = node.offsetParent;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {x : _round(x), y : _round(y)};\r\n\t},\r\n\tclone : function(bool) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn new KNode([]);\r\n\t\t}\r\n\t\treturn new KNode(this[0].cloneNode(bool));\r\n\t},\r\n\tappend : function(expr) {\r\n\t\tthis.each(function() {\r\n\t\t\tif (this.appendChild) {\r\n\t\t\t\tthis.appendChild(_get(expr));\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tappendTo : function(expr) {\r\n\t\tthis.each(function() {\r\n\t\t\t_get(expr).appendChild(this);\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tbefore : function(expr) {\r\n\t\tthis.each(function() {\r\n\t\t\tthis.parentNode.insertBefore(_get(expr), this);\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tafter : function(expr) {\r\n\t\tthis.each(function() {\r\n\t\t\tif (this.nextSibling) {\r\n\t\t\t\tthis.parentNode.insertBefore(_get(expr), this.nextSibling);\r\n\t\t\t} else {\r\n\t\t\t\tthis.parentNode.appendChild(_get(expr));\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\treplaceWith : function(expr) {\r\n\t\tvar nodes = [];\r\n\t\tthis.each(function(i, node) {\r\n\t\t\t_unbind(node);\r\n\t\t\tvar newNode = _get(expr);\r\n\t\t\tnode.parentNode.replaceChild(newNode, node);\r\n\t\t\tnodes.push(newNode);\r\n\t\t});\r\n\t\treturn K(nodes);\r\n\t},\r\n\tempty : function() {\r\n\t\tvar self = this;\r\n\t\tself.each(function(i, node) {\r\n\t\t\tvar child = node.firstChild;\r\n\t\t\twhile (child) {\r\n\t\t\t\tif (!node.parentNode) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tvar next = child.nextSibling;\r\n\t\t\t\tchild.parentNode.removeChild(child);\r\n\t\t\t\tchild = next;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tremove : function(keepChilds) {\r\n\t\tvar self = this;\r\n\t\tself.each(function(i, node) {\r\n\t\t\tif (!node.parentNode) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t_unbind(node);\r\n\t\t\tif (keepChilds) {\r\n\t\t\t\tvar child = node.firstChild;\r\n\t\t\t\twhile (child) {\r\n\t\t\t\t\tvar next = child.nextSibling;\r\n\t\t\t\t\tnode.parentNode.insertBefore(child, node);\r\n\t\t\t\t\tchild = next;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tnode.parentNode.removeChild(node);\r\n\t\t\tdelete self[i];\r\n\t\t});\r\n\t\tself.length = 0;\r\n\t\treturn self;\r\n\t},\r\n\tshow : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\tval = self._originDisplay || '';\r\n\t\t}\r\n\t\tif (self.css('display') != 'none') {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\treturn self.css('display', val);\r\n\t},\r\n\thide : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.length < 1) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tself._originDisplay = self[0].style.display;\r\n\t\treturn self.css('display', 'none');\r\n\t},\r\n\touter : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.length < 1) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tvar div = self.doc.createElement('div'), html;\r\n\t\tdiv.appendChild(self[0].cloneNode(true));\r\n\t\thtml = _formatHtml(div.innerHTML);\r\n\t\tdiv = null;\r\n\t\treturn html;\r\n\t},\r\n\tisSingle : function() {\r\n\t\treturn !!_SINGLE_TAG_MAP[this.name];\r\n\t},\r\n\tisInline : function() {\r\n\t\treturn !!_INLINE_TAG_MAP[this.name];\r\n\t},\r\n\tisBlock : function() {\r\n\t\treturn !!_BLOCK_TAG_MAP[this.name];\r\n\t},\r\n\tisStyle : function() {\r\n\t\treturn !!_STYLE_TAG_MAP[this.name];\r\n\t},\r\n\tisControl : function() {\r\n\t\treturn !!_CONTROL_TAG_MAP[this.name];\r\n\t},\r\n\tcontains : function(otherNode) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn _contains(this[0], _get(otherNode));\r\n\t},\r\n\tparent : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar node = this[0].parentNode;\r\n\t\treturn node ? new KNode(node) : null;\r\n\t},\r\n\tchildren : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn new KNode([]);\r\n\t\t}\r\n\t\tvar list = [], child = this[0].firstChild;\r\n\t\twhile (child) {\r\n\t\t\tif (child.nodeType != 3 || _trim(child.nodeValue) !== '') {\r\n\t\t\t\tlist.push(child);\r\n\t\t\t}\r\n\t\t\tchild = child.nextSibling;\r\n\t\t}\r\n\t\treturn new KNode(list);\r\n\t},\r\n\tfirst : function() {\r\n\t\tvar list = this.children();\r\n\t\treturn list.length > 0 ? list.eq(0) : null;\r\n\t},\r\n\tlast : function() {\r\n\t\tvar list = this.children();\r\n\t\treturn list.length > 0 ? list.eq(list.length - 1) : null;\r\n\t},\r\n\tindex : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t\tvar i = -1, sibling = this[0];\r\n\t\twhile (sibling) {\r\n\t\t\ti++;\r\n\t\t\tsibling = sibling.previousSibling;\r\n\t\t}\r\n\t\treturn i;\r\n\t},\r\n\tprev : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar node = this[0].previousSibling;\r\n\t\treturn node ? new KNode(node) : null;\r\n\t},\r\n\tnext : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar node = this[0].nextSibling;\r\n\t\treturn node ? new KNode(node) : null;\r\n\t},\r\n\tscan : function(fn, order) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\torder = (order === undefined) ? true : order;\r\n\t\tfunction walk(node) {\r\n\t\t\tvar n = order ? node.firstChild : node.lastChild;\r\n\t\t\twhile (n) {\r\n\t\t\t\tvar next = order ? n.nextSibling : n.previousSibling;\r\n\t\t\t\tif (fn(n) === false) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tif (walk(n) === false) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tn = next;\r\n\t\t\t}\r\n\t\t}\r\n\t\twalk(this[0]);\r\n\t\treturn this;\r\n\t}\r\n});\r\n_each(('blur,focus,focusin,focusout,load,resize,scroll,unload,click,dblclick,' +\r\n\t'mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,' +\r\n\t'change,select,submit,keydown,keypress,keyup,error,contextmenu').split(','), function(i, type) {\r\n\tKNode.prototype[type] = function(fn) {\r\n\t\treturn fn ? this.bind(type, fn) : this.fire(type);\r\n\t};\r\n});\r\nvar _K = K;\r\nK = function(expr, root) {\r\n\tif (expr === undefined || expr === null) {\r\n\t\treturn;\r\n\t}\r\n\tfunction newNode(node) {\r\n\t\tif (!node[0]) {\r\n\t\t\tnode = [];\r\n\t\t}\r\n\t\treturn new KNode(node);\r\n\t}\r\n\tif (typeof expr === 'string') {\r\n\t\tif (root) {\r\n\t\t\troot = _get(root);\r\n\t\t}\r\n\t\tvar length = expr.length;\r\n\t\tif (expr.charAt(0) === '@') {\r\n\t\t\texpr = expr.substr(1);\r\n\t\t}\r\n\t\tif (expr.length !== length || /<.+>/.test(expr)) {\r\n\t\t\tvar doc = root ? root.ownerDocument || root : document,\r\n\t\t\t\tdiv = doc.createElement('div'), list = [];\r\n\t\t\tdiv.innerHTML = '<img id=\"__kindeditor_temp_tag__\" width=\"0\" height=\"0\" style=\"display:none;\" />' + expr;\r\n\t\t\tfor (var i = 0, len = div.childNodes.length; i < len; i++) {\r\n\t\t\t\tvar child = div.childNodes[i];\r\n\t\t\t\tif (child.id == '__kindeditor_temp_tag__') {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(child);\r\n\t\t\t}\r\n\t\t\treturn newNode(list);\r\n\t\t}\r\n\t\treturn newNode(_queryAll(expr, root));\r\n\t}\r\n\tif (expr && expr.constructor === KNode) {\r\n\t\treturn expr;\r\n\t}\r\n\tif (expr.toArray) {\r\n\t\texpr = expr.toArray();\r\n\t}\r\n\tif (_isArray(expr)) {\r\n\t\treturn newNode(expr);\r\n\t}\r\n\treturn newNode(_toArray(arguments));\r\n};\r\n_each(_K, function(key, val) {\r\n\tK[key] = val;\r\n});\r\nK.NodeClass = KNode;\r\nwindow.KindEditor = K;\r\nvar _START_TO_START = 0,\r\n\t_START_TO_END = 1,\r\n\t_END_TO_END = 2,\r\n\t_END_TO_START = 3,\r\n\t_BOOKMARK_ID = 0;\r\nfunction _updateCollapsed(range) {\r\n\trange.collapsed = (range.startContainer === range.endContainer && range.startOffset === range.endOffset);\r\n\treturn range;\r\n}\r\nfunction _copyAndDelete(range, isCopy, isDelete) {\r\n\tvar doc = range.doc, nodeList = [];\r\n\tfunction splitTextNode(node, startOffset, endOffset) {\r\n\t\tvar length = node.nodeValue.length, centerNode;\r\n\t\tif (isCopy) {\r\n\t\t\tvar cloneNode = node.cloneNode(true);\r\n\t\t\tif (startOffset > 0) {\r\n\t\t\t\tcenterNode = cloneNode.splitText(startOffset);\r\n\t\t\t} else {\r\n\t\t\t\tcenterNode = cloneNode;\r\n\t\t\t}\r\n\t\t\tif (endOffset < length) {\r\n\t\t\t\tcenterNode.splitText(endOffset - startOffset);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (isDelete) {\r\n\t\t\tvar center = node;\r\n\t\t\tif (startOffset > 0) {\r\n\t\t\t\tcenter = node.splitText(startOffset);\r\n\t\t\t\trange.setStart(node, startOffset);\r\n\t\t\t}\r\n\t\t\tif (endOffset < length) {\r\n\t\t\t\tvar right = center.splitText(endOffset - startOffset);\r\n\t\t\t\trange.setEnd(right, 0);\r\n\t\t\t}\r\n\t\t\tnodeList.push(center);\r\n\t\t}\r\n\t\treturn centerNode;\r\n\t}\r\n\tfunction removeNodes() {\r\n\t\tif (isDelete) {\r\n\t\t\trange.up().collapse(true);\r\n\t\t}\r\n\t\tfor (var i = 0, len = nodeList.length; i < len; i++) {\r\n\t\t\tvar node = nodeList[i];\r\n\t\t\tif (node.parentNode) {\r\n\t\t\t\tnode.parentNode.removeChild(node);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tvar copyRange = range.cloneRange().down();\r\n\tvar start = -1, incStart = -1, incEnd = -1, end = -1,\r\n\t\tancestor = range.commonAncestor(), frag = doc.createDocumentFragment();\r\n\tif (ancestor.nodeType == 3) {\r\n\t\tvar textNode = splitTextNode(ancestor, range.startOffset, range.endOffset);\r\n\t\tif (isCopy) {\r\n\t\t\tfrag.appendChild(textNode);\r\n\t\t}\r\n\t\tremoveNodes();\r\n\t\treturn isCopy ? frag : range;\r\n\t}\r\n\tfunction extractNodes(parent, frag) {\r\n\t\tvar node = parent.firstChild, nextNode;\r\n\t\twhile (node) {\r\n\t\t\tvar testRange = new KRange(doc).selectNode(node);\r\n\t\t\tstart = testRange.compareBoundaryPoints(_START_TO_END, range);\r\n\t\t\tif (start >= 0 && incStart <= 0) {\r\n\t\t\t\tincStart = testRange.compareBoundaryPoints(_START_TO_START, range);\r\n\t\t\t}\r\n\t\t\tif (incStart >= 0 && incEnd <= 0) {\r\n\t\t\t\tincEnd = testRange.compareBoundaryPoints(_END_TO_END, range);\r\n\t\t\t}\r\n\t\t\tif (incEnd >= 0 && end <= 0) {\r\n\t\t\t\tend = testRange.compareBoundaryPoints(_END_TO_START, range);\r\n\t\t\t}\r\n\t\t\tif (end >= 0) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tnextNode = node.nextSibling;\r\n\t\t\tif (start > 0) {\r\n\t\t\t\tif (node.nodeType == 1) {\r\n\t\t\t\t\tif (incStart >= 0 && incEnd <= 0) {\r\n\t\t\t\t\t\tif (isCopy) {\r\n\t\t\t\t\t\t\tfrag.appendChild(node.cloneNode(true));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (isDelete) {\r\n\t\t\t\t\t\t\tnodeList.push(node);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvar childFlag;\r\n\t\t\t\t\t\tif (isCopy) {\r\n\t\t\t\t\t\t\tchildFlag = node.cloneNode(false);\r\n\t\t\t\t\t\t\tfrag.appendChild(childFlag);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (extractNodes(node, childFlag) === false) {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (node.nodeType == 3) {\r\n\t\t\t\t\tvar textNode;\r\n\t\t\t\t\tif (node == copyRange.startContainer) {\r\n\t\t\t\t\t\ttextNode = splitTextNode(node, copyRange.startOffset, node.nodeValue.length);\r\n\t\t\t\t\t} else if (node == copyRange.endContainer) {\r\n\t\t\t\t\t\ttextNode = splitTextNode(node, 0, copyRange.endOffset);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttextNode = splitTextNode(node, 0, node.nodeValue.length);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (isCopy) {\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tfrag.appendChild(textNode);\r\n\t\t\t\t\t\t} catch(e) {}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tnode = nextNode;\r\n\t\t}\r\n\t}\r\n\textractNodes(ancestor, frag);\r\n\tif (isDelete) {\r\n\t\trange.up().collapse(true);\r\n\t}\r\n\tfor (var i = 0, len = nodeList.length; i < len; i++) {\r\n\t\tvar node = nodeList[i];\r\n\t\tif (node.parentNode) {\r\n\t\t\tnode.parentNode.removeChild(node);\r\n\t\t}\r\n\t}\r\n\treturn isCopy ? frag : range;\r\n}\r\nfunction _moveToElementText(range, el) {\r\n\tvar node = el;\r\n\twhile (node) {\r\n\t\tvar knode = K(node);\r\n\t\tif (knode.name == 'marquee' || knode.name == 'select') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tnode = node.parentNode;\r\n\t}\r\n\ttry {\r\n\t\trange.moveToElementText(el);\r\n\t} catch(e) {}\r\n}\r\nfunction _getStartEnd(rng, isStart) {\r\n\tvar doc = rng.parentElement().ownerDocument,\r\n\t\tpointRange = rng.duplicate();\r\n\tpointRange.collapse(isStart);\r\n\tvar parent = pointRange.parentElement(),\r\n\t\tnodes = parent.childNodes;\r\n\tif (nodes.length === 0) {\r\n\t\treturn {node: parent.parentNode, offset: K(parent).index()};\r\n\t}\r\n\tvar startNode = doc, startPos = 0, cmp = -1;\r\n\tvar testRange = rng.duplicate();\r\n\t_moveToElementText(testRange, parent);\r\n\tfor (var i = 0, len = nodes.length; i < len; i++) {\r\n\t\tvar node = nodes[i];\r\n\t\tcmp = testRange.compareEndPoints('StartToStart', pointRange);\r\n\t\tif (cmp === 0) {\r\n\t\t\treturn {node: node.parentNode, offset: i};\r\n\t\t}\r\n\t\tif (node.nodeType == 1) {\r\n\t\t\tvar nodeRange = rng.duplicate(), dummy, knode = K(node), newNode = node;\r\n\t\t\tif (knode.isControl()) {\r\n\t\t\t\tdummy = doc.createElement('span');\r\n\t\t\t\tknode.after(dummy);\r\n\t\t\t\tnewNode = dummy;\r\n\t\t\t\tstartPos += knode.text().replace(/\\r\\n|\\n|\\r/g, '').length;\r\n\t\t\t}\r\n\t\t\t_moveToElementText(nodeRange, newNode);\r\n\t\t\ttestRange.setEndPoint('StartToEnd', nodeRange);\r\n\t\t\tif (cmp > 0) {\r\n\t\t\t\tstartPos += nodeRange.text.replace(/\\r\\n|\\n|\\r/g, '').length;\r\n\t\t\t} else {\r\n\t\t\t\tstartPos = 0;\r\n\t\t\t}\r\n\t\t\tif (dummy) {\r\n\t\t\t\tK(dummy).remove();\r\n\t\t\t}\r\n\t\t} else if (node.nodeType == 3) {\r\n\t\t\ttestRange.moveStart('character', node.nodeValue.length);\r\n\t\t\tstartPos += node.nodeValue.length;\r\n\t\t}\r\n\t\tif (cmp < 0) {\r\n\t\t\tstartNode = node;\r\n\t\t}\r\n\t}\r\n\tif (cmp < 0 && startNode.nodeType == 1) {\r\n\t\treturn {node: parent, offset: K(parent.lastChild).index() + 1};\r\n\t}\r\n\tif (cmp > 0) {\r\n\t\twhile (startNode.nextSibling && startNode.nodeType == 1) {\r\n\t\t\tstartNode = startNode.nextSibling;\r\n\t\t}\r\n\t}\r\n\ttestRange = rng.duplicate();\r\n\t_moveToElementText(testRange, parent);\r\n\ttestRange.setEndPoint('StartToEnd', pointRange);\r\n\tstartPos -= testRange.text.replace(/\\r\\n|\\n|\\r/g, '').length;\r\n\tif (cmp > 0 && startNode.nodeType == 3) {\r\n\t\tvar prevNode = startNode.previousSibling;\r\n\t\twhile (prevNode && prevNode.nodeType == 3) {\r\n\t\t\tstartPos -= prevNode.nodeValue.length;\r\n\t\t\tprevNode = prevNode.previousSibling;\r\n\t\t}\r\n\t}\r\n\treturn {node: startNode, offset: startPos};\r\n}\r\nfunction _getEndRange(node, offset) {\r\n\tvar doc = node.ownerDocument || node,\r\n\t\trange = doc.body.createTextRange();\r\n\tif (doc == node) {\r\n\t\trange.collapse(true);\r\n\t\treturn range;\r\n\t}\r\n\tif (node.nodeType == 1 && node.childNodes.length > 0) {\r\n\t\tvar children = node.childNodes, isStart, child;\r\n\t\tif (offset === 0) {\r\n\t\t\tchild = children[0];\r\n\t\t\tisStart = true;\r\n\t\t} else {\r\n\t\t\tchild = children[offset - 1];\r\n\t\t\tisStart = false;\r\n\t\t}\r\n\t\tif (!child) {\r\n\t\t\treturn range;\r\n\t\t}\r\n\t\tif (K(child).name === 'head') {\r\n\t\t\tif (offset === 1) {\r\n\t\t\t\tisStart = true;\r\n\t\t\t}\r\n\t\t\tif (offset === 2) {\r\n\t\t\t\tisStart = false;\r\n\t\t\t}\r\n\t\t\trange.collapse(isStart);\r\n\t\t\treturn range;\r\n\t\t}\r\n\t\tif (child.nodeType == 1) {\r\n\t\t\tvar kchild = K(child), span;\r\n\t\t\tif (kchild.isControl()) {\r\n\t\t\t\tspan = doc.createElement('span');\r\n\t\t\t\tif (isStart) {\r\n\t\t\t\t\tkchild.before(span);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tkchild.after(span);\r\n\t\t\t\t}\r\n\t\t\t\tchild = span;\r\n\t\t\t}\r\n\t\t\t_moveToElementText(range, child);\r\n\t\t\trange.collapse(isStart);\r\n\t\t\tif (span) {\r\n\t\t\t\tK(span).remove();\r\n\t\t\t}\r\n\t\t\treturn range;\r\n\t\t}\r\n\t\tnode = child;\r\n\t\toffset = isStart ? 0 : child.nodeValue.length;\r\n\t}\r\n\tvar dummy = doc.createElement('span');\r\n\tK(node).before(dummy);\r\n\t_moveToElementText(range, dummy);\r\n\trange.moveStart('character', offset);\r\n\tK(dummy).remove();\r\n\treturn range;\r\n}\r\nfunction _toRange(rng) {\r\n\tvar doc, range;\r\n\tfunction tr2td(start) {\r\n\t\tif (K(start.node).name == 'tr') {\r\n\t\t\tstart.node = start.node.cells[start.offset];\r\n\t\t\tstart.offset = 0;\r\n\t\t}\r\n\t}\r\n\tif (_IERANGE) {\r\n\t\tif (rng.item) {\r\n\t\t\tdoc = _getDoc(rng.item(0));\r\n\t\t\trange = new KRange(doc);\r\n\t\t\trange.selectNode(rng.item(0));\r\n\t\t\treturn range;\r\n\t\t}\r\n\t\tdoc = rng.parentElement().ownerDocument;\r\n\t\tvar start = _getStartEnd(rng, true),\r\n\t\t\tend = _getStartEnd(rng, false);\r\n\t\ttr2td(start);\r\n\t\ttr2td(end);\r\n\t\trange = new KRange(doc);\r\n\t\trange.setStart(start.node, start.offset);\r\n\t\trange.setEnd(end.node, end.offset);\r\n\t\treturn range;\r\n\t}\r\n\tvar startContainer = rng.startContainer;\r\n\tdoc = startContainer.ownerDocument || startContainer;\r\n\trange = new KRange(doc);\r\n\trange.setStart(startContainer, rng.startOffset);\r\n\trange.setEnd(rng.endContainer, rng.endOffset);\r\n\treturn range;\r\n}\r\nfunction KRange(doc) {\r\n\tthis.init(doc);\r\n}\r\n_extend(KRange, {\r\n\tinit : function(doc) {\r\n\t\tvar self = this;\r\n\t\tself.startContainer = doc;\r\n\t\tself.startOffset = 0;\r\n\t\tself.endContainer = doc;\r\n\t\tself.endOffset = 0;\r\n\t\tself.collapsed = true;\r\n\t\tself.doc = doc;\r\n\t},\r\n\tcommonAncestor : function() {\r\n\t\tfunction getParents(node) {\r\n\t\t\tvar parents = [];\r\n\t\t\twhile (node) {\r\n\t\t\t\tparents.push(node);\r\n\t\t\t\tnode = node.parentNode;\r\n\t\t\t}\r\n\t\t\treturn parents;\r\n\t\t}\r\n\t\tvar parentsA = getParents(this.startContainer),\r\n\t\t\tparentsB = getParents(this.endContainer),\r\n\t\t\ti = 0, lenA = parentsA.length, lenB = parentsB.length, parentA, parentB;\r\n\t\twhile (++i) {\r\n\t\t\tparentA = parentsA[lenA - i];\r\n\t\t\tparentB = parentsB[lenB - i];\r\n\t\t\tif (!parentA || !parentB || parentA !== parentB) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn parentsA[lenA - i + 1];\r\n\t},\r\n\tsetStart : function(node, offset) {\r\n\t\tvar self = this, doc = self.doc;\r\n\t\tself.startContainer = node;\r\n\t\tself.startOffset = offset;\r\n\t\tif (self.endContainer === doc) {\r\n\t\t\tself.endContainer = node;\r\n\t\t\tself.endOffset = offset;\r\n\t\t}\r\n\t\treturn _updateCollapsed(this);\r\n\t},\r\n\tsetEnd : function(node, offset) {\r\n\t\tvar self = this, doc = self.doc;\r\n\t\tself.endContainer = node;\r\n\t\tself.endOffset = offset;\r\n\t\tif (self.startContainer === doc) {\r\n\t\t\tself.startContainer = node;\r\n\t\t\tself.startOffset = offset;\r\n\t\t}\r\n\t\treturn _updateCollapsed(this);\r\n\t},\r\n\tsetStartBefore : function(node) {\r\n\t\treturn this.setStart(node.parentNode || this.doc, K(node).index());\r\n\t},\r\n\tsetStartAfter : function(node) {\r\n\t\treturn this.setStart(node.parentNode || this.doc, K(node).index() + 1);\r\n\t},\r\n\tsetEndBefore : function(node) {\r\n\t\treturn this.setEnd(node.parentNode || this.doc, K(node).index());\r\n\t},\r\n\tsetEndAfter : function(node) {\r\n\t\treturn this.setEnd(node.parentNode || this.doc, K(node).index() + 1);\r\n\t},\r\n\tselectNode : function(node) {\r\n\t\treturn this.setStartBefore(node).setEndAfter(node);\r\n\t},\r\n\tselectNodeContents : function(node) {\r\n\t\tvar knode = K(node);\r\n\t\tif (knode.type == 3 || knode.isSingle()) {\r\n\t\t\treturn this.selectNode(node);\r\n\t\t}\r\n\t\tvar children = knode.children();\r\n\t\tif (children.length > 0) {\r\n\t\t\treturn this.setStartBefore(children[0]).setEndAfter(children[children.length - 1]);\r\n\t\t}\r\n\t\treturn this.setStart(node, 0).setEnd(node, 0);\r\n\t},\r\n\tcollapse : function(toStart) {\r\n\t\tif (toStart) {\r\n\t\t\treturn this.setEnd(this.startContainer, this.startOffset);\r\n\t\t}\r\n\t\treturn this.setStart(this.endContainer, this.endOffset);\r\n\t},\r\n\tcompareBoundaryPoints : function(how, range) {\r\n\t\tvar rangeA = this.get(), rangeB = range.get();\r\n\t\tif (_IERANGE) {\r\n\t\t\tvar arr = {};\r\n\t\t\tarr[_START_TO_START] = 'StartToStart';\r\n\t\t\tarr[_START_TO_END] = 'EndToStart';\r\n\t\t\tarr[_END_TO_END] = 'EndToEnd';\r\n\t\t\tarr[_END_TO_START] = 'StartToEnd';\r\n\t\t\tvar cmp = rangeA.compareEndPoints(arr[how], rangeB);\r\n\t\t\tif (cmp !== 0) {\r\n\t\t\t\treturn cmp;\r\n\t\t\t}\r\n\t\t\tvar nodeA, nodeB, nodeC, posA, posB;\r\n\t\t\tif (how === _START_TO_START || how === _END_TO_START) {\r\n\t\t\t\tnodeA = this.startContainer;\r\n\t\t\t\tposA = this.startOffset;\r\n\t\t\t}\r\n\t\t\tif (how === _START_TO_END || how === _END_TO_END) {\r\n\t\t\t\tnodeA = this.endContainer;\r\n\t\t\t\tposA = this.endOffset;\r\n\t\t\t}\r\n\t\t\tif (how === _START_TO_START || how === _START_TO_END) {\r\n\t\t\t\tnodeB = range.startContainer;\r\n\t\t\t\tposB = range.startOffset;\r\n\t\t\t}\r\n\t\t\tif (how === _END_TO_END || how === _END_TO_START) {\r\n\t\t\t\tnodeB = range.endContainer;\r\n\t\t\t\tposB = range.endOffset;\r\n\t\t\t}\r\n\t\t\tif (nodeA === nodeB) {\r\n\t\t\t\tvar diff = posA - posB;\r\n\t\t\t\treturn diff > 0 ? 1 : (diff < 0 ? -1 : 0);\r\n\t\t\t}\r\n\t\t\tnodeC = nodeB;\r\n\t\t\twhile (nodeC && nodeC.parentNode !== nodeA) {\r\n\t\t\t\tnodeC = nodeC.parentNode;\r\n\t\t\t}\r\n\t\t\tif (nodeC) {\r\n\t\t\t\treturn K(nodeC).index() >= posA ? -1 : 1;\r\n\t\t\t}\r\n\t\t\tnodeC = nodeA;\r\n\t\t\twhile (nodeC && nodeC.parentNode !== nodeB) {\r\n\t\t\t\tnodeC = nodeC.parentNode;\r\n\t\t\t}\r\n\t\t\tif (nodeC) {\r\n\t\t\t\treturn K(nodeC).index() >= posB ? 1 : -1;\r\n\t\t\t}\r\n\t\t\tnodeC = K(nodeB).next();\r\n\t\t\tif (nodeC && nodeC.contains(nodeA)) {\r\n\t\t\t\treturn 1;\r\n\t\t\t}\r\n\t\t\tnodeC = K(nodeA).next();\r\n\t\t\tif (nodeC && nodeC.contains(nodeB)) {\r\n\t\t\t\treturn -1;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn rangeA.compareBoundaryPoints(how, rangeB);\r\n\t\t}\r\n\t},\r\n\tcloneRange : function() {\r\n\t\treturn new KRange(this.doc).setStart(this.startContainer, this.startOffset).setEnd(this.endContainer, this.endOffset);\r\n\t},\r\n\ttoString : function() {\r\n\t\tvar rng = this.get(), str = _IERANGE ? rng.text : rng.toString();\r\n\t\treturn str.replace(/\\r\\n|\\n|\\r/g, '');\r\n\t},\r\n\tcloneContents : function() {\r\n\t\treturn _copyAndDelete(this, true, false);\r\n\t},\r\n\tdeleteContents : function() {\r\n\t\treturn _copyAndDelete(this, false, true);\r\n\t},\r\n\textractContents : function() {\r\n\t\treturn _copyAndDelete(this, true, true);\r\n\t},\r\n\tinsertNode : function(node) {\r\n\t\tvar self = this,\r\n\t\t\tsc = self.startContainer, so = self.startOffset,\r\n\t\t\tec = self.endContainer, eo = self.endOffset,\r\n\t\t\tfirstChild, lastChild, c, nodeCount = 1;\r\n\t\tif (node.nodeName.toLowerCase() === '#document-fragment') {\r\n\t\t\tfirstChild = node.firstChild;\r\n\t\t\tlastChild = node.lastChild;\r\n\t\t\tnodeCount = node.childNodes.length;\r\n\t\t}\r\n\t\tif (sc.nodeType == 1) {\r\n\t\t\tc = sc.childNodes[so];\r\n\t\t\tif (c) {\r\n\t\t\t\tsc.insertBefore(node, c);\r\n\t\t\t\tif (sc === ec) {\r\n\t\t\t\t\teo += nodeCount;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tsc.appendChild(node);\r\n\t\t\t}\r\n\t\t} else if (sc.nodeType == 3) {\r\n\t\t\tif (so === 0) {\r\n\t\t\t\tsc.parentNode.insertBefore(node, sc);\r\n\t\t\t\tif (sc.parentNode === ec) {\r\n\t\t\t\t\teo += nodeCount;\r\n\t\t\t\t}\r\n\t\t\t} else if (so >= sc.nodeValue.length) {\r\n\t\t\t\tif (sc.nextSibling) {\r\n\t\t\t\t\tsc.parentNode.insertBefore(node, sc.nextSibling);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsc.parentNode.appendChild(node);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (so > 0) {\r\n\t\t\t\t\tc = sc.splitText(so);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tc = sc;\r\n\t\t\t\t}\r\n\t\t\t\tsc.parentNode.insertBefore(node, c);\r\n\t\t\t\tif (sc === ec) {\r\n\t\t\t\t\tec = c;\r\n\t\t\t\t\teo -= so;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (firstChild) {\r\n\t\t\tself.setStartBefore(firstChild).setEndAfter(lastChild);\r\n\t\t} else {\r\n\t\t\tself.selectNode(node);\r\n\t\t}\r\n\t\tif (self.compareBoundaryPoints(_END_TO_END, self.cloneRange().setEnd(ec, eo)) >= 1) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\treturn self.setEnd(ec, eo);\r\n\t},\r\n\tsurroundContents : function(node) {\r\n\t\tnode.appendChild(this.extractContents());\r\n\t\treturn this.insertNode(node).selectNode(node);\r\n\t},\r\n\tisControl : function() {\r\n\t\tvar self = this,\r\n\t\t\tsc = self.startContainer, so = self.startOffset,\r\n\t\t\tec = self.endContainer, eo = self.endOffset, rng;\r\n\t\treturn sc.nodeType == 1 && sc === ec && so + 1 === eo && K(sc.childNodes[so]).isControl();\r\n\t},\r\n\tget : function(hasControlRange) {\r\n\t\tvar self = this, doc = self.doc, node, rng;\r\n\t\tif (!_IERANGE) {\r\n\t\t\trng = doc.createRange();\r\n\t\t\ttry {\r\n\t\t\t\trng.setStart(self.startContainer, self.startOffset);\r\n\t\t\t\trng.setEnd(self.endContainer, self.endOffset);\r\n\t\t\t} catch (e) {}\r\n\t\t\treturn rng;\r\n\t\t}\r\n\t\tif (hasControlRange && self.isControl()) {\r\n\t\t\trng = doc.body.createControlRange();\r\n\t\t\trng.addElement(self.startContainer.childNodes[self.startOffset]);\r\n\t\t\treturn rng;\r\n\t\t}\r\n\t\tvar range = self.cloneRange().down();\r\n\t\trng = doc.body.createTextRange();\r\n\t\trng.setEndPoint('StartToStart', _getEndRange(range.startContainer, range.startOffset));\r\n\t\trng.setEndPoint('EndToStart', _getEndRange(range.endContainer, range.endOffset));\r\n\t\treturn rng;\r\n\t},\r\n\thtml : function() {\r\n\t\treturn K(this.cloneContents()).outer();\r\n\t},\r\n\tdown : function() {\r\n\t\tvar self = this;\r\n\t\tfunction downPos(node, pos, isStart) {\r\n\t\t\tif (node.nodeType != 1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar children = K(node).children();\r\n\t\t\tif (children.length === 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar left, right, child, offset;\r\n\t\t\tif (pos > 0) {\r\n\t\t\t\tleft = children.eq(pos - 1);\r\n\t\t\t}\r\n\t\t\tif (pos < children.length) {\r\n\t\t\t\tright = children.eq(pos);\r\n\t\t\t}\r\n\t\t\tif (left && left.type == 3) {\r\n\t\t\t\tchild = left[0];\r\n\t\t\t\toffset = child.nodeValue.length;\r\n\t\t\t}\r\n\t\t\tif (right && right.type == 3) {\r\n\t\t\t\tchild = right[0];\r\n\t\t\t\toffset = 0;\r\n\t\t\t}\r\n\t\t\tif (!child) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isStart) {\r\n\t\t\t\tself.setStart(child, offset);\r\n\t\t\t} else {\r\n\t\t\t\tself.setEnd(child, offset);\r\n\t\t\t}\r\n\t\t}\r\n\t\tdownPos(self.startContainer, self.startOffset, true);\r\n\t\tdownPos(self.endContainer, self.endOffset, false);\r\n\t\treturn self;\r\n\t},\r\n\tup : function() {\r\n\t\tvar self = this;\r\n\t\tfunction upPos(node, pos, isStart) {\r\n\t\t\tif (node.nodeType != 3) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (pos === 0) {\r\n\t\t\t\tif (isStart) {\r\n\t\t\t\t\tself.setStartBefore(node);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tself.setEndBefore(node);\r\n\t\t\t\t}\r\n\t\t\t} else if (pos == node.nodeValue.length) {\r\n\t\t\t\tif (isStart) {\r\n\t\t\t\t\tself.setStartAfter(node);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tself.setEndAfter(node);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tupPos(self.startContainer, self.startOffset, true);\r\n\t\tupPos(self.endContainer, self.endOffset, false);\r\n\t\treturn self;\r\n\t},\r\n\tenlarge : function(toBlock) {\r\n\t\tvar self = this;\r\n\t\tself.up();\r\n\t\tfunction enlargePos(node, pos, isStart) {\r\n\t\t\tvar knode = K(node), parent;\r\n\t\t\tif (knode.type == 3 || _NOSPLIT_TAG_MAP[knode.name] || !toBlock && knode.isBlock()) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (pos === 0) {\r\n\t\t\t\twhile (!knode.prev()) {\r\n\t\t\t\t\tparent = knode.parent();\r\n\t\t\t\t\tif (!parent || _NOSPLIT_TAG_MAP[parent.name] || !toBlock && parent.isBlock()) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tknode = parent;\r\n\t\t\t\t}\r\n\t\t\t\tif (isStart) {\r\n\t\t\t\t\tself.setStartBefore(knode[0]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tself.setEndBefore(knode[0]);\r\n\t\t\t\t}\r\n\t\t\t} else if (pos == knode.children().length) {\r\n\t\t\t\twhile (!knode.next()) {\r\n\t\t\t\t\tparent = knode.parent();\r\n\t\t\t\t\tif (!parent || _NOSPLIT_TAG_MAP[parent.name] || !toBlock && parent.isBlock()) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tknode = parent;\r\n\t\t\t\t}\r\n\t\t\t\tif (isStart) {\r\n\t\t\t\t\tself.setStartAfter(knode[0]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tself.setEndAfter(knode[0]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tenlargePos(self.startContainer, self.startOffset, true);\r\n\t\tenlargePos(self.endContainer, self.endOffset, false);\r\n\t\treturn self;\r\n\t},\r\n\tshrink : function() {\r\n\t\tvar self = this, child, collapsed = self.collapsed;\r\n\t\twhile (self.startContainer.nodeType == 1 && (child = self.startContainer.childNodes[self.startOffset]) && child.nodeType == 1 && !K(child).isSingle()) {\r\n\t\t\tself.setStart(child, 0);\r\n\t\t}\r\n\t\tif (collapsed) {\r\n\t\t\treturn self.collapse(collapsed);\r\n\t\t}\r\n\t\twhile (self.endContainer.nodeType == 1 && self.endOffset > 0 && (child = self.endContainer.childNodes[self.endOffset - 1]) && child.nodeType == 1 && !K(child).isSingle()) {\r\n\t\t\tself.setEnd(child, child.childNodes.length);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tcreateBookmark : function(serialize) {\r\n\t\tvar self = this, doc = self.doc, endNode,\r\n\t\t\tstartNode = K('<span style=\"display:none;\"></span>', doc)[0];\r\n\t\tstartNode.id = '__kindeditor_bookmark_start_' + (_BOOKMARK_ID++) + '__';\r\n\t\tif (!self.collapsed) {\r\n\t\t\tendNode = startNode.cloneNode(true);\r\n\t\t\tendNode.id = '__kindeditor_bookmark_end_' + (_BOOKMARK_ID++) + '__';\r\n\t\t}\r\n\t\tif (endNode) {\r\n\t\t\tself.cloneRange().collapse(false).insertNode(endNode).setEndBefore(endNode);\r\n\t\t}\r\n\t\tself.insertNode(startNode).setStartAfter(startNode);\r\n\t\treturn {\r\n\t\t\tstart : serialize ? '#' + startNode.id : startNode,\r\n\t\t\tend : endNode ? (serialize ? '#' + endNode.id : endNode) : null\r\n\t\t};\r\n\t},\r\n\tmoveToBookmark : function(bookmark) {\r\n\t\tvar self = this, doc = self.doc,\r\n\t\t\tstart = K(bookmark.start, doc), end = bookmark.end ? K(bookmark.end, doc) : null;\r\n\t\tif (!start || start.length < 1) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tself.setStartBefore(start[0]);\r\n\t\tstart.remove();\r\n\t\tif (end && end.length > 0) {\r\n\t\t\tself.setEndBefore(end[0]);\r\n\t\t\tend.remove();\r\n\t\t} else {\r\n\t\t\tself.collapse(true);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tdump : function() {\r\n\t\tconsole.log('--------------------');\r\n\t\tconsole.log(this.startContainer.nodeType == 3 ? this.startContainer.nodeValue : this.startContainer, this.startOffset);\r\n\t\tconsole.log(this.endContainer.nodeType == 3 ? this.endContainer.nodeValue : this.endContainer, this.endOffset);\r\n\t}\r\n});\r\nfunction _range(mixed) {\r\n\tif (!mixed.nodeName) {\r\n\t\treturn mixed.constructor === KRange ? mixed : _toRange(mixed);\r\n\t}\r\n\treturn new KRange(mixed);\r\n}\r\nK.RangeClass = KRange;\r\nK.range = _range;\r\nK.START_TO_START = _START_TO_START;\r\nK.START_TO_END = _START_TO_END;\r\nK.END_TO_END = _END_TO_END;\r\nK.END_TO_START = _END_TO_START;\r\nfunction _nativeCommand(doc, key, val) {\r\n\ttry {\r\n\t\tdoc.execCommand(key, false, val);\r\n\t} catch(e) {}\r\n}\r\nfunction _nativeCommandValue(doc, key) {\r\n\tvar val = '';\r\n\ttry {\r\n\t\tval = doc.queryCommandValue(key);\r\n\t} catch (e) {}\r\n\tif (typeof val !== 'string') {\r\n\t\tval = '';\r\n\t}\r\n\treturn val;\r\n}\r\nfunction _getSel(doc) {\r\n\tvar win = _getWin(doc);\r\n\treturn _IERANGE ? doc.selection : win.getSelection();\r\n}\r\nfunction _getRng(doc) {\r\n\tvar sel = _getSel(doc), rng;\r\n\ttry {\r\n\t\tif (sel.rangeCount > 0) {\r\n\t\t\trng = sel.getRangeAt(0);\r\n\t\t} else {\r\n\t\t\trng = sel.createRange();\r\n\t\t}\r\n\t} catch(e) {}\r\n\tif (_IERANGE && (!rng || (!rng.item && rng.parentElement().ownerDocument !== doc))) {\r\n\t\treturn null;\r\n\t}\r\n\treturn rng;\r\n}\r\nfunction _singleKeyMap(map) {\r\n\tvar newMap = {}, arr, v;\r\n\t_each(map, function(key, val) {\r\n\t\tarr = key.split(',');\r\n\t\tfor (var i = 0, len = arr.length; i < len; i++) {\r\n\t\t\tv = arr[i];\r\n\t\t\tnewMap[v] = val;\r\n\t\t}\r\n\t});\r\n\treturn newMap;\r\n}\r\nfunction _hasAttrOrCss(knode, map) {\r\n\treturn _hasAttrOrCssByKey(knode, map, '*') || _hasAttrOrCssByKey(knode, map);\r\n}\r\nfunction _hasAttrOrCssByKey(knode, map, mapKey) {\r\n\tmapKey = mapKey || knode.name;\r\n\tif (knode.type !== 1) {\r\n\t\treturn false;\r\n\t}\r\n\tvar newMap = _singleKeyMap(map);\r\n\tif (!newMap[mapKey]) {\r\n\t\treturn false;\r\n\t}\r\n\tvar arr = newMap[mapKey].split(',');\r\n\tfor (var i = 0, len = arr.length; i < len; i++) {\r\n\t\tvar key = arr[i];\r\n\t\tif (key === '*') {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tvar match = /^(\\.?)([^=]+)(?:=([^=]*))?$/.exec(key);\r\n\t\tvar method = match[1] ? 'css' : 'attr';\r\n\t\tkey = match[2];\r\n\t\tvar val = match[3] || '';\r\n\t\tif (val === '' && knode[method](key) !== '') {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tif (val !== '' && knode[method](key) === val) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n}\r\nfunction _removeAttrOrCss(knode, map) {\r\n\tif (knode.type != 1) {\r\n\t\treturn;\r\n\t}\r\n\t_removeAttrOrCssByKey(knode, map, '*');\r\n\t_removeAttrOrCssByKey(knode, map);\r\n}\r\nfunction _removeAttrOrCssByKey(knode, map, mapKey) {\r\n\tmapKey = mapKey || knode.name;\r\n\tif (knode.type !== 1) {\r\n\t\treturn;\r\n\t}\r\n\tvar newMap = _singleKeyMap(map);\r\n\tif (!newMap[mapKey]) {\r\n\t\treturn;\r\n\t}\r\n\tvar arr = newMap[mapKey].split(','), allFlag = false;\r\n\tfor (var i = 0, len = arr.length; i < len; i++) {\r\n\t\tvar key = arr[i];\r\n\t\tif (key === '*') {\r\n\t\t\tallFlag = true;\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tvar match = /^(\\.?)([^=]+)(?:=([^=]*))?$/.exec(key);\r\n\t\tkey = match[2];\r\n\t\tif (match[1]) {\r\n\t\t\tkey = _toCamel(key);\r\n\t\t\tif (knode[0].style[key]) {\r\n\t\t\t\tknode[0].style[key] = '';\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tknode.removeAttr(key);\r\n\t\t}\r\n\t}\r\n\tif (allFlag) {\r\n\t\tknode.remove(true);\r\n\t}\r\n}\r\nfunction _getInnerNode(knode) {\r\n\tvar inner = knode;\r\n\twhile (inner.first()) {\r\n\t\tinner = inner.first();\r\n\t}\r\n\treturn inner;\r\n}\r\nfunction _isEmptyNode(knode) {\r\n\tif (knode.type != 1 || knode.isSingle()) {\r\n\t\treturn false;\r\n\t}\r\n\treturn knode.html().replace(/<[^>]+>/g, '') === '';\r\n}\r\nfunction _mergeWrapper(a, b) {\r\n\ta = a.clone(true);\r\n\tvar lastA = _getInnerNode(a), childA = a, merged = false;\r\n\twhile (b) {\r\n\t\twhile (childA) {\r\n\t\t\tif (childA.name === b.name) {\r\n\t\t\t\t_mergeAttrs(childA, b.attr(), b.css());\r\n\t\t\t\tmerged = true;\r\n\t\t\t}\r\n\t\t\tchildA = childA.first();\r\n\t\t}\r\n\t\tif (!merged) {\r\n\t\t\tlastA.append(b.clone(false));\r\n\t\t}\r\n\t\tmerged = false;\r\n\t\tb = b.first();\r\n\t}\r\n\treturn a;\r\n}\r\nfunction _wrapNode(knode, wrapper) {\r\n\twrapper = wrapper.clone(true);\r\n\tif (knode.type == 3) {\r\n\t\t_getInnerNode(wrapper).append(knode.clone(false));\r\n\t\tknode.replaceWith(wrapper);\r\n\t\treturn wrapper;\r\n\t}\r\n\tvar nodeWrapper = knode, child;\r\n\twhile ((child = knode.first()) && child.children().length == 1) {\r\n\t\tknode = child;\r\n\t}\r\n\tchild = knode.first();\r\n\tvar frag = knode.doc.createDocumentFragment();\r\n\twhile (child) {\r\n\t\tfrag.appendChild(child[0]);\r\n\t\tchild = child.next();\r\n\t}\r\n\twrapper = _mergeWrapper(nodeWrapper, wrapper);\r\n\tif (frag.firstChild) {\r\n\t\t_getInnerNode(wrapper).append(frag);\r\n\t}\r\n\tnodeWrapper.replaceWith(wrapper);\r\n\treturn wrapper;\r\n}\r\nfunction _mergeAttrs(knode, attrs, styles) {\r\n\t_each(attrs, function(key, val) {\r\n\t\tif (key !== 'style') {\r\n\t\t\tknode.attr(key, val);\r\n\t\t}\r\n\t});\r\n\t_each(styles, function(key, val) {\r\n\t\tknode.css(key, val);\r\n\t});\r\n}\r\nfunction _inPreElement(knode) {\r\n\twhile (knode && knode.name != 'body') {\r\n\t\tif (_PRE_TAG_MAP[knode.name] || knode.name == 'div' && knode.hasClass('ke-script')) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tknode = knode.parent();\r\n\t}\r\n\treturn false;\r\n}\r\nfunction KCmd(range) {\r\n\tthis.init(range);\r\n}\r\n_extend(KCmd, {\r\n\tinit : function(range) {\r\n\t\tvar self = this, doc = range.doc;\r\n\t\tself.doc = doc;\r\n\t\tself.win = _getWin(doc);\r\n\t\tself.sel = _getSel(doc);\r\n\t\tself.range = range;\r\n\t},\r\n\tselection : function(forceReset) {\r\n\t\tvar self = this, doc = self.doc, rng = _getRng(doc);\r\n\t\tself.sel = _getSel(doc);\r\n\t\tif (rng) {\r\n\t\t\tself.range = _range(rng);\r\n\t\t\tif (K(self.range.startContainer).name == 'html') {\r\n\t\t\t\tself.range.selectNodeContents(doc.body).collapse(false);\r\n\t\t\t}\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (forceReset) {\r\n\t\t\tself.range.selectNodeContents(doc.body).collapse(false);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tselect : function(hasDummy) {\r\n\t\thasDummy = _undef(hasDummy, true);\r\n\t\tvar self = this, sel = self.sel, range = self.range.cloneRange().shrink(),\r\n\t\t\tsc = range.startContainer, so = range.startOffset,\r\n\t\t\tec = range.endContainer, eo = range.endOffset,\r\n\t\t\tdoc = _getDoc(sc), win = self.win, rng, hasU200b = false;\r\n\t\tif (hasDummy && sc.nodeType == 1 && range.collapsed) {\r\n\t\t\tif (_IERANGE) {\r\n\t\t\t\tvar dummy = K('<span>&nbsp;</span>', doc);\r\n\t\t\t\trange.insertNode(dummy[0]);\r\n\t\t\t\trng = doc.body.createTextRange();\r\n\t\t\t\ttry {\r\n\t\t\t\t\trng.moveToElementText(dummy[0]);\r\n\t\t\t\t} catch(ex) {}\r\n\t\t\t\trng.collapse(false);\r\n\t\t\t\trng.select();\r\n\t\t\t\tdummy.remove();\r\n\t\t\t\twin.focus();\r\n\t\t\t\treturn self;\r\n\t\t\t}\r\n\t\t\tif (_WEBKIT) {\r\n\t\t\t\tvar children = sc.childNodes;\r\n\t\t\t\tif (K(sc).isInline() || so > 0 && K(children[so - 1]).isInline() || children[so] && K(children[so]).isInline()) {\r\n\t\t\t\t\trange.insertNode(doc.createTextNode('\\u200B'));\r\n\t\t\t\t\thasU200b = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (_IERANGE) {\r\n\t\t\ttry {\r\n\t\t\t\trng = range.get(true);\r\n\t\t\t\trng.select();\r\n\t\t\t} catch(e) {}\r\n\t\t} else {\r\n\t\t\tif (hasU200b) {\r\n\t\t\t\trange.collapse(false);\r\n\t\t\t}\r\n\t\t\trng = range.get(true);\r\n\t\t\tsel.removeAllRanges();\r\n\t\t\tsel.addRange(rng);\r\n\t\t\tif (doc !== document) {\r\n\t\t\t\tvar pos = K(rng.endContainer).pos();\r\n\t\t\t\twin.scrollTo(pos.x, pos.y);\r\n\t\t\t}\r\n\t\t}\r\n\t\twin.focus();\r\n\t\treturn self;\r\n\t},\r\n\twrap : function(val) {\r\n\t\tvar self = this, doc = self.doc, range = self.range, wrapper;\r\n\t\twrapper = K(val, doc);\r\n\t\tif (range.collapsed) {\r\n\t\t\trange.shrink();\r\n\t\t\trange.insertNode(wrapper[0]).selectNodeContents(wrapper[0]);\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (wrapper.isBlock()) {\r\n\t\t\tvar copyWrapper = wrapper.clone(true), child = copyWrapper;\r\n\t\t\twhile (child.first()) {\r\n\t\t\t\tchild = child.first();\r\n\t\t\t}\r\n\t\t\tchild.append(range.extractContents());\r\n\t\t\trange.insertNode(copyWrapper[0]).selectNode(copyWrapper[0]);\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\trange.enlarge();\r\n\t\tvar bookmark = range.createBookmark(), ancestor = range.commonAncestor(), isStart = false;\r\n\t\tK(ancestor).scan(function(node) {\r\n\t\t\tif (!isStart && node == bookmark.start) {\r\n\t\t\t\tisStart = true;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isStart) {\r\n\t\t\t\tif (node == bookmark.end) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tvar knode = K(node);\r\n\t\t\t\tif (_inPreElement(knode)) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (knode.type == 3 && _trim(node.nodeValue).length > 0) {\r\n\t\t\t\t\tvar parent;\r\n\t\t\t\t\twhile ((parent = knode.parent()) && parent.isStyle() && parent.children().length == 1) {\r\n\t\t\t\t\t\tknode = parent;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t_wrapNode(knode, wrapper);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\trange.moveToBookmark(bookmark);\r\n\t\treturn self;\r\n\t},\r\n\tsplit : function(isStart, map) {\r\n\t\tvar range = this.range, doc = range.doc;\r\n\t\tvar tempRange = range.cloneRange().collapse(isStart);\r\n\t\tvar node = tempRange.startContainer, pos = tempRange.startOffset,\r\n\t\t\tparent = node.nodeType == 3 ? node.parentNode : node,\r\n\t\t\tneedSplit = false, knode;\r\n\t\twhile (parent && parent.parentNode) {\r\n\t\t\tknode = K(parent);\r\n\t\t\tif (map) {\r\n\t\t\t\tif (!knode.isStyle()) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tif (!_hasAttrOrCss(knode, map)) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (_NOSPLIT_TAG_MAP[knode.name]) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tneedSplit = true;\r\n\t\t\tparent = parent.parentNode;\r\n\t\t}\r\n\t\tif (needSplit) {\r\n\t\t\tvar dummy = doc.createElement('span');\r\n\t\t\trange.cloneRange().collapse(!isStart).insertNode(dummy);\r\n\t\t\tif (isStart) {\r\n\t\t\t\ttempRange.setStartBefore(parent.firstChild).setEnd(node, pos);\r\n\t\t\t} else {\r\n\t\t\t\ttempRange.setStart(node, pos).setEndAfter(parent.lastChild);\r\n\t\t\t}\r\n\t\t\tvar frag = tempRange.extractContents(),\r\n\t\t\t\tfirst = frag.firstChild, last = frag.lastChild;\r\n\t\t\tif (isStart) {\r\n\t\t\t\ttempRange.insertNode(frag);\r\n\t\t\t\trange.setStartAfter(last).setEndBefore(dummy);\r\n\t\t\t} else {\r\n\t\t\t\tparent.appendChild(frag);\r\n\t\t\t\trange.setStartBefore(dummy).setEndBefore(first);\r\n\t\t\t}\r\n\t\t\tvar dummyParent = dummy.parentNode;\r\n\t\t\tif (dummyParent == range.endContainer) {\r\n\t\t\t\tvar prev = K(dummy).prev(), next = K(dummy).next();\r\n\t\t\t\tif (prev && next && prev.type == 3 && next.type == 3) {\r\n\t\t\t\t\trange.setEnd(prev[0], prev[0].nodeValue.length);\r\n\t\t\t\t} else if (!isStart) {\r\n\t\t\t\t\trange.setEnd(range.endContainer, range.endOffset - 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tdummyParent.removeChild(dummy);\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\tremove : function(map) {\r\n\t\tvar self = this, doc = self.doc, range = self.range;\r\n\t\trange.enlarge();\r\n\t\tif (range.startOffset === 0) {\r\n\t\t\tvar ksc = K(range.startContainer), parent;\r\n\t\t\twhile ((parent = ksc.parent()) && parent.isStyle() && parent.children().length == 1) {\r\n\t\t\t\tksc = parent;\r\n\t\t\t}\r\n\t\t\trange.setStart(ksc[0], 0);\r\n\t\t\tksc = K(range.startContainer);\r\n\t\t\tif (ksc.isBlock()) {\r\n\t\t\t\t_removeAttrOrCss(ksc, map);\r\n\t\t\t}\r\n\t\t\tvar kscp = ksc.parent();\r\n\t\t\tif (kscp && kscp.isBlock()) {\r\n\t\t\t\t_removeAttrOrCss(kscp, map);\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar sc, so;\r\n\t\tif (range.collapsed) {\r\n\t\t\tself.split(true, map);\r\n\t\t\tsc = range.startContainer;\r\n\t\t\tso = range.startOffset;\r\n\t\t\tif (so > 0) {\r\n\t\t\t\tvar sb = K(sc.childNodes[so - 1]);\r\n\t\t\t\tif (sb && _isEmptyNode(sb)) {\r\n\t\t\t\t\tsb.remove();\r\n\t\t\t\t\trange.setStart(sc, so - 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar sa = K(sc.childNodes[so]);\r\n\t\t\tif (sa && _isEmptyNode(sa)) {\r\n\t\t\t\tsa.remove();\r\n\t\t\t}\r\n\t\t\tif (_isEmptyNode(sc)) {\r\n\t\t\t\trange.startBefore(sc);\r\n\t\t\t\tsc.remove();\r\n\t\t\t}\r\n\t\t\trange.collapse(true);\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tself.split(true, map);\r\n\t\tself.split(false, map);\r\n\t\tvar startDummy = doc.createElement('span'), endDummy = doc.createElement('span');\r\n\t\trange.cloneRange().collapse(false).insertNode(endDummy);\r\n\t\trange.cloneRange().collapse(true).insertNode(startDummy);\r\n\t\tvar nodeList = [], cmpStart = false;\r\n\t\tK(range.commonAncestor()).scan(function(node) {\r\n\t\t\tif (!cmpStart && node == startDummy) {\r\n\t\t\t\tcmpStart = true;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (node == endDummy) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tif (cmpStart) {\r\n\t\t\t\tnodeList.push(node);\r\n\t\t\t}\r\n\t\t});\r\n\t\tK(startDummy).remove();\r\n\t\tK(endDummy).remove();\r\n\t\tsc = range.startContainer;\r\n\t\tso = range.startOffset;\r\n\t\tvar ec = range.endContainer, eo = range.endOffset;\r\n\t\tif (so > 0) {\r\n\t\t\tvar startBefore = K(sc.childNodes[so - 1]);\r\n\t\t\tif (startBefore && _isEmptyNode(startBefore)) {\r\n\t\t\t\tstartBefore.remove();\r\n\t\t\t\trange.setStart(sc, so - 1);\r\n\t\t\t\tif (sc == ec) {\r\n\t\t\t\t\trange.setEnd(ec, eo - 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar startAfter = K(sc.childNodes[so]);\r\n\t\t\tif (startAfter && _isEmptyNode(startAfter)) {\r\n\t\t\t\tstartAfter.remove();\r\n\t\t\t\tif (sc == ec) {\r\n\t\t\t\t\trange.setEnd(ec, eo - 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar endAfter = K(ec.childNodes[range.endOffset]);\r\n\t\tif (endAfter && _isEmptyNode(endAfter)) {\r\n\t\t\tendAfter.remove();\r\n\t\t}\r\n\t\tvar bookmark = range.createBookmark(true);\r\n\t\t_each(nodeList, function(i, node) {\r\n\t\t\t_removeAttrOrCss(K(node), map);\r\n\t\t});\r\n\t\trange.moveToBookmark(bookmark);\r\n\t\treturn self;\r\n\t},\r\n\tcommonNode : function(map) {\r\n\t\tvar range = this.range;\r\n\t\tvar ec = range.endContainer, eo = range.endOffset,\r\n\t\t\tnode = (ec.nodeType == 3 || eo === 0) ? ec : ec.childNodes[eo - 1];\r\n\t\tfunction find(node) {\r\n\t\t\tvar child = node, parent = node;\r\n\t\t\twhile (parent) {\r\n\t\t\t\tif (_hasAttrOrCss(K(parent), map)) {\r\n\t\t\t\t\treturn K(parent);\r\n\t\t\t\t}\r\n\t\t\t\tparent = parent.parentNode;\r\n\t\t\t}\r\n\t\t\twhile (child && (child = child.lastChild)) {\r\n\t\t\t\tif (_hasAttrOrCss(K(child), map)) {\r\n\t\t\t\t\treturn K(child);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar cNode = find(node);\r\n\t\tif (cNode) {\r\n\t\t\treturn cNode;\r\n\t\t}\r\n\t\tif (node.nodeType == 1 || (ec.nodeType == 3 && eo === 0)) {\r\n\t\t\tvar prev = K(node).prev();\r\n\t\t\tif (prev) {\r\n\t\t\t\treturn find(prev);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t},\r\n\tcommonAncestor : function(tagName) {\r\n\t\tvar range = this.range,\r\n\t\t\tsc = range.startContainer, so = range.startOffset,\r\n\t\t\tec = range.endContainer, eo = range.endOffset,\r\n\t\t\tstartNode = (sc.nodeType == 3 || so === 0) ? sc : sc.childNodes[so - 1],\r\n\t\t\tendNode = (ec.nodeType == 3 || eo === 0) ? ec : ec.childNodes[eo - 1];\r\n\t\tfunction find(node) {\r\n\t\t\twhile (node) {\r\n\t\t\t\tif (node.nodeType == 1) {\r\n\t\t\t\t\tif (node.tagName.toLowerCase() === tagName) {\r\n\t\t\t\t\t\treturn node;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tnode = node.parentNode;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar start = find(startNode), end = find(endNode);\r\n\t\tif (start && end && start === end) {\r\n\t\t\treturn K(start);\r\n\t\t}\r\n\t\treturn null;\r\n\t},\r\n\tstate : function(key) {\r\n\t\tvar self = this, doc = self.doc, bool = false;\r\n\t\ttry {\r\n\t\t\tbool = doc.queryCommandState(key);\r\n\t\t} catch (e) {}\r\n\t\treturn bool;\r\n\t},\r\n\tval : function(key) {\r\n\t\tvar self = this, doc = self.doc, range = self.range;\r\n\t\tfunction lc(val) {\r\n\t\t\treturn val.toLowerCase();\r\n\t\t}\r\n\t\tkey = lc(key);\r\n\t\tvar val = '', knode;\r\n\t\tif (key === 'fontfamily' || key === 'fontname') {\r\n\t\t\tval = _nativeCommandValue(doc, 'fontname');\r\n\t\t\tval = val.replace(/['\"]/g, '');\r\n\t\t\treturn lc(val);\r\n\t\t}\r\n\t\tif (key === 'formatblock') {\r\n\t\t\tval = _nativeCommandValue(doc, key);\r\n\t\t\tif (val === '') {\r\n\t\t\t\tknode = self.commonNode({'h1,h2,h3,h4,h5,h6,p,div,pre,address' : '*'});\r\n\t\t\t\tif (knode) {\r\n\t\t\t\t\tval = knode.name;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (val === 'Normal') {\r\n\t\t\t\tval = 'p';\r\n\t\t\t}\r\n\t\t\treturn lc(val);\r\n\t\t}\r\n\t\tif (key === 'fontsize') {\r\n\t\t\tknode = self.commonNode({'*' : '.font-size'});\r\n\t\t\tif (knode) {\r\n\t\t\t\tval = knode.css('font-size');\r\n\t\t\t}\r\n\t\t\treturn lc(val);\r\n\t\t}\r\n\t\tif (key === 'forecolor') {\r\n\t\t\tknode = self.commonNode({'*' : '.color'});\r\n\t\t\tif (knode) {\r\n\t\t\t\tval = knode.css('color');\r\n\t\t\t}\r\n\t\t\tval = _toHex(val);\r\n\t\t\tif (val === '') {\r\n\t\t\t\tval = 'default';\r\n\t\t\t}\r\n\t\t\treturn lc(val);\r\n\t\t}\r\n\t\tif (key === 'hilitecolor') {\r\n\t\t\tknode = self.commonNode({'*' : '.background-color'});\r\n\t\t\tif (knode) {\r\n\t\t\t\tval = knode.css('background-color');\r\n\t\t\t}\r\n\t\t\tval = _toHex(val);\r\n\t\t\tif (val === '') {\r\n\t\t\t\tval = 'default';\r\n\t\t\t}\r\n\t\t\treturn lc(val);\r\n\t\t}\r\n\t\treturn val;\r\n\t},\r\n\ttoggle : function(wrapper, map) {\r\n\t\tvar self = this;\r\n\t\tif (self.commonNode(map)) {\r\n\t\t\tself.remove(map);\r\n\t\t} else {\r\n\t\t\tself.wrap(wrapper);\r\n\t\t}\r\n\t\treturn self.select();\r\n\t},\r\n\tbold : function() {\r\n\t\treturn this.toggle('<strong></strong>', {\r\n\t\t\tspan : '.font-weight=bold',\r\n\t\t\tstrong : '*',\r\n\t\t\tb : '*'\r\n\t\t});\r\n\t},\r\n\titalic : function() {\r\n\t\treturn this.toggle('<em></em>', {\r\n\t\t\tspan : '.font-style=italic',\r\n\t\t\tem : '*',\r\n\t\t\ti : '*'\r\n\t\t});\r\n\t},\r\n\tunderline : function() {\r\n\t\treturn this.toggle('<u></u>', {\r\n\t\t\tspan : '.text-decoration=underline',\r\n\t\t\tu : '*'\r\n\t\t});\r\n\t},\r\n\tstrikethrough : function() {\r\n\t\treturn this.toggle('<s></s>', {\r\n\t\t\tspan : '.text-decoration=line-through',\r\n\t\t\ts : '*'\r\n\t\t});\r\n\t},\r\n\tforecolor : function(val) {\r\n\t\treturn this.wrap('<span style=\"color:' + val + ';\"></span>').select();\r\n\t},\r\n\thilitecolor : function(val) {\r\n\t\treturn this.wrap('<span style=\"background-color:' + val + ';\"></span>').select();\r\n\t},\r\n\tfontsize : function(val) {\r\n\t\treturn this.wrap('<span style=\"font-size:' + val + ';\"></span>').select();\r\n\t},\r\n\tfontname : function(val) {\r\n\t\treturn this.fontfamily(val);\r\n\t},\r\n\tfontfamily : function(val) {\r\n\t\treturn this.wrap('<span style=\"font-family:' + val + ';\"></span>').select();\r\n\t},\r\n\tremoveformat : function() {\r\n\t\tvar map = {\r\n\t\t\t'*' : '.font-weight,.font-style,.text-decoration,.color,.background-color,.font-size,.font-family,.text-indent'\r\n\t\t},\r\n\t\ttags = _STYLE_TAG_MAP;\r\n\t\t_each(tags, function(key, val) {\r\n\t\t\tmap[key] = '*';\r\n\t\t});\r\n\t\tthis.remove(map);\r\n\t\treturn this.select();\r\n\t},\r\n\tinserthtml : function(val, quickMode) {\r\n\t\tvar self = this, range = self.range;\r\n\t\tif (val === '') {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tfunction pasteHtml(range, val) {\r\n\t\t\tval = '<img id=\"__kindeditor_temp_tag__\" width=\"0\" height=\"0\" style=\"display:none;\" />' + val;\r\n\t\t\tvar rng = range.get();\r\n\t\t\tif (rng.item) {\r\n\t\t\t\trng.item(0).outerHTML = val;\r\n\t\t\t} else {\r\n\t\t\t\trng.pasteHTML(val);\r\n\t\t\t}\r\n\t\t\tvar temp = range.doc.getElementById('__kindeditor_temp_tag__');\r\n\t\t\ttemp.parentNode.removeChild(temp);\r\n\t\t\tvar newRange = _toRange(rng);\r\n\t\t\trange.setEnd(newRange.endContainer, newRange.endOffset);\r\n\t\t\trange.collapse(false);\r\n\t\t\tself.select(false);\r\n\t\t}\r\n\t\tfunction insertHtml(range, val) {\r\n\t\t\tvar doc = range.doc,\r\n\t\t\t\tfrag = doc.createDocumentFragment();\r\n\t\t\tK('@' + val, doc).each(function() {\r\n\t\t\t\tfrag.appendChild(this);\r\n\t\t\t});\r\n\t\t\trange.deleteContents();\r\n\t\t\trange.insertNode(frag);\r\n\t\t\trange.collapse(false);\r\n\t\t\tself.select(false);\r\n\t\t}\r\n\t\tif (_IERANGE && quickMode) {\r\n\t\t\ttry {\r\n\t\t\t\tpasteHtml(range, val);\r\n\t\t\t} catch(e) {\r\n\t\t\t\tinsertHtml(range, val);\r\n\t\t\t}\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tinsertHtml(range, val);\r\n\t\treturn self;\r\n\t},\r\n\thr : function() {\r\n\t\treturn this.inserthtml('<hr />');\r\n\t},\r\n\tprint : function() {\r\n\t\tthis.win.print();\r\n\t\treturn this;\r\n\t},\r\n\tinsertimage : function(url, title, width, height, border, align) {\r\n\t\ttitle = _undef(title, '');\r\n\t\tborder = _undef(border, 0);\r\n\t\tvar html = '<img src=\"' + _escape(url) + '\" data-ke-src=\"' + _escape(url) + '\" ';\r\n\t\tif (width) {\r\n\t\t\thtml += 'width=\"' + _escape(width) + '\" ';\r\n\t\t}\r\n\t\tif (height) {\r\n\t\t\thtml += 'height=\"' + _escape(height) + '\" ';\r\n\t\t}\r\n\t\tif (title) {\r\n\t\t\thtml += 'title=\"' + _escape(title) + '\" ';\r\n\t\t}\r\n\t\tif (align) {\r\n\t\t\thtml += 'align=\"' + _escape(align) + '\" ';\r\n\t\t}\r\n\t\thtml += 'alt=\"' + _escape(title) + '\" ';\r\n\t\thtml += '/>';\r\n\t\treturn this.inserthtml(html);\r\n\t},\r\n\tcreatelink : function(url, type) {\r\n\t\tvar self = this, doc = self.doc, range = self.range;\r\n\t\tself.select();\r\n\t\tvar a = self.commonNode({ a : '*' });\r\n\t\tif (a && !range.isControl()) {\r\n\t\t\trange.selectNode(a.get());\r\n\t\t\tself.select();\r\n\t\t}\r\n\t\tvar html = '<a href=\"' + _escape(url) + '\" data-ke-src=\"' + _escape(url) + '\" ';\r\n\t\tif (type) {\r\n\t\t\thtml += ' target=\"' + _escape(type) + '\"';\r\n\t\t}\r\n\t\tif (range.collapsed) {\r\n\t\t\thtml += '>' + _escape(url) + '</a>';\r\n\t\t\treturn self.inserthtml(html);\r\n\t\t}\r\n\t\tif (range.isControl()) {\r\n\t\t\tvar node = K(range.startContainer.childNodes[range.startOffset]);\r\n\t\t\thtml += '></a>';\r\n\t\t\tnode.after(K(html, doc));\r\n\t\t\tnode.next().append(node);\r\n\t\t\trange.selectNode(node[0]);\r\n\t\t\treturn self.select();\r\n\t\t}\r\n\t\tfunction setAttr(node, url, type) {\r\n\t\t\tK(node).attr('href', url).attr('data-ke-src', url);\r\n\t\t\tif (type) {\r\n\t\t\t\tK(node).attr('target', type);\r\n\t\t\t} else {\r\n\t\t\t\tK(node).removeAttr('target');\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar sc = range.startContainer, so = range.startOffset,\r\n\t\t\tec = range.endContainer, eo = range.endOffset;\r\n\t\tif (sc.nodeType == 1 && sc === ec && so + 1 === eo) {\r\n\t\t\tvar child = sc.childNodes[so];\r\n\t\t\tif (child.nodeName.toLowerCase() == 'a') {\r\n\t\t\t\tsetAttr(child, url, type);\r\n\t\t\t\treturn self;\r\n\t\t\t}\r\n\t\t}\r\n\t\t_nativeCommand(doc, 'createlink', '__kindeditor_temp_url__');\r\n\t\tK('a[href=\"__kindeditor_temp_url__\"]', doc).each(function() {\r\n\t\t\tsetAttr(this, url, type);\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tunlink : function() {\r\n\t\tvar self = this, doc = self.doc, range = self.range;\r\n\t\tself.select();\r\n\t\tif (range.collapsed) {\r\n\t\t\tvar a = self.commonNode({ a : '*' });\r\n\t\t\tif (a) {\r\n\t\t\t\trange.selectNode(a.get());\r\n\t\t\t\tself.select();\r\n\t\t\t}\r\n\t\t\t_nativeCommand(doc, 'unlink', null);\r\n\t\t\tif (_WEBKIT && K(range.startContainer).name === 'img') {\r\n\t\t\t\tvar parent = K(range.startContainer).parent();\r\n\t\t\t\tif (parent.name === 'a') {\r\n\t\t\t\t\tparent.remove(true);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t_nativeCommand(doc, 'unlink', null);\r\n\t\t}\r\n\t\treturn self;\r\n\t}\r\n});\r\n_each(('formatblock,selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,' +\r\n\t'insertunorderedlist,indent,outdent,subscript,superscript').split(','), function(i, name) {\r\n\tKCmd.prototype[name] = function(val) {\r\n\t\tvar self = this;\r\n\t\tself.select();\r\n\t\t_nativeCommand(self.doc, name, val);\r\n\t\tif (_IERANGE && _inArray(name, 'justifyleft,justifycenter,justifyright,justifyfull'.split(',')) >= 0) {\r\n\t\t\tself.selection();\r\n\t\t}\r\n\t\tif (!_IERANGE || _inArray(name, 'formatblock,selectall,insertorderedlist,insertunorderedlist'.split(',')) >= 0) {\r\n\t\t\tself.selection();\r\n\t\t}\r\n\t\treturn self;\r\n\t};\r\n});\r\n_each('cut,copy,paste'.split(','), function(i, name) {\r\n\tKCmd.prototype[name] = function() {\r\n\t\tvar self = this;\r\n\t\tif (!self.doc.queryCommandSupported(name)) {\r\n\t\t\tthrow 'not supported';\r\n\t\t}\r\n\t\tself.select();\r\n\t\t_nativeCommand(self.doc, name, null);\r\n\t\treturn self;\r\n\t};\r\n});\r\nfunction _cmd(mixed) {\r\n\tif (mixed.nodeName) {\r\n\t\tvar doc = _getDoc(mixed);\r\n\t\tmixed = _range(doc).selectNodeContents(doc.body).collapse(false);\r\n\t}\r\n\treturn new KCmd(mixed);\r\n}\r\nK.CmdClass = KCmd;\r\nK.cmd = _cmd;\r\nfunction _drag(options) {\r\n\tvar moveEl = options.moveEl,\r\n\t\tmoveFn = options.moveFn,\r\n\t\tclickEl = options.clickEl || moveEl,\r\n\t\tbeforeDrag = options.beforeDrag,\r\n\t\tiframeFix = options.iframeFix === undefined ? true : options.iframeFix;\r\n\tvar docs = [document];\r\n\tif (iframeFix) {\r\n\t\tK('iframe').each(function() {\r\n\t\t\tvar src = _formatUrl(this.src || '', 'absolute');\r\n\t\t\tif (/^https?:\\/\\//.test(src)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar doc;\r\n\t\t\ttry {\r\n\t\t\t\tdoc = _iframeDoc(this);\r\n\t\t\t} catch(e) {}\r\n\t\t\tif (doc) {\r\n\t\t\t\tvar pos = K(this).pos();\r\n\t\t\t\tK(doc).data('pos-x', pos.x);\r\n\t\t\t\tK(doc).data('pos-y', pos.y);\r\n\t\t\t\tdocs.push(doc);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tclickEl.mousedown(function(e) {\r\n\t\te.stopPropagation();\r\n\t\tvar self = clickEl.get(),\r\n\t\t\tx = _removeUnit(moveEl.css('left')),\r\n\t\t\ty = _removeUnit(moveEl.css('top')),\r\n\t\t\twidth = moveEl.width(),\r\n\t\t\theight = moveEl.height(),\r\n\t\t\tpageX = e.pageX,\r\n\t\t\tpageY = e.pageY;\r\n\t\tif (beforeDrag) {\r\n\t\t\tbeforeDrag();\r\n\t\t}\r\n\t\tfunction moveListener(e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tvar kdoc = K(_getDoc(e.target));\r\n\t\t\tvar diffX = _round((kdoc.data('pos-x') || 0) + e.pageX - pageX);\r\n\t\t\tvar diffY = _round((kdoc.data('pos-y') || 0) + e.pageY - pageY);\r\n\t\t\tmoveFn.call(clickEl, x, y, width, height, diffX, diffY);\r\n\t\t}\r\n\t\tfunction selectListener(e) {\r\n\t\t\te.preventDefault();\r\n\t\t}\r\n\t\tfunction upListener(e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tK(docs).unbind('mousemove', moveListener)\r\n\t\t\t\t.unbind('mouseup', upListener)\r\n\t\t\t\t.unbind('selectstart', selectListener);\r\n\t\t\tif (self.releaseCapture) {\r\n\t\t\t\tself.releaseCapture();\r\n\t\t\t}\r\n\t\t}\r\n\t\tK(docs).mousemove(moveListener)\r\n\t\t\t.mouseup(upListener)\r\n\t\t\t.bind('selectstart', selectListener);\r\n\t\tif (self.setCapture) {\r\n\t\t\tself.setCapture();\r\n\t\t}\r\n\t});\r\n}\r\nfunction KWidget(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\tself.name = options.name || '';\r\n\t\tself.doc = options.doc || document;\r\n\t\tself.win = _getWin(self.doc);\r\n\t\tself.x = _addUnit(options.x);\r\n\t\tself.y = _addUnit(options.y);\r\n\t\tself.z = options.z;\r\n\t\tself.width = _addUnit(options.width);\r\n\t\tself.height = _addUnit(options.height);\r\n\t\tself.div = K('<div style=\"display:block;\"></div>');\r\n\t\tself.options = options;\r\n\t\tself._alignEl = options.alignEl;\r\n\t\tif (self.width) {\r\n\t\t\tself.div.css('width', self.width);\r\n\t\t}\r\n\t\tif (self.height) {\r\n\t\t\tself.div.css('height', self.height);\r\n\t\t}\r\n\t\tif (self.z) {\r\n\t\t\tself.div.css({\r\n\t\t\t\tposition : 'absolute',\r\n\t\t\t\tleft : self.x,\r\n\t\t\t\ttop : self.y,\r\n\t\t\t\t'z-index' : self.z\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (self.z && (self.x === undefined || self.y === undefined)) {\r\n\t\t\tself.autoPos(self.width, self.height);\r\n\t\t}\r\n\t\tif (options.cls) {\r\n\t\t\tself.div.addClass(options.cls);\r\n\t\t}\r\n\t\tif (options.shadowMode) {\r\n\t\t\tself.div.addClass('ke-shadow');\r\n\t\t}\r\n\t\tif (options.css) {\r\n\t\t\tself.div.css(options.css);\r\n\t\t}\r\n\t\tif (options.src) {\r\n\t\t\tK(options.src).replaceWith(self.div);\r\n\t\t} else {\r\n\t\t\tK(self.doc.body).append(self.div);\r\n\t\t}\r\n\t\tif (options.html) {\r\n\t\t\tself.div.html(options.html);\r\n\t\t}\r\n\t\tif (options.autoScroll) {\r\n\t\t\tif (_IE && _V < 7 || _QUIRKS) {\r\n\t\t\t\tvar scrollPos = _getScrollPos();\r\n\t\t\t\tK(self.win).bind('scroll', function(e) {\r\n\t\t\t\t\tvar pos = _getScrollPos(),\r\n\t\t\t\t\t\tdiffX = pos.x - scrollPos.x,\r\n\t\t\t\t\t\tdiffY = pos.y - scrollPos.y;\r\n\t\t\t\t\tself.pos(_removeUnit(self.x) + diffX, _removeUnit(self.y) + diffY, false);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tself.div.css('position', 'fixed');\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tpos : function(x, y, updateProp) {\r\n\t\tvar self = this;\r\n\t\tupdateProp = _undef(updateProp, true);\r\n\t\tif (x !== null) {\r\n\t\t\tx = x < 0 ? 0 : _addUnit(x);\r\n\t\t\tself.div.css('left', x);\r\n\t\t\tif (updateProp) {\r\n\t\t\t\tself.x = x;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (y !== null) {\r\n\t\t\ty = y < 0 ? 0 : _addUnit(y);\r\n\t\t\tself.div.css('top', y);\r\n\t\t\tif (updateProp) {\r\n\t\t\t\tself.y = y;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tautoPos : function(width, height) {\r\n\t\tvar self = this,\r\n\t\t\tw = _removeUnit(width) || 0,\r\n\t\t\th = _removeUnit(height) || 0,\r\n\t\t\tscrollPos = _getScrollPos();\r\n\t\tif (self._alignEl) {\r\n\t\t\tvar knode = K(self._alignEl),\r\n\t\t\t\tpos = knode.pos(),\r\n\t\t\t\tdiffX = _round(knode[0].clientWidth / 2 - w / 2),\r\n\t\t\t\tdiffY = _round(knode[0].clientHeight / 2 - h / 2);\r\n\t\t\tx = diffX < 0 ? pos.x : pos.x + diffX;\r\n\t\t\ty = diffY < 0 ? pos.y : pos.y + diffY;\r\n\t\t} else {\r\n\t\t\tvar docEl = _docElement(self.doc);\r\n\t\t\tx = _round(scrollPos.x + (docEl.clientWidth - w) / 2);\r\n\t\t\ty = _round(scrollPos.y + (docEl.clientHeight - h) / 2);\r\n\t\t}\r\n\t\tif (!(_IE && _V < 7 || _QUIRKS)) {\r\n\t\t\tx -= scrollPos.x;\r\n\t\t\ty -= scrollPos.y;\r\n\t\t}\r\n\t\treturn self.pos(x, y);\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\tif (_IE && _V < 7 || _QUIRKS) {\r\n\t\t\tK(self.win).unbind('scroll');\r\n\t\t}\r\n\t\tself.div.remove();\r\n\t\t_each(self, function(i) {\r\n\t\t\tself[i] = null;\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tshow : function() {\r\n\t\tthis.div.show();\r\n\t\treturn this;\r\n\t},\r\n\thide : function() {\r\n\t\tthis.div.hide();\r\n\t\treturn this;\r\n\t},\r\n\tdraggable : function(options) {\r\n\t\tvar self = this;\r\n\t\toptions = options || {};\r\n\t\toptions.moveEl = self.div;\r\n\t\toptions.moveFn = function(x, y, width, height, diffX, diffY) {\r\n\t\t\tif ((x = x + diffX) < 0) {\r\n\t\t\t\tx = 0;\r\n\t\t\t}\r\n\t\t\tif ((y = y + diffY) < 0) {\r\n\t\t\t\ty = 0;\r\n\t\t\t}\r\n\t\t\tself.pos(x, y);\r\n\t\t};\r\n\t\t_drag(options);\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _widget(options) {\r\n\treturn new KWidget(options);\r\n}\r\nK.WidgetClass = KWidget;\r\nK.widget = _widget;\r\nfunction _iframeDoc(iframe) {\r\n\tiframe = _get(iframe);\r\n\treturn iframe.contentDocument || iframe.contentWindow.document;\r\n}\r\nvar html, _direction = '';\r\nif ((html = document.getElementsByTagName('html'))) {\r\n\t_direction = html[0].dir;\r\n}\r\nfunction _getInitHtml(themesPath, bodyClass, cssPath, cssData) {\r\n\tvar arr = [\r\n\t\t(_direction === '' ? '<html>' : '<html dir=\"' + _direction + '\">'),\r\n\t\t'<head><meta charset=\"utf-8\" /><title></title>',\r\n\t\t'<style>',\r\n\t\t'html {margin:0;padding:0;}',\r\n\t\t'body {margin:0;padding:5px;}',\r\n\t\t'body, td {font:12px/1.5 \"sans serif\",tahoma,verdana,helvetica;}',\r\n\t\t'body, p, div {word-wrap: break-word;}',\r\n\t\t'p {margin:5px 0;}',\r\n\t\t'table {border-collapse:collapse;}',\r\n\t\t'img {border:0;}',\r\n\t\t'noscript {display:none;}',\r\n\t\t'table.ke-zeroborder td {border:1px dotted #AAA;}',\r\n\t\t'img.ke-flash {',\r\n\t\t'\tborder:1px solid #AAA;',\r\n\t\t'\tbackground-image:url(' + themesPath + 'common/flash.gif);',\r\n\t\t'\tbackground-position:center center;',\r\n\t\t'\tbackground-repeat:no-repeat;',\r\n\t\t'\twidth:100px;',\r\n\t\t'\theight:100px;',\r\n\t\t'}',\r\n\t\t'img.ke-rm {',\r\n\t\t'\tborder:1px solid #AAA;',\r\n\t\t'\tbackground-image:url(' + themesPath + 'common/rm.gif);',\r\n\t\t'\tbackground-position:center center;',\r\n\t\t'\tbackground-repeat:no-repeat;',\r\n\t\t'\twidth:100px;',\r\n\t\t'\theight:100px;',\r\n\t\t'}',\r\n\t\t'img.ke-media {',\r\n\t\t'\tborder:1px solid #AAA;',\r\n\t\t'\tbackground-image:url(' + themesPath + 'common/media.gif);',\r\n\t\t'\tbackground-position:center center;',\r\n\t\t'\tbackground-repeat:no-repeat;',\r\n\t\t'\twidth:100px;',\r\n\t\t'\theight:100px;',\r\n\t\t'}',\r\n\t\t'img.ke-anchor {',\r\n\t\t'\tborder:1px dashed #666;',\r\n\t\t'\twidth:16px;',\r\n\t\t'\theight:16px;',\r\n\t\t'}',\r\n\t\t'.ke-script, .ke-noscript, .ke-display-none {',\r\n\t\t'\tdisplay:none;',\r\n\t\t'\tfont-size:0;',\r\n\t\t'\twidth:0;',\r\n\t\t'\theight:0;',\r\n\t\t'}',\r\n\t\t'.ke-pagebreak {',\r\n\t\t'\tborder:1px dotted #AAA;',\r\n\t\t'\tfont-size:0;',\r\n\t\t'\theight:2px;',\r\n\t\t'}',\r\n\t\t'</style>'\r\n\t];\r\n\tif (!_isArray(cssPath)) {\r\n\t\tcssPath = [cssPath];\r\n\t}\r\n\t_each(cssPath, function(i, path) {\r\n\t\tif (path) {\r\n\t\t\tarr.push('<link href=\"' + path + '\" rel=\"stylesheet\" />');\r\n\t\t}\r\n\t});\r\n\tif (cssData) {\r\n\t\tarr.push('<style>' + cssData + '</style>');\r\n\t}\r\n\tarr.push('</head><body ' + (bodyClass ? 'class=\"' + bodyClass + '\"' : '') + '></body></html>');\r\n\treturn arr.join('\\n');\r\n}\r\nfunction _elementVal(knode, val) {\r\n\tif (knode.hasVal()) {\r\n\t\tif (val === undefined) {\r\n\t\t\tvar html = knode.val();\r\n\t\t\thtml = html.replace(/(<(?:p|p\\s[^>]*)>) *(<\\/p>)/ig, '');\r\n\t\t\treturn html;\r\n\t\t}\r\n\t\treturn knode.val(val);\r\n\t}\r\n\treturn knode.html(val);\r\n}\r\nfunction KEdit(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KEdit, KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\tKEdit.parent.init.call(self, options);\r\n\t\tself.srcElement = K(options.srcElement);\r\n\t\tself.div.addClass('ke-edit');\r\n\t\tself.designMode = _undef(options.designMode, true);\r\n\t\tself.beforeGetHtml = options.beforeGetHtml;\r\n\t\tself.beforeSetHtml = options.beforeSetHtml;\r\n\t\tself.afterSetHtml = options.afterSetHtml;\r\n\t\tvar themesPath = _undef(options.themesPath, ''),\r\n\t\t\tbodyClass = options.bodyClass,\r\n\t\t\tcssPath = options.cssPath,\r\n\t\t\tcssData = options.cssData,\r\n\t\t\tisDocumentDomain = location.protocol != 'res:' && location.host.replace(/:\\d+/, '') !== document.domain,\r\n\t\t\tsrcScript = ('document.open();' +\r\n\t\t\t\t(isDocumentDomain ? 'document.domain=\"' + document.domain + '\";' : '') +\r\n\t\t\t\t'document.close();'),\r\n\t\t\tiframeSrc = _IE ? ' src=\"javascript:void(function(){' + encodeURIComponent(srcScript) + '}())\"' : '';\r\n\t\tself.iframe = K('<iframe class=\"ke-edit-iframe\" hidefocus=\"true\" frameborder=\"0\"' + iframeSrc + '></iframe>').css('width', '100%');\r\n\t\tself.textarea = K('<textarea class=\"ke-edit-textarea\" hidefocus=\"true\"></textarea>').css('width', '100%');\r\n\t\tself.tabIndex = isNaN(parseInt(options.tabIndex, 10)) ? self.srcElement.attr('tabindex') : parseInt(options.tabIndex, 10);\r\n\t\tself.iframe.attr('tabindex', self.tabIndex);\r\n\t\tself.textarea.attr('tabindex', self.tabIndex);\r\n\t\tif (self.width) {\r\n\t\t\tself.setWidth(self.width);\r\n\t\t}\r\n\t\tif (self.height) {\r\n\t\t\tself.setHeight(self.height);\r\n\t\t}\r\n\t\tif (self.designMode) {\r\n\t\t\tself.textarea.hide();\r\n\t\t} else {\r\n\t\t\tself.iframe.hide();\r\n\t\t}\r\n\t\tfunction ready() {\r\n\t\t\tvar doc = _iframeDoc(self.iframe);\r\n\t\t\tdoc.open();\r\n\t\t\tif (isDocumentDomain) {\r\n\t\t\t\tdoc.domain = document.domain;\r\n\t\t\t}\r\n\t\t\tdoc.write(_getInitHtml(themesPath, bodyClass, cssPath, cssData));\r\n\t\t\tdoc.close();\r\n\t\t\tself.win = self.iframe[0].contentWindow;\r\n\t\t\tself.doc = doc;\r\n\t\t\tvar cmd = _cmd(doc);\r\n\t\t\tself.afterChange(function(e) {\r\n\t\t\t\tcmd.selection();\r\n\t\t\t});\r\n\t\t\tif (_WEBKIT) {\r\n\t\t\t\tK(doc).click(function(e) {\r\n\t\t\t\t\tif (K(e.target).name === 'img') {\r\n\t\t\t\t\t\tcmd.selection(true);\r\n\t\t\t\t\t\tcmd.range.selectNode(e.target);\r\n\t\t\t\t\t\tcmd.select();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (_IE) {\r\n\t\t\t\tself._mousedownHandler = function() {\r\n\t\t\t\t\tvar newRange = cmd.range.cloneRange();\r\n\t\t\t\t\tnewRange.shrink();\r\n\t\t\t\t\tif (newRange.isControl()) {\r\n\t\t\t\t\t\tself.blur();\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t\tK(document).mousedown(self._mousedownHandler);\r\n\t\t\t\tK(doc).keydown(function(e) {\r\n\t\t\t\t\tif (e.which == 8) {\r\n\t\t\t\t\t\tcmd.selection();\r\n\t\t\t\t\t\tvar rng = cmd.range;\r\n\t\t\t\t\t\tif (rng.isControl()) {\r\n\t\t\t\t\t\t\trng.collapse(true);\r\n\t\t\t\t\t\t\tK(rng.startContainer.childNodes[rng.startOffset]).remove();\r\n\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tself.cmd = cmd;\r\n\t\t\tself.html(_elementVal(self.srcElement));\r\n\t\t\tif (_IE) {\r\n\t\t\t\tdoc.body.disabled = true;\r\n\t\t\t\tdoc.body.contentEditable = true;\r\n\t\t\t\tdoc.body.removeAttribute('disabled');\r\n\t\t\t} else {\r\n\t\t\t\tdoc.designMode = 'on';\r\n\t\t\t}\r\n\t\t\tif (options.afterCreate) {\r\n\t\t\t\toptions.afterCreate.call(self);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (isDocumentDomain) {\r\n\t\t\tself.iframe.bind('load', function(e) {\r\n\t\t\t\tself.iframe.unbind('load');\r\n\t\t\t\tif (_IE) {\r\n\t\t\t\t\tready();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetTimeout(ready, 0);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tself.div.append(self.iframe);\r\n\t\tself.div.append(self.textarea);\r\n\t\tself.srcElement.hide();\r\n\t\t!isDocumentDomain && ready();\r\n\t},\r\n\tsetWidth : function(val) {\r\n\t\tvar self = this;\r\n\t\tval = _addUnit(val);\r\n\t\tself.width = val;\r\n\t\tself.div.css('width', val);\r\n\t\treturn self;\r\n\t},\r\n\tsetHeight : function(val) {\r\n\t\tvar self = this;\r\n\t\tval = _addUnit(val);\r\n\t\tself.height = val;\r\n\t\tself.div.css('height', val);\r\n\t\tself.iframe.css('height', val);\r\n\t\tif ((_IE && _V < 8) || _QUIRKS) {\r\n\t\t\tval = _addUnit(_removeUnit(val) - 2);\r\n\t\t}\r\n\t\tself.textarea.css('height', val);\r\n\t\treturn self;\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this, doc = self.doc;\r\n\t\tK(doc.body).unbind();\r\n\t\tK(doc).unbind();\r\n\t\tK(self.win).unbind();\r\n\t\tif (self._mousedownHandler) {\r\n\t\t\tK(document).unbind('mousedown', self._mousedownHandler);\r\n\t\t}\r\n\t\t_elementVal(self.srcElement, self.html());\r\n\t\tself.srcElement.show();\r\n\t\tdoc.write('');\r\n\t\tself.iframe.unbind();\r\n\t\tself.textarea.unbind();\r\n\t\tKEdit.parent.remove.call(self);\r\n\t},\r\n\thtml : function(val, isFull) {\r\n\t\tvar self = this, doc = self.doc;\r\n\t\tif (self.designMode) {\r\n\t\t\tvar body = doc.body;\r\n\t\t\tif (val === undefined) {\r\n\t\t\t\tif (isFull) {\r\n\t\t\t\t\tval = '<!doctype html><html>' + body.parentNode.innerHTML + '</html>';\r\n\t\t\t\t} else {\r\n\t\t\t\t\tval = body.innerHTML;\r\n\t\t\t\t}\r\n\t\t\t\tif (self.beforeGetHtml) {\r\n\t\t\t\t\tval = self.beforeGetHtml(val);\r\n\t\t\t\t}\r\n\t\t\t\tif (_GECKO && val == '<br />') {\r\n\t\t\t\t\tval = '';\r\n\t\t\t\t}\r\n\t\t\t\treturn val;\r\n\t\t\t}\r\n\t\t\tif (self.beforeSetHtml) {\r\n\t\t\t\tval = self.beforeSetHtml(val);\r\n\t\t\t}\r\n\t\t\tif (_IE && _V >= 9) {\r\n\t\t\t\tval = val.replace(/(<.*?checked=\")checked(\".*>)/ig, '$1$2');\r\n\t\t\t}\r\n\t\t\tK(body).html(val);\r\n\t\t\tif (self.afterSetHtml) {\r\n\t\t\t\tself.afterSetHtml();\r\n\t\t\t}\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (val === undefined) {\r\n\t\t\treturn self.textarea.val();\r\n\t\t}\r\n\t\tself.textarea.val(val);\r\n\t\treturn self;\r\n\t},\r\n\tdesign : function(bool) {\r\n\t\tvar self = this, val;\r\n\t\tif (bool === undefined ? !self.designMode : bool) {\r\n\t\t\tif (!self.designMode) {\r\n\t\t\t\tval = self.html();\r\n\t\t\t\tself.designMode = true;\r\n\t\t\t\tself.html(val);\r\n\t\t\t\tself.textarea.hide();\r\n\t\t\t\tself.iframe.show();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (self.designMode) {\r\n\t\t\t\tval = self.html();\r\n\t\t\t\tself.designMode = false;\r\n\t\t\t\tself.html(val);\r\n\t\t\t\tself.iframe.hide();\r\n\t\t\t\tself.textarea.show();\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self.focus();\r\n\t},\r\n\tfocus : function() {\r\n\t\tvar self = this;\r\n\t\tself.designMode ? self.win.focus() : self.textarea[0].focus();\r\n\t\treturn self;\r\n\t},\r\n\tblur : function() {\r\n\t\tvar self = this;\r\n\t\tif (_IE) {\r\n\t\t\tvar input = K('<input type=\"text\" style=\"float:left;width:0;height:0;padding:0;margin:0;border:0;\" value=\"\" />', self.div);\r\n\t\t\tself.div.append(input);\r\n\t\t\tinput[0].focus();\r\n\t\t\tinput.remove();\r\n\t\t} else {\r\n\t\t\tself.designMode ? self.win.blur() : self.textarea[0].blur();\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tafterChange : function(fn) {\r\n\t\tvar self = this, doc = self.doc, body = doc.body;\r\n\t\tK(doc).keyup(function(e) {\r\n\t\t\tif (!e.ctrlKey && !e.altKey && _CHANGE_KEY_MAP[e.which]) {\r\n\t\t\t\tfn(e);\r\n\t\t\t}\r\n\t\t});\r\n\t\tK(doc).mouseup(fn).contextmenu(fn);\r\n\t\tK(self.win).blur(fn);\r\n\t\tfunction timeoutHandler(e) {\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\tfn(e);\r\n\t\t\t}, 1);\r\n\t\t}\r\n\t\tK(body).bind('paste', timeoutHandler);\r\n\t\tK(body).bind('cut', timeoutHandler);\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _edit(options) {\r\n\treturn new KEdit(options);\r\n}\r\nK.EditClass = KEdit;\r\nK.edit = _edit;\r\nK.iframeDoc = _iframeDoc;\r\nfunction _selectToolbar(name, fn) {\r\n\tvar self = this,\r\n\t\tknode = self.get(name);\r\n\tif (knode) {\r\n\t\tif (knode.hasClass('ke-disabled')) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tfn(knode);\r\n\t}\r\n}\r\nfunction KToolbar(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KToolbar, KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\tKToolbar.parent.init.call(self, options);\r\n\t\tself.disableMode = _undef(options.disableMode, false);\r\n\t\tself.noDisableItemMap = _toMap(_undef(options.noDisableItems, []));\r\n\t\tself._itemMap = {};\r\n\t\tself.div.addClass('ke-toolbar').bind('contextmenu,mousedown,mousemove', function(e) {\r\n\t\t\te.preventDefault();\r\n\t\t}).attr('unselectable', 'on');\r\n\t\tfunction find(target) {\r\n\t\t\tvar knode = K(target);\r\n\t\t\tif (knode.hasClass('ke-outline')) {\r\n\t\t\t\treturn knode;\r\n\t\t\t}\r\n\t\t\tif (knode.hasClass('ke-toolbar-icon')) {\r\n\t\t\t\treturn knode.parent();\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction hover(e, method) {\r\n\t\t\tvar knode = find(e.target);\r\n\t\t\tif (knode) {\r\n\t\t\t\tif (knode.hasClass('ke-disabled')) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (knode.hasClass('ke-selected')) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tknode[method]('ke-on');\r\n\t\t\t}\r\n\t\t}\r\n\t\tself.div.mouseover(function(e) {\r\n\t\t\thover(e, 'addClass');\r\n\t\t})\r\n\t\t.mouseout(function(e) {\r\n\t\t\thover(e, 'removeClass');\r\n\t\t})\r\n\t\t.click(function(e) {\r\n\t\t\tvar knode = find(e.target);\r\n\t\t\tif (knode) {\r\n\t\t\t\tif (knode.hasClass('ke-disabled')) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tself.options.click.call(this, e, knode.attr('data-name'));\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\tget : function(name) {\r\n\t\tif (this._itemMap[name]) {\r\n\t\t\treturn this._itemMap[name];\r\n\t\t}\r\n\t\treturn (this._itemMap[name] = K('span.ke-icon-' + name, this.div).parent());\r\n\t},\r\n\tselect : function(name) {\r\n\t\t_selectToolbar.call(this, name, function(knode) {\r\n\t\t\tknode.addClass('ke-selected');\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tunselect : function(name) {\r\n\t\t_selectToolbar.call(this, name, function(knode) {\r\n\t\t\tknode.removeClass('ke-selected').removeClass('ke-on');\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tenable : function(name) {\r\n\t\tvar self = this,\r\n\t\t\tknode = name.get ? name : self.get(name);\r\n\t\tif (knode) {\r\n\t\t\tknode.removeClass('ke-disabled');\r\n\t\t\tknode.opacity(1);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tdisable : function(name) {\r\n\t\tvar self = this,\r\n\t\t\tknode = name.get ? name : self.get(name);\r\n\t\tif (knode) {\r\n\t\t\tknode.removeClass('ke-selected').addClass('ke-disabled');\r\n\t\t\tknode.opacity(0.5);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tdisableAll : function(bool, noDisableItems) {\r\n\t\tvar self = this, map = self.noDisableItemMap, item;\r\n\t\tif (noDisableItems) {\r\n\t\t\tmap = _toMap(noDisableItems);\r\n\t\t}\r\n\t\tif (bool === undefined ? !self.disableMode : bool) {\r\n\t\t\tK('span.ke-outline', self.div).each(function() {\r\n\t\t\t\tvar knode = K(this),\r\n\t\t\t\t\tname = knode[0].getAttribute('data-name', 2);\r\n\t\t\t\tif (!map[name]) {\r\n\t\t\t\t\tself.disable(knode);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tself.disableMode = true;\r\n\t\t} else {\r\n\t\t\tK('span.ke-outline', self.div).each(function() {\r\n\t\t\t\tvar knode = K(this),\r\n\t\t\t\t\tname = knode[0].getAttribute('data-name', 2);\r\n\t\t\t\tif (!map[name]) {\r\n\t\t\t\t\tself.enable(knode);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tself.disableMode = false;\r\n\t\t}\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _toolbar(options) {\r\n\treturn new KToolbar(options);\r\n}\r\nK.ToolbarClass = KToolbar;\r\nK.toolbar = _toolbar;\r\nfunction KMenu(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KMenu, KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\toptions.z = options.z || 811213;\r\n\t\tKMenu.parent.init.call(self, options);\r\n\t\tself.centerLineMode = _undef(options.centerLineMode, true);\r\n\t\tself.div.addClass('ke-menu').bind('click,mousedown', function(e){\r\n\t\t\te.stopPropagation();\r\n\t\t}).attr('unselectable', 'on');\r\n\t},\r\n\taddItem : function(item) {\r\n\t\tvar self = this;\r\n\t\tif (item.title === '-') {\r\n\t\t\tself.div.append(K('<div class=\"ke-menu-separator\"></div>'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar itemDiv = K('<div class=\"ke-menu-item\" unselectable=\"on\"></div>'),\r\n\t\t\tleftDiv = K('<div class=\"ke-inline-block ke-menu-item-left\"></div>'),\r\n\t\t\trightDiv = K('<div class=\"ke-inline-block ke-menu-item-right\"></div>'),\r\n\t\t\theight = _addUnit(item.height),\r\n\t\t\ticonClass = _undef(item.iconClass, '');\r\n\t\tself.div.append(itemDiv);\r\n\t\tif (height) {\r\n\t\t\titemDiv.css('height', height);\r\n\t\t\trightDiv.css('line-height', height);\r\n\t\t}\r\n\t\tvar centerDiv;\r\n\t\tif (self.centerLineMode) {\r\n\t\t\tcenterDiv = K('<div class=\"ke-inline-block ke-menu-item-center\"></div>');\r\n\t\t\tif (height) {\r\n\t\t\t\tcenterDiv.css('height', height);\r\n\t\t\t}\r\n\t\t}\r\n\t\titemDiv.mouseover(function(e) {\r\n\t\t\tK(this).addClass('ke-menu-item-on');\r\n\t\t\tif (centerDiv) {\r\n\t\t\t\tcenterDiv.addClass('ke-menu-item-center-on');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.mouseout(function(e) {\r\n\t\t\tK(this).removeClass('ke-menu-item-on');\r\n\t\t\tif (centerDiv) {\r\n\t\t\t\tcenterDiv.removeClass('ke-menu-item-center-on');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.click(function(e) {\r\n\t\t\titem.click.call(K(this));\r\n\t\t\te.stopPropagation();\r\n\t\t})\r\n\t\t.append(leftDiv);\r\n\t\tif (centerDiv) {\r\n\t\t\titemDiv.append(centerDiv);\r\n\t\t}\r\n\t\titemDiv.append(rightDiv);\r\n\t\tif (item.checked) {\r\n\t\t\ticonClass = 'ke-icon-checked';\r\n\t\t}\r\n\t\tif (iconClass !== '') {\r\n\t\t\tleftDiv.html('<span class=\"ke-inline-block ke-toolbar-icon ke-toolbar-icon-url ' + iconClass + '\"></span>');\r\n\t\t}\r\n\t\trightDiv.html(item.title);\r\n\t\treturn self;\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.options.beforeRemove) {\r\n\t\t\tself.options.beforeRemove.call(self);\r\n\t\t}\r\n\t\tK('.ke-menu-item', self.div[0]).unbind();\r\n\t\tKMenu.parent.remove.call(self);\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _menu(options) {\r\n\treturn new KMenu(options);\r\n}\r\nK.MenuClass = KMenu;\r\nK.menu = _menu;\r\nfunction KColorPicker(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KColorPicker, KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\toptions.z = options.z || 811213;\r\n\t\tKColorPicker.parent.init.call(self, options);\r\n\t\tvar colors = options.colors || [\r\n\t\t\t['#E53333', '#E56600', '#FF9900', '#64451D', '#DFC5A4', '#FFE500'],\r\n\t\t\t['#009900', '#006600', '#99BB00', '#B8D100', '#60D978', '#00D5FF'],\r\n\t\t\t['#337FE5', '#003399', '#4C33E5', '#9933E5', '#CC33E5', '#EE33EE'],\r\n\t\t\t['#FFFFFF', '#CCCCCC', '#999999', '#666666', '#333333', '#000000']\r\n\t\t];\r\n\t\tself.selectedColor = (options.selectedColor || '').toLowerCase();\r\n\t\tself._cells = [];\r\n\t\tself.div.addClass('ke-colorpicker').bind('click,mousedown', function(e){\r\n\t\t\te.stopPropagation();\r\n\t\t}).attr('unselectable', 'on');\r\n\t\tvar table = self.doc.createElement('table');\r\n\t\tself.div.append(table);\r\n\t\ttable.className = 'ke-colorpicker-table';\r\n\t\ttable.cellPadding = 0;\r\n\t\ttable.cellSpacing = 0;\r\n\t\ttable.border = 0;\r\n\t\tvar row = table.insertRow(0), cell = row.insertCell(0);\r\n\t\tcell.colSpan = colors[0].length;\r\n\t\tself._addAttr(cell, '', 'ke-colorpicker-cell-top');\r\n\t\tfor (var i = 0; i < colors.length; i++) {\r\n\t\t\trow = table.insertRow(i + 1);\r\n\t\t\tfor (var j = 0; j < colors[i].length; j++) {\r\n\t\t\t\tcell = row.insertCell(j);\r\n\t\t\t\tself._addAttr(cell, colors[i][j], 'ke-colorpicker-cell');\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t_addAttr : function(cell, color, cls) {\r\n\t\tvar self = this;\r\n\t\tcell = K(cell).addClass(cls);\r\n\t\tif (self.selectedColor === color.toLowerCase()) {\r\n\t\t\tcell.addClass('ke-colorpicker-cell-selected');\r\n\t\t}\r\n\t\tcell.attr('title', color || self.options.noColor);\r\n\t\tcell.mouseover(function(e) {\r\n\t\t\tK(this).addClass('ke-colorpicker-cell-on');\r\n\t\t});\r\n\t\tcell.mouseout(function(e) {\r\n\t\t\tK(this).removeClass('ke-colorpicker-cell-on');\r\n\t\t});\r\n\t\tcell.click(function(e) {\r\n\t\t\te.stop();\r\n\t\t\tself.options.click.call(K(this), color);\r\n\t\t});\r\n\t\tif (color) {\r\n\t\t\tcell.append(K('<div class=\"ke-colorpicker-cell-color\" unselectable=\"on\"></div>').css('background-color', color));\r\n\t\t} else {\r\n\t\t\tcell.html(self.options.noColor);\r\n\t\t}\r\n\t\tK(cell).attr('unselectable', 'on');\r\n\t\tself._cells.push(cell);\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\t_each(self._cells, function() {\r\n\t\t\tthis.unbind();\r\n\t\t});\r\n\t\tKColorPicker.parent.remove.call(self);\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _colorpicker(options) {\r\n\treturn new KColorPicker(options);\r\n}\r\nK.ColorPickerClass = KColorPicker;\r\nK.colorpicker = _colorpicker;\r\nfunction KUploadButton(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KUploadButton, {\r\n\tinit : function(options) {\r\n\t\tvar self = this,\r\n\t\t\tbutton = K(options.button),\r\n\t\t\tfieldName = options.fieldName || 'file',\r\n\t\t\turl = options.url || '',\r\n\t\t\ttitle = button.val(),\r\n\t\t\textraParams = options.extraParams || {},\r\n\t\t\tcls = button[0].className || '',\r\n\t\t\ttarget = options.target || 'kindeditor_upload_iframe_' + new Date().getTime();\r\n\t\toptions.afterError = options.afterError || function(str) {\r\n\t\t\talert(str);\r\n\t\t};\r\n\t\tvar hiddenElements = [];\r\n\t\tfor(var k in extraParams){\r\n\t\t\thiddenElements.push('<input type=\"hidden\" name=\"' + k + '\" value=\"' + extraParams[k] + '\" />');\r\n\t\t}\r\n\t\tvar html = [\r\n\t\t\t'<div class=\"ke-inline-block ' + cls + '\">',\r\n\t\t\t(options.target ? '' : '<iframe name=\"' + target + '\" style=\"display:none;\"></iframe>'),\r\n\t\t\t(options.form ? '<div class=\"ke-upload-area\">' : '<form class=\"ke-upload-area ke-form\" method=\"post\" enctype=\"multipart/form-data\" target=\"' + target + '\" action=\"' + url + '\">'),\r\n\t\t\t'<span class=\"ke-button-common\">',\r\n\t\t\thiddenElements.join(''),\r\n\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" value=\"' + title + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'<input type=\"file\" class=\"ke-upload-file\" name=\"' + fieldName + '\" tabindex=\"-1\" />',\r\n\t\t\t(options.form ? '</div>' : '</form>'),\r\n\t\t\t'</div>'].join('');\r\n\t\tvar div = K(html, button.doc);\r\n\t\tbutton.hide();\r\n\t\tbutton.before(div);\r\n\t\tself.div = div;\r\n\t\tself.button = button;\r\n\t\tself.iframe = options.target ? K('iframe[name=\"' + target + '\"]') : K('iframe', div);\r\n\t\tself.form = options.form ? K(options.form) : K('form', div);\r\n\t\tself.fileBox = K('.ke-upload-file', div);\r\n\t\tvar width = options.width || K('.ke-button-common', div).width();\r\n\t\tK('.ke-upload-area', div).width(width);\r\n\t\tself.options = options;\r\n\t},\r\n\tsubmit : function() {\r\n\t\tvar self = this,\r\n\t\t\tiframe = self.iframe;\r\n\t\tiframe.bind('load', function() {\r\n\t\t\tiframe.unbind();\r\n\t\t\tvar tempForm = document.createElement('form');\r\n\t\t\tself.fileBox.before(tempForm);\r\n\t\t\tK(tempForm).append(self.fileBox);\r\n\t\t\ttempForm.reset();\r\n\t\t\tK(tempForm).remove(true);\r\n\t\t\tvar doc = K.iframeDoc(iframe),\r\n\t\t\t\tpre = doc.getElementsByTagName('pre')[0],\r\n\t\t\t\tstr = '', data;\r\n\t\t\tif (pre) {\r\n\t\t\t\tstr = pre.innerHTML;\r\n\t\t\t} else {\r\n\t\t\t\tstr = doc.body.innerHTML;\r\n\t\t\t}\r\n\t\t\tstr = _unescape(str);\r\n\t\t\tiframe[0].src = 'javascript:false';\r\n\t\t\ttry {\r\n\t\t\t\tdata = K.json(str);\r\n\t\t\t} catch (e) {\r\n\t\t\t\tself.options.afterError.call(self, '<!doctype html><html>' + doc.body.parentNode.innerHTML + '</html>');\r\n\t\t\t}\r\n\t\t\tif (data) {\r\n\t\t\t\tself.options.afterUpload.call(self, data);\r\n\t\t\t}\r\n\t\t});\r\n\t\tself.form[0].submit();\r\n\t\treturn self;\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.fileBox) {\r\n\t\t\tself.fileBox.unbind();\r\n\t\t}\r\n\t\tself.iframe.remove();\r\n\t\tself.div.remove();\r\n\t\tself.button.show();\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _uploadbutton(options) {\r\n\treturn new KUploadButton(options);\r\n}\r\nK.UploadButtonClass = KUploadButton;\r\nK.uploadbutton = _uploadbutton;\r\nfunction _createButton(arg) {\r\n\targ = arg || {};\r\n\tvar name = arg.name || '',\r\n\t\tspan = K('<span class=\"ke-button-common ke-button-outer\" title=\"' + name + '\"></span>'),\r\n\t\tbtn = K('<input class=\"ke-button-common ke-button\" type=\"button\" value=\"' + name + '\" />');\r\n\tif (arg.click) {\r\n\t\tbtn.click(arg.click);\r\n\t}\r\n\tspan.append(btn);\r\n\treturn span;\r\n}\r\nfunction KDialog(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KDialog, KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\tvar shadowMode = _undef(options.shadowMode, true);\r\n\t\toptions.z = options.z || 811213;\r\n\t\toptions.shadowMode = false;\r\n\t\toptions.autoScroll = _undef(options.autoScroll, true);\r\n\t\tKDialog.parent.init.call(self, options);\r\n\t\tvar title = options.title,\r\n\t\t\tbody = K(options.body, self.doc),\r\n\t\t\tpreviewBtn = options.previewBtn,\r\n\t\t\tyesBtn = options.yesBtn,\r\n\t\t\tnoBtn = options.noBtn,\r\n\t\t\tcloseBtn = options.closeBtn,\r\n\t\t\tshowMask = _undef(options.showMask, true);\r\n\t\tself.div.addClass('ke-dialog').bind('click,mousedown', function(e){\r\n\t\t\te.stopPropagation();\r\n\t\t});\r\n\t\tvar contentDiv = K('<div class=\"ke-dialog-content\"></div>').appendTo(self.div);\r\n\t\tif (_IE && _V < 7) {\r\n\t\t\tself.iframeMask = K('<iframe src=\"about:blank\" class=\"ke-dialog-shadow\"></iframe>').appendTo(self.div);\r\n\t\t} else if (shadowMode) {\r\n\t\t\tK('<div class=\"ke-dialog-shadow\"></div>').appendTo(self.div);\r\n\t\t}\r\n\t\tvar headerDiv = K('<div class=\"ke-dialog-header\"></div>');\r\n\t\tcontentDiv.append(headerDiv);\r\n\t\theaderDiv.html(title);\r\n\t\tself.closeIcon = K('<span class=\"ke-dialog-icon-close\" title=\"' + closeBtn.name + '\"></span>').click(closeBtn.click);\r\n\t\theaderDiv.append(self.closeIcon);\r\n\t\tself.draggable({\r\n\t\t\tclickEl : headerDiv,\r\n\t\t\tbeforeDrag : options.beforeDrag\r\n\t\t});\r\n\t\tvar bodyDiv = K('<div class=\"ke-dialog-body\"></div>');\r\n\t\tcontentDiv.append(bodyDiv);\r\n\t\tbodyDiv.append(body);\r\n\t\tvar footerDiv = K('<div class=\"ke-dialog-footer\"></div>');\r\n\t\tif (previewBtn || yesBtn || noBtn) {\r\n\t\t\tcontentDiv.append(footerDiv);\r\n\t\t}\r\n\t\t_each([\r\n\t\t\t{ btn : previewBtn, name : 'preview' },\r\n\t\t\t{ btn : yesBtn, name : 'yes' },\r\n\t\t\t{ btn : noBtn, name : 'no' }\r\n\t\t], function() {\r\n\t\t\tif (this.btn) {\r\n\t\t\t\tvar button = _createButton(this.btn);\r\n\t\t\t\tbutton.addClass('ke-dialog-' + this.name);\r\n\t\t\t\tfooterDiv.append(button);\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (self.height) {\r\n\t\t\tbodyDiv.height(_removeUnit(self.height) - headerDiv.height() - footerDiv.height());\r\n\t\t}\r\n\t\tself.div.width(self.div.width());\r\n\t\tself.div.height(self.div.height());\r\n\t\tself.mask = null;\r\n\t\tif (showMask) {\r\n\t\t\tvar docEl = _docElement(self.doc),\r\n\t\t\t\tdocWidth = Math.max(docEl.scrollWidth, docEl.clientWidth),\r\n\t\t\t\tdocHeight = Math.max(docEl.scrollHeight, docEl.clientHeight);\r\n\t\t\tself.mask = _widget({\r\n\t\t\t\tx : 0,\r\n\t\t\t\ty : 0,\r\n\t\t\t\tz : self.z - 1,\r\n\t\t\t\tcls : 'ke-dialog-mask',\r\n\t\t\t\twidth : docWidth,\r\n\t\t\t\theight : docHeight\r\n\t\t\t});\r\n\t\t}\r\n\t\tself.autoPos(self.div.width(), self.div.height());\r\n\t\tself.footerDiv = footerDiv;\r\n\t\tself.bodyDiv = bodyDiv;\r\n\t\tself.headerDiv = headerDiv;\r\n\t\tself.isLoading = false;\r\n\t},\r\n\tsetMaskIndex : function(z) {\r\n\t\tvar self = this;\r\n\t\tself.mask.div.css('z-index', z);\r\n\t},\r\n\tshowLoading : function(msg) {\r\n\t\tmsg = _undef(msg, '');\r\n\t\tvar self = this, body = self.bodyDiv;\r\n\t\tself.loading = K('<div class=\"ke-dialog-loading\"><div class=\"ke-inline-block ke-dialog-loading-content\" style=\"margin-top:' + Math.round(body.height() / 3) + 'px;\">' + msg + '</div></div>')\r\n\t\t\t.width(body.width()).height(body.height())\r\n\t\t\t.css('top', self.headerDiv.height() + 'px');\r\n\t\tbody.css('visibility', 'hidden').after(self.loading);\r\n\t\tself.isLoading = true;\r\n\t\treturn self;\r\n\t},\r\n\thideLoading : function() {\r\n\t\tthis.loading && this.loading.remove();\r\n\t\tthis.bodyDiv.css('visibility', 'visible');\r\n\t\tthis.isLoading = false;\r\n\t\treturn this;\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.options.beforeRemove) {\r\n\t\t\tself.options.beforeRemove.call(self);\r\n\t\t}\r\n\t\tself.mask && self.mask.remove();\r\n\t\tself.iframeMask && self.iframeMask.remove();\r\n\t\tself.closeIcon.unbind();\r\n\t\tK('input', self.div).unbind();\r\n\t\tK('button', self.div).unbind();\r\n\t\tself.footerDiv.unbind();\r\n\t\tself.bodyDiv.unbind();\r\n\t\tself.headerDiv.unbind();\r\n\t\tK('iframe', self.div).each(function() {\r\n\t\t\tK(this).remove();\r\n\t\t});\r\n\t\tKDialog.parent.remove.call(self);\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _dialog(options) {\r\n\treturn new KDialog(options);\r\n}\r\nK.DialogClass = KDialog;\r\nK.dialog = _dialog;\r\nfunction _tabs(options) {\r\n\tvar self = _widget(options),\r\n\t\tremove = self.remove,\r\n\t\tafterSelect = options.afterSelect,\r\n\t\tdiv = self.div,\r\n\t\tliList = [];\r\n\tdiv.addClass('ke-tabs')\r\n\t\t.bind('contextmenu,mousedown,mousemove', function(e) {\r\n\t\t\te.preventDefault();\r\n\t\t});\r\n\tvar ul = K('<ul class=\"ke-tabs-ul ke-clearfix\"></ul>');\r\n\tdiv.append(ul);\r\n\tself.add = function(tab) {\r\n\t\tvar li = K('<li class=\"ke-tabs-li\">' + tab.title + '</li>');\r\n\t\tli.data('tab', tab);\r\n\t\tliList.push(li);\r\n\t\tul.append(li);\r\n\t};\r\n\tself.selectedIndex = 0;\r\n\tself.select = function(index) {\r\n\t\tself.selectedIndex = index;\r\n\t\t_each(liList, function(i, li) {\r\n\t\t\tli.unbind();\r\n\t\t\tif (i === index) {\r\n\t\t\t\tli.addClass('ke-tabs-li-selected');\r\n\t\t\t\tK(li.data('tab').panel).show('');\r\n\t\t\t} else {\r\n\t\t\t\tli.removeClass('ke-tabs-li-selected').removeClass('ke-tabs-li-on')\r\n\t\t\t\t.mouseover(function() {\r\n\t\t\t\t\tK(this).addClass('ke-tabs-li-on');\r\n\t\t\t\t})\r\n\t\t\t\t.mouseout(function() {\r\n\t\t\t\t\tK(this).removeClass('ke-tabs-li-on');\r\n\t\t\t\t})\r\n\t\t\t\t.click(function() {\r\n\t\t\t\t\tself.select(i);\r\n\t\t\t\t});\r\n\t\t\t\tK(li.data('tab').panel).hide();\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (afterSelect) {\r\n\t\t\tafterSelect.call(self, index);\r\n\t\t}\r\n\t};\r\n\tself.remove = function() {\r\n\t\t_each(liList, function() {\r\n\t\t\tthis.remove();\r\n\t\t});\r\n\t\tul.remove();\r\n\t\tremove.call(self);\r\n\t};\r\n\treturn self;\r\n}\r\nK.tabs = _tabs;\r\nfunction _loadScript(url, fn) {\r\n\tvar head = document.getElementsByTagName('head')[0] || (_QUIRKS ? document.body : document.documentElement),\r\n\t\tscript = document.createElement('script');\r\n\thead.appendChild(script);\r\n\tscript.src = url;\r\n\tscript.charset = 'utf-8';\r\n\tscript.onload = script.onreadystatechange = function() {\r\n\t\tif (!this.readyState || this.readyState === 'loaded') {\r\n\t\t\tif (fn) {\r\n\t\t\t\tfn();\r\n\t\t\t}\r\n\t\t\tscript.onload = script.onreadystatechange = null;\r\n\t\t\thead.removeChild(script);\r\n\t\t}\r\n\t};\r\n}\r\nfunction _chopQuery(url) {\r\n\tvar index = url.indexOf('?');\r\n\treturn index > 0 ? url.substr(0, index) : url;\r\n}\r\nfunction _loadStyle(url) {\r\n\tvar head = document.getElementsByTagName('head')[0] || (_QUIRKS ? document.body : document.documentElement),\r\n\t\tlink = document.createElement('link'),\r\n\t\tabsoluteUrl = _chopQuery(_formatUrl(url, 'absolute'));\r\n\tvar links = K('link[rel=\"stylesheet\"]', head);\r\n\tfor (var i = 0, len = links.length; i < len; i++) {\r\n\t\tif (_chopQuery(_formatUrl(links[i].href, 'absolute')) === absoluteUrl) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\thead.appendChild(link);\r\n\tlink.href = url;\r\n\tlink.rel = 'stylesheet';\r\n}\r\nfunction _ajax(url, fn, method, param, dataType) {\r\n\tmethod = method || 'GET';\r\n\tdataType = dataType || 'json';\r\n\tvar xhr = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');\r\n\txhr.open(method, url, true);\r\n\txhr.onreadystatechange = function () {\r\n\t\tif (xhr.readyState == 4 && xhr.status == 200) {\r\n\t\t\tif (fn) {\r\n\t\t\t\tvar data = _trim(xhr.responseText);\r\n\t\t\t\tif (dataType == 'json') {\r\n\t\t\t\t\tdata = _json(data);\r\n\t\t\t\t}\r\n\t\t\t\tfn(data);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tif (method == 'POST') {\r\n\t\tvar params = [];\r\n\t\t_each(param, function(key, val) {\r\n\t\t\tparams.push(encodeURIComponent(key) + '=' + encodeURIComponent(val));\r\n\t\t});\r\n\t\ttry {\r\n\t\t\txhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\r\n\t\t} catch (e) {}\r\n\t\txhr.send(params.join('&'));\r\n\t} else {\r\n\t\txhr.send(null);\r\n\t}\r\n}\r\nK.loadScript = _loadScript;\r\nK.loadStyle = _loadStyle;\r\nK.ajax = _ajax;\r\nvar _plugins = {};\r\nfunction _plugin(name, fn) {\r\n\tif (name === undefined) {\r\n\t\treturn _plugins;\r\n\t}\r\n\tif (!fn) {\r\n\t\treturn _plugins[name];\r\n\t}\r\n\t_plugins[name] = fn;\r\n}\r\nvar _language = {};\r\nfunction _parseLangKey(key) {\r\n\tvar match, ns = 'core';\r\n\tif ((match = /^(\\w+)\\.(\\w+)$/.exec(key))) {\r\n\t\tns = match[1];\r\n\t\tkey = match[2];\r\n\t}\r\n\treturn { ns : ns, key : key };\r\n}\r\nfunction _lang(mixed, langType) {\r\n\tlangType = langType === undefined ? K.options.langType : langType;\r\n\tif (typeof mixed === 'string') {\r\n\t\tif (!_language[langType]) {\r\n\t\t\treturn 'no language';\r\n\t\t}\r\n\t\tvar pos = mixed.length - 1;\r\n\t\tif (mixed.substr(pos) === '.') {\r\n\t\t\treturn _language[langType][mixed.substr(0, pos)];\r\n\t\t}\r\n\t\tvar obj = _parseLangKey(mixed);\r\n\t\treturn _language[langType][obj.ns][obj.key];\r\n\t}\r\n\t_each(mixed, function(key, val) {\r\n\t\tvar obj = _parseLangKey(key);\r\n\t\tif (!_language[langType]) {\r\n\t\t\t_language[langType] = {};\r\n\t\t}\r\n\t\tif (!_language[langType][obj.ns]) {\r\n\t\t\t_language[langType][obj.ns] = {};\r\n\t\t}\r\n\t\t_language[langType][obj.ns][obj.key] = val;\r\n\t});\r\n}\r\nfunction _getImageFromRange(range, fn) {\r\n\tif (range.collapsed) {\r\n\t\treturn;\r\n\t}\r\n\trange = range.cloneRange().up();\r\n\tvar sc = range.startContainer, so = range.startOffset;\r\n\tif (!_WEBKIT && !range.isControl()) {\r\n\t\treturn;\r\n\t}\r\n\tvar img = K(sc.childNodes[so]);\r\n\tif (!img || img.name != 'img') {\r\n\t\treturn;\r\n\t}\r\n\tif (fn(img)) {\r\n\t\treturn img;\r\n\t}\r\n}\r\nfunction _bindContextmenuEvent() {\r\n\tvar self = this, doc = self.edit.doc;\r\n\tK(doc).contextmenu(function(e) {\r\n\t\tif (self.menu) {\r\n\t\t\tself.hideMenu();\r\n\t\t}\r\n\t\tif (!self.useContextmenu) {\r\n\t\t\te.preventDefault();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (self._contextmenus.length === 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar maxWidth = 0, items = [];\r\n\t\t_each(self._contextmenus, function() {\r\n\t\t\tif (this.title == '-') {\r\n\t\t\t\titems.push(this);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (this.cond && this.cond()) {\r\n\t\t\t\titems.push(this);\r\n\t\t\t\tif (this.width && this.width > maxWidth) {\r\n\t\t\t\t\tmaxWidth = this.width;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\twhile (items.length > 0 && items[0].title == '-') {\r\n\t\t\titems.shift();\r\n\t\t}\r\n\t\twhile (items.length > 0 && items[items.length - 1].title == '-') {\r\n\t\t\titems.pop();\r\n\t\t}\r\n\t\tvar prevItem = null;\r\n\t\t_each(items, function(i) {\r\n\t\t\tif (this.title == '-' && prevItem.title == '-') {\r\n\t\t\t\tdelete items[i];\r\n\t\t\t}\r\n\t\t\tprevItem = this;\r\n\t\t});\r\n\t\tif (items.length > 0) {\r\n\t\t\te.preventDefault();\r\n\t\t\tvar pos = K(self.edit.iframe).pos(),\r\n\t\t\t\tmenu = _menu({\r\n\t\t\t\t\tx : pos.x + e.clientX,\r\n\t\t\t\t\ty : pos.y + e.clientY,\r\n\t\t\t\t\twidth : maxWidth,\r\n\t\t\t\t\tcss : { visibility: 'hidden' },\r\n\t\t\t\t\tshadowMode : self.shadowMode\r\n\t\t\t\t});\r\n\t\t\t_each(items, function() {\r\n\t\t\t\tif (this.title) {\r\n\t\t\t\t\tmenu.addItem(this);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tvar docEl = _docElement(menu.doc),\r\n\t\t\t\tmenuHeight = menu.div.height();\r\n\t\t\tif (e.clientY + menuHeight >= docEl.clientHeight - 100) {\r\n\t\t\t\tmenu.pos(menu.x, _removeUnit(menu.y) - menuHeight);\r\n\t\t\t}\r\n\t\t\tmenu.div.css('visibility', 'visible');\r\n\t\t\tself.menu = menu;\r\n\t\t}\r\n\t});\r\n}\r\nfunction _bindNewlineEvent() {\r\n\tvar self = this, doc = self.edit.doc, newlineTag = self.newlineTag;\r\n\tif (_IE && newlineTag !== 'br') {\r\n\t\treturn;\r\n\t}\r\n\tif (_GECKO && _V < 3 && newlineTag !== 'p') {\r\n\t\treturn;\r\n\t}\r\n\tif (_OPERA && _V < 9) {\r\n\t\treturn;\r\n\t}\r\n\tvar brSkipTagMap = _toMap('h1,h2,h3,h4,h5,h6,pre,li'),\r\n\t\tpSkipTagMap = _toMap('p,h1,h2,h3,h4,h5,h6,pre,li,blockquote');\r\n\tfunction getAncestorTagName(range) {\r\n\t\tvar ancestor = K(range.commonAncestor());\r\n\t\twhile (ancestor) {\r\n\t\t\tif (ancestor.type == 1 && !ancestor.isStyle()) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tancestor = ancestor.parent();\r\n\t\t}\r\n\t\treturn ancestor.name;\r\n\t}\r\n\tK(doc).keydown(function(e) {\r\n\t\tif (e.which != 13 || e.shiftKey || e.ctrlKey || e.altKey) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tself.cmd.selection();\r\n\t\tvar tagName = getAncestorTagName(self.cmd.range);\r\n\t\tif (tagName == 'marquee' || tagName == 'select') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (newlineTag === 'br' && !brSkipTagMap[tagName]) {\r\n\t\t\te.preventDefault();\r\n\t\t\tself.insertHtml('<br />' + (_IE && _V < 9 ? '' : '\\u200B'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!pSkipTagMap[tagName]) {\r\n\t\t\t_nativeCommand(doc, 'formatblock', '<p>');\r\n\t\t}\r\n\t});\r\n\tK(doc).keyup(function(e) {\r\n\t\tif (e.which != 13 || e.shiftKey || e.ctrlKey || e.altKey) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (newlineTag == 'br') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (_GECKO) {\r\n\t\t\tvar root = self.cmd.commonAncestor('p');\r\n\t\t\tvar a = self.cmd.commonAncestor('a');\r\n\t\t\tif (a && a.text() == '') {\r\n\t\t\t\ta.remove(true);\r\n\t\t\t\tself.cmd.range.selectNodeContents(root[0]).collapse(true);\r\n\t\t\t\tself.cmd.select();\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tself.cmd.selection();\r\n\t\tvar tagName = getAncestorTagName(self.cmd.range);\r\n\t\tif (tagName == 'marquee' || tagName == 'select') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!pSkipTagMap[tagName]) {\r\n\t\t\t_nativeCommand(doc, 'formatblock', '<p>');\r\n\t\t}\r\n\t\tvar div = self.cmd.commonAncestor('div');\r\n\t\tif (div) {\r\n\t\t\tvar p = K('<p></p>'),\r\n\t\t\t\tchild = div[0].firstChild;\r\n\t\t\twhile (child) {\r\n\t\t\t\tvar next = child.nextSibling;\r\n\t\t\t\tp.append(child);\r\n\t\t\t\tchild = next;\r\n\t\t\t}\r\n\t\t\tdiv.before(p);\r\n\t\t\tdiv.remove();\r\n\t\t\tself.cmd.range.selectNodeContents(p[0]);\r\n\t\t\tself.cmd.select();\r\n\t\t}\r\n\t});\r\n}\r\nfunction _bindTabEvent() {\r\n\tvar self = this, doc = self.edit.doc;\r\n\tK(doc).keydown(function(e) {\r\n\t\tif (e.which == 9) {\r\n\t\t\te.preventDefault();\r\n\t\t\tif (self.afterTab) {\r\n\t\t\t\tself.afterTab.call(self, e);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar cmd = self.cmd, range = cmd.range;\r\n\t\t\trange.shrink();\r\n\t\t\tif (range.collapsed && range.startContainer.nodeType == 1) {\r\n\t\t\t\trange.insertNode(K('@&nbsp;', doc)[0]);\r\n\t\t\t\tcmd.select();\r\n\t\t\t}\r\n\t\t\tself.insertHtml('&nbsp;&nbsp;&nbsp;&nbsp;');\r\n\t\t}\r\n\t});\r\n}\r\nfunction _bindFocusEvent() {\r\n\tvar self = this;\r\n\tK(self.edit.textarea[0], self.edit.win).focus(function(e) {\r\n\t\tif (self.afterFocus) {\r\n\t\t\tself.afterFocus.call(self, e);\r\n\t\t}\r\n\t}).blur(function(e) {\r\n\t\tif (self.afterBlur) {\r\n\t\t\tself.afterBlur.call(self, e);\r\n\t\t}\r\n\t});\r\n}\r\nfunction _removeBookmarkTag(html) {\r\n\treturn _trim(html.replace(/<span [^>]*id=\"?__kindeditor_bookmark_\\w+_\\d+__\"?[^>]*><\\/span>/ig, ''));\r\n}\r\nfunction _removeTempTag(html) {\r\n\treturn html.replace(/<div[^>]+class=\"?__kindeditor_paste__\"?[^>]*>[\\s\\S]*?<\\/div>/ig, '');\r\n}\r\nfunction _addBookmarkToStack(stack, bookmark) {\r\n\tif (stack.length === 0) {\r\n\t\tstack.push(bookmark);\r\n\t\treturn;\r\n\t}\r\n\tvar prev = stack[stack.length - 1];\r\n\tif (_removeBookmarkTag(bookmark.html) !== _removeBookmarkTag(prev.html)) {\r\n\t\tstack.push(bookmark);\r\n\t}\r\n}\r\nfunction _undoToRedo(fromStack, toStack) {\r\n\tvar self = this, edit = self.edit,\r\n\t\tbody = edit.doc.body,\r\n\t\trange, bookmark;\r\n\tif (fromStack.length === 0) {\r\n\t\treturn self;\r\n\t}\r\n\tif (edit.designMode) {\r\n\t\trange = self.cmd.range;\r\n\t\tbookmark = range.createBookmark(true);\r\n\t\tbookmark.html = body.innerHTML;\r\n\t} else {\r\n\t\tbookmark = {\r\n\t\t\thtml : body.innerHTML\r\n\t\t};\r\n\t}\r\n\t_addBookmarkToStack(toStack, bookmark);\r\n\tvar prev = fromStack.pop();\r\n\tif (_removeBookmarkTag(bookmark.html) === _removeBookmarkTag(prev.html) && fromStack.length > 0) {\r\n\t\tprev = fromStack.pop();\r\n\t}\r\n\tif (edit.designMode) {\r\n\t\tedit.html(prev.html);\r\n\t\tif (prev.start) {\r\n\t\t\trange.moveToBookmark(prev);\r\n\t\t\tself.select();\r\n\t\t}\r\n\t} else {\r\n\t\tK(body).html(_removeBookmarkTag(prev.html));\r\n\t}\r\n\treturn self;\r\n}\r\nfunction KEditor(options) {\r\n\tvar self = this;\r\n\tself.options = {};\r\n\tfunction setOption(key, val) {\r\n\t\tif (KEditor.prototype[key] === undefined) {\r\n\t\t\tself[key] = val;\r\n\t\t}\r\n\t\tself.options[key] = val;\r\n\t}\r\n\t_each(options, function(key, val) {\r\n\t\tsetOption(key, options[key]);\r\n\t});\r\n\t_each(K.options, function(key, val) {\r\n\t\tif (self[key] === undefined) {\r\n\t\t\tsetOption(key, val);\r\n\t\t}\r\n\t});\r\n\tvar se = K(self.srcElement || '<textarea/>');\r\n\tif (!self.width) {\r\n\t\tself.width = se[0].style.width || se.width();\r\n\t}\r\n\tif (!self.height) {\r\n\t\tself.height = se[0].style.height || se.height();\r\n\t}\r\n\tsetOption('width', _undef(self.width, self.minWidth));\r\n\tsetOption('height', _undef(self.height, self.minHeight));\r\n\tsetOption('width', _addUnit(self.width));\r\n\tsetOption('height', _addUnit(self.height));\r\n\tif (_MOBILE && (!_IOS || _V < 534)) {\r\n\t\tself.designMode = false;\r\n\t}\r\n\tself.srcElement = se;\r\n\tself.initContent = '';\r\n\tself.plugin = {};\r\n\tself.isCreated = false;\r\n\tself._handlers = {};\r\n\tself._contextmenus = [];\r\n\tself._undoStack = [];\r\n\tself._redoStack = [];\r\n\tself._firstAddBookmark = true;\r\n\tself.menu = self.contextmenu = null;\r\n\tself.dialogs = [];\r\n}\r\nKEditor.prototype = {\r\n\tlang : function(mixed) {\r\n\t\treturn _lang(mixed, this.langType);\r\n\t},\r\n\tloadPlugin : function(name, fn) {\r\n\t\tvar self = this;\r\n\t\tif (_plugins[name]) {\r\n\t\t\tif (!_isFunction(_plugins[name])) {\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tself.loadPlugin(name, fn);\r\n\t\t\t\t}, 100);\r\n\t\t\t\treturn self;\r\n\t\t\t}\r\n\t\t\t_plugins[name].call(self, KindEditor);\r\n\t\t\tif (fn) {\r\n\t\t\t\tfn.call(self);\r\n\t\t\t}\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\t_plugins[name] = 'loading';\r\n\t\t_loadScript(self.pluginsPath + name + '/' + name + '.js?ver=' + encodeURIComponent(K.DEBUG ? _TIME : _VERSION), function() {\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\tif (_plugins[name]) {\r\n\t\t\t\t\tself.loadPlugin(name, fn);\r\n\t\t\t\t}\r\n\t\t\t}, 0);\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\thandler : function(key, fn) {\r\n\t\tvar self = this;\r\n\t\tif (!self._handlers[key]) {\r\n\t\t\tself._handlers[key] = [];\r\n\t\t}\r\n\t\tif (_isFunction(fn)) {\r\n\t\t\tself._handlers[key].push(fn);\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\t_each(self._handlers[key], function() {\r\n\t\t\tfn = this.call(self, fn);\r\n\t\t});\r\n\t\treturn fn;\r\n\t},\r\n\tclickToolbar : function(name, fn) {\r\n\t\tvar self = this, key = 'clickToolbar' + name;\r\n\t\tif (fn === undefined) {\r\n\t\t\tif (self._handlers[key]) {\r\n\t\t\t\treturn self.handler(key);\r\n\t\t\t}\r\n\t\t\tself.loadPlugin(name, function() {\r\n\t\t\t\tself.handler(key);\r\n\t\t\t});\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\treturn self.handler(key, fn);\r\n\t},\r\n\tupdateState : function() {\r\n\t\tvar self = this;\r\n\t\t_each(('justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,' +\r\n\t\t\t'subscript,superscript,bold,italic,underline,strikethrough').split(','), function(i, name) {\r\n\t\t\tself.cmd.state(name) ? self.toolbar.select(name) : self.toolbar.unselect(name);\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\taddContextmenu : function(item) {\r\n\t\tthis._contextmenus.push(item);\r\n\t\treturn this;\r\n\t},\r\n\tafterCreate : function(fn) {\r\n\t\treturn this.handler('afterCreate', fn);\r\n\t},\r\n\tbeforeRemove : function(fn) {\r\n\t\treturn this.handler('beforeRemove', fn);\r\n\t},\r\n\tbeforeGetHtml : function(fn) {\r\n\t\treturn this.handler('beforeGetHtml', fn);\r\n\t},\r\n\tbeforeSetHtml : function(fn) {\r\n\t\treturn this.handler('beforeSetHtml', fn);\r\n\t},\r\n\tafterSetHtml : function(fn) {\r\n\t\treturn this.handler('afterSetHtml', fn);\r\n\t},\r\n\tcreate : function() {\r\n\t\tvar self = this, fullscreenMode = self.fullscreenMode;\r\n\t\tif (self.isCreated) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (self.srcElement.data('kindeditor')) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tself.srcElement.data('kindeditor', 'true');\r\n\t\tif (fullscreenMode) {\r\n\t\t\t_docElement().style.overflow = 'hidden';\r\n\t\t} else {\r\n\t\t\t_docElement().style.overflow = '';\r\n\t\t}\r\n\t\tvar width = fullscreenMode ? _docElement().clientWidth + 'px' : self.width,\r\n\t\t\theight = fullscreenMode ? _docElement().clientHeight + 'px' : self.height;\r\n\t\tif ((_IE && _V < 8) || _QUIRKS) {\r\n\t\t\theight = _addUnit(_removeUnit(height) + 2);\r\n\t\t}\r\n\t\tvar container = self.container = K(self.layout);\r\n\t\tif (fullscreenMode) {\r\n\t\t\tK(document.body).append(container);\r\n\t\t} else {\r\n\t\t\tself.srcElement.before(container);\r\n\t\t}\r\n\t\tvar toolbarDiv = K('.toolbar', container),\r\n\t\t\teditDiv = K('.edit', container),\r\n\t\t\tstatusbar = self.statusbar = K('.statusbar', container);\r\n\t\tcontainer.removeClass('container')\r\n\t\t\t.addClass('ke-container ke-container-' + self.themeType).css('width', width);\r\n\t\tif (fullscreenMode) {\r\n\t\t\tcontainer.css({\r\n\t\t\t\tposition : 'absolute',\r\n\t\t\t\tleft : 0,\r\n\t\t\t\ttop : 0,\r\n\t\t\t\t'z-index' : 811211\r\n\t\t\t});\r\n\t\t\tif (!_GECKO) {\r\n\t\t\t\tself._scrollPos = _getScrollPos();\r\n\t\t\t}\r\n\t\t\twindow.scrollTo(0, 0);\r\n\t\t\tK(document.body).css({\r\n\t\t\t\t'height' : '1px',\r\n\t\t\t\t'overflow' : 'hidden'\r\n\t\t\t});\r\n\t\t\tK(document.body.parentNode).css('overflow', 'hidden');\r\n\t\t\tself._fullscreenExecuted = true;\r\n\t\t} else {\r\n\t\t\tif (self._fullscreenExecuted) {\r\n\t\t\t\tK(document.body).css({\r\n\t\t\t\t\t'height' : '',\r\n\t\t\t\t\t'overflow' : ''\r\n\t\t\t\t});\r\n\t\t\t\tK(document.body.parentNode).css('overflow', '');\r\n\t\t\t}\r\n\t\t\tif (self._scrollPos) {\r\n\t\t\t\twindow.scrollTo(self._scrollPos.x, self._scrollPos.y);\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar htmlList = [];\r\n\t\tK.each(self.items, function(i, name) {\r\n\t\t\tif (name == '|') {\r\n\t\t\t\thtmlList.push('<span class=\"ke-inline-block ke-separator\"></span>');\r\n\t\t\t} else if (name == '/') {\r\n\t\t\t\thtmlList.push('<div class=\"ke-hr\"></div>');\r\n\t\t\t} else {\r\n\t\t\t\thtmlList.push('<span class=\"ke-outline\" data-name=\"' + name + '\" title=\"' + self.lang(name) + '\" unselectable=\"on\">');\r\n\t\t\t\thtmlList.push('<span class=\"ke-toolbar-icon ke-toolbar-icon-url ke-icon-' + name + '\" unselectable=\"on\"></span></span>');\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar toolbar = self.toolbar = _toolbar({\r\n\t\t\tsrc : toolbarDiv,\r\n\t\t\thtml : htmlList.join(''),\r\n\t\t\tnoDisableItems : self.noDisableItems,\r\n\t\t\tclick : function(e, name) {\r\n\t\t\t\te.stop();\r\n\t\t\t\tif (self.menu) {\r\n\t\t\t\t\tvar menuName = self.menu.name;\r\n\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t\tif (menuName === name) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tself.clickToolbar(name);\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar editHeight = _removeUnit(height) - toolbar.div.height();\r\n\t\tvar edit = self.edit = _edit({\r\n\t\t\theight : editHeight > 0 && _removeUnit(height) > self.minHeight ? editHeight : self.minHeight,\r\n\t\t\tsrc : editDiv,\r\n\t\t\tsrcElement : self.srcElement,\r\n\t\t\tdesignMode : self.designMode,\r\n\t\t\tthemesPath : self.themesPath,\r\n\t\t\tbodyClass : self.bodyClass,\r\n\t\t\tcssPath : self.cssPath,\r\n\t\t\tcssData : self.cssData,\r\n\t\t\tbeforeGetHtml : function(html) {\r\n\t\t\t\thtml = self.beforeGetHtml(html);\r\n\t\t\t\thtml = _removeBookmarkTag(_removeTempTag(html));\r\n\t\t\t\treturn _formatHtml(html, self.filterMode ? self.htmlTags : null, self.urlType, self.wellFormatMode, self.indentChar);\r\n\t\t\t},\r\n\t\t\tbeforeSetHtml : function(html) {\r\n\t\t\t\thtml = _formatHtml(html, self.filterMode ? self.htmlTags : null, '', false);\r\n\t\t\t\treturn self.beforeSetHtml(html);\r\n\t\t\t},\r\n\t\t\tafterSetHtml : function() {\r\n\t\t\t\tself.edit = edit = this;\r\n\t\t\t\tself.afterSetHtml();\r\n\t\t\t},\r\n\t\t\tafterCreate : function() {\r\n\t\t\t\tself.edit = edit = this;\r\n\t\t\t\tself.cmd = edit.cmd;\r\n\t\t\t\tself._docMousedownFn = function(e) {\r\n\t\t\t\t\tif (self.menu) {\r\n\t\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t\tK(edit.doc, document).mousedown(self._docMousedownFn);\r\n\t\t\t\t_bindContextmenuEvent.call(self);\r\n\t\t\t\t_bindNewlineEvent.call(self);\r\n\t\t\t\t_bindTabEvent.call(self);\r\n\t\t\t\t_bindFocusEvent.call(self);\r\n\t\t\t\tedit.afterChange(function(e) {\r\n\t\t\t\t\tif (!edit.designMode) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tself.updateState();\r\n\t\t\t\t\tself.addBookmark();\r\n\t\t\t\t\tif (self.options.afterChange) {\r\n\t\t\t\t\t\tself.options.afterChange.call(self);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tedit.textarea.keyup(function(e) {\r\n\t\t\t\t\tif (!e.ctrlKey && !e.altKey && _INPUT_KEY_MAP[e.which]) {\r\n\t\t\t\t\t\tif (self.options.afterChange) {\r\n\t\t\t\t\t\t\tself.options.afterChange.call(self);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif (self.readonlyMode) {\r\n\t\t\t\t\tself.readonly();\r\n\t\t\t\t}\r\n\t\t\t\tself.isCreated = true;\r\n\t\t\t\tif (self.initContent === '') {\r\n\t\t\t\t\tself.initContent = self.html();\r\n\t\t\t\t}\r\n\t\t\t\tif (self._undoStack.length > 0) {\r\n\t\t\t\t\tvar prev = self._undoStack.pop();\r\n\t\t\t\t\tif (prev.start) {\r\n\t\t\t\t\t\tself.html(prev.html);\r\n\t\t\t\t\t\tedit.cmd.range.moveToBookmark(prev);\r\n\t\t\t\t\t\tself.select();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tself.afterCreate();\r\n\t\t\t\tif (self.options.afterCreate) {\r\n\t\t\t\t\tself.options.afterCreate.call(self);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tstatusbar.removeClass('statusbar').addClass('ke-statusbar')\r\n\t\t\t.append('<span class=\"ke-inline-block ke-statusbar-center-icon\"></span>')\r\n\t\t\t.append('<span class=\"ke-inline-block ke-statusbar-right-icon\"></span>');\r\n\t\tif (self._fullscreenResizeHandler) {\r\n\t\t\tK(window).unbind('resize', self._fullscreenResizeHandler);\r\n\t\t\tself._fullscreenResizeHandler = null;\r\n\t\t}\r\n\t\tfunction initResize() {\r\n\t\t\tif (statusbar.height() === 0) {\r\n\t\t\t\tsetTimeout(initResize, 100);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tself.resize(width, height, false);\r\n\t\t}\r\n\t\tinitResize();\r\n\t\tif (fullscreenMode) {\r\n\t\t\tself._fullscreenResizeHandler = function(e) {\r\n\t\t\t\tif (self.isCreated) {\r\n\t\t\t\t\tself.resize(_docElement().clientWidth, _docElement().clientHeight, false);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tK(window).bind('resize', self._fullscreenResizeHandler);\r\n\t\t\ttoolbar.select('fullscreen');\r\n\t\t\tstatusbar.first().css('visibility', 'hidden');\r\n\t\t\tstatusbar.last().css('visibility', 'hidden');\r\n\t\t} else {\r\n\t\t\tif (_GECKO) {\r\n\t\t\t\tK(window).bind('scroll', function(e) {\r\n\t\t\t\t\tself._scrollPos = _getScrollPos();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (self.resizeType > 0) {\r\n\t\t\t\t_drag({\r\n\t\t\t\t\tmoveEl : container,\r\n\t\t\t\t\tclickEl : statusbar,\r\n\t\t\t\t\tmoveFn : function(x, y, width, height, diffX, diffY) {\r\n\t\t\t\t\t\theight += diffY;\r\n\t\t\t\t\t\tself.resize(null, height);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tstatusbar.first().css('visibility', 'hidden');\r\n\t\t\t}\r\n\t\t\tif (self.resizeType === 2) {\r\n\t\t\t\t_drag({\r\n\t\t\t\t\tmoveEl : container,\r\n\t\t\t\t\tclickEl : statusbar.last(),\r\n\t\t\t\t\tmoveFn : function(x, y, width, height, diffX, diffY) {\r\n\t\t\t\t\t\twidth += diffX;\r\n\t\t\t\t\t\theight += diffY;\r\n\t\t\t\t\t\tself.resize(width, height);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tstatusbar.last().css('visibility', 'hidden');\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\tif (!self.isCreated) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tself.beforeRemove();\r\n\t\tself.srcElement.data('kindeditor', '');\r\n\t\tif (self.menu) {\r\n\t\t\tself.hideMenu();\r\n\t\t}\r\n\t\t_each(self.dialogs, function() {\r\n\t\t\tself.hideDialog();\r\n\t\t});\r\n\t\tK(document).unbind('mousedown', self._docMousedownFn);\r\n\t\tself.toolbar.remove();\r\n\t\tself.edit.remove();\r\n\t\tself.statusbar.last().unbind();\r\n\t\tself.statusbar.unbind();\r\n\t\tself.container.remove();\r\n\t\tself.container = self.toolbar = self.edit = self.menu = null;\r\n\t\tself.dialogs = [];\r\n\t\tself.isCreated = false;\r\n\t\treturn self;\r\n\t},\r\n\tresize : function(width, height, updateProp) {\r\n\t\tvar self = this;\r\n\t\tupdateProp = _undef(updateProp, true);\r\n\t\tif (width) {\r\n\t\t\tif (!/%/.test(width)) {\r\n\t\t\t\twidth = _removeUnit(width);\r\n\t\t\t\twidth = width < self.minWidth ? self.minWidth : width;\r\n\t\t\t}\r\n\t\t\tself.container.css('width', _addUnit(width));\r\n\t\t\tif (updateProp) {\r\n\t\t\t\tself.width = _addUnit(width);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (height) {\r\n\t\t\theight = _removeUnit(height);\r\n\t\t\teditHeight = _removeUnit(height) - self.toolbar.div.height() - self.statusbar.height();\r\n\t\t\teditHeight = editHeight < self.minHeight ? self.minHeight : editHeight;\r\n\t\t\tself.edit.setHeight(editHeight);\r\n\t\t\tif (updateProp) {\r\n\t\t\t\tself.height = _addUnit(height);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tselect : function() {\r\n\t\tthis.isCreated && this.cmd.select();\r\n\t\treturn this;\r\n\t},\r\n\thtml : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\treturn self.isCreated ? self.edit.html() : _elementVal(self.srcElement);\r\n\t\t}\r\n\t\tself.isCreated ? self.edit.html(val) : _elementVal(self.srcElement, val);\r\n\t\tif (self.isCreated) {\r\n\t\t\tself.cmd.selection();\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tfullHtml : function() {\r\n\t\treturn this.isCreated ? this.edit.html(undefined, true) : '';\r\n\t},\r\n\ttext : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\treturn _trim(self.html().replace(/<(?!img|embed).*?>/ig, '').replace(/&nbsp;/ig, ' '));\r\n\t\t} else {\r\n\t\t\treturn self.html(_escape(val));\r\n\t\t}\r\n\t},\r\n\tisEmpty : function() {\r\n\t\treturn _trim(this.text().replace(/\\r\\n|\\n|\\r/, '')) === '';\r\n\t},\r\n\tisDirty : function() {\r\n\t\treturn _trim(this.initContent.replace(/\\r\\n|\\n|\\r|t/g, '')) !== _trim(this.html().replace(/\\r\\n|\\n|\\r|t/g, ''));\r\n\t},\r\n\tselectedHtml : function() {\r\n\t\tvar val = this.isCreated ? this.cmd.range.html() : '';\r\n\t\tval = _removeBookmarkTag(_removeTempTag(val));\r\n\t\treturn val;\r\n\t},\r\n\tcount : function(mode) {\r\n\t\tvar self = this;\r\n\t\tmode = (mode || 'html').toLowerCase();\r\n\t\tif (mode === 'html') {\r\n\t\t\treturn self.html().length;\r\n\t\t}\r\n\t\tif (mode === 'text') {\r\n\t\t\treturn self.text().replace(/<(?:img|embed).*?>/ig, 'K').replace(/\\r\\n|\\n|\\r/g, '').length;\r\n\t\t}\r\n\t\treturn 0;\r\n\t},\r\n\texec : function(key) {\r\n\t\tkey = key.toLowerCase();\r\n\t\tvar self = this, cmd = self.cmd,\r\n\t\t\tchangeFlag = _inArray(key, 'selectall,copy,paste,print'.split(',')) < 0;\r\n\t\tif (changeFlag) {\r\n\t\t\tself.addBookmark(false);\r\n\t\t}\r\n\t\tcmd[key].apply(cmd, _toArray(arguments, 1));\r\n\t\tif (changeFlag) {\r\n\t\t\tself.updateState();\r\n\t\t\tself.addBookmark(false);\r\n\t\t\tif (self.options.afterChange) {\r\n\t\t\t\tself.options.afterChange.call(self);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tinsertHtml : function(val, quickMode) {\r\n\t\tif (!this.isCreated) {\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\tval = this.beforeSetHtml(val);\r\n\t\tthis.exec('inserthtml', val, quickMode);\r\n\t\treturn this;\r\n\t},\r\n\tappendHtml : function(val) {\r\n\t\tthis.html(this.html() + val);\r\n\t\tif (this.isCreated) {\r\n\t\t\tvar cmd = this.cmd;\r\n\t\t\tcmd.range.selectNodeContents(cmd.doc.body).collapse(false);\r\n\t\t\tcmd.select();\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\tsync : function() {\r\n\t\t_elementVal(this.srcElement, this.html());\r\n\t\treturn this;\r\n\t},\r\n\tfocus : function() {\r\n\t\tthis.isCreated ? this.edit.focus() : this.srcElement[0].focus();\r\n\t\treturn this;\r\n\t},\r\n\tblur : function() {\r\n\t\tthis.isCreated ? this.edit.blur() : this.srcElement[0].blur();\r\n\t\treturn this;\r\n\t},\r\n\taddBookmark : function(checkSize) {\r\n\t\tcheckSize = _undef(checkSize, true);\r\n\t\tvar self = this, edit = self.edit,\r\n\t\t\tbody = edit.doc.body,\r\n\t\t\thtml = _removeTempTag(body.innerHTML), bookmark;\r\n\t\tif (checkSize && self._undoStack.length > 0) {\r\n\t\t\tvar prev = self._undoStack[self._undoStack.length - 1];\r\n\t\t\tif (Math.abs(html.length - _removeBookmarkTag(prev.html).length) < self.minChangeSize) {\r\n\t\t\t\treturn self;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (edit.designMode && !self._firstAddBookmark) {\r\n\t\t\tvar range = self.cmd.range;\r\n\t\t\tbookmark = range.createBookmark(true);\r\n\t\t\tbookmark.html = _removeTempTag(body.innerHTML);\r\n\t\t\trange.moveToBookmark(bookmark);\r\n\t\t} else {\r\n\t\t\tbookmark = {\r\n\t\t\t\thtml : html\r\n\t\t\t};\r\n\t\t}\r\n\t\tself._firstAddBookmark = false;\r\n\t\t_addBookmarkToStack(self._undoStack, bookmark);\r\n\t\treturn self;\r\n\t},\r\n\tundo : function() {\r\n\t\treturn _undoToRedo.call(this, this._undoStack, this._redoStack);\r\n\t},\r\n\tredo : function() {\r\n\t\treturn _undoToRedo.call(this, this._redoStack, this._undoStack);\r\n\t},\r\n\tfullscreen : function(bool) {\r\n\t\tthis.fullscreenMode = (bool === undefined ? !this.fullscreenMode : bool);\r\n\t\tthis.addBookmark(false);\r\n\t\treturn this.remove().create();\r\n\t},\r\n\treadonly : function(isReadonly) {\r\n\t\tisReadonly = _undef(isReadonly, true);\r\n\t\tvar self = this, edit = self.edit, doc = edit.doc;\r\n\t\tif (self.designMode) {\r\n\t\t\tself.toolbar.disableAll(isReadonly, []);\r\n\t\t} else {\r\n\t\t\t_each(self.noDisableItems, function() {\r\n\t\t\t\tself.toolbar[isReadonly ? 'disable' : 'enable'](this);\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (_IE) {\r\n\t\t\tdoc.body.contentEditable = !isReadonly;\r\n\t\t} else {\r\n\t\t\tdoc.designMode = isReadonly ? 'off' : 'on';\r\n\t\t}\r\n\t\tedit.textarea[0].disabled = isReadonly;\r\n\t},\r\n\tcreateMenu : function(options) {\r\n\t\tvar self = this,\r\n\t\t\tname = options.name,\r\n\t\t\tknode = self.toolbar.get(name),\r\n\t\t\tpos = knode.pos();\r\n\t\toptions.x = pos.x;\r\n\t\toptions.y = pos.y + knode.height();\r\n\t\toptions.z = self.options.zIndex;\r\n\t\toptions.shadowMode = _undef(options.shadowMode, self.shadowMode);\r\n\t\tif (options.selectedColor !== undefined) {\r\n\t\t\toptions.cls = 'ke-colorpicker-' + self.themeType;\r\n\t\t\toptions.noColor = self.lang('noColor');\r\n\t\t\tself.menu = _colorpicker(options);\r\n\t\t} else {\r\n\t\t\toptions.cls = 'ke-menu-' + self.themeType;\r\n\t\t\toptions.centerLineMode = false;\r\n\t\t\tself.menu = _menu(options);\r\n\t\t}\r\n\t\treturn self.menu;\r\n\t},\r\n\thideMenu : function() {\r\n\t\tthis.menu.remove();\r\n\t\tthis.menu = null;\r\n\t\treturn this;\r\n\t},\r\n\thideContextmenu : function() {\r\n\t\tthis.contextmenu.remove();\r\n\t\tthis.contextmenu = null;\r\n\t\treturn this;\r\n\t},\r\n\tcreateDialog : function(options) {\r\n\t\tvar self = this, name = options.name;\r\n\t\toptions.z = self.options.zIndex;\r\n\t\toptions.shadowMode = _undef(options.shadowMode, self.shadowMode);\r\n\t\toptions.closeBtn = _undef(options.closeBtn, {\r\n\t\t\tname : self.lang('close'),\r\n\t\t\tclick : function(e) {\r\n\t\t\t\tself.hideDialog();\r\n\t\t\t\tif (_IE && self.cmd) {\r\n\t\t\t\t\tself.cmd.select();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\toptions.noBtn = _undef(options.noBtn, {\r\n\t\t\tname : self.lang(options.yesBtn ? 'no' : 'close'),\r\n\t\t\tclick : function(e) {\r\n\t\t\t\tself.hideDialog();\r\n\t\t\t\tif (_IE && self.cmd) {\r\n\t\t\t\t\tself.cmd.select();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (self.dialogAlignType != 'page') {\r\n\t\t\toptions.alignEl = self.container;\r\n\t\t}\r\n\t\toptions.cls = 'ke-dialog-' + self.themeType;\r\n\t\tif (self.dialogs.length > 0) {\r\n\t\t\tvar firstDialog = self.dialogs[0],\r\n\t\t\t\tparentDialog = self.dialogs[self.dialogs.length - 1];\r\n\t\t\tfirstDialog.setMaskIndex(parentDialog.z + 2);\r\n\t\t\toptions.z = parentDialog.z + 3;\r\n\t\t\toptions.showMask = false;\r\n\t\t}\r\n\t\tvar dialog = _dialog(options);\r\n\t\tself.dialogs.push(dialog);\r\n\t\treturn dialog;\r\n\t},\r\n\thideDialog : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.dialogs.length > 0) {\r\n\t\t\tself.dialogs.pop().remove();\r\n\t\t}\r\n\t\tif (self.dialogs.length > 0) {\r\n\t\t\tvar firstDialog = self.dialogs[0],\r\n\t\t\t\tparentDialog = self.dialogs[self.dialogs.length - 1];\r\n\t\t\tfirstDialog.setMaskIndex(parentDialog.z - 1);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\terrorDialog : function(html) {\r\n\t\tvar self = this;\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\twidth : 750,\r\n\t\t\ttitle : self.lang('uploadError'),\r\n\t\t\tbody : '<div style=\"padding:10px 20px;\"><iframe frameborder=\"0\" style=\"width:708px;height:400px;\"></iframe></div>'\r\n\t\t});\r\n\t\tvar iframe = K('iframe', dialog.div), doc = K.iframeDoc(iframe);\r\n\t\tdoc.open();\r\n\t\tdoc.write(html);\r\n\t\tdoc.close();\r\n\t\tK(doc.body).css('background-color', '#FFF');\r\n\t\tiframe[0].contentWindow.focus();\r\n\t\treturn self;\r\n\t}\r\n};\r\nfunction _editor(options) {\r\n\treturn new KEditor(options);\r\n}\r\n_instances = [];\r\nfunction _create(expr, options) {\r\n\toptions = options || {};\r\n\toptions.basePath = _undef(options.basePath, K.basePath);\r\n\toptions.themesPath = _undef(options.themesPath, options.basePath + 'themes/');\r\n\toptions.langPath = _undef(options.langPath, options.basePath + 'lang/');\r\n\toptions.pluginsPath = _undef(options.pluginsPath, options.basePath + 'plugins/');\r\n\tif (_undef(options.loadStyleMode, K.options.loadStyleMode)) {\r\n\t\tvar themeType = _undef(options.themeType, K.options.themeType);\r\n\t\t_loadStyle(options.themesPath + 'default/default.css');\r\n\t\t_loadStyle(options.themesPath + themeType + '/' + themeType + '.css');\r\n\t}\r\n\tfunction create(editor) {\r\n\t\t_each(_plugins, function(name, fn) {\r\n\t\t\tif (_isFunction(fn)) {\r\n\t\t\t\tfn.call(editor, KindEditor);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn editor.create();\r\n\t}\r\n\tvar knode = K(expr);\r\n\tif (!knode || knode.length === 0) {\r\n\t\treturn;\r\n\t}\r\n\tif (knode.length > 1) {\r\n\t\tknode.each(function() {\r\n\t\t\t_create(this, options);\r\n\t\t});\r\n\t\treturn _instances[0];\r\n\t}\r\n\toptions.srcElement = knode[0];\r\n\tvar editor = new KEditor(options);\r\n\t_instances.push(editor);\r\n\tif (_language[editor.langType]) {\r\n\t\treturn create(editor);\r\n\t}\r\n\t_loadScript(editor.langPath + editor.langType + '.js?ver=' + encodeURIComponent(K.DEBUG ? _TIME : _VERSION), function() {\r\n\t\tcreate(editor);\r\n\t});\r\n\treturn editor;\r\n}\r\nfunction _eachEditor(expr, fn) {\r\n\tK(expr).each(function(i, el) {\r\n\t\tK.each(_instances, function(j, editor) {\r\n\t\t\tif (editor && editor.srcElement[0] == el) {\r\n\t\t\t\tfn.call(editor, j);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\nK.remove = function(expr) {\r\n\t_eachEditor(expr, function(i) {\r\n\t\tthis.remove();\r\n\t\t_instances.splice(i, 1);\r\n\t});\r\n};\r\nK.sync = function(expr) {\r\n\t_eachEditor(expr, function() {\r\n\t\tthis.sync();\r\n\t});\r\n};\r\nK.html = function(expr, val) {\r\n\t_eachEditor(expr, function() {\r\n\t\tthis.html(val);\r\n\t});\r\n};\r\nK.insertHtml = function(expr, val) {\r\n\t_eachEditor(expr, function() {\r\n\t\tthis.insertHtml(val);\r\n\t});\r\n};\r\nK.appendHtml = function(expr, val) {\r\n\t_eachEditor(expr, function() {\r\n\t\tthis.appendHtml(val);\r\n\t});\r\n};\r\nif (_IE && _V < 7) {\r\n\t_nativeCommand(document, 'BackgroundImageCache', true);\r\n}\r\nK.EditorClass = KEditor;\r\nK.editor = _editor;\r\nK.create = _create;\r\nK.instances = _instances;\r\nK.plugin = _plugin;\r\nK.lang = _lang;\r\n_plugin('core', function(K) {\r\n\tvar self = this,\r\n\t\tshortcutKeys = {\r\n\t\t\tundo : 'Z', redo : 'Y', bold : 'B', italic : 'I', underline : 'U', print : 'P', selectall : 'A'\r\n\t\t};\r\n\tself.afterSetHtml(function() {\r\n\t\tif (self.options.afterChange) {\r\n\t\t\tself.options.afterChange.call(self);\r\n\t\t}\r\n\t});\r\n\tself.afterCreate(function() {\r\n\t\tif (self.syncType != 'form') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar el = K(self.srcElement), hasForm = false;\r\n\t\twhile ((el = el.parent())) {\r\n\t\t\tif (el.name == 'form') {\r\n\t\t\t\thasForm = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (hasForm) {\r\n\t\t\tel.bind('submit', function(e) {\r\n\t\t\t\tself.sync();\r\n\t\t\t\tK(window).bind('unload', function() {\r\n\t\t\t\t\tself.edit.textarea.remove();\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\tvar resetBtn = K('[type=\"reset\"]', el);\r\n\t\t\tresetBtn.click(function() {\r\n\t\t\t\tself.html(self.initContent);\r\n\t\t\t\tself.cmd.selection();\r\n\t\t\t});\r\n\t\t\tself.beforeRemove(function() {\r\n\t\t\t\tel.unbind();\r\n\t\t\t\tresetBtn.unbind();\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\tself.clickToolbar('source', function() {\r\n\t\tif (self.edit.designMode) {\r\n\t\t\tself.toolbar.disableAll(true);\r\n\t\t\tself.edit.design(false);\r\n\t\t\tself.toolbar.select('source');\r\n\t\t} else {\r\n\t\t\tself.toolbar.disableAll(false);\r\n\t\t\tself.edit.design(true);\r\n\t\t\tself.toolbar.unselect('source');\r\n\t\t\tif (_GECKO) {\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tself.cmd.selection();\r\n\t\t\t\t}, 0);\r\n\t\t\t} else {\r\n\t\t\t\tself.cmd.selection();\r\n\t\t\t}\r\n\t\t}\r\n\t\tself.designMode = self.edit.designMode;\r\n\t});\r\n\tself.afterCreate(function() {\r\n\t\tif (!self.designMode) {\r\n\t\t\tself.toolbar.disableAll(true).select('source');\r\n\t\t}\r\n\t});\r\n\tself.clickToolbar('fullscreen', function() {\r\n\t\tself.fullscreen();\r\n\t});\r\n\tif (self.fullscreenShortcut) {\r\n\t\tvar loaded = false;\r\n\t\tself.afterCreate(function() {\r\n\t\t\tK(self.edit.doc, self.edit.textarea).keyup(function(e) {\r\n\t\t\t\tif (e.which == 27) {\r\n\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\tself.fullscreen();\r\n\t\t\t\t\t}, 0);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (loaded) {\r\n\t\t\t\tif (_IE && !self.designMode) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tself.focus();\r\n\t\t\t}\r\n\t\t\tif (!loaded) {\r\n\t\t\t\tloaded = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t_each('undo,redo'.split(','), function(i, name) {\r\n\t\tif (shortcutKeys[name]) {\r\n\t\t\tself.afterCreate(function() {\r\n\t\t\t\t_ctrl(this.edit.doc, shortcutKeys[name], function() {\r\n\t\t\t\t\tself.clickToolbar(name);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t\tself.clickToolbar(name, function() {\r\n\t\t\tself[name]();\r\n\t\t});\r\n\t});\r\n\tself.clickToolbar('formatblock', function() {\r\n\t\tvar blocks = self.lang('formatblock.formatBlock'),\r\n\t\t\theights = {\r\n\t\t\t\th1 : 28,\r\n\t\t\t\th2 : 24,\r\n\t\t\t\th3 : 18,\r\n\t\t\t\tH4 : 14,\r\n\t\t\t\tp : 12\r\n\t\t\t},\r\n\t\t\tcurVal = self.cmd.val('formatblock'),\r\n\t\t\tmenu = self.createMenu({\r\n\t\t\t\tname : 'formatblock',\r\n\t\t\t\twidth : self.langType == 'en' ? 200 : 150\r\n\t\t\t});\r\n\t\t_each(blocks, function(key, val) {\r\n\t\t\tvar style = 'font-size:' + heights[key] + 'px;';\r\n\t\t\tif (key.charAt(0) === 'h') {\r\n\t\t\t\tstyle += 'font-weight:bold;';\r\n\t\t\t}\r\n\t\t\tmenu.addItem({\r\n\t\t\t\ttitle : '<span style=\"' + style + '\" unselectable=\"on\">' + val + '</span>',\r\n\t\t\t\theight : heights[key] + 12,\r\n\t\t\t\tchecked : (curVal === key || curVal === val),\r\n\t\t\t\tclick : function() {\r\n\t\t\t\t\tself.select().exec('formatblock', '<' + key + '>').hideMenu();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n\tself.clickToolbar('fontname', function() {\r\n\t\tvar curVal = self.cmd.val('fontname'),\r\n\t\t\tmenu = self.createMenu({\r\n\t\t\t\tname : 'fontname',\r\n\t\t\t\twidth : 150\r\n\t\t\t});\r\n\t\t_each(self.lang('fontname.fontName'), function(key, val) {\r\n\t\t\tmenu.addItem({\r\n\t\t\t\ttitle : '<span style=\"font-family: ' + key + ';\" unselectable=\"on\">' + val + '</span>',\r\n\t\t\t\tchecked : (curVal === key.toLowerCase() || curVal === val.toLowerCase()),\r\n\t\t\t\tclick : function() {\r\n\t\t\t\t\tself.exec('fontname', key).hideMenu();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n\tself.clickToolbar('fontsize', function() {\r\n\t\tvar curVal = self.cmd.val('fontsize'),\r\n\t\t\tmenu = self.createMenu({\r\n\t\t\t\tname : 'fontsize',\r\n\t\t\t\twidth : 150\r\n\t\t\t});\r\n\t\t_each(self.fontSizeTable, function(i, val) {\r\n\t\t\tmenu.addItem({\r\n\t\t\t\ttitle : '<span style=\"font-size:' + val + ';\" unselectable=\"on\">' + val + '</span>',\r\n\t\t\t\theight : _removeUnit(val) + 12,\r\n\t\t\t\tchecked : curVal === val,\r\n\t\t\t\tclick : function() {\r\n\t\t\t\t\tself.exec('fontsize', val).hideMenu();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n\t_each('forecolor,hilitecolor'.split(','), function(i, name) {\r\n\t\tself.clickToolbar(name, function() {\r\n\t\t\tself.createMenu({\r\n\t\t\t\tname : name,\r\n\t\t\t\tselectedColor : self.cmd.val(name) || 'default',\r\n\t\t\t\tcolors : self.colorTable,\r\n\t\t\t\tclick : function(color) {\r\n\t\t\t\t\tself.exec(name, color).hideMenu();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n\t_each(('cut,copy,paste').split(','), function(i, name) {\r\n\t\tself.clickToolbar(name, function() {\r\n\t\t\tself.focus();\r\n\t\t\ttry {\r\n\t\t\t\tself.exec(name, null);\r\n\t\t\t} catch(e) {\r\n\t\t\t\talert(self.lang(name + 'Error'));\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\tself.clickToolbar('about', function() {\r\n\t\tvar html = '<div style=\"margin:20px;\">' +\r\n\t\t\t'<div>KindEditor ' + _VERSION + '</div>' +\r\n\t\t\t'<div>Copyright &copy; <a href=\"http://www.kindsoft.net/\" target=\"_blank\">kindsoft.net</a> All rights reserved.</div>' +\r\n\t\t\t'</div>';\r\n\t\tself.createDialog({\r\n\t\t\tname : 'about',\r\n\t\t\twidth : 350,\r\n\t\t\ttitle : self.lang('about'),\r\n\t\t\tbody : html\r\n\t\t});\r\n\t});\r\n\tself.plugin.getSelectedLink = function() {\r\n\t\treturn self.cmd.commonAncestor('a');\r\n\t};\r\n\tself.plugin.getSelectedImage = function() {\r\n\t\treturn _getImageFromRange(self.edit.cmd.range, function(img) {\r\n\t\t\treturn !/^ke-\\w+$/i.test(img[0].className);\r\n\t\t});\r\n\t};\r\n\tself.plugin.getSelectedFlash = function() {\r\n\t\treturn _getImageFromRange(self.edit.cmd.range, function(img) {\r\n\t\t\treturn img[0].className == 'ke-flash';\r\n\t\t});\r\n\t};\r\n\tself.plugin.getSelectedMedia = function() {\r\n\t\treturn _getImageFromRange(self.edit.cmd.range, function(img) {\r\n\t\t\treturn img[0].className == 'ke-media' || img[0].className == 'ke-rm';\r\n\t\t});\r\n\t};\r\n\tself.plugin.getSelectedAnchor = function() {\r\n\t\treturn _getImageFromRange(self.edit.cmd.range, function(img) {\r\n\t\t\treturn img[0].className == 'ke-anchor';\r\n\t\t});\r\n\t};\r\n\t_each('link,image,flash,media,anchor'.split(','), function(i, name) {\r\n\t\tvar uName = name.charAt(0).toUpperCase() + name.substr(1);\r\n\t\t_each('edit,delete'.split(','), function(j, val) {\r\n\t\t\tself.addContextmenu({\r\n\t\t\t\ttitle : self.lang(val + uName),\r\n\t\t\t\tclick : function() {\r\n\t\t\t\t\tself.loadPlugin(name, function() {\r\n\t\t\t\t\t\tself.plugin[name][val]();\r\n\t\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\tcond : self.plugin['getSelected' + uName],\r\n\t\t\t\twidth : 150,\r\n\t\t\t\ticonClass : val == 'edit' ? 'ke-icon-' + name : undefined\r\n\t\t\t});\r\n\t\t});\r\n\t\tself.addContextmenu({ title : '-' });\r\n\t});\r\n\tself.plugin.getSelectedTable = function() {\r\n\t\treturn self.cmd.commonAncestor('table');\r\n\t};\r\n\tself.plugin.getSelectedRow = function() {\r\n\t\treturn self.cmd.commonAncestor('tr');\r\n\t};\r\n\tself.plugin.getSelectedCell = function() {\r\n\t\treturn self.cmd.commonAncestor('td');\r\n\t};\r\n\t_each(('prop,cellprop,colinsertleft,colinsertright,rowinsertabove,rowinsertbelow,rowmerge,colmerge,' +\r\n\t'rowsplit,colsplit,coldelete,rowdelete,insert,delete').split(','), function(i, val) {\r\n\t\tvar cond = _inArray(val, ['prop', 'delete']) < 0 ? self.plugin.getSelectedCell : self.plugin.getSelectedTable;\r\n\t\tself.addContextmenu({\r\n\t\t\ttitle : self.lang('table' + val),\r\n\t\t\tclick : function() {\r\n\t\t\t\tself.loadPlugin('table', function() {\r\n\t\t\t\t\tself.plugin.table[val]();\r\n\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tcond : cond,\r\n\t\t\twidth : 170,\r\n\t\t\ticonClass : 'ke-icon-table' + val\r\n\t\t});\r\n\t});\r\n\tself.addContextmenu({ title : '-' });\r\n\t_each(('selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,' +\r\n\t\t'insertunorderedlist,indent,outdent,subscript,superscript,hr,print,' +\r\n\t\t'bold,italic,underline,strikethrough,removeformat,unlink').split(','), function(i, name) {\r\n\t\tif (shortcutKeys[name]) {\r\n\t\t\tself.afterCreate(function() {\r\n\t\t\t\t_ctrl(this.edit.doc, shortcutKeys[name], function() {\r\n\t\t\t\t\tself.cmd.selection();\r\n\t\t\t\t\tself.clickToolbar(name);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t\tself.clickToolbar(name, function() {\r\n\t\t\tself.focus().exec(name, null);\r\n\t\t});\r\n\t});\r\n\tself.afterCreate(function() {\r\n\t\tvar doc = self.edit.doc, cmd, bookmark, div,\r\n\t\t\tcls = '__kindeditor_paste__', pasting = false;\r\n\t\tfunction movePastedData() {\r\n\t\t\tcmd.range.moveToBookmark(bookmark);\r\n\t\t\tcmd.select();\r\n\t\t\tif (_WEBKIT) {\r\n\t\t\t\tK('div.' + cls, div).each(function() {\r\n\t\t\t\t\tK(this).after('<br />').remove(true);\r\n\t\t\t\t});\r\n\t\t\t\tK('span.Apple-style-span', div).remove(true);\r\n\t\t\t\tK('span.Apple-tab-span', div).remove(true);\r\n\t\t\t\tK('span[style]', div).each(function() {\r\n\t\t\t\t\tif (K(this).css('white-space') == 'nowrap') {\r\n\t\t\t\t\t\tK(this).remove(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tK('meta', div).remove();\r\n\t\t\t}\r\n\t\t\tvar html = div[0].innerHTML;\r\n\t\t\tdiv.remove();\r\n\t\t\tif (html === '') {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (_WEBKIT) {\r\n\t\t\t\thtml = html.replace(/(<br>)\\1/ig, '$1');\r\n\t\t\t}\r\n\t\t\tif (self.pasteType === 2) {\r\n\t\t\t\thtml = html.replace(/(<(?:p|p\\s[^>]*)>) *(<\\/p>)/ig, '');\r\n\t\t\t\tif (/schemas-microsoft-com|worddocument|mso-\\w+/i.test(html)) {\r\n\t\t\t\t\thtml = _clearMsWord(html, self.filterMode ? self.htmlTags : K.options.htmlTags);\r\n\t\t\t\t} else {\r\n\t\t\t\t\thtml = _formatHtml(html, self.filterMode ? self.htmlTags : null);\r\n\t\t\t\t\thtml = self.beforeSetHtml(html);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (self.pasteType === 1) {\r\n\t\t\t\thtml = html.replace(/&nbsp;/ig, ' ');\r\n\t\t\t\thtml = html.replace(/\\n\\s*\\n/g, '\\n');\r\n\t\t\t\thtml = html.replace(/<br[^>]*>/ig, '\\n');\r\n\t\t\t\thtml = html.replace(/<\\/p><p[^>]*>/ig, '\\n');\r\n\t\t\t\thtml = html.replace(/<[^>]+>/g, '');\r\n\t\t\t\thtml = html.replace(/ {2}/g, ' &nbsp;');\r\n\t\t\t\tif (self.newlineTag == 'p') {\r\n\t\t\t\t\tif (/\\n/.test(html)) {\r\n\t\t\t\t\t\thtml = html.replace(/^/, '<p>').replace(/$/, '<br /></p>').replace(/\\n/g, '<br /></p><p>');\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\thtml = html.replace(/\\n/g, '<br />$&');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tself.insertHtml(html, true);\r\n\t\t}\r\n\t\tK(doc.body).bind('paste', function(e){\r\n\t\t\tif (self.pasteType === 0) {\r\n\t\t\t\te.stop();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (pasting) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tpasting = true;\r\n\t\t\tK('div.' + cls, doc).remove();\r\n\t\t\tcmd = self.cmd.selection();\r\n\t\t\tbookmark = cmd.range.createBookmark();\r\n\t\t\tdiv = K('<div class=\"' + cls + '\"></div>', doc).css({\r\n\t\t\t\tposition : 'absolute',\r\n\t\t\t\twidth : '1px',\r\n\t\t\t\theight : '1px',\r\n\t\t\t\toverflow : 'hidden',\r\n\t\t\t\tleft : '-1981px',\r\n\t\t\t\ttop : K(bookmark.start).pos().y + 'px',\r\n\t\t\t\t'white-space' : 'nowrap'\r\n\t\t\t});\r\n\t\t\tK(doc.body).append(div);\r\n\t\t\tif (_IE) {\r\n\t\t\t\tvar rng = cmd.range.get(true);\r\n\t\t\t\trng.moveToElementText(div[0]);\r\n\t\t\t\trng.select();\r\n\t\t\t\trng.execCommand('paste');\r\n\t\t\t\te.preventDefault();\r\n\t\t\t} else {\r\n\t\t\t\tcmd.range.selectNodeContents(div[0]);\r\n\t\t\t\tcmd.select();\r\n\t\t\t}\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\tmovePastedData();\r\n\t\t\t\tpasting = false;\r\n\t\t\t}, 0);\r\n\t\t});\r\n\t});\r\n\tself.beforeGetHtml(function(html) {\r\n\t\tif (_IE && _V <= 8) {\r\n\t\t\thtml = html.replace(/<div\\s+[^>]*data-ke-input-tag=\"([^\"]*)\"[^>]*>([\\s\\S]*?)<\\/div>/ig, function(full, tag) {\r\n\t\t\t\treturn unescape(tag);\r\n\t\t\t});\r\n\t\t\thtml = html.replace(/(<input)((?:\\s+[^>]*)?>)/ig, function($0, $1, $2) {\r\n\t\t\t\tif (!/\\s+type=\"[^\"]+\"/i.test($0)) {\r\n\t\t\t\t\treturn $1 + ' type=\"text\"' + $2;\r\n\t\t\t\t}\r\n\t\t\t\treturn $0;\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn html.replace(/(<(?:noscript|noscript\\s[^>]*)>)([\\s\\S]*?)(<\\/noscript>)/ig, function($0, $1, $2, $3) {\r\n\t\t\treturn $1 + _unescape($2).replace(/\\s+/g, ' ') + $3;\r\n\t\t})\r\n\t\t.replace(/<img[^>]*class=\"?ke-(flash|rm|media)\"?[^>]*>/ig, function(full) {\r\n\t\t\tvar imgAttrs = _getAttrList(full);\r\n\t\t\tvar styles = _getCssList(imgAttrs.style || '');\r\n\t\t\tvar attrs = _mediaAttrs(imgAttrs['data-ke-tag']);\r\n\t\t\tvar width = _undef(styles.width, '');\r\n\t\t\tvar height = _undef(styles.height, '');\r\n\t\t\tif (/px/i.test(width)) {\r\n\t\t\t\twidth = _removeUnit(width);\r\n\t\t\t}\r\n\t\t\tif (/px/i.test(height)) {\r\n\t\t\t\theight = _removeUnit(height);\r\n\t\t\t}\r\n\t\t\tattrs.width = _undef(imgAttrs.width, width);\r\n\t\t\tattrs.height = _undef(imgAttrs.height, height);\r\n\t\t\treturn _mediaEmbed(attrs);\r\n\t\t})\r\n\t\t.replace(/<img[^>]*class=\"?ke-anchor\"?[^>]*>/ig, function(full) {\r\n\t\t\tvar imgAttrs = _getAttrList(full);\r\n\t\t\treturn '<a name=\"' + unescape(imgAttrs['data-ke-name']) + '\"></a>';\r\n\t\t})\r\n\t\t.replace(/<div\\s+[^>]*data-ke-script-attr=\"([^\"]*)\"[^>]*>([\\s\\S]*?)<\\/div>/ig, function(full, attr, code) {\r\n\t\t\treturn '<script' + unescape(attr) + '>' + unescape(code) + '</script>';\r\n\t\t})\r\n\t\t.replace(/<div\\s+[^>]*data-ke-noscript-attr=\"([^\"]*)\"[^>]*>([\\s\\S]*?)<\\/div>/ig, function(full, attr, code) {\r\n\t\t\treturn '<noscript' + unescape(attr) + '>' + unescape(code) + '</noscript>';\r\n\t\t})\r\n\t\t.replace(/(<[^>]*)data-ke-src=\"([^\"]*)\"([^>]*>)/ig, function(full, start, src, end) {\r\n\t\t\tfull = full.replace(/(\\s+(?:href|src)=\")[^\"]*(\")/i, function($0, $1, $2) {\r\n\t\t\t\treturn $1 + _unescape(src) + $2;\r\n\t\t\t});\r\n\t\t\tfull = full.replace(/\\s+data-ke-src=\"[^\"]*\"/i, '');\r\n\t\t\treturn full;\r\n\t\t})\r\n\t\t.replace(/(<[^>]+\\s)data-ke-(on\\w+=\"[^\"]*\"[^>]*>)/ig, function(full, start, end) {\r\n\t\t\treturn start + end;\r\n\t\t});\r\n\t});\r\n\tself.beforeSetHtml(function(html) {\r\n\t\tif (_IE && _V <= 8) {\r\n\t\t\thtml = html.replace(/<input[^>]*>|<(select|button)[^>]*>[\\s\\S]*?<\\/\\1>/ig, function(full) {\r\n\t\t\t\tvar attrs = _getAttrList(full);\r\n\t\t\t\tvar styles = _getCssList(attrs.style || '');\r\n\t\t\t\tif (styles.display == 'none') {\r\n\t\t\t\t\treturn '<div class=\"ke-display-none\" data-ke-input-tag=\"' + escape(full) + '\"></div>';\r\n\t\t\t\t}\r\n\t\t\t\treturn full;\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn html.replace(/<embed[^>]*type=\"([^\"]+)\"[^>]*>(?:<\\/embed>)?/ig, function(full) {\r\n\t\t\tvar attrs = _getAttrList(full);\r\n\t\t\tattrs.src = _undef(attrs.src, '');\r\n\t\t\tattrs.width = _undef(attrs.width, 0);\r\n\t\t\tattrs.height = _undef(attrs.height, 0);\r\n\t\t\treturn _mediaImg(self.themesPath + 'common/blank.gif', attrs);\r\n\t\t})\r\n\t\t.replace(/<a[^>]*name=\"([^\"]+)\"[^>]*>(?:<\\/a>)?/ig, function(full) {\r\n\t\t\tvar attrs = _getAttrList(full);\r\n\t\t\tif (attrs.href !== undefined) {\r\n\t\t\t\treturn full;\r\n\t\t\t}\r\n\t\t\treturn '<img class=\"ke-anchor\" src=\"' + self.themesPath + 'common/anchor.gif\" data-ke-name=\"' + escape(attrs.name) + '\" />';\r\n\t\t})\r\n\t\t.replace(/<script([^>]*)>([\\s\\S]*?)<\\/script>/ig, function(full, attr, code) {\r\n\t\t\treturn '<div class=\"ke-script\" data-ke-script-attr=\"' + escape(attr) + '\">' + escape(code) + '</div>';\r\n\t\t})\r\n\t\t.replace(/<noscript([^>]*)>([\\s\\S]*?)<\\/noscript>/ig, function(full, attr, code) {\r\n\t\t\treturn '<div class=\"ke-noscript\" data-ke-noscript-attr=\"' + escape(attr) + '\">' + escape(code) + '</div>';\r\n\t\t})\r\n\t\t.replace(/(<[^>]*)(href|src)=\"([^\"]*)\"([^>]*>)/ig, function(full, start, key, src, end) {\r\n\t\t\tif (full.match(/\\sdata-ke-src=\"[^\"]*\"/i)) {\r\n\t\t\t\treturn full;\r\n\t\t\t}\r\n\t\t\tfull = start + key + '=\"' + src + '\"' + ' data-ke-src=\"' + _escape(src) + '\"' + end;\r\n\t\t\treturn full;\r\n\t\t})\r\n\t\t.replace(/(<[^>]+\\s)(on\\w+=\"[^\"]*\"[^>]*>)/ig, function(full, start, end) {\r\n\t\t\treturn start + 'data-ke-' + end;\r\n\t\t})\r\n\t\t.replace(/<table[^>]*\\s+border=\"0\"[^>]*>/ig, function(full) {\r\n\t\t\tif (full.indexOf('ke-zeroborder') >= 0) {\r\n\t\t\t\treturn full;\r\n\t\t\t}\r\n\t\t\treturn _addClassToTag(full, 'ke-zeroborder');\r\n\t\t});\r\n\t});\r\n});\r\n})(window);\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.lang({\r\n\tsource : 'HTML代码',\r\n\tpreview : '预览',\r\n\tundo : '后退(Ctrl+Z)',\r\n\tredo : '前进(Ctrl+Y)',\r\n\tcut : '剪切(Ctrl+X)',\r\n\tcopy : '复制(Ctrl+C)',\r\n\tpaste : '粘贴(Ctrl+V)',\r\n\tplainpaste : '粘贴为无格式文本',\r\n\twordpaste : '从Word粘贴',\r\n\tselectall : '全选(Ctrl+A)',\r\n\tjustifyleft : '左对齐',\r\n\tjustifycenter : '居中',\r\n\tjustifyright : '右对齐',\r\n\tjustifyfull : '两端对齐',\r\n\tinsertorderedlist : '编号',\r\n\tinsertunorderedlist : '项目符号',\r\n\tindent : '增加缩进',\r\n\toutdent : '减少缩进',\r\n\tsubscript : '下标',\r\n\tsuperscript : '上标',\r\n\tformatblock : '段落',\r\n\tfontname : '字体',\r\n\tfontsize : '文字大小',\r\n\tforecolor : '文字颜色',\r\n\thilitecolor : '文字背景',\r\n\tbold : '粗体(Ctrl+B)',\r\n\titalic : '斜体(Ctrl+I)',\r\n\tunderline : '下划线(Ctrl+U)',\r\n\tstrikethrough : '删除线',\r\n\tremoveformat : '删除格式',\r\n\timage : '图片',\r\n\tmultiimage : '批量图片上传',\r\n\tflash : 'Flash',\r\n\tmedia : '视音频',\r\n\ttable : '表格',\r\n\ttablecell : '单元格',\r\n\thr : '插入横线',\r\n\temoticons : '插入表情',\r\n\tlink : '超级链接',\r\n\tunlink : '取消超级链接',\r\n\tfullscreen : '全屏显示',\r\n\tabout : '关于',\r\n\tprint : '打印(Ctrl+P)',\r\n\tfilemanager : '文件空间',\r\n\tcode : '插入程序代码',\r\n\tmap : 'Google地图',\r\n\tbaidumap : '百度地图',\r\n\tlineheight : '行距',\r\n\tclearhtml : '清理HTML代码',\r\n\tpagebreak : '插入分页符',\r\n\tquickformat : '一键排版',\r\n\tinsertfile : '插入文件',\r\n\ttemplate : '插入模板',\r\n\tanchor : '锚点',\r\n\tyes : '确定',\r\n\tno : '取消',\r\n\tclose : '关闭',\r\n\teditImage : '图片属性',\r\n\tdeleteImage : '删除图片',\r\n\teditFlash : 'Flash属性',\r\n\tdeleteFlash : '删除Flash',\r\n\teditMedia : '视音频属性',\r\n\tdeleteMedia : '删除视音频',\r\n\teditLink : '超级链接属性',\r\n\tdeleteLink : '取消超级链接',\r\n\teditAnchor : '锚点属性',\r\n\tdeleteAnchor : '删除锚点',\r\n\ttableprop : '表格属性',\r\n\ttablecellprop : '单元格属性',\r\n\ttableinsert : '插入表格',\r\n\ttabledelete : '删除表格',\r\n\ttablecolinsertleft : '左侧插入列',\r\n\ttablecolinsertright : '右侧插入列',\r\n\ttablerowinsertabove : '上方插入行',\r\n\ttablerowinsertbelow : '下方插入行',\r\n\ttablerowmerge : '向下合并单元格',\r\n\ttablecolmerge : '向右合并单元格',\r\n\ttablerowsplit : '拆分行',\r\n\ttablecolsplit : '拆分列',\r\n\ttablecoldelete : '删除列',\r\n\ttablerowdelete : '删除行',\r\n\tnoColor : '无颜色',\r\n\tpleaseSelectFile : '请选择文件。',\r\n\tinvalidImg : \"请输入有效的URL地址。\\n只允许jpg,gif,bmp,png格式。\",\r\n\tinvalidMedia : \"请输入有效的URL地址。\\n只允许swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb格式。\",\r\n\tinvalidWidth : \"宽度必须为数字。\",\r\n\tinvalidHeight : \"高度必须为数字。\",\r\n\tinvalidBorder : \"边框必须为数字。\",\r\n\tinvalidUrl : \"请输入有效的URL地址。\",\r\n\tinvalidRows : '行数为必选项，只允许输入大于0的数字。',\r\n\tinvalidCols : '列数为必选项，只允许输入大于0的数字。',\r\n\tinvalidPadding : '边距必须为数字。',\r\n\tinvalidSpacing : '间距必须为数字。',\r\n\tinvalidJson : '服务器发生故障。',\r\n\tuploadSuccess : '上传成功。',\r\n\tcutError : '您的浏览器安全设置不允许使用剪切操作，请使用快捷键(Ctrl+X)来完成。',\r\n\tcopyError : '您的浏览器安全设置不允许使用复制操作，请使用快捷键(Ctrl+C)来完成。',\r\n\tpasteError : '您的浏览器安全设置不允许使用粘贴操作，请使用快捷键(Ctrl+V)来完成。',\r\n\tajaxLoading : '加载中，请稍候 ...',\r\n\tuploadLoading : '上传中，请稍候 ...',\r\n\tuploadError : '上传错误',\r\n\t'plainpaste.comment' : '请使用快捷键(Ctrl+V)把内容粘贴到下面的方框里。',\r\n\t'wordpaste.comment' : '请使用快捷键(Ctrl+V)把内容粘贴到下面的方框里。',\r\n\t'code.pleaseInput' : '请输入程序代码。',\r\n\t'link.url' : 'URL',\r\n\t'link.linkType' : '打开类型',\r\n\t'link.newWindow' : '新窗口',\r\n\t'link.selfWindow' : '当前窗口',\r\n\t'flash.url' : 'URL',\r\n\t'flash.width' : '宽度',\r\n\t'flash.height' : '高度',\r\n\t'flash.upload' : '上传',\r\n\t'flash.viewServer' : '文件空间',\r\n\t'media.url' : 'URL',\r\n\t'media.width' : '宽度',\r\n\t'media.height' : '高度',\r\n\t'media.autostart' : '自动播放',\r\n\t'media.upload' : '上传',\r\n\t'media.viewServer' : '文件空间',\r\n\t'image.remoteImage' : '网络图片',\r\n\t'image.localImage' : '本地上传',\r\n\t'image.remoteUrl' : '图片地址',\r\n\t'image.localUrl' : '上传文件',\r\n\t'image.size' : '图片大小',\r\n\t'image.width' : '宽',\r\n\t'image.height' : '高',\r\n\t'image.resetSize' : '重置大小',\r\n\t'image.align' : '对齐方式',\r\n\t'image.defaultAlign' : '默认方式',\r\n\t'image.leftAlign' : '左对齐',\r\n\t'image.rightAlign' : '右对齐',\r\n\t'image.imgTitle' : '图片说明',\r\n\t'image.upload' : '浏览...',\r\n\t'image.viewServer' : '图片空间',\r\n\t'multiimage.uploadDesc' : '允许用户同时上传<%=uploadLimit%>张图片，单张图片容量不超过<%=sizeLimit%>',\r\n\t'multiimage.startUpload' : '开始上传',\r\n\t'multiimage.clearAll' : '全部清空',\r\n\t'multiimage.insertAll' : '全部插入',\r\n\t'multiimage.queueLimitExceeded' : '文件数量超过限制。',\r\n\t'multiimage.fileExceedsSizeLimit' : '文件大小超过限制。',\r\n\t'multiimage.zeroByteFile' : '无法上传空文件。',\r\n\t'multiimage.invalidFiletype' : '文件类型不正确。',\r\n\t'multiimage.unknownError' : '发生异常，无法上传。',\r\n\t'multiimage.pending' : '等待上传',\r\n\t'multiimage.uploadError' : '上传失败',\r\n\t'filemanager.emptyFolder' : '空文件夹',\r\n\t'filemanager.moveup' : '移到上一级文件夹',\r\n\t'filemanager.viewType' : '显示方式：',\r\n\t'filemanager.viewImage' : '缩略图',\r\n\t'filemanager.listImage' : '详细信息',\r\n\t'filemanager.orderType' : '排序方式：',\r\n\t'filemanager.fileName' : '名称',\r\n\t'filemanager.fileSize' : '大小',\r\n\t'filemanager.fileType' : '类型',\r\n\t'insertfile.url' : 'URL',\r\n\t'insertfile.title' : '文件说明',\r\n\t'insertfile.upload' : '上传',\r\n\t'insertfile.viewServer' : '文件空间',\r\n\t'table.cells' : '单元格数',\r\n\t'table.rows' : '行数',\r\n\t'table.cols' : '列数',\r\n\t'table.size' : '大小',\r\n\t'table.width' : '宽度',\r\n\t'table.height' : '高度',\r\n\t'table.percent' : '%',\r\n\t'table.px' : 'px',\r\n\t'table.space' : '边距间距',\r\n\t'table.padding' : '边距',\r\n\t'table.spacing' : '间距',\r\n\t'table.align' : '对齐方式',\r\n\t'table.textAlign' : '水平对齐',\r\n\t'table.verticalAlign' : '垂直对齐',\r\n\t'table.alignDefault' : '默认',\r\n\t'table.alignLeft' : '左对齐',\r\n\t'table.alignCenter' : '居中',\r\n\t'table.alignRight' : '右对齐',\r\n\t'table.alignTop' : '顶部',\r\n\t'table.alignMiddle' : '中部',\r\n\t'table.alignBottom' : '底部',\r\n\t'table.alignBaseline' : '基线',\r\n\t'table.border' : '边框',\r\n\t'table.borderWidth' : '边框',\r\n\t'table.borderColor' : '颜色',\r\n\t'table.backgroundColor' : '背景颜色',\r\n\t'map.address' : '地址: ',\r\n\t'map.search' : '搜索',\r\n\t'baidumap.address' : '地址: ',\r\n\t'baidumap.search' : '搜索',\r\n\t'baidumap.insertDynamicMap' : '插入动态地图',\r\n\t'anchor.name' : '锚点名称',\r\n\t'formatblock.formatBlock' : {\r\n\t\th1 : '标题 1',\r\n\t\th2 : '标题 2',\r\n\t\th3 : '标题 3',\r\n\t\th4 : '标题 4',\r\n\t\tp : '正 文'\r\n\t},\r\n\t'fontname.fontName' : {\r\n\t\t'SimSun' : '宋体',\r\n\t\t'NSimSun' : '新宋体',\r\n\t\t'FangSong_GB2312' : '仿宋_GB2312',\r\n\t\t'KaiTi_GB2312' : '楷体_GB2312',\r\n\t\t'SimHei' : '黑体',\r\n\t\t'Microsoft YaHei' : '微软雅黑',\r\n\t\t'Arial' : 'Arial',\r\n\t\t'Arial Black' : 'Arial Black',\r\n\t\t'Times New Roman' : 'Times New Roman',\r\n\t\t'Courier New' : 'Courier New',\r\n\t\t'Tahoma' : 'Tahoma',\r\n\t\t'Verdana' : 'Verdana'\r\n\t},\r\n\t'lineheight.lineHeight' : [\r\n\t\t{'1' : '单倍行距'},\r\n\t\t{'1.5' : '1.5倍行距'},\r\n\t\t{'2' : '2倍行距'},\r\n\t\t{'2.5' : '2.5倍行距'},\r\n\t\t{'3' : '3倍行距'}\r\n\t],\r\n\t'template.selectTemplate' : '可选模板',\r\n\t'template.replaceContent' : '替换当前内容',\r\n\t'template.fileList' : {\r\n\t\t'1.html' : '图片和文字',\r\n\t\t'2.html' : '表格',\r\n\t\t'3.html' : '项目编号'\r\n\t}\r\n}, 'zh_CN');\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('anchor', function(K) {\r\n\tvar self = this, name = 'anchor', lang = self.lang(name + '.');\r\n\tself.plugin.anchor = {\r\n\t\tedit : function() {\r\n\t\t\tvar html = ['<div style=\"padding:20px;\">',\r\n\t\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t\t'<label for=\"keName\">' + lang.name + '</label>',\r\n\t\t\t\t\t'<input class=\"ke-input-text\" type=\"text\" id=\"keName\" name=\"name\" value=\"\" style=\"width:100px;\" />',\r\n\t\t\t\t\t'</div>',\r\n\t\t\t\t\t'</div>'].join('');\r\n\t\t\tvar dialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 300,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tself.insertHtml('<a name=\"' + nameBox.val() + '\">').hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tvar div = dialog.div,\r\n\t\t\t\tnameBox = K('input[name=\"name\"]', div);\r\n\t\t\tvar img = self.plugin.getSelectedAnchor();\r\n\t\t\tif (img) {\r\n\t\t\t\tnameBox.val(unescape(img.attr('data-ke-name')));\r\n\t\t\t}\r\n\t\t\tnameBox[0].focus();\r\n\t\t\tnameBox[0].select();\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tself.plugin.getSelectedAnchor().remove();\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.anchor.edit);\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('autoheight', function(K) {\r\n\tvar self = this;\r\n\r\n\tif (!self.autoHeightMode) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar minHeight;\r\n\r\n\tfunction hideScroll() {\r\n\t\tvar edit = self.edit;\r\n\t\tvar body = edit.doc.body;\r\n\t\tedit.iframe[0].scroll = 'no';\r\n\t\tbody.style.overflowY = 'hidden';\r\n\t}\r\n\r\n\tfunction resetHeight() {\r\n\t\tvar edit = self.edit;\r\n\t\tvar body = edit.doc.body;\r\n\t\tedit.iframe.height(minHeight);\r\n\t\tself.resize(null, Math.max((K.IE ? body.scrollHeight : body.offsetHeight) + 76, minHeight));\r\n\t}\r\n\r\n\tfunction init() {\r\n\t\tminHeight = K.removeUnit(self.height);\r\n\r\n\t\tself.edit.afterChange(resetHeight);\r\n\t\thideScroll();\r\n\t\tresetHeight();\r\n\t}\r\n\r\n\tif (self.isCreated) {\r\n\t\tinit();\r\n\t} else {\r\n\t\tself.afterCreate(init);\r\n\t}\r\n});\r\n\r\n/*\r\n* 如何实现真正的自动高度？\r\n* 修改编辑器高度之后，再次获取body内容高度时，最小值只会是当前iframe的设置高度，这样就导致高度只增不减。\r\n* 所以每次获取body内容高度之前，先将iframe的高度重置为最小高度，这样就能获取body的实际高度。\r\n* 由此就实现了真正的自动高度\r\n* 测试：chrome、firefox、IE9、IE8\r\n* */\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\n// Baidu Maps: http://dev.baidu.com/wiki/map/index.php?title=%E9%A6%96%E9%A1%B5\r\n\r\nKindEditor.plugin('baidumap', function(K) {\r\n\tvar self = this, name = 'baidumap', lang = self.lang(name + '.');\r\n\tvar mapWidth = K.undef(self.mapWidth, 558);\r\n\tvar mapHeight = K.undef(self.mapHeight, 360);\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar html = ['<div style=\"padding:10px 20px;\">',\r\n\t\t\t'<div class=\"ke-header\">',\r\n\t\t\t// left start\r\n\t\t\t'<div class=\"ke-left\">',\r\n\t\t\tlang.address + ' <input id=\"kindeditor_plugin_map_address\" name=\"address\" class=\"ke-input-text\" value=\"\" style=\"width:200px;\" /> ',\r\n\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t'<input type=\"button\" name=\"searchBtn\" class=\"ke-button-common ke-button\" value=\"' + lang.search + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'</div>',\r\n\t\t\t// right start\r\n\t\t\t'<div class=\"ke-right\">',\r\n\t\t\t'<input type=\"checkbox\" id=\"keInsertDynamicMap\" name=\"insertDynamicMap\" value=\"1\" /> <label for=\"keInsertDynamicMap\">' + lang.insertDynamicMap + '</label>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-clearfix\"></div>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-map\" style=\"width:' + mapWidth + 'px;height:' + mapHeight + 'px;\"></div>',\r\n\t\t\t'</div>'].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : mapWidth + 42,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tvar map = win.map;\r\n\t\t\t\t\tvar centerObj = map.getCenter();\r\n\t\t\t\t\tvar center = centerObj.lng + ',' + centerObj.lat;\r\n\t\t\t\t\tvar zoom = map.getZoom();\r\n\t\t\t\t\tvar url = [checkbox[0].checked ? self.pluginsPath + 'baidumap/index.html' : 'http://api.map.baidu.com/staticimage',\r\n\t\t\t\t\t\t'?center=' + encodeURIComponent(center),\r\n\t\t\t\t\t\t'&zoom=' + encodeURIComponent(zoom),\r\n\t\t\t\t\t\t'&width=' + mapWidth,\r\n\t\t\t\t\t\t'&height=' + mapHeight,\r\n\t\t\t\t\t\t'&markers=' + encodeURIComponent(center),\r\n\t\t\t\t\t\t'&markerStyles=' + encodeURIComponent('l,A')].join('');\r\n\t\t\t\t\tif (checkbox[0].checked) {\r\n\t\t\t\t\t\tself.insertHtml('<iframe src=\"' + url + '\" frameborder=\"0\" style=\"width:' + (mapWidth + 2) + 'px;height:' + (mapHeight + 2) + 'px;\"></iframe>');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tself.exec('insertimage', url);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tself.hideDialog().focus();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tbeforeRemove : function() {\r\n\t\t\t\tsearchBtn.remove();\r\n\t\t\t\tif (doc) {\r\n\t\t\t\t\tdoc.write('');\r\n\t\t\t\t}\r\n\t\t\t\tiframe.remove();\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar div = dialog.div,\r\n\t\t\taddressBox = K('[name=\"address\"]', div),\r\n\t\t\tsearchBtn = K('[name=\"searchBtn\"]', div),\r\n\t\t\tcheckbox = K('[name=\"insertDynamicMap\"]', dialog.div),\r\n\t\t\twin, doc;\r\n\t\tvar iframe = K('<iframe class=\"ke-textarea\" frameborder=\"0\" src=\"' + self.pluginsPath + 'baidumap/map.html\" style=\"width:' + mapWidth + 'px;height:' + mapHeight + 'px;\"></iframe>');\r\n\t\tfunction ready() {\r\n\t\t\twin = iframe[0].contentWindow;\r\n\t\t\tdoc = K.iframeDoc(iframe);\r\n\t\t}\r\n\t\tiframe.bind('load', function() {\r\n\t\t\tiframe.unbind('load');\r\n\t\t\tif (K.IE) {\r\n\t\t\t\tready();\r\n\t\t\t} else {\r\n\t\t\t\tsetTimeout(ready, 0);\r\n\t\t\t}\r\n\t\t});\r\n\t\tK('.ke-map', div).replaceWith(iframe);\r\n\t\t// search map\r\n\t\tsearchBtn.click(function() {\r\n\t\t\twin.search(addressBox.val());\r\n\t\t});\r\n\t});\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('clearhtml', function(K) {\r\n\tvar self = this, name = 'clearhtml';\r\n\tself.clickToolbar(name, function() {\r\n\t\tself.focus();\r\n\t\tvar html = self.html();\r\n\t\thtml = html.replace(/(<script[^>]*>)([\\s\\S]*?)(<\\/script>)/ig, '');\r\n\t\thtml = html.replace(/(<style[^>]*>)([\\s\\S]*?)(<\\/style>)/ig, '');\r\n\t\thtml = K.formatHtml(html, {\r\n\t\t\ta : ['href', 'target'],\r\n\t\t\tembed : ['src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess'],\r\n\t\t\timg : ['src', 'width', 'height', 'border', 'alt', 'title', '.width', '.height'],\r\n\t\t\ttable : ['border'],\r\n\t\t\t'td,th' : ['rowspan', 'colspan'],\r\n\t\t\t'div,hr,br,tbody,tr,p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : []\r\n\t\t});\r\n\t\tself.html(html);\r\n\t\tself.cmd.selection(true);\r\n\t\tself.addBookmark();\r\n\t});\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\n// google code prettify: http://google-code-prettify.googlecode.com/\r\n// http://google-code-prettify.googlecode.com/\r\n\r\nKindEditor.plugin('code', function(K) {\r\n\tvar self = this, name = 'code';\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar lang = self.lang(name + '.'),\r\n\t\t\thtml = ['<div style=\"padding:10px 20px;\">',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<select class=\"ke-code-type\">',\r\n\t\t\t\t'<option value=\"js\">JavaScript</option>',\r\n\t\t\t\t'<option value=\"html\">HTML</option>',\r\n\t\t\t\t'<option value=\"css\">CSS</option>',\r\n\t\t\t\t'<option value=\"php\">PHP</option>',\r\n\t\t\t\t'<option value=\"pl\">Perl</option>',\r\n\t\t\t\t'<option value=\"py\">Python</option>',\r\n\t\t\t\t'<option value=\"rb\">Ruby</option>',\r\n\t\t\t\t'<option value=\"java\">Java</option>',\r\n\t\t\t\t'<option value=\"vb\">ASP/VB</option>',\r\n\t\t\t\t'<option value=\"cpp\">C/C++</option>',\r\n\t\t\t\t'<option value=\"cs\">C#</option>',\r\n\t\t\t\t'<option value=\"xml\">XML</option>',\r\n\t\t\t\t'<option value=\"bsh\">Shell</option>',\r\n\t\t\t\t'<option value=\"\">Other</option>',\r\n\t\t\t\t'</select>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<textarea class=\"ke-textarea\" style=\"width:408px;height:260px;\"></textarea>',\r\n\t\t\t\t'</div>'].join(''),\r\n\t\t\tdialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 450,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar type = K('.ke-code-type', dialog.div).val(),\r\n\t\t\t\t\t\t\tcode = textarea.val(),\r\n\t\t\t\t\t\t\tcls = type === '' ? '' :  ' lang-' + type,\r\n\t\t\t\t\t\t\thtml = '<pre class=\"prettyprint' + cls + '\">\\n' + K.escape(code) + '</pre> ';\r\n\t\t\t\t\t\tif (K.trim(code) === '') {\r\n\t\t\t\t\t\t\talert(lang.pleaseInput);\r\n\t\t\t\t\t\t\ttextarea[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tself.insertHtml(html).hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\ttextarea = K('textarea', dialog.div);\r\n\t\ttextarea[0].focus();\r\n\t});\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('emoticons', function(K) {\r\n\tvar self = this, name = 'emoticons',\r\n\t\tpath = (self.emoticonsPath || self.pluginsPath + 'emoticons/images/'),\r\n\t\tallowPreview = self.allowPreviewEmoticons === undefined ? true : self.allowPreviewEmoticons,\r\n\t\tcurrentPageNum = 1;\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar rows = 5, cols = 9, total = 135, startNum = 0,\r\n\t\t\tcells = rows * cols, pages = Math.ceil(total / cells),\r\n\t\t\tcolsHalf = Math.floor(cols / 2),\r\n\t\t\twrapperDiv = K('<div class=\"ke-plugin-emoticons\"></div>'),\r\n\t\t\telements = [],\r\n\t\t\tmenu = self.createMenu({\r\n\t\t\t\tname : name,\r\n\t\t\t\tbeforeRemove : function() {\r\n\t\t\t\t\tremoveEvent();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\tmenu.div.append(wrapperDiv);\r\n\t\tvar previewDiv, previewImg;\r\n\t\tif (allowPreview) {\r\n\t\t\tpreviewDiv = K('<div class=\"ke-preview\"></div>').css('right', 0);\r\n\t\t\tpreviewImg = K('<img class=\"ke-preview-img\" src=\"' + path + startNum + '.gif\" />');\r\n\t\t\twrapperDiv.append(previewDiv);\r\n\t\t\tpreviewDiv.append(previewImg);\r\n\t\t}\r\n\t\tfunction bindCellEvent(cell, j, num) {\r\n\t\t\tif (previewDiv) {\r\n\t\t\t\tcell.mouseover(function() {\r\n\t\t\t\t\tif (j > colsHalf) {\r\n\t\t\t\t\t\tpreviewDiv.css('left', 0);\r\n\t\t\t\t\t\tpreviewDiv.css('right', '');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tpreviewDiv.css('left', '');\r\n\t\t\t\t\t\tpreviewDiv.css('right', 0);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpreviewImg.attr('src', path + num + '.gif');\r\n\t\t\t\t\tK(this).addClass('ke-on');\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tcell.mouseover(function() {\r\n\t\t\t\t\tK(this).addClass('ke-on');\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tcell.mouseout(function() {\r\n\t\t\t\tK(this).removeClass('ke-on');\r\n\t\t\t});\r\n\t\t\tcell.click(function(e) {\r\n\t\t\t\tself.insertHtml('<img src=\"' + path + num + '.gif\" border=\"0\" alt=\"\" />').hideMenu().focus();\r\n\t\t\t\te.stop();\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction createEmoticonsTable(pageNum, parentDiv) {\r\n\t\t\tvar table = document.createElement('table');\r\n\t\t\tparentDiv.append(table);\r\n\t\t\tif (previewDiv) {\r\n\t\t\t\tK(table).mouseover(function() {\r\n\t\t\t\t\tpreviewDiv.show('block');\r\n\t\t\t\t});\r\n\t\t\t\tK(table).mouseout(function() {\r\n\t\t\t\t\tpreviewDiv.hide();\r\n\t\t\t\t});\r\n\t\t\t\telements.push(K(table));\r\n\t\t\t}\r\n\t\t\ttable.className = 'ke-table';\r\n\t\t\ttable.cellPadding = 0;\r\n\t\t\ttable.cellSpacing = 0;\r\n\t\t\ttable.border = 0;\r\n\t\t\tvar num = (pageNum - 1) * cells + startNum;\r\n\t\t\tfor (var i = 0; i < rows; i++) {\r\n\t\t\t\tvar row = table.insertRow(i);\r\n\t\t\t\tfor (var j = 0; j < cols; j++) {\r\n\t\t\t\t\tvar cell = K(row.insertCell(j));\r\n\t\t\t\t\tcell.addClass('ke-cell');\r\n\t\t\t\t\tbindCellEvent(cell, j, num);\r\n\t\t\t\t\tvar span = K('<span class=\"ke-img\"></span>')\r\n\t\t\t\t\t\t.css('background-position', '-' + (24 * num) + 'px 0px')\r\n\t\t\t\t\t\t.css('background-image', 'url(' + path + 'static.gif)');\r\n\t\t\t\t\tcell.append(span);\r\n\t\t\t\t\telements.push(cell);\r\n\t\t\t\t\tnum++;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn table;\r\n\t\t}\r\n\t\tvar table = createEmoticonsTable(currentPageNum, wrapperDiv);\r\n\t\tfunction removeEvent() {\r\n\t\t\tK.each(elements, function() {\r\n\t\t\t\tthis.unbind();\r\n\t\t\t});\r\n\t\t}\r\n\t\tvar pageDiv;\r\n\t\tfunction bindPageEvent(el, pageNum) {\r\n\t\t\tel.click(function(e) {\r\n\t\t\t\tremoveEvent();\r\n\t\t\t\ttable.parentNode.removeChild(table);\r\n\t\t\t\tpageDiv.remove();\r\n\t\t\t\ttable = createEmoticonsTable(pageNum, wrapperDiv);\r\n\t\t\t\tcreatePageTable(pageNum);\r\n\t\t\t\tcurrentPageNum = pageNum;\r\n\t\t\t\te.stop();\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction createPageTable(currentPageNum) {\r\n\t\t\tpageDiv = K('<div class=\"ke-page\"></div>');\r\n\t\t\twrapperDiv.append(pageDiv);\r\n\t\t\tfor (var pageNum = 1; pageNum <= pages; pageNum++) {\r\n\t\t\t\tif (currentPageNum !== pageNum) {\r\n\t\t\t\t\tvar a = K('<a href=\"javascript:;\">[' + pageNum + ']</a>');\r\n\t\t\t\t\tbindPageEvent(a, pageNum);\r\n\t\t\t\t\tpageDiv.append(a);\r\n\t\t\t\t\telements.push(a);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tpageDiv.append(K('@[' + pageNum + ']'));\r\n\t\t\t\t}\r\n\t\t\t\tpageDiv.append(K('@&nbsp;'));\r\n\t\t\t}\r\n\t\t}\r\n\t\tcreatePageTable(currentPageNum);\r\n\t});\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('filemanager', function(K) {\r\n\tvar self = this, name = 'filemanager',\r\n\t\tfileManagerJson = K.undef(self.fileManagerJson, self.basePath + 'php/file_manager_json.php'),\r\n\t\timgPath = self.pluginsPath + name + '/images/',\r\n\t\tlang = self.lang(name + '.');\r\n\tfunction makeFileTitle(filename, filesize, datetime) {\r\n\t\treturn filename + ' (' + Math.ceil(filesize / 1024) + 'KB, ' + datetime + ')';\r\n\t}\r\n\tfunction bindTitle(el, data) {\r\n\t\tif (data.is_dir) {\r\n\t\t\tel.attr('title', data.filename);\r\n\t\t} else {\r\n\t\t\tel.attr('title', makeFileTitle(data.filename, data.filesize, data.datetime));\r\n\t\t}\r\n\t}\r\n\tself.plugin.filemanagerDialog = function(options) {\r\n\t\tvar width = K.undef(options.width, 650),\r\n\t\t\theight = K.undef(options.height, 510),\r\n\t\t\tdirName = K.undef(options.dirName, ''),\r\n\t\t\tviewType = K.undef(options.viewType, 'VIEW').toUpperCase(), // \"LIST\" or \"VIEW\"\r\n\t\t\tclickFn = options.clickFn;\r\n\t\tvar html = [\r\n\t\t\t'<div style=\"padding:10px 20px;\">',\r\n\t\t\t// header start\r\n\t\t\t'<div class=\"ke-plugin-filemanager-header\">',\r\n\t\t\t// left start\r\n\t\t\t'<div class=\"ke-left\">',\r\n\t\t\t'<img class=\"ke-inline-block\" name=\"moveupImg\" src=\"' + imgPath + 'go-up.gif\" width=\"16\" height=\"16\" border=\"0\" alt=\"\" /> ',\r\n\t\t\t'<a class=\"ke-inline-block\" name=\"moveupLink\" href=\"javascript:;\">' + lang.moveup + '</a>',\r\n\t\t\t'</div>',\r\n\t\t\t// right start\r\n\t\t\t'<div class=\"ke-right\">',\r\n\t\t\tlang.viewType + ' <select class=\"ke-inline-block\" name=\"viewType\">',\r\n\t\t\t'<option value=\"VIEW\">' + lang.viewImage + '</option>',\r\n\t\t\t'<option value=\"LIST\">' + lang.listImage + '</option>',\r\n\t\t\t'</select> ',\r\n\t\t\tlang.orderType + ' <select class=\"ke-inline-block\" name=\"orderType\">',\r\n\t\t\t'<option value=\"NAME\">' + lang.fileName + '</option>',\r\n\t\t\t'<option value=\"SIZE\">' + lang.fileSize + '</option>',\r\n\t\t\t'<option value=\"TYPE\">' + lang.fileType + '</option>',\r\n\t\t\t'</select>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-clearfix\"></div>',\r\n\t\t\t'</div>',\r\n\t\t\t// body start\r\n\t\t\t'<div class=\"ke-plugin-filemanager-body\"></div>',\r\n\t\t\t'</div>'\r\n\t\t].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : width,\r\n\t\t\theight : height,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html\r\n\t\t}),\r\n\t\tdiv = dialog.div,\r\n\t\tbodyDiv = K('.ke-plugin-filemanager-body', div),\r\n\t\tmoveupImg = K('[name=\"moveupImg\"]', div),\r\n\t\tmoveupLink = K('[name=\"moveupLink\"]', div),\r\n\t\tviewServerBtn = K('[name=\"viewServer\"]', div),\r\n\t\tviewTypeBox = K('[name=\"viewType\"]', div),\r\n\t\torderTypeBox = K('[name=\"orderType\"]', div);\r\n\t\tfunction reloadPage(path, order, func) {\r\n\t\t\tvar param = 'path=' + path + '&order=' + order + '&dir=' + dirName;\r\n\t\t\tdialog.showLoading(self.lang('ajaxLoading'));\r\n\t\t\tK.ajax(K.addParam(fileManagerJson, param + '&' + new Date().getTime()), function(data) {\r\n\t\t\t\tdialog.hideLoading();\r\n\t\t\t\tfunc(data);\r\n\t\t\t});\r\n\t\t}\r\n\t\tvar elList = [];\r\n\t\tfunction bindEvent(el, result, data, createFunc) {\r\n\t\t\tvar fileUrl = K.formatUrl(result.current_url + data.filename, 'absolute'),\r\n\t\t\t\tdirPath = encodeURIComponent(result.current_dir_path + data.filename + '/');\r\n\t\t\tif (data.is_dir) {\r\n\t\t\t\tel.click(function(e) {\r\n\t\t\t\t\treloadPage(dirPath, orderTypeBox.val(), createFunc);\r\n\t\t\t\t});\r\n\t\t\t} else if (data.is_photo) {\r\n\t\t\t\tel.click(function(e) {\r\n\t\t\t\t\tclickFn.call(this, fileUrl, data.filename);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tel.click(function(e) {\r\n\t\t\t\t\tclickFn.call(this, fileUrl, data.filename);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telList.push(el);\r\n\t\t}\r\n\t\tfunction createCommon(result, createFunc) {\r\n\t\t\t// remove events\r\n\t\t\tK.each(elList, function() {\r\n\t\t\t\tthis.unbind();\r\n\t\t\t});\r\n\t\t\tmoveupLink.unbind();\r\n\t\t\tviewTypeBox.unbind();\r\n\t\t\torderTypeBox.unbind();\r\n\t\t\t// add events\r\n\t\t\tif (result.current_dir_path) {\r\n\t\t\t\tmoveupLink.click(function(e) {\r\n\t\t\t\t\treloadPage(result.moveup_dir_path, orderTypeBox.val(), createFunc);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tfunction changeFunc() {\r\n\t\t\t\tif (viewTypeBox.val() == 'VIEW') {\r\n\t\t\t\t\treloadPage(result.current_dir_path, orderTypeBox.val(), createView);\r\n\t\t\t\t} else {\r\n\t\t\t\t\treloadPage(result.current_dir_path, orderTypeBox.val(), createList);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tviewTypeBox.change(changeFunc);\r\n\t\t\torderTypeBox.change(changeFunc);\r\n\t\t\tbodyDiv.html('');\r\n\t\t}\r\n\t\tfunction createList(result) {\r\n\t\t\tcreateCommon(result, createList);\r\n\t\t\tvar table = document.createElement('table');\r\n\t\t\ttable.className = 'ke-table';\r\n\t\t\ttable.cellPadding = 0;\r\n\t\t\ttable.cellSpacing = 0;\r\n\t\t\ttable.border = 0;\r\n\t\t\tbodyDiv.append(table);\r\n\t\t\tvar fileList = result.file_list;\r\n\t\t\tfor (var i = 0, len = fileList.length; i < len; i++) {\r\n\t\t\t\tvar data = fileList[i], row = K(table.insertRow(i));\r\n\t\t\t\trow.mouseover(function(e) {\r\n\t\t\t\t\tK(this).addClass('ke-on');\r\n\t\t\t\t})\r\n\t\t\t\t.mouseout(function(e) {\r\n\t\t\t\t\tK(this).removeClass('ke-on');\r\n\t\t\t\t});\r\n\t\t\t\tvar iconUrl = imgPath + (data.is_dir ? 'folder-16.gif' : 'file-16.gif'),\r\n\t\t\t\t\timg = K('<img src=\"' + iconUrl + '\" width=\"16\" height=\"16\" alt=\"' + data.filename + '\" align=\"absmiddle\" />'),\r\n\t\t\t\t\tcell0 = K(row[0].insertCell(0)).addClass('ke-cell ke-name').append(img).append(document.createTextNode(' ' + data.filename));\r\n\t\t\t\tif (!data.is_dir || data.has_file) {\r\n\t\t\t\t\trow.css('cursor', 'pointer');\r\n\t\t\t\t\tcell0.attr('title', data.filename);\r\n\t\t\t\t\tbindEvent(cell0, result, data, createList);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcell0.attr('title', lang.emptyFolder);\r\n\t\t\t\t}\r\n\t\t\t\tK(row[0].insertCell(1)).addClass('ke-cell ke-size').html(data.is_dir ? '-' : Math.ceil(data.filesize / 1024) + 'KB');\r\n\t\t\t\tK(row[0].insertCell(2)).addClass('ke-cell ke-datetime').html(data.datetime);\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction createView(result) {\r\n\t\t\tcreateCommon(result, createView);\r\n\t\t\tvar fileList = result.file_list;\r\n\t\t\tfor (var i = 0, len = fileList.length; i < len; i++) {\r\n\t\t\t\tvar data = fileList[i],\r\n\t\t\t\t\tdiv = K('<div class=\"ke-inline-block ke-item\"></div>');\r\n\t\t\t\tbodyDiv.append(div);\r\n\t\t\t\tvar photoDiv = K('<div class=\"ke-inline-block ke-photo\"></div>')\r\n\t\t\t\t\t.mouseover(function(e) {\r\n\t\t\t\t\t\tK(this).addClass('ke-on');\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.mouseout(function(e) {\r\n\t\t\t\t\t\tK(this).removeClass('ke-on');\r\n\t\t\t\t\t});\r\n\t\t\t\tdiv.append(photoDiv);\r\n\t\t\t\tvar fileUrl = result.current_url + data.filename,\r\n\t\t\t\t\ticonUrl = data.is_dir ? imgPath + 'folder-64.gif' : (data.is_photo ? fileUrl : imgPath + 'file-64.gif');\r\n\t\t\t\tvar img = K('<img src=\"' + iconUrl + '\" width=\"80\" height=\"80\" alt=\"' + data.filename + '\" />');\r\n\t\t\t\tif (!data.is_dir || data.has_file) {\r\n\t\t\t\t\tphotoDiv.css('cursor', 'pointer');\r\n\t\t\t\t\tbindTitle(photoDiv, data);\r\n\t\t\t\t\tbindEvent(photoDiv, result, data, createView);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tphotoDiv.attr('title', lang.emptyFolder);\r\n\t\t\t\t}\r\n\t\t\t\tphotoDiv.append(img);\r\n\t\t\t\tdiv.append('<div class=\"ke-name\" title=\"' + data.filename + '\">' + data.filename + '</div>');\r\n\t\t\t}\r\n\t\t}\r\n\t\tviewTypeBox.val(viewType);\r\n\t\treloadPage('', orderTypeBox.val(), viewType == 'VIEW' ? createView : createList);\r\n\t\treturn dialog;\r\n\t}\r\n\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('flash', function(K) {\r\n\tvar self = this, name = 'flash', lang = self.lang(name + '.'),\r\n\t\tallowFlashUpload = K.undef(self.allowFlashUpload, true),\r\n\t\tallowFileManager = K.undef(self.allowFileManager, false),\r\n\t\tformatUploadUrl = K.undef(self.formatUploadUrl, true),\r\n\t\textraParams = K.undef(self.extraFileUploadParams, {}),\r\n\t\tfilePostName = K.undef(self.filePostName, 'imgFile'),\r\n\t\tuploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php');\r\n\tself.plugin.flash = {\r\n\t\tedit : function() {\r\n\t\t\tvar html = [\r\n\t\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t\t//url\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keUrl\" style=\"width:60px;\">' + lang.url + '</label>',\r\n\t\t\t\t'<input class=\"ke-input-text\" type=\"text\" id=\"keUrl\" name=\"url\" value=\"\" style=\"width:160px;\" /> &nbsp;',\r\n\t\t\t\t'<input type=\"button\" class=\"ke-upload-button\" value=\"' + lang.upload + '\" /> &nbsp;',\r\n\t\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"' + lang.viewServer + '\" />',\r\n\t\t\t\t'</span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//width\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keWidth\" style=\"width:60px;\">' + lang.width + '</label>',\r\n\t\t\t\t'<input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"550\" maxlength=\"4\" /> ',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//height\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keHeight\" style=\"width:60px;\">' + lang.height + '</label>',\r\n\t\t\t\t'<input type=\"text\" id=\"keHeight\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"400\" maxlength=\"4\" /> ',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'</div>'\r\n\t\t\t].join('');\r\n\t\t\tvar dialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 450,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar url = K.trim(urlBox.val()),\r\n\t\t\t\t\t\t\twidth = widthBox.val(),\r\n\t\t\t\t\t\t\theight = heightBox.val();\r\n\t\t\t\t\t\tif (url == 'http://' || K.invalidUrl(url)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidUrl'));\r\n\t\t\t\t\t\t\turlBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(width)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidWidth'));\r\n\t\t\t\t\t\t\twidthBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(height)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidHeight'));\r\n\t\t\t\t\t\t\theightBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvar html = K.mediaImg(self.themesPath + 'common/blank.gif', {\r\n\t\t\t\t\t\t\t\tsrc : url,\r\n\t\t\t\t\t\t\t\ttype : K.mediaType('.swf'),\r\n\t\t\t\t\t\t\t\twidth : width,\r\n\t\t\t\t\t\t\t\theight : height,\r\n\t\t\t\t\t\t\t\tquality : 'high'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\tself.insertHtml(html).hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdiv = dialog.div,\r\n\t\t\turlBox = K('[name=\"url\"]', div),\r\n\t\t\tviewServerBtn = K('[name=\"viewServer\"]', div),\r\n\t\t\twidthBox = K('[name=\"width\"]', div),\r\n\t\t\theightBox = K('[name=\"height\"]', div);\r\n\t\t\turlBox.val('http://');\r\n\r\n\t\t\tif (allowFlashUpload) {\r\n\t\t\t\tvar uploadbutton = K.uploadbutton({\r\n\t\t\t\t\tbutton : K('.ke-upload-button', div)[0],\r\n\t\t\t\t\tfieldName : filePostName,\r\n\t\t\t\t\textraParams : extraParams,\r\n\t\t\t\t\turl : K.addParam(uploadJson, 'dir=flash'),\r\n\t\t\t\t\tafterUpload : function(data) {\r\n\t\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\t\tif (data.error === 0) {\r\n\t\t\t\t\t\t\tvar url = data.url;\r\n\t\t\t\t\t\t\tif (formatUploadUrl) {\r\n\t\t\t\t\t\t\t\turl = K.formatUrl(url, 'absolute');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\turlBox.val(url);\r\n\t\t\t\t\t\t\tif (self.afterUpload) {\r\n\t\t\t\t\t\t\t\tself.afterUpload.call(self, url, data, name);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\talert(self.lang('uploadSuccess'));\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\talert(data.message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tafterError : function(html) {\r\n\t\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\t\tself.errorDialog(html);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tuploadbutton.fileBox.change(function(e) {\r\n\t\t\t\t\tdialog.showLoading(self.lang('uploadLoading'));\r\n\t\t\t\t\tuploadbutton.submit();\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tK('.ke-upload-button', div).hide();\r\n\t\t\t}\r\n\r\n\t\t\tif (allowFileManager) {\r\n\t\t\t\tviewServerBtn.click(function(e) {\r\n\t\t\t\t\tself.loadPlugin('filemanager', function() {\r\n\t\t\t\t\t\tself.plugin.filemanagerDialog({\r\n\t\t\t\t\t\t\tviewType : 'LIST',\r\n\t\t\t\t\t\t\tdirName : 'flash',\r\n\t\t\t\t\t\t\tclickFn : function(url, title) {\r\n\t\t\t\t\t\t\t\tif (self.dialogs.length > 1) {\r\n\t\t\t\t\t\t\t\t\tK('[name=\"url\"]', div).val(url);\r\n\t\t\t\t\t\t\t\t\tif (self.afterSelectFile) {\r\n\t\t\t\t\t\t\t\t\t\tself.afterSelectFile.call(self, url);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tself.hideDialog();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tviewServerBtn.hide();\r\n\t\t\t}\r\n\r\n\t\t\tvar img = self.plugin.getSelectedFlash();\r\n\t\t\tif (img) {\r\n\t\t\t\tvar attrs = K.mediaAttrs(img.attr('data-ke-tag'));\r\n\t\t\t\turlBox.val(attrs.src);\r\n\t\t\t\twidthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0);\r\n\t\t\t\theightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0);\r\n\t\t\t}\r\n\t\t\turlBox[0].focus();\r\n\t\t\turlBox[0].select();\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tself.plugin.getSelectedFlash().remove();\r\n\t\t\t// [IE] 删除图片后立即点击图片按钮出错\r\n\t\t\tself.addBookmark();\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.flash.edit);\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('image', function(K) {\r\n\tvar self = this, name = 'image',\r\n\t\tallowImageUpload = K.undef(self.allowImageUpload, true),\r\n\t\tallowImageRemote = K.undef(self.allowImageRemote, true),\r\n\t\tformatUploadUrl = K.undef(self.formatUploadUrl, true),\r\n\t\tallowFileManager = K.undef(self.allowFileManager, false),\r\n\t\tuploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'),\r\n\t\timageTabIndex = K.undef(self.imageTabIndex, 0),\r\n\t\timgPath = self.pluginsPath + 'image/images/',\r\n\t\textraParams = K.undef(self.extraFileUploadParams, {}),\r\n\t\tfilePostName = K.undef(self.filePostName, 'imgFile'),\r\n\t\tfillDescAfterUploadImage = K.undef(self.fillDescAfterUploadImage, false),\r\n\t\tlang = self.lang(name + '.');\r\n\r\n\tself.plugin.imageDialog = function(options) {\r\n\t\tvar imageUrl = options.imageUrl,\r\n\t\t\timageWidth = K.undef(options.imageWidth, ''),\r\n\t\t\timageHeight = K.undef(options.imageHeight, ''),\r\n\t\t\timageTitle = K.undef(options.imageTitle, ''),\r\n\t\t\timageAlign = K.undef(options.imageAlign, ''),\r\n\t\t\tshowRemote = K.undef(options.showRemote, true),\r\n\t\t\tshowLocal = K.undef(options.showLocal, true),\r\n\t\t\ttabIndex = K.undef(options.tabIndex, 0),\r\n\t\t\tclickFn = options.clickFn;\r\n\t\tvar target = 'kindeditor_upload_iframe_' + new Date().getTime();\r\n\t\tvar hiddenElements = [];\r\n\t\tfor(var k in extraParams){\r\n\t\t\thiddenElements.push('<input type=\"hidden\" name=\"' + k + '\" value=\"' + extraParams[k] + '\" />');\r\n\t\t}\r\n\t\tvar html = [\r\n\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t//tabs\r\n\t\t\t'<div class=\"tabs\"></div>',\r\n\t\t\t//remote image - start\r\n\t\t\t'<div class=\"tab1\" style=\"display:none;\">',\r\n\t\t\t//url\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label for=\"remoteUrl\" style=\"width:60px;\">' + lang.remoteUrl + '</label>',\r\n\t\t\t'<input type=\"text\" id=\"remoteUrl\" class=\"ke-input-text\" name=\"url\" value=\"\" style=\"width:200px;\" /> &nbsp;',\r\n\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"' + lang.viewServer + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'</div>',\r\n\t\t\t//size\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label for=\"remoteWidth\" style=\"width:60px;\">' + lang.size + '</label>',\r\n\t\t\tlang.width + ' <input type=\"text\" id=\"remoteWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"\" maxlength=\"4\" /> ',\r\n\t\t\tlang.height + ' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"\" maxlength=\"4\" /> ',\r\n\t\t\t'<img class=\"ke-refresh-btn\" src=\"' + imgPath + 'refresh.png\" width=\"16\" height=\"16\" alt=\"\" style=\"cursor:pointer;\" title=\"' + lang.resetSize + '\" />',\r\n\t\t\t'</div>',\r\n\t\t\t//align\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label style=\"width:60px;\">' + lang.align + '</label>',\r\n\t\t\t'<input type=\"radio\" name=\"align\" class=\"ke-inline-block\" value=\"\" checked=\"checked\" /> <img name=\"defaultImg\" src=\"' + imgPath + 'align_top.gif\" width=\"23\" height=\"25\" alt=\"\" />',\r\n\t\t\t' <input type=\"radio\" name=\"align\" class=\"ke-inline-block\" value=\"left\" /> <img name=\"leftImg\" src=\"' + imgPath + 'align_left.gif\" width=\"23\" height=\"25\" alt=\"\" />',\r\n\t\t\t' <input type=\"radio\" name=\"align\" class=\"ke-inline-block\" value=\"right\" /> <img name=\"rightImg\" src=\"' + imgPath + 'align_right.gif\" width=\"23\" height=\"25\" alt=\"\" />',\r\n\t\t\t'</div>',\r\n\t\t\t//title\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label for=\"remoteTitle\" style=\"width:60px;\">' + lang.imgTitle + '</label>',\r\n\t\t\t'<input type=\"text\" id=\"remoteTitle\" class=\"ke-input-text\" name=\"title\" value=\"\" style=\"width:200px;\" />',\r\n\t\t\t'</div>',\r\n\t\t\t'</div>',\r\n\t\t\t//remote image - end\r\n\t\t\t//local upload - start\r\n\t\t\t'<div class=\"tab2\" style=\"display:none;\">',\r\n\t\t\t'<iframe name=\"' + target + '\" style=\"display:none;\"></iframe>',\r\n\t\t\t'<form class=\"ke-upload-area ke-form\" method=\"post\" enctype=\"multipart/form-data\" target=\"' + target + '\" action=\"' + K.addParam(uploadJson, 'dir=image') + '\">',\r\n\t\t\t//file\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\thiddenElements.join(''),\r\n\t\t\t'<label style=\"width:60px;\">' + lang.localUrl + '</label>',\r\n\t\t\t'<input type=\"text\" name=\"localUrl\" class=\"ke-input-text\" tabindex=\"-1\" style=\"width:200px;\" readonly=\"true\" /> &nbsp;',\r\n\t\t\t'<input type=\"button\" class=\"ke-upload-button\" value=\"' + lang.upload + '\" />',\r\n\t\t\t'</div>',\r\n\t\t\t'</form>',\r\n\t\t\t'</div>',\r\n\t\t\t//local upload - end\r\n\t\t\t'</div>'\r\n\t\t].join('');\r\n\t\tvar dialogWidth = showLocal || allowFileManager ? 450 : 400,\r\n\t\t\tdialogHeight = showLocal && showRemote ? 300 : 250;\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : dialogWidth,\r\n\t\t\theight : dialogHeight,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t// Bugfix: http://code.google.com/p/kindeditor/issues/detail?id=319\r\n\t\t\t\t\tif (dialog.isLoading) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// insert local image\r\n\t\t\t\t\tif (showLocal && showRemote && tabs && tabs.selectedIndex === 1 || !showRemote) {\r\n\t\t\t\t\t\tif (uploadbutton.fileBox.val() == '') {\r\n\t\t\t\t\t\t\talert(self.lang('pleaseSelectFile'));\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tdialog.showLoading(self.lang('uploadLoading'));\r\n\t\t\t\t\t\tuploadbutton.submit();\r\n\t\t\t\t\t\tlocalUrlBox.val('');\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// insert remote image\r\n\t\t\t\t\tvar url = K.trim(urlBox.val()),\r\n\t\t\t\t\t\twidth = widthBox.val(),\r\n\t\t\t\t\t\theight = heightBox.val(),\r\n\t\t\t\t\t\ttitle = titleBox.val(),\r\n\t\t\t\t\t\talign = '';\r\n\t\t\t\t\talignBox.each(function() {\r\n\t\t\t\t\t\tif (this.checked) {\r\n\t\t\t\t\t\t\talign = this.value;\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (url == 'http://' || K.invalidUrl(url)) {\r\n\t\t\t\t\t\talert(self.lang('invalidUrl'));\r\n\t\t\t\t\t\turlBox[0].focus();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!/^\\d*$/.test(width)) {\r\n\t\t\t\t\t\talert(self.lang('invalidWidth'));\r\n\t\t\t\t\t\twidthBox[0].focus();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!/^\\d*$/.test(height)) {\r\n\t\t\t\t\t\talert(self.lang('invalidHeight'));\r\n\t\t\t\t\t\theightBox[0].focus();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tclickFn.call(self, url, title, width, height, 0, align);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tbeforeRemove : function() {\r\n\t\t\t\tviewServerBtn.unbind();\r\n\t\t\t\twidthBox.unbind();\r\n\t\t\t\theightBox.unbind();\r\n\t\t\t\trefreshBtn.unbind();\r\n\t\t\t}\r\n\t\t}),\r\n\t\tdiv = dialog.div;\r\n\r\n\t\tvar urlBox = K('[name=\"url\"]', div),\r\n\t\t\tlocalUrlBox = K('[name=\"localUrl\"]', div),\r\n\t\t\tviewServerBtn = K('[name=\"viewServer\"]', div),\r\n\t\t\twidthBox = K('.tab1 [name=\"width\"]', div),\r\n\t\t\theightBox = K('.tab1 [name=\"height\"]', div),\r\n\t\t\trefreshBtn = K('.ke-refresh-btn', div),\r\n\t\t\ttitleBox = K('.tab1 [name=\"title\"]', div),\r\n\t\t\talignBox = K('.tab1 [name=\"align\"]', div);\r\n\r\n\t\tvar tabs;\r\n\t\tif (showRemote && showLocal) {\r\n\t\t\ttabs = K.tabs({\r\n\t\t\t\tsrc : K('.tabs', div),\r\n\t\t\t\tafterSelect : function(i) {}\r\n\t\t\t});\r\n\t\t\ttabs.add({\r\n\t\t\t\ttitle : lang.remoteImage,\r\n\t\t\t\tpanel : K('.tab1', div)\r\n\t\t\t});\r\n\t\t\ttabs.add({\r\n\t\t\t\ttitle : lang.localImage,\r\n\t\t\t\tpanel : K('.tab2', div)\r\n\t\t\t});\r\n\t\t\ttabs.select(tabIndex);\r\n\t\t} else if (showRemote) {\r\n\t\t\tK('.tab1', div).show();\r\n\t\t} else if (showLocal) {\r\n\t\t\tK('.tab2', div).show();\r\n\t\t}\r\n\r\n\t\tvar uploadbutton = K.uploadbutton({\r\n\t\t\tbutton : K('.ke-upload-button', div)[0],\r\n\t\t\tfieldName : filePostName,\r\n\t\t\tform : K('.ke-form', div),\r\n\t\t\ttarget : target,\r\n\t\t\twidth: 60,\r\n\t\t\tafterUpload : function(data) {\r\n\t\t\t\tdialog.hideLoading();\r\n\t\t\t\tif (data.error === 0) {\r\n\t\t\t\t\tvar url = data.url;\r\n\t\t\t\t\tif (formatUploadUrl) {\r\n\t\t\t\t\t\turl = K.formatUrl(url, 'absolute');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (self.afterUpload) {\r\n\t\t\t\t\t\tself.afterUpload.call(self, url, data, name);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!fillDescAfterUploadImage) {\r\n\t\t\t\t\t\tclickFn.call(self, url, data.title, data.width, data.height, data.border, data.align);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tK(\".ke-dialog-row #remoteUrl\", div).val(url);\r\n\t\t\t\t\t\tK(\".ke-tabs-li\", div)[0].click();\r\n\t\t\t\t\t\tK(\".ke-refresh-btn\", div).click();\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\talert(data.message);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tafterError : function(html) {\r\n\t\t\t\tdialog.hideLoading();\r\n\t\t\t\tself.errorDialog(html);\r\n\t\t\t}\r\n\t\t});\r\n\t\tuploadbutton.fileBox.change(function(e) {\r\n\t\t\tlocalUrlBox.val(uploadbutton.fileBox.val());\r\n\t\t});\r\n\t\tif (allowFileManager) {\r\n\t\t\tviewServerBtn.click(function(e) {\r\n\t\t\t\tself.loadPlugin('filemanager', function() {\r\n\t\t\t\t\tself.plugin.filemanagerDialog({\r\n\t\t\t\t\t\tviewType : 'VIEW',\r\n\t\t\t\t\t\tdirName : 'image',\r\n\t\t\t\t\t\tclickFn : function(url, title) {\r\n\t\t\t\t\t\t\tif (self.dialogs.length > 1) {\r\n\t\t\t\t\t\t\t\tK('[name=\"url\"]', div).val(url);\r\n\t\t\t\t\t\t\t\tif (self.afterSelectFile) {\r\n\t\t\t\t\t\t\t\t\tself.afterSelectFile.call(self, url);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tself.hideDialog();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tviewServerBtn.hide();\r\n\t\t}\r\n\t\tvar originalWidth = 0, originalHeight = 0;\r\n\t\tfunction setSize(width, height) {\r\n\t\t\twidthBox.val(width);\r\n\t\t\theightBox.val(height);\r\n\t\t\toriginalWidth = width;\r\n\t\t\toriginalHeight = height;\r\n\t\t}\r\n\t\trefreshBtn.click(function(e) {\r\n\t\t\tvar tempImg = K('<img src=\"' + urlBox.val() + '\" />', document).css({\r\n\t\t\t\tposition : 'absolute',\r\n\t\t\t\tvisibility : 'hidden',\r\n\t\t\t\ttop : 0,\r\n\t\t\t\tleft : '-1000px'\r\n\t\t\t});\r\n\t\t\ttempImg.bind('load', function() {\r\n\t\t\t\tsetSize(tempImg.width(), tempImg.height());\r\n\t\t\t\ttempImg.remove();\r\n\t\t\t});\r\n\t\t\tK(document.body).append(tempImg);\r\n\t\t});\r\n\t\twidthBox.change(function(e) {\r\n\t\t\tif (originalWidth > 0) {\r\n\t\t\t\theightBox.val(Math.round(originalHeight / originalWidth * parseInt(this.value, 10)));\r\n\t\t\t}\r\n\t\t});\r\n\t\theightBox.change(function(e) {\r\n\t\t\tif (originalHeight > 0) {\r\n\t\t\t\twidthBox.val(Math.round(originalWidth / originalHeight * parseInt(this.value, 10)));\r\n\t\t\t}\r\n\t\t});\r\n\t\turlBox.val(options.imageUrl);\r\n\t\tsetSize(options.imageWidth, options.imageHeight);\r\n\t\ttitleBox.val(options.imageTitle);\r\n\t\talignBox.each(function() {\r\n\t\t\tif (this.value === options.imageAlign) {\r\n\t\t\t\tthis.checked = true;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (showRemote && tabIndex === 0) {\r\n\t\t\turlBox[0].focus();\r\n\t\t\turlBox[0].select();\r\n\t\t}\r\n\t\treturn dialog;\r\n\t};\r\n\tself.plugin.image = {\r\n\t\tedit : function() {\r\n\t\t\tvar img = self.plugin.getSelectedImage();\r\n\t\t\tself.plugin.imageDialog({\r\n\t\t\t\timageUrl : img ? img.attr('data-ke-src') : 'http://',\r\n\t\t\t\timageWidth : img ? img.width() : '',\r\n\t\t\t\timageHeight : img ? img.height() : '',\r\n\t\t\t\timageTitle : img ? img.attr('title') : '',\r\n\t\t\t\timageAlign : img ? img.attr('align') : '',\r\n\t\t\t\tshowRemote : allowImageRemote,\r\n\t\t\t\tshowLocal : allowImageUpload,\r\n\t\t\t\ttabIndex: img ? 0 : imageTabIndex,\r\n\t\t\t\tclickFn : function(url, title, width, height, border, align) {\r\n\t\t\t\t\tif (img) {\r\n\t\t\t\t\t\timg.attr('src', url);\r\n\t\t\t\t\t\timg.attr('data-ke-src', url);\r\n\t\t\t\t\t\timg.attr('width', width);\r\n\t\t\t\t\t\timg.attr('height', height);\r\n\t\t\t\t\t\timg.attr('title', title);\r\n\t\t\t\t\t\timg.attr('align', align);\r\n\t\t\t\t\t\timg.attr('alt', title);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tself.exec('insertimage', url, title, width, height, border, align);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Bugfix: [Firefox] 上传图片后，总是出现正在加载的样式，需要延迟执行hideDialog\r\n\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\tself.hideDialog().focus();\r\n\t\t\t\t\t}, 0);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tvar target = self.plugin.getSelectedImage();\r\n\t\t\tif (target.parent().name == 'a') {\r\n\t\t\t\ttarget = target.parent();\r\n\t\t\t}\r\n\t\t\ttarget.remove();\r\n\t\t\t// [IE] 删除图片后立即点击图片按钮出错\r\n\t\t\tself.addBookmark();\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.image.edit);\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('insertfile', function(K) {\r\n\tvar self = this, name = 'insertfile',\r\n\t\tallowFileUpload = K.undef(self.allowFileUpload, true),\r\n\t\tallowFileManager = K.undef(self.allowFileManager, false),\r\n\t\tformatUploadUrl = K.undef(self.formatUploadUrl, true),\r\n\t\tuploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'),\r\n\t\textraParams = K.undef(self.extraFileUploadParams, {}),\r\n\t\tfilePostName = K.undef(self.filePostName, 'imgFile'),\r\n\t\tlang = self.lang(name + '.');\r\n\tself.plugin.fileDialog = function(options) {\r\n\t\tvar fileUrl = K.undef(options.fileUrl, 'http://'),\r\n\t\t\tfileTitle = K.undef(options.fileTitle, ''),\r\n\t\t\tclickFn = options.clickFn;\r\n\t\tvar html = [\r\n\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label for=\"keUrl\" style=\"width:60px;\">' + lang.url + '</label>',\r\n\t\t\t'<input type=\"text\" id=\"keUrl\" name=\"url\" class=\"ke-input-text\" style=\"width:160px;\" /> &nbsp;',\r\n\t\t\t'<input type=\"button\" class=\"ke-upload-button\" value=\"' + lang.upload + '\" /> &nbsp;',\r\n\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"' + lang.viewServer + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'</div>',\r\n\t\t\t//title\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label for=\"keTitle\" style=\"width:60px;\">' + lang.title + '</label>',\r\n\t\t\t'<input type=\"text\" id=\"keTitle\" class=\"ke-input-text\" name=\"title\" value=\"\" style=\"width:160px;\" /></div>',\r\n\t\t\t'</div>',\r\n\t\t\t//form end\r\n\t\t\t'</form>',\r\n\t\t\t'</div>'\r\n\t\t\t].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : 450,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tvar url = K.trim(urlBox.val()),\r\n\t\t\t\t\t\ttitle = titleBox.val();\r\n\t\t\t\t\tif (url == 'http://' || K.invalidUrl(url)) {\r\n\t\t\t\t\t\talert(self.lang('invalidUrl'));\r\n\t\t\t\t\t\turlBox[0].focus();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (K.trim(title) === '') {\r\n\t\t\t\t\t\ttitle = url;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tclickFn.call(self, url, title);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}),\r\n\t\tdiv = dialog.div;\r\n\r\n\t\tvar urlBox = K('[name=\"url\"]', div),\r\n\t\t\tviewServerBtn = K('[name=\"viewServer\"]', div),\r\n\t\t\ttitleBox = K('[name=\"title\"]', div);\r\n\r\n\t\tif (allowFileUpload) {\r\n\t\t\tvar uploadbutton = K.uploadbutton({\r\n\t\t\t\tbutton : K('.ke-upload-button', div)[0],\r\n\t\t\t\tfieldName : filePostName,\r\n\t\t\t\turl : K.addParam(uploadJson, 'dir=file'),\r\n\t\t\t\textraParams : extraParams,\r\n\t\t\t\tafterUpload : function(data) {\r\n\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\tif (data.error === 0) {\r\n\t\t\t\t\t\tvar url = data.url;\r\n\t\t\t\t\t\tif (formatUploadUrl) {\r\n\t\t\t\t\t\t\turl = K.formatUrl(url, 'absolute');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\turlBox.val(url);\r\n\t\t\t\t\t\tif (self.afterUpload) {\r\n\t\t\t\t\t\t\tself.afterUpload.call(self, url, data, name);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\talert(self.lang('uploadSuccess'));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\talert(data.message);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tafterError : function(html) {\r\n\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\tself.errorDialog(html);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tuploadbutton.fileBox.change(function(e) {\r\n\t\t\t\tdialog.showLoading(self.lang('uploadLoading'));\r\n\t\t\t\tuploadbutton.submit();\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tK('.ke-upload-button', div).hide();\r\n\t\t}\r\n\t\tif (allowFileManager) {\r\n\t\t\tviewServerBtn.click(function(e) {\r\n\t\t\t\tself.loadPlugin('filemanager', function() {\r\n\t\t\t\t\tself.plugin.filemanagerDialog({\r\n\t\t\t\t\t\tviewType : 'LIST',\r\n\t\t\t\t\t\tdirName : 'file',\r\n\t\t\t\t\t\tclickFn : function(url, title) {\r\n\t\t\t\t\t\t\tif (self.dialogs.length > 1) {\r\n\t\t\t\t\t\t\t\tK('[name=\"url\"]', div).val(url);\r\n\t\t\t\t\t\t\t\tif (self.afterSelectFile) {\r\n\t\t\t\t\t\t\t\t\tself.afterSelectFile.call(self, url);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tself.hideDialog();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tviewServerBtn.hide();\r\n\t\t}\r\n\t\turlBox.val(fileUrl);\r\n\t\ttitleBox.val(fileTitle);\r\n\t\turlBox[0].focus();\r\n\t\turlBox[0].select();\r\n\t};\r\n\tself.clickToolbar(name, function() {\r\n\t\tself.plugin.fileDialog({\r\n\t\t\tclickFn : function(url, title) {\r\n\t\t\t\tvar html = '<a class=\"ke-insertfile\" href=\"' + url + '\" data-ke-src=\"' + url + '\" target=\"_blank\">' + title + '</a>';\r\n\t\t\t\tself.insertHtml(html).hideDialog().focus();\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('lineheight', function(K) {\r\n\tvar self = this, name = 'lineheight', lang = self.lang(name + '.');\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar curVal = '', commonNode = self.cmd.commonNode({'*' : '.line-height'});\r\n\t\tif (commonNode) {\r\n\t\t\tcurVal = commonNode.css('line-height');\r\n\t\t}\r\n\t\tvar menu = self.createMenu({\r\n\t\t\tname : name,\r\n\t\t\twidth : 150\r\n\t\t});\r\n\t\tK.each(lang.lineHeight, function(i, row) {\r\n\t\t\tK.each(row, function(key, val) {\r\n\t\t\t\tmenu.addItem({\r\n\t\t\t\t\ttitle : val,\r\n\t\t\t\t\tchecked : curVal === key,\r\n\t\t\t\t\tclick : function() {\r\n\t\t\t\t\t\tself.cmd.toggle('<span style=\"line-height:' + key + ';\"></span>', {\r\n\t\t\t\t\t\t\tspan : '.line-height=' + key\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tself.updateState();\r\n\t\t\t\t\t\tself.addBookmark();\r\n\t\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('link', function(K) {\r\n\tvar self = this, name = 'link';\r\n\tself.plugin.link = {\r\n\t\tedit : function() {\r\n\t\t\tvar lang = self.lang(name + '.'),\r\n\t\t\t\thtml = '<div style=\"padding:20px;\">' +\r\n\t\t\t\t\t//url\r\n\t\t\t\t\t'<div class=\"ke-dialog-row\">' +\r\n\t\t\t\t\t'<label for=\"keUrl\" style=\"width:60px;\">' + lang.url + '</label>' +\r\n\t\t\t\t\t'<input class=\"ke-input-text\" type=\"text\" id=\"keUrl\" name=\"url\" value=\"\" style=\"width:260px;\" /></div>' +\r\n\t\t\t\t\t//type\r\n\t\t\t\t\t'<div class=\"ke-dialog-row\"\">' +\r\n\t\t\t\t\t'<label for=\"keType\" style=\"width:60px;\">' + lang.linkType + '</label>' +\r\n\t\t\t\t\t'<select id=\"keType\" name=\"type\"></select>' +\r\n\t\t\t\t\t'</div>' +\r\n\t\t\t\t\t'</div>',\r\n\t\t\t\tdialog = self.createDialog({\r\n\t\t\t\t\tname : name,\r\n\t\t\t\t\twidth : 450,\r\n\t\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\t\tbody : html,\r\n\t\t\t\t\tyesBtn : {\r\n\t\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\t\tvar url = K.trim(urlBox.val());\r\n\t\t\t\t\t\t\tif (url == 'http://' || K.invalidUrl(url)) {\r\n\t\t\t\t\t\t\t\talert(self.lang('invalidUrl'));\r\n\t\t\t\t\t\t\t\turlBox[0].focus();\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tself.exec('createlink', url, typeBox.val()).hideDialog().focus();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tdiv = dialog.div,\r\n\t\t\t\turlBox = K('input[name=\"url\"]', div),\r\n\t\t\t\ttypeBox = K('select[name=\"type\"]', div);\r\n\t\t\turlBox.val('http://');\r\n\t\t\ttypeBox[0].options[0] = new Option(lang.newWindow, '_blank');\r\n\t\t\ttypeBox[0].options[1] = new Option(lang.selfWindow, '');\r\n\t\t\tself.cmd.selection();\r\n\t\t\tvar a = self.plugin.getSelectedLink();\r\n\t\t\tif (a) {\r\n\t\t\t\tself.cmd.range.selectNode(a[0]);\r\n\t\t\t\tself.cmd.select();\r\n\t\t\t\turlBox.val(a.attr('data-ke-src'));\r\n\t\t\t\ttypeBox.val(a.attr('target'));\r\n\t\t\t}\r\n\t\t\turlBox[0].focus();\r\n\t\t\turlBox[0].select();\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tself.exec('unlink', null);\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.link.edit);\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\n// Google Maps: http://code.google.com/apis/maps/index.html\r\n\r\nKindEditor.plugin('map', function(K) {\r\n\tvar self = this, name = 'map', lang = self.lang(name + '.');\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar html = ['<div style=\"padding:10px 20px;\">',\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\tlang.address + ' <input id=\"kindeditor_plugin_map_address\" name=\"address\" class=\"ke-input-text\" value=\"\" style=\"width:200px;\" /> ',\r\n\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t'<input type=\"button\" name=\"searchBtn\" class=\"ke-button-common ke-button\" value=\"' + lang.search + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-map\" style=\"width:558px;height:360px;\"></div>',\r\n\t\t\t'</div>'].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : 600,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tvar geocoder = win.geocoder,\r\n\t\t\t\t\t\tmap = win.map,\r\n\t\t\t\t\t\tcenter = map.getCenter().lat() + ',' + map.getCenter().lng(),\r\n\t\t\t\t\t\tzoom = map.getZoom(),\r\n\t\t\t\t\t\tmaptype = map.getMapTypeId(),\r\n\t\t\t\t\t\turl = 'http://maps.googleapis.com/maps/api/staticmap';\r\n\t\t\t\t\t\turl += '?center=' + encodeURIComponent(center);\r\n\t\t\t\t\t\turl += '&zoom=' + encodeURIComponent(zoom);\r\n\t\t\t\t\t\turl += '&size=558x360';\r\n\t\t\t\t\t\turl += '&maptype=' + encodeURIComponent(maptype);\r\n\t\t\t\t\t\turl += '&markers=' + encodeURIComponent(center);\r\n\t\t\t\t\t\turl += '&language=' + self.langType;\r\n\t\t\t\t\t\turl += '&sensor=false';\r\n\t\t\t\t\tself.exec('insertimage', url).hideDialog().focus();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tbeforeRemove : function() {\r\n\t\t\t\tsearchBtn.remove();\r\n\t\t\t\tif (doc) {\r\n\t\t\t\t\tdoc.write('');\r\n\t\t\t\t}\r\n\t\t\t\tiframe.remove();\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar div = dialog.div,\r\n\t\t\taddressBox = K('[name=\"address\"]', div),\r\n\t\t\tsearchBtn = K('[name=\"searchBtn\"]', div),\r\n\t\t\twin, doc;\r\n\t\tvar iframeHtml = ['<!doctype html><html><head>',\r\n\t\t\t'<meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\" />',\r\n\t\t\t'<style>',\r\n\t\t\t'\thtml { height: 100% }',\r\n\t\t\t'\tbody { height: 100%; margin: 0; padding: 0; background-color: #FFF }',\r\n\t\t\t'\t#map_canvas { height: 100% }',\r\n\t\t\t'</style>',\r\n\t\t\t'<script src=\"http://maps.googleapis.com/maps/api/js?sensor=false&language=' + self.langType + '\"></script>',\r\n\t\t\t'<script>',\r\n\t\t\t'var map, geocoder;',\r\n\t\t\t'function initialize() {',\r\n\t\t\t'\tvar latlng = new google.maps.LatLng(31.230393, 121.473704);',\r\n\t\t\t'\tvar options = {',\r\n\t\t\t'\t\tzoom: 11,',\r\n\t\t\t'\t\tcenter: latlng,',\r\n\t\t\t'\t\tdisableDefaultUI: true,',\r\n\t\t\t'\t\tpanControl: true,',\r\n\t\t\t'\t\tzoomControl: true,',\r\n\t\t\t'\t\tmapTypeControl: true,',\r\n\t\t\t'\t\tscaleControl: true,',\r\n\t\t\t'\t\tstreetViewControl: false,',\r\n\t\t\t'\t\toverviewMapControl: true,',\r\n\t\t\t'\t\tmapTypeId: google.maps.MapTypeId.ROADMAP',\r\n\t\t\t'\t};',\r\n\t\t\t'\tmap = new google.maps.Map(document.getElementById(\"map_canvas\"), options);',\r\n\t\t\t'\tgeocoder = new google.maps.Geocoder();',\r\n\t\t\t'\tgeocoder.geocode({latLng: latlng}, function(results, status) {',\r\n\t\t\t'\t\tif (status == google.maps.GeocoderStatus.OK) {',\r\n\t\t\t'\t\t\tif (results[3]) {',\r\n\t\t\t'\t\t\t\tparent.document.getElementById(\"kindeditor_plugin_map_address\").value = results[3].formatted_address;',\r\n\t\t\t'\t\t\t}',\r\n\t\t\t'\t\t}',\r\n\t\t\t'\t});',\r\n\t\t\t'}',\r\n\t\t\t'function search(address) {',\r\n\t\t\t'\tif (!map) return;',\r\n\t\t\t'\tgeocoder.geocode({address : address}, function(results, status) {',\r\n\t\t\t'\t\tif (status == google.maps.GeocoderStatus.OK) {',\r\n\t\t\t'\t\t\tmap.setZoom(11);',\r\n\t\t\t'\t\t\tmap.setCenter(results[0].geometry.location);',\r\n\t\t\t'\t\t\tvar marker = new google.maps.Marker({',\r\n\t\t\t'\t\t\t\tmap: map,',\r\n\t\t\t'\t\t\t\tposition: results[0].geometry.location',\r\n\t\t\t'\t\t\t});',\r\n\t\t\t'\t\t} else {',\r\n\t\t\t'\t\t\talert(\"Invalid address: \" + address);',\r\n\t\t\t'\t\t}',\r\n\t\t\t'\t});',\r\n\t\t\t'}',\r\n\t\t\t'</script>',\r\n\t\t\t'</head>',\r\n\t\t\t'<body onload=\"initialize();\">',\r\n\t\t\t'<div id=\"map_canvas\" style=\"width:100%; height:100%\"></div>',\r\n\t\t\t'</body></html>'].join('\\n');\r\n\t\t// TODO：用doc.write(iframeHtml)方式加载时，在IE6上第一次加载报错，暂时使用src方式\r\n\t\tvar iframe = K('<iframe class=\"ke-textarea\" frameborder=\"0\" src=\"' + self.pluginsPath + 'map/map.html\" style=\"width:558px;height:360px;\"></iframe>');\r\n\t\tfunction ready() {\r\n\t\t\twin = iframe[0].contentWindow;\r\n\t\t\tdoc = K.iframeDoc(iframe);\r\n\t\t\t//doc.open();\r\n\t\t\t//doc.write(iframeHtml);\r\n\t\t\t//doc.close();\r\n\t\t}\r\n\t\tiframe.bind('load', function() {\r\n\t\t\tiframe.unbind('load');\r\n\t\t\tif (K.IE) {\r\n\t\t\t\tready();\r\n\t\t\t} else {\r\n\t\t\t\tsetTimeout(ready, 0);\r\n\t\t\t}\r\n\t\t});\r\n\t\tK('.ke-map', div).replaceWith(iframe);\r\n\t\t// search map\r\n\t\tsearchBtn.click(function() {\r\n\t\t\twin.search(addressBox.val());\r\n\t\t});\r\n\t});\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('media', function(K) {\r\n\tvar self = this, name = 'media', lang = self.lang(name + '.'),\r\n\t\tallowMediaUpload = K.undef(self.allowMediaUpload, true),\r\n\t\tallowFileManager = K.undef(self.allowFileManager, false),\r\n\t\tformatUploadUrl = K.undef(self.formatUploadUrl, true),\r\n\t\textraParams = K.undef(self.extraFileUploadParams, {}),\r\n\t\tfilePostName = K.undef(self.filePostName, 'imgFile'),\r\n\t\tuploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php');\r\n\tself.plugin.media = {\r\n\t\tedit : function() {\r\n\t\t\tvar html = [\r\n\t\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t\t//url\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keUrl\" style=\"width:60px;\">' + lang.url + '</label>',\r\n\t\t\t\t'<input class=\"ke-input-text\" type=\"text\" id=\"keUrl\" name=\"url\" value=\"\" style=\"width:160px;\" /> &nbsp;',\r\n\t\t\t\t'<input type=\"button\" class=\"ke-upload-button\" value=\"' + lang.upload + '\" /> &nbsp;',\r\n\t\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"' + lang.viewServer + '\" />',\r\n\t\t\t\t'</span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//width\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keWidth\" style=\"width:60px;\">' + lang.width + '</label>',\r\n\t\t\t\t'<input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"550\" maxlength=\"4\" />',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//height\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keHeight\" style=\"width:60px;\">' + lang.height + '</label>',\r\n\t\t\t\t'<input type=\"text\" id=\"keHeight\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"400\" maxlength=\"4\" />',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//autostart\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keAutostart\">' + lang.autostart + '</label>',\r\n\t\t\t\t'<input type=\"checkbox\" id=\"keAutostart\" name=\"autostart\" value=\"\" /> ',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'</div>'\r\n\t\t\t].join('');\r\n\t\t\tvar dialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 450,\r\n\t\t\t\theight : 230,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar url = K.trim(urlBox.val()),\r\n\t\t\t\t\t\t\twidth = widthBox.val(),\r\n\t\t\t\t\t\t\theight = heightBox.val();\r\n\t\t\t\t\t\tif (url == 'http://' || K.invalidUrl(url)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidUrl'));\r\n\t\t\t\t\t\t\turlBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(width)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidWidth'));\r\n\t\t\t\t\t\t\twidthBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(height)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidHeight'));\r\n\t\t\t\t\t\t\theightBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvar html = K.mediaImg(self.themesPath + 'common/blank.gif', {\r\n\t\t\t\t\t\t\t\tsrc : url,\r\n\t\t\t\t\t\t\t\ttype : K.mediaType(url),\r\n\t\t\t\t\t\t\t\twidth : width,\r\n\t\t\t\t\t\t\t\theight : height,\r\n\t\t\t\t\t\t\t\tautostart : autostartBox[0].checked ? 'true' : 'false',\r\n\t\t\t\t\t\t\t\tloop : 'true'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\tself.insertHtml(html).hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdiv = dialog.div,\r\n\t\t\turlBox = K('[name=\"url\"]', div),\r\n\t\t\tviewServerBtn = K('[name=\"viewServer\"]', div),\r\n\t\t\twidthBox = K('[name=\"width\"]', div),\r\n\t\t\theightBox = K('[name=\"height\"]', div),\r\n\t\t\tautostartBox = K('[name=\"autostart\"]', div);\r\n\t\t\turlBox.val('http://');\r\n\r\n\t\t\tif (allowMediaUpload) {\r\n\t\t\t\tvar uploadbutton = K.uploadbutton({\r\n\t\t\t\t\tbutton : K('.ke-upload-button', div)[0],\r\n\t\t\t\t\tfieldName : filePostName,\r\n\t\t\t\t\textraParams : extraParams,\r\n\t\t\t\t\turl : K.addParam(uploadJson, 'dir=media'),\r\n\t\t\t\t\tafterUpload : function(data) {\r\n\t\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\t\tif (data.error === 0) {\r\n\t\t\t\t\t\t\tvar url = data.url;\r\n\t\t\t\t\t\t\tif (formatUploadUrl) {\r\n\t\t\t\t\t\t\t\turl = K.formatUrl(url, 'absolute');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\turlBox.val(url);\r\n\t\t\t\t\t\t\tif (self.afterUpload) {\r\n\t\t\t\t\t\t\t\tself.afterUpload.call(self, url, data, name);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\talert(self.lang('uploadSuccess'));\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\talert(data.message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tafterError : function(html) {\r\n\t\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\t\tself.errorDialog(html);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tuploadbutton.fileBox.change(function(e) {\r\n\t\t\t\t\tdialog.showLoading(self.lang('uploadLoading'));\r\n\t\t\t\t\tuploadbutton.submit();\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tK('.ke-upload-button', div).hide();\r\n\t\t\t}\r\n\r\n\t\t\tif (allowFileManager) {\r\n\t\t\t\tviewServerBtn.click(function(e) {\r\n\t\t\t\t\tself.loadPlugin('filemanager', function() {\r\n\t\t\t\t\t\tself.plugin.filemanagerDialog({\r\n\t\t\t\t\t\t\tviewType : 'LIST',\r\n\t\t\t\t\t\t\tdirName : 'media',\r\n\t\t\t\t\t\t\tclickFn : function(url, title) {\r\n\t\t\t\t\t\t\t\tif (self.dialogs.length > 1) {\r\n\t\t\t\t\t\t\t\t\tK('[name=\"url\"]', div).val(url);\r\n\t\t\t\t\t\t\t\t\tif (self.afterSelectFile) {\r\n\t\t\t\t\t\t\t\t\t\tself.afterSelectFile.call(self, url);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tself.hideDialog();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tviewServerBtn.hide();\r\n\t\t\t}\r\n\r\n\t\t\tvar img = self.plugin.getSelectedMedia();\r\n\t\t\tif (img) {\r\n\t\t\t\tvar attrs = K.mediaAttrs(img.attr('data-ke-tag'));\r\n\t\t\t\turlBox.val(attrs.src);\r\n\t\t\t\twidthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0);\r\n\t\t\t\theightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0);\r\n\t\t\t\tautostartBox[0].checked = (attrs.autostart === 'true');\r\n\t\t\t}\r\n\t\t\turlBox[0].focus();\r\n\t\t\turlBox[0].select();\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tself.plugin.getSelectedMedia().remove();\r\n\t\t\t// [IE] 删除图片后立即点击图片按钮出错\r\n\t\t\tself.addBookmark();\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.media.edit);\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\n\r\n(function(K) {\r\n\r\nfunction KSWFUpload(options) {\r\n\tthis.init(options);\r\n}\r\nK.extend(KSWFUpload, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\toptions.afterError = options.afterError || function(str) {\r\n\t\t\talert(str);\r\n\t\t};\r\n\t\tself.options = options;\r\n\t\tself.progressbars = {};\r\n\t\t// template\r\n\t\tself.div = K(options.container).html([\r\n\t\t\t'<div class=\"ke-swfupload\">',\r\n\t\t\t'<div class=\"ke-swfupload-top\">',\r\n\t\t\t'<div class=\"ke-inline-block ke-swfupload-button\">',\r\n\t\t\t'<input type=\"button\" value=\"Browse\" />',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-inline-block ke-swfupload-desc\">' + options.uploadDesc + '</div>',\r\n\t\t\t'<span class=\"ke-button-common ke-button-outer ke-swfupload-startupload\">',\r\n\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" value=\"' + options.startButtonValue + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-swfupload-body\"></div>',\r\n\t\t\t'</div>'\r\n\t\t].join(''));\r\n\t\tself.bodyDiv = K('.ke-swfupload-body', self.div);\r\n\r\n\t\tfunction showError(itemDiv, msg) {\r\n\t\t\tK('.ke-status > div', itemDiv).hide();\r\n\t\t\tK('.ke-message', itemDiv).addClass('ke-error').show().html(K.escape(msg));\r\n\t\t}\r\n\r\n\t\tvar settings = {\r\n\t\t\tdebug : false,\r\n\t\t\tupload_url : options.uploadUrl,\r\n\t\t\tflash_url : options.flashUrl,\r\n\t\t\tfile_post_name : options.filePostName,\r\n\t\t\tbutton_placeholder : K('.ke-swfupload-button > input', self.div)[0],\r\n\t\t\tbutton_image_url: options.buttonImageUrl,\r\n\t\t\tbutton_width: options.buttonWidth,\r\n\t\t\tbutton_height: options.buttonHeight,\r\n\t\t\tbutton_cursor : SWFUpload.CURSOR.HAND,\r\n\t\t\tfile_types : options.fileTypes,\r\n\t\t\tfile_types_description : options.fileTypesDesc,\r\n\t\t\tfile_upload_limit : options.fileUploadLimit,\r\n\t\t\tfile_size_limit : options.fileSizeLimit,\r\n\t\t\tpost_params : options.postParams,\r\n\t\t\tfile_queued_handler : function(file) {\r\n\t\t\t\tfile.url = self.options.fileIconUrl;\r\n\t\t\t\tself.appendFile(file);\r\n\t\t\t},\r\n\t\t\tfile_queue_error_handler : function(file, errorCode, message) {\r\n\t\t\t\tvar errorName = '';\r\n\t\t\t\tswitch (errorCode) {\r\n\t\t\t\t\tcase SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:\r\n\t\t\t\t\t\terrorName = options.queueLimitExceeded;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:\r\n\t\t\t\t\t\terrorName = options.fileExceedsSizeLimit;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:\r\n\t\t\t\t\t\terrorName = options.zeroByteFile;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:\r\n\t\t\t\t\t\terrorName = options.invalidFiletype;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\terrorName = options.unknownError;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tK.DEBUG && alert(errorName);\r\n\t\t\t},\r\n\t\t\tupload_start_handler : function(file) {\r\n\t\t\t\tvar self = this;\r\n\t\t\t\tvar itemDiv = K('div[data-id=\"' + file.id + '\"]', self.bodyDiv);\r\n\t\t\t\tK('.ke-status > div', itemDiv).hide();\r\n\t\t\t\tK('.ke-progressbar', itemDiv).show();\r\n\t\t\t},\r\n\t\t\tupload_progress_handler : function(file, bytesLoaded, bytesTotal) {\r\n\t\t\t\tvar percent = Math.round(bytesLoaded * 100 / bytesTotal);\r\n\t\t\t\tvar progressbar = self.progressbars[file.id];\r\n\t\t\t\tprogressbar.bar.css('width', Math.round(percent * 80 / 100) + 'px');\r\n\t\t\t\tprogressbar.percent.html(percent + '%');\r\n\t\t\t},\r\n\t\t\tupload_error_handler : function(file, errorCode, message) {\r\n\t\t\t\tif (file && file.filestatus == SWFUpload.FILE_STATUS.ERROR) {\r\n\t\t\t\t\tvar itemDiv = K('div[data-id=\"' + file.id + '\"]', self.bodyDiv).eq(0);\r\n\t\t\t\t\tshowError(itemDiv, self.options.errorMessage);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tupload_success_handler : function(file, serverData) {\r\n\t\t\t\tvar itemDiv = K('div[data-id=\"' + file.id + '\"]', self.bodyDiv).eq(0);\r\n\t\t\t\tvar data = {};\r\n\t\t\t\ttry {\r\n\t\t\t\t\tdata = K.json(serverData);\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\tself.options.afterError.call(this, '<!doctype html><html>' + serverData + '</html>');\r\n\t\t\t\t}\r\n\t\t\t\tif (data.error !== 0) {\r\n\t\t\t\t\tshowError(itemDiv, K.DEBUG ? data.message : self.options.errorMessage);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tfile.url = data.url;\r\n\t\t\t\tK('.ke-img', itemDiv).attr('src', file.url).attr('data-status', file.filestatus).data('data', data);\r\n\t\t\t\tK('.ke-status > div', itemDiv).hide();\r\n\t\t\t}\r\n\t\t};\r\n\t\tself.swfu = new SWFUpload(settings);\r\n\r\n\t\tK('.ke-swfupload-startupload input', self.div).click(function() {\r\n\t\t\tself.swfu.startUpload();\r\n\t\t});\r\n\t},\r\n\tgetUrlList : function() {\r\n\t\tvar list = [];\r\n\t\tK('.ke-img', self.bodyDiv).each(function() {\r\n\t\t\tvar img = K(this);\r\n\t\t\tvar status = img.attr('data-status');\r\n\t\t\tif (status == SWFUpload.FILE_STATUS.COMPLETE) {\r\n\t\t\t\tlist.push(img.data('data'));\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn list;\r\n\t},\r\n\tremoveFile : function(fileId) {\r\n\t\tvar self = this;\r\n\t\tself.swfu.cancelUpload(fileId);\r\n\t\tvar itemDiv = K('div[data-id=\"' + fileId + '\"]', self.bodyDiv);\r\n\t\tK('.ke-photo', itemDiv).unbind();\r\n\t\tK('.ke-delete', itemDiv).unbind();\r\n\t\titemDiv.remove();\r\n\t},\r\n\tremoveFiles : function() {\r\n\t\tvar self = this;\r\n\t\tK('.ke-item', self.bodyDiv).each(function() {\r\n\t\t\tself.removeFile(K(this).attr('data-id'));\r\n\t\t});\r\n\t},\r\n\tappendFile : function(file) {\r\n\t\tvar self = this;\r\n\t\tvar itemDiv = K('<div class=\"ke-inline-block ke-item\" data-id=\"' + file.id + '\"></div>');\r\n\t\tself.bodyDiv.append(itemDiv);\r\n\t\tvar photoDiv = K('<div class=\"ke-inline-block ke-photo\"></div>')\r\n\t\t\t.mouseover(function(e) {\r\n\t\t\t\tK(this).addClass('ke-on');\r\n\t\t\t})\r\n\t\t\t.mouseout(function(e) {\r\n\t\t\t\tK(this).removeClass('ke-on');\r\n\t\t\t});\r\n\t\titemDiv.append(photoDiv);\r\n\r\n\t\tvar img = K('<img src=\"' + file.url + '\" class=\"ke-img\" data-status=\"' + file.filestatus + '\" width=\"80\" height=\"80\" alt=\"' + file.name + '\" />');\r\n\t\tphotoDiv.append(img);\r\n\t\tK('<span class=\"ke-delete\"></span>').appendTo(photoDiv).click(function() {\r\n\t\t\tself.removeFile(file.id);\r\n\t\t});\r\n\t\tvar statusDiv = K('<div class=\"ke-status\"></div>').appendTo(photoDiv);\r\n\t\t// progressbar\r\n\t\tK(['<div class=\"ke-progressbar\">',\r\n\t\t\t'<div class=\"ke-progressbar-bar\"><div class=\"ke-progressbar-bar-inner\"></div></div>',\r\n\t\t\t'<div class=\"ke-progressbar-percent\">0%</div></div>'].join('')).hide().appendTo(statusDiv);\r\n\t\t// message\r\n\t\tK('<div class=\"ke-message\">' + self.options.pendingMessage + '</div>').appendTo(statusDiv);\r\n\r\n\t\titemDiv.append('<div class=\"ke-name\">' + file.name + '</div>');\r\n\r\n\t\tself.progressbars[file.id] = {\r\n\t\t\tbar : K('.ke-progressbar-bar-inner', photoDiv),\r\n\t\t\tpercent : K('.ke-progressbar-percent', photoDiv)\r\n\t\t};\r\n\t},\r\n\tremove : function() {\r\n\t\tthis.removeFiles();\r\n\t\tthis.swfu.destroy();\r\n\t\tthis.div.html('');\r\n\t}\r\n});\r\n\r\nK.swfupload = function(element, options) {\r\n\treturn new KSWFUpload(element, options);\r\n};\r\n\r\n})(KindEditor);\r\n\r\nKindEditor.plugin('multiimage', function(K) {\r\n\tvar self = this, name = 'multiimage',\r\n\t\tformatUploadUrl = K.undef(self.formatUploadUrl, true),\r\n\t\tuploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'),\r\n\t\timgPath = self.pluginsPath + 'multiimage/images/',\r\n\t\timageSizeLimit = K.undef(self.imageSizeLimit, '1MB'),\r\n\t\timageFileTypes = K.undef(self.imageFileTypes, '*.jpg;*.gif;*.png'),\r\n\t\timageUploadLimit = K.undef(self.imageUploadLimit, 20),\r\n\t\tfilePostName = K.undef(self.filePostName, 'imgFile'),\r\n\t\tlang = self.lang(name + '.');\r\n\r\n\tself.plugin.multiImageDialog = function(options) {\r\n\t\tvar clickFn = options.clickFn,\r\n\t\t\tuploadDesc = K.tmpl(lang.uploadDesc, {uploadLimit : imageUploadLimit, sizeLimit : imageSizeLimit});\r\n\t\tvar html = [\r\n\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t'<div class=\"swfupload\">',\r\n\t\t\t'</div>',\r\n\t\t\t'</div>'\r\n\t\t].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : 650,\r\n\t\t\theight : 510,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tpreviewBtn : {\r\n\t\t\t\tname : lang.insertAll,\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tclickFn.call(self, swfupload.getUrlList());\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : lang.clearAll,\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tswfupload.removeFiles();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tbeforeRemove : function() {\r\n\t\t\t\t// IE9 bugfix: https://github.com/kindsoft/kindeditor/issues/72\r\n\t\t\t\tif (!K.IE || K.V <= 8) {\r\n\t\t\t\t\tswfupload.remove();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}),\r\n\t\tdiv = dialog.div;\r\n\r\n\t\tvar swfupload = K.swfupload({\r\n\t\t\tcontainer : K('.swfupload', div),\r\n\t\t\tbuttonImageUrl : imgPath + (self.langType == 'zh_CN' ? 'select-files-zh_CN.png' : 'select-files-en.png'),\r\n\t\t\tbuttonWidth : self.langType == 'zh_CN' ? 72 : 88,\r\n\t\t\tbuttonHeight : 23,\r\n\t\t\tfileIconUrl : imgPath + 'image.png',\r\n\t\t\tuploadDesc : uploadDesc,\r\n\t\t\tstartButtonValue : lang.startUpload,\r\n\t\t\tuploadUrl : K.addParam(uploadJson, 'dir=image'),\r\n\t\t\tflashUrl : imgPath + 'swfupload.swf',\r\n\t\t\tfilePostName : filePostName,\r\n\t\t\tfileTypes : '*.jpg;*.jpeg;*.gif;*.png;*.bmp',\r\n\t\t\tfileTypesDesc : 'Image Files',\r\n\t\t\tfileUploadLimit : imageUploadLimit,\r\n\t\t\tfileSizeLimit : imageSizeLimit,\r\n\t\t\tpostParams :  K.undef(self.extraFileUploadParams, {}),\r\n\t\t\tqueueLimitExceeded : lang.queueLimitExceeded,\r\n\t\t\tfileExceedsSizeLimit : lang.fileExceedsSizeLimit,\r\n\t\t\tzeroByteFile : lang.zeroByteFile,\r\n\t\t\tinvalidFiletype : lang.invalidFiletype,\r\n\t\t\tunknownError : lang.unknownError,\r\n\t\t\tpendingMessage : lang.pending,\r\n\t\t\terrorMessage : lang.uploadError,\r\n\t\t\tafterError : function(html) {\r\n\t\t\t\tself.errorDialog(html);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn dialog;\r\n\t};\r\n\tself.clickToolbar(name, function() {\r\n\t\tself.plugin.multiImageDialog({\r\n\t\t\tclickFn : function (urlList) {\r\n\t\t\t\tif (urlList.length === 0) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tK.each(urlList, function(i, data) {\r\n\t\t\t\t\tif (self.afterUpload) {\r\n\t\t\t\t\t\tself.afterUpload.call(self, data.url, data, 'multiimage');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tself.exec('insertimage', data.url, data.title, data.width, data.height, data.border, data.align);\r\n\t\t\t\t});\r\n\t\t\t\t// Bugfix: [Firefox] 上传图片后，总是出现正在加载的样式，需要延迟执行hideDialog\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tself.hideDialog().focus();\r\n\t\t\t\t}, 0);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n});\r\n\r\n\r\n/**\r\n * SWFUpload: http://www.swfupload.org, http://swfupload.googlecode.com\r\n *\r\n * mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/,  http://www.vinterwebb.se/\r\n *\r\n * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilz閚 and Mammon Media and is released under the MIT License:\r\n * http://www.opensource.org/licenses/mit-license.php\r\n *\r\n * SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License:\r\n * http://www.opensource.org/licenses/mit-license.php\r\n *\r\n */\r\n\r\n\r\n/* ******************* */\r\n/* Constructor & Init  */\r\n/* ******************* */\r\n\r\n(function() {\r\n\r\nwindow.SWFUpload = function (settings) {\r\n\tthis.initSWFUpload(settings);\r\n};\r\n\r\nSWFUpload.prototype.initSWFUpload = function (settings) {\r\n\ttry {\r\n\t\tthis.customSettings = {};\t// A container where developers can place their own settings associated with this instance.\r\n\t\tthis.settings = settings;\r\n\t\tthis.eventQueue = [];\r\n\t\tthis.movieName = \"KindEditor_SWFUpload_\" + SWFUpload.movieCount++;\r\n\t\tthis.movieElement = null;\r\n\r\n\r\n\t\t// Setup global control tracking\r\n\t\tSWFUpload.instances[this.movieName] = this;\r\n\r\n\t\t// Load the settings.  Load the Flash movie.\r\n\t\tthis.initSettings();\r\n\t\tthis.loadFlash();\r\n\t\tthis.displayDebugInfo();\r\n\t} catch (ex) {\r\n\t\tdelete SWFUpload.instances[this.movieName];\r\n\t\tthrow ex;\r\n\t}\r\n};\r\n\r\n/* *************** */\r\n/* Static Members  */\r\n/* *************** */\r\nSWFUpload.instances = {};\r\nSWFUpload.movieCount = 0;\r\nSWFUpload.version = \"2.2.0 2009-03-25\";\r\nSWFUpload.QUEUE_ERROR = {\r\n\tQUEUE_LIMIT_EXCEEDED\t  \t\t: -100,\r\n\tFILE_EXCEEDS_SIZE_LIMIT  \t\t: -110,\r\n\tZERO_BYTE_FILE\t\t\t  \t\t: -120,\r\n\tINVALID_FILETYPE\t\t  \t\t: -130\r\n};\r\nSWFUpload.UPLOAD_ERROR = {\r\n\tHTTP_ERROR\t\t\t\t  \t\t: -200,\r\n\tMISSING_UPLOAD_URL\t      \t\t: -210,\r\n\tIO_ERROR\t\t\t\t  \t\t: -220,\r\n\tSECURITY_ERROR\t\t\t  \t\t: -230,\r\n\tUPLOAD_LIMIT_EXCEEDED\t  \t\t: -240,\r\n\tUPLOAD_FAILED\t\t\t  \t\t: -250,\r\n\tSPECIFIED_FILE_ID_NOT_FOUND\t\t: -260,\r\n\tFILE_VALIDATION_FAILED\t  \t\t: -270,\r\n\tFILE_CANCELLED\t\t\t  \t\t: -280,\r\n\tUPLOAD_STOPPED\t\t\t\t\t: -290\r\n};\r\nSWFUpload.FILE_STATUS = {\r\n\tQUEUED\t\t : -1,\r\n\tIN_PROGRESS\t : -2,\r\n\tERROR\t\t : -3,\r\n\tCOMPLETE\t : -4,\r\n\tCANCELLED\t : -5\r\n};\r\nSWFUpload.BUTTON_ACTION = {\r\n\tSELECT_FILE  : -100,\r\n\tSELECT_FILES : -110,\r\n\tSTART_UPLOAD : -120\r\n};\r\nSWFUpload.CURSOR = {\r\n\tARROW : -1,\r\n\tHAND : -2\r\n};\r\nSWFUpload.WINDOW_MODE = {\r\n\tWINDOW : \"window\",\r\n\tTRANSPARENT : \"transparent\",\r\n\tOPAQUE : \"opaque\"\r\n};\r\n\r\n// Private: takes a URL, determines if it is relative and converts to an absolute URL\r\n// using the current site. Only processes the URL if it can, otherwise returns the URL untouched\r\nSWFUpload.completeURL = function(url) {\r\n\tif (typeof(url) !== \"string\" || url.match(/^https?:\\/\\//i) || url.match(/^\\//)) {\r\n\t\treturn url;\r\n\t}\r\n\r\n\tvar currentURL = window.location.protocol + \"//\" + window.location.hostname + (window.location.port ? \":\" + window.location.port : \"\");\r\n\r\n\tvar indexSlash = window.location.pathname.lastIndexOf(\"/\");\r\n\tif (indexSlash <= 0) {\r\n\t\tpath = \"/\";\r\n\t} else {\r\n\t\tpath = window.location.pathname.substr(0, indexSlash) + \"/\";\r\n\t}\r\n\r\n\treturn /*currentURL +*/ path + url;\r\n\r\n};\r\n\r\n\r\n/* ******************** */\r\n/* Instance Members  */\r\n/* ******************** */\r\n\r\n// Private: initSettings ensures that all the\r\n// settings are set, getting a default value if one was not assigned.\r\nSWFUpload.prototype.initSettings = function () {\r\n\tthis.ensureDefault = function (settingName, defaultValue) {\r\n\t\tthis.settings[settingName] = (this.settings[settingName] == undefined) ? defaultValue : this.settings[settingName];\r\n\t};\r\n\r\n\t// Upload backend settings\r\n\tthis.ensureDefault(\"upload_url\", \"\");\r\n\tthis.ensureDefault(\"preserve_relative_urls\", false);\r\n\tthis.ensureDefault(\"file_post_name\", \"Filedata\");\r\n\tthis.ensureDefault(\"post_params\", {});\r\n\tthis.ensureDefault(\"use_query_string\", false);\r\n\tthis.ensureDefault(\"requeue_on_error\", false);\r\n\tthis.ensureDefault(\"http_success\", []);\r\n\tthis.ensureDefault(\"assume_success_timeout\", 0);\r\n\r\n\t// File Settings\r\n\tthis.ensureDefault(\"file_types\", \"*.*\");\r\n\tthis.ensureDefault(\"file_types_description\", \"All Files\");\r\n\tthis.ensureDefault(\"file_size_limit\", 0);\t// Default zero means \"unlimited\"\r\n\tthis.ensureDefault(\"file_upload_limit\", 0);\r\n\tthis.ensureDefault(\"file_queue_limit\", 0);\r\n\r\n\t// Flash Settings\r\n\tthis.ensureDefault(\"flash_url\", \"swfupload.swf\");\r\n\tthis.ensureDefault(\"prevent_swf_caching\", true);\r\n\r\n\t// Button Settings\r\n\tthis.ensureDefault(\"button_image_url\", \"\");\r\n\tthis.ensureDefault(\"button_width\", 1);\r\n\tthis.ensureDefault(\"button_height\", 1);\r\n\tthis.ensureDefault(\"button_text\", \"\");\r\n\tthis.ensureDefault(\"button_text_style\", \"color: #000000; font-size: 16pt;\");\r\n\tthis.ensureDefault(\"button_text_top_padding\", 0);\r\n\tthis.ensureDefault(\"button_text_left_padding\", 0);\r\n\tthis.ensureDefault(\"button_action\", SWFUpload.BUTTON_ACTION.SELECT_FILES);\r\n\tthis.ensureDefault(\"button_disabled\", false);\r\n\tthis.ensureDefault(\"button_placeholder_id\", \"\");\r\n\tthis.ensureDefault(\"button_placeholder\", null);\r\n\tthis.ensureDefault(\"button_cursor\", SWFUpload.CURSOR.ARROW);\r\n\tthis.ensureDefault(\"button_window_mode\", SWFUpload.WINDOW_MODE.WINDOW);\r\n\r\n\t// Debug Settings\r\n\tthis.ensureDefault(\"debug\", false);\r\n\tthis.settings.debug_enabled = this.settings.debug;\t// Here to maintain v2 API\r\n\r\n\t// Event Handlers\r\n\tthis.settings.return_upload_start_handler = this.returnUploadStart;\r\n\tthis.ensureDefault(\"swfupload_loaded_handler\", null);\r\n\tthis.ensureDefault(\"file_dialog_start_handler\", null);\r\n\tthis.ensureDefault(\"file_queued_handler\", null);\r\n\tthis.ensureDefault(\"file_queue_error_handler\", null);\r\n\tthis.ensureDefault(\"file_dialog_complete_handler\", null);\r\n\r\n\tthis.ensureDefault(\"upload_start_handler\", null);\r\n\tthis.ensureDefault(\"upload_progress_handler\", null);\r\n\tthis.ensureDefault(\"upload_error_handler\", null);\r\n\tthis.ensureDefault(\"upload_success_handler\", null);\r\n\tthis.ensureDefault(\"upload_complete_handler\", null);\r\n\r\n\tthis.ensureDefault(\"debug_handler\", this.debugMessage);\r\n\r\n\tthis.ensureDefault(\"custom_settings\", {});\r\n\r\n\t// Other settings\r\n\tthis.customSettings = this.settings.custom_settings;\r\n\r\n\t// Update the flash url if needed\r\n\tif (!!this.settings.prevent_swf_caching) {\r\n\t\tthis.settings.flash_url = this.settings.flash_url + (this.settings.flash_url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + \"preventswfcaching=\" + new Date().getTime();\r\n\t}\r\n\r\n\tif (!this.settings.preserve_relative_urls) {\r\n\t\t//this.settings.flash_url = SWFUpload.completeURL(this.settings.flash_url);\t// Don't need to do this one since flash doesn't look at it\r\n\t\tthis.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url);\r\n\t\tthis.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url);\r\n\t}\r\n\r\n\tdelete this.ensureDefault;\r\n};\r\n\r\n// Private: loadFlash replaces the button_placeholder element with the flash movie.\r\nSWFUpload.prototype.loadFlash = function () {\r\n\tvar targetElement, tempParent;\r\n\r\n\t// Make sure an element with the ID we are going to use doesn't already exist\r\n\tif (document.getElementById(this.movieName) !== null) {\r\n\t\tthrow \"ID \" + this.movieName + \" is already in use. The Flash Object could not be added\";\r\n\t}\r\n\r\n\t// Get the element where we will be placing the flash movie\r\n\ttargetElement = document.getElementById(this.settings.button_placeholder_id) || this.settings.button_placeholder;\r\n\r\n\tif (targetElement == undefined) {\r\n\t\tthrow \"Could not find the placeholder element: \" + this.settings.button_placeholder_id;\r\n\t}\r\n\r\n\t// Append the container and load the flash\r\n\ttempParent = document.createElement(\"div\");\r\n\ttempParent.innerHTML = this.getFlashHTML();\t// Using innerHTML is non-standard but the only sensible way to dynamically add Flash in IE (and maybe other browsers)\r\n\ttargetElement.parentNode.replaceChild(tempParent.firstChild, targetElement);\r\n\r\n\t// Fix IE Flash/Form bug\r\n\tif (window[this.movieName] == undefined) {\r\n\t\twindow[this.movieName] = this.getMovieElement();\r\n\t}\r\n\r\n};\r\n\r\n// Private: getFlashHTML generates the object tag needed to embed the flash in to the document\r\nSWFUpload.prototype.getFlashHTML = function () {\r\n\t// Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay\r\n\t// Fix bug for IE9\r\n\t// http://www.kindsoft.net/view.php?bbsid=7&postid=5825&pagenum=1\r\n\tvar classid = '';\r\n\tif (KindEditor.IE && KindEditor.V > 8) {\r\n\t\tclassid = ' classid = \"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\"';\r\n\t}\r\n\treturn ['<object id=\"', this.movieName, '\"' + classid + ' type=\"application/x-shockwave-flash\" data=\"', this.settings.flash_url, '\" width=\"', this.settings.button_width, '\" height=\"', this.settings.button_height, '\" class=\"swfupload\">',\r\n\t\t\t\t'<param name=\"wmode\" value=\"', this.settings.button_window_mode, '\" />',\r\n\t\t\t\t'<param name=\"movie\" value=\"', this.settings.flash_url, '\" />',\r\n\t\t\t\t'<param name=\"quality\" value=\"high\" />',\r\n\t\t\t\t'<param name=\"menu\" value=\"false\" />',\r\n\t\t\t\t'<param name=\"allowScriptAccess\" value=\"always\" />',\r\n\t\t\t\t'<param name=\"flashvars\" value=\"' + this.getFlashVars() + '\" />',\r\n\t\t\t\t'</object>'].join(\"\");\r\n};\r\n\r\n// Private: getFlashVars builds the parameter string that will be passed\r\n// to flash in the flashvars param.\r\nSWFUpload.prototype.getFlashVars = function () {\r\n\t// Build a string from the post param object\r\n\tvar paramString = this.buildParamString();\r\n\tvar httpSuccessString = this.settings.http_success.join(\",\");\r\n\r\n\t// Build the parameter string\r\n\treturn [\"movieName=\", encodeURIComponent(this.movieName),\r\n\t\t\t\"&amp;uploadURL=\", encodeURIComponent(this.settings.upload_url),\r\n\t\t\t\"&amp;useQueryString=\", encodeURIComponent(this.settings.use_query_string),\r\n\t\t\t\"&amp;requeueOnError=\", encodeURIComponent(this.settings.requeue_on_error),\r\n\t\t\t\"&amp;httpSuccess=\", encodeURIComponent(httpSuccessString),\r\n\t\t\t\"&amp;assumeSuccessTimeout=\", encodeURIComponent(this.settings.assume_success_timeout),\r\n\t\t\t\"&amp;params=\", encodeURIComponent(paramString),\r\n\t\t\t\"&amp;filePostName=\", encodeURIComponent(this.settings.file_post_name),\r\n\t\t\t\"&amp;fileTypes=\", encodeURIComponent(this.settings.file_types),\r\n\t\t\t\"&amp;fileTypesDescription=\", encodeURIComponent(this.settings.file_types_description),\r\n\t\t\t\"&amp;fileSizeLimit=\", encodeURIComponent(this.settings.file_size_limit),\r\n\t\t\t\"&amp;fileUploadLimit=\", encodeURIComponent(this.settings.file_upload_limit),\r\n\t\t\t\"&amp;fileQueueLimit=\", encodeURIComponent(this.settings.file_queue_limit),\r\n\t\t\t\"&amp;debugEnabled=\", encodeURIComponent(this.settings.debug_enabled),\r\n\t\t\t\"&amp;buttonImageURL=\", encodeURIComponent(this.settings.button_image_url),\r\n\t\t\t\"&amp;buttonWidth=\", encodeURIComponent(this.settings.button_width),\r\n\t\t\t\"&amp;buttonHeight=\", encodeURIComponent(this.settings.button_height),\r\n\t\t\t\"&amp;buttonText=\", encodeURIComponent(this.settings.button_text),\r\n\t\t\t\"&amp;buttonTextTopPadding=\", encodeURIComponent(this.settings.button_text_top_padding),\r\n\t\t\t\"&amp;buttonTextLeftPadding=\", encodeURIComponent(this.settings.button_text_left_padding),\r\n\t\t\t\"&amp;buttonTextStyle=\", encodeURIComponent(this.settings.button_text_style),\r\n\t\t\t\"&amp;buttonAction=\", encodeURIComponent(this.settings.button_action),\r\n\t\t\t\"&amp;buttonDisabled=\", encodeURIComponent(this.settings.button_disabled),\r\n\t\t\t\"&amp;buttonCursor=\", encodeURIComponent(this.settings.button_cursor)\r\n\t\t].join(\"\");\r\n};\r\n\r\n// Public: getMovieElement retrieves the DOM reference to the Flash element added by SWFUpload\r\n// The element is cached after the first lookup\r\nSWFUpload.prototype.getMovieElement = function () {\r\n\tif (this.movieElement == undefined) {\r\n\t\tthis.movieElement = document.getElementById(this.movieName);\r\n\t}\r\n\r\n\tif (this.movieElement === null) {\r\n\t\tthrow \"Could not find Flash element\";\r\n\t}\r\n\r\n\treturn this.movieElement;\r\n};\r\n\r\n// Private: buildParamString takes the name/value pairs in the post_params setting object\r\n// and joins them up in to a string formatted \"name=value&amp;name=value\"\r\nSWFUpload.prototype.buildParamString = function () {\r\n\tvar postParams = this.settings.post_params;\r\n\tvar paramStringPairs = [];\r\n\r\n\tif (typeof(postParams) === \"object\") {\r\n\t\tfor (var name in postParams) {\r\n\t\t\tif (postParams.hasOwnProperty(name)) {\r\n\t\t\t\tparamStringPairs.push(encodeURIComponent(name.toString()) + \"=\" + encodeURIComponent(postParams[name].toString()));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn paramStringPairs.join(\"&amp;\");\r\n};\r\n\r\n// Public: Used to remove a SWFUpload instance from the page. This method strives to remove\r\n// all references to the SWF, and other objects so memory is properly freed.\r\n// Returns true if everything was destroyed. Returns a false if a failure occurs leaving SWFUpload in an inconsistant state.\r\n// Credits: Major improvements provided by steffen\r\nSWFUpload.prototype.destroy = function () {\r\n\ttry {\r\n\t\t// Make sure Flash is done before we try to remove it\r\n\t\tthis.cancelUpload(null, false);\r\n\r\n\r\n\t\t// Remove the SWFUpload DOM nodes\r\n\t\tvar movieElement = null;\r\n\t\tmovieElement = this.getMovieElement();\r\n\r\n\t\tif (movieElement && typeof(movieElement.CallFunction) === \"unknown\") { // We only want to do this in IE\r\n\t\t\t// Loop through all the movie's properties and remove all function references (DOM/JS IE 6/7 memory leak workaround)\r\n\t\t\tfor (var i in movieElement) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tif (typeof(movieElement[i]) === \"function\") {\r\n\t\t\t\t\t\tmovieElement[i] = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t} catch (ex1) {}\r\n\t\t\t}\r\n\r\n\t\t\t// Remove the Movie Element from the page\r\n\t\t\ttry {\r\n\t\t\t\tmovieElement.parentNode.removeChild(movieElement);\r\n\t\t\t} catch (ex) {}\r\n\t\t}\r\n\r\n\t\t// Remove IE form fix reference\r\n\t\twindow[this.movieName] = null;\r\n\r\n\t\t// Destroy other references\r\n\t\tSWFUpload.instances[this.movieName] = null;\r\n\t\tdelete SWFUpload.instances[this.movieName];\r\n\r\n\t\tthis.movieElement = null;\r\n\t\tthis.settings = null;\r\n\t\tthis.customSettings = null;\r\n\t\tthis.eventQueue = null;\r\n\t\tthis.movieName = null;\r\n\r\n\r\n\t\treturn true;\r\n\t} catch (ex2) {\r\n\t\treturn false;\r\n\t}\r\n};\r\n\r\n\r\n// Public: displayDebugInfo prints out settings and configuration\r\n// information about this SWFUpload instance.\r\n// This function (and any references to it) can be deleted when placing\r\n// SWFUpload in production.\r\nSWFUpload.prototype.displayDebugInfo = function () {\r\n\tthis.debug(\r\n\t\t[\r\n\t\t\t\"---SWFUpload Instance Info---\\n\",\r\n\t\t\t\"Version: \", SWFUpload.version, \"\\n\",\r\n\t\t\t\"Movie Name: \", this.movieName, \"\\n\",\r\n\t\t\t\"Settings:\\n\",\r\n\t\t\t\"\\t\", \"upload_url:               \", this.settings.upload_url, \"\\n\",\r\n\t\t\t\"\\t\", \"flash_url:                \", this.settings.flash_url, \"\\n\",\r\n\t\t\t\"\\t\", \"use_query_string:         \", this.settings.use_query_string.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"requeue_on_error:         \", this.settings.requeue_on_error.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"http_success:             \", this.settings.http_success.join(\", \"), \"\\n\",\r\n\t\t\t\"\\t\", \"assume_success_timeout:   \", this.settings.assume_success_timeout, \"\\n\",\r\n\t\t\t\"\\t\", \"file_post_name:           \", this.settings.file_post_name, \"\\n\",\r\n\t\t\t\"\\t\", \"post_params:              \", this.settings.post_params.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"file_types:               \", this.settings.file_types, \"\\n\",\r\n\t\t\t\"\\t\", \"file_types_description:   \", this.settings.file_types_description, \"\\n\",\r\n\t\t\t\"\\t\", \"file_size_limit:          \", this.settings.file_size_limit, \"\\n\",\r\n\t\t\t\"\\t\", \"file_upload_limit:        \", this.settings.file_upload_limit, \"\\n\",\r\n\t\t\t\"\\t\", \"file_queue_limit:         \", this.settings.file_queue_limit, \"\\n\",\r\n\t\t\t\"\\t\", \"debug:                    \", this.settings.debug.toString(), \"\\n\",\r\n\r\n\t\t\t\"\\t\", \"prevent_swf_caching:      \", this.settings.prevent_swf_caching.toString(), \"\\n\",\r\n\r\n\t\t\t\"\\t\", \"button_placeholder_id:    \", this.settings.button_placeholder_id.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_placeholder:       \", (this.settings.button_placeholder ? \"Set\" : \"Not Set\"), \"\\n\",\r\n\t\t\t\"\\t\", \"button_image_url:         \", this.settings.button_image_url.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_width:             \", this.settings.button_width.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_height:            \", this.settings.button_height.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_text:              \", this.settings.button_text.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_text_style:        \", this.settings.button_text_style.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_text_top_padding:  \", this.settings.button_text_top_padding.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_text_left_padding: \", this.settings.button_text_left_padding.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_action:            \", this.settings.button_action.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_disabled:          \", this.settings.button_disabled.toString(), \"\\n\",\r\n\r\n\t\t\t\"\\t\", \"custom_settings:          \", this.settings.custom_settings.toString(), \"\\n\",\r\n\t\t\t\"Event Handlers:\\n\",\r\n\t\t\t\"\\t\", \"swfupload_loaded_handler assigned:  \", (typeof this.settings.swfupload_loaded_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"file_dialog_start_handler assigned: \", (typeof this.settings.file_dialog_start_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"file_queued_handler assigned:       \", (typeof this.settings.file_queued_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"file_queue_error_handler assigned:  \", (typeof this.settings.file_queue_error_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"upload_start_handler assigned:      \", (typeof this.settings.upload_start_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"upload_progress_handler assigned:   \", (typeof this.settings.upload_progress_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"upload_error_handler assigned:      \", (typeof this.settings.upload_error_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"upload_success_handler assigned:    \", (typeof this.settings.upload_success_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"upload_complete_handler assigned:   \", (typeof this.settings.upload_complete_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"debug_handler assigned:             \", (typeof this.settings.debug_handler === \"function\").toString(), \"\\n\"\r\n\t\t].join(\"\")\r\n\t);\r\n};\r\n\r\n/* Note: addSetting and getSetting are no longer used by SWFUpload but are included\r\n\tthe maintain v2 API compatibility\r\n*/\r\n// Public: (Deprecated) addSetting adds a setting value. If the value given is undefined or null then the default_value is used.\r\nSWFUpload.prototype.addSetting = function (name, value, default_value) {\r\n    if (value == undefined) {\r\n        return (this.settings[name] = default_value);\r\n    } else {\r\n        return (this.settings[name] = value);\r\n\t}\r\n};\r\n\r\n// Public: (Deprecated) getSetting gets a setting. Returns an empty string if the setting was not found.\r\nSWFUpload.prototype.getSetting = function (name) {\r\n    if (this.settings[name] != undefined) {\r\n        return this.settings[name];\r\n\t}\r\n\r\n    return \"\";\r\n};\r\n\r\n\r\n\r\n// Private: callFlash handles function calls made to the Flash element.\r\n// Calls are made with a setTimeout for some functions to work around\r\n// bugs in the ExternalInterface library.\r\nSWFUpload.prototype.callFlash = function (functionName, argumentArray) {\r\n\targumentArray = argumentArray || [];\r\n\r\n\tvar movieElement = this.getMovieElement();\r\n\tvar returnValue, returnString;\r\n\r\n\t// Flash's method if calling ExternalInterface methods (code adapted from MooTools).\r\n\ttry {\r\n\t\treturnString = movieElement.CallFunction('<invoke name=\"' + functionName + '\" returntype=\"javascript\">' + __flash__argumentsToXML(argumentArray, 0) + '</invoke>');\r\n\t\treturnValue = eval(returnString);\r\n\t} catch (ex) {\r\n\t\tthrow \"Call to \" + functionName + \" failed\";\r\n\t}\r\n\r\n\t// Unescape file post param values\r\n\tif (returnValue != undefined && typeof returnValue.post === \"object\") {\r\n\t\treturnValue = this.unescapeFilePostParams(returnValue);\r\n\t}\r\n\r\n\treturn returnValue;\r\n};\r\n\r\n/* *****************************\r\n\t-- Flash control methods --\r\n\tYour UI should use these\r\n\tto operate SWFUpload\r\n   ***************************** */\r\n\r\n// WARNING: this function does not work in Flash Player 10\r\n// Public: selectFile causes a File Selection Dialog window to appear.  This\r\n// dialog only allows 1 file to be selected.\r\nSWFUpload.prototype.selectFile = function () {\r\n\tthis.callFlash(\"SelectFile\");\r\n};\r\n\r\n// WARNING: this function does not work in Flash Player 10\r\n// Public: selectFiles causes a File Selection Dialog window to appear/ This\r\n// dialog allows the user to select any number of files\r\n// Flash Bug Warning: Flash limits the number of selectable files based on the combined length of the file names.\r\n// If the selection name length is too long the dialog will fail in an unpredictable manner.  There is no work-around\r\n// for this bug.\r\nSWFUpload.prototype.selectFiles = function () {\r\n\tthis.callFlash(\"SelectFiles\");\r\n};\r\n\r\n\r\n// Public: startUpload starts uploading the first file in the queue unless\r\n// the optional parameter 'fileID' specifies the ID\r\nSWFUpload.prototype.startUpload = function (fileID) {\r\n\tthis.callFlash(\"StartUpload\", [fileID]);\r\n};\r\n\r\n// Public: cancelUpload cancels any queued file.  The fileID parameter may be the file ID or index.\r\n// If you do not specify a fileID the current uploading file or first file in the queue is cancelled.\r\n// If you do not want the uploadError event to trigger you can specify false for the triggerErrorEvent parameter.\r\nSWFUpload.prototype.cancelUpload = function (fileID, triggerErrorEvent) {\r\n\tif (triggerErrorEvent !== false) {\r\n\t\ttriggerErrorEvent = true;\r\n\t}\r\n\tthis.callFlash(\"CancelUpload\", [fileID, triggerErrorEvent]);\r\n};\r\n\r\n// Public: stopUpload stops the current upload and requeues the file at the beginning of the queue.\r\n// If nothing is currently uploading then nothing happens.\r\nSWFUpload.prototype.stopUpload = function () {\r\n\tthis.callFlash(\"StopUpload\");\r\n};\r\n\r\n/* ************************\r\n * Settings methods\r\n *   These methods change the SWFUpload settings.\r\n *   SWFUpload settings should not be changed directly on the settings object\r\n *   since many of the settings need to be passed to Flash in order to take\r\n *   effect.\r\n * *********************** */\r\n\r\n// Public: getStats gets the file statistics object.\r\nSWFUpload.prototype.getStats = function () {\r\n\treturn this.callFlash(\"GetStats\");\r\n};\r\n\r\n// Public: setStats changes the SWFUpload statistics.  You shouldn't need to\r\n// change the statistics but you can.  Changing the statistics does not\r\n// affect SWFUpload accept for the successful_uploads count which is used\r\n// by the upload_limit setting to determine how many files the user may upload.\r\nSWFUpload.prototype.setStats = function (statsObject) {\r\n\tthis.callFlash(\"SetStats\", [statsObject]);\r\n};\r\n\r\n// Public: getFile retrieves a File object by ID or Index.  If the file is\r\n// not found then 'null' is returned.\r\nSWFUpload.prototype.getFile = function (fileID) {\r\n\tif (typeof(fileID) === \"number\") {\r\n\t\treturn this.callFlash(\"GetFileByIndex\", [fileID]);\r\n\t} else {\r\n\t\treturn this.callFlash(\"GetFile\", [fileID]);\r\n\t}\r\n};\r\n\r\n// Public: addFileParam sets a name/value pair that will be posted with the\r\n// file specified by the Files ID.  If the name already exists then the\r\n// exiting value will be overwritten.\r\nSWFUpload.prototype.addFileParam = function (fileID, name, value) {\r\n\treturn this.callFlash(\"AddFileParam\", [fileID, name, value]);\r\n};\r\n\r\n// Public: removeFileParam removes a previously set (by addFileParam) name/value\r\n// pair from the specified file.\r\nSWFUpload.prototype.removeFileParam = function (fileID, name) {\r\n\tthis.callFlash(\"RemoveFileParam\", [fileID, name]);\r\n};\r\n\r\n// Public: setUploadUrl changes the upload_url setting.\r\nSWFUpload.prototype.setUploadURL = function (url) {\r\n\tthis.settings.upload_url = url.toString();\r\n\tthis.callFlash(\"SetUploadURL\", [url]);\r\n};\r\n\r\n// Public: setPostParams changes the post_params setting\r\nSWFUpload.prototype.setPostParams = function (paramsObject) {\r\n\tthis.settings.post_params = paramsObject;\r\n\tthis.callFlash(\"SetPostParams\", [paramsObject]);\r\n};\r\n\r\n// Public: addPostParam adds post name/value pair.  Each name can have only one value.\r\nSWFUpload.prototype.addPostParam = function (name, value) {\r\n\tthis.settings.post_params[name] = value;\r\n\tthis.callFlash(\"SetPostParams\", [this.settings.post_params]);\r\n};\r\n\r\n// Public: removePostParam deletes post name/value pair.\r\nSWFUpload.prototype.removePostParam = function (name) {\r\n\tdelete this.settings.post_params[name];\r\n\tthis.callFlash(\"SetPostParams\", [this.settings.post_params]);\r\n};\r\n\r\n// Public: setFileTypes changes the file_types setting and the file_types_description setting\r\nSWFUpload.prototype.setFileTypes = function (types, description) {\r\n\tthis.settings.file_types = types;\r\n\tthis.settings.file_types_description = description;\r\n\tthis.callFlash(\"SetFileTypes\", [types, description]);\r\n};\r\n\r\n// Public: setFileSizeLimit changes the file_size_limit setting\r\nSWFUpload.prototype.setFileSizeLimit = function (fileSizeLimit) {\r\n\tthis.settings.file_size_limit = fileSizeLimit;\r\n\tthis.callFlash(\"SetFileSizeLimit\", [fileSizeLimit]);\r\n};\r\n\r\n// Public: setFileUploadLimit changes the file_upload_limit setting\r\nSWFUpload.prototype.setFileUploadLimit = function (fileUploadLimit) {\r\n\tthis.settings.file_upload_limit = fileUploadLimit;\r\n\tthis.callFlash(\"SetFileUploadLimit\", [fileUploadLimit]);\r\n};\r\n\r\n// Public: setFileQueueLimit changes the file_queue_limit setting\r\nSWFUpload.prototype.setFileQueueLimit = function (fileQueueLimit) {\r\n\tthis.settings.file_queue_limit = fileQueueLimit;\r\n\tthis.callFlash(\"SetFileQueueLimit\", [fileQueueLimit]);\r\n};\r\n\r\n// Public: setFilePostName changes the file_post_name setting\r\nSWFUpload.prototype.setFilePostName = function (filePostName) {\r\n\tthis.settings.file_post_name = filePostName;\r\n\tthis.callFlash(\"SetFilePostName\", [filePostName]);\r\n};\r\n\r\n// Public: setUseQueryString changes the use_query_string setting\r\nSWFUpload.prototype.setUseQueryString = function (useQueryString) {\r\n\tthis.settings.use_query_string = useQueryString;\r\n\tthis.callFlash(\"SetUseQueryString\", [useQueryString]);\r\n};\r\n\r\n// Public: setRequeueOnError changes the requeue_on_error setting\r\nSWFUpload.prototype.setRequeueOnError = function (requeueOnError) {\r\n\tthis.settings.requeue_on_error = requeueOnError;\r\n\tthis.callFlash(\"SetRequeueOnError\", [requeueOnError]);\r\n};\r\n\r\n// Public: setHTTPSuccess changes the http_success setting\r\nSWFUpload.prototype.setHTTPSuccess = function (http_status_codes) {\r\n\tif (typeof http_status_codes === \"string\") {\r\n\t\thttp_status_codes = http_status_codes.replace(\" \", \"\").split(\",\");\r\n\t}\r\n\r\n\tthis.settings.http_success = http_status_codes;\r\n\tthis.callFlash(\"SetHTTPSuccess\", [http_status_codes]);\r\n};\r\n\r\n// Public: setHTTPSuccess changes the http_success setting\r\nSWFUpload.prototype.setAssumeSuccessTimeout = function (timeout_seconds) {\r\n\tthis.settings.assume_success_timeout = timeout_seconds;\r\n\tthis.callFlash(\"SetAssumeSuccessTimeout\", [timeout_seconds]);\r\n};\r\n\r\n// Public: setDebugEnabled changes the debug_enabled setting\r\nSWFUpload.prototype.setDebugEnabled = function (debugEnabled) {\r\n\tthis.settings.debug_enabled = debugEnabled;\r\n\tthis.callFlash(\"SetDebugEnabled\", [debugEnabled]);\r\n};\r\n\r\n// Public: setButtonImageURL loads a button image sprite\r\nSWFUpload.prototype.setButtonImageURL = function (buttonImageURL) {\r\n\tif (buttonImageURL == undefined) {\r\n\t\tbuttonImageURL = \"\";\r\n\t}\r\n\r\n\tthis.settings.button_image_url = buttonImageURL;\r\n\tthis.callFlash(\"SetButtonImageURL\", [buttonImageURL]);\r\n};\r\n\r\n// Public: setButtonDimensions resizes the Flash Movie and button\r\nSWFUpload.prototype.setButtonDimensions = function (width, height) {\r\n\tthis.settings.button_width = width;\r\n\tthis.settings.button_height = height;\r\n\r\n\tvar movie = this.getMovieElement();\r\n\tif (movie != undefined) {\r\n\t\tmovie.style.width = width + \"px\";\r\n\t\tmovie.style.height = height + \"px\";\r\n\t}\r\n\r\n\tthis.callFlash(\"SetButtonDimensions\", [width, height]);\r\n};\r\n// Public: setButtonText Changes the text overlaid on the button\r\nSWFUpload.prototype.setButtonText = function (html) {\r\n\tthis.settings.button_text = html;\r\n\tthis.callFlash(\"SetButtonText\", [html]);\r\n};\r\n// Public: setButtonTextPadding changes the top and left padding of the text overlay\r\nSWFUpload.prototype.setButtonTextPadding = function (left, top) {\r\n\tthis.settings.button_text_top_padding = top;\r\n\tthis.settings.button_text_left_padding = left;\r\n\tthis.callFlash(\"SetButtonTextPadding\", [left, top]);\r\n};\r\n\r\n// Public: setButtonTextStyle changes the CSS used to style the HTML/Text overlaid on the button\r\nSWFUpload.prototype.setButtonTextStyle = function (css) {\r\n\tthis.settings.button_text_style = css;\r\n\tthis.callFlash(\"SetButtonTextStyle\", [css]);\r\n};\r\n// Public: setButtonDisabled disables/enables the button\r\nSWFUpload.prototype.setButtonDisabled = function (isDisabled) {\r\n\tthis.settings.button_disabled = isDisabled;\r\n\tthis.callFlash(\"SetButtonDisabled\", [isDisabled]);\r\n};\r\n// Public: setButtonAction sets the action that occurs when the button is clicked\r\nSWFUpload.prototype.setButtonAction = function (buttonAction) {\r\n\tthis.settings.button_action = buttonAction;\r\n\tthis.callFlash(\"SetButtonAction\", [buttonAction]);\r\n};\r\n\r\n// Public: setButtonCursor changes the mouse cursor displayed when hovering over the button\r\nSWFUpload.prototype.setButtonCursor = function (cursor) {\r\n\tthis.settings.button_cursor = cursor;\r\n\tthis.callFlash(\"SetButtonCursor\", [cursor]);\r\n};\r\n\r\n/* *******************************\r\n\tFlash Event Interfaces\r\n\tThese functions are used by Flash to trigger the various\r\n\tevents.\r\n\r\n\tAll these functions a Private.\r\n\r\n\tBecause the ExternalInterface library is buggy the event calls\r\n\tare added to a queue and the queue then executed by a setTimeout.\r\n\tThis ensures that events are executed in a determinate order and that\r\n\tthe ExternalInterface bugs are avoided.\r\n******************************* */\r\n\r\nSWFUpload.prototype.queueEvent = function (handlerName, argumentArray) {\r\n\t// Warning: Don't call this.debug inside here or you'll create an infinite loop\r\n\r\n\tif (argumentArray == undefined) {\r\n\t\targumentArray = [];\r\n\t} else if (!(argumentArray instanceof Array)) {\r\n\t\targumentArray = [argumentArray];\r\n\t}\r\n\r\n\tvar self = this;\r\n\tif (typeof this.settings[handlerName] === \"function\") {\r\n\t\t// Queue the event\r\n\t\tthis.eventQueue.push(function () {\r\n\t\t\tthis.settings[handlerName].apply(this, argumentArray);\r\n\t\t});\r\n\r\n\t\t// Execute the next queued event\r\n\t\tsetTimeout(function () {\r\n\t\t\tself.executeNextEvent();\r\n\t\t}, 0);\r\n\r\n\t} else if (this.settings[handlerName] !== null) {\r\n\t\tthrow \"Event handler \" + handlerName + \" is unknown or is not a function\";\r\n\t}\r\n};\r\n\r\n// Private: Causes the next event in the queue to be executed.  Since events are queued using a setTimeout\r\n// we must queue them in order to garentee that they are executed in order.\r\nSWFUpload.prototype.executeNextEvent = function () {\r\n\t// Warning: Don't call this.debug inside here or you'll create an infinite loop\r\n\r\n\tvar  f = this.eventQueue ? this.eventQueue.shift() : null;\r\n\tif (typeof(f) === \"function\") {\r\n\t\tf.apply(this);\r\n\t}\r\n};\r\n\r\n// Private: unescapeFileParams is part of a workaround for a flash bug where objects passed through ExternalInterface cannot have\r\n// properties that contain characters that are not valid for JavaScript identifiers. To work around this\r\n// the Flash Component escapes the parameter names and we must unescape again before passing them along.\r\nSWFUpload.prototype.unescapeFilePostParams = function (file) {\r\n\tvar reg = /[$]([0-9a-f]{4})/i;\r\n\tvar unescapedPost = {};\r\n\tvar uk;\r\n\r\n\tif (file != undefined) {\r\n\t\tfor (var k in file.post) {\r\n\t\t\tif (file.post.hasOwnProperty(k)) {\r\n\t\t\t\tuk = k;\r\n\t\t\t\tvar match;\r\n\t\t\t\twhile ((match = reg.exec(uk)) !== null) {\r\n\t\t\t\t\tuk = uk.replace(match[0], String.fromCharCode(parseInt(\"0x\" + match[1], 16)));\r\n\t\t\t\t}\r\n\t\t\t\tunescapedPost[uk] = file.post[k];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfile.post = unescapedPost;\r\n\t}\r\n\r\n\treturn file;\r\n};\r\n\r\n// Private: Called by Flash to see if JS can call in to Flash (test if External Interface is working)\r\nSWFUpload.prototype.testExternalInterface = function () {\r\n\ttry {\r\n\t\treturn this.callFlash(\"TestExternalInterface\");\r\n\t} catch (ex) {\r\n\t\treturn false;\r\n\t}\r\n};\r\n\r\n// Private: This event is called by Flash when it has finished loading. Don't modify this.\r\n// Use the swfupload_loaded_handler event setting to execute custom code when SWFUpload has loaded.\r\nSWFUpload.prototype.flashReady = function () {\r\n\t// Check that the movie element is loaded correctly with its ExternalInterface methods defined\r\n\tvar movieElement = this.getMovieElement();\r\n\r\n\tif (!movieElement) {\r\n\t\tthis.debug(\"Flash called back ready but the flash movie can't be found.\");\r\n\t\treturn;\r\n\t}\r\n\r\n\tthis.cleanUp(movieElement);\r\n\r\n\tthis.queueEvent(\"swfupload_loaded_handler\");\r\n};\r\n\r\n// Private: removes Flash added fuctions to the DOM node to prevent memory leaks in IE.\r\n// This function is called by Flash each time the ExternalInterface functions are created.\r\nSWFUpload.prototype.cleanUp = function (movieElement) {\r\n\t// Pro-actively unhook all the Flash functions\r\n\ttry {\r\n\t\tif (this.movieElement && typeof(movieElement.CallFunction) === \"unknown\") { // We only want to do this in IE\r\n\t\t\tthis.debug(\"Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)\");\r\n\t\t\tfor (var key in movieElement) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tif (typeof(movieElement[key]) === \"function\") {\r\n\t\t\t\t\t\tmovieElement[key] = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t} catch (ex) {\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t} catch (ex1) {\r\n\r\n\t}\r\n\r\n\t// Fix Flashes own cleanup code so if the SWFMovie was removed from the page\r\n\t// it doesn't display errors.\r\n\twindow[\"__flash__removeCallback\"] = function (instance, name) {\r\n\t\ttry {\r\n\t\t\tif (instance) {\r\n\t\t\t\tinstance[name] = null;\r\n\t\t\t}\r\n\t\t} catch (flashEx) {\r\n\r\n\t\t}\r\n\t};\r\n\r\n};\r\n\r\n\r\n/* This is a chance to do something before the browse window opens */\r\nSWFUpload.prototype.fileDialogStart = function () {\r\n\tthis.queueEvent(\"file_dialog_start_handler\");\r\n};\r\n\r\n\r\n/* Called when a file is successfully added to the queue. */\r\nSWFUpload.prototype.fileQueued = function (file) {\r\n\tfile = this.unescapeFilePostParams(file);\r\n\tthis.queueEvent(\"file_queued_handler\", file);\r\n};\r\n\r\n\r\n/* Handle errors that occur when an attempt to queue a file fails. */\r\nSWFUpload.prototype.fileQueueError = function (file, errorCode, message) {\r\n\tfile = this.unescapeFilePostParams(file);\r\n\tthis.queueEvent(\"file_queue_error_handler\", [file, errorCode, message]);\r\n};\r\n\r\n/* Called after the file dialog has closed and the selected files have been queued.\r\n\tYou could call startUpload here if you want the queued files to begin uploading immediately. */\r\nSWFUpload.prototype.fileDialogComplete = function (numFilesSelected, numFilesQueued, numFilesInQueue) {\r\n\tthis.queueEvent(\"file_dialog_complete_handler\", [numFilesSelected, numFilesQueued, numFilesInQueue]);\r\n};\r\n\r\nSWFUpload.prototype.uploadStart = function (file) {\r\n\tfile = this.unescapeFilePostParams(file);\r\n\tthis.queueEvent(\"return_upload_start_handler\", file);\r\n};\r\n\r\nSWFUpload.prototype.returnUploadStart = function (file) {\r\n\tvar returnValue;\r\n\tif (typeof this.settings.upload_start_handler === \"function\") {\r\n\t\tfile = this.unescapeFilePostParams(file);\r\n\t\treturnValue = this.settings.upload_start_handler.call(this, file);\r\n\t} else if (this.settings.upload_start_handler != undefined) {\r\n\t\tthrow \"upload_start_handler must be a function\";\r\n\t}\r\n\r\n\t// Convert undefined to true so if nothing is returned from the upload_start_handler it is\r\n\t// interpretted as 'true'.\r\n\tif (returnValue === undefined) {\r\n\t\treturnValue = true;\r\n\t}\r\n\r\n\treturnValue = !!returnValue;\r\n\r\n\tthis.callFlash(\"ReturnUploadStart\", [returnValue]);\r\n};\r\n\r\n\r\n\r\nSWFUpload.prototype.uploadProgress = function (file, bytesComplete, bytesTotal) {\r\n\tfile = this.unescapeFilePostParams(file);\r\n\tthis.queueEvent(\"upload_progress_handler\", [file, bytesComplete, bytesTotal]);\r\n};\r\n\r\nSWFUpload.prototype.uploadError = function (file, errorCode, message) {\r\n\tfile = this.unescapeFilePostParams(file);\r\n\tthis.queueEvent(\"upload_error_handler\", [file, errorCode, message]);\r\n};\r\n\r\nSWFUpload.prototype.uploadSuccess = function (file, serverData, responseReceived) {\r\n\tfile = this.unescapeFilePostParams(file);\r\n\tthis.queueEvent(\"upload_success_handler\", [file, serverData, responseReceived]);\r\n};\r\n\r\nSWFUpload.prototype.uploadComplete = function (file) {\r\n\tfile = this.unescapeFilePostParams(file);\r\n\tthis.queueEvent(\"upload_complete_handler\", file);\r\n};\r\n\r\n/* Called by SWFUpload JavaScript and Flash functions when debug is enabled. By default it writes messages to the\r\n   internal debug console.  You can override this event and have messages written where you want. */\r\nSWFUpload.prototype.debug = function (message) {\r\n\tthis.queueEvent(\"debug_handler\", message);\r\n};\r\n\r\n\r\n/* **********************************\r\n\tDebug Console\r\n\tThe debug console is a self contained, in page location\r\n\tfor debug message to be sent.  The Debug Console adds\r\n\titself to the body if necessary.\r\n\r\n\tThe console is automatically scrolled as messages appear.\r\n\r\n\tIf you are using your own debug handler or when you deploy to production and\r\n\thave debug disabled you can remove these functions to reduce the file size\r\n\tand complexity.\r\n********************************** */\r\n\r\n// Private: debugMessage is the default debug_handler.  If you want to print debug messages\r\n// call the debug() function.  When overriding the function your own function should\r\n// check to see if the debug setting is true before outputting debug information.\r\nSWFUpload.prototype.debugMessage = function (message) {\r\n\tif (this.settings.debug) {\r\n\t\tvar exceptionMessage, exceptionValues = [];\r\n\r\n\t\t// Check for an exception object and print it nicely\r\n\t\tif (typeof message === \"object\" && typeof message.name === \"string\" && typeof message.message === \"string\") {\r\n\t\t\tfor (var key in message) {\r\n\t\t\t\tif (message.hasOwnProperty(key)) {\r\n\t\t\t\t\texceptionValues.push(key + \": \" + message[key]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\texceptionMessage = exceptionValues.join(\"\\n\") || \"\";\r\n\t\t\texceptionValues = exceptionMessage.split(\"\\n\");\r\n\t\t\texceptionMessage = \"EXCEPTION: \" + exceptionValues.join(\"\\nEXCEPTION: \");\r\n\t\t\tSWFUpload.Console.writeLine(exceptionMessage);\r\n\t\t} else {\r\n\t\t\tSWFUpload.Console.writeLine(message);\r\n\t\t}\r\n\t}\r\n};\r\n\r\nSWFUpload.Console = {};\r\nSWFUpload.Console.writeLine = function (message) {\r\n\tvar console, documentForm;\r\n\r\n\ttry {\r\n\t\tconsole = document.getElementById(\"SWFUpload_Console\");\r\n\r\n\t\tif (!console) {\r\n\t\t\tdocumentForm = document.createElement(\"form\");\r\n\t\t\tdocument.getElementsByTagName(\"body\")[0].appendChild(documentForm);\r\n\r\n\t\t\tconsole = document.createElement(\"textarea\");\r\n\t\t\tconsole.id = \"SWFUpload_Console\";\r\n\t\t\tconsole.style.fontFamily = \"monospace\";\r\n\t\t\tconsole.setAttribute(\"wrap\", \"off\");\r\n\t\t\tconsole.wrap = \"off\";\r\n\t\t\tconsole.style.overflow = \"auto\";\r\n\t\t\tconsole.style.width = \"700px\";\r\n\t\t\tconsole.style.height = \"350px\";\r\n\t\t\tconsole.style.margin = \"5px\";\r\n\t\t\tdocumentForm.appendChild(console);\r\n\t\t}\r\n\r\n\t\tconsole.value += message + \"\\n\";\r\n\r\n\t\tconsole.scrollTop = console.scrollHeight - console.clientHeight;\r\n\t} catch (ex) {\r\n\t\talert(\"Exception: \" + ex.name + \" Message: \" + ex.message);\r\n\t}\r\n};\r\n\r\n})();\r\n\r\n(function() {\r\n/*\r\n\tQueue Plug-in\r\n\r\n\tFeatures:\r\n\t\t*Adds a cancelQueue() method for cancelling the entire queue.\r\n\t\t*All queued files are uploaded when startUpload() is called.\r\n\t\t*If false is returned from uploadComplete then the queue upload is stopped.\r\n\t\t If false is not returned (strict comparison) then the queue upload is continued.\r\n\t\t*Adds a QueueComplete event that is fired when all the queued files have finished uploading.\r\n\t\t Set the event handler with the queue_complete_handler setting.\r\n\r\n\t*/\r\n\r\nif (typeof(SWFUpload) === \"function\") {\r\n\tSWFUpload.queue = {};\r\n\r\n\tSWFUpload.prototype.initSettings = (function (oldInitSettings) {\r\n\t\treturn function () {\r\n\t\t\tif (typeof(oldInitSettings) === \"function\") {\r\n\t\t\t\toldInitSettings.call(this);\r\n\t\t\t}\r\n\r\n\t\t\tthis.queueSettings = {};\r\n\r\n\t\t\tthis.queueSettings.queue_cancelled_flag = false;\r\n\t\t\tthis.queueSettings.queue_upload_count = 0;\r\n\r\n\t\t\tthis.queueSettings.user_upload_complete_handler = this.settings.upload_complete_handler;\r\n\t\t\tthis.queueSettings.user_upload_start_handler = this.settings.upload_start_handler;\r\n\t\t\tthis.settings.upload_complete_handler = SWFUpload.queue.uploadCompleteHandler;\r\n\t\t\tthis.settings.upload_start_handler = SWFUpload.queue.uploadStartHandler;\r\n\r\n\t\t\tthis.settings.queue_complete_handler = this.settings.queue_complete_handler || null;\r\n\t\t};\r\n\t})(SWFUpload.prototype.initSettings);\r\n\r\n\tSWFUpload.prototype.startUpload = function (fileID) {\r\n\t\tthis.queueSettings.queue_cancelled_flag = false;\r\n\t\tthis.callFlash(\"StartUpload\", [fileID]);\r\n\t};\r\n\r\n\tSWFUpload.prototype.cancelQueue = function () {\r\n\t\tthis.queueSettings.queue_cancelled_flag = true;\r\n\t\tthis.stopUpload();\r\n\r\n\t\tvar stats = this.getStats();\r\n\t\twhile (stats.files_queued > 0) {\r\n\t\t\tthis.cancelUpload();\r\n\t\t\tstats = this.getStats();\r\n\t\t}\r\n\t};\r\n\r\n\tSWFUpload.queue.uploadStartHandler = function (file) {\r\n\t\tvar returnValue;\r\n\t\tif (typeof(this.queueSettings.user_upload_start_handler) === \"function\") {\r\n\t\t\treturnValue = this.queueSettings.user_upload_start_handler.call(this, file);\r\n\t\t}\r\n\r\n\t\t// To prevent upload a real \"FALSE\" value must be returned, otherwise default to a real \"TRUE\" value.\r\n\t\treturnValue = (returnValue === false) ? false : true;\r\n\r\n\t\tthis.queueSettings.queue_cancelled_flag = !returnValue;\r\n\r\n\t\treturn returnValue;\r\n\t};\r\n\r\n\tSWFUpload.queue.uploadCompleteHandler = function (file) {\r\n\t\tvar user_upload_complete_handler = this.queueSettings.user_upload_complete_handler;\r\n\t\tvar continueUpload;\r\n\r\n\t\tif (file.filestatus === SWFUpload.FILE_STATUS.COMPLETE) {\r\n\t\t\tthis.queueSettings.queue_upload_count++;\r\n\t\t}\r\n\r\n\t\tif (typeof(user_upload_complete_handler) === \"function\") {\r\n\t\t\tcontinueUpload = (user_upload_complete_handler.call(this, file) === false) ? false : true;\r\n\t\t} else if (file.filestatus === SWFUpload.FILE_STATUS.QUEUED) {\r\n\t\t\t// If the file was stopped and re-queued don't restart the upload\r\n\t\t\tcontinueUpload = false;\r\n\t\t} else {\r\n\t\t\tcontinueUpload = true;\r\n\t\t}\r\n\r\n\t\tif (continueUpload) {\r\n\t\t\tvar stats = this.getStats();\r\n\t\t\tif (stats.files_queued > 0 && this.queueSettings.queue_cancelled_flag === false) {\r\n\t\t\t\tthis.startUpload();\r\n\t\t\t} else if (this.queueSettings.queue_cancelled_flag === false) {\r\n\t\t\t\tthis.queueEvent(\"queue_complete_handler\", [this.queueSettings.queue_upload_count]);\r\n\t\t\t\tthis.queueSettings.queue_upload_count = 0;\r\n\t\t\t} else {\r\n\t\t\t\tthis.queueSettings.queue_cancelled_flag = false;\r\n\t\t\t\tthis.queueSettings.queue_upload_count = 0;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}\r\n\r\n})();\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('pagebreak', function(K) {\r\n\tvar self = this;\r\n\tvar name = 'pagebreak';\r\n\tvar pagebreakHtml = K.undef(self.pagebreakHtml, '<hr style=\"page-break-after: always;\" class=\"ke-pagebreak\" />');\r\n\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar cmd = self.cmd, range = cmd.range;\r\n\t\tself.focus();\r\n\t\tvar tail = self.newlineTag == 'br' || K.WEBKIT ? '' : '<span id=\"__kindeditor_tail_tag__\"></span>';\r\n\t\tself.insertHtml(pagebreakHtml + tail);\r\n\t\tif (tail !== '') {\r\n\t\t\tvar p = K('#__kindeditor_tail_tag__', self.edit.doc);\r\n\t\t\trange.selectNodeContents(p[0]);\r\n\t\t\tp.removeAttr('id');\r\n\t\t\tcmd.select();\r\n\t\t}\r\n\t});\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('plainpaste', function(K) {\r\n\tvar self = this, name = 'plainpaste';\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar lang = self.lang(name + '.'),\r\n\t\t\thtml = '<div style=\"padding:10px 20px;\">' +\r\n\t\t\t\t'<div style=\"margin-bottom:10px;\">' + lang.comment + '</div>' +\r\n\t\t\t\t'<textarea class=\"ke-textarea\" style=\"width:408px;height:260px;\"></textarea>' +\r\n\t\t\t\t'</div>',\r\n\t\t\tdialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 450,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar html = textarea.val();\r\n\t\t\t\t\t\thtml = K.escape(html);\r\n\t\t\t\t\t\thtml = html.replace(/ {2}/g, ' &nbsp;');\r\n\t\t\t\t\t\tif (self.newlineTag == 'p') {\r\n\t\t\t\t\t\t\thtml = html.replace(/^/, '<p>').replace(/$/, '</p>').replace(/\\n/g, '</p><p>');\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\thtml = html.replace(/\\n/g, '<br />$&');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tself.insertHtml(html).hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\ttextarea = K('textarea', dialog.div);\r\n\t\ttextarea[0].focus();\r\n\t});\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('preview', function(K) {\r\n\tvar self = this, name = 'preview', undefined;\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar lang = self.lang(name + '.'),\r\n\t\t\thtml = '<div style=\"padding:10px 20px;\">' +\r\n\t\t\t\t'<iframe class=\"ke-textarea\" frameborder=\"0\" style=\"width:708px;height:400px;\"></iframe>' +\r\n\t\t\t\t'</div>',\r\n\t\t\tdialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 750,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html\r\n\t\t\t}),\r\n\t\t\tiframe = K('iframe', dialog.div),\r\n\t\t\tdoc = K.iframeDoc(iframe);\r\n\t\tdoc.open();\r\n\t\tdoc.write(self.fullHtml());\r\n\t\tdoc.close();\r\n\t\tK(doc.body).css('background-color', '#FFF');\r\n\t\tiframe[0].contentWindow.focus();\r\n\t});\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('quickformat', function(K) {\r\n\tvar self = this, name = 'quickformat',\r\n\t\tblockMap = K.toMap('blockquote,center,div,h1,h2,h3,h4,h5,h6,p');\r\n\tfunction getFirstChild(knode) {\r\n\t\tvar child = knode.first();\r\n\t\twhile (child && child.first()) {\r\n\t\t\tchild = child.first();\r\n\t\t}\r\n\t\treturn child;\r\n\t}\r\n\tself.clickToolbar(name, function() {\r\n\t\tself.focus();\r\n\t\tvar doc = self.edit.doc,\r\n\t\t\trange = self.cmd.range,\r\n\t\t\tchild = K(doc.body).first(), next,\r\n\t\t\tnodeList = [], subList = [],\r\n\t\t\tbookmark = range.createBookmark(true);\r\n\t\twhile(child) {\r\n\t\t\tnext = child.next();\r\n\t\t\tvar firstChild = getFirstChild(child);\r\n\t\t\tif (!firstChild || firstChild.name != 'img') {\r\n\t\t\t\tif (blockMap[child.name]) {\r\n\t\t\t\t\tchild.html(child.html().replace(/^(\\s|&nbsp;|　)+/ig, ''));\r\n\t\t\t\t\tchild.css('text-indent', '2em');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsubList.push(child);\r\n\t\t\t\t}\r\n\t\t\t\tif (!next || (blockMap[next.name] || blockMap[child.name] && !blockMap[next.name])) {\r\n\t\t\t\t\tif (subList.length > 0) {\r\n\t\t\t\t\t\tnodeList.push(subList);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsubList = [];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tchild = next;\r\n\t\t}\r\n\t\tK.each(nodeList, function(i, subList) {\r\n\t\t\tvar wrapper = K('<p style=\"text-indent:2em;\"></p>', doc);\r\n\t\t\tsubList[0].before(wrapper);\r\n\t\t\tK.each(subList, function(i, knode) {\r\n\t\t\t\twrapper.append(knode);\r\n\t\t\t});\r\n\t\t});\r\n\t\trange.moveToBookmark(bookmark);\r\n\t\tself.addBookmark();\r\n\t});\r\n});\r\n\r\n/**\r\n--------------------------\r\nabcd<br />\r\n1234<br />\r\n\r\nto\r\n\r\n<p style=\"text-indent:2em;\">\r\n\tabcd<br />\r\n\t1234<br />\r\n</p>\r\n\r\n--------------------------\r\n\r\n&nbsp; abcd<img>1233\r\n<p>1234</p>\r\n\r\nto\r\n\r\n<p style=\"text-indent:2em;\">abcd<img>1233</p>\r\n<p style=\"text-indent:2em;\">1234</p>\r\n\r\n--------------------------\r\n*//*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('table', function(K) {\r\n\tvar self = this, name = 'table', lang = self.lang(name + '.'), zeroborder = 'ke-zeroborder';\r\n\t// 设置颜色\r\n\tfunction _setColor(box, color) {\r\n\t\tcolor = color.toUpperCase();\r\n\t\tbox.css('background-color', color);\r\n\t\tbox.css('color', color === '#000000' ? '#FFFFFF' : '#000000');\r\n\t\tbox.html(color);\r\n\t}\r\n\t// 初始化取色器\r\n\tvar pickerList = [];\r\n\tfunction _initColorPicker(dialogDiv, colorBox) {\r\n\t\tcolorBox.bind('click,mousedown', function(e){\r\n\t\t\te.stopPropagation();\r\n\t\t});\r\n\t\tfunction removePicker() {\r\n\t\t\tK.each(pickerList, function() {\r\n\t\t\t\tthis.remove();\r\n\t\t\t});\r\n\t\t\tpickerList = [];\r\n\t\t\tK(document).unbind('click,mousedown', removePicker);\r\n\t\t\tdialogDiv.unbind('click,mousedown', removePicker);\r\n\t\t}\r\n\t\tcolorBox.click(function(e) {\r\n\t\t\tremovePicker();\r\n\t\t\tvar box = K(this),\r\n\t\t\t\tpos = box.pos();\r\n\t\t\tvar picker = K.colorpicker({\r\n\t\t\t\tx : pos.x,\r\n\t\t\t\ty : pos.y + box.height(),\r\n\t\t\t\tz : 811214,\r\n\t\t\t\tselectedColor : K(this).html(),\r\n\t\t\t\tcolors : self.colorTable,\r\n\t\t\t\tnoColor : self.lang('noColor'),\r\n\t\t\t\tshadowMode : self.shadowMode,\r\n\t\t\t\tclick : function(color) {\r\n\t\t\t\t\t_setColor(box, color);\r\n\t\t\t\t\tremovePicker();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tpickerList.push(picker);\r\n\t\t\tK(document).bind('click,mousedown', removePicker);\r\n\t\t\tdialogDiv.bind('click,mousedown', removePicker);\r\n\t\t});\r\n\t}\r\n\t// 取得下一行cell的index\r\n\tfunction _getCellIndex(table, row, cell) {\r\n\t\tvar rowSpanCount = 0;\r\n\t\tfor (var i = 0, len = row.cells.length; i < len; i++) {\r\n\t\t\tif (row.cells[i] == cell) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\trowSpanCount += row.cells[i].rowSpan - 1;\r\n\t\t}\r\n\t\treturn cell.cellIndex - rowSpanCount;\r\n\t}\r\n\tself.plugin.table = {\r\n\t\t//insert or modify table\r\n\t\tprop : function(isInsert) {\r\n\t\t\tvar html = [\r\n\t\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t\t//rows, cols\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keRows\" style=\"width:90px;\">' + lang.cells + '</label>',\r\n\t\t\t\tlang.rows + ' <input type=\"text\" id=\"keRows\" class=\"ke-input-text ke-input-number\" name=\"rows\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\tlang.cols + ' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"cols\" value=\"\" maxlength=\"4\" />',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//width, height\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keWidth\" style=\"width:90px;\">' + lang.size + '</label>',\r\n\t\t\t\tlang.width + ' <input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\t'<select name=\"widthType\">',\r\n\t\t\t\t'<option value=\"%\">' + lang.percent + '</option>',\r\n\t\t\t\t'<option value=\"px\">' + lang.px + '</option>',\r\n\t\t\t\t'</select> &nbsp; ',\r\n\t\t\t\tlang.height + ' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\t'<select name=\"heightType\">',\r\n\t\t\t\t'<option value=\"%\">' + lang.percent + '</option>',\r\n\t\t\t\t'<option value=\"px\">' + lang.px + '</option>',\r\n\t\t\t\t'</select>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//space, padding\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"kePadding\" style=\"width:90px;\">' + lang.space + '</label>',\r\n\t\t\t\tlang.padding + ' <input type=\"text\" id=\"kePadding\" class=\"ke-input-text ke-input-number\" name=\"padding\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\tlang.spacing + ' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"spacing\" value=\"\" maxlength=\"4\" />',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//align\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keAlign\" style=\"width:90px;\">' + lang.align + '</label>',\r\n\t\t\t\t'<select id=\"keAlign\" name=\"align\">',\r\n\t\t\t\t'<option value=\"\">' + lang.alignDefault + '</option>',\r\n\t\t\t\t'<option value=\"left\">' + lang.alignLeft + '</option>',\r\n\t\t\t\t'<option value=\"center\">' + lang.alignCenter + '</option>',\r\n\t\t\t\t'<option value=\"right\">' + lang.alignRight + '</option>',\r\n\t\t\t\t'</select>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//border\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keBorder\" style=\"width:90px;\">' + lang.border + '</label>',\r\n\t\t\t\tlang.borderWidth + ' <input type=\"text\" id=\"keBorder\" class=\"ke-input-text ke-input-number\" name=\"border\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\tlang.borderColor + ' <span class=\"ke-inline-block ke-input-color\"></span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//background color\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keBgColor\" style=\"width:90px;\">' + lang.backgroundColor + '</label>',\r\n\t\t\t\t'<span class=\"ke-inline-block ke-input-color\"></span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'</div>'\r\n\t\t\t].join('');\r\n\t\t\tvar bookmark = self.cmd.range.createBookmark();\r\n\t\t\tvar dialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 500,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tbeforeRemove : function() {\r\n\t\t\t\t\tcolorBox.unbind();\r\n\t\t\t\t},\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar rows = rowsBox.val(),\r\n\t\t\t\t\t\t\tcols = colsBox.val(),\r\n\t\t\t\t\t\t\twidth = widthBox.val(),\r\n\t\t\t\t\t\t\theight = heightBox.val(),\r\n\t\t\t\t\t\t\twidthType = widthTypeBox.val(),\r\n\t\t\t\t\t\t\theightType = heightTypeBox.val(),\r\n\t\t\t\t\t\t\tpadding = paddingBox.val(),\r\n\t\t\t\t\t\t\tspacing = spacingBox.val(),\r\n\t\t\t\t\t\t\talign = alignBox.val(),\r\n\t\t\t\t\t\t\tborder = borderBox.val(),\r\n\t\t\t\t\t\t\tborderColor = K(colorBox[0]).html() || '',\r\n\t\t\t\t\t\t\tbgColor = K(colorBox[1]).html() || '';\r\n\t\t\t\t\t\tif (rows == 0 || !/^\\d+$/.test(rows)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidRows'));\r\n\t\t\t\t\t\t\trowsBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (cols == 0 || !/^\\d+$/.test(cols)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidRows'));\r\n\t\t\t\t\t\t\tcolsBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(width)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidWidth'));\r\n\t\t\t\t\t\t\twidthBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(height)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidHeight'));\r\n\t\t\t\t\t\t\theightBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(padding)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidPadding'));\r\n\t\t\t\t\t\t\tpaddingBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(spacing)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidSpacing'));\r\n\t\t\t\t\t\t\tspacingBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(border)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidBorder'));\r\n\t\t\t\t\t\t\tborderBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//modify table\r\n\t\t\t\t\t\tif (table) {\r\n\t\t\t\t\t\t\tif (width !== '') {\r\n\t\t\t\t\t\t\t\ttable.width(width + widthType);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.css('width', '');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (table[0].width !== undefined) {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('width');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (height !== '') {\r\n\t\t\t\t\t\t\t\ttable.height(height + heightType);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.css('height', '');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (table[0].height !== undefined) {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('height');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttable.css('background-color', bgColor);\r\n\t\t\t\t\t\t\tif (table[0].bgColor !== undefined) {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('bgColor');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (padding !== '') {\r\n\t\t\t\t\t\t\t\ttable[0].cellPadding = padding;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('cellPadding');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (spacing !== '') {\r\n\t\t\t\t\t\t\t\ttable[0].cellSpacing = spacing;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('cellSpacing');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (align !== '') {\r\n\t\t\t\t\t\t\t\ttable[0].align = align;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('align');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (border !== '') {\r\n\t\t\t\t\t\t\t\ttable.attr('border', border);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('border');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (border === '' || border === '0') {\r\n\t\t\t\t\t\t\t\ttable.addClass(zeroborder);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeClass(zeroborder);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (borderColor !== '') {\r\n\t\t\t\t\t\t\t\ttable.attr('borderColor', borderColor);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('borderColor');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tself.hideDialog().focus();\r\n\t\t\t\t\t\t\tself.cmd.range.moveToBookmark(bookmark);\r\n\t\t\t\t\t\t\tself.cmd.select();\r\n\t\t\t\t\t\t\tself.addBookmark();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//insert new table\r\n\t\t\t\t\t\tvar style = '';\r\n\t\t\t\t\t\tif (width !== '') {\r\n\t\t\t\t\t\t\tstyle += 'width:' + width + widthType + ';';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (height !== '') {\r\n\t\t\t\t\t\t\tstyle += 'height:' + height + heightType + ';';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (bgColor !== '') {\r\n\t\t\t\t\t\t\tstyle += 'background-color:' + bgColor + ';';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvar html = '<table';\r\n\t\t\t\t\t\tif (style !== '') {\r\n\t\t\t\t\t\t\thtml += ' style=\"' + style + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (padding !== '') {\r\n\t\t\t\t\t\t\thtml += ' cellpadding=\"' + padding + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (spacing !== '') {\r\n\t\t\t\t\t\t\thtml += ' cellspacing=\"' + spacing + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (align !== '') {\r\n\t\t\t\t\t\t\thtml += ' align=\"' + align + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (border !== '') {\r\n\t\t\t\t\t\t\thtml += ' border=\"' + border + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (border === '' || border === '0') {\r\n\t\t\t\t\t\t\thtml += ' class=\"' + zeroborder + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (borderColor !== '') {\r\n\t\t\t\t\t\t\thtml += ' bordercolor=\"' + borderColor + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\thtml += '>';\r\n\t\t\t\t\t\tfor (var i = 0; i < rows; i++) {\r\n\t\t\t\t\t\t\thtml += '<tr>';\r\n\t\t\t\t\t\t\tfor (var j = 0; j < cols; j++) {\r\n\t\t\t\t\t\t\t\thtml += '<td>' + (K.IE ? '&nbsp;' : '<br />') + '</td>';\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\thtml += '</tr>';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\thtml += '</table>';\r\n\t\t\t\t\t\tif (!K.IE) {\r\n\t\t\t\t\t\t\thtml += '<br />';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tself.insertHtml(html);\r\n\t\t\t\t\t\tself.select().hideDialog().focus();\r\n\t\t\t\t\t\tself.addBookmark();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdiv = dialog.div,\r\n\t\t\trowsBox = K('[name=\"rows\"]', div).val(3),\r\n\t\t\tcolsBox = K('[name=\"cols\"]', div).val(2),\r\n\t\t\twidthBox = K('[name=\"width\"]', div).val(100),\r\n\t\t\theightBox = K('[name=\"height\"]', div),\r\n\t\t\twidthTypeBox = K('[name=\"widthType\"]', div),\r\n\t\t\theightTypeBox = K('[name=\"heightType\"]', div),\r\n\t\t\tpaddingBox = K('[name=\"padding\"]', div).val(2),\r\n\t\t\tspacingBox = K('[name=\"spacing\"]', div).val(0),\r\n\t\t\talignBox = K('[name=\"align\"]', div),\r\n\t\t\tborderBox = K('[name=\"border\"]', div).val(1),\r\n\t\t\tcolorBox = K('.ke-input-color', div);\r\n\t\t\t_initColorPicker(div, colorBox.eq(0));\r\n\t\t\t_initColorPicker(div, colorBox.eq(1));\r\n\t\t\t_setColor(colorBox.eq(0), '#000000');\r\n\t\t\t_setColor(colorBox.eq(1), '');\r\n\t\t\t// foucs and select\r\n\t\t\trowsBox[0].focus();\r\n\t\t\trowsBox[0].select();\r\n\t\t\tvar table;\r\n\t\t\tif (isInsert) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t//get selected table node\r\n\t\t\ttable = self.plugin.getSelectedTable();\r\n\t\t\tif (table) {\r\n\t\t\t\trowsBox.val(table[0].rows.length);\r\n\t\t\t\tcolsBox.val(table[0].rows.length > 0 ? table[0].rows[0].cells.length : 0);\r\n\t\t\t\trowsBox.attr('disabled', true);\r\n\t\t\t\tcolsBox.attr('disabled', true);\r\n\t\t\t\tvar match,\r\n\t\t\t\t\ttableWidth = table[0].style.width || table[0].width,\r\n\t\t\t\t\ttableHeight = table[0].style.height || table[0].height;\r\n\t\t\t\tif (tableWidth !== undefined && (match = /^(\\d+)((?:px|%)*)$/.exec(tableWidth))) {\r\n\t\t\t\t\twidthBox.val(match[1]);\r\n\t\t\t\t\twidthTypeBox.val(match[2]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\twidthBox.val('');\r\n\t\t\t\t}\r\n\t\t\t\tif (tableHeight !== undefined && (match = /^(\\d+)((?:px|%)*)$/.exec(tableHeight))) {\r\n\t\t\t\t\theightBox.val(match[1]);\r\n\t\t\t\t\theightTypeBox.val(match[2]);\r\n\t\t\t\t}\r\n\t\t\t\tpaddingBox.val(table[0].cellPadding || '');\r\n\t\t\t\tspacingBox.val(table[0].cellSpacing || '');\r\n\t\t\t\talignBox.val(table[0].align || '');\r\n\t\t\t\tborderBox.val(table[0].border === undefined ? '' : table[0].border);\r\n\t\t\t\t_setColor(colorBox.eq(0), K.toHex(table.attr('borderColor') || ''));\r\n\t\t\t\t_setColor(colorBox.eq(1), K.toHex(table[0].style.backgroundColor || table[0].bgColor || ''));\r\n\t\t\t\twidthBox[0].focus();\r\n\t\t\t\twidthBox[0].select();\r\n\t\t\t}\r\n\t\t},\r\n\t\t//modify cell\r\n\t\tcellprop : function() {\r\n\t\t\tvar html = [\r\n\t\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t\t//width, height\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keWidth\" style=\"width:90px;\">' + lang.size + '</label>',\r\n\t\t\t\tlang.width + ' <input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\t'<select name=\"widthType\">',\r\n\t\t\t\t'<option value=\"%\">' + lang.percent + '</option>',\r\n\t\t\t\t'<option value=\"px\">' + lang.px + '</option>',\r\n\t\t\t\t'</select> &nbsp; ',\r\n\t\t\t\tlang.height + ' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\t'<select name=\"heightType\">',\r\n\t\t\t\t'<option value=\"%\">' + lang.percent + '</option>',\r\n\t\t\t\t'<option value=\"px\">' + lang.px + '</option>',\r\n\t\t\t\t'</select>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//align\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keAlign\" style=\"width:90px;\">' + lang.align + '</label>',\r\n\t\t\t\tlang.textAlign + ' <select id=\"keAlign\" name=\"textAlign\">',\r\n\t\t\t\t'<option value=\"\">' + lang.alignDefault + '</option>',\r\n\t\t\t\t'<option value=\"left\">' + lang.alignLeft + '</option>',\r\n\t\t\t\t'<option value=\"center\">' + lang.alignCenter + '</option>',\r\n\t\t\t\t'<option value=\"right\">' + lang.alignRight + '</option>',\r\n\t\t\t\t'</select> ',\r\n\t\t\t\tlang.verticalAlign + ' <select name=\"verticalAlign\">',\r\n\t\t\t\t'<option value=\"\">' + lang.alignDefault + '</option>',\r\n\t\t\t\t'<option value=\"top\">' + lang.alignTop + '</option>',\r\n\t\t\t\t'<option value=\"middle\">' + lang.alignMiddle + '</option>',\r\n\t\t\t\t'<option value=\"bottom\">' + lang.alignBottom + '</option>',\r\n\t\t\t\t'<option value=\"baseline\">' + lang.alignBaseline + '</option>',\r\n\t\t\t\t'</select>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//border\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keBorder\" style=\"width:90px;\">' + lang.border + '</label>',\r\n\t\t\t\tlang.borderWidth + ' <input type=\"text\" id=\"keBorder\" class=\"ke-input-text ke-input-number\" name=\"border\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\tlang.borderColor + ' <span class=\"ke-inline-block ke-input-color\"></span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//background color\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keBgColor\" style=\"width:90px;\">' + lang.backgroundColor + '</label>',\r\n\t\t\t\t'<span class=\"ke-inline-block ke-input-color\"></span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'</div>'\r\n\t\t\t].join('');\r\n\t\t\tvar bookmark = self.cmd.range.createBookmark();\r\n\t\t\tvar dialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 500,\r\n\t\t\t\ttitle : self.lang('tablecell'),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tbeforeRemove : function() {\r\n\t\t\t\t\tcolorBox.unbind();\r\n\t\t\t\t},\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar width = widthBox.val(),\r\n\t\t\t\t\t\t\theight = heightBox.val(),\r\n\t\t\t\t\t\t\twidthType = widthTypeBox.val(),\r\n\t\t\t\t\t\t\theightType = heightTypeBox.val(),\r\n\t\t\t\t\t\t\tpadding = paddingBox.val(),\r\n\t\t\t\t\t\t\tspacing = spacingBox.val(),\r\n\t\t\t\t\t\t\ttextAlign = textAlignBox.val(),\r\n\t\t\t\t\t\t\tverticalAlign = verticalAlignBox.val(),\r\n\t\t\t\t\t\t\tborder = borderBox.val(),\r\n\t\t\t\t\t\t\tborderColor = K(colorBox[0]).html() || '',\r\n\t\t\t\t\t\t\tbgColor = K(colorBox[1]).html() || '';\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(width)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidWidth'));\r\n\t\t\t\t\t\t\twidthBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(height)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidHeight'));\r\n\t\t\t\t\t\t\theightBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(border)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidBorder'));\r\n\t\t\t\t\t\t\tborderBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcell.css({\r\n\t\t\t\t\t\t\twidth : width !== '' ? (width + widthType) : '',\r\n\t\t\t\t\t\t\theight : height !== '' ? (height + heightType) : '',\r\n\t\t\t\t\t\t\t'background-color' : bgColor,\r\n\t\t\t\t\t\t\t'text-align' : textAlign,\r\n\t\t\t\t\t\t\t'vertical-align' : verticalAlign,\r\n\t\t\t\t\t\t\t'border-width' : border,\r\n\t\t\t\t\t\t\t'border-style' : border !== '' ? 'solid' : '',\r\n\t\t\t\t\t\t\t'border-color' : borderColor\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tself.hideDialog().focus();\r\n\t\t\t\t\t\tself.cmd.range.moveToBookmark(bookmark);\r\n\t\t\t\t\t\tself.cmd.select();\r\n\t\t\t\t\t\tself.addBookmark();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdiv = dialog.div,\r\n\t\t\twidthBox = K('[name=\"width\"]', div).val(100),\r\n\t\t\theightBox = K('[name=\"height\"]', div),\r\n\t\t\twidthTypeBox = K('[name=\"widthType\"]', div),\r\n\t\t\theightTypeBox = K('[name=\"heightType\"]', div),\r\n\t\t\tpaddingBox = K('[name=\"padding\"]', div).val(2),\r\n\t\t\tspacingBox = K('[name=\"spacing\"]', div).val(0),\r\n\t\t\ttextAlignBox = K('[name=\"textAlign\"]', div),\r\n\t\t\tverticalAlignBox = K('[name=\"verticalAlign\"]', div),\r\n\t\t\tborderBox = K('[name=\"border\"]', div).val(1),\r\n\t\t\tcolorBox = K('.ke-input-color', div);\r\n\t\t\t_initColorPicker(div, colorBox.eq(0));\r\n\t\t\t_initColorPicker(div, colorBox.eq(1));\r\n\t\t\t_setColor(colorBox.eq(0), '#000000');\r\n\t\t\t_setColor(colorBox.eq(1), '');\r\n\t\t\t// foucs and select\r\n\t\t\twidthBox[0].focus();\r\n\t\t\twidthBox[0].select();\r\n\t\t\t// get selected cell\r\n\t\t\tvar cell = self.plugin.getSelectedCell();\r\n\t\t\tvar match,\r\n\t\t\t\tcellWidth = cell[0].style.width || cell[0].width || '',\r\n\t\t\t\tcellHeight = cell[0].style.height || cell[0].height || '';\r\n\t\t\tif ((match = /^(\\d+)((?:px|%)*)$/.exec(cellWidth))) {\r\n\t\t\t\twidthBox.val(match[1]);\r\n\t\t\t\twidthTypeBox.val(match[2]);\r\n\t\t\t} else {\r\n\t\t\t\twidthBox.val('');\r\n\t\t\t}\r\n\t\t\tif ((match = /^(\\d+)((?:px|%)*)$/.exec(cellHeight))) {\r\n\t\t\t\theightBox.val(match[1]);\r\n\t\t\t\theightTypeBox.val(match[2]);\r\n\t\t\t}\r\n\t\t\ttextAlignBox.val(cell[0].style.textAlign || '');\r\n\t\t\tverticalAlignBox.val(cell[0].style.verticalAlign || '');\r\n\t\t\tvar border = cell[0].style.borderWidth || '';\r\n\t\t\tif (border) {\r\n\t\t\t\tborder = parseInt(border);\r\n\t\t\t}\r\n\t\t\tborderBox.val(border);\r\n\t\t\t_setColor(colorBox.eq(0), K.toHex(cell[0].style.borderColor || ''));\r\n\t\t\t_setColor(colorBox.eq(1), K.toHex(cell[0].style.backgroundColor || ''));\r\n\t\t\twidthBox[0].focus();\r\n\t\t\twidthBox[0].select();\r\n\t\t},\r\n\t\tinsert : function() {\r\n\t\t\tthis.prop(true);\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable();\r\n\t\t\tself.cmd.range.setStartBefore(table[0]).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\ttable.remove();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\tcolinsert : function(offset) {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\tindex = cell.cellIndex + offset;\r\n\t\t\t// 取得第一行的index\r\n\t\t\tindex += table.rows[0].cells.length - row.cells.length;\r\n\r\n\t\t\tfor (var i = 0, len = table.rows.length; i < len; i++) {\r\n\t\t\t\tvar newRow = table.rows[i],\r\n\t\t\t\t\tnewCell = newRow.insertCell(index);\r\n\t\t\t\tnewCell.innerHTML = K.IE ? '' : '<br />';\r\n\t\t\t\t// 调整下一行的单元格index\r\n\t\t\t\tindex = _getCellIndex(table, newRow, newCell);\r\n\t\t\t}\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\tcolinsertleft : function() {\r\n\t\t\tthis.colinsert(0);\r\n\t\t},\r\n\t\tcolinsertright : function() {\r\n\t\t\tthis.colinsert(1);\r\n\t\t},\r\n\t\trowinsert : function(offset) {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0];\r\n\t\t\tvar rowIndex = row.rowIndex;\r\n\t\t\tif (offset === 1) {\r\n\t\t\t\trowIndex = row.rowIndex + (cell.rowSpan - 1) + offset;\r\n\t\t\t}\r\n\t\t\tvar newRow = table.insertRow(rowIndex);\r\n\r\n\t\t\tfor (var i = 0, len = row.cells.length; i < len; i++) {\r\n\t\t\t\t// 调整cell个数\r\n\t\t\t\tif (row.cells[i].rowSpan > 1) {\r\n\t\t\t\t\tlen -= row.cells[i].rowSpan - 1;\r\n\t\t\t\t}\r\n\t\t\t\tvar newCell = newRow.insertCell(i);\r\n\t\t\t\t// copy colspan\r\n\t\t\t\tif (offset === 1 && row.cells[i].colSpan > 1) {\r\n\t\t\t\t\tnewCell.colSpan = row.cells[i].colSpan;\r\n\t\t\t\t}\r\n\t\t\t\tnewCell.innerHTML = K.IE ? '' : '<br />';\r\n\t\t\t}\r\n\t\t\t// 调整rowspan\r\n\t\t\tfor (var j = rowIndex; j >= 0; j--) {\r\n\t\t\t\tvar cells = table.rows[j].cells;\r\n\t\t\t\tif (cells.length > i) {\r\n\t\t\t\t\tfor (var k = cell.cellIndex; k >= 0; k--) {\r\n\t\t\t\t\t\tif (cells[k].rowSpan > 1) {\r\n\t\t\t\t\t\t\tcells[k].rowSpan += 1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\trowinsertabove : function() {\r\n\t\t\tthis.rowinsert(0);\r\n\t\t},\r\n\t\trowinsertbelow : function() {\r\n\t\t\tthis.rowinsert(1);\r\n\t\t},\r\n\t\trowmerge : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\trowIndex = row.rowIndex, // 当前行的index\r\n\t\t\t\tnextRowIndex = rowIndex + cell.rowSpan, // 下一行的index\r\n\t\t\t\tnextRow = table.rows[nextRowIndex]; // 下一行\r\n\t\t\t// 最后一行不能合并\r\n\t\t\tif (table.rows.length <= nextRowIndex) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar cellIndex = cell.cellIndex; // 下一行单元格的index\r\n\t\t\tif (nextRow.cells.length <= cellIndex) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar nextCell = nextRow.cells[cellIndex]; // 下一行单元格\r\n\t\t\t// 上下行的colspan不一致时不能合并\r\n\t\t\tif (cell.colSpan !== nextCell.colSpan) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tcell.rowSpan += nextCell.rowSpan;\r\n\t\t\tnextRow.deleteCell(cellIndex);\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\tcolmerge : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\trowIndex = row.rowIndex, // 当前行的index\r\n\t\t\t\tcellIndex = cell.cellIndex,\r\n\t\t\t\tnextCellIndex = cellIndex + 1;\r\n\t\t\t// 最后一列不能合并\r\n\t\t\tif (row.cells.length <= nextCellIndex) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar nextCell = row.cells[nextCellIndex];\r\n\t\t\t// 左右列的rowspan不一致时不能合并\r\n\t\t\tif (cell.rowSpan !== nextCell.rowSpan) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tcell.colSpan += nextCell.colSpan;\r\n\t\t\trow.deleteCell(nextCellIndex);\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\trowsplit : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\trowIndex = row.rowIndex;\r\n\t\t\t// 不是可分割单元格\r\n\t\t\tif (cell.rowSpan === 1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar cellIndex = _getCellIndex(table, row, cell);\r\n\t\t\tfor (var i = 1, len = cell.rowSpan; i < len; i++) {\r\n\t\t\t\tvar newRow = table.rows[rowIndex + i],\r\n\t\t\t\t\tnewCell = newRow.insertCell(cellIndex);\r\n\t\t\t\tif (cell.colSpan > 1) {\r\n\t\t\t\t\tnewCell.colSpan = cell.colSpan;\r\n\t\t\t\t}\r\n\t\t\t\tnewCell.innerHTML = K.IE ? '' : '<br />';\r\n\t\t\t\t// 调整下一行的单元格index\r\n\t\t\t\tcellIndex = _getCellIndex(table, newRow, newCell);\r\n\t\t\t}\r\n\t\t\tK(cell).removeAttr('rowSpan');\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\tcolsplit : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\tcellIndex = cell.cellIndex;\r\n\t\t\t// 不是可分割单元格\r\n\t\t\tif (cell.colSpan === 1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tfor (var i = 1, len = cell.colSpan; i < len; i++) {\r\n\t\t\t\tvar newCell = row.insertCell(cellIndex + i);\r\n\t\t\t\tif (cell.rowSpan > 1) {\r\n\t\t\t\t\tnewCell.rowSpan = cell.rowSpan;\r\n\t\t\t\t}\r\n\t\t\t\tnewCell.innerHTML = K.IE ? '' : '<br />';\r\n\t\t\t}\r\n\t\t\tK(cell).removeAttr('colSpan');\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\tcoldelete : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\tindex = cell.cellIndex;\r\n\t\t\tfor (var i = 0, len = table.rows.length; i < len; i++) {\r\n\t\t\t\tvar newRow = table.rows[i],\r\n\t\t\t\t\tnewCell = newRow.cells[index];\r\n\t\t\t\tif (newCell.colSpan > 1) {\r\n\t\t\t\t\tnewCell.colSpan -= 1;\r\n\t\t\t\t\tif (newCell.colSpan === 1) {\r\n\t\t\t\t\t\tK(newCell).removeAttr('colSpan');\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewRow.deleteCell(index);\r\n\t\t\t\t}\r\n\t\t\t\t// 跳过不需要删除的行\r\n\t\t\t\tif (newCell.rowSpan > 1) {\r\n\t\t\t\t\ti += newCell.rowSpan - 1;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (row.cells.length === 0) {\r\n\t\t\t\tself.cmd.range.setStartBefore(table).collapse(true);\r\n\t\t\t\tself.cmd.select();\r\n\t\t\t\tK(table).remove();\r\n\t\t\t} else {\r\n\t\t\t\tself.cmd.selection(true);\r\n\t\t\t}\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\trowdelete : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\trowIndex = row.rowIndex;\r\n\t\t\t// 从下到上删除\r\n\t\t\tfor (var i = cell.rowSpan - 1; i >= 0; i--) {\r\n\t\t\t\ttable.deleteRow(rowIndex + i);\r\n\t\t\t}\r\n\t\t\tif (table.rows.length === 0) {\r\n\t\t\t\tself.cmd.range.setStartBefore(table).collapse(true);\r\n\t\t\t\tself.cmd.select();\r\n\t\t\t\tK(table).remove();\r\n\t\t\t} else {\r\n\t\t\t\tself.cmd.selection(true);\r\n\t\t\t}\r\n\t\t\tself.addBookmark();\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.table.prop);\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('template', function(K) {\r\n\tvar self = this, name = 'template', lang = self.lang(name + '.'),\r\n\t\thtmlPath = self.pluginsPath + name + '/html/';\r\n\tfunction getFilePath(fileName) {\r\n\t\treturn htmlPath + fileName + '?ver=' + encodeURIComponent(K.DEBUG ? K.TIME : K.VERSION);\r\n\t}\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar lang = self.lang(name + '.'),\r\n\t\t\tarr = ['<div style=\"padding:10px 20px;\">',\r\n\t\t\t\t'<div class=\"ke-header\">',\r\n\t\t\t\t// left start\r\n\t\t\t\t'<div class=\"ke-left\">',\r\n\t\t\t\tlang. selectTemplate + ' <select>'];\r\n\t\t\tK.each(lang.fileList, function(key, val) {\r\n\t\t\t\tarr.push('<option value=\"' + key + '\">' + val + '</option>');\r\n\t\t\t});\r\n\t\t\thtml = [arr.join(''),\r\n\t\t\t\t'</select></div>',\r\n\t\t\t\t// right start\r\n\t\t\t\t'<div class=\"ke-right\">',\r\n\t\t\t\t'<input type=\"checkbox\" id=\"keReplaceFlag\" name=\"replaceFlag\" value=\"1\" /> <label for=\"keReplaceFlag\">' + lang.replaceContent + '</label>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-clearfix\"></div>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<iframe class=\"ke-textarea\" frameborder=\"0\" style=\"width:458px;height:260px;background-color:#FFF;\"></iframe>',\r\n\t\t\t\t'</div>'].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : 500,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tvar doc = K.iframeDoc(iframe);\r\n\t\t\t\t\tself[checkbox[0].checked ? 'html' : 'insertHtml'](doc.body.innerHTML).hideDialog().focus();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar selectBox = K('select', dialog.div),\r\n\t\t\tcheckbox = K('[name=\"replaceFlag\"]', dialog.div),\r\n\t\t\tiframe = K('iframe', dialog.div);\r\n\t\tcheckbox[0].checked = true;\r\n\t\tiframe.attr('src', getFilePath(selectBox.val()));\r\n\t\tselectBox.change(function() {\r\n\t\t\tiframe.attr('src', getFilePath(this.value));\r\n\t\t});\r\n\t});\r\n});\r\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('wordpaste', function(K) {\r\n\tvar self = this, name = 'wordpaste';\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar lang = self.lang(name + '.'),\r\n\t\t\thtml = '<div style=\"padding:10px 20px;\">' +\r\n\t\t\t\t'<div style=\"margin-bottom:10px;\">' + lang.comment + '</div>' +\r\n\t\t\t\t'<iframe class=\"ke-textarea\" frameborder=\"0\" style=\"width:408px;height:260px;\"></iframe>' +\r\n\t\t\t\t'</div>',\r\n\t\t\tdialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 450,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar str = doc.body.innerHTML;\r\n\t\t\t\t\t\tstr = K.clearMsWord(str, self.filterMode ? self.htmlTags : K.options.htmlTags);\r\n\t\t\t\t\t\tself.insertHtml(str).hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdiv = dialog.div,\r\n\t\t\tiframe = K('iframe', div),\r\n\t\t\tdoc = K.iframeDoc(iframe);\r\n\t\tif (!K.IE) {\r\n\t\t\tdoc.designMode = 'on';\r\n\t\t}\r\n\t\tdoc.open();\r\n\t\tdoc.write('<!doctype html><html><head><title>WordPaste</title></head>');\r\n\t\tdoc.write('<body style=\"background-color:#FFF;font-size:12px;margin:2px;\">');\r\n\t\tif (!K.IE) {\r\n\t\t\tdoc.write('<br />');\r\n\t\t}\r\n\t\tdoc.write('</body></html>');\r\n\t\tdoc.close();\r\n\t\tif (K.IE) {\r\n\t\t\tdoc.body.contentEditable = 'true';\r\n\t\t}\r\n\t\tiframe[0].contentWindow.focus();\r\n\t});\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/kindeditor-min.js",
    "content": "/* KindEditor 4.1.10 (2013-11-23), Copyright (C) kindsoft.net, Licence: http://www.kindsoft.net/license.php */(function(w,i){function Z(a){if(!a)return!1;return Object.prototype.toString.call(a)===\"[object Array]\"}function wa(a){if(!a)return!1;return Object.prototype.toString.call(a)===\"[object Function]\"}function J(a,b){for(var c=0,d=b.length;c<d;c++)if(a===b[c])return c;return-1}function m(a,b){if(Z(a))for(var c=0,d=a.length;c<d;c++){if(b.call(a[c],c,a[c])===!1)break}else for(c in a)if(a.hasOwnProperty(c)&&b.call(a[c],c,a[c])===!1)break}function B(a){return a.replace(/(?:^[ \\t\\n\\r]+)|(?:[ \\t\\n\\r]+$)/g,\n\"\")}function xa(a,b,c){c=c===i?\",\":c;return(c+b+c).indexOf(c+a+c)>=0}function s(a,b){b=b||\"px\";return a&&/^\\d+$/.test(a)?a+b:a}function t(a){var b;return a&&(b=/(\\d+)/.exec(a))?parseInt(b[1],10):0}function C(a){return a.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\")}function fa(a){return a.replace(/&lt;/g,\"<\").replace(/&gt;/g,\">\").replace(/&quot;/g,'\"').replace(/&amp;/g,\"&\")}function ga(a){var b=a.split(\"-\"),a=\"\";m(b,function(b,d){a+=b>0?d.charAt(0).toUpperCase()+\nd.substr(1):d});return a}function ya(a){function b(a){a=parseInt(a,10).toString(16).toUpperCase();return a.length>1?a:\"0\"+a}return a.replace(/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/ig,function(a,d,e,g){return\"#\"+b(d)+b(e)+b(g)})}function u(a,b){var b=b===i?\",\":b,c={},d=Z(a)?a:a.split(b),e;m(d,function(a,b){if(e=/^(\\d+)\\.\\.(\\d+)$/.exec(b))for(var d=parseInt(e[1],10);d<=parseInt(e[2],10);d++)c[d.toString()]=!0;else c[b]=!0});return c}function Ja(a,b){return Array.prototype.slice.call(a,b||0)}\nfunction l(a,b){return a===i?b:a}function E(a,b,c){c||(c=b,b=null);var d;if(b){var e=function(){};e.prototype=b.prototype;d=new e;m(c,function(a,b){d[a]=b})}else d=c;d.constructor=a;a.prototype=d;a.parent=b?b.prototype:null}function eb(a){var b;if(b=/\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\]/.exec(a))a=b[0];b=/[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;b.lastIndex=0;b.test(a)&&(a=a.replace(b,function(a){return\"\\\\u\"+(\"0000\"+a.charCodeAt(0).toString(16)).slice(-4)}));\nif(/^[\\],:{}\\s]*$/.test(a.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g,\"@\").replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,\"]\").replace(/(?:^|:|,)(?:\\s*\\[)+/g,\"\")))return eval(\"(\"+a+\")\");throw\"JSON parse error\";}function Rb(a,b,c){a.addEventListener?a.addEventListener(b,c,fb):a.attachEvent&&a.attachEvent(\"on\"+b,c)}function za(a,b,c){a.removeEventListener?a.removeEventListener(b,c,fb):a.detachEvent&&a.detachEvent(\"on\"+b,c)}function gb(a,b){this.init(a,b)}function hb(a){try{delete a[$]}catch(b){a.removeAttribute&&\na.removeAttribute($)}}function aa(a,b,c){if(b.indexOf(\",\")>=0)m(b.split(\",\"),function(){aa(a,this,c)});else{var d=a[$]||null;d||(a[$]=++ib,d=ib);v[d]===i&&(v[d]={});var e=v[d][b];e&&e.length>0?za(a,b,e[0]):(v[d][b]=[],v[d].el=a);e=v[d][b];e.length===0&&(e[0]=function(b){var c=b?new gb(a,b):i;m(e,function(b,d){b>0&&d&&d.call(a,c)})});J(c,e)<0&&e.push(c);Rb(a,b,e[0])}}function ha(a,b,c){if(b&&b.indexOf(\",\")>=0)m(b.split(\",\"),function(){ha(a,this,c)});else{var d=a[$]||null;if(d)if(b===i)d in v&&(m(v[d],\nfunction(b,c){b!=\"el\"&&c.length>0&&za(a,b,c[0])}),delete v[d],hb(a));else if(v[d]){var e=v[d][b];if(e&&e.length>0){c===i?(za(a,b,e[0]),delete v[d][b]):(m(e,function(a,b){a>0&&b===c&&e.splice(a,1)}),e.length==1&&(za(a,b,e[0]),delete v[d][b]));var g=0;m(v[d],function(){g++});g<2&&(delete v[d],hb(a))}}}}function jb(a,b){if(b.indexOf(\",\")>=0)m(b.split(\",\"),function(){jb(a,this)});else{var c=a[$]||null;if(c){var d=v[c][b];if(v[c]&&d&&d.length>0)d[0]()}}}function Ka(a,b,c){b=/^\\d{2,}$/.test(b)?b:b.toUpperCase().charCodeAt(0);\naa(a,\"keydown\",function(d){d.ctrlKey&&d.which==b&&!d.shiftKey&&!d.altKey&&(c.call(a),d.stop())})}function ba(a){for(var b={},c=/\\s*([\\w\\-]+)\\s*:([^;]*)(;|$)/g,d;d=c.exec(a);){var e=B(d[1].toLowerCase());d=B(ya(d[2]));b[e]=d}return b}function I(a){for(var b={},c=/\\s+(?:([\\w\\-:]+)|(?:([\\w\\-:]+)=([^\\s\"'<>]+))|(?:([\\w\\-:\"]+)=\"([^\"]*)\")|(?:([\\w\\-:\"]+)='([^']*)'))(?=(?:\\s|\\/|>)+)/g,d;d=c.exec(a);){var e=(d[1]||d[2]||d[4]||d[6]).toLowerCase();b[e]=(d[2]?d[3]:d[4]?d[5]:d[7])||\"\"}return b}function Sb(a,b){return a=\n/\\s+class\\s*=/.test(a)?a.replace(/(\\s+class=[\"']?)([^\"']*)([\"']?[\\s>])/,function(a,d,e,g){return(\" \"+e+\" \").indexOf(\" \"+b+\" \")<0?e===\"\"?d+b+g:d+e+\" \"+b+g:a}):a.substr(0,a.length-1)+' class=\"'+b+'\">'}function Tb(a){var b=\"\";m(ba(a),function(a,d){b+=a+\":\"+d+\";\"});return b}function ia(a,b,c,d){function e(a){for(var a=a.split(\"/\"),b=[],c=0,d=a.length;c<d;c++){var e=a[c];e==\"..\"?b.length>0&&b.pop():e!==\"\"&&e!=\".\"&&b.push(e)}return\"/\"+b.join(\"/\")}function g(b,c){if(a.substr(0,b.length)===b){for(var e=[],\nh=0;h<c;h++)e.push(\"..\");h=\".\";e.length>0&&(h+=\"/\"+e.join(\"/\"));d==\"/\"&&(h+=\"/\");return h+a.substr(b.length)}else if(f=/^(.*)\\//.exec(b))return g(f[1],++c)}b=l(b,\"\").toLowerCase();a.substr(0,5)!=\"data:\"&&(a=a.replace(/([^:])\\/\\//g,\"$1/\"));if(J(b,[\"absolute\",\"relative\",\"domain\"])<0)return a;c=c||location.protocol+\"//\"+location.host;if(d===i)var h=location.pathname.match(/^(\\/.*)\\//),d=h?h[1]:\"\";var f;if(f=/^(\\w+:\\/\\/[^\\/]*)/.exec(a)){if(f[1]!==c)return a}else if(/^\\w+:/.test(a))return a;/^\\//.test(a)?\na=c+e(a.substr(1)):/^\\w+:\\/\\//.test(a)||(a=c+e(d+\"/\"+a));b===\"relative\"?a=g(c+d,0).substr(2):b===\"absolute\"&&a.substr(0,c.length)===c&&(a=a.substr(c.length));return a}function U(a,b,c,d,e){a==null&&(a=\"\");var c=c||\"\",d=l(d,!1),e=l(e,\"\\t\"),g=\"xx-small,x-small,small,medium,large,x-large,xx-large\".split(\",\"),a=a.replace(/(<(?:pre|pre\\s[^>]*)>)([\\s\\S]*?)(<\\/pre>)/ig,function(a,b,c,d){return b+c.replace(/<(?:br|br\\s[^>]*)>/ig,\"\\n\")+d}),a=a.replace(/<(?:br|br\\s[^>]*)\\s*\\/?>\\s*<\\/p>/ig,\"</p>\"),a=a.replace(/(<(?:p|p\\s[^>]*)>)\\s*(<\\/p>)/ig,\n\"$1<br />$2\"),a=a.replace(/\\u200B/g,\"\"),a=a.replace(/\\u00A9/g,\"&copy;\"),a=a.replace(/\\u00AE/g,\"&reg;\"),a=a.replace(/<[^>]+/g,function(a){return a.replace(/\\s+/g,\" \")}),h={};b&&(m(b,function(a,b){for(var c=a.split(\",\"),d=0,e=c.length;d<e;d++)h[c[d]]=u(b)}),h.script||(a=a.replace(/(<(?:script|script\\s[^>]*)>)([\\s\\S]*?)(<\\/script>)/ig,\"\")),h.style||(a=a.replace(/(<(?:style|style\\s[^>]*)>)([\\s\\S]*?)(<\\/style>)/ig,\"\")));var f=[],a=a.replace(/(\\s*)<(\\/)?([\\w\\-:]+)((?:\\s+|(?:\\s+[\\w\\-:]+)|(?:\\s+[\\w\\-:]+=[^\\s\"'<>]+)|(?:\\s+[\\w\\-:\"]+=\"[^\"]*\")|(?:\\s+[\\w\\-:\"]+='[^']*'))*)(\\/)?>(\\s*)/g,\nfunction(a,n,q,r,K,ja,i){var n=n||\"\",q=q||\"\",l=r.toLowerCase(),o=K||\"\",r=ja?\" \"+ja:\"\",i=i||\"\";if(b&&!h[l])return\"\";r===\"\"&&kb[l]&&(r=\" /\");lb[l]&&(n&&(n=\" \"),i&&(i=\" \"));La[l]&&(q?i=\"\\n\":n=\"\\n\");d&&l==\"br\"&&(i=\"\\n\");if(mb[l]&&!La[l])if(d){q&&f.length>0&&f[f.length-1]===l?f.pop():f.push(l);i=n=\"\\n\";K=0;for(ja=q?f.length:f.length-1;K<ja;K++)n+=e,q||(i+=e);r?f.pop():q||(i+=e)}else n=i=\"\";if(o!==\"\"){var z=I(a);if(l===\"font\"){var L={},F=\"\";m(z,function(a,b){if(a===\"color\")L.color=b,delete z[a];a===\"size\"&&\n(L[\"font-size\"]=g[parseInt(b,10)-1]||\"\",delete z[a]);a===\"face\"&&(L[\"font-family\"]=b,delete z[a]);a===\"style\"&&(F=b)});F&&!/;$/.test(F)&&(F+=\";\");m(L,function(a,b){b!==\"\"&&(/\\s/.test(b)&&(b=\"'\"+b+\"'\"),F+=a+\":\"+b+\";\")});z.style=F}m(z,function(a,d){Ub[a]&&(z[a]=a);J(a,[\"src\",\"href\"])>=0&&(z[a]=ia(d,c));(b&&a!==\"style\"&&!h[l][\"*\"]&&!h[l][a]||l===\"body\"&&a===\"contenteditable\"||/^kindeditor_\\d+$/.test(a))&&delete z[a];if(a===\"style\"&&d!==\"\"){var e=ba(d);m(e,function(a){b&&!h[l].style&&!h[l][\".\"+a]&&delete e[a]});\nvar g=\"\";m(e,function(a,b){g+=a+\":\"+b+\";\"});z.style=g}});o=\"\";m(z,function(a,b){a===\"style\"&&b===\"\"||(b=b.replace(/\"/g,\"&quot;\"),o+=\" \"+a+'=\"'+b+'\"')})}l===\"font\"&&(l=\"span\");return n+\"<\"+q+l+o+r+\">\"+i}),a=a.replace(/(<(?:pre|pre\\s[^>]*)>)([\\s\\S]*?)(<\\/pre>)/ig,function(a,b,c,d){return b+c.replace(/\\n/g,'<span id=\"__kindeditor_pre_newline__\">\\n')+d}),a=a.replace(/\\n\\s*\\n/g,\"\\n\"),a=a.replace(/<span id=\"__kindeditor_pre_newline__\">\\n/g,\"\\n\");return B(a)}function nb(a,b){a=a.replace(/<meta[\\s\\S]*?>/ig,\n\"\").replace(/<![\\s\\S]*?>/ig,\"\").replace(/<style[^>]*>[\\s\\S]*?<\\/style>/ig,\"\").replace(/<script[^>]*>[\\s\\S]*?<\\/script>/ig,\"\").replace(/<w:[^>]+>[\\s\\S]*?<\\/w:[^>]+>/ig,\"\").replace(/<o:[^>]+>[\\s\\S]*?<\\/o:[^>]+>/ig,\"\").replace(/<xml>[\\s\\S]*?<\\/xml>/ig,\"\").replace(/<(?:table|td)[^>]*>/ig,function(a){return a.replace(/border-bottom:([#\\w\\s]+)/ig,\"border:$1\")});return U(a,b)}function ob(a){if(/\\.(rm|rmvb)(\\?|$)/i.test(a))return\"audio/x-pn-realaudio-plugin\";if(/\\.(swf|flv)(\\?|$)/i.test(a))return\"application/x-shockwave-flash\";\nreturn\"video/x-ms-asf-plugin\"}function pb(a){return I(unescape(a))}function Ma(a){var b=\"<embed \";m(a,function(a,d){b+=a+'=\"'+d+'\" '});b+=\"/>\";return b}function qb(a,b){var c=b.width,d=b.height,e=b.type||ob(b.src),g=Ma(b),h=\"\";/\\D/.test(c)?h+=\"width:\"+c+\";\":c>0&&(h+=\"width:\"+c+\"px;\");/\\D/.test(d)?h+=\"height:\"+d+\";\":d>0&&(h+=\"height:\"+d+\"px;\");c=/realaudio/i.test(e)?\"ke-rm\":/flash/i.test(e)?\"ke-flash\":\"ke-media\";c='<img class=\"'+c+'\" src=\"'+a+'\" ';h!==\"\"&&(c+='style=\"'+h+'\" ');c+='data-ke-tag=\"'+escape(g)+\n'\" alt=\"\" />';return c}function Aa(a,b){if(a.nodeType==9&&b.nodeType!=9)return!0;for(;b=b.parentNode;)if(b==a)return!0;return!1}function Ba(a,b){var b=b.toLowerCase(),c=null;if(!Vb&&a.nodeName.toLowerCase()!=\"script\"){var d=a.ownerDocument.createElement(\"div\");d.appendChild(a.cloneNode(!1));d=I(fa(d.innerHTML));b in d&&(c=d[b])}else try{c=a.getAttribute(b,2)}catch(e){c=a.getAttribute(b,1)}b===\"style\"&&c!==null&&(c=Tb(c));return c}function Ca(a,b){function c(a){if(typeof a!=\"string\")return a;return a.replace(/([^\\w\\-])/g,\n\"\\\\$1\")}function d(a,b){return a===\"*\"||a.toLowerCase()===c(b.toLowerCase())}function e(a,b,c){var e=[];(a=(c.ownerDocument||c).getElementById(a.replace(/\\\\/g,\"\")))&&d(b,a.nodeName)&&Aa(c,a)&&e.push(a);return e}function g(a,b,c){var e=c.ownerDocument||c,g=[],h,f,j;if(c.getElementsByClassName){e=c.getElementsByClassName(a.replace(/\\\\/g,\"\"));h=0;for(f=e.length;h<f;h++)j=e[h],d(b,j.nodeName)&&g.push(j)}else if(e.querySelectorAll){e=e.querySelectorAll((c.nodeName!==\"#document\"?c.nodeName+\" \":\"\")+b+\".\"+\na);h=0;for(f=e.length;h<f;h++)j=e[h],Aa(c,j)&&g.push(j)}else{e=c.getElementsByTagName(b);a=\" \"+a+\" \";h=0;for(f=e.length;h<f;h++)if(j=e[h],j.nodeType==1)(b=j.className)&&(\" \"+b+\" \").indexOf(a)>-1&&g.push(j)}return g}function h(a,b,d,e){for(var g=[],d=e.getElementsByTagName(d),h=0,f=d.length;h<f;h++)e=d[h],e.nodeType==1&&(b===null?Ba(e,a)!==null&&g.push(e):b===c(Ba(e,a))&&g.push(e));return g}function f(a,b){var c=[],j,k=(j=/^((?:\\\\.|[^.#\\s\\[<>])+)/.exec(a))?j[1]:\"*\";if(j=/#((?:[\\w\\-]|\\\\.)+)$/.exec(a))c=\ne(j[1],k,b);else if(j=/\\.((?:[\\w\\-]|\\\\.)+)$/.exec(a))c=g(j[1],k,b);else if(j=/\\[((?:[\\w\\-]|\\\\.)+)\\]/.exec(a))c=h(j[1].toLowerCase(),null,k,b);else if(j=/\\[((?:[\\w\\-]|\\\\.)+)\\s*=\\s*['\"]?((?:\\\\.|[^'\"]+)+)['\"]?\\]/.exec(a)){c=j[1].toLowerCase();j=j[2];if(c===\"id\")k=e(j,k,b);else if(c===\"class\")k=g(j,k,b);else if(c===\"name\"){c=[];j=(b.ownerDocument||b).getElementsByName(j.replace(/\\\\/g,\"\"));for(var n,r=0,q=j.length;r<q;r++)n=j[r],d(k,n.nodeName)&&Aa(b,n)&&n.getAttribute(\"name\")!==null&&c.push(n);k=c}else k=\nh(c,j,k,b);c=k}else{k=b.getElementsByTagName(k);n=0;for(r=k.length;n<r;n++)j=k[n],j.nodeType==1&&c.push(j)}return c}var k=a.split(\",\");if(k.length>1){var n=[];m(k,function(){m(Ca(this,b),function(){J(this,n)<0&&n.push(this)})});return n}for(var b=b||document,k=[],q,r=/((?:\\\\.|[^\\s>])+|[\\s>])/g;q=r.exec(a);)q[1]!==\" \"&&k.push(q[1]);q=[];if(k.length==1)return f(k[0],b);var r=!1,K,l,i,o,p,z,L,F,s,t;z=0;for(lenth=k.length;z<lenth;z++)if(K=k[z],K===\">\")r=!0;else{if(z>0){l=[];L=0;for(s=q.length;L<s;L++){o=\nq[L];i=f(K,o);F=0;for(t=i.length;F<t;F++)p=i[F],r?o===p.parentNode&&l.push(p):l.push(p)}q=l}else q=f(K,b);if(q.length===0)return[]}return q}function V(a){if(!a)return document;return a.ownerDocument||a.document||a}function W(a){if(!a)return w;a=V(a);return a.parentWindow||a.defaultView}function Wb(a,b){if(a.nodeType==1){var c=V(a);try{a.innerHTML='<img id=\"__kindeditor_temp_tag__\" width=\"0\" height=\"0\" style=\"display:none;\" />'+b;var d=c.getElementById(\"__kindeditor_temp_tag__\");d.parentNode.removeChild(d)}catch(e){f(a).empty(),\nf(\"@\"+b,c).each(function(){a.appendChild(this)})}}}function Na(a,b,c){o&&A<8&&b.toLowerCase()==\"class\"&&(b=\"className\");a.setAttribute(b,\"\"+c)}function Oa(a){if(!a||!a.nodeName)return\"\";return a.nodeName.toLowerCase()}function Xb(a,b){var c=W(a),d=ga(b),e=\"\";c.getComputedStyle?(c=c.getComputedStyle(a,null),e=c[d]||c.getPropertyValue(b)||a.style[d]):a.currentStyle&&(e=a.currentStyle[d]||a.style[d]);return e}function G(a){a=a||document;return P?a.body:a.documentElement}function ca(a){var a=a||document,\nb;o||Yb||Pa?(b=G(a).scrollLeft,a=G(a).scrollTop):(b=W(a).scrollX,a=W(a).scrollY);return{x:b,y:a}}function D(a){this.init(a)}function rb(a){a.collapsed=a.startContainer===a.endContainer&&a.startOffset===a.endOffset;return a}function Qa(a,b,c){function d(d,e,g){var h=d.nodeValue.length,k;b&&(k=d.cloneNode(!0),k=e>0?k.splitText(e):k,g<h&&k.splitText(g-e));if(c){var n=d;e>0&&(n=d.splitText(e),a.setStart(d,e));g<h&&(d=n.splitText(g-e),a.setEnd(d,0));f.push(n)}return k}function e(){c&&a.up().collapse(!0);\nfor(var b=0,d=f.length;b<d;b++){var e=f[b];e.parentNode&&e.parentNode.removeChild(e)}}function g(e,l){for(var i=e.firstChild,o;i;){o=(new M(h)).selectNode(i);n=o.compareBoundaryPoints(ka,a);n>=0&&q<=0&&(q=o.compareBoundaryPoints(la,a));q>=0&&r<=0&&(r=o.compareBoundaryPoints(da,a));r>=0&&m<=0&&(m=o.compareBoundaryPoints(ma,a));if(m>=0)return!1;o=i.nextSibling;if(n>0)if(i.nodeType==1)if(q>=0&&r<=0)b&&l.appendChild(i.cloneNode(!0)),c&&f.push(i);else{var p;b&&(p=i.cloneNode(!1),l.appendChild(p));if(g(i,\np)===!1)return!1}else if(i.nodeType==3&&(i=i==k.startContainer?d(i,k.startOffset,i.nodeValue.length):i==k.endContainer?d(i,0,k.endOffset):d(i,0,i.nodeValue.length),b))try{l.appendChild(i)}catch(ja){}i=o}}var h=a.doc,f=[],k=a.cloneRange().down(),n=-1,q=-1,r=-1,m=-1,l=a.commonAncestor(),i=h.createDocumentFragment();if(l.nodeType==3)return l=d(l,a.startOffset,a.endOffset),b&&i.appendChild(l),e(),b?i:a;g(l,i);c&&a.up().collapse(!0);for(var l=0,o=f.length;l<o;l++){var p=f[l];p.parentNode&&p.parentNode.removeChild(p)}return b?\ni:a}function na(a,b){for(var c=b;c;){var d=f(c);if(d.name==\"marquee\"||d.name==\"select\")return;c=c.parentNode}try{a.moveToElementText(b)}catch(e){}}function sb(a,b){var c=a.parentElement().ownerDocument,d=a.duplicate();d.collapse(b);var e=d.parentElement(),g=e.childNodes;if(g.length===0)return{node:e.parentNode,offset:f(e).index()};var h=c,j=0,k=-1,n=a.duplicate();na(n,e);for(var q=0,r=g.length;q<r;q++){var i=g[q],k=n.compareEndPoints(\"StartToStart\",d);if(k===0)return{node:i.parentNode,offset:q};if(i.nodeType==\n1){var l=a.duplicate(),m,o=f(i),p=i;o.isControl()&&(m=c.createElement(\"span\"),o.after(m),p=m,j+=o.text().replace(/\\r\\n|\\n|\\r/g,\"\").length);na(l,p);n.setEndPoint(\"StartToEnd\",l);k>0?j+=l.text.replace(/\\r\\n|\\n|\\r/g,\"\").length:j=0;m&&f(m).remove()}else i.nodeType==3&&(n.moveStart(\"character\",i.nodeValue.length),j+=i.nodeValue.length);k<0&&(h=i)}if(k<0&&h.nodeType==1)return{node:e,offset:f(e.lastChild).index()+1};if(k>0)for(;h.nextSibling&&h.nodeType==1;)h=h.nextSibling;n=a.duplicate();na(n,e);n.setEndPoint(\"StartToEnd\",\nd);j-=n.text.replace(/\\r\\n|\\n|\\r/g,\"\").length;if(k>0&&h.nodeType==3)for(c=h.previousSibling;c&&c.nodeType==3;)j-=c.nodeValue.length,c=c.previousSibling;return{node:h,offset:j}}function tb(a,b){var c=a.ownerDocument||a,d=c.body.createTextRange();if(c==a)return d.collapse(!0),d;if(a.nodeType==1&&a.childNodes.length>0){var e=a.childNodes,g;b===0?(g=e[0],e=!0):(g=e[b-1],e=!1);if(!g)return d;if(f(g).name===\"head\")return b===1&&(e=!0),b===2&&(e=!1),d.collapse(e),d;if(g.nodeType==1){var h=f(g),j;h.isControl()&&\n(j=c.createElement(\"span\"),e?h.before(j):h.after(j),g=j);na(d,g);d.collapse(e);j&&f(j).remove();return d}a=g;b=e?0:g.nodeValue.length}c=c.createElement(\"span\");f(a).before(c);na(d,c);d.moveStart(\"character\",b);f(c).remove();return d}function ub(a){function b(a){if(f(a.node).name==\"tr\")a.node=a.node.cells[a.offset],a.offset=0}var c;if(H){if(a.item)return c=V(a.item(0)),c=new M(c),c.selectNode(a.item(0)),c;c=a.parentElement().ownerDocument;var d=sb(a,!0),a=sb(a,!1);b(d);b(a);c=new M(c);c.setStart(d.node,\nd.offset);c.setEnd(a.node,a.offset);return c}d=a.startContainer;c=d.ownerDocument||d;c=new M(c);c.setStart(d,a.startOffset);c.setEnd(a.endContainer,a.endOffset);return c}function M(a){this.init(a)}function Ra(a){if(!a.nodeName)return a.constructor===M?a:ub(a);return new M(a)}function Q(a,b,c){try{a.execCommand(b,!1,c)}catch(d){}}function vb(a,b){var c=\"\";try{c=a.queryCommandValue(b)}catch(d){}typeof c!==\"string\"&&(c=\"\");return c}function Sa(a){var b=W(a);return H?a.selection:b.getSelection()}function wb(a){var b=\n{},c,d;m(a,function(a,g){c=a.split(\",\");for(var h=0,f=c.length;h<f;h++)d=c[h],b[d]=g});return b}function Ta(a,b){return xb(a,b,\"*\")||xb(a,b)}function xb(a,b,c){c=c||a.name;if(a.type!==1)return!1;b=wb(b);if(!b[c])return!1;for(var c=b[c].split(\",\"),b=0,d=c.length;b<d;b++){var e=c[b];if(e===\"*\")return!0;var g=/^(\\.?)([^=]+)(?:=([^=]*))?$/.exec(e),h=g[1]?\"css\":\"attr\",e=g[2],g=g[3]||\"\";if(g===\"\"&&a[h](e)!==\"\")return!0;if(g!==\"\"&&a[h](e)===g)return!0}return!1}function Ua(a,b){a.type==1&&(yb(a,b,\"*\"),yb(a,\nb))}function yb(a,b,c){c=c||a.name;if(a.type===1&&(b=wb(b),b[c])){for(var c=b[c].split(\",\"),b=!1,d=0,e=c.length;d<e;d++){var g=c[d];if(g===\"*\"){b=!0;break}var h=/^(\\.?)([^=]+)(?:=([^=]*))?$/.exec(g),g=h[2];h[1]?(g=ga(g),a[0].style[g]&&(a[0].style[g]=\"\")):a.removeAttr(g)}b&&a.remove(!0)}}function Va(a){for(;a.first();)a=a.first();return a}function ea(a){if(a.type!=1||a.isSingle())return!1;return a.html().replace(/<[^>]+>/g,\"\")===\"\"}function Zb(a,b,c){m(b,function(b,c){b!==\"style\"&&a.attr(b,c)});m(c,\nfunction(b,c){a.css(b,c)})}function oa(a){this.init(a)}function zb(a){a.nodeName&&(a=V(a),a=Ra(a).selectNodeContents(a.body).collapse(!1));return new oa(a)}function Wa(a){var b=a.moveEl,c=a.moveFn,d=a.clickEl||b,e=a.beforeDrag,g=[document];(a.iframeFix===i||a.iframeFix)&&f(\"iframe\").each(function(){if(!/^https?:\\/\\//.test(ia(this.src||\"\",\"absolute\"))){var a;try{a=Xa(this)}catch(b){}if(a){var c=f(this).pos();f(a).data(\"pos-x\",c.x);f(a).data(\"pos-y\",c.y);g.push(a)}}});d.mousedown(function(a){function j(a){a.preventDefault();\nvar b=f(V(a.target)),e=R((b.data(\"pos-x\")||0)+a.pageX-p),a=R((b.data(\"pos-y\")||0)+a.pageY-s);c.call(d,r,l,m,o,e,a)}function k(a){a.preventDefault()}function n(a){a.preventDefault();f(g).unbind(\"mousemove\",j).unbind(\"mouseup\",n).unbind(\"selectstart\",k);i.releaseCapture&&i.releaseCapture()}a.stopPropagation();var i=d.get(),r=t(b.css(\"left\")),l=t(b.css(\"top\")),m=b.width(),o=b.height(),p=a.pageX,s=a.pageY;e&&e();f(g).mousemove(j).mouseup(n).bind(\"selectstart\",k);i.setCapture&&i.setCapture()})}function S(a){this.init(a)}\nfunction Ya(a){return new S(a)}function Xa(a){a=f(a)[0];return a.contentDocument||a.contentWindow.document}function $b(a,b,c,d){var e=[Za===\"\"?\"<html>\":'<html dir=\"'+Za+'\">','<head><meta charset=\"utf-8\" /><title></title>',\"<style>\",\"html {margin:0;padding:0;}\",\"body {margin:0;padding:5px;}\",'body, td {font:12px/1.5 \"sans serif\",tahoma,verdana,helvetica;}',\"body, p, div {word-wrap: break-word;}\",\"p {margin:5px 0;}\",\"table {border-collapse:collapse;}\",\"img {border:0;}\",\"noscript {display:none;}\",\"table.ke-zeroborder td {border:1px dotted #AAA;}\",\n\"img.ke-flash {\",\"\\tborder:1px solid #AAA;\",\"\\tbackground-image:url(\"+a+\"common/flash.gif);\",\"\\tbackground-position:center center;\",\"\\tbackground-repeat:no-repeat;\",\"\\twidth:100px;\",\"\\theight:100px;\",\"}\",\"img.ke-rm {\",\"\\tborder:1px solid #AAA;\",\"\\tbackground-image:url(\"+a+\"common/rm.gif);\",\"\\tbackground-position:center center;\",\"\\tbackground-repeat:no-repeat;\",\"\\twidth:100px;\",\"\\theight:100px;\",\"}\",\"img.ke-media {\",\"\\tborder:1px solid #AAA;\",\"\\tbackground-image:url(\"+a+\"common/media.gif);\",\"\\tbackground-position:center center;\",\n\"\\tbackground-repeat:no-repeat;\",\"\\twidth:100px;\",\"\\theight:100px;\",\"}\",\"img.ke-anchor {\",\"\\tborder:1px dashed #666;\",\"\\twidth:16px;\",\"\\theight:16px;\",\"}\",\".ke-script, .ke-noscript, .ke-display-none {\",\"\\tdisplay:none;\",\"\\tfont-size:0;\",\"\\twidth:0;\",\"\\theight:0;\",\"}\",\".ke-pagebreak {\",\"\\tborder:1px dotted #AAA;\",\"\\tfont-size:0;\",\"\\theight:2px;\",\"}\",\"</style>\"];Z(c)||(c=[c]);m(c,function(a,b){b&&e.push('<link href=\"'+b+'\" rel=\"stylesheet\" />')});d&&e.push(\"<style>\"+d+\"</style>\");e.push(\"</head><body \"+\n(b?'class=\"'+b+'\"':\"\")+\"></body></html>\");return e.join(\"\\n\")}function pa(a,b){if(a.hasVal()){if(b===i){var c=a.val();return c=c.replace(/(<(?:p|p\\s[^>]*)>) *(<\\/p>)/ig,\"\")}return a.val(b)}return a.html(b)}function qa(a){this.init(a)}function Ab(a){return new qa(a)}function Bb(a,b){var c=this.get(a);c&&!c.hasClass(\"ke-disabled\")&&b(c)}function Da(a){this.init(a)}function Cb(a){return new Da(a)}function ra(a){this.init(a)}function $a(a){return new ra(a)}function sa(a){this.init(a)}function Db(a){return new sa(a)}\nfunction ab(a){this.init(a)}function ta(a){this.init(a)}function Eb(a){return new ta(a)}function bb(a,b){var c=document.getElementsByTagName(\"head\")[0]||(P?document.body:document.documentElement),d=document.createElement(\"script\");c.appendChild(d);d.src=a;d.charset=\"utf-8\";d.onload=d.onreadystatechange=function(){if(!this.readyState||this.readyState===\"loaded\")b&&b(),d.onload=d.onreadystatechange=null,c.removeChild(d)}}function Fb(a){var b=a.indexOf(\"?\");return b>0?a.substr(0,b):a}function cb(a){for(var b=\ndocument.getElementsByTagName(\"head\")[0]||(P?document.body:document.documentElement),c=document.createElement(\"link\"),d=Fb(ia(a,\"absolute\")),e=f('link[rel=\"stylesheet\"]',b),g=0,h=e.length;g<h;g++)if(Fb(ia(e[g].href,\"absolute\"))===d)return;b.appendChild(c);c.href=a;c.rel=\"stylesheet\"}function Gb(a,b){if(a===i)return N;if(!b)return N[a];N[a]=b}function Hb(a){var b,c=\"core\";if(b=/^(\\w+)\\.(\\w+)$/.exec(a))c=b[1],a=b[2];return{ns:c,key:a}}function Ib(a,b){b=b===i?f.options.langType:b;if(typeof a===\"string\"){if(!O[b])return\"no language\";\nvar c=a.length-1;if(a.substr(c)===\".\")return O[b][a.substr(0,c)];c=Hb(a);return O[b][c.ns][c.key]}m(a,function(a,c){var g=Hb(a);O[b]||(O[b]={});O[b][g.ns]||(O[b][g.ns]={});O[b][g.ns][g.key]=c})}function Ea(a,b){if(!a.collapsed){var a=a.cloneRange().up(),c=a.startContainer,d=a.startOffset;if(X||a.isControl())if((c=f(c.childNodes[d]))&&c.name==\"img\"&&b(c))return c}}function ac(){var a=this;f(a.edit.doc).contextmenu(function(b){a.menu&&a.hideMenu();if(a.useContextmenu){if(a._contextmenus.length!==0){var c=\n0,d=[];for(m(a._contextmenus,function(){if(this.title==\"-\")d.push(this);else if(this.cond&&this.cond()&&(d.push(this),this.width&&this.width>c))c=this.width});d.length>0&&d[0].title==\"-\";)d.shift();for(;d.length>0&&d[d.length-1].title==\"-\";)d.pop();var e=null;m(d,function(a){this.title==\"-\"&&e.title==\"-\"&&delete d[a];e=this});if(d.length>0){b.preventDefault();var g=f(a.edit.iframe).pos(),h=$a({x:g.x+b.clientX,y:g.y+b.clientY,width:c,css:{visibility:\"hidden\"},shadowMode:a.shadowMode});m(d,function(){this.title&&\nh.addItem(this)});var g=G(h.doc),j=h.div.height();b.clientY+j>=g.clientHeight-100&&h.pos(h.x,t(h.y)-j);h.div.css(\"visibility\",\"visible\");a.menu=h}}}else b.preventDefault()})}function bc(){function a(a){for(a=f(a.commonAncestor());a;){if(a.type==1&&!a.isStyle())break;a=a.parent()}return a.name}var b=this,c=b.edit.doc,d=b.newlineTag;if(!(o&&d!==\"br\")&&(!Y||!(A<3&&d!==\"p\"))&&!(Pa&&A<9)){var e=u(\"h1,h2,h3,h4,h5,h6,pre,li\"),g=u(\"p,h1,h2,h3,h4,h5,h6,pre,li,blockquote\");f(c).keydown(function(f){if(!(f.which!=\n13||f.shiftKey||f.ctrlKey||f.altKey)){b.cmd.selection();var j=a(b.cmd.range);j==\"marquee\"||j==\"select\"||(d===\"br\"&&!e[j]?(f.preventDefault(),b.insertHtml(\"<br />\"+(o&&A<9?\"\":\"\\u200b\"))):g[j]||Q(c,\"formatblock\",\"<p>\"))}});f(c).keyup(function(e){if(!(e.which!=13||e.shiftKey||e.ctrlKey||e.altKey)&&d!=\"br\")if(Y){var e=b.cmd.commonAncestor(\"p\"),j=b.cmd.commonAncestor(\"a\");j&&j.text()==\"\"&&(j.remove(!0),b.cmd.range.selectNodeContents(e[0]).collapse(!0),b.cmd.select())}else if(b.cmd.selection(),e=a(b.cmd.range),\n!(e==\"marquee\"||e==\"select\"))if(g[e]||Q(c,\"formatblock\",\"<p>\"),e=b.cmd.commonAncestor(\"div\")){for(var j=f(\"<p></p>\"),k=e[0].firstChild;k;){var n=k.nextSibling;j.append(k);k=n}e.before(j);e.remove();b.cmd.range.selectNodeContents(j[0]);b.cmd.select()}})}}function cc(){var a=this,b=a.edit.doc;f(b).keydown(function(c){if(c.which==9)if(c.preventDefault(),a.afterTab)a.afterTab.call(a,c);else{var c=a.cmd,d=c.range;d.shrink();d.collapsed&&d.startContainer.nodeType==1&&(d.insertNode(f(\"@&nbsp;\",b)[0]),c.select());\na.insertHtml(\"&nbsp;&nbsp;&nbsp;&nbsp;\")}})}function dc(){var a=this;f(a.edit.textarea[0],a.edit.win).focus(function(b){a.afterFocus&&a.afterFocus.call(a,b)}).blur(function(b){a.afterBlur&&a.afterBlur.call(a,b)})}function T(a){return B(a.replace(/<span [^>]*id=\"?__kindeditor_bookmark_\\w+_\\d+__\"?[^>]*><\\/span>/ig,\"\"))}function Fa(a){return a.replace(/<div[^>]+class=\"?__kindeditor_paste__\"?[^>]*>[\\s\\S]*?<\\/div>/ig,\"\")}function Jb(a,b){if(a.length===0)a.push(b);else{var c=a[a.length-1];T(b.html)!==T(c.html)&&\na.push(b)}}function Kb(a,b){var c=this.edit,d=c.doc.body,e,g;if(a.length===0)return this;c.designMode?(e=this.cmd.range,g=e.createBookmark(!0),g.html=d.innerHTML):g={html:d.innerHTML};Jb(b,g);var h=a.pop();T(g.html)===T(h.html)&&a.length>0&&(h=a.pop());c.designMode?(c.html(h.html),h.start&&(e.moveToBookmark(h),this.select())):f(d).html(T(h.html));return this}function ua(a){function b(a,b){ua.prototype[a]===i&&(c[a]=b);c.options[a]=b}var c=this;c.options={};m(a,function(c){b(c,a[c])});m(f.options,\nfunction(a,d){c[a]===i&&b(a,d)});var d=f(c.srcElement||\"<textarea/>\");if(!c.width)c.width=d[0].style.width||d.width();if(!c.height)c.height=d[0].style.height||d.height();b(\"width\",l(c.width,c.minWidth));b(\"height\",l(c.height,c.minHeight));b(\"width\",s(c.width));b(\"height\",s(c.height));if(ec&&(!fc||A<534))c.designMode=!1;c.srcElement=d;c.initContent=\"\";c.plugin={};c.isCreated=!1;c._handlers={};c._contextmenus=[];c._undoStack=[];c._redoStack=[];c._firstAddBookmark=!0;c.menu=c.contextmenu=null;c.dialogs=\n[]}function Lb(a,b){function c(a){m(N,function(b,c){wa(c)&&c.call(a,KindEditor)});return a.create()}b=b||{};b.basePath=l(b.basePath,f.basePath);b.themesPath=l(b.themesPath,b.basePath+\"themes/\");b.langPath=l(b.langPath,b.basePath+\"lang/\");b.pluginsPath=l(b.pluginsPath,b.basePath+\"plugins/\");if(l(b.loadStyleMode,f.options.loadStyleMode)){var d=l(b.themeType,f.options.themeType);cb(b.themesPath+\"default/default.css\");cb(b.themesPath+d+\"/\"+d+\".css\")}if((d=f(a))&&d.length!==0){if(d.length>1)return d.each(function(){Lb(this,\nb)}),_instances[0];b.srcElement=d[0];var e=new ua(b);_instances.push(e);if(O[e.langType])return c(e);bb(e.langPath+e.langType+\".js?ver=\"+encodeURIComponent(f.DEBUG?Ga:Ha),function(){c(e)});return e}}function va(a,b){f(a).each(function(a,d){f.each(_instances,function(a,c){if(c&&c.srcElement[0]==d)return b.call(c,a),!1})})}if(!w.KindEditor){if(!w.console)w.console={};if(!console.log)console.log=function(){};var Ha=\"4.1.10 (2013-11-23)\",p=navigator.userAgent.toLowerCase(),o=p.indexOf(\"msie\")>-1&&p.indexOf(\"opera\")==\n-1,Yb=p.indexOf(\"msie\")==-1&&p.indexOf(\"trident\")>-1,Y=p.indexOf(\"gecko\")>-1&&p.indexOf(\"khtml\")==-1,X=p.indexOf(\"applewebkit\")>-1,Pa=p.indexOf(\"opera\")>-1,ec=p.indexOf(\"mobile\")>-1,fc=/ipad|iphone|ipod/.test(p),P=document.compatMode!=\"CSS1Compat\",H=!w.getSelection,A=(p=/(?:msie|firefox|webkit|opera)[\\/:\\s](\\d+)/.exec(p))?p[1]:\"0\",Ga=(new Date).getTime(),R=Math.round,f={DEBUG:!1,VERSION:Ha,IE:o,GECKO:Y,WEBKIT:X,OPERA:Pa,V:A,TIME:Ga,each:m,isArray:Z,isFunction:wa,inArray:J,inString:xa,trim:B,addUnit:s,\nremoveUnit:t,escape:C,unescape:fa,toCamel:ga,toHex:ya,toMap:u,toArray:Ja,undef:l,invalidUrl:function(a){return!a||/[<>\"]/.test(a)},addParam:function(a,b){return a.indexOf(\"?\")>=0?a+\"&\"+b:a+\"?\"+b},extend:E,json:eb},lb=u(\"a,abbr,acronym,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,img,input,ins,kbd,label,map,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var\"),mb=u(\"address,applet,blockquote,body,center,dd,dir,div,dl,dt,fieldset,form,frameset,h1,h2,h3,h4,h5,h6,head,hr,html,iframe,ins,isindex,li,map,menu,meta,noframes,noscript,object,ol,p,pre,script,style,table,tbody,td,tfoot,th,thead,title,tr,ul\"),\nkb=u(\"area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed\"),Mb=u(\"b,basefont,big,del,em,font,i,s,small,span,strike,strong,sub,sup,u\"),gc=u(\"img,table,input,textarea,button\"),La=u(\"pre,style,script\"),Ia=u(\"html,head,body,td,tr,table,ol,ul,li\");u(\"colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr\");var Ub=u(\"checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected\"),Nb=u(\"input,button,textarea,select\");f.basePath=function(){for(var a=\ndocument.getElementsByTagName(\"script\"),b,c=0,d=a.length;c<d;c++)if(b=a[c].src||\"\",/kindeditor[\\w\\-\\.]*\\.js/.test(b))return b.substring(0,b.lastIndexOf(\"/\")+1);return\"\"}();f.options={designMode:!0,fullscreenMode:!1,filterMode:!0,wellFormatMode:!0,shadowMode:!0,loadStyleMode:!0,basePath:f.basePath,themesPath:f.basePath+\"themes/\",langPath:f.basePath+\"lang/\",pluginsPath:f.basePath+\"plugins/\",themeType:\"default\",langType:\"zh_CN\",urlType:\"\",newlineTag:\"p\",resizeType:2,syncType:\"form\",pasteType:2,dialogAlignType:\"page\",\nuseContextmenu:!0,fullscreenShortcut:!1,bodyClass:\"ke-content\",indentChar:\"\\t\",cssPath:\"\",cssData:\"\",minWidth:650,minHeight:100,minChangeSize:50,zIndex:811213,items:[\"source\",\"|\",\"undo\",\"redo\",\"|\",\"preview\",\"print\",\"template\",\"code\",\"cut\",\"copy\",\"paste\",\"plainpaste\",\"wordpaste\",\"|\",\"justifyleft\",\"justifycenter\",\"justifyright\",\"justifyfull\",\"insertorderedlist\",\"insertunorderedlist\",\"indent\",\"outdent\",\"subscript\",\"superscript\",\"clearhtml\",\"quickformat\",\"selectall\",\"|\",\"fullscreen\",\"/\",\"formatblock\",\n\"fontname\",\"fontsize\",\"|\",\"forecolor\",\"hilitecolor\",\"bold\",\"italic\",\"underline\",\"strikethrough\",\"lineheight\",\"removeformat\",\"|\",\"image\",\"multiimage\",\"flash\",\"media\",\"insertfile\",\"table\",\"hr\",\"emoticons\",\"baidumap\",\"pagebreak\",\"anchor\",\"link\",\"unlink\",\"|\",\"about\"],noDisableItems:[\"source\",\"fullscreen\"],colorTable:[[\"#E53333\",\"#E56600\",\"#FF9900\",\"#64451D\",\"#DFC5A4\",\"#FFE500\"],[\"#009900\",\"#006600\",\"#99BB00\",\"#B8D100\",\"#60D978\",\"#00D5FF\"],[\"#337FE5\",\"#003399\",\"#4C33E5\",\"#9933E5\",\"#CC33E5\",\"#EE33EE\"],\n[\"#FFFFFF\",\"#CCCCCC\",\"#999999\",\"#666666\",\"#333333\",\"#000000\"]],fontSizeTable:[\"9px\",\"10px\",\"12px\",\"14px\",\"16px\",\"18px\",\"24px\",\"32px\"],htmlTags:{font:[\"id\",\"class\",\"color\",\"size\",\"face\",\".background-color\"],span:[\"id\",\"class\",\".color\",\".background-color\",\".font-size\",\".font-family\",\".background\",\".font-weight\",\".font-style\",\".text-decoration\",\".vertical-align\",\".line-height\"],div:[\"id\",\"class\",\"align\",\".border\",\".margin\",\".padding\",\".text-align\",\".color\",\".background-color\",\".font-size\",\".font-family\",\n\".font-weight\",\".background\",\".font-style\",\".text-decoration\",\".vertical-align\",\".margin-left\"],table:[\"id\",\"class\",\"border\",\"cellspacing\",\"cellpadding\",\"width\",\"height\",\"align\",\"bordercolor\",\".padding\",\".margin\",\".border\",\"bgcolor\",\".text-align\",\".color\",\".background-color\",\".font-size\",\".font-family\",\".font-weight\",\".font-style\",\".text-decoration\",\".background\",\".width\",\".height\",\".border-collapse\"],\"td,th\":[\"id\",\"class\",\"align\",\"valign\",\"width\",\"height\",\"colspan\",\"rowspan\",\"bgcolor\",\".text-align\",\n\".color\",\".background-color\",\".font-size\",\".font-family\",\".font-weight\",\".font-style\",\".text-decoration\",\".vertical-align\",\".background\",\".border\"],a:[\"id\",\"class\",\"href\",\"target\",\"name\"],embed:[\"id\",\"class\",\"src\",\"width\",\"height\",\"type\",\"loop\",\"autostart\",\"quality\",\".width\",\".height\",\"align\",\"allowscriptaccess\"],img:[\"id\",\"class\",\"src\",\"width\",\"height\",\"border\",\"alt\",\"title\",\"align\",\".width\",\".height\",\".border\"],\"p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6\":[\"id\",\"class\",\"align\",\".text-align\",\".color\",\n\".background-color\",\".font-size\",\".font-family\",\".background\",\".font-weight\",\".font-style\",\".text-decoration\",\".vertical-align\",\".text-indent\",\".margin-left\"],pre:[\"id\",\"class\"],hr:[\"id\",\"class\",\".page-break-after\"],\"br,tbody,tr,strong,b,sub,sup,em,i,u,strike,s,del\":[\"id\",\"class\"],iframe:[\"id\",\"class\",\"src\",\"frameborder\",\"width\",\"height\",\".width\",\".height\"]},layout:'<div class=\"container\"><div class=\"toolbar\"></div><div class=\"edit\"></div><div class=\"statusbar\"></div></div>'};var fb=!1,Ob=u(\"8,9,13,32,46,48..57,59,61,65..90,106,109..111,188,190..192,219..222\"),\np=u(\"33..40\"),db={};m(Ob,function(a,b){db[a]=b});m(p,function(a,b){db[a]=b});var hc=\"altKey,attrChange,attrName,bubbles,button,cancelable,charCode,clientX,clientY,ctrlKey,currentTarget,data,detail,eventPhase,fromElement,handler,keyCode,metaKey,newValue,offsetX,offsetY,originalTarget,pageX,pageY,prevValue,relatedNode,relatedTarget,screenX,screenY,shiftKey,srcElement,target,toElement,view,wheelDelta,which\".split(\",\");E(gb,{init:function(a,b){var c=this,d=a.ownerDocument||a.document||a;c.event=b;m(hc,\nfunction(a,d){c[d]=b[d]});if(!c.target)c.target=c.srcElement||d;if(c.target.nodeType===3)c.target=c.target.parentNode;if(!c.relatedTarget&&c.fromElement)c.relatedTarget=c.fromElement===c.target?c.toElement:c.fromElement;if(c.pageX==null&&c.clientX!=null){var e=d.documentElement,d=d.body;c.pageX=c.clientX+(e&&e.scrollLeft||d&&d.scrollLeft||0)-(e&&e.clientLeft||d&&d.clientLeft||0);c.pageY=c.clientY+(e&&e.scrollTop||d&&d.scrollTop||0)-(e&&e.clientTop||d&&d.clientTop||0)}if(!c.which&&(c.charCode||c.charCode===\n0?c.charCode:c.keyCode))c.which=c.charCode||c.keyCode;if(!c.metaKey&&c.ctrlKey)c.metaKey=c.ctrlKey;if(!c.which&&c.button!==i)c.which=c.button&1?1:c.button&2?3:c.button&4?2:0;switch(c.which){case 186:c.which=59;break;case 187:case 107:case 43:c.which=61;break;case 189:case 45:c.which=109;break;case 42:c.which=106;break;case 47:c.which=111;break;case 78:c.which=110}c.which>=96&&c.which<=105&&(c.which-=48)},preventDefault:function(){var a=this.event;a.preventDefault?a.preventDefault():a.returnValue=\n!1},stopPropagation:function(){var a=this.event;a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},stop:function(){this.preventDefault();this.stopPropagation()}});var $=\"kindeditor_\"+Ga,ib=0,v={},Pb=!1;o&&w.attachEvent(\"onunload\",function(){m(v,function(a,b){b.el&&ha(b.el)})});f.ctrl=Ka;f.ready=function(a){function b(){e||(e=!0,a(KindEditor),Pb=!0)}function c(){if(!e){try{document.documentElement.doScroll(\"left\")}catch(a){setTimeout(c,100);return}b()}}function d(){document.readyState===\"complete\"&&\nb()}if(Pb)a(KindEditor);else{var e=!1;if(document.addEventListener)aa(document,\"DOMContentLoaded\",b);else if(document.attachEvent){aa(document,\"readystatechange\",d);var g=!1;try{g=w.frameElement==null}catch(f){}document.documentElement.doScroll&&g&&c()}aa(w,\"load\",b)}};f.formatUrl=ia;f.formatHtml=U;f.getCssList=ba;f.getAttrList=I;f.mediaType=ob;f.mediaAttrs=pb;f.mediaEmbed=Ma;f.mediaImg=qb;f.clearMsWord=nb;f.tmpl=function(a,b){var c=new Function(\"obj\",\"var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('\"+\na.replace(/[\\r\\t\\n]/g,\" \").split(\"<%\").join(\"\\t\").replace(/((^|%>)[^\\t]*)'/g,\"$1\\r\").replace(/\\t=(.*?)%>/g,\"',$1,'\").split(\"\\t\").join(\"');\").split(\"%>\").join(\"p.push('\").split(\"\\r\").join(\"\\\\'\")+\"');}return p.join('');\");return b?c(b):c};p=document.createElement(\"div\");p.setAttribute(\"className\",\"t\");var Vb=p.className!==\"t\";f.query=function(a,b){var c=Ca(a,b);return c.length>0?c[0]:null};f.queryAll=Ca;E(D,{init:function(a){for(var a=Z(a)?a:[a],b=0,c=0,d=a.length;c<d;c++)a[c]&&(this[c]=a[c].constructor===\nD?a[c][0]:a[c],b++);this.length=b;this.doc=V(this[0]);this.name=Oa(this[0]);this.type=this.length>0?this[0].nodeType:null;this.win=W(this[0])},each:function(a){for(var b=0;b<this.length;b++)if(a.call(this[b],b,this[b])===!1)break;return this},bind:function(a,b){this.each(function(){aa(this,a,b)});return this},unbind:function(a,b){this.each(function(){ha(this,a,b)});return this},fire:function(a){if(this.length<1)return this;jb(this[0],a);return this},hasAttr:function(a){if(this.length<1)return!1;return!!Ba(this[0],\na)},attr:function(a,b){var c=this;if(a===i)return I(c.outer());if(typeof a===\"object\")return m(a,function(a,b){c.attr(a,b)}),c;if(b===i)return b=c.length<1?null:Ba(c[0],a),b===null?\"\":b;c.each(function(){Na(this,a,b)});return c},removeAttr:function(a){this.each(function(){var b=a;o&&A<8&&b.toLowerCase()==\"class\"&&(b=\"className\");Na(this,b,\"\");this.removeAttribute(b)});return this},get:function(a){if(this.length<1)return null;return this[a||0]},eq:function(a){if(this.length<1)return null;return this[a]?\nnew D(this[a]):null},hasClass:function(a){if(this.length<1)return!1;return xa(a,this[0].className,\" \")},addClass:function(a){this.each(function(){if(!xa(a,this.className,\" \"))this.className=B(this.className+\" \"+a)});return this},removeClass:function(a){this.each(function(){if(xa(a,this.className,\" \"))this.className=B(this.className.replace(RegExp(\"(^|\\\\s)\"+a+\"(\\\\s|$)\"),\" \"))});return this},html:function(a){if(a===i){if(this.length<1||this.type!=1)return\"\";return U(this[0].innerHTML)}this.each(function(){Wb(this,\na)});return this},text:function(){if(this.length<1)return\"\";return o?this[0].innerText:this[0].textContent},hasVal:function(){if(this.length<1)return!1;return!!Nb[Oa(this[0])]},val:function(a){if(a===i){if(this.length<1)return\"\";return this.hasVal()?this[0].value:this.attr(\"value\")}else return this.each(function(){Nb[Oa(this)]?this.value=a:Na(this,\"value\",a)}),this},css:function(a,b){var c=this;if(a===i)return ba(c.attr(\"style\"));if(typeof a===\"object\")return m(a,function(a,b){c.css(a,b)}),c;if(b===\ni){if(c.length<1)return\"\";return c[0].style[ga(a)]||Xb(c[0],a)||\"\"}c.each(function(){this.style[ga(a)]=b});return c},width:function(a){if(a===i){if(this.length<1)return 0;return this[0].offsetWidth}return this.css(\"width\",s(a))},height:function(a){if(a===i){if(this.length<1)return 0;return this[0].offsetHeight}return this.css(\"height\",s(a))},opacity:function(a){this.each(function(){this.style.opacity===i?this.style.filter=a==1?\"\":\"alpha(opacity=\"+a*100+\")\":this.style.opacity=a==1?\"\":a});return this},\ndata:function(a,b){a=\"kindeditor_data_\"+a;if(b===i){if(this.length<1)return null;return this[0][a]}this.each(function(){this[a]=b});return this},pos:function(){var a=this[0],b=0,c=0;if(a)if(a.getBoundingClientRect)a=a.getBoundingClientRect(),c=ca(this.doc),b=a.left+c.x,c=a.top+c.y;else for(;a;)b+=a.offsetLeft,c+=a.offsetTop,a=a.offsetParent;return{x:R(b),y:R(c)}},clone:function(a){if(this.length<1)return new D([]);return new D(this[0].cloneNode(a))},append:function(a){this.each(function(){this.appendChild&&\nthis.appendChild(f(a)[0])});return this},appendTo:function(a){this.each(function(){f(a)[0].appendChild(this)});return this},before:function(a){this.each(function(){this.parentNode.insertBefore(f(a)[0],this)});return this},after:function(a){this.each(function(){this.nextSibling?this.parentNode.insertBefore(f(a)[0],this.nextSibling):this.parentNode.appendChild(f(a)[0])});return this},replaceWith:function(a){var b=[];this.each(function(c,d){ha(d);var e=f(a)[0];d.parentNode.replaceChild(e,d);b.push(e)});\nreturn f(b)},empty:function(){this.each(function(a,b){for(var c=b.firstChild;c;){if(!b.parentNode)break;var d=c.nextSibling;c.parentNode.removeChild(c);c=d}});return this},remove:function(a){var b=this;b.each(function(c,d){if(d.parentNode){ha(d);if(a)for(var e=d.firstChild;e;){var g=e.nextSibling;d.parentNode.insertBefore(e,d);e=g}d.parentNode.removeChild(d);delete b[c]}});b.length=0;return b},show:function(a){a===i&&(a=this._originDisplay||\"\");if(this.css(\"display\")!=\"none\")return this;return this.css(\"display\",\na)},hide:function(){if(this.length<1)return this;this._originDisplay=this[0].style.display;return this.css(\"display\",\"none\")},outer:function(){if(this.length<1)return\"\";var a=this.doc.createElement(\"div\");a.appendChild(this[0].cloneNode(!0));return U(a.innerHTML)},isSingle:function(){return!!kb[this.name]},isInline:function(){return!!lb[this.name]},isBlock:function(){return!!mb[this.name]},isStyle:function(){return!!Mb[this.name]},isControl:function(){return!!gc[this.name]},contains:function(a){if(this.length<\n1)return!1;return Aa(this[0],f(a)[0])},parent:function(){if(this.length<1)return null;var a=this[0].parentNode;return a?new D(a):null},children:function(){if(this.length<1)return new D([]);for(var a=[],b=this[0].firstChild;b;)(b.nodeType!=3||B(b.nodeValue)!==\"\")&&a.push(b),b=b.nextSibling;return new D(a)},first:function(){var a=this.children();return a.length>0?a.eq(0):null},last:function(){var a=this.children();return a.length>0?a.eq(a.length-1):null},index:function(){if(this.length<1)return-1;for(var a=\n-1,b=this[0];b;)a++,b=b.previousSibling;return a},prev:function(){if(this.length<1)return null;var a=this[0].previousSibling;return a?new D(a):null},next:function(){if(this.length<1)return null;var a=this[0].nextSibling;return a?new D(a):null},scan:function(a,b){function c(d){for(d=b?d.firstChild:d.lastChild;d;){var e=b?d.nextSibling:d.previousSibling;if(a(d)===!1)return!1;if(c(d)===!1)return!1;d=e}}if(!(this.length<1))return b=b===i?!0:b,c(this[0]),this}});m(\"blur,focus,focusin,focusout,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error,contextmenu\".split(\",\"),\nfunction(a,b){D.prototype[b]=function(a){return a?this.bind(b,a):this.fire(b)}});p=f;f=function(a,b){function c(a){a[0]||(a=[]);return new D(a)}if(!(a===i||a===null)){if(typeof a===\"string\"){b&&(b=f(b)[0]);var d=a.length;a.charAt(0)===\"@\"&&(a=a.substr(1));if(a.length!==d||/<.+>/.test(a)){var d=(b?b.ownerDocument||b:document).createElement(\"div\"),e=[];d.innerHTML='<img id=\"__kindeditor_temp_tag__\" width=\"0\" height=\"0\" style=\"display:none;\" />'+a;for(var g=0,h=d.childNodes.length;g<h;g++){var j=d.childNodes[g];\nj.id!=\"__kindeditor_temp_tag__\"&&e.push(j)}return c(e)}return c(Ca(a,b))}if(a&&a.constructor===D)return a;a.toArray&&(a=a.toArray());if(Z(a))return c(a);return c(Ja(arguments))}};m(p,function(a,b){f[a]=b});f.NodeClass=D;w.KindEditor=f;var la=0,ka=1,da=2,ma=3,Qb=0;E(M,{init:function(a){this.startContainer=a;this.startOffset=0;this.endContainer=a;this.endOffset=0;this.collapsed=!0;this.doc=a},commonAncestor:function(){function a(a){for(var b=[];a;)b.push(a),a=a.parentNode;return b}for(var b=a(this.startContainer),\nc=a(this.endContainer),d=0,e=b.length,g=c.length,f,j;++d;)if(f=b[e-d],j=c[g-d],!f||!j||f!==j)break;return b[e-d+1]},setStart:function(a,b){var c=this.doc;this.startContainer=a;this.startOffset=b;if(this.endContainer===c)this.endContainer=a,this.endOffset=b;return rb(this)},setEnd:function(a,b){var c=this.doc;this.endContainer=a;this.endOffset=b;if(this.startContainer===c)this.startContainer=a,this.startOffset=b;return rb(this)},setStartBefore:function(a){return this.setStart(a.parentNode||this.doc,\nf(a).index())},setStartAfter:function(a){return this.setStart(a.parentNode||this.doc,f(a).index()+1)},setEndBefore:function(a){return this.setEnd(a.parentNode||this.doc,f(a).index())},setEndAfter:function(a){return this.setEnd(a.parentNode||this.doc,f(a).index()+1)},selectNode:function(a){return this.setStartBefore(a).setEndAfter(a)},selectNodeContents:function(a){var b=f(a);if(b.type==3||b.isSingle())return this.selectNode(a);b=b.children();if(b.length>0)return this.setStartBefore(b[0]).setEndAfter(b[b.length-\n1]);return this.setStart(a,0).setEnd(a,0)},collapse:function(a){if(a)return this.setEnd(this.startContainer,this.startOffset);return this.setStart(this.endContainer,this.endOffset)},compareBoundaryPoints:function(a,b){var c=this.get(),d=b.get();if(H){var e={};e[la]=\"StartToStart\";e[ka]=\"EndToStart\";e[da]=\"EndToEnd\";e[ma]=\"StartToEnd\";c=c.compareEndPoints(e[a],d);if(c!==0)return c;var g,h,j,k;if(a===la||a===ma)g=this.startContainer,j=this.startOffset;if(a===ka||a===da)g=this.endContainer,j=this.endOffset;\nif(a===la||a===ka)h=b.startContainer,k=b.startOffset;if(a===da||a===ma)h=b.endContainer,k=b.endOffset;if(g===h)return g=j-k,g>0?1:g<0?-1:0;for(c=h;c&&c.parentNode!==g;)c=c.parentNode;if(c)return f(c).index()>=j?-1:1;for(c=g;c&&c.parentNode!==h;)c=c.parentNode;if(c)return f(c).index()>=k?1:-1;if((c=f(h).next())&&c.contains(g))return 1;if((c=f(g).next())&&c.contains(h))return-1}else return c.compareBoundaryPoints(a,d)},cloneRange:function(){return(new M(this.doc)).setStart(this.startContainer,this.startOffset).setEnd(this.endContainer,\nthis.endOffset)},toString:function(){var a=this.get();return(H?a.text:a.toString()).replace(/\\r\\n|\\n|\\r/g,\"\")},cloneContents:function(){return Qa(this,!0,!1)},deleteContents:function(){return Qa(this,!1,!0)},extractContents:function(){return Qa(this,!0,!0)},insertNode:function(a){var b=this.startContainer,c=this.startOffset,d=this.endContainer,e=this.endOffset,g,f,j,k=1;if(a.nodeName.toLowerCase()===\"#document-fragment\")g=a.firstChild,f=a.lastChild,k=a.childNodes.length;b.nodeType==1?(j=b.childNodes[c])?\n(b.insertBefore(a,j),b===d&&(e+=k)):b.appendChild(a):b.nodeType==3&&(c===0?(b.parentNode.insertBefore(a,b),b.parentNode===d&&(e+=k)):c>=b.nodeValue.length?b.nextSibling?b.parentNode.insertBefore(a,b.nextSibling):b.parentNode.appendChild(a):(j=c>0?b.splitText(c):b,b.parentNode.insertBefore(a,j),b===d&&(d=j,e-=c)));g?this.setStartBefore(g).setEndAfter(f):this.selectNode(a);if(this.compareBoundaryPoints(da,this.cloneRange().setEnd(d,e))>=1)return this;return this.setEnd(d,e)},surroundContents:function(a){a.appendChild(this.extractContents());\nreturn this.insertNode(a).selectNode(a)},isControl:function(){var a=this.startContainer,b=this.startOffset,c=this.endContainer,d=this.endOffset;return a.nodeType==1&&a===c&&b+1===d&&f(a.childNodes[b]).isControl()},get:function(a){var b=this.doc;if(!H){b=b.createRange();try{b.setStart(this.startContainer,this.startOffset),b.setEnd(this.endContainer,this.endOffset)}catch(c){}return b}if(a&&this.isControl())return b=b.body.createControlRange(),b.addElement(this.startContainer.childNodes[this.startOffset]),\nb;a=this.cloneRange().down();b=b.body.createTextRange();b.setEndPoint(\"StartToStart\",tb(a.startContainer,a.startOffset));b.setEndPoint(\"EndToStart\",tb(a.endContainer,a.endOffset));return b},html:function(){return f(this.cloneContents()).outer()},down:function(){function a(a,d,e){if(a.nodeType==1&&(a=f(a).children(),a.length!==0)){var g,h,j,k;d>0&&(g=a.eq(d-1));d<a.length&&(h=a.eq(d));if(g&&g.type==3)j=g[0],k=j.nodeValue.length;h&&h.type==3&&(j=h[0],k=0);j&&(e?b.setStart(j,k):b.setEnd(j,k))}}var b=\nthis;a(b.startContainer,b.startOffset,!0);a(b.endContainer,b.endOffset,!1);return b},up:function(){function a(a,d,e){a.nodeType==3&&(d===0?e?b.setStartBefore(a):b.setEndBefore(a):d==a.nodeValue.length&&(e?b.setStartAfter(a):b.setEndAfter(a)))}var b=this;a(b.startContainer,b.startOffset,!0);a(b.endContainer,b.endOffset,!1);return b},enlarge:function(a){function b(b,e,g){b=f(b);if(!(b.type==3||Ia[b.name]||!a&&b.isBlock()))if(e===0){for(;!b.prev();){e=b.parent();if(!e||Ia[e.name]||!a&&e.isBlock())break;\nb=e}g?c.setStartBefore(b[0]):c.setEndBefore(b[0])}else if(e==b.children().length){for(;!b.next();){e=b.parent();if(!e||Ia[e.name]||!a&&e.isBlock())break;b=e}g?c.setStartAfter(b[0]):c.setEndAfter(b[0])}}var c=this;c.up();b(c.startContainer,c.startOffset,!0);b(c.endContainer,c.endOffset,!1);return c},shrink:function(){for(var a,b=this.collapsed;this.startContainer.nodeType==1&&(a=this.startContainer.childNodes[this.startOffset])&&a.nodeType==1&&!f(a).isSingle();)this.setStart(a,0);if(b)return this.collapse(b);\nfor(;this.endContainer.nodeType==1&&this.endOffset>0&&(a=this.endContainer.childNodes[this.endOffset-1])&&a.nodeType==1&&!f(a).isSingle();)this.setEnd(a,a.childNodes.length);return this},createBookmark:function(a){var b,c=f('<span style=\"display:none;\"></span>',this.doc)[0];c.id=\"__kindeditor_bookmark_start_\"+Qb++ +\"__\";if(!this.collapsed)b=c.cloneNode(!0),b.id=\"__kindeditor_bookmark_end_\"+Qb++ +\"__\";b&&this.cloneRange().collapse(!1).insertNode(b).setEndBefore(b);this.insertNode(c).setStartAfter(c);\nreturn{start:a?\"#\"+c.id:c,end:b?a?\"#\"+b.id:b:null}},moveToBookmark:function(a){var b=this.doc,c=f(a.start,b),a=a.end?f(a.end,b):null;if(!c||c.length<1)return this;this.setStartBefore(c[0]);c.remove();a&&a.length>0?(this.setEndBefore(a[0]),a.remove()):this.collapse(!0);return this},dump:function(){console.log(\"--------------------\");console.log(this.startContainer.nodeType==3?this.startContainer.nodeValue:this.startContainer,this.startOffset);console.log(this.endContainer.nodeType==3?this.endContainer.nodeValue:\nthis.endContainer,this.endOffset)}});f.RangeClass=M;f.range=Ra;f.START_TO_START=la;f.START_TO_END=ka;f.END_TO_END=da;f.END_TO_START=ma;E(oa,{init:function(a){var b=a.doc;this.doc=b;this.win=W(b);this.sel=Sa(b);this.range=a},selection:function(a){var b=this.doc,c;c=Sa(b);var d;try{d=c.rangeCount>0?c.getRangeAt(0):c.createRange()}catch(e){}c=H&&(!d||!d.item&&d.parentElement().ownerDocument!==b)?null:d;this.sel=Sa(b);if(c)return this.range=Ra(c),f(this.range.startContainer).name==\"html\"&&this.range.selectNodeContents(b.body).collapse(!1),\nthis;a&&this.range.selectNodeContents(b.body).collapse(!1);return this},select:function(a){var a=l(a,!0),b=this.sel,c=this.range.cloneRange().shrink(),d=c.startContainer,e=c.startOffset,g=V(d),h=this.win,j,k=!1;if(a&&d.nodeType==1&&c.collapsed){if(H){b=f(\"<span>&nbsp;</span>\",g);c.insertNode(b[0]);j=g.body.createTextRange();try{j.moveToElementText(b[0])}catch(n){}j.collapse(!1);j.select();b.remove();h.focus();return this}if(X&&(a=d.childNodes,f(d).isInline()||e>0&&f(a[e-1]).isInline()||a[e]&&f(a[e]).isInline()))c.insertNode(g.createTextNode(\"\\u200b\")),\nk=!0}if(H)try{j=c.get(!0),j.select()}catch(i){}else k&&c.collapse(!1),j=c.get(!0),b.removeAllRanges(),b.addRange(j),g!==document&&(c=f(j.endContainer).pos(),h.scrollTo(c.x,c.y));h.focus();return this},wrap:function(a){var b=this.range,c;c=f(a,this.doc);if(b.collapsed)return b.shrink(),b.insertNode(c[0]).selectNodeContents(c[0]),this;if(c.isBlock()){for(var d=a=c.clone(!0);d.first();)d=d.first();d.append(b.extractContents());b.insertNode(a[0]).selectNode(a[0]);return this}b.enlarge();var e=b.createBookmark(),\na=b.commonAncestor(),g=!1;f(a).scan(function(a){if(!g&&a==e.start)g=!0;else if(g){if(a==e.end)return!1;var b=f(a),d;a:{for(d=b;d&&d.name!=\"body\";){if(La[d.name]||d.name==\"div\"&&d.hasClass(\"ke-script\")){d=!0;break a}d=d.parent()}d=!1}if(!d&&b.type==3&&B(a.nodeValue).length>0){for(var n;(n=b.parent())&&n.isStyle()&&n.children().length==1;)b=n;n=c;n=n.clone(!0);if(b.type==3)Va(n).append(b.clone(!1)),b.replaceWith(n);else{for(var a=b,i;(i=b.first())&&i.children().length==1;)b=i;i=b.first();for(b=b.doc.createDocumentFragment();i;)b.appendChild(i[0]),\ni=i.next();i=a.clone(!0);d=Va(i);for(var r=i,l=!1;n;){for(;r;)r.name===n.name&&(Zb(r,n.attr(),n.css()),l=!0),r=r.first();l||d.append(n.clone(!1));l=!1;n=n.first()}n=i;b.firstChild&&Va(n).append(b);a.replaceWith(n)}}}});b.moveToBookmark(e);return this},split:function(a,b){for(var c=this.range,d=c.doc,e=c.cloneRange().collapse(a),g=e.startContainer,h=e.startOffset,j=g.nodeType==3?g.parentNode:g,k=!1,n;j&&j.parentNode;){n=f(j);if(b){if(!n.isStyle())break;if(!Ta(n,b))break}else if(Ia[n.name])break;k=\n!0;j=j.parentNode}if(k)d=d.createElement(\"span\"),c.cloneRange().collapse(!a).insertNode(d),a?e.setStartBefore(j.firstChild).setEnd(g,h):e.setStart(g,h).setEndAfter(j.lastChild),g=e.extractContents(),h=g.firstChild,k=g.lastChild,a?(e.insertNode(g),c.setStartAfter(k).setEndBefore(d)):(j.appendChild(g),c.setStartBefore(d).setEndBefore(h)),e=d.parentNode,e==c.endContainer&&(j=f(d).prev(),g=f(d).next(),j&&g&&j.type==3&&g.type==3?c.setEnd(j[0],j[0].nodeValue.length):a||c.setEnd(c.endContainer,c.endOffset-\n1)),e.removeChild(d);return this},remove:function(a){var b=this.doc,c=this.range;c.enlarge();if(c.startOffset===0){for(var d=f(c.startContainer),e;(e=d.parent())&&e.isStyle()&&e.children().length==1;)d=e;c.setStart(d[0],0);d=f(c.startContainer);d.isBlock()&&Ua(d,a);(d=d.parent())&&d.isBlock()&&Ua(d,a)}if(c.collapsed){this.split(!0,a);b=c.startContainer;d=c.startOffset;if(d>0&&(e=f(b.childNodes[d-1]))&&ea(e))e.remove(),c.setStart(b,d-1);(d=f(b.childNodes[d]))&&ea(d)&&d.remove();ea(b)&&(c.startBefore(b),\nb.remove());c.collapse(!0);return this}this.split(!0,a);this.split(!1,a);var g=b.createElement(\"span\"),h=b.createElement(\"span\");c.cloneRange().collapse(!1).insertNode(h);c.cloneRange().collapse(!0).insertNode(g);var j=[],k=!1;f(c.commonAncestor()).scan(function(a){if(!k&&a==g)k=!0;else{if(a==h)return!1;k&&j.push(a)}});f(g).remove();f(h).remove();b=c.startContainer;d=c.startOffset;e=c.endContainer;var n=c.endOffset;if(d>0){var i=f(b.childNodes[d-1]);i&&ea(i)&&(i.remove(),c.setStart(b,d-1),b==e&&c.setEnd(e,\nn-1));if((d=f(b.childNodes[d]))&&ea(d))d.remove(),b==e&&c.setEnd(e,n-1)}(b=f(e.childNodes[c.endOffset]))&&ea(b)&&b.remove();b=c.createBookmark(!0);m(j,function(b,c){Ua(f(c),a)});c.moveToBookmark(b);return this},commonNode:function(a){function b(b){for(var c=b;b;){if(Ta(f(b),a))return f(b);b=b.parentNode}for(;c&&(c=c.lastChild);)if(Ta(f(c),a))return f(c);return null}var c=this.range,d=c.endContainer,c=c.endOffset,e=d.nodeType==3||c===0?d:d.childNodes[c-1],g=b(e);if(g)return g;if(e.nodeType==1||d.nodeType==\n3&&c===0)if(d=f(e).prev())return b(d);return null},commonAncestor:function(a){function b(b){for(;b;){if(b.nodeType==1&&b.tagName.toLowerCase()===a)return b;b=b.parentNode}return null}var c=this.range,d=c.startContainer,e=c.startOffset,g=c.endContainer,c=c.endOffset,g=g.nodeType==3||c===0?g:g.childNodes[c-1],d=b(d.nodeType==3||e===0?d:d.childNodes[e-1]),e=b(g);if(d&&e&&d===e)return f(d);return null},state:function(a){var b=this.doc,c=!1;try{c=b.queryCommandState(a)}catch(d){}return c},val:function(a){var b=\nthis.doc,a=a.toLowerCase(),c=\"\";if(a===\"fontfamily\"||a===\"fontname\")return c=vb(b,\"fontname\"),c=c.replace(/['\"]/g,\"\"),c.toLowerCase();if(a===\"formatblock\"){c=vb(b,a);if(c===\"\"&&(a=this.commonNode({\"h1,h2,h3,h4,h5,h6,p,div,pre,address\":\"*\"})))c=a.name;c===\"Normal\"&&(c=\"p\");return c.toLowerCase()}if(a===\"fontsize\")return(a=this.commonNode({\"*\":\".font-size\"}))&&(c=a.css(\"font-size\")),c.toLowerCase();if(a===\"forecolor\")return(a=this.commonNode({\"*\":\".color\"}))&&(c=a.css(\"color\")),c=ya(c),c===\"\"&&(c=\"default\"),\nc.toLowerCase();if(a===\"hilitecolor\")return(a=this.commonNode({\"*\":\".background-color\"}))&&(c=a.css(\"background-color\")),c=ya(c),c===\"\"&&(c=\"default\"),c.toLowerCase();return c},toggle:function(a,b){this.commonNode(b)?this.remove(b):this.wrap(a);return this.select()},bold:function(){return this.toggle(\"<strong></strong>\",{span:\".font-weight=bold\",strong:\"*\",b:\"*\"})},italic:function(){return this.toggle(\"<em></em>\",{span:\".font-style=italic\",em:\"*\",i:\"*\"})},underline:function(){return this.toggle(\"<u></u>\",\n{span:\".text-decoration=underline\",u:\"*\"})},strikethrough:function(){return this.toggle(\"<s></s>\",{span:\".text-decoration=line-through\",s:\"*\"})},forecolor:function(a){return this.wrap('<span style=\"color:'+a+';\"></span>').select()},hilitecolor:function(a){return this.wrap('<span style=\"background-color:'+a+';\"></span>').select()},fontsize:function(a){return this.wrap('<span style=\"font-size:'+a+';\"></span>').select()},fontname:function(a){return this.fontfamily(a)},fontfamily:function(a){return this.wrap('<span style=\"font-family:'+\na+';\"></span>').select()},removeformat:function(){var a={\"*\":\".font-weight,.font-style,.text-decoration,.color,.background-color,.font-size,.font-family,.text-indent\"};m(Mb,function(b){a[b]=\"*\"});this.remove(a);return this.select()},inserthtml:function(a,b){function c(a,b){var b='<img id=\"__kindeditor_temp_tag__\" width=\"0\" height=\"0\" style=\"display:none;\" />'+b,c=a.get();c.item?c.item(0).outerHTML=b:c.pasteHTML(b);var d=a.doc.getElementById(\"__kindeditor_temp_tag__\");d.parentNode.removeChild(d);c=\nub(c);a.setEnd(c.endContainer,c.endOffset);a.collapse(!1);e.select(!1)}function d(a,b){var c=a.doc,d=c.createDocumentFragment();f(\"@\"+b,c).each(function(){d.appendChild(this)});a.deleteContents();a.insertNode(d);a.collapse(!1);e.select(!1)}var e=this,g=e.range;if(a===\"\")return e;if(H&&b){try{c(g,a)}catch(h){d(g,a)}return e}d(g,a);return e},hr:function(){return this.inserthtml(\"<hr />\")},print:function(){this.win.print();return this},insertimage:function(a,b,c,d,e,g){b=l(b,\"\");l(e,0);a='<img src=\"'+\nC(a)+'\" data-ke-src=\"'+C(a)+'\" ';c&&(a+='width=\"'+C(c)+'\" ');d&&(a+='height=\"'+C(d)+'\" ');b&&(a+='title=\"'+C(b)+'\" ');g&&(a+='align=\"'+C(g)+'\" ');a+='alt=\"'+C(b)+'\" ';a+=\"/>\";return this.inserthtml(a)},createlink:function(a,b){function c(a,b,c){f(a).attr(\"href\",b).attr(\"data-ke-src\",b);c?f(a).attr(\"target\",c):f(a).removeAttr(\"target\")}var d=this.doc,e=this.range;this.select();var g=this.commonNode({a:\"*\"});g&&!e.isControl()&&(e.selectNode(g.get()),this.select());g='<a href=\"'+C(a)+'\" data-ke-src=\"'+\nC(a)+'\" ';b&&(g+=' target=\"'+C(b)+'\"');if(e.collapsed)return g+=\">\"+C(a)+\"</a>\",this.inserthtml(g);if(e.isControl()){var h=f(e.startContainer.childNodes[e.startOffset]);g+=\"></a>\";h.after(f(g,d));h.next().append(h);e.selectNode(h[0]);return this.select()}var g=e.startContainer,h=e.startOffset,j=e.endContainer,e=e.endOffset;if(g.nodeType==1&&g===j&&h+1===e&&(e=g.childNodes[h],e.nodeName.toLowerCase()==\"a\"))return c(e,a,b),this;Q(d,\"createlink\",\"__kindeditor_temp_url__\");f('a[href=\"__kindeditor_temp_url__\"]',\nd).each(function(){c(this,a,b)});return this},unlink:function(){var a=this.doc,b=this.range;this.select();if(b.collapsed){var c=this.commonNode({a:\"*\"});c&&(b.selectNode(c.get()),this.select());Q(a,\"unlink\",null);X&&f(b.startContainer).name===\"img\"&&(a=f(b.startContainer).parent(),a.name===\"a\"&&a.remove(!0))}else Q(a,\"unlink\",null);return this}});m(\"formatblock,selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,indent,outdent,subscript,superscript\".split(\",\"),\nfunction(a,b){oa.prototype[b]=function(a){this.select();Q(this.doc,b,a);H&&J(b,\"justifyleft,justifycenter,justifyright,justifyfull\".split(\",\"))>=0&&this.selection();(!H||J(b,\"formatblock,selectall,insertorderedlist,insertunorderedlist\".split(\",\"))>=0)&&this.selection();return this}});m(\"cut,copy,paste\".split(\",\"),function(a,b){oa.prototype[b]=function(){if(!this.doc.queryCommandSupported(b))throw\"not supported\";this.select();Q(this.doc,b,null);return this}});f.CmdClass=oa;f.cmd=zb;E(S,{init:function(a){var b=\nthis;b.name=a.name||\"\";b.doc=a.doc||document;b.win=W(b.doc);b.x=s(a.x);b.y=s(a.y);b.z=a.z;b.width=s(a.width);b.height=s(a.height);b.div=f('<div style=\"display:block;\"></div>');b.options=a;b._alignEl=a.alignEl;b.width&&b.div.css(\"width\",b.width);b.height&&b.div.css(\"height\",b.height);b.z&&b.div.css({position:\"absolute\",left:b.x,top:b.y,\"z-index\":b.z});b.z&&(b.x===i||b.y===i)&&b.autoPos(b.width,b.height);a.cls&&b.div.addClass(a.cls);a.shadowMode&&b.div.addClass(\"ke-shadow\");a.css&&b.div.css(a.css);\na.src?f(a.src).replaceWith(b.div):f(b.doc.body).append(b.div);a.html&&b.div.html(a.html);if(a.autoScroll)if(o&&A<7||P){var c=ca();f(b.win).bind(\"scroll\",function(){var a=ca(),e=a.x-c.x,a=a.y-c.y;b.pos(t(b.x)+e,t(b.y)+a,!1)})}else b.div.css(\"position\",\"fixed\")},pos:function(a,b,c){c=l(c,!0);if(a!==null&&(a=a<0?0:s(a),this.div.css(\"left\",a),c))this.x=a;if(b!==null&&(b=b<0?0:s(b),this.div.css(\"top\",b),c))this.y=b;return this},autoPos:function(a,b){var c=t(a)||0,d=t(b)||0,e=ca();if(this._alignEl){var g=\nf(this._alignEl),h=g.pos(),c=R(g[0].clientWidth/2-c/2),d=R(g[0].clientHeight/2-d/2);x=c<0?h.x:h.x+c;y=d<0?h.y:h.y+d}else h=G(this.doc),x=R(e.x+(h.clientWidth-c)/2),y=R(e.y+(h.clientHeight-d)/2);o&&A<7||P||(x-=e.x,y-=e.y);return this.pos(x,y)},remove:function(){var a=this;(o&&A<7||P)&&f(a.win).unbind(\"scroll\");a.div.remove();m(a,function(b){a[b]=null});return this},show:function(){this.div.show();return this},hide:function(){this.div.hide();return this},draggable:function(a){var b=this,a=a||{};a.moveEl=\nb.div;a.moveFn=function(a,d,e,g,f,j){if((a+=f)<0)a=0;if((d+=j)<0)d=0;b.pos(a,d)};Wa(a);return b}});f.WidgetClass=S;f.widget=Ya;var Za=\"\";if(p=document.getElementsByTagName(\"html\"))Za=p[0].dir;E(qa,S,{init:function(a){function b(){var b=Xa(c.iframe);b.open();if(j)b.domain=document.domain;b.write($b(d,e,g,h));b.close();c.win=c.iframe[0].contentWindow;c.doc=b;var k=zb(b);c.afterChange(function(){k.selection()});X&&f(b).click(function(a){f(a.target).name===\"img\"&&(k.selection(!0),k.range.selectNode(a.target),\nk.select())});if(o)c._mousedownHandler=function(){var a=k.range.cloneRange();a.shrink();a.isControl()&&c.blur()},f(document).mousedown(c._mousedownHandler),f(b).keydown(function(a){if(a.which==8){k.selection();var b=k.range;b.isControl()&&(b.collapse(!0),f(b.startContainer.childNodes[b.startOffset]).remove(),a.preventDefault())}});c.cmd=k;c.html(pa(c.srcElement));o?(b.body.disabled=!0,b.body.contentEditable=!0,b.body.removeAttribute(\"disabled\")):b.designMode=\"on\";a.afterCreate&&a.afterCreate.call(c)}\nvar c=this;qa.parent.init.call(c,a);c.srcElement=f(a.srcElement);c.div.addClass(\"ke-edit\");c.designMode=l(a.designMode,!0);c.beforeGetHtml=a.beforeGetHtml;c.beforeSetHtml=a.beforeSetHtml;c.afterSetHtml=a.afterSetHtml;var d=l(a.themesPath,\"\"),e=a.bodyClass,g=a.cssPath,h=a.cssData,j=location.protocol!=\"res:\"&&location.host.replace(/:\\d+/,\"\")!==document.domain,k=\"document.open();\"+(j?'document.domain=\"'+document.domain+'\";':\"\")+\"document.close();\",k=o?' src=\"javascript:void(function(){'+encodeURIComponent(k)+\n'}())\"':\"\";c.iframe=f('<iframe class=\"ke-edit-iframe\" hidefocus=\"true\" frameborder=\"0\"'+k+\"></iframe>\").css(\"width\",\"100%\");c.textarea=f('<textarea class=\"ke-edit-textarea\" hidefocus=\"true\"></textarea>').css(\"width\",\"100%\");c.tabIndex=isNaN(parseInt(a.tabIndex,10))?c.srcElement.attr(\"tabindex\"):parseInt(a.tabIndex,10);c.iframe.attr(\"tabindex\",c.tabIndex);c.textarea.attr(\"tabindex\",c.tabIndex);c.width&&c.setWidth(c.width);c.height&&c.setHeight(c.height);c.designMode?c.textarea.hide():c.iframe.hide();\nj&&c.iframe.bind(\"load\",function(){c.iframe.unbind(\"load\");o?b():setTimeout(b,0)});c.div.append(c.iframe);c.div.append(c.textarea);c.srcElement.hide();!j&&b()},setWidth:function(a){this.width=a=s(a);this.div.css(\"width\",a);return this},setHeight:function(a){this.height=a=s(a);this.div.css(\"height\",a);this.iframe.css(\"height\",a);if(o&&A<8||P)a=s(t(a)-2);this.textarea.css(\"height\",a);return this},remove:function(){var a=this.doc;f(a.body).unbind();f(a).unbind();f(this.win).unbind();this._mousedownHandler&&\nf(document).unbind(\"mousedown\",this._mousedownHandler);pa(this.srcElement,this.html());this.srcElement.show();a.write(\"\");this.iframe.unbind();this.textarea.unbind();qa.parent.remove.call(this)},html:function(a,b){var c=this.doc;if(this.designMode){c=c.body;if(a===i)return a=b?\"<!doctype html><html>\"+c.parentNode.innerHTML+\"</html>\":c.innerHTML,this.beforeGetHtml&&(a=this.beforeGetHtml(a)),Y&&a==\"<br />\"&&(a=\"\"),a;this.beforeSetHtml&&(a=this.beforeSetHtml(a));o&&A>=9&&(a=a.replace(/(<.*?checked=\")checked(\".*>)/ig,\n\"$1$2\"));f(c).html(a);this.afterSetHtml&&this.afterSetHtml();return this}if(a===i)return this.textarea.val();this.textarea.val(a);return this},design:function(a){if(a===i?!this.designMode:a){if(!this.designMode)a=this.html(),this.designMode=!0,this.html(a),this.textarea.hide(),this.iframe.show()}else if(this.designMode)a=this.html(),this.designMode=!1,this.html(a),this.iframe.hide(),this.textarea.show();return this.focus()},focus:function(){this.designMode?this.win.focus():this.textarea[0].focus();\nreturn this},blur:function(){if(o){var a=f('<input type=\"text\" style=\"float:left;width:0;height:0;padding:0;margin:0;border:0;\" value=\"\" />',this.div);this.div.append(a);a[0].focus();a.remove()}else this.designMode?this.win.blur():this.textarea[0].blur();return this},afterChange:function(a){function b(b){setTimeout(function(){a(b)},1)}var c=this.doc,d=c.body;f(c).keyup(function(b){!b.ctrlKey&&!b.altKey&&db[b.which]&&a(b)});f(c).mouseup(a).contextmenu(a);f(this.win).blur(a);f(d).bind(\"paste\",b);f(d).bind(\"cut\",\nb);return this}});f.EditClass=qa;f.edit=Ab;f.iframeDoc=Xa;E(Da,S,{init:function(a){function b(a){a=f(a);if(a.hasClass(\"ke-outline\"))return a;if(a.hasClass(\"ke-toolbar-icon\"))return a.parent()}function c(a,c){var d=b(a.target);if(d&&!d.hasClass(\"ke-disabled\")&&!d.hasClass(\"ke-selected\"))d[c](\"ke-on\")}var d=this;Da.parent.init.call(d,a);d.disableMode=l(a.disableMode,!1);d.noDisableItemMap=u(l(a.noDisableItems,[]));d._itemMap={};d.div.addClass(\"ke-toolbar\").bind(\"contextmenu,mousedown,mousemove\",function(a){a.preventDefault()}).attr(\"unselectable\",\n\"on\");d.div.mouseover(function(a){c(a,\"addClass\")}).mouseout(function(a){c(a,\"removeClass\")}).click(function(a){var c=b(a.target);c&&!c.hasClass(\"ke-disabled\")&&d.options.click.call(this,a,c.attr(\"data-name\"))})},get:function(a){if(this._itemMap[a])return this._itemMap[a];return this._itemMap[a]=f(\"span.ke-icon-\"+a,this.div).parent()},select:function(a){Bb.call(this,a,function(a){a.addClass(\"ke-selected\")});return self},unselect:function(a){Bb.call(this,a,function(a){a.removeClass(\"ke-selected\").removeClass(\"ke-on\")});\nreturn self},enable:function(a){if(a=a.get?a:this.get(a))a.removeClass(\"ke-disabled\"),a.opacity(1);return this},disable:function(a){if(a=a.get?a:this.get(a))a.removeClass(\"ke-selected\").addClass(\"ke-disabled\"),a.opacity(0.5);return this},disableAll:function(a,b){var c=this,d=c.noDisableItemMap;b&&(d=u(b));(a===i?!c.disableMode:a)?(f(\"span.ke-outline\",c.div).each(function(){var a=f(this),b=a[0].getAttribute(\"data-name\",2);d[b]||c.disable(a)}),c.disableMode=!0):(f(\"span.ke-outline\",c.div).each(function(){var a=\nf(this),b=a[0].getAttribute(\"data-name\",2);d[b]||c.enable(a)}),c.disableMode=!1);return c}});f.ToolbarClass=Da;f.toolbar=Cb;E(ra,S,{init:function(a){a.z=a.z||811213;ra.parent.init.call(this,a);this.centerLineMode=l(a.centerLineMode,!0);this.div.addClass(\"ke-menu\").bind(\"click,mousedown\",function(a){a.stopPropagation()}).attr(\"unselectable\",\"on\")},addItem:function(a){if(a.title===\"-\")this.div.append(f('<div class=\"ke-menu-separator\"></div>'));else{var b=f('<div class=\"ke-menu-item\" unselectable=\"on\"></div>'),\nc=f('<div class=\"ke-inline-block ke-menu-item-left\"></div>'),d=f('<div class=\"ke-inline-block ke-menu-item-right\"></div>'),e=s(a.height),g=l(a.iconClass,\"\");this.div.append(b);e&&(b.css(\"height\",e),d.css(\"line-height\",e));var h;this.centerLineMode&&(h=f('<div class=\"ke-inline-block ke-menu-item-center\"></div>'),e&&h.css(\"height\",e));b.mouseover(function(){f(this).addClass(\"ke-menu-item-on\");h&&h.addClass(\"ke-menu-item-center-on\")}).mouseout(function(){f(this).removeClass(\"ke-menu-item-on\");h&&h.removeClass(\"ke-menu-item-center-on\")}).click(function(b){a.click.call(f(this));\nb.stopPropagation()}).append(c);h&&b.append(h);b.append(d);a.checked&&(g=\"ke-icon-checked\");g!==\"\"&&c.html('<span class=\"ke-inline-block ke-toolbar-icon ke-toolbar-icon-url '+g+'\"></span>');d.html(a.title);return this}},remove:function(){this.options.beforeRemove&&this.options.beforeRemove.call(this);f(\".ke-menu-item\",this.div[0]).unbind();ra.parent.remove.call(this);return this}});f.MenuClass=ra;f.menu=$a;E(sa,S,{init:function(a){a.z=a.z||811213;sa.parent.init.call(this,a);var b=a.colors||[[\"#E53333\",\n\"#E56600\",\"#FF9900\",\"#64451D\",\"#DFC5A4\",\"#FFE500\"],[\"#009900\",\"#006600\",\"#99BB00\",\"#B8D100\",\"#60D978\",\"#00D5FF\"],[\"#337FE5\",\"#003399\",\"#4C33E5\",\"#9933E5\",\"#CC33E5\",\"#EE33EE\"],[\"#FFFFFF\",\"#CCCCCC\",\"#999999\",\"#666666\",\"#333333\",\"#000000\"]];this.selectedColor=(a.selectedColor||\"\").toLowerCase();this._cells=[];this.div.addClass(\"ke-colorpicker\").bind(\"click,mousedown\",function(a){a.stopPropagation()}).attr(\"unselectable\",\"on\");a=this.doc.createElement(\"table\");this.div.append(a);a.className=\"ke-colorpicker-table\";\na.cellPadding=0;a.cellSpacing=0;a.border=0;var c=a.insertRow(0),d=c.insertCell(0);d.colSpan=b[0].length;this._addAttr(d,\"\",\"ke-colorpicker-cell-top\");for(var e=0;e<b.length;e++)for(var c=a.insertRow(e+1),g=0;g<b[e].length;g++)d=c.insertCell(g),this._addAttr(d,b[e][g],\"ke-colorpicker-cell\")},_addAttr:function(a,b,c){var d=this,a=f(a).addClass(c);d.selectedColor===b.toLowerCase()&&a.addClass(\"ke-colorpicker-cell-selected\");a.attr(\"title\",b||d.options.noColor);a.mouseover(function(){f(this).addClass(\"ke-colorpicker-cell-on\")});\na.mouseout(function(){f(this).removeClass(\"ke-colorpicker-cell-on\")});a.click(function(a){a.stop();d.options.click.call(f(this),b)});b?a.append(f('<div class=\"ke-colorpicker-cell-color\" unselectable=\"on\"></div>').css(\"background-color\",b)):a.html(d.options.noColor);f(a).attr(\"unselectable\",\"on\");d._cells.push(a)},remove:function(){m(this._cells,function(){this.unbind()});sa.parent.remove.call(this);return this}});f.ColorPickerClass=sa;f.colorpicker=Db;E(ab,{init:function(a){var b=f(a.button),c=a.fieldName||\n\"file\",d=a.url||\"\",e=b.val(),g=a.extraParams||{},h=b[0].className||\"\",j=a.target||\"kindeditor_upload_iframe_\"+(new Date).getTime();a.afterError=a.afterError||function(a){alert(a)};var k=[],i;for(i in g)k.push('<input type=\"hidden\" name=\"'+i+'\" value=\"'+g[i]+'\" />');c=['<div class=\"ke-inline-block '+h+'\">',a.target?\"\":'<iframe name=\"'+j+'\" style=\"display:none;\"></iframe>',a.form?'<div class=\"ke-upload-area\">':'<form class=\"ke-upload-area ke-form\" method=\"post\" enctype=\"multipart/form-data\" target=\"'+\nj+'\" action=\"'+d+'\">','<span class=\"ke-button-common\">',k.join(\"\"),'<input type=\"button\" class=\"ke-button-common ke-button\" value=\"'+e+'\" />',\"</span>\",'<input type=\"file\" class=\"ke-upload-file\" name=\"'+c+'\" tabindex=\"-1\" />',a.form?\"</div>\":\"</form>\",\"</div>\"].join(\"\");c=f(c,b.doc);b.hide();b.before(c);this.div=c;this.button=b;this.iframe=a.target?f('iframe[name=\"'+j+'\"]'):f(\"iframe\",c);this.form=a.form?f(a.form):f(\"form\",c);this.fileBox=f(\".ke-upload-file\",c);b=a.width||f(\".ke-button-common\",c).width();\nf(\".ke-upload-area\",c).width(b);this.options=a},submit:function(){var a=this,b=a.iframe;b.bind(\"load\",function(){b.unbind();var c=document.createElement(\"form\");a.fileBox.before(c);f(c).append(a.fileBox);c.reset();f(c).remove(!0);var c=f.iframeDoc(b),d=c.getElementsByTagName(\"pre\")[0],e=\"\",g,e=d?d.innerHTML:c.body.innerHTML,e=fa(e);b[0].src=\"javascript:false\";try{g=f.json(e)}catch(h){a.options.afterError.call(a,\"<!doctype html><html>\"+c.body.parentNode.innerHTML+\"</html>\")}g&&a.options.afterUpload.call(a,\ng)});a.form[0].submit();return a},remove:function(){this.fileBox&&this.fileBox.unbind();this.iframe.remove();this.div.remove();this.button.show();return this}});f.UploadButtonClass=ab;f.uploadbutton=function(a){return new ab(a)};E(ta,S,{init:function(a){var b=l(a.shadowMode,!0);a.z=a.z||811213;a.shadowMode=!1;a.autoScroll=l(a.autoScroll,!0);ta.parent.init.call(this,a);var c=a.title,d=f(a.body,this.doc),e=a.previewBtn,g=a.yesBtn,h=a.noBtn,j=a.closeBtn,k=l(a.showMask,!0);this.div.addClass(\"ke-dialog\").bind(\"click,mousedown\",\nfunction(a){a.stopPropagation()});var i=f('<div class=\"ke-dialog-content\"></div>').appendTo(this.div);o&&A<7?this.iframeMask=f('<iframe src=\"about:blank\" class=\"ke-dialog-shadow\"></iframe>').appendTo(this.div):b&&f('<div class=\"ke-dialog-shadow\"></div>').appendTo(this.div);b=f('<div class=\"ke-dialog-header\"></div>');i.append(b);b.html(c);this.closeIcon=f('<span class=\"ke-dialog-icon-close\" title=\"'+j.name+'\"></span>').click(j.click);b.append(this.closeIcon);this.draggable({clickEl:b,beforeDrag:a.beforeDrag});\na=f('<div class=\"ke-dialog-body\"></div>');i.append(a);a.append(d);var q=f('<div class=\"ke-dialog-footer\"></div>');(e||g||h)&&i.append(q);m([{btn:e,name:\"preview\"},{btn:g,name:\"yes\"},{btn:h,name:\"no\"}],function(){if(this.btn){var a=this.btn,a=a||{},b=a.name||\"\",c=f('<span class=\"ke-button-common ke-button-outer\" title=\"'+b+'\"></span>'),b=f('<input class=\"ke-button-common ke-button\" type=\"button\" value=\"'+b+'\" />');a.click&&b.click(a.click);c.append(b);c.addClass(\"ke-dialog-\"+this.name);q.append(c)}});\nthis.height&&a.height(t(this.height)-b.height()-q.height());this.div.width(this.div.width());this.div.height(this.div.height());this.mask=null;if(k)d=G(this.doc),this.mask=Ya({x:0,y:0,z:this.z-1,cls:\"ke-dialog-mask\",width:Math.max(d.scrollWidth,d.clientWidth),height:Math.max(d.scrollHeight,d.clientHeight)});this.autoPos(this.div.width(),this.div.height());this.footerDiv=q;this.bodyDiv=a;this.headerDiv=b;this.isLoading=!1},setMaskIndex:function(a){this.mask.div.css(\"z-index\",a)},showLoading:function(a){var a=\nl(a,\"\"),b=this.bodyDiv;this.loading=f('<div class=\"ke-dialog-loading\"><div class=\"ke-inline-block ke-dialog-loading-content\" style=\"margin-top:'+Math.round(b.height()/3)+'px;\">'+a+\"</div></div>\").width(b.width()).height(b.height()).css(\"top\",this.headerDiv.height()+\"px\");b.css(\"visibility\",\"hidden\").after(this.loading);this.isLoading=!0;return this},hideLoading:function(){this.loading&&this.loading.remove();this.bodyDiv.css(\"visibility\",\"visible\");this.isLoading=!1;return this},remove:function(){this.options.beforeRemove&&\nthis.options.beforeRemove.call(this);this.mask&&this.mask.remove();this.iframeMask&&this.iframeMask.remove();this.closeIcon.unbind();f(\"input\",this.div).unbind();f(\"button\",this.div).unbind();this.footerDiv.unbind();this.bodyDiv.unbind();this.headerDiv.unbind();f(\"iframe\",this.div).each(function(){f(this).remove()});ta.parent.remove.call(this);return this}});f.DialogClass=ta;f.dialog=Eb;f.tabs=function(a){var b=Ya(a),c=b.remove,d=a.afterSelect,a=b.div,e=[];a.addClass(\"ke-tabs\").bind(\"contextmenu,mousedown,mousemove\",\nfunction(a){a.preventDefault()});var g=f('<ul class=\"ke-tabs-ul ke-clearfix\"></ul>');a.append(g);b.add=function(a){var b=f('<li class=\"ke-tabs-li\">'+a.title+\"</li>\");b.data(\"tab\",a);e.push(b);g.append(b)};b.selectedIndex=0;b.select=function(a){b.selectedIndex=a;m(e,function(c,d){d.unbind();c===a?(d.addClass(\"ke-tabs-li-selected\"),f(d.data(\"tab\").panel).show(\"\")):(d.removeClass(\"ke-tabs-li-selected\").removeClass(\"ke-tabs-li-on\").mouseover(function(){f(this).addClass(\"ke-tabs-li-on\")}).mouseout(function(){f(this).removeClass(\"ke-tabs-li-on\")}).click(function(){b.select(c)}),\nf(d.data(\"tab\").panel).hide())});d&&d.call(b,a)};b.remove=function(){m(e,function(){this.remove()});g.remove();c.call(b)};return b};f.loadScript=bb;f.loadStyle=cb;f.ajax=function(a,b,c,d,e){var c=c||\"GET\",e=e||\"json\",g=w.XMLHttpRequest?new w.XMLHttpRequest:new ActiveXObject(\"Microsoft.XMLHTTP\");g.open(c,a,!0);g.onreadystatechange=function(){if(g.readyState==4&&g.status==200&&b){var a=B(g.responseText);e==\"json\"&&(a=eb(a));b(a)}};if(c==\"POST\"){var f=[];m(d,function(a,b){f.push(encodeURIComponent(a)+\n\"=\"+encodeURIComponent(b))});try{g.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded\")}catch(j){}g.send(f.join(\"&\"))}else g.send(null)};var N={},O={};ua.prototype={lang:function(a){return Ib(a,this.langType)},loadPlugin:function(a,b){var c=this;if(N[a]){if(!wa(N[a]))return setTimeout(function(){c.loadPlugin(a,b)},100),c;N[a].call(c,KindEditor);b&&b.call(c);return c}N[a]=\"loading\";bb(c.pluginsPath+a+\"/\"+a+\".js?ver=\"+encodeURIComponent(f.DEBUG?Ga:Ha),function(){setTimeout(function(){N[a]&&\nc.loadPlugin(a,b)},0)});return c},handler:function(a,b){var c=this;c._handlers[a]||(c._handlers[a]=[]);if(wa(b))return c._handlers[a].push(b),c;m(c._handlers[a],function(){b=this.call(c,b)});return b},clickToolbar:function(a,b){var c=this,d=\"clickToolbar\"+a;if(b===i){if(c._handlers[d])return c.handler(d);c.loadPlugin(a,function(){c.handler(d)});return c}return c.handler(d,b)},updateState:function(){var a=this;m(\"justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,subscript,superscript,bold,italic,underline,strikethrough\".split(\",\"),\nfunction(b,c){a.cmd.state(c)?a.toolbar.select(c):a.toolbar.unselect(c)});return a},addContextmenu:function(a){this._contextmenus.push(a);return this},afterCreate:function(a){return this.handler(\"afterCreate\",a)},beforeRemove:function(a){return this.handler(\"beforeRemove\",a)},beforeGetHtml:function(a){return this.handler(\"beforeGetHtml\",a)},beforeSetHtml:function(a){return this.handler(\"beforeSetHtml\",a)},afterSetHtml:function(a){return this.handler(\"afterSetHtml\",a)},create:function(){function a(){k.height()===\n0?setTimeout(a,100):b.resize(d,e,!1)}var b=this,c=b.fullscreenMode;if(b.isCreated)return b;if(b.srcElement.data(\"kindeditor\"))return b;b.srcElement.data(\"kindeditor\",\"true\");c?G().style.overflow=\"hidden\":G().style.overflow=\"\";var d=c?G().clientWidth+\"px\":b.width,e=c?G().clientHeight+\"px\":b.height;if(o&&A<8||P)e=s(t(e)+2);var g=b.container=f(b.layout);c?f(document.body).append(g):b.srcElement.before(g);var h=f(\".toolbar\",g),j=f(\".edit\",g),k=b.statusbar=f(\".statusbar\",g);g.removeClass(\"container\").addClass(\"ke-container ke-container-\"+\nb.themeType).css(\"width\",d);if(c){g.css({position:\"absolute\",left:0,top:0,\"z-index\":811211});if(!Y)b._scrollPos=ca();w.scrollTo(0,0);f(document.body).css({height:\"1px\",overflow:\"hidden\"});f(document.body.parentNode).css(\"overflow\",\"hidden\");b._fullscreenExecuted=!0}else b._fullscreenExecuted&&(f(document.body).css({height:\"\",overflow:\"\"}),f(document.body.parentNode).css(\"overflow\",\"\")),b._scrollPos&&w.scrollTo(b._scrollPos.x,b._scrollPos.y);var i=[];f.each(b.items,function(a,c){c==\"|\"?i.push('<span class=\"ke-inline-block ke-separator\"></span>'):\nc==\"/\"?i.push('<div class=\"ke-hr\"></div>'):(i.push('<span class=\"ke-outline\" data-name=\"'+c+'\" title=\"'+b.lang(c)+'\" unselectable=\"on\">'),i.push('<span class=\"ke-toolbar-icon ke-toolbar-icon-url ke-icon-'+c+'\" unselectable=\"on\"></span></span>'))});var h=b.toolbar=Cb({src:h,html:i.join(\"\"),noDisableItems:b.noDisableItems,click:function(a,c){a.stop();if(b.menu){var d=b.menu.name;b.hideMenu();if(d===c)return}b.clickToolbar(c)}}),l=t(e)-h.div.height(),m=b.edit=Ab({height:l>0&&t(e)>b.minHeight?l:b.minHeight,\nsrc:j,srcElement:b.srcElement,designMode:b.designMode,themesPath:b.themesPath,bodyClass:b.bodyClass,cssPath:b.cssPath,cssData:b.cssData,beforeGetHtml:function(a){a=b.beforeGetHtml(a);a=T(Fa(a));return U(a,b.filterMode?b.htmlTags:null,b.urlType,b.wellFormatMode,b.indentChar)},beforeSetHtml:function(a){a=U(a,b.filterMode?b.htmlTags:null,\"\",!1);return b.beforeSetHtml(a)},afterSetHtml:function(){b.edit=m=this;b.afterSetHtml()},afterCreate:function(){b.edit=m=this;b.cmd=m.cmd;b._docMousedownFn=function(){b.menu&&\nb.hideMenu()};f(m.doc,document).mousedown(b._docMousedownFn);ac.call(b);bc.call(b);cc.call(b);dc.call(b);m.afterChange(function(){m.designMode&&(b.updateState(),b.addBookmark(),b.options.afterChange&&b.options.afterChange.call(b))});m.textarea.keyup(function(a){!a.ctrlKey&&!a.altKey&&Ob[a.which]&&b.options.afterChange&&b.options.afterChange.call(b)});b.readonlyMode&&b.readonly();b.isCreated=!0;if(b.initContent===\"\")b.initContent=b.html();if(b._undoStack.length>0){var a=b._undoStack.pop();a.start&&\n(b.html(a.html),m.cmd.range.moveToBookmark(a),b.select())}b.afterCreate();b.options.afterCreate&&b.options.afterCreate.call(b)}});k.removeClass(\"statusbar\").addClass(\"ke-statusbar\").append('<span class=\"ke-inline-block ke-statusbar-center-icon\"></span>').append('<span class=\"ke-inline-block ke-statusbar-right-icon\"></span>');if(b._fullscreenResizeHandler)f(w).unbind(\"resize\",b._fullscreenResizeHandler),b._fullscreenResizeHandler=null;a();c?(b._fullscreenResizeHandler=function(){b.isCreated&&b.resize(G().clientWidth,\nG().clientHeight,!1)},f(w).bind(\"resize\",b._fullscreenResizeHandler),h.select(\"fullscreen\"),k.first().css(\"visibility\",\"hidden\"),k.last().css(\"visibility\",\"hidden\")):(Y&&f(w).bind(\"scroll\",function(){b._scrollPos=ca()}),b.resizeType>0?Wa({moveEl:g,clickEl:k,moveFn:function(a,c,d,e,g,f){e+=f;b.resize(null,e)}}):k.first().css(\"visibility\",\"hidden\"),b.resizeType===2?Wa({moveEl:g,clickEl:k.last(),moveFn:function(a,c,d,e,g,f){d+=g;e+=f;b.resize(d,e)}}):k.last().css(\"visibility\",\"hidden\"));return b},remove:function(){var a=\nthis;if(!a.isCreated)return a;a.beforeRemove();a.srcElement.data(\"kindeditor\",\"\");a.menu&&a.hideMenu();m(a.dialogs,function(){a.hideDialog()});f(document).unbind(\"mousedown\",a._docMousedownFn);a.toolbar.remove();a.edit.remove();a.statusbar.last().unbind();a.statusbar.unbind();a.container.remove();a.container=a.toolbar=a.edit=a.menu=null;a.dialogs=[];a.isCreated=!1;return a},resize:function(a,b,c){c=l(c,!0);if(a&&(/%/.test(a)||(a=t(a),a=a<this.minWidth?this.minWidth:a),this.container.css(\"width\",s(a)),\nc))this.width=s(a);if(b&&(b=t(b),editHeight=t(b)-this.toolbar.div.height()-this.statusbar.height(),editHeight=editHeight<this.minHeight?this.minHeight:editHeight,this.edit.setHeight(editHeight),c))this.height=s(b);return this},select:function(){this.isCreated&&this.cmd.select();return this},html:function(a){if(a===i)return this.isCreated?this.edit.html():pa(this.srcElement);this.isCreated?this.edit.html(a):pa(this.srcElement,a);this.isCreated&&this.cmd.selection();return this},fullHtml:function(){return this.isCreated?\nthis.edit.html(i,!0):\"\"},text:function(a){return a===i?B(this.html().replace(/<(?!img|embed).*?>/ig,\"\").replace(/&nbsp;/ig,\" \")):this.html(C(a))},isEmpty:function(){return B(this.text().replace(/\\r\\n|\\n|\\r/,\"\"))===\"\"},isDirty:function(){return B(this.initContent.replace(/\\r\\n|\\n|\\r|t/g,\"\"))!==B(this.html().replace(/\\r\\n|\\n|\\r|t/g,\"\"))},selectedHtml:function(){var a=this.isCreated?this.cmd.range.html():\"\";return a=T(Fa(a))},count:function(a){a=(a||\"html\").toLowerCase();if(a===\"html\")return this.html().length;\nif(a===\"text\")return this.text().replace(/<(?:img|embed).*?>/ig,\"K\").replace(/\\r\\n|\\n|\\r/g,\"\").length;return 0},exec:function(a){var a=a.toLowerCase(),b=this.cmd,c=J(a,\"selectall,copy,paste,print\".split(\",\"))<0;c&&this.addBookmark(!1);b[a].apply(b,Ja(arguments,1));c&&(this.updateState(),this.addBookmark(!1),this.options.afterChange&&this.options.afterChange.call(this));return this},insertHtml:function(a,b){if(!this.isCreated)return this;a=this.beforeSetHtml(a);this.exec(\"inserthtml\",a,b);return this},\nappendHtml:function(a){this.html(this.html()+a);if(this.isCreated)a=this.cmd,a.range.selectNodeContents(a.doc.body).collapse(!1),a.select();return this},sync:function(){pa(this.srcElement,this.html());return this},focus:function(){this.isCreated?this.edit.focus():this.srcElement[0].focus();return this},blur:function(){this.isCreated?this.edit.blur():this.srcElement[0].blur();return this},addBookmark:function(a){var a=l(a,!0),b=this.edit,c=b.doc.body,d=Fa(c.innerHTML);if(a&&this._undoStack.length>\n0&&Math.abs(d.length-T(this._undoStack[this._undoStack.length-1].html).length)<this.minChangeSize)return this;b.designMode&&!this._firstAddBookmark?(b=this.cmd.range,a=b.createBookmark(!0),a.html=Fa(c.innerHTML),b.moveToBookmark(a)):a={html:d};this._firstAddBookmark=!1;Jb(this._undoStack,a);return this},undo:function(){return Kb.call(this,this._undoStack,this._redoStack)},redo:function(){return Kb.call(this,this._redoStack,this._undoStack)},fullscreen:function(a){this.fullscreenMode=a===i?!this.fullscreenMode:\na;this.addBookmark(!1);return this.remove().create()},readonly:function(a){var a=l(a,!0),b=this,c=b.edit,d=c.doc;b.designMode?b.toolbar.disableAll(a,[]):m(b.noDisableItems,function(){b.toolbar[a?\"disable\":\"enable\"](this)});o?d.body.contentEditable=!a:d.designMode=a?\"off\":\"on\";c.textarea[0].disabled=a},createMenu:function(a){var b=this.toolbar.get(a.name),c=b.pos();a.x=c.x;a.y=c.y+b.height();a.z=this.options.zIndex;a.shadowMode=l(a.shadowMode,this.shadowMode);a.selectedColor!==i?(a.cls=\"ke-colorpicker-\"+\nthis.themeType,a.noColor=this.lang(\"noColor\"),this.menu=Db(a)):(a.cls=\"ke-menu-\"+this.themeType,a.centerLineMode=!1,this.menu=$a(a));return this.menu},hideMenu:function(){this.menu.remove();this.menu=null;return this},hideContextmenu:function(){this.contextmenu.remove();this.contextmenu=null;return this},createDialog:function(a){var b=this;a.z=b.options.zIndex;a.shadowMode=l(a.shadowMode,b.shadowMode);a.closeBtn=l(a.closeBtn,{name:b.lang(\"close\"),click:function(){b.hideDialog();o&&b.cmd&&b.cmd.select()}});\na.noBtn=l(a.noBtn,{name:b.lang(a.yesBtn?\"no\":\"close\"),click:function(){b.hideDialog();o&&b.cmd&&b.cmd.select()}});if(b.dialogAlignType!=\"page\")a.alignEl=b.container;a.cls=\"ke-dialog-\"+b.themeType;if(b.dialogs.length>0){var c=b.dialogs[b.dialogs.length-1];b.dialogs[0].setMaskIndex(c.z+2);a.z=c.z+3;a.showMask=!1}a=Eb(a);b.dialogs.push(a);return a},hideDialog:function(){this.dialogs.length>0&&this.dialogs.pop().remove();this.dialogs.length>0&&this.dialogs[0].setMaskIndex(this.dialogs[this.dialogs.length-\n1].z-1);return this},errorDialog:function(a){var b=this.createDialog({width:750,title:this.lang(\"uploadError\"),body:'<div style=\"padding:10px 20px;\"><iframe frameborder=\"0\" style=\"width:708px;height:400px;\"></iframe></div>'}),b=f(\"iframe\",b.div),c=f.iframeDoc(b);c.open();c.write(a);c.close();f(c.body).css(\"background-color\",\"#FFF\");b[0].contentWindow.focus();return this}};_instances=[];f.remove=function(a){va(a,function(a){this.remove();_instances.splice(a,1)})};f.sync=function(a){va(a,function(){this.sync()})};\nf.html=function(a,b){va(a,function(){this.html(b)})};f.insertHtml=function(a,b){va(a,function(){this.insertHtml(b)})};f.appendHtml=function(a,b){va(a,function(){this.appendHtml(b)})};o&&A<7&&Q(document,\"BackgroundImageCache\",!0);f.EditorClass=ua;f.editor=function(a){return new ua(a)};f.create=Lb;f.instances=_instances;f.plugin=Gb;f.lang=Ib;Gb(\"core\",function(a){var b=this,c={undo:\"Z\",redo:\"Y\",bold:\"B\",italic:\"I\",underline:\"U\",print:\"P\",selectall:\"A\"};b.afterSetHtml(function(){b.options.afterChange&&\nb.options.afterChange.call(b)});b.afterCreate(function(){if(b.syncType==\"form\"){for(var c=a(b.srcElement),d=!1;c=c.parent();)if(c.name==\"form\"){d=!0;break}if(d){c.bind(\"submit\",function(){b.sync();a(w).bind(\"unload\",function(){b.edit.textarea.remove()})});var f=a('[type=\"reset\"]',c);f.click(function(){b.html(b.initContent);b.cmd.selection()});b.beforeRemove(function(){c.unbind();f.unbind()})}}});b.clickToolbar(\"source\",function(){b.edit.designMode?(b.toolbar.disableAll(!0),b.edit.design(!1),b.toolbar.select(\"source\")):\n(b.toolbar.disableAll(!1),b.edit.design(!0),b.toolbar.unselect(\"source\"),Y?setTimeout(function(){b.cmd.selection()},0):b.cmd.selection());b.designMode=b.edit.designMode});b.afterCreate(function(){b.designMode||b.toolbar.disableAll(!0).select(\"source\")});b.clickToolbar(\"fullscreen\",function(){b.fullscreen()});if(b.fullscreenShortcut){var d=!1;b.afterCreate(function(){a(b.edit.doc,b.edit.textarea).keyup(function(a){a.which==27&&setTimeout(function(){b.fullscreen()},0)});if(d){if(o&&!b.designMode)return;\nb.focus()}d||(d=!0)})}m(\"undo,redo\".split(\",\"),function(a,d){c[d]&&b.afterCreate(function(){Ka(this.edit.doc,c[d],function(){b.clickToolbar(d)})});b.clickToolbar(d,function(){b[d]()})});b.clickToolbar(\"formatblock\",function(){var a=b.lang(\"formatblock.formatBlock\"),c={h1:28,h2:24,h3:18,H4:14,p:12},d=b.cmd.val(\"formatblock\"),f=b.createMenu({name:\"formatblock\",width:b.langType==\"en\"?200:150});m(a,function(a,e){var i=\"font-size:\"+c[a]+\"px;\";a.charAt(0)===\"h\"&&(i+=\"font-weight:bold;\");f.addItem({title:'<span style=\"'+\ni+'\" unselectable=\"on\">'+e+\"</span>\",height:c[a]+12,checked:d===a||d===e,click:function(){b.select().exec(\"formatblock\",\"<\"+a+\">\").hideMenu()}})})});b.clickToolbar(\"fontname\",function(){var a=b.cmd.val(\"fontname\"),c=b.createMenu({name:\"fontname\",width:150});m(b.lang(\"fontname.fontName\"),function(d,f){c.addItem({title:'<span style=\"font-family: '+d+';\" unselectable=\"on\">'+f+\"</span>\",checked:a===d.toLowerCase()||a===f.toLowerCase(),click:function(){b.exec(\"fontname\",d).hideMenu()}})})});b.clickToolbar(\"fontsize\",\nfunction(){var a=b.cmd.val(\"fontsize\"),c=b.createMenu({name:\"fontsize\",width:150});m(b.fontSizeTable,function(d,f){c.addItem({title:'<span style=\"font-size:'+f+';\" unselectable=\"on\">'+f+\"</span>\",height:t(f)+12,checked:a===f,click:function(){b.exec(\"fontsize\",f).hideMenu()}})})});m(\"forecolor,hilitecolor\".split(\",\"),function(a,c){b.clickToolbar(c,function(){b.createMenu({name:c,selectedColor:b.cmd.val(c)||\"default\",colors:b.colorTable,click:function(a){b.exec(c,a).hideMenu()}})})});m(\"cut,copy,paste\".split(\",\"),\nfunction(a,c){b.clickToolbar(c,function(){b.focus();try{b.exec(c,null)}catch(a){alert(b.lang(c+\"Error\"))}})});b.clickToolbar(\"about\",function(){var a='<div style=\"margin:20px;\"><div>KindEditor '+Ha+'</div><div>Copyright &copy; <a href=\"http://www.kindsoft.net/\" target=\"_blank\">kindsoft.net</a> All rights reserved.</div></div>';b.createDialog({name:\"about\",width:350,title:b.lang(\"about\"),body:a})});b.plugin.getSelectedLink=function(){return b.cmd.commonAncestor(\"a\")};b.plugin.getSelectedImage=function(){return Ea(b.edit.cmd.range,\nfunction(a){return!/^ke-\\w+$/i.test(a[0].className)})};b.plugin.getSelectedFlash=function(){return Ea(b.edit.cmd.range,function(a){return a[0].className==\"ke-flash\"})};b.plugin.getSelectedMedia=function(){return Ea(b.edit.cmd.range,function(a){return a[0].className==\"ke-media\"||a[0].className==\"ke-rm\"})};b.plugin.getSelectedAnchor=function(){return Ea(b.edit.cmd.range,function(a){return a[0].className==\"ke-anchor\"})};m(\"link,image,flash,media,anchor\".split(\",\"),function(a,c){var d=c.charAt(0).toUpperCase()+\nc.substr(1);m(\"edit,delete\".split(\",\"),function(a,e){b.addContextmenu({title:b.lang(e+d),click:function(){b.loadPlugin(c,function(){b.plugin[c][e]();b.hideMenu()})},cond:b.plugin[\"getSelected\"+d],width:150,iconClass:e==\"edit\"?\"ke-icon-\"+c:i})});b.addContextmenu({title:\"-\"})});b.plugin.getSelectedTable=function(){return b.cmd.commonAncestor(\"table\")};b.plugin.getSelectedRow=function(){return b.cmd.commonAncestor(\"tr\")};b.plugin.getSelectedCell=function(){return b.cmd.commonAncestor(\"td\")};m(\"prop,cellprop,colinsertleft,colinsertright,rowinsertabove,rowinsertbelow,rowmerge,colmerge,rowsplit,colsplit,coldelete,rowdelete,insert,delete\".split(\",\"),\nfunction(a,c){var d=J(c,[\"prop\",\"delete\"])<0?b.plugin.getSelectedCell:b.plugin.getSelectedTable;b.addContextmenu({title:b.lang(\"table\"+c),click:function(){b.loadPlugin(\"table\",function(){b.plugin.table[c]();b.hideMenu()})},cond:d,width:170,iconClass:\"ke-icon-table\"+c})});b.addContextmenu({title:\"-\"});m(\"selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,indent,outdent,subscript,superscript,hr,print,bold,italic,underline,strikethrough,removeformat,unlink\".split(\",\"),\nfunction(a,d){c[d]&&b.afterCreate(function(){Ka(this.edit.doc,c[d],function(){b.cmd.selection();b.clickToolbar(d)})});b.clickToolbar(d,function(){b.focus().exec(d,null)})});b.afterCreate(function(){function c(){f.range.moveToBookmark(j);f.select();X&&(a(\"div.\"+l,i).each(function(){a(this).after(\"<br />\").remove(!0)}),a(\"span.Apple-style-span\",i).remove(!0),a(\"span.Apple-tab-span\",i).remove(!0),a(\"span[style]\",i).each(function(){a(this).css(\"white-space\")==\"nowrap\"&&a(this).remove(!0)}),a(\"meta\",i).remove());\nvar d=i[0].innerHTML;i.remove();d!==\"\"&&(X&&(d=d.replace(/(<br>)\\1/ig,\"$1\")),b.pasteType===2&&(d=d.replace(/(<(?:p|p\\s[^>]*)>) *(<\\/p>)/ig,\"\"),/schemas-microsoft-com|worddocument|mso-\\w+/i.test(d)?d=nb(d,b.filterMode?b.htmlTags:a.options.htmlTags):(d=U(d,b.filterMode?b.htmlTags:null),d=b.beforeSetHtml(d))),b.pasteType===1&&(d=d.replace(/&nbsp;/ig,\" \"),d=d.replace(/\\n\\s*\\n/g,\"\\n\"),d=d.replace(/<br[^>]*>/ig,\"\\n\"),d=d.replace(/<\\/p><p[^>]*>/ig,\"\\n\"),d=d.replace(/<[^>]+>/g,\"\"),d=d.replace(/ {2}/g,\" &nbsp;\"),\nb.newlineTag==\"p\"?/\\n/.test(d)&&(d=d.replace(/^/,\"<p>\").replace(/$/,\"<br /></p>\").replace(/\\n/g,\"<br /></p><p>\")):d=d.replace(/\\n/g,\"<br />$&\")),b.insertHtml(d,!0))}var d=b.edit.doc,f,j,i,l=\"__kindeditor_paste__\",m=!1;a(d.body).bind(\"paste\",function(p){if(b.pasteType===0)p.stop();else if(!m){m=!0;a(\"div.\"+l,d).remove();f=b.cmd.selection();j=f.range.createBookmark();i=a('<div class=\"'+l+'\"></div>',d).css({position:\"absolute\",width:\"1px\",height:\"1px\",overflow:\"hidden\",left:\"-1981px\",top:a(j.start).pos().y+\n\"px\",\"white-space\":\"nowrap\"});a(d.body).append(i);if(o){var s=f.range.get(!0);s.moveToElementText(i[0]);s.select();s.execCommand(\"paste\");p.preventDefault()}else f.range.selectNodeContents(i[0]),f.select();setTimeout(function(){c();m=!1},0)}})});b.beforeGetHtml(function(a){o&&A<=8&&(a=a.replace(/<div\\s+[^>]*data-ke-input-tag=\"([^\"]*)\"[^>]*>([\\s\\S]*?)<\\/div>/ig,function(a,b){return unescape(b)}),a=a.replace(/(<input)((?:\\s+[^>]*)?>)/ig,function(a,b,c){if(!/\\s+type=\"[^\"]+\"/i.test(a))return b+' type=\"text\"'+\nc;return a}));return a.replace(/(<(?:noscript|noscript\\s[^>]*)>)([\\s\\S]*?)(<\\/noscript>)/ig,function(a,b,c,d){return b+fa(c).replace(/\\s+/g,\" \")+d}).replace(/<img[^>]*class=\"?ke-(flash|rm|media)\"?[^>]*>/ig,function(a){var a=I(a),b=ba(a.style||\"\"),c=pb(a[\"data-ke-tag\"]),d=l(b.width,\"\"),b=l(b.height,\"\");/px/i.test(d)&&(d=t(d));/px/i.test(b)&&(b=t(b));c.width=l(a.width,d);c.height=l(a.height,b);return Ma(c)}).replace(/<img[^>]*class=\"?ke-anchor\"?[^>]*>/ig,function(a){a=I(a);return'<a name=\"'+unescape(a[\"data-ke-name\"])+\n'\"></a>'}).replace(/<div\\s+[^>]*data-ke-script-attr=\"([^\"]*)\"[^>]*>([\\s\\S]*?)<\\/div>/ig,function(a,b,c){return\"<script\"+unescape(b)+\">\"+unescape(c)+\"<\\/script>\"}).replace(/<div\\s+[^>]*data-ke-noscript-attr=\"([^\"]*)\"[^>]*>([\\s\\S]*?)<\\/div>/ig,function(a,b,c){return\"<noscript\"+unescape(b)+\">\"+unescape(c)+\"</noscript>\"}).replace(/(<[^>]*)data-ke-src=\"([^\"]*)\"([^>]*>)/ig,function(a,b,c){a=a.replace(/(\\s+(?:href|src)=\")[^\"]*(\")/i,function(a,b,d){return b+fa(c)+d});return a=a.replace(/\\s+data-ke-src=\"[^\"]*\"/i,\n\"\")}).replace(/(<[^>]+\\s)data-ke-(on\\w+=\"[^\"]*\"[^>]*>)/ig,function(a,b,c){return b+c})});b.beforeSetHtml(function(a){o&&A<=8&&(a=a.replace(/<input[^>]*>|<(select|button)[^>]*>[\\s\\S]*?<\\/\\1>/ig,function(a){var b=I(a);if(ba(b.style||\"\").display==\"none\")return'<div class=\"ke-display-none\" data-ke-input-tag=\"'+escape(a)+'\"></div>';return a}));return a.replace(/<embed[^>]*type=\"([^\"]+)\"[^>]*>(?:<\\/embed>)?/ig,function(a){a=I(a);a.src=l(a.src,\"\");a.width=l(a.width,0);a.height=l(a.height,0);return qb(b.themesPath+\n\"common/blank.gif\",a)}).replace(/<a[^>]*name=\"([^\"]+)\"[^>]*>(?:<\\/a>)?/ig,function(a){var c=I(a);if(c.href!==i)return a;return'<img class=\"ke-anchor\" src=\"'+b.themesPath+'common/anchor.gif\" data-ke-name=\"'+escape(c.name)+'\" />'}).replace(/<script([^>]*)>([\\s\\S]*?)<\\/script>/ig,function(a,b,c){return'<div class=\"ke-script\" data-ke-script-attr=\"'+escape(b)+'\">'+escape(c)+\"</div>\"}).replace(/<noscript([^>]*)>([\\s\\S]*?)<\\/noscript>/ig,function(a,b,c){return'<div class=\"ke-noscript\" data-ke-noscript-attr=\"'+\nescape(b)+'\">'+escape(c)+\"</div>\"}).replace(/(<[^>]*)(href|src)=\"([^\"]*)\"([^>]*>)/ig,function(a,b,c,d,e){if(a.match(/\\sdata-ke-src=\"[^\"]*\"/i))return a;return a=b+c+'=\"'+d+'\" data-ke-src=\"'+C(d)+'\"'+e}).replace(/(<[^>]+\\s)(on\\w+=\"[^\"]*\"[^>]*>)/ig,function(a,b,c){return b+\"data-ke-\"+c}).replace(/<table[^>]*\\s+border=\"0\"[^>]*>/ig,function(a){if(a.indexOf(\"ke-zeroborder\")>=0)return a;return Sb(a,\"ke-zeroborder\")})})})}})(window);\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/kindeditor.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2013 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @website http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n* @version 4.1.10 (2013-11-23)\r\n*******************************************************************************/\r\n(function (window, undefined) {\r\n\tif (window.KindEditor) {\r\n\t\treturn;\r\n\t}\r\nif (!window.console) {\r\n\twindow.console = {};\r\n}\r\nif (!console.log) {\r\n\tconsole.log = function () {};\r\n}\r\nvar _VERSION = '4.1.10 (2013-11-23)',\r\n\t_ua = navigator.userAgent.toLowerCase(),\r\n\t_IE = _ua.indexOf('msie') > -1 && _ua.indexOf('opera') == -1,\r\n\t_NEWIE = _ua.indexOf('msie') == -1 && _ua.indexOf('trident') > -1,\r\n\t_GECKO = _ua.indexOf('gecko') > -1 && _ua.indexOf('khtml') == -1,\r\n\t_WEBKIT = _ua.indexOf('applewebkit') > -1,\r\n\t_OPERA = _ua.indexOf('opera') > -1,\r\n\t_MOBILE = _ua.indexOf('mobile') > -1,\r\n\t_IOS = /ipad|iphone|ipod/.test(_ua),\r\n\t_QUIRKS = document.compatMode != 'CSS1Compat',\r\n\t_IERANGE = !window.getSelection,\r\n\t_matches = /(?:msie|firefox|webkit|opera)[\\/:\\s](\\d+)/.exec(_ua),\r\n\t_V = _matches ? _matches[1] : '0',\r\n\t_TIME = new Date().getTime();\r\nfunction _isArray(val) {\r\n\tif (!val) {\r\n\t\treturn false;\r\n\t}\r\n\treturn Object.prototype.toString.call(val) === '[object Array]';\r\n}\r\nfunction _isFunction(val) {\r\n\tif (!val) {\r\n\t\treturn false;\r\n\t}\r\n\treturn Object.prototype.toString.call(val) === '[object Function]';\r\n}\r\nfunction _inArray(val, arr) {\r\n\tfor (var i = 0, len = arr.length; i < len; i++) {\r\n\t\tif (val === arr[i]) {\r\n\t\t\treturn i;\r\n\t\t}\r\n\t}\r\n\treturn -1;\r\n}\r\nfunction _each(obj, fn) {\r\n\tif (_isArray(obj)) {\r\n\t\tfor (var i = 0, len = obj.length; i < len; i++) {\r\n\t\t\tif (fn.call(obj[i], i, obj[i]) === false) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t} else {\r\n\t\tfor (var key in obj) {\r\n\t\t\tif (obj.hasOwnProperty(key)) {\r\n\t\t\t\tif (fn.call(obj[key], key, obj[key]) === false) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\nfunction _trim(str) {\r\n\treturn str.replace(/(?:^[ \\t\\n\\r]+)|(?:[ \\t\\n\\r]+$)/g, '');\r\n}\r\nfunction _inString(val, str, delimiter) {\r\n\tdelimiter = delimiter === undefined ? ',' : delimiter;\r\n\treturn (delimiter + str + delimiter).indexOf(delimiter + val + delimiter) >= 0;\r\n}\r\nfunction _addUnit(val, unit) {\r\n\tunit = unit || 'px';\r\n\treturn val && /^\\d+$/.test(val) ? val + unit : val;\r\n}\r\nfunction _removeUnit(val) {\r\n\tvar match;\r\n\treturn val && (match = /(\\d+)/.exec(val)) ? parseInt(match[1], 10) : 0;\r\n}\r\nfunction _escape(val) {\r\n\treturn val.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;');\r\n}\r\nfunction _unescape(val) {\r\n\treturn val.replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&quot;/g, '\"').replace(/&amp;/g, '&');\r\n}\r\nfunction _toCamel(str) {\r\n\tvar arr = str.split('-');\r\n\tstr = '';\r\n\t_each(arr, function(key, val) {\r\n\t\tstr += (key > 0) ? val.charAt(0).toUpperCase() + val.substr(1) : val;\r\n\t});\r\n\treturn str;\r\n}\r\nfunction _toHex(val) {\r\n\tfunction hex(d) {\r\n\t\tvar s = parseInt(d, 10).toString(16).toUpperCase();\r\n\t\treturn s.length > 1 ? s : '0' + s;\r\n\t}\r\n\treturn val.replace(/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/ig,\r\n\t\tfunction($0, $1, $2, $3) {\r\n\t\t\treturn '#' + hex($1) + hex($2) + hex($3);\r\n\t\t}\r\n\t);\r\n}\r\nfunction _toMap(val, delimiter) {\r\n\tdelimiter = delimiter === undefined ? ',' : delimiter;\r\n\tvar map = {}, arr = _isArray(val) ? val : val.split(delimiter), match;\r\n\t_each(arr, function(key, val) {\r\n\t\tif ((match = /^(\\d+)\\.\\.(\\d+)$/.exec(val))) {\r\n\t\t\tfor (var i = parseInt(match[1], 10); i <= parseInt(match[2], 10); i++) {\r\n\t\t\t\tmap[i.toString()] = true;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tmap[val] = true;\r\n\t\t}\r\n\t});\r\n\treturn map;\r\n}\r\nfunction _toArray(obj, offset) {\r\n\treturn Array.prototype.slice.call(obj, offset || 0);\r\n}\r\nfunction _undef(val, defaultVal) {\r\n\treturn val === undefined ? defaultVal : val;\r\n}\r\nfunction _invalidUrl(url) {\r\n\treturn !url || /[<>\"]/.test(url);\r\n}\r\nfunction _addParam(url, param) {\r\n\treturn url.indexOf('?') >= 0 ? url + '&' + param : url + '?' + param;\r\n}\r\nfunction _extend(child, parent, proto) {\r\n\tif (!proto) {\r\n\t\tproto = parent;\r\n\t\tparent = null;\r\n\t}\r\n\tvar childProto;\r\n\tif (parent) {\r\n\t\tvar fn = function () {};\r\n\t\tfn.prototype = parent.prototype;\r\n\t\tchildProto = new fn();\r\n\t\t_each(proto, function(key, val) {\r\n\t\t\tchildProto[key] = val;\r\n\t\t});\r\n\t} else {\r\n\t\tchildProto = proto;\r\n\t}\r\n\tchildProto.constructor = child;\r\n\tchild.prototype = childProto;\r\n\tchild.parent = parent ? parent.prototype : null;\r\n}\r\nfunction _json(text) {\r\n\tvar match;\r\n\tif ((match = /\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\]/.exec(text))) {\r\n\t\ttext = match[0];\r\n\t}\r\n\tvar cx = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;\r\n\tcx.lastIndex = 0;\r\n\tif (cx.test(text)) {\r\n\t\ttext = text.replace(cx, function (a) {\r\n\t\t\treturn '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\r\n\t\t});\r\n\t}\r\n\tif (/^[\\],:{}\\s]*$/.\r\n\ttest(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').\r\n\treplace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']').\r\n\treplace(/(?:^|:|,)(?:\\s*\\[)+/g, ''))) {\r\n\t\treturn eval('(' + text + ')');\r\n\t}\r\n\tthrow 'JSON parse error';\r\n}\r\nvar _round = Math.round;\r\nvar K = {\r\n\tDEBUG : false,\r\n\tVERSION : _VERSION,\r\n\tIE : _IE,\r\n\tGECKO : _GECKO,\r\n\tWEBKIT : _WEBKIT,\r\n\tOPERA : _OPERA,\r\n\tV : _V,\r\n\tTIME : _TIME,\r\n\teach : _each,\r\n\tisArray : _isArray,\r\n\tisFunction : _isFunction,\r\n\tinArray : _inArray,\r\n\tinString : _inString,\r\n\ttrim : _trim,\r\n\taddUnit : _addUnit,\r\n\tremoveUnit : _removeUnit,\r\n\tescape : _escape,\r\n\tunescape : _unescape,\r\n\ttoCamel : _toCamel,\r\n\ttoHex : _toHex,\r\n\ttoMap : _toMap,\r\n\ttoArray : _toArray,\r\n\tundef : _undef,\r\n\tinvalidUrl : _invalidUrl,\r\n\taddParam : _addParam,\r\n\textend : _extend,\r\n\tjson : _json\r\n};\r\nvar _INLINE_TAG_MAP = _toMap('a,abbr,acronym,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,img,input,ins,kbd,label,map,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var'),\r\n\t_BLOCK_TAG_MAP = _toMap('address,applet,blockquote,body,center,dd,dir,div,dl,dt,fieldset,form,frameset,h1,h2,h3,h4,h5,h6,head,hr,html,iframe,ins,isindex,li,map,menu,meta,noframes,noscript,object,ol,p,pre,script,style,table,tbody,td,tfoot,th,thead,title,tr,ul'),\r\n\t_SINGLE_TAG_MAP = _toMap('area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed'),\r\n\t_STYLE_TAG_MAP = _toMap('b,basefont,big,del,em,font,i,s,small,span,strike,strong,sub,sup,u'),\r\n\t_CONTROL_TAG_MAP = _toMap('img,table,input,textarea,button'),\r\n\t_PRE_TAG_MAP = _toMap('pre,style,script'),\r\n\t_NOSPLIT_TAG_MAP = _toMap('html,head,body,td,tr,table,ol,ul,li'),\r\n\t_AUTOCLOSE_TAG_MAP = _toMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr'),\r\n\t_FILL_ATTR_MAP = _toMap('checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected'),\r\n\t_VALUE_TAG_MAP = _toMap('input,button,textarea,select');\r\nfunction _getBasePath() {\r\n\tvar els = document.getElementsByTagName('script'), src;\r\n\tfor (var i = 0, len = els.length; i < len; i++) {\r\n\t\tsrc = els[i].src || '';\r\n\t\tif (/kindeditor[\\w\\-\\.]*\\.js/.test(src)) {\r\n\t\t\treturn src.substring(0, src.lastIndexOf('/') + 1);\r\n\t\t}\r\n\t}\r\n\treturn '';\r\n}\r\nK.basePath = _getBasePath();\r\nK.options = {\r\n\tdesignMode : true,\r\n\tfullscreenMode : false,\r\n\tfilterMode : true,\r\n\twellFormatMode : true,\r\n\tshadowMode : true,\r\n\tloadStyleMode : true,\r\n\tbasePath : K.basePath,\r\n\tthemesPath : K.basePath + 'themes/',\r\n\tlangPath : K.basePath + 'lang/',\r\n\tpluginsPath : K.basePath + 'plugins/',\r\n\tthemeType : 'default',\r\n\tlangType : 'zh_CN',\r\n\turlType : '',\r\n\tnewlineTag : 'p',\r\n\tresizeType : 2,\r\n\tsyncType : 'form',\r\n\tpasteType : 2,\r\n\tdialogAlignType : 'page',\r\n\tuseContextmenu : true,\r\n\tfullscreenShortcut : false,\r\n\tbodyClass : 'ke-content',\r\n\tindentChar : '\\t',\r\n\tcssPath : '',\r\n\tcssData : '',\r\n\tminWidth : 650,\r\n\tminHeight : 100,\r\n\tminChangeSize : 50,\r\n\tzIndex : 811213,\r\n\titems : [\r\n\t\t'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'template', 'code', 'cut', 'copy', 'paste',\r\n\t\t'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright',\r\n\t\t'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript',\r\n\t\t'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/',\r\n\t\t'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',\r\n\t\t'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|', 'image', 'multiimage',\r\n\t\t'flash', 'media', 'insertfile', 'table', 'hr', 'emoticons', 'baidumap', 'pagebreak',\r\n\t\t'anchor', 'link', 'unlink', '|', 'about'\r\n\t],\r\n\tnoDisableItems : ['source', 'fullscreen'],\r\n\tcolorTable : [\r\n\t\t['#E53333', '#E56600', '#FF9900', '#64451D', '#DFC5A4', '#FFE500'],\r\n\t\t['#009900', '#006600', '#99BB00', '#B8D100', '#60D978', '#00D5FF'],\r\n\t\t['#337FE5', '#003399', '#4C33E5', '#9933E5', '#CC33E5', '#EE33EE'],\r\n\t\t['#FFFFFF', '#CCCCCC', '#999999', '#666666', '#333333', '#000000']\r\n\t],\r\n\tfontSizeTable : ['9px', '10px', '12px', '14px', '16px', '18px', '24px', '32px'],\r\n\thtmlTags : {\r\n\t\tfont : ['id', 'class', 'color', 'size', 'face', '.background-color'],\r\n\t\tspan : [\r\n\t\t\t'id', 'class', '.color', '.background-color', '.font-size', '.font-family', '.background',\r\n\t\t\t'.font-weight', '.font-style', '.text-decoration', '.vertical-align', '.line-height'\r\n\t\t],\r\n\t\tdiv : [\r\n\t\t\t'id', 'class', 'align', '.border', '.margin', '.padding', '.text-align', '.color',\r\n\t\t\t'.background-color', '.font-size', '.font-family', '.font-weight', '.background',\r\n\t\t\t'.font-style', '.text-decoration', '.vertical-align', '.margin-left'\r\n\t\t],\r\n\t\ttable: [\r\n\t\t\t'id', 'class', 'border', 'cellspacing', 'cellpadding', 'width', 'height', 'align', 'bordercolor',\r\n\t\t\t'.padding', '.margin', '.border', 'bgcolor', '.text-align', '.color', '.background-color',\r\n\t\t\t'.font-size', '.font-family', '.font-weight', '.font-style', '.text-decoration', '.background',\r\n\t\t\t'.width', '.height', '.border-collapse'\r\n\t\t],\r\n\t\t'td,th': [\r\n\t\t\t'id', 'class', 'align', 'valign', 'width', 'height', 'colspan', 'rowspan', 'bgcolor',\r\n\t\t\t'.text-align', '.color', '.background-color', '.font-size', '.font-family', '.font-weight',\r\n\t\t\t'.font-style', '.text-decoration', '.vertical-align', '.background', '.border'\r\n\t\t],\r\n\t\ta : ['id', 'class', 'href', 'target', 'name'],\r\n\t\tembed : ['id', 'class', 'src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess'],\r\n\t\timg : ['id', 'class', 'src', 'width', 'height', 'border', 'alt', 'title', 'align', '.width', '.height', '.border'],\r\n\t\t'p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : [\r\n\t\t\t'id', 'class', 'align', '.text-align', '.color', '.background-color', '.font-size', '.font-family', '.background',\r\n\t\t\t'.font-weight', '.font-style', '.text-decoration', '.vertical-align', '.text-indent', '.margin-left'\r\n\t\t],\r\n\t\tpre : ['id', 'class'],\r\n\t\thr : ['id', 'class', '.page-break-after'],\r\n\t\t'br,tbody,tr,strong,b,sub,sup,em,i,u,strike,s,del' : ['id', 'class'],\r\n\t\tiframe : ['id', 'class', 'src', 'frameborder', 'width', 'height', '.width', '.height']\r\n\t},\r\n\tlayout : '<div class=\"container\"><div class=\"toolbar\"></div><div class=\"edit\"></div><div class=\"statusbar\"></div></div>'\r\n};\r\nvar _useCapture = false;\r\nvar _INPUT_KEY_MAP = _toMap('8,9,13,32,46,48..57,59,61,65..90,106,109..111,188,190..192,219..222');\r\nvar _CURSORMOVE_KEY_MAP = _toMap('33..40');\r\nvar _CHANGE_KEY_MAP = {};\r\n_each(_INPUT_KEY_MAP, function(key, val) {\r\n\t_CHANGE_KEY_MAP[key] = val;\r\n});\r\n_each(_CURSORMOVE_KEY_MAP, function(key, val) {\r\n\t_CHANGE_KEY_MAP[key] = val;\r\n});\r\nfunction _bindEvent(el, type, fn) {\r\n\tif (el.addEventListener){\r\n\t\tel.addEventListener(type, fn, _useCapture);\r\n\t} else if (el.attachEvent){\r\n\t\tel.attachEvent('on' + type, fn);\r\n\t}\r\n}\r\nfunction _unbindEvent(el, type, fn) {\r\n\tif (el.removeEventListener){\r\n\t\tel.removeEventListener(type, fn, _useCapture);\r\n\t} else if (el.detachEvent){\r\n\t\tel.detachEvent('on' + type, fn);\r\n\t}\r\n}\r\nvar _EVENT_PROPS = ('altKey,attrChange,attrName,bubbles,button,cancelable,charCode,clientX,clientY,ctrlKey,currentTarget,' +\r\n\t'data,detail,eventPhase,fromElement,handler,keyCode,metaKey,newValue,offsetX,offsetY,originalTarget,pageX,' +\r\n\t'pageY,prevValue,relatedNode,relatedTarget,screenX,screenY,shiftKey,srcElement,target,toElement,view,wheelDelta,which').split(',');\r\nfunction KEvent(el, event) {\r\n\tthis.init(el, event);\r\n}\r\n_extend(KEvent, {\r\n\tinit : function(el, event) {\r\n\t\tvar self = this, doc = el.ownerDocument || el.document || el;\r\n\t\tself.event = event;\r\n\t\t_each(_EVENT_PROPS, function(key, val) {\r\n\t\t\tself[val] = event[val];\r\n\t\t});\r\n\t\tif (!self.target) {\r\n\t\t\tself.target = self.srcElement || doc;\r\n\t\t}\r\n\t\tif (self.target.nodeType === 3) {\r\n\t\t\tself.target = self.target.parentNode;\r\n\t\t}\r\n\t\tif (!self.relatedTarget && self.fromElement) {\r\n\t\t\tself.relatedTarget = self.fromElement === self.target ? self.toElement : self.fromElement;\r\n\t\t}\r\n\t\tif (self.pageX == null && self.clientX != null) {\r\n\t\t\tvar d = doc.documentElement, body = doc.body;\r\n\t\t\tself.pageX = self.clientX + (d && d.scrollLeft || body && body.scrollLeft || 0) - (d && d.clientLeft || body && body.clientLeft || 0);\r\n\t\t\tself.pageY = self.clientY + (d && d.scrollTop  || body && body.scrollTop  || 0) - (d && d.clientTop  || body && body.clientTop  || 0);\r\n\t\t}\r\n\t\tif (!self.which && ((self.charCode || self.charCode === 0) ? self.charCode : self.keyCode)) {\r\n\t\t\tself.which = self.charCode || self.keyCode;\r\n\t\t}\r\n\t\tif (!self.metaKey && self.ctrlKey) {\r\n\t\t\tself.metaKey = self.ctrlKey;\r\n\t\t}\r\n\t\tif (!self.which && self.button !== undefined) {\r\n\t\t\tself.which = (self.button & 1 ? 1 : (self.button & 2 ? 3 : (self.button & 4 ? 2 : 0)));\r\n\t\t}\r\n\t\tswitch (self.which) {\r\n\t\tcase 186 :\r\n\t\t\tself.which = 59;\r\n\t\t\tbreak;\r\n\t\tcase 187 :\r\n\t\tcase 107 :\r\n\t\tcase 43 :\r\n\t\t\tself.which = 61;\r\n\t\t\tbreak;\r\n\t\tcase 189 :\r\n\t\tcase 45 :\r\n\t\t\tself.which = 109;\r\n\t\t\tbreak;\r\n\t\tcase 42 :\r\n\t\t\tself.which = 106;\r\n\t\t\tbreak;\r\n\t\tcase 47 :\r\n\t\t\tself.which = 111;\r\n\t\t\tbreak;\r\n\t\tcase 78 :\r\n\t\t\tself.which = 110;\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tif (self.which >= 96 && self.which <= 105) {\r\n\t\t\tself.which -= 48;\r\n\t\t}\r\n\t},\r\n\tpreventDefault : function() {\r\n\t\tvar ev = this.event;\r\n\t\tif (ev.preventDefault) {\r\n\t\t\tev.preventDefault();\r\n\t\t} else {\r\n\t\t\tev.returnValue = false;\r\n\t\t}\r\n\t},\r\n\tstopPropagation : function() {\r\n\t\tvar ev = this.event;\r\n\t\tif (ev.stopPropagation) {\r\n\t\t\tev.stopPropagation();\r\n\t\t} else {\r\n\t\t\tev.cancelBubble = true;\r\n\t\t}\r\n\t},\r\n\tstop : function() {\r\n\t\tthis.preventDefault();\r\n\t\tthis.stopPropagation();\r\n\t}\r\n});\r\nvar _eventExpendo = 'kindeditor_' + _TIME, _eventId = 0, _eventData = {};\r\nfunction _getId(el) {\r\n\treturn el[_eventExpendo] || null;\r\n}\r\nfunction _setId(el) {\r\n\tel[_eventExpendo] = ++_eventId;\r\n\treturn _eventId;\r\n}\r\nfunction _removeId(el) {\r\n\ttry {\r\n\t\tdelete el[_eventExpendo];\r\n\t} catch(e) {\r\n\t\tif (el.removeAttribute) {\r\n\t\t\tel.removeAttribute(_eventExpendo);\r\n\t\t}\r\n\t}\r\n}\r\nfunction _bind(el, type, fn) {\r\n\tif (type.indexOf(',') >= 0) {\r\n\t\t_each(type.split(','), function() {\r\n\t\t\t_bind(el, this, fn);\r\n\t\t});\r\n\t\treturn;\r\n\t}\r\n\tvar id = _getId(el);\r\n\tif (!id) {\r\n\t\tid = _setId(el);\r\n\t}\r\n\tif (_eventData[id] === undefined) {\r\n\t\t_eventData[id] = {};\r\n\t}\r\n\tvar events = _eventData[id][type];\r\n\tif (events && events.length > 0) {\r\n\t\t_unbindEvent(el, type, events[0]);\r\n\t} else {\r\n\t\t_eventData[id][type] = [];\r\n\t\t_eventData[id].el = el;\r\n\t}\r\n\tevents = _eventData[id][type];\r\n\tif (events.length === 0) {\r\n\t\tevents[0] = function(e) {\r\n\t\t\tvar kevent = e ? new KEvent(el, e) : undefined;\r\n\t\t\t_each(events, function(i, event) {\r\n\t\t\t\tif (i > 0 && event) {\r\n\t\t\t\t\tevent.call(el, kevent);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t}\r\n\tif (_inArray(fn, events) < 0) {\r\n\t\tevents.push(fn);\r\n\t}\r\n\t_bindEvent(el, type, events[0]);\r\n}\r\nfunction _unbind(el, type, fn) {\r\n\tif (type && type.indexOf(',') >= 0) {\r\n\t\t_each(type.split(','), function() {\r\n\t\t\t_unbind(el, this, fn);\r\n\t\t});\r\n\t\treturn;\r\n\t}\r\n\tvar id = _getId(el);\r\n\tif (!id) {\r\n\t\treturn;\r\n\t}\r\n\tif (type === undefined) {\r\n\t\tif (id in _eventData) {\r\n\t\t\t_each(_eventData[id], function(key, events) {\r\n\t\t\t\tif (key != 'el' && events.length > 0) {\r\n\t\t\t\t\t_unbindEvent(el, key, events[0]);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tdelete _eventData[id];\r\n\t\t\t_removeId(el);\r\n\t\t}\r\n\t\treturn;\r\n\t}\r\n\tif (!_eventData[id]) {\r\n\t\treturn;\r\n\t}\r\n\tvar events = _eventData[id][type];\r\n\tif (events && events.length > 0) {\r\n\t\tif (fn === undefined) {\r\n\t\t\t_unbindEvent(el, type, events[0]);\r\n\t\t\tdelete _eventData[id][type];\r\n\t\t} else {\r\n\t\t\t_each(events, function(i, event) {\r\n\t\t\t\tif (i > 0 && event === fn) {\r\n\t\t\t\t\tevents.splice(i, 1);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (events.length == 1) {\r\n\t\t\t\t_unbindEvent(el, type, events[0]);\r\n\t\t\t\tdelete _eventData[id][type];\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar count = 0;\r\n\t\t_each(_eventData[id], function() {\r\n\t\t\tcount++;\r\n\t\t});\r\n\t\tif (count < 2) {\r\n\t\t\tdelete _eventData[id];\r\n\t\t\t_removeId(el);\r\n\t\t}\r\n\t}\r\n}\r\nfunction _fire(el, type) {\r\n\tif (type.indexOf(',') >= 0) {\r\n\t\t_each(type.split(','), function() {\r\n\t\t\t_fire(el, this);\r\n\t\t});\r\n\t\treturn;\r\n\t}\r\n\tvar id = _getId(el);\r\n\tif (!id) {\r\n\t\treturn;\r\n\t}\r\n\tvar events = _eventData[id][type];\r\n\tif (_eventData[id] && events && events.length > 0) {\r\n\t\tevents[0]();\r\n\t}\r\n}\r\nfunction _ctrl(el, key, fn) {\r\n\tvar self = this;\r\n\tkey = /^\\d{2,}$/.test(key) ? key : key.toUpperCase().charCodeAt(0);\r\n\t_bind(el, 'keydown', function(e) {\r\n\t\tif (e.ctrlKey && e.which == key && !e.shiftKey && !e.altKey) {\r\n\t\t\tfn.call(el);\r\n\t\t\te.stop();\r\n\t\t}\r\n\t});\r\n}\r\nvar _readyFinished = false;\r\nfunction _ready(fn) {\r\n\tif (_readyFinished) {\r\n\t\tfn(KindEditor);\r\n\t\treturn;\r\n\t}\r\n\tvar loaded = false;\r\n\tfunction readyFunc() {\r\n\t\tif (!loaded) {\r\n\t\t\tloaded = true;\r\n\t\t\tfn(KindEditor);\r\n\t\t\t_readyFinished = true;\r\n\t\t}\r\n\t}\r\n\tfunction ieReadyFunc() {\r\n\t\tif (!loaded) {\r\n\t\t\ttry {\r\n\t\t\t\tdocument.documentElement.doScroll('left');\r\n\t\t\t} catch(e) {\r\n\t\t\t\tsetTimeout(ieReadyFunc, 100);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\treadyFunc();\r\n\t\t}\r\n\t}\r\n\tfunction ieReadyStateFunc() {\r\n\t\tif (document.readyState === 'complete') {\r\n\t\t\treadyFunc();\r\n\t\t}\r\n\t}\r\n\tif (document.addEventListener) {\r\n\t\t_bind(document, 'DOMContentLoaded', readyFunc);\r\n\t} else if (document.attachEvent) {\r\n\t\t_bind(document, 'readystatechange', ieReadyStateFunc);\r\n\t\tvar toplevel = false;\r\n\t\ttry {\r\n\t\t\ttoplevel = window.frameElement == null;\r\n\t\t} catch(e) {}\r\n\t\tif (document.documentElement.doScroll && toplevel) {\r\n\t\t\tieReadyFunc();\r\n\t\t}\r\n\t}\r\n\t_bind(window, 'load', readyFunc);\r\n}\r\nif (_IE) {\r\n\twindow.attachEvent('onunload', function() {\r\n\t\t_each(_eventData, function(key, events) {\r\n\t\t\tif (events.el) {\r\n\t\t\t\t_unbind(events.el);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\nK.ctrl = _ctrl;\r\nK.ready = _ready;\r\nfunction _getCssList(css) {\r\n\tvar list = {},\r\n\t\treg = /\\s*([\\w\\-]+)\\s*:([^;]*)(;|$)/g,\r\n\t\tmatch;\r\n\twhile ((match = reg.exec(css))) {\r\n\t\tvar key = _trim(match[1].toLowerCase()),\r\n\t\t\tval = _trim(_toHex(match[2]));\r\n\t\tlist[key] = val;\r\n\t}\r\n\treturn list;\r\n}\r\nfunction _getAttrList(tag) {\r\n\tvar list = {},\r\n\t\treg = /\\s+(?:([\\w\\-:]+)|(?:([\\w\\-:]+)=([^\\s\"'<>]+))|(?:([\\w\\-:\"]+)=\"([^\"]*)\")|(?:([\\w\\-:\"]+)='([^']*)'))(?=(?:\\s|\\/|>)+)/g,\r\n\t\tmatch;\r\n\twhile ((match = reg.exec(tag))) {\r\n\t\tvar key = (match[1] || match[2] || match[4] || match[6]).toLowerCase(),\r\n\t\t\tval = (match[2] ? match[3] : (match[4] ? match[5] : match[7])) || '';\r\n\t\tlist[key] = val;\r\n\t}\r\n\treturn list;\r\n}\r\nfunction _addClassToTag(tag, className) {\r\n\tif (/\\s+class\\s*=/.test(tag)) {\r\n\t\ttag = tag.replace(/(\\s+class=[\"']?)([^\"']*)([\"']?[\\s>])/, function($0, $1, $2, $3) {\r\n\t\t\tif ((' ' + $2 + ' ').indexOf(' ' + className + ' ') < 0) {\r\n\t\t\t\treturn $2 === '' ? $1 + className + $3 : $1 + $2 + ' ' + className + $3;\r\n\t\t\t} else {\r\n\t\t\t\treturn $0;\r\n\t\t\t}\r\n\t\t});\r\n\t} else {\r\n\t\ttag = tag.substr(0, tag.length - 1) + ' class=\"' + className + '\">';\r\n\t}\r\n\treturn tag;\r\n}\r\nfunction _formatCss(css) {\r\n\tvar str = '';\r\n\t_each(_getCssList(css), function(key, val) {\r\n\t\tstr += key + ':' + val + ';';\r\n\t});\r\n\treturn str;\r\n}\r\nfunction _formatUrl(url, mode, host, pathname) {\r\n\tmode = _undef(mode, '').toLowerCase();\r\n\tif (url.substr(0, 5) != 'data:') {\r\n\t\turl = url.replace(/([^:])\\/\\//g, '$1/');\r\n\t}\r\n\tif (_inArray(mode, ['absolute', 'relative', 'domain']) < 0) {\r\n\t\treturn url;\r\n\t}\r\n\thost = host || location.protocol + '//' + location.host;\r\n\tif (pathname === undefined) {\r\n\t\tvar m = location.pathname.match(/^(\\/.*)\\//);\r\n\t\tpathname = m ? m[1] : '';\r\n\t}\r\n\tvar match;\r\n\tif ((match = /^(\\w+:\\/\\/[^\\/]*)/.exec(url))) {\r\n\t\tif (match[1] !== host) {\r\n\t\t\treturn url;\r\n\t\t}\r\n\t} else if (/^\\w+:/.test(url)) {\r\n\t\treturn url;\r\n\t}\r\n\tfunction getRealPath(path) {\r\n\t\tvar parts = path.split('/'), paths = [];\r\n\t\tfor (var i = 0, len = parts.length; i < len; i++) {\r\n\t\t\tvar part = parts[i];\r\n\t\t\tif (part == '..') {\r\n\t\t\t\tif (paths.length > 0) {\r\n\t\t\t\t\tpaths.pop();\r\n\t\t\t\t}\r\n\t\t\t} else if (part !== '' && part != '.') {\r\n\t\t\t\tpaths.push(part);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn '/' + paths.join('/');\r\n\t}\r\n\tif (/^\\//.test(url)) {\r\n\t\turl = host + getRealPath(url.substr(1));\r\n\t} else if (!/^\\w+:\\/\\//.test(url)) {\r\n\t\turl = host + getRealPath(pathname + '/' + url);\r\n\t}\r\n\tfunction getRelativePath(path, depth) {\r\n\t\tif (url.substr(0, path.length) === path) {\r\n\t\t\tvar arr = [];\r\n\t\t\tfor (var i = 0; i < depth; i++) {\r\n\t\t\t\tarr.push('..');\r\n\t\t\t}\r\n\t\t\tvar prefix = '.';\r\n\t\t\tif (arr.length > 0) {\r\n\t\t\t\tprefix += '/' + arr.join('/');\r\n\t\t\t}\r\n\t\t\tif (pathname == '/') {\r\n\t\t\t\tprefix += '/';\r\n\t\t\t}\r\n\t\t\treturn prefix + url.substr(path.length);\r\n\t\t} else {\r\n\t\t\tif ((match = /^(.*)\\//.exec(path))) {\r\n\t\t\t\treturn getRelativePath(match[1], ++depth);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (mode === 'relative') {\r\n\t\turl = getRelativePath(host + pathname, 0).substr(2);\r\n\t} else if (mode === 'absolute') {\r\n\t\tif (url.substr(0, host.length) === host) {\r\n\t\t\turl = url.substr(host.length);\r\n\t\t}\r\n\t}\r\n\treturn url;\r\n}\r\nfunction _formatHtml(html, htmlTags, urlType, wellFormatted, indentChar) {\r\n\tif (html == null) {\r\n\t\thtml = '';\r\n\t}\r\n\turlType = urlType || '';\r\n\twellFormatted = _undef(wellFormatted, false);\r\n\tindentChar = _undef(indentChar, '\\t');\r\n\tvar fontSizeList = 'xx-small,x-small,small,medium,large,x-large,xx-large'.split(',');\r\n\thtml = html.replace(/(<(?:pre|pre\\s[^>]*)>)([\\s\\S]*?)(<\\/pre>)/ig, function($0, $1, $2, $3) {\r\n\t\treturn $1 + $2.replace(/<(?:br|br\\s[^>]*)>/ig, '\\n') + $3;\r\n\t});\r\n\thtml = html.replace(/<(?:br|br\\s[^>]*)\\s*\\/?>\\s*<\\/p>/ig, '</p>');\r\n\thtml = html.replace(/(<(?:p|p\\s[^>]*)>)\\s*(<\\/p>)/ig, '$1<br />$2');\r\n\thtml = html.replace(/\\u200B/g, '');\r\n\thtml = html.replace(/\\u00A9/g, '&copy;');\r\n\thtml = html.replace(/\\u00AE/g, '&reg;');\r\n\thtml = html.replace(/<[^>]+/g, function($0) {\r\n\t\treturn $0.replace(/\\s+/g, ' ');\r\n\t});\r\n\tvar htmlTagMap = {};\r\n\tif (htmlTags) {\r\n\t\t_each(htmlTags, function(key, val) {\r\n\t\t\tvar arr = key.split(',');\r\n\t\t\tfor (var i = 0, len = arr.length; i < len; i++) {\r\n\t\t\t\thtmlTagMap[arr[i]] = _toMap(val);\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (!htmlTagMap.script) {\r\n\t\t\thtml = html.replace(/(<(?:script|script\\s[^>]*)>)([\\s\\S]*?)(<\\/script>)/ig, '');\r\n\t\t}\r\n\t\tif (!htmlTagMap.style) {\r\n\t\t\thtml = html.replace(/(<(?:style|style\\s[^>]*)>)([\\s\\S]*?)(<\\/style>)/ig, '');\r\n\t\t}\r\n\t}\r\n\tvar re = /(\\s*)<(\\/)?([\\w\\-:]+)((?:\\s+|(?:\\s+[\\w\\-:]+)|(?:\\s+[\\w\\-:]+=[^\\s\"'<>]+)|(?:\\s+[\\w\\-:\"]+=\"[^\"]*\")|(?:\\s+[\\w\\-:\"]+='[^']*'))*)(\\/)?>(\\s*)/g;\r\n\tvar tagStack = [];\r\n\thtml = html.replace(re, function($0, $1, $2, $3, $4, $5, $6) {\r\n\t\tvar full = $0,\r\n\t\t\tstartNewline = $1 || '',\r\n\t\t\tstartSlash = $2 || '',\r\n\t\t\ttagName = $3.toLowerCase(),\r\n\t\t\tattr = $4 || '',\r\n\t\t\tendSlash = $5 ? ' ' + $5 : '',\r\n\t\t\tendNewline = $6 || '';\r\n\t\tif (htmlTags && !htmlTagMap[tagName]) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tif (endSlash === '' && _SINGLE_TAG_MAP[tagName]) {\r\n\t\t\tendSlash = ' /';\r\n\t\t}\r\n\t\tif (_INLINE_TAG_MAP[tagName]) {\r\n\t\t\tif (startNewline) {\r\n\t\t\t\tstartNewline = ' ';\r\n\t\t\t}\r\n\t\t\tif (endNewline) {\r\n\t\t\t\tendNewline = ' ';\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (_PRE_TAG_MAP[tagName]) {\r\n\t\t\tif (startSlash) {\r\n\t\t\t\tendNewline = '\\n';\r\n\t\t\t} else {\r\n\t\t\t\tstartNewline = '\\n';\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (wellFormatted && tagName == 'br') {\r\n\t\t\tendNewline = '\\n';\r\n\t\t}\r\n\t\tif (_BLOCK_TAG_MAP[tagName] && !_PRE_TAG_MAP[tagName]) {\r\n\t\t\tif (wellFormatted) {\r\n\t\t\t\tif (startSlash && tagStack.length > 0 && tagStack[tagStack.length - 1] === tagName) {\r\n\t\t\t\t\ttagStack.pop();\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttagStack.push(tagName);\r\n\t\t\t\t}\r\n\t\t\t\tstartNewline = '\\n';\r\n\t\t\t\tendNewline = '\\n';\r\n\t\t\t\tfor (var i = 0, len = startSlash ? tagStack.length : tagStack.length - 1; i < len; i++) {\r\n\t\t\t\t\tstartNewline += indentChar;\r\n\t\t\t\t\tif (!startSlash) {\r\n\t\t\t\t\t\tendNewline += indentChar;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (endSlash) {\r\n\t\t\t\t\ttagStack.pop();\r\n\t\t\t\t} else if (!startSlash) {\r\n\t\t\t\t\tendNewline += indentChar;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tstartNewline = endNewline = '';\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (attr !== '') {\r\n\t\t\tvar attrMap = _getAttrList(full);\r\n\t\t\tif (tagName === 'font') {\r\n\t\t\t\tvar fontStyleMap = {}, fontStyle = '';\r\n\t\t\t\t_each(attrMap, function(key, val) {\r\n\t\t\t\t\tif (key === 'color') {\r\n\t\t\t\t\t\tfontStyleMap.color = val;\r\n\t\t\t\t\t\tdelete attrMap[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (key === 'size') {\r\n\t\t\t\t\t\tfontStyleMap['font-size'] = fontSizeList[parseInt(val, 10) - 1] || '';\r\n\t\t\t\t\t\tdelete attrMap[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (key === 'face') {\r\n\t\t\t\t\t\tfontStyleMap['font-family'] = val;\r\n\t\t\t\t\t\tdelete attrMap[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (key === 'style') {\r\n\t\t\t\t\t\tfontStyle = val;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif (fontStyle && !/;$/.test(fontStyle)) {\r\n\t\t\t\t\tfontStyle += ';';\r\n\t\t\t\t}\r\n\t\t\t\t_each(fontStyleMap, function(key, val) {\r\n\t\t\t\t\tif (val === '') {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (/\\s/.test(val)) {\r\n\t\t\t\t\t\tval = \"'\" + val + \"'\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfontStyle += key + ':' + val + ';';\r\n\t\t\t\t});\r\n\t\t\t\tattrMap.style = fontStyle;\r\n\t\t\t}\r\n\t\t\t_each(attrMap, function(key, val) {\r\n\t\t\t\tif (_FILL_ATTR_MAP[key]) {\r\n\t\t\t\t\tattrMap[key] = key;\r\n\t\t\t\t}\r\n\t\t\t\tif (_inArray(key, ['src', 'href']) >= 0) {\r\n\t\t\t\t\tattrMap[key] = _formatUrl(val, urlType);\r\n\t\t\t\t}\r\n\t\t\t\tif (htmlTags && key !== 'style' && !htmlTagMap[tagName]['*'] && !htmlTagMap[tagName][key] ||\r\n\t\t\t\t\ttagName === 'body' && key === 'contenteditable' ||\r\n\t\t\t\t\t/^kindeditor_\\d+$/.test(key)) {\r\n\t\t\t\t\tdelete attrMap[key];\r\n\t\t\t\t}\r\n\t\t\t\tif (key === 'style' && val !== '') {\r\n\t\t\t\t\tvar styleMap = _getCssList(val);\r\n\t\t\t\t\t_each(styleMap, function(k, v) {\r\n\t\t\t\t\t\tif (htmlTags && !htmlTagMap[tagName].style && !htmlTagMap[tagName]['.' + k]) {\r\n\t\t\t\t\t\t\tdelete styleMap[k];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tvar style = '';\r\n\t\t\t\t\t_each(styleMap, function(k, v) {\r\n\t\t\t\t\t\tstyle += k + ':' + v + ';';\r\n\t\t\t\t\t});\r\n\t\t\t\t\tattrMap.style = style;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tattr = '';\r\n\t\t\t_each(attrMap, function(key, val) {\r\n\t\t\t\tif (key === 'style' && val === '') {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tval = val.replace(/\"/g, '&quot;');\r\n\t\t\t\tattr += ' ' + key + '=\"' + val + '\"';\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (tagName === 'font') {\r\n\t\t\ttagName = 'span';\r\n\t\t}\r\n\t\treturn startNewline + '<' + startSlash + tagName + attr + endSlash + '>' + endNewline;\r\n\t});\r\n\thtml = html.replace(/(<(?:pre|pre\\s[^>]*)>)([\\s\\S]*?)(<\\/pre>)/ig, function($0, $1, $2, $3) {\r\n\t\treturn $1 + $2.replace(/\\n/g, '<span id=\"__kindeditor_pre_newline__\">\\n') + $3;\r\n\t});\r\n\thtml = html.replace(/\\n\\s*\\n/g, '\\n');\r\n\thtml = html.replace(/<span id=\"__kindeditor_pre_newline__\">\\n/g, '\\n');\r\n\treturn _trim(html);\r\n}\r\nfunction _clearMsWord(html, htmlTags) {\r\n\thtml = html.replace(/<meta[\\s\\S]*?>/ig, '')\r\n\t\t.replace(/<![\\s\\S]*?>/ig, '')\r\n\t\t.replace(/<style[^>]*>[\\s\\S]*?<\\/style>/ig, '')\r\n\t\t.replace(/<script[^>]*>[\\s\\S]*?<\\/script>/ig, '')\r\n\t\t.replace(/<w:[^>]+>[\\s\\S]*?<\\/w:[^>]+>/ig, '')\r\n\t\t.replace(/<o:[^>]+>[\\s\\S]*?<\\/o:[^>]+>/ig, '')\r\n\t\t.replace(/<xml>[\\s\\S]*?<\\/xml>/ig, '')\r\n\t\t.replace(/<(?:table|td)[^>]*>/ig, function(full) {\r\n\t\t\treturn full.replace(/border-bottom:([#\\w\\s]+)/ig, 'border:$1');\r\n\t\t});\r\n\treturn _formatHtml(html, htmlTags);\r\n}\r\nfunction _mediaType(src) {\r\n\tif (/\\.(rm|rmvb)(\\?|$)/i.test(src)) {\r\n\t\treturn 'audio/x-pn-realaudio-plugin';\r\n\t}\r\n\tif (/\\.(swf|flv)(\\?|$)/i.test(src)) {\r\n\t\treturn 'application/x-shockwave-flash';\r\n\t}\r\n\treturn 'video/x-ms-asf-plugin';\r\n}\r\nfunction _mediaClass(type) {\r\n\tif (/realaudio/i.test(type)) {\r\n\t\treturn 'ke-rm';\r\n\t}\r\n\tif (/flash/i.test(type)) {\r\n\t\treturn 'ke-flash';\r\n\t}\r\n\treturn 'ke-media';\r\n}\r\nfunction _mediaAttrs(srcTag) {\r\n\treturn _getAttrList(unescape(srcTag));\r\n}\r\nfunction _mediaEmbed(attrs) {\r\n\tvar html = '<embed ';\r\n\t_each(attrs, function(key, val) {\r\n\t\thtml += key + '=\"' + val + '\" ';\r\n\t});\r\n\thtml += '/>';\r\n\treturn html;\r\n}\r\nfunction _mediaImg(blankPath, attrs) {\r\n\tvar width = attrs.width,\r\n\t\theight = attrs.height,\r\n\t\ttype = attrs.type || _mediaType(attrs.src),\r\n\t\tsrcTag = _mediaEmbed(attrs),\r\n\t\tstyle = '';\r\n\tif (/\\D/.test(width)) {\r\n\t\tstyle += 'width:' + width + ';';\r\n\t} else if (width > 0) {\r\n\t\tstyle += 'width:' + width + 'px;';\r\n\t}\r\n\tif (/\\D/.test(height)) {\r\n\t\tstyle += 'height:' + height + ';';\r\n\t} else if (height > 0) {\r\n\t\tstyle += 'height:' + height + 'px;';\r\n\t}\r\n\tvar html = '<img class=\"' + _mediaClass(type) + '\" src=\"' + blankPath + '\" ';\r\n\tif (style !== '') {\r\n\t\thtml += 'style=\"' + style + '\" ';\r\n\t}\r\n\thtml += 'data-ke-tag=\"' + escape(srcTag) + '\" alt=\"\" />';\r\n\treturn html;\r\n}\r\nfunction _tmpl(str, data) {\r\n\tvar fn = new Function(\"obj\",\r\n\t\t\"var p=[],print=function(){p.push.apply(p,arguments);};\" +\r\n\t\t\"with(obj){p.push('\" +\r\n\t\tstr.replace(/[\\r\\t\\n]/g, \" \")\r\n\t\t\t.split(\"<%\").join(\"\\t\")\r\n\t\t\t.replace(/((^|%>)[^\\t]*)'/g, \"$1\\r\")\r\n\t\t\t.replace(/\\t=(.*?)%>/g, \"',$1,'\")\r\n\t\t\t.split(\"\\t\").join(\"');\")\r\n\t\t\t.split(\"%>\").join(\"p.push('\")\r\n\t\t\t.split(\"\\r\").join(\"\\\\'\") + \"');}return p.join('');\");\r\n\treturn data ? fn(data) : fn;\r\n}\r\nK.formatUrl = _formatUrl;\r\nK.formatHtml = _formatHtml;\r\nK.getCssList = _getCssList;\r\nK.getAttrList = _getAttrList;\r\nK.mediaType = _mediaType;\r\nK.mediaAttrs = _mediaAttrs;\r\nK.mediaEmbed = _mediaEmbed;\r\nK.mediaImg = _mediaImg;\r\nK.clearMsWord = _clearMsWord;\r\nK.tmpl = _tmpl;\r\nfunction _contains(nodeA, nodeB) {\r\n\tif (nodeA.nodeType == 9 && nodeB.nodeType != 9) {\r\n\t\treturn true;\r\n\t}\r\n\twhile ((nodeB = nodeB.parentNode)) {\r\n\t\tif (nodeB == nodeA) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n}\r\nvar _getSetAttrDiv = document.createElement('div');\r\n_getSetAttrDiv.setAttribute('className', 't');\r\nvar _GET_SET_ATTRIBUTE = _getSetAttrDiv.className !== 't';\r\nfunction _getAttr(el, key) {\r\n\tkey = key.toLowerCase();\r\n\tvar val = null;\r\n\tif (!_GET_SET_ATTRIBUTE && el.nodeName.toLowerCase() != 'script') {\r\n\t\tvar div = el.ownerDocument.createElement('div');\r\n\t\tdiv.appendChild(el.cloneNode(false));\r\n\t\tvar list = _getAttrList(_unescape(div.innerHTML));\r\n\t\tif (key in list) {\r\n\t\t\tval = list[key];\r\n\t\t}\r\n\t} else {\r\n\t\ttry {\r\n\t\t\tval = el.getAttribute(key, 2);\r\n\t\t} catch(e) {\r\n\t\t\tval = el.getAttribute(key, 1);\r\n\t\t}\r\n\t}\r\n\tif (key === 'style' && val !== null) {\r\n\t\tval = _formatCss(val);\r\n\t}\r\n\treturn val;\r\n}\r\nfunction _queryAll(expr, root) {\r\n\tvar exprList = expr.split(',');\r\n\tif (exprList.length > 1) {\r\n\t\tvar mergedResults = [];\r\n\t\t_each(exprList, function() {\r\n\t\t\t_each(_queryAll(this, root), function() {\r\n\t\t\t\tif (_inArray(this, mergedResults) < 0) {\r\n\t\t\t\t\tmergedResults.push(this);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t\treturn mergedResults;\r\n\t}\r\n\troot = root || document;\r\n\tfunction escape(str) {\r\n\t\tif (typeof str != 'string') {\r\n\t\t\treturn str;\r\n\t\t}\r\n\t\treturn str.replace(/([^\\w\\-])/g, '\\\\$1');\r\n\t}\r\n\tfunction stripslashes(str) {\r\n\t\treturn str.replace(/\\\\/g, '');\r\n\t}\r\n\tfunction cmpTag(tagA, tagB) {\r\n\t\treturn tagA === '*' || tagA.toLowerCase() === escape(tagB.toLowerCase());\r\n\t}\r\n\tfunction byId(id, tag, root) {\r\n\t\tvar arr = [],\r\n\t\t\tdoc = root.ownerDocument || root,\r\n\t\t\tel = doc.getElementById(stripslashes(id));\r\n\t\tif (el) {\r\n\t\t\tif (cmpTag(tag, el.nodeName) && _contains(root, el)) {\r\n\t\t\t\tarr.push(el);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\tfunction byClass(className, tag, root) {\r\n\t\tvar doc = root.ownerDocument || root, arr = [], els, i, len, el;\r\n\t\tif (root.getElementsByClassName) {\r\n\t\t\tels = root.getElementsByClassName(stripslashes(className));\r\n\t\t\tfor (i = 0, len = els.length; i < len; i++) {\r\n\t\t\t\tel = els[i];\r\n\t\t\t\tif (cmpTag(tag, el.nodeName)) {\r\n\t\t\t\t\tarr.push(el);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (doc.querySelectorAll) {\r\n\t\t\tels = doc.querySelectorAll((root.nodeName !== '#document' ? root.nodeName + ' ' : '') + tag + '.' + className);\r\n\t\t\tfor (i = 0, len = els.length; i < len; i++) {\r\n\t\t\t\tel = els[i];\r\n\t\t\t\tif (_contains(root, el)) {\r\n\t\t\t\t\tarr.push(el);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tels = root.getElementsByTagName(tag);\r\n\t\t\tclassName = ' ' + className + ' ';\r\n\t\t\tfor (i = 0, len = els.length; i < len; i++) {\r\n\t\t\t\tel = els[i];\r\n\t\t\t\tif (el.nodeType == 1) {\r\n\t\t\t\t\tvar cls = el.className;\r\n\t\t\t\t\tif (cls && (' ' + cls + ' ').indexOf(className) > -1) {\r\n\t\t\t\t\t\tarr.push(el);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\tfunction byName(name, tag, root) {\r\n\t\tvar arr = [], doc = root.ownerDocument || root,\r\n\t\t\tels = doc.getElementsByName(stripslashes(name)), el;\r\n\t\tfor (var i = 0, len = els.length; i < len; i++) {\r\n\t\t\tel = els[i];\r\n\t\t\tif (cmpTag(tag, el.nodeName) && _contains(root, el)) {\r\n\t\t\t\tif (el.getAttribute('name') !== null) {\r\n\t\t\t\t\tarr.push(el);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\tfunction byAttr(key, val, tag, root) {\r\n\t\tvar arr = [], els = root.getElementsByTagName(tag), el;\r\n\t\tfor (var i = 0, len = els.length; i < len; i++) {\r\n\t\t\tel = els[i];\r\n\t\t\tif (el.nodeType == 1) {\r\n\t\t\t\tif (val === null) {\r\n\t\t\t\t\tif (_getAttr(el, key) !== null) {\r\n\t\t\t\t\t\tarr.push(el);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (val === escape(_getAttr(el, key))) {\r\n\t\t\t\t\t\tarr.push(el);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\tfunction select(expr, root) {\r\n\t\tvar arr = [], matches;\r\n\t\tmatches = /^((?:\\\\.|[^.#\\s\\[<>])+)/.exec(expr);\r\n\t\tvar tag = matches ? matches[1] : '*';\r\n\t\tif ((matches = /#((?:[\\w\\-]|\\\\.)+)$/.exec(expr))) {\r\n\t\t\tarr = byId(matches[1], tag, root);\r\n\t\t} else if ((matches = /\\.((?:[\\w\\-]|\\\\.)+)$/.exec(expr))) {\r\n\t\t\tarr = byClass(matches[1], tag, root);\r\n\t\t} else if ((matches = /\\[((?:[\\w\\-]|\\\\.)+)\\]/.exec(expr))) {\r\n\t\t\tarr = byAttr(matches[1].toLowerCase(), null, tag, root);\r\n\t\t} else if ((matches = /\\[((?:[\\w\\-]|\\\\.)+)\\s*=\\s*['\"]?((?:\\\\.|[^'\"]+)+)['\"]?\\]/.exec(expr))) {\r\n\t\t\tvar key = matches[1].toLowerCase(), val = matches[2];\r\n\t\t\tif (key === 'id') {\r\n\t\t\t\tarr = byId(val, tag, root);\r\n\t\t\t} else if (key === 'class') {\r\n\t\t\t\tarr = byClass(val, tag, root);\r\n\t\t\t} else if (key === 'name') {\r\n\t\t\t\tarr = byName(val, tag, root);\r\n\t\t\t} else {\r\n\t\t\t\tarr = byAttr(key, val, tag, root);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvar els = root.getElementsByTagName(tag), el;\r\n\t\t\tfor (var i = 0, len = els.length; i < len; i++) {\r\n\t\t\t\tel = els[i];\r\n\t\t\t\tif (el.nodeType == 1) {\r\n\t\t\t\t\tarr.push(el);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\tvar parts = [], arr, re = /((?:\\\\.|[^\\s>])+|[\\s>])/g;\r\n\twhile ((arr = re.exec(expr))) {\r\n\t\tif (arr[1] !== ' ') {\r\n\t\t\tparts.push(arr[1]);\r\n\t\t}\r\n\t}\r\n\tvar results = [];\r\n\tif (parts.length == 1) {\r\n\t\treturn select(parts[0], root);\r\n\t}\r\n\tvar isChild = false, part, els, subResults, val, v, i, j, k, length, len, l;\r\n\tfor (i = 0, lenth = parts.length; i < lenth; i++) {\r\n\t\tpart = parts[i];\r\n\t\tif (part === '>') {\r\n\t\t\tisChild = true;\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif (i > 0) {\r\n\t\t\tels = [];\r\n\t\t\tfor (j = 0, len = results.length; j < len; j++) {\r\n\t\t\t\tval = results[j];\r\n\t\t\t\tsubResults = select(part, val);\r\n\t\t\t\tfor (k = 0, l = subResults.length; k < l; k++) {\r\n\t\t\t\t\tv = subResults[k];\r\n\t\t\t\t\tif (isChild) {\r\n\t\t\t\t\t\tif (val === v.parentNode) {\r\n\t\t\t\t\t\t\tels.push(v);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tels.push(v);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tresults = els;\r\n\t\t} else {\r\n\t\t\tresults = select(part, root);\r\n\t\t}\r\n\t\tif (results.length === 0) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\t}\r\n\treturn results;\r\n}\r\nfunction _query(expr, root) {\r\n\tvar arr = _queryAll(expr, root);\r\n\treturn arr.length > 0 ? arr[0] : null;\r\n}\r\nK.query = _query;\r\nK.queryAll = _queryAll;\r\nfunction _get(val) {\r\n\treturn K(val)[0];\r\n}\r\nfunction _getDoc(node) {\r\n\tif (!node) {\r\n\t\treturn document;\r\n\t}\r\n\treturn node.ownerDocument || node.document || node;\r\n}\r\nfunction _getWin(node) {\r\n\tif (!node) {\r\n\t\treturn window;\r\n\t}\r\n\tvar doc = _getDoc(node);\r\n\treturn doc.parentWindow || doc.defaultView;\r\n}\r\nfunction _setHtml(el, html) {\r\n\tif (el.nodeType != 1) {\r\n\t\treturn;\r\n\t}\r\n\tvar doc = _getDoc(el);\r\n\ttry {\r\n\t\tel.innerHTML = '<img id=\"__kindeditor_temp_tag__\" width=\"0\" height=\"0\" style=\"display:none;\" />' + html;\r\n\t\tvar temp = doc.getElementById('__kindeditor_temp_tag__');\r\n\t\ttemp.parentNode.removeChild(temp);\r\n\t} catch(e) {\r\n\t\tK(el).empty();\r\n\t\tK('@' + html, doc).each(function() {\r\n\t\t\tel.appendChild(this);\r\n\t\t});\r\n\t}\r\n}\r\nfunction _hasClass(el, cls) {\r\n\treturn _inString(cls, el.className, ' ');\r\n}\r\nfunction _setAttr(el, key, val) {\r\n\tif (_IE && _V < 8 && key.toLowerCase() == 'class') {\r\n\t\tkey = 'className';\r\n\t}\r\n\tel.setAttribute(key, '' + val);\r\n}\r\nfunction _removeAttr(el, key) {\r\n\tif (_IE && _V < 8 && key.toLowerCase() == 'class') {\r\n\t\tkey = 'className';\r\n\t}\r\n\t_setAttr(el, key, '');\r\n\tel.removeAttribute(key);\r\n}\r\nfunction _getNodeName(node) {\r\n\tif (!node || !node.nodeName) {\r\n\t\treturn '';\r\n\t}\r\n\treturn node.nodeName.toLowerCase();\r\n}\r\nfunction _computedCss(el, key) {\r\n\tvar self = this, win = _getWin(el), camelKey = _toCamel(key), val = '';\r\n\tif (win.getComputedStyle) {\r\n\t\tvar style = win.getComputedStyle(el, null);\r\n\t\tval = style[camelKey] || style.getPropertyValue(key) || el.style[camelKey];\r\n\t} else if (el.currentStyle) {\r\n\t\tval = el.currentStyle[camelKey] || el.style[camelKey];\r\n\t}\r\n\treturn val;\r\n}\r\nfunction _hasVal(node) {\r\n\treturn !!_VALUE_TAG_MAP[_getNodeName(node)];\r\n}\r\nfunction _docElement(doc) {\r\n\tdoc = doc || document;\r\n\treturn _QUIRKS ? doc.body : doc.documentElement;\r\n}\r\nfunction _docHeight(doc) {\r\n\tvar el = _docElement(doc);\r\n\treturn Math.max(el.scrollHeight, el.clientHeight);\r\n}\r\nfunction _docWidth(doc) {\r\n\tvar el = _docElement(doc);\r\n\treturn Math.max(el.scrollWidth, el.clientWidth);\r\n}\r\nfunction _getScrollPos(doc) {\r\n\tdoc = doc || document;\r\n\tvar x, y;\r\n\tif (_IE || _NEWIE || _OPERA) {\r\n\t\tx = _docElement(doc).scrollLeft;\r\n\t\ty = _docElement(doc).scrollTop;\r\n\t} else {\r\n\t\tx = _getWin(doc).scrollX;\r\n\t\ty = _getWin(doc).scrollY;\r\n\t}\r\n\treturn {x : x, y : y};\r\n}\r\nfunction KNode(node) {\r\n\tthis.init(node);\r\n}\r\n_extend(KNode, {\r\n\tinit : function(node) {\r\n\t\tvar self = this;\r\n\t\tnode = _isArray(node) ? node : [node];\r\n\t\tvar length = 0;\r\n\t\tfor (var i = 0, len = node.length; i < len; i++) {\r\n\t\t\tif (node[i]) {\r\n\t\t\t\tself[i] = node[i].constructor === KNode ? node[i][0] : node[i];\r\n\t\t\t\tlength++;\r\n\t\t\t}\r\n\t\t}\r\n\t\tself.length = length;\r\n\t\tself.doc = _getDoc(self[0]);\r\n\t\tself.name = _getNodeName(self[0]);\r\n\t\tself.type = self.length > 0 ? self[0].nodeType : null;\r\n\t\tself.win = _getWin(self[0]);\r\n\t},\r\n\teach : function(fn) {\r\n\t\tvar self = this;\r\n\t\tfor (var i = 0; i < self.length; i++) {\r\n\t\t\tif (fn.call(self[i], i, self[i]) === false) {\r\n\t\t\t\treturn self;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tbind : function(type, fn) {\r\n\t\tthis.each(function() {\r\n\t\t\t_bind(this, type, fn);\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tunbind : function(type, fn) {\r\n\t\tthis.each(function() {\r\n\t\t\t_unbind(this, type, fn);\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tfire : function(type) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\t_fire(this[0], type);\r\n\t\treturn this;\r\n\t},\r\n\thasAttr : function(key) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn !!_getAttr(this[0], key);\r\n\t},\r\n\tattr : function(key, val) {\r\n\t\tvar self = this;\r\n\t\tif (key === undefined) {\r\n\t\t\treturn _getAttrList(self.outer());\r\n\t\t}\r\n\t\tif (typeof key === 'object') {\r\n\t\t\t_each(key, function(k, v) {\r\n\t\t\t\tself.attr(k, v);\r\n\t\t\t});\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (val === undefined) {\r\n\t\t\tval = self.length < 1 ? null : _getAttr(self[0], key);\r\n\t\t\treturn val === null ? '' : val;\r\n\t\t}\r\n\t\tself.each(function() {\r\n\t\t\t_setAttr(this, key, val);\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tremoveAttr : function(key) {\r\n\t\tthis.each(function() {\r\n\t\t\t_removeAttr(this, key);\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tget : function(i) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn this[i || 0];\r\n\t},\r\n\teq : function(i) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn this[i] ? new KNode(this[i]) : null;\r\n\t},\r\n\thasClass : function(cls) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn _hasClass(this[0], cls);\r\n\t},\r\n\taddClass : function(cls) {\r\n\t\tthis.each(function() {\r\n\t\t\tif (!_hasClass(this, cls)) {\r\n\t\t\t\tthis.className = _trim(this.className + ' ' + cls);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tremoveClass : function(cls) {\r\n\t\tthis.each(function() {\r\n\t\t\tif (_hasClass(this, cls)) {\r\n\t\t\t\tthis.className = _trim(this.className.replace(new RegExp('(^|\\\\s)' + cls + '(\\\\s|$)'), ' '));\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\thtml : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1 || self.type != 1) {\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t\treturn _formatHtml(self[0].innerHTML);\r\n\t\t}\r\n\t\tself.each(function() {\r\n\t\t\t_setHtml(this, val);\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\ttext : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.length < 1) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\treturn _IE ? self[0].innerText : self[0].textContent;\r\n\t},\r\n\thasVal : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn _hasVal(this[0]);\r\n\t},\r\n\tval : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1) {\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t\treturn self.hasVal() ? self[0].value : self.attr('value');\r\n\t\t} else {\r\n\t\t\tself.each(function() {\r\n\t\t\t\tif (_hasVal(this)) {\r\n\t\t\t\t\tthis.value = val;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t_setAttr(this, 'value' , val);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn self;\r\n\t\t}\r\n\t},\r\n\tcss : function(key, val) {\r\n\t\tvar self = this;\r\n\t\tif (key === undefined) {\r\n\t\t\treturn _getCssList(self.attr('style'));\r\n\t\t}\r\n\t\tif (typeof key === 'object') {\r\n\t\t\t_each(key, function(k, v) {\r\n\t\t\t\tself.css(k, v);\r\n\t\t\t});\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1) {\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t\treturn self[0].style[_toCamel(key)] || _computedCss(self[0], key) || '';\r\n\t\t}\r\n\t\tself.each(function() {\r\n\t\t\tthis.style[_toCamel(key)] = val;\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\twidth : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1) {\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t\treturn self[0].offsetWidth;\r\n\t\t}\r\n\t\treturn self.css('width', _addUnit(val));\r\n\t},\r\n\theight : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1) {\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t\treturn self[0].offsetHeight;\r\n\t\t}\r\n\t\treturn self.css('height', _addUnit(val));\r\n\t},\r\n\topacity : function(val) {\r\n\t\tthis.each(function() {\r\n\t\t\tif (this.style.opacity === undefined) {\r\n\t\t\t\tthis.style.filter = val == 1 ? '' : 'alpha(opacity=' + (val * 100) + ')';\r\n\t\t\t} else {\r\n\t\t\t\tthis.style.opacity = val == 1 ? '' : val;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tdata : function(key, val) {\r\n\t\tvar self = this;\r\n\t\tkey = 'kindeditor_data_' + key;\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\treturn self[0][key];\r\n\t\t}\r\n\t\tthis.each(function() {\r\n\t\t\tthis[key] = val;\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tpos : function() {\r\n\t\tvar self = this, node = self[0], x = 0, y = 0;\r\n\t\tif (node) {\r\n\t\t\tif (node.getBoundingClientRect) {\r\n\t\t\t\tvar box = node.getBoundingClientRect(),\r\n\t\t\t\t\tpos = _getScrollPos(self.doc);\r\n\t\t\t\tx = box.left + pos.x;\r\n\t\t\t\ty = box.top + pos.y;\r\n\t\t\t} else {\r\n\t\t\t\twhile (node) {\r\n\t\t\t\t\tx += node.offsetLeft;\r\n\t\t\t\t\ty += node.offsetTop;\r\n\t\t\t\t\tnode = node.offsetParent;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {x : _round(x), y : _round(y)};\r\n\t},\r\n\tclone : function(bool) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn new KNode([]);\r\n\t\t}\r\n\t\treturn new KNode(this[0].cloneNode(bool));\r\n\t},\r\n\tappend : function(expr) {\r\n\t\tthis.each(function() {\r\n\t\t\tif (this.appendChild) {\r\n\t\t\t\tthis.appendChild(_get(expr));\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tappendTo : function(expr) {\r\n\t\tthis.each(function() {\r\n\t\t\t_get(expr).appendChild(this);\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tbefore : function(expr) {\r\n\t\tthis.each(function() {\r\n\t\t\tthis.parentNode.insertBefore(_get(expr), this);\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tafter : function(expr) {\r\n\t\tthis.each(function() {\r\n\t\t\tif (this.nextSibling) {\r\n\t\t\t\tthis.parentNode.insertBefore(_get(expr), this.nextSibling);\r\n\t\t\t} else {\r\n\t\t\t\tthis.parentNode.appendChild(_get(expr));\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\treplaceWith : function(expr) {\r\n\t\tvar nodes = [];\r\n\t\tthis.each(function(i, node) {\r\n\t\t\t_unbind(node);\r\n\t\t\tvar newNode = _get(expr);\r\n\t\t\tnode.parentNode.replaceChild(newNode, node);\r\n\t\t\tnodes.push(newNode);\r\n\t\t});\r\n\t\treturn K(nodes);\r\n\t},\r\n\tempty : function() {\r\n\t\tvar self = this;\r\n\t\tself.each(function(i, node) {\r\n\t\t\tvar child = node.firstChild;\r\n\t\t\twhile (child) {\r\n\t\t\t\tif (!node.parentNode) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tvar next = child.nextSibling;\r\n\t\t\t\tchild.parentNode.removeChild(child);\r\n\t\t\t\tchild = next;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tremove : function(keepChilds) {\r\n\t\tvar self = this;\r\n\t\tself.each(function(i, node) {\r\n\t\t\tif (!node.parentNode) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t_unbind(node);\r\n\t\t\tif (keepChilds) {\r\n\t\t\t\tvar child = node.firstChild;\r\n\t\t\t\twhile (child) {\r\n\t\t\t\t\tvar next = child.nextSibling;\r\n\t\t\t\t\tnode.parentNode.insertBefore(child, node);\r\n\t\t\t\t\tchild = next;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tnode.parentNode.removeChild(node);\r\n\t\t\tdelete self[i];\r\n\t\t});\r\n\t\tself.length = 0;\r\n\t\treturn self;\r\n\t},\r\n\tshow : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\tval = self._originDisplay || '';\r\n\t\t}\r\n\t\tif (self.css('display') != 'none') {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\treturn self.css('display', val);\r\n\t},\r\n\thide : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.length < 1) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tself._originDisplay = self[0].style.display;\r\n\t\treturn self.css('display', 'none');\r\n\t},\r\n\touter : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.length < 1) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tvar div = self.doc.createElement('div'), html;\r\n\t\tdiv.appendChild(self[0].cloneNode(true));\r\n\t\thtml = _formatHtml(div.innerHTML);\r\n\t\tdiv = null;\r\n\t\treturn html;\r\n\t},\r\n\tisSingle : function() {\r\n\t\treturn !!_SINGLE_TAG_MAP[this.name];\r\n\t},\r\n\tisInline : function() {\r\n\t\treturn !!_INLINE_TAG_MAP[this.name];\r\n\t},\r\n\tisBlock : function() {\r\n\t\treturn !!_BLOCK_TAG_MAP[this.name];\r\n\t},\r\n\tisStyle : function() {\r\n\t\treturn !!_STYLE_TAG_MAP[this.name];\r\n\t},\r\n\tisControl : function() {\r\n\t\treturn !!_CONTROL_TAG_MAP[this.name];\r\n\t},\r\n\tcontains : function(otherNode) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn _contains(this[0], _get(otherNode));\r\n\t},\r\n\tparent : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar node = this[0].parentNode;\r\n\t\treturn node ? new KNode(node) : null;\r\n\t},\r\n\tchildren : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn new KNode([]);\r\n\t\t}\r\n\t\tvar list = [], child = this[0].firstChild;\r\n\t\twhile (child) {\r\n\t\t\tif (child.nodeType != 3 || _trim(child.nodeValue) !== '') {\r\n\t\t\t\tlist.push(child);\r\n\t\t\t}\r\n\t\t\tchild = child.nextSibling;\r\n\t\t}\r\n\t\treturn new KNode(list);\r\n\t},\r\n\tfirst : function() {\r\n\t\tvar list = this.children();\r\n\t\treturn list.length > 0 ? list.eq(0) : null;\r\n\t},\r\n\tlast : function() {\r\n\t\tvar list = this.children();\r\n\t\treturn list.length > 0 ? list.eq(list.length - 1) : null;\r\n\t},\r\n\tindex : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t\tvar i = -1, sibling = this[0];\r\n\t\twhile (sibling) {\r\n\t\t\ti++;\r\n\t\t\tsibling = sibling.previousSibling;\r\n\t\t}\r\n\t\treturn i;\r\n\t},\r\n\tprev : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar node = this[0].previousSibling;\r\n\t\treturn node ? new KNode(node) : null;\r\n\t},\r\n\tnext : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar node = this[0].nextSibling;\r\n\t\treturn node ? new KNode(node) : null;\r\n\t},\r\n\tscan : function(fn, order) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\torder = (order === undefined) ? true : order;\r\n\t\tfunction walk(node) {\r\n\t\t\tvar n = order ? node.firstChild : node.lastChild;\r\n\t\t\twhile (n) {\r\n\t\t\t\tvar next = order ? n.nextSibling : n.previousSibling;\r\n\t\t\t\tif (fn(n) === false) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tif (walk(n) === false) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tn = next;\r\n\t\t\t}\r\n\t\t}\r\n\t\twalk(this[0]);\r\n\t\treturn this;\r\n\t}\r\n});\r\n_each(('blur,focus,focusin,focusout,load,resize,scroll,unload,click,dblclick,' +\r\n\t'mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,' +\r\n\t'change,select,submit,keydown,keypress,keyup,error,contextmenu').split(','), function(i, type) {\r\n\tKNode.prototype[type] = function(fn) {\r\n\t\treturn fn ? this.bind(type, fn) : this.fire(type);\r\n\t};\r\n});\r\nvar _K = K;\r\nK = function(expr, root) {\r\n\tif (expr === undefined || expr === null) {\r\n\t\treturn;\r\n\t}\r\n\tfunction newNode(node) {\r\n\t\tif (!node[0]) {\r\n\t\t\tnode = [];\r\n\t\t}\r\n\t\treturn new KNode(node);\r\n\t}\r\n\tif (typeof expr === 'string') {\r\n\t\tif (root) {\r\n\t\t\troot = _get(root);\r\n\t\t}\r\n\t\tvar length = expr.length;\r\n\t\tif (expr.charAt(0) === '@') {\r\n\t\t\texpr = expr.substr(1);\r\n\t\t}\r\n\t\tif (expr.length !== length || /<.+>/.test(expr)) {\r\n\t\t\tvar doc = root ? root.ownerDocument || root : document,\r\n\t\t\t\tdiv = doc.createElement('div'), list = [];\r\n\t\t\tdiv.innerHTML = '<img id=\"__kindeditor_temp_tag__\" width=\"0\" height=\"0\" style=\"display:none;\" />' + expr;\r\n\t\t\tfor (var i = 0, len = div.childNodes.length; i < len; i++) {\r\n\t\t\t\tvar child = div.childNodes[i];\r\n\t\t\t\tif (child.id == '__kindeditor_temp_tag__') {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(child);\r\n\t\t\t}\r\n\t\t\treturn newNode(list);\r\n\t\t}\r\n\t\treturn newNode(_queryAll(expr, root));\r\n\t}\r\n\tif (expr && expr.constructor === KNode) {\r\n\t\treturn expr;\r\n\t}\r\n\tif (expr.toArray) {\r\n\t\texpr = expr.toArray();\r\n\t}\r\n\tif (_isArray(expr)) {\r\n\t\treturn newNode(expr);\r\n\t}\r\n\treturn newNode(_toArray(arguments));\r\n};\r\n_each(_K, function(key, val) {\r\n\tK[key] = val;\r\n});\r\nK.NodeClass = KNode;\r\nwindow.KindEditor = K;\r\nvar _START_TO_START = 0,\r\n\t_START_TO_END = 1,\r\n\t_END_TO_END = 2,\r\n\t_END_TO_START = 3,\r\n\t_BOOKMARK_ID = 0;\r\nfunction _updateCollapsed(range) {\r\n\trange.collapsed = (range.startContainer === range.endContainer && range.startOffset === range.endOffset);\r\n\treturn range;\r\n}\r\nfunction _copyAndDelete(range, isCopy, isDelete) {\r\n\tvar doc = range.doc, nodeList = [];\r\n\tfunction splitTextNode(node, startOffset, endOffset) {\r\n\t\tvar length = node.nodeValue.length, centerNode;\r\n\t\tif (isCopy) {\r\n\t\t\tvar cloneNode = node.cloneNode(true);\r\n\t\t\tif (startOffset > 0) {\r\n\t\t\t\tcenterNode = cloneNode.splitText(startOffset);\r\n\t\t\t} else {\r\n\t\t\t\tcenterNode = cloneNode;\r\n\t\t\t}\r\n\t\t\tif (endOffset < length) {\r\n\t\t\t\tcenterNode.splitText(endOffset - startOffset);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (isDelete) {\r\n\t\t\tvar center = node;\r\n\t\t\tif (startOffset > 0) {\r\n\t\t\t\tcenter = node.splitText(startOffset);\r\n\t\t\t\trange.setStart(node, startOffset);\r\n\t\t\t}\r\n\t\t\tif (endOffset < length) {\r\n\t\t\t\tvar right = center.splitText(endOffset - startOffset);\r\n\t\t\t\trange.setEnd(right, 0);\r\n\t\t\t}\r\n\t\t\tnodeList.push(center);\r\n\t\t}\r\n\t\treturn centerNode;\r\n\t}\r\n\tfunction removeNodes() {\r\n\t\tif (isDelete) {\r\n\t\t\trange.up().collapse(true);\r\n\t\t}\r\n\t\tfor (var i = 0, len = nodeList.length; i < len; i++) {\r\n\t\t\tvar node = nodeList[i];\r\n\t\t\tif (node.parentNode) {\r\n\t\t\t\tnode.parentNode.removeChild(node);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tvar copyRange = range.cloneRange().down();\r\n\tvar start = -1, incStart = -1, incEnd = -1, end = -1,\r\n\t\tancestor = range.commonAncestor(), frag = doc.createDocumentFragment();\r\n\tif (ancestor.nodeType == 3) {\r\n\t\tvar textNode = splitTextNode(ancestor, range.startOffset, range.endOffset);\r\n\t\tif (isCopy) {\r\n\t\t\tfrag.appendChild(textNode);\r\n\t\t}\r\n\t\tremoveNodes();\r\n\t\treturn isCopy ? frag : range;\r\n\t}\r\n\tfunction extractNodes(parent, frag) {\r\n\t\tvar node = parent.firstChild, nextNode;\r\n\t\twhile (node) {\r\n\t\t\tvar testRange = new KRange(doc).selectNode(node);\r\n\t\t\tstart = testRange.compareBoundaryPoints(_START_TO_END, range);\r\n\t\t\tif (start >= 0 && incStart <= 0) {\r\n\t\t\t\tincStart = testRange.compareBoundaryPoints(_START_TO_START, range);\r\n\t\t\t}\r\n\t\t\tif (incStart >= 0 && incEnd <= 0) {\r\n\t\t\t\tincEnd = testRange.compareBoundaryPoints(_END_TO_END, range);\r\n\t\t\t}\r\n\t\t\tif (incEnd >= 0 && end <= 0) {\r\n\t\t\t\tend = testRange.compareBoundaryPoints(_END_TO_START, range);\r\n\t\t\t}\r\n\t\t\tif (end >= 0) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tnextNode = node.nextSibling;\r\n\t\t\tif (start > 0) {\r\n\t\t\t\tif (node.nodeType == 1) {\r\n\t\t\t\t\tif (incStart >= 0 && incEnd <= 0) {\r\n\t\t\t\t\t\tif (isCopy) {\r\n\t\t\t\t\t\t\tfrag.appendChild(node.cloneNode(true));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (isDelete) {\r\n\t\t\t\t\t\t\tnodeList.push(node);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvar childFlag;\r\n\t\t\t\t\t\tif (isCopy) {\r\n\t\t\t\t\t\t\tchildFlag = node.cloneNode(false);\r\n\t\t\t\t\t\t\tfrag.appendChild(childFlag);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (extractNodes(node, childFlag) === false) {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (node.nodeType == 3) {\r\n\t\t\t\t\tvar textNode;\r\n\t\t\t\t\tif (node == copyRange.startContainer) {\r\n\t\t\t\t\t\ttextNode = splitTextNode(node, copyRange.startOffset, node.nodeValue.length);\r\n\t\t\t\t\t} else if (node == copyRange.endContainer) {\r\n\t\t\t\t\t\ttextNode = splitTextNode(node, 0, copyRange.endOffset);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttextNode = splitTextNode(node, 0, node.nodeValue.length);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (isCopy) {\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tfrag.appendChild(textNode);\r\n\t\t\t\t\t\t} catch(e) {}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tnode = nextNode;\r\n\t\t}\r\n\t}\r\n\textractNodes(ancestor, frag);\r\n\tif (isDelete) {\r\n\t\trange.up().collapse(true);\r\n\t}\r\n\tfor (var i = 0, len = nodeList.length; i < len; i++) {\r\n\t\tvar node = nodeList[i];\r\n\t\tif (node.parentNode) {\r\n\t\t\tnode.parentNode.removeChild(node);\r\n\t\t}\r\n\t}\r\n\treturn isCopy ? frag : range;\r\n}\r\nfunction _moveToElementText(range, el) {\r\n\tvar node = el;\r\n\twhile (node) {\r\n\t\tvar knode = K(node);\r\n\t\tif (knode.name == 'marquee' || knode.name == 'select') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tnode = node.parentNode;\r\n\t}\r\n\ttry {\r\n\t\trange.moveToElementText(el);\r\n\t} catch(e) {}\r\n}\r\nfunction _getStartEnd(rng, isStart) {\r\n\tvar doc = rng.parentElement().ownerDocument,\r\n\t\tpointRange = rng.duplicate();\r\n\tpointRange.collapse(isStart);\r\n\tvar parent = pointRange.parentElement(),\r\n\t\tnodes = parent.childNodes;\r\n\tif (nodes.length === 0) {\r\n\t\treturn {node: parent.parentNode, offset: K(parent).index()};\r\n\t}\r\n\tvar startNode = doc, startPos = 0, cmp = -1;\r\n\tvar testRange = rng.duplicate();\r\n\t_moveToElementText(testRange, parent);\r\n\tfor (var i = 0, len = nodes.length; i < len; i++) {\r\n\t\tvar node = nodes[i];\r\n\t\tcmp = testRange.compareEndPoints('StartToStart', pointRange);\r\n\t\tif (cmp === 0) {\r\n\t\t\treturn {node: node.parentNode, offset: i};\r\n\t\t}\r\n\t\tif (node.nodeType == 1) {\r\n\t\t\tvar nodeRange = rng.duplicate(), dummy, knode = K(node), newNode = node;\r\n\t\t\tif (knode.isControl()) {\r\n\t\t\t\tdummy = doc.createElement('span');\r\n\t\t\t\tknode.after(dummy);\r\n\t\t\t\tnewNode = dummy;\r\n\t\t\t\tstartPos += knode.text().replace(/\\r\\n|\\n|\\r/g, '').length;\r\n\t\t\t}\r\n\t\t\t_moveToElementText(nodeRange, newNode);\r\n\t\t\ttestRange.setEndPoint('StartToEnd', nodeRange);\r\n\t\t\tif (cmp > 0) {\r\n\t\t\t\tstartPos += nodeRange.text.replace(/\\r\\n|\\n|\\r/g, '').length;\r\n\t\t\t} else {\r\n\t\t\t\tstartPos = 0;\r\n\t\t\t}\r\n\t\t\tif (dummy) {\r\n\t\t\t\tK(dummy).remove();\r\n\t\t\t}\r\n\t\t} else if (node.nodeType == 3) {\r\n\t\t\ttestRange.moveStart('character', node.nodeValue.length);\r\n\t\t\tstartPos += node.nodeValue.length;\r\n\t\t}\r\n\t\tif (cmp < 0) {\r\n\t\t\tstartNode = node;\r\n\t\t}\r\n\t}\r\n\tif (cmp < 0 && startNode.nodeType == 1) {\r\n\t\treturn {node: parent, offset: K(parent.lastChild).index() + 1};\r\n\t}\r\n\tif (cmp > 0) {\r\n\t\twhile (startNode.nextSibling && startNode.nodeType == 1) {\r\n\t\t\tstartNode = startNode.nextSibling;\r\n\t\t}\r\n\t}\r\n\ttestRange = rng.duplicate();\r\n\t_moveToElementText(testRange, parent);\r\n\ttestRange.setEndPoint('StartToEnd', pointRange);\r\n\tstartPos -= testRange.text.replace(/\\r\\n|\\n|\\r/g, '').length;\r\n\tif (cmp > 0 && startNode.nodeType == 3) {\r\n\t\tvar prevNode = startNode.previousSibling;\r\n\t\twhile (prevNode && prevNode.nodeType == 3) {\r\n\t\t\tstartPos -= prevNode.nodeValue.length;\r\n\t\t\tprevNode = prevNode.previousSibling;\r\n\t\t}\r\n\t}\r\n\treturn {node: startNode, offset: startPos};\r\n}\r\nfunction _getEndRange(node, offset) {\r\n\tvar doc = node.ownerDocument || node,\r\n\t\trange = doc.body.createTextRange();\r\n\tif (doc == node) {\r\n\t\trange.collapse(true);\r\n\t\treturn range;\r\n\t}\r\n\tif (node.nodeType == 1 && node.childNodes.length > 0) {\r\n\t\tvar children = node.childNodes, isStart, child;\r\n\t\tif (offset === 0) {\r\n\t\t\tchild = children[0];\r\n\t\t\tisStart = true;\r\n\t\t} else {\r\n\t\t\tchild = children[offset - 1];\r\n\t\t\tisStart = false;\r\n\t\t}\r\n\t\tif (!child) {\r\n\t\t\treturn range;\r\n\t\t}\r\n\t\tif (K(child).name === 'head') {\r\n\t\t\tif (offset === 1) {\r\n\t\t\t\tisStart = true;\r\n\t\t\t}\r\n\t\t\tif (offset === 2) {\r\n\t\t\t\tisStart = false;\r\n\t\t\t}\r\n\t\t\trange.collapse(isStart);\r\n\t\t\treturn range;\r\n\t\t}\r\n\t\tif (child.nodeType == 1) {\r\n\t\t\tvar kchild = K(child), span;\r\n\t\t\tif (kchild.isControl()) {\r\n\t\t\t\tspan = doc.createElement('span');\r\n\t\t\t\tif (isStart) {\r\n\t\t\t\t\tkchild.before(span);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tkchild.after(span);\r\n\t\t\t\t}\r\n\t\t\t\tchild = span;\r\n\t\t\t}\r\n\t\t\t_moveToElementText(range, child);\r\n\t\t\trange.collapse(isStart);\r\n\t\t\tif (span) {\r\n\t\t\t\tK(span).remove();\r\n\t\t\t}\r\n\t\t\treturn range;\r\n\t\t}\r\n\t\tnode = child;\r\n\t\toffset = isStart ? 0 : child.nodeValue.length;\r\n\t}\r\n\tvar dummy = doc.createElement('span');\r\n\tK(node).before(dummy);\r\n\t_moveToElementText(range, dummy);\r\n\trange.moveStart('character', offset);\r\n\tK(dummy).remove();\r\n\treturn range;\r\n}\r\nfunction _toRange(rng) {\r\n\tvar doc, range;\r\n\tfunction tr2td(start) {\r\n\t\tif (K(start.node).name == 'tr') {\r\n\t\t\tstart.node = start.node.cells[start.offset];\r\n\t\t\tstart.offset = 0;\r\n\t\t}\r\n\t}\r\n\tif (_IERANGE) {\r\n\t\tif (rng.item) {\r\n\t\t\tdoc = _getDoc(rng.item(0));\r\n\t\t\trange = new KRange(doc);\r\n\t\t\trange.selectNode(rng.item(0));\r\n\t\t\treturn range;\r\n\t\t}\r\n\t\tdoc = rng.parentElement().ownerDocument;\r\n\t\tvar start = _getStartEnd(rng, true),\r\n\t\t\tend = _getStartEnd(rng, false);\r\n\t\ttr2td(start);\r\n\t\ttr2td(end);\r\n\t\trange = new KRange(doc);\r\n\t\trange.setStart(start.node, start.offset);\r\n\t\trange.setEnd(end.node, end.offset);\r\n\t\treturn range;\r\n\t}\r\n\tvar startContainer = rng.startContainer;\r\n\tdoc = startContainer.ownerDocument || startContainer;\r\n\trange = new KRange(doc);\r\n\trange.setStart(startContainer, rng.startOffset);\r\n\trange.setEnd(rng.endContainer, rng.endOffset);\r\n\treturn range;\r\n}\r\nfunction KRange(doc) {\r\n\tthis.init(doc);\r\n}\r\n_extend(KRange, {\r\n\tinit : function(doc) {\r\n\t\tvar self = this;\r\n\t\tself.startContainer = doc;\r\n\t\tself.startOffset = 0;\r\n\t\tself.endContainer = doc;\r\n\t\tself.endOffset = 0;\r\n\t\tself.collapsed = true;\r\n\t\tself.doc = doc;\r\n\t},\r\n\tcommonAncestor : function() {\r\n\t\tfunction getParents(node) {\r\n\t\t\tvar parents = [];\r\n\t\t\twhile (node) {\r\n\t\t\t\tparents.push(node);\r\n\t\t\t\tnode = node.parentNode;\r\n\t\t\t}\r\n\t\t\treturn parents;\r\n\t\t}\r\n\t\tvar parentsA = getParents(this.startContainer),\r\n\t\t\tparentsB = getParents(this.endContainer),\r\n\t\t\ti = 0, lenA = parentsA.length, lenB = parentsB.length, parentA, parentB;\r\n\t\twhile (++i) {\r\n\t\t\tparentA = parentsA[lenA - i];\r\n\t\t\tparentB = parentsB[lenB - i];\r\n\t\t\tif (!parentA || !parentB || parentA !== parentB) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn parentsA[lenA - i + 1];\r\n\t},\r\n\tsetStart : function(node, offset) {\r\n\t\tvar self = this, doc = self.doc;\r\n\t\tself.startContainer = node;\r\n\t\tself.startOffset = offset;\r\n\t\tif (self.endContainer === doc) {\r\n\t\t\tself.endContainer = node;\r\n\t\t\tself.endOffset = offset;\r\n\t\t}\r\n\t\treturn _updateCollapsed(this);\r\n\t},\r\n\tsetEnd : function(node, offset) {\r\n\t\tvar self = this, doc = self.doc;\r\n\t\tself.endContainer = node;\r\n\t\tself.endOffset = offset;\r\n\t\tif (self.startContainer === doc) {\r\n\t\t\tself.startContainer = node;\r\n\t\t\tself.startOffset = offset;\r\n\t\t}\r\n\t\treturn _updateCollapsed(this);\r\n\t},\r\n\tsetStartBefore : function(node) {\r\n\t\treturn this.setStart(node.parentNode || this.doc, K(node).index());\r\n\t},\r\n\tsetStartAfter : function(node) {\r\n\t\treturn this.setStart(node.parentNode || this.doc, K(node).index() + 1);\r\n\t},\r\n\tsetEndBefore : function(node) {\r\n\t\treturn this.setEnd(node.parentNode || this.doc, K(node).index());\r\n\t},\r\n\tsetEndAfter : function(node) {\r\n\t\treturn this.setEnd(node.parentNode || this.doc, K(node).index() + 1);\r\n\t},\r\n\tselectNode : function(node) {\r\n\t\treturn this.setStartBefore(node).setEndAfter(node);\r\n\t},\r\n\tselectNodeContents : function(node) {\r\n\t\tvar knode = K(node);\r\n\t\tif (knode.type == 3 || knode.isSingle()) {\r\n\t\t\treturn this.selectNode(node);\r\n\t\t}\r\n\t\tvar children = knode.children();\r\n\t\tif (children.length > 0) {\r\n\t\t\treturn this.setStartBefore(children[0]).setEndAfter(children[children.length - 1]);\r\n\t\t}\r\n\t\treturn this.setStart(node, 0).setEnd(node, 0);\r\n\t},\r\n\tcollapse : function(toStart) {\r\n\t\tif (toStart) {\r\n\t\t\treturn this.setEnd(this.startContainer, this.startOffset);\r\n\t\t}\r\n\t\treturn this.setStart(this.endContainer, this.endOffset);\r\n\t},\r\n\tcompareBoundaryPoints : function(how, range) {\r\n\t\tvar rangeA = this.get(), rangeB = range.get();\r\n\t\tif (_IERANGE) {\r\n\t\t\tvar arr = {};\r\n\t\t\tarr[_START_TO_START] = 'StartToStart';\r\n\t\t\tarr[_START_TO_END] = 'EndToStart';\r\n\t\t\tarr[_END_TO_END] = 'EndToEnd';\r\n\t\t\tarr[_END_TO_START] = 'StartToEnd';\r\n\t\t\tvar cmp = rangeA.compareEndPoints(arr[how], rangeB);\r\n\t\t\tif (cmp !== 0) {\r\n\t\t\t\treturn cmp;\r\n\t\t\t}\r\n\t\t\tvar nodeA, nodeB, nodeC, posA, posB;\r\n\t\t\tif (how === _START_TO_START || how === _END_TO_START) {\r\n\t\t\t\tnodeA = this.startContainer;\r\n\t\t\t\tposA = this.startOffset;\r\n\t\t\t}\r\n\t\t\tif (how === _START_TO_END || how === _END_TO_END) {\r\n\t\t\t\tnodeA = this.endContainer;\r\n\t\t\t\tposA = this.endOffset;\r\n\t\t\t}\r\n\t\t\tif (how === _START_TO_START || how === _START_TO_END) {\r\n\t\t\t\tnodeB = range.startContainer;\r\n\t\t\t\tposB = range.startOffset;\r\n\t\t\t}\r\n\t\t\tif (how === _END_TO_END || how === _END_TO_START) {\r\n\t\t\t\tnodeB = range.endContainer;\r\n\t\t\t\tposB = range.endOffset;\r\n\t\t\t}\r\n\t\t\tif (nodeA === nodeB) {\r\n\t\t\t\tvar diff = posA - posB;\r\n\t\t\t\treturn diff > 0 ? 1 : (diff < 0 ? -1 : 0);\r\n\t\t\t}\r\n\t\t\tnodeC = nodeB;\r\n\t\t\twhile (nodeC && nodeC.parentNode !== nodeA) {\r\n\t\t\t\tnodeC = nodeC.parentNode;\r\n\t\t\t}\r\n\t\t\tif (nodeC) {\r\n\t\t\t\treturn K(nodeC).index() >= posA ? -1 : 1;\r\n\t\t\t}\r\n\t\t\tnodeC = nodeA;\r\n\t\t\twhile (nodeC && nodeC.parentNode !== nodeB) {\r\n\t\t\t\tnodeC = nodeC.parentNode;\r\n\t\t\t}\r\n\t\t\tif (nodeC) {\r\n\t\t\t\treturn K(nodeC).index() >= posB ? 1 : -1;\r\n\t\t\t}\r\n\t\t\tnodeC = K(nodeB).next();\r\n\t\t\tif (nodeC && nodeC.contains(nodeA)) {\r\n\t\t\t\treturn 1;\r\n\t\t\t}\r\n\t\t\tnodeC = K(nodeA).next();\r\n\t\t\tif (nodeC && nodeC.contains(nodeB)) {\r\n\t\t\t\treturn -1;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn rangeA.compareBoundaryPoints(how, rangeB);\r\n\t\t}\r\n\t},\r\n\tcloneRange : function() {\r\n\t\treturn new KRange(this.doc).setStart(this.startContainer, this.startOffset).setEnd(this.endContainer, this.endOffset);\r\n\t},\r\n\ttoString : function() {\r\n\t\tvar rng = this.get(), str = _IERANGE ? rng.text : rng.toString();\r\n\t\treturn str.replace(/\\r\\n|\\n|\\r/g, '');\r\n\t},\r\n\tcloneContents : function() {\r\n\t\treturn _copyAndDelete(this, true, false);\r\n\t},\r\n\tdeleteContents : function() {\r\n\t\treturn _copyAndDelete(this, false, true);\r\n\t},\r\n\textractContents : function() {\r\n\t\treturn _copyAndDelete(this, true, true);\r\n\t},\r\n\tinsertNode : function(node) {\r\n\t\tvar self = this,\r\n\t\t\tsc = self.startContainer, so = self.startOffset,\r\n\t\t\tec = self.endContainer, eo = self.endOffset,\r\n\t\t\tfirstChild, lastChild, c, nodeCount = 1;\r\n\t\tif (node.nodeName.toLowerCase() === '#document-fragment') {\r\n\t\t\tfirstChild = node.firstChild;\r\n\t\t\tlastChild = node.lastChild;\r\n\t\t\tnodeCount = node.childNodes.length;\r\n\t\t}\r\n\t\tif (sc.nodeType == 1) {\r\n\t\t\tc = sc.childNodes[so];\r\n\t\t\tif (c) {\r\n\t\t\t\tsc.insertBefore(node, c);\r\n\t\t\t\tif (sc === ec) {\r\n\t\t\t\t\teo += nodeCount;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tsc.appendChild(node);\r\n\t\t\t}\r\n\t\t} else if (sc.nodeType == 3) {\r\n\t\t\tif (so === 0) {\r\n\t\t\t\tsc.parentNode.insertBefore(node, sc);\r\n\t\t\t\tif (sc.parentNode === ec) {\r\n\t\t\t\t\teo += nodeCount;\r\n\t\t\t\t}\r\n\t\t\t} else if (so >= sc.nodeValue.length) {\r\n\t\t\t\tif (sc.nextSibling) {\r\n\t\t\t\t\tsc.parentNode.insertBefore(node, sc.nextSibling);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsc.parentNode.appendChild(node);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (so > 0) {\r\n\t\t\t\t\tc = sc.splitText(so);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tc = sc;\r\n\t\t\t\t}\r\n\t\t\t\tsc.parentNode.insertBefore(node, c);\r\n\t\t\t\tif (sc === ec) {\r\n\t\t\t\t\tec = c;\r\n\t\t\t\t\teo -= so;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (firstChild) {\r\n\t\t\tself.setStartBefore(firstChild).setEndAfter(lastChild);\r\n\t\t} else {\r\n\t\t\tself.selectNode(node);\r\n\t\t}\r\n\t\tif (self.compareBoundaryPoints(_END_TO_END, self.cloneRange().setEnd(ec, eo)) >= 1) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\treturn self.setEnd(ec, eo);\r\n\t},\r\n\tsurroundContents : function(node) {\r\n\t\tnode.appendChild(this.extractContents());\r\n\t\treturn this.insertNode(node).selectNode(node);\r\n\t},\r\n\tisControl : function() {\r\n\t\tvar self = this,\r\n\t\t\tsc = self.startContainer, so = self.startOffset,\r\n\t\t\tec = self.endContainer, eo = self.endOffset, rng;\r\n\t\treturn sc.nodeType == 1 && sc === ec && so + 1 === eo && K(sc.childNodes[so]).isControl();\r\n\t},\r\n\tget : function(hasControlRange) {\r\n\t\tvar self = this, doc = self.doc, node, rng;\r\n\t\tif (!_IERANGE) {\r\n\t\t\trng = doc.createRange();\r\n\t\t\ttry {\r\n\t\t\t\trng.setStart(self.startContainer, self.startOffset);\r\n\t\t\t\trng.setEnd(self.endContainer, self.endOffset);\r\n\t\t\t} catch (e) {}\r\n\t\t\treturn rng;\r\n\t\t}\r\n\t\tif (hasControlRange && self.isControl()) {\r\n\t\t\trng = doc.body.createControlRange();\r\n\t\t\trng.addElement(self.startContainer.childNodes[self.startOffset]);\r\n\t\t\treturn rng;\r\n\t\t}\r\n\t\tvar range = self.cloneRange().down();\r\n\t\trng = doc.body.createTextRange();\r\n\t\trng.setEndPoint('StartToStart', _getEndRange(range.startContainer, range.startOffset));\r\n\t\trng.setEndPoint('EndToStart', _getEndRange(range.endContainer, range.endOffset));\r\n\t\treturn rng;\r\n\t},\r\n\thtml : function() {\r\n\t\treturn K(this.cloneContents()).outer();\r\n\t},\r\n\tdown : function() {\r\n\t\tvar self = this;\r\n\t\tfunction downPos(node, pos, isStart) {\r\n\t\t\tif (node.nodeType != 1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar children = K(node).children();\r\n\t\t\tif (children.length === 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar left, right, child, offset;\r\n\t\t\tif (pos > 0) {\r\n\t\t\t\tleft = children.eq(pos - 1);\r\n\t\t\t}\r\n\t\t\tif (pos < children.length) {\r\n\t\t\t\tright = children.eq(pos);\r\n\t\t\t}\r\n\t\t\tif (left && left.type == 3) {\r\n\t\t\t\tchild = left[0];\r\n\t\t\t\toffset = child.nodeValue.length;\r\n\t\t\t}\r\n\t\t\tif (right && right.type == 3) {\r\n\t\t\t\tchild = right[0];\r\n\t\t\t\toffset = 0;\r\n\t\t\t}\r\n\t\t\tif (!child) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isStart) {\r\n\t\t\t\tself.setStart(child, offset);\r\n\t\t\t} else {\r\n\t\t\t\tself.setEnd(child, offset);\r\n\t\t\t}\r\n\t\t}\r\n\t\tdownPos(self.startContainer, self.startOffset, true);\r\n\t\tdownPos(self.endContainer, self.endOffset, false);\r\n\t\treturn self;\r\n\t},\r\n\tup : function() {\r\n\t\tvar self = this;\r\n\t\tfunction upPos(node, pos, isStart) {\r\n\t\t\tif (node.nodeType != 3) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (pos === 0) {\r\n\t\t\t\tif (isStart) {\r\n\t\t\t\t\tself.setStartBefore(node);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tself.setEndBefore(node);\r\n\t\t\t\t}\r\n\t\t\t} else if (pos == node.nodeValue.length) {\r\n\t\t\t\tif (isStart) {\r\n\t\t\t\t\tself.setStartAfter(node);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tself.setEndAfter(node);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tupPos(self.startContainer, self.startOffset, true);\r\n\t\tupPos(self.endContainer, self.endOffset, false);\r\n\t\treturn self;\r\n\t},\r\n\tenlarge : function(toBlock) {\r\n\t\tvar self = this;\r\n\t\tself.up();\r\n\t\tfunction enlargePos(node, pos, isStart) {\r\n\t\t\tvar knode = K(node), parent;\r\n\t\t\tif (knode.type == 3 || _NOSPLIT_TAG_MAP[knode.name] || !toBlock && knode.isBlock()) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (pos === 0) {\r\n\t\t\t\twhile (!knode.prev()) {\r\n\t\t\t\t\tparent = knode.parent();\r\n\t\t\t\t\tif (!parent || _NOSPLIT_TAG_MAP[parent.name] || !toBlock && parent.isBlock()) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tknode = parent;\r\n\t\t\t\t}\r\n\t\t\t\tif (isStart) {\r\n\t\t\t\t\tself.setStartBefore(knode[0]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tself.setEndBefore(knode[0]);\r\n\t\t\t\t}\r\n\t\t\t} else if (pos == knode.children().length) {\r\n\t\t\t\twhile (!knode.next()) {\r\n\t\t\t\t\tparent = knode.parent();\r\n\t\t\t\t\tif (!parent || _NOSPLIT_TAG_MAP[parent.name] || !toBlock && parent.isBlock()) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tknode = parent;\r\n\t\t\t\t}\r\n\t\t\t\tif (isStart) {\r\n\t\t\t\t\tself.setStartAfter(knode[0]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tself.setEndAfter(knode[0]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tenlargePos(self.startContainer, self.startOffset, true);\r\n\t\tenlargePos(self.endContainer, self.endOffset, false);\r\n\t\treturn self;\r\n\t},\r\n\tshrink : function() {\r\n\t\tvar self = this, child, collapsed = self.collapsed;\r\n\t\twhile (self.startContainer.nodeType == 1 && (child = self.startContainer.childNodes[self.startOffset]) && child.nodeType == 1 && !K(child).isSingle()) {\r\n\t\t\tself.setStart(child, 0);\r\n\t\t}\r\n\t\tif (collapsed) {\r\n\t\t\treturn self.collapse(collapsed);\r\n\t\t}\r\n\t\twhile (self.endContainer.nodeType == 1 && self.endOffset > 0 && (child = self.endContainer.childNodes[self.endOffset - 1]) && child.nodeType == 1 && !K(child).isSingle()) {\r\n\t\t\tself.setEnd(child, child.childNodes.length);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tcreateBookmark : function(serialize) {\r\n\t\tvar self = this, doc = self.doc, endNode,\r\n\t\t\tstartNode = K('<span style=\"display:none;\"></span>', doc)[0];\r\n\t\tstartNode.id = '__kindeditor_bookmark_start_' + (_BOOKMARK_ID++) + '__';\r\n\t\tif (!self.collapsed) {\r\n\t\t\tendNode = startNode.cloneNode(true);\r\n\t\t\tendNode.id = '__kindeditor_bookmark_end_' + (_BOOKMARK_ID++) + '__';\r\n\t\t}\r\n\t\tif (endNode) {\r\n\t\t\tself.cloneRange().collapse(false).insertNode(endNode).setEndBefore(endNode);\r\n\t\t}\r\n\t\tself.insertNode(startNode).setStartAfter(startNode);\r\n\t\treturn {\r\n\t\t\tstart : serialize ? '#' + startNode.id : startNode,\r\n\t\t\tend : endNode ? (serialize ? '#' + endNode.id : endNode) : null\r\n\t\t};\r\n\t},\r\n\tmoveToBookmark : function(bookmark) {\r\n\t\tvar self = this, doc = self.doc,\r\n\t\t\tstart = K(bookmark.start, doc), end = bookmark.end ? K(bookmark.end, doc) : null;\r\n\t\tif (!start || start.length < 1) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tself.setStartBefore(start[0]);\r\n\t\tstart.remove();\r\n\t\tif (end && end.length > 0) {\r\n\t\t\tself.setEndBefore(end[0]);\r\n\t\t\tend.remove();\r\n\t\t} else {\r\n\t\t\tself.collapse(true);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tdump : function() {\r\n\t\tconsole.log('--------------------');\r\n\t\tconsole.log(this.startContainer.nodeType == 3 ? this.startContainer.nodeValue : this.startContainer, this.startOffset);\r\n\t\tconsole.log(this.endContainer.nodeType == 3 ? this.endContainer.nodeValue : this.endContainer, this.endOffset);\r\n\t}\r\n});\r\nfunction _range(mixed) {\r\n\tif (!mixed.nodeName) {\r\n\t\treturn mixed.constructor === KRange ? mixed : _toRange(mixed);\r\n\t}\r\n\treturn new KRange(mixed);\r\n}\r\nK.RangeClass = KRange;\r\nK.range = _range;\r\nK.START_TO_START = _START_TO_START;\r\nK.START_TO_END = _START_TO_END;\r\nK.END_TO_END = _END_TO_END;\r\nK.END_TO_START = _END_TO_START;\r\nfunction _nativeCommand(doc, key, val) {\r\n\ttry {\r\n\t\tdoc.execCommand(key, false, val);\r\n\t} catch(e) {}\r\n}\r\nfunction _nativeCommandValue(doc, key) {\r\n\tvar val = '';\r\n\ttry {\r\n\t\tval = doc.queryCommandValue(key);\r\n\t} catch (e) {}\r\n\tif (typeof val !== 'string') {\r\n\t\tval = '';\r\n\t}\r\n\treturn val;\r\n}\r\nfunction _getSel(doc) {\r\n\tvar win = _getWin(doc);\r\n\treturn _IERANGE ? doc.selection : win.getSelection();\r\n}\r\nfunction _getRng(doc) {\r\n\tvar sel = _getSel(doc), rng;\r\n\ttry {\r\n\t\tif (sel.rangeCount > 0) {\r\n\t\t\trng = sel.getRangeAt(0);\r\n\t\t} else {\r\n\t\t\trng = sel.createRange();\r\n\t\t}\r\n\t} catch(e) {}\r\n\tif (_IERANGE && (!rng || (!rng.item && rng.parentElement().ownerDocument !== doc))) {\r\n\t\treturn null;\r\n\t}\r\n\treturn rng;\r\n}\r\nfunction _singleKeyMap(map) {\r\n\tvar newMap = {}, arr, v;\r\n\t_each(map, function(key, val) {\r\n\t\tarr = key.split(',');\r\n\t\tfor (var i = 0, len = arr.length; i < len; i++) {\r\n\t\t\tv = arr[i];\r\n\t\t\tnewMap[v] = val;\r\n\t\t}\r\n\t});\r\n\treturn newMap;\r\n}\r\nfunction _hasAttrOrCss(knode, map) {\r\n\treturn _hasAttrOrCssByKey(knode, map, '*') || _hasAttrOrCssByKey(knode, map);\r\n}\r\nfunction _hasAttrOrCssByKey(knode, map, mapKey) {\r\n\tmapKey = mapKey || knode.name;\r\n\tif (knode.type !== 1) {\r\n\t\treturn false;\r\n\t}\r\n\tvar newMap = _singleKeyMap(map);\r\n\tif (!newMap[mapKey]) {\r\n\t\treturn false;\r\n\t}\r\n\tvar arr = newMap[mapKey].split(',');\r\n\tfor (var i = 0, len = arr.length; i < len; i++) {\r\n\t\tvar key = arr[i];\r\n\t\tif (key === '*') {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tvar match = /^(\\.?)([^=]+)(?:=([^=]*))?$/.exec(key);\r\n\t\tvar method = match[1] ? 'css' : 'attr';\r\n\t\tkey = match[2];\r\n\t\tvar val = match[3] || '';\r\n\t\tif (val === '' && knode[method](key) !== '') {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tif (val !== '' && knode[method](key) === val) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n}\r\nfunction _removeAttrOrCss(knode, map) {\r\n\tif (knode.type != 1) {\r\n\t\treturn;\r\n\t}\r\n\t_removeAttrOrCssByKey(knode, map, '*');\r\n\t_removeAttrOrCssByKey(knode, map);\r\n}\r\nfunction _removeAttrOrCssByKey(knode, map, mapKey) {\r\n\tmapKey = mapKey || knode.name;\r\n\tif (knode.type !== 1) {\r\n\t\treturn;\r\n\t}\r\n\tvar newMap = _singleKeyMap(map);\r\n\tif (!newMap[mapKey]) {\r\n\t\treturn;\r\n\t}\r\n\tvar arr = newMap[mapKey].split(','), allFlag = false;\r\n\tfor (var i = 0, len = arr.length; i < len; i++) {\r\n\t\tvar key = arr[i];\r\n\t\tif (key === '*') {\r\n\t\t\tallFlag = true;\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tvar match = /^(\\.?)([^=]+)(?:=([^=]*))?$/.exec(key);\r\n\t\tkey = match[2];\r\n\t\tif (match[1]) {\r\n\t\t\tkey = _toCamel(key);\r\n\t\t\tif (knode[0].style[key]) {\r\n\t\t\t\tknode[0].style[key] = '';\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tknode.removeAttr(key);\r\n\t\t}\r\n\t}\r\n\tif (allFlag) {\r\n\t\tknode.remove(true);\r\n\t}\r\n}\r\nfunction _getInnerNode(knode) {\r\n\tvar inner = knode;\r\n\twhile (inner.first()) {\r\n\t\tinner = inner.first();\r\n\t}\r\n\treturn inner;\r\n}\r\nfunction _isEmptyNode(knode) {\r\n\tif (knode.type != 1 || knode.isSingle()) {\r\n\t\treturn false;\r\n\t}\r\n\treturn knode.html().replace(/<[^>]+>/g, '') === '';\r\n}\r\nfunction _mergeWrapper(a, b) {\r\n\ta = a.clone(true);\r\n\tvar lastA = _getInnerNode(a), childA = a, merged = false;\r\n\twhile (b) {\r\n\t\twhile (childA) {\r\n\t\t\tif (childA.name === b.name) {\r\n\t\t\t\t_mergeAttrs(childA, b.attr(), b.css());\r\n\t\t\t\tmerged = true;\r\n\t\t\t}\r\n\t\t\tchildA = childA.first();\r\n\t\t}\r\n\t\tif (!merged) {\r\n\t\t\tlastA.append(b.clone(false));\r\n\t\t}\r\n\t\tmerged = false;\r\n\t\tb = b.first();\r\n\t}\r\n\treturn a;\r\n}\r\nfunction _wrapNode(knode, wrapper) {\r\n\twrapper = wrapper.clone(true);\r\n\tif (knode.type == 3) {\r\n\t\t_getInnerNode(wrapper).append(knode.clone(false));\r\n\t\tknode.replaceWith(wrapper);\r\n\t\treturn wrapper;\r\n\t}\r\n\tvar nodeWrapper = knode, child;\r\n\twhile ((child = knode.first()) && child.children().length == 1) {\r\n\t\tknode = child;\r\n\t}\r\n\tchild = knode.first();\r\n\tvar frag = knode.doc.createDocumentFragment();\r\n\twhile (child) {\r\n\t\tfrag.appendChild(child[0]);\r\n\t\tchild = child.next();\r\n\t}\r\n\twrapper = _mergeWrapper(nodeWrapper, wrapper);\r\n\tif (frag.firstChild) {\r\n\t\t_getInnerNode(wrapper).append(frag);\r\n\t}\r\n\tnodeWrapper.replaceWith(wrapper);\r\n\treturn wrapper;\r\n}\r\nfunction _mergeAttrs(knode, attrs, styles) {\r\n\t_each(attrs, function(key, val) {\r\n\t\tif (key !== 'style') {\r\n\t\t\tknode.attr(key, val);\r\n\t\t}\r\n\t});\r\n\t_each(styles, function(key, val) {\r\n\t\tknode.css(key, val);\r\n\t});\r\n}\r\nfunction _inPreElement(knode) {\r\n\twhile (knode && knode.name != 'body') {\r\n\t\tif (_PRE_TAG_MAP[knode.name] || knode.name == 'div' && knode.hasClass('ke-script')) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tknode = knode.parent();\r\n\t}\r\n\treturn false;\r\n}\r\nfunction KCmd(range) {\r\n\tthis.init(range);\r\n}\r\n_extend(KCmd, {\r\n\tinit : function(range) {\r\n\t\tvar self = this, doc = range.doc;\r\n\t\tself.doc = doc;\r\n\t\tself.win = _getWin(doc);\r\n\t\tself.sel = _getSel(doc);\r\n\t\tself.range = range;\r\n\t},\r\n\tselection : function(forceReset) {\r\n\t\tvar self = this, doc = self.doc, rng = _getRng(doc);\r\n\t\tself.sel = _getSel(doc);\r\n\t\tif (rng) {\r\n\t\t\tself.range = _range(rng);\r\n\t\t\tif (K(self.range.startContainer).name == 'html') {\r\n\t\t\t\tself.range.selectNodeContents(doc.body).collapse(false);\r\n\t\t\t}\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (forceReset) {\r\n\t\t\tself.range.selectNodeContents(doc.body).collapse(false);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tselect : function(hasDummy) {\r\n\t\thasDummy = _undef(hasDummy, true);\r\n\t\tvar self = this, sel = self.sel, range = self.range.cloneRange().shrink(),\r\n\t\t\tsc = range.startContainer, so = range.startOffset,\r\n\t\t\tec = range.endContainer, eo = range.endOffset,\r\n\t\t\tdoc = _getDoc(sc), win = self.win, rng, hasU200b = false;\r\n\t\tif (hasDummy && sc.nodeType == 1 && range.collapsed) {\r\n\t\t\tif (_IERANGE) {\r\n\t\t\t\tvar dummy = K('<span>&nbsp;</span>', doc);\r\n\t\t\t\trange.insertNode(dummy[0]);\r\n\t\t\t\trng = doc.body.createTextRange();\r\n\t\t\t\ttry {\r\n\t\t\t\t\trng.moveToElementText(dummy[0]);\r\n\t\t\t\t} catch(ex) {}\r\n\t\t\t\trng.collapse(false);\r\n\t\t\t\trng.select();\r\n\t\t\t\tdummy.remove();\r\n\t\t\t\twin.focus();\r\n\t\t\t\treturn self;\r\n\t\t\t}\r\n\t\t\tif (_WEBKIT) {\r\n\t\t\t\tvar children = sc.childNodes;\r\n\t\t\t\tif (K(sc).isInline() || so > 0 && K(children[so - 1]).isInline() || children[so] && K(children[so]).isInline()) {\r\n\t\t\t\t\trange.insertNode(doc.createTextNode('\\u200B'));\r\n\t\t\t\t\thasU200b = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (_IERANGE) {\r\n\t\t\ttry {\r\n\t\t\t\trng = range.get(true);\r\n\t\t\t\trng.select();\r\n\t\t\t} catch(e) {}\r\n\t\t} else {\r\n\t\t\tif (hasU200b) {\r\n\t\t\t\trange.collapse(false);\r\n\t\t\t}\r\n\t\t\trng = range.get(true);\r\n\t\t\tsel.removeAllRanges();\r\n\t\t\tsel.addRange(rng);\r\n\t\t\tif (doc !== document) {\r\n\t\t\t\tvar pos = K(rng.endContainer).pos();\r\n\t\t\t\twin.scrollTo(pos.x, pos.y);\r\n\t\t\t}\r\n\t\t}\r\n\t\twin.focus();\r\n\t\treturn self;\r\n\t},\r\n\twrap : function(val) {\r\n\t\tvar self = this, doc = self.doc, range = self.range, wrapper;\r\n\t\twrapper = K(val, doc);\r\n\t\tif (range.collapsed) {\r\n\t\t\trange.shrink();\r\n\t\t\trange.insertNode(wrapper[0]).selectNodeContents(wrapper[0]);\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (wrapper.isBlock()) {\r\n\t\t\tvar copyWrapper = wrapper.clone(true), child = copyWrapper;\r\n\t\t\twhile (child.first()) {\r\n\t\t\t\tchild = child.first();\r\n\t\t\t}\r\n\t\t\tchild.append(range.extractContents());\r\n\t\t\trange.insertNode(copyWrapper[0]).selectNode(copyWrapper[0]);\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\trange.enlarge();\r\n\t\tvar bookmark = range.createBookmark(), ancestor = range.commonAncestor(), isStart = false;\r\n\t\tK(ancestor).scan(function(node) {\r\n\t\t\tif (!isStart && node == bookmark.start) {\r\n\t\t\t\tisStart = true;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isStart) {\r\n\t\t\t\tif (node == bookmark.end) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tvar knode = K(node);\r\n\t\t\t\tif (_inPreElement(knode)) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (knode.type == 3 && _trim(node.nodeValue).length > 0) {\r\n\t\t\t\t\tvar parent;\r\n\t\t\t\t\twhile ((parent = knode.parent()) && parent.isStyle() && parent.children().length == 1) {\r\n\t\t\t\t\t\tknode = parent;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t_wrapNode(knode, wrapper);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\trange.moveToBookmark(bookmark);\r\n\t\treturn self;\r\n\t},\r\n\tsplit : function(isStart, map) {\r\n\t\tvar range = this.range, doc = range.doc;\r\n\t\tvar tempRange = range.cloneRange().collapse(isStart);\r\n\t\tvar node = tempRange.startContainer, pos = tempRange.startOffset,\r\n\t\t\tparent = node.nodeType == 3 ? node.parentNode : node,\r\n\t\t\tneedSplit = false, knode;\r\n\t\twhile (parent && parent.parentNode) {\r\n\t\t\tknode = K(parent);\r\n\t\t\tif (map) {\r\n\t\t\t\tif (!knode.isStyle()) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tif (!_hasAttrOrCss(knode, map)) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (_NOSPLIT_TAG_MAP[knode.name]) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tneedSplit = true;\r\n\t\t\tparent = parent.parentNode;\r\n\t\t}\r\n\t\tif (needSplit) {\r\n\t\t\tvar dummy = doc.createElement('span');\r\n\t\t\trange.cloneRange().collapse(!isStart).insertNode(dummy);\r\n\t\t\tif (isStart) {\r\n\t\t\t\ttempRange.setStartBefore(parent.firstChild).setEnd(node, pos);\r\n\t\t\t} else {\r\n\t\t\t\ttempRange.setStart(node, pos).setEndAfter(parent.lastChild);\r\n\t\t\t}\r\n\t\t\tvar frag = tempRange.extractContents(),\r\n\t\t\t\tfirst = frag.firstChild, last = frag.lastChild;\r\n\t\t\tif (isStart) {\r\n\t\t\t\ttempRange.insertNode(frag);\r\n\t\t\t\trange.setStartAfter(last).setEndBefore(dummy);\r\n\t\t\t} else {\r\n\t\t\t\tparent.appendChild(frag);\r\n\t\t\t\trange.setStartBefore(dummy).setEndBefore(first);\r\n\t\t\t}\r\n\t\t\tvar dummyParent = dummy.parentNode;\r\n\t\t\tif (dummyParent == range.endContainer) {\r\n\t\t\t\tvar prev = K(dummy).prev(), next = K(dummy).next();\r\n\t\t\t\tif (prev && next && prev.type == 3 && next.type == 3) {\r\n\t\t\t\t\trange.setEnd(prev[0], prev[0].nodeValue.length);\r\n\t\t\t\t} else if (!isStart) {\r\n\t\t\t\t\trange.setEnd(range.endContainer, range.endOffset - 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tdummyParent.removeChild(dummy);\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\tremove : function(map) {\r\n\t\tvar self = this, doc = self.doc, range = self.range;\r\n\t\trange.enlarge();\r\n\t\tif (range.startOffset === 0) {\r\n\t\t\tvar ksc = K(range.startContainer), parent;\r\n\t\t\twhile ((parent = ksc.parent()) && parent.isStyle() && parent.children().length == 1) {\r\n\t\t\t\tksc = parent;\r\n\t\t\t}\r\n\t\t\trange.setStart(ksc[0], 0);\r\n\t\t\tksc = K(range.startContainer);\r\n\t\t\tif (ksc.isBlock()) {\r\n\t\t\t\t_removeAttrOrCss(ksc, map);\r\n\t\t\t}\r\n\t\t\tvar kscp = ksc.parent();\r\n\t\t\tif (kscp && kscp.isBlock()) {\r\n\t\t\t\t_removeAttrOrCss(kscp, map);\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar sc, so;\r\n\t\tif (range.collapsed) {\r\n\t\t\tself.split(true, map);\r\n\t\t\tsc = range.startContainer;\r\n\t\t\tso = range.startOffset;\r\n\t\t\tif (so > 0) {\r\n\t\t\t\tvar sb = K(sc.childNodes[so - 1]);\r\n\t\t\t\tif (sb && _isEmptyNode(sb)) {\r\n\t\t\t\t\tsb.remove();\r\n\t\t\t\t\trange.setStart(sc, so - 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar sa = K(sc.childNodes[so]);\r\n\t\t\tif (sa && _isEmptyNode(sa)) {\r\n\t\t\t\tsa.remove();\r\n\t\t\t}\r\n\t\t\tif (_isEmptyNode(sc)) {\r\n\t\t\t\trange.startBefore(sc);\r\n\t\t\t\tsc.remove();\r\n\t\t\t}\r\n\t\t\trange.collapse(true);\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tself.split(true, map);\r\n\t\tself.split(false, map);\r\n\t\tvar startDummy = doc.createElement('span'), endDummy = doc.createElement('span');\r\n\t\trange.cloneRange().collapse(false).insertNode(endDummy);\r\n\t\trange.cloneRange().collapse(true).insertNode(startDummy);\r\n\t\tvar nodeList = [], cmpStart = false;\r\n\t\tK(range.commonAncestor()).scan(function(node) {\r\n\t\t\tif (!cmpStart && node == startDummy) {\r\n\t\t\t\tcmpStart = true;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (node == endDummy) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tif (cmpStart) {\r\n\t\t\t\tnodeList.push(node);\r\n\t\t\t}\r\n\t\t});\r\n\t\tK(startDummy).remove();\r\n\t\tK(endDummy).remove();\r\n\t\tsc = range.startContainer;\r\n\t\tso = range.startOffset;\r\n\t\tvar ec = range.endContainer, eo = range.endOffset;\r\n\t\tif (so > 0) {\r\n\t\t\tvar startBefore = K(sc.childNodes[so - 1]);\r\n\t\t\tif (startBefore && _isEmptyNode(startBefore)) {\r\n\t\t\t\tstartBefore.remove();\r\n\t\t\t\trange.setStart(sc, so - 1);\r\n\t\t\t\tif (sc == ec) {\r\n\t\t\t\t\trange.setEnd(ec, eo - 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar startAfter = K(sc.childNodes[so]);\r\n\t\t\tif (startAfter && _isEmptyNode(startAfter)) {\r\n\t\t\t\tstartAfter.remove();\r\n\t\t\t\tif (sc == ec) {\r\n\t\t\t\t\trange.setEnd(ec, eo - 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar endAfter = K(ec.childNodes[range.endOffset]);\r\n\t\tif (endAfter && _isEmptyNode(endAfter)) {\r\n\t\t\tendAfter.remove();\r\n\t\t}\r\n\t\tvar bookmark = range.createBookmark(true);\r\n\t\t_each(nodeList, function(i, node) {\r\n\t\t\t_removeAttrOrCss(K(node), map);\r\n\t\t});\r\n\t\trange.moveToBookmark(bookmark);\r\n\t\treturn self;\r\n\t},\r\n\tcommonNode : function(map) {\r\n\t\tvar range = this.range;\r\n\t\tvar ec = range.endContainer, eo = range.endOffset,\r\n\t\t\tnode = (ec.nodeType == 3 || eo === 0) ? ec : ec.childNodes[eo - 1];\r\n\t\tfunction find(node) {\r\n\t\t\tvar child = node, parent = node;\r\n\t\t\twhile (parent) {\r\n\t\t\t\tif (_hasAttrOrCss(K(parent), map)) {\r\n\t\t\t\t\treturn K(parent);\r\n\t\t\t\t}\r\n\t\t\t\tparent = parent.parentNode;\r\n\t\t\t}\r\n\t\t\twhile (child && (child = child.lastChild)) {\r\n\t\t\t\tif (_hasAttrOrCss(K(child), map)) {\r\n\t\t\t\t\treturn K(child);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar cNode = find(node);\r\n\t\tif (cNode) {\r\n\t\t\treturn cNode;\r\n\t\t}\r\n\t\tif (node.nodeType == 1 || (ec.nodeType == 3 && eo === 0)) {\r\n\t\t\tvar prev = K(node).prev();\r\n\t\t\tif (prev) {\r\n\t\t\t\treturn find(prev);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t},\r\n\tcommonAncestor : function(tagName) {\r\n\t\tvar range = this.range,\r\n\t\t\tsc = range.startContainer, so = range.startOffset,\r\n\t\t\tec = range.endContainer, eo = range.endOffset,\r\n\t\t\tstartNode = (sc.nodeType == 3 || so === 0) ? sc : sc.childNodes[so - 1],\r\n\t\t\tendNode = (ec.nodeType == 3 || eo === 0) ? ec : ec.childNodes[eo - 1];\r\n\t\tfunction find(node) {\r\n\t\t\twhile (node) {\r\n\t\t\t\tif (node.nodeType == 1) {\r\n\t\t\t\t\tif (node.tagName.toLowerCase() === tagName) {\r\n\t\t\t\t\t\treturn node;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tnode = node.parentNode;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar start = find(startNode), end = find(endNode);\r\n\t\tif (start && end && start === end) {\r\n\t\t\treturn K(start);\r\n\t\t}\r\n\t\treturn null;\r\n\t},\r\n\tstate : function(key) {\r\n\t\tvar self = this, doc = self.doc, bool = false;\r\n\t\ttry {\r\n\t\t\tbool = doc.queryCommandState(key);\r\n\t\t} catch (e) {}\r\n\t\treturn bool;\r\n\t},\r\n\tval : function(key) {\r\n\t\tvar self = this, doc = self.doc, range = self.range;\r\n\t\tfunction lc(val) {\r\n\t\t\treturn val.toLowerCase();\r\n\t\t}\r\n\t\tkey = lc(key);\r\n\t\tvar val = '', knode;\r\n\t\tif (key === 'fontfamily' || key === 'fontname') {\r\n\t\t\tval = _nativeCommandValue(doc, 'fontname');\r\n\t\t\tval = val.replace(/['\"]/g, '');\r\n\t\t\treturn lc(val);\r\n\t\t}\r\n\t\tif (key === 'formatblock') {\r\n\t\t\tval = _nativeCommandValue(doc, key);\r\n\t\t\tif (val === '') {\r\n\t\t\t\tknode = self.commonNode({'h1,h2,h3,h4,h5,h6,p,div,pre,address' : '*'});\r\n\t\t\t\tif (knode) {\r\n\t\t\t\t\tval = knode.name;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (val === 'Normal') {\r\n\t\t\t\tval = 'p';\r\n\t\t\t}\r\n\t\t\treturn lc(val);\r\n\t\t}\r\n\t\tif (key === 'fontsize') {\r\n\t\t\tknode = self.commonNode({'*' : '.font-size'});\r\n\t\t\tif (knode) {\r\n\t\t\t\tval = knode.css('font-size');\r\n\t\t\t}\r\n\t\t\treturn lc(val);\r\n\t\t}\r\n\t\tif (key === 'forecolor') {\r\n\t\t\tknode = self.commonNode({'*' : '.color'});\r\n\t\t\tif (knode) {\r\n\t\t\t\tval = knode.css('color');\r\n\t\t\t}\r\n\t\t\tval = _toHex(val);\r\n\t\t\tif (val === '') {\r\n\t\t\t\tval = 'default';\r\n\t\t\t}\r\n\t\t\treturn lc(val);\r\n\t\t}\r\n\t\tif (key === 'hilitecolor') {\r\n\t\t\tknode = self.commonNode({'*' : '.background-color'});\r\n\t\t\tif (knode) {\r\n\t\t\t\tval = knode.css('background-color');\r\n\t\t\t}\r\n\t\t\tval = _toHex(val);\r\n\t\t\tif (val === '') {\r\n\t\t\t\tval = 'default';\r\n\t\t\t}\r\n\t\t\treturn lc(val);\r\n\t\t}\r\n\t\treturn val;\r\n\t},\r\n\ttoggle : function(wrapper, map) {\r\n\t\tvar self = this;\r\n\t\tif (self.commonNode(map)) {\r\n\t\t\tself.remove(map);\r\n\t\t} else {\r\n\t\t\tself.wrap(wrapper);\r\n\t\t}\r\n\t\treturn self.select();\r\n\t},\r\n\tbold : function() {\r\n\t\treturn this.toggle('<strong></strong>', {\r\n\t\t\tspan : '.font-weight=bold',\r\n\t\t\tstrong : '*',\r\n\t\t\tb : '*'\r\n\t\t});\r\n\t},\r\n\titalic : function() {\r\n\t\treturn this.toggle('<em></em>', {\r\n\t\t\tspan : '.font-style=italic',\r\n\t\t\tem : '*',\r\n\t\t\ti : '*'\r\n\t\t});\r\n\t},\r\n\tunderline : function() {\r\n\t\treturn this.toggle('<u></u>', {\r\n\t\t\tspan : '.text-decoration=underline',\r\n\t\t\tu : '*'\r\n\t\t});\r\n\t},\r\n\tstrikethrough : function() {\r\n\t\treturn this.toggle('<s></s>', {\r\n\t\t\tspan : '.text-decoration=line-through',\r\n\t\t\ts : '*'\r\n\t\t});\r\n\t},\r\n\tforecolor : function(val) {\r\n\t\treturn this.wrap('<span style=\"color:' + val + ';\"></span>').select();\r\n\t},\r\n\thilitecolor : function(val) {\r\n\t\treturn this.wrap('<span style=\"background-color:' + val + ';\"></span>').select();\r\n\t},\r\n\tfontsize : function(val) {\r\n\t\treturn this.wrap('<span style=\"font-size:' + val + ';\"></span>').select();\r\n\t},\r\n\tfontname : function(val) {\r\n\t\treturn this.fontfamily(val);\r\n\t},\r\n\tfontfamily : function(val) {\r\n\t\treturn this.wrap('<span style=\"font-family:' + val + ';\"></span>').select();\r\n\t},\r\n\tremoveformat : function() {\r\n\t\tvar map = {\r\n\t\t\t'*' : '.font-weight,.font-style,.text-decoration,.color,.background-color,.font-size,.font-family,.text-indent'\r\n\t\t},\r\n\t\ttags = _STYLE_TAG_MAP;\r\n\t\t_each(tags, function(key, val) {\r\n\t\t\tmap[key] = '*';\r\n\t\t});\r\n\t\tthis.remove(map);\r\n\t\treturn this.select();\r\n\t},\r\n\tinserthtml : function(val, quickMode) {\r\n\t\tvar self = this, range = self.range;\r\n\t\tif (val === '') {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tfunction pasteHtml(range, val) {\r\n\t\t\tval = '<img id=\"__kindeditor_temp_tag__\" width=\"0\" height=\"0\" style=\"display:none;\" />' + val;\r\n\t\t\tvar rng = range.get();\r\n\t\t\tif (rng.item) {\r\n\t\t\t\trng.item(0).outerHTML = val;\r\n\t\t\t} else {\r\n\t\t\t\trng.pasteHTML(val);\r\n\t\t\t}\r\n\t\t\tvar temp = range.doc.getElementById('__kindeditor_temp_tag__');\r\n\t\t\ttemp.parentNode.removeChild(temp);\r\n\t\t\tvar newRange = _toRange(rng);\r\n\t\t\trange.setEnd(newRange.endContainer, newRange.endOffset);\r\n\t\t\trange.collapse(false);\r\n\t\t\tself.select(false);\r\n\t\t}\r\n\t\tfunction insertHtml(range, val) {\r\n\t\t\tvar doc = range.doc,\r\n\t\t\t\tfrag = doc.createDocumentFragment();\r\n\t\t\tK('@' + val, doc).each(function() {\r\n\t\t\t\tfrag.appendChild(this);\r\n\t\t\t});\r\n\t\t\trange.deleteContents();\r\n\t\t\trange.insertNode(frag);\r\n\t\t\trange.collapse(false);\r\n\t\t\tself.select(false);\r\n\t\t}\r\n\t\tif (_IERANGE && quickMode) {\r\n\t\t\ttry {\r\n\t\t\t\tpasteHtml(range, val);\r\n\t\t\t} catch(e) {\r\n\t\t\t\tinsertHtml(range, val);\r\n\t\t\t}\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tinsertHtml(range, val);\r\n\t\treturn self;\r\n\t},\r\n\thr : function() {\r\n\t\treturn this.inserthtml('<hr />');\r\n\t},\r\n\tprint : function() {\r\n\t\tthis.win.print();\r\n\t\treturn this;\r\n\t},\r\n\tinsertimage : function(url, title, width, height, border, align) {\r\n\t\ttitle = _undef(title, '');\r\n\t\tborder = _undef(border, 0);\r\n\t\tvar html = '<img src=\"' + _escape(url) + '\" data-ke-src=\"' + _escape(url) + '\" ';\r\n\t\tif (width) {\r\n\t\t\thtml += 'width=\"' + _escape(width) + '\" ';\r\n\t\t}\r\n\t\tif (height) {\r\n\t\t\thtml += 'height=\"' + _escape(height) + '\" ';\r\n\t\t}\r\n\t\tif (title) {\r\n\t\t\thtml += 'title=\"' + _escape(title) + '\" ';\r\n\t\t}\r\n\t\tif (align) {\r\n\t\t\thtml += 'align=\"' + _escape(align) + '\" ';\r\n\t\t}\r\n\t\thtml += 'alt=\"' + _escape(title) + '\" ';\r\n\t\thtml += '/>';\r\n\t\treturn this.inserthtml(html);\r\n\t},\r\n\tcreatelink : function(url, type) {\r\n\t\tvar self = this, doc = self.doc, range = self.range;\r\n\t\tself.select();\r\n\t\tvar a = self.commonNode({ a : '*' });\r\n\t\tif (a && !range.isControl()) {\r\n\t\t\trange.selectNode(a.get());\r\n\t\t\tself.select();\r\n\t\t}\r\n\t\tvar html = '<a href=\"' + _escape(url) + '\" data-ke-src=\"' + _escape(url) + '\" ';\r\n\t\tif (type) {\r\n\t\t\thtml += ' target=\"' + _escape(type) + '\"';\r\n\t\t}\r\n\t\tif (range.collapsed) {\r\n\t\t\thtml += '>' + _escape(url) + '</a>';\r\n\t\t\treturn self.inserthtml(html);\r\n\t\t}\r\n\t\tif (range.isControl()) {\r\n\t\t\tvar node = K(range.startContainer.childNodes[range.startOffset]);\r\n\t\t\thtml += '></a>';\r\n\t\t\tnode.after(K(html, doc));\r\n\t\t\tnode.next().append(node);\r\n\t\t\trange.selectNode(node[0]);\r\n\t\t\treturn self.select();\r\n\t\t}\r\n\t\tfunction setAttr(node, url, type) {\r\n\t\t\tK(node).attr('href', url).attr('data-ke-src', url);\r\n\t\t\tif (type) {\r\n\t\t\t\tK(node).attr('target', type);\r\n\t\t\t} else {\r\n\t\t\t\tK(node).removeAttr('target');\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar sc = range.startContainer, so = range.startOffset,\r\n\t\t\tec = range.endContainer, eo = range.endOffset;\r\n\t\tif (sc.nodeType == 1 && sc === ec && so + 1 === eo) {\r\n\t\t\tvar child = sc.childNodes[so];\r\n\t\t\tif (child.nodeName.toLowerCase() == 'a') {\r\n\t\t\t\tsetAttr(child, url, type);\r\n\t\t\t\treturn self;\r\n\t\t\t}\r\n\t\t}\r\n\t\t_nativeCommand(doc, 'createlink', '__kindeditor_temp_url__');\r\n\t\tK('a[href=\"__kindeditor_temp_url__\"]', doc).each(function() {\r\n\t\t\tsetAttr(this, url, type);\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tunlink : function() {\r\n\t\tvar self = this, doc = self.doc, range = self.range;\r\n\t\tself.select();\r\n\t\tif (range.collapsed) {\r\n\t\t\tvar a = self.commonNode({ a : '*' });\r\n\t\t\tif (a) {\r\n\t\t\t\trange.selectNode(a.get());\r\n\t\t\t\tself.select();\r\n\t\t\t}\r\n\t\t\t_nativeCommand(doc, 'unlink', null);\r\n\t\t\tif (_WEBKIT && K(range.startContainer).name === 'img') {\r\n\t\t\t\tvar parent = K(range.startContainer).parent();\r\n\t\t\t\tif (parent.name === 'a') {\r\n\t\t\t\t\tparent.remove(true);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t_nativeCommand(doc, 'unlink', null);\r\n\t\t}\r\n\t\treturn self;\r\n\t}\r\n});\r\n_each(('formatblock,selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,' +\r\n\t'insertunorderedlist,indent,outdent,subscript,superscript').split(','), function(i, name) {\r\n\tKCmd.prototype[name] = function(val) {\r\n\t\tvar self = this;\r\n\t\tself.select();\r\n\t\t_nativeCommand(self.doc, name, val);\r\n\t\tif (_IERANGE && _inArray(name, 'justifyleft,justifycenter,justifyright,justifyfull'.split(',')) >= 0) {\r\n\t\t\tself.selection();\r\n\t\t}\r\n\t\tif (!_IERANGE || _inArray(name, 'formatblock,selectall,insertorderedlist,insertunorderedlist'.split(',')) >= 0) {\r\n\t\t\tself.selection();\r\n\t\t}\r\n\t\treturn self;\r\n\t};\r\n});\r\n_each('cut,copy,paste'.split(','), function(i, name) {\r\n\tKCmd.prototype[name] = function() {\r\n\t\tvar self = this;\r\n\t\tif (!self.doc.queryCommandSupported(name)) {\r\n\t\t\tthrow 'not supported';\r\n\t\t}\r\n\t\tself.select();\r\n\t\t_nativeCommand(self.doc, name, null);\r\n\t\treturn self;\r\n\t};\r\n});\r\nfunction _cmd(mixed) {\r\n\tif (mixed.nodeName) {\r\n\t\tvar doc = _getDoc(mixed);\r\n\t\tmixed = _range(doc).selectNodeContents(doc.body).collapse(false);\r\n\t}\r\n\treturn new KCmd(mixed);\r\n}\r\nK.CmdClass = KCmd;\r\nK.cmd = _cmd;\r\nfunction _drag(options) {\r\n\tvar moveEl = options.moveEl,\r\n\t\tmoveFn = options.moveFn,\r\n\t\tclickEl = options.clickEl || moveEl,\r\n\t\tbeforeDrag = options.beforeDrag,\r\n\t\tiframeFix = options.iframeFix === undefined ? true : options.iframeFix;\r\n\tvar docs = [document];\r\n\tif (iframeFix) {\r\n\t\tK('iframe').each(function() {\r\n\t\t\tvar src = _formatUrl(this.src || '', 'absolute');\r\n\t\t\tif (/^https?:\\/\\//.test(src)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar doc;\r\n\t\t\ttry {\r\n\t\t\t\tdoc = _iframeDoc(this);\r\n\t\t\t} catch(e) {}\r\n\t\t\tif (doc) {\r\n\t\t\t\tvar pos = K(this).pos();\r\n\t\t\t\tK(doc).data('pos-x', pos.x);\r\n\t\t\t\tK(doc).data('pos-y', pos.y);\r\n\t\t\t\tdocs.push(doc);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tclickEl.mousedown(function(e) {\r\n\t\te.stopPropagation();\r\n\t\tvar self = clickEl.get(),\r\n\t\t\tx = _removeUnit(moveEl.css('left')),\r\n\t\t\ty = _removeUnit(moveEl.css('top')),\r\n\t\t\twidth = moveEl.width(),\r\n\t\t\theight = moveEl.height(),\r\n\t\t\tpageX = e.pageX,\r\n\t\t\tpageY = e.pageY;\r\n\t\tif (beforeDrag) {\r\n\t\t\tbeforeDrag();\r\n\t\t}\r\n\t\tfunction moveListener(e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tvar kdoc = K(_getDoc(e.target));\r\n\t\t\tvar diffX = _round((kdoc.data('pos-x') || 0) + e.pageX - pageX);\r\n\t\t\tvar diffY = _round((kdoc.data('pos-y') || 0) + e.pageY - pageY);\r\n\t\t\tmoveFn.call(clickEl, x, y, width, height, diffX, diffY);\r\n\t\t}\r\n\t\tfunction selectListener(e) {\r\n\t\t\te.preventDefault();\r\n\t\t}\r\n\t\tfunction upListener(e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tK(docs).unbind('mousemove', moveListener)\r\n\t\t\t\t.unbind('mouseup', upListener)\r\n\t\t\t\t.unbind('selectstart', selectListener);\r\n\t\t\tif (self.releaseCapture) {\r\n\t\t\t\tself.releaseCapture();\r\n\t\t\t}\r\n\t\t}\r\n\t\tK(docs).mousemove(moveListener)\r\n\t\t\t.mouseup(upListener)\r\n\t\t\t.bind('selectstart', selectListener);\r\n\t\tif (self.setCapture) {\r\n\t\t\tself.setCapture();\r\n\t\t}\r\n\t});\r\n}\r\nfunction KWidget(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\tself.name = options.name || '';\r\n\t\tself.doc = options.doc || document;\r\n\t\tself.win = _getWin(self.doc);\r\n\t\tself.x = _addUnit(options.x);\r\n\t\tself.y = _addUnit(options.y);\r\n\t\tself.z = options.z;\r\n\t\tself.width = _addUnit(options.width);\r\n\t\tself.height = _addUnit(options.height);\r\n\t\tself.div = K('<div style=\"display:block;\"></div>');\r\n\t\tself.options = options;\r\n\t\tself._alignEl = options.alignEl;\r\n\t\tif (self.width) {\r\n\t\t\tself.div.css('width', self.width);\r\n\t\t}\r\n\t\tif (self.height) {\r\n\t\t\tself.div.css('height', self.height);\r\n\t\t}\r\n\t\tif (self.z) {\r\n\t\t\tself.div.css({\r\n\t\t\t\tposition : 'absolute',\r\n\t\t\t\tleft : self.x,\r\n\t\t\t\ttop : self.y,\r\n\t\t\t\t'z-index' : self.z\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (self.z && (self.x === undefined || self.y === undefined)) {\r\n\t\t\tself.autoPos(self.width, self.height);\r\n\t\t}\r\n\t\tif (options.cls) {\r\n\t\t\tself.div.addClass(options.cls);\r\n\t\t}\r\n\t\tif (options.shadowMode) {\r\n\t\t\tself.div.addClass('ke-shadow');\r\n\t\t}\r\n\t\tif (options.css) {\r\n\t\t\tself.div.css(options.css);\r\n\t\t}\r\n\t\tif (options.src) {\r\n\t\t\tK(options.src).replaceWith(self.div);\r\n\t\t} else {\r\n\t\t\tK(self.doc.body).append(self.div);\r\n\t\t}\r\n\t\tif (options.html) {\r\n\t\t\tself.div.html(options.html);\r\n\t\t}\r\n\t\tif (options.autoScroll) {\r\n\t\t\tif (_IE && _V < 7 || _QUIRKS) {\r\n\t\t\t\tvar scrollPos = _getScrollPos();\r\n\t\t\t\tK(self.win).bind('scroll', function(e) {\r\n\t\t\t\t\tvar pos = _getScrollPos(),\r\n\t\t\t\t\t\tdiffX = pos.x - scrollPos.x,\r\n\t\t\t\t\t\tdiffY = pos.y - scrollPos.y;\r\n\t\t\t\t\tself.pos(_removeUnit(self.x) + diffX, _removeUnit(self.y) + diffY, false);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tself.div.css('position', 'fixed');\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tpos : function(x, y, updateProp) {\r\n\t\tvar self = this;\r\n\t\tupdateProp = _undef(updateProp, true);\r\n\t\tif (x !== null) {\r\n\t\t\tx = x < 0 ? 0 : _addUnit(x);\r\n\t\t\tself.div.css('left', x);\r\n\t\t\tif (updateProp) {\r\n\t\t\t\tself.x = x;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (y !== null) {\r\n\t\t\ty = y < 0 ? 0 : _addUnit(y);\r\n\t\t\tself.div.css('top', y);\r\n\t\t\tif (updateProp) {\r\n\t\t\t\tself.y = y;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tautoPos : function(width, height) {\r\n\t\tvar self = this,\r\n\t\t\tw = _removeUnit(width) || 0,\r\n\t\t\th = _removeUnit(height) || 0,\r\n\t\t\tscrollPos = _getScrollPos();\r\n\t\tif (self._alignEl) {\r\n\t\t\tvar knode = K(self._alignEl),\r\n\t\t\t\tpos = knode.pos(),\r\n\t\t\t\tdiffX = _round(knode[0].clientWidth / 2 - w / 2),\r\n\t\t\t\tdiffY = _round(knode[0].clientHeight / 2 - h / 2);\r\n\t\t\tx = diffX < 0 ? pos.x : pos.x + diffX;\r\n\t\t\ty = diffY < 0 ? pos.y : pos.y + diffY;\r\n\t\t} else {\r\n\t\t\tvar docEl = _docElement(self.doc);\r\n\t\t\tx = _round(scrollPos.x + (docEl.clientWidth - w) / 2);\r\n\t\t\ty = _round(scrollPos.y + (docEl.clientHeight - h) / 2);\r\n\t\t}\r\n\t\tif (!(_IE && _V < 7 || _QUIRKS)) {\r\n\t\t\tx -= scrollPos.x;\r\n\t\t\ty -= scrollPos.y;\r\n\t\t}\r\n\t\treturn self.pos(x, y);\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\tif (_IE && _V < 7 || _QUIRKS) {\r\n\t\t\tK(self.win).unbind('scroll');\r\n\t\t}\r\n\t\tself.div.remove();\r\n\t\t_each(self, function(i) {\r\n\t\t\tself[i] = null;\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tshow : function() {\r\n\t\tthis.div.show();\r\n\t\treturn this;\r\n\t},\r\n\thide : function() {\r\n\t\tthis.div.hide();\r\n\t\treturn this;\r\n\t},\r\n\tdraggable : function(options) {\r\n\t\tvar self = this;\r\n\t\toptions = options || {};\r\n\t\toptions.moveEl = self.div;\r\n\t\toptions.moveFn = function(x, y, width, height, diffX, diffY) {\r\n\t\t\tif ((x = x + diffX) < 0) {\r\n\t\t\t\tx = 0;\r\n\t\t\t}\r\n\t\t\tif ((y = y + diffY) < 0) {\r\n\t\t\t\ty = 0;\r\n\t\t\t}\r\n\t\t\tself.pos(x, y);\r\n\t\t};\r\n\t\t_drag(options);\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _widget(options) {\r\n\treturn new KWidget(options);\r\n}\r\nK.WidgetClass = KWidget;\r\nK.widget = _widget;\r\nfunction _iframeDoc(iframe) {\r\n\tiframe = _get(iframe);\r\n\treturn iframe.contentDocument || iframe.contentWindow.document;\r\n}\r\nvar html, _direction = '';\r\nif ((html = document.getElementsByTagName('html'))) {\r\n\t_direction = html[0].dir;\r\n}\r\nfunction _getInitHtml(themesPath, bodyClass, cssPath, cssData) {\r\n\tvar arr = [\r\n\t\t(_direction === '' ? '<html>' : '<html dir=\"' + _direction + '\">'),\r\n\t\t'<head><meta charset=\"utf-8\" /><title></title>',\r\n\t\t'<style>',\r\n\t\t'html {margin:0;padding:0;}',\r\n\t\t'body {margin:0;padding:5px;}',\r\n\t\t'body, td {font:12px/1.5 \"sans serif\",tahoma,verdana,helvetica;}',\r\n\t\t'body, p, div {word-wrap: break-word;}',\r\n\t\t'p {margin:5px 0;}',\r\n\t\t'table {border-collapse:collapse;}',\r\n\t\t'img {border:0;}',\r\n\t\t'noscript {display:none;}',\r\n\t\t'table.ke-zeroborder td {border:1px dotted #AAA;}',\r\n\t\t'img.ke-flash {',\r\n\t\t'\tborder:1px solid #AAA;',\r\n\t\t'\tbackground-image:url(' + themesPath + 'common/flash.gif);',\r\n\t\t'\tbackground-position:center center;',\r\n\t\t'\tbackground-repeat:no-repeat;',\r\n\t\t'\twidth:100px;',\r\n\t\t'\theight:100px;',\r\n\t\t'}',\r\n\t\t'img.ke-rm {',\r\n\t\t'\tborder:1px solid #AAA;',\r\n\t\t'\tbackground-image:url(' + themesPath + 'common/rm.gif);',\r\n\t\t'\tbackground-position:center center;',\r\n\t\t'\tbackground-repeat:no-repeat;',\r\n\t\t'\twidth:100px;',\r\n\t\t'\theight:100px;',\r\n\t\t'}',\r\n\t\t'img.ke-media {',\r\n\t\t'\tborder:1px solid #AAA;',\r\n\t\t'\tbackground-image:url(' + themesPath + 'common/media.gif);',\r\n\t\t'\tbackground-position:center center;',\r\n\t\t'\tbackground-repeat:no-repeat;',\r\n\t\t'\twidth:100px;',\r\n\t\t'\theight:100px;',\r\n\t\t'}',\r\n\t\t'img.ke-anchor {',\r\n\t\t'\tborder:1px dashed #666;',\r\n\t\t'\twidth:16px;',\r\n\t\t'\theight:16px;',\r\n\t\t'}',\r\n\t\t'.ke-script, .ke-noscript, .ke-display-none {',\r\n\t\t'\tdisplay:none;',\r\n\t\t'\tfont-size:0;',\r\n\t\t'\twidth:0;',\r\n\t\t'\theight:0;',\r\n\t\t'}',\r\n\t\t'.ke-pagebreak {',\r\n\t\t'\tborder:1px dotted #AAA;',\r\n\t\t'\tfont-size:0;',\r\n\t\t'\theight:2px;',\r\n\t\t'}',\r\n\t\t'</style>'\r\n\t];\r\n\tif (!_isArray(cssPath)) {\r\n\t\tcssPath = [cssPath];\r\n\t}\r\n\t_each(cssPath, function(i, path) {\r\n\t\tif (path) {\r\n\t\t\tarr.push('<link href=\"' + path + '\" rel=\"stylesheet\" />');\r\n\t\t}\r\n\t});\r\n\tif (cssData) {\r\n\t\tarr.push('<style>' + cssData + '</style>');\r\n\t}\r\n\tarr.push('</head><body ' + (bodyClass ? 'class=\"' + bodyClass + '\"' : '') + '></body></html>');\r\n\treturn arr.join('\\n');\r\n}\r\nfunction _elementVal(knode, val) {\r\n\tif (knode.hasVal()) {\r\n\t\tif (val === undefined) {\r\n\t\t\tvar html = knode.val();\r\n\t\t\thtml = html.replace(/(<(?:p|p\\s[^>]*)>) *(<\\/p>)/ig, '');\r\n\t\t\treturn html;\r\n\t\t}\r\n\t\treturn knode.val(val);\r\n\t}\r\n\treturn knode.html(val);\r\n}\r\nfunction KEdit(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KEdit, KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\tKEdit.parent.init.call(self, options);\r\n\t\tself.srcElement = K(options.srcElement);\r\n\t\tself.div.addClass('ke-edit');\r\n\t\tself.designMode = _undef(options.designMode, true);\r\n\t\tself.beforeGetHtml = options.beforeGetHtml;\r\n\t\tself.beforeSetHtml = options.beforeSetHtml;\r\n\t\tself.afterSetHtml = options.afterSetHtml;\r\n\t\tvar themesPath = _undef(options.themesPath, ''),\r\n\t\t\tbodyClass = options.bodyClass,\r\n\t\t\tcssPath = options.cssPath,\r\n\t\t\tcssData = options.cssData,\r\n\t\t\tisDocumentDomain = location.protocol != 'res:' && location.host.replace(/:\\d+/, '') !== document.domain,\r\n\t\t\tsrcScript = ('document.open();' +\r\n\t\t\t\t(isDocumentDomain ? 'document.domain=\"' + document.domain + '\";' : '') +\r\n\t\t\t\t'document.close();'),\r\n\t\t\tiframeSrc = _IE ? ' src=\"javascript:void(function(){' + encodeURIComponent(srcScript) + '}())\"' : '';\r\n\t\tself.iframe = K('<iframe class=\"ke-edit-iframe\" hidefocus=\"true\" frameborder=\"0\"' + iframeSrc + '></iframe>').css('width', '100%');\r\n\t\tself.textarea = K('<textarea class=\"ke-edit-textarea\" hidefocus=\"true\"></textarea>').css('width', '100%');\r\n\t\tself.tabIndex = isNaN(parseInt(options.tabIndex, 10)) ? self.srcElement.attr('tabindex') : parseInt(options.tabIndex, 10);\r\n\t\tself.iframe.attr('tabindex', self.tabIndex);\r\n\t\tself.textarea.attr('tabindex', self.tabIndex);\r\n\t\tif (self.width) {\r\n\t\t\tself.setWidth(self.width);\r\n\t\t}\r\n\t\tif (self.height) {\r\n\t\t\tself.setHeight(self.height);\r\n\t\t}\r\n\t\tif (self.designMode) {\r\n\t\t\tself.textarea.hide();\r\n\t\t} else {\r\n\t\t\tself.iframe.hide();\r\n\t\t}\r\n\t\tfunction ready() {\r\n\t\t\tvar doc = _iframeDoc(self.iframe);\r\n\t\t\tdoc.open();\r\n\t\t\tif (isDocumentDomain) {\r\n\t\t\t\tdoc.domain = document.domain;\r\n\t\t\t}\r\n\t\t\tdoc.write(_getInitHtml(themesPath, bodyClass, cssPath, cssData));\r\n\t\t\tdoc.close();\r\n\t\t\tself.win = self.iframe[0].contentWindow;\r\n\t\t\tself.doc = doc;\r\n\t\t\tvar cmd = _cmd(doc);\r\n\t\t\tself.afterChange(function(e) {\r\n\t\t\t\tcmd.selection();\r\n\t\t\t});\r\n\t\t\tif (_WEBKIT) {\r\n\t\t\t\tK(doc).click(function(e) {\r\n\t\t\t\t\tif (K(e.target).name === 'img') {\r\n\t\t\t\t\t\tcmd.selection(true);\r\n\t\t\t\t\t\tcmd.range.selectNode(e.target);\r\n\t\t\t\t\t\tcmd.select();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (_IE) {\r\n\t\t\t\tself._mousedownHandler = function() {\r\n\t\t\t\t\tvar newRange = cmd.range.cloneRange();\r\n\t\t\t\t\tnewRange.shrink();\r\n\t\t\t\t\tif (newRange.isControl()) {\r\n\t\t\t\t\t\tself.blur();\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t\tK(document).mousedown(self._mousedownHandler);\r\n\t\t\t\tK(doc).keydown(function(e) {\r\n\t\t\t\t\tif (e.which == 8) {\r\n\t\t\t\t\t\tcmd.selection();\r\n\t\t\t\t\t\tvar rng = cmd.range;\r\n\t\t\t\t\t\tif (rng.isControl()) {\r\n\t\t\t\t\t\t\trng.collapse(true);\r\n\t\t\t\t\t\t\tK(rng.startContainer.childNodes[rng.startOffset]).remove();\r\n\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tself.cmd = cmd;\r\n\t\t\tself.html(_elementVal(self.srcElement));\r\n\t\t\tif (_IE) {\r\n\t\t\t\tdoc.body.disabled = true;\r\n\t\t\t\tdoc.body.contentEditable = true;\r\n\t\t\t\tdoc.body.removeAttribute('disabled');\r\n\t\t\t} else {\r\n\t\t\t\tdoc.designMode = 'on';\r\n\t\t\t}\r\n\t\t\tif (options.afterCreate) {\r\n\t\t\t\toptions.afterCreate.call(self);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (isDocumentDomain) {\r\n\t\t\tself.iframe.bind('load', function(e) {\r\n\t\t\t\tself.iframe.unbind('load');\r\n\t\t\t\tif (_IE) {\r\n\t\t\t\t\tready();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetTimeout(ready, 0);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tself.div.append(self.iframe);\r\n\t\tself.div.append(self.textarea);\r\n\t\tself.srcElement.hide();\r\n\t\t!isDocumentDomain && ready();\r\n\t},\r\n\tsetWidth : function(val) {\r\n\t\tvar self = this;\r\n\t\tval = _addUnit(val);\r\n\t\tself.width = val;\r\n\t\tself.div.css('width', val);\r\n\t\treturn self;\r\n\t},\r\n\tsetHeight : function(val) {\r\n\t\tvar self = this;\r\n\t\tval = _addUnit(val);\r\n\t\tself.height = val;\r\n\t\tself.div.css('height', val);\r\n\t\tself.iframe.css('height', val);\r\n\t\tif ((_IE && _V < 8) || _QUIRKS) {\r\n\t\t\tval = _addUnit(_removeUnit(val) - 2);\r\n\t\t}\r\n\t\tself.textarea.css('height', val);\r\n\t\treturn self;\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this, doc = self.doc;\r\n\t\tK(doc.body).unbind();\r\n\t\tK(doc).unbind();\r\n\t\tK(self.win).unbind();\r\n\t\tif (self._mousedownHandler) {\r\n\t\t\tK(document).unbind('mousedown', self._mousedownHandler);\r\n\t\t}\r\n\t\t_elementVal(self.srcElement, self.html());\r\n\t\tself.srcElement.show();\r\n\t\tdoc.write('');\r\n\t\tself.iframe.unbind();\r\n\t\tself.textarea.unbind();\r\n\t\tKEdit.parent.remove.call(self);\r\n\t},\r\n\thtml : function(val, isFull) {\r\n\t\tvar self = this, doc = self.doc;\r\n\t\tif (self.designMode) {\r\n\t\t\tvar body = doc.body;\r\n\t\t\tif (val === undefined) {\r\n\t\t\t\tif (isFull) {\r\n\t\t\t\t\tval = '<!doctype html><html>' + body.parentNode.innerHTML + '</html>';\r\n\t\t\t\t} else {\r\n\t\t\t\t\tval = body.innerHTML;\r\n\t\t\t\t}\r\n\t\t\t\tif (self.beforeGetHtml) {\r\n\t\t\t\t\tval = self.beforeGetHtml(val);\r\n\t\t\t\t}\r\n\t\t\t\tif (_GECKO && val == '<br />') {\r\n\t\t\t\t\tval = '';\r\n\t\t\t\t}\r\n\t\t\t\treturn val;\r\n\t\t\t}\r\n\t\t\tif (self.beforeSetHtml) {\r\n\t\t\t\tval = self.beforeSetHtml(val);\r\n\t\t\t}\r\n\t\t\tif (_IE && _V >= 9) {\r\n\t\t\t\tval = val.replace(/(<.*?checked=\")checked(\".*>)/ig, '$1$2');\r\n\t\t\t}\r\n\t\t\tK(body).html(val);\r\n\t\t\tif (self.afterSetHtml) {\r\n\t\t\t\tself.afterSetHtml();\r\n\t\t\t}\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (val === undefined) {\r\n\t\t\treturn self.textarea.val();\r\n\t\t}\r\n\t\tself.textarea.val(val);\r\n\t\treturn self;\r\n\t},\r\n\tdesign : function(bool) {\r\n\t\tvar self = this, val;\r\n\t\tif (bool === undefined ? !self.designMode : bool) {\r\n\t\t\tif (!self.designMode) {\r\n\t\t\t\tval = self.html();\r\n\t\t\t\tself.designMode = true;\r\n\t\t\t\tself.html(val);\r\n\t\t\t\tself.textarea.hide();\r\n\t\t\t\tself.iframe.show();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (self.designMode) {\r\n\t\t\t\tval = self.html();\r\n\t\t\t\tself.designMode = false;\r\n\t\t\t\tself.html(val);\r\n\t\t\t\tself.iframe.hide();\r\n\t\t\t\tself.textarea.show();\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self.focus();\r\n\t},\r\n\tfocus : function() {\r\n\t\tvar self = this;\r\n\t\tself.designMode ? self.win.focus() : self.textarea[0].focus();\r\n\t\treturn self;\r\n\t},\r\n\tblur : function() {\r\n\t\tvar self = this;\r\n\t\tif (_IE) {\r\n\t\t\tvar input = K('<input type=\"text\" style=\"float:left;width:0;height:0;padding:0;margin:0;border:0;\" value=\"\" />', self.div);\r\n\t\t\tself.div.append(input);\r\n\t\t\tinput[0].focus();\r\n\t\t\tinput.remove();\r\n\t\t} else {\r\n\t\t\tself.designMode ? self.win.blur() : self.textarea[0].blur();\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tafterChange : function(fn) {\r\n\t\tvar self = this, doc = self.doc, body = doc.body;\r\n\t\tK(doc).keyup(function(e) {\r\n\t\t\tif (!e.ctrlKey && !e.altKey && _CHANGE_KEY_MAP[e.which]) {\r\n\t\t\t\tfn(e);\r\n\t\t\t}\r\n\t\t});\r\n\t\tK(doc).mouseup(fn).contextmenu(fn);\r\n\t\tK(self.win).blur(fn);\r\n\t\tfunction timeoutHandler(e) {\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\tfn(e);\r\n\t\t\t}, 1);\r\n\t\t}\r\n\t\tK(body).bind('paste', timeoutHandler);\r\n\t\tK(body).bind('cut', timeoutHandler);\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _edit(options) {\r\n\treturn new KEdit(options);\r\n}\r\nK.EditClass = KEdit;\r\nK.edit = _edit;\r\nK.iframeDoc = _iframeDoc;\r\nfunction _selectToolbar(name, fn) {\r\n\tvar self = this,\r\n\t\tknode = self.get(name);\r\n\tif (knode) {\r\n\t\tif (knode.hasClass('ke-disabled')) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tfn(knode);\r\n\t}\r\n}\r\nfunction KToolbar(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KToolbar, KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\tKToolbar.parent.init.call(self, options);\r\n\t\tself.disableMode = _undef(options.disableMode, false);\r\n\t\tself.noDisableItemMap = _toMap(_undef(options.noDisableItems, []));\r\n\t\tself._itemMap = {};\r\n\t\tself.div.addClass('ke-toolbar').bind('contextmenu,mousedown,mousemove', function(e) {\r\n\t\t\te.preventDefault();\r\n\t\t}).attr('unselectable', 'on');\r\n\t\tfunction find(target) {\r\n\t\t\tvar knode = K(target);\r\n\t\t\tif (knode.hasClass('ke-outline')) {\r\n\t\t\t\treturn knode;\r\n\t\t\t}\r\n\t\t\tif (knode.hasClass('ke-toolbar-icon')) {\r\n\t\t\t\treturn knode.parent();\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction hover(e, method) {\r\n\t\t\tvar knode = find(e.target);\r\n\t\t\tif (knode) {\r\n\t\t\t\tif (knode.hasClass('ke-disabled')) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (knode.hasClass('ke-selected')) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tknode[method]('ke-on');\r\n\t\t\t}\r\n\t\t}\r\n\t\tself.div.mouseover(function(e) {\r\n\t\t\thover(e, 'addClass');\r\n\t\t})\r\n\t\t.mouseout(function(e) {\r\n\t\t\thover(e, 'removeClass');\r\n\t\t})\r\n\t\t.click(function(e) {\r\n\t\t\tvar knode = find(e.target);\r\n\t\t\tif (knode) {\r\n\t\t\t\tif (knode.hasClass('ke-disabled')) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tself.options.click.call(this, e, knode.attr('data-name'));\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\tget : function(name) {\r\n\t\tif (this._itemMap[name]) {\r\n\t\t\treturn this._itemMap[name];\r\n\t\t}\r\n\t\treturn (this._itemMap[name] = K('span.ke-icon-' + name, this.div).parent());\r\n\t},\r\n\tselect : function(name) {\r\n\t\t_selectToolbar.call(this, name, function(knode) {\r\n\t\t\tknode.addClass('ke-selected');\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tunselect : function(name) {\r\n\t\t_selectToolbar.call(this, name, function(knode) {\r\n\t\t\tknode.removeClass('ke-selected').removeClass('ke-on');\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tenable : function(name) {\r\n\t\tvar self = this,\r\n\t\t\tknode = name.get ? name : self.get(name);\r\n\t\tif (knode) {\r\n\t\t\tknode.removeClass('ke-disabled');\r\n\t\t\tknode.opacity(1);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tdisable : function(name) {\r\n\t\tvar self = this,\r\n\t\t\tknode = name.get ? name : self.get(name);\r\n\t\tif (knode) {\r\n\t\t\tknode.removeClass('ke-selected').addClass('ke-disabled');\r\n\t\t\tknode.opacity(0.5);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tdisableAll : function(bool, noDisableItems) {\r\n\t\tvar self = this, map = self.noDisableItemMap, item;\r\n\t\tif (noDisableItems) {\r\n\t\t\tmap = _toMap(noDisableItems);\r\n\t\t}\r\n\t\tif (bool === undefined ? !self.disableMode : bool) {\r\n\t\t\tK('span.ke-outline', self.div).each(function() {\r\n\t\t\t\tvar knode = K(this),\r\n\t\t\t\t\tname = knode[0].getAttribute('data-name', 2);\r\n\t\t\t\tif (!map[name]) {\r\n\t\t\t\t\tself.disable(knode);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tself.disableMode = true;\r\n\t\t} else {\r\n\t\t\tK('span.ke-outline', self.div).each(function() {\r\n\t\t\t\tvar knode = K(this),\r\n\t\t\t\t\tname = knode[0].getAttribute('data-name', 2);\r\n\t\t\t\tif (!map[name]) {\r\n\t\t\t\t\tself.enable(knode);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tself.disableMode = false;\r\n\t\t}\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _toolbar(options) {\r\n\treturn new KToolbar(options);\r\n}\r\nK.ToolbarClass = KToolbar;\r\nK.toolbar = _toolbar;\r\nfunction KMenu(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KMenu, KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\toptions.z = options.z || 811213;\r\n\t\tKMenu.parent.init.call(self, options);\r\n\t\tself.centerLineMode = _undef(options.centerLineMode, true);\r\n\t\tself.div.addClass('ke-menu').bind('click,mousedown', function(e){\r\n\t\t\te.stopPropagation();\r\n\t\t}).attr('unselectable', 'on');\r\n\t},\r\n\taddItem : function(item) {\r\n\t\tvar self = this;\r\n\t\tif (item.title === '-') {\r\n\t\t\tself.div.append(K('<div class=\"ke-menu-separator\"></div>'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar itemDiv = K('<div class=\"ke-menu-item\" unselectable=\"on\"></div>'),\r\n\t\t\tleftDiv = K('<div class=\"ke-inline-block ke-menu-item-left\"></div>'),\r\n\t\t\trightDiv = K('<div class=\"ke-inline-block ke-menu-item-right\"></div>'),\r\n\t\t\theight = _addUnit(item.height),\r\n\t\t\ticonClass = _undef(item.iconClass, '');\r\n\t\tself.div.append(itemDiv);\r\n\t\tif (height) {\r\n\t\t\titemDiv.css('height', height);\r\n\t\t\trightDiv.css('line-height', height);\r\n\t\t}\r\n\t\tvar centerDiv;\r\n\t\tif (self.centerLineMode) {\r\n\t\t\tcenterDiv = K('<div class=\"ke-inline-block ke-menu-item-center\"></div>');\r\n\t\t\tif (height) {\r\n\t\t\t\tcenterDiv.css('height', height);\r\n\t\t\t}\r\n\t\t}\r\n\t\titemDiv.mouseover(function(e) {\r\n\t\t\tK(this).addClass('ke-menu-item-on');\r\n\t\t\tif (centerDiv) {\r\n\t\t\t\tcenterDiv.addClass('ke-menu-item-center-on');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.mouseout(function(e) {\r\n\t\t\tK(this).removeClass('ke-menu-item-on');\r\n\t\t\tif (centerDiv) {\r\n\t\t\t\tcenterDiv.removeClass('ke-menu-item-center-on');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.click(function(e) {\r\n\t\t\titem.click.call(K(this));\r\n\t\t\te.stopPropagation();\r\n\t\t})\r\n\t\t.append(leftDiv);\r\n\t\tif (centerDiv) {\r\n\t\t\titemDiv.append(centerDiv);\r\n\t\t}\r\n\t\titemDiv.append(rightDiv);\r\n\t\tif (item.checked) {\r\n\t\t\ticonClass = 'ke-icon-checked';\r\n\t\t}\r\n\t\tif (iconClass !== '') {\r\n\t\t\tleftDiv.html('<span class=\"ke-inline-block ke-toolbar-icon ke-toolbar-icon-url ' + iconClass + '\"></span>');\r\n\t\t}\r\n\t\trightDiv.html(item.title);\r\n\t\treturn self;\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.options.beforeRemove) {\r\n\t\t\tself.options.beforeRemove.call(self);\r\n\t\t}\r\n\t\tK('.ke-menu-item', self.div[0]).unbind();\r\n\t\tKMenu.parent.remove.call(self);\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _menu(options) {\r\n\treturn new KMenu(options);\r\n}\r\nK.MenuClass = KMenu;\r\nK.menu = _menu;\r\nfunction KColorPicker(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KColorPicker, KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\toptions.z = options.z || 811213;\r\n\t\tKColorPicker.parent.init.call(self, options);\r\n\t\tvar colors = options.colors || [\r\n\t\t\t['#E53333', '#E56600', '#FF9900', '#64451D', '#DFC5A4', '#FFE500'],\r\n\t\t\t['#009900', '#006600', '#99BB00', '#B8D100', '#60D978', '#00D5FF'],\r\n\t\t\t['#337FE5', '#003399', '#4C33E5', '#9933E5', '#CC33E5', '#EE33EE'],\r\n\t\t\t['#FFFFFF', '#CCCCCC', '#999999', '#666666', '#333333', '#000000']\r\n\t\t];\r\n\t\tself.selectedColor = (options.selectedColor || '').toLowerCase();\r\n\t\tself._cells = [];\r\n\t\tself.div.addClass('ke-colorpicker').bind('click,mousedown', function(e){\r\n\t\t\te.stopPropagation();\r\n\t\t}).attr('unselectable', 'on');\r\n\t\tvar table = self.doc.createElement('table');\r\n\t\tself.div.append(table);\r\n\t\ttable.className = 'ke-colorpicker-table';\r\n\t\ttable.cellPadding = 0;\r\n\t\ttable.cellSpacing = 0;\r\n\t\ttable.border = 0;\r\n\t\tvar row = table.insertRow(0), cell = row.insertCell(0);\r\n\t\tcell.colSpan = colors[0].length;\r\n\t\tself._addAttr(cell, '', 'ke-colorpicker-cell-top');\r\n\t\tfor (var i = 0; i < colors.length; i++) {\r\n\t\t\trow = table.insertRow(i + 1);\r\n\t\t\tfor (var j = 0; j < colors[i].length; j++) {\r\n\t\t\t\tcell = row.insertCell(j);\r\n\t\t\t\tself._addAttr(cell, colors[i][j], 'ke-colorpicker-cell');\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t_addAttr : function(cell, color, cls) {\r\n\t\tvar self = this;\r\n\t\tcell = K(cell).addClass(cls);\r\n\t\tif (self.selectedColor === color.toLowerCase()) {\r\n\t\t\tcell.addClass('ke-colorpicker-cell-selected');\r\n\t\t}\r\n\t\tcell.attr('title', color || self.options.noColor);\r\n\t\tcell.mouseover(function(e) {\r\n\t\t\tK(this).addClass('ke-colorpicker-cell-on');\r\n\t\t});\r\n\t\tcell.mouseout(function(e) {\r\n\t\t\tK(this).removeClass('ke-colorpicker-cell-on');\r\n\t\t});\r\n\t\tcell.click(function(e) {\r\n\t\t\te.stop();\r\n\t\t\tself.options.click.call(K(this), color);\r\n\t\t});\r\n\t\tif (color) {\r\n\t\t\tcell.append(K('<div class=\"ke-colorpicker-cell-color\" unselectable=\"on\"></div>').css('background-color', color));\r\n\t\t} else {\r\n\t\t\tcell.html(self.options.noColor);\r\n\t\t}\r\n\t\tK(cell).attr('unselectable', 'on');\r\n\t\tself._cells.push(cell);\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\t_each(self._cells, function() {\r\n\t\t\tthis.unbind();\r\n\t\t});\r\n\t\tKColorPicker.parent.remove.call(self);\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _colorpicker(options) {\r\n\treturn new KColorPicker(options);\r\n}\r\nK.ColorPickerClass = KColorPicker;\r\nK.colorpicker = _colorpicker;\r\nfunction KUploadButton(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KUploadButton, {\r\n\tinit : function(options) {\r\n\t\tvar self = this,\r\n\t\t\tbutton = K(options.button),\r\n\t\t\tfieldName = options.fieldName || 'file',\r\n\t\t\turl = options.url || '',\r\n\t\t\ttitle = button.val(),\r\n\t\t\textraParams = options.extraParams || {},\r\n\t\t\tcls = button[0].className || '',\r\n\t\t\ttarget = options.target || 'kindeditor_upload_iframe_' + new Date().getTime();\r\n\t\toptions.afterError = options.afterError || function(str) {\r\n\t\t\talert(str);\r\n\t\t};\r\n\t\tvar hiddenElements = [];\r\n\t\tfor(var k in extraParams){\r\n\t\t\thiddenElements.push('<input type=\"hidden\" name=\"' + k + '\" value=\"' + extraParams[k] + '\" />');\r\n\t\t}\r\n\t\tvar html = [\r\n\t\t\t'<div class=\"ke-inline-block ' + cls + '\">',\r\n\t\t\t(options.target ? '' : '<iframe name=\"' + target + '\" style=\"display:none;\"></iframe>'),\r\n\t\t\t(options.form ? '<div class=\"ke-upload-area\">' : '<form class=\"ke-upload-area ke-form\" method=\"post\" enctype=\"multipart/form-data\" target=\"' + target + '\" action=\"' + url + '\">'),\r\n\t\t\t'<span class=\"ke-button-common\">',\r\n\t\t\thiddenElements.join(''),\r\n\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" value=\"' + title + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'<input type=\"file\" class=\"ke-upload-file\" name=\"' + fieldName + '\" tabindex=\"-1\" />',\r\n\t\t\t(options.form ? '</div>' : '</form>'),\r\n\t\t\t'</div>'].join('');\r\n\t\tvar div = K(html, button.doc);\r\n\t\tbutton.hide();\r\n\t\tbutton.before(div);\r\n\t\tself.div = div;\r\n\t\tself.button = button;\r\n\t\tself.iframe = options.target ? K('iframe[name=\"' + target + '\"]') : K('iframe', div);\r\n\t\tself.form = options.form ? K(options.form) : K('form', div);\r\n\t\tself.fileBox = K('.ke-upload-file', div);\r\n\t\tvar width = options.width || K('.ke-button-common', div).width();\r\n\t\tK('.ke-upload-area', div).width(width);\r\n\t\tself.options = options;\r\n\t},\r\n\tsubmit : function() {\r\n\t\tvar self = this,\r\n\t\t\tiframe = self.iframe;\r\n\t\tiframe.bind('load', function() {\r\n\t\t\tiframe.unbind();\r\n\t\t\tvar tempForm = document.createElement('form');\r\n\t\t\tself.fileBox.before(tempForm);\r\n\t\t\tK(tempForm).append(self.fileBox);\r\n\t\t\ttempForm.reset();\r\n\t\t\tK(tempForm).remove(true);\r\n\t\t\tvar doc = K.iframeDoc(iframe),\r\n\t\t\t\tpre = doc.getElementsByTagName('pre')[0],\r\n\t\t\t\tstr = '', data;\r\n\t\t\tif (pre) {\r\n\t\t\t\tstr = pre.innerHTML;\r\n\t\t\t} else {\r\n\t\t\t\tstr = doc.body.innerHTML;\r\n\t\t\t}\r\n\t\t\tstr = _unescape(str);\r\n\t\t\tiframe[0].src = 'javascript:false';\r\n\t\t\ttry {\r\n\t\t\t\tdata = K.json(str);\r\n\t\t\t} catch (e) {\r\n\t\t\t\tself.options.afterError.call(self, '<!doctype html><html>' + doc.body.parentNode.innerHTML + '</html>');\r\n\t\t\t}\r\n\t\t\tif (data) {\r\n\t\t\t\tself.options.afterUpload.call(self, data);\r\n\t\t\t}\r\n\t\t});\r\n\t\tself.form[0].submit();\r\n\t\treturn self;\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.fileBox) {\r\n\t\t\tself.fileBox.unbind();\r\n\t\t}\r\n\t\tself.iframe.remove();\r\n\t\tself.div.remove();\r\n\t\tself.button.show();\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _uploadbutton(options) {\r\n\treturn new KUploadButton(options);\r\n}\r\nK.UploadButtonClass = KUploadButton;\r\nK.uploadbutton = _uploadbutton;\r\nfunction _createButton(arg) {\r\n\targ = arg || {};\r\n\tvar name = arg.name || '',\r\n\t\tspan = K('<span class=\"ke-button-common ke-button-outer\" title=\"' + name + '\"></span>'),\r\n\t\tbtn = K('<input class=\"ke-button-common ke-button\" type=\"button\" value=\"' + name + '\" />');\r\n\tif (arg.click) {\r\n\t\tbtn.click(arg.click);\r\n\t}\r\n\tspan.append(btn);\r\n\treturn span;\r\n}\r\nfunction KDialog(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KDialog, KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\tvar shadowMode = _undef(options.shadowMode, true);\r\n\t\toptions.z = options.z || 811213;\r\n\t\toptions.shadowMode = false;\r\n\t\toptions.autoScroll = _undef(options.autoScroll, true);\r\n\t\tKDialog.parent.init.call(self, options);\r\n\t\tvar title = options.title,\r\n\t\t\tbody = K(options.body, self.doc),\r\n\t\t\tpreviewBtn = options.previewBtn,\r\n\t\t\tyesBtn = options.yesBtn,\r\n\t\t\tnoBtn = options.noBtn,\r\n\t\t\tcloseBtn = options.closeBtn,\r\n\t\t\tshowMask = _undef(options.showMask, true);\r\n\t\tself.div.addClass('ke-dialog').bind('click,mousedown', function(e){\r\n\t\t\te.stopPropagation();\r\n\t\t});\r\n\t\tvar contentDiv = K('<div class=\"ke-dialog-content\"></div>').appendTo(self.div);\r\n\t\tif (_IE && _V < 7) {\r\n\t\t\tself.iframeMask = K('<iframe src=\"about:blank\" class=\"ke-dialog-shadow\"></iframe>').appendTo(self.div);\r\n\t\t} else if (shadowMode) {\r\n\t\t\tK('<div class=\"ke-dialog-shadow\"></div>').appendTo(self.div);\r\n\t\t}\r\n\t\tvar headerDiv = K('<div class=\"ke-dialog-header\"></div>');\r\n\t\tcontentDiv.append(headerDiv);\r\n\t\theaderDiv.html(title);\r\n\t\tself.closeIcon = K('<span class=\"ke-dialog-icon-close\" title=\"' + closeBtn.name + '\"></span>').click(closeBtn.click);\r\n\t\theaderDiv.append(self.closeIcon);\r\n\t\tself.draggable({\r\n\t\t\tclickEl : headerDiv,\r\n\t\t\tbeforeDrag : options.beforeDrag\r\n\t\t});\r\n\t\tvar bodyDiv = K('<div class=\"ke-dialog-body\"></div>');\r\n\t\tcontentDiv.append(bodyDiv);\r\n\t\tbodyDiv.append(body);\r\n\t\tvar footerDiv = K('<div class=\"ke-dialog-footer\"></div>');\r\n\t\tif (previewBtn || yesBtn || noBtn) {\r\n\t\t\tcontentDiv.append(footerDiv);\r\n\t\t}\r\n\t\t_each([\r\n\t\t\t{ btn : previewBtn, name : 'preview' },\r\n\t\t\t{ btn : yesBtn, name : 'yes' },\r\n\t\t\t{ btn : noBtn, name : 'no' }\r\n\t\t], function() {\r\n\t\t\tif (this.btn) {\r\n\t\t\t\tvar button = _createButton(this.btn);\r\n\t\t\t\tbutton.addClass('ke-dialog-' + this.name);\r\n\t\t\t\tfooterDiv.append(button);\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (self.height) {\r\n\t\t\tbodyDiv.height(_removeUnit(self.height) - headerDiv.height() - footerDiv.height());\r\n\t\t}\r\n\t\tself.div.width(self.div.width());\r\n\t\tself.div.height(self.div.height());\r\n\t\tself.mask = null;\r\n\t\tif (showMask) {\r\n\t\t\tvar docEl = _docElement(self.doc),\r\n\t\t\t\tdocWidth = Math.max(docEl.scrollWidth, docEl.clientWidth),\r\n\t\t\t\tdocHeight = Math.max(docEl.scrollHeight, docEl.clientHeight);\r\n\t\t\tself.mask = _widget({\r\n\t\t\t\tx : 0,\r\n\t\t\t\ty : 0,\r\n\t\t\t\tz : self.z - 1,\r\n\t\t\t\tcls : 'ke-dialog-mask',\r\n\t\t\t\twidth : docWidth,\r\n\t\t\t\theight : docHeight\r\n\t\t\t});\r\n\t\t}\r\n\t\tself.autoPos(self.div.width(), self.div.height());\r\n\t\tself.footerDiv = footerDiv;\r\n\t\tself.bodyDiv = bodyDiv;\r\n\t\tself.headerDiv = headerDiv;\r\n\t\tself.isLoading = false;\r\n\t},\r\n\tsetMaskIndex : function(z) {\r\n\t\tvar self = this;\r\n\t\tself.mask.div.css('z-index', z);\r\n\t},\r\n\tshowLoading : function(msg) {\r\n\t\tmsg = _undef(msg, '');\r\n\t\tvar self = this, body = self.bodyDiv;\r\n\t\tself.loading = K('<div class=\"ke-dialog-loading\"><div class=\"ke-inline-block ke-dialog-loading-content\" style=\"margin-top:' + Math.round(body.height() / 3) + 'px;\">' + msg + '</div></div>')\r\n\t\t\t.width(body.width()).height(body.height())\r\n\t\t\t.css('top', self.headerDiv.height() + 'px');\r\n\t\tbody.css('visibility', 'hidden').after(self.loading);\r\n\t\tself.isLoading = true;\r\n\t\treturn self;\r\n\t},\r\n\thideLoading : function() {\r\n\t\tthis.loading && this.loading.remove();\r\n\t\tthis.bodyDiv.css('visibility', 'visible');\r\n\t\tthis.isLoading = false;\r\n\t\treturn this;\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.options.beforeRemove) {\r\n\t\t\tself.options.beforeRemove.call(self);\r\n\t\t}\r\n\t\tself.mask && self.mask.remove();\r\n\t\tself.iframeMask && self.iframeMask.remove();\r\n\t\tself.closeIcon.unbind();\r\n\t\tK('input', self.div).unbind();\r\n\t\tK('button', self.div).unbind();\r\n\t\tself.footerDiv.unbind();\r\n\t\tself.bodyDiv.unbind();\r\n\t\tself.headerDiv.unbind();\r\n\t\tK('iframe', self.div).each(function() {\r\n\t\t\tK(this).remove();\r\n\t\t});\r\n\t\tKDialog.parent.remove.call(self);\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _dialog(options) {\r\n\treturn new KDialog(options);\r\n}\r\nK.DialogClass = KDialog;\r\nK.dialog = _dialog;\r\nfunction _tabs(options) {\r\n\tvar self = _widget(options),\r\n\t\tremove = self.remove,\r\n\t\tafterSelect = options.afterSelect,\r\n\t\tdiv = self.div,\r\n\t\tliList = [];\r\n\tdiv.addClass('ke-tabs')\r\n\t\t.bind('contextmenu,mousedown,mousemove', function(e) {\r\n\t\t\te.preventDefault();\r\n\t\t});\r\n\tvar ul = K('<ul class=\"ke-tabs-ul ke-clearfix\"></ul>');\r\n\tdiv.append(ul);\r\n\tself.add = function(tab) {\r\n\t\tvar li = K('<li class=\"ke-tabs-li\">' + tab.title + '</li>');\r\n\t\tli.data('tab', tab);\r\n\t\tliList.push(li);\r\n\t\tul.append(li);\r\n\t};\r\n\tself.selectedIndex = 0;\r\n\tself.select = function(index) {\r\n\t\tself.selectedIndex = index;\r\n\t\t_each(liList, function(i, li) {\r\n\t\t\tli.unbind();\r\n\t\t\tif (i === index) {\r\n\t\t\t\tli.addClass('ke-tabs-li-selected');\r\n\t\t\t\tK(li.data('tab').panel).show('');\r\n\t\t\t} else {\r\n\t\t\t\tli.removeClass('ke-tabs-li-selected').removeClass('ke-tabs-li-on')\r\n\t\t\t\t.mouseover(function() {\r\n\t\t\t\t\tK(this).addClass('ke-tabs-li-on');\r\n\t\t\t\t})\r\n\t\t\t\t.mouseout(function() {\r\n\t\t\t\t\tK(this).removeClass('ke-tabs-li-on');\r\n\t\t\t\t})\r\n\t\t\t\t.click(function() {\r\n\t\t\t\t\tself.select(i);\r\n\t\t\t\t});\r\n\t\t\t\tK(li.data('tab').panel).hide();\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (afterSelect) {\r\n\t\t\tafterSelect.call(self, index);\r\n\t\t}\r\n\t};\r\n\tself.remove = function() {\r\n\t\t_each(liList, function() {\r\n\t\t\tthis.remove();\r\n\t\t});\r\n\t\tul.remove();\r\n\t\tremove.call(self);\r\n\t};\r\n\treturn self;\r\n}\r\nK.tabs = _tabs;\r\nfunction _loadScript(url, fn) {\r\n\tvar head = document.getElementsByTagName('head')[0] || (_QUIRKS ? document.body : document.documentElement),\r\n\t\tscript = document.createElement('script');\r\n\thead.appendChild(script);\r\n\tscript.src = url;\r\n\tscript.charset = 'utf-8';\r\n\tscript.onload = script.onreadystatechange = function() {\r\n\t\tif (!this.readyState || this.readyState === 'loaded') {\r\n\t\t\tif (fn) {\r\n\t\t\t\tfn();\r\n\t\t\t}\r\n\t\t\tscript.onload = script.onreadystatechange = null;\r\n\t\t\thead.removeChild(script);\r\n\t\t}\r\n\t};\r\n}\r\nfunction _chopQuery(url) {\r\n\tvar index = url.indexOf('?');\r\n\treturn index > 0 ? url.substr(0, index) : url;\r\n}\r\nfunction _loadStyle(url) {\r\n\tvar head = document.getElementsByTagName('head')[0] || (_QUIRKS ? document.body : document.documentElement),\r\n\t\tlink = document.createElement('link'),\r\n\t\tabsoluteUrl = _chopQuery(_formatUrl(url, 'absolute'));\r\n\tvar links = K('link[rel=\"stylesheet\"]', head);\r\n\tfor (var i = 0, len = links.length; i < len; i++) {\r\n\t\tif (_chopQuery(_formatUrl(links[i].href, 'absolute')) === absoluteUrl) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\thead.appendChild(link);\r\n\tlink.href = url;\r\n\tlink.rel = 'stylesheet';\r\n}\r\nfunction _ajax(url, fn, method, param, dataType) {\r\n\tmethod = method || 'GET';\r\n\tdataType = dataType || 'json';\r\n\tvar xhr = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');\r\n\txhr.open(method, url, true);\r\n\txhr.onreadystatechange = function () {\r\n\t\tif (xhr.readyState == 4 && xhr.status == 200) {\r\n\t\t\tif (fn) {\r\n\t\t\t\tvar data = _trim(xhr.responseText);\r\n\t\t\t\tif (dataType == 'json') {\r\n\t\t\t\t\tdata = _json(data);\r\n\t\t\t\t}\r\n\t\t\t\tfn(data);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tif (method == 'POST') {\r\n\t\tvar params = [];\r\n\t\t_each(param, function(key, val) {\r\n\t\t\tparams.push(encodeURIComponent(key) + '=' + encodeURIComponent(val));\r\n\t\t});\r\n\t\ttry {\r\n\t\t\txhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\r\n\t\t} catch (e) {}\r\n\t\txhr.send(params.join('&'));\r\n\t} else {\r\n\t\txhr.send(null);\r\n\t}\r\n}\r\nK.loadScript = _loadScript;\r\nK.loadStyle = _loadStyle;\r\nK.ajax = _ajax;\r\nvar _plugins = {};\r\nfunction _plugin(name, fn) {\r\n\tif (name === undefined) {\r\n\t\treturn _plugins;\r\n\t}\r\n\tif (!fn) {\r\n\t\treturn _plugins[name];\r\n\t}\r\n\t_plugins[name] = fn;\r\n}\r\nvar _language = {};\r\nfunction _parseLangKey(key) {\r\n\tvar match, ns = 'core';\r\n\tif ((match = /^(\\w+)\\.(\\w+)$/.exec(key))) {\r\n\t\tns = match[1];\r\n\t\tkey = match[2];\r\n\t}\r\n\treturn { ns : ns, key : key };\r\n}\r\nfunction _lang(mixed, langType) {\r\n\tlangType = langType === undefined ? K.options.langType : langType;\r\n\tif (typeof mixed === 'string') {\r\n\t\tif (!_language[langType]) {\r\n\t\t\treturn 'no language';\r\n\t\t}\r\n\t\tvar pos = mixed.length - 1;\r\n\t\tif (mixed.substr(pos) === '.') {\r\n\t\t\treturn _language[langType][mixed.substr(0, pos)];\r\n\t\t}\r\n\t\tvar obj = _parseLangKey(mixed);\r\n\t\treturn _language[langType][obj.ns][obj.key];\r\n\t}\r\n\t_each(mixed, function(key, val) {\r\n\t\tvar obj = _parseLangKey(key);\r\n\t\tif (!_language[langType]) {\r\n\t\t\t_language[langType] = {};\r\n\t\t}\r\n\t\tif (!_language[langType][obj.ns]) {\r\n\t\t\t_language[langType][obj.ns] = {};\r\n\t\t}\r\n\t\t_language[langType][obj.ns][obj.key] = val;\r\n\t});\r\n}\r\nfunction _getImageFromRange(range, fn) {\r\n\tif (range.collapsed) {\r\n\t\treturn;\r\n\t}\r\n\trange = range.cloneRange().up();\r\n\tvar sc = range.startContainer, so = range.startOffset;\r\n\tif (!_WEBKIT && !range.isControl()) {\r\n\t\treturn;\r\n\t}\r\n\tvar img = K(sc.childNodes[so]);\r\n\tif (!img || img.name != 'img') {\r\n\t\treturn;\r\n\t}\r\n\tif (fn(img)) {\r\n\t\treturn img;\r\n\t}\r\n}\r\nfunction _bindContextmenuEvent() {\r\n\tvar self = this, doc = self.edit.doc;\r\n\tK(doc).contextmenu(function(e) {\r\n\t\tif (self.menu) {\r\n\t\t\tself.hideMenu();\r\n\t\t}\r\n\t\tif (!self.useContextmenu) {\r\n\t\t\te.preventDefault();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (self._contextmenus.length === 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar maxWidth = 0, items = [];\r\n\t\t_each(self._contextmenus, function() {\r\n\t\t\tif (this.title == '-') {\r\n\t\t\t\titems.push(this);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (this.cond && this.cond()) {\r\n\t\t\t\titems.push(this);\r\n\t\t\t\tif (this.width && this.width > maxWidth) {\r\n\t\t\t\t\tmaxWidth = this.width;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\twhile (items.length > 0 && items[0].title == '-') {\r\n\t\t\titems.shift();\r\n\t\t}\r\n\t\twhile (items.length > 0 && items[items.length - 1].title == '-') {\r\n\t\t\titems.pop();\r\n\t\t}\r\n\t\tvar prevItem = null;\r\n\t\t_each(items, function(i) {\r\n\t\t\tif (this.title == '-' && prevItem.title == '-') {\r\n\t\t\t\tdelete items[i];\r\n\t\t\t}\r\n\t\t\tprevItem = this;\r\n\t\t});\r\n\t\tif (items.length > 0) {\r\n\t\t\te.preventDefault();\r\n\t\t\tvar pos = K(self.edit.iframe).pos(),\r\n\t\t\t\tmenu = _menu({\r\n\t\t\t\t\tx : pos.x + e.clientX,\r\n\t\t\t\t\ty : pos.y + e.clientY,\r\n\t\t\t\t\twidth : maxWidth,\r\n\t\t\t\t\tcss : { visibility: 'hidden' },\r\n\t\t\t\t\tshadowMode : self.shadowMode\r\n\t\t\t\t});\r\n\t\t\t_each(items, function() {\r\n\t\t\t\tif (this.title) {\r\n\t\t\t\t\tmenu.addItem(this);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tvar docEl = _docElement(menu.doc),\r\n\t\t\t\tmenuHeight = menu.div.height();\r\n\t\t\tif (e.clientY + menuHeight >= docEl.clientHeight - 100) {\r\n\t\t\t\tmenu.pos(menu.x, _removeUnit(menu.y) - menuHeight);\r\n\t\t\t}\r\n\t\t\tmenu.div.css('visibility', 'visible');\r\n\t\t\tself.menu = menu;\r\n\t\t}\r\n\t});\r\n}\r\nfunction _bindNewlineEvent() {\r\n\tvar self = this, doc = self.edit.doc, newlineTag = self.newlineTag;\r\n\tif (_IE && newlineTag !== 'br') {\r\n\t\treturn;\r\n\t}\r\n\tif (_GECKO && _V < 3 && newlineTag !== 'p') {\r\n\t\treturn;\r\n\t}\r\n\tif (_OPERA && _V < 9) {\r\n\t\treturn;\r\n\t}\r\n\tvar brSkipTagMap = _toMap('h1,h2,h3,h4,h5,h6,pre,li'),\r\n\t\tpSkipTagMap = _toMap('p,h1,h2,h3,h4,h5,h6,pre,li,blockquote');\r\n\tfunction getAncestorTagName(range) {\r\n\t\tvar ancestor = K(range.commonAncestor());\r\n\t\twhile (ancestor) {\r\n\t\t\tif (ancestor.type == 1 && !ancestor.isStyle()) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tancestor = ancestor.parent();\r\n\t\t}\r\n\t\treturn ancestor.name;\r\n\t}\r\n\tK(doc).keydown(function(e) {\r\n\t\tif (e.which != 13 || e.shiftKey || e.ctrlKey || e.altKey) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tself.cmd.selection();\r\n\t\tvar tagName = getAncestorTagName(self.cmd.range);\r\n\t\tif (tagName == 'marquee' || tagName == 'select') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (newlineTag === 'br' && !brSkipTagMap[tagName]) {\r\n\t\t\te.preventDefault();\r\n\t\t\tself.insertHtml('<br />' + (_IE && _V < 9 ? '' : '\\u200B'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!pSkipTagMap[tagName]) {\r\n\t\t\t_nativeCommand(doc, 'formatblock', '<p>');\r\n\t\t}\r\n\t});\r\n\tK(doc).keyup(function(e) {\r\n\t\tif (e.which != 13 || e.shiftKey || e.ctrlKey || e.altKey) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (newlineTag == 'br') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (_GECKO) {\r\n\t\t\tvar root = self.cmd.commonAncestor('p');\r\n\t\t\tvar a = self.cmd.commonAncestor('a');\r\n\t\t\tif (a && a.text() == '') {\r\n\t\t\t\ta.remove(true);\r\n\t\t\t\tself.cmd.range.selectNodeContents(root[0]).collapse(true);\r\n\t\t\t\tself.cmd.select();\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tself.cmd.selection();\r\n\t\tvar tagName = getAncestorTagName(self.cmd.range);\r\n\t\tif (tagName == 'marquee' || tagName == 'select') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!pSkipTagMap[tagName]) {\r\n\t\t\t_nativeCommand(doc, 'formatblock', '<p>');\r\n\t\t}\r\n\t\tvar div = self.cmd.commonAncestor('div');\r\n\t\tif (div) {\r\n\t\t\tvar p = K('<p></p>'),\r\n\t\t\t\tchild = div[0].firstChild;\r\n\t\t\twhile (child) {\r\n\t\t\t\tvar next = child.nextSibling;\r\n\t\t\t\tp.append(child);\r\n\t\t\t\tchild = next;\r\n\t\t\t}\r\n\t\t\tdiv.before(p);\r\n\t\t\tdiv.remove();\r\n\t\t\tself.cmd.range.selectNodeContents(p[0]);\r\n\t\t\tself.cmd.select();\r\n\t\t}\r\n\t});\r\n}\r\nfunction _bindTabEvent() {\r\n\tvar self = this, doc = self.edit.doc;\r\n\tK(doc).keydown(function(e) {\r\n\t\tif (e.which == 9) {\r\n\t\t\te.preventDefault();\r\n\t\t\tif (self.afterTab) {\r\n\t\t\t\tself.afterTab.call(self, e);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar cmd = self.cmd, range = cmd.range;\r\n\t\t\trange.shrink();\r\n\t\t\tif (range.collapsed && range.startContainer.nodeType == 1) {\r\n\t\t\t\trange.insertNode(K('@&nbsp;', doc)[0]);\r\n\t\t\t\tcmd.select();\r\n\t\t\t}\r\n\t\t\tself.insertHtml('&nbsp;&nbsp;&nbsp;&nbsp;');\r\n\t\t}\r\n\t});\r\n}\r\nfunction _bindFocusEvent() {\r\n\tvar self = this;\r\n\tK(self.edit.textarea[0], self.edit.win).focus(function(e) {\r\n\t\tif (self.afterFocus) {\r\n\t\t\tself.afterFocus.call(self, e);\r\n\t\t}\r\n\t}).blur(function(e) {\r\n\t\tif (self.afterBlur) {\r\n\t\t\tself.afterBlur.call(self, e);\r\n\t\t}\r\n\t});\r\n}\r\nfunction _removeBookmarkTag(html) {\r\n\treturn _trim(html.replace(/<span [^>]*id=\"?__kindeditor_bookmark_\\w+_\\d+__\"?[^>]*><\\/span>/ig, ''));\r\n}\r\nfunction _removeTempTag(html) {\r\n\treturn html.replace(/<div[^>]+class=\"?__kindeditor_paste__\"?[^>]*>[\\s\\S]*?<\\/div>/ig, '');\r\n}\r\nfunction _addBookmarkToStack(stack, bookmark) {\r\n\tif (stack.length === 0) {\r\n\t\tstack.push(bookmark);\r\n\t\treturn;\r\n\t}\r\n\tvar prev = stack[stack.length - 1];\r\n\tif (_removeBookmarkTag(bookmark.html) !== _removeBookmarkTag(prev.html)) {\r\n\t\tstack.push(bookmark);\r\n\t}\r\n}\r\nfunction _undoToRedo(fromStack, toStack) {\r\n\tvar self = this, edit = self.edit,\r\n\t\tbody = edit.doc.body,\r\n\t\trange, bookmark;\r\n\tif (fromStack.length === 0) {\r\n\t\treturn self;\r\n\t}\r\n\tif (edit.designMode) {\r\n\t\trange = self.cmd.range;\r\n\t\tbookmark = range.createBookmark(true);\r\n\t\tbookmark.html = body.innerHTML;\r\n\t} else {\r\n\t\tbookmark = {\r\n\t\t\thtml : body.innerHTML\r\n\t\t};\r\n\t}\r\n\t_addBookmarkToStack(toStack, bookmark);\r\n\tvar prev = fromStack.pop();\r\n\tif (_removeBookmarkTag(bookmark.html) === _removeBookmarkTag(prev.html) && fromStack.length > 0) {\r\n\t\tprev = fromStack.pop();\r\n\t}\r\n\tif (edit.designMode) {\r\n\t\tedit.html(prev.html);\r\n\t\tif (prev.start) {\r\n\t\t\trange.moveToBookmark(prev);\r\n\t\t\tself.select();\r\n\t\t}\r\n\t} else {\r\n\t\tK(body).html(_removeBookmarkTag(prev.html));\r\n\t}\r\n\treturn self;\r\n}\r\nfunction KEditor(options) {\r\n\tvar self = this;\r\n\tself.options = {};\r\n\tfunction setOption(key, val) {\r\n\t\tif (KEditor.prototype[key] === undefined) {\r\n\t\t\tself[key] = val;\r\n\t\t}\r\n\t\tself.options[key] = val;\r\n\t}\r\n\t_each(options, function(key, val) {\r\n\t\tsetOption(key, options[key]);\r\n\t});\r\n\t_each(K.options, function(key, val) {\r\n\t\tif (self[key] === undefined) {\r\n\t\t\tsetOption(key, val);\r\n\t\t}\r\n\t});\r\n\tvar se = K(self.srcElement || '<textarea/>');\r\n\tif (!self.width) {\r\n\t\tself.width = se[0].style.width || se.width();\r\n\t}\r\n\tif (!self.height) {\r\n\t\tself.height = se[0].style.height || se.height();\r\n\t}\r\n\tsetOption('width', _undef(self.width, self.minWidth));\r\n\tsetOption('height', _undef(self.height, self.minHeight));\r\n\tsetOption('width', _addUnit(self.width));\r\n\tsetOption('height', _addUnit(self.height));\r\n\tif (_MOBILE && (!_IOS || _V < 534)) {\r\n\t\tself.designMode = false;\r\n\t}\r\n\tself.srcElement = se;\r\n\tself.initContent = '';\r\n\tself.plugin = {};\r\n\tself.isCreated = false;\r\n\tself._handlers = {};\r\n\tself._contextmenus = [];\r\n\tself._undoStack = [];\r\n\tself._redoStack = [];\r\n\tself._firstAddBookmark = true;\r\n\tself.menu = self.contextmenu = null;\r\n\tself.dialogs = [];\r\n}\r\nKEditor.prototype = {\r\n\tlang : function(mixed) {\r\n\t\treturn _lang(mixed, this.langType);\r\n\t},\r\n\tloadPlugin : function(name, fn) {\r\n\t\tvar self = this;\r\n\t\tif (_plugins[name]) {\r\n\t\t\tif (!_isFunction(_plugins[name])) {\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tself.loadPlugin(name, fn);\r\n\t\t\t\t}, 100);\r\n\t\t\t\treturn self;\r\n\t\t\t}\r\n\t\t\t_plugins[name].call(self, KindEditor);\r\n\t\t\tif (fn) {\r\n\t\t\t\tfn.call(self);\r\n\t\t\t}\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\t_plugins[name] = 'loading';\r\n\t\t_loadScript(self.pluginsPath + name + '/' + name + '.js?ver=' + encodeURIComponent(K.DEBUG ? _TIME : _VERSION), function() {\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\tif (_plugins[name]) {\r\n\t\t\t\t\tself.loadPlugin(name, fn);\r\n\t\t\t\t}\r\n\t\t\t}, 0);\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\thandler : function(key, fn) {\r\n\t\tvar self = this;\r\n\t\tif (!self._handlers[key]) {\r\n\t\t\tself._handlers[key] = [];\r\n\t\t}\r\n\t\tif (_isFunction(fn)) {\r\n\t\t\tself._handlers[key].push(fn);\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\t_each(self._handlers[key], function() {\r\n\t\t\tfn = this.call(self, fn);\r\n\t\t});\r\n\t\treturn fn;\r\n\t},\r\n\tclickToolbar : function(name, fn) {\r\n\t\tvar self = this, key = 'clickToolbar' + name;\r\n\t\tif (fn === undefined) {\r\n\t\t\tif (self._handlers[key]) {\r\n\t\t\t\treturn self.handler(key);\r\n\t\t\t}\r\n\t\t\tself.loadPlugin(name, function() {\r\n\t\t\t\tself.handler(key);\r\n\t\t\t});\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\treturn self.handler(key, fn);\r\n\t},\r\n\tupdateState : function() {\r\n\t\tvar self = this;\r\n\t\t_each(('justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,' +\r\n\t\t\t'subscript,superscript,bold,italic,underline,strikethrough').split(','), function(i, name) {\r\n\t\t\tself.cmd.state(name) ? self.toolbar.select(name) : self.toolbar.unselect(name);\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\taddContextmenu : function(item) {\r\n\t\tthis._contextmenus.push(item);\r\n\t\treturn this;\r\n\t},\r\n\tafterCreate : function(fn) {\r\n\t\treturn this.handler('afterCreate', fn);\r\n\t},\r\n\tbeforeRemove : function(fn) {\r\n\t\treturn this.handler('beforeRemove', fn);\r\n\t},\r\n\tbeforeGetHtml : function(fn) {\r\n\t\treturn this.handler('beforeGetHtml', fn);\r\n\t},\r\n\tbeforeSetHtml : function(fn) {\r\n\t\treturn this.handler('beforeSetHtml', fn);\r\n\t},\r\n\tafterSetHtml : function(fn) {\r\n\t\treturn this.handler('afterSetHtml', fn);\r\n\t},\r\n\tcreate : function() {\r\n\t\tvar self = this, fullscreenMode = self.fullscreenMode;\r\n\t\tif (self.isCreated) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (self.srcElement.data('kindeditor')) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tself.srcElement.data('kindeditor', 'true');\r\n\t\tif (fullscreenMode) {\r\n\t\t\t_docElement().style.overflow = 'hidden';\r\n\t\t} else {\r\n\t\t\t_docElement().style.overflow = '';\r\n\t\t}\r\n\t\tvar width = fullscreenMode ? _docElement().clientWidth + 'px' : self.width,\r\n\t\t\theight = fullscreenMode ? _docElement().clientHeight + 'px' : self.height;\r\n\t\tif ((_IE && _V < 8) || _QUIRKS) {\r\n\t\t\theight = _addUnit(_removeUnit(height) + 2);\r\n\t\t}\r\n\t\tvar container = self.container = K(self.layout);\r\n\t\tif (fullscreenMode) {\r\n\t\t\tK(document.body).append(container);\r\n\t\t} else {\r\n\t\t\tself.srcElement.before(container);\r\n\t\t}\r\n\t\tvar toolbarDiv = K('.toolbar', container),\r\n\t\t\teditDiv = K('.edit', container),\r\n\t\t\tstatusbar = self.statusbar = K('.statusbar', container);\r\n\t\tcontainer.removeClass('container')\r\n\t\t\t.addClass('ke-container ke-container-' + self.themeType).css('width', width);\r\n\t\tif (fullscreenMode) {\r\n\t\t\tcontainer.css({\r\n\t\t\t\tposition : 'absolute',\r\n\t\t\t\tleft : 0,\r\n\t\t\t\ttop : 0,\r\n\t\t\t\t'z-index' : 811211\r\n\t\t\t});\r\n\t\t\tif (!_GECKO) {\r\n\t\t\t\tself._scrollPos = _getScrollPos();\r\n\t\t\t}\r\n\t\t\twindow.scrollTo(0, 0);\r\n\t\t\tK(document.body).css({\r\n\t\t\t\t'height' : '1px',\r\n\t\t\t\t'overflow' : 'hidden'\r\n\t\t\t});\r\n\t\t\tK(document.body.parentNode).css('overflow', 'hidden');\r\n\t\t\tself._fullscreenExecuted = true;\r\n\t\t} else {\r\n\t\t\tif (self._fullscreenExecuted) {\r\n\t\t\t\tK(document.body).css({\r\n\t\t\t\t\t'height' : '',\r\n\t\t\t\t\t'overflow' : ''\r\n\t\t\t\t});\r\n\t\t\t\tK(document.body.parentNode).css('overflow', '');\r\n\t\t\t}\r\n\t\t\tif (self._scrollPos) {\r\n\t\t\t\twindow.scrollTo(self._scrollPos.x, self._scrollPos.y);\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar htmlList = [];\r\n\t\tK.each(self.items, function(i, name) {\r\n\t\t\tif (name == '|') {\r\n\t\t\t\thtmlList.push('<span class=\"ke-inline-block ke-separator\"></span>');\r\n\t\t\t} else if (name == '/') {\r\n\t\t\t\thtmlList.push('<div class=\"ke-hr\"></div>');\r\n\t\t\t} else {\r\n\t\t\t\thtmlList.push('<span class=\"ke-outline\" data-name=\"' + name + '\" title=\"' + self.lang(name) + '\" unselectable=\"on\">');\r\n\t\t\t\thtmlList.push('<span class=\"ke-toolbar-icon ke-toolbar-icon-url ke-icon-' + name + '\" unselectable=\"on\"></span></span>');\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar toolbar = self.toolbar = _toolbar({\r\n\t\t\tsrc : toolbarDiv,\r\n\t\t\thtml : htmlList.join(''),\r\n\t\t\tnoDisableItems : self.noDisableItems,\r\n\t\t\tclick : function(e, name) {\r\n\t\t\t\te.stop();\r\n\t\t\t\tif (self.menu) {\r\n\t\t\t\t\tvar menuName = self.menu.name;\r\n\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t\tif (menuName === name) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tself.clickToolbar(name);\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar editHeight = _removeUnit(height) - toolbar.div.height();\r\n\t\tvar edit = self.edit = _edit({\r\n\t\t\theight : editHeight > 0 && _removeUnit(height) > self.minHeight ? editHeight : self.minHeight,\r\n\t\t\tsrc : editDiv,\r\n\t\t\tsrcElement : self.srcElement,\r\n\t\t\tdesignMode : self.designMode,\r\n\t\t\tthemesPath : self.themesPath,\r\n\t\t\tbodyClass : self.bodyClass,\r\n\t\t\tcssPath : self.cssPath,\r\n\t\t\tcssData : self.cssData,\r\n\t\t\tbeforeGetHtml : function(html) {\r\n\t\t\t\thtml = self.beforeGetHtml(html);\r\n\t\t\t\thtml = _removeBookmarkTag(_removeTempTag(html));\r\n\t\t\t\treturn _formatHtml(html, self.filterMode ? self.htmlTags : null, self.urlType, self.wellFormatMode, self.indentChar);\r\n\t\t\t},\r\n\t\t\tbeforeSetHtml : function(html) {\r\n\t\t\t\thtml = _formatHtml(html, self.filterMode ? self.htmlTags : null, '', false);\r\n\t\t\t\treturn self.beforeSetHtml(html);\r\n\t\t\t},\r\n\t\t\tafterSetHtml : function() {\r\n\t\t\t\tself.edit = edit = this;\r\n\t\t\t\tself.afterSetHtml();\r\n\t\t\t},\r\n\t\t\tafterCreate : function() {\r\n\t\t\t\tself.edit = edit = this;\r\n\t\t\t\tself.cmd = edit.cmd;\r\n\t\t\t\tself._docMousedownFn = function(e) {\r\n\t\t\t\t\tif (self.menu) {\r\n\t\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t\tK(edit.doc, document).mousedown(self._docMousedownFn);\r\n\t\t\t\t_bindContextmenuEvent.call(self);\r\n\t\t\t\t_bindNewlineEvent.call(self);\r\n\t\t\t\t_bindTabEvent.call(self);\r\n\t\t\t\t_bindFocusEvent.call(self);\r\n\t\t\t\tedit.afterChange(function(e) {\r\n\t\t\t\t\tif (!edit.designMode) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tself.updateState();\r\n\t\t\t\t\tself.addBookmark();\r\n\t\t\t\t\tif (self.options.afterChange) {\r\n\t\t\t\t\t\tself.options.afterChange.call(self);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tedit.textarea.keyup(function(e) {\r\n\t\t\t\t\tif (!e.ctrlKey && !e.altKey && _INPUT_KEY_MAP[e.which]) {\r\n\t\t\t\t\t\tif (self.options.afterChange) {\r\n\t\t\t\t\t\t\tself.options.afterChange.call(self);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif (self.readonlyMode) {\r\n\t\t\t\t\tself.readonly();\r\n\t\t\t\t}\r\n\t\t\t\tself.isCreated = true;\r\n\t\t\t\tif (self.initContent === '') {\r\n\t\t\t\t\tself.initContent = self.html();\r\n\t\t\t\t}\r\n\t\t\t\tif (self._undoStack.length > 0) {\r\n\t\t\t\t\tvar prev = self._undoStack.pop();\r\n\t\t\t\t\tif (prev.start) {\r\n\t\t\t\t\t\tself.html(prev.html);\r\n\t\t\t\t\t\tedit.cmd.range.moveToBookmark(prev);\r\n\t\t\t\t\t\tself.select();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tself.afterCreate();\r\n\t\t\t\tif (self.options.afterCreate) {\r\n\t\t\t\t\tself.options.afterCreate.call(self);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tstatusbar.removeClass('statusbar').addClass('ke-statusbar')\r\n\t\t\t.append('<span class=\"ke-inline-block ke-statusbar-center-icon\"></span>')\r\n\t\t\t.append('<span class=\"ke-inline-block ke-statusbar-right-icon\"></span>');\r\n\t\tif (self._fullscreenResizeHandler) {\r\n\t\t\tK(window).unbind('resize', self._fullscreenResizeHandler);\r\n\t\t\tself._fullscreenResizeHandler = null;\r\n\t\t}\r\n\t\tfunction initResize() {\r\n\t\t\tif (statusbar.height() === 0) {\r\n\t\t\t\tsetTimeout(initResize, 100);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tself.resize(width, height, false);\r\n\t\t}\r\n\t\tinitResize();\r\n\t\tif (fullscreenMode) {\r\n\t\t\tself._fullscreenResizeHandler = function(e) {\r\n\t\t\t\tif (self.isCreated) {\r\n\t\t\t\t\tself.resize(_docElement().clientWidth, _docElement().clientHeight, false);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tK(window).bind('resize', self._fullscreenResizeHandler);\r\n\t\t\ttoolbar.select('fullscreen');\r\n\t\t\tstatusbar.first().css('visibility', 'hidden');\r\n\t\t\tstatusbar.last().css('visibility', 'hidden');\r\n\t\t} else {\r\n\t\t\tif (_GECKO) {\r\n\t\t\t\tK(window).bind('scroll', function(e) {\r\n\t\t\t\t\tself._scrollPos = _getScrollPos();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (self.resizeType > 0) {\r\n\t\t\t\t_drag({\r\n\t\t\t\t\tmoveEl : container,\r\n\t\t\t\t\tclickEl : statusbar,\r\n\t\t\t\t\tmoveFn : function(x, y, width, height, diffX, diffY) {\r\n\t\t\t\t\t\theight += diffY;\r\n\t\t\t\t\t\tself.resize(null, height);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tstatusbar.first().css('visibility', 'hidden');\r\n\t\t\t}\r\n\t\t\tif (self.resizeType === 2) {\r\n\t\t\t\t_drag({\r\n\t\t\t\t\tmoveEl : container,\r\n\t\t\t\t\tclickEl : statusbar.last(),\r\n\t\t\t\t\tmoveFn : function(x, y, width, height, diffX, diffY) {\r\n\t\t\t\t\t\twidth += diffX;\r\n\t\t\t\t\t\theight += diffY;\r\n\t\t\t\t\t\tself.resize(width, height);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tstatusbar.last().css('visibility', 'hidden');\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\tif (!self.isCreated) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tself.beforeRemove();\r\n\t\tself.srcElement.data('kindeditor', '');\r\n\t\tif (self.menu) {\r\n\t\t\tself.hideMenu();\r\n\t\t}\r\n\t\t_each(self.dialogs, function() {\r\n\t\t\tself.hideDialog();\r\n\t\t});\r\n\t\tK(document).unbind('mousedown', self._docMousedownFn);\r\n\t\tself.toolbar.remove();\r\n\t\tself.edit.remove();\r\n\t\tself.statusbar.last().unbind();\r\n\t\tself.statusbar.unbind();\r\n\t\tself.container.remove();\r\n\t\tself.container = self.toolbar = self.edit = self.menu = null;\r\n\t\tself.dialogs = [];\r\n\t\tself.isCreated = false;\r\n\t\treturn self;\r\n\t},\r\n\tresize : function(width, height, updateProp) {\r\n\t\tvar self = this;\r\n\t\tupdateProp = _undef(updateProp, true);\r\n\t\tif (width) {\r\n\t\t\tif (!/%/.test(width)) {\r\n\t\t\t\twidth = _removeUnit(width);\r\n\t\t\t\twidth = width < self.minWidth ? self.minWidth : width;\r\n\t\t\t}\r\n\t\t\tself.container.css('width', _addUnit(width));\r\n\t\t\tif (updateProp) {\r\n\t\t\t\tself.width = _addUnit(width);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (height) {\r\n\t\t\theight = _removeUnit(height);\r\n\t\t\teditHeight = _removeUnit(height) - self.toolbar.div.height() - self.statusbar.height();\r\n\t\t\teditHeight = editHeight < self.minHeight ? self.minHeight : editHeight;\r\n\t\t\tself.edit.setHeight(editHeight);\r\n\t\t\tif (updateProp) {\r\n\t\t\t\tself.height = _addUnit(height);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tselect : function() {\r\n\t\tthis.isCreated && this.cmd.select();\r\n\t\treturn this;\r\n\t},\r\n\thtml : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\treturn self.isCreated ? self.edit.html() : _elementVal(self.srcElement);\r\n\t\t}\r\n\t\tself.isCreated ? self.edit.html(val) : _elementVal(self.srcElement, val);\r\n\t\tif (self.isCreated) {\r\n\t\t\tself.cmd.selection();\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tfullHtml : function() {\r\n\t\treturn this.isCreated ? this.edit.html(undefined, true) : '';\r\n\t},\r\n\ttext : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\treturn _trim(self.html().replace(/<(?!img|embed).*?>/ig, '').replace(/&nbsp;/ig, ' '));\r\n\t\t} else {\r\n\t\t\treturn self.html(_escape(val));\r\n\t\t}\r\n\t},\r\n\tisEmpty : function() {\r\n\t\treturn _trim(this.text().replace(/\\r\\n|\\n|\\r/, '')) === '';\r\n\t},\r\n\tisDirty : function() {\r\n\t\treturn _trim(this.initContent.replace(/\\r\\n|\\n|\\r|t/g, '')) !== _trim(this.html().replace(/\\r\\n|\\n|\\r|t/g, ''));\r\n\t},\r\n\tselectedHtml : function() {\r\n\t\tvar val = this.isCreated ? this.cmd.range.html() : '';\r\n\t\tval = _removeBookmarkTag(_removeTempTag(val));\r\n\t\treturn val;\r\n\t},\r\n\tcount : function(mode) {\r\n\t\tvar self = this;\r\n\t\tmode = (mode || 'html').toLowerCase();\r\n\t\tif (mode === 'html') {\r\n\t\t\treturn self.html().length;\r\n\t\t}\r\n\t\tif (mode === 'text') {\r\n\t\t\treturn self.text().replace(/<(?:img|embed).*?>/ig, 'K').replace(/\\r\\n|\\n|\\r/g, '').length;\r\n\t\t}\r\n\t\treturn 0;\r\n\t},\r\n\texec : function(key) {\r\n\t\tkey = key.toLowerCase();\r\n\t\tvar self = this, cmd = self.cmd,\r\n\t\t\tchangeFlag = _inArray(key, 'selectall,copy,paste,print'.split(',')) < 0;\r\n\t\tif (changeFlag) {\r\n\t\t\tself.addBookmark(false);\r\n\t\t}\r\n\t\tcmd[key].apply(cmd, _toArray(arguments, 1));\r\n\t\tif (changeFlag) {\r\n\t\t\tself.updateState();\r\n\t\t\tself.addBookmark(false);\r\n\t\t\tif (self.options.afterChange) {\r\n\t\t\t\tself.options.afterChange.call(self);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tinsertHtml : function(val, quickMode) {\r\n\t\tif (!this.isCreated) {\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\tval = this.beforeSetHtml(val);\r\n\t\tthis.exec('inserthtml', val, quickMode);\r\n\t\treturn this;\r\n\t},\r\n\tappendHtml : function(val) {\r\n\t\tthis.html(this.html() + val);\r\n\t\tif (this.isCreated) {\r\n\t\t\tvar cmd = this.cmd;\r\n\t\t\tcmd.range.selectNodeContents(cmd.doc.body).collapse(false);\r\n\t\t\tcmd.select();\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\tsync : function() {\r\n\t\t_elementVal(this.srcElement, this.html());\r\n\t\treturn this;\r\n\t},\r\n\tfocus : function() {\r\n\t\tthis.isCreated ? this.edit.focus() : this.srcElement[0].focus();\r\n\t\treturn this;\r\n\t},\r\n\tblur : function() {\r\n\t\tthis.isCreated ? this.edit.blur() : this.srcElement[0].blur();\r\n\t\treturn this;\r\n\t},\r\n\taddBookmark : function(checkSize) {\r\n\t\tcheckSize = _undef(checkSize, true);\r\n\t\tvar self = this, edit = self.edit,\r\n\t\t\tbody = edit.doc.body,\r\n\t\t\thtml = _removeTempTag(body.innerHTML), bookmark;\r\n\t\tif (checkSize && self._undoStack.length > 0) {\r\n\t\t\tvar prev = self._undoStack[self._undoStack.length - 1];\r\n\t\t\tif (Math.abs(html.length - _removeBookmarkTag(prev.html).length) < self.minChangeSize) {\r\n\t\t\t\treturn self;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (edit.designMode && !self._firstAddBookmark) {\r\n\t\t\tvar range = self.cmd.range;\r\n\t\t\tbookmark = range.createBookmark(true);\r\n\t\t\tbookmark.html = _removeTempTag(body.innerHTML);\r\n\t\t\trange.moveToBookmark(bookmark);\r\n\t\t} else {\r\n\t\t\tbookmark = {\r\n\t\t\t\thtml : html\r\n\t\t\t};\r\n\t\t}\r\n\t\tself._firstAddBookmark = false;\r\n\t\t_addBookmarkToStack(self._undoStack, bookmark);\r\n\t\treturn self;\r\n\t},\r\n\tundo : function() {\r\n\t\treturn _undoToRedo.call(this, this._undoStack, this._redoStack);\r\n\t},\r\n\tredo : function() {\r\n\t\treturn _undoToRedo.call(this, this._redoStack, this._undoStack);\r\n\t},\r\n\tfullscreen : function(bool) {\r\n\t\tthis.fullscreenMode = (bool === undefined ? !this.fullscreenMode : bool);\r\n\t\tthis.addBookmark(false);\r\n\t\treturn this.remove().create();\r\n\t},\r\n\treadonly : function(isReadonly) {\r\n\t\tisReadonly = _undef(isReadonly, true);\r\n\t\tvar self = this, edit = self.edit, doc = edit.doc;\r\n\t\tif (self.designMode) {\r\n\t\t\tself.toolbar.disableAll(isReadonly, []);\r\n\t\t} else {\r\n\t\t\t_each(self.noDisableItems, function() {\r\n\t\t\t\tself.toolbar[isReadonly ? 'disable' : 'enable'](this);\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (_IE) {\r\n\t\t\tdoc.body.contentEditable = !isReadonly;\r\n\t\t} else {\r\n\t\t\tdoc.designMode = isReadonly ? 'off' : 'on';\r\n\t\t}\r\n\t\tedit.textarea[0].disabled = isReadonly;\r\n\t},\r\n\tcreateMenu : function(options) {\r\n\t\tvar self = this,\r\n\t\t\tname = options.name,\r\n\t\t\tknode = self.toolbar.get(name),\r\n\t\t\tpos = knode.pos();\r\n\t\toptions.x = pos.x;\r\n\t\toptions.y = pos.y + knode.height();\r\n\t\toptions.z = self.options.zIndex;\r\n\t\toptions.shadowMode = _undef(options.shadowMode, self.shadowMode);\r\n\t\tif (options.selectedColor !== undefined) {\r\n\t\t\toptions.cls = 'ke-colorpicker-' + self.themeType;\r\n\t\t\toptions.noColor = self.lang('noColor');\r\n\t\t\tself.menu = _colorpicker(options);\r\n\t\t} else {\r\n\t\t\toptions.cls = 'ke-menu-' + self.themeType;\r\n\t\t\toptions.centerLineMode = false;\r\n\t\t\tself.menu = _menu(options);\r\n\t\t}\r\n\t\treturn self.menu;\r\n\t},\r\n\thideMenu : function() {\r\n\t\tthis.menu.remove();\r\n\t\tthis.menu = null;\r\n\t\treturn this;\r\n\t},\r\n\thideContextmenu : function() {\r\n\t\tthis.contextmenu.remove();\r\n\t\tthis.contextmenu = null;\r\n\t\treturn this;\r\n\t},\r\n\tcreateDialog : function(options) {\r\n\t\tvar self = this, name = options.name;\r\n\t\toptions.z = self.options.zIndex;\r\n\t\toptions.shadowMode = _undef(options.shadowMode, self.shadowMode);\r\n\t\toptions.closeBtn = _undef(options.closeBtn, {\r\n\t\t\tname : self.lang('close'),\r\n\t\t\tclick : function(e) {\r\n\t\t\t\tself.hideDialog();\r\n\t\t\t\tif (_IE && self.cmd) {\r\n\t\t\t\t\tself.cmd.select();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\toptions.noBtn = _undef(options.noBtn, {\r\n\t\t\tname : self.lang(options.yesBtn ? 'no' : 'close'),\r\n\t\t\tclick : function(e) {\r\n\t\t\t\tself.hideDialog();\r\n\t\t\t\tif (_IE && self.cmd) {\r\n\t\t\t\t\tself.cmd.select();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (self.dialogAlignType != 'page') {\r\n\t\t\toptions.alignEl = self.container;\r\n\t\t}\r\n\t\toptions.cls = 'ke-dialog-' + self.themeType;\r\n\t\tif (self.dialogs.length > 0) {\r\n\t\t\tvar firstDialog = self.dialogs[0],\r\n\t\t\t\tparentDialog = self.dialogs[self.dialogs.length - 1];\r\n\t\t\tfirstDialog.setMaskIndex(parentDialog.z + 2);\r\n\t\t\toptions.z = parentDialog.z + 3;\r\n\t\t\toptions.showMask = false;\r\n\t\t}\r\n\t\tvar dialog = _dialog(options);\r\n\t\tself.dialogs.push(dialog);\r\n\t\treturn dialog;\r\n\t},\r\n\thideDialog : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.dialogs.length > 0) {\r\n\t\t\tself.dialogs.pop().remove();\r\n\t\t}\r\n\t\tif (self.dialogs.length > 0) {\r\n\t\t\tvar firstDialog = self.dialogs[0],\r\n\t\t\t\tparentDialog = self.dialogs[self.dialogs.length - 1];\r\n\t\t\tfirstDialog.setMaskIndex(parentDialog.z - 1);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\terrorDialog : function(html) {\r\n\t\tvar self = this;\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\twidth : 750,\r\n\t\t\ttitle : self.lang('uploadError'),\r\n\t\t\tbody : '<div style=\"padding:10px 20px;\"><iframe frameborder=\"0\" style=\"width:708px;height:400px;\"></iframe></div>'\r\n\t\t});\r\n\t\tvar iframe = K('iframe', dialog.div), doc = K.iframeDoc(iframe);\r\n\t\tdoc.open();\r\n\t\tdoc.write(html);\r\n\t\tdoc.close();\r\n\t\tK(doc.body).css('background-color', '#FFF');\r\n\t\tiframe[0].contentWindow.focus();\r\n\t\treturn self;\r\n\t}\r\n};\r\nfunction _editor(options) {\r\n\treturn new KEditor(options);\r\n}\r\n_instances = [];\r\nfunction _create(expr, options) {\r\n\toptions = options || {};\r\n\toptions.basePath = _undef(options.basePath, K.basePath);\r\n\toptions.themesPath = _undef(options.themesPath, options.basePath + 'themes/');\r\n\toptions.langPath = _undef(options.langPath, options.basePath + 'lang/');\r\n\toptions.pluginsPath = _undef(options.pluginsPath, options.basePath + 'plugins/');\r\n\tif (_undef(options.loadStyleMode, K.options.loadStyleMode)) {\r\n\t\tvar themeType = _undef(options.themeType, K.options.themeType);\r\n\t\t_loadStyle(options.themesPath + 'default/default.css');\r\n\t\t_loadStyle(options.themesPath + themeType + '/' + themeType + '.css');\r\n\t}\r\n\tfunction create(editor) {\r\n\t\t_each(_plugins, function(name, fn) {\r\n\t\t\tif (_isFunction(fn)) {\r\n\t\t\t\tfn.call(editor, KindEditor);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn editor.create();\r\n\t}\r\n\tvar knode = K(expr);\r\n\tif (!knode || knode.length === 0) {\r\n\t\treturn;\r\n\t}\r\n\tif (knode.length > 1) {\r\n\t\tknode.each(function() {\r\n\t\t\t_create(this, options);\r\n\t\t});\r\n\t\treturn _instances[0];\r\n\t}\r\n\toptions.srcElement = knode[0];\r\n\tvar editor = new KEditor(options);\r\n\t_instances.push(editor);\r\n\tif (_language[editor.langType]) {\r\n\t\treturn create(editor);\r\n\t}\r\n\t_loadScript(editor.langPath + editor.langType + '.js?ver=' + encodeURIComponent(K.DEBUG ? _TIME : _VERSION), function() {\r\n\t\tcreate(editor);\r\n\t});\r\n\treturn editor;\r\n}\r\nfunction _eachEditor(expr, fn) {\r\n\tK(expr).each(function(i, el) {\r\n\t\tK.each(_instances, function(j, editor) {\r\n\t\t\tif (editor && editor.srcElement[0] == el) {\r\n\t\t\t\tfn.call(editor, j);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\nK.remove = function(expr) {\r\n\t_eachEditor(expr, function(i) {\r\n\t\tthis.remove();\r\n\t\t_instances.splice(i, 1);\r\n\t});\r\n};\r\nK.sync = function(expr) {\r\n\t_eachEditor(expr, function() {\r\n\t\tthis.sync();\r\n\t});\r\n};\r\nK.html = function(expr, val) {\r\n\t_eachEditor(expr, function() {\r\n\t\tthis.html(val);\r\n\t});\r\n};\r\nK.insertHtml = function(expr, val) {\r\n\t_eachEditor(expr, function() {\r\n\t\tthis.insertHtml(val);\r\n\t});\r\n};\r\nK.appendHtml = function(expr, val) {\r\n\t_eachEditor(expr, function() {\r\n\t\tthis.appendHtml(val);\r\n\t});\r\n};\r\nif (_IE && _V < 7) {\r\n\t_nativeCommand(document, 'BackgroundImageCache', true);\r\n}\r\nK.EditorClass = KEditor;\r\nK.editor = _editor;\r\nK.create = _create;\r\nK.instances = _instances;\r\nK.plugin = _plugin;\r\nK.lang = _lang;\r\n_plugin('core', function(K) {\r\n\tvar self = this,\r\n\t\tshortcutKeys = {\r\n\t\t\tundo : 'Z', redo : 'Y', bold : 'B', italic : 'I', underline : 'U', print : 'P', selectall : 'A'\r\n\t\t};\r\n\tself.afterSetHtml(function() {\r\n\t\tif (self.options.afterChange) {\r\n\t\t\tself.options.afterChange.call(self);\r\n\t\t}\r\n\t});\r\n\tself.afterCreate(function() {\r\n\t\tif (self.syncType != 'form') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar el = K(self.srcElement), hasForm = false;\r\n\t\twhile ((el = el.parent())) {\r\n\t\t\tif (el.name == 'form') {\r\n\t\t\t\thasForm = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (hasForm) {\r\n\t\t\tel.bind('submit', function(e) {\r\n\t\t\t\tself.sync();\r\n\t\t\t\tK(window).bind('unload', function() {\r\n\t\t\t\t\tself.edit.textarea.remove();\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\tvar resetBtn = K('[type=\"reset\"]', el);\r\n\t\t\tresetBtn.click(function() {\r\n\t\t\t\tself.html(self.initContent);\r\n\t\t\t\tself.cmd.selection();\r\n\t\t\t});\r\n\t\t\tself.beforeRemove(function() {\r\n\t\t\t\tel.unbind();\r\n\t\t\t\tresetBtn.unbind();\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\tself.clickToolbar('source', function() {\r\n\t\tif (self.edit.designMode) {\r\n\t\t\tself.toolbar.disableAll(true);\r\n\t\t\tself.edit.design(false);\r\n\t\t\tself.toolbar.select('source');\r\n\t\t} else {\r\n\t\t\tself.toolbar.disableAll(false);\r\n\t\t\tself.edit.design(true);\r\n\t\t\tself.toolbar.unselect('source');\r\n\t\t\tif (_GECKO) {\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tself.cmd.selection();\r\n\t\t\t\t}, 0);\r\n\t\t\t} else {\r\n\t\t\t\tself.cmd.selection();\r\n\t\t\t}\r\n\t\t}\r\n\t\tself.designMode = self.edit.designMode;\r\n\t});\r\n\tself.afterCreate(function() {\r\n\t\tif (!self.designMode) {\r\n\t\t\tself.toolbar.disableAll(true).select('source');\r\n\t\t}\r\n\t});\r\n\tself.clickToolbar('fullscreen', function() {\r\n\t\tself.fullscreen();\r\n\t});\r\n\tif (self.fullscreenShortcut) {\r\n\t\tvar loaded = false;\r\n\t\tself.afterCreate(function() {\r\n\t\t\tK(self.edit.doc, self.edit.textarea).keyup(function(e) {\r\n\t\t\t\tif (e.which == 27) {\r\n\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\tself.fullscreen();\r\n\t\t\t\t\t}, 0);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (loaded) {\r\n\t\t\t\tif (_IE && !self.designMode) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tself.focus();\r\n\t\t\t}\r\n\t\t\tif (!loaded) {\r\n\t\t\t\tloaded = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t_each('undo,redo'.split(','), function(i, name) {\r\n\t\tif (shortcutKeys[name]) {\r\n\t\t\tself.afterCreate(function() {\r\n\t\t\t\t_ctrl(this.edit.doc, shortcutKeys[name], function() {\r\n\t\t\t\t\tself.clickToolbar(name);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t\tself.clickToolbar(name, function() {\r\n\t\t\tself[name]();\r\n\t\t});\r\n\t});\r\n\tself.clickToolbar('formatblock', function() {\r\n\t\tvar blocks = self.lang('formatblock.formatBlock'),\r\n\t\t\theights = {\r\n\t\t\t\th1 : 28,\r\n\t\t\t\th2 : 24,\r\n\t\t\t\th3 : 18,\r\n\t\t\t\tH4 : 14,\r\n\t\t\t\tp : 12\r\n\t\t\t},\r\n\t\t\tcurVal = self.cmd.val('formatblock'),\r\n\t\t\tmenu = self.createMenu({\r\n\t\t\t\tname : 'formatblock',\r\n\t\t\t\twidth : self.langType == 'en' ? 200 : 150\r\n\t\t\t});\r\n\t\t_each(blocks, function(key, val) {\r\n\t\t\tvar style = 'font-size:' + heights[key] + 'px;';\r\n\t\t\tif (key.charAt(0) === 'h') {\r\n\t\t\t\tstyle += 'font-weight:bold;';\r\n\t\t\t}\r\n\t\t\tmenu.addItem({\r\n\t\t\t\ttitle : '<span style=\"' + style + '\" unselectable=\"on\">' + val + '</span>',\r\n\t\t\t\theight : heights[key] + 12,\r\n\t\t\t\tchecked : (curVal === key || curVal === val),\r\n\t\t\t\tclick : function() {\r\n\t\t\t\t\tself.select().exec('formatblock', '<' + key + '>').hideMenu();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n\tself.clickToolbar('fontname', function() {\r\n\t\tvar curVal = self.cmd.val('fontname'),\r\n\t\t\tmenu = self.createMenu({\r\n\t\t\t\tname : 'fontname',\r\n\t\t\t\twidth : 150\r\n\t\t\t});\r\n\t\t_each(self.lang('fontname.fontName'), function(key, val) {\r\n\t\t\tmenu.addItem({\r\n\t\t\t\ttitle : '<span style=\"font-family: ' + key + ';\" unselectable=\"on\">' + val + '</span>',\r\n\t\t\t\tchecked : (curVal === key.toLowerCase() || curVal === val.toLowerCase()),\r\n\t\t\t\tclick : function() {\r\n\t\t\t\t\tself.exec('fontname', key).hideMenu();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n\tself.clickToolbar('fontsize', function() {\r\n\t\tvar curVal = self.cmd.val('fontsize'),\r\n\t\t\tmenu = self.createMenu({\r\n\t\t\t\tname : 'fontsize',\r\n\t\t\t\twidth : 150\r\n\t\t\t});\r\n\t\t_each(self.fontSizeTable, function(i, val) {\r\n\t\t\tmenu.addItem({\r\n\t\t\t\ttitle : '<span style=\"font-size:' + val + ';\" unselectable=\"on\">' + val + '</span>',\r\n\t\t\t\theight : _removeUnit(val) + 12,\r\n\t\t\t\tchecked : curVal === val,\r\n\t\t\t\tclick : function() {\r\n\t\t\t\t\tself.exec('fontsize', val).hideMenu();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n\t_each('forecolor,hilitecolor'.split(','), function(i, name) {\r\n\t\tself.clickToolbar(name, function() {\r\n\t\t\tself.createMenu({\r\n\t\t\t\tname : name,\r\n\t\t\t\tselectedColor : self.cmd.val(name) || 'default',\r\n\t\t\t\tcolors : self.colorTable,\r\n\t\t\t\tclick : function(color) {\r\n\t\t\t\t\tself.exec(name, color).hideMenu();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n\t_each(('cut,copy,paste').split(','), function(i, name) {\r\n\t\tself.clickToolbar(name, function() {\r\n\t\t\tself.focus();\r\n\t\t\ttry {\r\n\t\t\t\tself.exec(name, null);\r\n\t\t\t} catch(e) {\r\n\t\t\t\talert(self.lang(name + 'Error'));\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\tself.clickToolbar('about', function() {\r\n\t\tvar html = '<div style=\"margin:20px;\">' +\r\n\t\t\t'<div>KindEditor ' + _VERSION + '</div>' +\r\n\t\t\t'<div>Copyright &copy; <a href=\"http://www.kindsoft.net/\" target=\"_blank\">kindsoft.net</a> All rights reserved.</div>' +\r\n\t\t\t'</div>';\r\n\t\tself.createDialog({\r\n\t\t\tname : 'about',\r\n\t\t\twidth : 350,\r\n\t\t\ttitle : self.lang('about'),\r\n\t\t\tbody : html\r\n\t\t});\r\n\t});\r\n\tself.plugin.getSelectedLink = function() {\r\n\t\treturn self.cmd.commonAncestor('a');\r\n\t};\r\n\tself.plugin.getSelectedImage = function() {\r\n\t\treturn _getImageFromRange(self.edit.cmd.range, function(img) {\r\n\t\t\treturn !/^ke-\\w+$/i.test(img[0].className);\r\n\t\t});\r\n\t};\r\n\tself.plugin.getSelectedFlash = function() {\r\n\t\treturn _getImageFromRange(self.edit.cmd.range, function(img) {\r\n\t\t\treturn img[0].className == 'ke-flash';\r\n\t\t});\r\n\t};\r\n\tself.plugin.getSelectedMedia = function() {\r\n\t\treturn _getImageFromRange(self.edit.cmd.range, function(img) {\r\n\t\t\treturn img[0].className == 'ke-media' || img[0].className == 'ke-rm';\r\n\t\t});\r\n\t};\r\n\tself.plugin.getSelectedAnchor = function() {\r\n\t\treturn _getImageFromRange(self.edit.cmd.range, function(img) {\r\n\t\t\treturn img[0].className == 'ke-anchor';\r\n\t\t});\r\n\t};\r\n\t_each('link,image,flash,media,anchor'.split(','), function(i, name) {\r\n\t\tvar uName = name.charAt(0).toUpperCase() + name.substr(1);\r\n\t\t_each('edit,delete'.split(','), function(j, val) {\r\n\t\t\tself.addContextmenu({\r\n\t\t\t\ttitle : self.lang(val + uName),\r\n\t\t\t\tclick : function() {\r\n\t\t\t\t\tself.loadPlugin(name, function() {\r\n\t\t\t\t\t\tself.plugin[name][val]();\r\n\t\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\tcond : self.plugin['getSelected' + uName],\r\n\t\t\t\twidth : 150,\r\n\t\t\t\ticonClass : val == 'edit' ? 'ke-icon-' + name : undefined\r\n\t\t\t});\r\n\t\t});\r\n\t\tself.addContextmenu({ title : '-' });\r\n\t});\r\n\tself.plugin.getSelectedTable = function() {\r\n\t\treturn self.cmd.commonAncestor('table');\r\n\t};\r\n\tself.plugin.getSelectedRow = function() {\r\n\t\treturn self.cmd.commonAncestor('tr');\r\n\t};\r\n\tself.plugin.getSelectedCell = function() {\r\n\t\treturn self.cmd.commonAncestor('td');\r\n\t};\r\n\t_each(('prop,cellprop,colinsertleft,colinsertright,rowinsertabove,rowinsertbelow,rowmerge,colmerge,' +\r\n\t'rowsplit,colsplit,coldelete,rowdelete,insert,delete').split(','), function(i, val) {\r\n\t\tvar cond = _inArray(val, ['prop', 'delete']) < 0 ? self.plugin.getSelectedCell : self.plugin.getSelectedTable;\r\n\t\tself.addContextmenu({\r\n\t\t\ttitle : self.lang('table' + val),\r\n\t\t\tclick : function() {\r\n\t\t\t\tself.loadPlugin('table', function() {\r\n\t\t\t\t\tself.plugin.table[val]();\r\n\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tcond : cond,\r\n\t\t\twidth : 170,\r\n\t\t\ticonClass : 'ke-icon-table' + val\r\n\t\t});\r\n\t});\r\n\tself.addContextmenu({ title : '-' });\r\n\t_each(('selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,' +\r\n\t\t'insertunorderedlist,indent,outdent,subscript,superscript,hr,print,' +\r\n\t\t'bold,italic,underline,strikethrough,removeformat,unlink').split(','), function(i, name) {\r\n\t\tif (shortcutKeys[name]) {\r\n\t\t\tself.afterCreate(function() {\r\n\t\t\t\t_ctrl(this.edit.doc, shortcutKeys[name], function() {\r\n\t\t\t\t\tself.cmd.selection();\r\n\t\t\t\t\tself.clickToolbar(name);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t\tself.clickToolbar(name, function() {\r\n\t\t\tself.focus().exec(name, null);\r\n\t\t});\r\n\t});\r\n\tself.afterCreate(function() {\r\n\t\tvar doc = self.edit.doc, cmd, bookmark, div,\r\n\t\t\tcls = '__kindeditor_paste__', pasting = false;\r\n\t\tfunction movePastedData() {\r\n\t\t\tcmd.range.moveToBookmark(bookmark);\r\n\t\t\tcmd.select();\r\n\t\t\tif (_WEBKIT) {\r\n\t\t\t\tK('div.' + cls, div).each(function() {\r\n\t\t\t\t\tK(this).after('<br />').remove(true);\r\n\t\t\t\t});\r\n\t\t\t\tK('span.Apple-style-span', div).remove(true);\r\n\t\t\t\tK('span.Apple-tab-span', div).remove(true);\r\n\t\t\t\tK('span[style]', div).each(function() {\r\n\t\t\t\t\tif (K(this).css('white-space') == 'nowrap') {\r\n\t\t\t\t\t\tK(this).remove(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tK('meta', div).remove();\r\n\t\t\t}\r\n\t\t\tvar html = div[0].innerHTML;\r\n\t\t\tdiv.remove();\r\n\t\t\tif (html === '') {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (_WEBKIT) {\r\n\t\t\t\thtml = html.replace(/(<br>)\\1/ig, '$1');\r\n\t\t\t}\r\n\t\t\tif (self.pasteType === 2) {\r\n\t\t\t\thtml = html.replace(/(<(?:p|p\\s[^>]*)>) *(<\\/p>)/ig, '');\r\n\t\t\t\tif (/schemas-microsoft-com|worddocument|mso-\\w+/i.test(html)) {\r\n\t\t\t\t\thtml = _clearMsWord(html, self.filterMode ? self.htmlTags : K.options.htmlTags);\r\n\t\t\t\t} else {\r\n\t\t\t\t\thtml = _formatHtml(html, self.filterMode ? self.htmlTags : null);\r\n\t\t\t\t\thtml = self.beforeSetHtml(html);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (self.pasteType === 1) {\r\n\t\t\t\thtml = html.replace(/&nbsp;/ig, ' ');\r\n\t\t\t\thtml = html.replace(/\\n\\s*\\n/g, '\\n');\r\n\t\t\t\thtml = html.replace(/<br[^>]*>/ig, '\\n');\r\n\t\t\t\thtml = html.replace(/<\\/p><p[^>]*>/ig, '\\n');\r\n\t\t\t\thtml = html.replace(/<[^>]+>/g, '');\r\n\t\t\t\thtml = html.replace(/ {2}/g, ' &nbsp;');\r\n\t\t\t\tif (self.newlineTag == 'p') {\r\n\t\t\t\t\tif (/\\n/.test(html)) {\r\n\t\t\t\t\t\thtml = html.replace(/^/, '<p>').replace(/$/, '<br /></p>').replace(/\\n/g, '<br /></p><p>');\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\thtml = html.replace(/\\n/g, '<br />$&');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tself.insertHtml(html, true);\r\n\t\t}\r\n\t\tK(doc.body).bind('paste', function(e){\r\n\t\t\tif (self.pasteType === 0) {\r\n\t\t\t\te.stop();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (pasting) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tpasting = true;\r\n\t\t\tK('div.' + cls, doc).remove();\r\n\t\t\tcmd = self.cmd.selection();\r\n\t\t\tbookmark = cmd.range.createBookmark();\r\n\t\t\tdiv = K('<div class=\"' + cls + '\"></div>', doc).css({\r\n\t\t\t\tposition : 'absolute',\r\n\t\t\t\twidth : '1px',\r\n\t\t\t\theight : '1px',\r\n\t\t\t\toverflow : 'hidden',\r\n\t\t\t\tleft : '-1981px',\r\n\t\t\t\ttop : K(bookmark.start).pos().y + 'px',\r\n\t\t\t\t'white-space' : 'nowrap'\r\n\t\t\t});\r\n\t\t\tK(doc.body).append(div);\r\n\t\t\tif (_IE) {\r\n\t\t\t\tvar rng = cmd.range.get(true);\r\n\t\t\t\trng.moveToElementText(div[0]);\r\n\t\t\t\trng.select();\r\n\t\t\t\trng.execCommand('paste');\r\n\t\t\t\te.preventDefault();\r\n\t\t\t} else {\r\n\t\t\t\tcmd.range.selectNodeContents(div[0]);\r\n\t\t\t\tcmd.select();\r\n\t\t\t}\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\tmovePastedData();\r\n\t\t\t\tpasting = false;\r\n\t\t\t}, 0);\r\n\t\t});\r\n\t});\r\n\tself.beforeGetHtml(function(html) {\r\n\t\tif (_IE && _V <= 8) {\r\n\t\t\thtml = html.replace(/<div\\s+[^>]*data-ke-input-tag=\"([^\"]*)\"[^>]*>([\\s\\S]*?)<\\/div>/ig, function(full, tag) {\r\n\t\t\t\treturn unescape(tag);\r\n\t\t\t});\r\n\t\t\thtml = html.replace(/(<input)((?:\\s+[^>]*)?>)/ig, function($0, $1, $2) {\r\n\t\t\t\tif (!/\\s+type=\"[^\"]+\"/i.test($0)) {\r\n\t\t\t\t\treturn $1 + ' type=\"text\"' + $2;\r\n\t\t\t\t}\r\n\t\t\t\treturn $0;\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn html.replace(/(<(?:noscript|noscript\\s[^>]*)>)([\\s\\S]*?)(<\\/noscript>)/ig, function($0, $1, $2, $3) {\r\n\t\t\treturn $1 + _unescape($2).replace(/\\s+/g, ' ') + $3;\r\n\t\t})\r\n\t\t.replace(/<img[^>]*class=\"?ke-(flash|rm|media)\"?[^>]*>/ig, function(full) {\r\n\t\t\tvar imgAttrs = _getAttrList(full);\r\n\t\t\tvar styles = _getCssList(imgAttrs.style || '');\r\n\t\t\tvar attrs = _mediaAttrs(imgAttrs['data-ke-tag']);\r\n\t\t\tvar width = _undef(styles.width, '');\r\n\t\t\tvar height = _undef(styles.height, '');\r\n\t\t\tif (/px/i.test(width)) {\r\n\t\t\t\twidth = _removeUnit(width);\r\n\t\t\t}\r\n\t\t\tif (/px/i.test(height)) {\r\n\t\t\t\theight = _removeUnit(height);\r\n\t\t\t}\r\n\t\t\tattrs.width = _undef(imgAttrs.width, width);\r\n\t\t\tattrs.height = _undef(imgAttrs.height, height);\r\n\t\t\treturn _mediaEmbed(attrs);\r\n\t\t})\r\n\t\t.replace(/<img[^>]*class=\"?ke-anchor\"?[^>]*>/ig, function(full) {\r\n\t\t\tvar imgAttrs = _getAttrList(full);\r\n\t\t\treturn '<a name=\"' + unescape(imgAttrs['data-ke-name']) + '\"></a>';\r\n\t\t})\r\n\t\t.replace(/<div\\s+[^>]*data-ke-script-attr=\"([^\"]*)\"[^>]*>([\\s\\S]*?)<\\/div>/ig, function(full, attr, code) {\r\n\t\t\treturn '<script' + unescape(attr) + '>' + unescape(code) + '</script>';\r\n\t\t})\r\n\t\t.replace(/<div\\s+[^>]*data-ke-noscript-attr=\"([^\"]*)\"[^>]*>([\\s\\S]*?)<\\/div>/ig, function(full, attr, code) {\r\n\t\t\treturn '<noscript' + unescape(attr) + '>' + unescape(code) + '</noscript>';\r\n\t\t})\r\n\t\t.replace(/(<[^>]*)data-ke-src=\"([^\"]*)\"([^>]*>)/ig, function(full, start, src, end) {\r\n\t\t\tfull = full.replace(/(\\s+(?:href|src)=\")[^\"]*(\")/i, function($0, $1, $2) {\r\n\t\t\t\treturn $1 + _unescape(src) + $2;\r\n\t\t\t});\r\n\t\t\tfull = full.replace(/\\s+data-ke-src=\"[^\"]*\"/i, '');\r\n\t\t\treturn full;\r\n\t\t})\r\n\t\t.replace(/(<[^>]+\\s)data-ke-(on\\w+=\"[^\"]*\"[^>]*>)/ig, function(full, start, end) {\r\n\t\t\treturn start + end;\r\n\t\t});\r\n\t});\r\n\tself.beforeSetHtml(function(html) {\r\n\t\tif (_IE && _V <= 8) {\r\n\t\t\thtml = html.replace(/<input[^>]*>|<(select|button)[^>]*>[\\s\\S]*?<\\/\\1>/ig, function(full) {\r\n\t\t\t\tvar attrs = _getAttrList(full);\r\n\t\t\t\tvar styles = _getCssList(attrs.style || '');\r\n\t\t\t\tif (styles.display == 'none') {\r\n\t\t\t\t\treturn '<div class=\"ke-display-none\" data-ke-input-tag=\"' + escape(full) + '\"></div>';\r\n\t\t\t\t}\r\n\t\t\t\treturn full;\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn html.replace(/<embed[^>]*type=\"([^\"]+)\"[^>]*>(?:<\\/embed>)?/ig, function(full) {\r\n\t\t\tvar attrs = _getAttrList(full);\r\n\t\t\tattrs.src = _undef(attrs.src, '');\r\n\t\t\tattrs.width = _undef(attrs.width, 0);\r\n\t\t\tattrs.height = _undef(attrs.height, 0);\r\n\t\t\treturn _mediaImg(self.themesPath + 'common/blank.gif', attrs);\r\n\t\t})\r\n\t\t.replace(/<a[^>]*name=\"([^\"]+)\"[^>]*>(?:<\\/a>)?/ig, function(full) {\r\n\t\t\tvar attrs = _getAttrList(full);\r\n\t\t\tif (attrs.href !== undefined) {\r\n\t\t\t\treturn full;\r\n\t\t\t}\r\n\t\t\treturn '<img class=\"ke-anchor\" src=\"' + self.themesPath + 'common/anchor.gif\" data-ke-name=\"' + escape(attrs.name) + '\" />';\r\n\t\t})\r\n\t\t.replace(/<script([^>]*)>([\\s\\S]*?)<\\/script>/ig, function(full, attr, code) {\r\n\t\t\treturn '<div class=\"ke-script\" data-ke-script-attr=\"' + escape(attr) + '\">' + escape(code) + '</div>';\r\n\t\t})\r\n\t\t.replace(/<noscript([^>]*)>([\\s\\S]*?)<\\/noscript>/ig, function(full, attr, code) {\r\n\t\t\treturn '<div class=\"ke-noscript\" data-ke-noscript-attr=\"' + escape(attr) + '\">' + escape(code) + '</div>';\r\n\t\t})\r\n\t\t.replace(/(<[^>]*)(href|src)=\"([^\"]*)\"([^>]*>)/ig, function(full, start, key, src, end) {\r\n\t\t\tif (full.match(/\\sdata-ke-src=\"[^\"]*\"/i)) {\r\n\t\t\t\treturn full;\r\n\t\t\t}\r\n\t\t\tfull = start + key + '=\"' + src + '\"' + ' data-ke-src=\"' + _escape(src) + '\"' + end;\r\n\t\t\treturn full;\r\n\t\t})\r\n\t\t.replace(/(<[^>]+\\s)(on\\w+=\"[^\"]*\"[^>]*>)/ig, function(full, start, end) {\r\n\t\t\treturn start + 'data-ke-' + end;\r\n\t\t})\r\n\t\t.replace(/<table[^>]*\\s+border=\"0\"[^>]*>/ig, function(full) {\r\n\t\t\tif (full.indexOf('ke-zeroborder') >= 0) {\r\n\t\t\t\treturn full;\r\n\t\t\t}\r\n\t\t\treturn _addClassToTag(full, 'ke-zeroborder');\r\n\t\t});\r\n\t});\r\n});\r\n})(window);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/lang/ar.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n* Arabic Translation By daif alotaibi (http://daif.net/)\r\n*******************************************************************************/\r\n\r\nKindEditor.lang({\r\n\tsource : 'عرض المصدر',\r\n\tpreview : 'معاينة الصفحة',\r\n\tundo : 'تراجع(Ctrl+Z)',\r\n\tredo : 'إعادة التراجع(Ctrl+Y)',\r\n\tcut : 'قص(Ctrl+X)',\r\n\tcopy : 'نسخ(Ctrl+C)',\r\n\tpaste : 'لصق(Ctrl+V)',\r\n\tplainpaste : 'لصق كنص عادي',\r\n\twordpaste : 'لصق من مايكروسفت ورد',\r\n\tselectall : 'تحديد الكل',\r\n\tjustifyleft : 'محاذاه لليسار',\r\n\tjustifycenter : 'محاذاه للوسط',\r\n\tjustifyright : 'محاذاه لليمين',\r\n\tjustifyfull : 'محاذاه تلقائية',\r\n\tinsertorderedlist : 'قائمة مرقمه',\r\n\tinsertunorderedlist : 'قائمة نقطية',\r\n\tindent : 'إزاحه النص',\r\n\toutdent : 'إلغاء الازاحة',\r\n\tsubscript : 'أسفل النص',\r\n\tsuperscript : 'أعلى النص',\r\n\tformatblock : 'Paragraph format',\r\n\tfontname : 'نوع الخط',\r\n\tfontsize : 'حجم الخط',\r\n\tforecolor : 'لون النص',\r\n\thilitecolor : 'لون خلفية النص',\r\n\tbold : 'عريض(Ctrl+B)',\r\n\titalic : 'مائل(Ctrl+I)',\r\n\tunderline : 'خط تحت النص(Ctrl+U)',\r\n\tstrikethrough : 'خط على النص',\r\n\tremoveformat : 'إزالة التنسيق',\r\n\timage : 'إدراج صورة',\r\n\tmultiimage : 'Multi image',\r\n\tflash : 'إدراج فلاش',\r\n\tmedia : 'إدراج وسائط متعددة',\r\n\ttable : 'إدراج جدول',\r\n\ttablecell : 'خلية',\r\n\thr : 'إدراج خط أفقي',\r\n\temoticons : 'إدراج وجه ضاحك',\r\n\tlink : 'رابط',\r\n\tunlink : 'إزالة الرابط',\r\n\tfullscreen : 'محرر ملئ الشاشة',\r\n\tabout : 'حول',\r\n\tprint : 'طباعة',\r\n\tfilemanager : 'مدير الملفات',\r\n\tcode : 'إدراج نص برمجي',\r\n\tmap : 'خرائط قووقل',\r\n\tbaidumap : 'خرائط قووقل',\r\n\tlineheight : 'إرتفاع السطر',\r\n\tclearhtml : 'مسح كود HTML',\r\n\tpagebreak : 'إدراج فاصل صفحات',\r\n\tquickformat : 'تنسيق سريع',\r\n\tinsertfile : 'إدراج ملف',\r\n\ttemplate : 'إدراج قالب',\r\n\tanchor : 'رابط',\r\n\tyes : 'موافق',\r\n\tno : 'إلغاء',\r\n\tclose : 'إغلاق',\r\n\teditImage : 'خصائص الصورة',\r\n\tdeleteImage : 'حذفالصورة',\r\n\teditFlash : 'خصائص الفلاش',\r\n\tdeleteFlash : 'حذف الفلاش',\r\n\teditMedia : 'خصائص الوسائط',\r\n\tdeleteMedia : 'حذف الوسائط',\r\n\teditLink : 'خصائص الرابط',\r\n\tdeleteLink : 'إزالة الرابط',\r\n\ttableprop : 'خصائص الجدول',\r\n\ttablecellprop : 'خصائص الخلية',\r\n\ttableinsert : 'إدراج جدول',\r\n\ttabledelete : 'حذف جدول',\r\n\ttablecolinsertleft : 'إدراج عمود لليسار',\r\n\ttablecolinsertright : 'إدراج عمود لليسار',\r\n\ttablerowinsertabove : 'إدراج صف للأعلى',\r\n\ttablerowinsertbelow : 'إدراج صف للأسفل',\r\n\ttablerowmerge : 'دمج للأسفل',\r\n\ttablecolmerge : 'دمج لليمين',\r\n\ttablerowsplit : 'تقسم الصف',\r\n\ttablecolsplit : 'تقسيم العمود',\r\n\ttablecoldelete : 'حذف العمود',\r\n\ttablerowdelete : 'حذف الصف',\r\n\tnoColor : 'إفتراضي',\r\n\tpleaseSelectFile : 'Please select file.',\r\n\tinvalidImg : \"الرجاء إدخال رابط صحيح.\\nالملفات المسموح بها: jpg,gif,bmp,png\",\r\n\tinvalidMedia : \"الرجاء إدخال رابط صحيح.\\nالملفات المسموح بها: swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb\",\r\n\tinvalidWidth : \"العرض يجب أن يكون رقم.\",\r\n\tinvalidHeight : \"الإرتفاع يجب أن يكون رقم.\",\r\n\tinvalidBorder : \"عرض الحد يجب أن يكون رقم.\",\r\n\tinvalidUrl : \"الرجاء إدخال رابط حيح.\",\r\n\tinvalidRows : 'صفوف غير صحيح.',\r\n\tinvalidCols : 'أعمدة غير صحيحة.',\r\n\tinvalidPadding : 'The padding must be number.',\r\n\tinvalidSpacing : 'The spacing must be number.',\r\n\tinvalidJson : 'Invalid JSON string.',\r\n\tuploadSuccess : 'تم رفع الملف بنجاح.',\r\n\tcutError : 'حاليا غير مدعومة من المتصفح, إستخدم إختصار لوحة المفاتيح (Ctrl+X).',\r\n\tcopyError : 'حاليا غير مدعومة من المتصفح, إستخدم إختصار لوحة المفاتيح (Ctrl+C).',\r\n\tpasteError : 'حاليا غير مدعومة من المتصفح, إستخدم إختصار لوحة المفاتيح (Ctrl+V).',\r\n\tajaxLoading : 'Loading ...',\r\n\tuploadLoading : 'Uploading ...',\r\n\tuploadError : 'Upload Error',\r\n\t'plainpaste.comment' : 'إستخدم إختصار لوحة المفاتيح (Ctrl+V) للصق داخل النافذة.',\r\n\t'wordpaste.comment' : 'إستخدم إختصار لوحة المفاتيح (Ctrl+V) للصق داخل النافذة.',\r\n\t'code.pleaseInput' : 'Please input code.',\r\n\t'link.url' : 'الرابط',\r\n\t'link.linkType' : 'الهدف',\r\n\t'link.newWindow' : 'نافذة جديدة',\r\n\t'link.selfWindow' : 'نفس النافذة',\r\n\t'flash.url' : 'الرابط',\r\n\t'flash.width' : 'العرض',\r\n\t'flash.height' : 'الإرتفاع',\r\n\t'flash.upload' : 'رفع',\r\n\t'flash.viewServer' : 'أستعراض',\r\n\t'media.url' : 'الرابط',\r\n\t'media.width' : 'العرض',\r\n\t'media.height' : 'الإرتفاع',\r\n\t'media.autostart' : 'تشغيل تلقائي',\r\n\t'media.upload' : 'رفع',\r\n\t'media.viewServer' : 'أستعراض',\r\n\t'image.remoteImage' : 'إدراج الرابط',\r\n\t'image.localImage' : 'رفع',\r\n\t'image.remoteUrl' : 'الرابط',\r\n\t'image.localUrl' : 'الملف',\r\n\t'image.size' : 'الحجم',\r\n\t'image.width' : 'العرض',\r\n\t'image.height' : 'الإرتفاع',\r\n\t'image.resetSize' : 'إستعادة الأبعاد',\r\n\t'image.align' : 'محاذاة',\r\n\t'image.defaultAlign' : 'الإفتراضي',\r\n\t'image.leftAlign' : 'اليسار',\r\n\t'image.rightAlign' : 'اليمين',\r\n\t'image.imgTitle' : 'العنوان',\r\n\t'image.upload' : 'أستعراض',\r\n\t'image.viewServer' : 'أستعراض',\r\n\t'multiimage.uploadDesc' : 'Allows users to upload <%=uploadLimit%> images, single image size not exceeding <%=sizeLimit%>',\r\n\t'multiimage.startUpload' : 'Start upload',\r\n\t'multiimage.clearAll' : 'Clear all',\r\n\t'multiimage.insertAll' : 'Insert all',\r\n\t'multiimage.queueLimitExceeded' : 'Queue limit exceeded.',\r\n\t'multiimage.fileExceedsSizeLimit' : 'File exceeds size limit.',\r\n\t'multiimage.zeroByteFile' : 'Zero byte file.',\r\n\t'multiimage.invalidFiletype' : 'Invalid file type.',\r\n\t'multiimage.unknownError' : 'Unknown upload error.',\r\n\t'multiimage.pending' : 'Pending ...',\r\n\t'multiimage.uploadError' : 'Upload error',\r\n\t'filemanager.emptyFolder' : 'فارغ',\r\n\t'filemanager.moveup' : 'المجلد الأب',\r\n\t'filemanager.viewType' : 'العرض: ',\r\n\t'filemanager.viewImage' : 'مصغرات',\r\n\t'filemanager.listImage' : 'قائمة',\r\n\t'filemanager.orderType' : 'الترتيب: ',\r\n\t'filemanager.fileName' : 'بالإسم',\r\n\t'filemanager.fileSize' : 'بالحجم',\r\n\t'filemanager.fileType' : 'بالنوع',\r\n\t'insertfile.url' : 'الرابط',\r\n\t'insertfile.title' : 'العنوان',\r\n\t'insertfile.upload' : 'رفع',\r\n\t'insertfile.viewServer' : 'أستعراض',\r\n\t'table.cells' : 'خلايا',\r\n\t'table.rows' : 'صفوف',\r\n\t'table.cols' : 'أعمدة',\r\n\t'table.size' : 'الأبعاد',\r\n\t'table.width' : 'العرض',\r\n\t'table.height' : 'الإرتفاع',\r\n\t'table.percent' : '%',\r\n\t'table.px' : 'px',\r\n\t'table.space' : 'الخارج',\r\n\t'table.padding' : 'الداخل',\r\n\t'table.spacing' : 'الفراغات',\r\n\t'table.align' : 'محاذاه',\r\n\t'table.textAlign' : 'افقى',\r\n\t'table.verticalAlign' : 'رأسي',\r\n\t'table.alignDefault' : 'إفتراضي',\r\n\t'table.alignLeft' : 'يسار',\r\n\t'table.alignCenter' : 'وسط',\r\n\t'table.alignRight' : 'يمين',\r\n\t'table.alignTop' : 'أعلى',\r\n\t'table.alignMiddle' : 'منتصف',\r\n\t'table.alignBottom' : 'أسفل',\r\n\t'table.alignBaseline' : 'Baseline',\r\n\t'table.border' : 'الحدود',\r\n\t'table.borderWidth' : 'العرض',\r\n\t'table.borderColor' : 'اللون',\r\n\t'table.backgroundColor' : 'الخلفية',\r\n\t'map.address' : 'العنوان: ',\r\n\t'map.search' : 'بحث',\r\n\t'baidumap.address' : 'العنوان: ',\r\n\t'baidumap.search' : 'بحث',\r\n\t'baidumap.insertDynamicMap' : 'Dynamic Map',\r\n\t'anchor.name' : 'إسم الرابط',\r\n\t'formatblock.formatBlock' : {\r\n\t\th1 : 'عنوان 1',\r\n\t\th2 : 'عنوان 2',\r\n\t\th3 : 'عنوان 3',\r\n\t\th4 : 'عنوان 4',\r\n\t\tp : 'عادي'\r\n\t},\r\n\t'fontname.fontName' : {\r\n\t\t'Arial' : 'Arial',\r\n\t\t'Arial Black' : 'Arial Black',\r\n\t\t'Comic Sans MS' : 'Comic Sans MS',\r\n\t\t'Courier New' : 'Courier New',\r\n\t\t'Garamond' : 'Garamond',\r\n\t\t'Georgia' : 'Georgia',\r\n\t\t'Tahoma' : 'Tahoma',\r\n\t\t'Times New Roman' : 'Times New Roman',\r\n\t\t'Trebuchet MS' : 'Trebuchet MS',\r\n\t\t'Verdana' : 'Verdana'\r\n\t},\r\n\t'lineheight.lineHeight' : [\r\n\t\t{'1' : 'إرتفاع السطر 1'},\r\n\t\t{'1.5' : 'إرتفاع السطر 1.5'},\r\n\t\t{'2' : 'إرتفاع السطر 2'},\r\n\t\t{'2.5' : 'إرتفاع السطر 2.5'},\r\n\t\t{'3' : 'إرتفاع السطر 3'}\r\n\t],\r\n\t'template.selectTemplate' : 'قالب',\r\n\t'template.replaceContent' : 'إستبدال المحتوى الحالي',\r\n\t'template.fileList' : {\r\n\t\t'1.html' : 'صورة ونص',\r\n\t\t'2.html' : 'جدول',\r\n\t\t'3.html' : 'قائمة'\r\n\t}\r\n}, 'ar');\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/lang/en.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.lang({\r\n\tsource : 'Source',\r\n\tpreview : 'Preview',\r\n\tundo : 'Undo(Ctrl+Z)',\r\n\tredo : 'Redo(Ctrl+Y)',\r\n\tcut : 'Cut(Ctrl+X)',\r\n\tcopy : 'Copy(Ctrl+C)',\r\n\tpaste : 'Paste(Ctrl+V)',\r\n\tplainpaste : 'Paste as plain text',\r\n\twordpaste : 'Paste from Word',\r\n\tselectall : 'Select all',\r\n\tjustifyleft : 'Align left',\r\n\tjustifycenter : 'Align center',\r\n\tjustifyright : 'Align right',\r\n\tjustifyfull : 'Align full',\r\n\tinsertorderedlist : 'Ordered list',\r\n\tinsertunorderedlist : 'Unordered list',\r\n\tindent : 'Increase indent',\r\n\toutdent : 'Decrease indent',\r\n\tsubscript : 'Subscript',\r\n\tsuperscript : 'Superscript',\r\n\tformatblock : 'Paragraph format',\r\n\tfontname : 'Font family',\r\n\tfontsize : 'Font size',\r\n\tforecolor : 'Text color',\r\n\thilitecolor : 'Highlight color',\r\n\tbold : 'Bold(Ctrl+B)',\r\n\titalic : 'Italic(Ctrl+I)',\r\n\tunderline : 'Underline(Ctrl+U)',\r\n\tstrikethrough : 'Strikethrough',\r\n\tremoveformat : 'Remove format',\r\n\timage : 'Image',\r\n\tmultiimage : 'Multi image',\r\n\tflash : 'Flash',\r\n\tmedia : 'Embeded media',\r\n\ttable : 'Table',\r\n\ttablecell : 'Cell',\r\n\thr : 'Insert horizontal line',\r\n\temoticons : 'Insert emoticon',\r\n\tlink : 'Link',\r\n\tunlink : 'Unlink',\r\n\tfullscreen : 'Toggle fullscreen mode',\r\n\tabout : 'About',\r\n\tprint : 'Print',\r\n\tfilemanager : 'File Manager',\r\n\tcode : 'Insert code',\r\n\tmap : 'Google Maps',\r\n\tbaidumap : 'Baidu Maps',\r\n\tlineheight : 'Line height',\r\n\tclearhtml : 'Clear HTML code',\r\n\tpagebreak : 'Insert Page Break',\r\n\tquickformat : 'Quick Format',\r\n\tinsertfile : 'Insert file',\r\n\ttemplate : 'Insert Template',\r\n\tanchor : 'Anchor',\r\n\tyes : 'OK',\r\n\tno : 'Cancel',\r\n\tclose : 'Close',\r\n\teditImage : 'Image properties',\r\n\tdeleteImage : 'Delete image',\r\n\teditFlash : 'Flash properties',\r\n\tdeleteFlash : 'Delete flash',\r\n\teditMedia : 'Media properties',\r\n\tdeleteMedia : 'Delete media',\r\n\teditLink : 'Link properties',\r\n\tdeleteLink : 'Unlink',\r\n\ttableprop : 'Table properties',\r\n\ttablecellprop : 'Cell properties',\r\n\ttableinsert : 'Insert table',\r\n\ttabledelete : 'Delete table',\r\n\ttablecolinsertleft : 'Insert column left',\r\n\ttablecolinsertright : 'Insert column right',\r\n\ttablerowinsertabove : 'Insert row above',\r\n\ttablerowinsertbelow : 'Insert row below',\r\n\ttablerowmerge : 'Merge down',\r\n\ttablecolmerge : 'Merge right',\r\n\ttablerowsplit : 'Split row',\r\n\ttablecolsplit : 'Split column',\r\n\ttablecoldelete : 'Delete column',\r\n\ttablerowdelete : 'Delete row',\r\n\tnoColor : 'Default',\r\n\tpleaseSelectFile : 'Please select file.',\r\n\tinvalidImg : \"Please type valid URL.\\nAllowed file extension: jpg,gif,bmp,png\",\r\n\tinvalidMedia : \"Please type valid URL.\\nAllowed file extension: swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb\",\r\n\tinvalidWidth : \"The width must be number.\",\r\n\tinvalidHeight : \"The height must be number.\",\r\n\tinvalidBorder : \"The border must be number.\",\r\n\tinvalidUrl : \"Please type valid URL.\",\r\n\tinvalidRows : 'Invalid rows.',\r\n\tinvalidCols : 'Invalid columns.',\r\n\tinvalidPadding : 'The padding must be number.',\r\n\tinvalidSpacing : 'The spacing must be number.',\r\n\tinvalidJson : 'Invalid JSON string.',\r\n\tuploadSuccess : 'Upload success.',\r\n\tcutError : 'Currently not supported by your browser, use keyboard shortcut(Ctrl+X) instead.',\r\n\tcopyError : 'Currently not supported by your browser, use keyboard shortcut(Ctrl+C) instead.',\r\n\tpasteError : 'Currently not supported by your browser, use keyboard shortcut(Ctrl+V) instead.',\r\n\tajaxLoading : 'Loading ...',\r\n\tuploadLoading : 'Uploading ...',\r\n\tuploadError : 'Upload Error',\r\n\t'plainpaste.comment' : 'Use keyboard shortcut(Ctrl+V) to paste the text into the window.',\r\n\t'wordpaste.comment' : 'Use keyboard shortcut(Ctrl+V) to paste the text into the window.',\r\n\t'code.pleaseInput' : 'Please input code.',\r\n\t'link.url' : 'URL',\r\n\t'link.linkType' : 'Target',\r\n\t'link.newWindow' : 'New window',\r\n\t'link.selfWindow' : 'Same window',\r\n\t'flash.url' : 'URL',\r\n\t'flash.width' : 'Width',\r\n\t'flash.height' : 'Height',\r\n\t'flash.upload' : 'Upload',\r\n\t'flash.viewServer' : 'Browse',\r\n\t'media.url' : 'URL',\r\n\t'media.width' : 'Width',\r\n\t'media.height' : 'Height',\r\n\t'media.autostart' : 'Auto start',\r\n\t'media.upload' : 'Upload',\r\n\t'media.viewServer' : 'Browse',\r\n\t'image.remoteImage' : 'Insert URL',\r\n\t'image.localImage' : 'Upload',\r\n\t'image.remoteUrl' : 'URL',\r\n\t'image.localUrl' : 'File',\r\n\t'image.size' : 'Size',\r\n\t'image.width' : 'Width',\r\n\t'image.height' : 'Height',\r\n\t'image.resetSize' : 'Reset dimensions',\r\n\t'image.align' : 'Align',\r\n\t'image.defaultAlign' : 'Default',\r\n\t'image.leftAlign' : 'Left',\r\n\t'image.rightAlign' : 'Right',\r\n\t'image.imgTitle' : 'Title',\r\n\t'image.upload' : 'Browse',\r\n\t'image.viewServer' : 'Browse',\r\n\t'multiimage.uploadDesc' : 'Allows users to upload <%=uploadLimit%> images, single image size not exceeding <%=sizeLimit%>',\r\n\t'multiimage.startUpload' : 'Start upload',\r\n\t'multiimage.clearAll' : 'Clear all',\r\n\t'multiimage.insertAll' : 'Insert all',\r\n\t'multiimage.queueLimitExceeded' : 'Queue limit exceeded.',\r\n\t'multiimage.fileExceedsSizeLimit' : 'File exceeds size limit.',\r\n\t'multiimage.zeroByteFile' : 'Zero byte file.',\r\n\t'multiimage.invalidFiletype' : 'Invalid file type.',\r\n\t'multiimage.unknownError' : 'Unknown upload error.',\r\n\t'multiimage.pending' : 'Pending ...',\r\n\t'multiimage.uploadError' : 'Upload error',\r\n\t'filemanager.emptyFolder' : 'Blank',\r\n\t'filemanager.moveup' : 'Parent folder',\r\n\t'filemanager.viewType' : 'Display: ',\r\n\t'filemanager.viewImage' : 'Thumbnails',\r\n\t'filemanager.listImage' : 'List',\r\n\t'filemanager.orderType' : 'Sorting: ',\r\n\t'filemanager.fileName' : 'By name',\r\n\t'filemanager.fileSize' : 'By size',\r\n\t'filemanager.fileType' : 'By type',\r\n\t'insertfile.url' : 'URL',\r\n\t'insertfile.title' : 'Title',\r\n\t'insertfile.upload' : 'Upload',\r\n\t'insertfile.viewServer' : 'Browse',\r\n\t'table.cells' : 'Cells',\r\n\t'table.rows' : 'Rows',\r\n\t'table.cols' : 'Columns',\r\n\t'table.size' : 'Dimensions',\r\n\t'table.width' : 'Width',\r\n\t'table.height' : 'Height',\r\n\t'table.percent' : '%',\r\n\t'table.px' : 'px',\r\n\t'table.space' : 'Space',\r\n\t'table.padding' : 'Padding',\r\n\t'table.spacing' : 'Spacing',\r\n\t'table.align' : 'Align',\r\n\t'table.textAlign' : 'Horizontal',\r\n\t'table.verticalAlign' : 'Vertical',\r\n\t'table.alignDefault' : 'Default',\r\n\t'table.alignLeft' : 'Left',\r\n\t'table.alignCenter' : 'Center',\r\n\t'table.alignRight' : 'Right',\r\n\t'table.alignTop' : 'Top',\r\n\t'table.alignMiddle' : 'Middle',\r\n\t'table.alignBottom' : 'Bottom',\r\n\t'table.alignBaseline' : 'Baseline',\r\n\t'table.border' : 'Border',\r\n\t'table.borderWidth' : 'Width',\r\n\t'table.borderColor' : 'Color',\r\n\t'table.backgroundColor' : 'Background',\r\n\t'map.address' : 'Address: ',\r\n\t'map.search' : 'Search',\r\n\t'baidumap.address' : 'Address: ',\r\n\t'baidumap.search' : 'Search',\r\n\t'baidumap.insertDynamicMap' : 'Dynamic Map',\r\n\t'anchor.name' : 'Anchor name',\r\n\t'formatblock.formatBlock' : {\r\n\t\th1 : 'Heading 1',\r\n\t\th2 : 'Heading 2',\r\n\t\th3 : 'Heading 3',\r\n\t\th4 : 'Heading 4',\r\n\t\tp : 'Normal'\r\n\t},\r\n\t'fontname.fontName' : {\r\n\t\t'Arial' : 'Arial',\r\n\t\t'Arial Black' : 'Arial Black',\r\n\t\t'Comic Sans MS' : 'Comic Sans MS',\r\n\t\t'Courier New' : 'Courier New',\r\n\t\t'Garamond' : 'Garamond',\r\n\t\t'Georgia' : 'Georgia',\r\n\t\t'Tahoma' : 'Tahoma',\r\n\t\t'Times New Roman' : 'Times New Roman',\r\n\t\t'Trebuchet MS' : 'Trebuchet MS',\r\n\t\t'Verdana' : 'Verdana'\r\n\t},\r\n\t'lineheight.lineHeight' : [\r\n\t\t{'1' : 'Line height 1'},\r\n\t\t{'1.5' : 'Line height 1.5'},\r\n\t\t{'2' : 'Line height 2'},\r\n\t\t{'2.5' : 'Line height 2.5'},\r\n\t\t{'3' : 'Line height 3'}\r\n\t],\r\n\t'template.selectTemplate' : 'Template',\r\n\t'template.replaceContent' : 'Replace current content',\r\n\t'template.fileList' : {\r\n\t\t'1.html' : 'Image and Text',\r\n\t\t'2.html' : 'Table',\r\n\t\t'3.html' : 'List'\r\n\t}\r\n}, 'en');\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/lang/ko.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Composite <ukjinplant@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.lang({\r\n\tsource : '소스',\r\n\tpreview : '미리보기',\r\n\tundo : '작업취소(Ctrl+Z)',\r\n\tredo : '작업재개(Ctrl+Y)',\r\n\tcut : '잘라내기(Ctrl+X)',\r\n\tcopy : '복사(Ctrl+C)',\r\n\tpaste : '붙여넣기(Ctrl+V)',\r\n\tplainpaste : '일반 텍스트로 붙여넣기',\r\n\twordpaste : '워드 문서로 붙여넣기',\r\n\tselectall : '전체 선택',\r\n\tjustifyleft : '왼쪽 정렬',\r\n\tjustifycenter : '가운데 정렬',\r\n\tjustifyright : '오른쪽 정렬',\r\n\tjustifyfull : '양쪽 정렬',\r\n\tinsertorderedlist : '순서 목록',\r\n\tinsertunorderedlist : '비순서 목록',\r\n\tindent : '들여쓰기',\r\n\toutdent : '내어쓰기',\r\n\tsubscript : '아랫첨자',\r\n\tsuperscript : '윗첨자',\r\n\tformatblock : '문단 형식',\r\n\tfontname : '글꼴',\r\n\tfontsize : '글자 크기',\r\n\tforecolor : '글자색',\r\n\thilitecolor : '강조색',\r\n\tbold : '굵게(Ctrl+B)',\r\n\titalic : '이텔릭(Ctrl+I)',\r\n\tunderline : '빝줄(Ctrl+U)',\r\n\tstrikethrough : '취소선',\r\n\tremoveformat : '형식 제거',\r\n\timage : '이미지 추가',\r\n\tmultiimage : '여러 이미지 추가',\r\n\tflash : '플래시 추가',\r\n\tmedia : '미디어 추가',\r\n\ttable : '표',\r\n\ttablecell : '열',\r\n\thr : '구분선 추가',\r\n\temoticons : '이모티콘 추가',\r\n\tlink : '링크',\r\n\tunlink : '링크 제거',\r\n\tfullscreen : '전체 화면 모드',\r\n\tabout : '이 에디터는...',\r\n\tprint : '인쇄',\r\n\tfilemanager : '파일 관리자',\r\n\tcode : '코드 추가',\r\n\tmap : '구글 맵 추가',\r\n\tbaidumap : '바이두 맵 추가',\r\n\tlineheight : '행 간격',\r\n\tclearhtml : 'HTML 코드 정리',\r\n\tpagebreak : '페이지 구분 추가',\r\n\tquickformat : '빠른 형식',\r\n\tinsertfile : '파일 추가',\r\n\ttemplate : '템플릿 추가',\r\n\tanchor : '책갈피',\r\n\tyes : '확인',\r\n\tno : '취소',\r\n\tclose : '닫기',\r\n\teditImage : '이미지 속성',\r\n\tdeleteImage : '이미지 삭제',\r\n\teditFlash : '플래시 속성',\r\n\tdeleteFlash : '플래시 삭제',\r\n\teditMedia : '미디어 속성',\r\n\tdeleteMedia : '미디어 삭제',\r\n\teditLink : '링크 속성',\r\n\tdeleteLink : '링크 삭제',\r\n\ttableprop : '표 속성',\r\n\ttablecellprop : '열 속성',\r\n\ttableinsert : '표 추가',\r\n\ttabledelete : '표 삭제',\r\n\ttablecolinsertleft : '왼쪽으로 열 추가',\r\n\ttablecolinsertright : '오른쪽으로 열 추가',\r\n\ttablerowinsertabove : '위쪽으로 열 추가',\r\n\ttablerowinsertbelow : '아래쪽으로 열 추가',\r\n\ttablerowmerge : '아래로 병합',\r\n\ttablecolmerge : '오른쪽으로 병합',\r\n\ttablerowsplit : '행 나누기',\r\n\ttablecolsplit : '열 나누기',\r\n\ttablecoldelete : '열 삭제',\r\n\ttablerowdelete : '행 삭제',\r\n\tnoColor : '기본색',\r\n\tpleaseSelectFile : '파일 선택',\r\n\tinvalidImg : \"올바른 주소를 입력하세요.\\njpg,gif,bmp,png 형식이 가능합니다.\",\r\n\tinvalidMedia : \"올바른 주소를 입력하세요.\\nswf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb 형식이 가능합니다.\",\r\n\tinvalidWidth : \"넓이 값은 숫자여야 합니다.\",\r\n\tinvalidHeight : \"높이 값은 숫자여야 합니다.\",\r\n\tinvalidBorder : \"굵기 값은 숫자여야 합니다.\",\r\n\tinvalidUrl : \"올바른 주소를 입력하세요.\",\r\n\tinvalidRows : '올바른 행이 아닙니다.',\r\n\tinvalidCols : '올바른 열이 아닙니다.',\r\n\tinvalidPadding : '안쪽 여백 값은 숫자여야 합니다.',\r\n\tinvalidSpacing : '간격 길이 값은 숫자여야 합니다.',\r\n\tinvalidJson : '올바른 JSON 형식이 아닙니다.',\r\n\tuploadSuccess : '업로드가 완료되었습니다.',\r\n\tcutError : '브라우저가 잘라내기 기능을 지원하지 않습니다, 단축키로 대신 사용하세요. (Ctrl+X)',\r\n\tcopyError : '브라우저가 복사 기능을 지원하지 않습니다, 단축키로 대신 사용하세요. (Ctrl+X)',\r\n\tpasteError : '브라우저가 붙여넣기 기능을 지원하지 않습니다, 단축키로 대신 사용하세요. (Ctrl+X)',\r\n\tajaxLoading : '불러오는 중 ...',\r\n\tuploadLoading : '업로드 중 ...',\r\n\tuploadError : '업로드 오류',\r\n\t'plainpaste.comment' : '단축키(Ctrl+V)를 통하여 여기에 텍스트를 붙여넣으세요.',\r\n\t'wordpaste.comment' : '단축키(Ctrl+V)를 통하여 여기에 워드 텍스트를 붙여넣으세요.',\r\n\t'code.pleaseInput' : 'Please input code.',\r\n\t'link.url' : '주소',\r\n\t'link.linkType' : '창',\r\n\t'link.newWindow' : '새 창',\r\n\t'link.selfWindow' : '현재 창',\r\n\t'flash.url' : '주소',\r\n\t'flash.width' : '넓이',\r\n\t'flash.height' : '높이',\r\n\t'flash.upload' : '업로드',\r\n\t'flash.viewServer' : '찾아보기',\r\n\t'media.url' : '주소',\r\n\t'media.width' : '넓이',\r\n\t'media.height' : '높이',\r\n\t'media.autostart' : '자동 시작',\r\n\t'media.upload' : '업로드',\r\n\t'media.viewServer' : '찾아보기',\r\n\t'image.remoteImage' : '외부 이미지',\r\n\t'image.localImage' : '내부 이미지',\r\n\t'image.remoteUrl' : '주소',\r\n\t'image.localUrl' : '파일',\r\n\t'image.size' : '크기',\r\n\t'image.width' : '넓이',\r\n\t'image.height' : '높이',\r\n\t'image.resetSize' : '기본 크기로',\r\n\t'image.align' : '정렬',\r\n\t'image.defaultAlign' : '기본',\r\n\t'image.leftAlign' : '왼쪽',\r\n\t'image.rightAlign' : '오른쪽',\r\n\t'image.imgTitle' : '제목',\r\n\t'image.upload' : '찾아보기',\r\n\t'image.viewServer' : '찾아보기',\r\n\t'multiimage.uploadDesc' : '최대 이미지 개수: <%=uploadLimit%>개, 개당 이미지 크기: <%=sizeLimit%>',\r\n\t'multiimage.startUpload' : '업로드 시작',\r\n\t'multiimage.clearAll' : '모두 삭제',\r\n\t'multiimage.insertAll' : '모두 삽입',\r\n\t'multiimage.queueLimitExceeded' : '업로드 개수가 초과되었습니다.',\r\n\t'multiimage.fileExceedsSizeLimit' : '업로드 크기가 초과되었습니다.',\r\n\t'multiimage.zeroByteFile' : '파일 크기가 없습니다.',\r\n\t'multiimage.invalidFiletype' : '올바른 이미지가 아닙니다.',\r\n\t'multiimage.unknownError' : '알 수 없는 업로드 오류가 발생하였습니다.',\r\n\t'multiimage.pending' : '처리 중 ...',\r\n\t'multiimage.uploadError' : '업로드 오류',\r\n\t'filemanager.emptyFolder' : '빈 폴더',\r\n\t'filemanager.moveup' : '위로',\r\n\t'filemanager.viewType' : '보기 방식: ',\r\n\t'filemanager.viewImage' : '미리 보기',\r\n\t'filemanager.listImage' : '목록',\r\n\t'filemanager.orderType' : '정렬 방식: ',\r\n\t'filemanager.fileName' : '이름별',\r\n\t'filemanager.fileSize' : '크기별',\r\n\t'filemanager.fileType' : '종류별',\r\n\t'insertfile.url' : '주소',\r\n\t'insertfile.title' : '제목',\r\n\t'insertfile.upload' : '업로드',\r\n\t'insertfile.viewServer' : '찾아보기',\r\n\t'table.cells' : '열',\r\n\t'table.rows' : '행',\r\n\t'table.cols' : '열',\r\n\t'table.size' : '표 크기',\r\n\t'table.width' : '넓이',\r\n\t'table.height' : '높이',\r\n\t'table.percent' : '%',\r\n\t'table.px' : 'px',\r\n\t'table.space' : '간격',\r\n\t'table.padding' : '안쪽여백',\r\n\t'table.spacing' : '간격',\r\n\t'table.align' : '정렬',\r\n\t'table.textAlign' : '수직',\r\n\t'table.verticalAlign' : '수평',\r\n\t'table.alignDefault' : '기본',\r\n\t'table.alignLeft' : '왼쪽',\r\n\t'table.alignCenter' : '가운데',\r\n\t'table.alignRight' : '오른쪽',\r\n\t'table.alignTop' : '위쪽',\r\n\t'table.alignMiddle' : '중간',\r\n\t'table.alignBottom' : '아래쪽',\r\n\t'table.alignBaseline' : '글자기준',\r\n\t'table.border' : '테두리',\r\n\t'table.borderWidth' : '크기',\r\n\t'table.borderColor' : '색상',\r\n\t'table.backgroundColor' : '배경',\r\n\t'map.address' : '주소: ',\r\n\t'map.search' : '검색',\r\n\t'baidumap.address' : '주소: ',\r\n\t'baidumap.search' : '검색',\r\n\t'baidumap.insertDynamicMap' : '동적 지도',\r\n\t'anchor.name' : '책갈피명',\r\n\t'formatblock.formatBlock' : {\r\n\t\th1 : '제목 1',\r\n\t\th2 : '제목 2',\r\n\t\th3 : '제목 3',\r\n\t\th4 : '제목 4',\r\n\t\tp : '본문'\r\n\t},\r\n\t'fontname.fontName' : {\r\n\t\t'Gulim' : '굴림',\r\n\t\t'Dotum' : '돋움',\r\n\t\t'Batang' : '바탕',\r\n\t\t'Gungsuh' : '궁서',\r\n\t\t'Malgun Gothic' : '맑은 고딕',\r\n\t\t'Arial' : 'Arial',\r\n\t\t'Arial Black' : 'Arial Black',\r\n\t\t'Comic Sans MS' : 'Comic Sans MS',\r\n\t\t'Courier New' : 'Courier New',\r\n\t\t'Garamond' : 'Garamond',\r\n\t\t'Georgia' : 'Georgia',\r\n\t\t'Tahoma' : 'Tahoma',\r\n\t\t'Times New Roman' : 'Times New Roman',\r\n\t\t'Trebuchet MS' : 'Trebuchet MS',\r\n\t\t'Verdana' : 'Verdana'\r\n\t},\r\n\t'lineheight.lineHeight' : [\r\n\t\t{'1' : '행간 1'},\r\n\t\t{'1.5' : '행간 1.5'},\r\n\t\t{'2' : '행간 2'},\r\n\t\t{'2.5' : '행간 2.5'},\r\n\t\t{'3' : '행간 3'}\r\n\t],\r\n\t'template.selectTemplate' : '템플릿',\r\n\t'template.replaceContent' : '내용 바꾸기',\r\n\t'template.fileList' : {\r\n\t\t'1.html' : '이미지와 텍스트',\r\n\t\t'2.html' : '표',\r\n\t\t'3.html' : '목록'\r\n\t}\r\n}, 'ko');\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/lang/zh_CN.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.lang({\r\n\tsource : 'HTML代码',\r\n\tpreview : '预览',\r\n\tundo : '后退(Ctrl+Z)',\r\n\tredo : '前进(Ctrl+Y)',\r\n\tcut : '剪切(Ctrl+X)',\r\n\tcopy : '复制(Ctrl+C)',\r\n\tpaste : '粘贴(Ctrl+V)',\r\n\tplainpaste : '粘贴为无格式文本',\r\n\twordpaste : '从Word粘贴',\r\n\tselectall : '全选(Ctrl+A)',\r\n\tjustifyleft : '左对齐',\r\n\tjustifycenter : '居中',\r\n\tjustifyright : '右对齐',\r\n\tjustifyfull : '两端对齐',\r\n\tinsertorderedlist : '编号',\r\n\tinsertunorderedlist : '项目符号',\r\n\tindent : '增加缩进',\r\n\toutdent : '减少缩进',\r\n\tsubscript : '下标',\r\n\tsuperscript : '上标',\r\n\tformatblock : '段落',\r\n\tfontname : '字体',\r\n\tfontsize : '文字大小',\r\n\tforecolor : '文字颜色',\r\n\thilitecolor : '文字背景',\r\n\tbold : '粗体(Ctrl+B)',\r\n\titalic : '斜体(Ctrl+I)',\r\n\tunderline : '下划线(Ctrl+U)',\r\n\tstrikethrough : '删除线',\r\n\tremoveformat : '删除格式',\r\n\timage : '图片',\r\n\tmultiimage : '批量图片上传',\r\n\tflash : 'Flash',\r\n\tmedia : '视音频',\r\n\ttable : '表格',\r\n\ttablecell : '单元格',\r\n\thr : '插入横线',\r\n\temoticons : '插入表情',\r\n\tlink : '超级链接',\r\n\tunlink : '取消超级链接',\r\n\tfullscreen : '全屏显示',\r\n\tabout : '关于',\r\n\tprint : '打印(Ctrl+P)',\r\n\tfilemanager : '文件空间',\r\n\tcode : '插入程序代码',\r\n\tmap : 'Google地图',\r\n\tbaidumap : '百度地图',\r\n\tlineheight : '行距',\r\n\tclearhtml : '清理HTML代码',\r\n\tpagebreak : '插入分页符',\r\n\tquickformat : '一键排版',\r\n\tinsertfile : '插入文件',\r\n\ttemplate : '插入模板',\r\n\tanchor : '锚点',\r\n\tyes : '确定',\r\n\tno : '取消',\r\n\tclose : '关闭',\r\n\teditImage : '图片属性',\r\n\tdeleteImage : '删除图片',\r\n\teditFlash : 'Flash属性',\r\n\tdeleteFlash : '删除Flash',\r\n\teditMedia : '视音频属性',\r\n\tdeleteMedia : '删除视音频',\r\n\teditLink : '超级链接属性',\r\n\tdeleteLink : '取消超级链接',\r\n\teditAnchor : '锚点属性',\r\n\tdeleteAnchor : '删除锚点',\r\n\ttableprop : '表格属性',\r\n\ttablecellprop : '单元格属性',\r\n\ttableinsert : '插入表格',\r\n\ttabledelete : '删除表格',\r\n\ttablecolinsertleft : '左侧插入列',\r\n\ttablecolinsertright : '右侧插入列',\r\n\ttablerowinsertabove : '上方插入行',\r\n\ttablerowinsertbelow : '下方插入行',\r\n\ttablerowmerge : '向下合并单元格',\r\n\ttablecolmerge : '向右合并单元格',\r\n\ttablerowsplit : '拆分行',\r\n\ttablecolsplit : '拆分列',\r\n\ttablecoldelete : '删除列',\r\n\ttablerowdelete : '删除行',\r\n\tnoColor : '无颜色',\r\n\tpleaseSelectFile : '请选择文件。',\r\n\tinvalidImg : \"请输入有效的URL地址。\\n只允许jpg,gif,bmp,png格式。\",\r\n\tinvalidMedia : \"请输入有效的URL地址。\\n只允许swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb格式。\",\r\n\tinvalidWidth : \"宽度必须为数字。\",\r\n\tinvalidHeight : \"高度必须为数字。\",\r\n\tinvalidBorder : \"边框必须为数字。\",\r\n\tinvalidUrl : \"请输入有效的URL地址。\",\r\n\tinvalidRows : '行数为必选项，只允许输入大于0的数字。',\r\n\tinvalidCols : '列数为必选项，只允许输入大于0的数字。',\r\n\tinvalidPadding : '边距必须为数字。',\r\n\tinvalidSpacing : '间距必须为数字。',\r\n\tinvalidJson : '服务器发生故障。',\r\n\tuploadSuccess : '上传成功。',\r\n\tcutError : '您的浏览器安全设置不允许使用剪切操作，请使用快捷键(Ctrl+X)来完成。',\r\n\tcopyError : '您的浏览器安全设置不允许使用复制操作，请使用快捷键(Ctrl+C)来完成。',\r\n\tpasteError : '您的浏览器安全设置不允许使用粘贴操作，请使用快捷键(Ctrl+V)来完成。',\r\n\tajaxLoading : '加载中，请稍候 ...',\r\n\tuploadLoading : '上传中，请稍候 ...',\r\n\tuploadError : '上传错误',\r\n\t'plainpaste.comment' : '请使用快捷键(Ctrl+V)把内容粘贴到下面的方框里。',\r\n\t'wordpaste.comment' : '请使用快捷键(Ctrl+V)把内容粘贴到下面的方框里。',\r\n\t'code.pleaseInput' : '请输入程序代码。',\r\n\t'link.url' : 'URL',\r\n\t'link.linkType' : '打开类型',\r\n\t'link.newWindow' : '新窗口',\r\n\t'link.selfWindow' : '当前窗口',\r\n\t'flash.url' : 'URL',\r\n\t'flash.width' : '宽度',\r\n\t'flash.height' : '高度',\r\n\t'flash.upload' : '上传',\r\n\t'flash.viewServer' : '文件空间',\r\n\t'media.url' : 'URL',\r\n\t'media.width' : '宽度',\r\n\t'media.height' : '高度',\r\n\t'media.autostart' : '自动播放',\r\n\t'media.upload' : '上传',\r\n\t'media.viewServer' : '文件空间',\r\n\t'image.remoteImage' : '网络图片',\r\n\t'image.localImage' : '本地上传',\r\n\t'image.remoteUrl' : '图片地址',\r\n\t'image.localUrl' : '上传文件',\r\n\t'image.size' : '图片大小',\r\n\t'image.width' : '宽',\r\n\t'image.height' : '高',\r\n\t'image.resetSize' : '重置大小',\r\n\t'image.align' : '对齐方式',\r\n\t'image.defaultAlign' : '默认方式',\r\n\t'image.leftAlign' : '左对齐',\r\n\t'image.rightAlign' : '右对齐',\r\n\t'image.imgTitle' : '图片说明',\r\n\t'image.upload' : '浏览...',\r\n\t'image.viewServer' : '图片空间',\r\n\t'multiimage.uploadDesc' : '允许用户同时上传<%=uploadLimit%>张图片，单张图片容量不超过<%=sizeLimit%>',\r\n\t'multiimage.startUpload' : '开始上传',\r\n\t'multiimage.clearAll' : '全部清空',\r\n\t'multiimage.insertAll' : '全部插入',\r\n\t'multiimage.queueLimitExceeded' : '文件数量超过限制。',\r\n\t'multiimage.fileExceedsSizeLimit' : '文件大小超过限制。',\r\n\t'multiimage.zeroByteFile' : '无法上传空文件。',\r\n\t'multiimage.invalidFiletype' : '文件类型不正确。',\r\n\t'multiimage.unknownError' : '发生异常，无法上传。',\r\n\t'multiimage.pending' : '等待上传',\r\n\t'multiimage.uploadError' : '上传失败',\r\n\t'filemanager.emptyFolder' : '空文件夹',\r\n\t'filemanager.moveup' : '移到上一级文件夹',\r\n\t'filemanager.viewType' : '显示方式：',\r\n\t'filemanager.viewImage' : '缩略图',\r\n\t'filemanager.listImage' : '详细信息',\r\n\t'filemanager.orderType' : '排序方式：',\r\n\t'filemanager.fileName' : '名称',\r\n\t'filemanager.fileSize' : '大小',\r\n\t'filemanager.fileType' : '类型',\r\n\t'insertfile.url' : 'URL',\r\n\t'insertfile.title' : '文件说明',\r\n\t'insertfile.upload' : '上传',\r\n\t'insertfile.viewServer' : '文件空间',\r\n\t'table.cells' : '单元格数',\r\n\t'table.rows' : '行数',\r\n\t'table.cols' : '列数',\r\n\t'table.size' : '大小',\r\n\t'table.width' : '宽度',\r\n\t'table.height' : '高度',\r\n\t'table.percent' : '%',\r\n\t'table.px' : 'px',\r\n\t'table.space' : '边距间距',\r\n\t'table.padding' : '边距',\r\n\t'table.spacing' : '间距',\r\n\t'table.align' : '对齐方式',\r\n\t'table.textAlign' : '水平对齐',\r\n\t'table.verticalAlign' : '垂直对齐',\r\n\t'table.alignDefault' : '默认',\r\n\t'table.alignLeft' : '左对齐',\r\n\t'table.alignCenter' : '居中',\r\n\t'table.alignRight' : '右对齐',\r\n\t'table.alignTop' : '顶部',\r\n\t'table.alignMiddle' : '中部',\r\n\t'table.alignBottom' : '底部',\r\n\t'table.alignBaseline' : '基线',\r\n\t'table.border' : '边框',\r\n\t'table.borderWidth' : '边框',\r\n\t'table.borderColor' : '颜色',\r\n\t'table.backgroundColor' : '背景颜色',\r\n\t'map.address' : '地址: ',\r\n\t'map.search' : '搜索',\r\n\t'baidumap.address' : '地址: ',\r\n\t'baidumap.search' : '搜索',\r\n\t'baidumap.insertDynamicMap' : '插入动态地图',\r\n\t'anchor.name' : '锚点名称',\r\n\t'formatblock.formatBlock' : {\r\n\t\th1 : '标题 1',\r\n\t\th2 : '标题 2',\r\n\t\th3 : '标题 3',\r\n\t\th4 : '标题 4',\r\n\t\tp : '正 文'\r\n\t},\r\n\t'fontname.fontName' : {\r\n\t\t'SimSun' : '宋体',\r\n\t\t'NSimSun' : '新宋体',\r\n\t\t'FangSong_GB2312' : '仿宋_GB2312',\r\n\t\t'KaiTi_GB2312' : '楷体_GB2312',\r\n\t\t'SimHei' : '黑体',\r\n\t\t'Microsoft YaHei' : '微软雅黑',\r\n\t\t'Arial' : 'Arial',\r\n\t\t'Arial Black' : 'Arial Black',\r\n\t\t'Times New Roman' : 'Times New Roman',\r\n\t\t'Courier New' : 'Courier New',\r\n\t\t'Tahoma' : 'Tahoma',\r\n\t\t'Verdana' : 'Verdana'\r\n\t},\r\n\t'lineheight.lineHeight' : [\r\n\t\t{'1' : '单倍行距'},\r\n\t\t{'1.5' : '1.5倍行距'},\r\n\t\t{'2' : '2倍行距'},\r\n\t\t{'2.5' : '2.5倍行距'},\r\n\t\t{'3' : '3倍行距'}\r\n\t],\r\n\t'template.selectTemplate' : '可选模板',\r\n\t'template.replaceContent' : '替换当前内容',\r\n\t'template.fileList' : {\r\n\t\t'1.html' : '图片和文字',\r\n\t\t'2.html' : '表格',\r\n\t\t'3.html' : '项目编号'\r\n\t}\r\n}, 'zh_CN');\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/lang/zh_TW.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.lang({\r\n\tsource : '原始碼',\r\n\tpreview : '預覽',\r\n\tundo : '復原(Ctrl+Z)',\r\n\tredo : '重複(Ctrl+Y)',\r\n\tcut : '剪下(Ctrl+X)',\r\n\tcopy : '複製(Ctrl+C)',\r\n\tpaste : '貼上(Ctrl+V)',\r\n\tplainpaste : '貼為純文字格式',\r\n\twordpaste : '自Word貼上',\r\n\tselectall : '全選(Ctrl+A)',\r\n\tjustifyleft : '靠左對齊',\r\n\tjustifycenter : '置中',\r\n\tjustifyright : '靠右對齊',\r\n\tjustifyfull : '左右對齊',\r\n\tinsertorderedlist : '編號清單',\r\n\tinsertunorderedlist : '項目清單',\r\n\tindent : '增加縮排',\r\n\toutdent : '減少縮排',\r\n\tsubscript : '下標',\r\n\tsuperscript : '上標',\r\n\tformatblock : '標題',\r\n\tfontname : '字體',\r\n\tfontsize : '文字大小',\r\n\tforecolor : '文字顏色',\r\n\thilitecolor : '背景顏色',\r\n\tbold : '粗體(Ctrl+B)',\r\n\titalic : '斜體(Ctrl+I)',\r\n\tunderline : '底線(Ctrl+U)',\r\n\tstrikethrough : '刪除線',\r\n\tremoveformat : '清除格式',\r\n\timage : '影像',\r\n\tmultiimage : '批量影像上傳',\r\n\tflash : 'Flash',\r\n\tmedia : '多媒體',\r\n\ttable : '表格',\r\n\thr : '插入水平線',\r\n\temoticons : '插入表情',\r\n\tlink : '超連結',\r\n\tunlink : '移除超連結',\r\n\tfullscreen : '最大化',\r\n\tabout : '關於',\r\n\tprint : '列印(Ctrl+P)',\r\n\tfileManager : '瀏覽伺服器',\r\n\tcode : '插入程式代碼',\r\n\tmap : 'Google地圖',\r\n\tbaidumap : 'Baidu地圖',\r\n\tlineheight : '行距',\r\n\tclearhtml : '清理HTML代碼',\r\n\tpagebreak : '插入分頁符號',\r\n\tquickformat : '快速排版',\r\n\tinsertfile : '插入文件',\r\n\ttemplate : '插入樣板',\r\n\tanchor : '錨點',\r\n\tyes : '確定',\r\n\tno : '取消',\r\n\tclose : '關閉',\r\n\teditImage : '影像屬性',\r\n\tdeleteImage : '刪除影像',\r\n\teditFlash : 'Flash屬性',\r\n\tdeleteFlash : '删除Flash',\r\n\teditMedia : '多媒體屬性',\r\n\tdeleteMedia : '删除多媒體',\r\n\teditLink : '超連結屬性',\r\n\tdeleteLink : '移除超連結',\r\n\ttableprop : '表格屬性',\r\n\ttablecellprop : '儲存格屬性',\r\n\ttableinsert : '插入表格',\r\n\ttabledelete : '刪除表格',\r\n\ttablecolinsertleft : '向左插入列',\r\n\ttablecolinsertright : '向右插入列',\r\n\ttablerowinsertabove : '向上插入欄',\r\n\ttablerowinsertbelow : '下方插入欄',\r\n\ttablerowmerge : '向下合併單元格',\r\n\ttablecolmerge : '向右合併單元格',\r\n\ttablerowsplit : '分割欄',\r\n\ttablecolsplit : '分割列',\r\n\ttablecoldelete : '删除列',\r\n\ttablerowdelete : '删除欄',\r\n\tnoColor : '自動',\r\n\tpleaseSelectFile : '請選擇文件。',\r\n\tinvalidImg : \"請輸入有效的URL。\\n只允許jpg,gif,bmp,png格式。\",\r\n\tinvalidMedia : \"請輸入有效的URL。\\n只允許swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb格式。\",\r\n\tinvalidWidth : \"寬度必須是數字。\",\r\n\tinvalidHeight : \"高度必須是數字。\",\r\n\tinvalidBorder : \"邊框必須是數字。\",\r\n\tinvalidUrl : \"請輸入有效的URL。\",\r\n\tinvalidRows : '欄數是必須輸入項目，只允許輸入大於0的數字。',\r\n\tinvalidCols : '列數是必須輸入項目，只允許輸入大於0的數字。',\r\n\tinvalidPadding : '內距必須是數字。',\r\n\tinvalidSpacing : '間距必須是數字。',\r\n\tinvalidBorder : '边框必须为数字。',\r\n\tpleaseInput : \"請輸入內容。\",\r\n\tinvalidJson : '伺服器發生故障。',\r\n\tuploadSuccess : '上傳成功。',\r\n\tcutError : '您的瀏覽器安全設置不允許使用剪下操作，請使用快捷鍵(Ctrl+X)完成。',\r\n\tcopyError : '您的瀏覽器安全設置不允許使用剪下操作，請使用快捷鍵(Ctrl+C)完成。',\r\n\tpasteError : '您的瀏覽器安全設置不允許使用剪下操作，請使用快捷鍵(Ctrl+V)完成。',\r\n\tajaxLoading : '加載中，請稍候 ...',\r\n\tuploadLoading : '上傳中，請稍候 ...',\r\n\tuploadError : '上傳錯誤',\r\n\t'plainpaste.comment' : '請使用快捷鍵(Ctrl+V)把內容貼到下方區域裡。',\r\n\t'wordpaste.comment' : '請使用快捷鍵(Ctrl+V)把內容貼到下方區域裡。',\r\n\t'code.pleaseInput' : 'Please input code.',\r\n\t'link.url' : 'URL',\r\n\t'link.linkType' : '打開類型',\r\n\t'link.newWindow' : '新窗口',\r\n\t'link.selfWindow' : '本頁窗口',\r\n\t'flash.url' : 'URL',\r\n\t'flash.width' : '寬度',\r\n\t'flash.height' : '高度',\r\n\t'flash.upload' : '上傳',\r\n\t'flash.viewServer' : '瀏覽',\r\n\t'media.url' : 'URL',\r\n\t'media.width' : '寬度',\r\n\t'media.height' : '高度',\r\n\t'media.autostart' : '自動播放',\r\n\t'media.upload' : '上傳',\r\n\t'media.viewServer' : '瀏覽',\r\n\t'image.remoteImage' : '網絡影像',\r\n\t'image.localImage' : '上傳影像',\r\n\t'image.remoteUrl' : '影像URL',\r\n\t'image.localUrl' : '影像URL',\r\n\t'image.size' : '影像大小',\r\n\t'image.width' : '寬度',\r\n\t'image.height' : '高度',\r\n\t'image.resetSize' : '原始大小',\r\n\t'image.align' : '對齊方式',\r\n\t'image.defaultAlign' : '未設定',\r\n\t'image.leftAlign' : '向左對齊',\r\n\t'image.rightAlign' : '向右對齊',\r\n\t'image.imgTitle' : '影像說明',\r\n\t'image.upload' : '瀏覽...',\r\n\t'image.viewServer' : '瀏覽...',\r\n\t'multiimage.uploadDesc' : 'Allows users to upload <%=uploadLimit%> images, single image size not exceeding <%=sizeLimit%>',\r\n\t'multiimage.startUpload' : 'Start upload',\r\n\t'multiimage.clearAll' : 'Clear all',\r\n\t'multiimage.insertAll' : 'Insert all',\r\n\t'multiimage.queueLimitExceeded' : 'Queue limit exceeded.',\r\n\t'multiimage.fileExceedsSizeLimit' : 'File exceeds size limit.',\r\n\t'multiimage.zeroByteFile' : 'Zero byte file.',\r\n\t'multiimage.invalidFiletype' : 'Invalid file type.',\r\n\t'multiimage.unknownError' : 'Unknown upload error.',\r\n\t'multiimage.pending' : 'Pending ...',\r\n\t'multiimage.uploadError' : 'Upload error',\r\n\t'filemanager.emptyFolder' : '空文件夾',\r\n\t'filemanager.moveup' : '至上一級文件夾',\r\n\t'filemanager.viewType' : '顯示方式：',\r\n\t'filemanager.viewImage' : '縮略圖',\r\n\t'filemanager.listImage' : '詳細信息',\r\n\t'filemanager.orderType' : '排序方式：',\r\n\t'filemanager.fileName' : '名稱',\r\n\t'filemanager.fileSize' : '大小',\r\n\t'filemanager.fileType' : '類型',\r\n\t'insertfile.url' : 'URL',\r\n\t'insertfile.title' : '文件說明',\r\n\t'insertfile.upload' : '上傳',\r\n\t'insertfile.viewServer' : '瀏覽',\r\n\t'table.cells' : '儲存格數',\r\n\t'table.rows' : '欄數',\r\n\t'table.cols' : '列數',\r\n\t'table.size' : '表格大小',\r\n\t'table.width' : '寬度',\r\n\t'table.height' : '高度',\r\n\t'table.percent' : '%',\r\n\t'table.px' : 'px',\r\n\t'table.space' : '內距間距',\r\n\t'table.padding' : '內距',\r\n\t'table.spacing' : '間距',\r\n\t'table.align' : '對齊方式',\r\n\t'table.textAlign' : '水平對齊',\r\n\t'table.verticalAlign' : '垂直對齊',\r\n\t'table.alignDefault' : '未設定',\r\n\t'table.alignLeft' : '向左對齊',\r\n\t'table.alignCenter' : '置中',\r\n\t'table.alignRight' : '向右對齊',\r\n\t'table.alignTop' : '靠上',\r\n\t'table.alignMiddle' : '置中',\r\n\t'table.alignBottom' : '靠下',\r\n\t'table.alignBaseline' : '基線',\r\n\t'table.border' : '表格邊框',\r\n\t'table.borderWidth' : '邊框',\r\n\t'table.borderColor' : '顏色',\r\n\t'table.backgroundColor' : '背景顏色',\r\n\t'map.address' : '住所: ',\r\n\t'map.search' : '尋找',\r\n\t'baidumap.address' : '住所: ',\r\n\t'baidumap.search' : '尋找',\r\n\t'baidumap.insertDynamicMap' : '插入動態地圖',\r\n\t'anchor.name' : '錨點名稱',\r\n\t'formatblock.formatBlock' : {\r\n\t\th1 : '標題 1',\r\n\t\th2 : '標題 2',\r\n\t\th3 : '標題 3',\r\n\t\th4 : '標題 4',\r\n\t\tp : '一般'\r\n\t},\r\n\t'fontname.fontName' : {\r\n\t\t'MingLiU' : '細明體',\r\n\t\t'PMingLiU' : '新細明體',\r\n\t\t'DFKai-SB' : '標楷體',\r\n\t\t'SimSun' : '宋體',\r\n\t\t'NSimSun' : '新宋體',\r\n\t\t'FangSong' : '仿宋體',\r\n\t\t'Arial' : 'Arial',\r\n\t\t'Arial Black' : 'Arial Black',\r\n\t\t'Times New Roman' : 'Times New Roman',\r\n\t\t'Courier New' : 'Courier New',\r\n\t\t'Tahoma' : 'Tahoma',\r\n\t\t'Verdana' : 'Verdana'\r\n\t},\r\n\t'lineheight.lineHeight' : [\r\n\t\t{'1' : '单倍行距'},\r\n\t\t{'1.5' : '1.5倍行距'},\r\n\t\t{'2' : '2倍行距'},\r\n\t\t{'2.5' : '2.5倍行距'},\r\n\t\t{'3' : '3倍行距'}\r\n\t],\r\n\t'template.selectTemplate' : '可選樣板',\r\n\t'template.replaceContent' : '取代當前內容',\r\n\t'template.fileList' : {\r\n\t\t'1.html' : '影像和文字',\r\n\t\t'2.html' : '表格',\r\n\t\t'3.html' : '项目清單'\r\n\t}\r\n}, 'zh_TW');\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/license.txt",
    "content": "                  GNU LESSER GENERAL PUBLIC LICENSE\r\n                       Version 2.1, February 1999\r\n\r\n Copyright (C) 1991, 1999 Free Software Foundation, Inc.\r\n 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\r\n Everyone is permitted to copy and distribute verbatim copies\r\n of this license document, but changing it is not allowed.\r\n\r\n[This is the first released version of the Lesser GPL.  It also counts\r\n as the successor of the GNU Library Public License, version 2, hence\r\n the version number 2.1.]\r\n\r\n                            Preamble\r\n\r\n  The licenses for most software are designed to take away your\r\nfreedom to share and change it.  By contrast, the GNU General Public\r\nLicenses are intended to guarantee your freedom to share and change\r\nfree software--to make sure the software is free for all its users.\r\n\r\n  This license, the Lesser General Public License, applies to some\r\nspecially designated software packages--typically libraries--of the\r\nFree Software Foundation and other authors who decide to use it.  You\r\ncan use it too, but we suggest you first think carefully about whether\r\nthis license or the ordinary General Public License is the better\r\nstrategy to use in any particular case, based on the explanations below.\r\n\r\n  When we speak of free software, we are referring to freedom of use,\r\nnot price.  Our General Public Licenses are designed to make sure that\r\nyou have the freedom to distribute copies of free software (and charge\r\nfor this service if you wish); that you receive source code or can get\r\nit if you want it; that you can change the software and use pieces of\r\nit in new free programs; and that you are informed that you can do\r\nthese things.\r\n\r\n  To protect your rights, we need to make restrictions that forbid\r\ndistributors to deny you these rights or to ask you to surrender these\r\nrights.  These restrictions translate to certain responsibilities for\r\nyou if you distribute copies of the library or if you modify it.\r\n\r\n  For example, if you distribute copies of the library, whether gratis\r\nor for a fee, you must give the recipients all the rights that we gave\r\nyou.  You must make sure that they, too, receive or can get the source\r\ncode.  If you link other code with the library, you must provide\r\ncomplete object files to the recipients, so that they can relink them\r\nwith the library after making changes to the library and recompiling\r\nit.  And you must show them these terms so they know their rights.\r\n\r\n  We protect your rights with a two-step method: (1) we copyright the\r\nlibrary, and (2) we offer you this license, which gives you legal\r\npermission to copy, distribute and/or modify the library.\r\n\r\n  To protect each distributor, we want to make it very clear that\r\nthere is no warranty for the free library.  Also, if the library is\r\nmodified by someone else and passed on, the recipients should know\r\nthat what they have is not the original version, so that the original\r\nauthor's reputation will not be affected by problems that might be\r\nintroduced by others.\r\n\f\r\n  Finally, software patents pose a constant threat to the existence of\r\nany free program.  We wish to make sure that a company cannot\r\neffectively restrict the users of a free program by obtaining a\r\nrestrictive license from a patent holder.  Therefore, we insist that\r\nany patent license obtained for a version of the library must be\r\nconsistent with the full freedom of use specified in this license.\r\n\r\n  Most GNU software, including some libraries, is covered by the\r\nordinary GNU General Public License.  This license, the GNU Lesser\r\nGeneral Public License, applies to certain designated libraries, and\r\nis quite different from the ordinary General Public License.  We use\r\nthis license for certain libraries in order to permit linking those\r\nlibraries into non-free programs.\r\n\r\n  When a program is linked with a library, whether statically or using\r\na shared library, the combination of the two is legally speaking a\r\ncombined work, a derivative of the original library.  The ordinary\r\nGeneral Public License therefore permits such linking only if the\r\nentire combination fits its criteria of freedom.  The Lesser General\r\nPublic License permits more lax criteria for linking other code with\r\nthe library.\r\n\r\n  We call this license the \"Lesser\" General Public License because it\r\ndoes Less to protect the user's freedom than the ordinary General\r\nPublic License.  It also provides other free software developers Less\r\nof an advantage over competing non-free programs.  These disadvantages\r\nare the reason we use the ordinary General Public License for many\r\nlibraries.  However, the Lesser license provides advantages in certain\r\nspecial circumstances.\r\n\r\n  For example, on rare occasions, there may be a special need to\r\nencourage the widest possible use of a certain library, so that it becomes\r\na de-facto standard.  To achieve this, non-free programs must be\r\nallowed to use the library.  A more frequent case is that a free\r\nlibrary does the same job as widely used non-free libraries.  In this\r\ncase, there is little to gain by limiting the free library to free\r\nsoftware only, so we use the Lesser General Public License.\r\n\r\n  In other cases, permission to use a particular library in non-free\r\nprograms enables a greater number of people to use a large body of\r\nfree software.  For example, permission to use the GNU C Library in\r\nnon-free programs enables many more people to use the whole GNU\r\noperating system, as well as its variant, the GNU/Linux operating\r\nsystem.\r\n\r\n  Although the Lesser General Public License is Less protective of the\r\nusers' freedom, it does ensure that the user of a program that is\r\nlinked with the Library has the freedom and the wherewithal to run\r\nthat program using a modified version of the Library.\r\n\r\n  The precise terms and conditions for copying, distribution and\r\nmodification follow.  Pay close attention to the difference between a\r\n\"work based on the library\" and a \"work that uses the library\".  The\r\nformer contains code derived from the library, whereas the latter must\r\nbe combined with the library in order to run.\r\n\f\r\n                  GNU LESSER GENERAL PUBLIC LICENSE\r\n   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\r\n\r\n  0. This License Agreement applies to any software library or other\r\nprogram which contains a notice placed by the copyright holder or\r\nother authorized party saying it may be distributed under the terms of\r\nthis Lesser General Public License (also called \"this License\").\r\nEach licensee is addressed as \"you\".\r\n\r\n  A \"library\" means a collection of software functions and/or data\r\nprepared so as to be conveniently linked with application programs\r\n(which use some of those functions and data) to form executables.\r\n\r\n  The \"Library\", below, refers to any such software library or work\r\nwhich has been distributed under these terms.  A \"work based on the\r\nLibrary\" means either the Library or any derivative work under\r\ncopyright law: that is to say, a work containing the Library or a\r\nportion of it, either verbatim or with modifications and/or translated\r\nstraightforwardly into another language.  (Hereinafter, translation is\r\nincluded without limitation in the term \"modification\".)\r\n\r\n  \"Source code\" for a work means the preferred form of the work for\r\nmaking modifications to it.  For a library, complete source code means\r\nall the source code for all modules it contains, plus any associated\r\ninterface definition files, plus the scripts used to control compilation\r\nand installation of the library.\r\n\r\n  Activities other than copying, distribution and modification are not\r\ncovered by this License; they are outside its scope.  The act of\r\nrunning a program using the Library is not restricted, and output from\r\nsuch a program is covered only if its contents constitute a work based\r\non the Library (independent of the use of the Library in a tool for\r\nwriting it).  Whether that is true depends on what the Library does\r\nand what the program that uses the Library does.\r\n\r\n  1. You may copy and distribute verbatim copies of the Library's\r\ncomplete source code as you receive it, in any medium, provided that\r\nyou conspicuously and appropriately publish on each copy an\r\nappropriate copyright notice and disclaimer of warranty; keep intact\r\nall the notices that refer to this License and to the absence of any\r\nwarranty; and distribute a copy of this License along with the\r\nLibrary.\r\n\r\n  You may charge a fee for the physical act of transferring a copy,\r\nand you may at your option offer warranty protection in exchange for a\r\nfee.\r\n\f\r\n  2. You may modify your copy or copies of the Library or any portion\r\nof it, thus forming a work based on the Library, and copy and\r\ndistribute such modifications or work under the terms of Section 1\r\nabove, provided that you also meet all of these conditions:\r\n\r\n    a) The modified work must itself be a software library.\r\n\r\n    b) You must cause the files modified to carry prominent notices\r\n    stating that you changed the files and the date of any change.\r\n\r\n    c) You must cause the whole of the work to be licensed at no\r\n    charge to all third parties under the terms of this License.\r\n\r\n    d) If a facility in the modified Library refers to a function or a\r\n    table of data to be supplied by an application program that uses\r\n    the facility, other than as an argument passed when the facility\r\n    is invoked, then you must make a good faith effort to ensure that,\r\n    in the event an application does not supply such function or\r\n    table, the facility still operates, and performs whatever part of\r\n    its purpose remains meaningful.\r\n\r\n    (For example, a function in a library to compute square roots has\r\n    a purpose that is entirely well-defined independent of the\r\n    application.  Therefore, Subsection 2d requires that any\r\n    application-supplied function or table used by this function must\r\n    be optional: if the application does not supply it, the square\r\n    root function must still compute square roots.)\r\n\r\nThese requirements apply to the modified work as a whole.  If\r\nidentifiable sections of that work are not derived from the Library,\r\nand can be reasonably considered independent and separate works in\r\nthemselves, then this License, and its terms, do not apply to those\r\nsections when you distribute them as separate works.  But when you\r\ndistribute the same sections as part of a whole which is a work based\r\non the Library, the distribution of the whole must be on the terms of\r\nthis License, whose permissions for other licensees extend to the\r\nentire whole, and thus to each and every part regardless of who wrote\r\nit.\r\n\r\nThus, it is not the intent of this section to claim rights or contest\r\nyour rights to work written entirely by you; rather, the intent is to\r\nexercise the right to control the distribution of derivative or\r\ncollective works based on the Library.\r\n\r\nIn addition, mere aggregation of another work not based on the Library\r\nwith the Library (or with a work based on the Library) on a volume of\r\na storage or distribution medium does not bring the other work under\r\nthe scope of this License.\r\n\r\n  3. You may opt to apply the terms of the ordinary GNU General Public\r\nLicense instead of this License to a given copy of the Library.  To do\r\nthis, you must alter all the notices that refer to this License, so\r\nthat they refer to the ordinary GNU General Public License, version 2,\r\ninstead of to this License.  (If a newer version than version 2 of the\r\nordinary GNU General Public License has appeared, then you can specify\r\nthat version instead if you wish.)  Do not make any other change in\r\nthese notices.\r\n\f\r\n  Once this change is made in a given copy, it is irreversible for\r\nthat copy, so the ordinary GNU General Public License applies to all\r\nsubsequent copies and derivative works made from that copy.\r\n\r\n  This option is useful when you wish to copy part of the code of\r\nthe Library into a program that is not a library.\r\n\r\n  4. You may copy and distribute the Library (or a portion or\r\nderivative of it, under Section 2) in object code or executable form\r\nunder the terms of Sections 1 and 2 above provided that you accompany\r\nit with the complete corresponding machine-readable source code, which\r\nmust be distributed under the terms of Sections 1 and 2 above on a\r\nmedium customarily used for software interchange.\r\n\r\n  If distribution of object code is made by offering access to copy\r\nfrom a designated place, then offering equivalent access to copy the\r\nsource code from the same place satisfies the requirement to\r\ndistribute the source code, even though third parties are not\r\ncompelled to copy the source along with the object code.\r\n\r\n  5. A program that contains no derivative of any portion of the\r\nLibrary, but is designed to work with the Library by being compiled or\r\nlinked with it, is called a \"work that uses the Library\".  Such a\r\nwork, in isolation, is not a derivative work of the Library, and\r\ntherefore falls outside the scope of this License.\r\n\r\n  However, linking a \"work that uses the Library\" with the Library\r\ncreates an executable that is a derivative of the Library (because it\r\ncontains portions of the Library), rather than a \"work that uses the\r\nlibrary\".  The executable is therefore covered by this License.\r\nSection 6 states terms for distribution of such executables.\r\n\r\n  When a \"work that uses the Library\" uses material from a header file\r\nthat is part of the Library, the object code for the work may be a\r\nderivative work of the Library even though the source code is not.\r\nWhether this is true is especially significant if the work can be\r\nlinked without the Library, or if the work is itself a library.  The\r\nthreshold for this to be true is not precisely defined by law.\r\n\r\n  If such an object file uses only numerical parameters, data\r\nstructure layouts and accessors, and small macros and small inline\r\nfunctions (ten lines or less in length), then the use of the object\r\nfile is unrestricted, regardless of whether it is legally a derivative\r\nwork.  (Executables containing this object code plus portions of the\r\nLibrary will still fall under Section 6.)\r\n\r\n  Otherwise, if the work is a derivative of the Library, you may\r\ndistribute the object code for the work under the terms of Section 6.\r\nAny executables containing that work also fall under Section 6,\r\nwhether or not they are linked directly with the Library itself.\r\n\f\r\n  6. As an exception to the Sections above, you may also combine or\r\nlink a \"work that uses the Library\" with the Library to produce a\r\nwork containing portions of the Library, and distribute that work\r\nunder terms of your choice, provided that the terms permit\r\nmodification of the work for the customer's own use and reverse\r\nengineering for debugging such modifications.\r\n\r\n  You must give prominent notice with each copy of the work that the\r\nLibrary is used in it and that the Library and its use are covered by\r\nthis License.  You must supply a copy of this License.  If the work\r\nduring execution displays copyright notices, you must include the\r\ncopyright notice for the Library among them, as well as a reference\r\ndirecting the user to the copy of this License.  Also, you must do one\r\nof these things:\r\n\r\n    a) Accompany the work with the complete corresponding\r\n    machine-readable source code for the Library including whatever\r\n    changes were used in the work (which must be distributed under\r\n    Sections 1 and 2 above); and, if the work is an executable linked\r\n    with the Library, with the complete machine-readable \"work that\r\n    uses the Library\", as object code and/or source code, so that the\r\n    user can modify the Library and then relink to produce a modified\r\n    executable containing the modified Library.  (It is understood\r\n    that the user who changes the contents of definitions files in the\r\n    Library will not necessarily be able to recompile the application\r\n    to use the modified definitions.)\r\n\r\n    b) Use a suitable shared library mechanism for linking with the\r\n    Library.  A suitable mechanism is one that (1) uses at run time a\r\n    copy of the library already present on the user's computer system,\r\n    rather than copying library functions into the executable, and (2)\r\n    will operate properly with a modified version of the library, if\r\n    the user installs one, as long as the modified version is\r\n    interface-compatible with the version that the work was made with.\r\n\r\n    c) Accompany the work with a written offer, valid for at\r\n    least three years, to give the same user the materials\r\n    specified in Subsection 6a, above, for a charge no more\r\n    than the cost of performing this distribution.\r\n\r\n    d) If distribution of the work is made by offering access to copy\r\n    from a designated place, offer equivalent access to copy the above\r\n    specified materials from the same place.\r\n\r\n    e) Verify that the user has already received a copy of these\r\n    materials or that you have already sent this user a copy.\r\n\r\n  For an executable, the required form of the \"work that uses the\r\nLibrary\" must include any data and utility programs needed for\r\nreproducing the executable from it.  However, as a special exception,\r\nthe materials to be distributed need not include anything that is\r\nnormally distributed (in either source or binary form) with the major\r\ncomponents (compiler, kernel, and so on) of the operating system on\r\nwhich the executable runs, unless that component itself accompanies\r\nthe executable.\r\n\r\n  It may happen that this requirement contradicts the license\r\nrestrictions of other proprietary libraries that do not normally\r\naccompany the operating system.  Such a contradiction means you cannot\r\nuse both them and the Library together in an executable that you\r\ndistribute.\r\n\f\r\n  7. You may place library facilities that are a work based on the\r\nLibrary side-by-side in a single library together with other library\r\nfacilities not covered by this License, and distribute such a combined\r\nlibrary, provided that the separate distribution of the work based on\r\nthe Library and of the other library facilities is otherwise\r\npermitted, and provided that you do these two things:\r\n\r\n    a) Accompany the combined library with a copy of the same work\r\n    based on the Library, uncombined with any other library\r\n    facilities.  This must be distributed under the terms of the\r\n    Sections above.\r\n\r\n    b) Give prominent notice with the combined library of the fact\r\n    that part of it is a work based on the Library, and explaining\r\n    where to find the accompanying uncombined form of the same work.\r\n\r\n  8. You may not copy, modify, sublicense, link with, or distribute\r\nthe Library except as expressly provided under this License.  Any\r\nattempt otherwise to copy, modify, sublicense, link with, or\r\ndistribute the Library is void, and will automatically terminate your\r\nrights under this License.  However, parties who have received copies,\r\nor rights, from you under this License will not have their licenses\r\nterminated so long as such parties remain in full compliance.\r\n\r\n  9. You are not required to accept this License, since you have not\r\nsigned it.  However, nothing else grants you permission to modify or\r\ndistribute the Library or its derivative works.  These actions are\r\nprohibited by law if you do not accept this License.  Therefore, by\r\nmodifying or distributing the Library (or any work based on the\r\nLibrary), you indicate your acceptance of this License to do so, and\r\nall its terms and conditions for copying, distributing or modifying\r\nthe Library or works based on it.\r\n\r\n  10. Each time you redistribute the Library (or any work based on the\r\nLibrary), the recipient automatically receives a license from the\r\noriginal licensor to copy, distribute, link with or modify the Library\r\nsubject to these terms and conditions.  You may not impose any further\r\nrestrictions on the recipients' exercise of the rights granted herein.\r\nYou are not responsible for enforcing compliance by third parties with\r\nthis License.\r\n\f\r\n  11. If, as a consequence of a court judgment or allegation of patent\r\ninfringement or for any other reason (not limited to patent issues),\r\nconditions are imposed on you (whether by court order, agreement or\r\notherwise) that contradict the conditions of this License, they do not\r\nexcuse you from the conditions of this License.  If you cannot\r\ndistribute so as to satisfy simultaneously your obligations under this\r\nLicense and any other pertinent obligations, then as a consequence you\r\nmay not distribute the Library at all.  For example, if a patent\r\nlicense would not permit royalty-free redistribution of the Library by\r\nall those who receive copies directly or indirectly through you, then\r\nthe only way you could satisfy both it and this License would be to\r\nrefrain entirely from distribution of the Library.\r\n\r\nIf any portion of this section is held invalid or unenforceable under any\r\nparticular circumstance, the balance of the section is intended to apply,\r\nand the section as a whole is intended to apply in other circumstances.\r\n\r\nIt is not the purpose of this section to induce you to infringe any\r\npatents or other property right claims or to contest validity of any\r\nsuch claims; this section has the sole purpose of protecting the\r\nintegrity of the free software distribution system which is\r\nimplemented by public license practices.  Many people have made\r\ngenerous contributions to the wide range of software distributed\r\nthrough that system in reliance on consistent application of that\r\nsystem; it is up to the author/donor to decide if he or she is willing\r\nto distribute software through any other system and a licensee cannot\r\nimpose that choice.\r\n\r\nThis section is intended to make thoroughly clear what is believed to\r\nbe a consequence of the rest of this License.\r\n\r\n  12. If the distribution and/or use of the Library is restricted in\r\ncertain countries either by patents or by copyrighted interfaces, the\r\noriginal copyright holder who places the Library under this License may add\r\nan explicit geographical distribution limitation excluding those countries,\r\nso that distribution is permitted only in or among countries not thus\r\nexcluded.  In such case, this License incorporates the limitation as if\r\nwritten in the body of this License.\r\n\r\n  13. The Free Software Foundation may publish revised and/or new\r\nversions of the Lesser General Public License from time to time.\r\nSuch new versions will be similar in spirit to the present version,\r\nbut may differ in detail to address new problems or concerns.\r\n\r\nEach version is given a distinguishing version number.  If the Library\r\nspecifies a version number of this License which applies to it and\r\n\"any later version\", you have the option of following the terms and\r\nconditions either of that version or of any later version published by\r\nthe Free Software Foundation.  If the Library does not specify a\r\nlicense version number, you may choose any version ever published by\r\nthe Free Software Foundation.\r\n\f\r\n  14. If you wish to incorporate parts of the Library into other free\r\nprograms whose distribution conditions are incompatible with these,\r\nwrite to the author to ask for permission.  For software which is\r\ncopyrighted by the Free Software Foundation, write to the Free\r\nSoftware Foundation; we sometimes make exceptions for this.  Our\r\ndecision will be guided by the two goals of preserving the free status\r\nof all derivatives of our free software and of promoting the sharing\r\nand reuse of software generally.\r\n\r\n                            NO WARRANTY\r\n\r\n  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO\r\nWARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.\r\nEXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR\r\nOTHER PARTIES PROVIDE THE LIBRARY \"AS IS\" WITHOUT WARRANTY OF ANY\r\nKIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE\r\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE\r\nLIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME\r\nTHE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\r\n\r\n  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN\r\nWRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY\r\nAND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU\r\nFOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR\r\nCONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE\r\nLIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING\r\nRENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A\r\nFAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF\r\nSUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH\r\nDAMAGES.\r\n\r\n                     END OF TERMS AND CONDITIONS\r\n\f\r\n           How to Apply These Terms to Your New Libraries\r\n\r\n  If you develop a new library, and you want it to be of the greatest\r\npossible use to the public, we recommend making it free software that\r\neveryone can redistribute and change.  You can do so by permitting\r\nredistribution under these terms (or, alternatively, under the terms of the\r\nordinary General Public License).\r\n\r\n  To apply these terms, attach the following notices to the library.  It is\r\nsafest to attach them to the start of each source file to most effectively\r\nconvey the exclusion of warranty; and each file should have at least the\r\n\"copyright\" line and a pointer to where the full notice is found.\r\n\r\n    <one line to give the library's name and a brief idea of what it does.>\r\n    Copyright (C) <year>  <name of author>\r\n\r\n    This library is free software; you can redistribute it and/or\r\n    modify it under the terms of the GNU Lesser General Public\r\n    License as published by the Free Software Foundation; either\r\n    version 2.1 of the License, or (at your option) any later version.\r\n\r\n    This library is distributed in the hope that it will be useful,\r\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r\n    Lesser General Public License for more details.\r\n\r\n    You should have received a copy of the GNU Lesser General Public\r\n    License along with this library; if not, write to the Free Software\r\n    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\r\n\r\nAlso add information on how to contact you by electronic and paper mail.\r\n\r\nYou should also get your employer (if you work as a programmer) or your\r\nschool, if any, to sign a \"copyright disclaimer\" for the library, if\r\nnecessary.  Here is a sample; alter the names:\r\n\r\n  Yoyodyne, Inc., hereby disclaims all copyright interest in the\r\n  library `Frob' (a library for tweaking knobs) written by James Random Hacker.\r\n\r\n  <signature of Ty Coon>, 1 April 1990\r\n  Ty Coon, President of Vice\r\n\r\nThat's all there is to it!\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/php/JSON.php",
    "content": "<?php\r\n/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */\r\n\r\n/**\r\n * Converts to and from JSON format.\r\n *\r\n * JSON (JavaScript Object Notation) is a lightweight data-interchange\r\n * format. It is easy for humans to read and write. It is easy for machines\r\n * to parse and generate. It is based on a subset of the JavaScript\r\n * Programming Language, Standard ECMA-262 3rd Edition - December 1999.\r\n * This feature can also be found in  Python. JSON is a text format that is\r\n * completely language independent but uses conventions that are familiar\r\n * to programmers of the C-family of languages, including C, C++, C#, Java,\r\n * JavaScript, Perl, TCL, and many others. These properties make JSON an\r\n * ideal data-interchange language.\r\n *\r\n * This package provides a simple encoder and decoder for JSON notation. It\r\n * is intended for use with client-side Javascript applications that make\r\n * use of HTTPRequest to perform server communication functions - data can\r\n * be encoded into JSON notation for use in a client-side javascript, or\r\n * decoded from incoming Javascript requests. JSON format is native to\r\n * Javascript, and can be directly eval()'ed with no further parsing\r\n * overhead\r\n *\r\n * All strings should be in ASCII or UTF-8 format!\r\n *\r\n * LICENSE: Redistribution and use in source and binary forms, with or\r\n * without modification, are permitted provided that the following\r\n * conditions are met: Redistributions of source code must retain the\r\n * above copyright notice, this list of conditions and the following\r\n * disclaimer. Redistributions in binary form must reproduce the above\r\n * copyright notice, this list of conditions and the following disclaimer\r\n * in the documentation and/or other materials provided with the\r\n * distribution.\r\n *\r\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED\r\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN\r\n * NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\r\n * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\r\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS\r\n * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\r\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR\r\n * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE\r\n * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\r\n * DAMAGE.\r\n *\r\n * @category\r\n * @package     Services_JSON\r\n * @author      Michal Migurski <mike-json@teczno.com>\r\n * @author      Matt Knapp <mdknapp[at]gmail[dot]com>\r\n * @author      Brett Stimmerman <brettstimmerman[at]gmail[dot]com>\r\n * @copyright   2005 Michal Migurski\r\n * @version     CVS: $Id: JSON.php,v 1.31 2006/06/28 05:54:17 migurski Exp $\r\n * @license     http://www.opensource.org/licenses/bsd-license.php\r\n * @link        http://pear.php.net/pepr/pepr-proposal-show.php?id=198\r\n */\r\n\r\n/**\r\n * Marker constant for Services_JSON::decode(), used to flag stack state\r\n */\r\ndefine('SERVICES_JSON_SLICE',   1);\r\n\r\n/**\r\n * Marker constant for Services_JSON::decode(), used to flag stack state\r\n */\r\ndefine('SERVICES_JSON_IN_STR',  2);\r\n\r\n/**\r\n * Marker constant for Services_JSON::decode(), used to flag stack state\r\n */\r\ndefine('SERVICES_JSON_IN_ARR',  3);\r\n\r\n/**\r\n * Marker constant for Services_JSON::decode(), used to flag stack state\r\n */\r\ndefine('SERVICES_JSON_IN_OBJ',  4);\r\n\r\n/**\r\n * Marker constant for Services_JSON::decode(), used to flag stack state\r\n */\r\ndefine('SERVICES_JSON_IN_CMT', 5);\r\n\r\n/**\r\n * Behavior switch for Services_JSON::decode()\r\n */\r\ndefine('SERVICES_JSON_LOOSE_TYPE', 16);\r\n\r\n/**\r\n * Behavior switch for Services_JSON::decode()\r\n */\r\ndefine('SERVICES_JSON_SUPPRESS_ERRORS', 32);\r\n\r\n/**\r\n * Converts to and from JSON format.\r\n *\r\n * Brief example of use:\r\n *\r\n * <code>\r\n * // create a new instance of Services_JSON\r\n * $json = new Services_JSON();\r\n *\r\n * // convert a complexe value to JSON notation, and send it to the browser\r\n * $value = array('foo', 'bar', array(1, 2, 'baz'), array(3, array(4)));\r\n * $output = $json->encode($value);\r\n *\r\n * print($output);\r\n * // prints: [\"foo\",\"bar\",[1,2,\"baz\"],[3,[4]]]\r\n *\r\n * // accept incoming POST data, assumed to be in JSON notation\r\n * $input = file_get_contents('php://input', 1000000);\r\n * $value = $json->decode($input);\r\n * </code>\r\n */\r\nclass Services_JSON\r\n{\r\n   /**\r\n    * constructs a new JSON instance\r\n    *\r\n    * @param    int     $use    object behavior flags; combine with boolean-OR\r\n    *\r\n    *                           possible values:\r\n    *                           - SERVICES_JSON_LOOSE_TYPE:  loose typing.\r\n    *                                   \"{...}\" syntax creates associative arrays\r\n    *                                   instead of objects in decode().\r\n    *                           - SERVICES_JSON_SUPPRESS_ERRORS:  error suppression.\r\n    *                                   Values which can't be encoded (e.g. resources)\r\n    *                                   appear as NULL instead of throwing errors.\r\n    *                                   By default, a deeply-nested resource will\r\n    *                                   bubble up with an error, so all return values\r\n    *                                   from encode() should be checked with isError()\r\n    */\r\n    function Services_JSON($use = 0)\r\n    {\r\n        $this->use = $use;\r\n    }\r\n\r\n   /**\r\n    * convert a string from one UTF-16 char to one UTF-8 char\r\n    *\r\n    * Normally should be handled by mb_convert_encoding, but\r\n    * provides a slower PHP-only method for installations\r\n    * that lack the multibye string extension.\r\n    *\r\n    * @param    string  $utf16  UTF-16 character\r\n    * @return   string  UTF-8 character\r\n    * @access   private\r\n    */\r\n    function utf162utf8($utf16)\r\n    {\r\n        // oh please oh please oh please oh please oh please\r\n        if(function_exists('mb_convert_encoding')) {\r\n            return mb_convert_encoding($utf16, 'UTF-8', 'UTF-16');\r\n        }\r\n\r\n        $bytes = (ord($utf16{0}) << 8) | ord($utf16{1});\r\n\r\n        switch(true) {\r\n            case ((0x7F & $bytes) == $bytes):\r\n                // this case should never be reached, because we are in ASCII range\r\n                // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                return chr(0x7F & $bytes);\r\n\r\n            case (0x07FF & $bytes) == $bytes:\r\n                // return a 2-byte UTF-8 character\r\n                // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                return chr(0xC0 | (($bytes >> 6) & 0x1F))\r\n                     . chr(0x80 | ($bytes & 0x3F));\r\n\r\n            case (0xFFFF & $bytes) == $bytes:\r\n                // return a 3-byte UTF-8 character\r\n                // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                return chr(0xE0 | (($bytes >> 12) & 0x0F))\r\n                     . chr(0x80 | (($bytes >> 6) & 0x3F))\r\n                     . chr(0x80 | ($bytes & 0x3F));\r\n        }\r\n\r\n        // ignoring UTF-32 for now, sorry\r\n        return '';\r\n    }\r\n\r\n   /**\r\n    * convert a string from one UTF-8 char to one UTF-16 char\r\n    *\r\n    * Normally should be handled by mb_convert_encoding, but\r\n    * provides a slower PHP-only method for installations\r\n    * that lack the multibye string extension.\r\n    *\r\n    * @param    string  $utf8   UTF-8 character\r\n    * @return   string  UTF-16 character\r\n    * @access   private\r\n    */\r\n    function utf82utf16($utf8)\r\n    {\r\n        // oh please oh please oh please oh please oh please\r\n        if(function_exists('mb_convert_encoding')) {\r\n            return mb_convert_encoding($utf8, 'UTF-16', 'UTF-8');\r\n        }\r\n\r\n        switch(strlen($utf8)) {\r\n            case 1:\r\n                // this case should never be reached, because we are in ASCII range\r\n                // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                return $utf8;\r\n\r\n            case 2:\r\n                // return a UTF-16 character from a 2-byte UTF-8 char\r\n                // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                return chr(0x07 & (ord($utf8{0}) >> 2))\r\n                     . chr((0xC0 & (ord($utf8{0}) << 6))\r\n                         | (0x3F & ord($utf8{1})));\r\n\r\n            case 3:\r\n                // return a UTF-16 character from a 3-byte UTF-8 char\r\n                // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                return chr((0xF0 & (ord($utf8{0}) << 4))\r\n                         | (0x0F & (ord($utf8{1}) >> 2)))\r\n                     . chr((0xC0 & (ord($utf8{1}) << 6))\r\n                         | (0x7F & ord($utf8{2})));\r\n        }\r\n\r\n        // ignoring UTF-32 for now, sorry\r\n        return '';\r\n    }\r\n\r\n   /**\r\n    * encodes an arbitrary variable into JSON format\r\n    *\r\n    * @param    mixed   $var    any number, boolean, string, array, or object to be encoded.\r\n    *                           see argument 1 to Services_JSON() above for array-parsing behavior.\r\n    *                           if var is a strng, note that encode() always expects it\r\n    *                           to be in ASCII or UTF-8 format!\r\n    *\r\n    * @return   mixed   JSON string representation of input var or an error if a problem occurs\r\n    * @access   public\r\n    */\r\n    function encode($var)\r\n    {\r\n        switch (gettype($var)) {\r\n            case 'boolean':\r\n                return $var ? 'true' : 'false';\r\n\r\n            case 'NULL':\r\n                return 'null';\r\n\r\n            case 'integer':\r\n                return (int) $var;\r\n\r\n            case 'double':\r\n            case 'float':\r\n                return (float) $var;\r\n\r\n            case 'string':\r\n                // STRINGS ARE EXPECTED TO BE IN ASCII OR UTF-8 FORMAT\r\n                $ascii = '';\r\n                $strlen_var = strlen($var);\r\n\r\n               /*\r\n                * Iterate over every character in the string,\r\n                * escaping with a slash or encoding to UTF-8 where necessary\r\n                */\r\n                for ($c = 0; $c < $strlen_var; ++$c) {\r\n\r\n                    $ord_var_c = ord($var{$c});\r\n\r\n                    switch (true) {\r\n                        case $ord_var_c == 0x08:\r\n                            $ascii .= '\\b';\r\n                            break;\r\n                        case $ord_var_c == 0x09:\r\n                            $ascii .= '\\t';\r\n                            break;\r\n                        case $ord_var_c == 0x0A:\r\n                            $ascii .= '\\n';\r\n                            break;\r\n                        case $ord_var_c == 0x0C:\r\n                            $ascii .= '\\f';\r\n                            break;\r\n                        case $ord_var_c == 0x0D:\r\n                            $ascii .= '\\r';\r\n                            break;\r\n\r\n                        case $ord_var_c == 0x22:\r\n                        case $ord_var_c == 0x2F:\r\n                        case $ord_var_c == 0x5C:\r\n                            // double quote, slash, slosh\r\n                            $ascii .= '\\\\'.$var{$c};\r\n                            break;\r\n\r\n                        case (($ord_var_c >= 0x20) && ($ord_var_c <= 0x7F)):\r\n                            // characters U-00000000 - U-0000007F (same as ASCII)\r\n                            $ascii .= $var{$c};\r\n                            break;\r\n\r\n                        case (($ord_var_c & 0xE0) == 0xC0):\r\n                            // characters U-00000080 - U-000007FF, mask 110XXXXX\r\n                            // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                            $char = pack('C*', $ord_var_c, ord($var{$c + 1}));\r\n                            $c += 1;\r\n                            $utf16 = $this->utf82utf16($char);\r\n                            $ascii .= sprintf('\\u%04s', bin2hex($utf16));\r\n                            break;\r\n\r\n                        case (($ord_var_c & 0xF0) == 0xE0):\r\n                            // characters U-00000800 - U-0000FFFF, mask 1110XXXX\r\n                            // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                            $char = pack('C*', $ord_var_c,\r\n                                         ord($var{$c + 1}),\r\n                                         ord($var{$c + 2}));\r\n                            $c += 2;\r\n                            $utf16 = $this->utf82utf16($char);\r\n                            $ascii .= sprintf('\\u%04s', bin2hex($utf16));\r\n                            break;\r\n\r\n                        case (($ord_var_c & 0xF8) == 0xF0):\r\n                            // characters U-00010000 - U-001FFFFF, mask 11110XXX\r\n                            // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                            $char = pack('C*', $ord_var_c,\r\n                                         ord($var{$c + 1}),\r\n                                         ord($var{$c + 2}),\r\n                                         ord($var{$c + 3}));\r\n                            $c += 3;\r\n                            $utf16 = $this->utf82utf16($char);\r\n                            $ascii .= sprintf('\\u%04s', bin2hex($utf16));\r\n                            break;\r\n\r\n                        case (($ord_var_c & 0xFC) == 0xF8):\r\n                            // characters U-00200000 - U-03FFFFFF, mask 111110XX\r\n                            // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                            $char = pack('C*', $ord_var_c,\r\n                                         ord($var{$c + 1}),\r\n                                         ord($var{$c + 2}),\r\n                                         ord($var{$c + 3}),\r\n                                         ord($var{$c + 4}));\r\n                            $c += 4;\r\n                            $utf16 = $this->utf82utf16($char);\r\n                            $ascii .= sprintf('\\u%04s', bin2hex($utf16));\r\n                            break;\r\n\r\n                        case (($ord_var_c & 0xFE) == 0xFC):\r\n                            // characters U-04000000 - U-7FFFFFFF, mask 1111110X\r\n                            // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                            $char = pack('C*', $ord_var_c,\r\n                                         ord($var{$c + 1}),\r\n                                         ord($var{$c + 2}),\r\n                                         ord($var{$c + 3}),\r\n                                         ord($var{$c + 4}),\r\n                                         ord($var{$c + 5}));\r\n                            $c += 5;\r\n                            $utf16 = $this->utf82utf16($char);\r\n                            $ascii .= sprintf('\\u%04s', bin2hex($utf16));\r\n                            break;\r\n                    }\r\n                }\r\n\r\n                return '\"'.$ascii.'\"';\r\n\r\n            case 'array':\r\n               /*\r\n                * As per JSON spec if any array key is not an integer\r\n                * we must treat the the whole array as an object. We\r\n                * also try to catch a sparsely populated associative\r\n                * array with numeric keys here because some JS engines\r\n                * will create an array with empty indexes up to\r\n                * max_index which can cause memory issues and because\r\n                * the keys, which may be relevant, will be remapped\r\n                * otherwise.\r\n                *\r\n                * As per the ECMA and JSON specification an object may\r\n                * have any string as a property. Unfortunately due to\r\n                * a hole in the ECMA specification if the key is a\r\n                * ECMA reserved word or starts with a digit the\r\n                * parameter is only accessible using ECMAScript's\r\n                * bracket notation.\r\n                */\r\n\r\n                // treat as a JSON object\r\n                if (is_array($var) && count($var) && (array_keys($var) !== range(0, sizeof($var) - 1))) {\r\n                    $properties = array_map(array($this, 'name_value'),\r\n                                            array_keys($var),\r\n                                            array_values($var));\r\n\r\n                    foreach($properties as $property) {\r\n                        if(Services_JSON::isError($property)) {\r\n                            return $property;\r\n                        }\r\n                    }\r\n\r\n                    return '{' . join(',', $properties) . '}';\r\n                }\r\n\r\n                // treat it like a regular array\r\n                $elements = array_map(array($this, 'encode'), $var);\r\n\r\n                foreach($elements as $element) {\r\n                    if(Services_JSON::isError($element)) {\r\n                        return $element;\r\n                    }\r\n                }\r\n\r\n                return '[' . join(',', $elements) . ']';\r\n\r\n            case 'object':\r\n                $vars = get_object_vars($var);\r\n\r\n                $properties = array_map(array($this, 'name_value'),\r\n                                        array_keys($vars),\r\n                                        array_values($vars));\r\n\r\n                foreach($properties as $property) {\r\n                    if(Services_JSON::isError($property)) {\r\n                        return $property;\r\n                    }\r\n                }\r\n\r\n                return '{' . join(',', $properties) . '}';\r\n\r\n            default:\r\n                return ($this->use & SERVICES_JSON_SUPPRESS_ERRORS)\r\n                    ? 'null'\r\n                    : new Services_JSON_Error(gettype($var).\" can not be encoded as JSON string\");\r\n        }\r\n    }\r\n\r\n   /**\r\n    * array-walking function for use in generating JSON-formatted name-value pairs\r\n    *\r\n    * @param    string  $name   name of key to use\r\n    * @param    mixed   $value  reference to an array element to be encoded\r\n    *\r\n    * @return   string  JSON-formatted name-value pair, like '\"name\":value'\r\n    * @access   private\r\n    */\r\n    function name_value($name, $value)\r\n    {\r\n        $encoded_value = $this->encode($value);\r\n\r\n        if(Services_JSON::isError($encoded_value)) {\r\n            return $encoded_value;\r\n        }\r\n\r\n        return $this->encode(strval($name)) . ':' . $encoded_value;\r\n    }\r\n\r\n   /**\r\n    * reduce a string by removing leading and trailing comments and whitespace\r\n    *\r\n    * @param    $str    string      string value to strip of comments and whitespace\r\n    *\r\n    * @return   string  string value stripped of comments and whitespace\r\n    * @access   private\r\n    */\r\n    function reduce_string($str)\r\n    {\r\n        $str = preg_replace(array(\r\n\r\n                // eliminate single line comments in '// ...' form\r\n                '#^\\s*//(.+)$#m',\r\n\r\n                // eliminate multi-line comments in '/* ... */' form, at start of string\r\n                '#^\\s*/\\*(.+)\\*/#Us',\r\n\r\n                // eliminate multi-line comments in '/* ... */' form, at end of string\r\n                '#/\\*(.+)\\*/\\s*$#Us'\r\n\r\n            ), '', $str);\r\n\r\n        // eliminate extraneous space\r\n        return trim($str);\r\n    }\r\n\r\n   /**\r\n    * decodes a JSON string into appropriate variable\r\n    *\r\n    * @param    string  $str    JSON-formatted string\r\n    *\r\n    * @return   mixed   number, boolean, string, array, or object\r\n    *                   corresponding to given JSON input string.\r\n    *                   See argument 1 to Services_JSON() above for object-output behavior.\r\n    *                   Note that decode() always returns strings\r\n    *                   in ASCII or UTF-8 format!\r\n    * @access   public\r\n    */\r\n    function decode($str)\r\n    {\r\n        $str = $this->reduce_string($str);\r\n\r\n        switch (strtolower($str)) {\r\n            case 'true':\r\n                return true;\r\n\r\n            case 'false':\r\n                return false;\r\n\r\n            case 'null':\r\n                return null;\r\n\r\n            default:\r\n                $m = array();\r\n\r\n                if (is_numeric($str)) {\r\n                    // Lookie-loo, it's a number\r\n\r\n                    // This would work on its own, but I'm trying to be\r\n                    // good about returning integers where appropriate:\r\n                    // return (float)$str;\r\n\r\n                    // Return float or int, as appropriate\r\n                    return ((float)$str == (integer)$str)\r\n                        ? (integer)$str\r\n                        : (float)$str;\r\n\r\n                } elseif (preg_match('/^(\"|\\').*(\\1)$/s', $str, $m) && $m[1] == $m[2]) {\r\n                    // STRINGS RETURNED IN UTF-8 FORMAT\r\n                    $delim = substr($str, 0, 1);\r\n                    $chrs = substr($str, 1, -1);\r\n                    $utf8 = '';\r\n                    $strlen_chrs = strlen($chrs);\r\n\r\n                    for ($c = 0; $c < $strlen_chrs; ++$c) {\r\n\r\n                        $substr_chrs_c_2 = substr($chrs, $c, 2);\r\n                        $ord_chrs_c = ord($chrs{$c});\r\n\r\n                        switch (true) {\r\n                            case $substr_chrs_c_2 == '\\b':\r\n                                $utf8 .= chr(0x08);\r\n                                ++$c;\r\n                                break;\r\n                            case $substr_chrs_c_2 == '\\t':\r\n                                $utf8 .= chr(0x09);\r\n                                ++$c;\r\n                                break;\r\n                            case $substr_chrs_c_2 == '\\n':\r\n                                $utf8 .= chr(0x0A);\r\n                                ++$c;\r\n                                break;\r\n                            case $substr_chrs_c_2 == '\\f':\r\n                                $utf8 .= chr(0x0C);\r\n                                ++$c;\r\n                                break;\r\n                            case $substr_chrs_c_2 == '\\r':\r\n                                $utf8 .= chr(0x0D);\r\n                                ++$c;\r\n                                break;\r\n\r\n                            case $substr_chrs_c_2 == '\\\\\"':\r\n                            case $substr_chrs_c_2 == '\\\\\\'':\r\n                            case $substr_chrs_c_2 == '\\\\\\\\':\r\n                            case $substr_chrs_c_2 == '\\\\/':\r\n                                if (($delim == '\"' && $substr_chrs_c_2 != '\\\\\\'') ||\r\n                                   ($delim == \"'\" && $substr_chrs_c_2 != '\\\\\"')) {\r\n                                    $utf8 .= $chrs{++$c};\r\n                                }\r\n                                break;\r\n\r\n                            case preg_match('/\\\\\\u[0-9A-F]{4}/i', substr($chrs, $c, 6)):\r\n                                // single, escaped unicode character\r\n                                $utf16 = chr(hexdec(substr($chrs, ($c + 2), 2)))\r\n                                       . chr(hexdec(substr($chrs, ($c + 4), 2)));\r\n                                $utf8 .= $this->utf162utf8($utf16);\r\n                                $c += 5;\r\n                                break;\r\n\r\n                            case ($ord_chrs_c >= 0x20) && ($ord_chrs_c <= 0x7F):\r\n                                $utf8 .= $chrs{$c};\r\n                                break;\r\n\r\n                            case ($ord_chrs_c & 0xE0) == 0xC0:\r\n                                // characters U-00000080 - U-000007FF, mask 110XXXXX\r\n                                //see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                                $utf8 .= substr($chrs, $c, 2);\r\n                                ++$c;\r\n                                break;\r\n\r\n                            case ($ord_chrs_c & 0xF0) == 0xE0:\r\n                                // characters U-00000800 - U-0000FFFF, mask 1110XXXX\r\n                                // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                                $utf8 .= substr($chrs, $c, 3);\r\n                                $c += 2;\r\n                                break;\r\n\r\n                            case ($ord_chrs_c & 0xF8) == 0xF0:\r\n                                // characters U-00010000 - U-001FFFFF, mask 11110XXX\r\n                                // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                                $utf8 .= substr($chrs, $c, 4);\r\n                                $c += 3;\r\n                                break;\r\n\r\n                            case ($ord_chrs_c & 0xFC) == 0xF8:\r\n                                // characters U-00200000 - U-03FFFFFF, mask 111110XX\r\n                                // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                                $utf8 .= substr($chrs, $c, 5);\r\n                                $c += 4;\r\n                                break;\r\n\r\n                            case ($ord_chrs_c & 0xFE) == 0xFC:\r\n                                // characters U-04000000 - U-7FFFFFFF, mask 1111110X\r\n                                // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\r\n                                $utf8 .= substr($chrs, $c, 6);\r\n                                $c += 5;\r\n                                break;\r\n\r\n                        }\r\n\r\n                    }\r\n\r\n                    return $utf8;\r\n\r\n                } elseif (preg_match('/^\\[.*\\]$/s', $str) || preg_match('/^\\{.*\\}$/s', $str)) {\r\n                    // array, or object notation\r\n\r\n                    if ($str{0} == '[') {\r\n                        $stk = array(SERVICES_JSON_IN_ARR);\r\n                        $arr = array();\r\n                    } else {\r\n                        if ($this->use & SERVICES_JSON_LOOSE_TYPE) {\r\n                            $stk = array(SERVICES_JSON_IN_OBJ);\r\n                            $obj = array();\r\n                        } else {\r\n                            $stk = array(SERVICES_JSON_IN_OBJ);\r\n                            $obj = new stdClass();\r\n                        }\r\n                    }\r\n\r\n                    array_push($stk, array('what'  => SERVICES_JSON_SLICE,\r\n                                           'where' => 0,\r\n                                           'delim' => false));\r\n\r\n                    $chrs = substr($str, 1, -1);\r\n                    $chrs = $this->reduce_string($chrs);\r\n\r\n                    if ($chrs == '') {\r\n                        if (reset($stk) == SERVICES_JSON_IN_ARR) {\r\n                            return $arr;\r\n\r\n                        } else {\r\n                            return $obj;\r\n\r\n                        }\r\n                    }\r\n\r\n                    //print(\"\\nparsing {$chrs}\\n\");\r\n\r\n                    $strlen_chrs = strlen($chrs);\r\n\r\n                    for ($c = 0; $c <= $strlen_chrs; ++$c) {\r\n\r\n                        $top = end($stk);\r\n                        $substr_chrs_c_2 = substr($chrs, $c, 2);\r\n\r\n                        if (($c == $strlen_chrs) || (($chrs{$c} == ',') && ($top['what'] == SERVICES_JSON_SLICE))) {\r\n                            // found a comma that is not inside a string, array, etc.,\r\n                            // OR we've reached the end of the character list\r\n                            $slice = substr($chrs, $top['where'], ($c - $top['where']));\r\n                            array_push($stk, array('what' => SERVICES_JSON_SLICE, 'where' => ($c + 1), 'delim' => false));\r\n                            //print(\"Found split at {$c}: \".substr($chrs, $top['where'], (1 + $c - $top['where'])).\"\\n\");\r\n\r\n                            if (reset($stk) == SERVICES_JSON_IN_ARR) {\r\n                                // we are in an array, so just push an element onto the stack\r\n                                array_push($arr, $this->decode($slice));\r\n\r\n                            } elseif (reset($stk) == SERVICES_JSON_IN_OBJ) {\r\n                                // we are in an object, so figure\r\n                                // out the property name and set an\r\n                                // element in an associative array,\r\n                                // for now\r\n                                $parts = array();\r\n                                \r\n                                if (preg_match('/^\\s*([\"\\'].*[^\\\\\\][\"\\'])\\s*:\\s*(\\S.*),?$/Uis', $slice, $parts)) {\r\n                                    // \"name\":value pair\r\n                                    $key = $this->decode($parts[1]);\r\n                                    $val = $this->decode($parts[2]);\r\n\r\n                                    if ($this->use & SERVICES_JSON_LOOSE_TYPE) {\r\n                                        $obj[$key] = $val;\r\n                                    } else {\r\n                                        $obj->$key = $val;\r\n                                    }\r\n                                } elseif (preg_match('/^\\s*(\\w+)\\s*:\\s*(\\S.*),?$/Uis', $slice, $parts)) {\r\n                                    // name:value pair, where name is unquoted\r\n                                    $key = $parts[1];\r\n                                    $val = $this->decode($parts[2]);\r\n\r\n                                    if ($this->use & SERVICES_JSON_LOOSE_TYPE) {\r\n                                        $obj[$key] = $val;\r\n                                    } else {\r\n                                        $obj->$key = $val;\r\n                                    }\r\n                                }\r\n\r\n                            }\r\n\r\n                        } elseif ((($chrs{$c} == '\"') || ($chrs{$c} == \"'\")) && ($top['what'] != SERVICES_JSON_IN_STR)) {\r\n                            // found a quote, and we are not inside a string\r\n                            array_push($stk, array('what' => SERVICES_JSON_IN_STR, 'where' => $c, 'delim' => $chrs{$c}));\r\n                            //print(\"Found start of string at {$c}\\n\");\r\n\r\n                        } elseif (($chrs{$c} == $top['delim']) &&\r\n                                 ($top['what'] == SERVICES_JSON_IN_STR) &&\r\n                                 ((strlen(substr($chrs, 0, $c)) - strlen(rtrim(substr($chrs, 0, $c), '\\\\'))) % 2 != 1)) {\r\n                            // found a quote, we're in a string, and it's not escaped\r\n                            // we know that it's not escaped becase there is _not_ an\r\n                            // odd number of backslashes at the end of the string so far\r\n                            array_pop($stk);\r\n                            //print(\"Found end of string at {$c}: \".substr($chrs, $top['where'], (1 + 1 + $c - $top['where'])).\"\\n\");\r\n\r\n                        } elseif (($chrs{$c} == '[') &&\r\n                                 in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) {\r\n                            // found a left-bracket, and we are in an array, object, or slice\r\n                            array_push($stk, array('what' => SERVICES_JSON_IN_ARR, 'where' => $c, 'delim' => false));\r\n                            //print(\"Found start of array at {$c}\\n\");\r\n\r\n                        } elseif (($chrs{$c} == ']') && ($top['what'] == SERVICES_JSON_IN_ARR)) {\r\n                            // found a right-bracket, and we're in an array\r\n                            array_pop($stk);\r\n                            //print(\"Found end of array at {$c}: \".substr($chrs, $top['where'], (1 + $c - $top['where'])).\"\\n\");\r\n\r\n                        } elseif (($chrs{$c} == '{') &&\r\n                                 in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) {\r\n                            // found a left-brace, and we are in an array, object, or slice\r\n                            array_push($stk, array('what' => SERVICES_JSON_IN_OBJ, 'where' => $c, 'delim' => false));\r\n                            //print(\"Found start of object at {$c}\\n\");\r\n\r\n                        } elseif (($chrs{$c} == '}') && ($top['what'] == SERVICES_JSON_IN_OBJ)) {\r\n                            // found a right-brace, and we're in an object\r\n                            array_pop($stk);\r\n                            //print(\"Found end of object at {$c}: \".substr($chrs, $top['where'], (1 + $c - $top['where'])).\"\\n\");\r\n\r\n                        } elseif (($substr_chrs_c_2 == '/*') &&\r\n                                 in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) {\r\n                            // found a comment start, and we are in an array, object, or slice\r\n                            array_push($stk, array('what' => SERVICES_JSON_IN_CMT, 'where' => $c, 'delim' => false));\r\n                            $c++;\r\n                            //print(\"Found start of comment at {$c}\\n\");\r\n\r\n                        } elseif (($substr_chrs_c_2 == '*/') && ($top['what'] == SERVICES_JSON_IN_CMT)) {\r\n                            // found a comment end, and we're in one now\r\n                            array_pop($stk);\r\n                            $c++;\r\n\r\n                            for ($i = $top['where']; $i <= $c; ++$i)\r\n                                $chrs = substr_replace($chrs, ' ', $i, 1);\r\n\r\n                            //print(\"Found end of comment at {$c}: \".substr($chrs, $top['where'], (1 + $c - $top['where'])).\"\\n\");\r\n\r\n                        }\r\n\r\n                    }\r\n\r\n                    if (reset($stk) == SERVICES_JSON_IN_ARR) {\r\n                        return $arr;\r\n\r\n                    } elseif (reset($stk) == SERVICES_JSON_IN_OBJ) {\r\n                        return $obj;\r\n\r\n                    }\r\n\r\n                }\r\n        }\r\n    }\r\n\r\n    /**\r\n     * @todo Ultimately, this should just call PEAR::isError()\r\n     */\r\n    function isError($data, $code = null)\r\n    {\r\n        if (class_exists('pear')) {\r\n            return PEAR::isError($data, $code);\r\n        } elseif (is_object($data) && (get_class($data) == 'services_json_error' ||\r\n                                 is_subclass_of($data, 'services_json_error'))) {\r\n            return true;\r\n        }\r\n\r\n        return false;\r\n    }\r\n}\r\n\r\nif (class_exists('PEAR_Error')) {\r\n\r\n    class Services_JSON_Error extends PEAR_Error\r\n    {\r\n        function Services_JSON_Error($message = 'unknown error', $code = null,\r\n                                     $mode = null, $options = null, $userinfo = null)\r\n        {\r\n            parent::PEAR_Error($message, $code, $mode, $options, $userinfo);\r\n        }\r\n    }\r\n\r\n} else {\r\n\r\n    /**\r\n     * @todo Ultimately, this class shall be descended from PEAR_Error\r\n     */\r\n    class Services_JSON_Error\r\n    {\r\n        function Services_JSON_Error($message = 'unknown error', $code = null,\r\n                                     $mode = null, $options = null, $userinfo = null)\r\n        {\r\n\r\n        }\r\n    }\r\n\r\n}\r\n    \r\n?>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/php/demo.php",
    "content": "<?php\r\n\t$htmlData = '';\r\n\tif (!empty($_POST['content1'])) {\r\n\t\tif (get_magic_quotes_gpc()) {\r\n\t\t\t$htmlData = stripslashes($_POST['content1']);\r\n\t\t} else {\r\n\t\t\t$htmlData = $_POST['content1'];\r\n\t\t}\r\n\t}\r\n?>\r\n<!doctype html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"utf-8\" />\r\n\t<title>KindEditor PHP</title>\r\n\t<link rel=\"stylesheet\" href=\"../themes/default/default.css\" />\r\n\t<link rel=\"stylesheet\" href=\"../plugins/code/prettify.css\" />\r\n\t<script charset=\"utf-8\" src=\"../kindeditor.js\"></script>\r\n\t<script charset=\"utf-8\" src=\"../lang/zh_CN.js\"></script>\r\n\t<script charset=\"utf-8\" src=\"../plugins/code/prettify.js\"></script>\r\n\t<script>\r\n\t\tKindEditor.ready(function(K) {\r\n\t\t\tvar editor1 = K.create('textarea[name=\"content1\"]', {\r\n\t\t\t\tcssPath : '../plugins/code/prettify.css',\r\n\t\t\t\tuploadJson : '../php/upload_json.php',\r\n\t\t\t\tfileManagerJson : '../php/file_manager_json.php',\r\n\t\t\t\tallowFileManager : true,\r\n\t\t\t\tafterCreate : function() {\r\n\t\t\t\t\tvar self = this;\r\n\t\t\t\t\tK.ctrl(document, 13, function() {\r\n\t\t\t\t\t\tself.sync();\r\n\t\t\t\t\t\tK('form[name=example]')[0].submit();\r\n\t\t\t\t\t});\r\n\t\t\t\t\tK.ctrl(self.edit.doc, 13, function() {\r\n\t\t\t\t\t\tself.sync();\r\n\t\t\t\t\t\tK('form[name=example]')[0].submit();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tprettyPrint();\r\n\t\t});\r\n\t</script>\r\n</head>\r\n<body>\r\n\t<?php echo $htmlData; ?>\r\n\t<form name=\"example\" method=\"post\" action=\"demo.php\">\r\n\t\t<textarea name=\"content1\" style=\"width:700px;height:200px;visibility:hidden;\"><?php echo htmlspecialchars($htmlData); ?></textarea>\r\n\t\t<br />\r\n\t\t<input type=\"submit\" name=\"button\" value=\"提交内容\" /> (提交快捷键: Ctrl + Enter)\r\n\t</form>\r\n</body>\r\n</html>\r\n\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/php/file_manager_json.php",
    "content": "<?php\r\n/**\r\n * KindEditor PHP\r\n *\r\n * 本PHP程序是演示程序，建议不要直接在实际项目中使用。\r\n * 如果您确定直接使用本程序，使用之前请仔细确认相关安全设置。\r\n *\r\n */\r\n\r\nrequire_once 'JSON.php';\r\n\r\n$php_path = dirname(__FILE__) . '/';\r\n$php_url = dirname($_SERVER['PHP_SELF']) . '/';\r\n\r\n//根目录路径，可以指定绝对路径，比如 /var/www/attached/\r\n$root_path = $php_path . '../attached/';\r\n//根目录URL，可以指定绝对路径，比如 http://www.yoursite.com/attached/\r\n$root_url = $php_url . '../attached/';\r\n//图片扩展名\r\n$ext_arr = array('gif', 'jpg', 'jpeg', 'png', 'bmp');\r\n\r\n//目录名\r\n$dir_name = empty($_GET['dir']) ? '' : trim($_GET['dir']);\r\nif (!in_array($dir_name, array('', 'image', 'flash', 'media', 'file'))) {\r\n\techo \"Invalid Directory name.\";\r\n\texit;\r\n}\r\nif ($dir_name !== '') {\r\n\t$root_path .= $dir_name . \"/\";\r\n\t$root_url .= $dir_name . \"/\";\r\n\tif (!file_exists($root_path)) {\r\n\t\tmkdir($root_path);\r\n\t}\r\n}\r\n\r\n//根据path参数，设置各路径和URL\r\nif (empty($_GET['path'])) {\r\n\t$current_path = realpath($root_path) . '/';\r\n\t$current_url = $root_url;\r\n\t$current_dir_path = '';\r\n\t$moveup_dir_path = '';\r\n} else {\r\n\t$current_path = realpath($root_path) . '/' . $_GET['path'];\r\n\t$current_url = $root_url . $_GET['path'];\r\n\t$current_dir_path = $_GET['path'];\r\n\t$moveup_dir_path = preg_replace('/(.*?)[^\\/]+\\/$/', '$1', $current_dir_path);\r\n}\r\n//echo realpath($root_path);\r\n//排序形式，name or size or type\r\n$order = empty($_GET['order']) ? 'name' : strtolower($_GET['order']);\r\n\r\n//不允许使用..移动到上一级目录\r\nif (preg_match('/\\.\\./', $current_path)) {\r\n\techo 'Access is not allowed.';\r\n\texit;\r\n}\r\n//最后一个字符不是/\r\nif (!preg_match('/\\/$/', $current_path)) {\r\n\techo 'Parameter is not valid.';\r\n\texit;\r\n}\r\n//目录不存在或不是目录\r\nif (!file_exists($current_path) || !is_dir($current_path)) {\r\n\techo 'Directory does not exist.';\r\n\texit;\r\n}\r\n\r\n//遍历目录取得文件信息\r\n$file_list = array();\r\nif ($handle = opendir($current_path)) {\r\n\t$i = 0;\r\n\twhile (false !== ($filename = readdir($handle))) {\r\n\t\tif ($filename{0} == '.') continue;\r\n\t\t$file = $current_path . $filename;\r\n\t\tif (is_dir($file)) {\r\n\t\t\t$file_list[$i]['is_dir'] = true; //是否文件夹\r\n\t\t\t$file_list[$i]['has_file'] = (count(scandir($file)) > 2); //文件夹是否包含文件\r\n\t\t\t$file_list[$i]['filesize'] = 0; //文件大小\r\n\t\t\t$file_list[$i]['is_photo'] = false; //是否图片\r\n\t\t\t$file_list[$i]['filetype'] = ''; //文件类别，用扩展名判断\r\n\t\t} else {\r\n\t\t\t$file_list[$i]['is_dir'] = false;\r\n\t\t\t$file_list[$i]['has_file'] = false;\r\n\t\t\t$file_list[$i]['filesize'] = filesize($file);\r\n\t\t\t$file_list[$i]['dir_path'] = '';\r\n\t\t\t$file_ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));\r\n\t\t\t$file_list[$i]['is_photo'] = in_array($file_ext, $ext_arr);\r\n\t\t\t$file_list[$i]['filetype'] = $file_ext;\r\n\t\t}\r\n\t\t$file_list[$i]['filename'] = $filename; //文件名，包含扩展名\r\n\t\t$file_list[$i]['datetime'] = date('Y-m-d H:i:s', filemtime($file)); //文件最后修改时间\r\n\t\t$i++;\r\n\t}\r\n\tclosedir($handle);\r\n}\r\n\r\n//排序\r\nfunction cmp_func($a, $b) {\r\n\tglobal $order;\r\n\tif ($a['is_dir'] && !$b['is_dir']) {\r\n\t\treturn -1;\r\n\t} else if (!$a['is_dir'] && $b['is_dir']) {\r\n\t\treturn 1;\r\n\t} else {\r\n\t\tif ($order == 'size') {\r\n\t\t\tif ($a['filesize'] > $b['filesize']) {\r\n\t\t\t\treturn 1;\r\n\t\t\t} else if ($a['filesize'] < $b['filesize']) {\r\n\t\t\t\treturn -1;\r\n\t\t\t} else {\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t} else if ($order == 'type') {\r\n\t\t\treturn strcmp($a['filetype'], $b['filetype']);\r\n\t\t} else {\r\n\t\t\treturn strcmp($a['filename'], $b['filename']);\r\n\t\t}\r\n\t}\r\n}\r\nusort($file_list, 'cmp_func');\r\n\r\n$result = array();\r\n//相对于根目录的上一级目录\r\n$result['moveup_dir_path'] = $moveup_dir_path;\r\n//相对于根目录的当前目录\r\n$result['current_dir_path'] = $current_dir_path;\r\n//当前目录的URL\r\n$result['current_url'] = $current_url;\r\n//文件数\r\n$result['total_count'] = count($file_list);\r\n//文件列表数组\r\n$result['file_list'] = $file_list;\r\n\r\n//输出JSON字符串\r\nheader('Content-type: application/json; charset=UTF-8');\r\n$json = new Services_JSON();\r\necho $json->encode($result);\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/php/upload_json.php",
    "content": "<?php\r\n/**\r\n * KindEditor PHP\r\n *\r\n * 本PHP程序是演示程序，建议不要直接在实际项目中使用。\r\n * 如果您确定直接使用本程序，使用之前请仔细确认相关安全设置。\r\n *\r\n */\r\n\r\nrequire_once 'JSON.php';\r\n\r\n$php_path = dirname(__FILE__) . '/';\r\n$php_url = dirname($_SERVER['PHP_SELF']) . '/';\r\n\r\n//文件保存目录路径\r\n$save_path = $php_path . '../attached/';\r\n//文件保存目录URL\r\n$save_url = $php_url . '../attached/';\r\n//定义允许上传的文件扩展名\r\n$ext_arr = array(\r\n\t'image' => array('gif', 'jpg', 'jpeg', 'png', 'bmp'),\r\n\t'flash' => array('swf', 'flv'),\r\n\t'media' => array('swf', 'flv', 'mp3', 'wav', 'wma', 'wmv', 'mid', 'avi', 'mpg', 'asf', 'rm', 'rmvb'),\r\n\t'file' => array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'htm', 'html', 'txt', 'zip', 'rar', 'gz', 'bz2'),\r\n);\r\n//最大文件大小\r\n$max_size = 1000000;\r\n\r\n$save_path = realpath($save_path) . '/';\r\n\r\n//PHP上传失败\r\nif (!empty($_FILES['imgFile']['error'])) {\r\n\tswitch($_FILES['imgFile']['error']){\r\n\t\tcase '1':\r\n\t\t\t$error = '超过php.ini允许的大小。';\r\n\t\t\tbreak;\r\n\t\tcase '2':\r\n\t\t\t$error = '超过表单允许的大小。';\r\n\t\t\tbreak;\r\n\t\tcase '3':\r\n\t\t\t$error = '图片只有部分被上传。';\r\n\t\t\tbreak;\r\n\t\tcase '4':\r\n\t\t\t$error = '请选择图片。';\r\n\t\t\tbreak;\r\n\t\tcase '6':\r\n\t\t\t$error = '找不到临时目录。';\r\n\t\t\tbreak;\r\n\t\tcase '7':\r\n\t\t\t$error = '写文件到硬盘出错。';\r\n\t\t\tbreak;\r\n\t\tcase '8':\r\n\t\t\t$error = 'File upload stopped by extension。';\r\n\t\t\tbreak;\r\n\t\tcase '999':\r\n\t\tdefault:\r\n\t\t\t$error = '未知错误。';\r\n\t}\r\n\talert($error);\r\n}\r\n\r\n//有上传文件时\r\nif (empty($_FILES) === false) {\r\n\t//原文件名\r\n\t$file_name = $_FILES['imgFile']['name'];\r\n\t//服务器上临时文件名\r\n\t$tmp_name = $_FILES['imgFile']['tmp_name'];\r\n\t//文件大小\r\n\t$file_size = $_FILES['imgFile']['size'];\r\n\t//检查文件名\r\n\tif (!$file_name) {\r\n\t\talert(\"请选择文件。\");\r\n\t}\r\n\t//检查目录\r\n\tif (@is_dir($save_path) === false) {\r\n\t\talert(\"上传目录不存在。\");\r\n\t}\r\n\t//检查目录写权限\r\n\tif (@is_writable($save_path) === false) {\r\n\t\talert(\"上传目录没有写权限。\");\r\n\t}\r\n\t//检查是否已上传\r\n\tif (@is_uploaded_file($tmp_name) === false) {\r\n\t\talert(\"上传失败。\");\r\n\t}\r\n\t//检查文件大小\r\n\tif ($file_size > $max_size) {\r\n\t\talert(\"上传文件大小超过限制。\");\r\n\t}\r\n\t//检查目录名\r\n\t$dir_name = empty($_GET['dir']) ? 'image' : trim($_GET['dir']);\r\n\tif (empty($ext_arr[$dir_name])) {\r\n\t\talert(\"目录名不正确。\");\r\n\t}\r\n\t//获得文件扩展名\r\n\t$temp_arr = explode(\".\", $file_name);\r\n\t$file_ext = array_pop($temp_arr);\r\n\t$file_ext = trim($file_ext);\r\n\t$file_ext = strtolower($file_ext);\r\n\t//检查扩展名\r\n\tif (in_array($file_ext, $ext_arr[$dir_name]) === false) {\r\n\t\talert(\"上传文件扩展名是不允许的扩展名。\\n只允许\" . implode(\",\", $ext_arr[$dir_name]) . \"格式。\");\r\n\t}\r\n\t//创建文件夹\r\n\tif ($dir_name !== '') {\r\n\t\t$save_path .= $dir_name . \"/\";\r\n\t\t$save_url .= $dir_name . \"/\";\r\n\t\tif (!file_exists($save_path)) {\r\n\t\t\tmkdir($save_path);\r\n\t\t}\r\n\t}\r\n\t$ymd = date(\"Ymd\");\r\n\t$save_path .= $ymd . \"/\";\r\n\t$save_url .= $ymd . \"/\";\r\n\tif (!file_exists($save_path)) {\r\n\t\tmkdir($save_path);\r\n\t}\r\n\t//新文件名\r\n\t$new_file_name = date(\"YmdHis\") . '_' . rand(10000, 99999) . '.' . $file_ext;\r\n\t//移动文件\r\n\t$file_path = $save_path . $new_file_name;\r\n\tif (move_uploaded_file($tmp_name, $file_path) === false) {\r\n\t\talert(\"上传文件失败。\");\r\n\t}\r\n\t@chmod($file_path, 0644);\r\n\t$file_url = $save_url . $new_file_name;\r\n\r\n\theader('Content-type: text/html; charset=UTF-8');\r\n\t$json = new Services_JSON();\r\n\techo $json->encode(array('error' => 0, 'url' => $file_url));\r\n\texit;\r\n}\r\n\r\nfunction alert($msg) {\r\n\theader('Content-type: text/html; charset=UTF-8');\r\n\t$json = new Services_JSON();\r\n\techo $json->encode(array('error' => 1, 'message' => $msg));\r\n\texit;\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/anchor/anchor.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('anchor', function(K) {\r\n\tvar self = this, name = 'anchor', lang = self.lang(name + '.');\r\n\tself.plugin.anchor = {\r\n\t\tedit : function() {\r\n\t\t\tvar html = ['<div style=\"padding:20px;\">',\r\n\t\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t\t'<label for=\"keName\">' + lang.name + '</label>',\r\n\t\t\t\t\t'<input class=\"ke-input-text\" type=\"text\" id=\"keName\" name=\"name\" value=\"\" style=\"width:100px;\" />',\r\n\t\t\t\t\t'</div>',\r\n\t\t\t\t\t'</div>'].join('');\r\n\t\t\tvar dialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 300,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tself.insertHtml('<a name=\"' + nameBox.val() + '\">').hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tvar div = dialog.div,\r\n\t\t\t\tnameBox = K('input[name=\"name\"]', div);\r\n\t\t\tvar img = self.plugin.getSelectedAnchor();\r\n\t\t\tif (img) {\r\n\t\t\t\tnameBox.val(unescape(img.attr('data-ke-name')));\r\n\t\t\t}\r\n\t\t\tnameBox[0].focus();\r\n\t\t\tnameBox[0].select();\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tself.plugin.getSelectedAnchor().remove();\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.anchor.edit);\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/autoheight/autoheight.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('autoheight', function(K) {\r\n\tvar self = this;\r\n\r\n\tif (!self.autoHeightMode) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar minHeight;\r\n\r\n\tfunction hideScroll() {\r\n\t\tvar edit = self.edit;\r\n\t\tvar body = edit.doc.body;\r\n\t\tedit.iframe[0].scroll = 'no';\r\n\t\tbody.style.overflowY = 'hidden';\r\n\t}\r\n\r\n\tfunction resetHeight() {\r\n\t\tvar edit = self.edit;\r\n\t\tvar body = edit.doc.body;\r\n\t\tedit.iframe.height(minHeight);\r\n\t\tself.resize(null, Math.max((K.IE ? body.scrollHeight : body.offsetHeight) + 76, minHeight));\r\n\t}\r\n\r\n\tfunction init() {\r\n\t\tminHeight = K.removeUnit(self.height);\r\n\r\n\t\tself.edit.afterChange(resetHeight);\r\n\t\thideScroll();\r\n\t\tresetHeight();\r\n\t}\r\n\r\n\tif (self.isCreated) {\r\n\t\tinit();\r\n\t} else {\r\n\t\tself.afterCreate(init);\r\n\t}\r\n});\r\n\r\n/*\r\n* 如何实现真正的自动高度？\r\n* 修改编辑器高度之后，再次获取body内容高度时，最小值只会是当前iframe的设置高度，这样就导致高度只增不减。\r\n* 所以每次获取body内容高度之前，先将iframe的高度重置为最小高度，这样就能获取body的实际高度。\r\n* 由此就实现了真正的自动高度\r\n* 测试：chrome、firefox、IE9、IE8\r\n* */\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/baidumap/baidumap.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\n// Baidu Maps: http://dev.baidu.com/wiki/map/index.php?title=%E9%A6%96%E9%A1%B5\r\n\r\nKindEditor.plugin('baidumap', function(K) {\r\n\tvar self = this, name = 'baidumap', lang = self.lang(name + '.');\r\n\tvar mapWidth = K.undef(self.mapWidth, 558);\r\n\tvar mapHeight = K.undef(self.mapHeight, 360);\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar html = ['<div style=\"padding:10px 20px;\">',\r\n\t\t\t'<div class=\"ke-header\">',\r\n\t\t\t// left start\r\n\t\t\t'<div class=\"ke-left\">',\r\n\t\t\tlang.address + ' <input id=\"kindeditor_plugin_map_address\" name=\"address\" class=\"ke-input-text\" value=\"\" style=\"width:200px;\" /> ',\r\n\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t'<input type=\"button\" name=\"searchBtn\" class=\"ke-button-common ke-button\" value=\"' + lang.search + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'</div>',\r\n\t\t\t// right start\r\n\t\t\t'<div class=\"ke-right\">',\r\n\t\t\t'<input type=\"checkbox\" id=\"keInsertDynamicMap\" name=\"insertDynamicMap\" value=\"1\" /> <label for=\"keInsertDynamicMap\">' + lang.insertDynamicMap + '</label>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-clearfix\"></div>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-map\" style=\"width:' + mapWidth + 'px;height:' + mapHeight + 'px;\"></div>',\r\n\t\t\t'</div>'].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : mapWidth + 42,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tvar map = win.map;\r\n\t\t\t\t\tvar centerObj = map.getCenter();\r\n\t\t\t\t\tvar center = centerObj.lng + ',' + centerObj.lat;\r\n\t\t\t\t\tvar zoom = map.getZoom();\r\n\t\t\t\t\tvar url = [checkbox[0].checked ? self.pluginsPath + 'baidumap/index.html' : 'http://api.map.baidu.com/staticimage',\r\n\t\t\t\t\t\t'?center=' + encodeURIComponent(center),\r\n\t\t\t\t\t\t'&zoom=' + encodeURIComponent(zoom),\r\n\t\t\t\t\t\t'&width=' + mapWidth,\r\n\t\t\t\t\t\t'&height=' + mapHeight,\r\n\t\t\t\t\t\t'&markers=' + encodeURIComponent(center),\r\n\t\t\t\t\t\t'&markerStyles=' + encodeURIComponent('l,A')].join('');\r\n\t\t\t\t\tif (checkbox[0].checked) {\r\n\t\t\t\t\t\tself.insertHtml('<iframe src=\"' + url + '\" frameborder=\"0\" style=\"width:' + (mapWidth + 2) + 'px;height:' + (mapHeight + 2) + 'px;\"></iframe>');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tself.exec('insertimage', url);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tself.hideDialog().focus();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tbeforeRemove : function() {\r\n\t\t\t\tsearchBtn.remove();\r\n\t\t\t\tif (doc) {\r\n\t\t\t\t\tdoc.write('');\r\n\t\t\t\t}\r\n\t\t\t\tiframe.remove();\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar div = dialog.div,\r\n\t\t\taddressBox = K('[name=\"address\"]', div),\r\n\t\t\tsearchBtn = K('[name=\"searchBtn\"]', div),\r\n\t\t\tcheckbox = K('[name=\"insertDynamicMap\"]', dialog.div),\r\n\t\t\twin, doc;\r\n\t\tvar iframe = K('<iframe class=\"ke-textarea\" frameborder=\"0\" src=\"' + self.pluginsPath + 'baidumap/map.html\" style=\"width:' + mapWidth + 'px;height:' + mapHeight + 'px;\"></iframe>');\r\n\t\tfunction ready() {\r\n\t\t\twin = iframe[0].contentWindow;\r\n\t\t\tdoc = K.iframeDoc(iframe);\r\n\t\t}\r\n\t\tiframe.bind('load', function() {\r\n\t\t\tiframe.unbind('load');\r\n\t\t\tif (K.IE) {\r\n\t\t\t\tready();\r\n\t\t\t} else {\r\n\t\t\t\tsetTimeout(ready, 0);\r\n\t\t\t}\r\n\t\t});\r\n\t\tK('.ke-map', div).replaceWith(iframe);\r\n\t\t// search map\r\n\t\tsearchBtn.click(function() {\r\n\t\t\twin.search(addressBox.val());\r\n\t\t});\r\n\t});\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/baidumap/index.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n<meta charset=\"utf-8\" />\r\n<meta name=\"keywords\" content=\"百度地图,百度地图API，百度地图自定义工具，百度地图所见即所得工具\" />\r\n<meta name=\"description\" content=\"百度地图API自定义地图，帮助用户在可视化操作下生成百度地图\" />\r\n<title>百度地图API自定义地图</title>\r\n<!--引用百度地图API-->\r\n<style type=\"text/css\">\r\n\thtml,body{margin:0;padding:0;}\r\n\t.iw_poi_title {color:#CC5522;font-size:14px;font-weight:bold;overflow:hidden;padding-right:13px;white-space:nowrap}\r\n\t.iw_poi_content {font:12px arial,sans-serif;overflow:visible;padding-top:4px;white-space:-moz-pre-wrap;word-wrap:break-word}\r\n</style>\r\n<script type=\"text/javascript\" src=\"http://api.map.baidu.com/api?key=&v=1.1&services=true\"></script>\r\n</head>\r\n\r\n<body onload=\"initMap();\">\r\n  <!--百度地图容器-->\r\n  <div style=\"width:697px;height:550px;border:#ccc solid 1px;\" id=\"dituContent\"></div>\r\n</body>\r\n<script type=\"text/javascript\">\r\n\tfunction getParam(name) {\r\n\t\treturn location.href.match(new RegExp('[?&]' + name + '=([^?&]+)', 'i')) ? decodeURIComponent(RegExp.$1) : '';\r\n\t}\r\n\tvar centerParam = getParam('center');\r\n\tvar zoomParam = getParam('zoom');\r\n\tvar widthParam = getParam('width');\r\n\tvar heightParam = getParam('height');\r\n\tvar markersParam = getParam('markers');\r\n\tvar markerStylesParam = getParam('markerStyles');\r\n\r\n\t//创建和初始化地图函数：\r\n\tfunction initMap(){\r\n\t\t// [FF]切换模式后报错\r\n\t\tif (!window.BMap) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar dituContent = document.getElementById('dituContent');\r\n\t\tdituContent.style.width = widthParam + 'px';\r\n\t\tdituContent.style.height = heightParam + 'px';\r\n\r\n\t\tcreateMap();//创建地图\r\n\t\tsetMapEvent();//设置地图事件\r\n\t\taddMapControl();//向地图添加控件\r\n\r\n\t\t// 创建标注\r\n\t\tvar markersArr = markersParam.split(',');\r\n\t\tvar point = new BMap.Point(markersArr[0], markersArr[1]);\r\n\t\tvar marker = new BMap.Marker(point);\r\n\t\tmap.addOverlay(marker); // 将标注添加到地图中\r\n\t}\r\n\r\n\t//创建地图函数：\r\n\tfunction createMap(){\r\n\t\tvar map = new BMap.Map(\"dituContent\");//在百度地图容器中创建一个地图\r\n\t\tvar centerArr = centerParam.split(',');\r\n\t\tvar point = new BMap.Point(centerArr[0], centerArr[1]);//定义一个中心点坐标\r\n\t\tmap.centerAndZoom(point, zoomParam);//设定地图的中心点和坐标并将地图显示在地图容器中\r\n\t\twindow.map = map;//将map变量存储在全局\r\n\t}\r\n\r\n\t//地图事件设置函数：\r\n\tfunction setMapEvent(){\r\n\t\tmap.enableDragging();//启用地图拖拽事件，默认启用(可不写)\r\n\t\tmap.enableScrollWheelZoom();//启用地图滚轮放大缩小\r\n\t\tmap.enableDoubleClickZoom();//启用鼠标双击放大，默认启用(可不写)\r\n\t\tmap.enableKeyboard();//启用键盘上下左右键移动地图\r\n\t}\r\n\r\n\t//地图控件添加函数：\r\n\tfunction addMapControl(){\r\n\t\t//向地图中添加缩放控件\r\n\tvar ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE});\r\n\tmap.addControl(ctrl_nav);\r\n\t\t//向地图中添加缩略图控件\r\n\tvar ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1});\r\n\tmap.addControl(ctrl_ove);\r\n\t\t//向地图中添加比例尺控件\r\n\tvar ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});\r\n\tmap.addControl(ctrl_sca);\r\n\t}\r\n</script>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/baidumap/map.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\" />\r\n\t\t<title>Baidu Maps</title>\r\n\t\t<style>\r\n\t\t\thtml { height: 100% }\r\n\t\t\tbody { height: 100%; margin: 0; padding: 0; background-color: #FFF }\r\n\t\t</style>\r\n\t\t<script charset=\"utf-8\" src=\"http://api.map.baidu.com/api?v=1.3\"></script>\r\n\t\t<script>\r\n\t\t\tvar map, geocoder;\r\n\t\t\tfunction initialize() {\r\n\t\t\t\tmap = new BMap.Map('map_canvas');\r\n\t\t\t\tvar point = new BMap.Point(121.473704, 31.230393);\r\n\t\t\t\tmap.centerAndZoom(point, 11);\r\n\t\t\t\tmap.addControl(new BMap.NavigationControl());\r\n\t\t\t\tmap.enableScrollWheelZoom();\r\n\r\n\t\t\t\tvar gc = new BMap.Geocoder();\r\n\t\t\t\tgc.getLocation(point, function(rs){\r\n\t\t\t\t\tvar addComp = rs.addressComponents;\r\n\t\t\t\t\tvar address = [addComp.city].join('');\r\n\t\t\t\t\tparent.document.getElementById(\"kindeditor_plugin_map_address\").value = address;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tfunction search(address) {\r\n\t\t\t\tif (!map) return;\r\n\t\t\t\tvar local = new BMap.LocalSearch(map, {\r\n\t\t\t\t\trenderOptions: {\r\n\t\t\t\t\t\tmap: map,\r\n\t\t\t\t\t\tautoViewport: true,\r\n\t\t\t\t\t\tselectFirstResult: false\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tlocal.search(address);\r\n\t\t\t}\r\n\t\t</script>\r\n\t</head>\r\n\t<body onload=\"initialize();\">\r\n\t\t<div id=\"map_canvas\" style=\"width:100%; height:100%\"></div>\r\n\t</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/clearhtml/clearhtml.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('clearhtml', function(K) {\r\n\tvar self = this, name = 'clearhtml';\r\n\tself.clickToolbar(name, function() {\r\n\t\tself.focus();\r\n\t\tvar html = self.html();\r\n\t\thtml = html.replace(/(<script[^>]*>)([\\s\\S]*?)(<\\/script>)/ig, '');\r\n\t\thtml = html.replace(/(<style[^>]*>)([\\s\\S]*?)(<\\/style>)/ig, '');\r\n\t\thtml = K.formatHtml(html, {\r\n\t\t\ta : ['href', 'target'],\r\n\t\t\tembed : ['src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess'],\r\n\t\t\timg : ['src', 'width', 'height', 'border', 'alt', 'title', '.width', '.height'],\r\n\t\t\ttable : ['border'],\r\n\t\t\t'td,th' : ['rowspan', 'colspan'],\r\n\t\t\t'div,hr,br,tbody,tr,p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : []\r\n\t\t});\r\n\t\tself.html(html);\r\n\t\tself.cmd.selection(true);\r\n\t\tself.addBookmark();\r\n\t});\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/code/code.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\n// google code prettify: http://google-code-prettify.googlecode.com/\r\n// http://google-code-prettify.googlecode.com/\r\n\r\nKindEditor.plugin('code', function(K) {\r\n\tvar self = this, name = 'code';\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar lang = self.lang(name + '.'),\r\n\t\t\thtml = ['<div style=\"padding:10px 20px;\">',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<select class=\"ke-code-type\">',\r\n\t\t\t\t'<option value=\"js\">JavaScript</option>',\r\n\t\t\t\t'<option value=\"html\">HTML</option>',\r\n\t\t\t\t'<option value=\"css\">CSS</option>',\r\n\t\t\t\t'<option value=\"php\">PHP</option>',\r\n\t\t\t\t'<option value=\"pl\">Perl</option>',\r\n\t\t\t\t'<option value=\"py\">Python</option>',\r\n\t\t\t\t'<option value=\"rb\">Ruby</option>',\r\n\t\t\t\t'<option value=\"java\">Java</option>',\r\n\t\t\t\t'<option value=\"vb\">ASP/VB</option>',\r\n\t\t\t\t'<option value=\"cpp\">C/C++</option>',\r\n\t\t\t\t'<option value=\"cs\">C#</option>',\r\n\t\t\t\t'<option value=\"xml\">XML</option>',\r\n\t\t\t\t'<option value=\"bsh\">Shell</option>',\r\n\t\t\t\t'<option value=\"\">Other</option>',\r\n\t\t\t\t'</select>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<textarea class=\"ke-textarea\" style=\"width:408px;height:260px;\"></textarea>',\r\n\t\t\t\t'</div>'].join(''),\r\n\t\t\tdialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 450,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar type = K('.ke-code-type', dialog.div).val(),\r\n\t\t\t\t\t\t\tcode = textarea.val(),\r\n\t\t\t\t\t\t\tcls = type === '' ? '' :  ' lang-' + type,\r\n\t\t\t\t\t\t\thtml = '<pre class=\"prettyprint' + cls + '\">\\n' + K.escape(code) + '</pre> ';\r\n\t\t\t\t\t\tif (K.trim(code) === '') {\r\n\t\t\t\t\t\t\talert(lang.pleaseInput);\r\n\t\t\t\t\t\t\ttextarea[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tself.insertHtml(html).hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\ttextarea = K('textarea', dialog.div);\r\n\t\ttextarea[0].focus();\r\n\t});\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/code/prettify.css",
    "content": ".pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}\r\n\r\npre.prettyprint {\r\n\tborder: 0;\r\n\tborder-left: 3px solid rgb(204, 204, 204);\r\n\tmargin-left: 2em;\r\n\tpadding: 0.5em;\r\n\tfont-size: 110%;\r\n\tdisplay: block;\r\n\tfont-family: \"Consolas\", \"Monaco\", \"Bitstream Vera Sans Mono\", \"Courier New\", Courier, monospace;\r\n\tmargin: 1em 0px;\r\n\twhite-space: pre;\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/code/prettify.js",
    "content": "var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;\r\n(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:\"0\"<=b&&b<=\"7\"?parseInt(a.substring(1),8):b===\"u\"||b===\"x\"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?\"\\\\x0\":\"\\\\x\")+a.toString(16);a=String.fromCharCode(a);if(a===\"\\\\\"||a===\"-\"||a===\"[\"||a===\"]\")a=\"\\\\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\\\u[\\dA-Fa-f]{4}|\\\\x[\\dA-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\S\\s]|[^\\\\]/g),a=\r\n[],b=[],o=f[0]===\"^\",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&\"-\"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=[\"[\"];o&&b.push(\"^\");b.push.apply(b,a);for(c=0;c<\r\nf.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push(\"-\"),b.push(e(i[1])));b.push(\"]\");return b.join(\"\")}function y(a){for(var f=a.source.match(/\\[(?:[^\\\\\\]]|\\\\[\\S\\s])*]|\\\\u[\\dA-Fa-f]{4}|\\\\x[\\dA-Fa-f]{2}|\\\\\\d+|\\\\[^\\dux]|\\(\\?[!:=]|[()^]|[^()[\\\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j===\"(\"?++i:\"\\\\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j===\"(\"?(++i,d[i]===void 0&&(f[c]=\"(?:\")):\"\\\\\"===j.charAt(0)&&\r\n(j=+j.substring(1))&&j<=i&&(f[c]=\"\\\\\"+d[i]);for(i=c=0;c<b;++c)\"^\"===f[c]&&\"^\"!==f[c+1]&&(f[c]=\"\");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a===\"[\"?f[c]=h(j):a!==\"\\\\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return\"[\"+String.fromCharCode(a&-33,a|32)+\"]\"}));return f.join(\"\")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\\\u[\\da-f]{4}|\\\\x[\\da-f]{2}|\\\\[^UXux]/gi,\"\"))){s=!0;l=!1;break}}for(var r=\r\n{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(\"\"+g);n.push(\"(?:\"+y(g)+\")\")}return RegExp(n.join(\"|\"),l?\"gi\":\"g\")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if(\"BR\"===g||\"LI\"===g)h[s]=\"\\n\",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\\r\\n?/g,\"\\n\"):g.replace(/[\\t\\n\\r ]+/g,\" \"),h[s]=g,t[s<<1]=y,y+=g.length,\r\nt[s++<<1|1]=a)}}var e=/(?:^|\\s)nocode(?:\\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue(\"white-space\"));var p=l&&\"pre\"===l.substring(0,3);m(a);return{a:h.join(\"\").replace(/\\n$/,\"\"),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,\"pln\"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===\r\n\"string\")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b=\"pln\")}if((c=b.length>=5&&\"lang-\"===b.substring(0,5))&&!(o&&typeof o[1]===\"string\"))c=!1,b=\"src\";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),\r\nl=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=\"\"+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\\S\\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push([\"str\",/^(?:'''(?:[^'\\\\]|\\\\[\\S\\s]|''?(?=[^']))*(?:'''|$)|\"\"\"(?:[^\"\\\\]|\\\\[\\S\\s]|\"\"?(?=[^\"]))*(?:\"\"\"|$)|'(?:[^'\\\\]|\\\\[\\S\\s])*(?:'|$)|\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$))/,q,\"'\\\"\"]):a.multiLineStrings?m.push([\"str\",/^(?:'(?:[^'\\\\]|\\\\[\\S\\s])*(?:'|$)|\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$)|`(?:[^\\\\`]|\\\\[\\S\\s])*(?:`|$))/,\r\nq,\"'\\\"`\"]):m.push([\"str\",/^(?:'(?:[^\\n\\r'\\\\]|\\\\.)*(?:'|$)|\"(?:[^\\n\\r\"\\\\]|\\\\.)*(?:\"|$))/,q,\"\\\"'\"]);a.verbatimStrings&&e.push([\"str\",/^@\"(?:[^\"]|\"\")*(?:\"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push([\"com\",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,\"#\"]):m.push([\"com\",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\\b|[^\\n\\r]*)/,q,\"#\"]),e.push([\"str\",/^<(?:(?:(?:\\.\\.\\/)*|\\/?)(?:[\\w-]+(?:\\/[\\w-]+)+)?[\\w-]+\\.h|[a-z]\\w*)>/,q])):m.push([\"com\",/^#[^\\n\\r]*/,\r\nq,\"#\"]));a.cStyleComments&&(e.push([\"com\",/^\\/\\/[^\\n\\r]*/,q]),e.push([\"com\",/^\\/\\*[\\S\\s]*?(?:\\*\\/|$)/,q]));a.regexLiterals&&e.push([\"lang-regex\",/^(?:^^\\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|,|-=|->|\\/|\\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\\^=|\\^\\^|\\^\\^=|{|\\||\\|=|\\|\\||\\|\\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*(\\/(?=[^*/])(?:[^/[\\\\]|\\\\[\\S\\s]|\\[(?:[^\\\\\\]]|\\\\[\\S\\s])*(?:]|$))+\\/)/]);(h=a.types)&&e.push([\"typ\",h]);a=(\"\"+a.keywords).replace(/^ | $/g,\r\n\"\");a.length&&e.push([\"kwd\",RegExp(\"^(?:\"+a.replace(/[\\s,]+/g,\"|\")+\")\\\\b\"),q]);m.push([\"pln\",/^\\s+/,q,\" \\r\\n\\t\\xa0\"]);e.push([\"lit\",/^@[$_a-z][\\w$@]*/i,q],[\"typ\",/^(?:[@_]?[A-Z]+[a-z][\\w$@]*|\\w+_t\\b)/,q],[\"pln\",/^[$_a-z][\\w$@]*/i,q],[\"lit\",/^(?:0x[\\da-f]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+-]?\\d+)?)[a-z]*/i,q,\"0123456789\"],[\"pln\",/^\\\\[\\S\\s]?/,q],[\"pun\",/^.[^\\s\\w\"-$'./@\\\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if(\"BR\"===a.nodeName)h(a),\r\na.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}\r\nfor(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\\s)nocode(?:\\s|$)/,t=/\\r\\n?|\\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue(\"white-space\"));var p=l&&\"pre\"===l.substring(0,3);for(l=s.createElement(\"LI\");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute(\"value\",\r\nm);var r=s.createElement(\"OL\");r.className=\"linenums\";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className=\"L\"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode(\"\\xa0\")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn(\"cannot override language handler %s\",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\\s*</.test(m)?\"default-markup\":\"default-code\";return A[a]}function E(a){var m=\r\na.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\\bMSIE\\b/.test(navigator.userAgent),m=/\\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,\"\\r\"));i.nodeValue=\r\nj;var u=i.ownerDocument,v=u.createElement(\"SPAN\");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){\"console\"in window&&console.log(w&&w.stack?w.stack:w)}}var v=[\"break,continue,do,else,for,if,return,while\"],w=[[v,\"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile\"],\r\n\"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof\"],F=[w,\"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where\"],G=[w,\"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient\"],\r\nH=[G,\"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var\"],w=[w,\"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN\"],I=[v,\"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None\"],\r\nJ=[v,\"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END\"],v=[v,\"case,done,elif,esac,eval,fi,function,in,local,set,then,until\"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\\d*)/,N=/\\S/,O=u({keywords:[F,H,w,\"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END\"+\r\nI,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,[\"default-code\"]);k(x([],[[\"pln\",/^[^<?]+/],[\"dec\",/^<!\\w[^>]*(?:>|$)/],[\"com\",/^<\\!--[\\S\\s]*?(?:--\\>|$)/],[\"lang-\",/^<\\?([\\S\\s]+?)(?:\\?>|$)/],[\"lang-\",/^<%([\\S\\s]+?)(?:%>|$)/],[\"pun\",/^(?:<[%?]|[%?]>)/],[\"lang-\",/^<xmp\\b[^>]*>([\\S\\s]+?)<\\/xmp\\b[^>]*>/i],[\"lang-js\",/^<script\\b[^>]*>([\\S\\s]*?)(<\\/script\\b[^>]*>)/i],[\"lang-css\",/^<style\\b[^>]*>([\\S\\s]*?)(<\\/style\\b[^>]*>)/i],[\"lang-in.tag\",/^(<\\/?[a-z][^<>]*>)/i]]),\r\n[\"default-markup\",\"htm\",\"html\",\"mxml\",\"xhtml\",\"xml\",\"xsl\"]);k(x([[\"pln\",/^\\s+/,q,\" \\t\\r\\n\"],[\"atv\",/^(?:\"[^\"]*\"?|'[^']*'?)/,q,\"\\\"'\"]],[[\"tag\",/^^<\\/?[a-z](?:[\\w-.:]*\\w)?|\\/?>$/i],[\"atn\",/^(?!style[\\s=]|on)[a-z](?:[\\w:-]*\\w)?/i],[\"lang-uq.val\",/^=\\s*([^\\s\"'>]*(?:[^\\s\"'/>]|\\/(?=\\s)))/],[\"pun\",/^[/<->]+/],[\"lang-js\",/^on\\w+\\s*=\\s*\"([^\"]+)\"/i],[\"lang-js\",/^on\\w+\\s*=\\s*'([^']+)'/i],[\"lang-js\",/^on\\w+\\s*=\\s*([^\\s\"'>]+)/i],[\"lang-css\",/^style\\s*=\\s*\"([^\"]+)\"/i],[\"lang-css\",/^style\\s*=\\s*'([^']+)'/i],[\"lang-css\",\r\n/^style\\s*=\\s*([^\\s\"'>]+)/i]]),[\"in.tag\"]);k(x([],[[\"atv\",/^[\\S\\s]+/]]),[\"uq.val\"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),[\"c\",\"cc\",\"cpp\",\"cxx\",\"cyc\",\"m\"]);k(u({keywords:\"null,true,false\"}),[\"json\"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),[\"cs\"]);k(u({keywords:G,cStyleComments:!0}),[\"java\"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),[\"bsh\",\"csh\",\"sh\"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),\r\n[\"cv\",\"py\"]);k(u({keywords:\"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END\",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),[\"perl\",\"pl\",\"pm\"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),[\"rb\"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),[\"js\"]);k(u({keywords:\"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes\",\r\nhashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),[\"coffee\"]);k(x([],[[\"str\",/^[\\S\\s]+/]]),[\"regex\"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement(\"PRE\");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf(\"prettyprint\")>=0){var k=k.match(g),f,b;if(b=\r\n!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&\"CODE\"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName===\"pre\"||o.tagName===\"code\"||o.tagName===\"xmp\")&&o.className&&o.className.indexOf(\"prettyprint\")>=0){b=!0;break}b||((b=(b=n.className.match(/\\blinenums\\b(?::(\\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,\r\n250):a&&a()}for(var e=[document.getElementsByTagName(\"pre\"),document.getElementsByTagName(\"code\"),document.getElementsByTagName(\"xmp\")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\\blang(?:uage)?-([\\w.]+)(?!\\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:\"atn\",PR_ATTRIB_VALUE:\"atv\",PR_COMMENT:\"com\",PR_DECLARATION:\"dec\",PR_KEYWORD:\"kwd\",PR_LITERAL:\"lit\",\r\nPR_NOCODE:\"nocode\",PR_PLAIN:\"pln\",PR_PUNCTUATION:\"pun\",PR_SOURCE:\"src\",PR_STRING:\"str\",PR_TAG:\"tag\",PR_TYPE:\"typ\"}})();\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/emoticons/emoticons.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('emoticons', function(K) {\r\n\tvar self = this, name = 'emoticons',\r\n\t\tpath = (self.emoticonsPath || self.pluginsPath + 'emoticons/images/'),\r\n\t\tallowPreview = self.allowPreviewEmoticons === undefined ? true : self.allowPreviewEmoticons,\r\n\t\tcurrentPageNum = 1;\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar rows = 5, cols = 9, total = 135, startNum = 0,\r\n\t\t\tcells = rows * cols, pages = Math.ceil(total / cells),\r\n\t\t\tcolsHalf = Math.floor(cols / 2),\r\n\t\t\twrapperDiv = K('<div class=\"ke-plugin-emoticons\"></div>'),\r\n\t\t\telements = [],\r\n\t\t\tmenu = self.createMenu({\r\n\t\t\t\tname : name,\r\n\t\t\t\tbeforeRemove : function() {\r\n\t\t\t\t\tremoveEvent();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\tmenu.div.append(wrapperDiv);\r\n\t\tvar previewDiv, previewImg;\r\n\t\tif (allowPreview) {\r\n\t\t\tpreviewDiv = K('<div class=\"ke-preview\"></div>').css('right', 0);\r\n\t\t\tpreviewImg = K('<img class=\"ke-preview-img\" src=\"' + path + startNum + '.gif\" />');\r\n\t\t\twrapperDiv.append(previewDiv);\r\n\t\t\tpreviewDiv.append(previewImg);\r\n\t\t}\r\n\t\tfunction bindCellEvent(cell, j, num) {\r\n\t\t\tif (previewDiv) {\r\n\t\t\t\tcell.mouseover(function() {\r\n\t\t\t\t\tif (j > colsHalf) {\r\n\t\t\t\t\t\tpreviewDiv.css('left', 0);\r\n\t\t\t\t\t\tpreviewDiv.css('right', '');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tpreviewDiv.css('left', '');\r\n\t\t\t\t\t\tpreviewDiv.css('right', 0);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpreviewImg.attr('src', path + num + '.gif');\r\n\t\t\t\t\tK(this).addClass('ke-on');\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tcell.mouseover(function() {\r\n\t\t\t\t\tK(this).addClass('ke-on');\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tcell.mouseout(function() {\r\n\t\t\t\tK(this).removeClass('ke-on');\r\n\t\t\t});\r\n\t\t\tcell.click(function(e) {\r\n\t\t\t\tself.insertHtml('<img src=\"' + path + num + '.gif\" border=\"0\" alt=\"\" />').hideMenu().focus();\r\n\t\t\t\te.stop();\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction createEmoticonsTable(pageNum, parentDiv) {\r\n\t\t\tvar table = document.createElement('table');\r\n\t\t\tparentDiv.append(table);\r\n\t\t\tif (previewDiv) {\r\n\t\t\t\tK(table).mouseover(function() {\r\n\t\t\t\t\tpreviewDiv.show('block');\r\n\t\t\t\t});\r\n\t\t\t\tK(table).mouseout(function() {\r\n\t\t\t\t\tpreviewDiv.hide();\r\n\t\t\t\t});\r\n\t\t\t\telements.push(K(table));\r\n\t\t\t}\r\n\t\t\ttable.className = 'ke-table';\r\n\t\t\ttable.cellPadding = 0;\r\n\t\t\ttable.cellSpacing = 0;\r\n\t\t\ttable.border = 0;\r\n\t\t\tvar num = (pageNum - 1) * cells + startNum;\r\n\t\t\tfor (var i = 0; i < rows; i++) {\r\n\t\t\t\tvar row = table.insertRow(i);\r\n\t\t\t\tfor (var j = 0; j < cols; j++) {\r\n\t\t\t\t\tvar cell = K(row.insertCell(j));\r\n\t\t\t\t\tcell.addClass('ke-cell');\r\n\t\t\t\t\tbindCellEvent(cell, j, num);\r\n\t\t\t\t\tvar span = K('<span class=\"ke-img\"></span>')\r\n\t\t\t\t\t\t.css('background-position', '-' + (24 * num) + 'px 0px')\r\n\t\t\t\t\t\t.css('background-image', 'url(' + path + 'static.gif)');\r\n\t\t\t\t\tcell.append(span);\r\n\t\t\t\t\telements.push(cell);\r\n\t\t\t\t\tnum++;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn table;\r\n\t\t}\r\n\t\tvar table = createEmoticonsTable(currentPageNum, wrapperDiv);\r\n\t\tfunction removeEvent() {\r\n\t\t\tK.each(elements, function() {\r\n\t\t\t\tthis.unbind();\r\n\t\t\t});\r\n\t\t}\r\n\t\tvar pageDiv;\r\n\t\tfunction bindPageEvent(el, pageNum) {\r\n\t\t\tel.click(function(e) {\r\n\t\t\t\tremoveEvent();\r\n\t\t\t\ttable.parentNode.removeChild(table);\r\n\t\t\t\tpageDiv.remove();\r\n\t\t\t\ttable = createEmoticonsTable(pageNum, wrapperDiv);\r\n\t\t\t\tcreatePageTable(pageNum);\r\n\t\t\t\tcurrentPageNum = pageNum;\r\n\t\t\t\te.stop();\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction createPageTable(currentPageNum) {\r\n\t\t\tpageDiv = K('<div class=\"ke-page\"></div>');\r\n\t\t\twrapperDiv.append(pageDiv);\r\n\t\t\tfor (var pageNum = 1; pageNum <= pages; pageNum++) {\r\n\t\t\t\tif (currentPageNum !== pageNum) {\r\n\t\t\t\t\tvar a = K('<a href=\"javascript:;\">[' + pageNum + ']</a>');\r\n\t\t\t\t\tbindPageEvent(a, pageNum);\r\n\t\t\t\t\tpageDiv.append(a);\r\n\t\t\t\t\telements.push(a);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tpageDiv.append(K('@[' + pageNum + ']'));\r\n\t\t\t\t}\r\n\t\t\t\tpageDiv.append(K('@&nbsp;'));\r\n\t\t\t}\r\n\t\t}\r\n\t\tcreatePageTable(currentPageNum);\r\n\t});\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/filemanager/filemanager.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('filemanager', function(K) {\r\n\tvar self = this, name = 'filemanager',\r\n\t\tfileManagerJson = K.undef(self.fileManagerJson, self.basePath + 'php/file_manager_json.php'),\r\n\t\timgPath = self.pluginsPath + name + '/images/',\r\n\t\tlang = self.lang(name + '.');\r\n\tfunction makeFileTitle(filename, filesize, datetime) {\r\n\t\treturn filename + ' (' + Math.ceil(filesize / 1024) + 'KB, ' + datetime + ')';\r\n\t}\r\n\tfunction bindTitle(el, data) {\r\n\t\tif (data.is_dir) {\r\n\t\t\tel.attr('title', data.filename);\r\n\t\t} else {\r\n\t\t\tel.attr('title', makeFileTitle(data.filename, data.filesize, data.datetime));\r\n\t\t}\r\n\t}\r\n\tself.plugin.filemanagerDialog = function(options) {\r\n\t\tvar width = K.undef(options.width, 650),\r\n\t\t\theight = K.undef(options.height, 510),\r\n\t\t\tdirName = K.undef(options.dirName, ''),\r\n\t\t\tviewType = K.undef(options.viewType, 'VIEW').toUpperCase(), // \"LIST\" or \"VIEW\"\r\n\t\t\tclickFn = options.clickFn;\r\n\t\tvar html = [\r\n\t\t\t'<div style=\"padding:10px 20px;\">',\r\n\t\t\t// header start\r\n\t\t\t'<div class=\"ke-plugin-filemanager-header\">',\r\n\t\t\t// left start\r\n\t\t\t'<div class=\"ke-left\">',\r\n\t\t\t'<img class=\"ke-inline-block\" name=\"moveupImg\" src=\"' + imgPath + 'go-up.gif\" width=\"16\" height=\"16\" border=\"0\" alt=\"\" /> ',\r\n\t\t\t'<a class=\"ke-inline-block\" name=\"moveupLink\" href=\"javascript:;\">' + lang.moveup + '</a>',\r\n\t\t\t'</div>',\r\n\t\t\t// right start\r\n\t\t\t'<div class=\"ke-right\">',\r\n\t\t\tlang.viewType + ' <select class=\"ke-inline-block\" name=\"viewType\">',\r\n\t\t\t'<option value=\"VIEW\">' + lang.viewImage + '</option>',\r\n\t\t\t'<option value=\"LIST\">' + lang.listImage + '</option>',\r\n\t\t\t'</select> ',\r\n\t\t\tlang.orderType + ' <select class=\"ke-inline-block\" name=\"orderType\">',\r\n\t\t\t'<option value=\"NAME\">' + lang.fileName + '</option>',\r\n\t\t\t'<option value=\"SIZE\">' + lang.fileSize + '</option>',\r\n\t\t\t'<option value=\"TYPE\">' + lang.fileType + '</option>',\r\n\t\t\t'</select>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-clearfix\"></div>',\r\n\t\t\t'</div>',\r\n\t\t\t// body start\r\n\t\t\t'<div class=\"ke-plugin-filemanager-body\"></div>',\r\n\t\t\t'</div>'\r\n\t\t].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : width,\r\n\t\t\theight : height,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html\r\n\t\t}),\r\n\t\tdiv = dialog.div,\r\n\t\tbodyDiv = K('.ke-plugin-filemanager-body', div),\r\n\t\tmoveupImg = K('[name=\"moveupImg\"]', div),\r\n\t\tmoveupLink = K('[name=\"moveupLink\"]', div),\r\n\t\tviewServerBtn = K('[name=\"viewServer\"]', div),\r\n\t\tviewTypeBox = K('[name=\"viewType\"]', div),\r\n\t\torderTypeBox = K('[name=\"orderType\"]', div);\r\n\t\tfunction reloadPage(path, order, func) {\r\n\t\t\tvar param = 'path=' + path + '&order=' + order + '&dir=' + dirName;\r\n\t\t\tdialog.showLoading(self.lang('ajaxLoading'));\r\n\t\t\tK.ajax(K.addParam(fileManagerJson, param + '&' + new Date().getTime()), function(data) {\r\n\t\t\t\tdialog.hideLoading();\r\n\t\t\t\tfunc(data);\r\n\t\t\t});\r\n\t\t}\r\n\t\tvar elList = [];\r\n\t\tfunction bindEvent(el, result, data, createFunc) {\r\n\t\t\tvar fileUrl = K.formatUrl(result.current_url + data.filename, 'absolute'),\r\n\t\t\t\tdirPath = encodeURIComponent(result.current_dir_path + data.filename + '/');\r\n\t\t\tif (data.is_dir) {\r\n\t\t\t\tel.click(function(e) {\r\n\t\t\t\t\treloadPage(dirPath, orderTypeBox.val(), createFunc);\r\n\t\t\t\t});\r\n\t\t\t} else if (data.is_photo) {\r\n\t\t\t\tel.click(function(e) {\r\n\t\t\t\t\tclickFn.call(this, fileUrl, data.filename);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tel.click(function(e) {\r\n\t\t\t\t\tclickFn.call(this, fileUrl, data.filename);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telList.push(el);\r\n\t\t}\r\n\t\tfunction createCommon(result, createFunc) {\r\n\t\t\t// remove events\r\n\t\t\tK.each(elList, function() {\r\n\t\t\t\tthis.unbind();\r\n\t\t\t});\r\n\t\t\tmoveupLink.unbind();\r\n\t\t\tviewTypeBox.unbind();\r\n\t\t\torderTypeBox.unbind();\r\n\t\t\t// add events\r\n\t\t\tif (result.current_dir_path) {\r\n\t\t\t\tmoveupLink.click(function(e) {\r\n\t\t\t\t\treloadPage(result.moveup_dir_path, orderTypeBox.val(), createFunc);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tfunction changeFunc() {\r\n\t\t\t\tif (viewTypeBox.val() == 'VIEW') {\r\n\t\t\t\t\treloadPage(result.current_dir_path, orderTypeBox.val(), createView);\r\n\t\t\t\t} else {\r\n\t\t\t\t\treloadPage(result.current_dir_path, orderTypeBox.val(), createList);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tviewTypeBox.change(changeFunc);\r\n\t\t\torderTypeBox.change(changeFunc);\r\n\t\t\tbodyDiv.html('');\r\n\t\t}\r\n\t\tfunction createList(result) {\r\n\t\t\tcreateCommon(result, createList);\r\n\t\t\tvar table = document.createElement('table');\r\n\t\t\ttable.className = 'ke-table';\r\n\t\t\ttable.cellPadding = 0;\r\n\t\t\ttable.cellSpacing = 0;\r\n\t\t\ttable.border = 0;\r\n\t\t\tbodyDiv.append(table);\r\n\t\t\tvar fileList = result.file_list;\r\n\t\t\tfor (var i = 0, len = fileList.length; i < len; i++) {\r\n\t\t\t\tvar data = fileList[i], row = K(table.insertRow(i));\r\n\t\t\t\trow.mouseover(function(e) {\r\n\t\t\t\t\tK(this).addClass('ke-on');\r\n\t\t\t\t})\r\n\t\t\t\t.mouseout(function(e) {\r\n\t\t\t\t\tK(this).removeClass('ke-on');\r\n\t\t\t\t});\r\n\t\t\t\tvar iconUrl = imgPath + (data.is_dir ? 'folder-16.gif' : 'file-16.gif'),\r\n\t\t\t\t\timg = K('<img src=\"' + iconUrl + '\" width=\"16\" height=\"16\" alt=\"' + data.filename + '\" align=\"absmiddle\" />'),\r\n\t\t\t\t\tcell0 = K(row[0].insertCell(0)).addClass('ke-cell ke-name').append(img).append(document.createTextNode(' ' + data.filename));\r\n\t\t\t\tif (!data.is_dir || data.has_file) {\r\n\t\t\t\t\trow.css('cursor', 'pointer');\r\n\t\t\t\t\tcell0.attr('title', data.filename);\r\n\t\t\t\t\tbindEvent(cell0, result, data, createList);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcell0.attr('title', lang.emptyFolder);\r\n\t\t\t\t}\r\n\t\t\t\tK(row[0].insertCell(1)).addClass('ke-cell ke-size').html(data.is_dir ? '-' : Math.ceil(data.filesize / 1024) + 'KB');\r\n\t\t\t\tK(row[0].insertCell(2)).addClass('ke-cell ke-datetime').html(data.datetime);\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction createView(result) {\r\n\t\t\tcreateCommon(result, createView);\r\n\t\t\tvar fileList = result.file_list;\r\n\t\t\tfor (var i = 0, len = fileList.length; i < len; i++) {\r\n\t\t\t\tvar data = fileList[i],\r\n\t\t\t\t\tdiv = K('<div class=\"ke-inline-block ke-item\"></div>');\r\n\t\t\t\tbodyDiv.append(div);\r\n\t\t\t\tvar photoDiv = K('<div class=\"ke-inline-block ke-photo\"></div>')\r\n\t\t\t\t\t.mouseover(function(e) {\r\n\t\t\t\t\t\tK(this).addClass('ke-on');\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.mouseout(function(e) {\r\n\t\t\t\t\t\tK(this).removeClass('ke-on');\r\n\t\t\t\t\t});\r\n\t\t\t\tdiv.append(photoDiv);\r\n\t\t\t\tvar fileUrl = result.current_url + data.filename,\r\n\t\t\t\t\ticonUrl = data.is_dir ? imgPath + 'folder-64.gif' : (data.is_photo ? fileUrl : imgPath + 'file-64.gif');\r\n\t\t\t\tvar img = K('<img src=\"' + iconUrl + '\" width=\"80\" height=\"80\" alt=\"' + data.filename + '\" />');\r\n\t\t\t\tif (!data.is_dir || data.has_file) {\r\n\t\t\t\t\tphotoDiv.css('cursor', 'pointer');\r\n\t\t\t\t\tbindTitle(photoDiv, data);\r\n\t\t\t\t\tbindEvent(photoDiv, result, data, createView);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tphotoDiv.attr('title', lang.emptyFolder);\r\n\t\t\t\t}\r\n\t\t\t\tphotoDiv.append(img);\r\n\t\t\t\tdiv.append('<div class=\"ke-name\" title=\"' + data.filename + '\">' + data.filename + '</div>');\r\n\t\t\t}\r\n\t\t}\r\n\t\tviewTypeBox.val(viewType);\r\n\t\treloadPage('', orderTypeBox.val(), viewType == 'VIEW' ? createView : createList);\r\n\t\treturn dialog;\r\n\t}\r\n\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/flash/flash.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('flash', function(K) {\r\n\tvar self = this, name = 'flash', lang = self.lang(name + '.'),\r\n\t\tallowFlashUpload = K.undef(self.allowFlashUpload, true),\r\n\t\tallowFileManager = K.undef(self.allowFileManager, false),\r\n\t\tformatUploadUrl = K.undef(self.formatUploadUrl, true),\r\n\t\textraParams = K.undef(self.extraFileUploadParams, {}),\r\n\t\tfilePostName = K.undef(self.filePostName, 'imgFile'),\r\n\t\tuploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php');\r\n\tself.plugin.flash = {\r\n\t\tedit : function() {\r\n\t\t\tvar html = [\r\n\t\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t\t//url\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keUrl\" style=\"width:60px;\">' + lang.url + '</label>',\r\n\t\t\t\t'<input class=\"ke-input-text\" type=\"text\" id=\"keUrl\" name=\"url\" value=\"\" style=\"width:160px;\" /> &nbsp;',\r\n\t\t\t\t'<input type=\"button\" class=\"ke-upload-button\" value=\"' + lang.upload + '\" /> &nbsp;',\r\n\t\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"' + lang.viewServer + '\" />',\r\n\t\t\t\t'</span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//width\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keWidth\" style=\"width:60px;\">' + lang.width + '</label>',\r\n\t\t\t\t'<input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"550\" maxlength=\"4\" /> ',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//height\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keHeight\" style=\"width:60px;\">' + lang.height + '</label>',\r\n\t\t\t\t'<input type=\"text\" id=\"keHeight\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"400\" maxlength=\"4\" /> ',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'</div>'\r\n\t\t\t].join('');\r\n\t\t\tvar dialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 450,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar url = K.trim(urlBox.val()),\r\n\t\t\t\t\t\t\twidth = widthBox.val(),\r\n\t\t\t\t\t\t\theight = heightBox.val();\r\n\t\t\t\t\t\tif (url == 'http://' || K.invalidUrl(url)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidUrl'));\r\n\t\t\t\t\t\t\turlBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(width)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidWidth'));\r\n\t\t\t\t\t\t\twidthBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(height)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidHeight'));\r\n\t\t\t\t\t\t\theightBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvar html = K.mediaImg(self.themesPath + 'common/blank.gif', {\r\n\t\t\t\t\t\t\t\tsrc : url,\r\n\t\t\t\t\t\t\t\ttype : K.mediaType('.swf'),\r\n\t\t\t\t\t\t\t\twidth : width,\r\n\t\t\t\t\t\t\t\theight : height,\r\n\t\t\t\t\t\t\t\tquality : 'high'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\tself.insertHtml(html).hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdiv = dialog.div,\r\n\t\t\turlBox = K('[name=\"url\"]', div),\r\n\t\t\tviewServerBtn = K('[name=\"viewServer\"]', div),\r\n\t\t\twidthBox = K('[name=\"width\"]', div),\r\n\t\t\theightBox = K('[name=\"height\"]', div);\r\n\t\t\turlBox.val('http://');\r\n\r\n\t\t\tif (allowFlashUpload) {\r\n\t\t\t\tvar uploadbutton = K.uploadbutton({\r\n\t\t\t\t\tbutton : K('.ke-upload-button', div)[0],\r\n\t\t\t\t\tfieldName : filePostName,\r\n\t\t\t\t\textraParams : extraParams,\r\n\t\t\t\t\turl : K.addParam(uploadJson, 'dir=flash'),\r\n\t\t\t\t\tafterUpload : function(data) {\r\n\t\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\t\tif (data.error === 0) {\r\n\t\t\t\t\t\t\tvar url = data.url;\r\n\t\t\t\t\t\t\tif (formatUploadUrl) {\r\n\t\t\t\t\t\t\t\turl = K.formatUrl(url, 'absolute');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\turlBox.val(url);\r\n\t\t\t\t\t\t\tif (self.afterUpload) {\r\n\t\t\t\t\t\t\t\tself.afterUpload.call(self, url, data, name);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\talert(self.lang('uploadSuccess'));\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\talert(data.message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tafterError : function(html) {\r\n\t\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\t\tself.errorDialog(html);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tuploadbutton.fileBox.change(function(e) {\r\n\t\t\t\t\tdialog.showLoading(self.lang('uploadLoading'));\r\n\t\t\t\t\tuploadbutton.submit();\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tK('.ke-upload-button', div).hide();\r\n\t\t\t}\r\n\r\n\t\t\tif (allowFileManager) {\r\n\t\t\t\tviewServerBtn.click(function(e) {\r\n\t\t\t\t\tself.loadPlugin('filemanager', function() {\r\n\t\t\t\t\t\tself.plugin.filemanagerDialog({\r\n\t\t\t\t\t\t\tviewType : 'LIST',\r\n\t\t\t\t\t\t\tdirName : 'flash',\r\n\t\t\t\t\t\t\tclickFn : function(url, title) {\r\n\t\t\t\t\t\t\t\tif (self.dialogs.length > 1) {\r\n\t\t\t\t\t\t\t\t\tK('[name=\"url\"]', div).val(url);\r\n\t\t\t\t\t\t\t\t\tif (self.afterSelectFile) {\r\n\t\t\t\t\t\t\t\t\t\tself.afterSelectFile.call(self, url);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tself.hideDialog();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tviewServerBtn.hide();\r\n\t\t\t}\r\n\r\n\t\t\tvar img = self.plugin.getSelectedFlash();\r\n\t\t\tif (img) {\r\n\t\t\t\tvar attrs = K.mediaAttrs(img.attr('data-ke-tag'));\r\n\t\t\t\turlBox.val(attrs.src);\r\n\t\t\t\twidthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0);\r\n\t\t\t\theightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0);\r\n\t\t\t}\r\n\t\t\turlBox[0].focus();\r\n\t\t\turlBox[0].select();\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tself.plugin.getSelectedFlash().remove();\r\n\t\t\t// [IE] 删除图片后立即点击图片按钮出错\r\n\t\t\tself.addBookmark();\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.flash.edit);\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/image/image.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('image', function(K) {\r\n\tvar self = this, name = 'image',\r\n\t\tallowImageUpload = K.undef(self.allowImageUpload, true),\r\n\t\tallowImageRemote = K.undef(self.allowImageRemote, true),\r\n\t\tformatUploadUrl = K.undef(self.formatUploadUrl, true),\r\n\t\tallowFileManager = K.undef(self.allowFileManager, false),\r\n\t\tuploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'),\r\n\t\timageTabIndex = K.undef(self.imageTabIndex, 0),\r\n\t\timgPath = self.pluginsPath + 'image/images/',\r\n\t\textraParams = K.undef(self.extraFileUploadParams, {}),\r\n\t\tfilePostName = K.undef(self.filePostName, 'imgFile'),\r\n\t\tfillDescAfterUploadImage = K.undef(self.fillDescAfterUploadImage, false),\r\n\t\tlang = self.lang(name + '.');\r\n\r\n\tself.plugin.imageDialog = function(options) {\r\n\t\tvar imageUrl = options.imageUrl,\r\n\t\t\timageWidth = K.undef(options.imageWidth, ''),\r\n\t\t\timageHeight = K.undef(options.imageHeight, ''),\r\n\t\t\timageTitle = K.undef(options.imageTitle, ''),\r\n\t\t\timageAlign = K.undef(options.imageAlign, ''),\r\n\t\t\tshowRemote = K.undef(options.showRemote, true),\r\n\t\t\tshowLocal = K.undef(options.showLocal, true),\r\n\t\t\ttabIndex = K.undef(options.tabIndex, 0),\r\n\t\t\tclickFn = options.clickFn;\r\n\t\tvar target = 'kindeditor_upload_iframe_' + new Date().getTime();\r\n\t\tvar hiddenElements = [];\r\n\t\tfor(var k in extraParams){\r\n\t\t\thiddenElements.push('<input type=\"hidden\" name=\"' + k + '\" value=\"' + extraParams[k] + '\" />');\r\n\t\t}\r\n\t\tvar html = [\r\n\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t//tabs\r\n\t\t\t'<div class=\"tabs\"></div>',\r\n\t\t\t//remote image - start\r\n\t\t\t'<div class=\"tab1\" style=\"display:none;\">',\r\n\t\t\t//url\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label for=\"remoteUrl\" style=\"width:60px;\">' + lang.remoteUrl + '</label>',\r\n\t\t\t'<input type=\"text\" id=\"remoteUrl\" class=\"ke-input-text\" name=\"url\" value=\"\" style=\"width:200px;\" /> &nbsp;',\r\n\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"' + lang.viewServer + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'</div>',\r\n\t\t\t//size\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label for=\"remoteWidth\" style=\"width:60px;\">' + lang.size + '</label>',\r\n\t\t\tlang.width + ' <input type=\"text\" id=\"remoteWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"\" maxlength=\"4\" /> ',\r\n\t\t\tlang.height + ' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"\" maxlength=\"4\" /> ',\r\n\t\t\t'<img class=\"ke-refresh-btn\" src=\"' + imgPath + 'refresh.png\" width=\"16\" height=\"16\" alt=\"\" style=\"cursor:pointer;\" title=\"' + lang.resetSize + '\" />',\r\n\t\t\t'</div>',\r\n\t\t\t//align\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label style=\"width:60px;\">' + lang.align + '</label>',\r\n\t\t\t'<input type=\"radio\" name=\"align\" class=\"ke-inline-block\" value=\"\" checked=\"checked\" /> <img name=\"defaultImg\" src=\"' + imgPath + 'align_top.gif\" width=\"23\" height=\"25\" alt=\"\" />',\r\n\t\t\t' <input type=\"radio\" name=\"align\" class=\"ke-inline-block\" value=\"left\" /> <img name=\"leftImg\" src=\"' + imgPath + 'align_left.gif\" width=\"23\" height=\"25\" alt=\"\" />',\r\n\t\t\t' <input type=\"radio\" name=\"align\" class=\"ke-inline-block\" value=\"right\" /> <img name=\"rightImg\" src=\"' + imgPath + 'align_right.gif\" width=\"23\" height=\"25\" alt=\"\" />',\r\n\t\t\t'</div>',\r\n\t\t\t//title\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label for=\"remoteTitle\" style=\"width:60px;\">' + lang.imgTitle + '</label>',\r\n\t\t\t'<input type=\"text\" id=\"remoteTitle\" class=\"ke-input-text\" name=\"title\" value=\"\" style=\"width:200px;\" />',\r\n\t\t\t'</div>',\r\n\t\t\t'</div>',\r\n\t\t\t//remote image - end\r\n\t\t\t//local upload - start\r\n\t\t\t'<div class=\"tab2\" style=\"display:none;\">',\r\n\t\t\t'<iframe name=\"' + target + '\" style=\"display:none;\"></iframe>',\r\n\t\t\t'<form class=\"ke-upload-area ke-form\" method=\"post\" enctype=\"multipart/form-data\" target=\"' + target + '\" action=\"' + K.addParam(uploadJson, 'dir=image') + '\">',\r\n\t\t\t//file\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\thiddenElements.join(''),\r\n\t\t\t'<label style=\"width:60px;\">' + lang.localUrl + '</label>',\r\n\t\t\t'<input type=\"text\" name=\"localUrl\" class=\"ke-input-text\" tabindex=\"-1\" style=\"width:200px;\" readonly=\"true\" /> &nbsp;',\r\n\t\t\t'<input type=\"button\" class=\"ke-upload-button\" value=\"' + lang.upload + '\" />',\r\n\t\t\t'</div>',\r\n\t\t\t'</form>',\r\n\t\t\t'</div>',\r\n\t\t\t//local upload - end\r\n\t\t\t'</div>'\r\n\t\t].join('');\r\n\t\tvar dialogWidth = showLocal || allowFileManager ? 450 : 400,\r\n\t\t\tdialogHeight = showLocal && showRemote ? 300 : 250;\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : dialogWidth,\r\n\t\t\theight : dialogHeight,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t// Bugfix: http://code.google.com/p/kindeditor/issues/detail?id=319\r\n\t\t\t\t\tif (dialog.isLoading) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// insert local image\r\n\t\t\t\t\tif (showLocal && showRemote && tabs && tabs.selectedIndex === 1 || !showRemote) {\r\n\t\t\t\t\t\tif (uploadbutton.fileBox.val() == '') {\r\n\t\t\t\t\t\t\talert(self.lang('pleaseSelectFile'));\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tdialog.showLoading(self.lang('uploadLoading'));\r\n\t\t\t\t\t\tuploadbutton.submit();\r\n\t\t\t\t\t\tlocalUrlBox.val('');\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// insert remote image\r\n\t\t\t\t\tvar url = K.trim(urlBox.val()),\r\n\t\t\t\t\t\twidth = widthBox.val(),\r\n\t\t\t\t\t\theight = heightBox.val(),\r\n\t\t\t\t\t\ttitle = titleBox.val(),\r\n\t\t\t\t\t\talign = '';\r\n\t\t\t\t\talignBox.each(function() {\r\n\t\t\t\t\t\tif (this.checked) {\r\n\t\t\t\t\t\t\talign = this.value;\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (url == 'http://' || K.invalidUrl(url)) {\r\n\t\t\t\t\t\talert(self.lang('invalidUrl'));\r\n\t\t\t\t\t\turlBox[0].focus();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!/^\\d*$/.test(width)) {\r\n\t\t\t\t\t\talert(self.lang('invalidWidth'));\r\n\t\t\t\t\t\twidthBox[0].focus();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!/^\\d*$/.test(height)) {\r\n\t\t\t\t\t\talert(self.lang('invalidHeight'));\r\n\t\t\t\t\t\theightBox[0].focus();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tclickFn.call(self, url, title, width, height, 0, align);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tbeforeRemove : function() {\r\n\t\t\t\tviewServerBtn.unbind();\r\n\t\t\t\twidthBox.unbind();\r\n\t\t\t\theightBox.unbind();\r\n\t\t\t\trefreshBtn.unbind();\r\n\t\t\t}\r\n\t\t}),\r\n\t\tdiv = dialog.div;\r\n\r\n\t\tvar urlBox = K('[name=\"url\"]', div),\r\n\t\t\tlocalUrlBox = K('[name=\"localUrl\"]', div),\r\n\t\t\tviewServerBtn = K('[name=\"viewServer\"]', div),\r\n\t\t\twidthBox = K('.tab1 [name=\"width\"]', div),\r\n\t\t\theightBox = K('.tab1 [name=\"height\"]', div),\r\n\t\t\trefreshBtn = K('.ke-refresh-btn', div),\r\n\t\t\ttitleBox = K('.tab1 [name=\"title\"]', div),\r\n\t\t\talignBox = K('.tab1 [name=\"align\"]', div);\r\n\r\n\t\tvar tabs;\r\n\t\tif (showRemote && showLocal) {\r\n\t\t\ttabs = K.tabs({\r\n\t\t\t\tsrc : K('.tabs', div),\r\n\t\t\t\tafterSelect : function(i) {}\r\n\t\t\t});\r\n\t\t\ttabs.add({\r\n\t\t\t\ttitle : lang.remoteImage,\r\n\t\t\t\tpanel : K('.tab1', div)\r\n\t\t\t});\r\n\t\t\ttabs.add({\r\n\t\t\t\ttitle : lang.localImage,\r\n\t\t\t\tpanel : K('.tab2', div)\r\n\t\t\t});\r\n\t\t\ttabs.select(tabIndex);\r\n\t\t} else if (showRemote) {\r\n\t\t\tK('.tab1', div).show();\r\n\t\t} else if (showLocal) {\r\n\t\t\tK('.tab2', div).show();\r\n\t\t}\r\n\r\n\t\tvar uploadbutton = K.uploadbutton({\r\n\t\t\tbutton : K('.ke-upload-button', div)[0],\r\n\t\t\tfieldName : filePostName,\r\n\t\t\tform : K('.ke-form', div),\r\n\t\t\ttarget : target,\r\n\t\t\twidth: 60,\r\n\t\t\tafterUpload : function(data) {\r\n\t\t\t\tdialog.hideLoading();\r\n\t\t\t\tif (data.error === 0) {\r\n\t\t\t\t\tvar url = data.url;\r\n\t\t\t\t\tif (formatUploadUrl) {\r\n\t\t\t\t\t\turl = K.formatUrl(url, 'absolute');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (self.afterUpload) {\r\n\t\t\t\t\t\tself.afterUpload.call(self, url, data, name);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!fillDescAfterUploadImage) {\r\n\t\t\t\t\t\tclickFn.call(self, url, data.title, data.width, data.height, data.border, data.align);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tK(\".ke-dialog-row #remoteUrl\", div).val(url);\r\n\t\t\t\t\t\tK(\".ke-tabs-li\", div)[0].click();\r\n\t\t\t\t\t\tK(\".ke-refresh-btn\", div).click();\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\talert(data.message);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tafterError : function(html) {\r\n\t\t\t\tdialog.hideLoading();\r\n\t\t\t\tself.errorDialog(html);\r\n\t\t\t}\r\n\t\t});\r\n\t\tuploadbutton.fileBox.change(function(e) {\r\n\t\t\tlocalUrlBox.val(uploadbutton.fileBox.val());\r\n\t\t});\r\n\t\tif (allowFileManager) {\r\n\t\t\tviewServerBtn.click(function(e) {\r\n\t\t\t\tself.loadPlugin('filemanager', function() {\r\n\t\t\t\t\tself.plugin.filemanagerDialog({\r\n\t\t\t\t\t\tviewType : 'VIEW',\r\n\t\t\t\t\t\tdirName : 'image',\r\n\t\t\t\t\t\tclickFn : function(url, title) {\r\n\t\t\t\t\t\t\tif (self.dialogs.length > 1) {\r\n\t\t\t\t\t\t\t\tK('[name=\"url\"]', div).val(url);\r\n\t\t\t\t\t\t\t\tif (self.afterSelectFile) {\r\n\t\t\t\t\t\t\t\t\tself.afterSelectFile.call(self, url);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tself.hideDialog();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tviewServerBtn.hide();\r\n\t\t}\r\n\t\tvar originalWidth = 0, originalHeight = 0;\r\n\t\tfunction setSize(width, height) {\r\n\t\t\twidthBox.val(width);\r\n\t\t\theightBox.val(height);\r\n\t\t\toriginalWidth = width;\r\n\t\t\toriginalHeight = height;\r\n\t\t}\r\n\t\trefreshBtn.click(function(e) {\r\n\t\t\tvar tempImg = K('<img src=\"' + urlBox.val() + '\" />', document).css({\r\n\t\t\t\tposition : 'absolute',\r\n\t\t\t\tvisibility : 'hidden',\r\n\t\t\t\ttop : 0,\r\n\t\t\t\tleft : '-1000px'\r\n\t\t\t});\r\n\t\t\ttempImg.bind('load', function() {\r\n\t\t\t\tsetSize(tempImg.width(), tempImg.height());\r\n\t\t\t\ttempImg.remove();\r\n\t\t\t});\r\n\t\t\tK(document.body).append(tempImg);\r\n\t\t});\r\n\t\twidthBox.change(function(e) {\r\n\t\t\tif (originalWidth > 0) {\r\n\t\t\t\theightBox.val(Math.round(originalHeight / originalWidth * parseInt(this.value, 10)));\r\n\t\t\t}\r\n\t\t});\r\n\t\theightBox.change(function(e) {\r\n\t\t\tif (originalHeight > 0) {\r\n\t\t\t\twidthBox.val(Math.round(originalWidth / originalHeight * parseInt(this.value, 10)));\r\n\t\t\t}\r\n\t\t});\r\n\t\turlBox.val(options.imageUrl);\r\n\t\tsetSize(options.imageWidth, options.imageHeight);\r\n\t\ttitleBox.val(options.imageTitle);\r\n\t\talignBox.each(function() {\r\n\t\t\tif (this.value === options.imageAlign) {\r\n\t\t\t\tthis.checked = true;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (showRemote && tabIndex === 0) {\r\n\t\t\turlBox[0].focus();\r\n\t\t\turlBox[0].select();\r\n\t\t}\r\n\t\treturn dialog;\r\n\t};\r\n\tself.plugin.image = {\r\n\t\tedit : function() {\r\n\t\t\tvar img = self.plugin.getSelectedImage();\r\n\t\t\tself.plugin.imageDialog({\r\n\t\t\t\timageUrl : img ? img.attr('data-ke-src') : 'http://',\r\n\t\t\t\timageWidth : img ? img.width() : '',\r\n\t\t\t\timageHeight : img ? img.height() : '',\r\n\t\t\t\timageTitle : img ? img.attr('title') : '',\r\n\t\t\t\timageAlign : img ? img.attr('align') : '',\r\n\t\t\t\tshowRemote : allowImageRemote,\r\n\t\t\t\tshowLocal : allowImageUpload,\r\n\t\t\t\ttabIndex: img ? 0 : imageTabIndex,\r\n\t\t\t\tclickFn : function(url, title, width, height, border, align) {\r\n\t\t\t\t\tif (img) {\r\n\t\t\t\t\t\timg.attr('src', url);\r\n\t\t\t\t\t\timg.attr('data-ke-src', url);\r\n\t\t\t\t\t\timg.attr('width', width);\r\n\t\t\t\t\t\timg.attr('height', height);\r\n\t\t\t\t\t\timg.attr('title', title);\r\n\t\t\t\t\t\timg.attr('align', align);\r\n\t\t\t\t\t\timg.attr('alt', title);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tself.exec('insertimage', url, title, width, height, border, align);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Bugfix: [Firefox] 上传图片后，总是出现正在加载的样式，需要延迟执行hideDialog\r\n\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\tself.hideDialog().focus();\r\n\t\t\t\t\t}, 0);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tvar target = self.plugin.getSelectedImage();\r\n\t\t\tif (target.parent().name == 'a') {\r\n\t\t\t\ttarget = target.parent();\r\n\t\t\t}\r\n\t\t\ttarget.remove();\r\n\t\t\t// [IE] 删除图片后立即点击图片按钮出错\r\n\t\t\tself.addBookmark();\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.image.edit);\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/insertfile/insertfile.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('insertfile', function(K) {\r\n\tvar self = this, name = 'insertfile',\r\n\t\tallowFileUpload = K.undef(self.allowFileUpload, true),\r\n\t\tallowFileManager = K.undef(self.allowFileManager, false),\r\n\t\tformatUploadUrl = K.undef(self.formatUploadUrl, true),\r\n\t\tuploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'),\r\n\t\textraParams = K.undef(self.extraFileUploadParams, {}),\r\n\t\tfilePostName = K.undef(self.filePostName, 'imgFile'),\r\n\t\tlang = self.lang(name + '.');\r\n\tself.plugin.fileDialog = function(options) {\r\n\t\tvar fileUrl = K.undef(options.fileUrl, 'http://'),\r\n\t\t\tfileTitle = K.undef(options.fileTitle, ''),\r\n\t\t\tclickFn = options.clickFn;\r\n\t\tvar html = [\r\n\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label for=\"keUrl\" style=\"width:60px;\">' + lang.url + '</label>',\r\n\t\t\t'<input type=\"text\" id=\"keUrl\" name=\"url\" class=\"ke-input-text\" style=\"width:160px;\" /> &nbsp;',\r\n\t\t\t'<input type=\"button\" class=\"ke-upload-button\" value=\"' + lang.upload + '\" /> &nbsp;',\r\n\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"' + lang.viewServer + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'</div>',\r\n\t\t\t//title\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label for=\"keTitle\" style=\"width:60px;\">' + lang.title + '</label>',\r\n\t\t\t'<input type=\"text\" id=\"keTitle\" class=\"ke-input-text\" name=\"title\" value=\"\" style=\"width:160px;\" /></div>',\r\n\t\t\t'</div>',\r\n\t\t\t//form end\r\n\t\t\t'</form>',\r\n\t\t\t'</div>'\r\n\t\t\t].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : 450,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tvar url = K.trim(urlBox.val()),\r\n\t\t\t\t\t\ttitle = titleBox.val();\r\n\t\t\t\t\tif (url == 'http://' || K.invalidUrl(url)) {\r\n\t\t\t\t\t\talert(self.lang('invalidUrl'));\r\n\t\t\t\t\t\turlBox[0].focus();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (K.trim(title) === '') {\r\n\t\t\t\t\t\ttitle = url;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tclickFn.call(self, url, title);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}),\r\n\t\tdiv = dialog.div;\r\n\r\n\t\tvar urlBox = K('[name=\"url\"]', div),\r\n\t\t\tviewServerBtn = K('[name=\"viewServer\"]', div),\r\n\t\t\ttitleBox = K('[name=\"title\"]', div);\r\n\r\n\t\tif (allowFileUpload) {\r\n\t\t\tvar uploadbutton = K.uploadbutton({\r\n\t\t\t\tbutton : K('.ke-upload-button', div)[0],\r\n\t\t\t\tfieldName : filePostName,\r\n\t\t\t\turl : K.addParam(uploadJson, 'dir=file'),\r\n\t\t\t\textraParams : extraParams,\r\n\t\t\t\tafterUpload : function(data) {\r\n\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\tif (data.error === 0) {\r\n\t\t\t\t\t\tvar url = data.url;\r\n\t\t\t\t\t\tif (formatUploadUrl) {\r\n\t\t\t\t\t\t\turl = K.formatUrl(url, 'absolute');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\turlBox.val(url);\r\n\t\t\t\t\t\tif (self.afterUpload) {\r\n\t\t\t\t\t\t\tself.afterUpload.call(self, url, data, name);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\talert(self.lang('uploadSuccess'));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\talert(data.message);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tafterError : function(html) {\r\n\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\tself.errorDialog(html);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tuploadbutton.fileBox.change(function(e) {\r\n\t\t\t\tdialog.showLoading(self.lang('uploadLoading'));\r\n\t\t\t\tuploadbutton.submit();\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tK('.ke-upload-button', div).hide();\r\n\t\t}\r\n\t\tif (allowFileManager) {\r\n\t\t\tviewServerBtn.click(function(e) {\r\n\t\t\t\tself.loadPlugin('filemanager', function() {\r\n\t\t\t\t\tself.plugin.filemanagerDialog({\r\n\t\t\t\t\t\tviewType : 'LIST',\r\n\t\t\t\t\t\tdirName : 'file',\r\n\t\t\t\t\t\tclickFn : function(url, title) {\r\n\t\t\t\t\t\t\tif (self.dialogs.length > 1) {\r\n\t\t\t\t\t\t\t\tK('[name=\"url\"]', div).val(url);\r\n\t\t\t\t\t\t\t\tif (self.afterSelectFile) {\r\n\t\t\t\t\t\t\t\t\tself.afterSelectFile.call(self, url);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tself.hideDialog();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tviewServerBtn.hide();\r\n\t\t}\r\n\t\turlBox.val(fileUrl);\r\n\t\ttitleBox.val(fileTitle);\r\n\t\turlBox[0].focus();\r\n\t\turlBox[0].select();\r\n\t};\r\n\tself.clickToolbar(name, function() {\r\n\t\tself.plugin.fileDialog({\r\n\t\t\tclickFn : function(url, title) {\r\n\t\t\t\tvar html = '<a class=\"ke-insertfile\" href=\"' + url + '\" data-ke-src=\"' + url + '\" target=\"_blank\">' + title + '</a>';\r\n\t\t\t\tself.insertHtml(html).hideDialog().focus();\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/lineheight/lineheight.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('lineheight', function(K) {\r\n\tvar self = this, name = 'lineheight', lang = self.lang(name + '.');\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar curVal = '', commonNode = self.cmd.commonNode({'*' : '.line-height'});\r\n\t\tif (commonNode) {\r\n\t\t\tcurVal = commonNode.css('line-height');\r\n\t\t}\r\n\t\tvar menu = self.createMenu({\r\n\t\t\tname : name,\r\n\t\t\twidth : 150\r\n\t\t});\r\n\t\tK.each(lang.lineHeight, function(i, row) {\r\n\t\t\tK.each(row, function(key, val) {\r\n\t\t\t\tmenu.addItem({\r\n\t\t\t\t\ttitle : val,\r\n\t\t\t\t\tchecked : curVal === key,\r\n\t\t\t\t\tclick : function() {\r\n\t\t\t\t\t\tself.cmd.toggle('<span style=\"line-height:' + key + ';\"></span>', {\r\n\t\t\t\t\t\t\tspan : '.line-height=' + key\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tself.updateState();\r\n\t\t\t\t\t\tself.addBookmark();\r\n\t\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/link/link.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('link', function(K) {\r\n\tvar self = this, name = 'link';\r\n\tself.plugin.link = {\r\n\t\tedit : function() {\r\n\t\t\tvar lang = self.lang(name + '.'),\r\n\t\t\t\thtml = '<div style=\"padding:20px;\">' +\r\n\t\t\t\t\t//url\r\n\t\t\t\t\t'<div class=\"ke-dialog-row\">' +\r\n\t\t\t\t\t'<label for=\"keUrl\" style=\"width:60px;\">' + lang.url + '</label>' +\r\n\t\t\t\t\t'<input class=\"ke-input-text\" type=\"text\" id=\"keUrl\" name=\"url\" value=\"\" style=\"width:260px;\" /></div>' +\r\n\t\t\t\t\t//type\r\n\t\t\t\t\t'<div class=\"ke-dialog-row\"\">' +\r\n\t\t\t\t\t'<label for=\"keType\" style=\"width:60px;\">' + lang.linkType + '</label>' +\r\n\t\t\t\t\t'<select id=\"keType\" name=\"type\"></select>' +\r\n\t\t\t\t\t'</div>' +\r\n\t\t\t\t\t'</div>',\r\n\t\t\t\tdialog = self.createDialog({\r\n\t\t\t\t\tname : name,\r\n\t\t\t\t\twidth : 450,\r\n\t\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\t\tbody : html,\r\n\t\t\t\t\tyesBtn : {\r\n\t\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\t\tvar url = K.trim(urlBox.val());\r\n\t\t\t\t\t\t\tif (url == 'http://' || K.invalidUrl(url)) {\r\n\t\t\t\t\t\t\t\talert(self.lang('invalidUrl'));\r\n\t\t\t\t\t\t\t\turlBox[0].focus();\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tself.exec('createlink', url, typeBox.val()).hideDialog().focus();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tdiv = dialog.div,\r\n\t\t\t\turlBox = K('input[name=\"url\"]', div),\r\n\t\t\t\ttypeBox = K('select[name=\"type\"]', div);\r\n\t\t\turlBox.val('http://');\r\n\t\t\ttypeBox[0].options[0] = new Option(lang.newWindow, '_blank');\r\n\t\t\ttypeBox[0].options[1] = new Option(lang.selfWindow, '');\r\n\t\t\tself.cmd.selection();\r\n\t\t\tvar a = self.plugin.getSelectedLink();\r\n\t\t\tif (a) {\r\n\t\t\t\tself.cmd.range.selectNode(a[0]);\r\n\t\t\t\tself.cmd.select();\r\n\t\t\t\turlBox.val(a.attr('data-ke-src'));\r\n\t\t\t\ttypeBox.val(a.attr('target'));\r\n\t\t\t}\r\n\t\t\turlBox[0].focus();\r\n\t\t\turlBox[0].select();\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tself.exec('unlink', null);\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.link.edit);\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/map/map.html",
    "content": "<!doctype html>\r\n<html>\r\n\t<head>\r\n\t<meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\" />\r\n\t<style>\r\n\t\thtml { height: 100% }\r\n\t\tbody { height: 100%; margin: 0; padding: 0; background-color: #FFF }\r\n\t\t#map_canvas { height: 100% }\r\n\t</style>\r\n\t<script src=\"http://maps.googleapis.com/maps/api/js?sensor=false&language=zh_CN\"></script>\r\n\t<script>\r\n\t\tvar map, geocoder;\r\n\t\tfunction initialize() {\r\n\t\t\tvar latlng = new google.maps.LatLng(31.230393, 121.473704);\r\n\t\t\tvar options = {\r\n\t\t\t\tzoom: 11,\r\n\t\t\t\tcenter: latlng,\r\n\t\t\t\tdisableDefaultUI: true,\r\n\t\t\t\tpanControl: true,\r\n\t\t\t\tzoomControl: true,\r\n\t\t\t\tmapTypeControl: true,\r\n\t\t\t\tscaleControl: true,\r\n\t\t\t\tstreetViewControl: false,\r\n\t\t\t\toverviewMapControl: true,\r\n\t\t\t\tmapTypeId: google.maps.MapTypeId.ROADMAP\r\n\t\t\t};\r\n\t\t\tmap = new google.maps.Map(document.getElementById(\"map_canvas\"), options);\r\n\t\t\tgeocoder = new google.maps.Geocoder();\r\n\t\t\tgeocoder.geocode({latLng: latlng}, function(results, status) {\r\n\t\t\t\tif (status == google.maps.GeocoderStatus.OK) {\r\n\t\t\t\t\tif (results[3]) {\r\n\t\t\t\t\t\tparent.document.getElementById(\"kindeditor_plugin_map_address\").value = results[3].formatted_address;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction search(address) {\r\n\t\t\tif (!map) return;\r\n\t\t\tgeocoder.geocode({address : address}, function(results, status) {\r\n\t\t\t\tif (status == google.maps.GeocoderStatus.OK) {\r\n\t\t\t\t\tmap.setZoom(11);\r\n\t\t\t\t\tmap.setCenter(results[0].geometry.location);\r\n\t\t\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\t\t\tmap: map,\r\n\t\t\t\t\t\tposition: results[0].geometry.location\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\talert(\"Invalid address: \" + address);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t</script>\r\n\t</head>\r\n\t<body onload=\"initialize();\">\r\n\t\t<div id=\"map_canvas\" style=\"width:100%; height:100%\"></div>\r\n\t</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/map/map.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\n// Google Maps: http://code.google.com/apis/maps/index.html\r\n\r\nKindEditor.plugin('map', function(K) {\r\n\tvar self = this, name = 'map', lang = self.lang(name + '.');\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar html = ['<div style=\"padding:10px 20px;\">',\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\tlang.address + ' <input id=\"kindeditor_plugin_map_address\" name=\"address\" class=\"ke-input-text\" value=\"\" style=\"width:200px;\" /> ',\r\n\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t'<input type=\"button\" name=\"searchBtn\" class=\"ke-button-common ke-button\" value=\"' + lang.search + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-map\" style=\"width:558px;height:360px;\"></div>',\r\n\t\t\t'</div>'].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : 600,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tvar geocoder = win.geocoder,\r\n\t\t\t\t\t\tmap = win.map,\r\n\t\t\t\t\t\tcenter = map.getCenter().lat() + ',' + map.getCenter().lng(),\r\n\t\t\t\t\t\tzoom = map.getZoom(),\r\n\t\t\t\t\t\tmaptype = map.getMapTypeId(),\r\n\t\t\t\t\t\turl = 'http://maps.googleapis.com/maps/api/staticmap';\r\n\t\t\t\t\t\turl += '?center=' + encodeURIComponent(center);\r\n\t\t\t\t\t\turl += '&zoom=' + encodeURIComponent(zoom);\r\n\t\t\t\t\t\turl += '&size=558x360';\r\n\t\t\t\t\t\turl += '&maptype=' + encodeURIComponent(maptype);\r\n\t\t\t\t\t\turl += '&markers=' + encodeURIComponent(center);\r\n\t\t\t\t\t\turl += '&language=' + self.langType;\r\n\t\t\t\t\t\turl += '&sensor=false';\r\n\t\t\t\t\tself.exec('insertimage', url).hideDialog().focus();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tbeforeRemove : function() {\r\n\t\t\t\tsearchBtn.remove();\r\n\t\t\t\tif (doc) {\r\n\t\t\t\t\tdoc.write('');\r\n\t\t\t\t}\r\n\t\t\t\tiframe.remove();\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar div = dialog.div,\r\n\t\t\taddressBox = K('[name=\"address\"]', div),\r\n\t\t\tsearchBtn = K('[name=\"searchBtn\"]', div),\r\n\t\t\twin, doc;\r\n\t\tvar iframeHtml = ['<!doctype html><html><head>',\r\n\t\t\t'<meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\" />',\r\n\t\t\t'<style>',\r\n\t\t\t'\thtml { height: 100% }',\r\n\t\t\t'\tbody { height: 100%; margin: 0; padding: 0; background-color: #FFF }',\r\n\t\t\t'\t#map_canvas { height: 100% }',\r\n\t\t\t'</style>',\r\n\t\t\t'<script src=\"http://maps.googleapis.com/maps/api/js?sensor=false&language=' + self.langType + '\"></script>',\r\n\t\t\t'<script>',\r\n\t\t\t'var map, geocoder;',\r\n\t\t\t'function initialize() {',\r\n\t\t\t'\tvar latlng = new google.maps.LatLng(31.230393, 121.473704);',\r\n\t\t\t'\tvar options = {',\r\n\t\t\t'\t\tzoom: 11,',\r\n\t\t\t'\t\tcenter: latlng,',\r\n\t\t\t'\t\tdisableDefaultUI: true,',\r\n\t\t\t'\t\tpanControl: true,',\r\n\t\t\t'\t\tzoomControl: true,',\r\n\t\t\t'\t\tmapTypeControl: true,',\r\n\t\t\t'\t\tscaleControl: true,',\r\n\t\t\t'\t\tstreetViewControl: false,',\r\n\t\t\t'\t\toverviewMapControl: true,',\r\n\t\t\t'\t\tmapTypeId: google.maps.MapTypeId.ROADMAP',\r\n\t\t\t'\t};',\r\n\t\t\t'\tmap = new google.maps.Map(document.getElementById(\"map_canvas\"), options);',\r\n\t\t\t'\tgeocoder = new google.maps.Geocoder();',\r\n\t\t\t'\tgeocoder.geocode({latLng: latlng}, function(results, status) {',\r\n\t\t\t'\t\tif (status == google.maps.GeocoderStatus.OK) {',\r\n\t\t\t'\t\t\tif (results[3]) {',\r\n\t\t\t'\t\t\t\tparent.document.getElementById(\"kindeditor_plugin_map_address\").value = results[3].formatted_address;',\r\n\t\t\t'\t\t\t}',\r\n\t\t\t'\t\t}',\r\n\t\t\t'\t});',\r\n\t\t\t'}',\r\n\t\t\t'function search(address) {',\r\n\t\t\t'\tif (!map) return;',\r\n\t\t\t'\tgeocoder.geocode({address : address}, function(results, status) {',\r\n\t\t\t'\t\tif (status == google.maps.GeocoderStatus.OK) {',\r\n\t\t\t'\t\t\tmap.setZoom(11);',\r\n\t\t\t'\t\t\tmap.setCenter(results[0].geometry.location);',\r\n\t\t\t'\t\t\tvar marker = new google.maps.Marker({',\r\n\t\t\t'\t\t\t\tmap: map,',\r\n\t\t\t'\t\t\t\tposition: results[0].geometry.location',\r\n\t\t\t'\t\t\t});',\r\n\t\t\t'\t\t} else {',\r\n\t\t\t'\t\t\talert(\"Invalid address: \" + address);',\r\n\t\t\t'\t\t}',\r\n\t\t\t'\t});',\r\n\t\t\t'}',\r\n\t\t\t'</script>',\r\n\t\t\t'</head>',\r\n\t\t\t'<body onload=\"initialize();\">',\r\n\t\t\t'<div id=\"map_canvas\" style=\"width:100%; height:100%\"></div>',\r\n\t\t\t'</body></html>'].join('\\n');\r\n\t\t// TODO：用doc.write(iframeHtml)方式加载时，在IE6上第一次加载报错，暂时使用src方式\r\n\t\tvar iframe = K('<iframe class=\"ke-textarea\" frameborder=\"0\" src=\"' + self.pluginsPath + 'map/map.html\" style=\"width:558px;height:360px;\"></iframe>');\r\n\t\tfunction ready() {\r\n\t\t\twin = iframe[0].contentWindow;\r\n\t\t\tdoc = K.iframeDoc(iframe);\r\n\t\t\t//doc.open();\r\n\t\t\t//doc.write(iframeHtml);\r\n\t\t\t//doc.close();\r\n\t\t}\r\n\t\tiframe.bind('load', function() {\r\n\t\t\tiframe.unbind('load');\r\n\t\t\tif (K.IE) {\r\n\t\t\t\tready();\r\n\t\t\t} else {\r\n\t\t\t\tsetTimeout(ready, 0);\r\n\t\t\t}\r\n\t\t});\r\n\t\tK('.ke-map', div).replaceWith(iframe);\r\n\t\t// search map\r\n\t\tsearchBtn.click(function() {\r\n\t\t\twin.search(addressBox.val());\r\n\t\t});\r\n\t});\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/media/media.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('media', function(K) {\r\n\tvar self = this, name = 'media', lang = self.lang(name + '.'),\r\n\t\tallowMediaUpload = K.undef(self.allowMediaUpload, true),\r\n\t\tallowFileManager = K.undef(self.allowFileManager, false),\r\n\t\tformatUploadUrl = K.undef(self.formatUploadUrl, true),\r\n\t\textraParams = K.undef(self.extraFileUploadParams, {}),\r\n\t\tfilePostName = K.undef(self.filePostName, 'imgFile'),\r\n\t\tuploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php');\r\n\tself.plugin.media = {\r\n\t\tedit : function() {\r\n\t\t\tvar html = [\r\n\t\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t\t//url\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keUrl\" style=\"width:60px;\">' + lang.url + '</label>',\r\n\t\t\t\t'<input class=\"ke-input-text\" type=\"text\" id=\"keUrl\" name=\"url\" value=\"\" style=\"width:160px;\" /> &nbsp;',\r\n\t\t\t\t'<input type=\"button\" class=\"ke-upload-button\" value=\"' + lang.upload + '\" /> &nbsp;',\r\n\t\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"' + lang.viewServer + '\" />',\r\n\t\t\t\t'</span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//width\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keWidth\" style=\"width:60px;\">' + lang.width + '</label>',\r\n\t\t\t\t'<input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"550\" maxlength=\"4\" />',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//height\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keHeight\" style=\"width:60px;\">' + lang.height + '</label>',\r\n\t\t\t\t'<input type=\"text\" id=\"keHeight\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"400\" maxlength=\"4\" />',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//autostart\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keAutostart\">' + lang.autostart + '</label>',\r\n\t\t\t\t'<input type=\"checkbox\" id=\"keAutostart\" name=\"autostart\" value=\"\" /> ',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'</div>'\r\n\t\t\t].join('');\r\n\t\t\tvar dialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 450,\r\n\t\t\t\theight : 230,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar url = K.trim(urlBox.val()),\r\n\t\t\t\t\t\t\twidth = widthBox.val(),\r\n\t\t\t\t\t\t\theight = heightBox.val();\r\n\t\t\t\t\t\tif (url == 'http://' || K.invalidUrl(url)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidUrl'));\r\n\t\t\t\t\t\t\turlBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(width)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidWidth'));\r\n\t\t\t\t\t\t\twidthBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(height)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidHeight'));\r\n\t\t\t\t\t\t\theightBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvar html = K.mediaImg(self.themesPath + 'common/blank.gif', {\r\n\t\t\t\t\t\t\t\tsrc : url,\r\n\t\t\t\t\t\t\t\ttype : K.mediaType(url),\r\n\t\t\t\t\t\t\t\twidth : width,\r\n\t\t\t\t\t\t\t\theight : height,\r\n\t\t\t\t\t\t\t\tautostart : autostartBox[0].checked ? 'true' : 'false',\r\n\t\t\t\t\t\t\t\tloop : 'true'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\tself.insertHtml(html).hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdiv = dialog.div,\r\n\t\t\turlBox = K('[name=\"url\"]', div),\r\n\t\t\tviewServerBtn = K('[name=\"viewServer\"]', div),\r\n\t\t\twidthBox = K('[name=\"width\"]', div),\r\n\t\t\theightBox = K('[name=\"height\"]', div),\r\n\t\t\tautostartBox = K('[name=\"autostart\"]', div);\r\n\t\t\turlBox.val('http://');\r\n\r\n\t\t\tif (allowMediaUpload) {\r\n\t\t\t\tvar uploadbutton = K.uploadbutton({\r\n\t\t\t\t\tbutton : K('.ke-upload-button', div)[0],\r\n\t\t\t\t\tfieldName : filePostName,\r\n\t\t\t\t\textraParams : extraParams,\r\n\t\t\t\t\turl : K.addParam(uploadJson, 'dir=media'),\r\n\t\t\t\t\tafterUpload : function(data) {\r\n\t\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\t\tif (data.error === 0) {\r\n\t\t\t\t\t\t\tvar url = data.url;\r\n\t\t\t\t\t\t\tif (formatUploadUrl) {\r\n\t\t\t\t\t\t\t\turl = K.formatUrl(url, 'absolute');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\turlBox.val(url);\r\n\t\t\t\t\t\t\tif (self.afterUpload) {\r\n\t\t\t\t\t\t\t\tself.afterUpload.call(self, url, data, name);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\talert(self.lang('uploadSuccess'));\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\talert(data.message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tafterError : function(html) {\r\n\t\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\t\tself.errorDialog(html);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tuploadbutton.fileBox.change(function(e) {\r\n\t\t\t\t\tdialog.showLoading(self.lang('uploadLoading'));\r\n\t\t\t\t\tuploadbutton.submit();\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tK('.ke-upload-button', div).hide();\r\n\t\t\t}\r\n\r\n\t\t\tif (allowFileManager) {\r\n\t\t\t\tviewServerBtn.click(function(e) {\r\n\t\t\t\t\tself.loadPlugin('filemanager', function() {\r\n\t\t\t\t\t\tself.plugin.filemanagerDialog({\r\n\t\t\t\t\t\t\tviewType : 'LIST',\r\n\t\t\t\t\t\t\tdirName : 'media',\r\n\t\t\t\t\t\t\tclickFn : function(url, title) {\r\n\t\t\t\t\t\t\t\tif (self.dialogs.length > 1) {\r\n\t\t\t\t\t\t\t\t\tK('[name=\"url\"]', div).val(url);\r\n\t\t\t\t\t\t\t\t\tif (self.afterSelectFile) {\r\n\t\t\t\t\t\t\t\t\t\tself.afterSelectFile.call(self, url);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tself.hideDialog();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tviewServerBtn.hide();\r\n\t\t\t}\r\n\r\n\t\t\tvar img = self.plugin.getSelectedMedia();\r\n\t\t\tif (img) {\r\n\t\t\t\tvar attrs = K.mediaAttrs(img.attr('data-ke-tag'));\r\n\t\t\t\turlBox.val(attrs.src);\r\n\t\t\t\twidthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0);\r\n\t\t\t\theightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0);\r\n\t\t\t\tautostartBox[0].checked = (attrs.autostart === 'true');\r\n\t\t\t}\r\n\t\t\turlBox[0].focus();\r\n\t\t\turlBox[0].select();\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tself.plugin.getSelectedMedia().remove();\r\n\t\t\t// [IE] 删除图片后立即点击图片按钮出错\r\n\t\t\tself.addBookmark();\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.media.edit);\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/multiimage/multiimage.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\n\r\n(function(K) {\r\n\r\nfunction KSWFUpload(options) {\r\n\tthis.init(options);\r\n}\r\nK.extend(KSWFUpload, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\toptions.afterError = options.afterError || function(str) {\r\n\t\t\talert(str);\r\n\t\t};\r\n\t\tself.options = options;\r\n\t\tself.progressbars = {};\r\n\t\t// template\r\n\t\tself.div = K(options.container).html([\r\n\t\t\t'<div class=\"ke-swfupload\">',\r\n\t\t\t'<div class=\"ke-swfupload-top\">',\r\n\t\t\t'<div class=\"ke-inline-block ke-swfupload-button\">',\r\n\t\t\t'<input type=\"button\" value=\"Browse\" />',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-inline-block ke-swfupload-desc\">' + options.uploadDesc + '</div>',\r\n\t\t\t'<span class=\"ke-button-common ke-button-outer ke-swfupload-startupload\">',\r\n\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" value=\"' + options.startButtonValue + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-swfupload-body\"></div>',\r\n\t\t\t'</div>'\r\n\t\t].join(''));\r\n\t\tself.bodyDiv = K('.ke-swfupload-body', self.div);\r\n\r\n\t\tfunction showError(itemDiv, msg) {\r\n\t\t\tK('.ke-status > div', itemDiv).hide();\r\n\t\t\tK('.ke-message', itemDiv).addClass('ke-error').show().html(K.escape(msg));\r\n\t\t}\r\n\r\n\t\tvar settings = {\r\n\t\t\tdebug : false,\r\n\t\t\tupload_url : options.uploadUrl,\r\n\t\t\tflash_url : options.flashUrl,\r\n\t\t\tfile_post_name : options.filePostName,\r\n\t\t\tbutton_placeholder : K('.ke-swfupload-button > input', self.div)[0],\r\n\t\t\tbutton_image_url: options.buttonImageUrl,\r\n\t\t\tbutton_width: options.buttonWidth,\r\n\t\t\tbutton_height: options.buttonHeight,\r\n\t\t\tbutton_cursor : SWFUpload.CURSOR.HAND,\r\n\t\t\tfile_types : options.fileTypes,\r\n\t\t\tfile_types_description : options.fileTypesDesc,\r\n\t\t\tfile_upload_limit : options.fileUploadLimit,\r\n\t\t\tfile_size_limit : options.fileSizeLimit,\r\n\t\t\tpost_params : options.postParams,\r\n\t\t\tfile_queued_handler : function(file) {\r\n\t\t\t\tfile.url = self.options.fileIconUrl;\r\n\t\t\t\tself.appendFile(file);\r\n\t\t\t},\r\n\t\t\tfile_queue_error_handler : function(file, errorCode, message) {\r\n\t\t\t\tvar errorName = '';\r\n\t\t\t\tswitch (errorCode) {\r\n\t\t\t\t\tcase SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:\r\n\t\t\t\t\t\terrorName = options.queueLimitExceeded;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:\r\n\t\t\t\t\t\terrorName = options.fileExceedsSizeLimit;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:\r\n\t\t\t\t\t\terrorName = options.zeroByteFile;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:\r\n\t\t\t\t\t\terrorName = options.invalidFiletype;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\terrorName = options.unknownError;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tK.DEBUG && alert(errorName);\r\n\t\t\t},\r\n\t\t\tupload_start_handler : function(file) {\r\n\t\t\t\tvar self = this;\r\n\t\t\t\tvar itemDiv = K('div[data-id=\"' + file.id + '\"]', self.bodyDiv);\r\n\t\t\t\tK('.ke-status > div', itemDiv).hide();\r\n\t\t\t\tK('.ke-progressbar', itemDiv).show();\r\n\t\t\t},\r\n\t\t\tupload_progress_handler : function(file, bytesLoaded, bytesTotal) {\r\n\t\t\t\tvar percent = Math.round(bytesLoaded * 100 / bytesTotal);\r\n\t\t\t\tvar progressbar = self.progressbars[file.id];\r\n\t\t\t\tprogressbar.bar.css('width', Math.round(percent * 80 / 100) + 'px');\r\n\t\t\t\tprogressbar.percent.html(percent + '%');\r\n\t\t\t},\r\n\t\t\tupload_error_handler : function(file, errorCode, message) {\r\n\t\t\t\tif (file && file.filestatus == SWFUpload.FILE_STATUS.ERROR) {\r\n\t\t\t\t\tvar itemDiv = K('div[data-id=\"' + file.id + '\"]', self.bodyDiv).eq(0);\r\n\t\t\t\t\tshowError(itemDiv, self.options.errorMessage);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tupload_success_handler : function(file, serverData) {\r\n\t\t\t\tvar itemDiv = K('div[data-id=\"' + file.id + '\"]', self.bodyDiv).eq(0);\r\n\t\t\t\tvar data = {};\r\n\t\t\t\ttry {\r\n\t\t\t\t\tdata = K.json(serverData);\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\tself.options.afterError.call(this, '<!doctype html><html>' + serverData + '</html>');\r\n\t\t\t\t}\r\n\t\t\t\tif (data.error !== 0) {\r\n\t\t\t\t\tshowError(itemDiv, K.DEBUG ? data.message : self.options.errorMessage);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tfile.url = data.url;\r\n\t\t\t\tK('.ke-img', itemDiv).attr('src', file.url).attr('data-status', file.filestatus).data('data', data);\r\n\t\t\t\tK('.ke-status > div', itemDiv).hide();\r\n\t\t\t}\r\n\t\t};\r\n\t\tself.swfu = new SWFUpload(settings);\r\n\r\n\t\tK('.ke-swfupload-startupload input', self.div).click(function() {\r\n\t\t\tself.swfu.startUpload();\r\n\t\t});\r\n\t},\r\n\tgetUrlList : function() {\r\n\t\tvar list = [];\r\n\t\tK('.ke-img', self.bodyDiv).each(function() {\r\n\t\t\tvar img = K(this);\r\n\t\t\tvar status = img.attr('data-status');\r\n\t\t\tif (status == SWFUpload.FILE_STATUS.COMPLETE) {\r\n\t\t\t\tlist.push(img.data('data'));\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn list;\r\n\t},\r\n\tremoveFile : function(fileId) {\r\n\t\tvar self = this;\r\n\t\tself.swfu.cancelUpload(fileId);\r\n\t\tvar itemDiv = K('div[data-id=\"' + fileId + '\"]', self.bodyDiv);\r\n\t\tK('.ke-photo', itemDiv).unbind();\r\n\t\tK('.ke-delete', itemDiv).unbind();\r\n\t\titemDiv.remove();\r\n\t},\r\n\tremoveFiles : function() {\r\n\t\tvar self = this;\r\n\t\tK('.ke-item', self.bodyDiv).each(function() {\r\n\t\t\tself.removeFile(K(this).attr('data-id'));\r\n\t\t});\r\n\t},\r\n\tappendFile : function(file) {\r\n\t\tvar self = this;\r\n\t\tvar itemDiv = K('<div class=\"ke-inline-block ke-item\" data-id=\"' + file.id + '\"></div>');\r\n\t\tself.bodyDiv.append(itemDiv);\r\n\t\tvar photoDiv = K('<div class=\"ke-inline-block ke-photo\"></div>')\r\n\t\t\t.mouseover(function(e) {\r\n\t\t\t\tK(this).addClass('ke-on');\r\n\t\t\t})\r\n\t\t\t.mouseout(function(e) {\r\n\t\t\t\tK(this).removeClass('ke-on');\r\n\t\t\t});\r\n\t\titemDiv.append(photoDiv);\r\n\r\n\t\tvar img = K('<img src=\"' + file.url + '\" class=\"ke-img\" data-status=\"' + file.filestatus + '\" width=\"80\" height=\"80\" alt=\"' + file.name + '\" />');\r\n\t\tphotoDiv.append(img);\r\n\t\tK('<span class=\"ke-delete\"></span>').appendTo(photoDiv).click(function() {\r\n\t\t\tself.removeFile(file.id);\r\n\t\t});\r\n\t\tvar statusDiv = K('<div class=\"ke-status\"></div>').appendTo(photoDiv);\r\n\t\t// progressbar\r\n\t\tK(['<div class=\"ke-progressbar\">',\r\n\t\t\t'<div class=\"ke-progressbar-bar\"><div class=\"ke-progressbar-bar-inner\"></div></div>',\r\n\t\t\t'<div class=\"ke-progressbar-percent\">0%</div></div>'].join('')).hide().appendTo(statusDiv);\r\n\t\t// message\r\n\t\tK('<div class=\"ke-message\">' + self.options.pendingMessage + '</div>').appendTo(statusDiv);\r\n\r\n\t\titemDiv.append('<div class=\"ke-name\">' + file.name + '</div>');\r\n\r\n\t\tself.progressbars[file.id] = {\r\n\t\t\tbar : K('.ke-progressbar-bar-inner', photoDiv),\r\n\t\t\tpercent : K('.ke-progressbar-percent', photoDiv)\r\n\t\t};\r\n\t},\r\n\tremove : function() {\r\n\t\tthis.removeFiles();\r\n\t\tthis.swfu.destroy();\r\n\t\tthis.div.html('');\r\n\t}\r\n});\r\n\r\nK.swfupload = function(element, options) {\r\n\treturn new KSWFUpload(element, options);\r\n};\r\n\r\n})(KindEditor);\r\n\r\nKindEditor.plugin('multiimage', function(K) {\r\n\tvar self = this, name = 'multiimage',\r\n\t\tformatUploadUrl = K.undef(self.formatUploadUrl, true),\r\n\t\tuploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'),\r\n\t\timgPath = self.pluginsPath + 'multiimage/images/',\r\n\t\timageSizeLimit = K.undef(self.imageSizeLimit, '1MB'),\r\n\t\timageFileTypes = K.undef(self.imageFileTypes, '*.jpg;*.gif;*.png'),\r\n\t\timageUploadLimit = K.undef(self.imageUploadLimit, 20),\r\n\t\tfilePostName = K.undef(self.filePostName, 'imgFile'),\r\n\t\tlang = self.lang(name + '.');\r\n\r\n\tself.plugin.multiImageDialog = function(options) {\r\n\t\tvar clickFn = options.clickFn,\r\n\t\t\tuploadDesc = K.tmpl(lang.uploadDesc, {uploadLimit : imageUploadLimit, sizeLimit : imageSizeLimit});\r\n\t\tvar html = [\r\n\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t'<div class=\"swfupload\">',\r\n\t\t\t'</div>',\r\n\t\t\t'</div>'\r\n\t\t].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : 650,\r\n\t\t\theight : 510,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tpreviewBtn : {\r\n\t\t\t\tname : lang.insertAll,\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tclickFn.call(self, swfupload.getUrlList());\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : lang.clearAll,\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tswfupload.removeFiles();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tbeforeRemove : function() {\r\n\t\t\t\t// IE9 bugfix: https://github.com/kindsoft/kindeditor/issues/72\r\n\t\t\t\tif (!K.IE || K.V <= 8) {\r\n\t\t\t\t\tswfupload.remove();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}),\r\n\t\tdiv = dialog.div;\r\n\r\n\t\tvar swfupload = K.swfupload({\r\n\t\t\tcontainer : K('.swfupload', div),\r\n\t\t\tbuttonImageUrl : imgPath + (self.langType == 'zh_CN' ? 'select-files-zh_CN.png' : 'select-files-en.png'),\r\n\t\t\tbuttonWidth : self.langType == 'zh_CN' ? 72 : 88,\r\n\t\t\tbuttonHeight : 23,\r\n\t\t\tfileIconUrl : imgPath + 'image.png',\r\n\t\t\tuploadDesc : uploadDesc,\r\n\t\t\tstartButtonValue : lang.startUpload,\r\n\t\t\tuploadUrl : K.addParam(uploadJson, 'dir=image'),\r\n\t\t\tflashUrl : imgPath + 'swfupload.swf',\r\n\t\t\tfilePostName : filePostName,\r\n\t\t\tfileTypes : '*.jpg;*.jpeg;*.gif;*.png;*.bmp',\r\n\t\t\tfileTypesDesc : 'Image Files',\r\n\t\t\tfileUploadLimit : imageUploadLimit,\r\n\t\t\tfileSizeLimit : imageSizeLimit,\r\n\t\t\tpostParams :  K.undef(self.extraFileUploadParams, {}),\r\n\t\t\tqueueLimitExceeded : lang.queueLimitExceeded,\r\n\t\t\tfileExceedsSizeLimit : lang.fileExceedsSizeLimit,\r\n\t\t\tzeroByteFile : lang.zeroByteFile,\r\n\t\t\tinvalidFiletype : lang.invalidFiletype,\r\n\t\t\tunknownError : lang.unknownError,\r\n\t\t\tpendingMessage : lang.pending,\r\n\t\t\terrorMessage : lang.uploadError,\r\n\t\t\tafterError : function(html) {\r\n\t\t\t\tself.errorDialog(html);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn dialog;\r\n\t};\r\n\tself.clickToolbar(name, function() {\r\n\t\tself.plugin.multiImageDialog({\r\n\t\t\tclickFn : function (urlList) {\r\n\t\t\t\tif (urlList.length === 0) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tK.each(urlList, function(i, data) {\r\n\t\t\t\t\tif (self.afterUpload) {\r\n\t\t\t\t\t\tself.afterUpload.call(self, data.url, data, 'multiimage');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tself.exec('insertimage', data.url, data.title, data.width, data.height, data.border, data.align);\r\n\t\t\t\t});\r\n\t\t\t\t// Bugfix: [Firefox] 上传图片后，总是出现正在加载的样式，需要延迟执行hideDialog\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tself.hideDialog().focus();\r\n\t\t\t\t}, 0);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n});\r\n\r\n\r\n/**\r\n * SWFUpload: http://www.swfupload.org, http://swfupload.googlecode.com\r\n *\r\n * mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/,  http://www.vinterwebb.se/\r\n *\r\n * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilz閚 and Mammon Media and is released under the MIT License:\r\n * http://www.opensource.org/licenses/mit-license.php\r\n *\r\n * SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License:\r\n * http://www.opensource.org/licenses/mit-license.php\r\n *\r\n */\r\n\r\n\r\n/* ******************* */\r\n/* Constructor & Init  */\r\n/* ******************* */\r\n\r\n(function() {\r\n\r\nwindow.SWFUpload = function (settings) {\r\n\tthis.initSWFUpload(settings);\r\n};\r\n\r\nSWFUpload.prototype.initSWFUpload = function (settings) {\r\n\ttry {\r\n\t\tthis.customSettings = {};\t// A container where developers can place their own settings associated with this instance.\r\n\t\tthis.settings = settings;\r\n\t\tthis.eventQueue = [];\r\n\t\tthis.movieName = \"KindEditor_SWFUpload_\" + SWFUpload.movieCount++;\r\n\t\tthis.movieElement = null;\r\n\r\n\r\n\t\t// Setup global control tracking\r\n\t\tSWFUpload.instances[this.movieName] = this;\r\n\r\n\t\t// Load the settings.  Load the Flash movie.\r\n\t\tthis.initSettings();\r\n\t\tthis.loadFlash();\r\n\t\tthis.displayDebugInfo();\r\n\t} catch (ex) {\r\n\t\tdelete SWFUpload.instances[this.movieName];\r\n\t\tthrow ex;\r\n\t}\r\n};\r\n\r\n/* *************** */\r\n/* Static Members  */\r\n/* *************** */\r\nSWFUpload.instances = {};\r\nSWFUpload.movieCount = 0;\r\nSWFUpload.version = \"2.2.0 2009-03-25\";\r\nSWFUpload.QUEUE_ERROR = {\r\n\tQUEUE_LIMIT_EXCEEDED\t  \t\t: -100,\r\n\tFILE_EXCEEDS_SIZE_LIMIT  \t\t: -110,\r\n\tZERO_BYTE_FILE\t\t\t  \t\t: -120,\r\n\tINVALID_FILETYPE\t\t  \t\t: -130\r\n};\r\nSWFUpload.UPLOAD_ERROR = {\r\n\tHTTP_ERROR\t\t\t\t  \t\t: -200,\r\n\tMISSING_UPLOAD_URL\t      \t\t: -210,\r\n\tIO_ERROR\t\t\t\t  \t\t: -220,\r\n\tSECURITY_ERROR\t\t\t  \t\t: -230,\r\n\tUPLOAD_LIMIT_EXCEEDED\t  \t\t: -240,\r\n\tUPLOAD_FAILED\t\t\t  \t\t: -250,\r\n\tSPECIFIED_FILE_ID_NOT_FOUND\t\t: -260,\r\n\tFILE_VALIDATION_FAILED\t  \t\t: -270,\r\n\tFILE_CANCELLED\t\t\t  \t\t: -280,\r\n\tUPLOAD_STOPPED\t\t\t\t\t: -290\r\n};\r\nSWFUpload.FILE_STATUS = {\r\n\tQUEUED\t\t : -1,\r\n\tIN_PROGRESS\t : -2,\r\n\tERROR\t\t : -3,\r\n\tCOMPLETE\t : -4,\r\n\tCANCELLED\t : -5\r\n};\r\nSWFUpload.BUTTON_ACTION = {\r\n\tSELECT_FILE  : -100,\r\n\tSELECT_FILES : -110,\r\n\tSTART_UPLOAD : -120\r\n};\r\nSWFUpload.CURSOR = {\r\n\tARROW : -1,\r\n\tHAND : -2\r\n};\r\nSWFUpload.WINDOW_MODE = {\r\n\tWINDOW : \"window\",\r\n\tTRANSPARENT : \"transparent\",\r\n\tOPAQUE : \"opaque\"\r\n};\r\n\r\n// Private: takes a URL, determines if it is relative and converts to an absolute URL\r\n// using the current site. Only processes the URL if it can, otherwise returns the URL untouched\r\nSWFUpload.completeURL = function(url) {\r\n\tif (typeof(url) !== \"string\" || url.match(/^https?:\\/\\//i) || url.match(/^\\//)) {\r\n\t\treturn url;\r\n\t}\r\n\r\n\tvar currentURL = window.location.protocol + \"//\" + window.location.hostname + (window.location.port ? \":\" + window.location.port : \"\");\r\n\r\n\tvar indexSlash = window.location.pathname.lastIndexOf(\"/\");\r\n\tif (indexSlash <= 0) {\r\n\t\tpath = \"/\";\r\n\t} else {\r\n\t\tpath = window.location.pathname.substr(0, indexSlash) + \"/\";\r\n\t}\r\n\r\n\treturn /*currentURL +*/ path + url;\r\n\r\n};\r\n\r\n\r\n/* ******************** */\r\n/* Instance Members  */\r\n/* ******************** */\r\n\r\n// Private: initSettings ensures that all the\r\n// settings are set, getting a default value if one was not assigned.\r\nSWFUpload.prototype.initSettings = function () {\r\n\tthis.ensureDefault = function (settingName, defaultValue) {\r\n\t\tthis.settings[settingName] = (this.settings[settingName] == undefined) ? defaultValue : this.settings[settingName];\r\n\t};\r\n\r\n\t// Upload backend settings\r\n\tthis.ensureDefault(\"upload_url\", \"\");\r\n\tthis.ensureDefault(\"preserve_relative_urls\", false);\r\n\tthis.ensureDefault(\"file_post_name\", \"Filedata\");\r\n\tthis.ensureDefault(\"post_params\", {});\r\n\tthis.ensureDefault(\"use_query_string\", false);\r\n\tthis.ensureDefault(\"requeue_on_error\", false);\r\n\tthis.ensureDefault(\"http_success\", []);\r\n\tthis.ensureDefault(\"assume_success_timeout\", 0);\r\n\r\n\t// File Settings\r\n\tthis.ensureDefault(\"file_types\", \"*.*\");\r\n\tthis.ensureDefault(\"file_types_description\", \"All Files\");\r\n\tthis.ensureDefault(\"file_size_limit\", 0);\t// Default zero means \"unlimited\"\r\n\tthis.ensureDefault(\"file_upload_limit\", 0);\r\n\tthis.ensureDefault(\"file_queue_limit\", 0);\r\n\r\n\t// Flash Settings\r\n\tthis.ensureDefault(\"flash_url\", \"swfupload.swf\");\r\n\tthis.ensureDefault(\"prevent_swf_caching\", true);\r\n\r\n\t// Button Settings\r\n\tthis.ensureDefault(\"button_image_url\", \"\");\r\n\tthis.ensureDefault(\"button_width\", 1);\r\n\tthis.ensureDefault(\"button_height\", 1);\r\n\tthis.ensureDefault(\"button_text\", \"\");\r\n\tthis.ensureDefault(\"button_text_style\", \"color: #000000; font-size: 16pt;\");\r\n\tthis.ensureDefault(\"button_text_top_padding\", 0);\r\n\tthis.ensureDefault(\"button_text_left_padding\", 0);\r\n\tthis.ensureDefault(\"button_action\", SWFUpload.BUTTON_ACTION.SELECT_FILES);\r\n\tthis.ensureDefault(\"button_disabled\", false);\r\n\tthis.ensureDefault(\"button_placeholder_id\", \"\");\r\n\tthis.ensureDefault(\"button_placeholder\", null);\r\n\tthis.ensureDefault(\"button_cursor\", SWFUpload.CURSOR.ARROW);\r\n\tthis.ensureDefault(\"button_window_mode\", SWFUpload.WINDOW_MODE.WINDOW);\r\n\r\n\t// Debug Settings\r\n\tthis.ensureDefault(\"debug\", false);\r\n\tthis.settings.debug_enabled = this.settings.debug;\t// Here to maintain v2 API\r\n\r\n\t// Event Handlers\r\n\tthis.settings.return_upload_start_handler = this.returnUploadStart;\r\n\tthis.ensureDefault(\"swfupload_loaded_handler\", null);\r\n\tthis.ensureDefault(\"file_dialog_start_handler\", null);\r\n\tthis.ensureDefault(\"file_queued_handler\", null);\r\n\tthis.ensureDefault(\"file_queue_error_handler\", null);\r\n\tthis.ensureDefault(\"file_dialog_complete_handler\", null);\r\n\r\n\tthis.ensureDefault(\"upload_start_handler\", null);\r\n\tthis.ensureDefault(\"upload_progress_handler\", null);\r\n\tthis.ensureDefault(\"upload_error_handler\", null);\r\n\tthis.ensureDefault(\"upload_success_handler\", null);\r\n\tthis.ensureDefault(\"upload_complete_handler\", null);\r\n\r\n\tthis.ensureDefault(\"debug_handler\", this.debugMessage);\r\n\r\n\tthis.ensureDefault(\"custom_settings\", {});\r\n\r\n\t// Other settings\r\n\tthis.customSettings = this.settings.custom_settings;\r\n\r\n\t// Update the flash url if needed\r\n\tif (!!this.settings.prevent_swf_caching) {\r\n\t\tthis.settings.flash_url = this.settings.flash_url + (this.settings.flash_url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + \"preventswfcaching=\" + new Date().getTime();\r\n\t}\r\n\r\n\tif (!this.settings.preserve_relative_urls) {\r\n\t\t//this.settings.flash_url = SWFUpload.completeURL(this.settings.flash_url);\t// Don't need to do this one since flash doesn't look at it\r\n\t\tthis.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url);\r\n\t\tthis.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url);\r\n\t}\r\n\r\n\tdelete this.ensureDefault;\r\n};\r\n\r\n// Private: loadFlash replaces the button_placeholder element with the flash movie.\r\nSWFUpload.prototype.loadFlash = function () {\r\n\tvar targetElement, tempParent;\r\n\r\n\t// Make sure an element with the ID we are going to use doesn't already exist\r\n\tif (document.getElementById(this.movieName) !== null) {\r\n\t\tthrow \"ID \" + this.movieName + \" is already in use. The Flash Object could not be added\";\r\n\t}\r\n\r\n\t// Get the element where we will be placing the flash movie\r\n\ttargetElement = document.getElementById(this.settings.button_placeholder_id) || this.settings.button_placeholder;\r\n\r\n\tif (targetElement == undefined) {\r\n\t\tthrow \"Could not find the placeholder element: \" + this.settings.button_placeholder_id;\r\n\t}\r\n\r\n\t// Append the container and load the flash\r\n\ttempParent = document.createElement(\"div\");\r\n\ttempParent.innerHTML = this.getFlashHTML();\t// Using innerHTML is non-standard but the only sensible way to dynamically add Flash in IE (and maybe other browsers)\r\n\ttargetElement.parentNode.replaceChild(tempParent.firstChild, targetElement);\r\n\r\n\t// Fix IE Flash/Form bug\r\n\tif (window[this.movieName] == undefined) {\r\n\t\twindow[this.movieName] = this.getMovieElement();\r\n\t}\r\n\r\n};\r\n\r\n// Private: getFlashHTML generates the object tag needed to embed the flash in to the document\r\nSWFUpload.prototype.getFlashHTML = function () {\r\n\t// Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay\r\n\t// Fix bug for IE9\r\n\t// http://www.kindsoft.net/view.php?bbsid=7&postid=5825&pagenum=1\r\n\tvar classid = '';\r\n\tif (KindEditor.IE && KindEditor.V > 8) {\r\n\t\tclassid = ' classid = \"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\"';\r\n\t}\r\n\treturn ['<object id=\"', this.movieName, '\"' + classid + ' type=\"application/x-shockwave-flash\" data=\"', this.settings.flash_url, '\" width=\"', this.settings.button_width, '\" height=\"', this.settings.button_height, '\" class=\"swfupload\">',\r\n\t\t\t\t'<param name=\"wmode\" value=\"', this.settings.button_window_mode, '\" />',\r\n\t\t\t\t'<param name=\"movie\" value=\"', this.settings.flash_url, '\" />',\r\n\t\t\t\t'<param name=\"quality\" value=\"high\" />',\r\n\t\t\t\t'<param name=\"menu\" value=\"false\" />',\r\n\t\t\t\t'<param name=\"allowScriptAccess\" value=\"always\" />',\r\n\t\t\t\t'<param name=\"flashvars\" value=\"' + this.getFlashVars() + '\" />',\r\n\t\t\t\t'</object>'].join(\"\");\r\n};\r\n\r\n// Private: getFlashVars builds the parameter string that will be passed\r\n// to flash in the flashvars param.\r\nSWFUpload.prototype.getFlashVars = function () {\r\n\t// Build a string from the post param object\r\n\tvar paramString = this.buildParamString();\r\n\tvar httpSuccessString = this.settings.http_success.join(\",\");\r\n\r\n\t// Build the parameter string\r\n\treturn [\"movieName=\", encodeURIComponent(this.movieName),\r\n\t\t\t\"&amp;uploadURL=\", encodeURIComponent(this.settings.upload_url),\r\n\t\t\t\"&amp;useQueryString=\", encodeURIComponent(this.settings.use_query_string),\r\n\t\t\t\"&amp;requeueOnError=\", encodeURIComponent(this.settings.requeue_on_error),\r\n\t\t\t\"&amp;httpSuccess=\", encodeURIComponent(httpSuccessString),\r\n\t\t\t\"&amp;assumeSuccessTimeout=\", encodeURIComponent(this.settings.assume_success_timeout),\r\n\t\t\t\"&amp;params=\", encodeURIComponent(paramString),\r\n\t\t\t\"&amp;filePostName=\", encodeURIComponent(this.settings.file_post_name),\r\n\t\t\t\"&amp;fileTypes=\", encodeURIComponent(this.settings.file_types),\r\n\t\t\t\"&amp;fileTypesDescription=\", encodeURIComponent(this.settings.file_types_description),\r\n\t\t\t\"&amp;fileSizeLimit=\", encodeURIComponent(this.settings.file_size_limit),\r\n\t\t\t\"&amp;fileUploadLimit=\", encodeURIComponent(this.settings.file_upload_limit),\r\n\t\t\t\"&amp;fileQueueLimit=\", encodeURIComponent(this.settings.file_queue_limit),\r\n\t\t\t\"&amp;debugEnabled=\", encodeURIComponent(this.settings.debug_enabled),\r\n\t\t\t\"&amp;buttonImageURL=\", encodeURIComponent(this.settings.button_image_url),\r\n\t\t\t\"&amp;buttonWidth=\", encodeURIComponent(this.settings.button_width),\r\n\t\t\t\"&amp;buttonHeight=\", encodeURIComponent(this.settings.button_height),\r\n\t\t\t\"&amp;buttonText=\", encodeURIComponent(this.settings.button_text),\r\n\t\t\t\"&amp;buttonTextTopPadding=\", encodeURIComponent(this.settings.button_text_top_padding),\r\n\t\t\t\"&amp;buttonTextLeftPadding=\", encodeURIComponent(this.settings.button_text_left_padding),\r\n\t\t\t\"&amp;buttonTextStyle=\", encodeURIComponent(this.settings.button_text_style),\r\n\t\t\t\"&amp;buttonAction=\", encodeURIComponent(this.settings.button_action),\r\n\t\t\t\"&amp;buttonDisabled=\", encodeURIComponent(this.settings.button_disabled),\r\n\t\t\t\"&amp;buttonCursor=\", encodeURIComponent(this.settings.button_cursor)\r\n\t\t].join(\"\");\r\n};\r\n\r\n// Public: getMovieElement retrieves the DOM reference to the Flash element added by SWFUpload\r\n// The element is cached after the first lookup\r\nSWFUpload.prototype.getMovieElement = function () {\r\n\tif (this.movieElement == undefined) {\r\n\t\tthis.movieElement = document.getElementById(this.movieName);\r\n\t}\r\n\r\n\tif (this.movieElement === null) {\r\n\t\tthrow \"Could not find Flash element\";\r\n\t}\r\n\r\n\treturn this.movieElement;\r\n};\r\n\r\n// Private: buildParamString takes the name/value pairs in the post_params setting object\r\n// and joins them up in to a string formatted \"name=value&amp;name=value\"\r\nSWFUpload.prototype.buildParamString = function () {\r\n\tvar postParams = this.settings.post_params;\r\n\tvar paramStringPairs = [];\r\n\r\n\tif (typeof(postParams) === \"object\") {\r\n\t\tfor (var name in postParams) {\r\n\t\t\tif (postParams.hasOwnProperty(name)) {\r\n\t\t\t\tparamStringPairs.push(encodeURIComponent(name.toString()) + \"=\" + encodeURIComponent(postParams[name].toString()));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn paramStringPairs.join(\"&amp;\");\r\n};\r\n\r\n// Public: Used to remove a SWFUpload instance from the page. This method strives to remove\r\n// all references to the SWF, and other objects so memory is properly freed.\r\n// Returns true if everything was destroyed. Returns a false if a failure occurs leaving SWFUpload in an inconsistant state.\r\n// Credits: Major improvements provided by steffen\r\nSWFUpload.prototype.destroy = function () {\r\n\ttry {\r\n\t\t// Make sure Flash is done before we try to remove it\r\n\t\tthis.cancelUpload(null, false);\r\n\r\n\r\n\t\t// Remove the SWFUpload DOM nodes\r\n\t\tvar movieElement = null;\r\n\t\tmovieElement = this.getMovieElement();\r\n\r\n\t\tif (movieElement && typeof(movieElement.CallFunction) === \"unknown\") { // We only want to do this in IE\r\n\t\t\t// Loop through all the movie's properties and remove all function references (DOM/JS IE 6/7 memory leak workaround)\r\n\t\t\tfor (var i in movieElement) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tif (typeof(movieElement[i]) === \"function\") {\r\n\t\t\t\t\t\tmovieElement[i] = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t} catch (ex1) {}\r\n\t\t\t}\r\n\r\n\t\t\t// Remove the Movie Element from the page\r\n\t\t\ttry {\r\n\t\t\t\tmovieElement.parentNode.removeChild(movieElement);\r\n\t\t\t} catch (ex) {}\r\n\t\t}\r\n\r\n\t\t// Remove IE form fix reference\r\n\t\twindow[this.movieName] = null;\r\n\r\n\t\t// Destroy other references\r\n\t\tSWFUpload.instances[this.movieName] = null;\r\n\t\tdelete SWFUpload.instances[this.movieName];\r\n\r\n\t\tthis.movieElement = null;\r\n\t\tthis.settings = null;\r\n\t\tthis.customSettings = null;\r\n\t\tthis.eventQueue = null;\r\n\t\tthis.movieName = null;\r\n\r\n\r\n\t\treturn true;\r\n\t} catch (ex2) {\r\n\t\treturn false;\r\n\t}\r\n};\r\n\r\n\r\n// Public: displayDebugInfo prints out settings and configuration\r\n// information about this SWFUpload instance.\r\n// This function (and any references to it) can be deleted when placing\r\n// SWFUpload in production.\r\nSWFUpload.prototype.displayDebugInfo = function () {\r\n\tthis.debug(\r\n\t\t[\r\n\t\t\t\"---SWFUpload Instance Info---\\n\",\r\n\t\t\t\"Version: \", SWFUpload.version, \"\\n\",\r\n\t\t\t\"Movie Name: \", this.movieName, \"\\n\",\r\n\t\t\t\"Settings:\\n\",\r\n\t\t\t\"\\t\", \"upload_url:               \", this.settings.upload_url, \"\\n\",\r\n\t\t\t\"\\t\", \"flash_url:                \", this.settings.flash_url, \"\\n\",\r\n\t\t\t\"\\t\", \"use_query_string:         \", this.settings.use_query_string.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"requeue_on_error:         \", this.settings.requeue_on_error.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"http_success:             \", this.settings.http_success.join(\", \"), \"\\n\",\r\n\t\t\t\"\\t\", \"assume_success_timeout:   \", this.settings.assume_success_timeout, \"\\n\",\r\n\t\t\t\"\\t\", \"file_post_name:           \", this.settings.file_post_name, \"\\n\",\r\n\t\t\t\"\\t\", \"post_params:              \", this.settings.post_params.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"file_types:               \", this.settings.file_types, \"\\n\",\r\n\t\t\t\"\\t\", \"file_types_description:   \", this.settings.file_types_description, \"\\n\",\r\n\t\t\t\"\\t\", \"file_size_limit:          \", this.settings.file_size_limit, \"\\n\",\r\n\t\t\t\"\\t\", \"file_upload_limit:        \", this.settings.file_upload_limit, \"\\n\",\r\n\t\t\t\"\\t\", \"file_queue_limit:         \", this.settings.file_queue_limit, \"\\n\",\r\n\t\t\t\"\\t\", \"debug:                    \", this.settings.debug.toString(), \"\\n\",\r\n\r\n\t\t\t\"\\t\", \"prevent_swf_caching:      \", this.settings.prevent_swf_caching.toString(), \"\\n\",\r\n\r\n\t\t\t\"\\t\", \"button_placeholder_id:    \", this.settings.button_placeholder_id.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_placeholder:       \", (this.settings.button_placeholder ? \"Set\" : \"Not Set\"), \"\\n\",\r\n\t\t\t\"\\t\", \"button_image_url:         \", this.settings.button_image_url.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_width:             \", this.settings.button_width.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_height:            \", this.settings.button_height.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_text:              \", this.settings.button_text.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_text_style:        \", this.settings.button_text_style.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_text_top_padding:  \", this.settings.button_text_top_padding.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_text_left_padding: \", this.settings.button_text_left_padding.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_action:            \", this.settings.button_action.toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"button_disabled:          \", this.settings.button_disabled.toString(), \"\\n\",\r\n\r\n\t\t\t\"\\t\", \"custom_settings:          \", this.settings.custom_settings.toString(), \"\\n\",\r\n\t\t\t\"Event Handlers:\\n\",\r\n\t\t\t\"\\t\", \"swfupload_loaded_handler assigned:  \", (typeof this.settings.swfupload_loaded_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"file_dialog_start_handler assigned: \", (typeof this.settings.file_dialog_start_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"file_queued_handler assigned:       \", (typeof this.settings.file_queued_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"file_queue_error_handler assigned:  \", (typeof this.settings.file_queue_error_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"upload_start_handler assigned:      \", (typeof this.settings.upload_start_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"upload_progress_handler assigned:   \", (typeof this.settings.upload_progress_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"upload_error_handler assigned:      \", (typeof this.settings.upload_error_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"upload_success_handler assigned:    \", (typeof this.settings.upload_success_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"upload_complete_handler assigned:   \", (typeof this.settings.upload_complete_handler === \"function\").toString(), \"\\n\",\r\n\t\t\t\"\\t\", \"debug_handler assigned:             \", (typeof this.settings.debug_handler === \"function\").toString(), \"\\n\"\r\n\t\t].join(\"\")\r\n\t);\r\n};\r\n\r\n/* Note: addSetting and getSetting are no longer used by SWFUpload but are included\r\n\tthe maintain v2 API compatibility\r\n*/\r\n// Public: (Deprecated) addSetting adds a setting value. If the value given is undefined or null then the default_value is used.\r\nSWFUpload.prototype.addSetting = function (name, value, default_value) {\r\n    if (value == undefined) {\r\n        return (this.settings[name] = default_value);\r\n    } else {\r\n        return (this.settings[name] = value);\r\n\t}\r\n};\r\n\r\n// Public: (Deprecated) getSetting gets a setting. Returns an empty string if the setting was not found.\r\nSWFUpload.prototype.getSetting = function (name) {\r\n    if (this.settings[name] != undefined) {\r\n        return this.settings[name];\r\n\t}\r\n\r\n    return \"\";\r\n};\r\n\r\n\r\n\r\n// Private: callFlash handles function calls made to the Flash element.\r\n// Calls are made with a setTimeout for some functions to work around\r\n// bugs in the ExternalInterface library.\r\nSWFUpload.prototype.callFlash = function (functionName, argumentArray) {\r\n\targumentArray = argumentArray || [];\r\n\r\n\tvar movieElement = this.getMovieElement();\r\n\tvar returnValue, returnString;\r\n\r\n\t// Flash's method if calling ExternalInterface methods (code adapted from MooTools).\r\n\ttry {\r\n\t\treturnString = movieElement.CallFunction('<invoke name=\"' + functionName + '\" returntype=\"javascript\">' + __flash__argumentsToXML(argumentArray, 0) + '</invoke>');\r\n\t\treturnValue = eval(returnString);\r\n\t} catch (ex) {\r\n\t\tthrow \"Call to \" + functionName + \" failed\";\r\n\t}\r\n\r\n\t// Unescape file post param values\r\n\tif (returnValue != undefined && typeof returnValue.post === \"object\") {\r\n\t\treturnValue = this.unescapeFilePostParams(returnValue);\r\n\t}\r\n\r\n\treturn returnValue;\r\n};\r\n\r\n/* *****************************\r\n\t-- Flash control methods --\r\n\tYour UI should use these\r\n\tto operate SWFUpload\r\n   ***************************** */\r\n\r\n// WARNING: this function does not work in Flash Player 10\r\n// Public: selectFile causes a File Selection Dialog window to appear.  This\r\n// dialog only allows 1 file to be selected.\r\nSWFUpload.prototype.selectFile = function () {\r\n\tthis.callFlash(\"SelectFile\");\r\n};\r\n\r\n// WARNING: this function does not work in Flash Player 10\r\n// Public: selectFiles causes a File Selection Dialog window to appear/ This\r\n// dialog allows the user to select any number of files\r\n// Flash Bug Warning: Flash limits the number of selectable files based on the combined length of the file names.\r\n// If the selection name length is too long the dialog will fail in an unpredictable manner.  There is no work-around\r\n// for this bug.\r\nSWFUpload.prototype.selectFiles = function () {\r\n\tthis.callFlash(\"SelectFiles\");\r\n};\r\n\r\n\r\n// Public: startUpload starts uploading the first file in the queue unless\r\n// the optional parameter 'fileID' specifies the ID\r\nSWFUpload.prototype.startUpload = function (fileID) {\r\n\tthis.callFlash(\"StartUpload\", [fileID]);\r\n};\r\n\r\n// Public: cancelUpload cancels any queued file.  The fileID parameter may be the file ID or index.\r\n// If you do not specify a fileID the current uploading file or first file in the queue is cancelled.\r\n// If you do not want the uploadError event to trigger you can specify false for the triggerErrorEvent parameter.\r\nSWFUpload.prototype.cancelUpload = function (fileID, triggerErrorEvent) {\r\n\tif (triggerErrorEvent !== false) {\r\n\t\ttriggerErrorEvent = true;\r\n\t}\r\n\tthis.callFlash(\"CancelUpload\", [fileID, triggerErrorEvent]);\r\n};\r\n\r\n// Public: stopUpload stops the current upload and requeues the file at the beginning of the queue.\r\n// If nothing is currently uploading then nothing happens.\r\nSWFUpload.prototype.stopUpload = function () {\r\n\tthis.callFlash(\"StopUpload\");\r\n};\r\n\r\n/* ************************\r\n * Settings methods\r\n *   These methods change the SWFUpload settings.\r\n *   SWFUpload settings should not be changed directly on the settings object\r\n *   since many of the settings need to be passed to Flash in order to take\r\n *   effect.\r\n * *********************** */\r\n\r\n// Public: getStats gets the file statistics object.\r\nSWFUpload.prototype.getStats = function () {\r\n\treturn this.callFlash(\"GetStats\");\r\n};\r\n\r\n// Public: setStats changes the SWFUpload statistics.  You shouldn't need to\r\n// change the statistics but you can.  Changing the statistics does not\r\n// affect SWFUpload accept for the successful_uploads count which is used\r\n// by the upload_limit setting to determine how many files the user may upload.\r\nSWFUpload.prototype.setStats = function (statsObject) {\r\n\tthis.callFlash(\"SetStats\", [statsObject]);\r\n};\r\n\r\n// Public: getFile retrieves a File object by ID or Index.  If the file is\r\n// not found then 'null' is returned.\r\nSWFUpload.prototype.getFile = function (fileID) {\r\n\tif (typeof(fileID) === \"number\") {\r\n\t\treturn this.callFlash(\"GetFileByIndex\", [fileID]);\r\n\t} else {\r\n\t\treturn this.callFlash(\"GetFile\", [fileID]);\r\n\t}\r\n};\r\n\r\n// Public: addFileParam sets a name/value pair that will be posted with the\r\n// file specified by the Files ID.  If the name already exists then the\r\n// exiting value will be overwritten.\r\nSWFUpload.prototype.addFileParam = function (fileID, name, value) {\r\n\treturn this.callFlash(\"AddFileParam\", [fileID, name, value]);\r\n};\r\n\r\n// Public: removeFileParam removes a previously set (by addFileParam) name/value\r\n// pair from the specified file.\r\nSWFUpload.prototype.removeFileParam = function (fileID, name) {\r\n\tthis.callFlash(\"RemoveFileParam\", [fileID, name]);\r\n};\r\n\r\n// Public: setUploadUrl changes the upload_url setting.\r\nSWFUpload.prototype.setUploadURL = function (url) {\r\n\tthis.settings.upload_url = url.toString();\r\n\tthis.callFlash(\"SetUploadURL\", [url]);\r\n};\r\n\r\n// Public: setPostParams changes the post_params setting\r\nSWFUpload.prototype.setPostParams = function (paramsObject) {\r\n\tthis.settings.post_params = paramsObject;\r\n\tthis.callFlash(\"SetPostParams\", [paramsObject]);\r\n};\r\n\r\n// Public: addPostParam adds post name/value pair.  Each name can have only one value.\r\nSWFUpload.prototype.addPostParam = function (name, value) {\r\n\tthis.settings.post_params[name] = value;\r\n\tthis.callFlash(\"SetPostParams\", [this.settings.post_params]);\r\n};\r\n\r\n// Public: removePostParam deletes post name/value pair.\r\nSWFUpload.prototype.removePostParam = function (name) {\r\n\tdelete this.settings.post_params[name];\r\n\tthis.callFlash(\"SetPostParams\", [this.settings.post_params]);\r\n};\r\n\r\n// Public: setFileTypes changes the file_types setting and the file_types_description setting\r\nSWFUpload.prototype.setFileTypes = function (types, description) {\r\n\tthis.settings.file_types = types;\r\n\tthis.settings.file_types_description = description;\r\n\tthis.callFlash(\"SetFileTypes\", [types, description]);\r\n};\r\n\r\n// Public: setFileSizeLimit changes the file_size_limit setting\r\nSWFUpload.prototype.setFileSizeLimit = function (fileSizeLimit) {\r\n\tthis.settings.file_size_limit = fileSizeLimit;\r\n\tthis.callFlash(\"SetFileSizeLimit\", [fileSizeLimit]);\r\n};\r\n\r\n// Public: setFileUploadLimit changes the file_upload_limit setting\r\nSWFUpload.prototype.setFileUploadLimit = function (fileUploadLimit) {\r\n\tthis.settings.file_upload_limit = fileUploadLimit;\r\n\tthis.callFlash(\"SetFileUploadLimit\", [fileUploadLimit]);\r\n};\r\n\r\n// Public: setFileQueueLimit changes the file_queue_limit setting\r\nSWFUpload.prototype.setFileQueueLimit = function (fileQueueLimit) {\r\n\tthis.settings.file_queue_limit = fileQueueLimit;\r\n\tthis.callFlash(\"SetFileQueueLimit\", [fileQueueLimit]);\r\n};\r\n\r\n// Public: setFilePostName changes the file_post_name setting\r\nSWFUpload.prototype.setFilePostName = function (filePostName) {\r\n\tthis.settings.file_post_name = filePostName;\r\n\tthis.callFlash(\"SetFilePostName\", [filePostName]);\r\n};\r\n\r\n// Public: setUseQueryString changes the use_query_string setting\r\nSWFUpload.prototype.setUseQueryString = function (useQueryString) {\r\n\tthis.settings.use_query_string = useQueryString;\r\n\tthis.callFlash(\"SetUseQueryString\", [useQueryString]);\r\n};\r\n\r\n// Public: setRequeueOnError changes the requeue_on_error setting\r\nSWFUpload.prototype.setRequeueOnError = function (requeueOnError) {\r\n\tthis.settings.requeue_on_error = requeueOnError;\r\n\tthis.callFlash(\"SetRequeueOnError\", [requeueOnError]);\r\n};\r\n\r\n// Public: setHTTPSuccess changes the http_success setting\r\nSWFUpload.prototype.setHTTPSuccess = function (http_status_codes) {\r\n\tif (typeof http_status_codes === \"string\") {\r\n\t\thttp_status_codes = http_status_codes.replace(\" \", \"\").split(\",\");\r\n\t}\r\n\r\n\tthis.settings.http_success = http_status_codes;\r\n\tthis.callFlash(\"SetHTTPSuccess\", [http_status_codes]);\r\n};\r\n\r\n// Public: setHTTPSuccess changes the http_success setting\r\nSWFUpload.prototype.setAssumeSuccessTimeout = function (timeout_seconds) {\r\n\tthis.settings.assume_success_timeout = timeout_seconds;\r\n\tthis.callFlash(\"SetAssumeSuccessTimeout\", [timeout_seconds]);\r\n};\r\n\r\n// Public: setDebugEnabled changes the debug_enabled setting\r\nSWFUpload.prototype.setDebugEnabled = function (debugEnabled) {\r\n\tthis.settings.debug_enabled = debugEnabled;\r\n\tthis.callFlash(\"SetDebugEnabled\", [debugEnabled]);\r\n};\r\n\r\n// Public: setButtonImageURL loads a button image sprite\r\nSWFUpload.prototype.setButtonImageURL = function (buttonImageURL) {\r\n\tif (buttonImageURL == undefined) {\r\n\t\tbuttonImageURL = \"\";\r\n\t}\r\n\r\n\tthis.settings.button_image_url = buttonImageURL;\r\n\tthis.callFlash(\"SetButtonImageURL\", [buttonImageURL]);\r\n};\r\n\r\n// Public: setButtonDimensions resizes the Flash Movie and button\r\nSWFUpload.prototype.setButtonDimensions = function (width, height) {\r\n\tthis.settings.button_width = width;\r\n\tthis.settings.button_height = height;\r\n\r\n\tvar movie = this.getMovieElement();\r\n\tif (movie != undefined) {\r\n\t\tmovie.style.width = width + \"px\";\r\n\t\tmovie.style.height = height + \"px\";\r\n\t}\r\n\r\n\tthis.callFlash(\"SetButtonDimensions\", [width, height]);\r\n};\r\n// Public: setButtonText Changes the text overlaid on the button\r\nSWFUpload.prototype.setButtonText = function (html) {\r\n\tthis.settings.button_text = html;\r\n\tthis.callFlash(\"SetButtonText\", [html]);\r\n};\r\n// Public: setButtonTextPadding changes the top and left padding of the text overlay\r\nSWFUpload.prototype.setButtonTextPadding = function (left, top) {\r\n\tthis.settings.button_text_top_padding = top;\r\n\tthis.settings.button_text_left_padding = left;\r\n\tthis.callFlash(\"SetButtonTextPadding\", [left, top]);\r\n};\r\n\r\n// Public: setButtonTextStyle changes the CSS used to style the HTML/Text overlaid on the button\r\nSWFUpload.prototype.setButtonTextStyle = function (css) {\r\n\tthis.settings.button_text_style = css;\r\n\tthis.callFlash(\"SetButtonTextStyle\", [css]);\r\n};\r\n// Public: setButtonDisabled disables/enables the button\r\nSWFUpload.prototype.setButtonDisabled = function (isDisabled) {\r\n\tthis.settings.button_disabled = isDisabled;\r\n\tthis.callFlash(\"SetButtonDisabled\", [isDisabled]);\r\n};\r\n// Public: setButtonAction sets the action that occurs when the button is clicked\r\nSWFUpload.prototype.setButtonAction = function (buttonAction) {\r\n\tthis.settings.button_action = buttonAction;\r\n\tthis.callFlash(\"SetButtonAction\", [buttonAction]);\r\n};\r\n\r\n// Public: setButtonCursor changes the mouse cursor displayed when hovering over the button\r\nSWFUpload.prototype.setButtonCursor = function (cursor) {\r\n\tthis.settings.button_cursor = cursor;\r\n\tthis.callFlash(\"SetButtonCursor\", [cursor]);\r\n};\r\n\r\n/* *******************************\r\n\tFlash Event Interfaces\r\n\tThese functions are used by Flash to trigger the various\r\n\tevents.\r\n\r\n\tAll these functions a Private.\r\n\r\n\tBecause the ExternalInterface library is buggy the event calls\r\n\tare added to a queue and the queue then executed by a setTimeout.\r\n\tThis ensures that events are executed in a determinate order and that\r\n\tthe ExternalInterface bugs are avoided.\r\n******************************* */\r\n\r\nSWFUpload.prototype.queueEvent = function (handlerName, argumentArray) {\r\n\t// Warning: Don't call this.debug inside here or you'll create an infinite loop\r\n\r\n\tif (argumentArray == undefined) {\r\n\t\targumentArray = [];\r\n\t} else if (!(argumentArray instanceof Array)) {\r\n\t\targumentArray = [argumentArray];\r\n\t}\r\n\r\n\tvar self = this;\r\n\tif (typeof this.settings[handlerName] === \"function\") {\r\n\t\t// Queue the event\r\n\t\tthis.eventQueue.push(function () {\r\n\t\t\tthis.settings[handlerName].apply(this, argumentArray);\r\n\t\t});\r\n\r\n\t\t// Execute the next queued event\r\n\t\tsetTimeout(function () {\r\n\t\t\tself.executeNextEvent();\r\n\t\t}, 0);\r\n\r\n\t} else if (this.settings[handlerName] !== null) {\r\n\t\tthrow \"Event handler \" + handlerName + \" is unknown or is not a function\";\r\n\t}\r\n};\r\n\r\n// Private: Causes the next event in the queue to be executed.  Since events are queued using a setTimeout\r\n// we must queue them in order to garentee that they are executed in order.\r\nSWFUpload.prototype.executeNextEvent = function () {\r\n\t// Warning: Don't call this.debug inside here or you'll create an infinite loop\r\n\r\n\tvar  f = this.eventQueue ? this.eventQueue.shift() : null;\r\n\tif (typeof(f) === \"function\") {\r\n\t\tf.apply(this);\r\n\t}\r\n};\r\n\r\n// Private: unescapeFileParams is part of a workaround for a flash bug where objects passed through ExternalInterface cannot have\r\n// properties that contain characters that are not valid for JavaScript identifiers. To work around this\r\n// the Flash Component escapes the parameter names and we must unescape again before passing them along.\r\nSWFUpload.prototype.unescapeFilePostParams = function (file) {\r\n\tvar reg = /[$]([0-9a-f]{4})/i;\r\n\tvar unescapedPost = {};\r\n\tvar uk;\r\n\r\n\tif (file != undefined) {\r\n\t\tfor (var k in file.post) {\r\n\t\t\tif (file.post.hasOwnProperty(k)) {\r\n\t\t\t\tuk = k;\r\n\t\t\t\tvar match;\r\n\t\t\t\twhile ((match = reg.exec(uk)) !== null) {\r\n\t\t\t\t\tuk = uk.replace(match[0], String.fromCharCode(parseInt(\"0x\" + match[1], 16)));\r\n\t\t\t\t}\r\n\t\t\t\tunescapedPost[uk] = file.post[k];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfile.post = unescapedPost;\r\n\t}\r\n\r\n\treturn file;\r\n};\r\n\r\n// Private: Called by Flash to see if JS can call in to Flash (test if External Interface is working)\r\nSWFUpload.prototype.testExternalInterface = function () {\r\n\ttry {\r\n\t\treturn this.callFlash(\"TestExternalInterface\");\r\n\t} catch (ex) {\r\n\t\treturn false;\r\n\t}\r\n};\r\n\r\n// Private: This event is called by Flash when it has finished loading. Don't modify this.\r\n// Use the swfupload_loaded_handler event setting to execute custom code when SWFUpload has loaded.\r\nSWFUpload.prototype.flashReady = function () {\r\n\t// Check that the movie element is loaded correctly with its ExternalInterface methods defined\r\n\tvar movieElement = this.getMovieElement();\r\n\r\n\tif (!movieElement) {\r\n\t\tthis.debug(\"Flash called back ready but the flash movie can't be found.\");\r\n\t\treturn;\r\n\t}\r\n\r\n\tthis.cleanUp(movieElement);\r\n\r\n\tthis.queueEvent(\"swfupload_loaded_handler\");\r\n};\r\n\r\n// Private: removes Flash added fuctions to the DOM node to prevent memory leaks in IE.\r\n// This function is called by Flash each time the ExternalInterface functions are created.\r\nSWFUpload.prototype.cleanUp = function (movieElement) {\r\n\t// Pro-actively unhook all the Flash functions\r\n\ttry {\r\n\t\tif (this.movieElement && typeof(movieElement.CallFunction) === \"unknown\") { // We only want to do this in IE\r\n\t\t\tthis.debug(\"Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)\");\r\n\t\t\tfor (var key in movieElement) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tif (typeof(movieElement[key]) === \"function\") {\r\n\t\t\t\t\t\tmovieElement[key] = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t} catch (ex) {\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t} catch (ex1) {\r\n\r\n\t}\r\n\r\n\t// Fix Flashes own cleanup code so if the SWFMovie was removed from the page\r\n\t// it doesn't display errors.\r\n\twindow[\"__flash__removeCallback\"] = function (instance, name) {\r\n\t\ttry {\r\n\t\t\tif (instance) {\r\n\t\t\t\tinstance[name] = null;\r\n\t\t\t}\r\n\t\t} catch (flashEx) {\r\n\r\n\t\t}\r\n\t};\r\n\r\n};\r\n\r\n\r\n/* This is a chance to do something before the browse window opens */\r\nSWFUpload.prototype.fileDialogStart = function () {\r\n\tthis.queueEvent(\"file_dialog_start_handler\");\r\n};\r\n\r\n\r\n/* Called when a file is successfully added to the queue. */\r\nSWFUpload.prototype.fileQueued = function (file) {\r\n\tfile = this.unescapeFilePostParams(file);\r\n\tthis.queueEvent(\"file_queued_handler\", file);\r\n};\r\n\r\n\r\n/* Handle errors that occur when an attempt to queue a file fails. */\r\nSWFUpload.prototype.fileQueueError = function (file, errorCode, message) {\r\n\tfile = this.unescapeFilePostParams(file);\r\n\tthis.queueEvent(\"file_queue_error_handler\", [file, errorCode, message]);\r\n};\r\n\r\n/* Called after the file dialog has closed and the selected files have been queued.\r\n\tYou could call startUpload here if you want the queued files to begin uploading immediately. */\r\nSWFUpload.prototype.fileDialogComplete = function (numFilesSelected, numFilesQueued, numFilesInQueue) {\r\n\tthis.queueEvent(\"file_dialog_complete_handler\", [numFilesSelected, numFilesQueued, numFilesInQueue]);\r\n};\r\n\r\nSWFUpload.prototype.uploadStart = function (file) {\r\n\tfile = this.unescapeFilePostParams(file);\r\n\tthis.queueEvent(\"return_upload_start_handler\", file);\r\n};\r\n\r\nSWFUpload.prototype.returnUploadStart = function (file) {\r\n\tvar returnValue;\r\n\tif (typeof this.settings.upload_start_handler === \"function\") {\r\n\t\tfile = this.unescapeFilePostParams(file);\r\n\t\treturnValue = this.settings.upload_start_handler.call(this, file);\r\n\t} else if (this.settings.upload_start_handler != undefined) {\r\n\t\tthrow \"upload_start_handler must be a function\";\r\n\t}\r\n\r\n\t// Convert undefined to true so if nothing is returned from the upload_start_handler it is\r\n\t// interpretted as 'true'.\r\n\tif (returnValue === undefined) {\r\n\t\treturnValue = true;\r\n\t}\r\n\r\n\treturnValue = !!returnValue;\r\n\r\n\tthis.callFlash(\"ReturnUploadStart\", [returnValue]);\r\n};\r\n\r\n\r\n\r\nSWFUpload.prototype.uploadProgress = function (file, bytesComplete, bytesTotal) {\r\n\tfile = this.unescapeFilePostParams(file);\r\n\tthis.queueEvent(\"upload_progress_handler\", [file, bytesComplete, bytesTotal]);\r\n};\r\n\r\nSWFUpload.prototype.uploadError = function (file, errorCode, message) {\r\n\tfile = this.unescapeFilePostParams(file);\r\n\tthis.queueEvent(\"upload_error_handler\", [file, errorCode, message]);\r\n};\r\n\r\nSWFUpload.prototype.uploadSuccess = function (file, serverData, responseReceived) {\r\n\tfile = this.unescapeFilePostParams(file);\r\n\tthis.queueEvent(\"upload_success_handler\", [file, serverData, responseReceived]);\r\n};\r\n\r\nSWFUpload.prototype.uploadComplete = function (file) {\r\n\tfile = this.unescapeFilePostParams(file);\r\n\tthis.queueEvent(\"upload_complete_handler\", file);\r\n};\r\n\r\n/* Called by SWFUpload JavaScript and Flash functions when debug is enabled. By default it writes messages to the\r\n   internal debug console.  You can override this event and have messages written where you want. */\r\nSWFUpload.prototype.debug = function (message) {\r\n\tthis.queueEvent(\"debug_handler\", message);\r\n};\r\n\r\n\r\n/* **********************************\r\n\tDebug Console\r\n\tThe debug console is a self contained, in page location\r\n\tfor debug message to be sent.  The Debug Console adds\r\n\titself to the body if necessary.\r\n\r\n\tThe console is automatically scrolled as messages appear.\r\n\r\n\tIf you are using your own debug handler or when you deploy to production and\r\n\thave debug disabled you can remove these functions to reduce the file size\r\n\tand complexity.\r\n********************************** */\r\n\r\n// Private: debugMessage is the default debug_handler.  If you want to print debug messages\r\n// call the debug() function.  When overriding the function your own function should\r\n// check to see if the debug setting is true before outputting debug information.\r\nSWFUpload.prototype.debugMessage = function (message) {\r\n\tif (this.settings.debug) {\r\n\t\tvar exceptionMessage, exceptionValues = [];\r\n\r\n\t\t// Check for an exception object and print it nicely\r\n\t\tif (typeof message === \"object\" && typeof message.name === \"string\" && typeof message.message === \"string\") {\r\n\t\t\tfor (var key in message) {\r\n\t\t\t\tif (message.hasOwnProperty(key)) {\r\n\t\t\t\t\texceptionValues.push(key + \": \" + message[key]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\texceptionMessage = exceptionValues.join(\"\\n\") || \"\";\r\n\t\t\texceptionValues = exceptionMessage.split(\"\\n\");\r\n\t\t\texceptionMessage = \"EXCEPTION: \" + exceptionValues.join(\"\\nEXCEPTION: \");\r\n\t\t\tSWFUpload.Console.writeLine(exceptionMessage);\r\n\t\t} else {\r\n\t\t\tSWFUpload.Console.writeLine(message);\r\n\t\t}\r\n\t}\r\n};\r\n\r\nSWFUpload.Console = {};\r\nSWFUpload.Console.writeLine = function (message) {\r\n\tvar console, documentForm;\r\n\r\n\ttry {\r\n\t\tconsole = document.getElementById(\"SWFUpload_Console\");\r\n\r\n\t\tif (!console) {\r\n\t\t\tdocumentForm = document.createElement(\"form\");\r\n\t\t\tdocument.getElementsByTagName(\"body\")[0].appendChild(documentForm);\r\n\r\n\t\t\tconsole = document.createElement(\"textarea\");\r\n\t\t\tconsole.id = \"SWFUpload_Console\";\r\n\t\t\tconsole.style.fontFamily = \"monospace\";\r\n\t\t\tconsole.setAttribute(\"wrap\", \"off\");\r\n\t\t\tconsole.wrap = \"off\";\r\n\t\t\tconsole.style.overflow = \"auto\";\r\n\t\t\tconsole.style.width = \"700px\";\r\n\t\t\tconsole.style.height = \"350px\";\r\n\t\t\tconsole.style.margin = \"5px\";\r\n\t\t\tdocumentForm.appendChild(console);\r\n\t\t}\r\n\r\n\t\tconsole.value += message + \"\\n\";\r\n\r\n\t\tconsole.scrollTop = console.scrollHeight - console.clientHeight;\r\n\t} catch (ex) {\r\n\t\talert(\"Exception: \" + ex.name + \" Message: \" + ex.message);\r\n\t}\r\n};\r\n\r\n})();\r\n\r\n(function() {\r\n/*\r\n\tQueue Plug-in\r\n\r\n\tFeatures:\r\n\t\t*Adds a cancelQueue() method for cancelling the entire queue.\r\n\t\t*All queued files are uploaded when startUpload() is called.\r\n\t\t*If false is returned from uploadComplete then the queue upload is stopped.\r\n\t\t If false is not returned (strict comparison) then the queue upload is continued.\r\n\t\t*Adds a QueueComplete event that is fired when all the queued files have finished uploading.\r\n\t\t Set the event handler with the queue_complete_handler setting.\r\n\r\n\t*/\r\n\r\nif (typeof(SWFUpload) === \"function\") {\r\n\tSWFUpload.queue = {};\r\n\r\n\tSWFUpload.prototype.initSettings = (function (oldInitSettings) {\r\n\t\treturn function () {\r\n\t\t\tif (typeof(oldInitSettings) === \"function\") {\r\n\t\t\t\toldInitSettings.call(this);\r\n\t\t\t}\r\n\r\n\t\t\tthis.queueSettings = {};\r\n\r\n\t\t\tthis.queueSettings.queue_cancelled_flag = false;\r\n\t\t\tthis.queueSettings.queue_upload_count = 0;\r\n\r\n\t\t\tthis.queueSettings.user_upload_complete_handler = this.settings.upload_complete_handler;\r\n\t\t\tthis.queueSettings.user_upload_start_handler = this.settings.upload_start_handler;\r\n\t\t\tthis.settings.upload_complete_handler = SWFUpload.queue.uploadCompleteHandler;\r\n\t\t\tthis.settings.upload_start_handler = SWFUpload.queue.uploadStartHandler;\r\n\r\n\t\t\tthis.settings.queue_complete_handler = this.settings.queue_complete_handler || null;\r\n\t\t};\r\n\t})(SWFUpload.prototype.initSettings);\r\n\r\n\tSWFUpload.prototype.startUpload = function (fileID) {\r\n\t\tthis.queueSettings.queue_cancelled_flag = false;\r\n\t\tthis.callFlash(\"StartUpload\", [fileID]);\r\n\t};\r\n\r\n\tSWFUpload.prototype.cancelQueue = function () {\r\n\t\tthis.queueSettings.queue_cancelled_flag = true;\r\n\t\tthis.stopUpload();\r\n\r\n\t\tvar stats = this.getStats();\r\n\t\twhile (stats.files_queued > 0) {\r\n\t\t\tthis.cancelUpload();\r\n\t\t\tstats = this.getStats();\r\n\t\t}\r\n\t};\r\n\r\n\tSWFUpload.queue.uploadStartHandler = function (file) {\r\n\t\tvar returnValue;\r\n\t\tif (typeof(this.queueSettings.user_upload_start_handler) === \"function\") {\r\n\t\t\treturnValue = this.queueSettings.user_upload_start_handler.call(this, file);\r\n\t\t}\r\n\r\n\t\t// To prevent upload a real \"FALSE\" value must be returned, otherwise default to a real \"TRUE\" value.\r\n\t\treturnValue = (returnValue === false) ? false : true;\r\n\r\n\t\tthis.queueSettings.queue_cancelled_flag = !returnValue;\r\n\r\n\t\treturn returnValue;\r\n\t};\r\n\r\n\tSWFUpload.queue.uploadCompleteHandler = function (file) {\r\n\t\tvar user_upload_complete_handler = this.queueSettings.user_upload_complete_handler;\r\n\t\tvar continueUpload;\r\n\r\n\t\tif (file.filestatus === SWFUpload.FILE_STATUS.COMPLETE) {\r\n\t\t\tthis.queueSettings.queue_upload_count++;\r\n\t\t}\r\n\r\n\t\tif (typeof(user_upload_complete_handler) === \"function\") {\r\n\t\t\tcontinueUpload = (user_upload_complete_handler.call(this, file) === false) ? false : true;\r\n\t\t} else if (file.filestatus === SWFUpload.FILE_STATUS.QUEUED) {\r\n\t\t\t// If the file was stopped and re-queued don't restart the upload\r\n\t\t\tcontinueUpload = false;\r\n\t\t} else {\r\n\t\t\tcontinueUpload = true;\r\n\t\t}\r\n\r\n\t\tif (continueUpload) {\r\n\t\t\tvar stats = this.getStats();\r\n\t\t\tif (stats.files_queued > 0 && this.queueSettings.queue_cancelled_flag === false) {\r\n\t\t\t\tthis.startUpload();\r\n\t\t\t} else if (this.queueSettings.queue_cancelled_flag === false) {\r\n\t\t\t\tthis.queueEvent(\"queue_complete_handler\", [this.queueSettings.queue_upload_count]);\r\n\t\t\t\tthis.queueSettings.queue_upload_count = 0;\r\n\t\t\t} else {\r\n\t\t\t\tthis.queueSettings.queue_cancelled_flag = false;\r\n\t\t\t\tthis.queueSettings.queue_upload_count = 0;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}\r\n\r\n})();\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/pagebreak/pagebreak.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('pagebreak', function(K) {\r\n\tvar self = this;\r\n\tvar name = 'pagebreak';\r\n\tvar pagebreakHtml = K.undef(self.pagebreakHtml, '<hr style=\"page-break-after: always;\" class=\"ke-pagebreak\" />');\r\n\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar cmd = self.cmd, range = cmd.range;\r\n\t\tself.focus();\r\n\t\tvar tail = self.newlineTag == 'br' || K.WEBKIT ? '' : '<span id=\"__kindeditor_tail_tag__\"></span>';\r\n\t\tself.insertHtml(pagebreakHtml + tail);\r\n\t\tif (tail !== '') {\r\n\t\t\tvar p = K('#__kindeditor_tail_tag__', self.edit.doc);\r\n\t\t\trange.selectNodeContents(p[0]);\r\n\t\t\tp.removeAttr('id');\r\n\t\t\tcmd.select();\r\n\t\t}\r\n\t});\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/plainpaste/plainpaste.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('plainpaste', function(K) {\r\n\tvar self = this, name = 'plainpaste';\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar lang = self.lang(name + '.'),\r\n\t\t\thtml = '<div style=\"padding:10px 20px;\">' +\r\n\t\t\t\t'<div style=\"margin-bottom:10px;\">' + lang.comment + '</div>' +\r\n\t\t\t\t'<textarea class=\"ke-textarea\" style=\"width:408px;height:260px;\"></textarea>' +\r\n\t\t\t\t'</div>',\r\n\t\t\tdialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 450,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar html = textarea.val();\r\n\t\t\t\t\t\thtml = K.escape(html);\r\n\t\t\t\t\t\thtml = html.replace(/ {2}/g, ' &nbsp;');\r\n\t\t\t\t\t\tif (self.newlineTag == 'p') {\r\n\t\t\t\t\t\t\thtml = html.replace(/^/, '<p>').replace(/$/, '</p>').replace(/\\n/g, '</p><p>');\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\thtml = html.replace(/\\n/g, '<br />$&');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tself.insertHtml(html).hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\ttextarea = K('textarea', dialog.div);\r\n\t\ttextarea[0].focus();\r\n\t});\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/preview/preview.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('preview', function(K) {\r\n\tvar self = this, name = 'preview', undefined;\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar lang = self.lang(name + '.'),\r\n\t\t\thtml = '<div style=\"padding:10px 20px;\">' +\r\n\t\t\t\t'<iframe class=\"ke-textarea\" frameborder=\"0\" style=\"width:708px;height:400px;\"></iframe>' +\r\n\t\t\t\t'</div>',\r\n\t\t\tdialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 750,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html\r\n\t\t\t}),\r\n\t\t\tiframe = K('iframe', dialog.div),\r\n\t\t\tdoc = K.iframeDoc(iframe);\r\n\t\tdoc.open();\r\n\t\tdoc.write(self.fullHtml());\r\n\t\tdoc.close();\r\n\t\tK(doc.body).css('background-color', '#FFF');\r\n\t\tiframe[0].contentWindow.focus();\r\n\t});\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/quickformat/quickformat.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('quickformat', function(K) {\r\n\tvar self = this, name = 'quickformat',\r\n\t\tblockMap = K.toMap('blockquote,center,div,h1,h2,h3,h4,h5,h6,p');\r\n\tfunction getFirstChild(knode) {\r\n\t\tvar child = knode.first();\r\n\t\twhile (child && child.first()) {\r\n\t\t\tchild = child.first();\r\n\t\t}\r\n\t\treturn child;\r\n\t}\r\n\tself.clickToolbar(name, function() {\r\n\t\tself.focus();\r\n\t\tvar doc = self.edit.doc,\r\n\t\t\trange = self.cmd.range,\r\n\t\t\tchild = K(doc.body).first(), next,\r\n\t\t\tnodeList = [], subList = [],\r\n\t\t\tbookmark = range.createBookmark(true);\r\n\t\twhile(child) {\r\n\t\t\tnext = child.next();\r\n\t\t\tvar firstChild = getFirstChild(child);\r\n\t\t\tif (!firstChild || firstChild.name != 'img') {\r\n\t\t\t\tif (blockMap[child.name]) {\r\n\t\t\t\t\tchild.html(child.html().replace(/^(\\s|&nbsp;|　)+/ig, ''));\r\n\t\t\t\t\tchild.css('text-indent', '2em');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsubList.push(child);\r\n\t\t\t\t}\r\n\t\t\t\tif (!next || (blockMap[next.name] || blockMap[child.name] && !blockMap[next.name])) {\r\n\t\t\t\t\tif (subList.length > 0) {\r\n\t\t\t\t\t\tnodeList.push(subList);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsubList = [];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tchild = next;\r\n\t\t}\r\n\t\tK.each(nodeList, function(i, subList) {\r\n\t\t\tvar wrapper = K('<p style=\"text-indent:2em;\"></p>', doc);\r\n\t\t\tsubList[0].before(wrapper);\r\n\t\t\tK.each(subList, function(i, knode) {\r\n\t\t\t\twrapper.append(knode);\r\n\t\t\t});\r\n\t\t});\r\n\t\trange.moveToBookmark(bookmark);\r\n\t\tself.addBookmark();\r\n\t});\r\n});\r\n\r\n/**\r\n--------------------------\r\nabcd<br />\r\n1234<br />\r\n\r\nto\r\n\r\n<p style=\"text-indent:2em;\">\r\n\tabcd<br />\r\n\t1234<br />\r\n</p>\r\n\r\n--------------------------\r\n\r\n&nbsp; abcd<img>1233\r\n<p>1234</p>\r\n\r\nto\r\n\r\n<p style=\"text-indent:2em;\">abcd<img>1233</p>\r\n<p style=\"text-indent:2em;\">1234</p>\r\n\r\n--------------------------\r\n*/"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/table/table.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('table', function(K) {\r\n\tvar self = this, name = 'table', lang = self.lang(name + '.'), zeroborder = 'ke-zeroborder';\r\n\t// 设置颜色\r\n\tfunction _setColor(box, color) {\r\n\t\tcolor = color.toUpperCase();\r\n\t\tbox.css('background-color', color);\r\n\t\tbox.css('color', color === '#000000' ? '#FFFFFF' : '#000000');\r\n\t\tbox.html(color);\r\n\t}\r\n\t// 初始化取色器\r\n\tvar pickerList = [];\r\n\tfunction _initColorPicker(dialogDiv, colorBox) {\r\n\t\tcolorBox.bind('click,mousedown', function(e){\r\n\t\t\te.stopPropagation();\r\n\t\t});\r\n\t\tfunction removePicker() {\r\n\t\t\tK.each(pickerList, function() {\r\n\t\t\t\tthis.remove();\r\n\t\t\t});\r\n\t\t\tpickerList = [];\r\n\t\t\tK(document).unbind('click,mousedown', removePicker);\r\n\t\t\tdialogDiv.unbind('click,mousedown', removePicker);\r\n\t\t}\r\n\t\tcolorBox.click(function(e) {\r\n\t\t\tremovePicker();\r\n\t\t\tvar box = K(this),\r\n\t\t\t\tpos = box.pos();\r\n\t\t\tvar picker = K.colorpicker({\r\n\t\t\t\tx : pos.x,\r\n\t\t\t\ty : pos.y + box.height(),\r\n\t\t\t\tz : 811214,\r\n\t\t\t\tselectedColor : K(this).html(),\r\n\t\t\t\tcolors : self.colorTable,\r\n\t\t\t\tnoColor : self.lang('noColor'),\r\n\t\t\t\tshadowMode : self.shadowMode,\r\n\t\t\t\tclick : function(color) {\r\n\t\t\t\t\t_setColor(box, color);\r\n\t\t\t\t\tremovePicker();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tpickerList.push(picker);\r\n\t\t\tK(document).bind('click,mousedown', removePicker);\r\n\t\t\tdialogDiv.bind('click,mousedown', removePicker);\r\n\t\t});\r\n\t}\r\n\t// 取得下一行cell的index\r\n\tfunction _getCellIndex(table, row, cell) {\r\n\t\tvar rowSpanCount = 0;\r\n\t\tfor (var i = 0, len = row.cells.length; i < len; i++) {\r\n\t\t\tif (row.cells[i] == cell) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\trowSpanCount += row.cells[i].rowSpan - 1;\r\n\t\t}\r\n\t\treturn cell.cellIndex - rowSpanCount;\r\n\t}\r\n\tself.plugin.table = {\r\n\t\t//insert or modify table\r\n\t\tprop : function(isInsert) {\r\n\t\t\tvar html = [\r\n\t\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t\t//rows, cols\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keRows\" style=\"width:90px;\">' + lang.cells + '</label>',\r\n\t\t\t\tlang.rows + ' <input type=\"text\" id=\"keRows\" class=\"ke-input-text ke-input-number\" name=\"rows\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\tlang.cols + ' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"cols\" value=\"\" maxlength=\"4\" />',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//width, height\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keWidth\" style=\"width:90px;\">' + lang.size + '</label>',\r\n\t\t\t\tlang.width + ' <input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\t'<select name=\"widthType\">',\r\n\t\t\t\t'<option value=\"%\">' + lang.percent + '</option>',\r\n\t\t\t\t'<option value=\"px\">' + lang.px + '</option>',\r\n\t\t\t\t'</select> &nbsp; ',\r\n\t\t\t\tlang.height + ' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\t'<select name=\"heightType\">',\r\n\t\t\t\t'<option value=\"%\">' + lang.percent + '</option>',\r\n\t\t\t\t'<option value=\"px\">' + lang.px + '</option>',\r\n\t\t\t\t'</select>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//space, padding\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"kePadding\" style=\"width:90px;\">' + lang.space + '</label>',\r\n\t\t\t\tlang.padding + ' <input type=\"text\" id=\"kePadding\" class=\"ke-input-text ke-input-number\" name=\"padding\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\tlang.spacing + ' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"spacing\" value=\"\" maxlength=\"4\" />',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//align\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keAlign\" style=\"width:90px;\">' + lang.align + '</label>',\r\n\t\t\t\t'<select id=\"keAlign\" name=\"align\">',\r\n\t\t\t\t'<option value=\"\">' + lang.alignDefault + '</option>',\r\n\t\t\t\t'<option value=\"left\">' + lang.alignLeft + '</option>',\r\n\t\t\t\t'<option value=\"center\">' + lang.alignCenter + '</option>',\r\n\t\t\t\t'<option value=\"right\">' + lang.alignRight + '</option>',\r\n\t\t\t\t'</select>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//border\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keBorder\" style=\"width:90px;\">' + lang.border + '</label>',\r\n\t\t\t\tlang.borderWidth + ' <input type=\"text\" id=\"keBorder\" class=\"ke-input-text ke-input-number\" name=\"border\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\tlang.borderColor + ' <span class=\"ke-inline-block ke-input-color\"></span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//background color\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keBgColor\" style=\"width:90px;\">' + lang.backgroundColor + '</label>',\r\n\t\t\t\t'<span class=\"ke-inline-block ke-input-color\"></span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'</div>'\r\n\t\t\t].join('');\r\n\t\t\tvar bookmark = self.cmd.range.createBookmark();\r\n\t\t\tvar dialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 500,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tbeforeRemove : function() {\r\n\t\t\t\t\tcolorBox.unbind();\r\n\t\t\t\t},\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar rows = rowsBox.val(),\r\n\t\t\t\t\t\t\tcols = colsBox.val(),\r\n\t\t\t\t\t\t\twidth = widthBox.val(),\r\n\t\t\t\t\t\t\theight = heightBox.val(),\r\n\t\t\t\t\t\t\twidthType = widthTypeBox.val(),\r\n\t\t\t\t\t\t\theightType = heightTypeBox.val(),\r\n\t\t\t\t\t\t\tpadding = paddingBox.val(),\r\n\t\t\t\t\t\t\tspacing = spacingBox.val(),\r\n\t\t\t\t\t\t\talign = alignBox.val(),\r\n\t\t\t\t\t\t\tborder = borderBox.val(),\r\n\t\t\t\t\t\t\tborderColor = K(colorBox[0]).html() || '',\r\n\t\t\t\t\t\t\tbgColor = K(colorBox[1]).html() || '';\r\n\t\t\t\t\t\tif (rows == 0 || !/^\\d+$/.test(rows)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidRows'));\r\n\t\t\t\t\t\t\trowsBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (cols == 0 || !/^\\d+$/.test(cols)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidRows'));\r\n\t\t\t\t\t\t\tcolsBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(width)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidWidth'));\r\n\t\t\t\t\t\t\twidthBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(height)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidHeight'));\r\n\t\t\t\t\t\t\theightBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(padding)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidPadding'));\r\n\t\t\t\t\t\t\tpaddingBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(spacing)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidSpacing'));\r\n\t\t\t\t\t\t\tspacingBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(border)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidBorder'));\r\n\t\t\t\t\t\t\tborderBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//modify table\r\n\t\t\t\t\t\tif (table) {\r\n\t\t\t\t\t\t\tif (width !== '') {\r\n\t\t\t\t\t\t\t\ttable.width(width + widthType);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.css('width', '');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (table[0].width !== undefined) {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('width');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (height !== '') {\r\n\t\t\t\t\t\t\t\ttable.height(height + heightType);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.css('height', '');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (table[0].height !== undefined) {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('height');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttable.css('background-color', bgColor);\r\n\t\t\t\t\t\t\tif (table[0].bgColor !== undefined) {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('bgColor');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (padding !== '') {\r\n\t\t\t\t\t\t\t\ttable[0].cellPadding = padding;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('cellPadding');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (spacing !== '') {\r\n\t\t\t\t\t\t\t\ttable[0].cellSpacing = spacing;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('cellSpacing');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (align !== '') {\r\n\t\t\t\t\t\t\t\ttable[0].align = align;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('align');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (border !== '') {\r\n\t\t\t\t\t\t\t\ttable.attr('border', border);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('border');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (border === '' || border === '0') {\r\n\t\t\t\t\t\t\t\ttable.addClass(zeroborder);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeClass(zeroborder);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (borderColor !== '') {\r\n\t\t\t\t\t\t\t\ttable.attr('borderColor', borderColor);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('borderColor');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tself.hideDialog().focus();\r\n\t\t\t\t\t\t\tself.cmd.range.moveToBookmark(bookmark);\r\n\t\t\t\t\t\t\tself.cmd.select();\r\n\t\t\t\t\t\t\tself.addBookmark();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//insert new table\r\n\t\t\t\t\t\tvar style = '';\r\n\t\t\t\t\t\tif (width !== '') {\r\n\t\t\t\t\t\t\tstyle += 'width:' + width + widthType + ';';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (height !== '') {\r\n\t\t\t\t\t\t\tstyle += 'height:' + height + heightType + ';';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (bgColor !== '') {\r\n\t\t\t\t\t\t\tstyle += 'background-color:' + bgColor + ';';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvar html = '<table';\r\n\t\t\t\t\t\tif (style !== '') {\r\n\t\t\t\t\t\t\thtml += ' style=\"' + style + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (padding !== '') {\r\n\t\t\t\t\t\t\thtml += ' cellpadding=\"' + padding + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (spacing !== '') {\r\n\t\t\t\t\t\t\thtml += ' cellspacing=\"' + spacing + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (align !== '') {\r\n\t\t\t\t\t\t\thtml += ' align=\"' + align + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (border !== '') {\r\n\t\t\t\t\t\t\thtml += ' border=\"' + border + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (border === '' || border === '0') {\r\n\t\t\t\t\t\t\thtml += ' class=\"' + zeroborder + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (borderColor !== '') {\r\n\t\t\t\t\t\t\thtml += ' bordercolor=\"' + borderColor + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\thtml += '>';\r\n\t\t\t\t\t\tfor (var i = 0; i < rows; i++) {\r\n\t\t\t\t\t\t\thtml += '<tr>';\r\n\t\t\t\t\t\t\tfor (var j = 0; j < cols; j++) {\r\n\t\t\t\t\t\t\t\thtml += '<td>' + (K.IE ? '&nbsp;' : '<br />') + '</td>';\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\thtml += '</tr>';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\thtml += '</table>';\r\n\t\t\t\t\t\tif (!K.IE) {\r\n\t\t\t\t\t\t\thtml += '<br />';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tself.insertHtml(html);\r\n\t\t\t\t\t\tself.select().hideDialog().focus();\r\n\t\t\t\t\t\tself.addBookmark();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdiv = dialog.div,\r\n\t\t\trowsBox = K('[name=\"rows\"]', div).val(3),\r\n\t\t\tcolsBox = K('[name=\"cols\"]', div).val(2),\r\n\t\t\twidthBox = K('[name=\"width\"]', div).val(100),\r\n\t\t\theightBox = K('[name=\"height\"]', div),\r\n\t\t\twidthTypeBox = K('[name=\"widthType\"]', div),\r\n\t\t\theightTypeBox = K('[name=\"heightType\"]', div),\r\n\t\t\tpaddingBox = K('[name=\"padding\"]', div).val(2),\r\n\t\t\tspacingBox = K('[name=\"spacing\"]', div).val(0),\r\n\t\t\talignBox = K('[name=\"align\"]', div),\r\n\t\t\tborderBox = K('[name=\"border\"]', div).val(1),\r\n\t\t\tcolorBox = K('.ke-input-color', div);\r\n\t\t\t_initColorPicker(div, colorBox.eq(0));\r\n\t\t\t_initColorPicker(div, colorBox.eq(1));\r\n\t\t\t_setColor(colorBox.eq(0), '#000000');\r\n\t\t\t_setColor(colorBox.eq(1), '');\r\n\t\t\t// foucs and select\r\n\t\t\trowsBox[0].focus();\r\n\t\t\trowsBox[0].select();\r\n\t\t\tvar table;\r\n\t\t\tif (isInsert) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t//get selected table node\r\n\t\t\ttable = self.plugin.getSelectedTable();\r\n\t\t\tif (table) {\r\n\t\t\t\trowsBox.val(table[0].rows.length);\r\n\t\t\t\tcolsBox.val(table[0].rows.length > 0 ? table[0].rows[0].cells.length : 0);\r\n\t\t\t\trowsBox.attr('disabled', true);\r\n\t\t\t\tcolsBox.attr('disabled', true);\r\n\t\t\t\tvar match,\r\n\t\t\t\t\ttableWidth = table[0].style.width || table[0].width,\r\n\t\t\t\t\ttableHeight = table[0].style.height || table[0].height;\r\n\t\t\t\tif (tableWidth !== undefined && (match = /^(\\d+)((?:px|%)*)$/.exec(tableWidth))) {\r\n\t\t\t\t\twidthBox.val(match[1]);\r\n\t\t\t\t\twidthTypeBox.val(match[2]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\twidthBox.val('');\r\n\t\t\t\t}\r\n\t\t\t\tif (tableHeight !== undefined && (match = /^(\\d+)((?:px|%)*)$/.exec(tableHeight))) {\r\n\t\t\t\t\theightBox.val(match[1]);\r\n\t\t\t\t\theightTypeBox.val(match[2]);\r\n\t\t\t\t}\r\n\t\t\t\tpaddingBox.val(table[0].cellPadding || '');\r\n\t\t\t\tspacingBox.val(table[0].cellSpacing || '');\r\n\t\t\t\talignBox.val(table[0].align || '');\r\n\t\t\t\tborderBox.val(table[0].border === undefined ? '' : table[0].border);\r\n\t\t\t\t_setColor(colorBox.eq(0), K.toHex(table.attr('borderColor') || ''));\r\n\t\t\t\t_setColor(colorBox.eq(1), K.toHex(table[0].style.backgroundColor || table[0].bgColor || ''));\r\n\t\t\t\twidthBox[0].focus();\r\n\t\t\t\twidthBox[0].select();\r\n\t\t\t}\r\n\t\t},\r\n\t\t//modify cell\r\n\t\tcellprop : function() {\r\n\t\t\tvar html = [\r\n\t\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t\t//width, height\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keWidth\" style=\"width:90px;\">' + lang.size + '</label>',\r\n\t\t\t\tlang.width + ' <input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\t'<select name=\"widthType\">',\r\n\t\t\t\t'<option value=\"%\">' + lang.percent + '</option>',\r\n\t\t\t\t'<option value=\"px\">' + lang.px + '</option>',\r\n\t\t\t\t'</select> &nbsp; ',\r\n\t\t\t\tlang.height + ' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\t'<select name=\"heightType\">',\r\n\t\t\t\t'<option value=\"%\">' + lang.percent + '</option>',\r\n\t\t\t\t'<option value=\"px\">' + lang.px + '</option>',\r\n\t\t\t\t'</select>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//align\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keAlign\" style=\"width:90px;\">' + lang.align + '</label>',\r\n\t\t\t\tlang.textAlign + ' <select id=\"keAlign\" name=\"textAlign\">',\r\n\t\t\t\t'<option value=\"\">' + lang.alignDefault + '</option>',\r\n\t\t\t\t'<option value=\"left\">' + lang.alignLeft + '</option>',\r\n\t\t\t\t'<option value=\"center\">' + lang.alignCenter + '</option>',\r\n\t\t\t\t'<option value=\"right\">' + lang.alignRight + '</option>',\r\n\t\t\t\t'</select> ',\r\n\t\t\t\tlang.verticalAlign + ' <select name=\"verticalAlign\">',\r\n\t\t\t\t'<option value=\"\">' + lang.alignDefault + '</option>',\r\n\t\t\t\t'<option value=\"top\">' + lang.alignTop + '</option>',\r\n\t\t\t\t'<option value=\"middle\">' + lang.alignMiddle + '</option>',\r\n\t\t\t\t'<option value=\"bottom\">' + lang.alignBottom + '</option>',\r\n\t\t\t\t'<option value=\"baseline\">' + lang.alignBaseline + '</option>',\r\n\t\t\t\t'</select>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//border\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keBorder\" style=\"width:90px;\">' + lang.border + '</label>',\r\n\t\t\t\tlang.borderWidth + ' <input type=\"text\" id=\"keBorder\" class=\"ke-input-text ke-input-number\" name=\"border\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\tlang.borderColor + ' <span class=\"ke-inline-block ke-input-color\"></span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t//background color\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keBgColor\" style=\"width:90px;\">' + lang.backgroundColor + '</label>',\r\n\t\t\t\t'<span class=\"ke-inline-block ke-input-color\"></span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'</div>'\r\n\t\t\t].join('');\r\n\t\t\tvar bookmark = self.cmd.range.createBookmark();\r\n\t\t\tvar dialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 500,\r\n\t\t\t\ttitle : self.lang('tablecell'),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tbeforeRemove : function() {\r\n\t\t\t\t\tcolorBox.unbind();\r\n\t\t\t\t},\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar width = widthBox.val(),\r\n\t\t\t\t\t\t\theight = heightBox.val(),\r\n\t\t\t\t\t\t\twidthType = widthTypeBox.val(),\r\n\t\t\t\t\t\t\theightType = heightTypeBox.val(),\r\n\t\t\t\t\t\t\tpadding = paddingBox.val(),\r\n\t\t\t\t\t\t\tspacing = spacingBox.val(),\r\n\t\t\t\t\t\t\ttextAlign = textAlignBox.val(),\r\n\t\t\t\t\t\t\tverticalAlign = verticalAlignBox.val(),\r\n\t\t\t\t\t\t\tborder = borderBox.val(),\r\n\t\t\t\t\t\t\tborderColor = K(colorBox[0]).html() || '',\r\n\t\t\t\t\t\t\tbgColor = K(colorBox[1]).html() || '';\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(width)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidWidth'));\r\n\t\t\t\t\t\t\twidthBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(height)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidHeight'));\r\n\t\t\t\t\t\t\theightBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(border)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidBorder'));\r\n\t\t\t\t\t\t\tborderBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcell.css({\r\n\t\t\t\t\t\t\twidth : width !== '' ? (width + widthType) : '',\r\n\t\t\t\t\t\t\theight : height !== '' ? (height + heightType) : '',\r\n\t\t\t\t\t\t\t'background-color' : bgColor,\r\n\t\t\t\t\t\t\t'text-align' : textAlign,\r\n\t\t\t\t\t\t\t'vertical-align' : verticalAlign,\r\n\t\t\t\t\t\t\t'border-width' : border,\r\n\t\t\t\t\t\t\t'border-style' : border !== '' ? 'solid' : '',\r\n\t\t\t\t\t\t\t'border-color' : borderColor\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tself.hideDialog().focus();\r\n\t\t\t\t\t\tself.cmd.range.moveToBookmark(bookmark);\r\n\t\t\t\t\t\tself.cmd.select();\r\n\t\t\t\t\t\tself.addBookmark();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdiv = dialog.div,\r\n\t\t\twidthBox = K('[name=\"width\"]', div).val(100),\r\n\t\t\theightBox = K('[name=\"height\"]', div),\r\n\t\t\twidthTypeBox = K('[name=\"widthType\"]', div),\r\n\t\t\theightTypeBox = K('[name=\"heightType\"]', div),\r\n\t\t\tpaddingBox = K('[name=\"padding\"]', div).val(2),\r\n\t\t\tspacingBox = K('[name=\"spacing\"]', div).val(0),\r\n\t\t\ttextAlignBox = K('[name=\"textAlign\"]', div),\r\n\t\t\tverticalAlignBox = K('[name=\"verticalAlign\"]', div),\r\n\t\t\tborderBox = K('[name=\"border\"]', div).val(1),\r\n\t\t\tcolorBox = K('.ke-input-color', div);\r\n\t\t\t_initColorPicker(div, colorBox.eq(0));\r\n\t\t\t_initColorPicker(div, colorBox.eq(1));\r\n\t\t\t_setColor(colorBox.eq(0), '#000000');\r\n\t\t\t_setColor(colorBox.eq(1), '');\r\n\t\t\t// foucs and select\r\n\t\t\twidthBox[0].focus();\r\n\t\t\twidthBox[0].select();\r\n\t\t\t// get selected cell\r\n\t\t\tvar cell = self.plugin.getSelectedCell();\r\n\t\t\tvar match,\r\n\t\t\t\tcellWidth = cell[0].style.width || cell[0].width || '',\r\n\t\t\t\tcellHeight = cell[0].style.height || cell[0].height || '';\r\n\t\t\tif ((match = /^(\\d+)((?:px|%)*)$/.exec(cellWidth))) {\r\n\t\t\t\twidthBox.val(match[1]);\r\n\t\t\t\twidthTypeBox.val(match[2]);\r\n\t\t\t} else {\r\n\t\t\t\twidthBox.val('');\r\n\t\t\t}\r\n\t\t\tif ((match = /^(\\d+)((?:px|%)*)$/.exec(cellHeight))) {\r\n\t\t\t\theightBox.val(match[1]);\r\n\t\t\t\theightTypeBox.val(match[2]);\r\n\t\t\t}\r\n\t\t\ttextAlignBox.val(cell[0].style.textAlign || '');\r\n\t\t\tverticalAlignBox.val(cell[0].style.verticalAlign || '');\r\n\t\t\tvar border = cell[0].style.borderWidth || '';\r\n\t\t\tif (border) {\r\n\t\t\t\tborder = parseInt(border);\r\n\t\t\t}\r\n\t\t\tborderBox.val(border);\r\n\t\t\t_setColor(colorBox.eq(0), K.toHex(cell[0].style.borderColor || ''));\r\n\t\t\t_setColor(colorBox.eq(1), K.toHex(cell[0].style.backgroundColor || ''));\r\n\t\t\twidthBox[0].focus();\r\n\t\t\twidthBox[0].select();\r\n\t\t},\r\n\t\tinsert : function() {\r\n\t\t\tthis.prop(true);\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable();\r\n\t\t\tself.cmd.range.setStartBefore(table[0]).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\ttable.remove();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\tcolinsert : function(offset) {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\tindex = cell.cellIndex + offset;\r\n\t\t\t// 取得第一行的index\r\n\t\t\tindex += table.rows[0].cells.length - row.cells.length;\r\n\r\n\t\t\tfor (var i = 0, len = table.rows.length; i < len; i++) {\r\n\t\t\t\tvar newRow = table.rows[i],\r\n\t\t\t\t\tnewCell = newRow.insertCell(index);\r\n\t\t\t\tnewCell.innerHTML = K.IE ? '' : '<br />';\r\n\t\t\t\t// 调整下一行的单元格index\r\n\t\t\t\tindex = _getCellIndex(table, newRow, newCell);\r\n\t\t\t}\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\tcolinsertleft : function() {\r\n\t\t\tthis.colinsert(0);\r\n\t\t},\r\n\t\tcolinsertright : function() {\r\n\t\t\tthis.colinsert(1);\r\n\t\t},\r\n\t\trowinsert : function(offset) {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0];\r\n\t\t\tvar rowIndex = row.rowIndex;\r\n\t\t\tif (offset === 1) {\r\n\t\t\t\trowIndex = row.rowIndex + (cell.rowSpan - 1) + offset;\r\n\t\t\t}\r\n\t\t\tvar newRow = table.insertRow(rowIndex);\r\n\r\n\t\t\tfor (var i = 0, len = row.cells.length; i < len; i++) {\r\n\t\t\t\t// 调整cell个数\r\n\t\t\t\tif (row.cells[i].rowSpan > 1) {\r\n\t\t\t\t\tlen -= row.cells[i].rowSpan - 1;\r\n\t\t\t\t}\r\n\t\t\t\tvar newCell = newRow.insertCell(i);\r\n\t\t\t\t// copy colspan\r\n\t\t\t\tif (offset === 1 && row.cells[i].colSpan > 1) {\r\n\t\t\t\t\tnewCell.colSpan = row.cells[i].colSpan;\r\n\t\t\t\t}\r\n\t\t\t\tnewCell.innerHTML = K.IE ? '' : '<br />';\r\n\t\t\t}\r\n\t\t\t// 调整rowspan\r\n\t\t\tfor (var j = rowIndex; j >= 0; j--) {\r\n\t\t\t\tvar cells = table.rows[j].cells;\r\n\t\t\t\tif (cells.length > i) {\r\n\t\t\t\t\tfor (var k = cell.cellIndex; k >= 0; k--) {\r\n\t\t\t\t\t\tif (cells[k].rowSpan > 1) {\r\n\t\t\t\t\t\t\tcells[k].rowSpan += 1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\trowinsertabove : function() {\r\n\t\t\tthis.rowinsert(0);\r\n\t\t},\r\n\t\trowinsertbelow : function() {\r\n\t\t\tthis.rowinsert(1);\r\n\t\t},\r\n\t\trowmerge : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\trowIndex = row.rowIndex, // 当前行的index\r\n\t\t\t\tnextRowIndex = rowIndex + cell.rowSpan, // 下一行的index\r\n\t\t\t\tnextRow = table.rows[nextRowIndex]; // 下一行\r\n\t\t\t// 最后一行不能合并\r\n\t\t\tif (table.rows.length <= nextRowIndex) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar cellIndex = cell.cellIndex; // 下一行单元格的index\r\n\t\t\tif (nextRow.cells.length <= cellIndex) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar nextCell = nextRow.cells[cellIndex]; // 下一行单元格\r\n\t\t\t// 上下行的colspan不一致时不能合并\r\n\t\t\tif (cell.colSpan !== nextCell.colSpan) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tcell.rowSpan += nextCell.rowSpan;\r\n\t\t\tnextRow.deleteCell(cellIndex);\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\tcolmerge : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\trowIndex = row.rowIndex, // 当前行的index\r\n\t\t\t\tcellIndex = cell.cellIndex,\r\n\t\t\t\tnextCellIndex = cellIndex + 1;\r\n\t\t\t// 最后一列不能合并\r\n\t\t\tif (row.cells.length <= nextCellIndex) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar nextCell = row.cells[nextCellIndex];\r\n\t\t\t// 左右列的rowspan不一致时不能合并\r\n\t\t\tif (cell.rowSpan !== nextCell.rowSpan) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tcell.colSpan += nextCell.colSpan;\r\n\t\t\trow.deleteCell(nextCellIndex);\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\trowsplit : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\trowIndex = row.rowIndex;\r\n\t\t\t// 不是可分割单元格\r\n\t\t\tif (cell.rowSpan === 1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar cellIndex = _getCellIndex(table, row, cell);\r\n\t\t\tfor (var i = 1, len = cell.rowSpan; i < len; i++) {\r\n\t\t\t\tvar newRow = table.rows[rowIndex + i],\r\n\t\t\t\t\tnewCell = newRow.insertCell(cellIndex);\r\n\t\t\t\tif (cell.colSpan > 1) {\r\n\t\t\t\t\tnewCell.colSpan = cell.colSpan;\r\n\t\t\t\t}\r\n\t\t\t\tnewCell.innerHTML = K.IE ? '' : '<br />';\r\n\t\t\t\t// 调整下一行的单元格index\r\n\t\t\t\tcellIndex = _getCellIndex(table, newRow, newCell);\r\n\t\t\t}\r\n\t\t\tK(cell).removeAttr('rowSpan');\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\tcolsplit : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\tcellIndex = cell.cellIndex;\r\n\t\t\t// 不是可分割单元格\r\n\t\t\tif (cell.colSpan === 1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tfor (var i = 1, len = cell.colSpan; i < len; i++) {\r\n\t\t\t\tvar newCell = row.insertCell(cellIndex + i);\r\n\t\t\t\tif (cell.rowSpan > 1) {\r\n\t\t\t\t\tnewCell.rowSpan = cell.rowSpan;\r\n\t\t\t\t}\r\n\t\t\t\tnewCell.innerHTML = K.IE ? '' : '<br />';\r\n\t\t\t}\r\n\t\t\tK(cell).removeAttr('colSpan');\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\tcoldelete : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\tindex = cell.cellIndex;\r\n\t\t\tfor (var i = 0, len = table.rows.length; i < len; i++) {\r\n\t\t\t\tvar newRow = table.rows[i],\r\n\t\t\t\t\tnewCell = newRow.cells[index];\r\n\t\t\t\tif (newCell.colSpan > 1) {\r\n\t\t\t\t\tnewCell.colSpan -= 1;\r\n\t\t\t\t\tif (newCell.colSpan === 1) {\r\n\t\t\t\t\t\tK(newCell).removeAttr('colSpan');\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewRow.deleteCell(index);\r\n\t\t\t\t}\r\n\t\t\t\t// 跳过不需要删除的行\r\n\t\t\t\tif (newCell.rowSpan > 1) {\r\n\t\t\t\t\ti += newCell.rowSpan - 1;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (row.cells.length === 0) {\r\n\t\t\t\tself.cmd.range.setStartBefore(table).collapse(true);\r\n\t\t\t\tself.cmd.select();\r\n\t\t\t\tK(table).remove();\r\n\t\t\t} else {\r\n\t\t\t\tself.cmd.selection(true);\r\n\t\t\t}\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\trowdelete : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\trowIndex = row.rowIndex;\r\n\t\t\t// 从下到上删除\r\n\t\t\tfor (var i = cell.rowSpan - 1; i >= 0; i--) {\r\n\t\t\t\ttable.deleteRow(rowIndex + i);\r\n\t\t\t}\r\n\t\t\tif (table.rows.length === 0) {\r\n\t\t\t\tself.cmd.range.setStartBefore(table).collapse(true);\r\n\t\t\t\tself.cmd.select();\r\n\t\t\t\tK(table).remove();\r\n\t\t\t} else {\r\n\t\t\t\tself.cmd.selection(true);\r\n\t\t\t}\r\n\t\t\tself.addBookmark();\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.table.prop);\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/template/html/1.html",
    "content": "<!doctype html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"utf-8\" />\r\n</head>\r\n<body>\r\n\t<h3>\r\n\t\t<img align=\"left\" height=\"100\" style=\"margin-right: 10px\" width=\"100\" />在此处输入标题\r\n\t</h3>\r\n\t<p>\r\n\t\t在此处输入内容\r\n\t</p>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/template/html/2.html",
    "content": "<!doctype html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"utf-8\" />\r\n</head>\r\n<body>\r\n\t<h3>\r\n\t\t标题\r\n\t</h3>\r\n\t<table style=\"width:100%;\" cellpadding=\"2\" cellspacing=\"0\" border=\"1\">\r\n\t\t<tbody>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>\r\n\t\t\t\t\t<h3>标题1</h3>\r\n\t\t\t\t</td>\r\n\t\t\t\t<td>\r\n\t\t\t\t\t<h3>标题1</h3>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>\r\n\t\t\t\t\t内容1\r\n\t\t\t\t</td>\r\n\t\t\t\t<td>\r\n\t\t\t\t\t内容2\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>\r\n\t\t\t\t\t内容3\r\n\t\t\t\t</td>\r\n\t\t\t\t<td>\r\n\t\t\t\t\t内容4\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</tbody>\r\n\t</table>\r\n\t<p>\r\n\t\t表格说明\r\n\t</p>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/template/html/3.html",
    "content": "<!doctype html>\r\n<html>\r\n<head>\r\n\t<meta charset=\"utf-8\" />\r\n</head>\r\n<body>\r\n\t<p>\r\n\t\t在此处输入内容\r\n\t</p>\r\n\t<ol>\r\n\t\t<li>\r\n\t\t\t描述1\r\n\t\t</li>\r\n\t\t<li>\r\n\t\t\t描述2\r\n\t\t</li>\r\n\t\t<li>\r\n\t\t\t描述3\r\n\t\t</li>\r\n\t</ol>\r\n\t<p>\r\n\t\t在此处输入内容\r\n\t</p>\r\n\t<ul>\r\n\t\t<li>\r\n\t\t\t描述1\r\n\t\t</li>\r\n\t\t<li>\r\n\t\t\t描述2\r\n\t\t</li>\r\n\t\t<li>\r\n\t\t\t描述3\r\n\t\t</li>\r\n\t</ul>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/template/template.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('template', function(K) {\r\n\tvar self = this, name = 'template', lang = self.lang(name + '.'),\r\n\t\thtmlPath = self.pluginsPath + name + '/html/';\r\n\tfunction getFilePath(fileName) {\r\n\t\treturn htmlPath + fileName + '?ver=' + encodeURIComponent(K.DEBUG ? K.TIME : K.VERSION);\r\n\t}\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar lang = self.lang(name + '.'),\r\n\t\t\tarr = ['<div style=\"padding:10px 20px;\">',\r\n\t\t\t\t'<div class=\"ke-header\">',\r\n\t\t\t\t// left start\r\n\t\t\t\t'<div class=\"ke-left\">',\r\n\t\t\t\tlang. selectTemplate + ' <select>'];\r\n\t\t\tK.each(lang.fileList, function(key, val) {\r\n\t\t\t\tarr.push('<option value=\"' + key + '\">' + val + '</option>');\r\n\t\t\t});\r\n\t\t\thtml = [arr.join(''),\r\n\t\t\t\t'</select></div>',\r\n\t\t\t\t// right start\r\n\t\t\t\t'<div class=\"ke-right\">',\r\n\t\t\t\t'<input type=\"checkbox\" id=\"keReplaceFlag\" name=\"replaceFlag\" value=\"1\" /> <label for=\"keReplaceFlag\">' + lang.replaceContent + '</label>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-clearfix\"></div>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<iframe class=\"ke-textarea\" frameborder=\"0\" style=\"width:458px;height:260px;background-color:#FFF;\"></iframe>',\r\n\t\t\t\t'</div>'].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : 500,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tvar doc = K.iframeDoc(iframe);\r\n\t\t\t\t\tself[checkbox[0].checked ? 'html' : 'insertHtml'](doc.body.innerHTML).hideDialog().focus();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar selectBox = K('select', dialog.div),\r\n\t\t\tcheckbox = K('[name=\"replaceFlag\"]', dialog.div),\r\n\t\t\tiframe = K('iframe', dialog.div);\r\n\t\tcheckbox[0].checked = true;\r\n\t\tiframe.attr('src', getFilePath(selectBox.val()));\r\n\t\tselectBox.change(function() {\r\n\t\t\tiframe.attr('src', getFilePath(this.value));\r\n\t\t});\r\n\t});\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/plugins/wordpaste/wordpaste.js",
    "content": "/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\nKindEditor.plugin('wordpaste', function(K) {\r\n\tvar self = this, name = 'wordpaste';\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar lang = self.lang(name + '.'),\r\n\t\t\thtml = '<div style=\"padding:10px 20px;\">' +\r\n\t\t\t\t'<div style=\"margin-bottom:10px;\">' + lang.comment + '</div>' +\r\n\t\t\t\t'<iframe class=\"ke-textarea\" frameborder=\"0\" style=\"width:408px;height:260px;\"></iframe>' +\r\n\t\t\t\t'</div>',\r\n\t\t\tdialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 450,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar str = doc.body.innerHTML;\r\n\t\t\t\t\t\tstr = K.clearMsWord(str, self.filterMode ? self.htmlTags : K.options.htmlTags);\r\n\t\t\t\t\t\tself.insertHtml(str).hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdiv = dialog.div,\r\n\t\t\tiframe = K('iframe', div),\r\n\t\t\tdoc = K.iframeDoc(iframe);\r\n\t\tif (!K.IE) {\r\n\t\t\tdoc.designMode = 'on';\r\n\t\t}\r\n\t\tdoc.open();\r\n\t\tdoc.write('<!doctype html><html><head><title>WordPaste</title></head>');\r\n\t\tdoc.write('<body style=\"background-color:#FFF;font-size:12px;margin:2px;\">');\r\n\t\tif (!K.IE) {\r\n\t\t\tdoc.write('<br />');\r\n\t\t}\r\n\t\tdoc.write('</body></html>');\r\n\t\tdoc.close();\r\n\t\tif (K.IE) {\r\n\t\t\tdoc.body.contentEditable = 'true';\r\n\t\t}\r\n\t\tiframe[0].contentWindow.focus();\r\n\t});\r\n});\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/themes/default/default.css",
    "content": "/* common */\r\n.ke-inline-block {\r\n\tdisplay: -moz-inline-stack;\r\n\tdisplay: inline-block;\r\n\tvertical-align: middle;\r\n\tzoom: 1;\r\n\t*display: inline;\r\n}\r\n.ke-clearfix {\r\n\tzoom: 1;\r\n}\r\n.ke-clearfix:after {\r\n\tcontent: \".\";\r\n\tdisplay: block;\r\n\tclear: both;\r\n\tfont-size: 0;\r\n\theight: 0;\r\n\tline-height: 0;\r\n\tvisibility: hidden;\r\n}\r\n.ke-shadow {\r\n\tbox-shadow: 1px 1px 3px #A0A0A0;\r\n\t-moz-box-shadow: 1px 1px 3px #A0A0A0;\r\n\t-webkit-box-shadow: 1px 1px 3px #A0A0A0;\r\n\tfilter: progid:DXImageTransform.Microsoft.Shadow(color='#A0A0A0', Direction=135, Strength=3);\r\n\tbackground-color: #F0F0EE;\r\n}\r\n.ke-menu a,\r\n.ke-menu a:hover,\r\n.ke-dialog a,\r\n.ke-dialog a:hover {\r\n\tcolor: #337FE5;\r\n\ttext-decoration: none;\r\n}\r\n/* icons */\r\n.ke-icon-source {\r\n\tbackground-position: 0px 0px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-preview {\r\n\tbackground-position: 0px -16px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-print {\r\n\tbackground-position: 0px -32px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-undo {\r\n\tbackground-position: 0px -48px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-redo {\r\n\tbackground-position: 0px -64px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-cut {\r\n\tbackground-position: 0px -80px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-copy {\r\n\tbackground-position: 0px -96px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-paste {\r\n\tbackground-position: 0px -112px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-selectall {\r\n\tbackground-position: 0px -128px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-justifyleft {\r\n\tbackground-position: 0px -144px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-justifycenter {\r\n\tbackground-position: 0px -160px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-justifyright {\r\n\tbackground-position: 0px -176px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-justifyfull {\r\n\tbackground-position: 0px -192px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-insertorderedlist {\r\n\tbackground-position: 0px -208px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-insertunorderedlist {\r\n\tbackground-position: 0px -224px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-indent {\r\n\tbackground-position: 0px -240px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-outdent {\r\n\tbackground-position: 0px -256px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-subscript {\r\n\tbackground-position: 0px -272px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-superscript {\r\n\tbackground-position: 0px -288px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-date {\r\n\tbackground-position: 0px -304px;\r\n\twidth: 25px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-time {\r\n\tbackground-position: 0px -320px;\r\n\twidth: 25px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-formatblock {\r\n\tbackground-position: 0px -336px;\r\n\twidth: 25px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-fontname {\r\n\tbackground-position: 0px -352px;\r\n\twidth: 21px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-fontsize {\r\n\tbackground-position: 0px -368px;\r\n\twidth: 23px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-forecolor {\r\n\tbackground-position: 0px -384px;\r\n\twidth: 20px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-hilitecolor {\r\n\tbackground-position: 0px -400px;\r\n\twidth: 23px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-bold {\r\n\tbackground-position: 0px -416px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-italic {\r\n\tbackground-position: 0px -432px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-underline {\r\n\tbackground-position: 0px -448px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-strikethrough {\r\n\tbackground-position: 0px -464px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-removeformat {\r\n\tbackground-position: 0px -480px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-image {\r\n\tbackground-position: 0px -496px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-flash {\r\n\tbackground-position: 0px -512px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-media {\r\n\tbackground-position: 0px -528px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-div {\r\n\tbackground-position: 0px -544px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-formula {\r\n\tbackground-position: 0px -576px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-hr {\r\n\tbackground-position: 0px -592px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-emoticons {\r\n\tbackground-position: 0px -608px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-link {\r\n\tbackground-position: 0px -624px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-unlink {\r\n\tbackground-position: 0px -640px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-fullscreen {\r\n\tbackground-position: 0px -656px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-about {\r\n\tbackground-position: 0px -672px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-plainpaste {\r\n\tbackground-position: 0px -704px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-wordpaste {\r\n\tbackground-position: 0px -720px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-table {\r\n\tbackground-position: 0px -784px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tablemenu {\r\n\tbackground-position: 0px -768px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tableinsert {\r\n\tbackground-position: 0px -784px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tabledelete {\r\n\tbackground-position: 0px -800px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tablecolinsertleft {\r\n\tbackground-position: 0px -816px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tablecolinsertright {\r\n\tbackground-position: 0px -832px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tablerowinsertabove {\r\n\tbackground-position: 0px -848px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tablerowinsertbelow {\r\n\tbackground-position: 0px -864px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tablecoldelete {\r\n\tbackground-position: 0px -880px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tablerowdelete {\r\n\tbackground-position: 0px -896px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tablecellprop {\r\n\tbackground-position: 0px -912px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tableprop {\r\n\tbackground-position: 0px -928px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-checked {\r\n\tbackground-position: 0px -944px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-code {\r\n\tbackground-position: 0px -960px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-map {\r\n\tbackground-position: 0px -976px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-baidumap {\r\n\tbackground-position: 0px -976px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-lineheight {\r\n\tbackground-position: 0px -992px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-clearhtml {\r\n\tbackground-position: 0px -1008px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-pagebreak {\r\n\tbackground-position: 0px -1024px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-insertfile {\r\n\tbackground-position: 0px -1040px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-quickformat {\r\n\tbackground-position: 0px -1056px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-template {\r\n\tbackground-position: 0px -1072px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tablecellsplit {\r\n\tbackground-position: 0px -1088px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tablerowmerge {\r\n\tbackground-position: 0px -1104px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tablerowsplit {\r\n\tbackground-position: 0px -1120px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tablecolmerge {\r\n\tbackground-position: 0px -1136px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-tablecolsplit {\r\n\tbackground-position: 0px -1152px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-anchor {\r\n\tbackground-position: 0px -1168px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-search {\r\n\tbackground-position: 0px -1184px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-new {\r\n\tbackground-position: 0px -1200px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-specialchar {\r\n\tbackground-position: 0px -1216px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n.ke-icon-multiimage {\r\n\tbackground-position: 0px -1232px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n}\r\n/* container */\r\n.ke-container {\r\n\tdisplay: block;\r\n\tborder: 1px solid #CCCCCC;\r\n\tbackground-color: #FFF;\r\n\toverflow: hidden;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n}\r\n/* toolbar */\r\n.ke-toolbar {\r\n\tborder-bottom: 1px solid #CCC;\r\n\tbackground-color: #F0F0EE;\r\n\tpadding: 2px 5px;\r\n\ttext-align: left;\r\n\toverflow: hidden;\r\n\tzoom: 1;\r\n}\r\n.ke-toolbar-icon {\r\n\tbackground-repeat: no-repeat;\r\n\tfont-size: 0;\r\n\tline-height: 0;\r\n\toverflow: hidden;\r\n\tdisplay: block;\r\n}\r\n.ke-toolbar-icon-url {\r\n\tbackground-image: url(default.png);\r\n}\r\n.ke-toolbar .ke-outline {\r\n\tborder: 1px solid #F0F0EE;\r\n\tmargin: 1px;\r\n\tpadding: 1px 2px;\r\n\tfont-size: 0;\r\n\tline-height: 0;\r\n\toverflow: hidden;\r\n\tcursor: pointer;\r\n\tdisplay: block;\r\n\tfloat: left;\r\n}\r\n.ke-toolbar .ke-on {\r\n\tborder: 1px solid #5690D2;\r\n}\r\n.ke-toolbar .ke-selected {\r\n\tborder: 1px solid #5690D2;\r\n\tbackground-color: #E9EFF6;\r\n}\r\n.ke-toolbar .ke-disabled {\r\n\tcursor: default;\r\n}\r\n.ke-toolbar .ke-separator {\r\n\theight: 16px;\r\n\tmargin: 2px 3px;\r\n\tborder-left: 1px solid #A0A0A0;\r\n\tborder-right: 1px solid #FFFFFF;\r\n\tborder-top:0;\r\n\tborder-bottom:0;\r\n\twidth: 0;\r\n\tfont-size: 0;\r\n\tline-height: 0;\r\n\toverflow: hidden;\r\n\tdisplay: block;\r\n\tfloat: left;\r\n}\r\n.ke-toolbar .ke-hr {\r\n\toverflow: hidden;\r\n\theight: 1px;\r\n\tclear: both;\r\n}\r\n/* edit */\r\n.ke-edit {\r\n\tpadding: 0;\r\n}\r\n.ke-edit-iframe,\r\n.ke-edit-textarea {\r\n\tborder: 0;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\toverflow: auto;\r\n}\r\n.ke-edit-textarea {\r\n\tfont: 12px/1.5 \"Consolas\", \"Monaco\", \"Bitstream Vera Sans Mono\", \"Courier New\", Courier, monospace;\r\n\tcolor: #000;\r\n\toverflow: auto;\r\n\tresize: none;\r\n}\r\n.ke-edit-textarea:focus {\r\n\toutline: none;\r\n}\r\n/* statusbar */\r\n.ke-statusbar {\r\n\tposition: relative;\r\n\tbackground-color: #F0F0EE;\r\n\tborder-top: 1px solid #CCCCCC;\r\n\tfont-size: 0;\r\n\tline-height: 0;\r\n\t*height: 12px;\r\n\toverflow: hidden;\r\n\ttext-align: center;\r\n\tcursor: s-resize;\r\n}\r\n.ke-statusbar-center-icon {\r\n\tbackground-position: -0px -754px;\r\n\twidth: 15px;\r\n\theight: 11px;\r\n\tbackground-image: url(default.png);\r\n}\r\n.ke-statusbar-right-icon {\r\n\tposition: absolute;\r\n\tright: 0;\r\n\tbottom: 0;\r\n\tcursor: se-resize;\r\n\tbackground-position: -5px -741px;\r\n\twidth: 11px;\r\n\theight: 11px;\r\n\tbackground-image: url(default.png);\r\n}\r\n/* menu */\r\n.ke-menu {\r\n\tborder: 1px solid #A0A0A0;\r\n\tbackground-color: #F1F1F1;\r\n\tcolor: #222222;\r\n\tpadding: 2px;\r\n\tfont-family: \"sans serif\",tahoma,verdana,helvetica;\r\n\tfont-size: 12px;\r\n\ttext-align: left;\r\n\toverflow: hidden;\r\n}\r\n.ke-menu-item {\r\n\tborder: 1px solid #F1F1F1;\r\n\tbackground-color: #F1F1F1;\r\n\tcolor: #222222;\r\n\theight: 24px;\r\n\toverflow: hidden;\r\n\tcursor: pointer;\r\n}\r\n.ke-menu-item-on {\r\n\tborder: 1px solid #5690D2;\r\n\tbackground-color: #E9EFF6;\r\n}\r\n.ke-menu-item-left {\r\n\twidth: 27px;\r\n\ttext-align: center;\r\n\toverflow: hidden;\r\n}\r\n.ke-menu-item-center {\r\n\twidth: 0;\r\n\theight: 24px;\r\n\tborder-left: 1px solid #E3E3E3;\r\n\tborder-right: 1px solid #FFFFFF;\r\n\tborder-top: 0;\r\n\tborder-bottom: 0;\r\n}\r\n.ke-menu-item-center-on {\r\n\tborder-left: 1px solid #E9EFF6;\r\n\tborder-right: 1px solid #E9EFF6;\r\n}\r\n.ke-menu-item-right {\r\n\tborder: 0;\r\n\tpadding: 0 0 0 5px;\r\n\tline-height: 24px;\r\n\ttext-align: left;\r\n\toverflow: hidden;\r\n}\r\n.ke-menu-separator {\r\n\tmargin: 2px 0;\r\n\theight: 0;\r\n\toverflow: hidden;\r\n\tborder-top: 1px solid #CCCCCC;\r\n\tborder-bottom: 1px solid #FFFFFF;\r\n\tborder-left: 0;\r\n\tborder-right: 0;\r\n}\r\n/* colorpicker */\r\n.ke-colorpicker {\r\n\tborder: 1px solid #A0A0A0;\r\n\tbackground-color: #F1F1F1;\r\n\tcolor: #222222;\r\n\tpadding: 2px;\r\n}\r\n.ke-colorpicker-table {\r\n\tborder:0;\r\n\tmargin:0;\r\n\tpadding:0;\r\n\tborder-collapse: separate;\r\n}\r\n.ke-colorpicker-cell {\r\n\tfont-size: 0;\r\n\tline-height: 0;\r\n\tborder: 1px solid #F0F0EE;\r\n\tcursor: pointer;\r\n\tmargin:3px;\r\n\tpadding:0;\r\n}\r\n.ke-colorpicker-cell-top {\r\n\tfont-family: \"sans serif\",tahoma,verdana,helvetica;\r\n\tfont-size: 12px;\r\n\tline-height: 24px;\r\n\tborder: 1px solid #F0F0EE;\r\n\tcursor: pointer;\r\n\tmargin:0;\r\n\tpadding:0;\r\n\ttext-align: center;\r\n}\r\n.ke-colorpicker-cell-on {\r\n\tborder: 1px solid #5690D2;\r\n}\r\n.ke-colorpicker-cell-selected {\r\n\tborder: 1px solid #2446AB;\r\n}\r\n.ke-colorpicker-cell-color {\r\n\twidth: 14px;\r\n\theight: 14px;\r\n\tmargin: 3px;\r\n\tpadding: 0;\r\n\tborder: 0;\r\n}\r\n/* dialog */\r\n.ke-dialog {\r\n\tposition: absolute;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n}\r\n.ke-dialog .ke-header {\r\n\twidth: 100%;\r\n\tmargin-bottom: 10px;\r\n}\r\n.ke-dialog .ke-header .ke-left {\r\n\tfloat: left;\r\n}\r\n.ke-dialog .ke-header .ke-right {\r\n\tfloat: right;\r\n}\r\n.ke-dialog .ke-header label {\r\n\tmargin-right: 0;\r\n\tcursor: pointer;\r\n\tfont-weight: normal;\r\n\tdisplay: inline;\r\n\tvertical-align: top;\r\n}\r\n.ke-dialog-content {\r\n\tbackground-color: #FFF;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tcolor: #333;\r\n\tborder: 1px solid #A0A0A0;\r\n}\r\n.ke-dialog-shadow {\r\n\tposition: absolute;\r\n\tz-index: -1;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tbox-shadow: 3px 3px 7px #999;\r\n\t-moz-box-shadow: 3px 3px 7px #999;\r\n\t-webkit-box-shadow: 3px 3px 7px #999;\r\n\tfilter: progid:DXImageTransform.Microsoft.Blur(PixelRadius='3', MakeShadow='true', ShadowOpacity='0.4');\r\n\tbackground-color: #F0F0EE;\r\n}\r\n.ke-dialog-header {\r\n\tborder:0;\r\n\tmargin:0;\r\n\tpadding: 0 10px;\r\n\tbackground: url(background.png) repeat scroll 0 0 #F0F0EE;\r\n\tborder-bottom: 1px solid #CFCFCF;\r\n\theight: 24px;\r\n\tfont: 12px/24px \"sans serif\",tahoma,verdana,helvetica;\r\n\ttext-align: left;\r\n\tcolor: #222;\r\n\tcursor: move;\r\n}\r\n.ke-dialog-icon-close {\r\n\tdisplay: block;\r\n\tbackground: url(default.png) no-repeat scroll 0px -688px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tposition: absolute;\r\n\tright: 6px;\r\n\ttop: 6px;\r\n\tcursor: pointer;\r\n}\r\n.ke-dialog-body {\r\n\tfont: 12px/1.5 \"sans serif\",tahoma,verdana,helvetica;\r\n\ttext-align: left;\r\n\toverflow: hidden;\r\n\twidth: 100%;\r\n}\r\n.ke-dialog-body textarea {\r\n\tdisplay: block;\r\n\toverflow: auto;\r\n\tpadding: 0;\r\n\tresize: none;\r\n}\r\n.ke-dialog-body textarea:focus,\r\n.ke-dialog-body input:focus,\r\n.ke-dialog-body select:focus {\r\n\toutline: none;\r\n}\r\n.ke-dialog-body label {\r\n\tmargin-right: 10px;\r\n\tcursor: pointer;\r\n\tdisplay: -moz-inline-stack;\r\n\tdisplay: inline-block;\r\n\tvertical-align: middle;\r\n\tzoom: 1;\r\n\t*display: inline;\r\n}\r\n.ke-dialog-body img {\r\n\tdisplay: -moz-inline-stack;\r\n\tdisplay: inline-block;\r\n\tvertical-align: middle;\r\n\tzoom: 1;\r\n\t*display: inline;\r\n}\r\n.ke-dialog-body select {\r\n\tdisplay: -moz-inline-stack;\r\n\tdisplay: inline-block;\r\n\tvertical-align: middle;\r\n\tzoom: 1;\r\n\t*display: inline;\r\n\twidth: auto;\r\n}\r\n.ke-dialog-body .ke-textarea {\r\n\tdisplay: block;\r\n\twidth: 408px;\r\n\theight: 260px;\r\n\tfont-family: \"sans serif\",tahoma,verdana,helvetica;\r\n\tfont-size: 12px;\r\n\tborder-color: #848484 #E0E0E0 #E0E0E0 #848484;\r\n\tborder-style: solid;\r\n\tborder-width: 1px;\r\n}\r\n.ke-dialog-body .ke-form {\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n}\r\n.ke-dialog-loading {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 1px;\r\n\tz-index: 1;\r\n\ttext-align: center;\r\n}\r\n.ke-dialog-loading-content {\r\n\tbackground: url(\"../common/loading.gif\") no-repeat;\r\n    color: #666;\r\n    font-size: 14px;\r\n    font-weight: bold;\r\n    height: 31px;\r\n    line-height: 31px;\r\n    padding-left: 36px;\r\n}\r\n.ke-dialog-row {\r\n\tmargin-bottom: 10px;\r\n}\r\n.ke-dialog-footer {\r\n\tfont: 12px/1 \"sans serif\",tahoma,verdana,helvetica;\r\n\ttext-align: right;\r\n\tpadding:0 0 5px 0;\r\n\tbackground-color: #FFF;\r\n\twidth: 100%;\r\n}\r\n.ke-dialog-preview,\r\n.ke-dialog-yes {\r\n\tmargin: 5px;\r\n}\r\n.ke-dialog-no {\r\n\tmargin: 5px 10px 5px 5px;\r\n}\r\n.ke-dialog-mask {\r\n\tbackground-color:#FFF;\r\n\tfilter:alpha(opacity=50);\r\n\topacity:0.5;\r\n}\r\n.ke-button-common {\r\n\tbackground: url(background.png) no-repeat scroll 0 -25px transparent;\r\n\tcursor: pointer;\r\n\theight: 23px;\r\n\tline-height: 23px;\r\n\toverflow: visible;\r\n\tdisplay: inline-block;\r\n\tvertical-align: top;\r\n\tcursor: pointer;\r\n}\r\n.ke-button-outer {\r\n\tbackground-position: 0 -25px;\r\n\tpadding: 0;\r\n\tposition: relative;\r\n\tdisplay: -moz-inline-stack;\r\n\tdisplay: inline-block;\r\n\tvertical-align: middle;\r\n\tzoom: 1;\r\n\t*display: inline;\r\n}\r\n.ke-button {\r\n\tbackground-position: right -25px;\r\n\tpadding: 0 12px;\r\n\tmargin: 0;\r\n\tfont-family: \"sans serif\",tahoma,verdana,helvetica;\r\n\tborder: 0 none;\r\n\tcolor: #333;\r\n\tfont-size: 12px;\r\n\tleft: 2px;\r\n\ttext-decoration: none;\r\n}\r\n/* inputbox */\r\n.ke-input-text {\r\n\tbackground-color:#FFFFFF;\r\n\tfont-family: \"sans serif\",tahoma,verdana,helvetica;\r\n\tfont-size: 12px;\r\n\tline-height: 17px;\r\n\theight: 17px;\r\n\tpadding: 2px 4px;\r\n\tborder-color: #848484 #E0E0E0 #E0E0E0 #848484;\r\n\tborder-style: solid;\r\n\tborder-width: 1px;\r\n\tdisplay: -moz-inline-stack;\r\n\tdisplay: inline-block;\r\n\tvertical-align: middle;\r\n\tzoom: 1;\r\n\t*display: inline;\r\n}\r\n.ke-input-number {\r\n\twidth: 50px;\r\n}\r\n.ke-input-color {\r\n\tborder: 1px solid #A0A0A0;\r\n\tbackground-color: #FFFFFF;\r\n\tfont-size: 12px;\r\n\twidth: 60px;\r\n\theight: 20px;\r\n\tline-height: 20px;\r\n\tpadding-left: 5px;\r\n\toverflow: hidden;\r\n\tcursor: pointer;\r\n\tdisplay: -moz-inline-stack;\r\n\tdisplay: inline-block;\r\n\tvertical-align: middle;\r\n\tzoom: 1;\r\n\t*display: inline;\r\n}\r\n.ke-upload-button {\r\n\tposition: relative;\r\n}\r\n.ke-upload-area {\r\n\tposition: relative;\r\n\toverflow: hidden;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\t*height: 25px;\r\n}\r\n.ke-upload-area .ke-upload-file {\r\n\tposition: absolute;\r\n\tfont-size: 60px;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tpadding: 0;\r\n\tmargin: 0;\r\n\tz-index: 811212;\r\n\tborder: 0 none;\r\n\topacity: 0;\r\n\tfilter: alpha(opacity=0);\r\n}\r\n/* tabs */\r\n.ke-tabs {\r\n\tfont: 12px/1 \"sans serif\",tahoma,verdana,helvetica;\r\n\tborder-bottom:1px solid #A0A0A0;\r\n\tpadding-left:5px;\r\n\tmargin-bottom:20px;\r\n}\r\n.ke-tabs-ul  {\r\n\tlist-style-image:none;\r\n\tlist-style-position:outside;\r\n\tlist-style-type:none;\r\n\tmargin:0;\r\n\tpadding:0;\r\n}\r\n.ke-tabs-li {\r\n\tposition: relative;\r\n\tborder: 1px solid #A0A0A0;\r\n\tbackground-color: #F0F0EE;\r\n\tmargin: 0 2px -1px 0;\r\n\tpadding: 0 20px;\r\n\tfloat: left;\r\n\tline-height: 25px;\r\n\ttext-align: center;\r\n\tcolor: #555555;\r\n\tcursor: pointer;\r\n}\r\n.ke-tabs-li-selected {\r\n\tbackground-color: #FFF;\r\n\tborder-bottom: 1px solid #FFF;\r\n\tcolor: #000;\r\n\tcursor: default;\r\n}\r\n.ke-tabs-li-on {\r\n\tbackground-color: #FFF;\r\n\tcolor: #000;\r\n}\r\n/* progressbar */\r\n.ke-progressbar {\r\n\tposition: relative;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n}\r\n.ke-progressbar-bar {\r\n\tborder: 1px solid #6FA5DB;\r\n\twidth: 80px;\r\n\theight: 5px;\r\n\tmargin: 10px 10px 0 10px;\r\n\tpadding: 0;\r\n}\r\n.ke-progressbar-bar-inner {\r\n\twidth: 0;\r\n\theight: 5px;\r\n\tbackground-color: #6FA5DB;\r\n\toverflow: hidden;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n}\r\n.ke-progressbar-percent {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 40%;\r\n\tdisplay: none;\r\n}\r\n/* swfupload */\r\n.ke-swfupload-top {\r\n\tposition: relative;\r\n\tmargin-bottom: 10px;\r\n\t_width: 608px;\r\n}\r\n.ke-swfupload-button {\r\n\theight: 23px;\r\n\tline-height: 23px;\r\n}\r\n.ke-swfupload-desc {\r\n\tpadding: 0 10px;\r\n\theight: 23px;\r\n\tline-height: 23px;\r\n}\r\n.ke-swfupload-startupload {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tright: 0;\r\n}\r\n.ke-swfupload-body {\r\n\toverflow: scroll;\r\n\tbackground-color:#FFFFFF;\r\n\tborder-color: #848484 #E0E0E0 #E0E0E0 #848484;\r\n\tborder-style: solid;\r\n\tborder-width: 1px;\r\n\twidth: auto;\r\n\theight: 370px;\r\n\tpadding: 5px;\r\n}\r\n.ke-swfupload-body .ke-item {\r\n\twidth: 100px;\r\n\tmargin: 5px;\r\n}\r\n.ke-swfupload-body .ke-photo {\r\n\tposition: relative;\r\n\tborder: 1px solid #DDDDDD;\r\n\tbackground-color:#FFFFFF;\r\n\tpadding: 10px;\r\n}\r\n.ke-swfupload-body .ke-delete {\r\n\tdisplay: block;\r\n\tbackground: url(default.png) no-repeat scroll 0px -688px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tposition: absolute;\r\n\tright: 0;\r\n\ttop: 0;\r\n\tcursor: pointer;\r\n}\r\n.ke-swfupload-body .ke-status  {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\tbottom: 5px;\r\n\twidth: 100px;\r\n\theight: 17px;\r\n}\r\n.ke-swfupload-body .ke-message  {\r\n\twidth: 100px;\r\n\ttext-align: center;\r\n\toverflow: hidden;\r\n\theight:17px;\r\n}\r\n.ke-swfupload-body .ke-error  {\r\n\tcolor: red;\r\n}\r\n.ke-swfupload-body .ke-name {\r\n\twidth: 100px;\r\n\ttext-align: center;\r\n\toverflow: hidden;\r\n\theight:16px;\r\n}\r\n.ke-swfupload-body .ke-on {\r\n\tborder: 1px solid #5690D2;\r\n\tbackground-color: #E9EFF6;\r\n}\r\n\r\n/* emoticons */\r\n.ke-plugin-emoticons {\r\n\tposition: relative;\r\n}\r\n.ke-plugin-emoticons .ke-preview {\r\n\tposition: absolute;\r\n\ttext-align: center;\r\n\tmargin: 2px;\r\n\tpadding: 10px;\r\n\ttop: 0;\r\n\tborder: 1px solid #A0A0A0;\r\n\tbackground-color: #FFFFFF;\r\n\tdisplay: none;\r\n}\r\n.ke-plugin-emoticons .ke-preview-img {\r\n\tborder:0;\r\n\tmargin:0;\r\n\tpadding:0;\r\n}\r\n.ke-plugin-emoticons .ke-table {\r\n\tborder:0;\r\n\tmargin:0;\r\n\tpadding:0;\r\n\tborder-collapse:separate;\r\n}\r\n.ke-plugin-emoticons .ke-cell {\r\n\tmargin:0;\r\n\tpadding:1px;\r\n\tborder:1px solid #F0F0EE;\r\n\tcursor:pointer;\r\n}\r\n.ke-plugin-emoticons .ke-on {\r\n\tborder: 1px solid #5690D2;\r\n\tbackground-color: #E9EFF6;\r\n}\r\n.ke-plugin-emoticons .ke-img {\r\n\tdisplay:block;\r\n\tbackground-repeat:no-repeat;\r\n\toverflow:hidden;\r\n\tmargin:2px;\r\n\twidth:24px;\r\n\theight:24px;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\tborder: 0;\r\n}\r\n.ke-plugin-emoticons .ke-page {\r\n\ttext-align: right;\r\n\tmargin: 5px;\r\n\tpadding: 0;\r\n\tborder: 0;\r\n\tfont: 12px/1 \"sans serif\",tahoma,verdana,helvetica;\r\n\tcolor: #333;\r\n\ttext-decoration: none;\r\n}\r\n.ke-plugin-plainpaste-textarea,\r\n.ke-plugin-wordpaste-iframe {\r\n\tdisplay: block;\r\n\twidth: 408px;\r\n\theight: 260px;\r\n\tfont-family: \"sans serif\",tahoma,verdana,helvetica;\r\n\tfont-size: 12px;\r\n\tborder-color: #848484 #E0E0E0 #E0E0E0 #848484;\r\n\tborder-style: solid;\r\n\tborder-width: 1px;\r\n}\r\n/* filemanager */\r\n.ke-plugin-filemanager-header {\r\n\twidth: 100%;\r\n\tmargin-bottom: 10px;\r\n}\r\n.ke-plugin-filemanager-header .ke-left {\r\n\tfloat: left;\r\n}\r\n.ke-plugin-filemanager-header .ke-right {\r\n\tfloat: right;\r\n}\r\n.ke-plugin-filemanager-body {\r\n\toverflow: scroll;\r\n\tbackground-color:#FFFFFF;\r\n\tborder-color: #848484 #E0E0E0 #E0E0E0 #848484;\r\n\tborder-style: solid;\r\n\tborder-width: 1px;\r\n\twidth: auto;\r\n\theight: 370px;\r\n\tpadding: 5px;\r\n}\r\n.ke-plugin-filemanager-body .ke-item {\r\n\twidth: 100px;\r\n\tmargin: 5px;\r\n}\r\n.ke-plugin-filemanager-body .ke-photo {\r\n\tborder: 1px solid #DDDDDD;\r\n\tbackground-color:#FFFFFF;\r\n\tpadding: 10px;\r\n}\r\n.ke-plugin-filemanager-body .ke-name {\r\n\twidth: 100px;\r\n\ttext-align: center;\r\n\toverflow: hidden;\r\n\theight:16px;\r\n}\r\n.ke-plugin-filemanager-body .ke-on {\r\n\tborder: 1px solid #5690D2;\r\n\tbackground-color: #E9EFF6;\r\n}\r\n.ke-plugin-filemanager-body .ke-table {\r\n\twidth: 95%;\r\n\tborder: 0;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\tborder-collapse: separate;\r\n}\r\n.ke-plugin-filemanager-body .ke-table .ke-cell {\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\tborder: 0;\r\n}\r\n.ke-plugin-filemanager-body .ke-table .ke-name {\r\n\twidth: 55%;\r\n\ttext-align: left;\r\n}\r\n.ke-plugin-filemanager-body .ke-table .ke-size {\r\n\twidth: 15%;\r\n\ttext-align: left;\r\n}\r\n.ke-plugin-filemanager-body .ke-table .ke-datetime {\r\n\twidth: 30%;\r\n\ttext-align: center;\r\n}\r\n\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/themes/qq/qq.css",
    "content": "/* container */\r\n.ke-container-qq {\r\n\tdisplay: block;\r\n\tborder: 1px solid #c3c3c3;\r\n\tbackground-color: #FFF;\r\n\toverflow: hidden;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n}\r\n/* toolbar */\r\n.ke-container-qq .ke-toolbar {\r\n\tborder-bottom: 1px solid #c3c3c3;\r\n\tbackground-color: #FFFFFF;\r\n\tpadding: 2px 5px;\r\n\ttext-align: left;\r\n\toverflow: hidden;\r\n\tzoom: 1;\r\n}\r\n.ke-toolbar-icon-url {\r\n\tbackground-image: url(editor.gif);\r\n\twidth:18px;\r\n\t*xwidth:20px;\r\n\theight:18px;\r\n\t*xheight:20px;\r\n}\r\n.ke-icon-checked{\r\n\tbackground-image: url(../default/default.png);\r\n\twidth:16px;\r\n\theight:16px;\r\n}\r\n.ke-container-qq .ke-icon-bold{\r\n\tbackground-position: 4px 1px;\r\n}\r\n.ke-container-qq .ke-icon-italic{\r\n\tbackground-position: -27px 1px;\r\n}\r\n.ke-container-qq .ke-icon-italic{\r\n\tbackground-position: -28px 1px;\r\n}\r\n.ke-container-qq .ke-icon-underline{\r\n\tbackground-position: -60px 1px;\r\n}\r\n.ke-container-qq .ke-icon-fontname{\r\n\tbackground-position: -95px 1px;\r\n}\r\n.ke-container-qq .ke-icon-fontsize{\r\n\tbackground-position: -128px 1px;\r\n}\r\n.ke-container-qq .ke-icon-forecolor{\r\n\tbackground-position: -159px 1px;\r\n}\r\n.ke-container-qq .ke-icon-hilitecolor{\r\n\tbackground-position: -190px 1px;\r\n}\r\n.ke-container-qq .ke-icon-plug-align{\r\n\tbackground-position: -223px 1px;\r\n}\r\n.plug-align-justifyleft{\r\n\tbackground-position: -350px 1px;\r\n}\r\n.plug-align-justifycenter{\r\n\tbackground-position: -382px 1px;\r\n}\r\n.plug-align-justifyright{\r\n\tbackground-position: -414px 1px;\r\n}\r\n.plug-order-insertorderedlist{\r\n\tbackground-position: -446px 1px;\r\n}\r\n.plug-order-insertunorderedlist{\r\n\tbackground-position: -477px 1px;\r\n}\r\n.plug-indent-indent{\r\n\tbackground-position: -513px 1px;\r\n}\r\n.plug-indent-outdent{\r\n\tbackground-position: -545px 1px;\r\n}\r\n.ke-container-qq .ke-icon-plug-order{\r\n\tbackground-position: -255px 1px;\r\n}\r\n.ke-container-qq .ke-icon-plug-indent{\r\n\tbackground-position: -287px 1px;\r\n}\r\n.ke-container-qq .ke-icon-link{\r\n\tbackground-position: -319px 1px;\r\n}\r\n\r\n.ke-container-qq .ke-toolbar .ke-outline {\r\n\tcursor: default;\r\n\tpadding:0px;\r\n\tborder:1px solid #fff;\r\n}\r\n.ke-container-qq .ke-toolbar .ke-on {\r\n\tborder-left:1px solid white;\r\n\tborder-top:1px solid white;\r\n\tborder-right:1px solid gray;\r\n\tborder-bottom:1px solid gray;\r\n\tbackground-color: #FFFFFF;\r\n}\r\n.ke-container-qq .ke-toolbar .ke-selected {\r\n\tborder-left:1px solid gray;\r\n\tborder-top:1px solid gray;\r\n\tborder-right:1px solid white;\r\n\tborder-bottom:1px solid white;\r\n\tbackground-color: #FFFFFF;\r\n}\r\n.ke-container-qq .ke-toolbar  .ke-disabled {\r\n\tcursor: default;\r\n}\r\n\r\n.ke-colorpicker-qq{\r\n\tbackground:#fff;\r\n}\r\n/* statusbar */\r\n.ke-container-qq .ke-statusbar {\r\n\tdisplay:none;\r\n}\r\n/* menu */\r\n.ke-menu-qq {\r\n\tborder:1px solid #a6a6a6;\r\n\tposition:absolute;\r\n\tbackground:#fff;\r\n\t-moz-box-shadow:2px 2px 4px #DDDDDD;\r\n\tz-index:999;\r\n\tleft:-400px;\r\n\ttop:-386px;\r\n\tright:218px;\r\n\twidth:130px;\r\n}\r\n.ke-menu-qq .ke-menu-item {\r\n\tpadding:0px;\r\n\tbackground:#fff;\r\n}\r\n.ke-menu-qq .ke-menu-item-on {\r\n\tborder:1px solid #000080;background:#FFEEC2;color:#036;\r\n}\r\n.ke-menu-qq .ke-toolbar .ke-selected {\r\n\tborder:1px solid #9a9afb;\r\n}\r\n.ke-menu-qq .ke-menu-item-left{\r\n\twidth:auto;\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/main/webapp/js/kindeditor-4.1.10/themes/simple/simple.css",
    "content": "/* container */\r\n.ke-container-simple {\r\n\tdisplay: block;\r\n\tborder: 1px solid #CCC;\r\n\tbackground-color: #FFF;\r\n\toverflow: hidden;\r\n}\r\n/* toolbar */\r\n.ke-container-simple .ke-toolbar {\r\n\tborder-bottom: 1px solid #CCC;\r\n\tbackground-color: #FFF;\r\n\tpadding: 2px 5px;\r\n\toverflow: hidden;\r\n}\r\n.ke-container-simple .ke-toolbar .ke-outline {\r\n\tborder: 1px solid #FFF;\r\n\tbackground-color: transparent;\r\n\tmargin: 1px;\r\n\tpadding: 1px 2px;\r\n\tfont-size: 0;\r\n\tline-height: 0;\r\n\toverflow: hidden;\r\n\tcursor: pointer;\r\n}\r\n.ke-container-simple .ke-toolbar .ke-on {\r\n\tborder: 1px solid #5690D2;\r\n}\r\n.ke-container-simple .ke-toolbar .ke-selected {\r\n\tborder: 1px solid #5690D2;\r\n\tbackground-color: #E9EFF6;\r\n}\r\n.ke-container-simple .ke-toolbar  .ke-disabled {\r\n\tcursor: default;\r\n}\r\n/* statusbar */\r\n.ke-container-simple .ke-statusbar {\r\n\tposition: relative;\r\n\tbackground-color: #FFF;\r\n\tborder-top: 1px solid #CCCCCC;\r\n\tfont-size: 0;\r\n\tline-height: 0;\r\n\t*height: 12px;\r\n\toverflow: hidden;\r\n\ttext-align: center;\r\n\tcursor: s-resize;\r\n}\r\n/* menu */\r\n.ke-menu-simple {\r\n\tborder: 1px solid #A0A0A0;\r\n\tbackground-color: #FFF;\r\n\tcolor: #222222;\r\n\tpadding: 2px;\r\n\tfont-family: \"sans serif\",tahoma,verdana,helvetica;\r\n\tfont-size: 12px;\r\n\ttext-align: left;\r\n\toverflow: hidden;\r\n}\r\n.ke-menu-simple .ke-menu-item {\r\n\tborder: 1px solid #FFF;\r\n\tbackground-color: #FFF;\r\n\tcolor: #222222;\r\n\theight: 24px;\r\n\toverflow: hidden;\r\n\tcursor: pointer;\r\n}\r\n.ke-menu-simple .ke-menu-item-on {\r\n\tborder: 1px solid #5690D2;\r\n\tbackground-color: #FFF;\r\n}\r\n/* colorpicker */\r\n.ke-colorpicker-simple {\r\n\tborder: 1px solid #A0A0A0;\r\n\tbackground-color: #FEFEFE;\r\n\tcolor: #222222;\r\n\tpadding: 2px;\r\n}\r\n.ke-colorpicker-simple .ke-colorpicker-cell {\r\n\tfont-size: 0;\r\n\tline-height: 0;\r\n\tborder: 1px solid #FEFEFE;\r\n\tcursor: pointer;\r\n\tmargin:3px;\r\n\tpadding:0;\r\n}\r\n.ke-colorpicker-simple .ke-colorpicker-cell-top {\r\n\tfont-family: \"sans serif\",tahoma,verdana,helvetica;\r\n\tfont-size: 12px;\r\n\tline-height: 24px;\r\n\tborder: 1px solid #FEFEFE;\r\n\tcursor: pointer;\r\n\tmargin:0;\r\n\tpadding:0;\r\n\ttext-align: center;\r\n}\r\n.ke-colorpicker-simple .ke-colorpicker-cell-on {\r\n\tborder: 1px solid #5690D2;\r\n}\r\n.ke-colorpicker-simple .ke-colorpicker-cell-selected {\r\n\tborder: 1px solid #2446AB;\r\n}\r\n"
  },
  {
    "path": "migo-manage/manage-web/src/test/java/test/Test.java",
    "content": "package test;\r\n\r\nimport com.alibaba.fastjson.JSON;\r\nimport com.github.pagehelper.PageHelper;\r\nimport com.migo.mapper.ItemMapper;\r\nimport com.migo.pojo.Item;\r\nimport com.migo.pojo.ItemCat;\r\nimport com.migo.service.ItemCatService;\r\nimport org.apache.log4j.Logger;\r\nimport org.junit.runner.RunWith;\r\nimport org.springframework.test.context.ContextConfiguration;\r\nimport org.springframework.test.context.junit4.SpringJUnit4ClassRunner;\r\n\r\nimport javax.annotation.Resource;\r\nimport java.util.List;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/8.\r\n */\r\n@RunWith(SpringJUnit4ClassRunner.class) //表示继承了SpringJUnit4ClassRunner类\r\n@ContextConfiguration(locations = {\"classpath*:spring/*.xml\"})\r\npublic class Test {\r\n    private static Logger logger=Logger.getLogger(Test.class);\r\n    @Resource\r\n    private ItemCatService itemCatService;\r\n    @Resource\r\n    private ItemMapper itemMapper;\r\n    @org.junit.Test\r\n    public void test1(){\r\n       // List<ItemCat> itemCatList = itemCatService.getItemCatList(0L);\r\n        ItemCat example=new ItemCat();\r\n        example.setParentId(0L);\r\n        List<ItemCat> itemCatList = itemCatService.queryListByWhere(example);\r\n        logger.info(JSON.toJSONString(itemCatList));\r\n    }\r\n    @org.junit.Test\r\n    public void test(){\r\n        PageHelper.startPage(1, 20); // 核心分页代码\r\n        List<Item> cls =  itemMapper.selectAll();\r\n        for (Item item : cls) {\r\n            System.out.println(item.getTitle());\r\n        }\r\n    }\r\n\r\n}\r\n"
  },
  {
    "path": "migo-manage/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <modelVersion>4.0.0</modelVersion>\n    <modules>\n        <module>manage-pojo</module>\n        <module>manage-mapper</module>\n        <module>manage-service</module>\n        <module>manage-web</module>\n    </modules>\n\n    <parent>\n        <groupId>com.migo</groupId>\n        <artifactId>parent</artifactId>\n        <version>2.0-SNAPSHOT</version>\n    </parent>\n\n    <artifactId>manage</artifactId>\n    <version>2.0-SNAPSHOT</version>\n    <packaging>pom</packaging>\n\n    <dependencies>\n\n        <dependency>\n            <groupId>com.migo</groupId>\n            <artifactId>common</artifactId>\n            <version>2.0-SNAPSHOT</version>\n        </dependency>\n\n        <!-- 单元测试 -->\n        <dependency>\n            <groupId>junit</groupId>\n            <artifactId>junit</artifactId>\n            <scope>test</scope>\n        </dependency>\n        <dependency>\n            <groupId>org.slf4j</groupId>\n            <artifactId>slf4j-log4j12</artifactId>\n        </dependency>\n        <!-- Apache工具组件 -->\n        <dependency>\n            <groupId>org.apache.commons</groupId>\n            <artifactId>commons-lang3</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.apache.commons</groupId>\n            <artifactId>commons-io</artifactId>\n        </dependency>\n    </dependencies>\n\n    <build>\n        <plugins>\n            <!-- 配置Tomcat插件 -->\n            <plugin>\n                <groupId>org.apache.tomcat.maven</groupId>\n                <artifactId>tomcat7-maven-plugin</artifactId>\n                <configuration>\n                    <port>8080</port>\n                    <path>/</path>\n                </configuration>\n            </plugin>\n        </plugins>\n    </build>\n\n\n</project>"
  },
  {
    "path": "migo-parent/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <modelVersion>4.0.0</modelVersion>\n\n    <groupId>com.migo</groupId>\n    <artifactId>parent</artifactId>\n    <version>2.0-SNAPSHOT</version>\n    <packaging>pom</packaging>\n\n\n    <!-- 集中定义依赖版本号 -->\n    <properties>\n        <junit.version>4.12</junit.version>\n        <spring.version>4.3.5.RELEASE</spring.version>\n        <mybatis.version>3.2.8</mybatis.version>\n        <mybatis.spring.version>1.2.2</mybatis.spring.version>\n        <mybatis.paginator.version>1.2.15</mybatis.paginator.version>\n        <mysql.version>5.1.32</mysql.version>\n        <slf4j.version>1.6.4</slf4j.version>\n        <jackson.version>2.8.5</jackson.version>\n        <druid.version>1.0.9</druid.version>\n        <httpclient.version>4.3.5</httpclient.version>\n        <jstl.version>1.2</jstl.version>\n        <servlet-api.version>2.5</servlet-api.version>\n        <jsp-api.version>2.0</jsp-api.version>\n        <joda-time.version>2.5</joda-time.version>\n        <commons-lang3.version>3.3.2</commons-lang3.version>\n        <commons-io.version>1.3.2</commons-io.version>\n        <commons-net.version>3.3</commons-net.version>\n        <pagehelper.version>4.1.6</pagehelper.version>\n        <jsqlparser.version>0.9.1</jsqlparser.version>\n        <commons-fileupload.version>1.3.1</commons-fileupload.version>\n        <jedis.version>2.7.2</jedis.version>\n        <solrj.version>6.2.1</solrj.version>\n        <dubbo.version>2.5.3</dubbo.version>\n        <zookeeper.version>3.4.7</zookeeper.version>\n        <zkclient.version>0.1</zkclient.version>\n        <activemq.version>5.11.2</activemq.version>\n        <freemarker.version>2.3.23</freemarker.version>\n        <quartz.version>2.2.2</quartz.version>\n    </properties>\n    <dependencyManagement>\n        <dependencies>\n            <!-- 时间操作组件 -->\n            <dependency>\n                <groupId>joda-time</groupId>\n                <artifactId>joda-time</artifactId>\n                <version>${joda-time.version}</version>\n            </dependency>\n            <!-- Apache工具组件 -->\n            <dependency>\n                <groupId>org.apache.commons</groupId>\n                <artifactId>commons-lang3</artifactId>\n                <version>${commons-lang3.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>org.apache.commons</groupId>\n                <artifactId>commons-io</artifactId>\n                <version>${commons-io.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>commons-net</groupId>\n                <artifactId>commons-net</artifactId>\n                <version>${commons-net.version}</version>\n            </dependency>\n            <!-- Jackson Json处理工具包 -->\n            <dependency>\n                <groupId>com.fasterxml.jackson.core</groupId>\n                <artifactId>jackson-databind</artifactId>\n                <version>${jackson.version}</version>\n            </dependency>\n            <!-- httpclient -->\n            <dependency>\n                <groupId>org.apache.httpcomponents</groupId>\n                <artifactId>httpclient</artifactId>\n                <version>${httpclient.version}</version>\n            </dependency>\n            <!-- quartz任务调度框架 -->\n            <dependency>\n                <groupId>org.quartz-scheduler</groupId>\n                <artifactId>quartz</artifactId>\n                <version>${quartz.version}</version>\n            </dependency>\n            <!-- 单元测试 -->\n            <dependency>\n                <groupId>junit</groupId>\n                <artifactId>junit</artifactId>\n                <version>${junit.version}</version>\n                <scope>test</scope>\n            </dependency>\n            <!-- 日志处理 -->\n            <dependency>\n                <groupId>org.slf4j</groupId>\n                <artifactId>slf4j-log4j12</artifactId>\n                <version>${slf4j.version}</version>\n            </dependency>\n            <!-- Mybatis -->\n            <dependency>\n                <groupId>org.mybatis</groupId>\n                <artifactId>mybatis</artifactId>\n                <version>${mybatis.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>org.mybatis</groupId>\n                <artifactId>mybatis-spring</artifactId>\n                <version>${mybatis.spring.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>com.github.miemiedev</groupId>\n                <artifactId>mybatis-paginator</artifactId>\n                <version>${mybatis.paginator.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>com.github.pagehelper</groupId>\n                <artifactId>pagehelper</artifactId>\n                <version>${pagehelper.version}</version>\n            </dependency>\n            <!-- 通用Mapper -->\n            <dependency>\n                <groupId>tk.mybatis</groupId>\n                <artifactId>mapper</artifactId>\n                <version>3.3.9</version>\n            </dependency>\n             <!--Sql解析工具jsqlparser-->\n            <dependency>\n                <groupId>com.github.jsqlparser</groupId>\n                <artifactId>jsqlparser</artifactId>\n                <version>0.9.6</version>\n            </dependency>\n            <!-- MySql -->\n            <dependency>\n                <groupId>mysql</groupId>\n                <artifactId>mysql-connector-java</artifactId>\n                <version>${mysql.version}</version>\n            </dependency>\n            <!-- 连接池 -->\n            <dependency>\n                <groupId>com.alibaba</groupId>\n                <artifactId>druid</artifactId>\n                <version>${druid.version}</version>\n            </dependency>\n            <!-- Spring -->\n            <dependency>\n                <groupId>org.springframework</groupId>\n                <artifactId>spring-context</artifactId>\n                <version>${spring.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>org.springframework</groupId>\n                <artifactId>spring-beans</artifactId>\n                <version>${spring.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>org.springframework</groupId>\n                <artifactId>spring-webmvc</artifactId>\n                <version>${spring.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>org.springframework</groupId>\n                <artifactId>spring-jdbc</artifactId>\n                <version>${spring.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>org.springframework</groupId>\n                <artifactId>spring-aspects</artifactId>\n                <version>${spring.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>org.springframework</groupId>\n                <artifactId>spring-jms</artifactId>\n                <version>${spring.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>org.springframework</groupId>\n                <artifactId>spring-context-support</artifactId>\n                <version>${spring.version}</version>\n            </dependency>\n            <!-- JSP相关 -->\n            <dependency>\n                <groupId>jstl</groupId>\n                <artifactId>jstl</artifactId>\n                <version>${jstl.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>javax.servlet</groupId>\n                <artifactId>servlet-api</artifactId>\n                <version>${servlet-api.version}</version>\n                <scope>provided</scope>\n            </dependency>\n            <dependency>\n                <groupId>javax.servlet</groupId>\n                <artifactId>jsp-api</artifactId>\n                <version>${jsp-api.version}</version>\n                <scope>provided</scope>\n            </dependency>\n            <!-- 文件上传组件 -->\n            <dependency>\n                <groupId>commons-fileupload</groupId>\n                <artifactId>commons-fileupload</artifactId>\n                <version>${commons-fileupload.version}</version>\n            </dependency>\n            <!-- Redis客户端 -->\n            <dependency>\n                <groupId>redis.clients</groupId>\n                <artifactId>jedis</artifactId>\n                <version>${jedis.version}</version>\n            </dependency>\n            <!-- solr客户端 -->\n            <dependency>\n                <groupId>org.apache.solr</groupId>\n                <artifactId>solr-solrj</artifactId>\n                <version>${solrj.version}</version>\n            </dependency>\n            <!-- dubbo相关 -->\n            <dependency>\n                <groupId>com.alibaba</groupId>\n                <artifactId>dubbo</artifactId>\n                <version>${dubbo.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>org.apache.zookeeper</groupId>\n                <artifactId>zookeeper</artifactId>\n                <version>${zookeeper.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>com.github.sgroschupf</groupId>\n                <artifactId>zkclient</artifactId>\n                <version>${zkclient.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>org.apache.activemq</groupId>\n                <artifactId>activemq-all</artifactId>\n                <version>${activemq.version}</version>\n            </dependency>\n            <dependency>\n                <groupId>org.freemarker</groupId>\n                <artifactId>freemarker</artifactId>\n                <version>${freemarker.version}</version>\n            </dependency>\n\n        </dependencies>\n    </dependencyManagement>\n\n    <build>\n        <finalName>${project.artifactId}</finalName>\n        <plugins>\n            <!-- 资源文件拷贝插件 -->\n            <plugin>\n                <groupId>org.apache.maven.plugins</groupId>\n                <artifactId>maven-resources-plugin</artifactId>\n                <version>2.7</version>\n                <configuration>\n                    <encoding>UTF-8</encoding>\n                </configuration>\n            </plugin>\n            <!-- java编译插件 -->\n            <plugin>\n                <groupId>org.apache.maven.plugins</groupId>\n                <artifactId>maven-compiler-plugin</artifactId>\n                <version>3.2</version>\n                <configuration>\n                    <source>1.7</source>\n                    <target>1.7</target>\n                    <encoding>UTF-8</encoding>\n                </configuration>\n            </plugin>\n        </plugins>\n        <pluginManagement>\n            <plugins>\n                <!-- 配置Tomcat插件 -->\n                <plugin>\n                    <groupId>org.apache.tomcat.maven</groupId>\n                    <artifactId>tomcat7-maven-plugin</artifactId>\n                    <version>2.2</version>\n                </plugin>\n            </plugins>\n        </pluginManagement>\n    </build>\n\n\n\n</project>"
  },
  {
    "path": "migo-portal/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <modelVersion>4.0.0</modelVersion>\n    <parent>\n        <groupId>com.migo</groupId>\n        <artifactId>parent</artifactId>\n        <version>2.0-SNAPSHOT</version>\n    </parent>\n\n\n    <artifactId>migo-portal</artifactId>\n    <version>2.0-SNAPSHOT</version>\n    <packaging>war</packaging>\n\n    <dependencies>\n        <dependency>\n            <groupId>com.migo</groupId>\n            <artifactId>common</artifactId>\n            <version>2.0-SNAPSHOT</version>\n        </dependency>\n\n        <!-- 单元测试 -->\n        <dependency>\n            <groupId>junit</groupId>\n            <artifactId>junit</artifactId>\n            <scope>test</scope>\n        </dependency>\n\n        <dependency>\n            <groupId>org.springframework</groupId>\n            <artifactId>spring-webmvc</artifactId>\n        </dependency>\n\n        <dependency>\n            <groupId>org.slf4j</groupId>\n            <artifactId>slf4j-log4j12</artifactId>\n        </dependency>\n\n        <!-- Jackson Json处理工具包 -->\n        <dependency>\n            <groupId>com.fasterxml.jackson.core</groupId>\n            <artifactId>jackson-databind</artifactId>\n        </dependency>\n\n        <!-- JSP相关 -->\n        <dependency>\n            <groupId>jstl</groupId>\n            <artifactId>jstl</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>javax.servlet</groupId>\n            <artifactId>servlet-api</artifactId>\n            <scope>provided</scope>\n        </dependency>\n        <dependency>\n            <groupId>javax.servlet</groupId>\n            <artifactId>jsp-api</artifactId>\n            <scope>provided</scope>\n        </dependency>\n\n        <!-- Apache工具组件 -->\n        <dependency>\n            <groupId>org.apache.commons</groupId>\n            <artifactId>commons-lang3</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>org.apache.commons</groupId>\n            <artifactId>commons-io</artifactId>\n        </dependency>\n\n\n    </dependencies>\n\n    <build>\n        <plugins>\n            <plugin>\n                <groupId>org.apache.tomcat.maven</groupId>\n                <artifactId>tomcat7-maven-plugin</artifactId>\n                <configuration>\n                    <port>8082</port>\n                    <path>/</path>\n                </configuration>\n            </plugin>\n        </plugins>\n    </build>\n\n\n</project>"
  },
  {
    "path": "migo-portal/src/main/java/com/migo/portal/controller/IndexController.java",
    "content": "package com.migo.portal.controller;\r\n\r\nimport com.migo.portal.service.IndexService;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.ui.Model;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\nimport org.springframework.web.bind.annotation.RequestMethod;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/11/16.\r\n */\r\n@Controller\r\npublic class IndexController {\r\n    @Autowired\r\n    private IndexService indexService;\r\n    /**\r\n     * 首页\r\n     */\r\n    @RequestMapping(value = \"index\",method=RequestMethod.GET)\r\n    public String index(Model model){\r\n\r\n        String ad1 = this.indexService.queryAD1();\r\n        //传递给页面\r\n        model.addAttribute(\"indexAd1\",ad1);\r\n\r\n        return \"index\";\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-portal/src/main/java/com/migo/portal/controller/ItemController.java",
    "content": "package com.migo.portal.controller;\r\n\r\nimport com.migo.portal.pojo.Item;\r\nimport com.migo.portal.pojo.ItemDesc;\r\nimport com.migo.portal.service.ItemService;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.ui.Model;\r\nimport org.springframework.web.bind.annotation.PathVariable;\r\nimport org.springframework.web.bind.annotation.RequestMapping;\r\nimport org.springframework.web.bind.annotation.RequestMethod;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/9.\r\n */\r\n@Controller\r\n@RequestMapping(\"item\")\r\npublic class ItemController {\r\n    @Autowired\r\n    private ItemService itemService;\r\n\r\n\r\n    @RequestMapping(value = \"{itemId}\",method = RequestMethod.GET)\r\n    public String getItem(Model model, @PathVariable(value = \"itemId\") Long itemId){\r\n        Item item=this.itemService.queryItemByItemId(itemId);\r\n        model.addAttribute(\"item\",item);\r\n        ItemDesc itemDesc=this.itemService.queryItemDescByItemId(itemId);\r\n        model.addAttribute(\"itemDesc\",itemDesc);\r\n        String itemParamItem=this.itemService.queryItemParamItemByItemId(itemId);\r\n        model.addAttribute(\"itemParam\",itemParamItem);\r\n        return \"item\";\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-portal/src/main/java/com/migo/portal/pojo/Content.java",
    "content": "package com.migo.portal.pojo;\r\n\r\nimport java.util.Date;\r\n\r\npublic class Content {\r\n    private Long id;\r\n\r\n    private Long categoryId;\r\n\r\n    private String title;\r\n\r\n    private String subTitle;\r\n\r\n    private String titleDesc;\r\n\r\n    private String url;\r\n\r\n    private String pic;\r\n\r\n    private String pic2;\r\n\r\n    private Date created;\r\n\r\n    private Date updated;\r\n\r\n    private String content;\r\n\r\n    public Long getId() {\r\n        return id;\r\n    }\r\n\r\n    public void setId(Long id) {\r\n        this.id = id;\r\n    }\r\n\r\n    public Long getCategoryId() {\r\n        return categoryId;\r\n    }\r\n\r\n    public void setCategoryId(Long categoryId) {\r\n        this.categoryId = categoryId;\r\n    }\r\n\r\n    public String getTitle() {\r\n        return title;\r\n    }\r\n\r\n    public void setTitle(String title) {\r\n        this.title = title == null ? null : title.trim();\r\n    }\r\n\r\n    public String getSubTitle() {\r\n        return subTitle;\r\n    }\r\n\r\n    public void setSubTitle(String subTitle) {\r\n        this.subTitle = subTitle == null ? null : subTitle.trim();\r\n    }\r\n\r\n    public String getTitleDesc() {\r\n        return titleDesc;\r\n    }\r\n\r\n    public void setTitleDesc(String titleDesc) {\r\n        this.titleDesc = titleDesc == null ? null : titleDesc.trim();\r\n    }\r\n\r\n    public String getUrl() {\r\n        return url;\r\n    }\r\n\r\n    public void setUrl(String url) {\r\n        this.url = url == null ? null : url.trim();\r\n    }\r\n\r\n    public String getPic() {\r\n        return pic;\r\n    }\r\n\r\n    public void setPic(String pic) {\r\n        this.pic = pic == null ? null : pic.trim();\r\n    }\r\n\r\n    public String getPic2() {\r\n        return pic2;\r\n    }\r\n\r\n    public void setPic2(String pic2) {\r\n        this.pic2 = pic2 == null ? null : pic2.trim();\r\n    }\r\n\r\n    public Date getCreated() {\r\n        return created;\r\n    }\r\n\r\n    public void setCreated(Date created) {\r\n        this.created = created;\r\n    }\r\n\r\n    public Date getUpdated() {\r\n        return updated;\r\n    }\r\n\r\n    public void setUpdated(Date updated) {\r\n        this.updated = updated;\r\n    }\r\n\r\n    public String getContent() {\r\n        return content;\r\n    }\r\n\r\n    public void setContent(String content) {\r\n        this.content = content == null ? null : content.trim();\r\n    }\r\n}"
  },
  {
    "path": "migo-portal/src/main/java/com/migo/portal/pojo/Item.java",
    "content": "package com.migo.portal.pojo;\r\n\r\n\r\n\r\nimport org.apache.commons.lang3.StringUtils;\r\n\r\nimport java.util.Date;\r\n\r\n\r\npublic class Item  {\r\n\r\n\r\n    private Long id;\r\n\r\n    private String title;\r\n\r\n    private String sellPoint;\r\n\r\n    private Long price;\r\n\r\n    private Integer num;\r\n\r\n    private String barcode;\r\n\r\n    private String image;\r\n\r\n    private Long cid;\r\n\r\n    private Integer status;\r\n    private Date created;\r\n    private Date updated;\r\n\r\n    public String[] getImages(){\r\n        return StringUtils.split(this.getImage(),\",\");\r\n    }\r\n\r\n    public Date getCreated() {\r\n        return created;\r\n    }\r\n\r\n    public void setCreated(Date created) {\r\n        this.created = created;\r\n    }\r\n\r\n    public Date getUpdated() {\r\n        return updated;\r\n    }\r\n\r\n    public void setUpdated(Date updated) {\r\n        this.updated = updated;\r\n    }\r\n\r\n    public Long getId() {\r\n        return id;\r\n    }\r\n\r\n    public void setId(Long id) {\r\n        this.id = id;\r\n    }\r\n\r\n    public String getTitle() {\r\n        return title;\r\n    }\r\n\r\n    public void setTitle(String title) {\r\n        this.title = title;\r\n    }\r\n\r\n    public String getSellPoint() {\r\n        return sellPoint;\r\n    }\r\n\r\n    public void setSellPoint(String sellPoint) {\r\n        this.sellPoint = sellPoint;\r\n    }\r\n\r\n    public Long getPrice() {\r\n        return price;\r\n    }\r\n\r\n    public void setPrice(Long price) {\r\n        this.price = price;\r\n    }\r\n\r\n    public Integer getNum() {\r\n        return num;\r\n    }\r\n\r\n    public void setNum(Integer num) {\r\n        this.num = num;\r\n    }\r\n\r\n    public String getBarcode() {\r\n        return barcode;\r\n    }\r\n\r\n    public void setBarcode(String barcode) {\r\n        this.barcode = barcode;\r\n    }\r\n\r\n    public String getImage() {\r\n        return image;\r\n    }\r\n\r\n    public void setImage(String image) {\r\n        this.image = image;\r\n    }\r\n\r\n    public Long getCid() {\r\n        return cid;\r\n    }\r\n\r\n    public void setCid(Long cid) {\r\n        this.cid = cid;\r\n    }\r\n\r\n    public Integer getStatus() {\r\n        return status;\r\n    }\r\n\r\n    public void setStatus(Integer status) {\r\n        this.status = status;\r\n    }\r\n\r\n\r\n\r\n    @Override\r\n    public String toString() {\r\n        return \"Item [id=\" + id + \", title=\" + title + \", sellPoint=\" + sellPoint + \", price=\" + price\r\n                + \", num=\" + num + \", barcode=\" + barcode + \", image=\" + image + \", cid=\" + cid + \", status=\"\r\n                + status + \"]\";\r\n    }\r\n\r\n}\r\n"
  },
  {
    "path": "migo-portal/src/main/java/com/migo/portal/pojo/ItemDesc.java",
    "content": "package com.migo.portal.pojo;\r\n\r\nimport java.util.Date;\r\n\r\n\r\npublic class ItemDesc {\r\n    \r\n\r\n    private Long itemId;\r\n    \r\n    private String itemDesc;\r\n    private Integer status;\r\n    private Date created;\r\n    private Date updated;\r\n\r\n    public Date getCreated() {\r\n        return created;\r\n    }\r\n\r\n    public void setCreated(Date created) {\r\n        this.created = created;\r\n    }\r\n\r\n    public Integer getStatus() {\r\n        return status;\r\n    }\r\n\r\n    public void setStatus(Integer status) {\r\n        this.status = status;\r\n    }\r\n\r\n    public Date getUpdated() {\r\n        return updated;\r\n    }\r\n\r\n    public void setUpdated(Date updated) {\r\n        this.updated = updated;\r\n    }\r\n\r\n    public Long getItemId() {\r\n        return itemId;\r\n    }\r\n\r\n    public void setItemId(Long itemId) {\r\n        this.itemId = itemId;\r\n    }\r\n\r\n    public String getItemDesc() {\r\n        return itemDesc;\r\n    }\r\n\r\n    public void setItemDesc(String itemDesc) {\r\n        this.itemDesc = itemDesc;\r\n    }\r\n    \r\n    \r\n\r\n}\r\n"
  },
  {
    "path": "migo-portal/src/main/java/com/migo/portal/pojo/ItemParamItem.java",
    "content": "package com.migo.portal.pojo;\r\n\r\nimport java.util.Date;\r\n\r\npublic class ItemParamItem  {\r\n\r\n\r\n    private Long id;\r\n\r\n\r\n    private Long itemId;\r\n\r\n\r\n    private String paramData;\r\n    private Date created;\r\n    private Date updated;\r\n\r\n    public Date getCreated() {\r\n        return created;\r\n    }\r\n\r\n    public void setCreated(Date created) {\r\n        this.created = created;\r\n    }\r\n\r\n    public Date getUpdated() {\r\n        return updated;\r\n    }\r\n\r\n    public void setUpdated(Date updated) {\r\n        this.updated = updated;\r\n    }\r\n\r\n    public Long getId() {\r\n        return id;\r\n    }\r\n\r\n    public void setId(Long id) {\r\n        this.id = id;\r\n    }\r\n\r\n    public Long getItemId() {\r\n        return itemId;\r\n    }\r\n\r\n    public void setItemId(Long itemId) {\r\n        this.itemId = itemId;\r\n    }\r\n\r\n    public String getParamData() {\r\n        return paramData;\r\n    }\r\n\r\n    public void setParamData(String paramData) {\r\n        this.paramData = paramData;\r\n    }\r\n\r\n}\r\n"
  },
  {
    "path": "migo-portal/src/main/java/com/migo/portal/service/IndexService.java",
    "content": "package com.migo.portal.service;\r\n\r\nimport com.fasterxml.jackson.databind.JsonNode;\r\nimport com.fasterxml.jackson.databind.ObjectMapper;\r\nimport com.fasterxml.jackson.databind.node.ArrayNode;\r\nimport com.migo.portal.pojo.Content;\r\nimport com.migo.service.JedisClient;\r\nimport com.migo.utils.HttpClientUtil;\r\nimport com.migo.utils.JsonUtils;\r\nimport org.apache.commons.lang3.StringUtils;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.beans.factory.annotation.Value;\r\nimport org.springframework.stereotype.Service;\r\n\r\nimport java.util.ArrayList;\r\nimport java.util.LinkedHashMap;\r\nimport java.util.List;\r\nimport java.util.Map;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/4.\r\n */\r\n@Service\r\npublic class IndexService {\r\n    private static final String REDIS_KEY = \"MIGO_PORTAL_AD1\";\r\n\r\n    private static final Integer REDIS_TIME = 60 * 60 * 24;\r\n    @Autowired\r\n    private JedisClient jedisClient;\r\n\r\n\r\n    @Value(\"${MIGO_MANAGE_URL}\")\r\n    private String MIGO_MANAGE_URL;\r\n\r\n    @Value(\"${AD1_URL}\")\r\n    private String AD1_URL;\r\n\r\n    private static final ObjectMapper MAPPER = new ObjectMapper();\r\n\r\n    public String queryAD1(){\r\n        try {\r\n            // 从缓存中命中，如果命中返回，没有命中继续查询\r\n            String jsonData = jedisClient.get(REDIS_KEY);\r\n            if (StringUtils.isNotEmpty(jsonData)) {\r\n                return jsonData;\r\n            }\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n\r\n\r\n        try {\r\n            //调用后台管理系统的接口服务获取数据\r\n            String url=MIGO_MANAGE_URL+AD1_URL;\r\n            String jsonData = HttpClientUtil.doGet(url);\r\n            if (jsonData==null){\r\n                return null;\r\n            }\r\n            //解析json数据\r\n            JsonNode jsonNode = MAPPER.readTree(jsonData);\r\n            ArrayNode rows = (ArrayNode) jsonNode.get(\"rows\");\r\n            List<Content> contents = JsonUtils.jsonToList(String.valueOf(rows), Content.class);\r\n            List<Map<String,Object>> result1=new ArrayList<>();\r\n            for (Content content : contents) {\r\n                Map<String,Object> map=new LinkedHashMap<>();\r\n                map.put(\"srcB\",content.getPic());\r\n                map.put(\"height\",240);\r\n                map.put(\"alt\",content.getTitle());\r\n                map.put(\"width\",670);\r\n                map.put(\"src\",content.getPic2());\r\n                map.put(\"widthB\",550);\r\n                map.put(\"href\",content.getUrl());\r\n                map.put(\"heightB\",240);\r\n                result1.add(map);\r\n            }\r\n\r\n            try {\r\n                this.jedisClient.set(REDIS_KEY,JsonUtils.objectToJson(result1),REDIS_TIME);\r\n            } catch (Exception e) {\r\n                e.printStackTrace();\r\n            }\r\n\r\n            return JsonUtils.objectToJson(result1);\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n        return null;\r\n\r\n\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-portal/src/main/java/com/migo/portal/service/ItemService.java",
    "content": "package com.migo.portal.service;\r\n\r\nimport com.fasterxml.jackson.databind.JsonNode;\r\nimport com.fasterxml.jackson.databind.ObjectMapper;\r\nimport com.fasterxml.jackson.databind.node.ArrayNode;\r\nimport com.migo.portal.pojo.Item;\r\nimport com.migo.portal.pojo.ItemDesc;\r\nimport com.migo.portal.pojo.ItemParamItem;\r\nimport com.migo.service.JedisClient;\r\nimport com.migo.utils.HttpClientUtil;\r\nimport com.migo.utils.JsonUtils;\r\nimport org.apache.commons.lang3.StringUtils;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.beans.factory.annotation.Value;\r\nimport org.springframework.stereotype.Service;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/9.\r\n */\r\n@Service\r\npublic class ItemService {\r\n    private static final ObjectMapper MAPPER = new ObjectMapper();\r\n    @Autowired\r\n    private JedisClient jedisClient;\r\n\r\n    private static final String REDIS_KEY = \"MIGO_PORTAL\";\r\n\r\n\r\n    private static final Integer REDIS_TIME = 60 * 60 * 24 * 30;\r\n    @Value(\"${MIGO_MANAGE_URL}\")\r\n    private String MIGO_MANAGE_URL;\r\n    public Item queryItemByItemId(Long itemId) {\r\n\r\n        //添加缓存逻辑\r\n        String key=REDIS_KEY+\":\"+itemId+\":ITEM_DETAIL\";\r\n        try {\r\n\r\n            String redisJsonData = jedisClient.get(key);\r\n            if (StringUtils.isNotEmpty(redisJsonData)){\r\n                return JsonUtils.jsonToPojo(redisJsonData,Item.class);\r\n            }\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n\r\n        //正常业务逻辑\r\n        try {\r\n            String URL=MIGO_MANAGE_URL+\"/rest/webs/item/\"+itemId;\r\n            String doGetJsonData = HttpClientUtil.doGet(URL);\r\n            //将数据写入缓存中\r\n            try {\r\n                jedisClient.set(key,doGetJsonData,REDIS_TIME);\r\n            } catch (Exception e) {\r\n                e.printStackTrace();\r\n            }\r\n\r\n            return JsonUtils.jsonToPojo(doGetJsonData,Item.class);\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n        return null;\r\n    }\r\n\r\n    public ItemDesc queryItemDescByItemId(Long itemId) {\r\n        //添加缓存逻辑\r\n        String key=REDIS_KEY+\":\"+itemId+\":ITEM_DESC\";\r\n        try {\r\n\r\n            String redisJsonData = jedisClient.get(key);\r\n            if (StringUtils.isNotEmpty(redisJsonData)){\r\n                return JsonUtils.jsonToPojo(redisJsonData,ItemDesc.class);\r\n            }\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n\r\n        try {\r\n            String URL=MIGO_MANAGE_URL+\"/rest/webs/item/desc/\"+itemId;\r\n            String doGetJsonData = HttpClientUtil.doGet(URL);\r\n\r\n            //将数据写入缓存中\r\n            try {\r\n                jedisClient.set(key,doGetJsonData,REDIS_TIME);\r\n            } catch (Exception e) {\r\n                e.printStackTrace();\r\n            }\r\n\r\n            return JsonUtils.jsonToPojo(doGetJsonData,ItemDesc.class);\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n        return null;\r\n    }\r\n\r\n    public String queryItemParamItemByItemId(Long itemId) {\r\n        //添加缓存逻辑\r\n        String key=REDIS_KEY+\":\"+itemId+\":ITEM_PARAM_ITEM\";\r\n        try {\r\n            String redisJsonData = jedisClient.get(key);\r\n            if (StringUtils.isNotEmpty(redisJsonData)){\r\n                return redisJsonData;\r\n            }\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n        try {\r\n            String URL=MIGO_MANAGE_URL+\"/rest/webs/item/paramitem/\"+itemId;\r\n            String doGetJsonData = HttpClientUtil.doGet(URL);\r\n            ItemParamItem itemParamItem = JsonUtils.jsonToPojo(doGetJsonData, ItemParamItem.class);\r\n            String paramData = itemParamItem.getParamData();\r\n            ArrayNode arrayNode = (ArrayNode) MAPPER.readTree(paramData);\r\n            StringBuilder sb = new StringBuilder();\r\n            sb.append(\"<table cellpadding=\\\"0\\\" cellspacing=\\\"1\\\" width=\\\"100%\\\" border=\\\"0\\\" class=\\\"Ptable\\\"><tbody>\");\r\n            for (JsonNode param : arrayNode) {\r\n                sb.append(\"<tr><th class=\\\"tdTitle\\\" colspan=\\\"2\\\">\" + param.get(\"group\").asText()\r\n                        + \"</th></tr>\");\r\n                ArrayNode params = (ArrayNode) param.get(\"params\");\r\n                for (JsonNode p : params) {\r\n                    sb.append(\"<tr><td class=\\\"tdTitle\\\">\" + p.get(\"k\").asText() + \"</td><td>\"\r\n                            + p.get(\"v\").asText() + \"</td></tr>\");\r\n                }\r\n            }\r\n            sb.append(\"</tbody></table>\");\r\n\r\n            //将数据写入缓存中\r\n            try {\r\n                jedisClient.set(key,sb.toString(),REDIS_TIME);\r\n            } catch (Exception e) {\r\n                e.printStackTrace();\r\n            }\r\n\r\n            return sb.toString();\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n        return null;\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-portal/src/main/resources/evn/envi.properties",
    "content": "MIGO_MANAGE_URL=http://tomcat.migo.com\r\n\r\nAD1_URL=/rest/webs/content?categoryId=89&page=1&rows=6"
  },
  {
    "path": "migo-portal/src/main/resources/evn/log4j.properties",
    "content": "log4j.rootLogger=DEBUG,A1\r\nlog4j.logger.com.migo = DEBUG\r\nlog4j.logger.org.mybatis = DEBUG\r\n\r\nlog4j.appender.A1=org.apache.log4j.ConsoleAppender\r\nlog4j.appender.A1.layout=org.apache.log4j.PatternLayout\r\nlog4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n"
  },
  {
    "path": "migo-portal/src/main/resources/spring/applicationContext.xml",
    "content": "<beans xmlns=\"http://www.springframework.org/schema/beans\"\r\n\txmlns:context=\"http://www.springframework.org/schema/context\" xmlns:p=\"http://www.springframework.org/schema/p\"\r\n\txmlns:aop=\"http://www.springframework.org/schema/aop\" xmlns:tx=\"http://www.springframework.org/schema/tx\"\r\n\txmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n\txsi:schemaLocation=\"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd\r\n\thttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd\r\n\thttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd\r\n\thttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd\">\r\n\r\n\t<!-- 加载配置文件-->\r\n\t<context:property-placeholder location=\"classpath:evn/*.properties\"/>\r\n\r\n\t\r\n\t<!-- 扫描包 -->\r\n\t<context:component-scan base-package=\"com.migo\"/>\r\n\r\n\r\n\t<!-- 配置redis客户端单机版 -->\r\n\t<bean id=\"jedisPool\" class=\"redis.clients.jedis.JedisPool\">\r\n\t\t<constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n\t\t<constructor-arg name=\"port\" value=\"6379\"/>\r\n\t</bean>\r\n\t<!-- 配置redis客户端实现类 -->\r\n\t<bean id=\"jedisClientSingle\" class=\"com.migo.service.impl.JedisClientSingle\"/>\r\n\t<!-- 配置redis客户端集群版 -->\r\n\t<!--<bean id=\"jedisCluster\" class=\"redis.clients.jedis.JedisCluster\">\r\n       <constructor-arg>\r\n           <set>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7001\"/>\r\n               </bean>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7002\"/>\r\n               </bean>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7003\"/>\r\n               </bean>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7004\"/>\r\n               </bean>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7005\"/>\r\n               </bean>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7006\"/>\r\n               </bean>\r\n           </set>\r\n       </constructor-arg>\r\n   </bean>\r\n   <bean id=\"jedisClientCluster\" class=\"com.migo.service.impl.JedisClientCluster\"/>-->\r\n</beans>\r\n"
  },
  {
    "path": "migo-portal/src/main/resources/spring/springmvc.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<beans xmlns=\"http://www.springframework.org/schema/beans\"\r\n\txmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:p=\"http://www.springframework.org/schema/p\"\r\n\txmlns:context=\"http://www.springframework.org/schema/context\"\r\n\txmlns:mvc=\"http://www.springframework.org/schema/mvc\"\r\n\txsi:schemaLocation=\"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd\r\n        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd\r\n        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd\">\r\n\r\n\t<!-- 注解驱动 -->\r\n\t<mvc:annotation-driven/>\r\n\t\r\n\t<!-- Controller的扫描包 -->\r\n\t<context:component-scan base-package=\"com.migo.portal.controller\"/>\r\n\t\r\n\r\n\t<bean class=\"org.springframework.web.servlet.view.InternalResourceViewResolver\">\r\n\t\t<property name=\"prefix\" value=\"/WEB-INF/views/\"/>\r\n\t\t<property name=\"suffix\" value=\".jsp\"/>\r\n\t</bean>\r\n\t\r\n\t<!--<mvc:interceptors>\r\n\t\t<mvc:interceptor>\r\n\t\t\t<mvc:mapping path=\"/order/**\"/>\r\n\t\t\t&lt;!&ndash; 检测用户是否登录的拦截器 &ndash;&gt;\r\n\t\t\t<bean class=\"com.migo.portal.interceptor.UserLoginHandlerInterceptor\"/>\r\n\t\t</mvc:interceptor>\r\n\t</mvc:interceptors>-->\r\n\t\r\n</beans>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/commons/footer-links.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\"\r\n    pageEncoding=\"UTF-8\"%>\r\n<div id=\"footer-2013\">\r\n\t<div class=\"links\"><a href=\"http://www.jd.com/intro/about.aspx\" target=\"_blank\" rel=\"nofollow\">关于我们</a>|<a href=\"http://www.jd.com/contact/\" target=\"_blank\" rel=\"nofollow\">联系我们</a>|<a href=\"http://zhaopin.jd.com/\" target=\"_blank\" rel=\"nofollow\">人才招聘</a>|<a href=\"http://www.jd.com/contact/joinin.aspx\" target=\"_blank\" rel=\"nofollow\">商家入驻</a>|<a href=\"http://jzt.jd.com\" target=\"_blank\" rel=\"nofollow\">营销中心</a>|<a href=\"http://app.jd.com/\" target=\"_blank\" rel=\"nofollow\">手机咪购</a>|<a href=\"http://club.jd.com/links.aspx\" target=\"_blank\">友情链接</a>|<a href=\"http://media.jd.com/\" target=\"_blank\">销售联盟</a>|<a target=\"_blank\" href=\"http://club.jd.com/\">咪购社区</a>|<a target=\"_blank\" href=\"http://gongyi.jd.com\">咪购公益</a>|<a target=\"_blank\" href=\"http://en.jd.com/\">English Site</a></div>\r\n</div>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/commons/footer.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\"\r\n    pageEncoding=\"UTF-8\"%>\r\n<div class=\"w\" clstag=\"homepage|keycount|home2013|37a\">\r\n\t<div id=\"service-2013\">\r\n\t\t<dl class=\"fore1\">\r\n\t\t\t<dt><b></b><strong>购物指南</strong></dt>\r\n\t\t\t<dd>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-56.html\" target=\"_blank\" rel=\"nofollow\">购物流程</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-57.html\" target=\"_blank\" rel=\"nofollow\">会员介绍</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-181.html\" target=\"_blank\" rel=\"nofollow\">团购/机票</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-61.html\" target=\"_blank\" rel=\"nofollow\">常见问题</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-63.html\" target=\"_blank\" rel=\"nofollow\">大家电</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/index.html\" target=\"_blank\" rel=\"nofollow\">联系客服</a></div>\r\n\t\t\t</dd>\r\n\t\t</dl>\r\n\t\t<dl class=\"fore2\">\t\t\r\n\t\t\t<dt><b></b><strong>配送方式</strong></dt>\r\n\t\t\t<dd>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-64.html\" target=\"_blank\" rel=\"nofollow\">上门自提</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-360.html\" target=\"_blank\" rel=\"nofollow\">211限时达</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/distribution-768.html\" target=\"_blank\" rel=\"nofollow\">配送服务查询</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-892.html#help2215\" target=\"_blank\" rel=\"nofollow\">配送费收取标准</a></div>\r\n\t\t\t\t<div><a href=\"http://market.jd.com/giftcard/index.html#one5\" target=\"_blank\" rel=\"nofollow\">如何送礼</a></div>\r\n\t\t\t\t<div><a href=\"http://en.jd.com/chinese.html\" target=\"_blank\">海外配送</a></div>\r\n\t\t\t</dd>\r\n\t\t</dl>\r\n\t\t<dl class=\"fore3\">\r\n\t\t\t<dt><b></b><strong>支付方式</strong></dt>\r\n\t\t\t<dd>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-67.html\" target=\"_blank\" rel=\"nofollow\">货到付款</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-68.html\" target=\"_blank\" rel=\"nofollow\">在线支付</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-71.html\" target=\"_blank\" rel=\"nofollow\">分期付款</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-69.html\" target=\"_blank\" rel=\"nofollow\">邮局汇款</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-70.html\" target=\"_blank\" rel=\"nofollow\">公司转账</a></div>\r\n\t\t\t</dd>\r\n\t\t</dl>\r\n\t\t<dl class=\"fore4\">\t\t\r\n\t\t\t<dt><b></b><strong>售后服务</strong></dt>\r\n\t\t\t<dd>\r\n\t\t\t\t<div><a href=\"http://myjd.jd.com/afs/help/afshelp.action\" target=\"_blank\" rel=\"nofollow\">售后政策</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-99.html\" target=\"_blank\" rel=\"nofollow\">价格保护</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-100.html\" target=\"_blank\" rel=\"nofollow\">退款说明</a></div>\r\n\t\t\t\t<div><a href=\"http://myjd.jd.com/repair/repairs.action\" target=\"_blank\" rel=\"nofollow\">返修/退换货</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-881.html\" target=\"_blank\" rel=\"nofollow\">取消订单</a></div>\r\n\t\t\t</dd>\r\n\t\t</dl>\r\n\t\t<dl class=\"fore5\">\r\n\t\t\t<dt><b></b><strong>特色服务</strong></dt>\r\n\t\t\t<dd>\t\t\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-79.html\" target=\"_blank\">夺宝岛</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-86.html\" target=\"_blank\">DIY装机</a></div>\r\n\t\t\t\t<div><a href=\"http://fuwu.jd.com/\" target=\"_blank\" rel=\"nofollow\">延保服务</a></div>\r\n\t\t\t\t<div><a href=\"http://giftcard.jd.com/market/index.action\" target=\"_blank\" rel=\"nofollow\">咪购E卡</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-91.html\" target=\"_blank\" rel=\"nofollow\">节能补贴</a></div>\r\n\t\t\t\t<div><a href=\"http://mobile.jd.com/\" target=\"_blank\" rel=\"nofollow\">咪购通信</a></div>\r\n\t\t\t</dd>\r\n\t\t</dl>\r\n\t\t<div class=\"fr\">\r\n\t\t\t<div class=\"sm\" id=\"branch-office\">\r\n\t\t\t\t<div class=\"smt\">\r\n\t\t\t\t\t<h3>咪购自营覆盖区县</h3>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"smc\">\r\n\t\t\t\t\t<p>咪购已向全国1859个区县提供自营配送服务，支持货到付款、POS机刷卡和售后上门服务。</p>\r\n\t\t\t\t\t<p class=\"ar\"><a href=\"http://help.jd.com/help/distribution-768.html\" target=\"_blank\">查看详情&nbsp;></a></p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<span class=\"clr\"></span>\r\n\t</div>\r\n</div>\r\n<div class=\"w\" clstag=\"homepage|keycount|home2013|38a\">\r\n\t<jsp:include page=\"footer-links.jsp\"></jsp:include>\r\n</div>\r\n<script type=\"text/javascript\" src=\"/js/jquery-1.2.6.min.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/jquery-extend.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/lib-v1.js\" charset=\"utf-8\"></script>\r\n<script type=\"text/javascript\" src=\"/js/migo.js\" charset=\"utf-8\"></script>\r\n<script type=\"text/javascript\"> (function(){\r\nvar A=\"<strong>热门搜索：</strong><a href='http://sale.jd.com/act/OfHQzJ2GLoYlmTIu.html' target='_blank' style='color:#ff0000' clstag='homepage|keycount|home2013|03b1'>校园之星</a><a href='http://sale.jd.com/act/aEBHqLFMfVzDZUvu.html' target='_blank'>办公打印</a><a href='http://www.jd.com/pinpai/878-12516.html' target='_blank'>美菱冰箱</a><a href='http://sale.jd.com/act/nuzKb6ZiYL.html' target='_blank'>无肉不欢</a><a href='http://sale.jd.com/act/ESvhtcAJNbaj.html' target='_blank'>万件好货</a><a href='http://sale.jd.com/act/nAqiWgU34frQolt.html' target='_blank'>iPhone6</a><a href='http://sale.jd.com/act/p0CmUlEFPHLX.html' target='_blank'>哈利波特</a><a href='http://sale.jd.com/act/FstSdb2vCOLa8BRi.html' target='_blank'>美模接驾</a>\";\r\nvar B=[\"java\",\"apple\",\"LG G3\",\"天梭\",\"保温杯\",\"三个爸爸\"];\r\nB=pageConfig.FN_GetRandomData(B);\r\n$(\"#hotwords\").html(A);\r\nvar _searchValue = \"${query}\";\r\nif(_searchValue.length == 0){\r\n\t_searchValue = B;\r\n}\r\n$(\"#key\").val(_searchValue).bind(\"focus\",function(){if (this.value==B){this.value=\"\";this.style.color=\"#333\"}}).bind(\"blur\",function(){if (!this.value){this.value=B;this.style.color=\"#999\"}});\r\n})();\r\n</script>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/commons/header.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\"\r\n    pageEncoding=\"UTF-8\"%>\r\n<script type=\"text/javascript\" src=\"/js/base-v1.js\" charset=\"utf-8\"></script>\r\n<!--shortcut start-->\r\n<jsp:include page=\"../commons/shortcut.jsp\" />\r\n<!--shortcut end-->\r\n<div id=\"o-header-2013\">\r\n\t<div class=\"w\" id=\"header-2013\">\r\n\t\t<div id=\"logo-2013\" class=\"ld\"><a href=\"http://www.migo.com/\" hidefocus=\"true\" clstag=\"homepage|keycount|home2013|02a\"><b></b><img src=\"/images/migo-logo.gif\" width=\"270\" height=\"60\" alt=\"咪购\"></a></div>\r\n\t\t<!--logo end-->\r\n\t\t<div id=\"search-2013\">\r\n\t\t\t<div class=\"i-search ld\">\r\n\t\t\t\t<ul id=\"shelper\" class=\"hide\">\r\n\t\t\t\t</ul>\r\n\t\t\t\t<div class=\"form\">\r\n\t\t\t\t\t<input type=\"text\" class=\"text\" accesskey=\"s\" id=\"key\" autocomplete=\"off\" onkeydown=\"javascript:if(event.keyCode==13) search('key');\">\r\n\t\t\t\t\t<input type=\"button\" value=\"搜索\" class=\"button\" onclick=\"search('key');return false;\" clstag=\"homepage|keycount|home2013|03a\">\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div id=\"hotwords\" clstag=\"homepage|keycount|home2013|03b\"></div>\r\n\t\t</div>\r\n\t\t<!--search end-->\r\n\t\t<div id=\"my360buy-2013\">\r\n\t\t\t<dl>\r\n\t\t\t\t<dt class=\"ld\"><s></s><a href=\"http://home.jd.com/\" clstag=\"homepage|keycount|home2012|04a\">我的咪购</a><b></b></dt>\r\n\t\t\t\t<dd>\r\n\t\t\t\t\t<div class=\"loading-style1\"><b></b>加载中，请稍候...</div>\r\n\t\t\t\t</dd>\r\n\t\t\t</dl>\r\n\t\t</div>\r\n\t\t<!--my360buy end-->\r\n\t\t<div id=\"settleup-2013\" clstag=\"homepage|keycount|home2013|05a\">\r\n\t\t\t<dl>\r\n\t\t\t\t<dt class=\"ld\"><s></s><span class=\"shopping\"><span id=\"shopping-amount\"></span></span><a href=\"http://www.migo.com/cart.html\" id=\"settleup-url\">去购物车结算</a> <b></b> </dt>\r\n<!-- \t\t\t\t<dd>\r\n\t\t\t\t\t<div class=\"prompt\">\r\n\t\t\t\t\t\t<div class=\"loading-style1\"><b></b>加载中，请稍候...</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</dd>\r\n -->\t\t\t</dl>\r\n\t\t</div>\r\n\t\t<!--settleup end-->\r\n\t</div>\r\n\t<!--header end-->\r\n\t<div class=\"w\">\r\n\t\t<div id=\"nav-2013\">\r\n\t\t\t<div id=\"categorys-2013\" class=\"categorys-2014\">\r\n\t\t\t\t<div class=\"mt ld\">\r\n\t\t\t\t\t<h2><a href=\"http://www.jd.com/allSort.aspx\" clstag=\"homepage|keycount|home2013|06a\">全部商品分类<b></b></a></h2>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div id=\"_JD_ALLSORT\" class=\"mc\">\r\n\t\t\t\t\t<div class=\"item fore1\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/1.html\">图书、音像、电子书刊</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore2\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/74.html\">家用电器</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore3\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/161.html\">电脑、办公</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore4\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/249.html\">个护化妆</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore5\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/290.html\">钟表</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore6\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/296.html\">母婴</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore7\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/378.html\">食品饮料、保健食品</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore8\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/438.html\">汽车用品</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore9\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/495.html\">玩具乐器</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore10\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/558.html\">手机</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore11\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/580.html\">数码</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore12\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/633.html\">家居家装</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore13\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/699.html\">厨具</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore14\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/749.html\">服饰内衣</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"extra\">\r\n\t\t\t\t\t\t<a {if=\"\" pageconfig.ishome}clstag=\"homepage|keycount|home2013|0614a\"\r\n\t\t\t\t\t\t\t{=\"\" if}=\"\" href=\"http://www.jd.com/allSort.aspx\">全部商品分类</a>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div id=\"treasure\" clstag=\"homepage|keycount|home2013|08a\"></div>\r\n\t\t\t\t<ul id=\"navitems-2013\">\r\n\t\t\t\t\t<li class=\"fore1\" id=\"nav-home\" clstag=\"homepage|keycount|home2013|07a\"><a href=\"http://www.migo.com/\">首页</a></li>\r\n\t\t\t\t\t<li class=\"fore2\" id=\"nav-fashion\" clstag=\"homepage|keycount|home2013|07b\"><a href=\"http://fashion.jd.com/\">服装城</a></li>\r\n\t\t\t\t\t<li class=\"fore3\" id=\"nav-chaoshi\" clstag=\"homepage|keycount|home2013|07c\"><a href=\"http://channel.jd.com/chaoshi.html\">食品</a></li>\r\n\t\t\t\t\t<li class=\"fore4\" id=\"nav-tuan\" clstag=\"homepage|keycount|home2013|07d\"><a href=\"http://tuan.jd.com/\" target=\"_blank\">团购</a></li>\r\n\t\t\t\t\t<li class=\"fore5\" id=\"nav-auction\" clstag=\"homepage|keycount|home2013|07e\"><a href=\"http://auction.jd.com/\">夺宝岛</a></li>\r\n\t\t\t\t\t<li class=\"fore6\" id=\"nav-shan\" clstag=\"homepage|keycount|home2013|07f\"><a href=\"http://red.jd.com/\" target=\"_blank\">闪购</a></li>\r\n\t\t\t\t\t<li class=\"fore7\" id=\"nav-jinrong\" clstag=\"homepage|keycount|home2013|07g1\"><a href=\"http://jr.jd.com/\" target=\"_blank\">金融</a></li>\r\n\t\t\t\t</ul>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<script type=\"text/javascript\">\r\n(function(){if(pageConfig.navId){var object=document.getElementById(\"nav-\"+pageConfig.navId);if(object)object.className+=\" curr\";}})();\r\n</script>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/commons/shortcut.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<div id=\"shortcut-2013\">\r\n\t<div class=\"w\">\r\n\t\t<ul class=\"fl lh\">\r\n\t\t\t<li class=\"fore1 ld\" clstag=\"homepage|keycount|home2013|01a\"><b></b><a href=\"javascript:addToFavorite()\" rel=\"nofollow\">收藏咪购</a></li>\r\n\t\t</ul>\r\n\t\t<ul class=\"fr lh\">\r\n\t\t\t<li class=\"fore1\" id=\"loginbar\" clstag=\"homepage|keycount|home2013|01b\">您好！欢迎来到咪购！<a href=\"javascript:login()\">[登录]</a>&nbsp;<a href=\"javascript:regist()\">[免费注册]</a></li>\r\n\t\t\t<li class=\"fore2 ld\" clstag=\"homepage|keycount|home2013|01c\">\r\n\t\t\t\t<s></s>\r\n\t\t\t\t<a href=\"http://jd2008.jd.com/JdHome/OrderList.aspx\" rel=\"nofollow\">我的订单</a>\r\n\t\t\t</li>\r\n\t\t\t<li class=\"fore2-1 ld\" id=\"jd-vip\">\r\n\t\t\t\t<s></s>\r\n\t\t\t\t<a target=\"_blank\" rel=\"nofollow\" href=\"http://vip.jd.com\">会员俱乐部</a>\r\n\t\t\t</li>\r\n\t\t\t<li class=\"fore3 ld menu\" id=\"app-jd\" data-widget=\"dropdown\" clstag=\"homepage|keycount|home2013|01d\">\r\n\t\t\t\t<s></s><i></i><span class=\"outline\"></span><span class=\"blank\"></span>\r\n\t\t\t\t<a href=\"http://app.jd.com/\" target=\"_blank\">手机咪购</a><b></b>\r\n\t\t\t</li>\r\n\t\t\t<li class=\"fore4 ld menu\" id=\"biz-service\" data-widget=\"dropdown\" clstag=\"homepage|keycount|home2013|01e\">\r\n\t\t\t\t<s></s>\r\n\t\t\t\t<span class=\"outline\"></span>\r\n\t\t\t\t<span class=\"blank\"></span>\r\n\t\t\t\t客户服务\r\n\t\t\t\t<b></b>\r\n\t\t\t\t<div class=\"dd\">\r\n\t\t\t\t\t<div><a href=\"http://help.jd.com/index.html\" target=\"_blank\">帮助中心</a></div>\r\n\t\t\t\t\t<div><a href=\"http://myjd.jd.com/repair/orderlist.action\" target=\"_blank\" rel=\"nofollow\">售后服务</a></div>\r\n\t\t\t\t\t<div><a href=\"http://chat.jd.com/jdchat/custom.action\" target=\"_blank\" rel=\"nofollow\">在线客服</a></div>\r\n\t\t\t\t\t<div><a href=\"http://myjd.jd.com/opinion/list.action\" target=\"_blank\" rel=\"nofollow\">投诉中心</a></div>\r\n\t\t\t\t\t<div><a href=\"http://www.jd.com/contact/service.html\" target=\"_blank\">客服邮箱</a></div>\r\n\t\t\t\t</div>\r\n\t\t\t</li>\r\n\t\t\t<li class=\"fore5 ld menu\" id=\"site-nav\" data-widget=\"dropdown\" clstag=\"homepage|keycount|home2013|01f\">\r\n\t\t\t\t<s></s>\r\n\t\t\t\t<span class=\"outline\"></span>\r\n\t\t\t\t<span class=\"blank\"></span>\r\n\t\t\t\t网站导航\r\n\t\t\t\t<b></b>\r\n\t\t\t\t<div class=\"dd lh\">\r\n\t\t\t\t\t<dl class=\"item fore1\">\r\n\t\t\t\t\t\t<dt>特色栏目</dt>\r\n\t\t\t\t\t\t<dd>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://mobile.jd.com/index.do\">咪购通信</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://jdstar.jd.com/\">校园之星</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://my.jd.com/personal/guess.html\">为我推荐</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://shipingou.jd.com/\">视频购物</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://club.jd.com/\">咪购社区</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://read.jd.com/\">在线读书</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://diy.jd.com/\">装机大师</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://giftcard.jd.com/market/index.action\">咪购E卡</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://channel.jd.com/jiazhuang.html\">家装城</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://dapeigou.jd.com/\">搭配购</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://xihuan.jd.com/\">我喜欢</a></div>\r\n\t\t\t\t\t\t</dd>\r\n\t\t\t\t\t</dl>\r\n\t\t\t\t\t<dl class=\"item fore2\">\r\n\t\t\t\t\t\t<dt>企业服务</dt>\r\n\t\t\t\t\t\t<dd>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://giftcard.jd.com/company/index\">企业客户</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://sale.jd.com/p10997.html\">办公直通车</a></div>\r\n\t\t\t\t\t\t</dd>\r\n\t\t\t\t\t</dl>\r\n\t\t\t\t\t<dl class=\"item fore3\">\r\n\t\t\t\t\t\t<dt>旗下网站</dt>\r\n\t\t\t\t\t\t<dd>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://en.jd.com/\">English Site</a></div>\r\n\t\t\t\t\t\t</dd>\r\n\t\t\t\t\t</dl>\r\n\t\t\t\t</div>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t\t<span class=\"clr\"></span>\r\n\t</div>\r\n</div>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/cart.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<%@ taglib prefix=\"c\" uri=\"http://java.sun.com/jsp/jstl/core\" %>\r\n<%@ taglib prefix=\"fmt\" uri=\"http://java.sun.com/jsp/jstl/fmt\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\"><head>\r\n   <meta http-equiv=\"pragma\" content=\"no-cache\">\r\n   <meta http-equiv=\"cache-control\" content=\"no-cache\">\r\n   <meta http-equiv=\"expires\" content=\"0\"> \r\n   <meta name=\"format-detection\" content=\"telephone=no\">  \r\n   <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no\"> \r\n   <meta name=\"format-detection\" content=\"telephone=no\">\r\n   <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\r\n   <link rel=\"stylesheet\" href=\"/css/base.css\">\r\n   <link href=\"/css/purchase.2012.css?v=201410141639\" rel=\"stylesheet\" type=\"text/css\">\r\n   <title>我的购物车 - 咪购商城</title>\r\n   <script>\r\n   \tvar pageConfig  = {};\r\n   </script>\r\n<body> \r\n<!--shortcut start-->\r\n<jsp:include page=\"../commons/shortcut.jsp\" />\r\n<!--shortcut end-->\r\n<div class=\"w w1 header clearfix\">\r\n\t<div id=\"logo\"><a href=\"http://www.migo.com/\"><img clstag=\"clickcart|keycount|xincart|logo\" src=\"/images/migo-logo.gif\" title=\"返回咪购商城首页\" alt=\"返回咪购商城首页\"></a></div>\r\n    <div class=\"language\"><a href=\"javascript:void(0);\" onclick=\"toEnCart()\"></a></div>\r\n\t<div class=\"progress clearfix\">\r\n\t\t<ul class=\"progress-1\">\r\n\t\t\t<li class=\"step-1\"><b></b>1.我的购物车</li>\r\n\t\t\t<li class=\"step-2\"><b></b>2.填写核对订单信息</li>\r\n\t\t\t<li class=\"step-3\">3.成功提交订单</li>\r\n\t\t</ul>\r\n\t</div>\r\n</div>\r\n<div class=\"w cart\">\r\n\t<div class=\"cart-hd group\">\r\n\t\t<h2>我的购物车</h2>\r\n\t\t<span id=\"show2\" class=\"fore\"> <span>现在&nbsp;</span><a class=\"btn\" href=\"javascript:goToLogin();\"><span class=\"btn-text\">登录</span></a><span>， 您购物车中的商品将被永久保存</span>\r\n </span>\r\n\t</div>\r\n\t<div id=\"show\">\r\n\t\r\n<div class=\"cart-frame\">\r\n    <div class=\"tl\"></div>\r\n    <div class=\"tr\"></div>\r\n</div>\r\n<div class=\"cart-inner\">\r\n    <div class=\"cart-thead clearfix\">\r\n        <div class=\"column t-checkbox form\"><input data-cart=\"toggle-cb\" name=\"toggle-checkboxes\" id=\"toggle-checkboxes_up\" type=\"checkbox\" checked=\"\" value=\"\"><label for=\"toggle-checkboxes_up\">全选</label></div>\r\n        <div class=\"column t-goods\">商品</div>\r\n        <div class=\"column t-price\">京东价</div>\r\n        <div class=\"column t-promotion\">优惠</div>\r\n        <div class=\"column t-inventory\">库存</div>\r\n        <div class=\"column t-quantity\">数量</div>\r\n        <div class=\"column t-action\">操作</div>\r\n    </div>\r\n    <div id=\"product-list\" class=\"cart-tbody\">\r\n        <!-- ************************商品开始********************* -->\r\n        <c:set var=\"totalPrice\" value=\"0\"></c:set>\r\n        <c:forEach items=\"${cartList}\" var=\"cart\">\r\n        \t<c:set var=\"totalPrice\"  value=\"${ totalPrice + (cart.itemPrice * cart.num)}\"/>\r\n\t        <div id=\"product_11345721\" data-bind=\"rowid:1\" class=\"item item_selected \">\r\n\t\t        <div class=\"item_form clearfix\">\r\n\t\t            <div class=\"cell p-checkbox\"><input data-bind=\"cbid:1\" class=\"checkbox\" type=\"checkbox\" name=\"checkItem\" checked=\"\" value=\"11345721-1\"></div>\r\n\t\t            <div class=\"cell p-goods\">\r\n\t\t                <div class=\"p-img\">\r\n\t\t                \t<a href=\"http://www.migo.com/item/${cart.itemId }.html\" target=\"_blank\">\r\n\t\t                \t\t<img clstag=\"clickcart|keycount|xincart|p-imglistcart\" src=\"${cart.itemImage}\" alt=\"${cart.itemTitle}\" width=\"52\" height=\"52\">\r\n\t\t                \t</a>\r\n\t\t                </div>    \r\n\t\t                <div class=\"p-name\">\r\n\t\t                \t<a href=\"http://www.migo.com/item/${cart.itemId }.html\" clstag=\"clickcart|keycount|xincart|productnamelink\" target=\"_blank\">${cart.itemTitle}</a>\r\n\t\t                \t<span class=\"promise411 promise411_11345721\" id=\"promise411_11345721\"></span>\r\n\t\t                </div>    \r\n\t\t            </div>\r\n\t\t            <div class=\"cell p-price\"><span class=\"price\">¥<fmt:formatNumber groupingUsed=\"false\" value=\"${cart.itemPrice / 100}\" maxFractionDigits=\"2\" minFractionDigits=\"2\"/> </span></div>\r\n\t\t            <div class=\"cell p-promotion\">\r\n\t\t            </div>\r\n\t\t            <div class=\"cell p-inventory stock-11345721\">有货</div>\r\n\t\t            <div class=\"cell p-quantity\" for-stock=\"for-stock-11345721\">\r\n\t\t                <div class=\"quantity-form\" data-bind=\"\">\r\n\t\t                    <a href=\"javascript:void(0);\" class=\"decrement\" clstag=\"clickcart|keycount|xincart|diminish1\" id=\"decrement\">-</a>\r\n\t\t                    <input type=\"text\" class=\"quantity-text\" itemPrice=\"${cart.itemPrice}\" itemId=\"${cart.itemId}\" value=\"${cart.num }\" id=\"changeQuantity-11345721-1-1-0\">\r\n\t\t                    <a href=\"javascript:void(0);\" class=\"increment\" clstag=\"clickcart|keycount|xincart|add1\" id=\"increment\">+</a>\r\n\t\t                </div>\r\n\t\t            </div>\r\n\t\t            <div class=\"cell p-remove\"><a id=\"remove-11345721-1\" data-more=\"removed-87.20-1\" clstag=\"clickcart|keycount|xincart|btndel318558\" class=\"cart-remove\" href=\"/cart/delete/${cart.itemId}.html\">删除</a>\r\n\t\t            </div>\r\n\t\t        </div>\r\n\t        </div> \r\n        </c:forEach>\r\n        \r\n    </div><!-- product-list结束 -->\r\n          <div class=\"cart-toolbar clearfix\">\r\n            <div class=\"total fr\">\r\n                <p><span class=\"totalSkuPrice\">¥<fmt:formatNumber value=\"${totalPrice / 100}\" maxFractionDigits=\"2\" minFractionDigits=\"2\" groupingUsed=\"true\"/></span>总计：</p>\r\n                <p><span id=\"totalRePrice\">- ¥0.00</span>优惠：</p>\r\n            </div>\r\n            <div class=\"amout fr\"><span id=\"selectedCount\">1</span> 件商品</div>\r\n        </div>\r\n        <div class=\"ui-ceilinglamp-1\" style=\"width: 988px; height: 49px;\"><div class=\"cart-dibu ui-ceilinglamp-current\" style=\"width: 988px; height: 49px;\">\r\n          <div class=\"control fdibu fdibucurrent\">\r\n              <span class=\"column t-checkbox form\">\r\n                  <input data-cart=\"toggle-cb\" name=\"toggle-checkboxes\" id=\"toggle-checkboxes_down\" type=\"checkbox\" checked=\"\" value=\"\" class=\"jdcheckbox\">\r\n                  <label for=\"toggle-checkboxes_down\">\r\n                          全选\r\n                  </label>\r\n              </span>\r\n              <span class=\"delete\">\r\n                  <b>\r\n                  </b>\r\n                  <a href=\"javascript:void(0);\" clstag=\"clickcart|keycount|xincart|clearcartlink\" id=\"remove-batch\">\r\n                          删除选中的商品\r\n                  </a>\r\n              </span>\r\n              <span class=\"shopping\">\r\n                  <b>\r\n                  </b>\r\n                  <a href=\"http://www.migo.com/\" target=\"_blank\" clstag=\"clickcart|keycount|xincart|coudanlink\" id=\"continue\">继续购物</a>\r\n              </span>\r\n          </div>\r\n          <div class=\"cart-total-2014\">\r\n              <div class=\"cart-button\">\r\n                  <span class=\"check-comm-btns\" id=\"checkout-jd\">\r\n                      <a class=\"checkout\" href=\"/order/create.html\" clstag=\"clickcart|keycount|xincart|gotoOrderInfo\" id=\"toSettlement\">去结算<b></b></a>\r\n                  </span>\r\n                  <span class=\"combine-btns\" style=\"display:none\">\r\n                        <span class=\"fore1\" style=\"display: none;\">\r\n                          <a href=\"\" class=\"combine-btn\">不支持合并付款</a>\r\n                      </span>\r\n                      <span class=\"fore2 hide\" style=\"display: inline;\">\r\n                          <a href=\"javascript:goToOverseaOrder();\" class=\"checkout-jdInt\">去京东国际结算<b></b></a>\r\n                          <a href=\"javascript:goToOrder();\" class=\"checkout-jd\">去京东结算<b></b></a>\r\n                      </span>\r\n                  </span>\r\n              </div>\r\n              <div class=\"total fr\">\r\n                  总计（不含运费）：\r\n                  <span class=\"totalSkuPrice\">¥<fmt:formatNumber value=\"${totalPrice / 100}\" maxFractionDigits=\"2\" minFractionDigits=\"2\" groupingUsed=\"true\"/></span>\r\n              </div>\r\n          </div>\r\n      </div></div>\r\n</div><!-- cart-inner结束 -->\r\n</div>\r\n</div>\r\n<!--推荐位html修改处-->\r\n\r\n\r\n<script type=\"text/javascript\" src=\"/js/base-v1.js\"></script>\r\n<!-- footer start -->\r\n<jsp:include page=\"../commons/footer.jsp\" />\r\n<!-- footer end -->\r\n\r\n<!-- 购物车相关业务 -->\r\n<script type=\"text/javascript\" src=\"/js/cart.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/jquery.price_format.2.0.min.js\"></script>\r\n\r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/error/exception.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\r\n<title>Exception</title>\r\n</head>\r\n<body>\r\n\t<h1>Exception</h1>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/error/my-exception.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\r\n<title>My-Exception</title>\r\n</head>\r\n<body>\r\n\t<h1>My-Exception</h1>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/index.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<%@ page session=\"false\" %>\r\n<%@ taglib prefix=\"c\" uri=\"http://java.sun.com/jsp/jstl/core\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\r\n<title>咪购网上商城-综合网购首选（JD.COM）-正品低价、品质保障、货到付款、配送及时、放心服务、轻松购物！</title>\r\n<meta name=\"description\" content=\"咪购JD.COM-专业的综合网上购物商城，在线销售家电、数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品、在线旅游等数万个品牌千万种优质商品。便捷、诚信的服务，为您提供愉悦的网上商城购物体验! \">\r\n<meta name=\"Keywords\" content=\"网上购物,网上商城,手机,笔记本,电脑,MP3,CD,VCD,DV,相机,数码,配件,手表,存储卡,咪购商城\">\r\n<link href=\"/css/migo.css\" rel=\"stylesheet\"/>\r\n<script type=\"text/javascript\">\r\n\twindow.pageConfig={\r\n\tcompatible:true,\r\n\tnavId:\"home\",\r\n\tenableArea: true\r\n\t};\r\n</script>\r\n<style type=\"text/css\">\r\n#categorys-2013 .mc {\r\n\tdisplay: block;\r\n}\r\n#categorys-2013 .mt {\r\n\tbackground: 0\r\n}\r\n</style>\r\n</head>\r\n<body>\r\n<!-- header start -->\r\n<jsp:include page=\"../commons/header.jsp\" />\r\n<!-- header end -->\r\n<div class=\"w\">\r\n<div id=\"o-slide\">\r\n<div class=\"slide\" id=\"slide\">\r\n<script type=\"text/javascript\">\r\n;(function(cfg, doc) {\r\n    if ( !cfg.DATA_MSlide ) {\r\n        cfg.DATA_MSlide=[];\r\n    }\r\n    var data = ${indexAd1};\r\n\r\n\r\n    cfg.DATA_MSlide = data;\r\n    // 初始化一个广告信息\r\n    if ( cfg.DATA_MSlide.length > 5 ) {\r\n    \tvar first = pageConfig.FN_GetCompatibleData( cfg.DATA_MSlide[0] );\r\n        var TPL = ''\r\n            +'<ul class=\"slide-items\">'\r\n            +'<li clstag=\"homepage|keycount|home2013|09a1\">'\r\n            +'<a href=\"'+ first.href +'\" target=\"_blank\" title=\"'+ first.alt +'\">'\r\n            +'<img src=\"'+ first.src +'\" width=\"'+ first.width +'\" height=\"'+ first.height +'\" >'\r\n            +'</a>'\r\n            +'</li>'\r\n            +'</ul><div class=\"slide-controls\"><span class=\"curr\">1</span></div>';\r\n        doc.write(TPL);\r\n    }\r\n})(pageConfig, document);;</script>\r\n</div><!--slide end-->\r\n<div class=\"jscroll\" id=\"mscroll\">\r\n<div class=\"ctrl\" id=\"mscroll-ctrl-prev\"><b></b></div>\r\n<div class=\"ctrl\" id=\"mscroll-ctrl-next\"><b></b></div>\r\n<div class=\"o-list\">\r\n<div class=\"list\" id=\"mscroll-list\"></div>\r\n</div>\r\n</div><!--mscroll end-->\r\n<script type=\"text/javascript\">\r\npageConfig.DATA_MScroll =[\r\n    {\r\n        \"alt\": \"\",\r\n        \"href\": \"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3679&bid=4127&unit=36312&advid=107474&guv=&url=http://sale.jd.com/act/hG3N4B2nt6XUCA.html\",\r\n        \"index\": 0,\r\n        \"src\": \"http://img11.360buyimg.com/da/jfs/t382/296/691255709/13325/afe321fd/542907d2Nedd5849c.jpg\",\r\n        \"ext\": \"\"\r\n    },\r\n    {\r\n        \"alt\": \"\",\r\n        \"href\": \"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3679&bid=4147&unit=36313&advid=109021&guv=&url=http://sale.jd.com/act/CMNjF21UasZ5ouD.html\",\r\n        \"index\": 1,\r\n        \"src\": \"http://img13.360buyimg.com/da/jfs/t283/161/1609640628/12590/ecd295d3/543f2a46N876265d2.jpg\",\r\n        \"ext\": \"\"\r\n    },\r\n    {\r\n        \"alt\": \"\",\r\n        \"href\": \"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3679&bid=4117&unit=36438&advid=108949&guv=&url=http://sale.jd.com/act/u7nZbvw8pcX.html\",\r\n        \"index\": 2,\r\n        \"src\": \"http://img14.360buyimg.com/da/jfs/t343/107/1701086212/14927/28286262/54407540N2aace14b.jpg\",\r\n        \"ext\": \"\"\r\n    },\r\n    {\r\n        \"alt\": \"\",\r\n        \"href\": \"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3679&bid=4186&unit=36439&advid=109213&guv=&url=http://jmall.jd.com/shop/fotile/index.html\",\r\n        \"index\": 3,\r\n        \"src\": \"http://img10.360buyimg.com/da/jfs/t310/224/1720371440/7690/f8d25a3d/5440a78bN79d1c1c0.jpg\",\r\n        \"ext\": \"\"\r\n    },\r\n    {\r\n        \"alt\": \"\",\r\n        \"href\": \"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3679&bid=4195&unit=36440&advid=109092&guv=&url=http://jmall.jd.com/p203378.html\",\r\n        \"index\": 4,\r\n        \"src\": \"http://img11.360buyimg.com/da/jfs/t325/95/1665113883/11374/acc43523/543f97a1N5caa7267.jpg\",\r\n        \"ext\": \"\"\r\n    },\r\n    {\r\n        \"alt\": \"\",\r\n        \"href\": \"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3679&bid=4205&unit=36441&advid=109294&guv=&url=http://sale.jd.com/act/B1wcFZqvaeg.html\",\r\n        \"index\": 5,\r\n        \"src\": \"http://img13.360buyimg.com/da/jfs/t304/3/1721407024/12521/225e8303/5440ebe8N8e04f88d.jpg\",\r\n        \"ext\": \"\"\r\n    },\r\n    {\r\n        \"alt\": \"\",\r\n        \"href\": \"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3679&bid=4071&unit=36632&advid=109125&guv=&url=http://sale.jd.com/act/azgJFt1nOK.html\",\r\n        \"index\": 6,\r\n        \"src\": \"http://img13.360buyimg.com/da/jfs/t349/295/1695471355/9379/2325a0a1/54407591Nb4735d70.jpg\",\r\n        \"ext\": \"1\"\r\n    },\r\n    {\r\n        \"alt\": \"\",\r\n        \"href\": \"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3679&bid=4210&unit=36443&advid=109215&guv=&url=http://sale.jd.com/act/HJyfM0nqQOz.html\",\r\n        \"index\": 7,\r\n        \"src\": \"http://img13.360buyimg.com/da/jfs/t316/141/1726543031/5543/46404f6f/5440aa17N1b411341.jpg\",\r\n        \"ext\": \"\"\r\n    },\r\n    {\r\n        \"alt\": \"\",\r\n        \"href\": \"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3679&bid=0&unit=36612&advid=108828&guv=&url=http://sale.jd.com/act/Crv8iTP0zjsaVYR.html\",\r\n        \"index\": 8,\r\n        \"src\": \"http://img11.360buyimg.com/da/jfs/t313/170/1681775134/10831/7f4b7161/5440715aN1f03f497.jpg\",\r\n        \"ext\": \"\"\r\n    }\r\n] ;\r\n(function(object, data) {\r\n    var a = data, b = [], c = [], d, h;\r\n    a.sort(function(a, b) {\r\n        return a.ext - b.ext\r\n    });\r\n    while (a.length > 0) {\r\n        d = a.shift();\r\n        if (d.ext) {\r\n            b.push(d)\r\n        } else {\r\n            c.push(d)\r\n        }\r\n    }\r\n    c.sort(function() {\r\n        return 0.5 - Math.random()\r\n    });\r\n    h = b.length;\r\n    if (h >= 3) {\r\n        for (var i = 0; i < 3; i++) {\r\n            a.push(b.shift())\r\n        }\r\n    } else {\r\n        for (var i = 0; i < h; i++) {\r\n            a.push(b.shift())\r\n        }\r\n    }\r\n    var f = a.length, g = c.length;\r\n    for (var i = 0; i < 18 - f; i++) {\r\n        if (i > g - 1) {\r\n            continue\r\n        }\r\n        a.push(c.shift())\r\n    }\r\n    var e = [], x;\r\n    e.push(\"<ul class=\\\"lh\\\">\");\r\n    for (var i = 0; i < 3; i++) {\r\n        x = pageConfig.FN_GetCompatibleData(a[i]);\r\n        e.push(\"<li class=\\\"item\\\"><a href=\\\"\");\r\n        e.push(x.href);\r\n        e.push(\"\\\"><img src=\\\"/images/blank.gif\\\" style=\\\"background:url(\");\r\n        e.push(x.src);\r\n        e.push(\") no-repeat #fff center 0;\\\" alt=\\\"\");\r\n        e.push(x.alt);\r\n        e.push(\"\\\" width=\\\"\");\r\n        e.push(x.width);\r\n        e.push(\"\\\" height=\\\"\");\r\n        e.push(x.height);\r\n        e.push(\"\\\" /></a></li>\")\r\n    }\r\n    e.push(\"</ul>\");\r\n    document.getElementById(object).innerHTML = e.join(\"\");\r\n    pageConfig.DATA_MScroll = a\r\n})(\"mscroll-list\", pageConfig.DATA_MScroll);\r\n</script>\r\n</div>\r\n<div class=\"m fr da0x70\" clstag=\"homepage|keycount|home2013|10a\">\r\n<script>\r\n// 右上方广告位\r\n(function() {\r\n\tvar data = [\r\n\t            {\r\n\t                \"width\": 310,\r\n\t                \"height\": 70,\r\n\t                \"src\": \"/images/5440ce68Na00d019e.jpg\",\r\n\t                \"href\": \"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3614&bid=4196&unit=35984&advid=109277&guv=&url=http://sale.jd.com/mall/FQLUNlG53wbX7m.html\",\r\n\t                \"alt\": \"\",\r\n\t                \"widthB\": 210,\r\n\t                \"heightB\": 70,\r\n\t                \"srcB\": \"http://img14.360buyimg.com/da/jfs/t334/155/1756719493/14371/e367c503/5440ce6dNd056ce39.jpg\"\r\n\t            }\r\n\t        ];\r\n    var ad = pageConfig.FN_GetRandomData(data);\r\n    ad = pageConfig.FN_GetCompatibleData(ad);\r\n    document.write(\"<a href=\\\"\" + ad.href + \"\\\" target=\\\"_blank\\\"><img data-img=\\\"2\\\" src=\\\"\" + ad.src + \"\\\" width=\\\"\" + ad.width + \"\\\" height=\\\"\" + ad.height + \"\\\" alt=\\\"\" + ad.alt + \"\\\" /></a>\");\r\n})();\r\n</script>\r\n</div><!--da end-->\r\n<div id=\"jdnews\" class=\"m m1\" >\r\n<div class=\"mt\">\r\n<h2>咪购快报</h2>\r\n<div class=\"extra\" clstag=\"homepage|keycount|home2013|11a\"><a href=\"http://www.jd.com/moreSubject.aspx\" target=\"_blank\">更多快报&nbsp;&gt;</a></div>\r\n</div>\r\n<div class=\"mc\">\r\n\t<ul>\r\n\t\t<li class=\"odd\" clstag=\"homepage|keycount|home2013|11b1\"><a href=\"http://club.jr.jd.com/girls/jingxuan\" target=\"_blank\" title=\"38女人节得3800理财金\">38女人节得3800理财金</a></li>\t\t\t\t\t\r\n\t\t\t\t<li clstag=\"homepage|keycount|home2013|11b1\"><a href=\"http://sale.jd.com/act/U0jwsxIFrmO.html\" target=\"_blank\" title=\"开学季音像299减99\">开学季音像299减99</a></li>\r\n\t\t\t\t<li class=\"odd\" clstag=\"homepage|keycount|home2013|11b1\"><a href=\"http://sale.jd.com/act/Kz4QnjJMuL.html\" target=\"_blank\" title=\"情定金生相约钻石婚\">情定金生相约钻石婚</a></li>\t\t\t\t\t\r\n\t\t\t\t<li clstag=\"homepage|keycount|home2013|11b1\"><a href=\"http://sale.jd.com/act/Z5o4RNyF2Uv.html\" target=\"_blank\" title=\"爆款造型品 扮靓美人计\">爆款造型品 扮靓美人计</a></li>\r\n\t</ul>\r\n</div>\r\n</div>\r\n<!--新闻结束-->\r\n \r\n<div data-widget=\"tabs\" class=\"m _520_a_lifeandjourney_1\" id=\"virtuals-2014\">\r\n<div class=\"mt\">\r\n<ul class=\"fore1 lh\">\r\n<li class=\"fore1 abtest_huafei\" data-iframe=\"http://chongzhi.jd.com/index-newEntry.htm\" clstag = \"homepage|keycount|home2013|12a\"><a target=\"_blank\" href=\"http://chongzhi.jd.com/\"><s></s>话费<i></i></a></li>\r\n<li class=\"fore2 abtest_lvxing\" data-iframe=\"http://trip.jd.com/html/newTravel.html\" clstag = \"homepage|keycount|home2013|12b\"><a target=\"_blank\" href=\"http://trip.jd.com/\"><s></s>旅行<i></i></a></li>\r\n<li class=\"fore3 abtest_caipiao\" data-iframe=\"http://caipiao.jd.com/caipiao-jd.htm\"\t clstag = \"homepage|keycount|home2013|12c\"><a target=\"_blank\" href=\"http://caipiao.jd.com/\"><s></s>彩票<i></i></a></li>\r\n<li class=\"fore4 abtest_youxi\" data-iframe=\"http://card.jd.com/html/card-jdIndex.html\" clstag = \"homepage|keycount|home2013|12d\"><a target=\"_blank\" href=\"http://game.jd.com/\"><s></s>游戏<i></i></a></li>\r\n</ul>\r\n<ul class=\"fore2 lh\">\r\n<li class=\"fore5 abtest_jipiao\"\tclstag = \"homepage|keycount|home2013|12e\"><a target=\"_blank\" href=\"http://jipiao.jd.com/\"><s></s>机票</a></li>\r\n<li class=\"fore6 abtest_dianyingpiao\" clstag = \"homepage|keycount|home2013|12f\"><a target=\"_blank\" href=\"http://movie.jd.com/\"><s></s>电影票</a></li>\r\n<li class=\"fore7 abtest_yanchupiao\" clstag = \"homepage|keycount|home2013|12g\"><a target=\"_blank\" href=\"http://licai.jd.com/\"><s></s>理财</a></li>\r\n<li class=\"fore8 abtest_shuidianmei\" clstag = \"homepage|keycount|home2013|12h\"><a target=\"_blank\" href=\"http://jiaofei.jd.com/\"><s></s>水电煤</a></li>\r\n</ul>\r\n</div>\r\n<div class=\"mc\">\r\n<a href=\"#none\" class=\"close\">×</a>\r\n<div class=\"virtuals-iframes hide\">\r\n<iframe width=\"100%\" scrolling=\"no\" height=\"139px\" frameborder=\"0\"></iframe>\r\n</div>\r\n<div class=\"virtuals-iframes hide\">\r\n<iframe width=\"100%\" scrolling=\"no\" height=\"139px\" frameborder=\"0\"></iframe>\r\n</div>\r\n<div class=\"virtuals-iframes hide\">\r\n<iframe width=\"100%\" scrolling=\"no\" height=\"139px\" frameborder=\"0\"></iframe>\r\n</div>\r\n<div class=\"virtuals-iframes hide\">\r\n<iframe width=\"100%\" scrolling=\"no\" height=\"139px\" frameborder=\"0\"></iframe>\r\n</div>\r\n</div>\r\n</div>\r\n\r\n<!--virtuals end-->\r\n<span class=\"clr\"></span>\r\n</div>\r\n<!-- 幻灯片, 公信力, 咪购快报, 虚拟产品 end -->\r\n \r\n<div id=\"floors-list\">\r\n<div class=\"w w1\" data-fid=\"0\" id=\"electronics\">\r\n<div class=\"m m1 catalogue\" data-lazyload=\"1\">\r\n<div class=\"mt ld\">\r\n<div class=\"floor\"><b class=\"fixpng b b1\"></b><b class=\"fixpng b b2\"></b><b class=\"b b3\">1F</b><b class=\"fixpng b4\"></b></div>\r\n<h2>家电通讯</h2>\r\n</div>\r\n<div class=\"mc\">\r\n<div class=\"style1\">\r\n<ul class=\"lh\" clstag=\"homepage|keycount|home2013|18a\">\r\n\t<li><a href=\"http://www.360buy.com/products/652-653-000.html\">手机</a></li>\r\n\t<li><a href=\"http://www.jd.com/products/737-794-870-0-0-0-0-0-0-0-1-1-1-1-33.html\">空调</a></li>\r\n\t<li><a href=\"http://www.360buy.com/products/652-830-000.html\">手机配件</a></li>\r\n\t<li><a href=\"http://www.jd.com/products/737-794-798-0-0-0-0-0-0-0-1-1-1-1-72-33.html\">平板电视</a></li>\r\n\t<li><a href=\"http://channel.jd.com/yunyingshang.html\">话费补贴</a></li>\r\n\t<li><a href=\"http://www.jd.com/products/737-794-878-0-0-0-0-0-0-0-1-1-1-1-72-33.html\">冰箱</a></li>\r\n\t<li><a href=\"http://www.jd.com/products/737-738-000.html\">生活电器</a></li>\r\n\t<li><a href=\"http://www.jd.com/products/737-794-880-0-0-0-0-0-0-0-1-1-1-1-72-33.html\">洗衣机</a></li>\r\n\t<li><a href=\"http://www.jd.com/products/737-752-000.html\">厨房电器</a></li>\r\n\t<li><a href=\"http://www.jd.com/products/737-794-1706-0-0-0-0-0-0-0-1-1-1-1-72-33.html\">热水器</a></li>\r\n\t<li><a href=\"http://www.jd.com/products/737-1276-000.html\">个护健康</a></li>\r\n\t<li><a href=\"http://www.jd.com/products/737-794-1300-0-0-0-0-0-0-0-1-1-1-1-72-33.html\">烟机/灶具</a></li>\r\n\t<li><a href=\"http://www.jd.com/products/737-1277-000.html\">五金家装</a></li>\r\n\t<li><a href=\"http://www.jd.com/products/737-794-823-0-0-0-0-0-0-0-1-1-1-1-72-33.html\">家庭影院</a></li>\r\n\t<li><a href=\"http://www.jd.com/products/737-794-1707-0-0-0-0-0-0-0-1-1-1-1-72-33.html\">酒柜冷柜</a></li>\r\n\t<li><a href=\"http://channel.jd.com/auto.html\">汽车用品</a></li>\r\n</ul>\r\n<span clstag=\"homepage|keycount|home2013|18b\">\r\n<!-- 广告信息 -->\r\n\t<a target=\"_blank\" title=\"\" href=\"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3624&bid=0&unit=35989&advid=105087&guv=&url=http://sale.jd.com/act/PzKvRu4Ld5YnG1Ej.html\">\r\n\t\t<img data-img=\"2\" data-lazyload=\"/images/543b4d75N686689d7.jpg\" width=\"209\" height=\"155\" alt=\"\" />\r\n\t</a>\r\n</span>\r\n</div>\r\n</div>\r\n</div>\r\n<div class=\"m plist\">\r\n<div class=\"tab-arrow\"><b></b></div>\r\n<div class=\"sm sm2 fore1 curr\"  data-widget=\"tab-item\" data-tag=\"1622\" clstag=\"homepage|keycount|home2013|18d\">\r\n  <div class=\"smt\">\r\n    <h3>大家电</h3>\r\n  </div>\r\n  <div class=\"smc\" data-widget=\"tab-content\">\r\n    <div class=\"loading-style1\"><b></b>加载中，请稍候...</div>\r\n  </div>\r\n</div>\r\n<div class=\"sm sm2 fore2\"  data-widget=\"tab-item\" data-tag=\"1622\" clstag=\"homepage|keycount|home2013|18d\">\r\n  <div class=\"smt\">\r\n    <h3>大家电 New</h3>\r\n  </div>\r\n  <div class=\"smc\" data-widget=\"tab-content\">\r\n    <div class=\"loading-style1\"><b></b>加载中，请稍候...</div>\r\n  </div>\r\n</div><div class=\"sm sm2 fore3\"  data-widget=\"tab-item\" data-tag=\"1623\" clstag=\"homepage|keycount|home2013|18e\">\r\n  <div class=\"smt\">\r\n    <h3>小家电</h3>\r\n  </div>\r\n  <div class=\"smc\" data-widget=\"tab-content\">\r\n    <div class=\"loading-style1\"><b></b>加载中，请稍候...</div>\r\n  </div>\r\n</div><div class=\"sm sm2 fore4\"  data-widget=\"tab-item\" data-tag=\"1624\" clstag=\"homepage|keycount|home2013|18f\">\r\n  <div class=\"smt\">\r\n    <h3>手机通讯</h3>\r\n  </div>\r\n  <div class=\"smc\" data-widget=\"tab-content\">\r\n    <div class=\"loading-style1\"><b></b>加载中，请稍候...</div>\r\n  </div>\r\n</div><div class=\"sm sm2 fore5\"  data-widget=\"tab-item\" data-tag=\"1625\" clstag=\"homepage|keycount|home2013|18g\">\r\n  <div class=\"smt\">\r\n    <h3>汽车五金</h3>\r\n  </div>\r\n  <div class=\"smc\" data-widget=\"tab-content\">\r\n    <div class=\"loading-style1\"><b></b>加载中，请稍候...</div>\r\n  </div>\r\n</div></div>\r\n<!-- ad start -->\r\n<div class=\"sm sm1 brands\" clstag=\"homepage|keycount|home2013|19a\">\r\n<div class=\"smt\">\r\n<h3>品牌旗舰店</h3>\r\n</div>\r\n<div class=\"smc\">\r\n\t<ul class=\"lh\">\r\n\t\t<li class=\"fore1\"><a target=\"_blank\" title=\"\" href=\"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3627&bid=0&unit=36279&advid=50662&guv=&url=http://jmall.jd.com/p150919.html\"><img height=\"35\" width=\"98\" alt=\"\" data-img=\"2\" data-lazyload=\"http://img10.360buyimg.com/da/g10/M00/0E/0D/rBEQWVFQLqgIAAAAAAAFbgvhBqMAAC0MAP_3cIAAAWG414.gif\"></a></li>\r\n\t\t<li class=\"fore2\"><a target=\"_blank\" title=\"TCL\" href=\"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3627&bid=0&unit=36462&advid=50921&guv=&url=http://jmall.jd.com/shop/tcl/index.html\"><img height=\"35\" width=\"98\" alt=\"TCL\" data-img=\"2\" data-lazyload=\"http://img14.360buyimg.com/da/jfs/t31/292/4886889003/2722/effa53e/537b3138N3205302e.jpg\"></a></li>\r\n\t\t<li class=\"fore3\"><a target=\"_blank\" title=\"\" href=\"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3627&bid=0&unit=36275&advid=50658&guv=&url=http://jmall.jd.com/p110650.html\"><img height=\"35\" width=\"98\" alt=\"\" data-img=\"2\" data-lazyload=\"http://img10.360buyimg.com/da/jfs/t166/298/186961078/4892/5c38ed68/53829f6eNa98427dc.jpg\"></a></li>\r\n\t\t<li class=\"fore4\"><a target=\"_blank\" title=\"手机新品馆\" href=\"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3627&bid=0&unit=36464&advid=50923&guv=&url=http://sale.jd.com/act/w78AxhytLrVelbs.html\"><img height=\"35\" width=\"98\" alt=\"手机新品馆\" data-img=\"2\" data-lazyload=\"http://img10.360buyimg.com/da/g13/M06/01/0D/rBEhUlHmCN0IAAAAAAASpGQ8IDYAABK2AP_yHEAABK8207.jpg\"></a></li>\r\n\t\t<li class=\"fore5\"><a target=\"_blank\" title=\"\" href=\"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3627&bid=0&unit=36274&advid=50657&guv=&url=http://jmall.jd.com/p117514.html\"><img height=\"35\" width=\"98\" alt=\"\" data-img=\"2\" data-lazyload=\"http://img13.360buyimg.com/da/jfs/t127/70/4777056813/2910/3f9a0b8f/537b316bN35574fff.jpg\"></a></li>\r\n\t\t<li class=\"fore6\"><a target=\"_blank\" title=\"\" href=\"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3627&bid=0&unit=36276&advid=50659&guv=&url=http://jmall.jd.com/p151132.html\"><img height=\"35\" width=\"98\" alt=\"\" data-img=\"2\" data-lazyload=\"http://img12.360buyimg.com/da/jfs/t31/321/4838856059/2979/140e8a02/537b3173Ne74bf3cf.jpg\"></a></li>\r\n\t\t<li class=\"fore7\"><a target=\"_blank\" title=\"九阳\" href=\"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3627&bid=0&unit=36277&advid=50660&guv=&url=http://jmall.jd.com/p150747.html\"><img height=\"35\" width=\"98\" alt=\"九阳\" data-img=\"2\" data-lazyload=\"http://img14.360buyimg.com/da/jfs/t148/165/47500775/3882/678642c9/537b314aN909ae4cf.jpg\"></a></li>\r\n\t\t<li class=\"fore8\"><a target=\"_blank\" title=\"\" href=\"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3627&bid=0&unit=36461&advid=50920&guv=&url=http://jmall.jd.com/shop/lg/index.html\"><img height=\"35\" width=\"98\" alt=\"\" data-img=\"2\" data-lazyload=\"http://img11.360buyimg.com/da/jfs/t16/30/4820028970/2355/12a12118/537b3130N7591211b.jpg\"></a></li>\r\n\t\t<li class=\"fore9\"><a target=\"_blank\" title=\"康佳\" href=\"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3627&bid=0&unit=36278&advid=50661&guv=&url=http://jmall.jd.com/p58164.html?erpad_source=erpad\"><img height=\"35\" width=\"98\" alt=\"康佳\" data-img=\"2\" data-lazyload=\"http://img10.360buyimg.com/da/jfs/t181/331/49355616/2960/f8717425/537b3152Nf0573a0d.jpg\"></a></li>\r\n\t\t<li class=\"fore10\"><a target=\"_blank\" title=\"努比亚专卖店\" href=\"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3627&bid=0&unit=36463&advid=50922&guv=&url=http://jmall.jd.com/shop/nubia/index.html?erpad_source=erpad\"><img height=\"35\" width=\"98\" alt=\"努比亚专卖店\" data-img=\"2\" data-lazyload=\"http://img10.360buyimg.com/da/g16/M00/0A/18/rBEbRlN5zCsIAAAAAAALfFfJRv8AACGGgO__3sAAAuU660.jpg\"></a></li>\r\n\t</ul>\r\n</div>\r\n</div>\r\n<div class=\"fr da209x180\" clstag=\"homepage|keycount|home2013|19b\">\r\n<div class=\"slide\" data-lazyload=\"8\"></div>\r\n</div>\r\n<span class=\"clr\"></span>\r\n</div>\r\n<!-- 家电通讯楼层 end-->\r\n</div>\r\n \r\n<!-- 绑定显示数据到页面 -->\r\n<script type=\"text/javascript\">\r\npageConfig.DATA_Tabs = {\"1615\":{\"1\":{\"d\":\"g15\\/M00\\/13\\/1E\\/rBEhWFJ4sNUIAAAAAAHJY7c4pHkAAFBugBwkz0AAcl7615.jpg\",\"e\":\"0\",\"c\":\"3309.00\",\"a\":\"1068768\",\"b\":\"ThinkPad\\u54c1\\u724c\\u60e0,\\u6781\\u81f4\\u6027\\u80fd\\u5546\\u52a1\\u672c\\uff01\",\"f\":1},\"2\":{\"d\":\"jfs\\/t238\\/171\\/2326101014\\/97549\\/340781e4\\/5412c972N276cd9f8.jpg\",\"e\":\"0\",\"c\":\"1499.00\",\"a\":\"1220450\",\"b\":\"\\u8d85\\u503c\\u8054\\u60f3windows\\u5e73\\u677f\\uff0c\\u529e\\u516c\\u5a31\\u4e50\\u4e24\\u76f8\\u5b9c\\uff0cmiix3 \\u91cd\\u78c5\\u6765\\u88ad\",\"f\":1},\"3\":{\"d\":\"g15\\/M01\\/06\\/18\\/rBEhWFMFsW4IAAAAAAFVw5BEC_8AAIxuAMEN1cAAVXb839.jpg\",\"e\":\"0\",\"c\":\"3999.00\",\"a\":\"1039193\",\"b\":\"\\u5168\\u667a\\u8d24\\u540c\\u6b3e\\uff01\\u6027\\u80fd\\u5f3a\\u52b2\\uff0c\\u8d28\\u611f\\u51fa\\u4f17\\uff01\",\"f\":1},\"4\":{\"d\":\"jfs\\/t418\\/50\\/198242384\\/157099\\/3fe1dad0\\/540fbefbN31721c22.jpg\",\"e\":\"0\",\"c\":\"5699.00\",\"a\":\"1216530\",\"b\":\"\\u60e0\\u666e\\u6e38\\u620f\\u672c\\uff0c\\u6027\\u80fd\\u4e0e\\u5916\\u89c2\\u7684\\u5b8c\\u7f8e\\u7ed3\\u5408\\uff01\",\"f\":1},\"5\":{\"d\":\"jfs\\/t283\\/356\\/1239137630\\/101886\\/288da86\\/5434a42cNfbd2aa87.jpg\",\"e\":\"0\",\"c\":\"3399.00\",\"a\":\"1206531\",\"b\":\"\\u3010\\u6234\\u4f60\\u98de\\u3011\\u5168\\u65b0\\u5347\\u7ea7 \\u6027\\u4ef7\\u6bd4\\u8d85\\u9ad8 \\u8c01\\u7528\\u8c01\\u77e5\\u9053\\uff01\",\"f\":1},\"6\":{\"d\":\"jfs\\/t442\\/324\\/236961999\\/107796\\/f7361e5f\\/54125d43N329fe705.jpg\",\"e\":\"0\",\"c\":\"3799.00\",\"a\":\"1216669\",\"b\":\"\\u534e\\u7855\\u65b0\\u6b3e\\uff0c\\u597d\\u6a21\\u5177\\u3001\\u597d\\u6027\\u80fd\\u3001\\u5e95\\u4ef7\\u4e0a\\u5e02\\uff01\",\"f\":1},\"7\":{\"d\":\"g16\\/M00\\/02\\/0B\\/rBEbRlNsND8IAAAAAAFYzIOXgdkAAAdiAD1wUkAAVjk507.jpg\",\"e\":\"0\",\"c\":\"3999.00\",\"a\":\"1123777\",\"b\":\"\\u6218\\u795eK580D\\u91cd\\u51fa\\u6c5f\\u6e56\\uff01\\u53f2\\u4e0a\\u6700\\u9738\\u6c14\\u6027\\u4ef7\\u6bd4~\\uff01\\u4f60\\u7684\\u6e38\\u620f\\u4f60\\u7684\\u672c\\uff01\",\"f\":1},\"8\":{\"d\":\"jfs\\/t343\\/252\\/1736336634\\/80288\\/29af6cad\\/5440b404N8589d853.jpg\",\"e\":\"0\",\"c\":\"1699.00\",\"a\":\"1225738\",\"b\":\"\\u5c0f\\u7c73\\u5e73\\u677f\\uff0c\\u5c31\\u662f\\u8fd9\\u4e48\\u597d\\u7528\\uff01\",\"f\":1},\"9\":{\"d\":\"jfs\\/t235\\/222\\/1870779783\\/113556\\/83190938\\/53fedc2bNac9ab53a.jpg\",\"e\":\"0\",\"c\":\"4499.00\",\"a\":\"1208785\",\"b\":\"\\u6234\\u5c1423\\u82f1\\u5bf8i3\\u5546\\u7528\\u4e00\\u4f53\\u673a\\u9650\\u91cf\\u7279\\u4ef7\",\"f\":1},\"10\":{\"d\":\"g14\\/M07\\/15\\/1A\\/rBEhVlMZhKkIAAAAAADbDRlSi3EAAJwNQHcXvEAANsl056.jpg\",\"e\":\"0\",\"c\":\"3999.00\",\"a\":\"1191720\",\"b\":\"\\u5b8f\\u7881A10\\u6e38\\u620f\\u4e3b\\u673a\\uff0c4G\\u72ec\\u663e\\uff0c\\u4f7f\\u547d\\u53ec\\u5524\\u795e\\u9a6c\\u7684\\u6211\\u6700\\u7231\",\"f\":1}},\"1617\":{\"1\":{\"d\":\"jfs\\/t316\\/137\\/905988588\\/202326\\/1e6cefd5\\/54292416N451e925e.jpg\",\"e\":\"0\",\"c\":\"369.00\",\"a\":\"997629\",\"b\":\"\\u5b87\\u77bb(Apacer) 128G SATA III \\u56fa\\u6001\\u786c\\u76d8(AS510S)\",\"f\":1},\"2\":{\"d\":\"jfs\\/t304\\/7\\/955936460\\/260100\\/d89b7182\\/542a7f56Nea24f373.jpg\",\"e\":\"0\",\"c\":\"2599.00\",\"a\":\"1070446733\",\"b\":\"EiT i3 4150\\/4G\\/1T\\/\\u534e\\u7855750-2G\\u7ec4\\u88c5\\u673a\",\"f\":1},\"3\":{\"d\":\"g15\\/M04\\/1E\\/0D\\/rBEhWVK4_voIAAAAAAIE2yizHk8AAHJtAPSjrYAAgTz977.jpg\",\"e\":\"0\",\"c\":\"2199.00\",\"a\":\"892222\",\"b\":\"\\u9ad8\\u5206\\u9996\\u9009\\uff01HKC T7000+ 27\\u82f1\\u5bf8H-IPS\\u5c4fLED\\u80cc\\u5149\\u663e\\u793a\\u5668\",\"f\":1},\"4\":{\"d\":\"jfs\\/t334\\/142\\/476371438\\/122857\\/d60e8312\\/5412a7b3N63bbdc82.jpg\",\"e\":\"0\",\"c\":\"399.00\",\"a\":\"1019482\",\"b\":\"\\u3010\\u7279\\u4ef7\\u4fc3\\u9500\\u3011\\u5f71\\u9a70\\uff08Galaxy\\uff09\\u864e\\u5c06128GB 7mm SATA3\\u56fa\\u6001\\u786c\\u76d8\",\"f\":1},\"5\":{\"d\":\"jfs\\/t439\\/121\\/443210480\\/109616\\/37217764\\/541bdb82N883b2160.jpg\",\"e\":\"0\",\"c\":\"2799.00\",\"a\":\"1228363\",\"b\":\"\\u3010\\u9650\\u91cf\\u79d2\\u67402599\\u3011\\u5fae\\u661f 970 GAMING  4G\",\"f\":1},\"6\":{\"d\":\"jfs\\/t268\\/191\\/327025854\\/142497\\/cb0c1a7d\\/53e9bf6aNfb48c648.jpg\",\"e\":\"0\",\"c\":\"1599.00\",\"a\":\"1192381\",\"b\":\"\\u301010\\u6708\\u65b0\\u964d\\u4ef7\\u3011\\u6234\\u5c1423.8\\u82f1\\u5bf86.05MM\\u8d85\\u7a84\\u8fb9+\\u5185\\u7f6e\\u97f3\\u7bb1\\uff01\",\"f\":1},\"7\":{\"d\":\"g12\\/M00\\/03\\/0B\\/rBEQYFGKHxkIAAAAAADfWBKLlD4AAAqDwElTyYAAN9w169.jpg\",\"e\":\"0\",\"c\":\"159.00\",\"a\":\"877908\",\"b\":\"LG\\uff08LG\\uff09 GP50NB DVD 8X \\u5916\\u7f6e\\u523b\\u5f55\\u673a \\u76f4\\u8fde\\u7535\\u89c6\",\"f\":1},\"8\":{\"d\":\"g15\\/M01\\/0E\\/08\\/rBEhWlMm0rIIAAAAAAG0YYXquaQAAKPpgAD0eoAAbR5429.jpg\",\"e\":0,\"c\":\"1899.00\",\"a\":\"1082765\",\"b\":\"\\u4f73\\u80fd\\uff08Canon\\uff09 PowerShot SX700 HS \\u6570\\u7801\\u76f8\\u673a \\u7ea2\\u8272\\uff081610\\u4e07\\u50cf\\u7d20 30\\u500d\\u5149\\u53d8 3\\u82f1\\u5bf8\\u9ad8\\u6e05\\u5c4f 25mm\\u5e7f\\u89d2 WiFi\\/NFC\\uff09\",\"f\":1},\"9\":{\"d\":\"g14\\/M02\\/02\\/1A\\/rBEhVlKS7g8IAAAAAAGZt1DI9xQAAGCuwFLd9AAAZnP448.jpg\",\"e\":\"0\",\"c\":\"399.00\",\"a\":\"1014817\",\"b\":\"2G\\u5927\\u663e\\u5b58\\uff01\\u9650\\u65f6\\u7279\\u4ef7\\uff0c\\u771f\\u7684\\u8d85\\u503c\\uff01\\u76c8\\u901a6770\",\"f\":1},\"10\":{\"d\":\"g16\\/M00\\/0C\\/10\\/rBEbRlOOvEwIAAAAAAId9f52slkAACbyQJ3nmwAAh4N269.jpg\",\"e\":\"0\",\"c\":\"139.00\",\"a\":\"983670\",\"b\":\"\\u3010\\u9650\\u91cf300\\u53f0\\u3011\\u4e5d\\u5dde\\u98ce\\u795e\\u77e9\\u9635\\uff08\\u767d\\uff09 \\u4e2d\\u5854\\u673a\\u7bb1 \\u767d\\u8272 (\\u539f\\u751fUSB3.0\\/\\u80cc\\u90e8\\u8d70\\u7ebf\\/6\\u98ce\\u6247\\u4f4d\\u5168\\u901a\\u900f\\u6563\\u70ed\\uff09\",\"f\":1}},\"1616\":{\"1\":{\"d\":\"jfs\\/t196\\/349\\/2120374628\\/141590\\/bf4178b5\\/53c5f453N416796c8.jpg\",\"e\":\"0\",\"c\":\"5799.00\",\"a\":\"1175372\",\"b\":\"\\u7206\\u62a2\\uff01\\u4e00\\u673a\\u53cc\\u955c\\u770b\\u4e16\\u754c\\uff01\\u4f73\\u80fd EOS 700D\\u53cc\\u955c\\u5934\\u5957\\u673a\",\"f\":1},\"2\":{\"d\":\"g5\\/M02\\/13\\/01\\/rBEDik_1R30IAAAAAAGUYQ9bunkAADuBALXmuUAAZR5063.jpg\",\"e\":\"0\",\"c\":\"2599.00\",\"a\":\"676676\",\"b\":\"\\u5c0f\\u5de7\\u4e2d\\u7684\\u5927\\u753b\\u9762-\\u7d22\\u5c3cDSC-RX100 \\u9ed1\\u5361\\u6570\\u7801\\u76f8\\u673a\",\"f\":1},\"3\":{\"d\":\"jfs\\/t214\\/334\\/2140711094\\/148580\\/abebce9f\\/5407d29aNc11607dd.jpg\",\"e\":\"0\",\"c\":\"4678.00\",\"a\":\"1213043\",\"b\":\"\\u81ea\\u62cd\\u795e\\u5668\\u54ea\\u5bb6\\u5f3a\\uff1f\\u5965\\u6797\\u5df4\\u65af\\u5c0f\\u4e03\\u8ba9\\u4f60\\u723d\\uff01\",\"f\":1},\"4\":{\"d\":\"jfs\\/t205\\/125\\/2551472564\\/87003\\/725d35bb\\/53cf70c1N185d96f3.jpg\",\"e\":\"0\",\"c\":\"467.00\",\"a\":\"764731\",\"b\":\"\\u7f8e\\u4e3d\\u5373\\u62cd\\u5373\\u5f97 \\u7cbe\\u5f69\\u4e00\\u523b\\u4e0d\\u505c\\uff01\",\"f\":1},\"5\":{\"d\":\"g10\\/M00\\/04\\/07\\/rBEQWFElfOIIAAAAAACgccDyOdMAAA05wC1FH4AAKCJ460.jpg\",\"e\":\"0\",\"c\":\"399.00\",\"a\":\"768037\",\"b\":\"\\u3010\\u4fc3\\u9500\\u3011AKG K374 \\u9ad8\\u6027\\u80fd\\u5165\\u8033\\u8033\\u585e \\u94f6\\u8272\",\"f\":1},\"6\":{\"d\":\"jfs\\/t331\\/109\\/1312158288\\/69444\\/87f793a7\\/54365647Ndea227f8.jpg\",\"e\":\"0\",\"c\":\"288.00\",\"a\":\"1238881\",\"b\":\"\\u94ed\\u8bb0\\u7ecf\\u5178\\uff01\\u827e\\u7279\\u94ed\\u5ba2\\uff08Abramtek\\uff09\\u91d1\\u521a3\\u7eaa\\u5ff5\\u7248 4.0\\u84dd\\u7259\\u97f3\\u7bb1NFC\\u84dd\\u7259\\u5feb\\u901f\\u8fde\\u63a5 \\u65e0\\u7ebf\\u4fbf\\u643a\\u97f3\\u54cd  \\u5965\\u6c0f\\u4f53304\\u4e0d\\u9508\\u94a2\",\"f\":1},\"7\":{\"d\":\"jfs\\/t292\\/349\\/1279395950\\/54218\\/da475f60\\/5435e079Nd883eea9.jpg\",\"e\":\"0\",\"c\":\"199.00\",\"a\":\"1238145\",\"b\":\"\\u53ea\\u79f0\\u91cd\\uff1f\\u592aLOW\\uff01\\u7ad9\\u4e0a\\u6765\\uff0c\\u770b\\u770b\\u81ea\\u5df1\\u5230\\u5e95\\u80d6\\u54ea\\u91cc\\uff01\",\"f\":1},\"8\":{\"d\":\"jfs\\/t205\\/257\\/536266137\\/43175\\/4f921a88\\/5390330cN77ef8bf1.jpg\",\"e\":\"0\",\"c\":\"399.00\",\"a\":\"1135723\",\"b\":\"\\u96fe\\u973e\\u5929\\u66f4\\u8981\\u7231\\u81ea\\u5df1\\uff01\\u5e7b\\u54cdK2 \\u7a7a\\u6c14\\u51c0\\u5316\\u5668 3\\u5c42\\u6ee4\\u7f51 \\u8fdb\\u53e3\\u98ce\\u673a 800\\u4e07\\u6c27\\u5427\\u8d1f\\u6c27\\u79bb\\u5b50\",\"f\":1},\"9\":{\"d\":\"g14\\/M03\\/11\\/02\\/rBEhVVI5ctUIAAAAAACo9WzfDuMAADVYABFu4QAAKkN027.jpg\",\"e\":\"0\",\"c\":\"799.00\",\"a\":\"972824\",\"b\":\"\\u534a\\u4ef7\\u9650\\u91cf100\\u53f0\\uff01\\u5b66\\u597d\\u82f1\\u8bed\\u4e0d\\u518d\\u96be\\uff01\\u6c49\\u738bE\\u5178\\u7b14\",\"f\":1},\"10\":{\"d\":\"g12\\/M00\\/06\\/1E\\/rBEQYVGVncwIAAAAAAG7KyhDBDAAABXFwAKknAAAbtD707.jpg\",\"e\":\"0\",\"c\":\"149.00\",\"a\":\"891168\",\"b\":\"\\u5b66\\u597d\\u82f1\\u8bed\\u8d70\\u904d\\u5929\\u4e0b\\u90fd\\u4e0d\\u6015\\uff01\\u7231\\u56fd\\u8005\\uff08aigo\\uff09 \\u8bed\\u97f3\\u590d\\u8bfb\\u673aV28\\u78c1\\u5e26\\u673aU\\u76d8TF\\u5361\\u5f55\\u97f3\\u673aMP3\\u8f6c\\u5f55\\u82f1\\u8bed\\u5b66\\u4e60 \\u9ec4\\u8272\",\"f\":1}},\"1618\":{\"1\":{\"d\":\"jfs\\/t277\\/285\\/582668919\\/67117\\/887605d8\\/5418e1a3N49e13170.jpg\",\"e\":\"0\",\"c\":\"199.00\",\"a\":\"1221864\",\"b\":\"\\u767e\\u5ea6\\uff08Baidu\\uff09\\u5f71\\u68d22s+\\u7f51\\u7edc\\u7535\\u89c6\\u673a\\u9876\\u76d2 \\u4ec5\\u552e199\\uff01\",\"f\":1},\"2\":{\"d\":\"g12\\/M00\\/01\\/1A\\/rBEQYVMvlBMIAAAAAAGXj0rDuqMAADL0APn81AAAZen697.jpg\",\"e\":\"0\",\"c\":\"2099.00\",\"a\":\"1086779\",\"b\":\"\\u6027\\u4ef7\\u6bd4\\u795e\\u673a\\uff01Optoma\\u9ad8\\u4eae\\u4e2d\\u578b\\u4f1a\\u8bae\\u5ba4\\u6295\\u5f71\\u673a\\u53ea\\u89811999\\uff01\",\"f\":1},\"3\":{\"d\":\"jfs\\/t322\\/177\\/1382968618\\/68965\\/47d9d167\\/5438e449N7db3dc89.jpg\",\"e\":\"0\",\"c\":\"769.00\",\"a\":\"536668\",\"b\":\"\\u5bf9\\uff0c\\u6ca1\\u6709\\u770b\\u9519\\uff0c\\u60e0\\u666e1106\\u5c31\\u662f\\u8fd9\\u4e2a\\u4ef7\\u683c\\uff01\\u5feb\\u62a2\\uff01\",\"f\":1},\"4\":{\"d\":\"g13\\/M05\\/07\\/0D\\/rBEhUlKTHlEIAAAAAAGBkowGiOUAAF6qABHvAcAAYGq424.jpg\",\"e\":\"0\",\"c\":\"89.00\",\"a\":\"1016821\",\"b\":\"\\u9f50\\u5fc3\\u6676\\u7eafA\\uff0b70\\u514b\\u301079\\u5143\\/\\u7bb1\\u3011\\u4e24\\u7bb1\\u8d77\",\"f\":1},\"5\":{\"d\":\"jfs\\/t379\\/242\\/565269083\\/72897\\/7dfd6808\\/5423b8a1Nbf3ad6eb.jpg\",\"e\":\"0\",\"c\":\"369.00\",\"a\":\"1224923\",\"b\":\"\\u62c9\\u5361\\u62c9\\u624b\\u673aPOS\\u673a \\u8d85\\u4f4e\\u8d39\\u7387\\u503c\\u5f97\\u62e5\\u6709\\uff01\",\"f\":1},\"6\":{\"d\":\"g12\\/M00\\/0F\\/02\\/rBEQYVNl7L8IAAAAAACia6b0eIoAAFd_gLPPIcAAKKD933.jpg\",\"e\":\"0\",\"c\":\"779.00\",\"a\":\"1021895\",\"b\":\"\\u5e0c\\u6377\\u9ad8\\u7aef\\u777f\\u54c12T~\\u91d1\\u5c5e\\u8d85\\u8584\\u8fd8\\u517c\\u5bb9MAC\",\"f\":1},\"7\":{\"d\":\"4002\\/4f11cce6-29c7-4ffd-9af2-b6ed76d3dc6a.jpg\",\"e\":\"0\",\"c\":\"229.00\",\"a\":\"502490\",\"b\":\"\\u673a\\u7687\\u8d85\\u503c\\u8d2d\\uff1a\\u7f57\\u6280M570 \\u706b\\u661f\\u8f68\\u8ff9\\u7403\\u9f20\\u6807\",\"f\":1},\"8\":{\"d\":\"g15\\/M03\\/01\\/0C\\/rBEhWlLOQN8IAAAAAAHFxX6rGGkAAHutgGAXaoAAcXd619.jpg\",\"e\":\"0\",\"c\":\"599.00\",\"a\":\"100597\",\"b\":\"\\u5e03\\u7ebf\\u5fc5\\u5907\\uff01\\u5b89\\u666e \\u539f\\u88c5\\u8d85\\u4e94\\u7c7b\\u7f51\\u7ebf \\u84dd\\u7bb1 305\\u7c73\",\"f\":1},\"9\":{\"d\":\"g13\\/M00\\/03\\/0D\\/rBEhVFNDVecIAAAAAADnMY-jMZ4AALYbwIZyh4AAOdJ265.jpg\",\"e\":\"0\",\"c\":\"89.90\",\"a\":\"1092906\",\"b\":\"\\u91d1\\u58eb\\u987f32G\\u624b\\u673a\\u5e73\\u677f\\u7535\\u8111\\u4e09\\u7528U\\u76d8\\uff01\",\"f\":1},\"10\":{\"d\":\"3639\\/92a72551-447f-4562-b731-2cf2c8ac96ac.jpg\",\"e\":\"0\",\"c\":\"699.00\",\"a\":\"536496\",\"b\":\"\\u3010\\u8d60\\u539f\\u5382\\u7535\\u7ade\\u80cc\\u5305\\u3011\\u8d5b\\u777f6gv2\\u9ed1\\u8f74\\u6e38\\u620f\\u673a\\u68b0\\u952e\\u76d8\",\"f\":1}},\"1622\":{\"1\":{\"d\":\"jfs\\/t304\\/157\\/750353441\\/93159\\/e4ee9876\\/54227256N20d4f5ec.jpg\",\"e\":\"0\",\"c\":\"2199.00\",\"a\":\"1221882\",\"b\":\"\\u9884\\u7ea6\\u5ba2\\u62371999\\u62a2\\u8d2d\\u4e2d\\uff0c\\u957f\\u8679LED42538ES\\uff0c42\\u540b\\u7a84\\u8fb9\\u7535\\u89c6\",\"f\":1},\"2\":{\"d\":\"jfs\\/t334\\/181\\/518507169\\/247700\\/96b06a8f\\/54164eedN447d7c00.jpg\",\"e\":\"0\",\"c\":\"5299.00\",\"a\":\"1186545\",\"b\":\"\\u7d22\\u5c3c\\uff08SONY\\uff09KDL-50W700B 50\\u82f1\\u5bf8\\u5168\\u9ad8\\u6e05LED\\u6db2\\u6676\\u7535\\u89c6\\uff08\\u94f6\\u8272\\uff09\",\"f\":1},\"3\":{\"d\":\"jfs\\/t292\\/306\\/621657314\\/436975\\/6dd5cc9e\\/541ab1a4N88e55a5e.jpg\",\"e\":\"0\",\"c\":\"2899.00\",\"a\":\"1041228\",\"b\":\"\\u8054\\u60f3\\uff08Lenovo\\uff09 48A21Y 48\\u82f1\\u5bf8 \\u56db\\u6838\\u5b89\\u53534.0 \\u667a\\u80fd\\u7535\\u89c6\\uff08\\u9ed1\\u8272)\",\"f\":1},\"4\":{\"d\":\"jfs\\/t394\\/21\\/212045762\\/147506\\/35431bb6\\/54111739N95e9d91a.jpg\",\"e\":\"0\",\"c\":\"3399.00\",\"a\":\"1091750\",\"b\":\"TCL D48A261 48\\u82f1\\u5bf8 \\u5fae\\u4fe1\\u7535\\u89c6 \\u5fae\\u4fe1TV \\u6d77\\u91cf\\u7231\\u5947\\u827a\\u6b63\\u7248\\u89c6\\u9891\\u5185\\u7f6ewifi\\u5b89\\u53534.2+\\u667a\\u80fd\\u4e91\\u6db2\\u6676\\u7535\\u89c6\\uff08\\u73e0\\u5149\\u9ed1\\uff09\",\"f\":1},\"5\":{\"d\":\"jfs\\/t352\\/176\\/622958559\\/105563\\/96db3f84\\/541a9c05N0e620600.jpg\",\"e\":\"0\",\"c\":\"1399.00\",\"a\":\"561990\",\"b\":\"\\u30101399\\u301120\\u65e5\\u9650\\u65f6\\u75af\\u62a2\\uff01\\u79d1\\u9f99 1\\u5339 \\u8282\\u80fd\\u660e\\u661f\\u7cfb\\u5217\\u58c1\\u6302\\u5f0f\\u5bb6\\u7528\\u51b7\\u6696\\u7a7a\\u8c03\",\"f\":1},\"6\":{\"d\":\"jfs\\/t427\\/111\\/405993570\\/100896\\/589e6a23\\/541aa024Nd53086e3.jpg\",\"e\":\"0\",\"c\":\"899.00\",\"a\":\"806876\",\"b\":\"\\u3010\\u7206\\u6b3e\\u79d2\\u6740\\u3011\\u6d77\\u5c14\\u7edf\\u5e055\\u516c\\u65a4\\u6ce2\\u8f6e\\u6d17\\u8863\\u673a\",\"f\":1},\"7\":{\"d\":\"jfs\\/t436\\/68\\/405020553\\/161757\\/bfa7c666\\/541aaff0N47dc48a7.jpg\",\"e\":0,\"c\":\"5188.00\",\"a\":\"1008604\",\"b\":\"\\u683c\\u529b\\uff08GREE\\uff09 KF-50LW\\/(50366)Ab-3 2\\u5339 \\u7acb\\u67dc\\u5f0f\\u60a6\\u98ce\\u7cfb\\u5217\\u5b9a\\u9891\\u5355\\u51b7\\u7a7a\\u8c03\",\"f\":1},\"8\":{\"d\":\"jfs\\/t196\\/205\\/572096066\\/133636\\/ae109d36\\/53915c98N6c5ce3db.jpg\",\"e\":\"0\",\"c\":\"1499.00\",\"a\":\"987620\",\"b\":\"\\u7f8e\\u7684\\u8fd1\\u5438\\u5f0f\\u5438\\u6cb9\\u70df\\u673a \\u5e95\\u4ef7\\u75af\\u62a2\\uff01\",\"f\":1},\"9\":{\"d\":\"jfs\\/t340\\/315\\/616097924\\/184334\\/2c68ef41\\/541aaf79N9b0d386b.jpg\",\"e\":0,\"c\":\"11800.00\",\"a\":\"1000032\",\"b\":\"\\u4e09\\u83f1\\u7535\\u673a MFZ-XEJ60VA 2.5\\u5339 \\u7acb\\u67dc\\u5f0f\\u51b7\\u6696\\u53d8\\u9891\\u7a7a\\u8c03\\uff08\\u767d\\u8272\\uff09\",\"f\":1},\"10\":{\"d\":\"jfs\\/t298\\/361\\/628561920\\/178580\\/9f45ca6\\/541aafd5Nffd1234b.jpg\",\"e\":0,\"c\":\"9900.00\",\"a\":\"1005853\",\"b\":\"\\u4e09\\u83f1\\u7535\\u673a MFH-GE71VCH 3\\u5339 \\u7acb\\u67dc\\u5f0f\\u51b7\\u6696\\u5b9a\\u9891\\u7a7a\\u8c03\\uff08\\u767d\\u8272\\uff09\",\"f\":1}},\"1623\":{\"1\":{\"d\":\"vclist\\/jfs\\/t292\\/89\\/1796198790\\/2373\\/3c393a11\\/5441c128N3676b9c3.jpg\",\"e\":\"0\",\"c\":\"2499.00\",\"a\":\"406874\",\"b\":\"2499\\u4f4e\\u4ef7\\u75af\\u62a2\\uff01\\u8001\\u4eba\\uff01\\u513f\\u7ae5\\uff01\\u8fc7\\u654f\\u7c7b\\u4eba\\u7fa4\\u9996\\u9009\\uff01\",\"f\":1},\"2\":{\"d\":\"jfs\\/t214\\/268\\/2043651982\\/56725\\/b90c97c5\\/540428b5N2d39ff0c.jpg\",\"e\":\"0\",\"c\":\"799.00\",\"a\":\"1198260\",\"b\":\"\\u9ad8\\u7aef\\u53a8\\u623f\\u6807\\u914d\\uff01\\u7f8e\\u7684\\u5fae\\u6ce2\\u7089 \\u5fae\\u7535\\u8111 \\u4e0b\\u62c9\\u5f0f\",\"f\":1},\"3\":{\"d\":\"jfs\\/t337\\/55\\/1449205220\\/302769\\/fc30877f\\/543b2215N4dd694f0.jpg\",\"e\":0,\"c\":\"399.00\",\"a\":\"1069467072\",\"b\":\"\\u51ef\\u4ed5\\u4e50(\\u56fd\\u9645\\u54c1\\u724c) KSR-T26 \\u5243\\u987b\\u5200 \\u9ed1 \\u8272\",\"f\":1},\"4\":{\"d\":\"g16\\/M00\\/02\\/0A\\/rBEbRlNsLtQIAAAAAAP1t4_fhPQAAAc-gB9eE4AA_XP539.jpg\",\"e\":\"0\",\"c\":\"199.00\",\"a\":\"969855\",\"b\":\"\\u4e5d\\u9633JYK-50P01 \\u7535\\u70ed\\u5f00\\u6c34\\u74f6 \\u4e09\\u6bb5\\u4fdd\\u6e29 5L\\uff01\\u4f60\\u503c\\u5f97\\u62e5\\u6709\\uff01\",\"f\":1},\"5\":{\"d\":\"jfs\\/t331\\/198\\/765151136\\/114209\\/f424a60a\\/54222ae0N68a76b64.jpg\",\"e\":\"0\",\"c\":\"399.00\",\"a\":\"964753\",\"b\":\"147mm\\u5bbd\\u7247\\uff01\\u8d85\\u503c\\uff01\\u7f8e\\u768411\\u7247\\u7535\\u6cb9\\u6c40 NY2011-13F\",\"f\":1},\"6\":{\"d\":\"g15\\/M0A\\/1C\\/00\\/rBEhWFNor7EIAAAAAAJR4KhxqckAAM7vQIuuPwAAlH4330.jpg\",\"e\":\"0\",\"c\":\"189.00\",\"a\":\"664517\",\"b\":\"\\u3010\\u7206\\u6b3e\\u70ed\\u9500\\u3011\\u82cf\\u6cca\\u5c14\\u7535\\u996d\\u7172 CFXB30FC118-60\",\"f\":1},\"7\":{\"d\":\"g14\\/M07\\/02\\/1D\\/rBEhVVKTJKAIAAAAAALzsUvx9pYAAGDxwFYosYAAvPJ269.jpg\",\"e\":0,\"c\":\"449.00\",\"a\":\"1059431503\",\"b\":\"\\u9f0e\\u94c3\\uff08Dearlin)RSCX-3099\\u5243\\u987b\\u5200 \\u4e09\\u5934\\u6d6e\\u52a8 \\u6db2\\u6676\\u663e\\u793a\\u9ad8\\u7aef \\u5373\\u63d2\\u5373\\u7528 \\u5168\\u8eab\\u6c34\\u6d17\",\"f\":1},\"8\":{\"d\":\"jfs\\/t346\\/74\\/1406074019\\/100523\\/82560568\\/5438f403N562118f8.jpg\",\"e\":\"0\",\"c\":\"999.00\",\"a\":\"1238297\",\"b\":\"\\u301010\\u670824\\u65e510\\u70b9\\u9996\\u53d1\\u3011\\u8d1d\\u5c14\\u65af\\u987f \\u65b0\\u4e00\\u4ee3\\u539f\\u6c41\\u673a\",\"f\":1},\"9\":{\"d\":\"jfs\\/t235\\/304\\/2318777844\\/131226\\/2b50f4de\\/54111660Nb19f43c9.jpg\",\"e\":\"0\",\"c\":\"139.00\",\"a\":\"1091194\",\"b\":\"\\u97e9\\u56fdHYUNDAI BD-ZZ2507 \\u69a8\\u6c41\\u673a \\u6599\\u7406\\u673a \\u6405\\u62cc\\u673a\",\"f\":1},\"10\":{\"d\":\"g16\\/M00\\/01\\/1C\\/rBEbRVNrbHwIAAAAAARCrJuONFoAAAXrAEZn7sABELE766.jpg\",\"e\":\"0\",\"c\":\"439.00\",\"a\":\"968367\",\"b\":\"\\u4e9a\\u90fd\\uff08YADU\\uff09SZK-J136 3.6L\\u51c0\\u5316\\u578b\\u52a0\\u6e7f\\u5668\",\"f\":1}},\"1624\":{\"1\":{\"d\":\"jfs\\/t259\\/343\\/1377793328\\/79015\\/cb970f41\\/53faa695N02a44415.jpg\",\"e\":\"0\",\"c\":\"1199.00\",\"a\":\"1199748\",\"b\":\"\\u3010\\u5957\\u88c5\\u7248\\u3011\\u9177\\u6d3e \\u5927\\u795eF2  4G\\u624b\\u673a \\u53cc\\u5361\\u53cc\\u5f85\",\"f\":1},\"2\":{\"d\":\"g16\\/M00\\/0C\\/06\\/rBEbRlOH6DYIAAAAAAFK6TVqudAAACYFAFvpcYAAUsB583.jpg\",\"e\":\"0\",\"c\":\"2699.00\",\"a\":\"1142203\",\"b\":\"OPPO N5117 N1 mini\\u624b\\u673a\\u8282\\u7279\\u60e0\\uff0c\\u62bd\\u5956\\u8d62\\u514d\\u5355\\uff01\",\"f\":1},\"3\":{\"d\":\"jfs\\/t325\\/171\\/456710470\\/209568\\/9046b511\\/54129e12N69da0d2b.jpg\",\"e\":\"0\",\"c\":\"5399.00\",\"a\":\"1220064\",\"b\":\"\\u4e09\\u661f Galaxy Note4 N9100 4G\\u624b\\u673a\\uff08\\u5e7b\\u5f71\\u767d\\uff09FDD-LTE\\/TD-LTE\\/TD-SCDMA\\/WCDMA\\/GSM \\u53cc\\u5361\\u53cc\\u5f85 \\u516c\\u5f00\\u7248\",\"f\":1},\"4\":{\"d\":\"g15\\/M00\\/03\\/14\\/rBEhWVLiHLgIAAAAAAERWVp-nPIAAIK4QCk9ZQAARFx951.jpg\",\"e\":\"0\",\"c\":\"699.00\",\"a\":\"1058924\",\"b\":\"\\u9177\\u6d3e 5951 \\u7535\\u4fe13G\\u624b\\u673a\\uff08\\u667a\\u5c1a\\u767d\\uff09 CDMA2000\\/GSM \\u53cc\\u5361\\u53cc\\u5f85 \",\"f\":1},\"5\":{\"d\":\"1331\\/54090acd-c1e2-4655-8154-b1dbe1952801.jpg\",\"e\":0,\"c\":\"99.00\",\"a\":\"1025287\",\"b\":\"\\u5c71\\u4e1c\\u9752\\u5c9b\\u8054\\u901a\\u5b58\\u8d39\\u9001\\u8d39\\u4fc3\\u9500\\u53f7\\u5361\\uff0866\\u5957\\u9910\\u5185\\u542b440\\u5143\\u8bdd\\u8d39\\uff0c96\\u5957\\u9910\\u5185\\u542b536\\u5143\\u8bdd\\u8d39\\uff0c\\u5206\\u6708\\u8fd4\\u8fd8\\uff09\",\"f\":1},\"6\":{\"d\":\"jfs\\/t214\\/83\\/1506003109\\/96316\\/6df25726\\/53fbeb60Na67a9699.jpg\",\"e\":\"0\",\"c\":\"699.00\",\"a\":\"1205405\",\"b\":\"\\u9177\\u6d3e F1\\u9752\\u6625\\u7248\\uff088297D\\uff09 3G\\u624b\\u673a\\uff08\\u667a\\u5c1a\\u767d\\uff09 TD-SCDMA\\/GSM \\u53cc\\u5361\\u53cc\\u5f85\",\"f\":1},\"7\":{\"d\":\"g13\\/M04\\/04\\/19\\/rBEhVFICGc0IAAAAAAF-Y7ttbzkAAB1AgLYNBUAAX57320.jpg\",\"e\":\"0\",\"c\":\"1459.00\",\"a\":\"944597\",\"b\":\"\\u4e09\\u661f GALAXY Mega I9208 3G\\u624b\\u673a\\uff08\\u9ed1\\u8272\\uff09TD-SCDMA\\/GSM\",\"f\":1},\"8\":{\"d\":\"g13\\/M09\\/01\\/10\\/rBEhVFNoresIAAAAAAEvGkg2eJUAANAYgNgY4EAAS8y840.jpg\",\"e\":\"0\",\"c\":\"2388.00\",\"a\":\"1124090\",\"b\":\"\\u534e\\u4e3a Ascend P7-L00 4G\\u624b\\u673a\\uff08\\u767d\\u8272\\uff09TD-LTE\\/WCDMA\\/GSM \\u53cc\\u5361\\u53cc\\u5f85\\u53cc\\u901a\",\"f\":1},\"9\":{\"d\":\"jfs\\/t271\\/345\\/2702550\\/314896\\/66bf358b\\/53fea423N6db3c5de.jpg\",\"e\":0,\"c\":\"380.00\",\"a\":\"1015367808\",\"b\":\"\\u4e50\\u76eeLM128 \\u4e09\\u9632\\u624b\\u673a GSM\\u53cc\\u5361\\u53cc\\u5f85 \\u7eff\\u9ed1\",\"f\":1},\"10\":{\"d\":\"jfs\\/t445\\/293\\/324101532\\/88649\\/7f4d646f\\/54179f81Nb717a4fb.jpg\",\"e\":\"0\",\"c\":\"198.00\",\"a\":\"1130155\",\"b\":\"\\u7231\\u56fd\\u8005 029 \\u53ccUSB\\u805a\\u5408\\u7269\\u79fb\\u52a8\\u7535\\u6e90\\/\\u5145\\u7535\\u5b9d20000\\u6beb\\u5b89 \\u9ed1\\u8272\",\"f\":1}},\"1625\":{\"1\":{\"d\":\"g13\\/M08\\/00\\/08\\/rBEhU1HeW2cIAAAAAAFTnHZaunEAAA8jwLFCy8AAVO0045.jpg\",\"e\":\"0\",\"c\":\"118.00\",\"a\":\"1026772145\",\"b\":\"\\u3010\\u4e70\\u5373\\u9001\\u73bb\\u7483\\u6c34\\u3011\\u957f\\u57ce\\u6da6\\u6ed1\\u6cb9 \\u91d1\\u5409\\u661fJ400 SJ 10W-40 \\u6c7d\\u8f66\\u673a\\u6cb9 4L\",\"f\":1},\"2\":{\"d\":\"g16\\/M00\\/00\\/19\\/rBEbRVNq5E0IAAAAAAF8ZuZQF8QAAAKGAA_p8UAAXx-967.jpg\",\"e\":\"0\",\"c\":\"799.00\",\"a\":\"213166\",\"b\":\"\\u590f\\u666e\\uff08SHARP\\uff09\\u8f66\\u8f7d\\u6297\\u83cc\\u673aIG-BC2S-B\",\"f\":1},\"3\":{\"d\":\"g5\\/M01\\/02\\/06\\/rBEDik_PFIkIAAAAAAG-LGWYrP8AAAbsAKlQtIAAb5E316.jpg\",\"e\":\"0\",\"c\":\"498.00\",\"a\":\"609735\",\"b\":\"\\u3010\\u4eac\\u4e1c\\u81ea\\u8425\\u3011PAPAGO P1W\\u884c\\u8f66\\u8bb0\\u5f55\\u4eea \\u4eba\\u6c14\\u5355\\u54c1\\uff01\",\"f\":1},\"4\":{\"d\":\"jfs\\/t145\\/88\\/1896075655\\/276819\\/a1adb000\\/53bf5c56Nd5f750ba.jpg\",\"e\":\"0\",\"c\":\"129.00\",\"a\":\"893005\",\"b\":\"\\u5b9d\\u5de5\\uff08Pro'skit\\uff09PK-2030 \\u5bb6\\u7528\\u5de5\\u5177\\u7ec4\\u5957\\uff0830\\u4ef6\\u7ec4\\uff09\\u4e94\\u91d1\\u7efc\\u5408\\u5de5\\u5177\\u5957\\u88c5\",\"f\":1},\"5\":{\"d\":\"g17\\/M00\\/01\\/1B\\/rBEbSVNxzIkIAAAAAAJdYCtTSUEAAAkJQFHl5YAAl14943.jpg\",\"e\":\"0\",\"c\":\"389.00\",\"a\":\"1121823\",\"b\":\"\\u3010\\u4eac\\u4e1c\\u81ea\\u8425\\u3011\\u4e00\\u6c7d\\u5927\\u4f17\\uff08Volkswagen\\uff09 \\u6c7d\\u6cb9\\u6dfb\\u52a0\\u5242120ML 8\\u652f\\u88c5 \\uff08\\u9002\\u7528\\u5168\\u90e8\\u4e00\\u6c7d\\u5927\\u4f17\\u8f66\\u578b\\uff09\",\"f\":1},\"6\":{\"d\":\"jfs\\/t307\\/337\\/427722236\\/135736\\/cbf25fcb\\/54114d18N4cf58c8d.jpg\",\"e\":\"0\",\"c\":\"356.00\",\"a\":\"1133080\",\"b\":\"\\u3010+1\\u5143\\u5f97\\u6279\\u5934\\u3011\\u535a\\u4e16TSR 10.8v\\u5145\\u7535\\u5f0f\\u7535\\u94bb\\/\\u8d77\\u5b50\\u673a\\u5355\\u7535\\u7248\",\"f\":1},\"7\":{\"d\":\"jfs\\/t346\\/304\\/817810532\\/145022\\/405060f8\\/5424e1f9Ne6f86563.jpg\",\"e\":\"0\",\"c\":\"168.00\",\"a\":\"1232051\",\"b\":\"\\u3010\\u4eac\\u4e1c\\u9996\\u53d1\\uff0c\\u4e70\\u65e2\\u8d603M\\u8c6a\\u793c\\u30113M  \\u6c34\\u6676\\u9540\\u819c\\u8721\",\"f\":1},\"8\":{\"d\":\"jfs\\/t148\\/131\\/2482775506\\/154844\\/d5e278ad\\/53d1ae7dN2c354ead.jpg\",\"e\":\"0\",\"c\":\"298.00\",\"a\":\"1181823\",\"b\":\"\\u5b8f\\u9a8f \\u5168\\u5305\\u56f4\\u5730\\u6bef\\u4e1d\\u5708\\u6c7d\\u8f66\\u811a\\u57ab\",\"f\":1},\"9\":{\"d\":\"vclist\\/jfs\\/t298\\/47\\/1699219430\\/4398\\/c71ca270\\/54408cfcNca585014.jpg\",\"e\":\"0\",\"c\":\"139.00\",\"a\":\"749251\",\"b\":\"G-1110\\u7070\\u8272\",\"f\":1},\"10\":{\"d\":\"g16\\/M00\\/0C\\/07\\/rBEbRVOINysIAAAAAADSicAe5jQAACYhgLl-jsAANKh889.jpg\",\"e\":\"0\",\"c\":\"1399.00\",\"a\":\"1135545\",\"b\":\"\\u3010\\u70ed\\u9500\\u63a8\\u8350\\uff01\\u3011\\u677e\\u4e0b\\uff08Panasonic\\uff09\\u667a\\u80fd\\u9a6c\\u6876\\u76d6 DL-SH10RHC \\u6d01\\u4e50\\u7535\\u5b50\\u5750\\u4fbf\\u76d6\",\"f\":1}},\"1629\":{\"1\":{\"d\":\"jfs\\/t271\\/340\\/1545329184\\/167829\\/c38b2a0f\\/543cf8deNa9ed63c0.jpg\",\"e\":\"0\",\"c\":\"199.00\",\"a\":\"1254049901\",\"b\":\"\\u7f8e\\u7279\\u65af\\u90a6\\u5a01\\u8fde\\u5e3d\\u79d1\\u6280\\u7ed2\\u5916\\u5957 \\u591a\\u8272\\u53ef\\u9009\",\"f\":1},\"2\":{\"d\":\"jfs\\/t325\\/133\\/1640239537\\/121244\\/8aa1a66b\\/543f6fdaN0ead1e52.jpg\",\"e\":\"0\",\"c\":\"888.00\",\"a\":\"1248204379\",\"b\":\"\\u54c8\\u5409\\u65af\\u7537\\u58eb\\u683c\\u5b50\\u886c\\u8863\\u4fee\\u8eab\\u82f1\\u4f26\\u98ce\\u8d27\\u5230\\u4ed8\\u6b3e\",\"f\":1},\"3\":{\"d\":\"jfs\\/t307\\/157\\/1554782064\\/78768\\/6a876327\\/543dee1eNd764c5c2.jpg\",\"e\":\"0\",\"c\":\"339.00\",\"a\":\"1245609319\",\"b\":\"\\u52b2\\u9738\\u62fc\\u63a5\\u9752\\u679c\\u9886\\u4f11\\u95f2\\u6bdb\\u886b\",\"f\":1},\"4\":{\"d\":\"jfs\\/t307\\/284\\/1351328708\\/293112\\/e420a3b1\\/5437a672N86bb0946.jpg\",\"e\":\"0\",\"c\":\"198.00\",\"a\":\"1222809625\",\"b\":\"\\u3010\\u6d77\\u6f9c\\u4e4b\\u5bb6\\u3011\\u8f7b\\u8584\\u8212\\u9002\\u68c9\\u8863\\u7537\\u5916\\u5957\",\"f\":1},\"5\":{\"d\":\"jfs\\/t322\\/18\\/1579413848\\/105907\\/ac30f2b1\\/543dffbdN426a4e25.jpg\",\"e\":\"0\",\"c\":\"149.00\",\"a\":\"1095550128\",\"b\":\"\\u6749\\u6749\\u3010\\u7280\\u725b\\u8936\\u52a0\\u7ed2\\u3011\\u514d\\u70eb\\u97e9\\u7248\\u4fee\\u8eab\\u897f\\u88e4\",\"f\":1},\"6\":{\"d\":\"jfs\\/t283\\/97\\/1664481281\\/154289\\/b864dfa1\\/543f5b7dN9f575351.jpg\",\"e\":\"0\",\"c\":\"129.00\",\"a\":\"1315351824\",\"b\":\"A21\\u79cb\\u5b63\\u65b0\\u54c1\\u4e94\\u5f69\\u7eaf\\u8272\\u886c\\u886b\",\"f\":1},\"7\":{\"d\":\"jfs\\/t295\\/109\\/1342028660\\/145740\\/da1cfc5a\\/54377b01N668a230a.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"1300956914\",\"b\":\"\\u5c0f\\u62a4\\u58eb \\u83ab\\u4ee3\\u5c14\\u9576\\u94bb\\u8584\\u6b3e\\u5957\\u88c5\",\"f\":1},\"8\":{\"d\":\"jfs\\/t313\\/59\\/1640451373\\/22391\\/bbb18bd5\\/543f2b49Ne36039c0.jpg\",\"e\":\"0\",\"c\":\"229.00\",\"a\":\"1277865391\",\"b\":\"\\u4e5d\\u7267\\u738b\\u4fee\\u8eab\\u7248\\u5546\\u52a1\\u4f11\\u95f2\\u897f\\u88e4\",\"f\":1},\"9\":{\"d\":\"jfs\\/t325\\/362\\/823070827\\/122240\\/70ec2706\\/5424cdebN10363c73.jpg\",\"e\":\"0\",\"c\":\"459.00\",\"a\":\"1218049020\",\"b\":\"GXG\\u7537\\u58eb\\u65f6\\u5c1a\\u90fd\\u5e02\\u5546\\u52a1\\u4f11\\u95f2\\u53cc\\u6392\\u6263\\u98ce\\u8863\",\"f\":1},\"10\":{\"d\":\"jfs\\/t289\\/318\\/1560582412\\/82569\\/3f27ba7c\\/543df382N5d3e8d01.jpg\",\"e\":\"0\",\"c\":\"199.50\",\"a\":\"1037304544\",\"b\":\"SELECTED\\u7ec6\\u6761\\u7eb9\\u9762\\u6599\\u65f6\\u5c1a\\u4f11\\u95f2\\u957f\\u88e4\",\"f\":1}},\"1630\":{\"1\":{\"d\":\"jfs\\/t325\\/245\\/1388199522\\/80804\\/6b0e30dc\\/5438c4ecN35692e36.jpg\",\"e\":\"0\",\"c\":\"158.00\",\"a\":\"1331292059\",\"b\":\"\\u5357\\u6781\\u4eba \\u79cb\\u51ac\\u60c5\\u4fa3\\u4fdd\\u6696\\u5185\\u8863\",\"f\":1},\"2\":{\"d\":\"jfs\\/t322\\/186\\/1282496172\\/205595\\/c33f3865\\/5435db07N8d2abf0c.jpg\",\"e\":\"0\",\"c\":\"149.00\",\"a\":\"1313238400\",\"b\":\"\\u6b27\\u4e1d\\u7490\\u96ea\\u7eba\\u62fc\\u63a5\\u7f8a\\u6bdb\\u886b\",\"f\":1},\"3\":{\"d\":\"jfs\\/t349\\/101\\/1334924094\\/44457\\/2950b9eb\\/5437962dN23a139a5.jpg\",\"e\":\"0\",\"c\":\"89.00\",\"a\":\"1304542476\",\"b\":\"\\u6768\\u5e42\\u661f\\u63a8\\u8350 \\u6536\\u8179\\u5851\\u8eab\\u7f8e\\u4f53\\u6253\\u5e95\\u88e4\",\"f\":1},\"4\":{\"d\":\"jfs\\/t322\\/54\\/1593049388\\/271864\\/316f56fc\\/543e0582Nca1f9f12.jpg\",\"e\":\"0\",\"c\":\"369.00\",\"a\":\"1279767851\",\"b\":\"\\u9999\\u5f71\\u4e00\\u7c92\\u6263\\u7f8a\\u6bdb\\u5927\\u8863\",\"f\":1},\"5\":{\"d\":\"jfs\\/t301\\/7\\/1312806633\\/99482\\/42fa6d5\\/543644dfNe08947ec.jpg\",\"e\":\"0\",\"c\":\"89.00\",\"a\":\"1026254997\",\"b\":\"\\u6052\\u6e90\\u7965 \\u65f6\\u5c1a\\u5851\\u8eab\\u7f8e\\u4f53\\u4fdd\\u6696\\u6253\\u5e95\\u88e4\",\"f\":1},\"6\":{\"d\":\"jfs\\/t280\\/111\\/1553220000\\/141049\\/1353184d\\/543e0697N4ab19178.jpg\",\"e\":\"0\",\"c\":\"126.00\",\"a\":\"1275431779\",\"b\":\"\\u521d\\u68c9\\u5706\\u9886\\u6253\\u5e95\\u6bdb\\u8863\",\"f\":1},\"7\":{\"d\":\"jfs\\/t277\\/185\\/1559685657\\/183262\\/565b8bfa\\/543df10eN30a5a06f.jpg\",\"e\":\"0\",\"c\":\"898.00\",\"a\":\"1268550680\",\"b\":\"\\u5723\\u65af\\u74902014\\u6d77\\u5b81\\u51ac\\u5b63\\u65b0\\u6b3e\\u5154\\u6bdb\\u76ae\\u8349\\u5916\\u5957\",\"f\":1},\"8\":{\"d\":\"jfs\\/t235\\/17\\/405032116\\/114850\\/a7026427\\/53ead136N5a78223c.jpg\",\"e\":\"0\",\"c\":\"499.00\",\"a\":\"1253504683\",\"b\":\"LILY\\u79cb\\u88c5\\u6b27\\u7f8e\\u82f1\\u4f26\\u98ce\\u5343\\u9e1f\\u683c\\u62fc\\u8272\\u4e2d\\u957f\\u6b3e\\u5916\\u5957\",\"f\":1},\"9\":{\"d\":\"jfs\\/t337\\/122\\/1555371566\\/92833\\/f41296b\\/543e08abN0bdbead9.jpg\",\"e\":\"0\",\"c\":\"138.00\",\"a\":\"1037850795\",\"b\":\"OSA\\u94a9\\u82b1\\u9542\\u7a7a\\u6bdb\\u8863\",\"f\":1},\"10\":{\"d\":\"vclist\\/jfs\\/t271\\/157\\/1662603812\\/3033\\/691f199b\\/543f5efcN6a63bf02.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"1033504921\",\"b\":\"\\u6ce2\\u53f8\\u767b\\u7fbd\\u4e1d\\u7ed2\\u4fdd\\u6696\\u5185\\u8863\\u5957\\u88c5\",\"f\":1}},\"1631\":{\"1\":{\"d\":\"g6\\/M00\\/01\\/11\\/rBEGDFCSIfAIAAAAAAEK1i4_KDgAAATOwMqT7wAAQru836.jpg\",\"e\":\"0\",\"c\":\"399.00\",\"a\":\"754013\",\"b\":\"\\u7f8e\\u65c5\\u7bb1\\u5305 \\u65f6\\u5c1a\\u70ab\\u5f69\",\"f\":1},\"2\":{\"d\":\"jfs\\/t235\\/214\\/17825906\\/118869\\/993d7666\\/53e335d1N2951ea62.jpg\",\"e\":\"0\",\"c\":\"249.00\",\"a\":\"1190014\",\"b\":\"\\u897f\\u90e8\\u725b\\u5320\\u771f\\u76ae\\u7537\\u5305\\u5355\\u80a9\\u5305\\u659c\\u630e\\u5305\",\"f\":1},\"3\":{\"d\":\"jfs\\/t172\\/245\\/1045169498\\/96062\\/4c873a15\\/53a0e3c9Ncbe78cd2.jpg\",\"e\":\"0\",\"c\":\"358.00\",\"a\":\"1137353\",\"b\":\"\\u90fd\\u5b9d\\u8def \\u767e\\u642d\\u9cc4\\u9c7c\\u7eb9\\u5934\\u5c42\\u725b\\u76ae\\u5355\\u80a9\\u771f\\u76ae\\u5305\\u5305\",\"f\":1},\"4\":{\"d\":\"jfs\\/t313\\/101\\/1567267144\\/247044\\/99efdc40\\/543dee8fNaae8925d.jpg\",\"e\":\"0\",\"c\":\"118.00\",\"a\":\"1090692435\",\"b\":\"SXLLNS\\u7537\\u58eb\\u5934\\u5c42\\u8f6f\\u725b\\u76ae\\u81ea\\u52a8\\u6263\\u76ae\\u5e26\",\"f\":1},\"5\":{\"d\":\"g13\\/M01\\/06\\/12\\/rBEhU1NPhNkIAAAAAAL0GyVbP7oAAL_mQMfgpEAAvQz192.jpg\",\"e\":\"0\",\"c\":\"659.00\",\"a\":\"1085879187\",\"b\":\"\\u5916\\u4ea4\\u5b9820\\u82f1\\u5bf8PC\\u62c9\\u6746\\u7bb1\",\"f\":1},\"6\":{\"d\":\"jfs\\/t211\\/76\\/1652697725\\/90427\\/f39257aa\\/53fd589bNb688fa58.jpg\",\"e\":\"0\",\"c\":\"799.00\",\"a\":\"1275153054\",\"b\":\"\\u83b1\\u5c14\\u65af\\u4e39\\u8212\\u9002\\u62c9\\u94fe\\u62fc\\u8272\\u811a\\u8e1d\\u9774\",\"f\":1},\"7\":{\"d\":\"jfs\\/t295\\/78\\/1590129142\\/189423\\/f3aae485\\/543e2db2N301ba64c.jpg\",\"e\":\"0\",\"c\":\"738.00\",\"a\":\"1267825754\",\"b\":\"\\u767e\\u4e3d2014\\u5e74\\u79cb\\u5b63\\u9152\\u7ea2\\u8272\\u7f8a\\u4eac\\u8c82\\u6bdb\\u5973\\u978b\",\"f\":1},\"8\":{\"d\":\"jfs\\/t238\\/61\\/2210151403\\/92852\\/d9fac3f2\\/540e785eNe2b7b7d1.jpg\",\"e\":\"0\",\"c\":\"2980.00\",\"a\":\"1216897\",\"b\":\"BURBERRY \\u5df4\\u5b9d\\u8389 \\u5973\\u58eb\\u73ab\\u7470\\u7ea2\\u6df7\\u7eba\\u683c\\u5b50\\u4e1d\\u5dfe 39227161\",\"f\":1},\"9\":{\"d\":\"jfs\\/t283\\/219\\/1591724844\\/230817\\/c2ff309d\\/543df106N70dcbc14.jpg\",\"e\":\"0\",\"c\":\"248.00\",\"a\":\"1218470952\",\"b\":\"\\u9cc4\\u9c7c\\u6064 2014\\u79cb\\u51ac\\u65b0\\u6b3e\\u6b63\\u88c5\\u5546\\u52a1\\u76ae\\u978b\",\"f\":1},\"10\":{\"d\":\"jfs\\/t271\\/78\\/1404925506\\/50685\\/36385a24\\/543b5318Nb5a8e3c1.jpg\",\"e\":\"0\",\"c\":\"221.00\",\"a\":\"1231300914\",\"b\":\"\\u5544\\u6728\\u9e1f\\u771f\\u76ae\\u5957\\u811a\\u5546\\u52a1\\u978b\",\"f\":1}},\"1632\":{\"1\":{\"d\":\"jfs\\/t166\\/189\\/1322862860\\/93490\\/9b3b406d\\/53a96883Nfec2ed1f.jpg\",\"e\":\"0\",\"c\":\"2999.00\",\"a\":\"518644\",\"b\":\"\\u91d1\\u53f2\\u5bc6\\u65afT221\\u5bb6\\u7528\\u591a\\u529f\\u80fd\\u9759\\u97f3\\u53ef\\u6298\\u53e0\\u8dd1\\u6b65\\u673a\",\"f\":1},\"2\":{\"d\":\"jfs\\/t391\\/14\\/518652252\\/118936\\/ab5a5531\\/5421873eNf93daa3f.jpg\",\"e\":\"0\",\"c\":\"1098.00\",\"a\":\"1314760197\",\"b\":\"\\u8010\\u514bNIKE SportWatch GPS\\u6237\\u5916\\u8fd0\\u52a8\\u667a\\u80fd\\u8155\\u8868\\u624b\\u8868\",\"f\":1},\"3\":{\"d\":\"jfs\\/t196\\/327\\/2884162308\\/152115\\/7b735486\\/53db395eN2dd8697e.jpg\",\"e\":\"0\",\"c\":\"769.00\",\"a\":\"1237840870\",\"b\":\"\\u8010\\u514b\\u70ed\\u5356\\u8dd1\\u6b65\\u978b \\u4e3a\\u4e0a\\u6d77\\u9a6c\\u62c9\\u677e\\u800c\\u6218\",\"f\":1},\"4\":{\"d\":\"jfs\\/t148\\/226\\/2048956644\\/67147\\/960cbf6b\\/53c26719N1066024f.jpg\",\"e\":\"0\",\"c\":\"150.00\",\"a\":\"1216742124\",\"b\":\"\\u5fb7\\u5c14\\u60e0 \\u65b0\\u6b3e\\u7537\\u5b50\\u4f11\\u95f2\\u677f\\u978b\",\"f\":1},\"5\":{\"d\":\"jfs\\/t154\\/293\\/865308133\\/60173\\/7726a2f2\\/539ab509N0634c559.jpg\",\"e\":\"0\",\"c\":\"159.00\",\"a\":\"1064568818\",\"b\":\"\\u8d27\\u5230\\u4ed8\\u6b3e 361\\u5ea6\\u8d85\\u8f7b\\u7537\\u8dd1\\u978b \\u521b\\u65b0\\u7f51\\u9762\\u9501\\u6e29\\u4e0d\\u81ed\\u811a\",\"f\":1},\"6\":{\"d\":\"jfs\\/t238\\/277\\/2248579748\\/89872\\/3269c5d5\\/540fc9bcN7f84751d.jpg\",\"e\":\"0\",\"c\":\"3188.00\",\"a\":\"1217463\",\"b\":\"\\u4eac\\u4e1c\\u81ea\\u8425 \\u8212\\u534e\\u8dd1\\u6b65\\u673a\",\"f\":1},\"7\":{\"d\":\"jfs\\/t184\\/42\\/1629445131\\/186892\\/2b4ab6b8\\/53b62975N7415dd95.jpg\",\"e\":\"0\",\"c\":\"2999.00\",\"a\":\"1207693025\",\"b\":\"IPS \\u7535\\u52a8\\u72ec\\u8f6e\\u8f66 T260\",\"f\":1},\"8\":{\"d\":\"jfs\\/t187\\/202\\/689994696\\/230144\\/12e54262\\/5395673aN48a94b92.jpg\",\"e\":\"0\",\"c\":\"799.00\",\"a\":\"1108484755\",\"b\":\"\\u72fc\\u722a\\u51b2\\u950b\\u8863\",\"f\":1},\"9\":{\"d\":\"jfs\\/t151\\/365\\/878636552\\/76165\\/3a616078\\/539a9a66Nd2fab287.jpg\",\"e\":\"0\",\"c\":\"219.00\",\"a\":\"1138399\",\"b\":\"\\u5c24\\u5c3c\\u514b\\u65af\\/YONEX \\u78b3\\u7d20\\u7fbd\\u62cdISO-LITE-2\",\"f\":1},\"10\":{\"d\":\"jfs\\/t421\\/160\\/663452420\\/176553\\/8307b7fa\\/5427743eN63035792.jpg\",\"e\":\"0\",\"c\":\"98.00\",\"a\":\"1232224\",\"b\":\"\\u739b\\u4e01\\u56fe \\u6237\\u5916\\u80cc\\u5305\\u767b\\u5c71\\u5305\\u7537\\u5973\\u53cc\\u80a9\\u5305\\u65c5\\u884c\\u5305\",\"f\":1}},\"1666\":{\"1\":{\"d\":\"g14\\/M00\\/0E\\/07\\/rBEhVVLg2AYIAAAAAAJNZiCSXuEAAIRkQN8jacAAk1-692.jpg\",\"e\":\"0\",\"c\":\"118.00\",\"a\":\"670482\",\"b\":\"\\u81ea\\u8425 \\u79d2\\u674089\\u5143-\\u4e24\\u74f6\\u4ef7\\u53e4\\u4e95\\u8d21\\u9152\\u5e74\\u4efd\\u539f\\u6d46\\u732e\\u793c\\u724845\\u5ea6 500ml\",\"f\":1},\"2\":{\"d\":\"g10\\/M00\\/1E\\/07\\/rBEQWFNlltgIAAAAAAJEVHjIxI0AAF7EQNIaEkAAkRs004.jpg\",\"e\":\"0\",\"c\":\"249.00\",\"a\":\"324839\",\"b\":\"\\u81ea\\u8425 \\u9171\\u9999\\u5178\\u8303 \\u7ea2\\u82b1\\u90ce\\u9152\\u5341\\u5e74\\u9648\\u917f53\\u5ea6 500ml\",\"f\":1},\"3\":{\"d\":\"jfs\\/t349\\/343\\/1688335341\\/491495\\/e39750c9\\/543f9fb8N3307eaa0.jpg\",\"e\":\"0\",\"c\":\"88.00\",\"a\":\"1313932483\",\"b\":\"\\u4e94\\u4ed9\\u8336\\u53f6\\u6e05\\u9999\\u578b\\u94c1\\u89c2\\u97f3 \\u9ad8\\u5c71\\u94c1\\u89c2\\u97f3\\u8336\\u53f6\\u76d2\\u88c5\\u8336\\u5171500g 125g\\/\\u76d2*4\\u76d2\",\"f\":1},\"4\":{\"d\":\"jfs\\/t196\\/300\\/3056580870\\/135639\\/d2f09160\\/53e0a2c4N8e1832ae.jpg\",\"e\":\"0\",\"c\":\"135.00\",\"a\":\"1182884\",\"b\":\"\\u81ea\\u842599\\u5143\\u5165\\u624b\\uff01Baileys\\u767e\\u5229\\u751c\\u9152\\u6b22\\u805a\\u88c5\\u793c\\u76d2\\uff08\\u5185\\u542b\\u767e\\u5229\\u751c\\u9152750ml+\\u5ddd\\u5b81\\u82f1\\u56fd\\u65e9\\u9910\\u7ea2\\u83362\\u76d2\\uff09\",\"f\":1},\"5\":{\"d\":\"jfs\\/t178\\/194\\/1842051269\\/207650\\/5795ec51\\/53be5c82N024be9bf.jpg\",\"e\":\"0\",\"c\":\"338.00\",\"a\":\"1019219927\",\"b\":\"\\u540d\\u9152\\u6c34\\u6676\\u5251\\u5357\\u662552\\u5ea6500ml \\u6d53\\u9999\\u578b\\u767d\\u9152\",\"f\":1},\"6\":{\"d\":\"jfs\\/t247\\/7\\/529377439\\/116926\\/f42f4794\\/53ed735bN529a2579.jpg\",\"e\":\"0\",\"c\":\"129.00\",\"a\":\"1115612\",\"b\":\"\\u3010\\u6ee1100\\u51cf30\\uff01\\u661f\\u5df4\\u514b\\u611f\\u6069\\u56de\\u9988\\uff01\\u54c1\\u8d28\\u4eac\\u4e1c\\uff01\\u54c1\\u8d28\\u661f\\u5df4\\u514b\\uff01\\u3011\",\"f\":1},\"7\":{\"d\":\"g13\\/M01\\/00\\/0A\\/rBEhU1GxoSUIAAAAAAQMRyw2sF0AAAD_wEx8ewABAxf890.jpg\",\"e\":0,\"c\":\"168.00\",\"a\":\"1000458439\",\"b\":\"\\u6cd5\\u56fd\\u62c9\\u7279\\u57ce\\u5821\\u5e72\\u7ea2\\u8461\\u8404\\u9152750ml \\u9ad8\\u6863\\u7ea2\\u6728\\u793c\\u76d2\\u88c5\\u539f\\u74f6\\u8fdb\\u53e3\\u7ea2\\u9152\",\"f\":1},\"8\":{\"d\":\"jfs\\/t211\\/207\\/2307275301\\/186970\\/93bc0cd4\\/54126d27N787b2eb7.jpg\",\"e\":\"0\",\"c\":\"299.00\",\"a\":\"1298196277\",\"b\":\"\\u5927\\u575b\\u5b50\\u767d\\u9152\\u7279\\u4ef75L 56\\u5ea6\\u6d53\\u9999\\u578b\\u4e94\\u5cad\\u6d1e\\u85cf\\u56fd\\u82b1\\u74f710\\u65a4 \\u9ad8\\u6863\\u9001\\u793c\\u793c\\u76d2\",\"f\":1}},\"1667\":{\"1\":{\"d\":\"jfs\\/t241\\/13\\/986282092\\/142760\\/5d893bf3\\/53f445a1Nef04d96f.jpg\",\"e\":\"0\",\"c\":\"115.00\",\"a\":\"1029250\",\"b\":\"\\u79d1\\u5c14\\u6c81\\u98ce\\u5e72\\u725b\\u8089\\u6781\\u81f4\\u8c6a\\u60c5\\u70d8\\u70e4\\u539f\\u5473400g\",\"f\":1},\"2\":{\"d\":\"jfs\\/t223\\/321\\/621346491\\/134488\\/88daa1e5\\/53edccfaN14c60bc0.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"1190220\",\"b\":\"\\u5982\\u6c34\\u5408\\u5bb6\\u6b22\\u4e50\\u793c\\u76d21350g\",\"f\":1},\"3\":{\"d\":\"g15\\/M02\\/1A\\/13\\/rBEhWlNfdJAIAAAAAADzKg3e9GsAAMpiAOSXywAAPNC987.jpg\",\"e\":\"0\",\"c\":\"109.00\",\"a\":\"627720\",\"b\":\"\\u6b27\\u5fb7\\u5821 \\u5fb7\\u56fd\\u8fdb\\u53e3\\u5976 1L*12\\u8fc7\\u4e07\\u597d\\u8bc4\\uff01\\u9650\\u65f6\\u7279\\u60e0\\uff01\",\"f\":1},\"4\":{\"d\":\"g9\\/M03\\/07\\/17\\/rBEHalBhdu8IAAAAAAGt78bikrsAABgtQOofcsAAa4H097.jpg\",\"e\":\"0\",\"c\":\"138.00\",\"a\":\"733886\",\"b\":\"\\u5185\\u8499\\u7279\\u4ea7 \\u963f\\u5c14\\u5584\\u98ce\\u5e72\\u725b\\u8089\\u7cbe\\u54c1\\u793c\\u76d2450g\",\"f\":1},\"5\":{\"d\":\"jfs\\/t184\\/316\\/2854220745\\/398083\\/1b38cb9c\\/53dc9866N8a40c60e.jpg\",\"e\":\"0\",\"c\":\"135.00\",\"a\":\"1013954384\",\"b\":\"\\u4e09\\u53ea\\u677e\\u9f20\\u575a\\u679c\\u793c\\u76d2\\u68ee\\u6797\\u5927\\u793c\\u5305C\\u5957\\u99107\\u5305\\u575a\\u679c1635g \\u4e2d\\u79cb\\u575a\\u679c\\u793c\\u76d2 AA4\",\"f\":1},\"6\":{\"d\":\"g16\\/M00\\/00\\/1D\\/rBEbRVNq9k8IAAAAAAGZOslN3CoAAALfgIQodAAAZlS471.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"959399\",\"b\":\"\\u7ef4\\u82ac\\u5821\\u5fb7\\u56fd\\u8fdb\\u53e3\\u4f4e\\u8102\\u7eaf\\u725b\\u59761L*12\\u76d2 \\u9650\\u65f6\\u62a2\\u8d2d\\u4e2d\\uff01\",\"f\":1},\"7\":{\"d\":\"g13\\/M05\\/0D\\/19\\/rBEhVFK4DnAIAAAAAAJXRKU_us0AAHKKgEo8_UAAldc558.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"600710\",\"b\":\"\\u65b0\\u7586\\u7279\\u4ea7  \\u5473\\u6b63\\u54c1\\u65b0\\u7586\\u548c\\u7530\\u5927\\u67a3\\u7bb1\\u88c52000g\",\"f\":1},\"8\":{\"d\":\"jfs\\/t307\\/286\\/1225636778\\/241337\\/3d2c5b23\\/5434a37eNbed58fd3.jpg\",\"e\":\"0\",\"c\":\"149.00\",\"a\":\"1247685296\",\"b\":\"\\u8fdb\\u53e3\\u96f6\\u98df\\u5927\\u793c\\u5305  \\u516b\\u5927\\u7f8e\\u98df\\u7cbe\\u9009 \\u5341\\u6708\\u521d\\u4e94 \\u7687\\u51a0 \\u83b1\\u5bb6 \\u91d1\\u79cb\\u5b5d\\u610f\\u793c\\u76d2 \\u9001\\u793c\\u4f73\\u54c1\",\"f\":1}},\"1668\":{\"1\":{\"d\":\"g15\\/M08\\/18\\/13\\/rBEhWlKVtxUIAAAAAAI-p-wqn_YAAGA3wMlrxEAAj6_947.jpg\",\"e\":0,\"c\":\"188.00\",\"a\":\"1017682\",\"b\":\"\\u7f8e\\u56fd \\u8fdb\\u53e3\\u725b\\u5976 \\u6709\\u673a\\u8c37\\uff08organic valley\\uff09\\u6709\\u673a\\u90e8\\u5206\\u8131\\u8102\\u725b\\u59761L*6\\u793c\\u76d2\",\"f\":1},\"2\":{\"d\":\"g13\\/M09\\/01\\/1B\\/rBEhUlHnus4IAAAAAAFje_6DQasAABQRALG5lkAAWOT341.jpg\",\"e\":\"0\",\"c\":\"169.00\",\"a\":\"698311\",\"b\":\"\\u4e4c\\u62c9\\u572d \\u8fdb\\u53e3\\u725b\\u5976 \\u5361\\u8d1d\\u4e50\\uff08Conaprole\\uff09\\u8d85\\u9ad8\\u6e29\\u706d\\u83cc\\u5168\\u8102\\u7eaf\\u725b\\u59761L*12\\u76d2\",\"f\":1},\"3\":{\"d\":\"vclist\\/jfs\\/t322\\/144\\/1709151374\\/4341\\/f2878c7b\\/5440882dN9c89fea0.jpg\",\"e\":\"0\",\"c\":\"1366.00\",\"a\":\"1157355453\",\"b\":\"\\u5fb7\\u8fbe\\u5bb6\\u7528\\u5236\\u6c27\\u673a \\u8001\\u4eba\\u6c27\\u6c14\\u673a\\u5438\\u6c27\\u673a\",\"f\":1},\"4\":{\"d\":\"jfs\\/t160\\/44\\/1214826415\\/307759\\/397be957\\/53a8da62N77d4fa7e.jpg\",\"e\":\"0\",\"c\":\"125.00\",\"a\":\"1019693440\",\"b\":\"\\u5584\\u5b58\\u4f73\\u7ef4\\u7247120\\u7247\",\"f\":1},\"5\":{\"d\":\"jfs\\/t274\\/165\\/1236906817\\/202491\\/60618e3\\/5434a8f9N7a239670.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"1015560296\",\"b\":\"\\u5eb7\\u6249\\u4fdd\\u6696\\u62a4\\u8170\\u5e26\",\"f\":1},\"6\":{\"d\":\"g17\\/M00\\/01\\/10\\/rBEbSVNxsLQIAAAAAANzImsJHdIAAAf8AB9DccAA3M6541.jpg\",\"e\":\"0\",\"c\":\"87.00\",\"a\":\"1121836\",\"b\":\"\\u8bfa\\u4e1dNOX \\u907f\\u5b55\\u595752\\u7247\\u88c5(\\u6301\\u4e456\\u7247+\\u5ef6\\u7f1312\\u7247+\\u6781\\u9650\\u8d85\\u858412\\u7247+\\u9897\\u7c92\\u8349\\u839310\\u7247+\\u7eaf\\u6b6312\\u7247) \\u5b89\\u5168\\u5957 \\u539f\\u88c5\\u8fdb\\u53e3\",\"f\":1},\"7\":{\"d\":\"g12\\/M00\\/0E\\/0D\\/rBEQYFGu_LUIAAAAAAEzpgpyqecAAC0awLEl6gAATO-850.jpg\",\"e\":\"0\",\"c\":\"179.00\",\"a\":\"898150\",\"b\":\"\\u500d\\u8f7b\\u677e\\u9888\\u690e\\u6309\\u6469\\u62ab\\u80a9\",\"f\":1},\"8\":{\"d\":\"vclist\\/jfs\\/t274\\/127\\/1708350378\\/7243\\/2af5a60\\/54408839Nb58b395d.jpg\",\"e\":\"0\",\"c\":\"199.00\",\"a\":\"1023810581\",\"b\":\"\\u51ac\\u866b\\u590f\\u8349 4\\u6761\\/\\u514b\",\"f\":1}},\"1669\":{\"1\":{\"d\":\"g12\\/M00\\/07\\/05\\/rBEQYVGV5yQIAAAAAAOPt8yjT8kAABZegKkCmMAA4_P591.jpg\",\"e\":0,\"c\":\"238.00\",\"a\":\"1022300783\",\"b\":\"\\u3010\\u6d77\\u8d2d\\u65f6\\u4ee3\\u3011 \\u7eaf\\u5929\\u7136 \\u6709\\u673a\\u8fdb\\u53e3\\u523a\\u8eab\\u793c\\u76d2*\\u9001\\u793c\\u9001\\u5065\\u5eb7 \\u65e5\\u672c\\u6599\\u7406  \\u51b0\\u51bb\\u6d77\\u9c9c\",\"f\":1},\"2\":{\"d\":\"g15\\/M0A\\/1B\\/16\\/rBEhWFKn3pMIAAAAAANMrHtuUgsAAGnswCbgWEAA0zE730.jpg\",\"e\":\"0\",\"c\":\"109.00\",\"a\":\"1013053896\",\"b\":\"\\u677e\\u6842\\u574a \\u540e\\u817f\\u814a\\u8089500gx3 \\u6e56\\u5357\\u6e58\\u897f\\u70df\\u718f\\u54b8\\u8089\",\"f\":1},\"3\":{\"d\":\"jfs\\/t358\\/347\\/244945841\\/156121\\/76f0284e\\/54125160N215de6a6.jpg\",\"e\":\"0\",\"c\":\"398.00\",\"a\":\"1298034493\",\"b\":\"\\u9633\\u6f84\\u6e56\\u5927\\u95f8\\u87f9 \\u6f84\\u5927\\u724c \\u5927\\u95f8\\u87f9\\u5b9e\\u7269\\u8783\\u87f9 \\u73b0\\u8d274\\u5bf9\\u793c\\u76d2\\u88c5\\u516c\\u87f94.5-4.7 \\u6bcd\\u87f93.5-3.7\",\"f\":1},\"4\":{\"d\":\"g5\\/M02\\/13\\/03\\/rBEIC0_2NPwIAAAAAAKlR15qCa8AADu3wHRwvsAAqVf583.jpg\",\"e\":0,\"c\":\"149.00\",\"a\":\"1005138804\",\"b\":\"\\u5143\\u53a8\\u6cb9\\u8336\\u7c7d\\u6cb92L\",\"f\":1},\"5\":{\"d\":\"jfs\\/t193\\/238\\/319084996\\/113794\\/9d8ba0e2\\/5386ce06N1d449dad.jpg\",\"e\":\"0\",\"c\":\"119.00\",\"a\":\"1138675992\",\"b\":\"\\u597d\\u60f3\\u4f60\\u5373\\u98df\\u67a3 260g*3\\u888b \\u65e0\\u6838\\u67a3 \\u5927\\u67a3 \\u7ea2\\u67a3\",\"f\":1},\"6\":{\"d\":\"jfs\\/t187\\/121\\/1695359689\\/52476\\/791793a1\\/53b53f8fN96d6ade9.jpg\",\"e\":\"0\",\"c\":\"168.00\",\"a\":\"1161562\",\"b\":\"\\u3010\\u4eac\\u4e1c\\u81ea\\u8425\\u3011\\u6a44\\u6984\\u6cb9\\u4f20\\u5947 \\u7ed9\\u60a8\\u4e0d\\u4e00\\u6837\\u7684\\u4f53\\u9a8c\",\"f\":1},\"7\":{\"d\":\"g15\\/M08\\/1B\\/19\\/rBEhWFNnSakIAAAAAAGagPTNYyAAAM43QM7dtEAAZqY942.jpg\",\"e\":\"0\",\"c\":\"149.90\",\"a\":\"862559\",\"b\":\"\\u3010\\u4eac\\u4e1c\\u81ea\\u8425\\u3011\\u9c81\\u82b1 5S \\u538b\\u69a8\\u4e00\\u7ea7 \\u82b1\\u751f\\u6cb9 5.436L\",\"f\":1},\"8\":{\"d\":\"jfs\\/t298\\/121\\/922306194\\/114188\\/23c84911\\/542a2183Nf27cbd41.jpg\",\"e\":\"0\",\"c\":\"89.00\",\"a\":\"1222728\",\"b\":\"\\u3010\\u4eac\\u4e1c\\u81ea\\u8425\\u30112014\\u5e74\\u65b0\\u7c73 \\u88d5\\u9053\\u5e9c \\u751f\\u6001\\u9999\\u7c73\\u7f16\\u7ec7\\u7ea2\\u888b5kg\",\"f\":1}},\"1674\":{\"1\":{\"d\":\"jfs\\/t412\\/130\\/301799692\\/236197\\/6f85ff09\\/541682a3N1a716c22.jpg\",\"e\":\"0\",\"c\":\"73.50\",\"a\":\"11522444\",\"b\":\"21\\u4e16\\u7eaa\\u8d44\\u672c\\u8bba\",\"f\":2},\"2\":{\"d\":\"jfs\\/t445\\/111\\/245818081\\/647277\\/b6536b55\\/5412c871Nf69d84fc.jpg\",\"e\":\"0\",\"c\":\"26.20\",\"a\":\"11542936\",\"b\":\"\\u4e16\\u754c\\u5386\\u53f2\\u5f88\\u6709\\u8da3\\uff1a\\u8881\\u817e\\u98de\\u8bb2\\u65e5\\u672c\\u53f2\",\"f\":2},\"3\":{\"d\":\"jfs\\/t217\\/183\\/1706548811\\/163990\\/77fe145a\\/53fd7fafN564d5423.jpg\",\"e\":\"0\",\"c\":\"23.70\",\"a\":\"11531914\",\"b\":\"\\u4e16\\u754c\\u4e0a\\u6240\\u6709\\u7ae5\\u8bdd\\u90fd\\u662f\\u5199\\u7ed9\\u5927\\u4eba\\u770b\\u7684\",\"f\":2},\"4\":{\"d\":\"jfs\\/t367\\/94\\/245493465\\/439812\\/a8ae6b54\\/5412b992N220e2192.jpg\",\"e\":\"0\",\"c\":\"31.60\",\"a\":\"11542893\",\"b\":\"\\u5bfb\\u627e\\u7231\\u60c5\\u7684\\u90b9\\u5c0f\\u59d0\",\"f\":2},\"5\":{\"d\":\"g13\\/M04\\/09\\/0E\\/rBEhU1Nd33IIAAAAAAFbHX75EAsAAMjgAMdgs0AAVs1993.jpg\",\"e\":\"0\",\"c\":\"31.50\",\"a\":\"11452840\",\"b\":\"\\u4e1c\\u91ce\\u572d\\u543e\\uff1a\\u89e3\\u5fe7\\u6742\\u8d27\\u5e97\",\"f\":2},\"6\":{\"d\":\"g14\\/M06\\/08\\/10\\/rBEhV1H6IAsIAAAAAAlM95vdtdkAABqRAPQBfEACU0P905.jpg\",\"e\":\"0\",\"c\":\"25.10\",\"a\":\"11293169\",\"b\":\"\\u5306\\u5306\\u90a3\\u5e74\\uff08\\u5b8c\\u7f8e\\u7eaa\\u5ff5\\u7248\\uff09\",\"f\":2},\"7\":{\"d\":\"jfs\\/t418\\/246\\/649881179\\/517460\\/a74a2f4\\/542a59fdNb57e2300.jpg\",\"e\":\"0\",\"c\":\"23.70\",\"a\":\"11553854\",\"b\":\"\\u6613\\u4e2d\\u5929\\u4e2d\\u534e\\u53f2\\uff1a\\u4e09\\u56fd\\u7eaa\",\"f\":2},\"8\":{\"d\":\"g7\\/M03\\/08\\/1B\\/rBEHZVB7nW8IAAAAAAB1_1dMIBQAABuvwG2tJYAAHYX420.jpg\",\"e\":\"0\",\"c\":\"33.10\",\"a\":\"10931787\",\"b\":\"\\u5927\\u6f20\\u8c23\\uff1a\\u65b0\\u7248\\uff08\\u5957\\u88c5\\u51682\\u518c\\uff09\",\"f\":2},\"9\":{\"d\":\"jfs\\/t166\\/238\\/1747229358\\/193009\\/314c997d\\/53ba4667Nd5ed06eb.jpg\",\"e\":\"0\",\"c\":\"19.40\",\"a\":\"11496711\",\"b\":\"\\u8bf8\\u738b\\u7684\\u6e38\\u620f\\uff1a\\u53d8\\u9769\\u4e2d\\u7684\\u751f\\u5b58\\u4e0e\\u6b7b\\u4ea1\",\"f\":2},\"10\":{\"d\":\"jfs\\/t196\\/244\\/1665410236\\/462202\\/7b5ac12d\\/53b64806Nafc9167b.jpg\",\"e\":\"0\",\"c\":\"25.90\",\"a\":\"11495035\",\"b\":\"\\u6211\\u7231\\u8fd9\\u54ed\\u4e0d\\u51fa\\u6765\\u7684\\u6d6a\\u6f2b\",\"f\":2}},\"1675\":{\"1\":{\"d\":\"jfs\\/t262\\/192\\/1159482972\\/219042\\/78b0b202\\/53f6d0c4Na7b4f049.jpg\",\"e\":\"0\",\"c\":\"43.90\",\"a\":\"11520780\",\"b\":\"\\u6d77\\u8c5a\\u7ed8\\u672c\\u82b1\\u56ed\\uff1a\\u4f60\\u597d\\uff0c\\u4e16\\u754c\\uff08\\u5957\\u88c5\\u51685\\u518c\\uff09\",\"f\":2},\"2\":{\"d\":\"jfs\\/t169\\/339\\/1286297198\\/249800\\/8cd8cb63\\/53a7eea8Nb7271a85.jpg\",\"e\":\"0\",\"c\":\"73.60\",\"a\":\"11481785\",\"b\":\"\\u75af\\u72c2\\u5c0f\\u5b66\\uff08\\u5957\\u88c5\\u517110\\u518c\\uff09\",\"f\":2},\"3\":{\"d\":\"jfs\\/t55\\/95\\/4867998594\\/282148\\/d2b0d9f2\\/537b0db6Nd2353eb9.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"11463825\",\"b\":\"\\u8b66\\u72ac\\u6c49\\u514b\\u5386\\u9669\\u8bb0\\uff08\\u7b2c\\u4e8c\\u8f91\\u3000\\u5957\\u88c5\\u51717\\u518c\\uff09\\uff08\\u9644\\u6c49\\u514b\\u52cb\\u7ae0\\u94a5\\u5319\\u6263\\uff09\",\"f\":2},\"4\":{\"d\":\"g17\\/M00\\/00\\/1C\\/rBEbSVNxawgIAAAAAAan0Ob4Eg4AAAYBQAzNhcABqfo977.jpg\",\"e\":\"0\",\"c\":\"36.80\",\"a\":\"11461551\",\"b\":\"\\u5c0f\\u8c61\\u827e\\u62c9\\uff08\\u5957\\u88c5\\u51714\\u518c\\uff09\",\"f\":2},\"5\":{\"d\":\"jfs\\/t136\\/267\\/4920672871\\/231333\\/e53ed762\\/537eb108N16295414.jpg\",\"e\":\"0\",\"c\":\"48.40\",\"a\":\"11455970\",\"b\":\"\\u4e0a\\u4e0b\\u4e94\\u5343\\u5e74\\uff08\\u5957\\u88c5\\u4e0a\\u4e0b\\u518c\\uff09\",\"f\":2},\"6\":{\"d\":\"jfs\\/t229\\/227\\/814213755\\/387789\\/eb172c36\\/53f1d054Nd9035e08.jpg\",\"e\":\"0\",\"c\":\"29.60\",\"a\":\"11512715\",\"b\":\"\\u597d\\u5988\\u5988\\u80dc\\u8fc7\\u597d\\u8001\\u5e08\\u59ca\\u59b9\\u7bc7\\uff1a\\u6700\\u7f8e\\u7684\\u6559\\u80b2\\u6700\\u7b80\\u5355\",\"f\":2},\"7\":{\"d\":\"jfs\\/t193\\/131\\/3127956516\\/393017\\/ee9d0dbd\\/53e2ed91N9b3ca70e.jpg\",\"e\":\"0\",\"c\":\"20.00\",\"a\":\"11512062\",\"b\":\"\\u7238\\u7238\\u53bb\\u54ea\\u513f\\u7b2c\\u4e8c\\u5b63\\u5730\\u70b9\\u72482\\uff1a\\u7a7f\\u8d8a\\u53e4\\u6751\\u00b7\\u6d59\\u6c5f\\u5efa\\u5fb7\",\"f\":2},\"8\":{\"d\":\"jfs\\/t157\\/9\\/530732812\\/558101\\/546b41a5\\/53901920N71a8c3c2.jpg\",\"e\":\"0\",\"c\":\"34.80\",\"a\":\"11475720\",\"b\":\"\\u4e16\\u754c\\u4e0a\\u6700\\u68d2\\u7684\\u8001\\u7238\\uff08\\u968f\\u673a\\u9650\\u91cf\\u8d60\\u9001\\u4ef7\\u503c25\\u5143\\u300a\\u5976\\u7238\\u80b2\\u513f\\u65e5\\u5fd7\\u672c\\u300b\\uff09\",\"f\":2},\"9\":{\"d\":\"jfs\\/t208\\/347\\/483649460\\/563887\\/2bbc4936\\/538ed5d6Nec0aa8ff.jpg\",\"e\":\"0\",\"c\":\"86.40\",\"a\":\"11475183\",\"b\":\"\\u5b64\\u72ec\\u661f\\u7403Lonely Planet\\u65c5\\u884c\\u6307\\u5357\\u7cfb\\u5217\\uff1a\\u65e5\\u672c\",\"f\":2},\"10\":{\"d\":\"16823\\/6f34bd68-7be1-42b0-8374-3f2fb689d375.jpg\",\"e\":\"0\",\"c\":\"104.50\",\"a\":\"10288799\",\"b\":\"\\u4e94\\u5341\\u5e74\\u8fde\\u73af\\u753b\\u6536\\u85cf\\u7cbe\\u54c1\\uff1a\\u7cbe\\u54c1\\u835f\\u8403\\uff08\\u4e0a\\uff09\\uff08\\u5957\\u88c515\\u518c\\uff09\",\"f\":2}},\"1676\":{\"1\":{\"d\":\"jfs\\/t349\\/30\\/734416712\\/100550\\/da56eb63\\/541fecb5Nf1512d3b.jpg\",\"e\":\"0\",\"c\":\"12.00\",\"a\":\"30167420\",\"b\":\"\\u597d\\u5988\\u5988\\u80dc\\u8fc7\\u597d\\u8001\\u5e08\\u59ca\\u59b9\\u7bc7\\uff1a\\u5c1d\\u9c9c\\u4ef78.4\\u5143\",\"f\":4},\"2\":{\"d\":\"jfs\\/t370\\/122\\/766884743\\/903173\\/7f570915\\/542a6c3fN22472da0.jpg\",\"e\":\"0\",\"c\":\"6.00\",\"a\":\"30167924\",\"b\":\"\\u5468\\u9e3f\\u794e\\u81ea\\u8ff0:\\u6211\\u7684\\u4e92\\u8054\\u7f51\\u65b9\\u6cd5\\u8bba\",\"f\":4},\"3\":{\"d\":\"jfs\\/t295\\/145\\/313794620\\/151899\\/c8b1f489\\/5409661dNc4fc8530.jpg\",\"e\":\"0\",\"c\":\"12.00\",\"a\":\"30166836\",\"b\":\"\\u53c2\\u4e0e\\u611f\\uff1a\\u5c0f\\u7c73\\u53e3\\u7891\\u8425\\u9500\\u5185\\u90e8\\u624b\\u518c\",\"f\":4},\"4\":{\"d\":\"jfs\\/t430\\/157\\/530438451\\/449465\\/ef88cf5a\\/54227354Nc5035a1e.jpg\",\"e\":\"0\",\"c\":\"9.90\",\"a\":\"30167454\",\"b\":\"\\u5386\\u53f2\\u8f6c\\u6298\\u4e2d\\u7684\\u9093\\u5c0f\\u5e73\",\"f\":4},\"5\":{\"d\":\"17545\\/ddb2ba1e-8652-4f2b-adc7-bb5804cac9fc.jpg\",\"e\":\"0\",\"c\":\"7.99\",\"a\":\"30072886\",\"b\":\"\\u597d\\u5988\\u5988\\u80dc\\u8fc7\\u597d\\u8001\\u5e08\",\"f\":4},\"6\":{\"d\":\"g10\\/M00\\/11\\/09\\/rBEQWVFbxjgIAAAAAAIgNnxaob4AADYLAGXMrIAAiBO093.jpg\",\"e\":\"0\",\"c\":\"10.00\",\"a\":\"30120439\",\"b\":\"\\u4eac\\u4e1c\\u7535\\u5b50\\u4e66\\u7545\\u8bfbVIP\\uff08\\u6708\\u5ea6\\uff09\",\"f\":4},\"7\":{\"d\":\"g15\\/M05\\/05\\/03\\/rBEhWVIN9wAIAAAAAAWIOqIJwfIAACIawOVLOEABYhS323.jpg\",\"e\":\"0\",\"c\":\"10.00\",\"a\":\"62577088\",\"b\":\"\\u6708\\u5ea6\\u7545\\u542c\\u5361\",\"f\":7},\"8\":{\"d\":\"g10\\/M00\\/05\\/01\\/rBEQWVEq3f0IAAAAAADeVFuTbp0AAA-9QHCNNsAAN5s615.jpg\",\"e\":\"0\",\"c\":\"6.00\",\"a\":\"60044515\",\"b\":\"\\u95f2\\u60c5\\u542c\\u8336\",\"f\":7},\"9\":{\"d\":\"jfs\\/t325\\/320\\/1351246452\\/38184\\/d8aa28d8\\/543797dcN1391870b.jpg\",\"e\":\"0\",\"c\":\"9.90\",\"a\":\"61003617\",\"b\":\"\\u5f00\\u6587\\u6cbb\\u76db\\u4e16\\u2014\\u2014\\u8d75\\u5321\\u80e4\",\"f\":7},\"10\":{\"d\":\"g15\\/M08\\/02\\/02\\/rBEhWVLUmhUIAAAAAADkGkuGqgAAAH3cABHUJIAAOQy331.jpg\",\"e\":\"0\",\"c\":\"5.00\",\"a\":\"61002778\",\"b\":\"\\u9500\\u552e\\u7528\\u5fc3\\u4e0d\\u7528\\u5634\\uff1a\\u8bfb\\u61c2\\u8fd9\\u4e9b\\u9500\\u552e\\u5fc3\\u7406\\u5b66\\uff0c\\u5ba2\\u6237\\u90fd\\u542c\\u4f60\\u7684\",\"f\":7}},\"1677\":{\"1\":{\"d\":\"jfs\\/t382\\/202\\/697797319\\/317402\\/f608a2ba\\/54291f6dNa8d1767b.jpg\",\"e\":\"0\",\"c\":\"39.00\",\"a\":\"20084998\",\"b\":\"\\u987a\\u5b50Shunza-\\u5168\\u65b0\\u521b\\u4f5c\\u4e13\\u8f91\\u300aTo The Top \\u8d85\\u8d8a\\u300b\\u5185\\u5730\\u9996\\u53d1\\uff08CD\\uff09\\uff08\\u4eac\\u4e1c\\u4e13\\u5356\\uff09\",\"f\":3},\"2\":{\"d\":\"jfs\\/t319\\/28\\/226753479\\/1471118\\/847c7585\\/540562bcN271213c8.jpg\",\"e\":\"0\",\"c\":\"79.00\",\"a\":\"20084743\",\"b\":\"\\u8bb8\\u5dcd\\uff1a\\u6b64\\u65f6\\u6b64\\u523b\\u6f14\\u5531\\u4f1a LIVE\\u7eaa\\u5f55\\u8f91\\uff08\\u4eac\\u4e1c\\u4e13\\u5356\\uff09\\uff082CD\\uff09\",\"f\":3},\"3\":{\"d\":\"jfs\\/t445\\/259\\/369225145\\/466569\\/8e457667\\/541a5295Naee56746.png\",\"e\":\"0\",\"c\":\"54.00\",\"a\":\"20084815\",\"b\":\"\\u6768\\u5764-2014\\u5168\\u65b0\\u4e13\\u8f91 \\u4eca\\u591c20\\u5c81\\uff08\\u4eac\\u4e1c\\u4e13\\u5356\\uff09\\uff08CD\\uff09\",\"f\":3},\"4\":{\"d\":\"jfs\\/t250\\/35\\/1183225581\\/156138\\/a041f5aa\\/53f71db0N2d5bd9a4.jpg\",\"e\":0,\"c\":\"290.00\",\"a\":\"1066834971\",\"b\":\"2015\\u5e74\\u53f0\\u5386 \\u5546\\u52a1\\u53f0\\u5386 \\u7ea2\\u6728\\u53f0\\u5386 \\u6708\\u5386 \\u7f8a\\u5e74\\u53f0\\u5386 \\u8001\\u677f\\u53f0\\u5386 \\u5962\\u534e\\u5927\\u6c14\\u53f0\\u5386 \\u9001\\u793c\\u4f73\\u54c1\",\"f\":1},\"5\":{\"d\":\"jfs\\/t322\\/106\\/472394966\\/317746\\/a51d4624\\/5412926eNf82e3220.jpg\",\"e\":\"0\",\"c\":\"30.00\",\"a\":\"20084790\",\"b\":\"\\u82cf\\u5999\\u73b2-\\u6f2b\\u6b65\\uff0c\\u5931\\u7269\\u62db\\u9886\\u5904\\uff08CD\\uff09\",\"f\":3},\"6\":{\"d\":\"jfs\\/t235\\/249\\/354718794\\/115483\\/7b809a5e\\/53e9d11aN5e8a0505.jpg\",\"e\":\"0\",\"c\":\"45.00\",\"a\":\"20084267\",\"b\":\"\\u674e\\u5b87\\u6625\\uff1a1987 \\u6211\\u4e0d\\u77e5\\u4f1a\\u9047\\u89c1\\u4f60\\uff08\\u8ba1\\u5165\\u4eac\\u4e1c\\u9500\\u91cf\\u6392\\u884c\\u699c\\uff09\\uff08CD\\uff09\",\"f\":3},\"7\":{\"d\":\"jfs\\/t310\\/281\\/878150943\\/647454\\/83ac0b0c\\/542799d4N0dcd0917.jpg\",\"e\":\"0\",\"c\":\"50.00\",\"a\":\"20084922\",\"b\":\"\\u4ed9\\u5251\\u5947\\u4fa0\\u4f20\\u5bf9\\u6218\\u5361\\u7b2c\\u4e00\\u5f39\",\"f\":3},\"8\":{\"d\":\"g15\\/M04\\/00\\/15\\/rBEhWlG0YAAIAAAAAArcgf6ZcdgAAAIPAPooCEACtyZ888.jpg\",\"e\":0,\"c\":\"10.00\",\"a\":\"20073393\",\"b\":\"\\u4fdd\\u5b89\\u57f9\\u8bad\\uff1a\\u804c\\u4e1a\\u6280\\u80fd&\\u9632\\u66b4\\u683c\\u6597\\u672f\\uff08\\u6c34\\u6676\\u7248DVD\\uff09\",\"f\":3},\"9\":{\"d\":\"jfs\\/t298\\/149\\/186669159\\/137840\\/2a3e3a6d\\/54044425N4d2d905d.jpg\",\"e\":\"0\",\"c\":\"72.10\",\"a\":\"20084746\",\"b\":\"\\u8d85\\u51e1\\u8718\\u86db\\u4fa02\\u9650\\u91cf\\u793c\\u54c1\\u7248\\uff08DVD9\\uff09\",\"f\":3},\"10\":{\"d\":\"jfs\\/t265\\/72\\/978632910\\/164399\\/752be07a\\/53f44ce6Nfa977f56.jpg\",\"e\":\"0\",\"c\":\"187.90\",\"a\":\"20084430\",\"b\":\"\\u91cc\\u7ea6\\u5927\\u5192\\u96692\\uff08\\u84dd\\u5149\\u789f 3DBD50\\uff09\",\"f\":3}},\"1678\":{\"1\":{\"d\":\"jfs\\/t220\\/92\\/2284106172\\/284409\\/aae8e1b4\\/54129cb0N120ec4ff.jpg\",\"e\":\"0\",\"c\":\"325.00\",\"a\":\"1000741806\",\"b\":\"\\u96c5\\u8bd7\\u5170\\u9edbANR\\u5373\\u65f6\\u4fee\\u62a4\\u773c\\u90e8\\u7cbe\\u534e\\u971c15ml\\u7279\\u6da6\\u773c\\u971c\\uff0814\\u65b0\\u6b3e\\u8001\\u6b3e\\u968f\\u673a\\u53d1\\uff09\",\"f\":1},\"2\":{\"d\":\"g14\\/M0A\\/00\\/17\\/rBEhVVKFg5oIAAAAAADF8nsQfL8AAFosAChlv8AAMYK699.jpg\",\"e\":\"0\",\"c\":\"100.00\",\"a\":\"1010558478\",\"b\":\"H2O \\u6c34\\u829d\\u6fb3\\u6d77\\u6d0b\\u5e73\\u8861\\u723d\\u80a4\\u6c34(120) 200ml\",\"f\":1},\"3\":{\"d\":\"g15\\/M09\\/10\\/1B\\/rBEhWlJl-JcIAAAAAAHK5TjKTu8AAEbQACdkm4AAcr9063.jpg\",\"e\":0,\"c\":\"149.00\",\"a\":\"1003211256\",\"b\":\"\\u5a75\\u771f\\uff08CHARMZONE\\uff09\\u67d4\\u80a4\\u7cbe\\u534e\\u4e73\\u6db2\\u725b\\u5976\\u4e09\\u5408\\u4e00\\u7cbe\\u534e\\u6db2 0186\",\"f\":1},\"4\":{\"d\":\"jfs\\/t190\\/80\\/2529790349\\/55898\\/bb490759\\/53cf68e6N3f558a47.jpg\",\"e\":\"0\",\"c\":\"183.00\",\"a\":\"1028648264\",\"b\":\"Clinique \\u5029\\u78a7\\u5353\\u8d8a\\u6da6\\u80a4\\u4e73125ml \\u6709\\u6cb9\\u5929\\u624d\\u9ec4\\u6cb9  \\/\\u6da6\\u80a4\\u9732\",\"f\":1},\"5\":{\"d\":\"jfs\\/t235\\/38\\/2386670024\\/126828\\/bf947574\\/54168a58Na9f77a12.jpg\",\"e\":\"0\",\"c\":\"329.00\",\"a\":\"1025082711\",\"b\":\"\\u795b\\u75d8\\u795b\\u5370\\u7537\\u58eb\\u4e13\\u7528 \\u95ed\\u5408\\u987d\\u56fa\\u795b\\u75d8\\u795b\\u5370 \\u9edb\\u4f9d\\u7f8e\\u96f7\\u6d9b\\u804c\\u4e1a\\u795b\\u75d8\\u5957\\u88c5 \\u7537\\u58eb\\u795b\\u75d8\\u5370\\u795b\\u75d8\\u75a4\\u75d8\\u5751 \\u53bb\\u75d8\\u5370 \\u95ed\\u5408\\u987d\\u56fa\",\"f\":1},\"6\":{\"d\":\"jfs\\/t166\\/190\\/2702635777\\/82372\\/8ef28543\\/53d86238N4d5eda4b.jpg\",\"e\":\"0\",\"c\":\"198.00\",\"a\":\"889201\",\"b\":\"\\u4f70\\u8349\\u96c6 \\u5e73\\u8861\\u7cfb\\u5217\\u8d85\\u503c\\u88c5\",\"f\":1},\"7\":{\"d\":\"jfs\\/t376\\/353\\/514634739\\/84540\\/24269493\\/54213210N2b09e19b.jpg\",\"e\":\"0\",\"c\":\"138.00\",\"a\":\"1205445\",\"b\":\"\\u6ee199-40\\uff01\\u4f70\\u8349\\u767e\\u4e3d \\u8db3\\u90e8\\u62a4\\u7406\\u56db\\u4ef6\\u5957 \\uff08\\u5ae9\\u767d\\u53bb\\u89d2\\u8d28\\u8db3\\u819c\\u8db3\\u8721 \\u6ecb\\u6da6\\u9632\\u5e72\\u88c2\\u811a\\u819c\\uff09\\u8db3\\u90e8\\u62a4\\u7406\",\"f\":1},\"8\":{\"d\":\"jfs\\/t313\\/89\\/1364091314\\/107751\\/373d4e34\\/5437747aN75da4c5c.jpg\",\"e\":\"0\",\"c\":\"417.00\",\"a\":\"1183796\",\"b\":\"\\u301079.9\\u5143\\u75af\\u62a2\\u3011\\u5fa1\\u6ce5\\u574a \\u7ea2\\u9152\\u8865\\u6c34\\u8695\\u4e1d\\u9762\\u819c\\u8d34 21\\u7247\\u88c5\",\"f\":1},\"9\":{\"d\":\"jfs\\/t352\\/190\\/864483323\\/124022\\/3fa7b13f\\/54277011N5184ed22.jpg\",\"e\":\"0\",\"c\":\"149.00\",\"a\":\"1231803\",\"b\":\"\\u3010\\u4eca\\u65e5\\u7279\\u4ef7\\u3011\\u4e39\\u59ff*\\u6c34\\u5bc6\\u7801 \\u6d77\\u6d0b\\u6e90\\u8403\\u8865\\u6c34\\u5957\\u88c5\",\"f\":1},\"10\":{\"d\":\"jfs\\/t187\\/46\\/2405840248\\/198886\\/df7ab1be\\/53ce0d6eN58178f01.jpg\",\"e\":\"0\",\"c\":\"390.00\",\"a\":\"1083658164\",\"b\":\"\\u4fcf\\u5341\\u5c81\\uff08CHOISKYCN\\uff09\\u6d3b\\u6027\\u80bd\\u9a7b\\u989c\\u6297\\u8870\\u79d1\\u6280\\u9762\\u819c 22ml*5\\u7247\",\"f\":1}},\"1652\":{\"1\":{\"d\":\"jfs\\/t211\\/339\\/354787724\\/56831\\/d7bf5e99\\/53e9bacdN0888aad7.jpg\",\"e\":\"0\",\"c\":\"108.80\",\"a\":\"1174591\",\"b\":\"\\u6c99\\u5ba3\\uff08VS\\uff09\\u6e05\\u723d\\u52b2\\u9192\\u7537\\u58eb\\u6d17\\u53d1\\u9732 700mlX2\\u652f\",\"f\":1},\"2\":{\"d\":\"jfs\\/t292\\/211\\/719625651\\/167476\\/b0bc580f\\/54214866N1ec73cc3.jpg\",\"e\":\"0\",\"c\":\"128.00\",\"a\":\"1227057\",\"b\":\"\\u6e05\\u626c(CLEAR)\\u6d17\\u53d1\\u9732 NBA\\u9650\\u91cf\\u73a9\\u5076\\u5957\\u88c5 \\u9a6c\\u523a\\u961f\",\"f\":1},\"3\":{\"d\":\"g12\\/M00\\/02\\/1A\\/rBEQYFMzoVQIAAAAAAFSKEuE2ccAADYGAEkZ10AAVJA317.jpg\",\"e\":\"0\",\"c\":\"89.00\",\"a\":\"406897\",\"b\":\"\\u6c34\\u4e4b\\u5bc6\\u8bed\\uff08AQUAIR\\uff09 \\u51dd\\u6da6\\u6c34\\u62a4 \\u6d17\\u53d1 \\u62a4\\u53d1 2\\u4ef6\\u5957\\uff08\\u6d17\\u53d1\\u9732600ml+\\u62a4\\u53d1\\u7d20600ml\\uff09\\uff08\\u8d44\\u751f\\u5802\\u6388\\u6743\\u6b63\\u54c1\\uff09\",\"f\":1},\"4\":{\"d\":\"jfs\\/t160\\/90\\/1551858571\\/152547\\/5a60dd29\\/53b25baeN33f812ab.jpg\",\"e\":\"0\",\"c\":\"99.90\",\"a\":\"354857\",\"b\":\"\\u65bd\\u534e\\u853b\\u591a\\u6548\\u4fee\\u62a419\\u5957\\u88c5(400ml\\u6d17\\u53d1+400ml\\u6da6\\u53d1+100ml\\u514d\\u6d17\\u7cbe\\u534e\\u9732)\\uff08\\u65b0\\u8001\\u5305\\u88c5\\u968f\\u673a\\u53d1\\u653e\\uff09\",\"f\":1},\"5\":{\"d\":\"jfs\\/t154\\/363\\/1093478623\\/63006\\/3fb59945\\/53a292eaN2f191ddf.jpg\",\"e\":\"0\",\"c\":\"149.00\",\"a\":\"1158705\",\"b\":\"\\u3010\\u8fdb\\u53e3\\u4e13\\u4e1a\\u3011\\u65bd\\u534e\\u853b\\u4e13\\u4e1a\\u4fee\\u62a4\\u4eae\\u6cfd\\u6d17\\u62a4\\u5957\\u88c5\",\"f\":1},\"6\":{\"d\":\"jfs\\/t307\\/257\\/396624797\\/128696\\/32f423c7\\/540eaac5Nd373bae8.jpg\",\"e\":\"0\",\"c\":\"149.00\",\"a\":\"1216435\",\"b\":\"\\u4e1d\\u84d3\\u7eee\\uff08TSUBAKI\\uff09\\u5962\\u8000\\u67d4\\u8273\\u79c0\\u53d1\\u62a4\\u7406\\u56db\\u4ef6\\u5957\\uff08\\u6d17\\u53d1\\u9732750ml+\\u62a4\\u53d1\\u7d20750ml+\\u7cbe\\u534e\\u55b7\\u96fe160ml+\\u53d1\\u819c160g\\uff09\",\"f\":1},\"7\":{\"d\":\"jfs\\/t274\\/102\\/384871348\\/121415\\/23ea1a34\\/540eaa3cNafde61c9.jpg\",\"e\":\"0\",\"c\":\"129.00\",\"a\":\"1216398\",\"b\":\"\\u6c34\\u4e4b\\u5bc6\\u8bed\\uff08AQUAIR\\uff09 \\u51dd\\u6da6\\u6c34\\u62a4 \\u6d17\\u53d1\\u3001\\u62a4\\u53d1\\u3001\\u6c90\\u6d74 3\\u4ef6\\u5957 \\uff08\\u6d17\\u53d1\\u9732600ml+\\u62a4\\u53d1\\u7d20600ml+\\u6c90\\u6d74\\u9732550ml\\uff09\",\"f\":1},\"8\":{\"d\":\"jfs\\/t322\\/55\\/1560305380\\/146117\\/21ea0df0\\/543e2c71N9baa14f7.jpg\",\"e\":\"0\",\"c\":\"279.00\",\"a\":\"1305392744\",\"b\":\"\\u91d1\\u7a3b\\u7eb3\\u7c73\\u79bb\\u5b50\\u9676\\u74f7\\u84b8\\u8138\\u5668\\u7f8e\\u5bb9\\u4eea\\u84b8\\u8138\\u673a\\u5bb6\\u7528\\u7f8e\\u5bb9\\u8865\\u6c34\\u795e\\u5668 \\u767d\\u8272\",\"f\":1},\"9\":{\"d\":\"jfs\\/t355\\/287\\/1345494815\\/258679\\/80cd09ce\\/54374537N44285925.jpg\",\"e\":\"0\",\"c\":\"88.00\",\"a\":\"1313088972\",\"b\":\"[\\u56e2\\u8d2d] These\\u9676\\u4e1d \\u8336\\u6811\\u56fa\\u53d1\\u5e73\\u8861\\u4e73\\u6d17\\u53d1\\u9732 \\u63a7\\u6cb9\\u9632\\u8131\\u53d1\\u6d17\\u53d1\\u6c34 \\u5973\\u58eb\\u6e05\\u9999\\u6b63\\u54c1 300ML\",\"f\":1},\"10\":{\"d\":\"jfs\\/t256\\/86\\/875991137\\/160067\\/82c381e3\\/53f2ed76N662347b3.jpg\",\"e\":\"0\",\"c\":\"579.00\",\"a\":\"1022625945\",\"b\":\"\\u6cf0\\u56fd\\u5723\\u8377\\u4e30\\u80f8\\u4ea7\\u54c1\\u7cbe\\u6cb9\\u7f8e\\u4e73\\u4e30\\u80f8\\u971c100g\",\"f\":1}},\"1653\":{\"1\":{\"d\":\"jfs\\/t352\\/3\\/1653594524\\/295244\\/41a130f0\\/543f3597N5eda204d.jpg\",\"e\":\"0\",\"c\":\"268.00\",\"a\":\"1293112019\",\"b\":\"\\u6c34\\u4e61\\u6545\\u4e8b \\u9676\\u74f7\\u6d41\\u6c34\\u55b7\\u6cc9\\u6446\\u4ef6\",\"f\":1},\"2\":{\"d\":\"g13\\/M06\\/15\\/10\\/rBEhVFJ6SOYIAAAAAAGH6NWoXhoAAFGKALMkbgAAYgA435.jpg\",\"e\":\"0\",\"c\":\"193.00\",\"a\":\"1186713288\",\"b\":\"2014\\u5e74\\u718a\\u732b1\\u76ce\\u53f8\\u94f6\\u5e01\",\"f\":1},\"3\":{\"d\":\"jfs\\/t274\\/307\\/1659472639\\/297046\\/c45c6a20\\/543f290eN5f00a28b.jpg\",\"e\":\"0\",\"c\":\"268.00\",\"a\":\"1135764897\",\"b\":\"\\u5343\\u91d1\\u4e00\\u8bfa18K\\u91d1\\u6c34\\u6ce2\\u7eb9\\u9879\\u94fe\",\"f\":1},\"4\":{\"d\":\"jfs\\/t331\\/277\\/827938437\\/96631\\/d947906\\/54253999N9607a25c.jpg\",\"e\":\"0\",\"c\":\"1188.00\",\"a\":\"1025729742\",\"b\":\"\\u5929\\u946b\\u6d0b\\u7d20\\u5708\\u629b\\u5149\\u6212\\u6307\",\"f\":1},\"5\":{\"d\":\"g10\\/M00\\/04\\/17\\/rBEQWVEoSCYIAAAAAAKacZ-RWqsAAA7MwPRPU0AApqJ207.jpg\",\"e\":\"0\",\"c\":\"260.00\",\"a\":\"1018621033\",\"b\":\"\\u62db\\u8d22\\u81f3\\u5b9d\\u65fa\\u8d22\\u8c94\\u8c85\",\"f\":1},\"6\":{\"d\":\"g2\\/M00\\/00\\/06\\/rBEGEU-LhSoIAAAAAAGzvJQ0B84AAACjwFM8FwAAbPU404.jpg\",\"e\":\"0\",\"c\":\"1899.00\",\"a\":\"1144879882\",\"b\":\"\\u946b\\u4e07\\u798f \\u514b\\u62c9\\u6548\\u679c\\u94bb\\u77f3\\u5973\\u4eba\\u82b118K\\u767d\\u91d1\\u94bb\\u6212\",\"f\":1},\"7\":{\"d\":\"jfs\\/t280\\/292\\/1669312451\\/156424\\/8aa8c8e4\\/543f789dN3b551231.jpg\",\"e\":\"0\",\"c\":\"119.00\",\"a\":\"1112957011\",\"b\":\"\\u8c6a\\u81f3\\u5c0a\\u94f6\\u9970 \\u7eaf\\u94f6\\u67d4\\u7f8e\\u9879\\u94fe \\u9001\\u5973\\u53cb\\u751f\\u65e5\\u793c\\u7269\",\"f\":1},\"8\":{\"d\":\"g14\\/M07\\/15\\/18\\/rBEhVVMZchcIAAAAAALWG6wHiNUAAJvnwOcUsIAAtYz305.jpg\",\"e\":\"0\",\"c\":\"1980.00\",\"a\":\"1081975021\",\"b\":\"\\u5370\\u8c61\\u7738\\u91d1\\u9576\\u7389\\u548c\\u7530\\u7389\\u5173\\u516c\\u540a\\u5760\\u7389\\u724c\",\"f\":1},\"9\":{\"d\":\"jfs\\/t340\\/62\\/1353453751\\/145371\\/fc839ceb\\/5437a35aN60801b8c.jpg\",\"e\":\"0\",\"c\":\"239.00\",\"a\":\"1061869441\",\"b\":\"\\u826f\\u5e73\\u94f6\\u9970 \\u7eaf\\u94f6\\u540a\\u5760 \\u5f25\\u52d2\\u4f5b\\u4fdd\\u5e73\\u5b89\",\"f\":1},\"10\":{\"d\":\"jfs\\/t238\\/97\\/818692753\\/89804\\/f8bf0e8d\\/53f1a7b2N717ce58c.jpg\",\"e\":\"0\",\"c\":\"5194.00\",\"a\":\"1002420069\",\"b\":\"\\u4e2d\\u56fd\\u9ec4\\u91d1\\u6295\\u8d44\\u91d1\\u6761\\u8584\\u724720g\",\"f\":1}},\"1654\":{\"1\":{\"d\":\"g14\\/M01\\/1F\\/12\\/rBEhVVNGCqsIAAAAAAFdwnPS_F0AALp8QEBh7AAAV3a839.jpg\",\"e\":\"0\",\"c\":\"1498.00\",\"a\":\"1100120\",\"b\":\"\\u3010\\u4eac\\u4e1c\\u81ea\\u8425\\u3011\\u5929\\u68ad(TISSOT)\\u624b\\u8868 \\u5361\\u68ee\\u7cfb\\u5217\\u77f3\\u82f1\\u7537\\u8868T085.410.16.013.00\",\"f\":1},\"2\":{\"d\":\"g15\\/M07\\/02\\/11\\/rBEhWlH6OVwIAAAAAAIvqyvcQFEAABoPwIj2qQAAi_D790.jpg\",\"e\":\"0\",\"c\":\"779.00\",\"a\":\"936478\",\"b\":\"\\u3010\\u4eac\\u4e1c\\u81ea\\u8425\\u3011\\u5361\\u897f\\u6b27G-SHOCK\\u7cfb\\u5217\\u52a8\\u611f\\u65f6\\u5c1a\\u53cc\\u663e\\u8fd0\\u52a8\\u77f3\\u82f1\\u7537\\u8868GA-100-1A4\",\"f\":1},\"3\":{\"d\":\"jfs\\/t325\\/108\\/243153138\\/325254\\/3a705910\\/540680e2N9c6ac8af.jpg\",\"e\":\"0\",\"c\":\"498.00\",\"a\":\"1189153972\",\"b\":\"\\u5982\\u613f \\u6ee1\\u91d1\\u661f\\u5c0f\\u53f6\\u7d2b\\u6a80\\u624b\\u4e32\\u7537\\u5973\\u6b3e\\u4f5b\\u73e0\\u624b\\u94fe\",\"f\":1},\"4\":{\"d\":\"g13\\/M00\\/02\\/0D\\/rBEhU1M9OVkIAAAAAAOXrQTLnV0AALMAQE7ulYAA5fF942.jpg\",\"e\":\"0\",\"c\":\"168.00\",\"a\":\"1113165065\",\"b\":\"\\u5343\\u5bfb\\u6d77\\u98ceAAA\\u7ea7\\u9506\\u94bb\\u7480\\u74a8\\u5b8c\\u7f8e\\u6c34\\u6676\\u624b\\u94fe\",\"f\":1},\"5\":{\"d\":\"jfs\\/t241\\/297\\/1129991522\\/139556\\/c093c128\\/53f6b99cN4b55dd8b.jpg\",\"e\":\"0\",\"c\":\"298.00\",\"a\":\"1031732507\",\"b\":\"\\u7231\\u73ca\\u745a \\u65f6\\u5c1a\\u6c34\\u6676\\u9879\\u94fe\",\"f\":1},\"6\":{\"d\":\"jfs\\/t250\\/345\\/976017450\\/130391\\/cb3fa6d8\\/53f4501aNf2d97b48.jpg\",\"e\":\"0\",\"c\":\"558.00\",\"a\":\"1074340780\",\"b\":\"\\u6c49\\u65f6HENSE \\u5ea7\\u949f \\u6b27\\u5f0f\\u590d\\u53e4\\u6574\\u70b9\\u62a5\\u65f6\\u53f0\\u949f \\u5ba2\\u5385\\u949f\\u8868\\u9ad8\\u6863\\u521b\\u610f\\u5b9e\\u6728\\u5ea7\\u949f HD01 \\u68d5\\u8272\",\"f\":1},\"7\":{\"d\":\"jfs\\/t235\\/134\\/868609714\\/218190\\/90a8c9ca\\/53f2cb23Na28a78b9.jpg\",\"e\":\"0\",\"c\":\"399.00\",\"a\":\"1267819281\",\"b\":\"\\u5361\\u7f57\\u83b1(CALUOLA) \\u771f\\u76ae\\u5e26\\u5973\\u58eb\\u624b\\u8868\\u4f11\\u95f2\\u5973\\u8868\\u9632\\u6c34\\u53cc\\u5386\\u60c5\\u4fa3\\u8868\\u5bf9\\u8868\\u77f3\\u82f1\\u5973\\u8868 \\u73ab\\u7470\\u91d1\\u58f3\\u767d\\u9762\\u68d5\\u5e26\\u5973\\u6b3e\",\"f\":1},\"8\":{\"d\":\"g13\\/M09\\/19\\/1B\\/rBEhUlMW8NUIAAAAAAIBXg2ZhKQAAJhJgFuAoYAAgF2700.jpg\",\"e\":\"0\",\"c\":\"580.00\",\"a\":\"1060887\",\"b\":\"Swarovski \\u65bd\\u534e\\u6d1b\\u4e16\\u5947 2014\\u5e74\\u65b0\\u6b3e\\u91d1\\u8272\\u5929\\u9e45\\u6c34\\u6676\\u9879\\u94fe 5063921\",\"f\":1},\"9\":{\"d\":\"7152\\/7efea578-4aaa-42ab-8201-a58883fde1c0.jpg\",\"e\":0,\"c\":\"498.00\",\"a\":\"1002842766\",\"b\":\"ZIPPO\\u6253\\u706b\\u673aSC1548 \\u9f99\\u738b-\\u9540\\u94f6\\u8680\\u523b\",\"f\":1},\"10\":{\"d\":\"g15\\/M00\\/16\\/10\\/rBEhWVKJcuwIAAAAAAP1m3glWS0AAFmoQH4tIgAA_Wz191.jpg\",\"e\":\"0\",\"c\":\"198.00\",\"a\":\"1012909131\",\"b\":\"\\u5343\\u5bfb\\u6d77\\u98ce\\u65bd\\u534e\\u6d1b\\u4e16\\u5947\\u5143\\u7d20\\u85b0\\u8863\\u8349\\u6c34\\u6676\\u624b\\u94fe\",\"f\":1}},\"1637\":{\"1\":{\"d\":\"jfs\\/t277\\/210\\/636457637\\/161409\\/b5d913ba\\/541c080eN627504ec.jpg\",\"e\":\"0\",\"c\":\"499.00\",\"a\":\"1206122\",\"b\":\"\\u7f57\\u83b1\\u5bb6\\u7eba \\u6d1b\\u5c14\\u7ef4\\u53cc\\u4eba\\u52a0\\u5927\\u7f8a\\u6bdb\\u51ac\\u88ab\\u52a0\\u539a\\u578b\",\"f\":1},\"2\":{\"d\":\"g14\\/M05\\/09\\/1B\\/rBEhVlIEks8IAAAAAAP6opw2qucAAB7DwBxdocAA_q6998.jpg\",\"e\":\"0\",\"c\":\"399.00\",\"a\":\"934445\",\"b\":\"\\u853b\\u59ff \\u5e8a\\u54c1 \\u5168\\u68c9\\u52a0\\u539a\\u78e8\\u6bdb\\u5e8a\\u4e0a\\u7528\\u54c1\\u56db\\u4ef6\\u5957\",\"f\":1},\"3\":{\"d\":\"jfs\\/t235\\/222\\/71183454\\/90032\\/98339b49\\/53e4636cN5ebf6608.jpg\",\"e\":\"0\",\"c\":\"209.00\",\"a\":\"1027444\",\"b\":\"\\u8bfa\\u4f0a\\u66fc \\u5e8a\\u54c1 \\u8bb0\\u5fc6\\u6795 \\u529f\\u80fd\\u4e24\\u7528\\u9888\\u690e\\u6795\\u5934\",\"f\":1},\"4\":{\"d\":\"jfs\\/t184\\/344\\/2247613533\\/197745\\/6995bc34\\/53c8bc02N4ccb834c.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"1176948\",\"b\":\"\\u7ef4\\u4f17\\u5e8a\\u54c1\\u52a0\\u539a\\u7fbd\\u4e1d\\u7ed2\\u51ac\\u88ab\\u68c9\\u88ab\\u53cc\\u4eba\\u53cc\\u9762\\u7528\\u5f69\\u6761\",\"f\":1},\"5\":{\"d\":\"g13\\/M07\\/0C\\/1B\\/rBEhVFI_yMsIAAAAAAHIiYI4bEMAADZ2gPiz7sAAcih114.jpg\",\"e\":0,\"c\":\"96.00\",\"a\":\"1005155530\",\"b\":\"\\u5168\\u68c9\\u65f6\\u4ee3\\uff08PurCotton\\uff09\\u8fdb\\u53e3\\u7f8e\\u68c9\\u68c9\\u67d4\\u5dfe \\u62bd\\u7eb8\\u5dfe \\u9910\\u5dfe\\u7eb86\\u76d2\",\"f\":1},\"6\":{\"d\":\"g13\\/M0A\\/00\\/05\\/rBEhUlMyfrEIAAAAAAZX9t2skhwAAKv4AJ8CtEABlgO244.jpg\",\"e\":\"0\",\"c\":\"199.00\",\"a\":\"1105886942\",\"b\":\"\\u591a\\u559c\\u7231\\u5bb6\\u7eba \\u5168\\u68c9\\u5370\\u82b1\\u7eaf\\u68c9\\u5957\\u4ef6\\u56db\\u4ef6\\u5957\",\"f\":1},\"7\":{\"d\":\"jfs\\/t220\\/350\\/2304851295\\/441052\\/4b4b0e41\\/54126e88N6ff1e0af.jpg\",\"e\":\"0\",\"c\":\"479.00\",\"a\":\"1277929708\",\"b\":\"LOVO \\u591c\\u5149\\u56db\\u4ef6\\u5957\",\"f\":1},\"8\":{\"d\":\"vclist\\/jfs\\/t277\\/123\\/1752081535\\/8220\\/523c8c57\\/5440bc93N99e89847.jpg\",\"e\":\"0\",\"c\":\"126.40\",\"a\":\"1000476371\",\"b\":\"\\u5185\\u91ceUCHINO\\u5c0f\\u871c\\u87027\\u4ef6\\u5957\\u6bdb\\u5dfe\\u793c\\u76d2\",\"f\":1},\"9\":{\"d\":\"jfs\\/t424\\/1\\/213520794\\/377726\\/82062462\\/541159a0N40406ffc.jpg\",\"e\":\"0\",\"c\":\"139.00\",\"a\":\"1284168163\",\"b\":\"\\u96c5\\u9ad8\\u98ce\\u706b\\u8f6e\\u65cb\\u8f6c\\u62d6\",\"f\":1},\"10\":{\"d\":\"jfs\\/t358\\/214\\/606449819\\/407829\\/6e6dc73b\\/5428afdeN2f4207c4.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"1226393508\",\"b\":\"\\u65b0\\u623f\\u88c5\\u4fee\\u9664\\u7532\\u919b\\u9664\\u5f02\\u5473\\u5957\\u88c5\",\"f\":1}},\"1638\":{\"1\":{\"d\":\"g15\\/M00\\/08\\/05\\/rBEhWlMNVzcIAAAAAATKpqgWIQ8AAJDPALVnTgABMq-780.jpg\",\"e\":\"0\",\"c\":\"179.00\",\"a\":\"1019474191\",\"b\":\"\\u4e70\\u5c31\\u9001 \\u65e5\\u672c\\u6cf0\\u798f\\u9ad82.0L\\u4e0d\\u9508\\u94a2\\u4fdd\\u6e29\\u996d\\u76d2\",\"f\":1},\"2\":{\"d\":\"jfs\\/t184\\/324\\/777745170\\/165421\\/cce90882\\/53980453N28e3bf9a.jpg\",\"e\":\"0\",\"c\":\"199.08\",\"a\":\"1179916348\",\"b\":\"\\u864e\\u724c\\u4fdd\\u6e29\\u676f\",\"f\":1},\"3\":{\"d\":\"jfs\\/t430\\/139\\/337559998\\/123288\\/193f3f35\\/54178a46N43c31838.jpg\",\"e\":\"0\",\"c\":\"98.00\",\"a\":\"1035322198\",\"b\":\"\\u4e0d\\u9508\\u94a2\\u771f\\u7a7a\\u5546\\u52a1\\u4fdd\\u6e29\\u676f430ml\",\"f\":1},\"4\":{\"d\":\"jfs\\/t304\\/205\\/1537026071\\/181225\\/e9b39fe7\\/543cff7fN487b392d.jpg\",\"e\":\"0\",\"c\":\"498.00\",\"a\":\"1157087730\",\"b\":\"\\u5eb7\\u5b81\\u9505\\u5177\\u5957\\u88c52.25L+1.5L\",\"f\":1},\"5\":{\"d\":\"jfs\\/t211\\/277\\/1598518971\\/317636\\/31172a6b\\/53fc55b9N04799327.png\",\"e\":\"0\",\"c\":\"268.00\",\"a\":\"1022802396\",\"b\":\"highcook\\u97e9\\u56fd\\u8fdb\\u53e3\\u84dd\\u5b9d\\u77f3\\u65e0\\u70df\\u4e0d\\u7c98\\u7092\\u950530cm\",\"f\":1},\"6\":{\"d\":\"jfs\\/t196\\/294\\/2023047458\\/97323\\/d2b18eb4\\/53c38503N6dff3685.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"1155275\",\"b\":\"\\u53ef\\u4e70\\u601d\\u4fbf\\u5f53\\u5305\\u4e09\\u4ef6\\u793c\\u54c1\",\"f\":1},\"7\":{\"d\":\"g3\\/M02\\/04\\/10\\/rBEGE0-nac8IAAAAAAJ6u1iFeh4AAA4owGsUqoAAnrT737.jpg\",\"e\":\"0\",\"c\":\"159.00\",\"a\":\"625799\",\"b\":\"\\u53cc\\u67aa \\u80f6\\u6728\\u5706\\u5f62\\u7827\\u677fZB3535\\uff08\\u03a635cm\\u00d73.5cm\\uff09\",\"f\":1},\"8\":{\"d\":\"g14\\/M01\\/18\\/04\\/rBEhVVMirAYIAAAAAAEWvIsj4wQAAKNLgIpvkgAARbU814.jpg\",\"e\":\"0\",\"c\":\"279.00\",\"a\":\"167122\",\"b\":\"\\u82cf\\u6cca\\u5c14supor 30cm\\u771f\\u4e0d\\u9508\\u65e0\\u6d82\\u5c42\\u94c1\\u9505\",\"f\":1},\"9\":{\"d\":\"g14\\/M03\\/0B\\/10\\/rBEhVlIR20QIAAAAAACwK3ULsP0AACP4wOrEyYAALBD578.jpg\",\"e\":\"0\",\"c\":\"224.00\",\"a\":\"953553\",\"b\":\"\\u81b3\\u9b54\\u5e08 \\u9ad8\\u771f\\u7a7a\\u4e0d\\u9508\\u94a2\\u6237\\u5916\\u8fd0\\u52a8\\u65c5\\u884c\\u4fdd\\u6e29\\u676f\",\"f\":1},\"10\":{\"d\":\"g14\\/M09\\/13\\/0C\\/rBEhVlMO-20IAAAAAAGMFj7wjdkAAJRwAAjY7cAAYwu427.jpg\",\"e\":\"0\",\"c\":\"189.00\",\"a\":\"1070209\",\"b\":\"\\u62dc\\u683c \\u4e0d\\u9508\\u94a2\\u5200\\u517710\\u4ef6\\u5957 \\u5200\\u94f2\\u7ec4\\u5408\\u53a8\\u623f\\u5957\\u5200\",\"f\":1}},\"1639\":{\"1\":{\"d\":\"jfs\\/t316\\/331\\/1332968258\\/127244\\/572fdb13\\/543753a0N0ba20ea1.jpg\",\"e\":\"0\",\"c\":\"1288.00\",\"a\":\"1133275213\",\"b\":\"\\u53cc\\u7acb\\u4ebaTwin Point S\\u94f6\\u70b9\\u5200\\u51777\\u4ef6\\u5957\",\"f\":1},\"2\":{\"d\":\"vclist\\/jfs\\/t304\\/57\\/1676866534\\/3453\\/3560b7b1\\/543f8228N307b4765.jpg\",\"e\":\"0\",\"c\":\"209.00\",\"a\":\"1090516796\",\"b\":\"\\u5965\\u666e\\u706f\\u6696\\u6d74\\u9738\\u5c0f\\u718a\\u732b\",\"f\":1},\"3\":{\"d\":\"vclist\\/jfs\\/t286\\/206\\/1659983294\\/6929\\/c475a76a\\/543f8234Nac53d697.jpg\",\"e\":\"0\",\"c\":\"759.00\",\"a\":\"1028202133\",\"b\":\"\\u591a\\u4e50\\u58eb\\u6297\\u7532\\u919b\\u4e94\\u5408\\u4e00\\u5899\\u9762\\u6f0617\\u5347\\u5957\\u88c5\",\"f\":1},\"4\":{\"d\":\"vclist\\/jfs\\/t286\\/323\\/1633388175\\/5337\\/a2865086\\/543f825dN3fc90594.jpg\",\"e\":\"0\",\"c\":\"429.00\",\"a\":\"1117655444\",\"b\":\"\\u535a\\u4e16\\u51b2\\u51fb\\u94bb\\u5957\\u88c5\",\"f\":1},\"5\":{\"d\":\"vclist\\/jfs\\/t283\\/52\\/1677483868\\/4078\\/3e40b5e1\\/543f8269N55620241.jpg\",\"e\":\"0\",\"c\":\"359.00\",\"a\":\"1120515534\",\"b\":\"\\u534e\\u827aled\\u4e09\\u8272\\u8c03\\u5149\\u5438\\u9876\\u706f\\u5e26\\u9065\\u63a7\",\"f\":1},\"6\":{\"d\":\"jfs\\/t196\\/22\\/452217532\\/608509\\/c50a118e\\/538d48f0N7f5ae0f5.jpg\",\"e\":\"0\",\"c\":\"4290.00\",\"a\":\"1086019909\",\"b\":\"\\u5149\\u660e\\u5b9e\\u6728\\u53cc\\u4eba\\u5e8a\\u9ad8\\u6863\\u73af\\u4fdd\\u5e8a\",\"f\":1},\"7\":{\"d\":\"vclist\\/jfs\\/t334\\/186\\/1669826249\\/2441\\/9eb1cffb\\/543f82bdN1340226d.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"550127\",\"b\":\"\\u751f\\u6d3b\\u8bda\\u54c1 \\u91d1\\u5c5e\\u591a\\u529f\\u80fd\\u4e94\\u5c42\\u7f6e\\u7269\\u6536\\u7eb3\\u5c42\\u67b6\",\"f\":1},\"8\":{\"d\":\"jfs\\/t277\\/1\\/594974888\\/407140\\/b1178c00\\/541a3b47N829d0c2f.jpg\",\"e\":0,\"c\":\"499.00\",\"a\":\"1004046359\",\"b\":\"\\u5bb6\\u9038 \\u65cb\\u8f6c\\u5b9e\\u6728\\u7a7f\\u8863\\u955c\\u67dc \\u5316\\u5986\\u955c \\u5168\\u8eab\\u955c \\u5168\\u8eab\\u843d\\u5730\\u8bd5\\u8863\\u955c \\u843d\\u5730\\u955c \\u6536\\u7eb3\\u5bb6\\u5c45\\u955c \\u767d\\u8272\",\"f\":1},\"9\":{\"d\":\"g15\\/M0A\\/14\\/06\\/rBEhWlNDtyEIAAAAAAHNc41T_DQAALZvwMyon4AAc2L822.jpg\",\"e\":\"0\",\"c\":\"139.00\",\"a\":\"692464\",\"b\":\"\\u6fb3\\u7f8e\\u4f73 \\u8ff7\\u4f60\\u516d\\u5c42\\u91d1\\u5c5e\\u7f6e\\u7269\\u67b6\\u9ed1\\u8272\",\"f\":1},\"10\":{\"d\":\"g12\\/M00\\/02\\/1F\\/rBEQYVGJnwkIAAAAAAGGMspqD6gAAAlPwOVnHQAAYZK431.jpg\",\"e\":\"0\",\"c\":\"299.00\",\"a\":\"387011\",\"b\":\"\\u7f8e\\u8fbe\\u65af\\u8d1d\\u514bL\\u578b\\u7535\\u89c6\\u67dc\\u767d\\u8272\",\"f\":1}},\"9560\":{\"1\":{\"d\":\"jfs\\/t412\\/31\\/356687794\\/113469\\/b63f917a\\/54180b73N33786157.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"1223128\",\"b\":\"Paola\\u5de5\\u5177 26\\u4ef6\\u5957\\u5bb6\\u7528\\u5de5\\u5177\\u7ec4\\u5957\",\"f\":1},\"2\":{\"d\":\"vclist\\/jfs\\/t349\\/59\\/1661699517\\/3677\\/7903d487\\/543f8f68N274900d3.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"892606\",\"b\":\"\\u6ea2\\u5f69\\u5e74\\u534e\\u843d\\u5730\\u53ef\\u79fb\\u52a8\\u5f0f\\u53cc\\u6760\\u53ef\\u5347\\u964d\\u667e\\u6652\\u8863\\u67b6\",\"f\":1},\"3\":{\"d\":\"g15\\/M09\\/00\\/19\\/rBEhWFHkpmYIAAAAAAJj__rWzLoAABEDAJCuOsAAmQX865.jpg\",\"e\":\"0\",\"c\":\"158.00\",\"a\":\"924727\",\"b\":\"\\u5bcc\\u529b\\u9c9c \\u5ba0\\u7269\\u767d\\u8eab\\u9c94\\u9c7c\\u6781\\u54c1\\u732b\\u7f50\\u593485g*24\\u7f50\",\"f\":1},\"4\":{\"d\":\"g15\\/M00\\/1A\\/08\\/rBEhWFNeEVUIAAAAAAC4mcCudUsAAMlUAOym_wAALix763.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"1112713\",\"b\":\"\\u4e50\\u6263\\u6469\\u767b\\u4e50\\u4fdd\\u6e29\\u676f\\u68d5\\u8272500ml\",\"f\":1},\"5\":{\"d\":\"g5\\/M00\\/02\\/1C\\/rBEDik_Wlj8IAAAAAAExuTpp3IcAAAkUgJBqewAATHR738.jpg\",\"e\":\"0\",\"c\":\"199.00\",\"a\":\"574848\",\"b\":\"\\u8c61\\u5370500ml\\u771f\\u7a7a\\u4fdd\\u6e29\\u676fSM-AFE50-AH\",\"f\":1},\"6\":{\"d\":\"jfs\\/t211\\/280\\/897181764\\/84393\\/3021e83f\\/53f2e317N11d0ca0d.jpg\",\"e\":\"0\",\"c\":\"159.00\",\"a\":\"998103\",\"b\":\"\\u4e09\\u5149\\u4e91\\u5f69GLASSLOCK\\u4fdd\\u9c9c\\u76d2 GL8-05\\u516b\\u4ef6\\u5957\",\"f\":1},\"7\":{\"d\":\"g12\\/M00\\/08\\/09\\/rBEQYVGa1YAIAAAAAAFDp9Rak8YAABnowCnfgMAAUO_476.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"406013\",\"b\":\"\\u7761\\u7720\\u535a\\u58eb \\u5347\\u7ea7\\u7248\\u6162\\u56de\\u5f39\\u8776\\u578b\\u78c1\\u77f3\\u62a4\\u9888\\u6795\\u5934\",\"f\":1},\"8\":{\"d\":\"jfs\\/t232\\/312\\/1100871912\\/257016\\/de0cdac6\\/53f69986Nb91409c3.jpg\",\"e\":\"0\",\"c\":\"379.00\",\"a\":\"1201210\",\"b\":\"\\u8fce\\u99a8 \\u5e8a\\u54c1\\u5bb6\\u7eba \\u5168\\u68c9\\u52a0\\u539a\\u78e8\\u6bdb\\u56db\\u4ef6\\u5957\",\"f\":1},\"9\":{\"d\":\"jfs\\/t337\\/82\\/416279993\\/146784\\/b4c62eda\\/54100fe8N0d5f0b65.jpg\",\"e\":\"0\",\"c\":\"460.00\",\"a\":\"1214351\",\"b\":\"\\u5b89\\u7761\\u5b9d \\u5e8a\\u54c1 \\u65b0\\u6021\\u9ad8\\u7ea7\\u8212\\u67d4\\u88ab\\u82af \\u53cc\\u4eba\\u51ac\\u88ab\",\"f\":1},\"10\":{\"d\":\"jfs\\/t334\\/131\\/379781103\\/109081\\/db49cb7\\/540ec181N49674860.jpg\",\"e\":\"0\",\"c\":\"134.00\",\"a\":\"279909\",\"b\":\"\\u6d01\\u4e91 \\u5546\\u52a136GSM\\u96c5\\u81f4\\u751f\\u6d3b200\\u5f20\\u4e09\\u6298\\u64e6\\u624b\\u7eb8\",\"f\":1}},\"1659\":{\"1\":{\"d\":\"jfs\\/t145\\/93\\/556093286\\/181927\\/47a861ea\\/539181efNb131fff5.jpg\",\"e\":\"0\",\"c\":\"218.00\",\"a\":\"915391\",\"b\":\"\\u60e0\\u6c0f Wyeth S-26\\u91d1\\u88c5 3\\u6bb5 1200\\u514b\",\"f\":1},\"2\":{\"d\":\"g15\\/M03\\/0F\\/11\\/rBEhWFJdBaUIAAAAAAIySYdtkM0AAEK1gMmtaYAAjJh576.jpg\",\"e\":\"0\",\"c\":\"218.00\",\"a\":\"981759\",\"b\":\"\\u5b89\\u6ee1\\uff08Anmum\\uff09\\u667a\\u5b55\\u5b9d\\u5b55\\u5987\\u914d\\u65b9\\u5976\\u7c89 800\\u514b\\uff08\\u65b0\\u897f\\u5170\\u539f\\u88c5\\u8fdb\\u53e3\\uff09 \",\"f\":1},\"3\":{\"d\":\"g14\\/M03\\/03\\/06\\/rBEhVlKVR4UIAAAAAAVbbR6djqAAAGHZwN2MVIABVuF842.jpg\",\"e\":0,\"c\":\"1548.00\",\"a\":\"1007680398\",\"b\":\"\\u7f8e\\u56fd\\u91c7\\u8d2d \\u7f8e\\u8d5e\\u81e3 Enfamil \\u91d1\\u6a3d\\u5976\\u7c89\\u4e00\\u6bb5 0-12\\u6708 629g\\/\\u7f50 6\\u7f50\\u88c5\",\"f\":1},\"4\":{\"d\":\"jfs\\/t142\\/290\\/4987544128\\/380297\\/7086b2b3\\/537d7101N44c6ebdc.jpg\",\"e\":\"0\",\"c\":\"236.00\",\"a\":\"1078345236\",\"b\":\"\\u6735\\u671bDOHOPE \\u597d\\u5473\\u9499\\u7f8a\\u5976\\u4e73\\u9499\\u5a74\\u5e7c\\u513f\\u5347\\u7ea7\\u7248 4\\u76d2\\u88c5\",\"f\":1},\"5\":{\"d\":\"g10\\/M00\\/00\\/1D\\/rBEQWFECEhEIAAAAAAGPIDzOYxcAAALqwEX-N8AAY84058.jpg\",\"e\":0,\"c\":\"162.00\",\"a\":\"1015432704\",\"b\":\"\\u667a\\u7075\\u901a\\u4e73\\u9178\\u9499\\u51b2\\u5242\\u5a74\\u5e7c\\u513f \\u513f\\u7ae5\\u9499\\u7c8940\\u5305\\/\\u7f50 2\\u7f50\\u88c5\",\"f\":1},\"6\":{\"d\":\"jfs\\/t352\\/108\\/48040761\\/92831\\/17193975\\/54001268Ndde0260f.jpg\",\"e\":\"0\",\"c\":\"335.00\",\"a\":\"1200272\",\"b\":\"\\u4e24\\u542c\\u8d77\\u8ba2\\u6bcf\\u542c299\\u5143!\\u8fd8\\u6709\\u4e70\\u8d60\\u6d3b\\u52a8\\u54e6\\uff01\",\"f\":1},\"7\":{\"d\":\"g7\\/M03\\/07\\/09\\/rBEHZVBajiwIAAAAAAGUMFmvSxcAABbFwEkhCgAAZRI815.jpg\",\"e\":\"0\",\"c\":\"226.00\",\"a\":\"712227\",\"b\":\"\\u4e24\\u4ef6\\u8d77\\u8ba2\\uff0c149\\u5143\\u4e00\\u7f50\\uff01\\u6fb3\\u4f18\\uff08Ausnutria\\uff09\\u5e7c\\u4f18\\u5e7c\\u513f\\u914d\\u65b9\\u5976\\u7c893\\u6bb5\\uff081-3\\u5c81\\u5e7c\\u513f\\u9002\\u7528\\uff09900\\u514b\",\"f\":1},\"8\":{\"d\":\"g16\\/M00\\/06\\/0D\\/rBEbRlN0fFQIAAAAAAJt5WH7JJ4AABQDgOZUbQAAm39600.jpg\",\"e\":\"0\",\"c\":\"299.00\",\"a\":\"904404\",\"b\":\"\\u4e70\\u4e00\\u8d60\\u4e00\\uff01\\u4e50\\u4f73\\u5584\\u4f18\\u7eff\\u68ee\\u6797\\u724cDHA\\u85fb\\u6cb9\\u8f6f\\u80f6\\u56ca\\u7f8e\\u56fd\\u9a6c\\u6cf0\\u514b\\u8fdb\\u53e3DHA\\u5b55\\u4ea7\\u5987\\u578b\",\"f\":1}},\"1679\":{\"1\":{\"d\":\"g5\\/M02\\/14\\/0B\\/rBEIDFAA3fkIAAAAAAQ-yN8ErssAAD-lQJ4hNIABD7g597.jpg\",\"e\":0,\"c\":\"88.00\",\"a\":\"1005401147\",\"b\":\"\\u5b89\\u5fc3\\u5988\\u5988\\u521d\\u751f\\u5a74\\u513f\\u54fa\\u80b2\\u7528\\u54c1\\u793c\\u76d2\\uff08\\u5976\\u74f62\\u4e2a \\u7814\\u78e8\\u7897\\u3001\\u7fb9\\u52fa \\u5976\\u74f6\\u3001\\u5976\\u5634\\u5237 \\u5976\\u7c89\\u76d2 \\u5976\\u74f6\\u5939\\uff09\",\"f\":1},\"2\":{\"d\":\"g9\\/M03\\/12\\/0B\\/rBEHalDulCwIAAAAAAE1vmvS1H8AADlkgAo0EwAATXW950.jpg\",\"e\":\"0\",\"c\":\"1399.00\",\"a\":\"800387\",\"b\":\"\\u82f1\\u56fd\\u8d35\\u65cf\\u54c1\\u724c\\uff0c\\u98de\\u5229\\u6d66\\u65b0\\u5b89\\u6021\\u5bbd\\u53e3\\u5f84\\u81ea\\u7136\\u539f\\u751f\\u5355\\u8fb9\\u7535\\u52a8\\u5438\\u4e73\\u5668SCF332\\/01\",\"f\":1},\"3\":{\"d\":\"jfs\\/t208\\/179\\/720546977\\/57267\\/670df000\\/5396f334N55f9c8a1.jpg\",\"e\":\"0\",\"c\":\"328.00\",\"a\":\"1120120\",\"b\":\"\\u3010\\u4eac\\u4e1c\\u81ea\\u8425\\u3011\\u81b3\\u9b54\\u5e08\\u513f\\u7ae5\\u9ad8\\u771f\\u7a7a\\u4e0d\\u9508\\u94a2\\u4fdd\\u6e29\\u676f,\\u5168\\u573a\\u6ee1200\\u5143\\u7acb\\u51cf50\\u5143!\",\"f\":1},\"4\":{\"d\":\"jfs\\/t181\\/82\\/51855168\\/234160\\/e11cbb7e\\/537c1017Ncc2d7cf2.jpg\",\"e\":\"0\",\"c\":\"199.00\",\"a\":\"1074413907\",\"b\":\"\\u5229\\u5176\\u5c14Richell \\u513f\\u7ae5\\u5750\\u4fbf\\u5668\\u9a6c\\u6876\\u5708\\u5c0f\\u9a6c\\u6876\\u4fbf\\u76c6 \\u5a74\\u513f\\u8bad\\u7ec3\\u578b pottis 983133\",\"f\":1},\"5\":{\"d\":\"jfs\\/t181\\/150\\/1353016587\\/281906\\/f18df361\\/53ab7839Nb5b15f50.jpg\",\"e\":\"0\",\"c\":\"118.00\",\"a\":\"1196504521\",\"b\":\"\\u9ad8\\u9882HIGHSSANT\\u53ef\\u5145\\u7535\\u5bb6\\u7528\\u7ea2\\u5916\\u7ebf\\u7535\\u5b50\\u4f53\\u6e29\\u8ba1\\u5a74\\u513f\\u6e29\\u5ea6\\u8ba1DT-9836\",\"f\":1},\"6\":{\"d\":\"g14\\/M03\\/1D\\/05\\/rBEhV1NN7rMIAAAAAAWn3OnV5hUAAMBcALYn8UABaf0050.jpg\",\"e\":0,\"c\":\"120.00\",\"a\":\"1003579375\",\"b\":\"\\u91d1\\u76fe\\u5a74\\u5b9d \\u5a74\\u513f\\u9a71\\u868a\\u624b\\u73af\\u624b\\u94fe\\u624b\\u5e26\\uff084\\u6761\\uff09*10\",\"f\":1},\"7\":{\"d\":\"jfs\\/t190\\/188\\/517531123\\/79933\\/5ef46ac9\\/538efac9Ne43caf06.jpg\",\"e\":\"0\",\"c\":\"108.00\",\"a\":\"852647\",\"b\":\"\\u4e24\\u4ef67\\u6298\\uff01\\u4eac\\u4e1c\\u81ea\\u8425\\u5fb7\\u56fd\\u8fdb\\u53e3\\u54c8\\u7f57\\u95ea\",\"f\":1},\"8\":{\"d\":\"jfs\\/t196\\/205\\/675939616\\/223697\\/699fc73b\\/53952943N344fc9b0.jpg\",\"e\":\"0\",\"c\":\"89.00\",\"a\":\"1041183066\",\"b\":\"YOLO\\u4f18\\u4e50\\u7f8a\\u7f94\\u7ed2\\u5b9d\\u5b9d\\u5305\\u88ab \\u5a74\\u513f\\u62b1\\u88ab \\u65b0\\u751f\\u513f\\u7761\\u888b\\u62b1\\u88ab \\u79cb\\u51ac\\u52a0\\u539a \\u5496\\u5561\\u5976\\u725b 80X80cm\",\"f\":1}},\"1660\":{\"1\":{\"d\":\"g14\\/M07\\/00\\/14\\/rBEhV1G0VqMIAAAAAAL8j5oCA7kAAAILAFS5mQAAvyn962.jpg\",\"e\":\"0\",\"c\":\"1099.00\",\"a\":\"770081\",\"b\":\"\\u3010\\u4eac\\u4e1c\\u81ea\\u8425\\u3011\\u8d85\\u8c6a\\u534e\\u9ad8\\u666f\\u89c2\\u660e\\u661f\\u6b3e\\uff0c1099\\u9650\\u65f6\\u79d2\",\"f\":1},\"2\":{\"d\":\"jfs\\/t430\\/9\\/205855637\\/290485\\/9183eae0\\/54107a03N662c52b3.jpg\",\"e\":\"0\",\"c\":\"698.00\",\"a\":\"1147158980\",\"b\":\"\\u513f\\u7ae5\\u7535\\u52a8\\u8f66\\u56db\\u8f6e\\u53ef\\u5750\\u5965\\u8feaR8\\u73a9\\u5177\\u8f66\\u5e26\\u9065\\u63a7\\u53cc\\u9a71\\u5927\\u7535\\u74f6\\u6c7d\\u8f66 \\u767d\\u8272\\u53cc\\u9a71\\u53cc\\u7535+\\u56db\\u8f6e\\u907f\\u9707\",\"f\":1},\"3\":{\"d\":\"jfs\\/t151\\/244\\/1624270247\\/379795\\/5cb9c7b7\\/53b35e4eN4ddfb5ed.jpg\",\"e\":\"0\",\"c\":\"188.00\",\"a\":\"1205301577\",\"b\":\"\\u62c9\\u62c9\\u5e03\\u4e66 \\u6211\\u7231\\u91ce\\u751f\\u52a8\\u7269 \\u5b9d\\u5b9d\\u6e38\\u620f\\u6bef\\u722c\\u884c\\u57ab\",\"f\":1},\"4\":{\"d\":\"g13\\/M09\\/1F\\/1B\\/rBEhU1MxJTMIAAAAAAG8zSm9d98AAKsDwB5Y8wAAbzl870.jpg\",\"e\":\"0\",\"c\":\"99.00\",\"a\":\"1080414\",\"b\":\"\\u4e50\\u9ad8 Creator \\u521b\\u610f\\u767e\\u53d8\\u7cfb\\u5217 \\u6a59\\u8272\\u8dd1\\u8f66\",\"f\":1},\"5\":{\"d\":\"jfs\\/t145\\/13\\/659121235\\/414594\\/188db0e3\\/53951d77N3f696494.jpg\",\"e\":\"0\",\"c\":\"208.00\",\"a\":\"1117631946\",\"b\":\"\\u5c0f\\u5e03\\u53ee\\u5206\\u9f84\\u65e9\\u6559\\u673a8G\\u5185\\u5b58\",\"f\":1},\"6\":{\"d\":\"vclist\\/jfs\\/t301\\/16\\/1420993167\\/9656\\/96ee60ad\\/5438eff0N6a1c2287.jpg\",\"e\":\"0\",\"c\":\"599.00\",\"a\":\"980005\",\"b\":\"\\u9650\\u65f6\\u7279\\u60e0\\u3010\\u4eac\\u4e1c\\u81ea\\u8425\\u3011\\u597d\\u5b69\\u5b50\\u513f\\u7ae5\\u5b89\\u5168\\u5ea7\\u6905CS901-B-L201\",\"f\":1},\"7\":{\"d\":\"jfs\\/t268\\/341\\/73773689\\/190027\\/f9d39df2\\/53e477e4Nfdfe64f4.jpg\",\"e\":\"0\",\"c\":\"8999.00\",\"a\":\"1245789475\",\"b\":\"\\u3010\\u7231\\u5fc3\\u4e1c\\u4e1c\\u3011Mima\\u9ad8\\u666f\\u89c2\\u53cc\\u5411\\u53ef\\u6298\\u53e0\\u53ef\\u5e73\\u8eba\\u56db\\u8f6e\\u63a8\\u8f66\",\"f\":1},\"8\":{\"d\":\"jfs\\/t151\\/298\\/1116167331\\/166483\\/afc53cec\\/53a2aed0N14d3ede8.jpg\",\"e\":\"0\",\"c\":\"282.00\",\"a\":\"577929\",\"b\":\"\\u9177\\u6bd4\\u718a \\u76ca\\u667a\\u73a9\\u5177 K4\\u70b9\\u8bfb\\u7b14 \\u5e7c\\u513f\\u542f\\u8499\\u5957\\u88c5\",\"f\":1}},\"1661\":{\"1\":{\"d\":\"9803\\/081de1ab-afd1-4e7d-93b6-e95c4bee269b.jpg\",\"e\":0,\"c\":\"189.00\",\"a\":\"1001700925\",\"b\":\"\\u7eff\\u5178\\u5f69\\u68c9\\uff08Gretton\\uff09\\u513f\\u7ae5\\u8ff7\\u5f69\\u68c9\\u9a6c\\u7532A3JTW068 \\u7eff\\u8272 140\",\"f\":1},\"2\":{\"d\":\"g15\\/M00\\/0C\\/19\\/rBEhWVJGkRoIAAAAAARE0NWM4vAAADoZAPeN-YABETo514.jpg\",\"e\":\"0\",\"c\":\"258.00\",\"a\":\"1010555898\",\"b\":\"\\u5a67\\u9e92\\u9632\\u8f90\\u5c04\\u670d\\u5957\\u88c5\",\"f\":1},\"3\":{\"d\":\"vclist\\/jfs\\/t304\\/133\\/1657141658\\/4916\\/81d139c1\\/543fa77fN0eb029fe.jpg\",\"e\":\"0\",\"c\":\"93.00\",\"a\":\"1317860665\",\"b\":\"\\u54c8\\u6bd4\\u718a\\u79cb\\u51ac\\u5957\\u88c5\",\"f\":1},\"4\":{\"d\":\"jfs\\/t358\\/55\\/212389061\\/269596\\/2cc47a51\\/5410fa5fN013d2f4e.jpg\",\"e\":\"0\",\"c\":\"269.00\",\"a\":\"1244068773\",\"b\":\"\\u6c5f\\u535a\\u58eb\\u5065\\u5eb7\\u7ae5\\u978b\\u4f4e\\u81f35\\u6298\",\"f\":1},\"5\":{\"d\":\"vclist\\/jfs\\/t286\\/263\\/1676571433\\/5068\\/c4242642\\/543fa788N1fc57d2b.jpg\",\"e\":\"0\",\"c\":\"169.00\",\"a\":\"1310092503\",\"b\":\"I.K \\u51ac\\u5b63\\u65b0\\u6b3e\\u7537\\u5973\\u7ae5\\u52a0\\u539a\\u7ffb\\u6bdb\\u9886\\u725b\\u4ed4\\u5916\\u5957\",\"f\":1},\"6\":{\"d\":\"9084\\/1279343f-7a9a-4252-9e5e-79ee48dd3e0b.jpg\",\"e\":0,\"c\":\"464.00\",\"a\":\"1002039571\",\"b\":\"\\u7eff\\u5178\\u5f69\\u68c9Gretton\\u513f\\u7ae5\\u73af\\u4fdd\\u5973\\u7ae5\\u8774\\u8776\\u7ed3\\u9ad8\\u7ea7\\u767d\\u9e2d\\u7ed2\\u7fbd\\u7ed2\\u670dA3JTL071-6002 \\u7c89 100\",\"f\":1},\"7\":{\"d\":\"vclist\\/jfs\\/t349\\/229\\/1691463514\\/2587\\/ca286e38\\/543fa796N83c1f2a0.jpg\",\"e\":\"0\",\"c\":\"139.00\",\"a\":\"1312853493\",\"b\":\"\\u7c89\\u732b\\u5988\\u5988\\u54fa\\u4e73\\u5957\\u88c5\\u6708\\u5b50\\u670d\\u79cb\\u51ac\\u6b3e\",\"f\":1},\"8\":{\"d\":\"vclist\\/jfs\\/t310\\/260\\/1664305453\\/4228\\/6ae19c8a\\/543fa7a0N78a8150b.jpg\",\"e\":\"0\",\"c\":\"108.00\",\"a\":\"1083798164\",\"b\":\"\\u5a1c\\u4f32\\u718a\\u65f6\\u5c1a\\u5957\\u88c5\\u9001\\u4eac\\u4e1c\\u8c46\",\"f\":1}}}</script>\r\n<script type=\"text/javascript\">\r\n\tpageConfig.DATA_FSlide={};\r\n\tpageConfig.DATA_FSlide.F8=[{width:473,height:180,src:\"http://img12.360buyimg.com/da/jfs/t277/63/1744339591/12705/abeee4fa/5440fae5N4ee6228b.jpg\",href:\"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3626&bid=0&unit=36256&advid=93552&guv=&url=http://sale.jd.com/act/Ljpf8bh3ORXg6.html\",alt:\"\"},{width:473,height:180,src:\"http://img10.360buyimg.com/da/jfs/t307/216/1707862343/28780/1c947aaf/54408f4cN2c9b5f89.jpg\",href:\"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3626&bid=0&unit=49369&advid=87491&guv=&url=http://sale.jd.com/act/ZBlvasdRy13M.html\",alt:\"\"},{width:473,height:180,src:\"http://img14.360buyimg.com/da/jfs/t355/74/1736871976/13012/9c46135e/5440749aNc4bb8056.jpg\",href:\"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3626&bid=0&unit=36308&advid=93125&guv=&url=http://sale.jd.com/act/nAqiWgU34frQolt.html\",alt:\"\"},{width:473,height:180,src:\"http://img14.360buyimg.com/da/jfs/t316/181/1528115715/40737/9f1da327/543de5b9N7f043348.jpg\",href:\"http://c.fa.jd.com/adclick?sid=2&cid=601&aid=3626&bid=4139&unit=36257&advid=108916&guv=&url=http://sale.jd.com/act/DNxHF0CEwna.html\",alt:\"\"}];\r\n</script>\r\n\r\n<!-- footer start -->\r\n<jsp:include page=\"../commons/footer.jsp\" />\r\n<!-- footer end -->\r\n \r\n<script type=\"text/javascript\" src=\"/js/home.js\" charset=\"utf-8\"></script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/item.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<%@ taglib prefix=\"c\" uri=\"http://java.sun.com/jsp/jstl/core\" %>\r\n<%@ taglib prefix=\"fmt\" uri=\"http://java.sun.com/jsp/jstl/fmt\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n\t<title>${item.title } - 咪购</title>\r\n\t<script>var jdpts = new Object(); jdpts._st = new Date().getTime();</script>\r\n\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/migo.css\" media=\"all\" />\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/pshow.css\" media=\"all\" />\r\n\t<script type=\"text/javascript\">\r\n    \twindow.pageConfig = {\r\n\t\t\tcompatible: true,\r\n       \t\tproduct: {\r\n\t\t\t\tskuid: ${item.id},\r\n\t\t\t\tname: '\\u957f\\u8679\\uff08\\u0043\\u0048\\u0041\\u004e\\u0047\\u0048\\u004f\\u004e\\u0047\\uff09\\u004c\\u0045\\u0044\\u0034\\u0032\\u0035\\u0033\\u0038\\u0045\\u0053\\u0020\\u0034\\u0032\\u82f1\\u5bf8\\u0020\\u7a84\\u8fb9\\u84dd\\u5149\\u004c\\u0045\\u0044\\u6db2\\u6676\\u7535\\u89c6\\uff08\\u9ed1\\u8272\\uff09',\r\n\t\t\t\tskuidkey:'E804B1D153D29E36088A33A134D85EEA',\r\n\t\t\t\thref: 'http://item.jd.com/1221882.html',\r\n\t\t\t\tsrc: 'jfs/t304/157/750353441/93159/e4ee9876/54227256N20d4f5ec.jpg',\r\n\t\t\t\tcat: [737,794,798],\r\n\t\t\t\tbrand: 20710,\r\n\t\t\t\tnBrand: 20710,\r\n\t\t\t\ttips: false,\r\n\t\t\t\ttype: 1,\r\n\t\t\t\tvenderId:0,\r\n\t\t\t\tshopId:'0',\r\n\t\t\t\tTJ:'0',\r\n\t\t\t\tspecialAttrs:[\"HYKHSP-0\",\"isHaveYB\",\"isSelfService-0\",\"isWeChatStock-0\",\"isCanUseJQ\",\"isOverseaPurchase-0\",\"YuShou\",\"is7ToReturn-1\",\"isCanVAT\"],\r\n\t\t\t\tvideoPath:'',\r\n\t\t\t\tHM:'0'\r\n\t\t\t}\r\n\t\t};\r\n\t</script>\r\n</head>\r\n<body version=\"140120\">\r\n<script type=\"text/javascript\">try{(function(flag){ if(!flag){return;} if(window.location.hash == '#m'){var exp = new Date();exp.setTime(exp.getTime() + 30 * 24 * 60 * 60 * 1000);document.cookie = \"pcm=1;expires=\" + exp.toGMTString() + \";path=/;domain=jd.com\";return;}else{var cook=document.cookie.match(new RegExp(\"(^| )pcm=([^;]*)(;|$)\"));var flag=false;if(cook&&cook.length>2&&unescape(cook[2])==\"1\"){flag=true;}} var userAgent = navigator.userAgent; if(userAgent){ userAgent = userAgent.toUpperCase();if(userAgent.indexOf(\"PAD\")>-1){return;} var mobilePhoneList = [\"IOS\",\"IPHONE\",\"ANDROID\",\"WINDOWS PHONE\"];for(var i=0,len=mobilePhoneList.length;i<len;i++){ if(userAgent.indexOf(mobilePhoneList[i])>-1){var url=\"http://m.jd.com/product/\"+pageConfig.product.skuid+\".html\";if(flag){pageConfig.product.showtouchurl=true;}else{window.location.href = url;}break;}}}})((function(){var json={\"6881\":3,\"1195\":3,\"10011\":3,\"6980\":3,\"12360\":3};if(json[pageConfig.product.cat[0]+\"\"]==1||json[pageConfig.product.cat[1]+\"\"]==2||json[pageConfig.product.cat[2]+\"\"]==3){return false;}else{return true;}})());}catch(e){}</script>\r\n<!-- header start -->\r\n<jsp:include page=\"../commons/header.jsp\" />\r\n<!-- header end -->\r\n<div class=\"w\">\r\n\t<div class=\"breadcrumb\">\r\n\t\t<strong><a href=\"http://channel.jd.com/electronic.html\">家用电器</a></strong><span>&nbsp;&gt;&nbsp;<a href=\"http://channel.jd.com/737-794.html\" >大 家 电</a>&nbsp;&gt;&nbsp;<a href=\"http://list.jd.com/737-794-798.html\" >平板电视</a>&nbsp;&gt;&nbsp;</span><script type=\"text/javascript\">pageConfig.product.cat=[737,794,798];</script><span><a href=\"http://www.jd.com/pinpai/798-20710.html\" >长虹（CHANGHONG）</a>&nbsp;&gt;&nbsp;<a href=\"http://item.jd.com/1221882.html\" >长虹LED42538ES</a></span>\r\n\t</div>\r\n</div><!--breadcrumb end-->\r\n<div class=\"w\">\r\n\t<div id=\"product-intro\" >\r\n\t\t<div id=\"name\">\r\n\t\t\t<h1>${item.title }</h1>\r\n\t\t\t<strong>${item.sellPoint}</strong>\r\n\t\t</div><!--name end-->\r\n\t\t<script type='text/javascript'>var warestatus = 1; var eleSkuIdKey =[];</script>\r\n\t\t<div class=\"clearfix\" clstag=\"shangpin|keycount|product|share\">\r\n<script type=\"text/javascript\">pageConfig.product.marketPrice='';</script>\r\n<ul id=\"summary\">\r\n\t<li id=\"summary-price\">\r\n\t\t<div class=\"dt\">咪&nbsp;购&nbsp;价：</div>\r\n\t\t<div class=\"dd\">\r\n\t\t\t<strong class=\"p-price\"  id=\"jd-price\">￥<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${item.price / 100 }\"/> </strong>\r\n\t\t\t<a id=\"notice-downp\" href=\"#none\" target=\"_blank\" clstag=\"shangpin|keycount|product|jiangjia\">(降价通知)</a>\r\n\t\t</div>\r\n\t</li>\r\n\t<li id=\"summary-market\"><div class=\"dt\">商品编号：</div><div class=\"dd\"><span>${item.id }</span></div></li>\r\n\t<li id=\"summary-grade\">\r\n\t\t<div class=\"dt\">商品评分：</div>\r\n\t\t<div class=\"dd\">\r\n\t\t\t<span class=\"star  sa0\"></span>\r\n\t\t\t<a href=\"#comment\"></a>\r\n\t\t</div>\r\n\t</li><!-- 商品评分-->\r\n\t<li id=\"summary-stock\" style=\"display: none;\">\r\n\t\t<div class=\"dt\">配&nbsp;送&nbsp;至：</div>\r\n\t\t<div class=\"dd\">\r\n\t\t\t<div id=\"store-selector\" class=\"\">\r\n\t\t\t\t<div class=\"text\"><div></div><b></b></div>\r\n\t\t\t\t<div class=\"content\">\t\t\t\r\n\t\t\t\t\t<span class=\"clr\"></span>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"close\" onclick=\"$('#store-selector').removeClass('hover')\"></div>\r\n\t\t\t</div><!--store-selector end-->\r\n\t\t\t<div id=\"store-prompt\"></div><!--store-prompt end--->\r\n\t\t</div>\r\n\t\t<span class=\"clr\"></span>\r\n\t</li>\r\n\t<li id=\"summary-service\" class=\"hide\">\r\n\t\t<div class=\"dt\">服&#x3000;&#x3000;务：</div>\r\n\t\t<div class=\"dd\">由 咪购 发货并提供售后服务。</div>\r\n\t</li>\r\n\t<li id=\"summary-tips\"  class=\"hide\">\r\n\t\t<div class=\"dt\">温馨提示：</div>\r\n\t\t<div class=\"dd\"></div>\r\n\t</li>\r\n\t<li id=\"summary-gifts\"  class=\"hide\">\r\n\t\t<div class=\"dt\">赠&#x3000;&#x3000;品：</div>\r\n\t\t<div class=\"dd\"></div>\r\n\t</li>\r\n\t<li id=\"summary-promotion-extra\" class=\"none\">\r\n\t\t<div class=\"dt\">促销信息：</div>\r\n\t\t<div class=\"dd\"></div>\r\n\t</li>\r\n</ul><!--summary end-->\r\n\t\t<div id=\"brand-bar\" clstag=\"shangpin|keycount|product|btn-coll\">\r\n\t<dl class=\"slogens\">\r\n\t\t<dt>咪购·正品保证</dt>\r\n\t\t<dd class=\"fore1\">\r\n\t\t\t<a target=\"_blank\" href=\"http://help.360buy.com/help/question-67.html\"><b></b><span>货到</span><span>付款</span></a>\r\n\t\t</dd>\r\n\t\t<dd class=\"fore2\"></dd>\r\n\t\t<dd class=\"fore3\"><a target=\"_blank\" href=\"http://help.360buy.com/help/question-65.html\"><b></b><span>满39</span><span>免运费</span></a></dd>\r\n\t\t<dd class=\"fore4\"></dd>\r\n\t\t<dd class=\"fore5\"><a target=\"_blank\" href=\"http://help.360buy.com/help/question-97.html\"><b></b><span>售后</span><span>上门</span></a></dd>\r\n\t</dl>\r\n\t <div class=\"seller hide\">\r\n\t\t    <p class=\"seller-link\"></p>\r\n\t\t\t<p id=\"evaluate\">\r\n\t\t        <em class=\"dt\">服务评价：</em>\r\n\t\t        <span class=\"heart-white\"><span class=\"heart-red h4\">&nbsp;</span></span>\r\n\t\t        <em class=\"evaluate-grade\"></em>\r\n\t        </p>\r\n\t    </div> \r\n</div><!--brand-bar-->\r\n\t\t\t<ul id=\"choose\" clstag=\"shangpin|keycount|product|choose\">\r\n\t\t\t\t<li id='choose-type'></li><script type=\"text/javascript\"> var ColorSize = [{\"SkuId\":1221882,\"Size\":\"\",\"Color\":\"\"}];</script>\r\n\t\t\t\t\t\t\t\t<li id=\"choose-amount\">\r\n\t\t\t\t\t<div class=\"dt\">购买数量：</div>\r\n\t\t\t\t\t<div class=\"dd\">\r\n\t\t\t\t\t\t<div class=\"wrap-input\">\r\n\t\t\t\t\t\t\t\t<a class=\"btn-reduce\" href=\"javascript:;\" onclick=\"setAmount.reduce('#buy-num')\">减少数量</a>\r\n\t\t\t\t\t\t\t\t<a class=\"btn-add\" href=\"javascript:;\" onclick=\"setAmount.add('#buy-num')\">增加数量</a>\r\n\t\t\t\t\t\t\t\t<input class=\"text\" id=\"buy-num\" value=\"1\" onkeyup=\"setAmount.modify('#buy-num');\"/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</li>\r\n\t\t        <li id=\"choose-result\"><div class=\"dt\"></div><div class=\"dd\"></div></li>\r\n\t\t\t\t<li id=\"choose-btns\">\r\n\t\t\t\t\t<div id=\"choose-btn-append\"  class=\"btn\">\r\n\t\t\t\t\t\t\t<a class=\"btn-append \" id=\"InitCartUrl\" href=\"http://www.migo.com/cart/add/${item.id}.html\" clstag=\"shangpin|keycount|product|initcarturl\">加入购物车<b></b></a>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div id=\"choose-btn-easybuy\" class=\"btn\"></div>\r\n\t\t\t\t\t<div id=\"choose-btn-divide\" class=\"btn\"></div>\r\n\t\t\t\t</li>\r\n\t\t\t</ul><!--choose end-->\r\n\t\t\t<span class=\"clr\"></span>\r\n\t\t</div>\r\n\t\t\r\n\t\t<div id=\"preview\">\r\n\t\t\t<div id=\"spec-n1\" class=\"jqzoom\" clstag=\"shangpin|keycount|product|spec-n1\">\r\n\t\t\t\t<img data-img=\"1\" width=\"350\" height=\"350\" src=\"${item.images[0]}\" alt=\"${item.title}\"  jqimg=\"${item.images[0]}\"/>\r\n\t\t\t</div>\r\n\t\t\t\t\t\r\n\t\t\t<div id=\"spec-list\" clstag=\"shangpin|keycount|product|spec-n5\">\r\n\t\t\t\t<a href=\"javascript:;\" class=\"spec-control\" id=\"spec-forward\"></a>\r\n\t\t\t\t<a href=\"javascript:;\" class=\"spec-control\" id=\"spec-backward\"></a>\r\n\t\t\t\t<div class=\"spec-items\">\r\n\t\t\t\t\t<ul class=\"lh\">   \r\n\t\t\t\t\t\t<c:forEach items=\"${item.images}\" var=\"pic\" varStatus=\"status\">  \r\n\t\t\t\t\t\t\t<c:choose>\r\n\t\t\t\t\t\t\t\t<c:when test=\"${status.index == 0 }\">\r\n\t\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t\t\t\t<img data-img=\"1\" class=\"img-hover\"  alt=\"${item.title}\" src=\"${pic}\" width=\"50\" height=\"50\" data-url=\"${pic}\">\r\n\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t</c:when>\r\n\t\t\t\t\t\t\t\t<c:otherwise>\r\n\t\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t\t\t\t<img data-img=\"1\" alt=\"${item.title}\" src=\"${pic}\" width=\"50\" height=\"50\" data-url=\"${pic}\">\r\n\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t</c:otherwise>\r\n\t\t\t\t\t\t\t</c:choose>\r\n\t\t\t\t\t\t</c:forEach>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div id=\"short-share\">\r\n\t\t\t\t<div id=\"view-bigimg\" class=\"fl\"><b></b><a href=\"http://www.jd.com/bigimage.aspx?id=1221882\" target=\"_blank\">查看大图</a></div>\r\n\t\t\t\t<div id=\"share-list\" class=\"share-list\" clstag=\"shangpin|keycount|product|share\">\r\n\t<div class=\"share-bd\">\r\n\t\t<em class=\"share-hd\">分享到：</em>\r\n\t\t<ul class=\"share-list-item clearfix\">\r\n\t\t\t<li><a href=\"javascript:;\" id=\"site-sina\" title=\"分享到新浪微博\">新浪微博</a></li>\r\n\t\t\t<li><a href=\"javascript:;\" id=\"site-qq\" title=\"分享到给QQ好友\">QQ</a></li>\r\n\t\t\t<li><a href=\"javascript:;\" id=\"site-qzone\" title=\"分享到腾讯微博\">腾讯微博</a></li>\r\n\t\t\t<li><a href=\"javascript:;\" id=\"site-renren\" title=\"分享到人人网\">人人网</a></li>\r\n\t\t\t<li><a href=\"javascript:;\" id=\"site-kaixing\" title=\"分享到开心网\">开心网</a></li>\r\n\t\t\t<li><a href=\"javascript:;\" id=\"site-douban\" title=\"分享到豆瓣\">豆瓣</a></li>\r\n\t\t\t<li><a href=\"javascript:;\" id=\"site-msn\" title=\"分享给MSN好友\">MSN</a></li>\r\n\t\t\t<li><a href=\"javascript:;\" id=\"site-email\" title=\"邮件分享给好友\">邮件</a></li>\r\n\t\t</ul>\r\n\t</div>\r\n\t<div class=\"share-ft\"><b></b></div>\r\n</div>\r\n<div class=\"clb\"></div>\t\t\t\t\r\n\t\t\t</div>\r\n\t\t</div><!--preview end-->\r\n\t</div><!--product-intro end-->\r\n</div>\r\n<div class=\"w\">\r\n\t<div class=\"right\">\r\n\t\t<div id=\"product-detail\" class=\"m m1\" data-widget=\"tabs\" clstag=\"shangpin|keycount|product|detail\">\r\n\t\t\t<div class=\"mt\">\r\n\t\t\t\t<ul class=\"tab\">\r\n\t<li clstag=\"shangpin|keycount|product|pinfotab\" data-widget=\"tab-item\" class=\"curr\"><a href=\"javascript:;\" >商品介绍</a></li>\r\n\t<li clstag=\"shangpin|keycount|product|pcanshutab\" data-widget=\"tab-item\"><a href=\"javascript:;\" >规格参数</a></li>\r\n\t<li clstag=\"shangpin|keycount|product|packlisttab\" data-widget=\"tab-item\"><a href=\"javascript:;\" >包装清单</a></li>\r\n\t<li clstag=\"shangpin|keycount|product|pingjiatab\" data-widget=\"tab-item\"><a href=\"javascript:;\" >商品评价</a></li>\r\n\t<li clstag=\"shangpin|keycount|product|psaleservice\" data-widget=\"tab-item\"><a href=\"javascript:;\" >售后保障</a></li>\r\n\t<li clstag=\"shangpin|keycount|product|zhinan\" data-widget='tab-item'><a href='javascript:;'>京博士</a></li>\r\n</ul>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"mc\" data-widget=\"tab-content\" id=\"product-detail-1\">\r\n\t\t\t\t<ul class=\"detail-list\">\r\n\t\t\t\t\t<li title=\"长虹LED42538ES\">商品名称：长虹LED42538ES</li>\r\n\t\t\t\t\t<li>商品编号：1221882</li>\r\n\t\t\t\t\t<li>品牌：<a href=\"http://www.jd.com/pinpai/798-20710.html\" target=\"_blank\">长虹（CHANGHONG）</a></li>\r\n\t\t\t\t\t<li>上架时间：2014-09-24 15:45:26</li>\r\n\t\t\t\t\t<li>商品毛重：13.5kg</li>\r\n\t\t\t\t\t<li>商品产地：中国大陆</li>\r\n\t\t\t\t\t\t\t\t\t\t<li>分辨率：全高清（1920*1080）</li><li>居室场景：卧室电视 ，客厅电视</li><li>品类：LED电视（主流）</li><li>3D：不支持</li><li>功能：普通电视</li><li>尺寸：40-43英寸</li>\r\n\t\t\t\t</ul>\r\n\t\t\t\t<div class=\"detail-correction\">\r\n\t\t\t\t\t<b></b>如果您发现商品信息不准确，欢迎纠错\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"detail-content\">\r\n\t\t\t\t\t\t${itemDesc.itemDesc }\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"mc hide\" data-widget=\"tab-content\" id=\"product-detail-2\">\r\n\t\t\t\t${itemParam}\r\n\t\t\t</div>\r\n\t\t\t\t<div class=\"mc  hide\" data-widget=\"tab-content\" id=\"product-detail-3\">\r\n\t\t\t\t\t<div class=\"item-detail\">液晶电视×1、底座×1、遥控器×1、使用说明书×1、电源线×1</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"mc  hide\" data-widget=\"tab-content\" id=\"product-detail-4\">\r\n\t\t\t\t\t\r\n\t\t<div id=\"comment\" class=\"m m2\" style=\"width:989px\">\r\n            <div class=\"mt\">\r\n                <h2>商品评价</h2>\r\n            </div>\r\n            <div class=\"mc\" style=\"display: block;\">\r\n                <div class=\"loading-style1\"><b></b>加载中，请稍候...</div>\r\n            </div>\r\n        </div>\r\n\t\t\r\n\t\t<div id=\"comments-list\" class=\"m\" clstag=\"shangpin|keycount|product|comment\" style=\"float: left\">\r\n            <div class=\"mt\">\r\n                <div class=\"mt-inner m-tab-trigger-wrap clearfix\">\r\n                    <ul class=\"m-tab-trigger\">\r\n                        <li class=\"ui-switchable-item trig-item curr\" clstag=\"shangpin|keycount|product|allpingjia\"><a href=\"javascript:;\">全部评价<em>()</em></a></li>\r\n                        <li class=\"ui-switchable-item trig-item\" clstag=\"shangpin|keycount|product|haoping\"><a href=\"javascript:;\">好评<em>()</em></a></li>\r\n                        <li class=\"ui-switchable-item trig-item\" clstag=\"shangpin|keycount|product|zhongping\"><a href=\"javascript:;\">中评<em>()</em></a></li>\r\n                        <li class=\"ui-switchable-item trig-item\" clstag=\"shangpin|keycount|product|chaping\"><a href=\"javascript:;\">差评<em>()</em></a></li>\r\n                        <li class=\"ui-switchable-item trig-item\" clstag=\"shangpin|keycount|product|shaidantab\"><a href=\"javascript:;\">有图片的评价<em>()</em></a></li>\r\n                    </ul>\r\n                </div>\r\n            </div>\r\n            <div id=\"comment-0\" class=\"mc ui-switchable-panel comments-table\" >\r\n                <div class=\"loading-style1\"><b></b>加载中，请稍候...</div>\r\n            </div>            <div id=\"comment-1\" class=\"mc none ui-switchable-panel comments-table\" >\r\n                <div class=\"loading-style1\"><b></b>加载中，请稍候...</div>\r\n            </div>            <div id=\"comment-2\" class=\"mc none ui-switchable-panel comments-table\" >\r\n                <div class=\"loading-style1\"><b></b>加载中，请稍候...</div>\r\n            </div>            <div id=\"comment-3\" class=\"mc none ui-switchable-panel comments-table\" >\r\n                <div class=\"loading-style1\"><b></b>加载中，请稍候...</div>\r\n            </div>            <div id=\"comment-4\" class=\"mc none ui-switchable-panel comments-table\" >\r\n                <div class=\"loading-style1\"><b></b>加载中，请稍候...</div>\r\n            </div>       \r\n         </div>\r\n\t\t\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"mc hide \" data-widget=\"tab-content\" id=\"product-detail-5\">\r\n\t\t\t\t<div class=\"item-detail\">本产品全国联保，享受三包服务，质保期为：一年质保<br />本产品提供上门安装调试、提供上门检测和维修等售后服务，自收到商品之日起，如您所购买家电商品出现质量问题，请先联系厂家进行检测 ，凭厂商提供的故障检测证明，在“我的咪购-客户服务-返修退换货”页面提交退换申请，将有专业售后人员提供服务。咪购承诺您：30天内可为您退货或换货，180天内无需修理直接换货，超过180天按国家三包规定享受服务。<br />您可以查询本品牌在各地售后服务中心的联系方式，<a  class=\"link_1\" href=\"http://www.changhong.com\">请点击这儿查询......</a><br />\r\n\t\t\t\t\t\t<br/>售后服务电话：400-811-1666<br/>品牌官方网站：<a href=\"http://www.changhong.com\" target=\"_blank\">http://www.changhong.com</a>\r\n\r\n\t\t\t\t\t\t</div></div><div id=\"product-detail-6\" class=\"mc hide\" data-widget=\"tab-content\"></div>\r\n\t\t\t<!--知识库二级标签、标题-->\r\n            <div id=\"promises\">\r\n\t<strong>服务承诺：</strong><br />\r\n\t咪购向您保证所售商品均为正品行货，咪购自营商品开具机打发票或电子发票。凭质保证书及咪购发票，可享受全国联保服务（奢侈品、钟表除外；奢侈品、钟表由咪购联系保修，享受法定三包售后服务），与您亲临商场选购的商品享受相同的质量保证。咪购还为您提供具有竞争力的商品价格和<a href=\"http://www.jd.com/help/kdexpress.aspx\" target=\"_blank\">运费政策</a>，请您放心购买！\r\n\t<br /><br />\r\n\t注：因厂家会在没有任何提前通知的情况下更改产品包装、产地或者一些附件，本司不能确保客户收到的货物与商城图片、产地、附件说明完全一致。只能确保为原厂正货！并且保证与当时市场上同样主流新品一致。若本商城没有及时更新，请大家谅解！ \r\n\t</div>\r\n\t<div id=\"state\">\r\n\t\t<strong>权利声明：</strong><br />咪购上的所有商品信息、客户评价、商品咨询、网友讨论等内容，是咪购重要的经营资源，未经许可，禁止非法转载使用。\r\n\t\t<p><b>注：</b>本站商品信息均来自于合作方，其真实性、准确性和合法性由信息拥有者（合作方）负责。本站不提供任何保证，并不承担任何法律责任。</p>\r\n\t</div>\r\n\t\t</div><!--product-detail end-->\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t</div><!--right end-->\r\n\t\r\n\t<div class=\"left\">\r\n\t\t\r\n\t</div><!--left end-->\r\n\t<span class=\"clr\"></span>\r\n</div>\r\n<!-- footer start -->\r\n<jsp:include page=\"../commons/footer.jsp\" />\r\n<!-- footer end -->\r\n<script type=\"text/javascript\" src=\"/js/jquery-1.2.6.min.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/lib-v1.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/product.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/iplocation_server.js\"></script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/login.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\"/>\r\n    <title>登录咪购</title>\r\n    <link type=\"text/css\" rel=\"stylesheet\" href=\"/css/login.css\"/>\r\n    <script type=\"text/javascript\" src=\"/js/jquery-1.2.6.min.js\"></script>\r\n    <script type=\"text/javascript\" src=\"/js/login/g.base.js\"></script>\r\n   \t<script type=\"text/javascript\" src=\"/js/login/jdEdit.js\"></script>\r\n    <script type=\"text/javascript\">\r\n        var pgeditor = new jQuery.pge({\r\n            pgePath: \"#\",\r\n            pgeId: \"_ocx_password\",\r\n            pgeEdittype: 0,\r\n            pgeEreg1: \"\",\r\n            pgeEreg2: \"\",\r\n            pgeMaxlength: 20,\r\n            pgeTabindex: 2,\r\n            pgeClass: \"text_pge\",\r\n            pgeInstallClass: \"text_pge\",\r\n            pgeOnkeydown:\"$('#loginsubmit').click();\",\r\n            tabCallback:\"authcode\"\r\n        });\r\n        window.onload = function(){\r\n            pgeditor.pgInitialize();\r\n        }\r\n    </script>\r\n        <script type=\"text/javascript\">\r\n            $(function(){\r\n                if(pgeditor.checkInstall()){\r\n                    $(\"#chkOpenCtrl\").attr(\"checked\",true);\r\n                    $(\"#nloginpwd\").hide();\r\n                    $(\"#sloginpwd\").show();\r\n                    if(pgeditor.checkUpdate()==1){\r\n                        $(\"#updata\").show();\r\n                    }\r\n                }\r\n            })\r\n        </script>\r\n    \r\n</head>\r\n<body>\r\n<div class=\"w\">\r\n    <div id=\"logo\">\r\n    \t<a href=\"http://www.migo.com/\" clstag=\"passport|keycount|login|01\">\r\n    \t\t<img src=\"/images/migo-logo.gif\" alt=\"咪购\" width=\"170\" height=\"60\"/>\r\n    \t</a><b></b>\r\n   \t</div>\r\n</div>\r\n<form id=\"formlogin\" method=\"post\" onsubmit=\"return false;\">\r\n    <input type=\"hidden\" id=\"uuid\" name=\"uuid\" value=\"1359c13d-7daa-4a2a-972d-f09e09e6605a\"/>\r\n    <div class=\" w1\" id=\"entry\">\r\n        <div class=\"mc \" id=\"bgDiv\">\r\n            <div id=\"entry-bg\" clstag=\"passport|keycount|login|02\" style=\"width: 511px; height: 455px; position: absolute; left: -44px; top: -44px; background: url(/images/544a11d3Na5a3d566.png) 0px 0px no-repeat;\">\r\n\t\t\t</div>\r\n            <div class=\"form \">\r\n                <div class=\"item fore1\">\r\n                    <span>用户名/已验证手机</span>\r\n                    <div class=\"item-ifo\">\r\n                        <input type=\"text\" id=\"loginname\" name=\"username\" class=\"text\"  tabindex=\"1\" autocomplete=\"off\"/>\r\n                        <div class=\"i-name ico\"></div>\r\n                        <label id=\"loginname_succeed\" class=\"blank invisible\"></label>\r\n                        <label id=\"loginname_error\" class=\"hide\"><b></b></label>\r\n                    </div>\r\n                </div>\r\n                <script type=\"text/javascript\">\r\n                    setTimeout(function () {\r\n                        if (!$(\"#loginname\").val()) {\r\n                            $(\"#loginname\").get(0).focus();\r\n                        }\r\n                    }, 0);\r\n                </script>\r\n                <div id=\"capslock\"><i></i><s></s>键盘大写锁定已打开，请注意大小写</div>\r\n                <div class=\"item fore2\">\r\n                    <span>密码</span>\r\n                    <div class=\"item-ifo\">\r\n                        <label id=\"sloginpwd\" style=\"display: none;\">\r\n                            <script type=\"text/javascript\">pgeditor.generate()</script>\r\n                        </label>\r\n                        <input type=\"password\" id=\"nloginpwd\" name=\"password\" class=\"text\" tabindex=\"2\" autocomplete=\"off\"/>\r\n                        <input type=\"hidden\" name=\"loginpwd\" id=\"loginpwd\" value=\"\" class=\"hide\" />\r\n\r\n                        <div class=\"i-pass ico\"></div>\r\n                        <label id=\"loginpwd_succeed\" class=\"blank invisible\"></label>\r\n                        <label id=\"loginpwd_error\" class=\"hide\"></label>\r\n                        <script type=\"text/javascript\">\r\n\t\t\t\t\t\t\t$('#nloginpwd')[0].onkeypress = function(event){\r\n\t\t\t\t\t\t\t\tvar e = event||window.event,\r\n\t\t\t\t\t\t\t\t$tip = $('#capslock'),\r\n\t\t\t\t\t\t\t\tkc  =  e.keyCode||e.which, // 按键的keyCode\r\n\t\t\t\t\t\t\t\tisShift  =  e.shiftKey ||(kc  ==   16 ) || false ; // shift键是否按住\r\n\t\t\t\t\t\t\t\tif (((kc >=65&&kc<=90)&&!isShift)|| ((kc >=97&&kc<=122)&&isShift)){\r\n\t\t\t\t\t\t\t\t\t$tip.show();\r\n\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\t$tip.hide();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t};\r\n                        </script>\r\n                    </div>\r\n                </div>\r\n                <input type=\"hidden\" name=\"machineNet\" id=\"machineNet\" value=\"\" class=\"hide\"/>\r\n                <input type=\"hidden\" name=\"machineCpu\" id=\"machineCpu\" value=\"\" class=\"hide\"/>\r\n                <input type=\"hidden\" name=\"machineDisk\" id=\"machineDisk\" value=\"\" class=\"hide\"/>\r\n                \r\n                <div class=\"item fore3  hide \" id=\"o-authcode\">\r\n                    <span>验证码</span>\r\n\r\n                    <div class=\"item-ifo\">\r\n                        <input type=\"text\" id=\"authcode\" class=\"text text-1\" name=\"authcode\" tabindex=\"6\" style=\"ime-mode:disabled\"/>\r\n                        <label class=\"img\">\r\n                            <img style=\"cursor:pointer;width:100px;height:33px;display:block;\"\r\n                                 src2=\"https://authcode.jd.com/verify/image?a=1&amp;acid=1359c13d-7daa-4a2a-972d-f09e09e6605a&amp;uid=1359c13d-7daa-4a2a-972d-f09e09e6605a\"\r\n                                                                 onclick=\"this.src= document.location.protocol +'//authcode.jd.com/verify/image?a=1&amp;acid=1359c13d-7daa-4a2a-972d-f09e09e6605a&amp;uid=1359c13d-7daa-4a2a-972d-f09e09e6605a&amp;yys='+new Date().getTime();$('#authcode').val('');\"\r\n                                 ver_colorofnoisepoint=\"#888888\" id=\"JD_Verification1\">\r\n                        </label>\r\n                        <label class=\"ftx23 hline\">看不清？<br><a href=\"javascript:void(0)\" class=\"flk13\"\r\n                                                              onclick=\"jQuery('#JD_Verification1').click();\">换一张</a></label>\r\n                        <label id=\"authcode_succeed\" class=\"blank invisible\"></label>\r\n                        <label id=\"authcode_error\" class=\"hide\"></label>\r\n                    </div>\r\n                </div>\r\n                <div class=\"item fore4 hide\" id=\"autoentry\">\r\n                    <div class=\"item-ifo\">\r\n                        <input type=\"checkbox\" class=\"checkbox\" name=\"chkRememberMe\" clstag=\"passport|keycount|login|04\"/>\r\n                        <label class=\"mar\">自动登录</label>\r\n                                                <div style=\"float:left;\" id=\"ctrlDiv\">\r\n                            <input type=\"checkbox\" class=\"checkbox\" id=\"chkOpenCtrl\" name=\"chkOpenCtrl\" onclick=\"javascript:inputSelect();\"/>\r\n                            <label class=\"mar\" id=\"jdsafe\">安全控件登录<div class=\"tip-safe\" style=\"display:none;\" id=\"tip-safe\">安全控件可提高账户安全性，加密保护您的密码。</div></label>\r\n                        </div>\r\n                                                <label><a href=\"http://safe.jd.com/findPwd/index.action\" class=\"\" clstag=\"passport|keycount|login|05\">忘记密码?</a></label>\r\n                        <div class=\"clr\"></div>\r\n                    </div>\r\n                    <div class=\"updata\" id=\"updata\" style=\"display:none;\">安全控件升级了!<a href=\"javascript:void(0);\" onclick=\"updateCtl()\" class=\"up-two\"></a>立即更新</a> <a class=\"up-one\" href=\"javascript:void(0);\" onclick=\"$('#updata').hide();\"></a></div>\r\n\r\n                </div>\r\n                <div class=\"item login-btn2013\">\r\n                    <input type=\"button\" class=\"btn-img btn-entry\" id=\"loginsubmit\" value=\"登录\" tabindex=\"8\" clstag=\"passport|keycount|login|06\"/>\r\n                </div>\r\n            </div>\r\n                <div class=\"coagent hide\" clstag=\"passport|keycount|login|07\">\r\n                    <label class=\"ftx24\">\r\n                        使用合作网站账号登录咪购：\r\n                        <span class=\"clr\"></span><input type=\"hidden\" name=\"KbmPxRtWsz\" value=\"IMdug\" />\r\n                    <span class=\"btns qq\"><s></s> <a href=\"javascript:void(0)\"\r\n                                                     onclick=\"window.location='http://qq.jd.com/new/qq/login.aspx'+window.location.search;return false;\">QQ</a></span>\r\n                        <dl class=\"btns more-slide\">\r\n                            <dt><b>其它</b></dt>\r\n                            <dd>\r\n\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/netease/login.action'+window.location.search;return false;\">网易</a>\t\t\t   \r\n\t\t\t\t\t\t\t\t<a style=\"margin-left:30px;\" href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/renren/login.action'+window.location.search;return false;\">人人</a>\r\n\t\t\t\t\t\t\t\t<br>\r\n\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/douban/login.action'+window.location.search;return false;\">豆瓣</a>\r\n\t\t\t\t\t\t\t\t<a style=\"margin-left:30px;\" href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/sohu/login.action'+window.location.search;return false;\">搜狐</a>\r\n                                <br>\r\n\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/kaixin001/login.action'+window.location.search;return false;\">开心</a>\r\n\t\t\t\t\t\t\t\t<a style=\"margin-left:30px;\" href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/alipay/login.aspx'+window.location.search;return false;\">支付宝</a>\r\n\t\t\t\t\t\t\t\t<br>\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/qihao/login.action'+window.location.search;return false;\">奇虎360</a>\r\n\t\t\t\t\t\t\t\t<a style=\"margin-left:10px;\" href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/sina/login.action'+window.location.search;return false;\">新浪微博</a>\r\n                            </dd>\r\n                        </dl>\r\n                        <a id=\"kx001_btn_login\" style=\"display:none\"></a>\r\n                    </label>\r\n                </div>\r\n        </div>\r\n        <div class=\"free-regist\">\r\n            <span><a href=\"http://www.migo.com/user/register.html\" clstag=\"passport|keycount|login|08\">免费注册&gt;&gt;</a></span>\r\n        </div>\r\n    </div>\r\n</form>\r\n<div class=\"w1\">\r\n    <div id=\"mb-bg\" class=\"mb\"></div>\r\n</div>\r\n<div class=\"w\">\r\n\t<!-- links start -->\r\n    <jsp:include page=\"../commons/footer-links.jsp\"></jsp:include>\r\n    <!-- links end -->\r\n</div>\r\n<script type=\"text/javascript\" src=\"/js/login/login.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/login/jdThickBox.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/login/checkClient.js\"></script>\r\n<script>\r\n   $(\"#jdsafe\").hover(function () {\r\n       $(\"#tip-safe\").show();\r\n   }, function () {\r\n       $(\"#tip-safe\").hide();\r\n   });\r\n   $('.more-slide').bind('mouseenter mouseleave', function() {\r\n       $(this).toggleClass('hover');\r\n   });\r\n</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/my-info-img.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<%@ taglib prefix=\"c\" uri=\"http://java.sun.com/jsp/jstl/core\" %>\r\n<%@ taglib prefix=\"fmt\" uri=\"http://java.sun.com/jsp/jstl/fmt\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n<meta http-equiv=\"Cache-Control\" content=\"max-age=300\" />\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\r\n<title>我的信息 - 咪购</title>\r\n<meta name=\"Keywords\" content=\"java,咪购java\" />\r\n<meta name=\"description\" content=\"在咪购中找到了29910件java的类似商品，其中包含了“图书”，“电子书”，“教育音像”，“骑行运动”等类型的java的商品。\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/base.css\" media=\"all\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/myjd.common.css\" media=\"all\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/myjd.info.css\" media=\"all\" />\r\n<script type=\"text/javascript\" src=\"/js/jquery-1.2.6.min.js\"></script>\r\n</head>\r\n<body>\r\n<script type=\"text/javascript\" src=\"/js/base-2011.js\" charset=\"utf-8\"></script>\r\n<!-- header start -->\r\n<jsp:include page=\"../commons/header.jsp\" />\r\n<!-- header end -->\r\n\r\n<div id=\"container\">\r\n<div class=\"w\">\r\n\t\r\n<div id=\"main\">\r\n    <div class=\"g-0\">\r\n        <div id=\"content\" class=\"c-3-5\">\r\n            <div class=\"mod-main\">\r\n\t\t\t\t\t\t<div class=\"mt\">\r\n\t\t\t\t\t\t\t<ul class=\"extra-l\">\r\n\t\t\t\t\t\t\t\t<li class=\"fore-1\"><a href=\"http://i.jd.com/user/info\">基本信息</a></li>\r\n                                <li class=\"fore-2\"><a class=\"curr\" href=\"http://i.jd.com/user/userinfo/showImg.html\">头像照片</a></li>\r\n                                <li class=\"fore-3\"><a href=\"http://i.jd.com/user/userinfo/more.html\">更多个人信息</a></li>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"mc update-face-cont\">\r\n\t\t\t\t\t\t\t<div class=\"update-lcol\">\r\n\t\t\t\t\t\t\t\t<div class=\"mb10\">\r\n\t\t\t\t\t\t\t\t\t<object id=\"SWFUpload_0\" type=\"application/x-shockwave-flash\" data=\"/images/swfupload.swf?preventswfcaching=1419921680918\" width=\"202\" height=\"34\" class=\"swfupload\"><param name=\"wmode\" value=\"window\"><param name=\"movie\" value=\"http://i.jd.com/commons/swfupload.swf?preventswfcaching=1419921680918\"><param name=\"quality\" value=\"high\"><param name=\"menu\" value=\"false\"><param name=\"allowScriptAccess\" value=\"always\"><param name=\"flashvars\" value=\"movieName=SWFUpload_0&amp;uploadURL=http%3A%2F%2Fi.jd.com%2Fuser%2Fupload%2Fimage.action&amp;useQueryString=false&amp;requeueOnError=false&amp;httpSuccess=&amp;assumeSuccessTimeout=0&amp;params=flashuploadimg%3D7CBF7B70DBDBBBF7B6BF2E4979C16E3DDBCA1CA3FD4B7B76AFB5AC2FF83DB5FD1828AC00799C2184C2642652C4D4686AF1FE36E49D3477A3FF34E056B55731C8D1309AD7D3C918887F2D5A6A5B1CD053F254F6D7B09273591B9C43BA085F5CA0881A9EE6F629AEB44D051A9288A126A71FC1D3F53A64DC49E71359C1D776480A&amp;filePostName=file&amp;fileTypes=*.jpg%3B*.gif%3B*.png%3B*.jpeg%3B*.bmp&amp;fileTypesDescription=img&amp;fileSizeLimit=4%20MB&amp;fileUploadLimit=0&amp;fileQueueLimit=0&amp;debugEnabled=false&amp;buttonImageURL=/images/perfect_bg.jpg&amp;buttonWidth=202&amp;buttonHeight=34&amp;buttonText=&amp;buttonTextTopPadding=0&amp;buttonTextLeftPadding=0&amp;buttonTextStyle=color%3A%20%23000000%3B%20font-size%3A%2016pt%3B&amp;buttonAction=-100&amp;buttonDisabled=false&amp;buttonCursor=-1\"></object>\r\n\t\t\t\t\t\t\t\t\t<img id=\"loading\" class=\"float:left\" src=\"/images/loading.gif\" style=\"display:none\">\r\n\t\t\t\t\t\t\t\t\t<div id=\"messages\" style=\"border:1px solid #DB9A9A;background-color:#FFE8E8;color:#CC0000;text-align: left;display:none\"></div>\r\n\t\t\t\t\t\t\t\t\t<input id=\"btnCancel\" type=\"hidden\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"ftx03\">仅支持JPG、GIF、PNG、JPEG、BMP格式，文件小于4M</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"img-b-cont img-cont \">\r\n\t\t\t\t\t\t\t\t\t<!--<div class=\"tip\">编辑预览区</div>-->\r\n\t\t\t\t\t\t\t\t\t<div class=\"img-b\">\r\n\t\t\t\t\t\t\t\t\t\t<img id=\"bigImage\" name=\"bigImage\" alt=\"\" width=\"150\" height=\"150\" src=\"/images/defaultImgs/1.jpg\">\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"smt\"><h3>推荐头像</h3></div>\r\n\t\t\t\t\t\t\t\t<div class=\"smc face-list\">\r\n\t\t\t\t\t\t\t\t\t<ul class=\"imgUl\">\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"1\"><img src=\"/images/defaultImgs/1.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"2\"><img src=\"/images/defaultImgs/2.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"3\"><img src=\"/images/defaultImgs/3.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"4\"><img src=\"/images/defaultImgs/4.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"5\"><img src=\"/images/defaultImgs/5.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"6\"><img src=\"/images/defaultImgs/6.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"7\"><img src=\"/images/defaultImgs/7.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"8\"><img src=\"/images/defaultImgs/8.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"9\"><img src=\"/images/defaultImgs/9.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"10\"><img src=\"/images/defaultImgs/10.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"11\"><img src=\"/images/defaultImgs/11.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"12\"><img src=\"/images/defaultImgs/12.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"13\"><img src=\"/images/defaultImgs/13.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"14\"><img src=\"/images/defaultImgs/14.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"15\"><img src=\"/images/defaultImgs/15.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t\t<li value=\"16\"><img src=\"/images/defaultImgs/16.jpg\" alt=\"\" width=\"50\" height=\"50\"><b></b></li>\r\n\t\t\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t\t\t\t<div class=\"btns mt20\">\r\n\t\t\t\t\t\t\t\t\t   <a href=\"javascript:void(0)\" class=\"btn-5 mr10\" onclick=\"uploadDefaultImg()\">保存</a>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"update-rcol\">\r\n\t\t\t\t\t\t\t\t<div class=\"smt\"><h3>效果预览</h3></div>\r\n\t\t\t\t\t\t\t\t<div class=\"smc\">\r\n\t\t\t\t\t\t\t\t\t你上传的图片会自动生成2种尺寸，请注意小尺寸的头像是否清晰\r\n\t\t\t\t\t\t\t\t\t<div class=\"img-m-cont img-cont\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"img-s\">\r\n\t\t\t\t\t\t\t\t\t    <img id=\"midImage\" width=\"100\" height=\"100\" name=\"midImage\" src=\"/images/defaultImgs/1.jpg\">\r\n                                        </div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t100*100像素\r\n\t\t\t\t\t\t\t\t\t<div class=\"img-s-cont img-cont\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"img-s\">\r\n\t\t\t\t\t\t\t\t\t\t<img id=\"smaImage\" width=\"50\" height=\"50\" name=\"smaImage\" src=\"/images/defaultImgs/1.jpg\">\r\n                                        </div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t50*50像素\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"clr\"></div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n        </div>\r\n    </div>\r\n    <div id=\"left\" class=\"g-3-5 c-0\">\r\n        <!--js 加载异步加载的左侧菜单 -->\r\n    <div id=\"menu\"><h3>我的交易</h3><dl class=\"fore1\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hdd\" id=\"_MYJD_ordercenter\" href=\"http://order.jd.com/center/list.action\" class=\"curr\">我的订单</a></dt></dl><dl class=\"fore2\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hyushou\" id=\"_MYJD_yushou\" href=\"http://yushou.jd.com/member/qualificationList.action\">我的预售</a></dt></dl><dl class=\"fore3\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hbdsh\" id=\"_MYJD_locallife\" href=\"http://life.jd.com/localOrder/iniOrder.do\">我的本地生活</a></dt></dl><dl class=\"fore4\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hdqs\" id=\"_MYJD_ding\" href=\"http://ding.jd.com/plan/showPlans.action\">我的定期送</a></dt></dl><dl class=\"fore5\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|htg\" id=\"_MYJD_tuan\" href=\"http://tuan.jd.com/order/index.php\">我的团购</a></dt></dl><dl class=\"fore6\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hjg\" id=\"_MYJD_protection\" href=\"http://jiabao.jd.com/protecting\">价格保护</a></dt></dl><dl class=\"fore7\"><dt class=\"hc\"><b></b><a target=\"_blank\" id=\"_MYJD_gz\" href=\"#none\">我的关注</a></dt><dd class=\"fore1\"><div class=\"item\" id=\"_MYJD_product\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hgz\" href=\"http://t.jd.com/home/follow\">关注的商品</a></div></dd><dd class=\"fore2\"><div class=\"item\" id=\"_MYJD_vender\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hdp\" href=\"http://t.jd.com/vender/followVenderList.action\">关注的店铺</a></div></dd><dd class=\"fore3\"><div class=\"item\" id=\"_MYJD_activity\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hhd\" href=\"http://t.jd.com/activity/followActivityList.action\">关注的活动</a></div></dd><dd class=\"fore4 last \"><div class=\"item\" id=\"_MYJD_history\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hll\" href=\"http://my.jd.com/history/list.html\">浏览历史&nbsp;<img width=\"24\" height=\"11\" src=\"/images/myjd-new-ico.png\"></a></div></dd></dl><dl class=\"fore8\"><dt class=\"hc\"><b></b><a target=\"_blank\" id=\"_MYJD_zc\" href=\"#none\">我的资产</a></dt><dd class=\"fore1\"><div class=\"item\" id=\"_MYJD_cashbox\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hjk\" href=\"http://jinku.pay.jd.com/xjk/income.action\">我的小金库</a></div></dd><dd class=\"fore2\"><div class=\"item\" id=\"_MYJD_credit\"><a clstag=\"homepage|keycount|home2013|hbt\" tag=\"213\" href=\"http://baitiao.jd.com/creditUser/record\">京东白条</a>&nbsp;</div></dd><dd class=\"fore3\"><div class=\"item\" id=\"_MYJD_tx\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|htx\" href=\"http://mobile.jd.com/yyswt/myjd.do\">京东通信</a></div></dd><dd class=\"fore4\"><div class=\"item\" id=\"_MYJD_balance\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hye\" href=\"http://mymoney.jd.com/finance/recently.action\">余额</a></div></dd><dd class=\"fore5\"><div class=\"item\" id=\"_MYJD_ticket\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hyh\" href=\"http://quan.jd.com/user_quan.action\">优惠券</a></div></dd><dd class=\"fore6\"><div class=\"item\" id=\"_MYJD_card\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|he\" href=\"http://giftcard.jd.com/giftcard/index.action\">京东卡/E卡</a></div></dd><dd class=\"fore7 last\"><div class=\"item\" id=\"_MYJD_bean\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hjd\" href=\"http://bean.jd.com/myJingBean/list\">京豆</a></div></dd></dl><dl class=\"fore9 last \"><dt class=\"hc\"><b></b><a target=\"_blank\" id=\"_MYJD_fw\" href=\"#none\">客户服务</a></dt><dd class=\"fore1\"><div class=\"item\" id=\"_MYJD_repair\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hfx\" href=\"http://myjd.jd.com/repair/orderlist.action\">返修退换货</a></div></dd><dd class=\"fore2\"><div class=\"item\" id=\"_MYJD_refundment\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hqx\" href=\"http://rps.fm.jd.com/rest/refund/refundList\">取消订单记录</a></div></dd><dd class=\"fore3 last \"><div class=\"item\" id=\"_MYJD_complaint\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|htx\" href=\"http://myjd.jd.com/opinion/orderList.action\">我的投诉</a></div></dd></dl></div><div id=\"da-game\" class=\"da-box m\"><a href=\"http://c.nfa.jd.com/adclick?sid=14&amp;cid=720&amp;aid=4497&amp;bid=0&amp;unit=85943&amp;advid=131939&amp;guv=&amp;url=http://wan.jd.com/yeyou/play.html?gameId=86&amp;gateWayId=s40\"><img width=\"100%\" src=\"/images/547e6a57N75c2f016.gif\" alt=\"\"></a></div><div id=\"da-home\" class=\"da-box\"><a href=\"http://c.nfa.jd.com/adclick?sid=2&amp;cid=102&amp;aid=413&amp;bid=8305&amp;unit=65429&amp;advid=166662&amp;guv=&amp;url=http://vivoshop.jd.com\" target=\"_blank\"><img width=\"100%\" height=\"100%\" alt=\"\" app=\"image:poster\" src=\"/images/549d03d0N59b1f026.jpg\"></a></div></div>\r\n    <span class=\"clr\"></span>\r\n</div>\r\n</div>\r\n</div>\r\n\r\n<!-- footer start -->\r\n<jsp:include page=\"../commons/footer.jsp\" />\r\n<!-- footer end -->\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/my-info-more.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<%@ taglib prefix=\"c\" uri=\"http://java.sun.com/jsp/jstl/core\" %>\r\n<%@ taglib prefix=\"fmt\" uri=\"http://java.sun.com/jsp/jstl/fmt\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n<meta http-equiv=\"Cache-Control\" content=\"max-age=300\" />\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\r\n<title>我的信息 - 咪购</title>\r\n<meta name=\"Keywords\" content=\"java,咪购java\" />\r\n<meta name=\"description\" content=\"在咪购中找到了29910件java的类似商品，其中包含了“图书”，“电子书”，“教育音像”，“骑行运动”等类型的java的商品。\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/base.css\" media=\"all\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/myjd.common.css\" media=\"all\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/myjd.info.css\" media=\"all\" />\r\n<script type=\"text/javascript\" src=\"/js/jquery-1.2.6.min.js\"></script>\r\n</head>\r\n<body>\r\n<script type=\"text/javascript\" src=\"/js/base-2011.js\" charset=\"utf-8\"></script>\r\n<!-- header start -->\r\n<jsp:include page=\"../commons/header.jsp\" />\r\n<!-- header end -->\r\n\r\n<div id=\"container\">\r\n<div class=\"w\">\r\n\t\r\n<div id=\"main\">\r\n    <div class=\"g-0\">\r\n        <div id=\"content\" class=\"c-3-5\">\r\n            <div class=\"mod-main\">\r\n                        <div class=\"mt\">\r\n                            <ul class=\"extra-l\">\r\n                                <li class=\"fore-1\"><a href=\"http://i.jd.com/user/info\">基本信息</a></li>\r\n                                <li class=\"fore-2\"><a href=\"http://i.jd.com/user/userinfo/showImg.html\">头像照片</a></li>\r\n                                <li class=\"fore-3\"><a class=\"curr\" href=\"http://i.jd.com/user/userinfo/more.html\">更多个人信息</a></li>\r\n\t\t\t\t\t\t\t\t\r\n                            </ul>\r\n                        </div>\r\n                        <div class=\"mc\">\r\n                            <div class=\"user-set\">\r\n                                <div class=\"form\">\r\n\r\n                                    <div class=\"item\">\r\n                                        <span class=\"label\">婚姻状况：</span>\r\n                                        <div class=\"fl\">\r\n\t\t\t\t\t\t\t\t\t\t\t<input type=\"radio\" name=\"maritalStatus\" value=\"0\" checked=\"\" style=\"display:none\"> \r\n                                            <input type=\"radio\" name=\"maritalStatus\" class=\"jdradio\" value=\"1\"><label class=\"mr10\">未婚</label>\r\n                                            <input type=\"radio\" name=\"maritalStatus\" class=\"jdradio\" value=\"2\"><label class=\"mr10\">已婚</label>\r\n                                            <input type=\"radio\" name=\"maritalStatus\" class=\"jdradio\" value=\"3\"><label class=\"mr10\">保密</label>\r\n                                        </div>\r\n                                    </div>\r\n                                    <div class=\"item\">\r\n                                        <span class=\"label\">月收入：</span>\r\n                                        <div class=\"fl\">\r\n\t\t\t\t\t\t\t\t\t\t\t<select class=\"selt\" name=\"monthlyIncome\" id=\"monthlyIncome\"><option value=\"\">请选择</option><option value=\"1\">2000元以下</option><option value=\"2\">2000-3999元</option><option value=\"3\">4000-5999元</option><option value=\"4\">6000-7999元</option><option value=\"5\">8000元以上</option></select>\r\n                                        </div>\r\n                                    </div>\r\n                                    <div class=\"item\">\r\n                                        <span class=\"label\">身份证号码：</span>\r\n                                        <div class=\"fl\">\r\n                                            <div id=\"cidShowDiv\" style=\"\">\r\n                                                <strong>140******835</strong>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"smod\" href=\"javascript:showCidDiv()\">修改</a>\r\n                                            </div>\r\n                                            <div id=\"cidInputDIv\" style=\"display:none\">\r\n                                                <input name=\"userVo.cid\" id=\"cid\" value=\"140109198709195835\" maxlength=\"18\" type=\"text\" class=\"itxt\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"clr\"></div><div class=\"prompt-06\"><span id=\"cid_msg\"></span></div>\r\n                                            </div>\r\n                                        </div>\r\n                                    </div>\r\n                                    <div class=\"item\">\r\n                                        <span class=\"label\">教育程度：</span>\r\n                                        <div class=\"fl\">\r\n\t\t\t\t\t\t\t\t\t\t\t<select class=\"selt\" name=\"education\" id=\"education\"><option value=\"\">请选择</option><option value=\"1\">初中</option><option value=\"2\">高中</option><option value=\"3\">中专</option><option value=\"4\">大专</option><option value=\"5\">本科</option><option value=\"6\">硕士</option><option value=\"7\">博士</option><option value=\"8\">其他</option></select>\r\n                                        </div>\r\n                                    </div>\r\n                                    <div class=\"item\">\r\n                                        <span class=\"label\">所在行业：</span>\r\n                                        <div class=\"fl\">\r\n\t\t\t\t\t\t\t\t\t\t\t<select class=\"selt\" name=\"industryInfo\" id=\"industryInfo\"><option value=\"\">请选择</option><option value=\"1\">计算机硬件及网络设备</option><option value=\"2\">计算机软件</option><option value=\"3\">IT服务（系统/数据/维护）/多领域经营</option><option value=\"4\">互联网/电子商务</option><option value=\"5\">网络游戏</option><option value=\"6\">通讯（设备/运营/增值服务）</option><option value=\"7\">电子技术/半导体/集成电路</option><option value=\"8\">仪器仪表及工业自动化</option><option value=\"9\">金融/银行/投资/基金/证券</option><option value=\"10\">保险</option><option value=\"11\">房地产/建筑/建材/工程</option><option value=\"12\">家居/室内设计/装饰装潢</option><option value=\"13\">物业管理/商业中心</option><option value=\"14\">广告/会展/公关/市场推广</option><option value=\"15\">媒体/出版/影视/文化/艺术</option><option value=\"17\">咨询/管理产业/法律/财会</option><option value=\"16\">印刷/包装/造纸</option><option value=\"19\">检验/检测/认证</option><option value=\"18\">教育/培训</option><option value=\"21\">贸易/进出口</option><option value=\"20\">中介服务</option><option value=\"23\">快速消费品（食品/饮料/烟酒/化妆品</option><option value=\"22\">零售/批发</option><option value=\"25\">办公用品及设备</option><option value=\"24\">耐用消费品（服装服饰/纺织/皮革/家具/家电）</option><option value=\"27\">大型设备/机电设备/重工业</option><option value=\"26\">礼品/玩具/工艺美术/收藏品</option><option value=\"29\">汽车/摩托车（制造/维护/配件/销售/服务）</option><option value=\"28\">加工制造（原料加工/模具）</option><option value=\"31\">医药/生物工程</option><option value=\"30\">交通/运输/物流</option><option value=\"34\">酒店/餐饮</option><option value=\"35\">娱乐/体育/休闲</option><option value=\"32\">医疗/护理/美容/保健</option><option value=\"33\">医疗设备/器械</option><option value=\"38\">能源/矿产/采掘/冶炼</option><option value=\"39\">电气/电力/水利</option><option value=\"36\">旅游/度假</option><option value=\"37\">石油/石化/化工</option><option value=\"42\">政府/公共事业/非盈利机构</option><option value=\"43\">环保</option><option value=\"40\">航空/航天</option><option value=\"41\">学术/科研</option><option value=\"46\">其它</option><option value=\"44\">农/林/牧/渔</option><option value=\"45\">跨领域经营</option></select>\r\n                                        </div>\r\n                                    </div>\r\n\r\n                                    <div class=\"item\">\r\n                                        <span class=\"label\">&nbsp;</span>\r\n                                        <div class=\"fl\">\r\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"btn-5\" onclick=\"updateMoreUserInfo()\">保存</a>\r\n                                        </div>\r\n                                    </div>\r\n                                </div>\r\n                            </div>\r\n                            <div class=\"clr\"></div>\r\n                        </div>\r\n                    </div>\r\n        </div>\r\n    </div>\r\n    <div id=\"left\" class=\"g-3-5 c-0\">\r\n        <!--js 加载异步加载的左侧菜单 -->\r\n    <div id=\"menu\"><h3>我的交易</h3><dl class=\"fore1\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hdd\" id=\"_MYJD_ordercenter\" href=\"http://order.jd.com/center/list.action\" class=\"curr\">我的订单</a></dt></dl><dl class=\"fore2\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hyushou\" id=\"_MYJD_yushou\" href=\"http://yushou.jd.com/member/qualificationList.action\">我的预售</a></dt></dl><dl class=\"fore3\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hbdsh\" id=\"_MYJD_locallife\" href=\"http://life.jd.com/localOrder/iniOrder.do\">我的本地生活</a></dt></dl><dl class=\"fore4\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hdqs\" id=\"_MYJD_ding\" href=\"http://ding.jd.com/plan/showPlans.action\">我的定期送</a></dt></dl><dl class=\"fore5\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|htg\" id=\"_MYJD_tuan\" href=\"http://tuan.jd.com/order/index.php\">我的团购</a></dt></dl><dl class=\"fore6\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hjg\" id=\"_MYJD_protection\" href=\"http://jiabao.jd.com/protecting\">价格保护</a></dt></dl><dl class=\"fore7\"><dt class=\"hc\"><b></b><a target=\"_blank\" id=\"_MYJD_gz\" href=\"#none\">我的关注</a></dt><dd class=\"fore1\"><div class=\"item\" id=\"_MYJD_product\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hgz\" href=\"http://t.jd.com/home/follow\">关注的商品</a></div></dd><dd class=\"fore2\"><div class=\"item\" id=\"_MYJD_vender\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hdp\" href=\"http://t.jd.com/vender/followVenderList.action\">关注的店铺</a></div></dd><dd class=\"fore3\"><div class=\"item\" id=\"_MYJD_activity\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hhd\" href=\"http://t.jd.com/activity/followActivityList.action\">关注的活动</a></div></dd><dd class=\"fore4 last \"><div class=\"item\" id=\"_MYJD_history\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hll\" href=\"http://my.jd.com/history/list.html\">浏览历史&nbsp;<img width=\"24\" height=\"11\" src=\"/images/myjd-new-ico.png\"></a></div></dd></dl><dl class=\"fore8\"><dt class=\"hc\"><b></b><a target=\"_blank\" id=\"_MYJD_zc\" href=\"#none\">我的资产</a></dt><dd class=\"fore1\"><div class=\"item\" id=\"_MYJD_cashbox\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hjk\" href=\"http://jinku.pay.jd.com/xjk/income.action\">我的小金库</a></div></dd><dd class=\"fore2\"><div class=\"item\" id=\"_MYJD_credit\"><a clstag=\"homepage|keycount|home2013|hbt\" tag=\"213\" href=\"http://baitiao.jd.com/creditUser/record\">京东白条</a>&nbsp;</div></dd><dd class=\"fore3\"><div class=\"item\" id=\"_MYJD_tx\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|htx\" href=\"http://mobile.jd.com/yyswt/myjd.do\">京东通信</a></div></dd><dd class=\"fore4\"><div class=\"item\" id=\"_MYJD_balance\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hye\" href=\"http://mymoney.jd.com/finance/recently.action\">余额</a></div></dd><dd class=\"fore5\"><div class=\"item\" id=\"_MYJD_ticket\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hyh\" href=\"http://quan.jd.com/user_quan.action\">优惠券</a></div></dd><dd class=\"fore6\"><div class=\"item\" id=\"_MYJD_card\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|he\" href=\"http://giftcard.jd.com/giftcard/index.action\">京东卡/E卡</a></div></dd><dd class=\"fore7 last\"><div class=\"item\" id=\"_MYJD_bean\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hjd\" href=\"http://bean.jd.com/myJingBean/list\">京豆</a></div></dd></dl><dl class=\"fore9 last \"><dt class=\"hc\"><b></b><a target=\"_blank\" id=\"_MYJD_fw\" href=\"#none\">客户服务</a></dt><dd class=\"fore1\"><div class=\"item\" id=\"_MYJD_repair\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hfx\" href=\"http://myjd.jd.com/repair/orderlist.action\">返修退换货</a></div></dd><dd class=\"fore2\"><div class=\"item\" id=\"_MYJD_refundment\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hqx\" href=\"http://rps.fm.jd.com/rest/refund/refundList\">取消订单记录</a></div></dd><dd class=\"fore3 last \"><div class=\"item\" id=\"_MYJD_complaint\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|htx\" href=\"http://myjd.jd.com/opinion/orderList.action\">我的投诉</a></div></dd></dl></div><div id=\"da-game\" class=\"da-box m\"><a href=\"http://c.nfa.jd.com/adclick?sid=14&amp;cid=720&amp;aid=4497&amp;bid=0&amp;unit=85943&amp;advid=131939&amp;guv=&amp;url=http://wan.jd.com/yeyou/play.html?gameId=86&amp;gateWayId=s40\"><img width=\"100%\" src=\"/images/547e6a57N75c2f016.gif\" alt=\"\"></a></div><div id=\"da-home\" class=\"da-box\"><a href=\"http://c.nfa.jd.com/adclick?sid=2&amp;cid=102&amp;aid=413&amp;bid=8305&amp;unit=65429&amp;advid=166662&amp;guv=&amp;url=http://vivoshop.jd.com\" target=\"_blank\"><img width=\"100%\" height=\"100%\" alt=\"\" app=\"image:poster\" src=\"/images/549d03d0N59b1f026.jpg\"></a></div></div>\r\n    <span class=\"clr\"></span>\r\n</div>\r\n</div>\r\n</div>\r\n\r\n<!-- footer start -->\r\n<jsp:include page=\"../commons/footer.jsp\" />\r\n<!-- footer end -->\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/my-info.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<%@ taglib prefix=\"c\" uri=\"http://java.sun.com/jsp/jstl/core\" %>\r\n<%@ taglib prefix=\"fmt\" uri=\"http://java.sun.com/jsp/jstl/fmt\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n<meta http-equiv=\"Cache-Control\" content=\"max-age=300\" />\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\r\n<title>我的信息 - 咪购</title>\r\n<meta name=\"Keywords\" content=\"java,咪购java\" />\r\n<meta name=\"description\" content=\"在咪购中找到了29910件java的类似商品，其中包含了“图书”，“电子书”，“教育音像”，“骑行运动”等类型的java的商品。\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/base.css\" media=\"all\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/myjd.common.css\" media=\"all\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/myjd.info.css\" media=\"all\" />\r\n<script type=\"text/javascript\" src=\"/js/jquery-1.2.6.min.js\"></script>\r\n</head>\r\n<body>\r\n<script type=\"text/javascript\" src=\"/js/base-2011.js\" charset=\"utf-8\"></script>\r\n<!-- header start -->\r\n<jsp:include page=\"../commons/header.jsp\" />\r\n<!-- header end -->\r\n\r\n<div id=\"container\">\r\n<div class=\"w\">\r\n\t\r\n<div id=\"main\">\r\n    <div class=\"g-0\">\r\n        <div id=\"content\" class=\"c-3-5\">\r\n            \r\n\t\t\t<div class=\"mod-main\">\r\n                        <div class=\"mt\">\r\n                            <ul class=\"extra-l\">\r\n                                <li class=\"fore-1\"><a class=\"curr\" href=\"http://i.jd.com/user/info\">基本信息</a></li>\r\n                                <li class=\"fore-2\"><a href=\"http://i.jd.com/user/userinfo/showImg.html\">头像照片</a></li>\r\n                                <li class=\"fore-3\"><a href=\"http://i.jd.com/user/userinfo/more.html\">更多个人信息</a></li>\r\n                                \r\n                            </ul>\r\n                        </div>\r\n                        <div class=\"mc\">\r\n                            <div class=\"user-set userset-lcol\">\r\n                                <div class=\"form\">\r\n                                    <div class=\"item\">\r\n                                        <span class=\"label\"><em>*</em>昵称：</span>\r\n                                        <div class=\"fl\">\r\n                                            <input type=\"text\" class=\"itxt\" maxlength=\"20\" id=\"nickName\" name=\"userVo.nickName\" value=\"林中守望者\">\r\n                                            <div class=\"clr\"></div><div class=\"prompt-06\"><span id=\"nickName_msg\"></span></div>\r\n                                        </div>\r\n                                    </div>\r\n                                    <div class=\"item\">\r\n                                        <span class=\"label\"><em>*</em>性别：</span>\r\n                                        <div class=\"fl\">\r\n                                            <input type=\"radio\" name=\"sex\" class=\"jdradio\" value=\"0\"><label class=\"mr10\">男</label>\r\n                                            <input type=\"radio\" name=\"sex\" class=\"jdradio\" value=\"1\"><label class=\"mr10\">女</label>\r\n                                            <input type=\"radio\" name=\"sex\" class=\"jdradio\" value=\"2\"><label class=\"mr10\">保密</label>\r\n                                        </div>\r\n                                    </div>\r\n                                    <div class=\"item\">\r\n                                        <span class=\"label\">生日：</span>\r\n                                        <div class=\"fl birthday-info\">\r\n                                            <select name=\"\" class=\"selt selt1\" id=\"birthdayYear\"><option value=\"0\" disabled=\"\" selected=\"selected\">请选择：</option><option value=\"2014\">2014</option><option value=\"2013\">2013</option><option value=\"2012\">2012</option><option value=\"2011\">2011</option><option value=\"2010\">2010</option><option value=\"00后\">00后</option><option value=\"2009\">2009</option><option value=\"2008\">2008</option><option value=\"2007\">2007</option><option value=\"2006\">2006</option><option value=\"2005\">2005</option><option value=\"2004\">2004</option><option value=\"2003\">2003</option><option value=\"2002\">2002</option><option value=\"2001\">2001</option><option value=\"2000\">2000</option><option value=\"90后\">90后</option><option value=\"1999\">1999</option><option value=\"1998\">1998</option><option value=\"1997\">1997</option><option value=\"1996\">1996</option><option value=\"1995\">1995</option><option value=\"1994\">1994</option><option value=\"1993\">1993</option><option value=\"1992\">1992</option><option value=\"1991\">1991</option><option value=\"1990\">1990</option><option value=\"80后\">80后</option><option value=\"1989\">1989</option><option value=\"1988\">1988</option><option value=\"1987\">1987</option><option value=\"1986\">1986</option><option value=\"1985\">1985</option><option value=\"1984\">1984</option><option value=\"1983\">1983</option><option value=\"1982\">1982</option><option value=\"1981\">1981</option><option value=\"1980\">1980</option><option value=\"70后\">70后</option><option value=\"1979\">1979</option><option value=\"1978\">1978</option><option value=\"1977\">1977</option><option value=\"1976\">1976</option><option value=\"1975\">1975</option><option value=\"1974\">1974</option><option value=\"1973\">1973</option><option value=\"1972\">1972</option><option value=\"1971\">1971</option><option value=\"1970\">1970</option><option value=\"60后\">60后</option><option value=\"1969\">1969</option><option value=\"1968\">1968</option><option value=\"1967\">1967</option><option value=\"1966\">1966</option><option value=\"1965\">1965</option><option value=\"1964\">1964</option><option value=\"1963\">1963</option><option value=\"1962\">1962</option><option value=\"1961\">1961</option><option value=\"1960\">1960</option><option value=\"50后\">50后</option><option value=\"1959\">1959</option><option value=\"1958\">1958</option><option value=\"1957\">1957</option><option value=\"1956\">1956</option><option value=\"1955\">1955</option><option value=\"1954\">1954</option><option value=\"1953\">1953</option><option value=\"1952\">1952</option><option value=\"1951\">1951</option><option value=\"1950\">1950</option><option value=\"40后\">40后</option><option value=\"1949\">1949</option><option value=\"1948\">1948</option><option value=\"1947\">1947</option><option value=\"1946\">1946</option><option value=\"1945\">1945</option><option value=\"1944\">1944</option><option value=\"1943\">1943</option><option value=\"1942\">1942</option><option value=\"1941\">1941</option><option value=\"1940\">1940</option><option value=\"30后\">30后</option><option value=\"1939\">1939</option><option value=\"1938\">1938</option><option value=\"1937\">1937</option><option value=\"1936\">1936</option><option value=\"1935\">1935</option><option value=\"1934\">1934</option><option value=\"1933\">1933</option><option value=\"1932\">1932</option><option value=\"1931\">1931</option><option value=\"1930\">1930</option></select>\r\n                                            <label class=\"ml5 mr5\">年</label>\r\n                                            <select name=\"\" class=\"selt selt1\" id=\"birthdayMonth\"><option value=\"0\" disabled=\"\" selected=\"selected\">请选择：</option><option value=\"1\">1</option><option value=\"2\">2</option><option value=\"3\">3</option><option value=\"4\">4</option><option value=\"5\">5</option><option value=\"6\">6</option><option value=\"7\">7</option><option value=\"8\">8</option><option value=\"9\">9</option><option value=\"10\">10</option><option value=\"11\">11</option><option value=\"12\">12</option></select>\r\n                                            <label class=\"ml5 mr5\">月</label>\r\n                                            <select name=\"\" class=\"selt selt1\" id=\"birthdayDay\"><option value=\"1\">1</option><option value=\"2\">2</option><option value=\"3\">3</option><option value=\"4\">4</option><option value=\"5\">5</option><option value=\"6\">6</option><option value=\"7\">7</option><option value=\"8\">8</option><option value=\"9\">9</option><option value=\"10\">10</option><option value=\"11\">11</option><option value=\"12\">12</option><option value=\"13\">13</option><option value=\"14\">14</option><option value=\"15\">15</option><option value=\"16\">16</option><option value=\"17\">17</option><option value=\"18\">18</option><option value=\"19\">19</option><option value=\"20\">20</option><option value=\"21\">21</option><option value=\"22\">22</option><option value=\"23\">23</option><option value=\"24\">24</option><option value=\"25\">25</option><option value=\"26\">26</option><option value=\"27\">27</option><option value=\"28\">28</option></select>\r\n                                            <label class=\"ml5 mr5\">日</label>\r\n                                            <span class=\"ftx03\">填生日有惊喜哦~</span>\r\n                                        </div>\r\n                                    </div>\r\n\r\n                                    <div class=\"item\">\r\n                                        <span class=\"label\">兴趣爱好：</span>\r\n                                        <div class=\"fl interest-list\">\r\n                                            <p>请选择您感兴趣的分类，给您最精准的推荐</p>\r\n                                            <ul class=\"hobul\">\r\n                                                <li name=\"hobbyType\" value=\"1\">图书/音像/数字商品<s></s></li>\r\n                                                <li name=\"hobbyType\" value=\"2\">家用电器<s></s></li>\r\n                                                <li name=\"hobbyType\" value=\"3\">手机/数码<s></s></li>\r\n                                                <li name=\"hobbyType\" value=\"4\">电脑/办公<s></s></li>\r\n                                                <li name=\"hobbyType\" value=\"5\">家居/家具/家装/厨具<s></s></li>\r\n                                                <li name=\"hobbyType\" value=\"6\">服饰内衣/珠宝首饰<s></s></li>\r\n                                                <li name=\"hobbyType\" value=\"7\">个护化妆<s></s></li>\r\n                                                <li name=\"hobbyType\" value=\"8\">鞋靴/箱包/钟表/奢侈品<s></s></li>\r\n                                                <li name=\"hobbyType\" value=\"9\">运动健康<s></s></li>\r\n                                                <li name=\"hobbyType\" value=\"10\">汽车用品<s></s></li>\r\n                                                <li name=\"hobbyType\" value=\"11\">母婴/玩具乐器<s></s></li>\r\n                                                <li name=\"hobbyType\" value=\"12\">食品饮料/保健食品<s></s></li>\r\n                                                <li name=\"hobbyType\" value=\"13\">彩票/旅行/充值/票务<s></s></li>\r\n                                            </ul>\r\n                                        </div>\r\n                                    </div>\r\n\t\t\t\t\t\t\t\t\t<div class=\"item\">\r\n\t\t\t\t\t\t\t\t\t<span class=\"label\">邮箱：</span>\r\n\t\t\t\t\t\t\t\t\t<div class=\"fl\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t<strong>    zh*****_j@163.com\r\n</strong><a target=\"_blank\" class=\"ml5 ftx05\" href=\"http://safe.jd.com/validate/updateMail\">修改</a><span class=\"ftx-03\">&nbsp;&nbsp;&nbsp;已验证</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t\t<div class=\"clr\"></div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\r\n                                    <div class=\"item\">\r\n                                        <span class=\"label\">真实姓名：</span>\r\n                                        <div class=\"fl\">\r\n                                            <input type=\"text\" class=\"itxt\" maxlength=\"20\" name=\"userVo.realName\" id=\"realName\" value=\"张志君\">\r\n                                            <div class=\"clr\"></div><div class=\"prompt-06\"><span id=\"realName_msg\"></span></div>\r\n                                        </div>\r\n                                    </div>\r\n                                    <div class=\"item\">\r\n                                        <span class=\"label\">所在地：</span>\r\n                                        <div class=\"fl\">\r\n                                            <select name=\"userVo.province\" class=\"selt mr5\" id=\"province\" value=\"2\">\r\n                                                                                                    <option value=\"1\">北京</option>\r\n                                                                                                    <option value=\"2\">上海</option>\r\n                                                                                                    <option value=\"3\">天津</option>\r\n                                                                                                    <option value=\"4\">重庆</option>\r\n                                                                                                    <option value=\"5\">河北</option>\r\n                                                                                                    <option value=\"6\">山西</option>\r\n                                                                                                    <option value=\"7\">河南</option>\r\n                                                                                                    <option value=\"8\">辽宁</option>\r\n                                                                                                    <option value=\"9\">吉林</option>\r\n                                                                                                    <option value=\"10\">黑龙江</option>\r\n                                                                                                    <option value=\"11\">内蒙古</option>\r\n                                                                                                    <option value=\"12\">江苏</option>\r\n                                                                                                    <option value=\"13\">山东</option>\r\n                                                                                                    <option value=\"14\">安徽</option>\r\n                                                                                                    <option value=\"15\">浙江</option>\r\n                                                                                                    <option value=\"16\">福建</option>\r\n                                                                                                    <option value=\"17\">湖北</option>\r\n                                                                                                    <option value=\"18\">湖南</option>\r\n                                                                                                    <option value=\"19\">广东</option>\r\n                                                                                                    <option value=\"20\">广西</option>\r\n                                                                                                    <option value=\"21\">江西</option>\r\n                                                                                                    <option value=\"22\">四川</option>\r\n                                                                                                    <option value=\"23\">海南</option>\r\n                                                                                                    <option value=\"24\">贵州</option>\r\n                                                                                                    <option value=\"25\">云南</option>\r\n                                                                                                    <option value=\"26\">西藏</option>\r\n                                                                                                    <option value=\"27\">陕西</option>\r\n                                                                                                    <option value=\"28\">甘肃</option>\r\n                                                                                                    <option value=\"29\">青海</option>\r\n                                                                                                    <option value=\"30\">宁夏</option>\r\n                                                                                                    <option value=\"31\">新疆</option>\r\n                                                                                                    <option value=\"32\">台湾</option>\r\n                                                                                                    <option value=\"42\">香港</option>\r\n                                                                                                    <option value=\"43\">澳门</option>\r\n                                                                                                    <option value=\"84\">海外</option>\r\n                                                                                            </select>\r\n                                            <select name=\"userVo.city\" class=\"selt mr5\" id=\"city\" value=\"2826\"><option value=\"78\">黄浦区</option><option value=\"2811\">卢湾区</option><option value=\"2813\">徐汇区</option><option value=\"2815\">长宁区</option><option value=\"2817\">静安区</option><option value=\"2820\">闸北区</option><option value=\"2822\">虹口区</option><option value=\"2823\">杨浦区</option><option value=\"2824\">宝山区</option><option value=\"2825\">闵行区</option><option value=\"2826\">嘉定区</option><option value=\"2830\">浦东新区</option><option value=\"2833\">青浦区</option><option value=\"2834\">松江区</option><option value=\"2835\">金山区</option><option value=\"2836\">南汇区</option><option value=\"2837\">奉贤区</option><option value=\"2841\">普陀区</option><option value=\"2919\">崇明县</option></select>\r\n                                            <select name=\"userVo.county\" class=\"selt mr5\" id=\"county\" value=\"2864\"><option value=\"2864\">外环以外</option></select>\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"clr\"></div><div class=\"prompt-06\"><span id=\"city_msg\"></span></div>\r\n                                        </div>\r\n                                    </div>\r\n                                    <div class=\"item\">\r\n                                        <span class=\"label\">&nbsp;</span>\r\n                                        <div class=\"fl\">\r\n                                            <input type=\"text\" class=\"itxt itxt1\" name=\"userVo.address\" id=\"address\" value=\"上海徐汇区内环以内漕溪北路737弄2号楼3201室\">\r\n\t\t\t\t\t\t\t\t\t\t    <div class=\"clr\"></div><div class=\"prompt-06\"><span id=\"address_msg\"></span></div>\r\n                                        </div>\r\n                                    </div>\r\n                                    <div class=\"item\">\r\n                                        <span class=\"label\">&nbsp;</span>\r\n                                        <div class=\"fl\">\r\n                                            <input id=\"code\" value=\"100294\" style=\"display:none\">\r\n                                            <input id=\"rkey\" value=\"736e6f5f315f67657455736572496e666f6468313839313030323934\" style=\"display:none\">\r\n                                            <a href=\"javascript:void(0)\" class=\"btn-5\" onclick=\"updateUserInfo()\">提交</a>\r\n                                        </div>\r\n                                    </div>\r\n                                </div>\r\n                            </div>\r\n                            <div id=\"user-info\">\r\n                                <div class=\"u-pic\">\r\n                                    <img alt=\"用户头像\" src=\"/images/defaultImgs/1.jpg\">\r\n                                    <div class=\"mask\"></div>\r\n                                    <div class=\"face-link-box\"></div>\r\n                                    <a href=\"http://i.jd.com/user/userinfo/showImg.html\" class=\"face-link\">修改头像</a>\r\n                                </div>\r\n                                <div class=\"info-m\">\r\n\t\t\t\t\t\t\t\t\t<div><b>用户名：dh189</b></div>\r\n                                    <div class=\"u-level\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"rank r4\">\r\n\t\t\t\t\t\t\t\t\t\t\t<s></s><a href=\"http://usergrade.jd.com/user/grade\" target=\"_blank\">金牌会员</a>\r\n\t\t\t\t\t\t\t\t\t\t</span>\r\n                                    </div>\r\n                                    <div class=\"shop-level\">购物行为评级：<span><a target=\"_blank\" href=\"http://help.jd.com/help/question-57.html#help2173\">\r\n\t\t\t\t\t\t\t\t\t\t<s id=\"userCredit\" class=\"rank-sh rank-sh01 rank-sh02\"></s></a></span></div>\r\n                                    <div>会员类型：个人用户</div>\r\n                                </div>\r\n                            </div>\r\n\t\t\t\t\t\t\t<div class=\"fr ac\" style=\"width:280px;\">\r\n\t\t\t\t\t\t\t\t  注：修改手机和邮箱请到<a class=\"ml5 ftx05\" href=\"http://safe.jd.com/user/paymentpassword/safetyCenter.action\">账户安全</a>\r\n\t\t\t\t\t\t\t</div>\r\n                            <div class=\"clr\"></div>\r\n\t\t\t\t\t\t\t\r\n                        </div>\r\n                    </div>            \r\n        </div>\r\n    </div>\r\n    <div id=\"left\" class=\"g-3-5 c-0\">\r\n        <!--js 加载异步加载的左侧菜单 -->\r\n    <div id=\"menu\"><h3>我的交易</h3><dl class=\"fore1\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hdd\" id=\"_MYJD_ordercenter\" href=\"http://order.jd.com/center/list.action\" class=\"curr\">我的订单</a></dt></dl><dl class=\"fore2\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hyushou\" id=\"_MYJD_yushou\" href=\"http://yushou.jd.com/member/qualificationList.action\">我的预售</a></dt></dl><dl class=\"fore3\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hbdsh\" id=\"_MYJD_locallife\" href=\"http://life.jd.com/localOrder/iniOrder.do\">我的本地生活</a></dt></dl><dl class=\"fore4\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hdqs\" id=\"_MYJD_ding\" href=\"http://ding.jd.com/plan/showPlans.action\">我的定期送</a></dt></dl><dl class=\"fore5\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|htg\" id=\"_MYJD_tuan\" href=\"http://tuan.jd.com/order/index.php\">我的团购</a></dt></dl><dl class=\"fore6\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hjg\" id=\"_MYJD_protection\" href=\"http://jiabao.jd.com/protecting\">价格保护</a></dt></dl><dl class=\"fore7\"><dt class=\"hc\"><b></b><a target=\"_blank\" id=\"_MYJD_gz\" href=\"#none\">我的关注</a></dt><dd class=\"fore1\"><div class=\"item\" id=\"_MYJD_product\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hgz\" href=\"http://t.jd.com/home/follow\">关注的商品</a></div></dd><dd class=\"fore2\"><div class=\"item\" id=\"_MYJD_vender\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hdp\" href=\"http://t.jd.com/vender/followVenderList.action\">关注的店铺</a></div></dd><dd class=\"fore3\"><div class=\"item\" id=\"_MYJD_activity\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hhd\" href=\"http://t.jd.com/activity/followActivityList.action\">关注的活动</a></div></dd><dd class=\"fore4 last \"><div class=\"item\" id=\"_MYJD_history\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hll\" href=\"http://my.jd.com/history/list.html\">浏览历史&nbsp;<img width=\"24\" height=\"11\" src=\"/images/myjd-new-ico.png\"></a></div></dd></dl><dl class=\"fore8\"><dt class=\"hc\"><b></b><a target=\"_blank\" id=\"_MYJD_zc\" href=\"#none\">我的资产</a></dt><dd class=\"fore1\"><div class=\"item\" id=\"_MYJD_cashbox\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hjk\" href=\"http://jinku.pay.jd.com/xjk/income.action\">我的小金库</a></div></dd><dd class=\"fore2\"><div class=\"item\" id=\"_MYJD_credit\"><a clstag=\"homepage|keycount|home2013|hbt\" tag=\"213\" href=\"http://baitiao.jd.com/creditUser/record\">京东白条</a>&nbsp;</div></dd><dd class=\"fore3\"><div class=\"item\" id=\"_MYJD_tx\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|htx\" href=\"http://mobile.jd.com/yyswt/myjd.do\">京东通信</a></div></dd><dd class=\"fore4\"><div class=\"item\" id=\"_MYJD_balance\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hye\" href=\"http://mymoney.jd.com/finance/recently.action\">余额</a></div></dd><dd class=\"fore5\"><div class=\"item\" id=\"_MYJD_ticket\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hyh\" href=\"http://quan.jd.com/user_quan.action\">优惠券</a></div></dd><dd class=\"fore6\"><div class=\"item\" id=\"_MYJD_card\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|he\" href=\"http://giftcard.jd.com/giftcard/index.action\">京东卡/E卡</a></div></dd><dd class=\"fore7 last\"><div class=\"item\" id=\"_MYJD_bean\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hjd\" href=\"http://bean.jd.com/myJingBean/list\">京豆</a></div></dd></dl><dl class=\"fore9 last \"><dt class=\"hc\"><b></b><a target=\"_blank\" id=\"_MYJD_fw\" href=\"#none\">客户服务</a></dt><dd class=\"fore1\"><div class=\"item\" id=\"_MYJD_repair\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hfx\" href=\"http://myjd.jd.com/repair/orderlist.action\">返修退换货</a></div></dd><dd class=\"fore2\"><div class=\"item\" id=\"_MYJD_refundment\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hqx\" href=\"http://rps.fm.jd.com/rest/refund/refundList\">取消订单记录</a></div></dd><dd class=\"fore3 last \"><div class=\"item\" id=\"_MYJD_complaint\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|htx\" href=\"http://myjd.jd.com/opinion/orderList.action\">我的投诉</a></div></dd></dl></div><div id=\"da-game\" class=\"da-box m\"><a href=\"http://c.nfa.jd.com/adclick?sid=14&amp;cid=720&amp;aid=4497&amp;bid=0&amp;unit=85943&amp;advid=131939&amp;guv=&amp;url=http://wan.jd.com/yeyou/play.html?gameId=86&amp;gateWayId=s40\"><img width=\"100%\" src=\"/images/547e6a57N75c2f016.gif\" alt=\"\"></a></div><div id=\"da-home\" class=\"da-box\"><a href=\"http://c.nfa.jd.com/adclick?sid=2&amp;cid=102&amp;aid=413&amp;bid=8305&amp;unit=65429&amp;advid=166662&amp;guv=&amp;url=http://vivoshop.jd.com\" target=\"_blank\"><img width=\"100%\" height=\"100%\" alt=\"\" app=\"image:poster\" src=\"/images/549d03d0N59b1f026.jpg\"></a></div></div>\r\n    <span class=\"clr\"></span>\r\n</div>\r\n</div>\r\n</div>\r\n\r\n<!-- footer start -->\r\n<jsp:include page=\"../commons/footer.jsp\" />\r\n<!-- footer end -->\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/my-order-comment.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<%@ taglib prefix=\"c\" uri=\"http://java.sun.com/jsp/jstl/core\" %>\r\n<%@ taglib prefix=\"fmt\" uri=\"http://java.sun.com/jsp/jstl/fmt\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n<meta http-equiv=\"Cache-Control\" content=\"max-age=300\" />\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\r\n<title>我的订单 - 咪购</title>\r\n<meta name=\"Keywords\" content=\"java,咪购java\" />\r\n<meta name=\"description\" content=\"在咪购中找到了29910件java的类似商品，其中包含了“图书”，“电子书”，“教育音像”，“骑行运动”等类型的java的商品。\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/base.css\" media=\"all\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/myjd.common.css\" media=\"all\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/myjd.commentImg.css\" media=\"all\" />\r\n<script type=\"text/javascript\" src=\"/js/jquery-1.2.6.min.js\"></script>\r\n</head>\r\n<body>\r\n<script type=\"text/javascript\" src=\"/js/base-2011.js\" charset=\"utf-8\"></script>\r\n<!-- header start -->\r\n<jsp:include page=\"../commons/header.jsp\" />\r\n<!-- header end -->\r\n\r\n<div id=\"container\">\r\n<div class=\"w\">\r\n\t\r\n<div id=\"main\">\r\n    <div class=\"g-0\">\r\n        <div id=\"content\" class=\"c-3-5\">\r\n            \r\n            <div class=\"mod-main mod-comm extra-main\" id=\"evalu01\">\r\n                        <div class=\"mt\">\r\n                            <h3>商品评价</h3>\r\n                            <div class=\"extra-l ftx03 ml10\">\r\n                                <span id=\"tip-num\">(\r\n                                    <span class=\"num-comment\">\r\n                                        1\r\n                                    </span>个待评价\r\n)</span>\r\n                            </div>\r\n                        </div>\r\n                         <div class=\"mc\">\r\n                            <div class=\"tb-void tb-line\">\r\n                                <table class=\"tb-void tb-line\">\r\n                                    <colgroup>\r\n                                        <col width=\"490\">\r\n                                        <col width=\"130\">\r\n                                        <col width=\"\">\r\n                                    </colgroup>\r\n                                    <thead>\r\n                                        <tr>\r\n                                            <th>商品信息</th>\r\n                                            <th>购买时间</th>\r\n                                            <th>评价状态</th>\r\n                                        </tr>\r\n                                    </thead>\r\n                                </table>\r\n                                <table class=\"tb-void tb-line\">\r\n                                    <tbody>\r\n                                    <tr>\r\n                                        <td>\r\n                                            <ul class=\"pro-info\" oid=\"3122336930\" pid=\"975788\">\r\n                                                <li class=\"fore1\">\r\n                                                    <div class=\"p-info clearfix\">\r\n                                                        <div class=\"p-img fl\">\r\n                                                            <a target=\"_blank\" href=\"http://item.jd.com/975788.html\">\r\n                                                                <img width=\"50\" height=\"50\" title=\"佳能（Canon） MG2400 超值彩色喷墨一体机（打印 复印 扫描）\" data-img=\"1\" src=\"/images/rBEhV1I2yiUIAAAAAADKL7RWKf8AADQDQOQekkAAMpH341.jpg\" class=\"err-product\">\r\n                                                            </a>\r\n                                                        </div>\r\n                                                        <div class=\"p-name fl\">\r\n                                                            <a target=\"_blank\" href=\"http://item.jd.com/975788.html\">佳能（Canon） MG2400 超值彩色喷墨一体机（打印 复印 扫描）</a>\r\n                                                        </div>\r\n                                                    </div>\r\n                                                </li>\r\n                                                <li class=\"fore2\">\r\n                                                    <span class=\"ftx03\">2014-10-25</span>\r\n                                                </li>\r\n\r\n\r\n\r\n                                                <li class=\"fore3 forem\">\r\n                                                        <a href=\"#none\" voucherstatus=\"0\" class=\"pj\" alt=\"975788\" title=\"发评价拿京豆\" catefirst=\"670\" catesecond=\"716\" catethird=\"720\">发表评价<b class=\"icon-show\"></b></a>\r\n                                                </li>\r\n                                            </ul>\r\n                                            <div class=\"clr\"></div>\r\n                                                                                        <div class=\"comment-box prompt01\" oid=\"3122336930\" pid=\"975788\" style=\"display: block;\">\r\n                                                <div class=\"box-t\"></div>\r\n                                                <div class=\"form\" tagflag=\"true\" isconspros=\"0\" pid=\"975788\">\r\n                                                    <div class=\"item item01 titleEl\" style=\"display:none;\">\r\n                                                        <span class=\"label\"><em>*</em>标题：</span>\r\n                                                        <div class=\"tit\">\r\n                                                            <input autocomplete=\"off\" id=\"title\" name=\"title\" style=\"width:340px;\" type=\"text\" class=\"title text area01\" value=\"\">\r\n                                                            <div class=\"clr\"></div>\r\n                                                            <div class=\"msg-text ftx-03\">4-20字</div>\r\n                                                        </div>\r\n                                                        <span class=\"msg-error-01 ml10 hide\">麻烦填写4-20个字呦</span>\r\n                                                        <div class=\"clr\"></div>\r\n                                                    </div>\r\n\r\n                                                    <div class=\"item\"><span class=\"label\"><em>*</em>评分：</span>\r\n                                                        <div class=\"fl\">\r\n                                                            <span class=\"commstar\">\r\n                                                                <a href=\"javascript:;\" class=\"star1\" _val=\"1\"></a>\r\n                                                                <a href=\"javascript:;\" class=\"star2\" _val=\"2\"></a>\r\n                                                                <a href=\"javascript:;\" class=\"star3\" _val=\"3\"></a>\r\n                                                                <a href=\"javascript:;\" class=\"star4\" _val=\"4\"></a>\r\n                                                                <a href=\"javascript:;\" class=\"star5\" _val=\"5\"></a>\r\n                                                            </span>\r\n                                                            <input type=\"hidden\" name=\"commentStar\">\r\n                                                            <div class=\"clr\"></div>\r\n                                                        </div>\r\n                                                        <span class=\"msg-error-01 ml10 hide\">你的评分是偶们前进的动力</span>\r\n                                                        <div class=\"clr\"></div>\r\n                                                    </div>\r\n\r\n                                                    <div class=\"item tagEl\" style=\"\">\r\n                                                        <span class=\"label\"><em>*</em>标签：</span>\r\n                                                        <div class=\"fl\">\r\n                                                            <ul class=\"tips-list\"><li vid=\"132\"><s class=\"f-check\"></s>复印速度快</li><li vid=\"128\"><s class=\"f-check\"></s>复印也不错</li><li vid=\"131\"><s class=\"f-check\"></s>耗材便宜</li><li vid=\"135\"><s class=\"f-check\"></s>使用方便</li><li vid=\"136\"><s class=\"f-check\"></s>扫描方便</li><li vid=\"134\"><s class=\"f-check\"></s>效果不错</li><li vid=\"133\"><s class=\"f-check\"></s>功能齐全</li><li vid=\"129\"><s class=\"f-check\"></s>机器不错</li><li vid=\"137\"><s class=\"f-check\"></s>墨盒便宜</li>\r\n                                                                <li class=\"list-last\">\r\n                                                                    <div class=\"fore1\"><s class=\"f-input\"></s>自定义</div>\r\n                                                                    <div class=\"fore2 hide\">\r\n                                                                        <input type=\"text\" maxlength=\"12\" class=\"itxt\">\r\n                                                                        <span class=\"\">按回车提交</span>\r\n                                                                    </div>\r\n                                                                </li>\r\n                                                            </ul>\r\n                                                            <span class=\"msg-error-01 hide\"></span>\r\n                                                            <div class=\"clr\"></div>\r\n                                                        </div>\r\n                                                        <div class=\"clr\"></div>\r\n                                                    </div>\r\n\r\n                                                    <div class=\"item item01 xindeEl\">\r\n                                                        <span class=\"label\"><em>*</em>心得：</span>\r\n                                                        <div class=\"cont\">\r\n                                                            <textarea name=\"\" cols=\"\" rows=\"\" class=\"area area01\">商品是否给力？快分享你的购买心得吧~</textarea>\r\n                                                            <div class=\"clr\"></div>\r\n                                                            <span class=\"msg-error-01 hide\">麻烦填写10-500个字呦</span>\r\n                                                            <div class=\"msg-text ftx-03\">10-500字</div>\r\n                                                        </div>\r\n                                                        <div class=\"clr\"></div>\r\n                                                    </div>\r\n\r\n                                                    <div class=\"item imgEl\" id=\"imgContainer_3122336930_975788\" style=\"position: relative;\">\r\n                                                        <span class=\"label\">晒单：</span>\r\n                                                        <div class=\"fl\">\r\n                                                            <div class=\"upload-img-box\">\r\n                                                                <div class=\"img-list\">\r\n                                                                    <input type=\"hidden\" name=\"imgs1\" value=\"\">\r\n                                                                    <input type=\"hidden\" name=\"imgs2\" value=\"\">\r\n                                                                    <input type=\"hidden\" name=\"imgs3\" value=\"\">\r\n                                                                    <input type=\"hidden\" name=\"imgs4\" value=\"\">\r\n                                                                    <input type=\"hidden\" name=\"imgs5\" value=\"\">\r\n                                                                    <input type=\"hidden\" name=\"imgs6\" value=\"\">\r\n                                                                    <input type=\"hidden\" name=\"imgs7\" value=\"\">\r\n                                                                    <input type=\"hidden\" name=\"imgs8\" value=\"\">\r\n                                                                    <input type=\"hidden\" name=\"imgs9\" value=\"\">\r\n                                                                    <input type=\"hidden\" name=\"imgs10\" value=\"\">\r\n                                                                    <ul class=\"img-list-ul\">\r\n                                                                        <li class=\"upload-btn\">\r\n                                                                            <div>\r\n                                                                                <a id=\"pickbutton_3122336930_975788\" href=\"#none\" style=\"position: relative; z-index: 1;\">添加图片</a>\r\n                                                                                <span class=\"ftx-03 ar\">0/10</span>\r\n                                                                            </div>\r\n                                                                        </li>\r\n                                                                    </ul>\r\n                                                                </div>\r\n                                                                <div class=\"clr\"></div>\r\n                                                            </div>\r\n                                                        </div>\r\n                                                    <div id=\"p19acd7g5qnca3pgaq413318ug5_html5_container\" class=\"plupload html5\" style=\"position: absolute; width: 82px; height: 82px; overflow: hidden; z-index: 0; opacity: 0; top: 5px; left: 100px; background: transparent;\"><input id=\"p19acd7g5qnca3pgaq413318ug5_html5\" style=\"font-size: 999px; position: absolute; width: 100%; height: 100%;\" type=\"file\" accept=\"image/jpeg,image/gif,image/png,image/bmp\" multiple=\"multiple\"></div></div>\r\n\r\n                                                    <div class=\"isnL hide\" style=\"text-align:center;\">\r\n                                                        登录后才能发表评价，请<a href=\"#none\" class=\"loginBut\">登录</a>\r\n                                                    </div>\r\n\r\n                                                    <div class=\"isL item\">\r\n                                                        <span class=\"label\"><em>*</em>验证码：</span>\r\n                                                        <div class=\"fl\">\r\n                                                            <input id=\"seccode\" acid=\"ZGgxODk8439\" maxlength=\"7\" type=\"text\" autocomplete=\"off\" class=\"text text02 itxt\" name=\"\">\r\n                                                            <img class=\"seccodeimg\" height=\"28\" alt=\"\" src=\"/images/yzm.jpg\">\r\n                                                            <a href=\"#none\" class=\"seccodenext\">(换一张)</a>\r\n                                                        </div>\r\n                                                        <div class=\"clr\"></div>\r\n                                                    </div>\r\n\r\n                                                    <div class=\"item item02\">\r\n                                                        <span class=\"label\">&nbsp;</span>\r\n                                                        <div class=\"fl\">\r\n                                                            <a href=\"#none\" class=\"btn btn-5 mr20\">\r\n                                                                <s></s>\r\n                                                                <span class=\"pingjiaEl\">评价</span>\r\n                                                            </a>\r\n                                                            <div class=\"msg-text\"></div>\r\n                                                        </div>\r\n                                                        <div class=\"clr\"></div>\r\n                                                    </div>\r\n                                                </div>\r\n                                            </div>\r\n                                            \r\n                                                                                    </td>\r\n                                    </tr>\r\n                                    </tbody>\r\n                                </table>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n            \r\n        </div>\r\n    </div>\r\n    <div id=\"left\" class=\"g-3-5 c-0\">\r\n        <!--js 加载异步加载的左侧菜单 -->\r\n    <div id=\"menu\"><h3>我的交易</h3><dl class=\"fore1\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hdd\" id=\"_MYJD_ordercenter\" href=\"http://order.jd.com/center/list.action\" class=\"curr\">我的订单</a></dt></dl><dl class=\"fore2\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hyushou\" id=\"_MYJD_yushou\" href=\"http://yushou.jd.com/member/qualificationList.action\">我的预售</a></dt></dl><dl class=\"fore3\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hbdsh\" id=\"_MYJD_locallife\" href=\"http://life.jd.com/localOrder/iniOrder.do\">我的本地生活</a></dt></dl><dl class=\"fore4\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hdqs\" id=\"_MYJD_ding\" href=\"http://ding.jd.com/plan/showPlans.action\">我的定期送</a></dt></dl><dl class=\"fore5\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|htg\" id=\"_MYJD_tuan\" href=\"http://tuan.jd.com/order/index.php\">我的团购</a></dt></dl><dl class=\"fore6\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hjg\" id=\"_MYJD_protection\" href=\"http://jiabao.jd.com/protecting\">价格保护</a></dt></dl><dl class=\"fore7\"><dt class=\"hc\"><b></b><a target=\"_blank\" id=\"_MYJD_gz\" href=\"#none\">我的关注</a></dt><dd class=\"fore1\"><div class=\"item\" id=\"_MYJD_product\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hgz\" href=\"http://t.jd.com/home/follow\">关注的商品</a></div></dd><dd class=\"fore2\"><div class=\"item\" id=\"_MYJD_vender\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hdp\" href=\"http://t.jd.com/vender/followVenderList.action\">关注的店铺</a></div></dd><dd class=\"fore3\"><div class=\"item\" id=\"_MYJD_activity\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hhd\" href=\"http://t.jd.com/activity/followActivityList.action\">关注的活动</a></div></dd><dd class=\"fore4 last \"><div class=\"item\" id=\"_MYJD_history\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hll\" href=\"http://my.jd.com/history/list.html\">浏览历史&nbsp;<img width=\"24\" height=\"11\" src=\"/images/myjd-new-ico.png\"></a></div></dd></dl><dl class=\"fore8\"><dt class=\"hc\"><b></b><a target=\"_blank\" id=\"_MYJD_zc\" href=\"#none\">我的资产</a></dt><dd class=\"fore1\"><div class=\"item\" id=\"_MYJD_cashbox\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hjk\" href=\"http://jinku.pay.jd.com/xjk/income.action\">我的小金库</a></div></dd><dd class=\"fore2\"><div class=\"item\" id=\"_MYJD_credit\"><a clstag=\"homepage|keycount|home2013|hbt\" tag=\"213\" href=\"http://baitiao.jd.com/creditUser/record\">京东白条</a>&nbsp;</div></dd><dd class=\"fore3\"><div class=\"item\" id=\"_MYJD_tx\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|htx\" href=\"http://mobile.jd.com/yyswt/myjd.do\">京东通信</a></div></dd><dd class=\"fore4\"><div class=\"item\" id=\"_MYJD_balance\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hye\" href=\"http://mymoney.jd.com/finance/recently.action\">余额</a></div></dd><dd class=\"fore5\"><div class=\"item\" id=\"_MYJD_ticket\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hyh\" href=\"http://quan.jd.com/user_quan.action\">优惠券</a></div></dd><dd class=\"fore6\"><div class=\"item\" id=\"_MYJD_card\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|he\" href=\"http://giftcard.jd.com/giftcard/index.action\">京东卡/E卡</a></div></dd><dd class=\"fore7 last\"><div class=\"item\" id=\"_MYJD_bean\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hjd\" href=\"http://bean.jd.com/myJingBean/list\">京豆</a></div></dd></dl><dl class=\"fore9 last \"><dt class=\"hc\"><b></b><a target=\"_blank\" id=\"_MYJD_fw\" href=\"#none\">客户服务</a></dt><dd class=\"fore1\"><div class=\"item\" id=\"_MYJD_repair\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hfx\" href=\"http://myjd.jd.com/repair/orderlist.action\">返修退换货</a></div></dd><dd class=\"fore2\"><div class=\"item\" id=\"_MYJD_refundment\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hqx\" href=\"http://rps.fm.jd.com/rest/refund/refundList\">取消订单记录</a></div></dd><dd class=\"fore3 last \"><div class=\"item\" id=\"_MYJD_complaint\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|htx\" href=\"http://myjd.jd.com/opinion/orderList.action\">我的投诉</a></div></dd></dl></div><div id=\"da-game\" class=\"da-box m\"><a href=\"http://c.nfa.jd.com/adclick?sid=14&amp;cid=720&amp;aid=4497&amp;bid=0&amp;unit=85943&amp;advid=131939&amp;guv=&amp;url=http://wan.jd.com/yeyou/play.html?gameId=86&amp;gateWayId=s40\"><img width=\"100%\" src=\"/images/547e6a57N75c2f016.gif\" alt=\"\"></a></div><div id=\"da-home\" class=\"da-box\"><a href=\"http://c.nfa.jd.com/adclick?sid=2&amp;cid=102&amp;aid=413&amp;bid=8305&amp;unit=65429&amp;advid=166662&amp;guv=&amp;url=http://vivoshop.jd.com\" target=\"_blank\"><img width=\"100%\" height=\"100%\" alt=\"\" app=\"image:poster\" src=\"/images/549d03d0N59b1f026.jpg\"></a></div></div>\r\n    <span class=\"clr\"></span>\r\n</div>\r\n</div>\r\n</div>\r\n\r\n<!-- footer start -->\r\n<jsp:include page=\"../commons/footer.jsp\" />\r\n<!-- footer end -->\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/my-orders.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<%@ taglib prefix=\"c\" uri=\"http://java.sun.com/jsp/jstl/core\" %>\r\n<%@ taglib prefix=\"fmt\" uri=\"http://java.sun.com/jsp/jstl/fmt\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n<meta http-equiv=\"Cache-Control\" content=\"max-age=300\" />\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\r\n<title>我的订单 - 咪购</title>\r\n<meta name=\"Keywords\" content=\"java,咪购java\" />\r\n<meta name=\"description\" content=\"在咪购中找到了29910件java的类似商品，其中包含了“图书”，“电子书”，“教育音像”，“骑行运动”等类型的java的商品。\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/base.css\" media=\"all\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/myjd.common.css\" media=\"all\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/myjd.order.css\" media=\"all\" />\r\n<script type=\"text/javascript\" src=\"/js/jquery-1.2.6.min.js\"></script>\r\n</head>\r\n<body>\r\n<script type=\"text/javascript\" src=\"/js/base-2011.js\" charset=\"utf-8\"></script>\r\n<!-- header start -->\r\n<jsp:include page=\"../commons/header.jsp\" />\r\n<!-- header end -->\r\n\r\n<div id=\"container\">\r\n<div class=\"w\">\r\n\t\r\n<div id=\"main\">\r\n    <div class=\"g-0\">\r\n        <div id=\"content\" class=\"c-3-5\">\r\n            <div class=\"mod-main mod-comm\" id=\"order01\">\r\n                <div class=\"m m3\" id=\"safeinfo\" style=\"display:none\"></div>\r\n                <div class=\"mt\">\r\n                    <h3>我的订单\r\n                        <div class=\"layer-credit\" id=\"creditPayShow\" style=\"display:none\">\r\n                            <a class=\"close\" href=\"#none\" clstag=\"click|keycount|orderinfo|baitiaoclose\">关闭</a>\r\n                            <div class=\"cont\">\r\n                                <span></span>\r\n                                <a class=\"go\" href=\"#none\" target=\"_blank\"></a>\r\n                            </div>\r\n                        </div>\r\n                    </h3>\r\n                </div>\r\n                <div class=\"mc\" id=\"order01\">\r\n\t<dl>\r\n\t\t<dt>便利提醒：</dt>\r\n\t\t<dd id=\"ordercount-waitPay\" clstag=\"click|keycount|orderinfo|waitPay\">待付款(0)</dd>\r\n\t\t<dd id=\"ordercount-waitReceive\" clstag=\"click|keycount|orderinfo|waitReceive\">待确认收货(0)</dd>\r\n\t\t<dd id=\"ordercount-waitPick\" clstag=\"click|keycount|orderinfo|waitPick\">待自提(0)</dd>\r\n\t</dl>\r\n</div>            </div>\r\n        \t<div class=\"mod-main mod-comm lefta-box\" id=\"order02\">\r\n        \t\t<div class=\"mt\">\r\n\t<ul class=\"taborder\">\r\n\t\t<li>\r\n\t\t\t<div class=\"tyies-t\">\r\n\t\t\t\t<strong class=\"ftx-01\">全部订单</strong><b></b>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"tyies-c\">\r\n\t\t\t\t<div class=\"close\"></div>\r\n\t\t\t\t    \t\t\t\t    \t\t\t\t\t<div class=\"filter-item\">\r\n    \t\t\t\t\t\t<span class=\"label\">不限：</span>\r\n    \t\t\t\t\t\t<div class=\"item-con\">\r\n    \t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=&amp;d=1&amp;s=4096\" target=\"_self\">全部类型</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t</div>\r\n    \t\t\t\t    \t\t\t\t\t<div class=\"filter-item\">\r\n    \t\t\t\t\t\t<span class=\"label\">普通：</span>\r\n    \t\t\t\t\t\t<div class=\"item-con\">\r\n    \t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=0-6-8-9-10-11-13-15-16-17-18-19-21-22-23-24-25-32-33-41-42-49-54-56&amp;d=1&amp;s=4096\" target=\"_self\">实物商品</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t</div>\r\n    \t\t\t\t    \t\t\t\t\t<div class=\"filter-item\">\r\n    \t\t\t\t\t\t<span class=\"label\">旅游：</span>\r\n    \t\t\t\t\t\t<div class=\"item-con\">\r\n    \t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=35-83&amp;d=1&amp;s=4096\" target=\"_self\">机票</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=39&amp;d=1&amp;s=4096\" target=\"_self\">酒店</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=45&amp;d=1&amp;s=4096\" target=\"_self\">租车</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=47&amp;d=1&amp;s=4096\" target=\"_self\">度假</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=44&amp;d=1&amp;s=4096\" target=\"_self\">景点</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=46&amp;d=1&amp;s=4096\" target=\"_self\">火车</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t</div>\r\n    \t\t\t\t    \t\t\t\t\t<div class=\"filter-item\">\r\n    \t\t\t\t\t\t<span class=\"label\">充值：</span>\r\n    \t\t\t\t\t\t<div class=\"item-con\">\r\n    \t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=34-62&amp;d=1&amp;s=4096\" target=\"_self\">游戏</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=37&amp;d=1&amp;s=4096\" target=\"_self\">手机充值</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t</div>\r\n    \t\t\t\t    \t\t\t\t\t<div class=\"filter-item\">\r\n    \t\t\t\t\t\t<span class=\"label\">票务：</span>\r\n    \t\t\t\t\t\t<div class=\"item-con\">\r\n    \t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=43&amp;d=1&amp;s=4096\" target=\"_self\">电影票</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=53&amp;d=1&amp;s=4096\" target=\"_self\">演出票</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t</div>\r\n    \t\t\t\t    \t\t\t\t\t<div class=\"filter-item\">\r\n    \t\t\t\t\t\t<span class=\"label\">数字：</span>\r\n    \t\t\t\t\t\t<div class=\"item-con\">\r\n    \t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=38&amp;d=1&amp;s=4096\" target=\"_self\">电子书</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=58&amp;d=1&amp;s=4096\" target=\"_self\">数字音乐</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=57&amp;d=1&amp;s=4096\" target=\"_self\">应用商店</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t</div>\r\n    \t\t\t\t    \t\t\t\t\t<div class=\"filter-item\">\r\n    \t\t\t\t\t\t<span class=\"label\">其他：</span>\r\n    \t\t\t\t\t\t<div class=\"item-con\">\r\n    \t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=36&amp;d=1&amp;s=4096\" target=\"_self\">彩票</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=28-29-201&amp;d=1&amp;s=4096\" target=\"_self\">团购</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=48-64-65&amp;d=1&amp;s=4096\" target=\"_self\">保险</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t<a href=\"list.action?t=2&amp;d=1&amp;s=4096\" target=\"_self\">夺宝岛</a>\r\n    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t</div>\r\n    \t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t</li>\r\n\t</ul>\r\n\t<div class=\"extra-r\">\r\n\t\t\t\t<div class=\"search-01\">\r\n\t\t\t<input id=\"ip_keyword\" name=\"\" type=\"text\" class=\"s-itxt\" value=\"商品名称、商品编号、订单编号\" onfocus=\"if (this.value==this.defaultValue) this.value=''\" onblur=\"if (this.value=='') this.value=this.defaultValue\" onkeydown=\"javascript:if(event.keyCode==13) OrderSearch('ip_keyword');\">\r\n\t        <!--input name=\"\" type=\"button\" value=\"查 询\" class=\"btn-13\" onclick=\"OrderSearch('ip_keyword')\" clstag=\"click|keycount|orderinfo|search\"/-->\r\n\t        <a href=\"javascript:;\" class=\"btn-13\" onclick=\"OrderSearch('ip_keyword')\" clstag=\"click|keycount|orderinfo|search\">查 询</a>\r\n\t\t</div>\r\n\t</div>\r\n</div>        \t\t<div class=\"mc\">\r\n        \t\t\t<table class=\"tb-void\">\r\n        \t\t\t\t<colgroup>\r\n\t<col width=\"290\">\r\n\t<col width=\"90\">\r\n\t<col width=\"110\">\r\n\t<col width=\"100\">\r\n\t<col width=\"100\">\r\n\t<col width=\"130\">\r\n</colgroup>\r\n<thead>\r\n\t<tr>\r\n\t\t<th>订单信息</th>\r\n\t\t<th>收货人</th>\r\n\t\t<th>订单金额</th>\r\n\t\t<th>\r\n\t\t\t<select id=\"submitDate\" name=\"\" class=\"sele\">\r\n\t\t\t\t<option value=\"1\" selected=\"\">最近三个月</option>\r\n\t\t\t\t\t\t\t\t  <option value=\"2\">今年内</option>\r\n\t\t\t\t\t\t\t\t  <option value=\"2013\">2013年</option>\r\n\t\t\t\t\t\t\t\t  <option value=\"2012\">2012年</option>\r\n\t\t\t\t\t\t\t\t  <option value=\"2011\">2011年</option>\r\n\t\t\t\t\t\t\t\t  <option value=\"3\">2011年以前</option>\r\n\t\t\t\t\t\t\t</select>\r\n\t\t</th>\r\n\t\t<th>\r\n\t\t\t<select id=\"orderState\" name=\"\" class=\"sele\">\r\n\t\t\t\t<option value=\"4096\" selected=\"\">全部状态</option>\r\n\t\t\t\t<option value=\"1\">等待付款</option>\r\n\t\t\t\t<option value=\"32\">等待自提</option>\r\n\t\t\t\t<option value=\"128\">等待收货</option>\r\n\t\t\t\t<!-- <option value=\"0\">处理中</option> -->\r\n\t\t\t\t<!--<option value=\"2048\">有效</option> -->\r\n\t\t\t\t<option value=\"1024\">已完成</option>\r\n\t\t\t\t<option value=\"-1\">已取消</option>\r\n\t\t\t</select>\r\n\t\t</th>\r\n\t\t<th>操作</th>\r\n\t</tr>\r\n</thead>\r\n\r\n<script type=\"text/javascript\" language=\"javascript\">\r\n    $(\"#submitDate\").change(function () {\r\n        var sDate = $(\"#submitDate option[@selected]\").val();\r\n        window.location = 'list.action?d='+sDate+'&s=4096&t=';\r\n    });\r\n\t$(\"#orderState\").change(function () {\r\n        var oState = $(\"#orderState option[@selected]\").val();\r\n        window.location = 'list.action?d=1&s='+oState+'&t=';\r\n    });\r\n\t$(\"#submitDate\").val(1);\r\n\t$(\"#orderState\").val(4096);\r\n</script>    \t\t\t\t\t    \t\t\t\t\t\t            \t\t\t\t\t    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t\t\t\t<tbody id=\"tb-3965995220\">\r\n    \r\n    <tbody id=\"tb-2538292730\">\r\n    \r\n        <tr class=\"tr-th\">\r\n            <td colspan=\"6\">\r\n                <span class=\"tcol1\">\r\n                    订单编号:\r\n                    <a name=\"orderIdLinks\" id=\"idUrl2538292730\" target=\"_blank\" href=\"http://order.jd.com/normal/item.action?orderid=2538292730&amp;PassKey=769448C6BA99F1ADA8244BAE7BC60580\" clstag=\"click|keycount|orderinfo|order_num\">2538292730</a>\r\n                                        \r\n\t\t    \t\t                </span>\r\n\r\n                                    <span class=\"tcol2\">\r\n                        京东\r\n                    </span>\r\n                    <span class=\"tcol3\">\r\n                        <a class=\"btn-im\" onclick=\"getPamsForChat()\" href=\"#none\" title=\"联系客服\"></a>\r\n                    </span>\r\n                            </td>\r\n        </tr>\r\n        <tr id=\"track2538292730\" oty=\"0,1,70\" class=\"tr-td\">\r\n            <td>\r\n            \t<div class=\"img-list\">\r\n            \t\t        \t\t  \t\t<a href=\"http://item.jd.com/1113410.html\" class=\"img-box\" clstag=\"click|keycount|orderinfo|order_product\" target=\"_blank\">\r\n        \t\t\t\t\t<img title=\"TP-LINK TL-WR885N 450M无线路由器（白）\" width=\"50\" height=\"50\" src=\"/images/rBEhV1NXYLYIAAAAAADGO8-wV-UAAMfdgNi-BAAAMZT367.jpg\" class=\"err-product\">\r\n        \t\t  \t\t</a>\r\n        \t\t           \t\t  \t\t<a href=\"http://item.jd.com/1222567.html\" class=\"img-box\" clstag=\"click|keycount|orderinfo|order_product\" target=\"_blank\">\r\n        \t\t\t\t\t<img title=\"RND 扁平网线 超高速六类（CAT.6)  超薄扁平  线长为1米5 炫白色\" width=\"50\" height=\"50\" src=\"/images/541fdd63Nab1b3c63.jpg\" class=\"err-product\">\r\n        \t\t  \t\t</a>\r\n        \t\t               \t</div>\r\n            </td>\r\n            <td><div class=\"u-name\">张志君</div></td>\r\n        \t<td>\r\n        \t\t￥108.00<br>\r\n        \t\t货到付款<br>\r\n        \t            \t</td>\r\n            <td>\r\n                <span class=\"ftx-03\">2014-10-20 <br> 22:30:49</span>\r\n                <input type=\"hidden\" id=\"datasubmit-2538292730\" value=\"2014-10-20 22:30:49\">\r\n            </td>\r\n            \r\n            <td><span class=\"ftx-03\">已完成</span></td>\r\n            \r\n            <td id=\"operate2538292730\" class=\"order-doi\" width=\"100\">\r\n        \t  \r\n            <span id=\"pay-button-2538292730\" state=\"\"></span>\r\n            <a target=\"_blank\" href=\"http://order.jd.com/normal/item.action?orderid=2538292730&amp;PassKey=769448C6BA99F1ADA8244BAE7BC60580\" clstag=\"click|keycount|orderinfo|order_check\">查看</a><span id=\"order_comment\"></span><span class=\"pop-recycle-a\">|<a href=\"javascript:void(0)\" clstag=\"click|keycount|orderinfo|order_del\" onclick=\"ensureMoveOrderToRecycle(2538292730,'397FF574E089D5409E6CC8EF67129D65');\">删除</a></span><span id=\"doi2538292730\"><br><a href=\"http://club.jd.com/JdVote/TradeComment.aspx?ruleid=2538292730&amp;ot=0&amp;payid=1&amp;shipmentid=70\" target=\"_blank\" clstag=\"click|keycount|orderinfo|order_comment\">评价晒单</a><br></span><a href=\"http://myjd.jd.com/repair/ordersearchlist.action?searchString=2538292730\" target=\"_blank\" clstag=\"click|keycount|orderinfo|order_repair\">申请返修/退换货</a>\r\n            <a class=\"btn-again\" clstag=\"click|keycount|orderlist|buy\" href=\"http://cart.jd.com/cart/dynamic/reBuyForOrderCenter.action?wids=1113410,1222567&amp;nums=1,1&amp;rid=1419846299535\" target=\"_blank\">还要买</a>\r\n            \r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n    \r\n    <tbody id=\"tb-2538292730\">\r\n    \r\n        <tr class=\"tr-th\">\r\n            <td colspan=\"6\">\r\n                <span class=\"tcol1\">\r\n                    订单编号:\r\n                    <a name=\"orderIdLinks\" id=\"idUrl2538292730\" target=\"_blank\" href=\"http://order.jd.com/normal/item.action?orderid=2538292730&amp;PassKey=769448C6BA99F1ADA8244BAE7BC60580\" clstag=\"click|keycount|orderinfo|order_num\">2538292730</a>\r\n                                        \r\n\t\t    \t\t                </span>\r\n\r\n                                    <span class=\"tcol2\">\r\n                        京东\r\n                    </span>\r\n                    <span class=\"tcol3\">\r\n                        <a class=\"btn-im\" onclick=\"getPamsForChat()\" href=\"#none\" title=\"联系客服\"></a>\r\n                    </span>\r\n                            </td>\r\n        </tr>\r\n        <tr id=\"track2538292730\" oty=\"0,1,70\" class=\"tr-td\">\r\n            <td>\r\n            \t<div class=\"img-list\">\r\n            \t\t        \t\t  \t\t<a href=\"http://item.jd.com/1113410.html\" class=\"img-box\" clstag=\"click|keycount|orderinfo|order_product\" target=\"_blank\">\r\n        \t\t\t\t\t<img title=\"TP-LINK TL-WR885N 450M无线路由器（白）\" width=\"50\" height=\"50\" src=\"/images/rBEhV1NXYLYIAAAAAADGO8-wV-UAAMfdgNi-BAAAMZT367.jpg\" class=\"err-product\">\r\n        \t\t  \t\t</a>\r\n        \t\t           \t\t  \t\t<a href=\"http://item.jd.com/1222567.html\" class=\"img-box\" clstag=\"click|keycount|orderinfo|order_product\" target=\"_blank\">\r\n        \t\t\t\t\t<img title=\"RND 扁平网线 超高速六类（CAT.6)  超薄扁平  线长为1米5 炫白色\" width=\"50\" height=\"50\" src=\"/images/541fdd63Nab1b3c63.jpg\" class=\"err-product\">\r\n        \t\t  \t\t</a>\r\n        \t\t               \t</div>\r\n            </td>\r\n            <td><div class=\"u-name\">张志君</div></td>\r\n        \t<td>\r\n        \t\t￥108.00<br>\r\n        \t\t货到付款<br>\r\n        \t            \t</td>\r\n            <td>\r\n                <span class=\"ftx-03\">2014-10-20 <br> 22:30:49</span>\r\n                <input type=\"hidden\" id=\"datasubmit-2538292730\" value=\"2014-10-20 22:30:49\">\r\n            </td>\r\n            \r\n            <td><span class=\"ftx-03\">已完成</span></td>\r\n            \r\n            <td id=\"operate2538292730\" class=\"order-doi\" width=\"100\">\r\n        \t  \r\n            <span id=\"pay-button-2538292730\" state=\"\"></span>\r\n            <a target=\"_blank\" href=\"http://order.jd.com/normal/item.action?orderid=2538292730&amp;PassKey=769448C6BA99F1ADA8244BAE7BC60580\" clstag=\"click|keycount|orderinfo|order_check\">查看</a><span id=\"order_comment\"></span><span class=\"pop-recycle-a\">|<a href=\"javascript:void(0)\" clstag=\"click|keycount|orderinfo|order_del\" onclick=\"ensureMoveOrderToRecycle(2538292730,'397FF574E089D5409E6CC8EF67129D65');\">删除</a></span><span id=\"doi2538292730\"><br><a href=\"http://club.jd.com/JdVote/TradeComment.aspx?ruleid=2538292730&amp;ot=0&amp;payid=1&amp;shipmentid=70\" target=\"_blank\" clstag=\"click|keycount|orderinfo|order_comment\">评价晒单</a><br></span><a href=\"http://myjd.jd.com/repair/ordersearchlist.action?searchString=2538292730\" target=\"_blank\" clstag=\"click|keycount|orderinfo|order_repair\">申请返修/退换货</a>\r\n            <a class=\"btn-again\" clstag=\"click|keycount|orderlist|buy\" href=\"http://cart.jd.com/cart/dynamic/reBuyForOrderCenter.action?wids=1113410,1222567&amp;nums=1,1&amp;rid=1419846299535\" target=\"_blank\">还要买</a>\r\n            \r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n    \r\n    <tbody id=\"tb-2538292730\">\r\n    \r\n        <tr class=\"tr-th\">\r\n            <td colspan=\"6\">\r\n                <span class=\"tcol1\">\r\n                    订单编号:\r\n                    <a name=\"orderIdLinks\" id=\"idUrl2538292730\" target=\"_blank\" href=\"http://order.jd.com/normal/item.action?orderid=2538292730&amp;PassKey=769448C6BA99F1ADA8244BAE7BC60580\" clstag=\"click|keycount|orderinfo|order_num\">2538292730</a>\r\n                                        \r\n\t\t    \t\t                </span>\r\n\r\n                                    <span class=\"tcol2\">\r\n                        京东\r\n                    </span>\r\n                    <span class=\"tcol3\">\r\n                        <a class=\"btn-im\" onclick=\"getPamsForChat()\" href=\"#none\" title=\"联系客服\"></a>\r\n                    </span>\r\n                            </td>\r\n        </tr>\r\n        <tr id=\"track2538292730\" oty=\"0,1,70\" class=\"tr-td\">\r\n            <td>\r\n            \t<div class=\"img-list\">\r\n            \t\t        \t\t  \t\t<a href=\"http://item.jd.com/1113410.html\" class=\"img-box\" clstag=\"click|keycount|orderinfo|order_product\" target=\"_blank\">\r\n        \t\t\t\t\t<img title=\"TP-LINK TL-WR885N 450M无线路由器（白）\" width=\"50\" height=\"50\" src=\"/images/rBEhV1NXYLYIAAAAAADGO8-wV-UAAMfdgNi-BAAAMZT367.jpg\" class=\"err-product\">\r\n        \t\t  \t\t</a>\r\n        \t\t           \t\t  \t\t<a href=\"http://item.jd.com/1222567.html\" class=\"img-box\" clstag=\"click|keycount|orderinfo|order_product\" target=\"_blank\">\r\n        \t\t\t\t\t<img title=\"RND 扁平网线 超高速六类（CAT.6)  超薄扁平  线长为1米5 炫白色\" width=\"50\" height=\"50\" src=\"/images/541fdd63Nab1b3c63.jpg\" class=\"err-product\">\r\n        \t\t  \t\t</a>\r\n        \t\t               \t</div>\r\n            </td>\r\n            <td><div class=\"u-name\">张志君</div></td>\r\n        \t<td>\r\n        \t\t￥108.00<br>\r\n        \t\t货到付款<br>\r\n        \t            \t</td>\r\n            <td>\r\n                <span class=\"ftx-03\">2014-10-20 <br> 22:30:49</span>\r\n                <input type=\"hidden\" id=\"datasubmit-2538292730\" value=\"2014-10-20 22:30:49\">\r\n            </td>\r\n            \r\n            <td><span class=\"ftx-03\">已完成</span></td>\r\n            \r\n            <td id=\"operate2538292730\" class=\"order-doi\" width=\"100\">\r\n        \t  \r\n            <span id=\"pay-button-2538292730\" state=\"\"></span>\r\n            <a target=\"_blank\" href=\"http://order.jd.com/normal/item.action?orderid=2538292730&amp;PassKey=769448C6BA99F1ADA8244BAE7BC60580\" clstag=\"click|keycount|orderinfo|order_check\">查看</a><span id=\"order_comment\"></span><span class=\"pop-recycle-a\">|<a href=\"javascript:void(0)\" clstag=\"click|keycount|orderinfo|order_del\" onclick=\"ensureMoveOrderToRecycle(2538292730,'397FF574E089D5409E6CC8EF67129D65');\">删除</a></span><span id=\"doi2538292730\"><br><a href=\"http://club.jd.com/JdVote/TradeComment.aspx?ruleid=2538292730&amp;ot=0&amp;payid=1&amp;shipmentid=70\" target=\"_blank\" clstag=\"click|keycount|orderinfo|order_comment\">评价晒单</a><br></span><a href=\"http://myjd.jd.com/repair/ordersearchlist.action?searchString=2538292730\" target=\"_blank\" clstag=\"click|keycount|orderinfo|order_repair\">申请返修/退换货</a>\r\n            <a class=\"btn-again\" clstag=\"click|keycount|orderlist|buy\" href=\"http://cart.jd.com/cart/dynamic/reBuyForOrderCenter.action?wids=1113410,1222567&amp;nums=1,1&amp;rid=1419846299535\" target=\"_blank\">还要买</a>\r\n            \r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n    \r\n    <tbody id=\"tb-2538292730\">\r\n    \r\n        <tr class=\"tr-th\">\r\n            <td colspan=\"6\">\r\n                <span class=\"tcol1\">\r\n                    订单编号:\r\n                    <a name=\"orderIdLinks\" id=\"idUrl2538292730\" target=\"_blank\" href=\"http://order.jd.com/normal/item.action?orderid=2538292730&amp;PassKey=769448C6BA99F1ADA8244BAE7BC60580\" clstag=\"click|keycount|orderinfo|order_num\">2538292730</a>\r\n                                        \r\n\t\t    \t\t                </span>\r\n\r\n                                    <span class=\"tcol2\">\r\n                        京东\r\n                    </span>\r\n                    <span class=\"tcol3\">\r\n                        <a class=\"btn-im\" onclick=\"getPamsForChat()\" href=\"#none\" title=\"联系客服\"></a>\r\n                    </span>\r\n                            </td>\r\n        </tr>\r\n        <tr id=\"track2538292730\" oty=\"0,1,70\" class=\"tr-td\">\r\n            <td>\r\n            \t<div class=\"img-list\">\r\n            \t\t        \t\t  \t\t<a href=\"http://item.jd.com/1113410.html\" class=\"img-box\" clstag=\"click|keycount|orderinfo|order_product\" target=\"_blank\">\r\n        \t\t\t\t\t<img title=\"TP-LINK TL-WR885N 450M无线路由器（白）\" width=\"50\" height=\"50\" src=\"/images/rBEhV1NXYLYIAAAAAADGO8-wV-UAAMfdgNi-BAAAMZT367.jpg\" class=\"err-product\">\r\n        \t\t  \t\t</a>\r\n        \t\t           \t\t  \t\t<a href=\"http://item.jd.com/1222567.html\" class=\"img-box\" clstag=\"click|keycount|orderinfo|order_product\" target=\"_blank\">\r\n        \t\t\t\t\t<img title=\"RND 扁平网线 超高速六类（CAT.6)  超薄扁平  线长为1米5 炫白色\" width=\"50\" height=\"50\" src=\"/images/541fdd63Nab1b3c63.jpg\" class=\"err-product\">\r\n        \t\t  \t\t</a>\r\n        \t\t               \t</div>\r\n            </td>\r\n            <td><div class=\"u-name\">张志君</div></td>\r\n        \t<td>\r\n        \t\t￥108.00<br>\r\n        \t\t货到付款<br>\r\n        \t            \t</td>\r\n            <td>\r\n                <span class=\"ftx-03\">2014-10-20 <br> 22:30:49</span>\r\n                <input type=\"hidden\" id=\"datasubmit-2538292730\" value=\"2014-10-20 22:30:49\">\r\n            </td>\r\n            \r\n            <td><span class=\"ftx-03\">已完成</span></td>\r\n            \r\n            <td id=\"operate2538292730\" class=\"order-doi\" width=\"100\">\r\n        \t  \r\n            <span id=\"pay-button-2538292730\" state=\"\"></span>\r\n            <a target=\"_blank\" href=\"http://order.jd.com/normal/item.action?orderid=2538292730&amp;PassKey=769448C6BA99F1ADA8244BAE7BC60580\" clstag=\"click|keycount|orderinfo|order_check\">查看</a><span id=\"order_comment\"></span><span class=\"pop-recycle-a\">|<a href=\"javascript:void(0)\" clstag=\"click|keycount|orderinfo|order_del\" onclick=\"ensureMoveOrderToRecycle(2538292730,'397FF574E089D5409E6CC8EF67129D65');\">删除</a></span><span id=\"doi2538292730\"><br><a href=\"http://club.jd.com/JdVote/TradeComment.aspx?ruleid=2538292730&amp;ot=0&amp;payid=1&amp;shipmentid=70\" target=\"_blank\" clstag=\"click|keycount|orderinfo|order_comment\">评价晒单</a><br></span><a href=\"http://myjd.jd.com/repair/ordersearchlist.action?searchString=2538292730\" target=\"_blank\" clstag=\"click|keycount|orderinfo|order_repair\">申请返修/退换货</a>\r\n            <a class=\"btn-again\" clstag=\"click|keycount|orderlist|buy\" href=\"http://cart.jd.com/cart/dynamic/reBuyForOrderCenter.action?wids=1113410,1222567&amp;nums=1,1&amp;rid=1419846299535\" target=\"_blank\">还要买</a>\r\n            \r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n    \r\n    <tbody id=\"tb-2538292730\">\r\n    \r\n        <tr class=\"tr-th\">\r\n            <td colspan=\"6\">\r\n                <span class=\"tcol1\">\r\n                    订单编号:\r\n                    <a name=\"orderIdLinks\" id=\"idUrl2538292730\" target=\"_blank\" href=\"http://order.jd.com/normal/item.action?orderid=2538292730&amp;PassKey=769448C6BA99F1ADA8244BAE7BC60580\" clstag=\"click|keycount|orderinfo|order_num\">2538292730</a>\r\n                                        \r\n\t\t    \t\t                </span>\r\n\r\n                                    <span class=\"tcol2\">\r\n                        京东\r\n                    </span>\r\n                    <span class=\"tcol3\">\r\n                        <a class=\"btn-im\" onclick=\"getPamsForChat()\" href=\"#none\" title=\"联系客服\"></a>\r\n                    </span>\r\n                            </td>\r\n        </tr>\r\n        <tr id=\"track2538292730\" oty=\"0,1,70\" class=\"tr-td\">\r\n            <td>\r\n            \t<div class=\"img-list\">\r\n            \t\t        \t\t  \t\t<a href=\"http://item.jd.com/1113410.html\" class=\"img-box\" clstag=\"click|keycount|orderinfo|order_product\" target=\"_blank\">\r\n        \t\t\t\t\t<img title=\"TP-LINK TL-WR885N 450M无线路由器（白）\" width=\"50\" height=\"50\" src=\"/images/rBEhV1NXYLYIAAAAAADGO8-wV-UAAMfdgNi-BAAAMZT367.jpg\" class=\"err-product\">\r\n        \t\t  \t\t</a>\r\n        \t\t           \t\t  \t\t<a href=\"http://item.jd.com/1222567.html\" class=\"img-box\" clstag=\"click|keycount|orderinfo|order_product\" target=\"_blank\">\r\n        \t\t\t\t\t<img title=\"RND 扁平网线 超高速六类（CAT.6)  超薄扁平  线长为1米5 炫白色\" width=\"50\" height=\"50\" src=\"/images/541fdd63Nab1b3c63.jpg\" class=\"err-product\">\r\n        \t\t  \t\t</a>\r\n        \t\t               \t</div>\r\n            </td>\r\n            <td><div class=\"u-name\">张志君</div></td>\r\n        \t<td>\r\n        \t\t￥108.00<br>\r\n        \t\t货到付款<br>\r\n        \t            \t</td>\r\n            <td>\r\n                <span class=\"ftx-03\">2014-10-20 <br> 22:30:49</span>\r\n                <input type=\"hidden\" id=\"datasubmit-2538292730\" value=\"2014-10-20 22:30:49\">\r\n            </td>\r\n            \r\n            <td><span class=\"ftx-03\">已完成</span></td>\r\n            \r\n            <td id=\"operate2538292730\" class=\"order-doi\" width=\"100\">\r\n        \t  \r\n            <span id=\"pay-button-2538292730\" state=\"\"></span>\r\n            <a target=\"_blank\" href=\"http://order.jd.com/normal/item.action?orderid=2538292730&amp;PassKey=769448C6BA99F1ADA8244BAE7BC60580\" clstag=\"click|keycount|orderinfo|order_check\">查看</a><span id=\"order_comment\"></span><span class=\"pop-recycle-a\">|<a href=\"javascript:void(0)\" clstag=\"click|keycount|orderinfo|order_del\" onclick=\"ensureMoveOrderToRecycle(2538292730,'397FF574E089D5409E6CC8EF67129D65');\">删除</a></span><span id=\"doi2538292730\"><br><a href=\"http://club.jd.com/JdVote/TradeComment.aspx?ruleid=2538292730&amp;ot=0&amp;payid=1&amp;shipmentid=70\" target=\"_blank\" clstag=\"click|keycount|orderinfo|order_comment\">评价晒单</a><br></span><a href=\"http://myjd.jd.com/repair/ordersearchlist.action?searchString=2538292730\" target=\"_blank\" clstag=\"click|keycount|orderinfo|order_repair\">申请返修/退换货</a>\r\n            <a class=\"btn-again\" clstag=\"click|keycount|orderlist|buy\" href=\"http://cart.jd.com/cart/dynamic/reBuyForOrderCenter.action?wids=1113410,1222567&amp;nums=1,1&amp;rid=1419846299535\" target=\"_blank\">还要买</a>\r\n            \r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n    \r\n    <tbody id=\"tb-2538292730\">\r\n    \r\n        <tr class=\"tr-th\">\r\n            <td colspan=\"6\">\r\n                <span class=\"tcol1\">\r\n                    订单编号:\r\n                    <a name=\"orderIdLinks\" id=\"idUrl2538292730\" target=\"_blank\" href=\"http://order.jd.com/normal/item.action?orderid=2538292730&amp;PassKey=769448C6BA99F1ADA8244BAE7BC60580\" clstag=\"click|keycount|orderinfo|order_num\">2538292730</a>\r\n                                        \r\n\t\t    \t\t                </span>\r\n\r\n                                    <span class=\"tcol2\">\r\n                        京东\r\n                    </span>\r\n                    <span class=\"tcol3\">\r\n                        <a class=\"btn-im\" onclick=\"getPamsForChat()\" href=\"#none\" title=\"联系客服\"></a>\r\n                    </span>\r\n                            </td>\r\n        </tr>\r\n        <tr id=\"track2538292730\" oty=\"0,1,70\" class=\"tr-td\">\r\n            <td>\r\n            \t<div class=\"img-list\">\r\n            \t\t        \t\t  \t\t<a href=\"http://item.jd.com/1113410.html\" class=\"img-box\" clstag=\"click|keycount|orderinfo|order_product\" target=\"_blank\">\r\n        \t\t\t\t\t<img title=\"TP-LINK TL-WR885N 450M无线路由器（白）\" width=\"50\" height=\"50\" src=\"/images/rBEhV1NXYLYIAAAAAADGO8-wV-UAAMfdgNi-BAAAMZT367.jpg\" class=\"err-product\">\r\n        \t\t  \t\t</a>\r\n        \t\t           \t\t  \t\t<a href=\"http://item.jd.com/1222567.html\" class=\"img-box\" clstag=\"click|keycount|orderinfo|order_product\" target=\"_blank\">\r\n        \t\t\t\t\t<img title=\"RND 扁平网线 超高速六类（CAT.6)  超薄扁平  线长为1米5 炫白色\" width=\"50\" height=\"50\" src=\"/images/541fdd63Nab1b3c63.jpg\" class=\"err-product\">\r\n        \t\t  \t\t</a>\r\n        \t\t               \t</div>\r\n            </td>\r\n            <td><div class=\"u-name\">张志君</div></td>\r\n        \t<td>\r\n        \t\t￥108.00<br>\r\n        \t\t货到付款<br>\r\n        \t            \t</td>\r\n            <td>\r\n                <span class=\"ftx-03\">2014-10-20 <br> 22:30:49</span>\r\n                <input type=\"hidden\" id=\"datasubmit-2538292730\" value=\"2014-10-20 22:30:49\">\r\n            </td>\r\n            \r\n            <td><span class=\"ftx-03\">已完成</span></td>\r\n            \r\n            <td id=\"operate2538292730\" class=\"order-doi\" width=\"100\">\r\n        \t  \r\n            <span id=\"pay-button-2538292730\" state=\"\"></span>\r\n            <a target=\"_blank\" href=\"http://order.jd.com/normal/item.action?orderid=2538292730&amp;PassKey=769448C6BA99F1ADA8244BAE7BC60580\" clstag=\"click|keycount|orderinfo|order_check\">查看</a><span id=\"order_comment\"></span><span class=\"pop-recycle-a\">|<a href=\"javascript:void(0)\" clstag=\"click|keycount|orderinfo|order_del\" onclick=\"ensureMoveOrderToRecycle(2538292730,'397FF574E089D5409E6CC8EF67129D65');\">删除</a></span><span id=\"doi2538292730\"><br><a href=\"http://club.jd.com/JdVote/TradeComment.aspx?ruleid=2538292730&amp;ot=0&amp;payid=1&amp;shipmentid=70\" target=\"_blank\" clstag=\"click|keycount|orderinfo|order_comment\">评价晒单</a><br></span><a href=\"http://myjd.jd.com/repair/ordersearchlist.action?searchString=2538292730\" target=\"_blank\" clstag=\"click|keycount|orderinfo|order_repair\">申请返修/退换货</a>\r\n            <a class=\"btn-again\" clstag=\"click|keycount|orderlist|buy\" href=\"http://cart.jd.com/cart/dynamic/reBuyForOrderCenter.action?wids=1113410,1222567&amp;nums=1,1&amp;rid=1419846299535\" target=\"_blank\">还要买</a>\r\n            \r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n    \t\t\t\t\t\t\t\t                                    \t\t\t\t\t\t            \t\t\t\t\t    \t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t\t\t\t<tbody id=\"tb-3122336930\">\r\n    \r\n       \r\n    \t\t\t\t\t\t\t\t                                    \t\t\t\t\t\t    \t\t\t\t\t    \t\t\t\t</table>\r\n        \t\t</div>\r\n                <div class=\"mt10\">\r\n            \t\t<div class=\"pagin fr\">\r\n            \t                                  <!--  <span class=\"text\">共20条记录</span>    <span class=\"text\">共1页</span> -->\r\n                <span class=\"prev-disabled\">上一页<b></b></span>\r\n       \r\n\t\t<!-- <span class=\"prev-disabled\">首页</span> -->\r\n                                                                                          <a class=\"current\">1</a>                                                                                       \t<!-- <span class=\"next-disabled\">末页</span>  -->\r\n    <span class=\"next-disabled\">下一页<b></b></span>\r\n            \r\n                        </div>\r\n                    <div class=\"clr\"></div>\r\n                </div>\r\n        \t</div>\r\n            \r\n            \r\n        </div>\r\n    </div>\r\n    <div id=\"left\" class=\"g-3-5 c-0\">\r\n        <!--js 加载异步加载的左侧菜单 -->\r\n    <div id=\"menu\"><h3>我的交易</h3><dl class=\"fore1\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hdd\" id=\"_MYJD_ordercenter\" href=\"http://order.jd.com/center/list.action\" class=\"curr\">我的订单</a></dt></dl><dl class=\"fore2\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hyushou\" id=\"_MYJD_yushou\" href=\"http://yushou.jd.com/member/qualificationList.action\">我的预售</a></dt></dl><dl class=\"fore3\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hbdsh\" id=\"_MYJD_locallife\" href=\"http://life.jd.com/localOrder/iniOrder.do\">我的本地生活</a></dt></dl><dl class=\"fore4\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hdqs\" id=\"_MYJD_ding\" href=\"http://ding.jd.com/plan/showPlans.action\">我的定期送</a></dt></dl><dl class=\"fore5\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|htg\" id=\"_MYJD_tuan\" href=\"http://tuan.jd.com/order/index.php\">我的团购</a></dt></dl><dl class=\"fore6\"><dt><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hjg\" id=\"_MYJD_protection\" href=\"http://jiabao.jd.com/protecting\">价格保护</a></dt></dl><dl class=\"fore7\"><dt class=\"hc\"><b></b><a target=\"_blank\" id=\"_MYJD_gz\" href=\"#none\">我的关注</a></dt><dd class=\"fore1\"><div class=\"item\" id=\"_MYJD_product\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hgz\" href=\"http://t.jd.com/home/follow\">关注的商品</a></div></dd><dd class=\"fore2\"><div class=\"item\" id=\"_MYJD_vender\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hdp\" href=\"http://t.jd.com/vender/followVenderList.action\">关注的店铺</a></div></dd><dd class=\"fore3\"><div class=\"item\" id=\"_MYJD_activity\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hhd\" href=\"http://t.jd.com/activity/followActivityList.action\">关注的活动</a></div></dd><dd class=\"fore4 last \"><div class=\"item\" id=\"_MYJD_history\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hll\" href=\"http://my.jd.com/history/list.html\">浏览历史&nbsp;<img width=\"24\" height=\"11\" src=\"/images/myjd-new-ico.png\"></a></div></dd></dl><dl class=\"fore8\"><dt class=\"hc\"><b></b><a target=\"_blank\" id=\"_MYJD_zc\" href=\"#none\">我的资产</a></dt><dd class=\"fore1\"><div class=\"item\" id=\"_MYJD_cashbox\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hjk\" href=\"http://jinku.pay.jd.com/xjk/income.action\">我的小金库</a></div></dd><dd class=\"fore2\"><div class=\"item\" id=\"_MYJD_credit\"><a clstag=\"homepage|keycount|home2013|hbt\" tag=\"213\" href=\"http://baitiao.jd.com/creditUser/record\">京东白条</a>&nbsp;</div></dd><dd class=\"fore3\"><div class=\"item\" id=\"_MYJD_tx\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|htx\" href=\"http://mobile.jd.com/yyswt/myjd.do\">京东通信</a></div></dd><dd class=\"fore4\"><div class=\"item\" id=\"_MYJD_balance\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hye\" href=\"http://mymoney.jd.com/finance/recently.action\">余额</a></div></dd><dd class=\"fore5\"><div class=\"item\" id=\"_MYJD_ticket\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hyh\" href=\"http://quan.jd.com/user_quan.action\">优惠券</a></div></dd><dd class=\"fore6\"><div class=\"item\" id=\"_MYJD_card\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|he\" href=\"http://giftcard.jd.com/giftcard/index.action\">京东卡/E卡</a></div></dd><dd class=\"fore7 last\"><div class=\"item\" id=\"_MYJD_bean\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hjd\" href=\"http://bean.jd.com/myJingBean/list\">京豆</a></div></dd></dl><dl class=\"fore9 last \"><dt class=\"hc\"><b></b><a target=\"_blank\" id=\"_MYJD_fw\" href=\"#none\">客户服务</a></dt><dd class=\"fore1\"><div class=\"item\" id=\"_MYJD_repair\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hfx\" href=\"http://myjd.jd.com/repair/orderlist.action\">返修退换货</a></div></dd><dd class=\"fore2\"><div class=\"item\" id=\"_MYJD_refundment\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|hqx\" href=\"http://rps.fm.jd.com/rest/refund/refundList\">取消订单记录</a></div></dd><dd class=\"fore3 last \"><div class=\"item\" id=\"_MYJD_complaint\"><a target=\"_blank\" clstag=\"homepage|keycount|home2013|htx\" href=\"http://myjd.jd.com/opinion/orderList.action\">我的投诉</a></div></dd></dl></div><div id=\"da-game\" class=\"da-box m\"><a href=\"http://c.nfa.jd.com/adclick?sid=14&amp;cid=720&amp;aid=4497&amp;bid=0&amp;unit=85943&amp;advid=131939&amp;guv=&amp;url=http://wan.jd.com/yeyou/play.html?gameId=86&amp;gateWayId=s40\"><img width=\"100%\" src=\"/images/547e6a57N75c2f016.gif\" alt=\"\"></a></div><div id=\"da-home\" class=\"da-box\"><a href=\"http://c.nfa.jd.com/adclick?sid=2&amp;cid=102&amp;aid=413&amp;bid=8305&amp;unit=65429&amp;advid=166662&amp;guv=&amp;url=http://vivoshop.jd.com\" target=\"_blank\"><img width=\"100%\" height=\"100%\" alt=\"\" app=\"image:poster\" src=\"/images/549d03d0N59b1f026.jpg\"></a></div></div>\r\n    <span class=\"clr\"></span>\r\n</div>\r\n</div>\r\n</div>\r\n\r\n<!-- footer start -->\r\n<jsp:include page=\"../commons/footer.jsp\" />\r\n<!-- footer end -->\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/order-cart-old.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<%@ taglib prefix=\"c\" uri=\"http://java.sun.com/jsp/jstl/core\" %>\r\n<%@ taglib prefix=\"fmt\" uri=\"http://java.sun.com/jsp/jstl/fmt\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n  <head>\r\n\t<meta http-equiv=\"pragma\" content=\"no-cache\" />\r\n    <meta http-equiv=\"cache-control\" content=\"no-cache\" />\r\n    <meta http-equiv=\"expires\" content=\"0\" /> \r\n    <meta name=\"format-detection\" content=\"telephone=no\" />  \r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no\" /> \r\n    <meta name=\"format-detection\" content=\"telephone=no\" />\r\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\r\n    <title>订单结算页 -咪购商城</title>\r\n\t<!--结算页面样式-->\r\n    <link type=\"text/css\" rel=\"stylesheet\" href=\"/css/base.css\" />\r\n    <link type=\"text/css\" rel=\"stylesheet\" href=\"/css/purchase.checkout.css\" />\r\n\t<script type=\"text/javascript\" src=\"/js/jquery-1.2.6.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"/js/jquery.checkout.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"/js/base-v1.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"/js/order.common.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"/js/migo.js\" charset=\"utf-8\"></script>\r\n</head>\r\n<body id=\"mainframe\">\r\n<!--shortcut start-->\r\n<jsp:include page=\"../commons/shortcut.jsp\" />\r\n<!--shortcut end-->\r\n\t<form id=\"orderForm\" class=\"hide\">\r\n\t\t<input type=\"hidden\" name=\"paymentType\" value=\"1\"/>\r\n\t\t<c:forEach items=\"${carts }\" var=\"cart\" varStatus=\"status\">\r\n\t\t\t<c:set var=\"totalPrice\"  value=\"${ totalPrice + (cart.itemPrice * cart.num)}\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[${status.index}].itemId\" value=\"${cart.itemId}\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[${status.index}].num\" value=\"${cart.num }\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[${status.index}].price\" value=\"${cart.itemPrice}\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[${status.index}].totalFee\" value=\"${cart.itemPrice * cart.num}\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[${status.index}].title\" value=\"${cart.itemTitle}\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[${status.index}].picPath\" value=\"${cart.itemImage}\"/>\r\n\t\t</c:forEach>\r\n\t\t<input type=\"hidden\" name=\"payment\" value=\"<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${totalPrice/1000 }\"/>\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverName\" value=\"张志君\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverMobile\" value=\"15800807944\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverState\" value=\"上海\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverCity\" value=\"上海\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverDistrict\" value=\"闵行区\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverAddress\" value=\"浦江镇 江玮路450弄42号402（闵浦新苑五村）\"/>\r\n\t</form>\r\n\t<div class=\"w w1 header clearfix\">\r\n\t\t<div id=\"logo\"><a href=\"http://www.migo.com/\"><img src=\"/images/migo-logo.gif\"  alt=\"咪购商城\" /></a></div>\r\n\t\t<div class=\"progress clearfix\">\r\n\t\t\t<ul class=\"progress-2\">\r\n\t\t\t\t<li class=\"s1\"><b></b>1.我的购物车</li>\r\n\t\t\t\t<li class=\"s2\"><b></b>2.填写核对订单信息</li>\r\n\t\t\t\t<li class=\"s3\">3.成功提交订单</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"w m2\"><a name=\"consigneeFocus\"></a>\r\n\t\t<div id=\"checkout\">\r\n\t\t\t<div class=\"mt\">\r\n\t\t\t\t<h2>填写并核对订单信息</h2>\r\n\t\t\t</div>\r\n\t\t\t<div id=\"wizard\" class=\"checkout-steps\">\r\n\t\t\t\t<div id=\"step-1\" class=\"step step-complete\">\r\n\t\t\t\t\t<div class=\"step-title\">\r\n\t\t\t\t\t\t<div id=\"save-consignee-tip\" class=\"step-right\">\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<strong id=\"consigneeTitleDiv\">收货人信息</strong>\r\n\t\t\t\t\t\t<span class=\"step-action\"  id=\"consignee_edit_action\"><a href=\"#none\" onclick=\"edit_Consignee()\">[修改]</a></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"step-content\">\r\n\t\t\t\t\t\t<div id=\"consignee\" class=\"sbox-wrap\">\r\n\t\t\t\t\t\t\t <div class=\"sbox\">\r\n\t<div class=\"s-content\">\r\n\t <p>\r\n\t  \t\t张志君 &nbsp; 15800807944 &nbsp;  &nbsp; \r\n\t\t<br/>\r\n\t\t\t\t   上海 闵行区 外环以外  &nbsp;\r\n\t\t\t\t浦江镇 江玮路450弄42号402（闵浦新苑五村）\r\n\t\t\t  \t  </p>\r\n\t</div>\r\n</div>\t\t\t\t\t\t</div><!--@end div#consignee-->\r\n\t\t\t\t\t\t \t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div id=\"step-2\" class=\"step step-complete\"><a name=\"payAndShipFocus\"></a>\r\n\t\t\t\t\t<div class=\"step-title\">\r\n\t\t\t\t\t\t<div id=\"save-payAndShip-tip\" class=\"step-right\">\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<strong>支付及配送方式</strong>\r\n\t\t\t\t\t\t<span class=\"step-action\"  id=\"payment-ship_edit_action\"><a href=\"#none\" onclick=\"edit_Payment(false)\">[修改]</a></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"step-content\">\r\n\t\t\t\t\t\t<div id=\"payment-ship\" class=\"sbox-wrap\">\r\n\t\t\t\t\t\t\t<div class=\"sbox\">\r\n\t<div class=\"s-content payment-info\">\r\n\t\t<div class=\"payment-selected\">\r\n\t\t\t\t\t\t\t\t\t在线支付  \r\n\t\t\t\t\t<span id=\"baitiaomessage\" style=\"display:none\"><font color=\"#FF6600;\">&nbsp;使用在线支付支持打白条</font></span>\r\n\t\t\t\t\t\t<span class=\"easyPayWarning\"></span>\r\n\t\t\t\t\t\t\t        \t\t</div>\r\n\t    \r\n        <div class=\"way-list\">\r\n\t        \t\t\t        \t\t\t\t         <div class=\"way-item\">\r\n\t\t\t            咪购快递&nbsp;&nbsp;中小件商品&nbsp;&nbsp;<font color='#FF6600;'>工作日、双休日与假日均可送货</font> &nbsp;\r\n\t\t\t             \t\t\t             <span id=\"promise_jd_message\"></span>\r\n\t\t\t             \t\t\t          </div>\r\n\t        \t\t\t\r\n\t        \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t</div>\r\n\t</div>\r\n\r\n<!-- freight 弹窗 -->\r\n<div class=\"bt bt-w freight-tooltip hide\" id=\"transportInPay\">\r\n\t</div>\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t \t\t\t\t\t\t<!--<div id=\"shipment\"></div>-->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t\r\n\t\t\t\t<div id=\"step-3\" class=\"step step-complete\"><a name=\"invoiceFocus\"></a>\r\n\t\t\t\t\t<div class=\"step-title\">\r\n\t\t\t\t\t\t<div id=\"save-invoice-tip\" class=\"step-right\">\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<strong>发票信息</strong>\r\n\t\t\t\t\t\t<span class=\"step-action\" id=\"part-invoice_edit_action\"><a href=\"#none\" onclick=\"edit_Invoice()\">[修改]</a></span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"step-content\">\r\n\t\t\t\t\t\t<div id=\"part-invoice\" class=\"sbox-wrap\">\r\n\t\t\t\t\t\t\t<div class=\"sbox\">\r\n\t<div class=\"invoice\">\r\n\t\t<div class=\"invoice-content\">\r\n\t\t\t\t\t\t\t普通发票（电子） &nbsp; 个人 \r\n\t\t\t\t&nbsp; 明细\r\n\t\t\t\t&nbsp;  <br />\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t<div class=\"ftx-04 invoice-prompt\">\r\n                    <dl class=\"clearfix\">\r\n                       <dt>温馨提示：</dt>\r\n                       <dd>\r\n                           <div>发票的开票金额不包括咪购卡/咪购E卡、优惠券和京豆支付部分</div>\r\n\t\t\t\t\t\t                              <div>电子发票是税务局认可的有效收付款凭证，具有售后维权的法律效力，暂不支持企业报销</div>\r\n\t\t\t\t\t\t                          </dd>\r\n                    </dl>\r\n                </div>\r\n\t\t\t\t\t\t<div class=\"invoice-note\" style=\"display:none\">\r\n\t\t\t\t\t\t\t\t\t备注：如商品由第三方卖家销售，发票内容由其卖家决定，发票由卖家开具并寄出\r\n\t\t\t\t\t<a href=\"#none\" class=\"tips-i\" id=\"bill-tip-btn\">&nbsp;</a>\r\n\t\t\t\t\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div id=\"step-4\" class=\"step step-complete\">\r\n\t\t\t\t\t<div class=\"step-title hide\"><a href=\"http://cart.jd.com/cart/cart.html\" id=\"cartRetureUrl\" class=\"return-edit\">返回修改购物车</a><strong>商品清单</strong></div>\r\n\t\t\t\t\t<div class=\"step-content\">\r\n\t\t\t\t\t\t<div id=\"part-order\" class=\"sbox-wrap\">\r\n\t\t\t\t\t\t\t<div class=\"sbox\">\r\n\t\t\t\t\t\t\t\t<div id=\"order-cart\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"order-review\">\r\n\t\t\t\t\t\t\t\t\t\t   <!--商品清单展示-->\r\n\t\t\t\t\t\t\t\t\t\t<span id=\"span-skulist\">\r\n    \t\t\t\t\t\t\t\t\t<table class=\"review-thead\">\r\n\t<tbody>\r\n\t\t<tr>\r\n\t\t<td class=\"fore1\">商品</td>\r\n\t\t\t\t\t<td class=\"fore2\">咪购价</td>\r\n\t\t\t\t<td class=\"fore3\">优惠</td>\r\n\t\t<td class=\"fore4\">数量</td>\r\n\t\t<td class=\"fore4\">库存状态</td>\r\n\t    </tr>\r\n\t</tbody>\r\n</table>\r\n<!--**********商品清单内容列表开始************-->\r\n<div class=\"review-body\">\r\n    <!--购物车单品商品-->\r\n    <!--一般套装商品-->\r\n <!--满返套装商品-->\r\n <!--满赠套装商品-->\r\n\r\n<!--单组商品循环公共函数-->\r\n\r\n<!---单品开始--->\r\n    <!---单品结束--->\r\n\r\n<!--********一般套装开始*********-->\r\n<!--********一般套装结束*********-->\r\n\r\n<!--********滿帆套装开始*********-->\r\n<!--********滿帆套装結束*********-->\r\n\r\n\r\n<!--********滿贈套装開始*********-->\r\n\t \t\t<div class=\"review-block review-present\">\r\n\t\t <div class=\"block-header\">\r\n\t\t    <table class=\"order-table\">\r\n\t\t\t  <tbody>\r\n\t\t\t    <tr class=\"hide\">\r\n\t\t\t\t  <td class=\"fore1\"><b></b>\r\n\t\t\t\t\t<strong>\r\n\t\t\t\t\t   \t\t\t\t\t      \t\t\t\t\t\t             已购满100.00元\r\n\t\t\t\t\t\t  \t\t\t\t\t\t  \t\t\t\t\t\t  \t     ，您可以返回购物车领取赠品\r\n\t\t\t\t\t\t  \t\t\t\t\t   \t\t\t\t\t</strong>\r\n\t\t\t\t  </td>\r\n\t\t\t\t  <td class=\"p-price\">\r\n\t\t\t\t\t<strong>\r\n\t\t\t\t\t\t￥<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${item.price/1000 }\"/>\r\n\t\t\t\t\t</strong>\r\n\t\t\t\t  </td>\r\n\t\t\t\t  <td class=\"p-promotion\">&nbsp;</td>\r\n\t\t\t\t  <td class=\"fore2\"></td>\r\n\t\t\t\t  <td class=\"fore2\">&nbsp;</td>\r\n\t\t\t\t</tr>\r\n\t\t\t   </tbody>\r\n\t\t    </table>\r\n\t     </div>\r\n\t\t       </div>\r\n\t             \t\t<!-- 此处置空是必须的  -->\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"review-tbody\">\r\n\t\t<table class=\"order-table\">\r\n\t\t\t<tbody>\r\n\t\t\t<c:forEach items=\"${carts }\" var=\"cart\">\r\n\t\t\t\t  <tr>\r\n\t\t\t\t    <td class=\"fore1\">\r\n\t\t\t\t\t   <div class=\"p-goods\">\r\n\t\t\t\t\t\t  <div class=\"p-img\"><a href=\"http://www.migo.com/item/${cart.itemId}.html\" target='_blank'><img width=\"52\" height=\"52\" src=\"${cart.itemImage}\"></a></div>\r\n\t\t\t\t\t\t\t <div class=\"p-detail\">\r\n\t\t\t\t\t\t\t\t<div class=\"p-name\">\r\n\t\t\t\t\t\t\t\t\t<a href=\"http://www.migo.com/item/${cart.itemId}.html\" target='_blank'>\r\n\t\t\t\t\t\t\t\t\t\t${cart.itemTitle }\r\n\t\t\t\t\t\t\t\t    </a>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"p-more\">商品编号：${cart.itemId}<br />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- icon图标预留-->\r\n\t\t\t\t\t\t\t\t<span id=\"promise_1057746\" class=\"promise411\"></span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t </div>\r\n\t\t\t\t\t\t   </div>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t  \t\t\t\t  <td class=\"p-price\"><strong>￥<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${cart.itemPrice / 1000 }\"/></strong>\r\n\t\t\t\t\t  </td>\r\n\t\t\t\t\t  \t\t\t\t  <td class=\"p-promotion\"> </td>\r\n\t\t\t\t\t  <td class=\"fore2\">x ${cart.num }</td>\r\n\t\t\t\t\t  <td class=\"fore2 p-inventory\"  skuId=\"1057746\">有货</td>\r\n\t\t\t\t   </tr>\r\n\t\t\t   </c:forEach>\r\n\t\t\t</tbody>\r\n        </table>\r\n\t </div>\r\n\t   \r\n\t       \t \t \r\n<!--********滿贈套装結束*********-->\t\t\t\t\t\t\r\n</div>\r\n<!--**********商品清单内容列表结束************-->\r\n                                        </span>\t\t\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"order-summary\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"summary-form fl\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"safe-tip\" style=\"display:none\" id=\"safeVerciryPromptPart\">&nbsp;&nbsp;&nbsp;&nbsp;为保障您的账户资金安全，余额暂时不可用，请先<a target=\"_blank\" href=\"http://safe.jd.com/user/paymentpassword/safetyCenter.action\">开启支付密码</a></div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t<!--  预售 计算支付展现方式 begin -->\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"statistic fr\">\r\n                                                <div class=\"list\"><span><em id=\"span-skuNum\">1</em> 件商品，总商品金额：</span><em class=\"price\" id=\"warePriceId\" v=\"<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${totalPrice/1000 }\"/>\">￥<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${totalPrice/1000 }\"/></em></div>\r\n                                                <div class=\"list\"><span>返现：</span><em class=\"price\" id=\"cachBackId\" v=\"0.00\"> -￥0.00</em></div>\r\n                                                <div class=\"list\" id=\"showFreightPrice\" style=\"padding-left:140px;\">\r\n                                                \t\t<span id=\"freightSpan\"  style=\"width:40px;\"   >运费：</span> \r\n                                                \t\t<em class=\"price\" id=\"freightPriceId\"  > ￥0.00</em>\r\n                                                </div>\r\n                                                <div class=\"list\"><span>应付总额：</span><em id=\"sumPayPriceId\" class=\"price\"> ￥<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${totalPrice/1000 }\"/></em></div>\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"span clr\"></div>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t</div><!--@end div.order-summary-->\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div><!--@end div#order-cart-->\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<!-- 验证码 -->\r\n\t\t\t\t\t\t\t<div class=\"check-code group\" id=\"checkCodeDiv\" ></div>\r\n\t\t\t\t\t\t\t<span class=\"clr\"></span>\r\n\t\t\t\t\t\t</div><!--@end div#part-order-->\r\n\t\t\t\t\t\t<div id=\"checkout-floatbar\" class=\"checkout-buttons group\">\r\n\t\t\t\t\t\t\t<div class=\"inner\">\r\n\t\t\t\t\t\t\t\t<style type=\"text/css\">.checkout-buttons .checkout-submit{background-color:#e00;position:relative;line-height:36px;overflow:hidden;color:#fff;font-weight:bold;font-size:16px;}.checkout-buttons .checkout-submit b{position:absolute;left:0;top:0;width:135px;height:36px;background:url(http://misc.360buyimg.com/purchase/trade/skin/i/btn-submit.jpg) no-repeat;cursor:pointer;overflow:hidden;}.checkout-buttons .checkout-submit:hover{background-color:#EF494D;}.checkout-buttons  .checkout-submit:hover b{background-position:0 -36px;}.checkout-buttons .checkout-submit-disabled{background-color:#ccc;position:relative;line-height:36px;font-weight:bold;font-size:16px;cursor:not-allowed;}.checkout-buttons .checkout-submit-disabled b{position:absolute;left:0;top:0;width:135px;height:36px;background:url(http://misc.360buyimg.com/purchase/trade/skin/i/btn-disabled.png) no-repeat;cursor:not-allowed;}</style>\r\n                                <!--input type=\"submit\"  class=\"checkout-submit\" value=\"\" id=\"order-submit\" onclick=\"javascript:submit_Order();\"/-->\r\n                                <button type=\"submit\" class=\"checkout-submit\"  id=\"order-submit\" onclick=\"javascript:submit_Order();\">\r\n                                        提交订单\r\n                                        <b></b>\r\n                                </button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"total\">应付总额：<strong id=\"payPriceId\">￥<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${totalPrice/1000 }\"/></strong>元 \r\n\t    \t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"checkout-submit-tip\" id=\"changeAreaAndPrice\" style=\"display: none;\">由于地址更换，价格可能发生变化，请核对后再提交订单</div>\r\n\t\t\t\t\t\t\t\t<div style=\"display:none\" id=\"factoryShipCodShowDivBottom\" class=\"dispatching\">\r\n\t\t\t\t\t\t\t\t\t部分商品货到付款方式：先由咪购配送“提货单”并收款，然后厂商发货。\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<span id=\"submit_message\" style=\"display:none\" class=\"submit-error\" ></span>\r\n\t\t\t\t\t\t\t<div class=\"submit-check-info\" id=\"submit_check_info_message\" style=\"display:none\"></div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n<!-- freight 弹窗,不放到orderInfo中弹框 就会串行-->\r\n<div class=\"bt bt-w freight-tooltip hide\" id=\"transport\">\r\n</div>\r\n   <div class=\"w\">\r\n\r\n\t<!-- links start -->\r\n    <jsp:include page=\"../commons/footer-links.jsp\"></jsp:include>\r\n    <!-- links end -->\r\n</div><!-- footer end -->\r\n\t<script type=\"text/javascript\" src=\"/js/order.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"/js/base-2011.js\"></script>\r\n    <script type=\"text/javascript\" src=\"/js/lib-v1.js\"></script>\r\n    <script type=\"text/javascript\" src=\"/js/jTips.js\"></script>\r\n    <script type=\"text/javascript\" src=\"/js/calendar.js\"></script>\r\n\t<script type=\"text/javascript\">\r\n\t\t\r\n\t$('#bill-tip-btn').Jtips({//随点随帮tip弹出\r\n\t\t\"content\":'<a target=\"_blank\" href=\"http://help.jd.com/help/question-61.html#kjfpf\">如何区分咪购销售和第三方卖家销售的商品?</a>',\r\n\t\t\"close\":true,\t\t\t\r\n\t    \"position\": 'bottom'\r\n\t});\r\n\t//<![CDATA[\r\n\t$(function(){\r\n\t\t$(\"#checkout-floatbar\").jSticky();\r\n\t});\r\n\t//]]>\r\n\t</script>\r\n\t<script type=\"text/javascript\">\r\n\t//<![CDATA[\r\n\tvar couponToggle = (function(){\r\n\t\tvar obj = $('[data-bind=\"coupon\"]'),\r\n\t\t\ttObj = obj.find(\".item\");\r\n\r\n\t\tvar init = function(){\r\n\t\t\ttObj.each(function(){\r\n\t\t\t\tvar that = $(this);\r\n\t\t\t\tvar toggler = $(this).find(\".toggler\");\r\n\t\t\t\tvar toggled = false;\r\n\r\n\t\t\t\ttoggler.bind(\"click\", function(e){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\ttoggled = !toggled;\r\n\r\n\t\t\t\t\ttoggler.parent().parent()[toggled ? \"addClass\" : \"removeClass\"](\"toggle-active\");\r\n\r\n\t\t\t\t\tthat.find(\".toggle-wrap\")[toggled ? \"removeClass\" : \"addClass\"](\"hide\").css(\"display\", toggled ? \"block\" : \"none\");\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\treturn {\r\n\t\t\tinit: init\r\n\t\t};\r\n\t})();\r\n\r\n\r\n\tvar invoiceMore = (function(){\r\n\t\tvar expandHolder = $(\"#invoice-list\"),\r\n\t\t\texpandHandle = $(\"#invoice-more-btn\"),\r\n\t\t\titem = expandHolder.find(\".item-fore\");\r\n\t\t\texpand = false;\r\n\r\n\t\tvar init = function(){\r\n\t\t\texpandHandle.bind(\"click\", function(){\r\n\t\t\t\texpand = !expand;\r\n\r\n\t\t\t\titem[expand ? \"removeClass\" : \"addClass\"](\"hide\").css(\"display\", expand ? \"block\" : \"none\");\r\n\r\n\r\n\t\t\t\texpandHandle.removeClass(expand ? \"select-expand\" : \"select-collapse\").addClass(expand ? \"select-collapse\" : \"select-expand\").find(\"span\").html(expand ? \"\\u6536\\u8D77\" : \"\\u66F4\\u591A\\u5E38\\u7528\\u5730\\u5740\");\r\n\r\n\t\t\t\tif(expand) {\r\n\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\treturn {\r\n\t\t\tinit: init\r\n\t\t};\r\n\t})();\r\n\t//]]>\r\n\t\r\n\t//防止窗口变换，弹窗错位\r\n\t$(window).resize(function(){\r\n           var obj=$(\"#freightSpan\");\r\n           if($(\"#transport\").html()!=null){\r\n\t           $(\"#transport\").css({\r\n\t\t\t\t\tposition:\"absolute\",\r\n\t\t\t\t\ttop:obj.offset().top+\"px\",\r\n\t\t\t\t\tleft:(obj.offset().left-345)+\"px\"\r\n\t           })\r\n           }\r\n\t});\r\n\t</script>\t </body>\r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/order-cart.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<%@ taglib prefix=\"c\" uri=\"http://java.sun.com/jsp/jstl/core\" %>\r\n<%@ taglib prefix=\"fmt\" uri=\"http://java.sun.com/jsp/jstl/fmt\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n\t<head>\r\n\t<meta http-equiv=\"pragma\" content=\"no-cache\" />\r\n    <meta http-equiv=\"cache-control\" content=\"no-cache\" />\r\n    <meta http-equiv=\"expires\" content=\"0\" /> \r\n    <meta name=\"format-detection\" content=\"telephone=no\" />  \r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no\" /> \r\n    <meta name=\"format-detection\" content=\"telephone=no\" />\r\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\r\n    <title>订单结算页 -咪购商城</title>\r\n\t<!--结算页面样式-->\t\r\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/base.css\" media=\"all\" />\r\n    <link type=\"text/css\" rel=\"stylesheet\"  href=\"/css/order-commons.css\" source=\"widget\"/>\t\r\n\t<script type=\"text/javascript\" src=\"/js/jquery-1.6.4.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"/js/base.js\"></script>\t\r\n\t<script type=\"text/javascript\" src=\"/js/order.common.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"/js/jquery.checkout.js\"></script>\r\n</head>\t<body id=\"mainframe\">\r\n<jsp:include page=\"../commons/shortcut.jsp\" />\r\n<!--shortcut end-->\r\n\r\n<div class=\"w w1 header clearfix\">\r\n    <div id=\"logo\"><a href=\"http://www.migo.com/\"><img src=\"/images/migo-logo.gif\" alt=\"咪购商城\"></a></div>\r\n</div>\r\n<!-- /header -->\r\n<!--/ /widget/header/header.tpl -->\r\n\r\n<div id=\"consignee_back\" name=\"consignee_back\" style=\"display:none\"></div>\r\n<div id=\"consignee_back_action\" name=\"consignee_back_action\" style=\"display:none\"></div>\r\n<div id=\"part-invoice_back\" name=\"part-invoice_back\" style=\"display:none\"></div>\r\n<div id=\"part-invoice_back_action\" name=\"part-invoice_back_action\" style=\"display:none\"></div>\r\n<div id=\"payment-ship_back_action\" name=\"payment-ship_back_action\" style=\"display:none\"></div>\r\n<div id=\"payment-ship_back\" name=\"payment-ship_back\" style=\"display:none\"></div>\r\n\r\n<form id=\"orderForm\" class=\"hide\">\r\n\t\t<input type=\"hidden\" name=\"paymentType\" value=\"1\"/>\r\n\t\t<c:forEach items=\"${carts }\" var=\"cart\" varStatus=\"status\">\r\n\t\t\t<c:set var=\"totalPrice\"  value=\"${ totalPrice + (cart.itemPrice * cart.num)}\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[${status.index}].itemId\" value=\"${cart.itemId}\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[${status.index}].num\" value=\"${cart.num }\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[${status.index}].price\" value=\"${cart.itemPrice}\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[${status.index}].totalFee\" value=\"${cart.itemPrice * cart.num}\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[${status.index}].title\" value=\"${cart.itemTitle}\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[${status.index}].picPath\" value=\"${cart.itemImage}\"/>\r\n\t\t</c:forEach>\r\n\t\t<input type=\"hidden\" name=\"payment\" value=\"<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${totalPrice/1000 }\"/>\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverName\" value=\"张志君\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverMobile\" value=\"15800000000\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverState\" value=\"上海\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverCity\" value=\"上海\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverDistrict\" value=\"闵行区\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverAddress\" value=\"浦江镇 xxxxxxxxx\"/>\r\n\t</form>\r\n\r\n<!-- main -->\r\n<div id=\"container\">\r\n\t<div id=\"content\" class=\"w\">\r\n\t\t<div class=\"m\">\r\n\t\t\t<div class=\"mt\">\r\n\t\t\t\t<h2>填写并核对订单信息</h2>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"mc\">\r\n\t\t\t\t<div class=\"checkout-steps\">\r\n<!--  /widget/consignee-step/consignee-step.tpl -->\r\n<div class=\"step-tit\">\r\n\t<h3>收货人信息</h3>\r\n\t<div class=\"extra-r\">\r\n\t\t<a href=\"#none\" class=\"ftx-05\" onclick=\"use_NewConsignee()\">新增收货地址</a>\r\n\t</div>\r\n</div>\r\n<div class=\"step-cont\">\r\n\t<div class=\"consignee-list\" id=\"consignee-list1\">\r\n\t\t<a href=\"#none\" id=\"prev\" class=\"prev arrow-btns\"></a>\r\n\t\t<a href=\"#none\" id=\"next\" class=\"next arrow-btns\"></a>\r\n\t\t<div id=\"consignee1\" class=\"list-cont ui-switchable-body\">\r\n            <div id=\"consignee-ret\"></div>\r\n   \t\t\t\t\t\t<ul class=\"ui-switchable-panel-main\" id=\"consignee-list\">\r\n\t\t\t\t<!---->\r\n    \t\t\t<li class=\"ui-switchable-panel\" id=\"consignee_index_137617472\" selected=\"selected\" style=\"cursor: pointer;\">\r\n\t<div class=\"consignee-item item-selected\" consigneeId=\"137617472\" id=\"consignee_index_div_137617472\">\r\n\t\t<b></b>\r\n\t\t<div class=\"user-name\">\r\n\t\t\t<div class=\"fl\"><strong limit=\"4\">张志君</strong>&nbsp;&nbsp;收</div>\r\n\t\t\t<div class=\"fr\">158****0000</div>\r\n\t\t\t<div class=\"clr\"></div>\r\n\t\t</div>\r\n\t\t<div class=\"mt10\" limit=\"15\">上海 闵行区 外环以外 </div>\r\n\t\t<div class=\"adr-m\" limit=\"30\">浦江镇 xxxxxxxxx</div>\r\n\t\t<div class=\"op-btns ar\">\r\n\t\t\t\t\t\t\t\t\t\t<a href=\"#none\" class=\"ftx-05 mr10 setdefault-consignee hide\" fid=\"137617472\">设为默认地址</a>\r\n\t\t\t\t\t\t<a href=\"#none\" class=\"ftx-05 mr10 edit-consignee\" fid=\"137617472\">编辑</a>\r\n\t\t\t<a href=\"#none\" class=\"ftx-05 del-consignee hide\" fid=\"137617472\">删除</a>\r\n\t\t</div>\r\n\t</div>\r\n</li>\r\n    \t\t\t<!---->\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<!--/ /widget/consignee-step/consignee-step.tpl -->\r\n\t\r\n<!--/ /widget/shopping-list/shopping-list.tpl -->\r\n<div id=\"shipAndSkuInfo\">\r\n  <div id=\"payShipAndSkuInfo\">\r\n    <div class=\"step-tit\">\r\n\t<h3>支付方式</h3>\r\n</div>\r\n<div class=\"step-cont\">\r\n\t<div class=\"payment-list\" id=\"\">\r\n\t\t<div class=\"list-cont\">\r\n\t\t\t<ul id=\"payment-list\">\r\n\t\t\t\t<input type=\"hidden\" id=\"instalmentPlan\" value=\"false\">\r\n\t        \t\t\t<li style=\"cursor: pointer;\" onclick=\"\r\n\t\t\t\t\t\t\t\t\t save_Pay(1); \t\t\t\t\">\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"payment-item  online-payment \" for=\"pay-method-1\"\r\n\t\t\t\t\tpayname=\"货到付款\" payid=\"1\"><b></b>\r\n\t\t\t\t\t    \t\t\t\t\t货到付款<span class=\"qmark-icon qmark-tip\" data-tips=\"送货上门后再收款，支持现金、POS机刷卡、支票支付 <a href='http://help.jd.com/help/distribution-768-2-2813-2863-0-1410707152669.html' target='_blank' class='ftx-05'>查看服务及配送范围</a>\"></span>\t\t\t\t\t                                        \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!--  span class=\"qmark-icon qmark-tip\" data-tips=\"在线支付，支持绝大多数银行借记卡及部分银行信用卡 <a href='http://help.jd.com/help/question-68.html' target='_blank' class='ftx-05'>查看银行及限额</a>\"></span -->\r\n\t\t\t\t\t<!-- span class=\"qmark-icon qmark-tip\" data-tips=\"送货上门后再收款，支持现金、POS机刷卡、支票支付 <a target='_blank' href='http://psfw.jd.com/help/distribution-768.html-2-2825-2893-0-1427094595258.html'>查看服务及配送范围</a>\"></span -->\r\n\t\t\t\t</div>\r\n\t\t\t</li>\r\n\t\t\t\r\n\t\t\t     \r\n            <!-- 分期付款干掉\r\n             -->\r\n\t\t\t\r\n                        \r\n\t\t\t\t\t<li style=\"cursor: pointer;\" onclick=\"\r\n\t\t\t\t save_Pay(4); \">\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"payment-item  online-payment \" for=\"pay-method-4\"\r\n\t\t\t\t\tpayname=\"在线支付\" payid=\"4\"><b></b>\r\n\t\t\t\t\t在线支付                                        <font class=\"whiteBarSpanClass hide\" color=\"#FF6600\">[支持打白条]</font> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"qmark-icon qmark-tip\" data-tips=\"即时到帐，支持绝大数银行借记卡及部分银行信用卡 <a href='http://www.jd.com/help/onlinepay.aspx' target='_blank' class='ftx-05'> 查看银行及限额</a>\"></span> \t\t\t\t\t\t\t\t\t<!--  span class=\"qmark-icon qmark-tip\" data-tips=\"在线支付，支持绝大多数银行借记卡及部分银行信用卡 <a href='http://help.jd.com/help/question-68.html' target='_blank' class='ftx-05'>查看银行及限额</a>\"></span -->\r\n\t\t\t\t\t<!-- span class=\"qmark-icon qmark-tip\" data-tips=\"即时到帐，支持绝大数银行借记卡及部分银行信用卡 <a target='_blank' href='http://www.jd.com/help/onlinepay.aspx'>查看银行及限额</a>\"></span -->\r\n\t\t\t\t</div>\r\n\t\t\t</li>\r\n\t\t\t\r\n\t\t\t     \r\n            <!-- 分期付款干掉\r\n             -->\r\n\t\t\t\r\n                        \r\n\t\t\t\t\t<li style=\"cursor: pointer;\" onclick=\"\r\n\t\t\t\t save_Pay(5); \">\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"payment-item item-selected online-payment \" for=\"pay-method-5\"\r\n\t\t\t\t\tpayname=\"公司转账\" payid=\"5\"><b></b>\r\n\t\t\t\t\t公司转账                                        \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"qmark-icon qmark-tip\" data-tips=\"通过快钱平台转账 转帐后1-3个工作日内到帐 <a href='http://help.jd.com/help/question-70.html' target='_blank' class='ftx-05'>查看帐户信息</a>\"></span> \t\t\t\t\t<!--  span class=\"qmark-icon qmark-tip\" data-tips=\"在线支付，支持绝大多数银行借记卡及部分银行信用卡 <a href='http://help.jd.com/help/question-68.html' target='_blank' class='ftx-05'>查看银行及限额</a>\"></span -->\r\n\t\t\t\t\t<!-- span class=\"qmark-icon qmark-tip\" data-tips=\"通过快钱平台转账 转帐后1-3个工作日内到帐 <a target='_blank' href='http://help.jd.com/help/question-70.html'>查看帐户信息</a>\"></span -->\r\n\t\t\t\t</div>\r\n\t\t\t</li>\r\n\t\t\t\r\n\t\t\t     \r\n            <!-- 分期付款干掉\r\n             -->\r\n\t\t\t\r\n                        \r\n\t\t\t\t\t<li style=\"cursor: pointer;\" onclick=\"\r\n\t\t\t\t save_Pay(2); \">\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"payment-item  online-payment \" for=\"pay-method-2\"\r\n\t\t\t\t\tpayname=\"邮局汇款\" payid=\"2\"><b></b>\r\n\t\t\t\t\t邮局汇款                                        \t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"qmark-icon qmark-tip\" data-tips=\"通过快钱平台收款 汇款后1-3个工作日到账 <a href='http://help.jd.com/help/question-69.html' target='_blank' class='ftx-05'>查看帮助</a>\"></span>\t\t\t\t\t\t\t\t\t\t\t\t\t<!--  span class=\"qmark-icon qmark-tip\" data-tips=\"在线支付，支持绝大多数银行借记卡及部分银行信用卡 <a href='http://help.jd.com/help/question-68.html' target='_blank' class='ftx-05'>查看银行及限额</a>\"></span -->\r\n\t\t\t\t\t<!-- span class=\"qmark-icon qmark-tip\" data-tips=\"通过快钱平台收款  汇款后1-3个工作日到账 <a target='_blank' href='http://help.jd.com/help/question-69.html'>查看帮助</a>\"></span -->\r\n\t\t\t\t</div>\r\n\t\t\t</li>\r\n\t\t\t\r\n\t\t\t     \r\n            <!-- 分期付款干掉\r\n             -->\r\n\t\t\t\r\n                        \r\n\t\t    \r\n\r\n<!--div id=\"shipment\"></div-->\r\n<script>\r\n$('.online-payment')\r\n.hover(function(){\t\r\n\t$(this).addClass('payment-item-hover');\r\n},function(){\r\n\t$(this).removeClass('payment-item-hover');\r\n}); \r\n</script>\r\n\t\t\t\t\t\t\t</ul>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<!--/ /widget/payment-step/payment-step.tpl -->\r\n<div class=\"step-tit\">\r\n\t<h3>送货清单</h3>\r\n\t<div class=\"extra-r\">\r\n\t\t\t\t\t<a href=\"/cart/show.html\" id=\"cartRetureUrl\" class=\"return-edit ftx-05\">返回修改购物车</a>\r\n\t\t\t</div>\r\n</div>\r\n<div class=\"step-cont\" id=\"skuPayAndShipment-cont\">\r\n\t<!--添加商品清单  zhuqingjie -->\r\n\t<div class=\"shopping-lists\" id=\"shopping-lists\"> \r\n\t     <!--单组商品循环公共函数-->\r\n  \r\n  \r\n    <!--定义大商品清单LIST-->\r\n    \t<div class=\"shopping-list ABTest\">\r\n      <div class=\"goods-list\">\r\n\t\t      <!--购物车单品商品-->\r\n                <!--一般套装商品-->\r\n     <!--满返套装商品-->\r\n   <!--满赠套装商品-->\r\n     <!--配送方式-->\r\n      <h4 class=\"vendor_name_h\" id=\"0\">商家：咪购商城</h4>\r\n      <!--单品开始-->\r\n      <div class=\"goods-items\">            </div>       \r\n      <!--单品结束-->\t\t\t         \r\n      <!--一般套装开始-->\r\n           <!--一般套装结束-->\r\n     <!--满返套装开始-->\r\n                                 <div class=\"goods-suit goods-last\">\r\n            <div class=\"goods-suit-tit\">\r\n            </div>\r\n\t <c:forEach items=\"${carts }\" var=\"cart\">     \t\t\t\t\t\t\r\n        <div class=\"goods-item goods-item-extra\">\r\n    \r\n\t\t\t\t<div class=\"p-img\">\r\n\t\t\t\t\t<a target=\"_blank\" href=\"http://www.migo.com/item/${cart.itemId}.html\"><img src=\"${cart.itemImage}\" alt=\"\"></a>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"goods-msg\">\t\t\t\t\t\r\n\t\t\t\t\t<div class=\"p-name\">\r\n\t\t\t\t\t     <a href=\"http://www.migo.com/item/${cart.itemId}.html\" target=\"_blank\">\r\n\t\t\t\t\t           ${cart.itemTitle }\t\t\t\t     \r\n\t\t\t\t\t     </a>\r\n\t\t\t\t\t</div>\r\n          <div class=\"p-price\">\r\n\t\t\t  <!--增加预售金额显示 begin   预售分阶段支付类型（1：一阶梯全款支付；2：一阶梯定金支付(全款或定金可选)；3：三阶梯仅定金支付） -->\r\n\t\t\t  \t\t\t\t  <strong >￥<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${cart.itemPrice / 1000 }\"/></strong>\r\n\t\t\t  \t\t\t  <!--增加预售金额显示 end-->\r\n            <span class=\"ml20\">\r\n\t\t\t\t \t\t\t    \tx1\r\n\t\t\t\t \t\t\t</span>\r\n            <span class=\"ml20 p-inventory\" skuId=\"11555193\">有货</span>\r\n                                      \r\n                                        \t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"p-icon p-icon-w\"></i><span class=\"ftx-04\">7天无理由退货</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t<div class=\"clr\"></div>\r\n\t\t\t\t\t\t\t\t    \t\t\t    \t\t\t      <!-- 京券和东券显示 -->\r\n\t\t\t\t \t\t\t\t \r\n\t\t\t\t  <!-- 延保显示 -->\r\n\t\t</div>\r\n\t\t</c:forEach>\r\n\t\t\r\n\t\t\t       \t\t\t</div>                   \r\n                  <!--满返套装结束-->\r\n     <!--满赠套装开始-->\r\n          <!--满赠套装结束-->\r\n \t\t      </div><!--goods-list 结束-->\r\n      <div class=\"dis-modes\">\r\n\t\t      <!--购物车单品商品-->\r\n\t\t              <!--一般套装商品-->\r\n\t\t   <!--满返套装商品-->\r\n    \t <!--满赠套装商品-->\r\n\t\t   <!--配送方式-->\r\n        <!--以下为京东配送方式-->\r\n         <!--配送方式-->\r\n         <!--配送方式-->\r\n                               <div class=\"mode-item mode-tab\">\r\n                  <h4>配送方式：（<a id=\"jd-goods-item\" class=\"ftx-05 alink\" href=\"#none\">对应商品</a>）</h4>\r\n                  <div class=\"mode-tab-nav\">\r\n                    <ul>\r\n                                              <li class=\"mode-tab-item \" id=\"jd_shipment_item\" onclick=\"doSwithTab('pay')\">\r\n\t\t\t\t\t\t\t<span id=\"jdShip-span-tip\" class=\"m-txt\">京东快递<i class='qmark-icon qmark-tip' data-tips='由京东公司负责配送，速度很快，还接受上门刷卡付款服务'></i></span><b></b>\r\n                        </li>\r\n                                            <li class=\"mode-tab-item hide \" id=\"pick_shipment_item\" onclick=\"doSwithTab('picksite')\">\r\n\t\t\t\t\t\t<span class=\"m-txt\">上门自提<i class=\"qmark-icon qmark-tip\" data-tips=\"自提时付款，支持现金、POS刷卡、支票支付<a href='http://help.jd.com/help/question-64.html' target='_blank' class='ftx-05'>查看自提流程</a>\"></i></span><b></b>\r\n                      </li>\r\n                    </ul>\r\n                  </div>\r\n                        \t\t\t\t\t<div class=\"mode-tab-con hide\" id=\"jd_shipment\">  \r\n                                                            <ul class=\"mode-list\">\r\n                                                    \t\t\t\t\t\t         <li>     \t\t\t\t\t\t\t\t\t\t   \t\t\t\t\t\t\t\t\t\t\r\n                                           <div class=\"fore1\" id=\"jd_shipment_calendar_date\"><span class=\"ftx-03\">配送时间：</span>&nbsp;&nbsp;工作日、双休日与节假日均可送货</div>\r\n                                           <div class=\"fore2 hide\" id=\"jdshipdate_eidt_id\" onclick=\"doEdit311Time()\"><a href=\"#none\" class=\"ftx-05\">修改</a></div>\r\n                                         </li>\t\t\t\t\r\n    \t\t\t\t\t\t\t\t</ul>\r\n    \t\t\t\t\t\t\t</div>\t\r\n            \t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<div class=\"mode-tab-con hide\" id=\"selfpick_shipment\">\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n    \t\t\t\t\t\t\t\t<ul class=\"mode-list\">\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"fore1\" id=\"selfpick_name\"><span class=\"ftx-03\">自提地点：</span></div>\r\n        \t\t\t\t\t\t\t\t\t<div class=\"fore2\" onclick=\"doEditPicksite()\"><a href=\"#none\" class=\"ftx-05 picksite-edit\">修改</a></div>\r\n        \t\t\t\t\t\t\t\t</li>\t\t\t\t\t\t\t\t\t\t\r\n    \t\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t\t\t\t\t <div class=\"fore1\" id=\"selfpick_date\"><span class=\"ftx-03\">自提时间：</span></div>\r\n    \t\t\t\t\t\t\t\t\t\t<div class=\"fore2\" onclick=\"doEditPickSiteDate('0')\"><a href=\"#none\" class=\"ftx-05\">修改</a></div>\r\n    \t\t\t\t\t\t\t\t\t</li>\r\n    \t\t\t\t\t\t\t\t</ul>\r\n    \t\t\t\t\t\t   </div>\t\t\r\n    \t\t\t\t\t\t   <!--隐藏自提点开始-->\r\n\t\t\t\t\t\t\t\t<div id=\"picksite_hidediv\"  class=\"hide\">\r\n\t\t\t\t\t\t\t\t     <!-- 选择自提点 -->\r\n\r\n<div class=\"form picksite-box\">\r\n\t<div class=\"item\">\r\n\t\t<span class=\"label\">选择区域：</span>\r\n\t\t<div class=\"fl\">\r\n\t\t\t<select name=\"pickRegion\" id=\"pickRegion_select\" class=\"selt pickRegion_select\" onchange=\"doEditPickReigon(this)\">\r\n\t\t\t\t\t\t   <option value=\"-1\">全部区域</option>\r\n\t\t\t\t\t\t   <option value=\"2:2824:0:0\"  >宝山区</option>\r\n\t\t\t\t\t\t   <option value=\"2:2830:0:0\"  >浦东新区</option>\r\n\t\t\t\t\t\t   <option value=\"2:2837:0:0\"  >奉贤区</option>\r\n\t\t\t\t\t\t   <option value=\"2:78:0:0\"  >黄浦区</option>\r\n\t\t\t\t\t\t   <option value=\"2:2813:0:0\"  >徐汇区</option>\r\n\t\t\t\t\t\t   <option value=\"2:2919:0:0\"  >崇明县</option>\r\n\t\t\t\t\t\t   <option value=\"2:2834:0:0\"  >松江区</option>\r\n\t\t\t\t\t\t   <option value=\"2:2823:0:0\"  >杨浦区</option>\r\n\t\t\t\t\t\t   <option value=\"2:2822:0:0\"  >虹口区</option>\r\n\t\t\t\t\t\t   <option value=\"2:2825:0:0\"  >闵行区</option>\r\n\t\t\t\t\t\t   <option value=\"2:2833:0:0\"  >青浦区</option>\r\n\t\t\t\t\t\t   <option value=\"2:2826:0:0\"  >嘉定区</option>\r\n\t\t\t\t\t\t   <option value=\"2:2815:0:0\"  >长宁区</option>\r\n\t\t\t\t\t\t   <option value=\"2:2817:0:0\"  >静安区</option>\r\n\t\t\t\t\t\t   <option value=\"2:2841:0:0\"  >普陀区</option>\r\n\t\t\t\t\t\t   <option value=\"2:2835:0:0\"  >金山区</option>\r\n\t\t\t\t\t\t   <option value=\"2:2820:0:0\"  >闸北区</option>\r\n\t\t\t\t\t\t</select>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"item\">\r\n\t\t<span class=\"label\">选择自提点：</span>\r\n\t\t<div class=\"fl\">\r\n\t\t\t<div class=\"pick-sites pick-sites-more\"  id=\"pick-sites\">\r\n\t\t\t\t<!--循环取出自提点信息开始-->\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<!--选中的自提点-->\r\n\t\t\t\t\t\t\t\t\t\t\t<!--可用自提点-->\r\n    \t\t\t\t    <div pickid=\"5456\" pickName=\"浦江智谷自提柜\"  class=\"site-item site-item-selected\"  pickName=\"浦江智谷自提柜\" >\r\n    \t\t\t\t\t\t<div class=\"site-in-short\" style=\"cursor:pointer\" onclick=\"doSelectPicksite(this)\">\r\n    \t\t\t\t\t\t\t浦江智谷自提柜 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t<b></b>\r\n    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t\t<div class=\"field\">\r\n    \t\t\t\t\t\t\t<span class=\"tip\">地址：上海市闵行区浦江镇联航路1188号1号楼罗森超市左侧旁\r\n 021-64290343</span>\r\n    \t\t\t\t\t\t\t<a href=\"http://help.jd.com/help/question-66.html#pjzgztg\" target=\"_blank\" class=\"ftx-05 map-link\">详细地图</a>  \r\n    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t\t<div class=\"clr\"></div>\r\n    \t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<!--选中的自提点-->\r\n\t\t\t\t\t\t\t\t\t\t\t<!--可用自提点-->\r\n    \t\t\t\t    <div pickid=\"341\" pickName=\"颛桥站\"  class=\"site-item\"  pickName=\"颛桥站\" >\r\n    \t\t\t\t\t\t<div class=\"site-in-short\" style=\"cursor:pointer\" onclick=\"doSelectPicksite(this)\">\r\n    \t\t\t\t\t\t\t颛桥站 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t<b></b>\r\n    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t\t<div class=\"field\">\r\n    \t\t\t\t\t\t\t<span class=\"tip\">地址：上海市闵行区都市路447号 021-61241876</span>\r\n    \t\t\t\t\t\t\t<a href=\"http://help.jd.com/help/question-101.html#shanghaizhuanqiao\" target=\"_blank\" class=\"ftx-05 map-link\">详细地图</a>  \r\n    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t\t<div class=\"clr\"></div>\r\n    \t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<!--选中的自提点-->\r\n\t\t\t\t\t\t\t\t\t\t\t<!--可用自提点-->\r\n    \t\t\t\t    <div pickid=\"1411\" pickName=\"金州站\"  class=\"site-item\"  pickName=\"金州站\" >\r\n    \t\t\t\t\t\t<div class=\"site-in-short\" style=\"cursor:pointer\" onclick=\"doSelectPicksite(this)\">\r\n    \t\t\t\t\t\t\t金州站 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t<b></b>\r\n    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t\t<div class=\"field\">\r\n    \t\t\t\t\t\t\t<span class=\"tip\">地址：上海市闵行区都会路2849弄8号 021-54303095</span>\r\n    \t\t\t\t\t\t\t<a href=\"http://help.jd.com/help/question-101.html#shanghaijinzhou\" target=\"_blank\" class=\"ftx-05 map-link\">详细地图</a>  \r\n    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t\t<div class=\"clr\"></div>\r\n    \t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<!--选中的自提点-->\r\n\t\t\t\t\t\t\t\t\t\t\t<!--可用自提点-->\r\n    \t\t\t\t    <div pickid=\"4532\" pickName=\"新梅莘苑自提柜\"  class=\"site-item\"  pickName=\"新梅莘苑自提柜\" >\r\n    \t\t\t\t\t\t<div class=\"site-in-short\" style=\"cursor:pointer\" onclick=\"doSelectPicksite(this)\">\r\n    \t\t\t\t\t\t\t新梅莘苑自提柜 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t<b></b>\r\n    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t\t<div class=\"field\">\r\n    \t\t\t\t\t\t\t<span class=\"tip\">地址：上海市闵行区珠城路118弄新梅莘苑大门口物业管理处旁大厅 021-54303095</span>\r\n    \t\t\t\t\t\t\t<a href=\"http://help.jd.com/help/question66.html#xmxy\r\n\" target=\"_blank\" class=\"ftx-05 map-link\">详细地图</a>  \r\n    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t\t<div class=\"clr\"></div>\r\n    \t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<!--选中的自提点-->\r\n\t\t\t\t\t\t\t\t\t\t\t<!--可用自提点-->\r\n    \t\t\t\t    <div pickid=\"4533\" pickName=\"海德名园自提柜\"  class=\"site-item\"  pickName=\"海德名园自提柜\" >\r\n    \t\t\t\t\t\t<div class=\"site-in-short\" style=\"cursor:pointer\" onclick=\"doSelectPicksite(this)\">\r\n    \t\t\t\t\t\t\t海德名园自提柜 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t<b></b>\r\n    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t\t<div class=\"field\">\r\n    \t\t\t\t\t\t\t<span class=\"tip\">地址：松江区玉树北路海德名园居委会办公室大厅 021-52272569</span>\r\n    \t\t\t\t\t\t\t<a href=\"http://help.jd.com/help/question-66.html#haidemingyuan\" target=\"_blank\" class=\"ftx-05 map-link\">详细地图</a>  \r\n    \t\t\t\t\t\t</div>\r\n    \t\t\t\t\t\t<div class=\"clr\"></div>\r\n    \t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<!--循环取出自提点信息结束-->\r\n\t\t\t</div>\r\n\t\t\t<div class=\"pick-more\" >\r\n\t\t\t\t<span  class=\"selfpick_more_link open ftx05\"  style=\"cursor:pointer;\" onclick=\"open_MorePicksite(this)\">展开更多<b></b></span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"item\">\r\n\t\t<span class=\"label\">&nbsp;</span>\r\n\t\t<div class=\"fl\">\r\n\t\t\t<div class=\"op-btns\">\r\n\t\t\t\t<a class=\"btn-9\" onclick=\"doSaveDialogPickSite()\">保存自提点</a>\r\n\t\t\t\t<a class=\"btn-9 ml10\" href=\"javascript:jQuery.closeDialog();\">取消</a>\r\n\t\t\t</div> \r\n\t\t\t<div class=\"ftx-03 mt10\">自提时付款，支持现金、POS刷卡、支票支付 <a class=\"ftx-05\" href=\"http://help.jd.com/help/question-64.html#help170\" target=\"_blank\">查看自提流程</a></div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<script type=\"text/javascript\">\r\n   //选择自提点\r\n   function doSelectPicksite(thisElement){\r\n      if($(thisElement).parent().hasClass(\"site-item-disabled\")){\r\n         //alert(\"您所选取的自提点不可用\");\r\n         return;\r\n      }\r\n      $(\"#selfpick_siteDiv .site-item\").each(function(index,item){\r\n\t       if($(this).hasClass(\"site-item-selected\")){\r\n\t           $(this).removeClass().addClass(\"site-item\");\r\n\t       }\r\n\t  });\r\n\t  if($(thisElement).parent().hasClass(\"site-item-selected\")==false){\r\n\t      $(thisElement).parent().removeClass().addClass(\"site-item site-item-selected\");\r\n\t  }\r\n   }\r\n   function doClosePickSite(){\r\n   \t   $(\".site-item\").each(function(index,item){\r\n\t       if($(this).hasClass(\"site-item-selected\")){\r\n\t           $(this).removeClass().addClass(\"site-item\");\r\n\t       }\r\n\t  });\r\n\t  javascript:jQuery.closeDialog();\r\n   }\r\n</script>                                </div>\r\n    \t\t\t\t\t\t   <!--隐藏自提点结束-->\t\r\n\t\t\t\t\t\t\t   <!--自提点配送时间开始-->\r\n\t\t\t\t\t\t\t   <div id=\"pickSiteShipDate\" class=\"hide\">\t\t\t\t\t\t\t       \r\n\t\t\t\t\t\t\t         \t<div class=\"date-box\">\r\n\t\t<div class=\"date-list\">\r\n\t\t\t<ul>\r\n\t\t\t  \t\t\t       \t\t\t\t       <li class=\"li_pick_shipment\" date=\"2015-03-24\" picksite_date=\"3-24\" picksite_weekDay=\"周二\" onclick=\"doSwithPickShipDate('0',this)\">\r\n\t\t\t\t\t\t   3-24\r\n\t\t\t\t\t\t   <span class=\"data\">周二</span>\r\n\t\t\t\t\t  </li>\r\n\t\t\t       \t\t\t  \t\t\t       \t\t\t\t       <li class=\"li_pick_shipment\" date=\"2015-03-25\" picksite_date=\"3-25\" picksite_weekDay=\"周三\" onclick=\"doSwithPickShipDate('0',this)\">\r\n\t\t\t\t\t\t   3-25\r\n\t\t\t\t\t\t   <span class=\"data\">周三</span>\r\n\t\t\t\t\t  </li>\r\n\t\t\t       \t\t\t  \t\t\t       \t\t\t\t       <li class=\"li_pick_shipment\" date=\"2015-03-26\" picksite_date=\"3-26\" picksite_weekDay=\"周四\" onclick=\"doSwithPickShipDate('0',this)\">\r\n\t\t\t\t\t\t   3-26\r\n\t\t\t\t\t\t   <span class=\"data\">周四</span>\r\n\t\t\t\t\t  </li>\r\n\t\t\t       \t\t\t  \t\t\t       \t\t\t\t       <li class=\"li_pick_shipment\" date=\"2015-03-27\" picksite_date=\"3-27\" picksite_weekDay=\"周五\" onclick=\"doSwithPickShipDate('0',this)\">\r\n\t\t\t\t\t\t   3-27\r\n\t\t\t\t\t\t   <span class=\"data\">周五</span>\r\n\t\t\t\t\t  </li>\r\n\t\t\t       \t\t\t  \t\t\t       \t\t\t\t       <li class=\"li_pick_shipment\" date=\"2015-03-28\" picksite_date=\"3-28\" picksite_weekDay=\"周六\" onclick=\"doSwithPickShipDate('0',this)\">\r\n\t\t\t\t\t\t   3-28\r\n\t\t\t\t\t\t   <span class=\"data\">周六</span>\r\n\t\t\t\t\t  </li>\r\n\t\t\t       \t\t\t  \t\t\t</ul>\r\n\t\t</div>\r\n\t\t<div class=\"ftx-03 mt10\">\r\n\t\t\t温馨提示：<br>\r\n\t\t\t1、您选择的时间可能会因库存不足等因素导致订单延迟，请您谅解！<br>\r\n\t\t\t2、我们会在您选定提货日期的前一天处理您的订单，在此之前您的订单处于暂停状态。\r\n\t\r\n\t\t</div>\r\n\t\t<div class=\"op-btns mt20 ac\">\r\n\t\t\t<a href=\"#none\" onclick=\"doSavePickShipDate('0')\" class=\"btn-9\">保存</a>\r\n\t\t\t<a href=\"javascript:jQuery.closeDialog();\"  class=\"btn-9 ml10\">取消</a>\r\n\t\t</div>\r\n\t</div>\r\n\r\n<script type=\"text/javascript\">\r\n        //点击切换自提点配送时间\r\n        function doSwithPickShipDate(venderId,thisElement){\r\n\t\t\t $('.li_pick_shipment').removeClass().addClass(\"li_pick_shipment\");\r\n            $(thisElement).removeClass().addClass(\"li_pick_shipment selected\");\r\n        }\r\n        \r\n        //保存自提点配送时间\r\n        function doSavePickShipDate(venderId){\r\n           $(\"#selfpick_date\").html('<span class=\"ftx-03\">配送时间：</span>' + $('.li_pick_shipment.selected').attr(\"picksite_date\") + \" \" + $('.li_pick_shipment.selected').attr(\"picksite_weekDay\"));\r\n           $(\"#saveParam_pickDate\").val($('.li_pick_shipment.selected').attr(\"date\"));\r\n\t\t   doSavePayAndShipmentInfo(\"jd_picksite_time\");\r\n           jQuery.closeDialog();\r\n        }\r\n</script>\t\t\t\t\t\t\t    </div>\r\n\t\t\t\t\t\t\t   <!--自提点配送时间结束-->\r\n\t\t\t\t\t\t\t   <!--非大件对应商品清单开始-->\r\n\t\t\t\t\t\t\t   <div class=\"hide\" id=\"jdItem_surpportSku\">\r\n    \t\t\t\t\t\t        \t\t\t\t\t\t\t\t<div class=\"tooltip-goods\">\r\n    \t\t\t\t\t\t\t\t\t<div class=\"tooltip-tit\">\r\n    \t\t\t\t\t\t\t\t\t\t以下商品为<strong>非大件商品</strong>\r\n    \t\t\t\t\t\t\t\t\t</div>\r\n    \t\t\t\t\t\t\t\t\t<div class=\"goods-items\">\r\n    \t\t\t\t\t\t\t\t\t \t    \t\t\t\t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t\t\t<div class=\"goods-item\">\r\n    \t\t\t\t\t\t\t\t\t\t\t\t<div class=\"p-img\">\r\n    \t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"#none\"><img src=\"http://img14.360buyimg.com/N4/jfs/t274/191/1323012102/354214/23ee9085/5437845cN5d6b6205.jpg\" alt=\"\"></a>\r\n    \t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n    \t\t\t\t\t\t\t\t\t\t\t\t<div class=\"p-name\">\r\n    \t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"#none\">精通iOS开发第6版</a>\r\n    \t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n    \t\t\t\t\t\t\t\t\t\t\t</div>\r\n    \t\t\t\t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\t\t</div>\r\n    \t\t\t\t\t\t\t\t</div>\t\t\r\n    \t\t\t\t\t\t   </div>\r\n\t\t\t\t\t\t\t   <!--非大件对应商品清单结束-->\r\n    \t\t\t\t\t </div>\r\n\t\t\t\t\t \t\t\t\t\t <!--以下为京东大家电配送-->\r\n\t\t\t\t\t \t\t\t\t\t \r\n\t\t\t         <!--以下为京东第三方配送-->\t\t\t\t\t\r\n\t\t\t\t\t \t\t\t\t<!--以下为第三方配送-->\t \t\t\t\t\r\n\t\t\t\t<!--如果是SOP快递或者是京东中小件商品，但是不支持配送，则采用快递运输-->\r\n\t\t\t\t   \t\t\t</div><!--dis-modes 结束-->\r\n\t\t\t<div class=\"clr\"></div>\r\n\t\t\t<div class=\"freight-cont\">\t\t\t   \r\n\t\t\t\t   \t\t\t\t\t       <strong class=\"ftx-01\" style=\"color:#666\" freightByVenderId=\"0\"  popJdShipment=\"false\">免运费</strong>\r\n\t\t\t\t   \t\t\t  </div>\r\n\t\t</div> <!--shopping-list 结束-->\t\r\n\t\t\t\t<form id=\"skuAndShipment_submit_form\"  method = 'post'  action = '' >\r\n\t   <input type=\"hidden\" id=\"saveParam_paymentId\" name=\"saveParam.paymentId\" /><!--支付方式id-->\r\n\t   <!-- 京东配送 -->\r\n\t   <input type=\"hidden\" id=\"saveParam_jdShipmentType\" name=\"saveParam.jdShipmentType\" value=\"\" /><!--京东配送-->\r\n\t   <input type=\"hidden\" id=\"saveParam_jdShipTime\" name=\"saveParam.jdShipTime\" value=\"3\"/><!-- 区分工作日，311，411-->\r\n\t   <input type=\"hidden\" id=\"saveParam_jdPayWayId\" name=\"saveParam.jdPayWayId\" value=\"0\"/><!--货到付款方式-->\r\n\t   <input type=\"hidden\" id=\"saveParam_jdCheckType\" name=\"saveParam.jdCheckType\" value=\"2\"/><!--如果是支票这个只是写死的[仅支持京东上门自取]-->\r\n\t   <input type=\"hidden\" id=\"saveParam_jdBigItemShipTimeOffset\" name=\"saveParam.jdBigItemShipTimeOffset\" value=\"0\"/><!--京东大家电安装时间偏移量-->\r\n\t   <input type=\"hidden\" id=\"saveParam_jdBigItemInstallTimeOffest\" name=\"saveParam.jdBigItemInstallTimeOffest\" value=\"0\"/><!--京东大家电配送时间偏移量-->\t  \r\n\t   <!--311-->\r\n\t   <input type=\"hidden\" id=\"saveParam_promiseType\" name=\"saveParam.promiseType\"/><!--1表示311类型，2表示411-->\r\n\t   <input type=\"hidden\" id=\"saveParam_promiseDate\" name=\"saveParam.promiseDate\"/><!--日历-->\r\n\t   <input type=\"hidden\" id=\"saveParam_promiseTimeRange\" name=\"saveParam.promiseTimeRange\"/><!--波次-->\r\n\t   <input type=\"hidden\" id=\"saveParam_promiseSendPay\" name=\"saveParam.promiseSendPay\"/><!--选择的sendpay-->\r\n\t   <input type=\"hidden\" id=\"saveParam_promiseMessage\" name=\"saveParam.promiseMessage\"/><!--预约配送提示-->\r\n\t   <!--411-->\t  \r\n\t   <input type=\"hidden\" id=\"saveParam_jdBigItemNightShip\" name=\"saveParam.jdBigItemNightShip\" value=\"false\"/><!--大家电是否支持晚间配送-->\t   \t   \r\n\t    <!--京东第三方配送-->\r\n\t   <input type=\"hidden\" id=\"saveParam_otherShipmentType\" name=\"saveParam.otherShipmentType\" value=\"\"/><!--京东第三方配送-->\r\n\t   <input type=\"hidden\" id=\"saveParam_otherShipTime\" name=\"saveParam.otherShipTime\" value=\"\"/><!--区分工作日，311，411-->\t   \r\n\t   <input type=\"hidden\" id=\"saveParam_otherBigItemShipOffset\" name=\"saveParam.otherBigItemShipOffset\" value=\"\"/><!--京东大家电安装时间偏移量-->\r\n\t   <input type=\"hidden\" id=\"saveParam_otherBigItemInstallTimeOffset\" name=\"saveParam.otherBigItemInstallTimeOffset\" value=\"\"/><!--京东大家电配送时间偏移量-->\r\n\t\t\r\n\t\t<!-- 第三方配送 -->\r\n\t   <input type=\"hidden\" id=\"saveParam_sopOtherShipmentType\" name=\"saveParam.sopOtherShipmentType\" value=\"\"/><!--第三方配送-->\r\n\t    <!-- 自提方式 -->\r\n\t   <input type=\"hidden\" id=\"saveParam_pickShipmentType\" name=\"saveParam.pickShipmentType\" value=\"\"/>\r\n     <!--自提方式-->\r\n\t   <input type=\"hidden\" id=\"saveParam_pickSiteId\"  name=\"saveParam.pickSiteId\" value=\"5456\"/><!--自提点-->\r\n\t   <input type=\"hidden\" id=\"saveParam_pickDate\" name=\"saveParam.pickDate\" value=\"2015-03-24\"/><!--自提时间-->\r\n\t   <input type=\"hidden\" id=\"saveParam_pickSiteNum\" name=\"saveParam.pickSiteNum\" value=\"5\" /><!--默认5个-->\r\n\t   <input type=\"hidden\" id=\"saveParam_pickRegionId\" name=\"saveParam.pickRegionId\"  /><!--搜索区域-->\t   \r\n\t</form>\r\n\t<input type=\"hidden\" id=\"mainSkuIdAndNums\" value=\"11555193_2,\"/><!--icon隐藏域,用于更新库存-->\r\n\t<input type=\"hidden\" id=\"calendar_hdata\" value=\"\"/><!--icon隐藏域，用户存日历控件时间段-->\r\n\t<input type=\"hidden\" id=\"calendar_ddata\" value=\"\"/><!--icon隐藏域，用户存日历控件日期-->\r\n\t<input type=\"hidden\" id=\"calendar_x\" value=\"\"/><!--icon隐藏域，存日历控件X坐标-->\r\n\t<input type=\"hidden\" id=\"calendar_y\" value=\"\"/><!--icon隐藏域，用日历控件Y坐标-->\t\r\n\t<input type=\"hidden\" id=\"last_sel_promiseDate\" value=\"\"/><!--icon隐藏域，记录上次选中的日期-->\t\r\n\t<input type=\"hidden\" id=\"last_sel_promiseTimeRange\" value=\"\"/><!--icon隐藏域，记录上次选中的时间段-->\t\r\n\t<input type=\"hidden\" id=\"last_sel_promiseSendPay\" value=\"\"/><!--icon隐藏域，记录上次选中的sendpay-->\t\r\n    <input type=\"hidden\" id=\"shipment411_sendpay\" value=\"\"/><!--411sendpay-->\t\t\r\n\t<input type=\"hidden\" id=\"shipment_support_type\" value=\"\"/><!--icon隐藏域，当前311和411支持的类型，0表示311,411都不支持,1表示只支持311,2表示只支持411,3表示311,411都支持-->\t\r\n\t<input type=\"hidden\" id=\"shipment_select_support\" value=\"\"/><!--icon隐藏域，当前311和411选中的是哪一个，1表示选中311,2表示选中411-->\t\r\n\t<input type=\"hidden\" id=\"shipment_cur411_support\" value=\"\"/><!--icon隐藏域，当前411是否还支持配送，1支持，2不支持-->\t\r\n\t<input type=\"hidden\" id=\"shipment411_msg\" value=\"\"/><!--icon隐藏域，411提示信息-->\t\r\n\t<input type=\"hidden\" id=\"pick_sel_regionid\" value=\"\"/><!--icon隐藏域，临时存放选中的自提点区域ID-->\r\n\t<input type=\"hidden\" id=\"temp_pick_sel_regionid\" value=\"\"/><!--icon隐藏域，临时存放选中的自提点区域ID-->\r\n\t<input type=\"hidden\" id=\"pick_sel_id\" value=\"\"/><!--icon隐藏域，临时存放选中的自提点ID-->\r\n\t<input type=\"hidden\" id=\"is_invoke_pickdate\" value=\"0\"/><!--自提时间隐藏域，是否要刷新自提点时间-->\r\n\t<input type=\"hidden\" id=\"is_refresh_installdate\" value=\"\"/><!--icon隐藏域，是否要刷新商品安装时间-->\r\n\t\r\n\t<input type=\"hidden\" id=\"popVenderIdStr\" value=\"0\"/><!--icon隐藏域，所有店铺ID串-->\r\n\t<!--隐藏的311配送日历开始-->\r\n\t<script id=\"shipment_hidediv\" type=\"text/temp\">\r\n\t\t  <div class=\"date-thickbox\" id=\"delivery-tab-311\">\r\n\t\t\t\t<div class=\"tab-nav\">\r\n\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t<li class=\"tab-nav-item tab-item-selected\" id=\"li_311_id\" onclick=\"doSwith311Tab('311')\"> 指定时间 <b> </b> </li> \r\n\t\t\t\t\t\t<li class=\"tab-nav-item\" id=\"li_411_id\" onclick=\"doSwith311Tab('411')\"> 极速达 <b> </b> </li>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"tab-con\" id=\"tab_311_div\">\r\n\t\t\t\t\t<div class=\"date-delivery\" id=\"date-delivery1\"></div>\r\n\t\t\t\t\t<div class=\"ftx-03 mt20\">\r\n\t\t\t\t\t\t温馨提示：我们会努力按照您指定的时间配送，但因天气、交通等各类因素影响，您的订单有可能会有延误现象！\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"op-btns mt10 ac\"> <a id=\"timeSave311\" href=\"javascript:void(0);\" href=\"\" class=\"btn-9\"> 保存 </a> <a href=\"javascript:jQuery.closeDialog();\"  class=\"btn-9 ml10\"> 取消 </a> </div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"tab-con hide\" id=\"tab_411_div\">\r\n\t\t\t\t\t<div> 下单后或支付成功后3小时送达，运费 <span class=\"ftx-01\"> 49 </span> 元 </div>\r\n\t\t\t\t\t<div class=\"ftx-03 mt20\" id=\"message_show_411\">\r\n\t\t\t\t\t\t温馨提示：我们会努力按照您指定的时间配送，但因天气、交通等各类因素影响，您的订单有可能会有延误现象！\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"op-btns mt10 ac\"> <a id=\"timeSave411\" class=\"btn-9\"> 保存 </a> <a href=\"javascript:jQuery.closeDialog();\" class=\"btn-9 ml10\"> 取消 </a> </div>\r\n\t\t\t\t</div>\r\n\t\t</div>\r\n\t</script>\r\n\t<!--隐藏的311配送日历结束-->\t</div>\r\n\t<!--shopping-lists 结束-->\t\r\n\t<!--添加商品清单结束-->\r\n\t<div class=\"order-remarks hide\" id=\"orderRemarkItem\">\r\n\r\n\t</div>\r\n</div>  </div>\r\n</div>\t\t\t\r\n<!--  /widget/invoice-step/invoice-step.tpl -->\r\n<div class=\"step-tit\">\r\n\t<h3>发票信息</h3>\r\n</div>\r\n<div class=\"step-content\">\r\n\t<div id=\"part-inv\" class=\"invoice-cont\">\r\n\t\t         <span class=\"mr10\"> 普通发票（电子） &nbsp; </span><span class=\"mr10\"> 个人 \r\n        &nbsp; </span><span class=\"mr10\"> \r\n        &nbsp; </span>  明细 \r\n              \t\t\t\t\t<a href=\"#none\" class=\"ftx-05 invoice-edit\" onclick=\"edit_Invoice()\">修改</a>\r\n\t\t\t</div>\r\n</div>\r\n<!--/ /widget/invoice-step/invoice-step.tpl -->\r\n\t\t\t\t\t\r\n<!--  /widget/order-summary/order-summary.tpl -->\r\n<div class=\"order-summary\">\r\n\t<!--  预售 计算支付展现方式 begin -->\r\n\t\t<div class=\"statistic fr\">\r\n\t\t<div class=\"list\">\r\n\t\t\t<span><em class=\"ftx-01\">2</em> 件商品，总商品金额：</span>\r\n\t\t\t<em class=\"price\" id=\"warePriceId\" v=\"182.60\">￥182.60</em>\r\n\t\t</div>\r\n\t\t<div class=\"list\">\r\n\t\t\t<span>返现：</span>\r\n\t\t\t<em class=\"price\" id=\"cachBackId\" v=\"20.00\"> -￥20.00</em>\r\n\t\t</div>\r\n\t\t<div class=\"list\">\r\n\t\t\t<span>运费：</span>\r\n\t\t\t<em class=\"price\"   id=\"freightPriceId\"> ￥0.00</em>\r\n\t\t</div>\r\n\t\t<div class=\"list\" id=\"showCouponPrice\"  style=\"display:none;\" >\r\n\t\t\t<span>商品优惠：</span><em class=\"price\" id='couponPriceId'>-￥0.00</em>\r\n\t\t</div>\r\n    <div class=\"list\" id=\"showFreeFreight\"  style=\"display:none;\" >\r\n      <span>运费优惠：</span><em class=\"price\" id=\"freeFreightPriceId\"> -￥0.00</em>\r\n    </div>\r\n\t\t<div class=\"list\" id=\"showGiftCardPrice\"  style=\"display:none;\" >\r\n\t\t\t<span>京东卡/E卡：</span><em class=\"price\" id='giftCardPriceId'>-￥ 0.00</em>\r\n\t\t</div>\r\n\t\t<div class=\"list\" id=\"showUsedJdBean\"  style=\"display:none;\" >\r\n\t\t\t<span>京豆：</span><em class=\"price\" id='usedJdBeanId'>-￥0</em>\r\n\t\t</div>\r\n\t\t<div class=\"list\" id=\"showUsedOrderBalance\"  style=\"display:none;\" >\r\n\t\t\t<span>余额：</span><em class=\"price\" id='usedBalanceId'>-￥0.00</em>\r\n\t\t</div>\r\n\t\t<div class=\"list\" id=\"showPeriodFee\" style=\"display:none;\">\r\n\t\t\t<span>分期手续费(由分期银行收取)：</span><em class=\"price\" id=\"periodFee\">￥0.00</em>\r\n\t\t</div>\r\n\t\t<div class=\"list\">\r\n\t\t\t<span>应付总额：</span>\r\n\t\t\t<em class=\"price\" id=\"sumPayPriceId\"> ￥162.60</em>\r\n\t\t</div>\r\n\t</div>\r\n\t\t<div class=\"clr\"></div>\r\n\t</div>\r\n</div>\r\n</div>\r\n<!--/ /widget/order-summary/order-summary.tpl -->\r\n\t\t\t\t\t\r\n<!--  /widget/checkout-floatbar/checkout-floatbar.tpl -->\r\n<div class=\"trade-foot\">\r\n  <div id=\"checkout-floatbar\" class=\"group\">\r\n    <div class=\"ui-ceilinglamp checkout-buttons\">\r\n      <div class=\"sticky-placeholder hide\" style=\"display: none;\">\r\n      </div>\r\n      <div class=\"sticky-wrap\">\r\n      \t<div class=\"inner\">\r\n          <button type=\"submit\" class=\"checkout-submit btn-1\" id=\"order-submit\" onclick=\"javascript:submit_Order();\">\r\n            提交订单<b></b>\r\n          </button>\r\n                    <span class=\"total\">应付总额：<strong id=\"payPriceId\">￥162.60</strong>\r\n            <label class=\"noShowMoney hide\" id=\"giftBuyHidePriceDiv\">\r\n              <input type=\"checkbox\" id=\"giftBuyHidePrice\" checked >隐藏礼品价格\r\n            </label>\r\n          </span>\r\n                    <span id=\"checkCodeDiv\"></span>\r\n          <div class=\"checkout-submit-tip\" id=\"changeAreaAndPrice\" style=\"display: none;\">\r\n            由于价格可能发生变化，请核对后再提交订单\r\n          </div>\r\n          <div style=\"display:none\" id=\"factoryShipCodShowDivBottom\" class=\"dispatching\">\r\n            部分商品货到付款方式：先由京东配送“提货单”并收款，然后厂商发货。\r\n          </div>\r\n        </div>\r\n        <span id=\"submit_message\" style=\"display:none\" class=\"submit-error\" ></span>\r\n\t\t  \t<div class=\"submit-check-info\" id=\"submit_check_info_message\" style=\"display:none\"></div>\r\n    \t</div>\r\n    </div>\r\n  </div>\r\n  \r\n        </div>\r\n      </div>\r\n    <!--  /widget/backpanel/backpanel.tpl -->\r\n    <div id=\"backpanel\">\r\n        <div id=\"backpanel-inner\" class=\"hide\"> \r\n            <div class=\"bp-item bp-item-survey\">\r\n                <a href=\"http://surveys.jd.com/index.php?r=survey/index/sid/584338/lang/zh-Hans\" class=\"survey\" target=\"_blank\">我要反馈</a>\r\n            </div>\r\n            <div class=\"bp-item bp-item-backtop\" data-top=\"0\">\r\n                <a href=\"#none\" class=\"backtop\" target=\"_self\">返回顶部</a>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <!--/ /widget/backpanel/backpanel.tpl -->\r\n    </div>\r\n\r\n  </div>\r\n</div>\r\n\r\n<!-- /main -->\r\n\r\n<!--  /widget/footer/footer.tpl -->\r\n<!-- footer -->\r\n<!-- 不支持自提商品列表隐藏域  -->\r\n<script id=\"noSupSkus_hideDiv\" type=\"text/temp\">&nbsp;</script>\r\n\t\t<!-- footer start -->\r\n<jsp:include page=\"../commons/footer.jsp\" />\r\n<!-- footer end -->\r\n\t<script type=\"text/javascript\" src=\"/js/json2.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"/js/payAndShipment.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"/js/order2.js\"></script>\r\n\t</body>\r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/order.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<%@ taglib prefix=\"c\" uri=\"http://java.sun.com/jsp/jstl/core\" %>\r\n<%@ taglib prefix=\"fmt\" uri=\"http://java.sun.com/jsp/jstl/fmt\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n  <head>\r\n\t<meta http-equiv=\"pragma\" content=\"no-cache\" />\r\n    <meta http-equiv=\"cache-control\" content=\"no-cache\" />\r\n    <meta http-equiv=\"expires\" content=\"0\" /> \r\n    <meta name=\"format-detection\" content=\"telephone=no\" />  \r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no\" /> \r\n    <meta name=\"format-detection\" content=\"telephone=no\" />\r\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\r\n    <title>订单结算页 -咪购商城</title>\r\n\t<!--结算页面样式-->\r\n    <link type=\"text/css\" rel=\"stylesheet\" href=\"/css/base.css\" />\r\n    <link type=\"text/css\" rel=\"stylesheet\" href=\"/css/purchase.checkout.css\" />\r\n\t<script type=\"text/javascript\" src=\"/js/jquery-1.2.6.min.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"/js/jquery.checkout.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"/js/base-v1.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"/js/order.common.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"/js/migo.js\" charset=\"utf-8\"></script>\r\n</head>\r\n<body id=\"mainframe\">\r\n<!--shortcut start-->\r\n<jsp:include page=\"../commons/shortcut.jsp\" />\r\n<!--shortcut end-->\r\n\t<form id=\"orderForm\" class=\"hide\">\r\n\t\t<input type=\"hidden\" name=\"paymentType\" value=\"1\"/>\r\n\t\t\t<c:set var=\"totalPrice\"  value=\"${ item.price}\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[0].itemId\" value=\"${item.id}\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[0].num\" value=\"1\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[0].price\" value=\"${item.price}\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[0].totalFee\" value=\"${item.price}\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[0].title\" value=\"${item.title}\"/>\r\n\t\t\t<input type=\"hidden\" name=\"orderItems[0].picPath\" value=\"${item.image}\"/>\r\n\t\t<input type=\"hidden\" name=\"payment\" value=\"<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${totalPrice/100 }\"/>\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverName\" value=\"花和尚\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverMobile\" value=\"15800000000\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverState\" value=\"上海\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverCity\" value=\"上海\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverDistrict\" value=\"闵行区\"/>\r\n\t\t<input type=\"hidden\" name=\"orderShipping.receiverAddress\" value=\"三鲁公路3279号 明浦广场 3号楼 205室 \"/>\r\n\t</form>\r\n\t<div class=\"w w1 header clearfix\">\r\n\t\t<div id=\"logo\"><a href=\"http://www.migo.com/\"><img src=\"/images/migo-logo.gif\"  alt=\"咪购商城\" /></a></div>\r\n\t\t<div class=\"progress clearfix\">\r\n\t\t\t<ul class=\"progress-2\">\r\n\t\t\t\t<li class=\"s1\"><b></b>1.我的购物车</li>\r\n\t\t\t\t<li class=\"s2\"><b></b>2.填写核对订单信息</li>\r\n\t\t\t\t<li class=\"s3\">3.成功提交订单</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"w m2\"><a name=\"consigneeFocus\"></a>\r\n\t\t<div id=\"checkout\">\r\n\t\t\t<div class=\"mt\">\r\n\t\t\t\t<h2>填写并核对订单信息</h2>\r\n\t\t\t</div>\r\n\t\t\t<div id=\"wizard\" class=\"checkout-steps\">\r\n\t\t\t\t<div id=\"step-1\" class=\"step step-complete\">\r\n\t\t\t\t\t<div class=\"step-title\">\r\n\t\t\t\t\t\t<div id=\"save-consignee-tip\" class=\"step-right\">\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<strong id=\"consigneeTitleDiv\">收货人信息</strong>\r\n\t\t\t\t\t\t<span class=\"step-action\"  id=\"consignee_edit_action\"><a href=\"#none\" onclick=\"edit_Consignee()\">[修改]</a></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"step-content\">\r\n\t\t\t\t\t\t<div id=\"consignee\" class=\"sbox-wrap\">\r\n\t\t\t\t\t\t\t <div class=\"sbox\">\r\n\t<div class=\"s-content\">\r\n\t <p>\r\n\t  \t\t花和尚 &nbsp; 15800007000 &nbsp;  &nbsp; \r\n\t\t<br/>\r\n\t\t\t\t   上海 闵行区 外环以外  &nbsp;\r\n\t\t\t\t三鲁公路3279号 明浦广场 3号楼 205室 \r\n\t\t\t  \t  </p>\r\n\t</div>\r\n</div>\t\t\t\t\t\t</div><!--@end div#consignee-->\r\n\t\t\t\t\t\t \t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div id=\"step-2\" class=\"step step-complete\"><a name=\"payAndShipFocus\"></a>\r\n\t\t\t\t\t<div class=\"step-title\">\r\n\t\t\t\t\t\t<div id=\"save-payAndShip-tip\" class=\"step-right\">\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<strong>支付及配送方式</strong>\r\n\t\t\t\t\t\t<span class=\"step-action\"  id=\"payment-ship_edit_action\"><a href=\"#none\" onclick=\"edit_Payment(false)\">[修改]</a></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"step-content\">\r\n\t\t\t\t\t\t<div id=\"payment-ship\" class=\"sbox-wrap\">\r\n\t\t\t\t\t\t\t<div class=\"sbox\">\r\n\t<div class=\"s-content payment-info\">\r\n\t\t<div class=\"payment-selected\">\r\n\t\t\t\t\t\t\t\t\t在线支付  \r\n\t\t\t\t\t<span id=\"baitiaomessage\" style=\"display:none\"><font color=\"#FF6600;\">&nbsp;使用在线支付支持打白条</font></span>\r\n\t\t\t\t\t\t<span class=\"easyPayWarning\"></span>\r\n\t\t\t\t\t\t\t        \t\t</div>\r\n\t    \r\n        <div class=\"way-list\">\r\n\t        \t\t\t        \t\t\t\t         <div class=\"way-item\">\r\n\t\t\t            咪购快递&nbsp;&nbsp;中小件商品&nbsp;&nbsp;<font color='#FF6600;'>工作日、双休日与假日均可送货</font> &nbsp;\r\n\t\t\t             \t\t\t             <span id=\"promise_jd_message\"></span>\r\n\t\t\t             \t\t\t          </div>\r\n\t        \t\t\t\r\n\t        \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t</div>\r\n\t</div>\r\n\r\n<!-- freight 弹窗 -->\r\n<div class=\"bt bt-w freight-tooltip hide\" id=\"transportInPay\">\r\n\t</div>\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t \t\t\t\t\t\t<!--<div id=\"shipment\"></div>-->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t\r\n\t\t\t\t<div id=\"step-3\" class=\"step step-complete\"><a name=\"invoiceFocus\"></a>\r\n\t\t\t\t\t<div class=\"step-title\">\r\n\t\t\t\t\t\t<div id=\"save-invoice-tip\" class=\"step-right\">\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<strong>发票信息</strong>\r\n\t\t\t\t\t\t<span class=\"step-action\" id=\"part-invoice_edit_action\"><a href=\"#none\" onclick=\"edit_Invoice()\">[修改]</a></span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"step-content\">\r\n\t\t\t\t\t\t<div id=\"part-invoice\" class=\"sbox-wrap\">\r\n\t\t\t\t\t\t\t<div class=\"sbox\">\r\n\t<div class=\"invoice\">\r\n\t\t<div class=\"invoice-content\">\r\n\t\t\t\t\t\t\t普通发票（电子） &nbsp; 个人 \r\n\t\t\t\t&nbsp; 明细\r\n\t\t\t\t&nbsp;  <br />\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t<div class=\"ftx-04 invoice-prompt\">\r\n                    <dl class=\"clearfix\">\r\n                       <dt>温馨提示：</dt>\r\n                       <dd>\r\n                           <div>发票的开票金额不包括咪购卡/咪购E卡、优惠券和京豆支付部分</div>\r\n\t\t\t\t\t\t                              <div>电子发票是税务局认可的有效收付款凭证，具有售后维权的法律效力，暂不支持企业报销</div>\r\n\t\t\t\t\t\t                          </dd>\r\n                    </dl>\r\n                </div>\r\n\t\t\t\t\t\t<div class=\"invoice-note\" style=\"display:none\">\r\n\t\t\t\t\t\t\t\t\t备注：如商品由第三方卖家销售，发票内容由其卖家决定，发票由卖家开具并寄出\r\n\t\t\t\t\t<a href=\"#none\" class=\"tips-i\" id=\"bill-tip-btn\">&nbsp;</a>\r\n\t\t\t\t\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div id=\"step-4\" class=\"step step-complete\">\r\n\t\t\t\t\t<div class=\"step-title hide\"><a href=\"http://cart.jd.com/cart/cart.html\" id=\"cartRetureUrl\" class=\"return-edit\">返回修改购物车</a><strong>商品清单</strong></div>\r\n\t\t\t\t\t<div class=\"step-content\">\r\n\t\t\t\t\t\t<div id=\"part-order\" class=\"sbox-wrap\">\r\n\t\t\t\t\t\t\t<div class=\"sbox\">\r\n\t\t\t\t\t\t\t\t<div id=\"order-cart\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"order-review\">\r\n\t\t\t\t\t\t\t\t\t\t   <!--商品清单展示-->\r\n\t\t\t\t\t\t\t\t\t\t<span id=\"span-skulist\">\r\n    \t\t\t\t\t\t\t\t\t<table class=\"review-thead\">\r\n\t<tbody>\r\n\t\t<tr>\r\n\t\t<td class=\"fore1\">商品</td>\r\n\t\t\t\t\t<td class=\"fore2\">咪购价</td>\r\n\t\t\t\t<td class=\"fore3\">优惠</td>\r\n\t\t<td class=\"fore4\">数量</td>\r\n\t\t<td class=\"fore4\">库存状态</td>\r\n\t    </tr>\r\n\t</tbody>\r\n</table>\r\n<!--**********商品清单内容列表开始************-->\r\n<div class=\"review-body\">\r\n    <!--购物车单品商品-->\r\n    <!--一般套装商品-->\r\n <!--满返套装商品-->\r\n <!--满赠套装商品-->\r\n\r\n<!--单组商品循环公共函数-->\r\n\r\n<!---单品开始--->\r\n    <!---单品结束--->\r\n\r\n<!--********一般套装开始*********-->\r\n<!--********一般套装结束*********-->\r\n\r\n<!--********滿帆套装开始*********-->\r\n<!--********滿帆套装結束*********-->\r\n\r\n\r\n<!--********滿贈套装開始*********-->\r\n\t \t\t<div class=\"review-block review-present\">\r\n\t\t <div class=\"block-header\">\r\n\t\t    <table class=\"order-table\">\r\n\t\t\t  <tbody>\r\n\t\t\t    <tr class=\"hide\">\r\n\t\t\t\t  <td class=\"fore1\"><b></b>\r\n\t\t\t\t\t<strong>\r\n\t\t\t\t\t   \t\t\t\t\t      \t\t\t\t\t\t             已购满100.00元\r\n\t\t\t\t\t\t  \t\t\t\t\t\t  \t\t\t\t\t\t  \t     ，您可以返回购物车领取赠品\r\n\t\t\t\t\t\t  \t\t\t\t\t   \t\t\t\t\t</strong>\r\n\t\t\t\t  </td>\r\n\t\t\t\t  <td class=\"p-price\">\r\n\t\t\t\t\t<strong>\r\n\t\t\t\t\t\t￥<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${item.price/100 }\"/>\r\n\t\t\t\t\t</strong>\r\n\t\t\t\t  </td>\r\n\t\t\t\t  <td class=\"p-promotion\">&nbsp;</td>\r\n\t\t\t\t  <td class=\"fore2\"></td>\r\n\t\t\t\t  <td class=\"fore2\">&nbsp;</td>\r\n\t\t\t\t</tr>\r\n\t\t\t   </tbody>\r\n\t\t    </table>\r\n\t     </div>\r\n\t\t       </div>\r\n\t             \t\t<!-- 此处置空是必须的  -->\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"review-tbody\">\r\n\t\t<table class=\"order-table\">\r\n\t\t\t<tbody>\r\n\t\t\t\t  <tr>\r\n\t\t\t\t    <td class=\"fore1\">\r\n\t\t\t\t\t   <div class=\"p-goods\">\r\n\t\t\t\t\t\t  <div class=\"p-img\"><a href=\"http://www.migo.com/item/${item.id}.html\" target='_blank'><img width=\"52\" height=\"52\" src=\"${item.images[0]}\"></a></div>\r\n\t\t\t\t\t\t\t <div class=\"p-detail\">\r\n\t\t\t\t\t\t\t\t<div class=\"p-name\">\r\n\t\t\t\t\t\t\t\t\t<a href=\"http://www.migo.com/item/${item.id}.html\" target='_blank'>\r\n\t\t\t\t\t\t\t\t\t\t${item.title }\r\n\t\t\t\t\t\t\t\t    </a>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"p-more\">商品编号：${item.id}<br />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- icon图标预留-->\r\n\t\t\t\t\t\t\t\t<span id=\"promise_1057746\" class=\"promise411\"></span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t </div>\r\n\t\t\t\t\t\t   </div>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t  \t\t\t\t  <td class=\"p-price\"><strong>￥<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${item.price / 100 }\"/></strong>\r\n\t\t\t\t\t  </td>\r\n\t\t\t\t\t  \t\t\t\t  <td class=\"p-promotion\"> </td>\r\n\t\t\t\t\t  <td class=\"fore2\">x 1</td>\r\n\t\t\t\t\t  <td class=\"fore2 p-inventory\"  skuId=\"1057746\">有货</td>\r\n\t\t\t\t   </tr>\r\n\t\t\t</tbody>\r\n        </table>\r\n\t </div>\r\n\t   \r\n\t       \t \t \r\n<!--********滿贈套装結束*********-->\t\t\t\t\t\t\r\n</div>\r\n<!--**********商品清单内容列表结束************-->\r\n                                        </span>\t\t\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"order-summary\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"summary-form fl\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"safe-tip\" style=\"display:none\" id=\"safeVerciryPromptPart\">&nbsp;&nbsp;&nbsp;&nbsp;为保障您的账户资金安全，余额暂时不可用，请先<a target=\"_blank\" href=\"http://safe.jd.com/user/paymentpassword/safetyCenter.action\">开启支付密码</a></div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t<!--  预售 计算支付展现方式 begin -->\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"statistic fr\">\r\n                                                <div class=\"list\"><span><em id=\"span-skuNum\">1</em> 件商品，总商品金额：</span><em class=\"price\" id=\"warePriceId\" v=\"<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${totalPrice/100 }\"/>\">￥<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${totalPrice/100 }\"/></em></div>\r\n                                                <div class=\"list\"><span>返现：</span><em class=\"price\" id=\"cachBackId\" v=\"0.00\"> -￥0.00</em></div>\r\n                                                <div class=\"list\" id=\"showFreightPrice\" style=\"padding-left:140px;\">\r\n                                                \t\t<span id=\"freightSpan\"  style=\"width:40px;\"   >运费：</span> \r\n                                                \t\t<em class=\"price\" id=\"freightPriceId\"  > ￥0.00</em>\r\n                                                </div>\r\n                                                <div class=\"list\"><span>应付总额：</span><em id=\"sumPayPriceId\" class=\"price\"> ￥<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${totalPrice/100 }\"/></em></div>\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"span clr\"></div>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t</div><!--@end div.order-summary-->\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div><!--@end div#order-cart-->\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<!-- 验证码 -->\r\n\t\t\t\t\t\t\t<div class=\"check-code group\" id=\"checkCodeDiv\" ></div>\r\n\t\t\t\t\t\t\t<span class=\"clr\"></span>\r\n\t\t\t\t\t\t</div><!--@end div#part-order-->\r\n\t\t\t\t\t\t<div id=\"checkout-floatbar\" class=\"checkout-buttons group\">\r\n\t\t\t\t\t\t\t<div class=\"inner\">\r\n\t\t\t\t\t\t\t\t<style type=\"text/css\">.checkout-buttons .checkout-submit{background-color:#e00;position:relative;line-height:36px;overflow:hidden;color:#fff;font-weight:bold;font-size:16px;}.checkout-buttons .checkout-submit b{position:absolute;left:0;top:0;width:135px;height:36px;background:url(http://misc.360buyimg.com/purchase/trade/skin/i/btn-submit.jpg) no-repeat;cursor:pointer;overflow:hidden;}.checkout-buttons .checkout-submit:hover{background-color:#EF494D;}.checkout-buttons  .checkout-submit:hover b{background-position:0 -36px;}.checkout-buttons .checkout-submit-disabled{background-color:#ccc;position:relative;line-height:36px;font-weight:bold;font-size:16px;cursor:not-allowed;}.checkout-buttons .checkout-submit-disabled b{position:absolute;left:0;top:0;width:135px;height:36px;background:url(http://misc.360buyimg.com/purchase/trade/skin/i/btn-disabled.png) no-repeat;cursor:not-allowed;}</style>\r\n                                <!--input type=\"submit\"  class=\"checkout-submit\" value=\"\" id=\"order-submit\" onclick=\"javascript:submit_Order();\"/-->\r\n                                <button type=\"submit\" class=\"checkout-submit\"  id=\"order-submit\" onclick=\"javascript:submit_Order();\">\r\n                                        提交订单\r\n                                        <b></b>\r\n                                </button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"total\">应付总额：<strong id=\"payPriceId\">￥<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${totalPrice/100 }\"/></strong>元 \r\n\t    \t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"checkout-submit-tip\" id=\"changeAreaAndPrice\" style=\"display: none;\">由于地址更换，价格可能发生变化，请核对后再提交订单</div>\r\n\t\t\t\t\t\t\t\t<div style=\"display:none\" id=\"factoryShipCodShowDivBottom\" class=\"dispatching\">\r\n\t\t\t\t\t\t\t\t\t部分商品货到付款方式：先由咪购配送“提货单”并收款，然后厂商发货。\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<span id=\"submit_message\" style=\"display:none\" class=\"submit-error\" ></span>\r\n\t\t\t\t\t\t\t<div class=\"submit-check-info\" id=\"submit_check_info_message\" style=\"display:none\"></div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n<!-- freight 弹窗,不放到orderInfo中弹框 就会串行-->\r\n<div class=\"bt bt-w freight-tooltip hide\" id=\"transport\">\r\n</div>\r\n   <div class=\"w\">\r\n\r\n\t<!-- links start -->\r\n    <jsp:include page=\"../commons/footer-links.jsp\"></jsp:include>\r\n    <!-- links end -->\r\n</div><!-- footer end -->\r\n\t<script type=\"text/javascript\" src=\"/js/order.js\"></script>\r\n\t<script type=\"text/javascript\" src=\"/js/base-2011.js\"></script>\r\n    <script type=\"text/javascript\" src=\"/js/lib-v1.js\"></script>\r\n    <script type=\"text/javascript\" src=\"/js/jTips.js\"></script>\r\n    <script type=\"text/javascript\" src=\"/js/calendar.js\"></script>\r\n\t<script type=\"text/javascript\">\r\n\t\t\r\n\t$('#bill-tip-btn').Jtips({//随点随帮tip弹出\r\n\t\t\"content\":'<a target=\"_blank\" href=\"http://help.jd.com/help/question-61.html#kjfpf\">如何区分咪购销售和第三方卖家销售的商品?</a>',\r\n\t\t\"close\":true,\t\t\t\r\n\t    \"position\": 'bottom'\r\n\t});\r\n\t//<![CDATA[\r\n\t$(function(){\r\n\t\t$(\"#checkout-floatbar\").jSticky();\r\n\t});\r\n\t//]]>\r\n\t</script>\r\n\t<script type=\"text/javascript\">\r\n\t//<![CDATA[\r\n\tvar couponToggle = (function(){\r\n\t\tvar obj = $('[data-bind=\"coupon\"]'),\r\n\t\t\ttObj = obj.find(\".item\");\r\n\r\n\t\tvar init = function(){\r\n\t\t\ttObj.each(function(){\r\n\t\t\t\tvar that = $(this);\r\n\t\t\t\tvar toggler = $(this).find(\".toggler\");\r\n\t\t\t\tvar toggled = false;\r\n\r\n\t\t\t\ttoggler.bind(\"click\", function(e){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\ttoggled = !toggled;\r\n\r\n\t\t\t\t\ttoggler.parent().parent()[toggled ? \"addClass\" : \"removeClass\"](\"toggle-active\");\r\n\r\n\t\t\t\t\tthat.find(\".toggle-wrap\")[toggled ? \"removeClass\" : \"addClass\"](\"hide\").css(\"display\", toggled ? \"block\" : \"none\");\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\treturn {\r\n\t\t\tinit: init\r\n\t\t};\r\n\t})();\r\n\r\n\r\n\tvar invoiceMore = (function(){\r\n\t\tvar expandHolder = $(\"#invoice-list\"),\r\n\t\t\texpandHandle = $(\"#invoice-more-btn\"),\r\n\t\t\titem = expandHolder.find(\".item-fore\");\r\n\t\t\texpand = false;\r\n\r\n\t\tvar init = function(){\r\n\t\t\texpandHandle.bind(\"click\", function(){\r\n\t\t\t\texpand = !expand;\r\n\r\n\t\t\t\titem[expand ? \"removeClass\" : \"addClass\"](\"hide\").css(\"display\", expand ? \"block\" : \"none\");\r\n\r\n\r\n\t\t\t\texpandHandle.removeClass(expand ? \"select-expand\" : \"select-collapse\").addClass(expand ? \"select-collapse\" : \"select-expand\").find(\"span\").html(expand ? \"\\u6536\\u8D77\" : \"\\u66F4\\u591A\\u5E38\\u7528\\u5730\\u5740\");\r\n\r\n\t\t\t\tif(expand) {\r\n\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\treturn {\r\n\t\t\tinit: init\r\n\t\t};\r\n\t})();\r\n\t//]]>\r\n\t\r\n\t//防止窗口变换，弹窗错位\r\n\t$(window).resize(function(){\r\n           var obj=$(\"#freightSpan\");\r\n           if($(\"#transport\").html()!=null){\r\n\t           $(\"#transport\").css({\r\n\t\t\t\t\tposition:\"absolute\",\r\n\t\t\t\t\ttop:obj.offset().top+\"px\",\r\n\t\t\t\t\tleft:(obj.offset().left-345)+\"px\"\r\n\t           })\r\n           }\r\n\t});\r\n\t</script>\t </body>\r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/register.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\r\n        \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\"/>\r\n    <meta http-equiv=\"pragma\" content=\"no-cache\">\r\n    <meta http-equiv=\"Cache-Control\" content=\"no-cache,must-revalidate\">\r\n    <title>注册-个人用户</title>\r\n    <link type=\"text/css\" rel=\"stylesheet\" href=\"/css/regist.personal.css\"/>\r\n    <link type=\"text/css\" rel=\"stylesheet\" href=\"/css/passport.base.css\"/>\r\n    <script type=\"text/javascript\" src=\"/js/jquery-1.2.6.min.js\"></script>\r\n</head>\r\n<body>\r\n    <script type=\"text/javascript\">\r\nfunction login() {\r\n    location.href = \"/user/login.html\";\r\n    return false\r\n}\r\nfunction regist() {\r\n    location.href = \"/user/register.html\";\r\n    return false\r\n}\r\n(function (a) {\r\n    a.fn.Jdropdown = function (d, e) {\r\n        if (!this.length) {\r\n            return\r\n        }\r\n        if (typeof d == \"function\") {\r\n            e = d;\r\n            d = {}\r\n        }\r\n        var c = a.extend({event: \"mouseover\", current: \"hover\", delay: 0}, d || {});\r\n        var b = (c.event == \"mouseover\") ? \"mouseout\" : \"mouseleave\";\r\n        a.each(this, function () {\r\n            var h = null, g = null, f = false;\r\n            a(this).bind(c.event,\r\n                    function () {\r\n                        if (f) {\r\n                            clearTimeout(g)\r\n                        } else {\r\n                            var j = a(this);\r\n                            h = setTimeout(function () {\r\n                                j.addClass(c.current);\r\n                                f = true;\r\n                                if (e) {\r\n                                    e(j)\r\n                                }\r\n                            }, c.delay)\r\n                        }\r\n                    }).bind(b, function () {\r\n                        if (f) {\r\n                            var j = a(this);\r\n                            g = setTimeout(function () {\r\n                                j.removeClass(c.current);\r\n                                f = false\r\n                            }, c.delay)\r\n                        } else {\r\n                            clearTimeout(h)\r\n                        }\r\n                    })\r\n        })\r\n    }\r\n})(jQuery);\r\nfunction addToFavorite() {\r\n    var a = \"http://www.jd.com/\";\r\n    var b = \"京东商城-网购上京东，省钱又放心\";\r\n    if (document.all) {\r\n        window.external.AddFavorite(a, b)\r\n    } else if (window.sidebar) {\r\n        window.sidebar.addPanel(b, a, \"\")\r\n    } else {\r\n        alert(\"对不起，您的浏览器不支持此操作!\\n请您使用菜单栏或Ctrl+D收藏本站。\")\r\n    }\r\n}</script>\r\n<!--shortcut start-->\r\n<jsp:include page=\"../commons/shortcut.jsp\" />\r\n<!--shortcut end-->\r\n<div class=\"w\" id=\"logo\">\r\n    <div>\r\n    \t<a href=\"http://www.migo.com/\">\r\n    \t\t<img src=\"/images/migo-logo.gif\" alt=\"京东商城\" width=\"170\" height=\"60\"/>\r\n    \t</a> <b></b>\r\n    </div>\r\n</div>\r\n\r\n<div class=\"w\" id=\"regist\">\r\n    <div class=\"mt\">\r\n        <ul class=\"tab\">\r\n            <li class=\"curr\">个人用户</li>\r\n            <li class=\"line hide\"><a clstag=\"regist|keycount|personalreg|02\" href=\"../reg/company\">企业用户</a></li>\r\n            <li class=\"fore hide\"><a href=\"http://passport.en.jd.com/user/facade\">International Customers</a></li>\r\n        </ul>\r\n        <div class=\"extra\">\r\n        <span style=\"text-align: right\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class=\"flk13\"\r\n                                                                               onclick=\"javascript:location.href=&quot;http://en.360buy.com&quot;+location.search;\"\r\n                                                                               href=\"#\">English</a></span> <span>我已经注册，现在就&nbsp;<a\r\n                href=\"http://www.migo.com/user/login.html\"\r\n                class=\"flk13\">登录</a></span>\r\n        </div>\r\n    </div>\r\n    <div class=\"mc\">\r\n        <form id=\"personRegForm\" method=\"POST\" onsubmit=\"return false;\">\r\n            <input type=\"hidden\" name=\"regType\" id=\"regType\" value=\"person\"/>\r\n            <input type=\"hidden\" name=\"uuid\" id=\"uuid\" value=\"${uuid}\"/>\r\n            <input type=\"hidden\" name=\"verifymc\" id=\"verifymc\" value=\"\"/>\r\n            <input type=\"hidden\" name=\"emailMg\" id=\"emailMg\"/>\r\n            <input type=\"hidden\" name=\"authcodeMg\" id=\"authcodeMg\"/>\r\n            <input type=\"hidden\" name=\"state\" id=\"state\" value=\"\"/>\r\n\r\n            <div class=\"form\" onselectstart=\"return false;\">\r\n                <div class=\"item\" id=\"select-regName\">\r\n                    <span class=\"label\"><b class=\"ftx04\">*</b>用户名：</span>\r\n\r\n                    <div class=\"fl item-ifo\">\r\n                        <div class=\"o-intelligent-regName\">\r\n                            <input type=\"text\" id=\"regName\" name=\"username\" class=\"text\" tabindex=\"1\" autoComplete=\"off\"\r\n                                   onpaste=\"return false;\"\r\n                                   value=\"\"\r\n                                   onfocus=\"if(this.value=='') this.value='';this.style.color='#333'\"\r\n                                   onblur=\"if(this.value=='') {this.value='';this.style.color='#999999'}\"/>\r\n                            <i class=\"i-name\"></i>\r\n                            <ul id=\"intelligent-regName\" class=\"hide\"></ul>\r\n                            <label id=\"regName_succeed\" class=\"blank\"></label>\r\n                            <label id=\"regName_error\" class=\"hide\"></label>\r\n                        </div>\r\n\r\n                        <div class=\"intelligent-error hide\" id=\"morePinDiv\">\r\n                            <h5>推荐您使用：</h5>\r\n\r\n                            <div class=\"groom\" id=\"morePinGroom\"></div>\r\n                        </div>\r\n                                                <input type=\"hidden\" value=\"-1\" id=\"hnschool\" class=\"hide\"/>\r\n                                                <input type=\"hidden\" id=\"schoolid\" name=\"schoolid\" class=\"hide\"/>\r\n                                                    <input type=\"hidden\" name=\"eBHtwyeixI\" value=\"EyEFt\"/>\r\n                                                <input type=\"hidden\" id=\"hnseli\" class=\"hide\"/>\r\n\r\n                    </div>\r\n                </div>\r\n\r\n                <div id=\"capslock\"><i></i><s></s>键盘大写锁定已打开，请注意大小写</div>\r\n                <div id=\"o-password\">\r\n                    <div class=\"item\">\r\n                        <span class=\"label\"><b class=\"ftx04\">*</b>请设置密码：</span>\r\n\r\n                        <div class=\"fl item-ifo\">\r\n                            <input type=\"password\" id=\"pwd\" name=\"password\" class=\"text\" tabindex=\"2\"\r\n                                   style=\"ime-mode:disabled;\"\r\n                                   onpaste=\"return  false\" autocomplete=\"off\"/>\r\n                            <i class=\"i-pass\"></i>\r\n                            <label id=\"pwd_succeed\" class=\"blank\"></label>\r\n                            <label id=\"pwd_error\"></label>\r\n                            <span class=\"clr\"></span>\r\n                            <label class=\"hide\" id=\"pwdstrength\"><span class=\"fl\">安全程度：</span><b></b></label>\r\n\r\n                        </div>\r\n                    </div>\r\n\r\n                    <script type=\"text/javascript\">\r\n                        $('#pwd')[0].onkeypress = function (event) {\r\n                            var e = event || window.event,\r\n                                $tip =\r\n                            $('#capslock'),\r\n                                    kc = e.keyCode || e.which, // 按键的keyCode\r\n                                    isShift = e.shiftKey || (kc == 16 ) || false; // shift键是否按住\r\n                            if (((kc >= 65 && kc <= 90) && !isShift) || ((kc >= 97 && kc <= 122) && isShift)) {\r\n                                    $tip.show();\r\n                            }\r\n                            else {\r\n                                    $tip.hide();\r\n                            }\r\n                        };\r\n                    </script>\r\n\r\n                    <div class=\"item\">\r\n                        <span class=\"label\"><b class=\"ftx04\">*</b>请确认密码：</span>\r\n\r\n                        <div class=\"fl item-ifo\">\r\n                            <input type=\"password\" id=\"pwdRepeat\" name=\"pwdRepeat\" class=\"text\" tabindex=\"3\"\r\n                                   onpaste=\"return  false\" autocomplete=\"off\"/>\r\n                            <i class=\"i-pass\"></i>\r\n                            <label id=\"pwdRepeat_succeed\" class=\"blank\"></label>\r\n                            <label id=\"pwdRepeat_error\"></label>\r\n                        </div>\r\n                    </div>\r\n\t\t\t\t\t                    <div class=\"item\" id=\"dphone\">\r\n                        <span class=\"label\"><b class=\"ftx04\">*</b>验证手机：</span>\r\n\r\n                        <div class=\"fl item-ifo\">\r\n                            <input type=\"text\" id=\"phone\" maxlength=\"11\" name=\"phone\" class=\"text\" tabindex=\"4\" onfocus=\"phoneFocus();\" onKeyup=\"phoneKeyup();\" onblur=\"phoneBlur();\" autocomplete=\"off\"/>\r\n                            <i class=\"i-phone\"></i>\r\n                            <label id=\"phone_succeed\" class=\"blank\"></label>\r\n                            <label id=\"phone_error\"></label>\r\n                        </div>\r\n\t\t\t\t\t\t                        <div class=\"fl\">\r\n                            <span class=\"ftx-03 ml5\">或</span><a class=\"ftx-05 ml5 mail-verify\"\r\n                                                                style=\"text-decoration:underline;\" href=\"javascript:;\">验证邮箱</a>\r\n                        </div>\r\n\t\t\t\t\t\t                    </div>\r\n\t\t\t\t\t<!-- \r\n                    <div id=\"mobileCodeDiv\" class=\"item hide\" style=\"height: 62px;\">\r\n                        <span class=\"label\"><b class=\"ftx04\">*</b>短信验证码：</span>\r\n\r\n                        <div class=\"fl item-ifo\">\r\n                            <input type=\"text\" maxlength=\"6\" autocomplete=\"off\" tabindex=\"6\" class=\"text text-1\"\r\n                                   name=\"mobileCode\"\r\n                                   style=\"ime-mode:disabled\" id=\"mobileCode\" onblur=\"mobileCodeBlur()\"\r\n                                   onfocus=\"mobileCodeFocus();\">\r\n                            <label class=\"blank invisible\"></label>\r\n                            <a class=\"btn\" href=\"javascript:void(0);\" onclick=\"sendMobileCode();\" id=\"sendMobileCode\">\r\n                                <span id=\"dyMobileButton\">获取短信验证码</span></a>\r\n                            <span class=\"clr\"></span>\r\n\r\n                            <div class=\"msg-text\" id=\"mobileCodeSucMessage\"></div>\r\n                            <label id=\"mobileCode_error\" class=\"blank\"></label>\r\n                            <label id=\"mobileCode_succeed\" class=\"blank invisible\"></label>\r\n                        </div>\r\n                        <span class=\"clr\"></span>\r\n                    </div>\r\n                     -->\r\n\t\t\t\t\t                </div>\r\n                                <div class=\"item item-new\">\r\n                    <span class=\"label\">&nbsp;</span>\r\n\r\n                    <div class=\"fl item-ifo\">\r\n                        <input type=\"checkbox\" class=\"checkbox\" checked=\"checked\" id=\"readme\"\r\n                               onclick=\"agreeonProtocol();\">\r\n                        <label for=\"protocol\">我已阅读并同意<a href=\"#\" class=\"blue\" id=\"protocol\">《京东用户注册协议》</a></label>\r\n                        <span class=\"clr\"></span>\r\n                        <label id=\"protocol_error\" class=\"error hide\">请接受服务条款</label>\r\n                    </div>\r\n                </div>\r\n                <div class=\"item\">\r\n                    <span class=\"label\">&nbsp;</span>\r\n                    <input type=\"button\" class=\"btn-img btn-regist\" id=\"registsubmit\" value=\"立即注册\" tabindex=\"8\"\r\n                           clstag=\"regist|keycount|personalreg|07\"\r\n                           onclick=\"reg();\"/>\r\n                </div>\r\n            </div>\r\n            <div class=\"phone\">\r\n                <img width=\"180\" height=\"180\" src=\"/images/phone-bg.jpg\">\r\n            </div>\r\n                        <span class=\"clr\"></span>\r\n        </form>\r\n    </div>\r\n</div>\r\n\r\n    <script type=\"text/javascript\">\r\n    function hello() {\r\n        var helloUrl = \"http://passport.jd.com/call/getHelloJson?m=ls\";\r\n        jQuery.ajax({url: helloUrl, dataType: \"jsonp\", scriptCharset: \"gb2312\", success: function (a) {\r\n            if (a && a.info) {\r\n                $(\"#loginbar\").html(a.info);\r\n            }\r\n            if (a && a.sso) {\r\n                $.each(a.sso, function () {\r\n                    $.getJSON(this)\r\n                })\r\n            }\r\n        }});\r\n    }\r\n    (function ($) {\r\n        $(\"#shortcut-2013 .menu\").Jdropdown({delay: 50});\r\n        //hello();\r\n    })(jQuery);</script>\r\n<div class=\"w\">\r\n\t<!-- links start -->\r\n    <jsp:include page=\"../commons/footer-links.jsp\"></jsp:include>\r\n    <!-- links end -->\r\n</div>\r\n<script type=\"text/javascript\" src=\"/js/register/jd.lib.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/register/jdThickBox.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/register/jdValidate.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/register/jdValidate.emReg.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/register/jdValidate.regSuccess.js\"></script>\r\n\r\n\r\n<script id=\"box01\" type=\"text/temp\">\r\n<div class=\"form thickbox-form\">\r\n    <div class=\"ac ftx-01 mb10\">为了提升您的账户安全，请验证手机</div>\r\n\r\n    <div class=\"item\"  id=\"dphone1\">\r\n        <span class=\"label\"><b class=\"ftx04\">*</b>手机号码：</span>\r\n\r\n        <div class=\"fl item-ifo\">\r\n            <input type=\"text\" id=\"phone1\" name=\"phone1\" maxlength=\"11\"  class=\"text\" onblur=\"phone1Blur();\" onfocus=\"phone1Focus();\" onKeyup=\"phone1Keyup();\"  onpaste=\"return  false\"  autocomplete=\"off\">\r\n            <i class=\"i-phone\"></i>\r\n            <label id=\"phone1_succeed\" ></label>\r\n            <label id=\"phone1_error\" class=\"\"></label>\r\n        </div>\r\n    </div>\r\n\r\n    <div class=\"item \" id=\"mobileCodeDiv1\">\r\n        <span class=\"label\"><b class=\"ftx04\">*</b>短信验证码：</span>\r\n\r\n        <div class=\"fl item-ifo\">\r\n            <input type=\"text\" maxlength=\"6\" autocomplete=\"off\"  class=\"text text-1\" name=\"mobileCode1\" onblur=\"mobileCode1Blur()\" onfocus=\"mobileCode1Focus();\"  style=\"ime-mode:disabled\" id=\"mobileCode1\">\r\n            <label class=\"blank invisible\"></label>\r\n            <a class=\"btn\" href=\"javascript:void(0);\" onclick=\"sendMobileCode1();\"   id=\"sendMobileCode1\">\r\n                <span id=\"dyMobileButton1\">获取短信验证码</span></a>\r\n\r\n            <span class=\"clr\"></span>\r\n\r\n            <div class=\"msg-text\" id=\"mobileCodeSucMessage1\"></div>\r\n            <label id=\"mobileCode1_error\"  class=\"\"></label>\r\n            <label id=\"mobileCode1_succeed\" class=\"blank invisible\"></label>\r\n        </div>\r\n    </div>\r\n    <div class=\"item\">\r\n        <span class=\"label\">&nbsp;</span>\r\n        <input type=\"button\" class=\"btn-img btn-verify\" onclick=\"mobileReg();\" value=\"立即验证\">\r\n    </div>\r\n</div>\r\n\r\n\r\n\r\n</script>\r\n\r\n<script id=\"box02\" type=\"text/temp\">\r\n<div class=\"form thickbox-form\">\r\n<div class=\"f-body\">\r\n    <div class=\"item\">\r\n        <span class=\"label\"><b class=\"ftx04\">*</b>请输入邮箱：</span>\r\n        <div class=\"fl item-ifo\">\r\n            <input type=\"text\" id=\"mail\" name=\"mail\" class=\"text\"  onpaste=\"return  false\" autocomplete=\"off\"> \r\n            <label id=\"mail_succeed\" class=\"blank\"></label>\r\n           <label id=\"mail_error\" class=\"\"></label>\r\n        </div>\r\n    </div>\r\n\t\r\n\t\t</div>\r\n\t<div class=\"f-footer\">\r\n    <div class=\"item\">\r\n        <span class=\"label\">&nbsp;</span>\r\n       <input type=\"button\" class=\"btn-img btn-verify\" value=\"发送邮箱验证\" onclick=\"sendRegMail();\">\r\n    </div>\r\n\t</div>\r\n   </div>\r\n<script id=\"box04\" type=\"text/temp\">\r\n\r\n\r\n\r\n\r\n</script>\r\n<script id=\"box05\" type=\"text/temp\">\r\n\r\n</script>\r\n\r\n<script>\r\n  var closeMobileReg='$closeMobileReg';\r\n    $(function () {\r\n\r\n        $('.mail-verify').bind('click', function () {\r\n\r\n            if (validateRegName() && validateFunction.regValidate()) {\r\n    \t\t\toldEmail=\"\";\r\n    \t\t\temailCheckResult=\"\";\r\n    \t\t\toldMobile1=\"\";\r\n    \t\t\tmobileResult1=\"\";\r\n\t\t\t\temailCheckResult=\"\";\r\n                clearTimeout(countDown1.timer);\r\n\t\t\t\tdelayTime1=120;\r\n\t\t\t\tdelayFlag1=true;\r\n                jQuery.jdThickBox({\r\n                    type: \"text\", /*也可以是text,html,image,ajax,json*/\r\n                    width: 500,\r\n                    height: 260,\r\n                    source: $('#box02').html(),\r\n                    title: \"验证邮箱\",\r\n                    _close_val: \"×\",\r\n                    _con: \"opinioncon\",\r\n                    _titleOn: true\r\n                }, function () {\r\n                    $('#mail').bind('blur', function () {\r\n                        var mail = $(\"#mail\").val();\r\n                        if (mail == \"\") {\r\n                            $('#mail').removeClass().addClass(\"text\");\r\n                            $('#mail_error').removeClass(\"error\");\r\n                            $(\"#mail_error\").hide();\r\n                            $('#mail_succeed').removeClass('error-ico');\r\n                            return;\r\n                        }\r\n                        var email = strTrim(mail);\r\n                        var format = validateRules.isEmail(email);\r\n                        var format2 = validateRules.betweenLength(email, 0, 50);\r\n                        if (!format) {\r\n                            $('#mail_error').removeClass().addClass(\"error\");\r\n                            $(\"#mail_error\").html(\"邮箱地址不正确，请重新输入\");\r\n                            $('#mail_succeed').addClass('error-ico');\r\n                            $('#mail').removeClass(\"highlight1\").addClass('highlight2');\r\n                            return;\r\n                        } else {\r\n                            if (!format2) {\r\n                                $('#mail_error').removeClass().addClass(\"error\");\r\n                                $(\"#mail_error\").html(\"邮箱地址长度应在4-50个字符之间\");\r\n                                $('#mail_succeed').addClass('error-ico');\r\n                                $('#mail').removeClass(\"highlight1\").addClass('highlight2');\r\n                                return;\r\n                            }\r\n                            jQuery.getJSON(\"../validate/isEmailEngaged?email=\" + escape(email) + \"&r=\" + Math.random(),\r\n                                    function (result) {\r\n                                        emailResult = result.success;\r\n                                        // 邮箱未被验证 可注册\r\n                                        if (emailResult == 0) {\r\n                                            $(\"#mail_error\").removeClass().addClass(\"success\").html(\"此邮箱可用\");\r\n                                            $('#mail_succeed').removeClass().addClass('blank succeed');\r\n                                            $('#mail').removeClass('highlight2');\r\n                                        }\r\n                                        if (emailResult == 1) {\r\n\t\t\t\t\t\t\t\t\t\t\t$('#mail').removeClass().addClass(\"text highlight2\");\r\n                                            $('#mail_error').removeClass().addClass(\"error\");\r\n                                            $(\"#mail_error\").html(\"该邮箱已被使用，请更换其它邮箱\");\r\n\t\t\t\t\t\t\t\t\t\t\t$('#mail_succeed').removeClass().addClass('blank error-ico');\r\n                                            return;\r\n                                        }\r\n                                        if (emailResult == 2) {\r\n\t\t\t\t\t\t\t\t\t\t\t$('#mail').removeClass().addClass(\"text highlight2\");\r\n                                            $('#mail_error').removeClass().addClass(\"error\");\r\n                                            $(\"#mail_error\").html(\"邮箱地址不正确，请重新输入\");\r\n\t\t\t\t\t\t\t\t\t\t\t$('#mail_succeed').removeClass().addClass('blank error-ico');\r\n                                            return;\r\n                                        }\r\n                                    });\r\n\r\n                        }\r\n                    });\r\n                    $('#mail').bind('focus', function () {\r\n                        $('#mail').removeClass().addClass('text highlight1');\r\n                        $(\"#mail_error\").removeClass().addClass(\"focus\").html(\"完成验证后，您可以用该邮箱登录和找回密码\");\r\n                        $(\"#mail_error\").show();\r\n                        $('#mail_succeed').removeClass('error-ico');\r\n                    });\r\n                    $('#JD_Verification2').click();\r\n                });\r\n            }\r\n        });\r\n    })\r\n\r\n</script>\r\n\r\n\r\n</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/search.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<%@ taglib prefix=\"c\" uri=\"http://java.sun.com/jsp/jstl/core\" %>\r\n<%@ taglib prefix=\"fmt\" uri=\"http://java.sun.com/jsp/jstl/fmt\" %>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n<meta http-equiv=\"Cache-Control\" content=\"max-age=300\" />\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\r\n<title>${query} - 商品搜索 - 咪购</title>\r\n<meta name=\"Keywords\" content=\"java,咪购java\" />\r\n<meta name=\"description\" content=\"在咪购中找到了29910件java的类似商品，其中包含了“图书”，“电子书”，“教育音像”，“骑行运动”等类型的java的商品。\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/base.css\" media=\"all\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/psearch20131008.css\" media=\"all\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/psearch.onebox.css\" media=\"all\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/pop_compare.css\" media=\"all\" />\r\n<script type=\"text/javascript\" src=\"/js/jquery-1.2.6.min.js\"></script>\r\n</head>\r\n<body>\r\n<script type=\"text/javascript\" src=\"/js/base-2011.js\" charset=\"utf-8\"></script>\r\n<!-- header start -->\r\n<jsp:include page=\"../commons/header.jsp\" />\r\n<!-- header end -->\r\n<div class=\"w main\">\r\n\t<div class=\"crumb\">全部结果&nbsp;&gt;&nbsp;<strong>\"${query}\"</strong></div>\r\n<div class=\"clr\"></div>\r\n<div class=\"m clearfix\" id=\"bottom_pager\">\r\n<div  id=\"pagin-btm\" class=\"pagin fr\" clstag=\"search|keycount|search|pre-page2\">\r\n\t<span class=\"prev-disabled\">上一页<b></b></span>\r\n\t<a href=\"javascript:void(0)\" class=\"current\">1</a>\r\n\t<a href=\"search?keyword=java&enc=utf-8&qr=&qrst=UNEXPAND&rt=1&page=2\">2</a>\r\n\t<a href=\"search?keyword=java&enc=utf-8&qr=&qrst=UNEXPAND&rt=1&page=3\">3</a>\r\n\t<a href=\"search?keyword=java&enc=utf-8&qr=&qrst=UNEXPAND&rt=1&page=4\">4</a>\r\n\t<a href=\"search?keyword=java&enc=utf-8&qr=&qrst=UNEXPAND&rt=1&page=5\">5</a>\r\n\t<a href=\"search?keyword=java&enc=utf-8&qr=&qrst=UNEXPAND&rt=1&page=6\">6</a>\r\n\t<span class=\"text\">…</span>\r\n\t<a href=\"search?keyword=java&enc=utf-8&qr=&qrst=UNEXPAND&rt=1&page=2\" class=\"next\">下一页<b></b></a>\r\n\t<span class=\"page-skip\"><em>&nbsp;&nbsp;共${paginator.totalPages}页&nbsp;&nbsp;&nbsp;&nbsp;到第</em></span>\r\n</div>\r\n</div>\r\n<div class=\"m psearch \" id=\"plist\">\r\n<ul class=\"list-h clearfix\" tpl=\"2\">\r\n<c:forEach items=\"${itemList}\" var=\"item\">\r\n<li class=\"item-book\" bookid=\"11078102\">\r\n\t<div class=\"p-img\">\r\n\t\t<a target=\"_blank\" href=\"http://www.migo.com/item/${item.id }.html\">\r\n\t\t\t<img width=\"160\" height=\"160\" data-img=\"1\" data-lazyload=\"${item.images[0]}\" />\r\n\t\t</a>\r\n\t</div>\r\n\t<div class=\"p-name\">\r\n\t\t<a target=\"_blank\" href=\"http://www.migo.com/item/${item.id }.html\">\r\n\t\t\t${item.title}\r\n\t\t</a>\r\n\t</div>\r\n\t<div class=\"p-price\">\r\n\t\t<i>咪购价：</i>\r\n\t\t<strong>￥<fmt:formatNumber groupingUsed=\"false\" maxFractionDigits=\"2\" minFractionDigits=\"2\" value=\"${item.price / 1000 }\"/></strong>\r\n\t</div>\r\n\t<div class=\"service\">由 咪购 发货</div>\r\n\t<div class=\"extra\">\r\n\t\t<span class=\"star\"><span class=\"star-white\"><span class=\"star-yellow h5\">&nbsp;</span></span></span>\r\n\t</div>\r\n</li>\r\n</c:forEach>\r\n</ul></div>\r\n</div>\r\n<!-- footer start -->\r\n<jsp:include page=\"../commons/footer.jsp\" />\r\n<!-- footer end -->\r\n<script type=\"text/javascript\" src=\"/js/jquery.hashchange.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/search_main.js\"></script>\r\n<script type=\"text/javascript\">\r\n//${paginator.totalPages}\r\nSEARCH.query = \"${query}\";\r\nSEARCH.bottom_page_html(${page},${pages},'');\r\n</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/success.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n\r\n\r\n\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n  <head>\r\n   <meta http-equiv=\"pragma\" content=\"no-cache\" />\r\n   <meta http-equiv=\"cache-control\" content=\"no-cache\" />\r\n   <meta http-equiv=\"expires\" content=\"0\" /> \r\n   <meta name=\"format-detection\" content=\"telephone=no\" />  \r\n   <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no\" /> \r\n   <meta name=\"format-detection\" content=\"telephone=no\" />\r\n   <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\r\n   <link type=\"text/css\" rel=\"stylesheet\" href=\"/css/base.css\" />\r\n   <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/purchase.base.2012.css\" />\r\n   <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/purchase.sop.css\" />\r\n   <title>订单成功页面 - 咪购商城</title>\r\n   <script type=\"text/javascript\" src=\"/js/jquery-1.2.6.min.js\"></script>\r\n   <script type=\"text/javascript\" src=\"/js/base-2011.js\" charset=\"utf-8\"></script>\r\n   <script type=\"text/javascript\" src=\"/js/jquery.cookie.js\" charset=\"utf-8\"></script>\r\n   <script type=\"text/javascript\" src=\"/js/migo.js\" charset=\"utf-8\"></script>\r\n</head> <body id=\"mainframe\">\r\n<!--shortcut start-->\r\n<jsp:include page=\"../commons/shortcut.jsp\" />\r\n<!--shortcut end-->\r\n<div class=\"w\" id=\"headers\">\r\n\t\t<div id=\"logo\"><a href=\"http://www.jd.com/\"><img alt=\"咪购商城\" src=\"/images/migo-logo.gif\"></a></div>\r\n\t\t<ul class=\"step\" id=\"step3\">\r\n\t\t\t<li class=\"fore1\">1.我的购物车<b></b></li>\r\n\t\t\t<li class=\"fore2\">2.填写核对订单信息<b></b></li>\r\n\t\t\t<li class=\"fore3\">3.成功提交订单</li>\r\n\t\t</ul>\r\n\t\t<div class=\"clr\"></div>\r\n</div>\r\n<div class=\"w\" id=\"safeinfo\"></div><!--父订单的ID-->\r\n<div class=\"w main\">\r\n\t<div class=\"m m3 msop\">\r\n        <div class=\"mt\" id=\"success_tittle\"><s class=\"icon-succ02\"></s><h3 class=\"ftx-02\">感谢您，订单提交成功！</h3>\r\n\t\t</div>\r\n\t\t<div class=\"mc\" id=\"success_detail\">\t\r\n\t\t    <ul class=\"list-order\">\r\n\t\t\t    <li class=\"li-st\">\r\n\t\t\t\t\t<div class=\"fore1\">订单号：<a href=\"javascript:void(0)\">${order.orderId }</a></div>\r\n\t\t\t\t\t<!-- 货到付款 -->\r\n\t\t\t\t\t<div class=\"fore2\">货到付款：<strong class=\"ftx-01\">${order.payment}元</strong></div>\r\n\t\t\t\t\t<div class=\"fore3\">\r\n\t\t\t\t\t   \t咪购快递 &nbsp; 送货时间: 预计 ${date} 送达&nbsp;\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</li>\r\n\t\t\t</ul>\r\n\t\t<!-- 在线支付按钮  -->\r\n\t\t\t\t<div id=\"bookDiv\"></div>\r\n \t\t\t\t\t<p class=\"i-tips01\">\r\n\t\t\t\t            \t您的订单已经在处理中，发货后订单内容会显示承运人联系方式，如有必要您可以联系对方\r\n             \t\t</p>\r\n\t\t </div>\r\n\t</div>\r\n</div>\r\n  <div class=\"w\">\r\n\t<!-- links start -->\r\n    <jsp:include page=\"../commons/footer-links.jsp\"></jsp:include>\r\n    <!-- links end -->\r\n</div><!-- footer end -->\r\n     </body> \r\n</html>"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/views/商品分类数据格式.txt",
    "content": "category.getDataService({\"data\":[{\"u\":\"/products/1.html\",\"n\":\"<a href='/products/1.html'>图书、音像、电子书刊</a>\",\"i\":[{\"u\":\"/products/2.html\",\"n\":\"电子书刊\",\"i\":[\"/products/3.html|电子书\",\"/products/4.html|网络原创\",\"/products/5.html|数字杂志\",\"/products/6.html|多媒体图书\"]},{\"u\":\"/products/7.html\",\"n\":\"音像\",\"i\":[\"/products/8.html|音乐\",\"/products/9.html|影视\",\"/products/10.html|教育音像\"]},{\"u\":\"/products/11.html\",\"n\":\"英文原版\",\"i\":[\"/products/12.html|少儿\",\"/products/13.html|商务投资\",\"/products/14.html|英语学习与考试\",\"/products/15.html|小说\",\"/products/16.html|传记\",\"/products/17.html|励志\"]},{\"u\":\"/products/18.html\",\"n\":\"文艺\",\"i\":[\"/products/19.html|小说\",\"/products/20.html|文学\",\"/products/21.html|青春文学\",\"/products/22.html|传记\",\"/products/23.html|艺术\"]},{\"u\":\"/products/24.html\",\"n\":\"少儿\",\"i\":[\"/products/25.html|少儿\",\"/products/26.html|0-2岁\",\"/products/27.html|3-6岁\",\"/products/28.html|7-10岁\",\"/products/29.html|11-14岁\"]},{\"u\":\"/products/30.html\",\"n\":\"人文社科\",\"i\":[\"/products/31.html|历史\",\"/products/32.html|哲学\",\"/products/33.html|国学\",\"/products/34.html|政治/军事\",\"/products/35.html|法律\",\"/products/36.html|宗教\",\"/products/37.html|心理学\",\"/products/38.html|文化\",\"/products/39.html|社会科学\"]},{\"u\":\"/products/40.html\",\"n\":\"经管励志\",\"i\":[\"/products/41.html|经济\",\"/products/42.html|金融与投资\",\"/products/43.html|管理\",\"/products/44.html|励志与成功\"]},{\"u\":\"/products/45.html\",\"n\":\"生活\",\"i\":[\"/products/46.html|生活\",\"/products/47.html|健身与保健\",\"/products/48.html|家庭与育儿\",\"/products/49.html|旅游\",\"/products/50.html|动漫/幽默\"]},{\"u\":\"/products/51.html\",\"n\":\"科技\",\"i\":[\"/products/52.html|科技\",\"/products/53.html|工程\",\"/products/54.html|建筑\",\"/products/55.html|医学\",\"/products/56.html|科学与自然\",\"/products/57.html|计算机与互联网\",\"/products/58.html|体育/运动\"]},{\"u\":\"/products/59.html\",\"n\":\"教育\",\"i\":[\"/products/60.html|教材教辅\",\"/products/61.html|教育与考试\",\"/products/62.html|外语学习\",\"/products/63.html|新闻出版\",\"/products/64.html|语言文字\"]},{\"u\":\"/products/65.html\",\"n\":\"港台图书\",\"i\":[\"/products/66.html|艺术/设计/收藏\",\"/products/67.html|经济管理\",\"/products/68.html|文化/学术\",\"/products/69.html|少儿文学/国学\"]},{\"u\":\"/products/70.html\",\"n\":\"其它\",\"i\":[\"/products/71.html|工具书\",\"/products/72.html|影印版\",\"/products/73.html|套装书\"]}]},{\"u\":\"/products/74.html\",\"n\":\"<a href='/products/74.html'>家用电器</a>\",\"i\":[{\"u\":\"/products/75.html\",\"n\":\"大 家 电\",\"i\":[\"/products/76.html|平板电视\",\"/products/77.html|空调\",\"/products/78.html|冰箱\",\"/products/79.html|洗衣机\",\"/products/80.html|家庭影院\",\"/products/81.html|DVD播放机\",\"/products/82.html|迷你音响\",\"/products/83.html|烟机/灶具\",\"/products/84.html|热水器\",\"/products/85.html|消毒柜/洗碗机\",\"/products/86.html|酒柜/冰吧/冷柜\",\"/products/87.html|家电配件\",\"/products/88.html|家电下乡\"]},{\"u\":\"/products/89.html\",\"n\":\"生活电器\",\"i\":[\"/products/90.html|电风扇\",\"/products/91.html|冷风扇\",\"/products/92.html|净化器\",\"/products/93.html|饮水机\",\"/products/94.html|净水设备\",\"/products/95.html|挂烫机/熨斗\",\"/products/96.html|吸尘器\",\"/products/97.html|电话机\",\"/products/98.html|插座\",\"/products/99.html|收录/音机\",\"/products/100.html|清洁机\",\"/products/101.html|加湿器\",\"/products/102.html|除湿机\",\"/products/103.html|取暖电器\",\"/products/104.html|其它生活电器\",\"/products/105.html|扫地机器人\",\"/products/106.html|干衣机\",\"/products/107.html|生活电器配件\"]},{\"u\":\"/products/108.html\",\"n\":\"厨房电器\",\"i\":[\"/products/109.html|料理/榨汁机\",\"/products/110.html|豆浆机\",\"/products/111.html|电饭煲\",\"/products/112.html|电压力锅\",\"/products/113.html|面包机\",\"/products/114.html|咖啡机\",\"/products/115.html|微波炉\",\"/products/116.html|电烤箱\",\"/products/117.html|电磁炉\",\"/products/118.html|电饼铛/烧烤盘\",\"/products/119.html|煮蛋器\",\"/products/120.html|酸奶机\",\"/products/121.html|电炖锅\",\"/products/122.html|电水壶/热水瓶\",\"/products/123.html|多用途锅\",\"/products/124.html|果蔬解毒机\",\"/products/125.html|其它厨房电器\"]},{\"u\":\"/products/126.html\",\"n\":\"个护健康\",\"i\":[\"/products/127.html|剃须刀\",\"/products/128.html|剃/脱毛器\",\"/products/129.html|口腔护理\",\"/products/130.html|电吹风\",\"/products/131.html|美容器\",\"/products/132.html|美发器\",\"/products/133.html|按摩椅\",\"/products/134.html|按摩器\",\"/products/135.html|足浴盆\",\"/products/136.html|血压计\",\"/products/137.html|健康秤/厨房秤\",\"/products/138.html|血糖仪\",\"/products/139.html|体温计\",\"/products/140.html|计步器/脂肪检测仪\",\"/products/141.html|其它健康电器\"]},{\"u\":\"/products/142.html\",\"n\":\"五金家装\",\"i\":[\"/products/143.html|电动工具\",\"/products/144.html|手动工具\",\"/products/145.html|仪器仪表\",\"/products/146.html|浴霸/排气扇\",\"/products/147.html|灯具\",\"/products/148.html|LED灯\",\"/products/149.html|洁身器\",\"/products/150.html|水槽\",\"/products/151.html|龙头\",\"/products/152.html|淋浴花洒\",\"/products/153.html|厨卫五金\",\"/products/154.html|家具五金\",\"/products/155.html|门铃\",\"/products/156.html|电气开关\",\"/products/157.html|插座\",\"/products/158.html|电工电料\",\"/products/159.html|监控安防\",\"/products/160.html|电线/线缆\"]}]},{\"u\":\"/products/161.html\",\"n\":\"<a href='/products/161.html'>电脑、办公</a>\",\"i\":[{\"u\":\"/products/162.html\",\"n\":\"电脑整机\",\"i\":[\"/products/163.html|笔记本\",\"/products/164.html|超极本\",\"/products/165.html|游戏本\",\"/products/166.html|平板电脑\",\"/products/167.html|平板电脑配件\",\"/products/168.html|台式机\",\"/products/169.html|服务器/工作站\",\"/products/170.html|笔记本配件\"]},{\"u\":\"/products/171.html\",\"n\":\"电脑配件\",\"i\":[\"/products/172.html|CPU\",\"/products/173.html|主板\",\"/products/174.html|显卡\",\"/products/175.html|硬盘\",\"/products/176.html|SSD固态硬盘\",\"/products/177.html|内存\",\"/products/178.html|机箱\",\"/products/179.html|电源\",\"/products/180.html|显示器\",\"/products/181.html|刻录机/光驱\",\"/products/182.html|散热器\",\"/products/183.html|声卡/扩展卡\",\"/products/184.html|装机配件\",\"/products/185.html|组装电脑\"]},{\"u\":\"/products/186.html\",\"n\":\"外设产品\",\"i\":[\"/products/187.html|移动硬盘\",\"/products/188.html|U盘\",\"/products/189.html|鼠标\",\"/products/190.html|键盘\",\"/products/191.html|鼠标垫\",\"/products/192.html|摄像头\",\"/products/193.html|手写板\",\"/products/194.html|外置盒\",\"/products/195.html|插座\",\"/products/196.html|线缆\",\"/products/197.html|UPS电源\",\"/products/198.html|电脑工具\",\"/products/199.html|游戏设备\",\"/products/200.html|电玩\",\"/products/201.html|电脑清洁\"]},{\"u\":\"/products/202.html\",\"n\":\"网络产品\",\"i\":[\"/products/203.html|路由器\",\"/products/204.html|网卡\",\"/products/205.html|交换机\",\"/products/206.html|网络存储\",\"/products/207.html|4G/3G上网\",\"/products/208.html|网络盒子\",\"/products/209.html|网络配件\"]},{\"u\":\"/products/210.html\",\"n\":\"办公设备\",\"i\":[\"/products/211.html|投影机\",\"/products/212.html|投影配件\",\"/products/213.html|多功能一体机\",\"/products/214.html|打印机\",\"/products/215.html|传真设备\",\"/products/216.html|验钞/点钞机\",\"/products/217.html|扫描设备\",\"/products/218.html|复合机\",\"/products/219.html|碎纸机\",\"/products/220.html|考勤机\",\"/products/221.html|墨粉\",\"/products/222.html|收款/POS机\",\"/products/223.html|会议音频视频\",\"/products/224.html|保险柜\",\"/products/225.html|装订/封装机\",\"/products/226.html|安防监控\",\"/products/227.html|办公家具\",\"/products/228.html|白板\"]},{\"u\":\"/products/229.html\",\"n\":\"文具/耗材\",\"i\":[\"/products/230.html|硒鼓/墨粉\",\"/products/231.html|墨盒\",\"/products/232.html|色带\",\"/products/233.html|纸类\",\"/products/234.html|办公文具\",\"/products/235.html|学生文具\",\"/products/236.html|文件管理\",\"/products/237.html|财会用品\",\"/products/238.html|本册/便签\",\"/products/239.html|计算器\",\"/products/240.html|激光笔\",\"/products/241.html|笔类\",\"/products/242.html|画具画材\",\"/products/243.html|刻录碟片/附件\"]},{\"u\":\"/products/244.html\",\"n\":\"服务产品\",\"i\":[\"/products/245.html|上门服务\",\"/products/246.html|远程服务\",\"/products/247.html|电脑软件\",\"/products/248.html|京东服务\"]}]},{\"u\":\"/products/249.html\",\"n\":\"<a href='/products/249.html'>个护化妆</a>\",\"i\":[{\"u\":\"/products/250.html\",\"n\":\"面部护肤\",\"i\":[\"/products/251.html|清洁\",\"/products/252.html|护肤\",\"/products/253.html|面膜\",\"/products/254.html|剃须\",\"/products/255.html|套装\"]},{\"u\":\"/products/256.html\",\"n\":\"身体护肤\",\"i\":[\"/products/257.html|沐浴\",\"/products/258.html|润肤\",\"/products/259.html|颈部\",\"/products/260.html|手足\",\"/products/261.html|纤体塑形\",\"/products/262.html|美胸\",\"/products/263.html|套装\"]},{\"u\":\"/products/264.html\",\"n\":\"口腔护理\",\"i\":[\"/products/265.html|牙膏/牙粉\",\"/products/266.html|牙刷/牙线\",\"/products/267.html|漱口水\",\"/products/268.html|套装\"]},{\"u\":\"/products/269.html\",\"n\":\"女性护理\",\"i\":[\"/products/270.html|卫生巾\",\"/products/271.html|卫生护垫\",\"/products/272.html|私密护理\",\"/products/273.html|脱毛膏\"]},{\"u\":\"/products/274.html\",\"n\":\"洗发护发\",\"i\":[\"/products/275.html|洗发\",\"/products/276.html|护发\",\"/products/277.html|染发\",\"/products/278.html|造型\",\"/products/279.html|假发\",\"/products/280.html|套装\"]},{\"u\":\"/products/281.html\",\"n\":\"香水彩妆\",\"i\":[\"/products/282.html|香水\",\"/products/283.html|底妆\",\"/products/284.html|腮红\",\"/products/285.html|眼部\",\"/products/286.html|唇部\",\"/products/287.html|美甲\",\"/products/288.html|美容工具\",\"/products/289.html|套装\"]}]},{\"u\":\"/products/290.html\",\"n\":\"<a href='/products/290.html'>钟表</a>\",\"i\":[{\"u\":\"/products/291.html\",\"n\":\"钟表\",\"i\":[\"/products/292.html|男表\",\"/products/293.html|女表\",\"/products/294.html|儿童手表\",\"/products/295.html|座钟挂钟\"]}]},{\"u\":\"/products/296.html\",\"n\":\"<a href='/products/296.html'>母婴</a>\",\"i\":[{\"u\":\"/products/297.html\",\"n\":\"奶粉\",\"i\":[\"/products/298.html|婴幼奶粉\",\"/products/299.html|成人奶粉\"]},{\"u\":\"/products/300.html\",\"n\":\"营养辅食\",\"i\":[\"/products/301.html|益生菌/初乳\",\"/products/302.html|米粉/菜粉\",\"/products/303.html|果泥/果汁\",\"/products/304.html|DHA\",\"/products/305.html|宝宝零食\",\"/products/306.html|钙铁锌/维生素\",\"/products/307.html|清火/开胃\",\"/products/308.html|面条/粥\"]},{\"u\":\"/products/309.html\",\"n\":\"尿裤湿巾\",\"i\":[\"/products/310.html|婴儿尿裤\",\"/products/311.html|拉拉裤\",\"/products/312.html|湿巾\",\"/products/313.html|成人尿裤\"]},{\"u\":\"/products/314.html\",\"n\":\"喂养用品\",\"i\":[\"/products/315.html|奶瓶奶嘴\",\"/products/316.html|吸奶器\",\"/products/317.html|暖奶消毒\",\"/products/318.html|碗盘叉勺\",\"/products/319.html|水壶/水杯\",\"/products/320.html|牙胶安抚\",\"/products/321.html|辅食料理机\"]},{\"u\":\"/products/322.html\",\"n\":\"洗护用品\",\"i\":[\"/products/323.html|宝宝护肤\",\"/products/324.html|宝宝洗浴\",\"/products/325.html|奶瓶清洗\",\"/products/326.html|驱蚊防蚊\",\"/products/327.html|理发器\",\"/products/328.html|洗衣液/皂\",\"/products/329.html|日常护理\",\"/products/330.html|座便器\"]},{\"u\":\"/products/331.html\",\"n\":\"童车童床\",\"i\":[\"/products/332.html|婴儿推车\",\"/products/333.html|餐椅摇椅\",\"/products/334.html|婴儿床\",\"/products/335.html|学步车\",\"/products/336.html|三轮车\",\"/products/337.html|自行车\",\"/products/338.html|电动车\",\"/products/339.html|扭扭车\",\"/products/340.html|滑板车\"]},{\"u\":\"/products/341.html\",\"n\":\"寝居服饰\",\"i\":[\"/products/342.html|婴儿外出服\",\"/products/343.html|婴儿内衣\",\"/products/344.html|婴儿礼盒\",\"/products/345.html|婴儿鞋帽袜\",\"/products/346.html|安全防护\",\"/products/347.html|家居床品\"]},{\"u\":\"/products/348.html\",\"n\":\"妈妈专区\",\"i\":[\"/products/349.html|妈咪包/背婴带\",\"/products/350.html|产后塑身\",\"/products/351.html|文胸/内裤\",\"/products/352.html|防辐射服\",\"/products/353.html|孕妇装\",\"/products/354.html|孕期营养\",\"/products/355.html|孕妈美容\",\"/products/356.html|待产/新生\",\"/products/357.html|月子装\"]},{\"u\":\"/products/358.html\",\"n\":\"童装童鞋\",\"i\":[\"/products/359.html|套装\",\"/products/360.html|上衣\",\"/products/361.html|裤子\",\"/products/362.html|裙子\",\"/products/363.html|内衣/家居服\",\"/products/364.html|羽绒服/棉服\",\"/products/365.html|亲子装\",\"/products/366.html|儿童配饰\",\"/products/367.html|礼服/演出服\",\"/products/368.html|运动鞋\",\"/products/369.html|皮鞋/帆布鞋\",\"/products/370.html|靴子\",\"/products/371.html|凉鞋\",\"/products/372.html|功能鞋\",\"/products/373.html|户外/运动服\"]},{\"u\":\"/products/374.html\",\"n\":\"安全座椅\",\"i\":[\"/products/375.html|提篮式\",\"/products/376.html|安全座椅\",\"/products/377.html|增高垫\"]}]},{\"u\":\"/products/378.html\",\"n\":\"<a href='/products/378.html'>食品饮料、保健食品</a>\",\"i\":[{\"u\":\"/products/379.html\",\"n\":\"进口食品\",\"i\":[\"/products/380.html|饼干蛋糕\",\"/products/381.html|糖果/巧克力\",\"/products/382.html|休闲零食\",\"/products/383.html|冲调饮品\",\"/products/384.html|粮油调味\",\"/products/385.html|牛奶\"]},{\"u\":\"/products/386.html\",\"n\":\"地方特产\",\"i\":[\"/products/387.html|其他特产\",\"/products/388.html|新疆\",\"/products/389.html|北京\",\"/products/390.html|山西\",\"/products/391.html|内蒙古\",\"/products/392.html|福建\",\"/products/393.html|湖南\",\"/products/394.html|四川\",\"/products/395.html|云南\",\"/products/396.html|东北\"]},{\"u\":\"/products/397.html\",\"n\":\"休闲食品\",\"i\":[\"/products/398.html|休闲零食\",\"/products/399.html|坚果炒货\",\"/products/400.html|肉干肉脯\",\"/products/401.html|蜜饯果干\",\"/products/402.html|糖果/巧克力\",\"/products/403.html|饼干蛋糕\",\"/products/404.html|无糖食品\"]},{\"u\":\"/products/405.html\",\"n\":\"粮油调味\",\"i\":[\"/products/406.html|米面杂粮\",\"/products/407.html|食用油\",\"/products/408.html|调味品\",\"/products/409.html|南北干货\",\"/products/410.html|方便食品\",\"/products/411.html|有机食品\"]},{\"u\":\"/products/412.html\",\"n\":\"饮料冲调\",\"i\":[\"/products/413.html|饮用水\",\"/products/414.html|饮料\",\"/products/415.html|牛奶乳品\",\"/products/416.html|咖啡/奶茶\",\"/products/417.html|冲饮谷物\",\"/products/418.html|蜂蜜/柚子茶\",\"/products/419.html|成人奶粉\"]},{\"u\":\"/products/420.html\",\"n\":\"食品礼券\",\"i\":[\"/products/421.html|月饼\",\"/products/422.html|大闸蟹\",\"/products/423.html|粽子\",\"/products/424.html|卡券\"]},{\"u\":\"/products/425.html\",\"n\":\"茗茶\",\"i\":[\"/products/426.html|铁观音\",\"/products/427.html|普洱\",\"/products/428.html|龙井\",\"/products/429.html|绿茶\",\"/products/430.html|红茶\",\"/products/431.html|乌龙茶\",\"/products/432.html|花草茶\",\"/products/433.html|花果茶\",\"/products/434.html|养生茶\",\"/products/435.html|黑茶\",\"/products/436.html|白茶\",\"/products/437.html|其它茶\"]}]},{\"u\":\"/products/438.html\",\"n\":\"<a href='/products/438.html'>汽车用品</a>\",\"i\":[{\"u\":\"/products/439.html\",\"n\":\"维修保养\",\"i\":[\"/products/440.html|润滑油\",\"/products/441.html|添加剂\",\"/products/442.html|防冻液\",\"/products/443.html|滤清器\",\"/products/444.html|火花塞\",\"/products/445.html|雨刷\",\"/products/446.html|车灯\",\"/products/447.html|后视镜\",\"/products/448.html|轮胎\",\"/products/449.html|轮毂\",\"/products/450.html|刹车片/盘\",\"/products/451.html|喇叭/皮带\",\"/products/452.html|蓄电池\",\"/products/453.html|底盘装甲/护板\",\"/products/454.html|贴膜\",\"/products/455.html|汽修工具\"]},{\"u\":\"/products/456.html\",\"n\":\"车载电器\",\"i\":[\"/products/457.html|导航仪\",\"/products/458.html|安全预警仪\",\"/products/459.html|行车记录仪\",\"/products/460.html|倒车雷达\",\"/products/461.html|蓝牙设备\",\"/products/462.html|时尚影音\",\"/products/463.html|净化器\",\"/products/464.html|电源\",\"/products/465.html|冰箱\",\"/products/466.html|吸尘器\"]},{\"u\":\"/products/467.html\",\"n\":\"美容清洗\",\"i\":[\"/products/468.html|车蜡\",\"/products/469.html|补漆笔\",\"/products/470.html|玻璃水\",\"/products/471.html|清洁剂\",\"/products/472.html|洗车工具\",\"/products/473.html|洗车配件\"]},{\"u\":\"/products/474.html\",\"n\":\"汽车装饰\",\"i\":[\"/products/475.html|脚垫\",\"/products/476.html|座垫\",\"/products/477.html|座套\",\"/products/478.html|后备箱垫\",\"/products/479.html|头枕腰靠\",\"/products/480.html|香水\",\"/products/481.html|空气净化\",\"/products/482.html|车内饰品\",\"/products/483.html|功能小件\",\"/products/484.html|车身装饰件\",\"/products/485.html|车衣\"]},{\"u\":\"/products/486.html\",\"n\":\"安全自驾\",\"i\":[\"/products/487.html|安全座椅\",\"/products/488.html|胎压充气\",\"/products/489.html|防盗设备\",\"/products/490.html|应急救援\",\"/products/491.html|保温箱\",\"/products/492.html|储物箱\",\"/products/493.html|自驾野营\",\"/products/494.html|摩托车装备\"]}]},{\"u\":\"/products/495.html\",\"n\":\"<a href='/products/495.html'>玩具乐器</a>\",\"i\":[{\"u\":\"/products/496.html\",\"n\":\"适用年龄\",\"i\":[\"/products/497.html|0-6个月\",\"/products/498.html|6-12个月\",\"/products/499.html|1-3岁\",\"/products/500.html|3-6岁\",\"/products/501.html|6-14岁\",\"/products/502.html|14岁以上\"]},{\"u\":\"/products/503.html\",\"n\":\"遥控/电动\",\"i\":[\"/products/504.html|遥控车\",\"/products/505.html|遥控飞机\",\"/products/506.html|遥控船\",\"/products/507.html|机器人/电动\",\"/products/508.html|轨道/助力\"]},{\"u\":\"/products/509.html\",\"n\":\"毛绒布艺\",\"i\":[\"/products/510.html|毛绒/布艺\",\"/products/511.html|靠垫/抱枕\"]},{\"u\":\"/products/512.html\",\"n\":\"娃娃玩具\",\"i\":[\"/products/513.html|芭比娃娃\",\"/products/514.html|卡通娃娃\",\"/products/515.html|智能娃娃\"]},{\"u\":\"/products/516.html\",\"n\":\"模型玩具\",\"i\":[\"/products/517.html|仿真模型\",\"/products/518.html|拼插模型\",\"/products/519.html|收藏爱好\"]},{\"u\":\"/products/520.html\",\"n\":\"健身玩具\",\"i\":[\"/products/521.html|炫舞毯\",\"/products/522.html|爬行垫/毯\",\"/products/523.html|户外玩具\",\"/products/524.html|戏水玩具\"]},{\"u\":\"/products/525.html\",\"n\":\"动漫玩具\",\"i\":[\"/products/526.html|电影周边\",\"/products/527.html|卡通周边\",\"/products/528.html|网游周边\"]},{\"u\":\"/products/529.html\",\"n\":\"益智玩具\",\"i\":[\"/products/530.html|摇铃/床铃\",\"/products/531.html|健身架\",\"/products/532.html|早教启智\",\"/products/533.html|拖拉玩具\"]},{\"u\":\"/products/534.html\",\"n\":\"积木拼插\",\"i\":[\"/products/535.html|积木\",\"/products/536.html|拼图\",\"/products/537.html|磁力棒\",\"/products/538.html|立体拼插\"]},{\"u\":\"/products/539.html\",\"n\":\"DIY玩具\",\"i\":[\"/products/540.html|手工彩泥\",\"/products/541.html|绘画工具\",\"/products/542.html|情景玩具\"]},{\"u\":\"/products/543.html\",\"n\":\"创意减压\",\"i\":[\"/products/544.html|减压玩具\",\"/products/545.html|创意玩具\"]},{\"u\":\"/products/546.html\",\"n\":\"乐器相关\",\"i\":[\"/products/547.html|钢琴\",\"/products/548.html|电子琴\",\"/products/549.html|手风琴\",\"/products/550.html|吉他/贝斯\",\"/products/551.html|民族管弦乐器\",\"/products/552.html|西洋管弦乐\",\"/products/553.html|口琴/口风琴/竖笛\",\"/products/554.html|西洋打击乐器\",\"/products/555.html|各式乐器配件\",\"/products/556.html|电脑音乐\",\"/products/557.html|工艺礼品乐器\"]}]},{\"u\":\"/products/558.html\",\"n\":\"<a href='/products/558.html'>手机</a>\",\"i\":[{\"u\":\"/products/559.html\",\"n\":\"手机通讯\",\"i\":[\"/products/560.html|手机\",\"/products/561.html|对讲机\"]},{\"u\":\"/products/562.html\",\"n\":\"运营商\",\"i\":[\"/products/563.html|购机送费\",\"/products/564.html|“0”元购机\",\"/products/565.html|选号中心\",\"/products/566.html|选号入网\"]},{\"u\":\"/products/567.html\",\"n\":\"手机配件\",\"i\":[\"/products/568.html|手机电池\",\"/products/569.html|蓝牙耳机\",\"/products/570.html|充电器/数据线\",\"/products/571.html|手机耳机\",\"/products/572.html|手机贴膜\",\"/products/573.html|手机存储卡\",\"/products/574.html|手机保护套\",\"/products/575.html|车载配件\",\"/products/576.html|iPhone 配件\",\"/products/577.html|创意配件\",\"/products/578.html|便携/无线音响\",\"/products/579.html|手机饰品\"]}]},{\"u\":\"/products/580.html\",\"n\":\"<a href='/products/580.html'>数码</a>\",\"i\":[{\"u\":\"/products/581.html\",\"n\":\"摄影摄像\",\"i\":[\"/products/582.html|数码相机\",\"/products/583.html|单电/微单相机\",\"/products/584.html|单反相机\",\"/products/585.html|摄像机\",\"/products/586.html|拍立得\",\"/products/587.html|运动相机\",\"/products/588.html|镜头\",\"/products/589.html|户外器材\",\"/products/590.html|影棚器材\"]},{\"u\":\"/products/591.html\",\"n\":\"数码配件\",\"i\":[\"/products/592.html|存储卡\",\"/products/593.html|读卡器\",\"/products/594.html|滤镜\",\"/products/595.html|闪光灯/手柄\",\"/products/596.html|相机包\",\"/products/597.html|三脚架/云台\",\"/products/598.html|相机清洁\",\"/products/599.html|相机贴膜\",\"/products/600.html|机身附件\",\"/products/601.html|镜头附件\",\"/products/602.html|电池/充电器\",\"/products/603.html|移动电源\"]},{\"u\":\"/products/604.html\",\"n\":\"智能设备\",\"i\":[\"/products/605.html|智能手环\",\"/products/606.html|智能手表\",\"/products/607.html|智能眼镜\",\"/products/608.html|运动跟踪器\",\"/products/609.html|健康监测\",\"/products/610.html|智能配饰\",\"/products/611.html|智能家居\",\"/products/612.html|体感车\",\"/products/613.html|其他配件\"]},{\"u\":\"/products/614.html\",\"n\":\"时尚影音\",\"i\":[\"/products/615.html|MP3/MP4\",\"/products/616.html|智能设备\",\"/products/617.html|耳机/耳麦\",\"/products/618.html|音箱\",\"/products/619.html|高清播放器\",\"/products/620.html|MP3/MP4配件\",\"/products/621.html|麦克风\",\"/products/622.html|专业音频\",\"/products/623.html|数码相框\",\"/products/624.html|苹果配件\"]},{\"u\":\"/products/625.html\",\"n\":\"电子教育\",\"i\":[\"/products/626.html|电子词典\",\"/products/627.html|电纸书\",\"/products/628.html|录音笔\",\"/products/629.html|复读机\",\"/products/630.html|点读机/笔\",\"/products/631.html|学生平板\",\"/products/632.html|早教机\"]}]},{\"u\":\"/products/633.html\",\"n\":\"<a href='/products/633.html'>家居家装</a>\",\"i\":[{\"u\":\"/products/634.html\",\"n\":\"家纺\",\"i\":[\"/products/635.html|床品套件\",\"/products/636.html|被子\",\"/products/637.html|枕芯\",\"/products/638.html|床单被罩\",\"/products/639.html|毯子\",\"/products/640.html|床垫/床褥\",\"/products/641.html|蚊帐\",\"/products/642.html|抱枕靠垫\",\"/products/643.html|毛巾浴巾\",\"/products/644.html|电热毯\",\"/products/645.html|窗帘/窗纱\",\"/products/646.html|布艺软饰\",\"/products/647.html|凉席\"]},{\"u\":\"/products/648.html\",\"n\":\"灯具\",\"i\":[\"/products/649.html|台灯\",\"/products/650.html|节能灯\",\"/products/651.html|装饰灯\",\"/products/652.html|落地灯\",\"/products/653.html|应急灯/手电\",\"/products/654.html|LED灯\",\"/products/655.html|吸顶灯\",\"/products/656.html|五金电器\",\"/products/657.html|筒灯射灯\",\"/products/658.html|吊灯\",\"/products/659.html|氛围照明\"]},{\"u\":\"/products/660.html\",\"n\":\"生活日用\",\"i\":[\"/products/661.html|收纳用品\",\"/products/662.html|雨伞雨具\",\"/products/663.html|浴室用品\",\"/products/664.html|缝纫/针织用品\",\"/products/665.html|洗晒/熨烫\",\"/products/666.html|净化除味\"]},{\"u\":\"/products/667.html\",\"n\":\"家装软饰\",\"i\":[\"/products/668.html|桌布/罩件\",\"/products/669.html|地毯地垫\",\"/products/670.html|沙发垫套/椅垫\",\"/products/671.html|相框/照片墙\",\"/products/672.html|装饰字画\",\"/products/673.html|节庆饰品\",\"/products/674.html|手工/十字绣\",\"/products/675.html|装饰摆件\",\"/products/676.html|保暖防护\",\"/products/677.html|帘艺隔断\",\"/products/678.html|墙贴/装饰贴\",\"/products/679.html|钟饰\",\"/products/680.html|花瓶花艺\",\"/products/681.html|香薰蜡烛\",\"/products/682.html|创意家居\"]},{\"u\":\"/products/683.html\",\"n\":\"清洁用品\",\"i\":[\"/products/684.html|纸品湿巾\",\"/products/685.html|衣物清洁\",\"/products/686.html|清洁工具\",\"/products/687.html|驱虫用品\",\"/products/688.html|家庭清洁\",\"/products/689.html|皮具护理\",\"/products/690.html|一次性用品\"]},{\"u\":\"/products/691.html\",\"n\":\"宠物生活\",\"i\":[\"/products/692.html|宠物主粮\",\"/products/693.html|宠物零食\",\"/products/694.html|医疗保健\",\"/products/695.html|家居日用\",\"/products/696.html|宠物玩具\",\"/products/697.html|出行装备\",\"/products/698.html|洗护美容\"]}]},{\"u\":\"/products/699.html\",\"n\":\"<a href='/products/699.html'>厨具</a>\",\"i\":[{\"u\":\"/products/700.html\",\"n\":\"烹饪锅具\",\"i\":[\"/products/701.html|炒锅\",\"/products/702.html|煎锅\",\"/products/703.html|压力锅\",\"/products/704.html|蒸锅\",\"/products/705.html|汤锅\",\"/products/706.html|奶锅\",\"/products/707.html|锅具套装\",\"/products/708.html|煲类\",\"/products/709.html|水壶\",\"/products/710.html|火锅\"]},{\"u\":\"/products/711.html\",\"n\":\"刀剪菜板\",\"i\":[\"/products/712.html|菜刀\",\"/products/713.html|剪刀\",\"/products/714.html|刀具套装\",\"/products/715.html|砧板\",\"/products/716.html|瓜果刀/刨\",\"/products/717.html|多功能刀\"]},{\"u\":\"/products/718.html\",\"n\":\"厨房配件\",\"i\":[\"/products/719.html|保鲜盒\",\"/products/720.html|烘焙/烧烤\",\"/products/721.html|饭盒/提锅\",\"/products/722.html|储物/置物架\",\"/products/723.html|厨房DIY/小工具\"]},{\"u\":\"/products/724.html\",\"n\":\"水具酒具\",\"i\":[\"/products/725.html|塑料杯\",\"/products/726.html|运动水壶\",\"/products/727.html|玻璃杯\",\"/products/728.html|陶瓷/马克杯\",\"/products/729.html|保温杯\",\"/products/730.html|保温壶\",\"/products/731.html|酒杯/酒具\",\"/products/732.html|杯具套装\"]},{\"u\":\"/products/733.html\",\"n\":\"餐具\",\"i\":[\"/products/734.html|餐具套装\",\"/products/735.html|碗/碟/盘\",\"/products/736.html|筷勺/刀叉\",\"/products/737.html|一次性用品\",\"/products/738.html|果盘/果篮\"]},{\"u\":\"/products/739.html\",\"n\":\"茶具/咖啡具\",\"i\":[\"/products/740.html|整套茶具\",\"/products/741.html|茶杯\",\"/products/742.html|茶壶\",\"/products/743.html|茶盘茶托\",\"/products/744.html|茶叶罐\",\"/products/745.html|茶具配件\",\"/products/746.html|茶宠摆件\",\"/products/747.html|咖啡具\",\"/products/748.html|其他\"]}]},{\"u\":\"/products/749.html\",\"n\":\"<a href='/products/749.html'>服饰内衣</a>\",\"i\":[{\"u\":\"/products/750.html\",\"n\":\"女装\",\"i\":[\"/products/751.html|T恤\",\"/products/752.html|衬衫\",\"/products/753.html|针织衫\",\"/products/754.html|雪纺衫\",\"/products/755.html|卫衣\",\"/products/756.html|马甲\",\"/products/757.html|连衣裙\",\"/products/758.html|半身裙\",\"/products/759.html|牛仔裤\",\"/products/760.html|休闲裤\",\"/products/761.html|打底裤\",\"/products/762.html|正装裤\",\"/products/763.html|小西装\",\"/products/764.html|短外套\",\"/products/765.html|风衣\",\"/products/766.html|毛呢大衣\",\"/products/767.html|真皮皮衣\",\"/products/768.html|棉服\",\"/products/769.html|羽绒服\",\"/products/770.html|大码女装\",\"/products/771.html|中老年女装\",\"/products/772.html|婚纱\",\"/products/773.html|打底衫\",\"/products/774.html|旗袍/唐装\",\"/products/775.html|加绒裤\",\"/products/776.html|吊带/背心\",\"/products/777.html|羊绒衫\",\"/products/778.html|短裤\",\"/products/779.html|皮草\",\"/products/780.html|礼服\",\"/products/781.html|仿皮皮衣\",\"/products/782.html|羊毛衫\",\"/products/783.html|设计师/潮牌\"]},{\"u\":\"/products/784.html\",\"n\":\"男装\",\"i\":[\"/products/785.html|衬衫\",\"/products/786.html|T恤\",\"/products/787.html|POLO衫\",\"/products/788.html|针织衫\",\"/products/789.html|羊绒衫\",\"/products/790.html|卫衣\",\"/products/791.html|马甲/背心\",\"/products/792.html|夹克\",\"/products/793.html|风衣\",\"/products/794.html|毛呢大衣\",\"/products/795.html|仿皮皮衣\",\"/products/796.html|西服\",\"/products/797.html|棉服\",\"/products/798.html|羽绒服\",\"/products/799.html|牛仔裤\",\"/products/800.html|休闲裤\",\"/products/801.html|西裤\",\"/products/802.html|西服套装\",\"/products/803.html|大码男装\",\"/products/804.html|中老年男装\",\"/products/805.html|唐装/中山装\",\"/products/806.html|工装\",\"/products/807.html|真皮皮衣\",\"/products/808.html|加绒裤\",\"/products/809.html|卫裤/运动裤\",\"/products/810.html|短裤\",\"/products/811.html|设计师/潮牌\",\"/products/812.html|羊毛衫\"]},{\"u\":\"/products/813.html\",\"n\":\"内衣\",\"i\":[\"/products/814.html|文胸\",\"/products/815.html|女式内裤\",\"/products/816.html|男式内裤\",\"/products/817.html|睡衣/家居服\",\"/products/818.html|塑身美体\",\"/products/819.html|泳衣\",\"/products/820.html|吊带/背心\",\"/products/821.html|抹胸\",\"/products/822.html|连裤袜/丝袜\",\"/products/823.html|美腿袜\",\"/products/824.html|商务男袜\",\"/products/825.html|保暖内衣\",\"/products/826.html|情侣睡衣\",\"/products/827.html|文胸套装\",\"/products/828.html|少女文胸\",\"/products/829.html|休闲棉袜\",\"/products/830.html|大码内衣\",\"/products/831.html|内衣配件\",\"/products/832.html|打底裤袜\",\"/products/833.html|打底衫\",\"/products/834.html|秋衣秋裤\",\"/products/835.html|情趣内衣\"]},{\"u\":\"/products/836.html\",\"n\":\"服饰配件\",\"i\":[\"/products/837.html|太阳镜\",\"/products/838.html|光学镜架/镜片\",\"/products/839.html|围巾/手套/帽子套装\",\"/products/840.html|袖扣\",\"/products/841.html|棒球帽\",\"/products/842.html|毛线帽\",\"/products/843.html|遮阳帽\",\"/products/844.html|老花镜\",\"/products/845.html|装饰眼镜\",\"/products/846.html|防辐射眼镜\",\"/products/847.html|游泳镜\",\"/products/848.html|女士丝巾/围巾/披肩\",\"/products/849.html|男士丝巾/围巾\",\"/products/850.html|鸭舌帽\",\"/products/851.html|贝雷帽\",\"/products/852.html|礼帽\",\"/products/853.html|真皮手套\",\"/products/854.html|毛线手套\",\"/products/855.html|防晒手套\",\"/products/856.html|男士腰带/礼盒\",\"/products/857.html|女士腰带/礼盒\",\"/products/858.html|钥匙扣\",\"/products/859.html|遮阳伞/雨伞\",\"/products/860.html|口罩\",\"/products/861.html|耳罩/耳包\",\"/products/862.html|假领\",\"/products/863.html|毛线/布面料\",\"/products/864.html|领带/领结/领带夹\"]}]}]});"
  },
  {
    "path": "migo-portal/src/main/webapp/WEB-INF/web.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<web-app xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n         xmlns=\"http://java.sun.com/xml/ns/javaee\"\r\n         xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\"\r\n         id=\"WebApp_ID\" version=\"2.5\">\r\n    <display-name>migo-portal</display-name>\r\n\r\n    <context-param>\r\n        <param-name>contextConfigLocation</param-name>\r\n        <param-value>classpath:spring/applicationContext*.xml</param-value>\r\n    </context-param>\r\n\r\n    <!--Spring的ApplicationContext 载入 -->\r\n    <listener>\r\n        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>\r\n    </listener>\r\n\r\n    <!-- 编码过滤器，以UTF8编码 -->\r\n    <filter>\r\n        <filter-name>encodingFilter</filter-name>\r\n        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>\r\n        <init-param>\r\n            <param-name>encoding</param-name>\r\n            <param-value>UTF8</param-value>\r\n        </init-param>\r\n    </filter>\r\n    <filter-mapping>\r\n        <filter-name>encodingFilter</filter-name>\r\n        <url-pattern>/*</url-pattern>\r\n    </filter-mapping>\r\n\r\n    <!-- 配置SpringMVC框架入口 -->\r\n    <servlet>\r\n        <servlet-name>migo-portal</servlet-name>\r\n        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>\r\n        <init-param>\r\n            <param-name>contextConfigLocation</param-name>\r\n            <param-value>classpath:spring/springmvc.xml</param-value>\r\n        </init-param>\r\n        <load-on-startup>1</load-on-startup>\r\n    </servlet>\r\n\r\n    <servlet-mapping>\r\n        <servlet-name>migo-portal</servlet-name>\r\n        <!--\r\n            伪静态\r\n            伪静态有利于SEO（搜索引擎优化）\r\n         -->\r\n        <url-pattern>*.html</url-pattern>\r\n    </servlet-mapping>\r\n\r\n    <welcome-file-list>\r\n        <welcome-file>index.html</welcome-file>\r\n    </welcome-file-list>\r\n\r\n</web-app>\r\n"
  },
  {
    "path": "migo-portal/src/main/webapp/css/base.css",
    "content": "/* \r\n Copyright @ JD.COM \r\n Date: 2014-09-23 3:24:26 [PM] \r\n */\r\nhtml, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, blockquote,\r\n\tpre, a, address, big, cite, code, del, em, font, img, ins, small,\r\n\tstrong, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form,\r\n\tlabel, legend {\r\n\tmargin: 0;\r\n\tpadding: 0\r\n}\r\n\r\nol, ul {\r\n\tlist-style: none\r\n}\r\n\r\n:focus {\r\n\toutline: 0\r\n}\r\n\r\na img {\r\n\tborder: 0\r\n}\r\n\r\nimg {\r\n\tvertical-align: middle\r\n}\r\n\r\ntable {\r\n\tempty-cells: show\r\n}\r\n\r\nins {\r\n\ttext-decoration: none\r\n}\r\n\r\ndel {\r\n\ttext-decoration: line-through\r\n}\r\n\r\nem {\r\n\tfont-style: normal\r\n}\r\n\r\nbutton::-moz-focus-inner, input[type=reset]::-moz-focus-inner, input[type=button]::-moz-focus-inner,\r\n\tinput[type=submit]::-moz-focus-inner, input[type=file]>input[type=button]::-moz-focus-inner\r\n\t{\r\n\tborder: 0;\r\n\tpadding: 0\r\n}\r\n\r\n.red{\r\n\tcolor: red;\r\n}\r\n\r\n.g-0 {\r\n\twidth: 100%\r\n}\r\n\r\n.g-8 {\r\n\twidth: 150px\r\n}\r\n\r\n.g-a {\r\n\twidth: 190px\r\n}\r\n\r\n.g-a1 {\r\n\twidth: 210px\r\n}\r\n\r\n.g-a5 {\r\n\twidth: 290px\r\n}\r\n\r\n.g-b1 {\r\n\twidth: 410px\r\n}\r\n\r\n.g-b4 {\r\n\twidth: 470px\r\n}\r\n\r\n.g-b8 {\r\n\twidth: 550px\r\n}\r\n\r\n.g-b9 {\r\n\twidth: 570px\r\n}\r\n\r\n.g-c9 {\r\n\twidth: 770px\r\n}\r\n\r\n.g-d {\r\n\twidth: 790px\r\n}\r\n\r\n.g-e {\r\n\twidth: 990px\r\n}\r\n\r\n.g-0, .g-8, .g-a, .g-a1, .g-a5, .g-b1, .g-b4, .g-b8, .g-b9, .g-c9, .g-d,\r\n\t.g-e {\r\n\tfloat: left\r\n}\r\n\r\n.g-8, .g-a, .g-a1, .g-a5, .g-b1, .g-b4, .g-b8, .g-b9, .g-c9, .g-d, .g-e\r\n\t{\r\n\tposition: relative;\r\n\tz-index: 1\r\n}\r\n\r\n.g-80, .c-80 {\r\n\tmargin-left: 160px\r\n}\r\n\r\n.g-a0, .c-a0 {\r\n\tmargin-left: 200px\r\n}\r\n\r\n.g-a10, .c-a10 {\r\n\tmargin-left: 220px\r\n}\r\n\r\n.g-a50, .c-a50 {\r\n\tmargin-left: 300px\r\n}\r\n\r\n.g-b10, .c-b10 {\r\n\tmargin-left: 420px\r\n}\r\n\r\n.g-b40, .c-b40 {\r\n\tmargin-left: 480px\r\n}\r\n\r\n.g-b80, .c-b80 {\r\n\tmargin-left: 560px\r\n}\r\n\r\n.g-b90, .c-b90 {\r\n\tmargin-left: 580px\r\n}\r\n\r\n.g-c90, .c-c90 {\r\n\tmargin-left: 780px\r\n}\r\n\r\n.g-d0, .c-d0 {\r\n\tmargin-left: 800px\r\n}\r\n\r\n.g-e0, .c-e0 {\r\n\tmargin-left: 1000px\r\n}\r\n\r\n* html .g-80, * html .g-a0, * html .g-a10, * html .g-a50, * html .g-b10,\r\n\t* html .g-b40, * html .g-b80, * html .g-b90, * html .g-c90, * html .g-d0,\r\n\t* html .g-e0 {\r\n\tfloat: right;\r\n\tmargin-left: 10px\r\n}\r\n\r\n.g-08, .c-08 {\r\n\tmargin-right: 160px\r\n}\r\n\r\n.g-0a, .c-0a {\r\n\tmargin-right: 200px\r\n}\r\n\r\n.g-0a1, .c-0a1 {\r\n\tmargin-right: 220px\r\n}\r\n\r\n.g-0a5, .c-0a5 {\r\n\tmargin-right: 300px\r\n}\r\n\r\n.g-0b1, .c-0b1 {\r\n\tmargin-right: 420px\r\n}\r\n\r\n.g-0b4, .c-0b4 {\r\n\tmargin-right: 480px\r\n}\r\n\r\n.g-0b8, .c-0b8 {\r\n\tmargin-right: 560px\r\n}\r\n\r\n.g-0b9, .c-0b9 {\r\n\tmargin-right: 580px\r\n}\r\n\r\n.g-0c9, .c-0c9 {\r\n\tmargin-right: 780px\r\n}\r\n\r\n.g-0d, .c-0d {\r\n\tmargin-right: 800px\r\n}\r\n\r\n.g-0e, .c-0e {\r\n\tmargin-right: 1000px\r\n}\r\n\r\n* html .g-08, * html .g-0a, * html .g-0a1, * html .g-0a5, * html .g-0b1,\r\n\t* html .g-0b4, * html .g-0b8, * html .g-0b9, * html .g-0c9, * html .g-0d,\r\n\t* html .g-0e {\r\n\tfloat: left;\r\n\tmargin-right: 10px\r\n}\r\n\r\n.c-0 {\r\n\tmargin-left: -100%\r\n}\r\n\r\n.c-080 {\r\n\tmargin-left: -150px\r\n}\r\n\r\n.c-0a0 {\r\n\tmargin-left: -190px\r\n}\r\n\r\n.c-0a10 {\r\n\tmargin-left: -210px\r\n}\r\n\r\n.c-0a50 {\r\n\tmargin-left: -290px\r\n}\r\n\r\n.c-0b10 {\r\n\tmargin-left: -410px\r\n}\r\n\r\n.c-0b40 {\r\n\tmargin-left: -470px\r\n}\r\n\r\n.c-0b80 {\r\n\tmargin-left: -550px\r\n}\r\n\r\n.c-0b90 {\r\n\tmargin-left: -570px\r\n}\r\n\r\n.c-0c90 {\r\n\tmargin-left: -770px\r\n}\r\n\r\n.c-0d0 {\r\n\tmargin-left: -790px\r\n}\r\n\r\n.c-0e0 {\r\n\tmargin-left: -990px\r\n}\r\n\r\n* html .c-0 {\r\n\tfilter: \"\"\r\n}\r\n\r\n.fl {\r\n\tfloat: left\r\n}\r\n\r\n.fr {\r\n\tfloat: right\r\n}\r\n\r\n.fn {\r\n\tfloat: none\r\n}\r\n\r\n.al {\r\n\ttext-align: left\r\n}\r\n\r\n.ac {\r\n\ttext-align: center\r\n}\r\n\r\n.ar {\r\n\ttext-align: right\r\n}\r\n\r\n.clr {\r\n\tdisplay: block;\r\n\toverflow: hidden;\r\n\tclear: both;\r\n\theight: 0;\r\n\tline-height: 0;\r\n\tfont-size: 0\r\n}\r\n\r\n.clearfix:after {\r\n\tcontent: \".\";\r\n\tdisplay: block;\r\n\theight: 0;\r\n\tclear: both;\r\n\tvisibility: hidden\r\n}\r\n\r\n.clearfix {\r\n\tdisplay: inline-table\r\n}\r\n\r\n* html .clearfix {\r\n\theight: 1%\r\n}\r\n\r\n.clearfix {\r\n\tdisplay: block\r\n}\r\n\r\n*+html .clearfix {\r\n\tmin-height: 1%\r\n}\r\n\r\n.overflow {\r\n\toverflow: hidden\r\n}\r\n\r\n.m, .mt, .mc, .mb, .sm, .smt, .smc, .smb {\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n.m, .sm {\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n.mt, .smt {\r\n\tcursor: default\r\n}\r\n\r\n.mt h2, .smt h3 {\r\n\tfont-family: \"microsoft yahei\"\r\n}\r\n\r\n.m .mt .extra a:link, .m .mt .extra a:visited, .sm .smt .extra a:link,\r\n\t.sm .smt .extra a:visited {\r\n\tcolor: #005EA7\r\n}\r\n\r\n.form label, .form input, .form select, .form textarea, .form button,\r\n\t.form .label {\r\n\tfloat: left;\r\n\tfont-size: 12px\r\n}\r\n\r\n.block {\r\n\tdisplay: block;\r\n\toverflow: hidden\r\n}\r\n\r\n.hide {\r\n\tdisplay: none\r\n}\r\n\r\n.invisible {\r\n\tvisibility: hidden\r\n}\r\n\r\n.tab {\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n.tab li, .tab a, .tab-item {\r\n\tfloat: left;\r\n\ttext-align: center\r\n}\r\n\r\n.btn-img, .button {\r\n\tdisplay: inline-block;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\tborder: 0;\r\n\ttext-align: center;\r\n\tcursor: pointer\r\n}\r\n\r\n.btn-text {\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\ttext-align: center;\r\n\tcursor: pointer\r\n}\r\n\r\nbody {\r\n\tfont: 12px/150% Arial, Verdana, \"\\5b8b\\4f53\";\r\n\tcolor: #666;\r\n\tbackground: #fff;\r\n\t_background-image: url(about:blank);\r\n\t_background-attachment: fixed\r\n}\r\n\r\nh1 {\r\n\tfont: 20px \"microsoft yahei\", \"\\5b8b\\4f53\"\r\n}\r\n\r\nh2, h3 {\r\n\tfont-size: 14px\r\n}\r\n\r\nh4, h5, h6 {\r\n\tfont-size: 12px\r\n}\r\n\r\na {\r\n\tcolor: #666;\r\n\ttext-decoration: none\r\n}\r\n\r\na:hover {\r\n\tcolor: #E4393C;\r\n\ttext-decoration: underline\r\n}\r\n\r\n.w {\r\n\twidth: 990px;\r\n\tmargin: 0 auto\r\n}\r\n\r\n.w1 {\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n.root61 .w {\r\n\twidth: 1210px\r\n}\r\n\r\n.lh {\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n.lh li, .lh dl, .lh .item {\r\n\tfloat: left\r\n}\r\n\r\n.ld {\r\n\tposition: relative;\r\n\tzoom: 1\r\n}\r\n\r\n.ld s, .ld b, .ld .block {\r\n\tposition: absolute;\r\n\toverflow: hidden\r\n}\r\n\r\n.p-img, .p-name, .p-price, .p-market, .p-detail {\r\n\toverflow: hidden\r\n}\r\n\r\n.p-img {\r\n\tpadding: 5px 0\r\n}\r\n\r\n.p-img a:link, .p-img a:visited {\r\n\ttext-decoration: none\r\n}\r\n\r\n.p-img .pi {\r\n\tcursor: pointer\r\n}\r\n\r\n.p-name, .p-detail {\r\n\tword-break: break-all;\r\n\tword-wrap: break-word\r\n}\r\n\r\n.p-price {\r\n\tcolor: #999\r\n}\r\n\r\n.p-price strong, .p-market strong {\r\n\tcolor: #E4393C\r\n}\r\n\r\n.pi {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tright: 0;\r\n\ttop: 10px;\r\n\twidth: 52px;\r\n\theight: 40px;\r\n\tpadding: 12px 0 0;\r\n\tbackground-image:\r\n\t\turl(../images/20130330C.png);\r\n\tbackground-repeat: no-repeat;\r\n\tfont-family: \"microsoft yahei\";\r\n\tcolor: #fff;\r\n\tline-height: 31px;\r\n\toverflow: hidden;\r\n\tfont-size: 16px;\r\n\tzoom: 1\r\n}\r\n\r\n.pix0 {\r\n\tbackground-position: 0 -40px\r\n}\r\n\r\n.pix1 {\r\n\tbackground-position: 0 -100px\r\n}\r\n\r\n.pif1 {\r\n\tfont-size: 22px\r\n}\r\n\r\n.pif4 {\r\n\twidth: 36px;\r\n\theight: 42px;\r\n\tpadding-top: 10px;\r\n\tpadding-left: 8px;\r\n\tpadding-right: 8px;\r\n\tfont-size: 14px;\r\n\tline-height: 16px\r\n}\r\n\r\n.pt {\r\n\tdisplay: inline-block;\r\n\toverflow: hidden\r\n}\r\n\r\n.ptx1 {\r\n\t\r\n}\r\n\r\nimg.err-product, img.err-poster {\r\n\tbackground: url(../images/error-jd.gif)\r\n\t\tno-repeat 50% 50%\r\n}\r\n\r\nimg.err-price {\r\n\twidth: 81px;\r\n\theight: 22px;\r\n\tbackground: url(../images/error-3.gif)\r\n\t\tno-repeat 50% 50%\r\n}\r\n\r\n.loading-style1 b, .loading-style2 {\r\n\tbackground: url(../images/loading-jd.gif)\r\n\t\tno-repeat 50% 50%\r\n}\r\n\r\n.loading-style1 {\r\n\twidth: 126px;\r\n\tmargin: 0 auto;\r\n\ttext-align: center;\r\n\tcolor: #999\r\n}\r\n\r\n.loading-style1 b {\r\n\tdisplay: block;\r\n\twidth: 43px;\r\n\theight: 24px;\r\n\tmargin: 0 auto 5px\r\n}\r\n\r\n.slide {\r\n\tposition: relative;\r\n\tbackground: url(../images/loading-jd.gif)\r\n\t\tno-repeat center center\r\n}\r\n\r\n.slide .slide-itemswrap {\r\n\tposition: relative;\r\n\toverflow: hidden\r\n}\r\n\r\n.slide .slide-items {\r\n\tposition: absolute;\r\n\toverflow: hidden\r\n}\r\n\r\n.slide-controls span {\r\n\tdisplay: inline-block;\r\n\tmargin: 0 1px;\r\n\tbackground: #999;\r\n\ttext-align: center;\r\n\tcursor: default;\r\n\tcolor: #fff;\r\n\tborder-radius: 12px;\r\n\t-moz-border-radius: 12px;\r\n\t-webkit-border-radius: 12px\r\n}\r\n\r\n.slide-controls a:link, .slide-controls a:visited {\r\n\tdisplay: inline-block;\r\n\twidth: 100%;\r\n\tcolor: #fff;\r\n\tfont-weight: 700\r\n}\r\n\r\n.slide-controls .curr {\r\n\tbackground: #E4393C\r\n}\r\n\r\n#toppanel {\r\n\tposition: relative;\r\n\tz-index: 1000\r\n}\r\n\r\n#sidepanel {\r\n\tposition: fixed;\r\n\tbottom: 0;\r\n\tright: 0;\r\n\tz-index: 1000\r\n}\r\n\r\n#sidepanel a, #sidepanel b {\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#sidepanel a {\r\n\tdisplay: block;\r\n\tposition: relative;\r\n\twidth: 17px;\r\n\theight: 66px;\r\n\tpadding: 28px 4px 0;\r\n\tmargin: 5px 0;\r\n\ttext-align: center;\r\n\tline-height: 14px;\r\n\ttext-decoration: none\r\n}\r\n\r\n#sidepanel b {\r\n\tposition: absolute;\r\n\ttop: 9px;\r\n\tleft: 4px;\r\n\twidth: 17px;\r\n\theight: 16px;\r\n\toverflow: hidden\r\n}\r\n\r\n#sidepanel a:link, #sidepanel a:visited {\r\n\tbackground-position: -85px -149px\r\n}\r\n\r\n#sidepanel a:hover, #sidepanel a:active {\r\n\tbackground-position: -50px -149px\r\n}\r\n\r\n#sidepanel .gotop:link b, #sidepanel .gotop:visited b {\r\n\tbackground-position: -21px -219px\r\n}\r\n\r\n#sidepanel .gotop:hover b, #sidepanel .gotop:active b {\r\n\tbackground-position: -21px -200px\r\n}\r\n\r\n#sidepanel .research:link b, #sidepanel .research:visited b {\r\n\tbackground-position: 0 -219px\r\n}\r\n\r\n#sidepanel .research:hover b, #sidepanel .research:active b {\r\n\tbackground-position: 0 -200px\r\n}\r\n\r\n* html #sidepanel {\r\n\tposition: absolute;\r\n\ttop: expression(documentElement.scrollTop +\r\n\t\tdocumentElement.clientHeight-this.offsetHeight);\r\n\toverflow: visible\r\n}\r\n\r\n.da0x150 {\r\n\twidth: 310px;\r\n\theight: 150px;\r\n\tbackground: #efefef\r\n}\r\n\r\n.da0x100 {\r\n\twidth: 310px;\r\n\theight: 100px;\r\n\tbackground: #efefef\r\n}\r\n\r\n.pagin a, .pagin span {\r\n\tfloat: left;\r\n\theight: 20px;\r\n\tpadding: 3px 10px;\r\n\tborder: 1px solid #ccc;\r\n\tmargin-left: 2px;\r\n\tfont-family: arial;\r\n\tline-height: 20px;\r\n\tfont-size: 14px;\r\n\toverflow: hidden;\r\n\t-moz-border-radius: 5px;\r\n\t-webkit-border-radius: 5px\r\n}\r\n\r\n.pagin .text, .pagin .current {\r\n\tborder: 0;\r\n\tpadding: 4px 11px\r\n}\r\n\r\n.pagin a:link, .pagin a:visited {\r\n\tcolor: #005aa0\r\n}\r\n\r\n.pagin a:hover, .pagin a:active {\r\n\tbackground: #005aa0;\r\n\tcolor: #fff;\r\n\ttext-decoration: none\r\n}\r\n\r\n.pagin .current, .pagin .current:link, .pagin .current:visited {\r\n\tcolor: #f60;\r\n\tfont-weight: 700\r\n}\r\n\r\n.pagin b {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 9px;\r\n\twidth: 5px;\r\n\theight: 9px;\r\n\tbackground-image:\r\n\t\turl(../images/bg_hotsale.gif);\r\n\tbackground-repeat: no-repeat;\r\n\toverflow: hidden\r\n}\r\n\r\n.pagin .prev, .pagin .next, .pagin .prev-disabled, .pagin .next-disabled\r\n\t{\r\n\tposition: relative;\r\n\tpadding-top: 5px;\r\n\theight: 18px;\r\n\tline-height: 18px\r\n}\r\n\r\n.pagin .prev-disabled, .pagin .next-disabled {\r\n\tcolor: #ccc;\r\n\tcursor: default\r\n}\r\n\r\n.pagin .prev, .pagin .prev-disabled {\r\n\tpadding-left: 12px\r\n}\r\n\r\n.pagin .prev b {\r\n\tleft: 3px;\r\n\tbackground-position: -68px -608px\r\n}\r\n\r\n.pagin .prev-disabled b {\r\n\tleft: 3px;\r\n\tbackground-position: -80px -608px\r\n}\r\n\r\n.pagin .next, .pagin .next-disabled {\r\n\tpadding-right: 12px\r\n}\r\n\r\n.pagin .next b {\r\n\tright: 3px;\r\n\tbackground-position: -62px -608px\r\n}\r\n\r\n.pagin .next-disabled b {\r\n\tright: 3px;\r\n\tbackground-position: -74px -608px\r\n}\r\n\r\n.pagin-m a, .pagin-m span {\r\n\theight: 14px;\r\n\tline-height: 14px;\r\n\tfont-size: 12px\r\n}\r\n\r\n.pagin-m b {\r\n\ttop: 5px\r\n}\r\n\r\n.pagin-m .prev, .pagin-m .next, .pagin-m .prev-disabled, .pagin-m .next-disabled\r\n\t{\r\n\tpadding-top: 3px;\r\n\theight: 14px;\r\n\tline-height: 14px;\r\n\t*line-height: 16px\r\n}\r\n\r\n.thickframe {\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tz-index: 10000000;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tbackground: #000;\r\n\tborder: 0;\r\n\tfilter: alpha(opacity = 0);\r\n\topacity: 0\r\n}\r\n\r\n.thickdiv {\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tz-index: 10000001;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tbackground: #000;\r\n\tborder: 0;\r\n\tfilter: alpha(opacity = 15);\r\n\topacity: .15\r\n}\r\n\r\n.thickbox {\r\n\tposition: absolute;\r\n\tz-index: 10000002;\r\n\toverflow: hidden;\r\n\tpadding: 0;\r\n\tborder: 4px solid rgba(0, 0, 0, .1);\r\n\tborder-radius: 5px;\r\n\t-moz-border-radius: 5px;\r\n\t-webkit-border-radius: 5px\r\n}\r\n\r\n.thicktitle {\r\n\theight: 27px;\r\n\tpadding: 0 10px;\r\n\tborder: solid #C4C4C4;\r\n\tborder-width: 1px 1px 0;\r\n\tbackground: #F3F3F3;\r\n\tline-height: 27px;\r\n\tfont-family: arial, \"\\5b8b\\4f53\";\r\n\tfont-size: 14px;\r\n\tfont-weight: 700;\r\n\tcolor: #333\r\n}\r\n\r\n.thickwrap .thicktitle {\r\n\theight: 31px;\r\n\tpadding: 0 10px;\r\n\tbackground: #f5f5f5;\r\n\tline-height: 31px;\r\n\tfont-family: arial, \"\\5b8b\\4f53\";\r\n\tfont-size: 14px;\r\n\tfont-weight: 700;\r\n\tcolor: #333;\r\n\tborder: 0\r\n}\r\n\r\n.thickclose:link, .thickclose:visited {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tz-index: 100000;\r\n\ttop: 7px;\r\n\tright: 12px;\r\n\toverflow: hidden;\r\n\twidth: 15px;\r\n\theight: 15px;\r\n\tbackground:\r\n\t\turl(../images/bg_thickbox.gif)\r\n\t\tno-repeat 0 -18px;\r\n\tfont-size: 0;\r\n\tline-height: 100px\r\n}\r\n\r\n.thickwrap .thickclose:link, .thickwrap .thickclose:visited {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tz-index: 100000;\r\n\ttop: 5px;\r\n\tright: 10px;\r\n\toverflow: hidden;\r\n\twidth: 21px;\r\n\theight: 21px;\r\n\tbackground:\r\n\t\turl(../images/thickbox_close.png)\r\n\t\tno-repeat 0 0;\r\n\tfont-size: 0;\r\n\tline-height: 100px\r\n}\r\n\r\n.thickcon {\r\n\toverflow: auto;\r\n\tbackground: #fff;\r\n\tpadding: 10px\r\n}\r\n\r\n.thickwrap {\r\n\tborder: 1px solid #c4c4c4\r\n}\r\n\r\n.thickwrap .thickcon {\r\n\tbackground: 0\r\n}\r\n\r\n.thickwrap {\r\n\tborder: 1px solid #c4c4c4;\r\n\tbackground: #fff\r\n}\r\n\r\n.thickloading {\r\n\tbackground: url(../images/loading-jd.gif)\r\n\t\t#fff no-repeat center center\r\n}\r\n\r\n.thickcountdown {\r\n\theight: 20px;\r\n\tpadding-right: 6px;\r\n\tmargin-top: -20px;\r\n\ttext-align: right;\r\n\tcolor: #999\r\n}\r\n\r\n* html .thickframe {\r\n\tposition: absolute\r\n}\r\n\r\n* html .thickdiv {\r\n\tposition: absolute\r\n}\r\n\r\n#thicktitler {\r\n\t\r\n}\r\n\r\n#thickcloser:link, #thickcloser:visited {\r\n\t\r\n}\r\n\r\n#thickconr iframe {\r\n\tdisplay: block\r\n}\r\n\r\n.compare {\r\n\twidth: 200px;\r\n\tborder: 1px solid #C4C4C4;\r\n\tbackground: #fff;\r\n\tdisplay: none\r\n}\r\n\r\n.compare .mt {\r\n\tbackground: #F3F3F3;\r\n\tpadding: 3px 5px;\r\n\theight: 18px;\r\n\tline-height: 18px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n.compare h5 {\r\n\tfloat: left\r\n}\r\n\r\n.compare .extra {\r\n\tfloat: right;\r\n\tmargin-top: 2px;\r\n\twidth: 13px;\r\n\theight: 13px;\r\n\tbackground:\r\n\t\turl(../images/bg_hotsale.gif)\r\n\t\tno-repeat -51px -632px;\r\n\tcursor: pointer\r\n}\r\n\r\n.compare .mc {\r\n\tpadding: 2px\r\n}\r\n\r\n.compare .mc li {\r\n\tborder: 1px solid #E5E5E5;\r\n\tpadding: 4px 12px 4px 4px;\r\n\tmargin-bottom: 2px\r\n}\r\n\r\n.compare .mb {\r\n\ttext-align: center;\r\n\tpadding: 5px 0\r\n}\r\n\r\n.compare .btn {\r\n\tcursor: pointer\r\n}\r\n\r\n.crumb {\r\n\tpadding: 0 5px 8px\r\n}\r\n\r\n.breadcrumb {\r\n\theight: 20px;\r\n\tpadding: 0 0 4px 6px;\r\n\tmargin-bottom: 10px;\r\n\toverflow: hidden;\r\n\tline-height: 20px;\r\n\tvertical-align: baseline\r\n}\r\n\r\n.breadcrumb strong, .breadcrumb h1 {\r\n\tdisplay: inline;\r\n\tfont-weight: 700;\r\n\tline-height: 20px;\r\n\tfont-size: 18px;\r\n\tfont-family: \"microsoft yahei\"\r\n}\r\n\r\n.breadcrumb span {\r\n\tfont-family: \"\\5b8b\\4f53\"\r\n}\r\n\r\n.iloading {\r\n\twidth: 140px;\r\n\theight: 30px;\r\n\tpadding-left: 22px;\r\n\tbackground: url(../images/loading.gif)\r\n\t\tno-repeat 0 center;\r\n\tmargin: 0 auto;\r\n\tline-height: 30px;\r\n\tcolor: #999\r\n}\r\n\r\n.norecode {\r\n\tcolor: #999\r\n}\r\n\r\n.model-prompt .con {\r\n\tposition: relative;\r\n\tzoom: 1\r\n}\r\n\r\n.model-prompt .con b {\r\n\tposition: absolute;\r\n\tbackground-image:\r\n\t\turl(../images/bg_prompt.gif);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#model-collect .con {\r\n\tpadding: 20px 0 0 60px;\r\n\tcolor: #999\r\n}\r\n\r\n#model-collect .con a {\r\n\ttext-decoration: underline;\r\n\tcolor: #999\r\n}\r\n\r\n#model-collect .success {\r\n\ttop: 20px;\r\n\tleft: 10px;\r\n\twidth: 34px;\r\n\theight: 30px;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#model-collect .failed {\r\n\ttop: 20px;\r\n\tleft: 10px;\r\n\twidth: 34px;\r\n\theight: 30px;\r\n\tbackground-position: 0 -32px\r\n}\r\n\r\n#css-error {\r\n\tdisplay: none\r\n}\r\n\r\n.jtip {\r\n\tposition: absolute;\r\n\tz-index: 3;\r\n\tpadding: 4px 15px 4px 5px;\r\n\tbackground: #FFFCEE;\r\n\tborder: 1px solid #F6E09C;\r\n\t-moz-box-shadow: 0 0 5px #DDD;\r\n\t-webkit-box-shadow: 0 0 5px #DDD;\r\n\tbox-shadow: 0 0 5px #DDD\r\n}\r\n\r\n.jtip-content {\r\n\tcolor: #F60\r\n}\r\n\r\n.jtip-arrow {\r\n\tposition: absolute;\r\n\tleft: -5px;\r\n\twidth: 5px;\r\n\theight: 16px;\r\n\toverflow: hidden\r\n}\r\n\r\n.jtip-arrow1 {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: -8px;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-width: 8px;\r\n\tborder-style: dashed solid dashed dashed;\r\n\tborder-color: transparent #F6E09C transparent transparent;\r\n\toverflow: hidden\r\n}\r\n\r\n.jtip-arrow2 {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: -7px;\r\n\tz-index: 1;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-width: 8px;\r\n\tborder-style: dashed solid dashed dashed;\r\n\tborder-color: transparent #FFFCEE transparent transparent;\r\n\toverflow: hidden\r\n}\r\n\r\n.jtip-close {\r\n\tposition: absolute;\r\n\ttop: 3px;\r\n\tright: 5px;\r\n\tline-height: 14px;\r\n\tcursor: pointer;\r\n\tfont-size: 14px\r\n}\r\n\r\n#shortcut-2013 .fl b, #shortcut-2013 .fr b {\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#shortcut-2013, #shortcut-2013 .w {\r\n\theight: 30px;\r\n\tbackground: #F7F7F7\r\n}\r\n\r\n#shortcut-2013 {\r\n\twidth: 100%;\r\n\tborder-bottom: 1px solid #eee;\r\n\tline-height: 30px\r\n}\r\n\r\n#shortcut-2013 li {\r\n\theight: 30px;\r\n\tpadding: 0 11px 0 12px\r\n}\r\n\r\n#shortcut-2013 li s {\r\n\ttop: 9px;\r\n\tleft: 0;\r\n\twidth: 0;\r\n\theight: 12px;\r\n\tborder-left: 1px solid #DDD;\r\n\toverflow: hidden\r\n}\r\n\r\n#shortcut-2013 b {\r\n\ttransition: transform .2s ease-in 0s;\r\n\t-webkit-transition: -webkit-transform .2s ease-in 0s\r\n}\r\n\r\n#shortcut-2013 .fl {\r\n\toverflow: visible\r\n}\r\n\r\n#shortcut-2013 .fl .fore1 {\r\n\tpadding-left: 16px;\r\n\tz-index: 13\r\n}\r\n\r\n#shortcut-2013 .fl b {\r\n\ttop: 8px;\r\n\tleft: 0;\r\n\twidth: 13px;\r\n\theight: 13px;\r\n\tbackground: url(../images/20130725.png)\r\n\t\tno-repeat 0 0;\r\n\tcursor: pointer\r\n}\r\n\r\n#shortcut-2013 .fl li:hover b {\r\n\ttransform: rotate(720deg);\r\n\t-webkit-transform: rotate(720deg)\r\n}\r\n\r\n#shortcut-2013 .fl .jtip {\r\n\tleft: 68px;\r\n\ttop: 6px;\r\n\twidth: 120px;\r\n\tline-height: 16px\r\n}\r\n\r\n#shortcut-2013 .fr {\r\n\theight: 30px;\r\n\toverflow: visible\r\n}\r\n\r\n#shortcut-2013 .fr b {\r\n\ttop: 13px;\r\n\tright: 8px;\r\n\twidth: 7px;\r\n\theight: 4px;\r\n\tbackground-position: -95px -55px\r\n}\r\n\r\n#shortcut-2013 .menu {\r\n\twidth: 60px;\r\n\tz-index: 12\r\n}\r\n\r\n#shortcut-2013 .dd {\r\n\tdisplay: none\r\n}\r\n\r\n#shortcut-2013 .hover .outline, #shortcut-2013 .hover .dd {\r\n\tposition: absolute;\r\n\tborder: 1px solid #DDD;\r\n\tbackground: #fff;\r\n\t-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\t-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\tbox-shadow: 0 0 10px rgba(0, 0, 0, .12)\r\n}\r\n\r\n#shortcut-2013 .hover .outline {\r\n\tz-index: -1;\r\n\tleft: 5px;\r\n\ttop: 3px;\r\n\twidth: 73px;\r\n\theight: 28px\r\n}\r\n\r\n#shortcut-2013 .hover .blank {\r\n\tposition: absolute;\r\n\tz-index: 1;\r\n\ttop: 23px;\r\n\tleft: 6px;\r\n\twidth: 73px;\r\n\theight: 8px;\r\n\toverflow: hidden;\r\n\tbackground: #fff\r\n}\r\n\r\n#shortcut-2013 .hover .dd {\r\n\tdisplay: block;\r\n\ttop: 30px\r\n}\r\n\r\n#shortcut-2013 .fr .hover b {\r\n\ttransform: rotate(180deg);\r\n\t-webkit-transform: rotate(180deg);\r\n\tfilter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\r\n}\r\n\r\n#biz-service.hover .dd {\r\n\tleft: 5px;\r\n\twidth: 73px\r\n}\r\n\r\n#biz-service.hover .dd div {\r\n\tpadding-left: 6px;\r\n\tline-height: 22px\r\n}\r\n\r\n#site-nav .dd {\r\n\tleft: -172px;\r\n\twidth: 250px\r\n}\r\n\r\n#site-nav .dd dt {\r\n\tpadding: 4px 0 4px 9px;\r\n\tline-height: 20px;\r\n\tfont-weight: 700\r\n}\r\n\r\n#site-nav .dd dl {\r\n\tfloat: none;\r\n\twidth: auto\r\n}\r\n\r\n#site-nav .dd dl dd {\r\n\tmargin: 0 9px;\r\n\tline-height: 22px;\r\n\toverflow: hidden;\r\n\tpadding-bottom: 3px;\r\n\tborder-bottom: 1px solid #f2f2f2;\r\n\t*zoom: 1\r\n}\r\n\r\n#site-nav .dd dl div {\r\n\tfloat: left;\r\n\tmargin-right: 10px;\r\n\tdisplay: inline\r\n}\r\n\r\n#site-nav .dd .fore3 dd {\r\n\tborder-bottom: 0\r\n}\r\n\r\n#site-nav .dd .fore3 {\r\n\tpadding-bottom: 4px\r\n}\r\n\r\n#site-nav .dd .fore1 div {\r\n\twidth: 58px;\r\n\tmargin-right: 0\r\n}\r\n\r\n#header-2013 {\r\n\theight: 60px;\r\n\tpadding: 15px 0\r\n}\r\n\r\n#logo-2013 {\r\n\tfloat: left;\r\n\twidth: 330px\r\n}\r\n\r\n#logo-2013 a:link b, #logo-2013 a:visited b {\r\n\ttop: 12px;\r\n\tleft: 168px;\r\n\twidth: 100px;\r\n\theight: 38px;\r\n\tcursor: pointer\r\n}\r\n\r\n#logo-2013 a:hover b, #logo-2013 a:active b {\r\n\tdisplay: none;\r\n\tbackground:\r\n\t\turl(../images/20130330A_2.png) #fff\r\n\t\tno-repeat 0 -312px\r\n}\r\n\r\n.root61 #logo {\r\n\twidth: 350px\r\n}\r\n\r\n#search-2013 {\r\n\tfloat: left;\r\n\twidth: 330px;\r\n\tpadding: 4px 86px 0 0\r\n}\r\n\r\n#search-2013 input {\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\theight: 30px;\r\n\tborder: 0\r\n}\r\n\r\n#search-2013 .i-search {\r\n\tz-index: 11;\r\n\twidth: 304px;\r\n\theight: 30px;\r\n\tmargin-bottom: 3px;\r\n\tborder: 3px solid #E4393C\r\n}\r\n\r\n#search-2013 .form {\r\n\theight: 30px;\r\n\toverflow: hidden\r\n}\r\n\r\n#search-2013 .text {\r\n\twidth: 216px;\r\n\theight: 20px;\r\n\tpadding: 5px;\r\n\tbackground-position: 0 -360px;\r\n\tbackground-color: #fff;\r\n\tbackground-repeat: repeat-x;\r\n\tline-height: 20px;\r\n\tcolor: #999;\r\n\tfont-family: arial, \"\\5b8b\\4f53\";\r\n\tfont-size: 14px\r\n}\r\n\r\n#search-2013 .button {\r\n\twidth: 78px;\r\n\tbackground: #E4393C;\r\n\tfont-size: 14px;\r\n\tfont-weight: 700;\r\n\tcolor: #fff\r\n}\r\n\r\n#search-2013 .text, #search-2013 .button {\r\n\t-webkit-appearance: none;\r\n\t-webkit-border-radius: 0\r\n}\r\n\r\n#search-2013 #shelper {\r\n\toverflow: hidden;\r\n\tposition: absolute;\r\n\ttop: 32px;\r\n\tleft: -3px;\r\n\twidth: 308px;\r\n\tborder: 1px solid #E4393C;\r\n\tbackground: #fff;\r\n\t-moz-box-shadow: 0 0 5px #999;\r\n\t-webkit-box-shadow: 0 0 5px #999;\r\n\tbox-shadow: 0 0 5px #999\r\n}\r\n\r\n#search-2013 #shelper li.close:hover {\r\n\tbackground: 0\r\n}\r\n\r\n#search-2013 .text:focus {\r\n\tbackground-color: #fcfcfc;\r\n\t-webkit-box-shadow: 2px 2px 3px #d2d2d2 inset;\r\n\t-moz-box-shadow: 2px 2px 3px #d2d2d2 inset;\r\n\tbox-shadow: 2px 2px 3px #d2d2d2 inset\r\n}\r\n\r\n.root61 #search-2013 #shelper {\r\n\twidth: 418px\r\n}\r\n\r\n#shelper li {\r\n\toverflow: hidden;\r\n\tpadding: 1px 6px;\r\n\tline-height: 22px;\r\n\tcursor: pointer\r\n}\r\n\r\n#shelper .search-item {\r\n\tfloat: left;\r\n\twidth: 190px;\r\n\twhite-space: nowrap;\r\n\ttext-overflow: ellipsis;\r\n\toverflow: hidden\r\n}\r\n\r\n#shelper li.fore1 .search-item {\r\n\twidth: 170px\r\n}\r\n\r\n#shelper .search-count {\r\n\toverflow: hidden;\r\n\tcolor: #aaa;\r\n\ttext-align: right;\r\n\t*zoom: 1\r\n}\r\n\r\n#shelper .close {\r\n\tborder-top: 1px solid #efefef;\r\n\ttext-align: right\r\n}\r\n\r\n#shelper .item3 {\r\n\tcursor: default\r\n}\r\n\r\n#shelper .item3 a {\r\n\tfloat: left;\r\n\tmargin-right: 10px;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#shelper li.fore1 {\r\n\twidth: 100%;\r\n\tpadding: 0;\r\n\tborder-bottom: 1px solid #ddd\r\n}\r\n\r\n#shelper li.fore1 .item1 {\r\n\tfloat: none;\r\n\twidth: auto;\r\n\theight: 22px;\r\n\tpadding: 1px 2px 1px 20px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#shelper li.fore1 div.fore1 {\r\n\tpadding: 0 6px\r\n}\r\n\r\n#shelper li.fore1 strong {\r\n\tcolor: #C00\r\n}\r\n\r\n#shelper li.fore1 .fore1 strong {\r\n\tcolor: #333\r\n}\r\n\r\n#shelper li.fore1 .item1 {\r\n\tfloat: none;\r\n\twidth: auto;\r\n\tpadding: 1px 6px 1px 20px\r\n}\r\n\r\n#shelper li.fore1 .item2 {\r\n\tfloat: none;\r\n\twidth: auto;\r\n\tpadding: 1px 6px 1px 20px\r\n}\r\n\r\n#shelper li.fore1 .item3 {\r\n\tfloat: none;\r\n\twidth: auto;\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n#shelper li.fore1 span {\r\n\tfloat: left\r\n}\r\n\r\n#shelper li:hover {\r\n\tbackground: #FFDFC6\r\n}\r\n\r\n#shelper li.fore1:hover, #shelper li.close:hover {\r\n\tbackground: 0\r\n}\r\n\r\n#shelper li.fore1 div:hover {\r\n\tbackground: #FFDFC6\r\n}\r\n\r\n#shelper-2013 {\r\n\toverflow: hidden;\r\n\tposition: absolute;\r\n\ttop: 32px;\r\n\tleft: -3px;\r\n\twidth: 648px;\r\n\tpadding: 10px 10px 10px 0;\r\n\tborder: 1px solid #E4393C;\r\n\tbackground: #fff;\r\n\t-moz-box-shadow: 0 0 5px #999;\r\n\t-webkit-box-shadow: 0 0 5px #999;\r\n\tbox-shadow: 0 0 5px #999\r\n}\r\n\r\n#shelper-2013 .i-shelper {\r\n\toverflow: hidden\r\n}\r\n\r\n#shelper-2013 .list-text {\r\n\twidth: 312px;\r\n\tpadding: 0 0 200px;\r\n\tmargin-bottom: -200px;\r\n\tborder-right: 1px solid #EEE\r\n}\r\n\r\n#shelper-2013 .list-text li {\r\n\toverflow: hidden;\r\n\tpadding: 1px 15px 1px 10px;\r\n\tline-height: 22px;\r\n\tcursor: pointer;\r\n\t*zoom: 1\r\n}\r\n\r\n#shelper-2013 .list-text .search-item {\r\n\tfloat: left;\r\n\twidth: 190px;\r\n\twhite-space: nowrap;\r\n\ttext-overflow: ellipsis;\r\n\toverflow: hidden\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 .search-item {\r\n\twidth: 190px\r\n}\r\n\r\n#shelper-2013 .list-text .search-count {\r\n\toverflow: hidden;\r\n\tcolor: #aaa;\r\n\ttext-align: right\r\n}\r\n\r\n#shelper-2013 .list-text .item3 {\r\n\tcursor: default\r\n}\r\n\r\n#shelper-2013 .list-text .item3 a {\r\n\tfloat: left;\r\n\tmargin-right: 10px;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 {\r\n\twidth: 100%;\r\n\tpadding: 0;\r\n\tborder-bottom: 1px solid #EEE\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 div.fore1 {\r\n\tpadding: 0 15px 0 10px\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 strong {\r\n\tcolor: #E4393C\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 .fore1 strong {\r\n\tcolor: #333\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 .item1 {\r\n\tfloat: none;\r\n\twidth: auto;\r\n\tpadding: 1px 15px 1px 20px\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 .item2 {\r\n\tfloat: none;\r\n\twidth: auto;\r\n\tpadding: 1px 15px 1px 20px\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 .item3 {\r\n\tfloat: none;\r\n\twidth: auto;\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 span {\r\n\tfloat: left\r\n}\r\n\r\n#shelper-2013 .list-text .hover {\r\n\tbackground: #F3F3F3\r\n}\r\n\r\n#shelper-2013 .list-text .resultful {\r\n\tbackground-image: url(../images/8.png);\r\n\tbackground-repeat: no-repeat;\r\n\tbackground-position: 302px 8px\r\n}\r\n\r\n#shelper-2013 .list-word {\r\n\twidth: 320px;\r\n\tpadding-left: 4px;\r\n\tborder-top: 1px solid #F1F1F1;\r\n\tpadding: 8px 0;\r\n\tcolor: #999;\r\n\tfont-family: \"\\5b8b\\4f53\"\r\n}\r\n\r\n#shelper-2013 .list-word strong {\r\n\tcolor: #E4393C\r\n}\r\n\r\n#shelper-2013 .list-word a:link, #shelper-2013 .list-word a:visited {\r\n\tfloat: left;\r\n\twhite-space: nowrap;\r\n\tmargin-right: 16px;\r\n\tcolor: #005EA7;\r\n\ttext-decoration: underline\r\n}\r\n\r\n#shelper-2013 .list-img {\r\n\twidth: 324px;\r\n\tpadding-bottom: 8px\r\n}\r\n\r\n#shelper-2013 .list-img .item {\r\n\twidth: 100px;\r\n\tborder: 1px solid #fff;\r\n\tpadding: 0 3px\r\n}\r\n\r\n#shelper-2013 .list-img .p-name {\r\n\theight: 3em\r\n}\r\n\r\n#shelper-2013 .list-img .p-price {\r\n\tcolor: #E4393C\r\n}\r\n\r\n#shelper-2013 .list-img .item:hover {\r\n\tborder-color: #7ABD54\r\n}\r\n\r\n#shelper-2013 .list-word {\r\n\tpadding-bottom: 0\r\n}\r\n\r\n#hotwords {\r\n\theight: 18px;\r\n\tcolor: #999;\r\n\toverflow: hidden\r\n}\r\n\r\n#hotwords span, #hotwords strong {\r\n\tfloat: left;\r\n\tfont-weight: 400\r\n}\r\n\r\n#hotwords a:link, #hotwords a:visited {\r\n\tfloat: left;\r\n\tmargin-right: 10px;\r\n\tcolor: #999\r\n}\r\n\r\n#hotwords a:hover, #hotwords a:active {\r\n\tcolor: #E4393C\r\n}\r\n\r\n.root61 #search-2013 {\r\n\twidth: 510px;\r\n\tpadding-right: 126px\r\n}\r\n\r\n.root61 #search-2013 .i-search {\r\n\twidth: 494px\r\n}\r\n\r\n.root61 #search-2013 .text {\r\n\twidth: 406px\r\n}\r\n\r\n#my360buy-2013 dt, #my360buy-2013 dl.hover dt {\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#my360buy-2013 {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\tz-index: 9;\r\n\twidth: 106px;\r\n\theight: 30px;\r\n\tmargin-top: 12px\r\n}\r\n\r\n#my360buy-2013 dt {\r\n\tposition: absolute;\r\n\tz-index: 1;\r\n\twidth: 50px;\r\n\theight: 30px;\r\n\tpadding: 0 24px 0 30px;\r\n\tborder: 1px solid #EFEFEF;\r\n\tbackground-position: -116px -24px;\r\n\tbackground-color: #F7F7F7;\r\n\ttext-align: center;\r\n\tline-height: 27px;\r\n\tcursor: pointer;\r\n\t*line-height: 30px\r\n}\r\n\r\n#my360buy-2013 dt span {\r\n\tfont-family: \"\\5b8b\\4f53\";\r\n\tcolor: #005EA7\r\n}\r\n\r\n#my360buy-2013 dt b {\r\n\ttop: 12px;\r\n\tright: 8px;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-style: solid dashed dashed;\r\n\tborder-width: 5px;\r\n\tborder-color: #CCC transparent transparent;\r\n\toverflow: hidden\r\n}\r\n\r\n#my360buy-2013 dd {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\ttop: 32px;\r\n\tright: 0;\r\n\twidth: 310px;\r\n\tborder: 1px solid #E3E3E3;\r\n\tbackground: #fff\r\n}\r\n\r\n#my360buy-2013 dl.hover dt {\r\n\theight: 32px;\r\n\tborder: 1px solid #E3E3E3;\r\n\tborder-bottom: 0;\r\n\t-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\t-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\tbox-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\tbackground-position: -115px -53px;\r\n\tbackground-color: #fff\r\n}\r\n\r\n#my360buy-2013 dl.hover dd {\r\n\tdisplay: block;\r\n\t-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\t-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\tbox-shadow: 0 0 10px rgba(0, 0, 0, .12)\r\n}\r\n\r\n#my360buy-2013 dl.hover s {\r\n\tposition: absolute;\r\n\tbottom: -10px;\r\n\tleft: -10px;\r\n\twidth: 114px;\r\n\theight: 10px;\r\n\tbackground: #fff\r\n}\r\n\r\n#my360buy-2013 dl.hover dt b {\r\n\ttop: 7px;\r\n\tborder-style: dashed dashed solid;\r\n\tborder-color: transparent transparent #CCC\r\n}\r\n\r\n#my360buy-2013 .prompt a, #my360buy-2013 .orderlist a {\r\n\tcolor: #005EA7\r\n}\r\n\r\n#my360buy-2013 .prompt {\r\n\tpadding: 6px 6px 6px 9px;\r\n\tborder-bottom: 1px solid #EEE;\r\n\tline-height: 25px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#my360buy-2013 .prompt .btn-login {\r\n\tdisplay: block;\r\n\twidth: 73px;\r\n\theight: 25px;\r\n\ttext-align: center;\r\n\tline-height: 25px;\r\n\tbackground: #E4393C;\r\n\tcolor: #fff;\r\n\tborder-radius: 5px;\r\n\t-moz-border-radius: 5px;\r\n\t-webkit-border-radius: 5px\r\n}\r\n\r\n#my360buy-2013 .smt h4 {\r\n\tfloat: left;\r\n\tpadding-left: 4px;\r\n\tfont-weight: 400\r\n}\r\n\r\n#my360buy-2013 .smt .extra {\r\n\tfloat: left\r\n}\r\n\r\n#my360buy-2013 .orderlist {\r\n\twidth: 300px;\r\n\tpadding: 8px 5px;\r\n\tborder-bottom: 1px solid #E6E6E6\r\n}\r\n\r\n#my360buy-2013 .orderlist li {\r\n\toverflow: hidden;\r\n\tborder-top: 1px dotted #ccc;\r\n\tzoom: 1\r\n}\r\n\r\n#my360buy-2013 .orderlist .fore1 {\r\n\tborder-top: 0\r\n}\r\n\r\n#my360buy-2013 .orderlist span {\r\n\tcolor: #F60\r\n}\r\n\r\n#my360buy-2013 .orderlist .p-img {\r\n\tpadding-left: 4px\r\n}\r\n\r\n#my360buy-2013 .orderlist .p-img img, #my360buy-2013 .orderlist .more {\r\n\tfloat: left;\r\n\tborder: 1px solid #ddd;\r\n\tmargin-right: 3px\r\n}\r\n\r\n#my360buy-2013 .orderlist .more {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tbackground:\r\n\t\turl(../images/20130330A_2.png)\r\n\t\tno-repeat 0 -250px;\r\n\toverflow: hidden;\r\n\tline-height: 150px;\r\n\tmargin-right: 0\r\n}\r\n\r\n#my360buy-2013 .orderlist .p-detail {\r\n\tpadding-top: 2px\r\n}\r\n\r\n#my360buy-2013 .uclist {\r\n\twidth: 310px;\r\n\tmargin: 5px 0;\r\n\toverflow: hidden\r\n}\r\n\r\n#my360buy-2013 .uclist ul {\r\n\twidth: 134px;\r\n\tpadding: 0 10px\r\n}\r\n\r\n#my360buy-2013 .uclist .fore1 {\r\n\tborder-right: 1px solid #F1F1F1\r\n}\r\n\r\n#my360buy-2013 .uclist a:link, #my360buy-2013 .uclist a:visited {\r\n\tdisplay: block;\r\n\theight: 18px;\r\n\toverflow: hidden;\r\n\tpadding: 5px;\r\n\ttext-decoration: none;\r\n\tcolor: #005EA7\r\n}\r\n\r\n#my360buy-2013 .uclist a:hover, #my360buy-2013 .uclist a:active {\r\n\tbackground: #F5F5F5;\r\n\tcolor: #E4393C\r\n}\r\n\r\n#my360buy-2013 .viewlist {\r\n\twidth: 305px;\r\n\tpadding: 8px 0 8px 5px;\r\n\tbackground: #F3F3F3\r\n}\r\n\r\n#my360buy-2013 .viewlist span {\r\n\tpadding-left: 4px\r\n}\r\n\r\n#my360buy-2013 .viewlist li {\r\n\twidth: 52px;\r\n\tpadding: 4px;\r\n\tline-height: 0;\r\n\tfont-size: 0\r\n}\r\n\r\n#my360buy-2013 .viewlist a:link, #my360buy-2013 .viewlist a:visited {\r\n\tdisplay: block;\r\n\tborder: 1px solid #ddd\r\n}\r\n\r\n#my360buy-2013 .loading-style1 {\r\n\tmargin: 10px auto\r\n}\r\n\r\n#settleup-2013 dt, #settleup-2013 dl.hover dt, #settleup-2013 .nogoods b\r\n\t{\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#settleup-2013 {\r\n\tfloat: right;\r\n\tposition: relative;\r\n\tz-index: 9;\r\n\twidth: 126px;\r\n\theight: 30px;\r\n\tmargin-top: 12px\r\n}\r\n\r\n#settleup-2013 dt {\r\n\tposition: absolute;\r\n\tz-index: 3;\r\n\twidth: 74px;\r\n\theight: 30px;\r\n\tpadding: 0 20px 0 30px;\r\n\tborder: 1px solid #EFEFEF;\r\n\tbackground-position: -115px -84px;\r\n\tbackground-color: #F7F7F7;\r\n\tcursor: pointer;\r\n\ttext-align: center\r\n}\r\n\r\n#settleup-2013 dt .shopping {\r\n\tposition: absolute;\r\n\ttop: -13px;\r\n\tleft: 20px;\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-position: -133px -279px;\r\n\tpadding-left: 6px;\r\n\tcolor: #fff\r\n}\r\n\r\n#settleup-2013 dt .shopping span {\r\n\tfloat: left;\r\n\tdisplay: block;\r\n\theight: 20px;\r\n\tpadding-right: 6px;\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-position: 100% -250px\r\n}\r\n\r\n#settleup-2013 dt a {\r\n\tline-height: 27px;\r\n\t*line-height: 30px\r\n}\r\n\r\n#settleup-2013 dt b {\r\n\ttop: 9px;\r\n\tright: 4px;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-style: dashed dashed dashed solid;\r\n\tborder-width: 5px;\r\n\tborder-color: transparent transparent transparent #CCC;\r\n\toverflow: hidden\r\n}\r\n\r\n#settleup-2013 dd {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\ttop: 32px;\r\n\tright: 0;\r\n\twidth: 350px\r\n}\r\n\r\n#settleup-2013 dl.hover dt {\r\n\theight: 32px;\r\n\tborder: 1px solid #E3E3E3;\r\n\tborder-bottom: 0;\r\n\tbackground-position: -115px -114px;\r\n\tbackground-color: #fff;\r\n\t-moz-box-shadow: 0 0 10px #DDD;\r\n\t-webkit-box-shadow: 0 0 10px #DDD;\r\n\tbox-shadow: 0 0 10px #DDD\r\n}\r\n\r\n#settleup-2013 dl.hover s {\r\n\tposition: absolute;\r\n\tbottom: -10px;\r\n\tleft: -10px;\r\n\twidth: 134px;\r\n\theight: 10px;\r\n\tbackground: #fff\r\n}\r\n\r\n#settleup-2013 dl.hover dd {\r\n\tdisplay: block;\r\n\t-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\t-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\tbox-shadow: 0 0 10px rgba(0, 0, 0, .12)\r\n}\r\n\r\n#settleup-content {\r\n\tposition: relative;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tz-index: 2;\r\n\twidth: 350px;\r\n\tbackground: #fff\r\n}\r\n\r\n#settleup-iframe {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tz-index: 1;\r\n\twidth: 350px;\r\n\tbackground: #000\r\n}\r\n\r\n#settleup-2013 .prompt {\r\n\tborder: 1px solid #ddd;\r\n\tpadding: 10px 15px;\r\n\tbackground: #fff\r\n}\r\n\r\n#settleup-2013 .nogoods {\r\n\tpadding-left: 30px;\r\n\theight: 49px;\r\n\tline-height: 49px;\r\n\toverflow: hidden;\r\n\tcolor: #999\r\n}\r\n\r\n#settleup-2013 .nogoods b {\r\n\tfloat: left;\r\n\twidth: 56px;\r\n\theight: 49px;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#settleup-2013 .sm {\r\n\tmargin-bottom: 0\r\n}\r\n\r\n#settleup-2013 .smt {\r\n\theight: 25px;\r\n\tpadding: 6px 8px;\r\n\tbackground-position: 0 -118px;\r\n\tbackground-repeat: repeat-x;\r\n\tborder-style: solid;\r\n\tborder-width: 1px;\r\n\tborder-color: #DDD #DDD #EEE;\r\n\tline-height: 25px\r\n}\r\n\r\n#settleup-2013 .smt .extra {\r\n\tcolor: #999\r\n}\r\n\r\n#settleup-2013 .smc {\r\n\tborder: solid #ddd;\r\n\tborder-width: 0 1px;\r\n\tbackground: #fff;\r\n\theight: auto !important;\r\n\theight: 344px;\r\n\tmax-height: 344px;\r\n\toverflow-y: auto\r\n}\r\n\r\n#settleup-2013 ul {\r\n\tmargin-top: -1px\r\n}\r\n\r\n#settleup-2013 li {\r\n\tpadding: 8px 10px;\r\n\tborder-top: 1px dotted #ccc;\r\n\toverflow: hidden;\r\n\tline-height: 17px;\r\n\tvertical-align: bottom;\r\n\t*zoom: 1\r\n}\r\n\r\n#settleup-2013 li:hover, #settleup-2013 li.hover {\r\n\tbackground: #F5F5F5\r\n}\r\n\r\n#settleup-2013 .p-img {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tborder: 1px solid #ddd;\r\n\tpadding: 0;\r\n\tmargin-right: 10px;\r\n\tfont-size: 0\r\n}\r\n\r\n#settleup-2013 .p-name {\r\n\twidth: 150px;\r\n\theight: 52px\r\n}\r\n\r\n#settleup-2013 .p-price {\r\n\tfont-weight: 700\r\n}\r\n\r\n#settleup-2013 .delete {\r\n\tcolor: #005EA7\r\n}\r\n\r\n#settleup-2013 .smb {\r\n\tpadding: 8px;\r\n\tbackground: #F5F5F5;\r\n\tborder: solid #ddd;\r\n\tborder-width: 0 1px 1px\r\n}\r\n\r\n#settleup-2013 .smb b {\r\n\tmargin: 0 5px;\r\n\tcolor: #E4393C\r\n}\r\n\r\n#settleup-2013 .smb strong {\r\n\tfont-size: 18px;\r\n\tcolor: #E4393C\r\n}\r\n\r\n#settleup-2013 .smb a {\r\n\tdisplay: inline-block;\r\n\twidth: 120px;\r\n\theight: 30px;\r\n\tmargin-top: 6px;\r\n\tbackground: #E4393C;\r\n\tcolor: #fff;\r\n\ttext-align: center;\r\n\tfont-weight: 700;\r\n\tline-height: 30px;\r\n\tborder-radius: 5px;\r\n\t-moz-border-radius: 5px;\r\n\t-webkit-border-radius: 5px\r\n}\r\n\r\n#settleup-2013 li .gift {\r\n\theight: 17px;\r\n\twidth: 310px;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#settleup-2013 li .gift a, #settleup-2013 li .gift-jq {\r\n\tcolor: #999\r\n}\r\n\r\n#settleup-2013 .gift-jq {\r\n\tclear: both\r\n}\r\n\r\n* html #settleup-2013 .smc {\r\n\theight: 344px\r\n}\r\n\r\n* html #settleup-2013 li {\r\n\tfont-family: \"\\5b8b\\4f53\"\r\n}\r\n\r\n* html #settleup-2013 dd {\r\n\tright: -1px\r\n}\r\n\r\n#settleup-2013 .dt {\r\n\tpadding: 2px 10px\r\n}\r\n\r\n#settleup-2013 .dt-mz {\r\n\tcolor: #999;\r\n\twidth: 310px;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#settleup-2013 .dt-mz a {\r\n\tcolor: #999\r\n}\r\n\r\n#settleup-2013 .dt-mz:hover {\r\n\tbackground: #fff\r\n}\r\n\r\n#mcart-suit .dt, #mcart-suit .dt:hover {\r\n\tbackground: #d3ebff\r\n}\r\n\r\n#mcart-mj .dt, #mcart-mz .dt, #mcart-mj .dt:hover, #mcart-mz .dt:hover {\r\n\tbackground: #bffab1\r\n}\r\n\r\n#settleup-content .fr .hl-green, #settleup-content .fr .hl-orange {\r\n\tmargin-right: 0\r\n}\r\n\r\n#settleup-content .hl-green, #settleup-content .hl-orange {\r\n\tmargin-right: 5px;\r\n\tcolor: #fff;\r\n\tdisplay: inline-block;\r\n\t*zoom: 1;\r\n\tpadding: 0 2px;\r\n\tfont: 12px/16px simsun\r\n}\r\n\r\n#settleup-content .hl-green {\r\n\tbackground: #3b0\r\n}\r\n\r\n#settleup-content .hl-orange {\r\n\tbackground: #f60\r\n}\r\n\r\n#nav-2013 {\r\n\tposition: relative;\r\n\tz-index: 6;\r\n\theight: 40px;\r\n\tpadding-left: 210px;\r\n\tmargin-bottom: 10px;\r\n\tbackground: #E4393C\r\n}\r\n\r\n#navitems-2013 {\r\n\tbackground: -moz-linear-gradient(top, #E64346, #E13335);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#E64346),\r\n\t\tto(#E13335));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#E64346\",\r\n\t\tendColorstr=\"#E13335\");\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#E64346 \", endColorstr=\" #E13335 \")\"\r\n}\r\n\r\n#navitems-2013, #navitems-2013 li, #navitems-2013 li a {\r\n\theight: 40px\r\n}\r\n\r\n#navitems-2013 li {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\twidth: 83px\r\n}\r\n\r\n#navitems-2013 li a {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\twidth: 85px;\r\n\ttext-align: center;\r\n\tcolor: #fff;\r\n\tfont: 700 15px/40px \"microsoft yahei\";\r\n\ttext-decoration: none\r\n}\r\n\r\n#navitems-2013 .curr, #navitems-2013 .hover {\r\n\tz-index: 1\r\n}\r\n\r\n#navitems-2013 .curr a, #navitems-2013 .hover a {\r\n\tbackground: #A40000\r\n}\r\n\r\n#treasure {\r\n\tposition: absolute;\r\n\tright: 0;\r\n\ttop: 0\r\n}\r\n\r\n#categorys-2013 .mt b, #categorys-2013 h3, #categorys-2013 s,\r\n\t#categorys-2013.hover .mt b {\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#categorys-2013 {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\twidth: 210px;\r\n\theight: 40px\r\n}\r\n\r\n#categorys-2013 .mt {\r\n\tbackground: #CD2A2C\r\n}\r\n\r\n#categorys-2013 .mt a {\r\n\tdisplay: block;\r\n\theight: 40px;\r\n\tpadding-left: 20px;\r\n\tline-height: 40px;\r\n\tcolor: #fff\r\n}\r\n\r\n#categorys-2013 .mt b {\r\n\ttop: 10px;\r\n\tright: 10px;\r\n\twidth: 20px;\r\n\theight: 20px;\r\n\tbackground-position: -65px 0\r\n}\r\n\r\n#categorys-2013 .mc {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\ttop: 40px;\r\n\tleft: 0;\r\n\twidth: 203px;\r\n\theight: 402px;\r\n\tpadding: 3px 3px 3px 0;\r\n\tbackground: #FAFAFA;\r\n\tborder: solid #E4393C;\r\n\tborder-width: 0 2px 2px;\r\n\toverflow: visible\r\n}\r\n\r\n#categorys-2013 .item {\r\n\twidth: 200px;\r\n\theight: 28px;\r\n\tborder-top: 1px solid #FFF\r\n}\r\n\r\n#categorys-2013 .fore1 {\r\n\tborder-top: 0\r\n}\r\n\r\n#categorys-2013 span {\r\n\tdisplay: block;\r\n\twidth: 203px;\r\n\tposition: absolute;\r\n\tz-index: 1\r\n}\r\n\r\n#categorys-2013 h3 {\r\n\twidth: 186px;\r\n\theight: 26px;\r\n\tline-height: 26px;\r\n\tpadding-left: 13px;\r\n\tborder-width: 1px 0;\r\n\tbackground-image: none;\r\n\tfont-weight: 400\r\n}\r\n\r\n#categorys-2013 h3 a:link, #categorys-2013 h3 a:visited {\r\n\tcolor: #333\r\n}\r\n\r\n#categorys-2013 h3 a:hover, #categorys-2013 h3 a:active {\r\n\tcolor: #E4393C;\r\n\tfont-weight: 700\r\n}\r\n\r\n#categorys-2013 s {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 10px;\r\n\tleft: 189px;\r\n\twidth: 6px;\r\n\theight: 9px;\r\n\tbackground-position: -110px -45px\r\n}\r\n\r\n#categorys-2013 .item .i-mc {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\tleft: 198px;\r\n\ttop: 3px;\r\n\twidth: 705px;\r\n\tborder: 1px solid #DDD;\r\n\tbackground: #fff;\r\n\toverflow: visible;\r\n\t-moz-box-shadow: 0 0 10px #DDD;\r\n\t-webkit-box-shadow: 0 0 10px #DDD;\r\n\tbox-shadow: 0 0 10px #DDD\r\n}\r\n\r\n#categorys-2013 .item dt {\r\n\tpadding: 3px 6px 0 0;\r\n\tfont-weight: 700;\r\n\tcolor: #E4393C\r\n}\r\n\r\n#categorys-2013 .item dd {\r\n\tpadding: 3px 0 0;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#categorys-2013 .subitem {\r\n\tfloat: left;\r\n\twidth: 477px;\r\n\tmin-height: 370px;\r\n\tpadding: 0 4px 0 8px\r\n}\r\n\r\n#categorys-2013 .fore13 .subitem {\r\n\tmin-height: 382px\r\n}\r\n\r\n#categorys-2013 .subitem dl {\r\n\tborder-top: 1px solid #EEE;\r\n\tpadding: 6px 0;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#categorys-2013 .subitem .fore1 {\r\n\tborder-top: 0\r\n}\r\n\r\n#categorys-2013 .subitem dt {\r\n\tfloat: left;\r\n\twidth: 54px;\r\n\tline-height: 22px;\r\n\ttext-align: right\r\n}\r\n\r\n#categorys-2013 .subitem dd {\r\n\toverflow: hidden;\r\n\t*zoom: 1\r\n}\r\n\r\n#categorys-2013 .subitem em {\r\n\tfloat: left;\r\n\theight: 14px;\r\n\tmargin: 4px 0;\r\n\tline-height: 14px;\r\n\tpadding: 0 8px;\r\n\tborder-left: 1px solid #ccc\r\n}\r\n\r\n#categorys-2013 .subitem dt a {\r\n\tcolor: #E4393C;\r\n\ttext-decoration: underline\r\n}\r\n\r\n#categorys-2013 .subitem dd a {\r\n\twhite-space: nowrap\r\n}\r\n\r\n#categorys-2013 .fr {\r\n\twidth: 210px;\r\n\tpadding-bottom: 2010px;\r\n\tmargin-bottom: -2000px\r\n}\r\n\r\n#categorys-2013 .fr dl {\r\n\twidth: 194px;\r\n\tpadding: 6px 8px\r\n}\r\n\r\n#categorys-2013 .fr a {\r\n\tcolor: #666\r\n}\r\n\r\n#categorys-2013 .fr dd {\r\n\tpadding-top: 6px;\r\n\tline-height: 20px;\r\n\toverflow: hidden\r\n}\r\n\r\n#categorys-2013 .fr img {\r\n\tmargin-bottom: 4px\r\n}\r\n\r\n#categorys-2013 .categorys-brands li {\r\n\tfloat: left;\r\n\twidth: 97px\r\n}\r\n\r\n#categorys-2013 .mc .extra {\r\n\tdisplay: none\r\n}\r\n\r\n#categorys-2013 .close {\r\n\tposition: absolute;\r\n\ttop: -1px;\r\n\tleft: 706px;\r\n\tz-index: 14;\r\n\twidth: 26px;\r\n\theight: 26px;\r\n\tbackground: rgba(0, 0, 0, .6);\r\n\ttext-align: center;\r\n\tline-height: 26px;\r\n\tcolor: #fff;\r\n\tcursor: pointer;\r\n\tfont-size: 26px;\r\n\tbackground-color: transparent\\9;\r\n\tfilter: progid:DXImageTransform.Microsoft.Gradient(GradientType=1,\r\n\t\tstartColorstr='#60000000', endColorstr='#60000000')\r\n}\r\n\r\n#categorys-2013 .loading-style1 {\r\n\tmargin-top: 10px\r\n}\r\n\r\n#categorys-2013 .fore1 .categorys-brands li, #categorys-2013 .fore13 .categorys-brands li\r\n\t{\r\n\twidth: 194px\r\n}\r\n\r\n#categorys-2013 .fore13 .i-mc {\r\n\ttop: 23px\r\n}\r\n\r\n#categorys-2013 .fore13 .categorys-brands li {\r\n\twidth: 97px\r\n}\r\n\r\n#categorys-2013 .fore14 .categorys-brands li {\r\n\twidth: 194px\r\n}\r\n\r\n#categorys-2013 .hover span {\r\n\tz-index: 13;\r\n\twidth: 160px\r\n}\r\n\r\n#categorys-2013 .hover h3 {\r\n\tborder: solid #DDD;\r\n\tborder-width: 1px 0;\r\n\tbackground-color: #fff;\r\n\toverflow: hidden;\r\n\t-moz-box-shadow: 0 0 8px #DDD;\r\n\t-webkit-box-shadow: 0 0 8px #DDD;\r\n\tbox-shadow: 0 0 8px #DDD\r\n}\r\n\r\n#categorys-2013 .hover s {\r\n\tleft: 199px;\r\n\ttop: -4px;\r\n\twidth: 7px;\r\n\theight: 38px;\r\n\tbackground: #fff;\r\n\toverflow: hidden\r\n}\r\n\r\n#categorys-2013 .fore1.hover s {\r\n\ttop: 1px\r\n}\r\n\r\n#categorys-2013 .hover .i-mc {\r\n\tdisplay: block;\r\n\tz-index: 12\r\n}\r\n\r\n#categorys-2013.hover .mt b {\r\n\tbackground-position: -65px -23px\r\n}\r\n\r\n#categorys-2013.hover .mc {\r\n\tdisplay: block\r\n}\r\n\r\n* html #categorys-2013 .item dd {\r\n\tpadding-bottom: 6px\r\n}\r\n\r\n* html #categorys-2013 .subitem {\r\n\theight: 382px\r\n}\r\n\r\n* html #categorys-2013 .fore13 .subitem {\r\n\theight: 382px\r\n}\r\n\r\n#categorys-2013 .categorys-links {\r\n\tpadding: 10px 8px\r\n}\r\n\r\n#categorys-2013 .categorys-links a {\r\n\tdisplay: block;\r\n\twidth: 194px;\r\n\theight: 30px;\r\n\tbackground-image: url(../images/28.png);\r\n\tbackground-repeat: no-repeat;\r\n\tline-height: 80px;\r\n\toverflow: hidden\r\n}\r\n\r\n#categorys-links-diy a {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#categorys-links-dpg a {\r\n\tbackground-position: 0 -30px\r\n}\r\n\r\n#categorys-links-cellphone a {\r\n\tbackground-position: 0 -60px\r\n}\r\n\r\n#categorys-links-jzc a {\r\n\tbackground-position: 0 -90px\r\n}\r\n\r\n#categorys-2013 .item-col2 .subitem {\r\n\twidth: auto;\r\n\tpadding: 0 8px\r\n}\r\n\r\n#categorys-2013 .sub-item-col {\r\n\twidth: 334px\r\n}\r\n\r\n#categorys-2013 .sub-item-col .fore1 {\r\n\tpadding-top: 0\r\n}\r\n\r\n#categorys-2013 .sub-item-col0 {\r\n\tborder-right: 1px solid #eee;\r\n\tmargin-right: 8px;\r\n\tmargin-bottom: 8px;\r\n\tpadding-right: 8px;\r\n\tmin-height: 370px\r\n}\r\n\r\n#categorys-2013 .title-list {\r\n\tfont-size: 14px;\r\n\tpadding: 5px 10px;\r\n\tmargin: 0 10px 10px;\r\n\tborder-bottom: 1px solid #eee\r\n}\r\n\r\n#categorys-2013 .title-list li {\r\n\tpadding-left: 30px;\r\n\theight: 28px;\r\n\tline-height: 28px;\r\n\tmargin-right: 20px;\r\n\tbackground-image:\r\n\t\turl(../images/virtuals-cat-ico20140826.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#categorys-2013 .title-list li.fore1 {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#categorys-2013 .title-list li.fore2 {\r\n\tbackground-position: 0 -48px\r\n}\r\n\r\n#categorys-2013 .title-list li.fore3 {\r\n\tbackground-position: 0 -99px\r\n}\r\n\r\n#categorys-2013 .title-list li.fore4 {\r\n\tbackground-position: 0 -144px\r\n}\r\n\r\n#categorys-2013 .title-list li.fore5 {\r\n\tbackground-position: 0 -191px\r\n}\r\n\r\n#categorys-2013 .title-list li.fore6 {\r\n\tbackground-position: 0 -241px\r\n}\r\n\r\n* html #categorys-2013 .sub-item-col0 {\r\n\theight: 370px\r\n}\r\n\r\n#service-2013 dl b {\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#service-2013 {\r\n\tpadding: 10px 20px;\r\n\tmargin-bottom: 20px;\r\n\tbackground: #FFF;\r\n\tborder-top: 1px solid #DDD;\r\n\tborder-bottom: 1px solid #F1F1F1\r\n}\r\n\r\n#service-2013 dl {\r\n\tfloat: left;\r\n\twidth: 196px\r\n}\r\n\r\n#service-2013 dt {\r\n\tposition: relative;\r\n\tpadding: 6px 0 6px 44px;\r\n\tfont: 14px \"microsoft yahei\";\r\n\tzoom: 1\r\n}\r\n\r\n#service-2013 dd {\r\n\tmin-height: 120px;\r\n\tpadding-left: 24px;\r\n\tmargin-left: 20px;\r\n\tline-height: 20px\r\n}\r\n\r\n#service-2013 dt b {\r\n\tposition: absolute;\r\n\ttop: 5px;\r\n\tleft: 0;\r\n\twidth: 40px;\r\n\theight: 40px\r\n}\r\n\r\n#service-2013 dl.fore1 b {\r\n\tbackground-position: 0 -55px\r\n}\r\n\r\n#service-2013 dl.fore2 b {\r\n\tbackground-position: -50px -55px\r\n}\r\n\r\n#service-2013 dl.fore3 b {\r\n\tbackground-position: 0 -102px\r\n}\r\n\r\n#service-2013 dl.fore4 b {\r\n\tbackground-position: -50px -102px\r\n}\r\n\r\n#service-2013 dl.fore5 b {\r\n\tbackground-position: 0 -149px\r\n}\r\n\r\n#service-2013 dl.fore5 {\r\n\twidth: 160px\r\n}\r\n\r\n#service-2013 .fr {\r\n\tdisplay: none\r\n}\r\n\r\n* html #service-2013 dd {\r\n\theight: 120px\r\n}\r\n\r\n.root61 #service-2013 dl {\r\n\twidth: 252px\r\n}\r\n\r\n.root61 #service-2013 dl.fore5 {\r\n\twidth: 160px\r\n}\r\n\r\n#footer-2013 {\r\n\tpadding-bottom: 30px;\r\n\ttext-align: center\r\n}\r\n\r\n#footer-2013 .links a, #footer-2013 .links span {\r\n\tmargin: 0 10px\r\n}\r\n\r\n#footer-2013 .links span a {\r\n\tmargin: 0\r\n}\r\n\r\n#footer-2013 .copyright {\r\n\tmargin: 10px 0\r\n}\r\n\r\n#footer-2013 .authentication a {\r\n\tmargin: 0 5px\r\n}\r\n\r\n.footmark .m {\r\n\tpadding: 0 9px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 2px solid #999\r\n}\r\n\r\n.footmark .mt {\r\n\theight: 30px;\r\n\tline-height: 30px\r\n}\r\n\r\n.footmark .title {\r\n\twidth: 50%;\r\n\tfloat: left;\r\n\tfont-weight: 400\r\n}\r\n\r\n.footmark .extra {\r\n\twidth: 50%;\r\n\tfloat: right;\r\n\ttext-align: right\r\n}\r\n\r\n.footmark .may-like .change {\r\n\tdisplay: inline-block\r\n}\r\n\r\n.footmark .may-like .change .ico, .may-like .change .txt {\r\n\tdisplay: inline-block;\r\n\tvertical-align: middle;\r\n\t*cursor: pointer\r\n}\r\n\r\n.footmark .may-like .change .ico {\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tmargin-right: 5px;\r\n\tbackground:\r\n\t\turl(../images/update.png)\r\n\t\tno-repeat\r\n}\r\n\r\n.footmark .may-like .mc {\r\n\theight: 246px;\r\n\toverflow: hidden\r\n}\r\n\r\n.footmark .may-like-list {\r\n\tpadding-top: 15px;\r\n\tmargin-right: -10px\r\n}\r\n\r\n.footmark .may-like-list li {\r\n\twidth: 150px;\r\n\theight: 216px;\r\n\tfloat: left;\r\n\tmargin: 0 8px 0 0;\r\n\tpadding: 0 18px 15px;\r\n\ttext-align: center\r\n}\r\n\r\n.footmark .may-like-list .p-img img {\r\n\twidth: 130px;\r\n\theight: 130px\r\n}\r\n\r\n.footmark .may-like-list .p-name {\r\n\theight: 36px\r\n}\r\n\r\n.footmark .may-like-list .p-review {\r\n\tline-height: 20px\r\n}\r\n\r\n.footmark .may-like-list .p-review a {\r\n\tcolor: #005ea7\r\n}\r\n\r\n.footmark .may-like-list .p-price {\r\n\tline-height: 20px;\r\n\tcolor: #e3393c\r\n}\r\n\r\n.footmark .recent-view .mc {\r\n\theight: 126px;\r\n\toverflow: hidden\r\n}\r\n\r\n.footmark .recent-view-list {\r\n\tmargin-right: -36px;\r\n\tpadding-top: 14px\r\n}\r\n\r\n.footmark .recent-view-list li {\r\n\twidth: 86px;\r\n\tfloat: left;\r\n\tmargin: 0 2px 0 0;\r\n\tpadding-bottom: 14px;\r\n\ttext-align: center\r\n}\r\n\r\n.footmark .recent-view-list .p-img img {\r\n\twidth: 70px;\r\n\theight: 70px\r\n}\r\n\r\n.footmark .recent-view-list .p-price {\r\n\tcolor: #e3393c\r\n}\r\n\r\n.root61 .footmark .may-like-list li {\r\n\tpadding-left: 20px\r\n}\r\n\r\n.root61 .footmark .recent-view-list li {\r\n\tmargin: 0 2px 0 3px;\r\n\t*display: inline\r\n}\r\n\r\n#shortcut-2013 #app-jd {\r\n\tpadding-left: 37px\r\n}\r\n\r\n#app-jd i {\r\n\tposition: absolute;\r\n\tz-index: 2;\r\n\tleft: 14px;\r\n\ttop: 5px;\r\n\twidth: 13px;\r\n\theight: 22px;\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat;\r\n\tbackground-position: -128px -360px;\r\n\t-webkit-transition: all .2s ease;\r\n\ttransition: all .2s ease\r\n}\r\n\r\n#app-jd.hover i {\r\n\tbackground-position: -128px -399px\r\n}\r\n\r\n#app-jd .dd {\r\n\tleft: 5px;\r\n\twidth: 210px;\r\n\tpadding: 20px 0 20px 20px\r\n}\r\n\r\n#app-jd .dd .qr-code {\r\n\tposition: relative;\r\n\tmargin-bottom: 8px\r\n}\r\n\r\n#app-jd .dd .qr-code i {\r\n\tposition: absolute;\r\n\tdisplay: block;\r\n\twidth: 49px;\r\n\theight: 23px;\r\n\tbackground:\r\n\t\turl(../images/20130330A_2.png)\r\n\t\tno-repeat 0 -438px;\r\n\tleft: 88px;\r\n\ttop: 5px\r\n}\r\n\r\n#app-jd .dd .qr-code .details {\r\n\tposition: absolute;\r\n\tleft: 103px;\r\n\ttop: 28px\r\n}\r\n\r\n#app-jd .dd .qr-code .details em, #app-jd .dd .qr-code .details strong {\r\n\tdisplay: block;\r\n\tline-height: 20px\r\n}\r\n\r\n#app-jd .dd .qr-code .details em {\r\n\tcolor: #999\r\n}\r\n\r\n#app-jd .dd .qr-code .details strong {\r\n\tcolor: #E4393C;\r\n\tfont-size: 14px\r\n}\r\n\r\n#app-jd .app-btn {\r\n\theight: 29px;\r\n\tfont-size: 0\r\n}\r\n\r\n#app-jd .btn-app-apple, #app-jd .btn-app-android {\r\n\twidth: 97px;\r\n\theight: 29px;\r\n\tdisplay: inline-block;\r\n\tline-height: 29px;\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#app-jd .btn-app-apple {\r\n\tbackground-position: 0 -360px;\r\n\tmargin-right: 5px\r\n}\r\n\r\n#app-jd .btn-app-android {\r\n\tbackground-position: 0 -399px\r\n}\r\n\r\n#app-jd .qr-item {\r\n\tposition: relative\r\n}\r\n\r\n#app-jd .qr-item.qr-jd-app {\r\n\tmargin-bottom: 30px\r\n}\r\n\r\n#app-jd .qr-item .qr-img {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 10px\r\n}\r\n\r\n#app-jd .qr-item .qr-ext {\r\n\tpadding-left: 92px\r\n}\r\n\r\n#app-jd .qr-item .qr-ext strong, #app-jd .qr-item .qr-ext a {\r\n\tdisplay: block;\r\n\tmargin: 0\r\n}\r\n\r\n#app-jd .qr-item .qr-ext strong {\r\n\tline-height: 20px;\r\n\tmargin-bottom: 7px;\r\n\tcolor: #E4393C\r\n}\r\n\r\n#app-jd .qr-item .qr-ext .btn-app-apple {\r\n\tmargin-bottom: 7px\r\n}\r\n\r\n#shortcut-2013 #app-jd.hover .outline, #shortcut-2013 #app-jd.hover .blank\r\n\t{\r\n\twidth: 98px\r\n}\r\n\r\n#app-jd .qr-info {\r\n\tdisplay: none\r\n}\r\n\r\n#app-jd .dd {\r\n\tpadding-top: 60px;\r\n\tpadding-left: 30px;\r\n\tpadding-right: 10px\r\n}\r\n\r\n#app-jd .qr-info {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 24px;\r\n\tleft: 8px;\r\n\twidth: 220px;\r\n\theight: 65px;\r\n\tbackground:\r\n\t\turl(../images/537b084eN94336622.png)\r\n}\r\n\r\n#shortcut-2013 #jd-vip {\r\n\tpadding-left: 38px\r\n}\r\n\r\n#jd-vip:hover i {\r\n\tbackground-position: 0 -15px\r\n}\r\n\r\n#jd-vip i {\r\n\tposition: absolute;\r\n\tleft: 10px;\r\n\ttop: 9px;\r\n\tdisplay: block;\r\n\twidth: 24px;\r\n\theight: 11px;\r\n\toverflow: hidden;\r\n\tbackground: url(../images/vip.png)\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/login.css",
    "content": "@charset \"utf-8\";\r\nhtml,body,div,span,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,address,big,cite,code,del,em,font,img,ins,small,strong,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend{margin:0;padding:0;}ol,ul{list-style:none;}:focus{outline:0;}a img{border:0;}img{vertical-align:middle;}table{empty-cells:show;}ins{text-decoration:none;}del{text-decoration:line-through;}h1{font-size:20px;font-family:Arial,Lucida,Verdana,\"microsoft yahei\",\"宋体\",Helvetica,sans-serif;}h2{font-size:14px;}h3{font-size:14px;}h4{font-size:12px;}h5{font-size:12px;}h6{font-size:12px;}.ftx01,.flk01 a:link,.flk01 a:visited,a.flk01:link,a.flk01:visited{color:#FCD410;}.ftx02,.flk02 a:link,.flk02 a:visited,a.flk02:link,a.flk02:visited{color:#F90;}.ftx03,.flk03 a:link,.flk03 a:visited,a.flk03:link,a.flk03:visited{color:#A0410A;}.ftx04,.flk04 a:link,.flk04 a:visited,a.flk04:link,a.flk04:visited{color:#F00;}.ftx05,.flk05 a:link,.flk05 a:visited,a.flk05:link,a.flk05:visited{color:#A40F00;}.ftx11,.flk11 a:link,.flk11 a:visited,a.flk11:link,a.flk11:visited{color:#B8D1EA;}.ftx12,.flk12 a:link,.flk12 a:visited,a.flk12:link,a.flk12:visited{color:#4589BF;}.ftx13,.flk13 a:link,.flk13 a:visited,a.flk13:link,a.flk13:visited{color:#005AA0;}.ftx14,.flk14 a:link,.flk14 a:visited,a.flk14:link,a.flk14:visited{color:#12A000;}.ftx21,.flk21 a:link,.flk21 a:visited,a.flk21:link,a.flk21:visited{color:#FFF;}.ftx22,.flk22 a:link,.flk22 a:visited,a.flk22:link,a.flk22:visited{color:#CCC;}.ftx23,.flk23 a:link,.flk23 a:visited,a.flk23:link,a.flk23:visited{color:#999;}.ftx24,.flk24 a:link,.flk24 a:visited,a.flk24:link,a.flk24:visited{color:#666;}.ftx25,.flk25 a:link,.flk25 a:visited,a.flk25:link,a.flk25:visited{color:#333;}.ftx26,.flk26 a:link,.flk26 a:visited,a.flk26:link,a.flk26:visited{color:#000;}\r\n/*layout*/\r\nbody{margin:0 auto;}\r\n.w{width:990px;padding:0;margin:0 auto;zoom:1;}\r\nbody .fl{float:left;}body .fr{float:right;}body .fn{float:none;}\r\nbody .al{text-align:left;}body .ac{text-align:center;}body .ar{text-align:right;}\r\n.clr{display:block;overflow:hidden;clear:both;height:0;line-height:0;font-size:0;}\r\n.clearfix:after {content:\".\";display:block;height:0;clear:both;visibility:hidden;}\r\n.clearfix{display:inline-table;}\r\n/* Hides from IE-mac \\*/\r\n*html .clearfix {height:1%;}\r\n.clearfix{display:block;}\r\n/* End hide from IE-mac */\r\n*+html .clearfix {min-height:1%;}\r\n.overflow{overflow:hidden;}\r\n.block{display:block;overflow:hidden;cursor:pointer;}\r\n.hide{display:none;}\r\n.invisible{visibility:hidden;}\r\n/*form*/\r\n.form label,.form input,.form select,.form textarea,.form button,.form .label{float:left;font-size:12px;}\r\n.form .item{overflow:hidden;zoom:1;}\r\n.btn-img{cursor:pointer;overflow:hidden;margin:0;padding:0;border:0;text-align:center;}\r\n.btn-text{cursor:pointer;overflow:hidden;margin:0;padding:0;text-align:center;}\r\n.btn-link{display:block;overflow:hidden;text-align:center;}\r\n/*module*/\r\n.m,.mt,.mc,.mb{overflow:hidden;zoom:1;}\r\n.mt .extra{float:right;}\r\n.m{margin-bottom:10px;}\r\n.lh { overflow:hidden; zoom:1; }\r\n.lh li, .lh dl, .lh .item { float:left; }\r\n.ld { position:relative; zoom:1; }\r\n.ld s, .ld b, .ld .block { position:absolute; overflow:hidden; }\r\n/*tab*/\r\n.tab{overflow:hidden;zoom:1;}\r\n.tab li,.tab-item{float:left;text-align:center;}\r\n/*text*/\r\nbody{font-family:Arial,\"宋体\",Lucida,Verdana,Helvetica,sans-serif;font-size:12px;color:#333;line-height:150%;}\r\n/*link*/\r\na:link,a:visited{color:#333;text-decoration:none;}\r\na:hover,a:active{color:#f00;text-decoration:underline;}\r\n#shortcut,\r\n#shortcut .w,\r\n#shortcut .fl b,\r\n#shortcut .menu b{background-image:url(../images/20111221C.png);background-repeat:no-repeat;}\r\n#shortcut li{background-image:url(../images/20120112B.png);background-repeat:no-repeat;}\r\n#shortcut,\r\n#shortcut .w{height:30px;background-color:#efefef;background-repeat:repeat-x;}\r\n#shortcut{width:100%;padding-bottom:1px;line-height:30px;}\r\n#shortcut li{height:27px;padding:0 10px;background-position:-230px -320px;}\r\n\r\n#shortcut .fl .fore1{padding-left:15px;background:none;}\r\n#shortcut .fl b{top:10px;left:1px;width:10px;height:10px;background-position:-57px -289px;cursor:pointer;}\r\n#shortcut .fr{height:30px;overflow:visible;}\r\n#shortcut .fr .fore1{background:none;}\r\n#shortcut .fr .menu{position:relative;z-index:10;width:83px;padding:3px 0 0;}\r\n#shortcut .menu dl{width:67px;padding:0 7px;}\r\n#shortcut .menu dt{height:24px;padding:0 10px 1px 6px;line-height:24px;cursor:default;}\r\n#shortcut .menu b{top:10px;right:3px;width:7px;height:4px;background-position:-35px -281px;}\r\n#shortcut .menu dd{display:none;padding:4px 0 4px 5px;line-height:21px;}\r\n/*#shortcut .menu:hover dl,*/\r\n#shortcut .fr .hover{z-index:11;}\r\n#shortcut .hover dl{border:1px solid #ddd;background:#fff;-moz-box-shadow:0 0 5px #ddd;-webkit-box-shadow:0 0 5px #ddd;box-shadow:0 0 5px #ddd;}\r\n/*#shortcut .menu:hover dt,*/\r\n#shortcut .hover dt{padding-left:5px;border-bottom:1px solid #F3F3F3;line-height:23px;}\r\n/*#shortcut .menu:hover dd,*/\r\n#shortcut .hover dd{display:block;}\r\n/*#shortcut .menu:hover b,*/\r\n#shortcut .hover b{top:9px;background-position:-35px -275px;}\r\n#shortcut a.link-logout:link,\r\n#shortcut a.link-logout:visited{color:#999;}\r\n#loginbar a{margin-left:5px;}\r\n#mycity{font-weight:bold;color:#005EA7;}\r\n#quit{color:#999;}\r\n\r\n*html #shortcut .fl{height:27px;overflow:hidden;}\r\n*html #shortcut .fl b{top:8px;}\r\n*html #shortcut li.menu dl{position:absolute;}\r\n/*footer*/\r\n#footer { padding-bottom:30px; text-align:center; }\r\n#footer .links a, #footer .links span { margin:0 10px; }\r\n#footer .links span a { margin:0; }\r\n#footer .copyright { margin:10px 0; }\r\n#footer .authentication a { margin:0 5px; }\r\n/*logo*/\r\n#logo{padding:10px 0;}\r\n#shortcut .fl span{display:none}\r\n\r\n/*shortcut*/\r\n#shortcut-2013 .fl b,\r\n#shortcut-2013 .fr b{background-image:url(../images/20130330A.png);background-repeat:no-repeat;}\r\n#shortcut-2013,\r\n#shortcut-2013 .w{height:30px;background:#FAFAFA;}\r\n#shortcut-2013{width:100%;border-bottom:1px solid #eee;line-height:30px;}\r\n#shortcut-2013 li{height:30px;padding:0 11px 0 12px;}\r\n#shortcut-2013 li s{top:9px;left:0;width:0px;height:12px;border-left:1px solid #DDD;overflow:hidden;}\r\n#shortcut-2013 b{transition:transform 0.2s ease-in 0s;}\r\n#shortcut-2013 .fl{overflow:visible;}\r\n#shortcut-2013 .fl .fore1{padding-left:16px;z-index:1;}\r\n#shortcut-2013 .fl b{top:8px;left:0;width:13px;height:13px;background-position:-90px -23px;cursor:pointer;}\r\n#shortcut-2013 .fl li:hover b{transform:rotate(720deg);}\r\n#shortcut-2013 .fl .jtip{left:68px;top:6px;width:120px;line-height:16px;}\r\n#shortcut-2013 .fr{height:30px;overflow:visible;}\r\n#shortcut-2013 .fr b{top:13px;right:8px;width:7px;height:4px;background-position:-95px -55px;}\r\n#shortcut-2013 .menu{width:60px;z-index:10;}\r\n#shortcut-2013 .dd{display:none;}\r\n#shortcut-2013 .hover .outline,\r\n#shortcut-2013 .hover .dd{position:absolute;border:1px solid #DDD;background:#fff;-moz-box-shadow:0 0 10px #DDD;-webkit-box-shadow:0 0 10px #DDD;box-shadow:0 0 10px #DDD;}\r\n#shortcut-2013 .hover .outline{z-index:-1;left:5px;top:3px;width:73px;height:28px;}\r\n#shortcut-2013 .hover .blank{position:absolute;z-index:1;top:25px;left:6px;width:73px;height:6px;overflow:hidden;background:#fff;}\r\n#shortcut-2013 .hover .dd{display:block;top:30px;}\r\n#shortcut-2013 .fr .hover b{transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);}\r\n\r\n\r\n#biz-service.hover .dd{left:5px;width:73px;}\r\n#biz-service.hover .dd div{padding-left:6px;line-height:22px;}\r\n#site-nav .dd{left:-164px;width:242px;}\r\n#site-nav .dd dl{width:70px;}\r\n#site-nav .dd .fore2{width:80px;}\r\n#site-nav .dd .fore3{width:90px;}\r\n#site-nav .dd dt{padding:4px 0 4px 9px;line-height:20px;font-weight:bold;}\r\n#site-nav .dd dd{padding-left:9px;line-height:22px;}\r\n\r\n/*#footer*/\r\n#footer-2013{padding-bottom:30px;text-align:center;}\r\n#footer-2013 .links a,\r\n#footer-2013 .links span{margin:0 10px;}\r\n#footer-2013 .links span a{margin:0;}\r\n#footer-2013 .copyright{margin:10px 0;}\r\n#footer-2013 .authentication a{margin:0 5px;}\r\n/*-------------------regist2013------------------*/\r\nhtml,body,div,span,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,address,big,cite,code,del,em,font,img,ins,small,strong,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend{margin:0;padding:0;}ol,ul{list-style:none;}:focus{outline:0;}a img{border:0;}img{vertical-align:middle;}table{empty-cells:show;}ins{text-decoration:none;}del{text-decoration:line-through;}h1{font-size:20px;font-family:Arial,Lucida,Verdana,\"microsoft yahei\",\"宋体\",Helvetica,sans-serif;}h2{font-size:14px;}h3{font-size:14px;}h4{font-size:12px;}h5{font-size:12px;}h6{font-size:12px;}.ftx01,.flk01 a:link,.flk01 a:visited,a.flk01:link,a.flk01:visited{color:#FCD410;}.ftx02,.flk02 a:link,.flk02 a:visited,a.flk02:link,a.flk02:visited{color:#F90;}.ftx03,.flk03 a:link,.flk03 a:visited,a.flk03:link,a.flk03:visited{color:#A0410A;}.ftx04,.flk04 a:link,.flk04 a:visited,a.flk04:link,a.flk04:visited{color:#F00;}.ftx05,.flk05 a:link,.flk05 a:visited,a.flk05:link,a.flk05:visited{color:#A40F00;}.ftx11,.flk11 a:link,.flk11 a:visited,a.flk11:link,a.flk11:visited{color:#B8D1EA;}.ftx12,.flk12 a:link,.flk12 a:visited,a.flk12:link,a.flk12:visited{color:#4589BF;}.ftx13,.flk13 a:link,.flk13 a:visited,a.flk13:link,a.flk13:visited{color:#005AA0;}.ftx14,.flk14 a:link,.flk14 a:visited,a.flk14:link,a.flk14:visited{color:#12A000;}.ftx21,.flk21 a:link,.flk21 a:visited,a.flk21:link,a.flk21:visited{color:#FFF;}.ftx22,.flk22 a:link,.flk22 a:visited,a.flk22:link,a.flk22:visited{color:#CCC;}.ftx23,.flk23 a:link,.flk23 a:visited,a.flk23:link,a.flk23:visited{color:#999;}.ftx24,.flk24 a:link,.flk24 a:visited,a.flk24:link,a.flk24:visited{color:#666;}.ftx25,.flk25 a:link,.flk25 a:visited,a.flk25:link,a.flk25:visited{color:#333;}.ftx26,.flk26 a:link,.flk26 a:visited,a.flk26:link,a.flk26:visited{color:#000;}\r\n/*layout*/\r\nbody{margin:0 auto;}\r\n.w{width:990px;padding:0;margin:0 auto;zoom:1;}\r\nbody .fl{float:left;}body .fr{float:right;}body .fn{float:none;}\r\nbody .al{text-align:left;}body .ac{text-align:center;}body .ar{text-align:right;}\r\n.clr{display:block;overflow:hidden;clear:both;height:0;line-height:0;font-size:0;}\r\n.clearfix:after {content:\".\";display:block;height:0;clear:both;visibility:hidden;}\r\n.clearfix{display:inline-table;}\r\n/* Hides from IE-mac \\*/\r\n*html .clearfix {height:1%;}\r\n.clearfix{display:block;}\r\n/* End hide from IE-mac */\r\n*+html .clearfix {min-height:1%;}\r\n.overflow{overflow:hidden;}\r\n.block{display:block;overflow:hidden;cursor:pointer;}\r\n.hide{display:none;}\r\n.invisible{visibility:hidden;}\r\n/*form*/\r\n.form label,.form input,.form select,.form textarea,.form button,.form .label{float:left;font-size:12px;}\r\n.form .item{}\r\n.btn-img{cursor:pointer;overflow:hidden;margin:0;padding:0;border:0;text-align:center;}\r\n.btn-text{cursor:pointer;overflow:hidden;margin:0;padding:0;text-align:center;}\r\n.btn-link{display:block;overflow:hidden;text-align:center;}\r\n/*module*/\r\n.m,.mt,.mc,.mb{overflow:hidden;zoom:1;}\r\n.mt .extra{float:right;}\r\n.m{margin-bottom:10px;}\r\n/*tab*/\r\n.tab{overflow:hidden;zoom:1;}\r\n.tab li,.tab-item{float:left;text-align:center;}\r\n/*text*/\r\nbody{font-family:Arial,\"宋体\",Lucida,Verdana,Helvetica,sans-serif;font-size:12px;color:#333;line-height:150%;}\r\n/*link*/\r\na:link,a:visited{color:#333;text-decoration:none;}\r\na:hover,a:active{color:#f00;text-decoration:underline;}\r\n/*shortcut*/\r\n#shortcut{width:100%;height:30px;background:url(../images/bg_shortcut.gif) #efefef repeat-x 0 -134px;}\r\n#shortcut .collect{float:left;position:relative;padding-left:15px;line-height:30px;}\r\n#shortcut .collect b{position:absolute;top:9px;left:2px;width:10px;height:10px;overflow:hidden;background:url(../images/bg_tit_home.gif) -130px -274px;}\r\n#shortcut ul{float:right;position:relative;z-index:11;background:url(../images/bg_shortcut.gif) repeat-x 0 -134px;height:30px;}\r\n#shortcut li{float:left;height:26px;padding:2px 8px;background:url(../images/bg_shortcut.gif) no-repeat -260px -100px;line-height:26px;font-family:\"宋体\";color:#ACACAC;}\r\n#shortcut .fore1{background:none;}\r\n#shortcut .link-regist{color:#f60;}\r\n#shortcut .fore2{padding-left:50px;background:url(../images/bg_shortcut.gif) no-repeat -130px -165px;}\r\n#shortcut .sub{width:72px;padding:0;}\r\n#shortcut li dl{overflow:hidden;padding:0 1px;}\r\n#shortcut li dt{position:relative;height:26px;padding:2px 11px 2px 8px;overflow:hidden;}\r\n#shortcut li dt b{position:absolute;top:13px;right:3px;width:5px;height:3px;background:url(../images/bg_shortcut.gif) no-repeat -210px -25px;}\r\n#shortcut li dd{display:none;line-height:20px;padding-left:8px;}\r\n#shortcut li:hover dl,#shortcut .hover dl{padding:0;border:solid #ccc;border-width:0 1px 1px;background:#fff;}\r\n#shortcut li:hover dd,#shortcut .hover dd{display:block;}\r\n#shortcut li:hover b,#shortcut .hover b{background-position:-220px -25px;}\r\n*html #shortcut li.sub dl{position:absolute;}\r\n/*footer*/\r\n#footer{padding:20px 0 30px;text-align:center;}\r\n#footer .flinks a,#footer .flinks span{margin:0 10px;}\r\n#footer .flinks span a{margin:0;}\r\n#footer .copyright{margin:10px 0;font-family:arial;}\r\n#footer .ilinks a{margin:0 5px;}\r\n/*logo*/\r\n#logo{padding:10px 0;float:none;margin:0;position:relative;}\r\n#logo b{position:absolute;background:url(../images/login-all-bg.png) 0 -131px no-repeat;width:111px;height:46px;top:18px;left:180px; }\r\n/*---------------regist.entry2013---------------------*/\r\nbody{background:#f2f2f2;}\r\n.w1{width:890px;margin:0 auto;}\r\n#loginpwd_error,#loginpwd_error{}\r\n/*entry*/\r\n#entry{ background:#e8e8e8;-moz-border-radius:3px; -webkit-border-radius:3px;border-radius:3px;padding:5px;margin:60px auto 55px ;position:relative;}\r\n#entry .extra-en{position:absolute;right:20px;top:-20px;}\r\n.free-regist{position:absolute;right:42px;bottom:-31px;background:#e8e8e8;width:115px;height:32px;text-align:center;line-height:32px;-moz-border-radius:0 0 3px 3px; -webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;padding:0px 5px 5px;}\r\n.free-regist a:link,.free-regist  a:visited {color:#ffffff;}\r\n.free-regist a:hover{text-decoration:none;}\r\n.free-regist span{text-align:center;font-size:14px;background:#7cbe56;width:115px;height:32px;display:block;color:#FFF;-moz-border-radius:0 0 3px 3px; -webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;}\r\n.free-regist span:hover{background:#89c964}\r\n#entry .mt{height:33px;background:url(../images/tit_regist.jpg) #D1D1D1 repeat-x 0 -34px;}\r\n#entry .mt h2{float:left;height:33px;padding-left:15px;background:url(../images/tit_regist.jpg) no-repeat 0 0;line-height:33px;}\r\n#entry .mt span{float:right;height:33px;line-height:33px;text-align:right;}\r\n#entry .mt b{float:right;width:10px;height:33px;background:url(../images/tit_regist.jpg) no-repeat 0 -68px;}\r\n#entry .mc{border:1px solid #e1e1e1;background:#ffffff;height:355px;}\r\n#entry .form{position:absolute;top:18px;right:32px;width:320px;overflow:hidden;height:354px;}\r\n#entry .lheight .form{height:354px;}\r\n#entry .item{height:64px;line-height:26px;overflow:visible;position:relative;width:320px;z-index:1;}\r\n#entry .login-btn2013{height:52px;}\r\n.form #sloginpwd{float:none;}\r\n#entry .fore1{z-index:10;}\r\n#entry .fore2{z-index:8;}\r\n#entry .fore3{z-index:6;height:63px;}\r\n#entry .fore4{z-index:3;}\r\n#entry .item span {color: #999999;height: 20px; line-height: 20px;display:block;margin-top:1px;}\r\n#entry .item .ftx24 .clr{height:0;line-height:0;}\r\n#entry .item .item-ifo {position:relative;width:307px;}\r\n#entry .item-share{position:absolute;bottom:5px;}\r\n#entry .item-ifo .ico{position:absolute;right:12px;z-index:5;}\r\n#entry .item-ifo .i-name{background:url(../images/login-all-bg.png) no-repeat -373px -111px #fff;width:16px;height:16px;top:8px;}\r\n#entry .item-ifo .i-pass{background:url(../images/login-all-bg.png) no-repeat -346px -108px #fff;width:14px;height:19px;top:8px;}\r\n#entry .tab{border-bottom:1px solid #ffd690;height:29px;margin-bottom:25px;overflow:visible;padding-left:100px;}\r\n#entry .tab li{color:#666666;font-size:12px;height:27px;line-height:27px;padding-top:3px;text-align:center;margin-right:20px;}\r\n#entry .item .tab li a{text-decoration:none;}\r\n#entry .tab .curr{background:url(\"../images/bg_regist0914.jpg\") no-repeat scroll -141px -188px transparent;color:#A0410A;font-weight:bold;position:relative;z-index:10;width:100px;}\r\n#entry #autoentry{height:37px;margin-top:35px;}\r\n#entry #autoentry .item-ifo{}\r\n#entry .item a:link,#entry .item a:visited{}\r\n#entry .label{width:100px;text-align:right;font-size:14px;}\r\n#entry .text{float:none;width:282px;height:24px;line-height:24px;padding:4px 20px 4px 3px;border:1px solid #cccccc;font-size:14px;font-family:arial,\"宋体\";}\r\n#entry .text_pge{float:none;width:305px;_width:305px;height:32px;line-height:32px;border:1px solid #cccccc;font-size:14px;font-family:arial,\"宋体\";overflow: hidden;}\r\n@media all and (-webkit-min-device-pixel-ratio:0) { #entry .text_pge {width:305px;} }\r\n@-moz-document url-prefix(){#entry .text_pge{width:307px;}}\r\n#entry .text-1{width:100px;float:left;}\r\n#entry .blank{display:none;float:none;width:16px;height:16px;position:absolute;top:9px;right:8px;z-index:10;padding:2px;}\r\n#entry .mar{margin-right:10px;}\r\n#entry .img img{height:26px;margin:0 5px;}\r\n#entry .succeed{background:url(../images/sucess.png) no-repeat  #ffffff;}\r\n#entry .btn-entry{width:307px;height:34px;font-family:\"微软雅黑\";line-height:100px;text-indent:-9999px;background:url(../images/login-all-bg.png) no-repeat 0 -61px; overflow:hidden;}\r\n#entry .btn-entry:hover{background:url(../images/login-all-bg.png) no-repeat 0 -95px;}\r\n#entry .highlight1{border:1px solid #7abd54;}\r\n#entry .highlight2{border:1px solid #f00;color:#f00;}\r\n#entry .pwdbg{background:#FFF8EB;}\r\n#entry .focus{color:#999;line-height:22px;display:none;}\r\n#entry select{margin-top:5px;}\r\n#entry .null,#entry .error,#loginname_error.error,#loginpwd_error.error,#authcode_error.error{position:absolute;width:302px;padding:2px 0 2px 3px;left:0px;top:34px;border:1px solid #ffbdbf;color:#e6393d;background:#ffebec;float:none;line-height:16px;z-index:100;}\r\n\r\n#entry .checkbox{margin-top:3px;*margin-top:2px;}\r\n#entry .extra .btns{float:left;position:relative;overflow:hidden;height:14px;margin-right:2px;line-height:14px;}\r\n#entry .extra .btns s{display:none;position:absolute;top:0;left:0;width:23px;height:23px;background-image:url(../images/icon_cooperation.jpg);background-repeat:no-repeat;}\r\n#entry .extra .ftx24 .btns a:link,#entry .extra .ftx24 .btns a:visited{text-decoration:none;color:#666666;padding-right:2px;border-right:1px solid #DBDBDB;}\r\n#entry .extra .ftx24 .more a:link,#entry .extra .ftx24 .more a:visited  {border-right:none;}\r\n#entry .extra .qq s{background-position:0 0;}\r\n#entry .extra .ftx24{color:#999;}\r\n#entry .extra .alipay s{background-position:-23px 0;}\r\n#entry .extra .baidu s{background-position:-138px 0;}\r\n#entry .extra .renren s{background-position:-46px 0;}\r\n#entry .extra .net163 s{background-position:-69px 0;}\r\n#entry .extra .kaixing001 s{background-position:-92px 0;}\r\n#entry .extra .sina s{background-position:-115px 0;}\r\n#entry .extra .douban s{background-position:-162px 0;}\r\n#entry .extra .alipay a:link,#entry .extra .alipay a:visited{border:none;}\r\n#entry .extra .more{padding-left:5px;}\r\n#entry .extra .more a:link,#entry .extra .more a:visited{border:none;}\r\n\r\n/*guide*/\r\n#guide{float:right;width:300px;height:290px;padding:0px 0 20px 21px;border-left:1px solid #E7E7E7;}\r\n#guide .content{color:#666;padding:10px 0 0;}\r\n#guide .btn-personal{width:137px;height:35px;background:url(../images/bg_regist0914.jpg) no-repeat 0 -186px;line-height:35px;margin:20px auto;font-weight:bold;font-size:14px;margin-top:35px;}\r\n#guide .btn-personal:hover{text-decoration:none;}\r\n#guide .btns{border-top:1px dotted #ccc;padding-top:15px;text-align:center;margin-bottom:50px;*margin-bottom:40px;}\r\n#guide .btns a:link,#guide .btns a:visited{margin:0 10px;color:#005aa0;font-size:14px;}\r\n/*-moz-*/\r\n\r\n@-moz-document url-prefix(){#entry .checkbox{margin-top:7px;}}\r\n@-moz-document url-prefix(){.qq,.alipay,.renren{line-height:22px;}}\r\n\r\n#entry .jdsafe{float:left;margin:5px 10px 0 0;background:url(../images/pass-i.jpg) no-repeat;width:16px;height:16px;}\r\n.jdwid .mc{padding:20px 20px 30px;}\r\n.jdwid h3{font-family:\"微软雅黑\";}\r\n.jdwid .step{overflow:hidden;zoom:1;margin-top:10px;}\r\n.jdwid .step div{float:left;margin-right:3px;color:#666666;}\r\n.jdwid .step div span{float:left;margin-right:5px;background:url(../images/one1.jpg) no-repeat;width:16px;height:16px;line-height:16px;text-align:center;color:#fe6500;font-weight:bold;}\r\n.jdwid .step b{float:left;background:url(../images/one2.jpg) no-repeat;width:12px;height:12px;margin-right:5px;margin-top:2px;}\r\n.jdwid .mc .btn{background:url(../images/one3.jpg) no-repeat;width:73px;text-align:center;height:25px;line-height:25px;margin:10px auto 0;}\r\n\r\n.entry-bg{background:#e8e8e8;-moz-border-radius:5px; -webkit-border-radius:5px;border-radius:5px;padding:3px;margin-bottom:150px;}\r\n.mb{margin-bottom:24px;overflow:hidden;}\r\n.form .hline{line-height:16px;}\r\n#entry .lheight {height:354px;}\r\n@media all and (-webkit-min-device-pixel-ratio:0) { #entry .checkbox {margin-top:7px;vertical-align:middle;} }\r\n.mb {\r\n    margin-bottom: 24px;\r\n    overflow: hidden;\r\n}\r\n\r\n#entry .updata{z-index:10;position:absolute;top:20px;left:30px; width:188px;padding:5px;line-height:108px;height:40px;overflow: hidden;background: url(\"../images/login-all-bg.png\") no-repeat scroll 0 -180px transparent;}\r\n#entry .tip-safe{z-index:21;position:absolute;top:4px;left:126px;width:138px;padding:8px;line-height:18px;border:1px solid #E3E3E3;-moz-box-shadow:0 0 10px #DDD;-webkit-box-shadow:0 0 10px #DDD;box-shadow:0 0 10px #DDD;padding:5px;heihgt:20px;line-height:20px;overflow:hidden;background: #ffffff;}\r\n#entry .up-one{position:absolute;right:16px;top:16px;width:10px;height:10px;}\r\n#entry .up-two{position:absolute;left:92px;top:13px;width:72px;height:20px;}\r\n\r\n.thickframe {\r\n    position: fixed;\r\n    top: 0;\r\n    left: 0;\r\n    z-index: 10000000;\r\n    width: 100%;\r\n    height: 100%;\r\n    background: #000;\r\n    border: 0;\r\n    filter: alpha(opacity = 0);\r\n    opacity: 0;\r\n}\r\n\r\n.thickdiv {\r\n    position: fixed;\r\n    top: 0;\r\n    left: 0;\r\n    z-index: 10000001;\r\n    width: 100%;\r\n    height: 100%;\r\n    background: #000;\r\n    border: 0;\r\n    filter: alpha(opacity = 15);\r\n    opacity: .15;\r\n}\r\n\r\n.thickbox {\r\n    position: absolute;\r\n    z-index: 10000002;\r\n    overflow: hidden;\r\n    padding: 0;\r\n    border: 4px solid rgba(0, 0, 0, 0.1);\r\n    border-radius: 5px;\r\n    -moz-border-radius: 5px;\r\n    -webkit-border-radius: 5px;\r\n}\r\n\r\n.thicktitle {\r\n    height: 27px;\r\n    padding: 0 10px;\r\n    border: solid #C4C4C4;\r\n    border-width: 1px 1px 0;\r\n    background: #F3F3F3;\r\n    line-height: 27px;\r\n    font-family: arial, \"\\5b8b\\4f53\";\r\n    font-size: 14px;\r\n    font-weight: bold;\r\n    color: #333;\r\n}\r\n\r\n.thickclose:link, .thickclose:visited {\r\n    display: block;\r\n    position: absolute;\r\n    z-index: 100000;\r\n    top: 7px;\r\n    right: 12px;\r\n    overflow: hidden;\r\n    width: 15px;\r\n    height: 15px;\r\n    background: url(../images/bg_thickbox.gif) no-repeat 0 -18px;\r\n    font-size: 0;\r\n    line-height: 100px;\r\n}\r\n\r\n.thickcon {\r\n    overflow: auto;\r\n    background: #fff;\r\n    border: solid #C4C4C4;\r\n    border-width: 1px;\r\n    padding: 10px;\r\n}\r\n\r\n.thickloading {\r\n    background: url(../images/loading.gif) #fff no-repeat center center;\r\n}\r\n\r\n.thickcountdown {\r\n    height: 20px;\r\n    padding-right: 6px;\r\n    margin-top: -20px;\r\n    text-align: right;\r\n    color: #999;\r\n}\r\n\r\n*html .thickframe {\r\n    position: absolute;\r\n}\r\n\r\n*html .thickdiv {\r\n    position: absolute;\r\n}\r\n\r\n#thicktitler {\r\n    padding: 0 11px;\r\n    background: #8DB7DC;\r\n    border: none;\r\n    color: #fff;\r\n}\r\n\r\n#thickcloser:link, #thickcloser:visited {\r\n    top: 6px;\r\n    right: 9px;\r\n    width: 16px;\r\n    height: 17px;\r\n    background-position: 0 0;\r\n}\r\n\r\n#thickconr {\r\n    border: solid #8DB7DC;\r\n    border-width: 1px;\r\n}\r\n\r\n.step p{margin-bottom:16px;overflow:hidden;}\r\n.step p a{color:#0060a7;}\r\n.step ul{background:url(../images/step-icon.jpg) no-repeat;width:350px;padding-top:27px;overflow:hidden;}\r\n.step-0 ul{background:url(../images/step-s-0.jpg) no-repeat;}\r\n.step li{float:left;width:113px;text-align:center;color:#aaaaaa;}\r\n.step .cur{color:#7bbc54;}\r\n.step .btn{background:url(../images/btn-tijiao.jpg) no-repeat;width:77px;height:25px;line-height:25px;text-align:center;cursor:pointer;color:#FFF;font-weight:bold;margin:20px auto 0;}\r\n.step .btn a{color:#fff;}\r\n.t-error i{float:left;background:url(../images/i-icon1.jpg) no-repeat;width:48px;height:42px;margin-right:5px;}\r\n.t-error .mc{width:350px;}\r\n.t-error strong{float:left;width:297px;font-size:16px;}\r\n.t-error span{float:left;width:297px;margin-top:6px;color:#989898;}\r\n.t-error .btn{background:url(../images/btn-cont.jpg) no-repeat;width:57px;height:25px;line-height:25px;text-align:center;cursor:pointer;margin:15px auto 0;}\r\n\r\n#mb-bg{background:url(../images/login-all-bg.png) no-repeat;height:59px;width: 853px;}\r\n.iframe1{position:absolute;width:14px;height:19px;top:8px;right:12px;background:#FF0000;border: none;z-index:1000;}\r\n#capslock{\r\n    display: none;\r\n    position: absolute;\r\n    top:52px;\r\n    left:0;\r\n    z-index: 11;\r\n    width: 285px;\r\n    background-color: #fffdee;\r\n    height:30px;\r\n    line-height: 30px;\r\n    border:1px solid #edd288;\r\n    color:#f60;\r\n    padding:0 10px;\r\n}\r\n#capslock i{\r\n    background:url(../images/login-all-bg.png) -35px -239px no-repeat;\r\n    display: inline-block;\r\n    height: 30px;\r\n    width:20px;\r\n    margin-right: 10px;\r\n    vertical-align: middle;\r\n\r\n}\r\n#capslock s{\r\n    position: absolute;\r\n    background:url(../images/login-all-bg.png) 0 -246px no-repeat;\r\n    height: 12px;\r\n    width:18px;\r\n    bottom:-10px;\r\n    left:38px;\r\n}\r\n\r\n/*合作伙伴登陆入口*/\r\n#entry .coagent{\r\n    position: absolute;\r\n    right: 0;\r\n    bottom: 26px;\r\n    width: 350px;\r\n    line-height: 26px;\r\n    z-index:99999;\r\n}\r\n#entry .coagent .ftx24 {\r\n    color: #999;\r\n}\r\n#entry .coagent .btns {\r\n    float: left;\r\n    height: 18px;\r\n    line-height: 18px;\r\n    margin-right: 3px;\r\n    overflow: hidden;\r\n    position: relative;\r\n}\r\n#entry .coagent a:link,\r\n#entry .coagent a:visited{\r\n    border-right: 2px solid #DBDBDB;\r\n    color: #666666;\r\n    padding-right: 6px;\r\n    text-decoration: none;\r\n}\r\n#entry .coagent .more a:link,\r\n#entry .coagent .more a:visited{\r\n    border-right: 0;\r\n}\r\n\r\n/*2013/12/12*/\r\n#entry .lheight #autoentry{\r\n\tmargin-top: 8px;\r\n}\r\n.snow-animate {-webkit-animation:transform 5s ease 0s alternate none infinite;}\r\n.snow-animate {-moz-animation:transform 5s ease 0s alternate none infinite;}\r\n.snow-animate {animation:transform 5s ease 0s alternate none infinite;}\r\n@-webkit-keyframes transform { from{-webkit-transform:rotate(0deg); } to{-webkit-transform:rotate(360deg); } }\r\n@-moz-keyframes transform { from{-moz-transform:rotate(0deg); } to{-moz-transform:rotate(360deg); } }\r\n@keyframes transform { from{transform:rotate(0deg); } to{transform:rotate(360deg); } }\r\n\r\n\r\n#entry .coagent .more-slide{\r\n\toverflow: visible;\r\n\tposition: relative;\r\n}\r\n.more-slide dt{\r\n\tpadding: 2px 5px 0 5px;\r\n\tcolor:#666;\r\n\twidth: 120px;\r\n\tline-height:14px;\r\n}\r\n.more-slide.hover dt,\r\n.more-slide:hover dt{\r\n\tborder: 1px solid #ccc;\r\n\tborder-bottom: 0;\r\n\tpadding: 1px 4px 0 4px;\r\n}\r\n.more-slide dd{\r\n\tborder: 1px solid #ccc;\r\n\tborder-top: 0;\r\n\tbackground-color: #fff;\r\n\tpadding: 0 5px;\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\ttop:17px;\r\n\tleft: 0;\r\n\twidth: 118px;\r\n}\r\n.more-slide.hover dd,\r\n.more-slide:hover dd{\r\n\tdisplay: block;\r\n}\r\n.more-slide dt b{\r\n\tdisplay: inline-block;\r\n\tline-height:14px;\r\n\tfont-weight: normal;\r\n\tpadding-right: 16px;\r\n\tbackground: url(../images/more-slide.png) right -2px no-repeat;\r\n}\r\n.more-slide.hover dt b,\r\n.more-slide:hover dt b{\r\n\tbackground: url(../images/more-slide.png) right -22px no-repeat;\r\n}\r\n#entry .coagent .ftx24 .more-slide dd a:link,\r\n#entry .coagent .ftx24 .more-slide dd a:visited{\r\n\tdisplay:inline;\r\n\twidth: 90%;\r\n\tborder: 0;\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/migo.css",
    "content": "html,body,div,span,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,address,big,cite,code,del,em,font,img,ins,small,strong,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend\r\n\t{\r\n\tmargin: 0;\r\n\tpadding: 0\r\n}\r\n\r\nol,ul {\r\n\tlist-style: none\r\n}\r\n\r\n:focus {\r\n\toutline: 0\r\n}\r\n\r\na img {\r\n\tborder: 0\r\n}\r\n\r\nimg {\r\n\tvertical-align: middle\r\n}\r\n\r\ntable {\r\n\tempty-cells: show\r\n}\r\n\r\nins {\r\n\ttext-decoration: none\r\n}\r\n\r\ndel {\r\n\ttext-decoration: line-through\r\n}\r\n\r\nem {\r\n\tfont-style: normal\r\n}\r\n\r\nbutton::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=submit]::-moz-focus-inner,input[type=file]>input[type=button]::-moz-focus-inner\r\n\t{\r\n\tborder: 0;\r\n\tpadding: 0\r\n}\r\n\r\n.g-0 {\r\n\twidth: 100%\r\n}\r\n\r\n.g-8 {\r\n\twidth: 150px\r\n}\r\n\r\n.g-a {\r\n\twidth: 190px\r\n}\r\n\r\n.g-a1 {\r\n\twidth: 210px\r\n}\r\n\r\n.g-a5 {\r\n\twidth: 290px\r\n}\r\n\r\n.g-b1 {\r\n\twidth: 410px\r\n}\r\n\r\n.g-b4 {\r\n\twidth: 470px\r\n}\r\n\r\n.g-b8 {\r\n\twidth: 550px\r\n}\r\n\r\n.g-b9 {\r\n\twidth: 570px\r\n}\r\n\r\n.g-c9 {\r\n\twidth: 770px\r\n}\r\n\r\n.g-d {\r\n\twidth: 790px\r\n}\r\n\r\n.g-e {\r\n\twidth: 990px\r\n}\r\n\r\n.g-0,.g-8,.g-a,.g-a1,.g-a5,.g-b1,.g-b4,.g-b8,.g-b9,.g-c9,.g-d,.g-e {\r\n\tfloat: left\r\n}\r\n\r\n.g-8,.g-a,.g-a1,.g-a5,.g-b1,.g-b4,.g-b8,.g-b9,.g-c9,.g-d,.g-e {\r\n\tposition: relative;\r\n\tz-index: 1\r\n}\r\n\r\n.g-80,.c-80 {\r\n\tmargin-left: 160px\r\n}\r\n\r\n.g-a0,.c-a0 {\r\n\tmargin-left: 200px\r\n}\r\n\r\n.g-a10,.c-a10 {\r\n\tmargin-left: 220px\r\n}\r\n\r\n.g-a50,.c-a50 {\r\n\tmargin-left: 300px\r\n}\r\n\r\n.g-b10,.c-b10 {\r\n\tmargin-left: 420px\r\n}\r\n\r\n.g-b40,.c-b40 {\r\n\tmargin-left: 480px\r\n}\r\n\r\n.g-b80,.c-b80 {\r\n\tmargin-left: 560px\r\n}\r\n\r\n.g-b90,.c-b90 {\r\n\tmargin-left: 580px\r\n}\r\n\r\n.g-c90,.c-c90 {\r\n\tmargin-left: 780px\r\n}\r\n\r\n.g-d0,.c-d0 {\r\n\tmargin-left: 800px\r\n}\r\n\r\n.g-e0,.c-e0 {\r\n\tmargin-left: 1000px\r\n}\r\n\r\n* html .g-80,* html .g-a0,* html .g-a10,* html .g-a50,* html .g-b10,*\r\n\thtml .g-b40,* html .g-b80,* html .g-b90,* html .g-c90,* html .g-d0,*\r\n\thtml .g-e0 {\r\n\tfloat: right;\r\n\tmargin-left: 10px\r\n}\r\n\r\n.g-08,.c-08 {\r\n\tmargin-right: 160px\r\n}\r\n\r\n.g-0a,.c-0a {\r\n\tmargin-right: 200px\r\n}\r\n\r\n.g-0a1,.c-0a1 {\r\n\tmargin-right: 220px\r\n}\r\n\r\n.g-0a5,.c-0a5 {\r\n\tmargin-right: 300px\r\n}\r\n\r\n.g-0b1,.c-0b1 {\r\n\tmargin-right: 420px\r\n}\r\n\r\n.g-0b4,.c-0b4 {\r\n\tmargin-right: 480px\r\n}\r\n\r\n.g-0b8,.c-0b8 {\r\n\tmargin-right: 560px\r\n}\r\n\r\n.g-0b9,.c-0b9 {\r\n\tmargin-right: 580px\r\n}\r\n\r\n.g-0c9,.c-0c9 {\r\n\tmargin-right: 780px\r\n}\r\n\r\n.g-0d,.c-0d {\r\n\tmargin-right: 800px\r\n}\r\n\r\n.g-0e,.c-0e {\r\n\tmargin-right: 1000px\r\n}\r\n\r\n* html .g-08,* html .g-0a,* html .g-0a1,* html .g-0a5,* html .g-0b1,*\r\n\thtml .g-0b4,* html .g-0b8,* html .g-0b9,* html .g-0c9,* html .g-0d,*\r\n\thtml .g-0e {\r\n\tfloat: left;\r\n\tmargin-right: 10px\r\n}\r\n\r\n.c-0 {\r\n\tmargin-left: -100%\r\n}\r\n\r\n.c-080 {\r\n\tmargin-left: -150px\r\n}\r\n\r\n.c-0a0 {\r\n\tmargin-left: -190px\r\n}\r\n\r\n.c-0a10 {\r\n\tmargin-left: -210px\r\n}\r\n\r\n.c-0a50 {\r\n\tmargin-left: -290px\r\n}\r\n\r\n.c-0b10 {\r\n\tmargin-left: -410px\r\n}\r\n\r\n.c-0b40 {\r\n\tmargin-left: -470px\r\n}\r\n\r\n.c-0b80 {\r\n\tmargin-left: -550px\r\n}\r\n\r\n.c-0b90 {\r\n\tmargin-left: -570px\r\n}\r\n\r\n.c-0c90 {\r\n\tmargin-left: -770px\r\n}\r\n\r\n.c-0d0 {\r\n\tmargin-left: -790px\r\n}\r\n\r\n.c-0e0 {\r\n\tmargin-left: -990px\r\n}\r\n\r\n* html .c-0 {\r\n\tfilter: \"\"\r\n}\r\n\r\n.fl {\r\n\tfloat: left\r\n}\r\n\r\n.fr {\r\n\tfloat: right\r\n}\r\n\r\n.fn {\r\n\tfloat: none\r\n}\r\n\r\n.al {\r\n\ttext-align: left\r\n}\r\n\r\n.ac {\r\n\ttext-align: center\r\n}\r\n\r\n.ar {\r\n\ttext-align: right\r\n}\r\n\r\n.clr {\r\n\tdisplay: block;\r\n\toverflow: hidden;\r\n\tclear: both;\r\n\theight: 0;\r\n\tline-height: 0;\r\n\tfont-size: 0\r\n}\r\n\r\n.clearfix:after {\r\n\tcontent: \".\";\r\n\tdisplay: block;\r\n\theight: 0;\r\n\tclear: both;\r\n\tvisibility: hidden\r\n}\r\n\r\n.clearfix {\r\n\tdisplay: inline-table\r\n}\r\n\r\n* html .clearfix {\r\n\theight: 1%\r\n}\r\n\r\n.clearfix {\r\n\tdisplay: block\r\n}\r\n\r\n*+html .clearfix {\r\n\tmin-height: 1%\r\n}\r\n\r\n.overflow {\r\n\toverflow: hidden\r\n}\r\n\r\n.m,.mt,.mc,.mb,.sm,.smt,.smc,.smb {\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n.m,.sm {\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n.mt,.smt {\r\n\tcursor: default\r\n}\r\n\r\n.mt h2,.smt h3 {\r\n\tfont-family: \"microsoft yahei\"\r\n}\r\n\r\n.m .mt .extra a:link,.m .mt .extra a:visited,.sm .smt .extra a:link,.sm .smt .extra a:visited\r\n\t{\r\n\tcolor: #005EA7\r\n}\r\n\r\n.form label,.form input,.form select,.form textarea,.form button,.form .label\r\n\t{\r\n\tfloat: left;\r\n\tfont-size: 12px\r\n}\r\n\r\n.block {\r\n\tdisplay: block;\r\n\toverflow: hidden\r\n}\r\n\r\n.hide {\r\n\tdisplay: none\r\n}\r\n\r\n.invisible {\r\n\tvisibility: hidden\r\n}\r\n\r\n.tab {\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n.tab li,.tab a,.tab-item {\r\n\tfloat: left;\r\n\ttext-align: center\r\n}\r\n\r\n.btn-img,.button {\r\n\tdisplay: inline-block;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\tborder: 0;\r\n\ttext-align: center;\r\n\tcursor: pointer\r\n}\r\n\r\n.btn-text {\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\ttext-align: center;\r\n\tcursor: pointer\r\n}\r\n\r\nbody {\r\n\tfont: 12px/150% Arial, Verdana, \"\\5b8b\\4f53\";\r\n\tcolor: #666;\r\n\tbackground: #fff;\r\n\t_background-image: url(about:blank);\r\n\t_background-attachment: fixed\r\n}\r\n\r\nh1 {\r\n\tfont: 20px \"microsoft yahei\", \"\\5b8b\\4f53\"\r\n}\r\n\r\nh2,h3 {\r\n\tfont-size: 14px\r\n}\r\n\r\nh4,h5,h6 {\r\n\tfont-size: 12px\r\n}\r\n\r\na {\r\n\tcolor: #666;\r\n\ttext-decoration: none\r\n}\r\n\r\na:hover {\r\n\tcolor: #E4393C;\r\n\ttext-decoration: underline\r\n}\r\n\r\n.w {\r\n\twidth: 990px;\r\n\tmargin: 0 auto\r\n}\r\n\r\n.w1 {\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n.root61 .w {\r\n\twidth: 1210px\r\n}\r\n\r\n.lh {\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n.lh li,.lh dl,.lh .item {\r\n\tfloat: left\r\n}\r\n\r\n.ld {\r\n\tposition: relative;\r\n\tzoom: 1\r\n}\r\n\r\n.ld s,.ld b,.ld .block {\r\n\tposition: absolute;\r\n\toverflow: hidden\r\n}\r\n\r\n.p-img,.p-name,.p-price,.p-market,.p-detail {\r\n\toverflow: hidden\r\n}\r\n\r\n.p-img {\r\n\tpadding: 5px 0\r\n}\r\n\r\n.p-img a:link,.p-img a:visited {\r\n\ttext-decoration: none\r\n}\r\n\r\n.p-img .pi {\r\n\tcursor: pointer\r\n}\r\n\r\n.p-name,.p-detail {\r\n\tword-break: break-all;\r\n\tword-wrap: break-word\r\n}\r\n\r\n.p-price {\r\n\tcolor: #999\r\n}\r\n\r\n.p-price strong,.p-market strong {\r\n\tcolor: #E4393C\r\n}\r\n\r\n.pi {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tright: 0;\r\n\ttop: 10px;\r\n\twidth: 52px;\r\n\theight: 40px;\r\n\tpadding: 12px 0 0;\r\n\tbackground-image:\r\n\t\turl(../images/20130330C.png);\r\n\tbackground-repeat: no-repeat;\r\n\tfont-family: \"microsoft yahei\";\r\n\tcolor: #fff;\r\n\tline-height: 31px;\r\n\toverflow: hidden;\r\n\tfont-size: 16px;\r\n\tzoom: 1\r\n}\r\n\r\n.pix0 {\r\n\tbackground-position: 0 -40px\r\n}\r\n\r\n.pix1 {\r\n\tbackground-position: 0 -100px\r\n}\r\n\r\n.pif1 {\r\n\tfont-size: 22px\r\n}\r\n\r\n.pif4 {\r\n\twidth: 36px;\r\n\theight: 42px;\r\n\tpadding-top: 10px;\r\n\tpadding-left: 8px;\r\n\tpadding-right: 8px;\r\n\tfont-size: 14px;\r\n\tline-height: 16px\r\n}\r\n\r\n.pt {\r\n\tdisplay: inline-block;\r\n\toverflow: hidden\r\n}\r\n\r\n.ptx1 {\r\n\t\r\n}\r\n\r\nimg.err-product,img.err-poster {\r\n\tbackground: url(../images/error-jd.gif)\r\n\t\tno-repeat 50% 50%\r\n}\r\n\r\nimg.err-price {\r\n\twidth: 81px;\r\n\theight: 22px;\r\n\tbackground: url(../images/error-3.gif)\r\n\t\tno-repeat 50% 50%\r\n}\r\n\r\n.loading-style1 b,.loading-style2 {\r\n\tbackground: url(../images/loading-jd.gif)\r\n\t\tno-repeat 50% 50%\r\n}\r\n\r\n.loading-style1 {\r\n\twidth: 126px;\r\n\tmargin: 0 auto;\r\n\ttext-align: center;\r\n\tcolor: #999\r\n}\r\n\r\n.loading-style1 b {\r\n\tdisplay: block;\r\n\twidth: 43px;\r\n\theight: 24px;\r\n\tmargin: 0 auto 5px\r\n}\r\n\r\n.slide {\r\n\tposition: relative;\r\n\tbackground: url(../images/loading-jd.gif)\r\n\t\tno-repeat center center\r\n}\r\n\r\n.slide .slide-itemswrap {\r\n\tposition: relative;\r\n\toverflow: hidden\r\n}\r\n\r\n.slide .slide-items {\r\n\tposition: absolute;\r\n\toverflow: hidden\r\n}\r\n\r\n.slide-controls span {\r\n\tdisplay: inline-block;\r\n\tmargin: 0 1px;\r\n\tbackground: #999;\r\n\ttext-align: center;\r\n\tcursor: default;\r\n\tcolor: #fff;\r\n\tborder-radius: 12px;\r\n\t-moz-border-radius: 12px;\r\n\t-webkit-border-radius: 12px\r\n}\r\n\r\n.slide-controls a:link,.slide-controls a:visited {\r\n\tdisplay: inline-block;\r\n\twidth: 100%;\r\n\tcolor: #fff;\r\n\tfont-weight: 700\r\n}\r\n\r\n.slide-controls .curr {\r\n\tbackground: #E4393C\r\n}\r\n\r\n#toppanel {\r\n\tposition: relative;\r\n\tz-index: 1000\r\n}\r\n\r\n#sidepanel {\r\n\tposition: fixed;\r\n\tbottom: 0;\r\n\tright: 0;\r\n\tz-index: 1000\r\n}\r\n\r\n#sidepanel a,#sidepanel b {\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#sidepanel a {\r\n\tdisplay: block;\r\n\tposition: relative;\r\n\twidth: 17px;\r\n\theight: 66px;\r\n\tpadding: 28px 4px 0;\r\n\tmargin: 5px 0;\r\n\ttext-align: center;\r\n\tline-height: 14px;\r\n\ttext-decoration: none\r\n}\r\n\r\n#sidepanel b {\r\n\tposition: absolute;\r\n\ttop: 9px;\r\n\tleft: 4px;\r\n\twidth: 17px;\r\n\theight: 16px;\r\n\toverflow: hidden\r\n}\r\n\r\n#sidepanel a:link,#sidepanel a:visited {\r\n\tbackground-position: -85px -149px\r\n}\r\n\r\n#sidepanel a:hover,#sidepanel a:active {\r\n\tbackground-position: -50px -149px\r\n}\r\n\r\n#sidepanel .gotop:link b,#sidepanel .gotop:visited b {\r\n\tbackground-position: -21px -219px\r\n}\r\n\r\n#sidepanel .gotop:hover b,#sidepanel .gotop:active b {\r\n\tbackground-position: -21px -200px\r\n}\r\n\r\n#sidepanel .research:link b,#sidepanel .research:visited b {\r\n\tbackground-position: 0 -219px\r\n}\r\n\r\n#sidepanel .research:hover b,#sidepanel .research:active b {\r\n\tbackground-position: 0 -200px\r\n}\r\n\r\n* html #sidepanel {\r\n\tposition: absolute;\r\n\ttop: expression(documentElement.scrollTop +\r\n\t\tdocumentElement.clientHeight-this.offsetHeight);\r\n\toverflow: visible\r\n}\r\n\r\n.da0x150 {\r\n\twidth: 310px;\r\n\theight: 150px;\r\n\tbackground: #efefef\r\n}\r\n\r\n.da0x100 {\r\n\twidth: 310px;\r\n\theight: 100px;\r\n\tbackground: #efefef\r\n}\r\n\r\n.pagin a,.pagin span {\r\n\tfloat: left;\r\n\theight: 20px;\r\n\tpadding: 3px 10px;\r\n\tborder: 1px solid #ccc;\r\n\tmargin-left: 2px;\r\n\tfont-family: arial;\r\n\tline-height: 20px;\r\n\tfont-size: 14px;\r\n\toverflow: hidden;\r\n\t-moz-border-radius: 5px;\r\n\t-webkit-border-radius: 5px\r\n}\r\n\r\n.pagin .text,.pagin .current {\r\n\tborder: 0;\r\n\tpadding: 4px 11px\r\n}\r\n\r\n.pagin a:link,.pagin a:visited {\r\n\tcolor: #005aa0\r\n}\r\n\r\n.pagin a:hover,.pagin a:active {\r\n\tbackground: #005aa0;\r\n\tcolor: #fff;\r\n\ttext-decoration: none\r\n}\r\n\r\n.pagin .current,.pagin .current:link,.pagin .current:visited {\r\n\tcolor: #f60;\r\n\tfont-weight: 700\r\n}\r\n\r\n.pagin b {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 9px;\r\n\twidth: 5px;\r\n\theight: 9px;\r\n\tbackground-image:\r\n\t\turl(../images/bg_hotsale.gif);\r\n\tbackground-repeat: no-repeat;\r\n\toverflow: hidden\r\n}\r\n\r\n.pagin .prev,.pagin .next,.pagin .prev-disabled,.pagin .next-disabled {\r\n\tposition: relative;\r\n\tpadding-top: 5px;\r\n\theight: 18px;\r\n\tline-height: 18px\r\n}\r\n\r\n.pagin .prev-disabled,.pagin .next-disabled {\r\n\tcolor: #ccc;\r\n\tcursor: default\r\n}\r\n\r\n.pagin .prev,.pagin .prev-disabled {\r\n\tpadding-left: 12px\r\n}\r\n\r\n.pagin .prev b {\r\n\tleft: 3px;\r\n\tbackground-position: -68px -608px\r\n}\r\n\r\n.pagin .prev-disabled b {\r\n\tleft: 3px;\r\n\tbackground-position: -80px -608px\r\n}\r\n\r\n.pagin .next,.pagin .next-disabled {\r\n\tpadding-right: 12px\r\n}\r\n\r\n.pagin .next b {\r\n\tright: 3px;\r\n\tbackground-position: -62px -608px\r\n}\r\n\r\n.pagin .next-disabled b {\r\n\tright: 3px;\r\n\tbackground-position: -74px -608px\r\n}\r\n\r\n.pagin-m a,.pagin-m span {\r\n\theight: 14px;\r\n\tline-height: 14px;\r\n\tfont-size: 12px\r\n}\r\n\r\n.pagin-m b {\r\n\ttop: 5px\r\n}\r\n\r\n.pagin-m .prev,.pagin-m .next,.pagin-m .prev-disabled,.pagin-m .next-disabled\r\n\t{\r\n\tpadding-top: 3px;\r\n\theight: 14px;\r\n\tline-height: 14px;\r\n\t*line-height: 16px\r\n}\r\n\r\n.thickframe {\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tz-index: 10000000;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tbackground: #000;\r\n\tborder: 0;\r\n\tfilter: alpha(opacity = 0);\r\n\topacity: 0\r\n}\r\n\r\n.thickdiv {\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tz-index: 10000001;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tbackground: #000;\r\n\tborder: 0;\r\n\tfilter: alpha(opacity = 15);\r\n\topacity: .15\r\n}\r\n\r\n.thickbox {\r\n\tposition: absolute;\r\n\tz-index: 10000002;\r\n\toverflow: hidden;\r\n\tpadding: 0;\r\n\tborder: 4px solid rgba(0, 0, 0, .1);\r\n\tborder-radius: 5px;\r\n\t-moz-border-radius: 5px;\r\n\t-webkit-border-radius: 5px\r\n}\r\n\r\n.thicktitle {\r\n\theight: 27px;\r\n\tpadding: 0 10px;\r\n\tborder: solid #C4C4C4;\r\n\tborder-width: 1px 1px 0;\r\n\tbackground: #F3F3F3;\r\n\tline-height: 27px;\r\n\tfont-family: arial, \"\\5b8b\\4f53\";\r\n\tfont-size: 14px;\r\n\tfont-weight: 700;\r\n\tcolor: #333\r\n}\r\n\r\n.thickwrap .thicktitle {\r\n\theight: 31px;\r\n\tpadding: 0 10px;\r\n\tbackground: #f5f5f5;\r\n\tline-height: 31px;\r\n\tfont-family: arial, \"\\5b8b\\4f53\";\r\n\tfont-size: 14px;\r\n\tfont-weight: 700;\r\n\tcolor: #333;\r\n\tborder: 0\r\n}\r\n\r\n.thickclose:link,.thickclose:visited {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tz-index: 100000;\r\n\ttop: 7px;\r\n\tright: 12px;\r\n\toverflow: hidden;\r\n\twidth: 15px;\r\n\theight: 15px;\r\n\tbackground:\r\n\t\turl(../images/bg_thickbox.gif)\r\n\t\tno-repeat 0 -18px;\r\n\tfont-size: 0;\r\n\tline-height: 100px\r\n}\r\n\r\n.thickwrap .thickclose:link,.thickwrap .thickclose:visited {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tz-index: 100000;\r\n\ttop: 5px;\r\n\tright: 10px;\r\n\toverflow: hidden;\r\n\twidth: 21px;\r\n\theight: 21px;\r\n\tbackground:\r\n\t\turl(../images/thickbox_close.png)\r\n\t\tno-repeat 0 0;\r\n\tfont-size: 0;\r\n\tline-height: 100px\r\n}\r\n\r\n.thickcon {\r\n\toverflow: auto;\r\n\tbackground: #fff;\r\n\tpadding: 10px\r\n}\r\n\r\n.thickwrap {\r\n\tborder: 1px solid #c4c4c4\r\n}\r\n\r\n.thickwrap .thickcon {\r\n\tbackground: 0\r\n}\r\n\r\n.thickwrap {\r\n\tborder: 1px solid #c4c4c4;\r\n\tbackground: #fff\r\n}\r\n\r\n.thickloading {\r\n\tbackground: url(../images/loading-jd.gif)\r\n\t\t#fff no-repeat center center\r\n}\r\n\r\n.thickcountdown {\r\n\theight: 20px;\r\n\tpadding-right: 6px;\r\n\tmargin-top: -20px;\r\n\ttext-align: right;\r\n\tcolor: #999\r\n}\r\n\r\n* html .thickframe {\r\n\tposition: absolute\r\n}\r\n\r\n* html .thickdiv {\r\n\tposition: absolute\r\n}\r\n\r\n#thicktitler {\r\n\t\r\n}\r\n\r\n#thickcloser:link,#thickcloser:visited {\r\n\t\r\n}\r\n\r\n#thickconr iframe {\r\n\tdisplay: block\r\n}\r\n\r\n.compare {\r\n\twidth: 200px;\r\n\tborder: 1px solid #C4C4C4;\r\n\tbackground: #fff;\r\n\tdisplay: none\r\n}\r\n\r\n.compare .mt {\r\n\tbackground: #F3F3F3;\r\n\tpadding: 3px 5px;\r\n\theight: 18px;\r\n\tline-height: 18px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n.compare h5 {\r\n\tfloat: left\r\n}\r\n\r\n.compare .extra {\r\n\tfloat: right;\r\n\tmargin-top: 2px;\r\n\twidth: 13px;\r\n\theight: 13px;\r\n\tbackground:\r\n\t\turl(../images/bg_hotsale.gif)\r\n\t\tno-repeat -51px -632px;\r\n\tcursor: pointer\r\n}\r\n\r\n.compare .mc {\r\n\tpadding: 2px\r\n}\r\n\r\n.compare .mc li {\r\n\tborder: 1px solid #E5E5E5;\r\n\tpadding: 4px 12px 4px 4px;\r\n\tmargin-bottom: 2px\r\n}\r\n\r\n.compare .mb {\r\n\ttext-align: center;\r\n\tpadding: 5px 0\r\n}\r\n\r\n.compare .btn {\r\n\tcursor: pointer\r\n}\r\n\r\n.crumb {\r\n\tpadding: 0 5px 8px\r\n}\r\n\r\n.breadcrumb {\r\n\theight: 20px;\r\n\tpadding: 0 0 4px 6px;\r\n\tmargin-bottom: 10px;\r\n\toverflow: hidden;\r\n\tline-height: 20px;\r\n\tvertical-align: baseline\r\n}\r\n\r\n.breadcrumb strong,.breadcrumb h1 {\r\n\tdisplay: inline;\r\n\tfont-weight: 700;\r\n\tline-height: 20px;\r\n\tfont-size: 18px;\r\n\tfont-family: \"microsoft yahei\"\r\n}\r\n\r\n.breadcrumb span {\r\n\tfont-family: \"\\5b8b\\4f53\"\r\n}\r\n\r\n.iloading {\r\n\twidth: 140px;\r\n\theight: 30px;\r\n\tpadding-left: 22px;\r\n\tbackground: url(../images/loading.gif)\r\n\t\tno-repeat 0 center;\r\n\tmargin: 0 auto;\r\n\tline-height: 30px;\r\n\tcolor: #999\r\n}\r\n\r\n.norecode {\r\n\tcolor: #999\r\n}\r\n\r\n.model-prompt .con {\r\n\tposition: relative;\r\n\tzoom: 1\r\n}\r\n\r\n.model-prompt .con b {\r\n\tposition: absolute;\r\n\tbackground-image:\r\n\t\turl(../images/bg_prompt.gif);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#model-collect .con {\r\n\tpadding: 20px 0 0 60px;\r\n\tcolor: #999\r\n}\r\n\r\n#model-collect .con a {\r\n\ttext-decoration: underline;\r\n\tcolor: #999\r\n}\r\n\r\n#model-collect .success {\r\n\ttop: 20px;\r\n\tleft: 10px;\r\n\twidth: 34px;\r\n\theight: 30px;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#model-collect .failed {\r\n\ttop: 20px;\r\n\tleft: 10px;\r\n\twidth: 34px;\r\n\theight: 30px;\r\n\tbackground-position: 0 -32px\r\n}\r\n\r\n#css-error {\r\n\tdisplay: none\r\n}\r\n\r\n.jtip {\r\n\tposition: absolute;\r\n\tz-index: 3;\r\n\tpadding: 4px 15px 4px 5px;\r\n\tbackground: #FFFCEE;\r\n\tborder: 1px solid #F6E09C;\r\n\t-moz-box-shadow: 0 0 5px #DDD;\r\n\t-webkit-box-shadow: 0 0 5px #DDD;\r\n\tbox-shadow: 0 0 5px #DDD\r\n}\r\n\r\n.jtip-content {\r\n\tcolor: #F60\r\n}\r\n\r\n.jtip-arrow {\r\n\tposition: absolute;\r\n\tleft: -5px;\r\n\twidth: 5px;\r\n\theight: 16px;\r\n\toverflow: hidden\r\n}\r\n\r\n.jtip-arrow1 {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: -8px;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-width: 8px;\r\n\tborder-style: dashed solid dashed dashed;\r\n\tborder-color: transparent #F6E09C transparent transparent;\r\n\toverflow: hidden\r\n}\r\n\r\n.jtip-arrow2 {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: -7px;\r\n\tz-index: 1;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-width: 8px;\r\n\tborder-style: dashed solid dashed dashed;\r\n\tborder-color: transparent #FFFCEE transparent transparent;\r\n\toverflow: hidden\r\n}\r\n\r\n.jtip-close {\r\n\tposition: absolute;\r\n\ttop: 3px;\r\n\tright: 5px;\r\n\tline-height: 14px;\r\n\tcursor: pointer;\r\n\tfont-size: 14px\r\n}\r\n\r\n#shortcut-2013 .fl b,#shortcut-2013 .fr b {\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#shortcut-2013,#shortcut-2013 .w {\r\n\theight: 30px;\r\n\tbackground: #F7F7F7\r\n}\r\n\r\n#shortcut-2013 {\r\n\twidth: 100%;\r\n\tborder-bottom: 1px solid #eee;\r\n\tline-height: 30px\r\n}\r\n\r\n#shortcut-2013 li {\r\n\theight: 30px;\r\n\tpadding: 0 11px 0 12px\r\n}\r\n\r\n#shortcut-2013 li s {\r\n\ttop: 9px;\r\n\tleft: 0;\r\n\twidth: 0;\r\n\theight: 12px;\r\n\tborder-left: 1px solid #DDD;\r\n\toverflow: hidden\r\n}\r\n\r\n#shortcut-2013 b {\r\n\ttransition: transform .2s ease-in 0s;\r\n\t-webkit-transition: -webkit-transform .2s ease-in 0s\r\n}\r\n\r\n#shortcut-2013 .fl {\r\n\toverflow: visible\r\n}\r\n\r\n#shortcut-2013 .fl .fore1 {\r\n\tpadding-left: 16px;\r\n\tz-index: 13\r\n}\r\n\r\n#shortcut-2013 .fl b {\r\n\ttop: 8px;\r\n\tleft: 0;\r\n\twidth: 13px;\r\n\theight: 13px;\r\n\tbackground: url(../images/20130725.png)\r\n\t\tno-repeat 0 0;\r\n\tcursor: pointer\r\n}\r\n\r\n#shortcut-2013 .fl li:hover b {\r\n\ttransform: rotate(720deg);\r\n\t-webkit-transform: rotate(720deg)\r\n}\r\n\r\n#shortcut-2013 .fl .jtip {\r\n\tleft: 68px;\r\n\ttop: 6px;\r\n\twidth: 120px;\r\n\tline-height: 16px\r\n}\r\n\r\n#shortcut-2013 .fr {\r\n\theight: 30px;\r\n\toverflow: visible\r\n}\r\n\r\n#shortcut-2013 .fr b {\r\n\ttop: 13px;\r\n\tright: 8px;\r\n\twidth: 7px;\r\n\theight: 4px;\r\n\tbackground-position: -95px -55px\r\n}\r\n\r\n#shortcut-2013 .menu {\r\n\twidth: 60px;\r\n\tz-index: 12\r\n}\r\n\r\n#shortcut-2013 .dd {\r\n\tdisplay: none\r\n}\r\n\r\n#shortcut-2013 .hover .outline,#shortcut-2013 .hover .dd {\r\n\tposition: absolute;\r\n\tborder: 1px solid #DDD;\r\n\tbackground: #fff;\r\n\t-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\t-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\tbox-shadow: 0 0 10px rgba(0, 0, 0, .12)\r\n}\r\n\r\n#shortcut-2013 .hover .outline {\r\n\tz-index: -1;\r\n\tleft: 5px;\r\n\ttop: 3px;\r\n\twidth: 73px;\r\n\theight: 28px\r\n}\r\n\r\n#shortcut-2013 .hover .blank {\r\n\tposition: absolute;\r\n\tz-index: 1;\r\n\ttop: 23px;\r\n\tleft: 6px;\r\n\twidth: 73px;\r\n\theight: 8px;\r\n\toverflow: hidden;\r\n\tbackground: #fff\r\n}\r\n\r\n#shortcut-2013 .hover .dd {\r\n\tdisplay: block;\r\n\ttop: 30px\r\n}\r\n\r\n#shortcut-2013 .fr .hover b {\r\n\ttransform: rotate(180deg);\r\n\t-webkit-transform: rotate(180deg);\r\n\tfilter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\r\n}\r\n\r\n#biz-service.hover .dd {\r\n\tleft: 5px;\r\n\twidth: 73px\r\n}\r\n\r\n#biz-service.hover .dd div {\r\n\tpadding-left: 6px;\r\n\tline-height: 22px\r\n}\r\n\r\n#site-nav .dd {\r\n\tleft: -172px;\r\n\twidth: 250px\r\n}\r\n\r\n#site-nav .dd dt {\r\n\tpadding: 4px 0 4px 9px;\r\n\tline-height: 20px;\r\n\tfont-weight: 700\r\n}\r\n\r\n#site-nav .dd dl {\r\n\tfloat: none;\r\n\twidth: auto\r\n}\r\n\r\n#site-nav .dd dl dd {\r\n\tmargin: 0 9px;\r\n\tline-height: 22px;\r\n\toverflow: hidden;\r\n\tpadding-bottom: 3px;\r\n\tborder-bottom: 1px solid #f2f2f2;\r\n\t*zoom: 1\r\n}\r\n\r\n#site-nav .dd dl div {\r\n\tfloat: left;\r\n\tmargin-right: 10px;\r\n\tdisplay: inline\r\n}\r\n\r\n#site-nav .dd .fore3 dd {\r\n\tborder-bottom: 0\r\n}\r\n\r\n#site-nav .dd .fore3 {\r\n\tpadding-bottom: 4px\r\n}\r\n\r\n#site-nav .dd .fore1 div {\r\n\twidth: 58px;\r\n\tmargin-right: 0\r\n}\r\n\r\n#header-2013 {\r\n\theight: 60px;\r\n\tpadding: 15px 0\r\n}\r\n\r\n#logo-2013 {\r\n\tfloat: left;\r\n\twidth: 330px\r\n}\r\n\r\n#logo-2013 a:link b,#logo-2013 a:visited b {\r\n\ttop: 12px;\r\n\tleft: 168px;\r\n\twidth: 100px;\r\n\theight: 38px;\r\n\tcursor: pointer\r\n}\r\n\r\n#logo-2013 a:hover b,#logo-2013 a:active b {\r\n\tdisplay: none;\r\n\tbackground:\r\n\t\turl(../images/20130330A_2.png) #fff\r\n\t\tno-repeat 0 -312px\r\n}\r\n\r\n.root61 #logo {\r\n\twidth: 350px\r\n}\r\n\r\n#search-2013 {\r\n\tfloat: left;\r\n\twidth: 330px;\r\n\tpadding: 4px 86px 0 0\r\n}\r\n\r\n#search-2013 input {\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\theight: 30px;\r\n\tborder: 0\r\n}\r\n\r\n#search-2013 .i-search {\r\n\tz-index: 11;\r\n\twidth: 304px;\r\n\theight: 30px;\r\n\tmargin-bottom: 3px;\r\n\tborder: 3px solid #E4393C\r\n}\r\n\r\n#search-2013 .form {\r\n\theight: 30px;\r\n\toverflow: hidden\r\n}\r\n\r\n#search-2013 .text {\r\n\twidth: 216px;\r\n\theight: 20px;\r\n\tpadding: 5px;\r\n\tbackground-position: 0 -360px;\r\n\tbackground-color: #fff;\r\n\tbackground-repeat: repeat-x;\r\n\tline-height: 20px;\r\n\tcolor: #999;\r\n\tfont-family: arial, \"\\5b8b\\4f53\";\r\n\tfont-size: 14px\r\n}\r\n\r\n#search-2013 .button {\r\n\twidth: 78px;\r\n\tbackground: #E4393C;\r\n\tfont-size: 14px;\r\n\tfont-weight: 700;\r\n\tcolor: #fff\r\n}\r\n\r\n#search-2013 .text,#search-2013 .button {\r\n\t-webkit-appearance: none;\r\n\t-webkit-border-radius: 0\r\n}\r\n\r\n#search-2013 #shelper {\r\n\toverflow: hidden;\r\n\tposition: absolute;\r\n\ttop: 32px;\r\n\tleft: -3px;\r\n\twidth: 308px;\r\n\tborder: 1px solid #E4393C;\r\n\tbackground: #fff;\r\n\t-moz-box-shadow: 0 0 5px #999;\r\n\t-webkit-box-shadow: 0 0 5px #999;\r\n\tbox-shadow: 0 0 5px #999\r\n}\r\n\r\n#search-2013 #shelper li.close:hover {\r\n\tbackground: 0\r\n}\r\n\r\n#search-2013 .text:focus {\r\n\tbackground-color: #fcfcfc;\r\n\t-webkit-box-shadow: 2px 2px 3px #d2d2d2 inset;\r\n\t-moz-box-shadow: 2px 2px 3px #d2d2d2 inset;\r\n\tbox-shadow: 2px 2px 3px #d2d2d2 inset\r\n}\r\n\r\n.root61 #search-2013 #shelper {\r\n\twidth: 418px\r\n}\r\n\r\n#shelper li {\r\n\toverflow: hidden;\r\n\tpadding: 1px 6px;\r\n\tline-height: 22px;\r\n\tcursor: pointer\r\n}\r\n\r\n#shelper .search-item {\r\n\tfloat: left;\r\n\twidth: 190px;\r\n\twhite-space: nowrap;\r\n\ttext-overflow: ellipsis;\r\n\toverflow: hidden\r\n}\r\n\r\n#shelper li.fore1 .search-item {\r\n\twidth: 170px\r\n}\r\n\r\n#shelper .search-count {\r\n\toverflow: hidden;\r\n\tcolor: #aaa;\r\n\ttext-align: right;\r\n\t*zoom: 1\r\n}\r\n\r\n#shelper .close {\r\n\tborder-top: 1px solid #efefef;\r\n\ttext-align: right\r\n}\r\n\r\n#shelper .item3 {\r\n\tcursor: default\r\n}\r\n\r\n#shelper .item3 a {\r\n\tfloat: left;\r\n\tmargin-right: 10px;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#shelper li.fore1 {\r\n\twidth: 100%;\r\n\tpadding: 0;\r\n\tborder-bottom: 1px solid #ddd\r\n}\r\n\r\n#shelper li.fore1 .item1 {\r\n\tfloat: none;\r\n\twidth: auto;\r\n\theight: 22px;\r\n\tpadding: 1px 2px 1px 20px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#shelper li.fore1 div.fore1 {\r\n\tpadding: 0 6px\r\n}\r\n\r\n#shelper li.fore1 strong {\r\n\tcolor: #C00\r\n}\r\n\r\n#shelper li.fore1 .fore1 strong {\r\n\tcolor: #333\r\n}\r\n\r\n#shelper li.fore1 .item1 {\r\n\tfloat: none;\r\n\twidth: auto;\r\n\tpadding: 1px 6px 1px 20px\r\n}\r\n\r\n#shelper li.fore1 .item2 {\r\n\tfloat: none;\r\n\twidth: auto;\r\n\tpadding: 1px 6px 1px 20px\r\n}\r\n\r\n#shelper li.fore1 .item3 {\r\n\tfloat: none;\r\n\twidth: auto;\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n#shelper li.fore1 span {\r\n\tfloat: left\r\n}\r\n\r\n#shelper li:hover {\r\n\tbackground: #FFDFC6\r\n}\r\n\r\n#shelper li.fore1:hover,#shelper li.close:hover {\r\n\tbackground: 0\r\n}\r\n\r\n#shelper li.fore1 div:hover {\r\n\tbackground: #FFDFC6\r\n}\r\n\r\n#shelper-2013 {\r\n\toverflow: hidden;\r\n\tposition: absolute;\r\n\ttop: 32px;\r\n\tleft: -3px;\r\n\twidth: 648px;\r\n\tpadding: 10px 10px 10px 0;\r\n\tborder: 1px solid #E4393C;\r\n\tbackground: #fff;\r\n\t-moz-box-shadow: 0 0 5px #999;\r\n\t-webkit-box-shadow: 0 0 5px #999;\r\n\tbox-shadow: 0 0 5px #999\r\n}\r\n\r\n#shelper-2013 .i-shelper {\r\n\toverflow: hidden\r\n}\r\n\r\n#shelper-2013 .list-text {\r\n\twidth: 312px;\r\n\tpadding: 0 0 200px;\r\n\tmargin-bottom: -200px;\r\n\tborder-right: 1px solid #EEE\r\n}\r\n\r\n#shelper-2013 .list-text li {\r\n\toverflow: hidden;\r\n\tpadding: 1px 15px 1px 10px;\r\n\tline-height: 22px;\r\n\tcursor: pointer;\r\n\t*zoom: 1\r\n}\r\n\r\n#shelper-2013 .list-text .search-item {\r\n\tfloat: left;\r\n\twidth: 190px;\r\n\twhite-space: nowrap;\r\n\ttext-overflow: ellipsis;\r\n\toverflow: hidden\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 .search-item {\r\n\twidth: 190px\r\n}\r\n\r\n#shelper-2013 .list-text .search-count {\r\n\toverflow: hidden;\r\n\tcolor: #aaa;\r\n\ttext-align: right\r\n}\r\n\r\n#shelper-2013 .list-text .item3 {\r\n\tcursor: default\r\n}\r\n\r\n#shelper-2013 .list-text .item3 a {\r\n\tfloat: left;\r\n\tmargin-right: 10px;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 {\r\n\twidth: 100%;\r\n\tpadding: 0;\r\n\tborder-bottom: 1px solid #EEE\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 div.fore1 {\r\n\tpadding: 0 15px 0 10px\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 strong {\r\n\tcolor: #E4393C\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 .fore1 strong {\r\n\tcolor: #333\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 .item1 {\r\n\tfloat: none;\r\n\twidth: auto;\r\n\tpadding: 1px 15px 1px 20px\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 .item2 {\r\n\tfloat: none;\r\n\twidth: auto;\r\n\tpadding: 1px 15px 1px 20px\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 .item3 {\r\n\tfloat: none;\r\n\twidth: auto;\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n#shelper-2013 .list-text li.fore1 span {\r\n\tfloat: left\r\n}\r\n\r\n#shelper-2013 .list-text .hover {\r\n\tbackground: #F3F3F3\r\n}\r\n\r\n#shelper-2013 .list-text .resultful {\r\n\tbackground-image: url(../images/8.png);\r\n\tbackground-repeat: no-repeat;\r\n\tbackground-position: 302px 8px\r\n}\r\n\r\n#shelper-2013 .list-word {\r\n\twidth: 320px;\r\n\tpadding-left: 4px;\r\n\tborder-top: 1px solid #F1F1F1;\r\n\tpadding: 8px 0;\r\n\tcolor: #999;\r\n\tfont-family: \"\\5b8b\\4f53\"\r\n}\r\n\r\n#shelper-2013 .list-word strong {\r\n\tcolor: #E4393C\r\n}\r\n\r\n#shelper-2013 .list-word a:link,#shelper-2013 .list-word a:visited {\r\n\tfloat: left;\r\n\twhite-space: nowrap;\r\n\tmargin-right: 16px;\r\n\tcolor: #005EA7;\r\n\ttext-decoration: underline\r\n}\r\n\r\n#shelper-2013 .list-img {\r\n\twidth: 324px;\r\n\tpadding-bottom: 8px\r\n}\r\n\r\n#shelper-2013 .list-img .item {\r\n\twidth: 100px;\r\n\tborder: 1px solid #fff;\r\n\tpadding: 0 3px\r\n}\r\n\r\n#shelper-2013 .list-img .p-name {\r\n\theight: 3em\r\n}\r\n\r\n#shelper-2013 .list-img .p-price {\r\n\tcolor: #E4393C\r\n}\r\n\r\n#shelper-2013 .list-img .item:hover {\r\n\tborder-color: #7ABD54\r\n}\r\n\r\n#shelper-2013 .list-word {\r\n\tpadding-bottom: 0\r\n}\r\n\r\n#hotwords {\r\n\theight: 18px;\r\n\tcolor: #999;\r\n\toverflow: hidden\r\n}\r\n\r\n#hotwords span,#hotwords strong {\r\n\tfloat: left;\r\n\tfont-weight: 400\r\n}\r\n\r\n#hotwords a:link,#hotwords a:visited {\r\n\tfloat: left;\r\n\tmargin-right: 10px;\r\n\tcolor: #999\r\n}\r\n\r\n#hotwords a:hover,#hotwords a:active {\r\n\tcolor: #E4393C\r\n}\r\n\r\n.root61 #search-2013 {\r\n\twidth: 510px;\r\n\tpadding-right: 126px\r\n}\r\n\r\n.root61 #search-2013 .i-search {\r\n\twidth: 494px\r\n}\r\n\r\n.root61 #search-2013 .text {\r\n\twidth: 406px\r\n}\r\n\r\n#my360buy-2013 dt,#my360buy-2013 dl.hover dt {\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#my360buy-2013 {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\tz-index: 9;\r\n\twidth: 106px;\r\n\theight: 30px;\r\n\tmargin-top: 12px\r\n}\r\n\r\n#my360buy-2013 dt {\r\n\tposition: absolute;\r\n\tz-index: 1;\r\n\twidth: 50px;\r\n\theight: 30px;\r\n\tpadding: 0 24px 0 30px;\r\n\tborder: 1px solid #EFEFEF;\r\n\tbackground-position: -116px -24px;\r\n\tbackground-color: #F7F7F7;\r\n\ttext-align: center;\r\n\tline-height: 27px;\r\n\tcursor: pointer;\r\n\t*line-height: 30px\r\n}\r\n\r\n#my360buy-2013 dt span {\r\n\tfont-family: \"\\5b8b\\4f53\";\r\n\tcolor: #005EA7\r\n}\r\n\r\n#my360buy-2013 dt b {\r\n\ttop: 12px;\r\n\tright: 8px;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-style: solid dashed dashed;\r\n\tborder-width: 5px;\r\n\tborder-color: #CCC transparent transparent;\r\n\toverflow: hidden\r\n}\r\n\r\n#my360buy-2013 dd {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\ttop: 32px;\r\n\tright: 0;\r\n\twidth: 310px;\r\n\tborder: 1px solid #E3E3E3;\r\n\tbackground: #fff\r\n}\r\n\r\n#my360buy-2013 dl.hover dt {\r\n\theight: 32px;\r\n\tborder: 1px solid #E3E3E3;\r\n\tborder-bottom: 0;\r\n\t-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\t-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\tbox-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\tbackground-position: -115px -53px;\r\n\tbackground-color: #fff\r\n}\r\n\r\n#my360buy-2013 dl.hover dd {\r\n\tdisplay: block;\r\n\t-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\t-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\tbox-shadow: 0 0 10px rgba(0, 0, 0, .12)\r\n}\r\n\r\n#my360buy-2013 dl.hover s {\r\n\tposition: absolute;\r\n\tbottom: -10px;\r\n\tleft: -10px;\r\n\twidth: 114px;\r\n\theight: 10px;\r\n\tbackground: #fff\r\n}\r\n\r\n#my360buy-2013 dl.hover dt b {\r\n\ttop: 7px;\r\n\tborder-style: dashed dashed solid;\r\n\tborder-color: transparent transparent #CCC\r\n}\r\n\r\n#my360buy-2013 .prompt a,#my360buy-2013 .orderlist a {\r\n\tcolor: #005EA7\r\n}\r\n\r\n#my360buy-2013 .prompt {\r\n\tpadding: 6px 6px 6px 9px;\r\n\tborder-bottom: 1px solid #EEE;\r\n\tline-height: 25px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#my360buy-2013 .prompt .btn-login {\r\n\tdisplay: block;\r\n\twidth: 73px;\r\n\theight: 25px;\r\n\ttext-align: center;\r\n\tline-height: 25px;\r\n\tbackground: #E4393C;\r\n\tcolor: #fff;\r\n\tborder-radius: 5px;\r\n\t-moz-border-radius: 5px;\r\n\t-webkit-border-radius: 5px\r\n}\r\n\r\n#my360buy-2013 .smt h4 {\r\n\tfloat: left;\r\n\tpadding-left: 4px;\r\n\tfont-weight: 400\r\n}\r\n\r\n#my360buy-2013 .smt .extra {\r\n\tfloat: left\r\n}\r\n\r\n#my360buy-2013 .orderlist {\r\n\twidth: 300px;\r\n\tpadding: 8px 5px;\r\n\tborder-bottom: 1px solid #E6E6E6\r\n}\r\n\r\n#my360buy-2013 .orderlist li {\r\n\toverflow: hidden;\r\n\tborder-top: 1px dotted #ccc;\r\n\tzoom: 1\r\n}\r\n\r\n#my360buy-2013 .orderlist .fore1 {\r\n\tborder-top: 0\r\n}\r\n\r\n#my360buy-2013 .orderlist span {\r\n\tcolor: #F60\r\n}\r\n\r\n#my360buy-2013 .orderlist .p-img {\r\n\tpadding-left: 4px\r\n}\r\n\r\n#my360buy-2013 .orderlist .p-img img,#my360buy-2013 .orderlist .more {\r\n\tfloat: left;\r\n\tborder: 1px solid #ddd;\r\n\tmargin-right: 3px\r\n}\r\n\r\n#my360buy-2013 .orderlist .more {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tbackground:\r\n\t\turl(../images/20130330A_2.png)\r\n\t\tno-repeat 0 -250px;\r\n\toverflow: hidden;\r\n\tline-height: 150px;\r\n\tmargin-right: 0\r\n}\r\n\r\n#my360buy-2013 .orderlist .p-detail {\r\n\tpadding-top: 2px\r\n}\r\n\r\n#my360buy-2013 .uclist {\r\n\twidth: 310px;\r\n\tmargin: 5px 0;\r\n\toverflow: hidden\r\n}\r\n\r\n#my360buy-2013 .uclist ul {\r\n\twidth: 134px;\r\n\tpadding: 0 10px\r\n}\r\n\r\n#my360buy-2013 .uclist .fore1 {\r\n\tborder-right: 1px solid #F1F1F1\r\n}\r\n\r\n#my360buy-2013 .uclist a:link,#my360buy-2013 .uclist a:visited {\r\n\tdisplay: block;\r\n\theight: 18px;\r\n\toverflow: hidden;\r\n\tpadding: 5px;\r\n\ttext-decoration: none;\r\n\tcolor: #005EA7\r\n}\r\n\r\n#my360buy-2013 .uclist a:hover,#my360buy-2013 .uclist a:active {\r\n\tbackground: #F5F5F5;\r\n\tcolor: #E4393C\r\n}\r\n\r\n#my360buy-2013 .viewlist {\r\n\twidth: 305px;\r\n\tpadding: 8px 0 8px 5px;\r\n\tbackground: #F3F3F3\r\n}\r\n\r\n#my360buy-2013 .viewlist span {\r\n\tpadding-left: 4px\r\n}\r\n\r\n#my360buy-2013 .viewlist li {\r\n\twidth: 52px;\r\n\tpadding: 4px;\r\n\tline-height: 0;\r\n\tfont-size: 0\r\n}\r\n\r\n#my360buy-2013 .viewlist a:link,#my360buy-2013 .viewlist a:visited {\r\n\tdisplay: block;\r\n\tborder: 1px solid #ddd\r\n}\r\n\r\n#my360buy-2013 .loading-style1 {\r\n\tmargin: 10px auto\r\n}\r\n\r\n#settleup-2013 dt,#settleup-2013 dl.hover dt,#settleup-2013 .nogoods b {\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#settleup-2013 {\r\n\tfloat: right;\r\n\tposition: relative;\r\n\tz-index: 9;\r\n\twidth: 126px;\r\n\theight: 30px;\r\n\tmargin-top: 12px\r\n}\r\n\r\n#settleup-2013 dt {\r\n\tposition: absolute;\r\n\tz-index: 3;\r\n\twidth: 74px;\r\n\theight: 30px;\r\n\tpadding: 0 20px 0 30px;\r\n\tborder: 1px solid #EFEFEF;\r\n\tbackground-position: -115px -84px;\r\n\tbackground-color: #F7F7F7;\r\n\tcursor: pointer;\r\n\ttext-align: center\r\n}\r\n\r\n#settleup-2013 dt .shopping {\r\n\tposition: absolute;\r\n\ttop: -13px;\r\n\tleft: 20px;\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-position: -133px -279px;\r\n\tpadding-left: 6px;\r\n\tcolor: #fff\r\n}\r\n\r\n#settleup-2013 dt .shopping span {\r\n\tfloat: left;\r\n\tdisplay: block;\r\n\theight: 20px;\r\n\tpadding-right: 6px;\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-position: 100% -250px\r\n}\r\n\r\n#settleup-2013 dt a {\r\n\tline-height: 27px;\r\n\t*line-height: 30px\r\n}\r\n\r\n#settleup-2013 dt b {\r\n\ttop: 9px;\r\n\tright: 4px;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-style: dashed dashed dashed solid;\r\n\tborder-width: 5px;\r\n\tborder-color: transparent transparent transparent #CCC;\r\n\toverflow: hidden\r\n}\r\n\r\n#settleup-2013 dd {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\ttop: 32px;\r\n\tright: 0;\r\n\twidth: 350px\r\n}\r\n\r\n#settleup-2013 dl.hover dt {\r\n\theight: 32px;\r\n\tborder: 1px solid #E3E3E3;\r\n\tborder-bottom: 0;\r\n\tbackground-position: -115px -114px;\r\n\tbackground-color: #fff;\r\n\t-moz-box-shadow: 0 0 10px #DDD;\r\n\t-webkit-box-shadow: 0 0 10px #DDD;\r\n\tbox-shadow: 0 0 10px #DDD\r\n}\r\n\r\n#settleup-2013 dl.hover s {\r\n\tposition: absolute;\r\n\tbottom: -10px;\r\n\tleft: -10px;\r\n\twidth: 134px;\r\n\theight: 10px;\r\n\tbackground: #fff\r\n}\r\n\r\n#settleup-2013 dl.hover dd {\r\n\tdisplay: block;\r\n\t-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\t-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\tbox-shadow: 0 0 10px rgba(0, 0, 0, .12)\r\n}\r\n\r\n#settleup-content {\r\n\tposition: relative;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tz-index: 2;\r\n\twidth: 350px;\r\n\tbackground: #fff\r\n}\r\n\r\n#settleup-iframe {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tz-index: 1;\r\n\twidth: 350px;\r\n\tbackground: #000\r\n}\r\n\r\n#settleup-2013 .prompt {\r\n\tborder: 1px solid #ddd;\r\n\tpadding: 10px 15px;\r\n\tbackground: #fff\r\n}\r\n\r\n#settleup-2013 .nogoods {\r\n\tpadding-left: 30px;\r\n\theight: 49px;\r\n\tline-height: 49px;\r\n\toverflow: hidden;\r\n\tcolor: #999\r\n}\r\n\r\n#settleup-2013 .nogoods b {\r\n\tfloat: left;\r\n\twidth: 56px;\r\n\theight: 49px;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#settleup-2013 .sm {\r\n\tmargin-bottom: 0\r\n}\r\n\r\n#settleup-2013 .smt {\r\n\theight: 25px;\r\n\tpadding: 6px 8px;\r\n\tbackground-position: 0 -118px;\r\n\tbackground-repeat: repeat-x;\r\n\tborder-style: solid;\r\n\tborder-width: 1px;\r\n\tborder-color: #DDD #DDD #EEE;\r\n\tline-height: 25px\r\n}\r\n\r\n#settleup-2013 .smt .extra {\r\n\tcolor: #999\r\n}\r\n\r\n#settleup-2013 .smc {\r\n\tborder: solid #ddd;\r\n\tborder-width: 0 1px;\r\n\tbackground: #fff;\r\n\theight: auto !important;\r\n\theight: 344px;\r\n\tmax-height: 344px;\r\n\toverflow-y: auto\r\n}\r\n\r\n#settleup-2013 ul {\r\n\tmargin-top: -1px\r\n}\r\n\r\n#settleup-2013 li {\r\n\tpadding: 8px 10px;\r\n\tborder-top: 1px dotted #ccc;\r\n\toverflow: hidden;\r\n\tline-height: 17px;\r\n\tvertical-align: bottom;\r\n\t*zoom: 1\r\n}\r\n\r\n#settleup-2013 li:hover,#settleup-2013 li.hover {\r\n\tbackground: #F5F5F5\r\n}\r\n\r\n#settleup-2013 .p-img {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tborder: 1px solid #ddd;\r\n\tpadding: 0;\r\n\tmargin-right: 10px;\r\n\tfont-size: 0\r\n}\r\n\r\n#settleup-2013 .p-name {\r\n\twidth: 150px;\r\n\theight: 52px\r\n}\r\n\r\n#settleup-2013 .p-price {\r\n\tfont-weight: 700\r\n}\r\n\r\n#settleup-2013 .delete {\r\n\tcolor: #005EA7\r\n}\r\n\r\n#settleup-2013 .smb {\r\n\tpadding: 8px;\r\n\tbackground: #F5F5F5;\r\n\tborder: solid #ddd;\r\n\tborder-width: 0 1px 1px\r\n}\r\n\r\n#settleup-2013 .smb b {\r\n\tmargin: 0 5px;\r\n\tcolor: #E4393C\r\n}\r\n\r\n#settleup-2013 .smb strong {\r\n\tfont-size: 18px;\r\n\tcolor: #E4393C\r\n}\r\n\r\n#settleup-2013 .smb a {\r\n\tdisplay: inline-block;\r\n\twidth: 120px;\r\n\theight: 30px;\r\n\tmargin-top: 6px;\r\n\tbackground: #E4393C;\r\n\tcolor: #fff;\r\n\ttext-align: center;\r\n\tfont-weight: 700;\r\n\tline-height: 30px;\r\n\tborder-radius: 5px;\r\n\t-moz-border-radius: 5px;\r\n\t-webkit-border-radius: 5px\r\n}\r\n\r\n#settleup-2013 li .gift {\r\n\theight: 17px;\r\n\twidth: 310px;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#settleup-2013 li .gift a,#settleup-2013 li .gift-jq {\r\n\tcolor: #999\r\n}\r\n\r\n#settleup-2013 .gift-jq {\r\n\tclear: both\r\n}\r\n\r\n* html #settleup-2013 .smc {\r\n\theight: 344px\r\n}\r\n\r\n* html #settleup-2013 li {\r\n\tfont-family: \"\\5b8b\\4f53\"\r\n}\r\n\r\n* html #settleup-2013 dd {\r\n\tright: -1px\r\n}\r\n\r\n#settleup-2013 .dt {\r\n\tpadding: 2px 10px\r\n}\r\n\r\n#settleup-2013 .dt-mz {\r\n\tcolor: #999;\r\n\twidth: 310px;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#settleup-2013 .dt-mz a {\r\n\tcolor: #999\r\n}\r\n\r\n#settleup-2013 .dt-mz:hover {\r\n\tbackground: #fff\r\n}\r\n\r\n#mcart-suit .dt,#mcart-suit .dt:hover {\r\n\tbackground: #d3ebff\r\n}\r\n\r\n#mcart-mj .dt,#mcart-mz .dt,#mcart-mj .dt:hover,#mcart-mz .dt:hover {\r\n\tbackground: #bffab1\r\n}\r\n\r\n#settleup-content .fr .hl-green,#settleup-content .fr .hl-orange {\r\n\tmargin-right: 0\r\n}\r\n\r\n#settleup-content .hl-green,#settleup-content .hl-orange {\r\n\tmargin-right: 5px;\r\n\tcolor: #fff;\r\n\tdisplay: inline-block;\r\n\t*zoom: 1;\r\n\tpadding: 0 2px;\r\n\tfont: 12px/16px simsun\r\n}\r\n\r\n#settleup-content .hl-green {\r\n\tbackground: #3b0\r\n}\r\n\r\n#settleup-content .hl-orange {\r\n\tbackground: #f60\r\n}\r\n\r\n#nav-2013 {\r\n\tposition: relative;\r\n\tz-index: 6;\r\n\theight: 40px;\r\n\tpadding-left: 210px;\r\n\tmargin-bottom: 10px;\r\n\tbackground: #E4393C\r\n}\r\n\r\n#navitems-2013 {\r\n\tbackground: -moz-linear-gradient(top, #E64346, #E13335);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#E64346),\r\n\t\tto(#E13335));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#E64346\",\r\n\t\tendColorstr=\"#E13335\");\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#E64346 \", endColorstr=\" #E13335 \")\"\r\n}\r\n\r\n#navitems-2013,#navitems-2013 li,#navitems-2013 li a {\r\n\theight: 40px\r\n}\r\n\r\n#navitems-2013 li {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\twidth: 83px\r\n}\r\n\r\n#navitems-2013 li a {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\twidth: 85px;\r\n\ttext-align: center;\r\n\tcolor: #fff;\r\n\tfont: 700 15px/40px \"microsoft yahei\";\r\n\ttext-decoration: none\r\n}\r\n\r\n#navitems-2013 .curr,#navitems-2013 .hover {\r\n\tz-index: 1\r\n}\r\n\r\n#navitems-2013 .curr a,#navitems-2013 .hover a {\r\n\tbackground: #A40000\r\n}\r\n\r\n#treasure {\r\n\tposition: absolute;\r\n\tright: 0;\r\n\ttop: 0\r\n}\r\n\r\n#categorys-2013 .mt b,#categorys-2013 h3,#categorys-2013 s,#categorys-2013.hover .mt b\r\n\t{\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#categorys-2013 {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\twidth: 210px;\r\n\theight: 40px\r\n}\r\n\r\n#categorys-2013 .mt {\r\n\tbackground: #CD2A2C\r\n}\r\n\r\n#categorys-2013 .mt a {\r\n\tdisplay: block;\r\n\theight: 40px;\r\n\tpadding-left: 20px;\r\n\tline-height: 40px;\r\n\tcolor: #fff\r\n}\r\n\r\n#categorys-2013 .mt b {\r\n\ttop: 10px;\r\n\tright: 10px;\r\n\twidth: 20px;\r\n\theight: 20px;\r\n\tbackground-position: -65px 0\r\n}\r\n\r\n#categorys-2013 .mc {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\ttop: 40px;\r\n\tleft: 0;\r\n\twidth: 203px;\r\n\theight: 402px;\r\n\tpadding: 3px 3px 3px 0;\r\n\tbackground: #FAFAFA;\r\n\tborder: solid #E4393C;\r\n\tborder-width: 0 2px 2px;\r\n\toverflow: visible\r\n}\r\n\r\n#categorys-2013 .item {\r\n\twidth: 200px;\r\n\theight: 28px;\r\n\tborder-top: 1px solid #FFF\r\n}\r\n\r\n#categorys-2013 .fore1 {\r\n\tborder-top: 0\r\n}\r\n\r\n#categorys-2013 span {\r\n\tdisplay: block;\r\n\twidth: 203px;\r\n\tposition: absolute;\r\n\tz-index: 1\r\n}\r\n\r\n#categorys-2013 h3 {\r\n\twidth: 186px;\r\n\theight: 26px;\r\n\tline-height: 26px;\r\n\tpadding-left: 13px;\r\n\tborder-width: 1px 0;\r\n\tbackground-image: none;\r\n\tfont-weight: 400\r\n}\r\n\r\n#categorys-2013 h3 a:link,#categorys-2013 h3 a:visited {\r\n\tcolor: #333\r\n}\r\n\r\n#categorys-2013 h3 a:hover,#categorys-2013 h3 a:active {\r\n\tcolor: #E4393C;\r\n\tfont-weight: 700\r\n}\r\n\r\n#categorys-2013 s {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 10px;\r\n\tleft: 189px;\r\n\twidth: 6px;\r\n\theight: 9px;\r\n\tbackground-position: -110px -45px\r\n}\r\n\r\n#categorys-2013 .item .i-mc {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\tleft: 198px;\r\n\ttop: 3px;\r\n\twidth: 498px;\r\n\tborder: 1px solid #DDD;\r\n\tbackground: #fff;\r\n\toverflow: visible;\r\n\t-moz-box-shadow: 0 0 10px #DDD;\r\n\t-webkit-box-shadow: 0 0 10px #DDD;\r\n\tbox-shadow: 0 0 10px #DDD\r\n}\r\n\r\n#categorys-2013 .item dt {\r\n\tpadding: 3px 6px 0 0;\r\n\tfont-weight: 700;\r\n\tcolor: #E4393C\r\n}\r\n\r\n#categorys-2013 .item dd {\r\n\tpadding: 3px 0 0;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#categorys-2013 .subitem {\r\n\tfloat: left;\r\n\twidth: 477px;\r\n\tmin-height: 370px;\r\n\tpadding: 0 4px 0 8px\r\n}\r\n\r\n#categorys-2013 .fore13 .subitem {\r\n\tmin-height: 382px\r\n}\r\n\r\n#categorys-2013 .subitem dl {\r\n\tborder-top: 1px solid #EEE;\r\n\tpadding: 6px 0;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#categorys-2013 .subitem .fore1 {\r\n\tborder-top: 0\r\n}\r\n\r\n#categorys-2013 .subitem dt {\r\n\tfloat: left;\r\n\twidth: 54px;\r\n\tline-height: 22px;\r\n\ttext-align: right\r\n}\r\n\r\n#categorys-2013 .subitem dd {\r\n\toverflow: hidden;\r\n\t*zoom: 1\r\n}\r\n\r\n#categorys-2013 .subitem em {\r\n\tfloat: left;\r\n\theight: 14px;\r\n\tmargin: 4px 0;\r\n\tline-height: 14px;\r\n\tpadding: 0 8px;\r\n\tborder-left: 1px solid #ccc\r\n}\r\n\r\n#categorys-2013 .subitem dt a {\r\n\tcolor: #E4393C;\r\n\ttext-decoration: underline\r\n}\r\n\r\n#categorys-2013 .subitem dd a {\r\n\twhite-space: nowrap\r\n}\r\n\r\n#categorys-2013 .fr {\r\n\twidth: 210px;\r\n\tpadding-bottom: 2010px;\r\n\tmargin-bottom: -2000px\r\n}\r\n\r\n#categorys-2013 .fr dl {\r\n\twidth: 194px;\r\n\tpadding: 6px 8px\r\n}\r\n\r\n#categorys-2013 .fr a {\r\n\tcolor: #666\r\n}\r\n\r\n#categorys-2013 .fr dd {\r\n\tpadding-top: 6px;\r\n\tline-height: 20px;\r\n\toverflow: hidden\r\n}\r\n\r\n#categorys-2013 .fr img {\r\n\tmargin-bottom: 4px\r\n}\r\n\r\n#categorys-2013 .categorys-brands li {\r\n\tfloat: left;\r\n\twidth: 97px\r\n}\r\n\r\n#categorys-2013 .mc .extra {\r\n\tdisplay: none\r\n}\r\n\r\n#categorys-2013 .close {\r\n\tposition: absolute;\r\n\ttop: -1px;\r\n\tleft: 499px;\r\n\tz-index: 14;\r\n\twidth: 26px;\r\n\theight: 26px;\r\n\tbackground: rgba(0, 0, 0, .6);\r\n\ttext-align: center;\r\n\tline-height: 26px;\r\n\tcolor: #fff;\r\n\tcursor: pointer;\r\n\tfont-size: 26px;\r\n\tbackground-color: transparent\\9;\r\n\tfilter: progid:DXImageTransform.Microsoft.Gradient(GradientType=1,\r\n\t\tstartColorstr='#60000000', endColorstr='#60000000')\r\n}\r\n\r\n#categorys-2013 .loading-style1 {\r\n\tmargin-top: 10px\r\n}\r\n\r\n#categorys-2013 .fore1 .categorys-brands li,#categorys-2013 .fore13 .categorys-brands li\r\n\t{\r\n\twidth: 194px\r\n}\r\n\r\n#categorys-2013 .fore13 .i-mc {\r\n\ttop: 23px\r\n}\r\n\r\n#categorys-2013 .fore13 .categorys-brands li {\r\n\twidth: 97px\r\n}\r\n\r\n#categorys-2013 .fore14 .categorys-brands li {\r\n\twidth: 194px\r\n}\r\n\r\n#categorys-2013 .hover span {\r\n\tz-index: 13;\r\n\twidth: 160px\r\n}\r\n\r\n#categorys-2013 .hover h3 {\r\n\tborder: solid #DDD;\r\n\tborder-width: 1px 0;\r\n\tbackground-color: #fff;\r\n\toverflow: hidden;\r\n\t-moz-box-shadow: 0 0 8px #DDD;\r\n\t-webkit-box-shadow: 0 0 8px #DDD;\r\n\tbox-shadow: 0 0 8px #DDD\r\n}\r\n\r\n#categorys-2013 .hover s {\r\n\tleft: 199px;\r\n\ttop: -4px;\r\n\twidth: 7px;\r\n\theight: 38px;\r\n\tbackground: #fff;\r\n\toverflow: hidden\r\n}\r\n\r\n#categorys-2013 .fore1.hover s {\r\n\ttop: 1px\r\n}\r\n\r\n#categorys-2013 .hover .i-mc {\r\n\tdisplay: block;\r\n\tz-index: 12\r\n}\r\n\r\n#categorys-2013.hover .mt b {\r\n\tbackground-position: -65px -23px\r\n}\r\n\r\n#categorys-2013.hover .mc {\r\n\tdisplay: block\r\n}\r\n\r\n* html #categorys-2013 .item dd {\r\n\tpadding-bottom: 6px\r\n}\r\n\r\n* html #categorys-2013 .subitem {\r\n\theight: 382px\r\n}\r\n\r\n* html #categorys-2013 .fore13 .subitem {\r\n\theight: 382px\r\n}\r\n\r\n#categorys-2013 .categorys-links {\r\n\tpadding: 10px 8px\r\n}\r\n\r\n#categorys-2013 .categorys-links a {\r\n\tdisplay: block;\r\n\twidth: 194px;\r\n\theight: 30px;\r\n\tbackground-image: url(../images/28.png);\r\n\tbackground-repeat: no-repeat;\r\n\tline-height: 80px;\r\n\toverflow: hidden\r\n}\r\n\r\n#categorys-links-diy a {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#categorys-links-dpg a {\r\n\tbackground-position: 0 -30px\r\n}\r\n\r\n#categorys-links-cellphone a {\r\n\tbackground-position: 0 -60px\r\n}\r\n\r\n#categorys-links-jzc a {\r\n\tbackground-position: 0 -90px\r\n}\r\n\r\n#categorys-2013 .item-col2 .subitem {\r\n\twidth: auto;\r\n\tpadding: 0 8px\r\n}\r\n\r\n#categorys-2013 .sub-item-col {\r\n\twidth: 334px\r\n}\r\n\r\n#categorys-2013 .sub-item-col .fore1 {\r\n\tpadding-top: 0\r\n}\r\n\r\n#categorys-2013 .sub-item-col0 {\r\n\tborder-right: 1px solid #eee;\r\n\tmargin-right: 8px;\r\n\tmargin-bottom: 8px;\r\n\tpadding-right: 8px;\r\n\tmin-height: 370px\r\n}\r\n\r\n#categorys-2013 .title-list {\r\n\tfont-size: 14px;\r\n\tpadding: 5px 10px;\r\n\tmargin: 0 10px 10px;\r\n\tborder-bottom: 1px solid #eee\r\n}\r\n\r\n#categorys-2013 .title-list li {\r\n\tpadding-left: 30px;\r\n\theight: 28px;\r\n\tline-height: 28px;\r\n\tmargin-right: 20px;\r\n\tbackground-image:\r\n\t\turl(../images/virtuals-cat-ico20140826.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#categorys-2013 .title-list li.fore1 {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#categorys-2013 .title-list li.fore2 {\r\n\tbackground-position: 0 -48px\r\n}\r\n\r\n#categorys-2013 .title-list li.fore3 {\r\n\tbackground-position: 0 -99px\r\n}\r\n\r\n#categorys-2013 .title-list li.fore4 {\r\n\tbackground-position: 0 -144px\r\n}\r\n\r\n#categorys-2013 .title-list li.fore5 {\r\n\tbackground-position: 0 -191px\r\n}\r\n\r\n#categorys-2013 .title-list li.fore6 {\r\n\tbackground-position: 0 -241px\r\n}\r\n\r\n* html #categorys-2013 .sub-item-col0 {\r\n\theight: 370px\r\n}\r\n\r\n#service-2013 dl b {\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#service-2013 {\r\n\tpadding: 10px 20px;\r\n\tmargin-bottom: 20px;\r\n\tbackground: #FFF;\r\n\tborder-top: 1px solid #DDD;\r\n\tborder-bottom: 1px solid #F1F1F1\r\n}\r\n\r\n#service-2013 dl {\r\n\tfloat: left;\r\n\twidth: 196px\r\n}\r\n\r\n#service-2013 dt {\r\n\tposition: relative;\r\n\tpadding: 6px 0 6px 44px;\r\n\tfont: 14px \"microsoft yahei\";\r\n\tzoom: 1\r\n}\r\n\r\n#service-2013 dd {\r\n\tmin-height: 120px;\r\n\tpadding-left: 24px;\r\n\tmargin-left: 20px;\r\n\tline-height: 20px\r\n}\r\n\r\n#service-2013 dt b {\r\n\tposition: absolute;\r\n\ttop: 5px;\r\n\tleft: 0;\r\n\twidth: 40px;\r\n\theight: 40px\r\n}\r\n\r\n#service-2013 dl.fore1 b {\r\n\tbackground-position: 0 -55px\r\n}\r\n\r\n#service-2013 dl.fore2 b {\r\n\tbackground-position: -50px -55px\r\n}\r\n\r\n#service-2013 dl.fore3 b {\r\n\tbackground-position: 0 -102px\r\n}\r\n\r\n#service-2013 dl.fore4 b {\r\n\tbackground-position: -50px -102px\r\n}\r\n\r\n#service-2013 dl.fore5 b {\r\n\tbackground-position: 0 -149px\r\n}\r\n\r\n#service-2013 dl.fore5 {\r\n\twidth: 160px\r\n}\r\n\r\n#service-2013 .fr {\r\n\tdisplay: none\r\n}\r\n\r\n* html #service-2013 dd {\r\n\theight: 120px\r\n}\r\n\r\n.root61 #service-2013 dl {\r\n\twidth: 252px\r\n}\r\n\r\n.root61 #service-2013 dl.fore5 {\r\n\twidth: 160px\r\n}\r\n\r\n#footer-2013 {\r\n\tpadding-bottom: 30px;\r\n\ttext-align: center\r\n}\r\n\r\n#footer-2013 .links a,#footer-2013 .links span {\r\n\tmargin: 0 10px\r\n}\r\n\r\n#footer-2013 .links span a {\r\n\tmargin: 0\r\n}\r\n\r\n#footer-2013 .copyright {\r\n\tmargin: 10px 0\r\n}\r\n\r\n#footer-2013 .authentication a {\r\n\tmargin: 0 5px\r\n}\r\n\r\n.footmark .m {\r\n\tpadding: 0 9px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 2px solid #999\r\n}\r\n\r\n.footmark .mt {\r\n\theight: 30px;\r\n\tline-height: 30px\r\n}\r\n\r\n.footmark .title {\r\n\twidth: 50%;\r\n\tfloat: left;\r\n\tfont-weight: 400\r\n}\r\n\r\n.footmark .extra {\r\n\twidth: 50%;\r\n\tfloat: right;\r\n\ttext-align: right\r\n}\r\n\r\n.footmark .may-like .change {\r\n\tdisplay: inline-block\r\n}\r\n\r\n.footmark .may-like .change .ico,.may-like .change .txt {\r\n\tdisplay: inline-block;\r\n\tvertical-align: middle;\r\n\t*cursor: pointer\r\n}\r\n\r\n.footmark .may-like .change .ico {\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tmargin-right: 5px;\r\n\tbackground:\r\n\t\turl(../images/update.png)\r\n\t\tno-repeat\r\n}\r\n\r\n.footmark .may-like .mc {\r\n\theight: 246px;\r\n\toverflow: hidden\r\n}\r\n\r\n.footmark .may-like-list {\r\n\tpadding-top: 15px;\r\n\tmargin-right: -10px\r\n}\r\n\r\n.footmark .may-like-list li {\r\n\twidth: 150px;\r\n\theight: 216px;\r\n\tfloat: left;\r\n\tmargin: 0 8px 0 0;\r\n\tpadding: 0 18px 15px;\r\n\ttext-align: center\r\n}\r\n\r\n.footmark .may-like-list .p-img img {\r\n\twidth: 130px;\r\n\theight: 130px\r\n}\r\n\r\n.footmark .may-like-list .p-name {\r\n\theight: 36px\r\n}\r\n\r\n.footmark .may-like-list .p-review {\r\n\tline-height: 20px\r\n}\r\n\r\n.footmark .may-like-list .p-review a {\r\n\tcolor: #005ea7\r\n}\r\n\r\n.footmark .may-like-list .p-price {\r\n\tline-height: 20px;\r\n\tcolor: #e3393c\r\n}\r\n\r\n.footmark .recent-view .mc {\r\n\theight: 126px;\r\n\toverflow: hidden\r\n}\r\n\r\n.footmark .recent-view-list {\r\n\tmargin-right: -36px;\r\n\tpadding-top: 14px\r\n}\r\n\r\n.footmark .recent-view-list li {\r\n\twidth: 86px;\r\n\tfloat: left;\r\n\tmargin: 0 2px 0 0;\r\n\tpadding-bottom: 14px;\r\n\ttext-align: center\r\n}\r\n\r\n.footmark .recent-view-list .p-img img {\r\n\twidth: 70px;\r\n\theight: 70px\r\n}\r\n\r\n.footmark .recent-view-list .p-price {\r\n\tcolor: #e3393c\r\n}\r\n\r\n.root61 .footmark .may-like-list li {\r\n\tpadding-left: 20px\r\n}\r\n\r\n.root61 .footmark .recent-view-list li {\r\n\tmargin: 0 2px 0 3px;\r\n\t*display: inline\r\n}\r\n\r\n#shortcut-2013 #app-jd {\r\n\tpadding-left: 37px\r\n}\r\n\r\n#app-jd i {\r\n\tposition: absolute;\r\n\tz-index: 2;\r\n\tleft: 14px;\r\n\ttop: 5px;\r\n\twidth: 13px;\r\n\theight: 22px;\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat;\r\n\tbackground-position: -128px -360px;\r\n\t-webkit-transition: all .2s ease;\r\n\ttransition: all .2s ease\r\n}\r\n\r\n#app-jd.hover i {\r\n\tbackground-position: -128px -399px\r\n}\r\n\r\n#app-jd .dd {\r\n\tleft: 5px;\r\n\twidth: 210px;\r\n\tpadding: 20px 0 20px 20px\r\n}\r\n\r\n#app-jd .dd .qr-code {\r\n\tposition: relative;\r\n\tmargin-bottom: 8px\r\n}\r\n\r\n#app-jd .dd .qr-code i {\r\n\tposition: absolute;\r\n\tdisplay: block;\r\n\twidth: 49px;\r\n\theight: 23px;\r\n\tbackground:\r\n\t\turl(../images/20130330A_2.png)\r\n\t\tno-repeat 0 -438px;\r\n\tleft: 88px;\r\n\ttop: 5px\r\n}\r\n\r\n#app-jd .dd .qr-code .details {\r\n\tposition: absolute;\r\n\tleft: 103px;\r\n\ttop: 28px\r\n}\r\n\r\n#app-jd .dd .qr-code .details em,#app-jd .dd .qr-code .details strong {\r\n\tdisplay: block;\r\n\tline-height: 20px\r\n}\r\n\r\n#app-jd .dd .qr-code .details em {\r\n\tcolor: #999\r\n}\r\n\r\n#app-jd .dd .qr-code .details strong {\r\n\tcolor: #E4393C;\r\n\tfont-size: 14px\r\n}\r\n\r\n#app-jd .app-btn {\r\n\theight: 29px;\r\n\tfont-size: 0\r\n}\r\n\r\n#app-jd .btn-app-apple,#app-jd .btn-app-android {\r\n\twidth: 97px;\r\n\theight: 29px;\r\n\tdisplay: inline-block;\r\n\tline-height: 29px;\r\n\tbackground-image:\r\n\t\turl(../images/20130330A_2.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#app-jd .btn-app-apple {\r\n\tbackground-position: 0 -360px;\r\n\tmargin-right: 5px\r\n}\r\n\r\n#app-jd .btn-app-android {\r\n\tbackground-position: 0 -399px\r\n}\r\n\r\n#app-jd .qr-item {\r\n\tposition: relative\r\n}\r\n\r\n#app-jd .qr-item.qr-jd-app {\r\n\tmargin-bottom: 30px\r\n}\r\n\r\n#app-jd .qr-item .qr-img {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 10px\r\n}\r\n\r\n#app-jd .qr-item .qr-ext {\r\n\tpadding-left: 92px\r\n}\r\n\r\n#app-jd .qr-item .qr-ext strong,#app-jd .qr-item .qr-ext a {\r\n\tdisplay: block;\r\n\tmargin: 0\r\n}\r\n\r\n#app-jd .qr-item .qr-ext strong {\r\n\tline-height: 20px;\r\n\tmargin-bottom: 7px;\r\n\tcolor: #E4393C\r\n}\r\n\r\n#app-jd .qr-item .qr-ext .btn-app-apple {\r\n\tmargin-bottom: 7px\r\n}\r\n\r\n#shortcut-2013 #app-jd.hover .outline,#shortcut-2013 #app-jd.hover .blank\r\n\t{\r\n\twidth: 98px\r\n}\r\n\r\n#app-jd .qr-info {\r\n\tdisplay: none\r\n}\r\n\r\n#app-jd .dd {\r\n\tpadding-top: 60px;\r\n\tpadding-left: 30px;\r\n\tpadding-right: 10px\r\n}\r\n\r\n#app-jd .qr-info {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 24px;\r\n\tleft: 8px;\r\n\twidth: 220px;\r\n\theight: 65px;\r\n\tbackground:\r\n\t\turl(../images/537b084eN94336622.png)\r\n}\r\n\r\n#shortcut-2013 #jd-vip {\r\n\tpadding-left: 38px\r\n}\r\n\r\n#jd-vip:hover i {\r\n\tbackground-position: 0 -15px\r\n}\r\n\r\n#jd-vip i {\r\n\tposition: absolute;\r\n\tleft: 10px;\r\n\ttop: 9px;\r\n\tdisplay: block;\r\n\twidth: 24px;\r\n\theight: 11px;\r\n\toverflow: hidden;\r\n\tbackground: url(../images/vip.png)\r\n}\r\n\r\n/\r\n* \r\n.w1 {\r\n\tpadding-top: 8px\r\n}\r\n\r\n#logo-2013 a b {\r\n\tdisplay: none\r\n}\r\n\r\n#categorys-2013 .mt b {\r\n\tdisplay: none\r\n}\r\n\r\n#categorys-2013 .mc {\r\n\tdisplay: none\r\n}\r\n\r\n#service-2013 {\r\n\tpadding-left: 10px;\r\n\tpadding-right: 10px\r\n}\r\n\r\n#service-2013 dl {\r\n\twidth: 150px\r\n}\r\n\r\n#service-2013 dl.fore5 {\r\n\twidth: 160px\r\n}\r\n\r\n#service-2013 .fr {\r\n\tdisplay: block\r\n}\r\n\r\n.root61 #service-2013 {\r\n\tpadding-left: 20px;\r\n\tpadding-right: 20px\r\n}\r\n\r\n.root61 #service-2013 dl {\r\n\twidth: 192px\r\n}\r\n\r\n#branch-office {\r\n\tbackground-image:\r\n\t\turl(../images/20130330B_1.png);\r\n\tbackground-repeat: no-repeat;\r\n\tmargin-bottom: 0\r\n}\r\n\r\n#branch-office {\r\n\twidth: 200px;\r\n\tpadding-top: 6px\r\n}\r\n\r\n#branch-office .smt {\r\n\tmargin-bottom: 6px\r\n}\r\n\r\n#branch-office {\r\n\theight: 150px;\r\n\tbackground-position: 0 -131px\r\n}\r\n\r\n#branch-office p {\r\n\tmargin-bottom: 14px;\r\n\tline-height: 1.8em\r\n}\r\n\r\n#branch-office a {\r\n\tcolor: #005EA7\r\n}\r\n\r\n.jscroll {\r\n\tposition: relative\r\n}\r\n\r\n.jscroll .ctrl {\r\n\tposition: absolute;\r\n\tz-index: 1;\r\n\tcursor: pointer;\r\n\ttransition: all .2s ease-in 0s\r\n}\r\n\r\n.jscroll:hover .ctrl {\r\n\tbackground: rgba(255, 255, 255, .5)\r\n}\r\n\r\n.jscroll .list {\r\n\toverflow: hidden\r\n}\r\n\r\n.jscroll .list .item {\r\n\tfloat: left\r\n}\r\n\r\n.m1 .mt,.m2 .mt,.sm1 .smt,.sm2 .smt {\r\n\theight: 16px;\r\n\tline-height: 16px;\r\n\tpadding: 7px 0;\r\n\tborder-bottom: 0px solid #AAA\r\n}\r\n\r\n.m1 .mt h2 {\r\n\tfloat: left\r\n}\r\n\r\n.m1 .mt .extra {\r\n\tfloat: right\r\n}\r\n\r\n.m1 .mc,.sm1 .smc {\r\n\tborder-style: solid;\r\n\tborder-color: #F1F1F1;\r\n\tborder-width: 0 1px 1px\r\n}\r\n\r\n.m2 {\r\n\tposition: relative\r\n}\r\n\r\n.m2 .mt,.sm2 .smt {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\ttext-align: center\r\n}\r\n\r\n.m2 .mc,.sm2 .smc {\r\n\tdisplay: none\r\n}\r\n\r\n.m3 .mt {\r\n\theight: 29px;\r\n\tline-height: 29px;\r\n\tpadding: 0 8px;\r\n\tborder-left: 1px solid #ddd;\r\n\tborder-right: 1px solid #ddd;\r\n\tborder-top: 2px solid #AAA\r\n}\r\n\r\n.m3 .mt h2 {\r\n\tfloat: left\r\n}\r\n\r\n.m3 .mt .extra {\r\n\tfloat: right\r\n}\r\n\r\n.m3 .mc {\r\n\tborder: solid #ddd;\r\n\tborder-width: 0 1px 1px\r\n}\r\n\r\n.curr .mt,.curr .smt {\r\n\tcolor: #E4393C\r\n}\r\n\r\n.curr .mc,.curr .smc {\r\n\tdisplay: block\r\n}\r\n\r\n#o-slide {\r\n\tfloat: left;\r\n\twidth: 550px;\r\n\theight: 400px;\r\n\toverflow: hidden;\r\n\tpadding-left: 220px\r\n}\r\n\r\n#slide {\r\n\twidth: 550px;\r\n\theight: 240px;\r\n\tbackground-color: #F5F5F5\r\n}\r\n\r\n#slide .slide-itemswrap,#slide .slide-items,#slide .slide-items li {\r\n\twidth: 550px;\r\n\theight: 240px;\r\n\toverflow: hidden\r\n}\r\n\r\n#slide .slide-controls {\r\n\tposition: absolute;\r\n\tbottom: 3px;\r\n\tz-index: 1;\r\n\twidth: 530px;\r\n\theight: 22px;\r\n\tpadding: 4px 10px;\r\n\ttext-align: right\r\n}\r\n\r\n#slide .slide-controls span {\r\n\twidth: 22px;\r\n\theight: 22px;\r\n\tline-height: 22px\r\n}\r\n\r\n#slide .slide-controls a {\r\n\tfont-size: 13px\r\n}\r\n\r\n#slide .style1 .fore2,#slide .style1 .fore3,#slide .style1 .fore4 {\r\n\tmargin-left: 1px\r\n}\r\n\r\n.root61 #o-slide,.root61 #slide,.root61 #slide .slide-itemswrap,.root61 #slide .slide-items,.root61 #slide .slide-items li\r\n\t{\r\n\twidth: 670px\r\n}\r\n\r\n.root61 #slide .slide-controls {\r\n\twidth: 650px\r\n}\r\n\r\n#mscroll .ctrl b {\r\n\tbackground-image:\r\n\t\turl(../images/20130330B_1.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#mscroll {\r\n\twidth: 488px;\r\n\tpadding: 0 30px;\r\n\theight: 159px;\r\n\tborder-style: solid;\r\n\tborder-color: #EEE;\r\n\tborder-width: 0 1px 1px\r\n}\r\n\r\n#mscroll .o-list {\r\n\tposition: relative;\r\n\twidth: 488px;\r\n\theight: 159px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#mscroll .list {\r\n\tposition: relative;\r\n\twidth: 490px;\r\n\theight: 159px\r\n}\r\n\r\n#mscroll .list li {\r\n\tborder-right: 1px solid #EEE\r\n}\r\n\r\n#mscroll .list img {\r\n\twidth: 162px\r\n}\r\n\r\n#mscroll .ctrl {\r\n\ttop: 0;\r\n\twidth: 30px;\r\n\theight: 159px\r\n}\r\n\r\n#mscroll .ctrl b {\r\n\tdisplay: block;\r\n\tmargin: 66px auto 0;\r\n\twidth: 25px;\r\n\theight: 33px;\r\n\tbackground-repeat: no-repeat;\r\n\tbackground-position: 5px 5px\r\n}\r\n\r\n#mscroll #mscroll-ctrl-prev {\r\n\tleft: 0\r\n}\r\n\r\n#mscroll #mscroll-ctrl-next {\r\n\tright: 0\r\n}\r\n\r\n#mscroll #mscroll-ctrl-prev b {\r\n\tbackground-position: -85px -45px\r\n}\r\n\r\n#mscroll #mscroll-ctrl-next b {\r\n\tbackground-position: -55px -45px\r\n}\r\n\r\n#mscroll .ctrl:hover {\r\n\tbackground-color: #F5F5F5\r\n}\r\n\r\n#mscroll #mscroll-ctrl-prev:hover b {\r\n\tbackground: url(../images/15.png)\r\n\t\tno-repeat 0 0\r\n}\r\n\r\n#mscroll #mscroll-ctrl-next:hover b {\r\n\tbackground: url(../images/15.png)\r\n\t\tno-repeat 0 -37px\r\n}\r\n\r\n#mscroll .disabled {\r\n\tcursor: default\r\n}\r\n\r\n#mscroll:hover .disabled {\r\n\t\r\n}\r\n\r\n.root61 #mscroll {\r\n\twidth: 608px\r\n}\r\n\r\n.root61 #mscroll .o-list {\r\n\twidth: 608px\r\n}\r\n\r\n.root61 #mscroll .list {\r\n\twidth: 610px\r\n}\r\n\r\n.root61 #mscroll .list img {\r\n\twidth: 202px\r\n}\r\n\r\n.tab-arrow {\r\n\tposition: absolute;\r\n\tz-index: 1;\r\n\ttop: 23px;\r\n\tleft: 0;\r\n\theight: 7px;\r\n\tborder-bottom: 2px solid #E4393C;\r\n\toverflow: hidden;\r\n\ttext-align: center\r\n}\r\n\r\n.tab-arrow b {\r\n\tdisplay: inline-block;\r\n\tmargin-top: -8px;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-style: dashed dashed solid;\r\n\tborder-width: 10px;\r\n\tborder-color: transparent transparent #E4393C;\r\n\toverflow: hidden;\r\n\tzoom: 1;\r\n\tfont-size: 0\r\n}\r\n\r\n#jdnews {\r\n\tfloat: right;\r\n\twidth: 210px\r\n}\r\n\r\n#jdnews .mc {\r\n\twidth: 208px;\r\n\theight: 100px;\r\n\tpadding: 4px 0\r\n}\r\n\r\n#jdnews ul {\r\n\twidth: 208px;\r\n\theight: 100px;\r\n\toverflow: hidden\r\n}\r\n\r\n#jdnews li {\r\n\tfloat: left;\r\n\twidth: 188px;\r\n\theight: 25px;\r\n\tpadding: 0 10px;\r\n\tline-height: 25px;\r\n\toverflow: hidden\r\n}\r\n\r\n.root61 #jdnews {\r\n\twidth: 310px\r\n}\r\n\r\n.root61 #jdnews .mc {\r\n\twidth: 308px\r\n}\r\n\r\n.root61 #jdnews ul {\r\n\twidth: 308px\r\n}\r\n\r\n.root61 #jdnews li {\r\n\twidth: 133px\r\n}\r\n\r\n.root61 #jdnews li.odd {\r\n\tborder-right: 1px solid #eee\r\n}\r\n\r\n#virtuals {\r\n\tposition: relative;\r\n\tfloat: right;\r\n\twidth: 210px;\r\n\tpadding-top: 30px\r\n}\r\n\r\n#virtuals .mt {\r\n\twidth: 52px\r\n}\r\n\r\n#virtuals .fore1 .mt {\r\n\tleft: 0;\r\n\twidth: 54px\r\n}\r\n\r\n#virtuals .fore2 .mt {\r\n\tleft: 54px\r\n}\r\n\r\n#virtuals .fore3 .mt {\r\n\tleft: 106px\r\n}\r\n\r\n#virtuals .fore4 .mt {\r\n\tleft: 158px\r\n}\r\n\r\n#virtuals .mc {\r\n\tdisplay: none;\r\n\twidth: 208px;\r\n\theight: 138px;\r\n\tborder-style: solid;\r\n\tborder-color: #F1F1F1;\r\n\tborder-width: 0 1px 1px\r\n}\r\n\r\n#virtuals .curr .mt a:link,#virtuals .curr .mt a:visited {\r\n\tcolor: #E4393C\r\n}\r\n\r\n#virtuals .curr .mc {\r\n\tdisplay: block\r\n}\r\n\r\n#virtuals .loading-style1 {\r\n\tmargin-top: 40px\r\n}\r\n\r\n#virtuals .tab-arrow {\r\n\twidth: 52px\r\n}\r\n\r\n.root61 #virtuals {\r\n\twidth: 310px\r\n}\r\n\r\n.root61 #virtuals .mt {\r\n\twidth: 77px\r\n}\r\n\r\n.root61 #virtuals .fore1 .mt {\r\n\twidth: 79px\r\n}\r\n\r\n.root61 #virtuals .fore2 .mt {\r\n\tleft: 79px\r\n}\r\n\r\n.root61 #virtuals .fore3 .mt {\r\n\tleft: 156px\r\n}\r\n\r\n.root61 #virtuals .fore4 .mt {\r\n\tleft: 233px\r\n}\r\n\r\n.root61 #virtuals .mc {\r\n\twidth: 308px\r\n}\r\n\r\n.root61 #virtuals .tab-arrow {\r\n\twidth: 77px\r\n}\r\n\r\n#virtuals-2014 {\r\n\tposition: relative;\r\n\tfloat: right;\r\n\twidth: 208px;\r\n\theight: 167px;\r\n\toverflow: hidden;\r\n\tborder: 1px solid #eee\r\n}\r\n\r\n#virtuals-2014 .close:hover {\r\n\tcolor: #aaa;\r\n\ttext-decoration: none\r\n}\r\n\r\n#virtuals-2014 .close {\r\n\tposition: absolute;\r\n\tright: 5px;\r\n\ttop: 5px;\r\n\tz-index: 1;\r\n\tfont: 20px simsun;\r\n\tcolor: #aaa\r\n}\r\n\r\n.root61 #virtuals-2014 .close {\r\n\tright: 10px\r\n}\r\n\r\n#virtuals-2014 .mt ul {\r\n\twidth: 218px\r\n}\r\n\r\n#virtuals-2014 .mt ul li.current a {\r\n\tborder-bottom: 0\r\n}\r\n\r\n#virtuals-2014 .mt li {\r\n\tposition: relative;\r\n\tborder-right: 1px solid #eee;\r\n\tborder-bottom: 1px solid #eee;\r\n\theight: 84px;\r\n\toverflow: hidden;\r\n\t-webkit-transition: height .2s ease-in-out;\r\n\t-moz-transition: height .2s ease-in-out;\r\n\t-ms-transition: height .2s ease-in-out;\r\n\t-o-transition: height .2s ease-in-out;\r\n\ttransition: height .2s ease-in-out\r\n}\r\n\r\n#virtuals-2014 .mt li.current {\r\n\tborder-bottom: 0\r\n}\r\n\r\n#virtuals-2014.hover .mt li a {\r\n\ttop: -42px\r\n}\r\n\r\n#virtuals-2014.hover .mt li {\r\n\theight: 29px\r\n}\r\n\r\n#virtuals-2014 .mt li a {\r\n\tposition: relative;\r\n\ttop: 0;\r\n\tfloat: left;\r\n\tdisplay: inline;\r\n\twidth: 42px;\r\n\theight: 83px;\r\n\tpadding: 0 5px;\r\n\ttext-align: center;\r\n\t-webkit-transition: top .2s ease-in-out;\r\n\t-moz-transition: top .2s ease-in-out;\r\n\t-ms-transition: top .2s ease-in-out;\r\n\t-o-transition: top .2s ease-in-out;\r\n\ttransition: top .2s ease-in-out\r\n}\r\n\r\n#virtuals-2014 .mt ul.fore2 {\r\n\t\r\n}\r\n\r\n.root61 #virtuals-2014 .mt li a {\r\n\tpadding: 0 17px\r\n}\r\n\r\n#virtuals-2014 .mt .fore4,#virtuals-2014 .mt .fore8 {\r\n\tborder-right: 0\r\n}\r\n\r\n#virtuals-2014 .mt li a s {\r\n\tdisplay: block;\r\n\twidth: 42px;\r\n\theight: 34px;\r\n\tmargin-top: 10px;\r\n\tmargin-bottom: 5px;\r\n\tbackground-image:\r\n\t\turl(../images/virtuals-20140606.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#virtuals-2014 .mt li.fore2 a s {\r\n\tbackground-position: -64px 0\r\n}\r\n\r\n#virtuals-2014 .mt li.fore3 a s {\r\n\tbackground-position: -126px 0\r\n}\r\n\r\n#virtuals-2014 .mt li.fore4 a s {\r\n\tbackground-position: -189px 0\r\n}\r\n\r\n#virtuals-2014 .mt li.fore5 a s {\r\n\tbackground-position: 0 -50px\r\n}\r\n\r\n#virtuals-2014 .mt li.fore6 a s {\r\n\tbackground-position: -64px -50px\r\n}\r\n\r\n#virtuals-2014 .mt li.fore7 a s {\r\n\tbackground-position: -126px -50px\r\n}\r\n\r\n#virtuals-2014 .mt li.fore8 a s {\r\n\tbackground-position: -189px -50px\r\n}\r\n\r\n#virtuals-2014 .mt li a i {\r\n\tdisplay: block;\r\n\twidth: 0;\r\n\theight: 0;\r\n\toverflow: hidden;\r\n\tmargin-left: 16px;\r\n\tmargin-top: 6px;\r\n\tborder-style: solid;\r\n\tborder-width: 3px 3px 0;\r\n\tborder-color: #aaa #fff #fff;\r\n\t*margin-left: 0\r\n}\r\n\r\n#virtuals-2014.hover ul.fore1 a i {\r\n\tdisplay: none\r\n}\r\n\r\n#virtuals-2014.hover ul.fore2 {\r\n\tdisplay: none\r\n}\r\n\r\n#virtuals-2014 .mc {\r\n\tposition: relative;\r\n\theight: 139px\r\n}\r\n\r\n#virtuals-2014 .mc .virtuals-iframes {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0\r\n}\r\n\r\n.root61 #virtuals-2014 {\r\n\twidth: 308px\r\n}\r\n\r\n.root61 #virtuals-2014 .mt ul {\r\n\twidth: 318px\r\n}\r\n\r\n#virtuals-2014 .mt li .hot {\r\n\tbackground:\r\n\t\turl(../images/541f893aN662da9bc.png)\r\n\t\tno-repeat;\r\n\twidth: 24px;\r\n\theight: 14px;\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tposition: absolute;\r\n\tright: 6px;\r\n\tbottom: 34px\r\n}\r\n\r\n#virtuals-2014.hover .mt li .hot {\r\n\tdisplay: none\r\n}\r\n\r\n#hot {\r\n\tposition: relative;\r\n\tfloat: left;\r\n\twidth: 770px;\r\n\tpadding-top: 32px\r\n}\r\n\r\n#hot .mt {\r\n\twidth: 154px\r\n}\r\n\r\n#hot .fore1 .mt {\r\n\tleft: 0\r\n}\r\n\r\n#hot .fore2 .mt {\r\n\tleft: 154px\r\n}\r\n\r\n#hot .fore3 .mt {\r\n\tleft: 308px\r\n}\r\n\r\n#hot .fore4 .mt {\r\n\tleft: 462px\r\n}\r\n\r\n#hot .fore5 .mt {\r\n\tleft: 616px\r\n}\r\n\r\n#hot .mc {\r\n\twidth: 770px;\r\n\theight: 230px;\r\n\tborder-bottom: 1px solid #DDD\r\n}\r\n\r\n#hot .mc li {\r\n\twidth: 142px;\r\n\theight: 230px;\r\n\tpadding: 0 6px 0 5px;\r\n\tborder-left: 1px dotted #F1F1F1\r\n}\r\n\r\n#hot .mc .fore1 {\r\n\tpadding-left: 6px;\r\n\tborder-left: 0\r\n}\r\n\r\n#hot .p-img {\r\n\twidth: 130px;\r\n\theight: 132px;\r\n\tpadding: 30px 0 6px;\r\n\tmargin: 0 auto;\r\n\ttext-align: center\r\n}\r\n\r\n#hot .p-name {\r\n\theight: 3em\r\n}\r\n\r\n#hot .p-price strong {\r\n\tfont-size: 14px;\r\n\tfont-family: verdana\r\n}\r\n\r\n#hot .loading-style1 {\r\n\tmargin-top: 90px\r\n}\r\n\r\n#hot .tab-arrow {\r\n\twidth: 154px\r\n}\r\n\r\n.root61 #hot {\r\n\twidth: 890px\r\n}\r\n\r\n.root61 #hot .mt {\r\n\twidth: 178px\r\n}\r\n\r\n.root61 #hot .fore1 .mt {\r\n\tleft: 0\r\n}\r\n\r\n.root61 #hot .fore2 .mt {\r\n\tleft: 178px\r\n}\r\n\r\n.root61 #hot .fore3 .mt {\r\n\tleft: 356px\r\n}\r\n\r\n.root61 #hot .fore4 .mt {\r\n\tleft: 534px\r\n}\r\n\r\n.root61 #hot .fore5 .mt {\r\n\tleft: 712px\r\n}\r\n\r\n.root61 #hot .mc {\r\n\twidth: 890px\r\n}\r\n\r\n.root61 #hot .mc li {\r\n\twidth: 166px\r\n}\r\n\r\n.root61 #hot .p-img {\r\n\tpadding-left: 13px;\r\n\tpadding-right: 13px\r\n}\r\n\r\n.root61 #hot .tab-arrow {\r\n\twidth: 178px\r\n}\r\n\r\n#first {\r\n\tfloat: right;\r\n\twidth: 210px\r\n}\r\n\r\n#first .mc {\r\n\theight: 230px;\r\n\tpadding: 0 5px\r\n}\r\n\r\n#first .item {\r\n\theight: 110px;\r\n\tpadding: 2px 0;\r\n\toverflow: hidden\r\n}\r\n\r\n#first .fore1 {\r\n\tborder-bottom: 1px dotted #ccc\r\n}\r\n\r\n#first .fore1 .p-img {\r\n\tfloat: left;\r\n\tmargin-right: 5px\r\n}\r\n\r\n#first .fore2 .p-img {\r\n\tfloat: right;\r\n\tmargin-left: 5px\r\n}\r\n\r\n#first .p-name {\r\n\theight: 36px;\r\n\tpadding-top: 5px;\r\n\tmargin-bottom: 8px;\r\n\tline-height: 18px;\r\n\tfont-weight: 700\r\n}\r\n\r\n#first .p-name span {\r\n\tfloat: left;\r\n\tcolor: #E4393C;\r\n\tmargin-right: 5px\r\n}\r\n\r\n#first .p-detail {\r\n\theight: 4.5em;\r\n\tcolor: #999\r\n}\r\n\r\n* html #first .p-name span {\r\n\tposition: relative;\r\n\ttop: -3px\r\n}\r\n\r\n.root61 #first {\r\n\twidth: 310px\r\n}\r\n\r\n.root61 #first .mc {\r\n\tpadding: 0 10px\r\n}\r\n\r\n.root61 #first .p-name {\r\n\theight: 18px\r\n}\r\n\r\n.root61 #first .p-detail {\r\n\theight: 6em\r\n}\r\n\r\n.root61 #first .fore1 .p-img {\r\n\tmargin-right: 10px\r\n}\r\n\r\n.root61 #first .fore2 .p-img {\r\n\tmargin-left: 10px\r\n}\r\n\r\n#timed {\r\n\tfloat: left;\r\n\twidth: 770px\r\n}\r\n\r\n#timed .mc {\r\n\twidth: 770px;\r\n\tborder-width: 0 0 1px;\r\n\tborder-color: #DDD\r\n}\r\n\r\n#timed .mc li {\r\n\twidth: 142px;\r\n\theight: 271px;\r\n\tpadding: 10px 6px 0 5px;\r\n\tborder-left: 1px dotted #F1F1F1\r\n}\r\n\r\n#timed .mc .fore1 {\r\n\tpadding-left: 6px;\r\n\tborder-left: 0\r\n}\r\n\r\n#timed .p-img {\r\n\twidth: 130px;\r\n\theight: 138px;\r\n\tpadding: 30px 0 6px;\r\n\tmargin: 0 auto;\r\n\ttext-align: center\r\n}\r\n\r\n#timed .p-img .pix1 {\r\n\tline-height: 14px;\r\n\tfont-size: 12px\r\n}\r\n\r\n#timed .p-img .pix1 span {\r\n\tline-height: 20px;\r\n\tfont-size: 20px\r\n}\r\n\r\n#timed .p-name {\r\n\theight: 3em\r\n}\r\n\r\n#timed .p-price {\r\n\theight: 1.5em\r\n}\r\n\r\n#timed .p-price span {\r\n\tdisplay: none\r\n}\r\n\r\n#timed .p-price strong {\r\n\tfont-size: 14px;\r\n\tfont-family: verdana\r\n}\r\n\r\n#timed .countdown {\r\n\theight: 30px;\r\n\tmargin: 0 auto;\r\n\toverflow: hidden;\r\n\ttext-align: center;\r\n\tline-height: 30px;\r\n\tcolor: #999\r\n}\r\n\r\n#timed .countdown b {\r\n\tpadding: 0 2px;\r\n\tfont-size: 16px\r\n}\r\n\r\n#timed .countdown a {\r\n\tcolor: #005EA7\r\n}\r\n\r\n#timed .loading-style1 {\r\n\tmargin-top: 110px\r\n}\r\n\r\n.root61 #timed {\r\n\twidth: 890px\r\n}\r\n\r\n.root61 #timed .mc {\r\n\twidth: 890px\r\n}\r\n\r\n.root61 #timed .mc li {\r\n\twidth: 166px\r\n}\r\n\r\n.root61 #timed .p-img {\r\n\tpadding-left: 13px;\r\n\tpadding-right: 13px\r\n}\r\n\r\n.root61 #timed .p-price span {\r\n\tdisplay: inline\r\n}\r\n\r\n#group .p-detail,#group .ctrl {\r\n\tbackground-image:\r\n\t\turl(../images/20130330B_1.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#group {\r\n\tfloat: right;\r\n\twidth: 210px\r\n}\r\n\r\n#group .mc {\r\n\theight: 171px\r\n}\r\n\r\n#group .p-detail {\r\n\tposition: absolute;\r\n\tbottom: 0;\r\n\tleft: 0;\r\n\twidth: 167px;\r\n\theight: 33px;\r\n\tpadding: 5px 5px 2px 20px;\r\n\tbackground-position: 0 0;\r\n\toverflow: hidden;\r\n\tzoom: 1;\r\n\ttransition: all .2s ease-in 0s\r\n}\r\n\r\n#group .p-detail span,#group .p-detail strong {\r\n\tfloat: left;\r\n\tcolor: #fff;\r\n\tline-height: 30px\r\n}\r\n\r\n#group .p-detail span {\r\n\tdisplay: none\r\n}\r\n\r\n#group .p-detail strong {\r\n\tfont-size: 20px\r\n}\r\n\r\n#group .btn-tuan {\r\n\tfloat: right;\r\n\twidth: 71px;\r\n\theight: 30px;\r\n\toverflow: hidden;\r\n\tbackground-color: #7ABD54;\r\n\tline-height: 30px;\r\n\tfont-size: 20px;\r\n\tcolor: #fff;\r\n\ttext-align: center;\r\n\tfont-family: \"microsoft yahei\";\r\n\ttext-decoration: none;\r\n\tborder-radius: 5px;\r\n\t-moz-border-radius: 5px;\r\n\t-webkit-border-radius: 5px\r\n}\r\n\r\n#group .ctrl {\r\n\ttop: 60px;\r\n\twidth: 25px;\r\n\theight: 33px;\r\n\tbackground-repeat: no-repeat;\r\n\tbackground-position: 5px 5px\r\n}\r\n\r\n#group #gscroll-ctrl-prev {\r\n\tleft: 10px;\r\n\tbackground-position: -85px -45px\r\n}\r\n\r\n#group #gscroll-ctrl-next {\r\n\tright: 10px;\r\n\tbackground-position: -55px -45px\r\n}\r\n\r\n#group .list {\r\n\twidth: 192px;\r\n\theight: 155px;\r\n\tborder: 8px solid #fff\r\n}\r\n\r\n#group .list .item {\r\n\tposition: relative;\r\n\twidth: 192px;\r\n\theight: 155px\r\n}\r\n\r\n#gscroll .disabled {\r\n\tcursor: default\r\n}\r\n\r\n#gscroll:hover .disabled {\r\n\tbackground-color: rgba(0, 0, 0, 0)\r\n}\r\n\r\n.root61 #group {\r\n\twidth: 310px\r\n}\r\n\r\n.root61 #group .p-detail {\r\n\twidth: 267px\r\n}\r\n\r\n.root61 #group .p-detail span {\r\n\tdisplay: inline\r\n}\r\n\r\n.root61 #group .btn-tuan {\r\n\twidth: 91px\r\n}\r\n\r\n.root61 #group .list,.root61 #group .list .item {\r\n\twidth: 292px\r\n}\r\n\r\n.catalogue .floor .b1,.catalogue .floor .b2,.catalogue .floor .b4 {\r\n\tbackground-image:\r\n\t\turl(../images/20130330C.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n.catalogue,.catalogue .mt {\r\n\toverflow: visible\r\n}\r\n\r\n.catalogue {\r\n\tfloat: left;\r\n\twidth: 210px;\r\n\tmargin-bottom: 0\r\n}\r\n\r\n.catalogue .mt {\r\n\theight: 30px;\r\n\tpadding: 0\r\n}\r\n\r\n.catalogue h2 {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 60px;\r\n\tline-height: 24px;\r\n\tfont-size: 22px\r\n}\r\n\r\n.catalogue .floor {\r\n\tposition: absolute;\r\n\ttop: -8px;\r\n\tleft: 0\r\n}\r\n\r\n.catalogue .floor .b {\r\n\ttop: 0;\r\n\tleft: 0;\r\n\twidth: 26px;\r\n\theight: 34px;\r\n\toverflow: hidden\r\n}\r\n\r\n.catalogue .floor .b1 {\r\n\tz-index: 1;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.catalogue .floor .b2 {\r\n\tz-index: 2;\r\n\theight: 0;\r\n\tbackground-position: -40px 0\r\n}\r\n\r\n.catalogue .floor .b3 {\r\n\tz-index: 3;\r\n\ttext-align: center;\r\n\tline-height: 30px;\r\n\tfont-size: 18px;\r\n\tcolor: #FFF\r\n}\r\n\r\n.catalogue .floor .b4 {\r\n\ttop: 30px;\r\n\tleft: 4px;\r\n\twidth: 18px;\r\n\theight: 7px;\r\n\toverflow: hidden;\r\n\tbackground-position: -80px 0\r\n}\r\n\r\n.catalogue .mc {\r\n\tposition: relative;\r\n\theight: 361px;\r\n\tborder-left: 0;\r\n\tborder-bottom: 1px solid #DDD\r\n}\r\n\r\n.catalogue span {\r\n\tposition: absolute;\r\n\tz-index: 1;\r\n\tline-height: 0;\r\n\tfont-size: 0\r\n}\r\n\r\n.catalogue ul {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tz-index: 2;\r\n\tpadding: 5px\r\n}\r\n\r\n.catalogue li {\r\n\theight: 25px;\r\n\tline-height: 25px;\r\n\toverflow: hidden;\r\n\tvertical-align: bottom\r\n}\r\n\r\n.catalogue .style1 span {\r\n\tbottom: 0;\r\n\tleft: 0\r\n}\r\n\r\n.catalogue .style1 ul {\r\n\twidth: 198px\r\n}\r\n\r\n.catalogue .style1 li {\r\n\twidth: 99px\r\n}\r\n\r\n.catalogue .style2 span {\r\n\ttop: 0;\r\n\tright: 0\r\n}\r\n\r\n.catalogue .style2 ul {\r\n\twidth: 72px\r\n}\r\n\r\n.plist {\r\n\tposition: relative;\r\n\tfloat: left;\r\n\twidth: 780px;\r\n\tpadding-top: 32px;\r\n\tmargin-bottom: 0\r\n}\r\n\r\n.plist .slide {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 157px;\r\n\twidth: 467px;\r\n\theight: 180px;\r\n\toverflow: hidden\r\n}\r\n\r\n.plist .slide-itemswrap,.plist .slide-items div {\r\n\twidth: 473px;\r\n\theight: 180px;\r\n\toverflow: hidden\r\n}\r\n\r\n.plist .slide-items {\r\n\theight: 180px\r\n}\r\n\r\n.plist .slide-items div {\r\n\tfloat: left\r\n}\r\n\r\n.plist .slide-controls {\r\n\tposition: absolute;\r\n\tbottom: 0;\r\n\tleft: 0;\r\n\tz-index: 3;\r\n\twidth: 473px;\r\n\theight: 16px;\r\n\toverflow: hidden;\r\n\ttext-align: center;\r\n\tfont-size: 0\r\n}\r\n\r\n.plist .slide-controls span {\r\n\twidth: 36px;\r\n\tpadding: 5px 0;\r\n\tbackground: 0;\r\n\tborder-radius: 0;\r\n\t-moz-border-radius: 0;\r\n\t-webkit-border-radius: 0\r\n}\r\n\r\n.plist .slide-controls span b {\r\n\tdisplay: block;\r\n\theight: 5px;\r\n\tbackground: #999;\r\n\toverflow: hidden\r\n}\r\n\r\n.plist .slide-controls .curr b {\r\n\tbackground: #7ABD54\r\n}\r\n\r\n.root61 .plist .slide {\r\n\twidth: 473px\r\n}\r\n\r\n.plist .sm {\r\n\tmargin-bottom: 0\r\n}\r\n\r\n.plist .smt {\r\n\twidth: 156px\r\n}\r\n\r\n.plist .fore1 .smt {\r\n\tleft: 0\r\n}\r\n\r\n.plist .fore2 .smt {\r\n\tleft: 156px\r\n}\r\n\r\n.plist .fore3 .smt {\r\n\tleft: 312px\r\n}\r\n\r\n.plist .fore4 .smt {\r\n\tleft: 468px\r\n}\r\n\r\n.plist .fore5 .smt {\r\n\tleft: 624px\r\n}\r\n\r\n.plist .smc {\r\n\tposition: relative;\r\n\theight: 361px;\r\n\tborder-bottom: 1px solid #DDD\r\n}\r\n\r\n.plist .smc ul.lh {\r\n\twidth: 781px\r\n}\r\n\r\n.plist .smc li {\r\n\tpadding: 5px 10px 0;\r\n\tborder-left: 1px solid #F1F1F1;\r\n\tborder-top: 1px solid #F1F1F1;\r\n\toverflow: hidden\r\n}\r\n\r\n.plist .p-name {\r\n\theight: 3em;\r\n\tmargin-bottom: 2px\r\n}\r\n\r\n.plist .p-img {\r\n\ttext-align: center\r\n}\r\n\r\n.plist .p-price {\r\n\tfont-size: 15px;\r\n\tfont-family: Verdana;\r\n\tcolor: #E4393C\r\n}\r\n\r\n.plist .p-price span {\r\n\tfont-size: 12px\r\n}\r\n\r\n.plist .style1 li {\r\n\twidth: 135px;\r\n\theight: 175px\r\n}\r\n\r\n.plist .style1 .fore1 {\r\n\tborder-right: 1px solid #F1F1F1;\r\n\tmargin-right: 467px\r\n}\r\n\r\n.plist .style1 .fore1,.plist .style1 .fore2 {\r\n\tborder-top: 0\r\n}\r\n\r\n.plist .style1 .fore1,.plist .style1 .fore3 {\r\n\tborder-left: 0;\r\n\twidth: 136px\r\n}\r\n\r\n.plist .style1 .fore3,.plist .style1 .fore4,.plist .style1 .fore5,.plist .style1 .fore6,.plist .style1 .fore7\r\n\t{\r\n\tborder-bottom: 0\r\n}\r\n\r\n.plist .style2 .fore1 {\r\n\twidth: 136px;\r\n\tborder-right: 1px solid #F1F1F1;\r\n\tmargin-right: 467px\r\n}\r\n\r\n.plist .style2 .fore2 {\r\n\twidth: 135px\r\n}\r\n\r\n.plist .style2 .fore1,.plist .style2 .fore2 {\r\n\theight: 175px;\r\n\tborder-top: 0\r\n}\r\n\r\n.plist .style2 .fore1,.plist .style2 .fore3 {\r\n\tborder-left: 0\r\n}\r\n\r\n.plist .style2 .fore3,.plist .style2 .fore4,.plist .style2 .fore5 {\r\n\theight: 110px;\r\n\tpadding-top: 0;\r\n\tborder-bottom: 0\r\n}\r\n\r\n.plist .style2 .fore3 {\r\n\twidth: 240px\r\n}\r\n\r\n.plist .style2 .fore4,.plist .style2 .fore5 {\r\n\twidth: 239px\r\n}\r\n\r\n.plist .style2 .fore3 .p-img,.plist .style2 .fore4 .p-img,.plist .style2 .fore5 .p-img\r\n\t{\r\n\tfloat: left;\r\n\tmargin-right: 5px\r\n}\r\n\r\n.plist .style2 .fore3 .p-name,.plist .style2 .fore4 .p-name,.plist .style2 .fore5 .p-name\r\n\t{\r\n\theight: auto;\r\n\tmargin: 20px 0 2px\r\n}\r\n\r\n.plist .style3 li {\r\n\twidth: 135px;\r\n\theight: 175px\r\n}\r\n\r\n.plist .style3 .fore1,.plist .style3 .fore6 {\r\n\twidth: 136px;\r\n\tborder-left: 0\r\n}\r\n\r\n.plist .style3 .fore1,.plist .style3 .fore2,.plist .style3 .fore3,.plist .style3 .fore4,.plist .style3 .fore5\r\n\t{\r\n\tborder-top: 0\r\n}\r\n\r\n.plist .style4 li {\r\n\twidth: 135px;\r\n\theight: 175px\r\n}\r\n\r\n.plist .style4 .fore1 {\r\n\twidth: 136px\r\n}\r\n\r\n.plist .style4 .fore1,.plist .style4 .fore6 {\r\n\tborder-left: 0\r\n}\r\n\r\n.plist .style4 .fore1,.plist .style4 .fore2,.plist .style4 .fore3,.plist .style4 .fore4,.plist .style4 .fore5\r\n\t{\r\n\tborder-top: 0\r\n}\r\n\r\n.plist .style4 .fore6,.plist .style4 .fore7,.plist .style4 .fore8 {\r\n\theight: 110px;\r\n\tpadding-top: 0;\r\n\tborder-bottom: 0\r\n}\r\n\r\n.plist .style4 .fore6 {\r\n\twidth: 240px\r\n}\r\n\r\n.plist .style4 .fore7,.plist .style4 .fore8 {\r\n\twidth: 239px\r\n}\r\n\r\n.plist .style4 .fore6 .p-img,.plist .style4 .fore7 .p-img,.plist .style4 .fore8 .p-img\r\n\t{\r\n\tfloat: left;\r\n\tmargin-right: 5px\r\n}\r\n\r\n.plist .style4 .fore6 .p-name,.plist .style4 .fore7 .p-name,.plist .style4 .fore8 .p-name\r\n\t{\r\n\tmargin: 20px 0 2px\r\n}\r\n\r\n.plist .style6 .p-name,.plist .style6 .p-price {\r\n\tdisplay: none\r\n}\r\n\r\n.plist .style6 li {\r\n\tborder: 0;\r\n\twidth: 158px;\r\n\theight: 361px;\r\n\tposition: relative\r\n}\r\n\r\n.plist .smc ul.style6 {\r\n\twidth: 791px\r\n}\r\n\r\n.plist .smc .style6 li {\r\n\tpadding: 0;\r\n\tposition: absolute;\r\n\tleft: -2000px\r\n}\r\n\r\n.plist .smc .style6 .fore1 {\r\n\tleft: 0;\r\n\ttop: 0;\r\n\theight: 181px\r\n}\r\n\r\n.plist .smc .style6 .fore2 {\r\n\tleft: 0;\r\n\ttop: 181px;\r\n\theight: 181px\r\n}\r\n\r\n.plist .smc .style6 .fore3 {\r\n\tleft: 158px;\r\n\ttop: 0\r\n}\r\n\r\n.plist .smc .style6 .fore4 {\r\n\tleft: 316px;\r\n\ttop: 0\r\n}\r\n\r\n.plist .smc .style6 .fore5 {\r\n\tleft: 474px;\r\n\ttop: 0\r\n}\r\n\r\n.plist .smc .style6 .fore6 {\r\n\tleft: 632px;\r\n\ttop: 0\r\n}\r\n\r\n.plist .smc .style6 .p-info {\r\n\tposition: absolute;\r\n\tbottom: 10px;\r\n\tleft: 10px;\r\n\ttext-align: center;\r\n\tfont-family: microsoft yahei;\r\n\twidth: 140px;\r\n\tfont-size: 13px\r\n}\r\n\r\n.plist .smc .style6 .p-info strong {\r\n\tdisplay: block;\r\n\tfont-weight: 400;\r\n\theight: 20px;\r\n\toverflow: hidden;\r\n\tcolor: #FFF\r\n}\r\n\r\n.plist .smc .style6 .p-info em {\r\n\tdisplay: block;\r\n\tline-height: 20px;\r\n\theight: 20px;\r\n\toverflow: hidden;\r\n\tcolor: #FFF\r\n}\r\n\r\n.plist .smc .style6 .p-info span {\r\n\tdisplay: none;\r\n\tcolor: #e4393c\r\n}\r\n\r\n.plist .smc .style6 .fore1 .p-info,.plist .smc .style6 .fore2 .p-info {\r\n\tbottom: auto;\r\n\ttop: 20px;\r\n\tleft: 10px;\r\n\ttext-align: left\r\n}\r\n\r\n.plist .smc .style6 .fore1 .p-info strong,.plist .smc .style6 .fore2 .p-info strong\r\n\t{\r\n\tfont-weight: 700;\r\n\tcolor: #333\r\n}\r\n\r\n.plist .smc .style6 .fore1 .p-info em,.plist .smc .style6 .fore2 .p-info em\r\n\t{\r\n\tcolor: #666\r\n}\r\n\r\n.plist .smc .style6 li .p-img {\r\n\tpadding: 0\r\n}\r\n\r\n.plist .smc .style6 .fore1 img,.plist .smc .style6 .fore2 img {\r\n\twidth: 158px;\r\n\theight: 181px\r\n}\r\n\r\n.plist .smc .style6 .fore3 img,.plist .smc .style6 .fore4 img,.plist .smc .style6 .fore5 img,.plist .smc .style6 .fore6 img\r\n\t{\r\n\twidth: 158px;\r\n\theight: 361px\r\n}\r\n\r\n.plist .style7 li {\r\n\tborder: 0;\r\n\twidth: 158px;\r\n\theight: 361px;\r\n\tposition: relative\r\n}\r\n\r\n.plist .smc ul.style7 {\r\n\twidth: 791px\r\n}\r\n\r\n.plist .smc .style7 li {\r\n\tpadding: 0;\r\n\tposition: absolute;\r\n\tleft: -2000px\r\n}\r\n\r\n.plist .smc .style7 .fore1 {\r\n\tleft: 0;\r\n\ttop: 0;\r\n\theight: 181px\r\n}\r\n\r\n.plist .smc .style7 .fore2 {\r\n\tleft: 0;\r\n\ttop: 181px;\r\n\theight: 181px\r\n}\r\n\r\n.plist .smc .style7 .fore3 {\r\n\tleft: 158px;\r\n\ttop: 0\r\n}\r\n\r\n.plist .smc .style7 .fore4 {\r\n\tleft: 316px;\r\n\ttop: 0\r\n}\r\n\r\n.plist .smc .style7 .fore5 {\r\n\tleft: 474px;\r\n\ttop: 0\r\n}\r\n\r\n.plist .smc .style7 .fore6 {\r\n\tleft: 632px;\r\n\ttop: 0;\r\n\theight: 181px\r\n}\r\n\r\n.plist .smc .style7 .fore7 {\r\n\tleft: 632px;\r\n\ttop: 181px;\r\n\theight: 181px\r\n}\r\n\r\n.plist .smc .style7 .p-info {\r\n\tposition: absolute;\r\n\tbottom: 10px;\r\n\tleft: 10px;\r\n\ttext-align: center;\r\n\tfont-family: microsoft yahei;\r\n\twidth: 140px;\r\n\tfont-size: 13px\r\n}\r\n\r\n.plist .smc .style7 .p-info strong {\r\n\tdisplay: block;\r\n\tfont-weight: 400;\r\n\theight: 20px;\r\n\toverflow: hidden;\r\n\tcolor: #FFF\r\n}\r\n\r\n.plist .smc .style7 .p-info em {\r\n\tdisplay: block;\r\n\tline-height: 20px;\r\n\theight: 20px;\r\n\toverflow: hidden;\r\n\tcolor: #FFF\r\n}\r\n\r\n.plist .smc .style7 .p-info span {\r\n\tdisplay: none;\r\n\tcolor: #e4393c\r\n}\r\n\r\n.plist .smc .style7 .fore1 .p-info,.plist .smc .style7 .fore2 .p-info {\r\n\tbottom: auto;\r\n\ttop: 20px;\r\n\tleft: 10px;\r\n\ttext-align: left\r\n}\r\n\r\n.plist .smc .style7 .fore1 .p-info strong,.plist .smc .style7 .fore2 .p-info strong\r\n\t{\r\n\tfont-weight: 700;\r\n\tcolor: #333\r\n}\r\n\r\n.plist .smc .style7 .fore1 .p-info em,.plist .smc .style7 .fore2 .p-info em\r\n\t{\r\n\tcolor: #666\r\n}\r\n\r\n.plist .smc .style7 li .p-img {\r\n\tpadding: 0\r\n}\r\n\r\n.plist .smc .style7 .fore1 img,.plist .smc .style7 .fore2 img,.plist .smc .style7 .fore6 img,.plist .smc .style7 .fore7 img\r\n\t{\r\n\twidth: 158px;\r\n\theight: 181px\r\n}\r\n\r\n.plist .smc .style7 .fore3 img,.plist .smc .style7 .fore4 img,.plist .smc .style7 .fore5 img\r\n\t{\r\n\twidth: 158px;\r\n\theight: 361px\r\n}\r\n\r\n.plist .style8 li {\r\n\tborder: 0;\r\n\twidth: 158px;\r\n\theight: 181px;\r\n\tposition: relative\r\n}\r\n\r\n.plist .smc ul.style8 {\r\n\tpadding-left: 158px;\r\n\twidth: 633px\r\n}\r\n\r\n.plist .smc .style8 li {\r\n\tpadding: 0;\r\n\tposition: absolute;\r\n\tleft: -2000px\r\n}\r\n\r\n.plist .smc .style8 .fore1 {\r\n\tleft: 0;\r\n\ttop: 0\r\n}\r\n\r\n.plist .smc .style8 .fore2 {\r\n\tleft: 0;\r\n\ttop: 181px\r\n}\r\n\r\n.plist .smc .style8 .fore3 {\r\n\tleft: 158px;\r\n\ttop: 0;\r\n\twidth: 474px\r\n}\r\n\r\n.plist .smc .style8 .fore4 {\r\n\tleft: 632px;\r\n\ttop: 0\r\n}\r\n\r\n.plist .smc .style8 .fore5 {\r\n\tleft: 158px;\r\n\ttop: 181px\r\n}\r\n\r\n.plist .smc .style8 .fore6 {\r\n\tleft: 316px;\r\n\ttop: 181px\r\n}\r\n\r\n.plist .smc .style8 .fore7 {\r\n\tleft: 474px;\r\n\ttop: 181px\r\n}\r\n\r\n.plist .smc .style8 .fore8 {\r\n\tleft: 632px;\r\n\ttop: 181px\r\n}\r\n\r\n.plist .smc .style8 .p-info {\r\n\tposition: absolute;\r\n\tbottom: 10px;\r\n\tleft: 10px;\r\n\ttext-align: center;\r\n\tfont-family: microsoft yahei;\r\n\twidth: 140px;\r\n\tfont-size: 13px\r\n}\r\n\r\n.plist .smc .style8 .p-info strong {\r\n\tdisplay: block;\r\n\tfont-weight: 400;\r\n\theight: 20px;\r\n\toverflow: hidden;\r\n\tcolor: #FFF\r\n}\r\n\r\n.plist .smc .style8 .p-info em {\r\n\tdisplay: block;\r\n\tline-height: 20px;\r\n\theight: 20px;\r\n\toverflow: hidden;\r\n\tcolor: #FFF\r\n}\r\n\r\n.plist .smc .style8 .p-info span {\r\n\tdisplay: none;\r\n\tcolor: #e4393c\r\n}\r\n\r\n.plist .smc .style8 .fore1 .p-info,.plist .smc .style8 .fore2 .p-info {\r\n\tbottom: auto;\r\n\ttop: 20px;\r\n\tleft: 10px;\r\n\ttext-align: left\r\n}\r\n\r\n.plist .smc .style8 .fore1 .p-info strong,.plist .smc .style8 .fore2 .p-info strong\r\n\t{\r\n\tfont-weight: 700;\r\n\tcolor: #333\r\n}\r\n\r\n.plist .smc .style8 .fore1 .p-info em,.plist .smc .style8 .fore2 .p-info em\r\n\t{\r\n\tcolor: #666\r\n}\r\n\r\n.plist .smc .style8 .fore3 .p-info {\r\n\tbottom: auto;\r\n\ttop: 20px;\r\n\tleft: 40px;\r\n\ttext-align: left;\r\n\twidth: 200px\r\n}\r\n\r\n.plist .smc .style8 .fore3 .p-info strong {\r\n\tfont-weight: 700;\r\n\tcolor: #FFF;\r\n\tfont-size: 20px;\r\n\tline-height: 26px;\r\n\theight: 26px\r\n}\r\n\r\n.plist .smc .style8 .fore3 .p-info em {\r\n\tcolor: #FFF\r\n}\r\n\r\n.plist .smc .style8 li .p-img {\r\n\tpadding: 0\r\n}\r\n\r\n.plist .smc .style8 .fore1 img,.plist .smc .style8 .fore2 img,.plist .smc .style8 .fore4 img,.plist .smc .style8 .fore5 img,.plist .smc .style8 .fore6 img,.plist .smc .style8 .fore7 img,.plist .smc .style8 .fore8 img\r\n\t{\r\n\twidth: 158px;\r\n\theight: 181px\r\n}\r\n\r\n.plist .smc .style8 .fore3 img {\r\n\twidth: 474px;\r\n\theight: 181px\r\n}\r\n\r\n.plist .loading-style1 {\r\n\tmargin-top: 150px\r\n}\r\n\r\n.root61 .plist {\r\n\twidth: 790px\r\n}\r\n\r\n.root61 .plist .slide {\r\n\tleft: 159px;\r\n\twidth: 473px\r\n}\r\n\r\n.root61 .plist .smt {\r\n\twidth: 158px\r\n}\r\n\r\n.root61 .plist .fore2 .smt {\r\n\tleft: 158px\r\n}\r\n\r\n.root61 .plist .fore3 .smt {\r\n\tleft: 316px\r\n}\r\n\r\n.root61 .plist .fore4 .smt {\r\n\tleft: 474px\r\n}\r\n\r\n.root61 .plist .fore5 .smt {\r\n\tleft: 632px\r\n}\r\n\r\n.root61 .plist .smc {\r\n\t\r\n}\r\n\r\n.root61 .plist .smc ul.lh {\r\n\twidth: 791px\r\n}\r\n\r\n.root61 .plist .style1 li {\r\n\twidth: 137px\r\n}\r\n\r\n.root61 .plist .style1 .fore1 {\r\n\tmargin-right: 473px\r\n}\r\n\r\n.root61 .plist .style1 .fore1,.root61 .plist .style1 .fore3 {\r\n\twidth: 138px\r\n}\r\n\r\n.root61 .plist .style2 .fore1 {\r\n\twidth: 138px;\r\n\tmargin-right: 473px\r\n}\r\n\r\n.root61 .plist .style2 .fore2 {\r\n\twidth: 137px\r\n}\r\n\r\n.root61 .plist .style2 .fore3 {\r\n\twidth: 244px\r\n}\r\n\r\n.root61 .plist .style2 .fore4,.root61 .plist .style2 .fore5 {\r\n\twidth: 242px\r\n}\r\n\r\n.root61 .plist .style3 li {\r\n\twidth: 137px\r\n}\r\n\r\n.root61 .plist .style3 .fore1,.root61 .plist .style3 .fore6 {\r\n\twidth: 138px\r\n}\r\n\r\n.root61 .plist .style4 li {\r\n\twidth: 137px\r\n}\r\n\r\n.root61 .plist .style4 .fore1 {\r\n\twidth: 138px\r\n}\r\n\r\n.root61 .plist .style4 .fore6 {\r\n\twidth: 244px\r\n}\r\n\r\n.root61 .plist .style4 .fore7,.root61 .plist .style4 .fore8 {\r\n\twidth: 242px\r\n}\r\n\r\n.root61 .plist .smc ul.style8 {\r\n\tpadding-left: 158px;\r\n\twidth: 633px\r\n}\r\n\r\n.plist .tab-arrow {\r\n\twidth: 156px\r\n}\r\n\r\n.root61 .plist .tab-arrow {\r\n\twidth: 158px\r\n}\r\n\r\n.brands .smt .extra b {\r\n\tbackground-image:\r\n\t\turl(../images/20130330B_1.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n.brands {\r\n\tfloat: right;\r\n\twidth: 990px;\r\n\tmargin-bottom: 0\r\n}\r\n\r\n.brands .smt {\r\n\tdisplay: none\r\n}\r\n\r\n.brands .smt h3 {\r\n\tdisplay: none\r\n}\r\n\r\n.brands .smt .extra {\r\n\tfloat: right\r\n}\r\n\r\n.brands .smt .extra-ico {\r\n\tfloat: right\r\n}\r\n\r\n.brands .smt .extra a {\r\n\tposition: relative;\r\n\tfloat: right;\r\n\tpadding-right: 12px;\r\n\tline-height: 18px;\r\n\tmargin-left: 18px\r\n}\r\n\r\n.brands .smt .extra b {\r\n\tposition: absolute;\r\n\tright: 0;\r\n\ttop: 2px;\r\n\twidth: 8px;\r\n\theight: 13px;\r\n\tbackground-position: -130px -50px\r\n}\r\n\r\n.brands .smc {\r\n\twidth: 990px;\r\n\theight: 35px;\r\n\tborder-left-width: 0\r\n}\r\n\r\n.brands .smc ul {\r\n\twidth: 990px\r\n}\r\n\r\n.brands .smc li {\r\n\twidth: 99px;\r\n\theight: 35px;\r\n\toverflow: hidden\r\n}\r\n\r\n#clothing .brands .smt {\r\n\tdisplay: none\r\n}\r\n\r\n#clothing .brands .smt .extra-ico a {\r\n\tdisplay: none;\r\n\tposition: relative;\r\n\ttop: -5px;\r\n\twidth: 115px;\r\n\theight: 22px;\r\n\tbackground: url(../images/18.png) 0\r\n\t\t0 no-repeat;\r\n\tline-height: 1000px;\r\n\toverflow: hidden\r\n}\r\n\r\n.root61 .brands {\r\n\twidth: 210px\r\n}\r\n\r\n.root61 .brands .smt {\r\n\tdisplay: block\r\n}\r\n\r\n.root61 .brands .smc {\r\n\twidth: 209px;\r\n\theight: 180px;\r\n\tpadding: 0;\r\n\tborder-left-width: 1px;\r\n\tborder-right: 0\r\n}\r\n\r\n.root61 .brands .smc ul {\r\n\twidth: 210px\r\n}\r\n\r\n.root61 .brands .smc li {\r\n\twidth: 105px;\r\n\tborder-top: 1px dotted #F1F1F1;\r\n\ttext-align: center\r\n}\r\n\r\n.root61 .brands .smc .fore1,.root61 .brands .smc .fore2 {\r\n\tborder-top: 0\r\n}\r\n\r\n.root61 #clothing .brands .smt {\r\n\tdisplay: block\r\n}\r\n\r\n.root61 #clothing .brands .smt .extra-ico a {\r\n\tdisplay: block\r\n}\r\n\r\n.infomation {\r\n\tdisplay: none;\r\n\tfloat: right;\r\n\twidth: 210px;\r\n\tmargin-bottom: 0\r\n}\r\n\r\n.infomation .smc {\r\n\twidth: 193px;\r\n\theight: 92px;\r\n\tpadding: 9px 8px;\r\n\tborder-right: 0;\r\n\tborder-bottom: 1px solid #DDD\r\n}\r\n\r\n.infomation li {\r\n\theight: 23px;\r\n\tline-height: 23px;\r\n\toverflow: hidden\r\n}\r\n\r\n.root61 .infomation {\r\n\tdisplay: block\r\n}\r\n\r\n.ranking .smc span {\r\n\tbackground-image:\r\n\t\turl(../images/20130330B_1.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n.ranking {\r\n\tdisplay: none;\r\n\tposition: relative;\r\n\tfloat: right;\r\n\twidth: 210px;\r\n\tpadding-top: 32px\r\n}\r\n\r\n.ranking .sm {\r\n\tmargin-bottom: 0\r\n}\r\n\r\n.ranking .smt {\r\n\twidth: 40px\r\n}\r\n\r\n.ranking .smt h3 {\r\n\tfont-weight: 400;\r\n\tfont-size: 12px\r\n}\r\n\r\n.ranking .fore1 .smt {\r\n\tleft: 0\r\n}\r\n\r\n.ranking .fore2 .smt {\r\n\tleft: 40px\r\n}\r\n\r\n.ranking .fore3 .smt {\r\n\tleft: 80px\r\n}\r\n\r\n.ranking .fore4 .smt {\r\n\tleft: 120px\r\n}\r\n\r\n.ranking .fore5 .smt {\r\n\twidth: 50px;\r\n\tleft: 160px\r\n}\r\n\r\n.ranking .smc {\r\n\tdisplay: none;\r\n\theight: 311px;\r\n\tpadding-top: 10px;\r\n\tborder-left: 1px solid #F1F1F1;\r\n\tborder-bottom: 1px solid #DDD\r\n}\r\n\r\n.ranking .smc li {\r\n\tfloat: left;\r\n\twidth: 200px;\r\n\tpadding: 4px 0 4px 5px;\r\n\toverflow: hidden\r\n}\r\n\r\n.ranking .smc span {\r\n\tfloat: left;\r\n\twidth: 18px;\r\n\theight: 18px;\r\n\tmargin: 2px 5px 0 0;\r\n\tbackground-position: -25px -50px;\r\n\ttext-align: center;\r\n\tline-height: 19px;\r\n\tcolor: #CCC;\r\n\toverflow: hidden\r\n}\r\n\r\n.ranking .p-name,.ranking .p-price {\r\n\tfloat: left;\r\n\theight: 22px;\r\n\tline-height: 22px;\r\n\toverflow: hidden\r\n}\r\n\r\n.ranking .p-name {\r\n\twidth: 120px\r\n}\r\n\r\n.ranking .p-price {\r\n\tfloat: right;\r\n\twidth: 50px;\r\n\ttext-align: right;\r\n\tcolor: #E4393C\r\n}\r\n\r\n.ranking .p-price strong {\r\n\tfont-weight: 400\r\n}\r\n\r\n.ranking li.fore1 span,.ranking li.fore2 span,.ranking li.fore3 span {\r\n\tbackground-position: 0 -50px;\r\n\tcolor: #E4393C\r\n}\r\n\r\n.ranking .curr .smc {\r\n\tdisplay: block\r\n}\r\n\r\n.ranking .tab-arrow {\r\n\twidth: 40px\r\n}\r\n\r\n.root61 .ranking {\r\n\tdisplay: block\r\n}\r\n\r\n#sport .catalogue .mc,#baby .catalogue .mc,#food .catalogue .mc,#sport .plist .smc,#baby .plist .smc,#food .plist .smc\r\n\t{\r\n\theight: 291px\r\n}\r\n\r\n#sport .loading-style1,#baby .loading-style1,#food .loading-style1 {\r\n\tmargin-top: 120px\r\n}\r\n\r\n#clothing .accordion {\r\n\twidth: 900px\r\n}\r\n\r\n#clothing .accordion .item {\r\n\twidth: 148px;\r\n\theight: 361px;\r\n\toverflow: hidden\r\n}\r\n\r\n#clothing .accordion .curr {\r\n\twidth: 188px\r\n}\r\n\r\n#clothing.clothing-new .accordion {\r\n\tbackground: #fff;\r\n\twidth: 790px;\r\n\theight: 361px\r\n}\r\n\r\n#clothing.clothing-new .accordion .item {\r\n\tfloat: left;\r\n\twidth: 158px;\r\n\theight: 361px;\r\n\toverflow: hidden;\r\n\tbackground: #000\r\n}\r\n\r\n#clothing.clothing-new .accordion .item .fore2 {\r\n\theight: 181px\r\n}\r\n\r\n#clothing.clothing-new .accordion .item .fore1 {\r\n\theight: 361px\r\n}\r\n\r\n#clothing.clothing-new .accordion .item a {\r\n\tbackground: #fff;\r\n\toverflow: hidden;\r\n\twidth: 158px;\r\n\tbackground: #fff;\r\n\tposition: relative;\r\n\tdisplay: block;\r\n\toverflow: hidden;\r\n\ttext-decoration: none;\r\n\t-webkit-transition: opacity .8s ease-out;\r\n\t-moz-transition: opacity .8s ease-out;\r\n\t-ms-transition: opacity .8s ease-out;\r\n\t-o-transition: opacity .8s ease-out;\r\n\ttransition: opacity .8s ease-out\r\n}\r\n\r\n#clothing.clothing-new .accordion .item a strong,#clothing.clothing-new .accordion .item a em\r\n\t{\r\n\tdisplay: block;\r\n\twidth: 6em;\r\n\theight: 20px;\r\n\tline-height: 20px;\r\n\toverflow: hidden;\r\n\tposition: absolute;\r\n\tfont-family: \"\\5FAE\\8F6F\\96C5\\9ED1\";\r\n\ttext-decoration: none;\r\n\tz-index: 5;\r\n\tfont-size: 13px;\r\n\tcolor: #555\r\n}\r\n\r\n#clothing.clothing-new .accordion .item a strong {\r\n\ttop: 20px;\r\n\tleft: 10px\r\n}\r\n\r\n#clothing.clothing-new .accordion .item a em {\r\n\tfont-size: 12px;\r\n\tcolor: #777;\r\n\ttop: 37px;\r\n\tleft: 10px\r\n}\r\n\r\n#clothing.clothing-new .accordion .item a img {\r\n\tposition: relative;\r\n\t-webkit-transition: all .4s ease-out;\r\n\t-moz-transition: all .4s ease-out;\r\n\t-ms-transition: all .4s ease-out;\r\n\t-o-transition: all .4s ease-out;\r\n\ttransition: all .4s ease-out\r\n}\r\n\r\n#clothing.clothing-new .accordion.advanced .item a:hover {\r\n\topacity: 1\r\n}\r\n\r\n#clothing.clothing-new .accordion.advanced .item a:hover img {\r\n\tmargin-left: -15px\r\n}\r\n\r\n#clothing.clothing-new .accordion.advanced:hover a {\r\n\topacity: .8\r\n}\r\n\r\n.root61 #clothing.clothing-new .accordion .item {\r\n\twidth: 158px\r\n}\r\n\r\n.root61 #clothing .accordion .item {\r\n\twidth: 158px\r\n}\r\n\r\n.root61 #clothing .accordion .curr {\r\n\twidth: 190px\r\n}\r\n\r\n#digitals-brands .smc {\r\n\tposition: relative\r\n}\r\n\r\n#digitals-brands .tab {\r\n\tposition: absolute;\r\n\tbottom: 10px;\r\n\tleft: 0;\r\n\twidth: 209px;\r\n\theight: 16px;\r\n\toverflow: hidden;\r\n\ttext-align: center;\r\n\tfont-size: 0\r\n}\r\n\r\n#digitals-brands .tab span {\r\n\tdisplay: inline-block;\r\n\twidth: 36px;\r\n\tpadding: 5px 0;\r\n\tmargin: 0 1px\r\n}\r\n\r\n#digitals-brands .tab span b {\r\n\tdisplay: block;\r\n\theight: 5px;\r\n\tbackground: #999;\r\n\toverflow: hidden\r\n}\r\n\r\n#digitals-brands .tab .curr b {\r\n\tbackground: #7ABD54\r\n}\r\n\r\n#book .catalogue .mc,#book .plist .smc {\r\n\theight: 321px\r\n}\r\n\r\n#book .plist li {\r\n\theight: 155px\r\n}\r\n\r\n#book .plist .p-name {\r\n\theight: 1.5em\r\n}\r\n\r\n#book .plist .slide,#book .plist .slide-itemswrap,#book .plist .slide-items,#book .plist .slide-items div\r\n\t{\r\n\theight: 160px\r\n}\r\n\r\n#life .brands .smt .extra-ico a {\r\n\tdisplay: none;\r\n\tposition: relative;\r\n\ttop: -5px;\r\n\twidth: 115px;\r\n\theight: 22px;\r\n\tbackground: url(../images/18.png) 0\r\n\t\t-27px no-repeat;\r\n\tline-height: 1000px;\r\n\toverflow: hidden\r\n}\r\n\r\n#life .brands .smt {\r\n\tpadding: 5px 0;\r\n\theight: 20px\r\n}\r\n\r\n#life .en360 {\r\n\t\r\n}\r\n\r\n.root61 #life .brands .smt .extra-ico a {\r\n\tdisplay: block\r\n}\r\n\r\n.ci {\r\n\twidth: 20px;\r\n\theight: 20px;\r\n\tbackground-image:\r\n\t\turl(../images/20130330B_1.png);\r\n\tbackground-repeat: no-repeat;\r\n\toverflow: hidden\r\n}\r\n\r\n.cix1 {\r\n\tbackground-position: -198px -50px\r\n}\r\n\r\n.cix2 {\r\n\tbackground-position: -224px -50px\r\n}\r\n\r\n.club .mc {\r\n\theight: 161px;\r\n\tpadding: 0 10px\r\n}\r\n\r\n.club li {\r\n\theight: 60px;\r\n\tpadding: 10px 0 10px 15px;\r\n\tborder-bottom: 1px dotted #ccc;\r\n\toverflow: hidden\r\n}\r\n\r\n.club .p-img {\r\n\tfloat: left;\r\n\tmargin-right: 15px;\r\n\toverflow: visible\r\n}\r\n\r\n.club .p-name {\r\n\theight: 1.5em;\r\n\tpadding: 3px 0\r\n}\r\n\r\n.club .p-name a:link,.club .p-name a:visited {\r\n\tcolor: #005EA7\r\n}\r\n\r\n.club .vi {\r\n\tdisplay: inline-block;\r\n\tposition: relative;\r\n\ttop: 1px;\r\n\tleft: 3px\r\n}\r\n\r\n.club .ci {\r\n\ttop: 0;\r\n\tright: -10px\r\n}\r\n\r\n.club .p-detail {\r\n\twidth: 225px;\r\n\theight: 3em;\r\n\tpadding-right: 50px;\r\n\tbackground:\r\n\t\turl(../images/20130330B_1.png)\r\n\t\tno-repeat 240px -80px;\r\n\tcolor: #999\r\n}\r\n\r\n.club .p-detail a:link,.club .p-detail a:visited {\r\n\tcolor: #999\r\n}\r\n\r\n.club .loading-style1 {\r\n\tmargin-top: 100px\r\n}\r\n\r\n.club .mc {\r\n\t*position: relative\r\n}\r\n\r\n* html .club .vi {\r\n\ttop: -2px\r\n}\r\n\r\n.root61 .club .p-detail {\r\n\twidth: 285px;\r\n\tbackground-position: 300px -80px\r\n}\r\n\r\n#share {\r\n\tfloat: left;\r\n\twidth: 386px\r\n}\r\n\r\n.root61 #share {\r\n\twidth: 446px\r\n}\r\n\r\n#comment {\r\n\tfloat: left;\r\n\twidth: 384px\r\n}\r\n\r\n#comment .mt,#comment .mc {\r\n\tborder-left: 0\r\n}\r\n\r\n.root61 #comment {\r\n\twidth: 444px\r\n}\r\n\r\n#reading {\r\n\tfloat: right;\r\n\twidth: 210px;\r\n\tmargin-bottom: 6px\r\n}\r\n\r\n#reading .mc {\r\n\tpadding: 5px 10px\r\n}\r\n\r\n#reading .p-img {\r\n\tdisplay: none;\r\n\tfloat: left;\r\n\twidth: 100px;\r\n\tpadding: 0\r\n}\r\n\r\n#reading ul {\r\n\twidth: auto\r\n}\r\n\r\n#reading li {\r\n\theight: 25px;\r\n\toverflow: hidden;\r\n\tline-height: 25px\r\n}\r\n\r\n#reading .mc a {\r\n\tcolor: #005EA7\r\n}\r\n\r\n#reading .mc b {\r\n\tmargin-right: 4px\r\n}\r\n\r\n* html #reading .mc b {\r\n\tfont-size: 8px\r\n}\r\n\r\n.root61 #reading {\r\n\twidth: 310px\r\n}\r\n\r\n.root61 #reading .p-img {\r\n\tdisplay: block\r\n}\r\n\r\n.root61 #reading ul {\r\n\tfloat: right;\r\n\twidth: 180px\r\n}\r\n\r\n#subscription {\r\n\tfloat: right;\r\n\twidth: 210px;\r\n\toverflow: visible\r\n}\r\n\r\n#subscription .mt {\r\n\tmargin-bottom: 2px\r\n}\r\n\r\n#subscription .mc {\r\n\toverflow: visible\r\n}\r\n\r\n#subscription .form {\r\n\tposition: relative;\r\n\twidth: 210px\r\n}\r\n\r\n#subscription .text {\r\n\twidth: 115px;\r\n\theight: 21px;\r\n\tpadding: 1px 0 1px 25px;\r\n\tbackground:\r\n\t\turl(../images/20130330B_1.png)\r\n\t\tno-repeat -251px -46px;\r\n\tborder: 1px inset #bbb;\r\n\tline-height: 21px;\r\n\tcolor: #999\r\n}\r\n\r\n#subscription .button {\r\n\tfloat: right;\r\n\twidth: 63px;\r\n\theight: 25px;\r\n\tbackground: #E4393C;\r\n\tcolor: #fff;\r\n\tborder-radius: 3px;\r\n\t-moz-border-radius: 3px;\r\n\t-webkit-border-radius: 3px;\r\n\tline-height: 25px;\r\n\tfont-weight: 700\r\n}\r\n\r\n#subscription .correct {\r\n\tborder: 1px solid #D9D3BB;\r\n\tbackground: #FFFDEE;\r\n\tcolor: #34772A\r\n}\r\n\r\n#subscription .incorrect {\r\n\tborder: 1px solid #C2A4A4;\r\n\tbackground: #FEE9E8;\r\n\tcolor: #A31112\r\n}\r\n\r\n#subscription-prompt {\r\n\tposition: absolute;\r\n\ttop: 26px;\r\n\twidth: 118px;\r\n\tpadding: 2px 0;\r\n\ttext-align: center\r\n}\r\n\r\n.root61 #subscription {\r\n\twidth: 310px\r\n}\r\n\r\n.root61 #subscription .form {\r\n\twidth: 310px\r\n}\r\n\r\n.root61 #subscription .text {\r\n\twidth: 215px\r\n}\r\n\r\n.root61 #subscription-prompt {\r\n\twidth: 240px\r\n}\r\n\r\n#treasure .research b,#guidelayer .close,#guidelayer .corner {\r\n\tbackground-image:\r\n\t\turl(../images/20120209D.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#treasure .guide {\r\n\tfloat: right;\r\n\tpadding: 0 10px;\r\n\tline-height: 40px;\r\n\tcolor: #fff\r\n}\r\n\r\n#treasure .guide span {\r\n\tcolor: #fff;\r\n\ttext-decoration: underline;\r\n\tcursor: pointer\r\n}\r\n\r\n#treasure .research {\r\n\tfloat: right;\r\n\tposition: relative;\r\n\theight: 40px;\r\n\tpadding: 0 10px;\r\n\tline-height: 40px\r\n}\r\n\r\n#treasure .research b {\r\n\tposition: absolute;\r\n\ttop: 10px;\r\n\tleft: 0;\r\n\twidth: 16px;\r\n\theight: 20px;\r\n\tbackground-position: -219px -50px\r\n}\r\n\r\n#treasure .research a {\r\n\tcolor: #fff;\r\n\ttext-decoration: underline\r\n}\r\n\r\n#guidelayer {\r\n\tposition: absolute;\r\n\tz-index: 1000;\r\n\twidth: 300px;\r\n\theight: 130px;\r\n\tborder: 3px solid #F79A00;\r\n\t-moz-box-shadow: 1px 1px 5px #999;\r\n\t-webkit-box-shadow: 1px 1px 5px #999;\r\n\tbox-shadow: 1px 1px 5px #999;\r\n\tbackground: #FFFDEE;\r\n\toverflow: visible;\r\n\tzoom: 1\r\n}\r\n\r\n#guidelayer b,#guidelayer .inner {\r\n\tposition: absolute\r\n}\r\n\r\n#guidelayer .close {\r\n\tz-index: 999;\r\n\ttop: 8px;\r\n\tright: 8px;\r\n\twidth: 11px;\r\n\theight: 11px;\r\n\tbackground-position: -238px -50px;\r\n\tcursor: pointer\r\n}\r\n\r\n#guidelayer .corner {\r\n\tz-index: 997;\r\n\ttop: -12px;\r\n\tleft: 140px;\r\n\twidth: 27px;\r\n\theight: 12px;\r\n\tbackground-position: -521px 0;\r\n\tcolor: #EDD28B\r\n}\r\n\r\n#guidelayer .inner {\r\n\tz-index: 998;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\twidth: 280px;\r\n\theight: 110px;\r\n\tpadding: 10px 10px 0;\r\n\tbackground: #FFFDEE\r\n}\r\n\r\n#guidelayer ul {\r\n\theight: 86px;\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n#guidelayer strong {\r\n\tdisplay: block;\r\n\tmargin-bottom: 10px;\r\n\tfont-size: 18px;\r\n\tfont-family: \"microsoft yahei\";\r\n\tcolor: #F60\r\n}\r\n\r\n#guidelayer a {\r\n\tmargin-left: 10px;\r\n\tfont-weight: 700;\r\n\tcolor: #005EA7\r\n}\r\n\r\n#guidelayer.style1 .corner {\r\n\tleft: 235px\r\n}\r\n\r\n#guidelayer.style2 .corner {\r\n\tleft: 40px;\r\n\ttop: auto;\r\n\tbottom: -12px;\r\n\tbackground-position: -521px -13px\r\n}\r\n\r\n.da0x150 {\r\n\twidth: 210px;\r\n\theight: 150px;\r\n\tbackground: #F8F8F8\r\n}\r\n\r\n.da0x100 {\r\n\twidth: 210px;\r\n\theight: 100px;\r\n\tbackground: #F8F8F8\r\n}\r\n\r\n.da0x90 {\r\n\twidth: 210px;\r\n\theight: 90px;\r\n\tbackground: #F8F8F8\r\n}\r\n\r\n.da0x70 {\r\n\twidth: 210px;\r\n\theight: 70px;\r\n\tbackground: #F8F8F8\r\n}\r\n\r\n.da209x180 {\r\n\tdisplay: none;\r\n\twidth: 209px;\r\n\theight: 180px;\r\n\tbackground: #F8F8F8;\r\n\tborder-left: 1px solid #F1F1F1;\r\n\tborder-bottom: 1px solid #DDD\r\n}\r\n\r\n.root61 .da0x150 {\r\n\twidth: 310px\r\n}\r\n\r\n.root61 .da0x100 {\r\n\twidth: 310px\r\n}\r\n\r\n.root61 .da0x90 {\r\n\twidth: 310px\r\n}\r\n\r\n.root61 .da0x70 {\r\n\twidth: 310px\r\n}\r\n\r\n.root61 .da209x180 {\r\n\tdisplay: block\r\n}\r\n\r\n.da209x180 .slide,.da209x180 .slide-itemswrap,.da209x180 .slide-items div\r\n\t{\r\n\twidth: 209px;\r\n\theight: 180px;\r\n\toverflow: hidden\r\n}\r\n\r\n.da209x180 .slide-items {\r\n\theight: 180px\r\n}\r\n\r\n.da209x180 .slide-items div {\r\n\tfloat: left\r\n}\r\n\r\n.da209x180 .slide-controls {\r\n\tposition: absolute;\r\n\tbottom: 0;\r\n\tleft: 0;\r\n\tz-index: 3;\r\n\twidth: 209px;\r\n\theight: 16px;\r\n\toverflow: hidden;\r\n\ttext-align: center;\r\n\tfont-size: 0\r\n}\r\n\r\n.da209x180 .slide-controls span {\r\n\twidth: 36px;\r\n\tpadding: 5px 0;\r\n\tbackground: 0;\r\n\tborder-radius: 0;\r\n\t-moz-border-radius: 0;\r\n\t-webkit-border-radius: 0\r\n}\r\n\r\n.da209x180 .slide-controls span b {\r\n\tdisplay: block;\r\n\theight: 5px;\r\n\tbackground: #999;\r\n\toverflow: hidden\r\n}\r\n\r\n.da209x180 .slide-controls .curr b {\r\n\tbackground: #7ABD54;\r\n\tborder-bottom: 0\r\n}\r\n\r\n.root61 .plist .slide {\r\n\twidth: 473px\r\n}\r\n\r\n.backpanel {\r\n\tposition: relative;\r\n\tz-index: 1000\r\n}\r\n\r\n.backpanel .backpanel-inner {\r\n\tposition: fixed;\r\n\tz-index: 1001;\r\n\tmargin-left: 457px;\r\n\tleft: 50%;\r\n\tbottom: 0;\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n.backpanel .backpanel-iframe {\r\n\tposition: fixed;\r\n\tz-index: 1000;\r\n\tmargin-left: 457px;\r\n\tleft: 50%;\r\n\tbottom: 0;\r\n\tbackground: #fff;\r\n\tfilter: alpha(opacity = 0);\r\n\topacity: 0\r\n}\r\n\r\n.root61 .backpanel .backpanel-iframe {\r\n\tmargin-left: 605px\r\n}\r\n\r\n.root61 .backpanel .backpanel-inner {\r\n\tmargin-left: 605px\r\n}\r\n\r\n* html .backpanel .backpanel-inner,* html .backpanel .backpanel-iframe {\r\n\tposition: absolute;\r\n\tbottom: auto;\r\n\ttop: expression(eval(document.documentElement.scrollTop +\r\n\t\tdocument.documentElement.clientHeight-this.offsetHeight- ( parseInt(this.currentStyle.marginTop\r\n\t\t, 10)||0)-(parseInt(this.currentStyle.marginBottom, 10)||0)))\r\n}\r\n\r\n.backpanel .bp-item {\r\n\twidth: 38px;\r\n\theight: 38px;\r\n\tbackground: #ccc;\r\n\tmargin-top: 5px\r\n}\r\n\r\n.backpanel .bp-item a {\r\n\tdisplay: block;\r\n\tbackground-image:\r\n\t\turl(../images/backpanel20140708.png);\r\n\tbackground-color: #aaa;\r\n\tbackground-repeat: no-repeat;\r\n\tpadding: 5px 0 0 7px;\r\n\tcolor: #fff;\r\n\theight: 33px;\r\n\tline-height: 1000px;\r\n\toverflow: hidden\r\n}\r\n\r\n.backpanel .bp-item a:hover {\r\n\tline-height: 14px;\r\n\tcolor: #fff;\r\n\tbackground-image: none\r\n}\r\n\r\n.bp-item a:hover,.bp-item a:visited {\r\n\ttext-decoration: none\r\n}\r\n\r\n.bp-item .survey {\r\n\tbackground-position: 0 -497px\r\n}\r\n\r\n.bp-item .backtop {\r\n\tbackground-position: 0 -552px\r\n}\r\n\r\n#backpanel-floor .bp-item .home-setting {\r\n\tbackground-position: 0 -441px\r\n}\r\n\r\n#backpanel-floor .bp-item .floor-links {\r\n\tborder: 1px solid #dedede;\r\n\theight: 31px\r\n}\r\n\r\n#backpanel-floor .floor-links:hover,#backpanel-floor .curr a.floor-links,#backpanel-floor .curr .floor-links:hover\r\n\t{\r\n\tbackground-image: none;\r\n\tbackground-color: #fdeeee;\r\n\tcolor: #ed5759;\r\n\tborder: 1px solid #ed5759;\r\n\tline-height: 13px\r\n}\r\n\r\n#backpanel-floor .floor-fore0 {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#backpanel-floor .floor-fore1 {\r\n\tbackground-position: 0 -55px\r\n}\r\n\r\n#backpanel-floor .floor-fore2 {\r\n\tbackground-position: 0 -110px\r\n}\r\n\r\n#backpanel-floor .floor-fore3 {\r\n\tbackground-position: 0 -165px\r\n}\r\n\r\n#backpanel-floor .floor-fore4 {\r\n\tbackground-position: 0 -220px\r\n}\r\n\r\n#backpanel-floor .floor-fore5 {\r\n\tbackground-position: 0 -275px\r\n}\r\n\r\n#backpanel-floor .floor-fore6 {\r\n\tbackground-position: 0 -330px\r\n}\r\n\r\n#backpanel-floor .floor-fore7 {\r\n\tbackground-position: 0 -385px\r\n}\r\n\r\n#backpanel-floor .backpanel-inner {\r\n\tmargin-bottom: 90px\r\n}\r\n\r\n.root61 #backpanel-floor .backpanel-inner {\r\n\t\r\n}\r\n\r\n#home-setting .fl {\r\n\tfloat: left;\r\n\t*display: inline\r\n}\r\n\r\n#home-setting .fr {\r\n\tfloat: right;\r\n\t*display: inline\r\n}\r\n\r\n.fixed-top {\r\n\tposition: fixed;\r\n\tbottom: auto;\r\n\ttop: 0\r\n}\r\n\r\n* html,* html body {\r\n\tbackground-image: url(about:blank);\r\n\tbackground-attachment: fixed\r\n}\r\n\r\n* html .fixed-top {\r\n\tposition: absolute;\r\n\tbottom: auto;\r\n\ttop: expression(eval(document.documentElement.scrollTop))\r\n}\r\n\r\n.css3-btn-red,.css3-btn-gray {\r\n\tpadding: 0 15px;\r\n\theight: 28px;\r\n\tline-height: 28px;\r\n\tborder-radius: 2px;\r\n\tdisplay: inline-block;\r\n\t*zoom: 1\r\n}\r\n\r\n.css3-btn-red:hover,.css3-btn-gray:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n.css3-btn-red {\r\n\tbackground-color: #E74649;\r\n\tborder: 1px solid #df3033;\r\n\tcolor: #fff;\r\n\tbackground-image: -ms-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: -moz-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: -o-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #E74649),\r\n\t\tcolor-stop(1, #DF3033));\r\n\tbackground-image: -webkit-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: linear-gradient(to bottom, #E74649 0, #DF3033 100%)\r\n}\r\n\r\n.css3-btn-red:hover {\r\n\tcolor: #fff\r\n}\r\n\r\n.css3-btn-gray:hover {\r\n\tcolor: #333\r\n}\r\n\r\n.css3-btn-gray {\r\n\tbackground-color: #F7F7F7;\r\n\tcolor: #333;\r\n\tborder: 1px solid #ddd;\r\n\tbackground-image: -ms-linear-gradient(top, #F7F7F7 0, #F3F2F2 100%);\r\n\tbackground-image: -moz-linear-gradient(top, #F7F7F7 0, #F3F2F2 100%);\r\n\tbackground-image: -o-linear-gradient(top, #F7F7F7 0, #F3F2F2 100%);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #F7F7F7),\r\n\t\tcolor-stop(1, #F3F2F2));\r\n\tbackground-image: -webkit-linear-gradient(top, #F7F7F7 0, #F3F2F2 100%);\r\n\tbackground-image: linear-gradient(to bottom, #F7F7F7 0, #F3F2F2 100%)\r\n}\r\n\r\n#home-setting {\r\n\tright: -310px;\r\n\theight: 4885px;\r\n\twidth: 310px;\r\n\toverflow: hidden;\r\n\tz-index: 1002;\r\n\t-webkit-transition: right .2s ease-in-out;\r\n\t-moz-transition: right .2s ease-in-out;\r\n\t-ms-transition: right .2s ease-in-out;\r\n\t-o-transition: right .2s ease-in-out;\r\n\ttransition: right .2s ease-in-out\r\n}\r\n\r\n#home-setting.animating {\r\n\tright: 0\r\n}\r\n\r\n.setting-frame {\r\n\tposition: absolute;\r\n\tright: 0;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tz-index: 1003;\r\n\tbackground: #fff;\r\n\tborder: 0;\r\n\tfilter: alpha(opacity = 0);\r\n\topacity: 0\r\n}\r\n\r\n.setting-con {\r\n\tposition: relative;\r\n\tz-index: 1004\r\n}\r\n\r\n.setting-con .cascadingLayer {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tz-index: 1005;\r\n\tpadding: 20px 20px 10000px;\r\n\twidth: 268px;\r\n\theight: 100%;\r\n\tbackground-color: #fff;\r\n\tdisplay: none\r\n}\r\n\r\n.setting-title {\r\n\tposition: relative;\r\n\tpadding-bottom: 15px\r\n}\r\n\r\n.setting-title .setting-close {\r\n\tposition: absolute;\r\n\tright: 0;\r\n\ttop: 0;\r\n\tdisplay: inline-block;\r\n\twidth: 26px;\r\n\theight: 26px;\r\n\tline-height: 1000px;\r\n\toverflow: hidden;\r\n\tbackground:\r\n\t\turl(../images/floor-sort20131202.png)\r\n\t\t0 -139px no-repeat;\r\n\tcursor: pointer;\r\n\t_right: 20px;\r\n\t*zoom: 1\r\n}\r\n\r\n.setting-title h4 {\r\n\tfont: 700 16px/16px 'microsoft yahei';\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n.setting-title p {\r\n\tcolor: #999\r\n}\r\n\r\n.floor-item-add {\r\n\t\r\n}\r\n\r\n.floor-item {\r\n\tmargin-top: 5px\r\n}\r\n\r\n.floor-item a,.floor-item-add a {\r\n\tdisplay: inline-block;\r\n\theight: 32px;\r\n\tpadding: 0 10px;\r\n\tline-height: 32px;\r\n\tcolor: #666;\r\n\tbackground: #fff;\r\n\t*zoom: 1\r\n}\r\n\r\n.fl .floor-item a {\r\n\twidth: 32px;\r\n\tpadding: 0;\r\n\ttext-align: center\r\n}\r\n\r\n.floor-item .lh a:hover {\r\n\tbackground: #dfdfdf\r\n}\r\n\r\n.floor-item a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n.setting-con .layer-1 {\r\n\tright: 0;\r\n\tborder-left: 2px solid #9a9a9a\r\n}\r\n\r\n.setting-con .layer-1 .floor-item a {\r\n\tbackground: #f3f3f3\r\n}\r\n\r\n.dragging a strong b {\r\n\t\r\n}\r\n\r\n.setting-con .layer-1 .dragging a {\r\n\tbackground: #e8e8e8;\r\n\tcolor: #666;\r\n\tcursor: move\r\n}\r\n\r\n.setting-con .layer-1 .floor-item a:hover {\r\n\tcursor: move\r\n}\r\n\r\n.layer-1 .floor-list .lh .dragover a {\r\n\tbackground: #ecfae3;\r\n\t-webkit-transition: background .5s ease;\r\n\t-moz-transition: background .5s ease;\r\n\t-ms-transition: background .5s ease;\r\n\t-o-transition: background .5s ease;\r\n\ttransition: background .5s ease\r\n}\r\n\r\n.layer-1 .setting-title p {\r\n\tcolor: #999;\r\n\tline-height: 12px\r\n}\r\n\r\n.layer-1 .floor-list .fl {\r\n\twidth: 32px;\r\n\tmargin-right: 5px\r\n}\r\n\r\n.layer-1 .floor-list .fl a:hover {\r\n\tbackground: #f3f3f3;\r\n\tcursor: default;\r\n\tcolor: #666\r\n}\r\n\r\n.layer-1 .floor-list .lh a {\r\n\twidth: 206px;\r\n\t_width: 200px\r\n}\r\n\r\n.layer-1 .floor-item-add a {\r\n\tbackground: #f3f3f3;\r\n\ttext-align: center;\r\n\twidth: 248px\r\n}\r\n\r\n.layer-1 .floor-item-add a:hover {\r\n\ttext-decoration: none;\r\n\tcolor: #666\r\n}\r\n\r\n.layer-1 .setting-operate {\r\n\tpadding-top: 20px\r\n}\r\n\r\n.setting-btn-save {\r\n\tmargin-right: 8px\r\n}\r\n\r\n.layer-1 .setting-reset {\r\n\theight: 30px;\r\n\tline-height: 30px;\r\n\ttext-align: right\r\n}\r\n\r\n.floor-sort {\r\n\tposition: relative\r\n}\r\n\r\n.floor-sort a {\r\n\tposition: relative\r\n}\r\n\r\n.floor-sort span {\r\n\tposition: absolute;\r\n\tright: 10px;\r\n\ttop: 3px;\r\n\tline-height: 0\r\n}\r\n\r\na.floor-sort:hover strong b {\r\n\tdisplay: inline-block\r\n}\r\n\r\na.floor-sort:hover span {\r\n\tdisplay: inline\r\n}\r\n\r\n.floor-sort strong {\r\n\tfont-weight: 400;\r\n\tpadding-left: 5px\r\n}\r\n\r\n.floor-sort strong b {\r\n\tposition: absolute;\r\n\ttop: 4px;\r\n\tleft: 5px;\r\n\twidth: 5px;\r\n\theight: 23px;\r\n\toverflow: hidden;\r\n\tline-height: 1000px;\r\n\tbackground:\r\n\t\turl(../images/floor-sort20131202.png)\r\n\t\t-5px -84px no-repeat;\r\n\tcursor: move\r\n}\r\n\r\n.setting-con .layer-1 .floor-item a:hover strong b {\r\n\tbackground-position: -46px -84px\r\n}\r\n\r\n.floor-sort span b {\r\n\tdisplay: inline-block;\r\n\twidth: 26px;\r\n\theight: 26px;\r\n\toverflow: hidden;\r\n\tline-height: 1000px;\r\n\tbackground-image:\r\n\t\turl(../images/floor-sort20131202.png);\r\n\tbackground-repeat: no-repeat;\r\n\tvertical-align: top;\r\n\tcursor: pointer;\r\n\t*zoom: 1\r\n}\r\n\r\n.floor-del {\r\n\tbackground-position: 0 -52px\r\n}\r\n\r\n.floor-up {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.floor-down {\r\n\tbackground-position: 0 -26px\r\n}\r\n\r\n.floor-del:hover {\r\n\tbackground-position: -41px -52px\r\n}\r\n\r\n.floor-up:hover {\r\n\tbackground-position: -41px 0\r\n}\r\n\r\n.floor-down:hover {\r\n\tbackground-position: -41px -26px\r\n}\r\n\r\n.setting-con .layer-1 .floor-item a:hover .floor-up {\r\n\tbackground-position: -41px 0\r\n}\r\n\r\n.setting-con .layer-1 .floor-item a:hover .floor-down {\r\n\tbackground-position: -41px -26px\r\n}\r\n\r\n.setting-reset a {\r\n\tcolor: #005eaa\r\n}\r\n\r\n.setting-reset a:hover {\r\n\ttext-decoration: underline\r\n}\r\n\r\n.setting-con .layer-2 {\r\n\tborder-left: 2px solid #9a9a9a;\r\n\tbackground-color: #f3f3f3;\r\n\tright: 308px\r\n}\r\n\r\n.layer-2 .setting-title {\r\n\tpadding-bottom: none\r\n}\r\n\r\n.layer-2 .floor-item .fl a {\r\n\twidth: 180px;\r\n\tmargin-right: 10px;\r\n\t_width: 175px\r\n}\r\n\r\n.layer-2 .floor-item .lh a {\r\n\twidth: 3em\r\n}\r\n\r\n.layer-2 .disabled a,.layer-2 .disabled a:hover {\r\n\tcolor: #d0d0d0\r\n}\r\n\r\n.show-tips .jtip {\r\n\tdisplay: block;\r\n\ttop: 80px;\r\n\tleft: 50px\r\n}\r\n\r\n.show-tips .lh a,.show-tips .lh a:hover {\r\n\tcolor: #d0d0d0;\r\n\tbackground: #fff;\r\n\tcursor: default\r\n}\r\n\r\n.setting-con .layer-3 {\r\n\tz-index: 1006;\r\n\tborder-left: 2px solid #9a9a9a;\r\n\tright: 0\r\n}\r\n\r\n.setting-title h4 s {\r\n\tdisplay: inline-block;\r\n\twidth: 18px;\r\n\theight: 18px;\r\n\toverflow: hidden;\r\n\tline-height: 1000px;\r\n\tposition: relative;\r\n\ttop: 3px;\r\n\tmargin-right: 5px;\r\n\tbackground:\r\n\t\turl(../images/floor-sort20131202.png)\r\n\t\t-5px -118px no-repeat\r\n}\r\n\r\n.setting-con .layer-4 {\r\n\tborder-left: 2px solid #9a9a9a;\r\n\tright: 0;\r\n\tdisplay: none\r\n}\r\n\r\n.setting-con .layer-4 {\r\n\tz-index: 1007;\r\n\tright: 0\r\n}\r\n\r\n.layer-4 .setting-title h4 {\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n.layer-4 .setting-title h4 s {\r\n\tbackground-position: -46px -118px\r\n}\r\n\r\n.layer-4 .setting-btn-cancel {\r\n\tcolor: #005eaa\r\n}\r\n\r\n.layer-4 .setting-btn-cancel:hover {\r\n\ttext-decoration: underline\r\n}\r\n\r\n#jewellery .brands .smt .extra-ico a {\r\n\tdisplay: none;\r\n\tposition: relative;\r\n\ttop: -5px;\r\n\twidth: 115px;\r\n\theight: 22px;\r\n\tbackground: url(../images/18.png) 0\r\n\t\t-54px no-repeat;\r\n\tline-height: 1000px;\r\n\toverflow: hidden\r\n}\r\n\r\n.root61 #jewellery .brands .smt .extra-ico a {\r\n\tdisplay: block\r\n}\r\n\r\n#home-area {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\tz-index: 12;\r\n\twidth: 312px;\r\n\theight: 30px;\r\n\tpadding-top: 2px;\r\n\twidth: 106px\r\n}\r\n\r\n#home-area.hover .blank {\r\n\twidth: 100%;\r\n\tleft: 0\r\n}\r\n\r\n#home-area dt {\r\n\twidth: 106px;\r\n\theight: 26px;\r\n\tline-height: 24px;\r\n\tborder: 1px solid #F7F7F7;\r\n\tposition: relative;\r\n\tz-index: 14\r\n}\r\n\r\n#home-area dt>a,#home-area dt>strong {\r\n\tposition: relative;\r\n\ttop: -2px\r\n}\r\n\r\n#home-area.hover dt {\r\n\tbackground: #fff;\r\n\tborder: 1px solid #DDD;\r\n\tborder-bottom: 0;\r\n\theight: 28px\r\n}\r\n\r\n#home-area dt b {\r\n\tposition: relative;\r\n\ttop: 3px;\r\n\tmargin: 0 4px;\r\n\tbackground: url(../images/17.png)\r\n\t\t-5px -3px no-repeat;\r\n\theight: 18px;\r\n\twidth: 12px;\r\n\tdisplay: inline-block;\r\n\t*zoom: 1\r\n}\r\n\r\n#home-area dd {\r\n\tposition: relative;\r\n\tz-index: 13;\r\n\tpadding-bottom: 5px;\r\n\twidth: 300px\r\n}\r\n\r\n#home-area dd li {\r\n\twidth: 50px;\r\n\tpadding: 0 0 0 17px;\r\n\theight: 24px;\r\n\tpadding-top: 4px\r\n}\r\n\r\n#home-area dd .close {\r\n\tposition: absolute;\r\n\tright: -5px;\r\n\ttop: -5px;\r\n\tbackground: url(../images/17.png)\r\n\t\t-35px 0;\r\n\twidth: 19px;\r\n\theight: 19px;\r\n\toverflow: hidden;\r\n\tline-height: 100px;\r\n\tcursor: pointer\r\n}\r\n\r\n#home-area dd li a {\r\n\tpadding: 1px 3px;\r\n\tfloat: left\r\n}\r\n\r\n#home-area dd li a,#home-area dd li a:hover,#home-area dd li a:visited {\r\n\tcolor: #005ea7;\r\n\theight: 18px;\r\n\tline-height: 18px\r\n}\r\n\r\n#home-area dd li a:hover {\r\n\tbackground: #005ea7;\r\n\tcolor: #fff;\r\n\ttext-decoration: none\r\n}\r\n\r\n#showcase {\r\n\toverflow: hidden\r\n}\r\n\r\n#showcase .mt {\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n#showcase .mt h2 {\r\n\tdisplay: none\r\n}\r\n\r\n#showcase .mc {\r\n\twidth: 1020px\r\n}\r\n\r\n#showcase .sc-list {\r\n\t*margin-bottom: 10px\r\n}\r\n\r\n#showcase .sc-list .item {\r\n\tposition: relative;\r\n\tfloat: left;\r\n\twidth: 240px;\r\n\theight: 190px;\r\n\toverflow: hidden;\r\n\tmargin: 0 10px 10px 0\r\n}\r\n\r\n#showcase .sc-list .item .aside {\r\n\tposition: absolute;\r\n\tz-index: 1;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\twidth: 100px;\r\n\theight: 160px;\r\n\tpadding: 30px 0 0 20px\r\n}\r\n\r\n#showcase .sc-list .item .s-link {\r\n\tposition: absolute;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tbackground: url(../images/blank.gif);\r\n\tz-index: 2\r\n}\r\n\r\n#showcase .sc-list .item h3 {\r\n\tcolor: #333;\r\n\tfont-size: 18px;\r\n\tfont-family: \"microsoft yahei\";\r\n\tline-height: 20px;\r\n\theight: 20px;\r\n\toverflow: hidden;\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n#showcase .sc-list .item .s-name {\r\n\twidth: 84px;\r\n\theight: 20px;\r\n\toverflow: hidden;\r\n\tcolor: #999;\r\n\tfont-size: 13px;\r\n\tfont-family: \"microsoft yahei\";\r\n\tline-height: 20px\r\n}\r\n\r\n#showcase .sc-list .item .s-ext {\r\n\tmargin-top: 2px;\r\n\tline-height: 18px;\r\n\twidth: 90px;\r\n\theight: 18px;\r\n\toverflow: hidden\r\n}\r\n\r\n#showcase .sc-list .item .s-ext b {\r\n\tdisplay: inline-block;\r\n\tpadding: 0 2px;\r\n\tcolor: #fff;\r\n\tfont-size: 12px;\r\n\tfont-weight: 400;\r\n\tbackground: #E4393C\r\n}\r\n\r\n#showcase .sc-list .item .s-hotword {\r\n\tpadding: 20px 0 0\r\n}\r\n\r\n#showcase .sc-list .item .s-hotword li {\r\n\tposition: relative;\r\n\tline-height: 18px;\r\n\tpadding-left: 6px;\r\n\theight: 18px;\r\n\toverflow: hidden;\r\n\tcolor: #888;\r\n\tfont-family: \"microsoft yahei\"\r\n}\r\n\r\n#showcase .sc-list .item .s-hotword li i {\r\n\tposition: absolute;\r\n\tdisplay: block;\r\n\toverflow: hidden;\r\n\tvertical-align: middle;\r\n\tleft: 0;\r\n\ttop: 8px;\r\n\twidth: 2px;\r\n\theight: 2px;\r\n\tbackground: #999\r\n}\r\n\r\n#showcase .sc-list .item .s-img {\r\n\tdisplay: block;\r\n\twidth: 295px;\r\n\theight: 190px\r\n}\r\n\r\n#showcase .sc-list .item .s-img img {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0\r\n}\r\n\r\n#showcase .sc-list .item.w-bg .aside {\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(enabled='true',\r\n\t\tstartColorstr='#BFFFFFFF', endColorstr='#BFFFFFFF');\r\n\tbackground: rgba(255, 255, 255, .75)\r\n}\r\n\r\n#showcase .sc-list .item.w-bg .s-name {\r\n\tcolor: #666\r\n}\r\n\r\n#showcase .sc-list .item.w-bg .s-ext {\r\n\tmargin-top: 0\r\n}\r\n\r\n#showcase .sc-list .item.w-bg .s-ext b {\r\n\tpadding: 0;\r\n\tcolor: #ea6365;\r\n\tfont-family: \"microsoft yahei\";\r\n\tbackground: 0\r\n}\r\n\r\n#showcase .sc-list .item.tuangou .s-ext {\r\n\tdisplay: none\r\n}\r\n\r\n#showcase .sc-list .item.tuangou .s-tuangou {\r\n\twidth: 120px;\r\n\tmargin-top: 28px;\r\n\tdisplay: block;\r\n\theight: 60px;\r\n\tbackground:\r\n\t\turl(../images/index.showcase.tg.png)\r\n\t\tno-repeat 0 28px\r\n}\r\n\r\n#showcase .sc-list .item.tuangou .s-tuangou em {\r\n\tmargin-right: 5px;\r\n\tcolor: #999;\r\n\tvertical-align: baseline\r\n}\r\n\r\n#showcase .sc-list .item.tuangou .s-tuangou strong {\r\n\tvertical-align: baseline;\r\n\tfont-size: 22px;\r\n\tfont-weight: 400;\r\n\tfont-family: Verdana;\r\n\tcolor: #e4393c\r\n}\r\n\r\n#showcase .sc-list .item.tuangou .s-tuangou:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n#showcase .sc-list .item.tuangou .s-tuangou:hover em {\r\n\tcolor: #999\r\n}\r\n\r\n#showcase .sc-list .item.tuangou .s-tuangou:hover strong {\r\n\tcolor: #e4393c\r\n}\r\n\r\n#showcase .sc-ext .item {\r\n\tfloat: left;\r\n\twidth: 323px;\r\n\theight: 70px;\r\n\tmargin-right: 11px;\r\n\toverflow: hidden\r\n}\r\n\r\n#showcase .sc-bottom .item {\r\n\twidth: 990px\r\n}\r\n\r\n#showcase .sc-bottom .item img {\r\n\tmargin-left: -110px\r\n}\r\n\r\n.root61 #showcase .mc {\r\n\twidth: 1240px\r\n}\r\n\r\n.root61 #showcase .sc-list .item {\r\n\twidth: 295px\r\n}\r\n\r\n.root61 #showcase .sc-ext .item {\r\n\twidth: 396px\r\n}\r\n\r\n.root61 #showcase .sc-bottom .item {\r\n\twidth: 1210px\r\n}\r\n\r\n.root61 #showcase .sc-bottom .item img {\r\n\tmargin-left: 0\r\n}\r\n\r\n#showcase.advanced .sc-list .item .s-img img {\r\n\t-webkit-transition: all .3s ease;\r\n\t-moz-transition: all .3s ease;\r\n\t-ms-transition: all .3s ease;\r\n\t-o-transition: all .3s ease;\r\n\ttransition: all .3s ease;\r\n\tleft: 0\r\n}\r\n\r\n#showcase.advanced .sc-list .item:hover .s-img img,#showcase.advanced .sc-list .item:active .s-img img\r\n\t{\r\n\tleft: -10px\r\n}\r\n\r\n#top-banners {\r\n\tposition: relative;\r\n\theight: 70px;\r\n\tclear: both\r\n}\r\n\r\n#top-banners .mt {\r\n\tposition: absolute\r\n}\r\n\r\n#top-banners .mt a {\r\n\tdisplay: block;\r\n\twidth: 270px;\r\n\theight: 100%\r\n}\r\n\r\n.root61 #top-banners .mt a {\r\n\twidth: 380px\r\n}\r\n\r\n#top-banners .mc {\r\n\tposition: absolute;\r\n\tleft: 270px;\r\n\toverflow: hidden\r\n}\r\n\r\n#top-banners .top-banner-close {\r\n\tposition: absolute;\r\n\tz-index: 1;\r\n\tright: 0;\r\n\ttop: 0;\r\n\twidth: 25px;\r\n\theight: 25px;\r\n\tcursor: pointer\r\n}\r\n\r\n#top-banners .mc ul {\r\n\twidth: 750px\r\n}\r\n\r\n.root61 #top-banners .mc ul {\r\n\twidth: 850px\r\n}\r\n\r\n.root61 #top-banners .mc {\r\n\tleft: 370px\r\n}\r\n\r\n#top-banners .mc a {\r\n\tfloat: left;\r\n\tdisplay: inline;\r\n\twidth: 85px;\r\n\theight: 18px;\r\n\tmargin-top: 12px;\r\n\tmargin-left: 30px;\r\n\tfont: 14px/14px \"microsoft yahei\";\r\n\tcolor: #fff;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\t*zoom: 1\r\n}\r\n\r\n.root61 #top-banners .mc a {\r\n\twidth: 106px;\r\n\tmargin-left: 22px;\r\n\tpadding-right: 0\r\n}\r\n\r\n#top-banners .mc a:hover {\r\n\tcolor: #fff;\r\n\ttext-decoration: none\r\n}\r\n\r\n#top-banners.tb-ver2 .mt a {\r\n\twidth: 150px\r\n}\r\n\r\n#top-banners.tb-ver2 .mc {\r\n\tleft: 190px\r\n}\r\n\r\n.root61 #top-banners.tb-ver2 .mt a {\r\n\twidth: 350px\r\n}\r\n\r\n.root61 #top-banners.tb-ver2 .mc {\r\n\tleft: 370px\r\n}\r\n\r\n#top-banners.tb-ver2 .mc ul {\r\n\tpadding-top: 1px;\r\n\tfloat: left;\r\n\twidth: 100px\r\n}\r\n\r\n#top-banners.tb-ver2 .mc ul li {\r\n\tclear: both\r\n}\r\n\r\n#top-banners.tb-ver2 .mc ul li a {\r\n\tclear: both;\r\n\twidth: auto;\r\n\tpadding: 0;\r\n\tmargin: 0;\r\n\tfont-size: 12px\r\n}\r\n\r\n#shortcut-2013 li.jd-wx-qrcode {\r\n\tpadding-left: 26px;\r\n\tposition: relative;\r\n\t*z-index: 7\r\n}\r\n\r\n.jd-wx-qrcode .i-qrcode {\r\n\tfloat: left;\r\n\tdisplay: inline;\r\n\twidth: 12px;\r\n\theight: 12px;\r\n\tmargin-left: -18px;\r\n\tmargin-top: 9px;\r\n\tbackground:\r\n\t\turl(../images/index-jd-wx-qrcode.png)\r\n\t\tno-repeat\r\n}\r\n\r\n.hover div.qrcode-show {\r\n\tdisplay: block\r\n}\r\n\r\n.jd-wx-qrcode .qrcode-show a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n.jd-wx-qrcode .qrcode-show {\r\n\tdisplay: none;\r\n\twidth: 116px;\r\n\theight: 129px;\r\n\tposition: absolute;\r\n\tleft: -15px;\r\n\ttop: 35px;\r\n\tz-index: 10;\r\n\tborder: 1px solid #ddd;\r\n\tbackground:\r\n\t\turl(../images/index-jd-wx-qrcode.png)\r\n\t\tno-repeat 0 -30px #fff;\r\n\t-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\t-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\tbox-shadow: 0 0 10px rgba(0, 0, 0, .12)\r\n}\r\n\r\n.jd-wx-qrcode .qrcode-show .arrow {\r\n\tposition: absolute;\r\n\ttop: -16px;\r\n\tleft: 50%;\r\n\tmargin-left: -8px;\r\n\twidth: 16px;\r\n\theight: 16px\r\n}\r\n\r\n.jd-wx-qrcode .qrcode-show .arrow i {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\twidth: 0;\r\n\theight: 0;\r\n\toverflow: hidden;\r\n\tborder-width: 8px;\r\n\tborder-style: dashed dashed solid\r\n}\r\n\r\n.jd-wx-qrcode .qrcode-show i.layer1 {\r\n\tborder-color: transparent transparent #ddd;\r\n\ttop: -1px\r\n}\r\n\r\n.jd-wx-qrcode .qrcode-show i.layer2 {\r\n\tborder-color: transparent transparent #fff\r\n}\r\n\r\n#shortcut-2013 li.jd-wx-qrcode-hover .qrcode-show {\r\n\ttransform: translateY(0);\r\n\topacity: 1;\r\n\tvisibility: visible\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/myjd.commentImg.css",
    "content": "/*\r\n myjd-2014 Compressed by cssmin \r\n Author:hanyuxinting \r\n Date: 2014-12-04 \r\n */\r\n.comment-box {\r\n\tbackground: #fcfffa;\r\n\tborder: 1px solid #d0e4c2;\r\n\tpadding: 10px 0 0 30px;\r\n\tmargin: 0 -6px 5px;\r\n\ttext-align: left;\r\n\tdisplay: none;\r\n\tposition: relative;\r\n\tzoom: 1\r\n}\r\n\r\n.comment-box .msg-text {\r\n\tfloat: right\r\n}\r\n\r\n.comment-box .item {\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n.comment-box .item .label em {\r\n\tpadding-right: 3px;\r\n\tpadding-top: 5px;\r\n\tvertical-align: middle;\r\n\tfont-size: 16px\r\n}\r\n\r\n.comment-box .box-t {\r\n\tposition: absolute;\r\n\tright: 84px;\r\n\t*right: 101px;\r\n\ttop: -11px;\r\n\twidth: 21px;\r\n\theight: 12px;\r\n\tbackground: url(/images/cicon.png) 0 0 no-repeat\r\n}\r\n\r\n.comment-box .btn:hover {\r\n\tcolor: #333\r\n}\r\n\r\n.comment-box .commstar {\r\n\tbackground-color: red;\r\n\twidth: 105px;\r\n\theight: 20px;\r\n\tbackground: url(/images/commstar.jpg) 0 -21px repeat-x;\r\n\tposition: relative;\r\n\tmargin-top: 5px;\r\n\tdisplay: inline-block;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n.comment-box .commstar a {\r\n\twidth: 20%;\r\n\tcursor: pointer;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tdisplay: inline-block;\r\n\theight: 20px\r\n}\r\n\r\n.comment-box .commstar a:hover, .comment-box .commstar .active {\r\n\tbackground: url(/images/commstar.jpg) left top repeat-x\r\n}\r\n\r\n.comment-box .commstar .star1 {\r\n\twidth: 20%;\r\n\tz-index: 9\r\n}\r\n\r\n.comment-box .commstar .star2 {\r\n\twidth: 40%;\r\n\tz-index: 8\r\n}\r\n\r\n.comment-box .commstar .star3 {\r\n\twidth: 60%;\r\n\tz-index: 7\r\n}\r\n\r\n.comment-box .commstar .star4 {\r\n\twidth: 80%;\r\n\tz-index: 6\r\n}\r\n\r\n.comment-box .commstar .star5 {\r\n\twidth: 100%;\r\n\tz-index: 5\r\n}\r\n\r\n.comment-box .tips-list {\r\n\tdisplay: inline-block;\r\n\tdisplay: block;\r\n\twidth: 580px\r\n}\r\n\r\n.comment-box .tips-list:after {\r\n\tcontent: \".\";\r\n\tdisplay: block;\r\n\theight: 0;\r\n\tclear: both;\r\n\tvisibility: hidden\r\n}\r\n\r\n* html .comment-box .tips-list {\r\n\theight: 1%\r\n}\r\n\r\n*+html .comment-box .tips-list {\r\n\tmin-height: 1%\r\n}\r\n\r\n.comment-box .tips-list li {\r\n\tmargin-right: 5px;\r\n\tfloat: left;\r\n\tcursor: pointer;\r\n\tline-height: 18px;\r\n\tpadding: 6px 9px;\r\n\tbackground: #fff;\r\n\tborder: 1px solid #ccc;\r\n\tmargin-bottom: 5px;\r\n\twhite-space: nowrap\r\n}\r\n\r\n.comment-box .tips-list li s.f-check {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tvertical-align: middle;\r\n\twidth: 13px;\r\n\theight: 13px;\r\n\toverflow: hidden;\r\n\tbackground: url(/images/cicon.png) -38px 0;\r\n\tmargin-right: 5px\r\n}\r\n\r\n.comment-box .tips-list li s.f-input {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tvertical-align: middle;\r\n\twidth: 12px;\r\n\theight: 14px;\r\n\toverflow: hidden;\r\n\tbackground: url(/images/cicon.png) -53px 0;\r\n\tmargin-right: 5px\r\n}\r\n\r\n.comment-box .tips-list li.select {\r\n\tpadding: 5px 8px;\r\n\tborder: 2px solid #c00\r\n}\r\n\r\n.comment-box .tips-list li.select s.f-check {\r\n\tbackground-position: -23px 0\r\n}\r\n\r\n.comment-box .tips-list li .fore1 {\r\n\tfloat: left\r\n}\r\n\r\n.comment-box .tips-list li .fore2 {\r\n\tposition: relative;\r\n\twidth: 90px\r\n}\r\n\r\n.comment-box .tips-list li.list-last {\r\n\tposition: relative\r\n}\r\n\r\n.comment-box .tips-list li.list-last span {\r\n\tposition: absolute;\r\n\tleft: 95px;\r\n\ttop: 5px;\r\n\tcursor: default\r\n}\r\n\r\n.comment-box .tips-list li.list-last .itxt {\r\n\tpadding: 5px;\r\n\twidth: 86px\r\n}\r\n\r\n.comment-box .tips-list li.list-last-input {\r\n\tpadding: 0;\r\n\tborder: 2px solid #c00\r\n}\r\n\r\n.comment-box .tips-list li.list-last-input .itxt {\r\n\tborder: 0;\r\n\twidth: 80px\r\n}\r\n\r\n.comment-box .commented-tips-list li {\r\n\tbackground: #eee;\r\n\tborder-color: #eee\r\n}\r\n\r\n.comment-box .commented-tips-list li em {\r\n\tcolor: #999;\r\n\tmargin-left: 5px\r\n}\r\n\r\n.comment-box dl.club-share {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tvertical-align: middle;\r\n\tline-height: 30px\r\n}\r\n\r\n.comment-box dl.club-share dt, .comment-box dl.club-share dd {\r\n\tfloat: left\r\n}\r\n\r\n.comment-box dl.club-share .icon {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\twidth: 15px;\r\n\theight: 15px;\r\n\tvertical-align: middle;\r\n\toverflow: hidden;\r\n\tbackground: url(/images/share.png) no-repeat;\r\n\tmargin: -3px 5px 0 0\r\n}\r\n\r\n.comment-box dl.club-share .icon-weibo {\r\n\tbackground-position: 0 -17px\r\n}\r\n\r\n.comment-box dl.club-share .icon-weibo-on {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.comment-box dl.club-share .icon-qzone {\r\n\tbackground-position: -17px -17px\r\n}\r\n\r\n.comment-box dl.club-share .icon-qzone-on {\r\n\tbackground-position: -17px 0\r\n}\r\n\r\n.comment-box dl.club-share .icon-qqweibo {\r\n\tbackground-position: -34px -17px\r\n}\r\n\r\n.comment-box dl.club-share .icon-qqweibo-on {\r\n\tbackground-position: -34px 0\r\n}\r\n\r\n.comment-box dl.club-share .icon-renren {\r\n\tbackground-position: -51px -17px\r\n}\r\n\r\n.comment-box dl.club-share .icon-renren-on {\r\n\tbackground-position: -51px 0\r\n}\r\n\r\n.comment-box dl.club-share .icon-kaixin {\r\n\tbackground-position: -68px -17px\r\n}\r\n\r\n.comment-box dl.club-share .icon-kaixin-on {\r\n\tbackground-position: -68px 0\r\n}\r\n\r\n.comment-box dl.club-share .icon-douban {\r\n\tbackground-position: -85px -17px\r\n}\r\n\r\n.comment-box dl.club-share .icon-douban-on {\r\n\tbackground-position: -85px 0\r\n}\r\n\r\n.comment-box .tit {\r\n\tfloat: left;\r\n\twidth: 370px\r\n}\r\n\r\n.comment-box .cont {\r\n\tfloat: left;\r\n\twidth: 602px;\r\n\tword-break: break-all;\r\n\tword-wrap: break-word\r\n}\r\n\r\n.comment-box .area {\r\n\twidth: 590px;\r\n\theight: 88px\r\n}\r\n\r\n.comment-box .area01 {\r\n\tcolor: #ccc\r\n}\r\n\r\n.comment-box .itxt2 {\r\n\twidth: 58px\r\n}\r\n\r\n.comment-box .itxt3 {\r\n\twidth: 78px\r\n}\r\n\r\n.comment-box .itxt-time {\r\n\twidth: 92px\r\n}\r\n\r\n.comment-box label {\r\n\tcursor: pointer\r\n}\r\n\r\n.comment-box .sign-icon {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\toverflow: hidden;\r\n\tvertical-align: middle;\r\n\tcursor: pointer;\r\n\tmargin: -3px 3px 0 0;\r\n\tbackground:\r\n\t\turl(http://misc.360buyimg.com/purchase/skin/df/i/icon-quer.png)\r\n\t\tno-repeat\r\n}\r\n\r\n.comment-box .hide {\r\n\tdisplay: none\r\n}\r\n\r\n.comment-box .msg-error-01 {\r\n\tborder: 1px solid #FFBDBE;\r\n\tbackground: #FFEBEB;\r\n\tcolor: #E4393C;\r\n\tfloat: left;\r\n\tline-height: 24px;\r\n\tpadding: 2px 6px\r\n}\r\n\r\n.service-box .mc {\r\n\tborder: 1px solid #e9eaec\r\n}\r\n\r\n.service-box .service-lcol {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\twidth: 195px;\r\n\tpadding: 30px 0 0 140px;\r\n\theight: 164px;\r\n\tbackground: #f5f5f5;\r\n\toverflow: visible\r\n}\r\n\r\n.service-box .service-rcol {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\tpadding-left: 30px;\r\n\tpadding-top: 15px;\r\n\twidth: 440px;\r\n\theight: 164px\r\n}\r\n\r\n.service-box .s-star {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tvertical-align: middle;\r\n\twidth: 75px;\r\n\theight: 15px;\r\n\tmargin-top: -3px;\r\n\tbackground: url(i/star-s.png) 0 0\r\n}\r\n\r\n.service-box .s-star.sa5 {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.service-box .s-star.sa4 {\r\n\tbackground-position: -15px 0\r\n}\r\n\r\n.service-box .s-star.sa3 {\r\n\tbackground-position: -30px 0\r\n}\r\n\r\n.service-box .s-star.sa2 {\r\n\tbackground-position: -45px 0\r\n}\r\n\r\n.service-box .s-star.sa1 {\r\n\tbackground-position: -60px 0\r\n}\r\n\r\n.service-box .shopper-img {\r\n\tposition: absolute;\r\n\ttop: 30px;\r\n\tleft: 20px\r\n}\r\n\r\n.service-box .shopper-name {\r\n\tfont-size: 14px;\r\n\tfont-weight: 700;\r\n\tmargin-bottom: 20px\r\n}\r\n\r\n.service-box .service-arr {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tright: -32px;\r\n\ttop: 50%;\r\n\tmargin-top: -16px;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-style: dashed dashed dashed solid;\r\n\tborder-color: transparent transparent transparent #f5f5f5;\r\n\tborder-width: 16px;\r\n\toverflow: hidden;\r\n\tfont-size: 0\r\n}\r\n\r\n.service-box dl {\r\n\tdisplay: inline-block;\r\n\tdisplay: block;\r\n\tmargin-bottom: 16px\r\n}\r\n\r\n.service-box dl:after {\r\n\tcontent: \".\";\r\n\tdisplay: block;\r\n\theight: 0;\r\n\tclear: both;\r\n\tvisibility: hidden\r\n}\r\n\r\n* html .service-box dl {\r\n\theight: 1%\r\n}\r\n\r\n*+html .service-box dl {\r\n\tmin-height: 1%\r\n}\r\n\r\n.service-box dl .degree-text { @inline-block;\r\n\tvertical-align: middle;\r\n\tborder: 1px solid #ddd;\r\n\tcolor: #999;\r\n\tpadding: 1px 3px;\r\n\theight: 18px;\r\n\tline-height: 18px;\r\n\tmargin-left: 10px\r\n}\r\n\r\n.service-box dl .degree-text.d3, .service-box dl .degree-text.d4 {\r\n\tborder-color: #f8b600;\r\n\tcolor: #f8b600\r\n}\r\n\r\n.service-box dl .degree-text.d5 {\r\n\tborder-color: #f60;\r\n\tcolor: #f60\r\n}\r\n\r\n.service-box dl .commstar {\r\n\tbackground-color: red;\r\n\twidth: 105px;\r\n\theight: 20px;\r\n\tbackground: url(/images/commstar.jpg) 0 -21px repeat-x;\r\n\tposition: relative;\r\n\tdisplay: inline-block;\r\n\tfloat: left\r\n}\r\n\r\n.service-box dl .commstar a {\r\n\twidth: 20%;\r\n\tcursor: pointer;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tdisplay: inline-block;\r\n\theight: 20px\r\n}\r\n\r\n.service-box dl .commstar a:hover, .service-box dl .commstar .active {\r\n\tbackground: url(/images/commstar.jpg) left top repeat-x\r\n}\r\n\r\n.service-box dl .commstar .star1 {\r\n\twidth: 20%;\r\n\tz-index: 9\r\n}\r\n\r\n.service-box dl .commstar .star2 {\r\n\twidth: 40%;\r\n\tz-index: 8\r\n}\r\n\r\n.service-box dl .commstar .star3 {\r\n\twidth: 60%;\r\n\tz-index: 7\r\n}\r\n\r\n.service-box dl .commstar .star4 {\r\n\twidth: 80%;\r\n\tz-index: 6\r\n}\r\n\r\n.service-box dl .commstar .star5 {\r\n\twidth: 100%;\r\n\tz-index: 5\r\n}\r\n\r\n.service-box dt, .service-box dd {\r\n\tfloat: left\r\n}\r\n\r\n.service-box dt {\r\n\twidth: 120px\r\n}\r\n\r\n.service-box .score {\r\n\twidth: 300px;\r\n\tfloat: left\r\n}\r\n\r\n.service-box .service-txt {\r\n\tfloat: left;\r\n\twidth: 170px\r\n}\r\n\r\n.service-box .service-txt .more {\r\n\tdisplay: block;\r\n\tpadding-top: 40px\r\n}\r\n\r\n.service-box .service-txt .hide {\r\n\tdisplay: none\r\n}\r\n\r\n.service-box .service-txt .area {\r\n\tborder: 1px solid #71b247;\r\n\theight: 80px;\r\n\tpadding: 5px;\r\n\twidth: 140px\r\n}\r\n\r\n.service-box .score-succ {\r\n\ttext-align: center;\r\n\tposition: absolute;\r\n\ttop: 50%;\r\n\tleft: 30%;\r\n\tmargin-top: -24px\r\n}\r\n\r\n.service-box .score-succ h3 {\r\n\tfont-size: 18px;\r\n\tfont-family: \"microsoft yahei\"\r\n}\r\n\r\n.service-box .score-succ .icon-02 {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tvertical-align: middle;\r\n\twidth: 48px;\r\n\theight: 48px;\r\n\tmargin-right: 10px;\r\n\tbackground: url(i/icon48.png) 0 0 no-repeat\r\n}\r\n\r\n.mod-main .service-score {\r\n\tmargin: 20px 0 0 100px;\r\n\toverflow: hidden\r\n}\r\n\r\n.satisfaction-box {\r\n\tmargin-top: -11px;\r\n\tpadding-bottom: 20px\r\n}\r\n\r\n.satisfaction-box .box-t {\r\n\tright: 70px\r\n}\r\n\r\n.satisfaction-box dt {\r\n\tpadding-top: 7px;\r\n\ttext-align: right\r\n}\r\n\r\n.satisfaction-box dt em {\r\n\tcolor: #e4393c\r\n}\r\n\r\n.satisfaction-box .op-btn {\r\n\tmargin-left: 120px\r\n}\r\n\r\n.satisfaction-box .service-score {\r\n\tmargin-left: 130px\r\n}\r\n\r\n.satisfaction-box .txt {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tvertical-align: middle;\r\n\tpadding-top: 5px;\r\n\tline-height: 20px;\r\n\tmargin-left: 10px\r\n}\r\n\r\n.pro-info {\r\n\tdisplay: inline-block;\r\n\tdisplay: block\r\n}\r\n\r\n.pro-info:after {\r\n\tcontent: \".\";\r\n\tdisplay: block;\r\n\theight: 0;\r\n\tclear: both;\r\n\tvisibility: hidden\r\n}\r\n\r\n* html .pro-info {\r\n\theight: 1%\r\n}\r\n\r\n*+html .pro-info {\r\n\tmin-height: 1%\r\n}\r\n\r\n.pro-info li {\r\n\tfloat: left;\r\n\twidth: 130px;\r\n\t*padding: 0 5px;\r\n\tvertical-align: middle;\r\n\tmargin-top: 10px\r\n}\r\n\r\n.pro-info li.fore1 {\r\n\twidth: 484px;\r\n\tmargin: 0\r\n}\r\n\r\n.pro-info li.fore3 {\r\n\twidth: 176px;\r\n\t*width: 139px;\r\n\twidth: 139\\0;\r\n\tmargin-left: 7px\r\n}\r\n\r\n.p-info {\r\n\twidth: 450px;\r\n\toverflow: hidden\r\n}\r\n\r\n.p-info .p-name {\r\n\twidth: 330px;\r\n\toverflow: hidden;\r\n\tmargin-left: 10px;\r\n\theight: 3em;\r\n\tline-height: 1.5em;\r\n\tmargin-top: 10px;\r\n\ttext-align: left\r\n}\r\n\r\n.p-info .p-img {\r\n\tpadding: 5px 0 5px 10px\r\n}\r\n\r\n.tb-line td {\r\n\tborder: 0;\r\n\tborder-bottom: 1px solid #f2f2f2\r\n}\r\n\r\n.tb-line a:hover {\r\n\tcolor: #e4393c\r\n}\r\n\r\n.tb-line a.btn-5:hover, .tb-line a.btn-9:hover {\r\n\tcolor: #333\r\n}\r\n\r\n.extra-main .mt {\r\n\tpadding-left: 0\r\n}\r\n\r\n.extra-main .mt .extra-l li {\r\n\tpadding: 0;\r\n\tpadding-right: 20px\r\n}\r\n\r\n.selt {\r\n\tborder: 1px solid #ccc;\r\n\tpadding: 2px;\r\n\tfloat: right\r\n}\r\n\r\n.mc .list-h {\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n.mc .list-h li {\r\n\tfloat: left;\r\n\tborder: 1px solid #E1E1E1;\r\n\tmargin-right: 10px;\r\n\twidth: 50px;\r\n\theight: 50px\r\n}\r\n\r\n.mc .list-h li.last-more {\r\n\ttext-align: center;\r\n\tline-height: 25px\r\n}\r\n\r\n.mc .list-h li.last-more .icon-elli {\r\n\tdisplay: block;\r\n\tline-height: 0;\r\n\tfont-size: 0;\r\n\toverflow: hidden;\r\n\tmargin: 4px auto 0;\r\n\twidth: 34px;\r\n\theight: 8px;\r\n\tbackground-image: url(i/more.png)\r\n}\r\n\r\n.upload-img-box .img-list {\r\n\tfloat: left;\r\n\tmax-width: 630px;\r\n\toverflow: hidden\r\n}\r\n\r\n.upload-img-box .img-list li {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\twidth: 80px;\r\n\theight: 80px;\r\n\tborder: 1px solid #ccc;\r\n\toverflow: hidden;\r\n\tmargin: 5px 5px 0 0;\r\n\t_display: inline\r\n}\r\n\r\n.upload-img-box .img-list li .del {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\twidth: 80px;\r\n\theight: 80px;\r\n\tbackground-color: #000;\r\n\topacity: .5;\r\n\tfilter: alpha(opacity = 50)\r\n}\r\n\r\n.upload-img-box .img-list li .del em {\r\n\tposition: absolute;\r\n\tright: 0;\r\n\ttop: 0;\r\n\tline-height: 18px;\r\n\tcolor: #fff;\r\n\tfont-family: verdana;\r\n\tcursor: pointer\r\n}\r\n\r\n.upload-img-box .img-list li .del span {\r\n\tposition: absolute;\r\n\twidth: 80px;\r\n\ttext-align: center;\r\n\tline-height: 80px;\r\n\tcolor: #FFF\r\n}\r\n\r\n.upload-img-box .img-list li.upload-btn {\r\n\twidth: 82px;\r\n\ttext-align: right;\r\n\tborder: medium none;\r\n\theight: auto;\r\n\tmargin: 0\r\n}\r\n\r\n.upload-img-box .img-list li.upload-btn a {\r\n\tdisplay: block;\r\n\twidth: 80px;\r\n\tmargin-top: 5px;\r\n\theight: 80px;\r\n\tline-height: 80px;\r\n\tborder: 1px solid #ccc;\r\n\tcolor: #999;\r\n\ttext-align: center\r\n}\r\n\r\n.comment-mt-list {\r\n\tmargin-right: -1px\r\n}\r\n\r\n.comment-mt-list a {\r\n\tpadding: 0 10px;\r\n\tborder-right: 1px solid #ccc\r\n}\r\n\r\n.Jcalendar {\r\n\tfloat: left;\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tpadding: 10px;\r\n\tborder: 1px solid #ddd;\r\n\tbox-shadow: 0 0 5px #ddd;\r\n\tbackground: #fff\r\n}\r\n\r\n.Jcal {\r\n\twidth: 240px;\r\n\tbackground: #fff;\r\n\tborder-collapse: collapse;\r\n\tfont: 12px verdana\r\n}\r\n\r\n.Jcal tbody td {\r\n\ttext-align: center;\r\n\theight: 24px;\r\n\tline-height: 24px;\r\n\tcolor: #005ea7;\r\n\tfont-weight: 700;\r\n\tcursor: pointer\r\n}\r\n\r\n.Jcal thead th {\r\n\ttext-align: center;\r\n\theight: 24px;\r\n\tline-height: 24px;\r\n\tpadding-bottom: 5px\r\n}\r\n\r\n.Jcal .selectMonth {\r\n\tpadding: 0 5px 0 20px\r\n}\r\n\r\n.Jcal thead th a.ctrl-prev, .Jcal thead th a.ctrl-next {\r\n\tbackground-image: url(i/J-cal.png);\r\n\tbackground-repeat: no-repeat;\r\n\toverflow: hidden\r\n}\r\n\r\n.Jcal .prevYear {\r\n\tbackground-position: 0 -50px\r\n}\r\n\r\n.Jcal .prevMonth {\r\n\tbackground-position: 0 -100px\r\n}\r\n\r\n.Jcal .nextYear {\r\n\tbackground-position: 0 -75px\r\n}\r\n\r\n.Jcal .nextMonth {\r\n\tbackground-position: 0 -125px\r\n}\r\n\r\n.Jcal thead th a.ctrl-prev:hover, .Jcal thead th a.ctrl-next:hover {\r\n\tbackground-color: #eee;\r\n\ttext-decoration: none\r\n}\r\n\r\n.Jcal .selectMonth, .Jcal .slecteYear {\r\n\tfloat: left\r\n}\r\n\r\n.Jcal .ctrl-prev {\r\n\tfloat: left\r\n}\r\n\r\n.Jcal .ctrl-next {\r\n\tfloat: right\r\n}\r\n\r\n.Jcal .ctrl-prev, .Jcal .ctrl-next {\r\n\theight: 25px;\r\n\twidth: 25px;\r\n\tline-height: 10000px;\r\n\ttext-align: center\r\n}\r\n\r\n.Jcal thead .days {\r\n\tbackground: #e5e5e5\r\n}\r\n\r\n.Jcal thead .days th {\r\n\tborder: 1px solid #e5e5e5\r\n}\r\n\r\n.Jcal td {\r\n\tborder: 1px solid #e5e5e5;\r\n\tpadding: 2px 0\r\n}\r\n\r\n.Jcal td.chosen {\r\n\tbackground: #e4393c;\r\n\tcolor: #fff\r\n}\r\n\r\n.Jcal .over {\r\n\tbackground: #eee\r\n}\r\n\r\n.Jcal .today {\r\n\ttext-align: center;\r\n\tdisplay: block;\r\n\tpadding: 4px 0;\r\n\tcolor: #005ea7;\r\n\tfont-weight: 700\r\n}\r\n\r\n.Jcal .J-sun, .Jcal .J-sat {\r\n\tcolor: #e4393c\r\n}\r\n\r\n.Jcalendar .close {\r\n\tdisplay: none\r\n}\r\n\r\n.J-inp-cal {\r\n\tborder: 1px solid #ccc;\r\n\theight: 21px;\r\n\tline-height: 21px;\r\n\tpadding: 1px 26px 1px 2px;\r\n\tbackground: url(i/J-cal.png) right -1px no-repeat\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/myjd.common.css",
    "content": "/*\r\n myjd-2014 Compressed by cssmin \r\n Author:Fengwp \r\n Date: 2014-08-12 \r\n */\r\n@charset \"UTF-8\"; \r\n\r\n#nav-2013 {\r\n\tmargin-bottom: 0\r\n}\r\n\r\n#service-2013 {\r\n\tborder-top: 0\r\n}\r\n\r\n.mt-1 {\r\n\tmargin-top: -1px\r\n}\r\n\r\n.mt-2 {\r\n\tmargin-top: -2px\r\n}\r\n\r\n.mt-3 {\r\n\tmargin-top: -3px\r\n}\r\n\r\n.mt5 {\r\n\tmargin-top: 5px\r\n}\r\n\r\n.mt10 {\r\n\tmargin-top: 10px\r\n}\r\n\r\n.mt20 {\r\n\tmargin-top: 20px\r\n}\r\n\r\n.mr5 {\r\n\tmargin-right: 5px\r\n}\r\n\r\n.mr10 {\r\n\tmargin-right: 10px\r\n}\r\n\r\n.mr20 {\r\n\tmargin-right: 20px\r\n}\r\n\r\n.mb5 {\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n.mb10 {\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n.ml5 {\r\n\tmargin-left: 5px\r\n}\r\n\r\n.ml10 {\r\n\tmargin-left: 10px\r\n}\r\n\r\n.ml20 {\r\n\tmargin-left: 20px\r\n}\r\n\r\n.pt5 {\r\n\tpadding-top: 5px\r\n}\r\n\r\n.pt10 {\r\n\tpadding-top: 10px\r\n}\r\n\r\n.pr5 {\r\n\tpadding-right: 5px\r\n}\r\n\r\n.pr10 {\r\n\tpadding-right: 10px\r\n}\r\n\r\n.pb5 {\r\n\tpadding-bottom: 5px\r\n}\r\n\r\n.pb10 {\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n.pl5 {\r\n\tpadding-left: 5px\r\n}\r\n\r\n.pl10 {\r\n\tpadding-left: 10px\r\n}\r\n\r\n.ftx01, .ftx-01 {\r\n\tcolor: #e4393c\r\n}\r\n\r\n.ftx02, .ftx-02 {\r\n\tcolor: #71b247\r\n}\r\n\r\n.ftx03, .ftx-03 {\r\n\tcolor: #999\r\n}\r\n\r\n.ftx04, .ftx-04 {\r\n\tcolor: #ff8a15\r\n}\r\n\r\n.ftx05, .ftx-05 {\r\n\tcolor: #005ea7\r\n}\r\n\r\n.ftx06, .ftx-06 {\r\n\tcolor: #666\r\n}\r\n\r\n.font-price {\r\n\tfont-family: verdana\r\n}\r\n\r\n.g-0 {\r\n\twidth: 100%\r\n}\r\n\r\n.g-1 {\r\n\twidth: 30px\r\n}\r\n\r\n.g-2 {\r\n\twidth: 70px\r\n}\r\n\r\n.g-3 {\r\n\twidth: 110px\r\n}\r\n\r\n.g-3-5 {\r\n\twidth: 130px\r\n}\r\n\r\n.g-4 {\r\n\twidth: 150px\r\n}\r\n\r\n.g-5 {\r\n\twidth: 190px\r\n}\r\n\r\n.g-6 {\r\n\twidth: 230px\r\n}\r\n\r\n.g-7 {\r\n\twidth: 270px\r\n}\r\n\r\n.g-7-5 {\r\n\twidth: 300px\r\n}\r\n\r\n.g-8 {\r\n\twidth: 310px\r\n}\r\n\r\n.g-9 {\r\n\twidth: 350px\r\n}\r\n\r\n.g-a {\r\n\twidth: 390px\r\n}\r\n\r\n.g-b {\r\n\twidth: 430px\r\n}\r\n\r\n.g-c {\r\n\twidth: 470px\r\n}\r\n\r\n.g-d {\r\n\twidth: 510px\r\n}\r\n\r\n.g-e {\r\n\twidth: 550px\r\n}\r\n\r\n.g-f {\r\n\twidth: 590px\r\n}\r\n\r\n.g-g {\r\n\twidth: 630px\r\n}\r\n\r\n.g-h {\r\n\twidth: 670px\r\n}\r\n\r\n.g-i {\r\n\twidth: 710px\r\n}\r\n\r\n.g-j {\r\n\twidth: 750px\r\n}\r\n\r\n.g-k {\r\n\twidth: 790px\r\n}\r\n\r\n.g-l {\r\n\twidth: 830px\r\n}\r\n\r\n.g-m {\r\n\twidth: 870px\r\n}\r\n\r\n.g-n {\r\n\twidth: 910px\r\n}\r\n\r\n.g-0, .g-1, .g-2, .g-3, .g-3-5, .g-4, .g-5, .g-6, .g-7, .g-7-5, .g-8,\r\n\t.g-9, .g-a, .g-b, .g-c, .g-d, .g-e, .g-f, .g-g, .g-h, .g-i, .g-j, .g-k,\r\n\t.g-l, .g-m, .g-n {\r\n\tfloat: left\r\n}\r\n\r\n.g-10, .c-1 {\r\n\tmargin-left: 40px\r\n}\r\n\r\n.g-20, .c-2 {\r\n\tmargin-left: 80px\r\n}\r\n\r\n.g-30, .c-3 {\r\n\tmargin-left: 120px\r\n}\r\n\r\n.g-35, .c-3-5 {\r\n\tmargin-left: 140px\r\n}\r\n\r\n.g-40, .c-4 {\r\n\tmargin-left: 160px\r\n}\r\n\r\n.g-50, .c-5 {\r\n\tmargin-left: 200px\r\n}\r\n\r\n.g-60, .c-6 {\r\n\tmargin-left: 240px\r\n}\r\n\r\n.g-70, .c-7 {\r\n\tmargin-left: 280px\r\n}\r\n\r\n.g-80, .c-8 {\r\n\tmargin-left: 320px\r\n}\r\n\r\n.g-90, .c-9 {\r\n\tmargin-left: 360px\r\n}\r\n\r\n.g-a0, .c-a {\r\n\tmargin-left: 400px\r\n}\r\n\r\n.g-b0, .c-b {\r\n\tmargin-left: 440px\r\n}\r\n\r\n.g-c0, .c-c {\r\n\tmargin-left: 480px\r\n}\r\n\r\n.g-d0, .c-d {\r\n\tmargin-left: 520px\r\n}\r\n\r\n.g-e0, .c-e {\r\n\tmargin-left: 560px\r\n}\r\n\r\n.g-f0, .c-f {\r\n\tmargin-left: 600px\r\n}\r\n\r\n.g-g0, .c-g {\r\n\tmargin-left: 640px\r\n}\r\n\r\n.g-h0, .c-h {\r\n\tmargin-left: 680px\r\n}\r\n\r\n.g-i0, .c-i {\r\n\tmargin-left: 720px\r\n}\r\n\r\n.g-j0, .c-j {\r\n\tmargin-left: 760px\r\n}\r\n\r\n.g-k0, .c-k {\r\n\tmargin-left: 800px\r\n}\r\n\r\n.g-l0, .c-l {\r\n\tmargin-left: 840px\r\n}\r\n\r\n.g-m0, .c-m {\r\n\tmargin-left: 880px\r\n}\r\n\r\n.g-n0, .c-n {\r\n\tmargin-left: 920px\r\n}\r\n\r\n* html .g-10, * html .g-20, * html .g-30, * html .g-40, * html .g-50, * html .g-60,\r\n\t* html .g-70, * html .g-80, * html .g-90, * html .g-a0, * html .g-b0, * html .g-c0,\r\n\t* html .g-d0, * html .g-e0, * html .g-f0, * html .g-g0, * html .g-h0, * html .g-i0,\r\n\t* html .g-j0, * html .g-k0, * html .g-l0, * html .g-m0, * html .g-n0 {\r\n\tfloat: right;\r\n\tmargin-left: 10px\r\n}\r\n\r\n.g-01, .c-r1 {\r\n\tmargin-right: 40px\r\n}\r\n\r\n.g-02, .c-r2 {\r\n\tmargin-right: 80px\r\n}\r\n\r\n.g-03, .c-r3 {\r\n\tmargin-right: 120px\r\n}\r\n\r\n.g-04, .c-r4 {\r\n\tmargin-right: 160px\r\n}\r\n\r\n.g-05, .c-r5 {\r\n\tmargin-right: 200px\r\n}\r\n\r\n.g-06, .c-r6 {\r\n\tmargin-right: 240px\r\n}\r\n\r\n.g-07, .c-r7 {\r\n\tmargin-right: 280px\r\n}\r\n\r\n.c-r7-5 {\r\n\tmargin-right: 310px\r\n}\r\n\r\n.g-08, .c-r8 {\r\n\tmargin-right: 320px\r\n}\r\n\r\n.g-09, .c-r9 {\r\n\tmargin-right: 360px\r\n}\r\n\r\n.g-0a, .c-ra {\r\n\tmargin-right: 400px\r\n}\r\n\r\n.g-0b, .c-rb {\r\n\tmargin-right: 440px\r\n}\r\n\r\n.g-0c, .c-rc {\r\n\tmargin-right: 480px\r\n}\r\n\r\n.g-0d, .c-rd {\r\n\tmargin-right: 520px\r\n}\r\n\r\n.g-0e, .c-re {\r\n\tmargin-right: 560px\r\n}\r\n\r\n.g-0f, .c-rf {\r\n\tmargin-right: 600px\r\n}\r\n\r\n.g-0g, .c-rg {\r\n\tmargin-right: 640px\r\n}\r\n\r\n.g-0h, .c-rh {\r\n\tmargin-right: 680px\r\n}\r\n\r\n.g-0i, .c-ri {\r\n\tmargin-right: 720px\r\n}\r\n\r\n.g-0j, .c-rj {\r\n\tmargin-right: 760px\r\n}\r\n\r\n.g-0k, .c-rk {\r\n\tmargin-right: 800px\r\n}\r\n\r\n.g-0l, .c-rl {\r\n\tmargin-right: 840px\r\n}\r\n\r\n.g-0m, .c-rm {\r\n\tmargin-right: 880px\r\n}\r\n\r\n.g-0n, .c-rn {\r\n\tmargin-right: 920px\r\n}\r\n\r\n* html .g-01, * html .g-02, * html .g-03, * html .g-04, * html .g-05, * html .g-06,\r\n\t* html .g-07, * html .g-08, * html .g-09, * html .g-0a, * html .g-0b, * html .g-0c,\r\n\t* html .g-0d, * html .g-0e, * html .g-0f, * html .g-0g, * html .g-0h, * html .g-0i,\r\n\t* html .g-0j, * html .g-0k, * html .g-0l, * html .g-0m, * html .g-0n {\r\n\tfloat: left;\r\n\tmargin-right: 10px\r\n}\r\n\r\n.c-0 {\r\n\tmargin-left: -100%\r\n}\r\n\r\n.c-01 {\r\n\tmargin-left: -30px\r\n}\r\n\r\n.c-02 {\r\n\tmargin-left: -70px\r\n}\r\n\r\n.c-03 {\r\n\tmargin-left: -110px\r\n}\r\n\r\n.c-04 {\r\n\tmargin-left: -150px\r\n}\r\n\r\n.c-05 {\r\n\tmargin-left: -190px\r\n}\r\n\r\n.c-06 {\r\n\tmargin-left: -230px\r\n}\r\n\r\n.c-07 {\r\n\tmargin-left: -270px\r\n}\r\n\r\n.c-07-5 {\r\n\tmargin-left: -300px\r\n}\r\n\r\n.c-08 {\r\n\tmargin-left: -310px\r\n}\r\n\r\n.c-09 {\r\n\tmargin-left: -350px\r\n}\r\n\r\n.c-0a {\r\n\tmargin-left: -390px\r\n}\r\n\r\n.c-0b {\r\n\tmargin-left: -430px\r\n}\r\n\r\n.c-0c {\r\n\tmargin-left: -470px\r\n}\r\n\r\n.c-0d {\r\n\tmargin-left: -510px\r\n}\r\n\r\n.c-0e {\r\n\tmargin-left: -550px\r\n}\r\n\r\n.c-0f {\r\n\tmargin-left: -590px\r\n}\r\n\r\n.c-0g {\r\n\tmargin-left: -630px\r\n}\r\n\r\n.c-0h {\r\n\tmargin-left: -670px\r\n}\r\n\r\n.c-0i {\r\n\tmargin-left: -710px\r\n}\r\n\r\n.c-0j {\r\n\tmargin-left: -750px\r\n}\r\n\r\n.c-0k {\r\n\tmargin-left: -790px\r\n}\r\n\r\n.c-0l {\r\n\tmargin-left: -830px\r\n}\r\n\r\n.c-0m {\r\n\tmargin-left: -870px\r\n}\r\n\r\n.c-0n {\r\n\tmargin-left: -910px\r\n}\r\n\r\n.per-1 {\r\n\twidth: 100%\r\n}\r\n\r\n.per-2 {\r\n\twidth: 50%\r\n}\r\n\r\n.per-3 {\r\n\twidth: 33.3%\r\n}\r\n\r\n.per-4 {\r\n\twidth: 25%\r\n}\r\n\r\n.fl {\r\n\tfloat: left\r\n}\r\n\r\n.fr {\r\n\tfloat: right\r\n}\r\n\r\n.fn {\r\n\tfloat: none\r\n}\r\n\r\n.al {\r\n\ttext-align: left\r\n}\r\n\r\n.ac {\r\n\ttext-align: center\r\n}\r\n\r\n.ar {\r\n\ttext-align: right\r\n}\r\n\r\n#container {\r\n\tbackground: #f5f5f5\r\n}\r\n\r\n#container .w {\r\n\tbackground: #f5f5f5\r\n}\r\n\r\n#container #main {\r\n\t_zoom: 1\r\n}\r\n\r\n.btn-1, .btn-2, .btn-3, .btn-4 {\r\n\tbackground-color: #e74649;\r\n\tbackground-image: -moz-linear-gradient(top, #e74649, #df3134);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e74649),\r\n\t\tcolor-stop(1, #df3134));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e74649',\r\n\t\tendColorstr='#df3134', GradientType='0');\r\n\t-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e74649',\r\n\t\tendColorstr='#df3134');\r\n\tbackground-image: linear-gradient(to top, #e74649 0, #df3134 100%);\r\n\t-webkit-border-radius: 2px;\r\n\t-moz-border-radius: 2px;\r\n\tborder-radius: 2px;\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\theight: 18px;\r\n\tline-height: 18px;\r\n\tpadding: 3px 15px 4px;\r\n\tcolor: #fff\r\n}\r\n\r\n.btn-1:hover, .btn-2:hover, .btn-3:hover, .btn-4:hover {\r\n\tbackground-color: #f05356;\r\n\tbackground-image: -moz-linear-gradient(top, #f05356, #eb3c3f);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f05356),\r\n\t\tcolor-stop(1, #eb3c3f));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f05356',\r\n\t\tendColorstr='#eb3c3f', GradientType='0');\r\n\t-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f05356',\r\n\t\tendColorstr='#eb3c3f');\r\n\tbackground-image: linear-gradient(to top, #f05356 0, #eb3c3f 100%)\r\n}\r\n\r\n.btn-1:link, .btn-1:visited, .btn-2:link, .btn-2:visited, .btn-3:link,\r\n\t.btn-3:visited, .btn-4:link, .btn-4:visited {\r\n\tcolor: #fff;\r\n\ttext-decoration: none\r\n}\r\n\r\n.btn-5, .btn-6, .btn-7, .btn-8 {\r\n\tbackground-color: #f5fbef;\r\n\tbackground-image: -moz-linear-gradient(top, #f5fbef, #eaf6e2);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f5fbef),\r\n\t\tcolor-stop(1, #eaf6e2));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5fbef',\r\n\t\tendColorstr='#eaf6e2', GradientType='0');\r\n\t-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5fbef',\r\n\t\tendColorstr='#eaf6e2');\r\n\tbackground-image: linear-gradient(to top, #f5fbef 0, #eaf6e2 100%);\r\n\t-webkit-border-radius: 2px;\r\n\t-moz-border-radius: 2px;\r\n\tborder-radius: 2px;\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\theight: 18px;\r\n\tline-height: 18px;\r\n\tborder: 1px solid #bfd6af;\r\n\tpadding: 2px 14px 3px;\r\n\tcolor: #323333\r\n}\r\n\r\n.btn-5:hover, .btn-6:hover, .btn-7:hover, .btn-8:hover {\r\n\tbackground-color: #f6fbf3;\r\n\tbackground-image: -moz-linear-gradient(top, #f6fbf3, #eef7e8);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f6fbf3),\r\n\t\tcolor-stop(1, #eef7e8));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6fbf3',\r\n\t\tendColorstr='#eef7e8', GradientType='0');\r\n\t-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6fbf3',\r\n\t\tendColorstr='#eef7e8');\r\n\tbackground-image: linear-gradient(to top, #f6fbf3 0, #eef7e8 100%)\r\n}\r\n\r\n.btn-5:link, .btn-5:visited, .btn-6:link, .btn-6:visited, .btn-7:link,\r\n\t.btn-7:visited, .btn-8:link, .btn-8:visited {\r\n\tcolor: #323333;\r\n\ttext-decoration: none\r\n}\r\n\r\n.btn-9, .btn-10, .btn-11, .btn-12 {\r\n\tbackground-color: #f7f7f7;\r\n\tbackground-image: -moz-linear-gradient(top, #f7f7f7, #f3f2f2);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f7f7f7),\r\n\t\tcolor-stop(1, #f3f2f2));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7f7f7',\r\n\t\tendColorstr='#f3f2f2', GradientType='0');\r\n\t-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7f7f7',\r\n\t\tendColorstr='#f3f2f2');\r\n\tbackground-image: linear-gradient(to top, #f7f7f7 0, #f3f2f2 100%);\r\n\t-webkit-border-radius: 2px;\r\n\t-moz-border-radius: 2px;\r\n\tborder-radius: 2px;\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\theight: 18px;\r\n\tline-height: 18px;\r\n\tborder: 1px solid #ddd;\r\n\tpadding: 2px 14px 3px;\r\n\tcolor: #323333\r\n}\r\n\r\n.btn-9:hover, .btn-10:hover, .btn-11:hover, .btn-12:hover {\r\n\tbackground-color: #f8f8f8;\r\n\tbackground-image: -moz-linear-gradient(top, #f8f8f8, #f5f5f5);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f8f8f8),\r\n\t\tcolor-stop(1, #f5f5f5));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8',\r\n\t\tendColorstr='whitesmoke', GradientType='0');\r\n\t-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8',\r\n\t\tendColorstr='whitesmoke');\r\n\tbackground-image: linear-gradient(to top, #f8f8f8 0, #f5f5f5 100%)\r\n}\r\n\r\n.btn-9:link, .btn-9:visited, .btn-10:link, .btn-10:visited, .btn-11:link,\r\n\t.btn-11:visited, .btn-12:link, .btn-12:visited {\r\n\tcolor: #323333;\r\n\ttext-decoration: none\r\n}\r\n\r\n.btn-13, .btn-14, .btn-15, .btn-16 {\r\n\tbackground: #fff;\r\n\t-webkit-border-radius: 2px;\r\n\t-moz-border-radius: 2px;\r\n\tborder-radius: 2px;\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\theight: 18px;\r\n\tline-height: 18px;\r\n\tborder: 1px solid #ddd;\r\n\tpadding: 2px 14px 3px;\r\n\tcolor: #ccc\r\n}\r\n\r\n.btn-13:hover, .btn-14:hover, .btn-15:hover, .btn-16:hover {\r\n\tbackground: #fff\r\n}\r\n\r\n.btn-13:link, .btn-13:visited, .btn-14:link, .btn-14:visited, .btn-15:link,\r\n\t.btn-15:visited, .btn-16:link, .btn-16:visited {\r\n\tcolor: #ccc;\r\n\ttext-decoration: none\r\n}\r\n\r\n.btn-10, .btn-14 {\r\n\tpadding: 5px 14px\r\n}\r\n\r\n#menu {\r\n\t-webkit-border-radius: 5px, 5px, 5px, 5px;\r\n\t-moz-border-radius: 5px, 5px, 5px, 5px;\r\n\tborder-radius: 5px, 5px, 5px, 5px;\r\n\tbackground-color: #fff;\r\n\tpadding: 15px 5px 15px 10px;\r\n\twidth: 115px;\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n#menu h3 {\r\n\tfont-family: \"microsoft yahei\";\r\n\tfont-size: 16px;\r\n\tmargin-bottom: 8px;\r\n\tcolor: #333\r\n}\r\n\r\n#menu dl {\r\n\tline-height: 24px\r\n}\r\n\r\n#menu dl dt {\r\n\tpadding-left: 20px;\r\n\theight: 24px;\r\n\tpadding-bottom: 2px\r\n}\r\n\r\n#menu dl dt a {\r\n\tdisplay: inline-block;\r\n\tvertical-align: middle;\r\n\tcolor: #333\r\n}\r\n\r\n#menu dl dt a:hover {\r\n\tcolor: #e4393c;\r\n\ttext-decoration: underline\r\n}\r\n\r\n#menu dl dt a.curr {\r\n\tcolor: #e4393c;\r\n\tfont-weight: 700\r\n}\r\n\r\n#menu dl dt b {\r\n\tdisplay: inline-block;\r\n\tvertical-align: middle;\r\n\twidth: 11px;\r\n\theight: 11px;\r\n\tmargin-right: 4px;\r\n\toverflow: hidden;\r\n\tcursor: pointer;\r\n\tbackground: url(/images/myjd-common-icon.png) -8px -8px\r\n}\r\n\r\n#menu dl dt.hc {\r\n\tpadding-left: 5px\r\n}\r\n\r\n#menu dl dd {\r\n\tpadding: 0 0 2px 20px;\r\n\tcolor: #666\r\n}\r\n\r\n#menu dl dd a {\r\n\tcolor: #777\r\n}\r\n\r\n#menu dl dd a:hover {\r\n\tcolor: #e4393c;\r\n\ttext-decoration: underline\r\n}\r\n\r\n#menu dl dd b {\r\n\tcolor: red;\r\n\tfont-weight: 400\r\n}\r\n\r\n#menu dl dd .curr a {\r\n\tcolor: #e4393c;\r\n\tfont-weight: 700\r\n}\r\n\r\n#menu dl dd.last {\r\n\tborder-bottom: 1px dashed #e9eaec;\r\n\tmargin-bottom: 6px;\r\n\tpadding-bottom: 6px\r\n}\r\n\r\n#menu dl.last dd.last {\r\n\tborder-bottom: 0\r\n}\r\n\r\n#menu dl.close dd {\r\n\tdisplay: none\r\n}\r\n\r\n#menu dl.close dt b {\r\n\tbackground-position: -36px -8px\r\n}\r\n\r\n.da-box {\r\n\twidth: 130px;\r\n\tmargin-bottom: 10px;\r\n\toverflow: hidden\r\n}\r\n\r\n#left #da-home {\r\n\tmax-height: 125px\r\n}\r\n\r\n.form .item {\r\n\tdisplay: inline-block;\r\n\tdisplay: block;\r\n\tmargin-bottom: 20px;\r\n\tline-height: 30px\r\n}\r\n\r\n.form .item:after {\r\n\tcontent: \".\";\r\n\tdisplay: block;\r\n\theight: 0;\r\n\tclear: both;\r\n\tvisibility: hidden\r\n}\r\n\r\n* html .form .item {\r\n\theight: 1%\r\n}\r\n\r\n*+html .form .item {\r\n\tmin-height: 1%\r\n}\r\n\r\n.form .item span.label {\r\n\tfloat: left;\r\n\theight: 18px;\r\n\tline-height: 18px;\r\n\tpadding: 6px 0;\r\n\twidth: 100px;\r\n\ttext-align: right\r\n}\r\n\r\n.form em {\r\n\tcolor: #e4393c\r\n}\r\n\r\n.form .itxt, .form .selt, .form .sele, .form .area {\r\n\tline-height: 18px;\r\n\tborder: 1px solid #ccc;\r\n\tpadding: 5px;\r\n\tfloat: none\r\n}\r\n\r\n.form .text {\r\n\tline-height: 18px;\r\n\tborder: 1px solid #ccc;\r\n\tpadding: 5px\r\n}\r\n\r\n.form .selt, .form .sele {\r\n\twidth: 100px\r\n}\r\n\r\n.form .selt1 {\r\n\twidth: 70px\r\n}\r\n\r\n.form .itxt, .form .text {\r\n\theight: 18px;\r\n\twidth: 127px;\r\n\tpadding: 5px 23px 5px 5px\r\n}\r\n\r\n.form .itxt1 {\r\n\twidth: 287px\r\n}\r\n\r\n.form .itxt-focus {\r\n\tborder-color: #71b247\r\n}\r\n\r\n.form .itxt-error {\r\n\tborder-color: #e4393c;\r\n\tcolor: #e4393c;\r\n\tbackground: url(i/error-ico.png) right center no-repeat\r\n}\r\n\r\n.form .itxt-succ {\r\n\tbackground: url(i/succ-ico.png) right center no-repeat\r\n}\r\n\r\n.form .prompt-error {\r\n\tclear: both;\r\n\tmargin-top: 5px;\r\n\tcolor: #e4393c;\r\n\tline-height: 18px\r\n}\r\n\r\n.form .prompt-03 {\r\n\tclear: both;\r\n\tmargin-top: 5px;\r\n\tcolor: #999;\r\n\tline-height: 18px\r\n}\r\n\r\n.form label {\r\n\tfloat: none\r\n}\r\n\r\n.form .jdradio, .form .jdcheckbox {\r\n\tfloat: none;\r\n\tvertical-align: -2px;\r\n\t_vertical-align: -1px;\r\n\tmargin: 0 3px 0 0;\r\n\tpadding: 0\r\n}\r\n\r\n.mod-main {\r\n\tpadding: 10px;\r\n\tbackground: #fff;\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n.mod-main .mt {\r\n\tdisplay: inline-block;\r\n\tdisplay: block;\r\n\tpadding: 10px\r\n}\r\n\r\n.mod-main .mt:after {\r\n\tcontent: \".\";\r\n\tdisplay: block;\r\n\theight: 0;\r\n\tclear: both;\r\n\tvisibility: hidden\r\n}\r\n\r\n* html .mod-main .mt {\r\n\theight: 1%\r\n}\r\n\r\n*+html .mod-main .mt {\r\n\tmin-height: 1%\r\n}\r\n\r\n.mod-main .mt h3 {\r\n\tfloat: left;\r\n\tfont-family: \"microsoft yahei\";\r\n\tfont-size: 16px;\r\n\tcolor: #333;\r\n\tline-height: 20px\r\n}\r\n\r\n.mod-main .mt .extra-l {\r\n\tfloat: left\r\n}\r\n\r\n.mod-main .mt .extra-l li {\r\n\tfloat: left;\r\n\tpadding-left: 20px\r\n}\r\n\r\n.mod-main .mt .extra-l li a {\r\n\tdisplay: inline-block;\r\n\tpadding-bottom: 2px;\r\n\tcolor: #999\r\n}\r\n\r\n.mod-main .mt .extra-l li a:hover {\r\n\tcolor: #e4393c\r\n}\r\n\r\n.mod-main .mt .extra-l li a:hover em {\r\n\tcolor: #e4393c\r\n}\r\n\r\n.mod-main .mt .extra-l li a.curr {\r\n\tpadding-bottom: 0;\r\n\tcolor: #e4393c;\r\n\tborder-bottom: 2px solid #e4393c;\r\n\tfont-weight: 700;\r\n\tcursor: default;\r\n\ttext-decoration: none\r\n}\r\n\r\n.mod-main .mt .extra-l li.fore-last {\r\n\tborder-right: 0\r\n}\r\n\r\n.mod-main .mt .extra-l em {\r\n\tmargin-left: 5px\r\n}\r\n\r\n.mod-main .mt .extra-r {\r\n\tfloat: right\r\n}\r\n\r\n.mod-main .mc {\r\n\toverflow: visible\r\n}\r\n\r\n.follow {\r\n\tposition: relative;\r\n\toverflow: visible;\r\n\tpadding: 0 20px\r\n}\r\n\r\n.follow .slider-show {\r\n\toverflow: hidden;\r\n\tposition: relative;\r\n\tline-height: 0\r\n}\r\n\r\n.follow .slider-show-ctn {\r\n\tposition: relative;\r\n\tz-index: 0;\r\n\tline-height: 18px\r\n}\r\n\r\n.follow ul {\r\n\tdisplay: inline-block;\r\n\tdisplay: block;\r\n\theight: 174px;\r\n\tz-index: 1\r\n}\r\n\r\n.follow ul:after {\r\n\tcontent: \".\";\r\n\tdisplay: block;\r\n\theight: 0;\r\n\tclear: both;\r\n\tvisibility: hidden\r\n}\r\n\r\n* html .follow ul {\r\n\theight: 1%\r\n}\r\n\r\n*+html .follow ul {\r\n\tmin-height: 1%\r\n}\r\n\r\n.follow ul li {\r\n\tfloat: left;\r\n\tpadding: 10px 0;\r\n\theight: 154px;\r\n\tmargin: 0 5px;\r\n\twidth: 130px;\r\n\ttext-align: center\r\n}\r\n\r\n.follow .p-price {\r\n\tfont-family: verdana;\r\n\tcolor: #333;\r\n\tline-height: 25px\r\n}\r\n\r\n.follow .p-cut {\r\n\tbackground: #7e8597;\r\n\tcolor: #fff;\r\n\tpadding: 0 5px;\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1\r\n}\r\n\r\n.follow .p-cut b {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tfont-weight: 400\r\n}\r\n\r\n.follow .p-cut span.num {\r\n\tbackground: #525d79;\r\n\tdisplay: inline-block;\r\n\twidth: 20px;\r\n\theight: 18px;\r\n\ttext-align: center;\r\n\tvertical-align: middle;\r\n\toverflow: hidden;\r\n\tmargin: 0 -5px 0 5px;\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1\r\n}\r\n\r\n.follow .ctrl {\r\n\tposition: absolute;\r\n\twidth: 19px;\r\n\theight: 159px;\r\n\tcursor: pointer;\r\n\toverflow: hidden\r\n}\r\n\r\n.follow .ctrl b {\r\n\tposition: absolute;\r\n\twidth: 19px;\r\n\theight: 31px;\r\n\ttop: 50%;\r\n\tmargin-top: -15px;\r\n\toverflow: hidden;\r\n\tz-index: 1\r\n}\r\n\r\n.follow .ctrl.prev {\r\n\tleft: 0;\r\n\tdisplay: none\r\n}\r\n\r\n.follow .ctrl.prev b {\r\n\tbackground:\r\n\t\turl(http://misc.360buyimg.com/201007/skin/df/i/20130423A.jpg) 0 0\r\n\t\tno-repeat\r\n}\r\n\r\n.follow .ctrl.prev:hover {\r\n\tleft: 0\r\n}\r\n\r\n.follow .ctrl.prev:hover b {\r\n\tbackground:\r\n\t\turl(http://misc.360buyimg.com/201007/skin/df/i/20130423A.jpg) 0 -31px\r\n\t\tno-repeat\r\n}\r\n\r\n.follow .ctrl.next {\r\n\tright: 0;\r\n\tdisplay: none\r\n}\r\n\r\n.follow .ctrl.next b {\r\n\tbackground:\r\n\t\turl(http://misc.360buyimg.com/201007/skin/df/i/20130423A.jpg) -20px 0\r\n\t\tno-repeat\r\n}\r\n\r\n.follow .ctrl.next:hover {\r\n\tright: 0\r\n}\r\n\r\n.follow .ctrl.next:hover b {\r\n\tbackground:\r\n\t\turl(http://misc.360buyimg.com/201007/skin/df/i/20130423A.jpg) -20px\r\n\t\t-31px no-repeat\r\n}\r\n\r\n.follow.fol-history ul {\r\n\theight: 166px\r\n}\r\n\r\n.follow.fol-history ul li {\r\n\twidth: 120px;\r\n\theight: 146px\r\n}\r\n\r\n.fol-history .time {\r\n\tposition: relative;\r\n\tborder-top: 1px solid #e9eaec;\r\n\tpadding: 10px 0 0;\r\n\theight: 18px\r\n}\r\n\r\n.fol-history .time b {\r\n\tposition: absolute;\r\n\tdisplay: inline-block;\r\n\twidth: 9px;\r\n\theight: 9px;\r\n\tline-height: 9px;\r\n\toverflow: hidden;\r\n\ttop: -4px;\r\n\tleft: 55px;\r\n\tbackground: url(i/icon2.png) 0 -28px\r\n}\r\n\r\n.follow-shop {\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n.follow-shop ul {\r\n\theight: 148px\r\n}\r\n\r\n.follow-shop ul li {\r\n\tpadding: 9px 0;\r\n\tborder: 1px solid #f6f6f6;\r\n\theight: 134px;\r\n\twidth: 128px;\r\n\toverflow: hidden\r\n}\r\n\r\n.follow-shop ul .p-img {\r\n\theight: 36px;\r\n\tmargin-bottom: 15px;\r\n\tpadding: 5px 10px\r\n}\r\n\r\n.follow-shop ul .p-name {\r\n\theight: 1.5em;\r\n\tline-height: 1.5em;\r\n\toverflow: hidden;\r\n\tpadding: 0 5px\r\n}\r\n\r\n.tooltip {\r\n\tposition: relative;\r\n\twidth: 100px;\r\n\tmargin: 0 auto;\r\n\tz-index: 2\r\n}\r\n\r\n.tooltip s {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\twidth: 9px;\r\n\theight: 5px;\r\n\tbackground: url(i/icon2.png) 0 -38px no-repeat;\r\n\toverflow: hidden;\r\n\tmargin-left: 5px\r\n}\r\n\r\n.tooltip s.i1 {\r\n\tbackground-position: 0 -48px\r\n}\r\n\r\n.tooltip s.i2 {\r\n\tbackground-position: 0 -38px\r\n}\r\n\r\n.tooltip .prompt-01 {\r\n\tposition: absolute;\r\n\tz-index: 1;\r\n\twidth: 428px;\r\n\tright: 90px;\r\n\ttop: -22px;\r\n\tpadding: 9px;\r\n\tdisplay: none\r\n}\r\n\r\n.tooltip .prompt-01 .pc {\r\n\tmin-height: 235px\r\n}\r\n\r\n.prompt-01 {\r\n\tposition: absolute;\r\n\twidth: 122px;\r\n\tborder: 1px solid #ddd;\r\n\tbackground: #fff;\r\n\t-webkit-box-shadow: 0 0 2px 2px #eee;\r\n\t-moz-box-shadow: 0 0 2px 2px #eee;\r\n\tbox-shadow: 0 0 2px 2px #eee;\r\n\t-webkit-border-radius: 1px;\r\n\t-moz-border-radius: 1px;\r\n\tborder-radius: 1px\r\n}\r\n\r\n.prompt-01 .pc {\r\n\tbackground: #fff;\r\n\tpadding: 10px;\r\n\tcolor: #333;\r\n\ttext-align: left;\r\n\toverflow: hidden\r\n}\r\n\r\n.prompt-01 .pc dl {\r\n\tborder-bottom: 1px solid #ccc;\r\n\tline-height: 16px;\r\n\tmargin-bottom: 5px;\r\n\tpadding-bottom: 5px;\r\n\toverflow: hidden\r\n}\r\n\r\n.prompt-01 .pc dl dt, .prompt-01 .pc dl dd {\r\n\tfont-weight: 700\r\n}\r\n\r\n.prompt-01 .pc li {\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n.prompt-01 .pc .close {\r\n\tposition: absolute;\r\n\ttop: 15px;\r\n\tright: 15px;\r\n\twidth: 17px;\r\n\theight: 17px;\r\n\tbackground: url(i/jdleft.png) -46px 0;\r\n\tcursor: pointer\r\n}\r\n\r\n.prompt-01 .p-arrow {\r\n\tposition: absolute;\r\n\tbackground: url(i/arrow-gray.png) no-repeat\r\n}\r\n\r\n.prompt-01 .p-arrow-left {\r\n\tright: -8px;\r\n\ttop: 20px;\r\n\twidth: 8px;\r\n\theight: 16px;\r\n\tbackground-position: -7px 0\r\n}\r\n\r\n.prompt-01 .p-arrow-right {\r\n\tleft: -8px;\r\n\ttop: 20px;\r\n\twidth: 8px;\r\n\theight: 16px;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.prompt-01 .p-arrow-top {\r\n\tleft: 20px;\r\n\ttop: -8px;\r\n\twidth: 16px;\r\n\theight: 8px;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.prompt-01 .p-arrow-bottom {\r\n\tleft: 20px;\r\n\tbottom: -7px;\r\n\twidth: 16px;\r\n\theight: 8px;\r\n\tbackground-position: 0 -7px\r\n}\r\n\r\n.prompt-01 .fore1 {\r\n\tmin-height: 15px;\r\n\t_height: 15px\r\n}\r\n\r\n.prompt-01 .fore2 {\r\n\tfloat: left;\r\n\twidth: 260px\r\n}\r\n\r\n.prompt-01 .pc dt, .prompt-01 .fore1 {\r\n\twidth: 140px;\r\n\tfloat: left;\r\n\tmargin-right: 6px\r\n}\r\n\r\n.prompt-01 .pr-more, .prompt-01 .pr-select {\r\n\tmargin: 0 -10px;\r\n\tpadding: 1px 0 1px 10px;\r\n\tcursor: pointer\r\n}\r\n\r\n.prompt-01 .icon-show {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tposition: relative;\r\n\ttop: 2px;\r\n\tmargin-left: 2px;\r\n\twidth: 14px;\r\n\theight: 14px;\r\n\tline-height: 0;\r\n\tfont-size: 0;\r\n\toverflow: hidden;\r\n\tbackground: url(i/icon2.png) 0 0\r\n}\r\n\r\n.prompt-01 .pr-select {\r\n\tbackground-color: #f9f3d3\r\n}\r\n\r\n.prompt-01 .pr-select .icon-show {\r\n\tbackground-position: 0 014px\r\n}\r\n\r\n#order02, #order02 .mc, #order02 .tb-void, #order02 .mt {\r\n\toverflow: visible\r\n}\r\n\r\n#myjd-shortcut {\r\n\tfloat: left;\r\n\twidth: 100%;\r\n\tcolor: #333;\r\n\tpadding: 10px 0\r\n}\r\n\r\n#myjd-shortcut .tit {\r\n\tfloat: left;\r\n\tline-height: 32px;\r\n\tfont-size: 20px;\r\n\tfont-family: \"microsoft yahei\";\r\n\tmargin-right: 15px\r\n}\r\n\r\n#myjd-shortcut .tit a {\r\n\tcolor: #333\r\n}\r\n\r\n#myjd-shortcut .tit a:hover {\r\n\tcolor: #e4393c\r\n}\r\n\r\n#myjd-shortcut .mypage {\r\n\tfloat: left;\r\n\tline-height: 36px;\r\n\tpadding: 0 15px;\r\n\tfont-size: 14px\r\n}\r\n\r\n#myjd-shortcut .mypage a {\r\n\tcolor: #333\r\n}\r\n\r\n#myjd-shortcut .mypage a:hover {\r\n\tcolor: #e4393c\r\n}\r\n\r\n#myjd-shortcut .myjd-set {\r\n\tfloat: left;\r\n\twidth: 84px;\r\n\tposition: relative\r\n}\r\n\r\n#myjd-shortcut .myjd-set dt {\r\n\theight: 34px;\r\n\tline-height: 34px;\r\n\tpadding: 1px 16px;\r\n\tfont-size: 14px;\r\n\tcursor: pointer\r\n}\r\n\r\n#myjd-shortcut .myjd-set dt span {\r\n\tdisplay: inline-block\r\n}\r\n\r\n#myjd-shortcut .myjd-set dt span i {\r\n\tcolor: red;\r\n\tfont-weight: 400;\r\n\tfont-style: normal;\r\n\tfont-size: 12px\r\n}\r\n\r\n#myjd-shortcut .myjd-set dt b {\r\n\tbackground: url(/images/myjd-common-icon.png) -8px -24px no-repeat;\r\n\tdisplay: inline-block;\r\n\tvertical-align: middle;\r\n\twidth: 12px;\r\n\theight: 36px;\r\n\tmargin-left: 7px;\r\n\ttransition: all .2s ease-in 0s\r\n}\r\n\r\n#myjd-shortcut .myjd-set dd {\r\n\tposition: absolute;\r\n\twidth: 80px;\r\n\ttop: 34px;\r\n\tleft: 0;\r\n\tdisplay: none;\r\n\ttext-align: left;\r\n\tbackground-color: #fff;\r\n\tpadding: 1px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0\r\n}\r\n\r\n#myjd-shortcut .myjd-set a {\r\n\tdisplay: inline-block;\r\n\twidth: 100%;\r\n\tline-height: 28px\r\n}\r\n\r\n#myjd-shortcut .myjd-set a:hover {\r\n\tbackground-color: #f5f5f5\r\n}\r\n\r\n#myjd-shortcut .myjd-set a span {\r\n\tpadding-left: 15px\r\n}\r\n\r\n#myjd-shortcut .myjd-set a span b {\r\n\tcolor: red;\r\n\tfont-weight: 400\r\n}\r\n\r\n#myjd-shortcut .myjd-set.hover {\r\n\tz-index: 10\r\n}\r\n\r\n#myjd-shortcut .myjd-set.hover dt {\r\n\tbackground-color: #fff;\r\n\tborder: 1px solid #ddd;\r\n\tborder-bottom: 0;\r\n\tpadding: 0 15px;\r\n\t-webkit-box-shadow: 0 3px 5px rgba(153, 153, 153, .5);\r\n\t-moz-box-shadow: 0 3px 5px rgba(153, 153, 153, .5);\r\n\tbox-shadow: 0 3px 5px rgba(153, 153, 153, .5)\r\n}\r\n\r\n#myjd-shortcut .myjd-set.hover dt b {\r\n\ttransform: rotate(180deg);\r\n\t-webkit-transform: rotate(180deg);\r\n\tfilter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\r\n}\r\n\r\n#myjd-shortcut .myjd-set.hover dd {\r\n\tdisplay: block;\r\n\t-webkit-box-shadow: 0 3px 5px rgba(153, 153, 153, .5);\r\n\t-moz-box-shadow: 0 3px 5px rgba(153, 153, 153, .5);\r\n\tbox-shadow: 0 3px 5px rgba(153, 153, 153, .5)\r\n}\r\n\r\n#myjd-shortcut .myjd-info {\r\n\tfloat: left;\r\n\twidth: 106px;\r\n\tposition: relative\r\n}\r\n\r\n#myjd-shortcut .myjd-info dt {\r\n\theight: 34px;\r\n\tline-height: 34px;\r\n\tpadding: 1px 16px;\r\n\tfont-size: 14px;\r\n\tcursor: pointer\r\n}\r\n\r\n#myjd-shortcut .myjd-info dt span {\r\n\tdisplay: inline-block\r\n}\r\n\r\n#myjd-shortcut .myjd-info dt span i {\r\n\tcolor: red;\r\n\tfont-weight: 400;\r\n\tfont-style: normal;\r\n\tfont-size: 12px\r\n}\r\n\r\n#myjd-shortcut .myjd-info dt b {\r\n\tbackground: url(/images/myjd-common-icon.png) -8px -24px no-repeat;\r\n\tdisplay: inline-block;\r\n\tvertical-align: middle;\r\n\twidth: 12px;\r\n\theight: 36px;\r\n\tmargin-left: 7px;\r\n\ttransition: all .2s ease-in 0s\r\n}\r\n\r\n#myjd-shortcut .myjd-info dd {\r\n\tposition: absolute;\r\n\twidth: 102px;\r\n\ttop: 34px;\r\n\tleft: 0;\r\n\tdisplay: none;\r\n\ttext-align: left;\r\n\tbackground-color: #fff;\r\n\tpadding: 1px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0\r\n}\r\n\r\n#myjd-shortcut .myjd-info a {\r\n\tdisplay: inline-block;\r\n\twidth: 100%;\r\n\tline-height: 28px\r\n}\r\n\r\n#myjd-shortcut .myjd-info a:hover {\r\n\tbackground-color: #f5f5f5\r\n}\r\n\r\n#myjd-shortcut .myjd-info a span {\r\n\tpadding-left: 15px\r\n}\r\n\r\n#myjd-shortcut .myjd-info a span b {\r\n\tcolor: red;\r\n\tfont-weight: 400\r\n}\r\n\r\n#myjd-shortcut .myjd-info.hover {\r\n\tz-index: 10\r\n}\r\n\r\n#myjd-shortcut .myjd-info.hover dt {\r\n\tbackground-color: #fff;\r\n\tborder: 1px solid #ddd;\r\n\tborder-bottom: 0;\r\n\tpadding: 0 15px;\r\n\t-webkit-box-shadow: 0 3px 5px rgba(153, 153, 153, .5);\r\n\t-moz-box-shadow: 0 3px 5px rgba(153, 153, 153, .5);\r\n\tbox-shadow: 0 3px 5px rgba(153, 153, 153, .5)\r\n}\r\n\r\n#myjd-shortcut .myjd-info.hover dt b {\r\n\ttransform: rotate(180deg);\r\n\t-webkit-transform: rotate(180deg);\r\n\tfilter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\r\n}\r\n\r\n#myjd-shortcut .myjd-info.hover dd {\r\n\tdisplay: block;\r\n\t-webkit-box-shadow: 0 3px 5px rgba(153, 153, 153, .5);\r\n\t-moz-box-shadow: 0 3px 5px rgba(153, 153, 153, .5);\r\n\tbox-shadow: 0 3px 5px rgba(153, 153, 153, .5)\r\n}\r\n\r\n#myjd-shortcut .extra {\r\n\tfloat: right\r\n}\r\n\r\n#myjd-shortcut .extra .fc-msg {\r\n\tcolor: #999;\r\n\tline-height: 36px\r\n}\r\n\r\n#myjd-shortcut .extra .fc-msg .num {\r\n\tfont-family: vernada;\r\n\tfont-size: 14px\r\n}\r\n\r\n#myjd-shortcut .extra .fc-msg b {\r\n\tpadding: 0 10px;\r\n\tfont-weight: 400\r\n}\r\n\r\n#myjd-shortcut .extra .fc-msg a {\r\n\tcolor: #999\r\n}\r\n\r\n#myjd-shortcut .extra .fc-msg a:hover {\r\n\tcolor: #e4393c\r\n}\r\n\r\n.tb-order {\r\n\tborder-collapse: collapse;\r\n\tborder-spacing: 0;\r\n\ttext-align: center\r\n}\r\n\r\n.tb-order td {\r\n\tpadding: 5px;\r\n\theight: 82px;\r\n\tborder-bottom: 1px dotted #e6e6e6\r\n}\r\n\r\n.tb-order .list-last td {\r\n\tborder-bottom: 0\r\n}\r\n\r\n.tb-order .img-list {\r\n\toverflow: hidden;\r\n\ttext-align: left\r\n}\r\n\r\n.tb-order .img-list img {\r\n\tmargin-right: 5px\r\n}\r\n\r\n.tb-order .img-list .more-icon {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\twidth: 34px;\r\n\theight: 7px;\r\n\tbackground: url(i/more.png) no-repeat;\r\n\tvertical-align: middle;\r\n\tmargin-left: 25px\r\n}\r\n\r\n.f-tab ul {\r\n\theight: 25px;\r\n\tborder-left: 1px solid #e9eaec\r\n}\r\n\r\n.f-tab ul li {\r\n\tfloat: left\r\n}\r\n\r\n.f-tab ul li a {\r\n\tborder: 1px solid #e9eaec;\r\n\tborder-left: 0;\r\n\tdisplay: block;\r\n\theight: 23px;\r\n\tline-height: 23px;\r\n\twidth: 63px;\r\n\ttext-align: center;\r\n\ttext-decoration: none;\r\n\tbackground-color: #f8f8f8\r\n}\r\n\r\n.f-tab ul li a.curr {\r\n\tcolor: #e4393c;\r\n\tfont-weight: 700;\r\n\tbackground-color: #fff;\r\n\tborder-bottom: 1px solid #fff\r\n}\r\n\r\n.f-tab-con {\r\n\toverflow: hidden\r\n}\r\n\r\n.tip-box .op-btns {\r\n\tmargin-top: 20px\r\n}\r\n\r\n.tip-box h3 {\r\n\tfont-family: \"microsoft yahei\";\r\n\tfont-size: 16px;\r\n\tline-height: 30px\r\n}\r\n\r\n.tip-box .links {\r\n\tmargin-left: -6px\r\n}\r\n\r\n.tip-box .links ul {\r\n\tdisplay: inline-block;\r\n\tdisplay: block\r\n}\r\n\r\n.tip-box .links ul:after {\r\n\tcontent: \".\";\r\n\tdisplay: block;\r\n\theight: 0;\r\n\tclear: both;\r\n\tvisibility: hidden\r\n}\r\n\r\n* html .tip-box .links ul {\r\n\theight: 1%\r\n}\r\n\r\n*+html .tip-box .links ul {\r\n\tmin-height: 1%\r\n}\r\n\r\n.tip-box .links li {\r\n\tfloat: left;\r\n\tborder-left: 1px solid #ccc;\r\n\tpadding: 0 5px\r\n}\r\n\r\n.tip-box .item-fore {\r\n\toverflow: hidden\r\n}\r\n\r\n.tip-box a {\r\n\tcolor: #005ea7\r\n}\r\n\r\n.icon-box {\r\n\tposition: relative;\r\n\t_height: 48px;\r\n\t_overflow: visible\r\n}\r\n\r\n.icon-box .m-icon {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\theight: 0;\r\n\twidth: 48px;\r\n\theight: 48px;\r\n\tbackground: url(i/icon48.png) no-repeat\r\n}\r\n\r\n.icon-box .succ-icon {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.icon-box .warn-icon {\r\n\tbackground-position: -96px 0\r\n}\r\n\r\n.icon-box .item-fore {\r\n\tmargin-left: 58px\r\n}\r\n\r\ntable {\r\n\tborder-collapse: collapse\r\n}\r\n\r\n.tb-void {\r\n\tline-height: 18px;\r\n\ttext-align: center;\r\n\tborder: 1px solid #f2f2f2;\r\n\tborder-top: 0;\r\n\tcolor: #333;\r\n\twidth: 100%\r\n}\r\n\r\n.tb-void td {\r\n\tborder: 1px solid #f2f2f2;\r\n\tpadding: 10px 5px\r\n}\r\n\r\n.tb-void th {\r\n\tbackground: #f5f5f5;\r\n\theight: 32px;\r\n\tline-height: 32px;\r\n\tpadding: 0 5px;\r\n\ttext-align: center;\r\n\tfont-weight: 400\r\n}\r\n\r\n.tb-void a {\r\n\tcolor: #005ea7\r\n}\r\n\r\n.tb-void .img-list {\r\n\ttext-align: left\r\n}\r\n\r\n.tb-void .ar {\r\n\ttext-align: right\r\n}\r\n\r\n.tb-void .al {\r\n\ttext-align: left\r\n}\r\n\r\n.tb-none th {\r\n\tbackground: #f5f5f5;\r\n\theight: 32px;\r\n\tline-height: 32px;\r\n\ttext-align: center;\r\n\tfont-weight: 400\r\n}\r\n\r\n.tb-none td {\r\n\tborder: 0;\r\n\tpadding: 6px 0;\r\n\ttext-align: center\r\n}\r\n\r\n.tb-line td {\r\n\tborder: 0;\r\n\tborder-bottom: 1px dotted #f2f2f2\r\n}\r\n\r\n.tb-left {\r\n\ttext-align: left\r\n}\r\n\r\n.tb-left td {\r\n\tpadding: 5px 0 5px 20px\r\n}\r\n\r\n.mod-comm {\r\n\tpadding: 10px 20px 20px\r\n}\r\n\r\n.mod-comm .mt {\r\n\tpadding: 10px 0\r\n}\r\n\r\n.mod-comm .mt h3 {\r\n\tfont-size: 12px;\r\n\tcolor: #666;\r\n\tfont-family: '\\5b8b\\4f53';\r\n\tline-height: 18px\r\n}\r\n\r\n.mod-comm .mc {\r\n\tline-height: 20px\r\n}\r\n\r\n.mod-comm .smt-01 {\r\n\tbackground: #f5f5f5;\r\n\theight: 32px;\r\n\tline-height: 32px;\r\n\tpadding-left: 20px;\r\n\tmargin-top: 10px\r\n}\r\n\r\n.mod-comm .smc-01 {\r\n\tborder: 1px solid #f2f2f2;\r\n\tpadding: 20px 20px 10px\r\n}\r\n\r\n.mod-comm .extra-r a.btn-close {\r\n\tcolor: #333\r\n}\r\n\r\n.mod-comm .extra-r a.btn-close b {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tbackground: url(i/icon2.png) 0 -58px no-repeat;\r\n\twidth: 7px;\r\n\theight: 5px;\r\n\toverflow: hidden;\r\n\tvertical-align: middle;\r\n\tmargin-left: 5px\r\n}\r\n\r\n.mod-comm .extra-r a.btn-close:hover {\r\n\tcolor: #333\r\n}\r\n\r\n.mod-comm .extra-r a.btn-close.down b {\r\n\tbackground-position: 0 -63px\r\n}\r\n\r\n.lefta-box .mt .extra-l li {\r\n\tpadding: 0;\r\n\tpadding-right: 20px\r\n}\r\n\r\n.remind-box {\r\n\tbackground: #fffdee;\r\n\tborder: 1px solid #edd28b;\r\n\tpadding: 10px\r\n}\r\n\r\n.remind-box .smt {\r\n\tdisplay: inline-block;\r\n\tdisplay: block\r\n}\r\n\r\n.remind-box .smt:after {\r\n\tcontent: \".\";\r\n\tdisplay: block;\r\n\theight: 0;\r\n\tclear: both;\r\n\tvisibility: hidden\r\n}\r\n\r\n* html .remind-box .smt {\r\n\theight: 1%\r\n}\r\n\r\n*+html .remind-box .smt {\r\n\tmin-height: 1%\r\n}\r\n\r\n.remind-box .info-list li {\r\n\tfloat: left;\r\n\tmargin-right: 20px\r\n}\r\n\r\n.remind-box .info-list strong {\r\n\tfont-size: 14px\r\n}\r\n\r\n.remind-box .smc {\r\n\tmargin-top: 10px;\r\n\tpadding-top: 10px;\r\n\tline-height: 22px;\r\n\tborder-top: 1px solid #f2f2f2\r\n}\r\n\r\n.user-info-cont strong {\r\n\tfont-size: 16px;\r\n\tfont-family: \"microsoft yahei\"\r\n}\r\n\r\n.user-info-cont .num {\r\n\tmargin: 0 5px\r\n}\r\n\r\n.im2013:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n.im2013, .im2013off {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tbackground: url(i/im2013.png) no-repeat 0 0;\r\n\twidth: 62px;\r\n\theight: 18px;\r\n\tline-height: 18px;\r\n\tpadding: 1px 0 2px 31px;\r\n\tcolor: #fff;\r\n\tmargin-right: 0;\r\n\toverflow: hidden;\r\n\tvertical-align: middle\r\n}\r\n\r\n.im2013 strong, .im2013off strong {\r\n\tfont-weight: 400;\r\n\tcolor: #fff;\r\n\tfloat: left;\r\n\tline-height: 18px\r\n}\r\n\r\n.im2013off {\r\n\tbackground-position: 0 -22px;\r\n\tcursor: default;\r\n\tcolor: #ccc\r\n}\r\n\r\n.im2013off strong {\r\n\tcolor: #ccc\r\n}\r\n\r\n.pagin-m i {\r\n\tfont-style: normal\r\n}\r\n\r\n.pagin-m .prev-disabled b {\r\n\tleft: 9px\r\n}\r\n\r\n.pagin-m .next-disabled b {\r\n\tright: 9px\r\n}\r\n\r\n.pagin-m a {\r\n\tfont-weight: 700\r\n}\r\n\r\n.pagin a, .pagin span {\r\n\tbackground: #fff\r\n}\r\n\r\n#safeinfo {\r\n\tpadding: 5px 15px;\r\n\tdisplay: none;\r\n\tborder: 1px solid #EDD28B;\r\n\tbackground: #FFFDEE\r\n}\r\n\r\n.icon-face {\r\n\tfloat: left;\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tbackground-image:\r\n\t\turl(http://misc.360buyimg.com/jd2008/skin/df/i/iconface.png);\r\n\tmargin-top: 10px\r\n}\r\n\r\n#safeinfo .mc {\r\n\tmargin-left: 60px\r\n}\r\n\r\n#safeinfo .btn-3 {\r\n\tbackground-color: #e74649;\r\n\tbackground-image: -moz-linear-gradient(top, #e74649, #df3134);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e74649),\r\n\t\tcolor-stop(1, #df3134));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e74649',\r\n\t\tendColorstr='#df3134', GradientType='0');\r\n\t-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e74649',\r\n\t\tendColorstr='#df3134');\r\n\tbackground-image: linear-gradient(to top, #e74649 0, #df3134 100%);\r\n\t-webkit-border-radius: 2px;\r\n\t-moz-border-radius: 2px;\r\n\tborder-radius: 2px;\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\theight: 18px;\r\n\tline-height: 18px;\r\n\tpadding: 3px 15px 4px;\r\n\tcolor: #fff\r\n}\r\n\r\n#safeinfo .btn-3:hover {\r\n\tbackground-color: #f05356;\r\n\tbackground-image: -moz-linear-gradient(top, #f05356, #eb3c3f);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f05356),\r\n\t\tcolor-stop(1, #eb3c3f));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f05356',\r\n\t\tendColorstr='#eb3c3f', GradientType='0');\r\n\t-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f05356',\r\n\t\tendColorstr='#eb3c3f');\r\n\tbackground-image: linear-gradient(to top, #f05356 0, #eb3c3f 100%)\r\n}\r\n\r\n#safeinfo .btn-3:link, #safeinfo .btn-3:visited {\r\n\tcolor: #fff;\r\n\ttext-decoration: none\r\n}\r\n\r\n.qa-progress {\r\n\toverflow: hidden;\r\n\tpadding: 50px 50px 20px;\r\n\twidth: 700px;\r\n\tmargin: 0 auto 10px\r\n}\r\n\r\n.qa-progress .node, .qa-progress .proce {\r\n\tposition: relative;\r\n\tfloat: left\r\n}\r\n\r\n.qa-progress .node i, .qa-progress .proce i {\r\n\tdisplay: inline-block;\r\n\tbackground-image: url(i/icon_progress.png)\r\n}\r\n\r\n.qa-progress .node {\r\n\twidth: 11px;\r\n\theight: 11px;\r\n\tmargin: 0 3px;\r\n\t*margin-top: -6px;\r\n\t_margin-top: 0\r\n}\r\n\r\n.qa-progress .node i {\r\n\twidth: 11px;\r\n\theight: 11px\r\n}\r\n\r\n.qa-progress .ready i.icon-node {\r\n\tbackground-position: -289px 0\r\n}\r\n\r\n.qa-progress .wait i.icon-node {\r\n\tbackground-position: -289px -22px\r\n}\r\n\r\n.qa-progress .node span.txt {\r\n\tposition: absolute;\r\n\ttop: 16px;\r\n\t*top: 20px;\r\n\t_top: 18px;\r\n\tleft: -50px;\r\n\tdisplay: block;\r\n\twidth: 110px;\r\n\theight: 16px;\r\n\tfont: 12px/16px simsun;\r\n\tcolor: #7abd53;\r\n\ttext-align: center;\r\n\toverflow: hidden\r\n}\r\n\r\n.qa-progress .node.wait span.txt {\r\n\tcolor: #a9a9a9\r\n}\r\n\r\n.qa-progress .node .info {\r\n\tfloat: left;\r\n\theight: 16px;\r\n\tfont: 12px/16px simsun;\r\n\tcolor: #fff;\r\n\tposition: absolute;\r\n\ttop: -23px;\r\n\t*top: -17px;\r\n\t_top: -23px;\r\n\tmargin-bottom: 6px;\r\n\tclear: both;\r\n\twidth: 125px;\r\n\ttext-align: center;\r\n\tleft: -59px\r\n}\r\n\r\n.qa-progress .node .info b {\r\n\tdisplay: inline-block;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-width: 6px;\r\n\toverflow: hidden;\r\n\tborder-style: solid dashed dashed;\r\n\tborder-color: #7bbc56 transparent transparent;\r\n\tposition: absolute;\r\n\tbottom: -11px;\r\n\tleft: 47%\r\n}\r\n\r\n.qa-progress .node .info .con {\r\n\tbackground-color: #7cbd55;\r\n\tdisplay: inline-block;\r\n\twidth: auto;\r\n\theight: 16px;\r\n\tline-height: 16px;\r\n\t_line-height: 17px;\r\n\tpadding: 0 1px\r\n}\r\n\r\n.qa-progress .proce {\r\n\twidth: 136px;\r\n\theight: 12px\r\n}\r\n\r\n.qa-progress .proce i {\r\n\twidth: 136px;\r\n\theight: 12px\r\n}\r\n\r\n.qa-progress .proce span.text {\r\n\tcolor: #a9a9a9;\r\n\theight: 16px;\r\n\tfont: 12px/16px simsun;\r\n\tdisplay: block;\r\n\ttext-align: center;\r\n\twidth: 136px;\r\n\tposition: absolute;\r\n\ttop: -18px;\r\n\tleft: 0\r\n}\r\n\r\n.qa-progress .ready i.icon-proce {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.qa-progress .wait i.icon-proce {\r\n\tbackground-position: 0 -22px\r\n}\r\n\r\n.qa-progress .doing i.icon-proce {\r\n\tbackground-position: 0 -44px\r\n}\r\n\r\n.qa-progress .pro-long {\r\n\twidth: 290px;\r\n\tclear: none\r\n}\r\n\r\n.qa-progress .pro-long span.text {\r\n\twidth: 290px\r\n}\r\n\r\n.qa-progress .pro-long i {\r\n\twidth: 290px\r\n}\r\n\r\n.qa-progress .ready i.icon-proce-l {\r\n\tbackground-position: 0 -88px\r\n}\r\n\r\n.qa-progress .wait i.icon-proce-l {\r\n\tbackground-position: 0 -110px\r\n}\r\n\r\n.qa-progress .doing i.icon-proce-l {\r\n\tbackground-position: 0 -66px\r\n}\r\n\r\n.qa-progress .proce .info {\r\n\tfloat: left;\r\n\theight: 16px;\r\n\tfont: 12px/16px simsun;\r\n\tcolor: #fff;\r\n\tposition: absolute;\r\n\ttop: -20px;\r\n\tmargin-bottom: 6px;\r\n\tclear: both;\r\n\twidth: 125px;\r\n\ttext-align: center\r\n}\r\n\r\n.qa-progress .proce .info b {\r\n\tdisplay: inline-block;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-width: 6px;\r\n\toverflow: hidden;\r\n\tborder-style: solid dashed dashed;\r\n\tborder-color: #7bbc56 transparent transparent;\r\n\tposition: absolute;\r\n\tbottom: -11px;\r\n\tleft: 47%\r\n}\r\n\r\n.qa-progress .proce .info .con {\r\n\tbackground-color: #7cbd55;\r\n\tdisplay: inline-block;\r\n\twidth: auto;\r\n\theight: 16px;\r\n\tline-height: 16px;\r\n\t_line-height: 17px;\r\n\tpadding: 0 1px\r\n}\r\n\r\n:root .qa-progress .proce .info .con {\r\n\tline-height: 17px\r\n}\r\n\r\n.qa-progress .proce .pro-1-4 {\r\n\tleft: 5px\r\n}\r\n\r\n.qa-progress .proce .pro-2-4 {\r\n\tleft: 82px\r\n}\r\n\r\n.qa-progress .proce .pro-3-4 {\r\n\tleft: 115px\r\n}\r\n\r\n.qa-progress .proce .pro-4-4 {\r\n\tleft: 115px\r\n}\r\n\r\n.qa-progress .double-deck {\r\n\tfloat: left;\r\n\tmargin: -30px 25px 0 25px;\r\n\twidth: 307px\r\n}\r\n\r\n.qa-progress .double-deck .user-check, .qa-progress .double-deck .jd-check\r\n\t{\r\n\tfloat: left;\r\n\tclear: both;\r\n\theight: 62px;\r\n\twidth: 100%\r\n}\r\n\r\n.qa-progress .double-deck .jd-check {\r\n\theight: 24px\r\n}\r\n\r\n.qa-progress .check-short {\r\n\twidth: 155px\r\n}\r\n\r\n.qa-w1 {\r\n\twidth: 175px\r\n}\r\n\r\n.qa-w2 {\r\n\twidth: 330px\r\n}\r\n\r\n.qa-w3 {\r\n\twidth: 530px\r\n}\r\n\r\n.qa-w4 {\r\n\twidth: 682px\r\n}\r\n\r\n.qa-w5 {\r\n\twidth: 800px\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/myjd.info.css",
    "content": "/*\r\n myjd-2014 Compressed by cssmin \r\n Author:Fengwp \r\n Date: 2014-07-11 \r\n */\r\n@charset \"UTF-8\"; \r\n\r\n.user-set {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 5px 0 15px\r\n}\r\n\r\n.user-set .interest-list {\r\n\twidth: 400px\r\n}\r\n\r\n.user-set .interest-list ul {\r\n\tdisplay: inline-block;\r\n\tdisplay: block\r\n}\r\n\r\n.user-set .interest-list ul:after {\r\n\tcontent: \".\";\r\n\tdisplay: block;\r\n\theight: 0;\r\n\tclear: both;\r\n\tvisibility: hidden\r\n}\r\n\r\n* html .user-set .interest-list ul {\r\n\theight: 1%\r\n}\r\n\r\n*+html .user-set .interest-list ul {\r\n\tmin-height: 1%\r\n}\r\n\r\n.user-set .interest-list li {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tposition: relative;\r\n\theight: 18px;\r\n\tline-height: 18px;\r\n\tborder: 1px solid #cfcfcf;\r\n\tpadding: 8px 9px;\r\n\tmargin: 10px 10px 0 0;\r\n\tcursor: pointer\r\n}\r\n\r\n.user-set .interest-list li.selected {\r\n\tborder-color: #e4393c;\r\n\tborder-width: 2px;\r\n\tpadding: 7px 8px\r\n}\r\n\r\n.user-set .interest-list li.selected s {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tbottom: 0;\r\n\tright: 0;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tbackground: url(i/selt.png) no-repeat\r\n}\r\n\r\n.user-set .birthday-info {\r\n\twidth: 397px;\r\n\toverflow: hidden\r\n}\r\n\r\n.userset-lcol {\r\n\tfloat: left;\r\n\twidth: 500px\r\n}\r\n\r\n#user-info {\r\n\toverflow: hidden;\r\n\twidth: 280px;\r\n\tfloat: left;\r\n\tpadding: 10px;\r\n\tmargin-bottom: 10px;\r\n\theight: 102px;\r\n\tbackground: #f9f9f9;\r\n\tborder: 1px solid #ccc;\r\n\tcolor: #666;\r\n\tline-height: 20px\r\n}\r\n\r\n#user-info a {\r\n\tcolor: #005ea7\r\n}\r\n\r\n#user-info a:hover {\r\n\tcolor: #e4393c\r\n}\r\n\r\n#user-info .u-pic {\r\n\tposition: relative;\r\n\tz-index: 0;\r\n\tfloat: left;\r\n\twidth: 104px;\r\n\theight: 104px;\r\n\toverflow: hidden;\r\n\ttext-align: center;\r\n\tmargin-right: 6px\r\n}\r\n\r\n#user-info .u-pic .face-link {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\twidth: 100px;\r\n\ttext-align: center;\r\n\tleft: 0;\r\n\tbottom: 4px;\r\n\theight: 30px;\r\n\tline-height: 30px;\r\n\toverflow: hidden;\r\n\tcolor: #fff;\r\n\tz-index: 3\r\n}\r\n\r\n#user-info .u-pic .face-link-box {\r\n\tdisplay: none;\r\n\tbackground: #000;\r\n\tz-index: 1;\r\n\tposition: absolute;\r\n\twidth: 100px;\r\n\ttext-align: center;\r\n\tleft: 0;\r\n\tbottom: 4px;\r\n\theight: 30px;\r\n\topacity: .5;\r\n\tfilter: alpha(opacity = 50)\r\n}\r\n\r\n#user-info .u-pic .mask {\r\n\tbackground: url(/images/myjd-bg2.png) 0 0;\r\n\twidth: 104px;\r\n\theight: 104px;\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tz-index: 2\r\n}\r\n\r\n#user-info .u-pic img {\r\n\twidth: 100px;\r\n\theight: 100px\r\n}\r\n\r\n#user-info .info-m {\r\n\tfloat: left;\r\n\twidth: 170px\r\n}\r\n\r\n#user-info .info-m .u-name {\r\n\tfont-size: 18px;\r\n\tfont-family: \"microsoft yahei\";\r\n\tcolor: #000;\r\n\tline-height: 28px;\r\n\theight: 28px;\r\n\toverflow: hidden;\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n#user-info .info-m .u-name a {\r\n\tcolor: #000\r\n}\r\n\r\n#user-info .info-m .u-name a:hover {\r\n\tcolor: #e4393c\r\n}\r\n\r\n#user-info .info-m .u-level {\r\n\tmargin-bottom: 5px;\r\n\theight: 18px\r\n}\r\n\r\n#user-info .info-m .u-level .rank {\r\n\tmargin-right: 10px\r\n}\r\n\r\n#user-info .info-m .u-level .rank s {\r\n\tbackground: url(/images/rank2014.gif) no-repeat 0 0;\r\n\tdisplay: inline-block;\r\n\theight: 17px;\r\n\tmargin-right: 5px;\r\n\ttext-decoration: none;\r\n\twidth: 17px;\r\n\tvertical-align: middle;\r\n\toverflow: hidden\r\n}\r\n\r\n#user-info .info-m .u-level .rank a {\r\n\tdisplay: inline-block;\r\n\tvertical-align: middle\r\n}\r\n\r\n#user-info .info-m .u-level .rank.r2 s {\r\n\tbackground-position: 0 -17px\r\n}\r\n\r\n#user-info .info-m .u-level .rank.r3 s {\r\n\tbackground-position: 0 -34px\r\n}\r\n\r\n#user-info .info-m .u-level .rank.r4 s {\r\n\tbackground-position: 0 -51px\r\n}\r\n\r\n#user-info .info-m .u-level .rank.r5 s {\r\n\tbackground-position: 0 -68px\r\n}\r\n\r\n#user-info .info-m .u-level .rank.r6 s {\r\n\tbackground-position: 0 -85px\r\n}\r\n\r\n#user-info .info-m .rank-sh {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tvertical-align: middle;\r\n\theight: 15px;\r\n\tbackground: url(/images/rank-sh.png) no-repeat\r\n}\r\n\r\n#user-info .info-m .rank-sh01 {\r\n\twidth: 75px\r\n}\r\n\r\n#user-info .info-m .rank-sh02 {\r\n\twidth: 55px\r\n}\r\n\r\n#user-info .info-m .rank-sh03 {\r\n\twidth: 35px\r\n}\r\n\r\n#user-info .info-m .rank-sh04 {\r\n\twidth: 17px\r\n}\r\n\r\n#user-info .info-m .rank-sh05 {\r\n\tbackground-position: -80px 0;\r\n\twidth: 15px\r\n}\r\n\r\n.update-face-cont {\r\n\tpadding: 20px 0\r\n}\r\n\r\n.update-face-cont .img-cont {\r\n\tbackground: #f9f9f9;\r\n\tborder: 1px solid #e9eaec\r\n}\r\n\r\n.update-face-cont .img-b-cont {\r\n\tposition: relative;\r\n\twidth: 470px;\r\n\theight: 236px;\r\n\tmargin-bottom: 20px;\r\n\tdisplay: table;\r\n\ttext-align: center\r\n}\r\n\r\n.update-face-cont .img-b-cont .tip {\r\n\tposition: absolute;\r\n\tleft: 50%;\r\n\ttop: 50%;\r\n\twidth: 100px;\r\n\ttext-align: center;\r\n\tmargin: -9px 0 0 -50px\r\n}\r\n\r\n.update-face-cont .img-b-cont .img-b {\r\n\tdisplay: table-cell;\r\n\tvertical-align: middle;\r\n\tposition: relative;\r\n\tz-index: 5;\r\n\t*position: absolute;\r\n\t*top: 50%;\r\n\t*left: 50%\r\n}\r\n\r\n.update-face-cont .img-b-cont .img-b img {\r\n\t*position: relative;\r\n\t*top: -50%;\r\n\t*left: -50%\r\n}\r\n\r\n.update-face-cont .img-m-cont {\r\n\tposition: relative;\r\n\twidth: 100px;\r\n\theight: 100px;\r\n\tmargin-top: 20px;\r\n\tdisplay: table;\r\n\ttext-align: center\r\n}\r\n\r\n.update-face-cont .img-m-cont .img-s {\r\n\tdisplay: table-cell;\r\n\tvertical-align: middle;\r\n\t*position: absolute;\r\n\t*top: 50%;\r\n\t*left: 50%\r\n}\r\n\r\n.update-face-cont .img-m-cont .img-s img {\r\n\t*position: relative;\r\n\t*top: -50%;\r\n\t*left: -50%\r\n}\r\n\r\n.update-face-cont .img-s-cont {\r\n\tposition: relative;\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tmargin-top: 20px;\r\n\tdisplay: table;\r\n\ttext-align: center\r\n}\r\n\r\n.update-face-cont .img-s-cont .img-s {\r\n\tdisplay: table-cell;\r\n\tvertical-align: middle;\r\n\t*position: absolute;\r\n\t*top: 50%;\r\n\t*left: 50%\r\n}\r\n\r\n.update-face-cont .img-s-cont .img-s img {\r\n\t*position: relative;\r\n\t*top: -50%;\r\n\t*left: -50%\r\n}\r\n\r\n.update-face-cont .face-list ul {\r\n\tdisplay: inline-block;\r\n\tdisplay: block;\r\n\twidth: 480px\r\n}\r\n\r\n.update-face-cont .face-list ul:after {\r\n\tcontent: \".\";\r\n\tdisplay: block;\r\n\theight: 0;\r\n\tclear: both;\r\n\tvisibility: hidden\r\n}\r\n\r\n* html .update-face-cont .face-list ul {\r\n\theight: 1%\r\n}\r\n\r\n*+html .update-face-cont .face-list ul {\r\n\tmin-height: 1%\r\n}\r\n\r\n.update-face-cont .face-list li {\r\n\tfloat: left;\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\toverflow: hidden;\r\n\tmargin: 10px 10px 0 0;\r\n\tcursor: pointer;\r\n\tposition: relative\r\n}\r\n\r\n.update-face-cont .face-list li a {\r\n\tdisplay: block\r\n}\r\n\r\n.update-face-cont .face-list li.selected b {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tbackground: url(i/face-selt.png) no-repeat\r\n}\r\n\r\n.update-lcol {\r\n\tfloat: left;\r\n\tborder-right: 1px solid #e9eaec;\r\n\twidth: 470px;\r\n\tpadding: 0 30px\r\n}\r\n\r\n.update-rcol {\r\n\tfloat: left;\r\n\twidth: 240px;\r\n\tmargin-left: 30px\r\n}\r\n\r\n.update-rcol .smc {\r\n\tcolor: #999;\r\n\tline-height: 20px\r\n}\r\n\r\n#product-track .m {\r\n\tbackground: #fff\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/myjd.order.css",
    "content": "/*\r\n myjd-2014 Compressed by cssmin \r\n Author:CaiFeng \r\n Date: 2014-12-25 \r\n */\r\n@charset \"UTF-8\"; \r\n\r\n.u-name {\r\n\twidth: 80px;\r\n\toverflow: hidden;\r\n\tword-break: break-all;\r\n\tword-wrap: break-word\r\n}\r\n\r\n.img-list {\r\n\twidth: 280px;\r\n\toverflow: hidden\r\n}\r\n\r\n.img-list .img-box {\r\n\tborder: 1px solid #e1e1e1;\r\n\tfloat: left;\r\n\tmargin-right: 4px;\r\n\tmargin-bottom: 4px\r\n}\r\n\r\n.img-list .img-box:hover {\r\n\tborder-color: #EDD28B\r\n}\r\n\r\n#order01 {\r\n\tline-height: 20px\r\n}\r\n\r\n#order01 .mc {\r\n\tline-height: 25px\r\n}\r\n\r\n#order01 .mc a {\r\n\tcolor: #005ea7\r\n}\r\n\r\n#order01 dl, .filter-item .item-con {\r\n\toverflow: hidden;\r\n\t*zoom: 1\r\n}\r\n\r\n#order01 dt, #order01 dd {\r\n\tfloat: left\r\n}\r\n\r\n#order01 dt {\r\n\twidth: 60px;\r\n\ttext-align: right\r\n}\r\n\r\n#order01 dd {\r\n\tmargin-right: 25px;\r\n\tcolor: #999\r\n}\r\n\r\n#order01 dd .icon-new {\r\n\tbackground:\r\n\t\turl(/images/icon-2013-new.png)\r\n\t\tno-repeat right 3px;\r\n\tpadding-right: 26px\r\n}\r\n\r\n#order01 dd .bg-01 {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\theight: 16px;\r\n\tline-height: 16px;\r\n\tmargin-left: 2px;\r\n\tpadding: 0 2px;\r\n\tvertical-align: middle;\r\n\tbackground: #e4393c;\r\n\tcolor: #fff\r\n}\r\n\r\n#order02 .mt .extra-r {\r\n\twidth: 455px\r\n}\r\n\r\n#order02 .mt .i-extra {\r\n\tfloat: left\r\n}\r\n\r\n#order02 .mt .btn {\r\n\tmargin-left: 4px\r\n}\r\n\r\n.search-01 {\r\n\tfloat: right\r\n}\r\n\r\n.search-01 .s-itxt {\r\n\tline-height: 18px;\r\n\tborder: 1px solid #ccc;\r\n\tpadding: 3px 5px 4px;\r\n\tfloat: none;\r\n\twidth: 195px\r\n}\r\n\r\n.search-01 .btn-13 {\r\n\tcolor: #333;\r\n\ttext-decoration: nonee\r\n}\r\n\r\n#order02 .mt {\r\n\toverflow: visible\r\n}\r\n\r\n.taborder li {\r\n\tposition: relative;\r\n\tfloat: left;\r\n\tz-index: 2\r\n}\r\n\r\n.taborder .tyies-t {\r\n\tline-height: 29px;\r\n\theight: 29px;\r\n\tpadding-left: 20px;\r\n\tpadding-right: 35px;\r\n\tposition: relative;\r\n\tz-index: 3;\r\n\t*float: left;\r\n\tborder: 2px solid #fff;\r\n\tborder-bottom: 0\r\n}\r\n\r\nhtml* .taborder .tyies-t {\r\n\ttop: 1px\r\n}\r\n\r\n.taborder li b {\r\n\twidth: 9px;\r\n\theight: 5px;\r\n\tbackground: url(/images/order-icon-20140811.png) 0 -54px;\r\n\tposition: absolute;\r\n\ttop: 50%;\r\n\tright: 20px;\r\n\tmargin-top: -3px\r\n}\r\n\r\n.taborder .hover .tyies-t {\r\n\tposition: relative;\r\n\tborder: 2px solid #e6e6e6;\r\n\tborder-bottom: 0;\r\n\tbackground: #fff\r\n}\r\n\r\n.tyies-c {\r\n\tdisplay: none;\r\n\tborder: 2px solid #e6e6e6;\r\n\t-moz-border-radius: 0 1px 1px;\r\n\t-webkit-border-radius: 0 1px 1px;\r\n\tborder-radius: 0 1px 1px;\r\n\tbackground: #fff;\r\n\ttext-align: left;\r\n\tpadding: 0 8px;\r\n\t-webkit-box-shadow: 5px 5px 5px 0 rgba(0, 0, 0, .08);\r\n\t-moz-box-shadow: 5px 5px 5px 0 rgba(0, 0, 0, .08);\r\n\tbox-shadow: 5px 5px 5px 0 rgba(0, 0, 0, .08);\r\n\tz-index: 2\r\n}\r\n\r\n.tyies-c .close {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tposition: absolute;\r\n\twidth: 17px;\r\n\theight: 17px;\r\n\tbackground: url(i/jdleft.png) no-repeat -46px 0;\r\n\tright: 5px;\r\n\ttop: 5px;\r\n\tcursor: pointer\r\n}\r\n\r\n.tyies-c .label {\r\n\tcolor: #999\r\n}\r\n\r\n.hover .tyies-c {\r\n\tposition: absolute;\r\n\tdisplay: block;\r\n\twidth: 300px;\r\n\tleft: 0;\r\n\ttop: 29px\r\n}\r\n\r\n.filter-item {\r\n\tline-height: 22px;\r\n\tcolor: #CCC;\r\n\tborder-bottom: 1px dotted #ccc;\r\n\tzoom: 1;\r\n\tword-wrap: break-word;\r\n\tpadding-top: 4px;\r\n\tpadding-bottom: 4px\r\n}\r\n\r\n.filter-item:last-child {\r\n\tbackground-image: none\r\n}\r\n\r\n.filter-item a {\r\n\tcolor: #005ea7;\r\n\tpadding: 0 8px;\r\n\tmargin-left: -1px;\r\n\twhite-space: nowrap;\r\n\tbackground: url(http://misc.360buyimg.com/jd2008/skin/df/i/solid.gif)\r\n\t\tleft center no-repeat;\r\n\tzoom: 1;\r\n\tfloat: left\r\n}\r\n\r\n.filter-item .label {\r\n\tfloat: left\r\n}\r\n\r\n.tr-th td, .tr-split td {\r\n\tpadding-top: 4px;\r\n\tpadding-bottom: 4px\r\n}\r\n\r\n.tr-th td {\r\n\ttext-align: left\r\n}\r\n\r\n.tr-th span {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tmargin-right: 10px;\r\n\toverflow: hidden;\r\n\tvertical-align: middle;\r\n\theight: 24px;\r\n\tline-height: 23px;\r\n\tfloat: left\r\n}\r\n\r\n#order02 .tb-void th {\r\n\tbackground: #e7e7e7\r\n}\r\n\r\n.tr-th {\r\n\tbackground: #f5f5f5\r\n}\r\n\r\n.tcol1 {\r\n\twidth: 225px;\r\n\tcolor: #666\r\n}\r\n\r\n.tcol2 {\r\n\tcolor: #666;\r\n\tmargin: 0\r\n}\r\n\r\n.tooltip i.icon-limit {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tfont-size: 0;\r\n\toverflow: hidden;\r\n\tvertical-align: middle;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\toverflow: hidden;\r\n\tbackground: url(/images/order-icon-20140811.png) 0 -64px;\r\n\tmargin: -2px 2px 0 0\r\n}\r\n\r\n.tcol1 {\r\n\twidth: 225px;\r\n\tcolor: #666\r\n}\r\n\r\n.tcol2 {\r\n\tcolor: #666;\r\n\tmargin: 0\r\n}\r\n\r\n.tr-th span.tcol4 {\r\n\tfloat: right;\r\n\tcolor: #666;\r\n\twidth: 170px\r\n}\r\n\r\n.tr-td td {\r\n\tvertical-align: top;\r\n\tpadding-top: 10px\r\n}\r\n\r\n.tr-split td {\r\n\tbackground-color: #FFFDEE;\r\n\tcolor: #666\r\n}\r\n\r\ntd.td-02 {\r\n\tbackground: #fffdee;\r\n\tcolor: #666;\r\n\tpadding-top: 5px\r\n}\r\n\r\n.btn-im, .btn-imoff {\r\n\tfloat: left;\r\n\tdisplay: inline-block;\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tbackground: url(/images/order-icon-20140811.png);\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tline-height: 100px;\r\n\toverflow: hidden;\r\n\tmargin: 4px 0 0\r\n}\r\n\r\n.btn-imoff {\r\n\tbackground-position: 0 -18px;\r\n\tcolor: #ccc;\r\n\tcursor: default\r\n}\r\n\r\na.btn-im:link, a.btn-im:visited, a.btn-im:hover {\r\n\tcolor: #333\r\n}\r\n\r\na.btn-imoff:link, a.btn-imoff:visited, a.btn-imoff:hover {\r\n\tcolor: #ccc\r\n}\r\n\r\na.btn-im:hover, a.btn-imoff:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n.icon-tel {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tmargin: -1px 3px 0 0;\r\n\tbackground: url(/images/order-icon-20140811.png) 0 -36px no-repeat;\r\n\theight: 16px;\r\n\twidth: 16px;\r\n\tfont-size: 0;\r\n\tline-height: 0;\r\n\tvertical-align: middle\r\n}\r\n\r\n.o-btn, .o-pay, .o-comm, .o-repair, .o-pera {\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n.ftx-line {\r\n\tcolor: #999;\r\n\tmargin-left: 2px;\r\n\tmargin-right: 2px\r\n}\r\n\r\n.m-txt {\r\n\tmargin: 0 5px;\r\n\tfont-weight: 400\r\n}\r\n\r\n.o-info {\r\n\ttext-align: left;\r\n\tmargin-left: 54px\r\n}\r\n\r\n.o-info .lprice {\r\n\tdisplay: block;\r\n\twidth: 135px;\r\n\tfloat: left\r\n}\r\n\r\n.tooltip {\r\n\tposition: relative;\r\n\tdisplay: block;\r\n\twidth: 100%;\r\n\tz-index: 11;\r\n\tcolor: #005EA7\r\n}\r\n\r\n.tooltip s {\r\n\tvertical-align: middle\r\n}\r\n\r\n.tooltip s.s1 {\r\n\tbackground-position: 0 -48px;\r\n\tvertical-align: middle\r\n}\r\n\r\na.btn-again {\r\n\tbackground: url(/images/btn-again.png);\r\n\tdisplay: block;\r\n\theight: 21px;\r\n\tline-height: 100px;\r\n\tmargin: 3px auto 0;\r\n\toverflow: hidden;\r\n\twidth: 73px\r\n}\r\n\r\na.btn-again:hover {\r\n\tbackground-position: 0 -24px\r\n}\r\n\r\n.paind {\r\n\ttext-indent: -36px;\r\n\tpadding-left: 36px\r\n}\r\n\r\n.cellphone-icon {\r\n\tdisplay: block;\r\n\twidth: 58px;\r\n\theight: 16px;\r\n\tmargin: 5px auto 0;\r\n\tline-height: 100px;\r\n\toverflow: hidden;\r\n\tbackground:\r\n\t\turl(/images/cellphone.png)\r\n\t\tno-repeat\r\n}\r\n\r\n.img-list .tuan-img-box {\r\n\twidth: 50px;\r\n\theight: 50px\r\n}\r\n\r\n.tuan-img-box img {\r\n\tmargin-top: 8px\r\n}\r\n\r\n.stage-cont {\r\n\tbackground: #fafcff;\r\n\tmargin: 5px 0;\r\n\tline-height: 20px\r\n}\r\n\r\n.curr-stage {\r\n\tbackground: #eff4ff\r\n}\r\n\r\n.stage li {\r\n\tfloat: left;\r\n\tpadding: 10px 5px\r\n}\r\n\r\n.stage li.fore1 {\r\n\twidth: 276px\r\n}\r\n\r\n.stage li.fore2 {\r\n\twidth: 81px\r\n}\r\n\r\n.stage li.fore3 {\r\n\twidth: 92px\r\n}\r\n\r\n.stage li.fore4 {\r\n\twidth: 94px\r\n}\r\n\r\n.stage li.fore5 {\r\n\twidth: 88px\r\n}\r\n\r\n.stage li.fore6 {\r\n\twidth: 104px\r\n}\r\n\r\n.stage-tip {\r\n\tdisplay: inline-block;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tmargin: 0 5px 0 0;\r\n\tbackground:\r\n\t\turl(/images/remind_16.png)\r\n\t\tno-repeat;\r\n\tvertical-align: middle\r\n}\r\n\r\n#guessing-liked {\r\n\toverflow: hidden\r\n}\r\n\r\n#guessing-liked .controls a {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\twidth: 24px;\r\n\theight: 24px;\r\n\tline-height: 24px;\r\n\ttext-align: center;\r\n\toverflow: hidden;\r\n\tmargin-left: 5px;\r\n\t-webkit-border-radius: 15px;\r\n\t-moz-border-radius: 15px;\r\n\tborder-radius: 15px;\r\n\tborder: 1px solid #ddd;\r\n\tcolor: #333\r\n}\r\n\r\n#guessing-liked .controls a:hover, #guessing-liked .controls a.curr {\r\n\tbackground: #e4393c;\r\n\tborder-color: #e4393c;\r\n\tcolor: #fff;\r\n\tfont-weight: 700\r\n}\r\n\r\n#guessing-liked .mc {\r\n\theight: 251px;\r\n\toverflow: hidden\r\n}\r\n\r\n#guessing-liked .mc ul {\r\n\tdisplay: inline-block;\r\n\tdisplay: block;\r\n\theight: 251px\r\n}\r\n\r\n#guessing-liked .mc ul:after {\r\n\tcontent: \".\";\r\n\tdisplay: block;\r\n\theight: 0;\r\n\tclear: both;\r\n\tvisibility: hidden\r\n}\r\n\r\n* html #guessing-liked .mc ul {\r\n\theight: 1%\r\n}\r\n\r\n*+html #guessing-liked .mc ul {\r\n\tmin-height: 1%\r\n}\r\n\r\n#guessing-liked .mc li {\r\n\tfloat: left;\r\n\twidth: 160px;\r\n\tpadding: 0 20px;\r\n\theight: 251px\r\n}\r\n\r\n#guessing-liked .mc .p-img {\r\n\tpadding: 5px 0\r\n}\r\n\r\n#guessing-liked .mc .p-name {\r\n\theight: 3em;\r\n\tline-height: 1.5em;\r\n\toverflow: hidden;\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n#guessing-liked .mc .p-name a {\r\n\tcolor: #666\r\n}\r\n\r\n#guessing-liked .mc .p-price {\r\n\tcolor: #e4393c;\r\n\tfont-size: 14px;\r\n\tfont-family: verdana\r\n}\r\n\r\n.promisejdint {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\twidth: 60px;\r\n\theight: 20px;\r\n\tvertical-align: middle;\r\n\toverflow: hidden;\r\n\tbackground:\r\n\t\turl(/images/jdInt-icon.jpg)\r\n\t\tno-repeat;\r\n\tmargin-left: 5px\r\n}\r\n\r\n.promisejdint:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n#order01 .mt {\r\n\tposition: relative;\r\n\toverflow: visible\r\n}\r\n\r\n.layer-credit {\r\n\tposition: absolute;\r\n\tleft: 100px;\r\n\ttop: -47px;\r\n\tbackground-image:\r\n\t\turl(/images/layer-credit.png);\r\n\twidth: 215px;\r\n\theight: 105px;\r\n\tz-index: 2;\r\n\t_background-image:\r\n\t\turl(/images/layer-credit-01.png)\r\n}\r\n\r\n.layer-credit .cont {\r\n\tmargin: 24px 0 0 85px;\r\n\tline-height: 20px;\r\n\tfont-size: 14px;\r\n\tcolor: #f60;\r\n\tfont-weight: 700\r\n}\r\n\r\n.layer-credit .close {\r\n\tposition: absolute\r\n}\r\n\r\n.layer-credit .close {\r\n\twidth: 21px;\r\n\theight: 21px;\r\n\tright: 20px;\r\n\ttop: 4px;\r\n\tline-height: 100px;\r\n\toverflow: hidden;\r\n\tbackground-image: none;\r\n\tborder: 0\r\n}\r\n\r\n.layer-credit .go {\r\n\tdisplay: block;\r\n\tfont-weight: 400;\r\n\tfont-size: 12px\r\n}\r\n\r\n.layer-credit .go:link, .layer-credit .go:visited {\r\n\tcolor: #005EA7\r\n}\r\n\r\n.im2013, .im2013off {\r\n\tbackground: url(i/im2013-02.png) no-repeat 0 0;\r\n\twidth: 87px\r\n}\r\n\r\n.im2013off {\r\n\tbackground-position: 0 -24px;\r\n\tcursor: default;\r\n\tcolor: #ccc\r\n}\r\n\r\n.im2013:hover, .im2013off:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n.btn-5 {\r\n\t*width: 60px\r\n}\r\n\r\n.incart {\r\n\t*width: 105px\r\n}\r\n\r\n.pagin {\r\n\tposition: relative\r\n}\r\n\r\n.thickwrap .selt {\r\n\twidth: 120px\r\n}\r\n\r\n#miaozhen10772 img {\r\n\twidth: 830px\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/order-commons.css",
    "content": "/* user-purchase common.css Date:2015-03-10 17:27:19 */\r\n.mt-1{margin-top:-1px}.mt-2{margin-top:-2px}.mt-3{margin-top:-3px}.mt5{margin-top:5px}.mt10{margin-top:10px}.mt20{margin-top:20px}.mr5{margin-right:5px}.mr10{margin-right:10px}.mr20{margin-right:20px}.mb5{margin-bottom:5px}.mb10{margin-bottom:10px}.ml5{margin-left:5px}.ml10{margin-left:10px}.ml20{margin-left:20px}.pt5{padding-top:5px}.pt10{padding-top:10px}.pt20{padding-top:20px}.pr5{padding-right:5px}.pr10{padding-right:10px}.pr20{padding-right:20px}.pb5{padding-bottom:5px}.pb10{padding-bottom:10px}.pb20{padding-bottom:20px}.pl5{padding-left:5px}.pl10{padding-left:10px}.pl20{padding-left:20px}.hide{display:none}input::-ms-clear{display:none}input::-ms-reveal{display:none}.ftx-01,.ftx01{color:#e4393c}.ftx-02,.ftx02{color:#71b247}.ftx-03,.ftx03{color:#999}.ftx-04,.ftx04{color:#ff6c00}.ftx-05,.ftx05{color:#005ea7}.ftx-06,.ftx06{color:#666}.btn-1{font-family:arial,\"microsoft yahei\";display:inline-block;*display:inline;*zoom:1;height:25px;line-height:25px;background-color:#e74649;background-image:-moz-linear-gradient(top,#e74649,#df3134);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#e74649),color-stop(1,#df3134));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e74649', endColorstr='#df3134', GradientType='0');-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e74649', endColorstr='#df3134');background-image:linear-gradient(to top,#e74649 0,#df3134 100%);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;color:#fff;font-size:12px;font-weight:400;padding:0 15px;cursor:pointer;border:0;*overflow:visible;float:none}.btn-1:hover{color:#fff;text-decoration:none;background-color:#f05356;background-image:-moz-linear-gradient(top,#f05356,#eb3c3f);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f05356),color-stop(1,#eb3c3f));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f05356', endColorstr='#eb3c3f', GradientType='0');-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f05356', endColorstr='#eb3c3f');background-image:linear-gradient(to top,#f05356 0,#eb3c3f 100%)}.btn-9{font-family:arial,\"microsoft yahei\";display:inline-block;*display:inline;*zoom:1;height:23px;line-height:23px;background-color:#f2f2f2;background-image:-moz-linear-gradient(top,#f2f2f2,#f7f7f7);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f2f2f2),color-stop(1,#f7f7f7));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f2f2f2', endColorstr='#f7f7f7', GradientType='0');-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f2f2f2', endColorstr='#f7f7f7');background-image:linear-gradient(to top,#f2f2f2 0,#f7f7f7 100%);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;color:#323333;font-size:12px;font-weight:400;padding:0 14px;cursor:pointer;*overflow:visible;float:none;border:1px solid #ddd}.btn-9:hover{color:#323333;text-decoration:none;-webkit-box-shadow:0 1px 1px rgba(0,1,1,.08);-moz-box-shadow:0 1px 1px rgba(0,1,1,.08);box-shadow:0 1px 1px rgba(0,1,1,.08);background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f7f7f7,#f2f2f2);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f7f7f7),color-stop(1,#f2f2f2));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7f7f7', endColorstr='#f2f2f2', GradientType='0');-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7f7f7', endColorstr='#f2f2f2');background-image:linear-gradient(to top,#f7f7f7 0,#f2f2f2 100%)}#container h2{font-size:16px;font-family:'microsoft yahei';height:44px;line-height:44px;border-bottom:1px solid #ddd}.checkout-steps .step-tit{display:inline-block;display:block;line-height:40px}.checkout-steps .step-tit:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .checkout-steps .step-tit{height:1%}*+html .checkout-steps .step-tit{min-height:1%}.checkout-steps .step-tit h3{font-size:14px;height:40px;line-height:40px;float:left}.checkout-steps .step-tit .extra-l{float:left}.checkout-steps .step-tit .extra-r{float:right}.checkout-steps .step-cont{margin-bottom:10px}table{border-collapse:collapse;border-spacing:0}.form input{float:none}.form .item{display:inline-block;display:block;margin-bottom:15px;line-height:25px}.form .item:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .form .item{height:1%}*+html .form .item{min-height:1%}.form .item span.label{float:left;height:18px;line-height:18px;padding:4px 0 3px;width:75px;text-align:right}.form em{color:#e4393c}.form .area,.form .itxt,.form .selt{line-height:18px;border:1px solid #ccc;padding:5px;vertical-align:middle;float:none}.form .itxt{height:18px;width:155px;padding:3px 5px 2px}.form .itxt01{width:510px}.form .itxt02{width:245px}.form .itxt03{width:185px}.form .itxt04{width:225px}.form label{float:none}.form .jdcheckbox,.form .jdradio{float:none;vertical-align:-2px;_vertical-align:-1px;margin:0 3px 0 0;padding:0}.form .error-msg{display:inline-block;*display:inline;*zoom:1;height:18px;line-height:18px;vertical-align:middle;overflow:hidden;border:1px solid #ffbdbe;background:#ffebeb;color:#e4393c;padding:3px 7px 2px;margin-left:5px}.tip-box{width:300px;margin:0 auto}.tip-box .op-btns{margin-top:20px}.tip-box h3{font-family:'microsoft yahei';font-size:16px;line-height:48px}.tip-box .links{margin-left:-6px}.tip-box .links ul{display:inline-block;display:block}.tip-box .links ul:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .tip-box .links ul{height:1%}*+html .tip-box .links ul{min-height:1%}.tip-box .links li{float:left;border-left:1px solid #ccc;padding:0 5px}.tip-box .item-fore{overflow:hidden}.icon-box{position:relative;_height:48px;_overflow:visible}.icon-box .m-icon{display:inline-block;*display:inline;*zoom:1;position:absolute;top:0;left:0;width:48px;height:48px;background:url(http://misc.360buyimg.com/user/purchase/css/i/icon48.png) no-repeat}.icon-box .succ-icon{background-position:0 0}.icon-box .warn-icon{background-position:-96px 0}.icon-box .error-icon{background-position:-48px 0}.icon-box .item-fore{margin-left:58px}.for-iframe{position:absolute;width:100%;top:50%;margin-top:-30px}.payment-box{margin-left:20px}.payment-box .payment-list{padding:0}.payment-box .qmark{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;width:13px;height:13px;overflow:hidden;margin-right:5px;background:url(../images/user_purchase.png?__sprite) no-repeat;background-position:0 0}.payment-dialog{margin-left:20px}.payment-dialog .dialog-item-inner{display:inline-block;display:block;margin:10px 0}.payment-dialog .dialog-item-inner:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .payment-dialog .dialog-item-inner{height:1%}*+html .payment-dialog .dialog-item-inner{min-height:1%}.payment-dialog .dialog-item-extra{display:none}.payment-dialog .dialog-goods{height:107px;overflow-y:auto}.payment-dialog .dialog-goods li{float:left;margin:0 10px 5px 0}.payment-dialog .dialog-goods .p-img{width:100px;height:100px;border:1px solid #f1f1f1;padding:0}.payment-dialog .dialog-item-form{margin-top:37px}.payment-dialog .dialog-item-deactivate{border-top:1px solid #e6e6e6;background:#fffef4;padding-top:10px}.payment-dialog .op-btns{margin-top:20px}.date-box{margin-left:20px}.date-box .date-list{overflow:hidden;padding-top:1px}.date-box .date-list ul{display:inline-block;display:block;border-left:1px solid #ebebeb;float:left}.date-box .date-list ul:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .date-box .date-list ul{height:1%}*+html .date-box .date-list ul{min-height:1%}.date-box .date-list li{float:left;border:solid #ebebeb;border-width:1px 1px 1px 0;height:43px;text-align:center;width:58px;line-height:20px;margin-top:-1px;cursor:pointer}.date-box .date-list li.selected,.date-box .date-list li.selected:hover{background:#7abd54;color:#fff;border-color:#7abd54}.date-box .date-list li.hover,.date-box .date-list li:hover{background:#edf9e6;color:#7abd54;border-color:#edf9e6}.date-box .date-list li .data{display:block}.picksite-box .pick-sites{width:660px}.picksite-box .pick-sites-more{max-height:276px;_height:expression(this.scrollHeight>276?'276px':'auto');overflow-y:auto;position:relative;top:0;left:0}.picksite-box .site-item{margin:0 0 10px}.picksite-box .site-item-selected .site-in-short{border:2px solid #e4393c;padding:7px 10px}.picksite-box .site-item-selected .site-in-short b{display:block;position:absolute;right:0;bottom:0;width:12px;height:12px;overflow:hidden;background:url(../images/user_purchase.png) no-repeat;background-position:0 -23px}.picksite-box .site-item-disabled .site-in-short{background:#f1f1f1;color:#b3b3b3;cursor:default}.picksite-box .site-in-short{float:left;position:relative;top:0;left:0;border:1px solid #ebebeb;height:22px;line-height:22px;padding:4px 10px;width:250px;margin-right:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.picksite-box .field{float:left;position:relative;top:0;left:0;width:295px;line-height:18px;padding-right:55px}.picksite-box .field .tip{color:#b3b3b3;display:block;height:36px;line-height:18px;overflow:hidden}.picksite-box .field .map-link{display:block;position:absolute;right:0;height:18px;line-height:18px;top:0}.picksite-box .field-a-line,.picksite-box .field-a-line .tip{line-height:36px}.picksite-box .field-a-line .map-link{top:9px}.picksite-box .pick-more span{cursor:default}.picksite-box .pick-more b{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;margin:0 0 0 5px;width:7px;height:4px;overflow:hidden}.picksite-box .pick-more .open b{background:url(../images/user_purchase.png) no-repeat;background-position:0 -45px}.picksite-box .pick-more .close b{background:url(../images/user_purchase.png) no-repeat;background-position:0 -59px}#consignee-form .error-msg{display:none}#consignee-form .message{display:inline-block}#consignee-form #consignee_province{width:80px}#consignee-form #consignee_city{width:110px}#consignee-form #consignee_county,#consignee-form #consignee_town{width:120px}.tab-nav{margin-bottom:15px}.tab-nav ul{display:inline-block;display:block}.tab-nav ul:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .tab-nav ul{height:1%}*+html .tab-nav ul{min-height:1%}.tab-nav .tab-nav-item{float:left;position:relative;margin-right:10px;border:1px solid #ebebeb;padding:6px 24px;cursor:pointer}.tab-nav .tab-nav-item.disabled{background:#ebebeb;border-color:#ebebeb;color:#ccc;cursor:not-allowed}.tab-nav .tab-nav-item .qmark-icon{vertical-align:middle;width:13px;height:13px;overflow:hidden;background:url(../images/user_purchase.png) no-repeat;background-position:0 -73px;margin-left:3px;display:inline-block}.tab-nav .tab-item-selected{border:2px solid #e4393c;padding:5px 23px;cursor:default}.tab-nav .tab-item-selected b{display:block;position:absolute;right:0;bottom:0;width:12px;height:12px;overflow:hidden;background:url(../images/user_purchase.png) no-repeat;background-position:0 -23px}.invoice-thickbox{margin-left:20px}.invoice-thickbox .tab-nav{position:relative;z-index:2;margin-bottom:10px}.invoice-thickbox .invoice-list{width:428px}.invoice-thickbox .invoice-list ul{display:inline-block;display:block}.invoice-thickbox .invoice-list ul:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .invoice-thickbox .invoice-list ul{height:1%}*+html .invoice-thickbox .invoice-list ul{min-height:1%}.invoice-thickbox .invoice-list .invoice-item{float:left;position:relative;z-index:1;height:18px;line-height:18px;margin:2px 10px 3px 0;border:1px solid #ebebeb;padding:6px 19px;text-align:center}.invoice-thickbox .invoice-list .invoice-item-selected{border:2px solid #e4393c;padding:5px 18px}.invoice-thickbox .invoice-list .invoice-item-selected b{display:block;position:absolute;right:0;bottom:0;width:12px;height:12px;overflow:hidden;background:url(../images/user_purchase.png) no-repeat;background-position:0 -23px}.invoice-thickbox .invoice-tit-list{max-height:132px;width:360px;*width:370px;overflow-y:auto;position:relative;top:0;left:0}.invoice-thickbox .invoice-tit-list .invoice-item{float:none;position:relative;margin-bottom:10px;padding:6px 5px;width:325px;text-align:left}.invoice-thickbox .invoice-tit-list .invoice-item .btns{position:absolute;right:10px;top:6px;display:none}.invoice-thickbox .invoice-tit-list .invoice-item.hover .btns{display:block}.invoice-thickbox .invoice-tit-list .invoice-item .itxt{border:none;padding:0;width:256px}.invoice-thickbox .invoice-tit-list .invoice-item .add-invoice-tit .btns{display:block}.invoice-thickbox .form .item span.label{width:120px;line-height:24px}.invoice-thickbox .prompt-box{width:480px;margin-bottom:10px}.invoice-thickbox .invoice-status{display:inline-block;display:block;margin-bottom:10px}.invoice-thickbox .invoice-status:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .invoice-thickbox .invoice-status{height:1%}*+html .invoice-thickbox .invoice-status{min-height:1%}.invoice-thickbox .invoice-status li{float:left;position:relative;padding:0 20px 0 10px;height:26px;line-height:26px;border:solid #ebebeb;border-width:1px 0;color:#b3b3b3}.invoice-thickbox .invoice-status li b{display:block;position:absolute;right:0;top:-1px;width:10px;height:28px;vertical-align:middle;overflow:hidden;background:url(http://misc.360buyimg.com/user/purchase/css/i/invoice-status.png) -20px 0 no-repeat}.invoice-thickbox .invoice-status li.fore1{background:#f5f5f5;border-color:#f5f5f5;color:#ccc}.invoice-thickbox .invoice-status li.fore1 b{background-position:-10px 0}.invoice-thickbox .invoice-status li.fore1.curr{background:#ebebeb;color:#333}.invoice-thickbox .invoice-status li.fore1.curr b{height:26px;top:0;background-position:0 -1px}.invoice-thickbox .invoice-status li.fore2.curr{background:#ebebeb;color:#333}.invoice-thickbox .invoice-status li.fore2.curr b{background-position:0 0}.prompt-box{background:#fffdee;border:1px solid #edd28b;color:#f70;padding:8px 10px;line-height:20px}.tooltip-goods .tooltip-tit{margin-bottom:20px}.tooltip-goods .goods-items{max-height:216px;overflow-y:auto;overflow-x:hidden}.tooltip-goods .goods-item{overflow:hidden;height:62px;margin-bottom:10px}.tooltip-goods .goods-item .p-img{float:left;width:60px;height:60px;border:1px solid #f1f1f0;margin-right:10px;padding:0}.tooltip-goods .goods-item .p-img img{width:60px;height:60px}.tooltip-goods .goods-item .p-name{float:left;width:165px;height:3em;line-height:1.5em;overflow:hidden}.tooltip-goods .goods-item .p-name a{color:#666}.qmarkTip{margin-left:-10px}.date-delivery{background:#fff;overflow:hidden}.date-delivery .inner{position:relative;float:left;border:1px solid #ccc}.date-delivery .th dt{float:left;height:40px;line-height:40px;padding:5px 0 5px 15px;width:80px;text-align:left}.date-delivery .date,.date-delivery .date dd{float:left}.date-delivery .date span{float:left;height:40px;padding:5px 0;border-left:1px solid #eee;text-align:center;line-height:20px;width:50px}.date-delivery .date span.hover{background-color:#edf9e6}.date-delivery .time{clear:both;width:95px}.date-delivery .time span{float:left;width:80px;padding-left:15px;height:30px;border-top:1px solid #eee;line-height:30px}.date-delivery .time span.hover{background-color:#edf9e6}.date-delivery .data{position:absolute;top:50px;left:95px;overflow:hidden}.date-delivery .data ul{float:left}.date-delivery .data li{width:50px;height:30px;line-height:30px;text-align:center;border-left:1px solid #eee;border-top:1px solid #eee;cursor:pointer;color:#7ABD54}.date-delivery .data li.disabled{cursor:not-allowed}.date-delivery .data li.hover{background-color:#edf9e6}.date-delivery .data li.curr,.date-delivery .data li.selected{background-color:#7abd54;color:#fff}.limited-thickbox{width:640px;margin:0 auto}.limited-thickbox .tip-box{width:560px}.limited-thickbox .tip-box span.extra{color:#999;font-size:12px;font-weight:400;margin-left:20px}.limited-thickbox .tip-box span.extra img{margin:-3px 0 0 5px}.limited-thickbox .goods-items{border-top:1px solid #e6e6e6;margin-top:15px;height:318px;overflow-y:auto;position:relative;top:0;left:0}.limited-thickbox .goods-item{border-bottom:1px solid #e6e6e6;padding:10px 0;padding:10px 0;color:#666}.limited-thickbox .goods-item .p-img{float:left;width:80px;height:80px;border:1px solid #ddd;margin:0 10px 0 20px;background:#fff;_display:inline}.limited-thickbox .goods-item .p-img img{width:80px;height:80px}.limited-thickbox .goods-item .goods-msg{float:left;width:360px}.limited-thickbox .goods-item .p-stock{float:right;margin-right:40px;_display:inline;_margin-top:5px;width:105px;text-align:right}.limited-thickbox .goods-item .p-name{height:3em;line-height:1.5em;overflow:hidden;margin-bottom:10px}.limited-thickbox .goods-item .p-name a{color:#666}.limited-thickbox .nostock-item{background:#f0f0f0}.limited-thickbox .gift-items{display:inline-block;display:block;position:relative;padding-top:5px;color:#999;line-height:25px}.limited-thickbox .gift-items:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .limited-thickbox .gift-items{height:1%}*+html .limited-thickbox .gift-items{min-height:1%}.limited-thickbox .gift-items .gift{position:absolute;display:block;float:left;left:20px;top:5px;width:50px;height:25px;line-height:25px;z-index:1}.limited-thickbox .gift-items .gift-item{text-indent:50px;padding-left:20px;display:inline-block;display:block}.limited-thickbox .gift-items .gift-item:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .limited-thickbox .gift-items .gift-item{height:1%}*+html .limited-thickbox .gift-items .gift-item{min-height:1%}.limited-thickbox .gift-items .gift-item a{color:#999}.limited-thickbox .gift-items .gift-item .gift-name{float:left;vertical-align:middle;text-align:left;max-width:360px;*width:360px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.limited-thickbox .gift-items .gift-item .num{*float:left;*width:30px;*text-align:center}.limited-thickbox .op-btns{border-top:1px solid #e6e6e6;padding-top:20px}.limited-thickbox .qmark-icon{display:inline-block;*display:inline;*zoom:1;position:relative;vertical-align:middle;margin-left:5px;top:-1px;width:13px;height:13px;overflow:hidden;background:url(../images/user_purchase.png) no-repeat;background-position:0 -73px}.limited-thickbox .p-lists{border-top:1px solid #e6e6e6;margin-top:35px}.limited-thickbox .p-lists .mt{line-height:35px;padding-left:10px}.limited-thickbox .p-lists ul{display:inline-block;display:block;_width:660px}.limited-thickbox .p-lists ul:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .limited-thickbox .p-lists ul{height:1%}*+html .limited-thickbox .p-lists ul{min-height:1%}.limited-thickbox .p-lists li{float:left;width:149px;margin-left:10px}.limited-thickbox .p-lists .p-item .p-img{width:100px;margin:0 auto}.limited-thickbox .p-lists .p-item .p-name{height:3em;line-height:1.5em;overflow:hidden}.limited-thickbox .p-lists .p-item .p-price{font-family:verdana;margin-top:5px}.limited-thickbox .p-lists .p-item .p-price strong{color:#e4393c;font-weight:400}div.code-tips{border:2px solid #c91623;background:#fff;margin-left:-30px}div.code-tips .ui-tips-arrow{background-image:url(http://misc.360buyimg.com/user/purchase/widget/common/i/code-tips.png);width:14px;height:8px}div.code-tips.ui-tips-top .ui-tips-arrow{top:-8px;left:70px}div.code-tips.ui-tips-bottom .ui-tips-arrow{background-position:0 -7px;bottom:-8px}div.code-tips .code-box{color:#666}div.code-tips .code-box h5{font-weight:400;margin-bottom:5px}div.ui-dialog-title{z-index:6}div.ui-dialog-content{position:relative}.purchase-loading{width:100%;height:100%;min-height:90px;position:fixed;left:0;top:0;_position:absolute;_width:expression(documentElement.clientWidth);_height:expression(documentElement.clientHeight);_top:expression(documentElement.scrollTop);background:url(http://misc.360buyimg.com/user/purchase/css/i/blank.gif) 0 0 repeat;z-index:3000}.purchase-loading .loading-cont{width:100px;height:100px;background:url(http://misc.360buyimg.com/user/purchase/css/i/loading04.gif) no-repeat;position:absolute;top:50%;left:50%;margin:-50px 0 0 -50px}\r\n/* user-purchase header.css Date:2015-03-10 17:27:19 */\r\n.header{padding:20px 0 10px}#logo{padding-left:5px;float:left;position:relative;width:270px}#logo .link2{overflow:hidden;display:block;position:absolute;width:100px;height:40px;line-height:99em;top:8px;right:0;background:#fff}#logo .link2 b{display:block;position:absolute;width:100px;height:40px;line-height:99em;top:0;right:0;background:url(../images/purchase-icon.png) #fff no-repeat}.stepflex{display:inline-block;display:block;border-top:5px solid #ccc;text-align:center;margin:30px 0 0;float:right}.stepflex:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .stepflex{height:1%}*+html .stepflex{min-height:1%}.stepflex dl{float:left;position:relative;width:160px;top:-5px;border-top:5px solid #ccc}.stepflex dl.doing{border-top-color:#7abd54}.stepflex dl.doing .s-num{background-position:-23px 0}.stepflex dl.doing .s-text{color:#7abd54}.stepflex dl.done{border-top-color:#caecb6}.stepflex dl.done .s-num{background-position:-46px 0}.stepflex dl.done .s-text{color:#caecb6}.stepflex .doing b,.stepflex .doing s,.stepflex .first s,.stepflex .last b{width:5px;height:5px;position:absolute;line-height:0;font-size:0;top:-5px;background-image:url(http://misc.360buyimg.com/user/purchase/css/i/step2013.png);overflow:hidden}.stepflex .s-num{position:relative;margin:-15px auto 0;color:#fff;font-weight:700;width:23px;height:23px;background-image:url(http://misc.360buyimg.com/user/purchase/css/i/step2013.png);line-height:23px}.stepflex .s-text{color:#ccc}.stepflex s{left:0}.stepflex b{right:0}.stepflex .first s{background-position:0 -24px;background-color:#fff}.stepflex .last b{background-position:-5px -24px;background-color:#fff}.stepflex .doing s{background-position:-23px -24px}.stepflex .doing b{background-position:-28px -24px;background-color:#ccc}.stepflex .doing.last s,.stepflex .doing.normal s{background-color:#caecb6}.stepflex .doing.last b{background-color:#fff}.stepflex .done s{background-position:-46px -24px}.stepflex .done b{background-position:-51px -24px}.stepflex .doing.last .s-num{background-position:-91px 0}#sflex01{width:160px}#sflex02{width:320px}#sflex03{width:480px}#sflex04{width:640px}#sflex05{width:800px}#sflex06{width:960px}\r\n/* user-purchase consignee-step.css Date:2015-03-10 17:27:19 */\r\n.consignee-list{position:relative;width:990px;height:145px}.consignee-list .arrow-btns{position:absolute;width:18px;height:32px;top:50%;margin-top:-16px;overflow:hidden}.consignee-list .arrow-btns#prev,.consignee-list .arrow-btns.prev{left:0;background:url(../images/user_purchase.png) no-repeat;background-position:0 -96px}.consignee-list .arrow-btns#prev.disabled,.consignee-list .arrow-btns.prev.disabled{background:url(../images/user_purchase.png) no-repeat;background-position:0 -138px}.consignee-list .arrow-btns#next,.consignee-list .arrow-btns.next{right:0;background:url(../images/user_purchase.png) no-repeat;background-position:0 -180px}.consignee-list .arrow-btns#next.disabled,.consignee-list .arrow-btns.next.disabled{background:url(../images/user_purchase.png) no-repeat;background-position:0 -222px}.consignee-list .list-cont{position:relative;overflow:hidden;height:145px;margin:0 40px;width:910px}.consignee-list .list-cont ul{display:inline-block;display:block;width:3000px;top:0}.consignee-list .list-cont ul:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .consignee-list .list-cont ul{height:1%}*+html .consignee-list .list-cont ul{min-height:1%}.consignee-list .list-cont li{float:left;width:220px;height:150px;margin-right:10px;_display:inline;cursor:pointer}.consignee-list .list-cont .consignee-item{position:relative;border:1px solid #ddd;padding:19px;width:180px;height:102px;line-height:18px;word-break:break-all;background-color:#fff}.consignee-list .list-cont .consignee-item .user-name{margin-bottom:10px}.consignee-list .list-cont .consignee-item .adr-m{height:54px;overflow:hidden}.consignee-list .list-cont .consignee-item .op-btns{display:none}.consignee-list .list-cont .consignee-item.item-selected{border:2px solid #e4393c;padding:18px}.consignee-list .list-cont .consignee-item.item-selected b{display:block;position:absolute;right:0;bottom:0;width:12px;height:12px;overflow:hidden;background:url(../images/user_purchase.png) no-repeat;background-position:0 -23px}.consignee-list .list-cont .consignee-item.item-hover,.consignee-list .list-cont .consignee-item:hover{border:2px solid #e4393c;padding:18px}.consignee-list .list-cont .consignee-item.item-hover .op-btns,.consignee-list .list-cont .consignee-item:hover .op-btns{position:absolute;display:block;right:20px;bottom:15px}.consignee-list .list-cont .consignee-item.item-hover .op-btns span,.consignee-list .list-cont .consignee-item:hover .op-btns span{cursor:default}.consignee-list .list-cont .consignee-add-item{text-align:center}.consignee-list .list-cont .consignee-add-item .add-icon{display:block;width:34px;height:34px;background:url(../images/user_purchase.png) no-repeat;background-position:0 -264px;margin:20px auto 10px}.consignee-list .list-cont .consignee-add-item.item-hover,.consignee-list .list-cont .consignee-add-item.item-selected,.consignee-list .list-cont .consignee-add-item:hover{border:1px solid #ddd;padding:19px}\r\n/* user-purchase payment-step.css Date:2015-03-10 17:27:19 */\r\n.payment-list{padding:0 40px}.payment-list .list-cont ul{display:inline-block;display:block}.payment-list .list-cont ul:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .payment-list .list-cont ul{height:1%}*+html .payment-list .list-cont ul{min-height:1%}.payment-list .list-cont li{float:left;margin-right:10px;_display:inline;cursor:default}.payment-list .list-cont .payment-item{float:left;position:relative;border:1px solid #ddd;height:18px;line-height:18px;padding:5px 24px;cursor:pointer}.payment-list .list-cont .payment-item .qmark-icon{visibility:hidden;position:absolute;right:5px;top:7px;width:13px;height:13px;overflow:hidden;background:url(../images/user_purchase.png) no-repeat;background-position:0 -73px}.payment-list .list-cont .payment-item.payment-item-hover{border:2px solid #e4393c;padding:4px 23px}.payment-list .list-cont .payment-item.payment-item-hover .qmark-icon{visibility:visible}.payment-list .list-cont .payment-item.item-selected{border:2px solid #e4393c;padding:4px 23px}.payment-list .list-cont .payment-item.item-selected b{display:block;position:absolute;right:0;bottom:0;width:12px;height:12px;overflow:hidden;background:url(../images/user_purchase.png) no-repeat;background-position:0 -23px}\r\n/* user-purchase shopping-list.css Date:2015-03-10 17:27:19 */\r\n.shopping-lists{margin-top:-20px}.shopping-list{position:relative;border:solid #ddd;border-width:2px 1px 1px;padding:10px 10px 0;margin:20px 0 0;width:968px}.shopping-list .freight-cont{position:absolute;text-align:right;right:20px;bottom:20px}.shopping-list .freight-cont strong{font-family:verdana}.shopping-list h4{color:#666}.shopping-list h4 .alink{font-weight:400}.shopping-list .goods-tit{height:18px}.shopping-list .goods-tit .extral-r,.shopping-list .goods-tit h4{float:left;width:49%}.shopping-list .goods-tit .extral-r .p-price strong{font-size:14px}.shopping-list .goods-list{float:left;width:540px}.shopping-list .goods-list .goods-items{margin:0 0 10px 10px}.shopping-list .goods-list .goods-item{border-bottom:1px solid #e6e6e6;padding:10px 0;color:#666}.shopping-list .goods-list .goods-item .p-img{float:left;width:80px;height:80px;border:1px solid #ddd;margin-right:10px}.shopping-list .goods-list .goods-item .p-img img{width:80px;height:80px}.shopping-list .goods-list .goods-item .goods-msg{float:left;width:410px}.shopping-list .goods-list .goods-item .goods-msg .gift-bean{display:inline-block;border:1px solid #7abd54;color:#7abd54;padding:2px 5px}.shopping-list .goods-list .goods-item .p-name{height:3em;line-height:1.5em;overflow:hidden;margin-bottom:10px}.shopping-list .goods-list .goods-item .p-name a{color:#666}.shopping-list .goods-list .goods-item .p-price{margin:0 0 5px}.shopping-list .goods-list .goods-item .p-price .p-presell b{background-color:#e4393c;color:#fff;padding:1px 2px;font-weight:400;margin-right:5px}.shopping-list .goods-list .goods-item .p-price span{display:inline-block;vertical-align:middle}.shopping-list .goods-list .goods-item .p-price strong{font-family:verdana;color:#e4393c;display:inline-block;*display:inline;*zoom:1;vertical-align:middle;width:90px}.shopping-list .goods-list .goods-item .gift-items{display:inline-block;display:block;position:relative;padding-top:5px;color:#999;line-height:25px}.shopping-list .goods-list .goods-item .gift-items:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .shopping-list .goods-list .goods-item .gift-items{height:1%}*+html .shopping-list .goods-list .goods-item .gift-items{min-height:1%}.shopping-list .goods-list .goods-item .gift-items .gift{position:absolute;display:block;float:left;left:0;top:5px;width:50px;height:25px;line-height:25px;z-index:1}.shopping-list .goods-list .goods-item .gift-items .gift-item{text-indent:50px;width:100%}.shopping-list .goods-list .goods-item .gift-items .gift-item a{color:#999}.shopping-list .goods-list .goods-item-extra{border:none}.shopping-list .goods-list .nogoods-item{color:#ccc}.shopping-list .goods-list .nogoods-item .p-img{border-color:#f0f0f0}.shopping-list .goods-list .nogoods-item .p-name a,.shopping-list .goods-list .nogoods-item .p-price strong{color:#ccc}.shopping-list .goods-list .goods-suit{border-bottom:1px solid #e6e6e6;padding-bottom:5px}.shopping-list .goods-list .goods-suit .goods-suit-tit{overflow:hidden;margin:5px 0}.shopping-list .goods-list .goods-suit .goods-suit-tit .gst-l{float:left;width:360px}.shopping-list .goods-list .goods-suit .goods-suit-tit .gst-r{float:right;width:170px;text-align:right}.shopping-list .goods-list .goods-suit .goods-item{margin-left:10px;border:0;padding:0 0 10px}.shopping-list .goods-list .goods-suit .suit-total{margin-top:-20px}.shopping-list .goods-list .goods-suit .suit-total strong{font-family:verdana;color:#e4393c}.shopping-list .goods-list .goods-suit .sales-icon{display:inline-block;*display:inline;*zoom:1;background:#e4393c;color:#fff;vertical-align:middle;padding:0 7px;height:18px;line-height:18px;margin-right:5px}.shopping-list .goods-list .goods-last{border:0}.shopping-list .dis-modes{float:right;width:330px}.shopping-list .dis-modes .mode-item{margin-bottom:50px}.shopping-list .dis-modes .mode-tab-nav{margin:10px 0 20px}.shopping-list .dis-modes .mode-tab-nav ul{display:inline-block;display:block}.shopping-list .dis-modes .mode-tab-nav ul:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .shopping-list .dis-modes .mode-tab-nav ul{height:1%}*+html .shopping-list .dis-modes .mode-tab-nav ul{min-height:1%}.shopping-list .dis-modes .mode-tab-nav li{float:left;height:18px;line-height:18px;padding:5px 0;width:150px;text-align:center;border:1px solid #ddd;margin-right:10px;position:relative;cursor:pointer}.shopping-list .dis-modes .mode-tab-nav li .m-txt{position:relative;display:inline-block}.shopping-list .dis-modes .mode-tab-nav li .qmark-icon{visibility:hidden;width:13px;height:13px;overflow:hidden;background:url(../images/user_purchase.png) no-repeat;background-position:0 -73px;position:absolute;right:-18px;top:1px}.shopping-list .dis-modes .mode-tab-nav li.curr{border:2px solid #e4393c;padding:4px 0;width:146px}.shopping-list .dis-modes .mode-tab-nav li.curr b{display:block;position:absolute;right:0;bottom:0;width:12px;height:12px;overflow:hidden;background:url(../images/user_purchase.png) no-repeat;background-position:0 -23px}.shopping-list .dis-modes .mode-tab-nav li.hover .qmark-icon{visibility:visible}.shopping-list .dis-modes .mode-tab-nav li.disabled{background:#ebebeb;border-color:#ebebeb;color:#ccc;cursor:default}.shopping-list .dis-modes .mode-list li{display:inline-block;display:block;padding:5px 0;line-height:22px;border-bottom:1px solid #ddd;width:315px}.shopping-list .dis-modes .mode-list li:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .shopping-list .dis-modes .mode-list li{height:1%}*+html .shopping-list .dis-modes .mode-list li{min-height:1%}.shopping-list .dis-modes .mode-list .fore1{float:left;width:290px}.shopping-list .dis-modes .mode-list .fore2{float:right}.shopping-list .dis-modes .mode-promise{display:inline-block;display:block}.shopping-list .dis-modes .mode-promise:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .shopping-list .dis-modes .mode-promise{height:1%}*+html .shopping-list .dis-modes .mode-promise{min-height:1%}.shopping-list .dis-modes .mode-promise .promise-txt{float:left;width:240px;margin-left:10px}.shopping-list.ABTest .goods-list{float:right}.shopping-list.ABTest .dis-modes{float:left;margin-left:30px}.shopping-list .re-present{display:inline-block;border:1px solid #7abd54;color:#7abd54;padding:2px 5px}#promise-ico{display:block;padding-left:0;float:left}.order-remarks{background:#fafafa;padding:10px 20px;margin-top:10px}.order-remarks .remark-tit{color:#666;line-height:25px}#promise-ico a{display:inline-block;height:16px;line-height:16px;margin-right:5px;background-image:url(http://misc.360buyimg.com/user/purchase/css/i/promise.png);background-repeat:no-repeat;*zoom:1;vertical-align:middle}#promise-ico a:hover{text-decoration:none}.pop_FreightInsurance{width:57px;background-position:0 0}.pop_FreightInsurance:hover{background-position:-143px 0}.p-icon{display:inline-block;*display:inline;*zoom:1;width:18px;height:18px;margin:0 5px 0 0;overflow:hidden;background:url(../images/purchase-icon.png) no-repeat;vertical-align:middle}.p-icon-no-w{background-position:0 0}.p-icon-c{background-position:0 -28px}.p-icon-j{background-position:0 -56px}.p-icon-w{background-position:0 -84px}\r\n/* user-purchase invoice-step.css Date:2015-03-10 17:27:19 */\r\n.invoice-cont{background:#fafafa;padding:10px 40px;height:18px;line-height:18px}\r\n/* user-purchase order-summary.css Date:2015-03-10 17:27:19 */\r\n.order-summary .summary-form .item{height:28px;overflow:hidden;zoom:1;line-height:28px}.order-summary .statistic{width:300px}.order-summary .statistic .list{height:24px;line-height:24px;overflow:hidden;zoom:1}.order-summary .statistic span{width:180px;margin-right:20px;float:left;text-align:right}.order-summary .statistic em{color:#e4393c}.order-summary .statistic .price{color:#333;float:left;width:100px;text-align:right;font-family:verdana}.order-summary .presale-total{text-align:right;color:#333;margin-top:5px}.order-summary .presale-total .presale-list{margin-bottom:30px}.order-summary .presale-total .font-b{font-size:14px;font-weight:700}.order-summary .presale-total .num{font-family:verdana;margin-right:5px}.order-summary .presale-total .presale-info{display:inline-block;*display:inline;*zoom:1;line-height:40px;background:#f5f5f5;overflow:visible;padding:0 10px;margin:-10px 0 28px}.order-summary .presale-total .presale-info .jdcheckbox{margin-left:25px}.order-summary .presale-total .presale-info .phone-num{font-size:14px;font-family:verdana;margin-right:10px}.order-summary .presale-total .presale-icon{display:inline-block;*display:inline;*zoom:1;width:24px;height:24px;vertical-align:middle;background:url(http://misc.360buyimg.com/user/purchase/widget/order-summary/i/presale-icon.png) no-repeat}.order-summary .presale-total .deposit{background:#e4393c;color:#fff;padding:1px 2px;margin-right:5px}.order-summary .presale-total .p-price .final{color:#333;margin-top:5px}.order-summary .presale-total .p-price .ftx-03{color:#999}.order-summary .presale-total .presale-info .itxt{border:1px solid #ddd;height:18px;line-height:18px;padding:5px;width:108px}.order-summary .presale-total .presale-info .focus-itxt{border:1px solid #7abd54}.order-summary .presale-total .presale-info .error-itxt{border-color:#e4393c}.order-summary .presale-total .presale-info .fore2{position:relative;height:30px;display:inline-block;*display:inline;*zoom:1;overflow:visible}.order-summary .presale-total .presale-info .fore2 .error-msg{position:absolute;top:33px;left:0;border:1px solid #ffbdbe;background:#ffebeb;color:#e4393c;height:18px;line-height:18px;padding:5px;width:108px}.order-coupon{padding-top:10px}.order-coupon .toggle-wrap{padding:0 0 10px}.order-coupon .toggle-title{height:30px;overflow:hidden;zoom:1}.order-coupon .toggle-title .extra-r{float:right;width:300px}.order-coupon .used-coupon{width:300px}.order-coupon .used-coupon .list{height:24px;line-height:24px;overflow:hidden;zoom:1}.order-coupon .used-coupon span{width:180px;margin-right:20px;float:left;text-align:right}.order-coupon .used-coupon em{color:#e4393c}.order-coupon .used-coupon .price{color:#333;float:left;width:100px;text-align:right;font-family:verdana}.order-coupon .toggler{color:#005ea7;height:18px;line-height:18px;margin-top:7px;float:left}.order-coupon .toggler b{width:15px;height:15px;margin-right:5px;float:left;overflow:hidden;line-height:0;font-size:0;background:url(http://misc.360buyimg.com/user/purchase/css/i/toggler-arrow.gif) no-repeat}.order-coupon .toggle-active .toggler b{background-position:0 -15px}.order-coupon .cbox{width:988px;background:#eefaff}.order-coupon .cbox a{color:#005ea7}.order-coupon .cbox .mt{position:relative;background:#fff;border-bottom:1px solid #A3D1EC;height:24px;margin-bottom:-1px;overflow:visible}.order-coupon .cbox .tab{height:25px}.order-coupon .cbox .tab li{background:#f3f3f3;border:1px solid #ddd;border-bottom:none;cursor:pointer;height:20px;line-height:20px;margin-right:5px;margin-top:3px;padding:0 15px;text-align:center;white-space:nowrap}.order-coupon .cbox .tab li.curr{background:#eefaff;border:1px solid #A3D1EC;border-bottom:none;font-weight:700;height:25px;line-height:25px;margin-top:0}.order-coupon .cbox .tab li em{margin-left:2px;color:#e4393c;font-family:verdana}.order-coupon .cbox .tab li em.grey{color:#999}.order-coupon .form .label-dashes{margin-right:5px}.order-coupon .actual-form{padding:10px 0}.order-coupon .actual-form .list{overflow:hidden;zoom:1;height:26px;line-height:26px}.order-coupon .actual-form,.order-coupon .virtual-from{border-bottom:1px dashed #a3d1ec}.order-coupon .virtual-from{padding:5px 0;overflow:hidden}.order-coupon .virtual-from h4{padding-bottom:5px;line-height:22px}.order-coupon .virtual-from .virtual-table{pading:5px 0}.order-coupon .virtual-from .virtual-table-body{height:28px;line-height:28px;position:relative;margin-bottom:2px}.order-coupon .virtual-from .virtual-table-body .virtual-action{float:left;width:30px;text-align:center}.order-coupon .virtual-from .virtual-table-body .virtual-sum{float:left;width:130px}.order-coupon .virtual-from .virtual-table-body .virtual-sum .coupon-scope{color:#e4393c}.order-coupon .virtual-from .virtual-table-body .virtual-type{float:left;width:150px;color:#999}.order-coupon .virtual-from .virtual-table-body .virtual-vtime{float:left;width:140px;color:#999}.order-coupon .virtual-from .virtual-table-body .virtual-desc{float:left;color:#e4393c;width:400px}.order-coupon .inner{padding:5px 18px;border:1px solid #A3D1EC}.order-coupon .gift-item{border-bottom:1px dashed #addaec;padding:5px 0 10px}.order-coupon .gift-item h4{padding-bottom:5px}.order-coupon .gift-item .group{height:26px;line-height:26px}.order-coupon .gift-form .itxt{width:64px;height:16px;margin-right:5px;border:1px solid #ddd;border-top-color:#aaa;border-left-color:#aaa;padding:4px}.order-coupon .gift-table{width:950px;border:1px solid #e6e6e6;background:#fff}.order-coupon .gift-table th{height:30px;border-bottom:1px solid #e6e6e6;color:#666;font-weight:400;text-align:center;background-color:#f9f9f9}.order-coupon .total{padding:5px 0}.order-coupon #jdBeans .btn-1{padding:0 10px;font-size:12px;vertical-align:middle}.order-coupon #jdBeans .bs-t{border-bottom:1px dashed #A3D1EC;height:26px;line-height:26px;padding:12px 0 8px}.order-coupon #jdBeans .bs-t span{font-weight:700;color:#333;margin-right:5px}.order-coupon #jdBeans .bs-t .bs-num{vertical-align:middle;height:18px;line-height:18px;border:1px solid #ccc;text-align:center;padding:3px 5px;width:70px;margin-right:5px;font-weight:700}.order-coupon #jdBeans .bs-t .bs-num.focus{border:1px solid #7abd54}.order-coupon #jdBeans .bs-t.failure .btn-add{cursor:not-allowed;background:#fff;color:#dcdcdc}.order-coupon #jdBeans .bs-t .error{*display:inline;*zoom:1;vertical-align:middle;color:#e4393c;background-color:#ffebeb;border:1px solid #ffbdbe;height:24px;line-height:24px;padding:0 8px;display:none}.order-coupon #jdBeans .bs-m{padding:13px 0;height:20px}.order-coupon #jdBeans .bs-m .rest{float:left}.order-coupon #jdBeans .bs-m .a-link:link{float:right}.order-coupon #jdBeans .bs-m s{font-weight:700;text-decoration:none;color:#333;font-family:verdana}.order-coupon #jdBeans .bs-m b{font-weight:700;color:#f60;font-family:verdana}.order-coupon #jdBalance{padding:10px 0}.order-coupon .pay-password{padding-top:10px;overflow:hidden;zoom:1}.order-coupon .pay-password .label{float:left;line-height:28px;font-weight:700}.order-coupon .pay-password .fl{height:28px;overflow:hidden;zoom:1}.order-coupon .pay-password .textbox1{width:110px;height:16px;margin-right:5px;border:1px solid #bbb;padding:4px 3px;float:left;font-family:Arial,\"\\5b8b\\4f53\",sans-serif}.order-coupon .pay-password .forgot-password{line-height:28px}.order-coupon .pay-password .forgot-password a,.order-coupon .pay-password .forgot-password a:hover,.order-coupon .pay-password .forgot-password a:visited{color:#005ea7}.dquan,.jquan,.yfquan{display:inline-block;*display:inline;*zoom:1;color:#fff;height:18px;line-height:18px;padding:0 2px 0 3px;font-weight:400;margin-right:10px}.dquan{background:#ff7800}.jquan{background:#e4393c}.yfquan{background:#318ae5}.quan-line{border-top:1px dashed #a3d1ec;padding:3px 0;height:2px}\r\n/* user-purchase checkout-floatbar.css Date:2015-03-10 17:27:19 */\r\n.trade-foot{margin-top:40px}#checkout-floatbar{border:solid #f0f0f0;border-width:1px 1px 0;width:988px}.checkout-buttons{position:relative;width:988px;height:50px;background-color:#f0f0f0}.checkout-buttons .sticky-wrap{position:relative;_zoom:1}.checkout-buttons .presale-con{float:right;line-height:50px;padding:0 10px}.checkout-buttons .presale-con .presale-info{float:left;margin-right:30px}.checkout-buttons .presale-con .presale-info i{display:inline-block;width:24px;height:24px;vertical-align:middle;background:url(http://misc.360buyimg.com/purchase/trade/skin/i/presale-icon.png) 0 2px no-repeat}.checkout-buttons .presale-con .presale-info .pho-num{color:#E4393C;font-size:16px;font-weight:400;font-family:Verdana;vertical-align:middle;display:inline-block;height:24px;line-height:24px;margin-right:5px}.checkout-buttons .presale-con .presale-info .pho-num input{height:22px;line-height:22px;width:96px;padding:0 5px;border:1px solid #ccc;font-family:Verdana}.checkout-buttons .presale-con .presale-info .pho-num .error{background-color:#FFEBEC;border:1px solid #FFBDBF;color:#E6393D}.checkout-buttons .presale-con .presale-info a{margin-left:5px}.checkout-buttons .presale-con .presale-info span{vertical-align:middle;display:inline-block;height:24px;line-height:24px}.checkout-buttons .presale-con .pay-chk{float:left}.checkout-buttons .presale-con .pay-chk input{vertical-align:middle;margin-right:5px}.checkout-buttons .presale-con .pay-chk .pre-price{color:#E4393C}.checkout-buttons .total{padding-right:18px;float:right;line-height:50px;font-size:14px}.checkout-buttons .total strong{color:#e4393c;font-size:20px;vertical-align:middle;font-weight:700}.checkout-buttons .checkout-submit{float:right;position:relative;width:135px;height:36px;line-height:36px;margin:8px 10px 0 0;padding:0;background-color:#e00;overflow:hidden;color:#fff;font-weight:700;font-size:16px}.checkout-buttons .checkout-submit b{position:absolute;left:0;top:0;width:135px;height:36px;background:url(../images/btn-submit.jpg) no-repeat;cursor:pointer;overflow:hidden}.checkout-buttons .checkout-submit:hover{background-color:#EF494D}.checkout-buttons .checkout-submit:hover b{background-position:0 -36px}.checkout-buttons .checkout-submit-disabled{float:right;position:relative;width:135px;height:36px;line-height:36px;margin:8px 10px 0 0;padding:0;overflow:hidden;color:#fff;font-weight:700;font-size:16px;cursor:not-allowed}.checkout-buttons .checkout-submit-disabled b{position:absolute;left:0;top:0;width:135px;height:36px;background:url(http://misc.360buyimg.com/user/purchase/css/i/btn-disabled.png) no-repeat;cursor:not-allowed}.checkout-buttons .checkout-submit-tip{background-color:#fffdee;border:1px solid #edd28b;color:#f60;float:right;padding:0 3px;height:30px;line-height:30px;margin:10px 10px 0 0}.checkout-buttons .dispatching{float:right;background:#fffdee;border:1px solid #edd28b;height:32px;line-height:32px;padding:0 8px;margin-top:8px}.checkout-buttons .identifying-code{float:right;height:32px;margin:8px 20px 0 0}.checkout-buttons .identifying-code img{border:1px solid #dacfbd;float:left}.checkout-buttons .identifying-code .itxt{width:73px;padding:6px 5px;height:18px;line-height:18px;border:1px solid #dcdcdc;margin:2px 0 0 10px}.submit-error{position:absolute;right:10px;top:-22px;z-index:3000;background:#FFE8E8;color:#C00;border:1px solid #DB9A9A;line-height:20px;padding:0 5px}.submit-check-info{color:#F60;height:30px;line-height:30px;top:-30px;padding:0 5px;position:absolute;right:10px;background-color:#FFFDEE;border:1px solid #EDD28B}.ui-ceilinglamp-current{position:fixed;bottom:0;left:0;z-index:100;width:100%;-moz-opacity:.95;opacity:.95;_filter:progid:DXImageTransform.Microsoft.gradient(enabled='true', startColorstr='#f2f0f0f0', endColorstr='#f2f0f0f0');background:rgba(240,240,240,.95)}.ui-ceilinglamp-current .sticky-wrap{width:990px;margin:0 auto}.consignee-foot{padding:15px 10px 15px 0;line-height:20px;text-align:right;border:solid #f0f0f0;border-width:0 1px 1px;width:978px}\r\n/* user-purchase backpanel.css Date:2015-03-10 17:27:19 */\r\n#backpanel-inner{position:fixed;bottom:50px;right:0;z-index:1000;display:inline-block}#backpanel-inner .bp-item{width:38px;height:38px;background:#ccc;margin-top:5px}#backpanel-inner .bp-item .floor-links{border:1px solid #dedede;height:31px}#backpanel-inner .bp-item a{display:block;background-image:url(http://misc.360buyimg.com/user/purchase/widget/backpanel/i/backpanel.png);background-color:#aaa;background-repeat:no-repeat;padding:5px 0 0 7px;color:#fff;height:33px;line-height:1000px;overflow:hidden}#backpanel-inner .bp-item a:hover{text-decoration:none;line-height:14px;color:#fff;background-image:none}#backpanel-inner .bp-item a:visited{text-decoration:none}#backpanel-inner .bp-item .survey{text-decoration:none;line-height:14px;color:#fff;background-image:none}#backpanel-inner .bp-item .backtop{background-position:0 -552px}#backpanel-inner .bp-item-backtop{display:none}#backpanel-inner.switchOn .bp-item-backtop{display:inline-block}* html #backpanel-inner{position:absolute;top:expression(documentElement.scrollTop+documentElement.clientHeight-this.offsetHeight);overflow:visible}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/passport.base.css",
    "content": "@charset \"utf-8\";\r\nhtml,body,div,span,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,address,big,cite,code,del,em,font,img,ins,small,strong,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend{margin:0;padding:0;}ol,ul{list-style:none;}:focus{outline:0;}a img{border:0;}img{vertical-align:middle;}table{empty-cells:show;}ins{text-decoration:none;}del{text-decoration:line-through;}h1{font-size:20px;font-family:Arial,Lucida,Verdana,\"microsoft yahei\",\"宋体\",Helvetica,sans-serif;}h2{font-size:14px;}h3{font-size:14px;}h4{font-size:12px;}h5{font-size:12px;}h6{font-size:12px;}.ftx01,.flk01 a:link,.flk01 a:visited,a.flk01:link,a.flk01:visited{color:#FCD410;}.ftx02,.flk02 a:link,.flk02 a:visited,a.flk02:link,a.flk02:visited{color:#F90;}.ftx03,.flk03 a:link,.flk03 a:visited,a.flk03:link,a.flk03:visited{color:#A0410A;}.ftx04,.flk04 a:link,.flk04 a:visited,a.flk04:link,a.flk04:visited{color:#F00;}.ftx05,.flk05 a:link,.flk05 a:visited,a.flk05:link,a.flk05:visited{color:#A40F00;}.ftx11,.flk11 a:link,.flk11 a:visited,a.flk11:link,a.flk11:visited{color:#B8D1EA;}.ftx12,.flk12 a:link,.flk12 a:visited,a.flk12:link,a.flk12:visited{color:#4589BF;}.ftx13,.flk13 a:link,.flk13 a:visited,a.flk13:link,a.flk13:visited{color:#005AA0;}.ftx14,.flk14 a:link,.flk14 a:visited,a.flk14:link,a.flk14:visited{color:#12A000;}.ftx21,.flk21 a:link,.flk21 a:visited,a.flk21:link,a.flk21:visited{color:#FFF;}.ftx22,.flk22 a:link,.flk22 a:visited,a.flk22:link,a.flk22:visited{color:#CCC;}.ftx23,.flk23 a:link,.flk23 a:visited,a.flk23:link,a.flk23:visited{color:#999;}.ftx24,.flk24 a:link,.flk24 a:visited,a.flk24:link,a.flk24:visited{color:#666;}.ftx25,.flk25 a:link,.flk25 a:visited,a.flk25:link,a.flk25:visited{color:#333;}.ftx26,.flk26 a:link,.flk26 a:visited,a.flk26:link,a.flk26:visited{color:#000;}\r\n/*layout*/\r\nbody{margin:0 auto;}\r\n.w{width:990px;padding:0;margin:0 auto;zoom:1;}\r\nbody .fl{float:left;}body .fr{float:right;}body .fn{float:none;}\r\nbody .al{text-align:left;}body .ac{text-align:center;}body .ar{text-align:right;}\r\n.clr{display:block;overflow:hidden;clear:both;height:0;line-height:0;font-size:0;}\r\n.clearfix:after {content:\".\";display:block;height:0;clear:both;visibility:hidden;}\r\n.clearfix{display:inline-table;}\r\n/* Hides from IE-mac \\*/\r\n*html .clearfix {height:1%;}\r\n.clearfix{display:block;}\r\n/* End hide from IE-mac */\r\n*+html .clearfix {min-height:1%;}\r\n.overflow{overflow:hidden;}\r\n.block{display:block;overflow:hidden;cursor:pointer;}\r\n.hide{display:none;}\r\n.invisible{visibility:hidden;}\r\n/*form*/\r\n.form label,.form input,.form select,.form textarea,.form button,.form .label{float:left;font-size:12px;}\r\n.form .item{overflow:hidden;zoom:1;}\r\n.form .item-hidden{overflow:hidden;zoom:1;display: none;}\r\n.btn-img{cursor:pointer;overflow:hidden;margin:0;padding:0;border:0;text-align:center;}\r\n.btn-text{cursor:pointer;overflow:hidden;margin:0;padding:0;text-align:center;}\r\n.btn-link{display:block;overflow:hidden;text-align:center;}\r\n/*module*/\r\n.m,.mt,.mc,.mb{overflow:hidden;zoom:1;}\r\n.mt .extra{float:right;}\r\n.m{margin-bottom:10px;}\r\n.lh { overflow:hidden; zoom:1; }\r\n.lh li, .lh dl, .lh .item { float:left; }\r\n.ld { position:relative; zoom:1; }\r\n.ld s, .ld b, .ld .block { position:absolute; overflow:hidden; }\r\n/*tab*/\r\n.tab{overflow:hidden;zoom:1;}\r\n.tab li,.tab-item{float:left;text-align:center;}\r\n/*text*/\r\nbody{font-family:Arial,\"宋体\",Lucida,Verdana,Helvetica,sans-serif;font-size:12px;color:#333;line-height:150%;}\r\n/*link*/\r\na:link,a:visited{color:#333;text-decoration:none;}\r\na:hover,a:active{color:#f00;text-decoration:underline;}\r\n#shortcut,\r\n#shortcut .w,\r\n#shortcut .fl b,\r\n#shortcut .menu b{background-image:url(../images/20111221C.png);background-repeat:no-repeat;}\r\n#shortcut li{background-image:url(../images/20120112B.png);background-repeat:no-repeat;}\r\n#shortcut,\r\n#shortcut .w{height:30px;background-color:#efefef;background-repeat:repeat-x;}\r\n#shortcut{width:100%;padding-bottom:1px;line-height:30px;}\r\n#shortcut li{height:27px;padding:0 10px;background-position:-230px -320px;}\r\n/*#shortcut .fl .fore1{border:solid #DADADA;border-width:1px 1px 0;background:#fff;padding:0 22px 0 2px;margin-top:3px;line-height:24px;}\r\n#shortcut .fl span{padding:0 8px;border-right:1px solid #ddd;}\r\n/*#shortcut .fl .fore2{background:none;}*/\r\n#shortcut .fl .fore1{padding-left:15px;background:none;}\r\n#shortcut .fl b{top:10px;left:1px;width:10px;height:10px;background-position:-57px -289px;cursor:pointer;}\r\n#shortcut .fr{height:30px;overflow:visible;}\r\n#shortcut .fr .fore1{background:none;}\r\n#shortcut .fr .menu{position:relative;z-index:10;width:83px;padding:3px 0 0;}\r\n#shortcut .menu dl{width:67px;padding:0 7px;}\r\n#shortcut .menu dt{height:24px;padding:0 10px 1px 6px;line-height:24px;cursor:default;}\r\n#shortcut .menu b{top:10px;right:3px;width:7px;height:4px;background-position:-35px -281px;}\r\n#shortcut .menu dd{display:none;padding:4px 0 4px 5px;line-height:21px;}\r\n/*#shortcut .menu:hover dl,*/\r\n#shortcut .fr .hover{z-index:11;}\r\n#shortcut .hover dl{border:1px solid #ddd;background:#fff;-moz-box-shadow:0 0 5px #ddd;-webkit-box-shadow:0 0 5px #ddd;box-shadow:0 0 5px #ddd;}\r\n/*#shortcut .menu:hover dt,*/\r\n#shortcut .hover dt{padding-left:5px;border-bottom:1px solid #F3F3F3;line-height:23px;}\r\n/*#shortcut .menu:hover dd,*/\r\n#shortcut .hover dd{display:block;}\r\n/*#shortcut .menu:hover b,*/\r\n#shortcut .hover b{top:9px;background-position:-35px -275px;}\r\n#shortcut a.link-logout:link,\r\n#shortcut a.link-logout:visited{color:#999;}\r\n#loginbar a{margin-left:5px;}\r\n#mycity{font-weight:bold;color:#005EA7;}\r\n#quit{color:#999;}\r\n/*#cityselector{display:none;position:absolute;top:26px;left:900px;z-index:11;width:400px;}\r\n#cityselector .smc{background:#fff;}\r\n#cityselector .item{width:374px;padding:6px 0;margin:0 12px;border-top:1px dotted #ccc;overflow:hidden;zoom:1;}\r\n#cityselector .item a{float:left;margin-right:14px;white-space:nowrap;}\r\n#cityselector .fore{border-top:none;}\r\n#cityselector .smc .extra{padding:5px 12px;background:#f3f3f3;color:#f60;}\r\n#cityselector .smc,\r\n#cityselector .smc .extra{border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;}*/\r\n*html #shortcut .fl{height:27px;overflow:hidden;}\r\n*html #shortcut .fl b{top:8px;}\r\n*html #shortcut li.menu dl{position:absolute;}\r\n/*footer*/\r\n#footer { padding-bottom:30px; text-align:center; }\r\n#footer .links a, #footer .links span { margin:0 10px; }\r\n#footer .links span a { margin:0; }\r\n#footer .copyright { margin:10px 0; }\r\n#footer .authentication a { margin:0 5px; }\r\n/*logo*/\r\n#logo{padding:10px 0;position:relative;}\r\n#logo b{position:absolute;background:url(../images/regist-word.png) no-repeat;top:18px;left:180px;width:111px;height:46px;}\r\n#shortcut .fl span{display:none}\r\n\r\n#intelligent-regName {\r\n    background: none repeat scroll 0 0 #FFFFFF;\r\n    border: 1px solid #BBBBBB;\r\n    left: 0;\r\n    position: absolute;\r\n    top: 38px;\r\n    width: 268px;\r\n    z-index: 100;\r\n}\r\n#intelligent-regName li {\r\n    height: 22px;\r\n    line-height: 22px;\r\n    padding: 0 3px;\r\n}\r\n.o-intelligent-regName {\r\n\r\n}\r\n#select-regName {\r\n    overflow: visible;\r\n}\r\n#regist .btn-regist{\r\n    *zoom:1;\r\n    display: inline-block;\r\n    border:0 none;\r\n    font-size: 14px;\r\n    font-weight: bold;\r\n    text-align:center;\r\n    color: #fff\r\n}\r\n\r\n.btn .btn-text {height:25px; padding:0 0 0 10px; float:left; display:block; overflow:hidden; line-height:25px; text-align:left; background-position:0 -25px;}\r\n/*#footer*/\r\n#footer-2013{padding-bottom:30px;text-align:center;}\r\n#footer-2013 .links a,\r\n#footer-2013 .links span{margin:0 10px;}\r\n#footer-2013 .links span a{margin:0;}\r\n#footer-2013 .copyright{margin:10px 0;}\r\n#footer-2013 .authentication a{margin:0 5px;}\r\n\r\n/*shortcut*/\r\n#shortcut-2013 .fl b,\r\n#shortcut-2013 .fr b{background-image:url(../images/20130330A.png);background-repeat:no-repeat;}\r\n#shortcut-2013,\r\n#shortcut-2013 .w{height:30px;background:#FAFAFA;}\r\n#shortcut-2013{width:100%;border-bottom:1px solid #eee;line-height:30px;}\r\n#shortcut-2013 li{height:30px;padding:0 11px 0 12px;}\r\n#shortcut-2013 li s{top:9px;left:0;width:0px;height:12px;border-left:1px solid #DDD;overflow:hidden;}\r\n#shortcut-2013 b{transition:transform 0.2s ease-in 0s;}\r\n#shortcut-2013 .fl{overflow:visible;}\r\n#shortcut-2013 .fl .fore1{padding-left:16px;z-index:1;}\r\n#shortcut-2013 .fl b{top:8px;left:0;width:13px;height:13px;background-position:-90px -23px;cursor:pointer;}\r\n#shortcut-2013 .fl li:hover b{transform:rotate(720deg);}\r\n#shortcut-2013 .fl .jtip{left:68px;top:6px;width:120px;line-height:16px;}\r\n#shortcut-2013 .fr{height:30px;overflow:visible;}\r\n#shortcut-2013 .fr b{top:13px;right:8px;width:7px;height:4px;background-position:-95px -55px;}\r\n#shortcut-2013 .menu{width:60px;z-index:10;}\r\n#shortcut-2013 .dd{display:none;}\r\n#shortcut-2013 .hover .outline,\r\n#shortcut-2013 .hover .dd{position:absolute;border:1px solid #DDD;background:#fff;-moz-box-shadow:0 0 10px #DDD;-webkit-box-shadow:0 0 10px #DDD;box-shadow:0 0 10px #DDD;}\r\n#shortcut-2013 .hover .outline{z-index:-1;left:5px;top:3px;width:73px;height:28px;}\r\n#shortcut-2013 .hover .blank{position:absolute;z-index:1;top:25px;left:6px;width:73px;height:6px;overflow:hidden;background:#fff;}\r\n#shortcut-2013 .hover .dd{display:block;top:30px;}\r\n#shortcut-2013 .fr .hover b{transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);}\r\n\r\n#biz-service.hover .dd{left:5px;width:73px;}\r\n#biz-service.hover .dd div{padding-left:6px;line-height:22px;}\r\n#site-nav .dd{left:-164px;width:242px;}\r\n#site-nav .dd dl{width:70px;}\r\n#site-nav .dd .fore2{width:80px;}\r\n#site-nav .dd .fore3{width:90px;}\r\n#site-nav .dd dt{padding:4px 0 4px 9px;line-height:20px;font-weight:bold;}\r\n#site-nav .dd dd{padding-left:9px;line-height:22px;}\r\n\r\n#intelligent-regName li{height:22px;line-height:22px;padding:0 3px;}\r\nbody,#regist .mt{background:#f2f2f2;}\r\n#shortcut,#shortcut .w{background:#fafafa;}\r\n#regist {\r\n    background:#FFF;\r\n}\r\n\r\n.thickframe {\r\n    position: fixed;\r\n    top: 0;\r\n    left: 0;\r\n    z-index: 10000000;\r\n    width: 100%;\r\n    height: 100%;\r\n    background: #000;\r\n    border: 0;\r\n    filter: alpha(opacity = 0);\r\n    opacity: 0;\r\n}\r\n\r\n.thickdiv {\r\n    position: fixed;\r\n    top: 0;\r\n    left: 0;\r\n    z-index: 10000001;\r\n    width: 100%;\r\n    height: 100%;\r\n    background: #000;\r\n    border: 0;\r\n    filter: alpha(opacity = 15);\r\n    opacity: .15;\r\n}\r\n\r\n.thickbox {\r\n    position: absolute;\r\n    z-index: 10000002;\r\n    overflow: hidden;\r\n    padding: 0;\r\n    border: 4px solid rgba(0, 0, 0, 0.1);\r\n    border-radius: 5px;\r\n    -moz-border-radius: 5px;\r\n    -webkit-border-radius: 5px;\r\n}\r\n\r\n.thicktitle {\r\n    height: 27px;\r\n    padding: 0 10px;\r\n    border: solid #C4C4C4;\r\n    border-width: 1px 1px 0;\r\n    background: #F3F3F3;\r\n    line-height: 27px;\r\n    font-family: arial, \"\\5b8b\\4f53\";\r\n    font-size: 14px;\r\n    font-weight: bold;\r\n    color: #333;\r\n}\r\n\r\n.thickclose:link, .thickclose:visited {\r\n    display: block;\r\n    position: absolute;\r\n    z-index: 100000;\r\n    top: 7px;\r\n    right: 12px;\r\n    overflow: hidden;\r\n    width: 15px;\r\n    height: 15px;\r\n    background: url(../images/bg_thickbox.gif) no-repeat 0 -18px;\r\n    font-size: 0;\r\n    line-height: 100px;\r\n}\r\n\r\n.thickcon {\r\n    overflow: auto;\r\n    background: #fff;\r\n    border: solid #C4C4C4;\r\n    border-width: 1px;\r\n    padding: 10px;\r\n}\r\n\r\n.thickloading {\r\n    background: url(../images/loading.gif) #fff no-repeat center center;\r\n}\r\n\r\n.thickcountdown {\r\n    height: 20px;\r\n    padding-right: 6px;\r\n    margin-top: -20px;\r\n    text-align: right;\r\n    color: #999;\r\n}\r\n\r\n*html .thickframe {\r\n    position: absolute;\r\n}\r\n\r\n*html .thickdiv {\r\n    position: absolute;\r\n}\r\n\r\n#thicktitler {\r\n    padding: 0 11px;\r\n    background: #8DB7DC;\r\n    border: none;\r\n    color: #fff;\r\n}\r\n\r\n#thickcloser:link, #thickcloser:visited {\r\n    top: 6px;\r\n    right: 9px;\r\n    width: 16px;\r\n    height: 17px;\r\n    background-position: 0 0;\r\n}\r\n\r\n#thickconr {\r\n    border: solid #8DB7DC;\r\n    border-width: 1px;\r\n}\r\n\r\n.regist-2013 .btnt{width:322px;margin:20px auto 0;}\r\n.regist-2013 .btnt .btn-img{width:322px;height:34px;line-heiht:34px;background:#e4393c;color:#FFF; -moz-border-radius:3px; -webkit-border-radius:3px;border-radius:3px;font-family:\"微软雅黑\";font-size:16px;font-weight:800;}\r\n#protocol-con{height:356px;overflow:auto;padding:10px 20px 0 10px;}\r\n#protocol-con h5{line-height:30px;}\r\n#protocol-con p{line-height:20px;}\r\n#protocol-con p strong{font-weight:normal;}\r\n.thicktitle{padding:0;text-align:center;}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/pop_compare.css",
    "content": "#pop-compare {\r\n\tdisplay: none;\r\n\tposition: fixed;\r\n\tbottom: -200px;\r\n\tright: 50%;\r\n\tmargin-right: -495px;\r\n\tz-index: 100;\r\n\twidth: 990px;\r\n\theight: 139px;\r\n\tbackground: #fff;\r\n\t-moz-box-shadow: 0 0 15px rgba(221, 221, 221, .8);\r\n\t-webkit-box-shadow: 0 0 15px rgba(221, 221, 221, .8);\r\n\tbox-shadow: 0 0 15px rgba(221, 221, 221, .8)\r\n}\r\n\r\n.root61 #pop-compare {\r\n\tmargin-right: -606px\r\n}\r\n\r\n#pop-compare .tab-con {\r\n\tborder: 2px solid #7abd54;\r\n\tborder-top: 0\r\n}\r\n\r\n#pop-compare.pop-compare-narrow {\r\n\twidth: 970px;\r\n\tmargin-right: -475px\r\n}\r\n\r\n#pop-compare.pop-compare-narrow #scroll-con-inner dl {\r\n\twidth: 204px\r\n}\r\n\r\n#pop-compare.pop-compare-narrow .scroll-con {\r\n\twidth: 880px\r\n}\r\n\r\n#pop-compare.pop-compare-narrow .scroll-con dd {\r\n\twidth: 150px\r\n}\r\n\r\n#pop-compare .pop-wrap {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\twidth: 990px\r\n}\r\n\r\n#pop-compare.pop-compare-narrow .pop-wrap {\r\n\twidth: 970px\r\n}\r\n\r\n#pop-compare.pop-compare-narrow .diff-operate {\r\n\tright: 14px\r\n}\r\n\r\n#goto-contrast:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n#goto-contrast {\r\n\tdisplay: block;\r\n\twidth: 59px;\r\n\theight: 30px;\r\n\tfont: 700 14px/30px verdana;\r\n\tmargin-left: 13px;\r\n\tmargin-bottom: 11px;\r\n\tborder-radius: 3px;\r\n\tbackground: #fff;\r\n\tborder: 1px solid #ddd;\r\n\tcolor: #ccc;\r\n\tcursor: default\r\n}\r\n\r\n#goto-contrast.compare-active {\r\n\tborder: 0;\r\n\tcolor: #fff;\r\n\tbackground-color: #E74649;\r\n\tbackground-image: -ms-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: -moz-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: -o-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #E74649),\r\n\t\tcolor-stop(1, #DF3033));\r\n\tbackground-image: -webkit-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: linear-gradient(to bottom, #E74649 0, #DF3033 100%);\r\n\tcursor: pointer\r\n}\r\n\r\n.del-items:hover, .btn-compare:hover, .del-comp-item:hover {\r\n\tcursor: pointer\r\n}\r\n\r\n.del-comp-item {\r\n\tpadding-left: 10px\r\n}\r\n\r\n#pop-compare .pop-inner {\r\n\theight: 133px\r\n}\r\n\r\n#pop-compare .diff-hd .tab-btns {\r\n\theight: 32px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-bottom: 2px solid #7abd54;\r\n\t_overflow: hidden\r\n}\r\n\r\n#pop-compare .tab-btns a {\r\n\tcolor: #666\r\n}\r\n\r\n#pop-compare .diff-hd {\r\n\tposition: relative\r\n}\r\n\r\n#pop-compare .tab-btns .current {\r\n\tposition: relative;\r\n\tleft: -1px;\r\n\tmargin-top: -4px;\r\n\theight: 36px;\r\n\tbackground: #fff;\r\n\tborder: 2px solid #7abd54;\r\n\tborder-bottom: 0\r\n}\r\n\r\n#pop-compare .tab-btns .current a {\r\n\tcolor: #7abd54\r\n}\r\n\r\n#pop-compare .tab-btns .current a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n#pop-compare .diff-hd .operate {\r\n\twidth: 190px;\r\n\ttext-align: right;\r\n\tposition: absolute;\r\n\tright: 0;\r\n\ttop: 0;\r\n\tpadding-right: 22px;\r\n\theight: 30px;\r\n\tline-height: 30px;\r\n\tclear: both\r\n}\r\n\r\n#pop-compare .diff-hd li {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\twidth: 80px;\r\n\theight: 30px;\r\n\tline-height: 30px;\r\n\ttext-align: center;\r\n\t*zoom: 1;\r\n\tfont: 14px/30px 'microsoft yahei'\r\n}\r\n\r\n#pop-compare .operate .btn-compare {\r\n\tmargin-top: 2px\r\n}\r\n\r\n#pop-compare div.diff-items {\r\n\tpadding: 6px;\r\n\tcolor: #ccc;\r\n\theight: 90px;\r\n\toverflow: hidden\r\n}\r\n\r\n#pop-compare #scroll-con-inner div.dt {\r\n\tborder: 0\r\n}\r\n\r\n#pop-compare .diff-items dl, #pop-compare .scroll-con dl {\r\n\tfloat: left;\r\n\toverflow: hidden;\r\n\tmargin-right: 10px;\r\n\tpadding: 17px 10px 12px 0;\r\n\tborder-right: 1px dotted #7abd54\r\n}\r\n\r\n#pop-compare #scroll-con-inner li {\r\n\tfloat: left;\r\n\theight: 84px;\r\n\toverflow: hidden\r\n}\r\n\r\n#pop-compare #scroll-con-inner .rec_item_wrap {\r\n\tmargin-right: 10px;\r\n\tpadding: 10px 10px 0 0;\r\n\tborder-right: 1px dotted #7abd54;\r\n\toverflow: hidden;\r\n\twidth: 205px\r\n}\r\n\r\n#pop-compare .diff-items dt, #pop-compare .scroll-con dt,\r\n\t#scroll-con-inner .dt {\r\n\tfloat: left;\r\n\tmargin-right: 5px;\r\n\twidth: 48px;\r\n\theight: 48px;\r\n\ttext-align: center;\r\n\tcolor: #ccc;\r\n\tborder: 1px solid #fff;\r\n\tfont: 36px/48px arial;\r\n\toverflow: hidden\r\n}\r\n\r\n#pop-compare .diff-items dd, #pop-compare .scroll-con dd,\r\n\t#scroll-con-inner .dd {\r\n\tfloat: left;\r\n\twidth: 140px\r\n}\r\n\r\n#pop-compare .item-empty dt {\r\n\tbackground: #f6f6f6\r\n}\r\n\r\n#scroll-con-inner .hasItem .dt {\r\n\tbackground: 0\r\n}\r\n\r\n#pop-compare a.diff-item-name {\r\n\theight: 3em;\r\n\tline-height: 1.5em;\r\n\toverflow: hidden;\r\n\tdisplay: block;\r\n\tcolor: #333\r\n}\r\n\r\n#pop-compare .rec_item_wrap .btns {\r\n\tpadding-top: 15px\r\n}\r\n\r\n#pop-compare .rec_item_wrap .btns .p-price {\r\n\t_float: right\r\n}\r\n\r\n#pop-compare .rec_item_wrap .btns img {\r\n\tmargin-top: 3px;\r\n\t*float: left\r\n}\r\n\r\n#pop-compare .del-comp-item {\r\n\tvisibility: hidden;\r\n\tcolor: #005aa0\r\n}\r\n\r\n#pop-compare .show-del-comp-item .del-comp-item {\r\n\tvisibility: visible\r\n}\r\n\r\n#pop-compare .hasItem dt {\r\n\tborder: 0\r\n}\r\n\r\n#pop-compare .diff-bd {\r\n\tposition: relative\r\n}\r\n\r\n#pop-compare .diff-operate {\r\n\tposition: absolute;\r\n\tright: 22px;\r\n\ttop: 22px;\r\n\twidth: 85px;\r\n\ttext-align: center\r\n}\r\n\r\na.compare-active {\r\n\tbackground-position: 0 -92px;\r\n\tcolor: #333;\r\n\tcursor: pointer\r\n}\r\n\r\n.pop-compare-tips {\r\n\tdisplay: none;\r\n\theight: 27px;\r\n\tmargin-top: -29px;\r\n\tline-height: 27px;\r\n\tborder: 1px solid #db9a9a;\r\n\tcolor: #c00;\r\n\ttext-align: center;\r\n\tbackground: #ffe8e8;\r\n\t_margin-top: 0\r\n}\r\n\r\n#pop-compare .hide-me, .diff-operate a {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#pop-compare .btn-compare {\r\n\tdisplay: block;\r\n\tborder: 0\r\n}\r\n\r\n#pop-compare .btn-compare-s {\r\n\tfloat: left;\r\n\twidth: 58px;\r\n\theight: 21px;\r\n\tbackground:\r\n\t\turl(../images/cmp-btns.png) 0 0\r\n\t\tno-repeat;\r\n\toverflow: hidden;\r\n\tline-height: 100px;\r\n\tmargin-right: 10px\r\n}\r\n\r\n#pop-compare a.btn-compare-s-active {\r\n\tbackground-position: 0 -24px\r\n}\r\n\r\n#pop-compare .scroll-item {\r\n\tpadding: 6px 10px;\r\n\t_padding: 10px\r\n}\r\n\r\n#pop-compare div.scroll-con {\r\n\twidth: 905px;\r\n\theight: 90px;\r\n\tposition: relative;\r\n\tmargin: 0 auto;\r\n\toverflow: hidden\r\n}\r\n\r\n#pop-compare #scroll-con-inner {\r\n\tposition: absolute;\r\n\tz-index: 10;\r\n\tleft: 0;\r\n\ttop: 0\r\n}\r\n\r\n#scroll-con-inner dl img, #scroll-con-inner dt {\r\n\tborder: 0\r\n}\r\n\r\n#pop-compare .scroll-item {\r\n\tposition: relative;\r\n\theight: 90px\r\n}\r\n\r\n#pop-compare .scroll-loading {\r\n\twidth: 900px;\r\n\theight: 90px;\r\n\tline-height: 90px\r\n}\r\n\r\n#pop-compare .scroll-con dd {\r\n\twidth: 155px\r\n}\r\n\r\n#pop-compare .scroll-btn {\r\n\tposition: relative;\r\n\ttop: 30px;\r\n\tz-index: 10;\r\n\twidth: 14px;\r\n\theight: 50px;\r\n\ttext-indent: -9999px;\r\n\toverflow: hidden;\r\n\tcursor: pointer;\r\n\tbackground-image:\r\n\t\turl(../images/footprint-arr.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#pop-compare .sb-prev {\r\n\tfloat: left;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#pop-compare .sb-next {\r\n\tfloat: right;\r\n\tbackground-position: -16px 0\r\n}\r\n\r\n#pop-compare span.no-prev, #pop-compare #sc-prev.disabled {\r\n\tbackground-position: 0 -100px;\r\n\tcursor: default\r\n}\r\n\r\n#pop-compare span.no-next, #pop-compare #sc-next.disabled {\r\n\tbackground-position: -16px -100px;\r\n\tcursor: default\r\n}\r\n\r\n#sidepanel .compareHolder {\r\n\tdisplay: block;\r\n\tbackground-position: 0 -606px;\r\n\tcursor: pointer\r\n}\r\n\r\n#sidepanel .compareHolder b {\r\n\twidth: 14px;\r\n\theight: 13px;\r\n\tbackground:\r\n\t\turl(../images/cmp-btns.png) -95px\r\n\t\t-94px no-repeat\r\n}\r\n\r\n#sidepanel .compareHolder:hover b {\r\n\tbackground-position: -95px -108px\r\n}\r\n\r\n#sidepanel .compareHolder-show {\r\n\tvisibility: visible\r\n}\r\n\r\n* html #pop-compare {\r\n\tbottom: auto;\r\n\ttop: expression(eval(document.documentElement.scrollTop +\r\n\t\tdocument.documentElement.clientHeight-this.offsetHeight- ( parseInt(this.currentStyle.marginTop\r\n\t\t, 10)||0)-(parseInt(this.currentStyle.marginBottom, 10)||0)))\r\n}\r\n\r\n* html #pop-compare {\r\n\tbottom: auto;\r\n\tposition: absolute\r\n}\r\n\r\n* html #pop-compare .pop-wrap {\r\n\tposition: static\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/psearch.onebox.css",
    "content": "/*publish time:2014-2-24 18:11:24 yk*/\r\n/*onebox*/\r\n.onebox{overflow:hidden;*position:relative;width:768px;border:1px solid #ddd;zoom:1;}\r\n.onebox:after{content:'\\20';display:block;clear:both;}\r\n.onebox .mt{height:31px;padding-left:10px;background:#F7F7F7;line-height:30px;}\r\n.onebox .mt h2{float:left;font-size:15px;}\r\n.onebox .mt h2 span{font-size:12px;font-family:\\5b8b\\4f53;cursor:pointer;color:#333;}\r\n.onebox .mt .extra{float:right;padding-right:8px;}\r\n.onebox .mc{*position:relative;width:748px;padding:10px;overflow:hidden;zoom:1;}\r\n.onebox .mc .p-price{font-family:verdana, '\\5b8b\\4f53';}\r\n.onebox .mc .btn-gray{display:inline-block;border:1px solid #ddd;border-radius:2px;background:#f7f7f7;text-align:center;color:#333;background:-moz-linear-gradient(top,#f7f7f7,#f2f2f2);background:-webkit-gradient(linear,0 0,0 100%,from(#f7f7f7),to(#f2f2f2));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#F7F7F7\",endColorstr=\"#F2F2F2\");-ms-filter:\"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f7f7f7\", endColorstr=\"#f2f2f2\")\"}\r\n.onebox .mc .btn-gray:hover{box-shadow:0 1px 1px rgba(0,1,1,0.08);text-decoration:none;cursor:pointer;color:#333;background:-moz-linear-gradient(top,#f9f9f9,#f6f6f6);background:-webkit-gradient(linear,0 0,0 100%,from(#f9f9f9),to(#f6f6f6));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#F9F9F9\",endColorstr=\"#F6F6F6\");-ms-filter:\"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f9f9f9\", endColorstr=\"#f6f6f6\")\"}\r\n.onebox .relevant-num,\r\n.onebox .relevant-num2{height:18px;margin-bottom:20px;font:bold 14px/1.5 verdana, '\\5b8b\\4f53';color:#333;}\r\n.onebox .relevant-num span{padding-left:5px;font:normal 12px/1.5 '\\5b8b\\4f53';cursor:pointer;}\r\n.onebox .relevant-num .more{float:right;padding-right:10px;font:normal 12px/22px '\\5b8b\\4f53';}\r\n.onebox .relevant-num2{font-weight:normal;}\r\n.onebox .relevant-num3{margin-bottom:10px;font-weight:normal;font-size:12px;}\r\n.onebox .relevant-num strong,\r\n.onebox .relevant-num2 strong,\r\n.onebox .relevant-num3 strong{color:#E4393C;}\r\n.onebox .relevant-num a,\r\n.onebox .relevant-num3 a{font-family:\\5b8b\\4f53;color:#005AA0;}\r\n.onebox .obc-l,.onebox .obc-r{float:left;}\r\n.onebox .obc-l{width:283px;}\r\n.onebox .obc-l{width:273px;padding-left:10px;}\r\n.obc-l .ol-query .dt,.obc-l .ol-query .dd{float:left;height:25px;margin-bottom:10px;line-height:25px;}\r\n.obc-l .ol-query .dt{width:66px;text-align:right;color:#999;}\r\n.obc-l .ol-query .dd{width:200px;}\r\n.obc-l .ol-query .dd .txt{width:132px;height:19px;padding:2px;border:1px solid #ddd;_border:1px solid #ccc;line-height:18px;font:12px/19px verdana, '\\5b8b\\4f53';color:#ccc;_color:#333;}\r\n.obc-l .ol-query .dd .txt:focus{border:1px solid #ccc;color:#333;}\r\n.obc-l .ol-query .btns{height:26px;padding:10px 0 0 66px;}\r\n.obc-l .ol-query .btns .btn-query{display:inline-block;*display:inline;padding:2px 10px;text-decoration:none;*zoom;1;}\r\n.onebox .obc-r{width:440px;padding-left:20px;border-left:1px solid #E0E0E0;}\r\n.obc-r .or-list li{float:left;width:332px;height:18px;margin-bottom:17px;}\r\n.obc-r .or-list li .p-name,.obc-r .or-list li .p-price{overflow:hidden;height:18px;line-height:18px;}\r\n.obc-r .or-list li .p-name{float:left;width:170px;}\r\n.obc-r .or-list li .p-price{float:right;width:110px;padding-right:20px;}\r\n.obcl-search{padding-left:10px;}\r\n.obcl-search .os-box .osb-text{float:left;width:194px;height:19px;padding:2px;border:1px solid #ccc;margin-right:4px;}\r\n.obcl-search .os-box .osb-text:hover{border-color:#a0a0a0 #b9b9b9 #b9b9b9;}\r\n.obcl-search .os-box .osb-search{float:left;padding:3px 10px 2px;*padding:2px 10px;text-decoration:none;}\r\n.obcl-search .os-box .osb-hot{padding-top:3px;}\r\n.obcl-search .os-box .dt,\r\n.obcl-search .os-box .dd{float:left;color:#999;}\r\n.obcl-search .os-box .dt{width:60px;}\r\n.obcl-search .os-box .dd{width:140px;}\r\n.obcl-search .os-box .dd a{display:inline-block;*display:inline;padding-right:10px;*zoom:1;color:#999;}\r\n/*movie-tickets*/\r\n#movie-tickets .mc{overflow:hidden;width:748px;height:210px;}\r\n#movie-tickets .quick-buy-tickets{float:left;}\r\n#movie-tickets .mt-item li{float:left;position:relative;width:224px;height:172px;padding-left:150px;margin:0 0 20px 0;}\r\n#movie-tickets .mt-item li .p-img{position:absolute;left:10px;top:0;width:130px;height:172px;padding:0;}\r\n#movie-tickets .mt-item li .dt,\r\n#movie-tickets .mt-item li .dd{float:left;overflow:hidden;height:24px;line-height:24px;_height:18px;_line-height:18px;color:#999;}\r\n#movie-tickets .mt-item li .dt{width:60px;font-family:simsun;}\r\n#movie-tickets .mt-item li .dd{width:164px;}\r\n#movie-tickets .mt-item li .p-name{height:1.5em;margin-bottom:10px;}\r\n#movie-tickets .mt-item li .p-name a{font-size:14px;font-weight:bold;color:#666;}\r\n#movie-tickets .mt-item li .p-price .dd{font-family:verdana;font-weight:bold;color:#E4393C;}\r\n#movie-tickets .mt-item-one li{width:294px;margin-right:0;}\r\n#movie-tickets .mt-item-one li .dd{width:234px;}\r\n/*qbt-item*/\r\n.qbt-item{float:left;position:relative;width:220px;padding-right:63px;}\r\n.qbt-item h3{margin-bottom:10px;font-size:15px;}\r\n.qbt-item .i-list{clear:both;height:26px;margin-top:10px;line-height:26px;}\r\n.qbt-item .i-list label{width:72px;text-align:right;color:#999;}\r\n.qbt-item .i-list label,\r\n.gbt-item .i-list select{float:left;}\r\n.qbt-item .i-list #choose-cinema,\r\n.qbt-item .i-list #choose-movie{width:138px;height:26px;padding:2px;border-width:1px;border-radius:1px;border-style:solid;border-color:#AAADB2 #DBE0E6 #E2EAEF #E2E4EB;line-height:26px;}\r\n.qbt-item .btn{clear:both;height:36px;padding-left:72px;_padding-left:75px;margin-top:20px;}\r\n.qbt-item a.buy-tickets{display:inline-block;*display:inline;padding:8px 16px;height:20px;text-decoration:none;font:bold 18px/18px '\\5fae\\8f6f\\96c5\\9ed1';*line-height:20px;color:#fff;*zoom:1;}\r\n.qbt-item a.buy-tickets:hover{text-decoration:none;}\r\n.qbt-item .switch{position:absolute;right:48px;top:48px;width:15px;height:43px;}\r\n.qbt-item .switch a{display:block;width:15px;height:43px;background:url(i/onebox/2013101801.png) no-repeat;}\r\n/*tickets-list*/\r\n.tickets-list li{float:left;position:relative;width:162px;height:172px;padding-left:150px;margin:0 20px 20px 0;}\r\n.tickets-list li .p-img{position:absolute;left:10px;top:0;width:130px;height:172px;padding:0;}\r\n.tickets-list li .dt,\r\n.tickets-list li .dd{float:left;overflow:hidden;height:24px;line-height:24px;_height:18px;_line-height:18px;color:#999;}\r\n.tickets-list li .dt{width:60px;font-family:simsun;}\r\n.tickets-list li .dd{width:102px;}\r\n.tickets-list li .p-name{height:1.5em;margin-bottom:10px;}\r\n.tickets-list li .p-name a{font-size:14px;font-weight:bold;color:#666;}\r\n.tickets-list li .p-price .dd{font-family:verdana;font-weight:bold;color:#E4393C;}\r\n/*in-cinema*/\r\n.in-cinema li{width:490px;}\r\n.in-cinema li .p-name{margin-bottom:18px;}\r\n.in-cinema li .shop{margin-bottom:15px;}\r\n.in-cinema li .dd{width:430px;}\r\n.in-cinema li #cinema{width:138px;height:26px;padding:2px;border-width:1px;border-radius:1px;border-style:solid;border-color:#AAADB2 #DBE0E6 #E2EAEF #E2E4EB;line-height:26px;}\r\n/*tickets-scroll*/\r\n.ts-con{position:relative;width:664px;padding:0 28px;margin-left:13px;}\r\n.ts-con .btns{position:absolute;top:20px;z-index:1;overflow:hidden;width:14px;height:150px;background:#fff url(i/onebox/2013101802.png) no-repeat;opacity:.6;filter:alpha(opacity=60);line-height:500px;}\r\n.ts-con .btns:hover{opacity:1;filter:alpha(opacity=100);}\r\n.ts-con .disabled,\r\n.ts-con .disabled:hover{opacity:.2;filter:alpha(opacity=20);cursor:not-allowed;}\r\n.ts-con #prev,\r\n.ts-con #prev2{left:10px;background-position:0 50px;}\r\n.ts-con #next,\r\n.ts-con #next2{right:10px;background-position:-17px 50px;}\r\n.ts-list{overflow:hidden;position:relative;width:572px;height:197px;}\r\n.ts-list li{float:left;width:113px;padding:0 15px;}\r\n.ts-list li .p-img{overflow:hidden;position:static;width:113px;height:149px;}\r\n.ts-list li .p-img a{display:block;position:relative;width:113px;height:149px;}\r\n.ts-list li .p-img a span{display:block;position:absolute;bottom:0px;overflow:hidden;height:21px;font:12px/20px verdana, '\\5b8b\\4f53';}\r\n.ts-list li .p-img a .tsl-bg{left:0;width:113px;background:#000;opacity:.6;filter:alpha(opacity=60);}\r\n.ts-list li .p-img a .tsl-title{left:5px;width:75px;color:#fff;}\r\n.ts-list li .p-img a .tsl-rating{right:5px;width:28px;text-align:right;color:#E43A3A;}\r\n.ts-list li .p-price{width:113px;height:38px;text-align:center;font:14px/38px verdana, '\\5b8b\\4f53';color:#E43A3D;}\r\n/*chose-city*/\r\n.chose-city{position:fixed;left:360px;top:120px;z-index:10;width:493px;height:298px;border:1px solid #ddd;box-shadow:0 0 5px #DDD;margin:0;background:#fff;}\r\n.chose-city .mt{position:relative;height:31px;border-bottom:1px solid #eaeaea;background:#f5f5f5;}\r\n.chose-city .mt h2{height:31px;padding-left:10px;font:bold 12px/31px '\\5b8b\\4f53';color:#e4393c;}\r\n.chose-city .mt h2 span{height:31px;font-weight:normal;}\r\n.chose-city .mt h2 a{padding-right:5px;color:#333;}\r\n.chose-city .mt h2 a:hover{color:#e4393c;}\r\n.chose-city .mt .close{position:absolute;right:8px;top:7px;overflow:hidden;width:17px;height:17px;background:url(i/2013110801.png) no-repeat;line-height:100px;}\r\n.chose-city .tab{overflow:visible;width:494px;height:38px;border-bottom:1px solid #eaeaea;margin-bottom:10px;margin-left:-1px;background:#F5F5F5;}\r\n.chose-city .tab li{float:left;width:68px;height:36px;padding-top:2px;border-left:1px solid #eaeaea;font:15px/36px '\\5fae\\8f6f\\96c5\\9ed1';cursor:default;color:#666;}\r\n.chose-city .tab li.curr{height:37px;padding-top:0px;border-top:2px solid #999;background:white;}\r\n.chose-city .c-attr{zoom:1;}\r\n.chose-city .c-attr:after{content:'\\20';display:block;clear:both;}\r\n.chose-city .c-attr .ca-key,\r\n.chose-city .c-attr .ca-values{float:left;line-height:24px;}\r\n.chose-city .c-attr .ca-key{width:50px;text-align:center;font:12px/24px '\\5fae\\8f6f\\96c5\\9ed1';color:#666;}\r\n.chose-city .c-attr .ca-values{width:443px;}\r\n.chose-city .c-attr .ca-values a{padding:2px;margin-right:15px;color:#333;}\r\n.chose-city .c-attr .ca-values a:hover{padding:2px;text-decoration:none;background:#E23A3A;color:#fff;}\r\n.chose-city .c-attr .ca-values a.curr{background:#E23A3A;color:#fff;}\r\n/*chose-city-hot*/\r\n.chose-city-hot{position:fixed;left:880px;top:120px;z-index:10;width:348px;padding:10px 30px 10px 20px;border:1px solid #ddd;box-shadow:0 0 5px #DDD;margin:0;background:#fff;zoom:1;}\r\n.chose-city-hot .close{position:absolute;right:8px;top:7px;overflow:hidden;width:17px;height:17px;background:url(i/2013110802.png) no-repeat;line-height:100px;}\r\n.chose-city-hot .h-attr{zoom:1;}\r\n.chose-city-hot .h-attr:after{content:'\\20';display:block;clear:both;}\r\n.chose-city-hot .h-attr .ha-key,\r\n.chose-city-hot .h-attr .ha-values{float:left;line-height:24px;}\r\n.chose-city-hot .h-attr .ha-key{width:50px;font:bold 12px/24px '\\5b8b\\4f53';color:#E5393D;}\r\n.chose-city-hot .h-attr .ha-values{width:298px;}\r\n.chose-city-hot .h-attr .ha-values a{padding:2px;margin-right:15px;color:#333;}\r\n.chose-city-hot .h-attr .ha-values a:hover{padding:2px;text-decoration:none;background:#E23A3A;color:#fff;}\r\n.chose-city-hot .h-attr .ha-values a.curr{background:#E23A3A;color:#fff;}\r\n.chose-city-hot .corner{position:absolute;display:block;}\r\n.chose-city-hot .corner b{position:absolute;top:0;width:0px;height:0px;}\r\n.chose-city-hot .corner .b1{z-index:1;}\r\n.chose-city-hot .corner .b2{z-index:2;}\r\n*html .chose-city-hot .corner b{overflow:hidden;width:0px;height:0px;line-height:0px;font-size:0;}\r\n.chose-city-hot .corner-top{left:20px;top:-14px;}\r\n.chose-city-hot .corner-top b{border-width:7px;}\r\n.chose-city-hot .corner-top .b1{top:0;border-style:dashed dashed solid dashed;border-color:transparent transparent #ddd transparent;}\r\n.chose-city-hot .corner-top .b2{top:1px;border-style:dashed dashed solid dashed;border-color:transparent transparent #fff transparent;}\r\n/*medicine*/\r\n#mm-recommended{position:relative;margin-left:5px;width:664px;padding:0 25px;}\r\n#mm-recommended .btns{position:absolute;top:81px;z-index:1;overflow:hidden;width:14px;height:22px;background:#fff url(i/onebox/2013101802.png) no-repeat;opacity:.6;filter:alpha(opacity=60);line-height:500px;}\r\n#mm-recommended .btns:hover{opacity:1;filter:alpha(opacity=100);cursor:pointer;}\r\n#mm-recommended .disabled,\r\n#mm-recommended .disabled:hover{opacity:.2;filter:alpha(opacity=20);cursor:not-allowed;}\r\n#mm-recommended #mmr-prev{left:10px;background-position:0 0px;}\r\n#mm-recommended #mmr-next{right:10px;background-position:-17px 0px;}\r\n#medicine .mmr-list{position:relative;overflow:hidden;width:392px;height:206px;}\r\n#medicine .mmr-list li{float:left;width:160px;height:206px;padding:0 18px;}\r\n#medicine .mmr-list li .p-img{width:160px;height:160px;padding:0;}\r\n#medicine .mmr-list-info{position:relative;overflow:hidden;width:968px;height:206px;}\r\n#medicine .mmr-list-info li{float:left;width:160px;height:206px;padding:0 41px;}\r\n#medicine .mmr-list-info li .p-img,\r\n#medicine .mmr-list-info2 li .p-img{width:160px;height:160px;padding:0;}\r\n#medicine .mmr-list-info2{position:relative;overflow:hidden;width:748px;height:215px;}\r\n#medicine .mmr-list-info2 li{float:left;width:160px;height:215px;padding:0 41px;}\r\n#medicine .mmr-list-info2 li strong{padding-right:10px;}\r\n/*groupbuy*/\r\n#groupbuy .gb-list{overflow:hidden;width:748px;height:223px;zoom:1;}\r\n#groupbuy .gb-list:after{content:\"\\20\";display:block;clear:both;}\r\n#groupbuy li{float:left;width:200px;height:213px;padding:0 24px;margin-bottom:10px;}\r\n#groupbuy li .dt,#groupbuy li .dd{float:left;overflow:hidden;height:18px;line-height:18px;color:#999;}\r\n#groupbuy li .dt{width:38px;font-family:simsun;}\r\n#groupbuy li .dd{width:140px;font-family:verdana;}\r\n#groupbuy li .p-img{width:200px;height:133px;padding:0;margin-bottom:5px;}\r\n#groupbuy li .p-name{height:3em;margin-bottom:3px;}\r\n#groupbuy li .p-name a{font-size:12px;color:#666;}\r\n#groupbuy li .p-price strong{margin-right:10px;font-size:14px;}\r\n#groupbuy li .purchased{font-family:verdana;color:#999;}\r\n#groupbuy li .tag span{padding:3px;background:#F1F1F1;color:#333;}\r\n#groupbuy.single{height:auto;}\r\n#groupbuy.single li{width:700px;height:124px;margin-bottom:10px;}\r\n#groupbuy.single li .p-img{float:left;margin-right:20px;}\r\n#groupbuy.single li .p-name{height:1.5em;margin-bottom:10px;}\r\n#groupbuy.single li .p-name a{font-size:14px;font-weight:bold;}\r\n#groupbuy.single li .dt,#groupbuy.single li .dd{height:24px;line-height:24px;}\r\n#groupbuy.single li .dt{width:60px;}\r\n#groupbuy.single li .dd{width:420px;}\r\n/*game*/\r\n#game .gm-list{padding-left:10px;margin-bottom:10px;*zoom:1;}\r\n#game .gm-list:after{content:'\\20';display:block;clear:both;}\r\n#game .gm-list li{float:left;position:relative;overflow:hidden;width:85px;_width:82px;padding-left:160px;}\r\n#game .gm-list .p-img{position:absolute;left:0;top:0;width:150px;height:90px;padding:0;}\r\n#game .gm-list .p-name{width:150px;height:18px;margin-bottom:10px;}\r\n#game .gm-list .p-name a{font:bold 14px/18px verdana, '\\5b8b\\4f53';}\r\n#game .gm-list .p-type{width:150px;height:18px;margin-bottom:5px;color:#999;}\r\n#game .gm-list .p-info{width:150px;height:18px;margin-bottom:10px;color:#333;}\r\n#game .gm-list .btn-join{display:inline-block;padding:1px 10px;text-decoration:none;}\r\n#game .online-games .og-l{float:left;width:268px;padding-left:10px;}\r\n#game .online-games .ogl-item{float:left;position:relative;width:108px;padding-left:160px;}\r\n#game .online-games .p-img{position:absolute;left:0;top:0;width:150px;height:90px;padding:0;}\r\n#game .online-games .p-name{width:108px;height:18px;margin-bottom:10px;}\r\n#game .online-games .p-name a{font:bold 14px/18px verdana, '\\5b8b\\4f53';}\r\n#game .online-games .p-info{width:108px;margin-bottom:10px;color:#333;}\r\n#game .online-games .p-info li{width:108px;color:#333;}\r\n#game .online-games .p-info li a{color:#333;}\r\n#game .online-games .p-info li a:hover{color:#e4393c;}\r\n#game .online-games .og-r{float:right;width:447px;padding-left:20px;border-left:1px solid #ddd;}\r\n#game .online-games .og-r .ogr-service{float:left;}\r\n#game .online-games .og-r .ogr-service h3{height:18px;margin-bottom:16px;line-height:18px;font:normal 12px/18px '\\5b8b\\4f53';}\r\n#game .online-games .og-r .ogr-new{width:188px;}\r\n#game .online-games .og-r .btn{float:left;height:16px;padding:2px 15px;margin:0 15px 15px 0;line-height:16px;text-decoration:none;white-space:nowrap;}\r\n#game .online-games .og-r .ogr-all{width:258px;}\r\n#game .online-games .og-r .ogr-all .con1,\r\n#game .online-games .og-r .ogr-all .con2{clear:both;width:258px;height:26px;margin-bottom:10px;}\r\n#game .online-games .og-r .ogr-all #service-select{float:left;width:138px;height:26px;padding:2px;border-width:1px;border-style:solid;border-color:#AAADB2 #DBE0E6 #E2EAEF #E2E4EB;margin-right:10px;line-height:26px;}\r\n#game .online-games .og-r .ogr-all .btn-join{float:left;*width:74px;*height:26px;padding:4px 10px;*line-height:15px;}\r\n/*hotels*/\r\n#hotels .relevant-num span{cursor:text;}\r\n#hotels .hm-list{display:block;overflow:hidden;width:748px;height:220px;zoom:1;}\r\n#hotels .hm-list li{float:left;width:200px;height:213px;padding:0 24px;margin-bottom:10px;}\r\n#hotels .hm-list li div{*zoom:1;}\r\n#hotels .hm-list li .dt,#hotels .hm-list li .dd{float:left;overflow:hidden;height:18px;line-height:18px;color:#999;}\r\n#hotels .hm-list li .dt{width:38px;font-family:simsun;}\r\n#hotels .hm-list li .dd{width:140px;font-family:verdana;}\r\n#hotels .hm-list li .p-img{width:200px;height:133px;padding:0;margin-bottom:5px;}\r\n#hotels .hm-list li .p-name{height:1.5em;margin-bottom:3px;}\r\n#hotels .hm-list li .p-name a{font-size:14px;font-weight:bold;color:#666;}\r\n#hotels .hm-list li .area .dd,\r\n#hotels .hm-list li .area .dd a{color:#005AA0;}\r\n#hotels .hm-list li .tag span{padding:3px;background:#F1F1F1;color:#333;}\r\n#hotels.single{height:auto;}\r\n#hotels.single .hm-list li{width:700px;height:124px;margin-bottom:10px;}\r\n#hotels.single .hm-list li .p-img{float:left;margin-right:20px;}\r\n#hotels.single .hm-list li .dt,#hotels.single li .dd{height:24px;line-height:24px;}\r\n#hotels.single .hm-list li .dt{width:60px;}\r\n#hotels.single .hm-list li .dd{width:420px;}\r\n/*air-tickets*/\r\n#air-tickets .atc{padding-top:10px;}\r\n#air-tickets .atc-l{float:left;width:364px;padding-left:10px;}\r\n#air-tickets .atc-l .more{padding-right:20px;}\r\n#air-tickets .atcl-query{position:relative;}\r\n#air-tickets .dt,\r\n#air-tickets .dd{float:left;}\r\n#air-tickets .dt{width:63px;color:#999;}\r\n#air-tickets .dd{width:92px;}\r\n#air-tickets .mr{margin-right:32px;}\r\n#air-tickets .switch{position:absolute;left:164px;top:44px;width:15px;height:43px; display: none;}\r\n#air-tickets .switch a{display:block;width:15px;height:43px;background:url(i/onebox/2013101801.png) no-repeat;}\r\n#air-tickets .q-type,\r\n#air-tickets .q-item{clear:both;width:364px;height:25px;margin-bottom:10px;line-height:25px;}\r\n#air-tickets .q-type{font:12px/24px verdana;}\r\n#air-tickets .q-type .dd{width:150px;}\r\n#air-tickets .q-type input,#air-tickets .q-type label{vertical-align:middle;_vertical-align:text-bottom;}\r\n#air-tickets .q-type label{padding:0 10px 0 3px;}\r\n@-moz-document url-prefix(){#air-tickets .q-type input,#air-tickets .q-type label{margin-top:1px;}}\r\n#air-tickets .q-item .txt{width:86px;height:19px;padding:2px;border:1px solid #ddd;font:12px/19px verdana,'\\5b8b\\4f53';color:#ccc;}\r\n#air-tickets .q-item .txt:focus{border:1px solid #ccc;color:#333;}\r\n#air-tickets .btns{height:26px;padding:10px 0 0 63px;margin-bottom:10px;}\r\n#air-tickets .btns a{display:inline-block;height:18px;padding:2px 10px;text-decoration:none;}\r\n#air-tickets .text-da{display:none;height:20px;line-height:20px;}\r\n#air-tickets .text-da a{color:#035A9D;}\r\n#air-tickets .atc-r{float:right;width:353px;padding-left:20px;border-left:1px solid #ddd;}\r\n#air-tickets.onebox{margin-bottom: 0;}\r\n/*root61*/\r\n.root61 .onebox{width:988px;}\r\n.root61 .onebox .mc{width:968px;}\r\n.root61 .onebox .obc-r{width:664px;}\r\n.root61 #movie-tickets .mc{width:968px;}\r\n.root61 #movie-tickets .mt-item li{width:152px;margin-right:20px;}\r\n.root61 #movie-tickets li .dd{width:92px;}\r\n.root61 #movie-tickets .mt-item-one li{width:514px;}\r\n.root61 #movie-tickets .mt-item-one li .dd{width:454px;}\r\n.root61 #mm-recommended{padding:0 28px;}\r\n.root61 #medicine .mmr-list{width:572px;}\r\n.root61 #medicine .mmr-list-info2{width:968px;}\r\n.root61 #groupbuy .gb-list{width:968px;}\r\n.root61 #groupbuy li{padding:0 21px;}\r\n.root61 #groupbuy.single li{width:925px;}\r\n.root61 #groupbuy.single li .dd{width:645px;}\r\n.root61 #game .gm-list li{width:159px;}\r\n.root61 #game .online-games .p-name{width:150px;}\r\n.root61 #game .online-games .p-info{width:150px;}\r\n.root61 #game .online-games .p-info li{width:150px;}\r\n.root61 #game .online-games .og-l{width:310px;}\r\n.root61 #game .online-games .og-r{width:627px;}\r\n.root61 #game .online-games .og-r .ogr-new{width:208px;}}\r\n.root61 #game .online-games .og-r .ogr-all{width:412px;}\r\n.root61 #game .online-games .ogl-item{width:150px;}\r\n.root61 #game .online-games .og-r .ogr-all .con1,\r\n.root61 #game .online-games .og-r .ogr-all .con2{width:412px;}\r\n.root61 #hotels .hm-list{width:968px;}\r\n.root61 #hotels .hm-list li{padding:0 21px;}\r\n.root61 #hotels.single .hm-list li{width:925px;}\r\n.root61 #hotels.single .hm-list li .dd{width:645px;}\r\n.root61 #air-tickets .dt{width:66px;}\r\n.root61 #air-tickets .switch{left:195px;}\r\n.root61 #air-tickets .btns{padding:10px 0 0 66px;}\r\n.root61 #air-tickets .atc-l{float:left;width:473px;}\r\n.root61 #air-tickets .atc-r{float:left;width:464px;}\r\n.root61 #air-tickets .q-type,\r\n.root61 #air-tickets .q-item{clear:both;width:460px;}\r\n.root61 #air-tickets .dd{width:135px;}\r\n.root61 #air-tickets .q-item .txt{width:114px;}\r\n\r\n.p-name em{\r\n\tcolor: red;\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/psearch20131008.css",
    "content": ".crumb {\r\n\tfont-family: \\5b8b\\4f53\r\n}\r\n\r\n.left {\r\n\tfloat: left;\r\n\twidth: 210px\r\n}\r\n\r\n.right-extra {\r\n\tfloat: right;\r\n\twidth: 770px\r\n}\r\n\r\n.mt h1, .mt h2 {\r\n\tfont-family: \\5fae\\8f6f\\96c5\\9ed1\r\n}\r\n\r\n.mt .extra {\r\n\tfloat: right\r\n}\r\n\r\n.list-h li, .list-h dl {\r\n\tfloat: left\r\n}\r\n\r\n.p-img img {\r\n\t-ms-interpolation-mode: bicubic\r\n}\r\n\r\n.p-name {\r\n\theight: 3em;\r\n\tword-wrap: break-word\r\n}\r\n\r\n.left h2 {\r\n\tfont-size: 14px\r\n}\r\n\r\na:hover {\r\n\tcolor: #E4393C\r\n}\r\n\r\n.p-price strong {\r\n\tfont-family: verdana;\r\n\tcolor: #E4393C\r\n}\r\n\r\n.pagin .text i {\r\n\tfont-style: normal;\r\n\tfont-weight: 700;\r\n\tcolor: #E4393C\r\n}\r\n\r\n.pagin-m b {\r\n\ttop: 7px\r\n}\r\n\r\n.skcolor_ljg {\r\n\tcolor: red\r\n}\r\n\r\n.btn-red {\r\n\tborder: 0;\r\n\tborder-radius: 2px;\r\n\tmargin-right: 10px;\r\n\tbackground: #e74649;\r\n\ttext-align: center;\r\n\ttext-decoration: none;\r\n\tcursor: pointer;\r\n\tcolor: #fff;\r\n\tbackground: -ms-linear-gradient(top, #e74649, #df3033);\r\n\tbackground: -moz-linear-gradient(top, #e74649, #df3033);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#e74649),\r\n\t\tto(#df3033));\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#e74649 \", endColorstr=\" #df3033 \")\"\r\n}\r\n\r\n.btn-red:hover {\r\n\tbox-shadow: 0 1px 1px rgba(0, 1, 1, .08);\r\n\tborder-color: #ccc;\r\n\tcursor: pointer;\r\n\tcolor: #fff;\r\n\tbackground: -ms-linear-gradient(top, #e74649, #e74649);\r\n\tbackground: -moz-linear-gradient(top, #e74649, #e74649);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#e74649),\r\n\t\tto(#e74649));\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#e74649 \", endColorstr=\" #e74649 \")\"\r\n}\r\n\r\n.btn-gray {\r\n\tborder: 1px solid #ddd;\r\n\tborder-radius: 2px;\r\n\tmargin-top: 0;\r\n\tbackground: #f7f7f7;\r\n\ttext-align: center;\r\n\ttext-decoration: none;\r\n\tcursor: pointer;\r\n\tcolor: #333;\r\n\tbackground: -ms-linear-gradient(top, #f7f7f7, #f2f2f2);\r\n\tbackground: -moz-linear-gradient(top, #f7f7f7, #f2f2f2);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#f7f7f7),\r\n\t\tto(#f2f2f2));\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#f7f7f7 \", endColorstr=\" #f2f2f2 \")\"\r\n}\r\n\r\n.btn-gray:hover {\r\n\tbox-shadow: 0 1px 1px rgba(0, 1, 1, .08);\r\n\tcursor: pointer;\r\n\tcolor: #333;\r\n\tbackground: -ms-linear-gradient(top, #f9f9f9, #f6f6f6);\r\n\tbackground: -moz-linear-gradient(top, #f9f9f9, #f6f6f6);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#f9f9f9),\r\n\t\tto(#f6f6f6));\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#f9f9f9 \", endColorstr=\" #f6f6f6 \")\"\r\n}\r\n\r\n#filter, #notfound b, #re-search .text, #re-search .button, #plist .item-book .summary .close\r\n\t{\r\n\tbackground:\r\n\t\turl(../images/search2012052301.jpg)\r\n\t\tno-repeat\r\n}\r\n\r\n#filter .up b, #filter .down b, #store-selector .close, #filter .instock b,\r\n\t.svote span, #filter .activity b {\r\n\tbackground: url(../images/20130606B.png) no-repeat\r\n}\r\n\r\n#refilter {\r\n\twidth: 208px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 2px solid #999\r\n}\r\n\r\n#refilter .mt {\r\n\theight: 31px;\r\n\tpadding-left: 8px;\r\n\tbackground: #F7F7F7;\r\n\tline-height: 31px\r\n}\r\n\r\n#refilter .mt h2 {\r\n\tfont-weight: 400\r\n}\r\n\r\n#refilter .mt h2, #refilter .mt h2 a {\r\n\tfont-family: \\5fae\\8f6f\\96c5\\9ed1;\r\n\tfont-size: 15px;\r\n\tcolor: #333\r\n}\r\n\r\n#refilter .mc {\r\n\twidth: 208px\r\n}\r\n\r\n#refilter .link {\r\n\tposition: relative;\r\n\tpadding: 4px 4px 4px 8px;\r\n\tmargin: 0 2px 2px;\r\n\tbackground: #efefef;\r\n\tborder-bottom: 1px solid #ccc;\r\n\tfont-weight: 700;\r\n\tzoom: 1\r\n}\r\n\r\n#refilter .link b {\r\n\tposition: absolute;\r\n\ttop: 10px;\r\n\tleft: 4px;\r\n\tdisplay: inline-block;\r\n\twidth: 6px;\r\n\theight: 7px;\r\n\tbackground: url(i/icon_psearch.png) no-repeat 0 0\r\n}\r\n\r\n#refilter .item {\r\n\tposition: relative;\r\n\tbackground: #fff\r\n}\r\n\r\n#refilter .item h3 {\r\n\toverflow: hidden;\r\n\theight: 30px;\r\n\tpadding: 0 6px 0 36px;\r\n\tborder-top: 1px solid #ddd;\r\n\tbackground: #F7F7F7;\r\n\tfont: 400 14px/30px \\5fae\\8f6f\\96c5\\9ed1;\r\n\tcursor: pointer\r\n}\r\n\r\n#refilter .item h3 a.curr {\r\n\tcolor: #E4393C\r\n}\r\n\r\n#refilter .item b {\r\n\tposition: absolute;\r\n\ttop: 7px;\r\n\tleft: 10px;\r\n\toverflow: hidden;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tmargin-top: 1px;\r\n\tbackground: url(../images/20130606B.png) no-repeat -59px -28px;\r\n\tcursor: pointer\r\n}\r\n\r\n#refilter .item ul {\r\n\tdisplay: none;\r\n\toverflow: hidden;\r\n\tpadding: 4px 0 4px 34px;\r\n\tborder-top: 1px solid #ddd;\r\n\tzoom: 1\r\n}\r\n\r\n#refilter .item li {\r\n\theight: 24px;\r\n\tpadding: 0 4px 0 0;\r\n\toverflow: hidden\r\n}\r\n\r\n#refilter .item span {\r\n\tfont-size: 13px;\r\n\tfont-weight: 400;\r\n\tcolor: #999;\r\n\tfont-family: arial\r\n}\r\n\r\n#refilter .item li s {\r\n\tdisplay: none\r\n}\r\n\r\n#refilter .item li a {\r\n\tpadding: 0 2px 2px\r\n}\r\n\r\n#refilter .item li a:hover {\r\n\ttext-decoration: none;\r\n\tcolor: #E4393C\r\n}\r\n\r\n#refilter .item li a:hover span {\r\n\tcolor: #E4393C\r\n}\r\n\r\n#refilter .item .curr a:link, #refilter .item .curr a:visited {\r\n\theight: 15px;\r\n\tpadding: 0 2px 2px;\r\n\tvertical-align: middle;\r\n\tfont-weight: 700;\r\n\tcolor: #E4393C\r\n}\r\n\r\n#refilter .item .curr a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n#refilter .item .curr span {\r\n\tcolor: #E4393C\r\n}\r\n\r\n#refilter .hover b {\r\n\tbackground-position: -42px -28px\r\n}\r\n\r\n#refilter .hover ul {\r\n\tdisplay: block\r\n}\r\n\r\n#refilter .extra {\r\n\toverflow: hidden;\r\n\tposition: relative;\r\n\tz-index: 1;\r\n\theight: 30px;\r\n\tmargin-top: -1px;\r\n\tborder-top: 1px solid #ddd;\r\n\tbackground: #fafafa;\r\n\tline-height: 30px\r\n}\r\n\r\n#refilter .return {\r\n\tfloat: right;\r\n\tmargin-right: 5px\r\n}\r\n\r\n#refilter .more {\r\n\toverflow: hidden;\r\n\tdisplay: block;\r\n\ttext-align: right;\r\n\tcolor: #333;\r\n\tfont-size: 12px\r\n}\r\n\r\n#refilter .more span {\r\n\tdisplay: inline-block;\r\n\tpadding-right: 20px;\r\n\tcursor: pointer\r\n}\r\n\r\n#refilter .more b {\r\n\tdisplay: inline-block;\r\n\tposition: relative;\r\n\ttop: -1px;\r\n\tleft: -15px;\r\n\twidth: 9px;\r\n\theight: 6px;\r\n\toverflow: hidden;\r\n\t*top: -4px;\r\n\tbackground: url(../images/20130415i.png) no-repeat\r\n}\r\n\r\n#refilter .more b.open {\r\n\tbackground-position: -228px -17px\r\n}\r\n\r\n#refilter .more b.close {\r\n\tbackground-position: -237px -17px\r\n}\r\n\r\n#refilter .item .show-more {\r\n\tpadding: 0 0 11px 34px\r\n}\r\n\r\n#refilter .item .show-more a {\r\n\tborder: 1px solid #ddd;\r\n\twidth: 64px;\r\n\theight: 19px;\r\n\tline-height: 19px;\r\n\tdisplay: block;\r\n\tfont-size: 12px;\r\n\tpadding-left: 5px;\r\n\tposition: relative\r\n}\r\n\r\n#refilter .item .show-more a:hover {\r\n\tbackground-color: #f9f9f9;\r\n\tcolor: #666;\r\n\ttext-decoration: none\r\n}\r\n\r\n#refilter .item .show-more a i {\r\n\tdisplay: inline-block;\r\n\tbackground:\r\n\t\turl(../images/2013100702.gif)\r\n\t\tno-repeat scroll 0 0;\r\n\theight: 5px;\r\n\toverflow: hidden;\r\n\twidth: 7px;\r\n\tposition: absolute;\r\n\ttop: 7px;\r\n\tright: 5px\r\n}\r\n\r\n.search-msg {\r\n\tposition: absolute;\r\n\tz-index: 3;\r\n\twidth: 396px;\r\n\theight: 30px;\r\n\tmargin: 40px 0 0 209px;\r\n\tborder: 1px solid #edd28b;\r\n\tbox-shadow: 1px 1px 0 1px rgba(0, 0, 0, .15);\r\n\tbackground: #fffdee;\r\n\tcolor: #F60\r\n}\r\n\r\n.search-msg div {\r\n\tpadding: 6px 6px 6px 10px\r\n}\r\n\r\n.search-msg a {\r\n\tmargin-left: 54px;\r\n\tcolor: #005AA0\r\n}\r\n\r\n.pb {\r\n\tposition: absolute\r\n}\r\n\r\n.pb b {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tfont-size: 0;\r\n\tline-height: 0;\r\n\toverflow: hidden;\r\n\tborder: 6px dashed transparent\r\n}\r\n\r\n.pb .b1 {\r\n\tz-index: 1\r\n}\r\n\r\n.pb .b2 {\r\n\tz-index: 2\r\n}\r\n\r\n.pb-l {\r\n\tleft: -12px;\r\n\ttop: 9px\r\n}\r\n\r\n.pb-l b {\r\n\tborder-right-style: solid\r\n}\r\n\r\n.pb-l .b1 {\r\n\tleft: -1px;\r\n\ttop: 0;\r\n\tborder-right-color: #EDD28B\r\n}\r\n\r\n.pb-l .b2 {\r\n\ttop: 0;\r\n\tborder-right-color: #FFFDEE\r\n}\r\n\r\n.m0 {\r\n\tborder: 1px solid #ddd\r\n}\r\n\r\n.m0 .mt {\r\n\theight: 31px;\r\n\tpadding-left: 8px;\r\n\tbackground: #f7f7f7;\r\n\tline-height: 31px\r\n}\r\n\r\n.m0 ul {\r\n\tpadding: 0 8px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n.m0 li {\r\n\tpadding: 6px 0;\r\n\tborder-top: 1px dotted #ccc;\r\n\ttext-align: center\r\n}\r\n\r\n.m0 .fore {\r\n\tborder-top: 0\r\n}\r\n\r\n.m0 .rate {\r\n\toverflow: hidden;\r\n\theight: 3em;\r\n\ttext-align: left;\r\n\tword-wrap: break-word\r\n}\r\n\r\n.m0 .rate strong {\r\n\tcolor: #CE2C08\r\n}\r\n\r\n.m0 .rate a {\r\n\tword-break: break-all;\r\n\tword-wrap: break-word;\r\n\tcolor: #666\r\n}\r\n\r\n.m0 .rate a:hover {\r\n\tcolor: #E4393C\r\n}\r\n\r\n.m0 .p-img {\r\n\tposition: relative\r\n}\r\n\r\n.m0 .p-name a {\r\n\tcolor: #666\r\n}\r\n\r\n.m0 .p-name a:hover {\r\n\tcolor: #E4393C\r\n}\r\n\r\n.rank {\r\n\tborder: 1px solid #ddd\r\n}\r\n\r\n.rank .mt {\r\n\theight: 31px;\r\n\tpadding-left: 8px;\r\n\tbackground: #f7f7f7;\r\n\tline-height: 31px\r\n}\r\n\r\n.rank .mc {\r\n\tpadding: 0 1px\r\n}\r\n\r\n.rank .tab {\r\n\tpadding: 6px 2px 0;\r\n\theight: 19px;\r\n\toverflow: hidden\r\n}\r\n\r\n.rank .tab li {\r\n\twidth: 62px;\r\n\theight: 17px;\r\n\tpadding-top: 2px;\r\n\tmargin: 0 2px;\r\n\tbackground: url(i/bg_tit_home.gif) no-repeat 0 -274px;\r\n\ttext-align: center;\r\n\tline-height: 17px;\r\n\tcolor: #999\r\n}\r\n\r\n.rank .tab .curr {\r\n\tbackground: url(i/bg_tit_home.gif) no-repeat -62px -274px;\r\n\tcolor: #c00\r\n}\r\n\r\n.rank .tab .curr a:link, .rank .tab .curr a:visited {\r\n\tcolor: #c00\r\n}\r\n\r\n.rank .tabcon li {\r\n\tfloat: left;\r\n\twidth: 197px;\r\n\tpadding: 6px 5px;\r\n\tborder-top: 1px dotted #ccc;\r\n\toverflow: hidden;\r\n\theight: 22px;\r\n\tline-height: 22px\r\n}\r\n\r\n.rank .tabcon span {\r\n\tfloat: left;\r\n\tpadding: 0 8px 0 4px;\r\n\tfont-size: 14px;\r\n\tfont-weight: 700;\r\n\tcolor: #C00;\r\n\tfont-family: arial\r\n}\r\n\r\n.rank .tabcon .p-name {\r\n\tfloat: left;\r\n\twidth: 176px;\r\n\theight: 22px;\r\n\toverflow: hidden\r\n}\r\n\r\n.rank .tabcon .fore {\r\n\tpadding: 10px 5px;\r\n\theight: 56px;\r\n\tborder-top: 1px solid #c00\r\n}\r\n\r\n.rank .tabcon .fore .p-img {\r\n\tfloat: left;\r\n\tmargin-right: 5px\r\n}\r\n\r\n.rank .tabcon .fore .p-name {\r\n\twidth: 120px;\r\n\theight: 3em;\r\n\tline-height: 1.5em\r\n}\r\n\r\n.rank .tabcon .fore .p-price {\r\n\tfloat: left;\r\n\theight: 18px;\r\n\tmargin-top: 2px;\r\n\tline-height: 18px\r\n}\r\n\r\n#commend .mc li {\r\n\tfloat: left;\r\n\twidth: 197px;\r\n\tpadding: 7px 5px;\r\n\theight: 56px;\r\n\tborder-top: 1px dotted #ccc;\r\n\toverflow: hidden\r\n}\r\n\r\n#commend .mc span {\r\n\tfloat: left;\r\n\tpadding: 0 8px 0 4px;\r\n\tfont-size: 14px;\r\n\tfont-weight: 700;\r\n\tcolor: #C00;\r\n\tfont-family: arial\r\n}\r\n\r\n#commend .mc .p-img {\r\n\tfloat: left;\r\n\tmargin-right: 5px\r\n}\r\n\r\n#commend .mc .p-name {\r\n\tfloat: left;\r\n\twidth: 120px;\r\n\theight: 3em;\r\n\tline-height: 1.5em;\r\n\toverflow: hidden\r\n}\r\n\r\n#commend .mc .p-price {\r\n\tfloat: left;\r\n\theight: 18px;\r\n\tmargin-top: 2px;\r\n\tline-height: 18px\r\n}\r\n\r\n#commend .mc .fore {\r\n\tborder-top: 0\r\n}\r\n\r\n#flagship-store {\r\n\theight: 60px;\r\n\tpadding: 5px 20px 5px 5px;\r\n\tborder: 1px solid #ddd\r\n}\r\n\r\n#flagship-store .store-logo {\r\n\tfloat: left;\r\n\twidth: 180px;\r\n\theight: 60px;\r\n\tmargin-right: 20px\r\n}\r\n\r\n#flagship-store .store-info {\r\n\tfloat: left;\r\n\twidth: 250px;\r\n\theight: 60px;\r\n\tmargin-right: 20px\r\n}\r\n\r\n#flagship-store .store-info h2 {\r\n\tpadding-top: 8px;\r\n\tline-height: 24px;\r\n\tfont-size: 16px;\r\n\tcolor: #333\r\n}\r\n\r\n#flagship-store .store-info .shop-about {\r\n\toverflow: hidden;\r\n\theight: 24px;\r\n\tline-height: 24px;\r\n\tcolor: #999\r\n}\r\n\r\n#flagship-store .store-info .shop-text {\r\n\tpadding-top: 8px;\r\n\tline-height: 24px\r\n}\r\n\r\n#flagship-store .store-number {\r\n\tfloat: left;\r\n\twidth: 172px;\r\n\theight: 52px;\r\n\tpadding-top: 8px;\r\n\tline-height: 24px\r\n}\r\n\r\n#flagship-store .store-number b {\r\n\tpadding: 0 3px;\r\n\tfont-family: verdana;\r\n\tfont-style: normal;\r\n\tfont-weight: 400;\r\n\tcolor: #005AA0\r\n}\r\n\r\n#evaluate em, #evaluate span {\r\n\tfloat: left\r\n}\r\n\r\n#evaluate span {\r\n\tmargin-top: 3px\r\n}\r\n\r\n#flagship-store a.go-store {\r\n\tfloat: right;\r\n\twidth: 81px;\r\n\theight: 30px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-radius: 2px;\r\n\tmargin-top: 15px;\r\n\tbackground: #F7F7F7;\r\n\tline-height: 30px;\r\n\ttext-align: center;\r\n\ttext-decoration: none;\r\n\tcursor: pointer;\r\n\tfont-weight: 700;\r\n\tcolor: #000;\r\n\tbackground: -moz-linear-gradient(top, #f7f7f7, #f2f2f2);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#f7f7f7),\r\n\t\tto(#f2f2f2));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f7f7f7\",\r\n\t\tendColorstr=\"#f2f2f2\");\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#f7f7f7 \", endColorstr=\" #f2f2f2 \")\"\r\n}\r\n\r\n#flagship-store a.go-store:hover {\r\n\tbox-shadow: 0 1px 1px rgba(0, 1, 1, .08);\r\n\tborder-color: #ccc;\r\n\tcursor: pointer;\r\n\tcolor: #333;\r\n\tbackground: -moz-linear-gradient(top, #f9f9f9, #f6f6f6);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#f9f9f9),\r\n\t\tto(#f6f6f6));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f9f9f9\",\r\n\t\tendColorstr=\"#f6f6f6\");\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#f9f9f9 \", endColorstr=\" #f6f6f6 \")\"\r\n}\r\n\r\n#flagship-store.text .store-info {\r\n\twidth: 380px\r\n}\r\n\r\n.dialogbox {\r\n\twidth: 769px;\r\n\theight: 34px;\r\n\tline-height: 32px\r\n}\r\n\r\n.dialogbox span, .dialogbox a, .dialogbox b {\r\n\tfloat: left\r\n}\r\n\r\n.dialogbox a:link, .dialogbox a:visited {\r\n\tpadding: 0 8px;\r\n\tcolor: #005AA0\r\n}\r\n\r\n.dialogbox a.fore {\r\n\tpadding-left: 0\r\n}\r\n\r\n.dialogbox b {\r\n\toverflow: hidden;\r\n\twidth: 1px;\r\n\theight: 12px;\r\n\tmargin-top: 11px;\r\n\tbackground: #ccc;\r\n\tfont-size: 0\r\n}\r\n\r\n.dialogbox .related-search {\r\n\tfloat: left;\r\n\toverflow: hidden;\r\n\twidth: 600px;\r\n\theight: 34px\r\n}\r\n\r\n.dialogbox .gift {\r\n\tposition: relative;\r\n\tz-index: 3;\r\n\tfloat: right;\r\n\tpadding-left: 20px\r\n}\r\n\r\n.dialogbox .gift em {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 7px;\r\n\twidth: 17px;\r\n\theight: 18px;\r\n\tbackground: url(../images/20130606B.png) no-repeat 0 -47px\r\n}\r\n\r\n.dialogbox .gift a {\r\n\tpadding: 0;\r\n\tcolor: #005AA0\r\n}\r\n\r\n.dialogbox .gift .prompt {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\tright: 0;\r\n\ttop: 34px;\r\n\tborder: 1px solid #ddd;\r\n\tbox-shadow: 0 0 5px rgba(0, 0, 0, .2);\r\n\tbackground: #FFF;\r\n\tzoom: 1;\r\n\tz-index: 3\r\n}\r\n\r\n.dialogbox .hover .prompt {\r\n\tdisplay: block\r\n}\r\n\r\n.dialogbox .pc {\r\n\twidth: 320px;\r\n\tpadding: 6px 10px;\r\n\tbackground: #fff;\r\n\tline-height: 180%\r\n}\r\n\r\n.dialogbox .pc dl {\r\n\tpadding: 10px 0;\r\n\tborder-top: 1px dotted #ccc;\r\n\tline-height: 180%;\r\n\tzoom: 1\r\n}\r\n\r\n.dialogbox .pc dl:after {\r\n\tcontent: '\\20';\r\n\tdisplay: block;\r\n\tclear: both\r\n}\r\n\r\n.dialogbox .pc .fore {\r\n\tborder-top: 0\r\n}\r\n\r\n.dialogbox .pc dt {\r\n\tfloat: left;\r\n\twidth: 64px;\r\n\ttext-align: right;\r\n\tfont-weight: 700;\r\n\tcolor: #333\r\n}\r\n\r\n.dialogbox .pc dd {\r\n\tfloat: left;\r\n\twidth: 255px\r\n}\r\n\r\n.dialogbox .pc div {\r\n\tfloat: left;\r\n\tpadding: 0 10px\r\n}\r\n\r\n.dialogbox .pc a:link, .dialogbox .pc a:visited {\r\n\tfloat: none;\r\n\twhite-space: nowrap\r\n}\r\n\r\n.dialogbox .pc a.curr:link, .dialogbox .pc a.curr:visited, .dialogbox .pc a:hover\r\n\t{\r\n\ttext-decoration: none;\r\n\tcolor: #E4393C\r\n}\r\n\r\n.dialogbox .pc dd .btn-gift-search {\r\n\tfloat: left;\r\n\toverflow: hidden;\r\n\twidth: 52px;\r\n\theight: 25px;\r\n\tborder: 0;\r\n\tborder-radius: 3px;\r\n\tmargin-left: 8px;\r\n\tbackground: #E4393C;\r\n\tline-height: 25px;\r\n\tfont-size: 12px;\r\n\tcursor: pointer;\r\n\tcolor: #fff\r\n}\r\n\r\n.dialogbox .pc dd .btn-gift-search:hover {\r\n\tbox-shadow: 0 1px 1px rgba(0, 1, 1, .08);\r\n\tcursor: pointer\r\n}\r\n\r\n.dialogbox .pt {\r\n\tposition: absolute;\r\n\tright: 40px;\r\n\ttop: -20px;\r\n\twidth: 20px;\r\n\theight: 20px\r\n}\r\n\r\n.dialogbox .pt i {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\toverflow: hidden;\r\n\tborder-width: 10px;\r\n\tborder-style: dashed dashed solid;\r\n\tfont-size: 0\r\n}\r\n\r\n.dialogbox .pt .i1 {\r\n\tbottom: 0;\r\n\tz-index: 3;\r\n\tborder-color: transparent transparent #ddd\r\n}\r\n\r\n.dialogbox .pt .i2 {\r\n\tbottom: -1px;\r\n\tz-index: 4;\r\n\tborder-color: transparent transparent #fff\r\n}\r\n\r\n.dialogbox .pt .i3 {\r\n\tbottom: 3px;\r\n\tz-index: 2;\r\n\tdisplay: none;\r\n\tborder-color: transparent transparent rgba(0, 0, 0, .15)\r\n}\r\n\r\n* html .dialogbox .pt i {\r\n\toverflow: hidden;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tline-height: 0;\r\n\tfont-size: 0\r\n}\r\n\r\n#select {\r\n\tmargin-bottom: 0;\r\n\tzoom: 1\r\n}\r\n\r\n#select .mt {\r\n\theight: 30px;\r\n\tpadding: 0 10px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-bottom: 0;\r\n\tbackground: #F7F7F7;\r\n\tline-height: 30px\r\n}\r\n\r\n#select .mt h1 {\r\n\tfloat: left;\r\n\theight: 30px;\r\n\tfont: 400 15px/30px \\5fae\\8f6f\\96c5\\9ed1;\r\n\tcolor: #E4393C\r\n}\r\n\r\n#select .mt h1 strong {\r\n\tmargin-right: 10px;\r\n\tfont: 400 15px/30px \\5fae\\8f6f\\96c5\\9ed1;\r\n\tcolor: #333\r\n}\r\n\r\n#select .mt h1 a {\r\n\tfont: 12px/31px \\5b8b\\4f53;\r\n\tcolor: #005AA0\r\n}\r\n\r\n#select .mt .extra a {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#select .mt h3 {\r\n\theight: 30px;\r\n\tpadding: 5px 0 10px 1em;\r\n\tline-height: 30px\r\n}\r\n\r\n#select .mt h3 a {\r\n\tcolor: #005AA0\r\n}\r\n\r\n#select .mc {\r\n\toverflow: visible;\r\n\tborder-width: 0 1px;\r\n\tborder-style: solid;\r\n\tborder-color: #ddd\r\n}\r\n\r\n#select .mt .total {\r\n\tfloat: left\r\n}\r\n\r\n#select .mt .total span {\r\n\tcolor: #999\r\n}\r\n\r\n#select .mt .total strong {\r\n\tfont-weight: 400;\r\n\tcolor: #E4393C\r\n}\r\n\r\n.attr {\r\n\twidth: 768px;\r\n\tpadding: 4px 0 2px;\r\n\toverflow: hidden;\r\n\tzoom: 1;\r\n\tborder-top: 1px dotted #ccc\r\n}\r\n\r\n.attr .a-key {\r\n\tfloat: left;\r\n\twidth: 100px;\r\n\tfont-weight: 700;\r\n\ttext-align: right;\r\n\tline-height: 25px\r\n}\r\n\r\n.attr .a-values .v-option {\r\n\tposition: absolute;\r\n\tright: 10px;\r\n\ttop: 0;\r\n\twidth: 105px;\r\n\theight: 20px;\r\n\tpadding-top: 2px\r\n}\r\n\r\n.attr .a-values .o-multiple {\r\n\tposition: relative;\r\n\tfloat: right;\r\n\twidth: 28px;\r\n\theight: 18px;\r\n\tpadding-left: 16px;\r\n\tborder: 1px solid #ddd;\r\n\tbackground: #F7F7F7;\r\n\tline-height: 18px;\r\n\tcursor: pointer;\r\n\tcolor: #005AA0\r\n}\r\n\r\n.attr .a-values .o-multiple:hover {\r\n\tborder-color: #ccc;\r\n\tcursor: pointer;\r\n\tcolor: #005AA0\r\n}\r\n\r\n.attr .a-values .o-multiple b {\r\n\tposition: absolute;\r\n\tleft: 5px;\r\n\ttop: 5px;\r\n\tdisplay: block;\r\n\twidth: 8px;\r\n\theight: 8px;\r\n\tbackground: url(../images/2013100701.gif) no-repeat\r\n}\r\n\r\n.attr .a-values .o-more {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\twidth: 31px;\r\n\theight: 20px;\r\n\tpadding-right: 14px;\r\n\tline-height: 20px;\r\n\tline-height: 21px\\9;\r\n\ttext-align: right;\r\n\ttext-decoration: none;\r\n\tcursor: pointer;\r\n\tcolor: #005AA0\r\n}\r\n\r\n.attr .a-values .o-more:hover {\r\n\tborder-color: #ccc;\r\n\tcursor: pointer\r\n}\r\n\r\n.attr .a-values .o-more b {\r\n\tposition: absolute;\r\n\tright: 5px;\r\n\ttop: 9px;\r\n\toverflow: hidden;\r\n\twidth: 7px;\r\n\theight: 5px;\r\n\tbackground: url(i/2013100702.gif) no-repeat\r\n}\r\n\r\n.attr .a-values .fold b {\r\n\tbackground: url(i/2013100703.gif) no-repeat\r\n}\r\n\r\n.attr .a-values .unfold b {\r\n\tbackground: url(i/2013100702.gif) no-repeat\r\n}\r\n\r\n.attr .a-values .v-btns {\r\n\tdisplay: none;\r\n\tpadding: 10px 0;\r\n\ttext-align: center\r\n}\r\n\r\n.attr .a-values .v-btns a {\r\n\tdisplay: inline-block;\r\n\ttext-decoration: none;\r\n\tline-height: 12px\r\n}\r\n\r\n.attr .a-values .v-btns .btn-red {\r\n\tpadding: 5px 15px 6px;\r\n\tmargin-right: 5px;\r\n\tcolor: #fff\r\n}\r\n\r\n.attr .a-values .v-btns .btn-gray {\r\n\tpadding: 4px 13px 5px\r\n}\r\n\r\n.attr .a-values .v-btns .disabled {\r\n\tpadding: 4px 13px 5px;\r\n\tborder: 1px solid #ddd;\r\n\tbackground: #fff;\r\n\tcursor: default;\r\n\tcolor: #ccc\r\n}\r\n\r\n.attr .a-values .v-btns .disabled:hover {\r\n\tbackground: #fff;\r\n\tcursor: not-allowed;\r\n\tcolor: #ccc\r\n}\r\n\r\n.attr .a-values .btns {\r\n\tdisplay: none;\r\n\tclear: both;\r\n\theight: 25px;\r\n\tpadding: 10px 0;\r\n\ttext-align: center\r\n}\r\n\r\n.attr .a-values .attr-select .btns {\r\n\tdisplay: block\r\n}\r\n\r\n.attr .a-values .btn-red {\r\n\tmargin-right: 10px\r\n}\r\n\r\n#select .mc>div:first-child .attr {\r\n\tborder-top: 0\r\n}\r\n\r\n.selected-c .attr {\r\n\tpadding: 6px 0;\r\n\tborder-top: 0\r\n}\r\n\r\n.selected-c .a-key {\r\n\tline-height: 22px\r\n}\r\n\r\n.selected-c .a-values {\r\n\tposition: relative;\r\n\twidth: 582px;\r\n\tpadding-right: 70px\r\n}\r\n\r\n.selected-c .f-list li {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\theight: 20px;\r\n\tpadding: 0 20px 0 5px;\r\n\tborder: 1px solid #E6E6E6;\r\n\tmargin-right: 15px;\r\n\tmargin-bottom: 2px;\r\n\tline-height: 20px\r\n}\r\n\r\n.selected-c .f-list li:hover, .selected-c .f-list .hover {\r\n\tborder: 1px solid #999\r\n}\r\n\r\n.selected-c .f-list li a {\r\n\tfloat: none;\r\n\twhite-space: nowrap;\r\n\theight: 20px;\r\n\tline-height: 20px;\r\n\tmargin-top: 0;\r\n\tbackground: 0 0;\r\n\ttext-decoration: none;\r\n\tcolor: #333\r\n}\r\n\r\n.selected-c .f-list li a:hover {\r\n\tbackground: 0 0;\r\n\tcolor: #333\r\n}\r\n\r\n.selected-c .f-list li strong {\r\n\tcolor: #E4393C\r\n}\r\n\r\n.selected-c .f-list li b {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tright: 6px;\r\n\ttop: 7px;\r\n\toverflow: hidden;\r\n\twidth: 7px;\r\n\theight: 7px;\r\n\tbackground: url(../images/20130606B.png) no-repeat -37px -62px;\r\n\tcursor: pointer\r\n}\r\n\r\n.selected-c .v-option #all-revocation {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tright: 0;\r\n\tpadding-top: 3px;\r\n\tcursor: pointer;\r\n\tcolor: #005AA0\r\n}\r\n\r\n.selected-c .a-values, .prop-attrs .a-values, .color-attr .a-values,\r\n\t.brand-attr .a-values {\r\n\tfloat: right;\r\n\tposition: relative;\r\n\twidth: 548px;\r\n\tpadding-right: 120px\r\n}\r\n\r\n.brand-attr .v-search {\r\n\theight: 25px;\r\n\tmargin: 2px 0 5px\r\n}\r\n\r\n.brand-attr .v-search input {\r\n\tfloat: left;\r\n\twidth: 160px;\r\n\theight: 17px;\r\n\tpadding: 3px 1px;\r\n\tborder: 1px solid #ccc;\r\n\tline-height: 17px;\r\n\tfont-family: verdana;\r\n\tcolor: #999\r\n}\r\n\r\n.brand-attr .v-search input:hover {\r\n\tborder-color: #a0a0a0 #b9b9b9 #b9b9b9\r\n}\r\n\r\n.brand-attr .v-tabs {\r\n\twidth: 652px;\r\n\tzoom: 1\r\n}\r\n\r\n.brand-attr .v-tabs:after {\r\n\tcontent: '\\20';\r\n\tdisplay: block;\r\n\tclear: both\r\n}\r\n\r\n.brand-attr .tabcon-multi {\r\n\toverflow-y: auto;\r\n\theight: 150px;\r\n\tborder: 1px solid #ddd;\r\n\tpadding: 3px 0 3px 10px;\r\n\tbackground: #fff;\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n.brand-attr .tabcon div {\r\n\tfloat: left;\r\n\toverflow: hidden;\r\n\twidth: 124px;\r\n\theight: 20px;\r\n\tmargin-right: 13px;\r\n\tpadding-top: 5px\r\n}\r\n\r\n.brand-attr .v-tabs a {\r\n\theight: 15px;\r\n\tline-height: 15px;\r\n\ttext-decoration: none;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap;\r\n\tcolor: #005aa0\r\n}\r\n\r\n.brand-attr .v-tabs a:hover, .brand-attr .v-tabs a.curr {\r\n\tcolor: #E4393C\r\n}\r\n\r\n.brand-attr .v-tabs img {\r\n\tdisplay: none\r\n}\r\n\r\n.brand-attr .v-tabs div b {\r\n\tdisplay: none\r\n}\r\n\r\n* html .brand-attr .a-values {\r\n\toverflow: hidden\r\n}\r\n\r\n.prop-attrs .v-fold {\r\n\tzoom: 1\r\n}\r\n\r\n.prop-attrs .v-fold:after {\r\n\tcontent: '\\20';\r\n\tdisplay: block;\r\n\tclear: both\r\n}\r\n\r\n.prop-attrs .v-fold .f-list {\r\n\toverflow: hidden;\r\n\twidth: 548px;\r\n\theight: 20px\r\n}\r\n\r\n.prop-attrs .v-fold .f-list li {\r\n\tfloat: left;\r\n\theight: 20px;\r\n\tmargin-right: 32px;\r\n\tpadding-top: 5px\r\n}\r\n\r\n.prop-attrs .v-fold .f-list a {\r\n\tfloat: left;\r\n\theight: 15px;\r\n\tline-height: 14px;\r\n\ttext-decoration: none;\r\n\toverflow: hidden;\r\n\twhite-space: nowrap;\r\n\tfont-family: verdana;\r\n\tcolor: #005aa0\r\n}\r\n\r\n.prop-attrs .v-fold .f-list a:hover, .prop-attrs .v-fold .f-list a.curr\r\n\t{\r\n\tcolor: #E4393C\r\n}\r\n\r\n.prop-attrs .pr {\r\n\tfloat: left;\r\n\twidth: 148px\r\n}\r\n\r\n.prop-attrs #select-price .f-list {\r\n\tfloat: left;\r\n\twidth: auto\r\n}\r\n\r\n.prop-attrs .v-unfold .f-list {\r\n\theight: auto\r\n}\r\n\r\n.prop-attrs .pr i {\r\n\tfloat: left;\r\n\toverflow: hidden;\r\n\twidth: 4px;\r\n\theight: 1px;\r\n\tmargin: 12px 4px 0 0;\r\n\tbackground: #ccc;\r\n\t*font-size: 0\r\n}\r\n\r\n.prop-attrs .pr .price-range {\r\n\tfloat: left;\r\n\twidth: 40px;\r\n\theight: 17px;\r\n\tpadding: 1px;\r\n\tborder: 1px solid #ccc;\r\n\tmargin: 2px 4px 0 0;\r\n\tline-height: 17px;\r\n\tfont-family: verdana\r\n}\r\n\r\n.prop-attrs .pr .price-range:hover {\r\n\tborder-color: #a0a0a0 #b9b9b9 #b9b9b9\r\n}\r\n\r\n.prop-attrs .pr .btn-price-range {\r\n\tfloat: left;\r\n\theight: 12px;\r\n\tpadding: 3px 9px 4px;\r\n\tmargin-top: 2px;\r\n\tline-height: 12px;\r\n\ttext-decoration: none\r\n}\r\n\r\n.prop-attrs #pr-like {\r\n\tfloat: left;\r\n\tpadding-top: 0;\r\n\tmargin-top: 2px;\r\n\tbackground: #FFF\r\n}\r\n\r\n.prop-attrs #pr-like li {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\twidth: 15px;\r\n\theight: 19px;\r\n\tborder: 1px solid #eee;\r\n\tmargin-left: -1px;\r\n\tcursor: pointer\r\n}\r\n\r\n.prop-attrs #pr-like li a {\r\n\tbackground: 0 0\r\n}\r\n\r\n.prop-attrs #pr-like li span {\r\n\tposition: absolute;\r\n\tleft: -1px;\r\n\tbottom: -1px;\r\n\tz-index: 3;\r\n\tdisplay: block;\r\n\twidth: 15px;\r\n\tborder: 1px solid #ddd;\r\n\tbackground: #eee\r\n}\r\n\r\n.prop-attrs #pr-like li.hover span {\r\n\tz-index: 4;\r\n\tborder: 1px solid #62A83B;\r\n\tbackground: #7ABD54\r\n}\r\n\r\n.prop-attrs #pr-like li span.bg {\r\n\tz-index: 2;\r\n\theight: 100%;\r\n\tborder: 1px solid #eee;\r\n\tbackground: #fff\r\n}\r\n\r\n.attr-select {\r\n\tposition: relative;\r\n\tz-index: 1;\r\n\tborder: 1px solid #EDD28B;\r\n\tmargin: 0 -1px -1px;\r\n\tbackground: #FFFDEE\r\n}\r\n\r\n.attr-select .v-tabs a, .attr-select .f-list a {\r\n\tpadding-left: 18px;\r\n\tbackground: url(../images/20130606B.png) no-repeat -70px 1px;\r\n\tcolor: #005AA0\r\n}\r\n\r\n.attr-select .v-tabs a {\r\n\tfloat: left;\r\n\twidth: 106px\r\n}\r\n\r\n.attr-select .v-tabs a:hover, .attr-select .f-list a:hover {\r\n\tbackground: url(i/2013102401.png) no-repeat 0 1px;\r\n\tcolor: #E4393C\r\n}\r\n\r\n.attr-select .selected a, .attr-select .selected a:hover {\r\n\tbackground: url(../images/20130606B.png) no-repeat -70px -13px;\r\n\tcolor: #E4393C\r\n}\r\n\r\n.attr-select .a-values .v-btns {\r\n\tdisplay: block\r\n}\r\n\r\n.prop-attrs .attr-select .f-list {\r\n\theight: auto\r\n}\r\n\r\n.brand-attr .tab {\r\n\theight: 28px;\r\n\tpadding-top: 2px\r\n}\r\n\r\n.brand-attr .tab li {\r\n\tfloat: left;\r\n\theight: 14px;\r\n\tmargin-right: 2px;\r\n\tpadding: 3px 5px;\r\n\tline-height: 12px;\r\n\tcursor: pointer;\r\n\tfont-family: verdana, \\5b8b\\4f53;\r\n\tcolor: #005EA7\r\n}\r\n\r\n.brand-attr .tab b {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\tleft: 50%;\r\n\tbottom: -10px;\r\n\toverflow: hidden;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-width: 5px;\r\n\tborder-style: solid dashed dashed;\r\n\tborder-color: #4598D2 transparent transparent;\r\n\tmargin-left: -4px\r\n}\r\n\r\n.brand-attr .tab .curr {\r\n\tposition: relative;\r\n\tbackground: #4598d2;\r\n\tcolor: #fff;\r\n\tzoom: 1\r\n}\r\n\r\n.brand-attr .tab .curr b {\r\n\tdisplay: block\r\n}\r\n\r\n.brand-attr .tab-con {\r\n\tfloat: none;\r\n\toverflow: hidden;\r\n\twidth: 578px;\r\n\theight: auto;\r\n\tmargin: 0;\r\n\tpadding: 0\r\n}\r\n\r\n.brand-attr .tab-con div {\r\n\toverflow: hidden;\r\n\twidth: 125px\r\n}\r\n\r\n.brand-attr .a-values .s-brands {\r\n\tdisplay: none;\r\n\twidth: 650px;\r\n\theight: 14px;\r\n\tpadding: 8px 0;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0;\r\n\tmargin-top: -11px;\r\n\tbackground: #fff\r\n}\r\n\r\n.brand-attr .a-values .s-brands .dt {\r\n\tfloat: left;\r\n\tpadding-left: 10px;\r\n\tcolor: #999\r\n}\r\n\r\n.brand-attr .a-values .s-brands .dd {\r\n\tfloat: left;\r\n\twidth: auto;\r\n\tpadding: 0;\r\n\tmargin-top: 1px;\r\n\tline-height: 14px\r\n}\r\n\r\n.brand-attr .a-values .s-brands .dd a {\r\n\tfloat: left;\r\n\twidth: auto;\r\n\tpadding-left: 18px;\r\n\tmargin-right: 10px;\r\n\tbackground: url(../images/20130606B.png) no-repeat -70px -13px;\r\n\tcolor: #E4393C\r\n}\r\n\r\n.brand-attr .s-brands .selected a, .brand-attr .s-brands .attr-select a:hover\r\n\t{\r\n\tfloat: left;\r\n\tbackground: url(../images/20130415i.png) no-repeat -287px -14px;\r\n\tcolor: #E4393C\r\n}\r\n\r\n.brand-attr.brand-selected-fold .s-brands {\r\n\tdisplay: block;\r\n\tborder: 0\r\n}\r\n\r\n.brand-attr.brand-selected-unfold .s-brands {\r\n\tposition: relative;\r\n\tz-index: 0;\r\n\tdisplay: block;\r\n\toverflow: hidden;\r\n\tmargin-top: -9px\r\n}\r\n\r\n* html .brand-attr .tab b {\r\n\toverflow: hidden\r\n}\r\n\r\n.brand-attr .show-logo {\r\n\tposition: relative;\r\n\toverflow-x: hidden;\r\n\toverflow-y: auto;\r\n\twidth: 552px;\r\n\theight: 79px;\r\n\tpadding: 10px 0 0 10px;\r\n\tmargin-bottom: 10px;\r\n\tzoom: 1\r\n}\r\n\r\n.brand-attr .show-logo div {\r\n\twidth: 104px;\r\n\theight: 38px;\r\n\tpadding-top: 0;\r\n\tborder: 1px solid #ddd;\r\n\tmargin: 0 -1px -1px 0;\r\n\tbackground: #fff;\r\n\ttext-align: center\r\n}\r\n\r\n.brand-attr .show-logo div a {\r\n\tposition: relative;\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\toverflow: hidden;\r\n\twidth: 102px;\r\n\theight: 36px;\r\n\tpadding: 0;\r\n\tborder: 1px solid #fff;\r\n\tbackground: 0 0;\r\n\tline-height: 36px;\r\n\twhite-space: nowrap;\r\n\ttext-overflow: ellipsis;\r\n\tzoom: 1\r\n}\r\n\r\n.brand-attr .show-logo div b {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\tright: 1px;\r\n\tbottom: 1px;\r\n\tz-index: 6;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tbackground: url(i/2013112001.png) no-repeat right bottom\r\n}\r\n\r\n.brand-attr .show-logo .hover, .brand-attr .show-logo .hover a,\r\n\t.brand-attr .show-logo .selected, .brand-attr .show-logo .selected a {\r\n\tposition: relative;\r\n\tz-index: 5;\r\n\tborder: 1px solid #E4393C\r\n}\r\n\r\n.brand-attr .show-logo .selected b {\r\n\tdisplay: block\r\n}\r\n\r\n.brand-attr .show-logo div img {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tz-index: 1;\r\n\twidth: 102px;\r\n\theight: 36px;\r\n\tbackground: #fff\r\n}\r\n\r\n.brand-attr .show-logo .selected a:hover img, .brand-attr .show-logo .hover a img\r\n\t{\r\n\tdisplay: none\r\n}\r\n\r\n.brand-attr .height185 {\r\n\toverflow-x: hidden;\r\n\toverflow-y: auto;\r\n\theight: 185px;\r\n\tzoom: 1\r\n}\r\n\r\n.brand-attr .height185 span.clr {\r\n\theight: 10px\r\n}\r\n\r\n.attr-select .show-logo {\r\n\tmargin-bottom: 0\r\n}\r\n\r\n.attr-select .show-logo a, .attr-select .show-logo a:hover {\r\n\tbackground: 0 0\r\n}\r\n\r\n.attr-select .a-values .s-brands-logo {\r\n\twidth: 562px;\r\n\tmargin-top: -1px\r\n}\r\n\r\n.color-attr .v-colors {\r\n\tclear: both;\r\n\tdisplay: block;\r\n\twidth: 100%;\r\n\tzoom: 1\r\n}\r\n\r\n.color-attr .v-colors:after {\r\n\tcontent: '\\20';\r\n\tclear: both;\r\n\tdisplay: block\r\n}\r\n\r\n.color-attr .v-colors a {\r\n\tfloat: left;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tpadding: 1px;\r\n\tborder: 1px solid #ddd;\r\n\tmargin-right: 10px\r\n}\r\n\r\n.color-attr .v-colors a:hover {\r\n\tborder: 1px solid #666;\r\n\tbackground-color: #fff\r\n}\r\n\r\n.color-attr .v-colors a span {\r\n\tdisplay: block;\r\n\twidth: 16px;\r\n\theight: 16px\r\n}\r\n\r\n.color-attr .v-colors a.black span {\r\n\tbackground-color: #333\r\n}\r\n\r\n.color-attr .v-colors a.light-gray span {\r\n\tbackground-color: #bbb\r\n}\r\n\r\n.color-attr .v-colors a.white span {\r\n\tbackground-color: #fff\r\n}\r\n\r\n.color-attr .v-colors a.pink span {\r\n\tbackground-color: #FFD8D8\r\n}\r\n\r\n.color-attr .v-colors a.red span {\r\n\tbackground-color: red\r\n}\r\n\r\n.color-attr .v-colors a.rose-red span {\r\n\tbackground-color: #FF028B\r\n}\r\n\r\n.color-attr .v-colors a.purple span {\r\n\tbackground-color: #B237F1\r\n}\r\n\r\n.color-attr .v-colors a.blue span {\r\n\tbackground-color: #2A8CFA\r\n}\r\n\r\n.color-attr .v-colors a.green span {\r\n\tbackground-color: #17BC32\r\n}\r\n\r\n.color-attr .v-colors a.orange span {\r\n\tbackground-color: #FF8A00\r\n}\r\n\r\n.color-attr .v-colors a.yellow span {\r\n\tbackground-color: #fc0\r\n}\r\n\r\n.color-attr .v-colors a.brown span {\r\n\tbackground-color: #814312\r\n}\r\n\r\n.color-attr .v-colors a.light-tan span {\r\n\tbackground-color: #C69C81\r\n}\r\n\r\n.color-attr .v-colors a.flesh-colored span {\r\n\tbackground-color: #F3DCC9\r\n}\r\n\r\n.color-attr .v-colors a.multicolor span {\r\n\tbackground:\r\n\t\turl(../images/20120808A.gif)\r\n\t\tno-repeat\r\n}\r\n\r\n.color-attr .v-colors a.curr:link, .color-attr .v-colors a.curr:visited\r\n\t{\r\n\tposition: relative;\r\n\tpadding: 0;\r\n\tborder: 2px solid #c00\r\n}\r\n\r\n.color-attr .v-colors b {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\tright: 0;\r\n\tbottom: 0;\r\n\twidth: 10px;\r\n\theight: 10px;\r\n\tbackground: url(i/20121207A.gif) no-repeat;\r\n\tfont-size: 0\r\n}\r\n\r\n.color-attr .v-colors .curr b {\r\n\tdisplay: block\r\n}\r\n\r\n#select .mb {\r\n\tposition: relative;\r\n\toverflow: visible;\r\n\theight: 0;\r\n\tborder-top: 1px solid #E6E6E6;\r\n\tborder-bottom: 0;\r\n\tmargin-bottom: 34px;\r\n\t_margin-bottom: 10px;\r\n\ttext-align: center;\r\n\tfont-size: 0\r\n}\r\n\r\n#select .mb .attr-extra {\r\n\tposition: relative;\r\n\tdisplay: inline-block;\r\n\t*display: inline; +\r\n\tzoom: 1;\r\n\theight: 24px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0;\r\n\tmargin-top: -1px;\r\n\tbackground: #fff;\r\n\tline-height: 20px;\r\n\ttext-align: right;\r\n\tcursor: pointer;\r\n\tfont-size: 12px\r\n}\r\n\r\n#select .mb .attr-extra div {\r\n\tposition: relative;\r\n\t_display: inline;\r\n\t_zoom: 1;\r\n\theight: 24px;\r\n\tpadding: 0 32px 0 24px;\r\n\tline-height: 24px\r\n}\r\n\r\n#select .mb .attr-extra b {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 9px;\r\n\tright: 16px;\r\n\toverflow: hidden;\r\n\twidth: 9px;\r\n\theight: 6px\r\n}\r\n\r\n#select .mb .attr-extra b, #select .mb .close b, #select .mb .open b {\r\n\tbackground: url(../images/20130606B.png) no-repeat\r\n}\r\n\r\n#select .mb .attr-extra b, #select .mb .close b {\r\n\tbackground-position: -36px -55px\r\n}\r\n\r\n#select .mb .attr-extra.open b {\r\n\tbackground-position: -36px -48px\r\n}\r\n\r\n#babyQueryAttr {\r\n\tborder-bottom: 1px solid #ddd;\r\n\tmargin-bottom: -1px\r\n}\r\n\r\n#babyQueryAttr .attr {\r\n\tpadding: 6px 0;\r\n\tborder-top: 0\r\n}\r\n\r\n#babyQueryAttr .av-query {\r\n\tline-height: 24px\r\n}\r\n\r\n#babyQueryAttr .query-con .txt-birthday, #babyQueryAttr .query-con a b,\r\n\t#babyQueryAttr .query-con a b {\r\n\tbackground: url(i/2013112901.png) no-repeat\r\n}\r\n\r\n#babyQueryAttr .query-con .txt-birthday {\r\n\tfloat: left;\r\n\twidth: 125px;\r\n\theight: 21px;\r\n\tpadding: 1px;\r\n\tborder: 1px solid #ccc;\r\n\tmargin-right: 20px;\r\n\tbackground-position: 103px 1px;\r\n\tline-height: 21px;\r\n\tfont-family: verdana, '\\5b8b\\4f53'\r\n}\r\n\r\n#babyQueryAttr .query-con .txt-birthday:hover {\r\n\tborder-color: #a0a0a0 #b9b9b9 #b9b9b9\r\n}\r\n\r\n#babyQueryAttr .query-con strong {\r\n\tfloat: left\r\n}\r\n\r\n#babyQueryAttr .query-con a {\r\n\tfloat: left\r\n}\r\n\r\n#babyQueryAttr .query-con a.boy, #babyQueryAttr .query-con a.girl {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\tpadding-left: 16px;\r\n\tmargin-right: 10px;\r\n\ttext-decoration: none\r\n}\r\n\r\n#babyQueryAttr .query-con a.boy b, #babyQueryAttr .query-con a.girl b {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 6px;\r\n\twidth: 13px;\r\n\theight: 13px;\r\n\tbackground-position: 0 -30px\r\n}\r\n\r\n#babyQueryAttr .query-con a.boy:hover b, #babyQueryAttr .query-con a.girl:hover b,\r\n\t#babyQueryAttr .query-con a.selected b {\r\n\tbackground-position: 0 -50px\r\n}\r\n\r\n#babyQueryAttr .query-con a.btn-submit {\r\n\tfloat: left;\r\n\theight: 14px;\r\n\tpadding: 3px 9px 4px;\r\n\tmargin-top: 1px;\r\n\tline-height: 14px;\r\n\ttext-decoration: none\r\n}\r\n\r\n#babyQueryAttr .tips-con {\r\n\tposition: relative;\r\n\theight: 24px;\r\n\tpadding-left: 20px;\r\n\tmargin-left: -100px;\r\n\tbackground: #fff\r\n}\r\n\r\n#babyQueryAttr .tips-con .tc-info {\r\n\tfloat: left;\r\n\tmargin-right: 26px\r\n}\r\n\r\n#babyQueryAttr .tc-info strong {\r\n\tpadding: 0 4px;\r\n\tfont-weight: 700;\r\n\tfont-family: verdana, '\\5b8b\\4f53';\r\n\tcolor: #f60\r\n}\r\n\r\n#babyQueryAttr .tc-info a.tci-change {\r\n\tcolor: #005EA7\r\n}\r\n\r\n#babyQueryAttr .tips-con a.tc-btn {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\theight: 14px;\r\n\tpadding: 4px 10px 4px 25px;\r\n\tline-height: 14px;\r\n\ttext-decoration: none\r\n}\r\n\r\n#babyQueryAttr .tips-con a.tc-btn b {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tleft: 9px;\r\n\ttop: 5px;\r\n\twidth: 13px;\r\n\theight: 13px;\r\n\tbackground:\r\n\t\turl(../images/20130603A.png)\r\n\t\tno-repeat -26px -25px;\r\n\tfont-size: 0\r\n}\r\n\r\n#babyQueryAttr .tips-con a.tc-btn:hover b {\r\n\tbackground: url(i/2013102401.png) no-repeat 0 0\r\n}\r\n\r\n#babyQueryAttr .tips-con a.tc-btn-selected b, #babyQueryAttr .tips-con a.tc-btn-selected:hover b\r\n\t{\r\n\tbackground: url(../images/20130606B.png) no-repeat -70px -14px\r\n}\r\n\r\n#checkerror {\r\n\tpadding: 15px 10px;\r\n\tborder: 1px solid #edd28b;\r\n\tbackground: #fffdee;\r\n\tfont-size: 14px;\r\n\tfont-weight: 700\r\n}\r\n\r\n#checkerror span {\r\n\tcolor: #c00\r\n}\r\n\r\n#checkerror a {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#checkerror a.text-red {\r\n\tcolor: #c00\r\n}\r\n\r\n#filter {\r\n\tborder: 1px solid #ddd;\r\n\tmargin-bottom: 20px;\r\n\tbackground: #F7F7F7;\r\n\tbox-shadow: 0 1px 1px rgba(0, 0, 0, .02)\r\n}\r\n\r\n#filter .fore1 {\r\n\toverflow: hidden;\r\n\theight: 26px;\r\n\tpadding: 5px 8px;\r\n\tborder-bottom: 1px solid #E7E3E7;\r\n\tzoom: 1\r\n}\r\n\r\n#filter .fore2 {\r\n\tpadding: 3px 8px;\r\n\tzoom: 1\r\n}\r\n\r\n#filter dl, #filter dt, #filter dd {\r\n\tfloat: left;\r\n\tline-height: 26px;\r\n\tzoom: 1\r\n}\r\n\r\n#filter .total {\r\n\tfloat: right;\r\n\theight: 22px;\r\n\tpadding: 2px 15px 2px 0;\r\n\tborder-right: 1px solid #E7E3E7;\r\n\tline-height: 22px;\r\n\tfont-family: verdana;\r\n\tcolor: #E4393C\r\n}\r\n\r\n#filter .pagin {\r\n\tfloat: right;\r\n\theight: 22px;\r\n\tpadding: 2px 0;\r\n\tborder-left: 1px solid #fff\r\n}\r\n\r\n#filter .order dd {\r\n\theight: 24px;\r\n\tborder: 1px solid #CECBCE;\r\n\tbackground: #fff;\r\n\tmargin-right: 5px;\r\n\tline-height: 24px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#filter .up, #filter .down {\r\n\tposition: relative\r\n}\r\n\r\n#filter .order a {\r\n\tdisplay: block;\r\n\tpadding: 0 10px\r\n}\r\n\r\n#filter .order b {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\ttop: 6px;\r\n\tright: 8px;\r\n\twidth: 9px;\r\n\theight: 11px;\r\n\toverflow: hidden;\r\n\tfont-size: 0\r\n}\r\n\r\n#filter .order .curr {\r\n\tborder: 1px solid #E4393C;\r\n\tbackground: #E4393C;\r\n\tfont-weight: 700\r\n}\r\n\r\n#filter .order .curr a:link, #filter .order .curr a:visited {\r\n\tcolor: #fff\r\n}\r\n\r\n#filter .up a, #filter .down a {\r\n\tpadding-right: 20px\r\n}\r\n\r\n#filter .order .up b, #filter .order .down b {\r\n\tdisplay: block\r\n}\r\n\r\n#filter .order .up b {\r\n\tbackground-position: -70px -114px\r\n}\r\n\r\n#filter .order .down b {\r\n\tbackground-position: -70px -102px\r\n}\r\n\r\n#filter .merger {\r\n\tposition: relative;\r\n\tpadding-left: 31px;\r\n\tborder-left: 1px solid #fff\r\n}\r\n\r\n#filter .merger .disabled {\r\n\tcolor: #999\r\n}\r\n\r\n#filter .merger b {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 7px;\r\n\tleft: 0;\r\n\twidth: 13px;\r\n\theight: 13px;\r\n\tbackground: url(i/20120418.png) no-repeat\r\n}\r\n\r\n#filter .merger b {\r\n\tleft: 16px\r\n}\r\n\r\n#filter .merger .disabled b, #filter .merger a:link b, #filter .merger a:visited b\r\n\t{\r\n\tbackground-position: -28px -25px\r\n}\r\n\r\n#filter .merger a:hover b, #filter .merger a:active b, #filter .merger .selected a:link b,\r\n\t#filter .merger .selected a:visited b {\r\n\tbackground-position: 0 -25px\r\n}\r\n\r\n#filter .activity {\r\n\tfloat: left;\r\n\tpadding-left: 10px\r\n}\r\n\r\n#filter .activity dd a {\r\n\tfloat: left;\r\n\tmargin-right: 14px;\r\n\tposition: relative;\r\n\tpadding-left: 16px\r\n}\r\n\r\n#filter .activity .act-618, #filter .activity .act-jiazhuangjie, #filter .activity .act-nanzhuangjie\r\n\t{\r\n\tdisplay: inline-block;\r\n\twidth: 55px;\r\n\theight: 26px;\r\n\tbackground: url(i/searchlist.filter-activity-icon.png) no-repeat 0 0;\r\n\tcursor: pointer\r\n}\r\n\r\n#filter .activity .act-jiazhuangjie {\r\n\tbackground-position: 0 -72px;\r\n\twidth: 46px\r\n}\r\n\r\n#filter .activity .act-nanzhuangjie {\r\n\tbackground-position: 0 -36px;\r\n\twidth: 46px\r\n}\r\n\r\n#filter .activity .act-shiyidacu, #filter .activity .act-qiuchajie {\r\n\tdisplay: inline-block;\r\n\twidth: 55px;\r\n\theight: 26px;\r\n\tbackground: url(i/search-list-act-20140928.png) no-repeat;\r\n\tcursor: pointer\r\n}\r\n\r\n#filter .activity .act-qiuchajie {\r\n\tbackground-position: 0 -50px\r\n}\r\n\r\n#filter .activity .act-shuang11 {\r\n\tdisplay: inline-block;\r\n\twidth: 104px;\r\n\theight: 26px;\r\n\tbackground: url(i/search-list-act-20141030.png) no-repeat;\r\n\tcursor: pointer\r\n}\r\n\r\n#chunlei a {\r\n\tdisplay: block;\r\n\toverflow: hidden;\r\n\twidth: 58px;\r\n\theight: 24px;\r\n\tbackground: url(i/20130225B.jpg) no-repeat;\r\n\tline-height: 100px;\r\n\ttext-indent: -9999em\r\n}\r\n\r\n#filter #chunlei.curr {\r\n\tborder: 1px solid #A2C92E\r\n}\r\n\r\n#filter #chunlei.curr a {\r\n\tbackground: url(i/20130226A.jpg) no-repeat\r\n}\r\n\r\n#store-selector {\r\n\tposition: relative;\r\n\tz-index: 5;\r\n\theight: 26px;\r\n\tmargin-right: 15px\r\n}\r\n\r\n#store-selector dl, #store-selector dt, #store-selector dd {\r\n\tfloat: none;\r\n\tcolor: #999\r\n}\r\n\r\n#store-selector dl {\r\n\twidth: 390px\r\n}\r\n\r\n#store-selector dd {\r\n\tline-height: 22px\r\n}\r\n\r\n#store-selector .mc a:link, #store-selector .mc a:visited {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#store-selector .mc a:hover, #store-selector .mc a:active {\r\n\tbackground: #005aa0;\r\n\tcolor: #fff\r\n}\r\n\r\n#store-selector .text {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\ttop: 0;\r\n\toverflow: hidden;\r\n\theight: 23px;\r\n\tpadding: 0 20px 0 4px;\r\n\tborder: 1px solid #ccc;\r\n\tbackground: #fff;\r\n\tline-height: 23px;\r\n\twidth: 100px\r\n}\r\n\r\n#store-selector .text b {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tright: 5px;\r\n\ttop: 9px;\r\n\toverflow: hidden;\r\n\twidth: 9px;\r\n\theight: 6px;\r\n\tbackground: url(../images/20130606B.png) no-repeat -36px -55px\r\n}\r\n\r\n#store-selector .content {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\ttop: 24px;\r\n\tleft: -45px;\r\n\tborder: 1px solid #CECBCE;\r\n\twidth: 390px;\r\n\tpadding: 15px;\r\n\tbackground: #fff;\r\n\t-moz-box-shadow: 0 0 5px #ddd;\r\n\t-webkit-box-shadow: 0 0 5px #ddd;\r\n\tbox-shadow: 0 0 5px #ddd\r\n}\r\n\r\n#store-selector .close {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\tz-index: 2;\r\n\ttop: 20px;\r\n\tleft: 365px;\r\n\twidth: 17px;\r\n\theight: 17px;\r\n\tbackground-position: -18px -48px\r\n}\r\n\r\n#store-selector.wrap-selects .content {\r\n\twidth: 256px\r\n}\r\n\r\n#store-selector.wrap-selects .close {\r\n\tleft: 235px\r\n}\r\n\r\n#store-selector.hover .content, #store-selector.hover .close {\r\n\tdisplay: block\r\n}\r\n\r\n#store-selector.hover .text {\r\n\tz-index: 1;\r\n\theight: 24px;\r\n\tborder-bottom: 0;\r\n\tbackground: #fff\r\n}\r\n\r\n#store-selector.hover .text b {\r\n\tbackground-position: -237px -17px\r\n}\r\n\r\n.JD-stock {\r\n\tposition: relative\r\n}\r\n\r\n.JD-stock .tab {\r\n\twidth: 100%;\r\n\theight: 25px;\r\n\tfloat: left;\r\n\tborder-bottom: 2px solid #edd28b;\r\n\toverflow: visible;\r\n\t*overflow: hidden\r\n}\r\n\r\n.JD-stock .tab li {\r\n\tfloat: left;\r\n\tclear: none;\r\n\theight: 23px;\r\n\tpadding: 1px 1px 0;\r\n\tborder: 1px solid #ddd;\r\n\tborder-bottom: 0;\r\n\tmargin-right: 3px;\r\n\tbackground-color: #fff;\r\n\tline-height: 22px;\r\n\ttext-decoration: none\r\n}\r\n\r\n.JD-stock .tab .curr {\r\n\t*position: relative;\r\n\theight: 25px;\r\n\tpadding: 0;\r\n\tborder: 2px solid #edd28b;\r\n\tborder-bottom: 0\r\n}\r\n\r\n.JD-stock .tab a {\r\n\tposition: relative;\r\n\tfloat: left;\r\n\theight: 23px;\r\n\tpadding: 0 20px 1px 10px;\r\n\tline-height: 23px;\r\n\ttext-align: center;\r\n\ttext-decoration: none;\r\n\tcursor: pointer;\r\n\tcolor: #005AA0;\r\n\toutline: 0;\r\n\t*blr: expression(this.onFocus = this.blur ())\r\n}\r\n\r\n.JD-stock .tab a i {\r\n\tposition: absolute;\r\n\tright: 5px;\r\n\ttop: 10px;\r\n\t*top: 9px;\r\n\tdisplay: block;\r\n\twidth: 7px;\r\n\theight: 5px;\r\n\toverflow: hidden;\r\n\tbackground:\r\n\t\turl(../images/20130606B.png)\r\n\t\tno-repeat -76px -34px;\r\n\topacity: .5;\r\n\tfilter: alpha(opacity = 50)\r\n}\r\n\r\n.JD-stock .tab .curr i, .JD-stock .tab a:hover i {\r\n\topacity: 1;\r\n\tfilter: alpha(opacity = 100)\r\n}\r\n\r\n.area-list {\r\n\tpadding-top: 5px\r\n}\r\n\r\n.area-list li {\r\n\tfloat: left;\r\n\twidth: 80px;\r\n\tpadding: 2px 0 2px 15px;\r\n\tclear: none\r\n}\r\n\r\n.area-list li a {\r\n\tfloat: left;\r\n\tpadding: 2px 4px;\r\n\tcolor: #005aa0\r\n}\r\n\r\n.area-list li a:hover {\r\n\tbackground: #005ea7;\r\n\tcolor: #fff\r\n}\r\n\r\n.area-list .longer-area {\r\n\twidth: 370px\r\n}\r\n\r\n.area-list .long-area {\r\n\twidth: 170px\r\n}\r\n\r\n#filter .instock {\r\n\tposition: relative;\r\n\tpadding-left: 16px\r\n}\r\n\r\n#filter .instock b, #filter .activity b {\r\n\tdisplay: block;\r\n\tfont-size: 0;\r\n\theight: 13px;\r\n\tleft: 0;\r\n\tposition: absolute;\r\n\ttop: 7px;\r\n\twidth: 13px\r\n}\r\n\r\n#filter .instock b, #filter .instock a:link b, #filter .instock a:visited b,\r\n\t#filter .instock .disabled b, #filter .activity b, #filter .activity a:link b,\r\n\t#filter .activity a:visited b, #filter .activity .disabled b {\r\n\tbackground-position: -56px 0;\r\n\tfont-size: 0\r\n}\r\n\r\n#filter .instock a:hover b, #filter .instock a:active b, #filter .instock .selected a:link b,\r\n\t#filter .instock .selected a:visited b, #filter .activity a:hover b,\r\n\t#filter .activity a:active b, #filter .activity a.selected:link b,\r\n\t#filter .activity a.selected:visited b {\r\n\tbackground: url(../images/20130415i.png) -287px -16px\r\n}\r\n\r\n#filter .activity .disabled, #filter .instock .disabled {\r\n\tcolor: #999\r\n}\r\n\r\n#filter .type {\r\n\tposition: relative;\r\n\tz-index: 3;\r\n\twidth: 85px;\r\n\tborder-right: 1px solid #E7E3E7;\r\n\tpadding-right: 15px\r\n}\r\n\r\n#filter .type .text {\r\n\tposition: relative;\r\n\ttop: 0;\r\n\toverflow: hidden;\r\n\theight: 23px;\r\n\tpadding: 0 19px 0 4px;\r\n\tborder: 1px solid #ccc;\r\n\tbackground: #fff;\r\n\tline-height: 23px\r\n}\r\n\r\n#filter .type .text i {\r\n\tdisplay: none\r\n}\r\n\r\n#filter .type .text b, #filter .hover .text b {\r\n\tbackground: url(../images/20130606B.png) no-repeat\r\n}\r\n\r\n#filter .type .text b {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tright: 5px;\r\n\ttop: 9px;\r\n\toverflow: hidden;\r\n\twidth: 9px;\r\n\theight: 6px;\r\n\tbackground-position: -36px -55px\r\n}\r\n\r\n#filter .type dt, #filter .type dd {\r\n\tfloat: none\r\n}\r\n\r\n#filter .type dd {\r\n\tdisplay: none;\r\n\tfloat: none;\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 24px;\r\n\tz-index: 4;\r\n\twidth: 83px;\r\n\theight: auto;\r\n\tborder: 1px solid #ccc;\r\n\tbackground: #fff\r\n}\r\n\r\n#filter .type dd a {\r\n\tdisplay: block;\r\n\twidth: 79px;\r\n\theight: 23px;\r\n\tpadding-left: 4px;\r\n\tline-height: 23px;\r\n\ttext-decoration: none;\r\n\tcolor: #333;\r\n\tz-index: 1\r\n}\r\n\r\n#filter .type dd a:hover {\r\n\tbackground: #F7F7F7\r\n}\r\n\r\n#filter .hover .text b {\r\n\tbackground-position: -36px -48px\r\n}\r\n\r\n#filter .hover dd {\r\n\tdisplay: block\r\n}\r\n\r\n#filter .type2 {\r\n\tborder-right: 1px solid #E7E3E7;\r\n\tborder-left: 1px solid #fff;\r\n\tpadding-left: 15px\r\n}\r\n\r\n#filter .type2 dd a {\r\n\tfloat: left;\r\n\tmargin-right: 14px;\r\n\tposition: relative;\r\n\tpadding-left: 16px\r\n}\r\n\r\n#filter .type2 b {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 7px;\r\n\tleft: 0;\r\n\twidth: 13px;\r\n\theight: 13px;\r\n\tbackground-image: url(i/20130603A.png);\r\n\tbackground-repeat: no-repeat;\r\n\tfont-size: 0\r\n}\r\n\r\n#filter .type2 a:link b, #filter .type2 a:visited b {\r\n\tbackground-position: -67px -25px\r\n}\r\n\r\n#filter .type2 a:hover b, #filter .type2 a:active b, #filter .type2 a.selected:link b,\r\n\t#filter .type2 a.selected:visited b {\r\n\tbackground-position: -53px -25px\r\n}\r\n\r\n* html #filter .type2 b {\r\n\ttop: 5px\r\n}\r\n\r\n#filter .stock-search {\r\n\tfloat: left;\r\n\tpadding-left: 4px\r\n}\r\n\r\n#filter .stock-search .text-stock-search {\r\n\twidth: 108px;\r\n\theight: 17px;\r\n\tpadding: 3px;\r\n\tborder: 1px solid #ccc;\r\n\tmargin-right: 5px;\r\n\tline-height: 17px;\r\n\tfont-family: verdana, '\\5b8b\\4f53';\r\n\tcolor: #999\r\n}\r\n\r\n#filter .stock-search .text-stock-search:hover {\r\n\tborder-color: #a0a0a0 #b9b9b9 #b9b9b9\r\n}\r\n\r\n#filter .stock-search .btn-stock-search {\r\n\twidth: 51px;\r\n\theight: 25px;\r\n\tborder: 1px solid #ccc;\r\n\tborder-radius: 2px;\r\n\tmargin-top: 0;\r\n\tbackground: #F7F7F7;\r\n\ttext-align: center;\r\n\ttext-decoration: none;\r\n\tcursor: pointer;\r\n\tcolor: #333;\r\n\tbackground: -moz-linear-gradient(top, #f7f7f7, #f2f2f2);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#f7f7f7),\r\n\t\tto(#f2f2f2));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f7f7f7\",\r\n\t\tendColorstr=\"#f2f2f2\");\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#f7f7f7 \", endColorstr=\" #f2f2f2 \")\"\r\n}\r\n\r\n#filter .stock-search .btn-stock-search:hover {\r\n\tbox-shadow: 0 1px 1px rgba(0, 1, 1, .08);\r\n\tborder-color: #ccc;\r\n\tcursor: pointer;\r\n\tcolor: #333;\r\n\tbackground: -moz-linear-gradient(top, #f9f9f9, #f6f6f6);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#f9f9f9),\r\n\t\tto(#f6f6f6));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f9f9f9\",\r\n\t\tendColorstr=\"#f6f6f6\");\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#f9f9f9 \", endColorstr=\" #f6f6f6 \")\"\r\n}\r\n\r\n#filter .type3, #filter .type3 .bd {\r\n\tfloat: left;\r\n\tline-height: 26px;\r\n\tzoom: 1\r\n}\r\n\r\n#filter .type3 {\r\n\tpadding-left: 10px\r\n}\r\n\r\n#filter .type3 .bd a {\r\n\tfloat: left;\r\n\tmargin-right: 10px;\r\n\tposition: relative;\r\n\tpadding-left: 16px\r\n}\r\n\r\n#filter .type3 b {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 7px;\r\n\tleft: 0;\r\n\twidth: 13px;\r\n\theight: 13px;\r\n\tbackground-image: url(../images/20130606B.png);\r\n\tbackground-repeat: no-repeat;\r\n\tfont-size: 0\r\n}\r\n\r\n#filter .type3 .i-new {\r\n\tposition: absolute;\r\n\ttop: -8px;\r\n\tright: -11px;\r\n\twidth: 25px;\r\n\theight: 15px;\r\n\tbackground: url(i/search-new-20140919.png) no-repeat\r\n}\r\n\r\n#filter .type3 a:link b, #filter .type3 a:visited b {\r\n\tbackground-position: -56px 0\r\n}\r\n\r\n#filter .type3 a:hover b, #filter .type3 a:active b, #filter .type3 a.selected:link b,\r\n\t#filter .type3 a.selected:visited b {\r\n\tbackground-position: -70px -14px\r\n}\r\n\r\n* html #filter .type3 b {\r\n\ttop: 5px\r\n}\r\n\r\n#filter .list-cutover {\r\n\tfloat: right;\r\n\twidth: 134px;\r\n\theight: 26px\r\n}\r\n\r\n#filter .list-cutover a {\r\n\tfloat: right;\r\n\tposition: relative;\r\n\twidth: 29px;\r\n\theight: 12px;\r\n\tpadding: 6px 0 6px 31px;\r\n\tborder: 1px solid #ccc;\r\n\tmargin-left: 5px;\r\n\tbackground: #FFF;\r\n\tline-height: 14px;\r\n\tcolor: #333\r\n}\r\n\r\n#filter .list-cutover b {\r\n\tposition: absolute;\r\n\tleft: 4px;\r\n\ttop: 5px;\r\n\tdisplay: block;\r\n\twidth: 20px;\r\n\theight: 15px;\r\n\tbackground: url(../images/20130606B.png) no-repeat\r\n}\r\n\r\n#filter .list-cutover a.grid-unselected b {\r\n\tbackground-position: -21px -16px\r\n}\r\n\r\n#filter .list-cutover a.grid-curr, #filter .list-cutover a.grid-unselected:hover\r\n\t{\r\n\tbackground: #F7F7F7\r\n}\r\n\r\n#filter .list-cutover a.grid-curr b, #filter .list-cutover a.grid-unselected:hover b\r\n\t{\r\n\tbackground-position: 0 -16px\r\n}\r\n\r\n#filter .list-cutover a.shop-unselected b {\r\n\tbackground-position: -21px 0\r\n}\r\n\r\n#filter .list-cutover a.shop-curr, #filter .list-cutover a.shop-unselected:hover\r\n\t{\r\n\tbackground: #F7F7F7\r\n}\r\n\r\n#filter .list-cutover a.shop-curr b, #filter .list-cutover a.shop-unselected:hover b\r\n\t{\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#filter .list-cutover a.list-unselected b {\r\n\tbackground-position: -22px -32px\r\n}\r\n\r\n#filter .list-cutover a.list-curr, #filter .list-cutover a.list-unselected:hover\r\n\t{\r\n\tbackground: #F7F7F7\r\n}\r\n\r\n#filter .list-cutover a.list-curr b, #filter .list-cutover a.list-unselected:hover b\r\n\t{\r\n\tbackground-position: 1px -32px\r\n}\r\n\r\n#filter .list-cutover a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n* html #filter .order dd {\r\n\tline-height: 26px\r\n}\r\n\r\n* html #filter .instock b, * html #filter .type b {\r\n\ttop: 5px\r\n}\r\n\r\n#price-filter {\r\n\tposition: relative;\r\n\theight: 25px;\r\n\tpadding-left: 50px;\r\n\tline-height: 25px\r\n}\r\n\r\n#price-filter span {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 6px;\r\n\tdisplay: block;\r\n\theight: 14px;\r\n\tpadding-left: 20px;\r\n\tborder-left: 1px solid #FED690;\r\n\tline-height: 14px\r\n}\r\n\r\n#price-filter .text-box {\r\n\twidth: 43px;\r\n\theight: 21px;\r\n\tmargin: 0;\r\n\tborder: 1px solid #EED97C;\r\n\tbackground: #fff;\r\n\tline-height: 21px;\r\n\tvertical-align: top\r\n}\r\n\r\n#price-filter .btn {\r\n\twidth: 43px;\r\n\theight: 25px;\r\n\tborder: 0;\r\n\tbackground: url(i/btn2011101701.jpg) no-repeat -44px 0;\r\n\tline-height: 25px;\r\n\tcursor: default;\r\n\tcolor: #ccc\r\n}\r\n\r\n#price-filter .btn-fixed {\r\n\tbackground-position: 0 0;\r\n\tcursor: pointer;\r\n\tcolor: #333\r\n}\r\n\r\n.plist-msg {\r\n\theight: 18px;\r\n\tmargin: -10px 0 10px;\r\n\tline-height: 18px\r\n}\r\n\r\n.plist-msg a:visited, .plist-msg a:link {\r\n\tfont-family: \\5b8b\\4f53;\r\n\tcolor: #005AA0\r\n}\r\n\r\n* html .plist-msg {\r\n\tposition: relative;\r\n\tz-index: 1\r\n}\r\n\r\n.loading-in {\r\n\tposition: absolute;\r\n\tz-index: 5;\r\n\twidth: 100%;\r\n\theight: 30px;\r\n\tline-height: 30px;\r\n\tborder: 1px solid #EDD28B;\r\n\tbackground: #FFFDEE\r\n}\r\n\r\n.loading-in div {\r\n\twidth: 150px;\r\n\theight: 30px;\r\n\tpadding-left: 48px;\r\n\tmargin: 0 auto;\r\n\tbackground: url(../images/loading-jd.gif)\r\n\t\tno-repeat;\r\n\ttext-align: left;\r\n\tcolor: #f60\r\n}\r\n\r\n#plist, #plist .list-h {\r\n\tposition: relative;\r\n\toverflow: visible;\r\n\tz-index: 2\r\n}\r\n\r\n#plist li {\r\n\twidth: 220px;\r\n\tpadding: 20px 13px 0;\r\n\tfont-family: arial, \\5b8b\\4f53;\r\n\tborder-bottom: 0px dotted #ddd\r\n}\r\n\r\n#plist .p-img {\r\n\tposition: relative;\r\n\theight: 160px;\r\n\tborder: 1px solid #fff;\r\n\ttransition: border .3s ease-in 0s;\r\n\ttext-align: center\r\n}\r\n\r\n#plist .p-price {\r\n\tmargin-top: 5px;\r\n\theight: 22px\r\n}\r\n\r\n#plist .p-price em {\r\n\tfloat: left;\r\n\tcolor: #E4393C;\r\n\tfont-size: 11px\r\n}\r\n\r\n#plist .p-price strong {\r\n\tfloat: left;\r\n\tmargin-right: 5px;\r\n\tfont-family: verdana;\r\n\tfont-size: 14px;\r\n\tcolor: #E4393C\r\n}\r\n\r\n#plist .p-price i.prebuy-num {\r\n\tfont-style: normal;\r\n\tfont-size: 12px\r\n}\r\n\r\n#plist .p-name a:link, #plist .p-name a:visited {\r\n\tcolor: #666\r\n}\r\n\r\n#plist .p-name a:hover {\r\n\tcolor: #E4393C\r\n}\r\n\r\n#plist .p-name a .adwords {\r\n\tmargin-left: 5px;\r\n\tcolor: red\r\n}\r\n\r\n#plist .p-name a .personal-icon {\r\n\tdisplay: inline-block;\r\n\twidth: 45px;\r\n\theight: 16px;\r\n\tpadding: 1px 4px 0 3px;\r\n\tbackground: url(i/2013101001.gif) no-repeat;\r\n\ttext-align: left;\r\n\tfont: 400 12px/14px arial;\r\n\tcolor: #FFF\r\n}\r\n\r\n#plist .p-name strong {\r\n\tfont-weight: 700;\r\n\tcolor: #c00\r\n}\r\n\r\n#plist .service {\r\n\tmargin-top: 5px;\r\n\theight: 18px;\r\n\toverflow: hidden;\r\n\tline-height: 18px\r\n}\r\n\r\n#plist .service a {\r\n\tdisplay: inline-block;\r\n\tmax-width: 170px;\r\n\toverflow: hidden;\r\n\tline-height: 18px;\r\n\theight: 18px;\r\n\tvertical-align: bottom;\r\n\t*vertical-align: baseline;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap;\r\n\tword-wrap: normal\r\n}\r\n\r\n#plist .extra {\r\n\tmargin-top: 5px;\r\n\tpadding: 2px 0;\r\n\theight: 16px;\r\n\tline-height: 16px;\r\n\toverflow: hidden;\r\n\tfont-family: verdana\r\n}\r\n\r\n#plist .extra {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#plist .extra a:link, #plist .extra a:visited {\r\n\tfloat: left;\r\n\tcolor: #005aa0\r\n}\r\n\r\n#plist .p-summary {\r\n\tdisplay: none\r\n}\r\n\r\n#plist .reputation {\r\n\tdisplay: inline;\r\n\tcolor: #1A8705\r\n}\r\n\r\n#plist .btns {\r\n\theight: 24px;\r\n\tmargin-top: 10px;\r\n\ttext-align: center;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#plist .p-shopnum {\r\n\theight: 20px;\r\n\tmargin: 2px 0 5px;\r\n\tline-height: 20px;\r\n\tfont-family: verdana;\r\n\tcolor: #333\r\n}\r\n\r\n#plist .p-shopnum a {\r\n\tcolor: #005AA0\r\n}\r\n\r\n#plist .p-shopnum span {\r\n\tpadding-right: .5em;\r\n\tpadding-left: .5em;\r\n\tcolor: #E4393C\r\n}\r\n\r\n.btns .ehaoyao, #plist .btns input {\r\n\tfloat: left;\r\n\twidth: 50px;\r\n\theight: 22px;\r\n\tmargin-right: 4px;\r\n\tline-height: 21px;\r\n\ttext-align: center;\r\n\tvertical-align: middle;\r\n\tbackground: url(i/bg_hotsale.gif) no-repeat 0 -632px\r\n}\r\n\r\n#plist input.btn-comp {\r\n\tborder: 0;\r\n\tline-height: 20px;\r\n\tcursor: pointer\r\n}\r\n\r\n#plist a.ehaoyao {\r\n\twidth: 86px;\r\n\theight: 21px;\r\n\tpadding-left: 26px;\r\n\tline-height: 20px;\r\n\tbackground:\r\n\t\turl(../images/btn2012062502.png)\r\n\t\tno-repeat;\r\n\tcursor: pointer;\r\n\tcolor: #333\r\n}\r\n\r\n#plist .btns a.disabled {\r\n\tbackground: #fff;\r\n\tcursor: no-drop;\r\n\tcolor: #ccc\r\n}\r\n\r\n#plist a.free-download {\r\n\tfloat: left;\r\n\twidth: 67px;\r\n\theight: 21px;\r\n\tmargin-right: 4px;\r\n\tbackground: url(../images/20130415i.png) no-repeat -97px -131px;\r\n\tline-height: 20px;\r\n\ttext-align: center;\r\n\ttext-decoration: none;\r\n\tcolor: #000\r\n}\r\n\r\n#plist a.ehaoyao:hover, #plist a.notice-store:hover, #plist a.btn-coll:hover\r\n\t{\r\n\ttext-decoration: none\r\n}\r\n\r\n#plist .p-price a {\r\n\ttext-decoration: none;\r\n\tcolor: #fff\r\n}\r\n\r\n#plist .btn-buy, #plist .btns .btn-coll, #plist .btn-compare, #plist .notice-store,\r\n\t#plist-shop .go-shop, #plist .btn-panic-buying {\r\n\tfloat: left;\r\n\theight: 19px;\r\n\tpadding: 0 9px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-radius: 2px;\r\n\tmargin: 0 4px 0 0;\r\n\tbackground: #F7F7F7;\r\n\tline-height: 18px;\r\n\tline-height: 19px\\9;\r\n\ttext-align: center;\r\n\ttext-decoration: none;\r\n\tcursor: pointer;\r\n\tcolor: #333;\r\n\tbackground: -moz-linear-gradient(top, #f7f7f7, #f2f2f2);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#f7f7f7),\r\n\t\tto(#f2f2f2));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f7f7f7\",\r\n\t\tendColorstr=\"#f2f2f2\");\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#f7f7f7 \", endColorstr=\" #f2f2f2 \")\"\r\n}\r\n\r\n#plist .notice-store {\r\n\tposition: relative;\r\n\tpadding: 0 9px 0 31px\r\n}\r\n\r\n#plist .notice-store b {\r\n\tposition: absolute;\r\n\tleft: 10px;\r\n\ttop: 3px;\r\n\tdisplay: block;\r\n\twidth: 15px;\r\n\theight: 12px;\r\n\tbackground: url(i/20130428A.png) no-repeat\r\n}\r\n\r\n#plist .btn-buy:hover, #plist .btns .btn-coll:hover, #plist .notice-store:hover,\r\n\t#plist-shop .go-shop:hover, #plist .btn-panic-buying:hover {\r\n\tborder: 1px solid #ccc;\r\n\tbox-shadow: 0 1px 1px rgba(0, 1, 1, .08);\r\n\tcursor: pointer;\r\n\tcolor: #333;\r\n\tbackground: -moz-linear-gradient(top, #f9f9f9, #f6f6f6);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#f9f9f9),\r\n\t\tto(#f6f6f6));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f9f9f9\",\r\n\t\tendColorstr=\"#f6f6f6\");\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#f9f9f9 \", endColorstr=\" #f6f6f6 \")\"\r\n}\r\n\r\n#plist .btn-compare {\r\n\tposition: relative;\r\n\tpadding: 0 9px 0 25px;\r\n\tmargin-right: 0;\r\n\tcursor: pointer\r\n}\r\n\r\n#plist .btn-compare span {\r\n\tposition: absolute;\r\n\tleft: 9px;\r\n\ttop: 4px;\r\n\twidth: 11px;\r\n\theight: 11px;\r\n\tmargin-right: 0;\r\n\tbackground: url(i/20130603A.png) no-repeat -68px -50px;\r\n\tfont-size: 0\r\n}\r\n\r\n#plist .btn-compare-s-active {\r\n\tborder: 1px solid #E4393C;\r\n\tborder-radius: 2px;\r\n\tbackground: #E4393C;\r\n\tcolor: #fff;\r\n\tbackground: -moz-linear-gradient(top, #E4393C, #E4393C);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#E4393C),\r\n\t\tto(#E4393C));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#E4393C\",\r\n\t\tendColorstr=\"#E4393C\");\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#E4393C \", endColorstr=\" #E4393C \")\"\r\n}\r\n\r\n#plist .btn-compare-s-active span {\r\n\tbackground-position: -68px -62px\r\n}\r\n\r\n#plist .btn-compare:hover {\r\n\tborder: 1px solid #ccc;\r\n\tbox-shadow: 0 1px 1px rgba(0, 1, 1, .08);\r\n\tcursor: pointer;\r\n\tcolor: #333;\r\n\tbackground: -moz-linear-gradient(top, #f9f9f9, #f6f6f6);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#f9f9f9),\r\n\t\tto(#f6f6f6));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f9f9f9\",\r\n\t\tendColorstr=\"#f6f6f6\");\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#f9f9f9 \", endColorstr=\" #f6f6f6 \")\"\r\n}\r\n\r\n#plist .btn-compare-s-active:hover {\r\n\tborder: 1px solid #E4393C;\r\n\tcolor: #fff;\r\n\tbackground: -moz-linear-gradient(top, #E4393C, #E4393C);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#E4393C),\r\n\t\tto(#E4393C));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#E4393C\",\r\n\t\tendColorstr=\"#E4393C\");\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#E4393C \", endColorstr=\" #E4393C \")\"\r\n}\r\n\r\n#plist .item-book {\r\n\tposition: relative;\r\n\tzoom: 1\r\n}\r\n\r\n#plist .item-book .p-name, #plist .item-book .p-info {\r\n\toverflow: hidden\r\n}\r\n\r\n#plist .item-book .p-info {\r\n\tdisplay: none\r\n}\r\n\r\n#plist .item-book .p-info span {\r\n\tmargin: 0 10px;\r\n\tcolor: #ccc\r\n}\r\n\r\n#plist .item-book .summary {\r\n\tposition: absolute;\r\n\tright: -280px;\r\n\ttop: 0;\r\n\tz-index: 2;\r\n\tdisplay: block;\r\n\twidth: 314px;\r\n\tborder: 1px solid #ECD28B;\r\n\t-moz-box-shadow: 0 1px 4px #CCC;\r\n\t-webkit-box-shadow: 0 1px 4px #CCC;\r\n\tbox-shadow: 0 1px 4px #CCC;\r\n\tbackground: #FFFEEE\r\n}\r\n\r\n#plist .item-book .i-summary {\r\n\tposition: relative;\r\n\tmargin-top: 10px;\r\n\tzoom: 1\r\n}\r\n\r\n#plist .item-book .summary .close {\r\n\tposition: absolute;\r\n\tright: 3px;\r\n\ttop: -7px;\r\n\twidth: 19px;\r\n\theight: 19px;\r\n\tbackground: url(i/20121225C.png) no-repeat -42px 0;\r\n\tcursor: pointer\r\n}\r\n\r\n#plist .item-book .summary .arrow {\r\n\tposition: absolute;\r\n\tleft: -20px;\r\n\ttop: 30px;\r\n\twidth: 20px;\r\n\theight: 40px;\r\n\tbackground: url(i/20121225C.png) no-repeat 0 0;\r\n\tbackground: url(i/20121225C.png) no-repeat 0 0\\0;\r\n\tbackground: url(i/20121109A.gif) no-repeat \\9\\0;\r\n\t*background: url(i/20121109A.gif) no-repeat 0 0\r\n}\r\n\r\n#plist .item-book .direct-left {\r\n\tleft: -280px\r\n}\r\n\r\n#plist .item-book .direct-left .arrow {\r\n\tleft: 314px;\r\n\tbackground-position: -21px 0\r\n}\r\n\r\n#plist .item-book .summary .img {\r\n\twidth: 280px;\r\n\theight: 280px;\r\n\tpadding: 0 6px;\r\n\tborder: 1px solid #FFE7BD;\r\n\tbackground: #fff;\r\n\tmargin: 4px auto 8px\r\n}\r\n\r\n#plist .item-book .summary .text {\r\n\tpadding: 0 5px 8px\r\n}\r\n\r\n#plist .item-book td {\r\n\ttext-align: left;\r\n\tpadding: 1px 5px\r\n}\r\n\r\n#plist .item-book .summary .iloading {\r\n\tmargin: 120px auto 135px;\r\n\ttext-align: left\r\n}\r\n\r\n#plist .item-book .summary .carrier {\r\n\tfloat: left;\r\n\theight: 36px;\r\n\tline-height: 18px\r\n}\r\n\r\n#plist .item-book .summary .pc, #plist .item-book .summary .iphone,\r\n\t#plist .item-book .summary .android, #plist .item-book .summary .ipad {\r\n\tfloat: left;\r\n\theight: 36px;\r\n\tmargin-right: 5px;\r\n\tbackground: url(i/20121108B.gif) no-repeat\r\n}\r\n\r\n#plist .item-book .summary .pc {\r\n\twidth: 22px;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#plist .item-book .summary .iphone {\r\n\twidth: 27px;\r\n\tbackground-position: -23px 0\r\n}\r\n\r\n#plist .item-book .summary .android {\r\n\twidth: 32px;\r\n\tbackground-position: -51px 0\r\n}\r\n\r\n#plist .item-book .summary .ipad {\r\n\twidth: 20px;\r\n\tbackground-position: -84px 0\r\n}\r\n\r\n#plist .stocklist {\r\n\tmargin-top: 5px\r\n}\r\n\r\n#plist .item-book .p-price i, #plist .item-book .p-market, #plist .item-book .ebook-price,\r\n\t#plist .item-book .discount {\r\n\tdisplay: none\r\n}\r\n\r\n.plist-book .list-h, .plist-book .list-h dl {\r\n\tfloat: none\r\n}\r\n\r\n#plist.plist-book li {\r\n\tposition: relative;\r\n\toverflow: hidden;\r\n\twidth: 444px;\r\n\theight: 180px;\r\n\tpadding: 20px 130px 0 180px\r\n}\r\n\r\n#plist.plist-book .p-name {\r\n\tposition: absolute;\r\n\tleft: 180px;\r\n\ttop: 20px;\r\n\twidth: 444px;\r\n\theight: 20px;\r\n\tfont-size: 14px;\r\n\tfont-weight: 700\r\n}\r\n\r\n#plist.plist-book .p-img {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 20px;\r\n\twidth: 160px;\r\n\theight: 160px;\r\n\tpadding: 0 20px 0 0;\r\n\tborder: 0\r\n}\r\n\r\n#plist.plist-book .p-img:hover {\r\n\tborder: 0\r\n}\r\n\r\n#plist.plist-book .p-price {\r\n\tposition: absolute;\r\n\tleft: 180px;\r\n\ttop: 45px;\r\n\twidth: 443px;\r\n\theight: 22px;\r\n\tpadding-bottom: 10px;\r\n\tborder-bottom: 1px dotted #bbb;\r\n\tmargin-top: 0;\r\n\tline-height: 22px;\r\n\tfont-family: verdana;\r\n\tcolor: #333\r\n}\r\n\r\n#plist.plist-book .p-price em {\r\n\tfloat: none;\r\n\tfont-size: 14px\r\n}\r\n\r\n#plist.plist-book .p-price strong {\r\n\tfloat: none\r\n}\r\n\r\n#plist.plist-book .p-price span {\r\n\tfloat: none;\r\n\tdisplay: none\r\n}\r\n\r\n#plist.plist-book .p-price i {\r\n\tfont-style: normal;\r\n\tdisplay: inline\r\n}\r\n\r\n#plist.plist-book .p-price span.discount {\r\n\tdisplay: inline\r\n}\r\n\r\n#plist.plist-book .p-market {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tleft: 376px;\r\n\ttop: 45px;\r\n\twidth: 105px;\r\n\theight: 22px;\r\n\tline-height: 22px;\r\n\tfont-family: verdana\r\n}\r\n\r\n#plist.plist-book .ebook-price {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tleft: 481px;\r\n\ttop: 45px;\r\n\twidth: 200px;\r\n\theight: 22px;\r\n\tline-height: 22px\r\n}\r\n\r\n#plist.plist-book .ebook-price a {\r\n\tfont-family: verdana;\r\n\tcolor: #005EA7\r\n}\r\n\r\n#plist.plist-book .discount {\r\n\tdisplay: inline;\r\n\tcolor: #c00\r\n}\r\n\r\n#plist.plist-book .stocklist {\r\n\tposition: absolute;\r\n\tleft: 376px;\r\n\ttop: 115px;\r\n\twidth: 105px;\r\n\tmargin-top: 0\r\n}\r\n\r\n#plist.plist-book .service {\r\n\tposition: absolute;\r\n\tleft: 480px;\r\n\ttop: 115px;\r\n\twidth: 140px;\r\n\theight: 18px;\r\n\tmargin-top: 0\r\n}\r\n\r\n#plist.plist-book .service a {\r\n\tcolor: #005AA0\r\n}\r\n\r\n#plist.plist-book .p-info {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 89px;\r\n\tleft: 180px;\r\n\twidth: 403px;\r\n\theight: 18px\r\n}\r\n\r\n#plist.plist-book .p-info a:link, #plist.plist-book .p-info a:visited {\r\n\tcolor: #005AA0\r\n}\r\n\r\n#plist.plist-book .extra {\r\n\tposition: absolute;\r\n\tleft: 180;\r\n\ttop: 115px;\r\n\twidth: 195px;\r\n\theight: 18px;\r\n\tpadding: 0;\r\n\tmargin: 0;\r\n\tline-height: 18px\r\n}\r\n\r\n#plist.plist-book .p-summary {\r\n\tposition: absolute;\r\n\tleft: 180px;\r\n\ttop: 140px;\r\n\tdisplay: block;\r\n\twidth: 444px;\r\n\theight: 3em;\r\n\tline-height: 1.5em;\r\n\tword-wrap: break-word;\r\n\tcolor: #999\r\n}\r\n\r\n#plist.plist-book .p-summary a {\r\n\tposition: relative;\r\n\tmargin-left: 5px\r\n}\r\n\r\n#plist.plist-book .btns {\r\n\tposition: absolute;\r\n\tright: 10px;\r\n\ttop: 44px;\r\n\twidth: 100px;\r\n\theight: 70px\r\n}\r\n\r\n#plist.plist-book .btns a.btn-buy, #plist.plist-book .btns a.notice-store,\r\n\t#plist.plist-book .btns a.btn-coll, #plist.plist-book .btns a.btn-panic-buying\r\n\t{\r\n\theight: 14px;\r\n\tpadding: 6px 0 5px;\r\n\tline-height: 14px\r\n}\r\n\r\n#plist.plist-book .btns a.btn-buy {\r\n\twidth: 90px;\r\n\tmargin-bottom: 10px;\r\n\ttext-align: center\r\n}\r\n\r\n#plist.plist-book .btns a.btn-panic-buying {\r\n\twidth: 78px;\r\n\tmargin-bottom: 10px;\r\n\ttext-align: center\r\n}\r\n\r\n#plist.plist-book .btns a.disabled {\r\n\tbackground: #fff;\r\n\tcursor: no-drop;\r\n\tcolor: #ccc\r\n}\r\n\r\n#plist.plist-book .btns a.free-download {\r\n\twidth: 77px;\r\n\theight: 14px;\r\n\tpadding: 6px 0 5px;\r\n\tmargin-bottom: 10px;\r\n\tbackground-position: -165px -152px;\r\n\tline-height: 14px\r\n}\r\n\r\n#plist.plist-book .btns a.notice-store {\r\n\twidth: 56px;\r\n\tpadding-left: 34px;\r\n\tmargin-bottom: 10px;\r\n\ttext-align: left\r\n}\r\n\r\n#plist.plist-book .btns a.notice-store b {\r\n\ttop: 7px\r\n}\r\n\r\n#plist.plist-book .btns a.btn-coll {\r\n\twidth: 53px;\r\n\ttext-align: center\r\n}\r\n\r\n#plist.plist-book .summary {\r\n\tdisplay: none\r\n}\r\n\r\n#plist.plist-book .p-name, #plist.plist-book .p-price, #plist.plist-book .p-market,\r\n\t#plist.plist-book .ebook-price, #plist.plist-book .service, #plist.plist-book .p-info,\r\n\t#plist.plist-book .extra, #plist.plist-book .p-summary {\r\n\toverflow: hidden\r\n}\r\n\r\n#plist.plist-book .p-shopnum {\r\n\tposition: absolute;\r\n\tleft: 180px;\r\n\ttop: 174px\r\n}\r\n\r\n#plist.plist-book .pop-seller {\r\n\ttop: 135px\r\n}\r\n\r\n#plist.plist-book #scroll_loading div {\r\n\tmargin: 0 auto\r\n}\r\n\r\n#scroll_loading div {\r\n\tmargin: 100px auto;\r\n\ttext-align: center\r\n}\r\n\r\n#scroll_loading b {\r\n\tbackground: url(../images/loading-jd.gif)\r\n\t\tno-repeat 50% 50%;\r\n\tdisplay: none;\r\n\twidth: 43px;\r\n\theight: 24px;\r\n\tmargin: 0 auto 5px\r\n}\r\n\r\n#plist .p-img:hover {\r\n\tborder-radius: 1px;\r\n\tborder: 1px solid #ddd\r\n}\r\n\r\n#plist.plist-n7a .p-img {\r\n\theight: 220px\r\n}\r\n\r\n.st5, .st33, .st39, .st40 {\r\n\tcolor: #333\r\n}\r\n\r\n.st0, .st18, .st34 {\r\n\tcolor: #c00\r\n}\r\n\r\n.st36, .st0 b, .st5 b, .st18 b, .st33 b, .st34 b, .st36 b, .st39 b,\r\n\t.st40 b {\r\n\tfont-weight: 400;\r\n\tcolor: #f60\r\n}\r\n\r\n.svote {\r\n\tposition: relative;\r\n\tleft: 605px;\r\n\tbottom: -54px;\r\n\toverflow: hidden;\r\n\twidth: 160px;\r\n\theight: 14px\r\n}\r\n\r\n.svote span {\r\n\theight: 14px;\r\n\tbackground: url(../images/20130606B.png) no-repeat -64px -44px;\r\n\tpadding-left: 25px;\r\n\tfont: 400 12px/14px \\5b8b\\4f53\r\n}\r\n\r\n.svote a:link, .svote a:visited {\r\n\tcolor: #005EA7\r\n}\r\n\r\n#plist .extra span, #shop-choice .extra span {\r\n\tfloat: left;\r\n\toverflow: hidden;\r\n\theight: 15px\r\n}\r\n\r\n.star {\r\n\tmargin-right: 5px\r\n}\r\n\r\n.star .star-white {\r\n\twidth: 76px;\r\n\tbackground: url(../images/20130606B.png) no-repeat 0 -70px\r\n}\r\n\r\n.star .star-yellow {\r\n\tposition: relative;\r\n\tz-index: 1;\r\n\tbackground: url(../images/20130606B.png) #fff no-repeat 0 -86px\r\n}\r\n\r\n.star .h0 {\r\n\twidth: 100%\r\n}\r\n\r\n.star .h1 {\r\n\twidth: 15px\r\n}\r\n\r\n.star .h2 {\r\n\twidth: 30px\r\n}\r\n\r\n.star .h3 {\r\n\twidth: 45px\r\n}\r\n\r\n.star .h4 {\r\n\twidth: 60px\r\n}\r\n\r\n.star .h5 {\r\n\twidth: 76px\r\n}\r\n\r\n#notfound {\r\n\tposition: relative;\r\n\tmargin-left: 200px;\r\n\tpadding: 40px 0 50px;\r\n\tfont-family: verdana, \\5b8b\\4f53;\r\n\tfont-size: 14px\r\n}\r\n\r\n#notfound h2 {\r\n\tmargin-bottom: 25px;\r\n\tfont: 500 24px/20px \\5fae\\8f6f\\96c5\\9ed1\r\n}\r\n\r\n#notfound h3 {\r\n\tline-height: 3;\r\n\tfont-size: 12px\r\n}\r\n\r\n#notfound li {\r\n\tpadding: 0;\r\n\tline-height: 1.8;\r\n\ttext-align: left;\r\n\tfont-size: 12px\r\n}\r\n\r\n#notfound b {\r\n\tposition: absolute;\r\n\tleft: -52px;\r\n\ttop: 38px;\r\n\tz-index: 1;\r\n\tdisplay: block;\r\n\twidth: 32px;\r\n\theight: 29px;\r\n\tbackground-position: 0 -337px;\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#notfound a:link, #notfound a:visited {\r\n\tcolor: #005AA0\r\n}\r\n\r\n#notfound a:hover {\r\n\ttext-decoration: underline\r\n}\r\n\r\n#re-search {\r\n\tpadding: 20px 0;\r\n\tbackground: #F6F6F6\r\n}\r\n\r\n#re-search dl {\r\n\twidth: 530px;\r\n\tmargin-left: 40px;\r\n\toverflow: hidden\r\n}\r\n\r\n#re-search dt {\r\n\tfloat: left;\r\n\twidth: 70px;\r\n\ttext-align: center;\r\n\tfont: 400 15px/32px \\5fae\\8f6f\\96c5\\9ed1\r\n}\r\n\r\n#re-search dd {\r\n\tfloat: right;\r\n\tposition: relative;\r\n\twidth: 372px;\r\n\theight: 32px;\r\n\tpadding-right: 83px\r\n}\r\n\r\n#re-search .text {\r\n\twidth: 360px;\r\n\theight: 20px;\r\n\tborder: 1px solid #ccc;\r\n\tpadding: 5px;\r\n\tmargin-right: 5px;\r\n\tbackground: #fff;\r\n\tline-height: 20px;\r\n\tcolor: #999\r\n}\r\n\r\n#re-search .text:hover {\r\n\tborder-color: #a0a0a0 #b9b9b9 #b9b9b9\r\n}\r\n\r\n#re-search .button {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tright: 0;\r\n\toverflow: hidden;\r\n\twidth: 78px;\r\n\theight: 32px;\r\n\tborder-radius: 3px;\r\n\tbackground: #E4393C;\r\n\ttext-align: center;\r\n\tfont-weight: 700;\r\n\tfont-size: 14px;\r\n\tline-height: 32px;\r\n\tcursor: pointer;\r\n\tcolor: #fff\r\n}\r\n\r\n#related-buy .more {\r\n\theight: 30px;\r\n\tline-height: 28px;\r\n\tpadding-right: 8px;\r\n\ttext-align: right\r\n}\r\n\r\n#related-buy .more a:link, #related-buy .more a:visited {\r\n\ttext-decoration: none;\r\n\tcolor: #005EA7\r\n}\r\n\r\n#related-buy .more a:hover {\r\n\ttext-decoration: underline\r\n}\r\n\r\n#selling-hot .rate {\r\n\ttext-align: center\r\n}\r\n\r\n#selling-hot .evaluate, #selling-hot .evaluate a:link, #selling-hot .evaluate a:visited\r\n\t{\r\n\tcolor: #005aa0\r\n}\r\n\r\n.pi1, .pi2, .pi3, .pi4, .pi5, .pi6, .pi7, .pi8, .pi9, .pi10, .pi11,\r\n\t.pi12 {\r\n\tposition: absolute;\r\n\twidth: 52px;\r\n\theight: 53px;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tbackground: url(i/20130606A.png) no-repeat;\r\n\t_background-image: url(i/20130416i.gif)\r\n}\r\n\r\n.pi1 {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.pi2 {\r\n\tbackground-position: -53px 0\r\n}\r\n\r\n.pi3 {\r\n\tbackground-position: -106px 0\r\n}\r\n\r\n.pi4 {\r\n\tbackground-position: -212px 0\r\n}\r\n\r\n.pi5 {\r\n\tbackground-position: -265px 0\r\n}\r\n\r\n.pi6 {\r\n\tbackground-position: 0 -55px\r\n}\r\n\r\n.pi7 {\r\n\tbackground-position: -159px -55px\r\n}\r\n\r\n.pi8 {\r\n\tbackground-position: -53px -55px\r\n}\r\n\r\n.pi9 {\r\n\tbackground-position: -159px 0\r\n}\r\n\r\n.pi10 {\r\n\tbackground-position: -265px -55px\r\n}\r\n\r\n.pi11 {\r\n\tbackground-position: -106px -55px\r\n}\r\n\r\n.pi12 {\r\n\tbackground-position: -212px -55px\r\n}\r\n\r\n.pi14, .pi16, .pi17, .pi20, .pi21, .pi22, .pi23, .pi24, .pi25, .pi26,\r\n\t.pi27, .pi29, .pi30, .pi32, .pi33, .pi34, .pi36, .pi38, .pi39, .pi40,\r\n\t.pi-ebook, .pi-dmusic {\r\n\tposition: absolute;\r\n\tright: 0;\r\n\ttop: 0;\r\n\twidth: 55px;\r\n\theight: 60px;\r\n\tbackground-position: right 0;\r\n\tbackground-repeat: none\r\n}\r\n\r\n.pi14 {\r\n\tbackground-image: url(i/icon20111013.png)\r\n}\r\n\r\n.pi16 {\r\n\tbackground-image: url(i/icon2012010902.png);\r\n\twidth: 57px;\r\n\theight: 71px\r\n}\r\n\r\n.pi17 {\r\n\tbackground-image: url(i/20120202A.png);\r\n\twidth: 61px;\r\n\theight: 75px\r\n}\r\n\r\n.pi20 {\r\n\tbackground-image: url(i/20120418C.png);\r\n\twidth: 54px\r\n}\r\n\r\n.pi21 {\r\n\tbackground-image: url(i/i2012051501.png);\r\n\ttop: 8px;\r\n\theight: 44px\r\n}\r\n\r\n.pi22 {\r\n\tbackground-image: url(i/20130614B.png);\r\n\twidth: 52px;\r\n\theight: 53px\r\n}\r\n\r\n.pi23 {\r\n\tbackground-image: url(i/20130604A.png);\r\n\twidth: 52px;\r\n\theight: 53px\r\n}\r\n\r\n.pi24 {\r\n\tbackground-image: url(i/20130624A.png);\r\n\twidth: 52px;\r\n\theight: 53px\r\n}\r\n\r\n.pi25 {\r\n\tbackground-image: url(i/i2012060702.png)\r\n}\r\n\r\n.pi26 {\r\n\tbackground-image: url(i/i2012061501.png)\r\n}\r\n\r\n.pi27 {\r\n\tbackground-image: url(i/i2012062801.png)\r\n}\r\n\r\n.pi29 {\r\n\tbackground-image: url(i/20130624B.png);\r\n\twidth: 52px;\r\n\theight: 53px\r\n}\r\n\r\n.pi30 {\r\n\tbackground-image: url(i/20120806A.png)\r\n}\r\n\r\n.pi32 {\r\n\tbackground-image: url(i/20121030A.png)\r\n}\r\n\r\n.pi33 {\r\n\tbackground-image: url(i/20121030B.png)\r\n}\r\n\r\n.pi34 {\r\n\tbackground-image: url(i/20121129B.png);\r\n\twidth: 53px;\r\n\theight: 55px\r\n}\r\n\r\n.pi36 {\r\n\tbackground-image: url(i/20130514A.png);\r\n\twidth: 52px;\r\n\theight: 53px\r\n}\r\n\r\n.pi38 {\r\n\tbackground-image: url(i/20130425A.png);\r\n\twidth: 52px;\r\n\theight: 53px\r\n}\r\n\r\n.pi39 {\r\n\tbackground-image: url(i/20130508A.png);\r\n\twidth: 52px;\r\n\theight: 53px\r\n}\r\n\r\n.pi40 {\r\n\tbackground-image: url(i/20130614B.png);\r\n\twidth: 52px;\r\n\theight: 53px\r\n}\r\n\r\n* html .pi14 {\r\n\tbackground-image: url(i/icon20111013.gif)\r\n}\r\n\r\n* html .pi16 {\r\n\tbackground-image: url(i/icon2012010902.gif)\r\n}\r\n\r\n* html .pi17 {\r\n\tbackground-image: url(i/20120202A.gif)\r\n}\r\n\r\n* html .pi20 {\r\n\tbackground-image: url(i/20120418C.gif)\r\n}\r\n\r\n* html .pi21 {\r\n\tbackground-image: url(i/i2012051501.gif)\r\n}\r\n\r\n* html .pi25 {\r\n\tbackground-image: url(i/i2012060702.gif)\r\n}\r\n\r\n* html .pi26 {\r\n\tbackground-image: url(i/i2012061501.gif)\r\n}\r\n\r\n* html .pi27 {\r\n\tbackground-image: url(i/i2012062801.gif)\r\n}\r\n\r\n* html .pi30 {\r\n\tbackground-image: url(i/20120806A.gif)\r\n}\r\n\r\n* html .pi32 {\r\n\tbackground-image: url(i/20121030A.gif)\r\n}\r\n\r\n* html .pi33 {\r\n\tbackground-image: url(i/20121030B.gif)\r\n}\r\n\r\n* html .pi34 {\r\n\tbackground-image: url(i/20121129B.gif)\r\n}\r\n\r\n.picon {\r\n\tposition: absolute;\r\n\toverflow: hidden;\r\n\twidth: 52px;\r\n\theight: 53px;\r\n\ttop: 0;\r\n\tright: 0\r\n}\r\n\r\n.picon b {\r\n\tdisplay: block;\r\n\twidth: 317px;\r\n\theight: 108px;\r\n\tbackground: url(i/20130606A.png) no-repeat;\r\n\t_background-image: none;\r\n\t_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/20130606A.png',\r\n\t\tsizingMethod='noscale')\r\n}\r\n\r\n.pi1 b {\r\n\tmargin-left: 0\r\n}\r\n\r\n.pi2 b {\r\n\tmargin-left: -53px\r\n}\r\n\r\n.pi3 b {\r\n\tmargin-left: -106px\r\n}\r\n\r\n.pi4 b {\r\n\tmargin-left: -212px\r\n}\r\n\r\n.pi5 b {\r\n\tmargin-left: -265px\r\n}\r\n\r\n.pi6 b {\r\n\tmargin-top: -55px\r\n}\r\n\r\n.pi7 b {\r\n\tmargin: -55px 0 0 -159px\r\n}\r\n\r\n.pi8 b {\r\n\tmargin: -55px 0 0 -53px\r\n}\r\n\r\n.pi9 b {\r\n\tmargin-left: -159px\r\n}\r\n\r\n.pi10 b {\r\n\tmargin: -55px 0 0 -265px\r\n}\r\n\r\n.pi11 b {\r\n\tmargin: -55px 0 0 -106px\r\n}\r\n\r\n.pi12 b {\r\n\tmargin: -55px 0 0 -212px\r\n}\r\n\r\n.pi-ebook {\r\n\tbackground-image: url(i/icon2012030201.png);\r\n\t_background-image: none;\r\n\t_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/icon2012030201.png',\r\n\t\tsizingMethod='noscale');\r\n\twidth: 50px;\r\n\theight: 50px\r\n}\r\n\r\n.pi-dmusic {\r\n\tbackground-image: url(i/20121211A.png);\r\n\t_background-image: none;\r\n\t_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/20121211A.png',\r\n\t\tsizingMethod='noscale');\r\n\twidth: 50px;\r\n\theight: 50px\r\n}\r\n\r\n.pt1, .pt2, .pt3, .pt4, .pt5, .pt6, .pt7, .pt8 {\r\n\tfloat: left;\r\n\tdisplay: inline-block;\r\n\toverflow: hidden;\r\n\theight: 14px;\r\n\tpadding: 1px 2px;\r\n\tmargin: 0 2px;\r\n\tmargin-bottom: -3px;\r\n\t*margin-bottom: 12px;\r\n\tbackground: #E4393C;\r\n\tline-height: 14px;\r\n\ttext-align: center;\r\n\tfont-size: 12px;\r\n\tcolor: #fff\r\n}\r\n\r\n.pt5 {\r\n\twidth: 59px;\r\n\theight: 16px;\r\n\tpadding: 0;\r\n\tmargin: 0;\r\n\tbackground: url(i/2013052701.png) no-repeat;\r\n\ttext-indent: -9999em;\r\n\tline-height: 100px;\r\n\tfont-size: 0\r\n}\r\n\r\n.pt6 {\r\n\twidth: 70px;\r\n\theight: 16px;\r\n\tpadding: 0;\r\n\tmargin: 0;\r\n\tbackground: url(i/plist-price-icon-pt6.png) no-repeat;\r\n\ttext-indent: -9999em;\r\n\tline-height: 100px;\r\n\tfont-size: 0\r\n}\r\n\r\n.pt7 {\r\n\twidth: 70px;\r\n\theight: 16px;\r\n\tpadding: 0;\r\n\tmargin: 0;\r\n\tbackground: url(i/plist-price-icon-pt7.png) no-repeat;\r\n\ttext-indent: -9999em;\r\n\tline-height: 100px;\r\n\tfont-size: 0\r\n}\r\n\r\n.pt8 {\r\n\twidth: 70px;\r\n\theight: 16px;\r\n\tpadding: 0;\r\n\tmargin: 0;\r\n\tbackground: url(i/plist-price-icon-pt8.png) no-repeat;\r\n\ttext-indent: -9999em;\r\n\tline-height: 100px;\r\n\tfont-size: 0\r\n}\r\n\r\n#plist.plist-n7 li {\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n#plist.plist-n7 li.hover {\r\n\tz-index: 2\r\n}\r\n\r\n#plist.plist-n7 .p-img {\r\n\theight: 220px;\r\n\tpadding: 10px 0 5px;\r\n\tborder: 0\r\n}\r\n\r\n* html #plist.plist-n7 .p-img {\r\n\tborder: 0\r\n}\r\n\r\n#plist.plist-n7 .p-name, #plist.plist-n7 .p-info, #plist.plist-n7 .p-price,\r\n\t#plist.plist-n7 .stocklist, #plist.plist-n7 .extra, #plist.plist-n7 .btns\r\n\t{\r\n\tpadding-left: 0;\r\n\ttext-align: left\r\n}\r\n\r\n#plist.plist-n7 .stocklist {\r\n\twidth: auto;\r\n\tborder: 0;\r\n\tbackground: 0 0\r\n}\r\n\r\n#plist.plist-n7 .p-price, #plist.plist-n7 .p-price em {\r\n\tfont-family: verdana;\r\n\tfont-size: 14px\r\n}\r\n\r\n#plist.plist-n7 .p-price del {\r\n\tdisplay: none\r\n}\r\n\r\n.p-scroll-btn, .product-follow a s {\r\n\tbackground-image: url(../images/20130606B.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n.p-scroll {\r\n\theight: 29px;\r\n\tmargin-bottom: 10px;\r\n\toverflow: hidden;\r\n\t*zoom: 1\r\n}\r\n\r\n.p-scroll-btn {\r\n\tfloat: left;\r\n\tdisplay: none;\r\n\twidth: 16px;\r\n\theight: 29px;\r\n\ttext-indent: -9999px\r\n}\r\n\r\n.p-scroll-prev {\r\n\tmargin-right: 2px;\r\n\tbackground-position: 0 -126px\r\n}\r\n\r\n.p-scroll-next {\r\n\tbackground-position: -17px -126px\r\n}\r\n\r\n.p-scroll-prev.disabled {\r\n\tbackground-position: -34px -126px;\r\n\tcursor: not-allowed\r\n}\r\n\r\n.p-scroll-next.disabled {\r\n\tbackground-position: -51px -126px;\r\n\tcursor: not-allowed\r\n}\r\n\r\n.p-scroll-wrap {\r\n\tfloat: left;\r\n\twidth: 186px;\r\n\theight: 29px;\r\n\toverflow: hidden\r\n}\r\n\r\n.p-scroll-wrap li, .p-scroll-wrap li a {\r\n\tfloat: left\r\n}\r\n\r\n.p-scroll-wrap li a {\r\n\tpadding: 1px;\r\n\tborder: 1px solid #ddd;\r\n\ttransition: border .3s ease-in 0s\r\n}\r\n\r\n.p-scroll-wrap li a img {\r\n\twidth: 25px;\r\n\theight: 25px\r\n}\r\n\r\n.p-scroll-wrap li a.curr {\r\n\tborder: 1px solid #E4393C\r\n}\r\n\r\n#plist .p-price {\r\n\theight: 20px;\r\n\toverflow: hidden;\r\n\t*zoom: 1\r\n}\r\n\r\n#plist.plist-n7 .list-h li {\r\n\twidth: 224px;\r\n\tpadding: 1px 11px 0;\r\n\theight: 400px;\r\n\tborder-bottom: 1px dotted #ddd\r\n}\r\n\r\n#plist.plist-n7 .list-h li.hover {\r\n\tposition: relative;\r\n\tpadding: 0 10px;\r\n\tborder: 1px solid #ddd;\r\n\t-moz-box-shadow: 0 0 8px #ddd;\r\n\t-webkit-box-shadow: 0 0 8px rgba(0, 0, 0, .12);\r\n\tbox-shadow: 0 0 8px rgba(0, 0, 0, .12)\r\n}\r\n\r\n#plist.plist-n7 .p-scroll-wrap li {\r\n\twidth: 31px;\r\n\tpadding: 0;\r\n\tmargin: 0;\r\n\tborder: 0\r\n}\r\n\r\n.product-follow {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\twidth: 100%;\r\n\theight: 30px;\r\n\toverflow: hidden;\r\n\t*zoom: 1;\r\n\tz-index: 3\r\n}\r\n\r\n#plist.plist-n7 li .p-scroll .p-scroll-wrap li {\r\n\twidth: 31px;\r\n\theight: 31px;\r\n\tborder: 0;\r\n\tmargin: 0;\r\n\tpadding: 0 !important\r\n}\r\n\r\n.product-follow a {\r\n\tfont: 700 12px/1em verdana;\r\n\tfloat: right;\r\n\theight: 22px;\r\n\tpadding: 8px 5px 0;\r\n\tbackground: 0 0;\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(enabled='true',\r\n\t\tstartColorstr='#7F000000', endColorstr='#7F000000');\r\n\tbackground: rgba(0, 0, 0, .5)\r\n}\r\n\r\n.product-follow a:hover {\r\n\tbackground: #000;\r\n\tfilter: none\r\n}\r\n\r\n.product-follow a, .product-follow a:hover, .product-follow a:visited {\r\n\tcolor: #fff\r\n}\r\n\r\n.product-follow a s {\r\n\tbackground-position: -71px -58px;\r\n\twidth: 10px;\r\n\theight: 10px;\r\n\tdisplay: inline-block;\r\n\tmargin-right: 2px;\r\n\t*zoom: 1;\r\n\toverflow: hidden;\r\n\tvertical-align: middle\r\n}\r\n\r\n.shop-name {\r\n\tdisplay: none;\r\n\twidth: 100%;\r\n\tposition: absolute;\r\n\tleft: -1px;\r\n\tz-index: 3;\r\n\tbottom: -15px;\r\n\tbackground: #f5f5f5;\r\n\ttext-align: center;\r\n\theight: 25px;\r\n\ttext-align: center;\r\n\tline-height: 25px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0;\r\n\t-webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, .12);\r\n\tbox-shadow: 0 2px 4px rgba(0, 0, 0, .12)\r\n}\r\n\r\n.product-follow, .shop-name {\r\n\t_width: 244px\r\n}\r\n\r\n.shop-name a, .shop-name a:visited, .img-hover {\r\n\tcolor: #005ea7\r\n}\r\n\r\n.shop-name a {\r\n\tposition: relative;\r\n\tpadding-right: 20px\r\n}\r\n\r\n.shop-name a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n.shop-name a i {\r\n\tposition: absolute;\r\n\tright: 0;\r\n\t_right:;\r\n\t_margin-left: 4px;\r\n\ttop: 0;\r\n\tdisplay: block;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tbackground: url(i/2014021101.png) no-repeat\r\n}\r\n\r\n.shop-name a i.online {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.shop-name a i.offline {\r\n\tbackground-position: 0 -41px\r\n}\r\n\r\n* html .shop-name a i {\r\n\t_right:;\r\n\t_margin-left: 4px\r\n}\r\n\r\n#plist.plist-n2 .list-h li {\r\n\theight: 340px\r\n}\r\n\r\n#plist.plist-n2 .list-h li .p-img {\r\n\theight: 160px\r\n}\r\n\r\n#plist.plist-n8 .list-h li {\r\n\theight: 455px\r\n}\r\n\r\n#plist.plist-n8 .list-h li .p-img {\r\n\theight: 282px\r\n}\r\n\r\n#plist.plist-n8 .btn-coll:hover {\r\n\tborder: 0;\r\n\tbackground: #000\r\n}\r\n\r\n#plist.plist-n8 li .p-scroll .p-scroll-wrap li {\r\n\twidth: 31px;\r\n\theight: 31px;\r\n\tborder: 0;\r\n\tmargin: 0;\r\n\tpadding: 0 !important\r\n}\r\n\r\n#plist-shop .shop {\r\n\tborder: 1px solid #ddd;\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n#plist #plist-shop .list-h li {\r\n\tborder-bottom: 1px solid #fff;\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n#plist #plist-shop .p-scroll-wrap li {\r\n\tborder: 0;\r\n\tmargin: 0\r\n}\r\n\r\n#plist-shop .shop-info {\r\n\tmargin-top: 15px;\r\n\tpadding-bottom: 15px;\r\n\tborder-bottom: 1px dotted #ddd\r\n}\r\n\r\n#plist-shop .shop-left {\r\n\tfloat: left;\r\n\twidth: 450px\r\n}\r\n\r\n#plist-shop .shop-right {\r\n\tposition: relative;\r\n\tfloat: right;\r\n\twidth: 290px\r\n}\r\n\r\n#plist-shop .shop-logo {\r\n\tfloat: left;\r\n\twidth: 135px;\r\n\theight: 45px;\r\n\tpadding-left: 10px;\r\n\tmargin-right: 20px\r\n}\r\n\r\n#plist-shop .shop-logo img {\r\n\tdisplay: block\r\n}\r\n\r\n#plist-shop .shop-sname {\r\n\tfloat: left;\r\n\twidth: 285px;\r\n\theight: 24px;\r\n\tline-height: 24px;\r\n\tfont-weight: 700;\r\n\tfont-size: 14px;\r\n\tcolor: #333\r\n}\r\n\r\n#plist-shop .shop-sname a.shop-sname-a {\r\n\tfloat: left;\r\n\theight: 25px;\r\n\tmargin-right: 10px;\r\n\tline-height: 27px\r\n}\r\n\r\n#plist-shop .phrase {\r\n\tfloat: left;\r\n\twidth: 285px;\r\n\theight: 24px;\r\n\tline-height: 24px;\r\n\tcolor: #999\r\n}\r\n\r\n#plist-shop .evaluate {\r\n\theight: 22px;\r\n\tline-height: 24px;\r\n\tcolor: #333\r\n}\r\n\r\n#plist-shop .related-products {\r\n\theight: 24px;\r\n\tline-height: 24px;\r\n\tcolor: #333\r\n}\r\n\r\n#plist-shop .related-products a {\r\n\tcursor: pointer;\r\n\tcolor: #005AA0\r\n}\r\n\r\n#plist-shop .go-shop {\r\n\tposition: absolute;\r\n\tright: 10px;\r\n\ttop: 10px;\r\n\twidth: 83px;\r\n\theight: 28px;\r\n\tline-height: 28px;\r\n\ttext-align: center;\r\n\ttext-decoration: none;\r\n\tcursor: pointer;\r\n\tcolor: #333\r\n}\r\n\r\na.djd-im {\r\n\tdisplay: inline-block;\r\n\tfloat: none;\r\n\toverflow: hidden;\r\n\twidth: 68px;\r\n\theight: 27px;\r\n\tpadding-left: 24px;\r\n\tmargin: 0 10px 0 0;\r\n\tbackground: url(../images/djd-im.gif)\r\n\t\tno-repeat;\r\n\tline-height: 25px;\r\n\ttext-align: center;\r\n\t*zoom: 1\r\n}\r\n\r\na.djd-im:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\na.djd-im b {\r\n\tfont-weight: 400\r\n}\r\n\r\na.d-offline {\r\n\tbackground: url(../images/jd-im.png)\r\n\t\tno-repeat -142px -127px;\r\n\tline-height: 100px\r\n}\r\n\r\n#plist-shop .evaluate dl {\r\n\tzoom: 1\r\n}\r\n\r\n#plist-shop .evaluate dl:after {\r\n\tcontent: '\\20';\r\n\tdisplay: block;\r\n\tclear: both\r\n}\r\n\r\n#plist-shop .evaluate dt {\r\n\tfloat: left;\r\n\twidth: 60px\r\n}\r\n\r\n#plist-shop .evaluate dd {\r\n\tfloat: left;\r\n\theight: 16px;\r\n\tpadding-top: 4px;\r\n\tmargin-bottom: 5px;\r\n\tline-height: 18px\r\n}\r\n\r\n#plist-shop .evaluate dd span {\r\n\tfloat: left\r\n}\r\n\r\n.grade, .grade em {\r\n\tdisplay: inline-block;\r\n\theight: 18px;\r\n\tbackground: url(i/grade.png) 0 0 no-repeat;\r\n\t_background: url(i/grade-ie6.png) 0 0 no-repeat;\r\n\t*zoom: 1\r\n}\r\n\r\n.grade {\r\n\tposition: relative;\r\n\toverflow: hidden;\r\n\twidth: 78px;\r\n\tbackground-position: 0 -18px\r\n}\r\n\r\n.grade em {\r\n\tposition: absolute;\r\n\tleft: -40px;\r\n\twidth: 78px;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.grade .g10 {\r\n\tleft: 0\r\n}\r\n\r\n.grade .g9 {\r\n\tleft: -10px\r\n}\r\n\r\n.grade .g8 {\r\n\tleft: -20px\r\n}\r\n\r\n.grade .g7 {\r\n\tleft: -30px\r\n}\r\n\r\n.grade .g6 {\r\n\tleft: -40px\r\n}\r\n\r\n.grade .g5 {\r\n\tleft: -50px\r\n}\r\n\r\n.grade .g4 {\r\n\tleft: -60px\r\n}\r\n\r\n#plist.prebuy .list-h li {\r\n\tposition: relative;\r\n\twidth: 246px;\r\n\tpadding: 0\r\n}\r\n\r\n#plist.prebuy .list-h li.hover {\r\n\t*z-index: 1;\r\n\twidth: 246px;\r\n\tpadding: 0;\r\n\tborder: 0;\r\n\tborder-bottom: 1px dotted #ddd;\r\n\tbox-shadow: none\r\n}\r\n\r\n#plist.prebuy .list-h li .lh-wrap {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tz-index: 1;\r\n\tpadding: 1px 11px;\r\n\tborder: 0;\r\n\tbackground: #fff\r\n}\r\n\r\n#plist.prebuy .list-h li.hover .lh-wrap {\r\n\tz-index: 2;\r\n\tpadding: 0 10px 16px;\r\n\tborder: 1px solid #ddd;\r\n\tbox-shadow: 0 0 8px rgba(0, 0, 0, .12)\r\n}\r\n\r\n#plist.prebuy .list-h li.hover .sp-stage {\r\n\tdisplay: block\r\n}\r\n\r\n#plist.prebuy .list-h li .p-shopnum {\r\n\t\r\n}\r\n\r\n#plist.prebuy .list-h li.hover .p-shopnum {\r\n\tdisplay: block\r\n}\r\n\r\n#plist.prebuy-n2 .list-h li {\r\n\theight: 346px;\r\n\tborder-bottom: 1px solid #fff\r\n}\r\n\r\n#plist.prebuy-n2 .list-h li .p-img {\r\n\twidth: 224px\r\n}\r\n\r\n#plist.prebuy-n2 .list-h .prebuy-item .p-img:hover {\r\n\tborder: 1px solid #fff\r\n}\r\n\r\n#plist.prebuy-n2 .list-h li.hover .lh-wrap {\r\n\tpadding-bottom: 0\r\n}\r\n\r\n#plist.ordinary-prebuy .list-h .prebuy-item {\r\n\t\r\n}\r\n\r\n#plist.ordinary-prebuy .list-h li {\r\n\tposition: relative;\r\n\twidth: 247px;\r\n\theight: 421px;\r\n\tpadding: 0\r\n}\r\n\r\n#plist.ordinary-prebuy .list-h li.hover {\r\n\tz-index: 2;\r\n\twidth: 247px;\r\n\tpadding: 0;\r\n\tborder: 0;\r\n\tbox-shadow: none\r\n}\r\n\r\n#plist.ordinary-prebuy .list-h li .lh-wrap {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tz-index: 1;\r\n\tpadding: 1px 13px 10px;\r\n\tborder: 0;\r\n\tbackground: #fff\r\n}\r\n\r\n#plist.ordinary-prebuy .list-h li.hover .lh-wrap {\r\n\tpadding: 0 12px 9px;\r\n\tborder: 1px solid #ddd;\r\n\tbox-shadow: 0 0 8px rgba(0, 0, 0, .12)\r\n}\r\n\r\n#plist.ordinary-prebuy .list-h li .p-img, #plist.ordinary-prebuy .list-h li .p-img:hover\r\n\t{\r\n\tpadding-top: 10px;\r\n\tborder: 0\r\n}\r\n\r\n#plist.ordinary-prebuy .list-h li.hover .sp-stage {\r\n\tdisplay: block\r\n}\r\n\r\n#plist.ordinary-prebuy .list-h li .p-shopnum {\r\n\tdisplay: none\r\n}\r\n\r\n#plist.ordinary-prebuy .list-h li.hover .p-shopnum {\r\n\tdisplay: block\r\n}\r\n\r\n#plist.ordinary-prebuy .list-h .lh-wrap .sp-stage {\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n#plist.ordinary-prebuy .list-h .lh-wrap .sp-stage .item {\r\n\twidth: 72px\r\n}\r\n\r\n.lh-wrap .prebuy-time {\r\n\tposition: absolute;\r\n\tleft: 2px;\r\n\tbottom: 5px;\r\n\t_bottom: 2px;\r\n\toverflow: hidden;\r\n\twidth: 80px;\r\n\theight: 30px;\r\n\tline-height: 30px;\r\n\ttext-align: left;\r\n\tfont-family: verdana, '\\5b8b\\4f53';\r\n\tcolor: #fff;\r\n\ttransition: all .3s ease-in 0s\r\n}\r\n\r\n.lh-wrap .prebuy-time .pt-bg {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tz-index: 1;\r\n\twidth: 100%;\r\n\theight: 30px;\r\n\tbackground: #6e7992;\r\n\topacity: .8;\r\n\t-ms-filter: \"alpha(opacity=80)\";\r\n\tfilter: alpha(opacity = 80)\r\n}\r\n\r\n.lh-wrap .prebuy-time i {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tleft: 11px;\r\n\ttop: 7px;\r\n\tz-index: 3;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tbackground: url(i/2013110402.png) no-repeat;\r\n\t_background-image: none;\r\n\t_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/2013110402.png',\r\n\t\tsizingMethod='noscale')\r\n}\r\n\r\n.lh-wrap .prebuy-time span {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tleft: 32px;\r\n\ttop: 0;\r\n\tz-index: 2;\r\n\twidth: 50px;\r\n\theight: 30px\r\n}\r\n\r\n.lh-wrap .prebuy-time em {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\tleft: 76px;\r\n\ttop: 0;\r\n\tz-index: 2;\r\n\twidth: 144px;\r\n\theight: 30px\r\n}\r\n\r\n.hover .lh-wrap .prebuy-time {\r\n\twidth: 220px\r\n}\r\n\r\n.hover .lh-wrap .prebuy-time em {\r\n\tdisplay: block\r\n}\r\n\r\n.lh-wrap .sp-stage {\r\n\tdisplay: none;\r\n\tborder-left: 1px solid #DDD;\r\n\tborder-top: 1px solid #DDD;\r\n\tmargin-top: 10px;\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n.lh-wrap .sp-stage .item {\r\n\tposition: relative;\r\n\tfloat: left;\r\n\twidth: 73px;\r\n\theight: 51px;\r\n\tborder-right: 1px solid #DDD;\r\n\tborder-bottom: 3px solid #CCC;\r\n\ttext-align: center\r\n}\r\n\r\n.lh-wrap .sp-stage .item a {\r\n\tposition: relative;\r\n\tz-index: 1;\r\n\tpadding-top: 6px;\r\n\tdisplay: block;\r\n\ttext-decoration: none;\r\n\tline-height: 20px;\r\n\tcolor: #999;\r\n\tcursor: default\r\n}\r\n\r\n.lh-wrap .sp-stage .item a em {\r\n\tdisplay: block\r\n}\r\n\r\n.lh-wrap .sp-stage .item a em.hoverd {\r\n\tdisplay: none\r\n}\r\n\r\n.lh-wrap .sp-stage .item a strong {\r\n\tdisplay: block\r\n}\r\n\r\n.lh-wrap .sp-stage .item .bottom {\r\n\tposition: absolute;\r\n\tdisplay: block;\r\n\twidth: 100%;\r\n\tborder-bottom: 3px solid #CCC;\r\n\theight: 7px;\r\n\tleft: 0;\r\n\tbottom: -3px\r\n}\r\n\r\n.lh-wrap .sp-stage .item.curr a {\r\n\tcolor: #333\r\n}\r\n\r\n.lh-wrap .sp-stage .item.curr .bottom {\r\n\tborder-color: #6e7992\r\n}\r\n\r\n.lh-wrap .sp-stage .item.curr .bottom em {\r\n\tdisplay: inline-block;\r\n\t_display: inline;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-style: solid;\r\n\tborder-width: 6px;\r\n\tborder-color: transparent transparent #6e7992;\r\n\t_border-color: #FFF #FFF #6e7992;\r\n\tmargin-top: -5px;\r\n\t_margin-top: -7px;\r\n\t_font-size: 0;\r\n\t*zoom: 1\r\n}\r\n\r\n.lh-wrap .sp-stage .item.curr a:hover {\r\n\tbackground: 0 0\r\n}\r\n\r\n.lh-wrap .sp-stage .item.timeout a strong {\r\n\ttext-decoration: line-through\r\n}\r\n\r\n#shop-choice {\r\n\toverflow: hidden;\r\n\t*position: relative;\r\n\twidth: 770px;\r\n\theight: 290px;\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n#shop-choice .mt {\r\n\theight: 31px\r\n}\r\n\r\n#shop-choice .mt h3 {\r\n\tfloat: left;\r\n\theight: 31px;\r\n\tpadding-left: 8px;\r\n\tline-height: 31px;\r\n\tfont-family: \\5fae\\8f6f\\96c5\\9ed1;\r\n\tfont-weight: 400;\r\n\tfont-size: 15px\r\n}\r\n\r\n#shop-choice .mt .extra {\r\n\theight: 27px;\r\n\tmargin: 0;\r\n\tpadding: 0 1em 0 0\r\n}\r\n\r\n#shop-choice .mt .extra a {\r\n\tcolor: #005EA7\r\n}\r\n\r\n#shop-choice .mc {\r\n\toverflow: visible;\r\n\tposition: relative;\r\n\tz-index: 0;\r\n\twidth: 767px;\r\n\theight: 256px;\r\n\tborder-width: 2px 1px 1px;\r\n\tborder-style: solid;\r\n\tborder-color: #999 #ddd #ddd;\r\n\tbackground: #F5F5F5\r\n}\r\n\r\n#shop-choice .list-h {\r\n\tposition: absolute;\r\n\tleft: -1px;\r\n\tz-index: 1;\r\n\toverflow: visible\r\n}\r\n\r\n#shop-choice li {\r\n\tposition: relative;\r\n\twidth: 223px;\r\n\theight: 236px;\r\n\tpadding: 10px 16px 11px;\r\n\ttext-align: left;\r\n\tfont-family: arial, \\5b8b\\4f53\r\n}\r\n\r\n#shop-choice .p-img {\r\n\ttext-align: center\r\n}\r\n\r\n#shop-choice .p-img img {\r\n\tposition: relative;\r\n\tborder: 1px solid #ddd\r\n}\r\n\r\n#shop-choice .p-img div {\r\n\tright: 1px;\r\n\ttop: 10px\r\n}\r\n\r\n#shop-choice .p-price {\r\n\tmargin-top: 5px;\r\n\theight: 22px\r\n}\r\n\r\n#shop-choice .p-price em {\r\n\tfont-size: 11px\r\n}\r\n\r\n#shop-choice .p-price strong {\r\n\tfont-size: 14px\r\n}\r\n\r\n#shop-choice .mc .extra {\r\n\toverflow: hidden;\r\n\theight: 16px;\r\n\tmargin-top: 5px;\r\n\tpadding: 2px 0;\r\n\tline-height: 16px\r\n}\r\n\r\n#shop-choice .evaluate {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#shop-choice .evaluate a:link, #shop-choice .evaluate a:visited {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#shop-choice .reputation {\r\n\tdisplay: none;\r\n\tcolor: #1A8705\r\n}\r\n\r\n#shop-choice .btns {\r\n\theight: 24px;\r\n\tmargin-top: 10px;\r\n\ttext-align: center;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#shop-choice a.btn-buy, #shop-choice .btns input {\r\n\tdisplay: inline-block;\r\n\twidth: 53px;\r\n\theight: 21px;\r\n\tmargin: 0 2px;\r\n\tborder: 0;\r\n\tbackground:\r\n\t\turl(../images/20120723A.gif)\r\n\t\tno-repeat;\r\n\tcursor: pointer;\r\n\tline-height: 21px;\r\n\ttext-align: center;\r\n\tvertical-align: middle\r\n}\r\n\r\n#shop-choice a.btn-buy, #shop-choice input.btn-coll, #shop-choice input.btn-comp\r\n\t{\r\n\tbackground-position: -90px -31px\r\n}\r\n\r\n#shop-choice a.btn-buy {\r\n\ttext-decoration: none;\r\n\tcolor: #000\r\n}\r\n\r\n#shop-choice a.notice-store {\r\n\twidth: 65px;\r\n\tpadding-left: 25px;\r\n\tbackground: url(i/notice_store.gif) no-repeat 0 0;\r\n\tcolor: #C38700\r\n}\r\n\r\n#shop-choice a.ehaoyao {\r\n\twidth: 86px;\r\n\theight: 21px;\r\n\tpadding-left: 26px;\r\n\tline-height: 21px;\r\n\tbackground:\r\n\t\turl(../images/btn2012062502.png)\r\n\t\tno-repeat;\r\n\tcursor: pointer;\r\n\tcolor: #333\r\n}\r\n\r\n#shop-choice a.ehaoyao:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n#shop-choice .stocklist {\r\n\twidth: 80px;\r\n\tmargin: 0 auto;\r\n\tborder-radius: 6px;\r\n\tbackground: #efefef\r\n}\r\n\r\n#shop-choice .hover1 {\r\n\tposition: relative;\r\n\tz-index: 2;\r\n\tpadding: 10px 15px;\r\n\tborder: 1px solid #EDD28B;\r\n\tborder-top: 0;\r\n\tbackground: #FFFDEE\r\n}\r\n\r\n#shop-choice .hover1 .p-img {\r\n\tborder: 0\r\n}\r\n\r\n#shop-choice .hover1 .p-img div {\r\n\tright: 0;\r\n\ttop: 10px\r\n}\r\n\r\n#shop-choice .hover1 .p-img:hover {\r\n\tborder: 0\r\n}\r\n\r\n#shop-choice .stocklist {\r\n\tbackground-color: #e5e5e5\r\n}\r\n\r\n#shop-choice.plist-n7 .mc {\r\n\tpadding-top: 10px\r\n}\r\n\r\n* html #shop-choice {\r\n\toverflow: hidden\r\n}\r\n\r\n#shop-choice.plist-n7 {\r\n\theight: 420px\r\n}\r\n\r\n#shop-choice.plist-n7 .mc {\r\n\theight: 376px\r\n}\r\n\r\n#shop-choice.plist-n7 .list-h li {\r\n\twidth: 217px;\r\n\theight: 380px;\r\n\tpadding: 1px 15px 0;\r\n\ttext-align: left\r\n}\r\n\r\n#shop-choice.plist-n7 .list-h .p-img {\r\n\tposition: relative;\r\n\ttext-align: center\r\n}\r\n\r\n#shop-choice.plist-n7 .list-h li li {\r\n\twidth: 31px;\r\n\theight: 31px;\r\n\tpadding: 0 !important;\r\n\tborder: 0;\r\n\tmargin: 0\r\n}\r\n\r\n#shop-choice.plist-n7 .stocklist {\r\n\twidth: 80px;\r\n\tpadding-top: 5px;\r\n\tpadding-left: 5px;\r\n\tborder-radius: 0;\r\n\tmargin: 0;\r\n\tbackground: 0 0\r\n}\r\n\r\n#shop-choice.plist-n7 .extra span {\r\n\tfloat: left;\r\n\toverflow: hidden;\r\n\theight: 15px\r\n}\r\n\r\n#shop-choice.plist-n2 {\r\n\theight: 360px\r\n}\r\n\r\n#shop-choice.plist-n2 .mc {\r\n\theight: 316px\r\n}\r\n\r\n#shop-choice.plist-n2 .list-h li {\r\n\theight: 332px\r\n}\r\n\r\n#shop-choice.evaluate {\r\n\theight: 313px\r\n}\r\n\r\n#shop-choice.evaluate .mc {\r\n\theight: 279px\r\n}\r\n\r\n#shop-choice.evaluate .hover1 {\r\n\theight: 259px\r\n}\r\n\r\n#shop-choice.evaluate .extra a {\r\n\tcolor: #005AA0\r\n}\r\n\r\n#plist.phone-n2 .list-h li {\r\n\theight: 362px\r\n}\r\n\r\n#plist.phone-n7 .list-h li {\r\n\theight: 410px\r\n}\r\n\r\n#plist .p-phone {\r\n\toverflow: hidden;\r\n\twidth: 224px;\r\n\theight: 14px;\r\n\tpadding-top: 5px;\r\n\tmargin-bottom: 5px;\r\n\twhite-space: nowrap;\r\n\ttext-overflow: ellipsis\r\n}\r\n\r\n#plist .p-phone a {\r\n\tfloat: left;\r\n\toverflow: hidden;\r\n\theight: 14px;\r\n\tmargin-right: 6px;\r\n\tline-height: 14px;\r\n\tfont-family: verdana, '\\5b8b\\4f53';\r\n\tcolor: #999\r\n}\r\n\r\n#plist .p-phone a:hover {\r\n\ttext-decoration: underline;\r\n\tcolor: #005EA7\r\n}\r\n\r\n#plist .p-phone a.fore2, #plist .p-phone a.fore3 {\r\n\tpadding-left: 6px;\r\n\tborder-left: 1px solid #ddd\r\n}\r\n\r\n.pagin .prev, .pagin .next, .pagin .prev-disabled, .pagin .next-disabled\r\n\t{\r\n\tpadding: 4px 10px 5px;\r\n\tborder-radius: 3px;\r\n\tbackground: #fff\r\n}\r\n\r\n.pagin a, .pagin span {\r\n\theight: 19px\r\n}\r\n\r\n.pagin a {\r\n\tborder-radius: 3px\r\n}\r\n\r\n.pagin .page-skip {\r\n\theight: 26px;\r\n\tpadding: 0 10px;\r\n\tborder: 0;\r\n\tfont-size: 12px\r\n}\r\n\r\n.pagin .page-skip em {\r\n\tfloat: left;\r\n\theight: 26px;\r\n\tline-height: 26px\r\n}\r\n\r\n.pagin .jumpto {\r\n\tfloat: left;\r\n\twidth: 36px;\r\n\theight: 21px;\r\n\tpadding: 1px;\r\n\tborder-width: 1px;\r\n\tborder-style: solid;\r\n\tborder-color: #aaa #ddd #ddd #aaa;\r\n\tmargin: 0 5px;\r\n\ttext-align: center;\r\n\tfont-family: verdana\r\n}\r\n\r\n.pagin a.btn-skipsearch, .pagin .btn-skipsearch:hover {\r\n\tfloat: left;\r\n\twidth: 53px;\r\n\theight: 25px;\r\n\tpadding: 0;\r\n\tmargin-left: 5px;\r\n\tborder: 0;\r\n\tbackground: url(../images/20130415i.png) no-repeat -126px -52px;\r\n\tline-height: 25px;\r\n\ttext-align: center;\r\n\tcursor: pointer;\r\n\tcolor: #333\r\n}\r\n\r\n.pagin-m a, .pagin-m span.text {\r\n\theight: 14px;\r\n\tfont-family: verdana\r\n}\r\n\r\n#float-bar {\r\n\tposition: fixed;\r\n\twidth: 23px;\r\n\tpadding-bottom: 10px;\r\n\toverflow: hidden\r\n}\r\n\r\n#float-bar div, #float-bar a {\r\n\twidth: 23px;\r\n\tpadding-top: 24px;\r\n\tbackground-image:\r\n\t\turl(../images/bg_pannel.jpg);\r\n\tbackground-repeat: no-repeat;\r\n\ttext-align: center;\r\n\tline-height: 13px\r\n}\r\n\r\n#float-bar a {\r\n\tdisplay: block;\r\n\twidth: 22px;\r\n\tpadding: 2px 1px 8px 0;\r\n\tbackground-position: 0 bottom;\r\n\ttext-decoration: none;\r\n\tcolor: #f60\r\n}\r\n\r\n#float-bar .vote {\r\n\tbackground-position: 0 -0;\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n#float-bar .return {\r\n\tbackground-position: -23px 0;\r\n\tpadding-top: 20px\r\n}\r\n\r\n* html #float-bar {\r\n\tposition: absolute\r\n}\r\n\r\n.goods-chosen {\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 2px solid #999\r\n}\r\n\r\n.goods-chosen .mt {\r\n\theight: 30px;\r\n\tpadding: 0 9px;\r\n\tline-height: 30px\r\n}\r\n\r\n.goods-chosen .mt .title {\r\n\twidth: 50%;\r\n\tfloat: left;\r\n\tfont-weight: 400;\r\n\tfont-family: \\5fae\\8f6f\\96c5\\9ed1\r\n}\r\n\r\n.goods-chosen-list {\r\n\theight: 297px;\r\n\tpadding: 10px 0 0 30px;\r\n\tmargin-bottom: 10px;\r\n\toverflow: hidden\r\n}\r\n\r\n.goods-chosen-list li {\r\n\twidth: 220px;\r\n\tfloat: left;\r\n\tmargin-right: 15px;\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n.goods-chosen-list .p-img {\r\n\tdisplay: block;\r\n\twidth: 190px;\r\n\theight: 190px;\r\n\tmargin: 0 auto 5px\r\n}\r\n\r\n.goods-chosen-list .p-img img {\r\n\twidth: 190px;\r\n\theight: 190px\r\n}\r\n\r\n.goods-chosen-list .p-name {\r\n\tdisplay: block;\r\n\twidth: 204px;\r\n\theight: 40px;\r\n\toverflow: hidden;\r\n\tmargin: 0 auto 10px;\r\n\tline-height: 20px\r\n}\r\n\r\n.goods-chosen-list .p-price {\r\n\tmargin-bottom: 5px;\r\n\ttext-align: center\r\n}\r\n\r\n.goods-chosen-list .p-price strong {\r\n\tcolor: #E4393C;\r\n\tfont-weight: 700;\r\n\tfont-family: verdana;\r\n\tfont-size: 14px\r\n}\r\n\r\n.goods-chosen-list .p-price .tag {\r\n\tmargin-left: 3px;\r\n\tpadding: 1px 2px;\r\n\tbackground-color: #7bb1f1;\r\n\tcolor: #fff\r\n}\r\n\r\n.goods-chosen-list .p-comment {\r\n\ttext-align: center\r\n}\r\n\r\n.goods-chosen-list .p-comment a {\r\n\tcolor: #015fa9\r\n}\r\n\r\n.promo-pic-ad {\r\n\t\r\n}\r\n\r\n.promo-pic-ad .hd {\r\n\tfont-size: 14px;\r\n\tline-height: 32px;\r\n\tfont-family: \\5fae\\8f6f\\96c5\\9ed1;\r\n\tfont-weight: 400\r\n}\r\n\r\n.root61 .right-extra {\r\n\twidth: 990px\r\n}\r\n\r\n.root61 .dialogbox {\r\n\twidth: 990px\r\n}\r\n\r\n.root61 .dialogbox .related-search {\r\n\twidth: 800px\r\n}\r\n\r\n.root61 #select .attr {\r\n\twidth: 988px\r\n}\r\n\r\n.root61 #select .a-values {\r\n\twidth: 765px\r\n}\r\n\r\n.root61 #select .a-values .content .attr-select a {\r\n\twidth: 142px\r\n}\r\n\r\n.root61 #select .fore1 .a-values {\r\n\twidth: 800px\r\n}\r\n\r\n.root61 #advanced-brand {\r\n\twidth: 876px\r\n}\r\n\r\n.root61 .brand-attr .tabcon {\r\n\twidth: 825px\r\n}\r\n\r\n.root61 .brand-attr .tabcon div {\r\n\twidth: 140px\r\n}\r\n\r\n.root61 .brand-attr .tabcon-multi div {\r\n\twidth: 136px\r\n}\r\n\r\n.root61 .brand-attr .tab {\r\n\twidth: 862px\r\n}\r\n\r\n.root61 .brand-attr .tab li {\r\n\tpadding: 3px 6px;\r\n\tmargin-right: 6px\r\n}\r\n\r\n.root61 .brand-attr .a-values .s-brands {\r\n\twidth: 835px\r\n}\r\n\r\n.root61 .brand-attr .a-values .s-brands div {\r\n\twidth: auto\r\n}\r\n\r\n.root61 .brand-attr .v-tabs {\r\n\twidth: 765px\r\n}\r\n\r\n.root61 .brand-attr .v-tabs a {\r\n\t_float: left;\r\n\tdisplay: inline-block;\r\n\twidth: 136px\r\n}\r\n\r\n.root61 .attr-select .v-tabs a {\r\n\twidth: 122px\r\n}\r\n\r\n.root61 .prop-attrs .f-list {\r\n\twidth: 765px\r\n}\r\n\r\n.root61 .brand-attr .show-logo {\r\n\twidth: 762px\r\n}\r\n\r\n.root61 .brand-attr .show-logo div {\r\n\twidth: 104px\r\n}\r\n\r\n.root61 .brand-attr .v-tabs .show-logo a {\r\n\t_float: none;\r\n\twidth: 102px\r\n}\r\n\r\n.root61 .attr-select .a-values .s-brands-logo {\r\n\twidth: 772px\r\n}\r\n\r\n.root61 #filter .type2 .text i {\r\n\tdisplay: inline-block;\r\n\tfont-style: normal\r\n}\r\n\r\n.root61 #filter .type2 .text b {\r\n\tdisplay: none\r\n}\r\n\r\n.root61 #filter .store {\r\n\tborder-right: 1px solid #E7E3E7\r\n}\r\n\r\n.root61 #plist li {\r\n\twidth: 221px;\r\n\t_padding: 20px 11px 0\r\n}\r\n\r\n.root61 #plist.plist-book li {\r\n\twidth: 624px;\r\n\tpadding: 20px 170px 0 180px\r\n}\r\n\r\n.root61 #plist.plist-book .p-price {\r\n\twidth: 623px\r\n}\r\n\r\n.root61 #plist.plist-book .p-price i {\r\n\tdisplay: inline\r\n}\r\n\r\n.root61 #plist.plist-book .discount {\r\n\tdisplay: inline\r\n}\r\n\r\n.root61 #plist.plist-book .p-info {\r\n\twidth: 500px\r\n}\r\n\r\n.root61 #plist.plist-book .p-market {\r\n\tleft: 400px;\r\n\twidth: 143px\r\n}\r\n\r\n.root61 #plist.plist-book .ebook-price {\r\n\tleft: 552px\r\n}\r\n\r\n.root61 #plist.plist-book .stocklist {\r\n\tleft: 400px;\r\n\twidth: 143px\r\n}\r\n\r\n.root61 #plist.plist-book .service {\r\n\tleft: 552px;\r\n\twidth: 250px\r\n}\r\n\r\n.root61 #plist.plist-book .extra {\r\n\tleft: 180px;\r\n\twidth: 220px\r\n}\r\n\r\n.root61 #plist.plist-book .p-summary {\r\n\twidth: 624px\r\n}\r\n\r\n.root61 #plist.plist-book .btns {\r\n\tright: 30px\r\n}\r\n\r\n.root61 #plist-shop .shop-left {\r\n\twidth: 515px\r\n}\r\n\r\n.root61 #plist-shop .shop-sname, .root61 #plist-shop .phrase {\r\n\twidth: 350px\r\n}\r\n\r\n.root61 .svote {\r\n\tleft: 815px\r\n}\r\n\r\n.root61 #shop-choice {\r\n\twidth: 990px\r\n}\r\n\r\n.root61 #shop-choice .mc {\r\n\twidth: 988px\r\n}\r\n\r\n.root61 #shop-choice li {\r\n\twidth: 215px\r\n}\r\n\r\n.root61 #shop-choice.plist-n7 .list-h li {\r\n\tpadding: 1px 11px 0\r\n}\r\n\r\n.root61 #flagship-store .store-logo {\r\n\tmargin-right: 44px\r\n}\r\n\r\n.root61 #flagship-store .store-info {\r\n\twidth: 398px;\r\n\tmargin-right: 44px\r\n}\r\n\r\n.root61 #flagship-store.text .store-info {\r\n\twidth: 520px\r\n}\r\n\r\n* html .root61 #plist.plist-book .stocklist {\r\n\ttop: -25px\r\n}\r\n\r\n.root61 .goods-chosen-list {\r\n\tpadding: 10px 0 0 22px\r\n}\r\n\r\n.root61 #filter .store {\r\n\tpadding-right: 15px\r\n}\r\n\r\n.root61 #filter .type3 {\r\n\tpadding-left: 15px\r\n}\r\n\r\n.root61 #filter .type3 .bd a {\r\n\tpadding-right: 14px\r\n}\r\n\r\n.root61 #filter .type3 .i-new {\r\n\ttop: -1px;\r\n\tright: -9px\r\n}\r\n\r\n.root61 #filter .stock-search {\r\n\tpadding-left: 15px\r\n}\r\n\r\n.root61 #store-selector {\r\n\tmargin-right: 10px\r\n}\r\n\r\n.root61 #store-selector .text {\r\n\twidth: auto\r\n}\r\n\r\n#select-price .a-values {\r\n\tpadding-right: 0;\r\n\twidth: 668px\r\n}\r\n\r\n.root61 #select-price .a-values {\r\n\tpadding-right: 0;\r\n\twidth: 885px\r\n}\r\n\r\n.onebox-tabs {\r\n\tborder-bottom: 1px solid #ddd;\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n.onebox-tabs .item {\r\n\tfloat: left;\r\n\tpadding-top: 5px;\r\n\theight: 25px;\r\n\tmargin-right: 10px;\r\n\tmargin-bottom: -1px\r\n}\r\n\r\n.onebox-tabs .item a {\r\n\tdisplay: block;\r\n\theight: 23px;\r\n\twidth: 102px;\r\n\tborder: 1px solid #ddd;\r\n\ttext-align: center;\r\n\tline-height: 22px;\r\n\tbackground: #f7f7f7\r\n}\r\n\r\n.onebox-tabs .item a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n.onebox-tabs .item.selected {\r\n\tpadding-top: 0;\r\n\theight: 30px\r\n}\r\n\r\n.onebox-tabs .item.selected a {\r\n\tposition: relative;\r\n\theight: 28px;\r\n\tcolor: #E4393C;\r\n\tline-height: 28px;\r\n\tfont-weight: 700;\r\n\tbackground: #fff;\r\n\tborder-bottom: 1px solid #fff\r\n}\r\n\r\n.paipai-result {\r\n\tborder-top: 2px solid #999\r\n}\r\n\r\n.paipai-result h2.paipai {\r\n\tpadding-left: 26px;\r\n\tposition: relative;\r\n\tdisplay: block;\r\n\t*zoom: 1\r\n}\r\n\r\n.paipai-result h2.paipai i {\r\n\tposition: absolute;\r\n\tleft: 3px;\r\n\ttop: 7px;\r\n\tdisplay: block;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tbackground:\r\n\t\turl(../images/search.paipai.icon.png)\r\n\t\tno-repeat\r\n}\r\n\r\n.paipai-result .mc {\r\n\theight: 265px\r\n}\r\n\r\n.paipai-result .mc ul li {\r\n\twidth: 133px;\r\n\tpadding: 10px 27px;\r\n\ttext-align: center;\r\n\tborder-top: 0 none\r\n}\r\n\r\n.paipai-result .mc .paipai-showall {\r\n\tline-height: 20px;\r\n\tpadding: 10px 0 0 14px\r\n}\r\n\r\n.paipai-result .mc .paipai-showall strong {\r\n\tcolor: #F60;\r\n\tmargin-right: 5px\r\n}\r\n\r\n.paipai-result .mc .paipai-showall a {\r\n\tcolor: #005AA0;\r\n\tmargin-left: 5px\r\n}\r\n\r\n.root61 .paipai-result .mc ul li {\r\n\tpadding: 10px 30px\r\n}\r\n\r\n.z-header-fixed-a, .z-header-fixed-b {\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\twidth: 100%;\r\n\tbackground: #fff;\r\n\tbackground: rgba(255, 255, 255, .98);\r\n\tz-index: 50;\r\n\tborder-bottom: 1px solid #e8e8e8;\r\n\t-webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, .1);\r\n\t-moz-box-shadow: 0 1px 5px rgba(0, 0, 0, .1);\r\n\tbox-shadow: 0 1px 5px rgba(0, 0, 0, .1)\r\n}\r\n\r\n.z-header-fixed-a #header-2013, .z-header-fixed-b #header-2013 {\r\n\theight: 45px;\r\n\tpadding: 5px 0\r\n}\r\n\r\n.z-header-fixed-a #hotwords, .z-header-fixed-b #hotwords {\r\n\theight: 20px;\r\n\tposition: relative;\r\n\tmargin-top: -24px;\r\n\tline-height: 20px\r\n}\r\n\r\n.z-header-fixed-a #my360buy-2013, .z-header-fixed-a #nav-2013,\r\n\t.z-header-fixed-a #settleup-2013, .z-header-fixed-b #my360buy-2013,\r\n\t.z-header-fixed-b #nav-2013, .z-header-fixed-b #settleup-2013 {\r\n\tdisplay: none\r\n}\r\n\r\n.z-header-fixed-a #logo-2013 {\r\n\twidth: 270px;\r\n\ttext-align: center\r\n}\r\n\r\n.z-header-fixed-a #logo-2013 a:link b, .z-header-fixed-a #logo-2013 a:visited b\r\n\t{\r\n\tdisplay: none\r\n}\r\n\r\n.z-header-fixed-a #logo-2013 a:link img, .z-header-fixed-a #logo-2013 a:visited img\r\n\t{\r\n\twidth: 180px;\r\n\theight: 40px\r\n}\r\n\r\n.z-header-fixed-a #search-2013 {\r\n\twidth: 400px;\r\n\tpadding-right: 320px\r\n}\r\n\r\n.z-header-fixed-a #search-2013 .i-search {\r\n\twidth: 394px\r\n}\r\n\r\n.z-header-fixed-a #search-2013 .text {\r\n\twidth: 306px\r\n}\r\n\r\n.z-header-fixed-a #search-2013 #shelper {\r\n\twidth: 398px\r\n}\r\n\r\n.z-header-fixed-a #hotwords {\r\n\twidth: 310px;\r\n\tmargin-left: 410px\r\n}\r\n\r\n.z-header-fixed-a #hotwords strong {\r\n\tdisplay: none\r\n}\r\n\r\n.z-header-fixed-b #logo-2013 {\r\n\tdisplay: none\r\n}\r\n\r\n.z-header-fixed-b #search-2013 {\r\n\twidth: 500px;\r\n\tpadding-left: 40px;\r\n\tpadding-right: 450px\r\n}\r\n\r\n.z-header-fixed-b #search-2013 .i-search {\r\n\twidth: 444px\r\n}\r\n\r\n.z-header-fixed-b #search-2013 .text {\r\n\twidth: 356px\r\n}\r\n\r\n.z-header-fixed-b #search-2013 #shelper {\r\n\twidth: 448px\r\n}\r\n\r\n.z-header-fixed-b #hotwords {\r\n\twidth: 440px;\r\n\tmargin-left: 510px\r\n}\r\n\r\n.root61 .z-header-fixed-a #logo-2013 {\r\n\twidth: 300px\r\n}\r\n\r\n.root61 .z-header-fixed-a #search-2013 {\r\n\twidth: 494px;\r\n\tpadding-right: 416px\r\n}\r\n\r\n.root61 .z-header-fixed-a #search-2013 .i-search {\r\n\twidth: 488px\r\n}\r\n\r\n.root61 .z-header-fixed-a #search-2013 .text {\r\n\twidth: 400px\r\n}\r\n\r\n.root61 .z-header-fixed-a #search-2013 #shelper {\r\n\twidth: 492px\r\n}\r\n\r\n.root61 .z-header-fixed-a #hotwords {\r\n\twidth: 406px;\r\n\tmargin-left: 504px\r\n}\r\n\r\n.root61 .z-header-fixed-b #search-2013 {\r\n\twidth: 710px;\r\n\tpadding-left: 60px;\r\n\tpadding-right: 440px\r\n}\r\n\r\n.root61 .z-header-fixed-b #search-2013 .i-search {\r\n\twidth: 630px\r\n}\r\n\r\n.root61 .z-header-fixed-b #search-2013 .text {\r\n\twidth: 542px\r\n}\r\n\r\n.root61 .z-header-fixed-b #search-2013 #shelper {\r\n\twidth: 634px\r\n}\r\n\r\n.root61 .z-header-fixed-b #hotwords {\r\n\twidth: 440px;\r\n\tmargin-left: 710px\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/pshow.css",
    "content": "/*\r\n item.jd.com Compressed by cssmin \r\n Author:keelii \r\n Date: 2014-10-21 4:39:52 [PM] \r\n */\r\na:hover {\r\n\tcolor: #E4393C\r\n}\r\n\r\n.left {\r\n\tfloat: left;\r\n\twidth: 210px\r\n}\r\n\r\n.right {\r\n\tfloat: right;\r\n\twidth: 770px;\r\n\t_overflow: hidden\r\n}\r\n\r\n.left .m .mt,.right .m .mt {\r\n\tfont: 14px/30px 'microsoft yahei'\r\n}\r\n\r\n.m1 .mt h2,.m2 .mt h2 {\r\n\tfont-weight: 400\r\n}\r\n\r\n.tab li a {\r\n\tfloat: left\r\n}\r\n\r\n.tab li a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n.right .m,.right .mt,.right .tab {\r\n\t\r\n}\r\n\r\n.clb {\r\n\tclear: both\r\n}\r\n\r\n.right .mt .tab {\r\n\tmargin-left: -1px;\r\n\toverflow: visible;\r\n\t*display: inline\r\n}\r\n\r\n.tab a {\r\n\tfloat: left;\r\n\theight: 30px;\r\n\tline-height: 28px;\r\n\tpadding: 0 13px\r\n}\r\n\r\n.right .tab .curr {\r\n\tborder-top: 2px solid #e4393c;\r\n\t*display: inline\r\n}\r\n\r\n.right .tab .curr {\r\n\tcolor: #e4393c;\r\n\tbackground-color: #fff;\r\n\tmargin-top: -6px\r\n}\r\n\r\n.right .tab .curr a {\r\n\theight: 34px;\r\n\tline-height: 34px;\r\n\tpadding: 0 12px;\r\n\tborder-left: 1px solid #ddd;\r\n\tborder-right: 1px solid #ddd;\r\n\tcolor: #e4393c\r\n}\r\n\r\n.left .mt,.right .mt {\r\n\tbackground-color: #f7f7f7\r\n}\r\n\r\n.left .m2 .mt {\r\n\theight: 28px;\r\n\tline-height: 28px\r\n}\r\n\r\n.left .m2 .mc {\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0\r\n}\r\n\r\n.left .m2 .mt {\r\n\tborder: 1px solid #ddd\r\n}\r\n\r\n.left .m2 {\r\n\t\r\n}\r\n\r\n.right .mt {\r\n\toverflow: visible;\r\n\theight: 30px;\r\n\tline-height: 30px;\r\n\tbackground: 0;\r\n\tborder-left: 1px solid #ddd;\r\n\tborder-right: 1px solid #ddd\r\n}\r\n\r\n#consult-5 a,#consult-7 a {\r\n\tcolor: #005AA0\r\n}\r\n\r\n#recommend .mc,#product-detail .mc,#comment .mc,#comments-list .mc #consult .mc,#discuss .mc\r\n\t{\r\n\tclear: both\r\n}\r\n\r\n#recommend .mc {\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0\r\n}\r\n\r\n#recommend,#product-detail,#comments-list,#consult,#discuss {\r\n\toverflow: visible;\r\n\tpadding-top: 0px;\r\n\tbackground: url(../images/tab.png) 0 -41px repeat-x;\r\n\t_clear: both\r\n}\r\n\r\n.m2 h2 {\r\n\tpadding: 0 8px\r\n}\r\n\r\n.none {\r\n\tdisplay: none\r\n}\r\n\r\n.inline-block {\r\n\tdisplay: inline-block;\r\n\t*zoom: 1;\r\n\tvertical-align: middle\r\n}\r\n\r\n.disabled {\r\n\tcursor: default\r\n}\r\n\r\n.mt .extra {\r\n\tfloat: right;\r\n\tdisplay: inline;\r\n\tfont-weight: 400\r\n}\r\n\r\nbutton {\r\n\tpadding: 0\r\n}\r\n\r\n.choose input {\r\n\tvertical-align: middle\r\n}\r\n\r\n.hl_red,a.hl_red,.hl_red:hover,.hl_red:visited,#summary .hl_red {\r\n\tcolor: #e4393c\r\n}\r\n\r\n.hl_green,a.hl_green,.hl_green:hover,.hl_green:visited,#summary .hl_green\r\n\t{\r\n\tcolor: #090\r\n}\r\n\r\n.hl_blue,a.hl_blue,.hl_blue:hover,.hl_blue:visited {\r\n\tcolor: #005AA0\r\n}\r\n\r\n.p-simsun {\r\n\tfont-family: simsun\r\n}\r\n\r\na.hl_link,.hl_link:hover,.hl_link:visited {\r\n\tcolor: #005AA0\r\n}\r\n\r\n.hl_red_bg {\r\n\tcolor: #fff;\r\n\tbackground: #e4393c;\r\n\tpadding: 1px 2px;\r\n\tline-height: 12px;\r\n\tmargin-right: 5px;\r\n\tdisplay: inline-block;\r\n\t*zoom: 1\r\n}\r\n\r\n.tc {\r\n\ttext-align: center\r\n}\r\n\r\n.p10 {\r\n\tpadding: 10px\r\n}\r\n\r\n.p-bfc {\r\n\toverflow: hidden;\r\n\t*zoom: 1\r\n}\r\n\r\n.thickcon iframe {\r\n\tdisplay: block\r\n}\r\n\r\nq:before,q:after {\r\n\tcontent: ''\r\n}\r\n\r\na.css3-btn {\r\n\tcolor: #fff;\r\n\tbackground-color: #e74649;\r\n\tborder-radius: 2px;\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#e74649),\r\n\t\tto(#df3033));\r\n\tbackground: -moz-linear-gradient(top, #e74649, #df3033);\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e74649',\r\n\t\tendColorstr='#df3033');\r\n\tbackground: -o-linear-gradient(top left, #E74649 0, #DF3033 100%)\r\n}\r\n\r\na.css3-btn,a.css3-btn:hover,a.css3-btn:visited {\r\n\tcolor: #fff\r\n}\r\n\r\na.css3-btn-gray {\r\n\tcolor: #ccc;\r\n\tborder: 1px solid #ddd;\r\n\tbackground: #fff\r\n}\r\n\r\na.css3-btn-gray,a.css3-btn-gray:hover,a.css3-btn-gray:visited {\r\n\tcolor: #ccc\r\n}\r\n\r\n.spec-control,#store-selector .text b,#choose .selected b,.slogens b,#brand-bar .slogens .fore2,#brand-bar .slogens .fore4,.star,.wrap-input a,#brand-bar .slogens dt,#brand-bar .seller-btn a,.itemover-title button,.topic .icon,#ranklist .tabcon span,#comment .btn-comment,#recomment .master s,.topic-best,.master s,.suits li s,#recommend .infos s,#favorable-suit .infos s,.btn-buy,#product-detail .detail-correction b,div.nav-minicart-buynow a,#consult .btn-search,#comments-list .tl,.item-warnning s,.share-list-item a,.share-ft b,#view-bigimg,#tab-services table td .btn-buy,#evaluate s,#evaluate-detail s,.li-img a b,#store-selector .close,.extra-ico,.f-sercvice-list b,.btn-append-extra,.u-name a b,#more-fitting-link b,#summary-countdown s,.s-item .active b,#product-detail .p-tab s,.m3 .p-info s\r\n\t{\r\n\tbackground-image: url(../images/newicon20140417.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#choose-btns .btn a b,.nav-minicart-btn a {\r\n\tbackground-image: url(../images/p-btns-20140611.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n.seller-status .p-price,.itemover-related-list .p-price,.itemover1-related-list .p-price,.join a\r\n\t{\r\n\tcolor: #e4393c\r\n}\r\n\r\n.btn-gray {\r\n\tborder-top: 1px solid #d5d5d5;\r\n\tborder-right: 1px solid #d5d5d5;\r\n\tborder-bottom: 1px solid #d5d5d5;\r\n\tborder-left: 1px solid #d5d5d5;\r\n\ttext-decoration: none;\r\n\ttext-align: center;\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#fafafa),\r\n\t\tto(#f2f2f2));\r\n\tbackground: -moz-linear-gradient(top, #fafafa, #f2f2f2);\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fafafa',\r\n\t\tendColorstr='#f2f2f2')\r\n}\r\n\r\n.btn-gray,.btn-gray:hover,.btn-gray:visited {\r\n\ttext-decoration: none\r\n}\r\n\r\n.u-name a {\r\n\tcolor: #005AA0\r\n}\r\n\r\n.arrow {\r\n\twidth: 11px;\r\n\theight: 6px;\r\n\tfont: 12px/12px simsun;\r\n\toverflow: hidden;\r\n\t*zoom: 1;\r\n\t*line-height: 14px;\r\n\tline-height: 14px\\0;\r\n\tbackground: #fff;\r\n\tposition: relative;\r\n\ttop: 1px;\r\n\tz-index: 1\r\n}\r\n\r\n.arrow em,.arrow span {\r\n\tfloat: left;\r\n\twidth: 12px;\r\n\theight: 12px\r\n}\r\n\r\n.arrow span {\r\n\tmargin-top: -11px;\r\n\tcolor: #f5f5f5;\r\n\t_margin-top: -13px\r\n}\r\n\r\n.arrow em {\r\n\tcolor: #D9D9D9\r\n}\r\n\r\n.norecode {\r\n\tpadding-top: 10px\r\n}\r\n\r\n.slogens a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n#choose-btns #choose-btn-append a {\r\n\tline-height: 38px\r\n}\r\n\r\n#choose-btns .btn a {\r\n\tposition: relative;\r\n\tfont: 400 18px/38px \"microsoft yahei\";\r\n\ttext-align: center;\r\n\tcolor: #e4393c\r\n}\r\n\r\n#choose-btns .btn a b {\r\n\tdisplay: block;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tcursor: pointer\r\n}\r\n\r\n#choose-btns .disabled a b {\r\n\tcursor: default\r\n}\r\n\r\n#choose-btns .disabled a {\r\n\tcursor: not-allowed\r\n}\r\n\r\n#choose-btns #choose-btn-append.disabled .btn-append b,#choose-btns #choose-btn-append.disabled .btn-append:hover b\r\n\t{\r\n\tbackground-position: -313px 0\r\n}\r\n\r\n#choose-btns #choose-btn-append .btn-append:hover b {\r\n\tbackground-position: -157px 0\r\n}\r\n\r\n#summary .s-arrow {\r\n\tfont: 400 8px simsun;\r\n\ttext-decoration: none;\r\n\t-webkit-text-size-adjust: none\r\n}\r\n\r\n#view-buy,#buy-buy,#browse-browse,#related-viewed,#choose-btn-divide,#choose-btn-easybuy,#choose-btn-notice,.product-intro-noitem #choose-amount,#recommend .tab li,#product-intro-noitem #choose-btn-easybuy,#recommend,#brand-bar .seller-btn #jdim.noservice,#choose-result,#nav-minicart,#view-buy,#search-result,#itemover-related-list,#itemover1-related-list,#p-con-wiki\r\n\t{\r\n\tdisplay: none\r\n}\r\n\r\n#noitem-related-list {\r\n\toverflow: hidden\r\n}\r\n\r\n.pagin .current:hover {\r\n\tbackground: 0;\r\n\tborder: 0;\r\n\tcursor: default\r\n}\r\n\r\n.product-intro-noitem #choose #choose-noresult {\r\n\tborder: 0\r\n}\r\n\r\n.seller-link a,#tab-services a,.detail-correction a,.detail-list a,#summary a,.p-comm a\r\n\t{\r\n\tcolor: #005aa0\r\n}\r\n\r\n.root61 .right {\r\n\twidth: 990px\r\n}\r\n\r\n.star {\r\n\tdisplay: inline-block;\r\n\twidth: 75px;\r\n\theight: 14px\r\n}\r\n\r\n.sa5 {\r\n\tbackground-position: -109px -239px\r\n}\r\n\r\n.sa4 {\r\n\tbackground-position: -124px -239px\r\n}\r\n\r\n.sa3 {\r\n\tbackground-position: -139px -239px\r\n}\r\n\r\n.sa2 {\r\n\tbackground-position: -154px -239px\r\n}\r\n\r\n.sa1 {\r\n\tbackground-position: -169px -239px\r\n}\r\n\r\n.sa0 {\r\n\tbackground-position: -184px -239px\r\n}\r\n\r\n#product-intro {\r\n\tposition: relative;\r\n\tz-index: 1;\r\n\tpadding-left: 370px;\r\n\t*zoom: 1;\r\n\tmin-height: 474px;\r\n\theight: auto !important;\r\n\theight: 474px\r\n}\r\n\r\n#product-intro .dt {\r\n\tfloat: left;\r\n\twidth: 72px;\r\n\ttext-align: right\r\n}\r\n\r\n#product-intro .dd {\r\n\tfloat: left;\r\n\twidth: 376px\r\n}\r\n\r\n#name {\r\n\tpadding-bottom: 10px;\r\n\tborder-bottom: 1px dotted #ccc;\r\n\tzoom: 1\r\n}\r\n\r\n#name h1 {\r\n\tfont: 700 16px/1.5em Arial, Verdana, \"microsoft yahei\"\r\n}\r\n\r\n#name h1,#name strong {\r\n\twidth: 620px;\r\n\toverflow: hidden;\r\n\tfont-family: arial, \"microsoft yahei\"\r\n}\r\n\r\n#name strong {\r\n\tdisplay: block;\r\n\tcolor: #e4393c;\r\n\tfont-size: 16px\r\n}\r\n\r\n#name strong a,#name strong a:hover,#name strong a:visited {\r\n\tcolor: #e4393c;\r\n\ttext-decoration: underline\r\n}\r\n\r\n#summary .dt {\r\n\tfont-family: simsun\r\n}\r\n\r\n#summary {\r\n\tfloat: left;\r\n\twidth: 452px;\r\n\tpadding: 10px 0\r\n}\r\n\r\n#summary li {\r\n\tpadding: 6px 0;\r\n\toverflow: hidden;\r\n\t*zoom: 1;\r\n\tclear: both\r\n}\r\n\r\n#summary-price .dd {\r\n\tline-height: 12px;\r\n\t*line-height: 18px\r\n}\r\n\r\n#summary #summary-stock {\r\n\theight: 28px;\r\n\tpadding-bottom: 0\r\n}\r\n\r\n#summary-price {\r\n\theight: 18px;\r\n\toverflow: hidden\r\n}\r\n\r\n#summary-price .p-price img {\r\n\tmargin-left: -4px\r\n}\r\n\r\n#summary-price .p-price {\r\n\tcolor: #e4393c;\r\n\tfont-size: 18px\r\n}\r\n\r\n#summary-grade .star {\r\n\tfloat: left;\r\n\tmargin: 1px 5px 0 0\r\n}\r\n\r\n#summary-service {\r\n\tdisplay: block\r\n}\r\n\r\n#summary-service a {\r\n\tmargin: 0 6px\r\n}\r\n\r\n#summary #summary-stock {\r\n\toverflow: visible;\r\n\tmargin-top: 15px\r\n}\r\n\r\n#summary-stock .dt {\r\n\tmargin-top: 4px\r\n}\r\n\r\n#summary-gifts .li,#summary-gifts .li-img {\r\n\tmargin-bottom: 8px\r\n}\r\n\r\n#summary-gifts .li-img {\r\n\tmargin-top: -3px;\r\n\tline-height: 28px;\r\n\toverflow: hidden;\r\n\tmargin-right: 10px;\r\n\t*zoom: 1\r\n}\r\n\r\n.li-img a b {\r\n\tdisplay: inline-block;\r\n\twidth: 25px;\r\n\theight: 25px;\r\n\tbackground-position: -56px -259px;\r\n\tborder: 1px solid #ddd;\r\n\t*zoom: 1\r\n}\r\n\r\n#summary-gifts .li-img em {\r\n\tfont-size: 12px\r\n}\r\n\r\n#summary-gifts .li-img img {\r\n\tfloat: left;\r\n\tborder: 1px solid #ddd;\r\n\tmargin-right: 5px\r\n}\r\n\r\n.li-img .gift-text {\r\n\tdisplay: inline-block;\r\n\twidth: 470px;\r\n\twhite-space: nowrap;\r\n\ttext-overflow: ellipsis;\r\n\toverflow: hidden;\r\n\t*zoom: 1\r\n}\r\n\r\n#choose {\r\n\tfloat: left;\r\n\twidth: 450px;\r\n\tmargin-bottom: 20px\r\n}\r\n\r\n#summary-promotion {\r\n\t*position: relative;\r\n\t*z-index: 4\r\n}\r\n\r\n.prom655 #product-gifts .li-img {\r\n\tpadding: 2px 0\r\n}\r\n\r\n.prom655 #product-gifts .li-img {\r\n\tline-height: 22px;\r\n\toverflow: hidden;\r\n\tmargin-right: 10px;\r\n\t*zoom: 1\r\n}\r\n\r\n.prom655 #product-gifts.li-img a b {\r\n\tdisplay: inline-block;\r\n\twidth: 25px;\r\n\theight: 25px;\r\n\tbackground-position: -56px -259px;\r\n\tborder: 1px solid #ddd;\r\n\t*zoom: 1\r\n}\r\n\r\n.prom655 #product-gifts .li-img em {\r\n\tfont-size: 12px\r\n}\r\n\r\n.prom655 #product-gifts .li-img img {\r\n\tfloat: left;\r\n\tborder: 1px solid #ddd;\r\n\tmargin-right: 5px;\r\n\twidth: 20px;\r\n\theight: 20px\r\n}\r\n\r\n.prom655 #summary-promotion {\r\n\tposition: relative;\r\n\toverflow: visible\r\n}\r\n\r\n.prom655 #summary-grade {\r\n\tmargin-top: 45px\r\n}\r\n\r\n.prom655 #summary-promotion .dd {\r\n\tposition: absolute;\r\n\tleft: 72px;\r\n\ttop: 8px;\r\n\theight: 38px;\r\n\toverflow: hidden;\r\n\tbackground: #fff\r\n}\r\n\r\n.prom655 #product-promotions {\r\n\twidth: 400px;\r\n\tposition: relative\r\n}\r\n\r\n.prom655 #summary-promotion div.open #product-promotions {\r\n\tpadding: 9px;\r\n\tleft: -10px;\r\n\ttop: -10px;\r\n\tbox-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\tbackground: #fff;\r\n\theight: auto;\r\n\tborder: 1px solid #eee\r\n}\r\n\r\n.prom655 #summary-promotion div.open {\r\n\theight: auto;\r\n\toverflow: visible;\r\n\tz-index: 4\r\n}\r\n\r\n.prom655 #more-prom {\r\n\tposition: absolute;\r\n\tleft: 300px;\r\n\ttop: 0;\r\n\tcursor: pointer\r\n}\r\n\r\n.prom655 #more-prom em {\r\n\tcolor: #999\r\n}\r\n\r\n.prom655 #summary-promotion div.open #more-prom b {\r\n\tbackground-position: -95px -45px\r\n}\r\n\r\n.prom655 #more-prom b {\r\n\tdisplay: inline-block;\r\n\t*zoom: 1;\r\n\twidth: 7px;\r\n\theight: 4px;\r\n\toverflow: hidden;\r\n\tvertical-align: middle;\r\n\tbackground:\r\n\t\turl(../images/20130330A_2.png) -95px\r\n\t\t-55px no-repeat\r\n}\r\n\r\n.choose-amount {\r\n\twidth: 49px;\r\n\theight: 34px;\r\n\toverflow: hidden;\r\n\tborder: 1px solid #ccc;\r\n\tposition: relative;\r\n\tmargin: 8px 10px 0 0\r\n}\r\n\r\n.choose-amount a {\r\n\tdisplay: block;\r\n\twidth: 15px;\r\n\ttext-align: center;\r\n\theight: 17px;\r\n\tline-height: 17px;\r\n\toverflow: hidden;\r\n\tbackground: #f1f1f1;\r\n\tcolor: #666;\r\n\tposition: absolute;\r\n\tright: -1px;\r\n\tborder: 1px solid #ccc\r\n}\r\n\r\n.choose-amount input {\r\n\tdisplay: block;\r\n\twidth: 31px;\r\n\theight: 32px;\r\n\tline-height: 32px;\r\n\tposition: absolute;\r\n\ttop: 1px;\r\n\tleft: 1px;\r\n\tborder: 0;\r\n\tborder: 0;\r\n\ttext-align: center\r\n}\r\n\r\n.choose-amount a.btn-reduce {\r\n\tbottom: -1px\r\n}\r\n\r\n.choose-amount a.btn-add {\r\n\ttop: -1px\r\n}\r\n\r\n.free_delivery_policy {\r\n\tdisplay: inline-block;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tbackground: url(../images/newicon20140417.png) -133px -293px no-repeat;\r\n\t*zoom: 1\r\n}\r\n\r\n#promise-ico {\r\n\tdisplay: block;\r\n\tpadding-left: 0\r\n}\r\n\r\n#promise-ico a {\r\n\tdisplay: inline-block;\r\n\theight: 16px;\r\n\tline-height: 16px;\r\n\tmargin-right: 5px;\r\n\tbackground-image: url(../images/promise20141021.png);\r\n\tbackground-repeat: no-repeat;\r\n\t*zoom: 1;\r\n\tvertical-align: middle\r\n}\r\n\r\n#promise-ico a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n.free_delivery,.appliances_free_delivery {\r\n\twidth: 57px;\r\n\tbackground-position: 0 -352px\r\n}\r\n\r\n.free_delivery:hover,.appliances_free_delivery:hover {\r\n\tbackground-position: -143px -352px\r\n}\r\n\r\n.sendpay_411 {\r\n\twidth: 57px;\r\n\tbackground-position: 0 -32px\r\n}\r\n\r\n.sendpay_411:hover {\r\n\tbackground-position: -143px -32px\r\n}\r\n\r\n.sendpay_311 {\r\n\twidth: 57px;\r\n\tbackground-position: 0 -224px\r\n}\r\n\r\n.sendpay_311:hover {\r\n\tbackground-position: -143px -224px\r\n}\r\n\r\n.sendpay_211 {\r\n\twidth: 78px;\r\n\tbackground-position: 0 -64px\r\n}\r\n\r\n.sendpay_211:hover {\r\n\tbackground-position: -143px -64px\r\n}\r\n\r\n.sendpay_nextday {\r\n\twidth: 57px;\r\n\tbackground-position: 0 -160px\r\n}\r\n\r\n.sendpay_nextday:hover {\r\n\tbackground-position: -143px -160px\r\n}\r\n\r\n.sendpay_aftertomorrow {\r\n\twidth: 57px;\r\n\tbackground-position: 0 -192px\r\n}\r\n\r\n.sendpay_aftertomorrow:hover {\r\n\tbackground-position: -143px -192px\r\n}\r\n\r\n.payment_cod,.pop_PaymentCod,.lsp_cod,.appliances_PaymenCod {\r\n\twidth: 69px;\r\n\tbackground-position: 0 -288px\r\n}\r\n\r\n.payment_cod:hover,.pop_PaymentCod:hover,.lsp_cod:hover,.appliances_PaymenCod:hover\r\n\t{\r\n\tbackground-position: -143px -288px\r\n}\r\n\r\n.special_ziti,.pop_Selfpick,.special_chengduziti {\r\n\twidth: 43px;\r\n\tbackground-position: 0 -320px\r\n}\r\n\r\n.special_ziti:hover,.pop_Selfpick:hover,.special_chengduziti:hover {\r\n\tbackground-position: -143px -320px\r\n}\r\n\r\n.appliances_NightShip {\r\n\twidth: 93px;\r\n\tbackground-position: 0 -256px\r\n}\r\n\r\n.appliances_NightShip:hover {\r\n\tbackground-position: -143px -256px\r\n}\r\n\r\n.appliances_211 {\r\n\twidth: 78px;\r\n\tbackground-position: 0 -95px\r\n}\r\n\r\n.appliances_211:hover {\r\n\tbackground-position: -143px -95px\r\n}\r\n\r\n.appliances_OpenAhead {\r\n\twidth: 68px;\r\n\tbackground-position: 0 -384px\r\n}\r\n\r\n.appliances_OpenAhead:hover {\r\n\tbackground-position: -143px -384px\r\n}\r\n\r\n.appliances_Install {\r\n\twidth: 68px;\r\n\tbackground-position: 0 -481px\r\n}\r\n\r\n.appliances_Install:hover {\r\n\tbackground-position: -143px -481px\r\n}\r\n\r\n.pop_SendpayTJOnetime {\r\n\twidth: 68px;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.pop_SendpayTJOnetime:hover {\r\n\tbackground-position: -143px 0\r\n}\r\n\r\n.lsp_onehour {\r\n\twidth: 68px;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.lsp_onehour:hover {\r\n\tbackground-position: -143px 0\r\n}\r\n\r\n.pop_SendpayToday {\r\n\twidth: 57px;\r\n\tbackground-position: 0 -128px\r\n}\r\n\r\n.pop_SendpayToday:hover {\r\n\tbackground-position: -143px -128px\r\n}\r\n\r\n.pop_SendpayNextday {\r\n\twidth: 57px;\r\n\tbackground-position: 0 -160px\r\n}\r\n\r\n.pop_SendpayNextday:hover {\r\n\tbackground-position: -143px -160px\r\n}\r\n\r\n.pop_SendpayAftertomorrow {\r\n\twidth: 57px;\r\n\tbackground-position: 0 -192px\r\n}\r\n\r\n.pop_SendpayAftertomorrow:hover {\r\n\tbackground-position: -143px -192px\r\n}\r\n\r\n.pop_FreightInsurance {\r\n\twidth: 57px;\r\n\tbackground-position: 0 -448px\r\n}\r\n\r\n.pop_FreightInsurance:hover {\r\n\tbackground-position: -143px -448px\r\n}\r\n\r\n.service_home {\r\n\twidth: 68px;\r\n\tbackground-position: 0 -544px\r\n}\r\n\r\n.service_home:hover {\r\n\twidth: 68px;\r\n\tbackground-position: -143px -544px\r\n}\r\n\r\n.jingdou_xiankuan,.jingdou_xiankuan_appliances,.jingdou_xiankuan_pop {\r\n\twidth: 80px;\r\n\tbackground-position: 0 -576px\r\n}\r\n\r\n.jingdou_xiankuan:hover,.jingdou_xiankuan_appliances:hover,.jingdou_xiankuan_pop:hover\r\n\t{\r\n\tbackground-position: -143px -576px\r\n}\r\n\r\n.ps_Jbd {\r\n\twidth: 68px;\r\n\tbackground-position: 0 -608px\r\n}\r\n\r\n.ps_Jbd:hover {\r\n\tbackground-position: -143px -608px\r\n}\r\n\r\n.Zitiche {\r\n\twidth: 57px;\r\n\tbackground-position: 0 -640px\r\n}\r\n\r\n.Zitiche:hover {\r\n\tbackground-position: -143px -640px\r\n}\r\n\r\n.Zitiche_Pop {\r\n\twidth: 57px;\r\n\tbackground-position: 0 -640px\r\n}\r\n\r\n.Zitiche_Pop:hover {\r\n\tbackground-position: -143px -640px\r\n}\r\n\r\n.pico-onlineserver {\r\n\twidth: 69px;\r\n\tbackground-position: 0 -672px\r\n}\r\n\r\n.pico-onlineserver:hover {\r\n\tbackground-position: -143px -672px\r\n}\r\n\r\n.pijiujie,.pijiujie_pop,.pijiujie_appliances {\r\n\twidth: 81px;\r\n\tbackground-position: 0 -704px\r\n}\r\n\r\n.pijiujie:hover,.pijiujie_pop:hover,.pijiujie_appliances:hover {\r\n\twidth: 81px;\r\n\tbackground-position: -143px -704px\r\n}\r\n\r\n.appliances_Delivery {\r\n\twidth: 69px;\r\n\tbackground-position: 0 -736px\r\n}\r\n\r\n.appliances_Delivery:hover {\r\n\tbackground-position: -143px -736px\r\n}\r\n\r\n.Ribai_Season,.appliances_Ribai_Season,.pop_Ribai_Season {\r\n\twidth: 84px;\r\n\tbackground-position: 0 -768px\r\n}\r\n\r\n.Ribai_Season:hover,.appliances_Ribai_Season:hover,.pop_Ribai_Season:hover\r\n\t{\r\n\tbackground-position: -143px -768px\r\n}\r\n\r\n#summary-service .shouhoudaojia {\r\n\tdisplay: inline-block;\r\n\theight: 16px;\r\n\tline-height: 16px;\r\n\tmargin-right: 5px;\r\n\tbackground-image: url(../images/promise20141021.png);\r\n\tbackground-repeat: no-repeat;\r\n\t*zoom: 1;\r\n\tvertical-align: middle\r\n}\r\n\r\n.shouhoudaojia {\r\n\twidth: 68px;\r\n\tbackground-position: 0 -512px;\r\n\tdisplay: inline-block;\r\n\theight: 16px;\r\n\tline-height: 16px;\r\n\tmargin-right: 5px;\r\n\tbackground-image: url(../images/promise20141021.png);\r\n\tbackground-repeat: no-repeat;\r\n\t*zoom: 1;\r\n\tvertical-align: middle\r\n}\r\n\r\n.shouhoudaojia:hover {\r\n\tbackground-position: -143px -512px\r\n}\r\n\r\n.root61 #promise-ico {\r\n\tdisplay: inline;\r\n\tpadding-left: 10px\r\n}\r\n\r\n.product-intro-noitem #choose {\r\n\tmargin-bottom: 0\r\n}\r\n\r\n.product-intro-noitem,.product-intro-itemover {\r\n\tmargin-bottom: 15px\r\n}\r\n\r\n#choose {\r\n\tborder-top: 1px dotted #ddd;\r\n\tpadding-top: 10px\r\n}\r\n\r\n#choose li {\r\n\toverflow: hidden;\r\n\tpadding: 5px 0\r\n}\r\n\r\n.product-intro-noitem #choose li {\r\n\tborder-color: #ddd\r\n}\r\n\r\n#choose #choose-noresult {\r\n\tpadding-left: 10px\r\n}\r\n\r\n#choose a {\r\n\tdisplay: block;\r\n\twhite-space: nowrap;\r\n\ttext-decoration: none\r\n}\r\n\r\n#choose #choose-btns {\r\n\tborder-bottom: 0;\r\n\tpadding-left: 10px\r\n}\r\n\r\n#choose .dt {\r\n\twidth: 71px\r\n}\r\n\r\n#choose .dd {\r\n\toverflow: hidden\r\n}\r\n\r\n#choose .item {\r\n\tfloat: left;\r\n\tmargin: 2px 8px 2px 0\r\n}\r\n\r\n#choose .item img {\r\n\tfloat: left\r\n}\r\n\r\n#choose .item a {\r\n\tborder: 1px solid #ccc;\r\n\tpadding: 1px\r\n}\r\n\r\n#choose .item a:hover {\r\n\tborder: 2px solid #e4393c;\r\n\tpadding: 0\r\n}\r\n\r\n#choose div.selected a {\r\n\tborder: 2px solid #e4393c;\r\n\tpadding: 3px 5px\r\n}\r\n\r\n#choose .selected,#choose .disabled {\r\n\tposition: relative;\r\n\tzoom: 1\r\n}\r\n\r\n#choose .disabled i {\r\n\tdisplay: none\r\n}\r\n\r\n#choose #choose-color .disabled a {\r\n\tborder: 1px dashed #ccc;\r\n\tpadding: 1px\r\n}\r\n\r\n#choose #choose-version .disabled a,#choose #choose-type .disabled a {\r\n\tborder: 1px dashed #ccc;\r\n\tpadding: 4px\r\n}\r\n\r\n#choose #choose-version .disabled a,#choose #choose-type .disabled a {\r\n\tcolor: #999\r\n}\r\n\r\n#choose-color.choose-color-shouji .dt {\r\n\tmargin-top: 10px\r\n}\r\n\r\n#choose-color.choose-color-shouji i {\r\n\tdisplay: inline-block;\r\n\tpadding-top: 4px;\r\n\tfont-style: normal;\r\n\tmargin-right: 3px;\r\n\tcursor: pointer;\r\n\t*zoom: 1\r\n}\r\n\r\n#choose-color.choose-color-shouji .item a {\r\n\tpadding: 1px;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#choose-color.choose-color-shouji div.selected a {\r\n\tpadding: 0;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#choose-color.choose-color-shouji .item a:hover {\r\n\tpadding: 0\r\n}\r\n\r\n#choose-color.choose-color-shouji .item a img {\r\n\tmargin: 1px 3px 1px 1px\r\n}\r\n\r\n#choose .selected b {\r\n\tposition: absolute;\r\n\tbottom: 0;\r\n\tright: 0;\r\n\twidth: 12px;\r\n\theight: 12px;\r\n\toverflow: hidden;\r\n\tbackground-position: -202px -224px\r\n}\r\n\r\n#choose-color .dt {\r\n\tmargin-top: 24px\r\n}\r\n\r\n#choose-color .dd a {\r\n\tfloat: left\r\n}\r\n\r\n#choose-version .dt {\r\n\tmargin-top: 8px\r\n}\r\n\r\n#choose-version .item a {\r\n\tfloat: left;\r\n\tpadding: 4px 6px;\r\n\tbackground: #fff\r\n}\r\n\r\n#choose-version .item a:hover {\r\n\tpadding: 3px 5px\r\n}\r\n\r\n#choose-type .dt,#choose-suit .dt {\r\n\tmargin-top: 8px\r\n}\r\n\r\n#choose-type .item a,#choose-suit .item a {\r\n\tfloat: left;\r\n\tpadding: 4px 6px;\r\n\tbackground: #fff\r\n}\r\n\r\n#choose-type .item a:hover,#choose-suit .item a:hover {\r\n\tpadding: 3px 5px\r\n}\r\n\r\n#choose-amount {\r\n\tpadding: 4px 0\r\n}\r\n\r\n#choose-amount .dt,#choose-result .dt {\r\n\t\r\n}\r\n\r\n#choose-amount .wrap-input {\r\n\tposition: relative;\r\n\twidth: 36px;\r\n\tpadding: 0 18px\r\n}\r\n\r\n#choose-amount .wrap-input a {\r\n\tposition: absolute;\r\n\ttop: 3px;\r\n\twidth: 15px;\r\n\theight: 15px;\r\n\toverflow: hidden;\r\n\tline-height: 50px\r\n}\r\n\r\n#choose-amount .btn-reduce {\r\n\tleft: 0;\r\n\tbackground-position: -216px -190px\r\n}\r\n\r\n#choose-amount .btn-add {\r\n\tright: 0;\r\n\tbackground-position: -232px -190px\r\n}\r\n\r\n#choose-amount .btn-reduce:hover {\r\n\tbackground-position: -216px -206px\r\n}\r\n\r\n#choose-amount .btn-add:hover {\r\n\tbackground-position: -232px -206px\r\n}\r\n\r\n#choose-amount .text {\r\n\twidth: 30px;\r\n\theight: 16px;\r\n\tborder: 1px solid #ccc;\r\n\tpadding: 2px;\r\n\ttext-align: center\r\n}\r\n\r\n#choose #choose-result {\r\n\tpadding: 6px 0 0 10px;\r\n\tcolor: #e4393c;\r\n\tborder-bottom: 0\r\n}\r\n\r\n#choose #choose-result .dt {\r\n\twidth: auto\r\n}\r\n\r\n#choose .choose-noresult strong {\r\n\tpadding-left: 1em\r\n}\r\n\r\n.product-intro-noitem #choose #choose-result {\r\n\tcolor: #333\r\n}\r\n\r\n#choose-btns {\r\n\tpadding: 0 0 8px 10px\r\n}\r\n\r\n#choose-btns .btn {\r\n\tfloat: left;\r\n\tmargin-top: 8px;\r\n\theight: 38px;\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n#choose-btns .btn a {\r\n\tfloat: left;\r\n\tmargin-right: 6px;\r\n\toverflow: hidden\r\n}\r\n\r\n#choose-countdown {\r\n\tclear: both\r\n}\r\n\r\n#choose-btns .btn-append {\r\n\twidth: 137px;\r\n\theight: 38px\r\n}\r\n\r\n#choose-btns .btn-append b {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#choose-btns a.btn-append:hover b {\r\n\tbackground-position: -146px 0\r\n}\r\n\r\n#choose-btns .btn-gift {\r\n\twidth: 153px;\r\n\theight: 38px\r\n}\r\n\r\n#choose-btns .btn-gift b {\r\n\tbackground-position: 0 -572px\r\n}\r\n\r\n#choose-btns a.btn-gift:hover b {\r\n\tbackground-position: -157px -572px\r\n}\r\n\r\n#choose-btns .disabled .btn-gift b,#choose-btns .disabled a.btn-gift:hover b\r\n\t{\r\n\tbackground-position: -314px -572px\r\n}\r\n\r\n#choose-btns #choose-btn-qiang .btn-qiang {\r\n\twidth: auto;\r\n\tpadding: 0 1em;\r\n\tfont: 700 18px/36px 'microsoft yahei';\r\n\ttext-align: center;\r\n\toverflow: hidden;\r\n\twhite-space: nowrap;\r\n\tmargin-right: 6px;\r\n\tcolor: #fff;\r\n\tbackground-color: #E74649;\r\n\tbackground-image: -ms-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: -moz-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: -o-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #E74649),\r\n\t\tcolor-stop(1, #DF3033));\r\n\tbackground-image: -webkit-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: linear-gradient(to bottom, #E74649 0, #DF3033 100%);\r\n\tborder-radius: 2px\r\n}\r\n\r\n#choose-btns #choose-btn-qiang.disabled .btn-qiang {\r\n\tcolor: #ccc;\r\n\tborder: 1px solid #ddd;\r\n\tbackground: #fff\r\n}\r\n\r\n#choose-btns #choose-btn-qiang .btn-qiang b {\r\n\tbackground-image: none\r\n}\r\n\r\n#choose-btns a.btn-yaan b {\r\n\tbackground-position: 0 -434px\r\n}\r\n\r\n#choose-btns a.btn-yaan:hover b {\r\n\tbackground-position: -157px -434px\r\n}\r\n\r\n.product-intro-noitem #choose-btns .disabled a.btn-yaan b {\r\n\tbackground-position: -293px -434px\r\n}\r\n\r\n#choose-btns .choose-btn-append-lite .btn-append {\r\n\theight: 38px;\r\n\twidth: 101px;\r\n\tfont: 12px/38px simsun;\r\n\tmargin: 0 6px 0 0;\r\n\tcolor: #333\r\n}\r\n\r\n#choose-btns .choose-btn-append-lite .btn-append b {\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tbackground-position: 0 -215px;\r\n\tbackground-color: none\r\n}\r\n\r\n#choose-btn-append.disabled .btn-append {\r\n\twidth: 137px\r\n}\r\n\r\n#choose-btns #choose-btn-append.choose-btn-append-lite .btn-append:hover b\r\n\t{\r\n\tbackground-position: -157px -215px\r\n}\r\n\r\n#choose-btns #choose-btn-append .btn-append-buynow b {\r\n\tbackground-position: 0 -123px\r\n}\r\n\r\n#choose-btns #choose-btn-append a.btn-append-buynow:hover b {\r\n\tbackground-position: -157px -123px\r\n}\r\n\r\n#choose-btn-append .btn-append-heyue {\r\n\twidth: 147px\r\n}\r\n\r\n#choose-btn-append .btn-append-heyue b {\r\n\tbackground-position: 0 -526px\r\n}\r\n\r\n#choose-btns #choose-btn-append a.btn-append-heyue:hover b {\r\n\tbackground-position: -157px -526px\r\n}\r\n\r\n#choose-btns #choose-btn-append a.btn-append-zydz {\r\n\twidth: 145px\r\n}\r\n\r\n#choose-btns #choose-btn-append a.btn-append-zydz b,#choose-btns #choose-btn-append a.btn-append-zydz:hover b,.cat-3-1195 #choose-btns #choose-btn-append a.btn-append-zydz:hover b\r\n\t{\r\n\tbackground:\r\n\t\turl(../images/54238aaaN17189794.png)\r\n\t\t0 0 no-repeat\r\n}\r\n\r\n#choose-btns .btn-renew {\r\n\twidth: 137px;\r\n\theight: 38px\r\n}\r\n\r\n#choose-btns .btn-subsidies b {\r\n\tbackground-position: 0 -77px\r\n}\r\n\r\n#choose-btns .btn-renew b {\r\n\tbackground-position: 0 -480px\r\n}\r\n\r\n#choose-btns a.btn-renew:hover b {\r\n\tbackground-position: -157px -480px\r\n}\r\n\r\n#choose-btns a.btn-subsidies:hover b {\r\n\tbackground-position: -157px -77px\r\n}\r\n\r\n#choose-btns .btn-baitiao {\r\n\twidth: 105px;\r\n\theight: 38px\r\n}\r\n\r\n#choose-btns .btn-baitiao b {\r\n\tbackground-position: 0 -664px\r\n}\r\n\r\n.no-stock #choose-btns .btn-baitiao b {\r\n\tbackground-position: -314px -664px;\r\n\tcursor: default\r\n}\r\n\r\n#nav-minicart.nav-minicart-baitiao .nav-minicart-btn a,#nav-minicart.nav-minicart-baitiao .nav-minicart-btn a:hover\r\n\t{\r\n\twidth: 77px;\r\n\tbackground-position: -156px -664px\r\n}\r\n\r\n#choose-btns .btn-baitiao-n {\r\n\twidth: 80px;\r\n\theight: 38px\r\n}\r\n\r\n#choose-btns .btn-baitiao-n b {\r\n\tbackground-position: -314px -215px\r\n}\r\n\r\n.cat-3-1195 #choose-btns .btn-append,.cat-3-12360 #choose-btns .btn-append\r\n\t{\r\n\twidth: 110px\r\n}\r\n\r\n.cat-3-1195 #choose-btns .btn-append b,.cat-3-12360 #choose-btns .btn-append b\r\n\t{\r\n\tbackground-position: 0 -618px\r\n}\r\n\r\n.cat-3-1195 #choose-btns #choose-btn-append .btn-append:hover b,.cat-3-12360 #choose-btns #choose-btn-append .btn-append:hover b\r\n\t{\r\n\tbackground-position: -157px -618px\r\n}\r\n\r\n.cat-3-1195 #choose-btns #choose-btn-append.disabled .btn-append b,.cat-3-12360 #choose-btns #choose-btn-append.disabled .btn-append b,.cat-3-1195 #choose-btns #choose-btn-append.disabled .btn-append:hover b,.cat-3-12360 #choose-btns #choose-btn-append.disabled .btn-append:hover b\r\n\t{\r\n\tbackground-position: -314px -618px\r\n}\r\n\r\n#choose-btns .btn-easybuy {\r\n\twidth: 77px;\r\n\theight: 38px\r\n}\r\n\r\n#choose-btns .btn-easybuy b {\r\n\tbackground-position: 0 -169px\r\n}\r\n\r\n#choose-btns a.btn-easybuy:hover b {\r\n\tbackground-position: -157px -169px\r\n}\r\n\r\n#choose-btns #choose-btn-easybuy .css3-btn-gray b {\r\n\tdisplay: none\r\n}\r\n\r\n#choose-btns #choose-btn-easybuy .css3-btn-gray {\r\n\tcolor: #ddd;\r\n\tborder-radius: 2px;\r\n\tcursor: default;\r\n\theight: 36px;\r\n\tline-height: 36px\r\n}\r\n\r\n#choose-btns .btn a.btn-divide {\r\n\twidth: 90px;\r\n\theight: 38px;\r\n\tmargin: 0 6px 0 0;\r\n\tline-height: 38px\r\n}\r\n\r\n#choose-btns .btn-divide b {\r\n\tbackground-position: 0 -261px\r\n}\r\n\r\n#choose-btns a.btn-divide:hover b {\r\n\tbackground-position: -157px -261px\r\n}\r\n\r\n#choose-btns .btn a.btn-coll {\r\n\twidth: 72px;\r\n\theight: 38px;\r\n\tline-height: 38px;\r\n\tmargin-right: 10px\r\n}\r\n\r\n#choose-btns .btn-coll b {\r\n\tbackground-position: 0 -307px\r\n}\r\n\r\n#choose-btns a.btn-coll:hover b {\r\n\tbackground-position: -157px -307px\r\n}\r\n\r\n#choose-btns .btn-notice {\r\n\twidth: 89px;\r\n\theight: 38px;\r\n\tbackground-position: -79px -48px\r\n}\r\n\r\n#choose-btns .btn-notice b {\r\n\tbackground-position: 0 -353px\r\n}\r\n\r\n#choose-btns a.btn-notice:hover b {\r\n\tbackground-position: -157px -353px\r\n}\r\n\r\n#summary-market del {\r\n\tfloat: left\r\n}\r\n\r\n#summary .extra-ico {\r\n\tmargin-left: 1em;\r\n\tvisibility: hidden;\r\n\tdisplay: inline-block;\r\n\twidth: 62px;\r\n\theight: 15px;\r\n\toverflow: hidden;\r\n\tline-height: 100px;\r\n\tbackground-position: -216px -222px;\r\n\t*zoom: 1\r\n}\r\n\r\n.product-intro-noitem #choose-btn-notice {\r\n\tdisplay: block\r\n}\r\n\r\n.root61 #name h1 {\r\n\theight: 1.5em;\r\n\twhite-space: nowrap;\r\n\ttext-overflow: ellipsis\r\n}\r\n\r\n.root61 #name strong,.root61 #name h1 {\r\n\twidth: 840px\r\n}\r\n\r\n.disabled {\r\n\tcursor: default\r\n}\r\n\r\n#noitem-related-list {\r\n\twidth: 450px;\r\n\tfloat: left;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0;\r\n\tposition: relative;\r\n\tmargin-bottom: 20px\r\n}\r\n\r\n#noitem-related-list p {\r\n\tpadding: 10px 0 0 10px\r\n}\r\n\r\n#noitem-list li div {\r\n\twidth: 100px;\r\n\tmargin: 0 15px\r\n}\r\n\r\n#noitem-list li .p-name {\r\n\theight: 3em;\r\n\tline-height: 1.5em;\r\n\toverflow: hidden;\r\n\ttext-align: center\r\n}\r\n\r\n#noitem-list {\r\n\tmargin: 10px 0 0 37px;\r\n\tpadding-bottom: 10px;\r\n\theight: 160px\r\n}\r\n\r\n#noitem-list .p-price,#itemover-list .p-price,#itemover1-list .p-price {\r\n\theight: 16px;\r\n\ttext-align: center\r\n}\r\n\r\n#noitem-related-list .spec-control {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 80px;\r\n\twidth: 17px;\r\n\theight: 54px\r\n}\r\n\r\n#noitem-forward {\r\n\tleft: 10px;\r\n\tbackground-position: 0 -139px\r\n}\r\n\r\n#noitem-backward {\r\n\tright: 10px;\r\n\tbackground-position: -17px -139px\r\n}\r\n\r\n#noitem-backward:hover {\r\n\tbackground-position: -51px -139px\r\n}\r\n\r\n#noitem-forward:hover {\r\n\tbackground-position: -34px -139px\r\n}\r\n\r\n#out-of-stock {\r\n\tborder-top: 2px solid #999\r\n}\r\n\r\n#out-of-stock #noitem-related-list {\r\n\twidth: auto;\r\n\tfloat: none;\r\n\tborder: 0;\r\n\tmargin-bottom: 0\r\n}\r\n\r\n#out-of-stock .mt {\r\n\theight: 28px;\r\n\tline-height: 28px;\r\n\tborder-left: 1px solid #ddd;\r\n\tborder-right: 1px solid #ddd\r\n}\r\n\r\n#out-of-stock .mc {\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0\r\n}\r\n\r\n#out-of-stock li div {\r\n\twidth: 165px;\r\n\tmargin: 0 30px\r\n}\r\n\r\n#out-of-stock li .p-name {\r\n\ttext-align: center;\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n#out-of-stock li .p-img {\r\n\ttext-align: center\r\n}\r\n\r\n#out-of-stock .spec-control {\r\n\twidth: 14px;\r\n\theight: 50px;\r\n\ttop: 100px;\r\n\tbackground-image:\r\n\t\turl(../images/footprint-arr.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#out-of-stock #noitem-list li {\r\n\twidth: 225px;\r\n\toverflow: hidden\r\n}\r\n\r\n#noitem-backward {\r\n\tbackground-position: -16px 0;\r\n\tright: 20px;\r\n\tleft: auto\r\n}\r\n\r\n#noitem-backward:hover {\r\n\tbackground-position: -16px -50px\r\n}\r\n\r\n#noitem-forward {\r\n\tbackground-position: 0 0;\r\n\tleft: 20px\r\n}\r\n\r\n#noitem-forward:hover {\r\n\tbackground-position: 0 -50px\r\n}\r\n\r\n#noitem-forward.disabled {\r\n\tbackground-position: 0 -100px\r\n}\r\n\r\n#noitem-backward.disabled {\r\n\tbackground-position: -16px -100px\r\n}\r\n\r\n.root61 #noitem-related-list {\r\n\twidth: 598px\r\n}\r\n\r\ndiv#itemover-related-list {\r\n\tmargin-bottom: 0;\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n#itemover-list .fore,#itemover1-list .fore,#noitem-list .fore {\r\n\tfloat: left\r\n}\r\n\r\n#itemover1-related-list {\r\n\theight: 213px\r\n}\r\n\r\n#itemover-related-list,#itemover1-related-list {\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0;\r\n\tposition: relative;\r\n\tmargin-bottom: 20px;\r\n\t*top: -3px\r\n}\r\n\r\n#itemover-related-list p,#itemover1-related-list p {\r\n\tpadding: 10px 0 0 10px\r\n}\r\n\r\n#itemover1-list li div {\r\n\twidth: 100px;\r\n\tmargin: 0 15px\r\n}\r\n\r\n#itemover-related-list li {\r\n\twidth: 160px;\r\n\tpadding: 0 22px\r\n}\r\n\r\n.root61 #itemover-related-list li {\r\n\tpadding: 0 24px\r\n}\r\n\r\n.itemover-related-list li .p-name {\r\n\theight: 3em;\r\n\tline-height: 1.5em;\r\n\toverflow: hidden\r\n}\r\n\r\n#itemover1-list li .p-name {\r\n\theight: 3em;\r\n\tline-height: 1.5em;\r\n\toverflow: hidden;\r\n\ttext-align: center\r\n}\r\n\r\n#itemover-list,#itemover1-list {\r\n\tmargin: 10px 0 0 50px;\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n#itemover1-list .p-price {\r\n\toverflow: visible\r\n}\r\n\r\n#itemover-related-list .spec-control,#itemover1-related-list .spec-control\r\n\t{\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 80px;\r\n\twidth: 17px;\r\n\theight: 54px\r\n}\r\n\r\n#itemover-related-list #itemover-forward,#itemover1-related-list #itemover1-forward\r\n\t{\r\n\tleft: 10px;\r\n\tbackground-position: 0 -139px\r\n}\r\n\r\n#itemover-backward,#itemover1-backward {\r\n\tright: 10px;\r\n\tbackground-position: -17px -139px\r\n}\r\n\r\n#itemover-backward:hover,#itemover1-backward:hover {\r\n\tbackground-position: -51px -139px\r\n}\r\n\r\n#itemover-forward:hover #itemover1-forward:hover {\r\n\tbackground-position: -34px -139px\r\n}\r\n\r\n#itemover-related-list #itemover-forward.disabled,#itemover1-related-list #itemove1r-forward.disabled\r\n\t{\r\n\tbackground-position: -68px -139px\r\n}\r\n\r\n#itemover-related-list #itemover-backward.disabled,#itemover1-related-list #itemover1-backward.disabled\r\n\t{\r\n\tbackground-position: -85px -139px\r\n}\r\n\r\n.itemover-title button {\r\n\twidth: 89px;\r\n\theight: 25px;\r\n\tline-height: 25px;\r\n\tborder: 0;\r\n\tbackground-color: none;\r\n\tbackground-position: 0 -112px;\r\n\tcursor: pointer\r\n}\r\n\r\n.itemover-title {\r\n\tborder: 1px solid #ddd;\r\n\theight: 38px;\r\n\tline-height: 38px;\r\n\tbackground: #f5f5f5;\r\n\tmargin-top: 10px\r\n}\r\n\r\n.itemover-title h3 {\r\n\tpadding-left: 10px;\r\n\tfloat: left;\r\n\tdisplay: inline\r\n}\r\n\r\n#itemover-related-list .controls {\r\n\tposition: absolute;\r\n\tright: 0;\r\n\ttop: -40px\r\n}\r\n\r\n#itemover-related-list .controls a {\r\n\twidth: 22px;\r\n\theight: 22px;\r\n\tline-height: 22px;\r\n\tdisplay: inline-block;\r\n\ttext-align: center;\r\n\tborder: 1px solid #ddd;\r\n\tborder-radius: 22px;\r\n\tbackground: #fff;\r\n\t*zoom: 1;\r\n\tmargin-right: 5px\r\n}\r\n\r\n#itemover-related-list .controls {\r\n\tpadding: 8px 5px 0 0\r\n}\r\n\r\n#itemover-related-list .controls a:hover,#itemover-related-list .controls a.curr\r\n\t{\r\n\tbackground: #e33b3d;\r\n\tborder: 1px solid #e33b3d;\r\n\tcolor: #fff;\r\n\ttext-decoration: none\r\n}\r\n\r\n.root61 #itemover-list,.root61 #itemover1-list {\r\n\tmargin: 10px 0 0 37px\r\n}\r\n\r\n#store-selector {\r\n\tposition: relative;\r\n\tfloat: left;\r\n\tz-index: 3;\r\n\theight: 26px;\r\n\tmargin-right: 6px\r\n}\r\n\r\n#store-selector dl,#store-selector dt,#store-selector dd {\r\n\tfloat: none;\r\n\tcolor: #999\r\n}\r\n\r\n#store-selector dl {\r\n\twidth: 390px\r\n}\r\n\r\n#store-selector dd {\r\n\tline-height: 18px\r\n}\r\n\r\n#store-selector dt {\r\n\tpadding: 6px 0 10px\r\n}\r\n\r\n#store-selector .text {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\ttop: 0;\r\n\theight: 23px;\r\n\tbackground: #fff;\r\n\tborder: 1px solid #CECBCE;\r\n\tpadding: 0 20px 0 4px;\r\n\tline-height: 23px;\r\n\toverflow: hidden\r\n}\r\n\r\n#store-selector .text b {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tright: 0;\r\n\twidth: 17px;\r\n\theight: 24px;\r\n\tbackground-position: -264px -188px;\r\n\toverflow: hidden\r\n}\r\n\r\n#store-selector .content {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\ttop: 25px;\r\n\tleft: -45px;\r\n\tborder: 1px solid #CECBCE;\r\n\twidth: 390px;\r\n\tpadding: 15px;\r\n\tbackground: #fff;\r\n\t-moz-box-shadow: 0 0 5px #ddd;\r\n\t-webkit-box-shadow: 0 0 5px #ddd;\r\n\tbox-shadow: 0 0 5px #ddd\r\n}\r\n\r\n#store-selector .content select {\r\n\tfloat: left;\r\n\twidth: 120px;\r\n\tborder: 1px solid #CECBCE;\r\n\tmargin-right: 15px\r\n}\r\n\r\n#store-selector .content .select3 {\r\n\tmargin-right: 0\r\n}\r\n\r\n#store-selector .close {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\tz-index: 2;\r\n\ttop: 20px;\r\n\tleft: 365px;\r\n\twidth: 17px;\r\n\theight: 17px;\r\n\tbackground-position: -257px -86px\r\n}\r\n\r\n#store-selector.hover .content,#store-selector.hover .close {\r\n\tdisplay: block\r\n}\r\n\r\n#store-selector.hover .close {\r\n\tcursor: pointer\r\n}\r\n\r\n#store-selector.hover .text {\r\n\tz-index: 1;\r\n\theight: 25px;\r\n\tborder-bottom: 0\r\n}\r\n\r\n#store-prompt {\r\n\tfloat: left;\r\n\tmargin-top: 4px\r\n}\r\n\r\n#store-prompt strong {\r\n\tfont-size: 14px\r\n}\r\n\r\n#store-prompt strong.store-over {\r\n\tcolor: #e4393c\r\n}\r\n\r\n#preview {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\twidth: 352px;\r\n\t*z-index: 4\r\n}\r\n\r\n#preview #spec-list a.disabled {\r\n\tcursor: default\r\n}\r\n\r\n#spec-n1 {\r\n\twidth: 350px;\r\n\theight: 350px;\r\n\tborder: 1px solid #ddd;\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n#spec-list {\r\n\tposition: relative;\r\n\twidth: 310px;\r\n\theight: 54px;\r\n\toverflow: hidden;\r\n\tpadding: 0 21px\r\n}\r\n\r\n#spec-list .spec-control {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\twidth: 17px;\r\n\theight: 54px\r\n}\r\n\r\n#spec-forward {\r\n\tleft: 0;\r\n\tbackground-position: 0 -139px\r\n}\r\n\r\n#spec-backward {\r\n\tright: 0;\r\n\tbackground-position: -17px -139px\r\n}\r\n\r\n#preview .view-sup {\r\n\tposition: absolute;\r\n\tright: 0;\r\n\ttop: 0;\r\n\tz-index: 3\r\n}\r\n\r\n#preview .view-sup a {\r\n\tdisplay: block;\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\toverflow: hidden;\r\n\ttext-indent: -200px\r\n}\r\n\r\n#view-360 a {\r\n\tbackground: url(../images/360_flash.png) no-repeat 0 0\r\n}\r\n\r\n#view-video a {\r\n\tbackground: url(../images/360_video.png) no-repeat 0 0\r\n}\r\n\r\n* html #view-360 a {\r\n\tbackground-image: none;\r\n\tfilter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,\r\n\t\tsrc='../images/360_flash.png')\r\n}\r\n\r\n* html #view-video a {\r\n\tbackground-image: none;\r\n\tfilter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,\r\n\t\tsrc='../images/360_video.png')\r\n}\r\n\r\n#spec-forward:hover {\r\n\tbackground-position: -34px -139px\r\n}\r\n\r\n#spec-backward:hover {\r\n\tbackground-position: -51px -139px\r\n}\r\n\r\n#spec-forward.disabled {\r\n\tbackground-position: -68px -139px\r\n}\r\n\r\n#spec-backward.disabled {\r\n\tbackground-position: -85px -139px\r\n}\r\n\r\n#spec-list .spec-items {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 21px\r\n}\r\n\r\n#spec-list .spec-items li {\r\n\twidth: 62px;\r\n\ttext-align: center;\r\n\tfont-size: 0;\r\n\tposition: relative\r\n}\r\n\r\n#spec-list li b {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tz-index: 1;\r\n\tbottom: 0;\r\n\tleft: 4px;\r\n\twidth: 54px;\r\n\theight: 49px;\r\n\theight: 18px;\r\n\tfont: 12px/18px simsun;\r\n\tcolor: #fff\r\n}\r\n\r\n#spec-list li b {\r\n\tbackground: rgba(0, 0, 0, .4);\r\n\tfilter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,\r\n\t\tStartColorStr='#8c000000', EndColorStr='#8c000000')\r\n}\r\n\r\n:root #spec-list li b,:root #spec-list li b {\r\n\tfilter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,\r\n\t\tStartColorStr='#00000000', EndColorStr='#00000000')\r\n}\r\n\r\n#spec-list .spec-items img {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tpadding: 1px;\r\n\tborder: 1px solid #CECFCE\r\n}\r\n\r\n#spec-list .spec-items .curr img {\r\n\tpadding: 0;\r\n\tborder: 2px solid #e4393c\r\n}\r\n\r\n.jqzoom {\r\n\tposition: relative;\r\n\tpadding: 0\r\n}\r\n\r\n.zoomdiv {\r\n\tz-index: 8;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 362px;\r\n\twidth: 400px;\r\n\theight: 400px;\r\n\tbackground: url(../images/loading.gif) #fff no-repeat center center;\r\n\tborder: 1px solid #e4e4e4;\r\n\tdisplay: none;\r\n\ttext-align: center;\r\n\toverflow: hidden\r\n}\r\n\r\n.bigimg {\r\n\twidth: 800px;\r\n\theight: 800px\r\n}\r\n\r\n.jqZoomPup {\r\n\tz-index: 3;\r\n\tvisibility: hidden;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tborder: 1px solid #aaa;\r\n\tbackground: #FEDE4F 50% top no-repeat;\r\n\topacity: .5;\r\n\t-moz-opacity: .5;\r\n\t-khtml-opacity: .5;\r\n\tfilter: alpha(Opacity = 50);\r\n\tcursor: move\r\n}\r\n\r\n#spec-list .spec-items img.img-hover {\r\n\tborder: 2px solid #e4393c;\r\n\tpadding: 0\r\n}\r\n\r\n#brand-bar {\r\n\tfloat: right;\r\n\twidth: 155px;\r\n\tpadding-top: 18px;\r\n\tmargin-bottom: 15px\r\n}\r\n\r\n#brand-bar .brand {\r\n\tborder: 1px solid #ddd;\r\n\tpadding: 5px 0;\r\n\tmargin-bottom: 8px;\r\n\ttext-align: center\r\n}\r\n\r\n#brand-bar .slogens dt {\r\n\twidth: 140px;\r\n\theight: 15px;\r\n\tmargin: 15px auto 10px;\r\n\toverflow: hidden;\r\n\tline-height: 50px;\r\n\tbackground-position: -121px -271px\r\n}\r\n\r\n#brand-bar .slogens {\r\n\tborder: 1px solid #DEDFDE;\r\n\tpadding-bottom: 8px;\r\n\toverflow: hidden;\r\n\tzoom: 1;\r\n\tdisplay: none\r\n}\r\n\r\n#brand-bar .slogens dd {\r\n\tfloat: left;\r\n\tdisplay: inline;\r\n\ttext-align: center\r\n}\r\n\r\n#brand-bar .slogens span {\r\n\tdisplay: block\r\n}\r\n\r\n#brand-bar .slogens .fore2,#brand-bar .slogens .fore4 {\r\n\twidth: 1px;\r\n\theight: 56px;\r\n\tbackground-position: -277px -39px\r\n}\r\n\r\n#brand-bar .slogens .fore1,#brand-bar .slogens .fore5 {\r\n\twidth: 36px\r\n}\r\n\r\n#brand-bar .slogens .fore3 {\r\n\twidth: 58px\r\n}\r\n\r\n#brand-bar .slogens .fore1 {\r\n\tmargin: 0 5px\r\n}\r\n\r\n#brand-bar .slogens .fore5 {\r\n\tmargin: 0 5px\r\n}\r\n\r\n#brand-bar .slogens b {\r\n\tdisplay: block;\r\n\twidth: 36px;\r\n\theight: 30px;\r\n\tmargin: 0 auto 8px;\r\n\tbackground-repeat: no-repeat;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#brand-bar .slogens .fore1 b {\r\n\tbackground-position: 0 -197px\r\n}\r\n\r\n#brand-bar .slogens .fore3 b {\r\n\tbackground-position: -36px -197px\r\n}\r\n\r\n#brand-bar .slogens .fore5 b {\r\n\tbackground-position: -72px -197px\r\n}\r\n\r\n#brand-bar .slogens .fore1 a:hover b {\r\n\tbackground-position: 0 -227px\r\n}\r\n\r\n#brand-bar .slogens .fore3 a:hover b {\r\n\tbackground-position: -36px -227px\r\n}\r\n\r\n#brand-bar .slogens .fore5 a:hover b {\r\n\tbackground-position: -72px -227px\r\n}\r\n\r\n#brand-bar .seller {\r\n\tborder: solid #DEDFDE;\r\n\tborder-width: 0 1px 1px;\r\n\tpadding: 10px 0\r\n}\r\n\r\n#brand-bar .seller .seller-btn {\r\n\tpadding: 10px 32px 0\r\n}\r\n\r\n.seller-btn a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n#brand-bar .seller-btn {\r\n\tpadding: 5px 10px 0 5px;\r\n\tborder-top: 1px dotted #ccc;\r\n\tmargin-top: 10px;\r\n\tdisplay: none\r\n}\r\n\r\n#brand-bar .seller-link {\r\n\tpadding-left: 5px\r\n}\r\n\r\n#brand-bar .seller-btn a {\r\n\tfloat: left;\r\n\twidth: 90px;\r\n\theight: 26px;\r\n\tline-height: 26px;\r\n\toverflow: hidden;\r\n\ttext-align: center\r\n}\r\n\r\n#brand-bar .seller-btn #jdim {\r\n\tbackground-position: -162px -85px;\r\n\twidth: 70px;\r\n\tpadding-left: 20px;\r\n\tdisplay: inline;\r\n\tmargin-bottom: 10px;\r\n\tposition: relative\r\n}\r\n\r\n#jdim img {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tz-index: 1\r\n}\r\n\r\n#brand-bar .seller-btn #jdim.noservice {\r\n\t\r\n}\r\n\r\n#seller-enter {\r\n\tbackground-position: -162px -85px\r\n}\r\n\r\n#brand-bar .seller-status {\r\n\ttext-align: center;\r\n\tborder-top: 1px solid #DEDFDE;\r\n\tmargin-top: 5px;\r\n\tpadding-top: 5px\r\n}\r\n\r\n#brand-bar .seller-status span {\r\n\tdisplay: block\r\n}\r\n\r\n.root61 #summary {\r\n\twidth: 600px\r\n}\r\n\r\n.root61 #choose {\r\n\twidth: 598px\r\n}\r\n\r\n.root61 #product-intro .dd {\r\n\twidth: 524px\r\n}\r\n\r\n.root61 #brand-bar {\r\n\twidth: 210px\r\n}\r\n\r\n.root61 #brand-bar .slogens span {\r\n\tdisplay: inline\r\n}\r\n\r\n.root61 #brand-bar .seller-btn #jdim {\r\n\tmargin: 0 10px 0 0\r\n}\r\n\r\n.root61 #brand-bar .seller .seller-btn {\r\n\tpadding: 10px 0 0 10px\r\n}\r\n\r\n.root61 #brand-bar .seller-status span {\r\n\tdisplay: inline\r\n}\r\n\r\n.root61 #brand-bar .slogens .fore1,.root61 #brand-bar .slogens .fore5 {\r\n\twidth: 4em\r\n}\r\n\r\n.root61 #brand-bar .slogens .fore3 {\r\n\twidth: 78px\r\n}\r\n\r\n.root61 #brand-bar .slogens .fore1 {\r\n\tmargin: 0 6px 0 10px\r\n}\r\n\r\n.root61 #brand-bar .slogens .fore5 {\r\n\tmargin: 0 10px 0 6px\r\n}\r\n\r\n.root61 #brand-bar .seller-btn {\r\n\tpadding: 5px 10px 0\r\n}\r\n\r\n.root61 #brand-bar .seller-link {\r\n\tpadding-left: 10px\r\n}\r\n\r\n#brand-bar-pop {\r\n\tfloat: right;\r\n\twidth: 155px;\r\n\tmargin-top: 15px;\r\n\tmargin-bottom: 20px\r\n}\r\n\r\n#evaluate-detail .mt {\r\n\tfont-size: 12px\r\n}\r\n\r\n#brand-bar-pop #evaluate dd {\r\n\tline-height: 16px;\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n#brand-bar-pop #evaluate dd s {\r\n\tmargin-top: 0\r\n}\r\n\r\n#brand-bar-pop dl {\r\n\toverflow: hidden;\r\n\t*zoom: 1;\r\n\tpadding: 10px 0 0 10px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-bottom: 0\r\n}\r\n\r\n#brand-bar-pop #hotline {\r\n\tpadding: 10px 0 0 10px;\r\n\tborder-top: 0\r\n}\r\n\r\n#online-service dt,#online-service dd {\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n#brand-bar-pop #evaluate-detail {\r\n\tpadding: 10px 0 0 10px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0;\r\n\tborder-bottom: 0\r\n}\r\n\r\n#brand-bar-pop #evaluate {\r\n\tborder-bottom: 1px solid #ddd;\r\n\tdisplay: none;\r\n\tborder-top: 0\r\n}\r\n\r\n#brand-bar-pop dd {\r\n\tclear: both\r\n}\r\n\r\n#brand-bar-pop dt {\r\n\tfloat: left;\r\n\tpadding-bottom: 5px;\r\n\tfont-family: simsun\r\n}\r\n\r\n#online-service dt {\r\n\tpadding-bottom: 0\r\n}\r\n\r\n#brand-bar-pop #online-service {\r\n\tpadding: 0 0 0 10px;\r\n\tborder-top: 0\r\n}\r\n\r\n#online-service dt {\r\n\tpadding-top: 10px\r\n}\r\n\r\n#online-service dd {\r\n\tpadding-top: 0\r\n}\r\n\r\n#brand-bar-pop #seller {\r\n\tpadding-bottom: 10px;\r\n\tborder: 1px solid #ddd\r\n}\r\n\r\n#seller dd a {\r\n\tcolor: #005ea7\r\n}\r\n\r\n#brand-bar-pop #seller dd {\r\n\twidth: 130px;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#brand-bar-pop .evaluate-grade {\r\n\tfloat: left\r\n}\r\n\r\n.heart-white,.heart-red {\r\n\tbackground: url(i/grade.png) 0 0 no-repeat;\r\n\theight: 18px;\r\n\tdisplay: inline-block;\r\n\t*zoom: 1;\r\n\t_background: url(i/grade-ie6.png) 0 0 no-repeat\r\n}\r\n\r\n#evaluate .heart-white {\r\n\tposition: relative;\r\n\toverflow: hidden;\r\n\twidth: 78px;\r\n\tbackground-position: 0 -18px\r\n}\r\n\r\n#evaluate .heart-red {\r\n\tposition: absolute;\r\n\tleft: -40px;\r\n\twidth: 78px;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#evaluate .h10 {\r\n\tleft: 0\r\n}\r\n\r\n#evaluate .h9 {\r\n\tleft: -10px\r\n}\r\n\r\n#evaluate .h8 {\r\n\tleft: -20px\r\n}\r\n\r\n#evaluate .h7 {\r\n\tleft: -30px\r\n}\r\n\r\n#evaluate .h6 {\r\n\tleft: -40px\r\n}\r\n\r\n#evaluate .h5 {\r\n\tleft: -50px\r\n}\r\n\r\n#evaluate .h4 {\r\n\tleft: -60px\r\n}\r\n\r\n#enter-shop {\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0;\r\n\tpadding-top: 10px\r\n}\r\n\r\n#enter-shop a {\r\n\tdisplay: block;\r\n\tborder-top: 1px solid #ddd;\r\n\theight: 31px;\r\n\tline-height: 31px;\r\n\ttext-align: center;\r\n\tcolor: #005ea7\r\n}\r\n\r\n#enter-shop a:hover {\r\n\tbackground: #eee\r\n}\r\n\r\n#brand-bar-pop #evaluate strong {\r\n\tmargin-left: 2px\r\n}\r\n\r\n#brand-bar-pop #evaluate-detail .mc dl {\r\n\tpadding-bottom: 1px;\r\n\tborder: 0;\r\n\tpadding: 0\r\n}\r\n\r\n#brand-bar-pop #evaluate-detail .mc dd {\r\n\toverflow: hidden;\r\n\tclear: none;\r\n\t*zoom: 1\r\n}\r\n\r\n#brand-bar-pop #evaluate-detail .mc dt {\r\n\t*line-height: 1.2em\r\n}\r\n\r\n#brand-bar-pop #evaluate-item-last {\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n#brand-bar-pop #online-service dt {\r\n\tline-height: 20px\r\n}\r\n\r\n#brand-bar-pop #online-service dd {\r\n\tfloat: left\r\n}\r\n\r\n#brand-bar-pop #evaluate-detail .mc .evaluate-item-last {\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n#evaluate-detail .line {\r\n\twidth: 135px;\r\n\theight: 0;\r\n\toverflow: hidden;\r\n\tborder-bottom: 1px dotted #ddd\r\n}\r\n\r\n#j-im.djd-im {\r\n\t*float: left\r\n}\r\n\r\n.root61 #online-service {\r\n\theight: 45px\r\n}\r\n\r\n.root61 #online-service dt {\r\n\tpadding-bottom: 5px\r\n}\r\n\r\n.djd-im,a.d-offline {\r\n\tdisplay: inline-block;\r\n\tpadding-left: 27px;\r\n\twidth: 59px;\r\n\theight: 24px;\r\n\tline-height: 24px;\r\n\tbackground: url(../images/im20131028.gif) 0 0 no-repeat\r\n}\r\n\r\n#j-im.djd-im,#j-im.djd-im:hover,#j-im.djd-im:visited,#consult #j-im-extra.djd-im,#consult #j-im-extra.djd-im:hover,#consult #j-im-extra.djd-im:visited\r\n\t{\r\n\ttext-decoration: none;\r\n\tcursor: pointer\r\n}\r\n\r\n.djd-im b {\r\n\tcolor: #fff;\r\n\tfont-weight: 400\r\n}\r\n\r\na.d-offline b {\r\n\tcolor: #ccc\r\n}\r\n\r\na.d-offline {\r\n\tbackground: url(i/im20131028.png) 0 0 no-repeat\r\n}\r\n\r\n#summary #j-im {\r\n\tmargin: -3px 0 0 5px;\r\n\t_margin: 0 0 0 5px\r\n}\r\n\r\n#brand-bar-pop #evaluate-detail .fl {\r\n\twidth: 6em\r\n}\r\n\r\n.eva-grade b {\r\n\tdisplay: none\r\n}\r\n\r\n#brand-bar-pop #evaluate-detail s {\r\n\tmargin-left: 0\r\n}\r\n\r\n#brand-bar-pop #pop-company {\r\n\tborder-top: 1px dotted #ddd\r\n}\r\n\r\n#brand-bar-pop #pop-address {\r\n\tborder-top: 0\r\n}\r\n\r\n.root61 #brand-bar-pop {\r\n\twidth: 210px\r\n}\r\n\r\n.root61 #brand-bar-pop dd {\r\n\toverflow: hidden;\r\n\t*zoom: 1;\r\n\tclear: none\r\n}\r\n\r\n.root61 #brand-bar-pop dt {\r\n\tpadding-bottom: 0\r\n}\r\n\r\n.root61 #brand-bar-pop .eva-grade b {\r\n\tdisplay: inline\r\n}\r\n\r\n.root61 #brand-bar-pop #evaluate-detail .fl {\r\n\twidth: 10em\r\n}\r\n\r\n.root61 #brand-bar-pop #evaluate-detail s {\r\n\tmargin-left: 1.5em\r\n}\r\n\r\n.root61 #brand-bar-pop #seller dd {\r\n\twidth: 120px\r\n}\r\n\r\n.root61 #online-service dd {\r\n\tpadding-top: 10px\r\n}\r\n\r\n.root61 #evaluate-detail .line {\r\n\twidth: 190px\r\n}\r\n\r\n#global-buy {\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n#global-buy em {\r\n\tposition: relative;\r\n\tdisplay: block;\r\n\twidth: 155px;\r\n\theight: 30px;\r\n\toverflow: hidden\r\n}\r\n\r\n#global-buy em img {\r\n\tposition: absolute;\r\n\tleft: auto;\r\n\tright: 0\r\n}\r\n\r\n.root61 #global-buy,.root61 #global-buy em {\r\n\twidth: 210px\r\n}\r\n\r\n.root61 #global-buy em img {\r\n\tleft: 0\r\n}\r\n\r\n#brand-bar #evaluate {\r\n\tdisplay: none\r\n}\r\n\r\n#evaluate {\r\n\tpadding: 10px 0 0 5px;\r\n\toverflow: hidden;\r\n\t*zoom: 1;\r\n\tclear: both\r\n}\r\n\r\n#brand-bar .seller .dt {\r\n\tfloat: left;\r\n\ttext-align: left;\r\n\tmargin-bottom: 10px;\r\n\twidth: auto\r\n}\r\n\r\n.seller em {\r\n\tfloat: left;\r\n\tfont: 12px/12px simsun\r\n}\r\n\r\n.seller a {\r\n\twhite-space: nowrap;\r\n\tclear: both;\r\n\tdisplay: block;\r\n\tfont: 12px/12px simsun\r\n}\r\n\r\n* html .seller em,* html .seller a {\r\n\tfont: 12px/14px simsun\r\n}\r\n\r\n#evaluate span {\r\n\tfloat: left;\r\n\twidth: 70px;\r\n\tclear: both;\r\n\toverflow: hidden\r\n}\r\n\r\n#evaluate s {\r\n\tfloat: left;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tmargin: -2px 0 0 4px;\r\n\tdisplay: inline-block;\r\n\tcursor: pointer;\r\n\tbackground-position: -227px -369px\r\n}\r\n\r\n#evaluate s.fold {\r\n\tbackground-position: -227px -352px\r\n}\r\n\r\n.eva-grade b {\r\n\tdisplay: none;\r\n\tfont-weight: 400\r\n}\r\n\r\n#evaluate-detail {\r\n\tpadding: 10px 0 0 5px;\r\n\tmargin: 0\r\n}\r\n\r\n#evaluate-detail .fl {\r\n\twidth: 7em\r\n}\r\n\r\n#evaluate-detail .mt {\r\n\tcolor: #999;\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n#evaluate-detail .mc dl {\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n#evaluate-detail .mc .evaluate-item-last {\r\n\tmargin-bottom: 0\r\n}\r\n\r\n#evaluate-detail .mc dt {\r\n\tfloat: left;\r\n\twidth: 5em;\r\n\tcolor: #999;\r\n\tline-height: 1.1em\r\n}\r\n\r\n#evaluate-detail .mc dd {\r\n\toverflow: hidden;\r\n\t*zoom: 1;\r\n\tline-height: 1.1em\r\n}\r\n\r\n#evaluate-detail s {\r\n\twidth: 11px;\r\n\theight: 11px;\r\n\tdisplay: inline-block;\r\n\t*zoom: 1;\r\n\tmargin-left: .5em\r\n}\r\n\r\n#evaluate-detail .eva-down {\r\n\tcolor: #090\r\n}\r\n\r\n#evaluate-detail .eva-eq {\r\n\tcolor: #333\r\n}\r\n\r\n#evaluate-detail .eva-up {\r\n\tcolor: #f60\r\n}\r\n\r\n.eva-percent s {\r\n\tmargin-right: 2px\r\n}\r\n\r\n.eva-up s {\r\n\tbackground-position: -139px -95px\r\n}\r\n\r\n.eva-down s {\r\n\tbackground-position: -150px -84px\r\n}\r\n\r\n.eva-eq s {\r\n\tbackground-position: -139px -84px\r\n}\r\n\r\n.root61 #brand-bar .seller .dt {\r\n\tdisplay: inline;\r\n\tmargin-bottom: 0\r\n}\r\n\r\n.root61 .seller a {\r\n\twhite-space: nowrap;\r\n\tclear: none;\r\n\tdisplay: inline\r\n}\r\n\r\n.root61 #evaluate,.root61 #evaluate-detail {\r\n\tpadding-left: 10px\r\n}\r\n\r\n.root61 #evaluate span {\r\n\tclear: none\r\n}\r\n\r\n.root61 #evaluate-detail .fl {\r\n\twidth: 9em\r\n}\r\n\r\n.root61 #evaluate-detail s {\r\n\tmargin-left: 1.5em\r\n}\r\n\r\n.root61 .eva-grade b {\r\n\tdisplay: inline\r\n}\r\n\r\n.stabcon .infos .btns a:hover,#i-comment .btns a {\r\n\ttext-decoration: none\r\n}\r\n\r\n.i-item .btns a:hover,.i-item .btns a:visited {\r\n\tcolor: #333\r\n}\r\n\r\n.master .p-price {\r\n\tdisplay: none\r\n}\r\n\r\n#recommend {\r\n\toverflow: visible\r\n}\r\n\r\n#recommend .mc {\r\n\tpadding: 10px 0\r\n}\r\n\r\n#recommend .p-name {\r\n\theight: 3em\r\n}\r\n\r\n#recommend .master .p-name {\r\n\twidth: 100px;\r\n\tpadding: 0 13px\r\n}\r\n\r\n#recommend .stab {\r\n\toverflow: hidden;\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n#recommend .stab li {\r\n\tpadding: 0 10px;\r\n\theight: 16px;\r\n\tcursor: pointer;\r\n\tborder-left: 1px solid #D4D1C8;\r\n\tmargin-left: -1px;\r\n\tline-height: 16px;\r\n\ttext-align: center;\r\n\tcolor: #005aa0;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#recommend .stab .fore1 {\r\n\tborder: 0\r\n}\r\n\r\n#recommend .stab .scurr {\r\n\tfont-weight: 700;\r\n\tcolor: #333\r\n}\r\n\r\n#recommend .master {\r\n\tfloat: left;\r\n\twidth: 150px;\r\n\tpadding: 0 0 0 10px;\r\n\ttext-align: center;\r\n\toverflow: hidden\r\n}\r\n\r\n#recommend .master s,#recommend .suits li s {\r\n\tfloat: right;\r\n\tdisplay: inline;\r\n\twidth: 24px;\r\n\theight: 22px;\r\n\tbackground-position: 0 -260px;\r\n\tmargin-top: 40px;\r\n\tmargin-right: 3px\r\n}\r\n\r\n#recommend .suits .p-img,#recommend .suits .p-name,#recommend .suits .choose,#recommend .suits .p-more\r\n\t{\r\n\t*float: left\r\n}\r\n\r\n#recommend .suits .p-more {\r\n\t*white-space: nowrap;\r\n\tclear: both\r\n}\r\n\r\n#recommend .suits .choose {\r\n\t*width: 100px\r\n}\r\n\r\n#recommend .suits li.last-item s,#favorable-suit .suits li.last-item s,#recommend .suits li.last_item s,#favorable-suit .suits li.last_item s\r\n\t{\r\n\tdisplay: none\r\n}\r\n\r\n#recommend .suits {\r\n\tfloat: left;\r\n\twidth: 356px;\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n#recommend .suits li {\r\n\twidth: 128px;\r\n\tpadding: 0;\r\n\tbackground-position: 0 -260px\r\n}\r\n\r\n#recommend .suits li .p-name {\r\n\twidth: 100px\r\n}\r\n\r\n.last_item .p-more {\r\n\tdisplay: block\r\n}\r\n\r\n#newFittign-tab .iloading {\r\n\tmargin: 60px auto\r\n}\r\n\r\n#newFittign-tab .choose {\r\n\t*width: 145px\r\n}\r\n\r\n#recommend #newFittign-tab .master s,#recommend #newFittign-tab .suits li s\r\n\t{\r\n\tmargin-top: 60px\r\n}\r\n\r\n#recommend .infos {\r\n\tfloat: left;\r\n\twidth: 190px;\r\n\tline-height: 20px;\r\n\tpadding-left: 10px\r\n}\r\n\r\n#recommend .infos s {\r\n\tfloat: left;\r\n\twidth: 24px;\r\n\theight: 22px;\r\n\tbackground-position: -30px -260px;\r\n\tmargin-top: 40px\r\n}\r\n\r\n#recommend .infos .selected,#recommend .infos .p-price,#recommend .infos .p-saving,#recommend .infos .btns,#recommend .infos .p-name,#more-fitting-link\r\n\t{\r\n\tmargin-left: 35px\r\n}\r\n\r\n.infos .p-saving {\r\n\tcolor: #999\r\n}\r\n\r\n#more-fitting-link b {\r\n\tposition: absolute;\r\n\ttop: -16px;\r\n\tleft: 10px;\r\n\tdisplay: block;\r\n\twidth: 26px;\r\n\theight: 15px;\r\n\tbackground-position: -247px -352px\r\n}\r\n\r\n#more-fitting-link {\r\n\tfont-weight: 700;\r\n\tposition: relative;\r\n\ttop: -20px\r\n}\r\n\r\n#more-fitting-link span {\r\n\tfont: 700 12px/1em simsun;\r\n\tpadding-left: 3px;\r\n\tposition: relative;\r\n\ttop: 1px\r\n}\r\n\r\n.tab-cat {\r\n\twidth: 590px\r\n}\r\n\r\n#recommend .btn-buy {\r\n\tdisplay: block;\r\n\twidth: 77px;\r\n\theight: 25px;\r\n\tmargin-top: 10px;\r\n\tbackground-position: -166px -112px;\r\n\ttext-align: center;\r\n\tline-height: 25px;\r\n\tcolor: #fff;\r\n\tfont-weight: 700\r\n}\r\n\r\n#tab-hot .infos .p-name a,#tab-hot .infos .p-name a:visited {\r\n\tfont-weight: 700;\r\n\tcolor: #005AA0\r\n}\r\n\r\n#recommend #tab-hot .suits {\r\n\tposition: relative\r\n}\r\n\r\n#tab-reco .suits {\r\n\toverflow-x: scroll;\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n#tab-reco #newFittign-tab .suits {\r\n\theight: 205px;\r\n\toverflow: hidden\r\n}\r\n\r\n#tab-reco .suits ul {\r\n\twidth: 1958px\r\n}\r\n\r\n#tab-hot .suits {\r\n\toverflow-x: hidden\r\n}\r\n\r\n#tab-hot {\r\n\toverflow: visible\r\n}\r\n\r\n#tab-hot .suits ul {\r\n\twidth: 1858px\r\n}\r\n\r\n#tab-services {\r\n\tdisplay: none\r\n}\r\n\r\n#tab-services .i-mc {\r\n\tpadding: 0 10px\r\n}\r\n\r\n#tab-services table {\r\n\tmargin-left: 20px\r\n}\r\n\r\n#tab-services table td {\r\n\tpadding: 2px 5px;\r\n\tfont-size: 12px\r\n}\r\n\r\n#tab-services table td .btn-buy {\r\n\twidth: 70px;\r\n\theight: 21px;\r\n\tline-height: 21px;\r\n\tmargin: 0;\r\n\tbackground-position: -69px -84px\r\n}\r\n\r\n#tab-services table td .btn-buy:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n.root61 #recommend .suits {\r\n\twidth: 620px\r\n}\r\n\r\n.root61 .tab-cat {\r\n\twidth: 790px\r\n}\r\n\r\n.root61 #recommend .suits li {\r\n\twidth: 145px;\r\n\tpadding-left: 20px\r\n}\r\n\r\n#recommend #stabcon_suits .master .p-name {\r\n\twidth: 140px;\r\n\tpadding: 0 10px\r\n}\r\n\r\n#stabcon_suits .pop-wrap {\r\n\tposition: relative;\r\n\tfloat: left\r\n}\r\n\r\n#stabcon_suits #pop-info {\r\n\tposition: absolute;\r\n\tz-index: 5;\r\n\tleft: 0;\r\n\ttop: 208px\r\n}\r\n\r\n#stabcon_suits .master {\r\n\twidth: 200px\r\n}\r\n\r\n#stabcon_suits .suits {\r\n\toverflow: visible\r\n}\r\n\r\n#stabcon_suits .lh {\r\n\toverflow: hidden\r\n}\r\n\r\n#stabcon_suits .infos s,#stabcon_suits .infos {\r\n\tmargin-top: 50px\r\n}\r\n\r\n#recommend #stabcon_suits li {\r\n\tposition: relative\r\n}\r\n\r\n#recommend #stabcon_suits li .p-name,#recommend #stabcon_suits li .choose\r\n\t{\r\n\twidth: 156px\r\n}\r\n\r\n#stabcon_suits .master s,#stabcon_suits .suits li s {\r\n\tmargin-top: 100px\r\n}\r\n\r\n#stabcon_suits .p-scroll-btn {\r\n\tbackground-image: url(i/scroll-btns.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#stabcon_suits .selected {\r\n\tborder-color: #e4393c\r\n}\r\n\r\n#stabcon_suits .p-scroll {\r\n\twidth: 155px;\r\n\t_width: 155px;\r\n\theight: 29px;\r\n\tbackground: #fff;\r\n\tpadding-bottom: 10px;\r\n\toverflow: hidden;\r\n\t*zoom: 1;\r\n\tpadding: 5px 0;\r\n\tborder: 1px solid #fff;\r\n\tborder-bottom: 0\r\n}\r\n\r\n#stabcon_suits .actived {\r\n\tborder-color: #c4c4c4;\r\n\tborder-bottom: 0;\r\n\t-webkit-box-shadow: 0 2px 4px #ccc;\r\n\tbox-shadow: 0 2px 4px #ccc\r\n}\r\n\r\n#recommend #stabcon_suits .p-scroll li {\r\n\twidth: 30px;\r\n\theight: 30px;\r\n\tpadding: 0\r\n}\r\n\r\n#stabcon_suits .p-scroll-btn-w {\r\n\tfloat: left;\r\n\twidth: 16px;\r\n\theight: 29px\r\n}\r\n\r\n#stabcon_suits .p-scroll-btn {\r\n\tfloat: left;\r\n\tdisplay: none;\r\n\twidth: 16px;\r\n\theight: 29px;\r\n\ttext-indent: -9999px\r\n}\r\n\r\n#stabcon_suits .p-scroll-prev {\r\n\tmargin-right: 2px;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#stabcon_suits .p-scroll-next {\r\n\tbackground-position: -18px 0\r\n}\r\n\r\n#stabcon_suits * html .psearch .disableIE6 {\r\n\tbackground-position: 0 -31px\r\n}\r\n\r\n#stabcon_suits .p-scroll-prev.disabled {\r\n\tbackground-position: 0 -31px\r\n}\r\n\r\n#stabcon_suits .p-scroll-next.disabled {\r\n\tbackground-position: -18px -31px\r\n}\r\n\r\n#stabcon_suits .p-scroll-wrap {\r\n\tfloat: left;\r\n\twidth: 186px;\r\n\theight: 29px;\r\n\toverflow: hidden\r\n}\r\n\r\n#stabcon_suits .p-scroll-wrap li,.p-scroll-wrap li a {\r\n\tfloat: left\r\n}\r\n\r\n#stabcon_suits .p-scroll-wrap li a {\r\n\tpadding: 1px;\r\n\tborder: 1px solid #ddd\r\n}\r\n\r\n#stabcon_suits .p-scroll-wrap li a img {\r\n\twidth: 25px;\r\n\theight: 25px\r\n}\r\n\r\n#stabcon_suits .p-scroll-wrap li a.curr {\r\n\tborder: 1px solid #e4393c\r\n}\r\n\r\n#stabcon_suits .suits li {\r\n\tpadding-left: 5px;\r\n\twidth: 195px\r\n}\r\n\r\n.root61 #stabcon_suits .suits {\r\n\twidth: 570px\r\n}\r\n\r\n.root61 #stabcon_suits .suits li {\r\n\tpadding-left: 5px;\r\n\twidth: 195px\r\n}\r\n\r\n#recommend #stabcon_pop .master .p-name {\r\n\twidth: 140px;\r\n\tpadding: 0 10px\r\n}\r\n\r\n#stabcon_pop .pop-wrap {\r\n\tposition: relative;\r\n\tfloat: left\r\n}\r\n\r\n#stabcon_pop #pop-info {\r\n\tposition: absolute;\r\n\tz-index: 5;\r\n\tleft: 0;\r\n\ttop: 208px\r\n}\r\n\r\n#stabcon_pop .master {\r\n\twidth: 200px\r\n}\r\n\r\n#stabcon_pop .suits {\r\n\toverflow: visible\r\n}\r\n\r\n#stabcon_pop .lh {\r\n\toverflow: hidden\r\n}\r\n\r\n.match-pop-tips {\r\n\tpadding: 5px 0 0;\r\n\tcolor: #e4393c\r\n}\r\n\r\n#stabcon_pop .infos s,#stabcon_pop .infos {\r\n\tmargin-top: 50px\r\n}\r\n\r\n#pop-box,#pop-box-suit {\r\n\tvisibility: hidden;\r\n\tposition: absolute;\r\n\tz-index: 5;\r\n\tleft: 0;\r\n\ttop: 169px;\r\n\twidth: 175px;\r\n\toverflow: hidden;\r\n\tbackground: #fff;\r\n\tborder: 1px solid #C4C4C4;\r\n\t-moz-box-shadow: 0 0 5px #ddd;\r\n\t-webkit-box-shadow: 0 0 5px #DDD;\r\n\tbox-shadow: 0 0 5px #DDD\r\n}\r\n\r\n#p-scroll,#p-scroll-suit {\r\n\tpadding: 10px 0 0 10px\r\n}\r\n\r\n.p-scroll {\r\n\tpadding: 0 0 10px\r\n}\r\n\r\n#p-tips,#p-tips-suit {\r\n\tcolor: #e4393c\r\n}\r\n\r\n#p-size-btn,#p-size,#p-tips,#p-size-btn-suit,#p-size-suit,#p-tips-suit {\r\n\tpadding: 0 10px\r\n}\r\n\r\n#p-size-btn,#p-size-btn-suit {\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n#p-tips p,#p-tips-suit p {\r\n\tpadding: 5px 0\r\n}\r\n\r\n#p-size-btn a:hover,#p-size-btn-suit a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n#p-size-btn a,#p-size-btn-suit a {\r\n\tdisplay: inline-block;\r\n\t*zoom: 1;\r\n\twidth: 50px;\r\n\tmargin-right: 5px;\r\n\theight: 21px;\r\n\tline-height: 21px;\r\n\tbackground: url(i/scroll-btns.png) -36px 0 no-repeat;\r\n\ttext-align: center\r\n}\r\n\r\n#p-size a,#p-size-suit a {\r\n\tdisplay: inline-block;\r\n\t*zoom: 1;\r\n\tpadding: 2px 5px;\r\n\tborder: 1px solid #ccc;\r\n\tmargin: 0 5px 10px 0\r\n}\r\n\r\n.p-selected {\r\n\tbackground: #fffdee;\r\n\twidth: 138px;\r\n\tborder: 1px solid #edd28b;\r\n\tmargin: 7px 0;\r\n\tpadding: 4px 10px\r\n}\r\n\r\n.p-selected a {\r\n\tcolor: #005ea7;\r\n\twhite-space: nowrap\r\n}\r\n\r\n.p-selected a,.p-selected a:hover,.p-selected a:visited {\r\n\tcolor: #005ea7\r\n}\r\n\r\n#stabcon_suits {\r\n\tposition: relative\r\n}\r\n\r\n#tab-suits {\r\n\toverflow: visible\r\n}\r\n\r\n.stabcon_suits .choose {\r\n\theight: 16px\r\n}\r\n\r\n.p-choose .hl_blue {\r\n\tcursor: pointer\r\n}\r\n\r\n#recommend #stabcon_pop li {\r\n\tposition: relative\r\n}\r\n\r\n#recommend #stabcon_pop li .p-name,#recommend #stabcon_pop li .choose {\r\n\twidth: 156px\r\n}\r\n\r\n#stabcon_pop .master s,#stabcon_pop .suits li s {\r\n\tmargin-top: 100px\r\n}\r\n\r\n#stabcon_pop .p-size {\r\n\tborder: 1px solid #c4c4c4;\r\n\tpadding: 0 10px 10px;\r\n\twidth: 155px;\r\n\tleft: 5px;\r\n\tbackground: #fff;\r\n\tborder-top: 0;\r\n\t-webkit-box-shadow: 0 2px 4px #ccc;\r\n\tbox-shadow: 0 2px 4px #ccc\r\n}\r\n\r\n#stabcon_pop .p-scroll-btn {\r\n\tbackground-image: url(i/scroll-btns.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#stabcon_pop .selected {\r\n\tborder-color: #e4393c\r\n}\r\n\r\n.p-size-list,.p-size-btn {\r\n\tpadding: 5px 0 0\r\n}\r\n\r\n.p-size-btn a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n.p-size-btn a {\r\n\tdisplay: inline-block;\r\n\t*zoom: 1;\r\n\twidth: 50px;\r\n\tmargin-right: 5px;\r\n\theight: 21px;\r\n\tline-height: 21px;\r\n\tbackground: url(i/scroll-btns.png) -36px 0 no-repeat;\r\n\ttext-align: center\r\n}\r\n\r\n.p-size-list a {\r\n\tdisplay: inline-block;\r\n\t*zoom: 1;\r\n\tpadding: 2px 5px;\r\n\tborder: 1px solid #ccc;\r\n\tmargin: 0 5px 5px 0\r\n}\r\n\r\n#stabcon_pop .p-scroll {\r\n\twidth: 155px;\r\n\t_width: 155px;\r\n\theight: 29px;\r\n\tbackground: #fff;\r\n\tpadding-bottom: 10px;\r\n\toverflow: hidden;\r\n\t*zoom: 1;\r\n\tpadding: 5px 0;\r\n\tborder: 1px solid #fff;\r\n\tborder-bottom: 0\r\n}\r\n\r\n#stabcon_pop .actived {\r\n\tborder-color: #c4c4c4;\r\n\tborder-bottom: 0;\r\n\t-webkit-box-shadow: 0 2px 4px #ccc;\r\n\tbox-shadow: 0 2px 4px #ccc\r\n}\r\n\r\n#recommend #stabcon_pop .p-scroll li {\r\n\twidth: 30px;\r\n\theight: 30px;\r\n\tpadding: 0\r\n}\r\n\r\n#stabcon_pop .p-scroll-btn-w {\r\n\tfloat: left;\r\n\twidth: 16px;\r\n\theight: 29px\r\n}\r\n\r\n#stabcon_pop .p-scroll-btn {\r\n\tfloat: left;\r\n\tdisplay: none;\r\n\twidth: 16px;\r\n\theight: 29px;\r\n\ttext-indent: -9999px\r\n}\r\n\r\n#stabcon_pop .p-scroll-prev {\r\n\tmargin-right: 2px;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#stabcon_pop .p-scroll-next {\r\n\tbackground-position: -18px 0\r\n}\r\n\r\n#stabcon_pop * html .psearch .disableIE6 {\r\n\tbackground-position: 0 -31px\r\n}\r\n\r\n#stabcon_pop .p-scroll-prev.disabled {\r\n\tbackground-position: 0 -31px\r\n}\r\n\r\n#stabcon_pop .p-scroll-next.disabled {\r\n\tbackground-position: -18px -31px\r\n}\r\n\r\n#stabcon_pop .p-scroll-wrap {\r\n\tfloat: left;\r\n\twidth: 186px;\r\n\theight: 29px;\r\n\toverflow: hidden\r\n}\r\n\r\n#stabcon_pop .p-scroll-wrap li,.p-scroll-wrap li a {\r\n\tfloat: left\r\n}\r\n\r\n#stabcon_pop .p-scroll-wrap li a {\r\n\tpadding: 1px;\r\n\tborder: 1px solid #ddd\r\n}\r\n\r\n#stabcon_pop .p-scroll-wrap li a img {\r\n\twidth: 25px;\r\n\theight: 25px\r\n}\r\n\r\n#stabcon_pop .p-scroll-wrap li a.curr {\r\n\tborder: 1px solid #e4393c\r\n}\r\n\r\n#stabcon_pop .suits li {\r\n\tpadding-left: 5px;\r\n\twidth: 195px\r\n}\r\n\r\n.root61 #stabcon_pop .suits {\r\n\twidth: 570px\r\n}\r\n\r\n.root61 #stabcon_pop .suits li {\r\n\tpadding-left: 5px;\r\n\twidth: 195px\r\n}\r\n\r\n#favorable-suit {\r\n\tborder-top: 2px solid #999\r\n}\r\n\r\n#favorable-suit .mt {\r\n\theight: 28px;\r\n\tbackground-position: 0 -287px\r\n}\r\n\r\n#favorable-suit .mc {\r\n\tpadding: 10px 0;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0\r\n}\r\n\r\n#favorable-suit .p-name {\r\n\theight: 3em\r\n}\r\n\r\n#favorable-suit .master .p-name {\r\n\twidth: 100px;\r\n\tpadding: 0 13px\r\n}\r\n\r\n#favorable-suit .stab {\r\n\toverflow: hidden;\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n#favorable-suit .stab li {\r\n\tpadding: 0 15px;\r\n\theight: 16px;\r\n\tcursor: pointer;\r\n\tborder-left: 1px solid #D4D1C8;\r\n\tline-height: 16px;\r\n\ttext-align: center;\r\n\tcolor: #005aa0\r\n}\r\n\r\n#favorable-suit .stab .fore1 {\r\n\tborder: 0\r\n}\r\n\r\n#favorable-suit .stab .scurr {\r\n\tfont-weight: 700;\r\n\tcolor: #333\r\n}\r\n\r\n#favorable-suit .master {\r\n\tfloat: left;\r\n\twidth: 150px;\r\n\tpadding: 0 0 0 10px;\r\n\toverflow: hidden\r\n}\r\n\r\n#favorable-suit .master s,#favorable-suit .suits li s {\r\n\tfloat: right;\r\n\twidth: 24px;\r\n\theight: 22px;\r\n\tbackground-position: 0 -260px;\r\n\tmargin-top: 40px;\r\n\tmargin-right: 3px\r\n}\r\n\r\n#favorable-suit .suits {\r\n\tfloat: left;\r\n\twidth: 356px;\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n#favorable-suit .suits li {\r\n\twidth: 128px;\r\n\tpadding: 0;\r\n\tbackground-position: 0 -260px\r\n}\r\n\r\n#favorable-suit .suits li .p-name {\r\n\twidth: 100px\r\n}\r\n\r\n#favorable-suit .infos {\r\n\tfloat: left;\r\n\twidth: 190px;\r\n\tline-height: 20px;\r\n\tpadding-left: 10px\r\n}\r\n\r\n#favorable-suit .infos s {\r\n\tfloat: left;\r\n\twidth: 24px;\r\n\theight: 22px;\r\n\tbackground-position: -30px -260px;\r\n\tmargin-top: 40px\r\n}\r\n\r\n#favorable-suit .infos .selected,#favorable-suit .infos .p-price,#favorable-suit .infos .p-saving,#favorable-suit .infos .btns,#favorable-suit .infos .p-name\r\n\t{\r\n\tmargin-left: 35px\r\n}\r\n\r\n#favorable-suit .infos .p-name {\r\n\theight: 3em;\r\n\toverflow: hidden;\r\n\tline-height: 1.5em\r\n}\r\n\r\n#favorable-suit .btn-buy {\r\n\tdisplay: block;\r\n\twidth: 77px;\r\n\theight: 25px;\r\n\tmargin-top: 10px;\r\n\tbackground-position: -166px -112px;\r\n\ttext-align: center;\r\n\tline-height: 25px;\r\n\tcolor: #fff;\r\n\tfont-weight: 700\r\n}\r\n\r\n#favorable-suit .infos .p-name a,#favorable-suit .infos .p-name a:visited\r\n\t{\r\n\tfont-weight: 700;\r\n\tcolor: #005AA0\r\n}\r\n\r\n#favorable-suit .suits {\r\n\toverflow-x: auto;\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n#favorable-suit .suits ul {\r\n\twidth: 958px;\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n#tab-suits .master {\r\n\twidth: 200px\r\n}\r\n\r\n#favorable-suit .suits {\r\n\t\r\n}\r\n\r\n#favorable-suit #tab-suits .tab-cat ul {\r\n\tmargin-left: -1px\r\n}\r\n\r\n#favorable-suit #tab-suits .master s,#favorable-suit #tab-suits .suits s\r\n\t{\r\n\tmargin-top: 100px\r\n}\r\n\r\n#favorable-suit #tab-suits .suits li {\r\n\tpadding-left: 5px;\r\n\twidth: 195px\r\n}\r\n\r\n#favorable-suit #tab-suits ul {\r\n\twidth: auto\r\n}\r\n\r\n#favorable-suit #tab-suits .suits {\r\n\twidth: 356px;\r\n\toverflow-x: auto\r\n}\r\n\r\n.root61 #favorable-suit #tab-suits .suits li {\r\n\twidth: 195px\r\n}\r\n\r\n.root61 #favorable-suit #tab-suits .suits {\r\n\twidth: 570px;\r\n\toverflow-x: hidden\r\n}\r\n\r\n.root61 #favorable-suit .suits {\r\n\twidth: 620px\r\n}\r\n\r\n.root61 #favorable-suit .suits li {\r\n\twidth: 145px;\r\n\tpadding-left: 20px\r\n}\r\n\r\n#product-detail {\r\n\toverflow: visible\r\n}\r\n\r\n#product-detail .tab {\r\n\tfloat: left\r\n}\r\n\r\n#product-detail .detail-list {\r\n\tpadding: 8px;\r\n\tborder: solid #DEDFDE;\r\n\tborder-width: 0 1px 1px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#product-detail .detail-list li {\r\n\tfloat: left;\r\n\twidth: 33%;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap;\r\n\tpadding: 2px 0\r\n}\r\n\r\n#product-detail .detail-correction {\r\n\tpadding: 8px 0;\r\n\tzoom: 1\r\n}\r\n\r\n#product-detail .detail-correction b {\r\n\tdisplay: inline-block;\r\n\twidth: 18px;\r\n\theight: 15px;\r\n\tbackground-position: -260px -270px;\r\n\tmargin-right: 5px;\r\n\tvertical-align: middle;\r\n\t*zoom: 1\r\n}\r\n\r\n#promises {\r\n\tpadding: 10px;\r\n\toverflow: hidden;\r\n\tzoom: 1;\r\n\tborder-top: 1px dotted #DEDEDE;\r\n\tclear: both\r\n}\r\n\r\n#promises a {\r\n\tcolor: #005AA0\r\n}\r\n\r\n#state {\r\n\tpadding: 10px;\r\n\toverflow: hidden;\r\n\tzoom: 1;\r\n\tborder-top: 1px dotted #DEDEDE\r\n}\r\n\r\n#state strong {\r\n\tcolor: #e4393c\r\n}\r\n\r\n#product-detail .p-tab {\r\n\tposition: relative\r\n}\r\n\r\n#product-detail .p-tab s {\r\n\tdisplay: inline-block;\r\n\twidth: 9px;\r\n\theight: 6px;\r\n\toverflow: hidden;\r\n\tmargin-left: 5px;\r\n\tbackground-position: -26px -324px;\r\n\t*zoom: 1;\r\n\tvertical-align: middle\r\n}\r\n\r\n#product-detail li.hover a s {\r\n\tbackground-position: -40px -324px\r\n}\r\n\r\n#product-detail .hover .sub-item {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tz-index: 1;\r\n\ttop: 32px;\r\n\tleft: 0;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0;\r\n\twidth: 116px;\r\n\tbackground-color: #fff;\r\n\t-webkit-box-shadow: 0 5px 5px 0 rgba(0, 0, 0, .12);\r\n\t-moz-box-shadow: 0 5px 5px 0 rgba(0, 0, 0, .12);\r\n\tbox-shadow: 0 5px 5px 0 rgba(0, 0, 0, .12)\r\n}\r\n\r\n#product-detail .sub-item li {\r\n\tfloat: none\r\n}\r\n\r\n#product-detail .sub-item li a {\r\n\tborder: 0;\r\n\tcolor: #666;\r\n\twidth: 90px;\r\n\ttext-overflow: ellipsis;\r\n\toverflow: hidden;\r\n\twhite-space: nowrap;\r\n\ttext-align: left\r\n}\r\n\r\n#product-detail .sub-item li a:hover,#product-detail .sub-item li.hl_red a\r\n\t{\r\n\tcolor: #e4393c\r\n}\r\n\r\n#comment {\r\n\tborder-top: 2px solid #999\r\n}\r\n\r\n#comment h2 {\r\n\tpadding: 0 12px;\r\n\tfont-size: 14px\r\n}\r\n\r\n#comment .mc {\r\n\tpadding: 10px 0;\r\n\toverflow: hidden;\r\n\tzoom: 1;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0\r\n}\r\n\r\n#comment .rate {\r\n\tfloat: left;\r\n\twidth: 120px;\r\n\tpadding: 20px 0 0;\r\n\ttext-align: center\r\n}\r\n\r\n#comment .rate strong {\r\n\tfont: 400 46px/30px arial;\r\n\tcolor: #e4393c\r\n}\r\n\r\n#comment .rate span {\r\n\tcolor: #999;\r\n\tfont-family: arial\r\n}\r\n\r\n#comment .rate strong span {\r\n\tfont-size: 24px;\r\n\tcolor: #e4393c\r\n}\r\n\r\n#comment .percent {\r\n\tfloat: left;\r\n\twidth: 186px;\r\n\theight: 74px;\r\n\tpadding: 8px 0;\r\n\tborder-right: 1px solid #E4E4E4\r\n}\r\n\r\n#comment .percent span {\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n#comment .percent dl {\r\n\tpadding: 2px 0;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#comment .percent dt {\r\n\tfloat: left;\r\n\twidth: 70px\r\n}\r\n\r\n#comment .percent dd {\r\n\tfloat: left;\r\n\twidth: 100px;\r\n\theight: 10px;\r\n\tmargin-top: 6px;\r\n\toverflow: hidden;\r\n\tbackground: #efefef\r\n}\r\n\r\n#comment .percent dd div {\r\n\toverflow: hidden;\r\n\theight: 10px;\r\n\twidth: 0;\r\n\tbackground-color: #ED0000;\r\n\tbackground-image: -ms-linear-gradient(top, #ED0000 0, #A50000 100%);\r\n\tbackground-image: -moz-linear-gradient(top, #ED0000 0, #A50000 100%);\r\n\tbackground-image: -o-linear-gradient(top, #ED0000 0, #A50000 100%);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #ED0000),\r\n\t\tcolor-stop(1, #A50000));\r\n\tbackground-image: -webkit-linear-gradient(top, #ED0000 0, #A50000 100%);\r\n\tbackground-image: linear-gradient(to bottom, #ED0000 0, #A50000 100%)\r\n}\r\n\r\n#comment .actor {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\twidth: 280px;\r\n\theight: 85px;\r\n\tpadding: 5px 15px 0;\r\n\tline-height: 15px;\r\n\tborder-right: 1px solid #E4E4E4;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#comment .actor a {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#comment .actor ul {\r\n\tmargin-top: 5px;\r\n\theight: 40px;\r\n\toverflow: hidden\r\n}\r\n\r\n#comment .actor li {\r\n\tfloat: left;\r\n\twidth: 120px;\r\n\theight: 15px;\r\n\tpadding: 2px 17px 2px 0;\r\n\toverflow: hidden\r\n}\r\n\r\n#comment .actor li span {\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n#comment .actor .u-name {\r\n\tfloat: left;\r\n\twidth: 90px;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#comment .actor span {\r\n\tfloat: right\r\n}\r\n\r\n#comment .btns {\r\n\tfloat: right;\r\n\twidth: 140px;\r\n\theight: 75px;\r\n\tpadding-top: 5px;\r\n\tline-height: 15px;\r\n\ttext-align: center\r\n}\r\n\r\n#comment .btn-comment {\r\n\tdisplay: block;\r\n\toverflow: hidden;\r\n\tmargin: 5px auto;\r\n\twidth: 119px;\r\n\theight: 30px;\r\n\tline-height: 30px;\r\n\tbackground-position: -142px -390px\r\n}\r\n\r\n#comment .btns .btn-comment {\r\n\tcolor: #333\r\n}\r\n\r\n#comment .btns a {\r\n\tcolor: #005aa0\r\n}\r\n\r\n.root61 #comment .rate {\r\n\twidth: 190px\r\n}\r\n\r\n.root61 #comment .actor {\r\n\twidth: 446px\r\n}\r\n\r\n.root61 #comment .actor li {\r\n\twidth: 160px\r\n}\r\n\r\n#comments-list,#consult {\r\n\tmargin-bottom: 20px\r\n}\r\n\r\n#comment-0 .extra {\r\n\tpadding-top: 5px\r\n}\r\n\r\n#comments-list .iloading {\r\n\tmargin: 20px auto\r\n}\r\n\r\n#comments-list .tab {\r\n\tfloat: left\r\n}\r\n\r\n#comments-list .item {\r\n\tposition: relative;\r\n\tpadding: 0 0 2px 120px;\r\n\tmargin-top: 8px;\r\n\tbackground: #fff;\r\n\tzoom: 1\r\n}\r\n\r\n#comments-list .user {\r\n\tposition: absolute;\r\n\ttop: 10px;\r\n\tleft: 0;\r\n\twidth: 120px;\r\n\ttext-align: center;\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n#comments-list .user .u-name {\r\n\twidth: 120px;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#comments-list .user a {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#comments-list .u-icon img {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tpadding: 8px;\r\n\tbackground: url(i/avatar-bg.png) no-repeat 0 0\r\n}\r\n\r\n#comments-list .i-item {\r\n\tpadding: 10px 15px 5px;\r\n\tborder: 1px solid #d0e4c2;\r\n\tbackground: #fcfffa\r\n}\r\n\r\n#comments-list .o-topic {\r\n\tpadding: 0 0 2px;\r\n\tmargin-bottom: 10px;\r\n\tborder-bottom: 1px solid #d0e4c2;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#comments-list .o-topic .hl_blue a {\r\n\tcolor: #005AA0\r\n}\r\n\r\n#comments-list .topic {\r\n\tfloat: left\r\n}\r\n\r\n#comments-list .topic-best {\r\n\twidth: 35px;\r\n\theight: 20px;\r\n\tline-height: 100px;\r\n\toverflow: hidden;\r\n\tmargin-right: 5px;\r\n\tbackground-position: -243px -112px\r\n}\r\n\r\n#comments-list .star {\r\n\tfloat: left;\r\n\tmargin: 1px 0 0 5px\r\n}\r\n\r\n#comments-list .date-comment {\r\n\tfloat: right;\r\n\tcolor: #9C9A9C;\r\n\tmargin-left: 10px\r\n}\r\n\r\n#comments-list .date-comment a {\r\n\tmargin-right: 10px;\r\n\tcolor: #005aa0\r\n}\r\n\r\n#comments-list .comment-content dl {\r\n\tpadding: 2px 0;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#comments-list .comment-content dt {\r\n\tfloat: left;\r\n\twidth: 62px;\r\n\ttext-align: right;\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n#comments-list .comment-content dd {\r\n\tfloat: left;\r\n\twidth: 530px;\r\n\tword-wrap: break-word\r\n}\r\n\r\n#comments-list .comment-content dd a,#comments-list .comment-content dd a:visited\r\n\t{\r\n\tcolor: #005ea7\r\n}\r\n\r\n#comments-list .item .btns {\r\n\tclear: both;\r\n\tpadding: 10px 0 5px;\r\n\toverflow: hidden;\r\n\tzoom: 1;\r\n\tline-height: 20px\r\n}\r\n\r\n#comments-list .btn-reply,#comments-list .btn-agree,#comments-list .btn-oppose\r\n\t{\r\n\tdisplay: block;\r\n\theight: 20px;\r\n\tpadding: 0 10px;\r\n\tborder-top: 1px solid #d5d5d5;\r\n\tborder-right: 1px solid #d5d5d5;\r\n\tborder-bottom: 1px solid #d5d5d5;\r\n\tborder-left: 1px solid #d5d5d5;\r\n\ttext-decoration: none;\r\n\ttext-align: center;\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#fafafa),\r\n\t\tto(#f2f2f2));\r\n\tbackground: -moz-linear-gradient(top, #fafafa, #f2f2f2);\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fafafa',\r\n\t\tendColorstr='#f2f2f2');\r\n\tmargin-right: 0;\r\n\tborder-radius: 3px\r\n}\r\n\r\n#comments-list .btn-agree,#comments-list .btn-oppose {\r\n\tfloat: left;\r\n\tmargin-right: 10px;\r\n\tdisplay: inline\r\n}\r\n\r\n#comments-list .useful span {\r\n\tfloat: left;\r\n\tmargin-right: 5px;\r\n\tcolor: #999\r\n}\r\n\r\n#comments-list .item-reply {\r\n\tborder-top: 1px dotted #F7E7C6;\r\n\tpadding-left: 50px;\r\n\t*zoom: 1\r\n}\r\n\r\n#comments-list .item-reply strong {\r\n\tdisplay: block;\r\n\twidth: 45px;\r\n\tcolor: #BEBEBE;\r\n\tfont-size: 20px;\r\n\tfont-family: arial;\r\n\ttext-align: right;\r\n\tfloat: left;\r\n\tdisplay: inline;\r\n\tmargin: 5px 0 0 -45px\r\n}\r\n\r\n#comments-list .item-reply dl {\r\n\tpadding: 5px\r\n}\r\n\r\n#comments-list .item-reply dt {\r\n\tmargin-bottom: 4px;\r\n\tcolor: #9C9A9C;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#comments-list .item-reply dt .u-name {\r\n\tfloat: left\r\n}\r\n\r\n#comments-list .item-reply dt a {\r\n\tfloat: left;\r\n\tcolor: #005aa0;\r\n\tmargin-right: 8px\r\n}\r\n\r\n#comments-list .item-reply dt .date-comment {\r\n\tfloat: right\r\n}\r\n\r\n#comments-list .corner {\r\n\tposition: absolute;\r\n\toverflow: hidden\r\n}\r\n\r\n#comments-list .tl {\r\n\ttop: 10px;\r\n\tleft: 108px;\r\n\twidth: 14px;\r\n\theight: 26px;\r\n\tbackground-position: -259px -47px\r\n}\r\n\r\n#comments-list .pagin,#consult .pagin {\r\n\tmargin-top: 8px\r\n}\r\n\r\n#comments-list .comment-show-pic {\r\n\toverflow: hidden;\r\n\t*zoom: 1\r\n}\r\n\r\n.comment-show-pic a {\r\n\tfloat: left;\r\n\tmargin-right: 5px\r\n}\r\n\r\n.comment-show-pic a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n.comment-show-pic span {\r\n\tfloat: left;\r\n\tmargin-top: 82px\r\n}\r\n\r\n.comment-show-pic em {\r\n\tdisplay: none\r\n}\r\n\r\n.comment-show-pic-wrap {\r\n\tdisplay: block;\r\n\twidth: 100%\r\n}\r\n\r\n#comments-list dl table {\r\n\tfloat: left;\r\n\tmargin: -5px 0 0 -5px\r\n}\r\n\r\n#comments-list dl td {\r\n\twidth: 128px;\r\n\theight: 96px;\r\n\tborder: 1px solid #d3d3d3;\r\n\tbackground: #fff;\r\n\ttext-align: center;\r\n\tvertical-align: middle;\r\n\t_margin-right: 5px\r\n}\r\n\r\n.root61 #comments-list .comment-content dd {\r\n\twidth: 770px\r\n}\r\n\r\n.root61 .comment-show-pic em {\r\n\tdisplay: inline\r\n}\r\n\r\n.root61 #comments-list .item .btns {\r\n\t\r\n}\r\n\r\n#tab-dpg ul {\r\n\theight: 172px;\r\n\toverflow: hidden\r\n}\r\n\r\n#tab-dpg ul .p-name {\r\n\theight: 1em;\r\n\tline-height: 1em;\r\n\toverflow: hidden;\r\n\tmargin: 10px;\r\n\tfont-family: simsun\r\n}\r\n\r\n#tab-dpg ul li {\r\n\twidth: 130px;\r\n\tmargin: 0 30px;\r\n\tdisplay: inline\r\n}\r\n\r\n.root61 #tab-dpg ul {\r\n\tpadding-left: 15px\r\n}\r\n\r\n#consult .mt {\r\n\tposition: relative\r\n}\r\n\r\n#consult-search {\r\n\tpadding: 10px 16px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#consult .form {\r\n\tfloat: left;\r\n\twidth: 265px\r\n}\r\n\r\n#consult .form span {\r\n\tdisplay: block;\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n#consult-search .prompt {\r\n\tcolor: #9C9A9C;\r\n\toverflow: hidden;\r\n\t*zoom: 1\r\n}\r\n\r\n#consult .text {\r\n\twidth: 164px;\r\n\theight: 19px;\r\n\tmargin-right: 4px;\r\n\tpadding: 2px;\r\n\tborder: 1px solid #ccc;\r\n\tline-height: 19px;\r\n\tbackground: #fff;\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n#consult .btn-search {\r\n\twidth: 53px;\r\n\theight: 25px;\r\n\tborder: 0;\r\n\tbackground-position: -103px -112px;\r\n\tcursor: pointer\r\n}\r\n\r\n#consult #txbReferSearch {\r\n\twidth: 130px;\r\n\tborder: 1px solid #ccc;\r\n\tpadding: 3px 0\r\n}\r\n\r\n#consult .consult-pub {\r\n\tposition: absolute;\r\n\tright: 10px;\r\n\ttop: 0;\r\n\t*top: -3px\r\n}\r\n\r\n#consult .consult-pub a {\r\n\tpadding: 4px 10px;\r\n\tfont-size: 12px;\r\n\tfont-family: simsun\r\n}\r\n\r\n#consult .tab {\r\n\tfloat: left;\r\n\tdisplay: inline\r\n}\r\n\r\n#consult-wrap {\r\n\tfloat: left;\r\n\tdisplay: inline;\r\n\tposition: relative;\r\n\tfont-size: 12px\r\n}\r\n\r\n#consult #consult-wrap.hover .consult-pop {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 28px;\r\n\twidth: 250px;\r\n\tbackground: #fff;\r\n\tborder: 1px solid #ddd;\r\n\tz-index: 0;\r\n\tpadding: 10px 0\r\n}\r\n\r\n#consult #consult-wrap.hover .consult-pop #txbReferSearch {\r\n\tmargin-left: 15px;\r\n\tpadding: 3px 2px\r\n}\r\n\r\n#consult .consult-close {\r\n\tdisplay: inline\r\n}\r\n\r\n.root61 #consult .consult-close {\r\n\tdisplay: none\r\n}\r\n\r\n#consult #consult-wrap.hover b {\r\n\tborder: 1px solid #ddd;\r\n\tborder-bottom: 0;\r\n\tbackground-color: #fff;\r\n\tposition: relative;\r\n\tz-index: 1\r\n}\r\n\r\n#consult .consult-search b {\r\n\tdisplay: block;\r\n\twidth: 27px;\r\n\theight: 26px;\r\n\tbackground:\r\n\t\turl(http://img12.360buyimg.com/da/jfs/t163/77/1625664074/3070/cc9ba07f/53b3d0b3N7016e736.png)\r\n\t\tcenter center no-repeat;\r\n\tmargin-top: 2px\r\n}\r\n\r\n.root61 #consult .consult-search b {\r\n\tdisplay: none\r\n}\r\n\r\n#consult .consult-pop {\r\n\tdisplay: none\r\n}\r\n\r\n.root61 #consult .consult-pop {\r\n\tdisplay: block\r\n}\r\n\r\n#consult .item {\r\n\tpadding: 8px 0;\r\n\tborder-bottom: 1px dotted #DEDEDE\r\n}\r\n\r\n#consult dl {\r\n\tmargin-top: 5px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#consult dt {\r\n\tfloat: left;\r\n\twidth: 62px;\r\n\ttext-align: justify\r\n}\r\n\r\n#consult dd {\r\n\tfloat: right;\r\n\twidth: 707px;\r\n\toverflow: hidden\r\n}\r\n\r\n#consult .user {\r\n\tmargin-top: 0;\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n#consult .user span {\r\n\tmargin-right: 20px\r\n}\r\n\r\n#consult .answer {\r\n\tcolor: #FF6500\r\n}\r\n\r\n#consult .content {\r\n\tfloat: left;\r\n\twidth: 550px\r\n}\r\n\r\n#consult .date-answer {\r\n\tfloat: right;\r\n\twidth: 130px;\r\n\ttext-align: right;\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n#consult .extra {\r\n\tmargin-top: 4px\r\n}\r\n\r\n#consult .extra a {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#j-im-extra.d-offline {\r\n\tposition: relative\r\n}\r\n\r\n#j-im-extra {\r\n\tdisplay: none\r\n}\r\n\r\n#consultation {\r\n\tcursor: pointer\r\n}\r\n\r\n#consult .total {\r\n\tfloat: right\r\n}\r\n\r\n#consult .total span {\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n#consult .contact {\r\n\tfloat: left\r\n}\r\n\r\n#consult .search-result-item .user,.search-result-item .useful {\r\n\ttext-align: right\r\n}\r\n\r\n#consult .user .date-ask {\r\n\tmargin-right: 0\r\n}\r\n\r\n#consult-result {\r\n\toverflow: hidden;\r\n\t*zoom: 1\r\n}\r\n\r\n#consult .result {\r\n\tpadding: 5px 20px;\r\n\tbackground: #F4F9FF\r\n}\r\n\r\n#consult .result strong {\r\n\tcolor: #f30\r\n}\r\n\r\n#consult .result em {\r\n\tcolor: #d75509\r\n}\r\n\r\n#consult .result a {\r\n\tcolor: #005aa0\r\n}\r\n\r\n.POP #consult .total,.POP #consultation,.POP .hide-pop {\r\n\tdisplay: none\r\n}\r\n\r\n.root61 #consult dd {\r\n\twidth: 927px\r\n}\r\n\r\n.root61 #consult .content {\r\n\twidth: 770px\r\n}\r\n\r\n#discuss {\r\n\tmargin-bottom: 50px\r\n}\r\n\r\n#discuss th {\r\n\tpadding: 6px 0;\r\n\tborder-bottom: 1px solid #DEDFDE\r\n}\r\n\r\n#discuss td {\r\n\tpadding: 6px 0;\r\n\tborder-bottom: 1px dotted #DEDEDE;\r\n\ttext-align: center;\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n#discuss td a {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#discuss .col1 {\r\n\twidth: 400px;\r\n\ttext-align: left\r\n}\r\n\r\n#discuss .col2 {\r\n\twidth: 70px\r\n}\r\n\r\n#discuss .col3 {\r\n\twidth: 80px\r\n}\r\n\r\n#discuss .col4 {\r\n\twidth: 130px\r\n}\r\n\r\n#discuss .u-name {\r\n\twidth: 80px;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#discuss .topic {\r\n\tposition: relative;\r\n\twidth: 400px;\r\n\tpadding-left: 24px;\r\n\tline-height: 18px;\r\n\toverflow: hidden\r\n}\r\n\r\n#discuss .icon {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\twidth: 21px;\r\n\theight: 17px\r\n}\r\n\r\n#discuss .shai {\r\n\tbackground-position: -110px -220px\r\n}\r\n\r\n#discuss .lun {\r\n\tbackground-position: -152px -220px\r\n}\r\n\r\n#discuss .wen {\r\n\tbackground-position: -131px -220px\r\n}\r\n\r\n#discuss .quan {\r\n\tbackground-position: -173px -220px\r\n}\r\n\r\n#discuss .quan {\r\n\t\r\n}\r\n\r\n#discuss .extra {\r\n\tmargin-top: 4px\r\n}\r\n\r\n#discuss .extra a {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#discuss .total {\r\n\tfloat: right\r\n}\r\n\r\n#discuss .total span {\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n#discuss .contact {\r\n\tfloat: left\r\n}\r\n\r\n.root61 #discuss .col1,.root61 #discuss .topic {\r\n\twidth: 620px\r\n}\r\n\r\n#related-viewed h2 {\r\n\tfont-size: 14px\r\n}\r\n\r\n#related-viewed .mc {\r\n\theight: 182px\r\n}\r\n\r\n#related-viewed .mc li {\r\n\twidth: 133px;\r\n\tpadding: 10px;\r\n\ttext-align: center\r\n}\r\n\r\n#related-viewed .mc .p-name {\r\n\theight: 3em\r\n}\r\n\r\n.root61 #related-viewed .mc li {\r\n\twidth: 144px\r\n}\r\n\r\n#related-brands .mc ul {\r\n\tpadding: 4px 0 4px 6px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#related-brands .mc li {\r\n\twidth: 61px;\r\n\theight: 18px;\r\n\tpadding: 3px 6px 3px 0;\r\n\toverflow: hidden\r\n}\r\n\r\n#related-sorts ul {\r\n\tpadding: 4px 0 4px 6px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#related-sorts li {\r\n\tfloat: left;\r\n\twidth: 94px;\r\n\theight: 18px;\r\n\tpadding: 3px 6px 3px 0;\r\n\toverflow: hidden\r\n}\r\n\r\n.related-buy .loading-empty {\r\n\tbackground: 0;\r\n\tpadding-left: 0\r\n}\r\n\r\n.related-buy ul {\r\n\tpadding: 0 8px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n.related-buy li {\r\n\tpadding: 8px 0;\r\n\tborder-top: 1px dotted #DEDEDE\r\n}\r\n\r\n.related-buy .fore1 {\r\n\tborder-top: 0\r\n}\r\n\r\n.related-buy .p-name strong {\r\n\tcolor: #CE2C08\r\n}\r\n\r\n.related-buy .p-img,.related-buy .p-price {\r\n\ttext-align: center\r\n}\r\n\r\n.related-buy .extra {\r\n\theight: 30px;\r\n\tline-height: 28px;\r\n\tpadding-right: 8px;\r\n\ttext-align: right\r\n}\r\n\r\n.related-buy .extra a {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#recent-view {\r\n\tdisplay: none\r\n}\r\n\r\n#recent-view h2 {\r\n\tfloat: left\r\n}\r\n\r\n#recent-view .extra {\r\n\tfont-size: 12px;\r\n\tmargin-right: 10px\r\n}\r\n\r\n#recent-view ul {\r\n\tmargin-top: -1px;\r\n\tpadding: 0 8px\r\n}\r\n\r\n#recent-view li {\r\n\toverflow: hidden;\r\n\tborder-top: 1px dotted #DEDEDE;\r\n\tzoom: 1\r\n}\r\n\r\n#recent-view .p-img {\r\n\tfloat: left;\r\n\tmargin-right: 5px;\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\toverflow: hidden\r\n}\r\n\r\n#recent-view .p-name {\r\n\tfloat: left;\r\n\twidth: 134px;\r\n\theight: 3em;\r\n\tmargin-top: 10px\r\n}\r\n\r\n#ranklist .tab {\r\n\twidth: 193px;\r\n\tpadding-left: 5px;\r\n\tmargin: 8px auto 0;\r\n\tborder-bottom: 1px solid #DEDFDE;\r\n\toverflow: visible;\r\n\tfloat: left\r\n}\r\n\r\n#ranklist .tabcon {\r\n\tclear: both\r\n}\r\n\r\n#ranklist .tab li {\r\n\twidth: 58px;\r\n\theight: 20px;\r\n\tborder: solid #DEDFDE;\r\n\tborder-width: 1px 1px 0;\r\n\tmargin-right: 4px;\r\n\ttext-align: center;\r\n\tline-height: 20px;\r\n\tcolor: #333;\r\n\tcursor: default;\r\n\tbackground-color: #f7f7f7\r\n}\r\n\r\n#ranklist .tab .curr {\r\n\tfont-weight: 700;\r\n\tbackground-color: #fff;\r\n\tcolor: #e4393c;\r\n\theight: 21px;\r\n\tmargin-bottom: -1px\r\n}\r\n\r\n#ranklist .tabcon {\r\n\tpadding: 0 5px\r\n}\r\n\r\n#ranklist .tabcon li {\r\n\tposition: relative;\r\n\theight: 50px;\r\n\tpadding: 8px 0 8px 70px;\r\n\tzoom: 1;\r\n\tborder-top: 1px dotted #DEDEDE\r\n}\r\n\r\n#ranklist .tabcon span,#ranklist .tabcon .p-img {\r\n\tposition: absolute;\r\n\ttop: 8px\r\n}\r\n\r\n#ranklist .tabcon span {\r\n\tleft: -3px;\r\n\twidth: 18px;\r\n\theight: 18px;\r\n\tbackground-position: -256px -322px;\r\n\ttext-align: center;\r\n\tcolor: #fff;\r\n\tfont-size: 10px;\r\n\tcolor: #ddd\r\n}\r\n\r\n#ranklist .tabcon .p-img {\r\n\tleft: 15px;\r\n\tpadding: 0\r\n}\r\n\r\n#ranklist .tabcon .fore1 span,#ranklist .tabcon .fore2 span,#ranklist .tabcon .fore3 span\r\n\t{\r\n\tbackground-position: -232px -322px;\r\n\tcolor: #e4393c\r\n}\r\n\r\n#ranklist .tabcon .fore1 {\r\n\tborder-top: 0\r\n}\r\n\r\n#ranklist .tabcon .p-name {\r\n\theight: 3em\r\n}\r\n\r\n#search-result {\r\n\tborder-top: 2px solid #999\r\n}\r\n\r\n#search-result .mt {\r\n\tborder-left: 1px solid #ddd;\r\n\tborder-right: 1px solid #ddd\r\n}\r\n\r\n#search-result .mc {\r\n\tborder: 1px solid #ddd;\r\n\tborder-top: 0\r\n}\r\n\r\n#search-result .search-item dl,#search-result .search-item dt {\r\n\tfloat: left\r\n}\r\n\r\n#search-result .search-item {\r\n\tpadding: 10px 0 0 10px;\r\n\theight: 70px;\r\n\toverflow: hidden\r\n}\r\n\r\n#search-result .search-item dl {\r\n\twidth: 199px;\r\n\tpadding-right: 40px;\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n#search-result .search-item .p-img,.search-item .p-name,.search-item .p-price\r\n\t{\r\n\toverflow: hidden\r\n}\r\n\r\n#search-result .search-item .p-img {\r\n\tmargin-right: 10px\r\n}\r\n\r\n#search-result .search-item .p-name {\r\n\tline-height: 1.5em;\r\n\theight: 3em\r\n}\r\n\r\n#search-result .search-item .p-price {\r\n\tfont-weight: 700;\r\n\tcolor: #e4393c\r\n}\r\n\r\n#search-result .mt h2 {\r\n\tfloat: left;\r\n\tfont-size: 12px\r\n}\r\n\r\n#search-result .mt .extra {\r\n\tfont: 400 12px/28px simsun;\r\n\tpadding-right: 8px\r\n}\r\n\r\n#search-result .mt h2 a {\r\n\tcolor: #005ea7;\r\n\tline-height: 28px\r\n}\r\n\r\n#search-result .search-keywords {\r\n\tpadding: 0 0 10px 10px\r\n}\r\n\r\n#search-result .search-keywords a,#search-result .search-keywords:visited\r\n\t{\r\n\tcolor: #005AA0;\r\n\tmargin-right: 1em\r\n}\r\n\r\n#product-detail .mt {\r\n\ttop: auto;\r\n\tz-index: 100\r\n}\r\n\r\n#product-detail .nav-fixed {\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tbackground: #fff url(../images/tab.png) 0 -39px repeat-x;\r\n\tpadding-bottom: 2px;\r\n\tpadding-top: 2px\r\n}\r\n\r\n#product-detail .nav-fixed .curr {\r\n\tmargin-top: -2px\r\n}\r\n\r\n#product-detail .nav-fixed .curr a {\r\n\theight: 32px;\r\n\tline-height: 32px\r\n}\r\n\r\n#product-detail .nav-fixed a {\r\n\theight: 30px;\r\n\tline-height: 30px\r\n}\r\n\r\n* html #product-detail .nav-fixed {\r\n\tposition: absolute;\r\n\tbottom: auto;\r\n\ttop: expression(eval(document.documentElement.scrollTop))\r\n}\r\n\r\n#product-detail .mt {\r\n\toverflow: visible\r\n}\r\n\r\n#product-detail .mc {\r\n\tclear: both\r\n}\r\n\r\n#nav-minicart {\r\n\tposition: relative;\r\n\tfloat: right;\r\n\tz-index: 2\r\n}\r\n\r\n#nav-minicart .err-price {\r\n\theight: 12px;\r\n\twidth: auto\r\n}\r\n\r\n.nav-minicart-btn a,.nav-minicart-btn a:hover,.nav-minicart-btn a:visited\r\n\t{\r\n\tcolor: #fff;\r\n\ttext-decoration: none\r\n}\r\n\r\n#nav-minicart .nav-minicart-inner {\r\n\tposition: absolute;\r\n\tright: 0;\r\n\ttop: 1px;\r\n\tfont-size: 12px;\r\n\twidth: 229px;\r\n\tmargin: -1px -1px 0 0;\r\n\tpadding: 1px\r\n}\r\n\r\n#nav-minicart.hover .nav-minicart-inner {\r\n\tborder: 1px solid #ddd;\r\n\tpadding: 0;\r\n\tbackground: #fff;\r\n\t-moz-box-shadow: 0 0 5px #ddd;\r\n\t-webkit-box-shadow: 0 0 5px #DDD;\r\n\tbox-shadow: 0 0 5px #DDD\r\n}\r\n\r\n#nav-minicart.hover .nav-minicart-con {\r\n\tdisplay: block\r\n}\r\n\r\n#nav-minicart .nav-minicart-btn a {\r\n\tfloat: right;\r\n\tdisplay: inline;\r\n\twidth: 105px;\r\n\theight: 21px;\r\n\tbackground-position: 0 -46px;\r\n\tline-height: 100px;\r\n\toverflow: hidden;\r\n\tmargin: 3px 3px 0 0;\r\n\tcursor: pointer\r\n}\r\n\r\n#nav-minicart .nav-minicart-btn a:hover {\r\n\tbackground-position: -157px -46px\r\n}\r\n\r\n#nav-minicart .nav-minicart-buynow a,#nav-minicart .nav-minicart-buynow a:hover\r\n\t{\r\n\twidth: 77px;\r\n\theight: 25px;\r\n\tmargin-top: 2px;\r\n\tline-height: 25px;\r\n\ttext-align: center;\r\n\tbackground-position: -166px -112px;\r\n\tfont-weight: 400\r\n}\r\n\r\n#nav-minicart .nav-minicart-btn {\r\n\toverflow: hidden\r\n}\r\n\r\n#nav-minicart .nav-minicart-con {\r\n\tpadding: 10px 0;\r\n\tclear: both;\r\n\twidth: 227px;\r\n\toverflow: hidden;\r\n\tdisplay: none\r\n}\r\n\r\n#nav-minicart .p-img {\r\n\tfloat: left;\r\n\tmargin: 0 10px;\r\n\tpadding: 0\r\n}\r\n\r\n#nav-minicart .p-name,#nav-minicart .p-price {\r\n\toverflow: hidden\r\n}\r\n\r\n#nav-minicart .p-name {\r\n\tline-height: 1.5em;\r\n\theight: 4.5em;\r\n\tmargin-bottom: 10px;\r\n\tcolor: #333;\r\n\tfont-weight: 400\r\n}\r\n\r\n#nav-minicart .p-price {\r\n\tline-height: 1.2em;\r\n\tfont-weight: 700;\r\n\tcolor: #e4393c\r\n}\r\n\r\n#nav-minicart .p-price em {\r\n\tcolor: #999;\r\n\tfont-weight: 400\r\n}\r\n\r\n.Tip360 {\r\n\twidth: 380px;\r\n\toverflow: hidden;\r\n\tbackground: #fff;\r\n\tposition: absolute;\r\n\tborder: 1px solid #959595;\r\n\tz-index: 20002;\r\n\tdisplay: none\r\n}\r\n\r\n.Tip360 strong {\r\n\tcolor: #F60\r\n}\r\n\r\n.w260 {\r\n\twidth: 260px\r\n}\r\n\r\n.Tip_Title {\r\n\theight: 26px;\r\n\tline-height: 26px;\r\n\tpadding: 0 8px;\r\n\tbackground: #0067AA;\r\n\tcolor: #fff\r\n}\r\n\r\n.Tip_Title em {\r\n\tfloat: right;\r\n\tmargin-top: 6px;\r\n\tcursor: pointer\r\n}\r\n\r\n.Tip_Content {\r\n\tpadding: 10px;\r\n\toverflow: hidden;\r\n\ttext-align: center;\r\n\tzoom: 1\r\n}\r\n\r\n.Tip_Img {\r\n\twidth: 110px;\r\n\theight: 96px;\r\n\tfloat: left\r\n}\r\n\r\n.Tip_Img img {\r\n\twidth: 100px;\r\n\theight: 75px;\r\n\tpadding: 10px 5px\r\n}\r\n\r\n.Tip_Text {\r\n\twidth: 240px;\r\n\tfloat: right;\r\n\ttext-align: left\r\n}\r\n\r\n.Tip_Text1 {\r\n\tfont-size: 14px;\r\n\theight: 40px;\r\n\tline-height: 40px;\r\n\tfont-weight: 700;\r\n\tbackground: url(http://www.360buy.com/skin/df/i/right_03.jpg) no-repeat\r\n\t\tleft center;\r\n\tpadding: 15px 0 15px 40px\r\n}\r\n\r\n.Tip_Submit {\r\n\tbackground: #f2f2f2;\r\n\tborder-top: 1px solid #ccc;\r\n\theight: 24px;\r\n\tpadding: 3px 5px\r\n}\r\n\r\n.Tip_Submit a:link,.Tip_Submit a:visited,.Tip_Submit2 a:link,.Tip_Submit2 a:visited\r\n\t{\r\n\tdisplay: block;\r\n\theight: 20px;\r\n\tborder: 1px solid #0067AA;\r\n\tpadding: 1px;\r\n\tfloat: right;\r\n\ttext-decoration: none;\r\n\tcursor: pointer;\r\n\tmargin-left: 10px\r\n}\r\n\r\n.Tip_Submit span,.Tip_Submit2 span {\r\n\tdisplay: block;\r\n\theight: 20px;\r\n\tline-height: 20px;\r\n\tpadding: 0 5px;\r\n\tbackground: #0067AA;\r\n\tcolor: #fff;\r\n\tfloat: left\r\n}\r\n\r\n#changeCard {\r\n\tdisplay: block;\r\n\twidth: 600px;\r\n\tborder: 0\r\n}\r\n\r\n#changeCard td {\r\n\tpadding: 10px 0\r\n}\r\n\r\n#changeCard .pd-t td {\r\n\tpadding-top: 5px\r\n}\r\n\r\n#changeCard .pd-b td {\r\n\tpadding-bottom: 5px\r\n}\r\n\r\n#changeCard td td {\r\n\tpadding: 0\r\n}\r\n\r\n#changeCard img {\r\n\tdisplay: inline\r\n}\r\n\r\n#changeCard .sign img {\r\n\twidth: 100px;\r\n\theight: 75px;\r\n\tpadding: 4px;\r\n\tbackground: url(http://www.360buy.com/skin/df/i/btn_card_1.gif)\r\n}\r\n\r\n#changeCard .area1 {\r\n\twidth: 480px;\r\n\theight: 120px;\r\n\tline-height: 30px;\r\n\tborder: 0;\r\n\tbackground: url(http://www.360buy.com/skin/df/i/btn_card_2.gif);\r\n\toverflow: hidden;\r\n\tfont-size: 18px;\r\n\tfont-family: arial, \"microsoft yahei\", simsun\r\n}\r\n\r\n#changeCard .text1 {\r\n\tborder: 0;\r\n\twidth: 108px;\r\n\theight: 24px;\r\n\tpadding-top: 6px;\r\n\tline-height: 24px;\r\n\tbackground: url(http://www.360buy.com/skin/df/i/btn_card_2.gif) repeat-x\r\n\t\t0 bottom;\r\n\tmargin-right: 30px;\r\n\tfont-size: 18px;\r\n\tfont-family: arial, \"microsoft yahei\", simsun\r\n}\r\n\r\n#changeCard .Tip_Submit {\r\n\tpadding: 20px 0;\r\n\tbackground: 0;\r\n\tborder: 0;\r\n\ttext-align: center\r\n}\r\n\r\n#changeCard .btn1 {\r\n\twidth: 60px;\r\n\theight: 27px;\r\n\tbackground: url(http://www.360buy.com/skin/df/i/com/btn_card.jpg);\r\n\tborder: 0;\r\n\tcursor: pointer\r\n}\r\n\r\n.Ptable {\r\n\tbackground: #CCC;\r\n\tmargin: 10px 0\r\n}\r\n\r\n.Ptable th {\r\n\tbackground: #EEF7FE;\r\n\tpadding: 5px;\r\n\tfont-size: 12px\r\n}\r\n\r\n.Ptable td {\r\n\tbackground: none repeat scroll 0 0 #FFF;\r\n\tpadding: 2px 5px;\r\n\tfont-size: 12px\r\n}\r\n\r\n.Ptable .tdTitle {\r\n\tbackground: none repeat scroll 0 0 #F5FAFE;\r\n\ttext-align: right;\r\n\twidth: 110px\r\n}\r\n\r\n.Ptable th.tdTitle {\r\n\ttext-align: center\r\n}\r\n\r\n.item-detail {\r\n\tpadding: 10px\r\n}\r\n\r\n#tuan-shouhou p {\r\n\tmargin: 5px 0;\r\n\tline-height: 150%\r\n}\r\n\r\n.item-warnning {\r\n\tdisplay: inline-block;\r\n\tpadding: 1px 5px;\r\n\tcolor: #e4393c;\r\n\tbackground: #ffe8e8;\r\n\tborder: 1px solid #db9a9a;\r\n\tmargin-left: 10px;\r\n\t*zoom: 1\r\n}\r\n\r\n.item-warnning s {\r\n\tfloat: left;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tmargin: 1px 4px 0 0;\r\n\tbackground-position: -100px -267px\r\n}\r\n\r\n#choose .item-hl-bg {\r\n\tbackground: #ffe8e8;\r\n\tborder: 1px solid #db9a9a\r\n}\r\n\r\n#choose .item-hl-bg .dd {\r\n\tborder-color: #ffe8e8\r\n}\r\n\r\n#short-share {\r\n\tpadding-top: 20px;\r\n\tposition: relative\r\n}\r\n\r\n#share-list {\r\n\tposition: absolute;\r\n\ttop: 19px;\r\n\tleft: 190px;\r\n\twidth: 170px;\r\n\tz-index: 3;\r\n\t_left: 0\r\n}\r\n\r\n#share-list.share-list-open {\r\n\twidth: 300px\r\n}\r\n\r\n.share-bd,.share-hd,.share-list-item,.share-list-item li,.share-list-item a,.share-ft\r\n\t{\r\n\tfloat: left;\r\n\theight: 23px;\r\n\tline-height: 23px\r\n}\r\n\r\n.share-bd {\r\n\tborder: 1px solid #ddd;\r\n\tpadding: 1px 0;\r\n\tborder-right: 0;\r\n\tbackground-color: #fff\r\n}\r\n\r\n.share-hd {\r\n\tpadding-left: 10px\r\n}\r\n\r\n#short-share .share-list-item {\r\n\twidth: 80px;\r\n\toverflow: hidden;\r\n\t*zoom: 1;\r\n\theight: 23px\r\n}\r\n\r\n#share-list .share-list-item-all {\r\n\twidth: auto\r\n}\r\n\r\n.share-list-item a {\r\n\twidth: 22px;\r\n\theight: 23px;\r\n\ttext-indent: -9999px;\r\n\toverflow: hidden\r\n}\r\n\r\n.share-list-item li {\r\n\tmargin-right: 2px\r\n}\r\n\r\n#view-bigimg {\r\n\twidth: 74px;\r\n\theight: 25px;\r\n\tline-height: 25px;\r\n\tbackground-position: -1px -287px;\r\n\tpadding-left: 15px;\r\n\toverflow: hidden;\r\n\tposition: relative\r\n}\r\n\r\n#view-bigimg a {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\twidth: 74px;\r\n\theight: 25px;\r\n\ttop: 0;\r\n\tright: 0;\r\n\ttext-align: right;\r\n\tpadding-right: 10px\r\n}\r\n\r\n#view-bigimg b {\r\n\tdisplay: inline-block;\r\n\twidth: 14px;\r\n\theight: 14px;\r\n\tbackground-position: -264px -240px;\r\n\tmargin: 0 4px -2px 0;\r\n\t*zoom: 1\r\n}\r\n\r\n#site-sina {\r\n\tbackground-position: -190px -166px\r\n}\r\n\r\n#site-qzone {\r\n\tbackground-position: -102px -167px\r\n}\r\n\r\n#site-renren {\r\n\tbackground-position: -146px -167px\r\n}\r\n\r\n#site-kaixing {\r\n\tbackground-position: -168px -166px\r\n}\r\n\r\n#site-douban {\r\n\tbackground-position: -124px -167px\r\n}\r\n\r\n#site-msn {\r\n\tbackground-position: -234px -167px\r\n}\r\n\r\n#site-qq {\r\n\tbackground-position: -256px -167px\r\n}\r\n\r\n#site-email {\r\n\tbackground-position: -212px -167px\r\n}\r\n\r\n#site-yixin {\r\n\tbackground-position: -146px -190px\r\n}\r\n\r\n#site-sina:hover {\r\n\tbackground-position: -190px -143px\r\n}\r\n\r\n#site-qzone:hover {\r\n\tbackground-position: -102px -143px\r\n}\r\n\r\n#site-renren:hover {\r\n\tbackground-position: -146px -143px\r\n}\r\n\r\n#site-kaixing:hover {\r\n\tbackground-position: -168px -143px\r\n}\r\n\r\n#site-douban:hover {\r\n\tbackground-position: -124px -143px\r\n}\r\n\r\n#site-msn:hover {\r\n\tbackground-position: -234px -143px\r\n}\r\n\r\n#site-qq:hover {\r\n\tbackground-position: -256px -143px\r\n}\r\n\r\n#site-email:hover {\r\n\tbackground-position: -212px -143px\r\n}\r\n\r\n#site-yixin:hover {\r\n\tbackground-position: -124px -190px\r\n}\r\n\r\n.share-ft {\r\n\tpadding: 1px 0;\r\n\tborder: 1px solid #ddd;\r\n\twidth: 20px;\r\n\tcursor: pointer;\r\n\tbackground-color: #fff\r\n}\r\n\r\n.share-ft b {\r\n\tdisplay: block;\r\n\twidth: 7px;\r\n\theight: 11px;\r\n\tmargin: 6px 0 0 7px;\r\n\tbackground-position: -271px -258px;\r\n\ttext-indent: -9999px;\r\n\toverflow: hidden\r\n}\r\n\r\n.share-ft-open b {\r\n\tbackground-position: -263px -258px\r\n}\r\n\r\n.model-partake {\r\n\tpadding: 15px 15px 5px\r\n}\r\n\r\n.model-partake .form {\r\n\tline-height: 22px;\r\n\toverflow: hidden\r\n}\r\n\r\n.model-partake .text {\r\n\tborder: 1px solid #CCC;\r\n\tcolor: #999;\r\n\theight: 16px;\r\n\tpadding: 2px 3px;\r\n\twidth: 280px\r\n}\r\n\r\n.model-partake .btn-copy {\r\n\tmargin-top: 15px\r\n}\r\n\r\n.model-partake .i-con {\r\n\tborder: 1px solid #EFD38C;\r\n\tcolor: #666;\r\n\tmargin-top: 15px;\r\n\tpadding: 5px;\r\n\tposition: relative\r\n}\r\n\r\n#toolbar {\r\n\tposition: fixed;\r\n\tz-index: 100;\r\n\tleft: 0;\r\n\tbottom: 0;\r\n\twidth: 100%;\r\n\theight: 40px;\r\n\tborder-top: 1px solid #E1E1E1;\r\n\tbackground: #DDD\r\n}\r\n\r\n#toolbar .w {\r\n\tposition: relative\r\n}\r\n\r\n#toolbar .line {\r\n\theight: 1px;\r\n\tbackground: #fff\r\n}\r\n\r\n#toolbar .slogan {\r\n\tfloat: left;\r\n\theight: 40px;\r\n\tborder: solid #CCC;\r\n\tborder-width: 0 1px\r\n}\r\n\r\n#toolbar .slogan a {\r\n\tfloat: left;\r\n\theight: 12px;\r\n\tmargin: 0 6px;\r\n\tline-height: 100px;\r\n\toverflow: hidden;\r\n\tbackground-image: url(i/icon2011113002.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#toolbar .slogan span {\r\n\tfloat: left\r\n}\r\n\r\n#toolbar .i-slogan {\r\n\tborder: solid #F8F8F8;\r\n\tborder-width: 0 1px;\r\n\theight: 28px;\r\n\tpadding-top: 12px;\r\n\tcolor: #ccc\r\n}\r\n\r\n#toolbar .slogan .fore1 {\r\n\twidth: 50px;\r\n\tbackground-position: 0 -25px;\r\n\tborder-left: 0\r\n}\r\n\r\n#toolbar .slogan .fore2 {\r\n\twidth: 58px;\r\n\tbackground-position: 0 -38px\r\n}\r\n\r\n#toolbar .slogan .fore3 {\r\n\twidth: 73px;\r\n\tbackground-position: 0 -51px\r\n}\r\n\r\n#toolbar .slogan .fore4 {\r\n\twidth: 58px;\r\n\tbackground-position: 0 -64px\r\n}\r\n\r\n#toolbar .form {\r\n\tfloat: right;\r\n\tposition: relative;\r\n\theight: 40px;\r\n\tpadding-right: 10px;\r\n\tzoom: 1\r\n}\r\n\r\n#toolbar .form .prompt {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\tleft: 200px;\r\n\ttop: -24px\r\n}\r\n\r\n#toolbar .form .active {\r\n\tdisplay: block\r\n}\r\n\r\n#toolbar .form .i-prompt {\r\n\tposition: relative;\r\n\twidth: 200px;\r\n\tbackground: #fff;\r\n\tpadding: 3px;\r\n\tborder: 1px solid #ccc;\r\n\tcolor: red;\r\n\tzoom: 1\r\n}\r\n\r\n#toolbar .form .corner {\r\n\tposition: absolute\r\n}\r\n\r\n#toolbar .form .corner b {\r\n\tposition: absolute;\r\n\tleft: 0\r\n}\r\n\r\n#toolbar .form .corner .b1 {\r\n\tz-index: 1\r\n}\r\n\r\n#toolbar .form .corner .b2 {\r\n\tz-index: 2\r\n}\r\n\r\n* html #toolbar .form .corner b {\r\n\toverflow: hidden;\r\n\twidth: 0;\r\n\theight: 0\r\n}\r\n\r\n#toolbar .form .corner-bottom {\r\n\tleft: 20px;\r\n\tbottom: 0\r\n}\r\n\r\n#toolbar .form .corner-bottom b {\r\n\tborder-width: 10px\r\n}\r\n\r\n#toolbar .form .corner-bottom .b1 {\r\n\ttop: 0;\r\n\tborder-style: solid dashed dashed;\r\n\tborder-color: #ccc transparent transparent\r\n}\r\n\r\n#toolbar .form .corner-bottom .b2 {\r\n\ttop: -1px;\r\n\tborder-style: solid dashed dashed;\r\n\tborder-color: #fff transparent transparent\r\n}\r\n\r\n#toolbar .form .label {\r\n\tposition: relative;\r\n\tpadding-left: 38px;\r\n\tmargin-right: 6px;\r\n\tline-height: 40px\r\n}\r\n\r\n#toolbar .form .label b {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 5px;\r\n\tleft: 0;\r\n\twidth: 33px;\r\n\theight: 28px;\r\n\tbackground: url(i/icon2011113002.png) no-repeat 0 -77px\r\n}\r\n\r\n#toolbar .form .label .markdown {\r\n\tbackground-position: -34px -78px\r\n}\r\n\r\n#toolbar .form .label strong {\r\n\tcolor: #e4393c\r\n}\r\n\r\n#toolbar .form .text {\r\n\twidth: 160px;\r\n\theight: 17px;\r\n\tpadding: 3px;\r\n\tmargin: 6px 6px 0 0;\r\n\tborder: 1px solid #aaa\r\n}\r\n\r\n#toolbar .form .button {\r\n\twidth: 94px;\r\n\theight: 25px;\r\n\tmargin-top: 6px;\r\n\tbackground: url(i/icon2011113002.png) no-repeat 0 0;\r\n\tborder: 0;\r\n\tcursor: pointer\r\n}\r\n\r\n#toolbar .samekind {\r\n\tfloat: right;\r\n\theight: 40px\r\n}\r\n\r\n#toolbar .samekind .entrance {\r\n\tposition: relative;\r\n\theight: 40px;\r\n\tborder: solid #E1E1E1;\r\n\tborder-width: 0 1px;\r\n\tpadding: 0 35px 0 10px;\r\n\tline-height: 40px;\r\n\tbackground: #fff;\r\n\tcolor: #666;\r\n\tcursor: pointer\r\n}\r\n\r\n#toolbar .samekind .entrance b {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\ttop: 7px;\r\n\tright: 7px;\r\n\twidth: 22px;\r\n\theight: 24px;\r\n\tbackground: url(i/icon2011113002.png) no-repeat -23px -106px\r\n}\r\n\r\n#toolbar .samekind .list-h {\r\n\tdisplay: none\r\n}\r\n\r\n#toolbar .hover .entrance {\r\n\tposition: relative;\r\n\ttop: -2px;\r\n\tz-index: 1;\r\n\theight: 41px;\r\n\tborder: solid #999;\r\n\tborder-width: 0 1px;\r\n\tzoom: 1\r\n}\r\n\r\n#toolbar .hover .entrance b {\r\n\tbackground-position: 0 -106px\r\n}\r\n\r\n#toolbar .hover .list-h {\r\n\tdisplay: block\r\n}\r\n\r\n#toolbar .groupbuy {\r\n\tfloat: right;\r\n\twidth: 638px;\r\n\theight: 42px;\r\n\tmargin: -2px 22px 0 0;\r\n\tbackground: #DC0E0E\r\n}\r\n\r\n#toolbar .groupbuy .deal-price {\r\n\tfloat: left;\r\n\twidth: 233px;\r\n\theight: 42px;\r\n\tmargin-right: 5px;\r\n\tbackground: url(i/icon20110829.png) no-repeat\r\n}\r\n\r\n#toolbar .groupbuy .groupbuy-tit {\r\n\tfloat: left;\r\n\twidth: 280px;\r\n\tpadding-top: 2px;\r\n\tfont: 700 14px/18px \"microsoft yahei\";\r\n\ttext-indent: 2em;\r\n\tcolor: #FFFAD0\r\n}\r\n\r\n#toolbar .groupbuy .btn-groupbuy {\r\n\tfloat: right;\r\n\toverflow: hidden;\r\n\twidth: 110px;\r\n\theight: 34px;\r\n\tmargin: 5px 5px 0 0;\r\n\tbackground: url(i/bg_toolbar3.png) no-repeat 0 -132px;\r\n\tline-height: 100px;\r\n\tcursor: pointer\r\n}\r\n\r\n#toolbar .toolbar-close {\r\n\tposition: absolute;\r\n\tright: 2px;\r\n\ttop: 14px;\r\n\tz-index: 3;\r\n\tzoom: 1;\r\n\tdisplay: block;\r\n\toverflow: hidden;\r\n\twidth: 11px;\r\n\theight: 11px;\r\n\tbackground: url(i/icon2012010401.gif) no-repeat;\r\n\tline-height: 100px;\r\n\tcursor: pointer\r\n}\r\n\r\n#recommend-samekindlist {\r\n\tposition: absolute;\r\n\ttop: -253px;\r\n\tleft: 0;\r\n\twidth: 1178px;\r\n\tpadding: 0 10px;\r\n\theight: 250px;\r\n\tbackground: #fff;\r\n\tborder: 1px solid #999\r\n}\r\n\r\n#recommend-samekindlist li {\r\n\twidth: 170px;\r\n\tpadding: 0 14px;\r\n\ttext-align: center\r\n}\r\n\r\n#recommend-samekindlist .extra {\r\n\theight: 16px;\r\n\tline-height: 16px;\r\n\tmargin-top: 5px;\r\n\toverflow: hidden;\r\n\tpadding: 2px 0\r\n}\r\n\r\n#recommend-samekindlist .extra a {\r\n\tcolor: #005aa0\r\n}\r\n\r\nbody {\r\n\t_background-image: url(about:blank);\r\n\t_background-attachment: fixed\r\n}\r\n\r\n* html #toolbar {\r\n\tposition: absolute;\r\n\ttop: expression(documentElement.scrollTop +\r\n\t\tdocumentElement.clientHeight-this.offsetHeight);\r\n\toverflow: visible\r\n}\r\n\r\n* html #toolbar .slogan {\r\n\twidth: 307px\r\n}\r\n\r\n* html #toolbar .samekind {\r\n\twidth: 150px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n* html #toolbar .groupbuy {\r\n\tmargin-right: 11px\r\n}\r\n\r\n.content_tpl {\r\n\twidth: 753px;\r\n\tmargin: 0 auto\r\n}\r\n\r\n.formwork {\r\n\toverflow: hidden;\r\n\twidth: 753px;\r\n\tpadding: 10px 0;\r\n\tborder-bottom: 1px dashed #e6e6e6;\r\n\tline-height: 23px;\r\n\ttext-align: left;\r\n\tfont-family: Arial, Helvetica, sans-serif;\r\n\tfont-size: 14px\r\n}\r\n\r\n.formwork p {\r\n\tmargin: 0;\r\n\tpadding: 0\r\n}\r\n\r\n.formwork_img {\r\n\twidth: 750px;\r\n\tmargin: 0 auto;\r\n\ttext-align: center\r\n}\r\n\r\n.formwork_titleleft {\r\n\tline-height: 25px;\r\n\tfont-size: 14px;\r\n\tfont-weight: 700\r\n}\r\n\r\n.formwork_titleleft2 {\r\n\tline-height: 25px;\r\n\tfont-size: 14px\r\n}\r\n\r\n.formwork_titlecenter {\r\n\tline-height: 25px;\r\n\ttext-align: center;\r\n\tfont-size: 14px;\r\n\tfont-weight: 700\r\n}\r\n\r\n.formwork_text {\r\n\twidth: 100%;\r\n\ttext-indent: 2em\r\n}\r\n\r\n.formwork_imgleft,.formwork_imgleft1,.formwork_tpl_left,.formwork_tpl_imgleft,.formwork_tpl_imgright,.formwork_tpl_left1\r\n\t{\r\n\tfloat: left\r\n}\r\n\r\n.formwork_imgleft {\r\n\twidth: 200px;\r\n\tpadding: 10px 20px 10px 0\r\n}\r\n\r\n.formwork_imgright {\r\n\tfloat: right;\r\n\twidth: 200px;\r\n\tpadding: 10px 0 10px 20px\r\n}\r\n\r\n.formwork_imgleft1 {\r\n\twidth: 360px;\r\n\tpadding: 10px 20px 10px 0\r\n}\r\n\r\n.formwork_imgright1 {\r\n\tfloat: right;\r\n\twidth: 360px;\r\n\tpadding: 10px 0 10px 20px\r\n}\r\n\r\n.formwork_tpl_left {\r\n\twidth: 375px\r\n}\r\n\r\n.formwork_tpl_imgleft {\r\n\twidth: 150px;\r\n\tpadding: 10px 20px 10px 0\r\n}\r\n\r\n.formwork_tpl_imgright {\r\n\twidth: 150px;\r\n\tpadding: 10px 20px 10px 10px\r\n}\r\n\r\n.formwork_tpl_left1 {\r\n\twidth: 375px;\r\n\ttext-align: center\r\n}\r\n\r\n.formwork_tpl_img {\r\n\twidth: 100%;\r\n\tpadding: 20px\r\n}\r\n\r\n.formwork_title1 {\r\n\tline-height: 25px;\r\n\ttext-align: center;\r\n\tfont-size: 14px;\r\n\tfont-weight: 700\r\n}\r\n\r\n.formwork_bt_dz,.formwork_bt_rb,.formwork_bt_it,.formwork_bt_top {\r\n\twidth: 750px;\r\n\theight: 43px;\r\n\tbackground-image:\r\n\t\turl(http://misc.360buyimg.com/product/skin/2013/i/20130604A.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n.formwork_bt_dz span,.formwork_bt_rb span,.formwork_bt_it span,.formwork_bt_top span\r\n\t{\r\n\tfloat: left;\r\n\tpadding-left: 10px;\r\n\tline-height: 25px;\r\n\tfont-family: \"\\5fae\\8f6f\\96c5\\9ed1\";\r\n\tfont-size: 14px\r\n}\r\n\r\n.formwork_bt_dz span.s2,.formwork_bt_rb span.s2,.formwork_bt_it span.s2,.formwork_bt_top span.s2\r\n\t{\r\n\tpadding-left: 4px;\r\n\tline-height: 20px;\r\n\tfont-size: 12px\r\n}\r\n\r\n.formwork_bt {\r\n\toverflow: hidden;\r\n\twidth: 753px;\r\n\tpadding: 10px 0;\r\n\tline-height: 23px;\r\n\ttext-align: left;\r\n\tfont-size: 14px;\r\n\tfont-family: Arial, Helvetica, sans-serif\r\n}\r\n\r\n.formwork_bt_dz {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.formwork_bt_dz span {\r\n\tcolor: #FFF;\r\n\tpadding-top: 14px\r\n}\r\n\r\n.formwork_bt_dz span.s2 {\r\n\tpadding-top: 18px\r\n}\r\n\r\n.formwork_bt_rb {\r\n\tbackground-position: 0 -90px\r\n}\r\n\r\n.formwork_bt_rb span {\r\n\tfont-size: 18px;\r\n\tcolor: #C90014;\r\n\tpadding-left: 2px;\r\n\tpadding-top: 12px\r\n}\r\n\r\n.formwork_bt_rb span.s2 {\r\n\tcolor: #666;\r\n\tpadding-left: 10px;\r\n\tline-height: 25px;\r\n\tpadding-top: 16px\r\n}\r\n\r\n.formwork_bt_it {\r\n\tbackground-position: 0 -45px\r\n}\r\n\r\n.formwork_bt_it span {\r\n\tcolor: #000;\r\n\tpadding-top: 8px\r\n}\r\n\r\n.formwork_bt_it span.s2 {\r\n\tline-height: 23px;\r\n\tpadding-top: 10px\r\n}\r\n\r\n.formwork_bt_top {\r\n\tbackground-position: 0 -135px\r\n}\r\n\r\n.formwork_bt_top span {\r\n\tcolor: #000;\r\n\tpadding-top: 10px\r\n}\r\n\r\n.formwork_bt_top span.s2 {\r\n\tpadding-top: 14px\r\n}\r\n\r\n#product-detail .fore {\r\n\tpadding: 0\r\n}\r\n\r\n.knowledge {\r\n\tmargin-top: -10px\r\n}\r\n\r\n#i-detail {\r\n\tpadding: 0 10px 10px;\r\n\toverflow: hidden;\r\n\tzoom: 1\r\n}\r\n\r\n#i-detail li {\r\n\tfloat: left;\r\n\twidth: 360px\r\n}\r\n\r\n#i-detail a {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#product-detail .content {\r\n\tpadding: 10px;\r\n\twidth: 743px;\r\n\toverflow: hidden;\r\n\tzoom: 1;\r\n\tborder-top: 1px dotted #DEDEDE\r\n}\r\n\r\n#product-detail .tab-sub .fore {\r\n\tpadding: 0 15px\r\n}\r\n\r\n#product-detail .tabcon-sub {\r\n\tpadding: 10px 10px 0;\r\n\tborder-top: 1px solid #ccc;\r\n\toverflow: hidden\r\n}\r\n\r\n#product-detail .tabcon-sub a {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#product-detail .tabcon-sub li {\r\n\tfloat: left;\r\n\twidth: 320px;\r\n\tpadding-right: 30px;\r\n\toverflow: hidden\r\n}\r\n\r\n#product-detail .tabcon-sub li span {\r\n\tmargin-right: 6px;\r\n\tcolor: #999\r\n}\r\n\r\n#promises {\r\n\tpadding: 10px;\r\n\toverflow: hidden;\r\n\tzoom: 1;\r\n\tborder-top: 1px dotted #DEDEDE\r\n}\r\n\r\n#state {\r\n\tpadding: 10px;\r\n\toverflow: hidden;\r\n\tzoom: 1;\r\n\tborder-top: 1px dotted #DEDEDE\r\n}\r\n\r\n#state strong {\r\n\tcolor: #e4393c\r\n}\r\n\r\n.Ptable {\r\n\tbackground: #ccc\r\n}\r\n\r\n.Ptable th {\r\n\tbackground: #EEF7FE;\r\n\ttext-align: right;\r\n\tpadding: 5px\r\n}\r\n\r\n.Ptable td {\r\n\tpadding: 2px 5px;\r\n\tbackground: #fff\r\n}\r\n\r\n.Ptable .tdTitle {\r\n\ttext-align: right;\r\n\twidth: 110px;\r\n\tbackground: #F5FAFE\r\n}\r\n\r\n.tab-sub {\r\n\toverflow: hidden;\r\n\tpadding: 8px 0;\r\n\tzoom: 1\r\n}\r\n\r\n.tab-sub li {\r\n\tfloat: left;\r\n\tpadding: 0 15px;\r\n\theight: 16px;\r\n\tcursor: pointer;\r\n\tborder-left: 1px solid #D4D1C8;\r\n\tline-height: 16px;\r\n\tcolor: #e4393c;\r\n\ttext-align: center\r\n}\r\n\r\n.tab-sub .fore {\r\n\tborder: 0\r\n}\r\n\r\n.tab-sub .curr {\r\n\tfont-weight: 700\r\n}\r\n\r\nq::before,q::after {\r\n\tcontent: ''\r\n}\r\n\r\n.word-wiki {\r\n\tcolor: red;\r\n\tfont-weight: 700;\r\n\tposition: relative;\r\n\theight: 18px;\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\tfont: 14px/18px simsun;\r\n\ttext-indent: 0\r\n}\r\n\r\n.wiki-arrow {\r\n\tcolor: #cdcdcd;\r\n\tposition: absolute;\r\n\tbottom: -2px;\r\n\tleft: 50%;\r\n\tmargin-left: -5px;\r\n\twidth: 11px;\r\n\theight: 6px;\r\n\toverflow: hidden;\r\n\tz-index: 3;\r\n\tbackground: #fff;\r\n\tfont: 12px/12px simsun;\r\n\tline-height: 14px\\0\r\n}\r\n\r\n* html .wiki-arrow {\r\n\tline-height: 14px\r\n}\r\n\r\n*+html .wiki-arrow {\r\n\tline-height: 14px\r\n}\r\n\r\n.word-wiki-detail {\r\n\tposition: absolute;\r\n\tleft: -100px;\r\n\tz-index: 2;\r\n\ttop: 19px;\r\n\twidth: 500px;\r\n\tbackground: #fff;\r\n\tborder: 1px solid #cdcdcd;\r\n\tbox-shadow: 3px 3px 3px #EEE;\r\n\tcolor: #333;\r\n\tfont-weight: 400\r\n}\r\n\r\n.wiki-inner {\r\n\tpadding: 12px;\r\n\tfont: 12px/1.8em simsun\r\n}\r\n\r\n.wiki-inner dt {\r\n\tfont-weight: 700;\r\n\tfont-size: 16px\r\n}\r\n\r\n.wiki-inner dd {\r\n\ttext-indent: 2em\r\n}\r\n\r\n.wiki-more {\r\n\ttext-align: right;\r\n\tpadding-top: 5px\r\n}\r\n\r\n.wiki-more a {\r\n\tcolor: #005ea7\r\n}\r\n\r\ndiv.actived .wiki-arrow,div.actived .word-wiki-detail {\r\n\tdisplay: block\r\n}\r\n\r\n.knowledge-tips {\r\n\tposition: relative;\r\n\tmargin-left: 5px;\r\n\tpadding: 2px 0;\r\n\tdisplay: inline-block;\r\n\tborder: 1px solid #d9d9d9;\r\n\tcolor: #333;\r\n\tfont-weight: 400;\r\n\tbackground: #f5f5f5;\r\n\tcursor: default;\r\n\t*zoom: 1\r\n}\r\n\r\n.knowledge-tips a {\r\n\tcolor: #005aa0\r\n}\r\n\r\n.arrow-right {\r\n\tposition: absolute;\r\n\tleft: -5px;\r\n\ttop: 5px;\r\n\twidth: 0;\r\n\theight: 0;\r\n\toverflow: hidden;\r\n\tborder-top: 5px solid transparent;\r\n\tborder-bottom: 5px solid transparent;\r\n\tborder-right: 5px solid #f5f5f5\r\n}\r\n\r\n.arrow_box {\r\n\tposition: absolute;\r\n\tleft: -1px;\r\n\ttop: 8px;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tbackground: #f5f5f5;\r\n\tborder: 1px solid #d9d9d9\r\n}\r\n\r\n.arrow_box:after,.arrow_box:before {\r\n\tright: 100%;\r\n\tborder: solid transparent;\r\n\tcontent: \" \";\r\n\theight: 0;\r\n\twidth: 0;\r\n\tposition: absolute;\r\n\tpointer-events: none\r\n}\r\n\r\n.arrow_box:after {\r\n\tborder-color: rgba(245, 245, 245, 0);\r\n\tborder-right-color: #f5f5f5;\r\n\tborder-width: 5px;\r\n\ttop: 50%;\r\n\tmargin-top: -5px\r\n}\r\n\r\n.arrow_box:before {\r\n\tborder-color: rgba(217, 217, 217, 0);\r\n\tborder-right-color: #d9d9d9;\r\n\tborder-width: 6px;\r\n\ttop: 50%;\r\n\tmargin-top: -6px\r\n}\r\n\r\n.wiki-pop {\r\n\tposition: absolute;\r\n\tz-index: 10;\r\n\tbackground: url(i/tran.gif) 0 0 repeat\r\n}\r\n\r\n.wiki-pop abbr {\r\n\tdisplay: inline;\r\n\t*zoom: 1\r\n}\r\n\r\n.wiki-pop .wiki-inner {\r\n\twidth: 500px;\r\n\tpadding: 12px;\r\n\tfont: 12px/1.8em simsun;\r\n\tbackground: #fff url(i/ydt.png) 380px 5px no-repeat;\r\n\tborder: 1px solid #cdcdcd;\r\n\tbox-shadow: 3px 3px 3px #EEE;\r\n\tcolor: #333\r\n}\r\n\r\n.wiki-pop a {\r\n\tcolor: #005ea7\r\n}\r\n\r\n.wiki-inner {\r\n\t\r\n}\r\n\r\n.wiki-inner dt {\r\n\tfont-weight: 700;\r\n\theight: 21px;\r\n\toverflow: hidden;\r\n\tfont-size: 16px;\r\n\tborder-bottom: 1px solid #e9303e;\r\n\tmargin-bottom: 10px;\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n.wiki-inner dd {\r\n\ttext-indent: 2em\r\n}\r\n\r\n.wiki-more {\r\n\ttext-align: right;\r\n\tpadding-top: 5px\r\n}\r\n\r\n.wiki-arr {\r\n\tdisplay: block;\r\n\tcolor: #cdcdcd;\r\n\tposition: relative;\r\n\ttop: 1px;\r\n\tz-index: 11;\r\n\twidth: 11px;\r\n\theight: 6px;\r\n\toverflow: hidden;\r\n\tbackground: #fff;\r\n\tfont: 12px/12px simsun;\r\n\tline-height: 14px\\0;\r\n\t*line-height: 14px\r\n}\r\n\r\n#choose-service .dt {\r\n\tpadding-top: 5px\r\n}\r\n\r\n#choose-service .dd .service-type {\r\n\tpadding-bottom: 5px;\r\n\toverflow: hidden;\r\n\t*zoom: 1;\r\n\tclear: both\r\n}\r\n\r\n#choose-service .dd .item {\r\n\tposition: relative;\r\n\tfont-family: simsun\r\n}\r\n\r\n#choose-service .dd .item a.yb-item,#choose-service .dd .item a.yb-item:link,#choose-service .dd .item a.yb-item:visited\r\n\t{\r\n\tpadding: 2px 5px 2px 22px\r\n}\r\n\r\n#choose-service .dd .item a.yb-item:hover,#choose-service .dd .item a.yb-item:active,#choose-service .dd .selected a.yb-item,#choose-service .dd .selected a.yb-item:link,#choose-service .dd .selected a.yb-item:visited\r\n\t{\r\n\tpadding: 1px 4px 1px 21px\r\n}\r\n\r\n#choose-service .dd .item a.yb-item-first,#choose-service .dd .item a.yb-item-first:link,#choose-service .dd .item a.yb-item-first:visited\r\n\t{\r\n\tpadding: 2px 10px 2px 22px\r\n}\r\n\r\n#choose-service .dd .item a.yb-item-first:hover,#choose-service .dd .item a.yb-item-first:active,#choose-service .dd .selected a.yb-item-first,#choose-service .dd .selected a.yb-item-first:link,#choose-service .dd .selected a.yb-item-first:visited\r\n\t{\r\n\tpadding: 1px 9px 1px 21px\r\n}\r\n\r\n#choose-service .dd .item .yb-link {\r\n\tfloat: left;\r\n\tborder: 0\r\n}\r\n\r\n#choose-service .dd .item i {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tleft: 4px;\r\n\ttop: 4px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tbackground-color: #ccc;\r\n\tcursor: pointer\r\n}\r\n\r\n#choose-service .service-type-yb {\r\n\t\r\n}\r\n\r\n#choose-service .more-services {\r\n\tposition: relative;\r\n\tpadding-right: 15px;\r\n\twidth: 6em;\r\n\tclear: both;\r\n\tcolor: #005AA0\r\n}\r\n\r\n#choose-service .dd .open {\r\n\theight: auto;\r\n\toverflow: visible;\r\n\t*zoom: 1\r\n}\r\n\r\n#choose-service .more-services s {\r\n\tposition: absolute;\r\n\ttop: 6px;\r\n\tright: 2px;\r\n\twidth: 7px;\r\n\theight: 4px;\r\n\tdisplay: block;\r\n\tbackground: url(http://misc.360buyimg.com/lib/skin/2012/i/20111221C.png)\r\n\t\t-35px -281px;\r\n\toverflow: hidden\r\n}\r\n\r\n#choose-service .more-services s.fold {\r\n\tbackground-position: -35px -275px\r\n}\r\n\r\n#choose-service .item i {\r\n\tbackground-image: url(i/yb-icons20141021.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#choose .yb-item-cat .item {\r\n\tmargin-bottom: 0;\r\n\tbackground: #fff\r\n}\r\n\r\n.yb-item-hide {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 26px\r\n}\r\n\r\n#choose-service .yb-item-hide .item {\r\n\tposition: relative;\r\n\tmargin-top: 0\r\n}\r\n\r\n#choose #choose-service,#choose #choose-service .dd {\r\n\toverflow: visible\r\n}\r\n\r\n.yb-item-hover .yb-item-hide {\r\n\tdisplay: block\r\n}\r\n\r\n.yb-item-cat {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\tbackground: #fff;\r\n\tposition: relative;\r\n\tz-index: 1;\r\n\tmargin-bottom: 2px\r\n}\r\n\r\n#choose .yb-item-detail a {\r\n\tfloat: left;\r\n\tpadding-top: 5px\r\n}\r\n\r\n#choose .yb-item-detail a:hover {\r\n\ttext-decoration: underline\r\n}\r\n\r\n#choose-service .yb-item-hover {\r\n\tz-index: 3\r\n}\r\n\r\n.yb-item-more {\r\n\tdisplay: inline-block;\r\n\tposition: absolute;\r\n\ttop: 10px;\r\n\tright: 5px;\r\n\twidth: 7px;\r\n\theight: 4px;\r\n\tline-height: 100px;\r\n\toverflow: hidden;\r\n\tbackground:\r\n\t\turl(http://misc.360buyimg.com/lib/skin/2013/i/20130330A_1.png) -95px\r\n\t\t-55px no-repeat;\r\n\t*zoom: 1\r\n}\r\n\r\n.yb-item-hover .yb-item-more {\r\n\tbackground-position: -95px -45px\r\n}\r\n\r\n.yb-item-cat-r0 .yb-ico {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.yb-item-cat-r1 .yb-ico {\r\n\tbackground-position: -54px 0\r\n}\r\n\r\n.yb-item-cat-r2 .yb-ico {\r\n\tbackground-position: -18px 0\r\n}\r\n\r\n.yb-item-cat-r3 .yb-ico {\r\n\tbackground-position: -72px 0\r\n}\r\n\r\n.yb-item-cat-r4 .yb-ico {\r\n\tbackground-position: -36px 0\r\n}\r\n\r\n.yb-item-cat-r5 .yb-ico {\r\n\tbackground-position: -91px 0\r\n}\r\n\r\n.yb-item-cat-r6 .yb-ico {\r\n\tbackground-position: -111px 0\r\n}\r\n\r\n.yb-item-cat-r7 .yb-ico {\r\n\tbackground-position: -128px 0\r\n}\r\n\r\n.yb-item-cat-r8 .yb-ico {\r\n\tbackground-position: -146px 0\r\n}\r\n\r\n#comment .btns {\r\n\tpadding-right: 10px\r\n}\r\n\r\n.actor-new {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\twidth: 248px;\r\n\theight: 85px;\r\n\tpadding: 5px 15px 0;\r\n\tline-height: 15px;\r\n\tborder-right: 1px solid #E4E4E4;\r\n\twhite-space: nowrap\r\n}\r\n\r\n.actor-new dd {\r\n\theight: 55px;\r\n\toverflow: hidden\r\n}\r\n\r\n.comm-tags:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n.comm-tags {\r\n\tfloat: left;\r\n\theight: 21px;\r\n\tline-height: 21px;\r\n\tpadding: 0 7px;\r\n\tmargin-right: 5px;\r\n\tbackground: #fdedd2\r\n}\r\n\r\n.actor-new .comm-tags {\r\n\tmargin-top: 5px\r\n}\r\n\r\n.comm-tags span {\r\n\tcolor: #333\r\n}\r\n\r\n.comm-tags em {\r\n\tcolor: #999\r\n}\r\n\r\n.dl-extra span {\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n.dl-extra em {\r\n\tmargin-right: 1em\r\n}\r\n\r\n.reply-list {\r\n\tpadding: 5px\r\n}\r\n\r\n.reply-list blockquote {\r\n\tpadding-top: 5px\r\n}\r\n\r\n.reply-left {\r\n\twidth: 500px\r\n}\r\n\r\n.reply-input input {\r\n\twidth: 464px;\r\n\theight: 15px;\r\n\tline-height: 12px;\r\n\tpadding: 4px 5px;\r\n\tborder-bottom: 1px solid #ddd;\r\n\tborder-right: 1px solid #ddd;\r\n\tborder-left: 1px solid #aaa;\r\n\tborder-top: 1px solid #aaa\r\n}\r\n\r\n.replay-form .arrow {\r\n\tfloat: right;\r\n\tdisplay: inline;\r\n\tmargin-right: 2.5em\r\n}\r\n\r\n.u-address {\r\n\tmargin-left: 5px\r\n}\r\n\r\n#comments-list .reply-lz {\r\n\tborder: 0\r\n}\r\n\r\n* html .reply-lz .arrow {\r\n\ttop: auto;\r\n\tbottom: -13px;\r\n\tz-index: 2\r\n}\r\n\r\n* html #comments-list div.mt {\r\n\tbackground-position: 0 -286px\r\n}\r\n\r\n.reply-meta {\r\n\tpadding: 5px\r\n}\r\n\r\n.reply-meta .p-bfc {\r\n\tvisibility: hidden\r\n}\r\n\r\n.reply-wrap {\r\n\tborder: 1px solid #d9d9d9;\r\n\tbackground: #f5f5f5;\r\n\tpadding: 0 10px 10px;\r\n\tmargin-bottom: 5px;\r\n\tclear: both\r\n}\r\n\r\n.reply-wrap p {\r\n\theight: 30px;\r\n\tline-height: 30px\r\n}\r\n\r\n.reply-wrap em,.reply-con em {\r\n\tcolor: #999\r\n}\r\n\r\n.reply-btn {\r\n\tfloat: left;\r\n\tmargin-left: 5px;\r\n\twidth: 51px;\r\n\theight: 20px;\r\n\tline-height: 20px;\r\n\tborder-radius: 3px\r\n}\r\n\r\n.reply-btn,.reply-btn:hover,.reply-btn:visited {\r\n\ttext-decoration: none;\r\n\tcolor: #333\r\n}\r\n\r\n.reply-con .u-name a {\r\n\tpadding: 0 5px\r\n}\r\n\r\n.u-name a b {\r\n\tdisplay: inline-block;\r\n\tmargin: 0 0 -2px 4px;\r\n\twidth: 13px;\r\n\theight: 15px;\r\n\tbackground-position: -85px -267px;\r\n\t*zoom: 1\r\n}\r\n\r\n.u-name a b.sj {\r\n\tbackground-position: -105px -295px\r\n}\r\n\r\n#comment-sort {\r\n\tdisplay: none;\r\n\theight: 27px;\r\n\tpadding: 2px 10px 0 0\r\n}\r\n\r\n#comments-list .dl-extra {\r\n\tclear: both\r\n}\r\n\r\n#comments-list .dl-extra dl {\r\n\tfloat: left;\r\n\tmargin-right: 1em\r\n}\r\n\r\n#comments-list .dl-extra dd {\r\n\tfloat: left\r\n}\r\n\r\n#comment .actor {\r\n\tpadding: 5px 10px 0\r\n}\r\n\r\n.i-item .useful,.i-item .btn-reply {\r\n\tfloat: right\r\n}\r\n\r\n.reply-left {\r\n\tcolor: #9C9A9C\r\n}\r\n\r\n.root61 #comment .actor {\r\n\twidth: 420px;\r\n\tpadding: 5px 15px 0\r\n}\r\n\r\n.root61 .reply-input input {\r\n\twidth: 684px\r\n}\r\n\r\n.root61 .reply-left {\r\n\twidth: 730px\r\n}\r\n\r\n.root61 .actor-new {\r\n\twidth: 398px\r\n}\r\n\r\n.root61 #comments-list .comment-content .dl-extra dd {\r\n\twidth: auto\r\n}\r\n\r\n#ypds-list {\r\n\twidth: 155px;\r\n\tmargin-top: 10px\r\n}\r\n\r\n#ypds-list .mt {\r\n\tborder: 1px solid #DEDFDE\r\n}\r\n\r\n#ypds-list .mc {\r\n\tborder: 1px solid #DEDFDE;\r\n\tborder-top: 0\r\n}\r\n\r\n#ypds-list .mt span {\r\n\theight: 35px;\r\n\tline-height: 35px;\r\n\tpadding: 0 10px\r\n}\r\n\r\n#ypds-list .mc li {\r\n\theight: 30px;\r\n\tmargin: 0 5px -1px 5px;\r\n\tpadding: 0 5px;\r\n\tline-height: 30px;\r\n\tborder-bottom: 1px dotted #dedfde;\r\n\tclear: both\r\n}\r\n\r\n#ypds-list .mc li .lh {\r\n\ttext-align: right\r\n}\r\n\r\n#ypds-info {\r\n\tfloat: left;\r\n\tborder: 1px solid #DEDFDE;\r\n\tpadding: 4px 10px;\r\n\tclear: left;\r\n\tdisplay: inline;\r\n\tmargin: 0 0 20px 10px;\r\n\twhite-space: nowrap\r\n}\r\n\r\n.root61 #ypds-list {\r\n\twidth: 210px\r\n}\r\n\r\n#compare {\r\n\tfloat: left;\r\n\tdisplay: inline;\r\n\tmargin: 0 5px;\r\n\ttext-align: center;\r\n\toverflow: hidden\r\n}\r\n\r\n#compare .btn-compare {\r\n\tdisplay: inline-block;\r\n\twidth: 92px;\r\n\theight: 25px;\r\n\tline-height: 100px;\r\n\toverflow: hidden;\r\n\tbackground: url(../images/p-btns-20140611.png) 0 -399px no-repeat;\r\n\t*zoom: 1\r\n}\r\n\r\n#compare .btn-compare-s-active {\r\n\tbackground-position: -157px -399px\r\n}\r\n\r\n#pop-compare {\r\n\tdisplay: none;\r\n\tposition: fixed;\r\n\tbottom: -200px;\r\n\tright: 50%;\r\n\tmargin-right: -495px;\r\n\tz-index: 100;\r\n\twidth: 990px;\r\n\theight: 139px;\r\n\tbackground: #fff;\r\n\t-moz-box-shadow: 0 0 15px rgba(221, 221, 221, .8);\r\n\t-webkit-box-shadow: 0 0 15px rgba(221, 221, 221, .8);\r\n\tbox-shadow: 0 0 15px rgba(221, 221, 221, .8)\r\n}\r\n\r\n.root61 #pop-compare {\r\n\tmargin-right: -606px\r\n}\r\n\r\n#pop-compare .tab-con {\r\n\tborder: 2px solid #7abd54;\r\n\tborder-top: 0\r\n}\r\n\r\n#pop-compare.pop-compare-narrow {\r\n\twidth: 970px;\r\n\tmargin-right: -475px\r\n}\r\n\r\n#pop-compare.pop-compare-narrow #scroll-con-inner dl {\r\n\twidth: 204px\r\n}\r\n\r\n#pop-compare.pop-compare-narrow .scroll-con {\r\n\twidth: 880px\r\n}\r\n\r\n#pop-compare.pop-compare-narrow .scroll-con dd {\r\n\twidth: 150px\r\n}\r\n\r\n#pop-compare .pop-wrap {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\twidth: 990px\r\n}\r\n\r\n#pop-compare.pop-compare-narrow .pop-wrap {\r\n\twidth: 970px\r\n}\r\n\r\n#pop-compare.pop-compare-narrow .diff-operate {\r\n\tright: 14px\r\n}\r\n\r\n#goto-contrast:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n#goto-contrast {\r\n\tdisplay: block;\r\n\twidth: 59px;\r\n\theight: 30px;\r\n\tfont: 700 14px/30px verdana;\r\n\tmargin-left: 13px;\r\n\tmargin-bottom: 11px;\r\n\tborder-radius: 3px;\r\n\tbackground: #fff;\r\n\tborder: 1px solid #ddd;\r\n\tcolor: #ccc;\r\n\tcursor: default\r\n}\r\n\r\n#goto-contrast.compare-active {\r\n\tborder: 0;\r\n\tcolor: #fff;\r\n\tbackground-color: #E74649;\r\n\tbackground-image: -ms-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: -moz-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: -o-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #E74649),\r\n\t\tcolor-stop(1, #DF3033));\r\n\tbackground-image: -webkit-linear-gradient(top, #E74649 0, #DF3033 100%);\r\n\tbackground-image: linear-gradient(to bottom, #E74649 0, #DF3033 100%);\r\n\tcursor: pointer\r\n}\r\n\r\n.del-items:hover,.btn-compare:hover,.del-comp-item:hover {\r\n\tcursor: pointer\r\n}\r\n\r\n.del-comp-item {\r\n\tpadding-left: 10px\r\n}\r\n\r\n#pop-compare .pop-inner {\r\n\theight: 133px\r\n}\r\n\r\n#pop-compare .diff-hd .tab-btns {\r\n\theight: 32px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-bottom: 2px solid #7abd54;\r\n\t_overflow: hidden\r\n}\r\n\r\n#pop-compare .tab-btns a {\r\n\tcolor: #666\r\n}\r\n\r\n#pop-compare .diff-hd {\r\n\tposition: relative\r\n}\r\n\r\n#pop-compare .tab-btns .current {\r\n\tposition: relative;\r\n\tleft: -1px;\r\n\tmargin-top: -4px;\r\n\theight: 36px;\r\n\tbackground: #fff;\r\n\tborder: 2px solid #7abd54;\r\n\tborder-bottom: 0\r\n}\r\n\r\n#pop-compare .tab-btns .current a {\r\n\tcolor: #7abd54\r\n}\r\n\r\n#pop-compare .tab-btns .current a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n#pop-compare .diff-hd .operate {\r\n\twidth: 190px;\r\n\ttext-align: right;\r\n\tposition: absolute;\r\n\tright: 0;\r\n\ttop: 0;\r\n\tpadding-right: 22px;\r\n\theight: 30px;\r\n\tline-height: 30px;\r\n\tclear: both\r\n}\r\n\r\n#pop-compare .diff-hd li {\r\n\tfloat: left;\r\n\tposition: relative;\r\n\twidth: 80px;\r\n\theight: 30px;\r\n\tline-height: 30px;\r\n\ttext-align: center;\r\n\t*zoom: 1;\r\n\tfont: 14px/30px 'microsoft yahei'\r\n}\r\n\r\n#pop-compare .operate .btn-compare {\r\n\tmargin-top: 2px\r\n}\r\n\r\n#pop-compare div.diff-items {\r\n\tpadding: 6px;\r\n\tcolor: #ccc;\r\n\theight: 90px;\r\n\toverflow: hidden\r\n}\r\n\r\n#pop-compare #scroll-con-inner div.dt {\r\n\tborder: 0\r\n}\r\n\r\n#pop-compare .diff-items dl,#pop-compare .scroll-con dl {\r\n\tfloat: left;\r\n\toverflow: hidden;\r\n\tmargin-right: 10px;\r\n\tpadding: 17px 10px 12px 0;\r\n\tborder-right: 1px dotted #7abd54\r\n}\r\n\r\n#pop-compare #scroll-con-inner li {\r\n\tfloat: left;\r\n\theight: 84px;\r\n\toverflow: hidden\r\n}\r\n\r\n#pop-compare #scroll-con-inner .rec_item_wrap {\r\n\tmargin-right: 10px;\r\n\tpadding: 10px 10px 0 0;\r\n\tborder-right: 1px dotted #7abd54;\r\n\toverflow: hidden;\r\n\twidth: 205px\r\n}\r\n\r\n#pop-compare .diff-items dt,#pop-compare .scroll-con dt,#scroll-con-inner .dt\r\n\t{\r\n\tfloat: left;\r\n\tmargin-right: 5px;\r\n\twidth: 48px;\r\n\theight: 48px;\r\n\ttext-align: center;\r\n\tcolor: #ccc;\r\n\tborder: 1px solid #fff;\r\n\tfont: 36px/48px arial;\r\n\toverflow: hidden\r\n}\r\n\r\n#pop-compare .diff-items dd,#pop-compare .scroll-con dd,#scroll-con-inner .dd\r\n\t{\r\n\tfloat: left;\r\n\twidth: 140px\r\n}\r\n\r\n#pop-compare .item-empty dt {\r\n\tbackground: #f6f6f6\r\n}\r\n\r\n#scroll-con-inner .hasItem .dt {\r\n\tbackground: 0\r\n}\r\n\r\n#pop-compare a.diff-item-name {\r\n\theight: 3em;\r\n\tline-height: 1.5em;\r\n\toverflow: hidden;\r\n\tdisplay: block;\r\n\tcolor: #333\r\n}\r\n\r\n#pop-compare .rec_item_wrap .btns {\r\n\tpadding-top: 15px\r\n}\r\n\r\n#pop-compare .rec_item_wrap .btns .p-price {\r\n\t_float: right\r\n}\r\n\r\n#pop-compare .rec_item_wrap .btns img {\r\n\tmargin-top: 3px;\r\n\t*float: left\r\n}\r\n\r\n#pop-compare .del-comp-item {\r\n\tvisibility: hidden;\r\n\tcolor: #005aa0\r\n}\r\n\r\n#pop-compare .show-del-comp-item .del-comp-item {\r\n\tvisibility: visible\r\n}\r\n\r\n#pop-compare .hasItem dt {\r\n\tborder: 0\r\n}\r\n\r\n#pop-compare .diff-bd {\r\n\tposition: relative\r\n}\r\n\r\n#pop-compare .diff-operate {\r\n\tposition: absolute;\r\n\tright: 22px;\r\n\ttop: 22px;\r\n\twidth: 85px;\r\n\ttext-align: center\r\n}\r\n\r\na.compare-active {\r\n\tbackground-position: 0 -92px;\r\n\tcolor: #333;\r\n\tcursor: pointer\r\n}\r\n\r\n.pop-compare-tips {\r\n\tdisplay: none;\r\n\theight: 27px;\r\n\tmargin-top: -29px;\r\n\tline-height: 27px;\r\n\tborder: 1px solid #db9a9a;\r\n\tcolor: #c00;\r\n\ttext-align: center;\r\n\tbackground: #ffe8e8;\r\n\t_margin-top: 0\r\n}\r\n\r\n#pop-compare .hide-me,.diff-operate a {\r\n\tcolor: #005aa0\r\n}\r\n\r\n#pop-compare .btn-compare {\r\n\tdisplay: block;\r\n\tborder: 0\r\n}\r\n\r\n#pop-compare .btn-compare-s {\r\n\tfloat: left;\r\n\twidth: 58px;\r\n\theight: 21px;\r\n\tbackground:\r\n\t\turl(http://misc.360buyimg.com/contrast/skin/2012/i/cmp-btns.png) 0 0\r\n\t\tno-repeat;\r\n\toverflow: hidden;\r\n\tline-height: 100px;\r\n\tmargin-right: 10px\r\n}\r\n\r\n#pop-compare a.btn-compare-s-active {\r\n\tbackground-position: 0 -24px\r\n}\r\n\r\n#pop-compare .scroll-item {\r\n\tpadding: 6px 10px;\r\n\t_padding: 10px\r\n}\r\n\r\n#pop-compare div.scroll-con {\r\n\twidth: 905px;\r\n\theight: 90px;\r\n\tposition: relative;\r\n\tmargin: 0 auto;\r\n\toverflow: hidden\r\n}\r\n\r\n#pop-compare #scroll-con-inner {\r\n\tposition: absolute;\r\n\tz-index: 10;\r\n\tleft: 0;\r\n\ttop: 0\r\n}\r\n\r\n#scroll-con-inner dl img,#scroll-con-inner dt {\r\n\tborder: 0\r\n}\r\n\r\n#pop-compare .scroll-item {\r\n\tposition: relative;\r\n\theight: 90px\r\n}\r\n\r\n#pop-compare .scroll-loading {\r\n\twidth: 900px;\r\n\theight: 90px;\r\n\tline-height: 90px\r\n}\r\n\r\n#pop-compare .scroll-con dd {\r\n\twidth: 155px\r\n}\r\n\r\n#pop-compare .scroll-btn {\r\n\tposition: relative;\r\n\ttop: 30px;\r\n\tz-index: 10;\r\n\twidth: 14px;\r\n\theight: 50px;\r\n\ttext-indent: -9999px;\r\n\toverflow: hidden;\r\n\tcursor: pointer;\r\n\tbackground-image:\r\n\t\turl(http://misc.360buyimg.com/product/skin/2012/i/footprint-arr.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#pop-compare .sb-prev {\r\n\tfloat: left;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#pop-compare .sb-next {\r\n\tfloat: right;\r\n\tbackground-position: -16px 0\r\n}\r\n\r\n#pop-compare span.no-prev,#pop-compare #sc-prev.disabled {\r\n\tbackground-position: 0 -100px;\r\n\tcursor: default\r\n}\r\n\r\n#pop-compare span.no-next,#pop-compare #sc-next.disabled {\r\n\tbackground-position: -16px -100px;\r\n\tcursor: default\r\n}\r\n\r\n#sidepanel .compareHolder {\r\n\tdisplay: block;\r\n\tbackground-position: 0 -606px;\r\n\tcursor: pointer\r\n}\r\n\r\n#sidepanel .compareHolder b {\r\n\twidth: 14px;\r\n\theight: 13px;\r\n\tbackground:\r\n\t\turl(http://misc.360buyimg.com/contrast/skin/2012/i/cmp-btns.png) -95px\r\n\t\t-94px no-repeat\r\n}\r\n\r\n#sidepanel .compareHolder:hover b {\r\n\tbackground-position: -95px -108px\r\n}\r\n\r\n#sidepanel .compareHolder-show {\r\n\tvisibility: visible\r\n}\r\n\r\n* html #pop-compare {\r\n\tbottom: auto;\r\n\ttop: expression(eval(document.documentElement.scrollTop +\r\n\t\tdocument.documentElement.clientHeight-this.offsetHeight- ( parseInt(this.currentStyle.marginTop\r\n\t\t, 10)||0)-(parseInt(this.currentStyle.marginBottom, 10)||0)))\r\n}\r\n\r\n* html #pop-compare {\r\n\tbottom: auto;\r\n\tposition: absolute\r\n}\r\n\r\n* html #pop-compare .pop-wrap {\r\n\tposition: static\r\n}\r\n\r\n#store-selector .area-list li {\r\n\tpadding: 2px 0 2px 15px;\r\n\tclear: none\r\n}\r\n\r\n#store-selector .tab li {\r\n\tfloat: left;\r\n\tclear: none;\r\n\tpadding: 0\r\n}\r\n\r\n#JD-stock .area-list a:hover {\r\n\tcolor: #fff\r\n}\r\n\r\n.JD-stock .tab a i,.JD-stock .tab .current,.JD-stock .tab .current a {\r\n\tbackground-image:\r\n\t\turl(http://misc.360buyimg.com/product/skin/2012/i/jd-stock.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n.JD-stock {\r\n\tposition: relative\r\n}\r\n\r\n.JD-stock .tab {\r\n\twidth: 100%;\r\n\theight: 25px;\r\n\tfloat: left;\r\n\tborder-bottom: 2px solid #edd28b;\r\n\toverflow: visible;\r\n\t*overflow: hidden\r\n}\r\n\r\n.JD-stock .tab .current a {\r\n\tcolor: #000\r\n}\r\n\r\n.JD-stock .tab a,.JD-stock .tab .current a.hover {\r\n\tposition: relative;\r\n\tfloat: left;\r\n\theight: 23px;\r\n\tline-height: 23px;\r\n\tpadding: 0 21px 1px 11px;\r\n\tmargin-right: 3px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-bottom: 0;\r\n\tcolor: #ccc;\r\n\ttext-align: center;\r\n\tcursor: pointer\r\n}\r\n\r\n.JD-stock .tab a.hover {\r\n\theight: 25px;\r\n\tbackground-color: #fff;\r\n\tborder: 2px solid #edd28b;\r\n\tborder-bottom: 0;\r\n\tpadding: 0 20px 0 10px;\r\n\tline-height: 22px;\r\n\ttext-decoration: none;\r\n\tcolor: #000\r\n}\r\n\r\n.JD-stock .tab .current a {\r\n\tbackground-repeat: repeat-x\r\n}\r\n\r\n.JD-stock .tab .current a,.JD-stock .tab .current a:hover {\r\n\tcursor: default\r\n}\r\n\r\n.JD-stock .tab .current a i {\r\n\tbackground-position: 0 -28px\r\n}\r\n\r\n.JD-stock .tab a i,.JD-stock .tab .current a:hover i {\r\n\tposition: absolute;\r\n\tright: 4px;\r\n\ttop: 10px;\r\n\tdisplay: block;\r\n\twidth: 7px;\r\n\theight: 5px;\r\n\toverflow: hidden;\r\n\tbackground-position: 0 -35px\r\n}\r\n\r\n.JD-stock .tab .current a:hover i {\r\n\tbackground-position: 0 -28px\r\n}\r\n\r\n.JD-stock .tab a:hover i {\r\n\ttop: 10px;\r\n\tright: 4px;\r\n\tbackground-position: 0 -28px;\r\n\t*top: 9px\r\n}\r\n\r\n.area-list {\r\n\tpadding-top: 5px\r\n}\r\n\r\n.area-list li {\r\n\tfloat: left;\r\n\twidth: 80px;\r\n\tpadding: 2px 0 2px 15px;\r\n\tclear: none\r\n}\r\n\r\n.area-list li a {\r\n\tfloat: left;\r\n\tpadding: 2px 4px;\r\n\tcolor: #005aa0\r\n}\r\n\r\n.area-list li a:hover {\r\n\tbackground: #005ea7;\r\n\tcolor: #fff\r\n}\r\n\r\n.area-list .longer-area {\r\n\twidth: 370px\r\n}\r\n\r\n.area-list .long-area {\r\n\twidth: 170px\r\n}\r\n\r\n#renew_agreement_title {\r\n\ttext-align: center\r\n}\r\n\r\n.renew-btn {\r\n\tpadding-top: 10px\r\n}\r\n\r\n.renew-btn a {\r\n\tdisplay: block;\r\n\tmargin: 0 auto;\r\n\twidth: 110px;\r\n\theight: 36px;\r\n\tfont: 16px/36px 'microsoft yahei';\r\n\ttext-align: center\r\n}\r\n\r\n.renew-btn a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n#sp-search .mc {\r\n\tpadding: 8px\r\n}\r\n\r\n.sp-form-item1 input,.sp-form-item2 input,.sp-form-item3 input {\r\n\tborder: 1px solid #ccc;\r\n\tpadding: 2px\r\n}\r\n\r\n.sp-form-item3 input {\r\n\tmargin-left: -1px;\r\n\tbackground: #fff;\r\n\tcolor: #000;\r\n\tpadding: 3px 10px;\r\n\tborder-radius: 3px;\r\n\tcursor: pointer;\r\n\tbackground-image: -ms-linear-gradient(top, #F7F7F7 0, #F3F2F2 100%);\r\n\tbackground-image: -moz-linear-gradient(top, #F7F7F7 0, #F3F2F2 100%);\r\n\tbackground-image: -o-linear-gradient(top, #F7F7F7 0, #F3F2F2 100%);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #F7F7F7),\r\n\t\tcolor-stop(1, #F3F2F2));\r\n\tbackground-image: -webkit-linear-gradient(top, #F7F7F7 0, #F3F2F2 100%);\r\n\tbackground-image: linear-gradient(to bottom, #F7F7F7 0, #F3F2F2 100%);\r\n\t*border: 0;\r\n\t*padding: 0;\r\n\t*width: 48px;\r\n\t*height: 24px;\r\n\t*line-height: 1000px;\r\n\t*overflow: hidden;\r\n\t*background: #fff url(i/sp-btn-search.png) 0 0 no-repeat\r\n}\r\n\r\n#sp-search p {\r\n\toverflow: hidden;\r\n\t*zoom: 1\r\n}\r\n\r\n#sp-search p label {\r\n\tdisplay: inline-block;\r\n\twidth: 5em;\r\n\ttext-align: right\r\n}\r\n\r\n#sp-search p span {\r\n\tdisplay: inline-block\r\n}\r\n\r\n#sp-search p {\r\n\tpadding: 2px\r\n}\r\n\r\n#sp-search p.sp-form-item1 input {\r\n\twidth: 104px;\r\n\t*width: 107px\r\n}\r\n\r\n#sp-search p.sp-form-item2 input {\r\n\twidth: 3em\r\n}\r\n\r\n#sp-category .sp-single {\r\n\tborder-bottom: 0\r\n}\r\n\r\n#sp-category dl a {\r\n\tdisplay: block;\r\n\theight: 28px;\r\n\tline-height: 28px\r\n}\r\n\r\n#sp-category dl a {\r\n\ttext-decoration: none\r\n}\r\n\r\n#sp-category dd a {\r\n\theight: 26px;\r\n\tline-height: 26px\r\n}\r\n\r\n#sp-category dt {\r\n\tborder-top: 1px solid #ddd;\r\n\tborder-bottom: 1px solid #ddd;\r\n\tposition: relative\r\n}\r\n\r\n#sp-category dt s {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tleft: 10px;\r\n\ttop: 6px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tbackground-image:\r\n\t\turl(http://misc.360buyimg.com/201007/skin/df/i/20130603A.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n#sp-category dt s {\r\n\tbackground-position: -37px 0\r\n}\r\n\r\n#sp-category .close s {\r\n\tbackground-position: -20px 0\r\n}\r\n\r\n#sp-category .close dd {\r\n\tdisplay: none\r\n}\r\n\r\n#sp-category .close dt {\r\n\tborder-bottom: 0\r\n}\r\n\r\n#sp-category dt a {\r\n\tbackground: #f7f7f7;\r\n\tpadding-left: 36px\r\n}\r\n\r\n#sp-category dt a:hover {\r\n\t\r\n}\r\n\r\n#sp-category dd a {\r\n\tpadding-left: 36px;\r\n\tpadding-left: 46px\r\n}\r\n\r\n#sp-category dd a:hover {\r\n\tcolor: #e4393c;\r\n\tfont-weight: 700\r\n}\r\n\r\n#sp-category .mt {\r\n\tbackground: #f7f7f7\r\n}\r\n\r\n#sp-category .mc {\r\n\tmargin-top: -1px\r\n}\r\n\r\n#sp-reco .p-info,#sp-reco .p-name {\r\n\ttext-align: center\r\n}\r\n\r\n#sp-reco .p-name {\r\n\theight: 1.1em;\r\n\toverflow: hidden;\r\n\tline-height: 1.1em;\r\n\t*line-height: 1.2em\r\n}\r\n\r\n#sp-reco .p-info {\r\n\theight: 15px\r\n}\r\n\r\n.m3 .p-img {\r\n\ttext-align: center\r\n}\r\n\r\n.m3 .p-info {\r\n\tposition: relative\r\n}\r\n\r\n.m3 .p-info b {\r\n\tpadding-left: 25px;\r\n\tfont-weight: 400;\r\n\tcolor: #666\r\n}\r\n\r\n.m3 .p-info s {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\twidth: 18px;\r\n\theight: 20px;\r\n\toverflow: hidden;\r\n\ttext-align: center;\r\n\tbackground-position: -256px -322px;\r\n\tcolor: #cdcdcd;\r\n\ttext-decoration: none\r\n}\r\n\r\n.m3 .fore1 .p-info s,.m3 .fore2 .p-info s,.m3 .fore3 .p-info s {\r\n\tbackground-position: -232px -322px;\r\n\tcolor: #e53c3f\r\n}\r\n\r\n.m3 .mc {\r\n\tmargin-top: -1px\r\n}\r\n\r\n.m3 li {\r\n\tpadding-top: 10px;\r\n\tborder-top: 1px dotted #ccc;\r\n\tmargin: 0 10px 10px\r\n}\r\n\r\n.m3 li .p-name {\r\n\tline-height: 1.5em;\r\n\theight: 3em\r\n}\r\n\r\n.m3 li .p-img,.m3 li .p-name,.m3 li .p-info {\r\n\tpadding: 7px 12px 0\r\n}\r\n\r\n.m3 li .p-info {\r\n\theight: 20px\r\n}\r\n\r\n#shf-feetype {\r\n\tpadding: 0 30px\r\n}\r\n\r\n#shf-feetype dt,#shf-feetype .dl-1 dd {\r\n\tfont-size: 14px\r\n}\r\n\r\n#shf-feetype dl {\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n#shf-feetype dd {\r\n\twidth: 410px;\r\n\toverflow: hidden;\r\n\twhite-space: nowrap;\r\n\ttext-overflow: ellipsis\r\n}\r\n\r\n#shf-feetype ul {\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n#shf-feetype .lh li {\r\n\tfloat: none;\r\n\twidth: 400px;\r\n\tbackground: #f3f3f3;\r\n\tmargin-bottom: 1px;\r\n\tpadding: 0 5px;\r\n\theight: 2.5em;\r\n\tline-height: 2.5em;\r\n\toverflow: hidden;\r\n\twhite-space: nowrap;\r\n\ttext-overflow: ellipsis\r\n}\r\n\r\n#shf-feetype .lh li em {\r\n\tcolor: #999\r\n}\r\n\r\n#shf-feetype table {\r\n\tbackground: #f3f3f3;\r\n\tborder-collapse: collapse;\r\n\tmargin-top: 5px\r\n}\r\n\r\n#shf-feetype table td {\r\n\twidth: 193px;\r\n\theight: 2em;\r\n\tborder: 1px solid #ddd;\r\n\tpadding: 5px\r\n}\r\n\r\n.shf-buy-now {\r\n\tpadding-top: 10px\r\n}\r\n\r\n.shf-buy-now a {\r\n\tdisplay: inline-block;\r\n\t*zoom: 1;\r\n\theight: 30px;\r\n\tpadding: 0 20px;\r\n\tfont: 700 14px/30px simsum\r\n}\r\n\r\n.shf-buy-now a:hover {\r\n\ttext-decoration: none\r\n}\r\n\r\n#add_to_cart_div {\r\n\tdisplay: none\r\n}\r\n\r\n#add-to-cart,#cart-reco {\r\n\twidth: 452px;\r\n\tmargin-left: 10px;\r\n\toverflow: hidden\r\n}\r\n\r\n#add-to-cart {\r\n\tmargin-bottom: 20px\r\n}\r\n\r\n#add-to-cart .icon {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tmargin-right: 10px;\r\n\tbackground-image: url(i/item-icon.png);\r\n\tbackground-repeat: no-repeat;\r\n\t*display: inline\r\n}\r\n\r\n#add-to-cart .c-title strong {\r\n\tfont: 400 18px 'microsoft yahei'\r\n}\r\n\r\n#add-to-cart.tip-success .c-title {\r\n\tcolor: #7abd54\r\n}\r\n\r\n#add-to-cart .c-count {\r\n\tvisibility: hidden;\r\n\tcolor: #999;\r\n\tline-height: 22px\r\n}\r\n\r\n#add-to-cart .c-btn {\r\n\tpadding-top: 5px\r\n}\r\n\r\n#add-to-cart .c-btn a {\r\n\theight: 36px;\r\n\tbackground-image:\r\n\t\turl(http://misc.360buyimg.com/purchase/skin/i/20130425D.png);\r\n\tdisplay: inline-block;\r\n\toverflow: hidden;\r\n\tline-height: 100px;\r\n\t*zoom: 1\r\n}\r\n\r\n#add-to-cart .c-btn .c-checkout {\r\n\twidth: 189px;\r\n\tmargin-right: 8px;\r\n\tbackground-position: 0 0\r\n}\r\n\r\n#add-to-cart .c-btn .c-return {\r\n\twidth: 94px;\r\n\tbackground-position: -90px -37px\r\n}\r\n\r\n#cart-reco {\r\n\tborder-top: 1px solid #ddd;\r\n\tpadding-top: 20px;\r\n\tmargin-bottom: 0\r\n}\r\n\r\n#cart-reco .mc {\r\n\theight: 170px\r\n}\r\n\r\n#cart-reco .lh li {\r\n\twidth: 100px;\r\n\tpadding: 6px 6px 0\r\n}\r\n\r\n#cart-reco .lh li .p-name {\r\n\theight: 3em;\r\n\tline-height: 1.5em;\r\n\toverflow: hidden\r\n}\r\n\r\n#summary #summary-presell {\r\n\tpadding-left: 10px\r\n}\r\n\r\n#summary-presell .item {\r\n\tfloat: left;\r\n\theight: 26px;\r\n\tline-height: 26px;\r\n\tbackground: #F2F2F2;\r\n\tcolor: #999;\r\n\tpadding: 0 20px;\r\n\tborder-left: 1px solid #ECECEC\r\n}\r\n\r\n#summary-presell .item em {\r\n\t\r\n}\r\n\r\n#summary-presell .item strong {\r\n\tfont-weight: 400\r\n}\r\n\r\n#summary-presell .item.curr {\r\n\tpadding: 0;\r\n\tbackground: #828CA4;\r\n\tcolor: #fff;\r\n\tborder-left: 0 none\r\n}\r\n\r\n#summary-presell .item.curr em {\r\n\tdisplay: inline-block;\r\n\theight: 26px;\r\n\twidth: 25px;\r\n\tbackground: #6E7992;\r\n\ttext-align: center\r\n}\r\n\r\n#summary-presell .item.curr strong {\r\n\tfont-weight: 700;\r\n\tpadding: 0 20px\r\n}\r\n\r\n#summary-presell .item.curr strong i {\r\n\tfont-style: normal\r\n}\r\n\r\n#summary #summary-presell-stage {\r\n\toverflow: visible\r\n}\r\n\r\n#summary-presell-stage .dd {\r\n\tline-height: 12px;\r\n\t*line-height: 18px\r\n}\r\n\r\n#summary-presell-stage .p-price {\r\n\tcolor: #e4393c;\r\n\tfont-size: 18px\r\n}\r\n\r\n#summary-presell-stage .p-price.presell {\r\n\tmargin-right: 10px\r\n}\r\n\r\n#summary-presell-stage .sp-rule {\r\n\tmargin-left: 40px;\r\n\tposition: relative;\r\n\tz-index: 5;\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1;\r\n\ttext-decoration: none\r\n}\r\n\r\n.root61 #summary-presell-stage .sp-rule {\r\n\tmargin-left: 286px\r\n}\r\n\r\n#summary-presell-stage .sp-rule dt {\r\n\tdisplay: inline-block;\r\n\t*display: inline;\r\n\t*zoom: 1\r\n}\r\n\r\n#summary-presell-stage .sp-rule dt i {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tleft: 49px;\r\n\ttop: -3px;\r\n\twidth: 18px;\r\n\theight: 18px;\r\n\tbackground:\r\n\t\turl(../images/newicon20140417.png)\r\n\t\tno-repeat -132px -292px\r\n}\r\n\r\n#summary-presell-stage .sp-rule.hover dt {\r\n\tcolor: #E4393C\r\n}\r\n\r\n#summary-presell-stage .sp-rule dd {\r\n\tvisibility: hidden;\r\n\tposition: absolute;\r\n\tleft: -100px;\r\n\ttop: 24px;\r\n\twidth: 245px;\r\n\tbackground: #fff;\r\n\tz-index: 5;\r\n\tpadding: 20px 18px;\r\n\tborder: 1px solid #DDD;\r\n\tbox-shadow: 0 0 10px rgba(0, 0, 0, .2);\r\n\topacity: 0;\r\n\t-webkit-transition: all .2s;\r\n\t-moz-transition: all .2s;\r\n\t-o-transition: all .2s;\r\n\t-ms-transition: all .2s;\r\n\ttransition: all .2s\r\n}\r\n\r\n#summary-presell-stage .sp-rule dd ul {\r\n\tpadding-left: 20px\r\n}\r\n\r\n#summary-presell-stage .sp-rule dd ul li {\r\n\toverflow: visible;\r\n\tline-height: 20px;\r\n\tpadding: 0;\r\n\tcolor: #333;\r\n\tposition: relative\r\n}\r\n\r\n#summary-presell-stage .sp-rule dd ul li b {\r\n\tposition: absolute;\r\n\tleft: -14px;\r\n\ttop: 0;\r\n\tfont-weight: 400\r\n}\r\n\r\n.root61 #summary-presell-stage .sp-rule dd {\r\n\twidth: 435px\r\n}\r\n\r\n#summary-presell-stage .sp-rule.hover dd {\r\n\tvisibility: visible;\r\n\topacity: 1\r\n}\r\n\r\n#summary-presell-stage .sp-rule dd p {\r\n\tline-height: 20px;\r\n\tcolor: #333\r\n}\r\n\r\n#summary-presell-stage .sp-rule .close {\r\n\tposition: absolute;\r\n\tdisplay: block;\r\n\tright: 4px;\r\n\ttop: 4px;\r\n\twidth: 18px;\r\n\theight: 18px;\r\n\tbackground:\r\n\t\turl(http://misc.360buyimg.com/lib/skin/2013/i/20130330A_1.png)\r\n\t\tno-repeat -90px 0;\r\n\tcursor: pointer\r\n}\r\n\r\n#summary-presell-stage .sp-rule dd i,#summary-presell-stage .sp-rule dd em\r\n\t{\r\n\tposition: absolute;\r\n\tdisplay: block;\r\n\t_display: none;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tvertical-align: middle;\r\n\tborder: solid transparent;\r\n\tborder-color: rgba(136, 183, 213, 0);\r\n\tz-index: 1\r\n}\r\n\r\n#summary-presell-stage .sp-rule dd i {\r\n\ttop: -20px;\r\n\tleft: 120px;\r\n\tborder-bottom-color: #DDD;\r\n\t-webkit-filter: drop-shadow(0 0 10px rgba(0, 0, 0, .2));\r\n\tborder-width: 10px\r\n}\r\n\r\n#summary-presell-stage .sp-rule dd em {\r\n\ttop: -18px;\r\n\tleft: 121px;\r\n\tborder-bottom-color: #FFF;\r\n\t-webkit-filter: drop-shadow(0 0 10px rgba(0, 0, 0, .2));\r\n\tborder-width: 9px;\r\n\tz-index: 1\r\n}\r\n\r\n#summary-presell-stage .sp-stage {\r\n\tfloat: left;\r\n\tmargin-left: 10px;\r\n\tmargin-top: 10px;\r\n\tborder-left: 1px solid #DDD;\r\n\tborder-top: 1px solid #DDD\r\n}\r\n\r\n#summary-presell-stage .sp-stage .item {\r\n\tposition: relative;\r\n\tz-index: 0;\r\n\tfloat: left;\r\n\twidth: 140px;\r\n\theight: 62px;\r\n\tborder-right: 1px solid #DDD;\r\n\tborder-bottom: 3px solid #CCC;\r\n\ttext-align: center\r\n}\r\n\r\n#summary-presell-stage .sp-stage .item a {\r\n\tpadding-top: 12px;\r\n\tdisplay: block;\r\n\ttext-decoration: none;\r\n\tline-height: 20px;\r\n\tcolor: #999;\r\n\tcursor: default\r\n}\r\n\r\n#summary-presell-stage .sp-stage .item a em {\r\n\tdisplay: block\r\n}\r\n\r\n#summary-presell-stage .sp-stage .item a em.hoverd {\r\n\tdisplay: none\r\n}\r\n\r\n#summary-presell-stage .sp-stage .item a strong {\r\n\tdisplay: block\r\n}\r\n\r\n#summary-presell-stage .sp-stage .item .bottom {\r\n\tposition: absolute;\r\n\tdisplay: block;\r\n\twidth: 100%;\r\n\tborder-bottom: 3px solid #CCC;\r\n\theight: 0;\r\n\tleft: 0;\r\n\tbottom: -3px\r\n}\r\n\r\n#summary-presell-stage .sp-stage .item.curr a {\r\n\tcolor: #333\r\n}\r\n\r\n#summary-presell-stage .sp-stage .item.curr .bottom {\r\n\tborder-color: #6E7992\r\n}\r\n\r\n#summary-presell-stage .sp-stage .item.curr .bottom em {\r\n\tdisplay: inline-block;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-style: solid;\r\n\tborder-width: 6px;\r\n\tborder-color: transparent transparent #6E7992;\r\n\t_border-color: #FFF #FFF #6E7992;\r\n\tmargin-top: -12px;\r\n\t*margin-top: -16px\r\n}\r\n\r\n#summary-presell-stage .sp-stage .item.curr a:hover {\r\n\tbackground: 0\r\n}\r\n\r\n#summary-presell-stage .sp-stage .item.curr a:hover em {\r\n\tdisplay: none\r\n}\r\n\r\n#summary-presell-stage .sp-stage .item.curr a:hover em.hoverd {\r\n\tdisplay: block\r\n}\r\n\r\n#summary-presell-stage .sp-stage .item.timeout a strong {\r\n\ttext-decoration: line-through\r\n}\r\n\r\n#presell-detail {\r\n\tbackground: #fbfbfb;\r\n\tborder: 1px solid #ddd;\r\n\tpadding: 15px 0;\r\n\twidth: 493px\r\n}\r\n\r\n#presell-detail .mt,#presell-detail .mb {\r\n\tcolor: #333\r\n}\r\n\r\n#presell-detail .mt {\r\n\tpadding: 0 20px 10px;\r\n\tborder-bottom: 1px dotted #dfdfdf;\r\n\tmargin-bottom: 20px\r\n}\r\n\r\n#presell-detail .mc {\r\n\tpadding: 0 20px 20px\r\n}\r\n\r\n#presell-detail .mb {\r\n\tpadding: 10px 20px 0;\r\n\tborder-top: 1px dotted #dfdfdf\r\n}\r\n\r\n.presell-stage-list {\r\n\theight: 65px;\r\n\twidth: 423px;\r\n\tborder-right: 1px solid #ccc;\r\n\ttext-align: center\r\n}\r\n\r\n.presell-arrow {\r\n\tposition: absolute;\r\n\twidth: 100%;\r\n\tleft: 0;\r\n\ttop: 63px;\r\n\theight: 0;\r\n\tborder-bottom: 3px solid #ccc\r\n}\r\n\r\n.presell-arrow b {\r\n\tfloat: left;\r\n\tdisplay: inline;\r\n\tmargin-left: 67px;\r\n\tmargin-top: -7px;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tborder-left: 8px solid transparent;\r\n\tborder-right: 8px solid transparent;\r\n\tborder-bottom: 8px solid #ccc\r\n}\r\n\r\n.presell-stage-item {\r\n\tposition: relative;\r\n\tfloat: left;\r\n\tdisplay: inline;\r\n\twidth: 140px;\r\n\theight: 67px;\r\n\tborder-left: 1px solid #ccc;\r\n\tborder-top: 1px solid #ccc;\r\n\tbackground: #fff;\r\n\tcolor: #999\r\n}\r\n\r\n.presell-stage-list .curr {\r\n\tbackground: #f8faff;\r\n\tfont-weight: 700;\r\n\tcolor: #333\r\n}\r\n\r\n.presell-stage-list .curr:hover .presell-stage-mid {\r\n\tdisplay: none\r\n}\r\n\r\n.presell-stage-list .curr:hover .presell-stage-top {\r\n\tdisplay: block\r\n}\r\n\r\n.presell-stage-list .curr .presell-arrow {\r\n\tborder-bottom: 3px solid #6e7992\r\n}\r\n\r\n.presell-stage-list .curr .presell-arrow b {\r\n\tborder-left: 8px solid transparent;\r\n\tborder-right: 8px solid transparent;\r\n\tborder-bottom: 8px solid #6e7992\r\n}\r\n\r\n.presell-stage-top,.presell-stage-mid {\r\n\tpadding-top: 10px\r\n}\r\n\r\n#muying .mt {\r\n\tbackground: #f7f7f7;\r\n\tborder-top: 1px solid #ddd\r\n}\r\n\r\n#muying input {\r\n\theight: 18px;\r\n\tborder: 1px solid #ccc;\r\n\tpadding: 2px 4px\r\n}\r\n\r\n#muying .dd>input,#muying label>input {\r\n\tvertical-align: top\r\n}\r\n\r\n#muying #baby-girl,#muying #baby-boy {\r\n\tborder: 0\r\n}\r\n\r\n#muying .illegal-value input {\r\n\tborder: 1px solid #e4393c\r\n}\r\n\r\n#muying .illegal-value .error-msg {\r\n\tdisplay: block\r\n}\r\n\r\n#muying .mc {\r\n\tborder: 1px solid #ddd\r\n}\r\n\r\n#muying li {\r\n\theight: 30px;\r\n\tline-height: 30px;\r\n\tpadding: 20px 0 20px 15px\r\n}\r\n\r\n#muying .dt,#muying .dd {\r\n\tfloat: left;\r\n\theight: 24px;\r\n\tline-height: 24px\r\n}\r\n\r\n#muying .dd {\r\n\tposition: relative\r\n}\r\n\r\n#muying .dt .required {\r\n\tcolor: #f60\r\n}\r\n\r\n#muying .dd i {\r\n\tfont-style: normal;\r\n\tdisplay: inline-block;\r\n\t*zoom: 1;\r\n\t*vertical-align: top\r\n}\r\n\r\n#muying .dd .error-msg {\r\n\tposition: absolute;\r\n\ttop: 24px;\r\n\tpadding: 0 5px;\r\n\tcolor: #e4393c;\r\n\tborder: 1px solid #ffbdbe;\r\n\tbackground: #ffebeb;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#muying .btn-gray {\r\n\tline-height: 20px;\r\n\tpadding: 2px 15px;\r\n\tdisplay: inline-block;\r\n\t*zoom: 1\r\n}\r\n\r\n.btn-gray {\r\n\tdisplay: inline-block;\r\n\tborder: 1px solid #ddd;\r\n\tborder-radius: 2px;\r\n\tbackground: #f7f7f7;\r\n\ttext-align: center;\r\n\ttext-decoration: none;\r\n\tcolor: #333;\r\n\tbackground: -moz-linear-gradient(top, #f7f7f7, #f2f2f2);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#f7f7f7),\r\n\t\tto(#f2f2f2));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f7f7f7\",\r\n\t\tendColorstr=\"#f2f2f2\");\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#f7f7f7 \", endColorstr=\" #f2f2f2 \")\"\r\n}\r\n\r\n#muying .baby-size {\r\n\twidth: 2em\r\n}\r\n\r\n#J-cal-baby {\r\n\twidth: 129px\r\n}\r\n\r\n#muying s.muying-ico {\r\n\tfloat: left;\r\n\twidth: 30px;\r\n\theight: 30px;\r\n\tbackground: url(i/item.muying.png) 0 0 no-repeat\r\n}\r\n\r\n#muying.result-info a {\r\n\tmargin: 0 5px\r\n}\r\n\r\n#muying.result-info b {\r\n\tcolor: #333\r\n}\r\n\r\n#muying .curr-age {\r\n\tcolor: #f60\r\n}\r\n\r\n.root61 #muying li {\r\n\tpadding: 20px 0 20px 20px\r\n}\r\n\r\n.cat-3-655 #brand-bar,.cat-3-6881 #brand-bar,.cat-3-6882 #brand-bar,.cat-3-2694 #brand-bar\r\n\t{\r\n\tdisplay: none\r\n}\r\n\r\n#heyue-bar {\r\n\tfloat: right;\r\n\twidth: 151px;\r\n\tborder: 2px solid #ddd;\r\n\tmargin-top: 10px\r\n}\r\n\r\n#heyue-bar .mc {\r\n\tpadding: 10px 15px 0 5px;\r\n\tcolor: #666\r\n}\r\n\r\n#heyue-bar .mt {\r\n\tbackground-color: #f1f1f1;\r\n\theight: 30px;\r\n\tline-height: 30px;\r\n\tfont: 14px/30px \"microsoft yahei\"\r\n}\r\n\r\n#heyue-bar li {\r\n\tpadding-bottom: 10px;\r\n\tpadding-left: 15px;\r\n\tmargin-bottom: 10px;\r\n\tborder-bottom: 1px dotted #dfdfdf\r\n}\r\n\r\n#heyue-bar li b {\r\n\twidth: 10px;\r\n\tmargin-left: -10px;\r\n\tdisplay: inline-block;\r\n\tcolor: #ccc;\r\n\t*zoom: 1\r\n}\r\n\r\n#heyue-bar li.last {\r\n\tmargin-bottom: 0;\r\n\tborder-bottom: 0\r\n}\r\n\r\n.root61 #heyue-bar {\r\n\twidth: 206px\r\n}\r\n\r\n#summary-countdown s {\r\n\twidth: 19px;\r\n\theight: 19px;\r\n\tmargin-left: 12px;\r\n\tposition: relative;\r\n\ttop: -2px;\r\n\tbackground-position: 0 -322px\r\n}\r\n\r\n#summary-countdown {\r\n\tcolor: #9f8b7d;\r\n\tfont: 700 14px/14px arial\r\n}\r\n\r\n#summary-price #jd-discount {\r\n\tbackground: #de4646\r\n}\r\n\r\n#summary-price #red-discount {\r\n\tpadding: 2px;\r\n\tbackground: #de4646\r\n}\r\n\r\n#summary-price #red-discount #red-zhekou {\r\n\tfont-size: 14px\r\n}\r\n\r\n.share-bubble {\r\n\tpadding-top: 5px;\r\n\theight: 20px;\r\n\tline-height: 20px;\r\n\ttext-align: center;\r\n\tbackground: url(i/share-bubble.png) 0 0 no-repeat;\r\n\twhite-space: nowrap;\r\n\tcolor: #f60\r\n}\r\n\r\n.qrcode-img {\r\n\ttext-align: left;\r\n\tpadding-left: 55px\r\n}\r\n\r\n.qrcode-img table {\r\n\tmargin-left: 10px\r\n}\r\n\r\n.cat-3-6980 #comments-list,.cat-3-6980 #consult,.cat-3-6980 #comment,.cat-3-6980 #discuss\r\n\t{\r\n\tdisplay: none\r\n}\r\n\r\n.Jcalendar {\r\n\tfloat: left;\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tpadding: 10px;\r\n\tborder: 1px solid #ddd;\r\n\tbox-shadow: 0 0 5px #ddd;\r\n\tbackground: #fff\r\n}\r\n\r\n.Jcal {\r\n\twidth: 240px;\r\n\tbackground: #fff;\r\n\tborder-collapse: collapse;\r\n\tfont: 12px verdana\r\n}\r\n\r\n.Jcal tbody td {\r\n\ttext-align: center;\r\n\theight: 24px;\r\n\tline-height: 24px;\r\n\tcolor: #005ea7;\r\n\tfont-weight: 700;\r\n\tcursor: pointer\r\n}\r\n\r\n.Jcal thead th {\r\n\ttext-align: center;\r\n\theight: 24px;\r\n\tline-height: 24px;\r\n\tpadding-bottom: 5px\r\n}\r\n\r\n.Jcal .selectMonth {\r\n\tpadding: 0 5px 0 20px\r\n}\r\n\r\n.Jcal thead th a.ctrl-prev,.Jcal thead th a.ctrl-next {\r\n\tbackground-image:\r\n\t\turl(http://misc.360buyimg.com/product/skin/2013/i/J-cal.png);\r\n\tbackground-repeat: no-repeat;\r\n\toverflow: hidden\r\n}\r\n\r\n.Jcal .prevYear {\r\n\tbackground-position: 0 -50px\r\n}\r\n\r\n.Jcal .prevMonth {\r\n\tbackground-position: 0 -100px\r\n}\r\n\r\n.Jcal .nextYear {\r\n\tbackground-position: 0 -75px\r\n}\r\n\r\n.Jcal .nextMonth {\r\n\tbackground-position: 0 -125px\r\n}\r\n\r\n.Jcal thead th a.ctrl-prev:hover,.Jcal thead th a.ctrl-next:hover {\r\n\tbackground-color: #eee;\r\n\ttext-decoration: none\r\n}\r\n\r\n.Jcal .selectMonth,.Jcal .slecteYear {\r\n\tfloat: left\r\n}\r\n\r\n.Jcal .ctrl-prev {\r\n\tfloat: left\r\n}\r\n\r\n.Jcal .ctrl-next {\r\n\tfloat: right\r\n}\r\n\r\n.Jcal .ctrl-prev,.Jcal .ctrl-next {\r\n\theight: 25px;\r\n\twidth: 25px;\r\n\tline-height: 10000px;\r\n\ttext-align: center\r\n}\r\n\r\n.Jcal thead .days {\r\n\tbackground: #e5e5e5\r\n}\r\n\r\n.Jcal thead .days th {\r\n\tborder: 1px solid #e5e5e5\r\n}\r\n\r\n.Jcal td {\r\n\tborder: 1px solid #e5e5e5;\r\n\tpadding: 2px 0\r\n}\r\n\r\n.Jcal td.chosen {\r\n\tbackground: #e4393c;\r\n\tcolor: #fff\r\n}\r\n\r\n.Jcal .over {\r\n\tbackground: #eee\r\n}\r\n\r\n.Jcal .today {\r\n\ttext-align: center;\r\n\tdisplay: block;\r\n\tpadding: 4px 0;\r\n\tcolor: #005ea7;\r\n\tfont-weight: 700\r\n}\r\n\r\n.Jcal .J-sun,.Jcal .J-sat {\r\n\tcolor: #e4393c\r\n}\r\n\r\n.Jcalendar .close {\r\n\tdisplay: none\r\n}\r\n\r\n.J-inp-cal {\r\n\tborder: 1px solid #ccc;\r\n\theight: 21px;\r\n\tline-height: 21px;\r\n\tpadding: 1px 26px 1px 2px;\r\n\tbackground: url(http://misc.360buyimg.com/product/skin/2013/i/J-cal.png)\r\n\t\tright -1px no-repeat\r\n}\r\n\r\n.combine-share {\r\n\twidth: 500px;\r\n\tpadding: 10px 0 0 10px\r\n}\r\n\r\n.combine-share dl {\r\n\tpadding-bottom: 5px\r\n}\r\n\r\n.combine-share p {\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n.combine-share .s-btn-ok {\r\n\tborder: 1px solid #bfd6af;\r\n\tbackground: #F6FBF3;\r\n\tbackground-image: -ms-linear-gradient(top, #F6FBF3 0, #EEF7E7 100%);\r\n\tbackground-image: -moz-linear-gradient(top, #F6FBF3 0, #EEF7E7 100%);\r\n\tbackground-image: -o-linear-gradient(top, #F6FBF3 0, #EEF7E7 100%);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #F6FBF3),\r\n\t\tcolor-stop(1, #EEF7E7));\r\n\tbackground-image: -webkit-linear-gradient(top, #F6FBF3 0, #EEF7E7 100%);\r\n\tbackground-image: linear-gradient(to bottom, #F6FBF3 0, #EEF7E7 100%)\r\n}\r\n\r\n.combine-share .s-btn-gray {\r\n\tborder: 1px solid #ddd;\r\n\tbackground: #F7F7F7;\r\n\tbackground-image: -ms-linear-gradient(top, #F7F7F7 0, #F3F2F2 100%);\r\n\tbackground-image: -moz-linear-gradient(top, #F7F7F7 0, #F3F2F2 100%);\r\n\tbackground-image: -o-linear-gradient(top, #F7F7F7 0, #F3F2F2 100%);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #F7F7F7),\r\n\t\tcolor-stop(1, #F3F2F2));\r\n\tbackground-image: -webkit-linear-gradient(top, #F7F7F7 0, #F3F2F2 100%);\r\n\tbackground-image: linear-gradient(to bottom, #F7F7F7 0, #F3F2F2 100%)\r\n}\r\n\r\n.combine-share .s-btn {\r\n\tpadding: 2px 10px;\r\n\tborder-radius: 2px;\r\n\tdisplay: inline-block;\r\n\tcolor: #333;\r\n\t*zoom: 1\r\n}\r\n\r\n.combine-share .s-btn:hover {\r\n\ttext-decoration: none;\r\n\tcolor: #333\r\n}\r\n\r\n.combine-share .mt label {\r\n\tfloat: left;\r\n\tdisplay: inline\r\n}\r\n\r\n.combine-share .mt label input {\r\n\tfloat: left;\r\n\tdisplay: inline;\r\n\tposition: relative;\r\n\ttop: -2px\r\n}\r\n\r\n.combine-share .mc textarea {\r\n\twidth: 494px;\r\n\theight: 78px;\r\n\tmargin-bottom: 5px;\r\n\tfont-family: Arial, Verdana\r\n}\r\n\r\n.combine-share .share-meta {\r\n\tmargin-bottom: 5px\r\n}\r\n\r\n.combine-share .mt dd em {\r\n\tfloat: left;\r\n\tdisplay: inline;\r\n\twidth: 15px;\r\n\theight: 15px;\r\n\tmargin-right: 10px;\r\n\tline-height: 100px;\r\n\toverflow: hidden;\r\n\tbackground-image: url(i/combine-share.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n.combine-share #share-ico-sina {\r\n\tbackground-position: 0 -30px\r\n}\r\n\r\n.combine-share #share-ico-qqZone {\r\n\tbackground-position: -25px -30px\r\n}\r\n\r\n.combine-share #share-ico-qqWeibo {\r\n\tbackground-position: -50px -30px\r\n}\r\n\r\n.combine-share #share-ico-renren {\r\n\tbackground-position: -75px -30px\r\n}\r\n\r\n.combine-share #share-ico-kaixin {\r\n\tbackground-position: -100px -30px\r\n}\r\n\r\n.combine-share #share-ico-douban {\r\n\tbackground-position: -125px -30px\r\n}\r\n\r\n.combine-share #share-ico-sina.actived {\r\n\tbackground-position: 0 0\r\n}\r\n\r\n.combine-share #share-ico-qqZone.actived {\r\n\tbackground-position: -25px 0\r\n}\r\n\r\n.combine-share #share-ico-qqWeibo.actived {\r\n\tbackground-position: -50px 0\r\n}\r\n\r\n.combine-share #share-ico-renren.actived {\r\n\tbackground-position: -75px 0\r\n}\r\n\r\n.combine-share #share-ico-kaixin.actived {\r\n\tbackground-position: -100px 0\r\n}\r\n\r\n.combine-share #share-ico-douban.actived {\r\n\tbackground-position: -125px 0\r\n}\r\n\r\n.combine-share .mt dd .actived {\r\n\tcursor: pointer\r\n}\r\n\r\n.combine-share .share-link a {\r\n\t\r\n}\r\n\r\n.combine-share .share-link .s-btn b {\r\n\tpadding: 0;\r\n\tmargin-right: 2px;\r\n\twidth: 16px;\r\n\theight: 7px;\r\n\toverflow: hidden;\r\n\tbackground: url(i/combine-share.png) -158px -87px no-repeat;\r\n\t*position: relative;\r\n\t*top: -2px\r\n}\r\n\r\n.combine-share .overflow {\r\n\tcolor: #E4393C\r\n}\r\n\r\n.combine-share .share-imgScroll {\r\n\tposition: relative;\r\n\tmargin-bottom: 20px;\r\n\twidth: 500px\r\n}\r\n\r\n.combine-share .share-img-wrap {\r\n\tmargin-left: 20px\r\n}\r\n\r\n.combine-share .share-imgScroll ul li {\r\n\t\r\n}\r\n\r\n.combine-share .share-imgScroll ul li a {\r\n\tposition: relative;\r\n\twidth: 115px;\r\n\tfloat: left;\r\n\tdisplay: inline\r\n}\r\n\r\n.combine-share .share-imgScroll ul li a s {\r\n\tdisplay: none\r\n}\r\n\r\n.combine-share .share-imgScroll ul li.selected a s {\r\n\tposition: absolute;\r\n\tbottom: 10px;\r\n\tright: 20px;\r\n\tdisplay: inline-block;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tbackground: url(i/combine-share.png) -25px -48px no-repeat;\r\n\t*zoom: 1\r\n}\r\n\r\n.combine-share .share-imgScroll ul li img {\r\n\twidth: 87px;\r\n\theight: 87px;\r\n\tpadding: 5px;\r\n\tborder: 1px solid #ccc;\r\n\tmargin: 0 8px\r\n}\r\n\r\n.combine-share .share-imgScroll ul li a:hover img,.combine-share .share-imgScroll ul li.selected a img\r\n\t{\r\n\tborder: 2px solid #e3393c;\r\n\tpadding: 4px\r\n}\r\n\r\n.combine-share .share-imgScroll .s-btn s {\r\n\tdisplay: inline-block;\r\n\twidth: 5px;\r\n\theight: 9px;\r\n\toverflow: hidden;\r\n\tbackground: url(i/combine-share.png) 0 -52px no-repeat;\r\n\tmargin-top: 45px;\r\n\tcursor: pointer;\r\n\t*zoom: 1\r\n}\r\n\r\n.combine-share .share-imgScroll .disabled s {\r\n\tcursor: default\r\n}\r\n\r\n.combine-share .share-imgScroll .s-btn {\r\n\tposition: relative;\r\n\tdisplay: block;\r\n\tpadding: 0;\r\n\twidth: 15px;\r\n\theight: 98px;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\ttext-align: center\r\n}\r\n\r\n.combine-share #share-img-next {\r\n\tright: 0;\r\n\tleft: auto\r\n}\r\n\r\n.combine-share #share-img-next s {\r\n\tbackground-position: -8px -52px\r\n}\r\n\r\n.combine-share .share-btn {\r\n\ttext-align: center;\r\n\tpadding-bottom: 10px\r\n}\r\n\r\n.combine-share .share-btn-ok {\r\n\tfont-size: 14px;\r\n\tfont-weight: 700;\r\n\tpadding: 4px 15px\r\n}\r\n\r\n.combine-share dd h5 strong {\r\n\tposition: relative\r\n}\r\n\r\n.combine-share s.share-ico {\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tleft: -50px;\r\n\ttop: 0\r\n}\r\n\r\n.combine-share .share-ico {\r\n\twidth: 50px;\r\n\theight: 42px;\r\n\tbackground-image: url(i/combine-share.png);\r\n\tbackground-repeat: no-repeat\r\n}\r\n\r\n.share-binding dl,.share-warning dl {\r\n\tpadding: 0 20px 10px\r\n}\r\n\r\n.combine-share h5 {\r\n\theight: 42px;\r\n\tfont: 700 18px/42px 'microsoft yahei'\r\n}\r\n\r\ndiv.share-warning {\r\n\twidth: auto\r\n}\r\n\r\ndiv.share-binding {\r\n\twidth: auto\r\n}\r\n\r\ndiv.share-binding .share-btn {\r\n\ttext-align: left\r\n}\r\n\r\ndiv.share-binding p {\r\n\tmargin-bottom: 10px\r\n}\r\n\r\n.share-msg h5 {\r\n\tcolor: #7abd54\r\n}\r\n\r\n.share-warning h5 {\r\n\tcolor: #f60\r\n}\r\n\r\n.share-msg .share-ico {\r\n\tbackground-position: 0 -67px\r\n}\r\n\r\n.share-warning .share-ico {\r\n\tmargin-right: 10px;\r\n\tbackground-position: -74px -68px\r\n}\r\n\r\n#choose li#choose-btns {\r\n\toverflow: visible\r\n}\r\n\r\n#m-buy {\r\n\tfloat: left;\r\n\tdisplay: inline;\r\n\tborder: 1px solid #ddd;\r\n\theight: 43px;\r\n\tpadding-left: 10px;\r\n\tpadding-right: 70px;\r\n\tbackground: url(../images/m-buy.png) right 3px no-repeat;\r\n\tposition: relative;\r\n\tbottom: -4px;\r\n\tcursor: pointer;\r\n\tmargin-top: 6px;\r\n\tz-index: 1\r\n}\r\n\r\n.root61 #m-buy {\r\n\tmargin-top: -5px\r\n}\r\n\r\n#m-buy .mt {\r\n\tcursor: pointer;\r\n\tpadding-top: 4px;\r\n\t_float: left;\r\n\t_display: inline;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#m-countdown {\r\n\t_float: left;\r\n\t_display: inline;\r\n\tclear: both;\r\n\twhite-space: nowrap\r\n}\r\n\r\n#m-qrcode strong {\r\n\theight: 2em;\r\n\toverflow: hidden\r\n}\r\n\r\n#m-qrcode-box {\r\n\tmargin-top: 4px\r\n}\r\n\r\n#m-qrcode {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\tbottom: 40px;\r\n\theight: 238px;\r\n\twidth: 183px;\r\n\tborder: 1p solid #000\r\n}\r\n\r\n#m-qrcode .m-qrcode-wrap {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tborder: 1px solid #ddd;\r\n\tbackground: #fff;\r\n\tpadding: 13px;\r\n\twidth: 155px;\r\n\theight: 196px;\r\n\t-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\t-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\tbox-shadow: 0 0 10px rgba(0, 0, 0, .12);\r\n\toverflow: hidden;\r\n\t_width: 145px\r\n}\r\n\r\n#m-qrcode span.close {\r\n\tdisplay: block;\r\n\twidth: 18px;\r\n\theight: 17px;\r\n\tbackground: url(../images/m-buy.png) 0 -47px no-repeat;\r\n\tposition: absolute;\r\n\tz-index: 1;\r\n\tright: -5px;\r\n\ttop: -5px\r\n}\r\n\r\n#m-qrcode span.arr {\r\n\theight: 12px;\r\n\twidth: 24px;\r\n\toverflow: hidden;\r\n\tbackground: url(../images/m-buy.png) -36px -50px no-repeat;\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tbottom: 5px;\r\n\tleft: 30px;\r\n\tz-index: 1\r\n}\r\n\r\n#m-buy.hover #m-qrcode {\r\n\tdisplay: block\r\n}\r\n\r\n.join-discuss {\r\n\tdisplay: inline-block;\r\n\t*zoom: 1;\r\n\theight: 19px;\r\n\tpadding: 0 9px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-radius: 2px;\r\n\tmargin: 3px 4px 0 0;\r\n\tbackground: #F7F7F7;\r\n\tline-height: 18px;\r\n\tline-height: 19px\\9;\r\n\ttext-align: center;\r\n\ttext-decoration: none;\r\n\tcolor: #333;\r\n\tfont-size: 12px;\r\n\tcursor: pointer;\r\n\tbackground: -moz-linear-gradient(top, #f7f7f7, #f2f2f2);\r\n\tbackground: -webkit-gradient(linear, 0 0, 0 100%, from(#f7f7f7),\r\n\t\tto(#f2f2f2));\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f7f7f7\",\r\n\t\tendColorstr=\"#f2f2f2\");\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=\"\r\n\t\t#f7f7f7 \", endColorstr=\" #f2f2f2 \")\"\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/purchase.2012.css",
    "content": "@charset \"utf-8\";\r\ntable {\r\n\tborder-collapse: collapse;\r\n\tborder-spacing: 0!important;\r\n}\r\nimg::selection {\r\n\tbackground: transparent\r\n}\r\nimg::-moz-selection {\r\n\tbackground: transparent\r\n}\r\nimg {\r\n\t-ms-interpolation-mode: bicubic\r\n}\r\ninput {\r\n\tmargin: 0;\r\n\tpadding: 0\r\n}\r\n.btn,.btn .btn-text {\r\n\tbackground: url(../images/btn-bg-1.png) no-repeat\r\n}\r\n.btn {\r\n\tfloat: left;\r\n\tdisplay: block;\r\n\toverflow: hidden;\r\n\tposition: relative;\r\n\tmargin-right: 5px;\r\n\tpadding-right: 10px;\r\n\tline-height: normal;\r\n\tfont-size: 12px;\r\n\tbackground-position: 100% -63px\r\n}\r\n.btn span {\r\n\tcursor: pointer\r\n}\r\n.btn .btn-icon {\r\n\tposition: absolute;\r\n\tdisplay: inline;\r\n\toverflow: hidden;\r\n\tfont-size: 0;\r\n\tline-height: 0\r\n}\r\n.btn .btn-text {\r\n\theight: 21px;\r\n\tpadding: 0 0 0 10px;\r\n\tfloat: left;\r\n\tdisplay: block;\r\n\toverflow: hidden;\r\n\tline-height: 22px;\r\n\ttext-align: left;\r\n\tbackground-position: 0 0\r\n}\r\na.btn:visited,a.btn:hover {\r\n\tcolor: #333\r\n}\r\na.btn:hover,a.btn:hover span {\r\n\ttext-decoration: none\r\n}\r\n.gray-btn {\r\n\theight: 21px\r\n}\r\n.orange-btn {\r\n\tbackground-position: 100% -105px\r\n}\r\n.orange-btn .btn-text {\r\n\tbackground-position: 0 -42px\r\n}\r\n.red-btn {\r\n\tbackground-position: 100% -358px;\r\n\tbackground-color: #E43E41;\r\n}\r\n.red-btn .btn-text {\r\n\tbackground-position: 0 -316px;\r\n\tcolor:#fff;\r\n\tbackground-color: #E43E41;\r\n}\r\n.dis-btn {\r\n\tbackground-position: 100% -379px;\r\n\tcursor: not-allowed;\r\n}\r\n.dis-btn .btn-text {\r\n\tbackground-position: 0 -337px;\r\n\tcolor:#ccc;\r\n\tcursor: not-allowed;\r\n}\r\n.dialog {\r\n\tposition: absolute;\r\n\tz-index: 1000;\r\n\tdisplay: none\r\n}\r\n.dialog .dialog-outer {\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\t/*position: relative;*/\r\n\tbackground-color: #fff;\r\n\t_border:1px solid #ddd;\r\n}\r\n.dialog .dialog-inner {\r\n\tborder: 1px solid #c4c4c4\r\n}\r\n.dialog .dialog-toolbar {\r\n\theight: 25px;\r\n\tborder-top: 1px solid #fff;\r\n\tborder-bottom: 1px solid #c4c4c4;\r\n\tpadding: 0 10px;\r\n\tbackground-color: #f3f3f3\r\n}\r\n.dialog .dialog-title {\r\n\tfloat: left;\r\n\tline-height: 25px\r\n}\r\n.dialog .dialog-close {\r\n\twidth: 13px;\r\n\theight: 13px;\r\n\tmargin-top: 6px;\r\n\tfloat: right;\r\n\ttext-indent: -9999px;\r\n\tline-height: 0;\r\n\toverflow: hidden;\r\n\tbackground: url(../images/dialog/dialog-close.gif) no-repeat\r\n}\r\n.dialog .dialog-bump {\r\n\tposition: absolute;\r\n\tz-index: 1002;\r\n\ttext-align: center\r\n}\r\n.dialog .dialog-bump .dialog-arrow {\r\n\tmargin: 0 auto;\r\n\tdisplay: block;\r\n\tline-height: 0;\r\n\tfont-size: 0;\r\n\toverflow: hidden\r\n}\r\n.dialog .dialog-bg {\r\n\twidth: 4px;\r\n\theight: 4px;\r\n\tdisplay: block;\r\n\tline-height: 0;\r\n\tfont-size: 0;\r\n\tposition: absolute;\r\n\tz-index: 1001\r\n}\r\n.dialog .dialog-bg-n,.dialog .dialog-bg-s {\r\n\twidth: 100%;\r\n\tleft: 0;\r\n\tbackground: url(../images/dialog/dialog-x.png);\r\n}\r\n.dialog .dialog-bg-e,.dialog .dialog-bg-w {\r\n\theight: 100%;\r\n\ttop: 0;\r\n\tbackground: url(../images/dialog/dialog-y.png)\r\n}\r\n.dialog .dialog-bg-ne,.dialog .dialog-bg-se,.dialog .dialog-bg-sw,.dialog .dialog-bg-nw {\r\n\tbackground: url(../images/dialog/dialog-bg.png)\r\n}\r\n.dialog .dialog-bg-ne {\r\n\ttop: -4px;\r\n\tright: -4px;\r\n\tbackground-position: -4px 0\r\n}\r\n.dialog .dialog-bg-se {\r\n\tright: -4px;\r\n\tbottom: -4px;\r\n\tbackground-position: -4px -4px\r\n}\r\n.dialog .dialog-bg-sw {\r\n\tbottom: -4px;\r\n\tleft: -4px;\r\n\tbackground-position: 0 -4px\r\n}\r\n.dialog .dialog-bg-nw {\r\n\ttop: -4px;\r\n\tleft: -4px;\r\n\tbackground-position: 0 0\r\n}\r\n.dialog .dialog-bg-n {\r\n\ttop: -4px;\r\n\tbackground-position: 0 -6px\r\n}\r\n.dialog .dialog-bg-s {\r\n\tbottom: -4px;\r\n\tbackground-position: 0 -10px\r\n}\r\n.dialog .dialog-bg-e {\r\n\tright: -4px;\r\n\tbackground-position: -10px 0\r\n}\r\n.dialog .dialog-bg-w {\r\n\tleft: -4px;\r\n\tbackground-position: -6px 0\r\n}\r\n* html .dialog .dialog-bg {\r\n\tdisplay: none!important;\r\n\tbackground: transparent!important\r\n}\r\n.header {\r\n\tpadding: 20px 0 10px;\r\n}\r\n#logo {\r\n\tpadding-left: 5px;\r\n\tfloat: left\r\n}\r\n.language {\r\n\tline-height: 20px;\r\n\ttext-align: right\r\n}\r\n.language a,.language a:visited,.language a:hover {\r\n\tcolor: #005ea7\r\n}\r\n.progress {\r\n\tpadding-top: 6px\r\n}\r\n.progress .progress-1{background:url(../images/step1.png) no-repeat;width:481px;padding-top:23px;overflow:hidden;height:23px;}\r\n.progress ul {width:481px; float:right;}\r\n.progress li {width:160px; height:23px; float:left; color:#bce8a3; line-height:23px; text-align:center;}\r\n.progress li b {width:22px; height:25px; display:none; }\r\n.progress li.step-1{color:#7abd54;}\r\n.progress li.step-2{color:#aaaaaa;width:161px;}\r\n.progress li.step-3{color:#aaaaaa;}\r\n.progress li.complete b {background-position:0 -50px;}\r\n\r\n.cart {\r\n\tpadding-bottom: 20px\r\n}\r\n.cart .cart-hd {\r\n\theight: 35px;\r\n}\r\n.cart .cart-hd h2 {\r\n\twidth: 100px;\r\n\tfloat: left;\r\n}\r\n.cart h2 {\r\n\theight: 20px;\r\n\tmargin-bottom: 15px;\r\n\tline-height: 100px;\r\n\toverflow: hidden;\r\n\tbackground: url(../images/my_cart_title.png) no-repeat left top;\r\n}\r\n.cart .cart-hd span, .cart .cart-hd a {\r\n\tfloat: left;\r\n}\r\n.cart .cart-hd .fore {\r\n\tpadding-left: 40px;\r\n\tline-height: 21px;\r\n}\r\n.cart .cart-hd .btn-text {\r\n\tline-height: 21px;\r\n\ta\r\n}\r\n.cart-frame {\r\n\theight: 0;\r\n\tline-height: 0;\r\n\tfont-size: 0;\r\n\tposition: relative\r\n}\r\n.cart-frame div {\r\n\tdisplay:none;\r\n\twidth: 4px;\r\n\theight: 4px;\r\n\toverflow: hidden;\r\n\tline-height: 0;\r\n\tfont-size: 0;\r\n\tposition: absolute;\r\n\tbackground: url(../images/cart_corner_1.png) no-repeat\r\n}\r\n.cart-frame .tl,.cart-frame .tr {\r\n\tbottom: -4px\r\n}\r\n.cart-frame .bl,.cart-frame .br {\r\n\ttop: -4px\r\n}\r\n.cart-frame .tl,.cart-frame .bl {\r\n\tleft: 0\r\n}\r\n.cart-frame .tr,.cart-frame .br {\r\n\tright: 0\r\n}\r\n.cart-frame .tl {\r\n\tbackground-position: 0 0\r\n}\r\n.cart-frame .tr {\r\n\tbackground-position: -4px 0\r\n}\r\n.cart-frame .bl {\r\n\tbackground-position: 0 -4px\r\n}\r\n.cart-frame .br {\r\n\tbackground-position: -4px -4px\r\n}\r\n.cart-inner {\r\n\tborder: 1px solid #ddd;\r\n\tborder-top:2px solid #999;\r\n}\r\n.cart-inner .cart-thead {\r\n\theight: 35px;\r\n\tbackground-color: #f7f7f7;\r\n}\r\n.cart-inner .cart-tbody {\r\n\tborder-bottom: 1px solid #ddd\r\n}\r\n.cart-thead .column {\r\n\twidth: 99px;\r\n\theight: 35px;\r\n\tborder-right: 1px solid #f7f7f7;\r\n\tfloat: left;\r\n\tcolor: #666;\r\n\tline-height: 35px;\r\n\ttext-align: center\r\n}\r\n.cart-thead .t-checkbox {\r\n\tline-height: normal;\r\n\ttext-align: left\r\n}\r\n.cart-thead .t-checkbox input {\r\n\tmargin: 11px 5px 0 19px;\r\n\tmargin: 11px 5px 0 16px\\9;\r\n\t*margin: 6px 2px 0 16px;\r\n\tdisplay: inline;\r\n}\r\n.cart-thead .t-checkbox label {\r\n\tline-height: 35px;\r\n}\r\n.cart-thead .t-goods {\r\n\twidth: 309px;\r\n}\r\n.cart-thead .t-price {\r\n\twidth: 128px;\r\n\ttext-align: right;/*20130701 shijianguo*/\r\n}\r\n.cart-thead .t-promotion {\r\n\twidth: 149px;\r\n}\r\n.cart-thead .t-action {\r\n\tborder-right: 0;\r\n}\r\n.cart-tbody .item {\r\n\tborder-top: 1px solid #ddd;\r\n\tpadding: 10px 0;\r\n}\r\n.cart-tbody .item,.cart-tbody .item-meet,.cart-tbody .suit {\r\n\tclear: left;\r\n}\r\n.cart-tbody .item-first {\r\n\tborder-top: 0;\r\n}\r\n.cart-tbody .item_form {\r\n\theight: 52px;\r\n}\r\n.cart-tbody .item_extra {\r\n\tpadding: 5px 0 0 50px;\r\n\tclear: both;\r\n}\r\n.item .p-gift .g-name {\r\n\twidth: 739px;\r\n\tfloat: left;\r\n}\r\n.item .p-gift .g-count {\r\n\twidth: 100px;\r\n\tfloat: left;\r\n\ttext-align: center;\r\n}\r\n.cart-tbody .item_extra .g-number {\r\n\twidth: 34px;\r\n\theight: 18px;\r\n\tmargin: 0 auto;\r\n\tborder: 1px solid #EDEDED;\r\n\tborder-top-color: #ccc;\r\n\tborder-left-color: #ccc;\r\n\tpadding-top: 2px;\r\n\toverflow: hidden;\r\n\ttext-align: center;\r\n\tline-height: 18px;\r\n\tdisplay: block;\r\n\tbackground-color: #F7F7F8;\r\n\tcolor: #666;\r\n}\r\n.cart-tbody .cell {\r\n\tfloat: left;\r\n\tmin-height: 52px;\r\n\theight: auto!important;\r\n}\r\n.cart-tbody .p-checkbox {\r\n\twidth: 50px;\r\n\theight: 52px;\r\n}\r\n.cart-tbody .p-checkbox input {\r\n\tmargin: 20px 0 0 19px;\r\n\tmargin: 17px 0 0 16px\\9;\r\n\t*margin: 16px 0 0 16px;\r\n\tfloat: left;\r\n\tdisplay: inline;\r\n}\r\n.cart-tbody .p-goods {\r\n\twidth: 359px;\r\n\toverflow:hidden;\r\n}\r\n.cart-tbody .p-img {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tmargin-right: 10px;\r\n\tborder: 1px solid #ddd;\r\n\tpadding: 0;\r\n\tfloat: left;\r\n\tbackground-color: #fff;\r\n}\r\n.cart-tbody .p-img img {\r\n\tdisplay: block;\r\n}\r\n.cart-tbody .p-name {\r\n\tpadding-right: 10px;\r\n\tline-height: 18px;\r\n}\r\n.cart-tbody .p-name span {\r\n\tdisplay: block;\r\n\tcolor: #999;\r\n\tline-height: 18px;\r\n}\r\n.cart-tbody .p-price {\r\n\twidth: 130px;\r\n\ttext-align: right;\r\n\tline-height: 52px;\r\n}\r\n.cart-tbody .price {\r\n\t/*padding-right: 10px; 20130701 shijianguo*/\r\n\tcolor: #333;\r\n\tfont-family: Verdana,Arial;\r\n}\r\n.cart-tbody .p-promotion {\r\n\twidth: 150px;\r\n}\r\n.cart-tbody .p-promotion span {\r\n\theight: 20px;\r\n\tmargin: 16px 0 0 5px;\r\n\tborder-radius: 3px;\r\n\t-moz-border-radius: 3px;\r\n\t-webkit-border-radius: 3px;\r\n\tdisplay: block;\r\n\toverflow: hidden;\r\n\tcolor: #fff;\r\n\tline-height: 20px;\r\n\ttext-align: center;\r\n}\r\n.cart-tbody .p-promotion-special span {\r\n\tmargin-top: 4px;\r\n}\r\n.cart-tbody .p-promotion em {\r\n\tfont-family: Verdana,Arial;\r\n}\r\n.cart-tbody .p-promotion .return-now {\r\n\tbackground-color: #3b0;\r\n}\r\n.cart-tbody .p-promotion .give-points {\r\n\tbackground-color: #f90;\r\n}\r\n.cart-tbody .p-remove {\r\n\twidth: 99px;\r\n\tcolor: #005ea7;\r\n}\r\n.cart-tbody .p-name a,.cart-tbody .p-name a:visited,.cart-tbody .p-name a:hover,.cart-tbody .p-remove a,.cart-tbody .p-remove a:visited,.cart-tbody .p-remove a:hover {\r\n\tcolor: #005ea7;\r\n}\r\n.cart-tbody .p-name a.edit,.cart-tbody .p-name a.edit:visited {\r\n\ttext-decoration: underline;\r\n}\r\n.cart-tbody .p-name a.edit:hover {\r\n\ttext-decoration: none;\r\n}\r\n.cart-tbody .p-inventory {\r\n\tcolor: #999;\r\n}\r\n.cart-tbody .p-inventory,.cart-tbody .p-quantity {\r\n\twidth: 100px;\r\n\ttext-align: center;\r\n}\r\n.cart-tbody .p-inventory,.cart-tbody .p-remove {\r\n\tline-height: 52px;\r\n\ttext-align: center;\r\n}\r\n.cart-tbody .p-quantity {\r\n\tline-height: 52px;\r\n}\r\n.cart-tbody .p-quantity .quantity-form {\r\n\twidth: 76px;\r\n\theight: 22px;\r\n\tmargin: 0 auto;\r\n\tpadding-top: 16px;\r\n\toverflow: hidden;\r\n\ttext-align: left;\r\n}\r\n.cart-tbody .p-quantity a {\r\n\twidth: 13px;\r\n\theight: 13px;\r\n\tmargin-top: 3px;\r\n\tfloat: left;\r\n\tdisplay: block;\r\n\toverflow: hidden;\r\n\tline-height: 13px;\r\n\tbackground:#fff;\r\n\tborder:1px solid #ccc;\r\n\ttext-align:center;\r\n}\r\n.cart-tbody .p-quantity a:hover{text-decoration:none;color:#333;border:1px solid #999;}\r\n.p-quantity .quantity-form input {\r\n\tfloat: left;\r\n\tborder:1px solid #ccc;\r\n}\r\n.cart-tbody .p-quantity a.decrement {\r\n\tmargin-right: 5px;\r\n\r\n}\r\n.cart-tbody .p-quantity a.increment {\r\n\tfloat: right;\r\n\r\n}\r\n.cart-tbody .p-quantity a.disabled {\r\n\tbackground-position: 0 -26px;\r\n}\r\n.cart-tbody .quantity-text {\r\n\twidth: 34px;\r\n\theight: 18px;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top-color: #aaa;\r\n\tborder-left-color: #aaa;\r\n\tpadding-top: 2px;\r\n\toverflow: hidden;\r\n\ttext-align: center;\r\n\tbackground-color: #fff;\r\n}\r\n.cart-tbody .extend-service-btn {\r\n\tline-height: 22px;\r\n\tmargin-bottom:13px;\r\n}\r\n.cart-tbody .extend-service-btn a,.cart-tbody .extend-service-btn a:visited {\r\n\tcolor: #c00;\r\n}\r\n.sku-yanBao {\r\n\tposition:relative;\r\n\ttop:8px;\r\n}\r\n.sku-yanBao .extend-service-btn{\r\n\tline-height:18px;\r\n\tfloat: left;\r\n}\r\n.sku-yanBao .extend-service-btn span,.sku-yanBao .no-service{\r\n\tcolor:#999;\r\n}\r\n.sku-yanBao .extend-service-btn span a.yb-server-link {\r\ncolor:#999;\r\n}\r\n.sku-yanBao .yanBao-list{\r\n\tfloat: left;\r\n\twidth:870px;\r\n\tpadding-left: 0px;\r\n}\r\n.yanBao-list .price{\r\n\tpadding:5px 0;\r\n}\r\n.sku-yanBao .yanBao-list li{\r\n\tpadding-bottom: 10px;\r\n\tcolor: #999;\r\n}\r\n.yanBao-list .price{\r\n\tpadding-right: 5px;\r\n}\r\n.sku-yanBao .yanBao-list .handsel,\r\n.sku-yanBao .yanBao-list .curr,\r\n.yanBao-list .curr .price{\r\n\tcolor: #333;\r\n}\r\n.sku-yanBao .yanBao-check{\r\n\twidth:287px;\r\n\tpadding-left: 5px;\r\n\tpadding-right:10px;\r\n\tpading-top: 1px;\r\n\tfloat: left;\r\n\tline-height: 15px;\r\n\theight: 15px;\r\n\toverflow: hidden;\r\n}\r\n.sku-yanBao .yanBao-check .icon{\r\n\tdisplay:inline-block;\r\n\twidth:16px;\r\n\theight: 16px;\r\n\tbackground: #ddd;\r\n\tvertical-align: top;\r\n\tmargin-right: 5px;\r\n}\r\n.sku-yanBao .yanBao-check input{\r\n\twidth:16px;\r\n\theight:16px;\r\n\tmargin-left:-25px;\r\n\tmargin-right:8px;\r\n\tvertical-align: top;\r\n}\r\n.sku-yanBao .quantity-form{\r\n\tfloat: left;\r\n\twidth:76px;\r\n\ttext-align: center;\r\n\tmargin-left:265px;\r\n}\r\n.alter-yb,\r\n.more-service-btn,\r\n.less-service-btn{\r\n\tdisplay:inline-block;\r\n\tpadding-right: 12px;\r\n\tbackground:url(../images/yanbao-icon.gif) no-repeat right -5px;\r\n}\r\n.alter-yb:link,\r\n.alter-yb:visited,\r\n.more-service-btn:link,\r\n.more-service-btn:visited,\r\n.less-service-btn:link,\r\n.less-service-btn:visited{\r\n\tcolor: #005ea7;\r\n}\r\n.alter-yb{\r\n\tbackground: none;\r\n}\r\n#yb_box .thicktitle{\r\n\tfont-size:12px;font-weight: normal;\r\n\tcolor: #666;\r\n}\r\n\r\n.pos-right-service{\r\n\tposition:absolute;\r\n\tright: 25px;\r\n\tbottom:14px;\r\n}\r\n.less-service-btn{\r\n\tbackground:url(../images/yanbao-icon.gif) no-repeat right 7px;\r\n\tright:23px;\r\n\tdisplay: none;\r\n}\r\n\r\n.cart-tbody  .item_extra  .sku-yanBao .cell{\r\n\tmin-height: auto;\r\n\tline-height:18px;\r\n}\r\n.cart-tbody .p-gift {\r\n\tcolor: #999;\r\n\tline-height: 22px;\r\n\r\n}\r\n.cart-tbody .p-gift a,.cart-tbody .p-gift a:visited,.cart-tbody .p-gift a:hover {\r\n\tcolor: #005ea7;\r\n}\r\n.cart-tbody .item_extra .cell {\r\n\tmin-height: 22px;\r\n}\r\n.cart-tbody .s-name {\r\n\twidth: 389px;\r\n\tcolor: #999;\r\n\tline-height: 22px;\r\n}\r\n.cart-tbody .s-name a,.cart-tbody .s-name a:visited,.cart-tbody .s-name a:hover {\r\n\tcolor: #005ea7;\r\n}\r\n.cart-tbody .s-price {\r\n\twidth: 130px;\r\n\tmargin-right: 220px;\r\n\ttext-align: right;\r\n}\r\n.cart-tbody .s-quantity {\r\n\twidth: 100px;\r\n}\r\n.cart-tbody .s-remove {\r\n\twidth: 99px;\r\n\tline-height: 22px;\r\n}\r\n.cart-tbody .s-quantity,.cart-tbody .s-remove {\r\n\ttext-align: center;\r\n}\r\n.cart-tbody .s-remove a,.cart-tbody .s-remove a:visited,.cart-tbody .s-remove a:hover {\r\n\tcolor: #005ea7;\r\n}\r\n.cart-tbody .suit {\r\n\tbackground-color: #eff8ff;\r\n}\r\n.suit .item {\r\n\tborder-bottom: 1px solid #ddd;\r\n\tpadding: 0;\r\n\tbackground-color: #e0f1ff;\r\n}\r\n.suit .item .item_form {\r\n\theight: 50px;\r\n}\r\n.suit .item .p-name {\r\n\tpadding: 0;\r\n\tline-height: 50px;\r\n}\r\n.suit .item .p-price,.suit .item .p-inventory,.suit .item .p-remove {\r\n\tline-height: 50px;\r\n}\r\n.suit .item .p-promotion {\r\n\tmargin-right: 100px;\r\n}\r\n.suit .item .p-quantity {\r\n\tline-height: normal;\r\n}\r\n.suit .item .cell {\r\n\tmin-height: 50px;\r\n}\r\n.suit .row {\r\n\tborder-bottom: 1px dashed #ccc;\r\n\tpadding: 10px 0;\r\n\tclear: both;\r\n\tbackground-color: #eff8ff;\r\n}\r\n.suit .row-last {\r\n\tborder-bottom: 0;\r\n}\r\n.suit .row .item_form {\r\n\tpadding-left: 50px;\r\n}\r\n.suit .row .price {\r\n\tcolor: #999;\r\n}\r\n.cart-tbody .item-meet {\r\n\tbackground-color: #f2f9ff;\r\n}\r\n.item-meet .item-header {\r\n\theight: 34px;\r\n\tborder-top: 1px solid #ccc;\r\n\tborder-bottom: 1px solid #ddd;\r\n\tpadding-left: 8px;\r\n\tbackground-color: #dbeefd;\r\n}\r\n.item-meet .item-header:after{content:\".\";display:block;height:0;clear:both;visibility:hidden;}.item-meet .item-header{display:inline-table;}/* Hides from IE-mac \\*/*html .item-meet .item-header{height:1%;}.item-meet .item-header{display:block;}/* End hide from IE-mac */*+html .item-meet .item-header{min-height:1%;}\r\n.item-meet .item {\r\n\tborder-bottom: 1px dashed #ddd;\r\n\tborder-top: 0;\r\n}\r\n.item-meet .item-last {\r\n\tborder-bottom: 0;\r\n}\r\n.item-meet .item-header .cell {\r\n\tmin-height: 34px;\r\n}\r\n.item-meet .f-text {\r\n\twidth: 401px;\r\n}\r\n.item-meet .f-text span {\r\n\tline-height: 34px;\r\n\tfont-weight: 700;\r\n}\r\n .item-meet .f-text a,.item-meet .f-text a:visited{ background: url(\"i/btn-21.png\")  no-repeat scroll 0 0 transparent;\r\n    color: #FFFFFF;\r\n    display: inline-block;\r\n    height: 21px;\r\n    line-height: 21px;\r\n    text-align: center;\r\n    width: 67px;\r\n    text-decoration:none;\r\n}\r\n.item-meet .f-text a:hover {background-position:0 -21px;box-shadow:0 1px 1px rgba(0,1,1,0.2);}\r\n.item-meet .f-text b {\r\n\twidth: 34px;\r\n\theight: 23px;\r\n\tmargin: 6px 10px 0 0;\r\n\tfloat: left;\r\n\toverflow: hidden;\r\n\tbackground: url(../images/icon-tags.png) no-repeat;\r\n}\r\n.meet-minus .f-text b {\r\n\tbackground-position: 0 0;\r\n}\r\n.meet-give .f-text b {\r\n\tbackground-position: 0 -23px;\r\n}\r\n.meet-gift .f-text b {\r\n\tbackground-position: 0 -46px;\r\n}\r\n.meet-exchange .f-text b {\r\n\tbackground-position: 0 -69px;\r\n}\r\n.item-meet .f-price {\r\n\twidth: 130px;\r\n\tline-height: 34px;\r\n\ttext-align: right;\r\n}\r\n.item-meet .f-more {\r\n\tfloat:right;\r\n\tpadding:0px 10px 0 0;\r\n\tline-height:34px;\r\n\toverflow:hidden;\r\n\r\n}\r\n.item-meet .f-promotion span {\r\n\twidth: 120px;\r\n\theight: 20px;\r\n\tmargin-top: 7px;\r\n\r\n\r\n\tdisplay: block;\r\n\toverflow: hidden;\r\n\tcolor: #fff;\r\n\tline-height: 20px;\r\n\ttext-align: center;\r\n}\r\n.item-meet .f-promotion em {\r\n\tfont-family: Verdana,Arial;\r\n}\r\n.item-meet .f-promotion .return-now {\r\n\tbackground-color: #7abd54;\r\n}\r\n.item-meet .f-promotion .give-points {\r\n\tbackground-color: #f90;\r\n}\r\n.item-meet .item .price {\r\n\tcolor: #999;\r\n}\r\n.item-meet .p-gift {\r\n\tborder-bottom: 1px dashed #ccc;\r\n\tpadding-left: 50px;\r\n\tline-height: 32px;\r\n}\r\n.item-meet .item .p-gift {\r\n\tpadding-left: 0;\r\n}\r\n.item-meet .p-gift a,.item-meet .p-gift a:visited,.item-meet .p-gift a:hover {\r\n\tcolor: #005ea7;\r\n}\r\n.item-meet .p-gift .g-name {\r\n\tfloat: left;\r\n}\r\n.item-meet .p-gift .g-remove {\r\n\twidth: 99px;\r\n\tfloat: right;\r\n\ttext-align: center;\r\n}\r\n.cart-tbody .item_selected .item,.cart-tbody .item_selected .row {\r\n\tbackground-color: #fffdee;\r\n}\r\n.cart-tbody .item_none {\r\n\tbackground-color: #ddd;\r\n}\r\n.cart-tbody .item_selected {\r\n\tbackground-color: #fffdee!important;\r\n}\r\n.cart-tbody .cut-price {\r\n\tline-height: normal;\r\n}\r\n.cart-tbody .cut-price .cut-text {\r\n\tpadding-right: 10px;\r\n\tcolor: #999;\r\n}\r\n.cart-tbody .cut-price .cut-text em {\r\n\tfont-family: Verdana,Arial;\r\n}\r\n.cart-toolbar,.cart-total {\r\n\tclear: both;\r\n}\r\n.cart-toolbar {\r\n\tpadding: 5px 10px;\r\n\tline-height: 22px;\r\n}\r\n.cart-toolbar .control span {\r\n\theight: 22px;\r\n\tfloat: left;\r\n}\r\n.cart-toolbar .control b {\r\n\tmargin-right: 4px;\r\n\tfloat: left;\r\n\toverflow: hidden;\r\n\tline-height: 0;\r\n\tfont-size: 0;\r\n\tbackground: url(../images/control-icon-1.gif) no-repeat;\r\n}\r\n.cart-toolbar .control .delete {\r\n\tmargin-right: 12px;\r\n}\r\n.cart-toolbar .control .delete b {\r\n\twidth: 9px;\r\n\theight: 9px;\r\n\tmargin-top: 6px;\r\n\tbackground-position: 0 0;\r\n}\r\n.cart-toolbar .control .pool b {\r\n\twidth: 14px;\r\n\theight: 12px;\r\n\tmargin-top: 5px;\r\n\tbackground-position: 0 -9px;\r\n}\r\n.cart-toolbar .control a,.cart-toolbar .control a:visited,.cart-toolbar .control a:hover {\r\n\tcolor: #005ea7;\r\n}\r\n.cart-toolbar .amout {\r\n\tpadding-right: 10px;\r\n}\r\n.cart-toolbar .amout span {\r\n\tcolor: #e4393c;\r\n\tfont-family: Verdana,Arial;\r\n}\r\n.cart-toolbar .total {\r\n\twidth: 180px;\r\n}\r\n.cart-toolbar .total p {\r\n\tclear: both;\r\n}\r\n.cart-toolbar .total span {\r\n\tfloat: right;\r\n\tfont-family: Verdana,Arial;\r\n}\r\n.cart-total {\r\n\tpadding: 10px 10px;\r\n\tbackground-color: #f7f7f7;\r\n}\r\n.cart-total a.btn:hover span {\r\n\tcolor: #333;\r\n}\r\n.cart-total a.gray-btn .btn-icon {\r\n\theight: 12px;\r\n\ttop: 4px;\r\n\tbackground: url(../images/btn-storage-icon.png) no-repeat;\r\n}\r\n.cart-total a.gray-btn .btn-text {\r\n\tpadding-left: 32px;\r\n}\r\n.cart-total a.btn:hover {\r\n\tbackground-position: 100% -84px;\r\n}\r\n.cart-total a.btn:hover .btn-text {\r\n\tbackground-position: 0 -21px;\r\n}\r\n.cart-total a.btn-storage .btn-icon {\r\n\twidth: 19px;\r\n\tleft: 7px;\r\n\tbackground-position: 0 0;\r\n}\r\n.cart-total a.btn-storage:hover .btn-icon {\r\n\tbackground-position: 0 -12px;\r\n}\r\n.cart-total a.btn-takeout .btn-icon {\r\n\twidth: 15px;\r\n\tleft: 9px;\r\n\tbackground-position: -20px 0;\r\n}\r\n.cart-total a.btn-takeout:hover .btn-icon {\r\n\tbackground-position: -20px -12px;\r\n}\r\n.cart-total .delivery {\r\n\twidth: 106px;\r\n\theight: 28px;\r\n\tborder: 1px solid #edd28b;\r\n\tpadding-left: 40px;\r\n\tcolor: #f60;\r\n\tline-height: 28px;\r\n\tbackground: #fffdee url(../images/delivery-icon-1.gif) no-repeat 10px 6px;\r\n}\r\n.cart-total .total {\r\n\twidth: 250px;\r\n\tmargin-left: 10px;\r\n\tline-height: 30px;\r\n\tfont-weight: 700;\r\n}\r\n.cart-total .total span {\r\n\tfloat: right;\r\n\tcolor: #e4393c;\r\n\tfont-size: 20px;\r\n\tfont-weight: 400;\r\n\tfont-family: Verdana,Arial;\r\n}\r\n.cart-button {\r\n\tpadding: 10px 0 0;\r\n}\r\n.cart-button a.btn span {\r\n\tcolor: #333;\r\n}\r\n.cart-button a.continue {\r\n\tpadding-right: 16px;\r\n\tbackground-position: 100% -198px;\r\n}\r\n.cart-button a#continue{background: url(../images/btn-proceed.png) no-repeat 0 0;width:94px;height:36px;line-height:36px;text-align:center;padding:0;}\r\n.cart-button a.continue:hover {\r\n\tbackground-position: 100% -234px;\r\n}\r\n.cart-button a#continue:hover{background-position:0 -36px;box-shadow:0 1px 1px rgba(0,1,1,0.1);}\r\n.cart-button a.continue .btn-text {\r\n\theight: 36px;\r\n\tpadding: 0 0 0 16px;\r\n\tline-height: 36px;\r\n\tbackground-position: 0 -126px;\r\n}\r\n.cart-button a#continue .btn-text{background:none;padding:0;text-align:center;width:94px;}\r\n.cart-button a.continue:hover .btn-text {\r\n\tbackground-position: 0 -162px;\r\n}\r\n.cart-button a#continue:hover .btn-text{background:none;}\r\n.cart-button a.checkout {\r\n\twidth: 135px;\r\n\theight: 36px;\r\n\tfloat: right;\r\n\tdisplay: block;\r\n\toverflow: hidden;\r\n\tline-height: 100px;\r\n\tbackground: url(../images/btn-check-2013.jpg) no-repeat #E43F45;\r\n    font-family: \"\\5FAE\\8F6F\\96C5\\9ED1\";\r\n    font-size: 18px;\r\n    font-weight: bold;\r\n    line-height: 32px;\r\n    _line-height: 36px;\r\n    text-indent: 33px;\r\n    color:#fff;\r\n    position: relative;\r\n}\r\n.cart-button a.checkout:hover{background-position:0 -36px;box-shadow:0 1px 1px rgba(0,1,1,0.3);background-color:#ED4749;text-decoration: none;}\r\n.cart-button a.checkout b{\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tbackground: url(../images/btn-check.jpg) no-repeat;\r\n}\r\n.cart-button a.checkout:hover b{background-position:0 -36px;}\r\n.cart-button .checkout-state {\r\n\twidth: 356px;\r\n\theight: 28px;\r\n\tborder: 1px solid #edd28b;\r\n\tfloat: right;\r\n\tdisplay: block;\r\n\toverflow: hidden;\r\n\tcolor: #f60;\r\n\tline-height: 28px;\r\n\ttext-align: center;\r\n\tbackground-color: #fffdee;\r\n}\r\n.cart-button .checkout-state b {\r\n\twidth: 30px;\r\n\theight: 30px;\r\n\tmargin: 2px 0 0 10px;\r\n\tfloat: left;\r\n\tdisplay: inline;\r\n\tbackground: url(../images/loading.gif) no-repeat center center;\r\n}\r\n.cart-extra {\r\n\tpadding-top: 20px;\r\n}\r\n.cart-removed {\r\n\tpadding-top: 10px;\r\n}\r\n.cart-removed .r-title {\r\n\theight: 32px;\r\n\tborder-bottom: 1px solid #f3f3f3;\r\n\tline-height: 32px;\r\n}\r\n.cart-removed .r-item {\r\n\theight: 32px;\r\n\tborder-bottom: 1px solid #f3f3f3;\r\n}\r\n.cart-removed .r-item div {\r\n\tmin-height: 32px;\r\n\tfloat: left;\r\n\tline-height: 32px;\r\n}\r\n.cart-removed .r-name {\r\n\twidth: 470px;\r\n}\r\n.cart-removed .r-price {\r\n\twidth: 90px;\r\n\tmargin-right: 220px;\r\n\tfont-family: Verdana,Arial;\r\n\ttext-align: right;\r\n}\r\n.cart-removed .r-quantity {\r\n\twidth: 80px;\r\n}\r\n.cart-removed .r-control {\r\n\twidth: 130px;\r\n}\r\n.cart-removed .r-control span {\r\n\tpadding: 0 8px;\r\n\tcolor: #ccc;\r\n\tfont-size: 14px;\r\n}\r\n.cart-removed .r-quantity,.cart-removed .r-control {\r\n\ttext-align: center;\r\n}\r\n.cart-removed .r-item a,.cart-removed .r-item a:visited,.cart-removed .r-item a:hover {\r\n\tcolor: #005ea7;\r\n}\r\n.cart-loading {\r\n\tpadding: 20px 0;\r\n}\r\n#inventory {\r\n\twidth: 68px;\r\n\theight: 23px;\r\n\tmargin: 5px auto 0;\r\n\tborder: 1px solid #ddd;\r\n\toverflow: hidden;\r\n\tbackground: #fff url(../images/cart-icon-bg-1.png) no-repeat right center;\r\n}\r\n#inventory span {\r\n\twidth: 36px;\r\n\theight: 17px;\r\n\tmargin: 3px 0 0 5px;\r\n\tfloat: left;\r\n\toverflow: hidden;\r\n\t_display: inline;\r\n\tline-height: 17px;\r\n}\r\n#inventory,#inventory span {\r\n\tcursor: pointer;\r\n}\r\n#inventory-dialog {\r\n\twidth: 312px;\r\n\theight: auto;\r\n}\r\n#inventory-dialog .dialog-outer {\r\n\tbackground-color: #f3f3f3;\r\n}\r\n#inventory-dialog .dialog-inner {\r\n\tborder-color: #ddd;\r\n}\r\n#inventory-dialog .dialog-content {\r\n\twidth: 303px;\r\n\toverflow: hidden;\r\n\tpadding: 10px 0 10px 7px;\r\n}\r\n#inventory-dialog .multiple-select {\r\n\twidth: 88px;\r\n\theight: 198px;\r\n\tmargin: 0 5px;\r\n\tfloat: left;\r\n\tdisplay: inline;\r\n}\r\n.extend-dialog {\r\n\twidth: 442px;\r\n}\r\n.extend-dialog .dialog-content {\r\n\tpadding: 5px 10px 10px;\r\n}\r\n.extend-dialog .extend-title {\r\n\tline-height: 30px;\r\n}\r\n.extend-dialog .extend-item {\r\n\theight: 30px;\r\n\toverflow: hidden;\r\n\tclear: both;\r\n}\r\n.extend-dialog .extend-item input,.extend-dialog .extend-item label {\r\n\tfloat: left;\r\n}\r\n.extend-dialog .extend-item label,.extend-dialog .extend-item span {\r\n\tline-height: 30px;\r\n}\r\n.extend-dialog .extend-item input {\r\n\tmargin: 7px 6px 0 0;\r\n\tmargin: 8px 6px 0 0\\9;\r\n\t*margin: 4px 3px 0 0;\r\n}\r\n.extend-dialog .extend-item span {\r\n\tfloat: right;\r\n\tcolor: #c00;\r\n\tfont-family: Verdana,Arial;\r\n}\r\n.extend-dialog .btns {\r\n\tpadding: 5px 0 0 160px;\r\n\tclear: both;\r\n}\r\n.gift-dialog {\r\n\twidth: 442px;\r\n}\r\n.gift-dialog .gift-products {\r\n\tpadding: 0 10px;\r\n\theight: 287px;\r\n\toverflow: auto;\r\n\tposition: relative;\r\n}\r\n.gift-dialog .gift-item {\r\n\tmin-height: 52px;\r\n\theight: auto!important;\r\n\theight: 52px;\r\n\tmargin-top: -1px;\r\n\t_display: inline-block;\r\n\tborder-top: 1px dashed #ccc;\r\n\tpadding: 10px 0;\r\n\tclear: both;\r\n}\r\n.gift-dialog .p-img {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tborder: 1px solid #ddd;\r\n\tpadding: 0;\r\n\tfloat: left;\r\n}\r\n.gift-dialog .p-img img {\r\n\tdisplay: block;\r\n}\r\n.gift-dialog .p-name {\r\n\tpadding-left: 10px;\r\n\tfloat: left;\r\n}\r\n.gift-dialog .p-name span {\r\n\tpadding-top: 5px;\r\n\tdisplay: block;\r\n}\r\n.gift-dialog .p-name del {\r\n\tcolor: #c00;\r\n\tfont-family: Verdana,Arial;\r\n}\r\n.gift-dialog .p-name .price {\r\n\tdisplay: inline-block;\r\n\tcolor: #c00;\r\n\tfont-family: Verdana,Arial;\r\n}\r\n.gift-dialog .p-btn {\r\n\twidth: 60px;\r\n\tfloat: right;\r\n}\r\n.gift-dialog .p-btn .btn {\r\n\twidth: 50px;\r\n\tmargin-right: 0;\r\n}\r\n.gift-dialog .p-btn .btn .btn-text {\r\n\twidth: 40px;\r\n\ttext-align: center;\r\n}\r\n#cart-delete-dialog,#cart-notify-dialog {\r\n\twidth: 252px;\r\n}\r\n#cart-delete-dialog .dialog-content,#cart-notify-dialog .dialog-content {\r\n\tpadding: 10px;\r\n}\r\n#cart-delete-dialog .cart-delete {\r\n\tcolor: #c00;\r\n\tline-height: 22px;\r\n\ttext-align: center;\r\n}\r\n#cart-delete-dialog .btns,#cart-notify-dialog .btns {\r\n\tpadding: 10px 0 0 65px;\r\n}\r\n#cart-notify-dialog .cart-notify-email {\r\n\tpadding-left: 10px;\r\n}\r\n#cart-notify-dialog .cart-notify-email label {\r\n\tdisplay: block;\r\n\tline-height: 22px;\r\n}\r\n#cart-notify-dialog .notify-email {\r\n\twidth: 210px;\r\n\theight: 20px;\r\n\t*height: 19px;\r\n\tfloat: left;\r\n\tborder: 1px solid #ddd;\r\n\tborder-top-color: #aaa;\r\n\tborder-left-color: #aaa;\r\n\tpadding-top: 2px;\r\n\t*padding-top: 3px;\r\n}\r\n.cart-tooltip {\r\n\twidth: 200px;\r\n}\r\n.cart-tooltip .dialog-outer {\r\n\tbackground-color: #fffdee;\r\n}\r\n.cart-tooltip .dialog-inner {\r\n\tborder: 1px solid #edd28b;\r\n\tpadding: 5px;\r\n}\r\n.cart-tooltip .dialog-bump {\r\n\twidth: 100%;\r\n\theight: 11px;\r\n\tbottom: -10px;\r\n\tleft: 0;\r\n}\r\n.cart-tooltip .dialog-arrow {\r\n\twidth: 18px;\r\n\theight: 11px;\r\n\tbackground: url(../images/dialog/dialog-arrow-bg.png) no-repeat;\r\n}\r\n.cart-tooltip .dialog-message {\r\n\tline-height: 22px;\r\n\ttext-align: center;\r\n}\r\n.cart-tooltip .dialog-message span {\r\n\tcolor: #c00;\r\n\tfont-family: Verdana,Arial;\r\n}\r\n.cart-tooltip .dialog-message a,.cart-tooltip .dialog-message a:visited,.cart-tooltip .dialog-message a:hover {\r\n\tcolor: #005ea7;\r\n}\r\n.cart-tooltip .dialog-notice {\r\n\tcolor: #c00;\r\n\tline-height: 22px;\r\n\ttext-align: center;\r\n}\r\n.cart-tooltip-notice .dialog-outer {\r\n\tbackground-color: #ffe8e8;\r\n}\r\n.cart-tooltip-notice .dialog-inner {\r\n\tborder: 1px solid #db9a9a;\r\n}\r\n.cart-tooltip-notice .dialog-arrow {\r\n\tbackground-position: 0 -11px;\r\n}\r\n* html .cart-tooltip .dialog-arrow {\r\n\tbackground: transparent!important;\r\n}\r\n.cart-empty {\r\n\theight: 98px;\r\n\tborder: 1px solid #ddd;\r\n}\r\n.cart-empty .message {\r\n\theight: 98px;\r\n\tpadding-left: 341px;\r\n\tbackground: #f3f3f3 url(../images/cart-empty-bg.png) no-repeat 250px 22px;\r\n}\r\n.cart-empty .message p {\r\n\tline-height: 98px;\r\n}\r\n.cart-empty .message ul {\r\n\tpadding-top: 23px;\r\n}\r\n.cart-empty .message li {\r\n\tline-height: 26px;\r\n}\r\n.cart-empty a,.cart-empty a:visited,.cart-empty a:hover {\r\n\tcolor: #005ea7;\r\n}\r\n.c-notification {\r\n\theight: 40px;\r\n\tmargin-bottom: 10px;\r\n\toverflow: hidden;\r\n\tposition: relative;\r\n}\r\n.c-notification .c-corner {\r\n\twidth: 100%;\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\tz-index: 10;\r\n}\r\n.c-notification .corner-top {\r\n\ttop: -5px;\r\n}\r\n.c-notification .corner-bottom {\r\n\tbottom: -5px;\r\n}\r\n.c-notification .c-corner,.c-notification .c-corner span {\r\n\theight: 5px;\r\n\tline-height: 0;\r\n\tfont-size: 0;\r\n}\r\n.c-notification .c-corner span {\r\n\twidth: 5px;\r\n\tposition: absolute;\r\n\tbackground: url(../images/cart_corner_2.png) no-repeat;\r\n}\r\n.c-notification .c-corner .nw {\r\n\tbottom: -5px;\r\n\tleft: 0;\r\n\tbackground-position: 0 0;\r\n}\r\n.c-notification .c-corner .ne {\r\n\tbottom: -5px;\r\n\tright: 0;\r\n\tbackground-position: -5px 0;\r\n}\r\n.c-notification .c-corner .sw {\r\n\ttop: -5px;\r\n\tleft: 0;\r\n\tbackground-position: 0 -5px;\r\n}\r\n.c-notification .c-corner .se {\r\n\ttop: -5px;\r\n\tright: 0;\r\n\tbackground-position: -5px -5px;\r\n}\r\n.c-notification .c-inner {\r\n\theight: 38px;\r\n\tposition: relative;\r\n}\r\n.c-notice .c-inner {\r\n\tborder: 1px solid #db9a9a;\r\n\tz-index: 1;\r\n\tcolor: #c00;\r\n\tline-height: 38px;\r\n\ttext-align: center;\r\n\tbackground-color: #ffe8e8;\r\n}\r\n.c-notice a,.c-notice a:visited,.c-notice a:hover {\r\n\tcolor: #005ea7;\r\n}\r\n.cart-tbody .extend-service {\r\n\tcolor: #c00;\r\n\tline-height: 22px;\r\n}\r\n.cart-tbody .extend-service a, .cart-tbody .extend-service a:visited, .cart-tbody .extend-service a:hover {\r\n\tcolor: #005ea7;\r\n}\r\n.cart-tbody .p-gift {\r\n\t}\r\n.gift-table {\r\n\twidth: 988px;\r\n\tmargin-left: -50px;\r\n\tposition: relative;\r\n}\r\n.gift-table .gift-item {\r\n\theight: 22px;\r\n\tpadding-left: 50px;\r\n\toverflow: hidden;\r\n}\r\n.item-meet .gift-table .gift-item {\r\n\theight: 32px;\r\n}\r\n.gift-table span {\r\n\tfloat: left;\r\n\toverflow: hidden;\r\n}\r\n.gift-table .gift-name {\r\n\twidth: 639px;\r\n}\r\n.gift-table .gift-action {\r\n\twidth: 99px;\r\n}\r\n.gift-table .gift-inventory, .gift-table .gift-quantity {\r\n\twidth: 100px;\r\n}\r\n.gift-table .gift-inventory, .gift-table .gift-action {\r\n\ttext-align: center;\r\n}\r\n#c-tabs .cm,#c-tabs .cmt,#c-tabs .cmc {\r\n\toverflow: hidden;\r\n}\r\n#c-tabs .m {\r\n\tmargin-bottom: 0;\r\n}\r\n#c-tabs .plist {\r\n\tpadding-top: 29px;\r\n\tposition: relative;\r\n}\r\n#c-tabs .plist .arrow-l,#c-tabs .plist .arrow-r{top:50%;}\r\n#c-tabs .cmt {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tz-index: 1;\r\n\t/*width: 110px;*/\r\n\theight: 30px;\r\n}\r\n#c-tabs .cmt h3,#c-tabs .cmt i {\r\n\tcursor: pointer;\r\n}\r\n#c-tabs .cmt h3 {\r\n\theight: 30px;\r\n\tpadding:0 22px;\r\n\tline-height: 30px;\r\n\tfont-size: 12px;\r\n\ttext-align: center;\r\n\tcolor:#e4393c;\r\n\tborder:1px solid #ddd;\r\n\tborder-bottom:none;\r\n\tbackground:#fff;\r\n\t_float:left;\r\n}\r\n#c-tabs .cmt i {\r\n\tdisplay:none;\r\n\twidth: 20px;\r\n\theight: 30px;\r\n\tfloat: left;\r\n}\r\n#c-tabs .fore1 .cmt {\r\n\t/*width: 230px*/\r\n}\r\n#c-tabs .fore2 .cmt {\r\n\tleft: 236px;\r\n}\r\n#c-tabs .cmc {\r\n\tdisplay: none;\r\n\tclear: both;\r\n\tpadding: 10px 55px;\r\n\tborder: 1px solid #ddd;\r\n}\r\n#c-tabs .curr .cmc {\r\n\tdisplay: block;\r\n}\r\n#c-tabs .curr .cmt h3 {\r\n\tbackground-position: 100% -30px;\r\n}\r\n#c-tabs .curr .cmt i {\r\n\tbackground-position: 0 -90px;\r\n}\r\n#c-tabs .cmc ul {\r\n\toverflow: hidden;\r\n\theight: 235px;\r\n}\r\n#c-tabs .cmc li {\r\n\tfloat: left;\r\n\twidth: 130px;\r\n\tpadding: 0 8px;\r\n}\r\n#c-tabs .p-img {\r\n\twidth: 130px;\r\n\theight: 130px;\r\n\toverflow: hidden;\r\n\ttext-align: center;\r\n}\r\n#c-tabs .p-name {\r\n\theight: 48px;\r\n\tline-height: 16px;\r\n}\r\n#c-tabs .p-name a,#c-tabs .cmc .p-name a:visited{\r\n\tcolor: #666;\r\n}\r\n#c-tabs .cmc .p-name a:hover{\r\n\tcolor:#c00;\r\n}\r\n#c-tabs .p-price {\r\n\theight: 26px;\r\n\tcolor: #e4393c;\r\n\tfont-family: Verdana,Arial;\r\n\ttext-align: center;\r\n}\r\n#c-tabs .p-btn .btn {\r\n\twidth: 89px;\r\n\tmargin: 0 auto;\r\n\tpadding-right: 5px;\r\n\tfloat: none;\r\n\theight:21px;\r\n\tline-height:21px;\r\n\ttext-align:center;\r\n\tbackground:url(../images/btn-enter.png?v=2) no-repeat;\r\n}\r\n#c-tabs .p-btn .btn:hover{\r\n\tbackground-position:0 -21px;\r\n\tbox-shadow:0 1px 1px #edecec;\r\n}\r\n#c-tabs .p-btn .btn-icon {\r\n\twidth: 16px;\r\n\theight: 21px;\r\n\ttop: 0;\r\n\tleft: 7px;\r\n\tbackground: url(../images/icon-add-cart.png) no-repeat;\r\n\tdisplay:none;\r\n}\r\n#c-tabs .p-btn .btn-text {\r\n\tpadding:0;\r\n\tdisplay:block;\r\n\twidth:89px;\r\n\ttext-align:center;\r\n\tbackground:none;\r\n\r\n}\r\n#c-tabs .p-btn a:hover {\r\n\tcolor: #333;\r\n}\r\n#some-buy {\r\n\tposition: relative;\r\n\twidth: 878px;\r\n\theight: 245px;\r\n}\r\n#recommend-left,#recommend-rigth {\r\n\tposition: absolute;\r\n\ttop: 112px;\r\n\twidth: 14px;\r\n\theight: 36px;\r\n\tbackground: url(../images/left-2013.png) no-repeat;\r\n\tcursor: pointer;\r\n\tmargin-right:20px;\r\n}\r\n#recommend-left {\r\n\tleft: 20px;\r\n}\r\n#recommend-rigth {\r\n\tright: 20px;\r\n\tbackground: url(../images/right-2013.png) no-repeat;\r\n\tmargin-right:0;\r\n\tmargin-left:20px;\r\n}\r\n#cart-feedback {\r\n\tline-height: 20px;\r\n\ttext-align: right;\r\n}\r\n#cart-feedback a{\r\n\tposition:relative;z-index:2;\r\n}\r\n/* yb*/\r\n\t.feature-service .tab li {\r\n\tcursor: pointer;\r\n}\r\n.feature-service .tab li.curr {\r\n\tcursor: default;\r\n}\r\n.feature-service h3 {\r\n\tpadding-bottom: 5px;\r\n}\r\n.feature-service .tab {\r\n\tpadding-left: 5px;\r\n\tborder-bottom: 2px solid #ffccaa;\r\n\tz-index: 2;\r\n}\r\n.feature-service .tab li {\r\n\tfloat: left;\r\n\tbackground: url('http: //misc.360buyimg.com/jd2008/skin/df/i/tabindex.png') 0 -28px;\r\n\tline-height: 29px;\r\n\tmargin-right: 3px;\r\n\ttext-align: center;\r\n\theight: 27px;\r\n\tpadding: 0 10px;\r\n\tposition: relative;\r\n\toverflow: hidden;\r\n}\r\n.feature-service .tab li s,.feature-service .tab li b {\r\n\twidth: 3px;\r\n\theight: 27px;\r\n\tbackground: url('http: //misc.360buyimg.com/jd2008/skin/df/i/tabindex.png');\r\n\tposition: absolute;\r\n\ttop: 0;\r\n}\r\n.feature-service .tab li s {\r\n\tleft: 0;\r\n}\r\n.feature-service .tab li b {\r\n\tright: 0;\r\n\tbackground-position: -7px 0;\r\n}\r\n.feature-service .tab li.curr {\r\n\tbackground-position: 0 -85px;\r\n}\r\n.feature-service .tab li.curr s {\r\n\tbackground-position: 0 -57px;\r\n}\r\n.feature-service .tab li.curr b {\r\n\tbackground-position: -7px -57px;\r\n}\r\n.feature-service .tab li.curr, .feature-service .tab li.curr a: link,.feature-service .tab li.curr a:visited {\r\n\tcolor: #ff6600;\r\n\tfont-weight: bold;\r\n}\r\n.feature-service .tab li a: link,.tab li a:visited {\r\n\tcolor: #333333;\r\n}\r\n.f-sercvice-list .item {\r\n\tfloat: left;\r\n}\r\n.feature-service .tabcon {\r\n\tpadding: 10px;\r\n\tborder: 1px solid #ccc;\r\n\tborder-top: 0;\r\n}\r\n.f-sercvice-list {\r\n\tpadding: 4px 0;\r\n\toverflow: hidden;\r\n}\r\n.f-sercvice-list,.f-sercvice-list dd a {\r\n\tcolor: #005ea7 }\r\n.f-sercvice-list,.f-sercvice-list dd a:hover {\r\n\ttext-decoration: none;\r\n}\r\n.f-sercvice-list dt {\r\n\twidth: 180px;\r\n\theight: 24px;\r\n\tline-height: 24px;\r\n\toverflow: hidden;\r\n}\r\n#yb_con .feature-service{padding:10px 0;}\r\n#yb_con .f-sercvice-list dt{width:auto;color: #333;}\r\n#yb_con .f-sercvice-list .p-bfc{width: 420px;}\r\n\r\n#yb_con .f-sercvice-list,\r\n#yb_con .f-sercvice-list dd a{\r\n\tcolor: #333;\r\n}\r\n#yb_con .f-sercvice-list dd a{\r\n\tpadding: 2px 5px 2px 25px;\r\n/*\tdisplay:block;*/\r\n\twhite-space:nowrap;\r\n\r\n\tpadding-bottom:1px\\9;*padding-bottom:1px;\r\n}\r\n#yb_con .f-sercvice-list dd a:hover,\r\n#yb_con .f-sercvice-list dd .actived a {\r\n\t\tborder-width:2px;\r\n\t\tpadding:1px 4px 1px 24px;\r\n\t\tpadding-bottom:0px\\9;*padding-bottom:0px;\r\n}\r\n#yb_con .feature-service .yb-result .dt{width: 50px;color: #c00;}\r\n#yb_con .yb-btn{padding-left: 60px;}\r\n#yb_con .service-type{overflow:hidden;*zoom:1;}\r\n\r\n#yb_con .service-type:after{content:\".\";display:block;height:0;clear:both;visibility:hidden;}#yb_con .service-type{display:inline-table}*html #yb_con .service-type{height:1%}#yb_con .service-type{display:block}*+html #yb_con .service-type{min-height:1%}\r\n\r\n#yb_con .feature-service .yb-result{padding-top: 0;clear:both;}\r\n#yb_con .f-sercvice-list dd .item{height:24px;}\r\n.f-sercvice-list dd .item {\r\n\tmargin-bottom: 7px;\r\n\tmargin-right: 7px;\r\n\tposition: relative;\r\n}\r\n.f-sercvice-list dd a {\r\n\tpadding: 2px 6px;\r\n\tborder: 1px solid #ccc;\r\n\tdisplay: inline-block;\r\n\t*display:inline;\r\n\t*zoom: 1;\r\n}\r\n.yb-tips {\r\n\tpadding-top: 5px;\r\n\tcolor: #999;\r\n}\r\n.f-sercvice-list dd a:hover {\r\n\tborder-color: #cc0000;\r\n}\r\n.f-sercvice-list dd .actived a {\r\n\tpadding: 1px 5px;\r\n\tborder: 2px solid #c00;\r\n}\r\n.f-sercvice-list dd .actived a:hover {\r\n\ttext-decoration: none;\r\n}\r\n.f-sercvice-list b {\r\n\tdisplay: none;\r\n\tposition: absolute;\r\n\tbottom: 0;\r\n\tright: 0;\r\n\twidth: 12px;\r\n\theight: 12px;\r\n\toverflow: hidden;\r\n\tbackground: url('http://misc.360buyimg.com/product/skin/2012/i/newicon20121009.png') no-repeat -202px -224px;\r\n}\r\n.f-sercvice-list i{\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tleft: 4px;\r\n\ttop: 4px;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tbackground-image: url('http://misc.360buyimg.com/purchase/skin/i/yb-icons.jpg');\r\n}\r\n.yb-ico-t2,\r\n.yb-ico-t3,\r\n.yb-ico-t4 { background-position:0 0;}\r\n\r\n.yb-ico-t6,\r\n.yb-ico-t7 { background-position:-54px 0;}\r\n\r\n.yb-ico-t9 { background-position:-18px 0;}\r\n\r\n.f-sercvice-list .actived b {\r\n\tdisplay: block;\r\n}\r\n.feature-service .yb-result {\r\n\tpadding: 5px 0 0 10px;\r\n}\r\n.feature-service .yb-result .dd {\r\n\tcolor: #c00;\r\n}\r\n.feature-service .yb-result .p-bfc {\r\n\toverflow: hidden;\r\n}\r\n.yb-btn {\r\n\tpadding: 10px 0 0 200px;\r\n}\r\n.yb-btn a {\r\n\tdisplay: inline-block;\r\n\t*zoom: 1;\r\n\tmargin-right: 10px;\r\n\twidth: 57px;\r\n\theight: 30px;\r\n\tline-height: 30px;\r\n\tbackground: url('http://misc.360buyimg.com/product/skin/2012/i/yb_btn.png') 0 0 no-repeat;\r\n\tfont-size: 14px;\r\n\ttext-align: center;\r\n}\r\n.yb-btn a,.yb-btn a:hover,.yb-btn a:visited {\r\n\tcolor: #666;\r\n\ttext-decoration: none;\r\n}\r\n.yb-btn .yb-btn-cancel {\r\n\tbackground-position: -67px 0;\r\n}\r\n.promisejsd{\r\n    padding:1px 27px;\r\n    background: url('../images/promise-ico.png') 0 0 no-repeat;\r\n    margin-left:1px;\r\n}\r\n.promisejsd:hover{\r\n    background: url('../images/promise-ico.png') -100px 0 no-repeat;\r\n    text-decoration: none;\r\n}\r\n.promisexsd{\r\n    padding:1px 33px;\r\n    background: url('../images/promise-ico.png') 0 -20px no-repeat;\r\n    margin-left:1px;\r\n}\r\n.promisexsd:hover{\r\n    background: url('../images/promise-ico.png') -100px -20px no-repeat;\r\n    text-decoration: none;\r\n}\r\n.promisesg{\r\n    padding:1px 21px;\r\n    background: url('../images/promise-ico-sg.png') no-repeat;\r\n    margin-left:1px;\r\n}\r\n.promisesg:hover{\r\n    background: url('../images/promise-ico-sg.png') 0 -18px  no-repeat;\r\n    text-decoration: none;\r\n}\r\n.promisejdint{\r\n\tdisplay:inline-block;*display:inline;*zoom:1;\r\n    width:68px;\r\n\theight:16px;\r\n\tvertical-align:middle;\r\n\toverflow:hidden;\r\n    background: url('../images/promise-ico-20140416.png') 0 -40px no-repeat;\r\n    margin-right:3px;\r\n}\r\n.promisejdint:hover{\r\n    background-position:-100px -40px;\r\n    text-decoration: none;\r\n}\r\n/*赠品无货样式*/\r\n#product-list .no-stock{color:#e4393c;}\r\n.gift-back{line-height:0px;position:relative;top:-10px;display:block;}\r\n.gift-table .gift-quantity{text-align:center;}\r\n\r\n\r\n/*加价购模块*/\r\n.plus-buy{\r\n    position:relative;\r\n    width:990px;\r\n}\r\n/*左右箭头*/\r\n.arrow-wrap-l,.arrow-wrap-r{\r\n    position:absolute;\r\n    top:1px;\r\n    border-top:1px solid #fff;\r\n    border-bottom:1px solid #ddd;\r\n    background:#fff;\r\n    width:18px;height:27px;\r\n}\r\n.arrow-wrap-r{\r\n    right:0;\r\n}\r\n.arrow-wrap-l .disabled,.arrow-wrap-r .disabled{\r\n    background:#fff;\r\n    cursor:default;\r\n}\r\n.arrow-wrap-l .disabled i,.arrow-wrap-r .disabled i{\r\n    background-image:url('../images/arrow-s-disabled.png');\r\n}\r\n.arrow-left{\r\n    left:0;\r\n    margin:4px 4px 0 0;\r\n}\r\n.arrow-right{\r\n    margin:4px 0 0 4px;\r\n    right:0;\r\n}\r\n.arrow-left,.arrow-right{\r\n    position:absolute;\r\n    top:-2px;\r\n    width:14px;height:21px;\r\n    border:1px solid #ddd;\r\n    background:#f1f1f1;\r\n    border-radius:3px;\r\n    cursor:pointer;\r\n}\r\n.arrow-left:hover,.arrow-right:hover{background:#ddd;border-color:#ccc;}\r\n.arrow-left i,.arrow-right i{\r\n    position:absolute;\r\n    left:5px;top:7px;overflow:hidden;\r\n    width:4px;height:7px;\r\n    background:url('../images/arrow-s.png');\r\n}\r\n.arrow-right i{\r\n    background-position:-3px 0;\r\n}\r\n.tab-nav{\r\n    position:absolute;\r\n    height:30px;width:100%;\r\n    z-index:1;left:0;top:0;\r\n    overflow:hidden;\r\n}\r\n.tab-nav ul{margin-left:19px;position:relative;width:13660px;top:4px;}\r\n.tab-nav li{float:left;border:1px solid #ddd;height:24px;margin-right:5px;cursor:pointer;}\r\n.tab-nav li.curr{height:27px;position:relative;top:-3px;}\r\n.tab-nav li h3{font-weight:normal;font-size:12px;height:18px;line-height:18px;padding:5px 22px;*width:159px;*white-space:nowrap;*overflow:hidden;text-align:center;}\r\n.tab-nav li.curr h3{font-weight:bold;color:#e4393c;background:#fff;}\r\n/*子tab样式*/\r\n.nav-inner{\r\n    position:relative;\r\n    left:43px;width:900px;\r\n}\r\n.nav-inner ul{\r\n    overflow:hidden;\r\n    margin:10px 0 0 0;\r\n    padding-bottom:7px;\r\n    border-bottom:2px solid #aaa;\r\n}\r\n.nav-inner ul li{\r\n    float:left;\r\n    color:#999;\r\n    width:170px;\r\n    text-align:center;\r\n    cursor:default;\r\n}\r\n.nav-inner ul li.curr{color:#333;}\r\n.nav-inner .arrow-wrap-l{\r\n    left:-30px;\r\n}\r\n.nav-inner .arrow-wrap-r{\r\n    right:-30px;\r\n}\r\n.nav-inner .arrow-wrap-l,.nav-inner .arrow-wrap-r{\r\n    top:-7px;\r\n    display:block!important;\r\n    border:0;\r\n}\r\n.nav-inner .arrow-wrap-l .arrow-left,.nav-inner .arrow-wrap-r .arrow-right{\r\n    height:29px;\r\n}\r\n.nav-inner .arrow-wrap-l .arrow-left i,.nav-inner .arrow-wrap-r .arrow-right i{\r\n    top:11px;\r\n}\r\n.tab-arrow{\r\n    position:absolute;\r\n    z-index:1;top:18px;left:0;height:7px;width:170px;\r\n    border-bottom:2px solid #E4393C;overflow:hidden;\r\n    text-align:center;\r\n}\r\n.tab-arrow b{\r\n    display:inline-block;\r\n    margin-top:-8px;width:0;height:0;\r\n    border-style:dashed dashed solid dashed;\r\n    border-width:10px;\r\n    border-color:transparent transparent #E4393C transparent;\r\n    overflow:hidden;zoom:1;font-size:0;\r\n}\r\n\r\n.plus-buy .m{overflow:visible;float:left;margin-right:5px;}\r\n.plus-buy .curr .mc{display:block;}\r\n.plus-buy .mc{\r\n    display:none;\r\n    border:1px solid #ddd;\r\n    /*position:absolute;*/\r\n    margin-top:19px;\r\n    overflow:hidden;\r\n    left:0;top:29px;width:988px;\r\n    background:#fff;\r\n}\r\n.plus-buy .fore1 .mc{margin-top:29px;}\r\n.plus-buy .mc .tips{\r\n    margin:10px 108px;\r\n    line-height:200%;\r\n    position:relative;\r\n}\r\n.plus-buy .mc .tips em{\r\n    display:block;\r\n    position:absolute;\r\n    left:-44px;top:2px;\r\n    background:url('../images/icon-tag.png');\r\n    *background-position:0 1px;\r\n    width:34px;height:23px;\r\n    font-size:0;color:transparent;text-indent:-99px;\r\n}\r\n.plus-buy .mc .tips em.coudan{\r\n    background-position:0 -23px;\r\n    *background-position:0 -22px;\r\n}\r\n.plus-buy .mc .tips .p-price{\r\n    color:#e4393c;\r\n    font-weight:bold;\r\n    margin:0 6px;\r\n    font-family:\"Verdana\";\r\n}\r\n.plus-buy .mc .tips a:link,.plus-buy .mc .tips a:visited{\r\n    color:#005ea7;\r\n}\r\n.plus-buy .progress{\r\n    width:100px;height:10px;\r\n    border:1px solid #b8daa1;\r\n    display:inline-block;\r\n    *display:none;\r\n    position:relative;\r\n    top:2px;\r\n    border-radius:5px;\r\n    padding-top:0;\r\n    margin:0 3px;\r\n}\r\n.plus-buy .progress .passed{\r\n    position:absolute;\r\n    top:1px;\r\n    width:0%;height:8px;\r\n    background:#6cb247;\r\n    border-radius:5px;\r\n}\r\n/*加价购左右滚动组件*/\r\n.plus-buy .mc .slide-wrap{\r\n    margin:10px 60px 10px 60px;\r\n    width:870px;height:90px;\r\n    overflow:hidden;\r\n}\r\n.plus-buy .mc .slide-list{\r\n    overflow:hidden;\r\n    height:247px;\r\n    /*margin-left:-870px;*/\r\n    width:1740px;\r\n}\r\n.plus-buy .plist{\r\n    float:left;\r\n    width:870px;height:247px;\r\n    overflow:hidden;\r\n}\r\n.plus-buy .p-item{\r\n    float:left;\r\n    width:288px;height:82px;\r\n    overflow:hidden;\r\n}\r\n.plus-buy .p-img{\r\n    margin:4px;\r\n    float:left;\r\n}\r\n.plus-buy .p-img img{\r\n    border:1px solid #ccc;\r\n    width:50px;height:50px;\r\n}\r\n.plus-buy .p-name{\r\n    margin:7px 0 0 64px;\r\n    width:200px;height:18px;\r\n}\r\n.plus-buy .p-item .p-name,.plus-buy .p-item .p-price,.plus-buy .p-item .p-addcart{\r\n    margin-left:64px;\r\n}\r\n.plus-buy .p-item .p-price{\r\n    padding:5px 0;\r\n    color:#e4393c;\r\n    font-weight:bold;font-family:Verdana,Arial;\r\n}\r\n.plus-buy .p-item .p-price .price{\r\n\tline-height: 22px;\r\n}\r\n.plus-buy .p-addcart a{\r\n\tdisplay: inline-block;\r\n\tline-height: 16px;\r\n    border:1px solid #ddd;\r\n    background:#f5f5f5;\r\n    padding:2px 15px;\r\n    border-radius:3px;\r\n}\r\n.plus-buy .p-addcart a:link,.plus-buy .p-addcart a:visited,.plus-buy .p-addcart a:hover{\r\n    color:#333;\r\n    text-decoration:none;\r\n}\r\n.plus-buy .p-addcart .dis-btn{\r\n    background:#fff;\r\n    color:#ccc;\r\n    cursor: not-allowed;\r\n}\r\n.plus-buy .p-addcart .dis-btn:link,.plus-buy .p-addcart .dis-btn:visited,.plus-buy .p-addcart .dis-btn:hover{\r\n    color:#ccc;\r\n}\r\n.slide-outer{\r\n    position:relative;\r\n}\r\n.arrow-l,.arrow-r{\r\n\tdisplay:block;\r\n    position:absolute;\r\n    top:24px;\r\n    width:14px;\r\n    height:36px;\r\n    background:url('../images/arrow.png') no-repeat;\r\n    cursor:pointer;\r\n    margin-right:20px;\r\n\toverflow:hidden;\r\n}\r\n.arrow-l{\r\n    left:20px;\r\n    background-position:0 0;\r\n}\r\n.arrow-l:hover{background-position:0 -50px;}\r\n.arrow-l.disabled{background-position:0 -98px;cursor:default;}\r\n.arrow-r{\r\n    background-position:-16px 0;\r\n    right:20px;\r\n    margin-right:0;\r\n    margin-left:20px;\r\n}\r\n.arrow-r:hover{background-position:-16px -50px;}\r\n.arrow-r.disabled{background-position:-16px -98px;cursor:default;}\r\n\r\n/*tips*/\r\n.tips-i{\r\n    display: inline-block;\r\n    height:18px;\r\n    width: 18px;\r\n    /*vertical-align: middle;*/\r\n    background: url('http://misc.360buyimg.com/purchase/trade/skin/i/tips-ico.png') no-repeat 0 center;\r\n}\r\n.tips-i:hover{\r\n    text-decoration: none;\r\n}\r\n.cell .tips-i{\r\n\tvertical-align: middle;\r\n\tmargin:0  0px 2px 5px;\r\n}\r\n\r\n\r\n.ib-msg{\r\n\tdisplay: inline-block;\r\n\tvertical-align: middle;\r\n\tborder:1px solid #d0e4c2;\r\n\tcolor:#6cb247;\r\n\theight:20px;\r\n\tline-height: 20px;\r\n\tpadding:0 10px;\r\n\tmargin-left: 5px;\r\n\tfont-weight: normal;\r\n}\r\n.ib-msg .arrow{\r\n\tbackground: url('../images/ib-msg-arrow.png') no-repeat 0 0;\r\n\tdisplay: inline-block;\r\n\theight: 12px;\r\n\twidth:6px;\r\n\tmargin:4px 0 0 -16px;\r\n    float: left;\r\n}\r\n\r\n/*优惠购*/\r\n.cart-tbody .col-2{\r\n\tline-height: 26px;\r\n}\r\n.cart-tbody .col-2 a{\r\n\tline-height: 26px;\r\n}\r\n.modify-pre{\r\n\tposition: relative;\r\n\t*z-index:2;\r\n}\r\n.modify-pre .dialog{\r\n\tright: 0;\r\n\ttop: 28px;\r\n}\r\n.modify-pre .dialog .dialog-inner{\r\n\twidth: 310px;\r\n\tborder:0;\r\n}\r\n.modify-pre .dialog .dialog-arrow{\r\n\tposition: absolute;\r\n\tright: 42px;\r\n\ttop: -7px;\r\n\tz-index: 1002;\r\n\theight: 8px;\r\n\twidth: 16px;\r\n\toverflow:hidden;\r\n\tbackground: url('../images/dialog/dialog-arrow.png') no-repeat 0 0;\r\n}\r\n.modify-pre .dialog .dialog-close{\r\n\tposition: absolute;\r\n\tright: 5px;\r\n\ttop: 0;\r\n\tz-index: 1002;\r\n\theight: 17px;\r\n\twidth: 17px;\r\n\tcursor:pointer;\r\n\tbackground: url('../images/dialog/dialog-close.png') no-repeat 0 0;\r\n}\r\n.modify-pre .cho-favor{\r\n\tcolor:#333;\r\n\ttext-align: left;\r\n\tpadding:13px 15px;\r\n}\r\n.modify-pre .cho-favor li{\r\n\theight: 36px;\r\n\tline-height: 36px;\r\n}\r\n.modify-pre .cho-favor li label{\r\n\tdisplay: inline-block;\r\n\twidth: 60px;\r\n\ttext-align: right;\r\n}\r\n.modify-pre .cho-favor .sel{\r\n\twidth: 200px;\r\n}\r\n.modify-pre .cho-favor .btn-submit{\r\n\tdisplay: inline-block;\r\n\theight: 24px;\r\n\tline-height: 24px;\r\n\tpadding: 0 10px;\r\n\tbackground-color: #e74649;\r\n\tbackground-image: -moz-linear-gradient(top, #e74649, #df3134); /* Firefox */\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e74649), color-stop(1, #df3134)); /* Saf4+, Chrome */\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#e74649, endColorstr=#df3134, GradientType='0'); /* IE*/\r\n\tborder:1px solid #e74649;\r\n\tborder-radius: 3px;\r\n\tcolor:#fff;\r\n\ttext-decoration: none;\r\n\tmargin-right: 5px;\r\n}\r\n.modify-pre .cho-favor .btn-submit:hover{\r\n\tbackground-image: -moz-linear-gradient(top, #df3134, #e74649); /* Firefox */\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #df3134), color-stop(1, #e74649)); /* Saf4+, Chrome */\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#df3134, endColorstr=#e74649, GradientType='0'); /* IE*/\r\n\tcolor:#fff;\r\n}\r\n.modify-pre .cho-favor .btn-submit:link, .modify-pre .cho-favor .btn-submit:visited{color:#fff;}\r\n.modify-pre .cho-favor .btn-cancel{\r\n\tdisplay: inline-block;\r\n\theight: 24px;\r\n\tline-height: 24px;\r\n\tpadding: 0 10px;\r\n\tbackground-color: #f7f7f7;\r\n\tbackground-image: -moz-linear-gradient(top, #f7f7f7, #f3f3f3); /* Firefox */\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f7f7f7), color-stop(1, #f3f3f3)); /* Saf4+, Chrome */\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#f7f7f7, endColorstr=#f3f3f3, GradientType='0'); /* IE*/\r\n\tborder:1px solid #ccc;\r\n\tborder-radius: 3px;\r\n\tcolor:#333;\r\n\ttext-decoration: none;\r\n}\r\n.modify-pre .cho-favor .btn-cancel:hover{\r\n\tbackground-image: -moz-linear-gradient(top, #f0f0f0, #f9f9f9); /* Firefox */\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f0f0f0), color-stop(1, #f9f9f9)); /* Saf4+, Chrome */\r\n\tfilter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#f0f0f0, endColorstr=#f9f9f9, GradientType='0'); /* IE*/\r\n\tcolor:#333;\r\n}\r\n.favor-moved{\r\n\theight: 32px;\r\n\tline-height: 32px;\r\n\tbackground-color: #fff;\r\n\tborder-bottom: 1px solid #ddd;\r\n\tcolor:#000;\r\n\tpadding: 0 15px;\r\n}\r\n.favor-moved i{\r\n\tdisplay: inline-block;\r\n\theight: 32px;\r\n\tline-height: 32px;\r\n\twidth: 24px;\r\n\tvertical-align: middle;\r\n\tbackground: url('../images/favor-icon.png') 0 5px no-repeat;\r\n\tmargin-right: 6px;\r\n}\r\n.favor-moved .fc-o{\r\n\tcolor:#ff6600;\r\n}\r\n/*20131111*/\r\n.cart-tbody .p-promotion .beans-info{\r\n\tborder:1px solid #ebf7e4;\r\n\tpadding:4px;\r\n\ttext-align:center;\r\n\tline-height:20px;\r\n\tcolor:#7abd54;\r\n\tbackground:#fff;\r\n\tmargin:0 5px;\r\n}\r\n.cart-tbody .p-promotion .beans-info a{\r\n\tcolor:#005ea7;\r\n}\r\n.cart-tbody .p-promotion .beans-info span.gray{\r\n\tcolor:#999;\r\n\tdisplay:inline;\r\n\theight: 20px;\r\n\tmargin:0;\r\n\tborder-radius: none;\r\n\t-moz-border-radius: none;\r\n\t-webkit-border-radius: none;\r\n\toverflow: hidden;\r\n\tline-height: 20px;\r\n}\r\n#tips-i-Jtip .Jtips-con{padding:7px 10px;}\r\n/*giftshop 20131212*/\r\n.gift-info-color{width:145px;background:#fff;border:1px solid #eee;border-radius:2px;padding-left:10px;}\r\n.cart-tbody .p-name .gift-info-color a{color:#000;}\r\n\r\n.promise411 .gift-info-color{width:auto;background:#f6f6f6;border:1px solid #ddd;border-radius:0;padding:0px 4px;color:#000;white-space:nowrap;overflow:hidden;*display:inline-block;*padding:0px 4px 1px;_padding:3px 4px 0;margin-top:-1px;}\r\n.cart-tbody .p-name a.gift-info-color:link, .cart-tbody .p-name a.gift-info-color:visited{color:#000;}\r\n.promise411 .gift-info-color img{ vertical-align:top;margin:2px 0 0;_margin:0 0 2px;}\r\n.promise411 .gift-info-color:hover{background:#fff; text-decoration:none;}\r\n/*20140106 giveaway*/\r\n.give-box{height:325px;}\r\n.give-box .gift-products{height:270px;overflow-y:auto;padding:0;border-bottom:1px solid #ccc;}\r\n.give-box .gift-item{border-top:1px dashed #ccc;margin-top:-1px;}\r\n.give-box .radio-checkbox{float:left;width:25px;margin-left:10px;padding:20px 0 0;height:32px;position:relative; }\r\n\r\n.give-box .radio-checkbox span.m-check{position:absolute;z-index:1;width:25px;height:52px;left:0;top:0;display:none; background:url(http://misc.360buyimg.com/lib/img/e/blank.gif) no-repeat;}\r\n.give-box .gift-check-tip{position:absolute;left:5px;top:45px;width:180px;height:18px;line-height:18px;background:#fffdee;border:1px solid #edd28b;color:#ff6600;padding:6px 15px;box-shadow:0 0 2px #ddd;}\r\n.give-box .gift-check-tip b{position:absolute;right:10px;font-weight:normal;width:10px;height:18px;cursor:pointer;}\r\n.give-box .p-price{float:left;width:72px;color:#e4393c;line-height:52px;}\r\n.give-box .p-name{width:190px;}\r\n.give-box .p-num{float:left;line-height:52px;}\r\n.give-box .gift-item-selected{background:#fffdee;}\r\n.give-box .p-btns{width:110px; margin:20px auto;}\r\n.give-box .btn{margin-right:10px;}\r\n.p-gift-box{position:relative;z-index:1;overflow:visible;}\r\n.p-gift-box .mb{position:relative;border-top:1px solid #ccc;height:18px; text-align:center; background:#fffdee;overflow:visible;}\r\n.p-gift-box .p-gift-extra{position:relative;display:inline-block;*display:inline;+zoom:1; width:136px;height:16px;line-height:16px;border:solid #ccc;border-width:0 1px 1px;text-align:center;background:#f5fff5;cursor:pointer;margin-top:-1px;}\r\n.p-gift-box .p-gift-extra b{display:block;width:7px; height:4px;background:url('../images/gift-arrow.png') no-repeat 0 0;position:absolute;right:10px;top:6px;overflow:hidden;}\r\n.p-gift-box .on b{background-position:0 -6px;}\r\n.p-gift-box .p-gift{border:0;border-top:1px dashed #ccc; margin-top:-1px;overflow:hidden;}\r\n\r\n.cart-hd{position:relative;}\r\n.cart-announce{position:absolute;right:0;bottom:0;width:112px;height:55px;background:url('../images/announcement.png') no-repeat;}\r\n.cart-announce a{display:block;width:112px;height:55px;}\r\n.cart-announce a:hover{ text-decoration:none;}\r\n\r\n.combine-btns{display:none}\r\n\r\n.combine-btn{float:right;display:block;width:140px;height:48px;line-height:48px;border:1px solid #ddd;border-width:0 0 1px 1px;font-size:16px;font-family:'\\5FAE\\8F6F\\96C5\\9ED1';color:#ccc;text-align:center;background:#fff;}\r\n.combine-btn:hover{color:#ccc;text-decoration:none;}\r\n\r\n.checkout-jdInt,.checkout-jd{position:relative;float:right;display:block;width:144px;height:36px;line-height:36px;margin-right:-2px; background:#e54144;font-size:16px;font-family:'\\5FAE\\8F6F\\96C5\\9ED1';color:#fff;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius: 2px; text-align:center;}\r\n.checkout-jdInt{margin-right:10px;}\r\n.checkout-jdInt:hover,.checkout-jd:hover{color:#fff;}\r\n.checkout-jdInt b,.checkout-jd b{position:absolute;width:144px;height:36px;top:0;left:0;background:url(i/btn-check-20140610.png) -122px 0;}\r\n.checkout-jdInt:hover b{background-position:-122px -40px;}\r\n.checkout-jd{width:122px;}\r\n.checkout-jd b{width:122px; background-position:0 0;}\r\n.checkout-jd:hover b{background-position:0 -40px;}\r\n\r\n\r\n\r\n.ftx01,.ftx-01{color:#e4393c}.ftx02,.ftx-02{color:#71b247}.ftx03,.ftx-03{color:#999}.ftx04,.ftx-04{color:#ff8a15}.ftx05,.ftx-05{color:#005ea7}.ftx06,.ftx-06{color:#666}.font-price{font-family:verdana}#similarcon{padding:0}.similar-box{width:970px}.similar-box .similar-lists{position:relative;padding:30px 70px 0;overflow:hidden}.similar-box .similar-lists .arrow-l,.similar-box .similar-lists .arrow-r{top:50%;margin-top:-18px;z-index:1}.similar-box .similar-lists ul{width:880px}.similar-box .similar-lists .con{overflow:hidden}.similar-box .similar-lists li{float:left;width:220px}.similar-box .similar-lists .item{width:170px;margin-bottom:30px;line-height:22px;padding-right:50px}.similar-box .similar-lists .item .p-img{margin:0 auto}.similar-box .similar-lists .item .p-name{height:1.5em;line-height:1.5em;overflow:hidden}.similar-box .similar-lists .item .extra a{color:#005ea7}.similar-box .similar-lists .item .pt1{display:inline-block;*display:inline;*zoom:1;background:#e4393c;color:#fff;height:18px;line-height:18px;padding:0 3px}.similar-box .similar-lists .item .l-col{float:left;width:20px}.similar-box .similar-lists .item .r-col{float:left;width:150px}.similar-box .similar-lists .item .jdcheckbox{float:none;vertical-align:-2px;_vertical-align:-1px;margin:0 3px 0 0;padding:0}.similar-box .similar-total{background:#f7f7f7;padding:15px 20px;display:inline-block;display:block}.similar-box .similar-total:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .similar-box .similar-total{height:1%}*+html .similar-box .similar-total{min-height:1%}.similar-box .similar-total .total-lcol{float:left}.similar-box .similar-total .btn-buy{background-color:#df3134;background-image:-moz-linear-gradient(top, #df3134, #e74649);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #df3134), color-stop(1, #e74649));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#df3134', endColorstr='#e74649', GradientType='0');-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#df3134', endColorstr='#e74649');background-image:linear-gradient(to top, #df3134 0%, #e74649 100%);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;display:inline-block;*display:inline;*zoom:1;height:18px;line-height:18px;padding:6px 15px;color:#fff;font-size:14px;font-weight:bold;margin-right:20px}.similar-box .similar-total .btn-buy:hover{background-color:#eb3c3f;background-image:-moz-linear-gradient(top, #eb3c3f, #f05356);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #eb3c3f), color-stop(1, #f05356));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eb3c3f', endColorstr='#f05356', GradientType='0');-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eb3c3f', endColorstr='#f05356');background-image:linear-gradient(to top, #eb3c3f 0%, #f05356 100%)}.similar-box .similar-total .btn-buy:link,.similar-box .similar-total .btn-buy:visited{color:#fff;text-decoration:none}.similar-box .similar-total .total-rcol{float:right;*width:350px}.similar-box .similar-total .total-rcol .list{display:inline-block;display:block;text-align:left;margin-top:5px;line-height:20px}.similar-box .similar-total .total-rcol .list:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}* html .similar-box .similar-total .total-rcol .list{height:1%}*+html .similar-box .similar-total .total-rcol .list{min-height:1%}.similar-box .similar-total .total-rcol .list .list-left{float:left;width:180px;text-align:right;margin-right:20px}.similar-box .similar-total .total-rcol .list strong.num{font-size:18px}\r\n\r\n.cart-dibu {\r\n\tclear:both;\r\n\tposition:relative;\r\n}\r\n.cart-dibu .fdibu {\r\n\tposition:absolute;\r\n\ttop:-48px;\r\n\twidth:400px;\r\n\tline-height:48px;\r\n}\r\n.cart-dibu .fdibu span {\r\n\tfloat:left;\r\n\tmargin-left:20px;\r\n}\r\n.cart-dibu .fdibu b {\r\n\tdisplay:inline-block;\r\n\t*display:inline;\r\n\t*zoom:1;\r\n\tvertical-align:middle;\r\n\twidth:14px;\r\n\theight:14px;\r\n\tbackground:url(../images/control-icon-20140521.png) no-repeat;\r\n\tmargin-right:5px;\r\n}\r\n.cart-dibu .fdibu .delete b {\r\n\tbackground-position:0 0;\r\n}\r\n.cart-dibu .fdibu .pool b {\r\n\tbackground-position:0 -14px;\r\n}\r\n.cart-dibu .fdibu .shopping b {\r\n\tbackground-position:0 -28px;\r\n}\r\n.cart-dibu .jdradio,.cart-dibu .jdcheckbox {\r\n\tfloat:none;\r\n\tvertical-align:-2px;\r\n\t_vertical-align:-1px;\r\n\tmargin:0 3px 0 0;\r\n\tpadding:0;\r\n}\r\n.cart-dibu label {\r\n\tfloat:none;\r\n}\r\n.ui-ceilinglamp-current .fdibu {\r\n\ttop:0;\r\n}\r\n.cart-total-2014 {\r\n\tbackground-color:#f7f7f7;\r\n\tborder-top:1px solid #ddd;\r\n\theight:48px;\r\n\tline-height:48px;\r\n}\r\n.ui-ceilinglamp-current .cart-total-2014 {\r\n\tborder:1px solid #ddd;\r\n\tmargin:0 -1px;\r\n\tbox-shadow:0 -1px 8px rgba(0,1,1,0.3);\r\n}\r\n.cart-total-2014 a.btn:hover span {\r\n\tcolor:#333\r\n}\r\n.cart-total-2014 a.gray-btn .btn-icon {\r\n\theight:12px;\r\n\ttop:4px;\r\n\tbackground:url(../images/btn-storage-icon.png) no-repeat\r\n}\r\n.cart-total-2014 .cart-button {\r\n\tfloat:right;\r\n\tpadding:0;\r\n}\r\n.cart-total-2014 a.gray-btn .btn-text {\r\n\tpadding-left:32px\r\n}\r\n.cart-total-2014 a.btn:hover {\r\n\tbackground-position:100% -84px\r\n}\r\n.cart-total-2014 a.btn:hover .btn-text {\r\n\tbackground-position:0 -21px\r\n}\r\n.cart-total-2014 a.btn-storage .btn-icon {\r\n\twidth:19px;\r\n\tleft:7px;\r\n\tbackground-position:0 0\r\n}\r\n.cart-total-2014 a.btn-storage:hover .btn-icon {\r\n\tbackground-position:0 -12px\r\n}\r\n.cart-total-2014 a.btn-takeout .btn-icon {\r\n\twidth:15px;\r\n\tleft:9px;\r\n\tbackground-position:-20px 0\r\n}\r\n.cart-total-2014 a.btn-takeout:hover .btn-icon {\r\n\tbackground-position:-20px -12px\r\n}\r\n.cart-total-2014 .delivery {\r\n\twidth:106px;\r\n\theight:28px;\r\n\tborder:1px solid #edd28b;\r\n\tpadding-left:40px;\r\n\tcolor:#f60;\r\n\tline-height:28px;\r\n\tbackground:#fffdee url(../images/delivery-icon-1.gif) no-repeat 10px 6px\r\n}\r\n.cart-total-2014 .total {\r\n\tmargin-right:20px;\r\n}\r\n.cart-dibu .cart-button a.checkout,.cart-dibu .cart-button a.checkout-jd,.cart-dibu .cart-button a.checkout-jdInt {\r\n\tfloat:none;\r\n\theight:50px;\r\n\tline-height:50px;\r\n\ttop:-1px;\r\n\tfont-size: 18px;\r\n\tfont-weight: bold;\r\n\tbackground:url(../images/btn-check-20140627.png) no-repeat #e43f42;\r\n}\r\n\r\n.cart-dibu .cart-button a.checkout b,.cart-dibu .cart-button a.checkout-jd b,.cart-dibu .cart-button a.checkout-jdInt b {\r\n\tbackground:url(../images/btn-check-20140627.png) no-repeat;\r\n}\r\n.cart-dibu .cart-button a.checkout-jd,.cart-dibu .cart-button a.checkout-jd b{\r\n\tdisplay:inline-block;*display:inline;*zoom:1;\r\n\twidth:127px;\r\n\tbackground-position:-309px 0;\r\n}\r\n.cart-dibu .cart-button a.checkout-jdInt,.cart-dibu .cart-button a.checkout-jdInt b{\r\n\tdisplay:inline-block;*display:inline;*zoom:1;\r\n\tbackground-position:-140px 0;\r\n\twidth:164px;\r\n\tmargin-right:10px;\r\n}\r\n.cart-dibu .cart-button a.checkout:hover,.cart-dibu .cart-button a.checkout:hover b {\r\n\tbackground-position:0 -55px;\r\n}\r\n.cart-dibu .cart-button a.checkout-jd:hover,.cart-dibu .cart-button a.checkout-jd:hover b {\r\n\tbackground-position:-309px -55px;\r\n}\r\n.cart-dibu .cart-button a.checkout-jdInt:hover,.cart-dibu .cart-button a.checkout-jdInt:hover b {\r\n\tbackground-position:-140px -55px;\r\n}\r\n.cart-dibu .cart-button a.checkout-disabled,.cart-dibu .cart-button a.checkout-disabled b,.cart-dibu .cart-button a.checkout-disabled:hover b {\r\n\tbackground-position:0 -110px;\r\n\tbox-shadow:none;\r\n}\r\n.cart-total-2014 .total span {\r\n\tvertical-align:middle;\r\n\tcolor:#e4393c;\r\n\tfont-size:20px;\r\n\tfont-weight:400;\r\n\tfont-family:Verdana,Arial\r\n}\r\n\r\n\r\n.combine-box{position:relative;border:1px solid #d0e4c2;background:#fcfffa;margin:20px 0 0;}\r\n.combine-box .combine-arr{position:absolute;right:65px;top:-10px;width:18px;height:10px;background:url('../images/jdint-arr.png') no-repeat;}\r\n.combine-box .combine-lcol{float:left;position:relative;padding:20px;width:424px;border-right:1px solid #d0e4c2;}\r\n.combine-box .combine-rcol{float:left;position:relative;padding:20px;width:480px;}\r\n.combine-box .list{float:left;position:relative;padding:0 30px; text-align:right;}\r\n.combine-box .combine-lcol .list{width:248px;}\r\n.combine-box .combine-rcol .list{width:310px;}\r\n#combine-list-01,#combine-list-02{float:right;}\r\n.combine-box .list li{float:right;width:62px;}\r\n.combine-box .combine-pnum .num{color:#e4393c;font-family:verdana;margin:0 5px;}\r\n.combine-box .combine-pnum .price{color:#e4393c;font-family:verdana;font-size:18px; margin-top:5px;}\r\n\r\n.combine-box .p-img{width: 50px;height: 50px;margin-right: 10px;border: 1px solid #ddd;padding: 0;float: left;background-color: #fff}\r\n.combine-box .btns{position: absolute;top: 13px;width: 14px;height: 23px;background: url('../images/arrow.png') no-repeat;cursor: pointer;}\r\n.combine-box #prev01,.combine-box #prev02{left:0}\r\n.combine-box #prev01:hover,.combine-box #prev02:hover{background-position:0 -50px;}\r\n.combine-box #prev01.disabled,.combine-box #prev02.disabled{background-position:0 -100px;cursor:default;}\r\n.combine-box #next01,.combine-box #next02{right:10px; background-position:-16px 0;}\r\n.combine-box #next01:hover,.combine-box #next02:hover{background-position:-16px -50px;}\r\n.combine-box #next01.disabled,.combine-box #next02.disabled{background-position:-16px -100px;cursor:default;}\r\n.combine-box .combine-pnum{float:left;_display:inline;}\r\n.combine-box .pay-btn{margin-top:5px;}\r\n/*.combine-box .pay-btn{position:absolute;right:15px;top:20px;}*/\r\n.combine-box .combine-pay-btn{display:block;width:75px;height:30px;line-height:30px; text-align:center;font-size:14px;font-weight:bold;\r\nbackground-color:#f05356;color:#fff;background-image:-webkit-gradient(linear,0 0,0 100%,from(#f05356),to(#eb3c3f));background-image:-moz-linear-gradient(top,#f05356,#eb3c3f);-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#f05356',endColorStr='#eb3c3f');background-image:-o-linear-gradient(top,#f05356,#eb3c3f);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#f05356',endColorStr='#eb3c3f');\r\n-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius: 2px;\r\n}\r\n.combine-box .combine-pay-btn:hover{background-color:#e74649;color:#fff;background-image:-webkit-gradient(linear, from(#e74649), to(#df3134));background-image:-moz-linear-gradient(top, #e74649, #df3134);-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#E74649', endColorstr='#DF3134');background-image:-o-linear-gradient(top, #e74649, #df3134);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#E74649', endColorstr='#DF3134'); text-decoration:none;}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/purchase.base.2012.css",
    "content": "@charset \"utf-8\";\r\n/* CSS Document */\r\n.w{width:990px;}\r\n#headers{margin-bottom:10px;padding:20px 5px;width:980px}\r\n#headers #logo{float:left}\r\n#headers .step{margin-top:21px;float:right}\r\n.main{border:1px solid #dddddd;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;font-family:Verdana;overflow:hidden;margin-bottom:30px}\r\n.main a:link,.main a:visited{color:#005a9d}\r\n.o-mt h2{background:#f3f3f3;height:35px;font:20px/35px \\5FAE\\8F6F\\96C5\\9ED1;padding-left:20px}\r\n.o-mb{background:#f3f3f3;height:35px;line-height:35px;font-size:14px;padding-left:10px}\r\n.list-h{overflow:hidden;zoom:1}\r\n.list-h li{float:left}\r\n/*model*/\r\n.m1{border:1px solid #edd28b;background:#fffdee}\r\n.m2{border:1px solid #e0e0e0;background:#ffffff}\r\n.m3{background:#f6fdf6;color:#666666;}\r\n.m4{border-bottom:1px solid #dddddd;}\r\n.m4 .mt h3{color:#cc0000;}\r\n.m6{border:1px solid #FFE6BC;background:#ffffff}\r\n/*btn*/\r\n.btn{display:inline-block;*zoom:1;padding-right:13px;}\r\n.btn s{float:left;width:3px;margin-right:10px;}\r\n.btn,.btn s{background:url(../images/btn.png) no-repeat;}\r\n.btn-1,.btn-5,.btn-9,.btn-13{line-height:36px;}\r\n.btn-2,.btn-6,.btn-10,.btn-14{line-height:30px;}\r\n.btn-3,.btn-7,.btn-11,.btn-15{line-height:25px;}\r\n.btn-4,.btn-8,.btn-12,.btn-16{line-height:21px;}\r\n.btn-1 s,.btn-5 s,.btn-9 s,.btn-13 s{height:36px;}\r\n.btn-2 s,.btn-6 s,.btn-10 s,.btn-14 s{height:30px;}\r\n.btn-3 s,.btn-7 s,.btn-11 s,.btn-15 s{height:25px;}\r\n.btn-4 s,.btn-8 s,.btn-12 s,.btn-16 s{height:21px;}\r\n.btn-1{background-position:right -36px;}.btn-2{background-position:right -104px;}.btn-2 s{background-position:0 -73px;}\r\n.btn-3{background-position:right -161px;}.btn-3 s{background-position:0 -135px;}\r\n.btn-4{background-position:right -209px;}.btn-4 s{background-position:0 -187px;}\r\n.btn-5{background-position:right -268px;}.btn-5 s{background-position:0 -231px;}\r\n.btn-6{background-position:right -336px;}.btn-6 s{background-position:0 -305px;}\r\n.btn-7{background-position:right -393px;}.btn-7 s{background-position:0 -367px;}\r\n.btn-8{background-position:right -441px;}.btn-8 s{background-position:0 -419px;}\r\n.btn-9{background-position:right -500px;}.btn-9 s{background-position:0 -463px;}\r\n.btn-10{background-position:right -568px;}.btn-10 s{background-position:0 -537px;}\r\n.btn-11{background-position:right -625px;}.btn-11 s{background-position:0 -599px;}\r\n.btn-12{background-position:right -673px;}.btn-12 s{background-position:0 -651px;}\r\n.btn-1,.btn-5,.btn-6,.btn-13,.btn-14{font-weight:bold;padding-right:15px}\r\n.btn-1 s,.btn-5 s,.btn-6 s,.btn-13 s,.btn-14 s{margin-right:12px}\r\na.btn-5:link,a.btn-6:link,a.btn-7:link,a.btn-8:link,a.btn-10:link,a.btn-11:link,a.btn-12:link,a.btn-5:visited,a.btn-6:visited,a.btn-7:visited,a.btn-8:visited,a.btn-10:visited,a.btn-11:visited,a.btn-12:visited{color:#333333;}\r\na.btn-1:link,a.btn-1:visited,a.btn-2:link,a.btn-2:visited,a.btn-3:link,a.btn-3:visited,a.btn-4:link,a.btn-4:visited{color:#ffffff;}\r\na.btn-1,a.btn-5,a.btn-6,.btn-13,.btn-14{font-size:14px;}\r\na.btn-8,a.btn-11,a.btn-12{color:#333333;}\r\na.btn-11:hover,a.btn-12:hover{color:#005AA0;}\r\n.btn-13,.btn-14,.btn-15,.btn-16{color:#cccccc}\r\n.btn-15,.btn-16{font-weight:normal}\r\n.btn-13{background-position:right -731px;}\r\n.btn-13 s{background-position:0 -695px;}\r\n.btn-14{background-position:right -799px;}\r\n.btn-14 s{background-position:0 -768px;}\r\n.btn-15{background-position:right -856px;}\r\n.btn-15 s{background-position:0 -830px;}\r\n.btn-16{background-position:right -904px;}\r\n.btn-16 s{background-position:0 -832px;}\r\n\r\n.btn-7,.btn-8,.btn-2{color: #ffffff;text-decoration: none;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius: 2px; background-color:#e74649;background: -webkit-gradient(linear, 0 0, 0 100%, from(#e74649), to(#df3033));background: -moz-linear-gradient(top, #e74649, #df3033);-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#e74649, endColorStr=#df3033);filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#e74649, endColorStr=#df3033);\r\nbackground-image: linear-gradient(to top, #e74649 0%, #df3033 100%);\r\ndisplay:inline-block;padding-left:11px;padding-right:11px}\r\n.btn-7:hover,.btn-8:hover,.btn-2:hover{ text-decoration:none;background-color:#f05356;background: -webkit-gradient(linear, 0 0, 0 100%, from(#f05356), to(#eb3c3f));background: -moz-linear-gradient(top, #f05356, #eb3c3f);-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#f05356, endColorStr=#eb3c3f);filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#f05356, endColorStr=#eb3c3f);\r\nbackground-image: linear-gradient(to top, #f05356 0%, #eb3c3f 100%);\r\n-webkit-box-shadow:0px 1px 0 0 rgba(7,0,2,.2);-moz-box-shadow:0px 1px 0 0 rgba(7,0,2,.2);box-shadow:0px 1px 0 0 rgba(7,0,2,.2);}\r\na.btn-7:link,a.btn-7:visited,a.btn-7:hover,a.btn-8:link,a.btn-8:visited,a.btn-8:hover{color:#fff}\r\n\r\n.btn-15{color:#ccc;display:inline-block;height:25px;line-height:25px;padding-left:11px;padding-right:11px;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius: 2px;border:1px solid #DDDDDD;cursor:default;background-image:none}\r\n.btn-10,.btn-11,.btn-12{border:1px solid #DDDDDD;background-color:#f7f7f7;background-image:none;color:#333;text-decoration: none;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius: 2px;background: -webkit-gradient(linear, 0 0, 0 100%, from(#F7F7F7), to(#F2F2F2));background: -moz-linear-gradient(top,#F7F7F7,#F2F2F2);-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#F7F7F7, endColorStr=#F2F2F2);filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#F7F7F7, endColorStr=#F2F2F2);\r\nbackground-image: linear-gradient(to top, #F7F7F7 0%, #F2F2F2 100%);\r\ndisplay:inline-block;padding-left:11px;padding-right:11px;font-size:12px;margin-left:5px}\r\n.btn-10:hover,.btn-11:hover,.btn-12:hover{ text-decoration:none;background-color:#f8f8f8;background: -webkit-gradient(linear, 0 0, 0 100%, from(#F8F8F8), to(#F8F8F8));background: -moz-linear-gradient(top,#F8F8F8, #F8F8F8);-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#F8F8F8, endColorStr=#F8F8F8);filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#F8F8F8, endColorStr=#F8F8F8);\r\nbackground-image: linear-gradient(to top, #F8F8F8 0%, #F8F8F8 100%);\r\n-webkit-box-shadow:0px 1px 0 0 rgba(7,0,2,.2);-moz-box-shadow:0px 1px 0 0 rgba(7,0,2,.2);box-shadow:0px 1px 0 0 rgba(7,0,2,.2);}\r\n.btn-7,.btn-11{height:25px;line-height:25px}\r\n.btn-8{height:21px;line-height:21px;}\r\n.btn-10{height:30px;line-height:30px;}\r\n.btn-12{height:21px;line-height:21px;}\r\na.btn-10:link,a.btn-10:visited,a.btn-10:hover,a.btn-12:link,a.btn-12:visited,a.btn-12:hover,a.btn-11:link,a.btn-11:visited,a.btn-11:hover{color:#333}\r\n.btn-7 s,.btn-10 s,.btn-12 s,.btn-8 s,.btn-11 s,.btn-15 s,.btn-2 s{display:none}\r\n\r\n.btn-sure,.btn-sured,.btn-conti,.btn-impay{display:inline-block;*zoom:1;line-height:100px;overflow:hidden;border:none;line-height:150px;font-size:0; vertical-align:middle;;width:155px;height:38px;background-repeat:no-repeat;cursor:pointer;}\r\n.btn-sure:hover,.btn-conti:hover,.btn-impay:hover{background-position:0 -38px;}\r\n.btn-sure,.btn-sured{background:url(../images/btn-07.png) no-repeat}\r\n.btn-sured{background-position:0 -76px}\r\n.btn-sure{background-position:0 0}\r\n.btn-conti{background:url(../images/btn-08.png) no-repeat}\r\n.btn-impay{background:url(../images/btn-03.png) no-repeat;}\r\n\r\n\r\n/*icon*/\r\n/*.icon-succ02,.icon-ques05,.icon-info05,.icon-info03,.icon-succ05,.icon-warn02,.icon-wrong02{display:inline-block;*zoom:1;font-size:0;line-height:0;overflow:hidden;background:url(../images/pur-icon.png) no-repeat}\r\n.icon-succ02{background-position:0 -230px;width:48px;height:48px}\r\n.icon-succ05{background-position:-49px -235px;width:16px;height:16px}\r\n.icon-warn02{background-position:-90px 0;width:48px;height:48px}\r\n.icon-info03{background-position:-42px 0;width:32px;height:32px}\r\n.icon-info05{background-position:-74px 0;width:16px;height:16px;}\r\n.icon-ques05{background-position:0 -280px;width:16px;height:16px;}\r\n.icon-wrong02{background-position:-140px 0;width:48px;height:48px}*/\r\n.icon-info05{background-position:-74px 0;width:16px;height:16px;}*/\r\n.icon-info03,.icon-succ05{display:inline-block;*zoom:1;font-size:0;line-height:0;overflow:hidden;background:url(../images/pur-icon.png) no-repeat}\r\n.icon-succ05{background-position:-49px -235px;width:16px;height:16px}\r\n.icon-info03{background-position:-42px 0;width:32px;height:32px}\r\n.icon-succ02,.icon-wrong02,.icon-warn02{background-image:url(../images/icon48.png);display:inline-block;*zoom:1;font-size:0;line-height:0;overflow:hidden;width:48px;height:48px}\r\n.icon-wrong02{background-position:-48px 0;}\r\n.icon-warn02{background-position:-96px 0;}\r\n.icon-ques05,.icon-info05{background:url(../images/icon16.png);display:inline-block;*zoom:1;font-size:0;line-height:0;overflow:hidden;width:16px;height:16px}\r\n.icon-ques05{background-position:-48px 0}\r\n.icon-info05{background-position:-64px 0; }\r\n/*prompt*/\r\n.prompt{position:relative;border:1px solid #c4c4c4;background:#ffffff;box-shadow: 0 0 5px 0 rgba(0,0,0,0.3);zoom:1;-moz-border-radius:1px;-webkit-border-radius:1px;border-radius:1px;width:100px}\r\n.pb{position:absolute;}.pb b{position:absolute;left:0;font-size:0;line-height:0;overflow:hidden;border:4px dashed transparent;}.pb .b1{z-index:1;}.pb .b2{z-index:2;}.pb b.b3{border-width:6px;z-index:0;display:none\\9;}\r\n*|html[xmlns*=\"\"] .pb b.b3 {display:none;}\r\n.pb-t b{border-bottom-style:solid;}.pb-t .b1{top:-1px;border-bottom-color:#c4c4c4;}.pb-t .b2{top:0;border-bottom-color:#ffffff;}.pb-t .b3{top:-3px;left:-1px;border-bottom-color:rgba(0,0,0,0.08);}\r\n*html .pb-r{right:-1px;}.pb-r b{border-left-style:solid;}.pb-r .b1{right:-11px;top:-1px;border-left-color:#EDD28B;border-width:11px;}.pb-r .b2{right:-11px;border-left-color:#FFFDEE;}.pb-r .b3{top:-2px;left:4px;border-left-color:rgba(0,0,0,0.15);}\r\n.pb-b b{border-top-style:solid;}.pb-b .b1{bottom:-12px;border-top-color:#EDD28B;}.pb-b .b2{bottom:-11px;border-top-color:#FFFDEE;}.pb-b .b3{bottom:-19px;left:-2px;border-top-color:rgba(0,0,0,0.15);}\r\n.pb-l b{border-right-style:solid;}.pb-l .b1{left:-1px;top:-9px;border-right-color:#c4c4c4;}.pb-l .b2{top:-9px;border-right-color:#ffffff;}.pb-l .b3{top:-11px;left:-5px;border-right-color:rgba(0,0,0,0.08);}\r\n/*fontcolor*/\r\n.ftx-01,a.flk-01:link,a.flk-01:visited,.flk-01 a:link,.flk-01 a:visited{color:#E4393C}.ftx-02{color:#7ABD54}.ftx-03,a.flk-03:link,a.flk-03:visited,.flk-03 a:link,.flk-03 a:visited{color:#999999;}.ftx-04,a.flk-04:link,a.flk-04:visited,.flk-04 a:link,.flk-04 a:visited{color:#ff6600;}.ftx-05,a.flk-05:link,a.flk-05:visited,.flk-05 a:link,.flk-05 a:visited{color:#005ea7;}.ftx-06{color:#666666;}\r\n/*step*/\r\n.step{overflow:hidden;background:#ededed;color:#999999;font-weight:bold;margin:0 auto 10px;zoom:1}\r\n.step li{float:left;position:relative;padding-left:22px;padding-right:35px;line-height:25px;height:25px;overflow:hidden;}\r\n.step li b{position:absolute;width:22px;height:25px;background:url(../images/flow.gif) no-repeat;top:0;right:-1px;}\r\n#step1 .fore1,#step2 .fore2,#step3 .fore3,#step4 .fore4{background:#ffe6bc;color:#ff6600;}\r\n#step1 .fore1 b,#step2 .fore2 b,#step3 .fore3 b{background-position:0 -26px;}\r\n#step2 .fore1,#step3 .fore1,#step3 .fore2,#step4 .fore1,#step4 .fore2,#step4 .fore3{background:#bbbbbb;color:#ffffff;}\r\n#step2 .fore1 b,#step3 .fore2 b,#step4 .fore3 b{background-position:0 -78px;}\r\n#step3 .fore1 b,#step4 .fore2 b,#step4 .fore1 b{background-position:0 -52px;}\r\n/*form*/\r\n.form em{color:#ff6600;margin-right:3px;}\r\n.form .item{margin-bottom:10px}\r\n.form .label{float:left;text-align:right;color:#666666}\r\n.form .text,.form .area,.main .text,.main .area{padding:4px;margin-right:5px;border:1px solid #ccc;}\r\n.form .text{width:130px;}\r\n.form .area{width:300px;height:55px;}\r\n.text-focus{border-width:2px;border-color:#ffd300;}\r\n.text-error{border-color:#cc0000;}\r\n.text-none{border:1px solid;border-color:#ccc #ededed #ededed #ccc;background:#f7f7f8;color:#ccc;}\r\n.sele{margin-right:10px;}\r\n.msg-text,.msg-error{float:left;line-height:25px;}\r\n.msg-text{color:#999999;}\r\n.msg-error{color:#e4393c;}\r\n.tabs{border-bottom:1px solid #edd28b;background-color:#fff}\r\n.tab{overflow:visible}\r\n.tab li{float:left;border-right:1px solid #edd28b;text-align:center;height:29px;padding:0 13px;position:relative;overflow:hidden;font-size:14px;font-weight:bold;color:#666666;line-height:29px}\r\n.tab li.curr{background:#fffdee;height:30px;margin-bottom:-1px;}\r\n.tab li.curr,.tab li.curr a:link,.tab li.curr a:visited{color:#ff6600;}\r\n.tab li a:link,.tab li a:visited{color:#333333;}\r\n.tips-01{margin-bottom:10px;padding:10px 20px;}\r\n/*20130701*/\r\n.p-extra{margin-bottom:10px;color:#333}\r\n/*20130815*/\r\n.promptbz{width:503px;padding:16px 20px;z-index:2;-moz-box-shadow:0 0 10px #DDD;-webkit-box-shadow:0 0 10px #DDD;box-shadow:0 0 10px #DDD;zoom:1;border-color:#ddd}\r\n.promptbz .close{ display:none}\r\n.promptbz .pb-t {top:-8px;left:253px}\r\n.promptbz .pb-t b{border-bottom-style:solid;}.promptbz .pb-t .b1{top:-1px;border-bottom-color:#ddd;}.promptbz .pb-t .b2{top:0;border-bottom-color:#fff;}\r\n.promptbz p{padding-bottom:6px;margin-bottom:6px;border-bottom:1px dotted #ccc}\r\n.icon-bao{width:15px;height:16px; vertical-align:middle;display:inline-block;background-image:url(../images/icon-bao.png);margin-right:3px}\r\n.mb-tip{padding-top:10px}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/purchase.checkout.css",
    "content": "img::selection {background:transparent;}\r\nimg::-moz-selection {background:transparent;}\r\nimg {-ms-interpolation-mode:bicubic;}\r\n.hide{display:none;}\r\ninput {margin:0; padding:0;}\r\ntable {border-collapse:collapse; border-spacing:0;}\r\n\r\n.group:after {height:0; content:\".\"; display:block; visibility:hidden; clear:both; font-size:0; line-height:0;}\r\n.group {zoom:1;}\r\n* html .group {height:1%;}\r\n*:first-child+html .group {min-height:1px;}\r\n\r\n.loading ,.checkout-state{background: #fff}\r\n.loading b ,.checkout-state b{width:28px; height:28px; float:left; background:url(../images/loading.gif) no-repeat center center;}\r\n.loading-1 ,.checkout-state{height:28px; border:1px solid #edd28b; padding:0 10px; float:left; line-height:28px;}\r\n.loading-1 b ,.checkout-state b {margin-right:5px;}\r\n\r\n.m2 {margin-bottom:20px;}\r\n.header {padding:20px 0 10px;}\r\n#logo {padding-left:5px; float:left;}\r\n.language {line-height:20px; text-align:right;}\r\n.language a, .language a:visited, .language a:hover {color:#005ea7;}\r\n.progress {padding-top:6px;}\r\n.progress .progress-2{background:url(../images/step2.png) no-repeat;width:481px;padding-top:23px;overflow:hidden;height:23px;}\r\n.progress ul {width:481px; float:right;}\r\n.progress li {width:160px; height:23px; float:left; color:#bce8a3; line-height:23px; text-align:center;}\r\n.progress li b {width:22px; height:25px; display:none; }\r\n.progress li.s2{color:#7abd54;width:161px;}\r\n.progress li.s3{color:#aaaaaa;}\r\n.progress li.complete b {background-position:0 -50px;}\r\n\r\n\r\n#checkout {width:988px; border:1px solid #ddd; }\r\n#checkout .mt {height:28px; background-color:#f7f7f7;padding-top:7px;}\r\n#checkout .mt h2 {height:35px; overflow:hidden; line-height:100px; background:url(../images/checkout-title.gif) no-repeat 10px 0;}\r\n\r\n#checkout .form-tip {color:#999;}\r\n#invoiceConsignee #checkout .form-tip{height: 26px;padding-left: 20px;float: left;line-height: 26px;}\r\n/*#invoiceConsignee #checkout select{width: 120px}*/\r\n\r\n#checkout .btn-submit {height:30px; margin-right:10px; padding-left:20px; float:left; line-height:30px; font-size:14px; font-weight:700; background:url(../images/btn-save2013.png) no-repeat 0 0;}\r\n#checkout .btn-submit span {height:30px; padding-right:20px; float:left; cursor:pointer; background:url(../images/btn-save2013.png) no-repeat 100% -30px;}\r\n#checkout a.btn-submit, #checkout a.btn-submit:visited, #checkout a.btn-submit:hover {color:#fff; text-decoration:none;}\r\n\r\n#checkout .btn-submit:hover {height:30px; margin-right:10px; padding-left:20px; float:left; line-height:30px; font-size:14px; font-weight:700; background:url(../images/btn-hovercom.jpg) no-repeat 0 0;}\r\n#checkout .btn-submit:hover span {height:30px; padding-right:20px; float:left; cursor:pointer; background:url(../images/btn-hovercom.jpg) no-repeat 100% -30px;}\r\n\r\n\r\n.checkout-steps {}\r\n.checkout-steps .step {border-top:1px solid #ddd;}\r\n\r\n.checkout-steps .step-current {width:984px; margin:-1px; border:3px solid #f60; position:relative;}\r\n.checkout-steps .step-title {height:45px; padding:0 20px; line-height:45px;position:relative;}\r\n.checkout-steps .step-title strong {color:#999; font-size:14px;}\r\n.checkout-steps .step-current .step-title strong, .checkout-steps .step-complete .step-title strong {color:#000;}\r\n.checkout-steps .step-action {padding-left:10px; color:#005ea7; font-size:12px; font-weight:400;}\r\n.checkout-steps .step-action a, .checkout-steps .step-action a:visited, .checkout-steps .step-action a:hover {color:#005ea7;}\r\n\r\n/*新增提示--按省份促销*/\r\n.checkout-submit-tip{background-color: rgb(255, 253, 238); border: 1px solid rgb(237, 210, 139); color: rgb(255, 102, 0); float: right; padding: 0pt 3px; height: 30px; line-height: 30px; margin: 10px 10px 0 0;} \r\n\r\n.sbox-wrap {padding:0 42px;}\r\n.sbox {width:900px; overflow:hidden;}\r\n#checkout .sbox {padding:0px 0 20px;}\r\n#checkout .step-complete .sbox-wrap {padding:0 44px;}\r\n#checkout .s-content p {line-height:22px;}\r\n\r\n#consignee {}\r\n/* #consignee .content {padding-bottom:15px;}\r\n#consignee .s-content p {line-height:22px;}\r\n#consignee .form {padding:10px 0 20px;} */\r\n#consignee .form .form-tip {padding-left:10px; float:left;}\r\n#consignee .item, #part-invoice .item {height:28px; margin-bottom:5px; overflow:hidden; zoom:1; line-height:28px;}\r\n#consignee .item label b{font-weight:normal;}\r\n#consignee .item-selected label b{font-weight:bold;}\r\n#part-invoice .item strong{font-weight:normal;}\r\n#part-invoice .item-selected strong{font-weight:bold;}\r\n#consignee .item-selected, #part-invoice .item-selected {background-color:#fff4d3;}\r\n#consignee .item .hookbox, #part-invoice .item .hookbox {margin:7px 5px 0 8px; *margin:3px 2px 0 5px;}\r\n#consignee-list .item-action {padding-left:20px; color:#999;}\r\n#consignee-list .item-action a, #invoice-list .item-action a {margin:0 5px; color:#005ea7;}\r\n#consignee-list .item-action a:visited, #consignee-list .item-action a:hover,\r\n#invoice-list .item-action a:visited, #invoice-list .item-action a:hover{color:#005ea7;}\r\n\r\n#consignee .address-list,#part-invoice .invoice-more{height:18px; margin-bottom:1px; overflow:hidden;}\r\n#consignee .address-list .inner {width:900px; height:17px;border-top:1px solid #ffffff; _border-top:1px solid #ccc; text-align:center;}\r\n#consignee .address-list .inner:hover { border-top:1px solid #ccc; }\r\n#part-invoice .invoice-more .inner {width:900px; height:17px;text-align:center;border-top:1px solid #ffffff;_border-top:1px solid #ccc;}\r\n#part-invoice .invoice-more .inner:hover{border-top:1px solid #ccc;}\r\n#select-more #invoice-more-btn{width:100px; height:16px; margin:-1px auto 0; border:1px solid #ccc; border-top-color:#fff; position:relative; text-align:left; cursor:pointer; background:url(../images/more-bg-1.gif) repeat-x;}\r\n#select-more span, #select-more s,#invoice-more-btn span, #invoice-more-btn s {float:left; cursor:pointer;}\r\n#select-more span {margin-right:5px; color:#666; line-height:16px;}\r\n#select-more, #invoice-more-btn {width:100px; height:16px; margin:-1px auto 0; border:1px solid #ccc; border-top-color:#fff; position:relative; text-align:left; cursor:pointer; background:url(../images/more-bg-1.gif) repeat-x;}\r\n#consignee .address-list .select-expand span, #part-invoice .invoice-more .select-expand span { padding-left: 10px;}\r\n#select-more span, #invoice-more-btn span {color: #666666;line-height: 16px;margin-right: 5px;}\r\n#select-more s , #invoice-more-btn s{width:5px; height:7px; margin-top:4px; overflow:hidden; line-height:0; font-size:0; background:url(../images/more-arrow-1.gif) no-repeat 0 -6px;}\r\n#consignee .address-list .select-expand span {padding-left:13px;}\r\n#consignee .address-list .select-collapse span {padding-left:13px;}\r\n#consignee .address-list .select-collapse s {background-position:0 0;}\r\n\r\n#consignee .list,.invoice-form .list{padding:5px 0;overflow:hidden;zoom:1}\r\n#consignee .list .label,.invoice-form .list .label{width:85px;height:26px;margin-right:5px;float:left;color:#666;line-height:26px;text-align:right}\r\n#consignee .list .label em,.invoice-form .list .label em{margin-right:5px;color:#f60;font-family:sans-serif}\r\n#consignee .list .field{height:26px;float:left;line-height:26px}\r\n.invoice-form .list .field{float:left;line-height:26px}\r\n#consignee .message,.invoice-form .message{border:1px solid #db9a9a;padding:4px 0;background-color:#ffe8e8}\r\n#consignee .message .error,.invoice-form .error{height:26px;padding-left:6px;float:left;color:#c00;line-height:26px}\r\n#consignee .message i,.invoice-form .message i{margin-right:5px;float:left;overflow:hidden;line-height:0;font-size:0}\r\n#consignee .message .error i,.invoice-form .message .error i{width:16px;height:15px;margin-top:5px;background:url(../images/error-icon-1.gif) no-repeat}\r\n#consignee .textbox,.invoice-form .textbox{width:138px;height:16px;border:1px solid #ccc;padding:4px 3px;font-family:Arial,\"\\5b8b\\4f53\",sans-serif}\r\n#consignee input.focus,.invoice-form input.focus{border:1px solid #fdd253;background-color:#ffffe6}\r\n#consignee .list-radio .hookbox,.invoice-form .list-radio .hookbox{vertical-align:top;margin:7px 5px 0 0}\r\n#consignee .list-radio label,.invoice-form .list-radio label{margin-right:20px}\r\n#consignee .select-address select,.invoice-form .select-address select{height:22px;margin:2px 5px 0 0}\r\n#consignee .full-address .textbox,.invoice-form .full-address .textbox{width:308px}\r\n#consignee .phone,.invoice-form .phone{float:left}\r\n#consignee .phone span,#consignee .phone em,.invoice-form .phone span,.invoice-form .phone em{float:left}\r\n#consignee .phone em,.invoice-form .phone em{padding:0 20px 0 5px;color:#999}\r\n#consignee .phone span,.invoice-form .phone em{color:#666}\r\n#consignee .form-btn{height:30px;padding-top:4px}\r\n\r\n\r\n#part-invoice {}\r\n.invoice-form .list {padding:1px 0; overflow:hidden; clear:both;}\r\n.invoice-form .list .label {width:95px; color:#666; line-height:26px; text-align:right;}\r\n.invoice-form .list .field {float:left;}\r\n.invoice-form .hookbox-list, .invoice-form .hookbox-list li {float:left;}\r\n.invoice-form .hookbox-list li {padding-right:20px; overflow:hidden; line-height:26px;}\r\n.invoice-form .hookbox-list .hookbox {margin:6px 5px 0 8px; *margin:1px 2px 0 5px;}\r\n.invoice-form .company-textbox {width:200px; height:16px; border:1px solid #CCC; padding:4px 3px; font-family:Arial,\"\\5B8B\\4F53\",sans-serif;}\r\n.invoice-form .book-group {padding-top:10px; clear:both;}\r\n.invoice-form .invoice-group {overflow:hidden; zoom:1;}\r\n.invoice-form .invoice-group-label {float:left; line-height:26px;}\r\n#part-invoice .invoice .remark {color:#f60; line-height:22px;}\r\n\r\n#special-form {}\r\n#special-form .pull-tips {padding:5px 0 5px 105px;}\r\n#special-form .list {clear:both; zoom:1;}\r\n#special-form .label {margin-right:10px;}\r\n#special-form .list-last .label {margin-right:0;}\r\n#special-form .textbox {width:308px; height:16px; border:1px solid #CCC; padding:4px 3px; font-family:Arial,\"\\5B8B\\4F53\",sans-serif;}\r\n#special-form .invoice-types .field {width:790px;}\r\n#special-form .invoice-types .field li {zoom:1;}\r\n#special-form .invoice-types .field label {word-break: break-all; word-wrap: break-word;}\r\n.invoice-tips li {line-height:18px;}\r\n.invoice-tips li span {color:#c00;}\r\n.invoice-tips li.fore1 {padding-bottom:10px;}\r\n.invoice-tips li.fore2 {color:#f60;}\r\n#part-invoice .invoice-note {padding:1px 0 5px 1px; color:#f60;}\r\n#part-invoice .form-btn {padding-top:10px; clear:both;}\r\n\r\n\r\n#payment-ship {}\r\n/* #payment-ship .sbox {padding:10px 0 20px;} */\r\n#payment-ship .form-btn {height:30px; }\r\n#payment-ship .payment {padding-bottom:10px;}\r\n#payment-ship .payment-message-success {color:#090;}\r\n\r\n#payment-ship h3 {height:30px; border-bottom:1px dashed #ffe6bc; line-height:30px;}\r\n#payment-ship .way-category h4 {height:28px; margin-top:-5px; margin-bottom:3px; border-bottom:1px dashed #ffe6bc; position:relative; line-height:28px; font-size:14px;}\r\n#payment-ship .item {overflow:hidden; zoom:1; line-height:28px;}\r\n\r\n#payment-ship .item-selected {background-color:#fff4d3;}\r\n/*#payment-ship #shipment .item-selected{height:28px;}*/\r\n#payment-ship .item-selected .field{}\r\n#payment-ship #shipment .item-selected .field{display:block;}\r\n#payment-ship .item-selected .sment-mark{display:block;}\r\n#payment-ship .item .hookbox {margin:7px 5px 0 8px; *margin:3px 2px 0 5px;}\r\n@-moz-document url-prefix() {\r\n    #payment-ship .item .hookbox {margin-top:7px 5px 0 8px;}\r\n}\r\n\r\n#payment-ship .mc {overflow:visible;}\r\n#payment-ship .sment-box {padding-bottom:5px;}\r\n#payment-ship .item .label {width:250px;float:left;}\r\n#payment-ship .item .label em {color:#c00;}\r\n#payment-ship .item .field {float:left;max-width:680px;_width:680px;}\r\n#payment-ship .item .tip {padding:0 5px 0 0; color:#999;background:none;border:none;position:static;z-index:inherit;box-shadow:0;}\r\n#payment-ship .item .tip a{color:#005EA7;}\r\n#payment-ship a.rlink, #payment-ship a.rlink:visited, #payment-ship a.rlink:hover {color:#005ea7;}\r\n#payment-ship .payment-selected, #payment-ship .way-list .way-item {line-height:22px;}\r\n#payment-ship .payment-selected {padding-bottom:0px;}\r\n#payment-ship .way-list .way-item span {color:#c00;}\r\n#payment-ship .payment-info a, #payment-ship .payment-info a:visited, #payment-ship .payment-info a:hover {color:#005ea7; text-decoration:none;}\r\n#payment-ship .way .way-category-label {padding:5px 0; color:#005ea7;position:relative;z-index:2;}\r\n.payment-mark {\r\n    width:600px;\r\n    padding-bottom:10px;\r\n    user-select:none;\r\n    -o-user-select:none;\r\n    -ms-user-select:none;\r\n    -moz-user-select:none;\r\n    -webkit-user-select:none;\r\n    border: 1px solid #FFF4D3;\r\n    padding:0 20px 10px;\r\n    margin:10px 0 10px 70px;\r\n}\r\n.payment-bank {width:900px;}\r\n.payment-bank .tabs {height:28px; border-bottom:1px solid #edd28b; background-color:#fff;}\r\n.payment-bank .tabs li {width:98px; height:28px; border-right:1px solid #edd28b; float:left; color:#666; line-height:28px; font-size:14px; font-weight:700; text-align:center; cursor:pointer;}\r\n.payment-bank .tabs li.current {height:29px; margin-bottom:-1px; position:relative; color:#f60; background-color:#fffdee;}\r\n.payment-bank .bank-content {padding:10px 40px;}\r\n.payment-bank .list {padding:10px 0;}\r\n.payment-bank .list h4 {font-weight:400;}\r\n.payment-bank .list h4 span {color:#999; font-weight:400;}\r\n.payment-bank .bank li {width:132px; height:37px; margin-right:15px; padding-top:10px; float:left; overflow:hidden;}\r\n.payment-bank .bank .bank-selected li {width:200px;}\r\n.bank li.b-btn {line-height:37px;}\r\n.bank li.b-btn a, .bank li.b-btn a:visited, .bank li.b-btn a:hover {color:#005ea7;}\r\n.bank label {height:33px; border:1px solid #ccc; padding:1px; position:relative; cursor:pointer;}\r\n.bank li.selected label {height:33px; border:2px solid #f60; padding:0;}\r\n.bank li .hookbox {margin:10px 5px 0 8px; *margin:6px 2px 0 5px;}\r\n.bank label em.b-quick {width:16px; height:16px; display:block; position:absolute; right:-1px; bottom:-1px; color:#fff; line-height:16px; text-align:center; background-color:#c00;}\r\n.bank .bank-selected label span {float:left;}\r\n.bank .bank-selected label .b-number {width:60px; height:33px; padding-right:5px; float:left; line-height:33px; text-align:center; background-color:#fff;}\r\n.bank label span {width:128px; height:33px; display:block; overflow:hidden; line-height:100px; background:url(../images/bank-icon.png) no-repeat;}\r\n.bank li.selected label em.b-quick {right:-2px; bottom:-2px; _bottom:-3px;}\r\n.bank label.bank-icbc span {background-position:0 0;}\r\n.bank label.bank-abc span {background-position:-129px 0;}\r\n.bank label.bank-bcom span {background-position:-258px 0;}\r\n.bank label.bank-ccb span {background-position:-387px 0;}\r\n.bank label.bank-cmb span {background-position:-516px 0;}\r\n.bank label.bank-boc span {background-position:-645px 0;}\r\n.bank label.bank-bob span {background-position:0 -34px;}\r\n.bank label.bank-post span {background-position:-129px -34px;}\r\n.bank label.bank-cmbc span {background-position:-258px -34px;}\r\n.bank label.bank-hxb span {background-position:-387px -34px;}\r\n.bank label.bank-ceb span {background-position:-516px -34px;}\r\n.bank label.bank-spdb span {background-position:-645px -34px;}\r\n.bank label.bank-cib span {background-position:0 -68px;}\r\n.bank label.bank-citic span {background-position:-129px -68px;}\r\n.bank label.bank-pab span {background-position:-258px -68px;}\r\n.bank label.bank-cgb span {background-position:-387px -68px;}\r\n.bank label.bank-sdb span {background-position:-516px -68px;}\r\n.bank label.bank-srcb span {background-position:-645px -68px;}\r\n.bank label.bank-cbhb span {background-position:0 -102px;}\r\n.bank label.bank-hzb span {background-position:-129px -102px;}\r\n.bank label.bank-jsb span {background-position:-258px -102px;}\r\n.bank label.bank-njcb span {background-position:-387px -102px;}\r\n.bank label.bank-unionpay span {background-position:0 -170px;}\r\n.bank label.bank-tenpay span {background-position:-129px -170px;}\r\n.bank label.bank-99bill span {background-position:-258px -170px;}\r\n.bank label.bank-chinapnr span {background-position:-387px -170px;}\r\n.bank label.bank-cmpay span {background-position:-516px -170px;}\r\n\r\n.express-form {padding-top:0px;position:relative;z-index:3;}\r\n.express-form .list {padding:2px 0; overflow:hidden; zoom:1; line-height:24px;}\r\n.express-form .field {float:left;}\r\n.express-form .label {width:120px; margin-right:5px; line-height:24px; text-align:right;}\r\n.express-form .warm-prompt {color:#999;}\r\n.express-form .delivery-time {}\r\n.express-form .delivery-time .t-item {height:26px; overflow:hidden; zoom:1; line-height:26px;}\r\n.express-form .hookbox {margin:6px 5px 0 8px; *margin:1px 2px 0 5px;}\r\n.express-form .payment-type {}\r\n.express-form .payment-type ul {float:left;}\r\n.express-form .payment-type li {padding-right:12px; float:left; overflow:hidden; zoom:1; line-height:26px;}\r\n.express-form .big-tick select {height:22px; margin:2px 10px 0 0;}\r\n.express-form .tooltip {height:20px;line-height:20px; border:1px solid #edd28b; padding:0 10px; float:left; background-color:#fffdee;}\r\n.express-form .tooltip span {margin-right:5px; float:left; color:#f60;}\r\n.express-form .tooltip .tooltip-close {width:7px; height:7px; line-height:50px;margin-top:8px; float:left; overflow:hidden;  background:url(../images/tooltip-close-icon-1.gif) no-repeat;zoom:1;}\r\n\r\n.sment-form {padding-top:5px;}\r\n.sment-form .list {height:26px; padding:5px 0; overflow:hidden; zoom:1; line-height:26px;}\r\n.sment-form .list select {height:22px; margin-top:2px;}\r\n.sment-form .note li {float:left; color:#999; line-height:22px;}\r\n.sment-form .note li.first {width:120px;text-align:right;}\r\n\r\n.subway-line {padding:0 0 5px;}\r\n\r\n\r\n#campus-sment .sment-box, #subway-sment .sment-box {width:900px; overflow:hidden; zoom:1;}\r\n/*#campus-sment .sment-box .item, #subway-sment .sment-box .item {width:450px; float:left;}*/\r\n#campus-sment .item .label {width:170px;}\r\n\r\n\r\n#payment-ship .sment-mark {padding-left:25px; line-height:28px;display:none;}\r\n\r\n\r\n#part-order {}\r\n#part-order h2 {height:30px; overflow:hidden; zoom:1; line-height:30px;}\r\n\r\n#part-order .invoice {margin-bottom:10px; border-bottom:1px solid #ffe6bc; padding-bottom:10px;}\r\n#part-order .invoice-content {padding-top:5px;}\r\n#checkout .invoice-content {line-height:22px;}\r\n#checkout .check-fq{padding-left:20px;}\r\n#checkout .check-fq input{vertical-align: middle;width:16px;height:16px;margin-left:-20px}\r\n#checkout .check-fq .cl999{color: #999}\r\n#checkout a.return-edit {float:right; font-size:12px; font-weight:400;padding-right:24px;text-decoration:bottom;}\r\n#checkout a.return-edit, #checkout a.return-edit:visited {color:#005ea7;}\r\n#checkout a.return-edit:hover {color:#005ea7;}\r\n\r\n#order-cart {width:900px;}\r\n#order-cart .order-review {width:900px; padding-top:5px;}\r\n#order-cart .review-thead {width:100%;}\r\n#order-cart .review-thead td {height:25px; border-left:1px solid #fff; color:#666; line-height:25px; text-align:center; background-color:#eeeeee;}\r\n#order-cart .review-thead .fore1 {border-left:0;}\r\n#order-cart .review-thead .fore2 {width:120px;}\r\n#order-cart .review-thead .fore3 {width:150px;}\r\n#order-cart .review-thead .fore4 {width:100px;}\r\n#order-cart .review-tbody {border-bottom:1px dashed #ddd; padding:10px 0;}\r\n#order-cart .review-block .block-header {border-bottom:1px solid #ddd;}\r\n#order-cart .review-block .block-header td {line-height:30px;}\r\n#order-cart .review-block .block-header {background-color:#ddefff;}\r\n#order-cart .review-suit .block-header {background-color:#e0f1ff;}\r\n#order-cart .review-block td.p-promotion {line-height:normal;}\r\n.review-present .block-header .fore1 b, .review-sale .block-header .fore1 b {width:34px; height:23px; margin:5px 10px 0 0; float:left; overflow:hidden; background:url(../images/iconadd.jpg) no-repeat;}\r\n.review-present .block-header .fore1 b {background-position:0 -23px;}\r\n#order-cart .review-gift {border-bottom:1px dashed #ddd; padding:5px 10px; color:#999;}\r\n#order-cart .p-goods {width:406px;}\r\n#order-cart .order-table {width:900px;}\r\n#order-cart .order-table td {padding-left:1px;}\r\n#order-cart .order-table .fore1 {width:406px; padding:0 10px;}\r\n#order-cart .order-table .p-price {width:110px; padding-right:10px; text-align:right;}\r\n#order-cart .order-table .p-promotion {width:150px; padding-top:5px;}\r\n#order-cart .order-table .fore2 {width:100px; text-align:center;}\r\n#order-cart .order-table .p-price strong {color:#333;}\r\n#order-cart .p-promotion span {height:20px; margin-bottom:5px; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px; display:block; overflow:hidden; color:#fff; line-height:20px; text-align:center;}\r\n#order-cart .p-promotion em {font-family:Verdana,Arial;}\r\n#order-cart .p-promotion .return-now {background-color:#3b0;}\r\n#order-cart .p-promotion .give-points {background-color:#f90;}\r\n#order-cart .p-inventory {}\r\n#order-cart .p-inventory strong {color:#c00;}\r\n#order-cart .p-inventory a, #order-cart .p-inventory a:visited, #order-cart .p-inventory a:hover {color:#005ea7;}\r\n#order-cart .review-tbody-highlight {margin:-1px 0; border:1px solid #db9a9a; position:relative; background-color:#ffe8e8;}\r\n#order-cart .review-tbody-highlight .order-table {width:898px;}\r\n#order-cart .review-tbody-highlight .p-goods {width:404px;}\r\n#order-cart .p-goods {overflow:hidden; zoom:1;}\r\n#order-cart .p-img {width:50px; height:50px; margin-right:5px; border:1px solid #ddd; padding:0; float:left; overflow:hidden;}\r\n#order-cart .p-detail {width:346px; float:left; line-height:16px;}\r\n#order-cart .p-detail .p-tip {width:60px; float:left; color:#c00;}\r\n#order-cart .p-name {width:345px; height:32px; overflow:hidden; zoom:1;}\r\n#order-cart .p-name a, #order-cart .p-name a:visited, #order-cart .p-name a:hover {color:#005ea7;}\r\n#order-cart .p-more, #order-cart .p-extra {color:#999; line-height:20px;}\r\n#order-cart .p-extra {padding-top:5px;}\r\n#order-cart .safe-tip {color:#c00;}\r\n#order-cart .safe-tip a, #order-cart .safe-tip a:visited, #order-cart .safe-tip a:hover {color:#005ea7;}\r\n#order-cart .order-gift {padding-top:5px;}\r\n#order-cart .order-gift td {color:#999; line-height:20px;}\r\n#order-cart .order-gift-not td {color:#c00; border-top:1px solid #db9a9a; border-bottom:1px solid #db9a9a; background-color:#ffe8e8;}\r\n\r\n.order-summary {padding-top:10px; overflow:hidden; zoom:1;}\r\n.order-summary label, .order-summary input {float:left;}\r\n.order-summary .summary-form {width:600px; overflow:hidden;}\r\n.order-summary .hookbox {margin:7px 5px 0 8px; *margin:3px 2px 0 5px;}\r\n@-moz-document url-prefix() {\r\n    .order-summary .hookbox {margin:8px 5px 0 8px;}\r\n}\r\n.order-summary .summary-form .item {height:28px; overflow:hidden; zoom:1; line-height:28px;}\r\n.order-summary .statistic {width:300px;}\r\n.order-summary .statistic .list {height:24px; line-height:24px; overflow:hidden; zoom:1;}\r\n.order-summary .statistic span {width:180px; margin-right:20px; float:left; text-align:right;}\r\n.order-summary .statistic em {color:#e4393c;}\r\n.order-summary .statistic .price{color:#333333;float:left;width:100px;text-align:right;}\r\n.order-coupon {padding-top:10px;}\r\n.order-coupon .toggle-title {height:30px; overflow:hidden; zoom:1;}\r\n.order-coupon .toggler {height:15px; margin-top:7px; float:left; line-height:15px;}\r\n.order-coupon .toggler b {width:15px; height:15px; margin-right:5px; float:left; overflow:hidden; line-height:0; font-size:0; background:url(../images/toggler-arrow.gif) no-repeat;}\r\n.order-coupon .toggle-active .toggler b {background-position:0 -15px;}\r\n.order-coupon a.toggler, .order-coupon a.toggler:visited, .order-coupon a.toggler:hover {color:#005ea7;}\r\n.order-coupon .toggle-wrap {padding:0 20px 10px;}\r\n.order-coupon .cbox {width:858px; background-color:#eefaff;}\r\n.order-coupon .inner {padding:5px 18px;border:1px solid #A3D1EC;boder-top:none;}\r\n#coupons .tip, #gift .tip,#ecard .tip {color:#999;}\r\n#coupons .list {overflow:hidden; zoom:1;}\r\n#coupons .virtual-from {padding:5px 0; overflow:hidden;}\r\n#coupons .virtual-from h4 {padding-bottom:5px; line-height:22px;}\r\n#coupons .virtual-from .virtual-table {padding:5px 0;}\r\n#coupons .virtual-table-body {height:28px; position:relative;margin-bottom:2px;}\r\n#coupons .virtual-table-body table {width:100%;}\r\n#coupons .virtual-table-body td {height:28px; line-height:28px;}\r\n#coupons .virtual-table-body .virtual-action {width:30px; text-align:center;}\r\n#coupons .virtual-table-body .virtual-action input {margin-left:8px; *margin-left:4px;margin-top:0;}\r\n#coupons .virtual-table-body .virtual-sum {width:130px;}\r\n#coupons .virtual-table-body .virtual-type {width:300px; color:#999;}\r\n#coupons .virtual-table-body .virtual-vtime {color:#999;}\r\n#coupons .virtual-table-body .coupon-scope {color:#e4393c;}\r\n#coupons .virtual-table-selected {border:1px solid #a3d1ec; background-color:#fff;}\r\n#coupons .virtual-table-selected .coupon-scope {font-weight:700;}\r\n#coupons .virtual-from .list {height:28px; line-height:28px;}\r\n#coupons .virtual-from .list span {color:#f60;}\r\n#coupons .virtual-from .list-selected {border:1px solid #a3d1ec; font-weight:700; background-color:#fff;}\r\n#coupons .virtual-from .hookbox {margin:7px 5px 0 8px; *margin:3px 2px 0 5px;}\r\n#coupons .virtual-from, #coupons .actual-form {border-bottom:1px dashed #a3d1ec;}\r\n#coupons .actual-form {padding:10px 0;}\r\n#coupons .actual-form .list {height:26px; line-height:26px;}\r\n#coupons .actual-form a {margin-left:20px;}\r\n#coupons .actual-form a, #coupons .actual-form a:visited, #coupons .actual-form a:hover,\r\n#gift .tip a, #gift .tip a:visited, #gift .tip a:hover, \r\n#ecard .tip a, #ecard .tip a:visited, #ecard .tip a:hover {color:#005ea7;}\r\n#coupons .actual-form .label, #gift .gift-form .label,#ecard .gift-form .label {margin-right:10px;}\r\n#coupons .actual-form .textbox, #gift .gift-form .textbox,#ecard .gift-form .textbox {width:64px; height:16px; margin-right:5px; border:1px solid #ddd; border-top-color:#aaa; border-left-color:#aaa; padding:4px;}\r\n#coupons .total, #gift .total {padding-top:10px;}\r\n#coupons .total strong, #gift .total strong,#ecard .total strong {color:#e4393c;}\r\n#gift .gift-item,#ecard .gift-item {border-bottom:1px dashed #a3d1ec; padding:5px 0 10px;}\r\n#gift .gift-item h4,#ecard .gift-item h4 {padding-bottom:5px;}\r\n#gift .gift-form .group,#ecard .gift-form .group {height:26px; line-height:26px;}\r\n.order-coupon .btn-add {margin-right:3px;width:50px; height:25px; border:0; line-height:25px; text-align:center; background:url(../images/btn-upunm.png) no-repeat;color:#fff;}\r\n.order-coupon .btn-add:hover{background:url(../images/btn-hover5.jpg) no-repeat;}\r\n@-moz-document url-prefix() {\r\n    .order-coupon .btn-add { padding-bottom:2px;}\r\n}\r\n#gift .gift-grid {width:822px; overflow:hidden;}\r\n#gift .gift-table {width:820px; border:1px solid #e6e6e6; border-right:0; background-color:#fff;}\r\n#gift .gift-table th {height:30px; border-bottom:1px solid #e6e6e6; color:#666; font-weight:400; text-align:center; background-color:#f9f9f9;}\r\n#gift .gift-table th.last {border-right:1px solid #e6e6e6;}\r\n#gift .gift-table .fore1 {width:100px;}\r\n#gift .gift-table .fore2 {width:144px;}\r\n#gift .gift-table .fore3 {width:110px;}\r\n#gift .gift-table td {height:32px; border-right:1px solid #e6e6e6; text-align:center;}\r\n#gift .gift-table td.g-price {padding-right:5px; text-align:right;}\r\n#gift .gift-table td.g-price span {color:#c00;}\r\n#gift .gift-table input, #gift .gift-table label {float:left;}\r\n#gift .gift-table label {line-height:30px;}\r\n#gift .gift-table .hookbox {margin:8px 5px 0 8px; *margin:4px 2px 0 5px;}\r\n#gift .total,#ecard .total{padding:5px 0;}\r\n#ecard .gift-grid {width:822px; overflow:hidden;}\r\n#ecard .gift-table {width:820px; border:1px solid #e6e6e6; border-right:0; background-color:#fff;}\r\n#ecard .gift-table th {height:30px; border-bottom:1px solid #e6e6e6; color:#666; font-weight:400; text-align:center; background-color:#f9f9f9;}\r\n#ecard .gift-table th.last {border-right:1px solid #e6e6e6;}\r\n#ecard .gift-table .fore1 {width:100px;}\r\n#ecard .gift-table .fore2 {width:144px;}\r\n#ecard .gift-table .fore3 {width:110px;}\r\n#ecard .gift-table td {height:32px; border-right:1px solid #e6e6e6; text-align:center;}\r\n#ecard .gift-table td.g-price {padding-right:5px; text-align:right;}\r\n#ecard .gift-table td.g-price span {color:#c00;}\r\n#ecard .gift-table input, #gift .gift-table label {float:left;}\r\n#ecard .gift-table label {line-height:30px;}\r\n#ecard .gift-table .hookbox {margin:8px 5px 0 8px; *margin:4px 2px 0 5px;}\r\n\r\n.order-coupon  #ecard  .btn-add,.order-coupon #gift .btn-add{width:100px; background-image:url(../images/btn-r25-new.png);}\r\n\r\n.order-coupon .form .label-dashes {margin-right:5px; float:left;}\r\n\r\n#order-remark .group {height:52px; line-height:26px;}\r\n#order-remark #remarkText{width: 812px;}\r\n#order-remark .textbox {width:250px; height:16px; margin-right:10px; border:1px solid #ddd; border-top-color:#aaa; border-left-color:#aaa; padding:4px;}\r\n\r\n.checkout-buttons {width:988px; height:50px; background-color:#f5f5f5;position:relative;}\r\n.checkout-steps .step-current .checkout-buttons {width:984px;}\r\n.checkout-buttons .inner {padding-right:18px;}\r\n.checkout-buttons .total {padding-right:18px; float:right; line-height:50px; font-size:14px; font-weight:700;}\r\n.checkout-buttons .total strong {color:#e4393c; font-size:20px;vertical-align:middle;font-weight:normal;}\r\n.checkout-buttons .checkout-state {width:180px; height:34px; margin-top:8px; border:1px solid #edd28b; float:right; display:block; overflow:hidden; color:#f60; line-height:34px; text-align:center; background-color:#fffdee;}\r\n.checkout-buttons .checkout-state b {width:30px; height:30px; margin:2px 0 0 10px; float:left; display:inline; background:url(../images/loading.gif) no-repeat center center;}\r\n.checkout-buttons .checkout-submit,\r\n.checkout-buttons .checkout-submit2,\r\n.checkout-buttons .checkout-submit-disabled{margin-top:5px; border:0; float:right; cursor:pointer;}\r\n.checkout-buttons .checkout-submit {width:135px; height:36px; background:url(../images/btn-updata.png) no-repeat;line-height:100px;overflow:hidden;margin-top:8px; }\r\n.checkout-buttons .checkout-submit:hover{background:url(../images/btn-hover1.jpg) no-repeat;}\r\n/*不可用*/\r\n.checkout-buttons .checkout-submit-disabled{width:135px; height:36px; background:url(../images/btn-disabled.png) no-repeat;line-height:100px;overflow:hidden;margin-top:8px;}\r\n.checkout-buttons .checkout-submit:hover{background:url(../images/btn-submit.jpg) no-repeat 0 -36px;}      \r\n.checkout-buttons .checkout-submit2 {width: 195px;height: 42px;background:url(../images/btn-order2.png) no-repeat;}\r\n.checkout-buttons .sticky-placeholder {width:988px; height:50px; border-top:1px solid #ddd;}\r\n/** html .checkout-buttons .sticky-placeholder {\r\n    position:absolute;\r\n    bottom:auto;\r\n    top:expression( ( 0 - this.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );\r\n}*/\r\n.checkout-steps .step-current .sticky-placeholder {width:984px;}\r\n.checkout-buttons .sticky-placeholder .sticky-wrap {width:100%; height:50px; background-color:rgba(238, 238, 238, 0.8); background-color:transparent\\9; filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=1, startColorstr='#CCEEEEEE',endColorstr='#CCEEEEEE'); zoom:1;}\r\n@-moz-document url-prefix() {\r\n    .checkout-steps .sticky-placeholder {margin-left:1px;}\r\n}\r\n.check-code {padding-bottom:10px; float:right;}\r\n.check-code img, .checkcode input {float:left;}\r\n#checkCodeDiv #checkcodeTxt {width:60px!important; height:18px!important; border:1px solid #aaa; border-top-color:#666; border-left-color:#666; padding:6px 4px!important; _display:inline; line-height:18px;}\r\n\r\n.pay-password {padding-top:10px; overflow:hidden; zoom:1;}\r\n.pay-password .label {float:left; line-height:28px; font-weight:700;}\r\n.pay-password .fl {height:28px; overflow:hidden; zoom:1;}\r\n.pay-password .textbox1 {width:110px; height:16px; margin-right:5px; border:1px solid #bbb; padding:4px 3px; float:left; font-family:Arial,\"\\5b8b\\4f53\",sans-serif;}\r\n.pay-password .forgot-password {line-height:28px;}\r\n.pay-password .forgot-password a, .pay-password .forgot-password a:visited, .pay-password .forgot-password a:hover {color:#005ea7;}\r\n\r\n\r\n.payment-dialog {width:550px; overflow:hidden;}\r\n.payment-dialog .dialog-item {padding:0 10px 10px; overflow:hidden; zoom:1;}\r\n.payment-dialog .dialog-item-deactivate {background-color:#fff4d3;}\r\n.payment-dialog .dialog-item-title {height:26px; margin-bottom:10px; color:#666; line-height:26px; font-weight:700;}\r\n.payment-dialog .dialog-item-title span {color:#090;}\r\n.payment-dialog .dialog-item-deactivate .dialog-item-title span {color:#c00;}\r\n.payment-dialog .dialog-item-inner {overflow:hidden; zoom:1;}\r\n.payment-dialog .dialog-item-list {width:330px; margin-right:10px; padding-top:5px; float:left;overflow:hidden;zoom:1;}\r\n.payment-dialog .dialog-item-extra {width:170px; float:left;}\r\n.payment-dialog .dialog-form-hookbox {overflow:hidden; zoom:1;}\r\n.payment-dialog .dialog-form-field, #payment-dialog .dialog-form-util {float:left;}\r\n.payment-dialog .dialog-goods {width:330px; height:57px;line-height:20px;}\r\n.payment-dialog .dialog-goods ul{_height:57px;overflow:hidden;_overflow:inherit;} \r\n.payment-dialog .dialog-goods li {width:50px; height:50px; margin:0 5px 5px 0; border:1px solid #999; padding:0; float:left;overflow:hidden;}\r\n.payment-dialog .dialog-goods li .p-img {padding:0;height:50px;height:50px;}\r\n.payment-dialog .dialog-form-hookbox {overflow:hidden; zoom:1;}\r\n.payment-dialog .dialog-form-field {float:left;}\r\n.payment-dialog .dialog-form-util {float:left;}\r\n.payment-dialog .dialog-form-util label {line-height:26px; font-size:14px; font-weight:700;}\r\n.payment-dialog .dialog-form-tip {color:#999;}\r\n.payment-dialog .dialog-form-field .hookbox {margin:7px 5px 0 8px; *margin:3px 2px 0 5px;}\r\n@-moz-document url-prefix() {\r\n    #payment-dialog .dialog-form-field .hookbox {margin:8px 5px 0 8px;}\r\n}\r\n.payment-dialog .dialog-buttons {padding:15px 0 5px; line-height:26px;}\r\n.payment-dialog .dialog-btn-ok {width:50px; height:26px; margin-right:10px; display:inline-block; line-height:26px; text-align:center; background:url(../images/btn-50x26-1.gif) no-repeat;}\r\n.payment-dialog a.dialog-btn-cancel, .payment-dialog a.dialog-btn-cancel:visited, .payment-dialog a.dialog-btn-cancel:hover {color:#005ea7;}\r\n\r\n\r\n#payment-confirm-dialog .dialog-wrapper {width:530px; padding-top:10px; overflow:hidden;}\r\n#payment-confirm-dialog .dialog-item {overflow:hidden; zoom:1;}\r\n#payment-confirm-dialog .dialog-item-list {width:530px; padding:10px 0 15px; overflow:hidden;}\r\n#payment-confirm-dialog .dialog-goods {width:500px; overflow:hidden; zoom:1;}\r\n#payment-confirm-dialog .dialog-goods li {width:50px; height:50px;margin:0 5px 5px 0; border:1px solid #999; padding:0; float:left;}\r\n#payment-confirm-dialog .dialog-goods li .p-img {padding:0;}\r\n#payment-confirm-dialog .dialog-buttons {}\r\n#payment-confirm-dialog .dialog-buttons .dialog-action-label {}\r\n#payment-confirm-dialog .dialog-buttons .dialog-action {padding:10px 0 15px; overflow:hidden; zoom:1;}\r\n#payment-confirm-dialog .dialog-item-title,\r\n#payment-confirm-dialog .dialog-action-label {color:#666;}\r\n#payment-confirm-dialog .dialog-buttons .btn {margin-right:20px; background-position:100% -300px;}\r\n#payment-confirm-dialog .dialog-buttons .btn, #payment-confirm-dialog .dialog-buttons .btn-text {height:30px;}\r\n#payment-confirm-dialog .dialog-buttons .btn-text {line-height:30px; background-position:0 -270px;}\r\n#payment-confirm-dialog .dialog-buttons .btn-action-new {margin-top:7px; height:16px; float:left;}\r\n#payment-confirm-dialog .dialog-buttons a.btn-action-new, #payment-confirm-dialog a.dialog-buttons .btn-action-new:visited,\r\n#payment-confirm-dialog .dialog-buttons a.btn-action-new:hover {color:#005ea7;}\r\n\r\n\r\n.payment-tips .field{border:1px solid #EDD28B;padding:20px;background:#FFFDEE;}\r\n.payment-tips .wait {margin-top:-5px;}\r\n.payment-tips .wait dt,.payment-tips .wait dd{line-height:1em;color: #999}\r\n.payment-tips .wait dt {padding:5px 0;}\r\n.payment-tips .wait dt strong{margin-right: 10px;color: #333;}\r\n.payment-tips a{color: #005EA7}\r\n.payment-tips .wait dd{border-top: 1px dashed #EDD28B;margin-top:5px;padding:10px 0 0;}\r\n.payment-tips .colorf60{color:#f60}\r\n.payment-tips .cheque-txt{margin-bottom: 4px;}\r\n.payment-tips .cheque-item{border: 1px solid #FFFDEE;overflow:hidden;*zoom:1;padding:4px 0;color: #666}\r\n.payment-tips .current{border: 1px solid #EDD28B;background: #fff}\r\n.payment-tips .cheque-item strong{color: #333}\r\n.payment-tips .cheque-label{float: left;}\r\n.payment-tips  .cheque-btn {margin-top:10px;}\r\n.payment-tips  .cheque-btn .btn{width:59px;height:30px;background-position:100% -270px;}\r\n.payment-tips  .cheque-btn .btn .btn-text{float:none;height:30px;background-color:#FFFDEE;background-position:0 -300px;display:block;line-height:30px;text-align:center;color: #ccc;font-size: 14px;font-weight: bold;}\r\n/* Tooltip */\r\n.bt {width:240px;}\r\n.bt .bt-outer { position:relative;}\r\n.bt .bt-inner { overflow:hidden; background-color:#fffdee;border:1px solid #EDD28B;}\r\n bt-topp .bt-inner{height:22px;}\r\n.bt .bt-bump span {}\r\n.bt .bt-content {overflow:hidden; zoom:1;}\r\n.bt .bt-bump {width:8px; position:absolute; top:8px; left:-7px;}\r\n.bt-topp .bt-bump{top:5px;}\r\n.bt-top .bt-bump{left:36px;top:-7px;}\r\n.bt .bt-bump .bt-arrow, .bt .bt-bump .bt-arrow-i {width:0; height:0; display:block; overflow:hidden; line-height:0; font-size:0;}\r\n.bt .bt-bump .bt-arrow {border-top:8px dashed transparent; border-bottom:8px dashed transparent; border-right:8px solid #edd28b; position:relative;}\r\n.bt .bt-bump .bt-arrow-i {border-top:6px dashed transparent; border-bottom:6px dashed transparent; border-right:6px solid #fff; position:relative; margin:-14px 0 0 2px;}\r\n.bt-topp .bt-bump .bt-arrow-i{border-right:6px solid #FFFDEE;}\r\n.bt-w .bt-bump {left:auto; right:-7px;}\r\n.bt-w .bt-bump .bt-arrow {border-right:0; border-left:8px solid #edd28b;}\r\n.bt-w .bt-bump .bt-arrow-i {border-right:0; border-left:6px solid #fffdee; margin-left:0;}\r\n.bt-top .bt-bump .bt-arrow{border-bottom:8px solid #EDD28B;border-left:8px dashed transparent; border-right:8px dashed transparent;border-top:none; }\r\n\r\n\r\n.order-tooltip {width:252px;position:absolute;background:#FFFDEE;z-index:100;}\r\n.bt-top{width:350px;}\r\n.bt-top .extra{padding-bottom:8px;color:#2677b4;}\r\n.bt-top .extra a{color:#2677b4;}\r\n.order-tooltip .bt-content {padding-left:10px;}\r\n.order-tooltip .tooltip-goods {padding-bottom:10px;max-height:175px;overflow:auto;_height:162px}\r\n.order-tooltip .tooltip-goods .goods-item {padding-top:5px;overflow:hidden; zoom:1;}\r\n.bt-top .tooltip-goods {width:330px;height:auto;}\r\n.bt-topp h2 strong{font-weight:normal;color:#ff7214;}\r\n.order-tooltip .tooltip-goods .p-img {width:50px; height:50px; margin-right:3px; border:1px solid #ddd; padding:0; float:left;}\r\n.order-tooltip .tooltip-goods .p-name {width:158px; float:left;height:4.5em;line-height:1.5em;}\r\n.order-tooltip .tooltip-goods .p-name  a{cursor:default;color:#333333;text-decoration:none;}\r\n.order-tooltip .tooltip-goods .p-img a{cursor:default;}\r\n.freight-tooltip {width:340px;}\r\n.freight-tooltip .bt-outer {width:340px;}\r\n.freight-tooltip .bt-inner {background-color:#fffdee;}\r\n.freight-tooltip .bt-content {padding:0 10px;}\r\n.freight-tooltip .bt-content a{color:#005ea7;}\r\n.freight-tooltip .freight-content {width:320px; padding-bottom:10px;}\r\n.freight-tooltip .freight-item {padding-top:5px;}\r\n.freight-tooltip .freight-item h4 {line-height:22px; font-weight:400;}\r\n.freight-tooltip .freight-item ul {padding-left:12px;}\r\n.freight-tooltip .freight-item li {line-height:22px;}\r\n.freight-tooltip .freight-item li span {color:#c00;}\r\n.freight-tooltip .bt-bump .bt-arrow-i {border-right-color:#fffdee;}\r\n.bt-top .bt-bump .bt-arrow-i{border-bottom:6px solid #fffdee;margin:-6px 0 0 2px;border-left:6px dashed transparent;border-right:6px dashed transparent;border-top:none;} \r\n.bt-topp .bt-title{height:24px;overflow:hidden;padding-right:5px;}\r\n.bt-topp .bt-title h2{float:left;font-weight:normal;font-size:12px;height:20px;line-height:20px;padding-left:10px;}\r\n\r\n.msgbox-wrapper {width:990px; margin:0 auto;}\r\n.noty-msgbox {width:990px; position:fixed; top:0; z-index:100;}\r\n.noty-message {width:988px; overflow:hidden;}\r\n.noty-message .noty-inner {overflow:hidden; zoom:1;}\r\n.noty-message .noty-icon {width:32px; height:32px; margin:13px 5px 0 0; float:left; background:url(../images/noty-icon.jpg) no-repeat;}\r\n.noty-info {height:58px; border:1px solid #db9a9a; background-color:#ffe8e8;}\r\n.noty-info .noty-inner {padding-left:150px;}\r\n.noty-info .noty-icon {background-position:0 0;}\r\n.noty-info .noty-text, .noty-success .noty-text {float:left; line-height:58px; font-size:14px; font-weight:700;}\r\n.noty-info .noty-text {margin-right:4px; color:#c00;}\r\n.noty-info a.noty-delete {padding-right:10px; margin-top:14px; font-size:14px; background-position:100% -360px;}\r\n.noty-info a.noty-delete .btn-text {height:30px; padding:0 0 0 10px; line-height:30px; background-position:0 -330px;}\r\n.noty-message a.noty-btn {height:16px; margin-top:21px; float:left; line-height:16px;}\r\n.noty-message a.noty-remove, .noty-message a.noty-remove:visited, .noty-message a.noty-remove:hover {color:#005ea7;}\r\n.noty-success {height:58px; border:1px solid #edd28b; background-color:#fffdee;}\r\n.noty-success .noty-inner {padding-left:200px;}\r\n.noty-success .noty-icon {background-position:0 -33px;}\r\n.noty-success .noty-text {margin-right:10px; color:#090;}\r\n/**\r\n * ���ȫ����\r\n */\r\n.big-tick-box{margin:10px 0;padding:8px 10px;border:1px solid #edd28b;background:#fffdee;line-height:14px;display:block;color:#333;}\r\n.colorf60{color:#f60;}\r\n.mt14{margin-top:14px;}\r\n/*���ڸ���*/\r\n#payRemark_8 tr{line-height:20px;}\r\n#payRemark_8 td{padding:2px;}\r\n#payRemark_8 .tsbox div{padding:3px;}\r\n#payRemark_8 input{margin:6px 5px 0 8px; *margin:1px 2px 0 5px;}\r\n#payRemark_8 td div {height:26px; overflow:hidden; zoom:1; line-height:26px;}\r\n#reserve-time{margin-right:5px;}\r\n#payment-ship .way-category-label-a{color:#005ea7 ;display:block;position:relative;z-index:3;cursor:default;}\r\n.payment-installment-content{border:1px solid #FFF4D3;margin-top:10px;}\r\n#coupons .tip a{color:#005EA7;margin-left:20px;}\r\n.step-right{padding-right:24px;\r\n    height: 20px;\r\n    line-height: 20px;\r\n    padding: 10px 10px 0 0;\r\n    position:absolute;\r\n    top:2px;\r\n    left:133px;\r\n}\r\n.save-consignee-payship{\r\n    background-color: #FFFDEE;\r\n    border: 1px solid #EDD28B;\r\n    padding:0 1px 0 3px;\r\n}\r\n.step-right span {\r\n    color: #FF6600;\r\n    float: left;\r\n    margin-right: 5px;\r\n}\r\n.step-right .tooltip-close {\r\n    background: url(\"i/tooltip-close-icon-1.gif\") no-repeat scroll 0 0 transparent;\r\n    float: left;\r\n    height: 7px;\r\n    line-height: 50px;\r\n    margin-top: 8px;\r\n    overflow: hidden;\r\n    width: 7px;\r\n}\r\n\r\n#coupons .virtual-table-body .coupon-scope font{\r\n    color:#333;\r\n}\r\n\r\n#payment_dialog_close{\r\n    display:none;\r\n}\r\n\r\n.submit-error{\r\n    position:absolute;\r\n    right:20px;\r\n    top:-22px;\r\n    background:#FFE8E8;\r\n    color:#CC0000;\r\n    border:1px solid #DB9A9A;\r\n    height:20px;\r\n    line-height:20px;\r\n    padding:0 3px;\r\n}\r\n\r\n#checkout .cbox .mt {\r\n    background: none repeat scroll 0 0 #FFFFFF;\r\n    border-bottom: 1px solid #A3D1EC;\r\n    height: 24px;\r\n    margin-bottom: -1px;\r\n    overflow: visible;\r\n    position: relative;\r\n}\r\n\r\n.cbox .tab {\r\n    height: 25px;\r\n}\r\n.cbox .tab li {\r\n    background: none repeat scroll 0 0 #F3F3F3;\r\n    border-color: #DDDDDD;\r\n    border-image: none;\r\n    border:1px solid #DDDDDD;\r\n    border-bottom: none;\r\n    cursor: pointer;\r\n    height: 20px;\r\n    line-height: 20px;\r\n    margin-right: 5px;\r\n    margin-top: 3px;\r\n    padding: 0 10px;\r\n    text-align: center;\r\n    width: 83px;\r\n}\r\n.cbox .tab .curr { \r\n    background: none repeat scroll 0 0 #EEFAFF;\r\n    border: 1px solid #A3D1EC;\r\n     border-bottom:none;\r\n    font-weight: bold;\r\n    height: 25px;\r\n    line-height: 25px;\r\n    margin-top: 0;\r\n}\r\n.iframed { \r\n    width:100%; \r\n    height:200px; \r\n    position:relative; \r\n    margin-bottom:-200px; \r\n    z-index:-1; \r\n    filter:alpha(opacity=0);\r\n}\r\n#mask-jexpose \r\n{ background-color: rgb(255, 255, 255); background-color: rgba(255, 255, 255, 0.5);\r\n}\r\n.step-stitle{padding:0 8px;}\r\n.step-stitle strong{display:block;border-bottom:1px dashed #ffe6bc;margin-bottom:5px;padding-bottom:5px;font-size:14px;}\r\n.color3{color:#ff6600;}\r\n.select-one{padding:2px;margin:3px 5px 0 0;}\r\n.order-tooltip .bt-title{height:17px;overflow:hidden;}\r\n.bt-topp .bt-title{height:20px;}\r\n.order-tooltip .bt-title .bt-close{float:right;background:url(../images/close-box.jpg) no-repeat;width:7px;height:7px;margin:5px 5px 0 0;}\r\n\r\n#transport .bt-title{height:14px;overflow:hidden;}\r\n#transport .bt-title .bt-close{float:right;background:url(../images/close-box.jpg) no-repeat;width:7px;height:7px;margin:5px 5px 0 0;}\r\n\r\n.dispatching{float:right;background:#fffdee;border:1px solid #edd28b;height:32px;line-height:32px;padding:0 8px;margin-top:8px;}\r\n.dispatching strong{color:#ff6600;}\r\n\r\n/*\r\n    311\r\n*/\r\n#date-311{width:200px;margin-left:10px;border:1px solid #ccc;height:20px;line-height:20px;background:url(../images/time.png) no-repeat 203px 2px;padding:2px 30px 2px 2px;overflow:hidden;}\r\n\r\n#date-delivery{display:none;z-index:10000;background:#ffffff;position:absolute;border:1px solid #ccc;overflow:hidden;-moz-box-shadow:0 0 5px rgba(0,0,0,.2);-webkit-box-shadow:0 0 5px rgba(0,0,0,.2);box-shadow:0 0 5px rgba(0,0,0,.2);}\r\n#date-delivery .th dt,\r\n#date-delivery .date span{float:left;height:40px;padding:5px 0;border:solid #eee;border-width:0 1px 1px 0;text-align:center;line-height:20px;}\r\n#date-delivery .th dt{width:85px;padding-left:15px;line-height:40px;text-align:left;}\r\n#date-delivery .date dd{float:left;}\r\n#date-delivery .date span{width:50px;}\r\n#date-delivery .time{clear:both;}\r\n#date-delivery .time span{display:block;width:85px;padding-left:15px;height:30px;border:solid #eee;border-width:0 1px 1px 0;line-height:30px;}\r\n#date-delivery .data{position:absolute;top:51px;left:101px;overflow:hidden;}\r\n#date-delivery .data ul{float:left;}\r\n#date-delivery .data li{width:50px;height:30px;line-height:30px;text-align:center;border:solid #eee;border-width:0 1px 1px 0;cursor:pointer;color:#7ABD54;}\r\n#date-delivery .data li.disabled{cursor:not-allowed;}\r\n\r\n.cbox .tab li{width:97px;white-space:pre;}\r\n.cbox .tab li em{margin-left:2px;color:#e4393c;font-family:\"verdana\";}\r\n.cbox .tab li em.grey{color:#999;}\r\n\r\n\r\n.speed411{float:left;position:relative;width:400px;}\r\n.speed411 .bt-topp{position:absolute;top:-2px;left:106px;width:auto;display:none;}\r\n.agree{margin-top:10px;background:#FFFDEE;border:1px solid #EDD28B;padding:5px 5px;overflow:hidden;font-weight:bold;height:20px;line-height:20px;}\r\n.agree input{float:left;margin:4px 5px 0 0;_margin:0 5px 0 0;}\r\n.agree strong{color:#FF6600;}\r\n@-moz-document url-prefix() {\r\n    .agree input {margin:4px 5px 0 0;}\r\n}\r\n\r\n\r\n.submit-check-info {\r\n    color: #FF6600;\r\n    height: 30px;\r\n    line-height: 30px;\r\n    top: -30px;\r\n    padding: 0 3px;\r\n    position: absolute;\r\n    right: 20px;\r\n    background-color: #FFFDEE;\r\n    border: 1px solid #EDD28B;\r\n}\r\n\r\n#payment-ship .way #jd-sku{z-index:5;}\r\n.selected-address{float:left;margin-right:5px;}\r\n\r\n.checkout-buttons .checkout-submit {width:135px; height:36px; background:url(../images/btn-submit.jpg) no-repeat;line-height:100px;overflow:hidden;margin-top:8px; }\r\n.checkout-buttons .checkout-submit:hover{background-position:0 -36px;}\r\n#checkout .btn-submit{background:url(../images/btn-20130725.png) no-repeat;}\r\n#checkout .btn-submit span{background:url(../images/btn-20130725.png) no-repeat 100% -30px;}\r\n#checkout .btn-submit:hover{background:url(../images/btn-20130725.png) no-repeat 0 -60px;}\r\n#checkout .btn-submit:hover span{background:url(../images/btn-20130725.png) no-repeat 100% -90px;}\r\n.order-coupon .btn-add{background:url(../images/btn-r25.png) no-repeat 0 0;}\r\n.order-coupon .btn-add:hover{background:url(../images/btn-r25.png) no-repeat 0 -25px;}\r\n\r\n.invoice-tips .fore3{margin-left:36px;color:#f60;}\r\n.invoice-tips .fore3 a:link,.invoice-tips .fore3 a:visited{margin-right:10px;color:#005ea7;}\r\n\r\n/*免注册登陆需求*/\r\n.login-tab{position:relative;overflow:hidden;padding-bottom:20px;}\r\n.login-tab .tab-arrow{\r\n    position:absolute;\r\n    z-index:1;\r\n    top:50px;left:0!important;*left:-490px;\r\n    width:490px;height:10px;\r\n    overflow:hidden;\r\n    text-align:center;\r\n}\r\n.login-tab .tab-arrow b{\r\n    display:inline-block;\r\n    margin-top:0;width:0;height:0;\r\n    border-style:solid dashed dashed dashed;\r\n    border-width:10px;\r\n    border-color:#e4393c transparent transparent transparent;\r\n    overflow:hidden;\r\n    zoom:1;font-size:0;\r\n}\r\n.login-tab .noreg{float:left;width:490px;height:50px;background:url(../images/noreg1.png);}\r\n.login-tab .reged{float:right;width:490px;height:50px;}\r\n.login-tab .reged a{display:block;height:50px;background:url(../images/noreg2.png);}\r\n.message a:link,.message a:visited{color:#005ea7;font-weight:bold;}\r\n\r\n.btn-grey{\r\n    border:1px solid #ddd;\r\n    padding:5px 15px 4px 15px;\r\n    margin-left:5px;\r\n    border-radius:3px;\r\n    cursor:pointer;\r\n    background:#f7f7f7;\r\n    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #F7F7F7), color-stop(1, #F3F3F3));\r\n    background-image: -webkit-linear-gradient(top, #F7F7F7 0%, #F3F3F3 100%);\r\n    background-image: -moz-linear-gradient(top, #F7F7F7 0%, #F3F3F3 100%);\r\n    background-image: -ms-linear-gradient(top, #F7F7F7 0%, #F3F3F3 100%);\r\n    background-image: -o-linear-gradient(top, #F7F7F7 0%, #F3F3F3 100%);\r\n    background-image: linear-gradient(to bottom, #F7F7F7 0%, #F3F3F3 100%);\r\n}\r\n.btn-grey:hover,.btn-grey:focus{\r\n    background:#f7f7f7;\r\n    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #F7F7F7), color-stop(1, #F3F3F3));\r\n    background-image: -webkit-linear-gradient(bottom, #F7F7F7 0%, #F3F3F3 100%);\r\n    background-image: -moz-linear-gradient(bottom, #F7F7F7 0%, #F3F3F3 100%);\r\n    background-image: -ms-linear-gradient(bottom, #F7F7F7 0%, #F3F3F3 100%);\r\n    background-image: -o-linear-gradient(bottom, #F7F7F7 0%, #F3F3F3 100%);\r\n    background-image: linear-gradient(to top, #F7F7F7 0%, #F3F3F3 100%);\r\n    box-shadow:1px 1px 1px #eee;\r\n}\r\n.btn-disabled{background:#fff;cursor:no-drop;color:#ccc;}\r\n.btn-disabled:hover{background:#fff;}\r\n.list .success{\r\n  color:#7abd54;\r\n  position:relative;\r\n  padding-left:27px;\r\n  top:2px;\r\n}\r\n.list .success i{\r\n  position:absolute;\r\n  width:16px;height:16px;\r\n  left:5px;top:1px;\r\n  background:url(../images/i-success.png);\r\n}\r\n\r\n/*自提合并*/\r\n.orange{color:#f60!important;}\r\n#subway-sment{clear:both;}\r\n#payment-ship h3,#payment-ship .way-category h4,.step-stitle strong{border-bottom:0px;}\r\n#payment-ship .way-category h4.way-selector{\r\n    color:#333;\r\n    font-size:12px;\r\n    float:left;\r\n    margin-top:10px;\r\n}\r\n#store-selector {\r\n    margin:10px;\r\n    position:relative;\r\n    float:left;\r\n    clear:right;\r\n    z-index:2;\r\n    height:26px;\r\n    margin-right:6px\r\n}\r\n#store-selector dl, #store-selector dt, #store-selector dd {\r\n    float:none;\r\n    color:#999\r\n}\r\n#store-selector dl {\r\n    width:390px\r\n}\r\n#store-selector dd {\r\n    line-height:18px\r\n}\r\n#store-selector dt {\r\n    padding:6px 0 10px\r\n}\r\n#store-selector .text {\r\n    float:left;\r\n    position:relative;\r\n    top:0;\r\n    height:23px;\r\n    background:#fff;\r\n    border:1px solid #CECBCE;\r\n    padding:0 20px 0 4px;\r\n    line-height:23px;\r\n    overflow:hidden;\r\n    color:#333;\r\n}\r\n#store-selector .text b {\r\n    display:block;\r\n    position:absolute;\r\n    top:0;\r\n    right:0;\r\n    width:17px;\r\n    height:24px;\r\n    background-position:-264px -188px;\r\n    overflow:hidden\r\n}\r\n#store-selector .content {\r\n    display:none;\r\n    position:absolute;\r\n    top:25px;\r\n    left:0px;\r\n    border:1px solid #CECBCE;\r\n    width:420px;\r\n    padding:5px 0px;\r\n    background:#fff;\r\n    -moz-box-shadow:0 0 5px #ddd;\r\n    -webkit-box-shadow:0 0 5px #ddd;\r\n    box-shadow:0 0 5px #ddd\r\n}\r\n#store-selector .content select {\r\n    float:left;\r\n    width:120px;\r\n    border:1px solid #CECBCE;\r\n    margin-right:15px\r\n}\r\n#store-selector .content .select3 {\r\n    margin-right:0\r\n}\r\n#store-selector .close{\r\n    display:none;\r\n    position:absolute;\r\n    z-index:2;\r\n    top:20px;\r\n    left:410px;\r\n    width:17px;\r\n    height:17px;\r\n    background-position:-257px -86px\r\n}\r\n#store-selector.hover .content, #store-selector.hover .close {\r\n    display:block\r\n}\r\n#store-selector.hover .close {\r\n    cursor:pointer\r\n}\r\n#store-selector.hover .text {\r\n    z-index:1;\r\n    height:25px;\r\n    border-bottom:0\r\n}\r\n#store-selector .text b,#store-selector .close{\r\n    background-image:url(../images/newicon20130617.png);\r\n    background-repeat:no-repeat\r\n}\r\n#store-selector .tab li{float:left;clear:none;padding:0}\r\n#JD-stock .area-list a:hover{color:#fff}\r\n.JD-stock .tab a i,.JD-stock .tab .current,.JD-stock .tab .current a{background-image:url(../images/jd-stock.png);background-repeat:no-repeat}\r\n.JD-stock{position:relative}\r\n.JD-stock .tab{width:100%;height:25px;float:left;border-bottom:2px solid #edd28b;overflow:visible;*overflow:hidden}\r\n.JD-stock .tab .current a{color:#000}\r\n.JD-stock .tab a,.JD-stock .tab .current a.hover{position:relative;float:left;height:23px;line-height:23px;padding:0 21px 1px 11px;margin-right:3px;border:1px solid #ddd;border-bottom:0;color:#005aa0;text-align:center;cursor:pointer;text-decoration:none;}\r\n.JD-stock .tab a.hover{height:25px;background-color:#fff;border:2px solid #edd28b;border-bottom:0;padding:0 20px 0 10px;line-height:22px;text-decoration:none;color:#000}\r\n.JD-stock .tab .current a{background-repeat:repeat-x}\r\n.JD-stock .tab .current a,.JD-stock .tab .current a:hover{cursor:default}\r\n.JD-stock .tab .current a i{background-position:0 -28px}\r\n.JD-stock .tab a i,.JD-stock .tab .current a:hover i{position:absolute;right:4px;top:10px;display:block;width:7px;height:5px;overflow:hidden;background-position:0 -35px}\r\n.JD-stock .tab .current a:hover i{background-position:0 -28px}\r\n.JD-stock .tab a:hover i{top:10px;right:4px;background-position:0 -28px;*top:9px}\r\n.area-list{padding-top:5px}\r\n.area-list li{float:left;width:180px;padding:2px 0 2px 15px;clear:none}\r\n.area-list li a{float:left;padding:2px 4px;color:#005aa0}\r\n.area-list li a:hover{background:#005ea7;color:#fff}\r\n.area-list .longer-area{width:370px}\r\n.area-list .long-area{width:170px}\r\n#renew_agreement_title{text-align:center}\r\n.renew-btn{padding-top:10px}\r\n.renew-btn a{display:block;margin:0 auto;width:110px;height:36px;font:16px/36px 'microsoft yahei';text-align:center}\r\n.renew-btn a:hover{text-decoration:none}\r\n/*更多下拉*/\r\n#address-more #invoice-more-btn{width:100px; height:16px; margin:-1px auto 0; border:1px solid #ccc; border-top-color:#fff; position:relative; text-align:left; cursor:pointer; background:url(../images/more-bg-1.gif) repeat-x;}\r\n#address-more span, #address-more s,#invoice-more-btn span, #invoice-more-btn s {float:left; cursor:pointer;}\r\n#address-more span {margin-right:5px; color:#666; line-height:16px;}\r\n#address-more, #invoice-more-btn {width:100px; height:16px; margin:-1px auto 0; border:1px solid #ccc; border-top-color:#fff; position:relative; text-align:left; cursor:pointer; background:url(../images/more-bg-1.gif) repeat-x;}\r\n.address-list .select-expand span, #part-invoice .invoice-more .select-expand span { padding-left: 10px;}\r\n#address-more span, #invoice-more-btn span {color: #666666;line-height: 16px;margin-right: 5px;}\r\n#address-more s{width:5px; height:7px; margin-top:4px; overflow:hidden; line-height:0; font-size:0; background:url(../images/more-arrow-1.gif) no-repeat 0 -6px;}\r\n.address-list .inner{border-top:1px solid #fff;-webkit-transition: all .4s ease-out;-o-transition: all .4s ease-out;transition: all .4s ease-out;}\r\n.address-list .inner:hover{border-top:1px solid #ccc;}\r\n\r\n\r\n\r\n/*京豆支付*/\r\n.beans{\r\n    border: 1px solid #A3D1EC;\r\n    padding: 5px 18px;\r\n    /*height:86px;*/\r\n}\r\n.beans .bs-t{\r\n    border-bottom: 1px dashed #A3D1EC;\r\n    height: 26px;\r\n    line-height: 26px;\r\n    padding:12px 0 8px;\r\n}\r\n.beans .bs-t .bs-num{\r\n    vertical-align: middle;\r\n    height: 24px;\r\n    line-height: 24px;\r\n    border:1px solid #ccc;\r\n    text-align: center;\r\n    padding: 0 5px;\r\n    width: 70px;\r\n    margin-right:5px;\r\n    font-weight: bold;\r\n}\r\n.beans .bs-t .bs-num.focus{\r\n    border:1px solid #7abd54;\r\n}\r\n.beans .bs-t.failure .bs-num{\r\n    border:1px solid #e4393c;\r\n    color: #e4393c\r\n}\r\n.beans .bs-t span{\r\n    float:left;\r\n    font-weight: bold;\r\n    color:#333;\r\n    margin-right:5px;\r\n}\r\n.beans .bs-t .error{\r\n    float:left;\r\n    color: #e4393c;\r\n    background-color: #ffebeb;\r\n    border:1px solid #ffbdbe;\r\n    height: 24px;\r\n    line-height: 24px;\r\n    padding:0 8px;\r\n    display: none;\r\n}\r\n.beans .bs-t.failure .error{\r\n    display: inline-block;\r\n}\r\n.beans .bs-t .btn-add{cursor:pointer;}\r\n.beans .bs-t.failure .btn-add{\r\n    cursor:not-allowed;\r\n    background: url(\"i/btn-r25.png\") no-repeat scroll 0 -50px #fff;\r\n    color: #dcdcdc;\r\n}\r\n.beans .bs-m{\r\n    padding: 10px 0;\r\n    height: 20px;\r\n}\r\n.beans .bs-m .a-link:link{\r\n    color: #005EA7;\r\n    float: right;\r\n}\r\n.beans .bs-m .rest .a-link:link{\r\n    float: none;\r\n    padding-left: 15px;\r\n}\r\n.beans .bs-m b{\r\n    font-weight: bold;\r\n    color:#ff6600;\r\n    font-family: verdana;\r\n}\r\n.beans .bs-m s{\r\n    font-weight: bold;\r\n    text-decoration: none;\r\n    color:#333;\r\n    font-family: verdana;\r\n}\r\n.beans .bs-m .rest{\r\n    float: left;\r\n}\r\n\r\n/*重置a 标签*/\r\n.a-link,.a-link:link,.a-link:visited{\r\n    color: #005EA7;\r\n}\r\n\r\n/*tips*/\r\n.tips-i{\r\n    display: inline-block;\r\n    height:18px;\r\n    width: 18px;\r\n    /*vertical-align: middle;*/\r\n    background: url('../images/tips-ico.png') no-repeat 0 center;\r\n}\r\n.tips-i:hover{\r\n    text-decoration: none;\r\n}\r\n.express-form .tips-i{\r\n    float: left;\r\n    margin: 3px 0 0 3px;\r\n}\r\n.step-stitle strong .tips-i{\r\n    margin-left: 5px;\r\n}\r\n#payRemark_8 .tips-i{\r\n    margin-left: 3px;\r\n}\r\n.invoice-form .hookbox-list .tips-i{\r\n    margin: 3px 0 0 3px;\r\n    float: left;\r\n}\r\n/*运费险 2013、10、*/\r\ni.yfx{padding:0 40px;background:url(../images/yfx.png) no-repeat;margin-right:10px;margin-left:10px;*display:inline-block;}\r\n/*重要按钮调整*/\r\n.submit-btn{\r\n    position: relative;\r\n    font: bold 14px/30px Arial,Verdana,\"\\5B8B\\4F53\";\r\n    text-align: center;\r\n    color: #fff;\r\n    display: inline-block;\r\n    height: 30px;\r\n    padding-left: 20px;\r\n    cursor: pointer;\r\n    background: url(\"i/btn-save2013.png\") no-repeat scroll 0 0 #E74649;\r\n}\r\n.submit-btn:link,.submit-btn:visited{\r\n    color: #fff;\r\n    text-decoration: none;\r\n}\r\n.submit-btn span{\r\n    background: url(\"i/btn-save2013.png\") no-repeat scroll 100% -30px #E74649;\r\n    cursor: pointer;\r\n    float: left;\r\n    height: 30px;\r\n    padding-right: 20px;\r\n}\r\n.submit-btn b{\r\n    display: block;\r\n    width: 100%;\r\n    height: 100%;\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    cursor: pointer;\r\n}\r\n.submit-btn:hover{\r\n    background: url(\"i/btn-20130725.png\") no-repeat scroll 0 -60px #E74649;\r\n}\r\n.submit-btn:hover span{\r\n    background: url(\"i/btn-20130725.png\") no-repeat scroll 100% -90px #E74649;\r\n}\r\n/*提交订单按钮*/\r\n.checkout-buttons .checkout-submit{\r\n    background-color:#e00;\r\n    position:relative;\r\n    line-height:36px;\r\n    overflow:hidden;\r\n    color:#fff;\r\n    font-weight:bold;\r\n    font-size:16px;\r\n}\r\n .checkout-buttons .checkout-submit b{\r\n    position:absolute;left:0;top:0 ;width:135px;height:36px;background: url(../images/btn-submit.jpg) no-repeat;cursor:pointer;\r\n    overflow:hidden;\r\n}\r\n.checkout-buttons .checkout-submit:hover{\r\n    background-color:#EF494D;\r\n}\r\n.checkout-buttons  .checkout-submit:hover b{\r\n    background-position: 0 -36px;\r\n}\r\n .checkout-buttons .checkout-submit-disabled{\r\n    background-color:#ccc;\r\n    position:relative;\r\n    line-height:36px;\r\n    font-weight:bold;\r\n    font-size:16px;\r\n    cursor:not-allowed;\r\n}\r\n.checkout-buttons .checkout-submit-disabled b{\r\n    position:absolute;left:0;top:0;width:135px;height:36px;background: url(../images/btn-disabled.png) no-repeat;cursor:not-allowed;\r\n}\r\n\r\n/*发票信息*/\r\n.special-form {}\r\n.special-form .pull-tips {padding:5px 0 5px 105px;}\r\n.special-form .list {clear:both; zoom:1;}\r\n.special-form .label {margin-right:10px;}\r\n.special-form .list-last .label {margin-right:0;}\r\n.special-form .textbox {width:308px; height:16px; border:1px solid #CCC; padding:4px 3px; font-family:Arial,\"\\5B8B\\4F53\",sans-serif;}\r\n.special-form .invoice-types .field {width:790px;}\r\n.special-form .invoice-types .field li {zoom:1;}\r\n\r\n.special-form .invoice-types .field label {word-break: break-all; word-wrap: break-word;}\r\n/*礼品卡*/\r\n.card-tip{border:1px solid #edd28b;background:#fffdee;padding:20px;line-height:20px;}\r\n.card-tip h3{color:#ff7500;}\r\n.card-tip p{ text-indent:2em;}\r\n.card-psw h3{display:inline-block;display:inline-block;*display:inline;*zoom:1;}\r\n.card-psw .tit-tip{color:#999;}\r\n.card-psw .item{height:36px;margin:0 0 20px;}\r\n#payment-ship .card-psw .item .label{width:135px;color:#999;text-align:right;}\r\n.card-psw .form .item label{float:none;}\r\n.card-psw .item .text{border:1px solid #ccc;height:18px;line-height:18px;padding:8px 5px;width:258px;}\r\n.card-psw .item .succ-tip{display:inline-block;margin:0 0 0 10px;background:#f7f7f7;height:18px;line-height:18px;border:1px solid #ccc;padding:8px 15px;}\r\n\r\n.special-form .invoice-types .field label {word-break: break-all; word-wrap: break-word;}\r\n\r\n/*预售结算*/\r\n.presale-con{float: right;line-height: 50px;padding:0 10px;}\r\n.presale-con .presale-info{float: left;margin-right: 30px;}\r\n.presale-con .presale-info i{display: inline-block;width: 24px;height: 24px;vertical-align:middle;background: url(../images/presale-icon.png) 0 2px no-repeat;}\r\n.presale-con .presale-info .pho-num{color: #E4393C;font-size: 16px;font-weight: normal;font-family: Verdana;vertical-align: middle;display: inline-block;height: 24px;line-height: 24px;margin-right: 5px;}\r\n.presale-con .presale-info .pho-num input{height:22px;line-height: 22px;width:96px;padding: 0 5px;border:1px solid #ccc;font-family: Verdana; }\r\n.presale-con .presale-info .pho-num .error{background-color:#FFEBEC;border: 1px solid #FFBDBF;color: #E6393D;}\r\n.presale-con .presale-info a{margin-left: 5px;}\r\n.presale-con .presale-info span{vertical-align: middle;display: inline-block;height: 24px;line-height: 24px;}\r\n.presale-con .pay-chk{float: left;}\r\n.presale-con .pay-chk input{vertical-align: middle;margin-right: 5px;}\r\n.presale-con .pay-chk .pre-price{color: #E4393C;}\r\n.order-summary .statistic .presale-price{font-size:16px;font-weight: bold;color:#333;}\r\n.order-summary .statistic .presale-price .price{color:#E4393C;font-size:18px;}\r\n\r\n/*京豆优惠购20131111*/\r\n#order-cart .p-promotion .beans-info{border:1px solid #ebf7e4;padding:5px;text-align:center;line-height:20px;color:#7abd54;background:#fff;margin:0 5px;}\r\n#order-cart .p-promotion .beans-info a{color:#005ea7;}\r\n#order-cart .p-promotion .beans-info span.gray{color:#999;display:inline-block;height: 20px;margin:0;border-radius: none;-moz-border-radius: none;-webkit-border-radius: none;overflow: hidden;line-height: 20px;vertical-align:middle;}\r\n\r\n/*极速达等图标*/\r\n.promise411{display:block;height:16px;}\r\n.promisejsd{\r\n    padding:1px 28px;\r\n    background: url(../images/promise-ico.png) 0 0 no-repeat;\r\n    margin-left:1px;\r\n\theight:14px;\r\n\tdisplay:inline-block;*display:inline;*zoom:1;\r\n}\r\n.promisejsd:hover{\r\n    background: url(../images/promise-ico.png) -100px 0 no-repeat;\r\n    text-decoration: none;\r\n}\r\n.promisexsd{\r\n    padding:1px 36px;\r\n    background: url(../images/promise-ico.png) 0 -20px no-repeat;\r\n    margin-left:1px;\r\n    height:14px;\r\n    display:inline-block;*display:inline;*zoom:1;\r\n}\r\n.promisexsd:hover{\r\n    background: url(../images/promise-ico.png) -100px -20px no-repeat;\r\n    text-decoration: none;\r\n}\r\n.promisejdint{\r\n    display:inline-block;*display:inline;*zoom:1;\r\n    width:68px;\r\n    height:16px;\r\n    \r\n    overflow:hidden;\r\n    background: url('../images/promise-ico-20140416.png') 0 -40px no-repeat;\r\n    margin-right:3px;\r\n}\r\n.promisejdint:hover{\r\n    background-position:-100px -40px;\r\n    text-decoration: none;\r\n}\r\n/*礼品购*/\r\n.noShowMoney {font-size: 12px;font-weight: normal;margin-left: 10px;}\r\n.noShowMoney input{margin-right: 5px;vertical-align: -2px;_vertical-align: -1px;}\r\n#gift_remind_div .field{padding-top: 6px;padding-left: 8px;}\r\n\r\n\r\n.promisexsd:hover{background:url(../images/promise-ico.png) -100px -20px no-repeat;text-decoration:none}\r\n.more-address{background:url(../images/more-address.png) no-repeat;width:92px;height:18px;padding-left:10px;line-height:18px;overflow:hidden;margin:20px auto;cursor:pointer}\r\n\r\n#invoie-consignee-form{margin:0 0 10px}\r\n.extra-stitle{padding:0 20px}\r\n\r\n.invoice-prompt dt{float:left;width:60px;}\r\n.invoice-prompt dd{float:left;}\r\n.limit-lab span{line-height: 18px;}\r\n.limit-lab input{visibility: hidden;}\r\n\r\n.mt5{margin-top:5px}.mt10{margin-top:10px}.mt20{margin-top:20px}.mr5{margin-right:5px}.mr10{margin-right:10px}.mb5{margin-bottom:5px}.mb10{margin-bottom:10px}.ml5{margin-left:5px}.ml10{margin-left:10px}.ml20{margin-left:20px}.ml40{margin-left:40px;}.ftx-01{color:#e4393c}.ftx-02{color:#71b247}.ftx-03{color:#999}.ftx-04{color:#f60;}.ftx-05{color:#005ea7;}#order-cart .p0{padding-left:0;padding-right:0;}.cursor-d{cursor:default;}\r\n\r\n\r\n.tip-box{margin-top:10px;}.tip-box .op-btns{margin-top:20px;}.tip-box h3{font-family:\"microsoft yahei\";font-size:16px;line-height:30px;}.tip-box .item-fore{overflow:hidden;}.tip-box a{color:#005EA7;}.icon-box{position:relative;}.icon-box .m-icon{background:url(\"i/icon48.png\") no-repeat scroll 0 0 rgba(0,0,0,0);display:inline-block;height:48px;left:0;position:absolute;top:0;width:48px;}.icon-box .succ-icon{background-position:0 0;}.icon-box .warn-icon{background-position:-96px 0;}.icon-box .item-fore{margin-left:58px;}.btn-9{background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f7f7f7,#f3f2f2);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f7f7f7),color-stop(1,#f3f2f2));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7f7f7',endColorstr='#f3f2f2',GradientType='0');-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7f7f7',endColorstr='#f3f2f2');background-image:linear-gradient(to top,#f7f7f7 0%,#f3f2f2 100%);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;display:inline-block;*display:inline;*zoom:1;height:18px;line-height:18px;border:1px solid #ddd;padding:2px 14px 3px;color:#323333;}.btn-9:hover{background-color:#f8f8f8;background-image:-moz-linear-gradient(top,#f8f8f8,whitesmoke);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f8f8f8),color-stop(1,whitesmoke));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8',endColorstr='whitesmoke',GradientType='0');-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8',endColorstr='whitesmoke');background-image:linear-gradient(to top,#f8f8f8 0%,whitesmoke 100%);}.btn-9:link,.btn-9:visited{color:#323333;text-decoration:none;}.btn-5{background-color:#f5fbef;background-image:-moz-linear-gradient(top,#f5fbef,#eaf6e2);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f5fbef),color-stop(1,#eaf6e2));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5fbef',endColorstr='#eaf6e2',GradientType='0');-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5fbef',endColorstr='#eaf6e2');background-image:linear-gradient(to top,#f5fbef 0%,#eaf6e2 100%);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;display:inline-block;*display:inline;*zoom:1;height:18px;line-height:18px;border:1px solid #bfd6af;padding:2px 14px 3px;color:#323333;}.btn-5:hover{background-color:#f6fbf3;background-image:-moz-linear-gradient(top,#f6fbf3,#eef7e8);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f6fbf3),color-stop(1,#eef7e8));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6fbf3',endColorstr='#eef7e8',GradientType='0');-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6fbf3',endColorstr='#eef7e8');background-image:linear-gradient(to top,#f6fbf3 0%,#eef7e8 100%);}.btn-5:link,.btn-5:visited{color:#323333;text-decoration:none;}.jdradio,.jdcheckbox{float:none;margin:0 3px 0 0;padding:0;vertical-align:-2px;}.tip-box .line-top{border-top:1px dotted #ddd;padding-top:10px;}\r\n\r\n.coupon-num-tip{cursor:pointer;}#coupon-num-box .Jtips-con{padding:0 30px 0 10px}#coupon-num-box .order-tooltip{position:relative;}#coupon-num-box .order-tooltip .tooltip-goods{margin-top:15px;}.order-tooltip .tooltip-goods .goods-item{padding:0;margin-bottom:10px;}#coupon-num-box .tooltip-goods .p-name{height:3em;}#coupon-num-box .Jtips-close{top:5px;right:5px;}#coupon-num-box .Jtips-arr{left:30px;}\r\n\r\n/*order compar   20140714*/\r\n.way-category{margin-top:10px;}\r\n.way-category-selected{background:#fff4d3;padding:0;}\r\n.way-category-selected #subway-sment {width:820px;margin:0 auto;}\r\n.way-category-selected #subway-sment .sment-box{width:820px;}\r\n#payment-ship .way-category-selected .sment-box .item-selected{background:#ffeaab;}\r\n#payment-ship .way-category-selected  .item .field {max-width:610px;_width:610px;}\r\n#payment-ship #pick-shipment-extend-info{width:820px;margin:0 auto;}\r\n.address-list-new .inner{border-top:1px dotted #d5d5d5;}\r\n#address-more-new{text-align:center;color:#005ea7;padding-top:10px;}\r\n#address-more-new span{cursor:pointer;}\r\n#address-more-new s{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;position:relative;top:-2px;width:0;height:0;border-style:dashed dashed solid;border-width:4px;border-color:transparent transparent #005ea7;overflow:hidden;zoom:1;font-size:0;overflow:hidden;}\r\n#address-more-new.select-expand s{border-style:solid dashed dashed;border-color:#005ea7 transparent transparent;top:2px;}\r\n\r\n#payment-ship .way-category-label-a .ftx-06{color:#666;}\r\n#pick-shipment-tip{position:relative;top:3px;}\r\n\r\n.pick-shipment-content  .bt-tip{color:#333;border-bottom:1px dotted #ddd;margin-bottom:10px;line-height:30px;}\r\n.pick-shipment-content .tooltip-goods .p-img {width:50px; height:50px; margin-right:3px; border:1px solid #ddd; padding:0; float:left;}\r\n.pick-shipment-content .tooltip-goods .p-name {width:158px; float:left;height:4.5em;line-height:1.5em;}\r\n.pick-shipment-content .tooltip-goods .p-name  a{cursor:default;color:#333333;text-decoration:none;}\r\n.pick-shipment-content .tooltip-goods .p-img a{cursor:default;}\r\n\r\n.mr30{margin-right:30px;}\r\n.presale-total{ text-align:right;color:#333;margin-top:5px;}\r\n.presale-total .presale-list{margin-bottom:30px;}\r\n.presale-total .font-b{font-size:14px; font-weight:bold;}\r\n.presale-total .num{font-family:verdana;margin-right:5px;}\r\n.order-summary .presale-total label, .order-summary .presale-total input{float:none;}\r\n.presale-total .presale-info{display:inline-block;*display:inline;*zoom:1;line-height: 40px;background:#f5f5f5;overflow:visible;padding:0 10px;margin:-10px 0 28px;}\r\n.presale-total .presale-info .jdcheckbox{margin-left:25px;}\r\n.presale-total .presale-info .phone-num{font-size:14px; font-family:verdana;margin-right:10px;}\r\n.presale-icon{display:inline-block;*display:inline;*zoom:1;width:24px;height:24px; vertical-align:middle;background:url(i/presale-icon.png) no-repeat;}\r\n.deposit {background:#e4393c;color:#fff;padding:1px 2px;margin-right:5px;}\r\n.p-price .final{color:#333;margin-top:5px;}\r\n.p-price .ftx-03{color:#999;}\r\n.presale-total .presale-info .itxt{border:1px solid #ddd;height:18px;line-height:18px;padding:5px;width:108px;}\r\n.presale-total .presale-info .focus-itxt{border:1px solid #7abd54;}\r\n.presale-total .presale-info .error-itxt{border-color:#e4393c;}\r\n.presale-total .presale-info .fore2{position:relative;height:30px;display:inline-block;*display:inline;*zoom:1;overflow:visible;}\r\n.presale-total .presale-info .fore2 .error-msg{position:absolute;top:33px;left:0;border:1px solid #ffbdbe; background:#ffebeb;color:#e4393c;height:18px;line-height:18px;padding:5px;width:108px;}\r\n\r\n.presale-checkbox{float: right;line-height: 50px;padding:0 10px;}\r\n\r\n.dquan,.jquan,.yfquan{display:inline-block;*display:inline;*zoom:1;color:#fff;height:18px;line-height:18px;padding:0 2px 0 3px;font-weight:normal;margin-right:10px}.dquan{background:#ff7800}.jquan{background:#e4393c}.yfquan{background:#318ae5}.quan-line{border-top:1px dashed #a3d1ec;padding:3px 0;height:2px}\r\n\r\n/*自提地址分页*/\r\n.address-page{text-align: center;line-height: 20px;height: 20px;padding-top: 10px;}\r\n.address-page .to-pre,.address-page .to-next{display: inline-block;vertical-align: middle;width: 28px;height: 20px;border: 1px solid #e0dfdc;border-radius: 3px;background-color: #f7f7f7;cursor: pointer;font-size: 16px;color: #999;}\r\n.address-page .to-disabled{color: #e1e1e1;background-color: #fff;cursor: default;}\r\n.address-page .page-num {color: #999;padding: 0 5px;font:14px/150% Verdana;}\r\n.address-page .page-num b{color: #e4393c;}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/purchase.sop.css",
    "content": "@charset \"gb2312\";\r\n/* CSS Document */\r\n#headers{width:980px}\r\n.main,.wsopad{margin-bottom:10px}\r\n.msop{padding:30px 98px;}\r\n.msop .mt{ overflow:visible;height:32px}\r\n.msop .mt .icon-succ02{margin-left:-60px;float:left;*position:relative}\r\n.msop .mt h3{font-size:18px;font-family:\\5FAE\\8F6F\\96C5\\9ED1;font-weight:normal;margin-bottom:15px}\r\n.msop .i-mt{font-size:14px;margin-bottom:8px}\r\n.list-order{background-color:#fff;border-top:1px solid #e6e6e6;margin-bottom:8px}\r\n.li-st{border-bottom:1px solid #e6e6e6;padding:10px;overflow:hidden;*zoom:1;color:#333}\r\n.li-st .fore1,.li-st .fore2,.li-st .fore3{float:left}\r\n.li-st .fore1,.li-st .fore2{margin-right:30px}\r\n.li-st .fore3{width:460px}\r\n.i-tips,.i-tips01{margin-bottom:8px}\r\n.i-tips01{text-indent:-36px;padding-left:36px}\r\n#sop01{margin-bottom:0}\r\n#sop02 .i-tips{font-size:14px}\r\n#sop02{position:relative;min-height:190px}\r\n*html #sop02{height:190px}\r\n.bg-oring{position:absolute;right:98px;top:30px;width:232px;height:210px;background-image:url(i/bg-sop.png)}\r\n#sop03{overflow:visible;color:#666;border-width:2px;padding:15px}\r\n#sop03 .mt{height:30px;line-height:30px}\r\n#sop03 .mc{padding:20px}\r\n#sop03 .btn{font-weight:bold}\r\n.list-nm{margin-bottom:10px}\r\n.list-nm li{line-height:22px}\r\n.tabs{border:none}\r\n/*.tabcon{border:solid #EB6307;border-width:0 1px 1px;background-color:#FFFDEE;padding:30px}\r\n.tabs .tab{*zoom:1;border-bottom:2px solid #EB6307;height:39px;}\r\n.tab li{border:solid #D0D0D0;border-width:2px 1px 0;font-size:16px;color:#666666;background:url(i/iconpay2013.png) 0 -46px;font-family:\\5FAE\\8F6F\\96C5\\9ED1;margin-right:6px;position:relative;height:37px;line-height:37px; overflow:visible;width:126px;padding:0;cursor:pointer}\r\n.tab li.curr{border-color:#eb6307;color:#ff6600;background-color:#fffdee;margin-bottom:-2px;height:39px;line-height:39px}*/\r\n.tabcon{background:#FFFDEE;border:2px solid #EDD28B;;padding:15px}.tab li strong{font-weight:normal}.tab li{ overflow:visible}\r\n.tabs .mc{border:none}\r\n.icon-fast{background-image:url(i/iconpay2013.png);position:absolute;line-height:100px;overflow:hidden}\r\n.tab .icon-fast{background-position:-31px 0;height:18px;width:30px;right:-3px;top:-1px}\r\n.bank-list{padding-top:18px;}\r\n.bank-list li{float:left;position:relative;margin-right:44px;margin-bottom:30px}\r\n.bank-list .radio{float:left;position:relative;top:10px}\r\n.bank-info{float:left;border:1px solid #C6C6C6;background-color:#fff;height:27px;width:129px;padding:6px 10px}\r\n.icon-disc{background-image:url(i/iconpay2013.png);color:#fff;font-weight:normal;background-position:0 -18px;width:27px;height:27px;position:absolute;left:154px;top:-18px; text-align:center;line-height:27px}\r\n.bank-list .icon-fast{width:30px;height:15px;bottom:-2px;right:-2px}\r\n.bank-info label{float:left}\r\n.btn-surepay{background:url(i/btn01.png);width:135px;height:37px;display:inline-block;line-height:100px;overflow:hidden}\r\n.btn-surepay:hover{background-position:0 -38px}\r\n.tab-t,.mp-t{color:#999999;margin-bottom:7px}\r\n.mp-t strong{color:#333333;margin-right:7px}\r\n.tabs .mt{margin-bottom:10px}\r\n.tabs .mt .hn{float:left}\r\n.tabs .mt .extra{float:right}\r\n.tabs .mt .icon-ques05{position:relative;top:3px;margin-right:3px}\r\n.tabs,.tabs .mc,.main{ overflow:visible}\r\n\r\n.bank-list:after {content: \".\";display: block;height: 0;clear: both;visibility: hidden;}\r\n.bank-list {display: inline-block;}\r\n.prompt01{position:absolute;border:1px solid #edd28b;background:#FFFDEE;zoom:1;width:165px;padding:10px;box-shadow: 0 0 5px 0 rgba(237,210,139,0.5);-moz-border-radius:1px;-webkit-border-radius:1px;border-radius:1px;left:178px;display:none}\r\n.pb{position:absolute;left:-10px;top:20px}.pb b{position:absolute;left:0;font-size:0;line-height:0;overflow:hidden;border:5px dashed transparent}\r\n.pb-l b{border-right-style:solid;}.pb-l .b1{left:-1px;top:-4px;border-right-color:#edd28b;}.pb-l .b2{top:-4px;border-right-color:#ffffff;}\r\n.close{position:absolute;right:10px;top:10px;font-size:14px;color:#ff6600}\r\n.bank-list .hover{z-index:1}\r\n.bank-list .hover .prompt01{ display:block}\r\n\r\n#c-tabs .cm,#c-tabs .cmt,#c-tabs .cmc{overflow:hidden}\r\n#c-tabs .m{margin-bottom:0;border:solid;border-width:2px 1px 1px;border-color:#999 #dddddd #dddddd}\r\n#c-tabs .plist{padding-top:29px;position:relative}\r\n#c-tabs .cmt{position:absolute;top:0;left:0;z-index:1;height:30px}\r\n#c-tabs .cmt h3,#c-tabs .cmt i{cursor:pointer;}\r\n#c-tabs .cmt h3{height:30px;padding-right:20px;line-height:30px;font-size:12px;font:14px/28px 'microsoft yahei'}\r\n#c-tabs .cmt i{width:20px;height:30px;float:left;background-position:0 -60px}\r\n#c-tabs .fore1 .cmt{width:230px}\r\n#c-tabs .fore2 .cmt{left:236px}\r\n#c-tabs .cmc{display:none;clear:both;padding:10px 55px;}\r\n#c-tabs .curr .cmc{display:block}\r\n#c-tabs .curr .cmt h3{background-position:100% -30px}\r\n#c-tabs .curr .cmt i{background-position:0 -90px}\r\n#c-tabs .cmc ul{overflow:hidden;height:235px;}\r\n#c-tabs .cmc li{float:left;width:130px;padding:0 8px}\r\n#c-tabs .p-img{width:130px;height:130px;overflow:hidden;text-align:center}\r\n#c-tabs .p-name{height:33px;line-height:16px;}\r\n#c-tabs .p-name a,#c-tabs .cmc .p-name a:visited,#c-tabs .cmc .p-name a:hover{color:#005ea7}\r\n#c-tabs .p-price{height:26px;color:#c00;font-family:Verdana,Arial;text-align:center}\r\n#c-tabs .p-btn{text-align:center}\r\n#c-tabs .p-btn .btn{border:1px solid #DDDDDD;background-image:none;color:#333;text-decoration: none;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius: 2px;background: -webkit-gradient(linear, 0 0, 0 100%, from(#F7F7F7), to(#F2F2F2));background: -moz-linear-gradient(top,#F7F7F7,#F2F2F2);-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#F7F7F7, endColorStr=#F2F2F2);filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#F7F7F7, endColorStr=#F2F2F2);display:inline-block;padding-left:11px;padding-right:11px;font-size:12px;margin-left:5px}\r\n#c-tabs .p-btn .btn-text{display:inline-block;height:21px;line-height:21px}\r\n#c-tabs .p-btn .btn-text:hover{ text-decoration:none;background: -webkit-gradient(linear, 0 0, 0 100%, from(#F8F8F8), to(#F8F8F8));background: -moz-linear-gradient(top,#F8F8F8, #F8F8F8);-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#F8F8F8, endColorStr=#F8F8F8);filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#F8F8F8, endColorStr=#F8F8F8);-webkit-box-shadow:0px 1px 0 0 rgba(7,0,2,.1);-moz-box-shadow:0px 1px 0 0  rgba(7,0,2,.1);box-shadow:0px 1px 0 0 rgba(7,0,2,.1);}\r\n#c-tabs .p-btn a:hover{color:#333}\r\n#some-buy{position:relative;width:878px;height:245px;}\r\n#recommend-left,#recommend-rigth{position:absolute;top:112px;width:17px;height:37px;background:url(../images/footprint-arr.png) no-repeat;cursor:pointer;}\r\n#recommend-left{left:10px;}\r\n#recommend-rigth{right:10px;background-position:-17px 0;}\r\n#cart-feedback{line-height:20px;text-align:right}\r\n.main .loading-style1{width:auto;padding:10px}\r\n.main .loading-style1 b{ display:inline-block;position:relative;top:12px;margin-right:5px}\r\n.msop .btns .ftx-03{line-height:36px;}\r\n.btn-enpay{width:155px;height:38px;line-height:100px;overflow:hidden;background-image:url(i/btn-02.png);float:left;margin-right:15px}\r\n.btn-enpay:hover{background-position:0 -38px}\r\n#sop01 .btns{margin-bottom:10px}\r\n/*201305UI*/\r\n.main{border:none;margin-bottom:16px}\r\n#sp3{border-width:2px}\r\n.o-mb{ background-color:#fff;font-size:12px;height:35px;line-height:35px;padding-left:0}\r\n#footer{border-top:1px solid #F1F1F1;padding-top:11px}\r\n.msop{position:relative;background:#F3FDED;border-top:2px solid #7ABD54;padding-right:20px;}\r\n.m3 .fore .list-h{margin-bottom:12px}\r\n.m3 .fore .list-h li{color:#333}\r\n.tabs .hn{font-size:12px;font-weight:normal;color:#999}\r\n\r\n.tabs{border-bottom:none}\r\n.tab{overflow:visible;border:solid #DDDDDD;border-width:1px 1px 0;background-color:#F7F7F7;height:30px;line-height:30px;}\r\n.tab li{float:left;border-right:1px solid #DDDDDD;text-align:center;height:29px;padding:0 28px;position:relative;color:#666666;font:18px/29px \"microsoft yahei\"}\r\n.tab li.curr{background:#fffdee;height:38px;/*-webkit-box-shadow:1px 0 0 0 rgba(7,0,2,.2);-moz-box-shadow:0px 1px 0 0 rgba(7,0,2,.2);*/box-shadow:3px -2px 2px 0 rgba(7,0,2,.1);border:solid #EDD28B;border-width:2px 2px 0 2px;margin-top:-8px;margin-bottom:-2px;margin-left:-1px;position:relative;z-index:9}\r\n.tab li.curr,.tab li.curr a:link,.tab li.curr a:visited{color:#ff6600;}\r\n.tab li a:link,.tab li a:visited{color:#333333;}\r\n.msop .icon-ques05{ vertical-align:middle}\r\n/*qrcode*/\r\n#w-jtips{margin:-5px 0 0;}\r\n#w-jtips .Jtips-con{padding:10px 20px 20px;border:1px solid #ddd;background:#fff;-moz-box-shadow: 0 0 2px 2px #eee;-webkit-box-shadow: 0 0 2px 2px #eee;box-shadow: 0 0 2px 2px #eee;}\r\n#w-jtips .Jtips-close{display:none;}\r\n\r\n#w-jtips .Jtips-arr{background: url(../images/arrow2.gif) 0 0 no-repeat;}\r\n#w-jtips.Jtips-bottom .Jtips-arr{left:65px;}\r\n\r\n\r\n.qr-code{position:absolute;top:0;right:0;padding-right:76px;z-index:1;}\r\n.qr-code .sao{display:block;position:absolute;top:0;right:0;background:url(../images/qr-code-sao.png) no-repeat;width:76px; height:77px; cursor:default}\r\n.qr-code .sao02{display:block;position:absolute;top:0;right:0;background:url(../images/qr-code-sao02.png) no-repeat;width:76px; height:77px; cursor:default}\r\n#w-jtips.code-Jtips{margin:-26px 0 0 77px;}\r\n#w-jtips.code-Jtips .Jtips-con{padding:30px 25px 20px 25px; text-align:center;}\r\n#w-jtips.code-Jtips .Jtips-arr{display:none;}\r\n#w-jtips.code-Jtips h3{font-size:14px;margin:20px 0 0;text-align:left;}\r\n#w-jtips.code-Jtips .Jtips-close{background:url(../images/qr-close.png) 0 0 no-repeat;display:block;width:53px;height:25px;line-height:100px;overflow:hidden;top:347px;right:30px;}\r\n#qr-code-item.qr-code-item s{display:inline-block;height:18px;width:18px;background:url(../images/qrcode.png) 0 -28px;overflow:hidden;margin:-5px 5px 0 0; vertical-align:middle;}\r\n#qr-code-item.curr s{background-position:0 -10px;}"
  },
  {
    "path": "migo-portal/src/main/webapp/css/regist.personal.css",
    "content": "/*regist*/\r\n#regist .mt,#regist .mt h2,#regist .mt span{height:32px;line-height:32px;}\r\n#regist .mt{padding-right:10px;position:relative;overflow:visible;margin-bottom:-1px;border-bottom:1px solid #dddddd;}\r\n#regist .mt h2{float:left;padding-left:15px;}\r\n#regist .mt span{float:right;text-align:right;}\r\n#regist .mt b{display:none;}\r\n#regist .mt .extra{position:absolute;right:20px;top:5px;}\r\n#regist .mc{padding:30px 0 20px;border:solid #dddddd;border-width:0px 1px 1px; }\r\n#regist .tab{height:33px;padding-left:277px;}\r\n#regist .tab li{margin-right:5px;margin-top:3px;font-size:14px;width:100px;height:28px;text-align:center;line-height:28px;color:#F79100;}\r\n#regist .tab .new{height:31px;line-height:31px;margin-top:0;}\r\n#regist .tab .curr{position:relative;color:#fff;background:#ffffff;color:#e4393c;height:32px;line-height:32px;font-weight:bold;margin-top:0;-moz-box-shadow:2px 0 2px #DDDDDD; -webkit-box-shadow:2px 0 2px #DDDDDD;box-shadow:2px 0 2px #DDDDDD;border-bottom: none;}\r\n#regist .tab li{background:#f7f7f7;border:1px solid #dddddd;}\r\n#regist .tab li.fore{width:224px;}\r\n#regist .tab li a{display:block;width:100px;height:34px;}\r\n#regist .tab .fore a{width:224px;}\r\n#regist .tab li a:hover,#regist .tab li a:active{\r\n    color: #333;\r\n    text-decoration: none;\r\n}\r\n#regist .item{padding-top:9px;height:60px;line-height:34px;position:relative;z-index:1;}\r\n.thickbox-form .item{height:70px;line-height:40px;position:relative;z-index:1;}\r\n.thickbox-form .f-body{height: 170px;}\r\n#regist #select-regName{z-index:5;}\r\n#regist .label,.thickbox-form .label{width:190px;text-align:right;font-size:14px;color:#999;padding-right:10px;}\r\n#regist .label b,.thickbox-form .label b{font-family:\"????\";margin-right:5px;font-weight:normal;}\r\n#regist .text,.thickbox-form .text{\r\n    width:238px;\r\n    height:16px;\r\n    padding:10px 25px 10px 5px;\r\n    border:1px solid #cccccc;\r\n    float:none;\r\n    font-size:14px;\r\n    font-family:arial,\"宋体\";\r\n    color: #999;\r\n    overflow:hidden;\r\n}\r\n#regist .text-1,.thickbox-form .text-1{width:100px;float:left;}\r\n#regist .blank,.thickbox-form .blank{width:16px;height:16px;position:absolute;left:243px;top:7px;padding:3px;float:none;}\r\n#regist .img img,.thickbox-form .img img{height:26px;margin:0 5px;}\r\n#regist .succeed,.thickbox-form .succeed{background:url(../images/sucess.png) center no-repeat #ffffff;}\r\n#regist .error-ico,.thickbox-form .error-ico{background:url(../images/error.png) center no-repeat #ffffff;}\r\n#regist .cue-ico,.thickbox-form .cue-ico{background:url(../images/cue.png) center no-repeat #ffffff;}\r\n#authcode_box{\r\n    padding-top: 5px;\r\n    line-height:26px;\r\n}\r\n#regist .btn-regist{width:270px;height:36px;color:#FFF; font-family:\"microsoft yahei\";font-size:16px;text-indent:-9999px;font-weight:800;overflow:hidden;background:url(../images/regist-btn.jpg) no-repeat ;}\r\n\r\n#recom_tips{\r\n    border: 1px solid #ddd;\r\n    border-top: 0;\r\n    background:#fff;\r\n}\r\n#recom_tips li{\r\n    padding:8px 5px;\r\n    font-size:14px;\r\n    color: #333;\r\n    cursor:pointer;\r\n}\r\n#recom_tips li input{\r\n    vertical-align: middle;\r\n}\r\n#recom_tips .hover{\r\n    background: #eee;\r\n}\r\n#recom_tips .tit{\r\n    background: none;\r\n    color: #999\r\n}\r\n.btn,.btn-15{margin-top: 5px;}\r\n.btn,.btn-comm{\r\n    margin-left: 10px;\r\n    border:1px solid #dddddd;;\r\n    padding: 0;\r\n    width:106px;\r\n    height: 36px;\r\n    background:#f4f4f4;\r\n    margin-top:0;\r\n    text-align:center;\r\n    line-height:36px;\r\n    color: #333;\r\n    text-decoration:none;\r\n    display:inline-block;\r\n}\r\n.btn:hover,.btn-comm:hover{\r\n    color:#333;\r\n}\r\n.btn span{color:#333;}\r\n.btn-comm{margin:0;width:auto;padding:0 14px;}\r\n.btn-15{\r\n    background-position: 0 -57px;\r\n    color: #ccc\r\n}\r\n#regist .highlight1,.thickbox-form .highlight1{border:1px solid #7ABD54;color: #333;}\r\n#regist .highlight2,.thickbox-form .highlight2{border:1px solid #FF0000;color:#f00;}\r\n#regist .highlight3,.thickbox-form .highlight3{border:1px solid #fc0;color:#333;}\r\n#regist .pwdbg,.thickbox-form .pwdbg{background:#FFF8EB;}\r\n#regist .ajax-check,.thickbox-form .ajax-check{position:absolute;margin-left:-21px;padding-left:21px;right:-70px;top:5px;}\r\n#regist .focus,#regist .error,#regist .cue{color:#e4393c;line-height:36px;height:36px;position:absolute;top:0px;right:-275px;width:260px;padding:0 5px;background:#FFEBEB;border:1px solid #ffbdbe;}\r\n#regist .item-ifo-extra .focus,#regist .item-ifo-extra .error,#regist .item-ifo-extra .cue{right:-195px;}\r\n#regist .null,.thickbox-form .null{background:none;border:none;background:none;}\r\n#regist .error span,.focus span,.thickbox-form .error span{padding:5px 0;line-height:13px;display:block;}\r\n#regist .focus,.thickbox-form .focus{color:#666;width:260px;;line-height:36px;background:#f7f7f7;border:1px solid #dddddd;}\r\n#regist .cue,.thickbox-form .cue{width:260px;;line-height:36px;background:#fffdee;border:1px solid #edd28b;color:#f7c600;}\r\n\r\n.thickbox-form .focus,.thickbox-form .success,.thickbox-form .error,.thickbox-form .cue{height:26px;line-height:26px;margin-top: -1px;}\r\n.thickbox-form .success{display:block;width:263px;padding-left:5px;border:1px solid #d0e4c2;color:#71b247;}\r\n.thickbox-form .error{display:block;width:263px;padding-left:5px;border:1px solid #ffbdbe; background:#ffebeb;color:#e4393c;float:none;}\r\n.thickbox-form .focus,.thickbox-form .cue{display:block;width:263px;padding-left:5px;}\r\n#regist .null,#regist .error,.thickbox-form .null,.thickbox-form .error{color:#f00;}\r\n#regist #mobileCodeDiv .focus,#regist #mobileCodeDiv .cue,.thickbox-form #mobileCodeDiv1 .focus,.thickbox-form #mobileCodeDiv1 .cue  {background:none;border:none;position:relative;right:0;padding:0;display:inline;}\r\n#regist #mobileCodeDiv .cue,.thickbox-form #mobileCode .cue{color:#f7c600;}\r\n#regist .checkbox{margin-top:8px;*margin-top:5px;_margin-top:6px;}\r\n@media all and (-webkit-min-device-pixel-ratio:0) { #regist .checkbox {margin-top:10px;} }\r\n#regist #referrer,.thickbox-form #referrer{color:#999;font-size:12px;}\r\n#pwdstrength{color:#999;line-height:22px;padding-right:10px;clear: both;float: none;position:absolute;top:41px;right:-9px;}\r\n#pwdstrength b{float:left;width:104px;height:13px;overflow:hidden;margin-top:5px;*margin-top:3px;}\r\n.strengthA b{background:url(../images/pwdstrength.gif) no-repeat 0 0;}\r\n.strengthB b{background:url(../images/pwdstrength.gif) no-repeat 0 -13px;}\r\n.strengthC b{background:url(../images/pwdstrength.gif) no-repeat 0 -26px;}\r\n\r\n/*service*/\r\n.service{overflow:hidden;zoom:1;margin-bottom:13px;padding:15px;background:#F7F7F7;}\r\n.service li{float:left;overflow:hidden;height:14px;padding:0 17px;border-left:1px solid #ccc;background-image:url(../images/bg20110922.png);background-repeat:no-repeat;font-size:0;line-height:100px;}\r\n.service li.fore{border:none;}\r\n.service .bl1{width:162px;background-position:17px 0;}\r\n.service .bl2{width:187px;background-position:17px -15px;}\r\n.service .bl3{width:162px;background-position:17px -30px;}\r\n.service .bl4{width:254px;background-position:17px -45px;}\r\n/*-moz-*/\r\n@-moz-document url-prefix(){#regist .btn-regist{padding-bottom:5px;}}\r\n@-moz-document url-prefix(){#regist .checkbox{margin-top:11px;}}\r\n/**/\r\n.form {\r\n float:left;width:750px;\r\n}\r\n.phone {\r\n   float:left;\r\n  margin-top: 9px;\r\n    width: 220px;\r\n    height:182px;\r\n}\r\n.item-protocol{\r\n    margin: -10px 0 10px 200px;\r\n}\r\n.item-protocol a:hover{\r\n    color: #c00;\r\n}\r\n.protocol-box{\r\n    padding:10px;\r\n    border: 1px solid #CCC;\r\n    color: #666666;\r\n    height: 80px;\r\n    margin:0 auto;\r\n    overflow-y: scroll;\r\n    padding: 8px;\r\n    width: 600px;\r\n}\r\n.protocol-box h4{padding-bottom:10px;font-size:14px;text-align:center;}\r\n.protocol-box h5{padding:5px 0;text-indent:2em;}\r\n.protocol-box p{text-indent:2em;}\r\n.protocol-box em{font-style:italic;}\r\n.protocol-box strong{margin-right:5px;}\r\n#regist .item .item-ifo,.thickbox-form .item .item-ifo {\r\n    position: relative;\r\n    width:270px;\r\n}\r\n.thickbox-form .item .item-ifo {\r\n    position: relative;\r\n    width:330px;\r\n}\r\n#regist .item .item-ifo-extra,.thickbox-form .item .item-ifo-extra  {\r\n    position: relative;\r\n    width:350px;\r\n}\r\n#regist  #mobileCodeDiv .item-ifo,.thickbox-form.thickbox-form  #mobileCodeDiv .item-ifo{width:255px;}\r\n#regist #authcodeDiv  .item-ifo,.thickbox-form #authcodeDiv  .item-ifo {width:380px;}\r\n#regist .item-ifo i,.thickbox-form .item-ifo i {\r\n    position: absolute;\r\n    right: 8px;\r\n}\r\n#regist .item-ifo .i-name,.thickbox-form .item-ifo .i-name {\r\n    background:url(../images/one4.jpg) no-repeat scroll 0 0 transparent;\r\n    height: 16px;\r\n    top: 9px;\r\n    width: 16px;\r\n}\r\n#regist .item-ifo .i-pass,.thickbox-form .item-ifo .i-pass {\r\n    background: url(../images/one5.jpg) no-repeat scroll 0 0 transparent;\r\n    height: 19px;\r\n    top: 10px;\r\n    width: 14px;\r\n}\r\n#regist .item-ifo .i-phone,.thickbox-form .item-ifo .i-phone {\r\n    background: url(\"../images/one6.jpg\") no-repeat scroll 0 0 transparent;\r\n    height: 21px;\r\n    top: 8px;\r\n    width: 14px;\r\n    left:250px;\r\n}\r\n#regist a.blue:link,#regist a.blue:visited{color:#005AA0;}\r\n#countDown{position:absolute;top:36px;left:1px;width:470px;}\r\n#regist #mobileCodeDiv .error,.thickbox-form #mobileCodeDiv .error{right:-265px;width:255px;top:0px;}\r\n#regist #regName_error,.thickbox-form #regName_error{margin-top:0;float:none;cursor:pointer;}\r\n\r\n.intelligent-error{\r\n    background: none repeat scroll 0 0 #ffebeb;\r\n    border: 1px solid #ffbdbe;\r\n    left: 0px;\r\n    position: absolute;\r\n    top: 38px;\r\n    width: 268px;\r\n    z-index:20;\r\n}\r\n.intelligent-error .error-ifo{padding:3px 3px 0;color:#e4393c;line-height:18px;}\r\n.intelligent-error h5{padding:0 3px;font-weight:normal;color:#999999;margin-top:1px;}\r\n.intelligent-error .item-fore{padding:0 3px;height:24px;line-height:24px;overflow:hidden;}\r\n.intelligent-error .item-fore label{font-size:14px;}\r\n@-moz-document url-prefix(){.intelligent-error .item-fore .radio{margin-top:5px;}}\r\n\r\n #intelligent-regName{width:268px;}\r\n#regist  #authcode.text{color:#333;float:left;}\r\n#regist .item-new{padding-top:0;height:49px;}\r\n#regist .hover-btn{background:url(../images/hover-btn.jpg) no-repeat;}\r\n#regist .wait-btn{background:url(../images/wait-btn.jpg) no-repeat;}\r\n#hnschool ,#schoolid,  #hnseli{display:none;}\r\n.o-intelligent-regName{z-index:3;}\r\n#sendMobileCode{float:left;margin-right:0;}\r\n.regist-2013 .btnt .btn-img{line-height:34px;}\r\n#regist{margin-bottom:10px;}\r\n\r\n\r\n.form{\r\n    position: relative;\r\n}\r\n#capslock{\r\n    display: none;\r\n    position: absolute;\r\n    top:44px;\r\n    left:200px;\r\n    z-index: 6;\r\n    width: 248px;\r\n    background-color: #fffdee;\r\n    height:30px;\r\n    line-height: 30px;\r\n    border:1px solid #edd288;\r\n    color:#f60;\r\n    padding:0 10px;\r\n}\r\n#capslock i{\r\n    background:url(../images/tip-cue.png) center center no-repeat;\r\n    display: inline-block;\r\n    height: 30px;\r\n    width:20px;\r\n    margin-right: 10px;\r\n    vertical-align: middle;\r\n\r\n}\r\n#capslock s{\r\n    position: absolute;\r\n    background:url(../images/tip-arrow.png) center center no-repeat;\r\n    height: 12px;\r\n    width:18px;\r\n    bottom:-10px;\r\n    left:38px;\r\n}\r\n.ftx01,.ftx-01{color:#e4393c}.ftx02,.ftx-02{color:#71b247}.ftx03,.ftx-03{color:#999}.ftx04,.ftx-04{color:#ff8a15}.ftx05,.ftx-05,a.ftx-05:link, a.ftx-05:visited{color:#005ea7}.ftx06,.ftx-06{color:#666}\r\n.mt20{margin-top:20px;}.mt10{margin-top: 10px;}.mr10{margin-right: 10px;}.mb10{margin-bottom:10px;}.ml10{margin-left: 10px;}.ml5{margin-left: 5px;}\r\n.thickbox .thicktitle{padding:0 10px;text-align: left;}\r\n.thickbox-form {width:500px;background: #fff;padding-top:20px;}\r\n.thickbox-form .label{width:130px;}\r\n.thickbox-form .btn-verify,.thickbox-tip .btn-red{\r\n     background-color: #e74649;\r\n    background-image: -moz-linear-gradient(top,#e74649,#df3033);\r\n    background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#e74649),color-stop(1,#df3033));\r\n    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e74649', endColorstr='#df3033', GradientType='0');\r\n    -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e74649', endColorstr='#df3033');\r\n    background-image: linear-gradient(to top,#e74649 0,#df3033 100%);\r\n    -webkit-border-radius: 2px;\r\n    -moz-border-radius: 2px;\r\n    border-radius: 2px;\r\n    display: inline-block;\r\n    *display: inline;\r\n    *zoom: 1;\r\n    height:34px;\r\n    line-height: 34px;\r\n    padding: 0 40px;\r\n    color: #fff;\r\n    font-family: \"microsoft yahei\";\r\n    font-size:16px;\r\n    font-weight: bold;\r\n}\r\n.thickbox-form .btn-verify:hover,.thickbox-tip .btn-red:hover{\r\n     background-color: #f05356;\r\n    background-image: -moz-linear-gradient(top,#f05356,#eb3c3f);\r\n    background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#f05356),color-stop(1,#eb3c3f));\r\n    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f05356', endColorstr='#eb3c3f', GradientType='0');\r\n    -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f05356', endColorstr='#eb3c3f');\r\n    background-image: linear-gradient(to top,#f05356 0,#eb3c3f 100%);\r\n    text-decoration: none;\r\n}\r\n.thickbox-form .btn-verify:link,.thickbox-form .btn-verify:visited {\r\n    color: #fff;\r\n    text-decoration: none\r\n}\r\n.thickbox-tip{\r\n    font-size:14px;\r\n    line-height: 25px;\r\n    padding:10px 40px;\r\n    font-family: verdana;\r\n}\r\n.icon-box {\r\n    position: relative;\r\n    _height: 48px;\r\n    _overflow: visible\r\n}\r\n.icon-box .info-succ,.icon-box h2{\r\n    font-size:22px;\r\n    font-family: 'microsoft yahei';\r\n    line-height: 50px;\r\n    height:50px;\r\n    font-weight:bold;\r\n}\r\n.icon-box h2{font-size:16px;height:auto;line-height:22px;padding-top:10px;}\r\n.icon-box .m-icon {\r\n    display: inline-block;\r\n    *display: inline;\r\n    *zoom: 1;\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    height: 0;\r\n    width: 48px;\r\n    height: 48px;\r\n    background: url(../images/icon48.png) no-repeat\r\n}\r\n\r\n.icon-box .succ-icon {\r\n    background-position: 0 0\r\n}\r\n\r\n.icon-box .warn-icon {\r\n    background-position: -96px 0 \r\n}\r\n\r\n.icon-box .item-fore {\r\n    margin:5px 0 25px 58px;\r\n}\r\n.thickbox-form .msg-txt{line-height: 22px;}"
  },
  {
    "path": "migo-portal/src/main/webapp/js/CommentStar.js",
    "content": " /*\r\n myjd-2014 Compressed by uglify \r\n Author:hanyuxinting \r\n Date: 2014-11-18 \r\n */\r\ndefine([\"./Base\", \"./Util\"], function(a) {\r\n    var b = new a;\r\n    return b.include({star: 0,el: null,initStar: function(a, b) {\r\n            this.el = $(\".commstar a\", a);\r\n            var c = this;\r\n            this.el.bind(\"click\", function() {\r\n                c.el.removeClass(\"active\"), $(this).addClass(\"active\"), c.star = this.getAttribute(\"_val\"), b && b(c.star, $(this))\r\n            }).bind(\"mouseover\", function() {\r\n                $(this).addClass(\"hover\")\r\n            }).bind(\"mouseout\", function() {\r\n                $(this).removeClass(\"hover\")\r\n            })\r\n        },_initStar: function(a) {\r\n            a = a;\r\n            for (var b = 0, c = a.length; c > b; b++) {\r\n                this.init(a[b], this.resetStar)\r\n            }\r\n        },resetStar: function(a, b) {\r\n            var c = a && parseInt(a[a.length - 1]), d = b.parent().parent();\r\n            d.find(\"input\").val(a);\r\n            var e = d.find(\".degree-text\");\r\n            switch (e.removeClass(e.attr(\"class\")), c) {\r\n                case 5:\r\n                    e.addClass(\"d1 degree-text\"), e.text(\"\\u5f88\\u5dee\");\r\n                    break;\r\n                case 4:\r\n                    e.addClass(\"d1 degree-text\"), e.text(\"\\u4e0d\\u6ee1\");\r\n                    break;\r\n                case 3:\r\n                    e.addClass(\"d3 degree-text\"), e.text(\"\\u4e00\\u822c\");\r\n                    break;\r\n                case 2:\r\n                    e.addClass(\"d3 degree-text\"), e.text(\"\\u6ee1\\u610f\");\r\n                    break;\r\n                case 1:\r\n                    e.addClass(\"d5 degree-text\"), e.text(\"\\u8d5e\\u4e00\\u4e2a\")\r\n            }\r\n            e.show()\r\n        }}), b\r\n});\r\n"
  },
  {
    "path": "migo-portal/src/main/webapp/js/base-2011.js",
    "content": " /*\r\n Date: 2014-01-21 \r\n */\r\nfunction login() {\r\n    return location.href = \"/user/login.html\";\r\n}\r\nfunction regist() {\r\n    return location.href = \"/user/register.html\";\r\n}\r\nfunction createCookie(a, b, c, d) {\r\n    var d = d ? d : \"/\";\r\n    if (c) {\r\n        var e = new Date;\r\n        e.setTime(e.getTime() + 1e3 * 60 * 60 * 24 * c);\r\n        var f = \"; expires=\" + e.toGMTString()\r\n    } else\r\n        var f = \"\";\r\n    document.cookie = a + \"=\" + b + f + \"; path=\" + d\r\n}\r\nfunction readCookie(a) {\r\n    for (var b = a + \"=\", c = document.cookie.split(\";\"), d = 0; d < c.length; d++) {\r\n        for (var e = c[d]; \" \" == e.charAt(0); )\r\n            e = e.substring(1, e.length);\r\n        if (0 == e.indexOf(b))\r\n            return e.substring(b.length, e.length)\r\n    }\r\n    return null\r\n}\r\nfunction addToFavorite() {\r\n    var a = \"http://www.jd.com/\", b = \"\\u4eac\\u4e1cJD.COM-\\u7f51\\u8d2d\\u4e0a\\u4eac\\u4e1c\\uff0c\\u7701\\u94b1\\u53c8\\u653e\\u5fc3\";\r\n    document.all ? window.external.AddFavorite(a, b) : window.sidebar && window.sidebar.addPanel ? window.sidebar.addPanel(b, a, \"\") : alert(\"\\u5bf9\\u4e0d\\u8d77\\uff0c\\u60a8\\u7684\\u6d4f\\u89c8\\u5668\\u4e0d\\u652f\\u6301\\u6b64\\u64cd\\u4f5c!\\n\\u8bf7\\u60a8\\u4f7f\\u7528\\u83dc\\u5355\\u680f\\u6216Ctrl+D\\u6536\\u85cf\\u672c\\u7ad9\\u3002\"), createCookie(\"_fv\", \"1\", 30, \"/;domain=jd.com\")\r\n}\r\nfunction search(a) {\r\n    var b = \"http://search.jd.com/Search?keyword={keyword}&enc={enc}{additional}\", c = search.additinal || \"\", d = document.getElementById(a), e = d.value;\r\n    if (e = e.replace(/^\\s*(.*?)\\s*$/, \"$1\"), e.length > 100 && (e = e.substring(0, 100)), \"\" == e)\r\n        return window.location.href = window.location.href, void 0;\r\n    var f = 0;\r\n    \"undefined\" != typeof window.pageConfig && \"undefined\" != typeof window.pageConfig.searchType && (f = window.pageConfig.searchType);\r\n    var g = \"&cid{level}={cid}\", h = \"string\" == typeof search.cid ? search.cid : \"\", i = \"string\" == typeof search.cLevel ? search.cLevel : \"\", j = \"string\" == typeof search.ev_val ? search.ev_val : \"\";\r\n    switch (f) {\r\n        case 0:\r\n            break;\r\n        case 1:\r\n            i = \"-1\", c += \"&book=y\";\r\n            break;\r\n        case 2:\r\n            i = \"-1\", c += \"&mvd=music\";\r\n            break;\r\n        case 3:\r\n            i = \"-1\", c += \"&mvd=movie\";\r\n            break;\r\n        case 4:\r\n            i = \"-1\", c += \"&mvd=education\";\r\n            break;\r\n        case 5:\r\n            var k = \"&other_filters=%3Bcid1%2CL{cid1}M{cid1}[cid2]\";\r\n            switch (i) {\r\n                case \"51\":\r\n                    g = k.replace(/\\[cid2]/, \"\"), g = g.replace(/\\{cid1}/g, \"5272\");\r\n                    break;\r\n                case \"52\":\r\n                    g = k.replace(/\\{cid1}/g, \"5272\"), g = g.replace(/\\[cid2]/, \"%3Bcid2%2CL{cid}M{cid}\");\r\n                    break;\r\n                case \"61\":\r\n                    g = k.replace(/\\[cid2]/, \"\"), g = g.replace(/\\{cid1}/g, \"5273\");\r\n                    break;\r\n                case \"62\":\r\n                    g = k.replace(/\\{cid1}/g, \"5273\"), g = g.replace(/\\[cid2]/, \"%3Bcid2%2CL{cid}M{cid}\");\r\n                    break;\r\n                case \"71\":\r\n                    g = k.replace(/\\[cid2]/, \"\"), g = g.replace(/\\{cid1}/g, \"5274\");\r\n                    break;\r\n                case \"72\":\r\n                    g = k.replace(/\\{cid1}/g, \"5274\"), g = g.replace(/\\[cid2]/, \"%3Bcid2%2CL{cid}M{cid}\");\r\n                    break;\r\n                case \"81\":\r\n                    g = k.replace(/\\[cid2]/, \"\"), g = g.replace(/\\{cid1}/g, \"5275\");\r\n                    break;\r\n                case \"82\":\r\n                    g = k.replace(/\\{cid1}/g, \"5275\"), g = g.replace(/\\[cid2]/, \"%3Bcid2%2CL{cid}M{cid}\")\r\n            }\r\n            b = \"http://search.e.jd.com/searchDigitalBook?ajaxSearch=0&enc=utf-8&key={keyword}&page=1{additional}\";\r\n            break;\r\n        case 6:\r\n            i = \"-1\", b = \"http://music.jd.com/8_0_desc_0_0_1_15.html?key={keyword}\"\r\n    }\r\n    if (\"string\" == typeof h && \"\" != h && \"string\" == typeof i) {\r\n        var l = /^(?:[1-8])?([1-3])$/;\r\n        i = \"-1\" == i ? \"\" : l.test(i) ? RegExp.$1 : \"\";\r\n        var m = g.replace(/\\{level}/, i);\r\n        m = m.replace(/\\{cid}/g, h), c += m\r\n    }\r\n    if (\"string\" == typeof j && \"\" != j && (c += \"&ev=\" + j), \"undefined\" != typeof $o.click && $o.click !== !1 && \"undefined\" != typeof $o.lastKeyword && $o.lastKeyword !== !1)\r\n        try {\r\n            JA.tracker.ngloader(\"search.000002\", {prefix: $o.lastKeyword,keyword: e,pos: $o.click})\r\n        } catch (n) {\r\n        }\r\n    e = encodeURIComponent(e), sUrl = b.replace(/\\{keyword}/, e), sUrl = sUrl.replace(/\\{enc}/, \"utf-8\"), sUrl = sUrl.replace(/\\{additional}/, c), (\"undefined\" == typeof search.isSubmitted || 0 == search.isSubmitted) && (setTimeout(function() {\r\n        window.location.href = sUrl\r\n    }, 10), search.isSubmitted = !0)\r\n}\r\nfunction getRandomDomain(a) {\r\n    var b, a = String(a);\r\n    switch (a.match(/(\\d)$/)[1] % 5) {\r\n        case 0:\r\n            b = 10;\r\n            break;\r\n        case 1:\r\n            b = 11;\r\n            break;\r\n        case 2:\r\n            b = 12;\r\n            break;\r\n        case 3:\r\n            b = 13;\r\n            break;\r\n        case 4:\r\n            b = 14;\r\n            break;\r\n        default:\r\n            b = 10\r\n    }\r\n    return \"http://img{0}.360buyimg.com/\".replace(\"{0}\", b)\r\n}\r\nfunction setWebBILinkCount(a) {\r\n    try {\r\n        if (a.length > 0) {\r\n            var b = document.createElement(\"script\");\r\n            b.type = \"text/javascript\", b.src = \"http://counter.360buy.com/aclk.aspx?key=\" + a, document.getElementsByTagName(\"head\")[0].appendChild(b)\r\n        }\r\n    } catch (c) {\r\n    }\r\n}\r\nfunction compare() {\r\n    if (null == $(\"#compare\").get(0) && ($(\"body\").prepend('<div id=\"compare\" class=\"compare\"><div class=\"mt\"><h5>\\u5546\\u54c1\\u6bd4\\u8f83</h5><div class=\"extra\" onclick=\"clearCompare()\"></div></div><div class=\"comPro\"><ul class=\"mc\" id=\"comProlist\"></ul><div class=\"mb\"><input type=\"button\" value=\"\\u5bf9\\u6bd4\\u6240\\u9009\\u5546\\u54c1\" class=\"btn\" id=\"compareImg\" onclick=\"openCompare()\"></div></div></div>'), $(\"#compare\").css({position: \"absolute\",top: \"160px\",right: \"0px\",zIndex: \"1\"}), isCoo()), $.browser.msie) {\r\n        var a = document.documentElement.scrollTop, b = .3 * (a - initScrollY);\r\n        b = b > 0 ? Math.ceil(b) : Math.floor(b), $(\"#compare\").get(0).style.top = parseInt($(\"#compare\").get(0).style.top) + b + \"px\", initScrollY += b, setTimeout(\"compare()\", 50)\r\n    } else\r\n        window.onscroll = function() {\r\n            $(\"#compare\").get(0).style.top = parseInt($(\"#compare\").get(0).style.top) + \"px\", $(\"#compare\").get(0).style.position = \"fixed\"\r\n        }\r\n}\r\nfunction clearCompare() {\r\n    $(\"#comProlist\").empty(), $(\"#compare\").hide(), createCookie(\"compare\", \"\"), proIDs = new Array\r\n}\r\nfunction addToCompare(a, b, c) {\r\n    $(\"#compare\").show(), $(\".comPro\").show();\r\n    var d = proIDs.join(\".\");\r\n    return -1 != d.indexOf(b) ? (alert(\"\\u5bf9\\u4e0d\\u8d77\\uff0c\\u60a8\\u5df2\\u7ecf\\u9009\\u62e9\\u6b64\\u5546\\u54c1\\uff01\"), void 0) : (proIDs.length < 4 ? (proIDs.push(b), $(\"#comProlist\").append(\"<li id='check_\" + b + \"'><a title='\\u5220\\u9664' class='close' onclick='reduceCompare(\" + b + \")'></a>\" + c + \"</li>\"), writeCompare(b, c)) : alert(\"\\u5bf9\\u4e0d\\u8d77\\uff0c\\u6700\\u591a\\u53ef\\u4ee5\\u9009\\u62e9\\u56db\\u79cd\\u5546\\u54c1\\u8fdb\\u884c\\u5bf9\\u6bd4\\uff01\"), void 0)\r\n}\r\nfunction reduceCompare(a) {\r\n    $(\"#check_\" + a).remove(), $.each(proIDs, function(b, c) {\r\n        a == c && proIDs.splice(b, 1)\r\n    });\r\n    var b = readCookie(\"compare\"), c = b.indexOf(a), d = b.indexOf(\"|||\", c) + 3, e = b.substring(c, d), f = b.replace(e, \"\");\r\n    createCookie(\"compare\", f), 0 == proIDs.length && $(\".comPro\").hide()\r\n}\r\nfunction openCompare() {\r\n    switch (proIDs.length) {\r\n        case 1:\r\n            alert(\"\\u5bf9\\u4e0d\\u8d77\\uff0c\\u6700\\u5c11\\u9009\\u62e9\\u4e24\\u79cd\\u5546\\u54c1\\u8fdb\\u884c\\u5bf9\\u6bd4\\uff01\");\r\n            break;\r\n        case 2:\r\n            window.open(\"http://www.360buy.com/pcompare.aspx?s1=\" + proIDs[0] + \"&s2=\" + proIDs[1]);\r\n            break;\r\n        case 3:\r\n            window.open(\"http://www.360buy.com/pcompare.aspx?s1=\" + proIDs[0] + \"&s2=\" + proIDs[1] + \"&s3=\" + proIDs[2]);\r\n            break;\r\n        case 4:\r\n            window.open(\"http://www.360buy.com/pcompare.aspx?s1=\" + proIDs[0] + \"&s2=\" + proIDs[1] + \"&s3=\" + proIDs[2] + \"&s4=\" + proIDs[3]);\r\n            break;\r\n        default:\r\n            return alert(\"\\u8bf7\\u9009\\u62e92-4\\u4ef6\\u5546\\u54c1\\u8fdb\\u884c\\u5bf9\\u6bd4\\uff01\"), void 0\r\n    }\r\n}\r\nfunction writeCompare(a, b) {\r\n    var c = readCookie(\"compare\");\r\n    null == c && (c = \"\"), c += a + \"||\" + escape(b) + \"|||\", createCookie(\"compare\", c)\r\n}\r\nfunction isCoo() {\r\n    var a = readCookie(\"compare\");\r\n    if (a) {\r\n        for (var b = a.split(\"|||\"), c = \"\", d = 0; d < b.length - 1; d++)\r\n            c += \"<li id='check_\" + b[d].split(\"||\")[0] + \"'><a title='\\u5220\\u9664' class='close' onclick='reduceCompare(\" + b[d].split(\"||\")[0] + \")'></a>\" + unescape(b[d].split(\"||\")[1]) + \"</li>\", proIDs.push(b[d].split(\"||\")[0]);\r\n        $(\"#comProlist\").html(c), $(\"#compare\").show(), $(\".comPro\").show()\r\n    }\r\n}\r\nfunction asyncScript(a, b) {\r\n    if (\"function\" == typeof a)\r\n        var b = a, a = null;\r\n    if (a) {\r\n        if (\"string\" != typeof a)\r\n            return;\r\n        var c = document.createElement(\"script\");\r\n        c.type = \"text/javascript\", c.async = !0, c.src = a;\r\n        var d = document.getElementsByTagName(\"head\")[0];\r\n        if (d.appendChild(c), b) {\r\n            if (\"function\" != typeof b)\r\n                return;\r\n            c.onload = function() {\r\n                b()\r\n            }\r\n        }\r\n    } else {\r\n        if (!b)\r\n            return;\r\n        setTimeout(function() {\r\n            b()\r\n        }, 0)\r\n    }\r\n}\r\nfunction getRandomObj(a, b) {\r\n    for (var c = 0, d = 0; d < a.length; d++)\r\n        c += b[d] || 1, b[d] || b.push(1);\r\n    for (var e = Math.ceil(Math.random() * c), f = [], g = [], d = 1; c + 1 > d; d++)\r\n        f.push(d);\r\n    for (var d = 0; d < a.length; d++)\r\n        g[d] = f.slice(0, b[d]), f.splice(0, b[d]);\r\n    for (var d = 0; d < g.length; d++)\r\n        for (var h = 0; h < g[d].length; h++)\r\n            if (e == g[d][h])\r\n                return a[d]\r\n}\r\nfunction setRandomAds(a, b, c, d) {\r\n    var e, f = getRandomObj(a, b), g = document.getElementById(c);\r\n    f && (d && screen.width >= 1280 ? (f.width = f.width2, f.url = f.url2) : (f.width = f.width, f.url = f.url), e = \"<a href='\" + f.link + \"' target='_blank'><img width='\" + f.width + \"' height='\" + f.height + \"' alt='\" + f.alt + \"' app='image:poster' src='\" + f.url + \"' /></a>\", g && (g.innerHTML = e))\r\n}\r\nfunction sBuilder() {\r\n    this.strings = new Array, this.length = 0, this.append = function(a) {\r\n        this.strings.push(a), this.length += a.length\r\n    }, this.toString = function(a, b, c) {\r\n        var a = a ? a : \"\", d = this.strings.join(a);\r\n        return b && c && (d = d.substr(b, c)), d\r\n    }\r\n}\r\nwindow.pageConfig = window.pageConfig || {}, pageConfig.wideVersion = function() {\r\n    return screen.width >= 1210\r\n}(), pageConfig.wideVersion && pageConfig.compatible && (document.getElementsByTagName(\"body\")[0].className = \"root61\"), pageConfig.FN_getDomain = function() {\r\n    var a = location.hostname;\r\n    return /360buy.com/.test(a) ? \"360buy.com\" : \"jd.com\"\r\n}, pageConfig.FN_GetUrl = function(a, b) {\r\n    return \"string\" == typeof a ? a : pageConfig.FN_GetDomain(a) + b + \".html\"\r\n}, pageConfig.FN_StringFormat = function() {\r\n    var a = arguments[0], b = arguments.length;\r\n    if (b > 0)\r\n        for (var c = 0; b > c; c++)\r\n            a = a.replace(new RegExp(\"\\\\{\" + c + \"\\\\}\", \"g\"), arguments[c + 1]);\r\n    return a\r\n}, pageConfig.FN_GetDomain = function(a) {\r\n    var b = \"http://{0}.jd.com/{1}\";\r\n    switch (a) {\r\n        case 1:\r\n            b = this.FN_StringFormat(b, \"item\", \"\");\r\n            break;\r\n        case 2:\r\n            b = this.FN_StringFormat(b, \"book\", \"\");\r\n            break;\r\n        case 3:\r\n            b = this.FN_StringFormat(b, \"mvd\", \"\");\r\n            break;\r\n        case 4:\r\n            b = this.FN_StringFormat(b, \"e\", \"\");\r\n            break;\r\n        case 7:\r\n            b = this.FN_StringFormat(b, \"music\", \"\")\r\n    }\r\n    return b\r\n}, pageConfig.FN_GetImageDomain = function(a) {\r\n    var b, a = String(a);\r\n    switch (a.match(/(\\d)$/)[1] % 5) {\r\n        case 0:\r\n            b = 10;\r\n            break;\r\n        case 1:\r\n            b = 11;\r\n            break;\r\n        case 2:\r\n            b = 12;\r\n            break;\r\n        case 3:\r\n            b = 13;\r\n            break;\r\n        case 4:\r\n            b = 14;\r\n            break;\r\n        default:\r\n            b = 10\r\n    }\r\n    return \"http://img{0}.360buyimg.com/\".replace(\"{0}\", b)\r\n}, pageConfig.FN_ImgError = function(a) {\r\n    for (var b = a.getElementsByTagName(\"img\"), c = 0; c < b.length; c++)\r\n        b[c].onerror = function() {\r\n            var a = \"\", b = this.getAttribute(\"data-img\");\r\n            if (b) {\r\n                switch (b) {\r\n                    case \"1\":\r\n                        a = \"err-product\";\r\n                        break;\r\n                    case \"2\":\r\n                        a = \"err-poster\";\r\n                        break;\r\n                    case \"3\":\r\n                        a = \"err-price\";\r\n                        break;\r\n                    default:\r\n                        return\r\n                }\r\n                this.src = \"http://misc.360buyimg.com/lib/img/e/blank.gif\", this.className = a\r\n            }\r\n        }\r\n}, pageConfig.FN_SetPromotion = function(a) {\r\n    if (0 != a) {\r\n        var b = \"\\u9650\\u91cf,\\u6e05\\u4ed3,\\u9996\\u53d1,\\u6ee1\\u51cf,\\u6ee1\\u8d60,\\u76f4\\u964d,\\u65b0\\u54c1,\\u72ec\\u5bb6,\\u4eba\\u6c14,\\u70ed\\u5356\", c = b.split(\",\")[parseInt(a) - 1], d = \"<b class='pi{0}'>{1}</b>\";\r\n        switch (c.length) {\r\n            case 1:\r\n                d = d.replace(\"{0}\", \" pix1 pif1\");\r\n                break;\r\n            case 2:\r\n                d = d.replace(\"{0}\", \" pix1\");\r\n                break;\r\n            case 4:\r\n                d = d.replace(\"{0}\", \" pix1 pif4\")\r\n        }\r\n        return d.replace(\"{1}\", c)\r\n    }\r\n}, pageConfig.FN_GetRandomData = function(a) {\r\n    for (var b, c = 0, d = 0, e = [], f = 0; f < a.length; f++)\r\n        b = a[f].weight ? parseInt(a[f].weight) : 1, e[f] = [], e[f].push(c), c += b, e[f].push(c);\r\n    d = Math.ceil(c * Math.random());\r\n    for (var f = 0; f < e.length; f++)\r\n        if (d > e[f][0] && d <= e[f][1])\r\n            return a[f]\r\n}, pageConfig.FN_GetCompatibleData = function(a) {\r\n    var b = screen.width < 1210;\r\n    return b && (a.width = a.widthB ? a.widthB : a.width, a.height = a.heightB ? a.heightB : a.height, a.src = a.srcB ? a.srcB : a.src), a\r\n}, pageConfig.getHashProbability = function(a, b) {\r\n    function c(a) {\r\n        for (var b = 0, c = 0; c < a.length; c++)\r\n            b = (b << 5) - b + a.charCodeAt(c), b &= b;\r\n        return b\r\n    }\r\n    return Math.abs(c(a)) % b\r\n}, pageConfig.FN_InitSlider = function(a, b) {\r\n    var c = function(a, b) {\r\n        return a.group - b.group\r\n    };\r\n    b.sort(c);\r\n    var d, e, f, g, h = b[0].data, i = [], j = 3 == h.length ? \"style2\" : \"style1\", k = screen.width < 1210;\r\n    i.push('<div class=\"slide-itemswrap\"><ul class=\"slide-items\"><li class=\"'), i.push(j), i.push('\" data-tag=\"'), i.push(b[0].aid), i.push('\">');\r\n    for (var l = 0; l < h.length; l++)\r\n        d = h[l], e = k ? d.widthB : d.width, f = k ? d.heightB : d.height, g = k ? d.srcB : d.src, i.push('<div class=\"fore'), i.push(l + 1), i.push('\"><a target=\"_blank\" href=\"'), i.push(d.href), i.push('\"><img data-img=\"2\" src=\"'), i.push(g), i.push('\" width=\"'), i.push(e), i.push('\" height=\"'), i.push(f), i.push('\" alt=\"'), i.push(d.alt), i.push('\" /></a></div>');\r\n    i.push('</li></ul></div><div class=\"slide-controls\"><span class=\"curr\">1</span></div>'), document.getElementById(a).innerHTML = i.join(\"\")\r\n};\r\nvar CookieUtil = {};\r\nCookieUtil.setASCIICookie = function(a, b, c, d, e, f) {\r\n    \"string\" == typeof a && \"string\" == typeof b && (b = escape(b), CookieUtil.setCookie(a, b, c, d, e, f))\r\n}, CookieUtil.setUnicodeCookie = function(a, b, c, d, e, f) {\r\n    \"string\" == typeof a && \"string\" == typeof b && (b = encodeURIComponent(b), CookieUtil.setCookie(a, b, c, d, e, f))\r\n}, CookieUtil.setCookie = function(a, b, c, d, e, f) {\r\n    if (\"string\" == typeof a && \"string\" == typeof b) {\r\n        var g = a + \"=\" + b;\r\n        c && (g += \"; expires=\" + c.toGMTString()), d && (g += \"; path=\" + d), e && (g += \"; domain=\" + e), f && (g += \"; secure\"), document.cookie = g\r\n    }\r\n}, CookieUtil.getUnicodeCookie = function(a) {\r\n    if (getCookie(a), \"string\" == typeof a) {\r\n        var b = getCookie(a);\r\n        return null == b ? null : decodeURIComponent(b)\r\n    }\r\n    var c = document.cookie;\r\n    return c\r\n}, CookieUtil.getASCIICookie = function(a) {\r\n    if (getCookie(a), \"string\" == typeof a) {\r\n        var b = getCookie(a);\r\n        return null == b ? null : unescape(b)\r\n    }\r\n    var c = document.cookie;\r\n    return c\r\n}, CookieUtil.getCookie = function(a) {\r\n    var b = document.cookie;\r\n    if (\"string\" == typeof a) {\r\n        var c = \"(?:; )?\" + a + \"=([^;]*);?\", d = new RegExp(c);\r\n        return d.test(b) ? RegExp.$1 : null\r\n    }\r\n    return b\r\n}, CookieUtil.deleteCookie = function(a, b, c) {\r\n    CookieUtil.setCookie(a, \"\", new Date(0), b, c)\r\n};\r\nvar searchlog = function() {\r\n    var a = \"http://sstat.\" + pageConfig.FN_getDomain() + \"/scslog?args=\", b = \"{keyword}^#psort#^#page#^#cid#^\" + encodeURIComponent(document.referrer), c = \"2\", d = \"\", e = \"\", f = function() {\r\n        var f = \"\", g = \"\", h = \"\", i = \"0\";\r\n        if (arguments.length > 0)\r\n            if (0 == arguments[0])\r\n                f = a + c + \"^\" + b + \"^^^58^^\" + e + \"^\" + d;\r\n            else if (1 == arguments[0]) {\r\n                f = 10 != c ? a + \"1^\" + b + \"^\" : a + \"11^\" + b + \"^\";\r\n                for (var j = 1; j < arguments.length; j++)\r\n                    f += encodeURI(arguments[j]) + \"^\";\r\n                arguments.length > 3 && \"51\" == arguments[3] && (g = arguments[1]), arguments.length > 3 && \"55\" == arguments[3] && (h = arguments[1]), arguments.length > 3 && \"56\" == arguments[3] && (i = arguments[1]);\r\n                for (var j = 0, k = 5 - arguments.length; k > j; j++)\r\n                    f += \"^\";\r\n                f += e + \"^\" + d\r\n            }\r\n        f = f.replace(\"#cid#\", g), f = f.replace(\"#psort#\", h), f = f.replace(\"#page#\", i), $.getScript(f)\r\n    };\r\n    return f\r\n}();\r\nif (function(a) {\r\n    a.extend(a.browser, {client: function() {\r\n            return {width: document.documentElement.clientWidth,height: document.documentElement.clientHeight,bodyWidth: document.body.clientWidth,bodyHeight: document.body.clientHeight}\r\n        },scroll: function() {\r\n            return {width: document.documentElement.scrollWidth,height: document.documentElement.scrollHeight,bodyWidth: document.body.scrollWidth,bodyHeight: document.body.scrollHeight,left: document.documentElement.scrollLeft + document.body.scrollLeft,top: document.documentElement.scrollTop + document.body.scrollTop}\r\n        },screen: function() {\r\n            return {width: window.screen.width,height: window.screen.height}\r\n        },isIE6: a.browser.msie && 6 == a.browser.version,isMinW: function(b) {\r\n            return Math.min(a.browser.client().bodyWidth, a.browser.client().width) <= b\r\n        },isMinH: function(b) {\r\n            return a.browser.client().height <= b\r\n        }})\r\n}(jQuery), function(a) {\r\n    a.fn.hoverForIE6 = function(b) {\r\n        var c = a.extend({current: \"hover\",delay: 10}, b || {});\r\n        a.each(this, function() {\r\n            var b = null, d = null, e = !1;\r\n            a(this).bind(\"mouseover\", function() {\r\n                if (e)\r\n                    clearTimeout(d);\r\n                else {\r\n                    var f = a(this);\r\n                    b = setTimeout(function() {\r\n                        f.addClass(c.current), e = !0\r\n                    }, c.delay)\r\n                }\r\n            }).bind(\"mouseout\", function() {\r\n                if (e) {\r\n                    var f = a(this);\r\n                    d = setTimeout(function() {\r\n                        f.removeClass(c.current), e = !1\r\n                    }, c.delay)\r\n                } else\r\n                    clearTimeout(b)\r\n            })\r\n        })\r\n    }\r\n}(jQuery), function($) {\r\n    $.extend({_jsonp: {scripts: {},counter: 1,charset: \"gb2312\",head: document.getElementsByTagName(\"head\")[0],name: function(callback) {\r\n                var name = \"_jsonp_\" + (new Date).getTime() + \"_\" + this.counter;\r\n                this.counter++;\r\n                var cb = function(json) {\r\n                    eval(\"delete \" + name), callback(json), $._jsonp.head.removeChild($._jsonp.scripts[name]), delete $._jsonp.scripts[name]\r\n                };\r\n                return eval(name + \" = cb\"), name\r\n            },load: function(a, b) {\r\n                var c = document.createElement(\"script\");\r\n                c.type = \"text/javascript\", c.charset = this.charset, c.src = a, this.head.appendChild(c), this.scripts[b] = c\r\n            }},getJSONP: function(a, b) {\r\n            var c = $._jsonp.name(b), a = a.replace(/{callback};/, c);\r\n            return $._jsonp.load(a, c), this\r\n        }})\r\n}(jQuery), function(a) {\r\n    a.fn.jdTab = function(b, c) {\r\n        \"function\" == typeof b && (c = b, b = {});\r\n        var d = a.extend({type: \"static\",auto: !1,source: \"data\",event: \"mouseover\",currClass: \"curr\",tab: \".tab\",content: \".tabcon\",itemTag: \"li\",stay: 5e3,delay: 100,mainTimer: null,subTimer: null,index: 0}, b || {}), e = a(this).find(d.tab).eq(0).find(d.itemTag), f = a(this).find(d.content);\r\n        if (e.length != f.length)\r\n            return !1;\r\n        var g = d.source.toLowerCase().match(/http:\\/\\/|\\d|\\.aspx|\\.ascx|\\.asp|\\.php|\\.html\\.htm|.shtml|.js|\\W/g), h = function(a, b) {\r\n            d.subTimer = setTimeout(function() {\r\n                k(), b ? (d.index++, d.index == e.length && (d.index = 0)) : d.index = a, d.type = null != e.eq(d.index).attr(d.source) ? \"dynamic\" : \"static\", j()\r\n            }, d.delay)\r\n        }, i = function() {\r\n            d.mainTimer = setInterval(function() {\r\n                h(d.index, !0)\r\n            }, d.stay)\r\n        }, j = function() {\r\n            switch (e.eq(d.index).addClass(d.currClass), d.type) {\r\n                default:\r\n                case \"static\":\r\n                    var a = \"\";\r\n                    break;\r\n                case \"dynamic\":\r\n                    var a = null == g ? e.eq(d.index).attr(d.source) : d.source;\r\n                    e.eq(d.index).removeAttr(d.source)\r\n            }\r\n            c && c(a, f.eq(d.index), d.index), f.eq(d.index).show()\r\n        }, k = function() {\r\n            e.eq(d.index).removeClass(d.currClass), f.eq(d.index).hide()\r\n        };\r\n        e.each(function(b) {\r\n            a(this).bind(d.event, function() {\r\n                return clearTimeout(d.subTimer), clearInterval(d.mainTimer), h(b, !1), !0\r\n            }).bind(\"mouseleave\", function() {\r\n                d.auto && i()\r\n            })\r\n        }), \"dynamic\" == d.type && h(d.index, !1), d.auto && i()\r\n    }\r\n}(jQuery), function(a) {\r\n    a.fn.jdSlide = function(b) {\r\n        var c, d, e, f = a.extend({width: null,height: null,pics: [],index: 0,type: \"num\",current: \"curr\",delay1: 100,delay2: 5e3}, b || {}), g = this, h = 0, i = !0, j = !0, k = f.pics.length, l = function() {\r\n            var b = \"<ul style='position:absolute;top:0;left:0;'><li><a href='\" + f.pics[0].href + \"' target='_blank'><img src='\" + f.pics[0].src + \"' width='\" + f.width + \"' height='\" + f.height + \"' /></a></li></ul>\";\r\n            g.css({position: \"relative\"}).html(b), a(function() {\r\n                p()\r\n            })\r\n        };\r\n        l();\r\n        var m = function() {\r\n            var a = [];\r\n            a.push(\"<div>\");\r\n            for (var b, d, h = 0; k > h; h++) {\r\n                switch (b = h == f.index ? f.current : \"\", f.type) {\r\n                    case \"num\":\r\n                        d = h + 1;\r\n                        break;\r\n                    case \"string\":\r\n                        d = f.pics[h].alt;\r\n                        break;\r\n                    case \"image\":\r\n                        d = \"<img src='\" + f.pics[h].breviary + \"' />\"\r\n                }\r\n                a.push(\"<span class='\"), a.push(b), a.push(\"'><a href='\"), a.push(f.pics[h].href), a.push(\"' target='_blank'>\"), a.push(d), a.push(\"</a></span>\")\r\n            }\r\n            a.push(\"</div>\"), g.append(a.join(\"\")), g.find(\"span\").bind(\"mouseover\", function() {\r\n                j = !1, clearTimeout(c), clearTimeout(e);\r\n                var a = g.find(\"span\").index(this);\r\n                f.index != a && (e = setInterval(function() {\r\n                    i && n(a)\r\n                }, f.delay1))\r\n            }).bind(\"mouseleave\", function() {\r\n                j = !0, clearTimeout(c), clearTimeout(e), c = setTimeout(function() {\r\n                    n(f.index + 1, !0)\r\n                }, f.delay2)\r\n            })\r\n        }, n = function(a, b) {\r\n            a == k && (a = 0), d = setTimeout(function() {\r\n                g.find(\"span\").eq(f.index).removeClass(f.current), g.find(\"span\").eq(a).addClass(f.current), o(a, b)\r\n            }, 20)\r\n        }, o = function(a, b) {\r\n            var e = parseInt(h), l = Math.abs(e + f.index * f.height), m = Math.abs(a - f.index) * f.height, p = Math.ceil((m - l) / 4);\r\n            l == m ? (clearTimeout(d), b ? (f.index++, f.index == k && (f.index = 0)) : f.index = a, i = !0, i && j && (clearTimeout(c), c = setTimeout(function() {\r\n                n(f.index + 1, !0)\r\n            }, f.delay2))) : (f.index < a ? (h = e - p, g.find(\"ul\").css({top: h + \"px\"})) : (h = e + p, g.find(\"ul\").css({top: h + \"px\"})), i = !1, d = setTimeout(function() {\r\n                o(a, b)\r\n            }, 20))\r\n        }, p = function() {\r\n            for (var a = [], b = 1; k > b; b++)\r\n                a.push(\"<li><a href='\"), a.push(f.pics[b].href), a.push(\"' target='_blank'><img src='\"), a.push(f.pics[b].src), a.push(\"' width='\"), a.push(f.width), a.push(\"' height='\"), a.push(f.height), a.push(\"' /></a></li>\");\r\n            g.find(\"ul\").append(a.join(\"\")), c = setTimeout(function() {\r\n                n(f.index + 1, !0)\r\n            }, f.delay2), f.type && m()\r\n        }\r\n    }\r\n}(jQuery), $.browser.isIE6)\r\n    try {\r\n        document.execCommand(\"BackgroundImageCache\", !1, !0)\r\n    } catch (err) {\r\n    }\r\nvar initScrollY = 0, proIDs = new Array, pannel = {};\r\npannel.gotop = {settings: {element: null,target: \"#header\"},init: function(a, b) {\r\n        var c = this;\r\n        $.extend(this.settings, a || {}), b && b();\r\n        var d = function() {\r\n            screen.width >= 1280 ? c.render(0) : c.render(1)\r\n        };\r\n        d(), $(window).bind(\"scroll\", function() {\r\n            d()\r\n        }).bind(\"resize\", function() {\r\n            d()\r\n        })\r\n    },render: function(a) {\r\n        var b, c, d = $(this.settings.element), e = $(this.settings.target), f = $.browser.scroll().top + $.browser.client().height - d.height() - 10 + \"px\";\r\n        switch (a) {\r\n            case 0:\r\n                c = e.width() >= 1200 ? 1200 : 980, b = e.offset().left + c + \"px\", $.browser.isIE6 ? d.css({left: b,top: f}) : d.css({left: b,bottom: \"0\"});\r\n                break;\r\n            case 1:\r\n                $.browser.isIE6 ? d.css({right: \"0\",top: f}) : d.css({right: \"0\",bottom: \"0\"})\r\n        }\r\n    }}, String.prototype.format = function() {\r\n    var a = this, b = arguments.length;\r\n    if (b > 0)\r\n        for (var c = 0; b > c; c++)\r\n            a = a.replace(new RegExp(\"\\\\{\" + c + \"\\\\}\", \"g\"), arguments[c]);\r\n    return a\r\n};\r\nvar loguri = \"http://csc.jd.com/log.ashx?type1=$type1$&type2=$type2$&data=$data$&pin=$pin$&referrer=$referrer$&callback=?\";\r\ncallback1 = function() {\r\n}, log = function(a, b) {\r\n    var c = \"\";\r\n    for (i = 2; i < arguments.length; i++)\r\n        c = c + arguments[i] + \"|||\";\r\n    var d = loguri.replace(/\\$type1\\$/, escape(a));\r\n    d = d.replace(/\\$type2\\$/, escape(b)), d = d.replace(/\\$data\\$/, escape(c)), d = d.replace(/\\$pin\\$/, escape(decodeURIComponent(readCookie(\"pin\")))), d = d.replace(/\\$referrer\\$/, escape(document.referrer)), $.getJSON(d, callback1);\r\n    var e = (\"https:\" == document.location.protocol ? \"https://mercuryssl\" : \"http://mercury\") + \".jd.com/log.gif\" + \"?t=other.000000\" + \"&m=UA-J2011-1\" + \"&v=\" + encodeURIComponent(\"t1=\" + a + \"$t2=\" + b + \"$p0=\" + c) + \"&ref=\" + encodeURIComponent(document.referrer) + \"&rm=\" + (new Date).getTime(), f = new Image(1, 1);\r\n    f.src = e\r\n}, mark = function(a, b) {\r\n    log(1, b, a)\r\n}, /jd\\.com|360buy\\.com/.test(location.hostname) && (document.domain = pageConfig.FN_getDomain());\r\n"
  },
  {
    "path": "migo-portal/src/main/webapp/js/base-v1.js",
    "content": " /*\r\n Date: 2014-01-21 \r\n */\r\nfunction login() {\r\n    return location.href = \"http://sso.migo.com/user/doLogin.html\";\r\n}\r\nfunction regist() {\r\n    return location.href = \"http://sso.migo.com/user/register.html\";\r\n}\r\nfunction createCookie(a, b, c, d) {\r\n    var d = d ? d : \"/\";\r\n    if (c) {\r\n        var e = new Date;\r\n        e.setTime(e.getTime() + 1e3 * 60 * 60 * 24 * c);\r\n        var f = \"; expires=\" + e.toGMTString()\r\n    } else\r\n        var f = \"\";\r\n    document.cookie = a + \"=\" + b + f + \"; path=\" + d\r\n}\r\nfunction readCookie(a) {\r\n    for (var b = a + \"=\", c = document.cookie.split(\";\"), d = 0; d < c.length; d++) {\r\n        for (var e = c[d]; \" \" == e.charAt(0); )\r\n            e = e.substring(1, e.length);\r\n        if (0 == e.indexOf(b))\r\n            return e.substring(b.length, e.length)\r\n    }\r\n    return null\r\n}\r\nfunction addToFavorite() {\r\n    var a = \"http://www.jd.com/\", b = \"\\u4eac\\u4e1cJD.COM-\\u7f51\\u8d2d\\u4e0a\\u4eac\\u4e1c\\uff0c\\u7701\\u94b1\\u53c8\\u653e\\u5fc3\";\r\n    document.all ? window.external.AddFavorite(a, b) : window.sidebar && window.sidebar.addPanel ? window.sidebar.addPanel(b, a, \"\") : alert(\"\\u5bf9\\u4e0d\\u8d77\\uff0c\\u60a8\\u7684\\u6d4f\\u89c8\\u5668\\u4e0d\\u652f\\u6301\\u6b64\\u64cd\\u4f5c!\\n\\u8bf7\\u60a8\\u4f7f\\u7528\\u83dc\\u5355\\u680f\\u6216Ctrl+D\\u6536\\u85cf\\u672c\\u7ad9\\u3002\"), createCookie(\"_fv\", \"1\", 30, \"/;domain=jd.com\")\r\n}\r\nfunction search(a) {\r\n    var b = \"http://www.migo.com/search.html?q=\" + encodeURIComponent(document.getElementById(a).value);\r\n    return window.location.href = b;\r\n}\r\nwindow.pageConfig = window.pageConfig || {}, pageConfig.wideVersion = function() {\r\n    return screen.width >= 1210\r\n}(), pageConfig.wideVersion && pageConfig.compatible && (document.getElementsByTagName(\"body\")[0].className = \"root61\"), pageConfig.FN_getDomain = function() {\r\n    var a = location.hostname;\r\n    return /360buy.com/.test(a) ? \"360buy.com\" : \"jd.com\"\r\n}, pageConfig.FN_GetUrl = function(a, b) {\r\n    return \"string\" == typeof a ? a : pageConfig.FN_GetDomain(a) + b + \".html\"\r\n}, pageConfig.FN_StringFormat = function() {\r\n    var a = arguments[0], b = arguments.length;\r\n    if (b > 0)\r\n        for (var c = 0; b > c; c++)\r\n            a = a.replace(new RegExp(\"\\\\{\" + c + \"\\\\}\", \"g\"), arguments[c + 1]);\r\n    return a\r\n}, pageConfig.FN_GetDomain = function(a) {\r\n    var b = \"http://{0}.jd.com/{1}\";\r\n    switch (a) {\r\n        case 1:\r\n            b = this.FN_StringFormat(b, \"item\", \"\");\r\n            break;\r\n        case 2:\r\n            b = this.FN_StringFormat(b, \"book\", \"\");\r\n            break;\r\n        case 3:\r\n            b = this.FN_StringFormat(b, \"mvd\", \"\");\r\n            break;\r\n        case 4:\r\n            b = this.FN_StringFormat(b, \"e\", \"\");\r\n            break;\r\n        case 7:\r\n            b = this.FN_StringFormat(b, \"music\", \"\")\r\n    }\r\n    return b\r\n}, pageConfig.FN_GetImageDomain = function(a) {\r\n    var b, a = String(a);\r\n    switch (a.match(/(\\d)$/)[1] % 5) {\r\n        case 0:\r\n            b = 10;\r\n            break;\r\n        case 1:\r\n            b = 11;\r\n            break;\r\n        case 2:\r\n            b = 12;\r\n            break;\r\n        case 3:\r\n            b = 13;\r\n            break;\r\n        case 4:\r\n            b = 14;\r\n            break;\r\n        default:\r\n            b = 10\r\n    }\r\n    return \"http://img{0}.360buyimg.com/\".replace(\"{0}\", b)\r\n}, pageConfig.FN_ImgError = function(a) {\r\n    for (var b = a.getElementsByTagName(\"img\"), c = 0; c < b.length; c++)\r\n        b[c].onerror = function() {\r\n            var a = \"\", b = this.getAttribute(\"data-img\");\r\n            if (b) {\r\n                switch (b) {\r\n                    case \"1\":\r\n                        a = \"err-product\";\r\n                        break;\r\n                    case \"2\":\r\n                        a = \"err-poster\";\r\n                        break;\r\n                    case \"3\":\r\n                        a = \"err-price\";\r\n                        break;\r\n                    default:\r\n                        return\r\n                }\r\n                this.src = \"/images/blank.gif\", this.className = a\r\n            }\r\n        }\r\n}, pageConfig.FN_SetPromotion = function(a) {\r\n    if (0 != a) {\r\n        var b = \"\\u9650\\u91cf,\\u6e05\\u4ed3,\\u9996\\u53d1,\\u6ee1\\u51cf,\\u6ee1\\u8d60,\\u76f4\\u964d,\\u65b0\\u54c1,\\u72ec\\u5bb6,\\u4eba\\u6c14,\\u70ed\\u5356\", c = b.split(\",\")[parseInt(a) - 1], d = \"<b class='pi{0}'>{1}</b>\";\r\n        switch (c.length) {\r\n            case 1:\r\n                d = d.replace(\"{0}\", \" pix1 pif1\");\r\n                break;\r\n            case 2:\r\n                d = d.replace(\"{0}\", \" pix1\");\r\n                break;\r\n            case 4:\r\n                d = d.replace(\"{0}\", \" pix1 pif4\")\r\n        }\r\n        return d.replace(\"{1}\", c)\r\n    }\r\n}, pageConfig.FN_GetRandomData = function(a) {\r\n    for (var b, c = 0, d = 0, e = [], f = 0; f < a.length; f++)\r\n        b = a[f].weight ? parseInt(a[f].weight) : 1, e[f] = [], e[f].push(c), c += b, e[f].push(c);\r\n    d = Math.ceil(c * Math.random());\r\n    for (var f = 0; f < e.length; f++)\r\n        if (d > e[f][0] && d <= e[f][1])\r\n            return a[f]\r\n}, pageConfig.FN_GetCompatibleData = function(a) {\r\n    var b = screen.width < 1210;\r\n    return b && (a.width = a.widthB ? a.widthB : a.width, a.height = a.heightB ? a.heightB : a.height, a.src = a.srcB ? a.srcB : a.src), a\r\n}, pageConfig.FN_InitSlider = function(a, b) {\r\n    var c = function(a, b) {\r\n        return a.group - b.group\r\n    };\r\n    b.sort(c);\r\n    var d, e = b[0].data, f = [], g = 3 == e.length ? \"style2\" : \"style1\";\r\n    f.push('<div class=\"slide-itemswrap\"><ul class=\"slide-items\"><li class=\"'), f.push(g), f.push('\" data-tag=\"'), f.push(b[0].aid), f.push('\">');\r\n    for (var h = 0; h < e.length; h++)\r\n        d = this.FN_GetCompatibleData(e[h]), f.push('<div class=\"fore'), f.push(h + 1), f.push('\" width=\"'), f.push(d.width), f.push('\" height=\"'), f.push(d.height), f.push('\"><a target=\"_blank\" href=\"'), f.push(d.href), f.push('\" title=\"'), f.push(d.alt), f.push('\"><img src=\"'), 0 == h ? f.push(d.src) : (f.push('/images/blank.gif\" style=\"background:url('), f.push(d.src), f.push(\") no-repeat center 0;\")), f.push('\" width=\"'), f.push(d.width), f.push('\" height=\"'), f.push(d.height), f.push('\" /></a></div>');\r\n    f.push('</li></ul></div><div class=\"slide-controls\"><span class=\"curr\">1</span></div>'), document.getElementById(a).innerHTML = f.join(\"\")\r\n}, pageConfig.getHashProbability = function(a, b) {\r\n    function c(a) {\r\n        for (var b = 0, c = 0; c < a.length; c++)\r\n            b = (b << 5) - b + a.charCodeAt(c), b &= b;\r\n        return b\r\n    }\r\n    return Math.abs(c(a)) % b\r\n}, pageConfig.goToMobile = function() {\r\n    var a, b = navigator.userAgent.toLowerCase(), c = document.referrer, d = /ipad/, e = /mobile|ios|iphone|android|windows phone|uc|mqqbrowser/, f = readCookie(\"goToMobile\"), g = document.getElementById(\"shortcut-2013\"), h = document.createElement(\"div\");\r\n    h.className = \"w\", h.innerHTML = '<div id=\"m-tips\" style=\"white-space:nowrap;padding:4px 0;\">\\u60a8\\u6b63\\u5728\\u7528\\u624b\\u673a\\u8bbf\\u95ee\\u7535\\u8111\\u7248\\u4eac\\u4e1c\\uff0c\\u4e3a\\u4e86\\u4fdd\\u8bc1\\u6700\\u4f73\\u6d4f\\u89c8\\u6548\\u679c\\uff0c\\u5efa\\u8bae\\u60a8\\u8bbf\\u95ee\\u89e6\\u5c4f\\u7248\\u3002<a href=\"#none\" id=\"back-to-m\" style=\"color:#005EA7;\">[\\u5207\\u6362\\u81f3\\u89e6\\u5c4f\\u7248]</a></div>', /m\\.jd\\.com/.test(c) ? (createCookie(\"goToMobile\", \"2\", 10, \"/;domain=www.jd.com\"), document.getElementById(\"m-tips\") || (g.parentNode.insertBefore(h, g), a = document.getElementById(\"back-to-m\"), a.onclick = function() {\r\n        createCookie(\"goToMobile\", \"1\", 10, \"/;domain=www.jd.com\"), location.href = \"http://m.jd.com\"\r\n    })) : f ? \"1\" === f && (location.href = \"http://m.jd.com/\") : e.test(b) && !d.test(b) ? (createCookie(\"goToMobile\", \"1\", 10, \"/;domain=www.jd.com\"), location.href = \"http://m.jd.com/\") : createCookie(\"goToMobile\", \"0\", 10, \"/;domain=www.jd.com\")\r\n};\r\nvar CookieUtil = {};\r\nCookieUtil.setASCIICookie = function(a, b, c, d, e, f) {\r\n    \"string\" == typeof a && \"string\" == typeof b && (b = escape(b), CookieUtil.setCookie(a, b, c, d, e, f))\r\n}, CookieUtil.setUnicodeCookie = function(a, b, c, d, e, f) {\r\n    \"string\" == typeof a && \"string\" == typeof b && (b = encodeURIComponent(b), CookieUtil.setCookie(a, b, c, d, e, f))\r\n}, CookieUtil.setCookie = function(a, b, c, d, e, f) {\r\n    if (\"string\" == typeof a && \"string\" == typeof b) {\r\n        var g = a + \"=\" + b;\r\n        c && (g += \"; expires=\" + c.toGMTString()), d && (g += \"; path=\" + d), e && (g += \"; domain=\" + e), f && (g += \"; secure\"), document.cookie = g\r\n    }\r\n}, CookieUtil.getUnicodeCookie = function(a) {\r\n    if (getCookie(a), \"string\" == typeof a) {\r\n        var b = getCookie(a);\r\n        return null == b ? null : decodeURIComponent(b)\r\n    }\r\n    var c = document.cookie;\r\n    return c\r\n}, CookieUtil.getASCIICookie = function(a) {\r\n    if (getCookie(a), \"string\" == typeof a) {\r\n        var b = getCookie(a);\r\n        return null == b ? null : unescape(b)\r\n    }\r\n    var c = document.cookie;\r\n    return c\r\n}, CookieUtil.getCookie = function(a) {\r\n    var b = document.cookie;\r\n    if (\"string\" == typeof a) {\r\n        var c = \"(?:; )?\" + a + \"=([^;]*);?\", d = new RegExp(c);\r\n        return d.test(b) ? RegExp.$1 : null\r\n    }\r\n    return b\r\n}, CookieUtil.deleteCookie = function(a, b, c) {\r\n    CookieUtil.setCookie(a, \"\", new Date(0), b, c)\r\n};\r\nvar searchlog = function() {\r\n    var a = \"http://sstat.\" + pageConfig.FN_getDomain() + \"/scslog?args=\", b = \"{keyword}^#psort#^#page#^#cid#^\" + encodeURIComponent(document.referrer), c = \"2\", d = \"\", e = \"\", f = function() {\r\n        var f = \"\", g = \"\", h = \"\", i = \"0\";\r\n        if (arguments.length > 0)\r\n            if (0 == arguments[0])\r\n                f = a + c + \"^\" + b + \"^^^58^^\" + e + \"^\" + d;\r\n            else if (1 == arguments[0]) {\r\n                f = 10 != c ? a + \"1^\" + b + \"^\" : a + \"11^\" + b + \"^\";\r\n                for (var j = 1; j < arguments.length; j++)\r\n                    f += encodeURI(arguments[j]) + \"^\";\r\n                arguments.length > 3 && \"51\" == arguments[3] && (g = arguments[1]), arguments.length > 3 && \"55\" == arguments[3] && (h = arguments[1]), arguments.length > 3 && \"56\" == arguments[3] && (i = arguments[1]);\r\n                for (var j = 0, k = 5 - arguments.length; k > j; j++)\r\n                    f += \"^\";\r\n                f += e + \"^\" + d\r\n            }\r\n        f = f.replace(\"#cid#\", g), f = f.replace(\"#psort#\", h), f = f.replace(\"#page#\", i), $.getScript(f)\r\n    };\r\n    return f\r\n}();\r\n/jd\\.com|360buy\\.com/.test(location.hostname) && (document.domain = pageConfig.FN_getDomain());\r\n"
  },
  {
    "path": "migo-portal/src/main/webapp/js/base.js",
    "content": "/* jdf-1.0.0/ base.js Date:2015-03-17 13:39:47 */\r\nif(!function(a,b){function c(a){return function(b){return{}.toString.call(b)==\"[object \"+a+\"]\"}}function d(){return A++}function e(a){return a.match(D)[0]}function f(a){for(a=a.replace(E,\"/\");a.match(F);)a=a.replace(F,\"/\");return a=a.replace(G,\"$1/\")}function g(a){var b=a.length-1,c=a.charAt(b);return\"#\"===c?a.substring(0,b):\".js\"===a.substring(b-2)||a.indexOf(\"?\")>0||\".css\"===a.substring(b-3)||\"/\"===c?a:a+\".js\"}function h(a){var b=v.alias;return b&&x(b[a])?b[a]:a}function i(a){var c,b=v.paths;return b&&(c=a.match(H))&&x(b[c[1]])&&(a=b[c[1]]+c[2]),a}function j(a){var b=v.vars;return b&&a.indexOf(\"{\")>-1&&(a=a.replace(I,function(a,c){return x(b[c])?b[c]:a})),a}function k(a){var b=v.map,c=a;if(b)for(var d=0,e=b.length;e>d;d++){var f=b[d];if(c=z(f)?f(a)||a:a.replace(f[0],f[1]),c!==a)break}return c}function l(a,b){var c,d=a.charAt(0);if(J.test(a))c=a;else if(\".\"===d)c=f((b?e(b):v.cwd)+a);else if(\"/\"===d){var g=v.cwd.match(K);c=g?g[0]+a.substring(1):a}else c=v.base+a;return 0===c.indexOf(\"//\")&&(c=location.protocol+c),c}function m(a,b){if(!a)return\"\";a=h(a),a=i(a),a=j(a),a=g(a);var c=l(a,b);return c=k(c)}function n(a){return a.hasAttribute?a.src:a.getAttribute(\"src\",4)}function o(a,b,c){var d=S.test(a),e=L.createElement(d?\"link\":\"script\");if(c){var f=z(c)?c(a):c;f&&(e.charset=f)}p(e,b,d,a),d?(e.rel=\"stylesheet\",e.href=a):(e.async=!0,e.src=a),T=e,R?Q.insertBefore(e,R):Q.appendChild(e),T=null}function p(a,c,d,e){function f(){a.onload=a.onerror=a.onreadystatechange=null,d||v.debug||Q.removeChild(a),a=null,c()}var g=\"onload\"in a;return!d||!V&&g?(g?(a.onload=f,a.onerror=function(){C(\"error\",{uri:e,node:a}),f()}):a.onreadystatechange=function(){/loaded|complete/.test(a.readyState)&&f()},b):(setTimeout(function(){q(a,c)},1),b)}function q(a,b){var d,c=a.sheet;if(V)c&&(d=!0);else if(c)try{c.cssRules&&(d=!0)}catch(e){\"NS_ERROR_DOM_SECURITY_ERR\"===e.name&&(d=!0)}setTimeout(function(){d?b():q(a,b)},20)}function r(){if(T)return T;if(U&&\"interactive\"===U.readyState)return U;for(var a=Q.getElementsByTagName(\"script\"),b=a.length-1;b>=0;b--){var c=a[b];if(\"interactive\"===c.readyState)return U=c}}function s(a){var b=[];return a.replace(X,\"\").replace(W,function(a,c,d){d&&b.push(d)}),b}function t(a,b){this.uri=a,this.dependencies=b||[],this.exports=null,this.status=0,this._waitings={},this._remain=0}if(!a.seajs){var u=a.seajs={version:\"2.2.0\"},v=u.data={},w=c(\"Object\"),x=c(\"String\"),y=Array.isArray||c(\"Array\"),z=c(\"Function\"),A=0,B=v.events={};u.on=function(a,b){var c=B[a]||(B[a]=[]);return c.push(b),u},u.off=function(a,b){if(!a&&!b)return B=v.events={},u;var c=B[a];if(c)if(b)for(var d=c.length-1;d>=0;d--)c[d]===b&&c.splice(d,1);else delete B[a];return u};var C=u.emit=function(a,b){var d,c=B[a];if(c)for(c=c.slice();d=c.shift();)d(b);return u},D=/[^?#]*\\//,E=/\\/\\.\\//g,F=/\\/[^/]+\\/\\.\\.\\//,G=/([^:/])\\/\\//g,H=/^([^/:]+)(\\/.+)$/,I=/{([^{]+)}/g,J=/^\\/\\/.|:\\//,K=/^.*?\\/\\/.*?\\//,L=document,M=e(L.URL),N=L.scripts,O=L.getElementById(\"seajsnode\")||N[N.length-1],P=e(n(O)||M);u.resolve=m;var T,U,Q=L.getElementsByTagName(\"head\")[0]||L.documentElement,R=Q.getElementsByTagName(\"base\")[0],S=/\\.css(?:\\?|$)/i,V=+navigator.userAgent.replace(/.*AppleWebKit\\/(\\d+)\\..*/,\"$1\")<536;u.request=o;var Z,W=/\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'|\\/\\*[\\S\\s]*?\\*\\/|\\/(?:\\\\\\/|[^\\/\\r\\n])+\\/(?=[^\\/])|\\/\\/.*|\\.\\s*require|(?:^|[^$])\\brequire\\s*\\(\\s*([\"'])(.+?)\\1\\s*\\)/g,X=/\\\\\\\\/g,Y=u.cache={},$={},_={},ab={},bb=t.STATUS={FETCHING:1,SAVED:2,LOADING:3,LOADED:4,EXECUTING:5,EXECUTED:6};t.prototype.resolve=function(){for(var a=this,b=a.dependencies,c=[],d=0,e=b.length;e>d;d++)c[d]=t.resolve(b[d],a.uri);return c},t.prototype.load=function(){var a=this;if(!(a.status>=bb.LOADING)){a.status=bb.LOADING;var c=a.resolve();C(\"load\",c);for(var e,d=a._remain=c.length,f=0;d>f;f++)e=t.get(c[f]),e.status<bb.LOADED?e._waitings[a.uri]=(e._waitings[a.uri]||0)+1:a._remain--;if(0===a._remain)return a.onload(),b;var g={};for(f=0;d>f;f++)e=Y[c[f]],e.status<bb.FETCHING?e.fetch(g):e.status===bb.SAVED&&e.load();for(var h in g)g.hasOwnProperty(h)&&g[h]()}},t.prototype.onload=function(){var a=this;a.status=bb.LOADED,a.callback&&a.callback();var c,d,b=a._waitings;for(c in b)b.hasOwnProperty(c)&&(d=Y[c],d._remain-=b[c],0===d._remain&&d.onload());delete a._waitings,delete a._remain},t.prototype.fetch=function(a){function c(){u.request(g.requestUri,g.onRequest,g.charset)}function d(){delete $[h],_[h]=!0,Z&&(t.save(f,Z),Z=null);var a,b=ab[h];for(delete ab[h];a=b.shift();)a.load()}var e=this,f=e.uri;e.status=bb.FETCHING;var g={uri:f};C(\"fetch\",g);var h=g.requestUri||f;return!h||_[h]?(e.load(),b):$[h]?(ab[h].push(e),b):($[h]=!0,ab[h]=[e],C(\"request\",g={uri:f,requestUri:h,onRequest:d,charset:v.charset}),g.requested||(a?a[g.requestUri]=c:c()),b)},t.prototype.exec=function(){function a(b){return t.get(a.resolve(b)).exec()}var c=this;if(c.status>=bb.EXECUTING)return c.exports;c.status=bb.EXECUTING;var e=c.uri;a.resolve=function(a){return t.resolve(a,e)},a.async=function(b,c){return t.use(b,c,e+\"_async_\"+d()),a};var f=c.factory,g=z(f)?f(a,c.exports={},c):f;return g===b&&(g=c.exports),delete c.factory,c.exports=g,c.status=bb.EXECUTED,C(\"exec\",c),g},t.resolve=function(a,b){var c={id:a,refUri:b};return C(\"resolve\",c),c.uri||u.resolve(c.id,b)},t.define=function(a,c,d){var e=arguments.length;1===e?(d=a,a=b):2===e&&(d=c,y(a)?(c=a,a=b):c=b),!y(c)&&z(d)&&(c=s(\"\"+d));var f={id:a,uri:t.resolve(a),deps:c,factory:d};if(!f.uri&&L.attachEvent){var g=r();g&&(f.uri=g.src)}C(\"define\",f),f.uri?t.save(f.uri,f):Z=f},t.save=function(a,b){var c=t.get(a);c.status<bb.SAVED&&(c.id=b.id||a,c.dependencies=b.deps||[],c.factory=b.factory,c.status=bb.SAVED)},t.get=function(a,b){return Y[a]||(Y[a]=new t(a,b))},t.use=function(b,c,d){var e=t.get(d,y(b)?b:[b]);e.callback=function(){for(var b=[],d=e.resolve(),f=0,g=d.length;g>f;f++)b[f]=Y[d[f]].exec();c&&c.apply(a,b),delete e.callback},e.load()},t.preload=function(a){var b=v.preload,c=b.length;c?t.use(b,function(){b.splice(0,c),t.preload(a)},v.cwd+\"_preload_\"+d()):a()},u.use=function(a,b){return t.preload(function(){t.use(a,b,v.cwd+\"_use_\"+d())}),u},t.define.cmd={},a.define=t.define,u.Module=t,v.fetchedList=_,v.cid=d,u.require=function(a){var b=t.get(t.resolve(a));return b.status<bb.EXECUTING&&b.exec(),b.exports};var cb=/^(.+?\\/)(\\?\\?)?(seajs\\/)+/;v.base=(P.match(cb)||[\"\",P])[1],v.dir=P,v.cwd=M,v.charset=\"utf-8\",v.preload=function(){var a=[],b=location.search.replace(/(seajs-\\w+)(&|$)/g,\"$1=1$2\");return b+=\" \"+L.cookie,b.replace(/(seajs-\\w+)=1/g,function(b,c){a.push(c)}),a}(),u.config=function(a){for(var b in a){var c=a[b],d=v[b];if(d&&w(d))for(var e in c)d[e]=c[e];else y(d)?c=d.concat(c):\"base\"===b&&(\"/\"!==c.slice(-1)&&(c+=\"/\"),c=l(c)),v[b]=c}return C(\"config\",a),u}}}(this),!function(){function a(a){var b=a.length;if(!(2>b)){q.comboSyntax&&(s=q.comboSyntax),q.comboMaxLength&&(t=q.comboMaxLength),n=q.comboExcludes;for(var d=[],e=0;b>e;e++){var f=a[e];if(!r[f]){var h=o.get(f);h.status<p&&!l(f)&&!m(f)&&d.push(f)}}d.length>1&&g(c(d))}}function b(a){a.requestUri=r[a.uri]||a.uri}function c(a){return e(d(a))}function d(a){for(var b={__KEYS:[]},c=0,d=a.length;d>c;c++)for(var e=a[c].replace(\"://\",\"__\").split(\"/\"),f=b,g=0,h=e.length;h>g;g++){var i=e[g];f[i]||(f[i]={__KEYS:[]},f.__KEYS.push(i)),f=f[i]}return b}function e(a){for(var b=[],c=a.__KEYS,d=0,e=c.length;e>d;d++){for(var g=c[d],h=g,i=a[g],j=i.__KEYS;1===j.length;)h+=\"/\"+j[0],i=i[j[0]],j=i.__KEYS;j.length&&b.push([h.replace(\"__\",\"://\"),f(i)])}return b}function f(a){for(var b=[],c=a.__KEYS,d=0,e=c.length;e>d;d++){var g=c[d],h=f(a[g]),i=h.length;if(i)for(var j=0;i>j;j++)b.push(g+\"/\"+h[j]);else b.push(g)}return b}function g(a){for(var b=0,c=a.length;c>b;b++)for(var d=a[b],e=d[0]+\"/\",f=j(d[1]),g=0,i=f.length;i>g;g++)h(e,f[g]);return r}function h(a,b){var c=a+s[0]+b.join(s[1]),d=c.length>t;if(b.length>1&&d){var e=i(b,t-(a+s[0]).length);h(a,e[0]),h(a,e[1])}else{if(d)throw new Error(\"The combo url is too long: \"+c);for(var f=0,g=b.length;g>f;f++)r[a+b[f]]=c}}function i(a,b){for(var c=s[1],d=a[0],e=1,f=a.length;f>e;e++)if(d+=c+a[e],d.length>b)return[a.splice(0,e),a]}function j(a){for(var b=[],c={},d=0,e=a.length;e>d;d++){var f=a[d],g=k(f);g&&(c[g]||(c[g]=[])).push(f)}for(var h in c)c.hasOwnProperty(h)&&b.push(c[h]);return b}function k(a){var b=a.lastIndexOf(\".\");return b>=0?a.substring(b):\"\"}function l(a){return n?n.test?n.test(a):n(a):void 0}function m(a){var b=q.comboSyntax||[\"??\",\",\"],c=b[0],d=b[1];return c&&a.indexOf(c)>0||d&&a.indexOf(d)>0}var n,o=seajs.Module,p=o.STATUS.FETCHING,q=seajs.data,r=q.comboHash={},s=[\"??\",\",\"],t=2e3;if(seajs.on(\"load\",a),seajs.on(\"fetch\",b),q.test){var u=seajs.test||(seajs.test={});u.uris2paths=c,u.paths2hash=g}define(\"seajs/seajs-combo/1.0.1/seajs-combo\",[],{})}(),window.pageConfig=window.pageConfig||{},\"undefined\"==typeof pageConfig.autoConfig&&(pageConfig.autoConfig=!0),\"undefined\"==typeof pageConfig.preload&&(pageConfig.preload=!0),pageConfig.autoConfig){var preloadArray=pageConfig.preload?[\"jdf/1.0.0/ui/ui/1.0.0/ui.js\"]:[];var seajsConfig={base:\"http://misc.360buyimg.com/\",alias:{},map:[],preload:preloadArray,debug:0};/isdebug=(-\\d)*-1/.test(location.search)&&(seajsConfig.comboExcludes=/.*/),seajs.config(seajsConfig)}pageConfig.wideVersion=function(){return/isdebug=(-\\d)*-2/.test(location.search)?!1:screen.width>=1210&&pageConfig.compatible}(),pageConfig.wideVersion&&(document.getElementsByTagName(\"html\")[0].className=\"root61\"),pageConfig.FN_getDomain=function(){var a=location.hostname;return/360buy.com/.test(a)?\"360buy.com\":\"jd.com\"},/jd\\.com|360buy\\.com/.test(location.hostname)&&(document.domain=pageConfig.FN_getDomain()),pageConfig.FN_GetImageDomain=function(a){var b,a=String(a);switch(a.match(/(\\d)$/)[1]%5){case 0:b=10;break;case 1:b=11;break;case 2:b=12;break;case 3:b=13;break;case 4:b=14;break;default:b=10}return\"http://img{0}.360buyimg.com/\".replace(\"{0}\",b)},pageConfig.FN_ImgError=function(a){var b=a.getElementsByTagName(\"img\");for(var c=0;c<b.length;c++)b[c].onerror=function(){var a=\"\",b=this.getAttribute(\"data-img\");if(b){switch(b){case\"1\":a=\"err-product\";break;case\"2\":a=\"err-poster\";break;case\"3\":a=\"err-price\";break;default:return}this.src=\"http://misc.360buyimg.com/lib/img/e/blank.gif\",this.className=a}}},pageConfig.FN_GetRandomData=function(a){var d,b=0,c=0,e=[];for(var f=0;f<a.length;f++)d=a[f].weight?parseInt(a[f].weight):1,e[f]=[],e[f].push(b),b+=d,e[f].push(b);c=Math.ceil(b*Math.random());for(var f=0;f<e.length;f++)if(c>e[f][0]&&c<=e[f][1])return a[f]};var login=function(){return location.href=\"https://passport.jd.com/new/login.aspx?ReturnUrl=\"+escape(location.href).replace(/\\//g,\"%2F\"),!1};var regist=function(){return location.href=\"https://reg.jd.com/reg/person?ReturnUrl=\"+escape(location.href),!1};var createCookie=function(a,b,c,d){var d=d?d:\"/\";if(c){var e=new Date;e.setTime(e.getTime()+24*c*60*60*1e3);var f=\"; expires=\"+e.toGMTString()}else var f=\"\";document.cookie=a+\"=\"+b+f+\"; path=\"+d};var readCookie=function(a){var b=a+\"=\";var c=document.cookie.split(\";\");for(var d=0;d<c.length;d++){var e=c[d];for(;\" \"==e.charAt(0);)e=e.substring(1,e.length);if(0==e.indexOf(b))return e.substring(b.length,e.length)}return null};var addToFavorite=function(){var a=\"http://www.jd.com/\";var b=\"\\u4eac\\u4e1cJD.COM-\\u7f51\\u8d2d\\u4e0a\\u4eac\\u4e1c\\uff0c\\u7701\\u94b1\\u53c8\\u653e\\u5fc3\";document.all?window.external.AddFavorite(a,b):window.sidebar&&window.sidebar.addPanel?window.sidebar.addPanel(b,a,\"\"):alert(\"\\u5bf9\\u4e0d\\u8d77\\uff0c\\u60a8\\u7684\\u6d4f\\u89c8\\u5668\\u4e0d\\u652f\\u6301\\u6b64\\u64cd\\u4f5c!\\n\\u8bf7\\u60a8\\u4f7f\\u7528\\u83dc\\u5355\\u680f\\u6216Ctrl+D\\u6536\\u85cf\\u672c\\u7ad9\\u3002\"),createCookie(\"_fv\",\"1\",30,\"/;domain=jd.com\")};pageConfig.getHashProbability=function(a,b){var c=function(a){for(var b=0,c=0;c<a.length;c++)b=(b<<5)-b+a.charCodeAt(c),b&=b;return b};return Math.abs(c(a))%b},/isdebug=(-\\d)*-1/.test(location.search)&&!function(){function a(){var a=document.getElementsByTagName(\"link\");var b=null,c=null;for(var d=0;d<a.length;d++){var e=a[d];if(e){var f=e.getAttribute(\"href\");if(f){var g=f.indexOf(\"??\");var h=[];var i=\"\";if(-1!=g&&(c=document.createDocumentFragment(),h=f.substring(g+2).split(\",\"),i=f.substring(0,g),h.length)){for(var j=0,k=h.length;k>j;j++)h[j].replace(/ /g)&&(b=document.createElement(\"link\"),b.type=\"text/css\",b.rel=\"stylesheet\",b.href=i+h[j],c.appendChild(b),d++);e.parentNode.insertBefore(c,e),e.parentNode.removeChild(e),d--}}}}}var b=setInterval(function(){document.body&&(clearInterval(b),a())},10)}();"
  },
  {
    "path": "migo-portal/src/main/webapp/js/calendar.js",
    "content": "//-----------------------日历开始------------------\r\nfunction initCalendar(){\r\n\t$(\".express-form\").append(\"<div id='date-delivery' style='position:absolute;'>\"\r\n\t\t+ \"<div class='inner' style='position:relative;'>\"\r\n\t\t+ \"</div></div>\");\r\n\tvar obj=$(\"#date-delivery\");\r\n\t\r\n\tvar html=[],wLen=0,hLen=hData.length;\r\n\thtml.push(\"<dl class='th'><dt>时间段</dt><dd class='date'>\");\r\n\t//日期、星期\r\n\tfor(i in dData){\r\n\t\thtml.push(\"<span row='-1' col='\"+i+\"'>\"+dData[i][\"date\"].replace(/\\d{4}-/,\"\")+\"<br />\"+dData[i][\"week\"]+\"</span>\");\r\n\t}\r\n\thtml.push(\"</dd><dd class='time'>\");\r\n\t//时间区间\r\n\tfor(i in hData){\r\n\t\thtml.push(\"<span row='\"+i+\"' col='-1'>\"+hData[i]+\"</span>\");\r\n\t}\r\n\thtml.push(\"</dd></dl>\");\r\n\t\r\n\thtml.push(\"<div class='data'>\");\r\n\t//dataList\r\n\tfor(i in dData){\r\n\t\twLen++;\r\n\t\thtml.push(\"<ul>\");\r\n\t\tfor(var j=0;j<hLen;j++){\r\n\t\t\tif(dData[i][\"hours\"][j].substring(0,1)==\"0\"){\r\n\t\t\t\thtml.push(\"<li class='checkbox disabled' data-status='0' row='\"+j+\"' col='\"+i+\"' val=''></li>\");\r\n\t\t\t}else{\r\n\t\t\t\thtml.push(\"<li class='checkbox' data-status='1' row='\"+j+\"' col='\"+i+\"' val='  \"+dData[i][\"date\"]+\"  (\"+dData[i][\"week\"]+\")  \"+hData[j]+\"'day='\"+dData[i][\"date\"]+\"'range='\"+hData[j]+\"' date-range='\"+dData[i][\"hours\"][j].substr(2)+\"'>可选</li>\");\r\n\t\t\t}\r\n\t\t}\r\n\t\thtml.push(\"</ul>\");\r\n\t}\r\n\thtml.push(\"</div>\");\r\n\thtml=html.join(\"\");\r\n\t\r\n\tvar tW=51,\r\n\t\ttH=31,\r\n\t\tiW=100,\r\n\t\tiH=50;\r\n\tobj.find(\".inner\").css({\r\n\t\twidth:wLen*tW+iW+10+\"px\",\r\n\t\theight:hLen*tH+iH+10+\"px\"\r\n\t}).html(html).show();\r\n\tobj.css({\r\n\t\tposition:\"absolute\",\r\n\t\ttop:106,\r\n\t\tleft:233,\r\n\t\twidth:wLen*tW+iW+\"px\",\r\n\t\theight:hLen*tH+iH+\"px\"\r\n\t\t\r\n\t}).attr(\"load\",\"1\");\r\n\t\r\n\tobj.find(\".data\").css({\r\n\t\twidth:wLen*tW+\"px\"\r\n\t});\t\r\n\t\r\n\tbinEvent();\r\n\t\r\n\tvar nomalPays = $(\"#jd-delivery-time .field .commonshipment\").length;\r\n\tif($(\".commonshipment\").is(\":hidden\")){\r\n\t\t\t$(\"#date-delivery\").css({\r\n\t\t\t\ttop:28,\r\n\t\t\t\tleft:233\r\n\t\t\t});\r\n\t}\r\n\telse if(nomalPays==2){\r\n\t\t\t$(\"#date-delivery\").css({\r\n\t\t\t\ttop:80,\r\n\t\t\t\tleft:233\r\n\t\t\t});\r\n\t}else if(nomalPays==1){\r\n\t\t\t$(\"#date-delivery\").css({\r\n\t\t\t\ttop:54,\r\n\t\t\t\tleft:233\r\n\t\t\t});\r\n\t}\r\n}\r\n\r\n\r\nfunction binEvent(){\r\n\tvar obj=$(\"#date-delivery\"),\r\n\t\tselected=null,\r\n\t\tbColor=\"#FFFFFF\",\r\n\t\thoverBColor=\"#EDF9E6\",\r\n\t\tselectedBcolor=\"#7ABD54\";\r\n\t\tobj.find(\".checkbox\").bind(\"mouseover\",function(){\r\n\t\tvar row=$(this).attr(\"row\"),\r\n\t\t\tcol=$(this).attr(\"col\");\r\n\t\tobj.find(\"li,span\").each(function(){\r\n\t\t\tvar _this=$(this);\r\n\t\t\tif(_this.attr(\"row\")==row||_this.attr(\"col\")==col){\r\n\t\t\t\tif(!_this.attr(\"selected\")){\r\n\t\t\t\t\t_this.css({\r\n\t\t\t\t\t\t\"background\":hoverBColor\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\t$(this).css({\r\n\t\t\t\"background\":selectedBcolor,\r\n\t\t\t\"color\":bColor\r\n\t\t});\r\n\t}).bind(\"mouseout\",function(){\r\n\t\tvar row=$(this).attr(\"row\"),\r\n\t\t\tcol=$(this).attr(\"col\");\r\n\t\t\tobj.find(\"li,span\").each(function(){\r\n\t\t\tvar _this=$(this);\r\n\t\t\tif(_this.attr(\"row\")==row||_this.attr(\"col\")==col){\r\n\t\t\t\tif(!_this.attr(\"selected\")){\r\n\t\t\t\t\t_this.css({\r\n\t\t\t\t\t\t\"background\":bColor\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif(_this.hasClass(\"checkbox\")){\r\n\t\t\t\t\t\t_this.css({\r\n\t\t\t\t\t\t\t\"color\":selectedBcolor\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}).bind(\"click\",function(){\r\n\t\tvar _this=$(this);\r\n\t\tif(_this.attr(\"val\")==\"\"){\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t$(\"#date-311\").val(_this.attr(\"val\"));\r\n\t\t$(\"#delivery-t4\").attr(\"checked\",true);\r\n\t\t$(\"#sendPay311\").val(_this.attr(\"date-range\"));\r\n\t\t$(\"#day\").val(_this.attr(\"day\"));\r\n\t\t$(\"#range\").val(_this.attr(\"range\"));\r\n\t\t_this.attr(\"selected\",\"1\").css({\r\n\t\t\t\"background\":selectedBcolor,\r\n\t\t\t\"color\":bColor\r\n\t\t});\r\n\t\t_this.parent().parent().find('li').not($('.disabled')).text('可选');\r\n\t\t_this.text('已选');\r\n\t\tif(!selected){\r\n\t\t\tselected=_this;\r\n\t\t}\r\n\t\tif(selected!=_this){\r\n\t\t\tif(selected.attr(\"row\")!=_this.attr(\"row\") && selected.attr(\"col\")!=_this.attr(\"col\")){\r\n\t\t\t\tselected.css({\r\n\t\t\t\t\t\"background\":bColor,\r\n\t\t\t\t\t\"color\":selectedBcolor\r\n\t\t\t\t});\r\n\t\t\t}else{\r\n\t\t\t\tselected.css({\r\n\t\t\t\t\t\"background\":hoverBColor\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tselected.removeAttr(\"selected\");\r\n\t\t\tselected=_this;\r\n\t\t}\r\n\t\tobj.hide();\r\n\r\n\t});\r\n\tobj.bind(\"click\",function(){\r\n\t\treturn false;\t\t\t\t\t  \r\n\t});\r\n}\r\n\r\n$(document).bind(\"click\",function(e){\r\n\tvar evt=e||window.event,\r\n\t\ttag=evt.target||evt.scrElement;\r\n\tif(tag.id!=\"date-311\"){\r\n\t\t$(\"#date-delivery\").hide();\r\n\t}\r\n});\r\n"
  },
  {
    "path": "migo-portal/src/main/webapp/js/cart.js",
    "content": "var TTCart = {\r\n\tload : function(){ // 加载购物车数据\r\n\t\t\r\n\t},\r\n\titemNumChange : function(){\r\n\t\t$(\".increment\").click(function(){//＋\r\n\t\t\tvar _thisInput = $(this).siblings(\"input\");\r\n\t\t\t_thisInput.val(eval(_thisInput.val()) + 1);\r\n\t\t\t$.post(\"/service/cart/update/num/\"+_thisInput.attr(\"itemId\")+\"/\"+_thisInput.val(),function(data){\r\n\t\t\t\tTTCart.refreshTotalPrice();\r\n\t\t\t});\r\n\t\t});\r\n\t\t$(\".decrement\").click(function(){//-\r\n\t\t\tvar _thisInput = $(this).siblings(\"input\");\r\n\t\t\tif(eval(_thisInput.val()) == 1){\r\n\t\t\t\treturn ;\r\n\t\t\t}\r\n\t\t\t_thisInput.val(eval(_thisInput.val()) - 1);\r\n\t\t\t$.post(\"/service/cart/update/num/\"+_thisInput.attr(\"itemId\")+\"/\"+_thisInput.val(),function(data){\r\n\t\t\t\tTTCart.refreshTotalPrice();\r\n\t\t\t});\r\n\t\t});\r\n\t\t$(\".quantity-form .quantity-text\").rnumber(1);//限制只能输入数字\r\n\t\t$(\".quantity-form .quantity-text\").change(function(){\r\n\t\t\tvar _thisInput = $(this);\r\n\t\t\t$.post(\"/service/cart/update/num/\"+_thisInput.attr(\"itemId\")+\"/\"+_thisInput.val(),function(data){\r\n\t\t\t\tTTCart.refreshTotalPrice();\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\trefreshTotalPrice : function(){ //重新计算总价\r\n\t\tvar total = 0;\r\n\t\t$(\".quantity-form .quantity-text\").each(function(i,e){\r\n\t\t\tvar _this = $(e);\r\n\t\t\ttotal += (eval(_this.attr(\"itemPrice\")) * 10000 * eval(_this.val())) / 10000;\r\n\t\t});\r\n\t\t$(\".totalSkuPrice\").html(new Number(total/100).toFixed(2)).priceFormat({ //价格格式化插件\r\n\t\t\t prefix: '￥',\r\n\t\t\t thousandsSeparator: ',',\r\n\t\t\t centsLimit: 2\r\n\t\t});\r\n\t}\r\n};\r\n\r\n$(function(){\r\n\tTTCart.load();\r\n\tTTCart.itemNumChange();\r\n});"
  },
  {
    "path": "migo-portal/src/main/webapp/js/comment.json",
    "content": "{\r\n    \"productAttr\": null,\r\n    \"productCommentSummary\": {\r\n        \"beginRowNumber\": 0,\r\n        \"endRowNumber\": 0,\r\n        \"skuId\": 1138529,\r\n        \"productId\": 1138529,\r\n        \"score1Count\": 238,\r\n        \"score2Count\": 95,\r\n        \"score3Count\": 353,\r\n        \"score4Count\": 1070,\r\n        \"score5Count\": 8326,\r\n        \"showCount\": 409,\r\n        \"commentCount\": 10082,\r\n        \"averageScore\": 5,\r\n        \"goodCount\": 9396,\r\n        \"goodRate\": 0.933,\r\n        \"goodRateShow\": 94,\r\n        \"goodRateStyle\": 140,\r\n        \"generalCount\": 448,\r\n        \"generalRate\": 0.044,\r\n        \"generalRateShow\": 4,\r\n        \"generalRateStyle\": 7,\r\n        \"poorCount\": 238,\r\n        \"poorRate\": 0.023,\r\n        \"poorRateShow\": 2,\r\n        \"poorRateStyle\": 3\r\n    },\r\n    \"hotCommentTagStatistics\": [\r\n        {\r\n            \"id\": 293047,\r\n            \"name\": \"屏幕大\",\r\n            \"status\": 0,\r\n            \"rid\": 15220,\r\n            \"productId\": 1138529,\r\n            \"count\": 1522,\r\n            \"created\": \"2014-06-06 10:49:37\",\r\n            \"modified\": \"2015-04-18 10:50:45\"\r\n        },\r\n        {\r\n            \"id\": 293067,\r\n            \"name\": \"外观漂亮\",\r\n            \"status\": 0,\r\n            \"rid\": 15225,\r\n            \"productId\": 1138529,\r\n            \"count\": 1467,\r\n            \"created\": \"2014-06-06 11:00:14\",\r\n            \"modified\": \"2015-04-18 11:36:36\"\r\n        },\r\n        {\r\n            \"id\": 293146,\r\n            \"name\": \"性价比高\",\r\n            \"status\": 0,\r\n            \"rid\": 15227,\r\n            \"productId\": 1138529,\r\n            \"count\": 1207,\r\n            \"created\": \"2014-06-06 11:57:59\",\r\n            \"modified\": \"2015-04-18 11:36:36\"\r\n        },\r\n        {\r\n            \"id\": 293049,\r\n            \"name\": \"系统流畅\",\r\n            \"status\": 0,\r\n            \"rid\": 15226,\r\n            \"productId\": 1138529,\r\n            \"count\": 1033,\r\n            \"created\": \"2014-06-06 10:49:37\",\r\n            \"modified\": \"2015-04-17 19:59:02\"\r\n        },\r\n        {\r\n            \"id\": 293147,\r\n            \"name\": \"功能齐全\",\r\n            \"status\": 0,\r\n            \"rid\": 15231,\r\n            \"productId\": 1138529,\r\n            \"count\": 1023,\r\n            \"created\": \"2014-06-06 11:57:59\",\r\n            \"modified\": \"2015-04-18 10:50:45\"\r\n        },\r\n        {\r\n            \"id\": 293767,\r\n            \"name\": \"通话质量好\",\r\n            \"status\": 0,\r\n            \"rid\": 15235,\r\n            \"productId\": 1138529,\r\n            \"count\": 851,\r\n            \"created\": \"2014-06-06 21:29:36\",\r\n            \"modified\": \"2015-04-18 10:16:49\"\r\n        },\r\n        {\r\n            \"id\": 293050,\r\n            \"name\": \"反应快\",\r\n            \"status\": 0,\r\n            \"rid\": 15224,\r\n            \"productId\": 1138529,\r\n            \"count\": 802,\r\n            \"created\": \"2014-06-06 10:49:37\",\r\n            \"modified\": \"2015-04-18 11:36:36\"\r\n        },\r\n        {\r\n            \"id\": 294007,\r\n            \"name\": \"照相不错\",\r\n            \"status\": 0,\r\n            \"rid\": 15223,\r\n            \"productId\": 1138529,\r\n            \"count\": 748,\r\n            \"created\": \"2014-06-07 10:04:40\",\r\n            \"modified\": \"2015-04-18 10:50:45\"\r\n        },\r\n        {\r\n            \"id\": 293495,\r\n            \"name\": \"信号稳定\",\r\n            \"status\": 0,\r\n            \"rid\": 15236,\r\n            \"productId\": 1138529,\r\n            \"count\": 730,\r\n            \"created\": \"2014-06-06 16:56:50\",\r\n            \"modified\": \"2015-04-17 15:06:03\"\r\n        },\r\n        {\r\n            \"id\": 293048,\r\n            \"name\": \"后盖很漂亮\",\r\n            \"status\": 0,\r\n            \"rid\": 15229,\r\n            \"productId\": 1138529,\r\n            \"count\": 721,\r\n            \"created\": \"2014-06-06 10:49:37\",\r\n            \"modified\": \"2015-04-18 10:16:49\"\r\n        }\r\n    ],\r\n    \"score\": 0,\r\n    \"comments\": [\r\n        {\r\n            \"id\": 664017354,\r\n            \"guid\": \"21c73b45-f5ad-4903-8746-ae031593f5c0\",\r\n            \"content\": \"就是耳机有点问题\",\r\n            \"creationTime\": \"2015-04-18 11:43:22\",\r\n            \"isTop\": false,\r\n            \"referenceId\": \"1138529\",\r\n            \"referenceImage\": \"g16/M00/0C/07/rBEbRlOIP_MIAAAAAAFWXorXF4YAACYlQLZhz0AAVZ2428.jpg\",\r\n            \"referenceName\": \"三星 Galaxy Grand 2 (G7108V) 白色 移动4G手机\",\r\n            \"referenceTime\": \"2014-11-06 10:27:10\",\r\n            \"referenceType\": \"Product\",\r\n            \"referenceTypeId\": 0,\r\n            \"firstCategory\": 9987,\r\n            \"secondCategory\": 653,\r\n            \"thirdCategory\": 655,\r\n            \"replyCount\": 0,\r\n            \"score\": 5,\r\n            \"status\": 1,\r\n            \"usefulVoteCount\": 0,\r\n            \"uselessVoteCount\": 0,\r\n            \"userImage\": \"misc.360buyimg.com/lib/img/u/b56.gif\",\r\n            \"userImageUrl\": \"misc.360buyimg.com/lib/img/u/b56.gif\",\r\n            \"userLevelId\": \"56\",\r\n            \"userProvince\": \"\",\r\n            \"viewCount\": 0,\r\n            \"orderId\": 0,\r\n            \"isReplyGrade\": false,\r\n            \"nickname\": \"DoadCmuorswZ\",\r\n            \"userClient\": 22,\r\n            \"productColor\": \"釉白\",\r\n            \"productSize\": \"移动4G\",\r\n            \"integral\": -10,\r\n            \"userLevelName\": \"铜牌会员\",\r\n            \"recommend\": false,\r\n            \"userClientShow\": \"<a href='javascript:;'>来自手机QQ购物</a>\",\r\n            \"isMobile\": false\r\n        },\r\n        {\r\n            \"id\": 664000565,\r\n            \"guid\": \"aeb0d342-0544-4cac-9ead-37b0ac339f10\",\r\n            \"content\": \"性价比高，外观漂亮  物流快！\",\r\n            \"creationTime\": \"2015-04-18 11:35:49\",\r\n            \"isTop\": false,\r\n            \"referenceId\": \"1138529\",\r\n            \"referenceImage\": \"g16/M00/0C/07/rBEbRlOIP_MIAAAAAAFWXorXF4YAACYlQLZhz0AAVZ2428.jpg\",\r\n            \"referenceName\": \"三星 Galaxy Grand 2 (G7108V) 白色 移动4G手机\",\r\n            \"referenceTime\": \"2015-04-07 09:04:04\",\r\n            \"referenceType\": \"Product\",\r\n            \"referenceTypeId\": 0,\r\n            \"firstCategory\": 9987,\r\n            \"secondCategory\": 653,\r\n            \"thirdCategory\": 655,\r\n            \"replyCount\": 0,\r\n            \"score\": 5,\r\n            \"status\": 1,\r\n            \"usefulVoteCount\": 0,\r\n            \"uselessVoteCount\": 0,\r\n            \"userImage\": \"misc.360buyimg.com/lib/img/u/b62.gif\",\r\n            \"userImageUrl\": \"misc.360buyimg.com/lib/img/u/b62.gif\",\r\n            \"userLevelId\": \"62\",\r\n            \"userProvince\": \"\",\r\n            \"viewCount\": 0,\r\n            \"orderId\": 0,\r\n            \"isReplyGrade\": false,\r\n            \"nickname\": \"6***m\",\r\n            \"userClient\": 0,\r\n            \"commentTags\": [\r\n                {\r\n                    \"id\": 5993450,\r\n                    \"name\": \"性价比高\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15227,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 664000565,\r\n                    \"created\": \"2015-04-18 11:36:13\",\r\n                    \"modified\": \"2015-04-18 11:36:13\"\r\n                },\r\n                {\r\n                    \"id\": 5993451,\r\n                    \"name\": \"音质好\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15234,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 664000565,\r\n                    \"created\": \"2015-04-18 11:36:13\",\r\n                    \"modified\": \"2015-04-18 11:36:13\"\r\n                },\r\n                {\r\n                    \"id\": 5993452,\r\n                    \"name\": \"反应快\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15224,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 664000565,\r\n                    \"created\": \"2015-04-18 11:36:13\",\r\n                    \"modified\": \"2015-04-18 11:36:13\"\r\n                },\r\n                {\r\n                    \"id\": 5993453,\r\n                    \"name\": \"外观漂亮\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15225,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 664000565,\r\n                    \"created\": \"2015-04-18 11:36:13\",\r\n                    \"modified\": \"2015-04-18 11:36:13\"\r\n                },\r\n                {\r\n                    \"id\": 5993454,\r\n                    \"name\": \"字体大\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15228,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 664000565,\r\n                    \"created\": \"2015-04-18 11:36:13\",\r\n                    \"modified\": \"2015-04-18 11:36:13\"\r\n                }\r\n            ],\r\n            \"productColor\": \"釉白\",\r\n            \"productSize\": \"移动4G\",\r\n            \"integral\": -30,\r\n            \"anonymousFlag\": 1,\r\n            \"userLevelName\": \"金牌会员\",\r\n            \"recommend\": false,\r\n            \"userLevelColor\": \"#088000\",\r\n            \"userClientShow\": \"\",\r\n            \"isMobile\": false\r\n        },\r\n        {\r\n            \"id\": 663917807,\r\n            \"guid\": \"e76020f7-322c-4c52-87e9-64579ad88d58\",\r\n            \"content\": \"性价比不错的一个手机，关键是能满足自己的需要。\",\r\n            \"creationTime\": \"2015-04-18 10:50:22\",\r\n            \"isTop\": false,\r\n            \"referenceId\": \"1138529\",\r\n            \"referenceImage\": \"g16/M00/0C/07/rBEbRlOIP_MIAAAAAAFWXorXF4YAACYlQLZhz0AAVZ2428.jpg\",\r\n            \"referenceName\": \"三星 Galaxy Grand 2 (G7108V) 白色 移动4G手机\",\r\n            \"referenceTime\": \"2014-11-08 13:11:32\",\r\n            \"referenceType\": \"Product\",\r\n            \"referenceTypeId\": 0,\r\n            \"firstCategory\": 9987,\r\n            \"secondCategory\": 653,\r\n            \"thirdCategory\": 655,\r\n            \"replyCount\": 0,\r\n            \"score\": 4,\r\n            \"status\": 1,\r\n            \"usefulVoteCount\": 0,\r\n            \"uselessVoteCount\": 0,\r\n            \"userImage\": \"misc.360buyimg.com/lib/img/u/b61.gif\",\r\n            \"userImageUrl\": \"misc.360buyimg.com/lib/img/u/b61.gif\",\r\n            \"userLevelId\": \"61\",\r\n            \"userProvince\": \"上海\",\r\n            \"viewCount\": 0,\r\n            \"orderId\": 0,\r\n            \"isReplyGrade\": false,\r\n            \"nickname\": \"e***u\",\r\n            \"userClient\": 0,\r\n            \"commentTags\": [\r\n                {\r\n                    \"id\": 5992477,\r\n                    \"name\": \"待机时间长\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15221,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 663917807,\r\n                    \"created\": \"2015-04-18 10:50:38\",\r\n                    \"modified\": \"2015-04-18 10:50:38\"\r\n                },\r\n                {\r\n                    \"id\": 5992478,\r\n                    \"name\": \"功能齐全\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15231,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 663917807,\r\n                    \"created\": \"2015-04-18 10:50:38\",\r\n                    \"modified\": \"2015-04-18 10:50:38\"\r\n                },\r\n                {\r\n                    \"id\": 5992479,\r\n                    \"name\": \"屏幕大\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15220,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 663917807,\r\n                    \"created\": \"2015-04-18 10:50:38\",\r\n                    \"modified\": \"2015-04-18 10:50:38\"\r\n                },\r\n                {\r\n                    \"id\": 5992480,\r\n                    \"name\": \"照相不错\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15223,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 663917807,\r\n                    \"created\": \"2015-04-18 10:50:38\",\r\n                    \"modified\": \"2015-04-18 10:50:38\"\r\n                },\r\n                {\r\n                    \"id\": 5992481,\r\n                    \"name\": \"电池耐用\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15222,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 663917807,\r\n                    \"created\": \"2015-04-18 10:50:38\",\r\n                    \"modified\": \"2015-04-18 10:50:38\"\r\n                }\r\n            ],\r\n            \"productColor\": \"釉白\",\r\n            \"productSize\": \"移动4G\",\r\n            \"integral\": -20,\r\n            \"anonymousFlag\": 1,\r\n            \"userLevelName\": \"银牌会员\",\r\n            \"recommend\": false,\r\n            \"userClientShow\": \"\",\r\n            \"isMobile\": false\r\n        },\r\n        {\r\n            \"id\": 663883880,\r\n            \"guid\": \"fd25882f-28fb-4839-a64d-3f796a51b906\",\r\n            \"content\": \"物流挺给力\",\r\n            \"creationTime\": \"2015-04-18 10:34:13\",\r\n            \"isTop\": false,\r\n            \"referenceId\": \"1138529\",\r\n            \"referenceImage\": \"g16/M00/0C/07/rBEbRlOIP_MIAAAAAAFWXorXF4YAACYlQLZhz0AAVZ2428.jpg\",\r\n            \"referenceName\": \"三星 Galaxy Grand 2 (G7108V) 白色 移动4G手机\",\r\n            \"referenceTime\": \"2015-03-24 15:31:12\",\r\n            \"referenceType\": \"Product\",\r\n            \"referenceTypeId\": 0,\r\n            \"firstCategory\": 9987,\r\n            \"secondCategory\": 653,\r\n            \"thirdCategory\": 655,\r\n            \"replyCount\": 0,\r\n            \"score\": 5,\r\n            \"status\": 1,\r\n            \"usefulVoteCount\": 0,\r\n            \"uselessVoteCount\": 0,\r\n            \"userImage\": \"misc.360buyimg.com/lib/img/u/b61.gif\",\r\n            \"userImageUrl\": \"misc.360buyimg.com/lib/img/u/b61.gif\",\r\n            \"userLevelId\": \"61\",\r\n            \"userProvince\": \"\",\r\n            \"viewCount\": 0,\r\n            \"orderId\": 0,\r\n            \"isReplyGrade\": false,\r\n            \"nickname\": \"onIbAnbavUqc\",\r\n            \"userClient\": 21,\r\n            \"productColor\": \"釉白\",\r\n            \"productSize\": \"移动4G\",\r\n            \"integral\": -20,\r\n            \"userLevelName\": \"银牌会员\",\r\n            \"recommend\": false,\r\n            \"userClientShow\": \"<a href='javascript:;'>来自微信购物</a>\",\r\n            \"isMobile\": false\r\n        },\r\n        {\r\n            \"id\": 663882442,\r\n            \"guid\": \"fa1ce6b9-bba2-4c66-aed9-6a8f3495775e\",\r\n            \"content\": \"这手机最划算，还想再买个\",\r\n            \"creationTime\": \"2015-04-18 10:33:14\",\r\n            \"isTop\": false,\r\n            \"referenceId\": \"1138529\",\r\n            \"referenceImage\": \"g16/M00/0C/07/rBEbRlOIP_MIAAAAAAFWXorXF4YAACYlQLZhz0AAVZ2428.jpg\",\r\n            \"referenceName\": \"三星 Galaxy Grand 2 (G7108V) 白色 移动4G手机\",\r\n            \"referenceTime\": \"2015-02-28 13:06:58\",\r\n            \"referenceType\": \"Product\",\r\n            \"referenceTypeId\": 0,\r\n            \"firstCategory\": 9987,\r\n            \"secondCategory\": 653,\r\n            \"thirdCategory\": 655,\r\n            \"replyCount\": 0,\r\n            \"score\": 5,\r\n            \"status\": 1,\r\n            \"usefulVoteCount\": 0,\r\n            \"uselessVoteCount\": 0,\r\n            \"userImage\": \"storage.jd.com/i.imageUpload/31333834303038343433395f7031343231373232333332373733_sma.jpg\",\r\n            \"userImageUrl\": \"storage.jd.com/i.imageUpload/31333834303038343433395f7031343231373232333332373733_sma.jpg\",\r\n            \"userLevelId\": \"62\",\r\n            \"userProvince\": \"辽宁\",\r\n            \"viewCount\": 0,\r\n            \"orderId\": 0,\r\n            \"isReplyGrade\": false,\r\n            \"nickname\": \"j***w\",\r\n            \"userClient\": 4,\r\n            \"productColor\": \"釉白\",\r\n            \"productSize\": \"移动4G\",\r\n            \"integral\": -30,\r\n            \"anonymousFlag\": 1,\r\n            \"userLevelName\": \"金牌会员\",\r\n            \"recommend\": false,\r\n            \"userLevelColor\": \"#088000\",\r\n            \"userClientShow\": \"<a href='http://app.jd.com/android.html' target='_blank'>来自京东Android客户端</a>\",\r\n            \"isMobile\": true\r\n        },\r\n        {\r\n            \"id\": 663849229,\r\n            \"guid\": \"73f2259b-c8c7-4400-9d36-06edafe3dc1b\",\r\n            \"content\": \"宝贝不错，昨天下的单今天早上就到了。京东没得说??\",\r\n            \"creationTime\": \"2015-04-18 10:17:03\",\r\n            \"isTop\": false,\r\n            \"referenceId\": \"1138529\",\r\n            \"referenceImage\": \"g16/M00/0C/07/rBEbRlOIP_MIAAAAAAFWXorXF4YAACYlQLZhz0AAVZ2428.jpg\",\r\n            \"referenceName\": \"三星 Galaxy Grand 2 (G7108V) 白色 移动4G手机\",\r\n            \"referenceTime\": \"2015-04-17 15:12:21\",\r\n            \"referenceType\": \"Product\",\r\n            \"referenceTypeId\": 0,\r\n            \"firstCategory\": 9987,\r\n            \"secondCategory\": 653,\r\n            \"thirdCategory\": 655,\r\n            \"replyCount\": 0,\r\n            \"score\": 5,\r\n            \"status\": 1,\r\n            \"usefulVoteCount\": 0,\r\n            \"uselessVoteCount\": 0,\r\n            \"userImage\": \"misc.360buyimg.com/lib/img/u/b62.gif\",\r\n            \"userImageUrl\": \"misc.360buyimg.com/lib/img/u/b62.gif\",\r\n            \"userLevelId\": \"62\",\r\n            \"userProvince\": \"\",\r\n            \"viewCount\": 0,\r\n            \"orderId\": 0,\r\n            \"isReplyGrade\": false,\r\n            \"nickname\": \"liuxu014615\",\r\n            \"userClient\": 22,\r\n            \"productColor\": \"釉白\",\r\n            \"productSize\": \"移动4G\",\r\n            \"integral\": -30,\r\n            \"userLevelName\": \"金牌会员\",\r\n            \"recommend\": false,\r\n            \"userLevelColor\": \"#088000\",\r\n            \"userClientShow\": \"<a href='javascript:;'>来自手机QQ购物</a>\",\r\n            \"isMobile\": false\r\n        },\r\n        {\r\n            \"id\": 663845945,\r\n            \"guid\": \"5aa3bc1e-13d8-494c-9001-7a2ba85d1c40\",\r\n            \"content\": \"不错的一款手机，第二部购买\",\r\n            \"creationTime\": \"2015-04-18 10:16:15\",\r\n            \"isTop\": false,\r\n            \"referenceId\": \"1138529\",\r\n            \"referenceImage\": \"g16/M00/0C/07/rBEbRlOIP_MIAAAAAAFWXorXF4YAACYlQLZhz0AAVZ2428.jpg\",\r\n            \"referenceName\": \"三星 Galaxy Grand 2 (G7108V) 白色 移动4G手机\",\r\n            \"referenceTime\": \"2015-04-14 10:22:44\",\r\n            \"referenceType\": \"Product\",\r\n            \"referenceTypeId\": 0,\r\n            \"firstCategory\": 9987,\r\n            \"secondCategory\": 653,\r\n            \"thirdCategory\": 655,\r\n            \"replyCount\": 0,\r\n            \"score\": 5,\r\n            \"status\": 1,\r\n            \"usefulVoteCount\": 0,\r\n            \"uselessVoteCount\": 0,\r\n            \"userImage\": \"storage.jd.com/i.imageUpload/35323039393731302d353935343531333031343135383734363339343933_sma.jpg\",\r\n            \"userImageUrl\": \"storage.jd.com/i.imageUpload/35323039393731302d353935343531333031343135383734363339343933_sma.jpg\",\r\n            \"userLevelId\": \"62\",\r\n            \"userProvince\": \"山西\",\r\n            \"viewCount\": 0,\r\n            \"orderId\": 0,\r\n            \"isReplyGrade\": false,\r\n            \"nickname\": \"宁***1\",\r\n            \"userClient\": 0,\r\n            \"commentTags\": [\r\n                {\r\n                    \"id\": 5991755,\r\n                    \"name\": \"性价比高\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15227,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 663845945,\r\n                    \"created\": \"2015-04-18 10:16:43\",\r\n                    \"modified\": \"2015-04-18 10:16:43\"\r\n                },\r\n                {\r\n                    \"id\": 5991756,\r\n                    \"name\": \"通话质量好\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15235,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 663845945,\r\n                    \"created\": \"2015-04-18 10:16:43\",\r\n                    \"modified\": \"2015-04-18 10:16:43\"\r\n                },\r\n                {\r\n                    \"id\": 5991757,\r\n                    \"name\": \"后盖很漂亮\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15229,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 663845945,\r\n                    \"created\": \"2015-04-18 10:16:43\",\r\n                    \"modified\": \"2015-04-18 10:16:43\"\r\n                }\r\n            ],\r\n            \"productColor\": \"釉白\",\r\n            \"productSize\": \"移动4G\",\r\n            \"integral\": -30,\r\n            \"anonymousFlag\": 1,\r\n            \"userLevelName\": \"金牌会员\",\r\n            \"recommend\": false,\r\n            \"userLevelColor\": \"#088000\",\r\n            \"userClientShow\": \"\",\r\n            \"isMobile\": false\r\n        },\r\n        {\r\n            \"id\": 663838028,\r\n            \"guid\": \"423cb4a5-a23c-4b9b-af35-977d7422ba16\",\r\n            \"content\": \"手机使用几天后来评价的，京东速度很快，上午订单下午到达，手机使用还不错，电池挺耐用的，外观很漂亮，敏感度很高。\",\r\n            \"creationTime\": \"2015-04-18 10:12:26\",\r\n            \"isTop\": false,\r\n            \"referenceId\": \"1138529\",\r\n            \"referenceImage\": \"g16/M00/0C/07/rBEbRlOIP_MIAAAAAAFWXorXF4YAACYlQLZhz0AAVZ2428.jpg\",\r\n            \"referenceName\": \"三星 Galaxy Grand 2 (G7108V) 白色 移动4G手机\",\r\n            \"referenceTime\": \"2015-04-14 09:06:26\",\r\n            \"referenceType\": \"Product\",\r\n            \"referenceTypeId\": 0,\r\n            \"firstCategory\": 9987,\r\n            \"secondCategory\": 653,\r\n            \"thirdCategory\": 655,\r\n            \"replyCount\": 0,\r\n            \"score\": 5,\r\n            \"status\": 1,\r\n            \"usefulVoteCount\": 0,\r\n            \"uselessVoteCount\": 0,\r\n            \"userImage\": \"misc.360buyimg.com/lib/img/u/b61.gif\",\r\n            \"userImageUrl\": \"misc.360buyimg.com/lib/img/u/b61.gif\",\r\n            \"userLevelId\": \"61\",\r\n            \"userProvince\": \"江苏\",\r\n            \"viewCount\": 0,\r\n            \"orderId\": 0,\r\n            \"isReplyGrade\": false,\r\n            \"nickname\": \"樱***子\",\r\n            \"userClient\": 0,\r\n            \"commentTags\": [\r\n                {\r\n                    \"id\": 5991648,\r\n                    \"name\": \"外观漂亮\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15225,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 663838028,\r\n                    \"created\": \"2015-04-18 10:12:34\",\r\n                    \"modified\": \"2015-04-18 10:12:34\"\r\n                },\r\n                {\r\n                    \"id\": 5991649,\r\n                    \"name\": \"字体大\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15228,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 663838028,\r\n                    \"created\": \"2015-04-18 10:12:34\",\r\n                    \"modified\": \"2015-04-18 10:12:34\"\r\n                },\r\n                {\r\n                    \"id\": 5991650,\r\n                    \"name\": \"待机时间长\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15221,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 663838028,\r\n                    \"created\": \"2015-04-18 10:12:34\",\r\n                    \"modified\": \"2015-04-18 10:12:34\"\r\n                },\r\n                {\r\n                    \"id\": 5991651,\r\n                    \"name\": \"支持国产机\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15237,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 663838028,\r\n                    \"created\": \"2015-04-18 10:12:34\",\r\n                    \"modified\": \"2015-04-18 10:12:34\"\r\n                },\r\n                {\r\n                    \"id\": 5991652,\r\n                    \"name\": \"电池耐用\",\r\n                    \"pin\": \"\",\r\n                    \"status\": 0,\r\n                    \"rid\": 15222,\r\n                    \"productId\": 1138529,\r\n                    \"commentId\": 663838028,\r\n                    \"created\": \"2015-04-18 10:12:34\",\r\n                    \"modified\": \"2015-04-18 10:12:34\"\r\n                }\r\n            ],\r\n            \"productColor\": \"釉白\",\r\n            \"productSize\": \"移动4G\",\r\n            \"integral\": -20,\r\n            \"anonymousFlag\": 1,\r\n            \"userLevelName\": \"银牌会员\",\r\n            \"recommend\": false,\r\n            \"userClientShow\": \"\",\r\n            \"isMobile\": false\r\n        },\r\n        {\r\n            \"id\": 663815612,\r\n            \"guid\": \"d8abee34-d997-453b-903a-eaa1c9626c0f\",\r\n            \"content\": \"很好价格便宜质量很好\",\r\n            \"creationTime\": \"2015-04-18 10:00:08\",\r\n            \"isTop\": false,\r\n            \"referenceId\": \"1138529\",\r\n            \"referenceImage\": \"g16/M00/0C/07/rBEbRlOIP_MIAAAAAAFWXorXF4YAACYlQLZhz0AAVZ2428.jpg\",\r\n            \"referenceName\": \"三星 Galaxy Grand 2 (G7108V) 白色 移动4G手机\",\r\n            \"referenceTime\": \"2015-04-17 14:49:00\",\r\n            \"referenceType\": \"Product\",\r\n            \"referenceTypeId\": 0,\r\n            \"firstCategory\": 9987,\r\n            \"secondCategory\": 653,\r\n            \"thirdCategory\": 655,\r\n            \"replyCount\": 0,\r\n            \"score\": 5,\r\n            \"status\": 1,\r\n            \"usefulVoteCount\": 0,\r\n            \"uselessVoteCount\": 0,\r\n            \"userImage\": \"storage.jd.com/i.imageUpload/777777636f6d31363331343038393638343034313033_sma.jpg\",\r\n            \"userImageUrl\": \"storage.jd.com/i.imageUpload/777777636f6d31363331343038393638343034313033_sma.jpg\",\r\n            \"userLevelId\": \"62\",\r\n            \"userProvince\": \"广东\",\r\n            \"viewCount\": 0,\r\n            \"orderId\": 0,\r\n            \"isReplyGrade\": false,\r\n            \"nickname\": \"w***3\",\r\n            \"userClient\": 2,\r\n            \"productColor\": \"釉白\",\r\n            \"productSize\": \"移动4G\",\r\n            \"integral\": -30,\r\n            \"anonymousFlag\": 1,\r\n            \"userLevelName\": \"金牌会员\",\r\n            \"recommend\": false,\r\n            \"userLevelColor\": \"#088000\",\r\n            \"userClientShow\": \"<a href='http://app.jd.com/iphone.html' target='_blank'>来自京东iPhone客户端</a>\",\r\n            \"isMobile\": true\r\n        },\r\n        {\r\n            \"id\": 663665740,\r\n            \"guid\": \"c3756c0f-0d70-4979-8eef-39d7e6dbcf39\",\r\n            \"content\": \"手机不错，帮朋友买的很喜欢。\",\r\n            \"creationTime\": \"2015-04-18 08:15:37\",\r\n            \"isTop\": false,\r\n            \"referenceId\": \"1138529\",\r\n            \"referenceImage\": \"g16/M00/0C/07/rBEbRlOIP_MIAAAAAAFWXorXF4YAACYlQLZhz0AAVZ2428.jpg\",\r\n            \"referenceName\": \"三星 Galaxy Grand 2 (G7108V) 白色 移动4G手机\",\r\n            \"referenceTime\": \"2015-04-15 21:21:13\",\r\n            \"referenceType\": \"Product\",\r\n            \"referenceTypeId\": 0,\r\n            \"firstCategory\": 9987,\r\n            \"secondCategory\": 653,\r\n            \"thirdCategory\": 655,\r\n            \"replyCount\": 0,\r\n            \"score\": 5,\r\n            \"status\": 1,\r\n            \"usefulVoteCount\": 0,\r\n            \"uselessVoteCount\": 0,\r\n            \"userImage\": \"storage.jd.com/i.imageUpload/6a645f3765363563356136346430616431333930363139363832343134_sma.jpg\",\r\n            \"userImageUrl\": \"storage.jd.com/i.imageUpload/6a645f3765363563356136346430616431333930363139363832343134_sma.jpg\",\r\n            \"userLevelId\": \"61\",\r\n            \"userProvince\": \"上海\",\r\n            \"viewCount\": 0,\r\n            \"orderId\": 0,\r\n            \"isReplyGrade\": false,\r\n            \"nickname\": \"jd_449525745\",\r\n            \"userClient\": 4,\r\n            \"productColor\": \"釉白\",\r\n            \"productSize\": \"移动4G\",\r\n            \"integral\": -20,\r\n            \"anonymousFlag\": 0,\r\n            \"userLevelName\": \"银牌会员\",\r\n            \"recommend\": false,\r\n            \"userClientShow\": \"<a href='http://app.jd.com/android.html' target='_blank'>来自京东Android客户端</a>\",\r\n            \"isMobile\": true\r\n        }\r\n    ],\r\n    \"topFiveCommentVos\": []\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/js/home.js",
    "content": "function getPriceNum(t, e, i, a, n) {\r\n    t = \"string\" == typeof t ? [t] : t, i = i || $(\"body\"), a = a || \"J-p-\";\r\n    var s = \"\";\r\n    if (null !== e && (s = readCookie(\"ipLoc-djd\") ? \"&area=\" + readCookie(\"ipLoc-djd\").replace(/-/g, \"_\") : \"&area=1\"), void 0 !== t) {\r\n        var o = \"http://p.3.cn/prices/mgets?type=1&skuIds=J_\" + t.join(\",J_\") + s;\r\n        $.ajax({url: o,dataType: \"jsonp\",success: function(t) {\r\n                if (!t && !t.length)\r\n                    return !1;\r\n                for (var e = 0; t.length > e; e++) {\r\n                    if (!t[e].id)\r\n                        return !1;\r\n                    var s = t[e].id.replace(\"J_\", \"\"), r = parseFloat(t[e].p);\r\n                    parseFloat(t[e].m), r > 0 ? i.find(\".\" + a + s).html(\"\\uffe5\" + t[e].p) : i.find(\".\" + a + s).html(\"\\u6682\\u65e0\\u62a5\\u4ef7\"), \"function\" == typeof n && n(s, t[e], o)\r\n                }\r\n            }})\r\n    }\r\n}\r\nfunction setAccordion(t) {\r\n    var e = $(t), i = \"1\", a = \"0.8\", n = \"0\", s = \"-15px\";\r\n    6 == parseInt($.browser.version, 10) ? \"left\" : \"margin-left\", e.removeClass(\"advanced\"), e.find(\"a\").bind(\"mouseenter\", function() {\r\n        $(this).stop(!0).animate({opacity: i}, 800).siblings(\"a\").stop(!0).animate({opacity: a}, 800).end().find(\"img\").stop(!0).animate({left: s}, 400), $(this).parent(\".item\").siblings().find(\"a\").each(function() {\r\n            $(this).stop(!0).animate({opacity: a}, 800)\r\n        })\r\n    }).bind(\"mouseleave\", function() {\r\n        $(this).find(\"img\").stop(!0).animate({left: n}, 400)\r\n    }), e.bind(\"mouseleave\", function() {\r\n        $(this).find(\"a\").stop(!0).animate({opacity: i}, 800)\r\n    })\r\n}\r\nfunction renderAccordion(t) {\r\n    function e(t, e) {\r\n        for (var n = 0 === t % 2 ? 2 : 1, s = $(\"#clothing .accordion\"), o = {data: i(e, n)}, r = 0; o.data.length > r; r++)\r\n            $(\"#clothing-accordion-r\" + (t + 1)).html(a.process(o, o.data.length));\r\n        pageConfig.FN_ImgError(s[0]), s.find(\"img\").Jlazyload({type: \"image\",threshold: 200,placeholderClass: \"err-product\"})\r\n    }\r\n    function i(t, e) {\r\n        return t.sort(function() {\r\n            return Math.random() - .5\r\n        }), t.slice(0, e)\r\n    }\r\n    for (var a = '{for item in data}<a target=\"_blank\" class=\"fore${arguments[2]}\" href=\"${item.href}\">    <strong>${item.title}</strong>    <em>${item.desc}</em>    <img data-img=\"2\" data-lazyload=\"${item.srcB}\" alt=\"${item.alt}\"></a>{/for}', n = 0; t.length > n; n++)\r\n        e(n, t[n].list);\r\n    $.browser.msie && 9 >= parseInt($.browser.version, 10) ? setAccordion(\"#clothing .accordion\") : $(\"#clothing .accordion\").addClass(\"advanced\"), $(\"#clothing .accordion .item a\").each(function(t) {\r\n        $(this).attr(\"clstag\", \"homepage|keycount|home2013|22c\" + (t + 2))\r\n    })\r\n}\r\nfunction setArea() {\r\n    var t, e = $(\"#shortcut-2013\"), i = readCookie(\"areaId\") || 1, a = {list: [{text: \"\\u5317\\u4eac\",val: 1}, {text: \"\\u4e0a\\u6d77\",val: 2}, {text: \"\\u5929\\u6d25\",val: 3}, {text: \"\\u91cd\\u5e86\",val: 4}, {text: \"\\u6cb3\\u5317\",val: 5}, {text: \"\\u5c71\\u897f\",val: 6}, {text: \"\\u6cb3\\u5357\",val: 7}, {text: \"\\u8fbd\\u5b81\",val: 8}, {text: \"\\u5409\\u6797\",val: 9}, {text: \"\\u9ed1\\u9f99\\u6c5f\",val: 10}, {text: \"\\u5185\\u8499\\u53e4\",val: 11}, {text: \"\\u6c5f\\u82cf\",val: 12}, {text: \"\\u5c71\\u4e1c\",val: 13}, {text: \"\\u5b89\\u5fbd\",val: 14}, {text: \"\\u6d59\\u6c5f\",val: 15}, {text: \"\\u798f\\u5efa\",val: 16}, {text: \"\\u6e56\\u5317\",val: 17}, {text: \"\\u6e56\\u5357\",val: 18}, {text: \"\\u5e7f\\u4e1c\",val: 19}, {text: \"\\u5e7f\\u897f\",val: 20}, {text: \"\\u6c5f\\u897f\",val: 21}, {text: \"\\u56db\\u5ddd\",val: 22}, {text: \"\\u6d77\\u5357\",val: 23}, {text: \"\\u8d35\\u5dde\",val: 24}, {text: \"\\u4e91\\u5357\",val: 25}, {text: \"\\u897f\\u85cf\",val: 26}, {text: \"\\u9655\\u897f\",val: 27}, {text: \"\\u7518\\u8083\",val: 28}, {text: \"\\u9752\\u6d77\",val: 29}, {text: \"\\u5b81\\u590f\",val: 30}, {text: \"\\u65b0\\u7586\",val: 31}, {text: \"\\u53f0\\u6e7e\",val: 32}, {text: \"\\u9999\\u6e2f\",val: 42}, {text: \"\\u6fb3\\u95e8\",val: 43}, {text: \"\\u9493\\u9c7c\\u5c9b\",val: 84}, {link: !0,text: \"\\u6d77\\u5916\",val: \"http://en.jd.com/chinese.html\"}],key: {A1: {text: \"\\u5317\\u4eac\",val: 1},A2: {text: \"\\u4e0a\\u6d77\",val: 2},A3: {text: \"\\u5929\\u6d25\",val: 3},A4: {text: \"\\u91cd\\u5e86\",val: 4},A5: {text: \"\\u6cb3\\u5317\",val: 5},A6: {text: \"\\u5c71\\u897f\",val: 6},A7: {text: \"\\u6cb3\\u5357\",val: 7},A8: {text: \"\\u8fbd\\u5b81\",val: 8},A9: {text: \"\\u5409\\u6797\",val: 9},A10: {text: \"\\u9ed1\\u9f99\\u6c5f\",val: 10},A11: {text: \"\\u5185\\u8499\\u53e4\",val: 11},A12: {text: \"\\u6c5f\\u82cf\",val: 12},A13: {text: \"\\u5c71\\u4e1c\",val: 13},A14: {text: \"\\u5b89\\u5fbd\",val: 14},A15: {text: \"\\u6d59\\u6c5f\",val: 15},A16: {text: \"\\u798f\\u5efa\",val: 16},A17: {text: \"\\u6e56\\u5317\",val: 17},A18: {text: \"\\u6e56\\u5357\",val: 18},A19: {text: \"\\u5e7f\\u4e1c\",val: 19},A20: {text: \"\\u5e7f\\u897f\",val: 20},A21: {text: \"\\u6c5f\\u897f\",val: 21},A22: {text: \"\\u56db\\u5ddd\",val: 22},A23: {text: \"\\u6d77\\u5357\",val: 23},A24: {text: \"\\u8d35\\u5dde\",val: 24},A25: {text: \"\\u4e91\\u5357\",val: 25},A26: {text: \"\\u897f\\u85cf\",val: 26},A27: {text: \"\\u9655\\u897f\",val: 27},A28: {text: \"\\u7518\\u8083\",val: 28},A29: {text: \"\\u9752\\u6d77\",val: 29},A30: {text: \"\\u5b81\\u590f\",val: 30},A31: {text: \"\\u65b0\\u7586\",val: 31},A32: {text: \"\\u53f0\\u6e7e\",val: 32},A42: {text: \"\\u9999\\u6e2f\",val: 42},A43: {text: \"\\u6fb3\\u95e8\",val: 43},A84: {text: \"\\u9493\\u9c7c\\u5c9b\",val: 84}}}, n = a.key[\"A\" + i].text, s = '<dl id=\"home-area\">    <dt>        <b></b>        <strong>${def.text}</strong>        <a href=\"javascript:;\">[\\u66f4\\u6362]</a>        <span class=\"blank\"></span>    </dt>    <dd class=\"dd\">        <ul class=\"lh\">            {for item in list}                {if item.link}                    <li><a href=\"${item.val}\" target=\"_blank\">${item.text}</a></li>                {else}                    <li><a href=\"#none\" data-id=\"${item.val}\">${item.text}</a></li>                {/if}            {/for}        </ul>        <div class=\"close\" onclick=\"$(\\'#home-area\\').removeClass(\\'hover\\')\">\\u00d7</div>   </dd></dl>';\r\n    a.def = {text: n,val: i}, e.find(\"ul\").eq(0).after(s.process(a)), t = $(\"#home-area\"), t.Jdropdown({event: \"click\"}), t.find(\".dd ul a[data-id]\").click(function() {\r\n        var e = $(this).attr(\"data-id\");\r\n        createCookie(\"areaId\", e, 10, \"/;domain=jd.com\"), createCookie(\"ipLoc-djd\", e + \"-0-0-0\", 10, \"/;domain=jd.com\"), location.href = \"http://www.jd.com/\", t.removeClass(\"hover\")\r\n    })\r\n}\r\nfunction setShowcase(t) {\r\n    var e = $(t);\r\n    if (pageConfig.wideVersion && pageConfig.compatible, $.browser.msie && 9 >= parseInt($.browser.version, 10)) {\r\n        var i = e.find(\".sc-list\").find(\".item\");\r\n        i.bind(\"mouseenter\", function() {\r\n            $(this).find(\".s-img\").find(\"img\").stop(!0).animate({left: \"-10px\"}, 300)\r\n        }).bind(\"mouseleave\", function() {\r\n            $(this).find(\".s-img\").find(\"img\").stop(!0).animate({left: \"0px\"}, 300)\r\n        })\r\n    } else\r\n        e.addClass(\"advanced\")\r\n}\r\nfunction setClothingPlist2(t) {\r\n    var e = $(t);\r\n    e.find(\".smc\").find(\"li\").each(function() {\r\n        ($(this).hasClass(\"fore1\") || $(this).hasClass(\"fore2\")) && $(this).bind(\"mouseenter\", function() {\r\n            $(this).find(\".p-info\").find(\"span\").stop(!0).fadeIn(300)\r\n        }).bind(\"mouseleave\", function() {\r\n            $(this).find(\".p-info\").find(\"span\").stop(!0).fadeOut(300, function() {\r\n                $(this).attr(\"style\", \"display: none;\")\r\n            })\r\n        })\r\n    })\r\n}\r\nfunction setCheckEptArea() {\r\n//    var t = function(t) {\r\n//        if (0 !== t.type) {\r\n//            var e = $(\"#header-2013\"), i = $('<div id=\"jd-ept-link\" style=\"height: 60px;margin-bottom:10px;\"></div>'), a = \"http://en.jd.com/\", n = '<div class=\"w\" clstag=\"homepage|keycount|home2013|ept\"><a target=\"_blank\" href=\"' + a + '\" style=\"display: block;text-align: center;border: 2px solid #F0AF00;background: #FFFBDD url(/images/blank.gif);\">' + '<img style=\"vertical-align: top;\" class=\"loading-style2\" data-img=\"1\" src=\"http://img11.360buyimg.com/da/g14/M03/1E/18/rBEhVlNUvcEIAAAAAAAgBol2wPcAAMVkwEJL5gAACAe087.png\" width=\"874\" height=\"56\" />' + \"</a></div>\";\r\n//            i.html(n), e.after(i)\r\n//        }\r\n//    };\r\n//    $.ajax({url: \"http://ai.jd.com/jdip/useripinfo.php\",dataType: \"jsonp\",success: function(e) {\r\n//            void 0 !== e && t(e)\r\n//        }})\r\n}\r\nfunction hotSaleMod(t) {\r\n    (function() {\r\n        var e = function(t) {\r\n            var e = document, i = e.getElementsByTagName(\"head\"), a = e.createElement(\"style\"), n = e.createElement(\"link\");\r\n            if (/\\.css$/.test(t))\r\n                n.rel = \"stylesheet\", n.type = \"text/css\", n.href = t, i.length ? i[0].appendChild(n) : e.documentElement.appendChild(n);\r\n            else {\r\n                if (a.setAttribute(\"type\", \"text/css\"), a.styleSheet)\r\n                    a.styleSheet.cssText = t;\r\n                else {\r\n                    var s = e.createTextNode(t);\r\n                    a.appendChild(s)\r\n                }\r\n                i.length && i[0].appendChild(a)\r\n            }\r\n        }, i = function(t, e) {\r\n            var t = \"string\" == typeof t ? [t] : t, i = readCookie(\"ipLoc-djd\"), a = \"\";\r\n            if (null !== i && (a = readCookie(\"ipLoc-djd\") ? \"&area=\" + readCookie(\"ipLoc-djd\").replace(/-/g, \"_\") : \"&area=1\"), void 0 !== t) {\r\n                var n = \"http://p.3.cn/prices/mgets?type=1&skuIds=J_\" + t.join(\",J_\") + a;\r\n                $.ajax({url: n,dataType: \"jsonp\",success: function(t) {\r\n                        if (!t && !t.length)\r\n                            return !1;\r\n                        for (var i = {}, a = 0; t.length > a; a++) {\r\n                            if (!t[a].id)\r\n                                return !1;\r\n                            var n = t[a].id.replace(\"J_\", \"\"), s = t[a].p.split(\".\");\r\n                            s = s[0] > 0 ? \"<span>\\uffe5</span>\" + s[0] + \"<span>.\" + s[1] + \"</span>\" : \"\\u6682\\u65e0\\u62a5\\u4ef7\", i[n] = s\r\n                        }\r\n                        \"function\" == typeof e && e(i)\r\n                    }})\r\n            }\r\n        }, a = '#hotSale .catalogue{width:auto;float:none;}            #hotSale .hotSaleList{width:990px;overflow:hidden;padding-bottom:15px;}            .root61  #hotSale .hotSaleList{width:1210px;}            #hotSale .hotSaleList ul:after{content:\"\";display:block;height:0;clear:both;}            .root61  #hotSale .hotSaleList ul{width:1300px;}            #hotSale .hotSaleList ul{width:1100px;}            #hotSale .hotSaleList li{float:left;width:150px;padding:12px 46px 0px 12px;}            #hotSale .hotSaleList .p-img{padding: 5px 0 10px;}            #hotSale .hotSaleList .p-price{font-size:15px;font-family:Verdana;color:#E4393C}            #hotSale .hotSaleList .p-price span{font-size:12px}            #hotSale .hotSaleList .p-name a{display: block;height:20px;overflow: hidden;}';\r\n        e(a);\r\n        var n = $(\"body\").hasClass(\"root61\") ? 12 : 10;\r\n        $.ajax({url: \"http://x.jd.com/ShowInterface\",data: {ad_type: 7,spread_type: 1,ad_ids: \"269:\" + n,template: 0,callback: \"?\"},scriptCharset: \"utf-8\",dataType: \"jsonp\",success: function(e) {\r\n                if (e && e[\"269\"] && e[\"269\"].length == n) {\r\n                    var a = e[\"269\"], s = '<div class=\"w w1\" data-fid=\"8\" id=\"hotSale\" clstag=\"homepage|keycount|home2013|41a\">                        <div class=\"m m1 catalogue\" data-lazyload=\"1\">                            <div class=\"mt ld\">                                <div class=\"floor\"><b class=\"fixpng b b1\"></b><b class=\"fixpng b b2\"></b><b class=\"b b3\">9F</b><b class=\"fixpng b4\"></b></div>                                <h2>\\u70ed\\u5356\\u5546\\u54c1</h2>                            </div>                         </div>                          <div class=\"hotSaleList\">                                    <ul>', o = \"\", r = \" </ul>                    </div>\", l = [];\r\n                    for (var d in a)\r\n                        l.push(a[d].sku_id);\r\n                    i(l, function(e) {\r\n                        for (var i in a) {\r\n                            var n = a[i].sku_id, l = a[i].click_url, d = a[i].exposal_url, c = a[i].ad_title, h = pageConfig.FN_GetImageDomain(n) + \"pop/s150x150_\" + a[i].image_url;\r\n                            o += '                            <li>                                <div class=\"p-img ld\">                                    <a target=\"_blank\" href=\"' + l + '\" title=\"' + c + '\">                                        <img data-lazyload=\"' + h + '\" width=\"150\" height=\"150\" alt=\"' + c + '\" data-img=\"1\" data-exposal-url=\"' + d + '\" />                                    </a>                                </div>                                <div class=\"p-name\">                                    <a target=\"_blank\" href=\"' + l + '\" title=\"' + c + '\" style=\"\">' + c + '</a>                                </div>                                <div class=\"p-price\">                                    ' + e[n] + \"                                </div>                            </li>\"\r\n                        }\r\n                        $(\"#floors-list\").append(s + o + r), $(\"#hotSale\").find(\"img\").Jlazyload({type: \"image\",threshold: 200,placeholderClass: \"err-product\"}), $(\"#hotSale .catalogue\").Jlazyload({type: \"module\",threshold: -(document.documentElement.clientHeight - 300) / 2}, function(t, e) {\r\n                            $(\"#hotSale .p-img img\").each(function() {\r\n                                x_jd_log($(this).attr(\"data-exposal-url\"))\r\n                            }), e.find(\".b2\").animate({height: \"34px\"})\r\n                        }), t && t()\r\n                    })\r\n                }\r\n            },error: function() {\r\n            }})\r\n    })()\r\n}\r\njQuery.easing.jswing = jQuery.easing.swing, jQuery.extend(jQuery.easing, {def: \"easeOutQuad\",swing: function(t, e, i, a, n) {\r\n        return jQuery.easing[jQuery.easing.def](t, e, i, a, n)\r\n    },easeInQuad: function(t, e, i, a, n) {\r\n        return a * (e /= n) * e + i\r\n    },easeOutQuad: function(t, e, i, a, n) {\r\n        return -a * (e /= n) * (e - 2) + i\r\n    },easeInOutQuad: function(t, e, i, a, n) {\r\n        return 1 > (e /= n / 2) ? a / 2 * e * e + i : -a / 2 * (--e * (e - 2) - 1) + i\r\n    },easeInCubic: function(t, e, i, a, n) {\r\n        return a * (e /= n) * e * e + i\r\n    },easeOutCubic: function(t, e, i, a, n) {\r\n        return a * ((e = e / n - 1) * e * e + 1) + i\r\n    },easeInOutCubic: function(t, e, i, a, n) {\r\n        return 1 > (e /= n / 2) ? a / 2 * e * e * e + i : a / 2 * ((e -= 2) * e * e + 2) + i\r\n    },easeInQuart: function(t, e, i, a, n) {\r\n        return a * (e /= n) * e * e * e + i\r\n    },easeOutQuart: function(t, e, i, a, n) {\r\n        return -a * ((e = e / n - 1) * e * e * e - 1) + i\r\n    },easeInOutQuart: function(t, e, i, a, n) {\r\n        return 1 > (e /= n / 2) ? a / 2 * e * e * e * e + i : -a / 2 * ((e -= 2) * e * e * e - 2) + i\r\n    },easeInQuint: function(t, e, i, a, n) {\r\n        return a * (e /= n) * e * e * e * e + i\r\n    },easeOutQuint: function(t, e, i, a, n) {\r\n        return a * ((e = e / n - 1) * e * e * e * e + 1) + i\r\n    },easeInOutQuint: function(t, e, i, a, n) {\r\n        return 1 > (e /= n / 2) ? a / 2 * e * e * e * e * e + i : a / 2 * ((e -= 2) * e * e * e * e + 2) + i\r\n    },easeInSine: function(t, e, i, a, n) {\r\n        return -a * Math.cos(e / n * (Math.PI / 2)) + a + i\r\n    },easeOutSine: function(t, e, i, a, n) {\r\n        return a * Math.sin(e / n * (Math.PI / 2)) + i\r\n    },easeInOutSine: function(t, e, i, a, n) {\r\n        return -a / 2 * (Math.cos(Math.PI * e / n) - 1) + i\r\n    },easeInExpo: function(t, e, i, a, n) {\r\n        return 0 == e ? i : a * Math.pow(2, 10 * (e / n - 1)) + i\r\n    },easeOutExpo: function(t, e, i, a, n) {\r\n        return e == n ? i + a : a * (-Math.pow(2, -10 * e / n) + 1) + i\r\n    },easeInOutExpo: function(t, e, i, a, n) {\r\n        return 0 == e ? i : e == n ? i + a : 1 > (e /= n / 2) ? a / 2 * Math.pow(2, 10 * (e - 1)) + i : a / 2 * (-Math.pow(2, -10 * --e) + 2) + i\r\n    },easeInCirc: function(t, e, i, a, n) {\r\n        return -a * (Math.sqrt(1 - (e /= n) * e) - 1) + i\r\n    },easeOutCirc: function(t, e, i, a, n) {\r\n        return a * Math.sqrt(1 - (e = e / n - 1) * e) + i\r\n    },easeInOutCirc: function(t, e, i, a, n) {\r\n        return 1 > (e /= n / 2) ? -a / 2 * (Math.sqrt(1 - e * e) - 1) + i : a / 2 * (Math.sqrt(1 - (e -= 2) * e) + 1) + i\r\n    },easeInElastic: function(t, e, i, a, n) {\r\n        var s = 1.70158, o = 0, r = a;\r\n        if (0 == e)\r\n            return i;\r\n        if (1 == (e /= n))\r\n            return i + a;\r\n        if (o || (o = .3 * n), Math.abs(a) > r) {\r\n            r = a;\r\n            var s = o / 4\r\n        } else\r\n            var s = o / (2 * Math.PI) * Math.asin(a / r);\r\n        return -(r * Math.pow(2, 10 * (e -= 1)) * Math.sin((e * n - s) * 2 * Math.PI / o)) + i\r\n    },easeOutElastic: function(t, e, i, a, n) {\r\n        var s = 1.70158, o = 0, r = a;\r\n        if (0 == e)\r\n            return i;\r\n        if (1 == (e /= n))\r\n            return i + a;\r\n        if (o || (o = .3 * n), Math.abs(a) > r) {\r\n            r = a;\r\n            var s = o / 4\r\n        } else\r\n            var s = o / (2 * Math.PI) * Math.asin(a / r);\r\n        return r * Math.pow(2, -10 * e) * Math.sin((e * n - s) * 2 * Math.PI / o) + a + i\r\n    },easeInOutElastic: function(t, e, i, a, n) {\r\n        var s = 1.70158, o = 0, r = a;\r\n        if (0 == e)\r\n            return i;\r\n        if (2 == (e /= n / 2))\r\n            return i + a;\r\n        if (o || (o = n * .3 * 1.5), Math.abs(a) > r) {\r\n            r = a;\r\n            var s = o / 4\r\n        } else\r\n            var s = o / (2 * Math.PI) * Math.asin(a / r);\r\n        return 1 > e ? -.5 * r * Math.pow(2, 10 * (e -= 1)) * Math.sin((e * n - s) * 2 * Math.PI / o) + i : .5 * r * Math.pow(2, -10 * (e -= 1)) * Math.sin((e * n - s) * 2 * Math.PI / o) + a + i\r\n    },easeInBack: function(t, e, i, a, n, s) {\r\n        return void 0 == s && (s = 1.70158), a * (e /= n) * e * ((s + 1) * e - s) + i\r\n    },easeOutBack: function(t, e, i, a, n, s) {\r\n        return void 0 == s && (s = 1.70158), a * ((e = e / n - 1) * e * ((s + 1) * e + s) + 1) + i\r\n    },easeInOutBack: function(t, e, i, a, n, s) {\r\n        return void 0 == s && (s = 1.70158), 1 > (e /= n / 2) ? a / 2 * e * e * (((s *= 1.525) + 1) * e - s) + i : a / 2 * ((e -= 2) * e * (((s *= 1.525) + 1) * e + s) + 2) + i\r\n    },easeInBounce: function(t, e, i, a, n) {\r\n        return a - jQuery.easing.easeOutBounce(t, n - e, 0, a, n) + i\r\n    },easeOutBounce: function(t, e, i, a, n) {\r\n        return 1 / 2.75 > (e /= n) ? a * 7.5625 * e * e + i : 2 / 2.75 > e ? a * (7.5625 * (e -= 1.5 / 2.75) * e + .75) + i : 2.5 / 2.75 > e ? a * (7.5625 * (e -= 2.25 / 2.75) * e + .9375) + i : a * (7.5625 * (e -= 2.625 / 2.75) * e + .984375) + i\r\n    },easeInOutBounce: function(t, e, i, a, n) {\r\n        return n / 2 > e ? .5 * jQuery.easing.easeInBounce(t, 2 * e, 0, a, n) + i : .5 * jQuery.easing.easeOutBounce(t, 2 * e - n, 0, a, n) + .5 * a + i\r\n    }}), function(t) {\r\n    var e = function(e, i) {\r\n        this.opts = t.extend({start: null,end: null,startThrehold: 0,stopThrehold: 0,onStart: function() {\r\n            },onEnd: function() {\r\n            },onScroll: function() {\r\n            }}, i), this.$o = t(e), this.init()\r\n    };\r\n    e.prototype = {init: function() {\r\n            this.bindEvent(), t(window).bind(\"scroll\", function() {\r\n                t(this).trigger(\"onscroller\")\r\n            })\r\n        },bindEvent: function() {\r\n            var e, i = this;\r\n            t(window).bind(\"onscroller\", function() {\r\n                clearTimeout(e), e = setTimeout(function() {\r\n                    i.onScroll(), clearTimeout(e)\r\n                }, 200)\r\n            })\r\n        },onScroll: function() {\r\n            var e = t(document).scrollTop(), i = this.opts.start || this.$o.offset().top, a = this.opts.end || i + this.$o.outerHeight(), n = t(window).height();\r\n            e > i + this.opts.startThrehold && a - n - this.opts.stopThrehold > e ? this.opts.onStart(this) : this.opts.onEnd(this), this.opts.onScroll(this)\r\n        }}, t.fn.scroller = function(i, a) {\r\n        return this.each(function() {\r\n            var n = new e(this, i, a);\r\n            t(this).data(\"scroller\", n)\r\n        })\r\n    }\r\n}(jQuery);\r\nvar ABTest = function(t, e, i) {\r\n    return this.id = t, this.percent = e, this.base = i || 1e4, this.tested = !1, this.version = {A: 0,B: 0,N: 0}, this.result = {A: [],B: [],N: []}, this\r\n};\r\nABTest.prototype = {test: function() {\r\n        function t() {\r\n            var t = i.version;\r\n            console.log(\"%c====================\\u7ed3\\u679c====================\", \"color:#f00\");\r\n            for (var e in t)\r\n                console.info(\"| \\u7248\\u672c\" + e + \"\\u547d\\u4e2d\\u4e86\" + t[e] / 100 + \"\t% \\u7684uuuid\");\r\n            console.log(\"%c====================\\u7ed3\\u679c====================\", \"color:#f00\"), i.tested = !0\r\n        }\r\n        function e(e) {\r\n            for (var a = e, n = e.length, s = 0; n > s; s++)\r\n                console.log(\"UUUID\\u300c\" + a[s] + \"\\u300d\t\\u547d\\u4e2d\\u4e86 \\u7248\\u672c\\u300c\" + i.isHitVersion(a[s]) + \"\\u300d\");\r\n            t()\r\n        }\r\n        var i = this;\r\n        window.collectUUUID = function(t) {\r\n            e(t)\r\n        }, $.ajax({url: \"http://fa.360buy.com/loadFa_toJson.js?aid=2_163_4827-2_163_4828\",dataType: \"jsonp\",cache: !0,success: function() {\r\n            }})\r\n    },isHitVersion: function(t) {\r\n        t = t || this.id;\r\n        var e, i = this.base * this.percent;\r\n        return \"string\" != typeof t && (t += \"\"), t ? (e = this.getHashProbability(t, this.base), i > e ? (this.version.A++, this.result.A.push(t), \"A\") : e >= i && 2 * i > e ? (this.version.B++, this.result.B.push(t), \"B\") : (this.version.N++, this.result.N.push(t), \"NONE\")) : (version.N++, this.result.N.push(t), \"NONE\")\r\n    },switchVersion: function(t) {\r\n        if (!t || !/A|B|N/.test(t))\r\n            return console.warn(\"Are you kidding me~ Is there a test version called \" + t + \"?\"), !1;\r\n        this.tested || console.warn(\"Please run test method first.\");\r\n        var e = this.result[t], i = e[Math.floor(Math.random() * e.length)];\r\n        createCookie(\"__jda\", \"122270672.\" + i + \".043878.1386043878.1386043878.1\", 10, \"/;domain=jd.com\"), console.log(i)\r\n    },getHashProbability: function(t, e) {\r\n        function i(t) {\r\n            for (var e = 0, i = 0; t.length > i; i++)\r\n                e = (e << 5) - e + t.charCodeAt(i), e &= e;\r\n            return e\r\n        }\r\n        return Math.abs(i(t)) % e\r\n    }};\r\nvar BackPanelNew = function(t) {\r\n    this.id = t.id || \"\", this.start = t.start || 10, this.fadeIn = t.fadeIn || 0, this.dir = t.dir || \"top\", this.show = !1, this.onShow = t.onShow || function() {\r\n    }\r\n};\r\nBackPanelNew.prototype = {init: function(t) {\r\n        var e = $('<div class=\"w backpanel hide\"></div>');\r\n        return e.attr(\"id\", this.id), this.el = e, this.el.html('<iframe marginwidth=\"0\" marginheight=\"0\" frameborder=\"0\" scrolling=\"no\" class=\"backpanel-iframe\"></iframe><div class=\"backpanel-inner\"></div>'), this.wrap = this.el.find(\".backpanel-inner\"), this.mask = this.el.find(\".backpanel-iframe\"), $(\"body\").eq(0).prepend(this.el), t !== void 0 && this.add(t), this.bindScroll(), this\r\n    },bindScroll: function() {\r\n        var t = this;\r\n        $(window).bind(\"scroll\", function() {\r\n            var e = $(\"html\").scrollTop() || $(\"body\").scrollTop();\r\n            e > t.start ? (t.el.show(t.fadeIn), t.show || t.onShow(t), t.resized || t.setPosition()) : (t.el.hide(), t.show = !1)\r\n        })\r\n    },setPosition: function() {\r\n        var t = $(\"body\").eq(0).width(), e = $(\"body .w\").eq(0).width(), i = 38, a = 605;\r\n        i = this.wrap.find(\".bp-item\").eq(0).outerWidth(), a = parseInt(this.wrap.css(\"marginLeft\")), this.resizeMask || (this.mask.css({height: this.wrap.outerHeight() - 10,width: this.wrap.outerWidth()}), this.resizeMask = !0), i > (t - e) / 2 && (this.resized = !0)\r\n    },add: function(t) {\r\n        var e = $.extend({cName: \"backtop\",text: \"<s></s>\\u9876\\u90e8\",href: \"#none\",target: \"_self\",newTag: !1,scrollTo: 0,fn: function() {\r\n            }}, t);\r\n        return this.resizeMask = !1, this.render(e), this\r\n    },render: function(t) {\r\n    \t// 去掉右侧工具条\r\n    \treturn ;\r\n        var e = this, i = '<div class=\"{if newTag}bp-item-new{/if} bp-item bp-item-${cName}\" data-top=\"${scrollTo}\">    <a href=\"${href}\" class=\"${cName}\" target=\"${target}\">${text}</a><s></s></div>', a = $(i.process(t));\r\n        this.dir = t.dir, \"bottom\" === t.dir ? this.wrap.append(a) : this.wrap.prepend(a), a.unbind(\"click\").bind(\"click\", function() {\r\n            t.fn.apply(e, [a])\r\n        })\r\n    }};\r\nvar Floors = {cacheData: null,data: function(t) {\r\n        return \"default\" === t ? {sort: [0, 1, 2, 3, 4, 5, 6, 7],defaultFloors: [{id: 0}, {id: 1}, {id: 2}, {id: 3}, {id: 4}, {id: 5}, {id: 6}, {id: 7}]} : \"extra\" === t ? {list: [{def: !1,name: \"\\u5176\\u5b83\\u5206\\u7c7b1\",id: 9}, {def: !1,name: \"\\u5176\\u5b83\\u5206\\u7c7b2\",id: 10}, {def: !1,name: \"\\u5176\\u5b83\\u5206\\u7c7b3\",id: 11}, {def: !1,name: \"\\u5176\\u5b83\\u5206\\u7c7b4\",id: 12}, {def: !1,name: \"\\u5176\\u5b83\\u5206\\u7c7b5\",id: 13}, {def: !1,name: \"\\u5176\\u5b83\\u5206\\u7c7b6\",id: 14}]} : void 0\r\n    },init: function() {\r\n        this.el = $(\"#floors-list\"), this.get()\r\n    },get: function(t) {\r\n        var e = this;\r\n        $.ajax({url: \"http://ai.jd.com/\",dataType: \"jsonp\",success: function(i) {\r\n                i && i.info && (e.set(i.info), e.cacheData = i.info), t && t(i.info)\r\n            }})\r\n    },sort: function(t) {\r\n        var e, i, a, n = $(\"#floors-list\"), s = this.result || [], o = s.length;\r\n        for (e = 0; o > e; e++)\r\n            a = t.filter('[data-fid=\"' + s[e] + '\"]'), i = n.find(\".f-sorted\"), a.find(\"script\").html(\"\"), i.length > 0 ? n.find(\".f-sorted:last\").after(a) : n.prepend(a), a.addClass(\"f-sorted\")\r\n    },set: function(t) {\r\n        $(\"#floors-list\"), this.result = t.sort;\r\n        var e = $(\"#floors-list .w[data-fid]\");\r\n        this.sort(e), this.resetFloorIcons()\r\n    },resetFloorIcons: function() {\r\n        this.el.find(\"[data-fid]\").each(function(t) {\r\n            var e = $(this), i = e.find(\".floor .b3\");\r\n            i.text(t + 1 + \"F\")\r\n        })\r\n    },getFloorName: function(t) {\r\n        switch (t) {\r\n            case 0:\r\n                return \"\\u5bb6\\u7535\\u901a\\u8baf\";\r\n            case 1:\r\n                return \"\\u7535\\u8111\\u6570\\u7801\";\r\n            case 2:\r\n                return \"\\u670d\\u9970\\u978b\\u5305\";\r\n            case 3:\r\n                return \"\\u7f8e\\u5bb9\\u73e0\\u5b9d\";\r\n            case 4:\r\n                return \"\\u5c45\\u5bb6\\u751f\\u6d3b\";\r\n            case 5:\r\n                return \"\\u6bcd\\u5a74\\u73a9\\u5177\";\r\n            case 6:\r\n                return \"\\u98df\\u54c1\\u4fdd\\u5065\";\r\n            case 7:\r\n                return \"\\u56fe\\u4e66\\u97f3\\u50cf\";\r\n            default:\r\n                return \"\\u697c\\u5c42\"\r\n        }\r\n    }}, Grecommend = {init: function(t, e, i, a, n) {\r\n        this.sku = t, this.rid = e, this.locId = i, this.onLoad = n || function() {\r\n        }, this.pin = readCookie(\"pin\"), this.pid = null === i ? 1 : i.split(\"-\")[0], this.el = a;\r\n        var s = readCookie(\"__jda\");\r\n        this.uuid = s ? \"-\" == s.split(\".\")[1] ? -1 : s.split(\".\")[1] : -1, this.get()\r\n    },get: function() {\r\n        var t = this, e = [], i = readCookie(\"aview\"), a = readCookie(\"atw\");\r\n        i && i.split(\".\")[1] && e.push(i.split(\".\")[1].split(\"|\")[0]), a && a.split(\".\")[1] && e.push(a.split(\".\")[1]), a && a.split(\".\")[3] && e.push(a.split(\".\")[3]), a && a.split(\"|\")[2] && e.push(a.split(\"|\")[2].split(\".\")[1]);\r\n        var n = {p: this.rid,ck: \"ipLocation\",lid: this.pid,lim: 6,uuid: this.uuid,ec: \"gbk\"};\r\n        this.pin && (n.pin = this.pin), $.ajax({url: \"http://diviner.jd.com/diviner?skus=\" + e.join(\",\"),data: n,dataType: \"jsonp\",success: function(e) {\r\n                t.set(e)\r\n            }})\r\n    },set: function(t) {\r\n        this.skus = [];\r\n        var e = '<ul class=\"lh\">    {for item in data}    {if Number(item.jp)>=0}    <li data-push=\"${Grecommend.skus.push(item.sku)}\" class=\"fore1\" onclick=\"reClick2012(\\'cai2012\\',\\'${item.sku}#${item.jp}\\',0)\" data-clk=\"${item.clk}\">        <div class=\"p-img ld\"><a target=\"_blank\" href=\"http://my.jd.com/product/likes.html?id=${item.sku}\"><img height=\"130\" width=\"130\" alt=\"${item.t}\" data-img=\"1\" src=\"${pageConfig.FN_GetImageDomain(item.sku)}n3/${item.img}\"></a></div>        <div class=\"p-name\"><a target=\"_blank\" href=\"http://my.jd.com/product/likes.html?id=${item.sku}\" title=\"${item.t}\">${item.t}</a></div>        <div class=\"p-price\">\\u4eac\\u4e1c\\u4ef7\\uff1a<strong class=\"J-p-${item.sku}\">\\uffe5${item.jp}</strong></div>    </li>    {/if}    {/for}</ul>';\r\n        t.success && t.data.length > 0 && (this.el.html(e.process(t)).parent().show(), $(\"#c-tabs\").show(), this.setTrackCode(t.impr), getPriceNum(this.skus, readCookie(\"ipLoc-djd\"), this.el), this.onLoad(t))\r\n    },setTrackCode: function(t) {\r\n        var e = this.el.find(\"li\"), i = this, a = \"&m=UA-J2011-1&ref=\" + encodeURIComponent(document.referrer);\r\n        e.each(function() {\r\n            var t = $(this).attr(\"data-clk\");\r\n            $(this).bind(\"click\", function(e) {\r\n                var n = (e.srcElement || e.target).tagName.toUpperCase();\r\n                (\"A\" === n || \"IMG\" === n || \"SPAN\" === n) && i.newImage(t + a, !0)\r\n            })\r\n        }), this.newImage(t + a)\r\n    },newImage: function(t, e, i) {\r\n        var a = new Image;\r\n        t = e ? t + \"&random=\" + Math.random() + new Date : t, a.setAttribute(\"src\", t), a.onload = function() {\r\n            i !== void 0 && i(t)\r\n        }\r\n    }}, x_jd_log = function(t) {\r\n    var e = \"x_jd_log_\" + (new Date).getTime(), i = window[e] = new Image;\r\n    i.onload = i.onerror = function() {\r\n        window[e] = null\r\n    }, i.src = t, i = null\r\n};\r\n(function() {\r\n    document.referrer.match(/^http:\\/\\/\\S*\\.360buy\\.com/) && !$.cookie(\"_fv\") && $(\"#shortcut-2013 .fl li\").append('<div class=\"jtip\"><div class=\"jtip-arrow\"><div class=\"jtip-arrow1\"></div><div class=\"jtip-arrow2\"></div></div><div class=\"jtip-content\">\\u628a\\u4eac\\u4e1c\\u52a0\\u5165\\u6536\\u85cf\\u5939<br />\\u4e00\\u952e\\u8f7b\\u677e\\u8bbf\\u95eeJD.COM</div><div class=\"jtip-close\" onclick=\"this.parentNode.style.display=\\'none\\'\">\\u00d7</div></div>'), $(\".plist .style1 .p-img,.plist .style2 .p-img\").bind(\"mouseover\", function() {\r\n        $(this).css(\"opacity\", \"0.7\")\r\n    }).bind(\"mouseout\", function() {\r\n        $(this).css(\"opacity\", \"1\")\r\n    }), $(\"#hot\").Jtab({delay: 200,source: \"data-boole\"}, function(t, e, i) {\r\n        var a = window.screen.width >= 1200 ? 178 : 154, n = readCookie(\"aview\"), s = n ? n.split(\"|\")[0] : \"\";\r\n        if ($(\"#hot .tab-arrow\").animate({left: i * a}, 500, \"easeInOutQuint\"), 1 == i) {\r\n            if (!t)\r\n                return;\r\n            Grecommend.init(s, 301e3, readCookie(\"ipLoc-djd\"), e, function() {\r\n                pageConfig.FN_ImgError(e.get(0)), log(\"hcaip\", \"Show\")\r\n            })\r\n        } else\r\n            e.find(\"img\").Jlazyload({type: \"image\",source: \"data-src\"}, function() {\r\n                pageConfig.FN_ImgError(e.get(0))\r\n            })\r\n    });\r\n    var t = $('#virtuals div[data-widget=\"tab-item\"]').index($(\"#virtuals .curr\")) || 0;\r\n    $(\"#virtuals\").Jtab({type: \"dynamic\",index: t,source: \"data-url\",delay: 200}, function(t, e, i) {\r\n        var a = window.screen.width >= 1200 ? 77 : 52;\r\n        $(\"#virtuals\").find(\".tab-arrow\").animate({left: 0 == i ? 0 : i * a + 2,width: 0 == i ? a + 2 : a}, 500, \"easeInOutQuint\"), t && (1210 > screen.width && (t += \"?990\"), e.html('<iframe scrolling=\"no\" height=\"139px\" frameborder=\"0\" width=\"100%\" src=\"' + t + '\"></iframe>'), \"undefined\" != typeof geminiVersionProxy && geminiVersionProxy.api !== void 0 && geminiVersionProxy.api.addListenerForIframe(\"1401093361039\", e.find(\"iframe\")[0]))\r\n    }), pageConfig.TPL_MSlide = {itemsWrap: '<ul class=\"slide-items\">{innerHTML}</ul>',itemsContent: '{for item in json}            {var v=pageConfig.FN_GetCompatibleData(item)}            <li class=\"hide\" clstag=\"homepage|keycount|home2013|09a${parseInt(item_index)+2}\"><a href=\"${v.href}\" target=\"_blank\" title=\"${v.alt}\">                <img height=\"${v.height}\" width=\"${v.width}\" src=\"${v.src}\" data-img=\"2\" />            </a></li>        {/for}',controlsWrap: '<div class=\"slide-controls\">{innerHTML}</div>',controlsContent: '{for item in json}            <span class=\"{if parseInt(item_index)==0}curr{/if}\">${parseInt(item_index)+1}</span>        {/for}'}, pageConfig.TPL_FSlide = {itemsWrap: '<div class=\"slide-itemswrap\"><div class=\"slide-items\">{innerHTML}</div></div>',itemsContent: '{for item in json}            <div><a href=\"${item.href}\" target=\"_blank\"><img src=\"${item.src}\" width=\"${item.width}\" height=\"${item.height}\" alt=\"${item.alt}\" data-img=\"2\"></a></div>        {/for}',controlsWrap: '<div class=\"slide-controls\">{innerHTML}</div>',controlsContent: '{for item in json}            <span class=\"{if parseInt(item_index)==0}curr{/if}\"><b></b></span>        {/for}'}, pageConfig.FN_SetPrice = function(t) {\r\n        var e = t.split(\".\");\r\n        return t.match(/\\./) ? e[0] + \".<span>\" + e[1] + \"</span>\" : void 0\r\n    }, pageConfig.FN_SetImg = function(t, e) {\r\n        return e ? e && e.match(/vclist/) ? pageConfig.FN_GetImageDomain(t) + e : pageConfig.FN_GetImageDomain(t) + \"N4/\" + e : \"\"\r\n    }, pageConfig.TPL_Tabs = '<ul class=\"lh style3\">        {for item in data}        {var x=pageConfig.FN_SetPrice(item.c)}        {var y=pageConfig.FN_SetImg(item.a,item.d)}        <li class=\"fore${parseInt(item_index)}\">            <div class=\"p-img ld\"><a target=\"_blank\" href=\"${pageConfig.FN_GetUrl(item.f,item.a)}\" title=\"${item.b}\">{if item.e}${pageConfig.FN_SetPromotion(item.e)}{/if}<img height=\"100\" width=\"100\" alt=\"${item.b}\" data-img=\"1\" src=\"${y}\"></a></div>            <div class=\"p-name\"><a target=\"_blank\" href=\"${pageConfig.FN_GetUrl(item.f,item.a)}\" title=\"${item.b}\">${item.b}</a></div>            <div class=\"p-price\"><span>\\uffe5</span>${x}</div>        </li>        {/for}    </ul>', pageConfig.TPL_Tabs_jp = '<ul class=\"lh style3\">        {for item in data}        <li class=\"fore${parseInt(item_index)}\">            <div class=\"p-img ld\"><a target=\"_blank\" href=\"${pageConfig.FN_GetUrl(item.f,item.a)}\" title=\"${item.b}\">{if item.e}${pageConfig.FN_SetPromotion(item.e)}{/if}<img height=\"100\" width=\"100\" alt=\"${item.b}\" data-img=\"1\" src=\"${pageConfig.FN_GetImageDomain(item.a)}${item.d}\"></a></div>            <div class=\"p-name\" style=\"height:1.5em;\"><a target=\"_blank\" href=\"${pageConfig.FN_GetUrl(item.f,item.a)}\" title=\"${item.b}\">${item.b}</a></div>            <div class=\"p-price\"><span>${item.c}</span></div>        </li>        {/for}    </ul>', pageConfig.FN_Tabs = function(t, e) {\r\n        var i = t.split(\",\");\r\n        obj = {}, html = \"\";\r\n        var a;\r\n        2 == i.length && (t = i[0]), a = this.DATA_Tabs[t], obj.data = a, html = \"1640\" == t ? this.TPL_Tabs_jp.process(obj) : this.TPL_Tabs.process(obj), \"4\" == i[1] && (html = html.replace(\"style3\", \"style4\")), e.html(html), pageConfig.FN_ImgError(e.get(0))\r\n    }, $(\".plist\").each(function() {\r\n        var t = $(this), e = window.screen.width >= 1200 ? 158 : 156;\r\n        $(this).Jtab({type: \"dynamic\",source: \"data-tag\",delay: 200}, function(i, a, n) {\r\n            if (t.find(\".tab-arrow\").animate({left: n * e}, 500, \"easeInOutQuint\"), i)\r\n                if (a.parents(\".plist\").hasClass(\"promotion-place\")) {\r\n                    var s = a.find(\"img[trigger-lazy-img]\");\r\n                    s.length && s.each(function() {\r\n                        $(this).attr(\"src\", $(this).attr(\"trigger-lazy-img\")).removeAttr(\"trigger-lazy-img\")\r\n                    })\r\n                } else\r\n                    pageConfig.FN_Tabs(i, a)\r\n        })\r\n    }), $(\".ranking\").Jtab({}, function(t, e, i) {\r\n        $(\".ranking\").find(\".tab-arrow\").animate({left: 40 * i,width: 4 == i ? 50 : 40}, 500, \"easeInOutQuint\")\r\n    }), $(\".club .mc\").each(function() {\r\n        var t = $(this);\r\n        setInterval(function() {\r\n            var e = t.find(\"li:last-child\");\r\n            t.find(\"li:last-child\").remove(), t.find(\"ul\").prepend(e.css({height: 0})), e.animate({height: \"60px\"})\r\n        }, 8e3)\r\n    }), $(\"#slide\").Jslider({data: pageConfig.DATA_MSlide,auto: !0,reInit: !0,slideWidth: screen.width >= 1210 ? 670 : 550,slideHeight: 240,maxAmount: 6,slideDirection: 3,template: pageConfig.TPL_MSlide}, function(t) {\r\n        pageConfig.FN_ImgError(t.get(0))\r\n    }), $(\".slide[data-lazyload]\").Jlazyload({type: \"module\"}, function(t, e) {\r\n        var i, a, n = pageConfig.DATA_FSlide[\"F\" + t];\r\n        if(!n){\r\n        \treturn ;\r\n        }\r\n        if (8 > t)\r\n            i = 473, a = 4;\r\n        else {\r\n            if (1210 > screen.width)\r\n                return;\r\n            i = 209, a = 2, n = n.sort(function() {\r\n                return .5 - Math.random()\r\n            })\r\n        }\r\n        var s = function() {\r\n            e.Jslider({data: n,slideWidth: i,slideHeight: 180,maxAmount: a,speed: \"fast\",template: pageConfig.TPL_FSlide}, function(t) {\r\n                pageConfig.FN_ImgError(t.get(0))\r\n            })\r\n        };\r\n        s()\r\n    }), $(\".catalogue\").Jlazyload({type: \"module\",threshold: -(document.documentElement.clientHeight - 300) / 2}, function(t, e) {\r\n        e.find(\".b2\").animate({height: \"34px\"})\r\n    }), pageConfig.accordionData !== void 0 ? ($(\"#clothing\").addClass(\"clothing-new\"), renderAccordion(pageConfig.accordionData)) : (pageConfig.TIMER_Clothing = null, $(\"#clothing .accordion .item\").mouseover(function() {\r\n        var t = $(this);\r\n        return pageConfig.TIMER_Clothing = setTimeout(function() {\r\n            t.animate({width: screen.width >= 1200 ? \"190px\" : \"188px\"}, {duration: 500,easing: \"easeOutQuart\"}).siblings().animate({width: screen.width >= 1200 ? \"150px\" : \"148px\"}, {duration: 500})\r\n        }, 200), !1\r\n    }).mouseout(function() {\r\n        pageConfig.TIMER_Clothing && clearTimeout(pageConfig.TIMER_Clothing)\r\n    })), $(\"#subscription-submit\").bind(\"click\", function() {\r\n        var t = $(\"#subscription-val\").val(), e = $(\"#subscription-prompt\"), i = \"\";\r\n        if (!t.match(\"^\\\\w+((-\\\\w+)|(\\\\.\\\\w+))*\\\\@[A-Za-z0-9]+((\\\\.|-)[A-Za-z0-9]+)*\\\\.[A-Za-z0-9]+$\")) {\r\n            var a = \"\\u8bf7\\u8f93\\u5165\\u60a8\\u7684\\u90ae\\u7bb1\" == t ? \"\\u8bf7\\u8f93\\u5165\\u60a8\\u7684\\u90ae\\u7bb1\" : \"\\u90ae\\u7bb1\\u683c\\u5f0f\\u4e0d\\u6b63\\u786e\";\r\n            return e.html(a).attr(\"class\", \"incorrect\").show(), void 0\r\n        }\r\n        $.ajax({url: \"http://edm.jd.com/front/ajax/subscribe.ashx\",data: {email: t,type: 1},dataType: \"jsonp\",success: function(t) {\r\n                if (t) {\r\n                    switch (t.state) {\r\n                        case 0:\r\n                            i = \"correct\";\r\n                            break;\r\n                        case 1:\r\n                            i = \"correct\";\r\n                            break;\r\n                        case 2:\r\n                            i = \"incorrect\"\r\n                    }\r\n                    e.html(t.message).attr(\"class\", i).show()\r\n                }\r\n            }})\r\n    }), 0 !== $(\"#showcase\").length && setShowcase(\"#showcase\"), 0 !== $(\"#clothing-plist-2\").length && setClothingPlist2(\"#clothing-plist-2\"), setCheckEptArea()\r\n})(), $(function() {\r\n    function t() {\r\n        var t = $(\"#floors-list [data-fid]\"), e = $(\"#backpanel-floor\"), a = e.find(\".bp-item-floor-links\");\r\n        $(\"body\").scroller({onScroll: function() {\r\n                var n = [];\r\n                if (t.each(function() {\r\n                    i($(this)) && n.push($(this))\r\n                }), n.length > 0) {\r\n                    var s = n[0].attr(\"data-fid\");\r\n                    a.removeClass(\"curr\"), e.find(\".floor-fore\" + s).addClass(\"curr\")\r\n                } else\r\n                    a.removeClass(\"curr\")\r\n            }})\r\n    }\r\n    function e(t, e) {\r\n        pageConfig.backTopFloor.add({text: Floors.getFloorName(e[t]),cName: \"floor-links floor-fore\" + e[t],href: \"#none\",dataSet: e[t],fn: function() {\r\n                var i = $(\"#floors-list\").find(\"[data-fid=\" + e[t] + \"]\"), a = i.offset().top;\r\n                $(\"body,html\").animate({scrollTop: a - 10}, 500, \"easeOutExpo\")\r\n            }})\r\n    }\r\n    function i(t) {\r\n        var e = $(window).height(), i = $(\"body\").scrollTop() || $(\"html\").scrollTop(), a = t.offset().top;\r\n        return e + i > a && a > i\r\n    }\r\n    var a = function(t) {\r\n        $.getJSON(\"http://passport.jd.com/loginservice.aspx?method=Login&callback=?\", function(e) {\r\n            t && t(e)\r\n        })\r\n    };\r\n    new BackPanelNew({id: \"backpanel0708\",start: 10}).init({text: \"\\u8fd4\\u56de\\u9876\\u90e8\",fn: function() {\r\n            $(\"body,html\").animate({scrollTop: 0}, 300, \"easeOutExpo\")\r\n        }}).add({cName: \"survey\",text: \"\\u6211\\u8981\\u53cd\\u9988\",target: \"_blank\",href: \"http://surveys.jd.com/index.php?r=survey/index/sid/95425/lang/zh-Hans\"}), pageConfig.backTopFloor = new BackPanelNew({id: \"backpanel-floor\",start: 10,fadeIn: 500,onShow: function(i) {\r\n            var a = [0, 1, 2, 3, 4, 5, 6, 7];\r\n            if (Floors.cacheData && (a = Floors.cacheData.sort), !pageConfig.floorsShow) {\r\n                for (var n = a.length - 1; n >= 0; n--)\r\n                    e(n, a);\r\n                pageConfig.floorsShow = !0, t()\r\n            }\r\n            i.el.attr(\"clstag\", \"homepage|keycount|home2013|daohang\")\r\n        }}).init(), a(function(t) {\r\n        var e = t.Identity && t.Identity.IsAuthenticated;\r\n        e && (pageConfig.backTopFloor.add({cName: \"home-setting\",text: \"\\u6211\\u8981\\u8bbe\\u7f6e\",href: \"#none\",dir: \"bottom\",fn: function() {\r\n                \"undefined\" == typeof HomeSetting ? $.ajax({url: \"http://misc.360buyimg.com/product/js/2013/home-settings.js\",dataType: \"script\",cache: !0,scriptCharset: \"utf-8\"}) : HomeSetting.init(\"#home-setting\")\r\n            }}), $(\".backpanel .home-setting\").attr(\"clstag\", \"homepage|keycount|home2013|dingzhi1\"), Floors.init())\r\n    }), pageConfig.enableArea && setArea(), function() {\r\n        function t() {\r\n            var t, e = $(this), a = n.index($(this)), r = $(this).attr(\"data-iframe\"), l = s.eq(a);\r\n            l.attr(\"data-loaded\") || (t = l.attr(\"data-loaded\", \"1\").find(\"iframe\"), t.attr(\"src\", r), \"undefined\" != typeof geminiVersionProxy && geminiVersionProxy.api !== void 0 && geminiVersionProxy.api.addListenerForIframe(\"1401093361039\", t[0])), o = setTimeout(function() {\r\n                s.addClass(\"hide\"), s.eq(a).removeClass(\"hide\"), n.removeClass(\"current\"), e.addClass(\"current\"), i.addClass(\"hover\")\r\n            }, 300)\r\n        }\r\n        function e() {\r\n            clearTimeout(o), i.removeClass(\"hover\"), n.removeClass(\"current\")\r\n        }\r\n        var i = $(\"#virtuals-2014\"), a = i.find(\".close\"), n = i.find(\".mt ul.fore1 li\"), s = i.find(\".mc .virtuals-iframes\"), o = null;\r\n        n.bind(\"mouseenter\", t), n.bind(\"mouseleave\", function() {\r\n            clearTimeout(o)\r\n        }), $(document).bind(\"click\", function() {\r\n            clearTimeout(o), e()\r\n        }), a.bind(\"click\", e)\r\n    }(document), function() {\r\n        var t = $(\"#shortcut-2013 .fl\").eq(0).find(\".fore1\"), e = '            <li class=\"fore2 jd-wx-qrcode\">                <a href=\"#none\"><i class=\"i-qrcode\"></i>\\u5173\\u6ce8\\u4eac\\u4e1c</a>                <div class=\"qrcode-show\">                    <span class=\"arrow\">                        <i class=\"layer1\"></i><i class=\"layer2\"></i>                    </span>                </div>            </li>';\r\n        t.after(e), $(\".jd-wx-qrcode\").Jdropdown({delay: 100}, function() {\r\n        })\r\n    }()\r\n}), function(t) {\r\n    t.fn.imgScroll = function(e, i) {\r\n        var a = {data: [],template: null,evtType: \"click\",visible: 1,direction: \"x\",next: \"#next\",prev: \"#prev\",disableClass: \"disabled\",disableClassPerfix: !1,speed: 300,step: 1,loop: !1,showControl: !1,width: null,height: null,navItems: !1,navItmesWrapClass: \"scroll-nav-wrap\",navItemActivedClass: \"current\",status: !1,statusWrapSelector: \".scroll-status-wrap\"}, n = t.extend(a, e);\r\n        return this.each(function() {\r\n            function e(t) {\r\n                m >= w + y && !k ? ($.addClass(j), b.removeClass(S)) : k || b.addClass(S), \"left\" !== p.eq(0).css(\"float\") && p.css(\"float\", \"left\"), g = n.width || p.eq(0).outerWidth(), v = n.height || p.eq(0).outerHeight(), f.css({position: \"static\" == f.css(\"position\") ? \"relative\" : f.css(\"position\"),width: \"x\" == t ? g * y : g,height: \"x\" == t ? v : v * y,overflow: \"hidden\"}), u.css({position: \"absolute\",width: \"x\" == t ? g * m : g,height: \"x\" == t ? v : v * m,top: 0,left: 0}), \"function\" == typeof i && i.apply(f, [x, C, p.slice(x * w, x * w + y), p.slice(x * w + y - w, x * w + y)])\r\n            }\r\n            function a() {\r\n                m = n.data.length, u = f.find(\"ul\").eq(0), p = u.children(\"li\"), C = Math.ceil((m - y) / w) + 1, J = 0 === (m - y) % w\r\n            }\r\n            function s(t) {\r\n                var e = {list: t};\r\n                f.html(B.process(e)), a()\r\n            }\r\n            function o(t, e) {\r\n                function a() {\r\n                    k ? (O = y >= m - t * w ? !0 : !1, z = 0 >= t ? !0 : !1) : (y >= m - t * w ? (b.addClass(S), O = !0) : (b.removeClass(S), O = !1), 0 >= t ? ($.addClass(j), z = !0) : ($.removeClass(j), z = !1)), (T || P) && d(t), \"function\" == typeof i && i.apply(f, [t, C, p.slice(t * w, t * w + y), p.slice(t * w + y - w, t * w + y)])\r\n                }\r\n                if (u.is(\":animated\"))\r\n                    return !1;\r\n                if (k)\r\n                    z && e && (x = C), O && !e && (x = -1), t = e ? --x : ++x;\r\n                else {\r\n                    if (z && e || O && !e)\r\n                        return !1;\r\n                    t = e ? --x : ++x\r\n                }\r\n                h = \"x\" == _ ? {left: t >= C - 1 ? -(m - y) * g : -t * w * g} : {top: t >= C - 1 ? -(m - y) * v : -t * w * v}, n.speed ? u.animate(h, n.speed, a) : (u.css(h), a())\r\n            }\r\n            function r(e, i) {\r\n                for (var a = N ? t(\".\" + e).eq(0) : t('<div class=\"' + e + '\"></div>'), n = 0; C > n; n++)\r\n                    a.append(\"<em \" + (0 === n ? \" class=\" + i : \"\") + ' title=\"' + (n + 1) + '\">' + (n + 1) + \"</em>\");\r\n                N || f.after(a)\r\n            }\r\n            function l() {\r\n                var e = E ? t(L).eq(0) : t('<div class=\"' + L.replace(\".\", \"\") + '\"></div>');\r\n                e.html(\"<b>1</b>/\" + C), E || f.after(e)\r\n            }\r\n            function d(e) {\r\n                T && t(\".\" + M).find(\"em\").removeClass(F).eq(e).addClass(F), P && t(L).html(\"<b>\" + (e + 1) + \"</b>/\" + C)\r\n            }\r\n            function c() {\r\n                $.unbind(I).bind(I, function() {\r\n                    o(x, !0)\r\n                }), b.unbind(I).bind(I, function() {\r\n                    o(x, !1)\r\n                })\r\n            }\r\n            var h, f = t(this), u = f.find(\"ul\").eq(0), p = u.children(\"li\"), m = p.length, g = null, v = null, b = \"string\" == typeof n.next ? t(n.next) : n.next, $ = \"string\" == typeof n.prev ? t(n.prev) : n.prev, x = 0, w = n.step, y = n.visible, C = Math.ceil((m - y) / w) + 1, k = n.loop, _ = n.direction, I = n.evtType, A = n.disableClass, j = n.disableClassPerfix ? \"prev-\" + A : A, S = n.disableClassPerfix ? \"next-\" + A : A, T = n.navItems, M = n.navItmesWrapClass, N = t(\".\" + M).length > 0, F = n.navItemActivedClass, P = n.status, L = n.statusWrapSelector, E = t(L).length > 0, O = !1, z = !0, J = 0 === (m - y) % w, B = n.template || '<ul>{for slide in list}<li><a href=\"${slide.href}\" target=\"_blank\"><img src=\"${slide.src}\" alt=\"${slide.alt}\" /></a></li>{/for}</ul>';\r\n            if (n.data.length > 0) {\r\n                if (!n.width || !n.height)\r\n                    return !1;\r\n                s(n.data)\r\n            }\r\n            m > y && y >= w ? (e(_), c(), T && r(M, F), P && l(L)) : (n.showControl ? b.add($).show() : b.add($).hide(), $.addClass(j), b.addClass(S))\r\n        })\r\n    }\r\n}(jQuery), pageConfig.TPL_MScroll = '<ul class=\"lh\">    {for slide in list}    <li class=\"item fore${parseInt(slide_index)+1}\" clstag=\"homepage|keycount|home2013|09b${parseInt(slide_index)+1}\">        <a href=\"${slide.href}\" target=\"_blank\">            <img width=\"202\" height=\"159\" src=\"/images/blank.gif\" class=\"loading-style2\" data-lazyload=\"background:url(${slide.src}) no-repeat #fff center 0;\" alt=\"${slide.alt}\" /></a>    </li>    {/for}</ul>', $(\"#mscroll-list\").imgScroll({width: screen.width >= 1200 ? 203 : 163,height: 159,visible: 3,step: 3,loop: !0,next: \"#mscroll-ctrl-next\",prev: \"#mscroll-ctrl-prev\",data: pageConfig.DATA_MScroll,template: pageConfig.TPL_MScroll}, function(t, e, i, a) {\r\n    a.find(\"img\").each(function() {\r\n        var t = $(this).attr(\"data-lazyload\");\r\n        $(this).attr(\"style\") || $(this).attr(\"style\", t).removeAttr(\"data-lazyload\")\r\n    })\r\n}), pageConfig.TPL_GScroll = '<ul class=\"lh\">    {for slide in list}    {var x=pageConfig.FN_GetCompatibleData(slide)}        <li class=\"item fore${parseInt(slide_index)+1}\">            <a href=\"${x.href}\" target=\"_blank\">                <img width=\"${x.width}\" height=\"${x.height}\" src=\"/images/blank.gif\" style=\"background:url(${x.src}) no-repeat 0 0;\" class=\"loading-style2\" alt=\"${x.alt}\" /></a>            <div class=\"p-detail\">                <a target=\"_blank\" class=\"btn-tuan\" href=\"${x.href}\">\\u53c2\\u56e2</a>                <span>\\u56e2\\u8d2d\\u4ef7\\uff1a</span><strong>\\uffe5${x.price}</strong>            </div>        </li>    {/for}</ul>', $(\"#gscroll-list\").imgScroll({width: screen.width >= 1200 ? 292 : 192,height: 155,visible: 1,step: 1,loop: !0,next: \"#gscroll-ctrl-next\",prev: \"#gscroll-ctrl-prev\",data: pageConfig.DATA_GScroll,template: pageConfig.TPL_GScroll}, function(t, e, i, a) {\r\n    a.find(\"img\").each(function() {\r\n        var t = $(this).attr(\"data-lazyload\");\r\n        $(this).attr(\"style\") || $(this).attr(\"style\", t).removeAttr(\"data-lazyload\")\r\n    })\r\n}), $(\"#digitals-brands\").Jtab({compatible: !0}, function(t, e) {\r\n    e.find(\"img\").each(function() {\r\n        var t = $(this).attr(\"data-src\");\r\n        $(this).attr(\"src\") || $(this).attr(\"src\", t).removeAttr(\"data-src\")\r\n    })\r\n});\r\n"
  },
  {
    "path": "migo-portal/src/main/webapp/js/iplocation_server.js",
    "content": "/*##20130301##*/\r\npageConfig.product.urlskuid=pageConfig.product.skuid;\r\n$(\"#product-intro .clearfix\").attr(\"clstag\",\"\");\r\nvar locPageHost = pageConfig.FN_getDomain();\r\nvar iplocjsversion = \"1.0\";\r\n/* 图片滚动 */\r\nvar scrollVisible_noitem = pageConfig.wideVersion&&pageConfig.compatible ? 5 : 4,\r\n    scrollVisible_itemover = pageConfig.wideVersion&&pageConfig.compatible ? 6 : 4;\r\n(function(a){a.fn.imgScroll=function(b){return this.each(function(){var e=a.extend({evtType:\"click\",visible:1,showControl:true,showNavItem:false,navItemEvtType:\"click\",navItemCurrent:\"current\",showStatus:false,direction:\"x\",next:\".next\",prev:\".prev\",disableClass:\"disabled\",speed:300,loop:false,step:1,ie6DisableClass:\"disableIE6\"},b);var l=a(this),q=l.find(\"ul\"),p=q.find(\"li\"),h=e.width||p.outerWidth(),d=e.height||p.outerHeight(),u=p.length,c=e.visible,j=e.step,i=parseInt((u-c)/j),v=0,m=l.css(\"position\")==\"absolute\"?\"absolute\":\"relative\",x=p.css(\"float\")!==\"none\",t=a('<div class=\"scroll-nav-wrap\"></div>'),f=e.direction==\"x\"?\"left\":\"top\",k=e.direction==\"x\",r=typeof e.prev==\"string\"?a(e.prev):e.prev,s=typeof e.next==\"string\"?a(e.next):e.next,w=a.browser.isIE6?e.ie6DisableClass:\"\";e.loop=false;function o(){if(!x){p.css(\"float\",\"left\")}q.css({position:\"absolute\",left:0,top:0});l.css({position:m,width:e.direction==\"x\"?c*h:p.outerWidth(),height:e.direction==\"x\"?d:c*d,overflow:\"hidden\"});r.addClass(e.disableClass+w);if(e.loop){}else{if((u-c)%j!==0&&u>c){var A=j-(u-c)%j;q.append(p.slice(0,A).clone());u=q.find(\"li\").length;i=parseInt((u-c)/j)}}if(k){q.css(\"width\",u*h)}else{q.css(\"height\",u*d)}if(!e.showControl&&u<=c){s.hide();r.hide()}else{s.show();r.show()}if(u<=c){s.addClass(e.disableClass);r.addClass(e.disableClass)}else{r.addClass(e.disableClass);s.removeClass(e.disableClass)}if(e.showNavItem){for(var y=0;y<=i;y++){var z=y==0?e.navItemCurrent:\"\";t.append('<em class=\"'+z+'\">'+(y+1)+\"</em>\")}l.after(t);t.find(\"em\").bind(e.navItemEvtType,function(){var B=parseInt(this.innerHTML);g((B-1)*j)})}if(e.showStatus){l.after('<span class=\"scroll-status\">'+1+\"/\"+(i+1)+\"</span>\")}}function g(y){if(q.is(\":animated\")){return false}if(y<0){r.addClass(e.disableClass+w);return false}if(y+c>u){s.addClass(e.disableClass);return false}v=y;q.animate(e.direction==\"x\"?{left:-((y)*h)}:{top:-((v)*d)},e.speed,function(){if(y>0){r.removeClass(e.disableClass+w)}else{r.addClass(e.disableClass+w)}if(y+c<u){s.removeClass(e.disableClass)}else{s.addClass(e.disableClass)}n(y)})}function n(y){t.find(\"em\").removeClass(e.navItemCurrent).eq(y/j).addClass(e.navItemCurrent);if(e.showStatus){a(\".scroll-status\").html(((y/j)+1)+\"/\"+(i+1))}}o();if(u>c){s.click(function(){g(v+j)});r.click(function(){g(v-j)})}})}}(jQuery));\r\n// 获得数字价格\r\nvar getPriceNum = function(skus, $wrap, perfix, callback) {\r\n    skus = typeof skus === 'string' ? [skus]: skus;\r\n    $wrap = $wrap || $('body');\r\n    perfix = perfix || 'J-p-';\r\n    $.ajax({\r\n        url: 'http://p.3.cn/prices/mgets?skuIds=J_' + skus.join(',J_') + '&type=1',\r\n        dataType: 'jsonp',\r\n        success: function (r) {\r\n            if (!r && !r.length) {\r\n                return false;\r\n            }\r\n            for (var i = 0; i < r.length; i++) {\r\n                var sku = r[i].id.replace('J_', '');\r\n                var price = parseFloat(r[i].p, 10);\r\n\r\n                if (price > 0) {\r\n                    $wrap.find('.'+ perfix + sku).html('￥' + r[i].p + '');\r\n                } else {\r\n                    $wrap.find('.'+ perfix + sku).html('暂无报价');\r\n                }\r\n\r\n                if ( typeof callback === 'function' ) {\r\n                    callback(sku, price, r);\r\n                }\r\n            }\r\n        }\r\n    });\r\n};\r\n/* ---------- 埋点公用 ---------- */\r\nfunction log (type1, type2, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) {\r\n//    var data = '';\r\n//    for (i = 2; i < arguments.length; i++) {\r\n//        data = data + arguments[i] + '|||';\r\n//    }\r\n//    var pin = decodeURIComponent(escape(getCookie(\"pin\")));\r\n//    var loguri = \"http://csc.jd.com/log.ashx?type1=$type1$&type2=$type2$&data=$data$&pin=$pin$&referrer=$referrer$&jinfo=$jinfo$&callback=?\";\r\n//    var url = loguri.replace(/\\$type1\\$/, escape(type1));\r\n//    url = url.replace(/\\$type2\\$/, escape(type2));\r\n//    url = url.replace(/\\$data\\$/, escape(data));\r\n//    url = url.replace(/\\$pin\\$/, escape(pin));\r\n//    url = url.replace(/\\$referrer\\$/, escape(document.referrer));\r\n//    url = url.replace(/\\$jinfo\\$/, escape(''));\r\n//    $.getJSON(url, function() {});\r\n//    var traceurl = (\"https:\" == document.location.protocol ? \"https://mercuryssl\" : \"http://mercury\") + \".jd.com/log.gif\"\r\n//                    + \"?t=other.000000\"\r\n//                    + \"&m=UA-J2011-1\"\r\n//                    + \"&v=\" + encodeURIComponent('t1='+type1+'$t2='+type2+'$p0='+data)\r\n//                    + \"&ref=\" + encodeURIComponent(document.referrer)\r\n//                    + \"&rm=\" + (new Date).getTime();\r\n//    var d = new Image(1, 1);\r\n//    d.src = traceurl;       \r\n}\r\n/**\r\n * 新版-点击流统计-页面pv和显示次数\r\n * wpid 主商品三级分类，没有为空串''\r\n * psku 主商品sku，没有为空串''，根据它来判断此商品为pop还是非pop\r\n * markId 推荐位标记，找张斌要\r\n * op s:显示、p:pv\r\n */\r\nfunction clsPVAndShowLog(wpid, psku, markId, op) {\r\n    var key = wpid + \".\" + markId + \".\" + skutype(psku) + \".\" + op;\r\n    log('d', 'o', key);\r\n}\r\nfunction clsClickLog(wpid, psku, rsku, markId, num, reCookieName) {\r\n    var key = wpid + \".\" + markId + \".\" + skutype(psku);\r\n    appendCookie(reCookieName, rsku, key);\r\n    log('d', 'o', key + \".c\");\r\n}\r\nfunction appendCookie(reCookieName, sku, key) {\r\n    var reWidsCookies = eval('(' + getCookie(reCookieName) + ')');\r\n    if (reWidsCookies == null || reWidsCookies == '') {\r\n        reWidsCookies = new Object();\r\n    }\r\n    if (reWidsCookies[key] == null) {\r\n        reWidsCookies[key] = '';\r\n    }\r\n    var pos = reWidsCookies[key].indexOf(sku);\r\n    if (pos < 0) {\r\n        reWidsCookies[key] = reWidsCookies[key] + \",\" + sku;\r\n    }\r\n    setCookie(reCookieName, $.toJSON(reWidsCookies), 15);\r\n}\r\nfunction skutype(sku) {\r\n    if (sku) {\r\n        var len = sku.toString().length;\r\n        return len==10 ? 1 : 0;\r\n    }\r\n    return 0;\r\n}\r\nfunction setCookie(name, value, date) {\r\n    var Days = date;\r\n    var exp = new Date();\r\n    exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);\r\n    document.cookie = name + \"=\" + escape(value) + \";expires=\" + exp.toGMTString() + \";path=/;domain=.\"+locPageHost;\r\n}\r\nfunction getCookie(name) {\r\n    var arr = document.cookie.match(new RegExp(\"(^| )\" + name + \"=([^;]*)(;|$)\"));\r\n    if (arr != null) return unescape(arr[2]);\r\n    return null;\r\n}\r\nfunction reClick(type2, pwid, sku, num) {\r\n    name = \"reWids\" + type2;\r\n    reWids = getCookie(name);\r\n    if (reWids != null) {\r\n        reWids = reWids.toString();\r\n        var pos = reWids.indexOf(sku);\r\n        if (pos < 0) {\r\n            reWids = reWids + \",\" + sku;\r\n        }\r\n    }\r\n    else {\r\n        reWids = sku;\r\n    }\r\n    setCookie(name, reWids, 15);\r\n\r\n    sku = sku.split(\"#\");\r\n    log(3, type2, sku[0]);\r\n    //log('RC', 'CK', type2, pwid, sku[0], num);\r\n}\r\n\r\nfunction readPinCookie(name) {\r\n    //读取cookies函数\r\n    var arr = document.cookie.match(new RegExp(\"(^| )\" + name + \"=([^;]*)(;|$)\"));\r\n    if (arr != null) return arr[2];\r\n    return '';\r\n}\r\n\r\n/**\r\n * 点击流统计，调用例如：clsLog(\"3425&special\",\"\",\"174620#988\",4,\"reWidsBookSpecial\")\r\n * @param type2 三级分类\r\n * @param pwid  当前商品wid，没有为空串''\r\n * @param sku   推荐商品wid\r\n * @param num   位置，从0开始\r\n * @param reCookieName   cookieName\r\n */\r\nfunction clsLog(type2, pwid, sku, num, reCookieName) {\r\n    var reWidsClubCookies = eval('(' + getCookie(reCookieName) + ')');\r\n    if (reWidsClubCookies == null || reWidsClubCookies == '') {\r\n        reWidsClubCookies = new Object();\r\n    }\r\n    if (reWidsClubCookies[type2] == null) {\r\n        reWidsClubCookies[type2] = '';\r\n    }\r\n    var pos = reWidsClubCookies[type2].indexOf(sku);\r\n    if (pos < 0) {\r\n        reWidsClubCookies[type2] = reWidsClubCookies[type2] + \",\" + sku;\r\n    }\r\n    setCookie(reCookieName, $.toJSON(reWidsClubCookies), 15);\r\n    sku = sku.split(\"#\");\r\n    log(3, type2, sku[0]);\r\n    //log('RC', 'CK', type2, pwid, sku[0], num);\r\n}\r\nfunction mark(b,a){ log(1,a,b);}\r\n/* ---------- 埋点公用 end ---------- */\r\nvar noItemOver = {\r\n    // 无货、下柜页面推荐列表\r\n    init: function( type ) {\r\n\r\n        this.type = type || 1;  //3c为1、日百为2\r\n\r\n\r\n        this.outOfStockTPL = ''\r\n            +'<div class=\"w\">'\r\n            +'    <div id=\"out-of-stock\" class=\"m m2 hide\">'\r\n            +'        <div class=\"mt\">'\r\n            +'            <h2>其它类似商品</h2>'\r\n            +'        </div>'\r\n            +'        <div class=\"mc\">'\r\n            +'            <div id=\"noitem-related-list\">'\r\n            +'                <div class=\"noitem-related-list\">'\r\n            +'                    <a href=\"javascript:;\" class=\"spec-control disabled\" id=\"noitem-forward\"></a>'\r\n            +'                    <a href=\"javascript:;\" class=\"spec-control\" id=\"noitem-backward\"></a>'\r\n            +'                    <div id=\"noitem-list\">'\r\n            +'                            <div class=\"iloading\">正在加载中，请稍候...</div>'\r\n            +'                    </div>'\r\n            +'                </div>'\r\n            +'            </div>'\r\n            +'        </div>'\r\n            +'    </div>'\r\n            +'</div>';\r\n\r\n        var isNoItem = $('#product-intro').hasClass('product-intro-noitem'),\r\n            isOver = $('#product-intro').hasClass('product-intro-itemover');\r\n\r\n        if ( !isNoItem && !isOver ) {\r\n\r\n            $('#out-of-stock,#noitem-related-list,#itemover-related-list,#itemover1-related-list').remove();\r\n            return false;\r\n        }\r\n        if ( isNoItem ) {\r\n            this.noItem();\r\n        }\r\n        //if ( isOver ) {\r\n            //this.itemOver();\r\n        //}\r\n\r\n    },\r\n    noItem: function( isItemOver ) {\r\n//        var imgStr = isItemOver ? '<img height=\"100\" width=\"100\" src=\"${pageConfig.FN_GetImageDomain(list.skuId)}n4/${list.imgUrl}\">' : '<img height=\"130\" width=\"130\" src=\"${pageConfig.FN_GetImageDomain(list.skuId)}n3/${list.imgUrl}\">';\r\n//        // 无货推荐列表[老服务]\r\n//        var noItem_TPL_OLD = '{for list in html}'\r\n//            +'<li class=\"fore fore${list_index}\" data-push=\"${}\">'\r\n//            +'  <div class=\"p-img\">'\r\n//            +'      <a target=\"_blank\" href=\"${list.skuId}.html\">'+imgStr+'</a>'\r\n//            +'  </div>'\r\n//            +'  <div class=\"p-name\">'\r\n//            +'      <a target=\"_blank\" title=\"${list.name}\" href=\"${list.skuId}.html\">${list.Name}</a>'\r\n//            +'  </div>'\r\n//            +'  <div class=\"p-price\">'\r\n//            +'      <strong class=\"J-p-${list.skuId}\"></strong>'\r\n//            +'  </div>'\r\n//            +'</li>'\r\n//            +'{/for}';\r\n//        var url = 'http://d.360buy.com/nostockrecomm/get?productId=' + pageConfig.product.skuid,\r\n//            _this = this,\r\n//            isItemOver = isItemOver || false;\r\n//\r\n//\r\n//        log( pageConfig.product.cat[0] + \"&SORecPage\", 'Show');\r\n//\r\n//        $.ajax({\r\n//            url: url,\r\n//            dataType: 'jsonp',\r\n//            data: {\r\n//                productId: pageConfig.product.skuid\r\n//            },\r\n//            success: function( data ) {\r\n//\r\n//\r\n//                if ( data && (typeof data.html !== 'undefined') && data.html !== null && data.html.length > 0 ) {\r\n//\r\n//                    if ( isItemOver ) {\r\n//                        if ( $('#noitem-related-list').length < 1 ) {\r\n//                            $('#choose').after('<div id=\"noitem-related-list\"><p>其它类似商品</p><div class=\"noitem-related-list\"><div class=\"iloading\">正在加载中，请稍候...</div></div>');\r\n//                        } else {\r\n//                            $('#itemover-related-list').show();\r\n//                        }\r\n//                    } else {\r\n//                        if ( $('#out-of-stock').length < 1 ) {\r\n//                            $('#product-intro').parent().after(_this.outOfStockTPL);\r\n//                        } else {\r\n//                            $('#out-of-stock').show();\r\n//                        }\r\n//                    }\r\n//\r\n//\r\n//                    $('#noitem-related-list .noitem-related-list').html( '<a href=\"javascript:;\" class=\"spec-control disabled\" id=\"noitem-forward\"></a><a href=\"javascript:;\" class=\"spec-control\" id=\"noitem-backward\"></a><div id=\"noitem-list\"><ul>' + noItem_TPL_OLD.process( data ) + '</ul></div>' );\r\n//                    $('#noitem-related-list').attr('loaded', 'true');\r\n//\r\n//\r\n//                    //图片滚动【无货页面】\r\n//                    $('#noitem-list').imgScroll({\r\n//                        visible: scrollVisible_itemover,\r\n//                        showControl: true,\r\n//                        speed: 200,\r\n//                        step: scrollVisible_itemover,\r\n//                        loop: false,\r\n//                        prev: '#noitem-forward',\r\n//                        next: '#noitem-backward',\r\n//                        disableClass: 'disabled'\r\n//                    });\r\n//\r\n//                } else if ( !data || data.html == null || data.html.length < 1 ) {\r\n//                    _this.noItemNoData(isItemOver);\r\n//                }\r\n//            }\r\n//        });\r\n    },\r\n    itemOver: function() {\r\n        // 浏览了 - 还浏览3c\r\n        var listBrosweBroswe_TPL = '<li onclick=\"reClick(1, '+pageConfig.product.skuid+',\\'${wid}#${wmeprice}\\', [#]);\">'\r\n            +'  <div class=\"p-img\">'\r\n            +'      <a target=\"_blank\" title=\"${name}\" href=\"${wid}.html\"><img height=\"100\" width=\"100\" alt=\"${name}\" src=\"${pageConfig.FN_GetImageDomain(wid)}n4/${imgurl}\"></a>'\r\n            +'  </div>'\r\n            +'  <div class=\"p-name\">'\r\n            +'      <a target=\"_blank\" title=\"${name}\" href=\"${wid}.html\">${name}</a>'\r\n            +'  </div>'\r\n            +'  <div class=\"p-price\">'\r\n            +'      <strong class=\"J-p-${wid}\"></strong>'\r\n            +'  </div>'\r\n            +'</li>';\r\n\r\n        var urlRelated = 'http://simigoods.jd.com/SoldOutRecJsonData.aspx?ip='+ getCookie(\"ipLocation\") +'&wids='+ pageConfig.product.skuid;\r\n        var urlBroswerBuy = 'http://simigoods.jd.com/ThreeCCombineBuying/ThreeCBroswerBroswerJsonData.aspx?ip=' + getCookie('ipLocation') + '&wids=' + pageConfig.product.skuid;\r\n        var _this = this;\r\n\r\n        _this.noItem( true );\r\n\r\n        //下柜页看了还买了\r\n        $.ajax({\r\n            url: urlBroswerBuy,\r\n            dataType: 'jsonp',\r\n            success: function(data) {\r\n                var resHTML = [];\r\n                pageConfig.product.listBrosweBroswe = [];\r\n\r\n                //log('RemovedArk', 'Show');\r\n                log('R1','Show');\r\n\r\n                if ( data == null ) {\r\n                    return false;\r\n                }\r\n                for ( var i = 0; i < data.length; i++ ) {\r\n                    resHTML.push( listBrosweBroswe_TPL.process(data[i]).replace('[#]', i) );\r\n                    pageConfig.product.listBrosweBroswe.push(data[i].wid);\r\n                }\r\n                $('#itemover1-related-list').show();\r\n                $('#itemover1-related-list .itemover1-related-list').html( '<a href=\"javascript:;\" class=\"spec-control disabled\" id=\"itemover1-forward\"></a><a href=\"javascript:;\" class=\"spec-control disabled\" id=\"itemover1-backward\"></a><div id=\"itemover1-list\"><ul>' + resHTML.join('') + '</ul></div>' );\r\n\r\n                getPriceNum(pageConfig.product.listBrosweBroswe, $('#itemover1-related-list'));\r\n\r\n                //图片滚动【下柜页面-看了还买了】\r\n                $('#itemover1-list').imgScroll({\r\n                    visible: scrollVisible_itemover,\r\n                    showControl: false,\r\n                    speed: 200,\r\n                    step: scrollVisible_itemover,\r\n                    loop: false,\r\n                    prev: '#itemover1-forward',\r\n                    next: '#itemover1-backward',\r\n                    disableClass: 'disabled',\r\n                    width: 130,\r\n                    height:165\r\n                });\r\n            }\r\n        });\r\n    },\r\n    noItemNoData: function( isItemOver ) {\r\n        var _this = this;\r\n        var outStock = $('#out-of-stock .mc');\r\n        var rid = pageConfig.product.type == 1 ? 103000 : 102000;\r\n\r\n        if(!outStock.length) {\r\n            $('#product-intro').parent().after(_this.outOfStockTPL);\r\n        }\r\n        if (!isItemOver) {\r\n            setTimeout(function() {\r\n\r\n                if (typeof Grecommend === 'undefined') return;\r\n\r\n\t\t\t\tvar rec_103000 = new Grecommend(G.sku, rid, readCookie('ipLoc-djd'), $('#out-of-stock #noitem-list'), 20);\r\n\t\t\t\tlog(pageConfig.product.cat[0] + \"&SORec\", 'Show');\r\n            }, 500);\r\n        }\r\n        \r\n        return;\r\n\r\n        var imgStr = isItemOver ? '<img height=\"100\" width=\"100\" src=\"${pageConfig.FN_GetImageDomain(list.wid)}n4/${list.imgurl}\">' : '<img height=\"130\" width=\"130\" src=\"${pageConfig.FN_GetImageDomain(list.wid)}n3/${list.imgurl}\">';\r\n        // 无货推荐列表[新服务]\r\n        var noItem_TPL = '{for list in MySoldOut}'\r\n            +'<li data-push=\"${pageConfig.product.noItemData.push(list.wid)}\" class=\"fore fore${list_index}\" onclick=\"reClick2(\\''+pageConfig.product.cat[0]+'&SORec\\','+pageConfig.product.skuid+', \\'${list.wid}#${list.wmeprice}\\', ${list_index})\">'\r\n            +'  <div class=\"p-img\">'\r\n            +'      <a target=\"_blank\" href=\"${list.wid}.html\">'+imgStr+'</a>'\r\n            +'  </div>'\r\n            +'  <div class=\"p-name\">'\r\n            +'      <a target=\"_blank\" title=\"${list.name}\" href=\"${list.wid}.html\">${list.name}</a>'\r\n            +'  </div>'\r\n            +'  <div class=\"p-price\">'\r\n            +'      <strong class=\"J-p-${list.wid}\"></strong>'\r\n            +'  </div>'\r\n            +'</li>'\r\n            +'{/for}';\r\n\r\n        // 没有推荐数据时调用新数据接口\r\n        var url = 'http://simigoods.jd.com/SoldOutRecJsonData.aspx?ip='+ getCookie(\"ipLocation\") +'&wids='+ pageConfig.product.skuid,\r\n            _this = this;\r\n\r\n        $.ajax({\r\n            url: url,\r\n            dataType: 'jsonp',\r\n            success: function(data) {\r\n                pageConfig.product.noItemData = [];\r\n\r\n                if ( data.MySoldOut !== null && data !== null ) {\r\n\r\n                    if ( isItemOver ) {\r\n                        if ( $('#noitem-related-list').length < 1 ) {\r\n                            $('#choose').after('<div id=\"noitem-related-list\"><p>其它类似商品</p><div class=\"noitem-related-list\"><div class=\"iloading\">正在加载中，请稍候...</div></div>');\r\n                        }\r\n                    } else {\r\n                        if ( $('#out-of-stock').length < 1 ) {\r\n                            $('#product-intro').parent().after(_this.outOfStockTPL);\r\n                        } else {\r\n                            $('#out-of-stock').show();\r\n                        }\r\n                    }\r\n\r\n                    log(pageConfig.product.cat[0] + \"&SORec\", 'Show');\r\n\r\n\r\n                    $('#noitem-related-list').attr('iplocation', getCookie(\"ipLocation\"));\r\n\r\n                    if ( isItemOver ) {\r\n                        $('#itemover-related-list').show().find('.itemover-related-list').html('<a href=\"javascript:;\" class=\"spec-control disabled\" id=\"itemover-forward\"></a><a href=\"javascript:;\" class=\"spec-control disabled\" id=\"itemover-backward\"></a><div id=\"itemover-list\"><ul>' + noItem_TPL.process(data) + '</ul></div>');\r\n\r\n                        getPriceNum(pageConfig.product.noItemData, $('#itemover-related-list'));\r\n\r\n                        //图片滚动【下柜页面-其它类似商品】\r\n                        $('#itemover-list').imgScroll({\r\n                            visible: scrollVisible_itemover,\r\n                            showControl: true,\r\n                            speed: 200,\r\n                            step: scrollVisible_itemover,\r\n                            loop: false,\r\n                            prev: '#itemover-forward',\r\n                            next: '#itemover-backward',\r\n                            disableClass: 'disabled',\r\n                            width: 130,\r\n                            height:165\r\n                        });\r\n\r\n\r\n                    } else {\r\n                        $('#noitem-related-list .noitem-related-list').html( '<a href=\"javascript:;\" class=\"spec-control disabled\" id=\"noitem-forward\"></a><a href=\"javascript:;\" class=\"spec-control\" id=\"noitem-backward\"></a><div id=\"noitem-list\"><ul>' + noItem_TPL.process(data) + '</ul></div>' );\r\n\r\n\r\n                        getPriceNum(pageConfig.product.noItemData, $('#noitem-related-list .noitem-related-list'));\r\n\r\n                        //图片滚动【无货页面】\r\n                        $('#noitem-list').imgScroll({\r\n                            visible: scrollVisible_noitem,\r\n                            showControl: true,\r\n                            speed: 200,\r\n                            step: scrollVisible_noitem,\r\n                            loop: false,\r\n                            prev: '#noitem-forward',\r\n                            next: '#noitem-backward',\r\n                            disableClass: 'disabled'\r\n                        });\r\n                    }\r\n                }\r\n\r\n            }\r\n        });\r\n    }\r\n\r\n};\r\n\r\n\r\nvar iplocation = {\"北京\": { id: \"1\", root: 0, djd: 1,c:72 },\"上海\": { id: \"2\", root: 1, djd: 1,c:78 },\"天津\": { id: \"3\", root: 0, djd: 1,c:51035 },\"重庆\": { id: \"4\", root: 3, djd: 1,c:113 },\"河北\": { id: \"5\", root: 0, djd: 1,c:142 },\"山西\": { id: \"6\", root: 0, djd: 1,c:303 },\"河南\": { id: \"7\", root: 0, djd: 1,c:412 },\"辽宁\": { id: \"8\", root: 0, djd: 1,c:560 },\"吉林\": { id: \"9\", root: 0, djd: 1,c:639 },\"黑龙江\": { id: \"10\", root: 0, djd: 1,c:698 },\"内蒙古\": { id: \"11\", root: 0, djd: 0,c:799 },\"江苏\": { id: \"12\", root: 1, djd: 1,c:904 },\"山东\": { id: \"13\", root: 0, djd: 1,c:1000 },\"安徽\": { id: \"14\", root: 1, djd: 1,c:1116 },\"浙江\": { id: \"15\", root: 1, djd: 1,c:1158 },\"福建\": { id: \"16\", root: 2, djd: 1,c:1303 },\"湖北\": { id: \"17\", root: 0, djd: 1,c:1381 },\"湖南\": { id: \"18\", root: 2, djd: 1,c:1482 },\"广东\": { id: \"19\", root: 2, djd: 1,c:1601 },\"广西\": { id: \"20\", root: 2, djd: 1,c:1715 },\"江西\": { id: \"21\", root: 2, djd: 1,c:1827 },\"四川\": { id: \"22\", root: 3, djd: 1,c:1930 },\"海南\": { id: \"23\", root: 2, djd: 1,c:2121 },\"贵州\": { id: \"24\", root: 3, djd: 1,c:2144 },\"云南\": { id: \"25\", root: 3, djd: 1,c:2235 },\"西藏\": { id: \"26\", root: 3, djd: 0,c:2951 },\"陕西\": { id: \"27\", root: 3, djd: 1,c:2376 },\"甘肃\": { id: \"28\", root: 3, djd: 1,c:2487 },\"青海\": { id: \"29\", root: 3, djd: 0,c:2580 },\"宁夏\": { id: \"30\", root: 3, djd: 1,c:2628 },\"新疆\": { id: \"31\", root: 3, djd: 0,c:2652 },\"台湾\": { id: \"32\", root: 2, djd: 0,c:2768 },\"香港\": { id: \"42\", root: 2, djd: 0,c:2754 },\"澳门\": { id: \"43\", root: 2, djd: 0,c:2770 },\"钓鱼岛\": { id: \"84\", root: 2, djd: 0,c:84 }};\r\nvar provinceCityJson = {\"1\":[{\"id\":72,\"name\":\"朝阳区\"},{\"id\":2800,\"name\":\"海淀区\"},{\"id\":2801,\"name\":\"西城区\"},{\"id\":2802,\"name\":\"东城区\"},{\"id\":2803,\"name\":\"崇文区\"},{\"id\":2804,\"name\":\"宣武区\"},{\"id\":2805,\"name\":\"丰台区\"},{\"id\":2806,\"name\":\"石景山区\"},{\"id\":2807,\"name\":\"门头沟\"},{\"id\":2808,\"name\":\"房山区\"},{\"id\":2809,\"name\":\"通州区\"},{\"id\":2810,\"name\":\"大兴区\"},{\"id\":2812,\"name\":\"顺义区\"},{\"id\":2814,\"name\":\"怀柔区\"},{\"id\":2816,\"name\":\"密云区\"},{\"id\":2901,\"name\":\"昌平区\"},{\"id\":2953,\"name\":\"平谷区\"},{\"id\":3065,\"name\":\"延庆县\"}],\"2\":[{\"id\":2813,\"name\":\"徐汇区\"},{\"id\":2815,\"name\":\"长宁区\"},{\"id\":2817,\"name\":\"静安区\"},{\"id\":2820,\"name\":\"闸北区\"},{\"id\":2822,\"name\":\"虹口区\"},{\"id\":2823,\"name\":\"杨浦区\"},{\"id\":2824,\"name\":\"宝山区\"},{\"id\":2825,\"name\":\"闵行区\"},{\"id\":2826,\"name\":\"嘉定区\"},{\"id\":2830,\"name\":\"浦东新区\"},{\"id\":2833,\"name\":\"青浦区\"},{\"id\":2834,\"name\":\"松江区\"},{\"id\":2835,\"name\":\"金山区\"},{\"id\":2837,\"name\":\"奉贤区\"},{\"id\":2841,\"name\":\"普陀区\"},{\"id\":2919,\"name\":\"崇明县\"},{\"id\":78,\"name\":\"黄浦区\"}],\"3\":[{\"id\":51035,\"name\":\"东丽区\"},{\"id\":51036,\"name\":\"和平区\"},{\"id\":51037,\"name\":\"河北区\"},{\"id\":51038,\"name\":\"河东区\"},{\"id\":51039,\"name\":\"河西区\"},{\"id\":51040,\"name\":\"红桥区\"},{\"id\":51041,\"name\":\"蓟县\"},{\"id\":51042,\"name\":\"静海县\"},{\"id\":51043,\"name\":\"南开区\"},{\"id\":51044,\"name\":\"塘沽区\"},{\"id\":51045,\"name\":\"西青区\"},{\"id\":51046,\"name\":\"武清区\"},{\"id\":51047,\"name\":\"津南区\"},{\"id\":51048,\"name\":\"汉沽区\"},{\"id\":51049,\"name\":\"大港区\"},{\"id\":51050,\"name\":\"北辰区\"},{\"id\":51051,\"name\":\"宝坻区\"},{\"id\":51052,\"name\":\"宁河县\"}],\"4\":[{\"id\":113,\"name\":\"万州区\"},{\"id\":114,\"name\":\"涪陵区\"},{\"id\":115,\"name\":\"梁平县\"},{\"id\":119,\"name\":\"南川区\"},{\"id\":123,\"name\":\"潼南县\"},{\"id\":126,\"name\":\"大足区\"},{\"id\":128,\"name\":\"黔江区\"},{\"id\":129,\"name\":\"武隆县\"},{\"id\":130,\"name\":\"丰都县\"},{\"id\":131,\"name\":\"奉节县\"},{\"id\":132,\"name\":\"开县\"},{\"id\":133,\"name\":\"云阳县\"},{\"id\":134,\"name\":\"忠县\"},{\"id\":135,\"name\":\"巫溪县\"},{\"id\":136,\"name\":\"巫山县\"},{\"id\":137,\"name\":\"石柱县\"},{\"id\":138,\"name\":\"彭水县\"},{\"id\":139,\"name\":\"垫江县\"},{\"id\":140,\"name\":\"酉阳县\"},{\"id\":141,\"name\":\"秀山县\"},{\"id\":48131,\"name\":\"璧山县\"},{\"id\":48132,\"name\":\"荣昌县\"},{\"id\":48133,\"name\":\"铜梁县\"},{\"id\":48201,\"name\":\"合川区\"},{\"id\":48202,\"name\":\"巴南区\"},{\"id\":48203,\"name\":\"北碚区\"},{\"id\":48204,\"name\":\"江津区\"},{\"id\":48205,\"name\":\"渝北区\"},{\"id\":48206,\"name\":\"长寿区\"},{\"id\":48207,\"name\":\"永川区\"},{\"id\":50950,\"name\":\"江北区\"},{\"id\":50951,\"name\":\"南岸区\"},{\"id\":50952,\"name\":\"九龙坡区\"},{\"id\":50953,\"name\":\"沙坪坝区\"},{\"id\":50954,\"name\":\"大渡口区\"},{\"id\":50995,\"name\":\"綦江区\"},{\"id\":51026,\"name\":\"渝中区\"},{\"id\":51027,\"name\":\"高新区\"},{\"id\":51028,\"name\":\"北部新区\"},{\"id\":4164,\"name\":\"城口县\"}],\"5\":[{\"id\":142,\"name\":\"石家庄市\"},{\"id\":148,\"name\":\"邯郸市\"},{\"id\":164,\"name\":\"邢台市\"},{\"id\":199,\"name\":\"保定市\"},{\"id\":224,\"name\":\"张家口市\"},{\"id\":239,\"name\":\"承德市\"},{\"id\":248,\"name\":\"秦皇岛市\"},{\"id\":258,\"name\":\"唐山市\"},{\"id\":264,\"name\":\"沧州市\"},{\"id\":274,\"name\":\"廊坊市\"},{\"id\":275,\"name\":\"衡水市\"}],\"6\":[{\"id\":303,\"name\":\"太原市\"},{\"id\":309,\"name\":\"大同市\"},{\"id\":318,\"name\":\"阳泉市\"},{\"id\":325,\"name\":\"晋城市\"},{\"id\":330,\"name\":\"朔州市\"},{\"id\":336,\"name\":\"晋中市\"},{\"id\":350,\"name\":\"忻州市\"},{\"id\":368,\"name\":\"吕梁市\"},{\"id\":379,\"name\":\"临汾市\"},{\"id\":398,\"name\":\"运城市\"},{\"id\":3074,\"name\":\"长治市\"}],\"7\":[{\"id\":412,\"name\":\"郑州市\"},{\"id\":420,\"name\":\"开封市\"},{\"id\":427,\"name\":\"洛阳市\"},{\"id\":438,\"name\":\"平顶山市\"},{\"id\":446,\"name\":\"焦作市\"},{\"id\":454,\"name\":\"鹤壁市\"},{\"id\":458,\"name\":\"新乡市\"},{\"id\":468,\"name\":\"安阳市\"},{\"id\":475,\"name\":\"濮阳市\"},{\"id\":482,\"name\":\"许昌市\"},{\"id\":489,\"name\":\"漯河市\"},{\"id\":495,\"name\":\"三门峡市\"},{\"id\":502,\"name\":\"南阳市\"},{\"id\":517,\"name\":\"商丘市\"},{\"id\":527,\"name\":\"周口市\"},{\"id\":538,\"name\":\"驻马店市\"},{\"id\":549,\"name\":\"信阳市\"},{\"id\":2780,\"name\":\"济源市\"}],\"8\":[{\"id\":560,\"name\":\"沈阳市\"},{\"id\":573,\"name\":\"大连市\"},{\"id\":579,\"name\":\"鞍山市\"},{\"id\":584,\"name\":\"抚顺市\"},{\"id\":589,\"name\":\"本溪市\"},{\"id\":593,\"name\":\"丹东市\"},{\"id\":598,\"name\":\"锦州市\"},{\"id\":604,\"name\":\"葫芦岛市\"},{\"id\":609,\"name\":\"营口市\"},{\"id\":613,\"name\":\"盘锦市\"},{\"id\":617,\"name\":\"阜新市\"},{\"id\":621,\"name\":\"辽阳市\"},{\"id\":632,\"name\":\"朝阳市\"},{\"id\":6858,\"name\":\"铁岭市\"}],\"9\":[{\"id\":639,\"name\":\"长春市\"},{\"id\":644,\"name\":\"吉林市\"},{\"id\":651,\"name\":\"四平市\"},{\"id\":2992,\"name\":\"辽源市\"},{\"id\":657,\"name\":\"通化市\"},{\"id\":664,\"name\":\"白山市\"},{\"id\":674,\"name\":\"松原市\"},{\"id\":681,\"name\":\"白城市\"},{\"id\":687,\"name\":\"延边州\"}],\"10\":[{\"id\":727,\"name\":\"鹤岗市\"},{\"id\":731,\"name\":\"双鸭山市\"},{\"id\":737,\"name\":\"鸡西市\"},{\"id\":742,\"name\":\"大庆市\"},{\"id\":753,\"name\":\"伊春市\"},{\"id\":757,\"name\":\"牡丹江市\"},{\"id\":765,\"name\":\"佳木斯市\"},{\"id\":773,\"name\":\"七台河市\"},{\"id\":776,\"name\":\"黑河市\"},{\"id\":782,\"name\":\"绥化市\"},{\"id\":793,\"name\":\"大兴安岭地区\"},{\"id\":698,\"name\":\"哈尔滨市\"},{\"id\":712,\"name\":\"齐齐哈尔市\"}],\"11\":[{\"id\":799,\"name\":\"呼和浩特市\"},{\"id\":805,\"name\":\"包头市\"},{\"id\":810,\"name\":\"乌海市\"},{\"id\":812,\"name\":\"赤峰市\"},{\"id\":823,\"name\":\"乌兰察布市\"},{\"id\":835,\"name\":\"锡林郭勒盟\"},{\"id\":848,\"name\":\"呼伦贝尔市\"},{\"id\":870,\"name\":\"鄂尔多斯市\"},{\"id\":880,\"name\":\"巴彦淖尔市\"},{\"id\":891,\"name\":\"阿拉善盟\"},{\"id\":895,\"name\":\"兴安盟\"},{\"id\":902,\"name\":\"通辽市\"}],\"12\":[{\"id\":904,\"name\":\"南京市\"},{\"id\":911,\"name\":\"徐州市\"},{\"id\":919,\"name\":\"连云港市\"},{\"id\":925,\"name\":\"淮安市\"},{\"id\":933,\"name\":\"宿迁市\"},{\"id\":939,\"name\":\"盐城市\"},{\"id\":951,\"name\":\"扬州市\"},{\"id\":959,\"name\":\"泰州市\"},{\"id\":965,\"name\":\"南通市\"},{\"id\":972,\"name\":\"镇江市\"},{\"id\":978,\"name\":\"常州市\"},{\"id\":984,\"name\":\"无锡市\"},{\"id\":988,\"name\":\"苏州市\"}],\"13\":[{\"id\":2900,\"name\":\"济宁市\"},{\"id\":1000,\"name\":\"济南市\"},{\"id\":1007,\"name\":\"青岛市\"},{\"id\":1016,\"name\":\"淄博市\"},{\"id\":1022,\"name\":\"枣庄市\"},{\"id\":1025,\"name\":\"东营市\"},{\"id\":1032,\"name\":\"潍坊市\"},{\"id\":1042,\"name\":\"烟台市\"},{\"id\":1053,\"name\":\"威海市\"},{\"id\":1058,\"name\":\"莱芜市\"},{\"id\":1060,\"name\":\"德州市\"},{\"id\":1072,\"name\":\"临沂市\"},{\"id\":1081,\"name\":\"聊城市\"},{\"id\":1090,\"name\":\"滨州市\"},{\"id\":1099,\"name\":\"菏泽市\"},{\"id\":1108,\"name\":\"日照市\"},{\"id\":1112,\"name\":\"泰安市\"}],\"14\":[{\"id\":1151,\"name\":\"黄山市\"},{\"id\":1159,\"name\":\"滁州市\"},{\"id\":1167,\"name\":\"阜阳市\"},{\"id\":1174,\"name\":\"亳州市\"},{\"id\":1180,\"name\":\"宿州市\"},{\"id\":1201,\"name\":\"池州市\"},{\"id\":1206,\"name\":\"六安市\"},{\"id\":2971,\"name\":\"宣城市\"},{\"id\":1114,\"name\":\"铜陵市\"},{\"id\":1116,\"name\":\"合肥市\"},{\"id\":1121,\"name\":\"淮南市\"},{\"id\":1124,\"name\":\"淮北市\"},{\"id\":1127,\"name\":\"芜湖市\"},{\"id\":1132,\"name\":\"蚌埠市\"},{\"id\":1137,\"name\":\"马鞍山市\"},{\"id\":1140,\"name\":\"安庆市\"}],\"15\":[{\"id\":1158,\"name\":\"宁波市\"},{\"id\":1273,\"name\":\"衢州市\"},{\"id\":1280,\"name\":\"丽水市\"},{\"id\":1290,\"name\":\"台州市\"},{\"id\":1298,\"name\":\"舟山市\"},{\"id\":1213,\"name\":\"杭州市\"},{\"id\":1233,\"name\":\"温州市\"},{\"id\":1243,\"name\":\"嘉兴市\"},{\"id\":1250,\"name\":\"湖州市\"},{\"id\":1255,\"name\":\"绍兴市\"},{\"id\":1262,\"name\":\"金华市\"}],\"16\":[{\"id\":1303,\"name\":\"福州市\"},{\"id\":1315,\"name\":\"厦门市\"},{\"id\":1317,\"name\":\"三明市\"},{\"id\":1329,\"name\":\"莆田市\"},{\"id\":1332,\"name\":\"泉州市\"},{\"id\":1341,\"name\":\"漳州市\"},{\"id\":1352,\"name\":\"南平市\"},{\"id\":1362,\"name\":\"龙岩市\"},{\"id\":1370,\"name\":\"宁德市\"}],\"17\":[{\"id\":1432,\"name\":\"孝感市\"},{\"id\":1441,\"name\":\"黄冈市\"},{\"id\":1458,\"name\":\"咸宁市\"},{\"id\":1466,\"name\":\"恩施州\"},{\"id\":1475,\"name\":\"鄂州市\"},{\"id\":1477,\"name\":\"荆门市\"},{\"id\":1479,\"name\":\"随州市\"},{\"id\":3154,\"name\":\"神农架林区\"},{\"id\":1381,\"name\":\"武汉市\"},{\"id\":1387,\"name\":\"黄石市\"},{\"id\":1396,\"name\":\"襄阳市\"},{\"id\":1405,\"name\":\"十堰市\"},{\"id\":1413,\"name\":\"荆州市\"},{\"id\":1421,\"name\":\"宜昌市\"},{\"id\":2922,\"name\":\"潜江市\"},{\"id\":2980,\"name\":\"天门市\"},{\"id\":2983,\"name\":\"仙桃市\"}],\"18\":[{\"id\":1482,\"name\":\"长沙市\"},{\"id\":1488,\"name\":\"株洲市\"},{\"id\":1495,\"name\":\"湘潭市\"},{\"id\":1499,\"name\":\"韶山市\"},{\"id\":1501,\"name\":\"衡阳市\"},{\"id\":1511,\"name\":\"邵阳市\"},{\"id\":1522,\"name\":\"岳阳市\"},{\"id\":1530,\"name\":\"常德市\"},{\"id\":1540,\"name\":\"张家界市\"},{\"id\":1544,\"name\":\"郴州市\"},{\"id\":1555,\"name\":\"益阳市\"},{\"id\":1560,\"name\":\"永州市\"},{\"id\":1574,\"name\":\"怀化市\"},{\"id\":1586,\"name\":\"娄底市\"},{\"id\":1592,\"name\":\"湘西州\"}],\"19\":[{\"id\":1601,\"name\":\"广州市\"},{\"id\":1607,\"name\":\"深圳市\"},{\"id\":1609,\"name\":\"珠海市\"},{\"id\":1611,\"name\":\"汕头市\"},{\"id\":1617,\"name\":\"韶关市\"},{\"id\":1627,\"name\":\"河源市\"},{\"id\":1634,\"name\":\"梅州市\"},{\"id\":1709,\"name\":\"揭阳市\"},{\"id\":1643,\"name\":\"惠州市\"},{\"id\":1650,\"name\":\"汕尾市\"},{\"id\":1655,\"name\":\"东莞市\"},{\"id\":1657,\"name\":\"中山市\"},{\"id\":1659,\"name\":\"江门市\"},{\"id\":1666,\"name\":\"佛山市\"},{\"id\":1672,\"name\":\"阳江市\"},{\"id\":1677,\"name\":\"湛江市\"},{\"id\":1684,\"name\":\"茂名市\"},{\"id\":1690,\"name\":\"肇庆市\"},{\"id\":1698,\"name\":\"云浮市\"},{\"id\":1704,\"name\":\"清远市\"},{\"id\":1705,\"name\":\"潮州市\"}],\"20\":[{\"id\":3168,\"name\":\"崇左市\"},{\"id\":1715,\"name\":\"南宁市\"},{\"id\":1720,\"name\":\"柳州市\"},{\"id\":1726,\"name\":\"桂林市\"},{\"id\":1740,\"name\":\"梧州市\"},{\"id\":1746,\"name\":\"北海市\"},{\"id\":1749,\"name\":\"防城港市\"},{\"id\":1753,\"name\":\"钦州市\"},{\"id\":1757,\"name\":\"贵港市\"},{\"id\":1761,\"name\":\"玉林市\"},{\"id\":1792,\"name\":\"贺州市\"},{\"id\":1806,\"name\":\"百色市\"},{\"id\":1818,\"name\":\"河池市\"},{\"id\":3044,\"name\":\"来宾市\"}],\"21\":[{\"id\":1827,\"name\":\"南昌市\"},{\"id\":1832,\"name\":\"景德镇市\"},{\"id\":1836,\"name\":\"萍乡市\"},{\"id\":1842,\"name\":\"新余市\"},{\"id\":1845,\"name\":\"九江市\"},{\"id\":1857,\"name\":\"鹰潭市\"},{\"id\":1861,\"name\":\"上饶市\"},{\"id\":1874,\"name\":\"宜春市\"},{\"id\":1885,\"name\":\"抚州市\"},{\"id\":1898,\"name\":\"吉安市\"},{\"id\":1911,\"name\":\"赣州市\"}],\"22\":[{\"id\":2103,\"name\":\"凉山州\"},{\"id\":1930,\"name\":\"成都市\"},{\"id\":1946,\"name\":\"自贡市\"},{\"id\":1950,\"name\":\"攀枝花市\"},{\"id\":1954,\"name\":\"泸州市\"},{\"id\":1960,\"name\":\"绵阳市\"},{\"id\":1962,\"name\":\"德阳市\"},{\"id\":1977,\"name\":\"广元市\"},{\"id\":1983,\"name\":\"遂宁市\"},{\"id\":1988,\"name\":\"内江市\"},{\"id\":1993,\"name\":\"乐山市\"},{\"id\":2005,\"name\":\"宜宾市\"},{\"id\":2016,\"name\":\"广安市\"},{\"id\":2022,\"name\":\"南充市\"},{\"id\":2033,\"name\":\"达州市\"},{\"id\":2042,\"name\":\"巴中市\"},{\"id\":2047,\"name\":\"雅安市\"},{\"id\":2058,\"name\":\"眉山市\"},{\"id\":2065,\"name\":\"资阳市\"},{\"id\":2070,\"name\":\"阿坝州\"},{\"id\":2084,\"name\":\"甘孜州\"}],\"23\":[{\"id\":3690,\"name\":\"三亚市\"},{\"id\":3698,\"name\":\"文昌市\"},{\"id\":3699,\"name\":\"五指山市\"},{\"id\":3701,\"name\":\"临高县\"},{\"id\":3702,\"name\":\"澄迈县\"},{\"id\":3703,\"name\":\"定安县\"},{\"id\":3704,\"name\":\"屯昌县\"},{\"id\":3705,\"name\":\"昌江县\"},{\"id\":3706,\"name\":\"白沙县\"},{\"id\":3707,\"name\":\"琼中县\"},{\"id\":3708,\"name\":\"陵水县\"},{\"id\":3709,\"name\":\"保亭县\"},{\"id\":3710,\"name\":\"乐东县\"},{\"id\":3711,\"name\":\"三沙市\"},{\"id\":2121,\"name\":\"海口市\"},{\"id\":3115,\"name\":\"琼海市\"},{\"id\":3137,\"name\":\"万宁市\"},{\"id\":3173,\"name\":\"东方市\"},{\"id\":3034,\"name\":\"儋州市\"}],\"24\":[{\"id\":2144,\"name\":\"贵阳市\"},{\"id\":2150,\"name\":\"六盘水市\"},{\"id\":2155,\"name\":\"遵义市\"},{\"id\":2169,\"name\":\"铜仁市\"},{\"id\":2180,\"name\":\"毕节市\"},{\"id\":2189,\"name\":\"安顺市\"},{\"id\":2196,\"name\":\"黔西南州\"},{\"id\":2205,\"name\":\"黔东南州\"},{\"id\":2222,\"name\":\"黔南州\"}],\"25\":[{\"id\":4108,\"name\":\"迪庆州\"},{\"id\":2235,\"name\":\"昆明市\"},{\"id\":2247,\"name\":\"曲靖市\"},{\"id\":2258,\"name\":\"玉溪市\"},{\"id\":2270,\"name\":\"昭通市\"},{\"id\":2281,\"name\":\"普洱市\"},{\"id\":2291,\"name\":\"临沧市\"},{\"id\":2298,\"name\":\"保山市\"},{\"id\":2304,\"name\":\"丽江市\"},{\"id\":2309,\"name\":\"文山州\"},{\"id\":2318,\"name\":\"红河州\"},{\"id\":2332,\"name\":\"西双版纳州\"},{\"id\":2336,\"name\":\"楚雄州\"},{\"id\":2347,\"name\":\"大理州\"},{\"id\":2360,\"name\":\"德宏州\"},{\"id\":2366,\"name\":\"怒江州\"}],\"26\":[{\"id\":3970,\"name\":\"阿里地区\"},{\"id\":3971,\"name\":\"林芝地区\"},{\"id\":2951,\"name\":\"拉萨市\"},{\"id\":3107,\"name\":\"那曲地区\"},{\"id\":3129,\"name\":\"山南地区\"},{\"id\":3138,\"name\":\"昌都地区\"},{\"id\":3144,\"name\":\"日喀则地区\"}],\"27\":[{\"id\":2428,\"name\":\"延安市\"},{\"id\":2442,\"name\":\"汉中市\"},{\"id\":2454,\"name\":\"榆林市\"},{\"id\":2468,\"name\":\"商洛市\"},{\"id\":2476,\"name\":\"安康市\"},{\"id\":2376,\"name\":\"西安市\"},{\"id\":2386,\"name\":\"铜川市\"},{\"id\":2390,\"name\":\"宝鸡市\"},{\"id\":2402,\"name\":\"咸阳市\"},{\"id\":2416,\"name\":\"渭南市\"}],\"28\":[{\"id\":2525,\"name\":\"庆阳市\"},{\"id\":2534,\"name\":\"陇南市\"},{\"id\":2544,\"name\":\"武威市\"},{\"id\":2549,\"name\":\"张掖市\"},{\"id\":2556,\"name\":\"酒泉市\"},{\"id\":2564,\"name\":\"甘南州\"},{\"id\":2573,\"name\":\"临夏州\"},{\"id\":3080,\"name\":\"定西市\"},{\"id\":2487,\"name\":\"兰州市\"},{\"id\":2492,\"name\":\"金昌市\"},{\"id\":2495,\"name\":\"白银市\"},{\"id\":2501,\"name\":\"天水市\"},{\"id\":2509,\"name\":\"嘉峪关市\"},{\"id\":2518,\"name\":\"平凉市\"}],\"29\":[{\"id\":2580,\"name\":\"西宁市\"},{\"id\":2585,\"name\":\"海东地区\"},{\"id\":2592,\"name\":\"海北州\"},{\"id\":2597,\"name\":\"黄南州\"},{\"id\":2603,\"name\":\"海南州\"},{\"id\":2605,\"name\":\"果洛州\"},{\"id\":2612,\"name\":\"玉树州\"},{\"id\":2620,\"name\":\"海西州\"}],\"30\":[{\"id\":2628,\"name\":\"银川市\"},{\"id\":2632,\"name\":\"石嘴山市\"},{\"id\":2637,\"name\":\"吴忠市\"},{\"id\":2644,\"name\":\"固原市\"},{\"id\":3071,\"name\":\"中卫市\"}],\"31\":[{\"id\":4110,\"name\":\"五家渠市\"},{\"id\":4163,\"name\":\"博尔塔拉蒙古自治州阿拉山口口岸\"},{\"id\":15945,\"name\":\"阿拉尔市\"},{\"id\":15946,\"name\":\"图木舒克市\"},{\"id\":2652,\"name\":\"乌鲁木齐市\"},{\"id\":2654,\"name\":\"克拉玛依市\"},{\"id\":2656,\"name\":\"石河子市\"},{\"id\":2658,\"name\":\"吐鲁番地区\"},{\"id\":2662,\"name\":\"哈密地区\"},{\"id\":2666,\"name\":\"和田地区\"},{\"id\":2675,\"name\":\"阿克苏地区\"},{\"id\":2686,\"name\":\"喀什地区\"},{\"id\":2699,\"name\":\"克孜勒苏州\"},{\"id\":2704,\"name\":\"巴音郭楞州\"},{\"id\":2714,\"name\":\"昌吉州\"},{\"id\":2723,\"name\":\"博尔塔拉州\"},{\"id\":2727,\"name\":\"伊犁州\"},{\"id\":2736,\"name\":\"塔城地区\"},{\"id\":2744,\"name\":\"阿勒泰地区\"}],\"32\":[{\"id\":2768,\"name\":\"台湾市\"}],\"42\":[{\"id\":2754,\"name\":\"香港特别行政区\"}],\"43\":[{\"id\":2770,\"name\":\"澳门市\"}],\"84\":[{\"id\":1310,\"name\":\"钓鱼岛\"}]};\r\nvar cName = \"ipLocation\";\r\nvar currentLocation = \"北京\";\r\nvar stockServiceDomain = \"http://st.3.cn\",rmsurl=\"http://rms.shop.jd.com\",dcashurl=\"http://yfei.shop.jd.com/json/pop/fare.action\";\r\n//try{if(location.href.indexOf(\"localtest=true\")>0){stockServiceDomain = \"http://webstock.jd.com\";rmsurl=\"http://rms.shop.360buy.net\";dcashurl=\"http://yfei.shop.jd.net/json/pop/fare.action\";}}catch(e){}\r\n//cookie operate\r\nfunction getCookie(name) {var arr = document.cookie.match(new RegExp(\"(^| )\" + name + \"=([^;]*)(;|$)\"));if (arr != null) return unescape(arr[2]);return null;}\r\nfunction setNewCookie(name,value,expires,path,domain,secure){if(!path){path=\"/\"}if(!domain){domain=\"jd.com\"}if(!secure){secure=false}var today=new Date();today.setTime(today.getTime());if(expires){expires=expires*1000*60*60*24}var expires_date=new Date(today.getTime()+(expires));document.cookie=name+'='+escape(value)+((expires)?';expires='+expires_date.toGMTString():'')+((path)?';path='+path:'')+((domain)?';domain='+domain:'')+((secure)?';secure':'')};function deleteCookie(name,path,domain){if(getCookie(name))document.cookie=name+'='+((path)?';path='+path:'')+((domain)?';domain='+domain:'')+';expires=Thu, 01-Jan-1970 00:00:01 GMT'};\r\nif(warestatus!=1&&warestatus!=2){\r\n    $(\"#product-intro\").attr(\"class\",\"product-intro-itemover\");\r\n    $('#out-of-stock,#noitem-related-list').remove();\r\n}\r\n$.pbuyurl=\"\";\r\n$.haveShow=0;$._ptload=false;$._ptloadcon=\"\";$.easybuy_button=$(\"#choose-btn-easybuy\");$.divide_button=$(\"#choose-btn-divide\");$.notice_button=$(\"#choose-btn-notice\");$.append_button=$(\"#choose-btn-append .btn-append\");\r\n$.getShopUrl=function(r){if(pageConfig.product.isFlashPurchase)return \"#none\";if(r.url)return r.url;return \"http://mall.jd.com/index-\"+r.id+\".html\";};\r\nvar openCheck = pageConfig.product.cat[2]==798||pageConfig.product.cat[2]==878||pageConfig.product.cat[2]==880;\r\nvar iconDesc = null;\r\nvar useNewEasybuy = true,useEasyBuy=pageConfig.product.skuid<1950000000&&pageConfig.product.skuid>2000000000;\r\nfunction checkApecialAttr(attr){\r\n\tif(pageConfig.product.specialAttrs&&pageConfig.product.specialAttrs.length>0){\r\n\t\tfor(var i=0,j=pageConfig.product.specialAttrs.length;i<j;i++){\r\n\t\t\tif(attr==pageConfig.product.specialAttrs[i]){\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n}\r\nfunction changeTenToTwo(Num){\r\n\tvar flag=true;\r\n\tvar result = \"\";\r\n\twhile(flag){\r\n\t\tresult = Num%2+result;\r\n\t\tNum = parseInt(Num/2);\r\n\t\tif (Num == 0){\r\n\t\t\tflag = false;\r\n\t\t}\r\n\t}\r\n\treturn result;\r\n}\r\nfunction checkIsWeChatStock(){\r\n\tif(pageConfig.product.specialAttrs&&pageConfig.product.specialAttrs.length>0){\r\n\t\tvar array,tmp;\r\n\t\tfor(var i=0,j=pageConfig.product.specialAttrs.length;i<j;i++){\r\n\t\t\tif(pageConfig.product.specialAttrs[i]==\"isWeChatStock-0\"||pageConfig.product.specialAttrs[i]==\"isWeChatStock-n\"){\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tif(pageConfig.product.specialAttrs[i].indexOf(\"isWeChatStock\")>-1){\r\n\t\t\t\tarray = pageConfig.product.specialAttrs[i].split(\"-\");\r\n\t\t\t\tif(array.length == 2 && new Number(array[1])>0){\r\n\t\t\t\t\ttmp = changeTenToTwo(parseInt(array[1]))+\"\";\r\n\t\t\t\t\tif (tmp.length<4){\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttmp = tmp.substr(tmp.length-4,1);\r\n\t\t\t\t\tif (tmp == \"0\"){\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n}\r\nvar zkHtml = null;pageConfig.product.isFlashPurchase=checkApecialAttr(\"isFlashPurchase\");pageConfig.product.isPOPFlashPurchase=pageConfig.product.SG==\"1\";pageConfig.product.isLOC2=checkApecialAttr(\"isLOC-2\");pageConfig.product.isLOC=checkApecialAttr(\"isLOC\")||pageConfig.product.isLOC2;pageConfig.product.isLSP=checkApecialAttr(\"isLSP\");pageConfig.product.isClosePCShow=checkIsWeChatStock();pageConfig.product.isXnzt=checkApecialAttr(\"isXnzt\");pageConfig.product.isHYKHSP=checkApecialAttr(\"HYKHSP-2\");\r\n//loc\r\nvar locSkuEndDate = null;\r\nfunction getLocSkuDateCallBack(r){\r\n\tif(r&&r.expiryEndDate){\r\n\t\tvar d = new Date(r.expiryEndDate);\r\n\t\tvar y = d.getFullYear();\r\n\t\tvar m = d.getMonth()+1;m = (m<10?\"0\":\"\")+m;\r\n\t\tvar dd = d.getDate();dd = (dd<10?\"0\":\"\")+dd;\r\n\t\tvar h = d.getHours();h = (h<10?\"0\":\"\")+h;\r\n        var mi  = d.getMinutes();mi = (mi<10?\"0\":\"\")+mi;\r\n        var s = d.getSeconds();s = (s<10?\"0\":\"\")+s;\r\n\t\tlocSkuEndDate = \"有效期至 \"+y+\"-\"+m+\"-\"+dd;\r\n\t\tif($(\"#loc_enddate\").length>0){$(\"#loc_enddate\").html(locSkuEndDate);}\r\n\t}\r\n}\r\nfunction getLocSkuDate(){\r\n\t$.getJSONP(rmsurl+\"/json/locWare/getLocWareBySkuId.action?callback=getLocSkuDateCallBack&skuId=\"+pageConfig.product.skuid+\"&t=\"+new Date().getTime());\r\n}\r\nif(pageConfig.product.isLOC){getLocSkuDate();}\r\n//FlashPurchase\r\nvar Countdown = {\r\n    init: function(seconds, callback) {\r\n        this.seconds = seconds;\r\n        this.timer = null;\r\n\r\n        this.callback = callback || function() {};\r\n\r\n        this.loopCount();\r\n    },\r\n    loopCount: function() {\r\n        var _this = this;\r\n        this.timer = setInterval(function() {\r\n\r\n            var res = _this.formatSeconds(_this.seconds);\r\n\r\n            if (res.d === 0 && res.h === 0 && res.m === 0 && res.s === 0) {\r\n                clearInterval(_this.timer);\r\n            } else {\r\n                _this.seconds--;\r\n            }\r\n            _this.callback(res);\r\n        }, 1000);\r\n    },\r\n    formatSeconds: function(seconds) {\r\n        var days = Math.floor(seconds / 86400);\r\n        var hours = Math.floor((seconds % 86400) / 3600);\r\n        var minutes = Math.floor(((seconds % 86400) % 3600) / 60);\r\n        var seconds = ((seconds % 86400) % 3600) % 60;\r\n        return {\r\n            d: days,\r\n            h: hours,\r\n            m: minutes,\r\n            s: seconds\r\n        };\r\n    }\r\n};\r\nfunction flashPurchase (seconds) {\r\n    var countDownEl = $(\"#red-countdown\");\r\n\tif(seconds > 0){\r\n\t\tCountdown.init(seconds, function(res) {\r\n\t\t\tif(res.d>0||res.h>0||res.m>0||res.s>0){countDownEl.html('（剩余'+res.d + '天' + res.h + '时' + res.m + '分' + res.s + '秒）');}else{countDownEl.html('（已结束）');}\r\n\t\t});\r\n\t}\r\n\telse if(seconds <= 0){\r\n\t\tcountDownEl.html('（已结束）');\r\n\t}\r\n}\r\nfunction flashPurchaseChange(){\r\n\t$(\"#summary-price .dt\").html(\"闪 购 价：\");\r\n\t$('<em id=\"red-discount\" class=\"hl_red_bg\"><span id=\"red-zhekou\"></span><span id=\"red-countdown\"></span></em>').insertAfter(\"#jd-price\");\r\n\t$(\"#notice-downp\").remove();\r\n\tif($('#summary-countdown').length==0){\r\n\t\t$.ajax({\r\n\t\t\turl: 'http://rms.shop.360buy.com/json/upDown/queryWareTaskUpDownTimeBySkuId.action?skuId=' + pageConfig.product.skuid,\r\n\t\t\tdataType: 'jsonp',\r\n\t\t\tsuccess: function(r) {\r\n\t\t\t\tif (r&&r.downTime&&r.nowTime){var seconds = Math.floor( (parseInt(r.downTime, 10) - parseInt(r.nowTime, 10))/1000 );flashPurchase(seconds);}\t\t\t\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n}\r\nfunction flashPurchaseChange1(){\r\n\t$('<em id=\"red-discount\" class=\"hl_red_bg\" style=\"display:none;margin-left:5px;\"><span id=\"red-countdown\"></span></em>').insertAfter(\"#jd-price\");\r\n\t$(\"#notice-downp\").remove();\r\n\tif($('#summary-countdown').length==0){\r\n\t\t$.ajax({\r\n\t\t\turl: 'http://red.jd.com/item/remainTime.html?skuid=' + pageConfig.product.skuid,\r\n\t\t\tdataType: 'jsonp',\r\n\t\t\tsuccess: function(r) {\r\n\t\t\t\tif(r){\r\n\t\t\t\t\tr=r.split(',');var json={},tmp=null;\r\n\t\t\t\t\tfor(var i=0,j=r.length;i<j;i++){tmp=r[i].split(\":\");if(tmp.length==2){json[tmp[0]]=tmp[1]}}\r\n\t\t\t\t\tif(json.startedFlag+\"\"==\"1\"&&new Number(json.remainTime)>0){$(\"#red-discount\").show();var seconds = Math.floor(json.remainTime/1000 );flashPurchase(seconds);}\r\n\t\t\t\t}\t\t\t\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n}\r\nif(pageConfig.product.isFlashPurchase){flashPurchaseChange();}\r\nelse if(pageConfig.product.isPOPFlashPurchase){flashPurchaseChange1();}\r\n//\\\\FlashPurchase\r\n$.getDeliver = function(p){\r\n    var r=p.D;\r\n    iconDesc = \"\";\r\n    if (p.ir&&p.ir.length>0){\r\n        iconDesc += '';\r\n        for (var i=0,j=p.ir.length;i<j;i++){\r\n            if (p.ir[i].resultCode==1){\r\n\t\t\t\tif(!p.ir[i].helpLink){p.ir[i].helpLink=\"#\"}\r\n                iconDesc += '<a href=\"'+p.ir[i].helpLink+'\" '+(p.ir[i].helpLink=='#'?'':'target=\"_blank\"')+' class=\"'+p.ir[i].iconCode+'\" title=\"'+p.ir[i].iconTip+'\">\\u3000</a>';\r\n            }\r\n        }\r\n    }\r\n    dCashDescInfo.loadStockCnt ++;\r\n    /*if(!r||r.type==0){\r\n        var noDCash = aboutSelfDeliveCash(1);\r\n        if(noDCash){\r\n            iconDesc += noDCash;\r\n        }\r\n    }*/\r\n    if (iconDesc){\r\n        iconDesc = '<span id=\"promise-ico\">支持：'+iconDesc+'</span>';\r\n    }\r\n    if(pageConfig.product.skuid<1000000000){\r\n//        $(\"#summary-service\").html(\"\");\r\n//        if (p.PopType==999||p.Ext.indexOf(\"factoryShip\")!=-1){\r\n//            $(\"<div class='dt'>服\\u3000\\u3000务：</div><div class='dd'>由厂家或供应商提供和配送。\"+iconDesc+\"</div>\").appendTo(\"#summary-service\");\r\n//        }else{\r\n//            var upenCheckStr = \"\";\r\n//            if (p.code==1&&openCheck&&!iconDesc&&!checkApecialAttr(\"YuShou\")){\r\n//                upenCheckStr = \"，支持货到付款、开箱验机\";\r\n//            }\r\n//            $(\"<div class='dt'>服\\u3000\\u3000务：</div><div class='dd'>由 京东 发货并提供售后服务\"+upenCheckStr+\"。\"+iconDesc+\"</div>\").appendTo(\"#summary-service\");\r\n//        }\r\n    }\r\n    if (pageConfig.product.skuid>1000000000){   \r\n        if (r){\r\n            showVenderServiceInfo(r);\r\n        }\r\n    }\r\n};\r\nfunction getDeliveCash(r){\r\n\tif(r&&r.dtype==undefined){\r\n\t\tfor(var i=0,j=r.length;i<j;i++){\r\n\t\t\tif (r[i].freihtType==1){\r\n\t\t\t\tr = r[i];break;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n    if(r){\r\n        if(r.dtype == 0&&new Number(r.dcash)>0){\r\n            $(\"#store-prompt span\").html(\"，运费：\"+r.dcash+\"元 <a href='http://help.jd.com/help/question-892.html#help2215' class='free_delivery_policy' title='了解配送费收取标准'></a>\");\r\n        }\r\n        else if(r.dtype == 1&&new Number(r.dcash)>0&&new Number(r.ordermin)>0){\r\n            $(\"#store-prompt span\").html(\"，店铺单笔订单不满\"+r.ordermin+\"元，收运费：\"+r.dcash+\"元 <a href='http://help.jd.com/help/question-892.html#help2215' class='free_delivery_policy'></a>\");\r\n        }\r\n        if(typeof $.fn.Jtips !== 'undefined'){\r\n             $('.free_delivery_policy').Jtips({\r\n                width:150,\r\n                autoClose: true,\r\n                oLeft: -8,\r\n                position:'bottom',\r\n                content:'<a href=\"http://help.jd.com/help/question-892.html#help2215\" target=\"_blank\">了解配送费收取标准</a>',\r\n                event: 'mouseover',\r\n                close: true\r\n            });\r\n        }\r\n    }\r\n}\r\nvar changeDescShopUrl=true;\r\nvar requestDeliveCash = false; \r\nfunction getPOPDeliveCash(){\r\n    if (requestDeliveCash){\r\n        try{\r\n\t\t\tif(dcashurl){\r\n\t\t\t\t$.getJSONP(dcashurl+\"?venderId=\"+pageConfig.product.venderId+\"&skuId=\"+pageConfig.product.skuid+\"&provinceId=\"+currentAreaInfo.currentProvinceId+\"&cityId=\"+currentAreaInfo.currentCityId+\"&buyNum=\"+$(\"#buy-num\").val()+\"&vType=\"+(pageConfig.product.isLSP?2:1)+\"&callback=getDeliveCash\");\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\t$.getJSONP(\"http://fare.shop.jd.com/json/pop/fare.action?venderId=\"+pageConfig.product.venderId+\"&skuId=\"+pageConfig.product.skuid+\"&provinceId=\"+currentAreaInfo.currentProvinceId+\"&cityId=\"+currentAreaInfo.currentCityId+\"&buyNum=\"+$(\"#buy-num\").val()+\"&callback=getDeliveCash\");\r\n\t\t\t}\r\n        }catch(e){}\r\n    }\r\n}\r\nfunction showVenderServiceInfo(r){\r\n//    requestDeliveCash = false;\r\n//    if (r){\r\n//        if(!r.deliver)r.deliver=r.vender;\r\n//        currentVenderInfoJson = r;\r\n//        var unshowtypes = \"0,1,2,4,5\";\r\n//        if (unshowtypes.indexOf(r.type) != -1){\r\n//                if($(\"#summary-service\").length==0){$(\"<li id='summary-service'></li>\").insertAfter(\"#summary-stock\");}\r\n//                $(\"#summary-service\").html(\"\");\r\n//                var key=r.id+\"_\"+r.type;\r\n//                var dfinfo=(r.vid.length!=7&&r.df&&r.df!=\"null\")?(\"从 \"+r.df+\" \"):\"负责\";\r\n//                var shinfo=r.po==\"false\"?\"京东提供售后服务。\":\"并提供售后服务。\"; //sop & sopl\r\n//\t\t\t\tif(pageConfig.product.isFlashPurchase){\r\n//\t\t\t\t\tif(r.type==0){\r\n//\t\t\t\t\t\trequestDeliveCash = true;\r\n//\t\t\t\t\t\tgetPOPDeliveCash();\r\n//\t\t\t\t\t}\r\n//\t\t\t\t\t$(\"<div class='dt'>服\\u3000\\u3000务：</div><div class='dd'>由 京东 负责发货，<a href='#none'>\"+r.vender+\"</a> 完成售后服务。\"+iconDesc+\"</div>\").appendTo(\"#summary-service\");\r\n//\t\t\t\t}\r\n//\t\t\t\telse{\r\n//\t\t\t\t\tif(r.type==0){\r\n//\t\t\t\t\t\tif(pageConfig.product.isLOC){\r\n//\t\t\t\t\t\t\t$(\"<div class='dt'>服\\u3000\\u3000务：</div><div class='dd'><span id='promise-ico'><a class='\"+(pageConfig.product.isLOC2?\"pico-onlineserver\":\"shouhoudaojia\")+\"' href='#none'></a></span>由<a href='\"+$.getShopUrl(r)+\"' target='_blank' clstag='shangpin|keycount|product|bbtn' class='hl_red'>\"+r.vender+\"</a>提供服务和售后\"\r\n//\t\t\t\t\t\t\t+\"<span id='loc_enddate'>\"+(locSkuEndDate?(\"，\"+locSkuEndDate):\"。\")+\"</span>\"+\"</div>\").appendTo(\"#summary-service\");\r\n//\t\t\t\t\t\t}\r\n//\t\t\t\t\t\telse{\r\n//\t\t\t\t\t\t\trequestDeliveCash = true;\r\n//\t\t\t\t\t\t\tgetPOPDeliveCash();\r\n//\t\t\t\t\t\t\t$(\"<div class='dt'>服\\u3000\\u3000务：</div><div class='dd'>由<a href='\"+$.getShopUrl(r)+\"' target='_blank' clstag='shangpin|keycount|product|bbtn' class='hl_red'>\"+r.vender+\"</a>\"+dfinfo+\"发货，\"\r\n//\t\t\t\t\t\t\t+shinfo+iconDesc+\"</div>\").appendTo(\"#summary-service\");\r\n//\t\t\t\t\t\t}\r\n//\t\t\t\t\t}\r\n//\t\t\t\t\telse if(r.type==1){\r\n//\t\t\t\t\t\t$(\"<div class='dt'>服\\u3000\\u3000务：</div><div class='dd'>由 京东 发货并提供售后服务。\"+iconDesc+\"</div>\").appendTo(\"#summary-service\");\r\n//\t\t\t\t\t}\r\n//\t\t\t\t\telse if(r.type==2){\r\n//\t\t\t\t\t\t$(\"<div class='dt'>服\\u3000\\u3000务：</div><div class='dd'>由<a href='\"+$.getShopUrl(r)+\"' \"+(pageConfig.product.isFlashPurchase?\"\":\"target='_blank'\")+\" clstag='shangpin|keycount|product|bbtn' class='hl_red'>\"+r.vender+\"</a>\"+dfinfo+\"发货，京东提供售后服务。\"+iconDesc+\"</div>\").appendTo(\"#summary-service\");\r\n//\t\t\t\t\t}\r\n//\t\t\t\t\telse if(r.type==5){\r\n//\t\t\t\t\t\t$(\"<div class='dt'>服\\u3000\\u3000务：</div><div class='dd'>由<a href='\"+$.getShopUrl(r)+\"' \"+(pageConfig.product.isFlashPurchase?\"\":\"target='_blank'\")+\" clstag='shangpin|keycount|product|bbtn' class='hl_red'>\"+r.vender+\"</a>\"+dfinfo+\"发货，\"+shinfo+iconDesc+\"</div>\").appendTo(\"#summary-service\");\r\n//\t\t\t\t\t}\r\n//\t\t\t\t}\r\n//                if(pageConfig.product.yfinfo&&pageConfig.product.yfinfo.service){\r\n//                    $(\"<div class='dt'>\\u3000\\u3000</div><div class='dd'>\"+pageConfig.product.yfinfo.service+\"</div>\").appendTo(\"#summary-service\");\r\n//                }\r\n//                if(r.type!=4){\r\n//                    if($(\"#product-intro .itemover-title button\").length==0&&$(\"#product-intro .itemover-title h3\").length>0)$(\"<button type='button' clstag='shangpin|keycount|product|bbtn'>进入卖家店铺</button>\").appendTo(\"#product-intro .itemover-title h3\");\r\n//                    $(\"#product-intro .itemover-title button\").unbind(\"click\").click(function(){window.location=$.getShopUrl(r);});\r\n//                }   \r\n//                if (changeDescShopUrl){\r\n//                    var shoplinkhtml=\"<a href='\"+$.getShopUrl(r)+\"' target='_blank'>\"+r.vender+\"</a>\";\r\n//                    var descShopLinkDom=$(\"#product-detail-1 .detail-list li\").eq(2);\r\n//                    if (descShopLinkDom.html().indexOf(\"店铺：\")>-1&&(descShopLinkDom.find(\"a\").html()!=r.vender||descShopLinkDom.find(\"a\").attr(\"href\")!=$.getShopUrl(r))){\r\n//                        descShopLinkDom.html(\"店铺：\"+shoplinkhtml);\r\n//                    }\r\n//                }\r\n//        }\r\n//    }\r\n}\r\nvar areaSurportDelive = true;\r\nfunction getStockDescWords(state,isPurchase,skuid,skukey,arrivalDate,isNotice,ext,provinceId,rn,pr){\r\n    if (state == -1){\r\n        areaSurportDelive = false;\r\n        pageConfig.product.havestock = false;\r\n        $('body').addClass('no-stock');\r\n        return \"<strong>该地区暂不支持配送</strong>\";\r\n    }\r\n    var text = \"\";\r\n    var yfInfo = \"\";\r\n    areaSurportDelive = true;\r\n    dCashDescInfo.dCash = false;\r\n    if (skuid<1000000000){\r\n        if((provinceId==26||provinceId==31)&&(state!=0&&state!=34)&&ext&&ext.indexOf(\"PianYuanYunFei\")>-1){\r\n            yfInfo = \"，<span title='钻石级别以上用户不用付运费' style='cursor:pointer'>单件运费：￥10.00</span>\";\r\n            dCashDescInfo.dCash = true;\r\n        }\r\n    }\r\n\tvar promiseresult = null;\r\n\tif (pr&&pr.resultCode==1&&pr.promiseResult){\r\n\t\tpromiseresult = pr.promiseResult;\r\n\t}\r\n    if (state == 33){\r\n        pageConfig.product.havestock = true;\r\n        if (rn&&rn>0){\r\n            text = \"<strong>有货</strong>，仅剩\"+rn+\"件\"+(promiseresult?(\"，\"+promiseresult):\"\")+\"<span></span>\";  \r\n        }\r\n        else{\r\n            text = \"<strong>有货</strong>\"+(promiseresult?(\"，\"+promiseresult):(pageConfig.product.isLOC||(ext&&ext.indexOf(\"YuShou\")>-1||(pageConfig.product.yfinfo&&pageConfig.product.yfinfo.service))?\"\":\"，下单后立即发货\"))+\"<span></span>\";      \r\n        }\r\n    }\r\n    else if (state == 34 || state == 0){\r\n        pageConfig.product.havestock = false;\r\n        $('body').addClass('no-stock');\r\n        text = \"<strong>无货</strong>，此商品暂时售完\"+(isNotice?\"，<a href='#none' id='notify-stock' target='_blank'>到货通知</a>\":\"\");\r\n        if (skuid&&skuid.length == 8 && !isPurchase){\r\n            text = \"<strong>无货</strong>，此商品不再销售，欢迎选购其它商品\";\r\n        }\r\n    }\r\n    else if (state == 39 || state == 40){\r\n        pageConfig.product.havestock = true;\r\n        text = \"<strong>有货</strong>，\"+((promiseresult&&state == 40)?promiseresult:\"下单后2-6天发货\")+\"<span></span>\";\r\n    }\r\n    else if (state == 36){\r\n        pageConfig.product.havestock = true;\r\n        $('body').removeClass('no-stock');\r\n        text = \"<strong>预订</strong>，\"+(arrivalDate?\"预计\"+arrivalDate+\"日后有货，现在可下单\":\"商品到货后发货，现在可下单\")+\"<span></span>\";\r\n    }\r\n    text += yfInfo;\r\n    return text;\r\n}\r\n//NO Stock\r\nvar reCookieName = \"reWidsSORec\";\r\nfunction reClick2(type2, pwid, sku, num) {\r\n    var reWidsClubCookies = eval('(' + getCookie(reCookieName) + ')');\r\n    if (reWidsClubCookies == null || reWidsClubCookies == '') reWidsClubCookies = new Object();\r\n    if (reWidsClubCookies[type2] == null) reWidsClubCookies[type2] = '';\r\n    var pos = reWidsClubCookies[type2].indexOf(sku);\r\n    if (pos < 0) reWidsClubCookies[type2] = reWidsClubCookies[type2] + \",\" + sku;\r\n    if(!!JSON&&JSON.stringify)setNewCookie(reCookieName, JSON.stringify(reWidsClubCookies), 2, \"/\", locPageHost, false);\r\n    sku = sku.split(\"#\");\r\n    if (window.log){log(3, type2, sku[0]);log('RC', 'CK', type2, pwid, sku[0], num);}\r\n}\r\n//Notify\r\nfunction getBuyUrl(skuId){\r\n    var count = $(\"#buy-num\").val();\r\n    if(!count)count=1;\r\n\tif(pageConfig.product.isHYKHSP)return \"http://eve.jd.com/redirect.action?wid=\"+skuId+\"&btype=30\";\r\n\tif(pageConfig.product.isLOC){\r\n\t\treturn \"http://cart.jd.com/cart/dynamic/gateForSubFlow.action?wids=\"+skuId+\"&nums=\"+count+\"&subType=22\";\r\n\t}\r\n    if(eleSkuIdKey) return \"http://gate.jd.com/InitCart.aspx?pid=\"+skuId+\"&pcount=\"+count+\"&ptype=1\";\r\n    if($.pbuyurl)return $.pbuyurl;\r\n    if($.append_button.attr(\"href\")!=\"#none\")return $.append_button.attr(\"href\");\r\n    if (pageConfig.product.cat[2] == 4833) return \"http://chongzhi.jd.com/order/order_place.action?skuId=\" + skuId + \"\";\r\n    if (pageConfig.product.cat[2] == 4835 || pageConfig.product.cat[2] == 4836) return \"http://card.jd.com/order/order_place.action?skuId=\" + skuId + \"\";\r\n    return \"http://gate.jd.com/InitCart.aspx?pid=\"+skuId+\"&pcount=\"+count+\"&ptype=1\";\r\n}\r\nfunction chooseType() {\r\n    var shoppingselect = $('#choose-type .item'),\r\n        amount = $('#choose-amount'),\r\n        buyLink = $('#choose-btn-append .btn-append'),\r\n        selectItem = $('#choose-type .selected').eq(0); \r\n    if ( !selectItem.attr('data') ) {\r\n        return false;\r\n    }       \r\n    if ( shoppingselect.length > 0 ) {\r\n        amount.hide();\r\n    }\r\n    shoppingselect.bind('click', function (i) {\r\n        if ( $('#choose-btn-append').hasClass('disabled') ) {\r\n            return false;\r\n        }\r\n        var data = $(this).attr('data').split('|'),\r\n            link = buyLink.attr( 'href' );\r\n        var newlink = data[1].replace(/wid=\\d{6,}/, 'wid=' + pageConfig.product.skuid );        \r\n        shoppingselect.removeClass('selected');\r\n        $(this).addClass('selected');\r\n        $('#choose .result').html(data[0]);\r\n        amount.addClass(data[2]);\r\n        buyLink.attr('href', newlink);\r\n    });\r\n    if ( selectItem.length > 0 ) {\r\n        var data = selectItem.attr('data').split('|'),\r\n            newlink = data[1].replace(/wid=\\d{6,}/, 'wid=' + pageConfig.product.skuid );\r\n        buyLink.attr('href', newlink);\r\n    }\r\n    if ( shoppingselect.length == 1 && selectItem.length < 1 ) {\r\n        shoppingselect.addClass('selected');\r\n        buyLink.attr( 'href', shoppingselect.attr('data').split('|')[1].replace(/wid=\\d{6,}/, 'wid=' + pageConfig.product.skuid ) );\r\n    }\r\n}\r\nvar choose_btn_gift = null;\r\nfunction setGiftTips (isGift, areaText) {\r\n\tif(checkApecialAttr(\"isSupportCard\")){\r\n\t\tvar tipsEl = $('#summary-tips .dd');\r\n\t\tvar giftTipsEl = $('#gift-tips');\r\n\t\tvar giftTipsHtml = (areaText || '北京地区') + '支持礼品包装' + '<a href=\"http://cart.gift.jd.com/cart/addGiftToCart.action?pid='+pageConfig.product.skuid+'&pcount=1&ptype=1\" target=\"_blank\">&nbsp;&nbsp;详情 <s class=\"s-arrow\">&gt;&gt;</s></a>';\r\n\t\tif (isGift) {\r\n\t\t\tif (giftTipsEl.length > 0) {\r\n\t\t\t\tgiftTipsEl.html(giftTipsHtml);\r\n\t\t\t} else {\r\n\t\t\t\ttipsEl.html('<div id=\"gift-tips\" class=\"hl_red\">'+ giftTipsHtml +'</div>'); \r\n\t\t\t}\r\n\r\n\t\t\ttipsEl.parent().show();\r\n\t\t} else {\r\n\t\t\tgiftTipsEl.remove();\r\n\t\t}\r\n\t}\r\n}\r\nfunction SetNotifyByNoneStock(stockstatus,ext) {\r\n//    if (!choose_btn_gift||choose_btn_gift.length==0){\r\n//        choose_btn_gift = $(\"#choose-btn-gift .btn-gift\");\r\n//    }\r\n//\tpageConfig.product.YuShou=false;\r\n//\tif(pageConfig.product.isLOC){\r\n//\t\t$.append_button.addClass(\" btn-append-buynow\").html(\"立即购买<b></b>\");\r\n//\t\t$(\".nav-minicart-btn\").addClass(\" nav-minicart-buynow\").find(\"a\").html(\"立即购买\");\r\n//\t}//\r\n//    if (stockstatus!=34&&stockstatus!=0&&warestatus==1&&pageConfig.product.skuid!=938747&&pageConfig.product.skuid!=938749){\r\n//        if(pageConfig&&pageConfig.product)pageConfig.product.isStock=true;\r\n//        $(\"#choose-btn-append,#choose-btn-gift\").removeClass(\"disabled\");\r\n//        if(choose_btn_gift.attr(\"href\")==\"#none\"&&choose_btn_gift.attr(\"href1\"))choose_btn_gift.attr(\"href\",choose_btn_gift.attr(\"href1\"));\r\n//        if($(\"#choose-btn-subsidy .btn-subsidies\").length>0){$(\"#choose-btn-append\").addClass(\"choose-btn-append-lite\");}\r\n//        $(\"#product-intro\").attr(\"class\",\"\");\r\n//        $('#out-of-stock,#noitem-related-list').remove();\r\n//        if($(\"#choose-noresult\").length>0){$(\"#choose-noresult\").remove();}\r\n//        $.easybuy_button.show();\r\n//        $.divide_button.show();\r\n//        if(pageConfig.product.skuid<1000000000){$.notice_button.hide()}\r\n//        if($.append_button.length>0){\r\n//            if( $('#choose-type .item').length>0){      \r\n//                chooseType();\r\n//                $.append_button.attr(\"onclick\",\"\").attr(\"title\",\"\").unbind(\"click\").click(function() {  mark(pageConfig.product.skuid, 2) }); //购物车 \r\n//\t\t\t\tif(pageConfig.product.isLOC){\r\n//\t\t\t\t\t$(\"#choose-btn-append .btn-append,.nav-minicart-btn\").attr(\"href\",\"#none\");\r\n//\t\t\t\t}\r\n//            }\r\n//            else{\r\n//\t\t\t\tif(pageConfig.product.isLOC){\r\n//\t\t\t\t\t$(\"#choose-btn-append .btn-append,.nav-minicart-btn\").attr(\"href\",\"#none\").attr(\"title\",\"\");\r\n//\t\t\t\t}\r\n//\t\t\t\telse{\r\n//\t\t\t\t\t$.append_button.attr(\"href\",getBuyUrl(pageConfig.product.skuid)).attr(\"onclick\",\"\").attr(\"title\",\"\").unbind(\"click\").click(function() { /*BuyUrl(pageConfig.product.skuid);*/ mark(pageConfig.product.skuid, 2) }); //购物车\r\n//\t\t\t\t}\r\n//            }\r\n//        }\r\n//        if($(\".nav-minicart-btn\").length>0)$(\".nav-minicart-btn\").show(); //mini购物车\r\n//        $(\"#choose-btn-subsidy\").show();\r\n//        if ((ext&&ext.indexOf(\"YuShou\")>-1)||checkApecialAttr(\"isKO\")){\r\n//\t\t\tpageConfig.product.YuShou=true;\r\n//            if(!window.Qiang){\r\n//                //$.ajax({url:\"http://misc.360buyimg.com/product/js/2012/qiang.js?t=20140527\",dataType:'script',cache:true});\r\n//            }\r\n//            else{\r\n//                if ( Qiang&&Qiang.init ) {\r\n//                        Qiang.init(G.sku, G.key);\r\n//                    }\r\n//            }\r\n//            //if($(\"#choose-type .selected\").attr(\"data-id\")==\"100\")\r\n//            if(pageConfig.product.cat[2] !== 655 || $(\"#choose-type .selected\").attr(\"data-id\")==\"100\") {\r\n//                $.append_button.hide();\r\n//                $.easybuy_button.hide();\r\n//                $.divide_button.hide();\r\n//            }\r\n//        }\r\n//\t\telse if(ext&&ext.indexOf(\"is3GRealName\")>-1){\r\n//\t\t\tvar newUrl = \"http://eve.jd.com/redirect.action?wid=\"+pageConfig.product.skuid+\"&btype=16&pid=\"+currentAreaInfo.currentProvinceId+\"&cid=\"+currentAreaInfo.currentCityId;\r\n//            $.append_button.attr(\"href\",newUrl).attr(\"onclick\",\"\").attr(\"title\",\"\").unbind(\"click\").click(function() { mark(pageConfig.product.skuid, 2) }); //购物车\r\n//\t\t}\r\n//\t\tif(pageConfig.product.isLOC){\r\n//\t\t\t$.append_button.addClass(\" btn-append-buynow\").html(\"立即购买<b></b>\");\r\n//\t\t\t$(\".nav-minicart-btn\").addClass(\" nav-minicart-buynow\").find(\"a\").html(\"立即购买\");\r\n//\t\t\t$(\"#choose-btn-append .btn-append,.nav-minicart-btn\").click(function(){\r\n//\t\t\t\t$.extend(jdModelCallCenter.settings, {\r\n//\t\t\t\t\tclstag1: 0,\r\n//\t\t\t\t\tclstag2: 0,\r\n//\t\t\t\t\tid: pageConfig.product.skuid,\r\n//\t\t\t\t\tfn: function () {\r\n//\t\t\t\t\t\t$.login({\r\n//\t\t\t\t\t\t\tmodal: true,\r\n//\t\t\t\t\t\t\tcomplete: function (result) {\r\n//\t\t\t\t\t\t\t\tif (result != null && result.IsAuthenticated != null && result.IsAuthenticated) {\t\t\t\t\t\t\t\t\r\n//\t\t\t\t\t\t\t\t\twindow.location=getBuyUrl(pageConfig.product.skuid);\r\n//\t\t\t\t\t\t\t\t}\r\n//\t\t\t\t\t\t\t}\r\n//\t\t\t\t\t\t})\r\n//\t\t\t\t\t}\r\n//\t\t\t\t});\r\n//\t\t\t\tjdModelCallCenter.settings.fn();\r\n//\t\t\t});\r\n//\t\t}//\r\n//\t\tif(pageConfig.product.isClosePCShow){\r\n//\t\t\t$(\"#choose-btn-append,#choose-btn-gift\").addClass(\"disabled\").removeClass('choose-btn-append-lite');\r\n//\t\t\tif($.append_button.length>0){$.append_button.attr(\"href\",\"#none\").attr(\"onclick\",\"\").attr(\"title\",\"\").unbind(\"click\"); }//购物车\r\n//\t\t}\r\n//        if(window.noItemOver)noItemOver.init();\r\n//        return;\r\n//    }\r\n//    if(pageConfig&&pageConfig.product)pageConfig.product.isStock=false;\r\n//    $(\"#choose-btn-append,#choose-btn-gift\").addClass(\"disabled\").removeClass('choose-btn-append-lite');\r\n//    if(choose_btn_gift.attr(\"href\"))choose_btn_gift.attr(\"href1\",choose_btn_gift.attr(\"href\")).attr(\"href\",\"#none\");\r\n//    $(\"#product-intro\").attr(\"class\",\"product-intro-noitem\");\r\n//    if($(\"#choose-noresult\").length==0&&areaSurportDelive&&pageConfig.product.skuid!=938747&&pageConfig.product.skuid!=938749){$(\"<li id='choose-noresult'><div class='dd'><strong>所选地区该商品暂时无货，非常抱歉！</strong></div></li>\").insertAfter(\"#choose-result\");}\r\n//    else if(!areaSurportDelive){$(\"#choose-noresult\").remove();}\r\n//    $.easybuy_button.hide();\r\n//    $.divide_button.hide();\r\n//    if($.append_button.length>0){$.append_button.show();if($.append_button.attr(\"href\")!=\"#none\"){$.pbuyurl=$.append_button.attr(\"href\")}$.append_button.attr(\"href\",\"#none\").attr(\"onclick\",\"\").attr(\"title\",\"商品已无货\").unbind(\"click\"); }//购物车\r\n//    if($(\".nav-minicart-btn\").length>0)$(\".nav-minicart-btn\").hide(); //mini购物车\r\n//    $(\"#choose-btn-subsidy\").hide();\r\n//    if($.notice_button.length==0&&pageConfig.product.skuid<1000000000&&areaSurportDelive&&pageConfig.product.skuid!=938747&&pageConfig.product.skuid!=938749){\r\n//        $(\"<div id='choose-btn-notice' class='btn'><a id='notify-btn' class='btn-notice' href='http://notify.home.jd.com/email.action?type=2&id=\" + pageConfig.product.skuid + \"&key=\" + pageConfig.product.skuidkey + \"' target='_blank'>到货通知<b></b></a></div>\").insertAfter(\"#choose-btn-append\");\r\n//        $.notice_button=$(\"#choose-btn-notice\");\r\n//    }\r\n//    if(pageConfig.product.isNotice){$.notice_button.show()}else{$.notice_button.hide()}\r\n//    if ((ext&&ext.indexOf(\"YuShou\")>-1)||checkApecialAttr(\"isKO\")){\r\n//\t\tpageConfig.product.YuShou=true;\r\n//        if(!window.Qiang){\r\n//            $.ajax({url:\"http://misc.360buyimg.com/product/js/2012/qiang.js?t=20140527\",dataType:'script',cache:true}); \r\n//        }\r\n//        else{\r\n//            if ( Qiang&&Qiang.init ) {\r\n//                    Qiang.clear();\r\n//                    Qiang.init(G.sku, G.key);\r\n//                }\r\n//        } \r\n//        //if($(\"#choose-type .selected\").attr(\"data-id\")==\"100\")\r\n//        if(pageConfig.product.cat[2] !== 655 || $(\"#choose-type .selected\").attr(\"data-id\")==\"100\") {\r\n//            $.append_button.hide();\r\n//            $.easybuy_button.hide();\r\n//            $.divide_button.hide();\r\n//        }\r\n//    }\r\n//    if(window.noItemOver)noItemOver.init(pageConfig.product.type);\r\n};\r\n//stock callback\r\nvar currentVenderInfoJson = null;\r\nfunction cleanKuohao(str){\r\n    if(str&&str.indexOf(\"(\")>0){\r\n        str = str.substring(0,str.indexOf(\"(\"));\r\n    }\r\n    if(str&&str.indexOf(\"（\")>0){\r\n        str = str.substring(0,str.indexOf(\"（\"));\r\n    }\r\n    return str;\r\n}\r\npageConfig.product.giftTipsPros={\"1\":\"北京\",\"3\":\"天津\",\"5\":\"河北\",\"6\":\"山西\",\"13\":\"山东\",\"19\":\"广东\",\"16\":\"福建\",\"20\":\"广西\",\"22\":\"四川\",\"4\":\"重庆\",\"24\":\"贵州\",\"25\":\"云南\",\"26\":\"西藏\",\"23\":\"海南\",\"7\":\"河南\",\"17\":\"湖北\",\"18\":\"湖南\",\"21\":\"江西\",\"8\":\"辽宁\",\"10\":\"黑龙江\",\"9\":\"吉林\",\"11\":\"内蒙古\",\"27\":\"陕西\",\"28\":\"甘肃\",\"29\":\"青海\",\"30\":\"宁夏\",\"31\":\"新疆\",\"12\":\"江苏\",\"15\":\"浙江\",\"14\":\"安徽\",\"2\":\"上海\"};\r\npageConfig.product.isNotice = pageConfig.product.cat[2]!=12360 && pageConfig.product.skuid<1000000000;\r\nfunction setOldForNew(proId,cityId){\r\n\tvar area = {\"1\":\"北京\",\"2\":\"上海\",\"1601\":\"广州\"};//&&(area[proId+\"\"]||area[cityId+\"\"])\r\n\tvar summary_tips=$(\"#summary-tips\");\r\n\tif (pageConfig.product.cat[2]==655){\r\n\t\tif ($(\"#oldfornew-tips\").length==0){\r\n\t\t\tsummary_tips.find(\".dd\").append(\"<div id=\\\"oldfornew-tips\\\" class=\\\"hl_red\\\">以旧换新，最高抵扣3000元<a target=\\\"_blank\\\" href=\\\"http://huishou.jd.com\\\" clstag=\\\"shangpin|keycount|product|huishou\\\">&nbsp;&nbsp;详情<s class=\\\"s-arrow\\\">>></s></a></div>\");\r\n\t\t}else{\r\n\t\t\t$(\"#oldfornew-tips\").show();\r\n\t\t}\r\n\t\tsummary_tips.show();\r\n\t}\r\n\telse{\r\n\t\t$(\"#oldfornew-tips\").hide();\r\n\t}\r\n}\r\nfunction getProvinceStockCallback(result,choosetype) {\r\n    var setSer = false;\r\n    if (currentPageLoad.notSet&&currentPageLoad.isLoad){\r\n        setSer = false;\r\n    }\r\n    else if (!currentPageLoad.isLoad){\r\n        setSer = true;\r\n\t\tsetCommonCookies(currentAreaInfo.currentProvinceId,currentLocation,currentAreaInfo.currentCityId,currentAreaInfo.currentAreaId,currentAreaInfo.currentTownId,setSer);\r\n    }\r\n    if ( typeof Refresh !== 'undefined' ) {Refresh.init()} \r\n    //变换sku需要变化广告词及相关信息\r\n    if (pageConfig.product.isChangeSku){\r\n\t\tif(pageConfig.product.skuid<=0)pageConfig.product.isNotice=false;\r\n        refreshPageInfos();\r\n    }\r\n    if (currentPageLoad.isLoad){\r\n        currentPageLoad.isLoad=false;\r\n    }\r\n    pageConfig.product.havestock = true;\r\n    $('body').removeClass('no-stock');\r\n    var stockdesc=\"<strong>现货</strong>\";\r\n    if (result.stock) {     \r\n        if(result.stock.D&&result.stock.D.id){\r\n            pageConfig.product.popInfo = result;\r\n        }\r\n        stockdesc = (result.stock.StockStateName==\"统计中\"|| result.stock.StockStateName==\"无货\")?\"<strong class='store-over'>无货</strong>\":(\"<strong>\"+result.stock.StockStateName+\"</strong>\");\r\n        var address = currentAreaInfo.currentProvinceName+currentAreaInfo.currentCityName+currentAreaInfo.currentAreaName+currentAreaInfo.currentTownName;\r\n        $(\"#store-selector .text div\").html(currentAreaInfo.currentProvinceName+cleanKuohao(currentAreaInfo.currentCityName)+cleanKuohao(currentAreaInfo.currentAreaName)+cleanKuohao(currentAreaInfo.currentTownName)).attr(\"title\",address);\r\n        pageConfig.product.yfinfo={};\r\n        if(result.stock.D&&result.stock.D.prompt){\r\n            var proarray=result.stock.D.prompt.split(\"|\");\r\n            if (proarray[0]&&new Number(proarray[0])>0){\r\n                pageConfig.product.yfinfo={nofree:true,cash:proarray[0]};\r\n            }\r\n            if(proarray[1]){\r\n                pageConfig.product.yfinfo.service=proarray[1];\r\n            }\r\n        }\r\n        $(\"#store-prompt\").html(getStockDescWords(result.stock.code==2?-1:result.stock.StockState,true,pageConfig.product.skuid,pageConfig.product.skuidkey,result.stock.ArrivalDate,pageConfig.product.isNotice,result.stock.Ext,currentAreaInfo.currentProvinceId,result.stock.rn,result.stock.pr)\r\n            +(pageConfig.product.yfinfo.nofree?\"，<span style='cursor:pointer' title='一个店铺购买多件商品，只收取一次运费'>运费：<span style='color:#f00;'>￥\"+pageConfig.product.yfinfo.cash+\"</span><span>\":\"\"));\r\n        $.getDeliver(result.stock);\r\n\t\tif(!choosetype){\r\n\t\t\tif ( typeof pageConfig.product.onAreaChange === 'function' ) {\r\n\t\t\t\tpageConfig.product.onAreaChange(currentAreaInfo.currentProvinceId,currentAreaInfo.currentCityId);\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tpageConfig.product.onAreaChangeExecute = true;\r\n\t\t\t}\r\n\t\t}\r\n        SetNotifyByNoneStock(result.stock.StockState,result.stock.Ext);\r\n\t\tif(useEasyBuy)newEasyBuyInit();\r\n\t\tif(!choosetype){\r\n\t\t\tsetGiftTips(pageConfig.product.giftTipsPros[currentAreaInfo.currentProvinceId+\"\"],pageConfig.product.giftTipsPros[currentAreaInfo.currentProvinceId+\"\"]+\"地区\");\r\n\t\t\tsetOldForNew(currentAreaInfo.currentProvinceId,currentAreaInfo.currentCityId);\r\n\t\t}\r\n    }\r\n    if (pageConfig.product.skuid>1000000000){\r\n            if(!$._ptload){\r\n                $._ptload=true;\r\n                window._showPopTemplete=function(r){\r\n                    if(result.stock.StockState==36){\r\n                        if(r&&r.reserveDeliveryDay){\r\n                            $._ptloadcon=r.reserveDeliveryDay;\r\n                            $(\"#store-prompt\").html(stockdesc+\"，\"+\"此商品为预订商品，下单后在\"+$._ptloadcon);\r\n                        }\r\n                    }\r\n                    if(r&&r.wareTemplateContent)$(\"<div>\"+r.wareTemplateContent+\"</div>\").insertBefore(\"#product-detail-1 .detail-content:first\");\r\n                    if(r&&r.wareTemplateBottomContent)$(\"<div>\"+r.wareTemplateBottomContent+\"</div>\").insertAfter(\"#product-detail-1 .detail-content:last\");\r\n                };\r\n                $.getJSONP(rmsurl+\"/json/wareTemplate/queryWareTemplateContent.action?skuId=\"+pageConfig.product.skuid+\"&jsoncallback=_showPopTemplete\",_showPopTemplete);\r\n            }else{\r\n                if($._ptloadcon)$(\"#store-prompt\").html(stockdesc+\"，\"+\"此商品为预订商品，下单后在\"+$._ptloadcon);\r\n            }\r\n    }\r\n}\r\n/**\r\n新地址列表数据及时间绑定\r\n**/\r\nfunction getAreaList(result,idName,level){\r\n    if (idName && level){\r\n        $(\"#\"+idName).html(\"\");\r\n        var html = [\"<ul class='area-list'>\"];\r\n        var longhtml = [];\r\n        var longerhtml = [];\r\n        if (result&&result.length > 0){\r\n            for (var i=0,j=result.length;i<j ;i++ ){\r\n                result[i].name = result[i].name.replace(\" \",\"\");\r\n                if(result[i].name.length > 12){\r\n                    longerhtml.push(\"<li class='longer-area'><a href='#none' data-value='\"+result[i].id+\"'>\"+result[i].name+\"</a></li>\");\r\n                }\r\n                else if(result[i].name.length > 5){\r\n                    longhtml.push(\"<li class='long-area'><a href='#none' data-value='\"+result[i].id+\"'>\"+result[i].name+\"</a></li>\");\r\n                }\r\n                else{\r\n                    html.push(\"<li><a href='#none' data-value='\"+result[i].id+\"'>\"+result[i].name+\"</a></li>\");\r\n                }\r\n            }\r\n        }\r\n        else{\r\n            html.push(\"<li><a href='#none' data-value='\"+currentAreaInfo.currentFid+\"'> </a></li>\");\r\n        }\r\n        html.push(longhtml.join(\"\"));\r\n        html.push(longerhtml.join(\"\"));\r\n        html.push(\"</ul>\");\r\n        $(\"#\"+idName).html(html.join(\"\"));\r\n        $(\"#\"+idName).find(\"a\").click(function(){\r\n            resetBindMouseEvent();\r\n            var areaId = $(this).attr(\"data-value\");\r\n            var areaName = $(this).html();\r\n            var level = $(this).parent().parent().parent().attr(\"data-area\");\r\n            JdStockTabs.eq(level).find(\"a\").attr(\"title\",areaName).find(\"em\").html(areaName.length>6?areaName.substring(0,6):areaName);\r\n            level = new Number(level)+1;\r\n            if (level==\"2\"){\r\n                currentAreaInfo.currentCityId = areaId;\r\n                currentAreaInfo.currentCityName = areaName;\r\n                currentAreaInfo.currentAreaId = 0;\r\n                currentAreaInfo.currentAreaName = \"\";\r\n                currentAreaInfo.currentTownId = 0;\r\n                currentAreaInfo.currentTownName = \"\";\r\n            }\r\n            else if (level==\"3\"){\r\n                if (requestLevel == 4 && currentAreaInfo.currentAreaId != areaId){\r\n                    requestLevel = 3;\r\n                }\r\n                currentAreaInfo.currentAreaId = areaId;\r\n                currentAreaInfo.currentAreaName = areaName;\r\n                currentAreaInfo.currentTownId = 0;\r\n                currentAreaInfo.currentTownName = \"\";\r\n            }\r\n            else if (level==\"4\"){\r\n                currentAreaInfo.currentTownId = areaId;\r\n                currentAreaInfo.currentTownName = areaName;\r\n            }\r\n            currentLocation = currentAreaInfo.currentProvinceName;\r\n            GetStockInfoOrNextAreas(pageConfig.product.skuidkey,currentAreaInfo.currentProvinceId,currentAreaInfo.currentCityId,currentAreaInfo.currentAreaId,currentAreaInfo.currentTownId,pageConfig.product.cat[2],level);\r\n        });\r\n        //页面初次加载\r\n        if (currentPageLoad.isLoad){\r\n            var tempDom = $(\"#\"+idName+\" a[data-value='\"+currentPageLoad.areaCookie[level-1]+\"']\");\r\n            if (tempDom.length == 0){\r\n                tempDom = $(\"#\"+idName+\" a\").eq(0);\r\n            }\r\n            if(currentPageLoad.areaCookie&&currentPageLoad.areaCookie[level-1]&&currentPageLoad.areaCookie[level-1]>0&&tempDom.length>0){\r\n                //本地cookie有该级地区ID\r\n                tempDom.click();\r\n            }\r\n            else{\r\n                $(\"#\"+idName+\" a:first\").click();\r\n            }\r\n        }\r\n    }\r\n}\r\n/**\r\n下级地址回调方法\r\n**/\r\nfunction getAreaListcallback(result){\r\n    var level = currentAreaInfo.currentLevel;\r\n    getAreaList(result,getIdNameByLevel(level),level);\r\n}\r\n/**\r\n根据父地址及地址等级获取下级地址列表\r\n**/\r\nfunction getChildAreaHtml(fid,level){\r\n    var idName = getIdNameByLevel(level);\r\n    if (idName){\r\n        $(\"#stock_province_item,#stock_city_item,#stock_area_item,#stock_town_item\").hide();\r\n        $(\"#\"+idName).show().html(\"<div class='iloading'>正在加载中，请稍候...</div>\");\r\n        JdStockTabs.show().removeClass(\"curr\").eq(level-1).addClass(\"curr\").find(\"em\").html(\"请选择\");\r\n        for (var i=level,j=JdStockTabs.length;i<j ;i++ ){\r\n            JdStockTabs.eq(i).hide();\r\n        }\r\n        currentAreaInfo.currentLevel = level;\r\n        if(level == 2 && provinceCityJson[fid+\"\"]){\r\n            getAreaListcallback(provinceCityJson[fid+\"\"]);\r\n        }\r\n        else{\r\n            currentAreaInfo.currentFid = fid;\r\n            $.getJSONP(\"http://d.360buy.com/area/get?fid=\"+fid+\"&callback=getAreaListcallback\");\r\n        }\r\n    }\r\n}\r\nfunction getIdNameByLevel(level){\r\n    var idName = \"\";\r\n    if (level == 1){\r\n        idName = \"stock_province_item\";\r\n    }\r\n    else if (level == 2){\r\n        idName = \"stock_city_item\";\r\n    }\r\n    else if (level == 3){\r\n        idName = \"stock_area_item\";\r\n    }\r\n    else if (level == 4){\r\n        idName = \"stock_town_item\";\r\n    }\r\n    return idName;\r\n}\r\n//需要的地址层级\r\nvar requestLevel = 1;\r\n//是否分区商品\r\nvar isAreaProduct = false;\r\nif(!eleRegion) var eleRegion=null;\r\nif(!eleSkuIdKey) var eleSkuIdKey=null;\r\nfunction initrequestLevel(){\r\n    requestLevel = 3;\r\n    isAreaProduct = false;\r\n    if(eleSkuIdKey){\r\n        requestLevel = 3;\r\n        isAreaProduct = true;\r\n    }\r\n}\r\n//当前地域信息\r\nvar currentAreaInfo;\r\n//初始化当前地域信息\r\nfunction CurrentAreaInfoInit(){\r\n    currentAreaInfo =  {\"currentLevel\": 1,\"currentProvinceId\": 1,\"currentProvinceName\":\"北京\",\"currentCityId\": 0,\"currentCityName\":\"\",\"currentAreaId\": 0,\"currentAreaName\":\"\",\"currentTownId\":0,\"currentTownName\":\"\"};\r\n}\r\n//回调方法\r\nfunction getStockCallback_new(result,choosetype){\r\n    if (result.stock&&(result.stock.code==3||result.stock.code==4)&&result.stock.level>1){\r\n        //需要进一步计算，且需要地区层级大于1\r\n        requestLevel = result.stock.level;\r\n        if (currentAreaInfo.currentRequestLevel<result.stock.level){\r\n            GetStockInfoOrNextAreas(pageConfig.product.skuidkey,currentAreaInfo.currentProvinceId,currentAreaInfo.currentCityId,currentAreaInfo.currentAreaId,currentAreaInfo.currentTownId,pageConfig .product.cat[2],currentAreaInfo.currentRequestLevel);\r\n        }\r\n    }\r\n    else{\r\n        reBindStockEvent();\r\n        for (var i=currentAreaInfo.currentRequestLevel,j=JdStockTabs.length;i<j;i++){\r\n            JdStockTabs.eq(i).hide();\r\n            JdStockContents.eq(i).hide();\r\n        }\r\n        getProvinceStockCallback(result,choosetype);\r\n    }\r\n}\r\nfunction getStockCallback(result){\r\n\tgetStockCallback_new(result,false);\r\n}\r\nfunction getStockCallback1(result){\r\n\tgetStockCallback_new(result,true);\r\n}\r\n//自营免运费\r\nfunction aboutSelfDeliveCash(type,flag){\r\n    if((pageConfig.product.skuid+\"\").length<10||flag){\r\n        if(dCashDescInfo.loadPriceCnt==dCashDescInfo.loadStockCnt&&dCashDescInfo.bigger39&&!dCashDescInfo.dCash){\r\n            if(type == 1){ //stock\r\n                return '<a href=\"http://help.jd.com/help/question-892.html#help2215\" target=\"_blank\" class=\"free_delivery\" title=\"了解配送费收取标准\"></a>';\r\n            }\r\n            else if (type == 2){ //price\r\n                if($(\"#promise-ico\").length>0){\r\n                    if($(\"#promise-ico .free_delivery\").length==0){\r\n                        $('<a href=\"http://help.jd.com/help/question-892.html#help2215\" target=\"_blank\" class=\"free_delivery\" title=\"了解配送费收取标准\"></a>').appendTo(\"#promise-ico\");\r\n                    }\r\n                }\r\n                else{\r\n                    $('<span id=\"promise-ico\">支持：<a href=\"http://help.jd.com/help/question-892.html#help2215\" target=\"_blank\" class=\"free_delivery\" title=\"了解配送费收取标准\"></a></span>').appendTo(\"#summary-service .dd\");\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\nfunction easybuysubmit(r){\r\n\tif(r&&r.success&&r.jumpUrl){\r\n\t\t window.location=r.jumpUrl;\r\n\t}\r\n\telse if(r&&!r.success&&r.message){\r\n\t\t$.jdThickBox({\r\n\t\t\twidth: 400,\r\n\t\t\theight: 200,\r\n\t\t\ttitle: '提示',\r\n\t\t\tsource: '<div style=\"padding:10px\"><img class=\"fl\" style=\"margin-right:10px;\" src=\"http://misc.360buyimg.com/jd2008/skin/df/i/remind.png\" /><span style=\"font:bold 16px arial;color:#005ea8\">'+r.message+'</span></div>'\r\n\t\t});\r\n\t\t$(\"#btn-easybuy-submit\").show();\r\n\t\t$(\"#btn-easybuy-submit-ing\").hide();\r\n\t}\r\n}\r\nvar checkLogin = function(cb) {\r\n\tif ( typeof cb !== 'function' ) { return; }\r\n\t$.getJSON('http://passport.jd.com/loginservice.aspx?method=Login&callback=?', function(r) {\r\n\t\tif ( r.Identity ) {\r\n\t\t\tcb(r.Identity);\r\n\t\t}\r\n\t});\r\n};\r\n\r\nfunction newEasyBuyInit(){\r\n\tif(dCashDescInfo.loadPriceCnt==dCashDescInfo.loadStockCnt){\r\n\t\tif(itemEasyBuy.bigger10&&pageConfig.product.isStock&&!pageConfig.product.YuShou\r\n\t\t\t&&pageConfig.product.cat[1]!=794&&pageConfig.product.cat[1]!=6880&&pageConfig.product.cat[1]!=703&&pageConfig.product.cat[0]!=4938&&pageConfig.product.cat[2]!=6980&&!pageConfig.product.isHeyue&&!pageConfig.product.isLOC&&!pageConfig.product.isXnzt&&!pageConfig.product.isLSP){\r\n\t\t\tcheckLogin(function(r) { \r\n\t\t\t\tif(r&&r.IsAuthenticated){\r\n\t\t\t\t\t$.easybuy_button.html(\"<a id='btn-easybuy-submit' class='btn-easybuy' href='#none'>轻松购<b></b></a>\");\r\n\t\t\t\t\t$(\"#btn-easybuy-submit\").click(function () {\r\n\t\t\t\t\t\t$(\"#btn-easybuy-submit\").hide().after(\"<a id='btn-easybuy-submit-ing' class='btn-easybuy css3-btn-gray' href='#none'>提交中<b></b></a>\");\r\n\t\t\t\t\t\t$.extend(jdModelCallCenter.settings, {\r\n\t\t\t\t\t\t\tclstag1: 0,\r\n\t\t\t\t\t\t\tclstag2: 0,\r\n\t\t\t\t\t\t\tid: pageConfig.product.skuid,\r\n\t\t\t\t\t\t\tfn: function () {\r\n\t\t\t\t\t\t\t\t$.login({\r\n\t\t\t\t\t\t\t\t\tmodal: true,\r\n\t\t\t\t\t\t\t\t\tcomplete: function (result) {\r\n\t\t\t\t\t\t\t\t\t\tif (result != null && result.IsAuthenticated != null && result.IsAuthenticated) {\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t$.getJSONP(\"http://easybuy.jd.com/skuDetail/submitEasybuyOrder.action?callback=easybuysubmit&skuId=\"+pageConfig.product.skuid+\"&num=\"+$(\"#buy-num\").val());\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\t\t\t$(\"#btn-easybuy-submit\").show();\r\n\t\t\t\t\t\t\t\t\t\t\t$(\"#btn-easybuy-submit-ing\").hide();\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tjdModelCallCenter.settings.fn();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\t$(\"#btn-easybuy-submit\").remove();\r\n\t\t\t\t\t$(\"#btn-easybuy-submit-ing\").remove();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\telse{\r\n\t\t\t$.easybuy_button.html(\"\");\r\n\t\t}\r\n\t}\r\n}\r\nvar dCashDescInfo={loadPriceCnt:0,loadStockCnt:0,bigger39:true,dCash:false};\r\nvar itemEasyBuy={bigger10:true};\r\n//设置sku价格\r\nfunction cnp(r){\r\n    var price = \"\";\r\n    dCashDescInfo.loadPriceCnt ++;\r\n    if (r&&r.length>0){\r\n        if (new Number(r[0].p)>0){  \r\n            price = \"￥\"+r[0].p;\r\n            pageConfig.product.jp = r[0].p;\r\n            pageConfig.product.mp = r[0].m;\r\n            if(new Number(r[0].p)<39){\r\n                dCashDescInfo.bigger39 = false;\r\n            }else{\r\n                dCashDescInfo.bigger39 = true;\r\n\t\t\t}\r\n            if(new Number(r[0].p)<10){\r\n                itemEasyBuy.bigger10 = false;\r\n            }else{\r\n                itemEasyBuy.bigger10 = true;\r\n\t\t\t}\r\n            //aboutSelfDeliveCash(2);\r\n\t\t\tif(useEasyBuy)newEasyBuyInit();\r\n        }\r\n    }\r\n    if (!price){\r\n        price = \"暂无报价\";\r\n    }\r\n    $(\"#summary-price .p-price,#mini-jd-price\").html(price);\r\n\tif(new Number(r[0].m)>0){\r\n\t\t$(\"#summary-market\").show();\r\n\t\t$(\"#page_maprice\").html(\"￥\"+r[0].m);\r\n\t}else{\r\n\t\t$(\"#summary-market\").hide();\r\n\t}\r\n    try{\r\n        if(new Number(r[0].p)>0&&new Number(r[0].m)>0){\r\n            var n = new Number(r[0].p)/new Number(r[0].m);\r\n            n = new Number(n).toFixed(2)<n?parseInt(n*100)+1:parseInt(n*100);\r\n            n = new Number(n/10).toFixed(1);\r\n\t\t\tif(pageConfig.product.isFlashPurchase||((pageConfig.product.skuid+\"\").length==10&&(pageConfig.product.cat[0]== 1713||pageConfig.product.cat[0]==4051||pageConfig.product.cat[0]==4052||pageConfig.product.cat[0]==4053))){\r\n\t\t\t\t$(\"#red-zhekou\").html(n+\"折\");\r\n\t\t\t}\r\n        }\r\n    }catch(e){}\r\n}\r\nfunction setPriceData(skuid,area) {\r\n    //$.getJSONP(\"http://p.3.cn/prices/get?skuid=J_\"+skuid+\"&type=1\"+(area?\"&area=\"+area:\"\")+\"&callback=cnp\");\r\n}\r\nfunction getAreaSkuState(skuid){\r\n    if(!eleSkuIdKey) return warestatus;\r\n    for (var i=0,j=eleSkuIdKey.length;i<j;i++){\r\n        if (eleSkuIdKey[i].SkuId == skuid && eleSkuIdKey[i].state != undefined){\r\n            return eleSkuIdKey[i].state;\r\n        }\r\n    }\r\n    return 1;\r\n}\r\n//根据地区变换sku及相应信息\r\nfunction getSkuId_new(cid,aid){\r\n    if(eleSkuIdKey&&eleSkuIdKey.length>0){\r\n        var areas = null;\r\n        for (var i=0,j=eleSkuIdKey.length;i<j ;i++ ){\r\n            if(eleSkuIdKey[i].area&&eleSkuIdKey[i].area[cid+\"\"]){\r\n                areas = eleSkuIdKey[i].area[cid+\"\"];\r\n                if (areas.length==0||areas[0]+\"\"==\"0\"){\r\n                    return eleSkuIdKey[i].SkuId;\r\n                }\r\n                else if (areas.length>0){\r\n                    for(var a=0,b=areas.length;a<b;a++){\r\n                        if(areas[a]+\"\"==aid+\"\"){\r\n                            return eleSkuIdKey[i].SkuId;\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n    return 0;\r\n}\r\nfunction getCurrentSkuId(provinceId,cityId,areaId){\r\n    var currentSkuId = pageConfig.product.skuid;\r\n    if (isAreaProduct && provinceId > 0 && cityId > 0 && areaId > 0){\r\n        currentSkuId = 0;\r\n        if(eleRegion){\r\n            var provinceCitys = eleRegion[provinceId+\"\"];\r\n            if (provinceCitys && provinceCitys.citys && provinceCitys.citys.length>0){\r\n                for (var i=0,j=provinceCitys.citys.length; i<j; i++){\r\n                    if (provinceCitys.citys[i].IdCity == cityId){\r\n                        currentSkuId = provinceCitys.citys[i].SkuId;\r\n                        break;\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        else{\r\n            currentSkuId = getSkuId_new(cityId,areaId);\r\n        }\r\n    }\r\n    return currentSkuId;\r\n}\r\nfunction chooseSkuToArea(provinceId,cityId,areaId){\r\n    var currentSkuId = pageConfig.product.skuid;\r\n    var currentSkuKey = pageConfig.product.skuidkey;\r\n    if (isAreaProduct && provinceId > 0 && cityId > 0 && areaId > 0){\r\n        currentSkuId = 0;\r\n        currentSkuKey = \"\";\r\n        if(eleRegion){\r\n            var provinceCitys = eleRegion[provinceId+\"\"];\r\n            if (provinceCitys && provinceCitys.citys && provinceCitys.citys.length>0){\r\n                for (var i=0,j=provinceCitys.citys.length; i<j; i++){\r\n                    if (provinceCitys.citys[i].IdCity == cityId){\r\n                        currentSkuId = provinceCitys.citys[i].SkuId;\r\n                        break;\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        else{\r\n            currentSkuId = getSkuId_new(cityId,areaId);\r\n        }\r\n        if (eleSkuIdKey&&eleSkuIdKey.length>0){\r\n            for (var i=0,j=eleSkuIdKey.length;i<j;i++){\r\n                if (eleSkuIdKey[i].SkuId == currentSkuId){\r\n                    currentSkuKey = eleSkuIdKey[i].Key;\r\n                    break;\r\n                }\r\n            }\r\n        }\r\n    }\r\n    if (currentSkuId && currentSkuKey){\r\n        if (currentSkuId == pageConfig.product.skuid){\r\n            pageConfig.product.isChangeSku = false;\r\n        }\r\n        else{\r\n            //变换地区后sku不同\r\n            pageConfig.product.isChangeSku = true;\r\n        }\r\n    }\r\n    //设定该商品上下柜状态\r\n    warestatus = getAreaSkuState(currentSkuId);\r\n    //上一次选择的sku\r\n    pageConfig.product.prevSku = pageConfig.product.skuid;\r\n    //变换到对应分区的sku\r\n    pageConfig.product.skuid = currentSkuId;\r\n    pageConfig.product.skuidkey = currentSkuKey;\r\n    if (useAreaPrice&&!pricePageLoad){  //按地区加载价格且不是初始加载\r\n        setPriceData(pageConfig.product.skuid,[provinceId,cityId,areaId].join(\"_\")); //改变价格\r\n    }\r\n    pricePageLoad = false;\r\n    return currentSkuKey;\r\n}\r\nfunction refreshPageInfos(){\r\n    //setCXAdvertisement(pageConfig.product.skuid,pageConfig.product.skuidkey);//广告词\r\n    try {\r\n        if(window.fq_init)fq_init();\r\n        if($(\"#Tip_apply\").length>0&&fq_serverSite)$(\"#Tip_apply\").attr(\"href\",fq_serverSite + \"ShoppingCart_fqInit.aspx?skuId=\" + pageConfig.product.skuid + \"&skuCount=1\");//分期   \r\n        $(\"#choose-btn-divide\").html(\"\");\r\n        if(window.setIM)setIM();\r\n    } catch (e) {\r\n    }\r\n}\r\nfunction getTJAreaSku(r){\r\n\t$(\"#local-seller,#local-seller1,#jd-seller,#jd-seller1\").remove();\r\n    if(r&&r.resultCode==1&&r.skuId&&r.skuId!=pageConfig.product.skuid+''){\r\n        //setCommonCookies(currentAreaInfo.currentProvinceId,currentLocation,currentAreaInfo.currentCityId,currentAreaInfo.currentAreaId,0,true);\r\n\t\tif($(\"#ypds-list\").length==0){\r\n\t\t\tif ($(\"#brand-bar-pop\").length > 0){\r\n\t\t\t\t$('<div class=\"m fr\" id=\"ypds-list\"></div>').appendTo(\"#brand-bar-pop\");\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\t$('<div class=\"m fr\" id=\"ypds-list\"></div>').appendTo(\"#brand-bar\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tif((r.skuId+\"\").length==10){\r\n\t\t\tif($(\"#local-seller\").length==0){\r\n\t\t\t\t$('<div class=\"mt\" id=\"local-seller\"><span class=\"fl\"><b>本地在售卖家</b></span></div><div class=\"mc\" id=\"local-seller1\"><ul><li id=\"J_'+r.skuId+'\"><div class=\"fl\"><a target=\"_blank\" href=\"http://item.jd.com/'\r\n\t\t\t\t+r.skuId+'.html\" clstag=\"shangpin|keycount|product|yipinduoshang\">太原唐久大卖场</a></div><div class=\"lh hl_red\"></div></li></ul></div>').appendTo(\"#ypds-list\");\r\n\t\t\t\t$.ajax({\r\n\t\t\t\t\turl:\"http://p.3.cn/prices/get?skuid=J_\"+r.skuId+\"&type=1&area=\"+currentAreaInfo.currentProvinceId+\"_\"+currentAreaInfo.currentCityId+\"_\"+currentAreaInfo.currentAreaId,\r\n\t\t\t\t\tdataType:\"jsonp\",\r\n\t\t\t\t\ttype:\"get\",\r\n\t\t\t\t\tsuccess:function(r){\r\n\t\t\t\t\t\tif(r&&r.length>0){\r\n\t\t\t\t\t\t\tvar price=\"暂无报价\";\r\n\t\t\t\t\t\t\tif (new Number(r[0].p)>0){  \r\n\t\t\t\t\t\t\t\tprice = \"￥\"+r[0].p;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t$(\"#\"+r[0].id+\" .hl_red\").html(price);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\telse{\r\n\t\t\tif($('#J_'+r.skuId).length>0)return;\r\n\t\t\t$('<div class=\"mt\" id=\"jd-seller\"><span class=\"fl\"><b>其它在售卖家</b></span></div><div class=\"mc\" id=\"jd-seller1\"><ul><li id=\"J_'+r.skuId+'\"><div class=\"fl\"><a target=\"_blank\" href=\"http://item.jd.com/'\r\n\t\t\t+r.skuId+'.html\" clstag=\"shangpin|keycount|product|yipinduoshang\">京东商城</a></div><div class=\"lh hl_red\"></div></li></ul></div>').appendTo(\"#ypds-list\");\r\n\t\t\t$.ajax({\r\n\t\t\t\turl:\"http://p.3.cn/prices/get?skuid=J_\"+r.skuId+\"&type=1&area=\"+currentAreaInfo.currentProvinceId+\"_\"+currentAreaInfo.currentCityId+\"_\"+currentAreaInfo.currentAreaId,\r\n\t\t\t\tdataType:\"jsonp\",\r\n\t\t\t\ttype:\"get\",\r\n\t\t\t\tsuccess:function(r){\r\n\t\t\t\t\tif(r&&r.length>0){\r\n\t\t\t\t\t\tvar price=\"暂无报价\";\r\n\t\t\t\t\t\tif (new Number(r[0].p)>0){  \r\n\t\t\t\t\t\t\tprice = \"￥\"+r[0].p;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$(\"#\"+r[0].id+\" .hl_red\").html(price);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n    }\r\n}\r\npageConfig.product.stockExtraParam = \"{\\\"originid\\\":\\\"1\\\"}\";\r\n//获取配送库存信息或下一级地址\r\nfunction GetCurrentStock(){\r\n\tif($(\"#choose-type .item\").length>0){\t\r\n\t\tvar data_id=$(\"#choose-type .selected\").attr(\"data-id\");\r\n\t\tvar extraParam = \"{\\\"originid\\\":\\\"1\\\"}\";\r\n\t\tif(data_id&&data_id!=\"100\"){\r\n\t\t\textraParam=\"{\\\"originid\\\":\\\"1\\\",\\\"heYueJi\\\":\\\"1\\\"}\";\r\n\t\t}\r\n\t\tif(pageConfig.product.stockExtraParam!=extraParam){\r\n\t\t\tpageConfig.product.stockExtraParamChange=true;\r\n\t\t}\r\n\t\telse{\r\n\t\t\tpageConfig.product.stockExtraParamChange=false;\r\n\t\t}\r\n\t\tif($(\"#choose-type .item\").length>1||pageConfig.product.stockExtraParamChange){\r\n\t\t\tGetStockInfoOrNextAreas(pageConfig.product.skuidkey,currentAreaInfo.currentProvinceId,currentAreaInfo.currentCityId,currentAreaInfo.currentAreaId,0,pageConfig.product.cat[2],3,true);\r\n\t\t}\r\n\t}\r\n}\r\nfunction GetStockInfoOrNextAreas(skuKey,provinceId,cityId,areaId,townId,sortId,curLevel,choosetype){\r\n        try{\r\n            pageConfig.product.currentProvinceId = provinceId;\r\n            currentAreaInfo.currentProvinceId = provinceId;\r\n            currentAreaInfo.currentCityId = cityId;\r\n            currentAreaInfo.currentAreaId = areaId;\r\n            currentAreaInfo.currentTownId = townId;\r\n            curLevel = new Number(curLevel);\r\n            if (curLevel == requestLevel){\r\n                currentAreaInfo.currentLevel = curLevel; //\r\n                currentAreaInfo.currentRequestLevel = curLevel;  // \r\n                //分区商品需要找到分区对应的sku\r\n                if (areaId > 0&&townId<=0){\r\n                    skuKey = chooseSkuToArea(provinceId,cityId,areaId);\r\n                }\r\n                if(pageConfig.product.TJ=='1'&&provinceId>0&&cityId>0&&areaId>0){\r\n                    $.getJSONP(\"http://d.360buy.com/goodsrelation/get?callback=getTJAreaSku&skuId=\"+pageConfig.product.skuid+\"&provinceId=\"+provinceId+\"&cityId=\"+cityId+\"&countryId=\"+areaId);\r\n                }\r\n                pageConfig.product.skuidkey = skuKey;\r\n                JdStockTabs.removeClass(\"curr\").eq(curLevel-1).addClass(\"curr\");\r\n                JdStockTabs.find(\"a\").removeClass(\"hover\").eq(curLevel-1).addClass(\"hover\");\r\n                if (skuKey&&provinceId!=84&&warestatus==1){\r\n\t\t\t\t\tvar data_id=$(\"#choose-type .selected\").attr(\"data-id\");\r\n\t\t\t\t\tvar callbackMethod = \"getStockCallback\";\r\n\t\t\t\t\tvar extraParam = \"{\\\"originid\\\":\\\"1\\\"}\";\r\n\t\t\t\t\tif(data_id&&data_id!=\"100\"){\r\n\t\t\t\t\t\textraParam=\"{\\\"originid\\\":\\\"1\\\",\\\"heYueJi\\\":\\\"1\\\"}\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpageConfig.product.stockExtraParam=extraParam;\r\n\t\t\t\t\tif(choosetype){\r\n\t\t\t\t\t\tcallbackMethod = \"getStockCallback1\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(pageConfig.product.isLSP){\r\n\t\t\t\t\t\t$.getJSONP(stockServiceDomain+\"/oto.html?callback=\"+callbackMethod+\"&skuid=\"+pageConfig.product.skuid+\"&provinceid=\"+provinceId+\"&cityid=\"+cityId+\"&areaid=\"+areaId+\"&townid=\"+townId+\"&vid=\"+pageConfig.product.venderId\r\n\t\t\t\t\t\t+\"&sortid1=\"+pageConfig .product.cat[0]+\"&sortid2=\"+pageConfig .product.cat[1]+\"&sortid3=\"+pageConfig .product.cat[2]+\"&extraParam=\"+extraParam);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\t$.getJSONP(stockServiceDomain+\"/gds.html?callback=\"+callbackMethod+\"&skuid=\"+skuKey+\"&provinceid=\"+provinceId+\"&cityid=\"+cityId+\"&areaid=\"+areaId+\"&townid=\"\r\n                        +townId+\"&sortid1=\"+pageConfig .product.cat[0]+\"&sortid2=\"+pageConfig .product.cat[1]+\"&sortid3=\"+pageConfig .product.cat[2]+\"&extraParam=\"+extraParam);  \r\n\t\t\t\t\t}\r\n                }\r\n                else{\r\n                    getStockCallback({\"stock\":{\"IsPurchase\":false,\"ArrivalDate\":null,\"Ext\":\"\",\"PopType\":0,\"StockStateName\":\"无货\",\"code\":1,\"StockState\":0}});\r\n                }\r\n\t\t\t\tsetCXAdvertisement(pageConfig.product.skuid, pageConfig.product.skuidkey);\r\n\t\t\t\tcheckColorSizeStock(provinceId,cityId,areaId);\r\n            }\r\n            else if (curLevel < requestLevel){ //还需要获取下级地址\r\n                currentAreaInfo.currentLevel = curLevel +1;\r\n                JdStockTabs.removeClass(\"curr\").eq(curLevel).addClass(\"curr\");\r\n                JdStockTabs.find(\"a\").removeClass(\"hover\").eq(curLevel).addClass(\"hover\");\r\n                getChildAreaHtml(arguments[curLevel],curLevel +1);\r\n            }\r\n        }catch(err){\r\n        }\r\n}\r\nfunction setCommonCookies(provinceId,provinceName,cityId,areaId,townId,isWriteAdds){\r\n//    setNewCookie(\"ipLocation\", provinceName, 30, \"/\", locPageHost, false);\r\n//    setNewCookie(\"areaId\", provinceId, 10, \"/\", locPageHost, false);\r\n//    var adds = provinceId+\"-\"+cityId+\"-\"+areaId+\"-\"+townId;\r\n//    setNewCookie(\"ipLoc-djd\", adds, 30, \"/\", locPageHost, false);\r\n//    if (!isUseServiceLoc||!isWriteAdds){\r\n//    }\r\n//    else{\r\n//        $.ajax({url:\"http://uprofile.jd.com/u/setadds\",type:\"get\",dataType:\"jsonp\",data:{adds:adds}});\r\n//    }\r\n}\r\n//根据省份ID获取名称\r\nfunction getNameById(provinceId){\r\n    for(var o in iplocation){\r\n        if (iplocation[o]&&iplocation[o].id==provinceId){\r\n            return o;\r\n        }\r\n    }\r\n    return \"北京\";\r\n}\r\n//初始化\r\nvar currentPageLoad = {\"isLoad\":true,\"areaCookie\":[1,72,0,0]};\r\n//切换标签控件\r\nvar JdStockTabs = null;\r\nvar JdStockContents = null;\r\nvar provinceHtml = '<div data-widget=\"tabs\" class=\"m JD-stock\" id=\"JD-stock\">'\r\n                                +'<div class=\"mt\">'\r\n                                +'    <ul class=\"tab\">'\r\n                                +'        <li data-index=\"0\" data-widget=\"tab-item\" class=\"curr\"><a href=\"#none\" class=\"hover\"><em>请选择</em><i></i></a></li>'\r\n                                +'        <li data-index=\"1\" data-widget=\"tab-item\" style=\"display:none;\"><a href=\"#none\" class=\"\"><em>请选择</em><i></i></a></li>'\r\n                                +'        <li data-index=\"2\" data-widget=\"tab-item\" style=\"display:none;\"><a href=\"#none\" class=\"\"><em>请选择</em><i></i></a></li>'\r\n                                +'        <li data-index=\"3\" data-widget=\"tab-item\" style=\"display:none;\"><a href=\"#none\" class=\"\"><em>请选择</em><i></i></a></li>'\r\n                                +'    </ul>'\r\n                                +'    <div class=\"stock-line\"></div>'\r\n                                +'</div>'\r\n                                +'<div class=\"mc\" data-area=\"0\" data-widget=\"tab-content\" id=\"stock_province_item\">'\r\n                                +'    <ul class=\"area-list\">'\r\n                                +'       <li><a href=\"#none\" data-value=\"1\">北京</a></li><li><a href=\"#none\" data-value=\"2\">上海</a></li><li><a href=\"#none\" data-value=\"3\">天津</a></li><li><a href=\"#none\" data-value=\"4\">重庆</a></li><li><a href=\"#none\" data-value=\"5\">河北</a></li><li><a href=\"#none\" data-value=\"6\">山西</a></li><li><a href=\"#none\" data-value=\"7\">河南</a></li><li><a href=\"#none\" data-value=\"8\">辽宁</a></li><li><a href=\"#none\" data-value=\"9\">吉林</a></li><li><a href=\"#none\" data-value=\"10\">黑龙江</a></li><li><a href=\"#none\" data-value=\"11\">内蒙古</a></li><li><a href=\"#none\" data-value=\"12\">江苏</a></li><li><a href=\"#none\" data-value=\"13\">山东</a></li><li><a href=\"#none\" data-value=\"14\">安徽</a></li><li><a href=\"#none\" data-value=\"15\">浙江</a></li><li><a href=\"#none\" data-value=\"16\">福建</a></li><li><a href=\"#none\" data-value=\"17\">湖北</a></li><li><a href=\"#none\" data-value=\"18\">湖南</a></li><li><a href=\"#none\" data-value=\"19\">广东</a></li><li><a href=\"#none\" data-value=\"20\">广西</a></li><li><a href=\"#none\" data-value=\"21\">江西</a></li><li><a href=\"#none\" data-value=\"22\">四川</a></li><li><a href=\"#none\" data-value=\"23\">海南</a></li><li><a href=\"#none\" data-value=\"24\">贵州</a></li><li><a href=\"#none\" data-value=\"25\">云南</a></li><li><a href=\"#none\" data-value=\"26\">西藏</a></li><li><a href=\"#none\" data-value=\"27\">陕西</a></li><li><a href=\"#none\" data-value=\"28\">甘肃</a></li><li><a href=\"#none\" data-value=\"29\">青海</a></li><li><a href=\"#none\" data-value=\"30\">宁夏</a></li><li><a href=\"#none\" data-value=\"31\">新疆</a></li><li><a href=\"#none\" data-value=\"32\">台湾</a></li><li><a href=\"#none\" data-value=\"42\">香港</a></li><li><a href=\"#none\" data-value=\"43\">澳门</a></li><li><a href=\"#none\" data-value=\"84\">钓鱼岛</a></li>'\r\n                                +'    </ul>'\r\n                                +'</div>'\r\n                                +'<div class=\"mc\" data-area=\"1\" data-widget=\"tab-content\" id=\"stock_city_item\"></div>'\r\n                                +'<div class=\"mc\" data-area=\"2\" data-widget=\"tab-content\" id=\"stock_area_item\"></div>'\r\n                                +'<div class=\"mc\" data-area=\"3\" data-widget=\"tab-content\" id=\"stock_town_item\"></div>'\r\n                                +'</div>';\r\nvar mouseEventChange = false;\r\nfunction resetBindMouseEvent(){\r\n    if (!mouseEventChange&&!currentPageLoad.isLoad){\r\n        mouseEventChange = true;\r\n        $(\"#store-selector\").unbind(\"mouseout\");\r\n        $(\"#store-selector\").unbind(\"mouseover\").bind(\"mouseover\",function(){\r\n            $(\"#store-selector\").addClass(\"hover\");\r\n        });\r\n    }\r\n}\r\nfunction reBindStockEvent(){\r\n    $(\"#store-selector\").removeClass(\"hover\");\r\n    //mouseEventChange = false;\r\n    /*$(\"#store-selector\").unbind(\"mouseout\").bind(\"mouseout\",function(){\r\n        $(\"#store-selector\").removeClass(\"hover\");\r\n    });*/\r\n}\r\nvar pricePageLoad = false; //是否已经初始化加载价格\r\nvar useAreaPrice = true;\r\nfunction getStockInfoByArea(ipLoc){//获取地区库存\r\n    if(!ipLoc){\r\n        ipLoc = getCookie(\"ipLoc-djd\");\r\n    }\r\n    currentPageLoad.notSet = false;\r\n    if (!ipLoc) {\r\n        currentPageLoad.notSet = true;\r\n    }\r\n    ipLoc = ipLoc?ipLoc.split(\"-\"):[1,72,0,0];\r\n    if (useAreaPrice&&ipLoc.length>2&&new Number(ipLoc[2])>0){\r\n        pricePageLoad = true;\r\n        setPriceData(getCurrentSkuId(ipLoc[0],ipLoc[1],ipLoc[2]),[ipLoc[0],ipLoc[1],ipLoc[2]].join(\"_\")); //初始化加载价格\r\n    }\r\n    currentPageLoad.areaCookie = ipLoc;\r\n    currentAreaInfo.currentProvinceName = getNameById(ipLoc[0]);\r\n    currentLocation = currentAreaInfo.currentProvinceName;\r\n    var province = iplocation[currentLocation];\r\n    province = province?province:{ id: \"1\", root: 0, djd: 1,c:72 };\r\n    currentAreaInfo.currentProvinceId = province.id;\r\n    JdStockTabs.eq(0).find(\"em\").html(currentAreaInfo.currentProvinceName);\r\n    GetStockInfoOrNextAreas(pageConfig.product.skuidkey,province.id,0,0,0,pageConfig.product.cat[2],1);\r\n}\r\nvar isUseServiceLoc = true; //是否默认使用服务端地址\r\n(function(){\r\n    if($(\".product-intro-itemover\").length>0){\r\n        if(window.noItemOver)noItemOver.init(pageConfig.product.type);\r\n        return;\r\n    }\r\n    CurrentAreaInfoInit();\r\n    initrequestLevel();\r\n    $(provinceHtml).insertBefore(\"#store-selector .content .clr\");\r\n    $(\"#store-selector\").mouseover(function(){$(this).addClass(\"hover\");}).mouseout(function(){$(this).removeClass(\"hover\");}); \r\n    JdStockTabs = $(\"#JD-stock .tab li\");\r\n    JdStockContents = $(\"#JD-stock div[data-widget='tab-content']\");\r\n    JdStockTabs.bind('click',function(){\r\n        var level = $(this).attr(\"data-index\");\r\n        level = new Number(level);\r\n        JdStockTabs.removeClass(\"curr\").eq(level).addClass(\"curr\");\r\n        JdStockTabs.find(\"a\").removeClass(\"hover\").eq(level).addClass(\"hover\");\r\n        JdStockContents.hide().eq(level).show();\r\n    });\r\n\tvar ipLocTmp = getCookie(\"ipLoc-djd\");\r\n\tif (ipLocTmp){\r\n\t\t//getStockInfoByArea(ipLocTmp);\r\n\t}\r\n\telse{\r\n//\t\tif (isUseServiceLoc){\r\n//\t\t\ttry{\r\n//\t\t\t\t$.ajax({\r\n//\t\t\t\t\turl:\"http://uprofile.jd.com/u/getadds\",\r\n//\t\t\t\t\ttype:\"get\",\r\n//\t\t\t\t\tdataType:\"jsonp\",\r\n//\t\t\t\t\ttimeout:500,\r\n//\t\t\t\t\tsuccess:function(r){\r\n//\t\t\t\t\t\tif (r&&r.adds&&r.adds!=\"null\"){\r\n//\t\t\t\t\t\t\tvar ipLoc = r.adds;\r\n//\t\t\t\t\t\t\tgetStockInfoByArea(ipLoc);\r\n//\t\t\t\t\t\t\tipLoc = ipLoc.split(\"-\");\r\n//\t\t\t\t\t\t\tvar province=0,city=0,area=0,town=0,proName='';\r\n//\t\t\t\t\t\t\tif(ipLoc[0]&&new Number(ipLoc[0])>0){\r\n//\t\t\t\t\t\t\t\tprovince = ipLoc[0];\r\n//\t\t\t\t\t\t\t\tproName = getNameById(province);\r\n//\t\t\t\t\t\t\t\tif(ipLoc[1]&&new Number(ipLoc[1])>0){\r\n//\t\t\t\t\t\t\t\t\tcity = ipLoc[1];\r\n//\t\t\t\t\t\t\t\t\tif(ipLoc[2]&&new Number(ipLoc[2])>0){\r\n//\t\t\t\t\t\t\t\t\t\tarea = ipLoc[2];\r\n//\t\t\t\t\t\t\t\t\t\tif(ipLoc[3]&&new Number(ipLoc[3])>0){\r\n//\t\t\t\t\t\t\t\t\t\t\ttown = ipLoc[3];\r\n//\t\t\t\t\t\t\t\t\t\t}\r\n//\t\t\t\t\t\t\t\t\t}\r\n//\t\t\t\t\t\t\t\t}\r\n//\t\t\t\t\t\t\t\tsetCommonCookies(province,proName,city,area,town,false);\r\n//\t\t\t\t\t\t\t}\r\n//\t\t\t\t\t\t}\r\n//\t\t\t\t\t\telse{\r\n//\t\t\t\t\t\t\tgetStockInfoByArea(null);\r\n//\t\t\t\t\t\t}\r\n//\t\t\t\t\t},\r\n//\t\t\t\t\terror:function(XMLHttpRequest, textStatus, errorThrown){\r\n//\t\t\t\t\t\tgetStockInfoByArea(null);\r\n//\t\t\t\t\t}\r\n//\t\t\t\t});\r\n//\t\t\t}catch(e){}\r\n//\t\t}\r\n\t}\r\n    $(\"#stock_province_item a\").unbind(\"click\").click(function() {\r\n        currentPageLoad.isLoad = false;\r\n        resetBindMouseEvent();\r\n        try{\r\n            CurrentAreaInfoInit();\r\n            currentAreaInfo.currentProvinceId = $(this).attr(\"data-value\");\r\n            currentAreaInfo.currentProvinceName = $(this).html();\r\n            currentLocation = currentAreaInfo.currentProvinceName;\r\n            JdStockTabs.eq(0).find(\"em\").html(currentAreaInfo.currentProvinceName);\r\n            initrequestLevel();\r\n            GetStockInfoOrNextAreas(pageConfig.product.skuidkey,currentAreaInfo.currentProvinceId,0,0,0,pageConfig .product.cat[2],1);\r\n        }\r\n        catch (err){\r\n        }\r\n    }).end();\r\n    $(\"#store-selector .close\").unbind(\"click\").bind(\"click\",function(){\r\n        reBindStockEvent();\r\n    });\r\n    //服务信息\r\n})();\r\n/*#$%#@!%*/\r\n(function(iplocation){\r\n    var serializeUrlCommon=function(url) {\r\n        var sep = url.indexOf('?'),\r\n            link = url.substr( 0, sep),\r\n            params = url.substr( sep+1 ),\r\n            paramArr = params.split('&'),\r\n            len = paramArr.length,i,\r\n            res = {},curr,key,val;\r\n\r\n        for ( i=0; i<len; i++) {\r\n            curr = paramArr[i].split('=');\r\n            key = curr[0];\r\n            val = curr[1];\r\n\r\n            res[key] = val;\r\n        }\r\n\r\n        return {\r\n            url: link,\r\n            param: res\r\n        }\r\n    };\r\n    if ( /storeAddressId/.test(location.href)) {\r\n            // 拿url上storeAddressId的值，写入cookie\r\n            var url=serializeUrlCommon(location.href);\r\n            if (url.param['storeAddressId']){\r\n                var pca=url.param['storeAddressId'].split('_');\r\n                if(pca){\r\n                    var proname=\"\";\r\n                    var area=\"\";\r\n                    if(pca[0] && parseInt(pca[0]) == pca[0]) {\r\n                        for(var o in iplocation){\r\n                            if(iplocation[o].id==pca[0]){\r\n                                proname=o;\r\n                                area=pca[0];\r\n                                break;\r\n                            }\r\n                        }\r\n                    }\r\n                    if(pca[1] && parseInt(pca[1]) == pca[1] && parseInt(pca[1])>0) {\r\n                        area += \"-\"+pca[1];\r\n                    }\r\n                    else if(area){\r\n                        area += \"-0\";\r\n                    }\r\n                    if(pca[2] && parseInt(pca[2]) == pca[2] && parseInt(pca[2])>0) {\r\n                        area += \"-\"+pca[2];\r\n                    }\r\n                    else if(area){\r\n                        area += \"-0\";\r\n                    }\r\n                    if(proname){\r\n                        setNewCookie(\"ipLocation\", proname, 30, \"/\", locPageHost, false);\r\n                    }\r\n                    if(area){\r\n                        setNewCookie(\"ipLoc-djd\", area, 30, \"/\", locPageHost, false);\r\n                    }\r\n                }\r\n            }\r\n    }\r\n})(iplocation);\r\n// 标题广告词\r\nfunction setproductad(r){\r\n    if (r&&r.length>0){\r\n\t\tif($(\"#sku_adwords\").length==0){\r\n\t\t\t$(\"#name strong\").append(\"<div id=\\\"sku_adwords\\\"></div>\");\r\n\t\t}\r\n        $(\"#sku_adwords\").html(r[0].ad?r[0].ad:\"\");\r\n    }\r\n}\r\nfunction setproductadwords(r){\r\n    if (r&&r.AdWordList&&r.AdWordList.length>0&&r.AdWordList[0]){\r\n\t\tif($(\"#sku_adwords\").length==0){\r\n\t\t\t$(\"#name strong\").append(\"<div id=\\\"sku_adwords\\\"></div>\");\r\n\t\t}\r\n        $(\"#sku_adwords\").html(r.AdWordList[0].waretitle?r.AdWordList[0].waretitle:\"\");\r\n    }\r\n}\r\nfunction setCXAdvertisement(skuid, skuidkey) {  \r\n//    $(\"#sku_adwords\").html(\"\");\r\n//    $.getJSONP(\"http://ad.3.cn/ads/mgets?skuids=AD_\"+skuid+\"&areaCode=\"+[currentAreaInfo.currentProvinceId,currentAreaInfo.currentCityId,currentAreaInfo.currentAreaId].join(\"_\")+\"&callback=setproductad\");\r\n}\r\n//setCXAdvertisement(pageConfig.product.skuid, pageConfig.product.skuidkey); \r\n//颜色尺码\r\nvar cur_same_colorsize_stock={};\r\ncur_same_colorsize_stock.check=(pageConfig.product.urlskuid+\"\").length==10&&\"1318|1315\".indexOf(pageConfig.product.cat[0]+\"\")>-1;\r\ncur_same_colorsize_stock.load=0;\r\ncur_same_colorsize_stock.skusinit=0;\r\ncur_same_colorsize_stock.choose=0;\r\nvar choose_color=$(\"#choose-color a\");var choose_colori=$(\"#choose-color .item\");\r\nvar choose_version=$(\"#choose-version .item\");\r\nvar alert_choose_version=$(\"#choose-version .dt\").html();alert_choose_version=alert_choose_version?alert_choose_version.replace(\"：\",\"\"):\"\";\r\nvar alert_choose_color=$(\"#choose-color .dt\").html();alert_choose_color=alert_choose_color?alert_choose_color.replace(\"：\",\"\"):\"\";\r\nvar alert_choose=\"所选\"+alert_choose_color.replace(\"选择\",\"\")+\"该\"+alert_choose_version.replace(\"选择\",\"\")+\"商品在该地区无货\";\r\nvar alert_choose1=\"所选\"+alert_choose_version.replace(\"选择\",\"\")+\"该\"+alert_choose_color.replace(\"选择\",\"\")+\"商品在该地区无货\";\r\nvar csobj={};var scobj={};\r\nvar checkColorSize=function(){},changeColorSize=function(){};\r\nvar only_one_color=null,only_one_size=null;\r\nif(choose_color.length>0||choose_version.length>0){\r\n    if(ColorSize&&ColorSize.length>0){\r\n        var cs=null;\r\n        for (var i=0,j=ColorSize.length;i<j;i++){\r\n\t\t\tif(!ColorSize[i].Color){ColorSize[i].Color=\" \"}\r\n\t\t\tif(!ColorSize[i].Size){ColorSize[i].Size=\" \"}\r\n            cs=ColorSize[i];\r\n            if(!csobj[cs.Color])csobj[cs.Color]={};\r\n            csobj[cs.Color][cs.Size]=cs.SkuId;\r\n            if(!scobj[cs.Size])scobj[cs.Size]={};\r\n            scobj[cs.Size][cs.Color]=cs.SkuId;\r\n        }\r\n\t\tif(choose_color.length==0){\r\n\t\t\tonly_one_color=ColorSize[0].Color;\r\n\t\t}\r\n\t\tif(choose_version.length==0){\r\n\t\t\tonly_one_size=ColorSize[0].Size;\r\n\t\t}\r\n    }\r\n    checkColorSize=function(c,s){\r\n        if(csobj[c]&&csobj[c][s]){\r\n\t\t\tif(cur_same_colorsize_stock[csobj[c][s]+\"\"]&&cur_same_colorsize_stock[csobj[c][s]+\"\"].stock==34){\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n            return csobj[c][s];\r\n\t\t}\r\n        return 0;\r\n    }\r\n    changeColorSize=function(flag){\r\n        var cur_color=$(\"#choose-color .selected a\").attr(\"title\");\r\n\t\tif(only_one_color){\r\n\t\t\tcur_color=only_one_color;\r\n\t\t}\r\n        if(cur_color&&csobj[cur_color]){\r\n            var version=null;\r\n            var choose_version_obj=null;\r\n            for(var i=0,j=choose_version.length;i<j;i++){\r\n                choose_version_obj=$(choose_version[i]).find(\"a\").eq(0);\r\n                version=choose_version_obj.text();\r\n                if(!(version&&csobj[cur_color][version])\r\n\t\t\t\t\t||((csobj[cur_color][version]!=pageConfig.product.urlskuid||cur_same_colorsize_stock.choose)\r\n\t\t\t\t\t&&cur_same_colorsize_stock[csobj[cur_color][version]+\"\"]&&cur_same_colorsize_stock[csobj[cur_color][version]+\"\"].stock==34)){\r\n                    $(choose_version[i]).attr(\"class\",\"item disabled\");\r\n                    $(choose_version[i]).find(\"b\").hide();\r\n                    choose_version_obj.css(\"cursor\",\"not-allowed\").attr(\"title\",alert_choose);\r\n                }\r\n                else{\r\n                    if($(choose_version[i]).attr(\"class\")==\"item disabled\")$(choose_version[i]).attr(\"class\",\"item\");\r\n                    $(choose_version[i]).find(\"b\").show();\r\n                    choose_version_obj.css(\"cursor\",\"pointer\").attr(\"title\",choose_version_obj.text());\r\n                }\r\n                $(choose_version[i]).find(\"i\").remove();\r\n            }\r\n        }\r\n        var cur_version = $(\"#choose-version .selected a\").text();\r\n\t\tif(only_one_size){\r\n\t\t\tcur_version=only_one_size;\r\n\t\t}\r\n        if(cur_version&&scobj[cur_version]){\r\n            var color=null;\r\n\t\t\tvar choose_color_obj=null;\r\n            for(var i=0,j=choose_colori.length;i<j;i++){\r\n\t\t\t\tchoose_color_obj=$(choose_colori[i]).find(\"a\").eq(0);\r\n                color=$($(choose_colori[i]).find(\"a\")[0]).attr(\"title\");\r\n                if(!(color&&scobj[cur_version][color])\r\n\t\t\t\t\t||(scobj[cur_version][color]!=pageConfig.product.urlskuid\r\n\t\t\t\t\t&&cur_same_colorsize_stock[scobj[cur_version][color]+\"\"]&&cur_same_colorsize_stock[scobj[cur_version][color]+\"\"].stock==34)){\r\n                    $(choose_colori[i]).attr(\"class\",\"item disabled\");\r\n                    $(choose_colori[i]).find(\"b\").hide();\r\n\t\t\t\t\tif(only_one_size){choose_color_obj.css(\"cursor\",\"not-allowed\").attr(\"title\",alert_choose);}\r\n                }\r\n                else{\r\n                    if($(choose_colori[i]).attr(\"class\")==\"item disabled\")$(choose_colori[i]).attr(\"class\",\"item\");\r\n                    $(choose_colori[i]).find(\"b\").show();\r\n                }\r\n            }\r\n        }\r\n        else{\r\n            $(\"#choose-color .disabled\").attr(\"class\",\"item\");\r\n        }\r\n        $(\"<i></i>\").insertBefore(\"#choose-version .disabled a\");\r\n\t\t$(\"#choose-result\").show().find(\".dd\").html(\"<em>已选择</em>\"+(cur_color&&cur_color!=\" \"?\"<strong>“\"+cur_color+\"”</strong>\":\"\")+(cur_color&&cur_color!=\" \"&&cur_version&&cur_version!=\" \"?\"，\":\"\")+(cur_version&&cur_version!=\" \"?\"<strong>“\"+cur_version+\"”</strong>\":\"\")\r\n\t\t\t+(cur_color?\"\":\"<span class='item-warnning'><s></s>请\"+alert_choose_color+\"</span>\")+(cur_version?\"\":\"<span class='item-warnning'><s></s>请\"+alert_choose_version+\"</span>\"));\r\n\t\tif(!cur_color){\r\n\t\t\t$(\"#choose-color\").addClass(\"item-hl-bg\");\r\n\t\t}\r\n\t\telse{\r\n\t\t\t$(\"#choose-color\").removeClass(\"item-hl-bg\");\r\n\t\t}\r\n\t\tif(!cur_version){\r\n\t\t\t$(\"#choose-version\").addClass(\"item-hl-bg\");\r\n\t\t}\r\n\t\telse{\r\n\t\t\t$(\"#choose-version\").removeClass(\"item-hl-bg\");\r\n\t\t}\r\n        if(!flag){\r\n            if($(\"#choose-noresult\").length>0){$(\"#choose-noresult\").remove();}\r\n            $.easybuy_button.hide();\r\n            $.divide_button.hide();\r\n            $.notice_button.hide();\r\n            if($.append_button.length>0)$.append_button.attr(\"href\",\"#none\").attr(\"onclick\",\"\").unbind(\"click\"); //购物车\r\n            if($(\".nav-minicart-btn\").length>0)$(\".nav-minicart-btn\").hide(); //mini购物车\r\n            $(\"#choose-btn-subsidy\").hide();\r\n        }\r\n    }\t\r\n    $(\"#choose-color a\").attr(\"href\",\"#none\").unbind(\"click\").click(function(){\r\n        if($($(this).parent()).attr(\"class\")==\"item disabled\"&&only_one_size)return;\r\n\t\tcur_same_colorsize_stock.choose=1;\r\n        $(\"#choose-color .selected\").attr(\"class\",\"item\");\r\n        $($(this).parent()).attr(\"class\",\"item selected\");\r\n        var c=$(this).attr(\"title\");\r\n        var s=$(\"#choose-version .selected a\");\r\n        if(s.length>0){s=s.text()}else{s=null}\r\n\t\tif(only_one_size){s=only_one_size}\r\n        var sid=0;\r\n        sid=checkColorSize(c,s);\r\n        if(sid>0){window.location=sid+\".html\";}else{\r\n            changeColorSize();\r\n        }\r\n    });\r\n    $(\"#choose-version a\").attr(\"href\",\"#none\").unbind(\"click\").click(function(){\r\n        if($($(this).parent()).attr(\"class\")==\"item disabled\")return;\r\n\t\tcur_same_colorsize_stock.choose=1;\r\n        var s=$(this).text();\r\n        var c=$(\"#choose-color .selected a\");\r\n        if(c.length>0){c=c.attr(\"title\")}else{c=null}\r\n\t\tif(only_one_color){c=only_one_color}\r\n        var sid=0;\r\n        sid=checkColorSize(c,s);\r\n        if(sid>0){window.location=sid+\".html\";}else{\r\n            changeColorSize();\r\n        }\r\n    });\r\n}\r\nvar cur_same_colorsize = [];\r\nfunction checkColorSizeStock(pid,cid,aid){\r\n\tif(window.ColorSize&&ColorSize.length>1){\r\n\t\tif(!cur_same_colorsize_stock.skusinit){\r\n\t\t\tfor(var i=0,j=ColorSize.length;i<j;i++){\r\n\t\t\t\tif(ColorSize[i].SkuId+\"\"==pageConfig.product.urlskuid+\"\"){\r\n\t\t\t\t\tif ($(\"#choose-color .dd .selected\").length==0){\r\n\t\t\t\t\t\t$(\"#choose-color a[title='\"+ColorSize[i].Color+\"']\").parent().addClass(\" selected\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ($(\"#choose-version .dd .selected\").length==0){\r\n\t\t\t\t\t\t$(\"#choose-version a[title='\"+ColorSize[i].Size+\"']\").parent().addClass(\" selected\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tcur_same_colorsize.push(ColorSize[i].SkuId+\"\");\r\n\t\t\t}\r\n\t\t\tcur_same_colorsize = cur_same_colorsize.join(\"\");\r\n\t\t\tcur_same_colorsize_stock.skusinit=1;\r\n\t\t}\r\n\t\tif (cur_same_colorsize_stock.check){\r\n\t\t\t$.ajax({type:\"get\",dataType:\"jsonp\",url:stockServiceDomain+\"/gsis.html\",data:{\"type\":\"multistocks\",\"skuids\":cur_same_colorsize,\"provinceid\":pid,\"cityid\":cid,\"areaid\":aid},success:function(r){\r\n\t\t\t\tfor(var i=0,j=ColorSize.length;i<j;i++){\r\n\t\t\t\t\tif(r[ColorSize[i].SkuId+\"\"]){\r\n\t\t\t\t\t\tColorSize[i].stock=r[ColorSize[i].SkuId+\"\"];\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tColorSize[i].stock = 33;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcur_same_colorsize_stock[ColorSize[i].SkuId+\"\"]=ColorSize[i];\r\n\t\t\t\t}\r\n\t\t\t\tchangeColorSize(true);\r\n\t\t\t\tcur_same_colorsize_stock.load=1;\r\n\t\t\t}});\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif(!cur_same_colorsize_stock.load){\r\n\t\t\t\tchangeColorSize(true);\r\n\t\t\t\tcur_same_colorsize_stock.load=1;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n/******************/\r\nvar spuSort={\"1316\":\"1-个护化妆\",\"1620\":\"1-家居家装\",\"5025\":\"1-钟表\",\"6219\":\"2-水具酒具\",\"6233\":\"1-玩具乐器\",\"6994\":\"1-宠物生活\",\"6196\":\"1-厨具\",\"1319\":\"1-母婴\",\"1320\":\"1-食品饮料、保健食品\",\r\n\t\t\t\"1315\":\"1-服饰内衣\",\"4837\":\"3-办公文具\",\"1466\":\"2-体育娱乐\",\"1467\":\"2-成人用品\",\"1463\":\"2-运动器械\",\"6728\":\"1-汽车用品\",\"1713\":\"1-图书\"};\r\nif(true&&(spuSort[pageConfig.product.cat[0]+\"\"]||spuSort[pageConfig.product.cat[1]+\"\"]||spuSort[pageConfig.product.cat[2]+\"\"])){\r\nvar spuServiceUrl = \"http://spu.jd.com/json.html?cond=\";\r\nvar spuPageUrl = \"http://spu.jd.com/\"+pageConfig.product.skuid+\".html\";\r\nfunction showProvinceStockDeliver(r){\r\n    if(!r||r.totalCount<2)return;\r\n\tif($(\"#ypds-list\").length==0){\r\n\t\tif ($(\"#brand-bar-pop\").length > 0){\r\n\t\t\t$('<div class=\"m fr\" id=\"ypds-list\"></div>').appendTo(\"#brand-bar-pop\");\r\n\t\t}\r\n\t\telse{\r\n\t\t\t$('<div class=\"m fr\" id=\"ypds-list\"></div>').appendTo(\"#brand-bar\");\r\n\t\t}\r\n\t}\r\n    var spuVenderInfos = '';\r\n    var topCount = 0;\r\n\tvar cutCount = 0;\r\n    for (var i=0,j=r.skuStockVenders.length;i<j;i++){\r\n        if (pageConfig.product.skuid+\"\" != r.skuStockVenders[i].skuId && topCount < 3){\r\n\t\t\tif(r.skuStockVenders[i].venderId==46875){ //屏蔽TJ\r\n\t\t\t\tcutCount ++;\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tspuVenderInfos += '<li id=\"J_'+r.skuStockVenders[i].skuId+'\"><div class=\"fl\"><a href=\"http://item.jd.com/'+r.skuStockVenders[i].skuId+'.html\" clstag=\"shangpin|keycount|product|yipinduoshang\" target=\"_blank\">'+((r.skuStockVenders[i].venderId&&(r.skuStockVenders[i].skuId+\"\").length==10)?r.skuStockVenders[i].venderName:'京东商城')+'</a></div><div class=\"lh hl_red\"></div></li>';\t\t\t\t\r\n\t\t\t\tif($('#jd-seller1 #J_'+r.skuStockVenders[i].skuId).length>0)$(\"#jd-seller,#jd-seller1\").remove();\r\n\t\t\t\ttopCount ++;\r\n\t\t\t}\r\n        }\r\n    }\r\n    $('<div id=\"ypds-info\"><a href=\"'+spuPageUrl+'\" class=\"hl_blue\" target=\"_blank\">'+(r.totalCount-cutCount)+'个卖家在售</a><span class=\"hl_red\">\\u3000￥'+(r.minPrice+\"\")+'</span> 起</div>').insertAfter(\"#choose\"); \r\n    spuVenderInfos = '<div class=\"mt\"><span class=\"fl\"><b>'+(pageConfig.product.cat[0]==1713?('<a href=\"'+spuPageUrl+'\" target=\"_blank\"><font style=\"color:#005EA7\">'+(r.totalCount-cutCount)+'个卖家在售</font></a>'):'其他在售卖家')+'</b></span><span class=\"extra\"><a href=\"'\r\n                          +spuPageUrl+'\" class=\"hl_blue\" target=\"_blank\">查看全部</a></span></div><div class=\"mc\"><ul>'+spuVenderInfos;\r\n    spuVenderInfos += '</ul></div>';\r\n    $(spuVenderInfos).appendTo(\"#ypds-list\");\r\n    var sellerArray = $(\"#ypds-list li\");\r\n\tvar skuIds = [];\r\n    for (var i=0,j=sellerArray.length;i<j;i++){\r\n\t\tskuIds.push(sellerArray.eq(i).attr(\"id\"));\r\n    }\r\n\tif(skuIds.length>0){\r\n\t\t$.ajax({\r\n\t\t\t\turl:\"http://p.3.cn/prices/mgets?callback=?\",\r\n\t\t\t\tdata:{skuIds:skuIds.join(\",\"),type:1},\r\n\t\t\t\tdataType:\"jsonp\",\r\n\t\t\t\tsuccess:function(r){\r\n\t\t\t\t\tif(r&&r.length>0){\r\n\t\t\t\t\t\tfor (var i=0,j=r.length;i<j;i++){\r\n\t\t\t\t\t\t\t$(\"#\"+r[i].id+\" .hl_red\").html(new Number(r[i].p)>0?(\"￥\"+r[i].p):\"暂无报价\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n}\r\n(function(){\r\n    $.getJSONP(spuServiceUrl+\"1_4_1_0_0_\"+(pageConfig.product.cat[0]==1713?\"1\":\"0\")+\"_\"+pageConfig.product.skuid+\"_1&callback=showProvinceStockDeliver\");\r\n})();\r\n}\r\n(function(){if($(\"#product-detail-2 table tr\").length>0)$(\"<div class='detail-correction'>\"+$(\"#product-detail-1 .detail-correction\").html()+\"</div>\").insertBefore(\"#product-detail-2 table\");})();\r\n/*****/\r\nfunction changeSpPrice(id){\r\n    var val=$(\"#\"+id).val();\r\n    var min=$(\"#sp-price\").val();\r\n    var max=$(\"#sp-price1\").val();\r\n    if(parseInt(val)>0&&parseInt(val)+\"\"==val){\r\n    }else{$(\"#\"+id).val(\"\");}\r\n}\r\nfunction getImgFullPath(skuid,src,type){\r\n    if(src&&src.toUpperCase().indexOf(\"HTTP:\")==-1){\r\n        src = \"http://img1\"+(new Number(skuid))%5+\".360buyimg.com/n\"+type+\"/\"+src;\r\n    }\r\n    return src;\r\n}\r\n(function(){\r\n    if(!window.itemShopJsona&&!window.itemShopJsonb)return;\r\n    var shopTempArray=[];\r\n    var leftDom = $(\"#related-sorts\").parent();\r\n    if(window.itemShopJsona&&itemShopJsona.searchLink){\r\n        var shopSearchHtml='<div id=\"sp-search\" class=\"m m2\" clstag=\"shangpin|keycount|product|pop-03\">'\r\n                    +'<div class=\"mt\"><h2>店内搜索</h2></div>'\r\n                    +'<div class=\"mc\">'\r\n                        +'<p class=\"sp-form-item1\"><label for=\"sp-keyword\">关键字：</label><span><input type=\"text\" id=\"sp-keyword\"/ onkeydown=\"javascript:if(event.keyCode==13){pageConfig.searchClick(1);}\"></span></p>'\r\n                        +'<p class=\"sp-form-item2\"><label for=\"sp-price\">价&#x3000;格：</label><span><input type=\"text\" id=\"sp-price\" onkeyup=\"changeSpPrice(\\'sp-price\\');\" onkeydown=\"javascript:if(event.keyCode==13){pageConfig.searchClick(1);}\"/> 到 <input type=\"text\" id=\"sp-price1\" onkeyup=\"changeSpPrice(\\'sp-price1\\');\" onkeydown=\"javascript:if(event.keyCode==13){pageConfig.searchClick(1);}\"/></span></p>'\r\n                        +'<p class=\"sp-form-item3\"><label for=\"\">&#x3000;&#x3000;&#x3000;</label><span><input type=\"submit\" value=\"搜索\" id=\"btnShopSearch\"/></span></p>'\r\n                    +'</div>'\r\n                +'</div>';\r\n        shopTempArray.push(shopSearchHtml);\r\n    }\r\n    if(window.itemShopJsonb&&itemShopJsonb.shopCategory&&itemShopJsonb.shopCategory.length>0){\r\n        var shopSortsHtml='<div id=\"sp-category\" class=\"m m2\" clstag=\"shangpin|keycount|product|pop-04\">'\r\n                +'<div class=\"mt\"><h2>店内分类</h2></div>'\r\n                +'<div class=\"mc\">{content}</div>'\r\n            +'</div>';\r\n        var categoryContent=[];\r\n        for (var i=0,j=itemShopJsonb.shopCategory.length;i<j;i++){\r\n            categoryContent.push(\"<dl><dt\"+((itemShopJsonb.shopCategory[i].childs&&itemShopJsonb.shopCategory[i].childs.length>0)?\"\":\" class='sp-single'\")\r\n                +\"><a href='\"+(itemShopJsonb.shopCategory[i].url?itemShopJsonb.shopCategory[i].url:\"#none\")+\"' target='_blank'><s></s>\"+itemShopJsonb.shopCategory[i].title+\"</a></dt>\");\r\n            if(itemShopJsonb.shopCategory[i].childs&&itemShopJsonb.shopCategory[i].childs.length>0){\r\n                for (var t=0,h=itemShopJsonb.shopCategory[i].childs.length;t<h;t++){\r\n                    categoryContent.push(\"<dd><a href='\"+(itemShopJsonb.shopCategory[i].childs[t].url?itemShopJsonb.shopCategory[i].childs[t].url:\"#none\")+\"' target='_blank'>\"+itemShopJsonb.shopCategory[i].childs[t].title+\"</a></dd>\");\r\n                }\r\n            }\r\n            categoryContent.push(\"</dl>\");\r\n        }\r\n        shopTempArray.push(shopSortsHtml.replace(\"{content}\",categoryContent.join(\"\")));\r\n    }\r\n    if(window.itemShopJsonb&&itemShopJsonb.hotSale&&itemShopJsonb.hotSale.length==5){\r\n        var shopHotSaleHtml='<div id=\"sp-hot-sale\" class=\"m m2 m3\" clstag=\"shangpin|keycount|product|pop-05\">'\r\n                    +'<div class=\"mt\"><h2>热门销售</h2>'\r\n                    +'</div>'\r\n                    +'<div class=\"mc\"><ul>{content}</ul></div>'\r\n                +'</div>';\r\n        var hotSaleContent=[];\r\n        for (var i=0,j=itemShopJsonb.hotSale.length;i<j;i++){\r\n            hotSaleContent.push('<li class=\"fore'+(i+1)+'\">'\r\n                            +'<div class=\"p-img\"><a href=\"http://item.jd.com/'+itemShopJsonb.hotSale[i].skuId+'.html\" title=\"'+itemShopJsonb.hotSale[i].goodsName+'\" target=\"_blank\"><img alt=\"'+itemShopJsonb.hotSale[i].goodsName+'\" data-lazyload=\"'+getImgFullPath(itemShopJsonb.hotSale[i].skuId,itemShopJsonb.hotSale[i].goodsImg,2)+'\"></a></div>'\r\n                            +'<div class=\"p-name\"><a href=\"http://item.jd.com/'+itemShopJsonb.hotSale[i].skuId+'.html\" target=\"_blank\" title=\"'+itemShopJsonb.hotSale[i].goodsName+'\">'+itemShopJsonb.hotSale[i].goodsName+'</a></div>'\r\n                            +'<div class=\"p-info p-bfc\">'\r\n                                +'<div class=\"p-count fl\"><s>'+(i+1)+'</s><b>热销'+itemShopJsonb.hotSale[i].saleCount+'件</b></div>'\r\n                                +'<div class=\"p-price fr\"><strong p=\"J_'+itemShopJsonb.hotSale[i].skuId+'\"></strong></div>'\r\n                            +'</div></li>');\r\n        }\r\n        shopTempArray.push(shopHotSaleHtml.replace(\"{content}\",hotSaleContent.join(\"\")));\r\n    }\r\n    if(window.itemShopJsonb&&itemShopJsonb.hotFocus&&itemShopJsonb.hotFocus.length==5){\r\n        var shopHotFocusHtml='<div id=\"sp-hot-fo\" class=\"m m2 m3\" clstag=\"shangpin|keycount|product|pop-06\">'\r\n                    +'<div class=\"mt\"><h2>热门关注</h2></div>'\r\n                    +'<div class=\"mc\"><ul>{content}</ul></div>'\r\n                +'</div>';\r\n        var hotFocusContent=[];\r\n        for (var i=0,j=itemShopJsonb.hotFocus.length;i<j;i++){\r\n            hotFocusContent.push('<li class=\"fore'+(i+1)+'\">'\r\n                            +'<div class=\"p-img\"><a href=\"http://item.jd.com/'+itemShopJsonb.hotFocus[i].skuId+'.html\" title=\"'+itemShopJsonb.hotFocus[i].goodsName+'\" target=\"_blank\"><img alt=\"'+itemShopJsonb.hotFocus[i].goodsName+'\" data-lazyload=\"'+getImgFullPath(itemShopJsonb.hotFocus[i].skuId,itemShopJsonb.hotFocus[i].goodsImg,2)+'\"></a></div>'\r\n                            +'<div class=\"p-name\"><a href=\"http://item.jd.com/'+itemShopJsonb.hotFocus[i].skuId+'.html\" target=\"_blank\" title=\"'+itemShopJsonb.hotFocus[i].goodsName+'\">'+itemShopJsonb.hotFocus[i].goodsName+'</a></div>'\r\n                            +'<div class=\"p-info p-bfc\">'\r\n                                +'<div class=\"p-count fl\"><s>'+(i+1)+'</s><b>'+itemShopJsonb.hotFocus[i].focusCount+'人关注</b></div>'\r\n                                +'<div class=\"p-price fr\"><strong p=\"J_'+itemShopJsonb.hotFocus[i].skuId+'\"></strong></div>'\r\n                            +'</div></li>');\r\n        }\r\n        shopTempArray.push(shopHotFocusHtml.replace(\"{content}\",hotFocusContent.join(\"\")));\r\n    }\r\n    if(window.itemShopJsona&&itemShopJsona.shopRec&&itemShopJsona.shopRec.length>0){\r\n        var shopRecommHtml='<div id=\"sp-reco\" class=\"m m2 m3\" clstag=\"shangpin|keycount|product|pop-07\">'\r\n                    +'<div class=\"mt\"><h2>店长推荐</h2></div>'\r\n                    +'<div class=\"mc\"><ul>{content}</ul></div>'\r\n                +'</div>';\r\n        var shopRecContent=[];\r\n        for (var i=0,j=itemShopJsona.shopRec.length;i<j;i++){\r\n            shopRecContent.push('<li class=\"fore'+(i+1)+'\">'\r\n                            +'<div class=\"p-img\"><a href=\"http://item.jd.com/'+itemShopJsona.shopRec[i].skuId+'.html\" title=\"'+itemShopJsona.shopRec[i].goodsName+'\" target=\"_blank\"><img alt=\"'+itemShopJsona.shopRec[i].goodsName+'\" data-lazyload=\"'+getImgFullPath(itemShopJsona.shopRec[i].skuId,itemShopJsona.shopRec[i].goodsImg,2)+'\"></a></div>'\r\n                            +'<div class=\"p-name\"><a href=\"http://item.jd.com/'+itemShopJsona.shopRec[i].skuId+'.html\" target=\"_blank\" title=\"'+itemShopJsona.shopRec[i].goodsName+'\">'+itemShopJsona.shopRec[i].goodsName+'</a></div>'\r\n                            +'<div class=\"p-info p-bfc\">'\r\n                               // +'<div class=\"p-count fl\"></div>'\r\n                                +'<div class=\"p-price\"><strong p=\"J_'+itemShopJsona.shopRec[i].skuId+'\"></strong></div>'\r\n                            +'</div></li>');\r\n        }\r\n        shopTempArray.push(shopRecommHtml.replace(\"{content}\",shopRecContent.join(\"\")));\r\n    }\r\n    if(window.itemShopJsona&&itemShopJsona.shopAd){\r\n        shopTempArray.push('<div id=\"sp-ad\" class=\"m\" clstag=\"shangpin|keycount|product|pop-08\"><a href=\"'+itemShopJsona.shopAd.adUrl+'\" target=\"_blank\" title=\"'+itemShopJsona.shopAd.title+'\"><img data-lazyload=\"'+itemShopJsona.shopAd.adImg+'\" alt=\"'+itemShopJsona.shopAd.title+'\"/></a></div>');\r\n    }\r\n    if(shopTempArray.length>0){\r\n        leftDom.eq(0).html(\"\").prepend(shopTempArray.join(\"\"));\r\n        pageConfig.searchClick=function(type){\r\n            var keyword=$(\"#sp-keyword\").val();\r\n            if(keyword){keyword=encodeURIComponent(encodeURIComponent(keyword));}\r\n            var minprice=$(\"#sp-price\").val();\r\n            var maxprice=$(\"#sp-price1\").val();\r\n            if (keyword||minprice||maxprice){\r\n                window.open(itemShopJsona.searchLink+\"?orderBy=5&keyword=\"+keyword+\"&minPrice=\"+minprice+\"&maxPrice=\"+maxprice,\"_blank\");\r\n            }\r\n            else{\r\n                if(type == 1) return;\r\n                window.open(itemShopJsona.searchLink+\"?orderBy=5\",\"_blank\");\r\n            }\r\n        };\r\n        $(\"#btnShopSearch\").click(pageConfig.searchClick);\r\n        $(\"#sp-hot-sale img\").Jlazyload({type:\"image\",placeholderClass:\"err-product\"});\r\n        $(\"#sp-hot-fo img\").Jlazyload({type:\"image\",placeholderClass:\"err-product\"});\r\n        $(\"#sp-reco img\").Jlazyload({type:\"image\",placeholderClass:\"err-product\"});\r\n        $(\"#sp-ad img\").Jlazyload({type:\"image\"});\r\n        var containers=$(\"#sp-hot-sale,#sp-hot-fo,#sp-reco\");\r\n        var priceDoms=containers.find(\".p-price strong\");\r\n        var pids=[];\r\n        for(var i=0,j=priceDoms.length;i<j;i++){\r\n            pids.push(priceDoms.eq(i).attr(\"p\"));\r\n        }\r\n        $.ajax({type:\"get\",\r\n                dataType:\"jsonp\",\r\n                url:\"http://p.3.cn/prices/mgets\",\r\n                data:{type:1,skuIds:pids.join(\",\")},\r\n                success:function(r){\r\n                    if(r&&r.length>0){\r\n                        for(var i=0,j=r.length;i<j;i++){\r\n                            containers.find(\"strong[p='\"+r[i].id+\"']\").html(new Number(r[i].p)>0?(\"￥\"+r[i].p):\"暂无报价\");\r\n                        }\r\n                    }\r\n                }\r\n        });\r\n    }\r\n})();\r\nvar turl=$(\"#product-detail-5 .item-detail a:last\").attr(\"href\"); \r\nif(turl&&$(\"#product-detail-5 .link_1:last\").html()=='请点击这儿查询......'){$(\"#product-detail-5 .link_1:last\").attr(\"href\",turl);}\r\nif($(\".right div[id='comment']\").length==2)$(\".right div[id='comment']\").eq(1).remove();\r\nif(typeof jsf=='undefined'||!jsf)jsf={};\r\nif((pageConfig.product.skuid+\"\").length==6||(pageConfig.product.skuid+\"\").length==7){\r\n\tjsf.loadScript = function (url, callback){\r\n\t\tvar head = document.getElementsByTagName('head')[0];\r\n\t\tvar script = document.createElement('script');\r\n\t\tscript.type = 'text/javascript';\r\n\t\tscript.src = url;\r\n\t\tscript.onreadystatechange = callback;\r\n\t\tscript.onload = callback;\r\n\t\thead.appendChild(script);\r\n\t}\r\n//\t$.ajax({type:\"get\",\r\n//\t\t\tdataType:\"jsonp\",\r\n//\t\t\turl:\"http://x.jd.com/ShowInterface?ad_ids=57:1&urlcid3=\"+pageConfig.product.cat[2]+\"&ad_type=8&spread_type=1&debug=0&location_info=0\",\r\n//\t\t\tsuccess:function(data){\r\n//\t\t\t\t if (data) {\r\n//\t\t\t\t\tif (data.errcode == 0) {\r\n//\t\t\t\t\t\ttry{\r\n//\t\t\t\t\t\t\t$('<div id=\"ad_market_1\" class=\"m\"></div>').appendTo(\".left:first\");\r\n//\t\t\t\t\t\t\tvar el = document.getElementById('ad_market_1');\r\n//\t\t\t\t\t\t\tvar data2 =/<script type=\\\"text\\/javascript\\\">(.*?)<\\/script>/gim.exec(data.data);\r\n//\t\t\t\t\t\t\tif (data2) {\r\n//\t\t\t\t\t\t\t\tvar data3 = data2[1];\r\n//\t\t\t\t\t\t\t\tvar dataHtml = data.data.replace(/<script type=\\\"text\\/javascript\\\">.*?<\\/script>/gmi,'');\r\n//\t\t\t\t\t\t\t\tel.innerHTML = dataHtml;\r\n//\t\t\t\t\t\t\t\teval(data3);\r\n//\t\t\t\t\t\t\t}else {\r\n//\t\t\t\t\t\t\t\tel.innerHTML = data.data;\r\n//\t\t\t\t\t\t\t}\r\n//\t\t\t\t\t\t\tif (data.scriptsrc) {\r\n//\t\t\t\t\t\t\t\tjsf.loadScript(data.scriptsrc);\r\n//\t\t\t\t\t\t\t}\r\n//\t\t\t\t\t\t}catch (e){}\r\n//\t\t\t\t\t}\r\n//\t\t\t\t}\r\n//\t\t\t}\r\n//\t});\r\n}\r\nif((pageConfig.product.skuid+\"\").length==10&&(pageConfig.product.cat[0]==9847||pageConfig.product.cat[1]==1621)){\r\n\tvar obj=$(\"#product-detail-1 .detail-list li\");obj.eq(4).hide();\r\n\tif(pageConfig.product.cat[1]==1621){\r\n\t\tvar closeShow={\"尺寸\":1,\"被子重量\":1,\"适用床尺寸\":1,\"适用床品规格\":1,\"厚度\":1,\"规格尺寸\":1,\"毯子尺寸\":1};\r\n\t\tfor(var i=6,j=obj.length;i<j;i++){\r\n\t\t\tvar s=obj.eq(i).html();if(closeShow[s.substr(0,s.indexOf(\"：\")).trim()]){obj.eq(i).hide();}\r\n\t\t}\r\n\t}\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/js/jTips.js",
    "content": "/*\r\n trade Compressed by uglify \r\n Author:Fengwp \r\n Date: 2014-07-22 \r\n */\r\n!function(a,b,c){var d=function(b,c){this.opts=a.extend({content:b.title||\"\",width:null,oTop:5,oLeft:5,zIndex:100,id:null,\"class\":null,docClosed:!0,event:\"hover\",position:\"top\",close:!1,onShow:null,onHide:null},c),this.$obj=a(b),this.init()};d.prototype={init:function(){this.insertStyles('.Jtips{position:relative;float:left}.Jtips .Jtips-close{position:absolute;width:10px;height:10px;color:#f60;font:12px/10px \"simsun\";cursor:pointer}.Jtips .Jtips-arr{position:absolute;background-image:url(http://misc.360buyimg.com/purchase/trade/skin/i/arrow.gif);background-repeat:no-repeat;overflow:hidden}.Jtips.Jtips-top{padding-bottom:5px}.Jtips.Jtips-top .Jtips-close{right:10px;top:12px}.Jtips.Jtips-top .Jtips-arr{left:10px;bottom:0;width:11px;height:6px;background-position:0 -5px}.Jtips.Jtips-bottom{padding-top:5px}.Jtips.Jtips-bottom .Jtips-close{right:10px;top:17px}.Jtips.Jtips-bottom .Jtips-arr{top:0;left:10px;width:11px;height:6px;background-position:0 0}.Jtips.Jtips-left{padding-right:5px}.Jtips.Jtips-left .Jtips-close{right:16px;top:12px}.Jtips.Jtips-left .Jtips-arr{right:0;top:10px;width:6px;height:11px;background-position:-5px 0}.Jtips.Jtips-right{padding-left:5px}.Jtips.Jtips-right .Jtips-close{right:10px;top:12px}.Jtips.Jtips-right .Jtips-arr{top:10px;left:0;width:6px;height:11px;background-position:0 0}.Jtips .Jtips-con{padding:7px 30px 7px 10px;background:#fffdee;border:1px solid #edd28b;color:#333;-moz-box-shadow:0 0 2px 2px #eee;-webkit-box-shadow:0 0 2px 2px #eee;box-shadow:0 0 2px 2px #eee}.Jtips .Jtips-con a,.Jtips .Jtips-con a:visited{color:#005fab;text-decoration:none}.Jtips .Jtips-con a:hover{text-decoration:underline}');var a=this;a.bindEvent()},insertStyles:function(b){if(!a(\"#tipsCSS\").length){var d=c.getElementsByTagName(\"head\"),e=c.createElement(\"style\"),f=c.createElement(\"link\");if(/\\.css$/.test(b))f.rel=\"stylesheet\",f.type=\"text/css\",f.id=\"tipsCSS\",f.href=b,d.length?d[0].appendChild(f):c.documentElement.appendChild(f);else{if(e.setAttribute(\"type\",\"text/css\"),e.setAttribute(\"id\",\"tipsCSS\"),e.styleSheet)e.styleSheet.cssText=b;else{var g=c.createTextNode(b);e.appendChild(g)}d.length&&d[0].appendChild(e)}}},bindEvent:function(){var b=this;this._hide=this.remove(),\"hover\"===this.opts.event?this.$obj.bind(\"mouseenter\",function(){b.show()}).bind(\"mouseleave\",function(){b.hide()}):this.$obj.bind(\"click\",function(d){b.show(),b.opts.docClosed&&(a(c).bind(\"click\",b._hide),d.stopPropagation())})},bindClose:function(a){var b=this;a.find(\".Jtips-close\").bind(\"click\",function(){b._hide()})},getPosition:function(){var a=this.$obj;return{w:a.outerWidth(),h:a.outerHeight(),oTop:a.offset().top,oLeft:a.offset().left}},setPosition:function(b,c){var d=this.getPosition(),e=(a(\"body\").eq(0).width(),a(\"body\").eq(0).height(),{});b.css({position:\"absolute\",\"z-index\":this.opts.zIndex}),e={left:{top:d.oTop-10+this.opts.oTop,left:d.oLeft-this.tips.outerWidth()-this.opts.oLeft},right:{left:d.oLeft+d.w+this.opts.oLeft,top:d.oTop-10+this.opts.oTop},top:{left:d.oLeft-10+this.opts.oLeft,top:d.oTop-this.tips.outerHeight()-this.opts.oTop},bottom:{left:d.oLeft-10+this.opts.oLeft,top:d.oTop+d.h+this.opts.oTop}},b.css(e[c])},show:function(){var d=this.opts.close?'<div class=\"Jtips-close\">&times;</div>':\"\",e=a(\"<div\"+(this.opts.id?\" id='\"+this.opts.id+\"'\":\"\")+' class=\"Jtips Jtips-'+this.opts.position+(this.opts[\"class\"]?\" \"+this.opts[\"class\"]:\"\")+'\"><div class=\"Jtips-arr\"></div>'+d+'<div class=\"Jtips-con\">'+this.opts.content+\"</div></div>\"),f=this;a(\".Jtips\").remove(),b.clearTimeout(f.timer),this.tips=e,a(\"body\").eq(0).append(e),this.tips.css(\"width\",this.opts.width||e.width()).find(\".Jtips-con\").css(\"width\",(this.opts.width||e.width())-42),this.setPosition(e,this.opts.position),this.bindClose(e),\"hover\"===this.opts.event?this.tips.bind(\"mouseenter\",function(){b.clearTimeout(f.timer)}).bind(\"mouseleave\",function(){f.timer=setTimeout(f._hide,399)}):this.tips.bind(\"mouseenter\",function(){a(c).unbind(\"click\",f._hide)}).bind(\"mouseleave\",function(){a(c).bind(\"click\",f._hide)}),a(window).resize(function(){f.setPosition(e,f.opts.position)}),\"function\"==typeof this.opts.onShow&&this.opts.onShow.apply(this.$obj,[this.tips])},hide:function(){this.timer=setTimeout(this._hide,399)},remove:function(){var a=this;return function(){\"function\"==typeof a.opts.onHide?a.opts.onHide.apply(a.$obj,[a.tips])&&a.tips.remove():a.tips.remove()}}},a.fn.Jtips=function(b){return this.each(function(){var c=new d(this,b);a(this).data(\"Jtips\",c)})}}(jQuery,window,document);"
  },
  {
    "path": "migo-portal/src/main/webapp/js/jquery-1.6.4.js",
    "content": "/* jdf- jquery-1.6.4.js Date:2014-03-20 17:05:52 */\r\n!function(a,b){function k(a,c,d){if(d===b&&1===a.nodeType){var e=\"data-\"+c.replace(j,\"-$1\").toLowerCase();if(d=a.getAttribute(e),\"string\"==typeof d){try{d=\"true\"===d?!0:\"false\"===d?!1:\"null\"===d?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}function l(a){for(var b in a)if(\"toJSON\"!==b)return!1;return!0}function m(a,c,d){var e=c+\"defer\",g=c+\"queue\",h=c+\"mark\",i=f.data(a,e,b,!0);!i||\"queue\"!==d&&f.data(a,g,b,!0)||\"mark\"!==d&&f.data(a,h,b,!0)||setTimeout(function(){f.data(a,g,b,!0)||f.data(a,h,b,!0)||(f.removeData(a,e,!0),i.resolve())},0)}function C(){return!1}function D(){return!0}function J(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function L(a){var b,c,d,e,g,h,i,j,k,m,n,o,p=[],q=[],r=f._data(this,\"events\");if(a.liveFired!==this&&r&&r.live&&!a.target.disabled&&(!a.button||\"click\"!==a.type)){a.namespace&&(n=new RegExp(\"(^|\\\\.)\"+a.namespace.split(\".\").join(\"\\\\.(?:.*\\\\.)?\")+\"(\\\\.|$)\")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(w,\"\")===a.type?q.push(g.selector):s.splice(i--,1);for(e=f(a.target).closest(q,a.currentTarget),j=0,k=e.length;k>j;j++)for(m=e[j],i=0;i<s.length;i++)g=s[i],m.selector!==g.selector||n&&!n.test(g.namespace)||m.elem.disabled||(h=m.elem,d=null,(\"mouseenter\"===g.preType||\"mouseleave\"===g.preType)&&(a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h)),d&&d===h||p.push({\"elem\":h,\"handleObj\":g,\"level\":m.level}));for(j=0,k=p.length;k>j&&(e=p[j],!(c&&e.level>c))&&(a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments),o!==!1&&!a.isPropagationStopped()||(c=e.level,o===!1&&(b=!1),!a.isImmediatePropagationStopped()));j++);return b}}function M(a,b){return(a&&\"*\"!==a?a+\".\":\"\")+b.replace(y,\"`\").replace(z,\"&\")}function U(a){return!a||!a.parentNode||11===a.parentNode.nodeType}function V(a,b,c){if(b=b||0,f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a){return a===b===c});if(\"string\"==typeof b){var d=f.grep(a,function(a){return 1===a.nodeType});if(Q.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a){return f.inArray(a,b)>=0===c})}function fb(a){return f.nodeName(a,\"table\")?a.getElementsByTagName(\"tbody\")[0]||a.appendChild(a.ownerDocument.createElement(\"tbody\")):a}function gb(a,b){if(1===b.nodeType&&f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;if(e=e[c]=f.extend({},d),g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;j>i;i++)f.event.add(b,h+(g[h][i].namespace?\".\":\"\")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function hb(a,b){var c;1===b.nodeType&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),\"object\"===c?b.outerHTML=a.outerHTML:\"input\"!==c||\"checkbox\"!==a.type&&\"radio\"!==a.type?\"option\"===c?b.selected=a.defaultSelected:(\"input\"===c||\"textarea\"===c)&&(b.defaultValue=a.defaultValue):(a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)),b.removeAttribute(f.expando))}function ib(a){return\"getElementsByTagName\"in a?a.getElementsByTagName(\"*\"):\"querySelectorAll\"in a?a.querySelectorAll(\"*\"):[]}function jb(a){(\"checkbox\"===a.type||\"radio\"===a.type)&&(a.defaultChecked=a.checked)}function kb(a){f.nodeName(a,\"input\")?jb(a):\"getElementsByTagName\"in a&&f.grep(a.getElementsByTagName(\"input\"),jb)}function lb(a,b){b.src?f.ajax({\"url\":b.src,\"async\":!1,\"dataType\":\"script\"}):f.globalEval((b.text||b.textContent||b.innerHTML||\"\").replace(db,\"/*$0*/\")),b.parentNode&&b.parentNode.removeChild(b)}function yb(a,b,c){var d=\"width\"===b?a.offsetWidth:a.offsetHeight,e=\"width\"===b?tb:ub;return d>0?(\"border\"!==c&&f.each(e,function(){c||(d-=parseFloat(f.css(a,\"padding\"+this))||0),\"margin\"===c?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,\"border\"+this+\"Width\"))||0}),d+\"px\"):(d=vb(a,b,b),(0>d||null==d)&&(d=a.style[b]||0),d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,\"padding\"+this))||0,\"padding\"!==c&&(d+=parseFloat(f.css(a,\"border\"+this+\"Width\"))||0),\"margin\"===c&&(d+=parseFloat(f.css(a,c+this))||0)}),d+\"px\")}function Vb(a){return function(b,c){if(\"string\"!=typeof b&&(c=b,b=\"*\"),f.isFunction(c))for(var h,i,j,d=b.toLowerCase().split(Lb),e=0,g=d.length;g>e;e++)h=d[e],j=/^\\+/.test(h),j&&(h=h.substr(1)||\"*\"),i=a[h]=a[h]||[],i[j?\"unshift\":\"push\"](c)}}function Wb(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;for(var l,h=a[f],i=0,j=h?h.length:0,k=a===Pb;j>i&&(k||!l);i++)l=h[i](c,d,e),\"string\"==typeof l&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=Wb(a,c,d,e,l,g)));return!k&&l||g[\"*\"]||(l=Wb(a,c,d,e,\"*\",g)),l}function Xb(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function Yb(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||Ab.test(a)?d(a,e):Yb(a+\"[\"+(\"object\"==typeof e||f.isArray(e)?b:\"\")+\"]\",e,c,d)});else if(c||null==b||\"object\"!=typeof b)d(a,b);else for(var e in b)Yb(a+\"[\"+e+\"]\",b[e],c,d)}function Zb(a,c,d){var h,i,j,k,e=a.contents,f=a.dataTypes,g=a.responseFields;for(i in g)i in d&&(c[g[i]]=d[i]);for(;\"*\"===f[0];)f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader(\"content-type\"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+\" \"+f[0]]){j=i;break}k||(k=i)}j=j||k}return j?(j!==f[0]&&f.unshift(j),d[j]):void 0}function $b(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var g,h,j,l,m,n,o,p,d=a.dataTypes,e={},i=d.length,k=d[0];for(g=1;i>g;g++){if(1===g)for(h in a.converters)\"string\"==typeof h&&(e[h.toLowerCase()]=a.converters[h]);if(l=k,k=d[g],\"*\"===k)k=l;else if(\"*\"!==l&&l!==k){if(m=l+\" \"+k,n=e[m]||e[\"* \"+k],!n){p=b;for(o in e)if(j=o.split(\" \"),(j[0]===l||\"*\"===j[0])&&(p=e[j[1]+\" \"+k])){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}n||p||f.error(\"No conversion from \"+m.replace(\" \",\" to \")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ec(){try{return new a.XMLHttpRequest}catch(b){}}function fc(){try{return new a.ActiveXObject(\"Microsoft.XMLHTTP\")}catch(b){}}function oc(){return setTimeout(pc,0),nc=f.now()}function pc(){nc=b}function qc(a,b){var c={};return f.each(mc.concat.apply([],mc.slice(0,b)),function(){c[this]=a}),c}function rc(a){if(!gc[a]){var b=c.body,d=f(\"<\"+a+\">\").appendTo(b),e=d.css(\"display\");d.remove(),(\"none\"===e||\"\"===e)&&(hc||(hc=c.createElement(\"iframe\"),hc.frameBorder=hc.width=hc.height=0),b.appendChild(hc),ic&&hc.createElement||(ic=(hc.contentWindow||hc.contentDocument).document,ic.write((\"CSS1Compat\"===c.compatMode?\"<!doctype html>\":\"\")+\"<html><body>\"),ic.close()),d=ic.createElement(a),ic.body.appendChild(d),e=f.css(d,\"display\"),b.removeChild(hc)),gc[a]=e}return gc[a]}function uc(a){return f.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}var c=a.document,d=a.navigator,e=a.location,f=function(){function K(){if(!e.isReady){try{c.documentElement.doScroll(\"left\")}catch(a){return void setTimeout(K,1)}e.ready()}}var h,A,B,C,e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,i=/^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/,j=/\\S/,k=/^\\s+/,l=/\\s+$/,m=/\\d/,n=/^<(\\w+)\\s*\\/?>(?:<\\/\\1>)?$/,o=/^[\\],:{}\\s]*$/,p=/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,r=/(?:^|:|,)(?:\\s*\\[)+/g,s=/(webkit)[ \\/]([\\w.]+)/,t=/(opera)(?:.*version)?[ \\/]([\\w.]+)/,u=/(msie) ([\\w.]+)/,v=/(mozilla)(?:.*? rv:([\\w.]+))?/,w=/-([a-z]|[0-9])/gi,x=/^-ms-/,y=function(a,b){return(b+\"\").toUpperCase()},z=d.userAgent,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};return e.fn=e.prototype={\"constructor\":e,\"init\":function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(\"body\"===a&&!d&&c.body)return this.context=c,this[0]=c.body,this.selector=a,this.length=1,this;if(\"string\"==typeof a){if(g=\"<\"===a.charAt(0)&&\">\"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:i.exec(a),!g||!g[1]&&d)return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a);if(g[1])return d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes),e.merge(this,a);if(h=c.getElementById(g[2]),h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}return this.context=c,this.selector=a,this}return e.isFunction(a)?f.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),e.makeArray(a,this))},\"selector\":\"\",\"jquery\":\"1.6.4\",\"length\":0,\"size\":function(){return this.length},\"toArray\":function(){return G.call(this,0)},\"get\":function(a){return null==a?this.toArray():0>a?this[this.length+a]:this[a]},\"pushStack\":function(a,b,c){var d=this.constructor();return e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,\"find\"===b?d.selector=this.selector+(this.selector?\" \":\"\")+c:b&&(d.selector=this.selector+\".\"+b+\"(\"+c+\")\"),d},\"each\":function(a,b){return e.each(this,a,b)},\"ready\":function(a){return e.bindReady(),B.done(a),this},\"eq\":function(a){return-1===a?this.slice(a):this.slice(a,+a+1)},\"first\":function(){return this.eq(0)},\"last\":function(){return this.eq(-1)},\"slice\":function(){return this.pushStack(G.apply(this,arguments),\"slice\",G.call(arguments).join(\",\"))},\"map\":function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},\"end\":function(){return this.prevObject||this.constructor(null)},\"push\":F,\"sort\":[].sort,\"splice\":[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;for(\"boolean\"==typeof i&&(l=i,i=arguments[1]||{},j=2),\"object\"==typeof i||e.isFunction(i)||(i={}),k===j&&(i=this,--j);k>j;j++)if(null!=(a=arguments[j]))for(c in a)d=i[c],f=a[c],i!==f&&(l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f));return i},e.extend({\"noConflict\":function(b){return a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f),e},\"isReady\":!1,\"readyWait\":1,\"holdReady\":function(a){a?e.readyWait++:e.ready(!0)},\"ready\":function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);if(e.isReady=!0,a!==!0&&--e.readyWait>0)return;B.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger(\"ready\").unbind(\"ready\")}},\"bindReady\":function(){if(!B){if(B=e._Deferred(),\"complete\"===c.readyState)return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener(\"DOMContentLoaded\",C,!1),a.addEventListener(\"load\",e.ready,!1);else if(c.attachEvent){c.attachEvent(\"onreadystatechange\",C),a.attachEvent(\"onload\",e.ready);var b=!1;try{b=null==a.frameElement}catch(d){}c.documentElement.doScroll&&b&&K()}}},\"isFunction\":function(a){return\"function\"===e.type(a)},\"isArray\":Array.isArray||function(a){return\"array\"===e.type(a)},\"isWindow\":function(a){return a&&\"object\"==typeof a&&\"setInterval\"in a},\"isNaN\":function(a){return null==a||!m.test(a)||isNaN(a)},\"type\":function(a){return null==a?String(a):J[D.call(a)]||\"object\"},\"isPlainObject\":function(a){if(!a||\"object\"!==e.type(a)||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,\"constructor\")&&!E.call(a.constructor.prototype,\"isPrototypeOf\"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},\"isEmptyObject\":function(a){for(var b in a)return!1;return!0},\"error\":function(a){throw a},\"parseJSON\":function(b){return\"string\"==typeof b&&b?(b=e.trim(b),a.JSON&&a.JSON.parse?a.JSON.parse(b):o.test(b.replace(p,\"@\").replace(q,\"]\").replace(r,\"\"))?new Function(\"return \"+b)():void e.error(\"Invalid JSON: \"+b)):null},\"parseXML\":function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,\"text/xml\")):(d=new ActiveXObject(\"Microsoft.XMLDOM\"),d.async=\"false\",d.loadXML(c))}catch(g){d=b}return d&&d.documentElement&&!d.getElementsByTagName(\"parsererror\").length||e.error(\"Invalid XML: \"+c),d},\"noop\":function(){},\"globalEval\":function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},\"camelCase\":function(a){return a.replace(x,\"ms-\").replace(w,y)},\"nodeName\":function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},\"each\":function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d)if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;h>g&&c.apply(a[g++],d)!==!1;);else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;h>g&&c.call(a[g],g,a[g++])!==!1;);return a},\"trim\":H?function(a){return null==a?\"\":H.call(a)}:function(a){return null==a?\"\":a.toString().replace(k,\"\").replace(l,\"\")},\"makeArray\":function(a,b){var c=b||[];if(null!=a){var d=e.type(a);null==a.length||\"string\"===d||\"function\"===d||\"regexp\"===d||e.isWindow(a)?F.call(c,a):e.merge(c,a)}return c},\"inArray\":function(a,b){if(!b)return-1;if(I)return I.call(b,a);for(var c=0,d=b.length;d>c;c++)if(b[c]===a)return c;return-1},\"merge\":function(a,c){var d=a.length,e=0;if(\"number\"==typeof c.length)for(var f=c.length;f>e;e++)a[d++]=c[e];else for(;c[e]!==b;)a[d++]=c[e++];return a.length=d,a},\"grep\":function(a,b,c){var e,d=[];c=!!c;for(var f=0,g=a.length;g>f;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},\"map\":function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&\"number\"==typeof j&&(j>0&&a[0]&&a[j-1]||0===j||e.isArray(a));if(k)for(;j>i;i++)f=c(a[i],i,d),null!=f&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),null!=f&&(h[h.length]=f);return h.concat.apply([],h)},\"guid\":1,\"proxy\":function(a,c){if(\"string\"==typeof c){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=G.call(arguments,2),g=function(){return a.apply(c,f.concat(G.call(arguments)))};return g.guid=a.guid=a.guid||g.guid||e.guid++,g},\"access\":function(a,c,d,f,g,h){var i=a.length;if(\"object\"==typeof c){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;i>k;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},\"now\":function(){return(new Date).getTime()},\"uaMatch\":function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf(\"compatible\")<0&&v.exec(a)||[];return{\"browser\":b[1]||\"\",\"version\":b[2]||\"0\"}},\"sub\":function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(c,d){return d&&d instanceof e&&!(d instanceof a)&&(d=a(d)),e.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},\"browser\":{}}),e.each(\"Boolean Number String Function Array Date RegExp Object\".split(\" \"),function(a,b){J[\"[object \"+b+\"]\"]=b.toLowerCase()}),A=e.uaMatch(z),A.browser&&(e.browser[A.browser]=!0,e.browser.version=A.version),e.browser.webkit&&(e.browser.safari=!0),j.test(\"\\xa0\")&&(k=/^[\\s\\xA0]+/,l=/[\\s\\xA0]+$/),h=e(c),c.addEventListener?C=function(){c.removeEventListener(\"DOMContentLoaded\",C,!1),e.ready()}:c.attachEvent&&(C=function(){\"complete\"===c.readyState&&(c.detachEvent(\"onreadystatechange\",C),e.ready())}),e}(),g=\"done fail isResolved isRejected promise then always pipe\".split(\" \"),h=[].slice;f.extend({\"_Deferred\":function(){var b,c,d,a=[],e={\"done\":function(){if(!d){var g,h,i,j,k,c=arguments;for(b&&(k=b,b=0),g=0,h=c.length;h>g;g++)i=c[g],j=f.type(i),\"array\"===j?e.done.apply(e,i):\"function\"===j&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},\"resolveWith\":function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{for(;a[0];)a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},\"resolve\":function(){return e.resolveWith(this,arguments),this},\"isResolved\":function(){return!(!c&&!b)},\"cancel\":function(){return d=1,a=[],this}};return e},\"Deferred\":function(a){var d,b=f._Deferred(),c=f._Deferred();return f.extend(b,{\"then\":function(a,c){return b.done(a).fail(c),this},\"always\":function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},\"fail\":c.done,\"rejectWith\":c.resolveWith,\"reject\":c.resolve,\"isRejected\":c.isResolved,\"pipe\":function(a,c){return f.Deferred(function(d){f.each({\"done\":[a,\"resolve\"],\"fail\":[c,\"reject\"]},function(a,c){var h,e=c[0],g=c[1];b[a](f.isFunction(e)?function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g+\"With\"](this===b?d:this,[h])}:d[g])})}).promise()},\"promise\":function(a){if(null==a){if(d)return d;d=a={}}for(var c=g.length;c--;)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b),b},\"when\":function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=1>=d&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;d>c;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var d,e,g,h,i,j,k,l,m,n,o,p,q,s,t,u,a=c.createElement(\"div\"),b=c.documentElement;if(a.setAttribute(\"className\",\"t\"),a.innerHTML=\"   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>\",d=a.getElementsByTagName(\"*\"),e=a.getElementsByTagName(\"a\")[0],!d||!d.length||!e)return{};g=c.createElement(\"select\"),h=g.appendChild(c.createElement(\"option\")),i=a.getElementsByTagName(\"input\")[0],k={\"leadingWhitespace\":3===a.firstChild.nodeType,\"tbody\":!a.getElementsByTagName(\"tbody\").length,\"htmlSerialize\":!!a.getElementsByTagName(\"link\").length,\"style\":/top/.test(e.getAttribute(\"style\")),\"hrefNormalized\":\"/a\"===e.getAttribute(\"href\"),\"opacity\":/^0.55$/.test(e.style.opacity),\"cssFloat\":!!e.style.cssFloat,\"checkOn\":\"on\"===i.value,\"optSelected\":h.selected,\"getSetAttribute\":\"t\"!==a.className,\"submitBubbles\":!0,\"changeBubbles\":!0,\"focusinBubbles\":!1,\"deleteExpando\":!0,\"noCloneEvent\":!0,\"inlineBlockNeedsLayout\":!1,\"shrinkWrapBlocks\":!1,\"reliableMarginRight\":!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent(\"onclick\",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent(\"onclick\")),i=c.createElement(\"input\"),i.value=\"t\",i.setAttribute(\"type\",\"radio\"),k.radioValue=\"t\"===i.value,i.setAttribute(\"checked\",\"checked\"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML=\"\",a.style.width=a.style.paddingLeft=\"1px\",m=c.getElementsByTagName(\"body\")[0],o=c.createElement(m?\"div\":\"body\"),p={\"visibility\":\"hidden\",\"width\":0,\"height\":0,\"border\":0,\"margin\":0,\"background\":\"none\"},m&&f.extend(p,{\"position\":\"absolute\",\"left\":\"-1000px\",\"top\":\"-1000px\"});for(t in p)o.style[t]=p[t];if(o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=2===a.offsetWidth,\"zoom\"in a.style&&(a.style.display=\"inline\",a.style.zoom=1,k.inlineBlockNeedsLayout=2===a.offsetWidth,a.style.display=\"\",a.innerHTML=\"<div style='width:4px;'></div>\",k.shrinkWrapBlocks=2!==a.offsetWidth),a.innerHTML=\"<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>\",q=a.getElementsByTagName(\"td\"),u=0===q[0].offsetHeight,q[0].style.display=\"\",q[1].style.display=\"none\",k.reliableHiddenOffsets=u&&0===q[0].offsetHeight,a.innerHTML=\"\",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement(\"div\"),j.style.width=\"0\",j.style.marginRight=\"0\",a.appendChild(j),k.reliableMarginRight=0===(parseInt((c.defaultView.getComputedStyle(j,null)||{\"marginRight\":0}).marginRight,10)||0)),o.innerHTML=\"\",n.removeChild(o),a.attachEvent)for(t in{\"submit\":1,\"change\":1,\"focusin\":1})s=\"on\"+t,u=s in a,u||(a.setAttribute(s,\"return;\"),u=\"function\"==typeof a[s]),k[t+\"Bubbles\"]=u;return o=l=g=h=m=j=a=i=null,k}(),f.boxModel=f.support.boxModel;var i=/^(?:\\{.*\\}|\\[.*\\])$/,j=/([A-Z])/g;f.extend({\"cache\":{},\"uuid\":0,\"expando\":\"jQuery\"+(f.fn.jquery+Math.random()).replace(/\\D/g,\"\"),\"noData\":{\"embed\":!0,\"object\":\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\",\"applet\":!0},\"hasData\":function(a){return a=a.nodeType?f.cache[a[f.expando]]:a[f.expando],!!a&&!l(a)},\"data\":function(a,c,d,e){if(f.acceptData(a)){var g,h,i=f.expando,j=\"string\"==typeof c,k=a.nodeType,l=k?f.cache:a,m=k?a[f.expando]:a[f.expando]&&f.expando;if(!(!m||e&&m&&l[m]&&!l[m][i])||!j||d!==b)return m||(k?a[f.expando]=m=++f.uuid:m=f.expando),l[m]||(l[m]={},k||(l[m].toJSON=f.noop)),(\"object\"==typeof c||\"function\"==typeof c)&&(e?l[m][i]=f.extend(l[m][i],c):l[m]=f.extend(l[m],c)),g=l[m],e&&(g[i]||(g[i]={}),g=g[i]),d!==b&&(g[f.camelCase(c)]=d),\"events\"!==c||g[c]?(j?(h=g[c],null==h&&(h=g[f.camelCase(c)])):h=g,h):g[i]&&g[i].events}},\"removeData\":function(a,b,c){if(f.acceptData(a)){var d,e=f.expando,g=a.nodeType,h=g?f.cache:a,i=g?a[f.expando]:f.expando;if(h[i]&&!(b&&(d=c?h[i][e]:h[i],d&&(d[b]||(b=f.camelCase(b)),delete d[b],!l(d)))||c&&(delete h[i][e],!l(h[i])))){var j=h[i][e];f.support.deleteExpando||!h.setInterval?delete h[i]:h[i]=null,j?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=j):g&&(f.support.deleteExpando?delete a[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=null)}}},\"_data\":function(a,b,c){return f.data(a,b,c,!0)},\"acceptData\":function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return!(b===!0||a.getAttribute(\"classid\")!==b)}return!0}}),f.fn.extend({\"data\":function(a,c){var d=null;if(\"undefined\"==typeof a){if(this.length&&(d=f.data(this[0]),1===this[0].nodeType))for(var g,e=this[0].attributes,h=0,i=e.length;i>h;h++)g=e[h].name,0===g.indexOf(\"data-\")&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]));return d}if(\"object\"==typeof a)return this.each(function(){f.data(this,a)});var j=a.split(\".\");return j[1]=j[1]?\".\"+j[1]:\"\",c===b?(d=this.triggerHandler(\"getData\"+j[1]+\"!\",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d)),d===b&&j[1]?this.data(j[0]):d):this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler(\"setData\"+j[1]+\"!\",d),f.data(this,a,c),b.triggerHandler(\"changeData\"+j[1]+\"!\",d)})},\"removeData\":function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({\"_mark\":function(a,c){a&&(c=(c||\"fx\")+\"mark\",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},\"_unmark\":function(a,c,d){if(a!==!0&&(d=c,c=a,a=!1),c){d=d||\"fx\";var e=d+\"mark\",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,\"mark\"))}},\"queue\":function(a,c,d){if(a){c=(c||\"fx\")+\"queue\";var e=f.data(a,c,b,!0);return d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d)),e||[]}},\"dequeue\":function(a,b){b=b||\"fx\";var c=f.queue(a,b),d=c.shift();\"inprogress\"===d&&(d=c.shift()),d&&(\"fx\"===b&&c.unshift(\"inprogress\"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+\"queue\",!0),m(a,b,\"queue\"))}}),f.fn.extend({\"queue\":function(a,c){return\"string\"!=typeof a&&(c=a,a=\"fx\"),c===b?f.queue(this[0],a):this.each(function(){var b=f.queue(this,a,c);\"fx\"===a&&\"inprogress\"!==b[0]&&f.dequeue(this,a)})},\"dequeue\":function(a){return this.each(function(){f.dequeue(this,a)})},\"delay\":function(a,b){return a=f.fx?f.fx.speeds[a]||a:a,b=b||\"fx\",this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},\"clearQueue\":function(a){return this.queue(a||\"fx\",[])},\"promise\":function(a,c){function m(){--h||d.resolveWith(e,[e])}\"string\"!=typeof a&&(c=a,a=b),a=a||\"fx\";for(var l,d=f.Deferred(),e=this,g=e.length,h=1,i=a+\"defer\",j=a+\"queue\",k=a+\"mark\";g--;)(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))&&(h++,l.done(m));return m(),d.promise()}});var u,v,n=/[\\n\\t\\r]/g,o=/\\s+/,p=/\\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i;f.fn.extend({\"attr\":function(a,b){return f.access(this,a,b,!0,f.attr)},\"removeAttr\":function(a){return this.each(function(){f.removeAttr(this,a)})},\"prop\":function(a,b){return f.access(this,a,b,!0,f.prop)},\"removeProp\":function(a){return a=f.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},\"addClass\":function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&\"string\"==typeof a)for(b=a.split(o),c=0,d=this.length;d>c;c++)if(e=this[c],1===e.nodeType)if(e.className||1!==b.length){for(g=\" \"+e.className+\" \",h=0,i=b.length;i>h;h++)~g.indexOf(\" \"+b[h]+\" \")||(g+=b[h]+\" \");e.className=f.trim(g)}else e.className=a;return this},\"removeClass\":function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&\"string\"==typeof a||a===b)for(c=(a||\"\").split(o),d=0,e=this.length;e>d;d++)if(g=this[d],1===g.nodeType&&g.className)if(a){for(h=(\" \"+g.className+\" \").replace(n,\" \"),i=0,j=c.length;j>i;i++)h=h.replace(\" \"+c[i]+\" \",\" \");g.className=f.trim(h)}else g.className=\"\";return this},\"toggleClass\":function(a,b){var c=typeof a,d=\"boolean\"==typeof b;return this.each(f.isFunction(a)?function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if(\"string\"===c)for(var e,g=0,h=f(this),i=b,j=a.split(o);e=j[g++];)i=d?i:!h.hasClass(e),h[i?\"addClass\":\"removeClass\"](e);else(\"undefined\"===c||\"boolean\"===c)&&(this.className&&f._data(this,\"__className__\",this.className),this.className=this.className||a===!1?\"\":f._data(this,\"__className__\")||\"\")})},\"hasClass\":function(a){for(var b=\" \"+a+\" \",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(\" \"+this[c].className+\" \").replace(n,\" \").indexOf(b)>-1)return!0;return!1},\"val\":function(a){var c,d,e=this[0];if(!arguments.length)return e?(c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type],c&&\"get\"in c&&(d=c.get(e,\"value\"))!==b?d:(d=e.value,\"string\"==typeof d?d.replace(p,\"\"):null==d?\"\":d)):b;var g=f.isFunction(a);return this.each(function(d){var h,e=f(this);1===this.nodeType&&(h=g?a.call(this,d,e.val()):a,null==h?h=\"\":\"number\"==typeof h?h+=\"\":f.isArray(h)&&(h=f.map(h,function(a){return null==a?\"\":a+\"\"})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type],c&&\"set\"in c&&c.set(this,h,\"value\")!==b||(this.value=h))})}}),f.extend({\"valHooks\":{\"option\":{\"get\":function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},\"select\":{\"get\":function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=\"select-one\"===a.type;if(0>c)return null;for(var h=g?c:0,i=g?c+1:e.length;i>h;h++){var j=e[h];if(!(!j.selected||(f.support.optDisabled?j.disabled:null!==j.getAttribute(\"disabled\"))||j.parentNode.disabled&&f.nodeName(j.parentNode,\"optgroup\"))){if(b=f(j).val(),g)return b;d.push(b)}}return g&&!d.length&&e.length?f(e[c]).val():d},\"set\":function(a,b){var c=f.makeArray(b);return f(a).find(\"option\").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},\"attrFn\":{\"val\":!0,\"css\":!0,\"html\":!0,\"text\":!0,\"data\":!0,\"width\":!0,\"height\":!0,\"offset\":!0},\"attrFix\":{\"tabindex\":\"tabIndex\"},\"attr\":function(a,c,d,e){var g=a.nodeType;if(!a||3===g||8===g||2===g)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!(\"getAttribute\"in a))return f.prop(a,c,d);var h,i,j=1!==g||!f.isXMLDoc(a);return j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=v:u&&(i=u))),d!==b?null===d?(f.removeAttr(a,c),b):i&&\"set\"in i&&j&&(h=i.set(a,d,c))!==b?h:(a.setAttribute(c,\"\"+d),d):i&&\"get\"in i&&j&&null!==(h=i.get(a,c))?h:(h=a.getAttribute(c),null===h?b:h)},\"removeAttr\":function(a,b){var c;1===a.nodeType&&(b=f.attrFix[b]||b,f.attr(a,b,\"\"),a.removeAttribute(b),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},\"attrHooks\":{\"type\":{\"set\":function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error(\"type property can't be changed\");else if(!f.support.radioValue&&\"radio\"===b&&f.nodeName(a,\"input\")){var c=a.value;return a.setAttribute(\"type\",b),c&&(a.value=c),b}}},\"value\":{\"get\":function(a,b){return u&&f.nodeName(a,\"button\")?u.get(a,b):b in a?a.value:null},\"set\":function(a,b,c){return u&&f.nodeName(a,\"button\")?u.set(a,b,c):void(a.value=b)}}},\"propFix\":{\"tabindex\":\"tabIndex\",\"readonly\":\"readOnly\",\"for\":\"htmlFor\",\"class\":\"className\",\"maxlength\":\"maxLength\",\"cellspacing\":\"cellSpacing\",\"cellpadding\":\"cellPadding\",\"rowspan\":\"rowSpan\",\"colspan\":\"colSpan\",\"usemap\":\"useMap\",\"frameborder\":\"frameBorder\",\"contenteditable\":\"contentEditable\"},\"prop\":function(a,c,d){var e=a.nodeType;if(!a||3===e||8===e||2===e)return b;var g,h,i=1!==e||!f.isXMLDoc(a);return i&&(c=f.propFix[c]||c,h=f.propHooks[c]),d!==b?h&&\"set\"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&\"get\"in h&&null!==(g=h.get(a,c))?g:a[c]},\"propHooks\":{\"tabIndex\":{\"get\":function(a){var c=a.getAttributeNode(\"tabindex\");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabIndex=f.propHooks.tabIndex,v={\"get\":function(a,c){var d;return f.prop(a,c)===!0||(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},\"set\":function(a,b,c){var d;return b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase())),c}},f.support.getSetAttribute||(u=f.valHooks.button={\"get\":function(a,c){var d;return d=a.getAttributeNode(c),d&&\"\"!==d.nodeValue?d.nodeValue:b},\"set\":function(a,b,d){var e=a.getAttributeNode(d);return e||(e=c.createAttribute(d),a.setAttributeNode(e)),e.nodeValue=b+\"\"}},f.each([\"width\",\"height\"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{\"set\":function(a,c){return\"\"===c?(a.setAttribute(b,\"auto\"),c):void 0}})})),f.support.hrefNormalized||f.each([\"href\",\"src\",\"width\",\"height\"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{\"get\":function(a){var d=a.getAttribute(c,2);return null===d?b:d}})}),f.support.style||(f.attrHooks.style={\"get\":function(a){return a.style.cssText.toLowerCase()||b},\"set\":function(a,b){return a.style.cssText=\"\"+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{\"get\":function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}})),f.support.checkOn||f.each([\"radio\",\"checkbox\"],function(){f.valHooks[this]={\"get\":function(a){return null===a.getAttribute(\"value\")?\"on\":a.value}}}),f.each([\"radio\",\"checkbox\"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{\"set\":function(a,b){return f.isArray(b)?a.checked=f.inArray(f(a).val(),b)>=0:void 0}})});var w=/\\.(.*)$/,x=/^(?:textarea|input|select)$/i,y=/\\./g,z=/ /g,A=/[^\\w\\s.|`]/g,B=function(a){return a.replace(A,\"\\\\$&\")};f.event={\"add\":function(a,c,d,e){if(3!==a.nodeType&&8!==a.nodeType){if(d===!1)d=C;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(i){var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return\"undefined\"==typeof f||a&&f.event.triggered===a.type?b:f.event.handle.apply(k.elem,arguments)}),k.elem=a,c=c.split(\" \");for(var l,n,m=0;l=c[m++];){h=g?f.extend({},g):{\"handler\":d,\"data\":e},l.indexOf(\".\")>-1?(n=l.split(\".\"),l=n.shift(),h.namespace=n.slice(0).sort().join(\".\")):(n=[],h.namespace=\"\"),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};o||(o=j[l]=[],p.setup&&p.setup.call(a,e,n,k)!==!1||(a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent(\"on\"+l,k))),p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}}},\"global\":{},\"remove\":function(a,c,d,e){if(3!==a.nodeType&&8!==a.nodeType){d===!1&&(d=C);var g,h,j,l,m,n,o,p,q,r,k=0,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(s&&t)if(c&&c.type&&(d=c.handler,c=c.type),!c||\"string\"==typeof c&&\".\"===c.charAt(0)){c=c||\"\";for(h in t)f.event.remove(a,h+c)}else{for(c=c.split(\" \");h=c[k++];)if(r=h,q=null,l=h.indexOf(\".\")<0,m=[],l||(m=h.split(\".\"),h=m.shift(),n=new RegExp(\"(^|\\\\.)\"+f.map(m.slice(0).sort(),B).join(\"\\\\.(?:.*\\\\.)?\")+\"(\\\\.|$)\")),p=t[h])if(d){for(o=f.event.special[h]||{},j=e||0;j<p.length&&(q=p[j],d.guid!==q.guid||((l||n.test(q.namespace))&&(null==e&&p.splice(j--,1),o.remove&&o.remove.call(a,q)),null==e));j++);(0===p.length||null!=e&&1===p.length)&&(o.teardown&&o.teardown.call(a,m)!==!1||f.removeEvent(a,h,s.handle),g=null,delete t[h])\r\n}else for(j=0;j<p.length;j++)q=p[j],(l||n.test(q.namespace))&&(f.event.remove(a,r,q.handler,j),p.splice(j--,1));if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}}},\"customEvent\":{\"getData\":!0,\"setData\":!0,\"changeData\":!0},\"trigger\":function(c,d,e,g){var j,h=c.type||c,i=[];if(h.indexOf(\"!\")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(\".\")>=0&&(i=h.split(\".\"),h=i.shift(),i.sort()),e&&!f.event.customEvent[h]||f.event.global[h]){if(c=\"object\"==typeof c?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join(\".\"),c.namespace_re=new RegExp(\"(^|\\\\.)\"+i.join(\"\\\\.(?:.*\\\\.)?\")+\"(\\\\.|$)\"),(g||!e)&&(c.preventDefault(),c.stopPropagation()),!e)return void f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});if(3!==e.nodeType&&8!==e.nodeType){c.result=b,c.target=e,d=null!=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(\":\")<0?\"on\"+h:\"\";do{var m=f._data(k,\"handle\");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if(!(o._default&&o._default.call(e.ownerDocument,c)!==!1||\"click\"===h&&f.nodeName(e,\"a\")||!f.acceptData(e))){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}}},\"handle\":function(c){c=f.event.fix(c||a.event);var d=((f._data(this,\"events\")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;i>h;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);if(k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation())),c.isImmediatePropagationStopped())break}}return c.result},\"props\":\"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which\".split(\" \"),\"fix\":function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var g,e=this.props.length;e;)g=this.props[--e],a[g]=d[g];if(a.target||(a.target=a.srcElement||c),3===a.target.nodeType&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement),null==a.pageX&&null!=a.clientX){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}return null!=a.which||null==a.charCode&&null==a.keyCode||(a.which=null!=a.charCode?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),a.which||a.button===b||(a.which=1&a.button?1:2&a.button?3:4&a.button?2:0),a},\"guid\":1e8,\"proxy\":f.proxy,\"special\":{\"ready\":{\"setup\":f.bindReady,\"teardown\":f.noop},\"live\":{\"add\":function(a){f.event.add(this,M(a.origType,a.selector),f.extend({},a,{\"handler\":L,\"guid\":a.handler.guid}))},\"remove\":function(a){f.event.remove(this,M(a.origType,a.selector),a)}},\"beforeunload\":{\"setup\":function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},\"teardown\":function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent(\"on\"+b,c)},f.Event=function(a,b){return this.preventDefault?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?D:C):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),void(this[f.expando]=!0)):new f.Event(a,b)},f.Event.prototype={\"preventDefault\":function(){this.isDefaultPrevented=D;var a=this.originalEvent;a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},\"stopPropagation\":function(){this.isPropagationStopped=D;var a=this.originalEvent;a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},\"stopImmediatePropagation\":function(){this.isImmediatePropagationStopped=D,this.stopPropagation()},\"isDefaultPrevented\":C,\"isPropagationStopped\":C,\"isImmediatePropagationStopped\":C};var E=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},F=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};if(f.each({\"mouseenter\":\"mouseover\",\"mouseleave\":\"mouseout\"},function(a,b){f.event.special[a]={\"setup\":function(c){f.event.add(this,b,c&&c.selector?F:E,a)},\"teardown\":function(a){f.event.remove(this,b,a&&a.selector?F:E)}}}),f.support.submitBubbles||(f.event.special.submit={\"setup\":function(){return f.nodeName(this,\"form\")?!1:(f.event.add(this,\"click.specialSubmit\",function(a){var b=a.target,c=f.nodeName(b,\"input\")||f.nodeName(b,\"button\")?b.type:\"\";\"submit\"!==c&&\"image\"!==c||!f(b).closest(\"form\").length||J(\"submit\",this,arguments)}),void f.event.add(this,\"keypress.specialSubmit\",function(a){var b=a.target,c=f.nodeName(b,\"input\")||f.nodeName(b,\"button\")?b.type:\"\";\"text\"!==c&&\"password\"!==c||!f(b).closest(\"form\").length||13!==a.keyCode||J(\"submit\",this,arguments)}))},\"teardown\":function(){f.event.remove(this,\".specialSubmit\")}}),!f.support.changeBubbles){var G,H=function(a){var b=f.nodeName(a,\"input\")?a.type:\"\",c=a.value;return\"radio\"===b||\"checkbox\"===b?c=a.checked:\"select-multiple\"===b?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join(\"-\"):\"\":f.nodeName(a,\"select\")&&(c=a.selectedIndex),c},I=function(a){var d,e,c=a.target;x.test(c.nodeName)&&!c.readOnly&&(d=f._data(c,\"_change_data\"),e=H(c),(\"focusout\"!==a.type||\"radio\"!==c.type)&&f._data(c,\"_change_data\",e),d!==b&&e!==d&&(null!=d||e)&&(a.type=\"change\",a.liveFired=b,f.event.trigger(a,arguments[1],c)))};f.event.special.change={\"filters\":{\"focusout\":I,\"beforedeactivate\":I,\"click\":function(a){var b=a.target,c=f.nodeName(b,\"input\")?b.type:\"\";(\"radio\"===c||\"checkbox\"===c||f.nodeName(b,\"select\"))&&I.call(this,a)},\"keydown\":function(a){var b=a.target,c=f.nodeName(b,\"input\")?b.type:\"\";(13===a.keyCode&&!f.nodeName(b,\"textarea\")||32===a.keyCode&&(\"checkbox\"===c||\"radio\"===c)||\"select-multiple\"===c)&&I.call(this,a)},\"beforeactivate\":function(a){var b=a.target;f._data(b,\"_change_data\",H(b))}},\"setup\":function(){if(\"file\"===this.type)return!1;for(var c in G)f.event.add(this,c+\".specialChange\",G[c]);return x.test(this.nodeName)},\"teardown\":function(){return f.event.remove(this,\".specialChange\"),x.test(this.nodeName)}},G=f.event.special.change.filters,G.focus=G.beforeactivate}f.support.focusinBubbles||f.each({\"focus\":\"focusin\",\"blur\":\"focusout\"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={\"setup\":function(){0===d++&&c.addEventListener(a,e,!0)},\"teardown\":function(){0===--d&&c.removeEventListener(a,e,!0)}}}),f.each([\"bind\",\"one\"],function(a,c){f.fn[c]=function(a,d,e){var g;if(\"object\"==typeof a){for(var h in a)this[c](h,d,a[h],e);return this}if((2===arguments.length||d===!1)&&(e=d,d=b),\"one\"===c?(g=function(a){return f(this).unbind(a,g),e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e,\"unload\"===a&&\"one\"!==c)this.one(a,d,e);else for(var i=0,j=this.length;j>i;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({\"unbind\":function(a,b){if(\"object\"!=typeof a||a.preventDefault)for(var d=0,e=this.length;e>d;d++)f.event.remove(this[d],a,b);else for(var c in a)this.unbind(c,a[c]);return this},\"delegate\":function(a,b,c,d){return this.live(b,c,d,a)},\"undelegate\":function(a,b,c){return 0===arguments.length?this.unbind(\"live\"):this.die(b,null,c,a)},\"trigger\":function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},\"triggerHandler\":function(a,b){return this[0]?f.event.trigger(a,b,this[0],!0):void 0},\"toggle\":function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,\"lastToggle\"+a.guid)||0)%d;return f.data(this,\"lastToggle\"+a.guid,e+1),c.preventDefault(),b[e].apply(this,arguments)||!1};for(e.guid=c;d<b.length;)b[d++].guid=c;return this.click(e)},\"hover\":function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var K={\"focus\":\"focusin\",\"blur\":\"focusout\",\"mouseenter\":\"mouseover\",\"mouseleave\":\"mouseout\"};f.each([\"live\",\"die\"],function(a,c){f.fn[c]=function(a,d,e,g){var h,j,k,l,i=0,m=g||this.selector,n=g?this:f(this.context);if(\"object\"==typeof a&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(\"die\"===c&&!a&&g&&\".\"===g.charAt(0))return n.unbind(g),this;for((d===!1||f.isFunction(d))&&(e=d||C,d=b),a=(a||\"\").split(\" \");null!=(h=a[i++]);)if(j=w.exec(h),k=\"\",j&&(k=j[0],h=h.replace(w,\"\")),\"hover\"!==h)if(l=h,K[h]?(a.push(K[h]+k),h+=k):h=(K[h]||h)+k,\"live\"===c)for(var p=0,q=n.length;q>p;p++)f.event.add(n[p],\"live.\"+M(h,m),{\"data\":d,\"selector\":m,\"handler\":e,\"origType\":h,\"origHandler\":e,\"preType\":l});else n.unbind(\"live.\"+M(h,m),e);else a.push(\"mouseenter\"+k,\"mouseleave\"+k);return this}}),f.each(\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error\".split(\" \"),function(a,b){f.fn[b]=function(a,c){return null==c&&(c=a,a=null),arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function t(a,b,c,d,e,f){for(var g=0,h=d.length;h>g;g++){var i=d[g];if(i){var j=!1;for(i=i[a];i;){if(i.sizcache===c){j=d[i.sizset];break}if(1!==i.nodeType||f||(i.sizcache=c,i.sizset=g),i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}function u(a,b,c,d,e,f){for(var g=0,h=d.length;h>g;g++){var i=d[g];if(i){var j=!1;for(i=i[a];i;){if(i.sizcache===c){j=d[i.sizset];break}if(1===i.nodeType)if(f||(i.sizcache=c,i.sizset=g),\"string\"!=typeof b){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\\((?:\\([^()]+\\)|[^()]+)+\\)|\\[(?:\\[[^\\[\\]]*\\]|['\"][^'\"]*['\"]|[^\\[\\]'\"]+)+\\]|\\\\.|[^ >+~,(\\[\\\\]+)+|[>+~])(\\s*,\\s*)?((?:.|\\r|\\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\\\/g,j=/\\W/;[0,0].sort(function(){return h=!1,0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(1!==d.nodeType&&9!==d.nodeType)return[];if(!b||\"string\"!=typeof b)return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do if(a.exec(\"\"),i=a.exec(y),i&&(y=i[3],x.push(i[1]),i[2])){o=i[3];break}while(i);if(x.length>1&&m.exec(b))if(2===x.length&&l.relative[x[0]])j=v(x[0]+x[1],d);else for(j=l.relative[x[0]]?[d]:k(x.shift(),d);x.length;)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j);else if(!g&&x.length>1&&9===d.nodeType&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]),d)for(q=g?{\"expr\":x.pop(),\"set\":p(g)}:k.find(x.pop(),1!==x.length||\"~\"!==x[0]&&\"+\"!==x[0]||!d.parentNode?d:d.parentNode,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;x.length;)r=x.pop(),s=r,l.relative[r]?s=x.pop():r=\"\",null==s&&(s=d),l.relative[r](n,s,w);else n=x=[];if(n||(n=j),n||k.error(r||b),\"[object Array]\"===e.call(n))if(u)if(d&&1===d.nodeType)for(t=0;null!=n[t];t++)n[t]&&(n[t]===!0||1===n[t].nodeType&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;null!=n[t];t++)n[t]&&1===n[t].nodeType&&f.push(j[t]);else f.push.apply(f,n);else p(n,f);return o&&(k(o,h,f,g),k.uniqueSort(f)),f};k.uniqueSort=function(a){if(r&&(g=h,a.sort(r),g))for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1);return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;f>e;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];if(g.splice(1,1),\"\\\\\"!==j.substr(j.length-1)&&(g[1]=(g[1]||\"\").replace(i,\"\"),d=l.find[h](g,b,c),null!=d)){a=a.replace(l.match[h],\"\");break}}}return d||(d=\"undefined\"!=typeof b.getElementsByTagName?b.getElementsByTagName(\"*\"):[]),{\"set\":d,\"expr\":a}},k.filter=function(a,c,d,e){for(var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);a&&c.length;){for(var n in l.filter)if(null!=(f=l.leftMatch[n].exec(a))&&f[2]){var o,p,q=l.filter[n],r=f[1];if(g=!1,f.splice(1,1),\"\\\\\"===r.substr(r.length-1))continue;if(j===i&&(i=[]),l.preFilter[n])if(f=l.preFilter[n](f,j,d,i,e,m)){if(f===!0)continue}else g=o=!0;if(f)for(var s=0;null!=(p=j[s]);s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&null!=o?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){if(d||(j=i),a=a.replace(l.match[n],\"\"),!g)return[];break}}if(a===h){if(null!=g)break;k.error(a)}h=a}return j},k.error=function(a){throw\"Syntax error, unrecognized expression: \"+a};var l=k.selectors={\"order\":[\"ID\",\"NAME\",\"TAG\"],\"match\":{\"ID\":/#((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/,\"CLASS\":/\\.((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/,\"NAME\":/\\[name=['\"]*((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)['\"]*\\]/,\"ATTR\":/\\[\\s*((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)\\s*(?:(\\S?=)\\s*(?:(['\"])(.*?)\\3|(#?(?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)*)|)|)\\s*\\]/,\"TAG\":/^((?:[\\w\\u00c0-\\uFFFF\\*\\-]|\\\\.)+)/,\"CHILD\":/:(only|nth|last|first)-child(?:\\(\\s*(even|odd|(?:[+\\-]?\\d+|(?:[+\\-]?\\d*)?n\\s*(?:[+\\-]\\s*\\d+)?))\\s*\\))?/,\"POS\":/:(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\))?(?=[^\\-]|$)/,\"PSEUDO\":/:((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)(?:\\((['\"]?)((?:\\([^\\)]+\\)|[^\\(\\)]*)+)\\2\\))?/},\"leftMatch\":{},\"attrMap\":{\"class\":\"className\",\"for\":\"htmlFor\"},\"attrHandle\":{\"href\":function(a){return a.getAttribute(\"href\")},\"type\":function(a){return a.getAttribute(\"type\")}},\"relative\":{\"+\":function(a,b){var c=\"string\"==typeof b,d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var h,f=0,g=a.length;g>f;f++)if(h=a[f]){for(;(h=h.previousSibling)&&1!==h.nodeType;);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},\">\":function(a,b){var c,d=\"string\"==typeof b,e=0,f=a.length;if(d&&!j.test(b)){for(b=b.toLowerCase();f>e;e++)if(c=a[e]){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}else{for(;f>e;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},\"\":function(a,b,c){var e,f=d++,g=u;\"string\"!=typeof b||j.test(b)||(b=b.toLowerCase(),e=b,g=t),g(\"parentNode\",b,f,a,e,c)},\"~\":function(a,b,c){var e,f=d++,g=u;\"string\"!=typeof b||j.test(b)||(b=b.toLowerCase(),e=b,g=t),g(\"previousSibling\",b,f,a,e,c)}},\"find\":{\"ID\":function(a,b,c){if(\"undefined\"!=typeof b.getElementById&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},\"NAME\":function(a,b){if(\"undefined\"!=typeof b.getElementsByName){for(var c=[],d=b.getElementsByName(a[1]),e=0,f=d.length;f>e;e++)d[e].getAttribute(\"name\")===a[1]&&c.push(d[e]);return 0===c.length?null:c}},\"TAG\":function(a,b){return\"undefined\"!=typeof b.getElementsByTagName?b.getElementsByTagName(a[1]):void 0}},\"preFilter\":{\"CLASS\":function(a,b,c,d,e,f){if(a=\" \"+a[1].replace(i,\"\")+\" \",f)return a;for(var h,g=0;null!=(h=b[g]);g++)h&&(e^(h.className&&(\" \"+h.className+\" \").replace(/[\\t\\n\\r]/g,\" \").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},\"ID\":function(a){return a[1].replace(i,\"\")},\"TAG\":function(a){return a[1].replace(i,\"\").toLowerCase()},\"CHILD\":function(a){if(\"nth\"===a[1]){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\\+|\\s*/g,\"\");var b=/(-?)(\\d*)(?:n([+\\-]?\\d*))?/.exec(\"even\"===a[2]&&\"2n\"||\"odd\"===a[2]&&\"2n+1\"||!/\\D/.test(a[2])&&\"0n+\"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);return a[0]=d++,a},\"ATTR\":function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,\"\");return!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||\"\").replace(i,\"\"),\"~=\"===a[2]&&(a[4]=\" \"+a[4]+\" \"),a},\"PSEUDO\":function(b,c,d,e,f){if(\"not\"===b[1]){if(!((a.exec(b[3])||\"\").length>1||/^\\w/.test(b[3]))){var g=k.filter(b[3],c,d,!0^f);return d||e.push.apply(e,g),!1}b[3]=k(b[3],null,null,c)}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},\"POS\":function(a){return a.unshift(!0),a}},\"filters\":{\"enabled\":function(a){return a.disabled===!1&&\"hidden\"!==a.type},\"disabled\":function(a){return a.disabled===!0},\"checked\":function(a){return a.checked===!0},\"selected\":function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},\"parent\":function(a){return!!a.firstChild},\"empty\":function(a){return!a.firstChild},\"has\":function(a,b,c){return!!k(c[3],a).length},\"header\":function(a){return/h\\d/i.test(a.nodeName)},\"text\":function(a){var b=a.getAttribute(\"type\"),c=a.type;return\"input\"===a.nodeName.toLowerCase()&&\"text\"===c&&(b===c||null===b)},\"radio\":function(a){return\"input\"===a.nodeName.toLowerCase()&&\"radio\"===a.type},\"checkbox\":function(a){return\"input\"===a.nodeName.toLowerCase()&&\"checkbox\"===a.type},\"file\":function(a){return\"input\"===a.nodeName.toLowerCase()&&\"file\"===a.type},\"password\":function(a){return\"input\"===a.nodeName.toLowerCase()&&\"password\"===a.type},\"submit\":function(a){var b=a.nodeName.toLowerCase();return(\"input\"===b||\"button\"===b)&&\"submit\"===a.type},\"image\":function(a){return\"input\"===a.nodeName.toLowerCase()&&\"image\"===a.type},\"reset\":function(a){var b=a.nodeName.toLowerCase();return(\"input\"===b||\"button\"===b)&&\"reset\"===a.type},\"button\":function(a){var b=a.nodeName.toLowerCase();return\"input\"===b&&\"button\"===a.type||\"button\"===b},\"input\":function(a){return/input|select|textarea|button/i.test(a.nodeName)},\"focus\":function(a){return a===a.ownerDocument.activeElement}},\"setFilters\":{\"first\":function(a,b){return 0===b},\"last\":function(a,b,c,d){return b===d.length-1},\"even\":function(a,b){return b%2===0},\"odd\":function(a,b){return b%2===1},\"lt\":function(a,b,c){return b<c[3]-0},\"gt\":function(a,b,c){return b>c[3]-0},\"nth\":function(a,b,c){return c[3]-0===b},\"eq\":function(a,b,c){return c[3]-0===b}},\"filter\":{\"PSEUDO\":function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(\"contains\"===e)return(a.textContent||a.innerText||k.getText([a])||\"\").indexOf(b[3])>=0;if(\"not\"===e){for(var g=b[3],h=0,i=g.length;i>h;h++)if(g[h]===a)return!1;return!0}k.error(e)},\"CHILD\":function(a,b){var c=b[1],d=a;switch(c){case\"only\":case\"first\":for(;d=d.previousSibling;)if(1===d.nodeType)return!1;if(\"first\"===c)return!0;d=a;case\"last\":for(;d=d.nextSibling;)if(1===d.nodeType)return!1;return!0;case\"nth\":var e=b[2],f=b[3];if(1===e&&0===f)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)1===d.nodeType&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return 0===e?0===j:j%e===0&&j/e>=0}},\"ID\":function(a,b){return 1===a.nodeType&&a.getAttribute(\"id\")===b},\"TAG\":function(a,b){return\"*\"===b&&1===a.nodeType||a.nodeName.toLowerCase()===b},\"CLASS\":function(a,b){return(\" \"+(a.className||a.getAttribute(\"class\"))+\" \").indexOf(b)>-1},\"ATTR\":function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):null!=a[c]?a[c]:a.getAttribute(c),e=d+\"\",f=b[2],g=b[4];return null==d?\"!=\"===f:\"=\"===f?e===g:\"*=\"===f?e.indexOf(g)>=0:\"~=\"===f?(\" \"+e+\" \").indexOf(g)>=0:g?\"!=\"===f?e!==g:\"^=\"===f?0===e.indexOf(g):\"$=\"===f?e.substr(e.length-g.length)===g:\"|=\"===f?e===g||e.substr(0,g.length+1)===g+\"-\":!1:e&&d!==!1},\"POS\":function(a,b,c,d){var e=b[2],f=l.setFilters[e];return f?f(a,c,b,d):void 0}}},m=l.match.POS,n=function(a,b){return\"\\\\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\\[]*\\])(?![^\\(]*\\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\\r|\\n)*?)/.source+l.match[o].source.replace(/\\\\(\\d+)/g,n));var p=function(a,b){return a=Array.prototype.slice.call(a,0),b?(b.push.apply(b,a),b):a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(\"[object Array]\"===e.call(a))Array.prototype.push.apply(d,a);else if(\"number\"==typeof a.length)for(var f=a.length;f>c;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){return a===b?(g=!0,0):a.compareDocumentPosition&&b.compareDocumentPosition?4&a.compareDocumentPosition(b)?-1:1:a.compareDocumentPosition?-1:1}:(r=function(a,b){if(a===b)return g=!0,0;if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;for(;j;)e.unshift(j),j=j.parentNode;for(j=i;j;)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;c>k&&d>k;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;for(var d=a.nextSibling;d;){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){for(var c,b=\"\",d=0;a[d];d++)c=a[d],3===c.nodeType||4===c.nodeType?b+=c.nodeValue:8!==c.nodeType&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement(\"div\"),d=\"script\"+(new Date).getTime(),e=c.documentElement;a.innerHTML=\"<a name='\"+d+\"'/>\",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(\"undefined\"!=typeof c.getElementById&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||\"undefined\"!=typeof e.getAttributeNode&&e.getAttributeNode(\"id\").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=\"undefined\"!=typeof a.getAttributeNode&&a.getAttributeNode(\"id\");return 1===a.nodeType&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement(\"div\");a.appendChild(c.createComment(\"\")),a.getElementsByTagName(\"*\").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(\"*\"===a[1]){for(var d=[],e=0;c[e];e++)1===c[e].nodeType&&d.push(c[e]);c=d}return c}),a.innerHTML=\"<a href='#'></a>\",a.firstChild&&\"undefined\"!=typeof a.firstChild.getAttribute&&\"#\"!==a.firstChild.getAttribute(\"href\")&&(l.attrHandle.href=function(a){return a.getAttribute(\"href\",2)}),a=null}(),c.querySelectorAll&&!function(){var a=k,b=c.createElement(\"div\"),d=\"__sizzle__\";if(b.innerHTML=\"<p class='TEST'></p>\",!b.querySelectorAll||0!==b.querySelectorAll(\".TEST\").length){k=function(b,e,f,g){if(e=e||c,!g&&!k.isXML(e)){var h=/^(\\w+$)|^\\.([\\w\\-]+$)|^#([\\w\\-]+$)/.exec(b);if(h&&(1===e.nodeType||9===e.nodeType)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(9===e.nodeType){if(\"body\"===b&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(1===e.nodeType&&\"object\"!==e.nodeName.toLowerCase()){var m=e,n=e.getAttribute(\"id\"),o=n||d,q=e.parentNode,r=/^\\s*[+~]/.test(b);n?o=o.replace(/'/g,\"\\\\$&\"):e.setAttribute(\"id\",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll(\"[id='\"+o+\"'] \"+b),f)}catch(s){}finally{n||m.removeAttribute(\"id\")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement(\"div\"),\"div\"),e=!1;try{b.call(c.documentElement,\"[test!='']:sizzle\")}catch(f){e=!0}k.matchesSelector=function(a,c){if(c=c.replace(/\\=\\s*([^'\"\\]]*)\\s*\\]/g,\"='$1']\"),!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&11!==a.document.nodeType)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement(\"div\");a.innerHTML=\"<div class='test e'></div><div class='test'></div>\",a.getElementsByClassName&&0!==a.getElementsByClassName(\"e\").length&&(a.lastChild.className=\"e\",1!==a.getElementsByClassName(\"e\").length&&(l.order.splice(1,0,\"CLASS\"),l.find.CLASS=function(a,b,c){return\"undefined\"==typeof b.getElementsByClassName||c?void 0:b.getElementsByClassName(a[1])},a=null))}(),k.contains=c.documentElement.contains?function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?function(a,b){return!!(16&a.compareDocumentPosition(b))}:function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?\"HTML\"!==b.nodeName:!1};var v=function(a,b){for(var c,d=[],e=\"\",f=b.nodeType?[b]:b;c=l.match.PSEUDO.exec(a);)e+=c[0],a=a.replace(l.match.PSEUDO,\"\");a=l.relative[a]?a+\"*\":a;for(var g=0,h=f.length;h>g;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[\":\"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var N=/Until$/,O=/^(?:parents|prevUntil|prevAll)/,P=/,/,Q=/^.[^:#\\[\\.,]*$/,R=Array.prototype.slice,S=f.expr.match.POS,T={\"children\":!0,\"contents\":!0,\"next\":!0,\"prev\":!0};f.fn.extend({\"find\":function(a){var c,d,b=this;if(\"string\"!=typeof a)return f(a).filter(function(){for(c=0,d=b.length;d>c;c++)if(f.contains(b[c],this))return!0});var g,h,i,e=this.pushStack(\"\",\"find\",a);for(c=0,d=this.length;d>c;c++)if(g=e.length,f.find(a,this[c],e),c>0)for(h=g;h<e.length;h++)for(i=0;g>i;i++)if(e[i]===e[h]){e.splice(h--,1);break}return e},\"has\":function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;c>a;a++)if(f.contains(this,b[a]))return!0})},\"not\":function(a){return this.pushStack(V(this,a,!1),\"not\",a)},\"filter\":function(a){return this.pushStack(V(this,a,!0),\"filter\",a)},\"is\":function(a){return!!a&&(\"string\"==typeof a?f.filter(a,this).length>0:this.filter(a).length>0)},\"closest\":function(a,b){var d,e,c=[],g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;e>d;d++)i=a[d],j[i]||(j[i]=S.test(i)?f(i,b||this.context):i);for(;g&&g.ownerDocument&&g!==b;){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({\"selector\":i,\"elem\":g,\"level\":k});g=g.parentNode,k++}}return c}var l=S.test(a)||\"string\"!=typeof a?f(a,b||this.context):0;for(d=0,e=this.length;e>d;d++)for(g=this[d];g;){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}if(g=g.parentNode,!g||!g.ownerDocument||g===b||11===g.nodeType)break}return c=c.length>1?f.unique(c):c,this.pushStack(c,\"closest\",a)},\"index\":function(a){return a?\"string\"==typeof a?f.inArray(this[0],f(a)):f.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},\"add\":function(a,b){var c=\"string\"==typeof a?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(U(c[0])||U(d[0])?d:f.unique(d))},\"andSelf\":function(){return this.add(this.prevObject)}}),f.each({\"parent\":function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},\"parents\":function(a){return f.dir(a,\"parentNode\")},\"parentsUntil\":function(a,b,c){return f.dir(a,\"parentNode\",c)},\"next\":function(a){return f.nth(a,2,\"nextSibling\")},\"prev\":function(a){return f.nth(a,2,\"previousSibling\")},\"nextAll\":function(a){return f.dir(a,\"nextSibling\")},\"prevAll\":function(a){return f.dir(a,\"previousSibling\")},\"nextUntil\":function(a,b,c){return f.dir(a,\"nextSibling\",c)},\"prevUntil\":function(a,b,c){return f.dir(a,\"previousSibling\",c)},\"siblings\":function(a){return f.sibling(a.parentNode.firstChild,a)},\"children\":function(a){return f.sibling(a.firstChild)},\"contents\":function(a){return f.nodeName(a,\"iframe\")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=R.call(arguments);return N.test(a)||(d=c),d&&\"string\"==typeof d&&(e=f.filter(d,e)),e=this.length>1&&!T[a]?f.unique(e):e,(this.length>1||P.test(d))&&O.test(a)&&(e=e.reverse()),this.pushStack(e,a,g.join(\",\"))}}),f.extend({\"filter\":function(a,b,c){return c&&(a=\":not(\"+a+\")\"),1===b.length?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},\"dir\":function(a,c,d){for(var e=[],g=a[c];g&&9!==g.nodeType&&(d===b||1!==g.nodeType||!f(g).is(d));)1===g.nodeType&&e.push(g),g=g[c];return e},\"nth\":function(a,b,c){b=b||1;for(var e=0;a&&(1!==a.nodeType||++e!==b);a=a[c]);return a},\"sibling\":function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}});var W=/ jQuery\\d+=\"(?:\\d+|null)\"/g,X=/^\\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,Z=/<([\\w:]+)/,$=/<tbody/i,_=/<|&#?\\w+;/,ab=/<(?:script|object|embed|option|style)/i,bb=/checked\\s*(?:[^=]|=\\s*.checked.)/i,cb=/\\/(java|ecma)script/i,db=/^\\s*<!(?:\\[CDATA\\[|\\-\\-)/,eb={\"option\":[1,\"<select multiple='multiple'>\",\"</select>\"],\"legend\":[1,\"<fieldset>\",\"</fieldset>\"],\"thead\":[1,\"<table>\",\"</table>\"],\"tr\":[2,\"<table><tbody>\",\"</tbody></table>\"],\"td\":[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],\"col\":[2,\"<table><tbody></tbody><colgroup>\",\"</colgroup></table>\"],\"area\":[1,\"<map>\",\"</map>\"],\"_default\":[0,\"\",\"\"]};eb.optgroup=eb.option,eb.tbody=eb.tfoot=eb.colgroup=eb.caption=eb.thead,eb.th=eb.td,f.support.htmlSerialize||(eb._default=[1,\"div<div>\",\"</div>\"]),f.fn.extend({\"text\":function(a){return f.isFunction(a)?this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))}):\"object\"!=typeof a&&a!==b?this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a)):f.text(this)},\"wrapAll\":function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstChild&&1===a.firstChild.nodeType;)a=a.firstChild;return a}).append(this)}return this},\"wrapInner\":function(a){return this.each(f.isFunction(a)?function(b){f(this).wrapInner(a.call(this,b))}:function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},\"wrap\":function(a){return this.each(function(){f(this).wrapAll(a)})},\"unwrap\":function(){return this.parent().each(function(){f.nodeName(this,\"body\")||f(this).replaceWith(this.childNodes)}).end()},\"append\":function(){return this.domManip(arguments,!0,function(a){1===this.nodeType&&this.appendChild(a)})},\"prepend\":function(){return this.domManip(arguments,!0,function(a){1===this.nodeType&&this.insertBefore(a,this.firstChild)})},\"before\":function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);return a.push.apply(a,this.toArray()),this.pushStack(a,\"before\",arguments)}},\"after\":function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,\"after\",arguments);return a.push.apply(a,f(arguments[0]).toArray()),a}},\"remove\":function(a,b){for(var d,c=0;null!=(d=this[c]);c++)(!a||f.filter(a,[d]).length)&&(b||1!==d.nodeType||(f.cleanData(d.getElementsByTagName(\"*\")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d));return this},\"empty\":function(){for(var b,a=0;null!=(b=this[a]);a++)for(1===b.nodeType&&f.cleanData(b.getElementsByTagName(\"*\"));b.firstChild;)b.removeChild(b.firstChild);return this},\"clone\":function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return f.clone(this,a,b)})},\"html\":function(a){if(a===b)return this[0]&&1===this[0].nodeType?this[0].innerHTML.replace(W,\"\"):null;if(\"string\"!=typeof a||ab.test(a)||!f.support.leadingWhitespace&&X.test(a)||eb[(Z.exec(a)||[\"\",\"\"])[1].toLowerCase()])f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(Y,\"<$1></$2>\");try{for(var c=0,d=this.length;d>c;c++)1===this[c].nodeType&&(f.cleanData(this[c].getElementsByTagName(\"*\")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}return this},\"replaceWith\":function(a){return this[0]&&this[0].parentNode?f.isFunction(a)?this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))}):(\"string\"!=typeof a&&(a=f(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})):this.length?this.pushStack(f(f.isFunction(a)?a():a),\"replaceWith\",a):this},\"detach\":function(a){return this.remove(a,!0)},\"domManip\":function(a,c,d){var e,g,h,i,j=a[0],k=[];\r\nif(!f.support.checkClone&&3===arguments.length&&\"string\"==typeof j&&bb.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){if(i=j&&j.parentNode,e=f.support.parentNode&&i&&11===i.nodeType&&i.childNodes.length===this.length?{\"fragment\":i}:f.buildFragment(a,this,k),h=e.fragment,g=1===h.childNodes.length?h=h.firstChild:h.firstChild){c=c&&f.nodeName(g,\"tr\");for(var l=0,m=this.length,n=m-1;m>l;l++)d.call(c?fb(this[l],g):this[l],e.cacheable||m>1&&n>l?f.clone(h,!0,!0):h)}k.length&&f.each(k,lb)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;return b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),1===a.length&&\"string\"==typeof a[0]&&a[0].length<512&&i===c&&\"<\"===a[0].charAt(0)&&!ab.test(a[0])&&(f.support.checkClone||!bb.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&1!==h&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1),{\"fragment\":e,\"cacheable\":g}},f.fragments={},f.each({\"appendTo\":\"append\",\"prependTo\":\"prepend\",\"insertBefore\":\"before\",\"insertAfter\":\"after\",\"replaceAll\":\"replaceWith\"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=1===this.length&&this[0].parentNode;if(g&&11===g.nodeType&&1===g.childNodes.length&&1===e.length)return e[b](this[0]),this;for(var h=0,i=e.length;i>h;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({\"clone\":function(a,b,c){var e,g,h,d=a.cloneNode(!0);if(!(f.support.noCloneEvent&&f.support.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||f.isXMLDoc(a)))for(hb(a,d),e=ib(a),g=ib(d),h=0;e[h];++h)g[h]&&hb(e[h],g[h]);if(b&&(gb(a,d),c))for(e=ib(a),g=ib(d),h=0;e[h];++h)gb(e[h],g[h]);return e=g=null,d},\"clean\":function(a,b,d,e){var g;b=b||c,\"undefined\"==typeof b.createElement&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var i,k,h=[],j=0;null!=(k=a[j]);j++)if(\"number\"==typeof k&&(k+=\"\"),k){if(\"string\"==typeof k)if(_.test(k)){k=k.replace(Y,\"<$1></$2>\");var l=(Z.exec(k)||[\"\",\"\"])[1].toLowerCase(),m=eb[l]||eb._default,n=m[0],o=b.createElement(\"div\");for(o.innerHTML=m[1]+k+m[2];n--;)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=\"table\"!==l||p?\"<table>\"!==m[1]||p?[]:o.childNodes:o.firstChild&&o.firstChild.childNodes;for(i=q.length-1;i>=0;--i)f.nodeName(q[i],\"tbody\")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}else k=b.createTextNode(k);var r;if(!f.support.appendChecked)if(k[0]&&\"number\"==typeof(r=k.length))for(i=0;r>i;i++)kb(k[i]);else kb(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d)for(g=function(a){return!a.type||cb.test(a.type)},j=0;h[j];j++)if(!e||!f.nodeName(h[j],\"script\")||h[j].type&&\"text/javascript\"!==h[j].type.toLowerCase()){if(1===h[j].nodeType){var s=f.grep(h[j].getElementsByTagName(\"script\"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}else e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);return h},\"cleanData\":function(a){for(var b,c,j,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando,i=0;null!=(j=a[i]);i++)if((!j.nodeName||!f.noData[j.nodeName.toLowerCase()])&&(c=j[f.expando])){if(b=d[c]&&d[c][e],b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}});var vb,wb,xb,mb=/alpha\\([^)]*\\)/i,nb=/opacity=([^)]*)/,ob=/([A-Z]|^ms)/g,pb=/^-?\\d+(?:px)?$/i,qb=/^-?\\d/,rb=/^([\\-+])=([\\-+.\\de]+)/,sb={\"position\":\"absolute\",\"visibility\":\"hidden\",\"display\":\"block\"},tb=[\"Left\",\"Right\"],ub=[\"Top\",\"Bottom\"];f.fn.css=function(a,c){return 2===arguments.length&&c===b?this:f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({\"cssHooks\":{\"opacity\":{\"get\":function(a,b){if(b){var c=vb(a,\"opacity\",\"opacity\");return\"\"===c?\"1\":c}return a.style.opacity}}},\"cssNumber\":{\"fillOpacity\":!0,\"fontWeight\":!0,\"lineHeight\":!0,\"opacity\":!0,\"orphans\":!0,\"widows\":!0,\"zIndex\":!0,\"zoom\":!0},\"cssProps\":{\"float\":f.support.cssFloat?\"cssFloat\":\"styleFloat\"},\"style\":function(a,c,d,e){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];if(c=f.cssProps[i]||i,d===b)return k&&\"get\"in k&&(g=k.get(a,!1,e))!==b?g:j[c];if(h=typeof d,\"string\"===h&&(g=rb.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h=\"number\"),!(null==d||\"number\"===h&&isNaN(d)||(\"number\"!==h||f.cssNumber[i]||(d+=\"px\"),k&&\"set\"in k&&(d=k.set(a,d))===b)))try{j[c]=d}catch(l){}}},\"css\":function(a,c,d){var e,g;return c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,\"cssFloat\"===c&&(c=\"float\"),g&&\"get\"in g&&(e=g.get(a,!0,d))!==b?e:vb?vb(a,c):void 0},\"swap\":function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each([\"height\",\"width\"],function(a,b){f.cssHooks[b]={\"get\":function(a,c,d){var e;return c?0!==a.offsetWidth?yb(a,b,d):(f.swap(a,sb,function(){e=yb(a,b,d)}),e):void 0},\"set\":function(a,b){return pb.test(b)?(b=parseFloat(b),b>=0?b+\"px\":void 0):b}}}),f.support.opacity||(f.cssHooks.opacity={\"get\":function(a,b){return nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||\"\")?parseFloat(RegExp.$1)/100+\"\":b?\"1\":\"\"},\"set\":function(a,b){var c=a.style,d=a.currentStyle,e=f.isNaN(b)?\"\":\"alpha(opacity=\"+100*b+\")\",g=d&&d.filter||c.filter||\"\";c.zoom=1,b>=1&&\"\"===f.trim(g.replace(mb,\"\"))&&(c.removeAttribute(\"filter\"),d&&!d.filter)||(c.filter=mb.test(g)?g.replace(mb,e):g+\" \"+e)}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={\"get\":function(a,b){var c;return f.swap(a,{\"display\":\"inline-block\"},function(){c=b?vb(a,\"margin-right\",\"marginRight\"):a.style.marginRight}),c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(wb=function(a,c){var d,e,g;return c=c.replace(ob,\"-$1\").toLowerCase(),(e=a.ownerDocument.defaultView)?((g=e.getComputedStyle(a,null))&&(d=g.getPropertyValue(c),\"\"!==d||f.contains(a.ownerDocument.documentElement,a)||(d=f.style(a,c))),d):b}),c.documentElement.currentStyle&&(xb=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;return!pb.test(d)&&qb.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=\"fontSize\"===b?\"1em\":d||0,d=f.pixelLeft+\"px\",f.left=c,e&&(a.runtimeStyle.left=e)),\"\"===d?\"auto\":d}),vb=wb||xb,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return 0===b&&0===c||!f.support.reliableHiddenOffsets&&\"none\"===(a.style.display||f.css(a,\"display\"))},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var Rb,Sb,zb=/%20/g,Ab=/\\[\\]$/,Bb=/\\r?\\n/g,Cb=/#.*$/,Db=/^(.*?):[ \\t]*([^\\r\\n]*)\\r?$/gm,Eb=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,Fb=/^(?:about|app|app\\-storage|.+\\-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\\/\\//,Ib=/\\?/,Jb=/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,Kb=/^(?:select|textarea)/i,Lb=/\\s+/,Mb=/([?&])_=[^&]*/,Nb=/^([\\w\\+\\.\\-]+:)(?:\\/\\/([^\\/?#:]*)(?::(\\d+))?)?/,Ob=f.fn.load,Pb={},Qb={},Tb=[\"*/\"]+[\"*\"];try{Rb=e.href}catch(Ub){Rb=c.createElement(\"a\"),Rb.href=\"\",Rb=Rb.href}Sb=Nb.exec(Rb.toLowerCase())||[],f.fn.extend({\"load\":function(a,c,d){if(\"string\"!=typeof a&&Ob)return Ob.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(\" \");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h=\"GET\";c&&(f.isFunction(c)?(d=c,c=b):\"object\"==typeof c&&(c=f.param(c,f.ajaxSettings.traditional),h=\"POST\"));var i=this;return f.ajax({\"url\":a,\"type\":h,\"dataType\":\"html\",\"data\":c,\"complete\":function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f(\"<div>\").append(c.replace(Jb,\"\")).find(g):c)),d&&i.each(d,[c,b,a])}}),this},\"serialize\":function(){return f.param(this.serializeArray())},\"serializeArray\":function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||Kb.test(this.nodeName)||Eb.test(this.type))}).map(function(a,b){var c=f(this).val();return null==c?null:f.isArray(c)?f.map(c,function(a){return{\"name\":b.name,\"value\":a.replace(Bb,\"\\r\\n\")}}):{\"name\":b.name,\"value\":c.replace(Bb,\"\\r\\n\")}}).get()}}),f.each(\"ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend\".split(\" \"),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each([\"get\",\"post\"],function(a,c){f[c]=function(a,d,e,g){return f.isFunction(d)&&(g=g||e,e=d,d=b),f.ajax({\"type\":c,\"url\":a,\"data\":d,\"success\":e,\"dataType\":g})}}),f.extend({\"getScript\":function(a,c){return f.get(a,b,c,\"script\")},\"getJSON\":function(a,b,c){return f.get(a,b,c,\"json\")},\"ajaxSetup\":function(a,b){return b?Xb(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),Xb(a,b),a},\"ajaxSettings\":{\"url\":Rb,\"isLocal\":Fb.test(Sb[1]),\"global\":!0,\"type\":\"GET\",\"contentType\":\"application/x-www-form-urlencoded\",\"processData\":!0,\"async\":!0,\"accepts\":{\"xml\":\"application/xml, text/xml\",\"html\":\"text/html\",\"text\":\"text/plain\",\"json\":\"application/json, text/javascript\",\"*\":Tb},\"contents\":{\"xml\":/xml/,\"html\":/html/,\"json\":/json/},\"responseFields\":{\"xml\":\"responseXML\",\"text\":\"responseText\"},\"converters\":{\"* text\":a.String,\"text html\":!0,\"text json\":f.parseJSON,\"text xml\":f.parseXML},\"flatOptions\":{\"context\":!0,\"url\":!0}},\"ajaxPrefilter\":Vb(Pb),\"ajaxTransport\":Vb(Qb),\"ajax\":function(a,c){function w(a,c,l,m){if(2!==s){s=2,q&&clearTimeout(q),p=b,n=m||\"\",v.readyState=a>0?4:0;var o,r,u,y,z,w=c,x=l?Zb(d,v,l):b;if(a>=200&&300>a||304===a)if(d.ifModified&&((y=v.getResponseHeader(\"Last-Modified\"))&&(f.lastModified[k]=y),(z=v.getResponseHeader(\"Etag\"))&&(f.etag[k]=z)),304===a)w=\"notmodified\",o=!0;else try{r=$b(d,x),w=\"success\",o=!0}catch(A){w=\"parsererror\",u=A}else u=w,(!w||a)&&(w=\"error\",0>a&&(a=0));v.status=a,v.statusText=\"\"+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger(\"ajax\"+(o?\"Success\":\"Error\"),[v,d,o?r:u]),i.resolveWith(e,[v,w]),t&&(g.trigger(\"ajaxComplete\",[v,d]),--f.active||f.event.trigger(\"ajaxStop\"))}}\"object\"==typeof a&&(c=a,a=b),c=c||{};var k,n,o,p,q,r,t,u,d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},l={},m={},s=0,v={\"readyState\":0,\"setRequestHeader\":function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},\"getAllResponseHeaders\":function(){return 2===s?n:null},\"getResponseHeader\":function(a){var c;if(2===s){if(!o)for(o={};c=Db.exec(n);)o[c[1].toLowerCase()]=c[2];c=o[a.toLowerCase()]}return c===b?null:c},\"overrideMimeType\":function(a){return s||(d.mimeType=a),this},\"abort\":function(a){return a=a||\"abort\",p&&p.abort(a),w(0,a),this}};if(h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(2>s)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+\"\").replace(Cb,\"\").replace(Hb,Sb[1]+\"//\"),d.dataTypes=f.trim(d.dataType||\"*\").toLowerCase().split(Lb),null==d.crossDomain&&(r=Nb.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==Sb[1]&&r[2]==Sb[2]&&(r[3]||(\"http:\"===r[1]?80:443))==(Sb[3]||(\"http:\"===Sb[1]?80:443)))),d.data&&d.processData&&\"string\"!=typeof d.data&&(d.data=f.param(d.data,d.traditional)),Wb(Pb,d,c,v),2===s)return!1;if(t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!Gb.test(d.type),t&&0===f.active++&&f.event.trigger(\"ajaxStart\"),!d.hasContent&&(d.data&&(d.url+=(Ib.test(d.url)?\"&\":\"?\")+d.data,delete d.data),k=d.url,d.cache===!1)){var x=f.now(),y=d.url.replace(Mb,\"$1_=\"+x);d.url=y+(y===d.url?(Ib.test(d.url)?\"&\":\"?\")+\"_=\"+x:\"\")}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader(\"Content-Type\",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader(\"If-Modified-Since\",f.lastModified[k]),f.etag[k]&&v.setRequestHeader(\"If-None-Match\",f.etag[k])),v.setRequestHeader(\"Accept\",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(\"*\"!==d.dataTypes[0]?\", \"+Tb+\"; q=0.01\":\"\"):d.accepts[\"*\"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||2===s))return v.abort(),!1;for(u in{\"success\":1,\"error\":1,\"complete\":1})v[u](d[u]);if(p=Wb(Qb,d,c,v)){v.readyState=1,t&&g.trigger(\"ajaxSend\",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort(\"timeout\")},d.timeout));try{s=1,p.send(l,w)}catch(z){2>s?w(-1,z):f.error(z)}}else w(-1,\"No Transport\");return v},\"param\":function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+\"=\"+encodeURIComponent(b)};if(c===b&&(c=f.ajaxSettings.traditional),f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)Yb(g,a[g],c,e);return d.join(\"&\").replace(zb,\"+\")}}),f.extend({\"active\":0,\"lastModified\":{},\"etag\":{}});var ac=(f.now(),/(\\=)\\?(&|$)|\\?\\?/i);f.ajaxSetup({\"jsonp\":\"callback\",\"jsonpCallback\":function(){return\"jQuery\"+Math.floor(1e7*Math.random())}}),f.ajaxPrefilter(\"json jsonp\",function(b,c,d){var e=\"application/x-www-form-urlencoded\"===b.contentType&&\"string\"==typeof b.data;if(\"jsonp\"===b.dataTypes[0]||b.jsonp!==!1&&(ac.test(b.url)||e&&ac.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l=\"$1\"+h+\"$2\";return b.jsonp!==!1&&(j=j.replace(ac,l),b.url===j&&(e&&(k=k.replace(ac,l)),b.data===k&&(j+=(/\\?/.test(j)?\"&\":\"?\")+b.jsonp+\"=\"+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters[\"script json\"]=function(){return g||f.error(h+\" was not called\"),g[0]},b.dataTypes[0]=\"json\",\"script\"}}),f.ajaxSetup({\"accepts\":{\"script\":\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},\"contents\":{\"script\":/javascript|ecmascript/},\"converters\":{\"text script\":function(a){return f.globalEval(a),a}}}),f.ajaxPrefilter(\"script\",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type=\"GET\",a.global=!1)}),f.ajaxTransport(\"script\",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName(\"head\")[0]||c.documentElement;return{\"send\":function(f,g){d=c.createElement(\"script\"),d.async=\"async\",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){(c||!d.readyState||/loaded|complete/.test(d.readyState))&&(d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,\"success\"))},e.insertBefore(d,e.firstChild)},\"abort\":function(){d&&d.onload(0,1)}}}});var dc,bc=a.ActiveXObject?function(){for(var a in dc)dc[a](0,1)}:!1,cc=0;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ec()||fc()}:ec,function(a){f.extend(f.support,{\"ajax\":!!a,\"cors\":!!a&&\"withCredentials\"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{\"send\":function(e,g){var i,j,h=c.xhr();if(c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async),c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),c.crossDomain||e[\"X-Requested-With\"]||(e[\"X-Requested-With\"]=\"XMLHttpRequest\");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||4===h.readyState))if(d=b,i&&(h.onreadystatechange=f.noop,bc&&delete dc[i]),e)4!==h.readyState&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=\"\"}j||!c.isLocal||c.crossDomain?1223===j&&(j=204):j=m.text?200:404}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},c.async&&4!==h.readyState?(i=++cc,bc&&(dc||(dc={},f(a).unload(bc)),dc[i]=d),h.onreadystatechange=d):d()},\"abort\":function(){d&&d(0,1)}}}});var hc,ic,lc,nc,gc={},jc=/^(?:toggle|show|hide)$/,kc=/^([+\\-]=)?([\\d+.\\-]+)([a-z%]*)$/i,mc=[[\"height\",\"marginTop\",\"marginBottom\",\"paddingTop\",\"paddingBottom\"],[\"width\",\"marginLeft\",\"marginRight\",\"paddingLeft\",\"paddingRight\"],[\"opacity\"]];f.fn.extend({\"show\":function(a,b,c){var d,e;if(a||0===a)return this.animate(qc(\"show\",3),a,b,c);for(var g=0,h=this.length;h>g;g++)d=this[g],d.style&&(e=d.style.display,f._data(d,\"olddisplay\")||\"none\"!==e||(e=d.style.display=\"\"),\"\"===e&&\"none\"===f.css(d,\"display\")&&f._data(d,\"olddisplay\",rc(d.nodeName)));for(g=0;h>g;g++)d=this[g],d.style&&(e=d.style.display,(\"\"===e||\"none\"===e)&&(d.style.display=f._data(d,\"olddisplay\")||\"\"));return this},\"hide\":function(a,b,c){if(a||0===a)return this.animate(qc(\"hide\",3),a,b,c);for(var d=0,e=this.length;e>d;d++)if(this[d].style){var g=f.css(this[d],\"display\");\"none\"===g||f._data(this[d],\"olddisplay\")||f._data(this[d],\"olddisplay\",g)}for(d=0;e>d;d++)this[d].style&&(this[d].style.display=\"none\");return this},\"_toggle\":f.fn.toggle,\"toggle\":function(a,b,c){var d=\"boolean\"==typeof a;return f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):null==a||d?this.each(function(){var b=d?a:f(this).is(\":hidden\");f(this)[b?\"show\":\"hide\"]()}):this.animate(qc(\"toggle\",3),a,b,c),this},\"fadeTo\":function(a,b,c,d){return this.filter(\":hidden\").css(\"opacity\",0).show().end().animate({\"opacity\":b},a,c,d)},\"animate\":function(a,b,c,d){var e=f.speed(b,c,d);return f.isEmptyObject(a)?this.each(e.complete,[!1]):(a=f.extend({},a),this[e.queue===!1?\"each\":\"queue\"](function(){e.queue===!1&&f._mark(this);var g,h,i,j,k,l,m,n,o,b=f.extend({},e),c=1===this.nodeType,d=c&&f(this).is(\":hidden\");b.animatedProperties={};for(i in a){if(g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||\"swing\",\"hide\"===h&&d||\"show\"===h&&!d)return b.complete.call(this);!c||\"height\"!==g&&\"width\"!==g||(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],\"inline\"===f.css(this,\"display\")&&\"none\"===f.css(this,\"float\")&&(f.support.inlineBlockNeedsLayout?(j=rc(this.nodeName),\"inline\"===j?this.style.display=\"inline-block\":(this.style.display=\"inline\",this.style.zoom=1)):this.style.display=\"inline-block\"))}null!=b.overflow&&(this.style.overflow=\"hidden\");for(i in a)k=new f.fx(this,b,i),h=a[i],jc.test(h)?k[\"toggle\"===h?d?\"show\":\"hide\":h]():(l=kc.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?\"\":\"px\"),\"px\"!==o&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(\"-=\"===l[1]?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,\"\"));return!0}))},\"stop\":function(a,b){return a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;for(b||f._unmark(!0,this);c--;)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue(),this}}),f.each({\"slideDown\":qc(\"show\",1),\"slideUp\":qc(\"hide\",1),\"slideToggle\":qc(\"toggle\",1),\"fadeIn\":{\"opacity\":\"show\"},\"fadeOut\":{\"opacity\":\"hide\"},\"fadeToggle\":{\"opacity\":\"toggle\"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({\"speed\":function(a,b,c){var d=a&&\"object\"==typeof a?f.extend({},a):{\"complete\":c||!c&&b||f.isFunction(a)&&a,\"duration\":a,\"easing\":c&&b||b&&!f.isFunction(b)&&b};return d.duration=f.fx.off?0:\"number\"==typeof d.duration?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this)},d},\"easing\":{\"linear\":function(a,b,c,d){return c+d*a},\"swing\":function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},\"timers\":[],\"fx\":function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={\"update\":function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},\"cur\":function(){if(null!=this.elem[this.prop]&&(!this.elem.style||null==this.elem.style[this.prop]))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?b&&\"auto\"!==b?b:0:a},\"custom\":function(a,b,c){function g(a){return d.step(a)}var d=this,e=f.fx;this.startTime=nc||oc(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?\"\":\"px\"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&f.timers.push(g)&&!lc&&(lc=setInterval(e.tick,e.interval))},\"show\":function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(\"width\"===this.prop||\"height\"===this.prop?1:0,this.cur()),f(this.elem).show()},\"hide\":function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},\"step\":function(a){var g,h,b=nc||oc(),c=!0,d=this.elem,e=this.options;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){if(null==e.overflow||f.support.shrinkWrapBlocks||f.each([\"\",\"X\",\"Y\"],function(a,b){d.style[\"overflow\"+b]=e.overflow[a]}),e.hide&&f(d).hide(),e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}return 1/0==e.duration?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update(),!0}},f.extend(f.fx,{\"tick\":function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},\"interval\":13,\"stop\":function(){clearInterval(lc),lc=null},\"speeds\":{\"slow\":600,\"fast\":200,\"_default\":400},\"step\":{\"opacity\":function(a){f.style(a.elem,\"opacity\",a.now)},\"_default\":function(a){a.elem.style&&null!=a.elem.style[a.prop]?a.elem.style[a.prop]=(\"width\"===a.prop||\"height\"===a.prop?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var sc=/^t(?:able|d|h)$/i,tc=/^(?:body|html)$/i;f.fn.offset=\"getBoundingClientRect\"in c.documentElement?function(a){var c,b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{\"top\":c.top,\"left\":c.left}:{\"top\":0,\"left\":0};var h=e.body,i=uc(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{\"top\":n,\"left\":o}}:function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();for(var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;(b=b.parentNode)&&b!==i&&b!==h&&(!f.offset.supportsFixedPosition||\"fixed\"!==k.position);)c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,!f.offset.doesNotAddBorder||f.offset.doesAddBorderForTableAndCells&&sc.test(b.nodeName)||(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&\"visible\"!==c.overflow&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c;return(\"relative\"===k.position||\"static\"===k.position)&&(l+=i.offsetTop,m+=i.offsetLeft),f.offset.supportsFixedPosition&&\"fixed\"===k.position&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft)),{\"top\":l,\"left\":m}},f.offset={\"initialize\":function(){var d,e,h,a=c.body,b=c.createElement(\"div\"),i=parseFloat(f.css(a,\"marginTop\"))||0,j=\"<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>\";f.extend(b.style,{\"position\":\"absolute\",\"top\":0,\"left\":0,\"margin\":0,\"border\":0,\"width\":\"1px\",\"height\":\"1px\",\"visibility\":\"hidden\"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=5!==e.offsetTop,this.doesAddBorderForTableAndCells=5===h.offsetTop,e.style.position=\"fixed\",e.style.top=\"20px\",this.supportsFixedPosition=20===e.offsetTop||15===e.offsetTop,e.style.position=e.style.top=\"\",d.style.overflow=\"hidden\",d.style.position=\"relative\",this.subtractsBorderForOverflowNotVisible=-5===e.offsetTop,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},\"bodyOffset\":function(a){var b=a.offsetTop,c=a.offsetLeft;return f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,\"marginTop\"))||0,c+=parseFloat(f.css(a,\"marginLeft\"))||0),{\"top\":b,\"left\":c}},\"setOffset\":function(a,b,c){var d=f.css(a,\"position\");\"static\"===d&&(a.style.position=\"relative\");var m,n,e=f(a),g=e.offset(),h=f.css(a,\"top\"),i=f.css(a,\"left\"),j=(\"absolute\"===d||\"fixed\"===d)&&f.inArray(\"auto\",[h,i])>-1,k={},l={};j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),null!=b.top&&(k.top=b.top-g.top+m),null!=b.left&&(k.left=b.left-g.left+n),\"using\"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({\"position\":function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=tc.test(b[0].nodeName)?{\"top\":0,\"left\":0}:b.offset();return c.top-=parseFloat(f.css(a,\"marginTop\"))||0,c.left-=parseFloat(f.css(a,\"marginLeft\"))||0,d.top+=parseFloat(f.css(b[0],\"borderTopWidth\"))||0,d.left+=parseFloat(f.css(b[0],\"borderLeftWidth\"))||0,{\"top\":c.top-d.top,\"left\":c.left-d.left}},\"offsetParent\":function(){return this.map(function(){for(var a=this.offsetParent||c.body;a&&!tc.test(a.nodeName)&&\"static\"===f.css(a,\"position\");)a=a.offsetParent;return a})}}),f.each([\"Left\",\"Top\"],function(a,c){var d=\"scroll\"+c;f.fn[d]=function(c){var e,g;return c===b?(e=this[0])?(g=uc(e),g?\"pageXOffset\"in g?g[a?\"pageYOffset\":\"pageXOffset\"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]):null:this.each(function(){g=uc(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each([\"Height\",\"Width\"],function(a,c){var d=c.toLowerCase();f.fn[\"inner\"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,\"padding\")):null},f.fn[\"outer\"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?\"margin\":\"border\")):null},f.fn[d]=function(a){var e=this[0];if(!e)return null==a?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement[\"client\"+c],h=e.document.body;return\"CSS1Compat\"===e.document.compatMode&&g||h&&h[\"client\"+c]||g}if(9===e.nodeType)return Math.max(e.documentElement[\"client\"+c],e.body[\"scroll\"+c],e.documentElement[\"scroll\"+c],e.body[\"offset\"+c],e.documentElement[\"offset\"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNaN(j)?i:j}return this.css(d,\"string\"==typeof a?a:a+\"px\")}}),a.jQuery=a.$=f}(window);"
  },
  {
    "path": "migo-portal/src/main/webapp/js/jquery-extend.js",
    "content": "jQuery.fn.extend({\r\n\tisVisible : function(){\r\n\t\tvar rect = this.get(0).getBoundingClientRect();\r\n\t\treturn !!(rect.bottom - rect.top);\r\n\t},\r\n\touterHtml : function(){\r\n\t\treturn jQuery('<div>').append(this.clone()).html();\r\n\t},\r\n\tplaceholder: function(){\r\n\t\tif(!$.browser.msie) return false;\r\n\t\treturn this.each(function(){\r\n\t\t\tvar el = $(this),\r\n\t\t\t\tid = this.id || 'jPlaceholder_' + new Date().getTime(),\r\n\t\t\t\tleftDis = parseInt(el.css('border-left-width')) + parseInt(el.css('padding-left')) + parseInt(el.css('margin-left')),\r\n\t\t\t\ttxt = el.attr('placeholder');\r\n\r\n\t\t\tel.wrap('<span style=\"position:relative;\"></span>');\r\n\t\t\tif(!this.id) this.id = id;\r\n\t\t\tvar $label = $('<label for=\"'+ id +'\" style=\"position:absolute;left:'+ leftDis +'px;cursor:text;line-height:'+ el.outerHeight() +'px;color:#757575;font-weight:normal;white-space:nowrap;\">'+ (this.value.length ? '' : txt) +'</label>').appendTo(el.parent());\r\n\r\n\t\t\tel.bind('keydown keyup', function(){\r\n\t\t\t\t$label.html(this.value.length ? '' : txt);\r\n\t\t\t});\r\n\r\n\t\t});\r\n\t},\r\n\t//限制输入框只能输入数字\r\n\trnumber : function(min){\r\n\t\tthis.keyup(function(){\r\n            $(this).val($(this).val().replace(/[^0-9]/g,''));\r\n            if(min != undefined && $(this).val().length == 0){\r\n            \t$(this).val(min);\r\n            }\r\n        }).bind(\"paste\",function(){  //CTR+V事件处理\r\n            $(this).val($(this).val().replace(/[^0-9]/g,''));\r\n            if(min != undefined && $(this).val().length == 0){\r\n            \t$(this).val(min);\r\n            }\r\n        }).css(\"ime-mode\", \"disabled\").bind(\"contextmenu\",function(e){\r\n              return false;\r\n        });\r\n\t\treturn this;\r\n\t}\r\n\t\r\n});\r\n\r\njQuery.getURLParameter = function(name){\r\n\treturn decodeURI((RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]);\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/js/jquery.checkout.js",
    "content": "/**\r\n * @email  verylayout@gmail.com\r\n * @author  Hooboy\r\n * @version 1.5 (2013/01/09)\r\n */\r\n(function($,h,c){var a=$([]),e=$.resize=$.extend($.resize,{}),i,k=\"setTimeout\",j=\"resize\",d=j+\"-special-event\",b=\"delay\",f=\"throttleWindow\";e[b]=250;e[f]=true;$.event.special[j]={setup:function(){if(!e[f]&&this[k]){return false}var l=$(this);a=a.add(l);$.data(this,d,{w:l.width(),h:l.height()});if(a.length===1){g()}},teardown:function(){if(!e[f]&&this[k]){return false}var l=$(this);a=a.not(l);l.removeData(d);if(!a.length){clearTimeout(i)}},add:function(l){if(!e[f]&&this[k]){return false}var n;function m(s,o,p){var q=$(this),r=$.data(this,d);r.w=o!==c?o:q.width();r.h=p!==c?p:q.height();n.apply(this,arguments)}if($.isFunction(l)){n=l;return m}else{n=l.handler;l.handler=m}}};function g(){i=h[k](function(){a.each(function(){var n=$(this),m=n.width(),l=n.height(),o=$.data(this,d);if(m!==o.w||l!==o.h){n.trigger(j,[o.w=m,o.h=l])}});g()},e[b])}})(jQuery,this);\r\n\r\n(function($){\r\n    if(/*@cc_on!@*/!1 && !window.XMLHttpRequest) {\r\n        $(function(){\r\n            try {document.execCommand(\"BackgroundImageCache\", false, true);} catch(e){}\r\n        });\r\n    }\r\n\r\n    $.extend({\r\n        getWS: function(){\r\n            var doc = (document.compatMode && document.compatMode != \"BackCompat\") ? document.documentElement : document.body;\r\n\r\n            return {\r\n                'x' : doc.scrollLeft ? doc.scrollLeft : (window.pageXOffset ? window.pageXOffset : 0),\r\n                'y' : doc.scrollTop ? doc.scrollTop : (window.pageYOffset ? window.pageYOffset : 0),\r\n                'viewW' : doc.clientWidth ? doc.clientWidth : self.innerWidth,\r\n                'viewH' : doc.clientHeight ? doc.clientHeight : self.innerHeight,\r\n                'width' : doc.scrollWidth ? doc.scrollWidth : window.width,\r\n                'height' : doc.scrollHeight ? doc.scrollHeight : window.height\r\n            };\r\n        },\r\n        proxy: $.proxy || function(fn, context){\r\n            return function(){\r\n                fn.apply(context, arguments);\r\n            };\r\n        }\r\n    });\r\n})(jQuery);\r\n\r\n// Sticky Scroll\r\n(function($, sticky, window, undefined){\r\n    var win = $(window),\r\n        doc = $(document);\r\n\r\n    $[sticky] = function(data, options){\r\n        this.$el = $(data);\r\n\r\n        this.element = data;\r\n\r\n        this.offset = 0;\r\n        this.distance = 0;\r\n\r\n        this.o = $.extend(true, {}, $[sticky].defaults, options);\r\n\r\n        this._init(this.element, this.o);\r\n    };\r\n\r\n    $[sticky].defaults = {\r\n        position: [\"50%\", \"100%\"],\r\n        fixed: true\r\n    };\r\n\r\n    $[sticky].prototype = {\r\n        dom: {},\r\n        _init: function(data, options){\r\n\r\n            this.offset = this.$el.offset();\r\n            this.distance = $.getWS().height - this.offset.top;\r\n\r\n            var s = this;\r\n\r\n            s.stickyed = false;\r\n\r\n            s._create(data);\r\n\r\n            $(window).bind(\"scroll.sticky resize.sticky\", function(){\r\n                s.stickyed && s._start();\r\n            });\r\n\r\n            s.stickyed && s._start();\r\n        },\r\n        _create: function(data){\r\n            var s = this;\r\n\r\n            if(!s.stickyed){\r\n                if(!this.$el.find(\".sticky-placeholder\").length){\r\n                    s.dom.wrap = $('<div class=\"sticky-wrap\"></div>');\r\n                    s.dom.placeholder = $('<div class=\"sticky-placeholder hide\"></div>');\r\n                    $(data).wrapInner(s.dom.wrap);\r\n                    $(data).append(s.dom.placeholder);\r\n                    s.stickyed = true;\r\n                }\r\n            }\r\n        },\r\n        _start: function(){\r\n            var s = this,\r\n                w  = $.getWS();\r\n\r\n            if(s.offset.top > (w.y + w.viewH - 50) && s.offset.top > (w.y + w.viewH - s.distance) ){\r\n                s.scrollUp();\r\n            } else {\r\n                s.scrollDown();\r\n            }\r\n        },\r\n        scrollDown: function(){\r\n            var s = this;\r\n\r\n            s.$el.append( s.$el.find(\".sticky-wrap\") );\r\n            s.dom.placeholder.addClass(\"hide\").css(\"display\", \"none\");\r\n        },\r\n        scrollUp: function(){\r\n            var s = this;\r\n\r\n            s.dom.placeholder.append( s.$el.find(\".sticky-wrap\") );\r\n            s.dom.placeholder.removeClass(\"hide\").css(\"display\", \"block\");\r\n        },\r\n        refresh: function(){\r\n            if(!this.stickyed){\r\n                this.destory();\r\n\r\n                this._init(this.element, this.o);\r\n            }\r\n        },\r\n        destory: function(){\r\n            if(!this.stickyed){\r\n                return;\r\n            }\r\n\r\n            var original = this.$el.find(\".sticky-wrap\").html();\r\n\r\n            this.$el.html(original);\r\n\r\n            this.stickyed = false;\r\n            $(window).unbind(\"scroll.sticky resize.sticky\");\r\n        }\r\n    };\r\n\r\n    $.fn[sticky] = function(options){\r\n        if (typeof options == 'string') {\r\n            var args = Array.prototype.slice.call(arguments, 1),\r\n                method = options;\r\n\r\n            return this.each(function() {\r\n                var instance = $(this).data(sticky);\r\n\r\n                if(!instance){\r\n                    return; //调用插件方法时需要先实例化\r\n                }\r\n\r\n                if (!$.isFunction(instance[method]) || method.charAt(0) === \"_\"){\r\n                    return; //禁止调用不存在的API方法或者前缀为\"_\"的私有方法\r\n                }\r\n\r\n                instance[method].apply(instance, args);\r\n            });\r\n        }\r\n\r\n        return this.each(function(){\r\n            var instance = $(this).data(sticky);\r\n            if(!instance){\r\n                $(this).data(sticky, new $[sticky](this, options));\r\n            }\r\n        });\r\n    };\r\n})(jQuery, 'jSticky', window);\r\n\r\n\r\nvar consigneeListOver = (function(){\r\n    var dom = $(\"#consignee-list\");\r\n\r\n    var timeout;\r\n\r\n    var init = function(){\r\n\r\n        dom.find(\".item\").each(function(){\r\n            var $this = $(this);\r\n            $this.data(\"lock\", $this.find(\".hookbox\").attr(\"checked\") );\r\n\r\n            if( !!$this.data(\"lock\") ){\r\n                $this.find(\".item-action\").show().removeClass(\"hide\");\r\n            }\r\n\r\n            $this.bind(\"mouseenter\", function(){\r\n                if(!$this.data(\"lock\")){\r\n                    $this.addClass(\"item-selected\");\r\n                    timeout = setTimeout(function(){\r\n                        $this.find(\".item-action\").show().removeClass(\"hide\");\r\n                    }, 150);\r\n                }\r\n            }).bind(\"mouseleave\", function(){\r\n                    if(!$this.data(\"lock\")){\r\n                        clearTimeout(timeout);\r\n                        $this.removeClass(\"item-selected\");\r\n                        $this.find(\".item-action\").hide().addClass(\"hide\");\r\n                    }\r\n                });\r\n        });\r\n    };\r\n\r\n    return {\r\n        init: init\r\n    };\r\n})();\r\n\r\nvar expandingMore = (function(){\r\n    var expandHolder = $(\"#consignee-list\"),\r\n        expandHandle = $(\"#select-more\"),\r\n        item = expandHolder.find(\".item-fore\");\r\n    expand = false;\r\n\r\n    var init = function(){\r\n        if(!item.length){return \"\";}\r\n        expandHandle.click(function(){\r\n            expand = !expand;\r\n\r\n            item[expand ? \"removeClass\" : \"addClass\"](\"hide\").css(\"display\", expand ? \"block\" : \"none\");\r\n\r\n\r\n            expandHandle.removeClass(expand ? \"select-expand\" : \"select-collapse\").addClass(expand ? \"select-collapse\" : \"select-expand\").find(\"span\").html(expand ? \"\\u6536\\u8D77\" : \"\\u66F4\\u591A\\u5E38\\u7528\\u5730\\u5740\");\r\n\r\n            if(expand) {\r\n\r\n            } else {\r\n\r\n            }\r\n        });\r\n    };\r\n\r\n    return {\r\n        init: init\r\n    };\r\n})();\r\n\r\nvar itemListOver = {\r\n    init: function(selector){\r\n        this.dom = $(selector);\r\n        this.timeout = null;\r\n\r\n        this.bindEvents();\r\n    },\r\n    bindEvents: function(){\r\n        var self = this;\r\n\r\n        if( !this.dom.find(\".item\").length ){\r\n            return;\r\n        }\r\n\r\n        this.dom.find(\".item\").each(function(){\r\n            var $this = $(this);\r\n\r\n            $this.find(\".hookbox\").each(function(){\r\n                $(this).bind(\"click\", function(){\r\n                    $this.find(\".hookbox\").attr(\"checked\", false);\r\n\r\n                    self.dom.find(\".item\").removeClass(\"item-selected\");\r\n                    self.dom.find(\".item .item-action\").addClass(\"hide\").hide();\r\n\r\n                    $(this).attr(\"checked\", \"checked\");\r\n\r\n                    $this.addClass(\"item-selected\");\r\n                    $this.find(\".item-action\").removeClass(\"hide\").show();\r\n                });\r\n            });\r\n\r\n            if( !!$this.find(\".hookbox\").attr(\"checked\") ){\r\n                $this.addClass(\"item-selected\");\r\n                $this.find(\".item-action\").show().removeClass(\"hide\");\r\n            }\r\n\r\n            $this.bind(\"mouseenter\", function(){\r\n                if( !$this.find(\".hookbox\").attr(\"checked\") ){\r\n                    $this.addClass(\"item-selected\");\r\n                    self.timeout = setTimeout(function(){\r\n                        $this.find(\".item-action\").show().removeClass(\"hide\");\r\n                    }, 50);\r\n                }\r\n            }).bind(\"mouseleave\", function(){\r\n                    if( !$this.find(\".hookbox\").attr(\"checked\") ){\r\n                        clearTimeout(self.timeout);\r\n                        $this.removeClass(\"item-selected\");\r\n                        $this.find(\".item-action\").hide().addClass(\"hide\");\r\n                    }\r\n                });\r\n        });\r\n    }\r\n};\r\n\r\n// Expose Mask\r\n(function($){\r\n    var Expose = function(element, options) {\r\n        this.elem = $(element);\r\n\r\n        this.defaults = {\r\n            maskID: \"mask-jexpose\",\r\n            exposeClass: \"expose\",\r\n            zIndex: 9998,\r\n            color: \"#fff\",\r\n            opacity: 0.7,\r\n            delay: 0,\r\n            onLoad: null,\r\n            onOpen: null,\r\n            onClose: null,\r\n            onResize: null\r\n        };\r\n\r\n        this.options = $.extend({}, this.defaults, options);\r\n\r\n        this.loaded = false;\r\n\r\n        this.init();\r\n    };\r\n\r\n    Expose.prototype = {\r\n        init: function(){\r\n            var self = this;\r\n\r\n            if(!this.loaded) {\r\n\r\n                this.loaded = true;\r\n\r\n                this.mask = $(\"<div/>\").attr(\"id\", this.options.maskID);\r\n\r\n                $(document.body).append(this.mask);\r\n\r\n                var viewPort = $.getWS();\r\n\r\n                this.original_height = viewPort.height;\r\n\r\n                var maskCSS = {\r\n                    \"width\": viewPort.viewW,\r\n                    \"height\": viewPort.height,\r\n                    \"position\": \"absolute\",\r\n                    \"top\": 0,\r\n                    \"left\": 0,\r\n                    \"z-index\": this.options.zIndex,\r\n                    \"opacity\": this.options.opacity,\r\n                    \"display\": \"block\"\r\n                };\r\n\r\n                this.mask.css(maskCSS);\r\n\r\n                this.elem.addClass(this.options.exposeClass).css({\r\n                    \"position\": \"relative\",\r\n                    \"z-index\": this.options.zIndex + 1\r\n                });\r\n\r\n                $(window).bind(\"resize.expose\", $.proxy(function(){\r\n                    this._resize();\r\n                }, this));\r\n\r\n                this.elem.bind(\"resize\", function(){\r\n                    self._resize();\r\n                    self.options.onResize && self.options.onResize.apply(this, [self.elem]);\r\n                });\r\n\r\n                this.options.onLoad && this.options.onLoad.apply(this, [this.elem]);\r\n            }\r\n\r\n            return this;\r\n        },\r\n\r\n        open: function(){\r\n            if(!this.loaded){\r\n                this.init();\r\n                this.options.onOpen && this.options.onOpen.apply(this, [this.elem]);\r\n                this.loaded = true;\r\n            }\r\n        },\r\n\r\n        close: function(){\r\n            if(this.loaded){\r\n                this.mask.css(\"display\", \"none\");\r\n\r\n                this.destory();\r\n\r\n                this.elem.css({\r\n                    \"position\": \"static\",\r\n                    \"z-index\": 1\r\n                }).removeClass(this.options.exposeClass);\r\n\r\n                this.options.onClose && this.options.onClose.apply(this, [this.elem]);\r\n\r\n                this.loaded = false;\r\n            }\r\n        },\r\n\r\n        _resize: function(){\r\n            if(this.loaded){\r\n                this.mask.css(\"height\", this.original_height + \"px\");\r\n\r\n                var size = $.getWS();\r\n\r\n                this.mask.css({\r\n                    //\"width\": size.viewW,\r\n                    \"width\": \"100%\",\r\n                    \"height\": size.height\r\n                });\r\n            }\r\n        },\r\n\r\n        update: function(){\r\n            this._resize();\r\n        },\r\n\r\n        reFresh: function(){\r\n            this.init();\r\n        },\r\n\r\n        destory: function(){\r\n            if(this.loaded) {\r\n                this.mask.remove();\r\n                this.elem.css({\r\n                    \"position\": \"static\",\r\n                    \"z-index\": 1\r\n                }).removeClass(this.options.exposeClass);\r\n                $(window).unbind(\"resize.expose\");\r\n                this.elem.unbind(\"resize\");\r\n                this.loaded = false;\r\n            }\r\n        }\r\n    };\r\n\r\n    $.jExpose = function(element, options){\r\n        $.jExpose.init(element, options);\r\n    };\r\n\r\n    $.jExpose.init = function(element, options){\r\n        $.jExpose.view = $(element);\r\n\r\n        $(element).data(\"jExpose\", new Expose(element, options));\r\n    };\r\n\r\n    $.jExpose.close = function() {\r\n        $.jExpose.view.data(\"jExpose\").close();\r\n\r\n        $.jExpose.view.data(\"jExpose\", null);\r\n    };\r\n})(jQuery);\r\n"
  },
  {
    "path": "migo-portal/src/main/webapp/js/jquery.cookie.js",
    "content": "/*!\n * jQuery Cookie Plugin v1.4.1\n * https://github.com/carhartl/jquery-cookie\n *\n * Copyright 2013 Klaus Hartl\n * Released under the MIT license\n */\n(function (factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD\n\t\tdefine(['jquery'], factory);\n\t} else if (typeof exports === 'object') {\n\t\t// CommonJS\n\t\tfactory(require('jquery'));\n\t} else {\n\t\t// Browser globals\n\t\tfactory(jQuery);\n\t}\n}(function ($) {\n\n\tvar pluses = /\\+/g;\n\n\tfunction encode(s) {\n\t\treturn config.raw ? s : encodeURIComponent(s);\n\t}\n\n\tfunction decode(s) {\n\t\treturn config.raw ? s : decodeURIComponent(s);\n\t}\n\n\tfunction stringifyCookieValue(value) {\n\t\treturn encode(config.json ? JSON.stringify(value) : String(value));\n\t}\n\n\tfunction parseCookieValue(s) {\n\t\tif (s.indexOf('\"') === 0) {\n\t\t\t// This is a quoted cookie as according to RFC2068, unescape...\n\t\t\ts = s.slice(1, -1).replace(/\\\\\"/g, '\"').replace(/\\\\\\\\/g, '\\\\');\n\t\t}\n\n\t\ttry {\n\t\t\t// Replace server-side written pluses with spaces.\n\t\t\t// If we can't decode the cookie, ignore it, it's unusable.\n\t\t\t// If we can't parse the cookie, ignore it, it's unusable.\n\t\t\ts = decodeURIComponent(s.replace(pluses, ' '));\n\t\t\treturn config.json ? JSON.parse(s) : s;\n\t\t} catch(e) {}\n\t}\n\n\tfunction read(s, converter) {\n\t\tvar value = config.raw ? s : parseCookieValue(s);\n\t\treturn $.isFunction(converter) ? converter(value) : value;\n\t}\n\n\tvar config = $.cookie = function (key, value, options) {\n\n\t\t// Write\n\n\t\tif (value !== undefined && !$.isFunction(value)) {\n\t\t\toptions = $.extend({}, config.defaults, options);\n\n\t\t\tif (typeof options.expires === 'number') {\n\t\t\t\tvar days = options.expires, t = options.expires = new Date();\n\t\t\t\tt.setTime(+t + days * 864e+5);\n\t\t\t}\n\n\t\t\treturn (document.cookie = [\n\t\t\t\tencode(key), '=', stringifyCookieValue(value),\n\t\t\t\toptions.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE\n\t\t\t\toptions.path    ? '; path=' + options.path : '',\n\t\t\t\toptions.domain  ? '; domain=' + options.domain : '',\n\t\t\t\toptions.secure  ? '; secure' : ''\n\t\t\t].join(''));\n\t\t}\n\n\t\t// Read\n\n\t\tvar result = key ? undefined : {};\n\n\t\t// To prevent the for loop in the first place assign an empty array\n\t\t// in case there are no cookies at all. Also prevents odd result when\n\t\t// calling $.cookie().\n\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\n\t\tfor (var i = 0, l = cookies.length; i < l; i++) {\n\t\t\tvar parts = cookies[i].split('=');\n\t\t\tvar name = decode(parts.shift());\n\t\t\tvar cookie = parts.join('=');\n\n\t\t\tif (key && key === name) {\n\t\t\t\t// If second argument (value) is a function it's a converter...\n\t\t\t\tresult = read(cookie, value);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// Prevent storing a cookie that we couldn't decode.\n\t\t\tif (!key && (cookie = read(cookie)) !== undefined) {\n\t\t\t\tresult[name] = cookie;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\tconfig.defaults = {};\n\n\t$.removeCookie = function (key, options) {\n\t\tif ($.cookie(key) === undefined) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Must not alter options, thus extending a fresh object...\n\t\t$.cookie(key, '', $.extend({}, options, { expires: -1 }));\n\t\treturn !$.cookie(key);\n\t};\n\n}));\n"
  },
  {
    "path": "migo-portal/src/main/webapp/js/jquery.hashchange.js",
    "content": "/*!\r\n * jQuery hashchange event - v1.3 - 7/21/2010\r\n * http://benalman.com/projects/jquery-hashchange-plugin/\r\n * \r\n * Copyright (c) 2010 \"Cowboy\" Ben Alman\r\n * Dual licensed under the MIT and GPL licenses.\r\n * http://benalman.com/about/license/\r\n */\r\n(function($,e,b){var c=\"hashchange\",h=document,f,g=$.event.special,i=h.documentMode,d=\"on\"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return\"#\"+j.replace(/^[^#]*#?(.*)$/,\"$1\")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;$.fn[c].domain=document.domain;$.fn[c].src=\"domain.html\";g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,\"\")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('<iframe tabindex=\"-1\" title=\"empty\"/>').hide().one(\"load\",function(){r||l(a());n()}).attr(\"src\",r||\"javascript:0\").insertAfter(\"body\")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName===\"title\"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('<script>document.domain=\"'+t+'\"<\\/script>');u.close();q.location.hash=v}}})();return j})()})(jQuery,this);"
  },
  {
    "path": "migo-portal/src/main/webapp/js/json2.js",
    "content": "var JSON;\r\nif (!JSON) {\r\n    JSON = {};\r\n}\r\n\r\n(function () {\r\n    'use strict';\r\n\r\n    function f(n) {\r\n        // Format integers to have at least two digits.\r\n        return n < 10 ? '0' + n : n;\r\n    }\r\n\r\n    if (typeof Date.prototype.toJSON !== 'function') {\r\n\r\n        Date.prototype.toJSON = function (key) {\r\n\r\n            return isFinite(this.valueOf())\r\n                ? this.getUTCFullYear()     + '-' +\r\n                    f(this.getUTCMonth() + 1) + '-' +\r\n                    f(this.getUTCDate())      + 'T' +\r\n                    f(this.getUTCHours())     + ':' +\r\n                    f(this.getUTCMinutes())   + ':' +\r\n                    f(this.getUTCSeconds())   + 'Z'\r\n                : null;\r\n        };\r\n\r\n        String.prototype.toJSON      =\r\n            Number.prototype.toJSON  =\r\n            Boolean.prototype.toJSON = function (key) {\r\n                return this.valueOf();\r\n            };\r\n    }\r\n\r\n    var cx = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,\r\n        escapable = /[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,\r\n        gap,\r\n        indent,\r\n        meta = {    // table of character substitutions\r\n            '\\b': '\\\\b',\r\n            '\\t': '\\\\t',\r\n            '\\n': '\\\\n',\r\n            '\\f': '\\\\f',\r\n            '\\r': '\\\\r',\r\n            '\"' : '\\\\\"',\r\n            '\\\\': '\\\\\\\\'\r\n        },\r\n        rep;\r\n\r\n\r\n    function quote(string) {\r\n\r\n// If the string contains no control characters, no quote characters, and no\r\n// backslash characters, then we can safely slap some quotes around it.\r\n// Otherwise we must also replace the offending characters with safe escape\r\n// sequences.\r\n\r\n        escapable.lastIndex = 0;\r\n        return escapable.test(string) ? '\"' + string.replace(escapable, function (a) {\r\n            var c = meta[a];\r\n            return typeof c === 'string'\r\n                ? c\r\n                : '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\r\n        }) + '\"' : '\"' + string + '\"';\r\n    }\r\n\r\n\r\n    function str(key, holder) {\r\n\r\n// Produce a string from holder[key].\r\n\r\n        var i,          // The loop counter.\r\n            k,          // The member key.\r\n            v,          // The member value.\r\n            length,\r\n            mind = gap,\r\n            partial,\r\n            value = holder[key];\r\n\r\n// If the value has a toJSON method, call it to obtain a replacement value.\r\n\r\n        if (value && typeof value === 'object' &&\r\n                typeof value.toJSON === 'function') {\r\n            value = value.toJSON(key);\r\n        }\r\n\r\n// If we were called with a replacer function, then call the replacer to\r\n// obtain a replacement value.\r\n\r\n        if (typeof rep === 'function') {\r\n            value = rep.call(holder, key, value);\r\n        }\r\n\r\n// What happens next depends on the value's type.\r\n\r\n        switch (typeof value) {\r\n        case 'string':\r\n            return quote(value);\r\n\r\n        case 'number':\r\n\r\n// JSON numbers must be finite. Encode non-finite numbers as null.\r\n\r\n            return isFinite(value) ? String(value) : 'null';\r\n\r\n        case 'boolean':\r\n        case 'null':\r\n\r\n// If the value is a boolean or null, convert it to a string. Note:\r\n// typeof null does not produce 'null'. The case is included here in\r\n// the remote chance that this gets fixed someday.\r\n\r\n            return String(value);\r\n\r\n// If the type is 'object', we might be dealing with an object or an array or\r\n// null.\r\n\r\n        case 'object':\r\n\r\n// Due to a specification blunder in ECMAScript, typeof null is 'object',\r\n// so watch out for that case.\r\n\r\n            if (!value) {\r\n                return 'null';\r\n            }\r\n\r\n// Make an array to hold the partial results of stringifying this object value.\r\n\r\n            gap += indent;\r\n            partial = [];\r\n\r\n// Is the value an array?\r\n\r\n            if (Object.prototype.toString.apply(value) === '[object Array]') {\r\n\r\n// The value is an array. Stringify every element. Use null as a placeholder\r\n// for non-JSON values.\r\n\r\n                length = value.length;\r\n                for (i = 0; i < length; i += 1) {\r\n                    partial[i] = str(i, value) || 'null';\r\n                }\r\n\r\n// Join all of the elements together, separated with commas, and wrap them in\r\n// brackets.\r\n\r\n                v = partial.length === 0\r\n                    ? '[]'\r\n                    : gap\r\n                    ? '[\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + ']'\r\n                    : '[' + partial.join(',') + ']';\r\n                gap = mind;\r\n                return v;\r\n            }\r\n\r\n// If the replacer is an array, use it to select the members to be stringified.\r\n\r\n            if (rep && typeof rep === 'object') {\r\n                length = rep.length;\r\n                for (i = 0; i < length; i += 1) {\r\n                    if (typeof rep[i] === 'string') {\r\n                        k = rep[i];\r\n                        v = str(k, value);\r\n                        if (v) {\r\n                            partial.push(quote(k) + (gap ? ': ' : ':') + v);\r\n                        }\r\n                    }\r\n                }\r\n            } else {\r\n\r\n// Otherwise, iterate through all of the keys in the object.\r\n\r\n                for (k in value) {\r\n                    if (Object.prototype.hasOwnProperty.call(value, k)) {\r\n                        v = str(k, value);\r\n                        if (v) {\r\n                            partial.push(quote(k) + (gap ? ': ' : ':') + v);\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n\r\n// Join all of the member texts together, separated with commas,\r\n// and wrap them in braces.\r\n\r\n            v = partial.length === 0\r\n                ? '{}'\r\n                : gap\r\n                ? '{\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + '}'\r\n                : '{' + partial.join(',') + '}';\r\n            gap = mind;\r\n            return v;\r\n        }\r\n    }\r\n\r\n// If the JSON object does not yet have a stringify method, give it one.\r\n\r\n    if (typeof JSON.stringify !== 'function') {\r\n        JSON.stringify = function (value, replacer, space) {\r\n\r\n// The stringify method takes a value and an optional replacer, and an optional\r\n// space parameter, and returns a JSON text. The replacer can be a function\r\n// that can replace values, or an array of strings that will select the keys.\r\n// A default replacer method can be provided. Use of the space parameter can\r\n// produce text that is more easily readable.\r\n\r\n            var i;\r\n            gap = '';\r\n            indent = '';\r\n\r\n// If the space parameter is a number, make an indent string containing that\r\n// many spaces.\r\n\r\n            if (typeof space === 'number') {\r\n                for (i = 0; i < space; i += 1) {\r\n                    indent += ' ';\r\n                }\r\n\r\n// If the space parameter is a string, it will be used as the indent string.\r\n\r\n            } else if (typeof space === 'string') {\r\n                indent = space;\r\n            }\r\n\r\n// If there is a replacer, it must be a function or an array.\r\n// Otherwise, throw an error.\r\n\r\n            rep = replacer;\r\n            if (replacer && typeof replacer !== 'function' &&\r\n                    (typeof replacer !== 'object' ||\r\n                    typeof replacer.length !== 'number')) {\r\n                throw new Error('JSON.stringify');\r\n            }\r\n\r\n// Make a fake root object containing our value under the key of ''.\r\n// Return the result of stringifying the value.\r\n\r\n            return str('', {'': value});\r\n        };\r\n    }\r\n\r\n\r\n// If the JSON object does not yet have a parse method, give it one.\r\n\r\n    if (typeof JSON.parse !== 'function') {\r\n        JSON.parse = function (text, reviver) {\r\n\r\n// The parse method takes a text and an optional reviver function, and returns\r\n// a JavaScript value if the text is a valid JSON text.\r\n\r\n            var j;\r\n\r\n            function walk(holder, key) {\r\n\r\n// The walk method is used to recursively walk the resulting structure so\r\n// that modifications can be made.\r\n\r\n                var k, v, value = holder[key];\r\n                if (value && typeof value === 'object') {\r\n                    for (k in value) {\r\n                        if (Object.prototype.hasOwnProperty.call(value, k)) {\r\n                            v = walk(value, k);\r\n                            if (v !== undefined) {\r\n                                value[k] = v;\r\n                            } else {\r\n                                delete value[k];\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n                return reviver.call(holder, key, value);\r\n            }\r\n\r\n\r\n// Parsing happens in four stages. In the first stage, we replace certain\r\n// Unicode characters with escape sequences. JavaScript handles many characters\r\n// incorrectly, either silently deleting them, or treating them as line endings.\r\n\r\n            text = String(text);\r\n            cx.lastIndex = 0;\r\n            if (cx.test(text)) {\r\n                text = text.replace(cx, function (a) {\r\n                    return '\\\\u' +\r\n                        ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\r\n                });\r\n            }\r\n\r\n// In the second stage, we run the text against regular expressions that look\r\n// for non-JSON patterns. We are especially concerned with '()' and 'new'\r\n// because they can cause invocation, and '=' because it can cause mutation.\r\n// But just to be safe, we want to reject all unexpected forms.\r\n\r\n// We split the second stage into 4 regexp operations in order to work around\r\n// crippling inefficiencies in IE's and Safari's regexp engines. First we\r\n// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we\r\n// replace all simple value tokens with ']' characters. Third, we delete all\r\n// open brackets that follow a colon or comma or that begin the text. Finally,\r\n// we look to see that the remaining characters are only whitespace or ']' or\r\n// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.\r\n\r\n            if (/^[\\],:{}\\s]*$/\r\n                    .test(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')\r\n                        .replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']')\r\n                        .replace(/(?:^|:|,)(?:\\s*\\[)+/g, ''))) {\r\n\r\n// In the third stage we use the eval function to compile the text into a\r\n// JavaScript structure. The '{' operator is subject to a syntactic ambiguity\r\n// in JavaScript: it can begin a block or an object literal. We wrap the text\r\n// in parens to eliminate the ambiguity.\r\n\r\n                j = eval('(' + text + ')');\r\n\r\n// In the optional fourth stage, we recursively walk the new structure, passing\r\n// each name/value pair to a reviver function for possible transformation.\r\n\r\n                return typeof reviver === 'function'\r\n                    ? walk({'': j}, '')\r\n                    : j;\r\n            }\r\n\r\n// If the text is not JSON parseable, then a SyntaxError is thrown.\r\n\r\n            throw new SyntaxError('JSON.parse');\r\n        };\r\n    }\r\n}());"
  },
  {
    "path": "migo-portal/src/main/webapp/js/lib-v1.js",
    "content": " /*\r\n Date: 2014-09-25 3:59:11 [PM] \r\n */\r\nfunction StringBuilder() {\r\n    this.strings = new Array, this.length = 0\r\n}\r\nfunction jdThickBoxclose() {\r\n    $(\".thickclose\").trigger(\"click\")\r\n}\r\nfunction getparam() {\r\n    for (var a = \"\", b = \"\", c = (new Object, location.search.substring(1)), d = c.split(\"&\"), e = 0; e < d.length; e++) {\r\n        var f = d[e].indexOf(\"=\");\r\n        if (-1 != f) {\r\n            {\r\n                d[e].substring(0, f)\r\n            }\r\n            \"sid\" == d[e].substring(0, f) && (a = unescape(d[e].substring(f + 1))), \"t\" == d[e].substring(0, f) && (b = unescape(d[e].substring(f + 1)))\r\n        }\r\n    }\r\n    return \"\" != a || \"\" != b ? \"&sid=\" + escape(a) + \"&t=\" + escape(b) : \"\"\r\n}\r\nfunction mlazyload(a) {\r\n    var b = {defObj: null,defHeight: 0,fn: null};\r\n    b = $.extend(b, a || {});\r\n    var c = (b.defHeight, \"object\" == typeof b.defObj ? b.defObj : $(b.defObj));\r\n    if (!(c.length < 1)) {\r\n        var d = function() {\r\n            var a = document, c = \"ipad\" == navigator.userAgent.toLowerCase().match(/iPad/i) ? window.pageYOffset : Math.max(a.documentElement.scrollTop, a.body.scrollTop);\r\n            return a.documentElement.clientHeight + c - b.defHeight\r\n        }, e = function() {\r\n            c.offset().top <= d() && !c.attr(\"load\") && (c.attr(\"load\", \"true\"), b.fn && b.fn())\r\n        };\r\n        e(), $(window).bind(\"scroll\", function() {\r\n            e()\r\n        })\r\n    }\r\n}\r\nfunction getHashProbability(a, b) {\r\n    function c(a) {\r\n        for (var b = 0, c = 0; c < a.length; c++)\r\n            b = (b << 5) - b + a.charCodeAt(c), b &= b;\r\n        return b\r\n    }\r\n    return Math.abs(c(a)) % b\r\n}\r\nfunction clothingAbTest() {\r\n    if (\"home\" == pageConfig.navId) {\r\n        var a = CookieUtil.getCookie(\"__jda\");\r\n        if (a) {\r\n            var b = getHashProbability(a, 1e4), c = $(\"#_JD_ALLSORT div.fore6\"), d = c.find(\".subitem .fore1 dt a\"), e = c.find(\".subitem .fore2 dt a\");\r\n            5e3 >= b ? (c.find(\"h3\").html('<a href=\"http://channel.jd.com/1315-1342.html\" clstag=\"homepage|keycount|home2013|0606a4\">\\u7537\\u88c5</a>\\u3001<a href=\"http://channel.jd.com/1315-1343.html\" clstag=\"homepage|keycount|home2013|0606a3\">\\u5973\\u88c5</a>\\u3001<a href=\"http://channel.jd.com/1315-1345.html\" clstag=\"homepage|keycount|home2013|0606a5\">\\u5185\\u8863</a>\\u3001<a href=\"http://channel.jd.com/jewellery.html\" clstag=\"homepage|keycount|home2013|0606a6\">\\u73e0\\u5b9d</a>'), d.attr(\"clstag\", \"homepage|keycount|home2013|0606b3\"), e.attr(\"clstag\", \"homepage|keycount|home2013|0606b4\")) : (c.find(\"h3\").html('<a href=\"http://channel.jd.com/clothing.html\" clstag=\"homepage|keycount|home2013|0606a1\">\\u670d\\u9970\\u5185\\u8863</a>\\u3001<a href=\"http://channel.jd.com/jewellery.html\" clstag=\"homepage|keycount|home2013|0606a2\">\\u73e0\\u5b9d\\u9996\\u9970</a>'), d.attr(\"clstag\", \"homepage|keycount|home2013|0606b1\"), e.attr(\"clstag\", \"homepage|keycount|home2013|0606b2\"))\r\n        }\r\n    }\r\n}\r\n!function() {\r\n    var a = document.getElementById(\"nav-dapeigou\");\r\n    a && (a.innerHTML = '<a href=\"http://channel.jd.com/chaoshi.html\">\\u4eac\\u4e1c\\u8d85\\u5e02</a>')\r\n}(), \"undefined\" == typeof pageConfig.FN_getDomain && (pageConfig.FN_getDomain = function() {\r\n    var a = location.hostname;\r\n    return /360buy.com/.test(a) ? \"360buy.com\" : \"jd.com\"\r\n}), function() {\r\n    var a = $(\"#service-2013 a[href='http://en.360buy.com/']\");\r\n    a.length && a.attr(\"href\", \"http://help.en.360buy.com/help/question-2.html\")\r\n}(), function() {\r\n    var a = $(\"#footer-2013 a[href='http://about.58.com/fqz/index.html']\");\r\n    a.length && a.attr(\"href\", \"http://www.bj.cyberpolice.cn/index.do\")\r\n}(), \"object\" != typeof JSON && (JSON = {}), function() {\r\n    function f(a) {\r\n        return 10 > a ? \"0\" + a : a\r\n    }\r\n    function quote(a) {\r\n        return escapable.lastIndex = 0, escapable.test(a) ? '\"' + a.replace(escapable, function(a) {\r\n            var b = meta[a];\r\n            return \"string\" == typeof b ? b : \"\\\\u\" + (\"0000\" + a.charCodeAt(0).toString(16)).slice(-4)\r\n        }) + '\"' : '\"' + a + '\"'\r\n    }\r\n    function str(a, b) {\r\n        var c, d, e, f, g, h = gap, i = b[a];\r\n        switch (i && \"object\" == typeof i && \"function\" == typeof i.toJSON && (i = i.toJSON(a)), \"function\" == typeof rep && (i = rep.call(b, a, i)), typeof i) {\r\n            case \"string\":\r\n                return quote(i);\r\n            case \"number\":\r\n                return isFinite(i) ? String(i) : \"null\";\r\n            case \"boolean\":\r\n            case \"null\":\r\n                return String(i);\r\n            case \"object\":\r\n                if (!i)\r\n                    return \"null\";\r\n                if (gap += indent, g = [], \"[object Array]\" === Object.prototype.toString.apply(i)) {\r\n                    for (f = i.length, c = 0; f > c; c += 1)\r\n                        g[c] = str(c, i) || \"null\";\r\n                    return e = 0 === g.length ? \"[]\" : gap ? \"[\\n\" + gap + g.join(\",\\n\" + gap) + \"\\n\" + h + \"]\" : \"[\" + g.join(\",\") + \"]\", gap = h, e\r\n                }\r\n                if (rep && \"object\" == typeof rep)\r\n                    for (f = rep.length, c = 0; f > c; c += 1)\r\n                        \"string\" == typeof rep[c] && (d = rep[c], e = str(d, i), e && g.push(quote(d) + (gap ? \": \" : \":\") + e));\r\n                else\r\n                    for (d in i)\r\n                        Object.prototype.hasOwnProperty.call(i, d) && (e = str(d, i), e && g.push(quote(d) + (gap ? \": \" : \":\") + e));\r\n                return e = 0 === g.length ? \"{}\" : gap ? \"{\\n\" + gap + g.join(\",\\n\" + gap) + \"\\n\" + h + \"}\" : \"{\" + g.join(\",\") + \"}\", gap = h, e\r\n        }\r\n    }\r\n    \"function\" != typeof Date.prototype.toJSON && (Date.prototype.toJSON = function() {\r\n        return isFinite(this.valueOf()) ? this.getUTCFullYear() + \"-\" + f(this.getUTCMonth() + 1) + \"-\" + f(this.getUTCDate()) + \"T\" + f(this.getUTCHours()) + \":\" + f(this.getUTCMinutes()) + \":\" + f(this.getUTCSeconds()) + \"Z\" : null\r\n    }, String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function() {\r\n        return this.valueOf()\r\n    });\r\n    var cx = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g, escapable = /[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g, gap, indent, meta = {\"\\b\": \"\\\\b\",\"\t\": \"\\\\t\",\"\\n\": \"\\\\n\",\"\\f\": \"\\\\f\",\"\\r\": \"\\\\r\",'\"': '\\\\\"',\"\\\\\": \"\\\\\\\\\"}, rep;\r\n    \"function\" != typeof JSON.stringify && (JSON.stringify = function(a, b, c) {\r\n        var d;\r\n        if (gap = \"\", indent = \"\", \"number\" == typeof c)\r\n            for (d = 0; c > d; d += 1)\r\n                indent += \" \";\r\n        else\r\n            \"string\" == typeof c && (indent = c);\r\n        if (rep = b, b && \"function\" != typeof b && (\"object\" != typeof b || \"number\" != typeof b.length))\r\n            throw new Error(\"JSON.stringify\");\r\n        return str(\"\", {\"\": a})\r\n    }), \"function\" != typeof JSON.parse && (JSON.parse = function(text, reviver) {\r\n        function walk(a, b) {\r\n            var c, d, e = a[b];\r\n            if (e && \"object\" == typeof e)\r\n                for (c in e)\r\n                    Object.prototype.hasOwnProperty.call(e, c) && (d = walk(e, c), void 0 !== d ? e[c] = d : delete e[c]);\r\n            return reviver.call(a, b, e)\r\n        }\r\n        var j;\r\n        if (text = String(text), cx.lastIndex = 0, cx.test(text) && (text = text.replace(cx, function(a) {\r\n            return \"\\\\u\" + (\"0000\" + a.charCodeAt(0).toString(16)).slice(-4)\r\n        })), /^[\\],:{}\\s]*$/.test(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g, \"@\").replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, \"]\").replace(/(?:^|:|,)(?:\\s*\\[)+/g, \"\")))\r\n            return j = eval(\"(\" + text + \")\"), \"function\" == typeof reviver ? walk({\"\": j}, \"\") : j;\r\n        throw new SyntaxError(\"JSON.parse\")\r\n    })\r\n}(), eval(function(a, b, c, d, e, f) {\r\n    if (e = function(a) {\r\n        return (b > a ? \"\" : e(parseInt(a / b))) + ((a %= b) > 35 ? String.fromCharCode(a + 29) : a.toString(36))\r\n    }, !\"\".replace(/^/, String)) {\r\n        for (; c--; )\r\n            f[e(c)] = d[c] || e(c);\r\n        d = [function(a) {\r\n                return f[a]\r\n            }], e = function() {\r\n            return \"\\\\w+\"\r\n        }, c = 1\r\n    }\r\n    for (; c--; )\r\n        d[c] && (a = a.replace(new RegExp(\"\\\\b\" + e(c) + \"\\\\b\", \"g\"), d[c]));\r\n    return a\r\n}(\"(4($){$.R($.7,{3:4(c,b,d){9 e=2,q;5($.O(c))d=b,b=c,c=z;$.h($.3.j,4(i,a){5(e.8==a.8&&e.g==a.g&&c==a.m&&(!b||b.$6==a.7.$6)&&(!d||d.$6==a.o.$6))l(q=a)&&v});q=q||Y $.3(2.8,2.g,c,b,d);q.u=v;$.3.s(q.F);l 2},T:4(c,b,d){9 e=2;5($.O(c))d=b,b=c,c=z;$.h($.3.j,4(i,a){5(e.8==a.8&&e.g==a.g&&(!c||c==a.m)&&(!b||b.$6==a.7.$6)&&(!d||d.$6==a.o.$6)&&!2.u)$.3.y(a.F)});l 2}});$.3=4(e,c,a,b,d){2.8=e;2.g=c||S;2.m=a;2.7=b;2.o=d;2.t=[];2.u=v;2.F=$.3.j.K(2)-1;b.$6=b.$6||$.3.I++;5(d)d.$6=d.$6||$.3.I++;l 2};$.3.p={y:4(){9 b=2;5(2.m)2.t.16(2.m,2.7);E 5(2.o)2.t.h(4(i,a){b.o.x(a)});2.t=[];2.u=Q},s:4(){5(2.u)l;9 b=2;9 c=2.t,w=$(2.8,2.g),H=w.11(c);2.t=w;5(2.m){H.10(2.m,2.7);5(c.C>0)$.h(c,4(i,a){5($.B(a,w)<0)$.Z.P(a,b.m,b.7)})}E{H.h(4(){b.7.x(2)});5(2.o&&c.C>0)$.h(c,4(i,a){5($.B(a,w)<0)b.o.x(a)})}}};$.R($.3,{I:0,j:[],k:[],A:v,D:X,N:4(){5($.3.A&&$.3.k.C){9 a=$.3.k.C;W(a--)$.3.j[$.3.k.V()].s()}},U:4(){$.3.A=v},M:4(){$.3.A=Q;$.3.s()},L:4(){$.h(G,4(i,n){5(!$.7[n])l;9 a=$.7[n];$.7[n]=4(){9 r=a.x(2,G);$.3.s();l r}})},s:4(b){5(b!=z){5($.B(b,$.3.k)<0)$.3.k.K(b)}E $.h($.3.j,4(a){5($.B(a,$.3.k)<0)$.3.k.K(a)});5($.3.D)1j($.3.D);$.3.D=1i($.3.N,1h)},y:4(b){5(b!=z)$.3.j[b].y();E $.h($.3.j,4(a){$.3.j[a].y()})}});$.3.L('1g','1f','1e','1b','1a','19','18','17','1c','15','1d','P');$(4(){$.3.M()});9 f=$.p.J;$.p.J=4(a,c){9 r=f.x(2,G);5(a&&a.8)r.g=a.g,r.8=a.8;5(14 a=='13')r.g=c||S,r.8=a;l r};$.p.J.p=$.p})(12);\", 62, 82, \"||this|livequery|function|if|lqguid|fn|selector|var|||||||context|each||queries|queue|return|type||fn2|prototype|||run|elements|stopped|false|els|apply|stop|undefined|running|inArray|length|timeout|else|id|arguments|nEls|guid|init|push|registerPlugin|play|checkQueue|isFunction|remove|true|extend|document|expire|pause|shift|while|null|new|event|bind|not|jQuery|string|typeof|toggleClass|unbind|addClass|removeAttr|attr|wrap|before|removeClass|empty|after|prepend|append|20|setTimeout|clearTimeout\".split(\"|\"), 0, {})), new function(a) {\r\n    var b = a.separator || \"&\", c = a.spaces === !1 ? !1 : !0, d = (a.suffix === !1 ? \"\" : \"[]\", a.prefix === !1 ? !1 : !0), e = d ? a.hash === !0 ? \"#\" : \"?\" : \"\", f = a.numbers === !1 ? !1 : !0;\r\n    jQuery.query = new function() {\r\n        var a = function(a, b) {\r\n            return void 0 != a && null !== a && (b ? a.constructor == b : !0)\r\n        }, d = function(a) {\r\n            for (var b, c = /\\[([^[]*)\\]/g, d = /^(\\S+?)(\\[\\S*\\])?$/.exec(a), e = d[1], f = []; b = c.exec(d[2]); )\r\n                f.push(b[1]);\r\n            return [e, f]\r\n        }, g = function(b, c, d) {\r\n            var e = c.shift();\r\n            if (\"object\" != typeof b && (b = null), \"\" === e)\r\n                if (b || (b = []), a(b, Array))\r\n                    b.push(0 == c.length ? d : g(null, c.slice(0), d));\r\n                else if (a(b, Object)) {\r\n                    for (var f = 0; null != b[f++]; )\r\n                        ;\r\n                    b[--f] = 0 == c.length ? d : g(b[f], c.slice(0), d)\r\n                } else\r\n                    b = [], b.push(0 == c.length ? d : g(null, c.slice(0), d));\r\n            else if (e && e.match(/^\\s*[0-9]+\\s*$/)) {\r\n                var h = parseInt(e, 10);\r\n                b || (b = []), b[h] = 0 == c.length ? d : g(b[h], c.slice(0), d)\r\n            } else {\r\n                if (!e)\r\n                    return d;\r\n                var h = e.replace(/^\\s*|\\s*$/g, \"\");\r\n                if (b || (b = {}), a(b, Array)) {\r\n                    for (var i = {}, f = 0; f < b.length; ++f)\r\n                        i[f] = b[f];\r\n                    b = i\r\n                }\r\n                b[h] = 0 == c.length ? d : g(b[h], c.slice(0), d)\r\n            }\r\n            return b\r\n        }, h = function(a) {\r\n            var b = this;\r\n            return b.keys = {}, a.queryObject ? jQuery.each(a.get(), function(a, c) {\r\n                b.SET(a, c)\r\n            }) : jQuery.each(arguments, function() {\r\n                var a = \"\" + this;\r\n                a = a.replace(/^[?#]/, \"\"), a = a.replace(/[;&]$/, \"\"), c && (a = a.replace(/[+]/g, \" \")), jQuery.each(a.split(/[&;]/), function() {\r\n                    try {\r\n                        var a = decodeURIComponent(this.split(\"=\")[0]), c = decodeURIComponent(encodeURIComponent(this.split(\"=\")[1]))\r\n                    } catch (d) {\r\n                    }\r\n                    a && (f && (/^[+-]?[0-9]+\\.[0-9]*$/.test(c) ? c = parseFloat(c) : /^[+-]?[0-9]+$/.test(c) && (c = parseInt(c, 10))), c = c || 0 === c ? c : !0, c !== !1 && c !== !0 && \"number\" != typeof c && (c = c), b.SET(a, c))\r\n                })\r\n            }), b\r\n        };\r\n        return h.prototype = {queryObject: !0,has: function(b, c) {\r\n                var d = this.get(b);\r\n                return a(d, c)\r\n            },GET: function(b) {\r\n                if (!a(b))\r\n                    return this.keys;\r\n                for (var c = d(b), e = c[0], f = c[1], g = this.keys[e]; null != g && 0 != f.length; )\r\n                    g = g[f.shift()];\r\n                return \"number\" == typeof g ? g : g || \"\"\r\n            },get: function(b) {\r\n                var c = this.GET(b);\r\n                return a(c, Object) ? jQuery.extend(!0, {}, c) : a(c, Array) ? c.slice(0) : c\r\n            },SET: function(b, c) {\r\n                var e = a(c) ? c : null, f = d(b), h = f[0], i = f[1], j = this.keys[h];\r\n                return this.keys[h] = g(j, i.slice(0), e), this\r\n            },set: function(a, b) {\r\n                return this.copy().SET(a, b)\r\n            },REMOVE: function(a) {\r\n                return this.SET(a, null).COMPACT()\r\n            },remove: function(a) {\r\n                return this.copy().REMOVE(a)\r\n            },EMPTY: function() {\r\n                var a = this;\r\n                return jQuery.each(a.keys, function(b) {\r\n                    delete a.keys[b]\r\n                }), a\r\n            },load: function(a) {\r\n                var b = a.replace(/^.*?[#](.+?)(?:\\?.+)?$/, \"$1\"), c = a.replace(/^.*?[?](.+?)(?:#.+)?$/, \"$1\");\r\n                return new h(a.length == c.length ? \"\" : c, a.length == b.length ? \"\" : b)\r\n            },empty: function() {\r\n                return this.copy().EMPTY()\r\n            },copy: function() {\r\n                return new h(this)\r\n            },COMPACT: function() {\r\n                function b(c) {\r\n                    function d(b, c, d) {\r\n                        a(b, Array) ? b.push(d) : b[c] = d\r\n                    }\r\n                    var e = \"object\" == typeof c ? a(c, Array) ? [] : {} : c;\r\n                    return \"object\" == typeof c && jQuery.each(c, function(c, f) {\r\n                        return a(f) ? (d(e, c, b(f)), void 0) : !0\r\n                    }), e\r\n                }\r\n                return this.keys = b(this.keys), this\r\n            },compact: function() {\r\n                return this.copy().COMPACT()\r\n            },toString: function() {\r\n                var c = [], d = [], f = function(b, c, d) {\r\n                    if (a(d) && d !== !1) {\r\n                        var e = [encodeURIComponent(c)];\r\n                        d !== !0 && (e.push(\"=\"), e.push(encodeURIComponent(d))), b.push(e.join(\"\"))\r\n                    }\r\n                }, g = function(a, b) {\r\n                    var c = function(a) {\r\n                        return b && \"\" != b ? [b, \"[\", a, \"]\"].join(\"\") : [a].join(\"\")\r\n                    };\r\n                    jQuery.each(a, function(a, b) {\r\n                        \"object\" == typeof b ? g(b, c(a)) : f(d, c(a), b)\r\n                    })\r\n                };\r\n                return g(this.keys), d.length > 0 && c.push(e), c.push(d.join(b)), c.join(\"\")\r\n            }}, new h(location.search, location.hash)\r\n    }\r\n}(jQuery.query || {}), eval(function(a, b, c, d, e, f) {\r\n    if (e = function(a) {\r\n        return (b > a ? \"\" : e(parseInt(a / b))) + ((a %= b) > 35 ? String.fromCharCode(a + 29) : a.toString(36))\r\n    }, !\"\".replace(/^/, String)) {\r\n        for (; c--; )\r\n            f[e(c)] = d[c] || e(c);\r\n        d = [function(a) {\r\n                return f[a]\r\n            }], e = function() {\r\n            return \"\\\\w+\"\r\n        }, c = 1\r\n    }\r\n    for (; c--; )\r\n        d[c] && (a = a.replace(new RegExp(\"\\\\b\" + e(c) + \"\\\\b\", \"g\"), d[c]));\r\n    return a\r\n}(\"n.5=v(a,b,c){4(7 b!='w'){c=c||{};4(b===o){b='';c.3=-1}2 d='';4(c.3&&(7 c.3=='p'||c.3.q)){2 e;4(7 c.3=='p'){e=x y();e.z(e.A()+(c.3*B*r*r*C))}s{e=c.3}d=';3='+e.q()}2 f=c.8?';8='+(c.8):'';2 g=c.9?';9='+(c.9):'';2 h=c.t?';t':'';6.5=[a,'=',D(b),d,f,g,h].E('')}s{2 j=o;4(6.5&&6.5!=''){2 k=6.5.F(';');G(2 i=0;i<k.m;i++){2 l=n.H(k[i]);4(l.u(0,a.m+1)==(a+'=')){j=I(l.u(a.m+1));J}}}K j}};\", 47, 47, \"||var|expires|if|cookie|document|typeof|path|domain|||||||||||||length|jQuery|null|number|toUTCString|60|else|secure|substring|function|undefined|new|Date|setTime|getTime|24|1000|encodeURIComponent|join|split|for|trim|decodeURIComponent|break|return\".split(\"|\"), 0, {})), Function.prototype.overwrite = function(a) {\r\n    var b = a;\r\n    return b.original || (b.original = this), b\r\n}, Date.prototype.toString = Date.prototype.toString.overwrite(function(a) {\r\n    var b = new String;\r\n    return \"string\" == typeof a && (b = a, b = b.replace(/yyyy|YYYY/, this.getFullYear()), b = b.replace(/yy|YY/, this.getFullYear().toString().substr(2, 2)), b = b.replace(/MM/, this.getMonth() >= 9 ? this.getMonth() + 1 : \"0\" + (this.getMonth() + 1)), b = b.replace(/M/, this.getMonth()), b = b.replace(/dd|DD/, this.getDate() > 9 ? this.getDate() : \"0\" + this.getDate()), b = b.replace(/d|D/, this.getDate()), b = b.replace(/hh|HH/, this.getHours() > 9 ? this.getHours() : \"0\" + this.getHours()), b = b.replace(/h|H/, this.getHours()), b = b.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes() : \"0\" + this.getMinutes()), b = b.replace(/m/, this.getMinutes()), b = b.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds() : \"0\" + this.getSeconds()), b = b.replace(/s|S/, this.getSeconds())), b\r\n}), String.prototype.format = function() {\r\n    var a = this;\r\n    return arguments.length > 0 && (parameters = $.makeArray(arguments), $.each(parameters, function(b, c) {\r\n        a = a.replace(new RegExp(\"\\\\{\" + b + \"\\\\}\", \"g\"), c)\r\n    })), a\r\n}, StringBuilder.prototype.append = function(a) {\r\n    this.strings.push(a), this.length += a.length\r\n}, StringBuilder.prototype.toString = function(a, b) {\r\n    return this.strings.join(\"\").substr(a, b)\r\n}, function($) {\r\n    $.jmsajax = function(a) {\r\n        var b = {type: \"POST\",dataType: \"msjson\",data: {},beforeSend: function(a) {\r\n                a.setRequestHeader(\"Content-type\", \"application/json; charset=utf-8\")\r\n            },contentType: \"application/json; charset=utf-8\",error: function(a) {\r\n                alert(\"Status: \" + (a.statusText ? a.statusText : \"Unknown\") + \"\\nMessage: \" + msJSON.parse(a.responseText ? a.responseText : \"Unknown\").Message)\r\n            }}, a = $.extend(b, a);\r\n        if (a.method && (a.url += \"/\" + a.method), a.data)\r\n            if (\"GET\" == a.type) {\r\n                var c = \"\";\r\n                for (var d in a.data)\r\n                    \"\" != c && (c += \"&\"), c += d + \"=\" + msJSON.stringify(a.data[d]);\r\n                a.url += \"?\" + c, c = null, a.data = \"{}\"\r\n            } else\r\n                \"POST\" == a.type && (a.data = msJSON.stringify(a.data));\r\n        if (a.success && a.dataType && \"msjson\" == a.dataType) {\r\n            var e = a.success;\r\n            a.success = function(b, c) {\r\n                var d = dateparse(b);\r\n                a.version ? a.version >= 3.5 && (d = d.d) : 0 == b.indexOf('{\"d\":') && (d = d.d), e(d, c)\r\n            }\r\n        }\r\n        return $.ajax(a)\r\n    }, dateparse = function(a) {\r\n        try {\r\n            return msJSON.parse(a, function(a, b) {\r\n                var c;\r\n                return \"string\" == typeof b && b.indexOf(\"Date\") >= 0 && (c = /^\\/Date\\(([0-9]+)\\)\\/$/.exec(b)) ? new Date(parseInt(c[1], 10)) : b\r\n            })\r\n        } catch (b) {\r\n            return null\r\n        }\r\n    }, msJSON = function() {\r\n        function f(a) {\r\n            return 10 > a ? \"0\" + a : a\r\n        }\r\n        function quote(a) {\r\n            return escapeable.lastIndex = 0, escapeable.test(a) ? '\"' + a.replace(escapeable, function(a) {\r\n                var b = meta[a];\r\n                return \"string\" == typeof b ? b : \"\\\\u\" + (\"0000\" + (+a.charCodeAt(0)).toString(16)).slice(-4)\r\n            }) + '\"' : '\"' + a + '\"'\r\n        }\r\n        function str(a, b) {\r\n            var c, d, e, f, g, h = gap, i = b[a];\r\n            switch (i && \"object\" == typeof i && \"function\" == typeof i.toJSON && (i = i.toJSON(a)), \"function\" == typeof rep && (i = rep.call(b, a, i)), typeof i) {\r\n                case \"string\":\r\n                    return quote(i);\r\n                case \"number\":\r\n                    return isFinite(i) ? String(i) : \"null\";\r\n                case \"boolean\":\r\n                case \"null\":\r\n                    return String(i);\r\n                case \"object\":\r\n                    if (!i)\r\n                        return \"null\";\r\n                    if (i.toUTCString)\r\n                        return '\"\\\\/Date(' + i.getTime() + ')\\\\/\"';\r\n                    if (gap += indent, g = [], \"number\" == typeof i.length && !i.propertyIsEnumerable(\"length\")) {\r\n                        for (f = i.length, c = 0; f > c; c += 1)\r\n                            g[c] = str(c, i) || \"null\";\r\n                        return e = 0 === g.length ? \"[]\" : gap ? \"[\\n\" + gap + g.join(\",\\n\" + gap) + \"\\n\" + h + \"]\" : \"[\" + g.join(\",\") + \"]\", gap = h, e\r\n                    }\r\n                    if (rep && \"object\" == typeof rep)\r\n                        for (f = rep.length, c = 0; f > c; c += 1)\r\n                            d = rep[c], \"string\" == typeof d && (e = str(d, i, rep), e && g.push(quote(d) + (gap ? \": \" : \":\") + e));\r\n                    else\r\n                        for (d in i)\r\n                            Object.hasOwnProperty.call(i, d) && (e = str(d, i, rep), e && g.push(quote(d) + (gap ? \": \" : \":\") + e));\r\n                    return e = 0 === g.length ? \"{}\" : gap ? \"{\\n\" + gap + g.join(\",\\n\" + gap) + \"\\n\" + h + \"}\" : \"{\" + g.join(\",\") + \"}\", gap = h, e\r\n            }\r\n        }\r\n        var cx = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g, escapeable = /[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g, gap, indent, meta = {\"\\b\": \"\\\\b\",\"\t\": \"\\\\t\",\"\\n\": \"\\\\n\",\"\\f\": \"\\\\f\",\"\\r\": \"\\\\r\",'\"': '\\\\\"',\"\\\\\": \"\\\\\\\\\"}, rep;\r\n        return {stringify: function(a, b, c) {\r\n                var d;\r\n                if (gap = \"\", indent = \"\", \"number\" == typeof c)\r\n                    for (d = 0; c > d; d += 1)\r\n                        indent += \" \";\r\n                else\r\n                    \"string\" == typeof c && (indent = c);\r\n                if (rep = b, b && \"function\" != typeof b && (\"object\" != typeof b || \"number\" != typeof b.length))\r\n                    throw new Error(\"JSON.stringify\");\r\n                return str(\"\", {\"\": a})\r\n            },parse: function(text, reviver) {\r\n                function walk(a, b) {\r\n                    var c, d, e = a[b];\r\n                    if (e && \"object\" == typeof e)\r\n                        for (c in e)\r\n                            Object.hasOwnProperty.call(e, c) && (d = walk(e, c), void 0 !== d ? e[c] = d : delete e[c]);\r\n                    return reviver.call(a, b, e)\r\n                }\r\n                var j;\r\n                if (cx.lastIndex = 0, cx.test(text) && (text = text.replace(cx, function(a) {\r\n                    return \"\\\\u\" + (\"0000\" + (+a.charCodeAt(0)).toString(16)).slice(-4)\r\n                })), /^[\\],:{}\\s]*$/.test(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g, \"@\").replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, \"]\").replace(/(?:^|:|,)(?:\\s*\\[)+/g, \"\")))\r\n                    return j = eval(\"(\" + text + \")\"), \"function\" == typeof reviver ? walk({\"\": j}, \"\") : j;\r\n                throw new SyntaxError(\"JSON.parse\")\r\n            }}\r\n    }()\r\n}(jQuery);\r\nvar TrimPath;\r\n!function() {\r\n    null == TrimPath && (TrimPath = new Object), null == TrimPath.evalEx && (TrimPath.evalEx = function(src) {\r\n        return eval(src)\r\n    });\r\n    var UNDEFINED;\r\n    null == Array.prototype.pop && (Array.prototype.pop = function() {\r\n        return 0 === this.length ? UNDEFINED : this[--this.length]\r\n    }), null == Array.prototype.push && (Array.prototype.push = function() {\r\n        for (var a = 0; a < arguments.length; ++a)\r\n            this[this.length] = arguments[a];\r\n        return this.length\r\n    }), TrimPath.parseTemplate = function(a, b, c) {\r\n        null == c && (c = TrimPath.parseTemplate_etc);\r\n        var d = parse(a, b, c), e = TrimPath.evalEx(d, b, 1);\r\n        return null != e ? new c.Template(b, a, d, e, c) : null\r\n    };\r\n    try {\r\n        String.prototype.process = function(a, b) {\r\n            var c = TrimPath.parseTemplate(this, null);\r\n            return null != c ? c.process(a, b) : this\r\n        }\r\n    } catch (e) {\r\n    }\r\n    TrimPath.parseTemplate_etc = {}, TrimPath.parseTemplate_etc.statementTag = \"forelse|for|if|elseif|else|var|macro\", TrimPath.parseTemplate_etc.statementDef = {\"if\": {delta: 1,prefix: \"if (\",suffix: \") {\",paramMin: 1},\"else\": {delta: 0,prefix: \"} else {\"},elseif: {delta: 0,prefix: \"} else if (\",suffix: \") {\",paramDefault: \"true\"},\"/if\": {delta: -1,prefix: \"}\"},\"for\": {delta: 1,paramMin: 3,prefixFunc: function(a, b, c, d) {\r\n                if (\"in\" != a[2])\r\n                    throw new d.ParseError(c, b.line, \"bad for loop statement: \" + a.join(\" \"));\r\n                var e = a[1], f = \"__LIST__\" + e;\r\n                return [\"var \", f, \" = \", a[3], \";\", \"var __LENGTH_STACK__;\", \"if (typeof(__LENGTH_STACK__) == 'undefined' || !__LENGTH_STACK__.length) __LENGTH_STACK__ = new Array();\", \"__LENGTH_STACK__[__LENGTH_STACK__.length] = 0;\", \"if ((\", f, \") != null) { \", \"var \", e, \"_ct = 0;\", \"for (var \", e, \"_index in \", f, \") { \", e, \"_ct++;\", \"if (typeof(\", f, \"[\", e, \"_index]) == 'function') {continue;}\", \"__LENGTH_STACK__[__LENGTH_STACK__.length - 1]++;\", \"var \", e, \" = \", f, \"[\", e, \"_index];\"].join(\"\")\r\n            }},forelse: {delta: 0,prefix: \"} } if (__LENGTH_STACK__[__LENGTH_STACK__.length - 1] == 0) { if (\",suffix: \") {\",paramDefault: \"true\"},\"/for\": {delta: -1,prefix: \"} }; delete __LENGTH_STACK__[__LENGTH_STACK__.length - 1];\"},\"var\": {delta: 0,prefix: \"var \",suffix: \";\"},macro: {delta: 1,prefixFunc: function(a) {\r\n                var b = a[1].split(\"(\")[0];\r\n                return [\"var \", b, \" = function\", a.slice(1).join(\" \").substring(b.length), \"{ var _OUT_arr = []; var _OUT = { write: function(m) { if (m) _OUT_arr.push(m); } }; \"].join(\"\")\r\n            }},\"/macro\": {delta: -1,prefix: \" return _OUT_arr.join(''); };\"}}, TrimPath.parseTemplate_etc.modifierDef = {eat: function() {\r\n            return \"\"\r\n        },escape: function(a) {\r\n            return String(a).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\")\r\n        },capitalize: function(a) {\r\n            return String(a).toUpperCase()\r\n        },\"default\": function(a, b) {\r\n            return null != a ? a : b\r\n        }}, TrimPath.parseTemplate_etc.modifierDef.h = TrimPath.parseTemplate_etc.modifierDef.escape, TrimPath.parseTemplate_etc.Template = function(a, b, c, d, e) {\r\n        this.process = function(a, b) {\r\n            null == a && (a = {}), null == a._MODIFIERS && (a._MODIFIERS = {}), null == a.defined && (a.defined = function(b) {\r\n                return void 0 != a[b]\r\n            });\r\n            for (var c in e.modifierDef)\r\n                null == a._MODIFIERS[c] && (a._MODIFIERS[c] = e.modifierDef[c]);\r\n            null == b && (b = {});\r\n            var f = [], g = {write: function(a) {\r\n                    f.push(a)\r\n                }};\r\n            try {\r\n                d(g, a, b)\r\n            } catch (h) {\r\n                if (1 == b.throwExceptions)\r\n                    throw h;\r\n                var i = new String(f.join(\"\") + \"[ERROR: \" + h.toString() + (h.message ? \"; \" + h.message : \"\") + \"]\");\r\n                return i.exception = h, i\r\n            }\r\n            return f.join(\"\")\r\n        }, this.name = a, this.source = b, this.sourceFunc = c, this.toString = function() {\r\n            return \"TrimPath.Template [\" + a + \"]\"\r\n        }\r\n    }, TrimPath.parseTemplate_etc.ParseError = function(a, b, c) {\r\n        this.name = a, this.line = b, this.message = c\r\n    }, TrimPath.parseTemplate_etc.ParseError.prototype.toString = function() {\r\n        return \"TrimPath template ParseError in \" + this.name + \": line \" + this.line + \", \" + this.message\r\n    };\r\n    var parse = function(a, b, c) {\r\n        a = cleanWhiteSpace(a);\r\n        for (var d = [\"var TrimPath_Template_TEMP = function(_OUT, _CONTEXT, _FLAGS) { with (_CONTEXT) {\"], e = {stack: [],line: 1}, f = -1; f + 1 < a.length; ) {\r\n            var g = f;\r\n            for (g = a.indexOf(\"{\", g + 1); g >= 0; ) {\r\n                var h = a.indexOf(\"}\", g + 1), i = a.substring(g, h), j = i.match(/^\\{(cdata|minify|eval)/);\r\n                if (j) {\r\n                    var k = j[1], l = g + k.length + 1, m = a.indexOf(\"}\", l);\r\n                    if (m >= 0) {\r\n                        var n;\r\n                        n = 0 >= m - l ? \"{/\" + k + \"}\" : a.substring(l + 1, m);\r\n                        var o = a.indexOf(n, m + 1);\r\n                        if (o >= 0) {\r\n                            emitSectionText(a.substring(f + 1, g), d);\r\n                            var p = a.substring(m + 1, o);\r\n                            \"cdata\" == k ? emitText(p, d) : \"minify\" == k ? emitText(scrubWhiteSpace(p), d) : \"eval\" == k && null != p && p.length > 0 && d.push(\"_OUT.write( (function() { \" + p + \" })() );\"), g = f = o + n.length - 1\r\n                        }\r\n                    }\r\n                } else if (\"$\" != a.charAt(g - 1) && \"\\\\\" != a.charAt(g - 1)) {\r\n                    var q = \"/\" == a.charAt(g + 1) ? 2 : 1;\r\n                    if (0 == a.substring(g + q, g + 10 + q).search(TrimPath.parseTemplate_etc.statementTag))\r\n                        break\r\n                }\r\n                g = a.indexOf(\"{\", g + 1)\r\n            }\r\n            if (0 > g)\r\n                break;\r\n            var h = a.indexOf(\"}\", g + 1);\r\n            if (0 > h)\r\n                break;\r\n            emitSectionText(a.substring(f + 1, g), d), emitStatement(a.substring(g, h + 1), e, d, b, c), f = h\r\n        }\r\n        if (emitSectionText(a.substring(f + 1), d), 0 != e.stack.length)\r\n            throw new c.ParseError(b, e.line, \"unclosed, unmatched statement(s): \" + e.stack.join(\",\"));\r\n        return d.push(\"}}; TrimPath_Template_TEMP\"), d.join(\"\")\r\n    }, emitStatement = function(a, b, c, d, e) {\r\n        var f = a.slice(1, -1).split(\" \"), g = e.statementDef[f[0]];\r\n        if (null == g)\r\n            return emitSectionText(a, c), void 0;\r\n        if (g.delta < 0) {\r\n            if (b.stack.length <= 0)\r\n                throw new e.ParseError(d, b.line, \"close tag does not match any previous statement: \" + a);\r\n            b.stack.pop()\r\n        }\r\n        if (g.delta > 0 && b.stack.push(a), null != g.paramMin && g.paramMin >= f.length)\r\n            throw new e.ParseError(d, b.line, \"statement needs more parameters: \" + a);\r\n        if (null != g.prefixFunc ? c.push(g.prefixFunc(f, b, d, e)) : c.push(g.prefix), null != g.suffix) {\r\n            if (f.length <= 1)\r\n                null != g.paramDefault && c.push(g.paramDefault);\r\n            else\r\n                for (var h = 1; h < f.length; h++)\r\n                    h > 1 && c.push(\" \"), c.push(f[h]);\r\n            c.push(g.suffix)\r\n        }\r\n    }, emitSectionText = function(a, b) {\r\n        if (!(a.length <= 0)) {\r\n            for (var c = 0, d = a.length - 1; c < a.length && \"\\n\" == a.charAt(c); )\r\n                c++;\r\n            for (; d >= 0 && (\" \" == a.charAt(d) || \"\t\" == a.charAt(d)); )\r\n                d--;\r\n            if (c > d && (d = c), c > 0) {\r\n                b.push('if (_FLAGS.keepWhitespace == true) _OUT.write(\"');\r\n                var e = a.substring(0, c).replace(\"\\n\", \"\\\\n\");\r\n                \"\\n\" == e.charAt(e.length - 1) && (e = e.substring(0, e.length - 1)), b.push(e), b.push('\");')\r\n            }\r\n            for (var f = a.substring(c, d + 1).split(\"\\n\"), g = 0; g < f.length; g++)\r\n                emitSectionTextLine(f[g], b), g < f.length - 1 && b.push('_OUT.write(\"\\\\n\");\\n');\r\n            if (d + 1 < a.length) {\r\n                b.push('if (_FLAGS.keepWhitespace == true) _OUT.write(\"');\r\n                var e = a.substring(d + 1).replace(\"\\n\", \"\\\\n\");\r\n                \"\\n\" == e.charAt(e.length - 1) && (e = e.substring(0, e.length - 1)), b.push(e), b.push('\");')\r\n            }\r\n        }\r\n    }, emitSectionTextLine = function(a, b) {\r\n        for (var c = \"}\", d = -1; d + c.length < a.length; ) {\r\n            var e = \"${\", f = \"}\", g = a.indexOf(e, d + c.length);\r\n            if (0 > g)\r\n                break;\r\n            \"%\" == a.charAt(g + 2) && (e = \"${%\", f = \"%}\");\r\n            var h = a.indexOf(f, g + e.length);\r\n            if (0 > h)\r\n                break;\r\n            emitText(a.substring(d + c.length, g), b);\r\n            var i = a.substring(g + e.length, h).replace(/\\|\\|/g, \"#@@#\").split(\"|\");\r\n            for (var j in i)\r\n                i[j].replace && (i[j] = i[j].replace(/#@@#/g, \"||\"));\r\n            b.push(\"_OUT.write(\"), emitExpression(i, i.length - 1, b), b.push(\");\"), d = h, c = f\r\n        }\r\n        emitText(a.substring(d + c.length), b)\r\n    }, emitText = function(a, b) {\r\n        null == a || a.length <= 0 || (a = a.replace(/\\\\/g, \"\\\\\\\\\"), a = a.replace(/\\n/g, \"\\\\n\"), a = a.replace(/\"/g, '\\\\\"'), b.push('_OUT.write(\"'), b.push(a), b.push('\");'))\r\n    }, emitExpression = function(a, b, c) {\r\n        var d = a[b];\r\n        if (0 >= b)\r\n            return c.push(d), void 0;\r\n        var e = d.split(\":\");\r\n        c.push('_MODIFIERS[\"'), c.push(e[0]), c.push('\"]('), emitExpression(a, b - 1, c), e.length > 1 && (c.push(\",\"), c.push(e[1])), c.push(\")\")\r\n    }, cleanWhiteSpace = function(a) {\r\n        return a = a.replace(/\\t/g, \"    \"), a = a.replace(/\\r\\n/g, \"\\n\"), a = a.replace(/\\r/g, \"\\n\"), a = a.replace(/^(\\s*\\S*(\\s+\\S+)*)\\s*$/, \"$1\")\r\n    }, scrubWhiteSpace = function(a) {\r\n        return a = a.replace(/^\\s+/g, \"\"), a = a.replace(/\\s+$/g, \"\"), a = a.replace(/\\s+/g, \" \"), a = a.replace(/^(\\s*\\S*(\\s+\\S+)*)\\s*$/, \"$1\")\r\n    };\r\n    TrimPath.parseDOMTemplate = function(a, b, c) {\r\n        null == b && (b = document);\r\n        var d = b.getElementById(a), e = d.value;\r\n        return null == e && (e = d.innerHTML), e = e.replace(/</g, \"<\").replace(/>/g, \">\"), TrimPath.parseTemplate(e, a, c)\r\n    }, TrimPath.processDOMTemplate = function(a, b, c, d, e) {\r\n        return TrimPath.parseDOMTemplate(a, d, e).process(b, c)\r\n    }\r\n}(), function($) {\r\n    $.extend({_jsonp: {scripts: {},counter: 1,charset: \"UTF-8\",head: document.getElementsByTagName(\"head\")[0],name: function(callback) {\r\n                var name = \"_jsonp_\" + (new Date).getTime() + \"_\" + this.counter;\r\n                this.counter++;\r\n                var cb = function(json) {\r\n                    eval(\"delete \" + name), callback(json), $._jsonp.head.removeChild($._jsonp.scripts[name]), delete $._jsonp.scripts[name]\r\n                };\r\n                return eval(name + \" = cb\"), name\r\n            },load: function(a, b) {\r\n                var c = document.createElement(\"script\");\r\n                c.type = \"text/javascript\", c.charset = this.charset, c.src = a, this.head.appendChild(c), this.scripts[b] = c\r\n            }},\r\n          getJSONP: function(a, b) {\r\n            var c = $._jsonp.name(b), a = a.replace(/{callback};/, c);\r\n            return $._jsonp.load(a, c), this\r\n          }})\r\n}(jQuery), function(a) {\r\n    a.fn.Jdropdown = function(b, c) {\r\n        if (this.length) {\r\n            \"function\" == typeof b && (c = b, b = {});\r\n            var d = a.extend({event: \"mouseover\",current: \"hover\",delay: 0}, b || {}), e = \"mouseover\" == d.event ? \"mouseout\" : \"mouseleave\";\r\n            a.each(this, function() {\r\n                var b = null, f = null, g = !1;\r\n                a(this).bind(d.event, function() {\r\n                    if (g)\r\n                        clearTimeout(f);\r\n                    else {\r\n                        var e = a(this);\r\n                        b = setTimeout(function() {\r\n                            e.addClass(d.current), g = !0, c && c(e)\r\n                        }, d.delay)\r\n                    }\r\n                }).bind(e, function() {\r\n                    if (g) {\r\n                        var c = a(this);\r\n                        f = setTimeout(function() {\r\n                            c.removeClass(d.current), g = !1\r\n                        }, d.delay)\r\n                    } else\r\n                        clearTimeout(b)\r\n                })\r\n            })\r\n        }\r\n    }\r\n}(jQuery), function(a) {\r\n    a.fn.dropdown = function(b, c) {\r\n        var b = a.extend({className: \"item\",current: \"hover\",enterDelay: 10,leaveDelay: 300,onmouseleave: null}, b);\r\n        a.each(this, function() {\r\n            function d() {\r\n                function a(a, b) {\r\n                    return (b.y - a.y) / (b.x - a.x)\r\n                }\r\n                var b = g.offset(), c = {x: b.left,y: b.top}, d = {x: b.left + g.outerWidth(),y: c.y}, e = {x: b.left,y: b.top + g.outerHeight()}, f = {x: b.left + g.outerWidth(),y: e.y};\r\n                if (loc = i[i.length - 1], prevLoc = i[0], !loc)\r\n                    return 0;\r\n                if (prevLoc || (prevLoc = loc), prevLoc.x < b.left || prevLoc.x > f.x || prevLoc.y < b.top || prevLoc.y > f.y)\r\n                    return 0;\r\n                if (j && loc.x == j.x && loc.y == j.y)\r\n                    return 0;\r\n                var h = d, k = f, l = a(loc, h), m = a(prevLoc, h), n = a(loc, k), o = a(prevLoc, k);\r\n                return m > l && n > o ? prevLoc.x - c.x < 25 ? 0 : (j = loc, 300) : (j = null, 0)\r\n            }\r\n            var e, f, g = a(this), h = g.find(\".\" + b.className), i = [], j = null, k = 3, l = !1;\r\n            g.bind(\"mouseenter\", function() {\r\n                clearTimeout(e)\r\n            });\r\n            var m = null, n = null;\r\n            g.bind(\"mouseleave\", function() {\r\n                l && (e = setTimeout(function() {\r\n                    h.removeClass(b.current)\r\n                }, b.leaveDelay)), b.onmouseleave && b.onmouseleave(), m = null\r\n            }), h.bind(\"mouseenter\", function() {\r\n                var e = a(this), g = this, i = function() {\r\n                    m = jQuery.inArray(g, h), h.removeClass(b.current), e.addClass(b.current), l = !0, c && c(e)\r\n                };\r\n                f = setTimeout(function() {\r\n                    0 == d(e) && (i(), clearTimeout(n))\r\n                }, b.enterDelay), n = setTimeout(function() {\r\n                    m != jQuery.inArray(g, h) && i()\r\n                }, 700)\r\n            }), h.bind(\"mouseleave\", function() {\r\n                a(this);\r\n                clearTimeout(f), clearTimeout(n)\r\n            }), a(document).mousemove(function(a) {\r\n                i.push({x: a.pageX,y: a.pageY}), i.length > k && i.shift()\r\n            })\r\n        })\r\n    }\r\n}(jQuery), function(a) {\r\n    a.fn.Jtab = function(b, c) {\r\n        if (this.length) {\r\n            \"function\" == typeof b && (c = b, b = {});\r\n            var d = a.extend({type: \"static\",auto: !1,event: \"mouseover\",currClass: \"curr\",source: \"data-tag\",hookKey: \"data-widget\",hookItemVal: \"tab-item\",hookContentVal: \"tab-content\",stay: 5e3,delay: 100,threshold: null,mainTimer: null,subTimer: null,index: 0,compatible: !1}, b || {}), e = a(this).find(\"*[\" + d.hookKey + \"=\" + d.hookItemVal + \"]\"), f = a(this).find(\"*[\" + d.hookKey + \"=\" + d.hookContentVal + \"]\"), g = d.source.toLowerCase().match(/http:\\/\\/|\\d|\\.aspx|\\.ascx|\\.asp|\\.php|\\.html\\.htm|.shtml|.js/g);\r\n            if (e.length != f.length)\r\n                return !1;\r\n            var h = function(a, b) {\r\n                d.subTimer = setTimeout(function() {\r\n                    e.eq(d.index).removeClass(d.currClass), d.compatible && f.eq(d.index).hide(), b ? (d.index++, d.index == e.length && (d.index = 0)) : d.index = a, d.type = null != e.eq(d.index).attr(d.source) ? \"dynamic\" : \"static\", j()\r\n                }, d.delay)\r\n            }, i = function() {\r\n                d.mainTimer = setInterval(function() {\r\n                    h(d.index, !0)\r\n                }, d.stay)\r\n            }, j = function() {\r\n                switch (e.eq(d.index).addClass(d.currClass), d.compatible && f.eq(d.index).show(), d.type) {\r\n                    default:\r\n                    case \"static\":\r\n                        var a = \"\";\r\n                        break;\r\n                    case \"dynamic\":\r\n                        var a = g ? d.source : e.eq(d.index).attr(d.source);\r\n                        e.eq(d.index).removeAttr(d.source)\r\n                }\r\n                c && c(a, f.eq(d.index), d.index)\r\n            };\r\n            e.each(function(b) {\r\n                a(this).bind(d.event, function() {\r\n                    clearTimeout(d.subTimer), clearInterval(d.mainTimer), h(b, !1)\r\n                }).bind(\"mouseleave\", function() {\r\n                    d.auto && i()\r\n                })\r\n            }), \"dynamic\" == d.type && h(d.index, !1), d.auto && i()\r\n        }\r\n    }\r\n}(jQuery), function(a) {\r\n    a.fn.Jlazyload = function(b, c) {\r\n        if (this.length) {\r\n            var d, e, f = a.extend({type: null,offsetParent: null,source: \"data-lazyload\",placeholderImage: \"/images/blank.gif\",placeholderClass: \"loading-style2\",threshold: 200}, b || {}), g = this, h = function(a) {\r\n                for (var b = a.scrollLeft, c = a.scrollTop, d = a.offsetWidth, e = a.offsetHeight; a.offsetParent; )\r\n                    b += a.offsetLeft, c += a.offsetTop, a = a.offsetParent;\r\n                return {left: b,top: c,width: d,height: e}\r\n            }, i = function() {\r\n                var a = document.documentElement, b = document.body, c = window.pageXOffset ? window.pageXOffset : a.scrollLeft || b.scrollLeft, d = window.pageYOffset ? window.pageYOffset : a.scrollTop || b.scrollTop, e = a.clientWidth, f = a.clientHeight;\r\n                return {left: c,top: d,width: e,height: f}\r\n            }, j = function(a, b) {\r\n                var c, d, e, g, h, i, j = f.threshold ? parseInt(f.threshold) : 0;\r\n                return c = a.left + a.width / 2, d = b.left + b.width / 2, e = a.top + a.height / 2, g = b.top + b.height / 2, h = (a.width + b.width) / 2, i = (a.height + b.height) / 2, Math.abs(c - d) < h + j && Math.abs(e - g) < i + j\r\n            }, k = function(a, b, d) {\r\n                f.placeholderImage && f.placeholderClass && d.attr(\"src\", f.placeholderImage).addClass(f.placeholderClass), a && (d.attr(\"src\", b).removeAttr(f.source), c && c(b, d))\r\n            }, l = function(b, d, e) {\r\n                if (b) {\r\n                    var g = a(\"#\" + d);\r\n                    g.html(e.val()).removeAttr(f.source), e.remove(), c && c(d, e)\r\n                }\r\n            }, m = function(a, b, d) {\r\n                a && (d.removeAttr(f.source), c && c(b, d))\r\n            }, n = function() {\r\n                e = i(), g = g.filter(function() {\r\n                    return a(this).attr(f.source)\r\n                }), a.each(g, function() {\r\n                    var b = a(this).attr(f.source);\r\n                    if (b) {\r\n                        var c = f.offsetParent ? h(a(f.offsetParent).get(0)) : e, d = h(this), g = j(c, d);\r\n                        switch (f.type) {\r\n                            case \"image\":\r\n                                k(g, b, a(this));\r\n                                break;\r\n                            case \"textarea\":\r\n                                l(g, b, a(this));\r\n                                break;\r\n                            case \"module\":\r\n                                m(g, b, a(this))\r\n                        }\r\n                    }\r\n                })\r\n            }, o = function() {\r\n                g.length > 0 && (clearTimeout(d), d = setTimeout(function() {\r\n                    n()\r\n                }, 10))\r\n            };\r\n            n(), f.offsetParent ? a(f.offsetParent).bind(\"scroll\", function() {\r\n                o()\r\n            }) : a(window).bind(\"scroll\", function() {\r\n                o()\r\n            }).bind(\"reset\", function() {\r\n                o()\r\n            })\r\n        }\r\n    }\r\n}(jQuery), function(a) {\r\n    a.Jtimer = function(b, c) {\r\n        var d = a.extend({pids: null,template: null,reset: null,mainPlaceholder: \"timed\",subPlaceholder: \"timer\",resetPlaceholder: \"reset\",iconPlaceholder: \"icon\",finishedClass: \"\",timer: []}, b || {}), e = function(a) {\r\n            var b = a.split(\" \"), c = b[0].split(\"-\"), d = b[1].split(\":\");\r\n            return new Date(c[0], c[1] - 1, c[2], d[0], d[1], d[2])\r\n        }, f = function(a) {\r\n            return String(a).length < 2 && (a = \"0\" + a), a\r\n        }, g = function(b, c) {\r\n            if (c != {} && c && c.start && c.end) {\r\n                var g, h, i, j = e(c.start), k = e(c.server), l = e(c.end), m = (j - k) / 1e3, n = (l - k) / 1e3, o = \"#\" + d.mainPlaceholder + b, p = \"#\" + d.subPlaceholder + c.qid, q = \"#\" + d.resetPlaceholder + c.qid;\r\n                if (0 >= m) {\r\n                    var r = d.template.process(c);\r\n                    a(o).html(r)\r\n                }\r\n                d.timer[c.qid] = setInterval(function() {\r\n                    return m > 0 ? (clearInterval(d.timer[c.qid]), void 0) : (n > 0 ? (g = Math.floor(n / 3600), h = Math.floor((n - 3600 * g) / 60), i = (n - 3600 * g) % 60, a(p).html(\"\\u5269\\u4f59<b>\" + f(g) + \"</b>\\u5c0f\\u65f6<b>\" + f(h) + \"</b>\\u5206<b>\" + f(i) + \"</b>\\u79d2\"), n--) : (a(p).html(\"\\u62a2\\u8d2d\\u7ed3\\u675f\\uff01\"), d.iconPlaceholder && (iconElement = \"#\" + d.iconPlaceholder + c.qid, a(iconElement).attr(\"class\", d.finishedClass).html(\"\\u62a2\\u5b8c\")), d.reset && (a(p).append('<a href=\"javascript:void(0)\" id=\"' + q.substring(1) + '\">\\u5237\\u65b0</a>'), a(q).bind(\"click\", function() {\r\n                        a.each(d.timer, function() {\r\n                            clearInterval(this)\r\n                        }), d.reset()\r\n                    })), clearInterval(d.timer[c.qid])), void 0)\r\n                }, 1e3)\r\n            }\r\n        }, h = function(a, b) {\r\n            return e(a.end) - e(a.server) - (e(b.end) - e(b.server))\r\n        };\r\n        a.ajax({url: \"http://qiang.jd.com/HomePageNewLimitBuy.ashx?callback=?\",data: {ids: d.pids},dataType: \"jsonp\",success: function(b) {\r\n                b && b.data && (b.data.sort(h), a.each(b.data, function(a) {\r\n                    g(a + 1, b.data[a])\r\n                })), c && c()\r\n            }})\r\n    }\r\n}(jQuery), function(a) {\r\n    a.fn.Jslider = function(b, c) {\r\n        if (this.length) {\r\n            \"function\" == typeof b && (c = b, b = {});\r\n            var d = a.extend({auto: !1,reInit: !1,data: [],defaultIndex: 0,slideWidth: 0,slideHeight: 0,slideDirection: 1,speed: \"normal\",stay: 5e3,delay: 150,maxAmount: null,template: null,showControls: !0}, b || {}), e = a(this), f = null, g = null, h = null, i = null, j = null, k = function() {\r\n                var a;\r\n                d.maxAmount && d.maxAmount < d.data.length && d.data.splice(d.maxAmount, d.data.length - d.maxAmount), \"object\" == typeof d.data && (d.data.length ? (a = {}, a.json = d.data) : a = d.data);\r\n                var b = d.template;\r\n                if (d.reInit) {\r\n                    var i, j = b.controlsContent.process(a);\r\n                    a.json = a.json.slice(1), i = b.itemsContent.process(a), e.find(\".slide-items\").eq(0).append(i), e.find(\".slide-controls\").eq(0).html(j)\r\n                } else {\r\n                    var k = b.itemsWrap.replace(\"{innerHTML}\", b.itemsContent) + b.controlsWrap.replace(\"{innerHTML}\", b.controlsContent), m = k.process(a);\r\n                    e.html(m)\r\n                }\r\n                f = e.find(\".slide-items\"), g = e.find(\".slide-controls\"), h = g.find(\"span\"), l(), n(), c && c(e)\r\n            }, l = function() {\r\n                h.bind(\"mouseover\", function() {\r\n                    var a = h.index(this);\r\n                    a != d.defaultIndex && (clearTimeout(j), clearInterval(i), j = setTimeout(function() {\r\n                        m(a)\r\n                    }, d.delay))\r\n                }).bind(\"mouseleave\", function() {\r\n                    clearTimeout(j), clearInterval(i), n()\r\n                }), f.bind(\"mouseover\", function() {\r\n                    clearTimeout(j), clearInterval(i)\r\n                }).bind(\"mouseleave\", function() {\r\n                    n()\r\n                })\r\n            }, m = function(b) {\r\n                h.each(function(c) {\r\n                    c == b ? a(this).addClass(\"curr\") : a(this).removeClass(\"curr\")\r\n                });\r\n                var c = 0, e = 0;\r\n                if (3 == d.slideDirection) {\r\n                    var g = f.children(), i = g.eq(d.defaultIndex), j = g.eq(b);\r\n                    i.css({zIndex: 0}), j.css({zIndex: 1}), i.fadeOut(\"fast\"), j.fadeIn(\"slow\"), d.defaultIndex = b\r\n                } else\r\n                    1 == d.slideDirection ? (f.css({width: d.slideWidth * d.data.length}), c = -d.slideWidth * b) : e = -d.slideHeight * b, f.animate({top: e + \"px\",left: c + \"px\"}, d.speed, function() {\r\n                        d.defaultIndex = b\r\n                    })\r\n            }, n = function() {\r\n                d.auto && (i = setInterval(function() {\r\n                    var a = d.defaultIndex;\r\n                    a++, a == d.data.length && (a = 0), m(a)\r\n                }, d.stay))\r\n            };\r\n            k()\r\n        }\r\n    }\r\n}(jQuery), jQuery.fn.pagination = function(a, b) {\r\n    return b = jQuery.extend({items_per_page: 10,num_display_entries: 10,current_page: 0,num_edge_entries: 0,link_to: \"#\",prev_text: \"Prev\",next_text: \"Next\",ellipse_text: \"...\",prev_show_always: !0,next_show_always: !0,callback: function() {\r\n            return !1\r\n        }}, b || {}), this.each(function() {\r\n        function c() {\r\n            return Math.ceil(a / b.items_per_page)\r\n        }\r\n        function d() {\r\n            var a = Math.ceil(b.num_display_entries / 2), d = c(), e = d - b.num_display_entries, f = g > a ? Math.max(Math.min(g - a, e), 0) : 0, h = g > a ? Math.min(g + a, d) : Math.min(b.num_display_entries, d);\r\n            return [f, h]\r\n        }\r\n        function e(a, c) {\r\n            g = a, f();\r\n            var d = b.callback(a, h);\r\n            return d || (c.stopPropagation ? c.stopPropagation() : c.cancelBubble = !0), d\r\n        }\r\n        function f() {\r\n            h.empty();\r\n            var a = d(), f = c();\r\n            1 == f && $(\".Pagination\").css({display: \"none\"});\r\n            var i = function(a) {\r\n                return function(b) {\r\n                    return e(a, b)\r\n                }\r\n            }, j = function(a, c) {\r\n                if (a = 0 > a ? 0 : f > a ? a : f - 1, c = jQuery.extend({text: a + 1,classes: \"\"}, c || {}), a == g)\r\n                    var d = $(\"<a href='javascript:void(0)' class='current'>\" + c.text + \"</a>\");\r\n                else\r\n                    var d = $(\"<a>\" + c.text + \"</a>\").bind(\"click\", i(a)).attr(\"href\", b.link_to.replace(/__id__/, a));\r\n                c.classes && d.addClass(c.classes), h.append(d)\r\n            };\r\n            if (b.prev_text && (g > 0 || b.prev_show_always) && j(g - 1, {text: b.prev_text,classes: \"prev\"}), a[0] > 0 && b.num_edge_entries > 0) {\r\n                for (var k = Math.min(b.num_edge_entries, a[0]), l = 0; k > l; l++)\r\n                    j(l);\r\n                b.num_edge_entries < a[0] && b.ellipse_text && jQuery(\"<span>\" + b.ellipse_text + \"</span>\").appendTo(h)\r\n            }\r\n            for (var l = a[0]; l < a[1]; l++)\r\n                j(l);\r\n            if (a[1] < f && b.num_edge_entries > 0) {\r\n                f - b.num_edge_entries > a[1] && b.ellipse_text && jQuery(\"<span>\" + b.ellipse_text + \"</span>\").appendTo(h);\r\n                for (var m = Math.max(f - b.num_edge_entries, a[1]), l = m; f > l; l++)\r\n                    j(l)\r\n            }\r\n            b.next_text && (f - 1 > g || b.next_show_always) && j(g + 1, {text: b.next_text,classes: \"next\"})\r\n        }\r\n        var g = b.current_page;\r\n        a = !a || 0 > a ? 1 : a, b.items_per_page = !b.items_per_page || b.items_per_page < 0 ? 1 : b.items_per_page;\r\n        var h = jQuery(this);\r\n        this.selectPage = function(a) {\r\n            e(a)\r\n        }, this.prevPage = function() {\r\n            return g > 0 ? (e(g - 1), !0) : !1\r\n        }, this.nextPage = function() {\r\n            return g < c() - 1 ? (e(g + 1), !0) : !1\r\n        }, f()\r\n    })\r\n}, function(a) {\r\n    a.extend(a.browser, {client: function() {\r\n            return {width: document.documentElement.clientWidth,height: document.documentElement.clientHeight,bodyWidth: document.body.clientWidth,bodyHeight: document.body.clientHeight}\r\n        },scroll: function() {\r\n            var a = document.documentElement.scrollTop, b = document.body.scrollTop, c = document.documentElement.scrollLeft, d = document.body.scrollLeft, e = a ? a : b, f = c ? c : d;\r\n            return {width: document.documentElement.scrollWidth,height: document.documentElement.scrollHeight,bodyWidth: document.body.scrollWidth,bodyHeight: document.body.scrollHeight,left: f,top: e}\r\n        },screen: function() {\r\n            return {width: window.screen.width,height: window.screen.height}\r\n        },isIE6: a.browser.msie && 6 == a.browser.version,isMinW: function(b) {\r\n            return Math.min(a.browser.client().bodyWidth, a.browser.client().width) <= b\r\n        },isMinH: function(b) {\r\n            return a.browser.client().height <= b\r\n        }})\r\n}(jQuery), function(a) {\r\n    a.fn.jdPosition = function(b) {\r\n        var c = a.extend({mode: null}, b || {});\r\n        switch (c.mode) {\r\n            default:\r\n            case \"center\":\r\n                var d = a(this).outerWidth(), e = a(this).outerHeight(), f = (a.browser.isMinW(d), a.browser.isMinH(e));\r\n                a(this).css({left: a.browser.scroll().left + Math.max((a.browser.client().width - d) / 2, 0) + \"px\",top: a.browser.isIE6 ? a.browser.scroll().top <= a.browser.client().bodyHeight - e ? a.browser.scroll().top + Math.max((a.browser.client().height - e) / 2, 0) + \"px\" : (a.browser.client().height - e) / 2 + \"px\" : f ? a.browser.scroll().top : a.browser.scroll().top + Math.max((a.browser.client().height - e) / 2, 0) + \"px\"});\r\n                break;\r\n            case \"auto\":\r\n                break;\r\n            case \"fixed\":\r\n        }\r\n    }\r\n}(jQuery), function(a) {\r\n    a.fn.jdThickBox = function(b, c) {\r\n        \"function\" == typeof b && (c = b, b = {});\r\n        var d, e = a.extend({type: \"text\",source: null,width: null,height: null,title: null,_frame: \"\",_div: \"\",_box: \"\",_con: \"\",_loading: \"thickloading\",close: !1,_close: \"\",_fastClose: !1,_close_val: \"\\xd7\",_titleOn: !0,_title: \"\",_autoReposi: !1,_countdown: !1,_thickPadding: 10,_wrapBorder: 1}, b || {}), f = \"function\" != typeof this ? a(this) : null, g = function() {\r\n            clearInterval(d), a(\".thickframe\").add(\".thickdiv\").remove(), a(\".thickbox\").empty().remove(), e._autoReposi && a(window).unbind(\"resize.jdThickBox\").unbind(\"scroll.jdThickBox\")\r\n        };\r\n        if (e.close)\r\n            return g(), !1;\r\n        var h = function(a) {\r\n            return \"\" != a ? a.match(/\\w+/) : \"\"\r\n        }, i = function(b) {\r\n            0 == a(\".thickframe\").length || 0 == a(\".thickdiv\").length ? (a(\"<iframe class='thickframe' id='\" + h(e._frame) + \"' marginwidth='0' marginheight='0' frameborder='0' scrolling='no'></iframe>\").appendTo(a(document.body)), a(\"<div class='thickdiv' id='\" + h(e._div) + \"'></div>\").appendTo(a(document.body))) : a(\".thickframe\").add(\".thickdiv\").show(), a(\"<div class='thickbox' id='\" + h(e._box) + \"'><div class='thickwrap'></div></div>\").appendTo(a(document.body)), a(\".thickwrap\") && (a(\".thickwrap\").css(\"width\", e.width + 2 * e._thickPadding), e._wrapBorder = 1), e._titleOn && k(b), a(\"<div class='thickcon' id='\" + h(e._con) + \"' style='width:\" + e.width + \"px;height:\" + e.height + \"px;'></div>\").appendTo(a(\".thickwrap\")), e._countdown && j(), a(\".thickcon\").addClass(e._loading), n(), l(), m(b), e._autoReposi && a(window).bind(\"resize.jdThickBox\", n).bind(\"scroll.jdThickBox\", n), e._fastClose && a(document.body).bind(\"click.jdThickBox\", function(b) {\r\n                b = b ? b : window.event;\r\n                var c = b.srcElement ? b.srcElement : b.target;\r\n                \"thickdiv\" == c.className && (a(this).unbind(\"click.jdThickBox\"), g())\r\n            })\r\n        }, j = function() {\r\n            var b = e._countdown;\r\n            a(\"<div class='thickcountdown' style='width:\" + e.width + \"'><span id='jd-countdown'>\" + b + \"</span>\\u79d2\\u540e\\u81ea\\u52a8\\u5173\\u95ed</div>\").appendTo(a(\".thickwrap\")), d = setInterval(function() {\r\n                b--, a(\"#jd-countdown\").html(b), 0 == b && (b = e._countdown, g())\r\n            }, 1e3)\r\n        }, k = function(b) {\r\n            e.title = null == e.title && b ? b.attr(\"title\") : e.title, a(\"<div class='thicktitle' id='\" + h(e._title) + \"' style='width:\" + e.width + \"'><span>\" + e.title + \"</span></div>\").appendTo(a(\".thickwrap\"))\r\n        }, l = function() {\r\n            null != e._close && (a(\"<a href='#' class='thickclose' id='\" + h(e._close) + \"'>\" + e._close_val + \"</a>\").appendTo(a(\".thickwrap\")), a(\".thickclose\").one(\"click\", function() {\r\n                return g(), !1\r\n            }))\r\n        }, m = function(b) {\r\n            switch (e.source = null == e.source ? b.attr(\"href\") : e.source, e.type) {\r\n                default:\r\n                case \"text\":\r\n                    a(\".thickcon\").html(e.source), a(\".thickcon\").removeClass(e._loading), c && c();\r\n                    break;\r\n                case \"html\":\r\n                    a(e.source).clone().appendTo(a(\".thickcon\")).show(), a(\".thickcon\").removeClass(e._loading), c && c();\r\n                    break;\r\n                case \"image\":\r\n                    e._index = null == e._index ? f.index(b) : e._index, a(\".thickcon\").append(\"<img src='\" + e.source + \"' width='\" + e.width + \"' height='\" + e.height + \"'>\"), e.source = null, a(\".thickcon\").removeClass(e._loading), c && c();\r\n                    break;\r\n                case \"ajax\":\r\n                case \"json\":\r\n                    c && c(e.source, a(\".thickcon\"), function() {\r\n                        a(\".thickcon\").removeClass(e._loading)\r\n                    });\r\n                    break;\r\n                case \"iframe\":\r\n                    a(\"<iframe src='\" + e.source + \"' marginwidth='0' marginheight='0' frameborder='0' scrolling='no' style='width:\" + e.width + \"px;height:\" + e.height + \"px;border:0;'></iframe>\").appendTo(a(\".thickcon\")), a(\".thickcon\").removeClass(e._loading), c && c()\r\n            }\r\n        }, n = function() {\r\n            var b = 2 * e._thickPadding + parseInt(e.width);\r\n            if (a(\".thickcon\").css({width: e.width,height: e.height,paddingLeft: e._thickPadding,paddingRight: e._thickPadding}), setTimeout(function() {\r\n                a(\".thickbox\").css({width: b + 2 * e._wrapBorder,height: parseInt(e._titleOn ? a(\".thicktitle\").outerHeight() : 0) + parseInt(a(\".thickcon\").outerHeight()) + 2 * e._wrapBorder})\r\n            }, 100), a(\".thickbox\").jdPosition({mode: \"center\"}), a.browser.isIE6) {\r\n                {\r\n                    var c = a(\".thickbox\").outerWidth(), d = a(\".thickbox\").outerHeight(), f = a.browser.isMinW(c);\r\n                    a.browser.isMinH(d)\r\n                }\r\n                a(\".thickframe\").add(\".thickdiv\").css({width: f ? c : \"100%\",height: Math.max(a.browser.client().height, a.browser.client().bodyHeight) + \"px\"})\r\n            }\r\n        };\r\n        null != f ? f.click(function() {\r\n            return i(a(this)), !1\r\n        }) : i()\r\n    }, a.jdThickBox = a.fn.jdThickBox\r\n}(jQuery), function(a) {\r\n    a.fn.jdMarquee = function(b, c) {\r\n        \"function\" == typeof b && (c = b, b = {});\r\n        var d, e = a.extend({deriction: \"up\",speed: 10,auto: !1,width: null,height: null,step: 1,control: !1,_front: null,_back: null,_stop: null,_continue: null,wrapstyle: \"\",stay: 5e3,delay: 20,dom: \"div>ul>li\".split(\">\"),mainTimer: null,subTimer: null,tag: !1,convert: !1,btn: null,disabled: \"disabled\",pos: {ojbect: null,clone: null}}, b || {}), f = this.find(e.dom[1]), g = this.find(e.dom[2]);\r\n        if (\"up\" == e.deriction || \"down\" == e.deriction) {\r\n            var h = f.eq(0).outerHeight(), i = e.step * g.eq(0).outerHeight();\r\n            f.css({width: e.width + \"px\",overflow: \"hidden\"})\r\n        }\r\n        if (\"left\" == e.deriction || \"right\" == e.deriction) {\r\n            var j = g.length * g.eq(0).outerWidth();\r\n            f.css({width: j + \"px\",overflow: \"hidden\"});\r\n            var i = e.step * g.eq(0).outerWidth()\r\n        }\r\n        var k = function() {\r\n            var a = \"<div style='position:relative;overflow:hidden;z-index:1;width:\" + e.width + \"px;height:\" + e.height + \"px;\" + e.wrapstyle + \"'></div>\";\r\n            switch (f.css({position: \"absolute\",left: 0,top: 0}).wrap(a), e.pos.object = 0, d = f.clone(), f.after(d), e.deriction) {\r\n                default:\r\n                case \"up\":\r\n                    f.css({marginLeft: 0,marginTop: 0}), d.css({marginLeft: 0,marginTop: h + \"px\"}), e.pos.clone = h;\r\n                    break;\r\n                case \"down\":\r\n                    f.css({marginLeft: 0,marginTop: 0}), d.css({marginLeft: 0,marginTop: -h + \"px\"}), e.pos.clone = -h;\r\n                    break;\r\n                case \"left\":\r\n                    f.css({marginTop: 0,marginLeft: 0}), d.css({marginTop: 0,marginLeft: j + \"px\"}), e.pos.clone = j;\r\n                    break;\r\n                case \"right\":\r\n                    f.css({marginTop: 0,marginLeft: 0}), d.css({marginTop: 0,marginLeft: -j + \"px\"}), e.pos.clone = -j\r\n            }\r\n            e.auto && (l(), f.hover(function() {\r\n                n(e.mainTimer)\r\n            }, function() {\r\n                l()\r\n            }), d.hover(function() {\r\n                n(e.mainTimer)\r\n            }, function() {\r\n                l()\r\n            })), c && c(), e.control && p()\r\n        }, l = function(a) {\r\n            n(e.mainTimer), e.stay = a ? a : e.stay, e.mainTimer = setInterval(function() {\r\n                m()\r\n            }, e.stay)\r\n        }, m = function() {\r\n            n(e.subTimer), e.subTimer = setInterval(function() {\r\n                s()\r\n            }, e.delay)\r\n        }, n = function(a) {\r\n            null != a && clearInterval(a)\r\n        }, o = function(b) {\r\n            b ? (a(e._front).unbind(\"click\"), a(e._back).unbind(\"click\"), a(e._stop).unbind(\"click\"), a(e._continue).unbind(\"click\")) : p()\r\n        }, p = function() {\r\n            null != e._front && a(e._front).click(function() {\r\n                a(e._front).addClass(e.disabled), o(!0), n(e.mainTimer), e.convert = !0, e.btn = \"front\", m(), e.auto || (e.tag = !0), q()\r\n            }), null != e._back && a(e._back).click(function() {\r\n                a(e._back).addClass(e.disabled), o(!0), n(e.mainTimer), e.convert = !0, e.btn = \"back\", m(), e.auto || (e.tag = !0), q()\r\n            }), null != e._stop && a(e._stop).click(function() {\r\n                n(e.mainTimer)\r\n            }), null != e._continue && a(e._continue).click(function() {\r\n                l()\r\n            })\r\n        }, q = function() {\r\n            e.tag && e.convert && (e.convert = !1, \"front\" == e.btn && (\"down\" == e.deriction && (e.deriction = \"up\"), \"right\" == e.deriction && (e.deriction = \"left\")), \"back\" == e.btn && (\"up\" == e.deriction && (e.deriction = \"down\"), \"left\" == e.deriction && (e.deriction = \"right\")), e.auto ? l() : l(4 * e.delay))\r\n        }, r = function(a, b, c) {\r\n            c ? (n(e.subTimer), e.pos.object = a, e.pos.clone = b, e.tag = !0) : e.tag = !1, e.tag && (e.convert ? q() : e.auto || n(e.mainTimer)), (\"up\" == e.deriction || \"down\" == e.deriction) && (f.css({marginTop: a + \"px\"}), d.css({marginTop: b + \"px\"})), (\"left\" == e.deriction || \"right\" == e.deriction) && (f.css({marginLeft: a + \"px\"}), d.css({marginLeft: b + \"px\"}))\r\n        }, s = function() {\r\n            var b = \"up\" == e.deriction || \"down\" == e.deriction ? parseInt(f.get(0).style.marginTop) : parseInt(f.get(0).style.marginLeft), c = \"up\" == e.deriction || \"down\" == e.deriction ? parseInt(d.get(0).style.marginTop) : parseInt(d.get(0).style.marginLeft), g = Math.max(Math.abs(b - e.pos.object), Math.abs(c - e.pos.clone)), k = Math.ceil((i - g) / e.speed);\r\n            switch (e.deriction) {\r\n                case \"up\":\r\n                    g == i ? (r(b, c, !0), a(e._front).removeClass(e.disabled), o(!1)) : (-h >= b && (b = c + h, e.pos.object = b), -h >= c && (c = b + h, e.pos.clone = c), r(b - k, c - k));\r\n                    break;\r\n                case \"down\":\r\n                    g == i ? (r(b, c, !0), a(e._back).removeClass(e.disabled), o(!1)) : (b >= h && (b = c - h, e.pos.object = b), c >= h && (c = b - h, e.pos.clone = c), r(b + k, c + k));\r\n                    break;\r\n                case \"left\":\r\n                    g == i ? (r(b, c, !0), a(e._front).removeClass(e.disabled), o(!1)) : (-j >= b && (b = c + j, e.pos.object = b), -j >= c && (c = b + j, e.pos.clone = c), r(b - k, c - k));\r\n                    break;\r\n                case \"right\":\r\n                    g == i ? (r(b, c, !0), a(e._back).removeClass(e.disabled), o(!1)) : (b >= j && (b = c - j, e.pos.object = b), c >= j && (c = b - j, e.pos.clone = c), r(b + k, c + k))\r\n            }\r\n        };\r\n        (\"up\" == e.deriction || \"down\" == e.deriction) && h >= e.height && h >= e.step && k(), (\"left\" == e.deriction || \"right\" == e.deriction) && j >= e.width && j >= e.step && k()\r\n    }\r\n}(jQuery), $.login = function(a) {\r\n    a = $.extend({loginService: \"http://passport.\" + pageConfig.FN_getDomain() + \"/loginservice.aspx?callback=?\",loginMethod: \"Login\",loginUrl: \"https://passport.\" + pageConfig.FN_getDomain() + \"/new/login.aspx\",returnUrl: location.href,automatic: !0,complete: null,modal: !1}, a || {}), \"\" != a.loginService && \"\" != a.loginMethod && $.getJSON(a.loginService, {method: a.loginMethod}, function(b) {\r\n        null != b && (null != a.complete && a.complete(b.Identity), !b.Identity.IsAuthenticated && a.automatic && \"\" != a.loginUrl && (a.modal ? jdModelCallCenter.login() : location.href = a.loginUrl + \"?ReturnUrl=\" + escape(a.returnUrl)))\r\n    })\r\n}, function(a) {\r\n    a.jdCalcul = function(b) {\r\n        var c = null, b = b.join(\",\"), d = \"http://qiang.jd.com/HomePageNewLimitBuy.ashx?callback=?&ids=\" + b, e = \"http://item.jd.com/\", f = function(b) {\r\n            var c = a.extend({contentid: \"#limit\",clockid: \"#clock\",rankid: \"#rank\",limitid: \"#limitbuy\"}, b || {});\r\n            if (!(b == {} || \"\" == b || null == c.start || \"\" == c.start || null == c.end || \"\" == c.end || c.pros.length < 1)) {\r\n                c.start = g(c.start), c.start = a.browser.mozzia ? Date.parse(c.start) : c.start, c.server = g(c.server), c.server = a.browser.mozzia ? Date.parse(c.server) : c.server, c.end = g(c.end), c.end = a.browser.mozzia ? Date.parse(c.end) : c.end, c.contentid = a(c.contentid + c.qid), c.clockid = a(c.clockid + c.qid), c.rankid = a(c.rankid + c.qid), c.limitid = a(c.limitid + c.qid);\r\n                var d, f, h, i, j = (c.start - c.server) / 1e3, k = (c.end - c.server) / 1e3, l = function() {\r\n                    var b = '<li><div class=\"p-img\"><a href=\"{6}{0}.html\" target=\"_blank\"><img src=\"{1}\" width=\"100\" height=\"100\" /></a>{2}</div><div class=\"p-name\"><a href=\"{6}{0}.html\" target=\"_blank\">{3}</a></div><div class=\"p-price\">\\u62a2\\u8d2d\\u4ef7\\uff1a<strong>{4}</strong>{5}</div></li>', d = \"<ul>\";\r\n                    a.each(c.pros, function(a) {\r\n                        var f = c.pros[a].id, g = c.pros[a].tp, h = \"<div class='pi9'></div>\", i = unescape(c.pros[a].mc), j = c.pros[a].qg, k = \"(\" + c.pros[a].zk + \"\\u6298)\";\r\n                        d += b.replace(/\\{0\\}/g, f).replace(\"{1}\", g).replace(\"{2}\", h).replace(\"{3}\", i).replace(\"{4}\", j).replace(\"{5}\", k).replace(/\\{6\\}/g, e)\r\n                    }), d += \"</ul>\", c.contentid.html(d)\r\n                }, m = function() {\r\n                    j > 0 || (k > 0 ? (d = Math.floor(k / 3600), f = Math.floor((k - 3600 * d) / 60), h = (k - 3600 * d) % 60, c.clockid.html(\"\\u5269\\u4f59<b>\" + d + \"</b>\\u5c0f\\u65f6<b>\" + f + \"</b>\\u5206<b>\" + h + \"</b>\\u79d2\"), k--) : (c.clockid.html(\"\\u62a2\\u8d2d\\u7ed3\\u675f\"), clearInterval(i), c.limitid.hide(), c.rankid.length > 0 && c.rankid.show()))\r\n                };\r\n                0 >= j && k > 0 && (l(), c.rankid.length > 0 && c.rankid.hide(), c.limitid.show()), m(), i = setInterval(function() {\r\n                    m()\r\n                }, 1e3)\r\n            }\r\n        }, g = function(a) {\r\n            var b = a.split(\" \"), c = b[0].split(\"-\"), d = b[1].split(\":\");\r\n            return new Date(c[0], c[1] - 1, c[2], d[0], d[1], d[2])\r\n        };\r\n        a.ajax({url: d,dataType: \"jsonp\",success: function(b) {\r\n                b && (c = b.data, a.each(c, function(a) {\r\n                    f(c[a])\r\n                }))\r\n            }})\r\n    }\r\n}(jQuery);\r\nvar jdRecent = {element: $(\"#recent ul\"),jsurl: \"http://www.jd.com/lishiset.aspx?callback=jdRecent.setData&id=\",cookiename: \"_recent\",list: $.cookie(\"_recent\"),url: location.href,init: function() {\r\n        var a = this.url.match(/\\/(\\d{6}).html/), b = null != a && -1 != a[0].indexOf(\"html\") ? a[1] : \"\";\r\n        if (this.list && null != this.list && \"\" != this.list)\r\n            \"\" == b || -1 != this.list.indexOf(b) ? this.list = this.list : (this.list.split(\".\").length >= 10 && (this.list = this.list.replace(/.\\d+$/, \"\")), this.list = b + \".\" + this.list);\r\n        else {\r\n            if (\"\" == b)\r\n                return this.getData(0);\r\n            this.list = b\r\n        }\r\n        $.cookie(this.cookiename, this.list, {expires: 7,path: \"/\",domain: \"jd.com\",secure: !1}), this.getData(this.list)\r\n    },clear: function() {\r\n        $.cookie(this.cookiename, \"\", {expires: 7,path: \"/\",domain: \"jd.com\",secure: !1})\r\n    },getData: function(a) {\r\n        if (0 == a)\r\n            return this.element.html(\"<li><div class='norecode'>\\u6682\\u65e0\\u8bb0\\u5f55!</div></li>\"), void 0;\r\n        var b = a.split(\".\");\r\n        for (i in b)\r\n            0 == i && this.element.empty(), $.getJSONP(this.jsurl + b[i], this.setData)\r\n    },setData: function(a) {\r\n        this.element.append(\"<li><div class='p-img'><a href='\" + a.url + \"'><img src='\" + a.img + \"' /></a></div><div class='p-name'><a href='\" + a.url + \"'>\" + decodeURIComponent(a.name) + \"</a></div></li>\")\r\n    }};\r\n$(\"#clearRec\").click(function() {\r\n    jdRecent.clear(), jdRecent.getData(0)\r\n}), mlazyload({defObj: \"#recent\",defHeight: 50,fn: function() {\r\n        1 == jdRecent.element.length && jdRecent.init()\r\n    }});\r\nvar jdModelCallCenter = {settings: {clstag1: 0,clstag2: 0},tbClose: function() {\r\n        0 != $(\".thickbox\").length && jdThickBoxclose()\r\n    },login: function() {\r\n        this.tbClose();\r\n        var a = this, b = navigator.userAgent.toLowerCase(), c = \"ucweb\" == b.match(/ucweb/i) || \"rv:1.2.3.4\" == b.match(/rv:1.2.3.4/i);\r\n        return c ? (location.href = \"https://passport.\" + pageConfig.FN_getDomain() + \"/new/login.aspx?ReturnUrl=\" + escape(location.href), void 0) : (setTimeout(function() {\r\n            $.jdThickBox({type: \"iframe\",title: \"\\u60a8\\u5c1a\\u672a\\u767b\\u5f55\",source: \"http://passport.jd.com/uc/popupLogin2013?clstag1=\" + a.settings.clstag1 + \"&clstag2=\" + a.settings.clstag2 + \"&r=\" + Math.random(),width: 390,height: 450,_title: \"thicktitler\",_close: \"thickcloser\",_con: \"thickconr\"})\r\n        }, 20), void 0)\r\n    },regist: function() {\r\n        var a = this;\r\n        this.tbClose(), setTimeout(function() {\r\n            $.jdThickBox({type: \"iframe\",title: \"\\u60a8\\u5c1a\\u672a\\u767b\\u5f55\",source: \"http://reg.jd.com/reg/popupPerson?clstag1=\" + a.settings.clstag1 + \"&clstag2=\" + a.settings.clstag2 + \"&r=\" + Math.random(),width: 390,height: 450,_title: \"thicktitler\",_close: \"thickcloser\",_con: \"thickconr\"})\r\n        }, 20)\r\n    },init: function() {\r\n//        var a = this;\r\n//        $.ajax({url: (\"https:\" == document.location.protocol ? \"https://\" : \"http://\") + \"passport.\" + pageConfig.FN_getDomain() + \"/new/helloService.ashx?m=ls&sso=0\",dataType: \"jsonp\",success: function(b) {\r\n//                a.tbClose(), b && b.info && $(\"#loginbar\").html(b.info), a.settings.fn()\r\n//            }})\r\n    }};\r\n$.extend(jdModelCallCenter, {autoLocation: function(a) {\r\n        $.login({modal: !0,complete: function(b) {\r\n                null != b && null != b.IsAuthenticated && b.IsAuthenticated && (window.location = a)\r\n            }})\r\n    }}), $.extend(jdModelCallCenter, {doAttention: function(a) {\r\n        var b = \"http://t.jd.com/product/followProduct.action?productId=\" + a;\r\n        $.login({modal: !0,complete: function(a) {\r\n                if (null != a && null != a.IsAuthenticated && a.IsAuthenticated) {\r\n                    var c = 510, d = 440;\r\n                    $.jdThickBox({type: \"iframe\",source: b + \"&t=\" + Math.random(),width: c,height: d,title: \"\\u63d0\\u793a\",_box: \"attboxr\",_con: \"attconr\",_countdown: !1}, function() {\r\n                    })\r\n                }\r\n            }})\r\n    }}), $(\".btn-coll\").livequery(\"click\", function() {\r\n    var a = $(this), b = parseInt(a.attr(\"id\").replace(\"coll\", \"\"));\r\n    $.extend(jdModelCallCenter.settings, {clstag1: \"login|keycount|5|3\",clstag2: \"login|keycount|5|4\",id: b,fn: function() {\r\n            jdModelCallCenter.doAttention(this.id)\r\n        }}), jdModelCallCenter.settings.fn()\r\n}), \"undefined\" != typeof pageConfig && (pageConfig.isHome = function() {\r\n    return pageConfig.navId && \"home\" == pageConfig.navId && location.href.indexOf(\"www.jd.com\") >= 0\r\n}()), $.bigiframe = function(a, b, c) {\r\n    if (a && $.browser.msie && 6 == $.browser.version) {\r\n        if (\"undefined\" == typeof b)\r\n            var b = a.outerWidth();\r\n        if (\"undefined\" == typeof c)\r\n            var c = a.outerHeight();\r\n        var d = '<iframe src=\"javascript:false;\" frameBorder=\"0\" style=\"width:' + b + \"px;height:\" + c + 'px;position:absolute;z-index:-1;opacity:0;filter:alpha(opacity=0);top:0;left:0;\" id=\"bigiframe\">';\r\n        a.append(d), a.bind(\"mouseenter\", function() {\r\n            a.find(\"#bigiframe\").show()\r\n        }).bind(\"mouseleave\", function() {\r\n            a.find(\"#bigiframe\").hide()\r\n        })\r\n    }\r\n};\r\n//http://d.360buy.com/configs/get?type=JSON\r\nvar category = {OBJ: $(\"#_JD_ALLSORT\"),\r\n\t\tURL_Serv: \"http://tomcat.migo.com/rest/webs/item/cat?callback=category.getDataService\",\r\n\t\tURL_BrandsServ: \"http://d.360buy.com/brandVclist2/get?callback=category.getBrandService&ids=a,9211,9212^b,9214,9215^c,9217,9218^d,9220,9221^e,9223,9224^f,9226,9227^g,9229,9230^h,9232,9233^m,9235,9236^i,9238,9239^j,9241,9242^p,9244,9245^k,9247,9248^l,9250,9251\",\r\n\t\tFN_GetLink: function(a, b) {\r\n\t        var c, d;\r\n\t        switch (a) {\r\n\t            case 1:\r\n\t                c = b.u, d = b.n;\r\n\t                break;\r\n\t            case 2:\r\n\t                c = b.split(\"|\")[0], d = b.split(\"|\")[1]\r\n\t        }\r\n        return \"\" == c ? d : (/^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-.\\/?%&=]*)?$/.test(c) || (c = c.replace(/-000$/, \"\"), c = c.match(/^\\d*-\\d*$/) ? \"http://channel.jd.com/\" + c + \".html\" : \"http://www.migo.com\" + c + \".html\"), '<a href=\"' + c + '\">' + d + \"</a>\")\r\n    },FN_SetLink: function(a) {\r\n        var b = \"\", c = pageConfig.isHome ? 'clstag=\"homepage|keycount|home2013|0604e\"' : \"\", d = pageConfig.isHome ? 'clstag=\"homepage|keycount|home2013|0603e\"' : \"\", e = pageConfig.isHome ? 'clstag=\"homepage|keycount|home2013|0605e\"' : \"\";\r\n        switch (a) {\r\n            case \"c\":\r\n                b = '<div class=\"categorys-links\" ' + c + '><a href=\"http://group.jd.com/index/20000001.htm\" target=\"_blank\"><img src=\"http://img13.360buyimg.com/da/jfs/t328/179/568110786/5477/d602dfd5/54180c0eN5ddce4d3.png\" /></a></div>';\r\n                break;\r\n            case \"b\":\r\n                b = '<div class=\"categorys-links\" id=\"categorys-links-cellphone\" ' + d + '><a href=\"http://sale.jd.com/act/UaSsnjAKQNeyiY.html\" target=\"_blank\">JDPhone\\u8ba1\\u5212</a></div>';\r\n                break;\r\n            case \"d\":\r\n                b = '<div class=\"categorys-links\" id=\"categorys-links-jzc\" ' + e + '><a href=\"http://channel.jd.com/jiazhuang.html\" target=\"_blank\">\\u5bb6\\u88c5\\u57ce</a></div>'\r\n        }\r\n        return b\r\n    },DATA_Simple: {1: [{l: \"http://book.jd.com/\",n: \"\\u56fe\\u4e66\"}, {l: \"http://mvd.jd.com/\",n: \"\\u97f3\\u50cf\"}, {l: \"http://e.jd.com/\",n: \"\\u6570\\u5b57\\u5546\\u54c1\"}],2: [{l: \"http://channel.jd.com/electronic.html\",n: \"\\u5bb6\\u7528\\u7535\\u5668\"}],3: [{l: \"http://shouji.jd.com/\",n: \"\\u624b\\u673a\"}, {l: \"http://channel.jd.com/digital.html\",n: \"\\u6570\\u7801\"}, {l: \"http://mobile.jd.com/index.do\",n: \"\\u4eac\\u4e1c\\u901a\\u4fe1\"}],4: [{l: \"http://channel.jd.com/computer.html\",n: \"\\u7535\\u8111\\u3001\\u529e\\u516c\"}],5: [{l: \"http://channel.jd.com/home.html\",n: \"\\u5bb6\\u5c45\"}, {l: \"http://channel.jd.com/furniture.html\",n: \"\\u5bb6\\u5177\"}, {l: \"http://channel.jd.com/decoration.html\",n: \"\\u5bb6\\u88c5\"}, {l: \"http://channel.jd.com/kitchenware.html\",n: \"\\u53a8\\u5177\"}],6: [{l: \"http://channel.jd.com/1315-1342.html\",n: \"\\u7537\\u88c5\"}, {l: \"http://channel.jd.com/1315-1343.html\",n: \"\\u5973\\u88c5\"}, {l: \"http://channel.jd.com/1315-1345.html\",n: \"\\u5185\\u8863\"}, {l: \"http://channel.jd.com/jewellery.html\",n: \"\\u73e0\\u5b9d\"}],7: [{l: \"http://channel.jd.com/beauty.html\",n: \"\\u4e2a\\u62a4\\u5316\\u5986\"}],8: [{l: \"http://channel.jd.com/shoes.html\",n: \"\\u978b\\u9774\"}, {l: \"http://channel.jd.com/bag.html\",n: \"\\u7bb1\\u5305\"}, {l: \"http://channel.jd.com/watch.html\",n: \"\\u949f\\u8868\"}, {l: \"http://channel.jd.com/1672-2615.html\",n: \"\\u5962\\u4f88\\u54c1\"}],9: [{l: \"http://channel.jd.com/sports.html\",n: \"\\u8fd0\\u52a8\\u6237\\u5916\"}],10: [{l: \"http://channel.jd.com/auto.html\",n: \"\\u6c7d\\u8f66\\u7528\\u54c1\"}],11: [{l: \"http://channel.jd.com/baby.html\",n: \"\\u6bcd\\u5a74\"}, {l: \"http://channel.jd.com/toys.html\",n: \"\\u73a9\\u5177\\u4e50\\u5668\"}],12: [{l: \"http://channel.jd.com/food.html\",n: \"\\u98df\\u54c1\\u996e\\u6599\"}, {l: \"http://channel.jd.com/wine.html\",n: \"\\u9152\\u7c7b\"}, {l: \"http://channel.jd.com/freshfood.html\",n: \"\\u751f\\u9c9c\"}],13: [{l: \"http://channel.jd.com/health.html\",n: \"\\u8425\\u517b\\u4fdd\\u5065\"}],14: [{l: \"http://caipiao.jd.com/\",n: \"\\u5f69\\u7968\"}, {l: \"http://trip.jd.com/\",n: \"\\u65c5\\u884c\"}, {l: \"http://chongzhi.jd.com/\",n: \"\\u5145\\u503c\"}, {l: \"http://piao.jd.com/\",n: \"\\u7968\\u52a1\"}]},TPL_Simple: '{for item in data}<div class=\"item fore${parseInt(item_index)}\">    <span data-split=\"1\" {if pageConfig.isHome} clstag=\"homepage|keycount|home2013|06{if parseInt(item_index)+1>9}${parseInt(item_index)+1}{else}0${parseInt(item_index)+1}{/if}a\"{/if}>        <h3>{for sItem in item}{if sItem_index!=0}\\u3001{/if}<a href=\"${sItem.l}\">${sItem.n}</a>{/for}</h3>        <s></s>    </span></div>{/for}<div class=\"extra\"><a href=\"http://www.jd.com/allSort.aspx\">\\u5168\\u90e8\\u5546\\u54c1\\u5206\\u7c7b</a></div>',FN_InitSimple: function() {\r\n       /* var a, b = {}, c = $(\"#categorys-2013\");\r\n        b.data = this.DATA_Simple, c.addClass(\"categorys-2014\"), a = this.TPL_Simple.process(b);\r\n        var d = $(\"#_JD_ALLSORT\");\r\n        d.html(a), $.bigiframe(d)*/\r\n    },FN_GetData: function() {\r\n        $.getJSONP(this.URL_Serv, category.getDataService)\r\n    },FN_GetBrands: function() {\r\n      //  $.getJSONP(this.URL_BrandsServ, category.getBrandService)\r\n    },FN_RefactorJSON: function(a, b) {\r\n        for (var c = a.length / b, d = [], e = 0; c > e; e++)\r\n            d.push({tabs: [],increment: null,count: b,skuids: []});\r\n        for (var f = 0, g = 0; g < a.length; g++)\r\n            g % b == 0 && f++, d[f - 1].tabs.push(a[g]), d[f - 1].increment = f, d[f - 1].skuids.push(a[g].wid);\r\n        return d\r\n    },renderItem: function(a) {\r\n        var b = '<div class=\"item fore${index+1}\">    <span data-split=\"1\" {if pageConfig.isHome}clstag=\"homepage|keycount|home2013|0${601+parseInt(index)}a\"{/if}><h3>${n}</h3><s></s></span>    <div class=\"i-mc\">        <div onclick=\"$(this).parent().parent().removeClass(\\'hover\\')\" class=\"close\">\\xd7</div>        <div class=\"subitem\" {if pageConfig.isHome}clstag=\"homepage|keycount|home2013|0${601+parseInt(index)}b\"{/if}>            {for subitem in i}            <dl class=\"fore${parseInt(subitem_index)+1}\">                <dt>${category.FN_GetLink(1,subitem)}</dt>                <dd>{for link in subitem.i}<em>${category.FN_GetLink(2,link)}</em>{/for}</dd>            </dl>            {/for} </div> </div></div>', c = '<div class=\"item item-col2 fore${index+1}\">    <span data-split=\"1\" {if pageConfig.isHome}clstag=\"homepage|keycount|home2013|0${601+parseInt(index)}a\"{/if}><h3>${n}</h3><s></s></span>    <div class=\"i-mc\">        <ul class=\"hide title-list lh\">            <li class=\"fore1\"><a href=\"http://chongzhi.jd.com/\">\\u5145\\u503c\\u7f34\\u8d39</a></li>            <li class=\"fore2\"><a href=\"http://caipiao.jd.com/\">\\u4eac\\u4e1c\\u5f69\\u7968</a></li>            <li class=\"fore3\"><a href=\"http://channel.jd.com/4938-12316.html\">\\u57f9\\u8bad\\u6559\\u80b2</a></li>            <li class=\"fore4\"><a href=\"http://jipiao.jd.com/ticketquery/flightHotcity.action\">\\u4f18\\u9009\\u673a\\u7968</a></li>            <li class=\"fore5\"><a href=\"http://channel.jd.com/4938-12300.html\">\\u65c5\\u884c\\u7b7e\\u8bc1</a></li>            <li class=\"fore6\"><a href=\"http://game.jd.com/\">\\u4eac\\u4e1c\\u6e38\\u620f</a></li>        </ul>        <div onclick=\"$(this).parent().parent().removeClass(\\'hover\\')\" class=\"close\">\\xd7</div>        <div class=\"subitem\" {if pageConfig.isHome}clstag=\"homepage|keycount|home2013|0${601+parseInt(index)}b\"{/if}>            {for item in i}            <div class=\"sub-item-col sub-item-col${item_index} fl\">                {for subitem in item.tabs}                <dl class=\"fore${parseInt(subitem_index)+1}\">                    <dt>${category.FN_GetLink(1,subitem)}</dt>                    <dd>{for link in subitem.i}<em>${category.FN_GetLink(2,link)}</em>{/for}</dd>                </dl>                {/for}\t\t\t\t\t{if item_index==1}<div class=\"cat-right-con\" id=\"JD_sort_${t}\" clstag=\"homepage|keycount|home2013|0614c\"><div class=\"loading-style1\"><b></b>\\u52a0\\u8f7d\\u4e2d\\uff0c\\u8bf7\\u7a0d\\u5019...</div></div>{/if}            </div>            {/for}        </div>    </div></div>';\r\n        return \"l\" == a.t ? c.process(a) : b.process(a)\r\n    },FN_GetBrands: function() {\r\n      //  $.getJSONP(this.URL_BrandsServ, category.getBrandService)\r\n    },getDataService: function(a) {\r\n        var b = [], c = this;\r\n        $.each(a.data, function(a) {\r\n            this.index = a, \"l\" == this.t && (this.i = c.FN_RefactorJSON(this.i, 7)), b.push(c.renderItem(this, a))\r\n        });\r\n        b.push('<div class=\"extra\"><a {if pageConfig.isHome}clstag=\"homepage|keycount|home2013|0614a\"{/if} href=\"http://www.jd.com/allSort.aspx\">\\u5168\\u90e8\\u5546\\u54c1\\u5206\\u7c7b</a></div>'), this.OBJ.attr(\"load\", \"1\").html(b.join(\"\")), $.bigiframe(this.OBJ), this.FN_GetBrands();\r\n        var d = this, e = this.OBJ.outerWidth(), f = this.OBJ.outerHeight();\r\n        $(\"#_JD_ALLSORT\").dropdown({delay: 0,onmouseleave: function() {\r\n                $(\"#_JD_ALLSORT .item\").removeClass(\"hover\")\r\n            }}, function(a) {\r\n            var b, c, g = document.documentElement.scrollTop + document.body.scrollTop, h = $(\"#nav-2013\").offset().top + 39;\r\n            h >= g ? (c = a.hasClass(\"fore13\") ? 3 : 3, g = c) : (b = a.offset().top, g = g > b - 5 ? b - h - 10 : Math.max(3, g - h));\r\n            var i = a.find(\".i-mc\");\r\n            if (i.css({top: g + \"px\"}), d.OBJ.find(\"iframe\")) {\r\n                var j = i.outerWidth() + e, k = i.outerHeight() > f ? i.outerHeight() : f;\r\n                d.OBJ.find(\"iframe\").css({width: j,height: k,top: g})\r\n            }\r\n        })\r\n    },getRightAreaTPL: function(a) {\r\n        var b = \"\", c = \"\", d = \"\", e = \"\";\r\n        return b = this.FN_SetLink(a), c = '{if p.length!=0}<dl class=\"categorys-promotions\">    <dd>        <ul>            {for item in p}            <li>                <a href=\"${item.u}\" target=\"_blank\">                {if item.i}                    <img src=\"${item.i}\" width=\"194\" height=\"70\" title=\"${item.n}\" style=\"margin-bottom: 4px;\" />                {else}                    ${item.n}                {/if}                </a>            </li>            {/for}        </ul>    </dd></dl>{/if}', d = '{if b.length!=0}<dl class=\"categorys-brands\">    {if id==\"k\"}        <dt>\\u63a8\\u8350\\u54c1\\u724c\\u51fa\\u7248\\u5546/\\u4e66\\u5e97</dt>    {else}        {if id==\"l\"}        <dt>\\u63a8\\u8350\\u4ea7\\u54c1</dt>        {else}        <dt>\\u63a8\\u8350\\u54c1\\u724c</dt>        {/if}    {/if}    <dd>        <ul>            {for item in b} <li><a href=\"${item.u}\" target=\"_blank\">${item.n}</a></li> {/for}        </ul>    </dd></dl>{/if}', e = /c|b|d/.test(a) ? b + d + c : b + c + d\r\n    },getBrandService: function(a) {\r\n        var b = this, c = a.data;\r\n        this.OBJ.attr(\"load\", \"2\"), $.each(c, function() {\r\n            var a = this.id, c = b.getRightAreaTPL(a);\r\n            $(\"#JD_sort_\" + a).html(c.process(this))\r\n        }), $(\".cat-right-con\").each(function(a) {\r\n            pageConfig.isHome && ($(this).find(\".categorys-promotions\").attr(\"clstag\", \"homepage|keycount|home2013|0\" + (601 + a) + \"c\"), $(this).find(\".categorys-brands\").attr(\"clstag\", \"homepage|keycount|home2013|0\" + (601 + a) + \"d\"))\r\n        })\r\n    },FN_Init: function() {\r\n        if (this.OBJ.length) {\r\n            this.OBJ.attr(\"load\") || (window.pageConfig && 0 != window.pageConfig.pageId && this.FN_InitSimple(), $(\"#categorys\").length ? $(\"#categorys\").Jdropdown({delay: 200}) : $(\"#categorys-2013\").Jdropdown({delay: 200}));\r\n            var a = this;\r\n            this.OBJ.one(\"mouseover\", function() {\r\n                var b = a.OBJ.attr(\"load\");\r\n                if (b) {\r\n                    if (1 != b)\r\n                        return;\r\n                    a.FN_GetBrands()\r\n                } else\r\n                    a.FN_GetData()\r\n            })\r\n        }\r\n    }}, UC = {DATA_Cookie: \"aview\",TPL_UnRegist: '<div class=\"prompt\">            <span class=\"fl\">\\u60a8\\u597d\\uff0c\\u8bf7<a href=\"javascript:login()\" clstag=\"homepage|keycount|home2013|04a\">\\u767b\\u5f55</a></span>            <span class=\"fr\"></span>        </div>',TPL_Regist: '<div class=\"prompt\">                <span class=\"fl\"><strong>${Name}</strong></span>                <span class=\"fr\"><a href=\"http://home.jd.com/\">\\u53bb\\u6211\\u7684\\u4eac\\u4e1c\\u9996\\u9875&nbsp;&gt;</a></span>            </div>',TPL_OList: {placeholder: '<div id=\"jduc-orderlist\"></div>',fragment: '<div class=\"orderlist\">                <div class=\"smt\">                    <h4>\\u6700\\u65b0\\u8ba2\\u5355\\u72b6\\u6001\\uff1a</h4>                    <div class=\"extra\"><a href=\"http://order.jd.com/center/list.action\" target=\"_blank\">\\u67e5\\u770b\\u6240\\u6709\\u8ba2\\u5355&nbsp;&gt;</a></div>                </div>                <div class=\"smc\">                    <ul>                        {for item in orderList}                        <li class=\"fore${parseInt(item_index)+1}\">                            <div class=\"p-img fl\">                                {for image in item.OrderDetail}                                    {if image_index<2}                                        <a href=\"http://www.jd.com/product/${image.ProductId}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(image.ProductId)}n5/${image.ImgUrl}\" width=\"50\" height=\"50\" alt=\"${image.ProductName}\" /></a>                                    {/if}                                {/for}                                {if item.OrderDetail.length>2}                                    <a href=\"${item.passKeyUrl}\" target=\"_blank\" class=\"more\">\\u66f4\\u591a</a>                                {/if}                            </div>                            <div class=\"p-detail fr\">                                \\u8ba2\\u5355\\u53f7\\uff1a${item.OrderId}<br />                                \\u72b6\\u3000\\u6001\\uff1a<span>${UC.FN_SetState(item.OrderState)}</span><br />                                \\u3000\\u3000\\u3000\\u3000<a href=\"${item.passKeyUrl}\">\\u67e5\\u770b\\u8be6\\u60c5</a>                            </div>                        </li>                        {/for}                    </ul>                </div>            </div>'},TPL_UList: '<div class=\"uclist\">                <ul class=\"fore1 fl\">                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|04b\" href=\"http://order.jd.com/center/list.action\">\\u5f85\\u5904\\u7406\\u8ba2\\u5355<span id=\"num-unfinishedorder\"></span></a></li>                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|04c\" href=\"http://jd2008.jd.com/user_spzx.aspx\">\\u54a8\\u8be2\\u56de\\u590d<span id=\"num-consultation\"></span></a></li>                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|04d\" href=\"http://t.jd.com/product/followProductList.action?isReduce=true\">\\u964d\\u4ef7\\u5546\\u54c1<span id=\"num-reduction\"></span></a></li>                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|shouhou\" href=\"http://myjd.jd.com/repair/orderlist.action\">\\u8fd4\\u4fee\\u9000\\u6362\\u8d27</a></li>                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|04e\" href=\"http://quan.jd.com/user_quan.action\">\\u4f18\\u60e0\\u5238<span id=\"num-ticket\"></span></a></li>                </ul>                <ul class=\"fore2 fl\">                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|04i\" href=\"http://t.jd.com/home/follow\">\\u6211\\u7684\\u5173\\u6ce8&nbsp;&gt;</a></li>                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|04g\" href=\"http://bean.jd.com/myJingBean/list\">\\u6211\\u7684\\u4eac\\u8c46&nbsp;&gt;</a></li>                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|licai\" href=\"http://trade.jr.jd.com/centre/browse.action\">\\u6211\\u7684\\u7406\\u8d22&nbsp;&gt;</a></li>                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|baitiao\" href=\"http://baitiao.jd.com/creditUser/list\">\\u6211\\u7684\\u767d\\u6761&nbsp;&gt;</a></li>                </ul>            </div>',TPL_VList: {placeholder: '<div class=\"viewlist\">                <div class=\"smt\" clstag=\"homepage|keycount|home2013|04k\">                    <h4>\\u6700\\u8fd1\\u6d4f\\u89c8\\u7684\\u5546\\u54c1\\uff1a</h4>                    <div style=\"float:right;padding-right:9px;\"><a style=\"border:0;color:#005EA7\" href=\"http://my.jd.com/history/list.html\" target=\"_blank\">\\u67e5\\u770b\\u6d4f\\u89c8\\u5386\\u53f2&nbsp;&gt;</a></div>                </div>                <div class=\"smc\" id=\"jduc-viewlist\" clstag=\"homepage|keycount|home2013|04j\">                    <div class=\"loading-style1\"><b></b>\\u52a0\\u8f7d\\u4e2d\\uff0c\\u8bf7\\u7a0d\\u5019...</div>                    <ul class=\"lh hide\"></ul>                </div>            </div>',fragment: '{for item in list}<li><a href=\"http://item.jd.com/${item.wid}.html\" target=\"_blank\" title=\"${item.wname}\"><img src=\"${pageConfig.FN_GetImageDomain(item.wid)}n5/${item.imgUrl}\" width=\"50\" height=\"50\" alt=\"${item.wname}\" /></a></li>{/for}'},FN_SetState: function(a) {\r\n        var a = a;\r\n        return a.length > 4 && (a = \"<span title=\" + a + \">\" + a.substr(0, 4) + \"...</span>\"), a\r\n    },FN_InitNewVList: function(a) {\r\n        for (var b, c = a ? a.split(\"|\") : [], d = c.length, e = [], f = 0; d > f; )\r\n            e.push(c[f].split(\".\")[1]), f++;\r\n        b = e.join(\",\"), $.getJSONP(\"http://my.jd.com/product/info.html?ids=\" + b + \"&jsoncallback=UC.FN_ShowVList\")\r\n    },FN_InitVList: function(a) {\r\n        for (var b = JSON.parse(a), c = b.length, d = \",\", e = 0; c > e; e++)\r\n            new RegExp(b[e].s).test(d) || (d += b[e].s + \",\");\r\n        d = d.replace(/(^,*)|(,*$)/g, \"\"), $.getJSONP(\"http://my.jd.com/product/info.html?ids=\" + d + \"&jsoncallback=UC.FN_ShowVList\")\r\n    },FN_ShowVList: function(a) {\r\n        if (a) {\r\n            var b = $(\"#jduc-viewlist\").find(\".loading-style1\");\r\n            a.length = a.length > 5 ? 5 : a.length;\r\n            var c = {list: a};\r\n            b.length > 0 && b.hide();\r\n            var d = this.TPL_VList.fragment.process(c);\r\n            $(\"#jduc-viewlist\").find(\"ul\").eq(0).html(d).show()\r\n        }\r\n    },FN_setWords: function(a) {\r\n        var b = '<font style=\"color:{0}\">({1})</font>', c = \"\";\r\n        return c = 0 == a ? \"#ccc\" : \"#c00\", pageConfig.FN_StringFormat(b, c, a)\r\n    },FN_InitOList: function() {\r\n        $.ajax({url: \"http://minijd.360buy.com/getOrderList\",dataType: \"jsonp\",success: function(a) {\r\n                if (a && 0 == a.error && a.orderList) {\r\n                    var b = UC.TPL_OList.fragment.process(a);\r\n                    $(\"#jduc-orderlist\").html(b)\r\n                }\r\n            }}), $.ajax({url: \"http://minijd.360buy.com/getHomeCount\",dataType: \"jsonp\",success: function(a) {\r\n                a && 0 == a.error && $(\"#num-unfinishedorder\").html(UC.FN_setWords(a.orderCount))\r\n            }}), $.ajax({url: \"http://comm.360buy.com/index.php?mod=Consultation&action=havingReplyCount\",dataType: \"jsonp\",success: function(a) {\r\n                a && $(\"#num-consultation\").html(UC.FN_setWords(a.cnt))\r\n            }}), $.ajax({url: \"http://follow.soa.jd.com/product/queryForReduceProductCount.action?\",dataType: \"jsonp\",success: function(a) {\r\n                a && a.data > 0 && $(\"#num-reduction\").html(UC.FN_setWords(a.data))\r\n            }}), $.ajax({url: \"http://quan.jd.com/getcouponcount.action\",dataType: \"jsonp\",success: function(a) {\r\n                a && $(\"#num-ticket\").html(UC.FN_setWords(a.CouponCount))\r\n            }})\r\n    }}, MCART = {DATA_Cookie: \"cn\",DATA_Amount: readCookie(\"cn\") || \"0\",URL_Serv: \"http://cart.jd.com/cart/miniCartServiceNew.action\",TPL_Iframe: '<iframe scrolling=\"no\" frameborder=\"0\" marginheight=\"0\" marginwidth=\"0\" id=\"settleup-iframe\"></iframe>',TPL_NoGoods: '<div class=\"prompt\"><div class=\"nogoods\"><b></b>\\u8d2d\\u7269\\u8f66\\u4e2d\\u8fd8\\u6ca1\\u6709\\u5546\\u54c1\\uff0c\\u8d76\\u7d27\\u9009\\u8d2d\\u5427\\uff01</div></div>',TPL_List: {wrap: '<div id=\"settleup-content\"><div class=\"smt\"><h4 class=\"fl\">\\u6700\\u65b0\\u52a0\\u5165\\u7684\\u5546\\u54c1</h4></div><div class=\"smc\"></div><div class=\"smb ar\">\\u5171<b>${Num}</b>\\u4ef6\\u5546\\u54c1\\u3000\\u5171\\u8ba1<strong>\\uffe5 ${TotalPromotionPrice.toFixed(2)}</strong><br><a href=\"http://cart.jd.com/cart/cart.html?r=${+new Date}\" title=\"\\u53bb\\u8d2d\\u7269\\u8f66\\u7ed3\\u7b97\" id=\"btn-payforgoods\">\\u53bb\\u8d2d\\u7269\\u8f66\\u7ed3\\u7b97</a></div></div>',sigle: '<ul id=\"mcart-sigle\">{for list in TheSkus}  <li>      <div class=\"p-img fl\"><a href=\"http://item.jd.com/${list.Id}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(list.Id)}n5/${list.ImgUrl}\" width=\"50\" height=\"50\" alt=\"\"></a></div>      <div class=\"p-name fl\"><a href=\"http://item.jd.com/${list.Id}.html\" title=\"${list.Name}\" target=\"_blank\">${list.Name}</a></div>      <div class=\"p-detail fr ar\">          <span class=\"p-price\"><strong>\\uffe5${list.PromotionPrice.toFixed(2)}</strong>\\xd7${list.Num}</span>          <br>          {if parseInt(list.FanPrice)>0}          <span class=\"hl-green\">\\u8fd4\\u73b0\\uff1a\\uffe5<em>${list.FanPrice}</em></span>          <br>          {/if}          {if parseInt(list.Score)>0}          <span class=\"hl-orange\">\\u9001\\u4eac\\u8c46\\uff1a<em>${list.Score}</em></span>          <br>          {/if}          <a class=\"delete\" data-id=\"${list.Id}\" data-type=\"RemoveProduct\" href=\"#delete\">\\u5220\\u9664</a>      </div>      {for jq in list.CouponAD}      <div class=\"gift-jq\">[\\u8d60\\u5238] \\u8d60\\u9001${jq.Jing}\\u4eac\\u5238 ${jq.LimitAd}</a></div>      {/for}  </li>{/for}</ul>',gift: '<ul id=\"mcart-gift\">{for list in TheGifts}  <li>      <div class=\"p-img fl\"><a href=\"http://item.jd.com/${list.MainSKU.Id}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(list.MainSKU.Id)}n5/${list.MainSKU.ImgUrl}\" width=\"50\" height=\"50\" alt=\"\"></a></div>      <div class=\"p-name fl\"><a href=\"http://item.jd.com/${list.MainSKU.Id}.html\" title=\"${list.MainSKU.Name}\" target=\"_blank\">${list.MainSKU.Name}</a></div>      <div class=\"p-detail fr ar\">          <span class=\"p-price\"><strong>\\uffe5${list.PromotionPrice.toFixed(2)}</strong>\\xd7${list.Num}</span>          <br>          {if parseInt(list.FanPrice)>0}          <span class=\"hl-green\">\\u8fd4\\u73b0\\uff1a\\uffe5<em>${list.FanPrice}</em></span>          <br>          {/if}          {if parseInt(list.Score)>0}          <span class=\"hl-orange\">\\u9001\\u4eac\\u8c46\\uff1a<em>${list.Score}</em></span>          <br>          {/if}          <a class=\"delete\" data-id=\"${list.MainSKU.Id}\" data-type=\"RemoveProduct\" href=\"#delete\">\\u5220\\u9664</a>      </div>      {for gift in list.Skus}      <div class=\"gift\"><a href=\"http://item.jd.com/${gift.Id}.html\" target=\"_blank\">[{if gift.Type==2}\\u8d60\\u54c1{/if}{if gift.Type==1}\\u9644\\u4ef6{/if}] ${gift.Name}</a></div>      {/for}      {for jq in list.CouponAD}      <div class=\"gift-jq\">[\\u8d60\\u5238] \\u8d60\\u9001${jq.Jing}\\u5143\\u4eac\\u5238 ${jq.LimitAd}</a></div>      {/for}  </li>  {/for}</ul>',suit: '{for suit in TheSuit}<ul id=\"mcart-suit\">  <li class=\"dt\">      <div class=\"fl\"><span>[\\u5957\\u88c5]</span> ${suit.Name}</div>      <div class=\"fr\"><em>\\u5c0f\\u8ba1\\uff1a\\uffe5${(suit.PromotionPrice*suit.Num).toFixed(2)}</em></div>      <div class=\"clr\"></div>  </li>  {for list in suit.Skus}  <li>      <div class=\"p-img fl\"><a href=\"http://item.jd.com/${list.Id}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(list.Id)}n5/${list.ImgUrl}\" width=\"50\" height=\"50\" alt=\"\"></a></div>      <div class=\"p-name fl\"><span></span><a href=\"http://item.jd.com/${list.Id}.html\" title=\"${list.Name}\" target=\"_blank\">${list.Name}</a></div>      <div class=\"p-detail fr ar\">          <span class=\"p-price\"><strong>\\uffe5${list.PromotionPrice.toFixed(2)}</strong>\\xd7${list.Num}</span>          <br>          {if parseInt(list.FanPrice)>0}          <span class=\"hl-green\">\\u8fd4\\u73b0\\uff1a\\uffe5<em>${list.FanPrice}</em></span>          <br>          {/if}          {if parseInt(list.Score)>0}          <span class=\"hl-orange\">\\u9001\\u4eac\\u8c46\\uff1a<em>${list.Score}</em></span>          <br>          {/if}          <a class=\"delete\" data-id=\"${list.Id}|${suit.Id}\" data-type=\"RemoveSuit\" href=\"#delete\">\\u5220\\u9664</a>      </div>      {for gift in list.Gifts}      <div class=\"gift\"><a href=\"http://item.jd.com/${gift.Id}.html\" target=\"_blank\">[{if gift.Type==2}\\u8d60\\u54c1{/if}{if gift.Type==1}\\u9644\\u4ef6{/if}] ${gift.Name}</a></div>      {/for}      {for jq in list.CouponAD}      <div class=\"gift-jq\">[\\u8d60\\u5238] \\u8d60\\u9001${jq.Jing}\\u5143\\u4eac\\u5238 ${jq.LimitAd}</a></div>      {/for}  </li>  {/for}</ul>{/for}',mj: '{for mj in ManJian}<ul id=\"mcart-mj\">  <li class=\"dt\">      <div class=\"fl\"><span class=\"hl-green\">\\u6ee1\\u51cf</span>{if mj.ManFlag} \\u5df2\\u8d2d\\u6ee1{if mj.ManNum>0}${mj.ManNum}\\u4ef6{else}${mj.ManPrice}\\u5143{/if}\\uff0c\\u5df2\\u51cf${mj.JianPrice}\\u5143{else}\\u8d2d\\u6ee1{if mj.ManNum>0}${mj.ManNum}\\u4ef6{else}${mj.ManPrice}\\u5143{/if}\\uff0c\\u5373\\u53ef\\u4eab\\u53d7\\u6ee1\\u51cf\\u4f18\\u60e0{/if}</div>      <div class=\"fr\"><em>\\u5c0f\\u8ba1\\uff1a\\uffe5${(mj.PromotionPrice*mj.Num).toFixed(2)}</em></div>      <div class=\"clr\"></div>  </li>  {for list in mj.Skus}  <li>      <div class=\"p-img fl\"><a href=\"http://item.jd.com/${list.Id}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(list.Id)}n5/${list.ImgUrl}\" width=\"50\" height=\"50\" alt=\"\"></a></div>      <div class=\"p-name fl\"><span></span><a href=\"http://item.jd.com/${list.Id}.html\" title=\"${list.Name}\" target=\"_blank\">${list.Name}</a></div>      <div class=\"p-detail fr ar\">          <span class=\"p-price\"><strong>\\uffe5${list.PromotionPrice.toFixed(2)}</strong>\\xd7${list.Num}</span>          <br>          {if parseInt(list.FanPrice)>0}          <span class=\"hl-green\">\\u8fd4\\u73b0\\uff1a\\uffe5<em>${list.FanPrice}</em></span>          <br>          {/if}          {if parseInt(list.Score)>0}          <span class=\"hl-orange\">\\u9001\\u4eac\\u8c46\\uff1a<em>${list.Score}</em></span>          <br>          {/if}          <a class=\"delete\" data-id=\"${list.Id}|${mj.Id}\" data-type=\"RemoveSuit\" href=\"#delete\">\\u5220\\u9664</a>      </div>      {for gift in list.Gifts}      <div class=\"gift\"><a href=\"http://item.jd.com/${gift.Id}.html\" target=\"_blank\">[{if gift.Type==2}\\u8d60\\u54c1{/if}{if gift.Type==1}\\u9644\\u4ef6{/if}] ${gift.Name}</a></div>      {/for}      {for jq in list.CouponAD}      <div class=\"gift-jq\">[\\u8d60\\u5238] \\u8d60\\u9001${jq.Jing}\\u5143\\u4eac\\u5238 ${jq.LimitAd}</a></div>      {/for}  </li>  {/for}</ul>{/for}',mz: '{for mz in ManZeng}<ul id=\"mcart-mz\">  <li class=\"dt\">      <div class=\"fl\"><span class=\"hl-orange\">\\u6ee1\\u8d60</span>          {if mz.ManFlag}              \\u5df2\\u8d2d\\u6ee1${mz.ManPrice}\\u5143\\uff0c\\u60a8{if mz.ManGifts.length>0}\\u5df2{else}\\u53ef{/if}\\u9886\\u8d60\\u54c1          {else}              \\u8d2d\\u6ee1${mz.ManPrice}\\u5143\\uff0c\\u5373\\u53ef\\u9886\\u53d6\\u8d60\\u54c1          {/if}      </div>      <div class=\"fr\"><em>\\u5c0f\\u8ba1\\uff1a\\uffe5${(mz.PromotionPrice*mz.Num).toFixed(2)}</em></div>      <div class=\"clr\"></div>  </li>  {for gift in mz.ManGifts}<li class=\"dt-mz\"><a href=\"${gift.Id}\" target=\"_blank\">[\\u8d60\\u54c1]${gift.Name}</a>\\xd7${gift.Num}</li>{/for}  {for list in mz.Skus}  <li>      <div class=\"p-img fl\"><a href=\"http://item.jd.com/${list.Id}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(list.Id)}n5/${list.ImgUrl}\" width=\"50\" height=\"50\" alt=\"\"></a></div>      <div class=\"p-name fl\"><span></span><a href=\"http://item.jd.com/${list.Id}.html\" title=\"${list.Name}\" target=\"_blank\">${list.Name}</a></div>      <div class=\"p-detail fr ar\">          <span class=\"p-price\"><strong>\\uffe5${list.PromotionPrice.toFixed(2)}</strong>\\xd7${list.Num}</span>          <br>          {if parseInt(list.FanPrice)>0}          <span class=\"hl-green\">\\u8fd4\\u73b0\\uff1a\\uffe5<em>${list.FanPrice}</em></span>          <br>          {/if}          {if parseInt(list.Score)>0}          <span class=\"hl-orange\">\\u9001\\u4eac\\u8c46\\uff1a<em>${list.Score}</em></span>          <br>          {/if}          <a class=\"delete\" data-id=\"${list.Id}|${mz.Id}\" data-type=\"RemoveSuit\" href=\"#delete\">\\u5220\\u9664</a>      </div>      {for gift in list.Gifts}      <div class=\"gift\"><a href=\"http://item.jd.com/${gift.Id}.html\" target=\"_blank\">[{if gift.Type==2}\\u8d60\\u54c1{/if}{if gift.Type==1}\\u9644\\u4ef6{/if}] ${gift.Name}</a></div>      {/for}      {for jq in list.CouponAD}      <div class=\"gift-jq\">[\\u8d60\\u5238] \\u8d60\\u9001${jq.Jing}\\u5143\\u4eac\\u5238 ${jq.LimitAd}</a></div>      {/for}  </li>  {/for}</ul>{/for}'},FN_BindEvents: function() {\r\n        var a = this;\r\n        $(\"#settleup-content .delete\").bind(\"click\", function() {\r\n            var b = $(this).attr(\"data-id\").split(\"|\"), c = $(this).attr(\"data-type\"), d = {method: c,cartId: b[0]};\r\n            b && (b.length > 1 && b[1] && (d.targetId = b[1]), $.ajax({url: MCART.URL_Serv,data: d,dataType: \"jsonp\",success: function(b) {\r\n                    b.Result && a.FN_Refresh()\r\n                }}))\r\n        })\r\n    },FN_Refresh: function() {\r\n        var a = document.getElementById(\"settleup\") ? $(\"#settleup dl\") : $(\"#settleup-2013 dl\"), b = a.find(\"dd\").eq(0), c = function(a) {\r\n            var c = a.Cart, d = c.TheSkus.length + c.TheSuit.length + c.TheGifts.length + c.ManJian.length + c.ManZeng.length, e = MCART.TPL_List.sigle.process(a.Cart), f = MCART.TPL_List.gift.process(a.Cart), g = MCART.TPL_List.suit.process(a.Cart), h = MCART.TPL_List.mz.process(a.Cart), i = MCART.TPL_List.mj.process(a.Cart);\r\n            if (d > 0 ? (b.html(MCART.TPL_List.wrap.process(a.Cart)), b.find(\"#settleup-content .smc\").html(e + f + g + i + h), $(\"#settleup-url\").attr(\"href\", \"http://cart.jd.com/cart/cart.html?r=\" + +new Date)) : b.html(MCART.TPL_NoGoods), $.browser.msie && 6 == $.browser.version) {\r\n                var j = $(\"#settleup-content\");\r\n                j.before(MCART.TPL_Iframe);\r\n                var k = $(\"#settleup-iframe\");\r\n                k.height(j.height())\r\n            }\r\n            MCART.FN_BindEvents()\r\n        };\r\n        $.ajax({url: MCART.URL_Serv,data: {method: \"GetCart\"},dataType: \"jsonp\",success: function(a) {\r\n                c(a)\r\n            }}), MCART.DATA_Amount = readCookie(MCART.DATA_Cookie), null != MCART.DATA_Amount && $(\"#shopping-amount\").html(MCART.DATA_Amount).parent().show()\r\n    }}, NotifyPop = {_saleNotify: \"http://skunotify.\" + pageConfig.FN_getDomain() + \"/pricenotify.html?\",_stockNotify: \"http://skunotify.\" + pageConfig.FN_getDomain() + \"/storenotify.html?\",init: function(a) {\r\n        var b, c = this, d = this.serializeUrl(location.href), e = /from=weibo/.test(location.href) ? location.search.replace(/\\?/, \"\") : \"\";\r\n        /from=weibo/.test(location.href) && (b = d.param.type, this.setThickBox(b, e)), a.livequery(\"click\", function() {\r\n            var a = ($(this).attr(\"id\"), $(this).attr(\"data-type\") || 2);\r\n            return c.sku = $(this).attr(\"data-sku\"), c.checkLogin(function(b) {\r\n                b.IsAuthenticated ? (c._userPin = b.Name, c.setThickBox(a, e)) : (jdModelCallCenter.settings.fn = function() {\r\n                    c.checkLogin(function(b) {\r\n                        b.IsAuthenticated && (c._userPin = b.Name, c.setThickBox(a, e))\r\n                    })\r\n                }, jdModelCallCenter.login())\r\n            }), !1\r\n        }).attr(\"href\", \"#none\").removeAttr(\"target\")\r\n    },serializeUrl: function(a) {\r\n        var b, c, d, e, f = a.indexOf(\"?\"), g = a.substr(0, f), h = a.substr(f + 1), i = h.split(\"&\"), j = i.length, k = {};\r\n        for (b = 0; j > b; b++)\r\n            c = i[b].split(\"=\"), d = c[0], e = c[1], k[d] = e;\r\n        return {url: g,param: k}\r\n    },checkLogin: function(a) {\r\n        \"function\" == typeof a && $.getJSON(\"http://passport.\" + pageConfig.FN_getDomain() + \"/loginservice.aspx?method=Login&callback=?\", function(b) {\r\n            b.Identity && a(b.Identity)\r\n        })\r\n    },setThickBox: function(a, b) {\r\n        var c, d, e, f = {skuId: this.sku,pin: this._userPin,webSite: 1,origin: 1,source: 1}, g = this.serializeUrl(location.href);\r\n        /blogPin/.test(location.href) && (f.blogPin = g.param.blogPin), 1 == a && (c = \"\\u964d\\u4ef7\\u901a\\u77e5\", d = this._saleNotify, e = 250), 2 == a && (c = \"\\u5230\\u8d27\\u901a\\u77e5\", d = this._stockNotify, e = 210, f.storeAddressId = readCookie(\"ipLoc-djd\") || \"0-0-0\"), d += b ? b : $.param(f), $.jdThickBox({type: \"iframe\",source: decodeURIComponent(d) + \"&nocache=\" + +new Date,width: 500,height: e,title: c,_box: \"notify_box\",_con: \"notify_con\",_title: \"notify_title\"})\r\n    }};\r\n!function() {\r\n    pageConfig.FN_ImgError(document), $(\"img[data-lazyload]\").Jlazyload({type: \"image\",placeholderClass: \"err-product\"}), category.FN_Init(), document.getElementById(\"shortcut\") ? $(\"#shortcut .menu\").Jdropdown({delay: 50}) : ($(\"#biz-service\").Jdropdown({delay: 50}, function() {\r\n        $.ajax({url: \"http://www.jd.com/hotwords.aspx?position=new-index-002\",dataType: \"script\",scriptCharset: \"gb2312\",cache: !0})\r\n    }), $(\"#site-nav\").Jdropdown({delay: 50}, function() {\r\n        $.ajax({url: \"http://www.jd.com/hotwords.aspx?position=new-index-003\",dataType: \"script\",scriptCharset: \"gb2312\",cache: !0})\r\n    })), document.getElementById(\"navitems\") ? $(\"#navitems li\").Jdropdown() : $(\"#navitems-2013 li\").Jdropdown()\r\n    \t\t\r\n//    \t\t$.ajax({url: (\"https:\" == document.location.protocol ? \"https://\" : \"http://\") + \"passport.\" + pageConfig.FN_getDomain() + \"/new/helloService.ashx?m=ls\",\r\n//    \t\t\tdataType: \"jsonp\",scriptCharset: \"gb2312\",success: function(a) {\r\n//            a && a.info && $(\"#loginbar\").html(a.info), a && a.sso && $.each(a.sso, function() {\r\n//                $.getJSON(this);\r\n//                \r\n//            })\r\n//        }}), \r\n        \r\n//        document.getElementById(\"settleup\") ? (null != MCART.DATA_Amount && ($(\"#settleup s\").eq(0).addClass(\"shopping\"), $(\"#shopping-amount\").html(MCART.DATA_Amount)), $(\"#settleup dl\").Jdropdown({delay: 200}, function() {\r\n//        //MCART.FN_Refresh(), $(\"#settleup-url\").attr(\"href\", \"http://cart.jd.com/cart/cart.html?r=\" + +new Date)\r\n//    }\r\n//        \r\n//        )) : (null != MCART.DATA_Amount && $(\"#shopping-amount\").html(MCART.DATA_Amount), $(\"#settleup-2013 dl\").Jdropdown({delay: 200}, function() {\r\n//        MCART.FN_Refresh(), $(\"#settleup-url\").attr(\"href\", \"http://cart.jd.com/cart/cart.html?r=\" + +new Date)\r\n//    }));\r\n    var a = document.getElementById(\"my360buy\") ? $(\"#my360buy\") : $(\"#my360buy-2013\");\r\n    a.find(\"dl\").Jdropdown({delay: 100}, function(a) {\r\n        a.attr(\"load\") || $.login({automatic: !1,complete: function(b) {\r\n                if (b) {\r\n                    var c = a.find(\"dd\").eq(0), d = \"\", e = readCookie(UC.DATA_Cookie);\r\n                    b.IsAuthenticated ? (d += UC.TPL_Regist.process(b), d += UC.TPL_OList.placeholder, d += UC.TPL_UList) : (d += UC.TPL_UnRegist, d += UC.TPL_UList), e && (d += UC.TPL_VList.placeholder), c.html(d), a.attr(\"load\", \"1\"), setTimeout(function() {\r\n                        a.removeAttr(\"load\")\r\n                    }, 6e4), /\\[\\{/.test(e) ? UC.FN_InitVList(e) : UC.FN_InitNewVList(e), UC.FN_InitOList()\r\n                }\r\n            }})\r\n    }), document.onkeyup = function(a) {\r\n        var b = document.activeElement.tagName.toLowerCase();\r\n        if (\"input\" != b && \"textarea\" != b) {\r\n            var a = a ? a : window.event, c = a.keyCode || a.which;\r\n            switch (c) {\r\n                case 68:\r\n                    window.pageConfig.clientViewTop || (window.pageConfig.clientViewTop = 0), window.pageConfig.clientViewTop += document.documentElement.clientHeight, window.scrollTo(0, pageConfig.clientViewTop);\r\n                    break;\r\n                case 83:\r\n                    window.scrollTo(0, 0), window.pageConfig.clientViewTop = 0, document.getElementById(\"key\").focus();\r\n                    break;\r\n                case 84:\r\n                    window.scrollTo(0, 0), window.pageConfig.clientViewTop = 0\r\n            }\r\n        }\r\n    }\r\n}();\r\nvar $o = function() {\r\n//    function a() {\r\n//        this.length = 0, this.index = -1, this.iLastModified = 0, this.lastKeyword = !1\r\n//    }\r\n//    var b = {};\r\n//    b.replace = function(a, b) {\r\n//        return a.replace(/#{(.*?)}/g, function() {\r\n//            var a = arguments[1];\r\n//            return \"undefined\" != typeof b[a] ? b[a] : arguments[0]\r\n//        })\r\n//    }, String.prototype.isEmpty = function() {\r\n//        return 0 == this.length\r\n//    };\r\n//    var c = '<a style=\"color:#005AA0\" onclick=\"$o.del(event)\">\\u5220\\u9664</a>', d = \"\\u641c\\u7d22\\u5386\\u53f2\", e = '<li id=\"d_#{id}\" suggest-pos=\"#{suggest_pos}\" title=\"#{title}\" onclick=\"$o.clickItem(this)\" history=\"1\"><div class=\"search-item\" style=\"color:#005AA0\">#{keyword}</div><div class=\"search-count\">' + d + \"</div></li>\", f = '<li id=\"d_#{id}\" suggest-pos=\"#{suggest_pos}\" title=\"#{title}\" onclick=\"$o.clickItem(this)\"><div class=\"search-item\">#{keyword}</div><div class=\"search-count\">\\u7ea6#{amount}\\u4e2a\\u5546\\u54c1</div></li>', g = '<div id=\"d_#{id}\" suggest-pos=\"#{suggest_pos}\" class=\"#{className}\" title=\"#{title}\" cid=\"#{cid}\" cLevel=\"#{cLevel}\" onclick=\"$o.clickItem(this)\"><div class=\"search-item\">\\u5728<strong>#{cname}</strong>\\u5206\\u7c7b\\u4e2d\\u641c\\u7d22</div><div class=\"search-count\">\\u7ea6#{amount}\\u4e2a\\u5546\\u54c1</div></div>#{categorys}', h = '<li class=\"fore1\"><div id=\"d_#{id}\" suggest-pos=\"#{suggest_pos}\" class=\"fore1\" title=\"#{title}\" onclick=\"$o.clickItem(this)\"><div class=\"search-item\">#{keyword}</div><div class=\"search-count\" #{style}>\\u7ea6#{amount}\\u4e2a\\u5546\\u54c1</div></div>#{categorys}</li>', i = \"http://dd.search.jd.com/?key=#{keyword}\", j = \"#FFDFC6\", k = \"#FFF\", l = $(\"#key\"), m = $(\"#shelper\");\r\n//    a.prototype.init = function() {\r\n//        this.length = 0, this.index = -1, this.click = !1\r\n//    }, a.prototype.hideTip = function() {\r\n//        this.init(), this.lastKeyword = !1, m.html(\"\").hide()\r\n//    }, a.prototype.clickItem = function(a) {\r\n//        var b = a.getAttribute(\"cid\");\r\n//        search.cid = null != b && \"\" != b ? b : null;\r\n//        var c = a.getAttribute(\"cLevel\");\r\n//        search.cLevel = null != c && \"\" != c ? c : null;\r\n//        var d = a.getAttribute(\"ev_val\");\r\n//        search.ev_val = null == d || $.trim(d).isEmpty() ? null : d;\r\n//        var e = a.getAttribute(\"title\");\r\n//        null == e || $.trim(e).isEmpty() || l.val(e), search.additinal = \"&suggest=\" + a.getAttribute(\"suggest-pos\"), this.click = a.id.substr(2) - m.find(\"li[history='1']\").length, search(\"key\")\r\n//    }, a.prototype.mouseenter = function(a) {\r\n//        var a = $(a);\r\n//        a.attr(\"history\") && a.find(\".search-count\").html(c), a.css(\"background\", j);\r\n//        var b = a.attr(\"id\").split(\"_\"), e = parseInt(b[1], 10);\r\n//        if (e != this.index) {\r\n//            if (this.index > -1) {\r\n//                var f = $(\"#d_\" + this.index);\r\n//                f.css(\"background\", k), f.attr(\"history\") && f.find(\".search-count\").html(d)\r\n//            }\r\n//            this.index = e\r\n//        }\r\n//    }, a.prototype.mouseleave = function(a) {\r\n//        a.css(\"background\", k), a.attr(\"history\") && a.find(\".search-count\").html(d)\r\n//    }, a.prototype.selectItemNode = function(a) {\r\n//        var b = this, e = $(\"#d_\" + b.index + \":visible\");\r\n//        e.css(\"background-color\", k), e.attr(\"history\") && e.find(\".search-count\").html(d), -1 == b.index && -1 == a && (a = 0), b.index = (b.length + b.index + a) % b.length;\r\n//        var f = $(\"#d_\" + b.index);\r\n//        if (f.length > 0) {\r\n//            f.attr(\"history\") && f.find(\".search-count\").html(c), f.css(\"background-color\", j);\r\n//            var g = f.attr(\"title\");\r\n//            null == g || $.trim(g).isEmpty() || l.val(g);\r\n//            var h = f.attr(\"cid\");\r\n//            search.cid = null != h && \"\" != h ? h : null;\r\n//            var i = f.attr(\"cLevel\");\r\n//            search.cLevel = null != i && \"\" != i ? i : null, search.ev_val = null, search.additinal = \"&suggest=\" + f.attr(\"suggest-pos\"), b.click = b.index - m.find(\"li[history='1']\").length\r\n//        }\r\n//    }, a.prototype.input = function() {\r\n//        var a = this;\r\n//        a.timeoutId && clearTimeout(a.timeoutId), a.timeoutId = setTimeout(function() {\r\n//            var c = $.trim(l.val());\r\n//            if (c === a.lastKeyword || !(c || readCookie(\"pin\") || readCookie(\"_tp\")))\r\n//                return !1;\r\n//            a.lastKeyword = c;\r\n//            var d = b.replace(i, {keyword: encodeURIComponent(c)});\r\n//            $.ajax({url: d,dataType: \"jsonp\",scriptCharset: \"utf-8\",jsonp: \"callback\",success: function(b) {\r\n//                    return function(c) {\r\n//                        a.iLastModified > b || (a.iLastModified = b, a.onloadItems(c))\r\n//                    }\r\n//                }((new Date).getTime())})\r\n//        }, 150)\r\n//    }, a.prototype.keydown_up = function(a) {\r\n//        var b = this, c = a || window.event;\r\n//        0 == l.length && (l = $(\"#key\")), 0 == m.length && (m = $(\"tie\"));\r\n//        var d = c.keyCode;\r\n//        switch (d) {\r\n//            case 38:\r\n//                b.selectItemNode(-1);\r\n//                break;\r\n//            case 40:\r\n//                b.selectItemNode(1);\r\n//                break;\r\n//            case 27:\r\n//                b.hideTip();\r\n//                break;\r\n//            case 37:\r\n//                break;\r\n//            case 39:\r\n//                break;\r\n//            default:\r\n//                $.browser.mozilla || b.input()\r\n//        }\r\n//    }, a.prototype.onloadItems = function(a) {\r\n//        if (0 == a.length)\r\n//            return this.hideTip(), void 0;\r\n//        var c = this;\r\n//        c.init();\r\n//        var d = \"\", i = 0;\r\n//        window.pageConfig && window.pageConfig.searchType && (i = window.pageConfig.searchType);\r\n//        for (var j = 0, k = \"\", n = !1, o = 0, p = $.trim(l.val()), q = 0, r = a.length; r > q; q++) {\r\n//            var s = a[q];\r\n//            if (s) {\r\n//                var t = $.trim(s.keyword), u = t.toLowerCase().indexOf(p.toLowerCase()), v = t;\r\n//                if (0 == u && (v = p + \"<strong>\" + t.substring(u + p.length) + \"</strong>\"), \"string\" != typeof s.cid || $.trim(s.cid).isEmpty()) {\r\n//                    var w = \"\";\r\n//                    k += 0 == s.amount ? b.replace(e, {id: o,title: s.keyword,keyword: v,amount: s.amount,suggest_pos: j}) : b.replace(f, {id: o,title: s.keyword,keyword: v,amount: s.amount,suggest_pos: j,style: w}), o++, j++\r\n//                } else {\r\n//                    if (0 == n) {\r\n//                        n = !0;\r\n//                        var w = 'style=\"visibility:hidden\"', x = 0;\r\n//                        s.oamount && s.oamount > 0 && (x = s.oamount, w = \"\"), k += b.replace(h, {id: o,title: s.keyword,keyword: v,amount: x,suggest_pos: j,style: w}), o++, j++\r\n//                    }\r\n//                    if (\"string\" == typeof s.cname && $.trim(s.cname).isEmpty())\r\n//                        continue;\r\n//                    var y = s.level;\r\n//                    if (!y)\r\n//                        continue;\r\n//                    if (0 == i) {\r\n//                        if (\"string\" == typeof y && /^[1-8]4$/.test(y))\r\n//                            continue\r\n//                    } else if (5 == i) {\r\n//                        if (\"string\" == typeof y && !/^[5-8]2$/.test(y))\r\n//                            continue\r\n//                    } else if (1 == i || 2 == i || 3 == i || 4 == i)\r\n//                        continue;\r\n//                    var z = \"item1\", A = b.replace(g, {id: o,title: s.keyword,cid: s.cid,cLevel: s.level,className: z,cname: s.cname,amount: s.amount,suggest_pos: j - 1});\r\n//                    k = b.replace(k, {categorys: A}), o++\r\n//                }\r\n//            }\r\n//        }\r\n//        c.length = o, d = b.replace(k, {categorys: \"\"}), \"\" != d ? (d += '<li class=\"close\" onclick=\"$o.hideTip()\">\\u5173\\u95ed</li>', m.html(d).show(), m.find('[id^=\"d_\"]').bind(\"mouseleave\", function() {\r\n//            c.mouseleave($(this))\r\n//        }).bind(\"mouseenter\", function() {\r\n//            c.mouseenter($(this))\r\n//        })) : m.html(\"\").hide()\r\n//    }, a.prototype.bind_input = function() {\r\n//        $.browser.mozilla ? (l.bind(\"keydown\", function(a) {\r\n//            n.keydown_up(a)\r\n//        }), l.bind(\"input\", function(a) {\r\n//            n.input(a)\r\n//        })) : l.bind(\"keyup\", function(a) {\r\n//            n.keydown_up(a)\r\n//        }), l.focus(function() {\r\n//            setTimeout(function() {\r\n//                n.input()\r\n//            }, 10)\r\n//        }), m.parent().bind(\"mouseenter\", function() {\r\n//            n.e_position = !0, n.timeoutId && clearTimeout(n.timeoutId)\r\n//        }).bind(\"mouseleave\", function() {\r\n//            n.e_position = !1, n.timeoutId = setTimeout(function() {\r\n//                n.hideTip()\r\n//            }, 500)\r\n//        }), $(document).click(function() {\r\n//            n.e_position || n.hideTip()\r\n//        })\r\n//    }, a.prototype.del = function(a) {\r\n//        var b = this;\r\n//        a = a ? a : window.event, window.event ? (a.cancelBubble = !0, a.returnValue = !1) : (a.stopPropagation(), a.preventDefault());\r\n//        var c = $(a.srcElement ? a.srcElement : a.target), d = c.parent().parent().attr(\"title\");\r\n//        $.ajax({url: \"http://search.jd.com/suggest.php?op=del&callback=?&key=\" + encodeURIComponent(d),dataType: \"jsonp\",scriptCharset: \"utf-8\",beforeSend: function() {\r\n//                c.parent().parent().hide()\r\n//            },success: function() {\r\n//                b.lastKeyword = !1, l.focus()\r\n//            }})\r\n//    };\r\n//    var n = new a;\r\n//    return n.bind_input(), n\r\n}();\r\npageConfig.FN_InitSidebar = function() {\r\n    $(\"#toppanel\").length || $(document.body).prepend('<div class=\"w ld\" id=\"toppanel\"></div>'), $(\"#toppanel\").append('<div id=\"sidepanel\" class=\"hide\"></div>');\r\n    var a = $(\"#sidepanel\");\r\n    this.scroll = function() {\r\n        var b = this;\r\n        $(window).bind(\"scroll\", function() {\r\n            var b = document.body.scrollTop || document.documentElement.scrollTop;\r\n            0 == b ? a.hide() : a.show()\r\n        }), b.initCss(), $(window).bind(\"resize\", function() {\r\n            b.initCss()\r\n        })\r\n    }, this.initCss = function() {\r\n        var b, c = pageConfig.compatible ? 1210 : 990;\r\n        screen.width >= 1210 && (b = $.browser.msie && $.browser.version <= 6 ? {right: \"-26px\"} : {right: (document.documentElement.clientWidth - c) / 2 - 26 + \"px\"}, a.css(b))\r\n    }, this.addCss = function(b) {\r\n        a.css(b)\r\n    }, this.addItem = function(b) {\r\n        a.append(b)\r\n    }, this.setTop = function() {\r\n        this.addItem(\"<a href='#' class='gotop' title='\\u4f7f\\u7528\\u5feb\\u6377\\u952eT\\u4e5f\\u53ef\\u8fd4\\u56de\\u9876\\u90e8\\u54e6\\uff01'><b></b>\\u8fd4\\u56de\\u9876\\u90e8</a>\")\r\n    }\r\n}, pageConfig.FN_InitContrast = function(a, b, c) {\r\n    var a = a || \"_contrast\", c = c || \"list\", b = b || \"http://misc.360buyimg.com/contrast/js/contrast.js?ver=\" + +new Date, d = readCookie(a + \"_status\");\r\n    return pageConfig.isInitContrast ? !1 : (\"show\" != d && \"side\" != d || 1 != !!readCookie(a) ? $(\".btn-compare\").bind(\"click\", function() {\r\n        var d = this.getAttribute(\"skuid\");\r\n        $.getScript(b, function() {\r\n            Contrast && Contrast.init(c, a).showPopWin(d)\r\n        })\r\n    }) : $.getScript(b, function() {\r\n        Contrast && Contrast.init(c, a)\r\n    }), pageConfig.isInitContrast = 1, void 0)\r\n};\r\n"
  },
  {
    "path": "migo-portal/src/main/webapp/js/login/checkClient.js",
    "content": "function checkMacOs() {\r\n    var _nu = navigator.userAgent;\r\n    if(_nu.indexOf('Mac') != -1) {\r\n        return true;\r\n    }\r\n    return false;\r\n}\r\n\r\nfunction checkChromeBrowser() {\r\n    var _nu = navigator.userAgent;\r\n    if(_nu.indexOf('Chrome') != -1) {\r\n        return true;\r\n    }\r\n    return false;\r\n}\r\n\r\nif(checkMacOs()){\r\n    $('#ctrlDiv').hide();\r\n}\r\n\r\nif(checkChromeBrowser()){\r\n    $('#_ocx_password')\r\n        .bind('mouseover', function() {\r\n            timer = setTimeout(function() {\r\n                $(\"#loginpwd_error\").empty();\r\n                $(\"#loginpwd_error\").removeClass().addClass(\"hide\");\r\n            }, 380);\r\n        })\r\n        .bind('mouseout', function() {\r\n            clearTimeout(timer);\r\n        });\r\n}\r\n\r\nfunction checkOsAndBrowser() {\r\n    var _nu = navigator.userAgent,\r\n        _os = {\r\n            Win : _nu.indexOf('Win') != -1,  //Window OS\r\n            Mac : _nu.indexOf('Mac') != -1,  //Mac OS\r\n            X11 : _nu.indexOf('X11') != -1,  //X Window系统\r\n\r\n            Firefox: _nu.indexOf('Firefox') != -1, //Firefox浏览器\r\n            IE: _nu.indexOf('MSIE') != -1, //ie浏览器\r\n            Safari: _nu.indexOf('Safari') != -1, //Safari浏览器\r\n            Opera: _nu.indexOf('Opera') != -1, //Opera浏览器\r\n            Chrome: _nu.indexOf('Chrome') != -1, //Chrome浏览器\r\n\r\n            Gecko : _nu.indexOf('Gecko') != -1, //Gecke内核\r\n            Trident: _nu.indexOf('Trident') != -1, //Trident内核\r\n            webkit: _nu.indexOf('WebKit') != -1, //WebKit内核\r\n            Presto: _nu.indexOf('Presto') != -1 //Presto内核\r\n        }\r\n    return _os;\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/js/login/g.base.js",
    "content": "(function($) { $.extend($.browser, { client: function() { return { width: document.documentElement.clientWidth, height: document.documentElement.clientHeight, bodyWidth: document.body.clientWidth, bodyHeight: document.body.clientHeight }; }, scroll: function() { return { width: document.documentElement.scrollWidth, height: document.documentElement.scrollHeight, bodyWidth: document.body.scrollWidth, bodyHeight: document.body.scrollHeight, left: document.documentElement.scrollLeft, top: document.documentElement.scrollTop }; }, screen: function() { return { width: window.screen.width, height: window.screen.height }; }, isIE6: $.browser.msie && $.browser.version == 6, isMinW: function(val) { return Math.min($.browser.client().bodyWidth, $.browser.client().width) <= val; }, isMinH: function(val) { return $.browser.client().height <= val; } }) })(jQuery); (function($) { $.widthForIE6 = function(option) { var s = $.extend({ max: null, min: null, padding: 0 }, option || {}); var init = function() { var w = $(document.body); if ($.browser.client().width >= s.max + s.padding) { w.width(s.max + \"px\"); } else if ($.browser.client().width <= s.min + s.padding) { w.width(s.min + \"px\"); } else { w.width(\"auto\"); } }; init(); $(window).resize(init); } })(jQuery); (function($) { $.fn.hoverForIE6 = function(option) { var s = $.extend({ current: \"hover\" }, option || {}); $.each(this, function() { $(this).bind(\"mouseover\", function() { $(this).addClass(s.current); }).bind(\"mouseleave\", function() { $(this).removeClass(s.current); }) }) } })(jQuery); (function($) { $.extend({ _jsonp: { scripts: {}, counter: 1, head: document.getElementsByTagName(\"head\")[0], name: function(callback) { var name = '_jsonp_' + (new Date).getTime() + '_' + this.counter; this.counter++; var cb = function(json) { eval('delete ' + name); callback(json); $._jsonp.head.removeChild($._jsonp.scripts[name]); delete $._jsonp.scripts[name]; }; eval(name + ' = cb'); return name; }, load: function(url, name) { var script = document.createElement('script'); script.type = 'text/javascript'; script.charset = this.charset; script.src = url; this.head.appendChild(script); this.scripts[name] = script; } }, getJSONP: function(url, callback) { var name = $._jsonp.name(callback); var url = url.replace(/{callback};/, name); $._jsonp.load(url, name); return this; } }); })(jQuery); (function($) { $.fn.jdTab = function(option, callback) { if (typeof option == \"function\") { callback = option; option = {}; }; var s = $.extend({ type: \"static\", auto: false, source: \"data\", event: \"mouseover\", currClass: \"curr\", tab: \".tab\", content: \".tabcon\", itemTag: \"li\", stay: 5000, delay: 100, mainTimer: null, subTimer: null, index: 0 }, option || {}); var tabItem = $(this).find(s.tab).eq(0).find(s.itemTag), contentItem = $(this).find(s.content); if (tabItem.length != contentItem.length) return false; var reg = s.source.toLowerCase().match(/http:\\/\\/|\\d|\\.aspx|\\.ascx|\\.asp|\\.php|\\.html\\.htm|.shtml|.js|\\W/g); var init = function(n, tag) { s.subTimer = setTimeout(function() { hide(); if (tag) { s.index++; if (s.index == tabItem.length) s.index = 0; } else { s.index = n; }; s.type = (tabItem.eq(s.index).attr(s.source) != null) ? \"dynamic\" : \"static\"; show(); }, s.delay); }; var autoSwitch = function() { s.mainTimer = setInterval(function() { init(s.index, true); }, s.stay); }; var show = function() { tabItem.eq(s.index).addClass(s.currClass); switch (s.type) { default: case \"static\": var source = \"\"; break; case \"dynamic\": var source = (reg == null) ? tabItem.eq(s.index).attr(s.source) : s.source; tabItem.eq(s.index).removeAttr(s.source); break; }; if (callback) { callback(source, contentItem.eq(s.index), s.index); }; contentItem.eq(s.index).show(); }; var hide = function() { tabItem.eq(s.index).removeClass(s.currClass); contentItem.eq(s.index).hide(); }; tabItem.each(function(n) { $(this).bind(s.event, function() { clearTimeout(s.subTimer); clearInterval(s.mainTimer); init(n, false); return false; }).bind(\"mouseleave\", function() { if (s.auto) { autoSwitch(); } else { return; } }) }); if (s.type == \"dynamic\") { init(s.index, false); }; if (s.auto) { autoSwitch(); } } })(jQuery); (function($) { $.fn.jdMarquee = function(option, callback) { if (typeof option == \"function\") { callback = option; option = {}; }; var s = $.extend({ deriction: \"up\", speed: 10, auto: false, width: null, height: null, step: 1, control: false, _front: null, _back: null, _stop: null, _continue: null, wrapstyle: \"\", stay: 5000, delay: 20, dom: \"div>ul>li\".split(\">\"), mainTimer: null, subTimer: null, tag: false, convert: false, btn: null, disabled: \"disabled\", pos: { ojbect: null, clone: null} }, option || {}); var object = this.find(s.dom[1]); var subObject = this.find(s.dom[2]); var clone; if (s.deriction == \"up\" || s.deriction == \"down\") { var height = object.eq(0).outerHeight(); var step = s.step * subObject.eq(0).outerHeight(); }; if (s.deriction == \"left\" || s.deriction == \"right\") { var width = subObject.length * subObject.eq(0).outerWidth(); object.css({ width: width + \"px\" }); var step = s.step * subObject.eq(0).outerWidth(); }; var init = function() { var wrap = \"<div style='position:relative;overflow:hidden;z-index:1;width:\" + s.width + \"px;height:\" + s.height + \"px;\" + s.wrapstyle + \"'></div>\"; object.css({ position: \"absolute\", left: 0, top: 0 }).wrap(wrap); s.pos.object = 0; clone = object.clone(); object.after(clone); switch (s.deriction) { default: case \"up\": object.css({ marginLeft: 0, marginTop: 0 }); clone.css({ marginLeft: 0, marginTop: height + \"px\" }); s.pos.clone = height; break; case \"down\": object.css({ marginLeft: 0, marginTop: 0 }); clone.css({ marginLeft: 0, marginTop: -height + \"px\" }); s.pos.clone = -height; break; case \"left\": object.css({ marginTop: 0, marginLeft: 0 }); clone.css({ marginTop: 0, marginLeft: width + \"px\" }); s.pos.clone = width; break; case \"right\": object.css({ marginTop: 0, marginLeft: 0 }); clone.css({ marginTop: 0, marginLeft: -width + \"px\" }); s.pos.clone = -width; break; }; if (s.auto) { initMainTimer(); object.hover(function() { clear(s.mainTimer); }, function() { initMainTimer(); }); clone.hover(function() { clear(s.mainTimer); }, function() { initMainTimer(); }); }; if (callback) { callback(); }; if (s.control) { initControls(); } }; var initMainTimer = function(delay) { clear(s.mainTimer); s.stay = delay ? delay : s.stay; s.mainTimer = setInterval(function() { initSubTimer() }, s.stay); }; var initSubTimer = function() { clear(s.subTimer); s.subTimer = setInterval(function() { roll() }, s.delay); }; var clear = function(timer) { if (timer != null) { clearInterval(timer); } }; var disControl = function(A) { if (A) { $(s._front).unbind(\"click\"); $(s._back).unbind(\"click\"); $(s._stop).unbind(\"click\"); $(s._continue).unbind(\"click\"); } else { initControls(); } }; var initControls = function() { if (s._front != null) { $(s._front).click(function() { $(s._front).addClass(s.disabled); disControl(true); clear(s.mainTimer); s.convert = true; s.btn = \"front\"; if (!s.auto) { s.tag = true; }; convert(); }); }; if (s._back != null) { $(s._back).click(function() { $(s._back).addClass(s.disabled); disControl(true); clear(s.mainTimer); s.convert = true; s.btn = \"back\"; if (!s.auto) { s.tag = true; }; convert(); }); }; if (s._stop != null) { $(s._stop).click(function() { clear(s.mainTimer); }); }; if (s._continue != null) { $(s._continue).click(function() { initMainTimer(); }); } }; var convert = function() { if (s.tag && s.convert) { s.convert = false; if (s.btn == \"front\") { if (s.deriction == \"down\") { s.deriction = \"up\"; }; if (s.deriction == \"right\") { s.deriction = \"left\"; } }; if (s.btn == \"back\") { if (s.deriction == \"up\") { s.deriction = \"down\"; }; if (s.deriction == \"left\") { s.deriction = \"right\"; } }; if (s.auto) { initMainTimer(); } else { initMainTimer(4 * s.delay); } } }; var setPos = function(y1, y2, x) { if (x) { clear(s.subTimer); s.pos.object = y1; s.pos.clone = y2; s.tag = true; } else { s.tag = false; }; if (s.tag) { if (s.convert) { convert(); } else { if (!s.auto) { clear(s.mainTimer); } } }; if (s.deriction == \"up\" || s.deriction == \"down\") { object.css({ marginTop: y1 + \"px\" }); clone.css({ marginTop: y2 + \"px\" }); }; if (s.deriction == \"left\" || s.deriction == \"right\") { object.css({ marginLeft: y1 + \"px\" }); clone.css({ marginLeft: y2 + \"px\" }); } }; var roll = function() { var y_object = (s.deriction == \"up\" || s.deriction == \"down\") ? parseInt(object.get(0).style.marginTop) : parseInt(object.get(0).style.marginLeft); var y_clone = (s.deriction == \"up\" || s.deriction == \"down\") ? parseInt(clone.get(0).style.marginTop) : parseInt(clone.get(0).style.marginLeft); var y_add = Math.max(Math.abs(y_object - s.pos.object), Math.abs(y_clone - s.pos.clone)); var y_ceil = Math.ceil((step - y_add) / s.speed); switch (s.deriction) { case \"up\": if (y_add == step) { setPos(y_object, y_clone, true); $(s._front).removeClass(s.disabled); disControl(false); } else { if (y_object <= -height) { y_object = y_clone + height; s.pos.object = y_object; }; if (y_clone <= -height) { y_clone = y_object + height; s.pos.clone = y_clone; }; setPos((y_object - y_ceil), (y_clone - y_ceil)); }; break; case \"down\": if (y_add == step) { setPos(y_object, y_clone, true); $(s._back).removeClass(s.disabled); disControl(false); } else { if (y_object >= height) { y_object = y_clone - height; s.pos.object = y_object; }; if (y_clone >= height) { y_clone = y_object - height; s.pos.clone = y_clone; }; setPos((y_object + y_ceil), (y_clone + y_ceil)); }; break; case \"left\": if (y_add == step) { setPos(y_object, y_clone, true); $(s._front).removeClass(s.disabled); disControl(false); } else { if (y_object <= -width) { y_object = y_clone + width; s.pos.object = y_object; }; if (y_clone <= -width) { y_clone = y_object + width; s.pos.clone = y_clone; }; setPos((y_object - y_ceil), (y_clone - y_ceil)); }; break; case \"right\": if (y_add == step) { setPos(y_object, y_clone, true); $(s._back).removeClass(s.disabled); disControl(false); } else { if (y_object >= width) { y_object = y_clone - width; s.pos.object = y_object; }; if (y_clone >= width) { y_clone = y_object - width; s.pos.clone = y_clone; }; setPos((y_object + y_ceil), (y_clone + y_ceil)); }; break; } }; if (s.deriction == \"up\" || s.deriction == \"down\") { if (height >= s.height && height >= s.step) { init(); } }; if (s.deriction == \"left\" || s.deriction == \"right\") { if (width >= s.width && width >= s.step) { init(); } } } })(jQuery); function ResumeError() { return true; } window.onerror = ResumeError; if ($.browser.isIE6) { try { document.execCommand(\"BackgroundImageCache\", false, true); } catch (err) { } }; var calluri = \"http://fairyservice.360buy.com/WebService.asmx/MarkEx?callback=?\"; callback1 = function(data) { ; }; mark = function(sku, type) { $.getJSON(calluri, { sku: sku, type: type }, callback1); }; function search(id) { var selKey = document.getElementById(id).value; window.location = 'http://search.360buy.com/Search?keyword=' + selKey; } function login() { location.href = \"/user/login.html\"; return false; } function regist() { location.href = \"../emReg/emailReg\" + location.search; return false; } function setWebBILinkCount(sType) { try { if (sType.length > 0) { var js = document.createElement('script'); js.type = 'text/javascript'; js.src = 'http://counter.360buy.com/aclk.aspx?key=' + sType; document.getElementsByTagName('head')[0].appendChild(js); } } catch (e) { } }; function addToFavorite() { var a = \"http://www.360buy.com/\"; var b = \"京东商城-网购上京东，省钱又放心\"; if (document.all) { window.external.AddFavorite(a, b) } else if (window.sidebar) { window.sidebar.addPanel(b, a, \"\") } else { alert(\"对不起，您的浏览器不支持此操作!\\n请您使用菜单栏或Ctrl+D收藏本站。\") } }"
  },
  {
    "path": "migo-portal/src/main/webapp/js/login/jdEdit.js",
    "content": "var PGEdit_IE32_CLASSID=\"3DC4198F-C37E-4B88-81F4-B1B0BAAA74F8\";\r\nvar PGEdit_IE32_CAB=\"\";\r\nvar PGEdit_IE32_Version=\"1.0.0.2\";\r\nvar PGEdit_IE32_EXE=\"JDeditIE.exe\";\r\n\r\nvar PGEdit_IE64_CLASSID=\"3E19ED2C-C422-4D53-94D6-DC526554EDC1\";\r\nvar PGEdit_IE64_CAB=\"\";\r\nvar PGEdit_IE64_Version=\"1.0.0.2\";\r\nvar PGEdit_IE64_EXE=\"JDeditX64.exe\";\r\n\r\nvar PGEdit_FF=\"JDedit.exe\";\r\nvar PGEdit_FF_VERSION=\"1.0.0.2\";\r\n\r\n\r\nvar PGEdit_Update=\"0\";//IE控件是否强制升级 1强制升级,0不强制升级\r\n\r\nif(navigator.userAgent.indexOf(\"MSIE\")<0){\r\n\t   navigator.plugins.refresh();\r\n}\r\n\r\n;(function($) {\r\n\t$.pge = function (options) {\r\n\t\tthis.settings = $.extend(true, {}, $.pge.defaults, options);\r\n\t\tthis.init();\r\n\t};\r\n\r\n\t$.extend($.pge, {\r\n\t\tdefaults: {\r\n\t\t\tpgePath: \"./ocx/\",\r\n\t\t\tpgeId: \"\",\r\n\t\t\tpgeEdittype: 0,\r\n\t\t\tpgeEreg1: \"\",\r\n\t\t\tpgeEreg2: \"\",\r\n\t\t\tpgeMaxlength: 12,\r\n\t\t\tpgeTabindex: 2,\r\n\t\t\tpgeClass: \"ocx_style\",\r\n\t\t\tpgeInstallClass: \"ocx_style\",\r\n\t\t\tpgeOnkeydown:\"\",\r\n\t\t\tpgeFontName:\"\",\r\n\t\t\tpgeFontSize:\"\",\r\n\t\t\ttabCallback:\"\",\r\n\t\t\tpgeBackColor:\"\",\r\n\t\t\tpgeForeColor:\"\"\r\n\t\t},\r\n\r\n\t\tprototype: {\r\n\t\t\tinit: function() {\r\n\t\t\t    this.pgeDownText=\"请点此安装控件\";\r\n\t\t\t    this.osBrowser = this.checkOsBrowser();\r\n\t\t\t\tthis.pgeVersion = this.getVersion();\r\n\t\t\t\tthis.isInstalled = this.checkInstall();\r\n\t\t\t},\r\n\r\n\t\t\tcheckOsBrowser: function() {\r\n\t\t\t\tvar userosbrowser;\r\n\t\t\t\tif((navigator.platform ==\"Win32\") || (navigator.platform ==\"Windows\")){\r\n\t\t\t\t\tif(navigator.userAgent.indexOf(\"MSIE\")>0 || navigator.userAgent.indexOf(\"msie\")>0 || navigator.userAgent.indexOf(\"Trident\")>0 || navigator.userAgent.indexOf(\"trident\")>0){\r\n\t\t\t\t\t\tif(navigator.userAgent.indexOf(\"ARM\")>0){\r\n\t\t\t\t\t\t\tuserosbrowser=9; //win8 RAM Touch\r\n\t\t\t\t\t\t\tthis.pgeditIEExe=\"\";\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tuserosbrowser=1;//windows32ie32\r\n\t\t\t\t\t\t\tthis.pgeditIEClassid=PGEdit_IE32_CLASSID;\r\n\t\t\t\t\t\t\tthis.pgeditIECab=PGEdit_IE32_CAB;\r\n\t\t\t\t\t\t\tthis.pgeditIEExe=PGEdit_IE32_EXE;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tuserosbrowser=2; //windowsff\r\n\t\t\t\t\t\tthis.pgeditFFExe=PGEdit_FF;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if((navigator.platform==\"Win64\")){\r\n\t\t\t\t\tif(navigator.userAgent.indexOf(\"Windows NT 6.2\")>0 || navigator.userAgent.indexOf(\"windows nt 6.2\")>0){\r\n\t\t\t\t\t\tuserosbrowser=1;//windows32ie32\r\n\t\t\t\t\t\tthis.pgeditIEClassid=PGEdit_IE32_CLASSID;\r\n\t\t\t\t\t\tthis.pgeditIECab=PGEdit_IE32_CAB;\r\n\t\t\t\t\t\tthis.pgeditIEExe=PGEdit_IE32_EXE;\r\n\t\t\t\t\t}else if(navigator.userAgent.indexOf(\"MSIE\")>0 || navigator.userAgent.indexOf(\"msie\")>0 || navigator.userAgent.indexOf(\"Trident\")>0 || navigator.userAgent.indexOf(\"trident\")>0){\r\n\t\t\t\t\t\tuserosbrowser=3;//windows64ie64\r\n\t\t\t\t\t\tthis.pgeditIEClassid=PGEdit_IE64_CLASSID;\r\n\t\t\t\t\t\tthis.pgeditIECab=PGEdit_IE64_CAB;\r\n\t\t\t\t\t\tthis.pgeditIEExe=PGEdit_IE64_EXE;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tuserosbrowser=2;//windowsff\r\n\t\t\t\t\t\tthis.pgeditFFExe=PGEdit_FF;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn userosbrowser;\r\n\t\t\t},\r\n\t\t\tgetpgeHtml: function() {\r\n\t\t\t\tif (this.osBrowser==1 || this.osBrowser==3) {\r\n\r\n\t\t\t\t\tvar pgeOcx= '<span id=\"'+this.settings.pgeId+'_pge\" style=\"display:none;\"><OBJECT ID=\"' + this.settings.pgeId + '\" CLASSID=\"CLSID:' + this.pgeditIEClassid + '\" '\r\n\r\n\t\t\t\t\t        +'onkeydown=\"if(13==event.keyCode || 27==event.keyCode)'+this.settings.pgeOnkeydown+';\" tabindex=\"'+this.settings.pgeTabindex+'\" class=\"' + this.settings.pgeClass + '\">'\r\n\r\n\t\t\t\t\t        + '<param name=\"edittype\" value=\"'+ this.settings.pgeEdittype + '\"><param name=\"maxlength\" value=\"' + this.settings.pgeMaxlength +'\">'\r\n\r\n\t\t\t\t\t\t\t+ '<param name=\"input2\" value=\"'+ this.settings.pgeEreg1 + '\"><param name=\"input3\" value=\"'+ this.settings.pgeEreg2 + '\">';\r\n\r\n\t\t\t\t\t\t\tif(this.settings.pgeFontName!=undefined && this.settings.pgeFontName!=\"\") pgeOcx+= '<param name=\"FontName\" value=\"'+ this.settings.pgeFontName + '\">'\r\n\r\n\t\t\t\t\t\t\tif(this.settings.pgeFontSize!=undefined && this.settings.pgeFontSize!=\"\") pgeOcx+= '<param name=\"FontSize\" value=\"'+ this.settings.pgeFontSize + '\">'\r\n\r\n\t\t\t\t\t        pgeOcx+= '</OBJECT></span>';\r\n\r\n\t\t\t\t\t\t\tpgeOcx+= '<div id=\"'+this.settings.pgeId+'_down\" class=\"'+this.settings.pgeInstallClass+'\" style=\"text-align:center;display:none;\"><a href=\"'+this.settings.pgePath+this.pgeditIEExe+'\">'+this.pgeDownText+'</a></div>';\r\n\r\n\t\t\t\t\t\t\treturn pgeOcx;\r\n\r\n\t\t\t\t} else if (this.osBrowser==2) {\r\n\r\n\t\t\t\t\tvar pgeOcx='<embed ID=\"' + this.settings.pgeId + '\" input_10=\"false\" maxlength=\"'+this.settings.pgeMaxlength+'\" input_2=\"'+this.settings.pgeEreg1+'\" input_3=\"'+this.settings.pgeEreg2+'\" edittype=\"'+this.settings.pgeEdittype+'\" type=\"application/jdedit\" tabindex=\"'+this.settings.pgeTabindex+'\" class=\"' + this.settings.pgeClass + '\" ';\r\n\r\n\t\t\t\t\tif(this.settings.pgeOnkeydown!=undefined && this.settings.pgeOnkeydown!=\"\") pgeOcx+=' input_1013=\"'+this.settings.pgeOnkeydown+'\"';\r\n\r\n\t\t\t\t\tif(this.settings.tabCallback!=undefined && this.settings.tabCallback!=\"\") pgeOcx+=' input_1009=\"document.getElementById(\\''+this.settings.tabCallback+'\\').focus()\"';\r\n\r\n\t\t\t\t\tif(this.settings.pgeFontName!=undefined && this.settings.pgeFontName!=\"\") pgeOcx+=' FontName=\"'+this.settings.pgeFontName+'\"';\r\n\r\n\t\t\t\t\tif(this.settings.pgeFontSize!=undefined && this.settings.pgeFontSize!=\"\") pgeOcx+=' FontSize='+Number(this.settings.pgeFontSize)+'';\r\n\r\n\t\t\t\t\tpgeOcx+=' >';\r\n\r\n\t\t\t\t\treturn pgeOcx;\r\n\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\treturn '<span id=\"'+this.settings.pgeId+'_down\" class=\"'+this.settings.pgeInstallClass+'\" style=\"text-align:center;\">暂不支持此浏览器</span>';\r\n\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tgetDownHtml: function() {\r\n\t\t\t\tif (this.osBrowser==1 || this.osBrowser==3) {\r\n\t\t\t\t\treturn '<span id=\"'+this.settings.pgeId+'_down\" class=\"'+this.settings.pgeInstallClass+'\" style=\"text-align:center;\"><a href=\"'+this.settings.pgePath+this.pgeditIEExe+'\">'+this.pgeDownText+'</a></span>';\r\n\t\t\t\t} else if (this.osBrowser==2) {\r\n\r\n\t\t\t\t\treturn '<span id=\"'+this.settings.pgeId+'_down\" class=\"'+this.settings.pgeInstallClass+'\" style=\"text-align:center;\"><a href=\"'+this.settings.pgePath+this.pgeditFFExe+'\">'+this.pgeDownText+'</a></span>';\r\n\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\treturn '<span id=\"'+this.settings.pgeId+'_down\" class=\"'+this.settings.pgeInstallClass+'\" style=\"text-align:center;\">暂不支持此浏览器</span>';\r\n\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n            getLinkHtml: function() {\r\n                if (this.osBrowser==1 || this.osBrowser==3) {\r\n                    return this.pgeditIEExe;\r\n                } else if (this.osBrowser==2) {\r\n                    return this.pgeditFFExe;\r\n                } else {\r\n                    return \"nonsupport\";\r\n                }\r\n            },\r\n\r\n\t\t\tload: function() {\r\n\t\t\t\tif (!this.checkInstall()) {\r\n\t\t\t\t\treturn this.getDownHtml();\r\n\t\t\t\t}else{\r\n\t\t\t\t   if(this.osBrowser==2){\r\n\t\t\t\t\t\tif(this.checkUpdate()){\r\n\t\t\t\t\t\t\tthis.setDownText();\r\n\t\t\t\t\t\t\treturn this.getDownHtml();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t   }\r\n\t\t\t\t\treturn this.getpgeHtml();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tgenerate: function() {\r\n\t\t\t\t  if(this.osBrowser==2){\r\n\t\t\t\t\t   if(this.isInstalled==false){\r\n\t\t\t\t\t\t   return document.write(this.getDownHtml());\r\n\t\t\t\t\t   }else if(this.checkUpdate()){\r\n\t\t\t\t\t\t\tthis.setDownText();\r\n\t\t\t\t\t\t\treturn document.write(this.getDownHtml());\r\n\t\t\t\t\t\t}\r\n\t\t\t       }\r\n\t\t\t\t\treturn document.write(this.getpgeHtml());\r\n\t\t\t},\r\n\r\n\t\t\tpwdclear: function() {\r\n\t\t\t\tif (this.checkInstall()) {\r\n\t\t\t\t\tvar control = document.getElementById(this.settings.pgeId);\r\n\t\t\t\t\tcontrol.ClearSeCtrl();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tpwdSetSk: function(s) {\r\n\t\t\t\tif (this.checkInstall()) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar control = document.getElementById(this.settings.pgeId);\r\n\t\t\t\t\t\tif (this.osBrowser==1 || this.osBrowser==3) {\r\n\t\t\t\t\t\t\tcontrol.input1=s;\r\n\t\t\t\t\t\t} else if (this.osBrowser==2) {\r\n\t\t\t\t\t\t\tcontrol.input(1,s);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (err) {\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tpwdResultHash: function() {\r\n\r\n\t\t\t\tvar code = '';\r\n\r\n\t\t\t\tif (!this.checkInstall()) {\r\n\r\n\t\t\t\t\tcode = '';\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar control = document.getElementById(this.settings.pgeId);\r\n\t\t\t\t\t\tif (this.osBrowser==1 || this.osBrowser==3) {\r\n\t\t\t\t\t\t\tcode = control.output;\r\n\t\t\t\t\t\t} else if (this.osBrowser==2) {\r\n\t\t\t\t\t\t\t//control.setinput(10, false);\r\n\t\t\t\t\t\t\tcontrol.package=5;\r\n\r\n\t\t\t\t\t\t\tcode = control.output(7);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (err) {\r\n\t\t\t\t\t\tcode = '';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t//alert(code);\r\n\t\t\t\treturn code;\r\n\t\t\t},\r\n\r\n\t\t\tpwdResult: function() {\r\n\r\n\t\t\t\tvar code = '';\r\n\r\n\t\t\t\tif (!this.checkInstall()) {\r\n\r\n\t\t\t\t\tcode = '';\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar control = document.getElementById(this.settings.pgeId);\r\n\t\t\t\t\t\tif (this.osBrowser==1 || this.osBrowser==3) {\r\n\t\t\t\t\t\t\tcode = control.output1;\r\n\t\t\t\t\t\t} else if (this.osBrowser==2) {\r\n\t\t\t\t\t\t\tcode = control.output(7);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (err) {\r\n\t\t\t\t\t\tcode = '';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t//alert(code);\r\n\t\t\t\treturn code;\r\n\t\t\t},\r\n\r\n\t\t\tmachineNetwork: function() {\r\n\t\t\t\tvar code = '';\r\n\r\n\t\t\t\tif (!this.checkInstall()) {\r\n\r\n\t\t\t\t\tcode = '';\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar control = document.getElementById(this.settings.pgeId);\r\n\t\t\t\t\t\tif (this.osBrowser==1 || this.osBrowser==3) {\r\n\t\t\t\t\t\t\tcode = control.GetIPMacList();\r\n\t\t\t\t\t\t} else if (this.osBrowser==2) {\r\n\t\t\t\t\t\t\tcontrol.package=0;\r\n\t\t\t\t\t\t\tcode = control.output(9);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (err) {\r\n\r\n\t\t\t\t\t\tcode = '';\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn code;\r\n\t\t\t},\r\n\t\t\tmachineDisk: function() {\r\n\t\t\t\tvar code = '';\r\n\r\n\t\t\t\tif (!this.checkInstall()) {\r\n\r\n\t\t\t\t\tcode = '';\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar control = document.getElementById(this.settings.pgeId);\r\n\t\t\t\t\t\tif (this.osBrowser==1 || this.osBrowser==3) {\r\n\t\t\t\t\t\t\tcode = control.GetNicPhAddr(1);\r\n\t\t\t\t\t\t} else if (this.osBrowser==2) {\r\n\t\t\t\t\t\t\tcontrol.package=0;\r\n\t\t\t\t\t\t\tcode = control.output(11);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (err) {\r\n\r\n\t\t\t\t\t\tcode = '';\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn code;\r\n\t\t\t},\r\n\t\t\tmachineCPU: function() {\r\n\t\t\t\tvar code = '';\r\n\r\n\t\t\t\tif (!this.checkInstall()) {\r\n\r\n\t\t\t\t\tcode = '';\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar control = document.getElementById(this.settings.pgeId);\r\n\t\t\t\t\t\tif (this.osBrowser==1 || this.osBrowser==3) {\r\n\t\t\t\t\t\t\tcode = control.GetNicPhAddr(2);\r\n\t\t\t\t\t\t} else if (this.osBrowser==2) {\r\n\t\t\t\t\t\t\tcontrol.package=0;\r\n\t\t\t\t\t\t\tcode = control.output(10);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (err) {\r\n\t\t\t\t\t\tcode = '';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn code;\r\n\t\t\t},\r\n\t\t\tpwdSimple: function() {\r\n\t\t\t\tvar code = '';\r\n\r\n\t\t\t\tif (!this.checkInstall()) {\r\n\r\n\t\t\t\t\tcode = '';\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar control = document.getElementById(this.settings.pgeId);\r\n\t\t\t\t\t\tif (this.osBrowser==1 || this.osBrowser==3) {\r\n\t\t\t\t\t\t\tcode = control.output44;\r\n\t\t\t\t\t\t} else if (this.osBrowser==2) {\r\n\t\t\t\t\t\t\tcode = control.output(13);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (err) {\r\n\t\t\t\t\t\tcode = '';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn code;\r\n\t\t\t},\r\n\t\t\tpwdValid: function() {\r\n\t\t\t\tvar code = '';\r\n\r\n\t\t\t\tif (!this.checkInstall()) {\r\n\r\n\t\t\t\t\tcode = 1;\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar control = document.getElementById(this.settings.pgeId);\r\n\t\t\t\t\t\tif (this.osBrowser==1 || this.osBrowser==3) {\r\n\t\t\t\t\t\t\tif(control.output1) code = control.output5;\r\n\t\t\t\t\t\t} else if (this.osBrowser==2) {\r\n\t\t\t\t\t\t\tcode = control.output(5);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (err) {\r\n\r\n\t\t\t\t\t\tcode = 1;\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn code;\r\n\t\t\t},\r\n\t\t\tpwdHash: function() {\r\n\t\t\t\tvar code = '';\r\n\r\n\t\t\t\tif (!this.checkInstall()) {\r\n\r\n\t\t\t\t\tcode = 0;\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar control = document.getElementById(this.settings.pgeId);\r\n\t\t\t\t\t\tif (this.osBrowser==1 || this.osBrowser==3) {\r\n\t\t\t\t\t\t\tcode = control.output2;\r\n\t\t\t\t\t\t} else if (this.osBrowser==2) {\r\n\t\t\t\t\t\t\tcode = control.output(2);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (err) {\r\n\r\n\t\t\t\t\t\tcode = 0;\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn code;\r\n\t\t\t},\r\n\t\t\tpwdLength: function() {\r\n\t\t\t\tvar code = '';\r\n\r\n\t\t\t\tif (!this.checkInstall()) {\r\n\r\n\t\t\t\t\tcode = 0;\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar control = document.getElementById(this.settings.pgeId);\r\n\t\t\t\t\t\tif (this.osBrowser==1 || this.osBrowser==3) {\r\n\t\t\t\t\t\t\tcode = control.output3;\r\n\t\t\t\t\t\t} else if (this.osBrowser==2) {\r\n\t\t\t\t\t\t\tcode = control.output(3);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (err) {\r\n\r\n\t\t\t\t\t\tcode = 0;\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn code;\r\n\t\t\t},\r\n\t\t\tpwdStrength: function() {\r\n\t\t\t\tvar code = 0;\r\n\r\n\t\t\t\tif (!this.checkInstall()) {\r\n\r\n\t\t\t\t\tcode = 0;\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\telse{\r\n\r\n\t\t\t\t\ttry {\r\n\r\n\t\t\t\t\t\tvar control = document.getElementById(this.settings.pgeId);\r\n\r\n\t\t\t\t\t\tif (this.osBrowser==1 || this.osBrowser==3) {\r\n\t\t\t\t\t\t\tvar l=control.output3;\r\n\t\t\t\t\t\t\tvar n=control.output4;\r\n\t\t\t\t\t\t} else if (this.osBrowser==2) {\r\n\t\t\t\t\t\t\tvar l=control.output(3);\r\n\t\t\t\t\t\t\tvar n=control.output(4);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(l==0){\r\n\t\t\t\t\t\t\tcode = 0;\r\n\t\t\t\t\t\t}else if(n==1){\r\n\t\t\t\t\t\t\tcode = 1;//弱\r\n\t\t\t\t\t\t}else if(n==2 && l>=6){\r\n\t\t\t\t\t\t\tcode = 2;//中\r\n\t\t\t\t\t\t}else if(n==3 && l>=6){\r\n\t\t\t\t\t\t\tcode = 3;//强\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tcode = 0;\r\n\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t} catch (err) {\r\n\r\n\t\t\t\t\t\tcode = 0;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t\treturn code;\r\n\r\n\t\t\t},\r\n\t\t\tcheckInstall: function() {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tif (this.osBrowser==1) {\r\n\r\n\t\t\t\t\t\tvar comActiveX = new ActiveXObject(\"JDedit.JDeditCtrl.1\");\r\n\r\n\t\t\t\t\t} else if (this.osBrowser==2) {\r\n\r\n\t\t\t\t\t    var arr=new Array();\r\n\t\t\t\t\t    var pge_info=navigator.plugins['JDedit'].description;\r\n\r\n\t\t\t\t\t\tif(pge_info.indexOf(\":\")>0){\r\n\t\t\t\t\t\t\tarr=pge_info.split(\":\");\r\n\t\t\t\t\t\t\tvar pge_version = arr[1];\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tvar pge_version = \"\";\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t} else if (this.osBrowser==3) {\r\n\t\t\t\t\t\tvar comActiveX = new ActiveXObject(\"JDeditX64.JDeditCtrl.1\");\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}catch(e){\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\treturn true;\r\n\t\t\t},\r\n\r\n\t\t\tgetVersion: function() {\r\n\t\t\t\tvar pge_version = \"\";\r\n\t\t\t\ttry {\r\n\t\t\t\t\tif(this.osBrowser==1 || this.osBrowser==3){\r\n\t\t\t\t\t\tvar control = document.getElementById(this.settings.pgeId);\r\n\t\t\t\t\t\tvar pge_version = control.output35;\r\n\t\t\t\t\t}else if (this.osBrowser==2) {\r\n\t\t\t\t\t\t\tvar arr=new Array();\r\n\t\t\t\t\t\t\tvar pge_info=navigator.plugins['JDedit'].description;\r\n\t\t\t\t\t\t\tif(pge_info.indexOf(\":\")>0){\r\n\t\t\t\t\t\t\t\tarr=pge_info.split(\":\");\r\n\t\t\t\t\t\t\t\tvar pge_version = arr[1];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}catch(e){\r\n\t\t\t\t\treturn \"\";\r\n\t\t\t\t}\r\n\t\t\t\tif(pge_version!=\"\" && pge_version!=undefined){\r\n\t\t\t\t\treturn pge_version;\r\n\t\t\t\t}else{\r\n\t\t\t\t\treturn \"\";\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tsetColor: function() {\r\n\t\t\t\tvar code = '';\r\n\r\n\t\t\t\tif (!this.checkInstall()) {\r\n\r\n\t\t\t\t\tcode = '';\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar control = document.getElementById(this.settings.pgeId);\r\n\t\t\t\t\t\tif(this.settings.pgeBackColor!=undefined && this.settings.pgeBackColor!=\"\") control.BackColor=this.settings.pgeBackColor;\r\n\t\t\t\t\t\tif(this.settings.pgeForeColor!=undefined && this.settings.pgeForeColor!=\"\") control.ForeColor=this.settings.pgeForeColor;\r\n\t\t\t\t\t} catch (err) {\r\n\r\n\t\t\t\t\t\tcode = '';\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tcheckUpdate:function(){\r\n\t\t\t\tif(this.getVersion()==undefined && this.getVersion()==\"\"){\r\n\t\t\t\t\treturn 1;\r\n\t\t\t    }\r\n\t\t\t\tif(this.osBrowser==1){\r\n\t\t\t\t\t//if(this.getVersion()!=PGEdit_IE32_Version){\r\n\t\t\t\t\tif(this.ConvertVersion(this.getVersion())<this.ConvertVersion(PGEdit_IE32_Version) && PGEdit_Update==1){\r\n\t\t\t\t\t\treturn 1;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if(this.osBrowser==3){\r\n\t\t\t\t\t//if(this.getVersion()!=PGEdit_IE64_Version){\r\n\t\t\t\t\tif(this.ConvertVersion(this.getVersion())<this.ConvertVersion(PGEdit_IE64_Version) && PGEdit_Update==1){\r\n\t\t\t\t\t\treturn 1;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if(this.osBrowser==2){\r\n\t\t\t\t\t//if(this.getVersion()!=PGEdit_FF_VERSION){\r\n\t\t\t\t\tif(this.ConvertVersion(this.getVersion())<this.ConvertVersion(PGEdit_FF_VERSION) && PGEdit_Update==1){\r\n\t\t\t\t\t\treturn 1;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tConvertVersion:function(version){\r\n\t\t\t\tif(version!=\"\"){\r\n\t\t\t\t\tvar m=version.split(\".\");\r\n\t\t\t\t\tvar v=parseInt(m[0]*1000)+parseInt(m[1]*100)+parseInt(m[2]*10)+parseInt(m[3]);\r\n\t\t\t\t\treturn v;\r\n\t\t\t\t}else{\r\n\t\t\t\t\treturn \"\";\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tsetDownText:function(){\r\n\t\t\t\tif(this.pgeVersion!=undefined && this.pgeVersion!=\"\"){\r\n\t\t\t\t\t\tthis.pgeDownText=\"请点此升级控件\";\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tpgInitialize:function(){\r\n\t\t\t\tif(this.checkInstall()){\r\n\t\t\t\t\tif(this.osBrowser==1 || this.osBrowser==3){\r\n\t\t\t            $('#'+this.settings.pgeId+'_pge').show();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar control = document.getElementById(this.settings.pgeId);\r\n\r\n\t\t\t\t\tif(this.settings.pgeBackColor!=undefined && this.settings.pgeBackColor!=\"\") control.BackColor=this.settings.pgeBackColor;\r\n\t\t\t\t\tif(this.settings.pgeForeColor!=undefined && this.settings.pgeForeColor!=\"\") control.ForeColor=this.settings.pgeForeColor;\r\n\r\n\t\t\t\t}else{\r\n\t\t\t\t\tif(this.osBrowser==1 || this.osBrowser==3){\r\n\t\t\t\t\t\t$('#'+this.settings.pgeId+'_down').show();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n})(jQuery);"
  },
  {
    "path": "migo-portal/src/main/webapp/js/login/jdThickBox.js",
    "content": "(function($) {\r\n\t$.extend($.browser, {\r\n\t\tclient: function() {\r\n\t\t\treturn {\r\n\t\t\t\twidth: document.documentElement.clientWidth,\r\n\t\t\t\theight: document.documentElement.clientHeight,\r\n\t\t\t\tbodyWidth: document.body.clientWidth,\r\n\t\t\t\tbodyHeight: document.body.clientHeight\r\n\t\t\t};\r\n\t\t},\r\n\t\tscroll: function() {\r\n\t\t\treturn {\r\n\t\t\t\twidth: document.documentElement.scrollWidth,\r\n\t\t\t\theight: document.documentElement.scrollHeight,\r\n\t\t\t\tbodyWidth: document.body.scrollWidth,\r\n\t\t\t\tbodyHeight: document.body.scrollHeight,\r\n\t\t\t\tleft: document.documentElement.scrollLeft + document.body.scrollLeft,\r\n\t\t\t\ttop: document.documentElement.scrollTop + document.body.scrollTop\r\n\t\t\t};\r\n\t\t},\r\n\t\tscreen: function() {\r\n\t\t\treturn {\r\n\t\t\t\twidth: window.screen.width,\r\n\t\t\t\theight: window.screen.height\r\n\t\t\t};\r\n\t\t},\r\n\t\tisIE6: $.browser.msie && $.browser.version == 6,\r\n\t\tisMinW: function(val) {\r\n\t\t\treturn Math.min($.browser.client().bodyWidth, $.browser.client().width) <= val;\r\n\t\t},\r\n\t\tisMinH: function(val) {\r\n\t\t\treturn $.browser.client().height <= val;\r\n\t\t}\r\n\t})\r\n})(jQuery);\r\n(function(a) {\r\n    a.fn.jdPosition = function(f) {\r\n        var e = a.extend({mode:null}, f || {});\r\n        switch (e.mode) {\r\n            default:\r\n            case\"center\":\r\n                var c = a(this).outerWidth(),g = a(this).outerHeight();\r\n                var b = a.browser.isMinW(c),d = a.browser.isMinH(g);\r\n                a(this).css({left:a.browser.scroll().left + Math.max((a.browser.client().width - c) / 2, 0) + \"px\",top:(!a.browser.isIE6) ? (d ? a.browser.scroll().top : (a.browser.scroll().top + Math.max((a.browser.client().height - g) / 2, 0) + \"px\")) : ((a.browser.scroll().top <= a.browser.client().bodyHeight - g) ? (a.browser.scroll().top + Math.max((a.browser.client().height - g) / 2, 0) + \"px\") : (a.browser.client().height - g) / 2 + \"px\")});\r\n                break;\r\n            case\"auto\":\r\n                break;\r\n            case\"fixed\":\r\n                break\r\n        }\r\n    }\r\n})(jQuery);\r\n(function(a) {\r\n    a.fn.jdThickBox = function(f, k) {\r\n        if (typeof f == \"function\") {\r\n            k = f;\r\n            f = {}\r\n        }\r\n        var o = a.extend({type:\"text\",source:null,width:null,height:null,title:null,_frame:\"\",_div:\"\",_box:\"\",_con:\"\",_loading:\"thickloading\",close:false,_close:\"\",_fastClose:false,_close_val:\"\\u00d7\",_titleOn:true,_title:\"\",_autoReposi:false,_countdown:false,_thickPadding:10,_thickBorder:1}, f || {});\r\n        var e = (typeof this != \"function\") ? a(this) : null;\r\n        var c;\r\n        var m = function() {\r\n            clearInterval(c);\r\n            a(\".thickframe\").add(\".thickdiv\").hide();\r\n            a(\".thickbox\").empty().remove();\r\n            if (o._autoReposi) {\r\n                a(window).unbind(\"resize.jdThickBox\").unbind(\"scroll.jdThickBox\")\r\n            }\r\n        };\r\n        if (o.close) {\r\n            m();\r\n            return false\r\n        }\r\n        var d = function(p) {\r\n            if (p != \"\") {\r\n                return p.match(/\\w+/)\r\n            } else {\r\n                return\"\"\r\n            }\r\n        };\r\n        var n = function(p) {\r\n            if (a(\".thickframe\").length == 0 || a(\".thickdiv\").length == 0) {\r\n                a(\"<iframe class='thickframe' id='\" + d(o._frame) + \"' marginwidth='0' marginheight='0' frameborder='0' scrolling='no'></iframe>\").appendTo(a(document.body));\r\n                a(\"<div class='thickdiv' id='\" + d(o._div) + \"'></div>\").appendTo(a(document.body))\r\n            } else {\r\n                a(\".thickframe\").add(\".thickdiv\").show()\r\n            }\r\n            a(\"<div class='thickbox' id='\" + d(o._box) + \"'></div>\").appendTo(a(document.body));\r\n            if (o._titleOn) {\r\n                h(p)\r\n            }\r\n            a(\"<div class='thickcon' id='\" + d(o._con) + \"' style='width:\" + o.width + \"px;height:\" + o.height + \"px;'></div>\").appendTo(a(\".thickbox\"));\r\n            if (o._countdown) {\r\n                b()\r\n            }\r\n            a(\".thickcon\").addClass(o._loading);\r\n            g();\r\n            j();\r\n            l(p);\r\n            if (o._autoReposi) {\r\n                a(window).bind(\"resize.jdThickBox\", g).bind(\"scroll.jdThickBox\", g)\r\n            }\r\n            if (o._fastClose) {\r\n                a(document.body).bind(\"click.jdThickBox\", function(r) {\r\n                    r = r ? r : window.event;\r\n                    var q = r.srcElement ? r.srcElement : r.target;\r\n                    if (q.className == \"thickdiv\") {\r\n                        a(this).unbind(\"click.jdThickBox\");\r\n                        m()\r\n                    }\r\n                })\r\n            }\r\n        };\r\n        var b = function() {\r\n            var p = o._countdown;\r\n            a(\"<div class='thickcountdown' style='width:\" + o.width + \"'><span id='jd-countdown'>\" + p + \"</span>\\u79d2\\u540e\\u81ea\\u52a8\\u5173\\u95ed</div>\").appendTo(a(\".thickbox\"));\r\n            c = setInterval(function() {\r\n                p--;\r\n                a(\"#jd-countdown\").html(p);\r\n                if (p == 0) {\r\n                    p = o._countdown;\r\n                    m()\r\n                }\r\n            }, 1000)\r\n        };\r\n        var h = function(p) {\r\n            o.title = (o.title == null && p) ? p.attr(\"title\") : o.title;\r\n            a(\"<div class='thicktitle' id='\" + d(o._title) + \"' style='width:\" + o.width + \"'><span>\" + o.title + \"</span></div>\").appendTo(a(\".thickbox\"))\r\n        };\r\n        var j = function() {\r\n            if (o._close != null) {\r\n                a(\"<a href='#' class='thickclose' id='\" + d(o._close) + \"'>\" + o._close_val + \"</a>\").appendTo(a(\".thickbox\"));\r\n                a(\".thickclose\").one(\"click\", function() {\r\n                    m();\r\n                    $(\"#chkOpenCtrl\").attr(\"checked\",false);\r\n/*                    if(!pgeditor.checkInstall()){\r\n                        $(\"#chkOpenCtrl\").attr(\"checked\",false);\r\n                    } else {\r\n                        $(\"#nloginpwd\").hide();\r\n                        $(\"#sloginpwd\").show();\r\n                    }*/\r\n                    return false\r\n                })\r\n            }\r\n        };\r\n        var l = function(p) {\r\n            o.source = (o.source == null) ? p.attr(\"href\") : o.source;\r\n            switch (o.type) {\r\n                default:\r\n                case\"text\":\r\n                    a(\".thickcon\").html(o.source);\r\n                    a(\".thickcon\").removeClass(o._loading);\r\n                    if (k) {\r\n                        k()\r\n                    }\r\n                    break;\r\n                case\"html\":\r\n                    a(o.source).clone().appendTo(a(\".thickcon\")).show();\r\n                    a(\".thickcon\").removeClass(o._loading);\r\n                    if (k) {\r\n                        k()\r\n                    }\r\n                    break;\r\n                case\"image\":\r\n                    o._index = (o._index == null) ? e.index(p) : o._index;\r\n                    a(\".thickcon\").append(\"<img src='\" + o.source + \"' width='\" + o.width + \"' height='\" + o.height + \"'>\");\r\n                    o.source = null;\r\n                    a(\".thickcon\").removeClass(o._loading);\r\n                    if (k) {\r\n                        k()\r\n                    }\r\n                    break;\r\n                case\"ajax\":\r\n                case\"json\":\r\n                    if (k) {\r\n                        k(o.source, a(\".thickcon\"), function() {\r\n                            a(\".thickcon\").removeClass(o._loading)\r\n                        })\r\n                    }\r\n                    break;\r\n                case\"iframe\":\r\n                    a(\"<iframe src='\" + o.source + \"' marginwidth='0' marginheight='0' frameborder='0' scrolling='no' style='width:\" + o.width + \"px;height:\" + o.height + \"px;border:0;'></iframe>\").appendTo(a(\".thickcon\"));\r\n                    a(\".thickcon\").removeClass(o._loading);\r\n                    if (k) {\r\n                        k()\r\n                    }\r\n                    break\r\n            }\r\n        };\r\n        var g = function() {\r\n            var q = o._thickPadding * 2 + o._thickBorder * 2 + parseInt(o.width),t = (o._titleOn ? a(\".thicktitle\").outerHeight() : 0) + a(\".thickcon\").outerHeight();\r\n            a(\".thickcon\").css({width:o.width,height:o.height,paddingLeft:o._thickPadding,paddingRight:o._thickPadding,borderLeft:o._thickBorder,borderRight:o._thickBorder});\r\n            a(\".thickbox\").css({width:q + \"px\",height:t + \"px\"});\r\n            a(\".thickbox\").jdPosition({mode:\"center\"});\r\n            if (a.browser.isIE6) {\r\n                var s = a(\".thickbox\").outerWidth(),u = a(\".thickbox\").outerHeight();\r\n                var p = a.browser.isMinW(s),r = a.browser.isMinH(u);\r\n                a(\".thickframe\").add(\".thickdiv\").css({width:p ? s : \"100%\",height:Math.max(a.browser.client().height, a.browser.client().bodyHeight) + \"px\"})\r\n            }\r\n        };\r\n        if (e != null) {\r\n            e.click(function() {\r\n                n(a(this));\r\n                return false\r\n            })\r\n        } else {\r\n            n()\r\n        }\r\n    };\r\n    a.jdThickBox = a.fn.jdThickBox\r\n})(jQuery);\r\nfunction jdThickBoxclose() {\r\n    $(\".thickclose\").trigger(\"click\")\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/js/login/login.js",
    "content": "function verc() {\r\n    $(\"#JD_Verification1\").click();\r\n}\r\nvar validateRegExp = {\r\n    intege: \"^-?[1-9]\\\\d*$\", //整数\r\n    intege1: \"^[1-9]\\\\d*$\", //正整数\r\n    intege2: \"^-[1-9]\\\\d*$\", //负整数\r\n    num: \"^([+-]?)\\\\d*\\\\.?\\\\d+$\", //数字\r\n    num1: \"^[1-9]\\\\d*|0$\", //正数（正整数 + 0）\r\n    num2: \"^-[1-9]\\\\d*|0$\", //负数（负整数 + 0）\r\n    ascii: \"^[\\\\x00-\\\\xFF]+$\", //仅ACSII字符\r\n    chinese: \"^[\\\\u4e00-\\\\u9fa5]+$\", //仅中文\r\n    date: \"^\\\\d{4}(\\\\-|\\\\/|\\.)\\\\d{1,2}\\\\1\\\\d{1,2}$\", //日期\r\n    email: \"^\\\\w+((-\\\\w+)|(\\\\.\\\\w+))*\\\\@[A-Za-z0-9]+((\\\\.|-)[A-Za-z0-9]+)*\\\\.[A-Za-z0-9]+$\", //邮件\r\n    letter: \"^[A-Za-z]+$\", //字母\r\n    letter_l: \"^[a-z]+$\", //小写字母\r\n    letter_u: \"^[A-Z]+$\", //大写字母\r\n    mobile: \"^0?(13|15|18|14)[0-9]{9}$\", //手机\r\n    notempty: \"^\\\\S+$\", //非空\r\n    password: \"^.*[A-Za-z0-9\\\\w_-]+.*$\", //密码\r\n    fullNumber: \"^[0-9]+$\", //数字\r\n    tel: \"^[0-9\\-()（）]{7,18}$\", //电话号码的函数(包括验证国内区号,国际区号,分机号)\r\n    url: \"^http[s]?:\\\\/\\\\/([\\\\w-]+\\\\.)+[\\\\w-]+([\\\\w-./?%&=]*)?$\", //url\r\n    username: \"^[A-Za-z0-9_\\\\-\\\\u4e00-\\\\u9fa5]+$\" //用户名\r\n};\r\n//主函数\r\n(function ($) {\r\n    $.fn.jdValidate = function (option, callback, def) {\r\n        var ele = this;\r\n        var id = ele.attr(\"id\");\r\n        var type = ele.attr(\"type\");\r\n        var rel = ele.attr(\"rel\");\r\n        var _onFocus = $(\"#\" + id + validateSettings.onFocus.container);\r\n        var _succeed = $(\"#\" + id + validateSettings.succeed.container);\r\n        var _isNull = $(\"#\" + id + validateSettings.isNull.container);\r\n        var _error = $(\"#\" + id + validateSettings.error.container);\r\n        if (def == true) {\r\n            var str = ele.val();\r\n            var tag = ele.attr(\"sta\");\r\n            if (str == \"\" || str == \"-1\") {\r\n                validateSettings.isNull.run({\r\n                    prompts: option,\r\n                    element: ele,\r\n                    isNullEle: _isNull,\r\n                    succeedEle: _succeed\r\n                }, option.isNull);\r\n            } else if (tag == 1 || tag == 2) {\r\n                return;\r\n            } else {\r\n                callback({\r\n                    prompts: option,\r\n                    element: ele,\r\n                    value: str,\r\n                    errorEle: _error,\r\n                    succeedEle: _succeed\r\n                });\r\n            }\r\n        } else {\r\n            if (typeof def == \"string\") {\r\n                ele.val(def);\r\n            }\r\n            if (type == \"checkbox\" || type == \"radio\") {\r\n                if (ele.attr(\"checked\") == true) {\r\n                    ele.attr(\"sta\", validateSettings.succeed.state);\r\n                }\r\n            }\r\n            switch (type) {\r\n                case \"text\":\r\n                case \"password\":\r\n                    ele.bind(\"focus\", function () {\r\n                        var str = ele.val();\r\n                        if (str == def) {\r\n                            ele.val(\"\");\r\n                        }\r\n                        if (id == \"pwd\") {\r\n                            $(\"#pwdstrength\").hide();\r\n                        }\r\n                        validateSettings.onFocus.run({\r\n                            prompts: option,\r\n                            element: ele,\r\n                            value: str,\r\n                            onFocusEle: _onFocus,\r\n                            succeedEle: _succeed\r\n                        }, option.onFocus);\r\n                    })\r\n                        .bind(\"blur\", function () {\r\n                            var str = ele.val();\r\n                            if (str == \"\") {\r\n                                ele.val(def);\r\n                            }\r\n                            if (validateRules.isNull(str)) {\r\n                                validateSettings.isNull.run({\r\n                                    prompts: option,\r\n                                    element: ele,\r\n                                    value: str,\r\n                                    isNullEle: _isNull,\r\n                                    succeedEle: _succeed\r\n                                }, \"\");\r\n                            } else {\r\n                                callback({\r\n                                    prompts: option,\r\n                                    element: ele,\r\n                                    value: str,\r\n                                    errorEle: _error,\r\n                                    isNullEle: _isNull,\r\n                                    succeedEle: _succeed\r\n                                });\r\n                            }\r\n                        });\r\n                    break;\r\n                default:\r\n                    if (rel && rel == \"select\") {\r\n                        ele.bind(\"change\", function () {\r\n                            var str = ele.val();\r\n                            callback({\r\n                                prompts: option,\r\n                                element: ele,\r\n                                value: str,\r\n                                errorEle: _error,\r\n                                isNullEle: _isNull,\r\n                                succeedEle: _succeed\r\n                            });\r\n                        })\r\n                    } else {\r\n                        ele.bind(\"click\", function () {\r\n                            callback({\r\n                                prompts: option,\r\n                                element: ele,\r\n                                errorEle: _error,\r\n                                isNullEle: _isNull,\r\n                                succeedEle: _succeed\r\n                            });\r\n                        })\r\n                    }\r\n                    break;\r\n            }\r\n        }\r\n    }\r\n})(jQuery);\r\n\r\n//配置\r\nvar validateSettings = {\r\n    onFocus: {\r\n        state: null,\r\n        container: \"_error\",\r\n        style: \"focus\",\r\n        run: function (option, str) {\r\n            if (!validateRules.checkType(option.element)) {\r\n                option.element.removeClass(validateSettings.INPUT_style2).addClass(validateSettings.INPUT_style1);\r\n            }\r\n            option.onFocusEle.removeClass().addClass(validateSettings.onFocus.style).html(str);\r\n        }\r\n    },\r\n    isNull: {\r\n        state: 0,\r\n        container: \"_error\",\r\n        style: \"null\",\r\n        run: function (option, str) {\r\n            option.element.attr(\"sta\", 0);\r\n            if (!validateRules.checkType(option.element)) {\r\n                if (str != \"\") {\r\n                    option.element.removeClass(validateSettings.INPUT_style1).addClass(validateSettings.INPUT_style2);\r\n                } else {\r\n                    option.element.removeClass(validateSettings.INPUT_style2).removeClass(validateSettings.INPUT_style1);\r\n                }\r\n            }\r\n            option.succeedEle.removeClass(validateSettings.succeed.style);\r\n            if (str != \"\") {\r\n                option.isNullEle.removeClass().addClass(validateSettings.isNull.style).html(str);\r\n            }\r\n        }\r\n    },\r\n    error: {\r\n        state: 1,\r\n        container: \"_error\",\r\n        style: \"error\",\r\n        run: function (option, str) {\r\n            option.element.attr(\"sta\", 1);\r\n            if (!validateRules.checkType(option.element)) {\r\n                option.element.removeClass(validateSettings.INPUT_style1).addClass(validateSettings.INPUT_style2);\r\n            }\r\n            option.succeedEle.removeClass(validateSettings.succeed.style);\r\n            option.errorEle.removeClass().addClass(validateSettings.error.style).html(str);\r\n        }\r\n    },\r\n    succeed: {\r\n        state: 2,\r\n        container: \"_succeed\",\r\n        style: \"succeed\",\r\n        run: function (option) {\r\n            option.element.attr(\"sta\", 2);\r\n            option.errorEle.empty();\r\n            if (!validateRules.checkType(option.element)) {\r\n                option.element.removeClass(validateSettings.INPUT_style1).removeClass(validateSettings.INPUT_style2);\r\n            }\r\n            option.succeedEle.addClass(validateSettings.succeed.style);\r\n        }\r\n    },\r\n    INPUT_style1: \"highlight1\",\r\n    INPUT_style2: \"highlight2\"\r\n};\r\n\r\n//验证规则\r\nvar validateRules = {\r\n    isNull: function (str) {\r\n        return (str == \"\" || typeof str != \"string\");\r\n    },\r\n    betweenLength: function (str, _min, _max) {\r\n        return (str.length >= _min && str.length <= _max);\r\n    },\r\n    isUid: function (str) {\r\n        return new RegExp(validateRegExp.username).test(str);\r\n    },\r\n    fullNumberName: function (str) {\r\n        return new RegExp(validateRegExp.fullNumber).test(str);\r\n    },\r\n    isEmail: function (str) {\r\n        return new RegExp(validateRegExp.email).test(str);\r\n    },\r\n    isTel: function (str) {\r\n        return new RegExp(validateRegExp.tel).test(str);\r\n    },\r\n    isMobile: function (str) {\r\n        return new RegExp(validateRegExp.mobile).test(str);\r\n    },\r\n    checkType: function (element) {\r\n        return (element.attr(\"type\") == \"checkbox\" || element.attr(\"type\") == \"radio\" || element.attr(\"rel\") == \"select\");\r\n    }\r\n};\r\n//验证文本\r\nvar validatePrompt = {\r\n    username: {\r\n        onFocus: \"6-20位字符，可由中文、英文、数字及“_”、“-”组成\",\r\n        succeed: \"\",\r\n        isNull: \"请输入用户名\",\r\n        error: {\r\n            beUsed: \"该用户名已被使用，请使用其它用户名注册，如果您是&quot;{1}&quot;，请<a href='../uc/login' class='flk13'>登录</a>\",\r\n            badLength: \"用户名长度只能在4-20位字符之间\",\r\n            badFormat: \"用户名只能由中文、英文、数字及“_”、“-”组成\",\r\n            fullNumberName: \"用户名不能全为数字\"\r\n        }\r\n    },\r\n    pwd: {\r\n        onFocus: \"6-20位字符，可使用字母、数字或符号的组合\",\r\n        succeed: \"\",\r\n        isNull: \"请输入密码\",\r\n        error: {\r\n            badLength: \"密码长度只能在6-20位字符之间\",\r\n            badFormat: \"密码只能由英文、数字及标点符号组成\",\r\n            simplePwd: \"密码太弱，有被盗风险，建议设置多种字符组成的复杂密码\"\r\n        }\r\n    },\r\n    authcode: {\r\n        onFocus: \"请输入图片中的字符，不区分大小写\",\r\n        succeed: \"\",\r\n        isNull: \"请输入验证码\",\r\n        error: \"验证码错误\"\r\n    },\r\n    empty: {\r\n        onFocus: \"\",\r\n        succeed: \"\",\r\n        isNull: \"\",\r\n        error: \"\"\r\n    }\r\n};\r\n\r\nvar nameold, emailold, authcodeold;\r\nvar namestate = false, emailstate = false, authcodestate = false;\r\n//回调函数\r\nvar validateFunction = {\r\n    authcode: function (option) {\r\n        validateSettings.succeed.run(option);\r\n        authcodestate = true;\r\n    },\r\n    FORM_submit: function (elements) {\r\n        var bool = true;\r\n        for (var i = 0; i < elements.length; i++) {\r\n            if ($(elements[i]).attr(\"sta\") == 2) {\r\n                bool = true;\r\n            } else {\r\n                bool = false;\r\n                break;\r\n            }\r\n        }\r\n        return bool;\r\n    }\r\n};\r\nfunction strTrim(str) {\r\n    return str.replace(/(^\\s*)|(\\s*$)/g, \"\");\r\n}\r\n//jdvalidate.newentry2013.js\r\n$.extend(validatePrompt, {\r\n    username: {\r\n        onFocus: \"\",\r\n        succeed: \"\",\r\n        isNull: \"用户名/已验证手机\",\r\n        error: \"不存在此用户名\"\r\n    }\r\n});\r\n$.extend(validateFunction, {\r\n    username: function (option) {\r\n        validateSettings.succeed.run(option);\r\n    },\r\n    pwd: function (option) {\r\n        validateSettings.succeed.run(option);\r\n    },\r\n\r\n    FORM_validate: function () {\r\n        if($(\"#chkOpenCtrl\").attr(\"checked\")==true){\r\n            var srcValue = $(\"#JD_Verification1\").attr(\"src\");\r\n            if (!srcValue) {\r\n                srcValue = $(\"#JD_Verification1\").attr(\"src2\");\r\n            }\r\n            var uuid = srcValue.split(\"&uid=\")[1].split(\"&\")[0];\r\n            $.ajax({\r\n                url: \"../uc/srand?r=\"+Math.random() + \"&uuid=\" + uuid,\r\n                type: \"GET\",\r\n                async: false,\r\n                success: function(result){\r\n                    if(result){\r\n                        var obj = eval(result);\r\n                        if (obj.failure) {\r\n                            $(\"#loginpwd_error\").html(\"页面异常，请刷新后重新提交\").show().attr({ \"class\": \"error\" });\r\n                            return false;\r\n                        }\r\n                        pgeditor.pwdSetSk(obj.info);\r\n                    }\r\n                }\r\n            });\r\n            $(\"#loginpwd\").val(pgeditor.pwdResult());\r\n            try{\r\n                $(\"#machineNet\").val(pgeditor.machineNetwork());\r\n                $(\"#machineCpu\").val(pgeditor.machineCPU());\r\n                $(\"#machineDisk\").val(pgeditor.machineDisk());\r\n            }catch(e){}\r\n        } else {\r\n            $(\"#loginpwd\").val($(\"#nloginpwd\").val());\r\n        }\r\n        $(\"#loginname\").jdValidate(validatePrompt.username, validateFunction.username, true);\r\n        $(\"#loginpwd\").jdValidate(validatePrompt.pwd, validateFunction.pwd, true);\r\n        return validateFunction.FORM_submit([\"#loginname\", \"#loginpwd\"]);\r\n    }\r\n});\r\nsetTimeout(function () {\r\n    if (!$(\"#loginname\").val()) {\r\n        $(\"#loginname\").get(0).focus();\r\n    }\r\n}, 0);\r\n\r\n$(\"#loginname\").jdValidate(validatePrompt.username, validateFunction.username);\r\n$(\"#loginpwd\").jdValidate(validatePrompt.empty, validateFunction.pwd);\r\n$(\"#nloginpwd\").jdValidate(validatePrompt.empty, validateFunction.pwd);\r\n$(\"#authcode\").jdValidate(validatePrompt.empty, validateFunction.authcode);\r\nfunction verc() {\r\n    $(\"#JD_Verification1\").click();\r\n}\r\n$(\"#loginname,#nloginpwd, #authcode\").bind('keyup', function (event) {\r\n    if (event.keyCode == 13) {\r\n        $(\"#loginsubmit\").click();\r\n    }\r\n});\r\n$(\"#loginsubmit\").click(function () {\r\n    var loginUrl = \"../uc/loginService\";\r\n    var flag = validateFunction.FORM_validate();\r\n    if (flag) {\r\n        var uuid = $(\"#uuid\").val();\r\n        $(this).attr({ \"disabled\": \"disabled\" });\r\n        var _username = $(\"#formlogin [name=username]\").val();\r\n        var _password = $(\"#formlogin [name=password]\").val();\r\n        $.ajax({\r\n            type: \"POST\",\r\n            url: \"/service/user/doLogin?r=\" + Math.random(),\r\n            contentType: \"application/x-www-form-urlencoded; charset=utf-8\",\r\n            data: {username:_username,password:_password},\r\n            dataType : \"json\",\r\n            error: function () {\r\n                $(\"#nloginpwd\").attr({ \"class\": \"text highlight2\" });\r\n                $(\"#loginpwd_error\").html(\"网络超时，请稍后再试\").show().attr({ \"class\": \"error\" });\r\n                $(\"#loginsubmit\").removeAttr(\"disabled\");\r\n                $this.removeAttr(\"disabled\");\r\n            },\r\n            success: function (result) {\r\n                if (result) {\r\n                    var obj = eval(result);\r\n                    if (obj.status == 200) {\r\n                    \tobj.success = \"http://www.migo.com/\";\r\n                        var isIE = !-[1,];\r\n                        if (isIE) {\r\n                            var link = document.createElement(\"a\");\r\n                            link.href = obj.success;\r\n                            link.style.display = 'none';\r\n                            document.body.appendChild(link);\r\n                            link.click();\r\n                        } else {\r\n                            window.location = obj.success;\r\n                        }\r\n                        return;\r\n                    }else{\r\n                    $(\"#loginsubmit\").removeAttr(\"disabled\");\r\n                    verc();\r\n                      $(\"#nloginpwd\").attr({ \"class\": \"text highlight2\" });\r\n                      $(\"#loginpwd_error\").html(\"账号或密码错误!\").show().attr({ \"class\": \"error\" });\r\n                    \t\r\n                    }\r\n//                    if (obj.transfer) {\r\n//                        window.location = obj.transfer + window.location.search;\r\n//                        return;\r\n//                    }\r\n//                    if(obj.venture){\r\n//                    \twindow.location = \"http://safe.jd.com/dangerousVerify/index.action?username=\" + obj.venture + \"&ReturnUrl=\"+ encodeURI(obj.ventureRet) + \"&t=\" + new Date().getTime();\r\n//                    \treturn;\r\n//                    }\r\n//                    if (obj.resetpwd) {\r\n//                        window.location = \"http://safe.jd.com/resetPwd/reset.action?username=\" + obj.resetpwd;\r\n//                        return;\r\n//                    }\r\n//                    $(\"#loginsubmit\").removeAttr(\"disabled\");\r\n//                    verc();\r\n//\r\n//                    if (obj.verifycode || obj.authcode1 || obj.authcode2) {\r\n//                        $(\"#bgDiv\").removeClass().addClass(\"mc lheight\");\r\n//                        $(\"#o-authcode\").show();\r\n//                    }\r\n//                    if (obj.authcode2) {\r\n//                        $(\"#loginname\").attr({ \"class\": \"text highlight2\" });\r\n//                        $(\"#loginname_error\").html(\"您的账号有安全隐患，建议您登录后修改为复杂密码\").show().attr({ \"class\": \"message\" });\r\n//                    }\r\n//                    if (obj.username) {\r\n//                        $(\"#loginname\").attr({ \"class\": \"text highlight2\" });\r\n//                        $(\"#loginname_error\").html(obj.username).show().attr({ \"class\": \"error\" });\r\n//                    }\r\n//                    if (obj.pwd) {\r\n//                        $(\"#nloginpwd\").attr({ \"class\": \"text highlight2\" });\r\n//                        $(\"#loginpwd_error\").html(obj.pwd).show().attr({ \"class\": \"error\" });\r\n//                    }\r\n//                    if (obj.emptyAuthcode) {\r\n//                        $(\"#bgDiv\").removeClass().addClass(\"mc lheight\");\r\n//                        $(\"#o-authcode\").show();\r\n//                        $(\"#authcode\").attr({ \"class\": \"text text-1 highlight2\" });\r\n//                        $(\"#authcode_error\").html(obj.emptyAuthcode).show().attr({ \"class\": \"error\" });\r\n//                    }\r\n                }\r\n            }\r\n        });\r\n    }\r\n});\r\n\r\nfunction loginNameOk() {\r\n    var loginName = $(\"#loginname\").val();\r\n    if (validateRules.isNull(loginName) || loginName == '用户名/邮箱/已验证手机') {\r\n        $(\"#loginname\").attr({ \"class\": \"text highlight2\" });\r\n        $(\"#loginname_error\").html(\"请输入用户名/邮箱/已验证手机\").show().attr({ \"class\": \"error\" });\r\n        return false;\r\n    }\r\n    return true;\r\n}\r\n\r\n$(\"#loginsubmitframe\").click(function () {\r\n    var flag = validateFunction.FORM_validate();\r\n    if (flag) {\r\n        var srcValue = $(\"#JD_Verification1\").attr(\"src\");\r\n        if (!srcValue) {\r\n            srcValue = $(\"#JD_Verification1\").attr(\"src2\");\r\n        }\r\n        var uuid = srcValue.split(\"&uid=\")[1].split(\"&\")[0];\r\n        $(this).attr({ \"disabled\": \"disabled\" });\r\n        $.ajax({\r\n            type: \"POST\",\r\n            url: \"../uc/loginService?nr=1&uuid=\" + uuid + \"&\" + location.search.substring(1) + \"&r=\" + Math.random(),\r\n            contentType: \"application/x-www-form-urlencoded; charset=utf-8\",\r\n            data: $(\"#formloginframe\").serialize(),\r\n            error: function () {\r\n                $(\"#nloginpwd\").attr({ \"class\": \"text highlight2\" });\r\n                $(\"#loginpwd_error\").html(\"网络超时，请稍后再试\").show().attr({ \"class\": \"error\" });\r\n                $(\"#loginsubmitframe\").removeAttr(\"disabled\");\r\n            },\r\n            success: function (result) {\r\n                if (result) {\r\n                    var obj = eval(result);\r\n                    if (obj.success || obj.transfer) {\r\n\r\n                        if (obj.notnr) {\r\n                            window.parent.jdModelCallCenter.init();\r\n                            return;\r\n                        }\r\n\r\n                        try {\r\n                            $.ajax({\r\n                                type: \"GET\",\r\n                                url: obj.success,\r\n                                dataType: \"jsonp\",\r\n                                timeout: 1000,\r\n                                success: function (result) {\r\n                                    window.parent.jdModelCallCenter.init();\r\n                                    return;\r\n                                }\r\n                            });\r\n                        } catch (e) {\r\n                            window.parent.jdModelCallCenter.init();\r\n                            return;\r\n                        }\r\n                    }\r\n                    if(obj.venture){                    \t\r\n                    \twindow.parent.location = \"http://safe.jd.com/dangerousVerify/index.action?username=\" + obj.venture + \"&ReturnUrl=\"+encodeURI(window.parent.location) + \"&t=\" + new Date().getTime();\r\n                    \treturn;\r\n                    }\r\n                    if (obj.resetpwd) {\r\n                        window.parent.location = \"http://safe.jd.com/resetPwd/reset.action?username=\" + obj.resetpwd;\r\n                        return;\r\n                    }\r\n                    $(\"#loginsubmitframe\").removeAttr(\"disabled\");\r\n                    verc();\r\n\r\n                    if (obj.verifycode || obj.authcode1 || obj.authcode2) {\r\n                        $(\"#o-authcode\").show();\r\n                    }\r\n                    if (obj.authcode2) {\r\n                        $(\"#loginname\").attr({ \"class\": \"text highlight2\" });\r\n                        $(\"#loginname_error\").html(\"您的账号有安全隐患，建议您登录后修改为复杂密码\").show().attr({ \"class\": \"message\" });\r\n                    }\r\n                    if (obj.username) {\r\n                        $(\"#loginname\").attr({ \"class\": \"text highlight2\" });\r\n                        $(\"#loginname_error\").html(obj.username).show().attr({ \"class\": \"error\" });\r\n                    }\r\n                    if (obj.pwd) {\r\n                        $(\"#nloginpwd\").attr({ \"class\": \"text highlight2\" });\r\n                        $(\"#loginpwd_error\").html(obj.pwd).show().attr({ \"class\": \"error\" });\r\n                    }\r\n                    if (obj.emptyAuthcode) {\r\n                        $(\"#authcode\").attr({ \"class\": \"text text-1 highlight2\" });\r\n                        $(\"#authcode_error\").html(obj.emptyAuthcode).show().attr({ \"class\": \"error\" });\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    }\r\n});\r\n$(\"#loginname,#nloginpwd, #authcode\").bind('keyup', function (event) {\r\n    if (event.keyCode == 13) {\r\n        $(\"#loginsubmitframe\").click();\r\n    }\r\n});\r\nvar authcodeShowed = false;\r\nfunction preCheck() {\r\n    var pin = $(\"#loginname\").val();\r\n    if (pin != null && pin.length > 0 && pin != '用户名/邮箱/已验证手机') {\r\n        var url = \"../user/preCheck.action?pin=\" + escape(pin) + \"&r=\" + Math.random();\r\n        $.getJSON(url, function (result) {\r\n            if (result) {\r\n                var obj = eval(result);\r\n                if (obj.authcode1 || obj.authcode2) {\r\n                    if (!authcodeShowed) {\r\n                        verc();\r\n                        $(\"#o-authcode\").show();\r\n                        authcodeShowed = true;\r\n                    }\r\n                }\r\n                if (obj.authcode2) {\r\n                    //$(\"#loginname\").attr({ \"class\":\"text highlight2\" });\r\n                    $(\"#loginname_error\").html(\"您的账号有安全隐患，建议您登录后修改为复杂密码\").show().attr({ \"class\": \"message\" });\r\n                }\r\n            }\r\n        })\r\n    }\r\n}\r\nfunction showBox() {\r\n    if(pgeditor.getLinkHtml()==\"nonsupport\"){\r\n        jQuery.jdThickBox({\r\n            type:\"text\",\r\n            title:\"提示\",\r\n            width:350,\r\n            height:90,\r\n            source:\"<div class=\\\"t-error\\\"><div class=\\\"mc\\\"><i></i><strong>抱歉，本控件仅支持window系统。</strong><span>用户点击“确定”可以关闭弹层。</span><div class=\\\"clr\\\"></div><div class=\\\"btn\\\" onclick='jdThickBoxclose();'>确定</div></div>\",\r\n            _autoReposi:true\r\n        });\r\n        return;\r\n    }\r\n    var dwl = \"<a href=\\\"http://static.360buyimg.com/securityctl/\"+pgeditor.getLinkHtml()+\"\\\">立即下载</a>\";\r\n    jQuery.jdThickBox({\r\n        type:\"text\",\r\n        title:\"提示\",\r\n        width:350,\r\n        height:130,\r\n        source:\"<div class=\\\"step step-0\\\"><div class=\\\"mc\\\"><p>安全控件可提高账户安全性，加密保护您的密码。<a href=\\\"http://help.jd.com/help/question-61.html\\\" style=\\\"color:#005EA7;cursor:pointer\\\" target=\\\"_blank\\\">了解更多&gt;</a></p><ul><li>立即下载</li><li>手动安装</li><li>刷新页面，继续购物</li></ul><div class=\\\"btn\\\">\"+dwl+\"</div></div></div>\",\r\n        _autoReposi:true\r\n    });\r\n}\r\nfunction inputSelect(){\r\n    if(!pgeditor.checkInstall()){\r\n        showBox();\r\n    } else {\r\n        if($(\"#chkOpenCtrl\").attr(\"checked\")){\r\n            $(\"#nloginpwd\").hide();\r\n            $(\"#sloginpwd\").show();\r\n            $(\"#nloginpwd\").val(\"\");\r\n        } else {\r\n            $(\"#sloginpwd\").hide();\r\n            $(\"#nloginpwd\").show();\r\n            pgeditor.pwdclear();\r\n        }\r\n    }\r\n}\r\nfunction updateCtl(){\r\n    $(\"#sloginpwd\").hide();\r\n    $(\"#nloginpwd\").show();\r\n    showBox();\r\n}\r\n$(\"#nloginpwd,#_ocx_password\").bind('focus',function(){\r\n    $(\"#loginpwd_error\").empty();\r\n    $(\"#loginpwd_error\").removeClass().addClass(\"hide\");\r\n});"
  },
  {
    "path": "migo-portal/src/main/webapp/js/migo.js",
    "content": "var TT = migo = {\r\n\tcheckLogin : function(){\r\n\t\tvar _token = $.cookie(\"MG_TOKEN\");\r\n\t\tif(!_token){\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\t$.ajax({\r\n\t\t\turl : \"http://sso.migo.com/do/user/\" + _token,\r\n\t\t\tdataType : \"jsonp\",\r\n\t\t\ttype : \"GET\",\r\n\t\t\tsuccess : function(data){\r\n\t\t\t\t\tvar html =data.username+\"，欢迎来到咪购！<a href=\\\"http://www.migo.com/user/logout.html\\\" class=\\\"link-logout\\\">[退出]</a>\";\r\n\t\t\t\t\t$(\"#loginbar\").html(html);\r\n\t\t\t\t}\r\n\r\n\r\n\t\t});\r\n\t}\r\n}\r\n\r\n$(function(){\r\n\t// 查看是否已经登录，如果已经登录查询登录信息\r\n\tTT.checkLogin();\r\n});"
  },
  {
    "path": "migo-portal/src/main/webapp/js/order.common.js",
    "content": "\r\n /**\r\n  * 返回text文本数据\r\n  * @param url\r\n  * @param param\r\n  * @param successDivId\r\n  * @param messageDivId\r\n  * @return\r\n  */\r\nfunction callText(url,param,successDivId,messageDivId){\r\n\treturn call(\"text\",url,param,successDivId,messageDivId);\r\n}\r\n\r\n/**\r\n  * 返回json数据\r\n  * @param url\r\n  * @param param\r\n  * @param successDivId\r\n  * @param messageDivId\r\n  * @return\r\n  */\r\n function callJson(url, param, successDivId, messageDivId) {\r\n     return call(\"json\", url, param, successDivId, messageDivId);\r\n }\r\n /**\r\n * 订单异步操作请求服务器Call\r\n * @param actionType 请求参数类型\r\n * @param url\r\n * @param param\r\n * @param successDivId\r\n * @param messageDivId\r\n */\r\nfunction call(callType,url,param,successDivId,messageDivId){\r\n\tvar isReturn = true;\r\n\tvar isSuccess = false;\r\n\tvar result = null;\r\n\tif(url.indexOf(\"?\") == -1){\r\n\t\turl = url + \"?rid=\"+Math.random();\r\n\t}\r\n\telse{\r\n\t\turl = url + \"&rid=\"+Math.random();\r\n\t}\r\n\tjQuery.ajax({ \r\n\t\ttype : \"POST\",\r\n\t\tdataType : callType,\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync: false,\r\n\t\tsuccess : function(dataResult,textStatus) {\r\n\t\t    //服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t\t\tif(textStatus == 5000){\r\n\t\t\t\tif(messageDivId != null){\r\n\t\t\t\t\tisReturn = false;\r\n\t\t\t\t    $(\"#\"+messageDivId).html(dataResult);\r\n\t\t\t\t}else{\r\n\t\t\t\t\talert(dataResult);\r\n\t\t\t\t\tisReturn = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t//成功后如果有divID直接放入div，没有则返回结果\r\n\t\t\telse{\r\n\t\t\t\tif(successDivId != null){\r\n\t\t\t\t\tisReturn = false;\r\n\t\t\t\t\t$(\"#\"+successDivId).html(dataResult);\r\n\t\t\t\t\tisSuccess = true;\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tresult =  dataResult;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\terror:function(XMLHttpResponse){\r\n\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n\t//如果没有处理结果则返回\r\n\tif(isReturn){\r\n\t   return result;\r\n\t}\r\n\t//如果div成功赋值后则返回ture\r\n\tif(isSuccess){\r\n\t\treturn true;\r\n\t}\r\n}\r\n\r\n/**\r\n * 判断是否是空\r\n * @param value\r\n */\r\nfunction isEmpty(value){\r\n\tif(value == null || value == \"\" || value == \"undefined\" || value == undefined || value == \"null\"){\r\n\t\treturn true;\r\n\t}\r\n\telse{\r\n\t\tvalue = value.replace(/\\s/g,\"\");\r\n\t\tif(value == \"\"){\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\n/**\r\n * 判断是否是数字\r\n */\r\nfunction isNumber(value){\r\n\tif(isNaN(value)){\r\n\t\treturn false;\r\n\t}\r\n\telse{\r\n\t\treturn true;\r\n\t}\r\n}\r\n\r\n/**\r\n * 只包含中文和英文\r\n * @param cs\r\n * @returns {Boolean}\r\n */\r\nfunction isGbOrEn(value){\r\n    var regu = \"^[a-zA-Z\\u4e00-\\u9fa5]+$\";\r\n    var re = new RegExp(regu);\r\n    if (value.search(re) != -1){\r\n      return true;\r\n    } else {\r\n      return false;\r\n    }\r\n}\r\n\r\n/**\r\n * 检查邮箱格式\r\n * @param email\r\n * @returns {Boolean}\r\n */\r\nfunction check_email(email){  \r\n   if(email){\r\n   var myReg=/(^\\s*)\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*(\\s*$)/;\r\n   if(!myReg.test(email)){return false;}\r\n   return true;\r\n   }\r\n   return false;\r\n}\r\n\r\n/**\r\n * 检查手机号码\r\n * @param mobile\r\n * @returns {Boolean}\r\n */\r\nfunction check_mobile(mobile){\r\n  var regu = /^\\d{11}$/;\r\n  var re = new RegExp(regu);\r\n  if(!re.test(mobile)){\r\n\t return  false;\r\n  }\r\n  return true;\r\n}\r\n\r\n/**\r\n * 验证电话号码，带\"(,),-\"字符和数字其他不通过\r\n * @param str\r\n * @returns {Boolean}\r\n */\r\nfunction checkPhone(str){\r\n   if(str.length > 20){\r\n    return false;\r\n   }\r\n   var patternStr = \"(0123456789-)\";\r\n   var  strlength=str.length; \r\n   for(var i=0;i<strlength;i++){ \r\n        var tempchar=str.substring(i,i+1); \r\n\t\tif(patternStr.indexOf(tempchar)<0){\r\n\t\t    return false;\r\n\t\t}\r\n   } \r\n   return true ; \r\n}\r\n\r\n\r\n/**\r\n * 验证银行账户，带\"(, ),-\"字符和数字其他不通过\r\n * @param str\r\n * @returns {Boolean}\r\n */\r\nfunction checkBankCount(str){\r\n   if(str.length > 50){\r\n    return false;\r\n   }\r\n   var patternStr = \"(0123456789- )\";\r\n   var  strlength=str.length; \r\n   for(var i=0;i<strlength;i++){ \r\n        var tempchar=str.substring(i,i+1); \r\n\t\tif(patternStr.indexOf(tempchar)<0){\r\n\t\t    return false;\r\n\t\t}\r\n   } \r\n   return true ; \r\n}\r\n\r\n//正则\r\nfunction trimTxt(txt){\r\n return txt.replace(/(^\\s*)|(\\s*$)/g, \"\");\r\n}\r\n/**\r\n * 检查是否含有非法字符\r\n * @param temp_str\r\n * @returns {Boolean}\r\n */\r\nfunction is_forbid(temp_str){\r\n    temp_str=trimTxt(temp_str);\r\n\ttemp_str = temp_str.replace('*',\"@\");\r\n\ttemp_str = temp_str.replace('--',\"@\");\r\n\ttemp_str = temp_str.replace('/',\"@\");\r\n\ttemp_str = temp_str.replace('+',\"@\");\r\n\ttemp_str = temp_str.replace('\\'',\"@\");\r\n\ttemp_str = temp_str.replace('\\\\',\"@\");\r\n\ttemp_str = temp_str.replace('$',\"@\");\r\n\ttemp_str = temp_str.replace('^',\"@\");\r\n\ttemp_str = temp_str.replace('.',\"@\");\r\n\ttemp_str = temp_str.replace(';',\"@\");\r\n\ttemp_str = temp_str.replace('<',\"@\");\r\n\ttemp_str = temp_str.replace('>',\"@\");\r\n\ttemp_str = temp_str.replace('\"',\"@\");\r\n\ttemp_str = temp_str.replace('=',\"@\");\r\n\ttemp_str = temp_str.replace('{',\"@\");\r\n\ttemp_str = temp_str.replace('}',\"@\");\r\n\tvar forbid_str=new String('@,%,~,&');\r\n\tvar forbid_array=new Array();\r\n\tforbid_array=forbid_str.split(',');\r\n\tfor(i=0;i<forbid_array.length;i++){\r\n\t\tif(temp_str.search(new RegExp(forbid_array[i])) != -1)\r\n\t\treturn false;\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n/**\r\n * 检查数量\r\n * @param txtObj\r\n * @returns {Number}\r\n */\r\nfunction checkLength(txtObj){\r\n\tvar val=txtObj;\r\n\tvar valLength=0;\r\n\tfor(var ii=0;ii<val.length;ii++){\r\n\t\tvar word=val.substring(ii,1);\r\n\t\tif(/[^\\x00-\\xff]/g.test(word)){\r\n\t\t\tvalLength+=2;\r\n\t\t}else{\r\n\t\t\tvalLength++;\r\n\t\t}\r\n\t}\r\n\treturn valLength;\r\n}\r\n/**\r\n * 配置公共参数\r\n * @returns {OrderAppConfig}\r\n */\r\nfunction OrderAppConfig(){\r\n}\r\nOrderAppConfig.Domain = \"http://\"+window.location.host;\r\nOrderAppConfig.DynamicDomain = \"http://\"+window.location.host+\"/dynamic\";\r\nOrderAppConfig.AsyncDomain = \"http://\"+window.location.host+\"/async\";\r\nOrderAppConfig.LoginUrl = \"http://passport.jd.com/new/login.aspx?ReturnUrl=\"+OrderAppConfig.Domain+\"/order/getOrderInfo.action\";\r\nOrderAppConfig.LoginLocUrl = \"http://passport.jd.com/new/login.aspx?ReturnUrl=\"+OrderAppConfig.Domain+\"/order/getLocOrderInfo.action\";\r\nOrderAppConfig.Module_Consignee = \"consignee\";\r\nOrderAppConfig.Module_PayAndShip = \"payment-ship\";\r\nOrderAppConfig.Module_Shipment = \"shipment\";\r\nOrderAppConfig.Module_Coupon = \"coupons\";\r\nOrderAppConfig.Module_GiftCard = \"gift\";\r\nOrderAppConfig.Module_GiftECard = \"ecard\";\r\nOrderAppConfig.Module_Invoice = \"part-invoice\";\r\nOrderAppConfig.Module_SkuList=\"span-skulist\";\r\n/**\r\n * 从url里获取对应参数值\r\n * @param paramName\r\n * @returns {String}\r\n */\r\nfunction getParam(paramName)\r\n{\r\n    var paramValue = \"\";\r\n    isFound = false;\r\n    if (this.location.search.indexOf(\"?\") == 0 && this.location.search.indexOf(\"=\")>1)\r\n    {\r\n        arrSource = unescape(this.location.search).substring(1,this.location.search.length).split(\"&\");\r\n        i = 0;\r\n        while (i < arrSource.length && !isFound)\r\n        {\r\n            if (arrSource[i].indexOf(\"=\") > 0)\r\n            {\r\n                 if (arrSource[i].split(\"=\")[0].toLowerCase()==paramName.toLowerCase())\r\n                 {\r\n                    paramValue = arrSource[i].split(\"=\")[1];\r\n                    isFound = true;\r\n                 }\r\n            }\r\n            i++;\r\n        }   \r\n    }\r\n\treturn paramValue;\r\n}\r\n\r\n\r\n/**\r\n * Get the value of a cookie with the given name.\r\n *\r\n * @example $.jCookie('the_cookie');\r\n * @desc Get the value of a cookie.\r\n *\r\n * @param String name The name of the cookie.\r\n * @return The value of the cookie.\r\n * @type String\r\n *\r\n * @name $.jCookie\r\n * @cat Plugins/Cookie\r\n * @author Klaus Hartl/klaus.hartl@stilbuero.de\r\n * \r\n * @modifiedBy jizhou\r\n * @modifiedDate 2012/1/6\r\n * @modifiedDesciption 遇到中文用escape和unescape进行转码和解码,为了和.net存入cookie的中文保持一致\r\n */\r\njQuery.jCookie = function(name, value, options) {\r\n    if (typeof value != 'undefined') { // name and value given, set cookie\r\n        options = options || {};\r\n        if (value === null) {\r\n            value = '';\r\n            options.expires = -1;\r\n        }\r\n        var expires = '';\r\n        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {\r\n            var date;\r\n            if (typeof options.expires == 'number') {\r\n                date = new Date();\r\n                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));\r\n            } else {\r\n                date = options.expires;\r\n            }\r\n            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE\r\n        }\r\n        var path = options.path ? '; path=' + options.path : '';\r\n        var domain = options.domain ? '; domain=' + options.domain : '';\r\n        var secure = options.secure ? '; secure' : '';\r\n        document.cookie = [name, '=', escape(value), expires, path, domain, secure].join('');\r\n    } else { // only name given, get cookie\r\n        var cookieValue = null;\r\n        if (document.cookie && document.cookie != '') {\r\n            var cookies = document.cookie.split(';');\r\n            for (var i = 0; i < cookies.length; i++) {\r\n                var cookie = jQuery.trim(cookies[i]);\r\n                // Does this cookie string begin with the name we want?\r\n                if (cookie.substring(0, name.length + 1) == (name + '=')) {\r\n                    cookieValue = unescape(cookie.substring(name.length + 1));\r\n                    break;\r\n                }\r\n            }\r\n        }\r\n        return cookieValue;\r\n    }\r\n};"
  },
  {
    "path": "migo-portal/src/main/webapp/js/order.js",
    "content": "//*************************公共方法和变量*************************\r\nvar errorUrl = OrderAppConfig.Domain + \"/orderBack.html?rid=\";\r\nvar cartUrl = \"http://cart.jd.com/cart/cart.html\";\r\nvar lipinkaPhysicalUrl = \"http://market.jd.com/giftcard/#entity\";\r\nvar orderUrl = OrderAppConfig.Domain + \"/order/getOrderInfo.action\";\r\nvar stepLoading = '<div class=\"step-loading\"><div class=\"loading-style1\"><b></b>正在加载中，请稍候...</div></div>';\r\n\r\n function check_Phone(divId){\r\n\t if($(\"#consignee_mobile\").val().length == 11) {\r\n\t\t value = $(\"#consignee_mobile\").val();\r\n\t\t if (check_mobile(value)) {\r\n\t\t\t $(\"#call_div_error\").hide();\r\n\t\t } else {\r\n\t\t\t $(\"#call_div_error\").show();\r\n\t\t }\r\n\t }\r\n}\r\n/**\r\n * 编辑公共方法\r\n * \r\n * @param name\r\n */\r\nfunction edit_before(name) {\r\n\tcleanSubmitMessage();\r\n\t// 备份之前html\r\n\tvar actionAfter = \"<span style='display:none'><a href=\\\"#none\\\" onclick=\\\"back_Before('\" + name\r\n\t\t\t+ \"')\\\">[关闭]</a></span>\";\r\n\tvar actionBefore = $(\"#\" + name + \"_edit_action\").html();\r\n\t$(\"#\" + name).html(stepLoading);\r\n\t$(\"#\" + name + \"_edit_action\").hide();\r\n\t$(\"#\" + name + \"_edit_action\").html(actionAfter);\r\n\t$(\"#\" + name + \"_back_action\").html(actionBefore);\r\n\t// 设置编辑打开变高亮\r\n\tstep_Openlight(name);\r\n\treturn true;\r\n}\r\n\r\n/**\r\n * 清除submit错误消息\r\n */\r\nfunction cleanSubmitMessage(){\r\n\t$(\"#submit_message\").html(\"\");\r\n\t$(\"#submit_message\").hide();\r\n}\r\n\r\n/**\r\n * 关闭公共方法\r\n */\r\nfunction back_Before(name) {\r\n\tvar newUser = $(\"#isOpenConsignee\").val();\r\n\tif(name==\"consignee\"&&(newUser==1||newUser==\"1\")){\r\n\t\talert(\"请填写收货人地址！\");\r\n\t\treturn false;\r\n\t}\r\n\tvar actionBefore = $(\"#\" + name + \"_back_action\").html();\r\n\tvar beforeHtml = $(\"#\" + name + \"_back\").html();\r\n\tif (beforeHtml != null) {\r\n\t\t$(\"#\" + name).html(beforeHtml);\r\n\t}\r\n\tif (actionBefore != null) {\r\n\t\t$(\"#\" + name + \"_edit_action\").html(actionBefore);\r\n\t}\r\n\t$(\"#\" + name + \"_edit_action\").show();\r\n\t// 设置关闭变灰\r\n\tset_CloseLight(name);\r\n\tremoveMessageTip();\r\n}\r\n\r\n/**\r\n * 点击保存公共方法,显示修改操作\r\n */\r\nfunction save_Module(name) {\r\n\r\n\tvar actionBefore = $(\"#\" + name + \"_back_action\").html();\r\n\t$(\"#\" + name + \"_edit_action\").html(actionBefore);\r\n\t// 设置关闭变灰\r\n\tset_CloseLight(name);\r\n\tremoveMessageTip();\r\n}\r\n\r\n\r\n/**\r\n * 设置高亮选中\r\n * \r\n * @param step\r\n */\r\nfunction step_Openlight(step) {\r\n\tif (step == OrderAppConfig.Module_Consignee) {\r\n\t\t$(\"#step-1\").addClass(\"step-current\");\r\n\t\t$(\"#\"+OrderAppConfig.Module_PayAndShip+\"_edit_action\").html(\"<font color='#B0B0B0'>如需修改，请先保存收货人信息</font>\");\r\n\t\t$(\"#\"+OrderAppConfig.Module_Invoice+\"_edit_action\").html(\"<font color='#B0B0B0'>如需修改，请先保存收货人信息</font>\");\r\n\t\t$(\"#submit_check_info_message\").html(\"<span>您需先保存<a style='color:#005EA7;' href='#consigneeFocus'>收货人信息</a>，再提交订单 <input type='hidden' id='anchor_info' value='consigneeFocus'></span>\").show();\r\n\t\t$(\"#order-submit\").attr(\"class\", \"checkout-submit-disabled\");\r\n\t} else if (step == OrderAppConfig.Module_PayAndShip) {\r\n\t\t$(\"#step-2\").addClass(\"step-current\");\r\n\t\t$(\"#\"+OrderAppConfig.Module_Consignee+\"_edit_action\").html(\"<font color='#B0B0B0'>如需修改，请先保存支付及配送方式</font>\");\r\n\t\t$(\"#\"+OrderAppConfig.Module_Invoice+\"_edit_action\").html(\"<font color='#B0B0B0'>如需修改，请先保存支付及配送方式</font>\");\r\n\t\t$(\"#submit_check_info_message\").html(\"<span>您需先保存<a style='color:#005EA7;' href='#payAndShipFocus'>支付及配送方式</a>，再提交订单  <input type='hidden' id='anchor_info' value='payAndShipFocus'></span>\").show();\r\n\t\t$(\"#order-submit\").attr(\"class\", \"checkout-submit-disabled\");\r\n\t} else if (step == OrderAppConfig.Module_Invoice) {\r\n\t\t$(\"#step-3\").addClass(\"step-current\");\r\n\t\t$(\"#\"+OrderAppConfig.Module_PayAndShip+\"_edit_action\").html(\"<font color='#B0B0B0'>如需修改，请先保存发票信息</font>\");\r\n\t\t$(\"#\"+OrderAppConfig.Module_Consignee+\"_edit_action\").html(\"<font color='#B0B0B0'>如需修改，请先保存发票信息</font>\");\r\n\t\t$(\"#submit_check_info_message\").html(\"<span>您需先保存<a style='color:#005EA7;' href='#invoiceFocus'>发票信息</a>，再提交订单 <input type='hidden' id='anchor_info' value='invoiceFocus'></span>\").show();\r\n\t\t$(\"#order-submit\").attr(\"class\", \"checkout-submit-disabled\");\r\n\t}\r\n}\r\n\r\n/**\r\n * 关闭高亮选中\r\n * \r\n * @param step\r\n */\r\nfunction set_CloseLight(step) {\r\n\tif (step == OrderAppConfig.Module_Consignee) {\r\n\t\t$(\"#step-1\").removeClass(\"step-current\");\r\n\t\t$(\"#\"+OrderAppConfig.Module_PayAndShip+\"_edit_action\").html(\"<a onclick='edit_Payment(false)' href='#none'>[修改]</a>\");\r\n\t\t$(\"#\"+OrderAppConfig.Module_Invoice+\"_edit_action\").html(\"<a onclick='edit_Invoice()' href='#none'>[修改]</a>\");\r\n\t\t$(\"#submit_check_info_message\").html(\"\").hide();\r\n\t\t$(\"#order-submit\").attr(\"class\", \"checkout-submit\");\r\n\t} else if (step == OrderAppConfig.Module_PayAndShip) {\r\n\t\t$(\"#step-2\").removeClass(\"step-current\");\r\n\t\t$(\"#\"+OrderAppConfig.Module_Consignee+\"_edit_action\").html(\"<a onclick='edit_Consignee()' href='#none'>[修改]</a>\");\r\n\t\t$(\"#\"+OrderAppConfig.Module_Invoice+\"_edit_action\").html(\"<a onclick='edit_Invoice()' href='#none'>[修改]</a>\");\r\n\t\t$(\"#submit_check_info_message\").html(\"\").hide();\r\n\t\t$(\"#order-submit\").attr(\"class\", \"checkout-submit\");\r\n\t} else if (step == OrderAppConfig.Module_Invoice) {\r\n\t\t$(\"#step-3\").removeClass(\"step-current\");\r\n\t\t$(\"#\"+OrderAppConfig.Module_PayAndShip+\"_edit_action\").html(\"<a onclick='edit_Payment()' href='#none'>[修改]</a>\");\r\n\t\t$(\"#\"+OrderAppConfig.Module_Consignee+\"_edit_action\").html(\"<a onclick='edit_Consignee()' href='#none'>[修改]</a>\");\t\r\n\t\t$(\"#submit_check_info_message\").html(\"\").hide();\r\n\t\t$(\"#order-submit\").attr(\"class\", \"checkout-submit\");\r\n\t}\r\n}\r\n\r\n\r\n/**\r\n * 用户向导提示\r\n * \r\n * @param step1\r\n * @param step2\r\n */\r\nfunction check_step(curStep) {\r\n\tvar steps = new Array(OrderAppConfig.Module_Consignee,\r\n\t\t\tOrderAppConfig.Module_Invoice, OrderAppConfig.Module_PayAndShip);\r\n\tfor ( var i = 0; i < steps.length; i++) {\r\n\t\tvar step = steps[i];\r\n\t\tif (step != curStep) {\r\n\t\t\tvar edit_Action = $(\"#\" + step + \"_edit_action\").html();\r\n\t\t\tif (edit_Action.indexOf(\"[关闭]\") > -1) {\r\n\t\t\t\tif (step == OrderAppConfig.Module_Consignee) {\r\n\t\t\t\t\talert(\"请保存收货人信息!\");\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t} else if (step == OrderAppConfig.Module_Invoice) {\r\n\t\t\t\t\talert(\"请保存发票信息!\");\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t} else if (step == OrderAppConfig.Module_PayAndShip) {\r\n\t\t\t\t\talert(\"请保存支付和配送信息!\");\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n/**\r\n * 判断服务是否返回有消息【此方法别动】\r\n * \r\n * @param data\r\n * @returns {Boolean}\r\n */\r\nfunction isHasMessage(data) {\r\n\tif (data.errorMessage) {\r\n\t\treturn true;\r\n\t} else {\r\n\t\ttry {\r\n\t\t\tif (data != null && data.indexOf(\"\\\"errorMessage\\\":\") > -1) {\r\n\t\t\t\tvar mesageObject = eval(\"(\" + data + \")\");\r\n\t\t\t\tif (mesageObject != null && mesageObject.errorMessage != null) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t} catch (e) {\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n}\r\n\r\n/**\r\n * 将消息返回【此方法别动】\r\n * \r\n * @param data\r\n * @return\r\n */\r\nfunction getMessage(data) {\r\n\tif (data.errorMessage) {\r\n\t\treturn data.errorMessage;\r\n\t} else {\r\n\t\ttry {\r\n\t\t\tvar mesageObject = eval(\"(\" + data + \")\");\r\n\t\t\tif (mesageObject != null && mesageObject.errorMessage != null\r\n\t\t\t\t\t&& mesageObject.errorMessage != \"\") {\r\n\t\t\t\treturn mesageObject.errorMessage;\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t}\r\n\t}\r\n\treturn null;\r\n}\r\n\r\n/**\r\n * 判断用户是否登录【此方法别动】\r\n */\r\nfunction isUserNotLogin(data) {\r\n\tif (data.error == \"NotLogin\") {\r\n\t\treturn true;\r\n\t} else {\r\n\t\ttry {\r\n\t\t\tvar obj = eval(\"(\" + data + \")\");\r\n\t\t\tif (obj != null && obj.error != null && obj.error == \"NotLogin\") {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n}\r\n\r\n/**\r\n * 去登录页面\r\n */\r\nfunction goToLogin() {\r\n\tif(isLocBuy()){\r\n\t\twindow.location.href = OrderAppConfig.LoginLocUrl + \"?rid=\" + Math.random();\r\n\t}else{\r\n\t\twindow.location.href = OrderAppConfig.LoginUrl + \"?rid=\" + Math.random();\r\n\t}\r\n}\r\n\r\n/**\r\n * 去购物车页面\r\n */\r\nfunction goCart() {\r\n    if(isLipinkaPhysical()){\r\n        window.location.href = lipinkaPhysicalUrl;\r\n    }else{\r\n        window.location.href = cartUrl + \"?rid=\" + Math.random();\r\n    }\r\n\r\n}\r\n/**\r\n * 刷新结算页面\r\n */\r\nfunction goOrder() {\r\n    if(isLipinkaPhysical()){\r\n        window.location.href =  OrderAppConfig.Domain + \"/order/getLipinkaPhysicalOrderInfo.action?rid=\" + Math.random();\r\n    }else{\r\n        window.location.href = orderUrl + \"?rid=\" + Math.random();\r\n    }\r\n\r\n}\r\n\r\n\r\n// ******************************************************收货地址开始**************************************************************\r\n\r\n/**\r\n * 编辑收货人地址\r\n * \r\n * @param consigneeId\r\n */\r\nfunction edit_Consignee(selectId) {\r\n\t// 保存修改前的值\r\n\tif (!edit_before(OrderAppConfig.Module_Consignee)) {\r\n\t\treturn;\r\n\t}\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/editConsignee.action\";\r\n\tvar consigneeId = $(\"#consignee_id\").val();\r\n\tif (isEmpty(consigneeId)) {\r\n\t\tconsigneeId = 0;\r\n\t}\r\n\tvar param = \"consigneeParam.id=\" + consigneeId;\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\tgoToLogin();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t\tif (isHasMessage(dataResult)) {\r\n\t\t\tvar message = getMessage(dataResult);\r\n\t\t\talert(message);\r\n\t\t\tback_Before(OrderAppConfig.Module_Consignee);\r\n\t\t}\r\n\t\t// 成功后如果有divID直接放入div，没有则返回结果\r\n\t\telse {\r\n\t\t\t$(\"#\"+OrderAppConfig.Module_Consignee+\"_edit_action\").html(\"<a href='#none' id='saveConsigneeTitleMinDiv'  style='color:#005EA7;'  onclick='save_Consignee()'>保存收货人信息</a>\");\r\n\t\t\t$(\"#\" + OrderAppConfig.Module_Consignee + \"_edit_action\").show();\r\n\t\t\t$(\"#\" + OrderAppConfig.Module_Consignee).html(dataResult);\r\n\t\t\titemListOver.init(\"#consignee-list\");\r\n\t\t\tvar isNewUser=$(\"#consignee_radio_new\").attr(\"checked\");\r\n\t\t\tif(isNewUser){\r\n\t\t\t\tvar provinceId = $(\"#consignee_province\").find(\"option:selected\").val();\r\n\t\t\t\tif(isEmpty(provinceId)){\r\n\t\t\t\t\tloadProvinces();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif( !isEmpty(selectId) && isNumber(selectId)){\r\n\t\t\t\tshow_ConsigneeDetail(selectId,\"showMessage\");\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t},\r\n\terror : function(XMLHttpResponse) {\r\n\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\tback_Before(OrderAppConfig.Module_Consignee);\r\n\t}\r\n\t});\r\n}\r\n\r\n\r\n/**\r\n * 设置当前常用收货地址变高亮，其他不亮\r\n * \r\n * @param id\r\n */\r\nfunction set_CurrentConsignee(id) {\r\n\tvar parentDiv = $(\"#consignee_radio_\" + id).parent();\r\n\tvar indexNumCurrent = parentDiv.attr(\"index\").split(\"_\")[2];\r\n\tvar consigneeList = $(\"#consignee-list\");\r\n\tconsigneeList.find(\".item\").each(function() {\r\n\t\tif ($(this).attr(\"index\") == null) {\r\n\t\t\t$(this).attr(\"class\", \"item\");\r\n\t\t} else {\r\n\t\t\tvar indexNum = $(this).attr(\"index\").split(\"_\")[2];\r\n\t\t\tif (indexNumCurrent == indexNum) {\r\n\t\t\t\t$(this).attr(\"class\", \"item item-selected\");\r\n\t\t\t} else {\r\n\t\t\t\tif (parseInt(indexNum) > 5) {\r\n\t\t\t\t\t$(this).attr(\"class\", \"item item-fore hide\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(this).attr(\"class\", \"item\");\r\n\t\t\t\t}\r\n\t\t\t\ttry {\r\n\t\t\t\t\t$(this).find(\"span\").eq(0).hide();\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\t$(\"#consignee_radio_\" + id).attr(\"checked\", \"checked\");\r\n\t$(\"#consignee_radio_\" + id).parents(\".item\").find(\".item-action\").show()\r\n\t\t\t.removeClass(\"hide\");\r\n}\r\n\r\n/**\r\n * 选择常用收货人地址\r\n * \r\n * @param id\r\n */\r\nfunction chose_Consignee(id) {\r\n\t$(\"#consignee-form\").hide();\r\n\t$(\"#use-new-address\").attr(\"class\", \"item\");\r\n\t$(\"#consignee_radio_\" + id).attr(\"checked\", \"checked\");\r\n\t$(\"#addNumLimitNote\").css(\"display\", \"none\");\r\n\tset_CurrentConsignee(id);\r\n\tvar address = $(\"#hidden_consignee_address_\" + id).val();\r\n\tif (isEmpty(address)) {\r\n\t\tloadAllAreaName(id);\r\n\t}\r\n\topen_easyBuyConsignee(id);\r\n}\r\n\r\n/**\r\n * 加载四级地址名称\r\n * \r\n * @param id\r\n */\r\nfunction loadAllAreaName(id) {\r\n\tvar address = null;\r\n\tvar consignee_where = $(\"#hidden_consignee_where_\" + id).val();\r\n\tvar provinceId = $(\"#hidden_consignee_provinceId_\" + id).val();\r\n\tvar cityId = $(\"#hidden_consignee_cityId_\" + id).val();\r\n\tvar countyId = $(\"#hidden_consignee_countyId_\" + id).val();\r\n\tvar townId = $(\"#hidden_consignee_townId_\" + id).val();\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/loadAreaName.action\";\r\n\tvar param = \"consigneeParam.provinceId=\" + provinceId\r\n\t\t\t+ \"&consigneeParam.cityId=\" + cityId + \"&consigneeParam.countyId=\"\r\n\t\t\t+ countyId + \"&consigneeParam.townId=\" + townId;\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\tgoToLogin();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (isHasMessage(dataResult)) {\r\n\t\t\tvar message = getMessage(dataResult);\r\n\t\t\talert(message);\r\n\t\t} else {\r\n\t\t\taddress = consignee_where.replace(dataResult, \"\");\r\n\t\t\t$(\"#hidden_consignee_address_\" + id).val(address);\r\n\t\t}\r\n\t},\r\n\terror : function(XMLHttpResponse) {\r\n\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\treturn false;\r\n\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 编辑常用收货地址,展开对应信息\r\n */\r\nfunction show_ConsigneeDetail(id,showMessage) {\r\n\t// 隐藏20个数量的限制的提示\r\n\t$(\"#addNumLimitNote\").css(\"display\", \"none\");\r\n\r\n\t$(\"#consignee-form\").show();\r\n\t// 设置收货地址详细值\r\n\t$(\"#consignee_radio_\" + id).attr(\"checked\", \"checked\");\r\n\tvar consignee_id = $(\"#hidden_consignee_id_\" + id).val();\r\n\tvar consignee_type = $(\"#hidden_consignee_type_\" + id).val();\r\n\tvar consignee_name = $(\"#hidden_consignee_name_\" + id).val();\r\n\tvar consignee_provinceName = $(\"#hidden_consignee_provinceName_\" + id)\r\n\t\t\t.val();\r\n\tvar consignee_cityName = $(\"#hidden_consignee_cityName_\" + id).val();\r\n\tvar consignee_countyName = $(\"#hidden_consignee_countyName_\" + id).val();\r\n\tvar consignee_townName = $(\"#hidden_consignee_townName_\" + id).val();\r\n\tvar consignee_provinceId = $(\"#hidden_consignee_provinceId_\" + id).val();\r\n\tvar consignee_cityId = $(\"#hidden_consignee_cityId_\" + id).val();\r\n\tvar consignee_countyId = $(\"#hidden_consignee_countyId_\" + id).val();\r\n\tvar consignee_townId = $(\"#hidden_consignee_townId_\" + id).val();\r\n\tvar consignee_email = $(\"#hidden_consignee_email_\" + id).val();\r\n\tvar consignee_mobile = $(\"#hidden_consignee_mobile_\" + id).val();\r\n\tvar consignee_address = $(\"#hidden_consignee_address_\" + id).val();\r\n\tvar consignee_phone = $(\"#hidden_consignee_phone_\" + id).val();\r\n\t$(\"#consignee_form_id\").val(consignee_id);\r\n\t$(\"#consignee_type\").val(consignee_type);\r\n\t$(\"#consignee_name\").val(consignee_name);\r\n\t$(\"#consignee_email\").val(consignee_email);\r\n\t$(\"#consignee_phone\").val(consignee_phone);\r\n\t$(\"#consignee_mobile\").val(consignee_mobile);\r\n\t$(\"#consignee_address\").val(consignee_address);\r\n\t$(\"#consignee-form\").show();\r\n\t// 展开三级地址\r\n\t$(\"#consignee_province\").empty();\r\n\t$(\"#consignee_city\").empty();\r\n\t$(\"#consignee_county\").empty();\r\n\t$(\"#consignee_town\").empty();\r\n\t$(\"#consignee_province\").append(\r\n\t\t\t\"<option value='\" + consignee_provinceId + \"' selected >\"\r\n\t\t\t\t\t+ consignee_provinceName + \"</option>\");\r\n\t$(\"#consignee_city\").append(\r\n\t\t\t\"<option value='\" + consignee_cityId + \"' selected >\"\r\n\t\t\t\t\t+ consignee_cityName + \"</option>\");\r\n\t$(\"#consignee_county\").append(\r\n\t\t\t\"<option value='\" + consignee_countyId + \"' selected >\"\r\n\t\t\t\t\t+ consignee_countyName + \"</option>\");\r\n\t// 判断是否有四级地址，如果有则加载四级地址信息\r\n\tif (consignee_townId != null && consignee_townId != \"0\"\r\n\t\t\t&& !isNaN(consignee_townId)) {\r\n\t\t$(\"#consignee_town\").append(\r\n\t\t\t\t\"<option value='\" + consignee_townId + \"' selected >\"\r\n\t\t\t\t\t\t+ consignee_townName + \"</option>\");\r\n\t\t$(\"#span_town\").show();\r\n\t}\r\n\t$(\"#use-new-address\").attr(\"class\", \"item\");\r\n\tset_CurrentConsignee(id);\r\n\tremoveConsingeeMessage();\r\n\tif(!isEmpty(showMessage) && showMessage == \"showMessage\"){\r\n\t\t$(\"#area_div\").addClass(\"message\");\r\n\t\t$(\"#area_div_error\").html(\"请重新选择地址信息\");\r\n\t}\r\n\t// 异步加载四级地址\r\n\tloadAreaDetail(id, consignee_provinceId, consignee_cityId,\r\n\t\t\tconsignee_countyId, consignee_townId);\r\n}\r\n\r\n/**\r\n * 删除收货人验证提示信息\r\n */\r\nfunction removeConsingeeMessage() {\r\n\t$(\"#name_div\").removeClass(\"message\");\r\n\t$(\"#area_div\").removeClass(\"message\");\r\n\t$(\"#address_div\").removeClass(\"message\");\r\n\t$(\"#call_div\").removeClass(\"message\");\r\n\t$(\"#email_div\").removeClass(\"message\");\r\n\t$(\"#name_div_error\").html(\"\");\r\n\t$(\"#area_div_error\").html(\"\");\r\n\t$(\"#address_div_error\").html(\"\");\r\n\t$(\"#call_div_error\").html(\"\");\r\n\t$(\"#email_div_error\").html(\"\");\r\n}\r\n\r\n/**\r\n * 加载四级地址，并选中默认值\r\n * \r\n * @param provinceId\r\n * @param cityId\r\n * @param countyId\r\n * @param townId\r\n */\r\nfunction loadAreaDetail(id, provinceId, cityId, countyId, townId) {\r\n\tvar param = \"consigneeParam.provinceId=\" + provinceId\r\n\t\t\t+ \"&consigneeParam.cityId=\" + cityId + \"&consigneeParam.countyId=\"\r\n\t\t\t+ countyId + \"&consigneeParam.townId=\" + townId;\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/loadAllAreas.action\";\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\tgoToLogin();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (isHasMessage(dataResult)) {\r\n\t\t\tvar message = getMessage(dataResult);\r\n\t\t\talert(message);\r\n\t\t} else {\r\n\t\t\t$(\"#span_area\").html(dataResult);\r\n\t\t\t// 如果有地址则直接赋值\r\n\t\tvar address = $(\"#hidden_consignee_address_\" + id).val();\r\n\t\tvar provinceName = $(\"#consignee_province\").find(\"option:selected\").text();\r\n\t\tvar countyName = $(\"#consignee_county\").find(\"option:selected\").text();\r\n\t\tvar cityName = $(\"#consignee_city\").find(\"option:selected\").text();\r\n\t\tvar townName = $(\"#consignee_town\").find(\"option:selected\").text();\r\n\t\tprovinceName = provinceName.replace(\"*\", \"\");\r\n\t\tcityName = cityName.replace(\"*\", \"\");\r\n\t\tcountyName = countyName.replace(\"*\", \"\");\r\n\t\tvar areaName = provinceName + cityName + countyName;\r\n\t\tif (townId > 0 && !isEmpty(townName)) {\r\n\t\t\ttownName = townName.replace(\"*\", \"\");\r\n\t\t\tareaName = areaName + townName;\r\n\t\t}\r\n\t\t// 没有地址重新赋值\r\n\t\tif (isEmpty(address)) {\r\n\t\t\taddress = $(\"#hidden_consignee_where_\" + id).val();\t\t\r\n\t\t\taddress = address.replace(areaName, \"\");\r\n\t\t}\r\n\t\t$(\"#consignee_address\").val(address);\r\n\t\t$(\"#areaNameTxt\").text(areaName);\r\n\t\t$(\"#codHelpUrl\").attr(\"href\",\"http://help.jd.com/help/distribution-768-\"+provinceId+\"-\"+cityId+\"-\"+countyId+\"-\"+(isEmpty(townId)?0:townId)+\"-\"+(new Date()).getTime()+\".html\");\r\n\t}\r\n},\r\nerror : function(XMLHttpResponse) {\r\n\talert(\"系统繁忙，请稍后再试！\");\r\n\treturn false;\r\n}\r\n\t});\r\n}\r\n\r\n/**\r\n * 获取省份列表\r\n */\r\nfunction loadProvinces() {\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/getProvinces.action\";\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : actionUrl,\r\n\t\tdata : null,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\tvar message = getMessage(dataResult);\r\n\t\t\t\talert(message);\r\n\t\t\t} else {\r\n\t\t\t\t$(\"#span_province\").html(dataResult);\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 获取城市列表\r\n */\r\nfunction loadCitys() {\r\n\tvar provinceId = $(\"#consignee_province\").find(\"option:selected\").val();\r\n\tvar provinceName=isEmpty(provinceId)?\"\":$(\"#consignee_province\").find(\"option:selected\").text().replace(\"*\",\"\");\r\n\t$(\"#areaNameTxt\").html(provinceName);\r\n\t$(\"#codHelpUrl\").attr(\"href\",\"http://help.jd.com/help/distribution-768-\"+(isEmpty(provinceId)?0:provinceId)+\"-\"+0+\"-\"+0+\"-\"+0+\"-\"+(new Date()).getTime()+\".html\");\r\n\tif (provinceId == null || provinceId == \"\") {\r\n\t\t$(\"#span_city\")\r\n\t\t\t\t.html(\r\n\t\t\t\t\t\t\"<select id=\\\"consignee_city\\\" name=\\\"consigneeParam.city\\\"><option selected=\\\"\\\" value=\\\"\\\">请选择：</option></select>\");\r\n\t\t$(\"#span_county\")\r\n\t\t\t\t.html(\r\n\t\t\t\t\t\t\"<select id=\\\"consignee_county\\\" name=\\\"consigneeParam.countyId\\\"><option selected=\\\"\\\" value=\\\"\\\">请选择：</option></select>\");\r\n\t\t$(\"#span_town\").html(\"\");\r\n\t\treturn;\r\n\t}\r\n\tvar param = \"consigneeParam.provinceId=\" + provinceId;\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/getCitys.action\";\r\n\tjQuery\r\n\t\t\t.ajax( {\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\tdataType : \"text\",\r\n\t\t\t\turl : actionUrl,\r\n\t\t\t\tdata : param,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t\t// 没有登录跳登录\r\n\t\t\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\t\t\tvar message = getMessage(dataResult);\r\n\t\t\t\t\t\talert(message);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$(\"#span_city\").html(dataResult);\r\n\t\t\t\t\t\t$(\"#span_county\")\r\n\t\t\t\t\t\t\t\t.html(\r\n\t\t\t\t\t\t\t\t\t\t\"<select id=\\\"consignee_county\\\" name=\\\"consigneeParam.countyId\\\"><option selected=\\\"\\\" value=\\\"\\\">请选择：</option></select>\");\r\n\t\t\t\t\t\t$(\"#span_town\").html(\"\");\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n}\r\n\r\n/**\r\n * 获取县级列表\r\n */\r\nfunction loadCountys() {\r\n\tvar cityId = $(\"#consignee_city\").find(\"option:selected\").val();\r\n\tvar provinceName=$(\"#consignee_province\").find(\"option:selected\").text().replace(\"*\",\"\");\r\n\tvar cityName = isEmpty(cityId)? \"\": $(\"#consignee_city\").find(\"option:selected\").text().replace(\"*\",\"\");\r\n\t$(\"#areaNameTxt\").text(provinceName+cityName);\r\n\t$(\"#codHelpUrl\").attr(\"href\",\"http://help.jd.com/help/distribution-768-\"+$(\"#consignee_province\").find(\"option:selected\").val()+\"-\"+(isEmpty(cityId)?0:cityId)+\"-\"+0+\"-\"+0+\"-\"+(new Date()).getTime()+\".html\");\r\n\tvar param = \"consigneeParam.cityId=\" + cityId;\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/getCountys.action\";\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\tgoToLogin();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (isHasMessage(dataResult)) {\r\n\t\t\tvar message = getMessage(dataResult);\r\n\t\t\talert(message);\r\n\t\t} else {\r\n\t\t\tif (dataResult != null) {\r\n\t\t\t\t$(\"#span_county\").html(dataResult);\r\n\t\t\t\t$(\"#span_town\").html(\"\");\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\terror : function(XMLHttpResponse) {\r\n\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\treturn false;\r\n\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 获取乡镇街道列表\r\n */\r\nfunction loadTowns() {\r\n\tvar countyId = $(\"#consignee_county\").find(\"option:selected\").val();\r\n\tvar provinceName=$(\"#consignee_province\").find(\"option:selected\").text().replace(\"*\",\"\");\r\n\tvar cityName =  $(\"#consignee_city\").find(\"option:selected\").text().replace(\"*\",\"\");\r\n\tvar countyName =isEmpty(countyId)? \"\": $(\"#consignee_county\").find(\"option:selected\").text().replace(\"*\",\"\");\r\n\t$(\"#areaNameTxt\").text(provinceName+cityName+countyName);\r\n\t$(\"#codHelpUrl\").attr(\"href\",\"http://help.jd.com/help/distribution-768-\"+$(\"#consignee_province\").find(\"option:selected\").val()+\"-\"+$(\"#consignee_city\").find(\"option:selected\").val()+\"-\"+(isEmpty(countyId)?0:countyId)+\"-\"+0+\"-\"+(new Date()).getTime()+\".html\");\r\n\r\n\tvar param = \"consigneeParam.countyId=\" + countyId;\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/getTowns.action\";\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\tgoToLogin();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (isHasMessage(dataResult)) {\r\n\t\t\tvar message = getMessage(dataResult);\r\n\t\t\talert(message);\r\n\t\t} else {\r\n\t\t\tif (dataResult != null && dataResult != \"area_empty\") {\r\n\t\t\t\t$(\"#span_town\").html(dataResult);\r\n\t\t\t\t$(\"#span_town\").show();\r\n\t\t\t} else {\r\n\t\t\t\t$(\"#span_town\").html(\"\");\r\n\t\t\t\t$(\"#span_town\").hide();\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\terror : function(XMLHttpResponse) {\r\n\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\treturn false;\r\n\t}\r\n\t});\r\n}\r\n\r\nfunction setTownName(){\r\n\tvar provinceName=$(\"#consignee_province\").find(\"option:selected\").text().replace(\"*\",\"\");\r\n\tvar cityName =  $(\"#consignee_city\").find(\"option:selected\").text().replace(\"*\",\"\");\r\n\tvar countyName = $(\"#consignee_county\").find(\"option:selected\").text().replace(\"*\",\"\");\r\n\tvar townName = $(\"#consignee_town\").find(\"option:selected\").text().replace(\"*\",\"\");\r\n\t\r\n\tvar provinceId=$(\"#consignee_province\").find(\"option:selected\").val();\r\n\tvar cityId =  $(\"#consignee_city\").find(\"option:selected\").val();\r\n\tvar countyId = $(\"#consignee_county\").find(\"option:selected\").val();\r\n\tvar townId = $(\"#consignee_town\").find(\"option:selected\").val();\r\n\t$(\"#areaNameTxt\").text(provinceName+cityName+countyName+townName);\r\n\t$(\"#codHelpUrl\").attr(\"href\",\"http://help.jd.com/help/distribution-768-\"+provinceId+\"-\"+cityId+\"-\"+countyId+\"-\"+(isEmpty(townId)?0:townId)+\"-\"+(new Date()).getTime()+\".html\");\r\n\r\n}\r\n\r\n/**\r\n * 删除收货人地址\r\n */\r\nfunction delete_Consignee(id) {\r\n\tvar param = \"consigneeParam.id=\" + id;\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/deleteConsignee.action\";\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax( {\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\tdataType : \"json\",\r\n\t\t\t\turl : actionUrl,\r\n\t\t\t\tdata : param,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t\t// 没有登录跳登录\r\n\t\t\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\t\t\talert(getMessage(dataResult));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvar index = 0;\r\n\t\t\t\t\t\tvar commonConsigeeSize = $(\"#hidden_consignees_size\")\r\n\t\t\t\t\t\t\t\t.val();\r\n\t\t\t\t\t\tvar consigneeSize = parseInt(commonConsigeeSize);\r\n\t\t\t\t\t\tif (consigneeSize > 0) {\r\n\t\t\t\t\t\t\tconsigneeSize = consigneeSize - 1;\r\n\t\t\t\t\t\t\t$(\"#hidden_consignees_size\")\r\n\t\t\t\t\t\t\t\t\t.val(\"\" + consigneeSize);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif ($(\"#consignee-list\").find(\".hookbox\").size() == 1) {\r\n\t\t\t\t\t\t\t$(\"#consignee_radio_\" + id).parent().remove();\r\n\t\t\t\t\t\t\tuse_NewConsignee();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t$(\"#consignee_radio_\" + id).parent().remove();\r\n\t\t\t\t\t\t\t// 改变索引\r\n\t\t\t\t\t\t\t$(\"#consignee-list\")\r\n\t\t\t\t\t\t\t\t\t.find(\"div\")\r\n\t\t\t\t\t\t\t\t\t.each(\r\n\t\t\t\t\t\t\t\t\t\t\tfunction() {\r\n\t\t\t\t\t\t\t\t\t\t\t\tif ($(this).attr(\"index\") != null) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex = index + 1;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t$(this).attr(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"index\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"consignee_index_\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ index);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t// 如果没有选中的则默认选中第一个地址\r\n\t\t\t\t\t\t\tif ($(\"#consignee-list\").find(\".hookbox\").size() > 0\r\n\t\t\t\t\t\t\t\t\t&& $(\"#consignee-list\").find(\r\n\t\t\t\t\t\t\t\t\t\t\t\".hookbox[checked]\").size() == 0) {\r\n\t\t\t\t\t\t\t\tvar consigneeId = $(\"#consignee-list\").find(\r\n\t\t\t\t\t\t\t\t\t\t\".hookbox\").eq(0).val();\r\n\t\t\t\t\t\t\t\t// 选择下一个收货地址\r\n\t\t\t\t\t\t\t\tif (consigneeId != null && consigneeId != \"\"\r\n\t\t\t\t\t\t\t\t\t\t&& parseInt(consigneeId) > 0) {\r\n\t\t\t\t\t\t\t\t\tchose_Consignee(consigneeId);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t// 重新刷新常用地址（删除后重新显示前五个）\r\n\t\t\t\t\t\t\trefresh_Consignee();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n}\r\n\r\n/**\r\n * 检查地址是否是最大数量\r\n * \r\n * @returns {Boolean}\r\n */\r\nfunction checkMaxConsigneeSize(type) {\r\n\tvar isMaxConsigneeSize = false;\r\n\tvar commonConsigeeSize = $(\"#hidden_consignees_size\").val();\r\n\tif (type == \"use_NewConsignee\") {\r\n\t\tif (commonConsigeeSize >= 20) {\r\n\t\t\tisMaxConsigneeSize = true;\r\n\t\t}\r\n\t} else if (type == \"save_Consignee\") {\r\n\t\tif (commonConsigeeSize > 20) {\r\n\t\t\tisMaxConsigneeSize = true;\r\n\t\t}\r\n\t}\r\n\tif (isMaxConsigneeSize) {\r\n\t\t$(\"#use-new-address\").attr(\"class\", \"item message\");\r\n\t\t$(\"#addNumLimitNote\").css(\"display\", \"block\");\r\n\t\t$(\"#consignee_radio_new\").attr(\"checked\", \"checked\");\r\n\t\t$(\"#consignee-form\").hide();\r\n\t}\r\n\treturn isMaxConsigneeSize;\r\n}\r\n\r\n/**\r\n * 使用新收获人地址\r\n */\r\nfunction use_NewConsignee() {\r\n\tif (checkMaxConsigneeSize(\"use_NewConsignee\")) {\r\n\t\treturn;\r\n\t}\r\n\tremoveConsingeeMessage();\r\n\t$(\"#use-new-address\").attr(\"class\", \"item\");\r\n\t$(\"#addNumLimitNote\").css(\"display\", \"none\");\r\n\t$(\"#consignee_radio_new\").attr(\"checked\", \"checked\");\r\n\t$(\"#consignee-form\").show();\r\n\t$('#consignee_form_reset').click();\r\n\t$(\"#consignee_province\").empty();\r\n\t$(\"#consignee_city\").empty();\r\n\t$(\"#consignee_county\").empty();\r\n\t$(\"#consignee_town\").empty();\r\n\t$(\"#consignee_province\").append(\"<option value='' selected>请选择：</option>\");\r\n\t$(\"#consignee_city\").append(\"<option value=''    selected>请选择：</option>\");\r\n\t$(\"#consignee_county\").append(\"<option value=''  selected>请选择：</option>\");\r\n\t$(\"#consignee_town\").append(\"<option value=''  selected>请选择：</option>\");\r\n\t$(\"#span_town\").hide();\r\n\t$(\"#areaNameTxt\").text(\"\");\r\n\t$(\"#codHelpUrl\").attr(\"href\",\"http://help.jd.com/help/distribution-768-0-0-0-0-\"+(new Date()).getTime()+\".html\");\r\n\t// #高亮选中\r\n\t$(\"#use-new-address\").attr(\"class\", \"item item-selected\");\r\n\tvar consigneeList = $(\"#consignee-list\");\r\n\tconsigneeList.find(\".item\").each(function() {\r\n\t\tvar indexNum = $(this).attr(\"index\").split(\"_\")[2];\r\n\t\tif (parseInt(indexNum) > 5) {\r\n\t\t\t$(this).attr(\"class\", \"item item-fore hide\");\r\n\t\t} else {\r\n\t\t\t$(this).attr(\"class\", \"item\");\r\n\t\t}\r\n\t});\r\n\t// 加载省份\r\n\tloadProvinces();\r\n}\r\n\r\n/**\r\n * 验证收货地址消息提示\r\n * \r\n * @param divId\r\n * @param value\r\n */\r\nfunction check_Consignee(divId) {\r\n\tvar errorFlag = false;\r\n\tvar errorMessage = null;\r\n\tvar value = null;\r\n\t// 验证收货人名称\r\n\tif (divId == \"name_div\") {\r\n\t\tvalue = $(\"#consignee_name\").val();\r\n\t\tif (isEmpty(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"请您填写收货人姓名\";\r\n\t\t}\r\n\t\tif (value.length > 25) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"收货人姓名不能大于25位\";\r\n\t\t}\r\n\t\tif (!is_forbid(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"收货人姓名中含有非法字符\";\r\n\t\t}\r\n\t}\r\n\t// 验证邮箱格式\r\n\telse if (divId == \"email_div\") {\r\n\t\tvalue = $(\"#consignee_email\").val();\r\n\t\tif (!isEmpty(value)) {\r\n\t\t\tif (!check_email(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"邮箱格式不正确\";\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (value.length > 50) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"邮箱长度不能大于50位\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// 验证地区是否完整\r\n\telse if (divId == \"area_div\") {\r\n\t\tvar provinceId = $(\"#consignee_province\").find(\"option:selected\").val();\r\n\t\tvar cityId = $(\"#consignee_city\").find(\"option:selected\").val();\r\n\t\tvar countyId = $(\"#consignee_county\").find(\"option:selected\").val();\r\n\t\tvar townId = $(\"#consignee_town\").find(\"option:selected\").val();\r\n\t\t// 验证地区是否正确\r\n\t\tif (isEmpty(provinceId) || isEmpty(cityId) || isEmpty(countyId)\r\n\t\t\t\t|| ($(\"#span_town\").html()!=null&&$(\"#span_town\").html()!=\"\"&&!$(\"#span_town\").is(\":hidden\") && isEmpty(townId))) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"请您填写完整的地区信息\";\r\n\t\t}\r\n\t}\r\n\t// 验证收货人地址\r\n\telse if (divId == \"address_div\") {\r\n\t\tvalue = $(\"#consignee_address\").val();\r\n\t\tif (isEmpty(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"请您填写收货人详细地址\";\r\n\t\t}\r\n\t\tif (!is_forbid(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"收货人详细地址中含有非法字符\";\r\n\t\t}\r\n\t\tif (value.length>50) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"收货人详细地址过长\";\r\n\t\t}\r\n\t}\r\n\t// 验证手机号码\r\n\telse if (divId == \"call_mobile_div\") {\r\n\t\tvalue = $(\"#consignee_mobile\").val();\r\n\t\tdivId = \"call_div\";\r\n\t\tif (isEmpty(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"请您填写收货人手机号码\";\r\n\t\t} else {\r\n\t\t\tif (!check_mobile(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"手机号码格式不正确\";\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!errorFlag) {\r\n\t\t\tvalue = $(\"#consignee_phone\").val();\r\n\t\t\tif (!isEmpty(value)) {\r\n\t\t\t\tif (!is_forbid(value)) {\r\n\t\t\t\t\terrorFlag = true;\r\n\t\t\t\t\terrorMessage = \"固定电话号码中含有非法字符\";\r\n\t\t\t\t}\r\n\t\t\t\tif (!checkPhone(value)) {\r\n\t\t\t\t\terrorFlag = true;\r\n\t\t\t\t\terrorMessage = \"固定电话号码格式不正确\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// 验证电话号码\r\n\telse if (divId == \"call_phone_div\") {\r\n\t\tvalue = $(\"#consignee_phone\").val();\r\n\t\tdivId = \"call_div\";\r\n\t\tif (!isEmpty(value)) {\r\n\t\t\tif (!is_forbid(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"固定电话号码中含有非法字符\";\r\n\t\t\t}\r\n\t\t\tif (!checkPhone(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"固定电话号码格式不正确\";\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (true) {\r\n\t\t\tvalue = $(\"#consignee_mobile\").val();\r\n\t\t\tif (isEmpty(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"请您填写收货人手机号码\";\r\n\t\t\t} else {\r\n\t\t\t\tif (!check_mobile(value)) {\r\n\t\t\t\t\terrorFlag = true;\r\n\t\t\t\t\terrorMessage = \"手机号码格式不正确\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (errorFlag) {\r\n\t\t$(\"#\" + divId + \"_error\").html(errorMessage);\r\n\t\t$(\"#\" + divId).addClass(\"message\");\r\n\t\treturn false;\r\n\t} else {\r\n\t\t$(\"#\" + divId).removeClass(\"message\");\r\n\t\t$(\"#\" + divId + \"_error\").html(\"\");\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n/**\r\n * 判断轻松购是否弹开\r\n * \r\n * @param id\r\n */\r\nfunction open_easyBuyConsignee(id){\r\n\tvar isHidden = $(\"#consignee-form\").is(\":hidden\");// 是否隐藏\r\n\tvar consignee_type = $(\"#hidden_consignee_type_\" + id).val();\r\n\tvar consignee_townId = $(\"#hidden_consignee_townId_\" + id).val();\r\n\tconsignee_townId = consignee_townId + \"\";\r\n\tif(isNaN(consignee_townId)){\r\n\t\tconsignee_townId = \"0\";\r\n\t}\r\n\tconsignee_townId = parseInt(consignee_townId);\r\n\tif(isHidden && (consignee_type == 0 || consignee_type == \"0\")){\r\n\t\tvar mobile=$(\"#hidden_consignee_mobile_\"+id).val();\r\n\t\tif(isEmpty(mobile) || isNaN(mobile)){\r\n\t\t\t show_ConsigneeDetail(id);\r\n\t\t\t return;\r\n\t\t}\r\n\t}\r\n\tif(isHidden && (consignee_type == 0 || consignee_type == \"0\") && consignee_townId <= 0 ){\r\n\t\tvar consignee_provinceId = $(\"#hidden_consignee_provinceId_\" + id).val();\r\n\t\tvar consignee_cityId = $(\"#hidden_consignee_cityId_\" + id).val();\r\n\t\tvar consignee_countyId = $(\"#hidden_consignee_countyId_\" + id).val();\r\n\t\tvar param =\"consigneeParam.type=\" + consignee_type\r\n\t\t + \"&consigneeParam.provinceId=\" + consignee_provinceId\r\n\t\t + \"&consigneeParam.cityId=\" + consignee_cityId\r\n\t\t + \"&consigneeParam.countyId=\" + consignee_countyId\r\n\t\t + \"&consigneeParam.townId=0\";\r\n\t\tvar actionUrl =  OrderAppConfig.DynamicDomain + \"/consignee/openEasyBuy.action\";\r\n\t\tjQuery.ajax( {\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"json\",\r\n\t\t\turl : actionUrl,\r\n\t\t\tdata : param,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(data, textStatus) {\r\n\t\t\t\tif (isUserNotLogin(data)) {\r\n\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif(data){\r\n\t\t\t\t    show_ConsigneeDetail(id);\t\t\t\t  \t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t\tback_Before(OrderAppConfig.Module_Consignee);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * 判断是否展开地址\r\n */\r\nfunction openConsignee(){\r\n//\tvar areaId = $(\"#hideAreaIds\").val();\r\n//\tvar areaIds = null;\r\n//\tif(areaId != null){\r\n//\t\t areaIds= new Array(); // 定义一数组\r\n//\t\t areaIds=areaId.split(\"-\");\r\n//\t}\r\n//\tif(areaIds != null && areaIds.length == 4){\r\n//\t\tvar param =\"consigneeParam.provinceId=\" + areaIds[0]\r\n//\t\t+ \"&consigneeParam.cityId=\" + areaIds[1]\r\n//\t\t+ \"&consigneeParam.countyId=\" + areaIds[2]\r\n//\t\t+ \"&consigneeParam.townId=\" + areaIds[3];\r\n//\r\n//\t\tvar actionUrl =  OrderAppConfig.DynamicDomain + \"/consignee/openEasyBuy.action\";\r\n//\t\tjQuery.ajax( {\r\n//\t\t\ttype : \"POST\",\r\n//\t\t\tdataType : \"json\",\r\n//\t\t\turl : actionUrl,\r\n//\t\t\tdata : param,\r\n//\t\t\tcache : false,\r\n//\t\t\tsuccess : function(data, textStatus) {\r\n//\t\t\t\tif (isUserNotLogin(data)) {\r\n//\t\t\t\t\tgoToLogin();\r\n//\t\t\t\t\treturn;\r\n//\t\t\t\t}\r\n//\t\t\t\tif(data){\r\n//\t\t\t\t\tedit_Consignee($(\"#consignee_id\").val());\r\n//\t\t\t\t}\r\n//\t\t\t},\r\n//\t\t\terror : function(XMLHttpResponse) {\r\n//\t\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n//\t\t\t\tback_Before(OrderAppConfig.Module_Consignee);\r\n//\t\t\t}\r\n//\t\t});\r\n//\t}\r\n}\r\n\r\n/**\r\n * 保存收货地址（包含保存常用人收货地址，根据id区分）\r\n */\r\nfunction save_Consignee() {\r\n\tif (checkMaxConsigneeSize(\"save_Consignee\")) {\r\n\t\treturn;\r\n\t}\r\n\tvar isHidden = $(\"#consignee-form\").is(\":hidden\");// 是否隐藏\r\n\tvar id = $(\"input[name='consignee_radio']:checked\").val();// 获取收货人id\r\n\tif(id==undefined){\r\n\t\talert(\"请选择收货人地址!\");\r\n\t\treturn;\r\n\t}\r\n\t// 如果不隐藏重新获取用户填写的信息\r\n\tvar consignee_id = null;\r\n\tvar consignee_type = null;\r\n\tvar consignee_provinceId = null;\r\n\tvar consignee_cityId = null;\r\n\tvar consignee_countyId = null;\r\n\tvar consignee_townId = null;\r\n\tvar consignee_name = null;\r\n\tvar consignee_email = null;\r\n\tvar consignee_address = null;\r\n\tvar consignee_mobile = null;\r\n\tvar consignee_phone = null;\r\n\tvar consignee_provinceName = null;\r\n\tvar consignee_cityName = null;\r\n\tvar consignee_countyName = null;\r\n\tvar consignee_townName = null;\r\n\tvar isUpdateCommonAddress = 0;\r\n\tvar consignee_commons_size = $(\"#hidden_consignees_size\").val();\r\n\tvar giftSender_consignee_name=\"\";\r\n\tvar giftSender_consignee_mobile=\"\";\r\n\tvar noteGiftSender=false;\r\n\tif (id != null && id != \"\") {\r\n\t\tconsignee_id = id;\r\n\t\tif(isNaN(consignee_id)){\r\n\t\t\tconsignee_id = \"0\";\r\n\t\t}\r\n\t} else {\r\n\t\tconsignee_id = \"0\";\r\n\t}\r\n\tif (isHidden) {\r\n\t\tconsignee_type = $(\"#hidden_consignee_type_\" + id).val();\r\n\t\tconsignee_provinceId = $(\"#hidden_consignee_provinceId_\" + id).val();\r\n\t\tconsignee_cityId = $(\"#hidden_consignee_cityId_\" + id).val();\r\n\t\tconsignee_countyId = $(\"#hidden_consignee_countyId_\" + id).val();\r\n\t\tconsignee_townId = $(\"#hidden_consignee_townId_\" + id).val();\r\n\t\tconsignee_provinceName = $(\"#hidden_consignee_provinceName_\" + id)\r\n\t\t\t\t.val();\r\n\t\tconsignee_cityName = $(\"#hidden_consignee_cityName_\" + id).val();\r\n\t\tconsignee_countyName = $(\"#hidden_consignee_countyName_\" + id).val();\r\n\t\tconsignee_townName = $(\"#hidden_consignee_townName_\" + id).val();\r\n\t\tconsignee_name = $(\"#hidden_consignee_name_\" + id).val();\r\n\t\tconsignee_address = $(\"#hidden_consignee_address_\" + id).val();\r\n\t\tconsignee_mobile = $(\"#hidden_consignee_mobile_\" + id).val();\r\n\t\tconsignee_phone = $(\"#hidden_consignee_phone_\" + id).val();\r\n\t\tconsignee_email = $(\"#hidden_consignee_email_\" + id).val();\r\n\t} else {\r\n\t\t// 如果展开之后需要更新常用地址列表\r\n\t\tisUpdateCommonAddress = 1;\r\n\t\tconsignee_id = $(\"#consignee_form_id\").val();\r\n\t\tconsignee_type = $(\"#consignee_type\").val();\r\n\t\tconsignee_provinceId = $(\"#consignee_province\").find(\"option:selected\")\r\n\t\t\t\t.val();\r\n\t\tconsignee_cityId = $(\"#consignee_city\").find(\"option:selected\").val();\r\n\t\tconsignee_countyId = $(\"#consignee_county\").find(\"option:selected\")\r\n\t\t\t\t.val();\r\n\t\tconsignee_townId = $(\"#consignee_town\").find(\"option:selected\").val();\r\n\t\tconsignee_provinceName = $(\"#consignee_province\").find(\r\n\t\t\t\t\"option:selected\").text();\r\n\t\tconsignee_cityName = $(\"#consignee_city\").find(\"option:selected\")\r\n\t\t\t\t.text();\r\n\t\tconsignee_countyName = $(\"#consignee_county\").find(\"option:selected\")\r\n\t\t\t\t.text();\r\n\t\tif (!$(\"#span_town\").is(\":hidden\")) {\r\n\t\t\tconsignee_townName = $(\"#consignee_town\").find(\"option:selected\")\r\n\t\t\t\t\t.text();\r\n\t\t}\r\n\t\tconsignee_name = $(\"#consignee_name\").val();\r\n\t\tconsignee_address = $(\"#consignee_address\").val();\r\n\t\tconsignee_mobile = $(\"#consignee_mobile\").val();\r\n\t\tconsignee_phone = $(\"#consignee_phone\").val();\r\n\t\tconsignee_email = $(\"#consignee_email\").val();\r\n\t}\r\n\tif (consignee_email == null || consignee_email == \"undefined\") {\r\n\t\tconsignee_email = \"\";\r\n\t}\r\n\tif (consignee_phone == null || consignee_phone == \"undefined\") {\r\n\t\tconsignee_phone = \"\";\r\n\t}\r\n\tif (!isHidden) {\r\n\t\tvar checkConsignee = true;\r\n\t\t// 验证收货人信息是否正确\r\n\t\tif (!check_Consignee(\"name_div\")) {\r\n\t\t\tcheckConsignee = false;\r\n\t\t}\r\n\t\t// 验证地区是否正确\r\n\t\tif (!check_Consignee(\"area_div\")) {\r\n\t\t\tcheckConsignee = false;\r\n\t\t}\r\n\t\t// 验证收货人地址是否正确\r\n\t\tif (!check_Consignee(\"address_div\")) {\r\n\t\t\tcheckConsignee = false;\r\n\t\t}\r\n\t\t// 验证手机号码是否正确\r\n\t\tif (!check_Consignee(\"call_mobile_div\")) {\r\n\t\t\tcheckConsignee = false;\r\n\t\t}\r\n\t\t// 验证电话是否正确\r\n\t\tif (!check_Consignee(\"call_phone_div\")) {\r\n\t\t\tcheckConsignee = false;\r\n\t\t}\r\n\t\t// 验证邮箱是否正确\r\n\t\tif (!check_Consignee(\"email_div\")) {\r\n\t\t\tcheckConsignee = false;\r\n\t\t}\r\n\t\tif (!checkConsignee) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\tif(isGiftBuy()){\r\n\t\tnoteGiftSender= true;\r\n\t\tgiftSender_consignee_name = $(\"#giftSender_consignee_name\").val();\r\n\t\tgiftSender_consignee_mobile = $(\"#giftSender_consignee_mobile\").val();\r\n\t\tif(!checkGiftBuySenderName()){\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif(!checkGiftBuySenderMobile()){\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\r\n\tvar useNewConsigee = $(\"#consignee_radio_new\").attr(\"checked\");\r\n\tif (useNewConsigee) {\r\n\t\tconsignee_id = 0;\r\n\t\tconsignee_type = 1;\r\n\t}\r\n\tvar areaName = null;\r\n\tconsignee_provinceName = consignee_provinceName.replace(\"*\", \"\");\r\n\tconsignee_cityName = consignee_cityName.replace(\"*\", \"\");\r\n\tconsignee_countyName = consignee_countyName.replace(\"*\", \"\");\r\n\tareaName = consignee_provinceName + consignee_cityName\r\n\t\t\t+ consignee_countyName;\r\n\tif (consignee_townName != null && consignee_townName != \"\") {\r\n\t\tconsignee_townName = consignee_townName.replace(\"*\", \"\");\r\n\t\tareaName = areaName + consignee_townName;\r\n\t}\r\n\tif (consignee_type == \"\") {\r\n\t\tconsignee_type = 1;\r\n\t}\r\n\t// 如果使用常用联系人列表，则不对四级地址进行显示判断\r\n\tif(isHidden){\r\n\t\tif(isEmpty(consignee_townId))\r\n\t\t\tconsignee_townId = 0;\r\n\t}else{\r\n\t\tif(isEmpty(consignee_townId)||$(\"#span_town\").is(\":hidden\"))\r\n\t\t\tconsignee_townId = 0;\r\n\t}\r\n\tvar param = \"consigneeParam.id=\" + consignee_id + \"&consigneeParam.type=\"\r\n\t\t\t+ consignee_type + \"&consigneeParam.name=\" + consignee_name\r\n\t\t\t+ \"&consigneeParam.provinceId=\" + consignee_provinceId\r\n\t\t\t+ \"&consigneeParam.cityId=\" + consignee_cityId\r\n\t\t\t+ \"&consigneeParam.countyId=\" + consignee_countyId\r\n\t\t\t+ \"&consigneeParam.townId=\" + consignee_townId\r\n\t\t\t+ \"&consigneeParam.address=\" + consignee_address\r\n\t\t\t+ \"&consigneeParam.mobile=\" + consignee_mobile\r\n\t\t\t+ \"&consigneeParam.email=\" + consignee_email\r\n\t\t\t+ \"&consigneeParam.phone=\" + consignee_phone\r\n\t\t\t+ \"&consigneeParam.provinceName=\" + consignee_provinceName\r\n\t\t\t+ \"&consigneeParam.cityName=\" + consignee_cityName\r\n\t\t\t+ \"&consigneeParam.countyName=\" + consignee_countyName\r\n\t\t\t+ \"&consigneeParam.townName=\" + consignee_townName\r\n\t\t\t+ \"&consigneeParam.commonConsigneeSize=\" + consignee_commons_size\r\n\t\t\t+ \"&consigneeParam.isUpdateCommonAddress=\" + isUpdateCommonAddress\r\n\t\t\t+ \"&consigneeParam.giftSenderConsigneeName=\" + giftSender_consignee_name\r\n\t\t\t+ \"&consigneeParam.giftSendeConsigneeMobile=\" + giftSender_consignee_mobile\r\n\t\t\t+ \"&consigneeParam.noteGiftSender=\" + noteGiftSender;\r\n\tparam = addFlowTypeParam(param);\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/saveConsignee.action\";\r\n\t$(\".loading\").css(\"display\", \"block\");\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(consigneeResult, textStatus) {\r\n\t\t\tif (isUserNotLogin(consigneeResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\t\r\n\t\t\tif (consigneeResult.success) {\r\n\t\t\t\t\t$(\"#isNeedOpenInvoice\").val(consigneeResult.openInvoice);// 隐藏域，判断修改地址后，是否需要修改发票信息，广州机构比较特殊\r\n\t\t\t\t    if(consigneeResult.resultCode == \"isRefreshArea\"){\r\n\t\t\t\t    \t$(\".loading\").css(\"display\", \"none\");\r\n\t\t\t\t    \t show_ConsigneeDetail(consignee_id);\r\n\t\t\t\t    }else{\r\n\t\t\t\t    \t// 弹出对应提示\r\n\t\t\t\t\t\t$(\"#\" + OrderAppConfig.Module_Consignee).html(\r\n\t\t\t\t\t\t\t\tconsigneeResult.consigneeHtml);\r\n\t\t\t\t\t\tsave_Module(OrderAppConfig.Module_Consignee);\r\n\t\t\t\t\t\t// 新用户保存后将值写回\r\n\t\t\t\t\t\t$(\"#isOpenConsignee\").val(\"0\");\r\n\t\t\t\t\t\t$(\"#isRefreshArea\").val(\"0\");\r\n\t\t\t\t\t\tif (isBigItemChange()) {\r\n\t\t\t\t\t\t\tbigItemChangeArea();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//预售电话修改\r\n\t\t\t\t\t\tif($(\"#isPresale\").val()==\"true\"){\r\n\t\t\t\t\t\t\t$(\"#hiddenUserMobileByPresale\").val(consignee_mobile);\r\n\t\t\t\t\t\t\tif($(\"#presaleMobile input\").size()>0){\r\n\t\t\t\t\t\t\t\t$(\"#presaleMobile input\").val(consignee_mobile);\r\n\t\t\t\t\t\t\t}else if($(\"#userMobileByPresale\").size()>0){\r\n\t\t\t\t\t\t\t\t$(\"#userMobileByPresale\").html(consignee_mobile);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (hasTang9()) {\r\n\t\t\t\t\t\t\ttang9ChangeArea();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(consigneeResult.openPayAndShip){\r\n\t\t\t\t\t\t\tedit_Payment(1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t    }\t\t\t\t\t\r\n\t\t\t} else {\r\n\t\t\t\t\tif (consigneeResult.message != null && consigneeResult.message != \"\") {\r\n\t\t\t\t\t\t$(\".loading\").css(\"display\", \"none\");\r\n\t\t\t\t\t\talert(consigneeResult.message);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t\t\t\tback_Before(OrderAppConfig.Module_Consignee);\r\n\t\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\tback_Before(OrderAppConfig.Module_Consignee);\r\n\t\t}\r\n\t});\r\n}\r\n\r\n\r\n/**\r\n * 打开常用收货地址\r\n * \r\n * @param obj\r\n */\r\nfunction open_MoreConsignee() {\r\n\t$(\"#select-more\")\r\n\t\t\t.removeClass(\"select-expand\")\r\n\t\t\t.addClass(\"select-collapse\")\r\n\t\t\t.html(\r\n\t\t\t\t\t\"<span onclick=\\\"close_MoreConsignee()\\\">收起常用地址</span><s></s>\");\r\n\t$(\"#consignee-list\").find(\".item\").each(function() {\r\n\t\t$(this).show();\r\n\t});\r\n}\r\n\r\n/**\r\n * 关闭常用收货地址\r\n * \r\n * @param obj\r\n */\r\nfunction close_MoreConsignee() {\r\n\t$(\"#select-more\")\r\n\t\t\t.removeClass(\"select-collapse\")\r\n\t\t\t.addClass(\"select-expand\")\r\n\t\t\t.html(\"<span onclick=\\\"open_MoreConsignee()\\\">更多常用地址</span><s></s>\");\r\n\t$(\"#consignee-list\").find(\".item\").each(function() {\r\n\t\tvar index = $(this).attr(\"index\");\r\n\t\tif (index != null) {\r\n\t\t\tvar indexNum = index.split(\"_\")[2];\r\n\t\t\tif (parseInt(indexNum) > 5) {\r\n\t\t\t\t$(this).hide();\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 删除后刷新常用收货地址\r\n * \r\n * @param obj\r\n */\r\nfunction refresh_Consignee() {\r\n\t$(\"#consignee-list\").find(\".item\").each(function() {\r\n\t\tvar index = $(this).attr(\"index\");\r\n\t\tif (index != null) {\r\n\t\t\tvar indexNum = index.split(\"_\")[2];\r\n\t\t\tif (parseInt(indexNum) <= 5) {\r\n\t\t\t\t$(this).show();\r\n\t\t\t} else {\r\n\t\t\t\t$(this).hide();\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\tvar commonConsigeeSize = $(\"#hidden_consignees_size\").val();\r\n\tif (commonConsigeeSize > 5) {\r\n\t\t$(\"#select-more\").html(\r\n\t\t\t\t\"<span onclick=\\\"open_MoreConsignee()\\\">更多常用地址</span><s></s>\");\r\n\t} else {\r\n\t\t$(\"#select-more\").hide();\r\n\t}\r\n}\r\n\r\nfunction loadGiftBuySenderTip(){\r\n\tif(isGiftBuy()){\r\n\t\t$(\"#saveConsigneeTitleDiv\").text(\"保存收礼人信息\");\r\n\t\t$(\"#saveConsigneeTitleMinDiv\").text(\"保存收礼人信息\");\r\n\t\t$(\"#giftSenderDiv\").show();\r\n\t\t$(\"#consignee-giftSender-form\").show();\r\n\t}else{\r\n\t\t$(\"#saveConsigneeTitleDiv\").text(\"保存收货人信息\");\r\n\t\t$(\"#saveConsigneeTitleMinDiv\").text(\"保存收货人信息\");\r\n\t\t$(\"#giftSenderDiv\").hide();\r\n\t\t$(\"#consignee-giftSender-form\").hide();\r\n\t}\r\n}\r\n\r\n\r\n/**\r\n * 校验送礼人姓名\r\n * \r\n * @returns {Boolean}\r\n */\r\nfunction checkGiftBuySenderName(){\r\n\tvar value = $(\"#giftSender_consignee_name\").val();\r\n\tvar errorFlag = false;\r\n\tvar errorMessage = \"\";\r\n\tif (isEmpty(value)) {\r\n\t\terrorFlag = true;\r\n\t\terrorMessage = \"请您填写送礼人姓名\";\r\n\t}\r\n\tif (value.length > 25) {\r\n\t\terrorFlag = true;\r\n\t\terrorMessage = \"收货人姓名不能大于25位\";\r\n\t}\r\n\tif (!is_forbid(value)) {\r\n\t\terrorFlag = true;\r\n\t\terrorMessage = \"收货人姓名中含有非法字符\";\r\n\t}\r\n\tif (errorFlag) {\r\n\t\t$(\"#giftSender_name_div_error\").html(errorMessage);\r\n\t\t$(\"#giftSender_name_div\").addClass(\"message\");\r\n\t\treturn false;\r\n\t} else {\r\n\t\t$(\"#giftSender_name_div\").removeClass(\"message\");\r\n\t\t$(\"#giftSender_name_div_error\").html(\"\");\r\n\t\treturn true;\r\n\t}\r\n}\r\n\r\n/**\r\n * 校验送人手机号\r\n */\r\nfunction checkGiftBuySenderMobile(){\r\n\tvar value = $(\"#giftSender_consignee_mobile\").val();\r\n\tvar errorFlag = false;\r\n\tvar errorMessage = \"\";\r\n\tif (isEmpty(value)) {\r\n\t\terrorFlag = true;\r\n\t\terrorMessage = \"请您填写收货人手机号码\";\r\n\t} else {\r\n\t\tif (!check_mobile(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"手机号码格式不正确\";\r\n\t\t}\r\n\t}\r\n\tif (errorFlag) {\r\n\t\t$(\"#giftSender_call_div_error\").html(errorMessage);\r\n\t\t$(\"#giftSender_call_div\").addClass(\"message\");\r\n\t\treturn false;\r\n\t} else {\r\n\t\t$(\"#giftSender_call_div\").removeClass(\"message\");\r\n\t\t$(\"#giftSender_call_div_error\").html(\"\");\r\n\t\treturn true;\r\n\t}\r\n}\r\n\r\n\r\n\r\n// *****************************************************发票开始********************************************************************\r\n\r\n/**\r\n * 编辑发票信息\r\n * \r\n * @param consigneeId\r\n */\r\nfunction edit_Invoice() {\r\n\t// 保存修改前的值\r\n\tif (!edit_before(OrderAppConfig.Module_Invoice)) {\r\n\t\treturn;\r\n\t}\r\n\t// 先到到当前用户发票信息,再异步获取常用发票列表\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/invoice/editInvoice.action\";\r\n\tvar param = addFlowTypeParam();\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\tgoToLogin();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// 服务器返回异常处理,如果有消息div则放入\r\n\t\tif (isHasMessage(dataResult)) {\r\n\t\t\tvar message = getMessage(dataResult);\r\n\t\t\talert(message);\r\n\t\t\tback_Before(OrderAppConfig.Module_Invoice);\r\n\t\t\tif (message == \"请先保存收货人信息\") {\r\n\t\t\t\tedit_Consignee();\r\n\t\t\t}\r\n\t\t}\r\n\t\t// 成功后如果有divID直接放入div\r\n\t\telse {\r\n\t\t\t$(\"#\" + OrderAppConfig.Module_Invoice + \"_edit_action\").show();\r\n\t\t\t$(\"#\" + OrderAppConfig.Module_Invoice).html(dataResult);\r\n\t\t\t$(\"#\"+OrderAppConfig.Module_Invoice+\"_edit_action\").html(\"<a href='#none'   style='color:#005EA7;'  onclick='save_Invoice()'>保存发票信息</a>\");\r\n\t\t\titemListOver.init(\"#invoice-list\");\r\n\t\t\trefresh_Invoice();\r\n\t\t\t\r\n\t\t}\r\n\t},\r\n\terror : function(XMLHttpResponse) {\r\n\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\tback_Before(OrderAppConfig.Module_Invoice);\r\n\t}\r\n\t});\r\n}\r\n\r\nfunction changeInvoiceType(type) {\r\n\tif (type == 1) {\r\n\t\t$(\"#normal-form\").css(\"display\", \"block\");\r\n\t\t$(\"#special-form\").css(\"display\", \"none\");\r\n\t\t$(\"#electro-normal-form\").css(\"display\", \"none\");\r\n\t\tif(isGiftBuy()){\r\n\t\t\t$(\"#invoiceConsignee\").show();\r\n\t\t\t$(\"#invoicesSendTypeDiv\").show();\r\n\t\t\tvar sendType = $('input:radio[name=\"invoiceSendType\"]:checked').val();\r\n\t\t\tchangeGeneralInvoiceConsigneeSendType(sendType);\r\n\t\t\tfillInvoiceConsigneeInfo('1');\r\n\t\t}else{\r\n\t\t\t$(\"#invoiceConsignee\").hide();\r\n\t\t}\r\n\t}else if(type == 2) {\r\n\t\t$(\"#normal-form\").css(\"display\", \"none\");\r\n\t\t$(\"#special-form\").css(\"display\", \"block\");\r\n\t\t$(\"#electro-normal-form\").css(\"display\", \"none\");\r\n\t\t$(\"#invoiceConsignee\").show();\r\n\t\t$(\"#invoicesSendTypeDiv\").hide();\r\n\t\t$(\"#invoiceConsigneeDiv\").show();\r\n\t\tfillInvoiceConsigneeInfo('2');\r\n\t}else{\r\n\t\t$(\"#normal-form\").css(\"display\", \"none\");\r\n\t\t$(\"#special-form\").css(\"display\", \"none\");\r\n\t\t$(\"#electro-normal-form\").css(\"display\", \"block\");\r\n\t\t$(\"#invoiceConsignee\").hide();\r\n\t}\r\n}\r\nfunction changeBasicInvoiceType(type){\r\n\r\n\tif(type==1){\r\n\t\tshow_GenenalInvoiceDetail(0,false);\r\n\t\t$(\"#selected_default_invoice_type\").val(\"1\");\r\n\t}else if(type==2){\r\n\t\tshow_VATInvoiceDetail();\r\n\t\t$(\"#invoiceConsignee\").show();\r\n\t\t$(\"#invoicesSendTypeDiv\").hide();\r\n\t\t$(\"#invoiceConsigneeDiv\").show();\r\n\t\tfillInvoiceConsigneeInfo('2');\r\n\t\t$(\"#selected_default_invoice_type\").val(\"2\");\r\n\t}else{\r\n\t\tshow_ElectroInvoiceDetail();\r\n\t\t$(\"#invoiceConsignee\").hide();\r\n\t\t$(\"#selected_default_invoice_type\").val(\"3\");\r\n\t}\r\n\t$(\"#invoice-add\").attr(\"checked\",true);\r\n\t$(\"input[name='usualInvoiceList']\").attr(\"checked\",false);\r\n} \r\nfunction show_GenenalInvoiceDetail(id,isHide){\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/invoice/getGenenalInvoice.action\";\r\n\tvar invokeInvoiceBasicService =  $(\"#invokeInvoiceBasicService\").val();\r\n\tvar param =  \"invokeInvoiceBasicService=\"+invokeInvoiceBasicService;\r\n\tparam = param += \"&invoiceParam.usualInvoiceId=\" + id;\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax( {\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\turl : actionUrl,\r\n\t\t\t\tdata : param,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\r\n\t\t\t\t\t// 没有登录跳登录\r\n\t\t\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t} // 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t\t\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\t\t\t//var message = getMessage(dataResult);\r\n\t\t\t\t\t\t$(\"#invoice-detail-form\").html(dataResult);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 成功后如果有divID直接放入div，没有则返回结果\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t$(\"#invoice-detail-form\").html(dataResult);\r\n\t\t\t\t\t\tif(isHide){\r\n\t\t\t\t\t\t\t$(\"#invoice_title\").hide();\r\n\t\t\t\t\t\t\t$(\"#invoice_type\").hide();\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t$(\"#invoice_type\").show();\r\n\t\t\t\t\t\t}\r\n\t\r\n\t\t\t\t\t\tif(isGiftBuy()){\r\n\t\t\t\t\t\t\t$(\"#invoiceConsignee\").show();\r\n\t\t\t\t\t\t\t$(\"#invoicesSendTypeDiv\").show();\r\n\t\t\t\t\t\t\tvar sendType = $('input:radio[name=\"invoiceSendType\"]:checked').val();\r\n\t\t\t\t\t\t\tchangeGeneralInvoiceConsigneeSendType(sendType);\r\n\t\t\t\t\t\t\tfillInvoiceConsigneeInfo('1');\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t$(\"#invoiceConsignee\").hide();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t}\r\n\t\t\t});\r\n}\r\nfunction show_ElectroInvoiceDetail() {\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/invoice/getElectroInvoice.action\";\r\n\tvar invokeInvoiceBasicService =  $(\"#invokeInvoiceBasicService\").val();\r\n\tvar param =  \"invokeInvoiceBasicService=\"+invokeInvoiceBasicService;\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax( {\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\turl : actionUrl,\r\n\t\t\t\tdata : param,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\r\n\t\t\t\t\t// 没有登录跳登录\r\n\t\t\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t} // 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t\t\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\t\t\t$(\"#invoice-detail-form\").html(dataResult);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 成功后如果有divID直接放入div，没有则返回结果\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t$(\"#invoice-detail-form\").html(dataResult);\r\n\t\t\t\t\t\t$(\"#electro-invoice-title-4\").attr(\"checked\", \"checked\");\r\n\t\t\t\t\t\t// 隐藏单位名称对话框\r\n\t\t\t\t\t\tshowElectroCompanyDiv(4);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t}\r\n\t\t\t});\r\n}\r\nfunction show_VATInvoiceDetail() {\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/invoice/getVatInvoice.action\";\r\n\tvar invokeInvoiceBasicService =  $(\"#invokeInvoiceBasicService\").val();\r\n\tvar param =  \"invokeInvoiceBasicService=\"+invokeInvoiceBasicService;\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax( {\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\turl : actionUrl,\r\n\t\t\t\tdata : param,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\r\n\t\t\t\t\t// 没有登录跳登录\r\n\t\t\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t} // 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t\t\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\t\t\t$(\"#invoice-detail-form\").html(dataResult);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 成功后如果有divID直接放入div，没有则返回结果\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t$(\"#invoice-detail-form\").html(dataResult);\r\n\t\t\t\t\t\t$(\"#invoiceConsignee\").show();\r\n\t\t\t\t\t\t$(\"#invoicesSendTypeDiv\").hide();\r\n\t\t\t\t\t\t$(\"#invoiceConsigneeDiv\").show();\r\n\t\t\t\t\t\tfillInvoiceConsigneeInfo('2');\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t}\r\n\t\t\t});\r\n}\r\n\r\n/**\r\n * 当默认选择赠票的时候，异步加载使之显示赠票信息\r\n * \r\n * @return\r\n */\r\nfunction changeVat(){\r\n\t$(\"#normal-form\").css(\"display\", \"none\");\r\n\t$(\"#electro-normal-form\").css(\"display\", \"none\");\r\n\t$(\"#special-form\").css(\"display\", \"block\");\r\n\t$.each($(\"input[name='usualInvoiceList']\"), function() {\r\n\t\t$(this).attr(\"checked\", \"\");\r\n\t});\r\n\t$(\"#invoice-add\").attr(\"checked\", \"\");\r\n\t$(\"#invoice_type\").show();\r\n\t$(\"#invoice_title\").show();\r\n\t$(\"#invoiceConsignee\").show();\r\n\t$(\"#invoicesSendTypeDiv\").hide();\r\n\t$(\"#invoiceConsigneeDiv\").show();\r\n}\r\n/**\r\n * 当默认选择电子发票的时候，异步加载使之显示电子发票\r\n * \r\n * @return\r\n */\r\nfunction changeElectro(){\r\n\t$(\"#normal-form\").css(\"display\", \"none\");\r\n\t$(\"#electro-normal-form\").css(\"display\", \"block\");\r\n\t$(\"#special-form\").css(\"display\", \"none\");\r\n\t$.each($(\"input[name='usualInvoiceList']\"), function() {\r\n\t\t$(this).attr(\"checked\", \"\");\r\n\t});\r\n\t$(\"#invoice-add\").attr(\"checked\", \"\");\r\n\t$(\"#invoice_type\").show();\r\n\t$(\"#invoice_title\").show();\r\n\t$(\"#invoiceConsignee\").hide();\r\n}\r\n/**\r\n * 如果是单商家sop，第一次编辑时默认成为不开发票\r\n * \r\n * @return\r\n */\r\nfunction makeSopNotPut(){\r\n\tif($(\"#sopNotPutInvoice\").val()==\"true\"){\r\n\t\t$(\"input[name='normal-normalContent']:first\").attr(\"checked\", \"checked\");\r\n\t\t$(\"input[name='vat-normalContent']:first\").attr(\"checked\", \"checked\");\r\n\t}\r\n}\r\n\r\n/**\r\n * 打开常用发票(超过5个的)\r\n * \r\n * @param obj\r\n */\r\nfunction open_MoreInvoice() {\r\n\t$(\"#invoice-more-btn\").html(\r\n\t\t\t\"<span onclick=\\\"close_MoreInvoice()\\\">收起发票信息</span><s></s>\");\r\n\t$(\"#invoice-list\").find(\".item\").each(function() {\r\n\t\t$(this).show();\r\n\t});\r\n}\r\n\r\n/**\r\n * 关闭常用发票\r\n * \r\n * @param obj\r\n */\r\nfunction close_MoreInvoice() {\r\n\t$(\"#invoice-more-btn\").html(\r\n\t\t\t\"<span onclick=\\\"open_MoreInvoice()\\\">更多发票信息</span><s></s>\");\r\n\t$(\"#invoice-list\").find(\".item\").each(function() {\r\n\t\tvar index = $(this).attr(\"index\");\r\n\t\tif (index != null || index != undefined) {\r\n\t\t\tif (index > 5) {\r\n\t\t\t\t$(this).hide();\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n/**\r\n * 隐藏发票抬头和发票类型\r\n * \r\n * @return\r\n */\r\nfunction hideInvoice(){\r\n\t$(\"#invoice_type\").hide();\r\n\t$(\"#invoice_title\").hide();\r\n}\r\n/**\r\n * 选择常用发票\r\n * \r\n * @param id\r\n */\r\nfunction chose_Invoice(id,isHide) {\r\n\tset_CurrentInvoice(id);\r\n\tvar invokeInvoiceBasicService =  $(\"#invokeInvoiceBasicService\").val();\r\n\tif(invokeInvoiceBasicService==\"true\"){\r\n\t\tshow_GenenalInvoiceDetail(id,isHide);\r\n\t\t$(\"#normal-invoice-1\").attr(\"checked\",true);\r\n\t}else{\r\n\t\tshow_InvoiceDetail(id,isHide);\r\n\t}\r\n\t\r\n}\r\n\r\n/**\r\n * 设置当前选中的发票高亮，其他变暗\r\n * \r\n * @param id\r\n */\r\nfunction set_CurrentInvoice(id) {\r\n\tvar parentDiv = $(\"#invoice-r1-\" + id).parent();\r\n\tvar indexNumCurrent = parentDiv.attr(\"index\");\r\n\tvar invoiceList = $(\"#invoice-list\");\r\n\tinvoiceList.find(\".item\").each(function() {\r\n\t\tif ($(this).attr(\"index\") == indexNumCurrent) {\r\n\t\t\t$(this).attr(\"class\", \"item item-selected\");\r\n\t\t\t$(this).find(\"#delete_invoice_\" + id).show();\r\n\t\t\t$(\"#invoice-r1-\" + id).attr(\"checked\", \"checked\");\r\n\t\t\t$(\"#invoice-add\").attr(\"checked\", \"\");\r\n\t\t\t$(\"#useNewInvoice\").attr(\"class\",\"item\");\r\n\t\t} else {\r\n\t\t\t$(this).attr(\"class\", \"item\");\r\n\t\t\t$(this).find(\"#delete_invoice_\" + id).hide();\r\n\t\t}\r\n\r\n\t});\r\n}\r\n\r\n\r\n\r\n/**\r\n * 如果选择单位，显示单位输入文本框\r\n */\r\nfunction showCompanyDiv(type) {\r\n\tif (type == 5) {\r\n\t\t$(\"#invoice-title-5\").attr(\"checked\", \"checked\");\r\n\t\t$(\"#personal-invoice-4\").attr(\"checked\", \"\");\r\n\t\t$(\"#companyNameText\").show();\r\n\t} else {\r\n\t\t$(\"#personal-invoice-4\").attr(\"checked\", \"checked\");\r\n\t\t$(\"#invoice-title-5\").attr(\"checked\", \"\");\r\n\t\t$(\"#companyNameText\").hide();\r\n\t}\r\n}\r\n\r\n/**\r\n * 电子发票如果选择单位，显示单位输入文本框\r\n */\r\nfunction showElectroCompanyDiv(type) {\r\n\tif (type == 5) {\r\n\t\t$(\"#electro-invoice-title-5\").attr(\"checked\", \"checked\");\r\n\t\t$(\"#electroCompanyName\").show();\r\n\t\t$(\"#electroCompanyRemark\").show();\r\n\t} else {\r\n\t\t$(\"#electro-invoice-title-4\").attr(\"checked\", \"checked\");\r\n\t\t$(\"#electroCompanyName\").hide();\r\n\t\t$(\"#electroCompanyRemark\").hide();\r\n\t}\r\n}\r\n\r\n/**\r\n * 查看常用发票详细\r\n */\r\nfunction show_InvoiceDetail(id,isHide) {\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/invoice/getNormalInvoice.action\";\r\n\tvar invokeInvoiceBasicService =  $(\"#invokeInvoiceBasicService\").val();\r\n\tvar param = \"invoiceParam.usualInvoiceId=\" + id;\r\n\tparam = param + \"&invokeInvoiceBasicService=\"+invokeInvoiceBasicService;\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax( {\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\tdataType : \"json\",\r\n\t\t\t\turl : actionUrl,\r\n\t\t\t\tdata : param,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t\t// 没有登录跳登录\r\n\t\t\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t} // 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t\t\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\t\t\tvar message = getMessage(dataResult);\r\n\t\t\t\t\t\talert(message);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 成功后如果有divID直接放入div，没有则返回结果\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t// 选中普通发票\r\n\t\t\t\t\t\t$.each($(\"input[name='invoiceType']\"), function() {\r\n\t\t\t\t\t\t\tif ($(this).val() == 1) {\r\n\t\t\t\t\t\t\t\t$(this).attr(\"checked\", \"checked\");\r\n\t\t\t\t\t\t\t\tchangeInvoiceType(1);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t// 发票抬头\r\n\t\t\t\t\t\tvar invoiceTitleHtml = \"\";\r\n\t\t\t\t\t\tfor ( var i = 0; i < dataResult.invoiceTitles.length; i++) {\r\n\t\t\t\t\t\t\tvar title = dataResult.invoiceTitles[i];\r\n\t\t\t\t\t\t\tinvoiceTitleHtml += (\"<li>\"\r\n\t\t\t\t\t\t\t\t\t+ \"<input type=\\\"radio\\\" id=\\\"invoice-title-\"\r\n\t\t\t\t\t\t\t\t\t+ title.value\r\n\t\t\t\t\t\t\t\t\t+ \"\\\" name=\\\"invoiceTitle\\\" class=\\\"hookbox\\\" value=\\\"\"\r\n\t\t\t\t\t\t\t\t\t+ title.value + \"\\\" \"); \r\n\t\t\t\t\t\t\tif(title.selected)\r\n\t\t\t\t\t\t\t\tinvoiceTitleHtml+=\"checked\"; \r\n\t\t\t\t\t\t\tinvoiceTitleHtml+= (\" onclick=\\\"showCompanyDiv('\"+title.value+\"')\\\" />\"\r\n\t\t\t\t\t\t\t\t\t+ \"<label for=\\\"invoice-title-\"\r\n\t\t\t\t\t\t\t\t\t+ title.value + \"\\\">\" + title.content\r\n\t\t\t\t\t\t\t\t\t+ \"</label>\" + \"</li>\");\r\n\t\t\t\t\t\t\tif (title.value == 5) {\r\n\t\t\t\t\t\t\t\tif(title.selected){\r\n\t\t\t\t\t\t\t\t\tinvoiceTitleHtml += \"<li><input type=\\\"text\\\" id=\\\"companyNameText\\\" value=\\\"\\\" class=\\\"company-textbox textbox\\\" /></li>\";\r\n\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\tinvoiceTitleHtml += \"<li><input type=\\\"text\\\" id=\\\"companyNameText\\\" value=\\\"\\\" class=\\\"company-textbox textbox\\\" style=\\\"display:none\\\"/></li>\";\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$(\"#invoice_title_radio\").html(invoiceTitleHtml);\r\n\t\t\t\t\t\t// 公司名称\r\n\t\t\t\t\t\tif (dataResult.companyName != null) {\r\n\t\t\t\t\t\t\t$(\"#companyNameText\").attr(\"value\",\r\n\t\t\t\t\t\t\t\t\tdataResult.companyName);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// 非图书发票内容\r\n\t\t\t\t\t\tvar normalContentHtml = \"\";\r\n\r\n                        // 实体礼品卡\r\n                        if(isLipinkaPhysical()){\r\n                            normalContentHtml += \"<select id=\\\"normal-invoice-content-lipinkaPhysical\\\" name=\\\"normal-normalContent-lipinkaPhysical\\\">\";\r\n                            for ( var i = 0; i < dataResult.normalInvoiceContents.length; i++) {\r\n                                content = dataResult.normalInvoiceContents[i];\r\n                                normalContentHtml += \"<option value=\\\"\" + content.value +\"\\\"\";\r\n                                if (content.selected) {\r\n                                    normalContentHtml += \" selected=\\\"selected\\\"\";\r\n                                }\r\n                                normalContentHtml += \">\" + content.content + \"</option>\";\r\n                            }\r\n                        }else {\r\n                            for ( var i = 0; i < dataResult.normalInvoiceContents.length; i++) {\r\n                                content = dataResult.normalInvoiceContents[i];\r\n                                if (content.selected) {\r\n                                    normalContentHtml += \"<li>\"\r\n                                        + \"<input type=\\\"radio\\\" id=\\\"normal-invoice-content-\"\r\n                                        + content.value\r\n                                        + \"\\\" name=\\\"normal-normalContent\\\" class=\\\"hookbox\\\" value=\\\"\"\r\n                                        + content.value\r\n                                        + \"\\\" checked/>\"\r\n                                        + \"<label for=\\\"normal-invoice-content-\"\r\n                                        + content.value + \"\\\">\"\r\n                                        + content.content + \"</label>\"\r\n                                        + \"</li>\";\r\n                                } else {\r\n                                    normalContentHtml += \"<li>\"\r\n                                        + \"<input type=\\\"radio\\\" id=\\\"normal-invoice-content-\"\r\n                                        + content.value\r\n                                        + \"\\\" name=\\\"normal-normalContent\\\" class=\\\"hookbox\\\" value=\\\"\"\r\n                                        + content.value\r\n                                        + \"\\\"/>\"\r\n                                        + \"<label for=\\\"normal-invoice-content-\"\r\n                                        + content.value + \"\\\">\"\r\n                                        + content.content + \"</label>\"\r\n                                        + \"</li>\";\r\n                                }\r\n                            }\r\n                        }\r\n                        $(\"#normal_content_radio\").html(normalContentHtml);\r\n\r\n\t\t\t\t\t\t// 图书发票内容\r\n\t\t\t\t\t\tvar bookContentHtml = \"\";\r\n\t\t\t\t\t\tfor ( var i = 0; i < dataResult.bookInvoiceContents.length; i++) {\r\n\t\t\t\t\t\t\tcontent = dataResult.bookInvoiceContents[i];\r\n\t\t\t\t\t\t\tif (content.selected) {\r\n\t\t\t\t\t\t\t\tbookContentHtml += \"<li>\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"<input type=\\\"radio\\\" id=\\\"book-invoice-content-\"\r\n\t\t\t\t\t\t\t\t\t\t+ content.value\r\n\t\t\t\t\t\t\t\t\t\t+ \"\\\" name=\\\"normal-bookContent\\\" class=\\\"hookbox\\\" value=\\\"\"\r\n\t\t\t\t\t\t\t\t\t\t+ content.value + \"\\\" checked/>\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"<label for=\\\"book-invoice-content-\"\r\n\t\t\t\t\t\t\t\t\t\t+ content.value + \"\\\">\"\r\n\t\t\t\t\t\t\t\t\t\t+ content.content + \"</label>\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"</li>\";\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tbookContentHtml += \"<li>\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"<input type=\\\"radio\\\" id=\\\"book-invoice-content-\"\r\n\t\t\t\t\t\t\t\t\t\t+ content.value\r\n\t\t\t\t\t\t\t\t\t\t+ \"\\\" name=\\\"normal-bookContent\\\" class=\\\"hookbox\\\" value=\\\"\"\r\n\t\t\t\t\t\t\t\t\t\t+ content.value + \"\\\"/>\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"<label for=\\\"book-invoice-content-\"\r\n\t\t\t\t\t\t\t\t\t\t+ content.value + \"\\\">\"\r\n\t\t\t\t\t\t\t\t\t\t+ content.content + \"</label>\"\r\n\t\t\t\t\t\t\t\t\t\t+ \"</li>\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$(\"#book_content_radio\").html(bookContentHtml);\r\n\t\t\t\t\t\tif(isHide){\r\n\t\t\t\t\t\t\t$(\"#invoice_type\").hide();\r\n\t\t\t\t\t\t\t$(\"#invoice_title\").hide();\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t$(\"#invoice_type\").show();\r\n\t\t\t\t\t\t\t$(\"#invoice_title\").show();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tmakeSopNotPut();\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t}\r\n\t\t\t});\r\n}\r\n\r\n/**\r\n * 验证增值税发票消息提示\r\n * \r\n * @param divId\r\n * @param value\r\n */\r\nfunction check_Invoice(type, value) {\r\n\tvar errorFlag = false;\r\n\tvar errorMessage = null;\r\n\t// 验证发票单位名称\r\n\tif (type == \"vat_companyName\") {\r\n\t\tif (isEmpty(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"单位名称不能为空！\";\r\n\t\t} else {\r\n\t\t\tif (checkLength(value) < 2) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"请填写完整单位名称！\";\r\n\t\t\t}\r\n\t\t\tif (checkLength(value) > 100) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"单位名称过长,请重新输入！\";\r\n\t\t\t}\r\n\t\t\tif (!is_forbidForInvoice(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"单位名称含有非法字符！\";\r\n\t\t\t}\r\n\t\t}\r\n\t} else if (type == \"vat_code\") { // 验证纳税人识别号\r\n\t\tif (isEmpty(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"纳税人识别号不能为空！\";\r\n\t\t} else {\r\n\t\t\tvar reg_number = /^([a-zA-Z0-9]){15,20}$/;\r\n\t\t\tif (!reg_number.test(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"税纳税识别号错误，请检查！\";\r\n\t\t\t}\r\n\t\t\tif (!is_forbid(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"税纳税识别号含有非法字符！\";\r\n\t\t\t}\r\n\t\t}\r\n\t} else if (type == \"vat_address\") { // 验证发票注册地址\r\n\t\tif (isEmpty(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"注册地址不能为空！\";\r\n\t\t} else {\r\n\t\t\tif (value.replace(/[^\\x00-\\xff]/g, \"**\").length < 2) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"注册地址错误！\";\r\n\t\t\t}\r\n\t\t\tif (checkLength(value) > 250) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"注册地址过长，请重新输入！\";\r\n\t\t\t}\r\n\t\t\tif (!is_forbidForInvoice(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"注册地址含有非法字符！\";\r\n\t\t\t}\r\n\t\t}\r\n\t} else if (type == \"vat_phone\") { // 验证增值税发票电话\r\n\t\tif (isEmpty(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"注册电话不能为空！\";\r\n\t\t} else {\r\n\t\t\tif (checkLength(value) > 50) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"注册电话过长，请重新输入！\";\r\n\t\t\t}\r\n\t\t\tif (!is_forbidForInvoice(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"注册电话含有非法字符，请重新输入！\";\r\n\t\t\t}\r\n\t\t}\r\n\t} else if (type == \"vat_bankName\") { // 验证增值税发票开户银行\r\n\t\tif (isEmpty(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"开户银行不能为空！\";\r\n\t\t} else {\r\n\t\t\tif (value.replace(/[^\\x00-\\xff]/g, \"**\").length < 2) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"开户银行错误！\";\r\n\t\t\t}\r\n\t\t\tif (checkLength(value) > 100) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"开户银行过长，请重新输入！\";\r\n\t\t\t}\r\n\t\t\tif (!is_forbidForInvoice(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"开户银行含有非法字符！\";\r\n\t\t\t}\r\n\t\t}\r\n\t} else if (type == \"vat_bankAccount\") { // 验证增值税发票银行账户\r\n\t\tif (isEmpty(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"银行帐户不能为空！\";\r\n\t\t} else {\r\n\t\t\tif (!checkBankCount(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"银行帐户含有非法字符！\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (errorFlag) {\r\n\t\t$(\"#\" + type + \"_error\").html(errorMessage);\r\n\t\t$(\"#\" + type + \"_div\").addClass(\"message\");\r\n\t\treturn false;\r\n\t} else {\r\n\t\t$(\"#\" + type + \"_div\").removeClass(\"message\");\r\n\t\t$(\"#\" + type + \"_error\").html(\"\");\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n\r\n// 增票非法字符验证\r\nfunction is_forbidForInvoice(temp_str) { \r\n  temp_str = trimTxt(temp_str);\r\n  var forbid_str = new String('>,<,&');\r\n  var forbid_array = new Array();\r\n  forbid_array = forbid_str.split(',');\r\n  for (var i = 0; i < forbid_array.length; i++) {\r\n      if (temp_str.search(new RegExp(forbid_array[i])) != -1)\r\n          return false;\r\n  }\r\n  return true;\r\n}\r\n\r\n\r\nfunction loadAreaDetailForInvoiceConsingee(provinceId, cityId, countyId, townId,isGeneralInvoice) {\r\n\tvar param = \"consigneeParam.provinceId=\" + provinceId\r\n\t\t\t+ \"&consigneeParam.cityId=\" + cityId + \"&consigneeParam.countyId=\"\r\n\t\t\t+ countyId + \"&consigneeParam.townId=\" + townId;\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/loadAllAreas.action\";\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\tvar message = getMessage(dataResult);\r\n\t\t\t\talert(message);\r\n\t\t\t} else {\r\n\t\t\t\tif(isGeneralInvoice){\r\n\t\t\t\t\t$(\"#generalInvoice_span_area\").html(dataResult);\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$(\"#span_area\").html(dataResult);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 验证发票地址消息提示，单列出方法是因为文案不同\r\n * \r\n * @param divId\r\n * @param value\r\n */\r\nfunction check_InvoiceConsignee(divId,isGeneral) {\r\n\tvar errorFlag = false;\r\n\tvar errorMessage = null;\r\n\tvar value = null;\r\n\tvar generalTag = isGeneral?\"generalInvoice_\":\"\";\r\n\t// 验证收货人名称\r\n\tif (divId == \"name_div\") {\r\n\t\tvalue = $(\"#\"+generalTag+\"consignee_name\").val();\r\n\t\tif (isEmpty(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"请您填写收票人姓名\";\r\n\t\t}\r\n\t\tif (!is_forbid(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"收票人姓名中含有非法字符\";\r\n\t\t}\r\n\t}\r\n\t// 验证地区是否完整\r\n\telse if (divId == \"area_div\") {\r\n\t\tvar provinceId = $(\"#\"+generalTag+\"consignee_province\").find(\"option:selected\").val();\r\n\t\tvar cityId = $(\"#\"+generalTag+\"consignee_city\").find(\"option:selected\").val();\r\n\t\tvar countyId = $(\"#\"+generalTag+\"consignee_county\").find(\"option:selected\").val();\r\n\t\tvar townId = $(\"#\"+generalTag+\"consignee_town\").find(\"option:selected\").val();\r\n\t\t// 验证地区是否正确\r\n\t\tif (isEmpty(provinceId) || isEmpty(cityId) || isEmpty(countyId)\r\n\t\t\t\t|| ($(\"#\"+generalTag+\"span_town\").html()!=null&&$(\"#\"+generalTag+\"span_town\").html()!=\"\"&&!$(\"#\"+generalTag+\"span_town\").is(\":hidden\") && isEmpty(townId))) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"请您填写完整的地区信息\";\r\n\t\t}\r\n\t}\r\n\t// 验证收货人地址\r\n\telse if (divId == \"address_div\") {\r\n\t\tvalue = $(\"#\"+generalTag+\"consignee_address\").val();\r\n\t\tif (isEmpty(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"请您填写收票人详细地址\";\r\n\t\t}\r\n\t\tif (!is_forbid(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"收票人详细地址中含有非法字符\";\r\n\t\t}\r\n\t}\r\n\t// 验证手机号码\r\n\telse if (divId == \"call_phone_div\") {\r\n\t\tvalue = $(\"#\"+generalTag+\"consignee_phone\").val();\r\n\t\tdivId = \"call_div\";\r\n\t\tif (!isEmpty(value)) {\r\n\t\t\tif (!is_forbid(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"固定电话号码中含有非法字符\";\r\n\t\t\t}\r\n\t\t\tif (!checkPhone(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"固定电话号码格式不正确\";\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (true) {\r\n\t\t\tvalue = $(\"#\"+generalTag+\"consignee_mobile\").val();\r\n\t\t\tif (isEmpty(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"请您填写收票人手机号码\";\r\n\t\t\t} else {\r\n\t\t\t\tif (!check_mobile(value)) {\r\n\t\t\t\t\terrorFlag = true;\r\n\t\t\t\t\terrorMessage = \"手机号码格式不正确\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (errorFlag) {\r\n\t\t$(\"#\"+generalTag + divId + \"_error\").html(errorMessage);\r\n\t\t$(\"#\"+generalTag + divId).addClass(\"message\");\r\n\t\treturn false;\r\n\t} else {\r\n\t\t$(\"#\" +generalTag + divId).removeClass(\"message\");\r\n\t\t$(\"#\" +generalTag + divId + \"_error\").html(\"\");\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n/**\r\n * 当有第三方的商品时，显示提示\r\n * \r\n * @return\r\n */\r\nfunction showSopInvoiceNote(){\r\n\tvar showNote=$(\"#hasSopSku\").val();\r\n \tif(showNote===\"true\"){\r\n \t\t$(\".invoice-note\").show();\r\n \t}else{\r\n \t\t$(\".invoice-note\").hide();\r\n \t}\t\r\n}\r\n\r\n/**\r\n * 校验电子发票email\r\n * \r\n * @return\r\n */\r\nfunction check_electroInvoiceEmail(){\r\n\tvar value = $(\"#e_consignee_email\").val();\r\n\tvar errorFlag = false;\r\n\tvar errorMessage=\"\";\r\n\tif (!isEmpty(value)) {\r\n\t\tif (!check_email(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"邮箱格式不正确\";\r\n\t\t}\r\n\t\tif (value.length > 50) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"邮箱长度不能大于50位\";\r\n\t\t}\r\n\t}\r\n\tif (errorFlag) {\r\n\t\t$(\"#e_consignee_email_error\").html(errorMessage);\r\n\t\t$(\"#e_email_div\").addClass(\"message\");\r\n\t\treturn false;\r\n\t} else {\r\n\t\t$(\"#e_email_div\").removeClass(\"message\");\r\n\t\t$(\"#e_consignee_email_error\").html(\"\");\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n/**\r\n * 校验电子发票手机号\r\n */\r\nfunction check_electroInvoicePhone(){\r\n\tvar value = $(\"#e_consignee_mobile\").val();\r\n\tvar errorFlag = false;\r\n\tvar errorMessage=\"\";\r\n\tif (!isEmpty(value)) {\r\n\t\tif (!is_forbid(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"手机号码中含有非法字符\";\r\n\t\t}\r\n\t\tif (!check_mobile(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"手机号码格式不正确\";\r\n\t\t}\r\n\t}else{\r\n\t\terrorFlag = true;\r\n\t\terrorMessage = \"请输入手机号码\";\r\n\t}\r\n\tif (errorFlag) {\r\n\t\t$(\"#e_consignee_mobile_error\").html(errorMessage);\r\n\t\t$(\"#e_mobile_div\").addClass(\"message\");\r\n\t\treturn false;\r\n\t} else {\r\n\t\t$(\"#e_mobile_div\").removeClass(\"message\");\r\n\t\t$(\"#e_consignee_mobile_error\").html(\"\");\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n\r\n/**\r\n * 保存发票内容\r\n */\r\nfunction save_Invoice() {\r\n\t// 隐藏域，判断修改地址后，是否需要修改发票信息，广州机构比较特殊\r\n\t$(\"#isNeedOpenInvoice\").val(\"false\");\r\n\t// 发票类型和内容\r\n\tvar invoice_hasBook = $(\"#hasBook\").val();\r\n\tvar invoice_hasCommon = $(\"#hasCommon\").val();\r\n\tvar invoice_companyName = $(\"#companyNameText\").val();\r\n\tvar invoice_type = $('input:radio[name=\"invoiceType\"]:checked').val();\r\n\tvar invoice_title = $('input:radio[name=\"invoiceTitle\"]:checked').val();\r\n\tvar invoice_common_content=\"\";\r\n\tvar invoice_book_content=\"\";\r\n\t// 赠票信息\r\n\tvar vat_companyName = \"\";\r\n\tvar vat_code = \"\";\r\n\tvar vat_address = \"\";\r\n\tvar vat_phone = \"\";\r\n\tvar vat_bankName = \"\";\r\n\tvar vat_bankAccount = \"\";\r\n\t// 增票地址\r\n\tvar consigneeName=\"\";\r\n\tvar consigneeAddress=\"\";\r\n\tvar consigneePhone=\"\";\r\n\tvar consignee_provinceId=0;\r\n\tvar consignee_province=\"\";\r\n\tvar consignee_cityId=0;\r\n\tvar consignee_city=\"\";\r\n\tvar consignee_countyId=0;\r\n\tvar consignee_county=\"\";\r\n\tvar consignee_townId=0;\r\n\tvar consignee_town=\"\";\r\n\tvar sendSeparate = false;\r\n\t// 常用发票id\r\n\tvar usualInvoiceId=0;\r\n\t// 电子发票\r\n\tvar electro_invoiceTitle=$('input:radio[name=\"electroInvoiceTitle\"]:checked').val();\r\n\tvar electro_phone=$(\"#e_consignee_mobile\").val();\r\n\tvar electro_email=$(\"#e_consignee_email\").val();\r\n\tvar electro_companyName = $(\"#electroCompanyName\").val();\r\n\tif (invoice_type == 1) {// 普票\r\n\t\tif ($(\"input:radio[name='normal-normalContent']\").html() != null) {\r\n\t\t\tinvoice_common_content = $(\r\n\t\t\t\t\t\"input:radio[name='normal-normalContent']:checked\").val();\r\n\t\t} else {\r\n\t\t\tinvoice_common_content = \"\";\r\n\t\t}\r\n\t\tif ($(\"input:radio[name='normal-bookContent']\").html() != null) {\r\n\t\t\tinvoice_book_content = $(\r\n\t\t\t\t\t\"input:radio[name='normal-bookContent']:checked\").val();\r\n\t\t} else {\r\n\t\t\tinvoice_book_content = \"\";\r\n\t\t}\r\n        // 实体礼品卡\r\n        if (isLipinkaPhysical()) {\r\n            if ($(\"#normal-invoice-content-lipinkaPhysical\").html() != null) {\r\n                invoice_common_content = $(\"#normal-invoice-content-lipinkaPhysical\").val();\r\n            } else {\r\n                invoice_common_content = \"\";\r\n            }\r\n\r\n        }\r\n\t} else if(invoice_type == 2){// 赠票\r\n\t\tif ($(\"input:radio[name='vat-normalContent']\").html() != null) {\r\n\t\t\tinvoice_common_content = $(\r\n\t\t\t\t\t\"input:radio[name='vat-normalContent']:checked\").val();\r\n\t\t} else {\r\n\t\t\tinvoice_common_content = \"\";\r\n\t\t}\r\n\t\tif ($(\"input:radio[name='vat-bookContent']\").html() != null) {\r\n\t\t\tinvoice_book_content = $(\r\n\t\t\t\t\t\"input:radio[name='vat-bookContent']:checked\").val();\r\n\t\t} else {\r\n\t\t\tinvoice_book_content = \"\";\r\n\t\t}\r\n\t\t// 获取增值税发票\r\n\t\tvat_companyName = $(\"#vat_companyName\").val();\r\n\t\tvat_code = $(\"#vat_code\").val();\r\n\t\tvat_address = $(\"#vat_address\").val();\r\n\t\tvat_phone = $(\"#vat_phone\").val();\r\n\t\tvat_bankName = $(\"#vat_bankName\").val();\r\n\t\tvat_bankAccount = $(\"#vat_bankAccount\").val();\r\n\t}else{\r\n\t\t// 电子发票内容\r\n\t\tif ($(\"input:radio[name='electro-bookContent']\").html() != null) {\r\n\t\t\tinvoice_book_content = $(\r\n\t\t\t\t\t\"input:radio[name='electro-bookContent']:checked\").val();\r\n\t\t} else {\r\n\t\t\tinvoice_book_content = \"\";\r\n\t\t}\r\n\t\tif ($(\"input:radio[name='electro-normalContent']\").html() != null) {\r\n\t\t\tinvoice_common_content = $(\r\n\t\t\t\"input:radio[name='electro-normalContent']:checked\").val();\r\n\t\t} else {\r\n\t\t\tinvoice_common_content = \"\";\r\n\t\t}\r\n\t}\r\n\tif(!$(\"#invoiceConsignee\").is(\":hidden\")){\r\n\t\tif(!$(\"#invoicesSendTypeDiv\").is(\":hidden\")){\r\n\t\t\tif($('input:radio[name=\"invoiceSendType\"]:checked').val()==\"3\"){\r\n\t\t\t\tsendSeparate = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\t// 收票人地址信息\r\n\t\tconsigneeName=$(\"#consignee_name\").val();\r\n\t\tconsigneeAddress=$(\"#consignee_address\").val();\r\n\t\tconsigneePhone=$(\"#consignee_mobile\").val();\r\n\t\tconsignee_provinceId=parseInt($(\"#consignee_province\").find(\"option:selected\").val());\r\n\t\tconsignee_province=$(\"#consignee_province\").find(\"option:selected\").text().replace(\"*\",\"\");\r\n\t\tconsignee_cityId=parseInt($(\"#consignee_city\").find(\"option:selected\").val());\r\n\t\tconsignee_city=$(\"#consignee_city\").find(\"option:selected\").text().replace(\"*\",\"\");\r\n\t\tconsignee_countyId=$(\"#consignee_county\").find(\"option:selected\").val();\r\n\t\tconsignee_county=$(\"#consignee_county\").find(\"option:selected\").text().replace(\"*\",\"\");\r\n\t\tconsignee_townId=$(\"#consignee_town\").find(\"option:selected\").val();\r\n\t\tconsignee_town=$(\"#consignee_town\").find(\"option:selected\").text().replace(\"*\",\"\");\r\n\t\tconsignee_countyId=(consignee_county==''||consignee_county==undefined)?0:parseInt(consignee_countyId);\r\n\t\tconsignee_townId=(consignee_townId==''||consignee_townId==undefined)?0:parseInt(consignee_townId);\r\n\t}\r\n\t\r\n\t// 发票类型验证\r\n\tif (isEmpty(invoice_type)) {\r\n\t\talert(\"请选择发票类型！\");\r\n\t\treturn;\r\n\t}\r\n\t// 普通发票验证\r\n\tif (invoice_type == 1) {\r\n\t\t// 发票抬头验证\r\n\t\tif (isEmpty(invoice_title)) {\r\n\t\t\talert(\"请选择发票抬头！\");\r\n\t\t\treturn;\r\n\t\t} else {\r\n\t\t\t// 抬头如果是单位验证\r\n\t\t\tif (invoice_title == 5) {\r\n\t\t\t\tif (isEmpty(invoice_companyName)) {\r\n\t\t\t\t\talert(\"请输入单位名称！\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (checkLength(invoice_companyName) < 2) {\r\n\t\t\t\t\t\talert(\"请填写完整单位名称！\");\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (100 < checkLength(invoice_companyName)) {\r\n\t\t\t\t\t\talert(\"单位名称过长,请重新输入！\");\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!is_forbid(invoice_companyName)) {\r\n\t\t\t\t\t\talert(\"单位名称含有非法字符！\");\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t//礼品购 发票单独邮寄 校验\r\n\t\tif(sendSeparate){\r\n\t\t\tvar checkInvoice = true;\r\n\t\t\t// 验证收货人信息是否正确\r\n\t\t\tif (!check_InvoiceConsignee(\"name_div\")) {\r\n\t\t\t\tcheckInvoice = false;\r\n\t\t\t}\r\n\t\t\t// 验证手机号码是否正确\r\n\t\t\tif (!check_InvoiceConsignee(\"call_phone_div\")) {\r\n\t\t\t\tcheckInvoice = false;\r\n\t\t\t}\r\n\t\t\t// 验证收货人地址是否正确\r\n\t\t\tif (!check_InvoiceConsignee(\"address_div\")) {\r\n\t\t\t\tcheckInvoice = false;\r\n\t\t\t}\r\n\t\t\t// 验证地区是否正确\r\n\t\t\tif (!check_InvoiceConsignee(\"area_div\")) {\r\n\t\t\t\tcheckInvoice = false;\r\n\t\t\t}\r\n\t\t\tif(!checkInvoice){\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t} else if (invoice_type == 2) { // 增值税发票验证\r\n\t\tvar checkAddValed = true;\r\n\t\t// 增值税单位名称验证\r\n\t\tif (!check_Invoice(\"vat_companyName\", vat_companyName)) {\r\n\t\t\tcheckAddValed = false;\r\n\t\t}\r\n\t\t// 增值税纳税人识别号验证\r\n\t\tif (!check_Invoice(\"vat_code\", vat_code)) {\r\n\t\t\tcheckAddValed = false;\r\n\t\t}\r\n\t\t// 增值税注册注册地址验证\r\n\t\tif (!check_Invoice(\"vat_address\", vat_address)) {\r\n\t\t\tcheckAddValed = false;\r\n\t\t}\r\n\t\t// 增值税注册电话验证\r\n\t\tif (!check_Invoice(\"vat_phone\", vat_phone)) {\r\n\t\t\tcheckAddValed = false;\r\n\t\t}\r\n\t\t// 增值税开户银行验证\r\n\t\tif (!check_Invoice(\"vat_bankName\", vat_bankName)) {\r\n\t\t\tcheckAddValed = false;\r\n\t\t}\r\n\t\t// 增值税开户银行账户验证\r\n\t\tif (!check_Invoice(\"vat_bankAccount\", vat_bankAccount)) {\r\n\t\t\tcheckAddValed = false;\r\n\t\t}\r\n\t\t// 验证收货人信息是否正确\r\n\t\tif (!check_InvoiceConsignee(\"name_div\")) {\r\n\t\t\tcheckAddValed = false;\r\n\t\t}\r\n\t\t// 验证手机号码是否正确\r\n\t\tif (!check_InvoiceConsignee(\"call_phone_div\")) {\r\n\t\t\tcheckAddValed = false;\r\n\t\t}\r\n\t\t// 验证收货人地址是否正确\r\n\t\tif (!check_InvoiceConsignee(\"address_div\")) {\r\n\t\t\tcheckAddValed = false;\r\n\t\t}\r\n\t\t// 验证地区是否正确\r\n\t\tvar provinceId = $(\"#consignee_province\").find(\"option:selected\").val();\r\n\t\tvar cityId = $(\"#consignee_city\").find(\"option:selected\").val();\r\n\t\tvar countyId = $(\"#consignee_county\").find(\"option:selected\").val();\r\n\t\tvar townId = $(\"#consignee_town\").find(\"option:selected\").val();\r\n\t\tif (isEmpty(provinceId) || isEmpty(cityId) || isEmpty(countyId)\r\n\t\t\t\t|| ($(\"#span_town\").html()!=\"\"&&!$(\"#span_town\").is(\":hidden\") && isEmpty(townId))) {\r\n\t\t\tcheckAddValed = false;\r\n\t\t\t$(\"#area_div_error\").html(\"请您填写完整的地区信息\");\r\n\t\t\t$(\"#area_div\").addClass(\"message\");\r\n\t\t}\r\n\t\tif (!checkAddValed) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t}else if(invoice_type == 3){//电子发票\r\n\t\tif(!check_electroInvoicePhone()){\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif(!check_electroInvoiceEmail()){\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t//电子发票抬头如果是单位验证单位名称\r\n\t\tif (electro_invoiceTitle == 5) {\r\n\t\t\tif (isEmpty(electro_companyName)) {\r\n\t\t\t\talert(\"请输入单位名称！\");\r\n\t\t\t\treturn;\r\n\t\t\t} else {\r\n\t\t\t\tif (checkLength(electro_companyName) < 2) {\r\n\t\t\t\t\talert(\"请填写完整单位名称！\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (100 < checkLength(electro_companyName)) {\r\n\t\t\t\t\talert(\"单位名称过长,请重新输入！\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (!is_forbid(electro_companyName)) {\r\n\t\t\t\t\talert(\"单位名称含有非法字符！\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tvar isUseNewInvoice = $(\"#invoice-add\").attr(\"checked\");\r\n\tvar invokeInvoiceBasicService =  $(\"#invokeInvoiceBasicService\").val();\r\n\t\r\n\tif (isUseNewInvoice) {\r\n\t\tif(invoice_type ==1 && !(invoice_book_content<=0 && invoice_common_content<=0)){\r\n\t\t\tvar param = \"invoiceParam.selectInvoiceTitle=\" + invoice_title\r\n\t\t\t\t\t+ \"&invoiceParam.companyName=\" + invoice_companyName;\r\n\t\t\tparam = param + \"&invokeInvoiceBasicService=\"+invokeInvoiceBasicService;\r\n\t\t\tparam = addFlowTypeParam(param);\r\n\t\t\tjQuery.ajax( {\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\tdataType : \"text\",\r\n\t\t\t\turl : OrderAppConfig.DynamicDomain + \"/invoice/addInvoiceToUsual.action\",\r\n\t\t\t\tdata : param,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t\tusualInvoiceId = 0;\r\n\t\t\t\t\tif(dataResult != null && dataResult != \"\"){\r\n\t\t\t\t\t\tif(!isNaN(dataResult)){\r\n\t\t\t\t\t\t\tusualInvoiceId=parseInt(dataResult);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar param = \"invoiceParam.selectedInvoiceType=\" + invoice_type\r\n\t\t\t\t\t+ \"&invoiceParam.companyName=\" + invoice_companyName\r\n\t\t\t\t\t+ \"&invoiceParam.selectInvoiceTitle=\" + invoice_title\r\n\t\t\t\t\t+ \"&invoiceParam.selectBookInvoiceContent=\" + invoice_book_content\r\n\t\t\t\t\t+ \"&invoiceParam.selectNormalInvoiceContent=\"+ invoice_common_content \r\n\t\t\t\t\t+ \"&invoiceParam.vatCompanyName=\"+ vat_companyName \r\n\t\t\t\t\t+ \"&invoiceParam.code=\" + vat_code\r\n\t\t\t\t\t+ \"&invoiceParam.regAddr=\" + vat_address\r\n\t\t\t\t\t+ \"&invoiceParam.regPhone=\" + vat_phone + \"&invoiceParam.regBank=\"+ vat_bankName\r\n\t\t\t\t\t+ \"&invoiceParam.regBankAccount=\" + vat_bankAccount\r\n\t\t\t\t\t+ \"&invoiceParam.hasCommon=\" + invoice_hasCommon\r\n\t\t\t\t\t+ \"&invoiceParam.hasBook=\" + invoice_hasBook+\"&invoiceParam.consigneeName=\"+consigneeName\r\n\t\t\t\t\t+\"&invoiceParam.consigneePhone=\"+consigneePhone+\"&invoiceParam.consigneeAddress=\"+consigneeAddress\r\n\t\t\t\t\t+\"&invoiceParam.consigneeProvince=\"+consignee_province+\"&invoiceParam.consigneeProvinceId=\"+consignee_provinceId\r\n\t\t\t\t\t+\"&invoiceParam.consigneeCity=\"+consignee_city+\"&invoiceParam.consigneeCityId=\"+consignee_cityId\r\n\t\t\t\t\t+\"&invoiceParam.consigneeCounty=\"+consignee_county+\"&invoiceParam.consigneeCountyId=\"+consignee_countyId\r\n\t\t\t\t\t+\"&invoiceParam.consigneeTown=\"+consignee_town+\"&invoiceParam.consigneeTownId=\"+consignee_townId+\"&invoiceParam.sendSeparate=\"+sendSeparate\r\n\t\t\t\t\t+\"&invoiceParam.usualInvoiceId=\"+usualInvoiceId\r\n\t\t\t\t\t+\"&invoiceParam.selectElectroTitle=\"+electro_invoiceTitle\r\n\t\t\t\t\t+\"&invoiceParam.electroCompanyName=\"+electro_companyName\r\n\t\t\t\t\t+\"&invoiceParam.electroInvoiceEmail=\"+electro_email+\"&invoiceParam.electroInvoicePhone=\"+electro_phone;\r\n\t\t\t\t\tparam = param + \"&invokeInvoiceBasicService=\"+invokeInvoiceBasicService;\r\n\t\t\t\t\tparam = addFlowTypeParam(param);\r\n\t\t\t\t\tjQuery.ajax( {\r\n\t\t\t\t\t\ttype : \"POST\",\r\n\t\t\t\t\t\tdataType : \"text\",\r\n\t\t\t\t\t\turl : OrderAppConfig.DynamicDomain + \"/invoice/saveInvoice.action\",\r\n\t\t\t\t\t\tdata : param,\r\n\t\t\t\t\t\tcache : false,\r\n\t\t\t\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t\t\t\t// 没有登录跳登录\r\n\t\t\t\t\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t// 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t\t\t\t\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\t\t\t\t\tvar message = getMessage(dataResult);\r\n\t\t\t\t\t\t\t\talert(message);\r\n\t\t\t\t\t\t\t\tback_Before(OrderAppConfig.Module_Invoice);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t// 成功后如果有divID直接放入div，没有则返回结果\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t$(\"#\" + OrderAppConfig.Module_Invoice).html(dataResult);\r\n\t\t\t\t\t\t\t\tif(invoice_common_content > 0){\r\n\t\t\t\t\t\t\t\t\t$(\"#sopNotPutInvoice\").val(\"false\");\r\n\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\t$(\"#sopNotPutInvoice\").val(\"true\");\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tshowSopInvoiceNote();\r\n\t\t\t\t\t\t\t\tsave_Module(OrderAppConfig.Module_Invoice);\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t   }\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t\t\t\t\tback_Before(OrderAppConfig.Module_Invoice);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\t}else{\r\n\t\tusualInvoiceId=$(\"input:radio[name='usualInvoiceList']:checked\").val();\r\n\t}\r\n\tif(invoice_type ==2 || invoice_type ==3 || usualInvoiceId==undefined){\r\n\t\tusualInvoiceId = 0;\r\n\t}\r\n\t\r\n\tvar param = \"invoiceParam.selectedInvoiceType=\" + invoice_type\r\n\t\t\t+ \"&invoiceParam.companyName=\" + invoice_companyName\r\n\t\t\t+ \"&invoiceParam.selectInvoiceTitle=\" + invoice_title\r\n\t\t\t+ \"&invoiceParam.selectBookInvoiceContent=\" + invoice_book_content\r\n\t\t\t+ \"&invoiceParam.selectNormalInvoiceContent=\"+ invoice_common_content \r\n\t\t\t+ \"&invoiceParam.vatCompanyName=\"+ vat_companyName \r\n\t\t\t+ \"&invoiceParam.code=\" + vat_code\r\n\t\t\t+ \"&invoiceParam.regAddr=\" + vat_address\r\n\t\t\t+ \"&invoiceParam.regPhone=\" + vat_phone + \"&invoiceParam.regBank=\"+ vat_bankName\r\n\t\t\t+ \"&invoiceParam.regBankAccount=\" + vat_bankAccount\r\n\t\t\t+ \"&invoiceParam.hasCommon=\" + invoice_hasCommon\r\n\t\t\t+ \"&invoiceParam.hasBook=\" + invoice_hasBook+\"&invoiceParam.consigneeName=\"+consigneeName\r\n\t\t\t+\"&invoiceParam.consigneePhone=\"+consigneePhone+\"&invoiceParam.consigneeAddress=\"+consigneeAddress\r\n\t\t\t+\"&invoiceParam.consigneeProvince=\"+consignee_province+\"&invoiceParam.consigneeProvinceId=\"+consignee_provinceId\r\n\t\t\t+\"&invoiceParam.consigneeCity=\"+consignee_city+\"&invoiceParam.consigneeCityId=\"+consignee_cityId\r\n\t\t\t+\"&invoiceParam.consigneeCounty=\"+consignee_county+\"&invoiceParam.consigneeCountyId=\"+consignee_countyId\r\n\t\t\t+\"&invoiceParam.consigneeTown=\"+consignee_town+\"&invoiceParam.consigneeTownId=\"+consignee_townId+\"&invoiceParam.sendSeparate=\"+sendSeparate\r\n\t\t\t+\"&invoiceParam.usualInvoiceId=\"+usualInvoiceId\r\n\t\t\t+\"&invoiceParam.selectElectroTitle=\"+electro_invoiceTitle\r\n\t\t\t+\"&invoiceParam.electroCompanyName=\"+electro_companyName\r\n\t\t\t+\"&invoiceParam.electroInvoiceEmail=\"+electro_email+\"&invoiceParam.electroInvoicePhone=\"+electro_phone;\r\n\tparam = param + \"&invokeInvoiceBasicService=\"+invokeInvoiceBasicService;\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : OrderAppConfig.DynamicDomain + \"/invoice/saveInvoice.action\",\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t\t// 没有登录跳登录\r\n\t\t\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t\t\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\t\t\tvar message = getMessage(dataResult);\r\n\t\t\t\t\t\talert(message);\r\n\t\t\t\t\t\tback_Before(OrderAppConfig.Module_Invoice);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 成功后如果有divID直接放入div，没有则返回结果\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t$(\"#\" + OrderAppConfig.Module_Invoice).html(dataResult);\r\n\t\t\t\t\t\tif(invoice_common_content > 0){\r\n\t\t\t\t\t\t\t$(\"#sopNotPutInvoice\").val(\"false\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t$(\"#sopNotPutInvoice\").val(\"true\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tshowSopInvoiceNote();\r\n\t\t\t\t\t\tsave_Module(OrderAppConfig.Module_Invoice);\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\tback_Before(OrderAppConfig.Module_Invoice);\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 使用新发票信息\r\n */\r\nfunction use_NewInvoice() {\r\n\tvar invokeInvoiceBasicService = $(\"#invokeInvoiceBasicService\").val();\r\n\tif(invokeInvoiceBasicService==\"true\"){\r\n\t\t$(\"#normal-invoice-1\").attr(\"checked\",true);\r\n\t\t$(\"#useNewInvoice\").attr(\"class\",\"item item-selected\");\r\n\t\t// 常用发票列表处于未选中状态\r\n\t\t$(\"input[name='usualInvoiceList']\").attr(\"checked\",false);\r\n\t\t// 去掉常用发票的底色\r\n\t\t$(\"#invoice-list\").find(\".item\").each(function(){\r\n\t\t\t$(this).attr(\"class\", \"item\");\r\n\t\t});\r\n\t\t// ---使用新发票，清空并设置默认值\r\n\t\t$(\"#invoice-add\").attr(\"checked\", \"checked\");\r\n\t\t\r\n\t\tshow_GenenalInvoiceDetail(0,false);\r\n\t\treturn;\r\n\t}\r\n\t\r\n\t$(\"#invoice_type\").show();\r\n\t$(\"#invoice_title\").show();\r\n\t$(\"#useNewInvoice\").attr(\"class\",\"item item-selected\");\r\n\t// 常用发票列表处于未选中状态\r\n\t$(\"#invoice-list\").find(\".hookbox\").each(function(){\r\n\t\t$(this).attr(\"checked\",\"\");\r\n\t});\r\n\t// 去掉常用发票的底色\r\n\t$(\"#invoice-list\").find(\".item\").each(function(){\r\n\t\t$(this).attr(\"class\", \"item\");\r\n\t});\r\n\t// 切换回普票\r\n\tchangeInvoiceType(1);\r\n\t// ---使用新发票，清空并设置默认值\r\n\t$(\"#invoice-add\").attr(\"checked\", \"checked\");\r\n\t$(\"#normal-invoice-1\").attr(\"checked\", \"checked\");\r\n\t$(\"#invoice-title-4\").attr(\"checked\", \"checked\");\r\n\t$(\"#electro-invoice-title-4\").attr(\"checked\", \"checked\");\r\n\t// 隐藏单位名称对话框\r\n\tshowCompanyDiv(4);\r\n\tshowElectroCompanyDiv(4);\r\n\t$(\"#companyNameText\").val(\"\");\r\n\t$(\"#normal_content_radio\").find(\".hookbox\").eq(0)\r\n\t\t\t.attr(\"checked\", \"checked\");\r\n\t$(\"#book_content_radio\").find(\".hookbox\").eq(0).attr(\"checked\", \"checked\");\r\n\t$(\"#electro_book_content_radio\").find(\".hookbox\").eq(0).attr(\"checked\", \"checked\");\r\n\tvar addInvoiceObj = $(\"#special-form\");\r\n\tvar isDisable = $(\"#vatCanEdit\").val();\r\n\tif (isDisable == \"false\") {\r\n\t\tif (addInvoiceObj != null) {\r\n\t\t\t$(\"#vat_normal_content_radio\").find(\".hookbox\").eq(0).attr(\"checked\",\r\n\t\t\t\t\t\"checked\");\r\n\t\t\t$(\"#vat_book_content_radio\").find(\".hookbox\").eq(0).attr(\"checked\",\r\n\t\t\t\t\t\"checked\");\r\n\t\r\n\t\t\t$(\"#vat_companyName\").val(\"\");\r\n\t\t\t$(\"#vat_code\").val(\"\");\r\n\t\t\t$(\"#vat_address\").val(\"\");\r\n\t\t\t$(\"#vat_phone\").val(\"\");\r\n\t\t\t$(\"#vat_bankName\").val(\"\");\r\n\t\t\t$(\"#vat_bankAccount\").val(\"\");\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * 删除常用发票信息\r\n * \r\n * @param id\r\n */\r\nfunction delete_Invoice(id) {\r\n\tvar actionUrl = OrderAppConfig.AsyncDomain\r\n\t\t\t+ \"/invoice/deleteInvoiceFromUsual.action\";\r\n\tvar invokeInvoiceBasicService =  $(\"#invokeInvoiceBasicService\").val();\r\n\tvar param = \"invoiceParam.usualInvoiceId=\" + id;\r\n\tparam = param + \"&invokeInvoiceBasicService=\"+invokeInvoiceBasicService;\r\n\tjQuery.ajax( {\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\tdataType : \"json\",\r\n\t\t\t\turl : actionUrl,\r\n\t\t\t\tdata : param,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t\t\t// 没有登录跳登录\r\n\t\t\t\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\t\t\t\tvar message = getMessage(dataResult);\r\n\t\t\t\t\t\t\talert(message);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tif (dataResult) {\r\n\t\t\t\t\t\t\t\tvar index = 0;\r\n\t\t\t\t\t\t\t\t// 重置一下总个数\r\n\t\t\t\t\t\tvar commonInvoiceSize = $(\"#commonInvoiceSize\").val();\r\n\t\t\t\t\t\tvar invoiceSize = parseInt(commonInvoiceSize);\r\n\t\t\t\t\t\tif (invoiceSize > 0) {\r\n\t\t\t\t\t\t\tinvoiceSize = invoiceSize - 1;\r\n\t\t\t\t\t\t\t$(\"#commonInvoiceSize\").val(\"\" + invoiceSize);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// 如果只有一个常用发票，则删除整个div\r\n\t\t\t\t\t\tif ($(\"#invoice-list\").find(\".hookbox\").size() == 1) {\r\n\t\t\t\t\t\t\t$(\"#invoice-r1-\" + id).parent().remove();\r\n\t\t\t\t\t\t\t$(\"#invoice-more-div\").remove();\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tuse_NewInvoice();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// 删除本条发票显示\r\n\t\t\t\t\t\t$(\"#invoice-r1-\" + id).parent().remove();\r\n\t\t\t\t\t\t// 改变索引\r\n\t\t\t\t\t\t$(\"#invoice-list\").find(\"div\").each(function() {\r\n\t\t\r\n\t\t\t\t\t\t\tif ($(this).attr(\"index\") != null) {\r\n\t\t\t\t\t\t\t\tindex = index + 1;\r\n\t\t\t\t\t\t\t\t$(this).attr(\"index\", index);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t// 如果没有选中的则默认选中第一个发票信息\r\n\t\t\t\t\t\tif ($(\"#invoice-list\").find(\".hookbox\").size() > 0\r\n\t\t\t\t\t\t\t\t&& $(\"#invoice-list\").find(\".hookbox[checked]\").size() == 0) {\r\n\t\t\t\t\t\t\tvar invoiceId = $(\"#invoice-list\").find(\".hookbox\").eq(0)\r\n\t\t\t\t\t\t\t\t\t.val();\r\n\t\t\t\t\t\t\t// 选择下一个发票\r\n\t\t\t\t\t\t\tif (invoiceId != null && invoiceId != \"\"\r\n\t\t\t\t\t\t\t\t\t&& parseInt(invoiceId) > 0) {\r\n\t\t\t\t\t\t\t\tchose_Invoice(invoiceId,true);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// 重新常用发票（删除后重新显示前五个）\r\n\t\t\t\t\t\trefresh_Invoice();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 删除后刷新常用发票信息\r\n * \r\n * @param obj\r\n */\r\nfunction refresh_Invoice() {\r\n\tvar size = $(\"#invoice-list\").find(\".item\").size();\r\n\t$(\"#invoice-list\").find(\".item\").each(function() {\r\n\t\tvar index = $(this).attr(\"index\");\r\n\t\tif (index != null || index != undefined) {\r\n\t\t\tvar indexNum = parseInt(index);\r\n\t\t\tif (indexNum <= 5) {\r\n\t\t\t\t$(this).show();\r\n\t\t\t} else {\r\n\t\t\t\t$(this).hide();\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\tvar commonInvoiceSize = $(\"#commonInvoiceSize\").val();\r\n\tif (commonInvoiceSize > 5) {\r\n\t\t$(\"#invoice-more-btn\").html(\r\n\t\t\t\t\"<span onclick=\\\"open_MoreInvoice()\\\">更多发票信息</span><s></s>\");\r\n\t} else {\r\n\t\t$(\"#invoice-more-btn\").hide();\r\n\t}\r\n}\r\n\r\n/**\r\n * 修改普通发票的寄送方式\r\n * \r\n * @param type\r\n */\r\nfunction changeGeneralInvoiceConsigneeSendType(type){\r\n\tif(type == \"3\"){\r\n\t\t$(\"#invoiceConsigneeDiv\").show();\r\n\t}else{\r\n\t\t$(\"#invoiceConsigneeDiv\").hide();\r\n\t}\r\n}\r\n\r\nfunction fillInvoiceConsigneeInfo(type){\r\n\tvar consigneeInfo = \"\";\r\n\tif(type ==\"1\"){\r\n\t\tvar generalInvoiceConsigneeInfo = $(\"#generalInvoiceConsigneeInfo\").val();\r\n\t\tif(!isEmpty(generalInvoiceConsigneeInfo) && !isEmpty(generalInvoiceConsigneeInfo.split(',')[0])){\r\n\t\t\tconsigneeInfo = generalInvoiceConsigneeInfo.split(',');\r\n\t\t}\r\n\t}else{\r\n\t\tvar vatConsigneeInfo = $(\"#vatConsigneeInfo\").val();\r\n\t\tif(!isEmpty(vatConsigneeInfo) && !isEmpty(vatConsigneeInfo.split(',')[0])){\r\n\t\t\tconsigneeInfo = vatConsigneeInfo.split(',');\r\n\t\t}\r\n\t}\r\n\tif(consigneeInfo!=\"\" && consigneeInfo.length>0){\r\n\t\t$(\"#consignee_name\").val(consigneeInfo[0]);\r\n\t\t$(\"#consignee_mobile\").val(consigneeInfo[1]);\r\n\t\t$(\"#consignee_address\").val(consigneeInfo[6]);\r\n\t\tloadAreaDetailForInvoiceConsingee(consigneeInfo[2],consigneeInfo[3],consigneeInfo[4],consigneeInfo[5]);\r\n\t}\r\n}\r\n\r\n\r\n\r\n// *************************************************支付和配送方式开始***************************************************************\r\n/**\r\n * 编辑支付方式\r\n */\r\nfunction edit_Payment(flag) {\r\n\t$(\"#payment-ship\").css({\r\n\t\tposition:\"static\"\r\n\t});\r\n\tif (!edit_before(OrderAppConfig.Module_PayAndShip)) {\r\n\t\treturn;\r\n\t}\r\n\tvar showPaymentUrl = OrderAppConfig.DynamicDomain\r\n\t\t\t+ \"/payAndShip/showPaymentList.action\";\r\n\tvar param = addFlowTypeParam();\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : showPaymentUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\tgoToLogin();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t\tif (isHasMessage(dataResult)) {\r\n\t\t\tvar message = getMessage(dataResult);\r\n\t\t\talert(message);\r\n\t\t\tback_Before(OrderAppConfig.Module_PayAndShip);\r\n\t\r\n\t\t\tif (message == \"请先保存收货人信息\") {\r\n\t\t\t\tedit_Consignee();\r\n\t\t\t}\r\n\t\t}\r\n\t\t// 成功后如果有divID直接放入div，没有则返回结果 \"payment-ship\";\r\n\t\telse {\r\n\t\t\t// 收货人地址保存提示\r\n\t\t\tif(flag==1){\r\n\t\t\t\t$(\"#save-payAndShip-tip\").html(\"<span class='save-consignee-payship'>由于您更改了收货人信息，请重新设置并<a href='#none'  style='color:#005EA7;' onclick='save_PayAndShip()'>保存支付及配送方式</a></span>\");\r\n\t\t\t}\r\n\t\t\t// 如果自动展开提示单独给出\r\n\t\t\telse if(flag==2){\r\n\t\t\t\t$(\"#save-payAndShip-tip\").html(\"<span class='save-consignee-payship'>请先<a href='#none' style='color:#005EA7;' onclick='save_PayAndShip()'>保存支付及配送方式</a>。如需修改收货人信息，请保存后再修改</span>\");\r\n\t\t\t}\r\n\t\t\t// 默认提示\r\n\t\t\telse{\r\n\t\t\t\t$(\"#\"+OrderAppConfig.Module_PayAndShip+\"_edit_action\").html(\"<a href='#none'  style='color:#005EA7;'  onclick='save_PayAndShip()'>保存支付及配送方式</a>\");\r\n\t\t\t}\r\n\t\t\t// TODO bianji\r\n\t\t\t$(\"#\" + OrderAppConfig.Module_PayAndShip + \"_edit_action\").show();\r\n\t\t\t$(\"#\" + OrderAppConfig.Module_PayAndShip).html(dataResult);\r\n\t\t\t// 获取选中的支付方式id\r\n\t\t\tvar paymentId = getSelectedPaymentId();\r\n\t\t\tif(4 != paymentId) {\r\n\t\t\t\t$(\"#payment-bankList\").hide();\r\n\t\t\t}\r\n\t\t\tif(4 == paymentId) {\r\n\t\t\t\t$(\"#payment-bankList\").show();\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tif(1 != paymentId) {\r\n\t\t\t\t$(\"#payment-factoryShipCod\").hide();\r\n\t\t\t}\r\n\t\t\tif(1 == paymentId) {\r\n\t\t\t\t$(\"#payment-factoryShipCod\").show();\r\n\t\t\t}\r\n// var installPay = $(\"#pay-method-8\").attr(\"checked\");\r\n//\t\t\r\n// if(installPay && isShowInstalmentPlan()) {\r\n// // 展示\r\n// $(\".payRemark_8\").show();\r\n// getInstallmentInfo();\r\n// } else {\r\n// // 不展示\r\n// $(\".payRemark_8\").hide();\r\n// }\r\n\t\t\tedit_Shipment(paymentId);\r\n\t\t\t// 选中的为加亮\r\n\t\t\tlightRadio(\"payAndShipParam.payId\", \"payItem\");\r\n\t\t\t// baitiao\r\n\t\t\tshowWhiteBar();\r\n\t\t\t\r\n\t}\r\n\t},\r\n\terror : function(XMLHttpResponse) {\r\n\talert(\"系统繁忙，请稍后再试！\");\r\n\tback_Before(OrderAppConfig.Module_PayAndShip);\r\n\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 是否显示打白条\r\n * \r\n */\r\nfunction showWhiteBar(){\r\n\ttry{\r\n\t\t$.getJSON(\"http://baitiao.jd.com/account/query?callback=?\",\r\n\t\t\t\tfunction(data){\r\n\t\t\t\t\tif(data==null){\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(data.result!=null && data.result.isSuccess && (data.status==2 || data.status==3 )){\r\n\t\t\t\t\t\t$(\".whiteBarSpanClass\").show();\r\n\t\t\t\t\t\t$(\"#baitiaomessage\").show();\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$(\".whiteBarSpanClass\").hide();\r\n\t\t\t\t\t\t$(\"#baitiaomessage\").hide();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t}catch(err){\r\n\t\t\r\n\t}\r\n}\r\n\r\n/**\r\n * 是否显示分期付款\r\n */\r\nfunction isShowInstalmentPlan(){\r\n\t// 分期付款改动 add by DXF\r\n\tvar instalmentPlan=$(\"#instalmentPlan\").val();\r\n\tif(!isEmpty(instalmentPlan) && instalmentPlan == \"true\"){\r\n\t\treturn true;\r\n\t}\r\n\telse{\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\nfunction getSelectedPaymentId() {\r\n\tvar paymentId = 4;\r\n\tpaymentId = $(\"input[name='payment'][checked]\").val();\r\n\treturn paymentId;\r\n}\r\n\r\n/**\r\n * 编辑配送方式\r\n * \r\n * @param type\r\n */\r\nfunction edit_Shipment(type) {\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain\r\n\t\t\t+ \"/payAndShip/getCombinationShipment.action\";\r\n\tvar param = \"paymentId=\"+type;\r\n    param = addFlowTypeParam(param);\r\n\tjQuery.ajax({\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\tdataType : \"text\",\r\n\t\t\t\turl : actionUrl,\r\n\t\t\t\tdata : param,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t\t// 没有登录跳登录\r\n\t\t\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t\t\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\t\t\tvar message = getMessage(dataResult);\r\n\t\t\t\t\t\talert(message);\r\n\t\t\t\t\t\tback_Before(OrderAppConfig.Module_Shipment);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 成功后如果有divID直接放入div，没有则返回结果\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t$(\"#\" + OrderAppConfig.Module_Shipment + \"_edit_action\")\r\n\t\t\t\t\t\t\t\t.show();\r\n\t\t\t\t\t\t$(\"#\" + OrderAppConfig.Module_Shipment)\r\n\t\t\t\t\t\t\t\t.html(dataResult);\r\n\t\t\t\t\t\t// 付款方式\r\n\t\t\t\t\t\tjdPayWay = $(\"input[name='jd-payway'][checked]\").val();\r\n\t\t\t\t\t\totherPayWay = $(\"input[name='other-payway'][checked]\").val();\r\n\t\t\t\t\t\t// 自提点\r\n\t\t\t\t\t\tif($(\"#pickSiteInfo\").html() != null){\r\n\t\t\t\t\t\t\tradioSelect({\r\n\t\t\t\t\t\t\t\tobj:$('.sment-box')\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// 预约配送311\r\n\t\t\t\t\t\tshowPromise311(type);\r\n\t\t\t\t\t\t// 预约配送411\r\n\t\t\t\t\t\tshowPromise411(type);\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$('#store-selector')\r\n\t\t\t\t    .bind('mouseover',function(){\r\n\t\t\t\t        $(this).addClass('hover');\r\n\t\t\t\t        $('iframe',this).css({\r\n\t\t\t\t        \theight:$('#store-selector .content').height()\r\n\t\t\t\t        });\r\n\t\t\t\t        $('iframe',this).css({\r\n\t\t\t\t        \theight:$(this).height()\r\n\t\t\t\t        });\r\n\t\t\t\t        $('#pickDate').blur();\r\n\t\t\t\t    })\r\n\t\t\t\t    .bind('mouseleave',function(){\r\n\t\t\t\t        $(this).removeClass('hover');\r\n\t\t\t\t    })\r\n\t\t\t\t    .find('.close').bind('click',function(){\r\n\t\t\t\t        $('#store-selector').removeClass('hover');\r\n\t\t\t\t    });\r\n\t\t\t\t},\r\n\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t\t\tback_Before(OrderAppConfig.Module_Shipment);\r\n\t\t\t\t}\r\n\t\t\t});\r\n}\r\n\r\n\r\n\r\nvar hData,dData;\r\n\r\n/**\r\n * 填充311预约配送日历数据\r\n */\r\nfunction showPromise311(paymentId){ \r\n\t\t\tjQuery.ajax({\r\n\t\t\t    type:\"POST\",\r\n\t\t\t    dataType:\"json\",\r\n\t\t\t    async:false,\r\n\t\t\t    url: OrderAppConfig.DynamicDomain+ \"/payAndShip/getPromise311.action?paymentId=\"+paymentId+addFlowTypeParam('&')+\"&rt=\"+ Math.random(),\r\n\t\t\t    success:function (data) {\r\n\t\t\t\t\tif (data != null&& data.support == true) {\r\n\t\t\t\t\t\t$(\"#promise-311\").html('<div class=\"t-item\"><input type=\"radio\" value=\"4\" class=\"hookbox\" name=\"delivery-t\" id=\"delivery-t4\"><label for=\"delivery-t4\">指定送货时间</label><input type=\"text\" id=\"date-311\" readonly=\"true\"/><input type=\"hidden\" name=\"sendPay311\" id=\"sendPay311\" /><input type=\"hidden\" name=\"day\" id=\"day\" /><input type=\"hidden\" id=\"range\" name=\"range\" /></div>');\t\t\t\r\n\t\t\t\t\t\thData = data.timeRangeTitle;\r\n\t\t\t\t\t\tdData = data.days;\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t$(\"#promise-311\").find(\"#date-311\").bind(\"click\",function(){\r\n\t\t\t\t\t\t\t$(\"#date-delivery\").show();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tinitCalendar();\r\n\t\t\t\t\t\t$(\"#delivery-t4\").attr('checked',true);\r\n\t\t\t\t\t\t$(\"#jdShipmentTip\").html(\"此订单支持预约配送，您可以选择指定的时间段\");\r\n\t\t\t\t\t\t$(\"#jdShipmentTip\").show();\r\n\t\t\t\t\t\tif(!isEmpty(data.tipMsg)){\r\n\t\t\t\t\t\t\t$(\"#promise311MsgTip\").html(\"<font color='#FF6600;'>&nbsp;&nbsp;（\"+data.tipMsg+\"）</font>\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t$(\"#promise311MsgTip\").html(\"\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(data.selected && !isEmpty(data.promiseSendPay)){\r\n\t\t\t\t\t\t\t$(\"#date-311\").val(data.show311Text);\r\n\t\t\t\t\t\t\t$(\"#day\").val(data.promiseDate);\r\n\t\t\t\t\t\t\t$(\"#sendPay311\").val(data.promiseSendPay);\r\n\t\t\t\t\t\t\t$(\"#range\").val(data.promiseTimeRange);\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\twindow.setTimeout(\"$('#date-311').click()\",300);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvar pData = data.promiseTime;\r\n\t\t\t\t\t\tif(pData != null){\r\n\t\t\t\t\t\t\tfor(var i=1;i<4;i++){\r\n\t\t\t\t\t\t\t\tvar message=pData[i];\r\n\t\t\t\t\t\t\t\tif(!isEmpty(message)){\r\n\t\t\t\t\t\t\t\t\t$(\"#promise-t\"+i).html(\"&nbsp;&nbsp;<font color='red'>\"+message+\"</font>\");\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t        }\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tshowCodeTime();\r\n\t\t\t\t\t}\r\n\t\t\t    },\r\n\t\t\t    error : function(XMLHttpResponse){\r\n\t\t\t    \tshowCodeTime();\r\n\t\t\t\t}\r\n\t\t\t});\r\n}\r\n\r\n/**\r\n * 显示配送方式显示的时间\r\n */\r\nfunction showCodeTime(){\r\n   $(\".t-item\").each(function(){\r\n\t  $(this).show();\r\n   });\r\n   $(\"#jdShipmentTip\").show();\r\n}\r\n\r\n/**\r\n * 选中promise\r\n */\r\nfunction selectedPromise(){\r\n\t$(\"#delivery-t4\").attr('checked',true);\r\n\t$('#date-311').click();\r\n}\r\n\r\n/**\r\n * 获得411急速达信息\r\n * \r\n * @param paymentId\r\n * @param shipmentId\r\n */\r\nfunction showPromise411(paymentId){\r\n\tvar actionUrl = OrderAppConfig.AsyncDomain+ \"/payAndShip/getPromise411.action\";\r\n\tvar param = \"paymentId=\"+paymentId;\r\n\tparam = addFlowTypeParam(param);\r\n\t\tjQuery.ajax( {\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"json\",\r\n\t\t\turl : actionUrl,\r\n\t\t\tdata : param,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(data, textStatus) {\r\n\t\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(data)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (data.support == true) {\r\n\t\t\t\tvar rapidShipmentTemplat = \"<div class='list payment-type'>\" +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"<div class='field'>\" +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"<input type='radio' name='delivery-t' id='delivery-t5' class='hookbox'  value='5'>\" +\r\n\t\t\t\t\t\t\t\t\t\t\t\t    \"<input type='hidden' id='sendPay411' value='\"+data.sendPay+\"'>\"+\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"</div>\" ;\r\n\t\t\t\tif(data.carriageMoney!=0){\r\n\t\t\t\t\trapidShipmentTemplat += \"<label for='delivery-t5' id='sendPay411_remarkInfo'>极速达&nbsp;&nbsp;(下单后或支付成功后3小时送达，运费\" + data.carriageMoney + \"元)</label>\";\r\n\t\t\t\t}else{\r\n\t\t\t\t\trapidShipmentTemplat += \"<label for='delivery-t5' id='sendPay411_remarkInfo'>极速达&nbsp;&nbsp;(下单后或支付成功后3小时送达，免运费)</label>\";\r\n\t\t\t\t}\r\n\t\t\t\trapidShipmentTemplat +=\t\"<span id='sendPay411_grayMsg' class='speed411'></span></div>\";\r\n\t\t\t\t$(\"#promise-411\").html(rapidShipmentTemplat);\r\n\t\t\t\tif(data.grayFlag == true){\r\n\t\t\t\t\t$(\"#delivery-t5\").attr(\"disabled\",true);\r\n\t\t\t\t\t$(\"#sendPay411_remarkInfo\").css(\"color\",\"#999999\");\r\n\t\t\t\t\t$(\"#sendPay411_grayMsg\").append(\"<a href='#none' class='tips-i' id='sendPay411-tip-btn'>&nbsp;</a>\");\r\n\t\t\t\t\t$('#sendPay411-tip-btn').Jtips({// 随点随帮tip弹出\r\n\t\t\t\t\t\t   \"content\":data.grayMsg,\r\n\t\t\t\t\t\t   \"close\":true,\r\n\t\t\t\t\t\t   \"position\": 'bottom'\r\n\t\t\t\t\t  });\r\n\t\t\t\t}else{\r\n\t\t\t\t\tif(data.selected == true){\r\n\t\t\t\t\t\t$(\"#delivery-t5\").attr(\"checked\",\"checked\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$(\"#delivery-t5\").attr(\"disabled\",false);\r\n\t\t\t\t}\r\n\t\t\t\t$(\".speed411\").hover(function(){\r\n\t\t\t\t\t$(\".bt-topp\").show();\r\n\t\t\t\t},function(){\r\n\t\t\t\t\t$(\".bt-topp\").hide();\r\n\t\t\t\t});\t\t\t\t\r\n\t\t\t}\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t}\r\n\t\t});\r\n}\r\n\r\n\r\n/**\r\n * 加载预约配送信息\r\n */\r\nfunction loadPromise(resetPromise311){\r\n//\tvar actionUrl =  OrderAppConfig.AsyncDomain + \"/payAndShip/getPromiseByCurrentOrder.action\";\r\n//\tvar param = addFlowTypeParam();\r\n//\tif(resetPromise311){\r\n//\t\tactionUrl=actionUrl+\"?resetPromise311=true\";\r\n//\t}\r\n//\tjQuery.ajax( {\r\n//\t\ttype : \"POST\",\r\n//\t\tdataType : \"json\",\r\n//\t\turl : actionUrl,\r\n//\t\tdata : param,\r\n//\t\tcache : false,\r\n//\t\tsuccess : function(data, textStatus) {\r\n//\t\t// 没有登录跳登录\r\n//\t\tif (isUserNotLogin(data)) {\r\n//\t\t\tgoToLogin();\r\n//\t\t\treturn;\r\n//\t\t}\r\n//\t\tif(data.openPayAndShip){\r\n//\t\t\tedit_Payment(1);\r\n//\t\t\treturn ;\r\n//\t\t}\r\n//\t\tif(!isEmpty(data.promiseMessage)){\r\n//\t\t\t$(\"#payment-ship_back\").remove();\r\n//\t\t\t$(\"#promise_jd_message\").html(\"&nbsp;&nbsp;<font color='red'>\"+data.promiseMessage+\"</font>\");\r\n//\t\t}\r\n//\t\tif(!isEmpty(data.show311Text)){\r\n//\t\t\t$(\"#promise311tip\").html(data.show311Text);\t\r\n//\t\t}\r\n//\t\t// 大家电配送异步加载\r\n//\t\tif(!isEmpty(data.bigItemShipDate)){\r\n//\t\t\t$(\"#bigItemShipDate\").html('<font color=\"#FF6600;\">'+data.bigItemShipDate+\"送货\"+'</font>');\t\r\n//\t\t}\r\n//\t\t// 大家电安装异步加载\r\n//\t\tif(!isEmpty(data.bigItemInstallDate)){\r\n//\t\t\t$(\".bigItemInstallInfoDateStr\").html(data.bigItemInstallDate);\t\r\n//\t\t}\r\n//\t\t// 411免运费\r\n//\t\tif(data.freeForSpeed){\r\n//\t\t\t$(\"#speedFreightNote\").text(\"下单后或支付成功后3小时之内送达，免运费\");\r\n//\t\t}else{\r\n//\t\t\t$(\"#speedFreightNote\").text(\"下单后或支付成功后3小时之内送达，需要加收运费49.00元\");\r\n//\t\t}\r\n//\t\t},\r\n//\t\terror : function(XMLHttpResponse) {\r\n//\t\t}\r\n//\t});\r\n}\r\n\r\n/**\r\n * 保存支付与配送方式\r\n */\r\n\r\nfunction save_PayAndShip() {\r\n    $(\"#payment-ship\").css({\r\n\t\tposition:\"relative\"\r\n\t});\r\n\tvar param = \"\";\r\n\t// var payid = $(\"#payment-ship\").find(\"input[type='radio']\").val();\r\n\tvar payid = $(\"input[name='payment'][checked]\").val();\r\n\t\r\n\tvar addMoney=0;\r\n\t// 如果支付方式是在线支付，把选择银行信息传到后台\r\n\tif(payid==4){\r\n\t\tparam = \"saveParam.paymentId=\" + payid ;\r\n\t// 分期付款\r\n\t}else if(payid==8){\r\n\t\tvar selectedBankId=$(\"input[name^='ins_banks'][checked]\").val();\r\n\t\tvar selectedPeriod=$(\"input[name^='ins_periods'][checked]\").val();\r\n\t\tparam = \"saveParam.paymentId=\" + payid +\"&saveParam.selectedBankId=\"+selectedBankId+\"&saveParam.selectedPeriod=\"+selectedPeriod;\r\n\t\t// 保存分期付款手续费\r\n\t\taddMoney = $(\"#add_money\").text();\r\n\t}\r\n\telse{\r\n\t\tparam = \"saveParam.paymentId=\" + payid;\r\n\t}\r\n\t// 京东配送\r\n\tvar jd_shipment = $(\"input[id='jd-shipment'][checked]\").val();\r\n\t// 京东三方配送\r\n\tvar other_shipment = $(\"input[id='other-shipment'][checked]\").val();\r\n\t// sop三方配送\r\n\tvar sop_other_shipment = $(\"input[id='sop-other-shipment'][checked]\").val();\r\n\t// 自提\r\n\tvar pick_shipment = $(\"input[id='pick-shipment'][checked]\").val();\r\n\t\r\n\tvar jdShipTime = 0;\r\n\t// var jdReserveTime = 0;\r\n\tvar jdNightShip = 0;\r\n\tvar jdBeforeNotify = 0;\r\n\tvar jdPayWay = 0;\r\n\tvar jdBigItemTime = 0;\r\n\tif (!isEmpty(jd_shipment)) {\r\n\t\tparam += \"&saveParam.jdShipmentType=\" + jd_shipment;\r\n\t\tif (!isEmpty($(\"#jd-delivery-time\").html())) {\r\n\t\t\tjdShipTime = $(\"input[name='delivery-t'][checked]\").val();\r\n\t\t\tparam += \"&saveParam.jdShipTime=\" + jdShipTime;\r\n\t\t}\r\n\t\t// ADDED BY DENGYOUYOU\r\n\t\tif (jdShipTime == 4) {\r\n\r\n\t\t\tpromiseDate =  $(\"#day\").val();\r\n\t\t\tpromiseTimeRange =  $(\"#range\").val();\r\n\t\t\tpromiseSendPay = $(\"#sendPay311\").val();\r\n            // 日历为空没有选择给一个默认的过期时间，异步验证会取最近的时间，提升用户体验\r\n\t\t\tif (promiseDate == null || promiseDate == \"\") {\r\n\t\t\t\tpromiseDate = \"2011-06-27\";\r\n\t\t\t\tpromiseSendPay = \"{'1':1,'35':0,'30':1}\";\r\n\t\t\t\tpromiseTimeRange= \"9:00-15:00\";\r\n\t\t\t}\r\n\t\t\tparam += \"&saveParam.promiseType=1&saveParam.promiseDate=\"+promiseDate+\"&saveParam.promiseTimeRange=\"+promiseTimeRange+\"&saveParam.promiseSendPay=\"+promiseSendPay;\r\n\t\t}\r\n\t\t// add by DXF 411急速达\r\n\t\telse if(jdShipTime == 5){\r\n\t\t\tpromiseSendPay = $(\"#sendPay411\").val();\r\n\t\t\tif(isEmpty(promiseSendPay)){\r\n\t\t\t\tparam += \"&saveParam.promiseType=2\";\r\n\t\t\t}else{\r\n\t\t\t\tparam += \"&saveParam.promiseType=2&saveParam.promiseSendPay=\" + promiseSendPay;\r\n\t\t\t}\r\n\t\t}\r\n\t\r\n\t\tif (!isEmpty($(\"#jd-night-ship\").html())) {\r\n\t\t\tjdNightShip = $(\"#jdNightShipId\").attr(\"checked\");\r\n\t\t\tparam += \"&saveParam.canJdNightShip=\" + jdNightShip;\r\n\t\t}\r\n\t\r\n\t\tif (!isEmpty($(\"#jd-before-notify\").html())) {\r\n\t\t\tjdBeforeNotify = $(\"input[name='jd-inform'][checked]\").val();\r\n\t\t\tparam += \"&saveParam.jdBeforeNotify=\" + jdBeforeNotify;\r\n\t\t}\r\n\t\r\n\t\tif (!isEmpty($(\"#jd-payment-way\").html())) {\r\n\t\t\tjdPayWay = $(\"input[name='jd-payway'][checked]\").val();\r\n\t\t\tif(!isEmpty(jdPayWay)){\r\n\t\t\t\tparam += \"&saveParam.jdPayWayId=\" + jdPayWay;\r\n\t\t\t\tparam += \"&saveParam.jdCheckType=2\";\r\n\t\t\t}\r\n\t\t}\r\n\t\r\n\t\tif (!isEmpty($(\"#jd-bigItem-ship\").html())) {\r\n\t\t\tjdBigItemTime = $(\"#jd-bigItem-ship-date\").val();\r\n\t\r\n\t\t\tif (jdBigItemTime == -1) {\r\n\t\t\t\talert(\"请选择大件商品送货时间\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tparam += \"&saveParam.jdBigItemTime=\" + jdBigItemTime;\r\n\t\t\t// 是否选择大家电晚间配送\r\n\t\t\tif ($(\"#bigItemNightShip\").attr(\"checked\")) {\r\n\t\t\t\tparam += \"&saveParam.selectedBigItemNightShip=true\";\r\n\t\t\t}\r\n\t\t\tif($('#jd-bigItem-install-date').length>0){\r\n\t\t\t\tselectBigItemInstallTime = $('#jd-bigItem-install-date').val();\r\n\t\t\t\tif(selectBigItemInstallTime == -1){\r\n\t\t\t\t\talert(\"请选择大件商品安装时间\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tparam += \"&saveParam.selectJdBigItemInstallTime=\"+selectBigItemInstallTime;\r\n\t\t\t}else{\r\n\t\t\t\tparam += \"&saveParam.selectJdBigItemInstallTime=-1\";\r\n\t\t\t}\r\n\t\t}else{\r\n\t\t\tparam += \"&saveParam.jdBigItemTime=-1&saveParam.selectJdBigItemInstallTime=-1\";\r\n\t\t}\r\n\t}\r\n\t\r\n\tvar otherShipTime = 0;\r\n\tvar otherReserveTime = 0;\r\n\tvar canOtherNightShip = 0;\r\n\tvar otherBigIntemInstallOffset = 0;\r\n\tif (!isEmpty(other_shipment)) {\r\n\t\tparam += \"&saveParam.otherShipmentType=\" + other_shipment;\r\n\t\tif (!isEmpty($(\"#other-delivery-time\").html())) {\r\n\t\t\totherShipTime = $(\"input[name='delivery-t'][checked]\").val();\r\n\t\t\tparam += \"&saveParam.otherShipTime=\" + otherShipTime;\r\n\t\t}\r\n\t\r\n\t\t// 中小件预约配送\r\n\t\tif (otherShipTime == 4) {\r\n\t\t\totherReserveTime = $(\"#reserve-time\").val();\r\n\t\t\tif (otherReserveTime == -1) {\r\n\t\t\t\talert(\"请选择中小件预约配送时间\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tparam += \"&saveParam.otherReserveTime=\" + otherReserveTime;\r\n\t\t}\r\n\t\r\n\t\t// 夜间配送\r\n\t\tif (!isEmpty($(\"#night-ship\").html())) {\r\n\t\t\tcanOtherNightShip = $(\"#nightShipId\").attr(\"checked\");\r\n\t\t\tparam += \"&saveParam.canOtherNightShip=\" + canOtherNightShip;\r\n\t\t}\r\n\t\t\r\n\t\t// 付款方式\r\n\t\tif (!isEmpty($(\"#other-payment-way\").html())) {\r\n\t\t\tjdPayWay = $(\"input[name='other-payway'][checked]\").val();\r\n\t\t\tif(!isEmpty(jdPayWay)){\r\n\t\t\t\tparam += \"&saveParam.otherPayWayId=\" + jdPayWay;\r\n\t\t\t\tparam += \"&saveParam.otherCheckType=2\";\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t// 大家电\r\n\t\tif (!isEmpty($(\"#other-bigItem-ship\").html())) {\r\n\t\t\totherBigIntemInstallOffset = $(\"#other-bigItem-ship-date\").val();\r\n\t\t\tif (otherBigIntemInstallOffset == -1) {\r\n\t\t\t\talert(\"请选择大件商品送货时间\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tparam += \"&saveParam.otherBigIntemInstallOffset=\" + otherBigIntemInstallOffset;\r\n\t\t\tif($('#other-bigItem-install-date').length>0){\r\n\t\t\t\tselectBigItemInstallTime = $('#other-bigItem-install-date').val();\r\n\t\t\t\tif(selectBigItemInstallTime == -1){\r\n\t\t\t\t\talert(\"请选择大件商品安装时间\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tparam += \"&saveParam.selectOtherBigItemInstallTime=\"+selectBigItemInstallTime;\r\n\t\t\t}else{\r\n\t\t\t\tparam += \"&saveParam.selectOtherBigItemInstallTime=-1\";\r\n\t\t\t}\r\n\t\t}else{\r\n\t\t\tparam += \"&saveParam.otherBigIntemInstallOffset=-1&saveParam.selectOtherBigItemInstallTime=-1\";\r\n\t\t}\r\n\t\r\n\t}\r\n\t\r\n\tif (!isEmpty(sop_other_shipment)) {\r\n\t\tparam += \"&saveParam.sopOtherShipmentType=\" + sop_other_shipment;\r\n\t}\r\n\t\r\n\tvar pickSiteId = \"\";\r\n\tvar pickDate = \"\";\r\n\tif (!isEmpty(pick_shipment)) {\r\n\t\tparam += \"&saveParam.pickShipmentType=\" + pick_shipment;\r\n\t\tpickSiteId = $(\"input[name='pick'][checked]\").val();\r\n\t\tvar pickRegionId = $(\"#selectedRegionId\").val();\r\n\t\t// var num = $(\"#address-more-txt\").attr(\"page-no\");\r\n\t\tvar pickSiteNum = 5;\r\n\t\tif(isEmpty(pickSiteId)){\r\n\t\t\talert(\"请选择自提站点\");\r\n\t\t\treturn;\r\n\t\t}\t\r\n\t\tparam += \"&saveParam.pickSiteId=\" + pickSiteId;\r\n\t\t// 自提柜无需获取自提时间\r\n\t\tif (pick_shipment != 19) {\r\n\t\t\tpickDate = $(\"#pickDate\").val();\r\n\t\t\tparam += \"&saveParam.pickDate=\" + pickDate;\r\n\t\t}\r\n\t\tparam += \"&saveParam.pickSiteNum=\" + pickSiteNum;\r\n\t\tif(isEmpty(pickRegionId)){\r\n\t\t\tpickRegionId=\"-1\";\r\n\t\t}\r\n\t\tparam += \"&saveParam.pickRegionId=\" + pickRegionId;\r\n\t\t\r\n\t\t\r\n\t}\r\n\tparam = addFlowTypeParam(param);\r\n\t$(\".loading\").css(\"display\", \"block\");\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : OrderAppConfig.DynamicDomain + \"/payAndShip/savePayAndShip.action\",\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t// 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\tvar message = getMessage(dataResult);\r\n\t\t\t\talert(message);\r\n\t\t\t\tback_Before(OrderAppConfig.Module_PayAndShip);\r\n\t\t\t}\r\n\t\t\t// 成功后如果有divID直接放入div，没有则返回结果\r\n\t\t\telse {\r\n\t\t\t\t$(\"#\" + OrderAppConfig.Module_PayAndShip).html(dataResult);\r\n\t\t\t\tsave_Module(OrderAppConfig.Module_PayAndShip);\r\n\t\t\t\t// 刷新价格\r\n\t\t\t\tflushOrderPrice(eval(\"(\" +$(dataResult).find(\"#orderPricePayAndShip\").val() + \")\"),false);\r\n\t\t\t\t// 取消使用京豆（避免价格变化导致可使用京豆数不准）\r\n\t\t\t\tuseCancelEditJdBean(0,null,true);\r\n\t\t\t\t// 保存完支付配送重新刷新商品清单\r\n\t\t\t\t$(\"#span-skulist\").html($(\"#savePayAndShipSkuList\").val());\t\t\t\t\r\n\t\t\t\t// 以旧换新逻辑\r\n\t\t\t\tif($(\"#payment-ship\").find(\"#canReplacement\").val()==\"true\"){\r\n\t\t\t\t\t$(\"#oldReplaceNewDiv\").show();\r\n\t\t\t\t\tif($(\"#payment-ship\").find(\"#useReplacement\").val()==\"true\"){\r\n\t\t\t\t\t\t$(\"#oldReplaceNew\").attr(\"checked\",\"checked\");\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$(\"#oldReplaceNew\").attr(\"checked\",\"\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$(\"#oldReplaceNewDiv\").hide();\r\n\t\t\t\t}\r\n\t\t\t\tvar replacementDiscount=$(\"#payment-ship\").find(\"#replacementDiscount\").val();\r\n\t\t\t\tvar replacementPrice=$(\"#replacementPrice\").text().replace(\"每件商品立减\",\"\").replace(\"元\",\"\");;\r\n\t\t\t\tif(replacementDiscount!=replacementPrice){\r\n\t\t\t\t\tgoOrder();\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t// 修改分期付款手续费\r\n\t\t\t\tvar periodFee = parseFloat(addMoney).toFixed(2);\r\n\t\t\t\tif(periodFee > 0) {\r\n\t\t\t\t\t$(\"#showPeriodFee\").css(\"display\", \"none\");\r\n\t\t\t\t\t$(\"#periodFee\").text(\"￥\"+periodFee);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(\"#showPeriodFee\").css(\"display\", \"none\");\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tif($(dataResult).find(\"#factoryShipCod\").val()==\"true\"){\r\n\t\t\t\t\t$('#factoryShipCodShowDivBottom').css(\"display\",\"block\");\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$('#factoryShipCodShowDivBottom').css(\"display\",\"none\");\r\n\t\t\t\t}\t\t\t\r\n\t\t\t\tisNeedPaymentPassword(); // 是否需要支付密码\r\n\t\t\t\tloadPromise(false);\r\n\t\t\t\tcopyFreightHtml();\r\n\t\t\t\tloadSkuListStock();// 加载商品库存\r\n\t\t\t\tshowTangJiuSkuIcon();// 加载Icon\r\n\t\t\t\tshowWhiteBar();\r\n\t\t\t\t\r\n\t\t\t\tvar isNeedOpenInvoice = $(\"#isNeedOpenInvoice\").val();// 隐藏域，判断修改地址后，是否需要修改发票信息，广州机构比较特殊\r\n\t\t\t\tif(isNeedOpenInvoice != \"false\"){\r\n\t\t\t\t\tedit_Invoice() ;\r\n\t\t\t\t}\r\n\t\t\t\twindow.location.hash=\"consigneeFocus\";\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\tback_Before(OrderAppConfig.Module_PayAndShip);\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction removeMessageTip(){\r\n\t$(\"#save-payAndShip-tip\").html(\"\");\r\n\t$(\"#save-consignee-tip\").html(\"\");\r\n\t$(\"#save-invoice-tip\").html(\"\");\r\n}\r\n\r\n/**\r\n * 用户选中支付方式radio弹出层显示支持与不支持的商品列表\r\n * \r\n * @param obj\r\n */\r\nvar YP_Sku_Flag = null;\r\n\r\nfunction showSkuDialog(obj) {\r\n\tif($(obj).attr(\"payid\") != 4) {\r\n\t\t$(\"#payment-bankList\").hide();\r\n\t} \r\n\tif($(obj).attr(\"payid\") == 4) {\r\n\t\t$(\"#payment-bankList\").show();\r\n\t}\r\n\t\r\n\tif($(obj).attr(\"payid\") != 1) {\r\n\t\t$(\"#payment-factoryShipCod\").hide();\r\n\t}\r\n\tif($(obj).attr(\"payid\") == 1) {\r\n\t\t$(\"#payment-factoryShipCod\").show();\r\n\t}\r\n\t\r\n\tif($(obj).attr(\"payid\") == 8 && isShowInstalmentPlan()) {\r\n\t\t\r\n\t\t$(\"#payRemark_8\").show();\r\n\t}\r\n\tif($(obj).attr(\"payid\") != 8) {\r\n\t\t$(\"#payRemark_8\").hide();\r\n\t}\r\n\tif(YP_Sku_Flag){\r\n\t\tYP_Sku_Flag = $(obj).parents('.item').parent().find('.item-selected :radio');\r\n\t }\r\n\t\r\n\t var payArr = $(\"[id^='pay-method-']\");\r\n\t for(var i = 0 ;i < payArr.length ;i++){\r\n\t\t $(payArr[i]).parent().parent().removeClass(\"item-selected\");\r\n\t\t var itempayid=$(payArr[i]).parent().parent().attr(\"payid\");\r\n\t\t\r\n\t\t $(\"#supportPaySkus-\" + itempayid).css(\"display\", \"none\");\r\n\t\t// $(\"#otherSupportSkus-\" + itempayid).css(\"display\", \"none\");\r\n\t\t \r\n\t }\r\n\t var selectedPay = $(obj).parent().parent();\r\n\t selectedPay.addClass(\"item-selected\");\r\n\t \r\n\tvar payId = $(obj).attr(\"payid\");\r\n\t// 清除其他选项的选中状态\r\n\tvar itemList=$(\".payment\").find('.item');\r\n\tfor(var i = 0 ;i < itemList.length ;i++){\r\n\t\tvar item = itemList[i];\r\n\t\tvar $item = $(item);\r\n\t\t$item.height(28);\r\n\t\t$item.find(\".label\").find(\"span\").hide();\r\n\t\t$item.find(\".label\").find(\".orange\").show();\r\n\t\t$item.find(\".sment-mark\").css(\"display\",\"none\");\r\n\t}\r\n// if(payId == 8) {\r\n// getInstallmentInfo();\r\n// $(\"#showPeriodFee\").hide();\r\n// } else {\r\n// $(\"#showPeriodFee\").hide();\r\n// }\r\n\t\r\n\tvar dialogDiv = $(\"#payment-dialog-\" + payId)[0];\r\n\tif (!!dialogDiv) {\r\n\t\t$.jdThickBox(\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\twidth : 550,\r\n\t\t\t\t\t\t\theight : 330,\r\n\t\t\t\t\t\t\ttitle : \"请确认支付方式\",\r\n\t\t\t\t\t\t\t_box : \"payment_dialog\",\r\n\t\t\t\t\t\t\t_con : \"payment_dialog_box\",\r\n\t\t\t\t\t\t\t_close : \"payment_dialog_close\",\r\n\t\t\t\t\t\t\t// source: $(\"#payment-dialog\") // 当指定type时，页面元素容器\r\n\t\t\t\t\t\t\tsource : '<div class=\"iloading\" style=\"padding:20px;\">正在加载中...<\\/div>'\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tfunction() {\r\n\t\t\t\t\t\t\t$(\"#payment_dialog, #payment_dialog_box\").css(\"height\", \"auto\");\r\n\r\n\t\t\t\t\t\t\tvar PDHTML = $(\"#payment-dialog-\" + payId)[0].value;\r\n\r\n\t\t\t\t\t\t\t$(\"#payment_dialog_box\").html(PDHTML);\r\n\r\n\t\t\t\t\t\t\t$(\"#dialog-enter-\" + payId).bind(\"click\",\r\n\t\t\t\t\t\t\t\t\tfunction() {\r\n\t\t\t\t\t\t\t\t\t\t// 清除其他选项的选中状态\r\n\t\t\t\t\t\t\t\t\t\tvar itemList=$(\".payment\").find('.item');\r\n\t\t\t\t\t\t\t\t\t\tfor(var i = 0 ;i < itemList.length ;i++){\r\n\t\t\t\t\t\t\t\t\t\t\tvar item = itemList[i];\r\n\t\t\t\t\t\t\t\t\t\t\tvar $item = $(item);\r\n\t\t\t\t\t\t\t\t\t\t\t$item.height(28);\r\n\t\t\t\t\t\t\t\t\t\t\t$item.find(\".label\").find(\"span\").hide();\r\n\t\t\t\t\t\t\t\t\t\t\t$item.find(\".label\").find(\".orange\").show();\r\n\t\t\t\t\t\t\t\t\t\t\t$item.find(\".sment-mark\").css(\"display\",\"none\");\r\n\t\t\t\t\t\t\t\t\t\t}\r\n// $(\"#otherSupportSkus-\"+type).css(\"display\",\"\");\r\n\t\t\t\t\t\t\t\t       // alert( $(\"#supportPaySkus-\" +\r\n\t\t\t\t\t\t\t\t\t\t// payId).val())\r\n\t\t\t\t\t\t\t\t        $(\"#supportPaySkus-\" + payId).css(\"display\", \"inline-block\");\r\n\t\t\t\t\t\t\t\t        $(\"#otherSupportSkus-\"+payId).css(\"display\",\"block\");\r\n\t\t\t\t\t\t\t\t        \r\n\t\t\t\t\t\t\t\t\t\t      \r\n\t\t\t\t\t\t\t\t        edit_Shipment(payId);\r\n\t\t\t\t\t\t\t\t\t    jdThickBoxclose();\r\n\t\t\t\t\t\t\t\t\t    if($(\"#otherSupportSkus-\"+payId)&&$(\"#otherSupportSkus-\"+payId).length>0&&$(\"#otherSupportSkus-\"+payId).find('span').size()>0){\r\n\t\t\t\t\t\t\t\t\t\t\t selectedPay.height(56);\r\n\t\t\t\t\t\t\t\t\t\t }else{\r\n\t\t\t\t\t\t\t\t\t\t\t selectedPay.height(28);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tYP_Sku_Flag=obj;\r\n\t\t\t\t\t\t\t\t\t\t$(obj).attr(\"checked\",\"checked\");\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t$(\"#dialog-cancel-\" + payId).bind(\"click\",\r\n\t\t\t\t\t\t\t\t\tfunction() {\r\n\t\t\t\t\t\t\t\t        \r\n\t\t\t\t\t\t\t\t\t\t\tvar itemList=$(\".payment\").find('.item');\r\n\t\t\t\t\t\t\t\t\t\t\tfor(var i = 0 ;i < itemList.length ;i++){\r\n\t\t\t\t\t\t\t\t\t\t\t\tvar item = itemList[i];\r\n\t\t\t\t\t\t\t\t\t\t\t\tvar $item = $(item);\r\n\t\t\t\t\t\t\t\t\t\t\t\t$item.height(28);\r\n\t\t\t\t\t\t\t\t\t\t\t\t$item.find(\".label\").find(\"span\").hide();\r\n\t\t\t\t\t\t\t\t\t\t\t\t$item.find(\".label\").find(\".orange\").show();\r\n\t\t\t\t\t\t\t\t\t\t\t\t$item.find(\".sment-mark\").css(\"display\",\"none\");\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tjdThickBoxclose();\r\n\t\t\t\t\t\t\t\t\t\t$(obj).attr('checked',false);\r\n\t\t\t\t\t\t\t\t\t\t$(obj).parents(\".item\").removeClass('item-selected');\r\n\t\t\t\t\t\t\t\t\t\t$(\"#pay-method-4\").attr('checked',true);\r\n\t\t\t\t\t\t\t\t\t\t$(\"#pay-method-4\").parents(\".item\").addClass('item-selected');\r\n\t\t\t\t\t\t\t\t\t\tedit_Shipment(4);\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t}else{\r\n\t\t edit_Shipment(payId);\r\n\t}\r\n\r\n}\r\n\r\n/**\r\n * 支付配送展开后的弹窗\r\n * \r\n * @param id\r\n * @param skuDivId\r\n * @return\r\n */\r\nfunction showShipmentSkuList(id, skuDivId){\r\n\t$(\"#\" + skuDivId).removeClass(\"hide\").show();\r\n\tvar offset = $(\"#\" + id).position();\r\n\tvar x = offset.left + 60;\r\n\t$('#' + skuDivId).show().css({\r\n\t\tleft: x,\r\n\t\ttop: -2\r\n\t});\r\n}\r\n\r\n/**\r\n * 支付配送关闭后的配送的弹窗\r\n * \r\n * @param id\r\n * @param SkuDiagId\r\n * @return\r\n */\r\nfunction showShipmentSkuListOutside(id,SkuDiagId){\r\n\tif($(\"#payment-ship\").find(\"#payment-window-1\").html()!=null){\r\n\t\t$(\"#payment-ship\").find(\"#payment-window-1\").hide();\r\n\t}\r\n\tif($(\"#payment-ship\").find(\"#payment-window-2\").html()!=null){\r\n\t\t$(\"#payment-ship\").find(\"#payment-window-2\").hide();\r\n\t}\r\n\tif($(\"#payment-ship\").find(\"#pick-show-sku-out-1\").html()!=null){\r\n\t\t$(\"#payment-ship\").find(\"#pick-show-sku-out-1\").hide();\r\n\t}\r\n\tif($(\"#payment-ship\").find(\"#pick-show-sku-out-2\").html()!=null){\r\n\t\t$(\"#payment-ship\").find(\"#pick-show-sku-out-2\").hide();\r\n\t}\r\n\tif($(\"#payment-ship\").find(\"#pick-show-sku-out-3\").html()!=null){\r\n\t\t$(\"#payment-ship\").find(\"#pick-show-sku-out-3\").hide();\r\n\t}\r\n\tvar topDistance=parseInt(id.substring(id.length-1,id.length)-1)*20;\r\n    $(\"#payment-ship\").find(\"#\"+SkuDiagId).css({\r\n\t\tposition:\"absolute\",\r\n\t\ttop:(20+topDistance)+\"px\",\r\n\t\tleft:130,\r\n\t\tdisplay:\"block\"\r\n    });\r\n\t\r\n}\r\n\r\n/**\r\n * 支付配送关闭后的支付方式的弹窗\r\n * \r\n * @param id\r\n * @param SkuDiagId\r\n * @return\r\n */\r\nfunction showPaymentSkuListOutside(id,SkuDiagId){\r\n\tif($(\"#payment-ship\").find(\"#payment-window-1\").html()!=null){\r\n\t\t$(\"#payment-ship\").find(\"#payment-window-1\").hide();\r\n\t}\r\n\tif($(\"#payment-ship\").find(\"#payment-window-2\").html()!=null){\r\n\t\t$(\"#payment-ship\").find(\"#payment-window-2\").hide();\r\n\t}\r\n\tif($(\"#payment-ship\").find(\"#pick-show-sku-out-1\").html()!=null){\r\n\t\t$(\"#payment-ship\").find(\"#pick-show-sku-out-1\").hide();\r\n\t}\r\n\tif($(\"#payment-ship\").find(\"#pick-show-sku-out-2\").html()!=null){\r\n\t\t$(\"#payment-ship\").find(\"#pick-show-sku-out-2\").hide();\r\n\t}\r\n\tif($(\"#payment-ship\").find(\"#pick-show-sku-out-3\").html()!=null){\r\n\t\t$(\"#payment-ship\").find(\"#pick-show-sku-out-3\").hide();\r\n\t}\r\n\t\r\n\tvar distance=0;\r\n\tif($.trim($(\"#payment-ship\").find(\"#pay-name-for-window-1\").text()).length==5){\r\n\t\tdistance=8;\r\n\t}else if($.trim($(\"#payment-ship\").find(\"#pay-name-for-window-1\").text()).length==7){\r\n\t\tdistance=36;\r\n\t}else if($.trim($(\"#payment-ship\").find(\"#pay-name-for-window-1\").text()).length==8){\r\n\t\tdistance=46;\r\n\t}\r\n\tif(\"pay-name-for-window-1\"==id){\r\n\t\t$(\"#payment-ship\").find(\"#payment-window-1\").css({\r\n\t\t\tposition:\"absolute\",\r\n\t\t\ttop:-4,\r\n\t\t\tleft:(165+distance)+\"px\",\r\n\t\t\tdisplay:\"block\"\r\n        });\r\n\t}else{\r\n\t\tif($.trim($(\"#payment-ship\").find(\"#check-info-name\").text())!=\"\"){\r\n\t\t\tdistance+=368;\r\n\t\t}\r\n\t\t$(\"#payment-ship\").find(\"#payment-window-2\").css({\r\n\t\t\tposition:\"absolute\",\r\n\t\t\ttop:-4,\r\n\t\t\tleft:(225+distance)+\"px\",\r\n\t\t\tdisplay:\"block\"\r\n        });\r\n\t}\r\n}\r\n\r\n\r\n/**\r\n * 支付配送关闭后的配送方式商品弹窗\r\n * \r\n * @param skuId\r\n * @return\r\n */\r\nfunction removeShipmentSkuListOutside(skuId){\r\n\t$(\"#payment-ship\").find(\"#\"+skuId).hide();\r\n}\r\n/**\r\n * 支付配送关闭后的支付方式商品弹窗\r\n * \r\n * @param skuId\r\n * @return\r\n */\r\nfunction removePaymentSkuListOutside(skuId){\r\n\t$(\"#payment-ship\").find(\"#\"+skuId).hide();\r\n}\r\n/**\r\n * 支付配送展开后的商品弹窗\r\n * \r\n * @param skuDivId\r\n * @return\r\n */\r\nfunction removeShipmentSkuListInside(skuDivId){\r\n\t$(\"#\" + skuDivId).hide();\r\n}\r\n\r\n/**\r\n * 运费弹窗\r\n * \r\n * @return\r\n */\r\nfunction showFreightSpan(){\r\n\tshowFerightSopName();\t\r\n}\r\n\r\nfunction removeFreightSpan(){\r\n\t $(\"#transport\").hide();\r\n}\r\n\r\nfunction changeBigItemDate(dateValue) {\r\n\tjQuery\r\n\t\t\t.ajax({\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\tdataType : \"text\",\r\n\t\t\t\turl : OrderAppConfig.DynamicDomain\r\n\t\t\t\t\t\t+ \"/payAndShip/getInstallDates.action?payAndShipParam.bigSkuTimeId=\"\r\n\t\t\t\t\t\t+ dateValue,\r\n\t\t\t\tdata : \"\",\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t\t// 没有登录跳登录\r\n\t\t\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$(\"#installOptionDiv\").html(dataResult);\r\n\t\t\t\t},\r\n\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n}\r\n\r\n/**\r\n * 获取支票信息\r\n * \r\n * @param type\r\n * @return\r\n */\r\nfunction getCheckInfo(type){\r\n\t\r\n\t// 2为支票, 如果选择的不为支票则清空支票信息div\r\n\tif(type != 2){\r\n\t\t$(\"#checkInfo\").html(\"\");\r\n\t}else{\r\n\t\tvar param = addFlowTypeParam();\r\n\t\t$.ajax({\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"text\",\r\n\t\t\turl : OrderAppConfig.AsyncDomain\r\n\t\t\t\t\t+ \"/payAndShip/getShipmentCheckInfo.action\",\r\n\t\t\tdata : param,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t// 没有登录跳登录\r\n\t\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t$(\"#checkInfo\").html(dataResult);\r\n\t\t\t\t$('.cheque-item :radio').bind('click',function(){\r\n\t\t\t\t\t$('.cheque-btn a').removeClass().addClass('btn-submit');\r\n\t\t\t\t\t$('.cheque-item').removeClass('current');\r\n\t\t\t\t\t$(this).parents('.cheque-item').addClass('current');\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * 跳转到公司转账\r\n * \r\n * @return\r\n */\r\nfunction goToCompanyTransfer(){\r\n\t// 设置当前选中支付方式为公司转账\r\n\t$(\"#pay-method-5\").attr(\"checked\",true);\r\n\t// 刷新配送方式\r\n\tedit_Shipment(5);\r\n\t$(\"#pay-method-1\").parents(\".item\").removeClass(\"item-selected\").height(28);\r\n\t$(\"#supportPaySkus-1\").hide();\r\n\t$(\"#otherSupportSkus-1\").hide();\r\n\t$(\"#pay-method-5\").parents(\".item\").addClass(\"item-selected\");\r\n\t\r\n}\r\n// 关闭支付与配送方式中的提示框\r\nfunction closeTip(type) {\r\n\t$(\"#\" + type).css(\"display\", \"none\");\r\n}\r\n// 获取radio中选中的值\r\nfunction getRadioValue(name) {\r\n\tvar list = document.getElementsByName(name);\r\n\tfor ( var i = 0; i < list.length; i++) {\r\n\t\tif (list[i].checked == true)\r\n\t\t\treturn list[i].value;\r\n\t}\r\n}\r\n// 对选中的radio进行加亮\r\nfunction lightRadio(name, id) {\r\n\tvar list = document.getElementsByName(name);\r\n\tfor ( var i = 0; i < list.length; i++) {\r\n\t\tif (list[i].checked == true) {\r\n\t\t\t$(\"#\" + id + \"-\" + list[i].value).attr(\"class\",\r\n\t\t\t\t\t\"item item-selected\");\r\n\t\t} else {\r\n\t\t\t$(\"#\" + id + \"-\" + list[i].value).attr(\"class\", \"item\");\r\n\t\t}\r\n\t}\r\n}\r\n// 显示支票的提示选项\r\nfunction showCheckDiv(id) {\r\n\tif (id == \"2\") {\r\n\t\t$(\"#tip1\").css(\"display\", \"block\");\r\n\t} else {\r\n\t\t$(\"#tip1\").css(\"display\", \"none\");\r\n\t}\r\n}\r\n\r\n// 获取分期付款信息\r\n\r\nvar installmentInfo = \"\";\r\nfunction getInstallmentInfo(){\r\njQuery.ajax({\r\n    type:\"POST\",\r\n    dataType:\"json\",\r\n    async:false,\r\n    url: OrderAppConfig.DynamicDomain + \"/payAndShip/getInstallmentInfo.action?\"+addFlowTypeParam()+\"&rt=\"+ Math.random(),\r\n    success:function (data) {\r\n\t\tif (data != null&& data.resultFlag == true) {\r\n\t\t\t// 如果分期信息为空则不显示\r\n\t\t\tif(data.installmentInfoList == null || data.installmentInfoList.length<=0 || !isShowInstalmentPlan()){\r\n\t\t\t\t$(\"#payRemark_8\").hide();\r\n\t\t\t}else{\r\n\t\t\t\tinstallmentInfo = data;\r\n\t\t\t\t// 先清空再展现\r\n\t\t\t\t$(\"#banks\").empty();\r\n\t\t\t\t$(\"#banks\").append(TrimPath.processDOMTemplate(\"installment_banks\", installmentInfo));\r\n\t\t\t\t$(\"#periods\").append(TrimPath.processDOMTemplate(\"installment_periods\", installmentInfo));\r\n\t\t\t\tvar selectedBank = $(\"input[name='ins_banks'][checked]\").val();\r\n\t\t\t\tchangeBank(selectedBank, false);\r\n\t\t\t\t\r\n\t\t\t\t// 获取费率\r\n\t\t\t\tvar rate = getRate(installmentInfo.selectedBankId, installmentInfo.selectedPeriod);\r\n\t\t\t\tchangePeriod(installmentInfo.selectedBankId, installmentInfo.selectedPeriod, rate);\r\n\t\t\t}\r\n        }\r\n    \r\n    }\r\n});\r\n}\r\n\r\n// 获取费率\r\nfunction getRate(bankId, period){\r\n\tvar installmentInfoList = installmentInfo.installmentInfoList;\r\n\tvar rate = 0;\r\n    for(var i = 0; i < installmentInfoList.length; i++){\r\n            var itemInfo = installmentInfoList[i];\r\n            if(itemInfo.bankId == bankId){\r\n                    for(var j = 0; j < itemInfo.installmentNumberInfo.length; j++){\r\n                            var numItem = itemInfo.installmentNumberInfo[j];\r\n                            if(numItem.installmentNumber == period){\r\n                                    rate = numItem.rate;\r\n                                    break;\r\n                            }\r\n                    }\r\n            }\r\n    }\r\n    return rate;\r\n}\r\n\r\n// 修改银行\r\nfunction changeBank(bankId, flag){\r\n\t// 先清空再展现\r\n    $(\"#periods\").empty();\r\n    $(\"#periods\").append(TrimPath.processDOMTemplate(\"installment_periods\", installmentInfo));\r\n    if(flag){\r\n    \t$(\"input[name='ins_periods']:first\").attr(\"checked\",true);\r\n    \tchangePeriod();\r\n    }\r\n}\r\n// 修改分期数\r\nfunction changePeriod(){\r\n\tvar bankId = $(\"input[name='ins_banks'][checked]\").val();\r\n\tvar period = $(\"input[name='ins_periods'][checked]\").val();\r\n\tvar rate = getRate(bankId, period);\r\n\tvar totalMoney = $(\"#needPay\").val();\r\n\t\r\n\tvar add_money = (totalMoney * rate * period).toFixed(2);\r\n\tvar all_money = (Number(totalMoney) + Number(add_money)).toFixed(2);\r\n\tvar period_money = (all_money / period).toFixed(2);\r\n\t$(\"#all_money\").text(all_money);\r\n\t$(\"#add_money\").text(add_money);\r\n\t$(\"#order_money\").text((totalMoney * 1).toFixed(2));\r\n\t$(\"#period_money\").text(period_money);\r\n\t$(\"#result_period\").text(period);\r\n}\r\n\r\n/** *****************************************************优惠券************************************************* */\r\n\r\nvar item = \"item\";\r\nvar itemToggleActive = \"item toggle-active\";\r\nvar orderCouponItem = \"orderCouponItem\";\r\nvar orderGiftCardItem = \"orderGiftCardItem\";\r\nvar orderGiftECardItem = \"orderECardItem\";\r\nvar orderCouponId = \"orderCouponId\";\r\nvar giftCardId = \"giftCardId\";\r\nvar giftECardId = \"eCardId\";\r\nvar toggleWrap = \"toggle-wrap\";\r\nvar toggleWrapHide = \"toggle-wrap hide\";\r\nvar BALANCE_PWD_TYPE = \"balancePwdType\";\r\nvar JING_PWD_TYPE = \"jingPwdType\";\r\nvar LPK_PWD_TYPE = \"lpkPwdType\";\r\nvar dongType = \"dongType\";\r\nvar jingType = \"jingType\";\r\n\r\nfunction couponTip() {\r\n\t$(function() {\r\n\t\t$(\"#coupons .virtual-from\").find(\".coupon-scope\")\r\n\t\t\t\t.each(\r\n\t\t\t\t\t\tfunction() {\r\n\t\t\t\t\t\t\tvar $this = $(this), parent = $this\r\n\t\t\t\t\t\t\t\t\t.parents(\".list\"), dialog = parent\r\n\t\t\t\t\t\t\t\t\t.find(\".coupon-tip\");\r\n\r\n\t\t\t\t\t\t\tvar left = $this.position().left\r\n\t\t\t\t\t\t\t\t\t+ ($this.width() / 2);\r\n\r\n\t\t\t\t\t\t\tdialog.css( {\r\n\t\t\t\t\t\t\t\t\"left\" : left + \"px\",\r\n\t\t\t\t\t\t\t\t\"display\" : \"none\"\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t$this.bind(\"mouseenter\", function() {\r\n\t\t\t\t\t\t\t\tparent.css( {\r\n\t\t\t\t\t\t\t\t\t\"overflow\" : \"visible\",\r\n\t\t\t\t\t\t\t\t\t\"z-index\" : 5\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tdialog.css(\"display\", \"block\");\r\n\t\t\t\t\t\t\t}).bind(\"mouseleave\", function() {\r\n\t\t\t\t\t\t\t\tparent.css( {\r\n\t\t\t\t\t\t\t\t\t\"overflow\" : \"hidden\",\r\n\t\t\t\t\t\t\t\t\t\"z-index\" : 1\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tdialog.css(\"display\", \"none\");\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t});\r\n}\r\n\r\n/**\r\n * 优惠券查询\r\n */\r\nfunction query_coupons() {\r\n\tvar flag = $(\"#\" + orderCouponId).css('display') == 'none'; // 判断隐藏还是显示优惠券列表\r\n\tif (flag) {// 显示优惠券列表\r\n\t\tvar param = addFlowTypeParam();\r\n\t\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/getCoupons.action\";\r\n\t\tjQuery.ajax( {\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"text\",\r\n\t\t\turl : url,\r\n\t\t\tdata : param,\r\n\t\t\tasync : true,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(result) {\r\n\t\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\t\talert(message);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t} \r\n\t\t\t\tcheckPaymentPasswordSafe(JING_PWD_TYPE);\r\n\t\t\t\t$(\"#\" + orderCouponId).css(\"display\", \"block\");\r\n\t\t\t\t// 优惠券显示样式\r\n\t\t\t\tchangeClassStyle(orderCouponId, toggleWrap);\r\n\t\t\t\tchangeClassStyle(orderCouponItem, itemToggleActive);\r\n\t\t\t\t$(\"#\" + OrderAppConfig.Module_Coupon).html(result);\r\n\t\t\t\t$(\"#coupons\").Jtab({ compatible: true, event: \"click\" });\r\n\t\t\t\tentityCouponInputEventInit();// 实体券输入框初始化\r\n\t\t\t\t// 东券提示文字\r\n\t\t\t\tcouponTip();\r\n\r\n\t\t\t\t// 使用优惠券时，如果礼品卡列表是展开的，则将其关闭\r\n\t\t\t\t// 隐藏礼品卡列表\r\n\t\t\t\t// 隐藏礼品卡样式\r\n\t\t\t\t$(\"#\"+giftCardId).css('display', 'none');\r\n\t\t\t\t$(\"#\"+giftECardId).css('display', 'none');\r\n\t\t\t\tchangeClassStyle(giftCardId, toggleWrapHide);\r\n\t\t\t\tchangeClassStyle(orderGiftCardItem, item);\r\n\t\t\t\tchangeClassStyle(giftECardId, toggleWrapHide);\r\n\t\t\t\tchangeClassStyle(orderGiftECardItem, item);\r\n\t\t\t\t\t\r\n\t\t\t\tisNeedPaymentPassword(); // 是否需要支付密码\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t}\r\n\t\t});\r\n\t} else {\r\n\t\t\t\t// 隐藏优惠券列表\r\n\t\t\t\t$(\"#\" + orderCouponId).css('display', 'none');\r\n\t\t\t\t// 优惠券隐藏样式\r\n\t\t\t\tchangeClassStyle(orderCouponId, toggleWrapHide);\r\n\t\t\t\tchangeClassStyle(orderCouponItem, item);\r\n\t\t\t}\r\n}\r\n\r\n\r\n\r\n/**\r\n * 检查余额安全，是否开启支付密码\r\n */\r\nfunction checkBalancePwdResult(type) {\r\n\tvar param = \"couponParam.fundsPwdType=\" + type;\r\n\tparam = addFlowTypeParam(param);\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/checkFundsPwdResult.action\";\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(flag) {\r\n\t\t\tif (isUserNotLogin(flag)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (!flag) {\r\n\t\t\t\tcancelUsedBalance(); // 账户不安全，设置余额不可用\r\n\t}\r\n}\r\n\t});\r\n}\r\n\r\n/**\r\n * 设置余额不可用\r\n */\r\nfunction cancelUsedBalance() { \r\n\tif ($(\"#selectOrderBalance\").is(':checked')) {// 选中状态\r\n\t\t$(\"#selectOrderBalance\").click(); // JS模拟取消\r\n\t}\r\n\t$(\"#selectOrderBalance\").attr('disabled', true);\r\n\tif ($(\"#showOrderBalance\").css(\"display\") != \"none\") { \r\n\t\t$(\"#safeVerciryPromptPart\").show();\r\n\t}\r\n}\r\n\r\n/**\r\n * 选择京券\r\n */\r\nfunction selectJing(obj, key, id) {\r\n\tvar flag = (obj.checked) ? \"1\" : \"0\"; // 判断是否选中京券\r\n\tif (flag == 1) {// 选择京券，刷新优惠券列表\r\n\t\tuseOrCancelCoupon(OrderAppConfig.DynamicDomain + \"/coupon/useCoupon.action\", key, obj, 1, jingType);\r\n\t} else {\r\n\t\tuseOrCancelCoupon(OrderAppConfig.DynamicDomain + \"/coupon/cancelCoupon.action\", id, obj, 0, jingType);\r\n\t}\r\n\r\n}\r\n\r\n\r\n/**\r\n * 选择东券\r\n */\r\nfunction selectDong(obj, key, id) {\r\n\r\n\tvar flag = (obj.checked) ? \"1\" : \"0\"; // 判断是否选中东券\r\n\tif (flag == 1) {// 选择东券，刷新优惠券列表\r\n\t\tuseOrCancelCoupon(OrderAppConfig.DynamicDomain + \"/coupon/useCoupon.action\", key, obj, 1, dongType);\r\n\t} else {\r\n\t\tuseOrCancelCoupon(OrderAppConfig.DynamicDomain + \"/coupon/cancelCoupon.action\", id, obj, 0, dongType);\r\n\t}\r\n}\r\n\r\n/**\r\n * 添加实体券\r\n * \r\n * @param obj\r\n */\r\nfunction addEntityCoupon(obj) {\r\n\r\n\tif ($('#couponKeyPressFirst').val() == \"\"\r\n\t\t\t|| $('#couponKeyPressSecond').val() == \"\"\r\n\t\t\t|| $('#couponKeyPressThrid').val() == \"\"\r\n\t\t\t|| $('#couponKeyPressFourth').val() == \"\") {\r\n\t\talert(\"请输入优惠券密码\");\r\n\t\treturn;\r\n\t}\r\n\tvar key = $(\"#couponKeyPressFirst\").val() + \"-\"\r\n\t\t\t+ $(\"#couponKeyPressSecond\").val() + \"-\"\r\n\t\t\t+ $(\"#couponKeyPressThrid\").val() + \"-\"\r\n\t\t\t+ $(\"#couponKeyPressFourth\").val();\r\n\t// TODO\r\n\t$(\"input[id^='couponKeyPress']\").each(function() {\r\n\t\t$(this).val(\"\");\r\n\t});\r\n\tuseOrCancelCoupon(OrderAppConfig.DynamicDomain + \"/coupon/useCoupon.action\", key,\r\n\t\t\tobj, 1, \"\");\r\n}\r\n\r\nfunction removeShiTiCoupon(id) {\r\n\tuseOrCancelCoupon(OrderAppConfig.DynamicDomain + \"/coupon/cancelCoupon.action\",\r\n\t\t\tid, null, 0, \"\");\r\n}\r\n\r\nvar safeFlag = true;\r\n/**\r\n * 使用或者取消优惠券 1：使用优惠券，0：取消优惠券\r\n */\r\nfunction useOrCancelCoupon(url, id, obj, flag, couponType) {\r\n\tvar param = \"\";\r\n\tif (flag == 1) {// 使用券传的是couponKey\r\n\t\tparam += \"couponParam.couponKey=\" + id;\r\n\t} else {// 取消券使用的是couponId\r\n\t\tparam += \"couponParam.couponId=\" + id;\r\n\t}\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax( {\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\tdataType : \"text\",\r\n\t\t\t\turl : url,\r\n\t\t\t\tdata : param,\r\n\t\t\t\tasync : true,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(result) {\r\n\t\t\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\t\t\talert(message);\r\n\t\t\t\t\t\tif(obj.checked) {\r\n\t\t\t\t\t\t\tobj.checked=false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcheckPaymentPasswordSafe(JING_PWD_TYPE,0);// 用户安全，检查是否开启支付密码\r\n\t\t\t\t\tchangeClassStyle(orderCouponId, toggleWrap);\r\n\t\t\t\t\tchangeClassStyle(orderCouponItem, itemToggleActive);\r\n\t\t\t\t\t$(\"#\" + OrderAppConfig.Module_Coupon).html(result);\r\n\t\t\t\t\t$(\"#coupons\").Jtab({ compatible: true, event: \"click\" });\r\n\t\t\t\t\t// 刷新显示：优惠券优惠金额，礼品卡优惠金额，余额优惠金额，实际应付总金额\r\n\t\t\t\t\tuseCancelEditJdBean(0,null,true);\r\n\t\t\t\t\tflushOrderPriceByCoupon(); // 改变优惠券状态\r\n\t\t\t\t\tcheckCouponWaste();// 检查优惠券是否存在浪费情况\r\n\t\t\t\t\tisNeedPaymentPassword(); // 是否需要支付密码\r\n\t\t}\r\n\t});\r\n\r\n}\r\n\r\n/**\r\n * 检查优惠券是否存在浪费情况\r\n */\r\nfunction checkCouponWaste(){\r\n\tif($(\"#hidden_wasteFlag\").val() == \"true\"){\r\n\t\talert(\"您的京券金额多于应付总额，京券差额不予退还哦~\");\r\n\t}\r\n}\r\n\r\n/**\r\n * 使用优惠券、礼品卡时检查是否开启支付密码\r\n * \r\n * @param type\r\n */\r\nfunction checkPaymentPasswordSafe(type,giftCardType){\r\n\t\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/checkFundsPwdResult.action\";\r\n\tvar param = \"couponParam.fundsPwdType=\" + type;\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax( {\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\tdataType : \"json\",\r\n\t\t\t\turl : url,\r\n\t\t\t\tdata : param,\r\n\t\t\t\tasync : true,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(result) {\r\n\r\n\t\t\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\t\t\talert(message);\r\n\t\t\t\t\t\tif(obj.checked) {\r\n\t\t\t\t\t\t\tobj.checked=false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(!result){\r\n\t\t\t\t\t\tif(type == JING_PWD_TYPE){\r\n\t\t\t\t\t\t\tcancelAllUsedCoupons();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}else if(type == LPK_PWD_TYPE){\r\n\t\t\t\t\t\t\tcancelAllUsedGiftCards(giftCardType);\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t}\r\n\t});\r\n}\r\n\r\n\r\n/**\r\n * 刷新订单价格\r\n * \r\n * @param orderPrice\r\n *            是一个json对象\r\n */\r\nfunction flushOrderPrice(orderPrice,isFlushSkuList) {\r\n\tif(orderPrice == null) {\r\n\t\treturn ;\r\n\t}\r\n\t\r\n\t// 修改运费\r\n\tif(orderPrice.freight != null) {\r\n\t\tif(orderPrice.freight>0){\r\n\t\t\t$(\"#freightPriceId\").html(\"<font color='#FF6600'> ￥\" + orderPrice.freight.toFixed(2)+\"</font>\");\r\n\t\t\t$(\"#freightSpan\").html(\"<font color='#005EA7'>运费：</font>\");\r\n\t\t}else{\r\n\t\t\t$(\"#freightPriceId\").html(\"<font color='#000000'> ￥\" + orderPrice.freight.toFixed(2)+\"</font>\");\r\n\t\t\t$(\"#freightSpan\").html(\"<font color='#000000'>运费：</font>\");\r\n\t\t}\r\n\t}\r\n\t\r\n\t// 修改优惠券结算信息\r\n\tif(orderPrice.couponDiscount != null) {\r\n\t\t$(\"#couponPriceId\").text(\"-￥\" + orderPrice.couponDiscount.toFixed(2));\r\n\t\tif(orderPrice.couponDiscount == 0) {\r\n\t\t\t$(\"#showCouponPrice\").css(\"display\", \"none\");\r\n\t\t} else {\r\n\t\t\t$(\"#showCouponPrice\").css(\"display\", \"block\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#couponPriceId\").css(\"display\", \"none\");\r\n\t}\r\n\t\r\n\t// 修改礼品卡结算信息\r\n\tif(orderPrice.giftCardDiscount != null) {\r\n\t\t$(\"#giftCardPriceId\").text(\"-￥\" + orderPrice.giftCardDiscount.toFixed(2));\r\n\t\tif(orderPrice.giftCardDiscount == 0) {\r\n\t\t\t$(\"#showGiftCardPrice\").css(\"display\", \"none\");\r\n\t\t} else {\r\n\t\t\t$(\"#showGiftCardPrice\").css(\"display\", \"block\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#showGiftCardPrice\").css(\"display\", \"none\");\r\n\t}\r\n\t\r\n\t// 修改余额\r\n\tif(orderPrice.usedBalance != null) {\r\n\t\t$(\"#usedBalanceId\").text(\"-￥\" + orderPrice.usedBalance.toFixed(2));\r\n\t\tif(orderPrice.usedBalance == 0) {\r\n\t\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"none\");\r\n\t\t} else {\r\n\t\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"block\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"none\");\r\n\t}\r\n\t// 修改京豆\r\n\tif(orderPrice.usedJdBeanDiscout != null) {\r\n\t\t$(\"#usedJdBeanId\").text(\"-￥\" + orderPrice.usedJdBeanDiscout.toFixed(2));\r\n\t\tif(orderPrice.usedJdBeanDiscout == 0) {\r\n\t\t\t$(\"#showUsedJdBean\").css(\"display\", \"none\");\r\n\t\t} else {\r\n\t\t\t$(\"#showUsedJdBean\").css(\"display\", \"block\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#showUsedJdBean\").css(\"display\", \"none\");\r\n\t}\r\n\t\r\n\t// 修改应付余额\r\n\tif(orderPrice.payPrice != null) {\r\n\t\tvar curPrice = orderPrice.promotionPrice - orderPrice.cashBack;\r\n\t\tvar prePrice = $(\"#warePriceId\").attr(\"v\") - $(\"#cachBackId\").attr(\"v\");\r\n\t\tif(curPrice > prePrice){\r\n\t\t\t$(\"#changeAreaAndPrice\").show();\r\n\t\t}else{\r\n\t\t\t$(\"#changeAreaAndPrice\").hide();\r\n\t\t}\r\n\t\t$(\"#warePriceId\").attr(\"v\",orderPrice.promotionPrice);\r\n\t\t$(\"#cachBackId\").attr(\"v\",orderPrice.cashBack);\r\n\t\t\r\n\t\t$(\"#payPriceId\").text(\"￥\" + orderPrice.payPrice.toFixed(2));\r\n\t\t$(\"#sumPayPriceId\").text(\"￥\" + orderPrice.payPrice.toFixed(2));\r\n\t} \r\n\t\r\n\t// 商品总金额\r\n\tif(orderPrice.skuNum != null && orderPrice.skuNum > 0) {\r\n\t\t$(\"#span-skuNum\").text(orderPrice.skuNum);\r\n\t}\r\n\tif(orderPrice.promotionPrice != null) {\r\n\t\t$(\"#warePriceId\").text(\"￥\" + orderPrice.promotionPrice.toFixed(2));\r\n\t}\r\n\tif(isFlushSkuList){\t\r\n\t\tloadSkuList();\r\n\t}\r\n}\r\n\r\n\r\nfunction flushOrderPriceByCoupon(){\r\n\t// 修改运费\r\n\tif($(\"#hiddenFreight_coupon\")[0]) {\r\n\t\t$(\"#freightPriceId\").text(\" ￥\" + $(\"#hiddenFreight_coupon\").val());\r\n\t}\r\n\t\r\n\t// 修改优惠券结算信息\r\n\tif($(\"#hiddenCouponDiscount\")[0]) {\r\n\t\t$(\"#couponPriceId\").text(\"-￥\" + $(\"#hiddenCouponDiscount\").val());\r\n\t\tif($(\"#hiddenCouponDiscount\").val() == 0) {\r\n\t\t\t$(\"#showCouponPrice\").css(\"display\", \"none\");\r\n\t\t} else {\r\n\t\t\t$(\"#showCouponPrice\").css(\"display\", \"block\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#couponPriceId\").css(\"display\", \"none\");\r\n\t}\r\n\t\r\n\t// 修改礼品卡结算信息\r\n\tif($(\"#hiddenGiftCardDiscount_coupon\")[0]) {\r\n\t\t$(\"#giftCardPriceId\").text(\"-￥\" + $(\"#hiddenGiftCardDiscount_coupon\").val());\r\n\t\tif($(\"#hiddenGiftCardDiscount_coupon\").val() == 0) {\r\n\t\t\t$(\"#showGiftCardPrice\").css(\"display\", \"none\");\r\n\t\t} else {\r\n\t\t\t$(\"#showGiftCardPrice\").css(\"display\", \"block\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#showGiftCardPrice\").css(\"display\", \"none\");\r\n\t}\r\n\t\r\n\t// 修改余额\r\n\tif($(\"#hiddenUsedBalance_coupon\")[0]) {\r\n\t\t$(\"#usedBalanceId\").text(\"-￥\" + $(\"#hiddenUsedBalance_coupon\").val());\r\n\t\tif($(\"#hiddenUsedBalance_coupon\").val() == 0) {\r\n\t\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"none\");\r\n\t\t} else {\r\n\t\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"block\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"none\");\r\n\t}\r\n\t\r\n\t// 修改应付余额\r\n\tif($(\"#hiddenPayPrice_coupon\")[0]) {\r\n\t\t$(\"#payPriceId\").text(\"￥\" + $(\"#hiddenPayPrice_coupon\").val());\r\n\t\t$(\"#sumPayPriceId\").text(\"￥\" + $(\"#hiddenPayPrice_coupon\").val());\r\n\t} \r\n\tloadSkuList();\r\n}\r\n\r\nfunction changeOrderPrice(result) {\r\n\t$(\"#safeLpkPart\").show(); // 显示开启支付密码提示框\r\n\t$(\"#lpk_count\").text(\"0\");// 礼品卡数量\r\n\t$(\"#lpk_discount\").text(\"0.00\"); // 礼品卡列表栏金额\r\n\t$(\"#giftCardPriceId\").text(\"-￥0.00\"); // 商品金额栏的礼品卡金额\r\n\t$(\"#payPriceId\").text(\"￥\" + result.factPrice.toFixed(2));// 实际应付金额\r\n\t$(\"#sumPayPriceId\").text(\"￥\" + result.factPrice.toFixed(2));\r\n\t$(\"#usedBalanceId\").text(\"-￥\" + result.usedBalance.toFixed(2));\r\n\r\n\t// 余额显示变化\r\n\tif (result.usedBalanceFlag) {\r\n\t\t$(\"#selectOrderBalance\").attr(\"checked\", true);\r\n\t\t$(\"#showUsedOrderBalance\").show();\r\n\t\tcheckBalancePwdResult(BALANCE_PWD_TYPE);\r\n\t} else {\r\n\t\t$(\"#selectOrderBalance\").attr(\"checked\", false);\r\n\t\t$(\"#showUsedOrderBalance\").hide();\r\n\t}\r\n\tloadSkuList();\r\n}\r\n\r\n\r\nfunction changeGiftCardState(result) {\r\n\t$(\"#lpk_count\").text(result.giftCardNum);\r\n\t$(\"#lpk_discount\").text(result.giftCardPrice.toFixed(2));\r\n\t$(\"input[id^='lpkItem_']\").each(function() {\r\n\t\tvar cardId = $(this).attr(\"id\").split(\"_\")[1];\r\n\t\t$(this).attr(\"checked\", false); // 是否勾选\r\n\t\t\t$(\"#lpkCurUsed_\" + cardId).html(\"0.00\");\r\n\t\t});\r\n\tif (result.giftCardInfoViewList != null\r\n\t\t\t&& result.giftCardInfoViewList.length > 0) {\r\n\t\t$.each(result.giftCardInfoViewList, function(i, giftCardInfo) { // 重置礼品卡列表\r\n\t\t\t\t\t$(\"#lpkItem_\" + giftCardInfo.id).attr(\"checked\", true); // 是否勾选\r\n\t\t\t\t$(\"#lpkCurUsed_\" + giftCardInfo.id).text(\r\n\t\t\t\t\t\tgiftCardInfo.curUsedMoney.toFixed(2));\r\n\t\t\t\t$(\"#lpkBalance_\" + giftCardInfo.id).text(\r\n\t\t\t\t\t\tgiftCardInfo.balance.toFixed(2));\r\n\t\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * 填充结算页面余额相关的金额信息\r\n */\r\nfunction changeBalanceState(result) {\r\n\t$(\"#payPriceId\").text(\"￥\" + result.payPrice.toFixed(2));// 实际应付金额\r\n\t$(\"#sumPayPriceId\").text(\"￥\" + result.payPrice.toFixed(2));// 实际应付金额\r\n\t$(\"#canUsedBalanceId\").text(\r\n\t\t\t\"使用余额（账户当前余额：\" + result.leaveBalance.toFixed(2) + \"元）\"); // 剩余可用余额\r\n\t$(\"#usedBalanceId\").text(\"-￥\" + result.usedBalance.toFixed(2)); // 使用的余额\r\n\t$(\"#selectOrderBalance\").attr(\"checked\", result.checked);\r\n\tif (result.usedBalance > 0) {\r\n\t\t$(\"#showUsedOrderBalance\").show();\r\n\t} else {\r\n\t\t$(\"#showUsedOrderBalance\").hide();\r\n\t}\r\n\tloadSkuList();\r\n\r\n}\r\n\r\n/**\r\n * 重置所有优惠券不可用\r\n */\r\nfunction cancelAllUsedCoupons() {\r\n\r\n\t$(\"input[id^='coupon_']\").each(function() {\r\n\t\t$(this).attr(\"disabled\",true);\r\n\t\tif ($(this).is(':checked')) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n\tvar param = addFlowTypeParam();\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/cancelAllUsedCoupons.action\";\r\n\tjQuery.ajax( {\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\tdataType : \"text\",\r\n\t\t\t\turl : url,\r\n\t\t\t\tdata : param,\r\n\t\t\t\tasync : true,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(result) {\r\n\t\t\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\t\t\talert(message);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t} \r\n\t\t\t\t\t$(\"#\" + OrderAppConfig.Module_Coupon).html(result);\r\n\t\t\t\t\t$(\"#safeJingPart\").show();\r\n\t\t\t\t\t$(\"input[type=checkbox][id^='coupon_']\").each(function() {\r\n\t\t\t\t\t\t$(this).attr(\"disabled\",true);\r\n\t\t\t\t\t});\r\n\t\t\t\t\t$(\"#coupons\").Jtab({ compatible: true, event: \"click\" }); \r\n\t\t\t\t\tflushOrderPriceByCoupon(); \r\n\t\t\t\t}\r\n\t\t\t});\r\n}\r\n\r\n/**\r\n * 是否需要支付密码\r\n */\r\nfunction isNeedPaymentPassword() {\r\n\t$(\"#txt_paypassword\").val(\"\");\r\n\tvar param = addFlowTypeParam();\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/order/isNeedPaymentPassword.action\";\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(flag) {\r\n\t\t\tif (isUserNotLogin(flag)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(flag)) {\r\n\t\t\t\tvar message = getMessage(flag);\r\n\t\t\t\talert(message);\r\n\t\t\t\treturn;\r\n\t\t\t} else {\r\n\t\t\t\tif (flag) {\r\n\t\t\t\t\t$(\"#paypasswordPanel\").show();\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(\"#paypasswordPanel\").hide();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n}\r\n\r\n/**\r\n * 改变优惠券、礼品卡样式\r\n */\r\nfunction changeClassStyle(classId, classStyle) {\r\n\t$(\"#\" + classId).removeClass();\r\n\t$(\"#\" + classId).addClass(classStyle);\r\n}\r\n\r\n/**\r\n * 是否显示 输入实体券密码框\r\n */\r\nfunction showEntityPanel() {\r\n\tif ($(\"#entityPanel\")[0]) {\r\n\t\tif ($(\"#entityPanel\").css(\"display\") == \"none\") {\r\n\t\t\t$(\"#entityPanel\").css(\"display\", \"block\");\r\n\t\t} else {\r\n\t\t\t$(\"#entityPanel\").css(\"display\", \"none\");\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/** ***************************************************礼品卡******************************************** */\r\n\r\n/**\r\n * 礼品卡输入事件\r\n */\r\nfunction lipinkaInputEventInit(giftCardType) {\r\n\t\r\n\tvar orderGiftCardModule = OrderAppConfig.Module_GiftCard;\r\n\tif(giftCardType == 3){\r\n\t\torderGiftCardModule = OrderAppConfig.Module_GiftECard;\r\n\t}\r\n\t\r\n\t$(\"#\"+ orderGiftCardModule + \" .textbox\").keyup(function() {\r\n\t\tvar $this = $(this);\r\n\t\t$this.val($this.val().replace(/[^a-zA-Z0-9]/g, '').toUpperCase());\r\n\t\t$this.val($this.val().replace('O', '0'));\r\n\t\tif ($this.val().length == 4 && $this.attr('id') != 'lpkKeyPressForth-'+giftCardType) {\r\n\t\t\t$this.next().next().focus();\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 实体优惠券输入事件 FIXME 对实体券输入没有生效，事件绑定错误。没有线上bug提出来，所以是否需要修改，等上级指示。 DYY\r\n */\r\nfunction entityCouponInputEventInit() {\r\n\t$(\"#coupons .textbox\").keyup(\r\n\t\t\tfunction() {\r\n\t\t\t\tvar $this = $(this);\r\n\t\t\t\t$this.val($this.val().replace(/[^a-zA-Z0-9]/g, '')\r\n\t\t\t\t\t\t.toUpperCase());\r\n\t\t\t\t$this.val($this.val().replace('O', '0'));\r\n\t\t\t\tif ($this.val().length == 4\r\n\t\t\t\t\t\t&& $this.attr('id') != 'couponKeyPressFourth') {\r\n\t\t\t\t\t$this.next().next().focus();\r\n\t\t\t\t}\r\n\t\t\t});\r\n}\r\n\r\nfunction query_giftCards(giftCardType) {\r\n\t\r\n\tvar giftCardProxyId = giftCardId;\r\n\tvar orderGiftCardProxyItem = orderGiftCardItem;\r\n\tvar orderGiftCardModule = OrderAppConfig.Module_GiftCard;\r\n\tif(giftCardType == 3){\r\n\t\tgiftCardProxyId = giftECardId;\r\n\t\torderGiftCardProxyItem = orderGiftECardItem;\r\n\t\torderGiftCardModule = OrderAppConfig.Module_GiftECard;\r\n\t}\r\n\t\r\n\tvar flag = $(\"#\" + giftCardProxyId).attr('class') == \"toggle-wrap hide\";\r\n\tif (flag) {// 显示礼品卡列表\r\n\t\tvar param = \"giftCardParam.giftCardType=\" + giftCardType;\r\n\t\tparam = addFlowTypeParam(param);\r\n\t\tvar url = OrderAppConfig.DynamicDomain + \"/giftCard/getGiftCardList.action\";\r\n\t\tjQuery.ajax( {\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"text\",\r\n\t\t\turl : url,\r\n\t\t\tdata : param,\r\n\t\t\tasync : true,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(result) {\r\n\t\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\t\talert(message);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcheckPaymentPasswordSafe(LPK_PWD_TYPE,giftCardType);\r\n\t\t\t\t\t// 显示礼品卡样式\r\n\t\t\t\t\t$(\"#\"+giftCardProxyId).css('display', 'block');\r\n\t\t\t\t\tchangeClassStyle(giftCardProxyId, toggleWrap);\r\n\t\t\t\t\t\r\n\t\t\t\t\tchangeClassStyle(orderGiftCardProxyItem, itemToggleActive);\r\n\t\t\t\t\t$(\"#\"+giftCardProxyId +\" \" + \"#\" + orderGiftCardModule).html(result);\r\n\t\t\t\t\tlipinkaInputEventInit(giftCardType); // 礼品卡输入KEY限制\r\n\t\t}\r\n\r\n\t},\r\n\terror : function(XMLHttpResponse) {\r\n\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t}\r\n\t\t});\r\n\t\t\r\n\t\t\t// 使用礼品卡时，关闭优惠券列表\r\n\t\t\t// 隐藏优惠券列表\r\n\t\t\tcouponTip();\r\n\t\t\t$(\"#\" + orderCouponId).css('display', 'none');\r\n\t\t\t// 优惠券隐藏样式\r\n\t\t\tchangeClassStyle(giftCardProxyId, toggleWrapHide);\r\n\t\t\tchangeClassStyle(orderGiftCardProxyItem, item);\r\n\t} else {\r\n\t\t// 隐藏礼品卡列表\r\n\t\t// 隐藏礼品卡样式\r\n\t\t$(\"#\" + giftCardProxyId).css(\"display\",\"none\");\r\n\t\tchangeClassStyle(giftCardProxyId, toggleWrapHide);\r\n\t\tchangeClassStyle(orderGiftCardProxyItem, item);\r\n\t}\r\n\r\n}\r\n\r\n/**\r\n * 检查礼品卡安 如果使用礼品卡，必须开启支付密码\r\n */\r\nfunction checkUsedGiftCardsPwd(type,giftCardType) {\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/checkFundsPwdResult.action\";\r\n\tvar param = \"couponParam.fundsPwdType=\" + type;\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(flag) {\r\n\t\t\tif (isUserNotLogin(flag)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (!flag) {\r\n\t\t\t\t// 账户不安全，设置所有礼品卡不可用\r\n\t\tcancelAllUsedGiftCards(giftCardType);\r\n\t}\r\n}\r\n\t});\r\n}\r\n\r\n/**\r\n * 选择礼品卡\r\n * \r\n * @param obj\r\n * @param bindFlag\r\n * @param key\r\n * @param id\r\n */\r\nfunction selectGiftCard(obj, key, id, giftCardType) {\r\n\tvar checked = obj.checked;\r\n\tif (checked) {\r\n\t\tuseOrCancelGiftCard(OrderAppConfig.DynamicDomain\r\n\t\t\t\t+ \"/giftCard/useGiftCard.action\", key, obj, checked, false, giftCardType);\r\n\t} else {\r\n\t\tuseOrCancelGiftCard(OrderAppConfig.DynamicDomain\r\n\t\t\t\t+ \"/giftCard/cancelGiftCard.action\", id, obj, checked, false, giftCardType);\r\n\t}\r\n\r\n}\r\n\r\n/**\r\n * 添加礼品卡\r\n */\r\nfunction addGiftCard(obj,giftCardType) {\r\n\tif ($(\"#lpkKeyPressFirst\"+\"-\"+giftCardType).val() == \"\"\r\n\t\t\t|| $(\"#lpkKeyPressSecond\"+\"-\"+giftCardType).val() == \"\"\r\n\t\t\t|| $(\"#lpkKeyPressThird\"+\"-\"+giftCardType).val() == \"\"\r\n\t\t\t|| $(\"#lpkKeyPressForth\"+\"-\"+giftCardType).val() == \"\") {\r\n\t\t\r\n\t\tif(giftCardType == 3){\r\n\t\t\talert(\"请输入京东E卡密码\");\r\n\t\t}else{\r\n\t\t\talert(\"请输入京东卡密码\");\r\n\t\t}\r\n\t\treturn;\r\n\t}\r\n\tvar key = $(\"#lpkKeyPressFirst\"+\"-\"+giftCardType).val() + \"-\"\r\n\t\t\t+ $(\"#lpkKeyPressSecond\"+\"-\"+giftCardType).val() + \"-\"\r\n\t\t\t+ $(\"#lpkKeyPressThird\"+\"-\"+giftCardType).val() + \"-\" + $(\"#lpkKeyPressForth\"+\"-\"+giftCardType).val();\r\n\tuseOrCancelGiftCard(OrderAppConfig.DynamicDomain\r\n\t\t\t+ \"/giftCard/useMaterialGiftCard.action\", key, obj, false, true, giftCardType);\r\n}\r\n\r\n/**\r\n * 使用或者取消礼品卡\r\n * \r\n * @param url\r\n * @param key\r\n * @param obj\r\n * @param checked\r\n * @param bindFlag\r\n */\r\nfunction useOrCancelGiftCard(url, key, obj, checked, bindFlag, giftCardType) {\r\n\tvar param = \"giftCardParam.giftCardType=\" + giftCardType + \"&giftCardKey=\" + key + \"&fundsPwdtype=\"+LPK_PWD_TYPE;\r\n\tvar orderGiftCardModule = OrderAppConfig.Module_GiftCard;\r\n\tvar giftCardProxyId = giftCardId;\r\n\tvar orderGiftCardProxyItem = orderGiftCardItem;\r\n\tvar giftCardTypeName = \"京东卡\";\r\n\tif(giftCardType == 3){\r\n\t\tgiftCardProxyId = giftECardId;\r\n\t\torderGiftCardProxyItem = orderGiftECardItem;\r\n\t\torderGiftCardModule = OrderAppConfig.Module_GiftECard;\r\n\t\tgiftCardTypeName = \"京东E卡\";\r\n\t}\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(result) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif(result==false || result==\"false\"){\r\n\t\t\t\t// 隐藏礼品卡列表\r\n\t\t\t\t// 隐藏礼品卡样式\r\n\t\t\t\t$(\"#\" + giftCardProxyId).css(\"display\",\"none\");\r\n\t\t\t\tchangeClassStyle(giftCardProxyId, toggleWrapHide);\r\n\t\t\t\tchangeClassStyle(orderGiftCardProxyItem, item);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\talert(message);\r\n\t\t\t\tif (checked == true) {\r\n\t\t\t\t\t$(obj).attr(\"checked\", false);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(obj).attr(\"checked\", true);\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tcheckPaymentPasswordSafe(LPK_PWD_TYPE,giftCardType);\r\n\t\t\t$(\"#\" + orderGiftCardModule).html(result);\r\n\t\t\tchangeOrderInfoPrice(giftCardType);\r\n\t\t\tisNeedPaymentPassword();// 是否需要支付密码\r\n\t\t\tif(bindFlag && ($(\"#hiddenBindFlag\"+\"-\"+giftCardType).val() == \"true\")){\r\n\t\t\t\t\r\n\t\t\t  if (confirm(\"密码正确！是否将该\"+giftCardTypeName+\"绑定至当前账号？\")) {\r\n                  bindGiftCard(key,giftCardType);   // 异步判断是否绑定成功\r\n              }\r\n\t\t\t}\r\n\t\t\tlipinkaInputEventInit(giftCardType); // 礼品卡输入KEY限制\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction changeOrderInfoPrice(giftCardType) {\r\n\t// 已优惠的礼品卡金额\r\n\tif ($(\"#hiddenGiftCardDiscount\"+\"-\"+giftCardType)[0]) {\r\n\t\t$(\"#giftCardPriceId\").text(\"-￥\" + $(\"#hiddenGiftCardDiscount\"+\"-\"+giftCardType).val());\r\n\t\tif ($(\"#hiddenGiftCardDiscount\"+\"-\"+giftCardType).val() > 0) {\r\n\t\t\t$(\"#showGiftCardPrice\").show();\r\n\t\t} else {\r\n\t\t\t$(\"#showGiftCardPrice\").hide();\r\n\t\t}\r\n\t}\r\n\r\n\t// 余额\r\n\tif ($(\"#hiddenUsedBalance\"+\"-\"+giftCardType)[0]) {\r\n\t\t$(\"#usedBalanceId\").text(\"-￥\" + $(\"#hiddenUsedBalance\"+\"-\"+giftCardType).val());\r\n\t\tif ($(\"#hiddenUsedBalance\"+\"-\"+giftCardType).val() > 0) {\r\n\t\t\t$(\"#showUsedOrderBalance\").show();\r\n\t\t} else {\r\n\t\t\t$(\"#showUsedOrderBalance\").hide();\r\n\t\t}\r\n\t}\r\n\r\n\t// 实际应付金额\r\n\tif ($(\"#hiddenPayPrice\"+\"-\"+giftCardType)[0]) {\r\n\t\t$(\"#payPriceId\").text(\"￥\" + $(\"#hiddenPayPrice\"+\"-\"+giftCardType).val());\r\n\t\t$(\"#sumPayPriceId\").text(\"￥\" + $(\"#hiddenPayPrice\"+\"-\"+giftCardType).val());\r\n\t}\r\n\tloadSkuList();\r\n}\r\n/**\r\n * 绑定礼品卡\r\n */\r\nfunction bindGiftCard(key, giftCardType) {\r\n\tvar param = \"giftCardParam.giftCardType=\" + giftCardType + \"&giftCardKey=\" + key;\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/giftCard/bindGiftCard.action\";\r\n\t\r\n\tvar orderGiftCardModule = OrderAppConfig.Module_GiftCard;\r\n\tif(giftCardType == 3){\r\n\t\torderGiftCardModule = OrderAppConfig.Module_GiftECard;\r\n\t}\r\n\t\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(result) {\r\n\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\talert(message);\r\n\t\t\t\treturn;\r\n\t\t\t} \r\n\t\t\t$(\"#\" + orderGiftCardModule).html(result);\r\n\t\t\tisNeedPaymentPassword();// 是否需要支付密码\r\n\t\t\tlipinkaInputEventInit(giftCardType); // 礼品卡输入KEY限制\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 重置所有礼品卡不可用\r\n */\r\nfunction cancelAllUsedGiftCards(giftCardType) {\r\n\r\n\t$(\"input[type=checkbox][id^='lpkItem_']\").each(function() {\r\n\t\t$(this).attr(\"disabled\",true);\r\n\t\tif ($(this).is(\":checked\")) {\r\n\t\t}\r\n\t});\r\n\t\r\n\tvar orderGiftCardModule = OrderAppConfig.Module_GiftCard;\r\n\tif(giftCardType == 3){\r\n\t\torderGiftCardModule = OrderAppConfig.Module_GiftECard;\r\n\t}\r\n\t\r\n\t\r\n\t// 发请求取消所有礼品卡的使用\r\n    var param = \"giftCardParam.giftCardType=\" + giftCardType;\tparam = addFlowTypeParam(param);\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/giftCard/cancelAllGiftCard.action\";\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(result) {\r\n\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\talert(message);\r\n\t\t\t\t$(\"input[type=checkbox][id^='lpkItem_']\").attr(\r\n\t\t\t\t\t\t\"disabled\", false);\r\n\t\t\t\treturn;\r\n\t\t\t} \r\n\t\t\t$(\"#\" + orderGiftCardModule)\r\n\t\t\t\t\t.html(result);\r\n\t\t\t$(\"input[type=checkbox][id^='lpkItem_']\").each(function() {\r\n\t\t\t\t$(this).attr(\"disabled\",true);\r\n\t\t\t});\r\n\t\t\t$(\"#safeLpkPart\"+\"-\"+giftCardType).show(); \r\n\t\t\tchangeOrderInfoPrice(giftCardType);\r\n\t\t\tlipinkaInputEventInit(giftCardType); // 礼品卡输入KEY限制\r\n\t\t}\r\n\t});\r\n}\r\n\r\n\t/** ***************************************************余额******************************************** */\r\n\r\n\tfunction useOrCancelBalance(obj) {\r\n\t\tvar url = \"\";\r\n\t\tvar flag = $(obj).is(':checked') ? 1 : 0;\r\n\r\n\t\tif (flag) {\r\n\t\t\turl = OrderAppConfig.DynamicDomain + \"/balance/useBalance.action\";\r\n\t\t} else {\r\n\t\t\turl = OrderAppConfig.DynamicDomain + \"/balance/cancelBalance.action\";\r\n\t\t}\r\n\t\tvar param = \"fundsPwdType=\" + BALANCE_PWD_TYPE;\r\n\t\tparam = addFlowTypeParam(param);\r\n\t\tjQuery.ajax( {\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"json\",\r\n\t\t\turl : url,\r\n\t\t\tdata : param,\r\n\t\t\tasync : true,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(result) {\r\n\t\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\t\talert(message);\r\n\t\t\t\t\tif (flag == 1) {\r\n\t\t\t\t\t\t$(obj).attr(\"checked\", false);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$(obj).attr(\"checked\", true);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn;\r\n\t\t\t\t} else if (result != null && result == false) { \r\n\t\t\t\t\t// 开启支付密码接口失败\r\n\t\t\t\t\tcancelUsedBalance();\r\n\t\t\t\t} else if (result != null && result != false) {\r\n\t\t\t\t\tchangeBalanceState(result);\r\n\t\t\t\t\tisNeedPaymentPassword();// 是否需要支付密码\r\n\t\t\t\t\tif ($(\"#selectOrderBalance\").is(\":checked\")) { // 余额被使用时，验证是否安全\r\n\t\t\t\t\t\tcheckBalancePwdResult(BALANCE_PWD_TYPE);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t}\r\n\t\t});\r\n\t}\r\n\r\n\t// ****************************************************订单页面相关****************************************************************\r\n\t\r\n\t/**\r\n\t * 加载页面异步相关信息\r\n\t */\r\n\tfunction loadOrderExt() {\r\n//\t\tvar actionUrl = OrderAppConfig.AsyncDomain\r\n//\t\t+ \"/obtainOrderExt.action\";\r\n//\t\tvar param = addFlowTypeParam();\r\n//\t\tjQuery.ajax( {\r\n//\t\t\ttype : \"POST\",\r\n//\t\t\tdataType : \"json\",\r\n//\t\t\turl : actionUrl,\r\n//\t\t\tdata : param,\r\n//\t\t\tcache : false,\r\n//\t\t\tsuccess : function(dataResult, textStatus) {\r\n//\t\t\t\t// 没有登录跳登录\r\n//\t\t\tif (isUserNotLogin(dataResult)) {\r\n//\t\t\t\tgoToLogin();\r\n//\t\t\t\treturn;\r\n//\t\t\t}\r\n//\t\t\t// 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n//\t\t\tif (isHasMessage(dataResult)) {\r\n//\t\t\t\tvar message = getMessage(dataResult);\r\n//\t\t\t\talert(message);\r\n//\t\t\t}\r\n//\t\t\t\r\n//\t\t\t// =================1.刷新商品库存状态==============\r\n//\t\t\tvar states = dataResult.skuStockInfos;\r\n//\t\t\t// 成功后如果有divID直接放入div，没有则返回结果\r\n//\t\t\tloadSkuListStockData(states);\r\n//\t\t\t\r\n//\t\t\t// =================2.加载验证码==============\r\n//// if(dataResult.showCheckCode){\r\n//// refreshCheckCode(dataResult.encryptClientInfo);\r\n//// }\r\n//\t\t\t// ===============3.加载订单备注==============\r\n//\t\t\tif(dataResult.showOrderRemark){\r\n//\t\t\t\tshowOrderRemark();\r\n//\t\t\t}\r\n//\r\n//\t\t\t// ===============4.是否需要支付密码==============\r\n//\t\t\tif (dataResult.needPayPwd) {\r\n//\t\t\t\t$(\"#paypasswordPanel\").show();\r\n//\t\t\t} else {\r\n//\t\t\t\t$(\"#paypasswordPanel\").hide();\r\n//\t\t\t} \r\n//\t\t\t\r\n//\t\t\t// ==================5.加载余额==================\r\n//\t\t\tif(dataResult.balance.success){\r\n//\t\t\t\tvar useFlag = dataResult.balance.checked;\r\n//\t\t\t\t$(\"#selectOrderBalance\").attr(\"checked\",useFlag);\r\n//\t\t\t\t$(\"#canUsedBalanceId\").text(\"使用余额（账户当前余额：\" + dataResult.balance.leavyMoney.toFixed(2) + \"元）\");\r\n//\t\t\t\tif(dataResult.balance.leavyMoney > 0){\r\n//\t\t\t\t\t$(\"#showOrderBalance\").css(\"display\", \"block\");\r\n//\t\t\t\t}else{\r\n//\t\t\t\t\t$(\"#showOrderBalance\").css(\"display\", \"none\");\r\n//\t\t\t\t}\r\n//\t\t\t\t// 验证余额是否开启支付密码\r\n//\t\t\t\tif(dataResult.showOpenPayPwd){\r\n//\t\t\t\t\tcancelUsedBalance();\r\n//\t\t\t\t}\r\n//\t\t\t}\r\n//\t\t\t// 京豆优惠购是否足额和京豆优惠购商品id\r\n//\t\t\tvar showOpenPayPwd = dataResult.showOpenPayPwd;\r\n//\t\t\tvar existsJdbeanPromotion = dataResult.existsJdbeanPromotion;\r\n//\t\t\tvar checkJdbeanPromotion = dataResult.checkJdbeanPromotion;\r\n//\t\t\t// 成功后如果有divID直接放入div，没有则返回结果\r\n//\t\t\tcheckShowOpenPwd(showOpenPayPwd,existsJdbeanPromotion,checkJdbeanPromotion);\r\n//\t\t\t\r\n//\t\t},\r\n//\t\terror : function(XMLHttpResponse) {\r\n//\t\t\t\r\n//\t\t}\r\n//\t\t});\r\n\t}\r\n\t\r\n\t/**\r\n\t * 加载商品清单库存状态数据\r\n\t */\r\n\tfunction loadSkuListStockData(states){\r\n\t\t$(\".p-inventory\").each(function() {\r\n\t\t\tvar skuId = $(this).attr(\"skuId\");\r\n\t\t\tif (states != null && states.length > 0) {\r\n\t\t\t\tfor ( var i = 0; i < states.length; i++) {\r\n\t\t\t\t\tvar state = states[i];\r\n\t\t\t\t\tif (state.skuId == skuId) {\r\n\t\t\t\t\t\tvar info;\r\n\t\t\t\t\t\tswitch (state.stockStateId) {\r\n\t\t\t\t\t\tcase 33:\r\n\t\t\t\t\t\t\tinfo = \"有货\";\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 34:\r\n\t\t\t\t\t\t\tinfo = \"<span style='color:#e4393c'>无货</span>\";\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 36:\r\n\t\t\t\t\t\t\tinfo = \"预订\";\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 39:\r\n\t\t\t\t\t\t\tinfo = \"有货\";\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 40:\r\n\t\t\t\t\t\t\tinfo = \"有货\";\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\tinfo = \"<span style='color:#e4393c'>无货</span>\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$(this).html(info);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t$(this).html(\"有货\");\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\t/**\r\n\t * 异步加载商品清单库存状态\r\n\t */\r\n\tfunction loadSkuListStock() {\r\n\t\tvar actionUrl = OrderAppConfig.AsyncDomain\r\n\t\t\t\t+ \"/loadSkuListStock.action\";\r\n\t\tvar param = addFlowTypeParam();\r\n\t\tjQuery.ajax( {\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"json\",\r\n\t\t\turl : actionUrl,\r\n\t\t\tdata : param,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t// 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\tvar message = getMessage(dataResult);\r\n\t\t\t\talert(message);\r\n\t\t\t}\r\n\t\t\tvar states = dataResult;\r\n\t\t\t// 成功后如果有divID直接放入div，没有则返回结果\r\n\t\t\tloadSkuListStockData(states);\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\tfunction loadSkuList(){\r\n\t\tvar actionUrl = OrderAppConfig.AsyncDomain + \"/loadSkuList.action\";\r\n\t\tvar param = addFlowTypeParam();\r\n       jQuery.ajax( {\r\n\t    type : \"POST\",\r\n\t    dataType : \"json\",\r\n\t    url : actionUrl,\r\n\t    data : param,\r\n\t    cache : false,\r\n\t    success : function(dataResult, textStatus) {\r\n\t\t// 没有登录跳登录\r\n\t    if (isUserNotLogin(dataResult)) {\r\n\t\tgoToLogin();\r\n\t\treturn;\r\n\t   }\r\n\t   // 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t   if (isHasMessage(dataResult)) {\r\n\t\t  var message = getMessage(dataResult);\r\n\t\t  alert(message);\r\n\t   }\r\n\t   if(dataResult.success){\r\n\t\t  $(\"#span-skulist\").html(dataResult.skuList);\r\n\t\t  loadSkuListStock();\r\n\t\t  showTangJiuSkuIcon();// 加载Icon\r\n\t   }\r\n   },\r\n   error : function(XMLHttpResponse) {\r\n   }\r\n   });\t\r\n   }\r\n\r\n\t/**\r\n\t * 添加备注\r\n\t */\r\n\tfunction selectRemark(obj) {\r\n\t\tif ($(\"#remarkId\").attr(\"class\") == toggleWrapHide) {\r\n\t\t\t$(\"#remarkId\").removeClass();\r\n\t\t\t$(\"#remarkId\").addClass(\"toggle-wrap\");\r\n\t\t\tchangeClassStyle(\"orderRemarkItem\", itemToggleActive);\r\n\t\t\tif ($(\"#remarkText\").val() == \"\") {\r\n\t\t\t\t$(\"#remarkText\").val(\"限15个字\");\r\n\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\t$(\"#remarkId\").removeClass();\r\n\t\t\t$(\"#remarkId\").addClass(\"toggle-wrap hide\");\r\n\t\t\tchangeClassStyle(\"orderRemarkItem\", item);\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * 订单页面余额\r\n\t */\r\n\tfunction loadOrderBalance(){\r\n\t\tif(!$(\"#selectOrderBalance\").is(\":checked\")){\r\n\t\t\tvar actionUrl = OrderAppConfig.AsyncDomain + \"/isShowOrderBalance.action\";\r\n\t\t\tvar param = addFlowTypeParam();\r\n\t\t\tjQuery.ajax( {\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\tdataType : \"json\",\r\n\t\t\t\turl : actionUrl,\r\n\t\t\t\tdata : param,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(result, textStatus) {\r\n\t\t\t\t\t// 没有登录跳登录\r\n\t\t\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(result.resultFlag){\r\n\t\t\t\t\t\tvar useFlag = result.checked;\r\n\t\t\t\t\t\t$(\"#selectOrderBalance\").attr(\"checked\",useFlag);\r\n\t\t\t\t\t\t$(\"#canUsedBalanceId\").text(\"使用余额（账户当前余额：\" + result.leavyMoney.toFixed(2) + \"元）\");\r\n\t\t\t\t\t\tif(result.leavyMoney > 0){\r\n\t\t\t\t\t\t\t$(\"#showOrderBalance\").css(\"display\", \"block\");\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t$(\"#showOrderBalance\").css(\"display\", \"none\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcheckBalancePwdResult(BALANCE_PWD_TYPE);// 验证余额是否开启支付密码\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t},\r\n\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 显示订单备注\r\n\t */\r\n\tfunction showOrderRemark(){\r\n\t\tvar remarkTemplate = \"<div class='toggle-title'>\"\r\n\t\t\t+ \"<a class='toggler' href='javascript:void(0)' onclick='selectRemark(this)'><b></b>添加订单备注</a></div>\"\r\n\t\t\t+ \"<div class='toggle-wrap hide' id='remarkId'>\"\r\n\t\t\t+ \"<div class='cbox' id='order-remark'>\"\r\n\t\t\t+ \"<div class='inner'>\"\r\n\t\t\t+ \"<div class='group'>\"\r\n\t\t\t+ \"<input type=''  class='textbox1'  id='remarkText' maxlength='45' size='15'    style='color:#cccccc;padding:3px'  value='限45个字' \"\r\n\t\t\t+ \" onblur=\"\r\n\t\t\t+ \"\\\"\"\r\n\t\t\t+ \"if(this.value==''||this.value=='限45个字'){this.value='限45个字';this.style.color='#cccccc'}\"\r\n\t\t\t+ \"\\\"\"\r\n\t\t\t+ \"onfocus=\"\r\n\t\t\t+ \"\\\"\"\r\n\t\t\t+ \"if(this.value=='限45个字') {this.value='';};this.style.color='#000000';\"\r\n\t\t\t+ \"\\\"\" + \"  />  \"\r\n\t\t\t+ \"<span class='label'>&nbsp;&nbsp;提示：请勿填写有关支付、收货、发票方面的信息。</span>\"\r\n\t\t\t+ \"</div>\" + \"</div>\" + \"</div>\" + \"</div>\";\r\n\t\t$(\"#orderRemarkItem\").html(remarkTemplate);\r\n\t}\r\n\r\n\t/**\r\n\t * 是否显示订单备注\r\n\t */\r\n\tfunction loadOrderRemark() {\r\n\t\tvar actionUrl = OrderAppConfig.AsyncDomain\r\n\t\t\t\t+ \"/isShowOrderRemark.action\";\r\n\t\tvar param = addFlowTypeParam();\r\n\t\tjQuery.ajax( {\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"json\",\r\n\t\t\turl : actionUrl,\r\n\t\t\tdata : param,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(result, textStatus) {\r\n\t\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (result == true) {\r\n\t\t\t\tshowOrderRemark();\r\n\t\t\t}\r\n\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tfunction editOrderRemark(obj) {\r\n\t\tif ($(obj).val() == \"限15个字\") {\r\n\t\t\t$(obj).val(\"\");\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * 是否显示验证码\r\n\t */\r\n\tfunction loadCheckCode() {\r\n\t\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/order/isShowCheckCode.action\";\r\n\t\tvar param = addFlowTypeParam();\r\n\t\tjQuery.ajax( {\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"json\",\r\n\t\t\turl : actionUrl,\r\n\t\t\tdata : param,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(dataResult) {\r\n\t\t\t\t\tif(dataResult){\r\n\t\t\t\t\t\trefreshCheckCode();\r\n\t\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t}\r\n\t\t\t\r\n\t\t});\r\n\t}\r\n\r\n\t// 判断是否加载验证码\r\n\tfunction showCheckCode(){\r\n\t\t\r\n\t\tvar showCheckCode = $(\"#showCheckCode\").val();\r\n\t\tvar encryptClientInfo = $(\"#encryptClientInfo\").val();\r\n\t\t\r\n\t\tif(showCheckCode==\"true\"){\r\n\t\t\trefreshCheckCode(encryptClientInfo);\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * 获取验证码模版\r\n\t * \r\n\t * @returns {String}\r\n\t */\r\n\tfunction getCheckCodeTemplate(encryptClientInfo) {\r\n\t\tvar rid=Math.random().toString()+\"_\"+Math.random().toString();\r\n\t\tvar checkCodeUrl=\"\";\r\n\t\tvar checkCodeUrl=\"http://captcha.jd.com/verify/image?acid=\"+rid+\"&srcid=trackWeb&is=\"+encryptClientInfo;\r\n\t\treturn \"<span style='color:red'></span>\"\r\n\t\t\t\t+ \"<img id='orderCheckCodeImg' src='\"\r\n\t\t\t\t+ checkCodeUrl\r\n\t\t\t\t+ \"' onclick='getNextCheckCode()' \"\r\n\t\t\t\t+ \"alt='点击更换验证码' title='点击更换验证码' style='display:inline;cursor:pointer;border:#ebcca0 1px solid;' />\"\r\n\t\t\t\t+ \"<input id='checkcodeTxt'  type='text' style='width:50px;margin:0 5px 0 3px;height:22px;padding-left:2px;font-size:17px;font-weight:bold' />\"\r\n\t\t\t\t+ \"<input id='checkcodeRid'  type='hidden' value='\"+ rid+\"' />\"\r\n\t\t        + \"<input id='encryptClientInfo'  type='hidden' value='\"+ encryptClientInfo+\"' />\";\r\n\t}\r\n\r\n\t/**\r\n\t * 显示下一张验证码\r\n\t * \r\n\t * @param obj\r\n\t */\r\n\tfunction getNextCheckCode() {\r\n\t\tvar obj = document.getElementById(\"orderCheckCodeImg\");\r\n\t\tvar rid = Math.random().toString()+\"_\"+Math.random().toString(); \r\n\t\tvar checkCodeUrl=\"\";\r\n\t\tvar encryptClientInfo=$(\"#encryptClientInfo\").val();\r\n\r\n\t\tvar checkCodeUrl=\"http://captcha.jd.com/verify/image?acid=\"+rid+\"&srcid=trackWeb&is=\"+encryptClientInfo;\r\n\r\n\t\t\r\n\t\tobj.src = checkCodeUrl;\r\n\t\t$(\"#checkcodeRid\").val(rid);\r\n\t\t$('#checkcodeTxt').val(\"\");\r\n\t}\r\n\r\n\t/**\r\n\t * 刷新验证码\r\n\t */\r\n\tfunction refreshCheckCode(encryptClientInfo) {\r\n\t\tif (isEmpty($(\"#checkCodeDiv\").html())) {\r\n\t\t\t$(\"#checkCodeDiv\").html(getCheckCodeTemplate(encryptClientInfo));\r\n\t\t} else {\r\n\t\t\tgetNextCheckCode();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * 设置无货商品\r\n\t * \r\n\t * @param outSkus\r\n\t */\r\n\tfunction setOutSkus(skuIds) {\r\n\t\tvar hasOutSkus = false;\r\n\t\tvar outSkus = skuIds.split(\",\");\r\n\t\tif (outSkus != null && outSkus.length > 0) {\r\n\t\t\t$(\".p-inventory\")\r\n\t\t\t\t\t.each(\r\n\t\t\t\t\t\t\tfunction() {\r\n\t\t\t\t\t\t\t\tvar skuId = $(this).attr(\"skuId\");\r\n\t\t\t\t\t\t\t\tif (outSkus != null && outSkus.length > 0) {\r\n\t\t\t\t\t\t\t\t\tfor ( var i = 0; i < outSkus.length; i++) {\r\n\t\t\t\t\t\t\t\t\t\tif (outSkus[i] == skuId) {\r\n\t\t\t\t\t\t\t\t\t\t\thasOutSkus = true;\r\n\t\t\t\t\t\t\t\t\t\t\t$(this)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.html(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"<strong>暂时无货</strong><br/>\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ \"<a href='#'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ \" onclick=\\\"deleteOutSku('\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ skuId\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ \"')\\\">\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ \"[删除并关注]</a>\");\r\n\t\t\t\t\t\t\t\t\t\t\t$(this)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.parent()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.parent()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.parent()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.addClass(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"review-tbody-highlight\");\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\tif (hasOutSkus) {\r\n\t\t\t\t$(\"#batchDeleteNoStockSkus\").show();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 一键删除所有无货商品\r\n\t */\r\n\tfunction deleteAllOutSku() {\r\n\t\tvar skuIds = $(\"#noStockSkuIds\").val();\r\n\t\tdeleteOutSku(skuIds);\r\n\t}\r\n\r\n\t/**\r\n\t * 商品全部无货，或者赠品无货，跳向购物车\r\n\t * \r\n\t * @param skuIds\r\n\t * @returns {Boolean}\r\n\t */\r\n\tfunction outSkuIsGoCart(skuIds) {\r\n\t\tvar outSkus = skuIds.split(\",\");\r\n\t\t// 如果只有一个商品，则跳回购物车\r\n\t\tvar flag = 0;\r\n\t\tvar flag2 = 0;\r\n\t\t$(\".p-inventory\").each(function() {\r\n\t\t\tflag2 = flag2 + 1;\r\n\t\t\tvar skuId = $(this).attr(\"skuId\");\r\n\t\t\tif (outSkus != null && outSkus.length > 0) {\r\n\t\t\t\tfor ( var i = 0; i < outSkus.length; i++) {\r\n\t\t\t\t\tif (outSkus[i] == skuId) {\r\n\t\t\t\t\t\tflag = flag + 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\t// 存在主商品有货，但是赠品或者附件无货\r\n\t\tif (flag < outSkus.length) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\t// 所有商品都无货\r\n\t\tif (flag == flag2) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 删除无货商品\r\n\t * \r\n\t * @param obj\r\n\t */\r\n\tfunction deleteOutSku(skuIds) {\r\n\t\t// 如果只有一个商品，则直接去购物车\r\n\t\tif (outSkuIsGoCart(skuIds)) {\r\n\t\t\tgoCart();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// todo删除购物车和结算服务cookie\r\n\t\tvar actionUrl = OrderAppConfig.DynamicDomain \r\n\t\t\t\t+ \"/order/deleteNoStockSkus.action?orderInfoParam.outSkuIds=\"\r\n\t\t\t\t+ skuIds;\r\n\t\tvar param = addFlowTypeParam();\r\n\t\tjQuery.ajax( {\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"json\",\r\n\t\t\turl : actionUrl,\r\n\t\t\tdata : param,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t// 删除成功后刷新订单页面\r\n\t\t\tif (dataResult == true) {\r\n\t\t\t\tgoOrder();\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t\t});\r\n\r\n\t}\r\n\t/**\r\n\t * 是否展开配收货人\r\n\t */\r\n\tfunction isNewUser() {\r\n\t\tif (checkIsNewUser()) {\r\n\t\t\tif(isLocBuy()){\r\n\t\t\t\tedit_LocConsignee();\r\n\t\t\t}else{\r\n\t\t\t\tedit_Consignee();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * 检查是否是新用户\r\n\t * \r\n\t * @returns {Boolean}\r\n\t */\r\n\tfunction checkIsNewUser(){\r\n\t\tvar val = $(\"#isOpenConsignee\").val();\r\n\t\tif (val != undefined && (val == 1 || val == \"1\")) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\t\r\n\t/**\r\n\t * 是否刷新地址，针对轻松购\r\n\t * \r\n\t * @return\r\n\t */\r\n\tfunction isRefreshArea(){\r\n\t\tvar val = $(\"#isRefreshArea\").val();\r\n\t\tif (val != undefined && (val == 1 || val == \"1\")) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\t/**\r\n\t * 是否展开配送和支付方式\r\n\t */\r\n\tfunction isOpenPaymentAndShip() {\r\n\t\tif($(\"#isOpenPaymentAndShip\").length > 0){\r\n\t\t\tvar val=$(\"#isOpenPaymentAndShip\").val();\r\n\t\t\t// 如果是新用户，必须需先填写收货人地址\r\n\t\t\tif (val != undefined  && val != \"undefined\" && (val == 1 || val == \"1\") && (checkIsNewUser() == false)) {\r\n\t\t\t\tif(isLocBuy()){\r\n\t\t\t\t\tedit_LocPayment(2);\r\n\t\t\t\t}else{\r\n\t\t\t\t\tedit_Payment(2);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t}\r\n\r\n\t/**\r\n\t * 大家电换区逻辑\r\n\t */\r\n\tfunction isBigItemChange() {\r\n\t\tif ($(\"#isChangeItemByArea\").val()===\"true\") {\r\n\t\t\treturn true;\r\n\t\t} \r\n\t\treturn false;\r\n\t}\r\n\t\r\n\t/**\r\n\t * 是否含有糖酒\r\n\t */\r\n\tfunction hasTang9(){\r\n\t\tif($(\"#hasTang9\").val()==\"true\" || $(\"#hasTang9\").val()==true){\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\t\r\n\r\n\t/**\r\n\t * 提交订单方法\r\n\t */\r\n\tfunction submit_Order() {\r\n\t\t$(\"#submit_message\").hide();\r\n\t\tjQuery.ajax( {\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"json\",\r\n\t\t\turl : \"/service/order/submit\",\r\n\t\t\tdata : $(\"#orderForm\").serialize(),\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(result) {\r\n\t\t\t\tif(result.status == 200){\r\n\t\t\t\t\tlocation.href = \"/order/success.html?id=\"+result.data;\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$(\"#submit_message\").html(\"订单提交失败，请稍后重试...\").show();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror : function(error) {\r\n\t\t\t\t$(\"#submit_message\").html(\"亲爱的用户请不要频繁点击, 请稍后重试...\").show();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\t/**\r\n\t * 使用以旧换新逻辑\r\n\t * \r\n\t * @return\r\n\t */\r\n\tfunction useOldRepalceNew(){\r\n\t\tvar isReplace=false;\r\n\t\tif($(\"#oldReplaceNew:checked\").size()>0){\r\n\t\t\tisReplace=true;\r\n\t\t}else{\r\n\t\t\tisReplace=false;\r\n\t\t}\r\n\t\tjQuery.ajax( {\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"text\",\r\n\t\t\turl : OrderAppConfig.AsyncDomain + \"/useOldReplaceNew.action\",\r\n\t\t\tdata : addFlowTypeParam(\"isReplace=\"+isReplace),\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(dataResult, textStatus) {\t\r\n\t\t\t\t// 没有登录跳登录\r\n\t\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t$(\"#span-skulist\").html(dataResult);\r\n\t\t\t\tvar orderPrice=eval(\"(\" +$(\"#orderPriceInSkuList\").val() + \")\");\r\n\t\t\t\t// 修改优惠券结算信息\r\n\t\t\t\tif(orderPrice.couponDiscount != null) {\r\n\t\t\t\t\t$(\"#couponPriceId\").text(\"-￥\" + orderPrice.couponDiscount.toFixed(2));\r\n\t\t\t\t\tif(orderPrice.couponDiscount == 0) {\r\n\t\t\t\t\t\t$(\"#showCouponPrice\").css(\"display\", \"none\");\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$(\"#showCouponPrice\").css(\"display\", \"block\");\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(\"#couponPriceId\").css(\"display\", \"none\");\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t// 修改礼品卡结算信息\r\n\t\t\t\tif(orderPrice.giftCardDiscount != null) {\r\n\t\t\t\t\t$(\"#giftCardPriceId\").text(\"-￥\" + orderPrice.giftCardDiscount.toFixed(2));\r\n\t\t\t\t\tif(orderPrice.giftCardDiscount == 0) {\r\n\t\t\t\t\t\t$(\"#showGiftCardPrice\").css(\"display\", \"none\");\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$(\"#showGiftCardPrice\").css(\"display\", \"block\");\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(\"#showGiftCardPrice\").css(\"display\", \"none\");\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t// 修改余额\r\n\t\t\t\tif(orderPrice.usedBalance != null) {\r\n\t\t\t\t\t$(\"#usedBalanceId\").text(\"-￥\" + orderPrice.usedBalance.toFixed(2));\r\n\t\t\t\t\tif(orderPrice.usedBalance == 0) {\r\n\t\t\t\t\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"none\");\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"block\");\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"none\");\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t// 修改应付余额\r\n\t\t\t\tif(orderPrice.payPrice != null) {\r\n\t\t\t\t\t$(\"#payPriceId\").text(\"￥\" + orderPrice.payPrice.toFixed(2));\t\t\t\t\r\n\t\t\t\t\t$(\"#sumPayPriceId\").text(\"￥\" + orderPrice.payPrice.toFixed(2));\r\n\r\n\t\t\t\t} \r\n\t\t\t\t// 商品总金额\r\n\t\t\t\tif(orderPrice.promotionPrice != null) {\r\n\t\t\t\t\t$(\"#warePriceId\").text(\"￥\" + orderPrice.promotionPrice.toFixed(2));\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\t/** *********************************************有货先发****************************************************** */\r\n\t\r\n\t/**\r\n\t * 大家电换区\r\n\t * \r\n\t * @return\r\n\t */\r\n\tfunction bigItemChangeArea(){\r\n\t\tvar actionUrl=OrderAppConfig.AsyncDomain + \"/isBigItemChangeArea.action\";\r\n\t\tvar param = addFlowTypeParam();\r\n\t\tjQuery.ajax( {\r\n\t\t\t\t\ttype : \"POST\",\r\n\t\t\t\t\tdataType : \"json\",\r\n\t\t\t\t\turl : actionUrl,\r\n\t\t\t\t\tdata : param,\r\n\t\t\t\t\tcache : false,\r\n\t\t\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t\t\t\tif (dataResult.resultFlag) {\r\n\t\t\t\t\t\t\t\tif(dataResult.message){\r\n\t\t\t\t\t\t\t\t\talert(dataResult.message);\r\n\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\talert(\"请注意：根据您最新的收货地址，您购物车中的商品或价格发生了变化！\");\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tgoOrder();\r\n\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\tif(dataResult.message){\r\n\t\t\t\t\t\t\t\t\talert(dataResult.message);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\t/**\r\n\t * 糖酒换区\r\n\t * \r\n\t * @return\r\n\t */\r\n\tfunction tang9ChangeArea(){\r\n\t\tvar actionUrl=OrderAppConfig.AsyncDomain + \"/tang9ChangeArea.action\";\r\n\t\tvar param = addFlowTypeParam();\r\n\t\tjQuery.ajax( {\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"json\",\r\n\t\t\turl : actionUrl,\r\n\t\t\tdata : param,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\tif (dataResult.resultFlag) {\r\n\t\t\t\t\tif(dataResult.message){\r\n\t\t\t\t\t\talert(dataResult.message);\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\talert(\"请注意：根据您最新的收货地址，您购物车中的商品或价格发生了变化！\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\tgoOrder();\r\n\t\t\t\t}else{\r\n\t\t\t\t\tif(dataResult.message){\r\n\t\t\t\t\t\talert(dataResult.message);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\t\r\n\t/** *********************************************京豆****************************************************** */\r\n\t/**\r\n\t * 京豆支付展开关闭\r\n\t */\r\n\tfunction showOrHideJdBean(){\r\n\t\tif($(\"#orderBeanItem\").hasClass(\"toggle-active\")){\r\n\t\t\t$(\"#orderBeanItem\").removeClass(\"toggle-active\");\r\n\t\t\t$(\"#jdBeans\").hide();\r\n\t\t}else{\r\n\t\t\tvar actionUrl=OrderAppConfig.DynamicDomain + \"/jdbean/getJdBean.action\";\r\n\t\t\tvar params = addFlowTypeParam();\r\n\t\t\tjQuery.ajax({\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\tdataType : \"html\",\r\n\t\t\t\tdata : params,\r\n\t\t\t\turl : actionUrl,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(result) {\r\n\t\t\t\t\t// 没有登录跳登录\r\n\t\t\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$(\"#orderBeanItem\").addClass(\"toggle-active\");\r\n\t\t\t\t\t$(\"#jdBeans\").html(result);\r\n\t\t\t\t\tflushOrderPrice(eval(\"(\" +$(\"#jdBeanOrderPrice\").val() + \")\"),true);\r\n\t\t\t\t\t$(\"#jdBeans\").show();\r\n\t\t\t\t\tvar param = \"couponParam.fundsPwdType=JdBean\";\r\n\t\t\t\t\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/checkFundsPwdResult.action\";\r\n\t\t\t\t\tparam = addFlowTypeParam(param);\r\n\t\t\t\t\tjQuery.ajax({\r\n\t\t\t\t\t\ttype : \"POST\",\r\n\t\t\t\t\t\tdataType : \"json\",\r\n\t\t\t\t\t\turl : url,\r\n\t\t\t\t\t\tdata : param,\r\n\t\t\t\t\t\tasync : true,\r\n\t\t\t\t\t\tcache : false,\r\n\t\t\t\t\t\tsuccess : function(flag) {\r\n\t\t\t\t\t\t\tif(!flag){\r\n\t\t\t\t\t\t\t\tif($(\"#usedJdBean\").length>0){\r\n\t\t\t\t\t\t\t\t\t// 取消京豆\r\n\t\t\t\t\t\t\t\t\tuseJdBean(0);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t$(\"#jdBean-safe-tip\").show();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\t/**\r\n\t * 取消使用京豆，不展开京豆选项\r\n\t */\r\n\tfunction cancelJdBeanWithoutOpen(){\r\n\t\tvar actionUrl=OrderAppConfig.DynamicDomain + \"/jdbean/useJdBean.action\";\r\n\t\tvar param =\"jdBeanParam.usedJdBean=0\";\r\n\t\tparam = addFlowTypeParam(param);\r\n\t\tjQuery.ajax({\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"html\",\r\n\t\t\turl : actionUrl,\r\n\t\t\tdata : param,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(result) {\r\n\t\t\t\tflushOrderPrice(eval(\"(\" +$(\"#jdBeanOrderPrice\").val() + \")\"),true);\r\n\t\t\t\tisNeedPaymentPassword();// 是否需要支付密码\r\n\t\t\t},\r\n\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t/**\r\n\t * 使用京豆\r\n\t */\r\n\tfunction useJdBean(jdbean){\r\n\t\tvar actionUrl=OrderAppConfig.DynamicDomain + \"/jdbean/useJdBean.action\";\r\n\t\tvar param =\"jdBeanParam.usedJdBean=\"+jdbean;\r\n\t\tparam = addFlowTypeParam(param);\r\n\t\tjQuery.ajax({\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"html\",\r\n\t\t\turl : actionUrl,\r\n\t\t\tdata : param,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(result) {\r\n\t\t\t\t// 没有登录跳登录\r\n\t\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t$(\"#orderBeanItem\").addClass(\"toggle-active\");\r\n\t\t\t\t$(\"#jdBeans\").html(result);\r\n\t\t\t\t$(\"#jdBeans\").show();\r\n\t\t\t\tflushOrderPrice(eval(\"(\" +$(\"#jdBeanOrderPrice\").val() + \")\"),true);\r\n\t\t\t\tisNeedPaymentPassword();// 是否需要支付密码\r\n\t\t\t},\r\n\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\t/**\r\n\t * 京豆使用取消修改\r\n\t * \r\n\t * @return\r\n\t */\r\n\tfunction useCancelEditJdBean(jdbean,rate,cancel){\r\n\t\tif(jdbean < 0 || (cancel && $(\"#showUsedJdBean:visible\").length == 0)){\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// 取消使用京豆，不用校验支付密码开启状态\r\n\t\tif(cancel){\r\n\t\t\tuseJdBean(0);\r\n\t\t}else{// 使用京豆，先校验支付密码开启状态\r\n\t\t\tvar param = \"couponParam.fundsPwdType=JdBean\";\r\n\t\t\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/checkFundsPwdResult.action\";\r\n\t\t\tparam = addFlowTypeParam(param);\r\n\t\t\tjQuery.ajax({\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\tdataType : \"json\",\r\n\t\t\t\turl : url,\r\n\t\t\t\tdata : param,\r\n\t\t\t\tasync : true,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(flag) {\r\n\t\t\t\t\tif (isUserNotLogin(flag)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (flag) {\r\n\t\t\t\t\t\t$(\"#jdBean-safe-tip\").hide();\r\n\t\t\t\t\t\tuseJdBean(jdbean);\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\talert(\"为保障您的账户资金安全，京豆暂时不可用，请先开启支付密码\");\r\n\t\t\t\t\t\t$(\"#jdBean-safe-tip\").show();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}\r\n\t\r\n\t\r\n\t/** ******************************免注册下单开始******************************** */\r\n\tfunction sendMobileCode(){\r\n\t\tvar mobile=$(\"#consignee_mobile\").val();\r\n\t\t\r\n\t\tif(!checkMobilePhone()){\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\t\r\n\t\t$(\"#sendMobileCodeBtn\").attr(\"disabled\",\"disabled\");\r\n\t\tjQuery.ajax({\r\n\t        type: \"POST\",\r\n\t        dataType: \"json\",\r\n\t        url: OrderAppConfig.DynamicDomain + \"/order/sendMobileCode.action\",\r\n\t        data: \"consigneeWithoutRegistParam.mobile=\"+mobile,\r\n\t        cache: false,\r\n\t        success: function(dataResult) {\r\n\t\t\t\tif(dataResult.success){\r\n\t\t\t\t\t$(\"#call_div_error\").hide();\r\n\t                $(\"#call_div\").removeClass(\"message\");\r\n\t\t\t\t\t// 倒计时\r\n\t\t\t\t\t$(\"#sendMobileCodeBtn\").attr(\"disabled\",\"disabled\");\r\n\t\t\t\t\t$(\"#sendMobileCodeBtn\").val(\"120秒后重新获取\");\r\n\t\t\t\t\tsetTimeout(countDown,1000);\r\n\t\t\t\t\t\r\n\t\t\t\t}else{\r\n\t\t\t\t\tvar errorMessage=dataResult.message;\r\n\t\t\t\t\tif(errorMessage.indexOf(\"已注册\")>-1){\r\n\t\t\t\t\t\terrorMessage=errorMessage+\"，<a href='https://passport.jd.com/new/login.aspx?ReturnUrl=http%3A%2F%2Fcart.jd.com%2Fcart%2Fcart.html' >立即登录</a>\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$(\"#call_div_error\").html(errorMessage);\r\n\t            \t$(\"#call_div_error\").show();\r\n\t                $(\"#call_div\").addClass(\"message\");\r\n\t                $(\"#sendMobileCodeBtn\").attr(\"disabled\",\"\");\r\n\t\t\t\t}\r\n\t        },\r\n\t        error: function(XMLHttpResponse) {}\r\n\t    });\r\n\t}\r\n\r\n\tfunction checkMobilePhone(){\r\n\t\tvar mobile=$(\"#consignee_mobile\").val();\r\n\t\tvar checkFlag = true;\r\n\t\tvar reg =/^1[3|4|5|8]\\d{9}/;\r\n\t\tvar errorMessage=\"\";\r\n\t\tif(isEmpty(mobile)){\r\n\t\t\terrorMessage = \"请输入手机号\";\r\n\t\t\tcheckFlag = false;\r\n\t\t}else{\r\n\t\t\tif(mobile.match(reg)==null){\r\n\t\t\t\tcheckFlag = false ;\r\n\t\t\t\terrorMessage = \"手机号格式错误\";\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(!checkFlag){\r\n\t\t\t$(\"#call_div_error\").html(errorMessage);\r\n\t    \t$(\"#call_div_error\").show();\r\n\t        $(\"#call_div\").addClass(\"message\");\r\n\t\t}else{\r\n\t\t\t$(\"#call_div_error\").hide();\r\n\t\t\t$(\"#call_div\").removeClass(\"message\");\r\n\t\t}\r\n\t\treturn checkFlag;\r\n\t}\r\n\r\n\t/**\r\n\t * 发送验证码倒计时\r\n\t * \r\n\t * @return\r\n\t */\r\n\tfunction countDown(){\r\n\t\tvar text=$(\"#sendMobileCodeBtn\").val();\r\n\t\tvar secondTxt=text.substring(0,text.indexOf(\"秒\"));\r\n\t\tvar second=parseInt(secondTxt);\r\n\t\tif(second<=0){\r\n\t\t\t$(\"#sendMobileCodeBtn\").attr(\"disabled\",\"\");\r\n\t\t\t$(\"#sendMobileCodeBtn\").val(\"获取验证码\");\r\n\t\t}else{\r\n\t\t\tsecond--;\r\n\t\t\t$(\"#sendMobileCodeBtn\").val(second+\"秒后重新获取\");\r\n\t\t\tsetTimeout(countDown,1000);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction checkMobileCode(){\r\n\t\tvar code=$(\"#mobileCode\").val();\r\n\t\tif(isEmpty(code)){\r\n\t\t\t$(\"#mobileCode_div_error\").html(\"验证失败，请核对手机号和验证码，必要时重新获取\");\r\n\t        $(\"#mobileCode_div\").addClass(\"message\");\r\n\t        return;\r\n\t\t}\r\n\t\tjQuery.ajax({\r\n\t        type: \"POST\",\r\n\t        dataType: \"json\",\r\n\t        url: OrderAppConfig.DynamicDomain + \"/order/checkMobileCode.action\",\r\n\t        data: \"consigneeWithoutRegistParam.code=\"+code,\r\n\t        cache: false,\r\n\t        success: function(dataResult) {\r\n\t\t\t\tif(dataResult){\r\n\t\t\t\t\t$(\"#mobileCode_div_success\").show();\r\n\t\t\t\t\t$(\"#mobileCode_div_error\").hide();\r\n\t\t\t\t\t$(\"#mobileCode_div\").removeClass(\"message\");\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$(\"#mobileCode_div_success\").hide();\r\n\t\t\t\t\t$(\"#mobileCode_div_error\").html(\"验证失败，请核对手机号和验证码，必要时重新获取\");\r\n\t\t\t\t\t$(\"#mobileCode_div_error\").show();\r\n\t\t\t\t\t$(\"#mobileCode_div\").addClass(\"message\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t        error: function(XMLHttpResponse) {}\r\n\t    });\r\n\t}\r\n\tfunction save_ConsigneeWithoutRegister(){\r\n\t\t// 普通地址\r\n\t\tvar consignee_id = 0;\r\n\t    var consignee_type = 1;\r\n\t    var consignee_provinceId = null;\r\n\t    var consignee_cityId = null;\r\n\t    var consignee_countyId = null;\r\n\t    var consignee_townId = null;\r\n\t    var consignee_name = null;\r\n\t    var consignee_email = \"\";\r\n\t    var consignee_address = null;\r\n\t    var consignee_mobile = null;\r\n\t    var consignee_phone = \"\";\r\n\t    var consignee_provinceName = null;\r\n\t    var consignee_cityName = null;\r\n\t    var consignee_countyName = null;\r\n\t    var consignee_townName = null;\r\n\t    var isUpdateCommonAddress = 0;\r\n\t    var mobileCode=\"\";\r\n\t    \r\n\t    consignee_provinceId = $(\"#consignee_province\").find(\"option:selected\").val();\r\n\t    consignee_cityId = $(\"#consignee_city\").find(\"option:selected\").val();\r\n\t    consignee_countyId = $(\"#consignee_county\").find(\"option:selected\").val();\r\n\t    consignee_townId = $(\"#consignee_town\").find(\"option:selected\").val();\r\n\t    consignee_provinceName = $(\"#consignee_province\").find(\"option:selected\").text().replace(\"*\", \"\");\r\n\t    consignee_cityName = $(\"#consignee_city\").find(\"option:selected\").text().replace(\"*\", \"\");\r\n\t    consignee_countyName = $(\"#consignee_county\").find(\"option:selected\").text().replace(\"*\", \"\");\r\n\t    if (!$(\"#span_town\").is(\":hidden\")) {\r\n\t        consignee_townName = $(\"#consignee_town\").find(\"option:selected\").text().replace(\"*\", \"\");\r\n\t    }\r\n\t    \r\n\t    consignee_name = $(\"#consignee_name\").val();\r\n\t    consignee_address = $(\"#consignee_address\").val();\r\n\t    consignee_mobile = $(\"#consignee_mobile\").val();\r\n\t    mobileCode = $(\"#mobileCode\").val();\r\n\t    var checkConsignee = true;\r\n\t    // 验证收货人信息是否正确\r\n\t    if (!check_Consignee(\"name_div\")) {\r\n\t        checkConsignee = false;\r\n\t    }\r\n\t    // 验证地区是否正确\r\n\t    if (!check_Consignee(\"area_div\")) {\r\n\t        checkConsignee = false;\r\n\t    }\r\n\t    // 验证收货人地址是否正确\r\n\t    if (!check_Consignee(\"address_div\")) {\r\n\t        checkConsignee = false;\r\n\t    }\r\n\t    // 验证手机号码是否正确\r\n\t    if(!checkMobilePhone()){\r\n\t    \tcheckConsignee = false;\r\n\t\t}\r\n\t    if(isEmpty(mobileCode)){\r\n\t    \t$(\"#mobileCode_div_success\").hide();\r\n\t\t\t$(\"#mobileCode_div_error\").html(\"验证失败，请核对手机号和验证码，必要时重新获取\");\r\n\t\t\t$(\"#mobileCode_div_error\").show();\r\n\t\t\t$(\"#mobileCode_div\").addClass(\"message\");\r\n\t    \tcheckConsignee = false;\r\n\t    }\r\n\t    if (!checkConsignee) {\r\n\t        return;\r\n\t    }\r\n\t\t\r\n\t    var param = \"consigneeWithoutRegistParam.id=\" + consignee_id + \"&consigneeWithoutRegistParam.type=\" + consignee_type \r\n\t    \t\t\t+ \"&consigneeWithoutRegistParam.name=\" + consignee_name + \"&consigneeWithoutRegistParam.provinceId=\" + consignee_provinceId + \"&consigneeWithoutRegistParam.cityId=\" + consignee_cityId \r\n\t    \t\t\t+ \"&consigneeWithoutRegistParam.countyId=\" + consignee_countyId + \"&consigneeWithoutRegistParam.townId=\" + consignee_townId \r\n\t    \t\t\t+ \"&consigneeWithoutRegistParam.address=\" + consignee_address + \"&consigneeWithoutRegistParam.mobile=\" + consignee_mobile \r\n\t    \t\t\t+ \"&consigneeWithoutRegistParam.email=\" + consignee_email + \"&consigneeWithoutRegistParam.phone=\" + consignee_phone \r\n\t    \t\t\t+ \"&consigneeWithoutRegistParam.provinceName=\" + consignee_provinceName + \"&consigneeWithoutRegistParam.cityName=\" + consignee_cityName \r\n\t    \t\t\t+ \"&consigneeWithoutRegistParam.countyName=\" + consignee_countyName + \"&consigneeWithoutRegistParam.townName=\" + consignee_townName \r\n\t    \t\t\t+ \"&consigneeWithoutRegistParam.isUpdateCommonAddress=\" + isUpdateCommonAddress\r\n\t    \t\t\t+ \"&consigneeWithoutRegistParam.code=\"+mobileCode;\r\n\t    \r\n\t    jQuery.ajax({\r\n\t        type: \"POST\",\r\n\t        dataType: \"json\",\r\n\t        url: OrderAppConfig.DynamicDomain + \"/order/saveConsigneeWithoutRegist.action\",\r\n\t        data: param,\r\n\t        cache: false,\r\n\t        success: function(dataResult) {\r\n\t    \t\tif(dataResult == null){\r\n\t    \t\t\t$(\"#mobileCode_div_success\").hide();\r\n\t\t\t\t\t$(\"#mobileCode_div_error\").html(\"验证失败，请核对手机号和验证码，必要时重新获取\");\r\n\t\t\t\t\t$(\"#mobileCode_div_error\").show();\r\n\t\t\t\t\t$(\"#mobileCode_div\").addClass(\"message\");\r\n\t    \t\t\treturn ;\r\n\t    \t\t}\r\n\t    \t\t\t\r\n\t    \t\tif(dataResult.success){\r\n\t    \t\t\tgoOrder();\r\n\t    \t\t}else{\r\n\t    \t\t\tvar errorMessage=dataResult.message;\r\n\t\t\t\t\tif(errorMessage.indexOf(\"已注册\")>-1){\r\n\t\t\t\t\t\terrorMessage=errorMessage+\"，<a href='https://passport.jd.com/new/login.aspx?ReturnUrl=http%3A%2F%2Fcart.jd.com%2Fcart%2Fcart.html'>立即登录</a>\";\r\n\t\t\t\t\t\t$(\"#call_div_error\").html(errorMessage);\r\n\t\t            \t$(\"#call_div_error\").show();\r\n\t\t                $(\"#call_div\").addClass(\"message\");\r\n\t\t                $(\"#sendMobileCodeBtn\").attr(\"disabled\",\"\");\r\n\t\t                return;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(errorMessage.indexOf(\"验证失败\")>-1){\r\n\t\t\t\t\t\t$(\"#mobileCode_div_success\").hide();\r\n\t\t\t\t\t\t$(\"#mobileCode_div_error\").html(\"验证失败，请核对手机号和验证码，必要时重新获取\");\r\n\t\t\t\t\t\t$(\"#mobileCode_div_error\").show();\r\n\t\t\t\t\t\t$(\"#mobileCode_div\").addClass(\"message\");\r\n\t\t\t\t\t\treturn ;\r\n\t\t\t\t\t}\r\n\t\t\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t    \t\t}\r\n\t    \t},\r\n\t        error: function(XMLHttpResponse) {}\r\n\t    });\r\n\t}\r\n\r\n\tfunction getSkuListWithUuid(){\r\n\t\tjQuery.ajax({\r\n\t        type: \"POST\",\r\n\t        dataType: \"json\",\r\n\t        url: OrderAppConfig.DynamicDomain + \"/order/getSkuList.action\",\r\n\t        data: \"\",\r\n\t        cache: false,\r\n\t        success: function(dataResult) {\r\n\t    \t\t$(\"#span-skulist\").html(dataResult);\r\n\t    \t\t$(\"#sumPayPriceId\").text(\"￥ \"+$(\"#totalFee\").val());\r\n\t    \t\t$(\"#payPriceId\").text(\"￥ \"+$(\"#totalFee\").val());\r\n\t    \t},\r\n\t        error: function(XMLHttpResponse) {}\r\n\t    });\r\n\t}\r\n\r\n\t/** ******************************免注册下单结束******************************** */\r\n\r\n    /**\r\n\t * 是否是实体礼品卡流程\r\n\t */\r\n    function isLipinkaPhysical(){\r\n        var lpkVal = $(\"#flowType\").val();\r\n        if(lpkVal == \"4\"){\r\n            return true;\r\n        }else{\r\n            return false;\r\n        }\r\n    }\r\n\r\n\t/**\r\n\t * 是否是礼品购流程\r\n\t */\r\n\tfunction isGiftBuy(){\r\n\t\tvar giftBuyVal = $(\"#flowType\").val();\r\n\t\tif(giftBuyVal == \"2\"){\r\n\t\t\treturn true;\r\n\t\t}else{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\t/**\r\n\t * 是否是礼品购流程\r\n\t */\r\n\tfunction isLocBuy(){\r\n\t\tvar locBuyVal = $(\"#flowType\").val();\r\n\t\tif(locBuyVal == \"1\"){\r\n\t\t\treturn true;\r\n\t\t}else{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * 加载礼品购的“是否隐藏价格”的checkBox,同时改变返回购物车的连接\r\n\t */\r\n\tfunction loadGiftBuyHidePrice(){\r\n\t\tif(isGiftBuy()){\r\n\t\t\tcartUrl =\"http://cart.gift.jd.com/cart/cart.html\";\r\n\t\t\t$(\"#cartRetureUrl\").attr(\"href\",\"http://cart.gift.jd.com/cart/cart.html\");\r\n\t\t\t$(\"#cartRetureUrl\").text(\"返回修改礼品购购物车\");\r\n\t\t\t$(\"#giftBuyHidePriceDiv\").show();\r\n\t\t\t$(\"#consigneeTitleDiv\").text(\"收礼人信息\");\r\n\t\t}else{\r\n\t\t\tcartUrl =\"http://cart.jd.com/cart/cart.html\";\r\n\t\t\t$(\"#cartRetureUrl\").attr(\"href\",\"http://cart.jd.com/cart/cart.html\");\r\n\t\t\t$(\"#cartRetureUrl\").text(\"返回修改购物车\");\r\n\t\t\t$(\"#giftBuyHidePriceDiv\").hide();\r\n\t\t\t$(\"#consigneeTitleDiv\").text(\"收货人信息\");\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction addFlowTypeParam(params){\r\n\t\tvar flowType = $(\"#flowType\").val();\r\n\t\tif(isEmpty(flowType)){\r\n\t\t\treturn params;\r\n\t\t}else{\r\n\t\t\tif(isEmpty(params)){\r\n\t\t\t\treturn \"flowType=\"+flowType;\r\n\t\t\t}else{\r\n\t\t\t\treturn params+\"&flowType=\"+flowType;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\t// ------------------------------------------------------------页面出来后异步加载-----------------------------------------------------------\r\n\r\n\t// 预售结算页 有message提示\r\n\tif($(\"#isPresale\").val()==\"true\"){\r\n\t\t$(\"#submit_check_info_message\").html(\"<span>预售商品定金恕不退换，请同意支付定金</span>\").show();\r\n\t\t$(\"#order-submit\").attr(\"class\", \"checkout-submit-disabled\");\r\n\t\t$(\"#presaleEarnest\").bind(\"click\",function(){\r\n\t\t\tif($(\"#presaleEarnest\").attr(\"checked\")==true){\r\n\t\t\t\t$(\"#submit_check_info_message\").html(\"\").hide();\r\n\t\t\t\t$(\"#order-submit\").attr(\"class\", \"checkout-submit\");\r\n\t\t\t}else{\r\n\t\t\t\t$(\"#submit_check_info_message\").html(\"<span>预售商品定金恕不退换，请同意支付定金</span>\").show();\r\n\t\t\t\t$(\"#order-submit\").attr(\"class\", \"checkout-submit-disabled\");\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\t// 加载验证码\r\n\tshowCheckCode();\r\n\t\r\n\tvar isUnregister = $(\"#isUnregister\").val();\r\n\t// 如果不是免注册下单，调用异步服务\r\n\tif (isUnregister || isUnregister == \"true\"){\r\n\t\tloadProvinces();\r\n\t\tgetSkuListWithUuid();\r\n\t}else {\r\n\t    // 大家电换区\r\n\t    if (isBigItemChange()) {\r\n\t        bigItemChangeArea();\r\n\t    }\r\n\t    // 糖酒\r\n\t    if (hasTang9()) {\r\n\t\t\ttang9ChangeArea();\r\n\t\t}\r\n\t    showSopInvoiceNote();\r\n\t    isNewUser(); // 新用户展开地址\r\n\t    isOpenPaymentAndShip(); // 是否展开配送支付方式\r\n\t    loadOrderExt();\r\n\t    showWhiteBar();\r\n\t    openConsignee();\r\n\t    if(!isLocBuy()){\r\n\t\t    loadPromise(true);\r\n\t\t    copyFreightHtml();\r\n\t\t    showOrHideFactoryShipCod();\r\n\t\t    showFerightInsure();\r\n\t\t    showTangJiuSkuIcon();\r\n\t    }\r\n\t    // 如果是礼品购流程，加载隐藏价格\r\n\t    if(isGiftBuy()){\r\n\t    \tloadGiftBuyHidePrice();\r\n\t    }\r\n\t}\r\n\r\n/**\r\n * 修改选中样式\r\n */\r\n(function(win){\r\n\tvar RadioChecked = function(o){\r\n\t\tthis.obj = o.obj;\r\n\t\tthis.init();\r\n\t};\r\n\tRadioChecked.prototype = {\r\n\t\tinit: function(){\r\n\t\t\tthis.bindEvent();\r\n\t\t},\r\n\t\tbindEvent: function(){\r\n\t\t\tvar self = this;\r\n\t\t\tself.obj.find('.hookbox').bind('click',function(){\r\n\t\t\t\tself.obj.find('.item-selected').removeClass('item-selected');\r\n\t\t\t\t$(this).parents('.item').addClass('item-selected');\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\twin.radioSelect = function(o){\r\n\t\tnew RadioChecked(o);\r\n\t};\r\n}(window));\r\n\r\n(function(win){\r\n\tvar PaymentBank = function(obj,fun){\r\n\t\tthis.obj = obj;\r\n\t\tthis.fn = fun || function(){};\r\n\t\tthis.init();\r\n\t};\r\n\tPaymentBank.prototype = {\r\n\t\tinit:function(){\r\n\t\t\tthis.bindEvent();\r\n\t\t},\r\n\t\tbindEvent: function(){\r\n\t\t\tvar self = this,\r\n\t\t\t\tliNodes = self.obj.find('li');\r\n\t\t\tliNodes.bind('click',function(){\r\n\t\t\t\tliNodes.removeClass('selected');\r\n\t\t\t\t$(this).addClass('selected');\r\n\t\t\t\tself.fn($(this));\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\twin.paymentBank = function(o,fn){\r\n\t\tnew PaymentBank(o,fn);\r\n\t};\r\n}(this));\r\n\r\nfunction changeCodDate(codDateOffset,isJdOrOther){\r\n\tvar bigItemInstallInfo = \"\";\r\n\tif(isJdOrOther || isJdOrOther == \"true\"){\r\n\t\tbigItemInstallInfo = $(\"#bigItemInstallDateInfoForJd\").val();\r\n\t}else{\r\n\t\tbigItemInstallInfo = $(\"#bigItemInstallDateInfoForOtherShip\").val();\r\n\t}\r\n\tif(!isEmpty(bigItemInstallInfo)){\r\n\t\tvar installDateMap=eval('('+bigItemInstallInfo+')');\r\n\t\tvar installDateMapHtml = \"<option value=\\\"-1\\\">请选择日期</option>\";\r\n\t\tfor(var key in installDateMap){\r\n\t\t    if(key==codDateOffset){\r\n\t\t        var dateListStr= installDateMap[key]+\"\";\r\n\t\t        var dateList=dateListStr.split(',');\r\n\t\t        for(var i=0;i<dateList.length;i++){\r\n\t\t            if(i==0){\r\n\t\t            \tinstallDateMapHtml+=\"<option selected value='\"+dateList[i].split('-')[1]+\"'>\"+dateList[i].split('-')[0]+\"</option>\";  \r\n\t\t            }else{\r\n\t\t            \tinstallDateMapHtml+=\"<option value='\"+dateList[i].split('-')[1]+\"'>\"+dateList[i].split('-')[0]+\"</option>\";            \r\n\t\t            }\r\n\t\t        }\r\n\t\t        break;\r\n\t\t    }\r\n\t\t}\r\n\t\tinstallDateMapHtml+=\"<option value=\\\"-2\\\">暂缓安装</option>\";\r\n\t\tif(isJdOrOther || isJdOrOther == \"true\"){\r\n\t\t\t$('#jd-bigItem-install-date').html(installDateMapHtml);\r\n\t\t}else{\r\n\t\t\t$('#other-bigItem-install-date').html(installDateMapHtml);\r\n\t\t}\r\n\t\treturn;\r\n\t}\r\n\t\r\n\tif($('#jd-bigItem-install-date').length>0){\r\n\t\tvar actionUrl=OrderAppConfig.DynamicDomain + \"/payAndShip/getInstallDateList.action\";\r\n\t\tif(codDateOffset==-1){\r\n\t\t\t$('#jd-bigItem-install-date').html('<option value=\"-1\">请选择日期</option>');\r\n\t\t}else{\r\n\t\t\tvar param = \"selectedCodDateOffSet=\"+codDateOffset;\r\n\t\t\tparam = addFlowTypeParam(param);\r\n\t\t\tjQuery.ajax( {\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\turl : actionUrl,\r\n\t\t\t\tdata : param,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(dataResult, textStatus) {\t\t\t\t\t\r\n\t\t\t\t\t$('#jd-bigItem-install-date').html(dataResult);\r\n\t\t\t\t},\r\n\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n/**\r\n * 将payAndShip中的运费弹窗复制到orderInfo中，因为取数据是在payAndShip中，而弹窗必须放到orderInfo最下面，否则会串行\r\n * \r\n * @return\r\n */\r\n\r\nfunction copyFreightHtml(){\r\n\t\tvar freightHtml=$(\"#payment-ship\").find(\"#transportInPay\").html();\r\n\t\tif(freightHtml!=\"\"){\r\n\t\t\t$(\"#transport\").html(freightHtml);\r\n\t\t}\r\n}\r\n\r\nfunction showOrHideFactoryShipCod(){\r\n\tif($(\"#factoryShipCod\").val()==\"true\"){\r\n\t\t$('#factoryShipCodShowDivBottom').css(\"display\",\"block\");\r\n\t}\r\n}\r\n\r\nfunction getPickSiteListByRegion(obj){\r\n\tvar pickSiteId = $(\"input[name='pick'][checked]\").val();\r\n\t\r\n\tvar payid = $(\"input[name='payment'][checked]\").val();\r\n\tvar regionId = $(obj).attr(\"data-value\");\r\n\tif(isEmpty(regionId)){\r\n\t\tregionId=\"-1\";\r\n\t}\r\n\tvar repRegionId = regionId.replace(/:/g,\"-\");\r\n\tvar regionHTML = $(\"#region-\" + repRegionId).find(\"a\").html();\r\n\tvar param = \"shipParam.pickSiteId=\" + pickSiteId;\r\n\tparam += \"&shipParam.payId=\" + payid; \r\n\tparam += \"&shipParam.regionId=\" + regionId;\r\n\tparam += \"&shipParam.pickSiteNum=5\";\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : OrderAppConfig.AsyncDomain\r\n\t\t\t\t+ \"/payAndShip/getPickSiteByRegion.action\",\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif(dataResult==\"null\"){\r\n\t\t\t\talert(\"自提点获取异常，请重新选择或稍后尝试\");\r\n\t\t\t\twindow.location.href=\"http://trade.jd.com/order/getOrderInfo.action?rid=\" + Math.random(); \r\n\t\t\t}\r\n\t\t\tvar jsonO = eval(\"(\"+dataResult+\")\");\r\n\t\t\tif(jsonO.pickViewList.length==0){\r\n\t\t\t\talert(\"自提点获取异常，请重新选择或稍后尝试\");\r\n\t\t\t\twindow.location.href=\"http://trade.jd.com/order/getOrderInfo.action?rid=\" + Math.random(); \r\n\t\t\t}\r\n\t\t\t$('#store-selector').removeClass('hover');\r\n\t\t\tvar oldText = $(\"#store-selector\").find('.text').find(\"div\").attr(\"title\");\r\n\t\t\tvar newText = oldText+regionHTML;\r\n\t\t\t$(\"#store-selector\").find('.text').find(\"div\").html(newText);\r\n\t\t\t$(\"#selectedRegionId\").val(regionId);\r\n\t\t\t$(\"#address-more-txt\").attr(\"page-no\",\"1\");\r\n\t\t\t$(\"#address-more-txt\").attr(\"page-size\",\"5\");\r\n\t\t\tvar jsonO = eval(\"(\"+dataResult+\")\");  \r\n\t\t\tvar pageSize =  jsonO.pickViewList.length;\r\n\t\t\tif(pageSize>=5){\r\n\t\t\t\t$(\"#address-more-new\").parent().css(\"display\",\"block\");\r\n\t\t\t}else{\r\n\t\t\t\t$(\"#address-more-new\").parent().css(\"display\",\"none\");\r\n\t\t\t}\r\n\t\t\thanddelPickSiteResult(dataResult);\r\n\t\t\tclose_MorePicksite();\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n}\r\nfunction open_MorePicksite(obj){\r\n\tvar pickSiteId = $(\"input[name='pick'][checked]\").val();\r\n\tvar payid = $(\"input[name='payment'][checked]\").val();\r\n\tvar pickSiteNum = 100;\r\n\tvar regionId = $(\"#selectedRegionId\").val();\r\n\tif(isEmpty(regionId)){\r\n\t\tregionId=\"-1\";\r\n\t}\r\n\tvar param = \"shipParam.pickSiteId=\" + pickSiteId;\r\n\tparam += \"&shipParam.payId=\" + payid; \r\n\tparam += \"&shipParam.pickSiteNum=\" + pickSiteNum;\r\n\tparam += \"&shipParam.regionId=\" + regionId;\r\n    param = addFlowTypeParam(param);\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\", \r\n\t\turl : OrderAppConfig.DynamicDomain\r\n\t\t\t\t+ \"/payAndShip/getMorePickSite.action\",\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif(dataResult==\"null\"){\r\n\t\t\t\talert(\"自提点获取异常，请重新选择或稍后尝试\");\r\n\t\t\t\twindow.location.href=\"http://trade.jd.com/order/getOrderInfo.action?rid=\" + Math.random(); \r\n\t\t\t}\r\n\t\t\tvar jsonO = eval(\"(\"+dataResult+\")\");\r\n\t\t\tif(jsonO.pickViewList.length==0){\r\n\t\t\t\talert(\"自提点获取异常，请重新选择或稍后尝试\");\r\n\t\t\t\twindow.location.href=\"http://trade.jd.com/order/getOrderInfo.action?rid=\" + Math.random(); \r\n\t\t\t}\r\n\t\t\thanddelPickSiteResult(dataResult);\r\n\t\t\t$(\"#address-more-new\").removeClass(\"select-expand\").addClass(\"select-close\")\r\n\t\t\t.html(\"<span onclick=\\\"close_MorePicksite()\\\">收起自提点</span><s></s>\");\r\n\t\t\t$(\"#pickSiteInfo\").find(\".item\").each(function() {\r\n\t\t\t\t$(this).show();\r\n\t\t\t});\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction close_MorePicksite() {\r\n\t$(\"#address-more-new\").removeClass(\"select-close\").addClass(\"select-expand\")\r\n\t\t.html(\"<span onclick=\\\"open_MorePicksite()\\\">选择更多自提点</span><s></s>\");\r\n\t$(\"input[name='pick'][checked]\").parent().parent().prependTo('#pickSiteInfo');\r\n\t$(\"#pickSiteInfo\").find(\".item\").each(function(i) {\r\n\t\tif(i>4){\r\n\t\t\t$(this).hide();\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction handdelPickSiteResult(dataResult){\r\n\tvar jsonO = eval(\"(\"+dataResult+\")\");  \r\n\tvar pickSiteListHTML = \"\";\r\n\tvar pickDateHTML = \"\";\r\n\t\r\n\tif(jsonO.pickViewList.length!=0){\r\n\t\tfor(var i=0;i<jsonO.pickViewList.length;i++){ \r\n\t\t\tpickSiteListHTML = pickSiteListHTML+ \"<div class='item \";\r\n\t\t\tif(jsonO.pickViewList[i].selected==true){\r\n\t\t\t\tpickSiteListHTML = pickSiteListHTML+ \" item-selected\";\r\n\t\t\t}\r\n\t\t\tpickSiteListHTML = pickSiteListHTML+ \"'> <div class='label' style='width:210px;'>\";\r\n\t\t\t\r\n\t\t\tif(jsonO.pickViewList[i].cabinetAvailable==false){\r\n\t\t\t\tpickSiteListHTML = pickSiteListHTML+ \" <input name='pick' onclick='showPickDateList(this)' id='sment-address-c\"+ jsonO.pickViewList[i].pickId+\"' disabled\";\r\n\t\t\t}else{\r\n\t\t\t\tpickSiteListHTML = pickSiteListHTML+ \" <input name='pick' onclick='showPickDateList(this)' id='sment-address-c\"+ jsonO.pickViewList[i].pickId+\"'\";\r\n\t\t\t\tif(jsonO.pickViewList[i].selected==true){\r\n\t\t\t\t\tpickSiteListHTML = pickSiteListHTML+ \" checked \";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tpickSiteListHTML = pickSiteListHTML+ \" class='hookbox' value='\"+jsonO.pickViewList[i].pickId+\"' type='radio'/> \";\r\n\t\t\tpickSiteListHTML = pickSiteListHTML+ \" <label for='sment-address-c\"+jsonO.pickViewList[i].pickId+\"'>\"+jsonO.pickViewList[i].pickName;\r\n\t\t\tif(jsonO.pickViewList[i].used==true){\r\n\t\t\t\tpickSiteListHTML = pickSiteListHTML+ \" <span class='orange'>[常用]</span><font color='red'></font>\";\r\n\t\t\t}\r\n\t\t\tif(jsonO.pickViewList[i].cabinetAvailable==false){\r\n\t\t\t\tpickSiteListHTML = pickSiteListHTML+ \" <span class='orange'>[已满]</span><font color='red'></font>\";\r\n\t\t\t}\r\n\t\t\tif(jsonO.pickViewList[i].limitKeyword==\"1\"){\r\n\t\t\t\tpickSiteListHTML = pickSiteListHTML+ \" <span class='orange'>[限]</span><font color='red'></font>\";\r\n\t\t\t}\r\n\t\t\tpickSiteListHTML = pickSiteListHTML+ \" </label></div> \";\r\n\t\t\tpickSiteListHTML = pickSiteListHTML+ \" <div class='field'> \";\r\n\t\t\tpickSiteListHTML = pickSiteListHTML+ \" <span class='tip'> \";\r\n\t\t\tpickSiteListHTML = pickSiteListHTML+ jsonO.pickViewList[i].address+\"&nbsp;&nbsp;<a style='TEXT-DECORATION:none' target='_blank' href='\"+jsonO.pickViewList[i].mapUrl+\"'>\"+jsonO.pickViewList[i].helpMessage+\"</a> \";\r\n\t\t\tpickSiteListHTML = pickSiteListHTML+ \" </span> \";\r\n\t\t\tpickSiteListHTML = pickSiteListHTML+ \" </div> \";\r\n\t\t\tpickSiteListHTML = pickSiteListHTML+ \" </div> \";\r\n\t\t\t\r\n\t\t\tif(jsonO.pickViewList[i].limitKeyword==\"1\" && jsonO.pickViewList[i].specialRemark!=\"\"){\r\n\t\t\t\tpickSiteListHTML = pickSiteListHTML+ \"<div class='item limit-lab'><input id='' class='hookbox' type='radio' name='' disabled='disabled'><span>\"+jsonO.pickViewList[i].specialRemark+\"</span></div>\";\r\n\t\t\t}\r\n\t\t}\r\n\t} \t\r\n\tif(jsonO.codDateList.length!=0){\r\n\t\tfor(var j=0;j<jsonO.codDateList.length;j++){ \r\n\t\t\tpickDateHTML = pickDateHTML+\"<option value='\"+jsonO.codDateList[j].codDate+\"'\";\r\n\t\t\tif(jsonO.codDateList[j].codDate==jsonO.selectedPickCodDate){\r\n\t\t\t\tpickDateHTML = pickDateHTML+\" selected \";\r\n\t\t\t}\r\n\t\t\tpickDateHTML = pickDateHTML + \">\"+jsonO.codDateList[j].name+\"</option>\";\r\n\t\t} \r\n\t}\r\n\t$(\"#pickSiteInfo\").html(pickSiteListHTML);\r\n\t$(\"#pickDate\").html(pickDateHTML);\r\n\t\r\n}\r\nfunction showPickDateList(obj){\r\n\tvar pickid = $(obj).attr(\"value\");\r\n\tvar param = \"pickid=\"+pickid;\r\n    param = addFlowTypeParam(param);\r\n\t// $(obj).parent().parent().css(\"class\",\"item item-selected\");\r\n\t$(obj).parent().parent().addClass('item-selected').siblings().removeClass('item-selected');\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : OrderAppConfig.AsyncDomain\r\n\t\t\t\t+ \"/payAndShip/getPickSiteDate.action\",\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tvar jsonO = eval(\"(\"+dataResult+\")\");  \r\n\t\t\tvar pickDateHTML = \"\";\r\n\t\t\t\tfor(var i=0;i<jsonO.length;i++){ \r\n\t\t\t\t\tpickDateHTML = pickDateHTML+\"<option value='\"+jsonO[i].codDate+\"'>\"+jsonO[i].name+\"</option>\";\r\n\t\t\t\t} \r\n\t\t\t$(\"#pickDate\").html(pickDateHTML);\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\talert(\"系统繁忙，请稍后再试！\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction showFerightInsure(){\r\n//\tvar popVenderIdStr=$(\"#cartVenderIdStr\").val();\r\n//\tif(popVenderIdStr==\"\"){\r\n//\t\treturn;\r\n//\t}\r\n//\tvar param = \"popVenderIdStr=\"+popVenderIdStr;\r\n//\tparam = addFlowTypeParam(param);\r\n//\tjQuery.ajax( {\r\n//\t\ttype : \"POST\",\r\n//\t\turl : OrderAppConfig.AsyncDomain + \"/showFerightInsure.action\",\r\n//\t\tdata : param,\r\n//\t\tcache : false,\r\n//\t\tdataType: \"json\",\r\n//\t\tsuccess : function(dataResult) {\r\n//\t\t\tif(dataResult.venderNameList&&dataResult.venderNameList.length>0){\r\n//\t\t\t\tvar showShopName=\"\";\r\n//\t\t\t\tfor(var i=0;i<dataResult.venderNameList.length;i++){\r\n//\t\t\t\t\tif(i<dataResult.venderNameList.length-1){\r\n//\t\t\t\t\t\tshowShopName+=dataResult.venderNameList[i]+\"、\";\r\n//\t\t\t\t\t}else{\r\n//\t\t\t\t\t\tshowShopName+=dataResult.venderNameList[i];\r\n//\t\t\t\t\t}\r\n//\t\t\t\t}\r\n//\t\t\t\tvar showHtml=\"<i class=\\\"yfx\\\"></i>\"+showShopName+\" 店铺为您购买了运费险，最高赔付20.00元/单。\";\r\n//\t\t\t\t$(\"#showFerightInsure\").addClass(\"review-tbody\");\r\n//\t\t\t\t$(\"#showFerightInsure\").html(showHtml);\r\n//\t\t\t}\r\n//\t\t},\r\n//\t\terror : function(XMLHttpResponse) {\r\n//\t\t}\r\n//\t});\r\n}\r\n\r\nfunction showFerightSopName(){\r\n    if($(\"#transport\").html()!=null){\r\n\t\tvar popVenderIdStr = \"\";\r\n\t\t$(\"#transport #freightSopNames li\").each(function() {\r\n\t\t\tpopVenderIdStr += $(this).attr(\"venderId\")+\",\";\r\n\t\t});\r\n\t\tpopVenderIdStr = popVenderIdStr.substring(0, popVenderIdStr.length-1);\r\n\t\tif(popVenderIdStr == \"\"){\r\n\t\t\tshowFreight();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar param = \"popVenderIdStr=\"+popVenderIdStr;\r\n\t\tparam = addFlowTypeParam(param);\r\n\t\tjQuery.ajax( {\r\n\t\t\ttype : \"POST\",\r\n\t\t\turl : OrderAppConfig.AsyncDomain + \"/showFerightSopName.action\",\r\n\t\t\tdata : param,\r\n\t\t\tcache : false,\r\n\t\t\tdataType: \"json\",\r\n\t\t\tsuccess : function(dataResult) {\r\n\t\t\t\tfor(var key in dataResult.sopNameMap){  \r\n\t\t\t\t\t$(\"#transport #freightSopNames li\").each(function() {\r\n\t\t\t\t\t\tif($(this).attr(\"venderId\")==key){\r\n\t\t\t\t\t\t\tif(dataResult.sopNameMap[key] != null && dataResult.sopNameMap[key] != \"undefined\"){\r\n\t\t\t\t\t\t\t\tif(dataResult.sopNameMap[key].length>16)\r\n\t\t\t\t\t\t\t\t\tdataResult.sopNameMap[key] = dataResult.sopNameMap[key].substring(0,15)+\"...\";\r\n\t\t\t\t\t\t\t\t$(this).attr(\"venderId\",\"\");\r\n\t\t\t\t\t\t\t\t$(this).children(\"label\").html(dataResult.sopNameMap[key]);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} \r\n\t\t\t\tshowFreight();\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\tshowFreight();\r\n\t\t\t}\r\n\t\t});\r\n    }\r\n}\r\n\r\nfunction showFreight(){\r\n\tvar obj=$(\"#freightSpan\");\r\n    if($(\"#transport\").html()!=null){\r\n\t\t $(\"#transport\").css({\r\n\t\t\t\t\t\t\tposition:\"absolute\",\r\n\t\t\t\t\t\t\ttop:(obj.offset().top)+\"px\",\r\n\t\t\t\t\t\t\tleft:(obj.offset().left-345)+\"px\",\r\n\t\t\t\t\t\t\tdisplay:\"block\"\r\n\t\t\t               });\r\n\t}\r\n}\r\nfunction checkShowOpenPwd(showOpenPayPwd,existsJdbeanPromotion,checkJdbeanPromotion){\r\n\tif(existsJdbeanPromotion == true) {\r\n\t\tif(showOpenPayPwd==false){\r\n\t\t\t$(\"#paypasswordPanel\").show();\r\n\t\t\tif(checkJdbeanPromotion==false){\r\n\t\t\t\t$(\"#submit_message\").html(\"<span>京豆不足,不能使用京豆优惠购,点击<a href='http://cart.jd.com/cart/cart.html?outBean=1'>返回购物车 </a></span> \").show();\r\n\t\t\t}\r\n\t\t}else{\r\n\t\t\t$(\"#submit_message\").html(\"<span>为保障您的账户资金安全，京豆暂时不可用，请先<a href='http://safe.jd.com/user/paymentpassword/safetyCenter.action' target='_blank'>开启支付密码 </a></span> \").show();\t\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nfunction operate_presaleMobile(thisObj){\r\n\tif($(\"#presaleMobile input\").size()>0){//点击保存\r\n\t\tvar mobile=$(\"#presaleMobile input\").val();\r\n\t\tif(testMobile(mobile)){\r\n\t\t\t$(\"#presaleMobile\").html(\"<strong class=\\\"phone-num\\\" id=\\\"userMobileByPresale\\\" >\"+mobile+\"</strong></span>\");\r\n\t\t\t$(\"#hiddenUserMobileByPresale\").val(mobile);\r\n\t\t\t$(thisObj).html(\"修改\");\r\n\t\t\t$(\"#cancelOperatePresaleMob\").hide();\r\n\t\t}else{\r\n\t\t\tvar html=\"<input type=\\\"text\\\" class=\\\"itxt error-itxt\\\" maxlength=\\\"11\\\"><span class=\\\"error-msg\\\">请输入正确的手机号</span></span>\";\r\n\t\t\t$(\"#presaleMobile\").html(html);\r\n\t\t}\r\n\t}else{//点击修改\r\n\t\t$(\"#presaleMobile\").html(\"<input type=\\\"text\\\"  class=\\\"itxt focus-itxt\\\" maxlength=\\\"11\\\"/>\"); \r\n\t\t$(\"#presaleMobile input\").focus();\r\n\t\t$(thisObj).html(\"保存\");\r\n\t\tif($(\"#cancelOperatePresaleMob\").size()>0){\r\n\t\t\t$(\"#cancelOperatePresaleMob\").show();\r\n\t\t}else{\r\n\t\t\tvar copm=$(\"<a href=\\\"#none\\\" class=\\\"a-link\\\" id=\\\"cancelOperatePresaleMob\\\">取消</a>\");\r\n\t\t\tcopm.bind(\"click\",function(){\r\n\t\t\t\t$(\"#presaleMobile\").html(\"<strong id=\\\"userMobileByPresale\\\" class=\\\"phone-num\\\">\"+$(\"#hiddenUserMobileByPresale\").val()+\"</strong></span>\");\r\n\t\t\t\t$(\"#cancelOperatePresaleMob\").hide();\r\n\t\t\t\t$(\"#operatePresaleMobile\").html(\"修改\");\r\n\t\t\t})\r\n\t\t\t$(thisObj).after(copm).after(\"&nbsp;\");\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction check_presaleMobile(){\r\n\tvar mobile=\"\";\r\n\tif($(\"#presaleMobile input\").size()>0){\r\n\t\tmobile=$(\"#presaleMobile input\").val();\r\n\t}else{\r\n\t\tmobile=$(\"#userMobileByPresale\").html();\r\n\t}\r\n\tif(testMobile(mobile)){\r\n\t\treturn true;\r\n\t}else{\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\n// 结算页手机号标准\r\nfunction testMobile(mobile){\r\n\tvar myreg = /^1[3|4|5|8]\\d{9}/;\r\n\treturn myreg.test(mobile);\r\n}\r\n\r\n/**\r\n * 预售支付方式选择器\r\n * @param id\r\n */\r\nfunction choosePresaleType(thisObj) {\r\n\tif($(thisObj).attr(\"id\") == \"EarnestPayRadio\"){\r\n\t\t$(\"#presaleEarnOnlyList\").show();\r\n\t\t$(\"#presaleEarnOnlyInfo\").show();\r\n\t\t$(\"#presaleAllPayList\").hide();\r\n\t}else{\r\n\t\t$(\"#presaleEarnOnlyList\").hide();\r\n\t\t$(\"#presaleEarnOnlyInfo\").hide();\r\n\t\t$(\"#presaleAllPayList\").show();\r\n\t}\r\n}\r\n/**\r\n * 异步请求获取唐久商品icon\r\n */\r\nfunction showTangJiuSkuIcon(){\r\n//\tvar skuIdAndNums=$(\"#mainSkuIdAndNums\").val();\r\n//\tvar areaIds = $(\"#hideAreaIds\").val();\r\n//\tif(isEmpty(skuIdAndNums) || isEmpty(areaIds) ){\r\n//\t\treturn ;\r\n//\t}\r\n//\tvar param = \"areaIds=\"+areaIds+\"&skuIdAndNums=\"+skuIdAndNums;\r\n//    param = addFlowTypeParam(param);\r\n//\tjQuery.ajax({\r\n//\t\ttype : \"POST\",\r\n//\t\turl : OrderAppConfig.AsyncDomain + \"/showTangJiuSkuIcon.action\",\r\n//\t\tdata : param,\r\n//\t\tcache : false,\r\n//\t\tdataType: \"json\",\r\n//\t\tsuccess : function(dataResult) {\r\n//\t\t\tvar skuicons = eval(dataResult);\r\n//\t\t\tif(!skuicons || skuicons =='false'){\r\n//\t\t\t\treturn;\r\n//\t\t\t}\r\n//\t\t\tfor(var i=0;i < skuicons.length;i++){\r\n//\t\t\t\tvar arrIcons = skuicons[i].icons;\r\n//\t\t\t\tif(arrIcons != null && arrIcons.length > 0){\r\n//\t\t\t\t\tfor(var j = 0 ;j < arrIcons.length ;j++){\r\n//\t\t\t\t\t\tif(arrIcons[j] == 1 || arrIcons[j] == \"1\"){\r\n//\t\t\t\t\t\t\tif($(\"#speedFreightNote\").length >0 && $(\"#speedFreightNote\").html().length>0 ){\r\n//\t\t\t\t\t\t\t\t$(\"#promise_\"+skuicons[i].skuId).append(\"<a class='promisejsd' title='下单后或支付成功后3小时送达，运费49元' href='javascript:void(0);'></a>\");\r\n//\t\t\t\t\t\t\t}\r\n//\t\t\t\t\t\t}else if(arrIcons[j] == 2 || arrIcons[j] == \"2\"){\r\n//\t\t\t\t\t\t\t$(\"#promise_\"+skuicons[i].skuId).append(\"<a class='promisexsd' title='9:00-18:00下单，一小时内送达' href='javascript:void(0);'></a>\");\r\n//\r\n//\t\t\t\t\t\t}\r\n//\t\t\t\t\t\t\r\n//\t\t\t\t\t}\r\n//\t\t\t\t}\r\n//\t\t\t}\r\n//\t\t},\r\n//\t\terror : function(XMLHttpResponse) {\r\n//\t\t}\r\n//\t});\r\n}\r\n\r\n\r\n\r\n/**\r\n * 使用兑换码兑换优惠券 Author:曹森 DateTime:2014/04/23 16:00\r\n * \r\n * @param\r\n */\r\nfunction exchangeCoupons(obj) {\r\n\r\n\tif ($('#couponKeyPressFirst').val() == \"\"\r\n\t\t\t|| $('#couponKeyPressSecond').val() == \"\"\r\n\t\t\t|| $('#couponKeyPressThrid').val() == \"\"\r\n\t\t\t|| $('#couponKeyPressFourth').val() == \"\") {\r\n\t\talert(\"请输入优惠券兑换码\");\r\n\t\treturn;\r\n\t}\r\n\tvar key = $(\"#couponKeyPressFirst\").val() \r\n\t\t\t+ $(\"#couponKeyPressSecond\").val() \r\n\t\t\t+ $(\"#couponKeyPressThrid\").val() \r\n\t\t\t+ $(\"#couponKeyPressFourth\").val();\r\n\t// TODO\r\n\t$(\"input[id^='couponKeyPress']\").each(function() {\r\n\t\t$(this).val(\"\");\r\n\t});\r\n\tvar param = \"couponParam.couponKey=\" + key;\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax( {\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\tdataType : \"json\",\r\n\t\t\t\turl : OrderAppConfig.AsyncDomain + \"/coupon/exchangeCoupons.action\",\r\n\t\t\t\tdata : param,\r\n\t\t\t\tasync : true,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(result) {\r\n\t\t\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!result.resultFlag) {\r\n\t\t\t\t\t\tvar message = result.message;\r\n\t\t\t\t\t\talert(message);\r\n\t\t\t\t\t\tif(obj.checked) {\r\n\t\t\t\t\t\t\tobj.checked=false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tchangeClassStyle(orderCouponId, toggleWrap);\r\n\t\t\t\t\tchangeClassStyle(orderCouponItem, itemToggleActive);\r\n\t\t\t\t\talert(result.message);\r\n\t\t\t\t\t$(\"#\" + orderCouponId).css('display', 'none');\r\n\t\t\t\t\tquery_coupons();\r\n\t\t\t\t\tshowEntityPanel();\r\n\t\t}\r\n\t});\r\n\r\n}\r\n\r\nfunction shipmentToggle(th){\r\n\tif($(th).attr(\"id\")==\"jd-shipment\"){// 选择京东配送\r\n\t\t$(th).parent().parent().addClass(\"item-selected\");\r\n\t\t$(\"#pick-shipment\").parent().parent().removeClass(\"item-selected\");\r\n\t\t\r\n\t\t$(\"#jd-shipment-way-category\").addClass(\"way-category-selected\");\r\n\t\t$(\"#pick-shipment-way-category\").removeClass(\"way-category-selected\");\r\n\t\t\r\n\t\t$(\"#jd-show-sku-count\").show();\r\n\t\t$(\"#jd-shipment-extend-info\").show();\r\n\t\t\r\n\t\tif(!isEmpty($(\"#pick-shipment\").val())){\r\n\t\t\t$(\"#pick-shipment\").attr(\"checked\",false);\r\n\t\t\t$(\"#pick-show-sku-count\").hide();\r\n\t\t\t$(\"#pick-shipment-extend-info\").hide();\r\n\t\t\t$(\"#subway-sment\").hide();\r\n\t\t}\r\n\t\t\r\n\t}else if($(th).attr(\"id\")==\"pick-shipment\"){// 选择自提\r\n\t\t$(th).parent().parent().addClass(\"item-selected\");\r\n\t\t$(\"#pick-shipment-way-category\").addClass(\"way-category-selected\");\r\n\t\t\r\n\t\tif(!isEmpty($(\"#jd-shipment\").val())){\r\n\t\t\t$(\"#jd-shipment\").parent().parent().removeClass(\"item-selected\");\r\n\t\t\t$(\"#jd-shipment\").attr(\"checked\",false);\t\t\t\r\n\t\t}\r\n\r\n\t\tif(!isEmpty($(\"#other-shipment\").val())){\r\n\t\t\t$(\"#other-shipment\").parent().parent().removeClass(\"item-selected\");\r\n\t\t\t$(\"#other-shipment\").attr(\"checked\",false);\r\n\t\t}\r\n\t\t\r\n\t\tif(!isEmpty($(\"#jd-shipment-way-category\").html())){\r\n\t\t\t$(\"#jd-shipment-way-category\").removeClass(\"way-category-selected\");\r\n\t\t}\r\n\t\t\r\n\t\tif(!isEmpty($(\"#other-shipment-way-category\").html())){\r\n\t\t\t$(\"#other-shipment-way-category\").removeClass(\"way-category-selected\");\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\t$(\"#pick-show-sku-count\").show();\r\n\t\t$(\"#pick-shipment-extend-info\").show();\r\n\t\t$(\"#subway-sment\").show();\r\n\t\tif(!isEmpty($(\"#jd-shipment-extend-info\").html())) $(\"#jd-shipment-extend-info\").hide();\r\n\t\tif(!isEmpty($(\"#other-shipment-extend-info\").html())) $(\"#other-shipment-extend-info\").hide();\r\n\t\t\r\n\t\tif(!isEmpty($(\"#jd-show-sku-count\").html())) $(\"#jd-show-sku-count\").hide();\r\n\t\tif(!isEmpty($(\"#other-show-sku-count\").html())) $(\"#other-show-sku-count\").hide();\r\n\t\r\n\t}else if($(th).attr(\"id\")==\"other-shipment\"){// 选择京东三方配送\r\n\t\t$(th).parent().parent().addClass(\"item-selected\");\r\n\t\t$(\"#pick-shipment\").parent().parent().removeClass(\"item-selected\");\r\n\t\t\r\n\t\t$(\"#other-shipment-way-category\").addClass(\"way-category-selected\");\r\n\t\t$(\"#pick-shipment-way-category\").removeClass(\"way-category-selected\");\r\n\t\t\r\n\t\t$(\"#other-shipment-extend-info\").show();\r\n\t\t$(\"#other-show-sku-count\").show();\r\n\t\t\r\n\t\tif(!isEmpty($(\"#pick-shipment\").val())){\r\n\t\t\t$(\"#pick-shipment\").attr(\"checked\",false);\r\n\t\t\t$(\"#pick-show-sku-count\").hide();\r\n\t\t\t$(\"#pick-shipment-extend-info\").hide();\r\n\t\t\t$(\"#subway-sment\").hide();\r\n\t\t}\r\n\r\n\t}\r\n}\r\n"
  },
  {
    "path": "migo-portal/src/main/webapp/js/order2.js",
    "content": "seajs.use([\r\n    \"jdf/1.0.0/unit/globalInit/1.0.0/globalInit\",\r\n    \"jdf/1.0.0/ui/lazyload/1.0.0/lazyload\",\r\n    \"jdf/1.0.0/ui/switchable/1.0.0/switchable\",\r\n    \"jdf/1.0.0/ui/tips/1.0.0/tips\",\r\n    \"jdf/1.0.0/ui/dialog/1.0.0/dialog\",\r\n    \"jdf/1.0.0/ui/placeholder/1.0.0/placeholder\"\r\n  ], function (globalInit,lazyload,switchable,tips,dialog,placeholder){//FE 模块加载 start\r\n  //$.ajaxSettings.async = false;  \r\n\r\n//*************************公共方法和变量*************************\r\nvar cartUrl = \"http://cart.jd.com/cart/cart.html\";\r\nvar lipinkaPhysicalUrl = \"http://market.jd.com/giftcard/#entity\";\r\nvar orderUrl = OrderAppConfig.Domain + \"/order/getOrderInfo.action\";\r\n\r\n/**\r\n * 清除submit错误消息\r\n */\r\nfunction cleanSubmitMessage() {\r\n  $(\"#submit_message\").html(\"\");\r\n  $(\"#submit_message\").hide();\r\n}\r\n\r\n/**\r\n * 判断服务是否返回有消息【此方法别动】\r\n *\r\n * @param data\r\n * @returns {Boolean}\r\n */\r\nfunction isHasMessage(data) {\r\n  if (data.errorMessage) {\r\n    return true;\r\n  } else {\r\n    try {\r\n      if (data != null && data.indexOf(\"\\\"errorMessage\\\":\") > -1) {\r\n        var mesageObject = eval(\"(\" + data + \")\");\r\n        if (mesageObject != null && mesageObject.errorMessage != null) {\r\n          return true;\r\n        }\r\n      }\r\n    } catch (e) {}\r\n  }\r\n  return false;\r\n}\r\nwindow.isHasMessage = isHasMessage;\r\n\r\n/**\r\n * 将消息返回【此方法别动】\r\n * \r\n * @param data\r\n * @return\r\n */\r\nfunction getMessage(data) {\r\n\tif (data.errorMessage) {\r\n\t\treturn data.errorMessage;\r\n\t} else {\r\n\t\ttry {\r\n\t\t\tvar mesageObject = eval(\"(\" + data + \")\");\r\n\t\t\tif (mesageObject != null && mesageObject.errorMessage != null && mesageObject.errorMessage != \"\") {\r\n\t\t\t\treturn mesageObject.errorMessage;\r\n\t\t\t}\r\n\t\t} catch (e) {}\r\n\t}\r\n\treturn null;\r\n}\r\nwindow.getMessage = getMessage;\r\n\r\n/**\r\n * 判断用户是否登录【此方法别动】\r\n */\r\nfunction isUserNotLogin(data) {\r\n\tif (data.error == \"NotLogin\") {\r\n\t\treturn true;\r\n\t} else {\r\n\t\ttry {\r\n\t\t\tvar obj = eval(\"(\" + data + \")\");\r\n\t\t\tif (obj != null && obj.error != null && obj.error == \"NotLogin\") {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n}window.isUserNotLogin=isUserNotLogin;\r\n\r\n/**\r\n * 去登录页面\r\n */\r\nfunction goToLogin() {\r\n\tif (isLocBuy()) {\r\n\t\twindow.location.href = OrderAppConfig.LoginLocUrl + \"?rid=\" + Math.random();\r\n\t} else {\r\n\t\twindow.location.href = OrderAppConfig.LoginUrl + \"?rid=\" + Math.random();\r\n\t}\r\n}window.goToLogin=goToLogin;\r\n\r\n/**\r\n * 去购物车页面\r\n */\r\nfunction goCart() {\r\n\tif (isLipinkaPhysical()) {\r\n\t\twindow.location.href = lipinkaPhysicalUrl;\r\n\t} else {\r\n\t\twindow.location.href = cartUrl + \"?rid=\" + Math.random();\r\n\t}\r\n\r\n}window.goCart=goCart;\r\n/**\r\n * 刷新结算页面\r\n */\r\nfunction goOrder() {\r\n\tif (isLipinkaPhysical()) {\r\n\t\twindow.location.href = OrderAppConfig.Domain + \"/order/getLipinkaPhysicalOrderInfo.action?rid=\" + Math.random();\r\n\t} else {\r\n\t\twindow.location.href = orderUrl + \"?rid=\" + Math.random();\r\n\t}\r\n}window.goOrder=goOrder;\r\n\r\n/**\r\n * 大家电刷新结算页面\r\n */\r\nfunction bigItemGoOrder() {\r\n\tif (isLipinkaPhysical()) {\r\n\t\twindow.location.href = OrderAppConfig.Domain + \"/order/getLipinkaPhysicalOrderInfo.action?rid=\" + Math.random();\r\n\t} else {\r\n\t\twindow.location.href = orderUrl + \"?t=1&rid=\" + Math.random();\r\n\t}\r\n}window.bigItemGoOrder=bigItemGoOrder;\r\n\r\n// ******************************************************收货地址开始**************************************************************\r\n/**\r\n * 获取收货地址列表\r\n * \r\n * @param consigneeId\r\n */\r\nfunction consigneeList(selectId) {\r\n  var actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/consigneeList.action\";\r\n  var consigneeId = $(\"#consignee_id\").val();\r\n  if (isEmpty(consigneeId)) {\r\n    consigneeId = 0;\r\n  }\r\n  var param = \"consigneeParam.id=\" + consigneeId;\r\n  // param = addFlowTypeParam(param);\r\n  jQuery.ajax({\r\n    type: \"POST\",\r\n    dataType: \"text\",\r\n    url: actionUrl,\r\n    data: param,\r\n    cache: false,\r\n    success: function(dataResult, textStatus) {\r\n      // 没有登录跳登录\r\n      if (isUserNotLogin(dataResult)) {\r\n        goToLogin();\r\n        return;\r\n      }\r\n      // 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n      if (isHasMessage(dataResult)) {\r\n        //var message = getMessage(dataResult);\r\n        //showMessageWarn(message);\r\n        goOrder();\r\n        return;\r\n      }\r\n      // 成功后如果有divID直接放入div，没有则返回结果\r\n      else {\r\n        $(\"#consignee-list\").append(dataResult);\r\n        if ($('#consignee-list li').length < 20) {\r\n          var zhengjia = \"<li id='NewConsignee' class='ui-switchable-panel last' onclick='use_NewConsignee()'><div class='consignee-item consignee-add-item'><s class='add-icon'></s><div class='ftx-03'>新增收货地址</div></div></li>\";\r\n          $(\"#consignee-list\").append(zhengjia);\r\n        }\r\n        subStr(\".consignee-item .fl strong\");\r\n        subStr(\".consignee-item .mt10\");\r\n        subStr(\".consignee-item .adr-m\");\r\n        itemListOver.init(\"#consignee-list\");\r\n        var commonConsigeeSize = $(\"#hidden_consignees_size\").val();\r\n        var consigneeSize = parseInt(commonConsigeeSize);\r\n        if ($(\"#isOpenConsignee\").val() == 1)\r\n          $(\"#hidden_consignees_size\").val(consigneeSize = consigneeSize - 1);\r\n        if (consigneeSize > 1) {\r\n          $(\".consignee-item .del-consignee\").removeClass(\"hide\");\r\n          $(\".consignee-item .setdefault-consignee\").removeClass(\"hide\");\r\n        }\r\n        if (checkIsNewUser()) {\r\n          if ($(\".consignee-item\").length > 1) {\r\n            $(\".consignee-item\").first().click();\r\n          } else {\r\n            if (isLocBuy()) {\r\n              edit_LocConsignee();\r\n            } else {\r\n              use_NewConsignee();\r\n            }\r\n          }\r\n        }\r\n      }\r\n      var consigneeObj = $('#consignee-list1');\r\n      //收货人列表滚动  UED\r\n      window.slider = consigneeObj.switchable({\r\n        type: 'slider',\r\n        mainClass: 'ui-switchable-panel',\r\n        contentClass: 'ui-switchable-panel-main',\r\n        bodyClass: 'ui-switchable-panel-body',\r\n        prevClass: 'prev',\r\n        nextClass: 'next',\r\n        pagCancelClass: 'disabled',\r\n        speed: 600,\r\n        step: 4,\r\n        visible: 4,\r\n        hasPage: true,\r\n        autoLock: true,\r\n        includeMargin: true\r\n      });\r\n    },\r\n    error: function(XMLHttpResponse) {\r\n      //alert(\"系统繁忙，请稍后再试！\");\r\n    }\r\n  });\r\n}\r\nwindow.consigneeList = consigneeList;\r\n//异步加载收货人列表\r\n//consigneeList();\r\n\r\n/**\r\n * 保存收货地址（包含保存常用人收货地址，根据id区分）\r\n */\r\nfunction tab_save_Consignee() {\r\n  $(\"body\").append('<div id=\"g-loading\" class=\"purchase-loading\"><div class=\"loading-cont\"></div></div>');\r\n  var id = $(\"#consignee-list .item-selected\").attr(\"consigneeId\");\r\n  if (id == undefined || id == null || id == \"\" || id == 0) {\r\n    goOrder();\r\n    delayRemoveLoading('#g-loading');\r\n    return;\r\n  }\r\n  if (id == $(\"#consignee_id\").val()) {\r\n    delayRemoveLoading('#g-loading');\r\n    return;\r\n  }\r\n  // 如果不隐藏重新获取用户填写的信息\r\n  var consignee_id = id;\r\n  var consignee_type = null;\r\n  var isUpdateCommonAddress = 0;\r\n  var consignee_commons_size = $(\"#hidden_consignees_size\").val();\r\n  var giftSender_consignee_name = \"\";\r\n  var giftSender_consignee_mobile = \"\";\r\n  var noteGiftSender = false;\r\n  consignee_id = id;\r\n  if (consignee_type == \"\")\r\n    consignee_type = 1;\r\n  var param = \"consigneeParam.id=\" + consignee_id + \"&consigneeParam.type=\" + consignee_type + \"&consigneeParam.commonConsigneeSize=\" + consignee_commons_size + \"&consigneeParam.isUpdateCommonAddress=\" + isUpdateCommonAddress + \"&consigneeParam.giftSenderConsigneeName=\" + giftSender_consignee_name + \"&consigneeParam.giftSendeConsigneeMobile=\" + giftSender_consignee_mobile + \"&consigneeParam.noteGiftSender=\" + noteGiftSender;\r\n  param = addFlowTypeParam(param);\r\n  var actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/saveConsignee.action\";\r\n  jQuery.ajax({\r\n    type: \"POST\",\r\n    dataType: \"json\",\r\n    url: actionUrl,\r\n    data: param,\r\n    cache: false,\r\n    success: function(consigneeResult, textStatus) {\r\n      if (isUserNotLogin(consigneeResult)) {\r\n        goToLogin();\r\n        delayRemoveLoading('#g-loading');\r\n        return;\r\n      }\r\n      if (consigneeResult.success) {\r\n        var invoiceHtml = $(\"#part-inv\").html();\r\n        if (consigneeResult.restInvoiceByAddress == 22) {\r\n          $(\"#part-inv\").html(invoiceHtml.replace(\"办公用品\", \"办公用品（附购物清单）\"));\r\n        }\r\n        if (consigneeResult.restInvoiceByAddress == 2) {\r\n          $(\"#part-inv\").html(invoiceHtml.replace(\"（附购物清单）\", \"\"));\r\n        }\r\n        if (consigneeResult.supportElectro) {\r\n        \tif(null != consigneeResult.restInvoiceCompanyName){\r\n        \t\t $(\"#part-inv\").html(\"<span class='mr10'>普通发票（纸质）&nbsp; </span><span class='mr10'> \"+consigneeResult.restInvoiceCompanyName+\"&nbsp; </span><span class='mr10'>明细&nbsp; </span><a onclick='edit_Invoice()' class='ftx-05 invoice-edit' href='#none'>修改</a>\");\r\n        \t}else{\r\n        \t\t $(\"#part-inv\").html(\"<span class='mr10'>普通发票（纸质）&nbsp; </span><span class='mr10'> 个人&nbsp; </span><span class='mr10'>明细&nbsp; </span><a onclick='edit_Invoice()' class='ftx-05 invoice-edit' href='#none'>修改</a>\");\r\n        \t}\r\n         \r\n        }\r\n        if (consigneeResult.defaultElectro) {\r\n          $(\"#part-inv\").html(\"<span class='mr10'>普通发票（电子）&nbsp; </span><span class='mr10'> 个人&nbsp; </span><span class='mr10'>明细&nbsp; </span><a onclick='edit_Invoice()' class='ftx-05 invoice-edit' href='#none'>修改</a>\");\r\n        }\r\n        if (consigneeResult.resultCode == \"isRefreshArea\") {\r\n          openEditConsigneeDialog(consignee_id);\r\n        } else {\r\n          restData();\r\n          \r\n          var areaIds=consigneeResult.consigneeShowView.provinceId + \"-\" + consigneeResult.consigneeShowView.cityId + \"-\" + consigneeResult.consigneeShowView.countyId + \"-\" + consigneeResult.consigneeShowView.townId;\r\n\t\t  // 弹出对应提示\r\n          $(\"#consignee-ret\").html(consigneeResult.consigneeHtml); //弹出对应提示\r\n          //alert(consigneeResult.consigneeShowView.id);\r\n\t\t  $(\"#consignee_id\").val(consigneeResult.consigneeShowView.id);\r\n\t\t  //alert($(\"#consignee_id\").val());\r\n\t\t  $(\"#hideAreaIds\").val(areaIds);\r\n     \r\n          if (isBigItemChange())\r\n            bigItemChangeArea();\r\n          if (hasTang9())\r\n            tang9ChangeArea();\r\n          save_Pay(0);\r\n          openConsignee();\r\n          consigneeInfo();\r\n          if ($(\"#isPresale\").val() == \"true\") {\r\n\t\t\t\t$(\"#hiddenUserMobileByPresale\").val(consigneeResult.consigneeShowView.mobile);\r\n\t\t\t\tif ($(\"#presaleMobile input\").size() > 0) {\r\n\t\t\t\t\t$(\"#presaleMobile input\").val(consigneeResult.consigneeShowView.mobile);\r\n\t\t\t\t} else if ($(\"#userMobileByPresale\").size() > 0) {\r\n\t\t\t\t\t$(\"#userMobileByPresale\").html(consigneeResult.consigneeShowView.mobile);\r\n\t\t\t\t}\r\n\t\t\t}\r\n        }\r\n      } else {\r\n        goOrder();\r\n        return;\r\n      }\r\n      delayRemoveLoading('#g-loading');\r\n    },\r\n    error: function(XMLHttpResponse) {\r\n      goOrder();\r\n      delayRemoveLoading('#g-loading');\r\n      return;\r\n    }\r\n  });\r\n}\r\nwindow.tab_save_Consignee = tab_save_Consignee;\r\n\r\n/**\r\n * 删除收货人地址\r\n */\r\nfunction delete_Consignee(id) {\r\n  $.closeDialog();\r\n  var commonConsigeeSize = $(\"#hidden_consignees_size\").val();\r\n  var consigneeSize = parseInt(commonConsigeeSize);\r\n  var param = \"consigneeParam.id=\" + id;\r\n  var actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/deleteConsignee.action\";\r\n\tparam = addFlowTypeParam(param);\r\n\t\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\tshowMessageWarn(getMessage(dataResult));\r\n\t\t\t} else {\r\n\t\t\t\tif (consigneeSize > 1) {\r\n\t\t\t\t\tconsigneeSize = consigneeSize - 1;\r\n\t\t\t\t\t$(\"#hidden_consignees_size\").val(\"\" + consigneeSize);\r\n\t\t\t\t}\r\n\t\t\t\tslider.update($(\"#consignee_index_\" + id), function(content, index, init){\r\n\t\t\t\t\tvar _flag = $('.item-selected',this).length;\r\n\t\t\t\t\t$(this).remove();\r\n\t\t\t\t\tif($('#NewConsignee').length<=0){ \r\n\t\t\t\t\t\tvar zhengjia=\"<li id='NewConsignee' class='ui-switchable-panel last' onclick='use_NewConsignee()'><div class='consignee-item consignee-add-item'><s class='add-icon'></s><div class='ftx-03'>新增收货地址</div></div></li>\";\r\n\t\t\t\t\t\t$('#consignee-list').append(zhengjia);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(_flag>0) init(0);\r\n\t\t\t\t});\r\n\t\t\t\t\r\n\t\t\t\t// 如果没有选中的则默认选中第一个地址\r\n\t\t\t\tif($(\"#consignee_id\").val()==id)\r\n\t\t\t\t\t$(\".consignee-item\").first().click();\r\n\t\t\t\t\r\n\t\t\t\tif(consigneeSize == 1){\r\n\t\t\t\t\t$(\".consignee-item .del-consignee\").addClass(\"hide\");\r\n\t\t\t\t\t$(\".consignee-item .setdefault-consignee\").addClass(\"hide\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\t//alert(\"系统繁忙，请稍后再试！\");\r\n\t\t\tgoOrder();\r\n\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n}window.delete_Consignee = delete_Consignee;\r\n\r\n/**\r\n * 使用新收货人地址\r\n */\r\nfunction use_NewConsignee() {\r\n  if (checkMaxConsigneeSize()) {\r\n    showLargeMessage('地址限制','您的地址数，已经达到限制个数！');\r\n    return;\r\n  }\r\n  $('body').dialog({\r\n    title:'新增收货人信息',\r\n    width:690,\r\n    height:290,\r\n    type:'iframe',\r\n    source:OrderAppConfig.DynamicDomain + \"/consignee/editConsignee.action\"\r\n  });\r\n}window.use_NewConsignee=use_NewConsignee;\r\n\r\n/**\r\n * 设置默认收货人地址\r\n */\r\nfunction setAllDefaultAddress(id) {\r\n  var param = \"consigneeParam.id=\" + id;\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/setAllDefaultAddress.action\";\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\tshowMessageWarn(getMessage(dataResult));\r\n\t\t\t} else {\r\n\t\t\t\t$(\"#consignee-list\").find(\".consignee-item\").each(function() {\r\n\t\t\t\t\tif ($(this).attr(\"consigneeid\") != null) {\r\n\t\t\t\t\t\t$(this).find(\".op-btns\").find(\"span\").remove();\r\n\t\t\t\t\t\tif($(this).attr(\"consigneeid\") == id){\r\n\t\t\t\t\t\t\t$(this).find(\".op-btns\").find(\"a:first\").remove();\r\n\t\t\t\t\t\t\t$(this).find(\".op-btns\").prepend(\"<span class='mr10'>默认地址</span>\");\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tif($(this).find(\".op-btns\").find(\"a\").size() == 2){\r\n\t\t\t\t\t\t\t\t$(this).find(\".op-btns\").prepend(\"<a href='#none' class='ftx-05 mr10 setdefault-consignee' fid='\"+$(this).attr(\"consigneeid\")+\"'>设为默认地址</a>\");\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\tgoOrder();\r\n\t\t\t//alert(\"系统繁忙，请稍后再试！\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n}window.setAllDefaultAddress=setAllDefaultAddress;\r\n\r\nfunction consigneeInfo(){\r\n\tvar address = $(\".consignee-item.item-selected .mt10\").attr(\"title\");\r\n\taddress = address + $(\".consignee-item.item-selected .adr-m\").attr(\"title\");\r\n\tvar name = $(\".consignee-item.item-selected .fl strong\").attr(\"title\");\r\n\tvar phone = $(\".consignee-item.item-selected .fr\").html();\r\n    var info=\"<p>寄送至：\"+address+\"</br>收货人：\"+name+\"&nbsp;&nbsp;\"+phone+\"</p>\";\r\n    $(\".consignee-foot\").html(info);\r\n}window.consigneeInfo=consigneeInfo;\r\n\r\n/**\r\n * 验证收货地址消息提示\r\n * \r\n * @param divId\r\n * @param value\r\n */\r\nfunction check_Consignee(divId) {\r\n\tvar errorFlag = false;\r\n\tvar errorMessage = null;\r\n\tvar value = null;\r\n\t// 验证收货人名称\r\n\tif (divId == \"name_div\") {\r\n\t\tvalue = $(\"#consignee_name\").val();\r\n\t\tif (isEmpty(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"请您填写收货人姓名\";\r\n\t\t}\r\n\t\tif (value.length > 25) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"收货人姓名不能大于25位\";\r\n\t\t}\r\n\t\tif (!is_forbid(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"收货人姓名中含有非法字符\";\r\n\t\t}\r\n\t}\r\n\t// 验证邮箱格式\r\n\telse if (divId == \"email_div\") {\r\n\t\tvalue = $(\"#consignee_email\").val();\r\n\t\tif (!isEmpty(value)) {\r\n\t\t\tif (!check_email(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"邮箱格式不正确\";\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (value.length > 50) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"邮箱长度不能大于50位\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// 验证地区是否完整\r\n\telse if (divId == \"area_div\") {\r\n\t\tvar provinceId = $(\"#consignee_province\").find(\"option:selected\").val();\r\n\t\tvar cityId = $(\"#consignee_city\").find(\"option:selected\").val();\r\n\t\tvar countyId = $(\"#consignee_county\").find(\"option:selected\").val();\r\n\t\tvar townId = $(\"#consignee_town\").find(\"option:selected\").val();\r\n\t\t// 验证地区是否正确\r\n\t\tif (isEmpty(provinceId) || isEmpty(cityId) || isEmpty(countyId)\r\n\t\t\t\t|| ($(\"#span_town\").html() != null && $(\"#span_town\").html() != \"\" && !$(\"#span_town\").is(\":hidden\") && isEmpty(townId))) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"请您填写完整的地区信息\";\r\n\t\t}\r\n\t}\r\n\t// 验证收货人地址\r\n\telse if (divId == \"address_div\") {\r\n\t\tvalue = $(\"#consignee_address\").val();\r\n\t\tif (isEmpty(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"请您填写收货人详细地址\";\r\n\t\t}\r\n\t\tif (!is_forbid(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"收货人详细地址中含有非法字符\";\r\n\t\t}\r\n\t\tif (value.length > 50) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"收货人详细地址过长\";\r\n\t\t}\r\n\t}\r\n\t// 验证手机号码\r\n\telse if (divId == \"call_mobile_div\") {\r\n\t\tvalue = $(\"#consignee_mobile\").val();\r\n\t\tdivId = \"call_div\";\r\n\t\tif (isEmpty(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"请您填写收货人手机号码\";\r\n\t\t} else {\r\n\t\t\tif (!check_mobile(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"手机号码格式不正确\";\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!errorFlag) {\r\n\t\t\tvalue = $(\"#consignee_phone\").val();\r\n\t\t\tif (!isEmpty(value)) {\r\n\t\t\t\tif (!is_forbid(value)) {\r\n\t\t\t\t\terrorFlag = true;\r\n\t\t\t\t\terrorMessage = \"固定电话号码中含有非法字符\";\r\n\t\t\t\t}\r\n\t\t\t\tif (!checkPhone(value)) {\r\n\t\t\t\t\terrorFlag = true;\r\n\t\t\t\t\terrorMessage = \"固定电话号码格式不正确\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// 验证电话号码\r\n\telse if (divId == \"call_phone_div\") {\r\n\t\tvalue = $(\"#consignee_phone\").val();\r\n\t\tdivId = \"call_div\";\r\n\t\tif (!isEmpty(value)) {\r\n\t\t\tif (!is_forbid(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"固定电话号码中含有非法字符\";\r\n\t\t\t}\r\n\t\t\tif (!checkPhone(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"固定电话号码格式不正确\";\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (true) {\r\n\t\t\tvalue = $(\"#consignee_mobile\").val();\r\n\t\t\tif (isEmpty(value)) {\r\n\t\t\t\terrorFlag = true;\r\n\t\t\t\terrorMessage = \"请您填写收货人手机号码\";\r\n\t\t\t} else {\r\n\t\t\t\tif (!check_mobile(value)) {\r\n\t\t\t\t\terrorFlag = true;\r\n\t\t\t\t\terrorMessage = \"手机号码格式不正确\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (errorFlag) {\r\n\t\t$(\"#\" + divId + \"_error\").html(errorMessage);\r\n\t\t$(\"#\" + divId).addClass(\"message\");\r\n\t\treturn false;\r\n\t} else {\r\n\t\t$(\"#\" + divId).removeClass(\"message\");\r\n\t\t$(\"#\" + divId + \"_error\").html(\"\");\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n/**\r\n * 检查地址是否是最大数量\r\n * \r\n * @returns {Boolean}\r\n */\r\nfunction checkMaxConsigneeSize() {\r\n\tvar isMaxConsigneeSize = false;\r\n\tvar commonConsigeeSize = $(\"#hidden_consignees_size\").val();\r\n\tif (commonConsigeeSize >= 20)\r\n\t\tisMaxConsigneeSize = true;\r\n\treturn isMaxConsigneeSize;\r\n}window.checkMaxConsigneeSize=checkMaxConsigneeSize;\r\n\r\n\r\n// ******************************************************保存支付**************************************************************\r\n/**\r\n * 保存支付与配送方式\r\n */\r\nfunction save_Pay(type) {\r\n\tvar payId;\r\n\tif(type == null || type == \"\" || type == \"undefined\" || type == undefined || type == \"null\"){\r\n\t\tpayId = $('.payment-item.item-selected').attr('payId');\r\n\t}else{\r\n\t\tpayId=type;\r\n\t}\r\n\tvar pickShipmentItemCurr = $(\"#pick_shipment_item\").hasClass(\"curr\");\r\n\t\r\n\tvar\tparam = \"shipParam.payId=\" + payId + \"&shipParam.pickShipmentItemCurr=\" + pickShipmentItemCurr;\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : OrderAppConfig.DynamicDomain + \"/payAndShip/getVenderInfo.action\",\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t// 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\tgoOrder();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t// 成功后如果有divID直接放入div，没有则返回结果\r\n\t\t\telse {\r\n\t\t\t\t$(\"#payShipAndSkuInfo\").remove();\r\n\t\t\t\t$('#shipAndSkuInfo').append('<div id=\"payShipAndSkuInfo\">'+dataResult+'</div>');\r\n\t\t\t\t//add by zhuqingjie 此处调用异步\r\n\t\t\t\t//doAsynGetSkuPayAndShipInfo();\r\n\t\t\t\tfreshUI();\r\n\t\t\t\t//end add\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\tgoOrder();\r\n\t\t}\r\n});\r\n}window.save_Pay=save_Pay;\r\n// ---------------------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n/**\r\n * 加载四级地址名称\r\n * \r\n * @param id\r\n */\r\nfunction loadAllAreaName(id) {\r\n\tvar address = null;\r\n\t//var consignee_where = $(\"#hidden_consignee_where_\" + id).val();\r\n\tvar provinceId = $(\"#hidden_consignee_provinceId_\" + id).val();\r\n\tvar cityId = $(\"#hidden_consignee_cityId_\" + id).val();\r\n\tvar countyId = $(\"#hidden_consignee_countyId_\" + id).val();\r\n\tvar townId = $(\"#hidden_consignee_townId_\" + id).val();\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/loadAreaName.action\";\r\n\tvar param = \"consigneeParam.provinceId=\" + provinceId + \"&consigneeParam.cityId=\" + cityId + \"&consigneeParam.countyId=\" + countyId + \"&consigneeParam.townId=\"\r\n\t\t\t+ townId;\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\tvar message = getMessage(dataResult);\r\n\t\t\t\talert(message);\r\n\t\t\t} else {\r\n\t\t\t\t//address = consignee_where.replace(dataResult, \"\");\r\n\t\t\t\t$(\"#hidden_consignee_address_\" + id).val(address);\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\t//alert(\"系统繁忙，请稍后再试！\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 判断轻松购是否弹开\r\n * \r\n * @param id\r\n */\r\nfunction open_easyBuyConsignee(id) {\r\n\tvar isHidden = $(\"#consignee-form\").is(\":hidden\");// 是否隐藏\r\n\tvar consignee_type = $(\"#hidden_consignee_type_\" + id).val();\r\n\tvar consignee_townId = $(\"#hidden_consignee_townId_\" + id).val();\r\n\tconsignee_townId = consignee_townId + \"\";\r\n\tif (isNaN(consignee_townId)) {\r\n\t\tconsignee_townId = \"0\";\r\n\t}\r\n\tconsignee_townId = parseInt(consignee_townId);\r\n\tif (isHidden && (consignee_type == 0 || consignee_type == \"0\")) {\r\n\t\tvar mobile = $(\"#hidden_consignee_mobile_\" + id).val();\r\n\t\tif (isEmpty(mobile) || isNaN(mobile)) {\r\n\t\t\tshow_ConsigneeDetail(id);\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\tif (isHidden && (consignee_type == 0 || consignee_type == \"0\") && consignee_townId <= 0) {\r\n\t\tvar consignee_provinceId = $(\"#hidden_consignee_provinceId_\" + id).val();\r\n\t\tvar consignee_cityId = $(\"#hidden_consignee_cityId_\" + id).val();\r\n\t\tvar consignee_countyId = $(\"#hidden_consignee_countyId_\" + id).val();\r\n\t\tvar param = \"consigneeParam.type=\" + consignee_type + \"&consigneeParam.provinceId=\" + consignee_provinceId + \"&consigneeParam.cityId=\" + consignee_cityId\r\n\t\t\t\t+ \"&consigneeParam.countyId=\" + consignee_countyId + \"&consigneeParam.townId=0\";\r\n\t\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/openEasyBuy.action\";\r\n\t\tjQuery.ajax({\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"json\",\r\n\t\t\turl : actionUrl,\r\n\t\t\tdata : param,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(data, textStatus) {\r\n\t\t\t\tif (isUserNotLogin(data)) {\r\n\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (data) {\r\n\t\t\t\t\tshow_ConsigneeDetail(id);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t//alert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * 判断是否展开地址\r\n */\r\nfunction openConsignee() {\r\n\tvar areaId = $(\"#hideAreaIds\").val();\r\n\tvar areaIds = null;\r\n\tif (areaId != null) {\r\n\t\tareaIds = new Array(); // 定义一数组\r\n\t\tareaIds = areaId.split(\"-\");\r\n\t}\r\n\tif (areaIds != null && areaIds.length == 4) {\r\n\t\tvar param = \"consigneeParam.provinceId=\" + areaIds[0] + \"&consigneeParam.cityId=\" + areaIds[1] + \"&consigneeParam.countyId=\" + areaIds[2]\r\n\t\t\t\t+ \"&consigneeParam.townId=\" + areaIds[3];\r\n\r\n\t\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/consignee/checkOpenConsignee.action\";\r\n\t\tjQuery.ajax({\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"json\",\r\n\t\t\turl : actionUrl,\r\n\t\t\tdata : param,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(data, textStatus) {\r\n\t\t\t\tif (isUserNotLogin(data)) {\r\n\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (data) {\r\n\t\t\t\t\t//alert(\"openConsignee\");\r\n\t\t\t\t\topenEditConsigneeDialog($(\"#consignee_id\").val());\r\n\t\t\t\t\t$(\"#ui-dialog-close\").val(1);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t//alert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction loadGiftBuySenderTip() {\r\n\tif (isGiftBuy()) {\r\n\t\t$(\"#saveConsigneeTitleDiv\").text(\"保存收礼人信息\");\r\n\t\t$(\"#saveConsigneeTitleMinDiv\").text(\"保存收礼人信息\");\r\n\t\t$(\"#giftSenderDiv\").show();\r\n\t\t$(\"#consignee-giftSender-form\").show();\r\n\t} else {\r\n\t\t$(\"#saveConsigneeTitleDiv\").text(\"保存收货人信息\");\r\n\t\t$(\"#saveConsigneeTitleMinDiv\").text(\"保存收货人信息\");\r\n\t\t$(\"#giftSenderDiv\").hide();\r\n\t\t$(\"#consignee-giftSender-form\").hide();\r\n\t}\r\n}\r\n\r\n/**\r\n * 校验送礼人姓名\r\n * \r\n * @returns {Boolean}\r\n */\r\nfunction checkGiftBuySenderName() {\r\n\tvar value = $(\"#giftSender_consignee_name\").val();\r\n\tvar errorFlag = false;\r\n\tvar errorMessage = \"\";\r\n\tif (isEmpty(value)) {\r\n\t\terrorFlag = true;\r\n\t\terrorMessage = \"请您填写送礼人姓名\";\r\n\t}\r\n\tif (value.length > 25) {\r\n\t\terrorFlag = true;\r\n\t\terrorMessage = \"收货人姓名不能大于25位\";\r\n\t}\r\n\tif (!is_forbid(value)) {\r\n\t\terrorFlag = true;\r\n\t\terrorMessage = \"收货人姓名中含有非法字符\";\r\n\t}\r\n\tif (errorFlag) {\r\n\t\t$(\"#giftSender_name_div_error\").html(errorMessage);\r\n\t\t$(\"#giftSender_name_div\").addClass(\"message\");\r\n\t\treturn false;\r\n\t} else {\r\n\t\t$(\"#giftSender_name_div\").removeClass(\"message\");\r\n\t\t$(\"#giftSender_name_div_error\").html(\"\");\r\n\t\treturn true;\r\n\t}\r\n}window.checkGiftBuySenderName=checkGiftBuySenderName;\r\n\r\n/**\r\n * 校验送人手机号\r\n */\r\nfunction checkGiftBuySenderMobile() {\r\n\tvar value = $(\"#giftSender_consignee_mobile\").val();\r\n\tvar errorFlag = false;\r\n\tvar errorMessage = \"\";\r\n\tif (isEmpty(value)) {\r\n\t\terrorFlag = true;\r\n\t\terrorMessage = \"请您填写收货人手机号码\";\r\n\t} else {\r\n\t\tif (!check_mobile_new(value)) {\r\n\t\t\terrorFlag = true;\r\n\t\t\terrorMessage = \"手机号码格式不正确\";\r\n\t\t}\r\n\t}\r\n\tif (errorFlag) {\r\n\t\t$(\"#giftSender_call_div_error\").html(errorMessage);\r\n\t\t$(\"#giftSender_call_div\").addClass(\"message\");\r\n\t\treturn false;\r\n\t} else {\r\n\t\t$(\"#giftSender_call_div\").removeClass(\"message\");\r\n\t\t$(\"#giftSender_call_div_error\").html(\"\");\r\n\t\treturn true;\r\n\t}\r\n}window.checkGiftBuySenderMobile=checkGiftBuySenderMobile;\r\n\r\n// *****************************************************发票开始********************************************************************\r\n\r\n/**\r\n * 编辑发票信息\r\n * \r\n * @param consigneeId\r\n */\r\nfunction edit_Invoice() {\r\n\t$('body').dialog({\r\n\t\ttitle:'发票信息',\r\n\t\twidth:600,\r\n\t\theight:470,\r\n\t\ttype:'iframe',\r\n\t\tautoIframe:false,\r\n\t\tiframeTimestamp:false,\r\n\t\tmainId:'mainId',\r\n\t\tsource: OrderAppConfig.DynamicDomain + \"/invoice/editInvoice.action\"\r\n\t});\r\n}\r\nwindow.edit_Invoice = edit_Invoice;\r\n/**\r\n * \r\n * 删除发票信息\r\n * \r\n * @param _id\r\n */\r\nfunction delete_Invoice(id) {\r\n\t$('#mainId').hide();\t\r\n\tvar _$this = window.dialogIframe.$('#invoice-tit-list .invoice-item[date-fid=fid'+id+']');\r\n\tvar diaDel = $('body').dialog({\r\n\t\ttitle:'提示',\r\n\t\twidth:400,\r\n\t\theight:100,\r\n\t\ttype:'html',\r\n\t\tmainId:'delMainId',\r\n\t\tsource:'<div class=\"tip-box icon-box\"><span class=\"warn-icon m-icon\"></span><div class=\"item-fore\"><h3>您确定要删除该发票信息吗？</h3></div><div class=\"op-btns ac\"><a id=\"delSaveBtn\" href=\"#none\"class=\"btn-9\">确定</a><a id=\"delcallBtn\" href=\"#none\" class=\"btn-9 ml10\">取消</a></div></div>',\r\n\t\tonReady:function(){\r\n\t\t\t$('#delSaveBtn').bind('click',function(){\r\n\t\t\t\tvar actionUrl = OrderAppConfig.AsyncDomain + \"/invoice/deleteInvoiceFromUsual.action\";\t\t\t\t\r\n\t\t\t\tvar invokeInvoiceBasicService = $(\"#invokeInvoiceBasicService\").val();\t\t\t\t\r\n\t\t\t\tvar param = \"invoiceParam.usualInvoiceId=\" + id;\r\n\t\t\t\tparam = param + \"&invokeInvoiceBasicService=\" + invokeInvoiceBasicService;\r\n\t\t\t\tjQuery.ajax({\r\n\t\t\t\t\ttype : \"POST\",\r\n\t\t\t\t\tdataType : \"json\",\r\n\t\t\t\t\turl : actionUrl,\r\n\t\t\t\t\tdata : param,\r\n\t\t\t\t\tcache : false,\r\n\t\t\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\t\t\t\tvar message = getMessage(dataResult);\r\n\t\t\t\t\t\t\talert(message);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t_$this.removeClass('invoice-item-selected');\r\n\t\t\t\t\t\t\tif($('#invoice-tit-list .invoice-item-selected').length<=0){\r\n\t\t\t\t\t\t\t\t_$this.prev().click();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t_$this.remove();\r\n\t\t\t\t\t\t\tvar len =window.dialogIframe.$('#invoice-tit-list').find('.invoice-item').length;\r\n\t\t\t\t\t\t\tif(len<11){\r\n\t\t\t\t\t\t\t\twindow.dialogIframe.$('#add-invoice').show();\r\n\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\twindow.dialogIframe.$('#add-invoice').hide();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tdiaDel.close();\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t$('#mainId').show(); \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t\t\tdiaDel.close();\r\n\t\t\t\t\t\t$('#mainId').show(); \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t});\r\n\t\t\t//点击取消click\r\n\t\t\t$('#delcallBtn').bind('click',function(){\r\n\t\t\t\tdiaDel.close();\r\n\t\t\t\t$('#mainId').show(); \r\n\t\t\t});\r\n\t\t\t//点击叉子click\r\n\t\t\t$('#delMainId .ui-dialog-close').bind('click',function(){\r\n\t\t\t\t$('#mainId').show(); \r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n}window.delete_Invoice=delete_Invoice;\r\n\r\n\r\n// *************************************************支付和配送方式开始***************************************************************\r\n/**\r\n * 是否显示打白条\r\n * \r\n */\r\nfunction showWhiteBar() {\r\n\ttry {\r\n\t\tjQuery.getJSON(\"http://baitiao.jd.com/account/query?callback=?\", function(data) {\r\n\t\t\tif (data == null) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (data.result != null && data.result.isSuccess && (data.status == 2 || data.status == 3)) {\r\n\t\t\t\t$(\".whiteBarSpanClass\").removeClass(\"hide\");\r\n\t\t\t} else {\r\n\t\t\t\t$(\".whiteBarSpanClass\").addClass(\"hide\");\r\n\t\t\t}\r\n\t\t});\r\n\t} catch (err) {\r\n\t}\r\n}window.showWhiteBar = showWhiteBar;\r\n\r\nfunction getSelectedPaymentId() {\r\n\tvar paymentId = 4;\r\n\tpaymentId = $(\"input[name='payment'][checked]\").val();\r\n\treturn paymentId;\r\n}\r\n\r\n\r\n/**\r\n * 显示配送方式显示的时间\r\n */\r\nfunction showCodeTime() {\r\n\t$(\".t-item\").each(function() {\r\n\t\t$(this).show();\r\n\t});\r\n\t$(\"#jdShipmentTip\").show();\r\n}\r\n\r\n/**\r\n * 选中promise\r\n */\r\nfunction selectedPromise() {\r\n\t$(\"#delivery-t4\").attr('checked', true);\r\n\t$('#date-311').click();\r\n}\r\n\r\n\r\n\r\nfunction removeMessageTip() {\r\n\t$(\"#save-payAndShip-tip\").html(\"\");\r\n\t$(\"#save-consignee-tip\").html(\"\");\r\n\t$(\"#save-invoice-tip\").html(\"\");\r\n}\r\n\r\n/**\r\n * 用户选中支付方式radio弹出层显示支持与不支持的商品列表\r\n * \r\n * @param obj\r\n */\r\nvar YP_Sku_Flag = null;\r\n\r\nfunction showSkuDialog(obj) {\r\n\tif ($(obj).attr(\"payid\") != 4) {\r\n\t\t$(\"#payment-bankList\").hide();\r\n\t}\r\n\tif ($(obj).attr(\"payid\") == 4) {\r\n\t\t$(\"#payment-bankList\").show();\r\n\t}\r\n\r\n\tif ($(obj).attr(\"payid\") != 1) {\r\n\t\t$(\"#payment-factoryShipCod\").hide();\r\n\t}\r\n\tif ($(obj).attr(\"payid\") == 1) {\r\n\t\t$(\"#payment-factoryShipCod\").show();\r\n\t}\r\n\tif ($(obj).attr(\"payid\") != 8) {\r\n\t\t$(\"#payRemark_8\").hide();\r\n\t}\r\n\tif (YP_Sku_Flag) {\r\n\t\tYP_Sku_Flag = $(obj).parents('.item').parent().find('.item-selected :radio');\r\n\t}\r\n\r\n\tvar payArr = $(\"[id^='pay-method-']\");\r\n\tfor (var i = 0; i < payArr.length; i++) {\r\n\t\t$(payArr[i]).parent().parent().removeClass(\"item-selected\");\r\n\t\tvar itempayid = $(payArr[i]).parent().parent().attr(\"payid\");\r\n\r\n\t\t$(\"#supportPaySkus-\" + itempayid).css(\"display\", \"none\");\r\n\t\t// $(\"#otherSupportSkus-\" + itempayid).css(\"display\", \"none\");\r\n\r\n\t}\r\n\tvar selectedPay = $(obj).parent().parent();\r\n\tselectedPay.addClass(\"item-selected\");\r\n\r\n\tvar payId = $(obj).attr(\"payid\");\r\n\t// 清除其他选项的选中状态\r\n\tvar itemList = $(\".payment\").find('.item');\r\n\tfor (var i = 0; i < itemList.length; i++) {\r\n\t\tvar item = itemList[i];\r\n\t\tvar $item = $(item);\r\n\t\t$item.height(28);\r\n\t\t$item.find(\".label\").find(\"span\").hide();\r\n\t\t$item.find(\".label\").find(\".orange\").show();\r\n\t\t$item.find(\".sment-mark\").css(\"display\", \"none\");\r\n\t}\r\n\r\n\tvar dialogDiv = $(\"#payment-dialog-\" + payId)[0];\r\n\tif (!!dialogDiv) {\r\n\t\t$.jdThickBox({\r\n\t\t\twidth : 550,\r\n\t\t\theight : 330,\r\n\t\t\ttitle : \"请确认支付方式\",\r\n\t\t\t_box : \"payment_dialog\",\r\n\t\t\t_con : \"payment_dialog_box\",\r\n\t\t\t_close : \"payment_dialog_close\",\r\n\t\t\t// source: $(\"#payment-dialog\") // 当指定type时，页面元素容器\r\n\t\t\tsource : '<div class=\"iloading\" style=\"padding:20px;\">正在加载中...<\\/div>'\r\n\t\t}, function() {\r\n\t\t\t$(\"#payment_dialog, #payment_dialog_box\").css(\"height\", \"auto\");\r\n\r\n\t\t\tvar PDHTML = $(\"#payment-dialog-\" + payId)[0].value;\r\n\r\n\t\t\t$(\"#payment_dialog_box\").html(PDHTML);\r\n\r\n\t\t\t$(\"#dialog-enter-\" + payId).bind(\"click\", function() {\r\n\t\t\t\t// 清除其他选项的选中状态\r\n\t\t\t\tvar itemList = $(\".payment\").find('.item');\r\n\t\t\t\tfor (var i = 0; i < itemList.length; i++) {\r\n\t\t\t\t\tvar item = itemList[i];\r\n\t\t\t\t\tvar $item = $(item);\r\n\t\t\t\t\t$item.height(28);\r\n\t\t\t\t\t$item.find(\".label\").find(\"span\").hide();\r\n\t\t\t\t\t$item.find(\".label\").find(\".orange\").show();\r\n\t\t\t\t\t$item.find(\".sment-mark\").css(\"display\", \"none\");\r\n\t\t\t\t}\r\n\t\t\r\n\t\t\t\t$(\"#supportPaySkus-\" + payId).css(\"display\", \"inline-block\");\r\n\t\t\t\t$(\"#otherSupportSkus-\" + payId).css(\"display\", \"block\");\r\n\t\t\t\tjdThickBoxclose();\r\n\t\t\t\tif ($(\"#otherSupportSkus-\" + payId) && $(\"#otherSupportSkus-\" + payId).length > 0 && $(\"#otherSupportSkus-\" + payId).find('span').size() > 0) {\r\n\t\t\t\t\tselectedPay.height(56);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tselectedPay.height(28);\r\n\t\t\t\t}\r\n\t\t\t\tYP_Sku_Flag = obj;\r\n\t\t\t\t$(obj).attr(\"checked\", \"checked\");\r\n\t\t\t});\r\n\t\t\t$(\"#dialog-cancel-\" + payId).bind(\"click\", function() {\r\n\r\n\t\t\t\tvar itemList = $(\".payment\").find('.item');\r\n\t\t\t\tfor (var i = 0; i < itemList.length; i++) {\r\n\t\t\t\t\tvar item = itemList[i];\r\n\t\t\t\t\tvar $item = $(item);\r\n\t\t\t\t\t$item.height(28);\r\n\t\t\t\t\t$item.find(\".label\").find(\"span\").hide();\r\n\t\t\t\t\t$item.find(\".label\").find(\".orange\").show();\r\n\t\t\t\t\t$item.find(\".sment-mark\").css(\"display\", \"none\");\r\n\t\t\t\t}\r\n\r\n\t\t\t\tjdThickBoxclose();\r\n\t\t\t\t$(obj).attr('checked', false);\r\n\t\t\t\t$(obj).parents(\".item\").removeClass('item-selected');\r\n\t\t\t\t$(\"#pay-method-4\").attr('checked', true);\r\n\t\t\t\t$(\"#pay-method-4\").parents(\".item\").addClass('item-selected');\r\n\t\t\t\t//edit_Shipment(4);【dodoa 换成灵辉的方法】\r\n\t\t\t});\r\n\t\t});\r\n\t} else {\r\n\t\t//edit_Shipment(payId);【dodoa 换成灵辉的方法】\r\n\t}\r\n\r\n}\r\n\r\n/**\r\n * 支付配送展开后的弹窗\r\n * \r\n * @param id\r\n * @param skuDivId\r\n * @return\r\n */\r\nfunction showShipmentSkuList(id, skuDivId) {\r\n\t$(\"#\" + skuDivId).removeClass(\"hide\").show();\r\n\tvar offset = $(\"#\" + id).position();\r\n\tvar x = offset.left + 60;\r\n\t$('#' + skuDivId).show().css({\r\n\t\tleft : x,\r\n\t\ttop : -2\r\n\t});\r\n}\r\n\r\n/**\r\n * 支付配送关闭后的配送的弹窗\r\n * \r\n * @param id\r\n * @param SkuDiagId\r\n * @return\r\n */\r\nfunction showShipmentSkuListOutside(id, SkuDiagId) {\r\n\tif ($(\"#payment-ship\").find(\"#payment-window-1\").html() != null) {\r\n\t\t$(\"#payment-ship\").find(\"#payment-window-1\").hide();\r\n\t}\r\n\tif ($(\"#payment-ship\").find(\"#payment-window-2\").html() != null) {\r\n\t\t$(\"#payment-ship\").find(\"#payment-window-2\").hide();\r\n\t}\r\n\tif ($(\"#payment-ship\").find(\"#pick-show-sku-out-1\").html() != null) {\r\n\t\t$(\"#payment-ship\").find(\"#pick-show-sku-out-1\").hide();\r\n\t}\r\n\tif ($(\"#payment-ship\").find(\"#pick-show-sku-out-2\").html() != null) {\r\n\t\t$(\"#payment-ship\").find(\"#pick-show-sku-out-2\").hide();\r\n\t}\r\n\tif ($(\"#payment-ship\").find(\"#pick-show-sku-out-3\").html() != null) {\r\n\t\t$(\"#payment-ship\").find(\"#pick-show-sku-out-3\").hide();\r\n\t}\r\n\tvar topDistance = parseInt(id.substring(id.length - 1, id.length) - 1) * 20;\r\n\t$(\"#payment-ship\").find(\"#\" + SkuDiagId).css({\r\n\t\tposition : \"absolute\",\r\n\t\ttop : (20 + topDistance) + \"px\",\r\n\t\tleft : 130,\r\n\t\tdisplay : \"block\"\r\n\t});\r\n\r\n}\r\n\r\n/**\r\n * 支付配送关闭后的支付方式的弹窗\r\n * \r\n * @param id\r\n * @param SkuDiagId\r\n * @return\r\n */\r\nfunction showPaymentSkuListOutside(id, SkuDiagId) {\r\n\tif ($(\"#payment-ship\").find(\"#payment-window-1\").html() != null) {\r\n\t\t$(\"#payment-ship\").find(\"#payment-window-1\").hide();\r\n\t}\r\n\tif ($(\"#payment-ship\").find(\"#payment-window-2\").html() != null) {\r\n\t\t$(\"#payment-ship\").find(\"#payment-window-2\").hide();\r\n\t}\r\n\tif ($(\"#payment-ship\").find(\"#pick-show-sku-out-1\").html() != null) {\r\n\t\t$(\"#payment-ship\").find(\"#pick-show-sku-out-1\").hide();\r\n\t}\r\n\tif ($(\"#payment-ship\").find(\"#pick-show-sku-out-2\").html() != null) {\r\n\t\t$(\"#payment-ship\").find(\"#pick-show-sku-out-2\").hide();\r\n\t}\r\n\tif ($(\"#payment-ship\").find(\"#pick-show-sku-out-3\").html() != null) {\r\n\t\t$(\"#payment-ship\").find(\"#pick-show-sku-out-3\").hide();\r\n\t}\r\n\r\n\tvar distance = 0;\r\n\tif ($.trim($(\"#payment-ship\").find(\"#pay-name-for-window-1\").text()).length == 5) {\r\n\t\tdistance = 8;\r\n\t} else if ($.trim($(\"#payment-ship\").find(\"#pay-name-for-window-1\").text()).length == 7) {\r\n\t\tdistance = 36;\r\n\t} else if ($.trim($(\"#payment-ship\").find(\"#pay-name-for-window-1\").text()).length == 8) {\r\n\t\tdistance = 46;\r\n\t}\r\n\tif (\"pay-name-for-window-1\" == id) {\r\n\t\t$(\"#payment-ship\").find(\"#payment-window-1\").css({\r\n\t\t\tposition : \"absolute\",\r\n\t\t\ttop : -4,\r\n\t\t\tleft : (165 + distance) + \"px\",\r\n\t\t\tdisplay : \"block\"\r\n\t\t});\r\n\t} else {\r\n\t\tif ($.trim($(\"#payment-ship\").find(\"#check-info-name\").text()) != \"\") {\r\n\t\t\tdistance += 368;\r\n\t\t}\r\n\t\t$(\"#payment-ship\").find(\"#payment-window-2\").css({\r\n\t\t\tposition : \"absolute\",\r\n\t\t\ttop : -4,\r\n\t\t\tleft : (225 + distance) + \"px\",\r\n\t\t\tdisplay : \"block\"\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * 支付配送关闭后的配送方式商品弹窗\r\n * \r\n * @param skuId\r\n * @return\r\n */\r\nfunction removeShipmentSkuListOutside(skuId) {\r\n\t$(\"#payment-ship\").find(\"#\" + skuId).hide();\r\n}\r\n/**\r\n * 支付配送关闭后的支付方式商品弹窗\r\n * \r\n * @param skuId\r\n * @return\r\n */\r\nfunction removePaymentSkuListOutside(skuId) {\r\n\t$(\"#payment-ship\").find(\"#\" + skuId).hide();\r\n}\r\n/**\r\n * 支付配送展开后的商品弹窗\r\n * \r\n * @param skuDivId\r\n * @return\r\n */\r\nfunction removeShipmentSkuListInside(skuDivId) {\r\n\t$(\"#\" + skuDivId).hide();\r\n}\r\n\r\nfunction removeFreightSpan() {\r\n\t$(\"#transport\").hide();\r\n}window.removeFreightSpan = removeFreightSpan;\r\n\r\nfunction changeBigItemDate(dateValue) {\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : OrderAppConfig.DynamicDomain + \"/payAndShip/getInstallDates.action?payAndShipParam.bigSkuTimeId=\" + dateValue,\r\n\t\tdata : \"\",\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t$(\"#installOptionDiv\").html(dataResult);\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\t//alert(\"系统繁忙，请稍后再试！\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 获取支票信息\r\n * \r\n * @param type\r\n * @return\r\n */\r\nfunction getCheckInfo(type) {\r\n\r\n\t// 2为支票, 如果选择的不为支票则清空支票信息div\r\n\tif (type != 2) {\r\n\t\t$(\"#checkInfo\").html(\"\");\r\n\t} else {\r\n\t\tvar param = addFlowTypeParam();\r\n\t\t$.ajax({\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"text\",\r\n\t\t\turl : OrderAppConfig.AsyncDomain + \"/payAndShip/getShipmentCheckInfo.action\",\r\n\t\t\tdata : param,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t// 没有登录跳登录\r\n\t\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t$(\"#checkInfo\").html(dataResult);\r\n\t\t\t\t$('.cheque-item :radio').bind('click', function() {\r\n\t\t\t\t\t$('.cheque-btn a').removeClass().addClass('btn-submit');\r\n\t\t\t\t\t$('.cheque-item').removeClass('current');\r\n\t\t\t\t\t$(this).parents('.cheque-item').addClass('current');\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t//alert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * 跳转到公司转账\r\n * \r\n * @return\r\n */\r\nfunction goToCompanyTransfer() {\r\n\t// 设置当前选中支付方式为公司转账\r\n\t$(\"#pay-method-5\").attr(\"checked\", true);\r\n\t// 刷新配送方式\r\n\t//edit_Shipment(5);【dodoa 换成灵辉的方法】\r\n\t$(\"#pay-method-1\").parents(\".item\").removeClass(\"item-selected\").height(28);\r\n\t$(\"#supportPaySkus-1\").hide();\r\n\t$(\"#otherSupportSkus-1\").hide();\r\n\t$(\"#pay-method-5\").parents(\".item\").addClass(\"item-selected\");\r\n\r\n}\r\n// 关闭支付与配送方式中的提示框\r\nfunction closeTip(type) {\r\n\t$(\"#\" + type).css(\"display\", \"none\");\r\n}\r\n// 获取radio中选中的值\r\nfunction getRadioValue(name) {\r\n\tvar list = document.getElementsByName(name);\r\n\tfor (var i = 0; i < list.length; i++) {\r\n\t\tif (list[i].checked == true)\r\n\t\t\treturn list[i].value;\r\n\t}\r\n}\r\n// 对选中的radio进行加亮\r\nfunction lightRadio(name, id) {\r\n\tvar list = document.getElementsByName(name);\r\n\tfor (var i = 0; i < list.length; i++) {\r\n\t\tif (list[i].checked == true) {\r\n\t\t\t$(\"#\" + id + \"-\" + list[i].value).attr(\"class\", \"item item-selected\");\r\n\t\t} else {\r\n\t\t\t$(\"#\" + id + \"-\" + list[i].value).attr(\"class\", \"item\");\r\n\t\t}\r\n\t}\r\n}\r\n// 显示支票的提示选项\r\nfunction showCheckDiv(id) {\r\n\tif (id == \"2\") {\r\n\t\t$(\"#tip1\").css(\"display\", \"block\");\r\n\t} else {\r\n\t\t$(\"#tip1\").css(\"display\", \"none\");\r\n\t}\r\n}\r\n/** *****************************************************优惠券************************************************* */\r\n\r\nvar item = \"item\";\r\nvar itemToggleActive = \"item toggle-active\";\r\nvar orderCouponItem = \"orderCouponItem\";\r\nvar orderGiftCardItem = \"orderGiftCardItem\";\r\nvar orderGiftECardItem = \"orderECardItem\";\r\nvar orderCouponId = \"orderCouponId\";\r\nvar giftCardId = \"giftCardId\";\r\nvar giftECardId = \"eCardId\";\r\nvar toggleWrap = \"toggle-wrap\";\r\nvar toggleWrapHide = \"toggle-wrap hide\";\r\nvar BALANCE_PWD_TYPE = \"balancePwdType\";\r\nvar JING_PWD_TYPE = \"jingPwdType\";\r\nvar LPK_PWD_TYPE = \"lpkPwdType\";\r\nvar dongType = \"dongType\";\r\nvar jingType = \"jingType\";\r\nvar freeFreight = \"freeFreightType\";\r\n\r\nfunction couponTip() {\r\n\t$(function() {\r\n\t\t$(\"#coupons .virtual-from\").find(\".coupon-scope\").each(function() {\r\n\t\t\tvar $this = $(this), parent = $this.parents(\".list\"), dialog = parent.find(\".coupon-tip\");\r\n\r\n\t\t\tvar left = $this.position().left + ($this.width() / 2);\r\n\r\n\t\t\tdialog.css({\r\n\t\t\t\t\"left\" : left + \"px\",\r\n\t\t\t\t\"display\" : \"none\"\r\n\t\t\t});\r\n\r\n\t\t\t$this.bind(\"mouseenter\", function() {\r\n\t\t\t\tparent.css({\r\n\t\t\t\t\t\"overflow\" : \"visible\",\r\n\t\t\t\t\t\"z-index\" : 5\r\n\t\t\t\t});\r\n\t\t\t\tdialog.css(\"display\", \"block\");\r\n\t\t\t}).bind(\"mouseleave\", function() {\r\n\t\t\t\tparent.css({\r\n\t\t\t\t\t\"overflow\" : \"hidden\",\r\n\t\t\t\t\t\"z-index\" : 1\r\n\t\t\t\t});\r\n\t\t\t\tdialog.css(\"display\", \"none\");\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n}\r\n\r\n/**\r\n * 优惠券查询\r\n */\r\nfunction query_coupons() {\r\n\tvar flag = $(\"#\" + orderCouponId).css('display') == 'none'; // 判断隐藏还是显示优惠券列表\r\n\tif (flag) {// 显示优惠券列表\r\n\t\tvar param = addFlowTypeParam();\r\n\t\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/getCoupons.action\";\r\n\t\tjQuery.ajax({\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"text\",\r\n\t\t\turl : url,\r\n\t\t\tdata : param,\r\n\t\t\tasync : true,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(result) {\r\n\t\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\t\talert(message);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tcheckPaymentPasswordSafe(JING_PWD_TYPE);\r\n\t\t\t\t$(\"#\" + orderCouponId).css(\"display\", \"block\");\r\n\t\t\t\t// 优惠券显示样式\r\n\t\t\t\tchangeClassStyle(orderCouponId, toggleWrap);\r\n\t\t\t\tchangeClassStyle(orderCouponItem, itemToggleActive);\r\n\t\t\t\t$(\"#\" + OrderAppConfig.Module_Coupon).html(result);\r\n\t\t\t\tentityCouponInputEventInit();// 实体券输入框初始化\r\n\t\t\t\t// 东券提示文字\r\n\t\t\t\tcouponTip();\r\n\t\t\t\t//isNeedPaymentPassword(); // 是否需要支付密码\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t//alert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t}\r\n\t\t});\r\n\t} else {\r\n\t\t// 隐藏优惠券列表\r\n\t\t$(\"#\" + orderCouponId).css('display', 'none');\r\n\t\t// 优惠券隐藏样式\r\n\t\tchangeClassStyle(orderCouponId, toggleWrapHide);\r\n\t\tchangeClassStyle(orderCouponItem, item);\r\n\t}\r\n}\r\nwindow.query_coupons = query_coupons;\r\n/**\r\n * 检查余额安全，是否开启支付密码\r\n */\r\nfunction checkBalancePwdResult(type) {\r\n\tvar param = \"couponParam.fundsPwdType=\" + type;\r\n\tparam = addFlowTypeParam(param);\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/checkFundsPwdResult.action\";\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(flag) {\r\n\t\t\tif (isUserNotLogin(flag)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (!flag) {\r\n\t\t\t\tcancelUsedBalance(); // 账户不安全，设置余额不可用\r\n\t\t\t\treturn flag;\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 设置余额不可用\r\n */\r\nfunction cancelUsedBalance() {\r\n\tif ($(\"#selectOrderBalance\").is(':checked')) {// 选中状态\r\n\t\t$(\"#selectOrderBalance\").click(); // JS模拟取消\r\n\t}\r\n\t$(\"#selectOrderBalance\").attr('disabled', true);\r\n\tif ($(\"#showOrderBalance\").css(\"display\") != \"none\") {\r\n\t\t$(\"#safeVerciryPromptPart\").show();\r\n\t}\r\n}\r\n\r\n/**\r\n * 选择京券\r\n */\r\nfunction selectJing(obj, key, id) {\r\n\tvar flag = (obj.checked) ? \"1\" : \"0\"; // 判断是否选中京券\r\n\tif (flag == 1) {// 选择京券，刷新优惠券列表\r\n\t\tuseOrCancelCoupon(OrderAppConfig.DynamicDomain + \"/coupon/useCoupon.action\", key, obj, 1, jingType);\r\n\t} else {\r\n\t\tuseOrCancelCoupon(OrderAppConfig.DynamicDomain + \"/coupon/cancelCoupon.action\", id, obj, 0, jingType);\r\n\t}\r\n}window.selectJing = selectJing;\r\n\r\n/**\r\n * 选择东券\r\n */\r\nfunction selectDong(obj, key, id) {\r\n\tvar flag = (obj.checked) ? \"1\" : \"0\"; // 判断是否选中东券\r\n\tif (flag == 1) {// 选择东券，刷新优惠券列表\r\n\t\tuseOrCancelCoupon(OrderAppConfig.DynamicDomain + \"/coupon/useCoupon.action\", key, obj, 1, dongType);\r\n\t} else {\r\n\t\tuseOrCancelCoupon(OrderAppConfig.DynamicDomain + \"/coupon/cancelCoupon.action\", id, obj, 0, dongType);\r\n\t}\r\n}window.selectDong = selectDong;\r\n\r\n/**\r\n * 选择免运费券\r\n */\r\nfunction selectFreeFreight(obj, key, id) {\r\n\tvar flag = (obj.checked) ? \"1\" : \"0\"; // 判断是否选中运费券\r\n\tif (flag == 1) {// 选择免运费券，刷新优惠券列表\r\n\t\tuseOrCancelCoupon(OrderAppConfig.DynamicDomain + \"/coupon/useCoupon.action\", key, obj, 1, freeFreight);\r\n\t} else {\r\n\t\tuseOrCancelCoupon(OrderAppConfig.DynamicDomain + \"/coupon/cancelCoupon.action\", id, obj, 0, freeFreight);\r\n\t}\r\n}window.selectFreeFreight = selectFreeFreight;\r\n\r\n/**\r\n * 添加实体券\r\n * \r\n * @param obj\r\n */\r\nfunction addEntityCoupon(obj) {\r\n\r\n\tif ($('#couponKeyPressFirst').val() == \"\" || $('#couponKeyPressSecond').val() == \"\" || $('#couponKeyPressThrid').val() == \"\"\r\n\t\t\t|| $('#couponKeyPressFourth').val() == \"\") {\r\n\t\tshowMessageWarn(\"请输入优惠券密码\");\r\n\t\treturn;\r\n\t}\r\n\tvar key = $(\"#couponKeyPressFirst\").val() + \"-\" + $(\"#couponKeyPressSecond\").val() + \"-\" + $(\"#couponKeyPressThrid\").val() + \"-\" + $(\"#couponKeyPressFourth\").val();\r\n\t// TODO\r\n\t$(\"input[id^='couponKeyPress']\").each(function() {\r\n\t\t$(this).val(\"\");\r\n\t});\r\n\tuseOrCancelCoupon(OrderAppConfig.DynamicDomain + \"/coupon/useCoupon.action\", key, obj, 1, \"\");\r\n}\r\n\r\nfunction removeShiTiCoupon(id) {\r\n\tuseOrCancelCoupon(OrderAppConfig.DynamicDomain + \"/coupon/cancelCoupon.action\", id, null, 0, \"\");\r\n}\r\n\r\n/**\r\n * 使用或者取消优惠券 1：使用优惠券，0：取消优惠券\r\n */\r\nfunction useOrCancelCoupon(url, id, obj, flag, couponType) {\r\n\tvar param = \"\";\r\n\tif (flag == 1) {// 使用券传的是couponKey\r\n\t\tparam += \"couponParam.couponKey=\" + id;\r\n\t} else {// 取消券使用的是couponId\r\n\t\tparam += \"couponParam.couponId=\" + id;\r\n\t}\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(result) {\r\n\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\talert(message);\r\n\t\t\t\tif (obj.checked) {\r\n\t\t\t\t\tobj.checked = false;\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tcheckPaymentPasswordSafe(JING_PWD_TYPE, 0);// 用户安全，检查是否开启支付密码\r\n\t\t\tchangeClassStyle(orderCouponId, toggleWrap);\r\n\t\t\tchangeClassStyle(orderCouponItem, itemToggleActive);\r\n\t\t\t$(\"#\" + OrderAppConfig.Module_Coupon).html(result);\r\n\t\t\t// 刷新显示：优惠券优惠金额，礼品卡优惠金额，余额优惠金额，实际应付总金额\r\n\t\t\tuseCancelEditJdBean(0, null, true);\r\n\t\t\tflushOrderPriceByCoupon(); // 改变优惠券状态\r\n\t\t\tcheckCouponWaste();// 检查优惠券是否存在浪费情况\r\n\t\t\tisNeedPaymentPassword(); // 是否需要支付密码\r\n\t\t}\r\n\t});\r\n\r\n}\r\n\r\n/**\r\n * 检查优惠券是否存在浪费情况\r\n */\r\nfunction checkCouponWaste() {\r\n\tif ($(\"#hidden_wasteFlag\").val() == \"true\") {\r\n\t\talert(\"您的京券金额多于商品应付总额，京券差额不予退还哦~\");\r\n\t}\r\n}\r\n\r\n//点击余额ajax请求一次校验支付密码开启 TODO 虚拟资产前端代码待重构，例如开启支付密码，页面异步刷新就可以取得这个状态，不必多次请求 LILONG\r\n$('#balance-div').bind('click',function(){\r\n\tif($(\"#safeBalancePart\").hasClass('hide')) {\r\n\t\tcheckPaymentPasswordSafe('balance', 0);\r\n\t}\r\n});\r\n\r\n/**\r\n * 使用优惠券、礼品卡时检查是否开启支付密码\r\n * \r\n * @param type\r\n */\r\nfunction checkPaymentPasswordSafe(type, giftCardType) {\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/checkFundsPwdResult.action\";\r\n\tvar param = \"couponParam.fundsPwdType=\" + type;\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(result) {\r\n\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\talert(message);\r\n\t\t\t\tif (obj.checked) {\r\n\t\t\t\t\tobj.checked = false;\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (!result) {\r\n\t\t\t\t// 增加余额提示开启密码的显示\r\n\t\t\t\t$(\"#safeBalancePart\").removeClass(\"hide\");\r\n\t\t\t\tif (type == JING_PWD_TYPE) {\r\n\t\t\t\t\tcancelAllUsedCoupons();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t} else if (type == LPK_PWD_TYPE) {\r\n\t\t\t\t\tcancelAllUsedGiftCards(giftCardType);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t});\r\n}window.checkPaymentPasswordSafe = checkPaymentPasswordSafe;\r\n\r\n/**\r\n * 刷新订单价格\r\n * \r\n * @param orderPrice\r\n *            是一个json对象\r\n */\r\nfunction flushOrderPrice(orderPrice, isFlushSkuList) {\r\n\tif (orderPrice == null) {\r\n\t\treturn;\r\n\t}\r\n\t//根据店铺刷运费[京东商家运费和sop运费]\r\n\tvar venderFreight = orderPrice.venderFreight;\r\n\tif(venderFreight != null){\r\n\t\tvar jdFreight = null;\r\n\t\tfor (var prop in venderFreight) {  \r\n\t\t\t  if (venderFreight.hasOwnProperty(prop)) {   \r\n\t\t\t   // alert(\"prop: \" + prop + \" value: \" + venderFreight[prop])  ;\t\t\t    \r\n\t\t\t\t $(\".ftx-01\").each(function(){\r\n\t\t\t\t\t\tvar freightVenderId=$(this).attr(\"freightByVenderId\");\r\n\t\t\t\t\t\tvar popJdShipment = $(this).attr(\"popJdShipment\");\r\n\r\n\t\t\t\t        if(prop == freightVenderId){\r\n\t\t\t\t        \tvar freightSop = venderFreight[prop].toFixed(2);\r\n\t\t\t\t        \tvar freightHtml = \"\";\r\n\t\t\t\t        \tif(freightSop == \"0.00\" || freightSop == \"0\" || freightSop == \"\"){\r\n\t\t\t\t        \t\tfreightHtml =\"<strong class='ftx-01' style='color:#666' freightByVenderId='\"+freightVenderId+\"'  popJdShipment='\"+popJdShipment+\"'>免运费</strong>\"\r\n\t\t\t\t        \t}\r\n\t\t\t\t        \telse{\r\n\t\t\t\t\t            freightHtml = \"运费：<strong class='ftx-01'  freightByVenderId='\"+freightVenderId+\"' popJdShipment='\"+popJdShipment+\"'>￥\"+freightSop+\"</strong>\";\r\n\t\t\t\t        \t}\r\n\t\t\t\t        \t$(this).parent().html(freightHtml);\r\n\t\t\t\t        }\r\n\t\t\t\t        if(prop == 0 || prop == \"0\"){\r\n\t\t\t\t        \tjdFreight =  venderFreight[prop].toFixed(2);\r\n\t\t\t\t        }\t\t\t       \r\n\t\t\t\t\t});\r\n\t\t\t  }  \r\n\t\t\t}\t\r\n\t\t $(\".ftx-01\").each(function(){\r\n\t\t\t\tvar popJdShipment = $(this).attr(\"popJdShipment\");\r\n\t\t\t\tvar freightVenderId=$(this).attr(\"freightByVenderId\");\r\n\t        \tvar freightHtml = \"\";\r\n\t\t         if(popJdShipment == \"true\" && jdFreight != null){\r\n\t\t        \t if(jdFreight == \"0.00\" || jdFreight == \"0\" || jdFreight == \"\"){\r\n\t\t\t        \t  freightHtml =\"<strong class='ftx-01' style='color:#666' freightByVenderId='\"+freightVenderId+\"'  popJdShipment='\"+popJdShipment+\"'>免运费</strong>\";\r\n\t\t\t         }\r\n\t\t        \t else{\r\n\t\t\t        \t\tfreightHtml =\"<strong class='ftx-01' style='color:#666' freightByVenderId='\"+freightVenderId+\"'  popJdShipment='\"+popJdShipment+\"'>￥\"+jdFreight+\"</strong>\";\r\n\t\t        \t }\r\n\t\t        \t $(this).parent().html(freightHtml);\r\n\t\t         }   \r\n\t\t\t});\r\n\t\t\r\n\t}\t\r\n\t// 修改运费\r\n\tif (orderPrice.freight != null) {\r\n\t\tif (orderPrice.freight > 0) {\r\n\t\t\t$(\"#freightPriceId\").html(\"<font color='#FF6600'> ￥\" + orderPrice.freight.toFixed(2) + \"</font>\");\r\n\t\t\t$(\"#freightSpan\").html(\"<font color='#005EA7'>运费：</font>\");\r\n\t\t\t\r\n\t\t\tif($(\".presale-freight\")){\r\n\t\t\t\t$(\".presale-freight\").html(\"(运费\" + orderPrice.freight.toFixed(2) + \"元在尾款阶段支付)\");\r\n\t\t\t\t$(\".presale-freight\").removeClass(\"hide\");\r\n\t\t\t}\r\n\t\t\tif($(\".presale-freight2\")){\r\n\t\t\t\t$(\".presale-freight2\").html(\"+<strong>运费：</strong>￥\" + orderPrice.freight.toFixed(2));\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t$(\"#freightPriceId\").html(\"<font color='#000000'> ￥\" + orderPrice.freight.toFixed(2) + \"</font>\");\r\n\t\t\t$(\"#freightSpan\").html(\"<font color='#000000'>运费：</font>\");\r\n\t\t\tif($(\".presale-freight\")){\r\n\t\t\t\t$(\".presale-freight\").addClass(\"hide\");\r\n\t\t\t}\r\n\t\t\tif($(\".presale-freight2\")){\r\n\t\t\t\t$(\".presale-freight2\").html(\"+<strong>运费：</strong>￥0.00\");\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// 修改优惠券结算信息\r\n\tif (orderPrice.couponDiscount != null) {\r\n\t\t$(\"#couponPriceId\").text(\"-￥\" + orderPrice.couponDiscount.toFixed(2));\r\n\t\tif (orderPrice.couponDiscount == 0) {\r\n\t\t\t$(\"#showCouponPrice\").css(\"display\", \"none\");\r\n\t\t} else {\r\n\t\t\t$(\"#showCouponPrice\").css(\"display\", \"block\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#couponPriceId\").css(\"display\", \"none\");\r\n\t}\r\n\r\n\t// 修改礼品卡结算信息\r\n\tif (orderPrice.giftCardDiscount != null) {\r\n\t\t$(\"#giftCardPriceId\").text(\"-￥\" + orderPrice.giftCardDiscount.toFixed(2));\r\n\t\tif (orderPrice.giftCardDiscount == 0) {\r\n\t\t\t$(\"#showGiftCardPrice\").css(\"display\", \"none\");\r\n\t\t} else {\r\n\t\t\t$(\"#showGiftCardPrice\").css(\"display\", \"block\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#showGiftCardPrice\").css(\"display\", \"none\");\r\n\t}\r\n\r\n\t// 修改余额\r\n\tif (orderPrice.usedBalance != null) {\r\n\t\t$(\"#usedBalanceId\").text(\"-￥\" + orderPrice.usedBalance.toFixed(2));\r\n\t\tif (orderPrice.usedBalance == 0) {\r\n\t\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"none\");\r\n\t\t} else {\r\n\t\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"block\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"none\");\r\n\t}\r\n\t// 修改京豆\r\n\tif (orderPrice.usedJdBeanDiscout != null) {\r\n\t\t$(\"#usedJdBeanId\").text(\"-￥\" + orderPrice.usedJdBeanDiscout.toFixed(2));\r\n\t\tif (orderPrice.usedJdBeanDiscout == 0) {\r\n\t\t\t$(\"#showUsedJdBean\").css(\"display\", \"none\");\r\n\t\t} else {\r\n\t\t\t$(\"#showUsedJdBean\").css(\"display\", \"block\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#showUsedJdBean\").css(\"display\", \"none\");\r\n\t}\r\n\r\n\t// 修改应付余额\r\n\tif (orderPrice.payPrice != null) {\r\n\t\tvar curPrice = orderPrice.promotionPrice - orderPrice.cashBack;\r\n\t\tvar prePrice = $(\"#warePriceId\").attr(\"v\") - $(\"#cachBackId\").attr(\"v\");\r\n\t\tif (curPrice > prePrice) {\r\n\t\t\t$(\"#changeAreaAndPrice\").show();\r\n\t\t} else {\r\n\t\t\t$(\"#changeAreaAndPrice\").hide();\r\n\t\t}\r\n\t\t$(\"#warePriceId\").attr(\"v\", orderPrice.promotionPrice);\r\n\t\t$(\"#cachBackId\").attr(\"v\", orderPrice.cashBack);\r\n\r\n\t\t$(\"#payPriceId\").text(\"￥\" + orderPrice.payPrice.toFixed(2));\r\n\t\t$(\"#sumPayPriceId\").text(\"￥\" + orderPrice.payPrice.toFixed(2));\r\n\t}\r\n\r\n\t// 商品总金额\r\n\tif (orderPrice.skuNum != null && orderPrice.skuNum > 0) {\r\n\t\t$(\"#span-skuNum\").text(orderPrice.skuNum);\r\n\t}\r\n\tif (orderPrice.promotionPrice != null) {\r\n\t\t$(\"#warePriceId\").text(\"￥\" + orderPrice.promotionPrice.toFixed(2));\r\n\t\tif($(\".presale-total-money\")){\r\n\t\t\t$(\".presale-total-money\").text(\"￥\" + orderPrice.payPrice.toFixed(2));\r\n\t\t}\r\n\t}\r\n\tif (isFlushSkuList) {\r\n\t\tsave_Pay(0);\r\n\t}\r\n}window.flushOrderPrice=flushOrderPrice;\r\n\r\nfunction flushOrderPriceByCoupon() {\r\n\t// 修改运费\r\n\tif ($(\"#hiddenFreight_coupon\")[0]) {\r\n\t\t$(\"#freightPriceId\").text(\" ￥\" + $(\"#hiddenFreight_coupon\").val());\r\n\t}\r\n\r\n\t// 运费券\r\n\tif($(\"#hiddenCouponDiscount\")[0]) {\r\n\t\t$(\"#freeFreightPriceId\").text(\"-￥\" + $(\"#hiddenFreeFreight_coupon\").val());\r\n\t\tif($(\"#hiddenFreeFreight_coupon\").val() == 0) {\r\n\t\t\t$(\"#showFreeFreight\").css(\"display\", \"none\");\r\n\t\t} else {\r\n\t\t\t$(\"#showFreeFreight\").css(\"display\", \"block\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#showFreeFreight\").css(\"display\", \"none\");\r\n\t}\r\n\t// 修改优惠券结算信息\r\n\tif($(\"#hiddenCouponDiscount\")[0]) {\r\n\t\t// 运费券金额拆分再合并\r\n\t\tvar couponDiscount = $(\"#hiddenCouponDiscount\").val();\r\n\t\tif($(\"#hiddenFreeFreight_coupon\").val() > 0) {\r\n\t\t\tcouponDiscount = eval(parseFloat(couponDiscount) + parseFloat($(\"#hiddenFreeFreight_coupon\").val()));\r\n\t\t}\r\n\t\t$(\"#couponPrice\").text(\" \" + parseFloat(couponDiscount).toFixed(2));\r\n\t\t$(\"#couponPriceId\").text(\"-￥\" + $(\"#hiddenCouponDiscount\").val());\r\n\t\tif($(\"#hiddenCouponDiscount\").val() == 0) {\r\n\t\t\t$(\"#showCouponPrice\").css(\"display\", \"none\");\r\n\t\t} else {\r\n\t\t\t$(\"#showCouponPrice\").css(\"display\", \"block\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#couponPriceId\").css(\"display\", \"none\");\r\n\t}\r\n\r\n\t// 修改礼品卡结算信息\r\n\tif ($(\"#hiddenGiftCardDiscount_coupon\")[0]) {\r\n\t\t$(\"#giftCardPriceId\").text(\"-￥\" + $(\"#hiddenGiftCardDiscount_coupon\").val());\r\n\t\tif ($(\"#hiddenGiftCardDiscount_coupon\").val() == 0) {\r\n\t\t\t$(\"#showGiftCardPrice\").css(\"display\", \"none\");\r\n\t\t} else {\r\n\t\t\t$(\"#showGiftCardPrice\").css(\"display\", \"block\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#showGiftCardPrice\").css(\"display\", \"none\");\r\n\t}\r\n\r\n\t// 修改余额\r\n\tif ($(\"#hiddenUsedBalance_coupon\")[0]) {\r\n\t\t$(\"#usedBalanceId\").text(\"-￥\" + $(\"#hiddenUsedBalance_coupon\").val());\r\n\t\tif ($(\"#hiddenUsedBalance_coupon\").val() == 0) {\r\n\t\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"none\");\r\n\t\t} else {\r\n\t\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"block\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"none\");\r\n\t}\r\n\r\n\t// 修改应付余额\r\n\tif ($(\"#hiddenPayPrice_coupon\")[0]) {\r\n\t\t$(\"#payPriceId\").text(\"￥\" + $(\"#hiddenPayPrice_coupon\").val());\r\n\t\t$(\"#sumPayPriceId\").text(\"￥\" + $(\"#hiddenPayPrice_coupon\").val());\r\n\t}\r\n\tsave_Pay(0);\r\n}\r\n\r\nfunction changeOrderPrice(result) {\r\n\t$(\"#safeLpkPart\").show(); // 显示开启支付密码提示框\r\n\t$(\"#lpk_count\").text(\"0\");// 礼品卡数量\r\n\t$(\"#lpk_discount\").text(\"0.00\"); // 礼品卡列表栏金额\r\n\t$(\"#giftCardPriceId\").text(\"-￥0.00\"); // 商品金额栏的礼品卡金额\r\n\t$(\"#payPriceId\").text(\"￥\" + result.factPrice.toFixed(2));// 实际应付金额\r\n\t$(\"#sumPayPriceId\").text(\"￥\" + result.factPrice.toFixed(2));\r\n\t$(\"#usedBalanceId\").text(\"-￥\" + result.usedBalance.toFixed(2));\r\n\r\n\t// 余额显示变化\r\n\tif (result.usedBalanceFlag) {\r\n\t\t$(\"#selectOrderBalance\").attr(\"checked\", true);\r\n\t\t$(\"#showUsedOrderBalance\").show();\r\n\t\tcheckBalancePwdResult(BALANCE_PWD_TYPE);\r\n\t} else {\r\n\t\t$(\"#selectOrderBalance\").attr(\"checked\", false);\r\n\t\t$(\"#showUsedOrderBalance\").hide();\r\n\t}\r\n\tsave_Pay(0);\r\n}\r\n\r\nfunction changeGiftCardState(result) {\r\n\t$(\"#lpk_count\").text(result.giftCardNum);\r\n\t$(\"#lpk_discount\").text(result.giftCardPrice.toFixed(2));\r\n\t$(\"input[id^='lpkItem_']\").each(function() {\r\n\t\tvar cardId = $(this).attr(\"id\").split(\"_\")[1];\r\n\t\t$(this).attr(\"checked\", false); // 是否勾选\r\n\t\t$(\"#lpkCurUsed_\" + cardId).html(\"0.00\");\r\n\t});\r\n\tif (result.giftCardInfoViewList != null && result.giftCardInfoViewList.length > 0) {\r\n\t\t$.each(result.giftCardInfoViewList, function(i, giftCardInfo) { // 重置礼品卡列表\r\n\t\t\t$(\"#lpkItem_\" + giftCardInfo.id).attr(\"checked\", true); // 是否勾选\r\n\t\t\t$(\"#lpkCurUsed_\" + giftCardInfo.id).text(giftCardInfo.curUsedMoney.toFixed(2));\r\n\t\t\t$(\"#lpkBalance_\" + giftCardInfo.id).text(giftCardInfo.balance.toFixed(2));\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * 填充结算页面余额相关的金额信息\r\n */\r\nfunction changeBalanceState(result) {\r\n\t$(\"#payPriceId\").text(\"￥\" + result.payPrice.toFixed(2));// 实际应付金额\r\n\t$(\"#sumPayPriceId\").text(\"￥\" + result.payPrice.toFixed(2));// 实际应付金额\r\n\t$(\"#canUsedBalanceId\").text(\"使用余额（账户当前余额：\" + result.leaveBalance.toFixed(2) + \"元）\"); // 剩余可用余额\r\n\t$(\"#usedBalanceId\").text(\"-￥\" + result.usedBalance.toFixed(2)); // 使用的余额\r\n\t$(\"#selectOrderBalance\").attr(\"checked\", result.checked);\r\n\tif (result.usedBalance > 0) {\r\n\t\t$(\"#showUsedOrderBalance\").show();\r\n\t} else {\r\n\t\t$(\"#showUsedOrderBalance\").hide();\r\n\t}\r\n\tsave_Pay(0);\r\n}\r\n\r\n/**\r\n * 重置所有优惠券不可用\r\n */\r\nfunction cancelAllUsedCoupons() {\r\n\t$(\"input[id^='coupon_']\").each(function() {\r\n\t\t$(this).attr(\"disabled\", true);\r\n\t\tif ($(this).is(':checked')) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n\tvar param = addFlowTypeParam();\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/cancelAllUsedCoupons.action\";\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(result) {\r\n\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\tshowMessageError(message);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t$(\"#\" + OrderAppConfig.Module_Coupon).html(result);\r\n\t\t\t$(\"#safeJingPart\").show();\r\n\t\t\tentityCouponInputEventInit();\r\n\t\t\t$(\"input[type=checkbox][id^='coupon_']\").each(function() {\r\n\t\t\t\t$(this).attr(\"disabled\", true);\r\n\t\t\t});\r\n\t\t\tflushOrderPriceByCoupon();\r\n\t\t}\r\n\t});\r\n}window.cancelAllUsedCoupons = cancelAllUsedCoupons;\r\n\r\n/**\r\n * 是否需要支付密码\r\n */\r\nfunction isNeedPaymentPassword() {\r\n\t$(\"#txt_paypassword\").val(\"\");\r\n\tvar param = addFlowTypeParam();\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/order/isNeedPaymentPassword.action\";\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(flag) {\r\n\t\t\tif (isUserNotLogin(flag)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(flag)) {\r\n\t\t\t\tvar message = getMessage(flag);\r\n\t\t\t\tshowMessageError(message);\r\n\t\t\t\treturn;\r\n\t\t\t} else {\r\n\t\t\t\tif (flag) {\r\n\t\t\t\t\t$(\"#paypasswordPanel\").show();\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(\"#paypasswordPanel\").hide();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}window.isNeedPaymentPassword = isNeedPaymentPassword;\r\n\r\n/**\r\n * 改变优惠券、礼品卡样式\r\n */\r\nfunction changeClassStyle(classId, classStyle) {\r\n\t$(\"#\" + classId).removeClass();\r\n\t$(\"#\" + classId).addClass(classStyle);\r\n}window.changeClassStyle = changeClassStyle;\r\n\r\n/**\r\n * 是否显示 输入实体券密码框\r\n */\r\nfunction showEntityPanel() {\r\n\tif ($(\"#entityPanel\")[0]) {\r\n\t\tif ($(\"#entityPanel\").css(\"display\") == \"none\") {\r\n\t\t\t$(\"#entityPanel\").css(\"display\", \"block\");\r\n\t\t} else {\r\n\t\t\t$(\"#entityPanel\").css(\"display\", \"none\");\r\n\t\t}\r\n\t}\r\n}window.showEntityPanel = showEntityPanel;\r\n\r\n/** ***************************************************礼品卡******************************************** */\r\n\r\n/**\r\n * 礼品卡输入事件\r\n */\r\nfunction lipinkaInputEventInit(giftCardType) {\r\n\tvar orderGiftCardModule = OrderAppConfig.Module_GiftCard;\r\n\tif (giftCardType == 3) {\r\n\t\torderGiftCardModule = OrderAppConfig.Module_GiftECard;\r\n\t}\r\n\r\n\t$(\"#\" + orderGiftCardModule + \" .itxt\").keyup(function() {\r\n\t\tvar $this = $(this);\r\n\t\t$this.val($this.val().replace(/[^a-zA-Z0-9]/g, '').toUpperCase());\r\n\t\t$this.val($this.val().replace('O', '0'));\r\n\t\tif ($this.val().length == 4 && $this.attr('id') != 'lpkKeyPressForth-' + giftCardType) {\r\n\t\t\t$this.next().next().focus();\r\n\t\t}\r\n\t});\r\n}window.lipinkaInputEventInit = lipinkaInputEventInit;\r\n\r\n/**\r\n * 实体优惠券输入事件 FIXME 对实体券输入没有生效，事件绑定错误。没有线上bug提出来，所以是否需要修改，等上级指示。 DYY\r\n */\r\nfunction entityCouponInputEventInit() {\r\n\t$(\"#entityPanel .itxt\").keyup(function() {\r\n\t\tvar $this = $(this);\r\n\t\t$this.val($this.val().replace(/[^a-zA-Z0-9]/g, '').toUpperCase());\r\n\t\t$this.val($this.val().replace('O', '0'));\r\n\t\tif ($this.val().length == 4 && $this.attr('id') != 'couponKeyPressFourth') {\r\n\t\t\t$this.next().next().focus();\r\n\t\t}\r\n\t});\r\n}window.entityCouponInputEventInit = entityCouponInputEventInit;\r\n\r\nfunction query_giftCards(giftCardType) {\r\n\tvar giftCardProxyId = giftCardId;\r\n\tvar orderGiftCardProxyItem = orderGiftCardItem;\r\n\tvar orderGiftCardModule = OrderAppConfig.Module_GiftCard;\r\n\tif (giftCardType == 3) {\r\n\t\tgiftCardProxyId = giftECardId;\r\n\t\torderGiftCardProxyItem = orderGiftECardItem;\r\n\t\torderGiftCardModule = OrderAppConfig.Module_GiftECard;\r\n\t}\r\n\r\n\tvar flag = $(\"#\" + giftCardProxyId).attr('class') == \"toggle-wrap hide\";\r\n\tif (flag) {// 显示礼品卡列表\r\n\t\tvar param = \"giftCardParam.giftCardType=\" + giftCardType;\r\n\t\tparam = addFlowTypeParam(param);\r\n\t\tvar url = OrderAppConfig.DynamicDomain + \"/giftCard/getGiftCardList.action\";\r\n\t\tjQuery.ajax({\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"text\",\r\n\t\t\turl : url,\r\n\t\t\tdata : param,\r\n\t\t\tasync : true,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(result) {\r\n\t\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\t\tshowMessageError(message);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcheckPaymentPasswordSafe(LPK_PWD_TYPE, giftCardType);\r\n\t\t\t\t\t// 显示礼品卡样式\r\n\t\t\t\t\t$(\"#\" + giftCardProxyId).css('display', 'block');\r\n\t\t\t\t\tchangeClassStyle(giftCardProxyId, toggleWrap);\r\n\r\n\t\t\t\t\tchangeClassStyle(orderGiftCardProxyItem, itemToggleActive);\r\n\t\t\t\t\t$(\"#\" + giftCardProxyId + \" \" + \"#\" + orderGiftCardModule).html(result);\r\n\t\t\t\t\tlipinkaInputEventInit(giftCardType); // 礼品卡输入KEY限制\r\n\t\t\t\t}\r\n\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t//alert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// 使用礼品卡时，关闭优惠券列表\r\n\t\t// 隐藏优惠券列表\r\n\t\tcouponTip();\r\n\t\t// $(\"#\" + orderCouponId).css('display', 'none');\r\n\t\t// 优惠券隐藏样式\r\n\t\t// changeClassStyle(giftCardProxyId, toggleWrapHide);\r\n\t\t// changeClassStyle(orderGiftCardProxyItem, item);\r\n\t} else {\r\n\t\t// 隐藏礼品卡列表\r\n\t\t// 隐藏礼品卡样式\r\n\t\t$(\"#\" + giftCardProxyId).css(\"display\", \"none\");\r\n\t\tchangeClassStyle(giftCardProxyId, toggleWrapHide);\r\n\t\tchangeClassStyle(orderGiftCardProxyItem, item);\r\n\t}\r\n\r\n}window.query_giftCards = query_giftCards;\r\n/**\r\n * 检查礼品卡安 如果使用礼品卡，必须开启支付密码\r\n */\r\nfunction checkUsedGiftCardsPwd(type, giftCardType) {\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/checkFundsPwdResult.action\";\r\n\tvar param = \"couponParam.fundsPwdType=\" + type;\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(flag) {\r\n\t\t\tif (isUserNotLogin(flag)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (!flag) {\r\n\t\t\t\t// 账户不安全，设置所有礼品卡不可用\r\n\t\t\t\tcancelAllUsedGiftCards(giftCardType);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}window.checkUsedGiftCardsPwd = checkUsedGiftCardsPwd;\r\n\r\n/**\r\n * 选择礼品卡\r\n * \r\n * @param obj\r\n * @param bindFlag\r\n * @param key\r\n * @param id\r\n */\r\nfunction selectGiftCard(obj, key, id, giftCardType) {\r\n\tvar checked = obj.checked;\r\n\tif (checked) {\r\n\t\tuseOrCancelGiftCard(OrderAppConfig.DynamicDomain + \"/giftCard/useGiftCard.action\", key, obj, checked, false, giftCardType);\r\n\t} else {\r\n\t\tuseOrCancelGiftCard(OrderAppConfig.DynamicDomain + \"/giftCard/cancelGiftCard.action\", id, obj, checked, false, giftCardType);\r\n\t}\r\n}window.selectGiftCard = selectGiftCard;\r\n\r\n/**\r\n * 添加礼品卡\r\n */\r\nfunction addGiftCard(obj, giftCardType) {\r\n\tif ($(\"#lpkKeyPressFirst\" + \"-\" + giftCardType).val() == \"\" || $(\"#lpkKeyPressSecond\" + \"-\" + giftCardType).val() == \"\"\r\n\t\t\t|| $(\"#lpkKeyPressThird\" + \"-\" + giftCardType).val() == \"\" || $(\"#lpkKeyPressForth\" + \"-\" + giftCardType).val() == \"\") {\r\n\t\tif (giftCardType == 3) {\r\n\t\t\tshowMessageWarn(\"请输入京东E卡密码\");\r\n\t\t} else {\r\n\t\t\tshowMessageWarn(\"请输入京东卡密码\");\r\n\t\t}\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar param = \"couponParam.fundsPwdType=GiftCard\";\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/checkFundsPwdResult.action\";\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(flag) {\r\n\t\t\tif (isUserNotLogin(flag)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (flag) {\r\n\t\t\t\tvar key = $(\"#lpkKeyPressFirst\" + \"-\" + giftCardType).val() + \"-\" + $(\"#lpkKeyPressSecond\" + \"-\" + giftCardType).val() + \"-\"\r\n\t\t\t\t\t+ $(\"#lpkKeyPressThird\" + \"-\" + giftCardType).val() + \"-\" + $(\"#lpkKeyPressForth\" + \"-\" + giftCardType).val();\r\n\t\t\t\tuseOrCancelGiftCard(OrderAppConfig.DynamicDomain + \"/giftCard/useMaterialGiftCard.action\", key, obj, false, true, giftCardType);\r\n\t\t\t} else {\r\n\t\t\t\tshowLargeMessage(\"支付密码未开启\", \"为保障您的账户资金安全，请先开启支付密码\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n}window.addGiftCard = addGiftCard;\r\n\r\n/**\r\n * 使用或者取消礼品卡\r\n * \r\n * @param url\r\n * @param key\r\n * @param obj\r\n * @param checked\r\n * @param bindFlag\r\n */\r\nfunction useOrCancelGiftCard(url, key, obj, checked, bindFlag, giftCardType) {\r\n\tvar param = \"giftCardParam.giftCardType=\" + giftCardType + \"&giftCardKey=\" + key + \"&fundsPwdtype=\" + LPK_PWD_TYPE;\r\n\tvar orderGiftCardModule = OrderAppConfig.Module_GiftCard;\r\n\tvar giftCardProxyId = giftCardId;\r\n\tvar orderGiftCardProxyItem = orderGiftCardItem;\r\n\tvar giftCardTypeName = \"京东卡\";\r\n\tif (giftCardType == 3) {\r\n\t\tgiftCardProxyId = giftECardId;\r\n\t\torderGiftCardProxyItem = orderGiftECardItem;\r\n\t\torderGiftCardModule = OrderAppConfig.Module_GiftECard;\r\n\t\tgiftCardTypeName = \"京东E卡\";\r\n\t}\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(result) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (result == false || result == \"false\") {\r\n\t\t\t\t// 隐藏礼品卡列表\r\n\t\t\t\t// 隐藏礼品卡样式\r\n\t\t\t\t$(\"#\" + giftCardProxyId).css(\"display\", \"none\");\r\n\t\t\t\tchangeClassStyle(giftCardProxyId, toggleWrapHide);\r\n\t\t\t\tchangeClassStyle(orderGiftCardProxyItem, item);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\talert(message);\r\n\t\t\t\tif (checked == true) {\r\n\t\t\t\t\t$(obj).attr(\"checked\", false);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(obj).attr(\"checked\", true);\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tcheckPaymentPasswordSafe(LPK_PWD_TYPE, giftCardType);\r\n\t\t\t$(\"#\" + orderGiftCardModule).html(result);\r\n\t\t\tchangeOrderInfoPrice(giftCardType);\r\n\t\t\tisNeedPaymentPassword();// 是否需要支付密码\r\n\t\t\tif (bindFlag && ($(\"#hiddenBindFlag\" + \"-\" + giftCardType).val() == \"true\")) {\r\n\r\n\t\t\t\tif (confirm(\"密码正确！是否将该\" + giftCardTypeName + \"绑定至当前账号？\")) {\r\n\t\t\t\t\tbindGiftCard(key, giftCardType); // 异步判断是否绑定成功\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlipinkaInputEventInit(giftCardType); // 礼品卡输入KEY限制\r\n\t\t}\r\n\t});\r\n}window.useOrCancelGiftCard=useOrCancelGiftCard;\r\n\r\nfunction changeOrderInfoPrice(giftCardType) {\r\n\t// 已优惠的礼品卡金额\r\n\tif ($(\"#hiddenGiftCardDiscount\" + \"-\" + giftCardType)[0]) {\r\n\t\t$(\"#giftCardPriceId\").text(\"-￥\" + $(\"#hiddenGiftCardDiscount\" + \"-\" + giftCardType).val());\r\n\t\tif ($(\"#hiddenGiftCardDiscount\" + \"-\" + giftCardType).val() > 0) {\r\n\t\t\t$(\"#showGiftCardPrice\").show();\r\n\t\t} else {\r\n\t\t\t$(\"#showGiftCardPrice\").hide();\r\n\t\t}\r\n\t}\r\n\r\n\t// 余额\r\n\tif ($(\"#hiddenUsedBalance\" + \"-\" + giftCardType)[0]) {\r\n\t\t$(\"#usedBalanceId\").text(\"-￥\" + $(\"#hiddenUsedBalance\" + \"-\" + giftCardType).val());\r\n\t\tif ($(\"#hiddenUsedBalance\" + \"-\" + giftCardType).val() > 0) {\r\n\t\t\t$(\"#showUsedOrderBalance\").show();\r\n\t\t} else {\r\n\t\t\t$(\"#showUsedOrderBalance\").hide();\r\n\t\t}\r\n\t}\r\n\r\n\t// 实际应付金额\r\n\tif ($(\"#hiddenPayPrice\" + \"-\" + giftCardType)[0]) {\r\n\t\t$(\"#payPriceId\").text(\"￥\" + $(\"#hiddenPayPrice\" + \"-\" + giftCardType).val());\r\n\t\t$(\"#sumPayPriceId\").text(\"￥\" + $(\"#hiddenPayPrice\" + \"-\" + giftCardType).val());\r\n\t}\r\n\tsave_Pay(0);\r\n}window.changeOrderInfoPrice = changeOrderInfoPrice;\r\n/**\r\n * 绑定礼品卡\r\n */\r\nfunction bindGiftCard(key, giftCardType) {\r\n\tvar param = \"giftCardParam.giftCardType=\" + giftCardType + \"&giftCardKey=\" + key;\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/giftCard/bindGiftCard.action\";\r\n\r\n\tvar orderGiftCardModule = OrderAppConfig.Module_GiftCard;\r\n\tif (giftCardType == 3) {\r\n\t\torderGiftCardModule = OrderAppConfig.Module_GiftECard;\r\n\t}\r\n\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(result) {\r\n\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\talert(message);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t$(\"#\" + orderGiftCardModule).html(result);\r\n\t\t\tisNeedPaymentPassword();// 是否需要支付密码\r\n\t\t\tlipinkaInputEventInit(giftCardType); // 礼品卡输入KEY限制\r\n\t\t}\r\n\t});\r\n}window.bindGiftCard = bindGiftCard;\r\n\r\n/**\r\n * 重置所有礼品卡不可用\r\n */\r\nfunction cancelAllUsedGiftCards(giftCardType) {\r\n\t$(\"input[type=checkbox][id^='lpkItem_']\").each(function() {\r\n\t\t$(this).attr(\"disabled\", true);\r\n\t\tif ($(this).is(\":checked\")) {\r\n\t\t}\r\n\t});\r\n\r\n\tvar orderGiftCardModule = OrderAppConfig.Module_GiftCard;\r\n\tif (giftCardType == 3) {\r\n\t\torderGiftCardModule = OrderAppConfig.Module_GiftECard;\r\n\t}\r\n\r\n\t// 发请求取消所有礼品卡的使用\r\n\tvar param = \"giftCardParam.giftCardType=\" + giftCardType;\r\n\tparam = addFlowTypeParam(param);\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/giftCard/cancelAllGiftCard.action\";\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(result) {\r\n\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\tshowMessageError(message);\r\n\t\t\t\t$(\"input[type=checkbox][id^='lpkItem_']\").attr(\"disabled\", false);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t$(\"#\" + orderGiftCardModule).html(result);\r\n\t\t\t$(\"input[type=checkbox][id^='lpkItem_']\").each(function() {\r\n\t\t\t\t$(this).attr(\"disabled\", true);\r\n\t\t\t});\r\n\t\t\t$(\"#safeLpkPart\" + \"-\" + giftCardType).show();\r\n\t\t\tchangeOrderInfoPrice(giftCardType);\r\n\t\t\tlipinkaInputEventInit(giftCardType); // 礼品卡输入KEY限制\r\n\t\t}\r\n\t});\r\n}window.cancelAllUsedGiftCards = cancelAllUsedGiftCards;\r\n/** ***************************************************余额******************************************** */\r\n\r\nfunction useOrCancelBalance(obj) {\r\n\tvar url = \"\";\r\n\tvar flag = $(obj).is(':checked') ? 1 : 0;\r\n\r\n\tif (flag) {\r\n\t\turl = OrderAppConfig.DynamicDomain + \"/balance/useBalance.action\";\r\n\t} else {\r\n\t\turl = OrderAppConfig.DynamicDomain + \"/balance/cancelBalance.action\";\r\n\t}\r\n\tvar param = \"fundsPwdType=\" + BALANCE_PWD_TYPE;\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(result) {\r\n\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isHasMessage(result)) {\r\n\t\t\t\tvar message = getMessage(result);\r\n\t\t\t\talert(message);\r\n\t\t\t\tif (flag == 1) {\r\n\t\t\t\t\t$(obj).attr(\"checked\", false);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(obj).attr(\"checked\", true);\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t} else if (result != null && result == false) {\r\n\t\t\t\t// 开启支付密码接口失败\r\n\t\t\t\tcancelUsedBalance();\r\n\t\t\t} else if (result != null && result != false) {\r\n\t\t\t\tchangeBalanceState(result);\r\n\t\t\t\tisNeedPaymentPassword();// 是否需要支付密码\r\n\t\t\t\tif ($(\"#selectOrderBalance\").is(\":checked\")) { // 余额被使用时，验证是否安全\r\n\t\t\t\t\tcheckBalancePwdResult(BALANCE_PWD_TYPE);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}window.useOrCancelBalance = useOrCancelBalance;\r\n// ****************************************************订单页面相关****************************************************************\r\n\r\n/**\r\n * 加载页面异步相关信息\r\n */\r\nfunction loadOrderExt() {\r\n\tvar actionUrl = OrderAppConfig.AsyncDomain + \"/obtainOrderExt.action\";\r\n\tvar param = addFlowTypeParam();\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t// 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\tvar message = getMessage(dataResult);\r\n\t\t\t\tshowMessageError(message);\r\n\t\t\t}\r\n\t\t\t// ===============3.备注==============\r\n\t\t\tif (dataResult.showOrderRemark) {\r\n\t\t\t\tshowOrderRemark();\r\n\t\t\t}\r\n\t\t\t// ===============4.是否需要支付密码==============\r\n\t\t\tif (dataResult.needPayPwd) {\r\n\t\t\t\t$(\"#paypasswordPanel\").show();\r\n\t\t\t} else {\r\n\t\t\t\t$(\"#paypasswordPanel\").hide();\r\n\t\t\t}\r\n\r\n\t\t\t// ==================5.加载余额==================\r\n\t\t\tif (dataResult.balance.success) {\r\n\t\t\t\tvar useFlag = dataResult.balance.checked;\r\n\t\t\t\t$(\"#selectOrderBalance\").attr(\"checked\", useFlag);\r\n\t\t\t\t$(\"#canUsedBalanceId\").text(\"使用余额（账户当前余额：\" + dataResult.balance.leavyMoney.toFixed(2) + \"元）\");\r\n\t\t\t\tif (dataResult.balance.leavyMoney > 0) {\r\n\t\t\t\t\t$('#balance-div .toggler').click();\r\n          $('#selectOrderBalance').removeAttr('disabled');\r\n\t\t\t\t} else {\r\n          $('#selectOrderBalance').attr('disabled','disabled');\r\n        }\r\n\t\t\t\t// 验证余额是否开启支付密码\r\n\t\t\t\tif (dataResult.showOpenPayPwd) {\r\n\t\t\t\t\tcancelUsedBalance();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// 京豆优惠购是否足额和京豆优惠购商品id\r\n\t\t\tvar showOpenPayPwd = dataResult.showOpenPayPwd;\r\n\t\t\tvar existsJdbeanPromotion = dataResult.existsJdbeanPromotion;\r\n\t\t\tvar checkJdbeanPromotion = dataResult.checkJdbeanPromotion;\r\n\t\t\t// 成功后如果有divID直接放入div，没有则返回结果\r\n\t\t\tcheckShowOpenPwd(showOpenPayPwd, existsJdbeanPromotion, checkJdbeanPromotion);\r\n\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 加载商品清单库存状态数据\r\n */\r\nfunction loadSkuListStockData(states) {\r\n\t$(\".p-inventory\").each(function() {\r\n\t\tvar skuId = $(this).attr(\"skuId\");\r\n\t\tif (states != null && states.length > 0) {\r\n\t\t\tfor (var i = 0; i < states.length; i++) {\r\n\t\t\t\tvar state = states[i];\r\n\t\t\t\tif (state.skuId == skuId) {\r\n\t\t\t\t\tvar info;\r\n\t\t\t\t\tswitch (state.stockStateId) {\r\n\t\t\t\t\tcase 33:\r\n\t\t\t\t\t\tinfo = \"有货\";\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 34:\r\n\t\t\t\t\t\tinfo = \"<span style='color:#e4393c'>无货</span>\";\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 36:\r\n\t\t\t\t\t\tinfo = \"预订\";\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 39:\r\n\t\t\t\t\t\tinfo = \"有货\";\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 40:\r\n\t\t\t\t\t\tinfo = \"有货\";\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tinfo = \"<span style='color:#e4393c'>无货</span>\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$(this).html(info);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t$(this).html(\"有货\");\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 获取库存状态:从cookie里获取地址\r\n */\r\nfunction getAreaLocationId() {\r\n\t// LOC流程\r\n\tif ($(\"#flowType\").val() == \"1\") {\r\n\t\treturn \"0-0-0\";\r\n\t}\r\n\tvar locationId = jQuery.jCookie(\"ipLoc-djd\");\r\n\tif (locationId == null || locationId.length == 0) {\r\n\t\tlocationId = \"1-0-0\";\r\n\t}\r\n\treturn locationId;\r\n}\r\n\r\n/**\r\n * 获取库存状态:获取所有商品\r\n */\r\nfunction getAllSkuListId() {\r\n\tvar allSkuListId = \"\";\r\n\tvar mainSkuIdAndNums = $(\"#mainSkuIdAndNums\").val();\r\n\tif (mainSkuIdAndNums != null && mainSkuIdAndNums != \"\") {\r\n\t\tvar mainSkuIdAndNumsAry = mainSkuIdAndNums.split(\",\");\r\n\t\tif (mainSkuIdAndNumsAry != null && mainSkuIdAndNumsAry.length > 0) {\r\n\t\t\tfor (var i = 0; i < mainSkuIdAndNumsAry.length - 1; i++) {\r\n\t\t\t\tif (mainSkuIdAndNumsAry[i] != null && mainSkuIdAndNumsAry[i] != \"\") {\r\n\t\t\t\t\tvar skuAndNumAry = mainSkuIdAndNumsAry[i].split(\"_\");\r\n\t\t\t\t\tif (i == 0) {\r\n\t\t\t\t\t\tallSkuListId += skuAndNumAry[0];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tallSkuListId += \",\" + skuAndNumAry[0];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn allSkuListId;\r\n}\r\n\r\n/**\r\n * 异步加载商品清单库存状态\r\n */\r\nfunction loadSkuListStock() {\r\n\tvar locationId = getAreaLocationId();\r\n\tvar ids = getAllSkuListId();\r\n\tvar actionUrl = OrderAppConfig.SkusStockStateUrl + \"/querySkusStockState.action?locationId=\" + locationId + \"&ids=\" + ids + \"&rd=\" + Math.random();\r\n\tjQuery.ajax({\r\n\t\ttype : \"get\",\r\n\t\tdataType : \"jsonp\",\r\n\t\turl : actionUrl,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult) {\r\n\t\t\tvar states = dataResult;\r\n\t\t\t// 成功后如果有divID直接放入div，没有则返回结果\r\n\t\t\tloadSkuListStockData(states);\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t});\r\n}window.loadSkuListStock=loadSkuListStock;\r\n\r\nfunction loadSkuList() {\r\n\tvar actionUrl = OrderAppConfig.AsyncDomain + \"/loadSkuList.action\";\r\n\tvar param = addFlowTypeParam();\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t// 服务器返回异常处理,如果有消息div则放入,没有则弹出\r\n\t\t\tif (isHasMessage(dataResult)) {\r\n\t\t\t\tvar message = getMessage(dataResult);\r\n\t\t\t\talert(message);\r\n\t\t\t}\r\n\t\t\tif (dataResult.success) {\r\n\t\t\t\t$(\"#span-skulist\").html(dataResult.skuList);\r\n\t\t\t\tloadSkuListStock();\r\n\t\t\t\tshowTangJiuSkuIcon();// 加载Icon\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * 添加备注\r\n */\r\nfunction selectRemark(obj) {\r\n\tif ($(\"#remarkId\").attr(\"class\") == toggleWrapHide) {\r\n\t\t$(\"#remarkId\").removeClass();\r\n\t\t$(\"#remarkId\").addClass(\"toggle-wrap\");\r\n\t\tchangeClassStyle(\"orderRemarkItem\", itemToggleActive);\r\n\t\tif ($(\"#remarkText\").val() == \"\") {\r\n\t\t\t$(\"#remarkText\").val(\"限45个字\");\r\n\t\t}\r\n\t} else {\r\n\t\t$(\"#remarkId\").removeClass();\r\n\t\t$(\"#remarkId\").addClass(\"toggle-wrap hide\");\r\n\t\tchangeClassStyle(\"orderRemarkItem\", item);\r\n\t}\r\n}\r\n\r\n/**\r\n * 订单页面余额\r\n */\r\nfunction loadOrderBalance() {\r\n\tif (!$(\"#selectOrderBalance\").is(\":checked\")) {\r\n\t\tvar actionUrl = OrderAppConfig.AsyncDomain + \"/isShowOrderBalance.action\";\r\n\t\tvar param = addFlowTypeParam();\r\n\t\tjQuery.ajax({\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"json\",\r\n\t\t\turl : actionUrl,\r\n\t\t\tdata : param,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(result, textStatus) {\r\n\t\t\t\t// 没有登录跳登录\r\n\t\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (result.resultFlag) {\r\n\t\t\t\t\tvar useFlag = result.checked;\r\n\t\t\t\t\t$(\"#selectOrderBalance\").attr(\"checked\", useFlag);\r\n\t\t\t\t\t$(\"#canUsedBalanceId\").text(\"使用余额（账户当前余额：\" + result.leavyMoney.toFixed(2) + \"元）\");\r\n\t\t\t\t\tif (result.leavyMoney > 0) {\r\n\t\t\t\t\t\t$(\"#showOrderBalance\").css(\"display\", \"block\");\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$(\"#showOrderBalance\").css(\"display\", \"none\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcheckBalancePwdResult(BALANCE_PWD_TYPE);// 验证余额是否开启支付密码\r\n\t\t\t\t}\r\n\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * 显示订单备注\r\n */\r\nfunction showOrderRemark() {\r\n  var remarkTemplate = \"<div class='remark-tit'>添加订单备注</div>\"\r\n    + \"<div id='remarkId' style='margin-bottom:7px'>\"\r\n    + \"  <div class='form remark-cont'>\"\r\n    + \"    <input type='text' id='remarkText' maxlength='45' size='15' class='itxt itxt01' placeholder='限45个字'\" \r\n    + \"      onblur=\" + \"\\\"\" + \"if(this.value==''||this.value=='限45个字'){this.value='限45个字';this.style.color='#cccccc'}\" \r\n    + \"\\\"\" + \"onfocus=\" + \"\\\"\" + \"if(this.value=='限45个字') {this.value='';};this.style.color='#000000';\" \r\n    + \"\\\"\" + \"  />  \" \r\n    + \"    <span class='ftx-03 ml10'>&nbsp;&nbsp;提示：请勿填写有关支付、收货、发票方面的信息</span>\"\r\n    + \"  </div>\" \r\n    + \"</div>\";\r\n  $(\"#orderRemarkItem\").show();\r\n  $(\"#orderRemarkItem\").html(remarkTemplate);\r\n  // fix bug EXEX-68\r\n  // $('.remark-tit').bind('click',function(){\r\n  //   if($('#remarkId').is(\":hidden\")) {\r\n  //     $('#remarkId').show();\r\n  //   } else {\r\n  //     $('#remarkId').hide();\r\n  //   }\r\n  // });\r\n}\r\n\r\n/**\r\n * 是否显示订单备注\r\n */\r\nfunction loadOrderRemark() {\r\n\tvar actionUrl = OrderAppConfig.AsyncDomain + \"/isShowOrderRemark.action\";\r\n\tvar param = addFlowTypeParam();\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(result, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (result == true) {\r\n\t\t\t\tshowOrderRemark();\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t});\r\n\r\n}window.loadOrderRemark=loadOrderRemark;\r\n\r\nfunction editOrderRemark(obj) {\r\n\tif ($(obj).val() == \"限15个字\") {\r\n\t\t$(obj).val(\"\");\r\n\t}\r\n}\r\n\r\n\r\n// 判断是否加载验证码\r\nfunction showCheckCode() {\r\n  var showCheckCode = $(\"#showCheckCode\").val();\r\n  var encryptClientInfo = $(\"#encryptClientInfo\").val();\r\n  if (showCheckCode == \"true\") {\r\n    refreshCheckCode(encryptClientInfo);\r\n  }\r\n}\r\n\r\n/**\r\n * 获取验证码模版\r\n * \r\n * @returns {String}\r\n */\r\nfunction getCheckCodeTemplate(encryptClientInfo) {\r\n\tvar rid = Math.random().toString() + \"_\" + Math.random().toString();\r\n\tvar checkCodeUrl = \"http://captcha.jd.com/verify/image?acid=\" + rid + \"&srcid=trackWeb&is=\" + encryptClientInfo;\r\n\treturn \"<span class='identifying-code'>\" + \"<img id='orderCheckCodeImg' src='\" + checkCodeUrl + \"' onclick='getNextCheckCode()' \"\r\n\t\t\t+ \"alt='点击更换验证码' title='点击更换验证码' style='display:inline;cursor:pointer;border:#ebcca0 1px solid;' />\"\r\n\t\t\t+ \"<input id='checkcodeTxt' type='text' style='height: 34px; width: 70px; margin: 0px 5px; padding-left: 2px; font-weight: bold; font-size: large;' />\"\r\n\t\t\t+ \"<input id='checkcodeRid' type='hidden' value='\" + rid + \"' />\" \r\n\t\t\t+ \"<input id='encryptClientInfo' type='hidden' value='\" + encryptClientInfo + \"' />\"\r\n\t\t\t+ \"</span>\";\r\n}\r\n\r\n/**\r\n * 显示下一张验证码\r\n * \r\n * @param obj\r\n */\r\nfunction getNextCheckCode() {\r\n\tvar obj = document.getElementById(\"orderCheckCodeImg\");\r\n\tvar rid = Math.random().toString() + \"_\" + Math.random().toString();\r\n\tvar encryptClientInfo = $(\"#encryptClientInfo\").val();\r\n\r\n\tvar checkCodeUrl = \"http://captcha.jd.com/verify/image?acid=\" + rid + \"&srcid=trackWeb&is=\" + encryptClientInfo;\r\n\r\n\tobj.src = checkCodeUrl;\r\n\t$(\"#checkcodeRid\").val(rid);\r\n\t$('#checkcodeTxt').val(\"\");\r\n}window.getNextCheckCode = getNextCheckCode;\r\n\r\n/**\r\n * 刷新验证码\r\n */\r\nfunction refreshCheckCode(encryptClientInfo) {\r\n\tif (isEmpty($(\"#checkCodeDiv\").html())) {\r\n\t\t$(\"#checkCodeDiv\").html(getCheckCodeTemplate(encryptClientInfo));\r\n\t} else {\r\n\t\tgetNextCheckCode();\r\n\t}\r\n}\r\n\r\n/**\r\n * 是否展开配收货人\r\n */\r\nfunction isNewUser() {\r\n\tif (checkIsNewUser()) {\r\n\t\tif (isLocBuy()) {\r\n\t\t\tedit_LocConsignee();\r\n\t\t} else {\r\n\t\t\tuse_NewConsignee();\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * 检查是否是新用户\r\n * \r\n * @returns {Boolean}\r\n */\r\nfunction checkIsNewUser() {\r\n\tvar val = $(\"#isOpenConsignee\").val();\r\n\tif (val != undefined && (val == 1 || val == \"1\")) {\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n}window.checkIsNewUser=checkIsNewUser;\r\n\r\n/**\r\n * 是否刷新地址，针对轻松购\r\n * \r\n * @return\r\n */\r\nfunction isRefreshArea() {\r\n\tvar val = $(\"#isRefreshArea\").val();\r\n\tif (val != undefined && (val == 1 || val == \"1\")) {\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\n/**\r\n * 大家电换区逻辑\r\n */\r\nfunction isBigItemChange() {\r\n\tif ($(\"#isChangeItemByArea\").val() === \"true\") {\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n}window.isBigItemChange=isBigItemChange;\r\n\r\n/**\r\n * 是否含有糖酒\r\n */\r\nfunction hasTang9() {\r\n\tif ($(\"#hasTang9\").val() == \"true\" || $(\"#hasTang9\").val() == true) {\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n}window.hasTang9=hasTang9;\r\n\r\n/**\r\n * 提交订单方法\r\n */\r\nfunction submit_Order() {\r\n\t$(\"#submit_message\").hide();\r\n\tjQuery.ajax( {\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : \"/service/order/submit\",\r\n\t\tdata : $(\"#orderForm\").serialize(),\r\n\t\tcache : false,\r\n\t\tsuccess : function(result) {\r\n\t\t\tif(result.status == 200){\r\n\t\t\t\tlocation.href = \"/order/success.html?id=\"+result.data;\r\n\t\t\t}else{\r\n\t\t\t\t$(\"#submit_message\").html(\"订单提交失败，请稍后重试...\").show();\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(error) {\r\n\t\t\t$(\"#submit_message\").html(\"亲爱的用户请不要频繁点击, 请稍后重试...\").show();\r\n\t\t}\r\n\t});\r\n}\r\nwindow.submit_Order = submit_Order;\r\n//function submit_Order() {\r\n//\tvar actionUrl = OrderAppConfig.Domain + \"/order/submitOrder.action\";\r\n//\tvar checkcodeTxt = null;\r\n//\tvar checkCodeRid = null;\r\n//\tvar payPassword = null;\r\n//\tvar remark = null;\r\n//\tvar trackID = null;\r\n//\tvar mobileForPresale = null;\r\n//\tvar presalePayType = null;\r\n//\tvar param = \"\";\r\n//\t// 检查如果存在没保存，则直接弹到锚点\r\n//\tif (!$(\"#submit_check_info_message\").is(\":hidden\")) {\r\n//\t\tvar anchor = $(\"#anchor_info\").val();\r\n//\t\twindow.location.hash = anchor;\r\n//\t\treturn;\r\n//\t}\r\n//\t// 验证是否输入验证码\r\n//\tif (!isEmpty($(\"#checkCodeDiv\").html())) {\r\n//\t\tcheckcodeTxt = $(\"#checkcodeTxt\").val();\r\n//\t\tif (isEmpty(checkcodeTxt)) {\r\n//\t\t\talert(\"请先填写验证码!\");\r\n//\t\t\treturn;\r\n//\t\t}\r\n//\t}\r\n//\t// 验证码的随机码\r\n//\tif (!isEmpty($(\"#checkCodeDiv\").html())) {\r\n//\t\tcheckCodeRid = $(\"#checkcodeRid\").val();\r\n//\t}\r\n//\t// 验证是否输入支付密码\r\n//\tif (!$(\"#paypasswordPanel\").is(\":hidden\")) {\r\n//\t\tpayPassword = $(\"#txt_paypassword\").val();\r\n//\t\tif (isEmpty(payPassword)) {\r\n//\t\t\talert(\"请先填写支付密码\");\r\n//\t\t\treturn;\r\n//\t\t}\r\n//\t}\r\n//\r\n//\t// 预售验证手机号\r\n//\tif ($(\"#isPresale\").val() == \"true\") {\r\n//\t\tif ($(\"#presaleStepPay\").val() == \"3\") { // 定金支付\r\n//\t\t\tpresalePayType = 2;\r\n//\t\t} else if ($(\"#presaleStepPay\").val() == \"1\") {// 全款支付\r\n//\t\t\tpresalePayType = 1;\r\n//\t\t} else {\r\n//\t\t\tif ($(\"#AllPayRadio\").prop(\"checked\") == true) {\r\n//\t\t\t\tpresalePayType = 1;\r\n//\t\t\t} else {\r\n//\t\t\t\tpresalePayType = 2;\r\n//\t\t\t}\r\n//\t\t}\r\n//\t\tif (presalePayType == 2) {// 定金支付必须要手机号码\r\n//\t\t\tif (check_presaleMobile()) {\r\n//\t\t\t\tif ($(\"#presaleMobile input\").size() > 0) {\r\n//\t\t\t\t\tmobileForPresale = $(\"#presaleMobile input\").val();\r\n//\t\t\t\t\tif(mobileForPresale.indexOf(\"*\") > -1){\r\n//\t\t\t\t\t\treturn false;\r\n//\t\t\t\t\t}\r\n//\t\t\t\t} else {\r\n//\t\t\t\t\tmobileForPresale = $(\"#userMobileByPresale\").html();\r\n//\t\t\t\t}\r\n//\t\t\t} else {\r\n//\t\t\t\talert(\"请您先输入有效的预售手机号\");\r\n//\t\t\t\treturn;\r\n//\t\t\t}\r\n//\t\t}\r\n//\t\tif ($(\"#presaleEarnest\").prop(\"checked\") != true) {\r\n//\t\t\talert(\"请您同意交付定金\");\r\n//\t\t\treturn;\r\n//\t\t}\r\n//\t}\r\n//\r\n//\t// 获取订单备注\r\n//\tif (!isEmpty($(\"#orderRemarkItem\").html())) {\r\n//\t\tremark = $(\"#remarkText\").val();\r\n//\t\tif (remark == \"限45个字\"){\r\n//\t\t\tremark = \"\";\r\n//\t\t}\r\n//\t\telse{\r\n//\t\t\tif(!is_forbid(remark)){alert('订单备注中含有非法字符'); return ;}\r\n//\t\t}\r\n//\t}\r\n//\r\n//\tif (!isEmpty(checkcodeTxt)) {\r\n//\t\tparam = param + \"submitOrderParam.checkcodeTxt=\" + checkcodeTxt;\r\n//\t}\r\n//\r\n//\tif (!isEmpty(checkCodeRid)) {\r\n//\t\tparam = param + \"&submitOrderParam.checkCodeRid=\" + checkCodeRid;\r\n//\t}\r\n//\tif (!isEmpty(payPassword)) {\r\n//\t\tparam = param + \"&submitOrderParam.payPassword=\" + encodeURIComponent(stringToHex(payPassword));\r\n//\t}\r\n//\tif (!isEmpty(remark)) {\r\n//\t\tparam = param + \"&submitOrderParam.remark=\" + remark;\r\n//\t}\r\n//\tif (!isEmpty($(\"#sopNotPutInvoice\").val())) {\r\n//\t\tparam = param + \"&submitOrderParam.sopNotPutInvoice=\" + $(\"#sopNotPutInvoice\").val();\r\n//\t} else {\r\n//\t\tparam = param + \"&submitOrderParam.sopNotPutInvoice=\" + false;\r\n//\t}\r\n//\tif (!isEmpty(mobileForPresale)) {\r\n//\t\tparam = param + \"&submitOrderParam.presaleMobile=\" + mobileForPresale;\r\n//\t}\r\n//\tif (null != presalePayType) {\r\n//\t\tparam = param + \"&submitOrderParam.presalePayType=\" + presalePayType;\r\n//\t}\r\n//\tif (isGiftBuy()) {\r\n//\t\tvar hidePrice = false;\r\n//\t\tif (!$(\"#giftBuyHidePriceDiv\").is(\":hidden\")) {\r\n//\t\t\thidePrice = $(\"#giftBuyHidePrice\").is(\":checked\");\r\n//\t\t}\r\n//\t\tparam = param + \"&submitOrderParam.giftBuyHidePrice=\" + hidePrice;\r\n//\t}\r\n//\tvar indexFlag = param.substring(0, 1);\r\n//\tif (indexFlag == \"&\") {\r\n//\t\tparam = param.substring(1, param.length);\r\n//\t}\r\n//\tparam = addFlowTypeParam(param);\r\n//\t// 提交loading\r\n//\t$('body').append(\"<div id='submit_loading' class='purchase-loading'><div class='loading-cont'></div></div>\");\r\n//\tjQuery.ajax({\r\n//\t\ttype : \"POST\",\r\n//\t\tdataType : \"json\",\r\n//\t\turl : actionUrl,\r\n//\t\tdata : param,\r\n//\t\tcache : false,\r\n//\t\tsuccess : function(result) {\r\n//\t\t\t// 没有登录跳登录\r\n//\t\t\tif (isUserNotLogin(result)) {\r\n//\t\t\t\tgoToLogin();\r\n//\t\t\t\treturn;\r\n//\t\t\t}\r\n//\t\t\tif (result.success) {\r\n//\t\t\t\t// 跳订单中心列表\r\n//\t\t\t\tif (result.goJumpOrderCenter) {\r\n//\t\t\t\t\tsuccessUrl = \"http://order.jd.com/center/list.action\";\r\n//\t\t\t\t\t// 等待拆单，定时450毫秒\r\n//\t\t\t\t\twindow.setTimeout('window.location.href=successUrl+\"?rd=\"+Math.random();', 450);\r\n//\t\t\t\t\treturn;\r\n//\r\n//\t\t\t\t} else {\r\n//\t\t\t\t\tsuccessUrl = \"http://s.trade.jd.com/success/success.action\";\r\n//\t\t\t\t\twindow.location.href = successUrl + \"?orderId=\" + result.orderId + \"&rid=\" + Math.random();\r\n//\t\t\t\t\treturn;\r\n//\t\t\t\t}\r\n//\r\n//\t\t\t} else {\r\n//\t\t\t\tif (result.message != null) {\r\n//\t\t\t\t\tif (result.message.indexOf(\"商品无货\") != -1 && !isLocBuy()) {\r\n//\t\t\t\t\t\tvar outSkus = result.noStockSkuIds;\r\n//\t\t\t\t\t\t// 对无货商品的处理\r\n//\t\t\t\t\t\tshowSubmitErrorMessage(result.message);\r\n//\t\t\t\t\t\tif (!isEmpty(outSkus)) {\r\n//\t\t\t\t\t\t\tif (isLipinkaPhysical()) {\r\n//\t\t\t\t\t\t\t\treturn;\r\n//\t\t\t\t\t\t\t}\r\n//\t\t\t\t\t\t\twindow.location.href = cartUrl + '?outSkus=' + outSkus + '&rid=' + Math.random();\r\n//\t\t\t\t\t\t\treturn;\r\n//\t\t\t\t\t\t}\r\n//\t\t\t\t\t} else if (result.message.indexOf(\"收货人信息中的省市县选择有误\") != -1) {\r\n//\t\t\t\t\t\tvar consigneeId = $(\"#consignee_id\").val();\r\n//\t\t\t\t\t\t//consigneeList(consigneeId);\r\n//\t\t\t\t\t\t$(\"#submit_loading\").remove();\r\n//\t\t\t\t\t\tshowSubmitErrorMessage(\"亲爱的用户，由于地址已经升级，请重新选择！\");\r\n//\t\t\t\t\t} else if (result.message.indexOf(\"由于订单金额较大\") != -1) {\r\n//\t\t\t\t\t\t$(\"#submit_loading\").remove();\r\n//\t\t\t\t\t\tshowSubmitErrorMessage(result.message);\r\n//\t\t\t\t\t\treturn;\r\n//\t\t\t\t\t} else if (result.message.indexOf(\"验证码不正确\") != -1) {\r\n//\t\t\t\t\t\t$(\"#submit_loading\").remove();\r\n//\t\t\t\t\t\tshowSubmitErrorMessage(result.message);\r\n//\t\t\t\t\t\tgetNextCheckCode();// 刷新验证码\r\n//\t\t\t\t\t\treturn;\r\n//\t\t\t\t\t} else if (result.message.indexOf(\"正在参与预售活动\") != -1) {\r\n//\t\t\t\t\t\tvar a = result.message.indexOf(\"您购买的商品\");\r\n//\t\t\t\t\t\tvar b = result.message.indexOf(\"正在参与预售活动\");\r\n//\t\t\t\t\t\tvar outSkus = result.message.substring(a + 6, b);\r\n//\t\t\t\t\t\tif (!isEmpty(outSkus)) {\r\n//\t\t\t\t\t\t\tvar tmpHtml = \"\";\r\n//\t\t\t\t\t\t\tvar skuList = outSkus.split(\",\");\r\n//\t\t\t\t\t\t\tfor (var i = 0; i < skuList.length; i++) {\r\n//\t\t\t\t\t\t\t\ttmpHtml = tmpHtml + \"<a target=\\\"_parent\\\" href=\\\"http://item.jd.com/\" + skuList[i] + \".html\\\">\" + skuList[i] + \"</a>,\";\r\n//\t\t\t\t\t\t\t}\r\n//\t\t\t\t\t\t\ttmpHtml = tmpHtml.substring(0, tmpHtml.length - 1);\r\n//\t\t\t\t\t\t\tresult.message = \"您购买的商品\" + tmpHtml + \"正在参与预售活动,请进入商品详情页单独购买\";\r\n//\t\t\t\t\t\t}\r\n//\t\t\t\t\t\t$(\"#submit_loading\").remove();\r\n//\t\t\t\t\t\tshowSubmitErrorMessage(result.message);\r\n//\t\t\t\t\t} else {\r\n//\t\t\t\t\t\t$(\"#submit_loading\").remove();\r\n//\t\t\t\t\t\tshowSubmitErrorMessage(result.message);\r\n//\t\t\t\t\t\treturn;\r\n//\t\t\t\t\t}\r\n//\t\t\t\t} else {\r\n//\t\t\t\t\t$(\"#submit_loading\").remove();\r\n//\t\t\t\t\tshowSubmitErrorMessage(\"亲爱的用户请不要频繁点击, 请稍后重试...\");\r\n//\t\t\t\t\treturn;\r\n//\t\t\t\t}\r\n//\t\t\t}\r\n//\t\t},\r\n//\t\terror : function(error) {\r\n//\t\t\t$(\"#submit_loading\").remove();\r\n//\t\t\tshowSubmitErrorMessage(\"亲爱的用户请不要频繁点击, 请稍后重试...\");\r\n//\t\t}\r\n//\t});\r\n//}window.submit_Order = submit_Order;\r\n\r\n/**\r\n* 展示提交错误提示<p>\r\n* 延时清除提交错误信息\r\n*/\r\nfunction showSubmitErrorMessage(message) {\r\n\t$(\"#submit_message\").html(message);\r\n\t$(\"#submit_message\").show().css('top',($(\"#submit_message\").height()+2)*-1);\r\n\tsetTimeout(function(){\r\n\t\t$(\"#submit_message\").hide();\r\n\t}, 8000);\r\n}\r\n\r\n/**\r\n * \r\n * 加密数据为unicode\r\n * \r\n */\r\nfunction stringToHex(str){\r\n\tvar val=\"\";\r\n\tfor(var i = 0; i < str.length; i++){\r\n\t\tval += \"u\" + str.charCodeAt(i).toString(16);\r\n\t}\r\n\treturn val;\r\n}\r\n\r\n\r\n/**\r\n * 使用以旧换新逻辑\r\n * \r\n * @return\r\n */\r\nfunction useOldRepalceNew() {\r\n\tvar isReplace = false;\r\n\tif ($(\"#oldReplaceNew:checked\").size() > 0) {\r\n\t\tisReplace = true;\r\n\t} else {\r\n\t\tisReplace = false;\r\n\t}\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : OrderAppConfig.AsyncDomain + \"/useOldReplaceNew.action\",\r\n\t\tdata : addFlowTypeParam(\"isReplace=\" + isReplace),\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(dataResult)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t$(\"#span-skulist\").html(dataResult);\r\n\t\t\tvar orderPrice = eval(\"(\" + $(\"#orderPriceInSkuList\").val() + \")\");\r\n\t\t\t// 修改优惠券结算信息\r\n\t\t\tif (orderPrice.couponDiscount != null) {\r\n\t\t\t\t$(\"#couponPriceId\").text(\"-￥\" + orderPrice.couponDiscount.toFixed(2));\r\n\t\t\t\tif (orderPrice.couponDiscount == 0) {\r\n\t\t\t\t\t$(\"#showCouponPrice\").css(\"display\", \"none\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(\"#showCouponPrice\").css(\"display\", \"block\");\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t$(\"#couponPriceId\").css(\"display\", \"none\");\r\n\t\t\t}\r\n\r\n\t\t\t// 修改礼品卡结算信息\r\n\t\t\tif (orderPrice.giftCardDiscount != null) {\r\n\t\t\t\t$(\"#giftCardPriceId\").text(\"-￥\" + orderPrice.giftCardDiscount.toFixed(2));\r\n\t\t\t\tif (orderPrice.giftCardDiscount == 0) {\r\n\t\t\t\t\t$(\"#showGiftCardPrice\").css(\"display\", \"none\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(\"#showGiftCardPrice\").css(\"display\", \"block\");\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t$(\"#showGiftCardPrice\").css(\"display\", \"none\");\r\n\t\t\t}\r\n\r\n\t\t\t// 修改余额\r\n\t\t\tif (orderPrice.usedBalance != null) {\r\n\t\t\t\t$(\"#usedBalanceId\").text(\"-￥\" + orderPrice.usedBalance.toFixed(2));\r\n\t\t\t\tif (orderPrice.usedBalance == 0) {\r\n\t\t\t\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"none\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"block\");\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t$(\"#showUsedOrderBalance\").css(\"display\", \"none\");\r\n\t\t\t}\r\n\r\n\t\t\t// 修改应付余额\r\n\t\t\tif (orderPrice.payPrice != null) {\r\n\t\t\t\t$(\"#payPriceId\").text(\"￥\" + orderPrice.payPrice.toFixed(2));\r\n\t\t\t\t$(\"#sumPayPriceId\").text(\"￥\" + orderPrice.payPrice.toFixed(2));\r\n\r\n\t\t\t}\r\n\t\t\t// 商品总金额\r\n\t\t\tif (orderPrice.promotionPrice != null) {\r\n\t\t\t\t$(\"#warePriceId\").text(\"￥\" + orderPrice.promotionPrice.toFixed(2));\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/** *********************************************有货先发****************************************************** */\r\n\r\n/**\r\n * 大家电换区\r\n * \r\n * @return\r\n */\r\nfunction bigItemChangeArea() {\r\n\tvar actionUrl = OrderAppConfig.AsyncDomain + \"/isBigItemChangeArea.action\";\r\n\tvar param = addFlowTypeParam();\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\tif (dataResult.resultFlag) {\r\n\t\t\t\tif (dataResult.message) {\r\n\t\t\t\t\talert(dataResult.message);\r\n\t\t\t\t} else {\r\n\t\t\t\t\talert(\"请注意：根据您最新的收货地址，您购物车中的商品或价格发生了变化！\");\r\n\t\t\t\t}\r\n\t\t\t\tbigItemGoOrder();\r\n\t\t\t} else {\r\n\t\t\t\tif (dataResult.message) {\r\n\t\t\t\t\talert(dataResult.message);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t});\r\n}window.bigItemChangeArea=bigItemChangeArea;\r\n\r\n/**\r\n * 糖酒换区\r\n * \r\n * @return\r\n */\r\nfunction tang9ChangeArea() {\r\n\tvar actionUrl = OrderAppConfig.AsyncDomain + \"/tang9ChangeArea.action\";\r\n\tvar param = addFlowTypeParam();\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\tif (dataResult.resultFlag) {\r\n\t\t\t\tif (dataResult.message) {\r\n\t\t\t\t\talert(dataResult.message);\r\n\t\t\t\t} else {\r\n\t\t\t\t\talert(\"请注意：根据您最新的收货地址，您购物车中的商品或价格发生了变化！\");\r\n\t\t\t\t}\r\n\t\t\t\tgoOrder();\r\n\t\t\t} else {\r\n\t\t\t\tif (dataResult.message) {\r\n\t\t\t\t\talert(dataResult.message);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t});\r\n}window.tang9ChangeArea=tang9ChangeArea;\r\n\r\n/** *********************************************京豆****************************************************** */\r\n/**\r\n * 京豆支付展开关闭\r\n */\r\nfunction showOrHideJdBean() {\r\n\tif ($(\"#orderBeanItem\").hasClass(\"toggle-active\")) {\r\n\t\t$(\"#orderBeanItem\").removeClass(\"toggle-active\");\r\n\t\t$(\"#jdBeans\").hide();\r\n\t} else {\r\n\t\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/jdbean/getJdBean.action\";\r\n\t\tvar params = addFlowTypeParam();\r\n\t\tjQuery.ajax({\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"html\",\r\n\t\t\tdata : params,\r\n\t\t\turl : actionUrl,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(result) {\r\n\t\t\t\t// 没有登录跳登录\r\n\t\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t$(\"#orderBeanItem\").addClass(\"toggle-active\");\r\n\t\t\t\t$(\"#jdBeans\").html(result);\r\n\t\t\t\tflushOrderPrice(eval(\"(\" + $(\"#jdBeanOrderPrice\").val() + \")\"), true);\r\n\t\t\t\t$(\"#jdBeans\").show();\r\n\t\t\t\tvar param = \"couponParam.fundsPwdType=JdBean\";\r\n\t\t\t\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/checkFundsPwdResult.action\";\r\n\t\t\t\tparam = addFlowTypeParam(param);\r\n\t\t\t\tjQuery.ajax({\r\n\t\t\t\t\ttype : \"POST\",\r\n\t\t\t\t\tdataType : \"json\",\r\n\t\t\t\t\turl : url,\r\n\t\t\t\t\tdata : param,\r\n\t\t\t\t\tasync : true,\r\n\t\t\t\t\tcache : false,\r\n\t\t\t\t\tsuccess : function(flag) {\r\n\t\t\t\t\t\tif (!flag) {\r\n\t\t\t\t\t\t\tif ($(\"#usedJdBean\").length > 0) {\r\n\t\t\t\t\t\t\t\t// 取消京豆\r\n\t\t\t\t\t\t\t\tuseJdBean(0);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t$(\"#jdBean-safe-tip\").show();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\nwindow.showOrHideJdBean = showOrHideJdBean;\r\n/**\r\n * 取消使用京豆，不展开京豆选项\r\n */\r\nfunction cancelJdBeanWithoutOpen() {\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/jdbean/useJdBean.action\";\r\n\tvar param = \"jdBeanParam.usedJdBean=0\";\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"html\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(result) {\r\n\t\t\tflushOrderPrice(eval(\"(\" + $(\"#jdBeanOrderPrice\").val() + \")\"), true);\r\n\t\t\tisNeedPaymentPassword();// 是否需要支付密码\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t});\r\n}window.cancelJdBeanWithoutOpen=cancelJdBeanWithoutOpen;\r\n/**\r\n * 使用京豆\r\n */\r\nfunction useJdBean(jdbean) {\r\n\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/jdbean/useJdBean.action\";\r\n\tvar param = \"jdBeanParam.usedJdBean=\" + jdbean;\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"html\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(result) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t$(\"#orderBeanItem\").addClass(\"toggle-active\");\r\n\t\t\t$(\"#jdBeans\").html(result);\r\n\t\t\t$(\"#jdBeans\").show();\r\n\t\t\tflushOrderPrice(eval(\"(\" + $(\"#jdBeanOrderPrice\").val() + \")\"), true);\r\n\t\t\tisNeedPaymentPassword();// 是否需要支付密码\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t});\r\n}window.useJdBean=useJdBean;\r\n\r\n/**\r\n * 京豆使用取消修改\r\n * \r\n * @return\r\n */\r\nfunction useCancelEditJdBean(jdbean, rate, cancel) {\r\n\tif (jdbean < 0 || (cancel && $(\"#showUsedJdBean:visible\").length == 0)) {\r\n\t\treturn;\r\n\t}\r\n\t// 取消使用京豆，不用校验支付密码开启状态\r\n\tif (cancel) {\r\n\t\tuseJdBean(0);\r\n\t} else {// 使用京豆，先校验支付密码开启状态\r\n\t\tvar param = \"couponParam.fundsPwdType=JdBean\";\r\n\t\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/checkFundsPwdResult.action\";\r\n\t\tparam = addFlowTypeParam(param);\r\n\t\tjQuery.ajax({\r\n\t\t\ttype : \"POST\",\r\n\t\t\tdataType : \"json\",\r\n\t\t\turl : url,\r\n\t\t\tdata : param,\r\n\t\t\tasync : true,\r\n\t\t\tcache : false,\r\n\t\t\tsuccess : function(flag) {\r\n\t\t\t\tif (isUserNotLogin(flag)) {\r\n\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (flag) {\r\n\t\t\t\t\t$(\"#jdBean-safe-tip\").hide();\r\n\t\t\t\t\tuseJdBean(jdbean);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowLargeMessage(\"支付密码未开启\", \"为保障您的账户资金安全，请先开启支付密码\");\r\n\t\t\t\t\t$(\"#jdBean-safe-tip\").show();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}window.useCancelEditJdBean = useCancelEditJdBean;\r\n\r\n/** ******************************免注册下单开始******************************** */\r\nfunction sendMobileCode() {\r\n\tvar mobile = $(\"#consignee_mobile\").val();\r\n\r\n\tif (!checkMobilePhone()) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t$(\"#sendMobileCodeBtn\").attr(\"disabled\", \"disabled\");\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : OrderAppConfig.DynamicDomain + \"/order/sendMobileCode.action\",\r\n\t\tdata : \"consigneeWithoutRegistParam.mobile=\" + mobile,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult) {\r\n\t\t\tif (dataResult.success) {\r\n\t\t\t\t$(\"#call_div_error\").hide();\r\n\t\t\t\t$(\"#call_div\").removeClass(\"message\");\r\n\t\t\t\t// 倒计时\r\n\t\t\t\t$(\"#sendMobileCodeBtn\").attr(\"disabled\", \"disabled\");\r\n\t\t\t\t$(\"#sendMobileCodeBtn\").val(\"120秒后重新获取\");\r\n\t\t\t\tsetTimeout(countDown, 1000);\r\n\r\n\t\t\t} else {\r\n\t\t\t\tvar errorMessage = dataResult.message;\r\n\t\t\t\tif (errorMessage.indexOf(\"已注册\") > -1) {\r\n\t\t\t\t\terrorMessage = errorMessage + \"，<a href='https://passport.jd.com/new/login.aspx?ReturnUrl=http%3A%2F%2Fcart.jd.com%2Fcart%2Fcart.html' >立即登录</a>\";\r\n\t\t\t\t}\r\n\t\t\t\t$(\"#call_div_error\").html(errorMessage);\r\n\t\t\t\t$(\"#call_div_error\").show();\r\n\t\t\t\t$(\"#call_div\").addClass(\"message\");\r\n\t\t\t\t$(\"#sendMobileCodeBtn\").attr(\"disabled\", \"\");\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction checkMobilePhone() {\r\n\tvar mobile = $(\"#consignee_mobile\").val();\r\n\tvar checkFlag = true;\r\n\tvar reg = /^1[3|4|5|8]\\d{9}/;\r\n\tvar errorMessage = \"\";\r\n\tif (isEmpty(mobile)) {\r\n\t\terrorMessage = \"请输入手机号\";\r\n\t\tcheckFlag = false;\r\n\t} else {\r\n\t\tif (mobile.match(reg) == null) {\r\n\t\t\tcheckFlag = false;\r\n\t\t\terrorMessage = \"手机号格式错误\";\r\n\t\t}\r\n\t}\r\n\tif (!checkFlag) {\r\n\t\t$(\"#call_div_error\").html(errorMessage);\r\n\t\t$(\"#call_div_error\").show();\r\n\t\t$(\"#call_div\").addClass(\"message\");\r\n\t} else {\r\n\t\t$(\"#call_div_error\").hide();\r\n\t\t$(\"#call_div\").removeClass(\"message\");\r\n\t}\r\n\treturn checkFlag;\r\n}\r\n\r\n/**\r\n * 发送验证码倒计时\r\n * \r\n * @return\r\n */\r\nfunction countDown() {\r\n\tvar text = $(\"#sendMobileCodeBtn\").val();\r\n\tvar secondTxt = text.substring(0, text.indexOf(\"秒\"));\r\n\tvar second = parseInt(secondTxt);\r\n\tif (second <= 0) {\r\n\t\t$(\"#sendMobileCodeBtn\").attr(\"disabled\", \"\");\r\n\t\t$(\"#sendMobileCodeBtn\").val(\"获取验证码\");\r\n\t} else {\r\n\t\tsecond--;\r\n\t\t$(\"#sendMobileCodeBtn\").val(second + \"秒后重新获取\");\r\n\t\tsetTimeout(countDown, 1000);\r\n\t}\r\n}\r\n\r\nfunction checkMobileCode() {\r\n\tvar code = $(\"#mobileCode\").val();\r\n\tif (isEmpty(code)) {\r\n\t\t$(\"#mobileCode_div_error\").html(\"验证失败，请核对手机号和验证码，必要时重新获取\");\r\n\t\t$(\"#mobileCode_div\").addClass(\"message\");\r\n\t\treturn;\r\n\t}\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : OrderAppConfig.DynamicDomain + \"/order/checkMobileCode.action\",\r\n\t\tdata : \"consigneeWithoutRegistParam.code=\" + code,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult) {\r\n\t\t\tif (dataResult) {\r\n\t\t\t\t$(\"#mobileCode_div_success\").show();\r\n\t\t\t\t$(\"#mobileCode_div_error\").hide();\r\n\t\t\t\t$(\"#mobileCode_div\").removeClass(\"message\");\r\n\t\t\t} else {\r\n\t\t\t\t$(\"#mobileCode_div_success\").hide();\r\n\t\t\t\t$(\"#mobileCode_div_error\").html(\"验证失败，请核对手机号和验证码，必要时重新获取\");\r\n\t\t\t\t$(\"#mobileCode_div_error\").show();\r\n\t\t\t\t$(\"#mobileCode_div\").addClass(\"message\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t});\r\n}\r\nfunction save_ConsigneeWithoutRegister() {\r\n\t// 普通地址\r\n\tvar consignee_id = 0;\r\n\tvar consignee_type = 1;\r\n\tvar consignee_provinceId = null;\r\n\tvar consignee_cityId = null;\r\n\tvar consignee_countyId = null;\r\n\tvar consignee_townId = null;\r\n\tvar consignee_name = null;\r\n\tvar consignee_email = \"\";\r\n\tvar consignee_address = null;\r\n\tvar consignee_mobile = null;\r\n\tvar consignee_phone = \"\";\r\n\tvar consignee_provinceName = null;\r\n\tvar consignee_cityName = null;\r\n\tvar consignee_countyName = null;\r\n\tvar consignee_townName = null;\r\n\tvar isUpdateCommonAddress = 0;\r\n\tvar mobileCode = \"\";\r\n\r\n\tconsignee_provinceId = $(\"#consignee_province\").find(\"option:selected\").val();\r\n\tconsignee_cityId = $(\"#consignee_city\").find(\"option:selected\").val();\r\n\tconsignee_countyId = $(\"#consignee_county\").find(\"option:selected\").val();\r\n\tconsignee_townId = $(\"#consignee_town\").find(\"option:selected\").val();\r\n\tconsignee_provinceName = $(\"#consignee_province\").find(\"option:selected\").text().replace(\"*\", \"\");\r\n\tconsignee_cityName = $(\"#consignee_city\").find(\"option:selected\").text().replace(\"*\", \"\");\r\n\tconsignee_countyName = $(\"#consignee_county\").find(\"option:selected\").text().replace(\"*\", \"\");\r\n\tif (!$(\"#span_town\").is(\":hidden\")) {\r\n\t\tconsignee_townName = $(\"#consignee_town\").find(\"option:selected\").text().replace(\"*\", \"\");\r\n\t}\r\n\r\n\tconsignee_name = $(\"#consignee_name\").val();\r\n\tconsignee_address = $(\"#consignee_address\").val();\r\n\tconsignee_mobile = $(\"#consignee_mobile\").val();\r\n\tmobileCode = $(\"#mobileCode\").val();\r\n\tvar checkConsignee = true;\r\n\t// 验证收货人信息是否正确\r\n\tif (!check_Consignee(\"name_div\")) {\r\n\t\tcheckConsignee = false;\r\n\t}\r\n\t// 验证地区是否正确\r\n\tif (!check_Consignee(\"area_div\")) {\r\n\t\tcheckConsignee = false;\r\n\t}\r\n\t// 验证收货人地址是否正确\r\n\tif (!check_Consignee(\"address_div\")) {\r\n\t\tcheckConsignee = false;\r\n\t}\r\n\t// 验证手机号码是否正确\r\n\tif (!checkMobilePhone()) {\r\n\t\tcheckConsignee = false;\r\n\t}\r\n\tif (isEmpty(mobileCode)) {\r\n\t\t$(\"#mobileCode_div_success\").hide();\r\n\t\t$(\"#mobileCode_div_error\").html(\"验证失败，请核对手机号和验证码，必要时重新获取\");\r\n\t\t$(\"#mobileCode_div_error\").show();\r\n\t\t$(\"#mobileCode_div\").addClass(\"message\");\r\n\t\tcheckConsignee = false;\r\n\t}\r\n\tif (!checkConsignee) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar param = \"consigneeWithoutRegistParam.id=\" + consignee_id + \"&consigneeWithoutRegistParam.type=\" + consignee_type + \"&consigneeWithoutRegistParam.name=\"\r\n\t\t\t+ consignee_name + \"&consigneeWithoutRegistParam.provinceId=\" + consignee_provinceId + \"&consigneeWithoutRegistParam.cityId=\" + consignee_cityId\r\n\t\t\t+ \"&consigneeWithoutRegistParam.countyId=\" + consignee_countyId + \"&consigneeWithoutRegistParam.townId=\" + consignee_townId\r\n\t\t\t+ \"&consigneeWithoutRegistParam.address=\" + consignee_address + \"&consigneeWithoutRegistParam.mobile=\" + consignee_mobile\r\n\t\t\t+ \"&consigneeWithoutRegistParam.email=\" + consignee_email + \"&consigneeWithoutRegistParam.phone=\" + consignee_phone\r\n\t\t\t+ \"&consigneeWithoutRegistParam.provinceName=\" + consignee_provinceName + \"&consigneeWithoutRegistParam.cityName=\" + consignee_cityName\r\n\t\t\t+ \"&consigneeWithoutRegistParam.countyName=\" + consignee_countyName + \"&consigneeWithoutRegistParam.townName=\" + consignee_townName\r\n\t\t\t+ \"&consigneeWithoutRegistParam.isUpdateCommonAddress=\" + isUpdateCommonAddress + \"&consigneeWithoutRegistParam.code=\" + mobileCode;\r\n\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : OrderAppConfig.DynamicDomain + \"/order/saveConsigneeWithoutRegist.action\",\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult) {\r\n\t\t\tif (dataResult == null) {\r\n\t\t\t\t$(\"#mobileCode_div_success\").hide();\r\n\t\t\t\t$(\"#mobileCode_div_error\").html(\"验证失败，请核对手机号和验证码，必要时重新获取\");\r\n\t\t\t\t$(\"#mobileCode_div_error\").show();\r\n\t\t\t\t$(\"#mobileCode_div\").addClass(\"message\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (dataResult.success) {\r\n\t\t\t\tgoOrder();\r\n\t\t\t} else {\r\n\t\t\t\tvar errorMessage = dataResult.message;\r\n\t\t\t\tif (errorMessage.indexOf(\"已注册\") > -1) {\r\n\t\t\t\t\terrorMessage = errorMessage + \"，<a href='https://passport.jd.com/new/login.aspx?ReturnUrl=http%3A%2F%2Fcart.jd.com%2Fcart%2Fcart.html'>立即登录</a>\";\r\n\t\t\t\t\t$(\"#call_div_error\").html(errorMessage);\r\n\t\t\t\t\t$(\"#call_div_error\").show();\r\n\t\t\t\t\t$(\"#call_div\").addClass(\"message\");\r\n\t\t\t\t\t$(\"#sendMobileCodeBtn\").attr(\"disabled\", \"\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (errorMessage.indexOf(\"验证失败\") > -1) {\r\n\t\t\t\t\t$(\"#mobileCode_div_success\").hide();\r\n\t\t\t\t\t$(\"#mobileCode_div_error\").html(\"验证失败，请核对手机号和验证码，必要时重新获取\");\r\n\t\t\t\t\t$(\"#mobileCode_div_error\").show();\r\n\t\t\t\t\t$(\"#mobileCode_div\").addClass(\"message\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t//alert(\"系统繁忙，请稍后再试！\");\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction getSkuListWithUuid() {\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : OrderAppConfig.DynamicDomain + \"/order/getSkuList.action\",\r\n\t\tdata : \"\",\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult) {\r\n\t\t\t$(\"#span-skulist\").html(dataResult);\r\n\t\t\t$(\"#sumPayPriceId\").text(\"￥ \" + $(\"#totalFee\").val());\r\n\t\t\t$(\"#payPriceId\").text(\"￥ \" + $(\"#totalFee\").val());\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/** ******************************免注册下单结束******************************** */\r\n\r\n/**\r\n * 是否是实体礼品卡流程\r\n */\r\nfunction isLipinkaPhysical() {\r\n\tvar lpkVal = $(\"#flowType\").val();\r\n\tif (lpkVal == \"4\") {\r\n\t\treturn true;\r\n\t} else {\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\n/**\r\n * 是否是礼品购流程\r\n */\r\nfunction isGiftBuy() {\r\n\tvar giftBuyVal = $(\"#flowType\").val();\r\n\tif (giftBuyVal == \"2\") {\r\n\t\treturn true;\r\n\t} else {\r\n\t\treturn false;\r\n\t}\r\n}window.isGiftBuy=isGiftBuy;\r\n/**\r\n * 是否是礼品购流程\r\n */\r\nfunction isLocBuy() {\r\n\tvar locBuyVal = $(\"#flowType\").val();\r\n\tif (locBuyVal == \"1\") {\r\n\t\treturn true;\r\n\t} else {\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\n/**\r\n * 加载礼品购的“是否隐藏价格”的checkBox,同时改变返回购物车的连接\r\n */\r\nfunction loadGiftBuyHidePrice() {\r\n\tif (isGiftBuy()) {\r\n\t\tcartUrl = \"http://cart.gift.jd.com/cart/cart.html\";\r\n\t\t$(\"#cartRetureUrl\").attr(\"href\", \"http://cart.gift.jd.com/cart/cart.html\");\r\n\t\t$(\"#cartRetureUrl\").text(\"返回修改礼品购购物车\");\r\n\t\t$(\"#giftBuyHidePriceDiv\").show();\r\n\t\t$(\"#consigneeTitleDiv\").text(\"收礼人信息\");\r\n\t} else {\r\n\t\tcartUrl = \"http://cart.jd.com/cart/cart.html\";\r\n\t\t$(\"#cartRetureUrl\").attr(\"href\", \"http://cart.jd.com/cart/cart.html\");\r\n\t\t$(\"#cartRetureUrl\").text(\"返回修改购物车\");\r\n\t\t$(\"#giftBuyHidePriceDiv\").hide();\r\n\t\t$(\"#consigneeTitleDiv\").text(\"收货人信息\");\r\n\t}\r\n}\r\n\r\nfunction addFlowTypeParam(params) {\r\n\tvar flowType = $(\"#flowType\").val();\r\n\tif (isEmpty(flowType)) {\r\n\t\treturn params;\r\n\t} else {\r\n\t\tif (isEmpty(params)) {\r\n\t\t\treturn \"flowType=\" + flowType;\r\n\t\t} else {\r\n\t\t\treturn params + \"&flowType=\" + flowType;\r\n\t\t}\r\n\t}\r\n}window.addFlowTypeParam=addFlowTypeParam;\r\n\r\n// ------------------------------------------------------------页面出来后异步加载-----------------------------------------------------------\r\n\r\n// 预售结算页 有message提示\r\nif ($(\"#isPresale\").val() == \"true\") {\r\n\t$(\"#submit_check_info_message\").html(\"<span>预售商品定金恕不退换，请同意支付定金</span>\").show();\r\n\t$(\"#order-submit\").prop(\"class\", \"checkout-submit-disabled\");\r\n\t$(\"#presaleEarnest\").bind(\"click\", function() {\r\n\t\tif ($(\"#presaleEarnest\").prop(\"checked\") == true) {\r\n\t\t\t$(\"#submit_check_info_message\").html(\"\").hide();\r\n\t\t\t$(\"#order-submit\").prop(\"class\", \"checkout-submit btn-1\");\r\n\t\t} else {\r\n\t\t\t$(\"#submit_check_info_message\").html(\"<span>预售商品定金恕不退换，请同意支付定金</span>\").show();\r\n\t\t\t$(\"#order-submit\").prop(\"class\", \"checkout-submit-disabled\");\r\n\t\t}\r\n\t});\r\n}\r\n\r\n$(\"#payment-list .payment-item\").each(function() {\r\n\t$(this).bind(\"click\", function() {\r\n\t\tif($(\"#paymentViewHideId\").html()==null){\r\n\t\t\t$(\".payment-item\").removeClass(\"item-selected\");\r\n\t\t\t$(this).addClass(\"item-selected\");\r\n\t\t}\r\n\t});\r\n});\r\n\r\n\r\nvar isUnregister = $(\"#isUnregister\").val();\r\n// 如果不是免注册下单，调用异步服务\r\nif (isUnregister || isUnregister == \"true\") {\r\n\tloadProvinces();\r\n\tgetSkuListWithUuid();\r\n} else {\r\n\t// 大家电换区\r\n\tif (isBigItemChange()) {\r\n\t\tbigItemChangeArea();\r\n\t}\r\n\t// 糖酒\r\n\tif (hasTang9()) {\r\n\t\ttang9ChangeArea();\r\n\t}\r\n\t//isNewUser(); // 新用户展开地址\r\n\t//loadOrderExt();\r\n\t//loadSkuListStock();\r\n\tshowWhiteBar();\r\n\tif (!(checkIsNewUser())){\r\n\t\t//openConsignee();\r\n\t}\r\n\tif (!isLocBuy()) {\r\n\t\t$('#reset_promise_311').val(\"0\");\r\n\t\tcopyFreightHtml();\r\n\t\tshowOrHideFactoryShipCod();\r\n\t\t//showTangJiuSkuIcon();\r\n\t\t/**\r\n\t\t * 异步调用,获取311、411、自提点等信息\r\n\t\t */\r\n\t\t//doAsynGetSkuPayAndShipInfo();\r\n\t\tfreshTips();\r\n\t\tfreshUI();\r\n\t\t//doGetVendorName();\r\n\t\t// 加载验证码\r\n\t\tshowCheckCode();\r\n\t\r\n\t}\r\n\t// 如果是礼品购流程，加载隐藏价格\r\n\tif (isGiftBuy()) {\r\n\t\tloadGiftBuyHidePrice();\r\n\t}\r\n}\r\n\r\n/**\r\n * 修改选中样式\r\n */\r\n(function(win) {\r\n\tvar RadioChecked = function(o) {\r\n\t\tthis.obj = o.obj;\r\n\t\tthis.init();\r\n\t};\r\n\tRadioChecked.prototype = {\r\n\t\tinit : function() {\r\n\t\t\tthis.bindEvent();\r\n\t\t},\r\n\t\tbindEvent : function() {\r\n\t\t\tvar self = this;\r\n\t\t\tself.obj.find('.hookbox').bind('click', function() {\r\n\t\t\t\tself.obj.find('.item-selected').removeClass('item-selected');\r\n\t\t\t\t$(this).parents('.item').addClass('item-selected');\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\twin.radioSelect = function(o) {\r\n\t\tnew RadioChecked(o);\r\n\t};\r\n}(window));\r\n\r\n(function(win) {\r\n\tvar PaymentBank = function(obj, fun) {\r\n\t\tthis.obj = obj;\r\n\t\tthis.fn = fun || function() {\r\n\t\t};\r\n\t\tthis.init();\r\n\t};\r\n\tPaymentBank.prototype = {\r\n\t\tinit : function() {\r\n\t\t\tthis.bindEvent();\r\n\t\t},\r\n\t\tbindEvent : function() {\r\n\t\t\tvar self = this, liNodes = self.obj.find('li');\r\n\t\t\tliNodes.bind('click', function() {\r\n\t\t\t\tliNodes.removeClass('selected');\r\n\t\t\t\t$(this).addClass('selected');\r\n\t\t\t\tself.fn($(this));\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\twin.paymentBank = function(o, fn) {\r\n\t\tnew PaymentBank(o, fn);\r\n\t};\r\n}(this));\r\n\r\nfunction changeCodDate(codDateOffset, isJdOrOther) {\r\n\tvar bigItemInstallInfo = \"\";\r\n\tif (isJdOrOther || isJdOrOther == \"true\") {\r\n\t\tbigItemInstallInfo = $(\"#bigItemInstallDateInfoForJd\").val();\r\n\t} else {\r\n\t\tbigItemInstallInfo = $(\"#bigItemInstallDateInfoForOtherShip\").val();\r\n\t}\r\n\tif (!isEmpty(bigItemInstallInfo)) {\r\n\t\tvar installDateMap = eval('(' + bigItemInstallInfo + ')');\r\n\t\tvar installDateMapHtml = \"<option value=\\\"-1\\\">请选择日期</option>\";\r\n\t\tfor ( var key in installDateMap) {\r\n\t\t\tif (key == codDateOffset) {\r\n\t\t\t\tvar dateListStr = installDateMap[key] + \"\";\r\n\t\t\t\tvar dateList = dateListStr.split(',');\r\n\t\t\t\tfor (var i = 0; i < dateList.length; i++) {\r\n\t\t\t\t\tif (i == 0) {\r\n\t\t\t\t\t\tinstallDateMapHtml += \"<option selected value='\" + dateList[i].split('-')[1] + \"'>\" + dateList[i].split('-')[0] + \"</option>\";\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tinstallDateMapHtml += \"<option value='\" + dateList[i].split('-')[1] + \"'>\" + dateList[i].split('-')[0] + \"</option>\";\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tinstallDateMapHtml += \"<option value=\\\"-2\\\">暂缓安装</option>\";\r\n\t\tif (isJdOrOther || isJdOrOther == \"true\") {\r\n\t\t\t$('#jd-bigItem-install-date').html(installDateMapHtml);\r\n\t\t} else {\r\n\t\t\t$('#other-bigItem-install-date').html(installDateMapHtml);\r\n\t\t}\r\n\t\treturn;\r\n\t}\r\n\r\n\tif ($('#jd-bigItem-install-date').length > 0) {\r\n\t\tvar actionUrl = OrderAppConfig.DynamicDomain + \"/payAndShip/getInstallDateList.action\";\r\n\t\tif (codDateOffset == -1) {\r\n\t\t\t$('#jd-bigItem-install-date').html('<option value=\"-1\">请选择日期</option>');\r\n\t\t} else {\r\n\t\t\tvar param = \"selectedCodDateOffSet=\" + codDateOffset;\r\n\t\t\tparam = addFlowTypeParam(param);\r\n\t\t\tjQuery.ajax({\r\n\t\t\t\ttype : \"POST\",\r\n\t\t\t\turl : actionUrl,\r\n\t\t\t\tdata : param,\r\n\t\t\t\tcache : false,\r\n\t\t\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t\t\t$('#jd-bigItem-install-date').html(dataResult);\r\n\t\t\t\t},\r\n\t\t\t\terror : function(XMLHttpResponse) {\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n/**\r\n * 将payAndShip中的运费弹窗复制到orderInfo中，因为取数据是在payAndShip中，而弹窗必须放到orderInfo最下面，否则会串行\r\n * \r\n * @return\r\n */\r\n\r\nfunction copyFreightHtml() {\r\n\tvar freightHtml = $(\"#payment-ship\").find(\"#transportInPay\").html();\r\n\tif (freightHtml != \"\") {\r\n\t\t$(\"#transport\").html(freightHtml);\r\n\t}\r\n}\r\n\r\nfunction showOrHideFactoryShipCod() {\r\n\tif ($(\"#factoryShipCod\").val() == \"true\") {\r\n\t\t$('#factoryShipCodShowDivBottom').css(\"display\", \"block\");\r\n\t}\r\n}\r\n\r\nfunction showFerightInsure() {\r\n\tvar popVenderIdStr = $(\"#popVenderIdStr\").val();\r\n\tif (popVenderIdStr == \"\") {\r\n\t\treturn;\r\n\t}\r\n\tvar param = \"popVenderIdStr=\" + popVenderIdStr;\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\turl : OrderAppConfig.AsyncDomain + \"/showFerightInsure.action\",\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tdataType : \"json\",\r\n\t\tsuccess : function(dataResult) {\r\n\t\t\tif (dataResult.venderNameList && dataResult.venderNameList.length > 0) {\r\n\t\t\t\tfor (var i = 0; i < dataResult.venderNameList.length; i++) {\r\n\t\t\t\t\tvar tempVenderName = dataResult.venderNameList[i];\r\n\t\t\t\t\tvar arrVenderName = tempVenderName.split(\":\");\r\n\t\t\t\t\t$(\".yfx_div_remark\").each(function() {\r\n\t\t\t\t\t\tif ($(this).attr(\"id\") == arrVenderName[0]) {\r\n\t\t\t\t\t\t\tif (arrVenderName[1] != null && arrVenderName[1] != \"undefined\") {\r\n\t\t\t\t\t\t\t\tvar showVenderName = arrVenderName[1];\r\n\t\t\t\t\t\t\t\tif (arrVenderName[1].length > 16)\r\n\t\t\t\t\t\t\t\t\tshowVenderName = arrVenderName[1].substring(0, 15) + \"...\";\r\n\t\t\t\t\t\t\t\t$(this).html(arrVenderName[1] + \"为您购买了运费险，最高赔付20.00元/单\");\r\n\t\t\t\t\t\t\t\t$(this).parent().parent().show();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t});\r\n}window.showFerightInsure=showFerightInsure;\r\n\r\nfunction showFreight() {\r\n\tvar obj = $(\"#freightSpan\");\r\n\tif ($(\"#transport\").html() != null) {\r\n\t\t$(\"#transport\").css({\r\n\t\t\tposition : \"absolute\",\r\n\t\t\ttop : (obj.offset().top) + \"px\",\r\n\t\t\tleft : (obj.offset().left - 345) + \"px\",\r\n\t\t\tdisplay : \"block\"\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction checkShowOpenPwd(showOpenPayPwd, existsJdbeanPromotion, checkJdbeanPromotion) {\r\n\tif (existsJdbeanPromotion == true) {\r\n\t\tif (showOpenPayPwd == false) {\r\n\t\t\t$(\"#paypasswordPanel\").show();\r\n\t\t\tif (checkJdbeanPromotion == false) {\r\n\t\t\t\t$(\"#submit_message\").html(\"<span>京豆不足,不能使用京豆优惠购,点击<a href='http://cart.jd.com/cart/cart.html?outBean=1'>返回购物车 </a></span> \").show();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t$(\"#submit_message\").html(\r\n\t\t\t\t\t\"<span>为保障您的账户资金安全，京豆暂时不可用，请先<a href='http://safe.jd.com/user/paymentpassword/safetyCenter.action' target='_blank'>开启支付密码 </a></span> \").show();\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction operate_presaleMobile(thisObj) {\r\n\tif ($(\"#presaleMobile input\").size() > 0) {// 点击保存\r\n\t\tvar mobile = $(\"#presaleMobile input\").val();\r\n\t\tif (testMobile(mobile) && mobile.indexOf(\"*\") < 0 ) {\r\n\t\t\t$(\"#presaleMobile\").html(\"<strong class=\\\"phone-num\\\" id=\\\"userMobileByPresale\\\" >\" + mobile + \"</strong></span>\");\r\n\t\t\t$(\"#hiddenUserMobileByPresale\").val(mobile);\r\n\t\t\t$(thisObj).html(\"修改\");\r\n\t\t\t$(\"#cancelOperatePresaleMob\").hide();\r\n\t\t} else {\r\n\t\t\tvar html = \"<input type=\\\"text\\\" class=\\\"itxt error-itxt\\\" maxlength=\\\"11\\\"><span class=\\\"error-msg\\\">请输入正确的手机号</span></span>\";\r\n\t\t\t$(\"#presaleMobile\").html(html);\r\n\t\t}\r\n\t} else {// 点击修改\r\n\t\t$(\"#presaleMobile\").html(\"<input type=\\\"text\\\"  class=\\\"itxt focus-itxt\\\" maxlength=\\\"11\\\"/>\");\r\n\t\t$(\"#presaleMobile input\").focus();\r\n\t\t$(thisObj).html(\"保存\");\r\n\t\tif ($(\"#cancelOperatePresaleMob\").size() > 0) {\r\n\t\t\t$(\"#cancelOperatePresaleMob\").show();\r\n\t\t} else {\r\n\t\t\tvar copm = $(\"<a href=\\\"#none\\\" class=\\\"a-link\\\" id=\\\"cancelOperatePresaleMob\\\">取消</a>\");\r\n\t\t\tcopm.bind(\"click\", function() {\r\n\t\t\t\t$(\"#presaleMobile\").html(\"<strong id=\\\"userMobileByPresale\\\" class=\\\"phone-num\\\">\" + $(\"#hiddenUserMobileByPresale\").val() + \"</strong></span>\");\r\n\t\t\t\t$(\"#cancelOperatePresaleMob\").hide();\r\n\t\t\t\t$(\"#operatePresaleMobile\").html(\"修改\");\r\n\t\t\t});\r\n\t\t\t$(thisObj).after(copm).after(\"&nbsp;\");\r\n\t\t}\r\n\t}\r\n}\r\nwindow.operate_presaleMobile = operate_presaleMobile;\r\n\r\nfunction check_presaleMobile() {\r\n\tvar mobile = \"\";\r\n\tif ($(\"#presaleMobile input\").size() > 0) {\r\n\t\tmobile = $(\"#presaleMobile input\").val();\r\n\t} else {\r\n\t\tmobile = $(\"#userMobileByPresale\").html();\r\n\t}\r\n\tif (testMobile(mobile)) {\r\n\t\treturn true;\r\n\t} else {\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\n// 结算页手机号标准\r\nfunction testMobile(mobile) {\r\n\treturn check_mobile_new(mobile);\r\n}\r\n\r\n/**\r\n * 预售支付方式选择器\r\n * \r\n * @param id\r\n */\r\nfunction choosePresaleType(thisObj) {\r\n\tif ($(thisObj).prop(\"id\") == \"EarnestPayRadio\") {\r\n\t\t$(\"#presaleEarnOnlyList\").show();\r\n\t\t$(\"#presaleEarnOnlyInfo\").show();\r\n\t\t$(\"#presaleAllPayList\").hide();\r\n\t} else {\r\n\t\t$(\"#presaleEarnOnlyList\").hide();\r\n\t\t$(\"#presaleEarnOnlyInfo\").hide();\r\n\t\t$(\"#presaleAllPayList\").show();\r\n\t}\r\n}window.choosePresaleType = choosePresaleType;\r\n/**\r\n * 异步请求获取唐久商品icon\r\n */\r\nfunction showTangJiuSkuIcon() {\r\n\tvar skuIdAndNums = $(\"#mainSkuIdAndNums\").val();\r\n\tvar areaIds = $(\"#hideAreaIds\").val();\r\n\tif (isEmpty(skuIdAndNums) || isEmpty(areaIds)) {\r\n\t\treturn;\r\n\t}\r\n\tvar param = \"areaIds=\" + areaIds + \"&skuIdAndNums=\" + skuIdAndNums;\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\turl : OrderAppConfig.AsyncDomain + \"/showTangJiuSkuIcon.action\",\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tdataType : \"json\",\r\n\t\tsuccess : function(dataResult) {\r\n\t\t\tvar skuicons = eval(dataResult);\r\n\t\t\tif (!skuicons || skuicons == 'false') {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tfor (var i = 0; i < skuicons.length; i++) {\r\n\t\t\t\tvar arrIcons = skuicons[i].icons;\r\n\t\t\t\tif (arrIcons != null && arrIcons.length > 0) {\r\n\t\t\t\t\tfor (var j = 0; j < arrIcons.length; j++) {\r\n\t\t\t\t\t\tif (arrIcons[j] == 1 || arrIcons[j] == \"1\") {\r\n\t\t\t\t\t\t\tif ($(\"#speedFreightNote\").length > 0 && $(\"#speedFreightNote\").html().length > 0) {\r\n\t\t\t\t\t\t\t\t$(\"#promise_\" + skuicons[i].skuId).append(\"<a class='promisejsd' title='下单后或支付成功后3小时送达，运费49元' href='javascript:void(0);'></a>\");\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else if (arrIcons[j] == 2 || arrIcons[j] == \"2\") {\r\n\t\t\t\t\t\t\t$(\"#promise_\" + skuicons[i].skuId).append(\"<a class='promisexsd' title='9:00-18:00下单，一小时内送达' href='javascript:void(0);'></a>\");\r\n\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t}\r\n\t});\r\n}window.showTangJiuSkuIcon = showTangJiuSkuIcon;\r\n\r\n/**\r\n * 使用兑换码兑换优惠券 Author:曹森 DateTime:2014/04/23 16:00\r\n * \r\n * @param\r\n */\r\nfunction exchangeCoupons(obj) {\r\n\tif ($('#couponKeyPressFirst').val() == \"\" || $('#couponKeyPressSecond').val() == \"\" || $('#couponKeyPressThrid').val() == \"\"\r\n\t\t\t|| $('#couponKeyPressFourth').val() == \"\") {\r\n\t\tshowMessageWarn(\"请输入优惠券兑换码！\");\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar param = \"couponParam.fundsPwdType=Coupon\";\r\n\tvar url = OrderAppConfig.DynamicDomain + \"/coupon/checkFundsPwdResult.action\";\r\n\tparam = addFlowTypeParam(param);\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : url,\r\n\t\tdata : param,\r\n\t\tasync : true,\r\n\t\tcache : false,\r\n\t\tsuccess : function(flag) {\r\n\t\t\tif (isUserNotLogin(flag)) {\r\n\t\t\t\tgoToLogin();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (flag) {\r\n\t\t\t\tvar key = $(\"#couponKeyPressFirst\").val() + $(\"#couponKeyPressSecond\").val() + $(\"#couponKeyPressThrid\").val() + $(\"#couponKeyPressFourth\").val();\r\n\t\t\t\t$(\"input[id^='couponKeyPress']\").each(function() {\r\n\t\t\t\t\t$(this).val(\"\");\r\n\t\t\t\t});\r\n\t\t\t\tvar param = \"couponParam.couponKey=\" + key;\r\n\t\t\t\tparam = addFlowTypeParam(param);\r\n\t\t\t\tjQuery.ajax({\r\n\t\t\t\t\ttype : \"POST\",\r\n\t\t\t\t\tdataType : \"json\",\r\n\t\t\t\t\turl : OrderAppConfig.AsyncDomain + \"/coupon/exchangeCoupons.action\",\r\n\t\t\t\t\tdata : param,\r\n\t\t\t\t\tasync : true,\r\n\t\t\t\t\tcache : false,\r\n\t\t\t\t\tsuccess : function(result) {\r\n\t\t\t\t\t\tif (isUserNotLogin(result)) {\r\n\t\t\t\t\t\t\tgoToLogin();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!result.resultFlag) {\r\n\t\t\t\t\t\t\tvar message = result.message;\r\n\t\t\t\t\t\t\tshowMessageError(message);\r\n\t\t\t\t\t\t\tif (obj.checked) {\r\n\t\t\t\t\t\t\t\tobj.checked = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tchangeClassStyle(orderCouponId, toggleWrap);\r\n\t\t\t\t\t\tchangeClassStyle(orderCouponItem, itemToggleActive);\r\n\t\t\t\t\t\tshowMessageSucc(result.message);\r\n\t\t\t\t\t\t$(\"#\" + orderCouponId).css('display', 'none');\r\n\t\t\t\t\t\tquery_coupons();\r\n\t\t\t\t\t\tshowEntityPanel();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tshowLargeMessage(\"支付密码未开启\", \"为保障您的账户资金安全，请先开启支付密码\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\r\n\t\r\n}\r\nwindow.exchangeCoupons = exchangeCoupons;\r\n\r\nfunction shipmentToggle(th) {\r\n\tif ($(th).attr(\"id\") == \"jd-shipment\") {// 选择京东配送\r\n\t\t$(th).parent().parent().addClass(\"item-selected\");\r\n\t\t$(\"#pick-shipment\").parent().parent().removeClass(\"item-selected\");\r\n\r\n\t\t$(\"#jd-shipment-way-category\").addClass(\"way-category-selected\");\r\n\t\t$(\"#pick-shipment-way-category\").removeClass(\"way-category-selected\");\r\n\r\n\t\t$(\"#jd-show-sku-count\").show();\r\n\t\t$(\"#jd-shipment-extend-info\").show();\r\n\r\n\t\tif (!isEmpty($(\"#pick-shipment\").val())) {\r\n\t\t\t$(\"#pick-shipment\").attr(\"checked\", false);\r\n\t\t\t$(\"#pick-show-sku-count\").hide();\r\n\t\t\t$(\"#pick-shipment-extend-info\").hide();\r\n\t\t\t$(\"#subway-sment\").hide();\r\n\t\t}\r\n\r\n\t} else if ($(th).attr(\"id\") == \"pick-shipment\") {// 选择自提\r\n\t\t$(th).parent().parent().addClass(\"item-selected\");\r\n\t\t$(\"#pick-shipment-way-category\").addClass(\"way-category-selected\");\r\n\r\n\t\tif (!isEmpty($(\"#jd-shipment\").val())) {\r\n\t\t\t$(\"#jd-shipment\").parent().parent().removeClass(\"item-selected\");\r\n\t\t\t$(\"#jd-shipment\").attr(\"checked\", false);\r\n\t\t}\r\n\r\n\t\tif (!isEmpty($(\"#other-shipment\").val())) {\r\n\t\t\t$(\"#other-shipment\").parent().parent().removeClass(\"item-selected\");\r\n\t\t\t$(\"#other-shipment\").attr(\"checked\", false);\r\n\t\t}\r\n\r\n\t\tif (!isEmpty($(\"#jd-shipment-way-category\").html())) {\r\n\t\t\t$(\"#jd-shipment-way-category\").removeClass(\"way-category-selected\");\r\n\t\t}\r\n\r\n\t\tif (!isEmpty($(\"#other-shipment-way-category\").html())) {\r\n\t\t\t$(\"#other-shipment-way-category\").removeClass(\"way-category-selected\");\r\n\t\t}\r\n\r\n\t\t$(\"#pick-show-sku-count\").show();\r\n\t\t$(\"#pick-shipment-extend-info\").show();\r\n\t\t$(\"#subway-sment\").show();\r\n\t\tif (!isEmpty($(\"#jd-shipment-extend-info\").html()))\r\n\t\t\t$(\"#jd-shipment-extend-info\").hide();\r\n\t\tif (!isEmpty($(\"#other-shipment-extend-info\").html()))\r\n\t\t\t$(\"#other-shipment-extend-info\").hide();\r\n\r\n\t\tif (!isEmpty($(\"#jd-show-sku-count\").html()))\r\n\t\t\t$(\"#jd-show-sku-count\").hide();\r\n\t\tif (!isEmpty($(\"#other-show-sku-count\").html()))\r\n\t\t\t$(\"#other-show-sku-count\").hide();\r\n\r\n\t} else if ($(th).attr(\"id\") == \"other-shipment\") {// 选择京东三方配送\r\n\t\t$(th).parent().parent().addClass(\"item-selected\");\r\n\t\t$(\"#pick-shipment\").parent().parent().removeClass(\"item-selected\");\r\n\r\n\t\t$(\"#other-shipment-way-category\").addClass(\"way-category-selected\");\r\n\t\t$(\"#pick-shipment-way-category\").removeClass(\"way-category-selected\");\r\n\r\n\t\t$(\"#other-shipment-extend-info\").show();\r\n\t\t$(\"#other-show-sku-count\").show();\r\n\r\n\t\tif (!isEmpty($(\"#pick-shipment\").val())) {\r\n\t\t\t$(\"#pick-shipment\").attr(\"checked\", false);\r\n\t\t\t$(\"#pick-show-sku-count\").hide();\r\n\t\t\t$(\"#pick-shipment-extend-info\").hide();\r\n\t\t\t$(\"#subway-sment\").hide();\r\n\t\t}\r\n\r\n\t}\r\n}\r\n\r\n\r\n/**\r\n * 获取商家名称\r\n */\r\nfunction doGetVendorName(){\r\n\tvar actionUrl = OrderAppConfig.AsyncDomain +\"/showFerightSopName.action\";\r\n\tvar param = \"popVenderIdStr=\" + $(\"#popVenderIdStr\").val();\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"json\",\r\n\t\turl : actionUrl,\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\tfor ( var key in dataResult.sopNameMap) {\r\n\t\t\t\t$(\".vendor_name_h\").each(function() {\r\n\t\t\t\t\tif ($(this).attr(\"id\") == key) {\r\n\t\t\t\t\t\tif (dataResult.sopNameMap[key] != null && dataResult.sopNameMap[key] != \"undefined\") {\r\n\t\t\t\t\t\t\tif (dataResult.sopNameMap[key].length > 16)\r\n\t\t\t\t\t\t\t\tdataResult.sopNameMap[key] = dataResult.sopNameMap[key].substring(0, 15) + \"...\";\r\n\t\t\t\t\t\t\t$(this).html(\"商家：\" + dataResult.sopNameMap[key]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t/*$(\".yfx_div_remark\").each(function() {\r\n\t\t\t\t\tif ($(this).attr(\"id\") == key) {\r\n\t\t\t\t\t\tif (dataResult.sopNameMap[key] != null && dataResult.sopNameMap[key] != \"undefined\") {\r\n\t\t\t\t\t\t\tif (dataResult.sopNameMap[key].length > 16)\r\n\t\t\t\t\t\t\t\tdataResult.sopNameMap[key] = dataResult.sopNameMap[key].substring(0, 15) + \"...\";\r\n\t\t\t\t\t\t\t$(this).html(dataResult.sopNameMap[key] + \"为您购买了运费险，最高赔付20.00元/单\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});*/\r\n\t\t\t}\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\t//alert(\"系统繁忙，请稍后再试！\");\r\n\t\t}\r\n\t});\r\n}window.doGetVendorName=doGetVendorName;\r\n\r\nfunction showPickDateList(){\r\n\tvar isInvokePickDate = $(\"#is_invoke_pickdate\").val();\r\n\tvar pickId = $(\"#pick_sel_id\").val();\r\n\tif(isInvokePickDate==\"0\"){\r\n\t\treturn;\r\n\t}\r\n\t\r\n\tvar param = \"pickid=\"+pickId;\r\n    param = addFlowTypeParam(param);\r\n\t// $(obj).parent().parent().css(\"class\",\"item item-selected\");\r\n\t//$(obj).parent().parent().addClass('item-selected').siblings().removeClass('item-selected');\r\n\tjQuery.ajax({\r\n\t\ttype : \"POST\",\r\n\t\tdataType : \"text\",\r\n\t\turl : OrderAppConfig.AsyncDomain + \"/payAndShip/getPickSiteDate.action\",\r\n\t\tdata : param,\r\n\t\tcache : false,\r\n\t\tsuccess : function(dataResult, textStatus) {\r\n\t\t\t// 没有登录跳登录\r\n\t\t\tvar jsonO = eval(\"(\"+dataResult+\")\");  \r\n\t\t\tvar pickDateHTML = \"\";\r\n\t\t\tfor(var i=0;i<jsonO.length;i++){ \r\n\t\t\t\tpickDateHTML = pickDateHTML+\"<ul><li class='li_pick_shipment' date='\"+jsonO[i].pickDate+\"' picksite_date='\"+jsonO[i].codDate+\"' picksite_weekDay='\"+jsonO[i].name+\"' onclick='doSwithPickShipDate('',this)'>\";\r\n\t\t\t\tpickDateHTML = pickDateHTML+  jsonO[i].codDate;\r\n\t\t\t\tpickDateHTML = pickDateHTML+  \"<span class='data'>\"+jsonO[i].name+\"</span>\";\r\n\t\t\t\tpickDateHTML = pickDateHTML+\"</li></ul>\";\r\n\t\t\t} \r\n\t\t\t$(\"#pickSiteShipDate .date-box.date-list\").html(pickDateHTML);\r\n\t\t\t$(\"#is_invoke_pickdate\").val(\"0\");\r\n\t\t},\r\n\t\terror : function(XMLHttpResponse) {\r\n\t\t\t//alert(\"系统繁忙，请稍后再试！\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n}window.showPickDateList=showPickDateList;\r\n\r\nfunction showMessageSucc(c){\r\n\tshowMessage(c,'succ');\r\n}window.showMessageSucc=showMessageSucc;\r\nfunction showMessageWarn(c){\r\n\tshowMessage(c,'warn');\r\n}window.showMessageWarn=showMessageWarn;\r\nfunction showMessageError(c){\r\n\tshowMessage(c,'error');\r\n}window.showMessageError=showMessageError;\r\n\r\nfunction showMessage(c,i){\r\n\tvar showMessage = \"<div class='tip-box icon-box'><span class=\"+i;\r\n\tshowMessage = showMessage+\"-icon m-icon'></span>\";\r\n\tshowMessage = showMessage+\"<div class='item-fore'><h3 class='ftx-02'>\"+c;\r\n\tshowMessage = showMessage+\"</h3></div><div class='op-btns ac'><a href='javascript:$.closeDialog();' class='btn-9'>确定</a></div></div>\";\r\n\t$('body').dialog({\r\n\t\ttitle:'提示',\r\n\t\twidth:320,\r\n\t\theight:120,\r\n\t\ttype:'html',\r\n\t\tautoIframe:false,\r\n\t\tsource:showMessage\r\n\t});\r\n}window.showMessage=showMessage;\r\n\r\nfunction showLargeMessage(title, largeMessage) {\r\n  var showMessage = '<div class=\"tip-box icon-box\"><span class=\"warn-icon m-icon\"></span><div class=\"item-fore\">'\r\n  \t\tshowMessage += '<h3>'+title+'</h3>'\r\n      showMessage += '<div>'+largeMessage+'</div>'\r\n      showMessage += '</div><div class=\"op-btns ac\"><a href=\"javascript:$.closeDialog();\" class=\"btn-9\">关闭</a></div></div>';\r\n  $('body').dialog({\r\n    title:'提示',\r\n    width:380,\r\n    height:100,\r\n    type:'html',\r\n    autoIframe:false,\r\n    source: showMessage\r\n  });\r\n}window.showLargeMessage = showLargeMessage;\r\n\r\nfunction subStr(id){\r\n  $(id).each(function(){ \r\n  \tvar objString = $.trim($(this).text());\r\n\t\tvar objLength = $.trim($(this).text()).length;\r\n\t\tvar num = $(this).attr('limit');\r\n\t\t$(this).attr('title',objString); \r\n\t\tif(objLength > num){ \r\n\t\t\tobjString = $(this).text(objString.substring(0,num) + '...'); \r\n\t\t} \r\n\t});\r\n}window.subStr=subStr;\r\n\r\n\r\nfunction freshTips() {\r\n  //页面tips展示\r\n  var $el = $(\"#shipAndSkuInfo\");\r\n  $el.tips({\r\n    trigger: '.qmark-tip',\r\n    tipsClass: 'qmarkTip',\r\n    mouseenterDelayTime: 300,\r\n    autoResize:false,\r\n    hasClose: false\r\n  });\r\n  // 京东大件商品tips\r\n  $el.tips({\r\n    trigger: '#jd-big-goods-item',\r\n    width: 260,\r\n    type: 'click',\r\n    // source: $('#jdbigItem_surpportSku').html()\r\n    sourceTrigger: '#jdbigItem_surpportSku'\r\n  });\r\n  \r\n  // 京东非大件商品tips\r\n  $el.tips({\r\n    trigger: '#jd-goods-item',\r\n    width: 260,\r\n    type: 'click',\r\n    // source: $('#jdbigItem_surpportSku').html()\r\n    sourceTrigger: '#jdItem_surpportSku'\r\n  });\r\n\r\n  //显示京东第三方大家电列表\r\n  $el.tips({\r\n    trigger: '#jd-other-big-goods-item',\r\n    width: 260,\r\n    type: 'click',\r\n    // source: $('#jdOtherbigItem_surpportSku').html()\r\n    sourceTrigger: '#jdOtherbigItem_surpportSku'\r\n  });\r\n\r\n  //显示京东第三方中小件列表\r\n  $el.tips({\r\n    trigger: '#jd-other-goods-item',\r\n    width: 260,\r\n    type: 'click',\r\n    // source: $('#jdOther_surpportSku').html()\r\n    sourceTrigger: '#jdOther_surpportSku'\r\n  });\r\n  $el.tips({\r\n    trigger: '#mainPaymentView-1',\r\n    width: 260,\r\n    type: 'click',\r\n    // source:$('#mainPaymentViewHide').html()\r\n    sourceTrigger: '#mainPaymentViewHide'\r\n  });\r\n\r\n  $el.tips({\r\n    trigger: '#subPaymentView-1',\r\n    width: 260,\r\n    type: 'click',\r\n    // source:$('#subPaymentViewHide').html()\r\n    sourceTrigger: '#subPaymentViewHide'\r\n  });\r\n  $el.tips({\r\n    trigger: '#pick_shipment_item',\r\n    width: 260,\r\n    type: 'click',\r\n    // source: $(\"#noSupSkus_hideDiv\").html()\r\n    sourceTrigger: '#noSupSkus_hideDiv'\r\n  });\r\n\r\n};\r\nwindow.freshTips = freshTips;\r\n\r\n\r\n\r\nfunction freshUI(){\r\n  //初始化滑动状态\r\n  $('.mode-tab-nav .mode-tab-item').hover(function() {\r\n    $(this).addClass('hover');\r\n  }, function() {\r\n    $(this).removeClass('hover');\r\n  });\r\n}\r\n\r\nfunction replaceStr(str,p1,p2){\r\n\treturn (str == undefined || str == null || str == \"\")?\"\":str.replace(p1, p2);\r\n}\r\n\r\n//*******************************************************************地址和支付列表 Start ******************************\r\nfunction paymentViewHide(){\r\n\t$('body').dialog({\r\n\t\t\ttitle:'请确认支付方式',\r\n\t\t\twidth:620,\r\n\t\t\theight:320,\r\n\t\t\ttype:'html',\r\n\t\t\tsource:$(\"#paymentViewHide\").html()\r\n\t});\r\n}window.paymentViewHide=paymentViewHide;\r\n\r\nfunction closeDialog(){\r\n\t$.closeDialog();\r\n}window.closeDialog=closeDialog;\r\n\r\n//删除收货人弹框\r\nfunction deleteConsigneeDialog(id){\r\n\t$('body').dialog({\r\n\t\ttitle:'删除收货人信息',\r\n\t\twidth:400,\r\n\t\theight:100,\r\n\t\ttype:'html',\r\n\t\tsource:'<div class=\"tip-box icon-box\"><span class=\"warn-icon m-icon\"></span><div class=\"item-fore\"><h3>您确定要删除该收货地址吗？</h3></div><div class=\"op-btns ac\"><a onclick=\"delete_Consignee('+id+')\" href=\"#none\" class=\"btn-9\">确定</a><a href=\"javascript:$.closeDialog();\" class=\"btn-9 ml10\">取消</a></div></div>'\r\n\t});\r\n}window.deleteConsigneeDialog=deleteConsigneeDialog;\r\n\r\n//编辑收货人弹框\r\nfunction openEditConsigneeDialog(id){\r\n\t$('body').dialog({\r\n\t\ttitle:'编辑收货人信息',\r\n\t\twidth:690,\r\n\t\theight:290,\r\n\t\ttype:'iframe',\r\n\t\tiframeTimestamp:false,\r\n\t\tsource:OrderAppConfig.DynamicDomain + \"/consignee/editConsignee.action?consigneeId=\"+id\r\n\t});\r\n}window.openEditConsigneeDialog=openEditConsigneeDialog;\r\n\r\nfunction restData() {\r\n  // 新用户保存后将值写回\r\n  $(\"#isOpenConsignee\").val(\"0\");\r\n  $(\"#isRefreshArea\").val(\"0\");\r\n  $(\"#beforePickRegionId\").val(\"\");\r\n  $(\"#beforePickSelRegionid\").val(\"\");\r\n  $(\"#beforePickSiteId\").val(\"\");\r\n  $(\"#beforePickName\").val(\"\");\r\n}\r\n\r\n//延迟关闭loading\r\nfunction delayRemoveLoading(id){\r\n\tif(!$(id)) {\r\n\t\treturn;\r\n\t}\r\n\tsetTimeout(function(){\r\n\t\t$(id).remove();\r\n\t}, 300);\r\n}\r\n//******************************************************************* 地址和支付列表 End  ******************************\r\n\r\n});////FE 模块加载 end\r\n"
  },
  {
    "path": "migo-portal/src/main/webapp/js/payAndShipment.js",
    "content": "function isDoRefresh(cartJson) {\r\n  //如果商品串不相等则刷新商品清单\r\n  var sopCartJson = $(\"#sopCartJson\").val();\r\n  //如果保存的是大家电配送时间也需要刷新，否则安装时间偏移量计算不准确\r\n  var isRefreshInstallDate = $(\"#is_refresh_installdate\").val();\r\n  if (cartJson != sopCartJson || isRefreshInstallDate == \"1\") {\r\n    $(\"#is_refresh_installdate\").val(\"\");\r\n    save_Pay(payId);\r\n    return;\r\n  }\r\n  //否则刷新价格\r\n  var actionUrl = OrderAppConfig.DynamicDomain + \"/payAndShip/getAdditShipment.action\";\r\n  var payId = $('.payment-item.item-selected').attr('payId');\r\n  var reset311 = $('#reset_promise_311').val();\r\n  if (isEmpty(payId)) {\r\n    payId = 4;\r\n  }\r\n  var param = \"paymentId=\" + payId;\r\n  param = param + \"&shipParam.reset311=\"+reset311;\r\n  jQuery.ajax({\r\n    type: \"POST\",\r\n    dataType: \"json\",\r\n    url: actionUrl,\r\n    data: param,\r\n    cache: false,\r\n    success: function(dataResult, textStatus) {\r\n      // 没有登录跳登录\r\n      if (isUserNotLogin(dataResult)) {\r\n        goToLogin();\r\n        return;\r\n      }\r\n      doResetShipTime(dataResult.resetShipTime);\r\n      //处理311、411日历信息 \r\n      doDealCalenderInfo(dataResult);\r\n      //处理自提信息\r\n      doSelfPickStatus(dataResult.selfPick);\r\n      //处理白条、加载库存、获取店铺名称\r\n      showWhiteBar();\r\n      loadSkuListStock();\r\n      doGetVendorName();\r\n      showFerightInsure();\r\n      //根据商品属性加载订单备注信息\r\n      loadOrderRemark();\r\n      showPickDateList();\r\n      flushOrderPrice(dataResult.orderPrice, false);\r\n    },\r\n    error: function(XMLHttpResponse) {\r\n      //alert(\"系统繁忙，请稍后再试！\");\r\n      goOrder();\r\n    }\r\n  });\r\n}\r\n\r\nfunction doResetShipTime(resetShipTime) {\r\n  if (resetShipTime == null) {\r\n    return\r\n  }\r\n  if (resetShipTime.reset) {\r\n    $(\"#jd_shipment_calendar_date\").html(resetShipTime.shipName);\r\n  }\r\n}\r\n\r\n/**\r\n * 处理311、411日历信息显示\r\n * @return\r\n */\r\nfunction doDealCalenderInfo(dataResult) {\r\n\tif(dataResult.success==false){\r\n\t\t $(\"#jd_shipment_calendar_date\").html('<span class=\"ftx-03\">配送时间：</span>工作日、双休日与节假日均可送货');\r\n\t\t return;\r\n\t}\r\n\t$(\"#shipment_support_type\").val(dataResult.suportShipType);\r\n\t$(\"#sopCartJson\").val(dataResult.cartJson);\r\n\tif (dataResult.suportShipType == \"1\") { //如果只支持311\r\n\t    //设置日历参数\r\n\t    $(\"#calendar_hdata\").val(JSON.stringify(dataResult.promise311.timeRangeTitle));\r\n\t    $(\"#calendar_ddata\").val(JSON.stringify(dataResult.promise311.days));\r\n\t    //设置日历坐标\r\n\t    $(\"#calendar_x\").val(dataResult.promise311.date_x);\r\n\t    $(\"#calendar_y\").val(dataResult.promise311.date_y);\r\n\t    //设置上次选中的日期，时间段和sendpay\r\n\t    $(\"#last_sel_promiseDate\").val(dataResult.promise311.promiseDate);\r\n\t    $(\"#last_sel_promiseTimeRange\").val(dataResult.promise311.promiseTimeRange);\r\n\t    $(\"#last_sel_promiseSendPay\").val(dataResult.promise311.promiseSendPay);\r\n\t    //显示修改按钮\r\n\t    $(\"#jdshipdate_eidt_id\").removeClass(\"hide\");\r\n\t    //默认选中311\r\n\t    $(\"#shipment_select_support\").val(\"1\");\r\n\t    //为311隐藏域赋值\r\n\t    $(\"#saveParam_promiseDate\").val(dataResult.promise311.promiseDate); //311配送时间\r\n\t    $(\"#saveParam_promiseTimeRange\").val(dataResult.promise311.promiseTimeRange); //预约配送时间段\r\n\t    $(\"#saveParam_promiseSendPay\").val(dataResult.promise311.promiseSendPay);\r\n\t    $(\"#saveParam_promiseType\").val(1); //预约配送类型，1表示311，2表示411\r\n\t    $(\"#saveParam_jdShipTime\").val(4);\r\n\t    $(\"#jd_shipment_calendar_date\").html(dataResult.promise311.show311Text);\r\n\t} else if (dataResult.suportShipType == \"2\") { //如果只支持411\r\n\t    /**\r\n\t     * author:zhuqingjie\r\n\t     * 目前线上311、411接口有问题，存在支持411但是不支持311的情况\r\n\t     * 此处做特殊处理，\r\n\t     */\r\n\t    $(\"#shipment_select_support\").val(\"2\");\r\n\t    if (dataResult.promise411.grayFlag) {\r\n\t      $(\"#shipment_cur411_support\").val(\"2\");\r\n\t      $(\"#saveParam_promiseType\").val(\"\"); //既不是311也不是411\r\n\t      $(\"#saveParam_jdShipTime\").val(3); //节假日、工作日均可\r\n\t      //设置配送时间为节假日和工作日均可\r\n\t      $(\"#jd_shipment_calendar_date\").html('<span class=\"ftx-03\">配送时间：</span>工作日、双休日与节假日均可送货');\r\n\t    } else {\r\n\t      $(\"#saveParam_promiseType\").val(2); //预约配送类型，1表示311，2表示411\r\n\t      $(\"#saveParam_jdShipTime\").val(5); //节假日、工作日均可\r\n\t      $(\"#shipment_cur411_support\").val(\"1\");\r\n\t      //修改按钮显示\r\n\t      $(\"#jdshipdate_eidt_id\").removeClass(\"hide\");\r\n\t      $(\"#saveParam_promiseSendPay\").val(dataResult.promise411.sendPay);\r\n\t    }\r\n\t} else if (dataResult.suportShipType == \"3\") { //如果311和411都支持     \r\n\t    //如果没有选中411，则默认选中311\r\n\t    $(\"#shipment411_sendpay\").val(dataResult.promise411.sendPay);\r\n\t    if (dataResult.promise411.selected) {\r\n\t    \t$(\"#shipment_select_support\").val(\"2\");\r\n\t    \t$(\"#saveParam_promiseType\").val(2); //预约配送类型，1表示311，2表示411  \r\n\t    \t$(\"#saveParam_jdShipTime\").val(5);\r\n\t    \t$(\"#saveParam_promiseSendPay\").val(dataResult.promise411.sendPay);\r\n\t    } else {\r\n\t    \t//设置上次选中的日期，时间段和sendpay\r\n\t    \t$(\"#last_sel_promiseDate\").val(dataResult.promise311.promiseDate);\r\n\t    \t$(\"#last_sel_promiseTimeRange\").val(dataResult.promise311.promiseTimeRange);\r\n\t    \t$(\"#last_sel_promiseSendPay\").val(dataResult.promise311.promiseSendPay);\r\n\t    \t//为311隐藏域赋值\r\n\t    \t$(\"#saveParam_promiseDate\").val(dataResult.promise311.promiseDate); //311配送时间\r\n\t    \t$(\"#saveParam_promiseTimeRange\").val(dataResult.promise311.promiseTimeRange); //预约配送时间段\r\n\t    \t$(\"#saveParam_promiseSendPay\").val(dataResult.promise311.promiseSendPay);\r\n\t    \t$(\"#jd_shipment_calendar_date\").html(dataResult.promise311.show311Text);\r\n\t    \t$(\"#shipment_select_support\").val(\"1\");\r\n\t    \t$(\"#saveParam_promiseType\").val(1); //预约配送类型，1表示311，2表示411\r\n\t    \t$(\"#saveParam_jdShipTime\").val(4);\r\n\t    }\r\n\t    // 京东快递tips\r\n\t    if (dataResult.suportShipType == \"0\") {\r\n\t      $(\"#jdShip-span-tip .qmark-icon\").attr('data-tips', '由京东公司负责配送，速度很快，还接受上门刷卡付款服务')\r\n\t    } else {\r\n\t      $(\"#jdShip-span-tip .qmark-icon\").attr('data-tips', '此订单支持预约配送，您可以选择指定的时间段')\r\n\t    }\r\n\t    // 京东快递tips end\r\n\r\n\t    if (dataResult.promise411.grayFlag) {\r\n\t      $(\"#shipment_cur411_support\").val(\"2\");\r\n\t    } else {\r\n\t      $(\"#shipment_cur411_support\").val(\"1\");\r\n\t    }\r\n\t    //设置日历参数\r\n\t    $(\"#calendar_hdata\").val(JSON.stringify(dataResult.promise311.timeRangeTitle));\r\n\t    $(\"#calendar_ddata\").val(JSON.stringify(dataResult.promise311.days));\r\n\t    //设置日历坐标\r\n\t    $(\"#calendar_x\").val(dataResult.promise311.date_x);\r\n\t    $(\"#calendar_y\").val(dataResult.promise311.date_y);\r\n\t\r\n\t    $(\"#shipment411_msg\").val(dataResult.promise411.grayMsg);\r\n\t    //显示修改按钮\r\n\t    $(\"#jdshipdate_eidt_id\").removeClass(\"hide\");\r\n\t}\r\n}\r\n\r\nfunction submitShipment() {\r\n  var ajax_url = OrderAppConfig.DynamicDomain + \"/payAndShip/savePayAndShip.action\"; //表单目标               \r\n  var payId = $(\"#payment-list .payment-item.item-selected\").attr(\"payid\");\r\n  $(\"#saveParam_paymentId\").val(payId);\r\n  var ajax_data = $(\"#skuAndShipment_submit_form\").serialize(); //表单数据 \r\n  jQuery.ajax({\r\n    type: \"POST\", //表单提交类型 \r\n    dataType: \"json\",\r\n    url: ajax_url, //表单提交目标 \r\n    data: ajax_data, //表单数据\r\n    cache: false,\r\n    success: function(dataResult, textStatus) {\r\n      // 没有登录跳登录\r\n      if (isUserNotLogin(dataResult)) {\r\n        goToLogin();\r\n        return;\r\n      }\r\n      if (dataResult.success) {\r\n        // 取消使用京豆（避免价格变化导致可使用京豆数不准）\r\n        useCancelEditJdBean(0, null, true);\r\n        //isDoRefresh(dataResult.cartJson);\r\n      } else {\r\n        //alert(\"系统繁忙，请稍后再试！\");\r\n        goOrder();\r\n      }\r\n    },\r\n    error: function(XMLHttpResponse) {\r\n      //alert(\"系统繁忙，请稍后再试！\");\r\n      goOrder();\r\n    }\r\n  });\r\n}\r\n\r\n//doSavePayAndShipmentInfo();\r\n//表单提交\r\nfunction doSavePayAndShipmentInfo(saveType) {\r\n  //保存京东快递配送时间\r\n  if (saveType == \"jd_shipment\") {\r\n    //设置京东配送方式\r\n    $(\"#saveParam_jdShipmentType\").val(65);\r\n    $(\"#saveParam_pickShipmentType\").val(\"\");\r\n    $(\"#saveParam_otherShipmentType\").val(\"\");\r\n  }\r\n  //保存支付方式\r\n  if (saveType == \"jd_payway_save\") {\r\n    //设置京东配送方式\r\n    $(\"#saveParam_jdShipmentType\").val(65);\r\n    $(\"#saveParam_pickShipmentType\").val(\"\");\r\n    $(\"#saveParam_otherShipmentType\").val(\"\");\r\n  }\r\n  //保存自提点\r\n  else if (saveType == \"jd_picksite\") {\r\n    //设置自提点\r\n    $(\"#saveParam_pickShipmentType\").val(64);\r\n    $(\"#saveParam_jdShipmentType\").val(\"\");\r\n    $(\"#saveParam_otherShipmentType\").val(\"\");\r\n    //设置是自提点还是自提柜\r\n  } else if (saveType == \"save_picksite\") {\r\n    var pickId = $(\"#selfpick_siteDiv .site-item.site-item-selected\").attr(\"pickid\");\r\n    var regionId = $(\"#pick_sel_regionid\").val();\r\n    //var regionId = $(\"#pickRegion_select option:selected\").val();\r\n    var pick_name = $(\"#selfpick_siteDiv .site-item.site-item-selected\").attr(\"pickName\");\r\n    if (pick_name == \"null\" || pick_name == null || pick_name == \"undefined\" || pick_name == undefined) {\r\n      pick_name = \"\";\r\n    }\r\n    var showPickSite = \"<span class='ftx-03'>自提地点：</span>\" + pick_name;\r\n    //如果没有选中自提点，不与保存\r\n    if (isEmpty(pickId)) {\r\n      return;\r\n    }\r\n    $(\"#beforePickRegionId\").val(regionId);\r\n    $(\"#beforePickSelRegionid\").val(regionId);\r\n    $(\"#beforePickSiteId\").val(pickId);\r\n    $(\"#beforePickName\").val(pick_name);\r\n\r\n    $(\"#pick_sel_regionid\").val(regionId);\r\n    $(\"#pick_sel_id\").val(pickId);\r\n    $(\"#is_invoke_pickdate\").val(\"1\");\r\n\r\n    $(\"#selfpick_name\").html(showPickSite);\r\n    $(\"#saveParam_pickSiteId\").val(pickId);\r\n    $(\"#saveParam_pickRegionId\").val(regionId);\r\n    $(\"#saveParam_pickShipmentType\").val(64);\r\n    $(\"#saveParam_jdShipmentType\").val(\"\");\r\n    $(\"#saveParam_otherShipmentType\").val(\"\");\r\n  }\r\n  //保存自提时间\r\n  else if (saveType == \"jd_picksite_time\") {\r\n    //设置自提点\r\n    $(\"#saveParam_pickShipmentType\").val(64);\r\n    $(\"#saveParam_jdShipmentType\").val(\"\");\r\n    $(\"#saveParam_otherShipmentType\").val(\"\");\r\n    //设置是自提点还是自提柜\r\n  }\r\n  //保存大件商品京东配送时间\r\n  else if (saveType == \"jd_bigitem_shipdate\") {\r\n    //设置京东配送方式\r\n    $(\"#saveParam_jdShipmentType\").val(65);\r\n    $(\"#saveParam_pickShipmentType\").val(\"\");\r\n    $(\"#saveParam_otherShipmentType\").val(\"\");\r\n    //设置刷新属性\r\n    $(\"#is_refresh_installdate\").val(\"1\");\r\n  }\r\n  //保存大件商品京东安装时间\r\n  else if (saveType == \"jd_bigitem_installdate\") {\r\n    //设置京东配送方式\r\n    $(\"#saveParam_jdShipmentType\").val(65);\r\n    $(\"#saveParam_pickShipmentType\").val(\"\");\r\n    $(\"#saveParam_otherShipmentType\").val(\"\");\r\n  }\r\n  //保存大件商品第三方配送时间\r\n  else if (saveType == \"jd_otherbigitem_shipdate\") {\r\n    //设置京东第三方配送方式\r\n    $(\"#saveParam_jdShipmentType\").val(\"\");\r\n    $(\"#saveParam_otherShipmentType\").val(66);\r\n    $(\"#saveParam_pickShipmentType\").val(\"\");\r\n  }\r\n  //保存大件商品第三方安装时间\r\n  else if (saveType == \"jd_otherbigitem_installdate\") {\r\n    //设置京东第三方配送方式\r\n    $(\"#saveParam_jdShipmentType\").val(\"\");\r\n    $(\"#saveParam_otherShipmentType\").val(66);\r\n    $(\"#saveParam_pickShipmentType\").val(\"\");\r\n  }\r\n  //保存京东第三方配送\r\n  else if (saveType == \"jd_other_shipment\") {\r\n    //设置京东第三方配送方式\r\n    $(\"#saveParam_jdShipmentType\").val(\"\");\r\n    $(\"#saveParam_otherShipmentType\").val(66);\r\n    $(\"#saveParam_pickShipmentType\").val(\"\");\r\n  }\r\n  submitShipment();\r\n}\r\n\r\n//点击切换京东配送标签\r\nfunction doSwithTab(flag) {\r\n  //京东配送\r\n  if (\"pay\" == flag && $(\"#jd_shipment_item\").hasClass(\"curr\") == false) {\r\n    $(\"#jd_shipment_item\").addClass(\"curr\");\r\n    $(\"#pick_shipment_item\").removeClass(\"curr\");\r\n    $(\"#selfpick_shipment\").addClass(\"hide\");\r\n    $(\"#jd_shipment\").addClass(\"ui-switchable-panel-selected\");\r\n    $(\"#jd_shipment\").removeClass(\"hide\");\r\n    doSaveJdShipment(\"jd_shipment\");\r\n  }\r\n  //京东自提\r\n  if (\"picksite\" == flag && $(\"#pick_shipment_item\").hasClass(\"disabled\") == false && $(\"#pick_shipment_item\").hasClass(\"curr\") == false) {\r\n    $(\"#pick_shipment_item\").addClass(\"curr\");\r\n    $(\"#jd_shipment_item\").removeClass(\"curr\");\r\n    $(\"#jd_shipment\").addClass(\"hide\");\r\n    $(\"#selfpick_shipment\").addClass(\"ui-switchable-panel-selected\");\r\n    $(\"#selfpick_shipment\").removeClass(\"hide\");\r\n    //点击自提table标签保存默认自提点\r\n    doSavePickSite();\r\n  }\r\n  //京东第三方配送\r\n  if (\"jd_other\" == flag && $(\"#_jdpay\").hasClass(\"curr\") == false) {\r\n    $(\"#_jdpay\").addClass(\"curr\");\r\n    $(\"#pick_shipment_item\").removeClass(\"curr\");\r\n    $(\"#selfpick_shipment\").addClass(\"hide\");\r\n    doSaveJdShipment(\"jd_other_shipment\");\r\n  }\r\n  //京东第三方自提\r\n  if (\"picksite_other\" == flag && $(\"#pick_shipment_item\").hasClass(\"disabled\") == false && $(\"#pick_shipment_item\").hasClass(\"curr\") == false) {\r\n    $(\"#pick_shipment_item\").addClass(\"curr\");\r\n    $(\"#_jdpay\").removeClass(\"curr\");\r\n    $(\"#selfpick_shipment\").addClass(\"ui-switchable-panel-selected\");\r\n    $(\"#selfpick_shipment\").removeClass(\"hide\");\r\n    //点击自提table标签保存默认自提点\r\n    doSavePickSite();\r\n  }\r\n}\r\n\r\n//点击切换京东配送标签\r\nfunction swithTab(flag) {\r\n  if (\"pay\" == flag) {\r\n    $(\"#jd_shipment_item\").addClass(\"curr\");\r\n    $(\"#pick_shipment_item\").removeClass(\"curr\");\r\n    $(\"#selfpick_shipment\").css(\"style\", \"display: none;\");\r\n    $(\"#jd_shipment\").css(\"style\", \"display: block;\");\r\n    $(\"#selfpick_shipment\").addClass(\"hide\");\r\n    $(\"#jd_shipment\").addClass(\"ui-switchable-panel-selected\");\r\n    $(\"#jd_shipment\").removeClass(\"hide\");\r\n  } else {\r\n    $(\"#pick_shipment_item\").addClass(\"curr\");\r\n    $(\"#jd_shipment_item\").removeClass(\"curr\");\r\n    $(\"#jd_shipment\").addClass(\"hide\");\r\n    $(\"#selfpick_shipment\").addClass(\"ui-switchable-panel-selected\");\r\n    $(\"#selfpick_shipment\").css(\"style\", \"display: block;\");\r\n    $(\"#jd_shipment\").css(\"style\", \"display: none;\");\r\n    $(\"#selfpick_shipment\").removeClass(\"hide\");\r\n  }\r\n}\r\n\r\n//点击选择京东配送，显示311日历或者411极速达\r\nfunction doEdit311Time() {\r\n  seajs.use('user/purchase/js/calendar.js', function(Calendar) {\r\n    var hData = jQuery.parseJSON($(\"#calendar_hdata\").val());\r\n    var dData = jQuery.parseJSON($(\"#calendar_ddata\").val());\r\n    var _width = 560;\r\n    if (dData.length > 8) {\r\n      _width = _width + (dData.length - 8) * 53;\r\n    }\r\n    var calendarHtml = $(\"#shipment_hidediv\").html();\r\n    $('body').dialog({\r\n      title: '配送时间',\r\n      width: _width,\r\n      height: 260,\r\n      type: 'html',\r\n      source: calendarHtml,\r\n      onReady: function() {\r\n          var xy = new Array();\r\n          if ($(\"#calendar_x\").val() != \"undefined\" && $(\"#calendar_x\").val() != \"\") {\r\n            xy[0] = $(\"#calendar_x\").val();\r\n            xy[1] = $(\"#calendar_y\").val();\r\n          }\r\n          var shipmentSupportType = $(\"#shipment_support_type\").val();\r\n          var shipmentSelSupport = $(\"#shipment_select_support\").val();\r\n          //只有311才创建组件\r\n          if (shipmentSupportType == \"1\" || shipmentSupportType == \"3\") {\r\n            var calendar = new Calendar(hData, dData, $('#date-delivery1'), xy); //初始化\r\n          }\r\n          //只支持311\r\n          if (shipmentSupportType == \"1\") {\r\n            $(\"#li_411_id\").removeClass().addClass(\"tab-nav-item hide\");\r\n            $(\"#li_311_id\").removeClass().addClass(\"tab-nav-item tab-item-selected\");\r\n          } else if (shipmentSupportType == \"2\") {\r\n            //只支持411\r\n            $(\"#li_311_id\").removeClass().addClass(\"tab-nav-item hide\");\r\n            $(\"#tab_311_div\").hide();\r\n            $(\"#tab_411_div\").show();\r\n            //判断当前还是否支持411配送\r\n            if ($(\"#shipment_cur411_support\").val() == \"1\") {\r\n              $(\"#li_411_id\").removeClass().addClass(\"tab-nav-item tab-item-selected\");\r\n            } else if ($(\"#shipment_cur411_support\").val() == \"2\") {\r\n              $(\"#li_411_id\").removeClass().addClass(\"tab-nav-item tab-item-selected disabled\");\r\n              $(\"#timeSave411\").hide();\r\n              //修改提示信息\r\n              $(\"#message_show_411\").html('温馨提示：当前时段不支持极速达业务，请选择其他配送方式！');\r\n              $(\"#li_411_id .qmark-icon\").attr('data-tips', $(\"#shipment411_msg\").val());\r\n            }\r\n          } else if (shipmentSupportType == \"3\") {\r\n            //选中了411\r\n            if (shipmentSelSupport == \"2\") {\r\n              //判断当前还是否支持411配送\r\n              if ($(\"#shipment_cur411_support\").val() == \"1\") {\r\n                $(\"#li_311_id\").removeClass().addClass(\"tab-nav-item\");\r\n                $(\"#li_411_id\").removeClass().addClass(\"tab-nav-item tab-item-selected\");\r\n              } else if ($(\"#shipment_cur411_support\").val() == \"2\") {\r\n                $(\"#li_311_id\").removeClass().addClass(\"tab-nav-item\");\r\n                $(\"#li_411_id\").removeClass().addClass(\"tab-nav-item tab-item-selected disabled\");\r\n                $(\"#timeSave411\").hide();\r\n                //修改提示信息\r\n                $(\"#message_show_411\").html('温馨提示：当前时段不支持极速达业务，请选择其他配送方式！');\r\n                $(\"#li_411_id .qmark-icon\").attr('data-tips', $(\"#shipment411_msg\").val());\r\n              }\r\n              $(\"#tab_311_div\").hide();\r\n              $(\"#tab_411_div\").show();\r\n            } else if (shipmentSelSupport == \"1\") {\r\n              //选中了311\r\n              $(\"#li_311_id\").removeClass().addClass(\"tab-nav-item tab-item-selected\");\r\n              //判断当前还是否支持411配送\r\n              if ($(\"#shipment_cur411_support\").val() == \"1\") {\r\n                $(\"#li_411_id\").removeClass().addClass(\"tab-nav-item\");\r\n              } else if ($(\"#shipment_cur411_support\").val() == \"2\") {\r\n                $(\"#li_411_id\").removeClass().addClass(\"tab-nav-item disabled\");\r\n                $(\"#timeSave411\").hide();\r\n                //修改提示信息\r\n                $(\"#message_show_411\").html('温馨提示：当前时段不支持极速达业务，请选择其他配送方式！');\r\n                $(\"#li_411_id .qmark-icon\").attr('data-tips', $(\"#shipment411_msg\").val());\r\n              }\r\n            }\r\n          }\r\n          // 京东快递tips\r\n          if (shipmentSupportType == \"0\") {\r\n            $(\"#jdShip-span-tip .qmark-icon\").attr('data-tips', '由京东公司负责配送，速度很快，还接受上门刷卡付款服务');\r\n          } else {\r\n            $(\"#jdShip-span-tip .qmark-icon\").attr('data-tips', '此订单支持预约配送，您可以选择指定的时间段');\r\n          }\r\n          $('#timeSave311').bind('click', function() {\r\n            if (JSON.stringify(calendar.result) == \"{}\" && $(\"#calendar_x\").val() == \"\") {\r\n              alert(\"您还没有指定配送时间\");\r\n              return;\r\n            } else if (JSON.stringify(calendar.result) != \"{}\") {\r\n              //给隐藏域赋值\r\n              $(\"#saveParam_promiseType\").val(1); //预约配送类型，1表示311，2表示411\r\n              $(\"#saveParam_jdShipTime\").val(4);\r\n              $(\"#saveParam_promiseDate\").val(calendar.result.day);\r\n              $(\"#saveParam_promiseTimeRange\").val(calendar.result.range);\r\n              $(\"#saveParam_promiseSendPay\").val(calendar.result['date-range']);\r\n              $(\"#calendar_x\").val(calendar.result.xy[0]);\r\n              $(\"#calendar_y\").val(calendar.result.xy[1]);\r\n              //$(\"#jd_shipment_calendar_date\").html('<span class=\"ftx-03\">配送时间：</span>' + calendar.result.day + \" \" + calendar.result.range)\r\n            } else if (JSON.stringify(calendar.result) == \"{}\") {\r\n              $(\"#saveParam_promiseType\").val(1); //预约配送类型，1表示311，2表示411\r\n              $(\"#saveParam_jdShipTime\").val(4); //1，表示只工作日，2，表示只周末，3表示工作日、节假日均可，4表示311,5表示极速达\r\n              //如果上次有选中的日期，则用上次日期，否则默认一个\r\n              if ($(\"#last_sel_promiseDate\").val() !== \"\" && $(\"#last_sel_promiseDate\").val() !== null && $(\"#last_sel_promiseDate\").val() !== \"undefined\" && $(\"#last_sel_promiseDate\").val() !== undefined) {\r\n                $(\"#saveParam_promiseDate\").val($(\"#last_sel_promiseDate\").val());\r\n                $(\"#saveParam_promiseTimeRange\").val($(\"#last_sel_promiseTimeRange\").val());\r\n                $(\"#saveParam_promiseSendPay\").val($(\"#last_sel_promiseSendPay\").val());\r\n              } else {\r\n                // 日历为空没有选择给一个默认的过期时间，异步验证会取最近的时间，提升用户体验\r\n                $(\"#saveParam_promiseDate\").val(\"2011-06-27\");\r\n                $(\"#saveParam_promiseTimeRange\").val(\"{'1':1,'35':0,'30':1}\");\r\n                $(\"#saveParam_promiseSendPay\").val(\"9:00-15:00\");\r\n              }\r\n            }\r\n            $(\"#reset_promise_311\").val(\"1\"); //是否需要重置311,不重置311\r\n            jQuery.closeDialog();\r\n            doSavePayAndShipmentInfo(\"jd_shipment\");\r\n          });\r\n          $('#timeSave411').bind('click', function() {\r\n            //先把311参数设置为空\r\n            $(\"#saveParam_promiseDate\").val(\"\");\r\n            $(\"#saveParam_promiseTimeRange\").val(\"\");\r\n            $(\"#saveParam_promiseSendPay\").val($(\"#shipment411_sendpay\").val());\r\n            //给隐藏域赋值\r\n            \r\n            $(\"#saveParam_promiseType\").val(2); //预约配送类型，1表示311，2表示411\r\n            $(\"#saveParam_jdShipTime\").val(5);\r\n            //更新配送时间说明\r\n            $(\"#jd_shipment_calendar_date\").html('<span class=\"ftx-03\">配送时间：</span><font id=\"speedFreightNote\">极速达（3小时之内送达）</font>');\r\n            jQuery.closeDialog();\r\n            doSavePayAndShipmentInfo(\"jd_shipment\");\r\n          });\r\n        } //onready end\r\n    });\r\n  })\r\n}\r\n\r\n//311、411切换功能\r\nfunction doSwith311Tab(tabFlag) {\r\n  if (tabFlag == \"311\") {\r\n    $(\"#li_311_id\").addClass(\"tab-item-selected\");\r\n    $(\"#li_411_id\").removeClass(\"tab-item-selected\");\r\n    $(\"#tab_311_div\").show();\r\n    $(\"#tab_411_div\").hide();\r\n  } else if (tabFlag == \"411\") {\r\n    if ($(\"#li_411_id\").hasClass(\"disabled\")) {\r\n      return;\r\n    } else {\r\n      $(\"#li_411_id\").addClass(\"tab-item-selected\");\r\n      $(\"#li_311_id\").removeClass(\"tab-item-selected\");\r\n      $(\"#tab_411_div\").show();\r\n      $(\"#tab_311_div\").hide();\r\n    }\r\n  }\r\n}\r\n\r\n//保存京东配送\r\nfunction doSaveJdShipment(flag) {\r\n  doSavePayAndShipmentInfo(flag);\r\n  jQuery.closeDialog();\r\n}\r\n\r\n//保存自提点\r\nfunction doSavePickSite() {\r\n  //给保存设置值\r\n  var pickSiteId = $('#beforePickSiteId').val();\r\n  var pickDate = $('#beforePickDate').val();\r\n  var pickSiteNum = $('#beforePickSiteNum').val();\r\n  var pickRegionId = $('#beforePickRegionId').val();\r\n  var sel_regionid = $('#beforePickSelRegionid').val();\r\n  if (pickSiteId != null && pickSiteId != \"\") {\r\n    //----保存页面自提数据----\r\n    $('#saveParam_pickSiteId').val(pickSiteId);\r\n    $('#saveParam_pickDate').val(pickDate);\r\n    $('#saveParam_pickSiteNum').val(pickSiteNum);\r\n    $('#saveParam_pickRegionId').val(pickRegionId);\r\n    $('#pick_sel_regionid').val(sel_regionid);\r\n  }\r\n  doSavePayAndShipmentInfo(\"jd_picksite\");\r\n  jQuery.closeDialog();\r\n}\r\n\r\nfunction doSaveDialogPickSite() {\r\n  $(\"#pick_sel_regionid\").val($(\"#temp_pick_sel_regionid\").val());\r\n  doSavePayAndShipmentInfo(\"save_picksite\");\r\n  jQuery.closeDialog();\r\n}\r\n\r\n//保存支付方式\r\nfunction doSavePayWay() {\r\n  $(\"#saveParam_jdPayWayId\").val($('#subpayment .payment-item.item-selected').attr(\"supPaymentWayId\"));\r\n  $(\"#payment_name_div\").html('<span class=\"ftx-03\">付款方式：</span>' + $('#subpayment .payment-item.item-selected').attr(\"subPaymentWayName\"));\r\n  doSavePayAndShipmentInfo(\"jd_payway_save\");\r\n  jQuery.closeDialog();\r\n}\r\n  //保存大家电支付方式\r\nfunction doSaveBigItemPayWay() {\r\n  $(\"#saveParam_jdPayWayId\").val($('#bigItemsubpayment .payment-item.item-selected').attr(\"supPaymentWayId\"));\r\n  $(\"#payment_name_div_bigItem\").html('<span class=\"ftx-03\">付款方式：</span>' + $('#bigItemsubpayment .payment-item.item-selected').attr(\"subPaymentWayName\"));\r\n  doSavePayAndShipmentInfo(\"jd_payway_save\");\r\n  jQuery.closeDialog();\r\n}\r\n\r\n//点击切换大家电安装时间\r\nfunction doSwithInstall(venderId, thisElement) {\r\n  $('.li_shipment_install').removeClass().addClass(\"li_shipment_install\");\r\n  $(thisElement).removeClass().addClass(\"li_shipment_install selected\");\r\n}\r\n\r\n//点击切换第三方大家电安装时间\r\nfunction doSwithOtherInstall(venderId, thisElement) {\r\n  $('.li_shipment_install_other').removeClass().addClass(\"li_shipment_install_other\");\r\n  $(thisElement).removeClass().addClass(\"li_shipment_install_other selected\");\r\n}\r\n\r\n//保存选择的大家电安装时间\r\nfunction doSaveInstallDate(venderId) {\r\n  var installDate_date = $('.li_shipment_install.selected').attr(\"installDate_date\");\r\n  var installDate_weekDay = $('.li_shipment_install.selected').attr(\"installDate_weekDay\");\r\n  if(installDate_weekDay==undefined||installDate_weekDay==\"undefined\"){\r\n\t  installDate_weekDay = \"\";\r\n  }\r\n  $(\"#install_date_div_\" + venderId).html('<span class=\"ftx-03\">安装时间：</span>' + installDate_date + \" \" + installDate_weekDay + '<span class=\"ftx-03 ml5\">只针对京东上门安装商品</span>');\r\n  $(\"#saveParam_jdBigItemInstallTimeOffest\").val($('.li_shipment_install.selected').attr(\"installDate_offset\"));\r\n  doSavePayAndShipmentInfo(\"jd_bigitem_installdate\");\r\n  jQuery.closeDialog();\r\n}\r\n\r\n//保存选择的第三方大家电安装时间\r\nfunction doSaveOtherInstallDate(venderId){\r\n   var installDate_date = $('.li_shipment_install_other.selected').attr(\"installDate_date\");\r\n   var installDate_weekDay = $('.li_shipment_install_other.selected').attr(\"installDate_weekDay\");\r\n   if(installDate_weekDay==undefined||installDate_weekDay==\"undefined\"){\r\n\t   installDate_weekDay = \"\";\r\n\t}\r\n   $(\"#otherinstall_date_div_\" + venderId).html('<span class=\"ftx-03\">安装时间：</span>' + installDate_date + \" \" + installDate_weekDay +'<span class=\"ftx-03 ml5\">只针对京东上门安装商品</span>');\r\n   $(\"#saveParam_otherBigItemInstallTimeOffset\").val($('.li_shipment_install_other.selected').attr(\"installDate_offset\"));\r\n   doSavePayAndShipmentInfo(\"jd_otherbigitem_installdate\");\r\n   jQuery.closeDialog();\r\n}\r\n\r\n//点击切换大家电配送时间\r\nfunction doSwithBigShip(venderId,thisElement){\r\n   $('.li_shipment').removeClass().addClass(\"li_shipment\");\r\n    $(thisElement).removeClass().addClass(\"li_shipment selected\");\r\n}\r\n//点击切换第三方大家电配送时间\r\nfunction doSwithOtherBigShip(venderId,thisElement){\r\n    $('.li_shipment_other').removeClass().addClass(\"li_shipment_other\");\r\n    $(thisElement).removeClass().addClass(\"li_shipment_other selected\");\r\n}\r\n\r\n//保存大家电配送时间\r\nfunction doSaveBigShipDate(venderId){\r\n   $(\"#shipment_date_div_\" + venderId).html('<span class=\"ftx-03\">配送时间：</span>' + $('.li_shipment.selected').attr(\"shipDate_date\") + \" \" + $('.li_shipment.selected').attr(\"shipDate_weekDay\"));\r\n   $(\"#saveParam_jdBigItemShipTimeOffset\").val($('.li_shipment.selected').attr(\"shipDate_offset\"));\r\n   \r\n   doSavePayAndShipmentInfo(\"jd_bigitem_shipdate\");\r\n   jQuery.closeDialog();\r\n}\r\n\r\n//保存第三方大家电配送时间\r\nfunction doSaveOtherBigShipDate(venderId){\r\n   $(\"#othershipment_date_div_\" + venderId).html('<span class=\"ftx-03\">配送时间：</span>' + $('.li_shipment_other.selected').attr(\"shipDate_date\") + \" \" + $('.li_shipment_other.selected').attr(\"shipDate_weekDay\"));\r\n   $(\"#saveParam_otherBigItemShipOffset\").val($('.li_shipment_other.selected').attr(\"shipDate_offset\"));\r\n   \r\n   doSavePayAndShipmentInfo(\"jd_otherbigitem_shipdate\");\r\n   jQuery.closeDialog();\r\n}\r\n\r\n//点击进入自提点配送修改时间界面\r\nfunction doEditPickSiteDate(venderId) {\r\n  var pickSiteShipmentHtml = $(\"#pickSiteShipDate\").html();\r\n  $('body').dialog({\r\n    title: '自提时间',\r\n    width: 530,\r\n    height: 230,\r\n    type: 'html',\r\n    source: pickSiteShipmentHtml,\r\n    onReady: function() {\r\n      //给选中的配送日期设置样式\r\n      var curSelPickSiteDate = $(\"#saveParam_pickDate\").val();\r\n      $(\".li_pick_shipment\").each(function(index, item) {\r\n        if ($(this).attr(\"date\") == curSelPickSiteDate) {\r\n          $(this).removeClass().addClass(\"li_pick_shipment selected\");\r\n          return;\r\n        }\r\n      });\r\n    }\r\n  });\r\n}\r\n\r\n//点击进入大家电配送时间选择界面\r\nfunction doEditBigShipmentDate(venderId) {\r\n  var bigShipHtml = $(\"#bigItemShipEdit_\" + venderId).html();\r\n  $('body').dialog({\r\n    title: '大件商品配送时间',\r\n    width: 530,\r\n    height: 230,\r\n    type: 'html',\r\n    source: bigShipHtml,\r\n    onReady: function() {\r\n      //给选中的大家电配送日期设置样式\r\n      var curSelBigItemShipOffset = $(\"#saveParam_jdBigItemShipTimeOffset\").val();\r\n      var isOk = false;\r\n      $(\".li_shipment\").each(function(index, item) {\r\n        if (curSelBigItemShipOffset != null && $(this).attr(\"shipDate_offset\") == curSelBigItemShipOffset) {\r\n          $(this).removeClass().addClass(\"li_shipment selected\");\r\n          isOk = true;\r\n        }\r\n      });\r\n      //如果没有值，则选中第一个\r\n      if (!isOk) {\r\n        $(\".li_shipment\").eq(0).removeClass().addClass(\"li_shipment selected\");\r\n      }\r\n    }\r\n  });\r\n}\r\n\r\n//点击进入第三方大家电配送时间选择界面\r\nfunction doEditOtherBigShipmentDate(venderId) {\r\n  var bigShipHtml = $(\"#otherBigItemShipEdit_\" + venderId).html();\r\n  $('body').dialog({\r\n    title: '大件商品配送时间',\r\n    width: 530,\r\n    height: 230,\r\n    type: 'html',\r\n    source: bigShipHtml,\r\n    onReady: function() {\r\n      //给选中的大家电配送日期设置样式\r\n      var curSelBigItemShipOffset = $(\"#saveParam_otherBigItemShipOffset\").val();\r\n      $(\".li_shipment_other\").each(function(index, item) {\r\n        if (curSelBigItemShipOffset != null && $(this).attr(\"shipDate_offset\") == curSelBigItemShipOffset) {\r\n          $(this).removeClass().addClass(\"li_shipment_other selected\");\r\n          return;\r\n        }\r\n      });\r\n    }\r\n  });\r\n}\r\n\r\n//京东付款方式\r\nfunction doEditPayway(venderId) {\r\n  var payHtml = $(\"#paywayEdit_\" + venderId).html();\r\n  var curSelPayWay = $(\"#saveParam_jdPayWayId\").val();\r\n  var showTitle = \"选择付款方式\";\r\n  if (curSelPayWay == \"0\") {\r\n    showTitle = \"选择货到付款的付款方式\";\r\n  }\r\n  $('body').dialog({\r\n    title: showTitle,\r\n    width: 425,\r\n    height: 130,\r\n    type: 'html',\r\n    source: payHtml,\r\n    onReady: function() {\r\n      //给选中的配送日期设置样式          \r\n      $(\"#subpayment .payment-item\").each(function(index, item) {\r\n        if ($(this).attr(\"supPaymentWayId\") == curSelPayWay) {\r\n          $(this).removeClass();\r\n          $(this).addClass(\"payment-item item-selected\");\r\n          return;\r\n        }\r\n      });\r\n      //控制显示提示\r\n      if (curSelPayWay == \"0\") {\r\n        $(\".pay_way_remark\").hide();\r\n      } else if (curSelPayWay == \"1\") {\r\n        $(\".pay_way_remark\").html('<span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#posz\" target=\"_blank\">货到付款的订单上写的是POS刷卡，可以换成现金支付吗？</a>');\r\n        $(\".pay_way_remark\").show();\r\n      }\r\n      if (curSelPayWay == \"2\") {\r\n        $(\".pay_way_remark\").html('<span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#zptt\" target=\"_blank\">使用支票支付，抬头写什么？</a><br><span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#zpxz\" target=\"_blank\">支票支付有金额和区域的限制么？</a><br><span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#zpjed\" target=\"_blank\">支票支付的订单，我支票的金额比订单实际金额多怎么办？</a>');\r\n        $(\".pay_way_remark\").show();\r\n      }\r\n    }\r\n  });\r\n}\r\n\r\n//京东大家电付款方式\r\nfunction doEditBigItemPayway(venderId) {\r\n  var payHtml = $(\"#paywayBigItemEdit_\" + venderId).html();\r\n  var curSelPayWay = $(\"#saveParam_jdPayWayId\").val();\r\n  var showTitle = \"选择付款方式\";\r\n  if (curSelPayWay == \"0\") {\r\n    showTitle = \"选择货到付款的付款方式\";\r\n  }\r\n  $('body').dialog({\r\n    title: showTitle,\r\n    width: 425,\r\n    height: 130,\r\n    type: 'html',\r\n    source: payHtml,\r\n    onReady: function() {\r\n      //给选中的配送日期设置样式          \r\n      $(\"#bigItemsubpayment .payment-item\").each(function(index, item) {\r\n        if ($(this).attr(\"supPaymentWayId\") == curSelPayWay) {\r\n          $(this).removeClass().addClass(\"payment-item item-selected\");\r\n          return;\r\n        }\r\n      });\r\n      //控制显示提示\r\n      if (curSelPayWay == \"0\") {\r\n        $(\".pay_way_remark\").hide();\r\n      } else if (curSelPayWay == \"1\") {\r\n        $(\".pay_way_remark\").html('<span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#posz\" target=\"_blank\">货到付款的订单上写的是POS刷卡，可以换成现金支付吗？</a>');\r\n        $(\".pay_way_remark\").show();\r\n      }\r\n      if (curSelPayWay == \"2\") {\r\n        $(\".pay_way_remark\").html('<span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#zptt\" target=\"_blank\">使用支票支付，抬头写什么？</a><br><span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#zpxz\" target=\"_blank\">支票支付有金额和区域的限制么？</a><br><span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#zpjed\" target=\"_blank\">支票支付的订单，我支票的金额比订单实际金额多怎么办？</a>');\r\n        $(\".pay_way_remark\").show();\r\n      }\r\n    }\r\n  });\r\n}\r\n\r\n//点击进入大家电安装日期选择界面\r\nfunction doEditInstallDate(venderId) {\r\n  var installHtml = $(\"#bigItemInstallEdit_\" + venderId).html();\r\n  $('body').dialog({\r\n    title: '大件商品安装时间',\r\n    width: 530,\r\n    height: 230,\r\n    type: 'html',\r\n    source: installHtml,\r\n    onReady: function() {\r\n      //给选中的配送日期设置样式\r\n      var curSelBigInstalloffset = $(\"#saveParam_jdBigItemInstallTimeOffest\").val();\r\n      $(\".li_shipment_install\").each(function(index, item) {\r\n        if (curSelBigInstalloffset != null && $(this).attr(\"installDate_offset\") == curSelBigInstalloffset) {\r\n          $(this).removeClass().addClass(\"li_shipment_install selected\");\r\n          return;\r\n        }\r\n      });\r\n    }\r\n  });\r\n}\r\n\r\n//点击进入第三方大家电安装日期选择界面\r\nfunction doEditOtherInstallDate(venderId) {\r\n  var installHtml = $(\"#otherBigItemInstallEdit_\" + venderId).html();\r\n  $('body').dialog({\r\n    title: '大件商品安装时间',\r\n    width: 530,\r\n    height: 230,\r\n    type: 'html',\r\n    source: installHtml,\r\n    onReady: function() {\r\n      //给选中的配送日期设置样式\r\n      var curSelBigInstalloffset = $(\"#saveParam_otherBigItemInstallTimeOffset\").val();\r\n      $(\".li_shipment_install_other\").each(function(index, item) {\r\n        if (curSelBigInstalloffset != null && $(this).attr(\"installDate_offset\") == curSelBigInstalloffset) {\r\n          $(this).removeClass().addClass(\"li_shipment_install_other selected\");\r\n          return;\r\n        }\r\n      });\r\n    }\r\n  });\r\n}\r\n\r\n//进入修改自提点页面\r\nfunction doEditPicksite() {\r\n  var picksiteHtml = $(\"#picksite_hidediv\").html();\r\n  $('body').dialog({\r\n    title: '选择自提点',\r\n    width: 780,\r\n    height: 500,\r\n    type: 'html',\r\n    source: '<div id=\"selfpick_siteDiv\">' + picksiteHtml + '</div>',\r\n    onReady: function() {\r\n      //设置选择区域\r\n\t  $(\"#temp_pick_sel_regionid\").val($(\"#pick_sel_regionid\").val());\r\n      /*var selRegionId = $(\"#pick_sel_regionid\").val();\r\n          $(\".pickRegion_select\").val(selRegionId); */\r\n    }\r\n  });\r\n}\r\n\r\n/**\r\n * 异步获取商品清单、支付方式和配送相关信息\r\n * zhuqingjie \r\n */\r\nfunction doAsynGetSkuPayAndShipInfo() {\r\n  var actionUrl = OrderAppConfig.DynamicDomain + \"/payAndShip/getAdditShipment.action\";\r\n  var payId = $('.payment-item.item-selected').attr('payId');\r\n  var reset311 = $('#reset_promise_311').val();\r\n  if (isEmpty(payId)) {\r\n    payId = 4;\r\n  }\r\n  var param = \"paymentId=\" + payId;\r\n  param = param + \"&shipParam.reset311=\"+reset311;\r\n  jQuery.ajax({\r\n    type: \"POST\",\r\n    dataType: \"json\",\r\n    url: actionUrl,\r\n    data: param,\r\n    cache: false,\r\n    success: function(dataResult, textStatus) {\r\n      // 没有登录跳登录\r\n      if (isUserNotLogin(dataResult)) {\r\n         goToLogin();\r\n         return;\r\n      }\r\n      if (dataResult.refreshVender) {\r\n    \t //goOrder();\r\n    \t //doAsynGetSkuPayAndShipInfo();\r\n         return;\r\n      }\r\n      doResetShipTime(dataResult.resetShipTime);\r\n      //处理311、411日历信息\t\r\n      doDealCalenderInfo(dataResult);\r\n      //处理自提点信息\r\n      doSelfPickStatus(dataResult.selfPick);\r\n      //处理白条、加载库存、获取店铺名称\r\n      showWhiteBar();\r\n      loadSkuListStock();\r\n      doGetVendorName();\r\n      showFerightInsure();\r\n      //根据商品属性加载订单备注信息\r\n      loadOrderRemark();\r\n      flushOrderPrice(dataResult.orderPrice, false);\r\n    },\r\n    error: function(XMLHttpResponse) {\r\n    \t//alert(\"系统繁忙，请稍后再试！\");\r\n      //goOrder();\r\n    }\r\n  });\r\n}\r\n\r\nfunction doSelfPickStatus(selfPick) {\r\n  if(selfPick==null){\r\n\t  return;\r\n  }\r\n  if (selfPick.pickShowStatus == \"0\") {\r\n    //厂商直送，自提点不可用\r\n    $(\"#jd_shipment_item\").addClass(\"curr\");\r\n    $(\"#pick_shipment_item\").removeClass(\"curr\").addClass(\"hide\");\r\n    $(\"#selfpick_shipment\").addClass(\"hide\");\r\n    $(\"#jd_shipment\").addClass(\"ui-switchable-panel-selected\").removeClass(\"hide\");\r\n  } else if (selfPick.pickShowStatus == \"1\") {\r\n    //自提点可用，并且是选中状态\r\n    //设置自提点显示名称\r\n    var pickNameTemp = $(\"#beforePickName\").val();\r\n    if (pickNameTemp == null || pickNameTemp == \"\") {\r\n      pickNameTemp = selfPick.pickName;\r\n    }\r\n    //add by zhuqingjie 如果之前还未选过自提点，自提地点为空\r\n    if (pickNameTemp == \"null\" || pickNameTemp == null || pickNameTemp == \"undefined\" || pickNameTemp == undefined ) {\r\n      pickNameTemp = \"\";\r\n    }\r\n    $(\"#selfpick_name\").html(\"<span class='ftx-03'>自提地点：</span>\" + pickNameTemp);\r\n    $(\"#selfpick_date\").html(\"<span class='ftx-03'>自提时间：</span>\" + selfPick.simplePickDate);\r\n    //给保存设置值\r\n    $('#saveParam_pickSiteId').val(selfPick.selectedPickView.pickId);\r\n    $('#saveParam_pickDate').val(selfPick.pickDate);\r\n    $('#saveParam_pickSiteNum').val(selfPick.pickSiteNum);\r\n    $('#saveParam_pickRegionId').val(selfPick.selRegionId);\r\n    $('#pick_sel_regionid').val(selfPick.selRegionId);\r\n    $(\"#pick_shipment_item\").removeClass(\"hide\");\r\n    if (selfPick.selectedPickView.used == true) {\r\n      if($(\"#pick_shipment_item > .m-txt > .ftx01\").length == 0) {\r\n         $(\"#pick_shipment_item .qmark-icon\").before('<span class=\"ftx01\">(荐)</span>');\r\n      }\r\n    }else{\r\n    \t$(\"#pick_shipment_item .m-txt .ftx01\").remove();\r\n    }\r\n    if (selfPick.pickShipSelected == true) {\r\n      $(\"#jd_shipment_item\").removeClass(\"curr\");\r\n      $(\"#jd_shipment\").addClass(\"hide\");\r\n      $(\"#selfpick_shipment\").removeClass(\"hide\");\r\n      $(\"#pick_shipment_item\").addClass(\"curr\");\r\n      $(\"#selfpick_shipment\").addClass(\"ui-switchable-panel-selected\");\r\n    }\r\n    $(\"#noSupSkus_hideDiv\")[0].text = \"\";\r\n  }\r\n  //自提点不可用状态\r\n  else if (selfPick.pickShowStatus == \"2\") {\r\n    $(\"#pick_shipment_item\").removeClass(\"hide\");\r\n    $(\"#pick_shipment_item\").addClass(\"disabled\");\r\n    $(\"#jd_shipment_item\").addClass(\"curr\");\r\n    $(\"#pick_shipment_item\").removeClass(\"curr\");\r\n    $(\"#selfpick_shipment\").addClass(\"hide\");\r\n    $(\"#jd_shipment\").addClass(\"ui-switchable-panel-selected\").removeClass(\"hide\");\r\n    var _arr= [];\r\n    for (var i = 0; i < selfPick.noSupportSelfPickSkuList.length; i++) {\r\n      _arr[i] = \"<div class='goods-item'>\\\r\n                  <div class='p-img'>\\\r\n                    <a target='_blank' href='http://item.jd.com/\" + selfPick.noSupportSelfPickSkuList[i].id + \".html'><img src='http://img14.360buyimg.com/N4/\" + selfPick.noSupportSelfPickSkuList[i].imgUrl + \"' alt=''></a>\\\r\n                  </div>\\\r\n                  <div class='p-name'>\\\r\n                    <a target='_blank' href='http://item.jd.com/\" + selfPick.noSupportSelfPickSkuList[i].id + \".html'>\" + selfPick.noSupportSelfPickSkuList[i].name + \"+</a>\\\r\n                  </div>\\\r\n                </div>\";\r\n    }\r\n    var noSupSkusHTML = \"<div class='tooltip-goods'><div class='tooltip-tit'>以下商品不支持自提</div><div class='goods-items'>\"+_arr.join('')+\"</div></div>\";\r\n    $(\"#noSupSkus_hideDiv\")[0].text = noSupSkusHTML;\r\n  }\r\n\r\n  $(\"#picksite_hidediv\").html(selfPick.pickShipmentView);\r\n  $(\"#pickSiteShipDate\").html(selfPick.pickDateHtml);\r\n}\r\n\r\n//点击切换付款方式\r\nfunction doSwithPaymentWay(supPaymentWayId) {\r\n  $(\"#subpayment .payment-item\").removeClass(\"item-selected\");\r\n  $(\"#supPaymentWay_\" + supPaymentWayId).addClass(\"item-selected\");\r\n  //控制显示提示\r\n  if (supPaymentWayId == \"0\") {\r\n    $(\".pay_way_remark\").hide();\r\n  } else if (supPaymentWayId == \"1\") {\r\n    $(\".pay_way_remark\").html('<span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#posz\" target=\"_blank\">货到付款的订单上写的是POS刷卡，可以换成现金支付吗？</a>');\r\n    $(\".pay_way_remark\").show();\r\n  }\r\n  if (supPaymentWayId == \"2\") {\r\n    $(\".pay_way_remark\").html('<span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#zptt\" target=\"_blank\">使用支票支付，抬头写什么？</a><br><span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#zpxz\" target=\"_blank\">支票支付有金额和区域的限制么？</a><br><span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#zpjed\" target=\"_blank\">支票支付的订单，我支票的金额比订单实际金额多怎么办？</a>');\r\n    $(\".pay_way_remark\").show();\r\n  }\r\n}\r\n\r\n//点击切换付款方式\r\nfunction doSwithBigItemPaymentWay(thisElement){\r\n\t$(\"#bigItemsubpayment .payment-item\").removeClass(\"item-selected\");\r\n\t$(thisElement).addClass(\"item-selected\");\r\n\t//控制显示提示\r\n\tif($(thisElement).attr(\"supPaymentWayId\")==\"0\"){\r\n\t\t$(\".pay_way_remark\").hide();\r\n\t}else if($(thisElement).attr(\"supPaymentWayId\")==\"1\"){\r\n\t\t$(\".pay_way_remark\").html('<span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#posz\" target=\"_blank\">货到付款的订单上写的是POS刷卡，可以换成现金支付吗？</a>');\r\n\t\t$(\".pay_way_remark\").show();\r\n\t}if($(thisElement).attr(\"supPaymentWayId\")==\"2\"){\r\n\t\t$(\".pay_way_remark\").html('<span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#zptt\" target=\"_blank\">使用支票支付，抬头写什么？</a><br><span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#zpxz\" target=\"_blank\">支票支付有金额和区域的限制么？</a><br><span class=\"qmark\"></span><a class=\"ftx-05\" href=\"http://help.jd.com/help/question-61.html#zpjed\" target=\"_blank\">支票支付的订单，我支票的金额比订单实际金额多怎么办？</a>');\r\n\t\t$(\".pay_way_remark\").show();\r\n\t}\r\n}\r\n\r\nfunction doEditPickReigon(obj) {\r\n  var actionUrl = OrderAppConfig.AsyncDomain + \"/payAndShip/getPickSiteByRegion.action\";\r\n  var payId = $(\"#payment-list .payment-item.item-selected\").attr(\"payid\");\r\n  var pickId = $(\"#pick-sites .site-item.site-item-selected\").attr(\"pickid\");\r\n  if (isEmpty(payId)) {\r\n    payId = 4;\r\n  }\r\n  var regionId = $(obj).val();\r\n  if (isEmpty(regionId)) {\r\n    regionId = \"-1\";\r\n  }\r\n  $(\"#temp_pick_sel_regionid\").val(regionId);\r\n  //var repRegionId = regionId.replace(/:/g,\"-\");\r\n  var param = \"shipParam.payId=\" + payId;\r\n  param = param + \"&shipParam.pickSiteId=\" + pickId;\r\n  param = param + \"&shipParam.regionId=\" + regionId;\r\n  param = param + \"&shipParam.pickSiteNum=5\";\r\n  jQuery.ajax({\r\n    type: \"POST\",\r\n    dataType: \"json\",\r\n    url: actionUrl,\r\n    data: param,\r\n    cache: false,\r\n    success: function(dataResult, textStatus) {\r\n      // 没有登录跳登录\r\n      if (isUserNotLogin(dataResult)) {\r\n        goToLogin();\r\n        return;\r\n      }\r\n      if (dataResult == \"null\") {\r\n        alert(\"自提点获取异常，请重新选择或稍后尝试\");\r\n        goOrder();\r\n      }\r\n      var jsonO = dataResult;\r\n      if (jsonO.pickViewList.length == 0) {\r\n        alert(\"自提点获取异常，请重新选择或稍后尝试\");\r\n        goOrder();\r\n      }\r\n      var pickSiteListHTML = \"\";\r\n      if (jsonO.pickViewList.length != 0) {\r\n        for (var i = 0; i < jsonO.pickViewList.length; i++) {\r\n          pickSiteListHTML = pickSiteListHTML + \"<div class='site-item\";\r\n          if (jsonO.pickViewList[i].selected == true) {\r\n            pickSiteListHTML = pickSiteListHTML + \" site-item-selected\";\r\n          }\r\n          //add by zhuqingjie 添加自提点不可用标记\r\n          if (jsonO.pickViewList[i].cabinetAvailable == false) {\r\n            pickSiteListHTML = pickSiteListHTML + \" site-item-disabled\";\r\n          }\r\n          //end add\r\n          pickSiteListHTML = pickSiteListHTML + \"' pickName='\" + jsonO.pickViewList[i].pickName + \"' pickid='\" + jsonO.pickViewList[i].pickId + \"' > <div class='site-in-short' onclick='doSelectPicksite(this)' >\";\r\n          pickSiteListHTML = pickSiteListHTML + jsonO.pickViewList[i].pickName;\r\n          if (jsonO.pickViewList[i].used == true) {\r\n            pickSiteListHTML = pickSiteListHTML + \"[常用]\";\r\n          }\r\n          if (jsonO.pickViewList[i].cabinetAvailable == false) {\r\n            pickSiteListHTML = pickSiteListHTML + \"[已满]\";\r\n          }\r\n          if (jsonO.pickViewList[i].limitKeyword == \"1\") {\r\n            pickSiteListHTML = pickSiteListHTML + \"[限]\";\r\n          }\r\n          if (jsonO.pickViewList[i].limitKeyword == \"1\" && jsonO.pickViewList[i].specialRemark != \"\") {\r\n            pickSiteListHTML = pickSiteListHTML + jsonO.pickViewList[i].specialRemark;\r\n          }\r\n          pickSiteListHTML = pickSiteListHTML + \" <b></b></div>\";\r\n          pickSiteListHTML = pickSiteListHTML + \" <div class='field'> \";\r\n          pickSiteListHTML = pickSiteListHTML + \" <span class='tip'> \";\r\n          pickSiteListHTML = pickSiteListHTML + jsonO.pickViewList[i].address;\r\n          pickSiteListHTML = pickSiteListHTML + \" </span> \";\r\n          pickSiteListHTML = pickSiteListHTML + \" <a class='ftx-05 map-link' target='_blank' href='\" + jsonO.pickViewList[i].mapUrl + \"'>\" + jsonO.pickViewList[i].helpMessage + \"</a> \";\r\n          pickSiteListHTML = pickSiteListHTML + \" </div> <div class='clr'></div></div>  \";\r\n        }\r\n      }\r\n      $(\"#selfpick_siteDiv .pick-sites\").html(pickSiteListHTML);\r\n      if (jsonO.pickViewList.length >= 5) {\r\n        $(\"#selfpick_siteDiv .selfpick_more_link\").removeClass(\"hide\");\r\n      } else {\r\n        $(\"#selfpick_siteDiv .selfpick_more_link\").addClass(\"hide\");\r\n      }\r\n    },\r\n    error: function(XMLHttpResponse) {\r\n      //alert(\"系统繁忙，请稍后再试！\");\r\n      return false;\r\n    }\r\n  });\r\n}\r\n\r\nfunction open_MorePicksite(obj) {\r\n  var actionUrl = OrderAppConfig.AsyncDomain + \"/payAndShip/getPickSiteByRegion.action\";\r\n  var payId = $(\"#payment-list .payment-item.item-selected\").attr(\"payid\");\r\n  var pickId = $(\"#selfpick_siteDiv #pick-sites .site-item.site-item-selected\").attr(\"pickid\");\r\n  if (isEmpty(payId)) {\r\n    payId = 4;\r\n  }\r\n  \r\n  var regionId = $(\"#temp_pick_sel_regionid\").val();\r\n  if (isEmpty(regionId)) {\r\n    regionId = \"-1\";\r\n  }\r\n  //var repRegionId = regionId.replace(/:/g,\"-\");\r\n  var param = \"shipParam.payId=\" + payId;\r\n  param = param + \"&shipParam.pickSiteId=\" + pickId;\r\n  param = param + \"&shipParam.regionId=\" + regionId;\r\n  param = param + \"&shipParam.pickSiteNum=100\";\r\n\r\n  jQuery.ajax({\r\n    type: \"POST\",\r\n    dataType: \"json\",\r\n    url: actionUrl,\r\n    data: param,\r\n    cache: false,\r\n    success: function(dataResult, textStatus) {\r\n      // 没有登录跳登录\r\n      if (isUserNotLogin(dataResult)) {\r\n        goToLogin();\r\n        return;\r\n      }\r\n      if (dataResult == \"null\") {\r\n        alert(\"自提点获取异常，请重新选择或稍后尝试\");\r\n        goOrder();\r\n      }\r\n      var jsonO = dataResult;\r\n      if (jsonO.pickViewList.length == 0) {\r\n        alert(\"自提点获取异常，请重新选择或稍后尝试\");\r\n        goOrder();\r\n      }\r\n      var pickSiteListHTML = \"\";\r\n      if (jsonO.pickViewList.length != 0) {\r\n        for (var i = 0; i < jsonO.pickViewList.length; i++) {\r\n          pickSiteListHTML = pickSiteListHTML + \"<div class='site-item\";\r\n          if (jsonO.pickViewList[i].selected == true) {\r\n            pickSiteListHTML = pickSiteListHTML + \" site-item-selected\";\r\n          }\r\n          //add by zhuqingjie 添加自提点不可用标记\r\n          if (jsonO.pickViewList[i].cabinetAvailable == false) {\r\n            pickSiteListHTML = pickSiteListHTML + \" site-item-disabled\";\r\n          }\r\n          //end add\r\n          pickSiteListHTML = pickSiteListHTML + \"' pickid='\" + jsonO.pickViewList[i].pickId + \"' > <div class='site-in-short' onclick='doSelectPicksite(this)' >\";\r\n          pickSiteListHTML = pickSiteListHTML + jsonO.pickViewList[i].pickName;\r\n          if (jsonO.pickViewList[i].used == true) {\r\n            pickSiteListHTML = pickSiteListHTML + \"[常用]\";\r\n          }\r\n          if (jsonO.pickViewList[i].cabinetAvailable == false) {\r\n            pickSiteListHTML = pickSiteListHTML + \"[已满]\";\r\n          }\r\n          if (jsonO.pickViewList[i].limitKeyword == \"1\") {\r\n            pickSiteListHTML = pickSiteListHTML + \"[限]\";\r\n          }\r\n          if (jsonO.pickViewList[i].limitKeyword == \"1\" && jsonO.pickViewList[i].specialRemark != \"\") {\r\n            pickSiteListHTML = pickSiteListHTML + jsonO.pickViewList[i].specialRemark;\r\n          }\r\n          pickSiteListHTML = pickSiteListHTML + \" <b></b></div>\";\r\n          pickSiteListHTML = pickSiteListHTML + \" <div class='field'> \";\r\n          pickSiteListHTML = pickSiteListHTML + \" <span class='tip'> \";\r\n          pickSiteListHTML = pickSiteListHTML + jsonO.pickViewList[i].address;\r\n          pickSiteListHTML = pickSiteListHTML + \" </span> \";\r\n          pickSiteListHTML = pickSiteListHTML + \" <a class='ftx-05 map-link' target='_blank' href='\" + jsonO.pickViewList[i].mapUrl + \"'>\" + jsonO.pickViewList[i].helpMessage + \"</a> \";\r\n          pickSiteListHTML = pickSiteListHTML + \" </div> <div class='clr'></div></div>  \";\r\n\r\n        }\r\n      }\r\n      $(\"#selfpick_siteDiv .pick-sites\").html(pickSiteListHTML);\r\n      $(\"#selfpick_siteDiv .selfpick_more_link\").addClass(\"hide\");\r\n    },\r\n    error: function(XMLHttpResponse) {\r\n      //alert(\"系统繁忙，请稍后再试！\");\r\n      return false;\r\n    }\r\n  });\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/js/product.js",
    "content": " /*\r\n item.jd.com Compressed by uglify \r\n Author:keelii \r\n Date: 2014-10-21 5:57:53 [PM] \r\n */\r\nfunction insertScript(t, e) {\r\n    var i = document.getElementsByTagName(\"head\")[0], s = document.createElement(\"script\");\r\n    if (s.setAttribute(\"type\", \"text/javascript\"), e)\r\n        for (var a in e)\r\n            e.hasOwnProperty(a) && s.setAttribute(a, e[a]);\r\n    s.setAttribute(\"src\", t), i.appendChild(s)\r\n}\r\nfunction onNumChange() {\r\n    var t = Number($(\"#buy-num\").val()), e = $(\"#gift-tips a\"), i = e.attr(\"href\");\r\n    e.length && e.attr(\"href\", i.replace(/pcount=\\d+/, \"pcount=\" + t))\r\n}\r\nfunction sendRequest(t) {\r\n    var e = new Image;\r\n    e.setAttribute(\"src\", t), e = null\r\n}\r\nfunction strtotime(t, e) {\r\n    function i(t, e, i) {\r\n        var s, a = c[e];\r\n        a !== void 0 && (s = a - r.getDay(), 0 === s ? s = 7 * i : s > 0 && \"last\" === t ? s -= 7 : 0 > s && \"next\" === t && (s += 7), r.setDate(r.getDate() + s))\r\n    }\r\n    function s(t) {\r\n        var e = t.split(\" \"), s = e[0], a = e[1].substring(0, 3), n = /\\d+/.test(s), o = \"ago\" === e[2], c = (\"last\" === s ? -1 : 1) * (o ? -1 : 1);\r\n        if (n && (c *= parseInt(s, 10)), l.hasOwnProperty(a) && !e[1].match(/^mon(day|\\.)?$/i))\r\n            return r[\"set\" + l[a]](r[\"get\" + l[a]]() + c);\r\n        if (\"wee\" === a)\r\n            return r.setDate(r.getDate() + 7 * c);\r\n        if (\"next\" === s || \"last\" === s)\r\n            i(s, a, c);\r\n        else if (!n)\r\n            return !1;\r\n        return !0\r\n    }\r\n    var a, n, o, r, c, l, d, p, m, u;\r\n    if (!t)\r\n        return null;\r\n    if (t = t.replace(/\\s{2,}/g, \" \").replace(/[\\t\\r\\n]/g, \"\").toLowerCase(), \"now\" === t)\r\n        return null === e || isNaN(e) ? 0 | (new Date).getTime() / 1e3 : 0 | e;\r\n    if (!isNaN(a = Date.parse(t)))\r\n        return 0 | a / 1e3;\r\n    if (\"now\" === t)\r\n        return (new Date).getTime() / 1e3;\r\n    if (!isNaN(a = Date.parse(t)))\r\n        return a / 1e3;\r\n    if (n = t.match(/^(\\d{2,4})-(\\d{2})-(\\d{2})(?:\\s(\\d{1,2}):(\\d{2})(?::\\d{2})?)?(?:\\.(\\d+)?)?$/))\r\n        return o = n[1] >= 0 && 69 >= n[1] ? +n[1] + 2e3 : n[1], new Date(o, parseInt(n[2], 10) - 1, n[3], n[4] || 0, n[5] || 0, n[6] || 0, n[7] || 0) / 1e3;\r\n    if (r = e ? new Date(1e3 * e) : new Date, c = {sun: 0,mon: 1,tue: 2,wed: 3,thu: 4,fri: 5,sat: 6}, l = {yea: \"FullYear\",mon: \"Month\",day: \"Date\",hou: \"Hours\",min: \"Minutes\",sec: \"Seconds\"}, p = \"(years?|months?|weeks?|days?|hours?|minutes?|min|seconds?|sec|sunday|sun\\\\.?|monday|mon\\\\.?|tuesday|tue\\\\.?|wednesday|wed\\\\.?|thursday|thu\\\\.?|friday|fri\\\\.?|saturday|sat\\\\.?)\", m = \"([+-]?\\\\d+\\\\s\" + p + \"|\" + \"(last|next)\\\\s\" + p + \")(\\\\sago)?\", n = t.match(RegExp(m, \"gi\")), !n)\r\n        return !1;\r\n    for (u = 0, d = n.length; d > u; u++)\r\n        if (!s(n[u]))\r\n            return !1;\r\n    return r.getTime() / 1e3\r\n}\r\nfunction mktime() {\r\n    var t = new Date, e = arguments, i = 0, s = [\"Hours\", \"Minutes\", \"Seconds\", \"Month\", \"Date\", \"FullYear\"];\r\n    for (i = 0; s.length > i; i++)\r\n        if (e[i] === void 0)\r\n            e[i] = t[\"get\" + s[i]](), e[i] += 3 === i;\r\n        else if (e[i] = parseInt(e[i], 10), isNaN(e[i]))\r\n            return !1;\r\n    return e[5] += e[5] >= 0 ? 69 >= e[5] ? 2e3 : 100 >= e[5] ? 1900 : 0 : 0, t.setFullYear(e[5], e[3] - 1, e[4]), t.setHours(e[0], e[1], e[2]), (t.getTime() / 1e3 >> 0) - (0 > t.getTime())\r\n}\r\nfunction monthDay(t, e) {\r\n    var i, s, a, n = new Date(1e3 * t), o = new Date(1e3 * e), r = n.getFullYear(), c = n.getMonth() + 1, l = n.getDate(), d = o.getFullYear(), p = o.getMonth() + 1, m = o.getDate(), u = \"\", h = 12 * (d - r) + p - c;\r\n    return i = Math.floor(h / 12), s = h % 12, s = 0 === s - Math.floor(s) ? s + 1 : s, a = (mktime(0, 0, 0, p, m, d) - mktime(0, 0, 0, p, l, d)) / 86400, 0 > a && (s -= 1), 0 > s && (i -= 1), i > 0 && (u += i + \"\\u5e74\"), s > 0 && (u += s + \"\\u4e2a\\u6708\"), u\r\n}\r\nfunction el_top_middle(t, e, i) {\r\n    var s = t.outerWidth(), a = t.outerHeight();\r\n    e && (s = e), i && (a = i);\r\n    var n = function() {\r\n    };\r\n    n.doc = function() {\r\n        return \"BackCompat\" == document.compatMode ? document.body : document.documentElement\r\n    }, n.clientWidth = function() {\r\n        return n.doc().clientWidth\r\n    }, n.clientHeight = function() {\r\n        return n.doc().clientHeight\r\n    }, n.docWidth = function() {\r\n        return Math.max(n.doc().clientWidth, n.doc().scrollWidth)\r\n    }, n.docHeight = function() {\r\n        return Math.max(n.doc().clientHeight, n.doc().scrollHeight)\r\n    };\r\n    var o = n.docHeight() != n.clientHeight() ? 16 : 0, r = $(document).scrollTop(), c = (n.clientHeight() - a) / 2 + r, l = (n.clientWidth() - o - s) / 2;\r\n    t.css({left: l,top: c})\r\n}\r\nfunction showBaitiaoFq() {\r\n//    var t = document.getElementById(\"Fqfk_Tip\");\r\n//    $(\"#InitCartUrl\").attr(\"href\"), t.style.width = \"500px\";\r\n//    var e = 502, i = 358, s = '        <div id=\"Fqfk_Tip\" class=\"Tip360\" style=\"width:auto;\">            <div class=\"Tip_Title\">                <em>                    <img src=\"' + fq_serverSite + 'skin/images/tip_close.jpg\" class=\"Tip_Close\"/>                </em>\\u767d\\u6761/\\u5206\\u671f            </div>            <div class=\"Tip_Content\" id=\"Tip_fq0\">                <div id=\"baitiaofenqi\" style=\"position:relative;width:482px;height:330px;\">                </div>            </div>        </div>', a = (\"<div id='c04tip' class='clearfix' style='z-index:20000;position:absolute;width:\" + (e + 5) + \"px;height:\" + (i + 5) + \"px;'><div style='position:absolute;margin:5px 0 0 5px;width:\" + e + \"px;height:\" + i + \"px;z-index:20001;'>{HTML}</div></div>\").replace(\"{HTML}\", s), n = $(a);\r\n//    n.append(s), $(document.body).prepend(n), $(\"#Fqfk_Tip\").show(), el_top_middle($(\"#c04tip\"), 502, 358), $.ajax({url: \"http://nfa.jd.com/loadFa.js?aid=2_163_5702\",dataType: \"script\",cache: !0}), $(\".Tip_Close\").click(function() {\r\n//        $(\"#c04tip\").remove()\r\n//    })\r\n}\r\nfunction showNaBaitiao() {\r\n//    var t = 502, e = 358, i = $(\"<div id='c04tip' class='clearfix' style='z-index:20000;position:absolute;width:\" + (t + 5) + \"px;height:\" + (e + 5) + \"px;'><div style='position:absolute;margin:5px 0 0 5px;width:\" + t + \"px;height:\" + e + \"px;z-index:20001;'></div></div>\"), s = '        <div id=\"Fqfk_Tip\" class=\"Tip360\" style=\"width:auto;width:500px;height:310px;\">            <div class=\"Tip_Title\">                <em><img src=\"http://jd2008.jd.com/purchase/skin/images/tip_close.jpg\" class=\"Tip_Close\"></em> \\u62ff\\u767d\\u6761            </div>            <div class=\"Tip_Content\" id=\"nabaitiao\"></div>        </div>';\r\n//    i.append(s), $(document.body).prepend(i), $(\"#Fqfk_Tip\").show(), el_top_middle($(\"#c04tip\"), 502, 358), $(\".Tip_Close\").click(function() {\r\n//        $(\"#c04tip\").remove()\r\n//    }), $.ajax({url: \"http://nfa.jd.com/loadFa.js?aid=2_163_5480\",dataType: \"script\",cache: !0})\r\n}\r\nfunction showTip100(proobj) {\r\n    var TipDivW = $(proobj).width(), TipDivH = $(proobj).height();\r\n    TipDivW = 502, TipDivH = 358;\r\n    var TipDiv = $(\"<div id='c04tip' class='clearfix' style='z-index:20000;position:absolute;width:\" + eval(TipDivW + 5) + \"px;height:\" + eval(TipDivH + 5) + \"px;'><div style='position:absolute;margin:5px 0 0 5px;width:\" + TipDivW + \"px;height:\" + TipDivH + \"px;z-index:20001;'></div></div>\");\r\n    fq_returnData && fq_formatData(fq_returnData), TipDiv.append($(proobj)), 0 == $(\"#c04tip\").length && $(document.body).prepend(TipDiv), $(proobj).show(), el_top_middle($(\"#c04tip\"), 502, 358), $(\"#Tip_apply,#Tip_continue,.Tip_Close\").click(function() {\r\n        $(\"#c04tip\").remove(), $(\"#choose-btn-coll\").after('<div id=\"Fqfk_Tip\" class=\"Tip360\"></div>')\r\n    })\r\n}\r\nfunction fq_showFq_html(t) {\r\n    if (null != t) {\r\n        if (0 == t.json.length)\r\n            return;\r\n        if (0 == t.json.length)\r\n            return;\r\n        if (null != t.json[0].error)\r\n            return;\r\n        document.getElementById(fq_btnPanel).innerHTML = '<a href=\"javascript:;\" class=\"btn-divide\" onclick=\"showTip100(\\'#Fqfk_Tip\\')\">\\u5206\\u671f\\u4ed8\\u6b3e<b></b></a>', fq_returnData = t\r\n    }\r\n}\r\nfunction fq_formatData() {\r\n//    var t = document.getElementById(\"Fqfk_Tip\"), e = $(\"#InitCartUrl\").attr(\"href\");\r\n//    t.style.width = \"500px\";\r\n//    var i = \"http://baitiao.jd.com/creditUser/list?from=dpy\", s = '<div class=\"Tip_Title\">            <em>                <img src=\"' + fq_serverSite + 'skin/images/tip_close.jpg\" class=\"Tip_Close\"/>            </em>\\u767d\\u6761/\\u5206\\u671f        </div>        <div class=\"Tip_Content\" id=\"Tip_fq0\">            <div style=\"position:relative;width:482px;height:310px;\">                <img src=\"http://img13.360buyimg.com/da/jfs/t157/107/261896691/42066/92e14669/5385b7edNa8b9b2a3.png\" />                <a href=\"http://help.jd.com/help/question-71.html#help211\" title=\"\\u94f6\\u884c\\u5206\\u671f\" style=\"position: absolute;bottom:3px;width:410px;height:32px;left:60px;background: url(http://misc.360buyimg.com/lib/img/e/blank.gif);\"></a>                <a href=' + e + ' title=\"\\u52a0\\u5165\\u8d2d\\u7269\\u8f66\" style=\"position:absolute;top:61px;right:11px;width:98px;height:24px;background: url(http://misc.360buyimg.com/lib/img/e/blank.gif);\" clstag=\"shangpin|keycount|product|initcarturlbt\"></a>                <a href=' + i + ' title=\"\\u7acb\\u5373\\u6fc0\\u6d3b\" style=\"position:absolute;top:61px;left:146px;width:67px;height:24px;background: url(http://misc.360buyimg.com/lib/img/e/blank.gif);\"></a>            </div>        </div>';\r\n   // t.innerHTML = s\r\n}\r\nfunction getCookie(t) {\r\n    var e = document.cookie.match(RegExp(\"(^| )\" + t + \"=([^;]*)(;|$)\"));\r\n    return null != e ? unescape(e[2]) : null\r\n}\r\nfunction setSearch(t, e) {\r\n    var i = pageConfig.wideVersion && pageConfig.compatible ? 5 : 4, s = t || s;\r\n    $.ajax({url: \"http://api.search.jd.com/?key=\" + s + \"&pagesize=\" + i + \"&filt_type=wyn,L1M1;wstate,L1M1\" + e,dataType: \"jsonp\",success: function(t) {\r\n            var e = t.Summary.key;\r\n            pageConfig.product.searchList = [], null !== t.Product && t.Product.length > 0 && (1 > $(\"#search-result\").length && $(\"#product-intro\").parent().before('<div class=\"w\"><div id=\"search-result\" class=\"m m2\" clstag=\"shangpin|keycount|product|exrs\"><div class=\"mt\"></div><div class=\"mc search-item\"></div></div></div>'), $(\"#search-result\").show(), $(\"#search-result .search-item\").html(search_TPL.process(t)), $(\"#search-result .mt\").html('<h2>\\u5728\\u4eac\\u4e1c\\u5546\\u57ce\\u4e2d\\u67e5\\u770b\\u5176\\u5b83\\u201c<a target=\"_blank\" href=\"http://search.jd.com/Search?keyword=' + e + '\">' + e + '</a>\\u201d\\u7684\\u641c\\u7d22\\u7ed3\\u679c\\uff1a</h2><div class=\"extra\"><a target=\"_blank\" href=\"http://search.jd.com/Search?keyword=' + e + '\">\\u67e5\\u770b\\u66f4\\u591a\\u641c\\u7d22\\u7ed3\\u679c</a></div>'), G.getPriceNum(pageConfig.product.searchList, null, $(\"#search-result\")), $(\".search-item dl .p-img a\").click(function() {\r\n                var t = $(this).parents(\"dl\").attr(\"skuid\");\r\n                $.getScript(\"http://sstat.jd.com/scslog?args=1^\" + encodeURIComponent(e) + \"^^1^^\" + encodeURIComponent(document.referrer) + \"^\" + t + \"^0^101^^0^0\")\r\n            }), $(\".search-item dl .p-name a\").click(function() {\r\n                var t = $(this).parents(\"dl\").attr(\"skuid\");\r\n                $.getScript(\"http://sstat.jd.com/scslog?args=1^\" + encodeURIComponent(e) + \"^^1^^\" + encodeURIComponent(document.referrer) + \"^\" + t + \"^0^101^^0^0\")\r\n            }))\r\n        }})\r\n}\r\nfunction seoBanner(t, e) {\r\n    $.ajax({url: \"http://seo.jd.com/adrpc/source.action\",data: {cateid: G.cat[0],type: 5,ison: 1 === warestatus ? !0 : !1},dataType: \"jsonp\",success: function(t) {\r\n            var i = '<div class=\"w\">    <div class=\"m m2\">        <div class=\"mt hide\"></div>        <div class=\"mc\"><a href=\"${ad.target}\" target=\"_blank\" title=\"${ad.title}\"><img src=\"${ad.img}\" width=\"${width}\" height=\"${height}\" alt=\"${ad.title}\" /></a></div>    </div></div>';\r\n            t && t.result && 1 === t.result ? (t.width = pageConfig.compatible && pageConfig.wideVersion ? 1210 : 990, t.height = 110, $(\"#product-intro\").parent().before(i.process(t))) : G.isJd ? setSearch(searchEngineSource.k, e) : /utm_source=organic/.test(location.href) || setSearch(searchEngineSource.k, e)\r\n        }})\r\n}\r\nfunction getSuitInfoService(t) {\r\n    if (null !== t.packResponseList && t.packResponseList.length > 0) {\r\n        var e = pageConfig.wideVersion && pageConfig.compatible ? 12 : 8;\r\n        $(\"#favorable-suit\").show(), $(\"#favorable-suit .mc\").html(suit_TPL.tabs.process(t) + suit_TPL.cons.process(t)), $(\"#favorable-suit .mc\").Jtab({event: e >= t.packResponseList.length ? \"mouseover\" : \"click\",delay: 300,compatible: !0,currClass: \"scurr\"}, function(t, e) {\r\n            var i = e.attr(\"packprice\"), s = e.attr(\"data-cat\"), a = e.attr(\"packlistprice\"), n = e.attr(\"discount\"), o = e.find(\".fitting-price\"), r = e.find(\".orign-price\"), c = e.find(\".fitting-saving\"), l = e.find(\".infos .p-name a,.infos .btns a\"), d = [G.sku];\r\n            \"\" !== i && \"\" !== a && (o.html(parseFloat(i).toFixed(2)), r.html(parseFloat(a).toFixed(2)), c.html(parseFloat(n).toFixed(2))), e.find(\".suits li[data-sku]\").each(function() {\r\n                d.push($(this).attr(\"data-sku\"))\r\n            }), l.attr(\"href\", \"http://www.jd.com/suit/show.html?suitId=\" + s + \"&skuIds=\" + d.join(\",\")), e.find(\"img[data-src]\").each(function() {\r\n                var t = $(this), e = t.attr(\"data-src\");\r\n                e && t.attr(\"src\", e).removeAttr(\"data-src\")\r\n            }), G.getNewCLK({name: \"yhtz\",action: \"0\",csku: d,sku: G.sku})\r\n        }), $(\"#favorable-suit .scurr\").trigger(\"click\").trigger(\"mouseover\"), G.removeLastAdd()\r\n    }\r\n}\r\nfunction setPopInfo(t) {\r\n    if (t && (Recommend.getDaPeiGou(G.sku, t.vid), EvaluateGradeNew.init(t), !G.isJd && \"undefined\" != typeof warestatus && 1 != warestatus)) {\r\n        var e = $(\"#product-detail-1 .detail-list li\").eq(2);\r\n        e.html().indexOf(\"\\u5e97\\u94fa\\uff1a\") > -1 && e.html('\\u5e97\\u94fa\\uff1a<a href=\"' + t.url + '\" target=\"_blank\">' + t.vender + \"</a>\")\r\n    }\r\n}\r\nfunction renew() {\r\n//    $.ajax({url: \"http://d.360buy.com/oldfornew/get?skuId=\" + pageConfig.product.skuid,dataType: \"jsonp\",success: function(t) {\r\n//            var e = '<div class=\"renew-arrgrment\" style=\"line-height:200%;height:190px;overflow-y:auto;\">    <p>\\u5c0a\\u656c\\u7684\\u5ba2\\u6237\\uff1a</p>    <p>\\u60a8\\u597d\\uff01\\u6b22\\u8fce\\u60a8\\u53c2\\u52a0\\u4eac\\u4e1c\\u5546\\u57ce\\u201c\\u7535\\u8111\\u4ee5\\u65e7\\u6362\\u65b0\\u201d\\u6d3b\\u52a8\\u3002\\u4e3a\\u4e86\\u4fdd\\u8bc1\\u60a8\\u80fd\\u591f\\u6b63\\u5e38\\u4eab\\u53d7\\u4ee5\\u65e7\\u6362\\u65b0\\u6d3b\\u52a8\\u4f18\\u60e0\\uff0c\\u8bf7\\u60a8\\u4ed4\\u7ec6\\u9605\\u8bfb\\u4ee5\\u4e0b\\u6d3b\\u52a8\\u7ec6\\u5219\\uff0c\\u786e\\u8ba4\\u65e0\\u8bef\\u540e\\u518d\\u63d0\\u4ea4\\u4ee5\\u65e7\\u6362\\u65b0\\u8ba2\\u5355\\u3002</p>     <ul>        <li>1. \\u6d3b\\u52a8\\u53c2\\u4e0e\\u5730\\u533a\\uff1a\\u6240\\u6709\\u4eac\\u4e1c\\u81ea\\u8425\\u914d\\u9001\\u8986\\u76d6\\u8303\\u56f4\\uff0c\\u5177\\u4f53\\u8303\\u56f4\\u8bf7\\u67e5\\u770b\\u4eac\\u4e1c\\u5e2e\\u52a9\\u4e2d\\u5fc3\\uff1b</li>        <li>2. \\u4eac\\u4e1c\\u5546\\u57ce\\u53c2\\u52a0\\u6d3b\\u52a8\\u4ea7\\u54c1\\uff1a\\u4ee5\\u4ea7\\u54c1\\u9875\\u9762\\u4fe1\\u606f\\u663e\\u793a\\u4e3a\\u51c6\\uff1b</li>        <li>3. \\u60a8\\u53c2\\u52a0\\u4ee5\\u65e7\\u6362\\u65b0\\u7535\\u8111\\u8981\\u6c42\\uff1a\\u4efb\\u4f55\\u54c1\\u724c\\uff0c\\u53ef\\u4ee5\\u6b63\\u5e38\\u5f00\\u673a\\u7684\\u7b14\\u8bb0\\u672c\\u7535\\u8111\\uff1b\\u4e0d\\u7b26\\u5408\\u6b64\\u6807\\u51c6\\u7684\\u65e7\\u7535\\u8111\\uff0c\\u4e0d\\u80fd\\u53c2\\u4e0e\\u201c\\u4ee5\\u65e7\\u6362\\u65b0\\u201d\\u6d3b\\u52a8\\uff1b</li>        <li>4. \\u5177\\u4f53\\u6d3b\\u52a8\\u89c4\\u5219\\uff1a\\u4ee5\\u4eac\\u4e1c\\u5546\\u57ce\\u7f51\\u7ad9\\u9875\\u9762\\u516c\\u793a\\u4e3a\\u51c6\\uff1b</li>        <li>5. \\u7b7e\\u6536\\u6d41\\u7a0b\\uff1a\\u7b7e\\u7f72\\u4eac\\u4e1c\\u7535\\u8111\\u4ee5\\u65e7\\u6362\\u65b0\\u53d6\\u8d27\\u5355\\uff0c\\u5e76\\u628a\\u65e7\\u7535\\u8111\\u4ea4\\u4ed8\\u4eac\\u4e1c\\u914d\\u9001\\u5458\\uff1b</li>        <li>6. \\u9000\\u6362\\u8d27\\u6d41\\u7a0b\\uff1a\\u53c2\\u52a0\\u6b64\\u201c\\u4ee5\\u65e7\\u6362\\u65b0\\u201d\\u65b9\\u5f0f\\u8d2d\\u4e70\\u7684\\u7b14\\u8bb0\\u672c\\u7535\\u8111\\u5982\\u7533\\u8bf7\\u9000\\u8d27\\uff0c\\u4eac\\u4e1c\\u4ec5\\u6309\\u7167\\u6d88\\u8d39\\u8005\\u5b9e\\u9645\\u652f\\u4ed8\\u91d1\\u989d\\u9000\\u6b3e\\uff0c\\u4eac\\u4e1c\\u4e0d\\u518d\\u5411\\u6d88\\u8d39\\u8005\\u8fd4\\u8fd8\\u65e7\\u7b14\\u8bb0\\u672c\\u7535\\u8111\\u3002</li>    </ul></div><div class=\"renew-btn\">    <a href=\"#none\" class=\"css3-btn\">\\u540c\\u610f\\u534f\\u8bae</a></div>';\r\n//            t && t.isOldForNew && ($(\"#choose-btns\").prepend('<div id=\"choose-btn-renew\" class=\"btn\"><a href=\"javascript:;\" class=\"btn-renew\">\\u53c2\\u52a0\\u4ee5\\u65e7\\u6362\\u65b0<b></b></a></div>'), $(\"#choose-btn-renew\").jdThickBox({type: \"text\",width: 570,height: 240,title: \"\\u4ee5\\u65e7\\u6362\\u65b0\\u534f\\u8bae\",_title: \"renew_agreement_title\",source: e,_con: \"renew_aggrement\",_close: \"close_me\"}, function() {\r\n//                $(\".renew-btn .css3-btn\").attr(\"href\", \"http://trade.jd.com/order/getOrderInfo.action?pid=\" + pageConfig.product.skuid + \"&pcount=\" + $(\"#buy-num\").val() + \"&rid=\" + +new Date)\r\n//            }))\r\n//        }})\r\n}\r\nfunction onlineService(t, e, i) {\r\n    function s(t) {\r\n        return encodeURIComponent(encodeURIComponent(t))\r\n    }\r\n    var a = pageConfig.product.skuid;\r\n    a || (a = $(\"ul[id='summary'] span\").html().replace(\"\\u5546\\u54c1\\u7f16\\u53f7\\uff1a\", \"\"));\r\n    var n = unescape(G.name);\r\n    n = s(n);\r\n    var o = $(\"#name strong\").html();\r\n    o = s(o);\r\n    var r = $(\"#store-selector .text\").text(), c = $(\"#store-prompt strong\").html(), l = r + \"\\uff08\" + c + \"\\uff09\";\r\n    l = s(l), e = s(e);\r\n    var d = $(\"span[class^='star']\").attr(\"class\").replace(\"star sa\", \"\"), p = 100;\r\n    try {\r\n        p = $(\"a[href='#comment']\").html().replace(\"(\\u5df2\\u6709\", \"\").replace(\"\\u4eba\\u8bc4\\u4ef7)\", \"\")\r\n    } catch (m) {\r\n    }\r\n    var u = 100;\r\n    try {\r\n        u = $(\"#i-comment .rate strong\").text().replace(\"%\", \"\")\r\n    } catch (m) {\r\n    }\r\n    var h = s(pageConfig.product.src), f = jQuery.cookie(\"_recent\");\r\n    f || (f = \"\");\r\n    var g = \"\";\r\n    try {\r\n        g = $(\"strong[class='p-price'] img\").attr(\"src\")\r\n    } catch (m) {\r\n    }\r\n    g = g ? s(g) : \"\", i || (i = \"chat.jd.com\");\r\n    var v = \"http://\" + i + \"/index.action?\", b = {pid: a,price: g,stock: l,score: d,commentNum: p,imgUrl: h,wname: n,advertiseWord: o,seller: e,evaluationRate: u,recent: f,code: t,area: s($(\"#store-selector .text\").text()),size: s($(\"#choose-version .dd .selected a\").text()),services: s($(\"#summary-service .dd\").html())};\r\n    pageConfig.product.popInfo && pageConfig.product.popInfo.stock && (b.verderId = pageConfig.product.popInfo.stock.D.vid), open(v + decodeURIComponent($.param(b)), a, \"status=no,toolbar=no,menubar=no,location=no,titlebar=no,resizable=yes,width=1018px,height=590\")\r\n}\r\nfunction setImButton(t) {\r\n//    var e = t || G.sku;\r\n//    $.ajax({url: \"http://chat1.jd.com/api/checkChat?\",data: {pid: e,returnCharset: \"utf-8\"},dataType: \"jsonp\",success: function(t) {\r\n//            if (t) {\r\n//                pageConfig.im = t;\r\n//                var i = t.seller, s = t.code;\r\n//                if (i && \"\" != i && (i = i.replace(\"&qt;\", \"'\").replace(\"&dt;\", '\"')), 1 > $(\"#brand-bar-pop\").length && ($(\"#j-im\").length > 0 && $(\"#j-im\").remove(), $(\"#summary-grade .dd #j-im\").length > 0 && $(\"#summary-grade .dd #j-im\").remove(), (1 == s || 2 == s || 3 == s || 9 == s) && $(\"#summary-grade .dd\").append('<a id=\"j-im\" class=\"djd-im\" href=\"#none\" clstag=\"shangpin|keycount|product|imbtn\"><b>\\u8054\\u7cfb\\u5ba2\\u670d</b></a>')), 1 == s)\r\n//                    $(\"#online-service\").show(), $(\"#j-im\").attr(\"title\", i + \" \\u8054\\u7cfb\\u5ba2\\u670d\"), $(\"#j-im\").click(function() {\r\n//                        onlineService(1, i, t.chatDomain)\r\n//                    });\r\n//                else if (2 == s) {\r\n//                    $(\"#online-service\").show();\r\n//                    var a = e.length >= 10 ? \" \\u5ba2\\u670d\\u76ee\\u524d\\u4e0d\\u5728\\u7ebf\\uff01\\u8d2d\\u4e70\\u4e4b\\u524d\\uff0c\\u5982\\u6709\\u95ee\\u9898\\uff0c\\u8bf7\\u5728\\u6b64\\u9875\\u201c\\u5168\\u90e8\\u8d2d\\u4e70\\u54a8\\u8be2\\u201d\\u4e2d\\u5411\\u4eac\\u4e1c\\u5ba2\\u670d\\u53d1\\u8d77\\u54a8\\u8be2\" : \" \\u5382\\u5546\\u552e\\u524d\\u54a8\\u8be2\\u76ee\\u524d\\u4e0d\\u5728\\u7ebf\\uff01\\u8d2d\\u4e70\\u4e4b\\u524d\\uff0c\\u5982\\u6709\\u95ee\\u9898\\uff0c\\u8bf7\\u5728\\u6b64\\u9875\\u201c\\u5168\\u90e8\\u8d2d\\u4e70\\u54a8\\u8be2\\u201d\\u4e2d\\u5411\\u4eac\\u4e1c\\u5ba2\\u670d\\u53d1\\u8d77\\u54a8\\u8be2\";\r\n//                    $(\"#j-im\").addClass(\"d-offline\").html(\"<b>\\u7559\\u8a00\\u54a8\\u8be2</b>\").attr(\"title\", i + a).unbind(\"click\")\r\n//                } else\r\n//                    (3 == s || 9 == s) && ($(\"#online-service\").show().find(\"b\").html(\"\\u8054\\u7cfb\\u5ba2\\u670d\"), $(\"#j-im\").addClass(\"d-offline\").html(\"<b>\\u7559\\u8a00\\u54a8\\u8be2</b>\").attr(\"title\", i + \" \\u5ba2\\u670d\\u76ee\\u524d\\u4e0d\\u5728\\u7ebf\\uff0c\\u60a8\\u53ef\\u4ee5\\u70b9\\u51fb\\u6b64\\u5904\\u7ed9\\u5546\\u5bb6\\u7559\\u8a00\\uff0c\\u5e76\\u5728\\u3010\\u6211\\u7684\\u4eac\\u4e1c->\\u6d88\\u606f\\u7cbe\\u7075\\u3011\\u4e2d\\u67e5\\u770b\\u56de\\u590d\").click(function() {\r\n//                        onlineService(3, i, t.chatDomain)\r\n//                    }))\r\n//            }\r\n//        }})\r\n}\r\nfunction log(t, e) {\r\n    var s = \"\";\r\n    for (i = 2; arguments.length > i; i++)\r\n        s = s + arguments[i] + \"|||\";\r\n    var a = decodeURIComponent(escape(getCookie(\"pin\"))), n = \"http://csc.360buy.com/log.ashx?type1=$type1$&type2=$type2$&data=$data$&pin=$pin$&referrer=$referrer$&jinfo=$jinfo$&callback=?\", o = n.replace(/\\$type1\\$/, escape(t));\r\n    o = o.replace(/\\$type2\\$/, escape(e)), o = o.replace(/\\$data\\$/, escape(s)), o = o.replace(/\\$pin\\$/, escape(a)), o = o.replace(/\\$referrer\\$/, escape(document.referrer)), o = o.replace(/\\$jinfo\\$/, escape(\"\")), $.getJSON(o, function() {\r\n    });\r\n    var r = (\"https:\" == document.location.protocol ? \"https://mercuryssl\" : \"http://mercury\") + \".jd.com/log.gif\" + \"?t=other.000000\" + \"&m=UA-J2011-1\" + \"&v=\" + encodeURIComponent(\"t1=\" + t + \"$t2=\" + e + \"$p0=\" + s) + \"&ref=\" + encodeURIComponent(document.referrer) + \"&rm=\" + (new Date).getTime(), c = new Image(1, 1);\r\n    c.src = r\r\n}\r\nfunction clsPVAndShowLog(t, e, i, s) {\r\n    var a = t + \".\" + i + \".\" + skutype(e) + \".\" + s;\r\n    log(\"d\", \"o\", a)\r\n}\r\nfunction clsClickLog(t, e, i, s, a, n) {\r\n    var o = t + \".\" + s + \".\" + skutype(e);\r\n    appendCookie(n, i, o), log(\"d\", \"o\", o + \".c\")\r\n}\r\nfunction appendCookie(reCookieName, sku, key) {\r\n    var reWidsCookies = eval(\"(\" + getCookie(reCookieName) + \")\");\r\n    (null == reWidsCookies || \"\" == reWidsCookies) && (reWidsCookies = {}), null == reWidsCookies[key] && (reWidsCookies[key] = \"\");\r\n    var pos = reWidsCookies[key].indexOf(sku);\r\n    0 > pos && (reWidsCookies[key] = reWidsCookies[key] + \",\" + sku), setCookie(reCookieName, $.toJSON(reWidsCookies), 15)\r\n}\r\nfunction skutype(t) {\r\n    if (t) {\r\n        var e = (\"\" + t).length;\r\n        return 10 == e ? 1 : 0\r\n    }\r\n    return 0\r\n}\r\nfunction setCookie(t, e, i) {\r\n    var s = i, a = new Date;\r\n    a.setTime(a.getTime() + 1e3 * 60 * 60 * 24 * s), document.cookie = t + \"=\" + escape(e) + \";expires=\" + a.toGMTString() + \";path=/;domain=.jd.com\"\r\n}\r\nfunction getCookie(t) {\r\n    var e = document.cookie.match(RegExp(\"(^| )\" + t + \"=([^;]*)(;|$)\"));\r\n    return null != e ? unescape(e[2]) : null\r\n}\r\nfunction clsLog(t, e, i, s, a) {\r\n    appendCookie(a, i, t), i = i.split(\"#\")[0], log(3, t, i)\r\n}\r\nfunction mark(t, e) {\r\n    log(1, e, t)\r\n}\r\nfunction CombineShare(t) {\r\n    this.$el = t.$el, this.imgs = \"string\" == typeof t.imgs ? [t.imgs] : t.imgs, this.onbeforeOpen = t.onbeforeOpen || function() {\r\n    }, t.title.length > 27 && (t.title = t.title.substr(0, 27) + \"...\"), this.shareParam = {sid: t.sid,rid: t.rid,title: t.title,content: t.content,imgUrl: this.imgs[0],url: t.url}, this.shareMap = {T2: {name: \"sina\",text: \"\\u65b0\\u6d6a\\u5fae\\u535a\",url: \"http://share.jd.com/sina/login.action\"},T3: {name: \"qqWeibo\",text: \"\\u817e\\u8baf\\u5fae\\u535a\",url: \"http://share.jd.com/qqweibo/login.action\"},T4: {name: \"renren\",text: \"\\u4eba\\u4eba\\u7f51\",url: \"http://share.jd.com/renren/login.action\"},T5: {name: \"kaixin\",text: \"\\u5f00\\u5fc3\\u7f51\",url: \"http://share.jd.com/kaixin001/login.action\"},T6: {name: \"douban\",text: \"\\u8c46\\u74e3\\u7f51\",url: \"http://share.jd.com/douban/login.action\"}}, this.init()\r\n}\r\nif (G === void 0)\r\n    var G = window.G = {};\r\n(function(t) {\r\n    \"object\" == typeof pageConfig.product && (t.sku = pageConfig.product.skuid, t.key = pageConfig.product.skuidkey, t.url = pageConfig.product.href, t.src = pageConfig.product.src, t.name = pageConfig.product.name, t.mdPerfix = 1 == pageConfig.product.type ? \"CR\" : \"GR\", t.mbPerfix = 1 == pageConfig.product.type ? \"3C\" : \"GM\", t.mp = pageConfig.product.mp, t.jp = pageConfig.product.jp, t.cat = pageConfig.product.cat, t.orginSku = pageConfig.product.orginSkuid || t.sku, t.isJd = 1e9 > t.sku, t.isPop = t.sku > 1e9, t.isCellphone = 655 == pageConfig.product.cat[2] || 6881 == pageConfig.product.cat[2] || 6882 == pageConfig.product.cat[2], t.isArray = function(t) {\r\n        return \"[object Array]\" === Object.prototype.toString.call(t)\r\n    }, t.isObject = function(t) {\r\n        return \"[object Object]\" === Object.prototype.toString.call(t)\r\n    }, t.isEmptyObject = function(t) {\r\n        var e;\r\n        for (e in t)\r\n            return !1;\r\n        return !0\r\n    }, t.isNothing = function(e) {\r\n        return t.isArray(e) ? 1 > e.length : !e\r\n    }, t.getRandomArray = function(t, e) {\r\n        return e = e || 1, t.sort(function() {\r\n            return Math.random() - .5\r\n        }), t.slice(0, e)\r\n    }), t.getPriceNum = function(t, e, i, s, a) {\r\n        t = \"string\" == typeof t ? [t] : t, i = i || $(\"body\"), s = s || \"J-p-\";\r\n        var n = \"\";\r\n        if (null !== e && (n = readCookie(\"ipLoc-djd\") ? \"&area=\" + readCookie(\"ipLoc-djd\").replace(/-/g, \"_\") : \"&area=1\"), void 0 !== t) {\r\n            var o = \"http://p.3.cn/prices/mgets?type=1&skuIds=J_\" + t.join(\",J_\") + n;\r\n            $.ajax({url: o,dataType: \"jsonp\",success: function(t) {\r\n                    if (!t && !t.length)\r\n                        return !1;\r\n                    for (var e = 0; t.length > e; e++) {\r\n                        if (!t[e].id)\r\n                            return !1;\r\n                        var n = t[e].id.replace(\"J_\", \"\"), r = parseFloat(t[e].p);\r\n                        parseFloat(t[e].m), r > 0 ? i.find(\".\" + s + n).html(\"\\uffe5\" + t[e].p) : i.find(\".\" + s + n).html(\"\\u6682\\u65e0\\u62a5\\u4ef7\"), \"function\" == typeof a && a(n, t[e], o)\r\n                    }\r\n                }})\r\n        }\r\n    }, t.serializeUrl = function(t) {\r\n        var e, i, s, a, n = t.indexOf(\"?\"), o = t.substr(0, n), r = t.substr(n + 1), c = r.split(\"&\"), l = c.length, d = {};\r\n        for (e = 0; l > e; e++)\r\n            i = c[e].split(\"=\"), s = i[0], a = i[1], d[s] = a;\r\n        return {url: o,param: d}\r\n    }, t.setScroll = function(t) {\r\n        var e = \"string\" == typeof t ? $(t) : $(\"body\");\r\n        e.find(\".p-scroll\").each(function() {\r\n            var t = $(this).find(\".p-scroll-wrap\"), e = $(this).find(\".p-scroll-next\"), i = $(this).find(\".p-scroll-prev\");\r\n            t.find(\"li\").length > 4 && t.imgScroll({showControl: !0,width: 30,height: 30,visible: 4,step: 1,prev: i,next: e})\r\n        })\r\n    }, t.thumbnailSwitch = function(t, e, i, s, a) {\r\n        var n = t.find(\"img\"), o = a || \"mouseover\";\r\n        n.bind(o, function() {\r\n            var s = $(this), a = s.attr(\"src\"), n = a.replace(/\\/n\\d\\//, i);\r\n            e.attr(\"src\", n), t.removeClass(\"curr\"), s.parent().addClass(\"curr\")\r\n        })\r\n    }, t.getCommentNum = function(t, e) {\r\n        var i = pageConfig.product.commentCount;\r\n        return i !== void 0 ? e(i) : (window.getCommentCount = function(t) {\r\n            \"function\" == typeof e && e(t), t && pageConfig.product && (pageConfig.product.commentCount = t);\r\n            try {\r\n                delete window.getCommentCount\r\n            } catch (i) {\r\n            }\r\n        }\r\n//        , $.ajax({url: \"http://club.jd.com/ProductPageService.aspx?method=GetCommentSummaryBySkuId&referenceId=\" + t + \"&callback=getCommentCount\",dataType: \"script\",cache: !0})\r\n        , void 0)\r\n    }, t.getCommentData = function(t, e, i, s, a) {\r\n        t = t || [], e = e || $(\"body\").eq(0), i = i || \"p-comm-\", s = s || \"(\\u5df2\\u6709{NUM}\\u4eba\\u8bc4\\u4ef7)\", $.ajax({url: \"http://club.jd.com/clubservice.aspx?method=GetCommentsCount&referenceIds=\" + t,dataType: \"jsonp\",success: function(t) {\r\n                var e;\r\n                if (t && t.CommentsCount.length) {\r\n                    e = t.CommentsCount.length;\r\n                    for (var n = 0; e > n; n++)\r\n                        $(\".\" + i + t.CommentsCount[n].SkuId).find(\".star\").removeClass(\"sa5\").addClass(\"sa\" + t.CommentsCount[n].AverageScore), $(\".\" + i + t.CommentsCount[n].SkuId).html(s.replace(\"{NUM}\", t.CommentsCount[n].CommentCount)), a && a(t.CommentsCount[n].SkuId, t.CommentsCount[n])\r\n                }\r\n            }})\r\n    }, t.getUserLevel = function(t) {\r\n        switch (t) {\r\n            case 50:\r\n                return \"\\u6ce8\\u518c\\u7528\\u6237\";\r\n            case 56:\r\n                return \"\\u94c1\\u724c\\u7528\\u6237\";\r\n            case 59:\r\n                return \"\\u6ce8\\u518c\\u7528\\u6237\";\r\n            case 60:\r\n                return \"\\u94dc\\u724c\\u7528\\u6237\";\r\n            case 61:\r\n                return \"\\u94f6\\u724c\\u7528\\u6237\";\r\n            case 62:\r\n                return \"\\u91d1\\u724c\\u7528\\u6237\";\r\n            case 63:\r\n                return \"\\u94bb\\u77f3\\u7528\\u6237\";\r\n            case 64:\r\n                return \"\\u7ecf\\u9500\\u5546\";\r\n            case 65:\r\n                return \"VIP\";\r\n            case 66:\r\n                return \"\\u4eac\\u4e1c\\u5458\\u5de5\";\r\n            case -1:\r\n                return \"\\u672a\\u6ce8\\u518c\";\r\n            case 88:\r\n                return \"\\u53cc\\u94bb\\u7528\\u6237\";\r\n            case 90:\r\n                return \"\\u4f01\\u4e1a\\u7528\\u6237\";\r\n            case 103:\r\n                return \"\\u4e09\\u94bb\\u7528\\u6237\";\r\n            case 104:\r\n                return \"\\u56db\\u94bb\\u7528\\u6237\";\r\n            case 105:\r\n                return \"\\u4e94\\u94bb\\u7528\\u6237\"\r\n        }\r\n        return \"\\u672a\\u77e5\"\r\n    }, t.getNewUserLevel = function(t) {\r\n        switch (t) {\r\n            case 50:\r\n                return \"\\u6ce8\\u518c\\u7528\\u6237\";\r\n            case 56:\r\n                return \"\\u94dc\\u724c\\u7528\\u6237\";\r\n            case 59:\r\n                return \"\\u6ce8\\u518c\\u7528\\u6237\";\r\n            case 60:\r\n                return \"\\u94f6\\u724c\\u7528\\u6237\";\r\n            case 61:\r\n                return \"\\u94f6\\u724c\\u7528\\u6237\";\r\n            case 62:\r\n                return \"\\u91d1\\u724c\\u7528\\u6237\";\r\n            case 63:\r\n                return \"\\u94bb\\u77f3\\u7528\\u6237\";\r\n            case 64:\r\n                return \"\\u7ecf\\u9500\\u5546\";\r\n            case 110:\r\n                return \"VIP\";\r\n            case 66:\r\n                return \"\\u4eac\\u4e1c\\u5458\\u5de5\";\r\n            case -1:\r\n                return \"\\u672a\\u6ce8\\u518c\";\r\n            case 88:\r\n                return \"\\u94bb\\u77f3\\u7528\\u6237\";\r\n            case 90:\r\n                return \"\\u4f01\\u4e1a\\u7528\\u6237\";\r\n            case 103:\r\n                return \"\\u94bb\\u77f3\\u7528\\u6237\";\r\n            case 104:\r\n                return \"\\u94bb\\u77f3\\u7528\\u6237\";\r\n            case 105:\r\n                return \"\\u94bb\\u77f3\\u7528\\u6237\"\r\n        }\r\n        return \"\\u672a\\u77e5\"\r\n    }, t.calculatePrice = function(t, e) {\r\n        for (var i = $(t).parents(e), s = i.find(\".master input\").attr(\"wmeprice\"), a = i.find(\"input:checked\"), n = a.length, o = i.find(\".infos .res-totalprice\"), r = i.find(\".infos .res-jdprice\"), c = 0, l = 0, d = \"http://cart.jd.com/cart/dynamic/reBuyForOrderCenter.action?wids={SKUS}&nums={NUMS}\", p = i.find(\".btn-buy\"), m = [], u = 0; a.length > u; u++)\r\n            c += parseFloat(a.eq(u).attr(\"wmaprice\")), l += parseFloat(a.eq(u).attr(\"wmeprice\")), m.push(a.eq(u).attr(\"skuid\"));\r\n        \"\" == s || 0 >= Number(s) || 0 >= Number($(t).attr(\"wmeprice\")) ? (o.text(\"\\u6682\\u65e0\\u62a5\\u4ef7\"), r.text(\"\\u6682\\u65e0\\u62a5\\u4ef7\")) : (o.hasClass(\"saving\") || o.text(\"\\uffe5 \" + c.toFixed(2)), r.text(\"\\uffe5 \" + l.toFixed(2)), p.attr(\"href\", d.replace(\"{SKUS}\", m.join(\",\")).replace(\"{NUMS}\", m.join(\",\").replace(/\\d+/g, 1))), i.find(\".infos .p-name span\").html(\"\" + (n - 1)))\r\n    }, t.sortFitting = function(t, e, i) {\r\n        var s = $(i), a = e, n = s.find(\".suits\"), o = s.find(\".stab li\"), r = s.find(\".suits .lh\"), c = n.find('li[data-cat=\"' + a + '\"]');\r\n        if (\"all\" == e) {\r\n            var l = parseInt(n.attr(\"data-count\"));\r\n            n.find(\"li\").show(), r.css(\"width\", 166 * l), l > 4 && n.css(\"overflow-x\", \"scroll\")\r\n        } else\r\n            n.find(\"li\").hide(), c.show();\r\n        if (o.removeClass(\"scurr\"), $(t).addClass(\"scurr\"), 1 == !!$(t).attr(\"data-count\")) {\r\n            var d = parseInt($(t).attr(\"data-count\"));\r\n            n.css(\"overflow-x\", 4 >= d ? \"hidden\" : \"scroll\"), r.css(\"width\", 166 * d)\r\n        }\r\n        n.scrollLeft(0), G.removeLastAdd()\r\n    }, t.removeLastAdd = function(t) {\r\n        var t = t || $(\".suits\");\r\n        t.find(\"li\").removeClass(\"last-item\"), t.find(\"li:visible:last\").addClass(\"last-item\")\r\n    }, t.getNewCLK = function(t, e) {\r\n        var i = \"http://mercury.jd.com/log.gif?\", s = \"src=\" + t.name + \"$action=\" + t.action;\r\n        t.csku && (s += \"$csku=\" + t.csku.join(\",\")), t.sku && (s += \"$sku=\" + t.sku), t.index !== void 0 && (s += \"$index=\" + t.index);\r\n        var a = {t: t.id || (1 == pageConfig.product.type ? \"rec.993003\" : \"rec.993001\"),v: s,m: t.m || \"UA-J2011-1\",ref: t.ref || document.referrer,random: t.random || Math.random()};\r\n        return e !== void 0 ? i + $.param(a) : (sendRequest(i + $.param(a)), void 0)\r\n    }, t.checkLogin = function(t) {\r\n        \"function\" == typeof t && $.getJSON(\"http://passport.jd.com/loginservice.aspx?method=Login&callback=?\", function(e) {\r\n            e.Identity && t(e.Identity)\r\n        })\r\n    }, t.insertStyles = function(t) {\r\n        var e = document, i = e.getElementsByTagName(\"head\"), s = e.createElement(\"style\"), a = e.createElement(\"link\");\r\n        if (/\\.css$/.test(t))\r\n            a.rel = \"stylesheet\", a.type = \"text/css\", a.href = t, i.length ? i[0].appendChild(a) : e.documentElement.appendChild(a);\r\n        else {\r\n            if (s.setAttribute(\"type\", \"text/css\"), s.styleSheet)\r\n                s.styleSheet.cssText = t;\r\n            else {\r\n                var n = e.createTextNode(t);\r\n                s.appendChild(n)\r\n            }\r\n            i.length && i[0].appendChild(s)\r\n        }\r\n    }, t.showServiceDesc = function(t) {\r\n        var e = \"\", i = RegExp(\"-\" + t + \"-\"), s = \"-27-28-31-32-67-68-69-70-78-79-42-64-65-66-71-72-73-74-80-81-\", a = \"-2-3-4-44-49-\", n = \"-6-7-41-47-\", o = \"-9-48-60-\", r = \"-15-16-17-18-45-46-61-63-\", s = \"-11-\", c = \"-52-53-54-57-58-59-75-82-83-84-\";\r\n        return i.test(s) && (e = \"\\u7531\\u539f\\u5382\\u4e3a\\u60a8\\u63d0\\u4f9b\\u670d\\u52a1\\uff0c\\u5b98\\u65b9\\u54c1\\u8d28\\u4fdd\\u8bc1\\uff0c\\u670d\\u52a1\\u65e0\\u5fe7\"), i.test(a) && (e = \"\\u81ea\\u5382\\u5546\\u4fdd\\u4fee\\u671f\\u7ed3\\u675f\\u8d77\\uff0c\\u5ef6\\u957f\\u60a8\\u7231\\u673a\\u7684\\u4fdd\\u4fee\\u65f6\\u95f4\"), i.test(n) && (e = \"\\u63d0\\u4f9b\\u7531\\u4e8e\\u610f\\u5916\\u4e8b\\u6545\\u5bfc\\u81f4\\u7231\\u673a\\u6545\\u969c\\u7684\\u4fdd\\u4fee\\u670d\\u52a1\"), i.test(o) && (e = \"\\u7231\\u673a\\u6545\\u969c\\u65e0\\u9700\\u7ef4\\u4fee\\uff0c\\u76f4\\u63a5\\u514d\\u8d39\\u66f4\\u6362\\u65b0\\u673a\"), i.test(r) && (e = \"\\u4e13\\u4e1a\\u5de5\\u7a0b\\u5e08\\u4e0a\\u95e8\\u4e3a\\u60a8\\u63d0\\u4f9b\\u5b89\\u88c5\\u8c03\\u8bd5\\u670d\\u52a1\"), i.test(s) && (e = \"\\u4e13\\u5bb6\\u5728\\u7ebf\\uff0c\\u8fdc\\u7a0b\\u534f\\u52a9\\u60a8\\u89e3\\u51b3\\u8f6f\\u4ef6\\u4f7f\\u7528\\u95ee\\u9898\"), i.test(c) && (e = \"\\u514d\\u8d39\\u63d0\\u4f9b1\\u6b21\\u5c4f\\u5e55\\u4fee\\u590d\\uff0c\\u8ba9\\u5c4f\\u788e\\u4e0d\\u518d\\u5fc3\\u788e\\u3002\"), e\r\n    }, t.clsLog = function(t, e, i, s, a) {\r\n        var n = new Image, o = \"http://mercury.jd.com/log.gif?t=rec.\" + t + \"&v=\" + encodeURIComponent(\"src=rec$action=\" + e + \"$enb=1$sku=\" + i + \"$csku=\" + s + \"$index=\" + (a || 0) + \"$expid=0\") + \"&m=UA-J2011-1&ref=\" + encodeURIComponent(document.referrer) + \"&random=\" + Math.random();\r\n        n.setAttribute(\"src\", o)\r\n    }, t.Countdown = {init: function(t, e) {\r\n            this.seconds = t, this.timer = null, this.callback = e || function() {\r\n            }, this.loopCount()\r\n        },loopCount: function() {\r\n            var t = this, e = t.formatSeconds(t.seconds);\r\n            t.callback(e), this.timer = setInterval(function() {\r\n                var e = t.formatSeconds(t.seconds);\r\n                0 === e.d && 0 === e.h && 0 === e.m && 0 === e.s ? clearInterval(t.timer) : t.seconds--, t.callback(e)\r\n            }, 1e3)\r\n        },formatSeconds: function(t) {\r\n            var e = Math.floor(t / 86400), i = Math.floor(t % 86400 / 3600), s = Math.floor(t % 86400 % 3600 / 60), t = t % 86400 % 3600 % 60;\r\n            return {d: e,h: i,m: s,s: t}\r\n        }}, t.onAttr = function(t, e) {\r\n        var i = pageConfig.product.specialAttrs;\r\n        if (i && i.length) {\r\n            for (var s = 0; i.length > s; s++)\r\n                if (i[s] == t)\r\n                    return e(), !0;\r\n            return !1\r\n        }\r\n        return !1\r\n    }\r\n})(G), pageConfig.serviceYB = \"enabled\", pageConfig.btnBaiTiaoFq = \"enabled\", function(t) {\r\n    t.fn.floatNav = function(e) {\r\n//        var i = t.extend({start: null,end: null,fixedClass: \"nav-fixed\",anchor: null,targetEle: null,range: 0,onStart: function() {\r\n//            },onEnd: function() {\r\n//            }}, e), s = t(this), a = s.height(), n = s.width(), o = t('<div class=\"float-nav-wrap\"/>');\r\n//        return s.css({height: a,width: n}), s.parent().hasClass(\"float-nav-wrap\") || s.wrap(o.css(\"height\", a)), t(window).bind(\"scroll\", function() {\r\n//            var e = t(document).scrollTop(), a = s.find(\"a\").eq(0).attr(\"href\"), n = i.start || s.parent(\".float-nav-wrap\").offset().top, o = i.targetEle ? t(i.targetEle).offset().top : 1e4;\r\n//            e > n && (i.end || o) - i.range > e ? (s.addClass(i.fixedClass), i.anchor && a !== i.anchor && s.find(\".toggle-link\").attr(\"href\", i.anchor), i.onStart && i.onStart()) : (s.removeClass(i.fixedClass), i.anchor && s.find(\".toggle-link\").attr(\"href\", \"javascript:;\"), i.onEnd && i.onEnd())\r\n//        }), this\r\n    }\r\n}(jQuery), function(t) {\r\n    var e = function(e, i) {\r\n        this.opts = t.extend({start: null,end: null,startThrehold: 0,stopThrehold: 0,onStart: function() {\r\n            },onEnd: function() {\r\n            },onScroll: function() {\r\n            }}, i), this.$o = t(e), this.init()\r\n    };\r\n    e.prototype = {init: function() {\r\n            this.bindEvent(), t(window).bind(\"scroll\", function() {\r\n                t(this).trigger(\"onscroller\")\r\n            })\r\n        },bindEvent: function() {\r\n            var e, i = this;\r\n            t(window).bind(\"onscroller\", function() {\r\n                clearTimeout(e), e = setTimeout(function() {\r\n                    i.onScroll(), clearTimeout(e)\r\n                }, 300)\r\n            })\r\n        },onScroll: function() {\r\n            var e = t(document).scrollTop(), i = this.opts.start || this.$o.offset().top, s = this.opts.end || i + this.$o.outerHeight(), a = t(window).height();\r\n            e > i + this.opts.startThrehold && s - a - this.opts.stopThrehold > e ? this.opts.onStart(this) : this.opts.onEnd(this), this.opts.onScroll(this)\r\n        }}, t.fn.scroller = function(i, s) {\r\n        return this.each(function() {\r\n            var a = new e(this, i, s);\r\n            t(this).data(\"scroller\", a)\r\n        })\r\n    }\r\n}(jQuery), function(t) {\r\n    var e = function(e, i, s) {\r\n        this.opts = t.extend({content: e.title || \"\",width: null,oTop: 0,oLeft: 5,zIndex: 1,event: null,position: \"top\",close: !1,autoClose: !1}, i), this.$obj = t(e), this.callback = s || function() {\r\n        }, this.init()\r\n    };\r\n    e.prototype = {init: function() {\r\n            var t = Math.random().toString(16).substring(2);\r\n            this.id = \"TIP-\" + t, this.insertStyles('.Jtips { position: relative; float:left; display:none; } .Jtips-close { position:absolute; color:#ff6600; font:12px \"simsun\"; cursor:pointer; } .Jtips-top .Jtips-close { right:1px; top:0px; } .Jtips-bottom .Jtips-close { right:1px; top:5px; } .Jtips-left .Jtips-close { right:6px; top:1px; } .Jtips-right .Jtips-close { right:1px; top:1px; } .Jtips-arr { position: absolute; background-image:url(http://misc.360buyimg.com/product/skin/2012/i/arrow.gif); background-repeat:no-repeat; overflow:hidden; } .Jtips-top { padding-bottom: 5px; } .Jtips-top .Jtips-arr { left:10px; bottom:0; width:11px; height:6px; background-position:0 -5px; _bottom:-1px; } .Jtips-bottom { padding-top: 5px; } .Jtips-bottom .Jtips-arr { top:0; left:10px; width:11px; height:6px; background-position:0 0; } .Jtips-left { padding-right: 5px;  } .Jtips-left .Jtips-arr { right:0; top:10px; width:6px; height:11px; background-position:-5px 0;} .Jtips-right {padding-left: 5px; } .Jtips-right .Jtips-arr {top:10px; left:0; width:6px; height:11px; background-position:0 0;  } .Jtips-con { float:left; padding:10px; background:#fffdee; border:1px solid #edd28b; color:#ff6501; -moz-box-shadow: 0 0 2px 2px #eee; -webkit-box-shadow: 0 0 2px 2px #eee; box-shadow: 0 0 2px 2px #eee; } .Jtips-con a,.Jtips-con a:hover,.Jtips-con a:visited { color:#005fab; text-decoration:none; } .Jtips-con a:hover { text-decoration: underline; }'), this.setTips(), null !== this.opts.event && this.bindEvent()\r\n        },insertStyles: function(t) {\r\n            var e = document, i = e.getElementsByTagName(\"head\"), s = e.createElement(\"style\"), a = e.createElement(\"link\");\r\n            if (/\\.css$/.test(t))\r\n                a.rel = \"stylesheet\", a.type = \"text/css\", a.href = t, i.length ? i[0].appendChild(a) : e.documentElement.appendChild(a);\r\n            else {\r\n                if (s.setAttribute(\"type\", \"text/css\"), s.styleSheet)\r\n                    s.styleSheet.cssText = t;\r\n                else {\r\n                    var n = e.createTextNode(t);\r\n                    s.appendChild(n)\r\n                }\r\n                i.length && i[0].appendChild(s)\r\n            }\r\n        },bindEvent: function() {\r\n            var t = this;\r\n            this.opts.autoClose ? this.$obj.hover(function() {\r\n                t.show()\r\n            }, function() {\r\n                t.hide()\r\n            }) : this.$obj.unbind(this.opts.event).bind(this.opts.event, function() {\r\n                t.show()\r\n            })\r\n        },bindClose: function(t) {\r\n            var e = this;\r\n            t.find(\".Jtips-close\").bind(\"click\", function() {\r\n                e.remove()\r\n            })\r\n        },getPosition: function() {\r\n            var t = this.$obj;\r\n            return {w: t.outerWidth(),h: t.outerHeight(),oTop: t.offset().top,oLeft: t.offset().left}\r\n        },setPosition: function(t, e) {\r\n            var i = this.getPosition();\r\n            if (t.css({position: \"absolute\",\"z-index\": this.opts.zIndex}), \"left\" === e && t.css({top: i.oTop - 10 + this.opts.oTop,left: i.oLeft - this.tips.outerWidth() - this.opts.oLeft}), \"right\" === e && t.css({left: i.oLeft + i.w + this.opts.oLeft,top: i.oTop - 10 + this.opts.oTop}), \"top\" === e && t.css({left: i.oLeft - 10 + this.opts.oLeft,top: i.oTop - this.tips.outerHeight() - this.opts.oTop}), \"bottom\" === e && t.css({left: i.oLeft - 10 + this.opts.oLeft,top: i.oTop + i.h + this.opts.oTop}), this.opts.autoClose) {\r\n                var s = this.$obj.css(\"position\");\r\n                this.$obj.css({position: \"static\" == s ? \"relative\" : s}), t.css({left: this.opts.oLeft,top: this.$obj.outerHeight()})\r\n            }\r\n        },setTips: function() {\r\n            var e = this.opts.close ? '<div class=\"Jtips-close\">&times;</div>' : \"\", i = t('<div data-tipID=\"' + this.id + '\" class=\"Jtips Jtips-' + this.opts.position + '\"><div class=\"Jtips-arr\"></div>' + e + '<div class=\"Jtips-con\">' + this.opts.content + \"</div></div>\"), s = this;\r\n            1 > t('[data-tipID=\"' + this.id + '\"]').length && (this.tips = i, this.opts.autoClose ? this.$obj.append(i) : t(\"body\").eq(0).append(i), this.tips.css(\"width\", this.opts.width || i.width()).find(\".Jtips-con\").css(\"width\", (this.opts.width || i.width()) - 20), this.setPosition(i, this.opts.position), this.bindClose(i), t(window).resize(function() {\r\n                s.setPosition(i, s.opts.position)\r\n            }), \"function\" == typeof this.callback && this.callback.apply(this.$obj, [i]))\r\n        },show: function() {\r\n            this.tips.show()\r\n        },hide: function() {\r\n            this.tips.hide()\r\n        },remove: function() {\r\n            this.tips.remove()\r\n        }}, t.fn.Jtips = function(i, s) {\r\n        return this.each(function() {\r\n            var a = new e(this, i, s);\r\n            t(this).data(\"Jtips\", a)\r\n        })\r\n    }\r\n}(jQuery), function(t) {\r\n    t.fn.jqueryzoom = function(e) {\r\n        var i = {xzoom: 200,yzoom: 200,offset: 10,position: \"right\",lens: 1,preload: 1};\r\n        e && t.extend(i, e);\r\n        var s = \"\";\r\n        t(this).hover(function() {\r\n            function e(t) {\r\n                this.x = t.pageX, this.y = t.pageY\r\n            }\r\n            var a = t(this).offset().left, n = t(this).offset().top, o = t(this).find(\"img\").get(0).offsetWidth, r = t(this).find(\"img\").get(0).offsetHeight;\r\n            s = t(this).find(\"img\").attr(\"alt\");\r\n            var c = t(this).find(\"img\").attr(\"jqimg\");\r\n            t(this).find(\"img\").attr(\"alt\", \"\"), 0 == t(\"div.zoomdiv\").get().length && (t(this).after(\"<div class='zoomdiv'><img class='bigimg' src='\" + c + \"'/></div>\"), t(this).append(\"<div class='jqZoomPup'>&nbsp;</div>\")), t(\"div.zoomdiv\").width(i.xzoom), t(\"div.zoomdiv\").height(i.yzoom), t(\"div.zoomdiv\").show(), i.lens || t(this).css(\"cursor\", \"crosshair\"), t(document.body).mousemove(function(s) {\r\n                mouse = new e(s);\r\n                var c = t(\".bigimg\").get(0).offsetWidth, l = t(\".bigimg\").get(0).offsetHeight, d = \"x\", p = \"y\";\r\n                if (isNaN(p) | isNaN(d)) {\r\n                    var p = c / o, d = l / r;\r\n                    t(\"div.jqZoomPup\").width(i.xzoom / (1 * p)), t(\"div.jqZoomPup\").height(i.yzoom / (1 * d)), i.lens && t(\"div.jqZoomPup\").css(\"visibility\", \"visible\")\r\n                }\r\n                xpos = mouse.x - t(\"div.jqZoomPup\").width() / 2 - a, ypos = mouse.y - t(\"div.jqZoomPup\").height() / 2 - n, i.lens && (xpos = a > mouse.x - t(\"div.jqZoomPup\").width() / 2 ? 0 : mouse.x + t(\"div.jqZoomPup\").width() / 2 > o + a ? o - t(\"div.jqZoomPup\").width() - 2 : xpos, ypos = n > mouse.y - t(\"div.jqZoomPup\").height() / 2 ? 0 : mouse.y + t(\"div.jqZoomPup\").height() / 2 > r + n ? r - t(\"div.jqZoomPup\").height() - 2 : ypos), i.lens && t(\"div.jqZoomPup\").css({top: ypos,left: xpos}), scrolly = ypos, t(\"div.zoomdiv\").get(0).scrollTop = scrolly * d, scrollx = xpos, t(\"div.zoomdiv\").get(0).scrollLeft = scrollx * p\r\n            })\r\n        }, function() {\r\n            t(this).children(\"img\").attr(\"alt\", s), t(document.body).unbind(\"mousemove\"), i.lens && t(\"div.jqZoomPup\").remove(), t(\"div.zoomdiv\").remove()\r\n        }), count = 0, i.preload && (t(\"body\").append(\"<div style='display:none;' class='jqPreload\" + count + \"'>360buy</div>\"), t(this).each(function() {\r\n            var e = t(this).children(\"img\").attr(\"jqimg\"), i = jQuery(\"div.jqPreload\" + count).html();\r\n            jQuery(\"div.jqPreload\" + count).html(i + '<img src=\"' + e + '\">')\r\n        }))\r\n    }\r\n}(jQuery);\r\nvar suit_TPL = {tabs: '<ul class=\"stab lh\">{for item in packResponseList}<li class=\"fore${parseInt(item_index)+1}{if item_index==0} scurr{/if}\" data-widget=\"tab-item\" data-cat=\"${item.packId}\" data-suit=\"${item.packName}\" title=\"${item.packName}\">{if G.cat[2]==694}${item.packName.substr(0, 6)}{else}\\u4f18\\u60e0\\u5957\\u88c5${parseInt(item_index)+1}{/if}</li>{/for}</ul>',cons: '{for item in packResponseList}<div data-widget=\"tab-content\" packPrice=\"${item.packPrice.amount}\" packListPrice=\"${parseFloat((item.baseDiscount||0)+item.packPrice.amount).toFixed(2)}\" discount=\"${(item.baseDiscount||item.discount.amount)}\" data-cat=\"${item.packId}\" class=\"stabcon{if parseInt(item_index) !== 0} none{/if}\"><div class=\"master\">    <s></s>    <div class=\"p-img\">        <a href=\"http://item.jd.com/' + G.sku + '.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(' + G.sku + \")}n4/\" + pageConfig.product.src + '\" height=\"100\" width=\"100\"></a>' + \"    </div>\" + '    <div class=\"p-name\">' + '        <a href=\"http://item.jd.com/' + G.sku + '.html\" target=\"_blank\">' + G.name + \"</a>\" + \"    </div>\" + \"</div>\" + '<div class=\"suits\">' + '    <ul class=\"lh\" style=\"width:${(item.productList.length-1)*165}px\">' + \"{for itemList in item.productList}\" + \"{if itemList.skuId == G.sku}\" + \"{else}\" + '        <li data-sku=\"${itemList.skuId}\" onclick=\\'G.getNewCLK({ name: \"yhtz\", action: \"1\", sku:${G.sku}, csku:[${itemList.skuId}], index:${itemList_index} })\\'>' + \"            <s></s>\" + '            <div class=\"p-img\">' + '                <a href=\"http://item.jd.com/${itemList.skuId}.html\" target=\"_blank\"><img alt=\"\" {if Number(item_index)!=0}data-{/if}src=\"${pageConfig.FN_GetImageDomain(itemList.skuId)}n4/${itemList.skuPicUrl}\" alt=\"\" height=\"100\" width=\"100\"></a>' + \"            </div>\" + '            <div class=\"p-name\">' + '                <a href=\"http://item.jd.com/${itemList.skuId}.html\" target=\"_blank\">${itemList.skuName}</a>' + \"            </div>\" + \"        </li>\" + \"{/if}\" + \"{/for}\" + \"    </ul>\" + \"</div>\" + '<div class=\"infos\">' + \"    <s></s>\" + '    <div class=\"p-name\">' + '        <a href=\"http://www.jd.com/suite/${item.packId}-${skuId}.html\">${item.packName}</a>' + \"    </div>\" + '    <div class=\"p-price\">\\u5957&nbsp;&nbsp;\\u88c5&nbsp;&nbsp;\\u4ef7\\uff1a' + '        <strong class=\"fitting-price\">${parseFloat(item.packPrice.amount).toFixed(2)}</strong>' + \"    </div>\" + '    <div class=\"p-price\">\\u4eac \\u4e1c \\u4ef7\\uff1a' + '        <del class=\"orign-price\">${parseFloat((item.baseDiscount||0)+item.packPrice.amount).toFixed(2)}</del>' + \"    </div>\" + '    <div class=\"p-saving\">\\u7acb\\u5373\\u8282\\u7701\\uff1a' + '        <span class=\"fitting-saving\">${parseFloat(item.baseDiscount||item.discount.amount).toFixed(2)}</span>' + \"    </div>\" + '    <div class=\"btns\">' + '        <a class=\"btn-buy\" href=\"http://jd2008.jd.com/purchase/initcart.aspx?pId=${item.packId}&pCount=1&pType=2\" clstag=\"shangpin|keycount|product|{if G.isPop}popbuysuit{else}zybuysuit{/if}\">\\u8d2d\\u4e70\\u5957\\u88c5</a>' + \"    </div>\" + \"</div>\" + \"</div>\" + \"{/for}\"}, recoFittings_TPL = {tabs: '<li class=\"fore scurr\" onclick=\"G.sortFitting(this, \\'all\\', \\'#tab-reco\\')\">\\u5168\\u90e8\\u914d\\u4ef6</li>{for item in fittingType}<li class=\"fore${parseInt(item_index)+1}\" data-count=\"${item.number}\" data-cat=\"${item.sort}\" onclick=\"G.sortFitting(this, ${item.sort}, \\'#tab-reco\\')\">${item.name}(${item.number})</li>{/for}',cons: '<div class=\"master\">    <s></s>    <div class=\"p-img\">        <a href=\"http://item.jd.com/${master.skuid}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(master.skuid)}n4/${master.pic}\" height=\"100\" width=\"100\"></a>    </div>    <div class=\"p-name\">        <a href=\"http://item.jd.com/${master.skuid}.html\" target=\"_blank\">${master.name}</a>    </div>    <div class=\"p-price\"><input id=\"inp_${G.sku}_reco\" type=\"checkbox\" onclick=\"return false;\" onchange=\"return false\" wmeprice=\"{if master.price==\"\"}0.00{else}${master.price}{/if}\" wmaprice=\"${master.discount}\" skuid=\"${master.skuid}\" checked/> ${master.price}</div></div><div class=\"suits\" data-count=\"${fittings.length}\" style=\"overflow-x:{if parseInt(fittings.length)>(pageConfig.wideVersion&&pageConfig.compatible ? 4:3)}scroll{else}hidden{/if}\">    <ul class=\"lh\" style=\"width:${parseInt(fittings.length)*165}px\">        {for item in fittings}        <li data-cat=\"${item.sort}\" data-push=\"${pageConfig.product.cbRecoFittings.push(item.skuid)}\" onclick=\\'G.getNewCLK({ name: \"tjpj\", action: \"1\", sku:${G.sku}, csku: [${item.skuid}], index:${item_index}  })\\'>            <s></s>            <div class=\"p-img\">                <a href=\"http://item.jd.com/${item.skuid}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(item.skuid)}n4/${item.pic}\" alt=\"\" height=\"100\" skuidth=\"100\"></a>            </div>            <div class=\"p-name\">                <a href=\"http://item.jd.com/${item.skuid}.html\" target=\"_blank\">${item.name}</a>            </div>            <div class=\"choose\">                <input type=\"checkbox\" id=\"inp_${item.skuid}\" onclick=\"G.calculatePrice(this, \\'#tab-reco\\')\" wmaprice=\"${item.discount}\" wmeprice=\"${item.price}\" skuid=\"${item.skuid}\" />                <label for=\"inp_${item.skuid}\" class=\"p-price\">                    <strong class=\"J-p-${item.skuid}\"></strong>                </label>            </div>        </li>        {/for}    </ul></div><div class=\"infos\">    <s></s>    <div class=\"p-name\">        <em>\\u5df2\\u9009\\u62e9<span>0</span>\\u4e2a\\u914d\\u4ef6</em>    </div>    <div class=\"p-price\">\\u642d&nbsp;&nbsp;\\u914d&nbsp;&nbsp;\\u4ef7\\uff1a        <strong class=\"res-jdprice\">{if master.price==\"\"}\\u6682\\u65e0\\u62a5\\u4ef7{else}\\uffe5 ${master.price}{/if}</strong>    </div>    <div class=\"p-saving\">\\u83b7\\u5f97\\u4f18\\u60e0\\uff1a        <span class=\"res-totalprice saving\">\\uffe5 ${master.discount}</span>    </div>    <div class=\"btns\">        <a class=\"btn-buy\" href=\"http://cart.jd.com/cart/dynamic/reBuyForOrderCenter.action?wids=${master.skuid}&nums=1\" clstag=\"shangpin|keycount|product|tuijianpeijianbt\">\\u7acb\\u5373\\u8d2d\\u4e70</a>    </div></div>'}, suitRecommendNew_TPL = '<div class=\"stabcon\"><div class=\"master\">    <s></s>    <div class=\"p-img\">        <a href=\"http://item.jd.com/${G.sku}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(G.sku)}n4/${G.src}\" height=\"100\" width=\"100\"></a>    </div>    <div class=\"p-name\">        <a href=\"http://item.jd.com/${G.sku}.html\" target=\"_blank\">${G.name}</a>    </div>    <div class=\"p-price none\"><input type=\"checkbox\" id=\"inp_${G.sku}_hot\" onclick=\"return false;\" onchange=\"return false\" wmaprice=\"${G.mp}\" wmeprice=\"${G.jp}\" skuid=\"${G.sku}\" checked/> ${G.jp}</div></div><div class=\"suits\" style=\"overflow-x:{if parseInt(data.length)>(pageConfig.wideVersion&&pageConfig.compatible ? 4:3)}scroll{else}hidden{/if}\">    <ul class=\"lh\" style=\"width:${parseInt(data.length)*165}px\">        {for item in data}        <li data-clk=\"${item.clk}\" data-push=\"${pageConfig.product.cbCombineBuying.push(item.sku)}\" onclick=\"reClick(\\'${G.mdPerfix}3\\', \\'${G.sku}\\', \\'${item.sku}#${item.jp}\\', \\'${item_index}\\');\">            <s></s>            <div class=\"p-img\">                <a href=\"http://item.jd.com/${item.sku}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(item.sku)}n4/${item.img}\" alt=\"\" height=\"100\" width=\"100\"></a>            </div>            <div class=\"p-name\">                <a href=\"http://item.jd.com/${item.sku}.html\" target=\"_blank\">${item.t}</a>            </div>            <div class=\"choose\">                <input type=\"checkbox\" id=\"inp_${item.sku}\" onclick=\"G.calculatePrice(this, \\'#tab-hot\\')\" wmaprice=\"${item.mp}\" wmeprice=\"${item.jp}\" skuid=\"${item.sku}\" />                <label for=\"inp_${item.sku}\" class=\"p-price\">                    <strong class=\"J-p-${item.sku}\"></strong>                </label>            </div>        </li>        {/for}    </ul></div><div class=\"infos\" onclick=\"{for item in data}reClick(\\'${G.mdPerfix}3\\', \\'${G.sku}\\', \\'${item.sku}#${item.jp}\\', \\'${item_index}\\');{/for}\">    <s></s>    <div class=\"p-name\">        <a onclick=\"log(\\'${G.mbPerfix}PopularBuy\\',\\'click\\')\" href=\"http://cart.jd.com/cart/dynamic/reBuyForOrderCenter.action?wids=${G.sku}&nums=1\">\\u8d2d\\u4e70\\u4eba\\u6c14\\u7ec4\\u5408</a>    </div>    <div class=\"p-price\">\\u603b\\u4eac\\u4e1c\\u4ef7\\uff1a        <strong class=\"res-jdprice\">\\uffe5 ${G.jp}</strong>    </div>    <div class=\"p-saving\">\\u603b\\u53c2\\u8003\\u4ef7\\uff1a        <del class=\"res-totalprice\">\\uffe5 ${G.mp}</del>    </div>    <div class=\"btns\">        <a onclick=\"log(\\'${G.mbPerfix}PopularBuy\\',\\'click\\')\" class=\"btn-buy\" href=\"http://cart.jd.com/cart/dynamic/reBuyForOrderCenter.action?wids=${G.sku}&nums=1\" clstag=\"shangpin|keycount|product|renqizuhebt\">\\u8d2d\\u4e70\\u7ec4\\u5408</a>    </div></div><div class=\"clb\"></div></div>', addToCart_TPL = '<ul class=\"lh\">    {for item in data}    {if Number(item.jp)>=0}    <li data-push=\"${pageConfig.product.GrecommendSkus.push(item.sku)}\" class=\"fore1\" data-clk=\"${item.clk}\">        <div class=\"p-img\"><a target=\"_blank\" href=\"http://item.jd.com/${item.sku}.html\"><img height=\"100\" width=\"100\" alt=\"${item.t}\" data-img=\"1\" src=\"${pageConfig.FN_GetImageDomain(item.sku)}n4/${item.img}\"></a></div>        <div class=\"p-name\"><a target=\"_blank\" href=\"http://item.jd.com/${item.sku}.html\"\" title=\"${item.t}\">${item.t}</a></div>        <div class=\"p-price\"><strong class=\"J-p-${item.sku}\">\\uffe5${item.jp}</strong></div>    </li>    {/if}    {/for}</ul>', noStock = '<ul>    {for item in data}    {if Number(item.jp)>=0}    <li style=\"width:225px\" data-push=\"${pageConfig.product.GrecommendSkus.push(item.sku)}\" class=\"fore1\" data-clk=\"${item.clk}\" onclick=\"reClick2(\\'${pageConfig.product.cat[0]+\"&SORec\"}\\',\\'${pageConfig.product.skuid}\\', \\'${item.sku}#${item.jp}\\', ${item_index})\">        <div class=\"p-img\"><a target=\"_blank\" href=\"http://item.jd.com/${item.sku}.html\"><img height=\"130\" width=\"130\" alt=\"${item.t}\" data-img=\"1\" src=\"${pageConfig.FN_GetImageDomain(item.sku)}n3/${item.img}\"></a></div>        <div class=\"p-name\"><a target=\"_blank\" href=\"http://item.jd.com/${item.sku}.html\"\" title=\"${item.t}\">${item.t}</a></div>        <div class=\"p-price\"><strong class=\"J-p-${item.sku}\">\\uffe5${item.jp}</strong></div>    </li>    {/if}    {/for}</ul>', itemDisabledReco = '<ul>    {for item in data}    {if Number(item.jp)>=0}    <li style=\"width:225px;height:225px;\" data-push=\"${pageConfig.product.GrecommendSkus.push(item.sku)}\" class=\"fore1\" data-clk=\"${item.clk}\">        <div class=\"p-img\"><a target=\"_blank\" href=\"http://item.jd.com/${item.sku}.html\"><img height=\"130\" width=\"130\" alt=\"${item.t}\" data-img=\"1\" src=\"${pageConfig.FN_GetImageDomain(item.sku)}n3/${item.img}\"></a></div>        <div class=\"p-name\" style=\"text-align:left;\"><a target=\"_blank\" href=\"http://item.jd.com/${item.sku}.html\"\" title=\"${item.t}\">${item.t}</a></div>        <div class=\"p-price\" style=\"text-align:left;\"><strong class=\"J-p-${item.sku}\">\\uffe5${item.jp}</strong></div>        <div class=\"p-comm\"><a href=\"http://club.jd.com/review/${item.sku}-1-1.html\" class=\"p-comm-${item.sku}\"></a><div>    </li>    {/if}    {/for}</ul>', itemDisabled = '<p>\\u7c7b\\u4f3c\\u5546\\u54c1</p><div class=\"controls\">{for list in json}<a class=\"{if list_index==0}curr{/if}\" data-widget=\"tab-item\" href=\"#none\">${Number(list_index)+1}</a>{/for}</div><div class=\"itemover-related-list\">    {for list in json}    <ul class=\"lh {if list_index!=0} hide{/if}\" data-widget=\"tab-content\">        {for item in list.tabs}        {if Number(item.jp)>=0}        <li data-push=\"${pageConfig.product.GrecommendSkus.push(item.sku)}\" class=\"fore1\" data-clk=\"${item.clk}\">            <div class=\"p-img\"><a target=\"_blank\" href=\"http://item.jd.com/${item.sku}.html\"><img height=\"160\" width=\"160\" alt=\"${item.t}\" data-img=\"1\" src=\"${pageConfig.FN_GetImageDomain(item.sku)}n2/${item.img}\"></a></div>            <div class=\"p-name\"><a target=\"_blank\" href=\"http://item.jd.com/${item.sku}.html\"\" title=\"${item.t}\">${item.t}</a></div>            <div class=\"p-price\"><strong class=\"J-p-${item.sku}\">\\uffe5${item.jp}</strong></div>        </li>        {/if}        {/for}    </ul>    {/for}</div>', listBuyBuyNew_TPL = '<ul>  {for item in data}  <li class=\"fore${Number(item_index)+1}\" data-clk=\"${item.clk}\" onclick=\"reClick(\\'${G.mdPerfix}2\\',\\'${G.sku}\\',\\'${item.sku}#${item.jp}\\',${item_index});\" class=\"fore${parseInt(arguments[2])+1}\" data-push=\"${pageConfig.product.GrecommendSkus.push(item.sku)}\">      <div class=\"p-img\">          <a target=\"_blank\" title=\"${item.t}\" href=\"http://item.jd.com/${item.sku}.html\"><img height=\"100\" width=\"100\" alt=\"${item.t}\" data-lazyload=\"${pageConfig.FN_GetImageDomain(item.sku)}n4/${item.img}\"></a>      </div>      <div class=\"p-name\">          <a target=\"_blank\" title=\"${item.t}\" href=\"http://item.jd.com/${item.sku}.html\">${item.t}</a>      </div>      <div class=\"p-price\">          <strong class=\"J-p-${item.sku}\">${item.jp}</strong>      </div>  </li>  {/for}</ul>', listBrosweBrosweNew_TPL = '<ul>  {for item in data}  <li class=\"fore${Number(item_index)+1}\" data-clk=\"${item.clk}\" onclick=\"reClick(1,\\'\\',\\'${item.sku}\\',${item_index});\" class=\"fore${parseInt(arguments[2])+1}\" data-push=\"${pageConfig.product.GrecommendSkus.push(item.sku)}\">      <div class=\"p-img\">          <a target=\"_blank\" title=\"${item.t}\" href=\"http://item.jd.com/${item.sku}.html\"><img height=\"100\" width=\"100\" alt=\"${item.t}\" data-lazyload=\"${pageConfig.FN_GetImageDomain(item.sku)}n4/${item.img}\"></a>      </div>      <div class=\"p-name\">          <a target=\"_blank\" title=\"${item.t}\" href=\"http://item.jd.com/${item.sku}.html\">${item.t}</a>      </div>      <div class=\"p-price\">          <strong class=\"J-p-${item.sku}\">${item.jp}</strong>      </div>  </li>  {/for}</ul>', listBrosweBuyNew_TPL = '<ul>  {for item in data}  <li class=\"fore${Number(item_index)+1}\" data-clk=\"${item.clk}\" onclick=\"reClick(\\'${G.mdPerfix}1\\', ${G.sku}, \\'${item.sku}#${item.jp}\\', ${item_index});\" class=\"fore${parseInt(arguments[2])+1}\" data-push=\"${pageConfig.product.GrecommendSkus.push(item.sku)}\">      <div class=\"p-img\">          <a target=\"_blank\" title=\"${item.t}\" href=\"http://item.jd.com/${item.sku}.html\"><img height=\"100\" width=\"100\" alt=\"${item.t}\" data-lazyload=\"${pageConfig.FN_GetImageDomain(item.sku)}n4/${item.img}\"></a>      </div>      <div class=\"p-name\">          <a target=\"_blank\" title=\"${item.t}\" href=\"http://item.jd.com/${item.sku}.html\">${item.t}</a>      </div>      <div class=\"p-price\">          <strong class=\"J-p-${item.sku}\">${item.jp}</strong>      </div>  </li>  {/for}</ul>', listBrosweBuyPOP_TPL = '<ul>  {for item in data}  <li class=\"fore${Number(item_index)+1}\" data-clk=\"${item.clk}\" onclick=\"reClick(\\'${G.mdPerfix}1\\', ${G.sku}, \\'${item.sku}#${item.jp}\\', ${item_index});\" class=\"fore${parseInt(arguments[2])+1}\" data-push=\"${pageConfig.product.GrecommendSkus.push(item.sku)}\">      <div class=\"p-img\">          <a target=\"_blank\" title=\"${item.t}\" href=\"http://item.jd.com/${item.sku}.html\"><img height=\"160\" width=\"160\" alt=\"${item.t}\" data-lazyload=\"${pageConfig.FN_GetImageDomain(item.sku)}n2/${item.img}\"></a>      </div>      <div class=\"p-name\">          <a target=\"_blank\" title=\"${item.t}\" href=\"http://item.jd.com/${item.sku}.html\">${item.t}</a>      </div>      <div class=\"p-price\">          <strong class=\"J-p-${item.sku}\">${item.jp}</strong>      </div>  </li>  {/for}</ul>', newCommentRate_TPL = '<div id=\"i-comment\">    <div class=\"rate\">        <strong>${productCommentSummary.goodRateShow}<span>%</span></strong>        <br> <span>\\u597d\\u8bc4\\u5ea6</span>     </div>     <div class=\"percent\">        <dl>             <dt>\\u597d\\u8bc4<span>(${productCommentSummary.goodRateShow}%)</span></dt>             <dd> <div style=\"width: ${productCommentSummary.goodRateShow}px;\"></div></dd>         </dl>         <dl>             <dt>\\u4e2d\\u8bc4<span>(${productCommentSummary.generalRateShow}%)</span></dt>             <dd class=\"d1\"><div style=\"width: ${productCommentSummary.generalRateShow}%;\"> </div></dd>         </dl>         <dl>             <dt>\\u5dee\\u8bc4<span>(${productCommentSummary.poorRateShow}%)</span></dt>            <dd class=\"d1\">             <div style=\"width: ${productCommentSummary.poorRateShow}%;\"> </div></dd>         </dl>     </div>     {if typeof hotCommentTagStatistics!=\"undefined\" && hotCommentTagStatistics.length>0}    <div class=\"actor-new\">        <dl>            <dt>\\u4e70\\u5bb6\\u5370\\u8c61\\uff1a</dt>            <dd class=\"p-bfc\">                {for tag in hotCommentTagStatistics}<q class=\"comm-tags\"><span>${tag.name}</span><em>(${tag.count})</em></q>{/for}            </dd>        </dl>        <div class=\"clr\"></div> <b></b>    </div>    {elseif typeof topFiveCommentVos!=\"undefined\"}    <div class=\"actor\">         <em>\\u53d1\\u8868\\u8bc4\\u4ef7\\u5373\\u53ef\\u83b7\\u5f97\\u4eac\\u8c46\\uff0c\\u524d\\u4e94\\u4f4d\\u8bc4\\u4ef7\\u7528\\u6237\\u53ef\\u83b7\\u5f97\\u53cc\\u500d\\u4eac\\u8c46\\uff1a</em><a href=\"http://help.jd.com/help/question-890.html\" target=\"_blank\">\\u8be6\\u89c1\\u4eac\\u8c46\\u89c4\\u5219</a>        <ul>            {for User in topFiveCommentVos}             <li><span>+{if User.integral==null}0{else}${User.integral}{/if}</span><div class=\"u-name\">${parseInt(User_index)+1}. <a href=\"http://club.jd.com/userreview/${User.uid}-1-1.html\" target=\"_blank\">${User.nickname}</a></div></li>            {/for}         </ul>        <div class=\"clr\"></div>         <b></b>    </div>    {/if}    <div class=\"btns\">         <div>\\u60a8\\u53ef\\u5bf9\\u5df2\\u8d2d\\u5546\\u54c1\\u8fdb\\u884c\\u8bc4\\u4ef7</div>         <a href=\"http://club.jd.com/mycomments.aspx?pid=${productCommentSummary.productId}\" class=\"btn-comment\" target=\"_blank\">\\u53d1\\u8bc4\\u4ef7\\u62ff\\u4eac\\u8c46</a>        <div><em class=\"hl_red\">\\u524d\\u4e94\\u540d\\u53ef\\u83b7\\u53cc\\u500d\\u4eac\\u8c46</em><a href=\"http://help.jd.com/help/question-890.html\" target=\"_blank\">[\\u89c4\\u5219]</a></div>    </div></div>', newCommentList_TPL = '{for list in comments}<div class=\"item\">  <div class=\"user\">      <div class=\"u-icon\"> {if !list.anonymousFlag||list.anonymousFlag!=1}<a title=\"\\u67e5\\u770bTA\\u7684\\u5168\\u90e8\\u8bc4\\u4ef7\" href=\"http://me.jd.com/${list.uid}.html\" target=\"_blank\">{/if} <img height=\"50\" width=\"50\" upin=\"${list.pin}\" src=\"http://{if typeof list.userImageUrl!==\"undefined\"}${list.userImageUrl}{else}misc.360buyimg.com/lib/img/u/${list.userLevelId}.gif{/if}\" alt=\"${list.nickname}\"/> {if !list.anonymousFlag||list.anonymousFlag!=1}</a>{/if}      </div>      <div class=\"u-name\"> {if !list.anonymousFlag||list.anonymousFlag!=1}<a href=\"http://me.jd.com/${list.uid}.html\" target=\"_blank\">{/if}      {if !G.isNothing(list.nickname)}          ${list.anonymousFlag&&list.anonymousFlag==1 ?  list.nickname.replace(list.nickname.substring(1, list.nickname.length - 1 ), \"***\") : list.nickname}      {else}          ${list.pin}      {/if}      {if !list.anonymousFlag||list.anonymousFlag!=1}</a>{/if}</div> <span class=\"u-level\"><span style=\"color:{if !G.isNothing(list.userLevelColor)}${list.userLevelColor}{/if}\"> ${list.userLevelName}</span> {if !G.isNothing(list.userProvince)}<span class=\"u-address\">${list.userProvince}</span>{/if}</span>  </div>  <div class=\"i-item\" data-guid=\"${list.guid}\" data-top=\"${list.top}\">      <div class=\"o-topic\">           {if list.top}<strong class=\"topic topic-best\">\\u7cbe\\u534e</strong>{/if}          <span class=\"star sa${list.score}\"></span><span><a class=\"date-comment\" title=\"\\u67e5\\u770b\\u8bc4\\u4ef7\\u8be6\\u60c5\" href=\"http://club.jd.com/repay/${list.referenceId}_${list.guid}_1.html\" target=\"_blank\">${list.creationTime.replace(/:[0-9][0-9]$/, \"\")}</a><em class=\"fr hl_blue\">${list.userClientShow}</em></span>          <strong class=\"topic\"><a href=\"http://club.jd.com/repay/${list.referenceId}_${list.guid}_1.html\" target=\"_blank\">${list.title}</a></strong>      </div>      <div class=\"comment-content\">          {if !G.isNothing(list.commentTags)}          <dl>              <dt>\\u6807&#12288;&#12288;\\u7b7e\\uff1a</dt>              <dd>                  {for tag in list.commentTags}                  <q data-tid=\"${tag.id}\" class=\"comm-tags\" href=\"#none\"><span>${tag.name}</span><em></em></q>                  {/for}              </dd>          </dl>          {/if}          {if !G.isNothing(list.pros)}          <dl>              <dt>\\u4f18\\u70b9\\uff1a</dt>               <dd> ${list.pros}</dd>          </dl>          {/if}           {if !G.isNothing(list.cons)}          <dl>              <dt>\\u4e0d\\u8db3\\uff1a</dt>               <dd> ${list.cons}</dd>          </dl>          {/if}           {if !G.isNothing(list.content)}           <dl>              <dt>\\u5fc3\\u5f97\\uff1a</dt>               <dd> ${list.content}</dd>          </dl>          {/if}            {if list.mergeOrderStatus>0&&!G.isNothing(list.images)}            <dl> <dt>\\u7528\\u6237\\u6652\\u5355\\uff1a</dt>            <dd>                <div class=\"comment-show-pic\">                                  <table cellspacing=\"10\"><tr>                  {for image in list.images}                      {if parseInt(image_index)<3}                      <td><a class=\"comment-show-pic-wrap\" href=\"http://club.jd.com/bbsDetail/${list.showOrderComment.referenceId}_${list.showOrderComment.guid}_1.html\" target=\"_blank\" clstag=\"shangpin|keycount|product|shaipic\"><img alt=\"\" src=\"${image.imgUrl}\" alt=\"${list.nickname} \\u7684\\u6652\\u5355\\u56fe\\u7247\" /></a></td>                      {/if}                  {/for}                  </tr></table>                                <span clstag=\"shangpin|keycount|product|shaitext\"><em class=\"fl\" style=\"color:#9C9A9C;margin-right:5px;\">\\u5171${list.images.length}\\u5f20\\u56fe\\u7247</em><a href=\"http://club.jd.com/bbsDetail/${list.showOrderComment.referenceId}_${list.showOrderComment.guid}_1.html\" target=\"_blank\" class=\"p-simsun\">\\u67e5\\u770b\\u6652\\u5355&gt;</a></span>                </div>            </dd>            {/if}          <div class=\"dl-extra\">              {if !G.isNothing(list.productColor)}              <dl>                  <dt>\\u989c\\u8272\\uff1a</dt>                  <dd>${list.productColor}</dd>              </dl>              {/if}              {if !G.isNothing(list.productSize)}              <dl>                  <dt>\\u578b\\u53f7\\uff1a</dt>                  <dd>${list.productSize}</dd>              </dl>              {/if}              {if true}              {for attr in productAttr}                  {if !G.isNothing(list[attr.key])}                  <dl>                      <dt>{if attr.type==\"baby_date\"}{if list[attr.key] > strtotime(list.creationTime)}\\u6000\\u5b55\\u5468\\u671f{else}\\u5b9d\\u5b9d\\u5e74\\u9f84{/if}{else}${attr.name}{/if}\\uff1a</dt>                      <dd>                          {if attr.type==\"baby_date\"}                              {if list[attr.key] > strtotime(list.creationTime)}                                 \\u6000\\u5b55 ${ Math.ceil(40-(list[attr.key]-strtotime(list.creationTime))/7/86400) }\\u5468                              {else}                                  ${monthDay( list[attr.key], strtotime(list.creationTime, null, true), list_index )}                              {/if}                          {else}                              ${list[attr.key]} ${attr.unit}                          {/if}                      </dd>                  </dl>                  {/if}              {/for}              {/if}          </div><s class=\"clr\"></s>          {if typeof list.referenceTime !==\"undefined\"}          <dl>              <dt>\\u8d2d\\u4e70\\u65e5\\u671f\\uff1a</dt>              <dd>${list.referenceTime.split(\" \")[0]}</dd>          </dl>          {/if}      </div>      <div class=\"btns\">          <a class=\"btn-reply btn-toggle fr\" data-id=\"${list.id}\" href=\"#none\">\\u56de\\u590d(<em>${list.replyCount}</em>)</a>          <div class=\"useful fr\" id=\"${list.guid}\">              <a name=\"agree\" class=\"btn-agree\" title=\"${list.usefulVoteCount}\" href=\"#none\">\\u6709\\u7528(${list.usefulVoteCount})</a>              <!--<a name=\"oppose\" class=\"btn-oppose\" title=\"${list.uselessVoteCount}\" href=\"#none\">\\u6ca1\\u7528(${list.uselessVoteCount})</a>-->          </div>      </div>      <div class=\"item-reply reply-lz\" data-name=\"{if !G.isNothing(list.nickname)}${list.anonymousFlag&&list.anonymousFlag==1 ?  list.nickname.replace(list.nickname.substring(1, list.nickname.length - 1 ), \"***\") : list.nickname}{else}${list.pin}{/if}\" data-uid=\"{list.uid}\">          <strong></strong>          <div class=\"reply-list\">               <div id=\"btn-toggle-${_type}-${list.id}\" class=\"replay-form none\">                   <div class=\"arrow\"> <em>\\u25c6</em><span>\\u25c6</span></div>                   <div class=\"reply-wrap\">                       <p><em>\\u56de\\u590d</em>  <span class=\"u-name\">                           ${list.anonymousFlag&&list.anonymousFlag==1 ?  list.nickname.replace(list.nickname.substring(1, list.nickname.length - 1 ), \"***\") : list.nickname}                       \\uff1a</span></p>                       <div class=\"reply-input\">                           <div class=\"fl\"><input type=\"text\"></div>                           <a href=\"#none\" class=\"reply-btn btn-gray p-bfc reply-btn-lz\" data-nick=\"${list.nickname}\" data-guid=\"${list.guid}\" data-replyId=\"${list.id}\">\\u56de\\u590d</a>                           <div class=\"clr\"></div>                       </div>                   </div>               </div>          </div>      </div>      {for reply in list.replies}      <div class=\"item-reply hide-default {if list.top} hide{/if}\" data-index=\"${list.replyCount-parseInt(reply_index)}\" data-name=\"${reply.nickname}\" data-uid=\"${reply.uid}\">          <strong>${list.replyCount-parseInt(reply_index)}</strong>          <div class=\"reply-list\">              <div class=\"reply-con\">                  <span class=\"u-name\">                      {if reply.userClient==98&&!G.isNothing(reply.venderShopInfo)}                          <a class=\"parentReplyFrom\" href=\"${reply.venderShopInfo.appName}\" target=\"_blank\">${reply.venderShopInfo.title}<b class=\"sj\"></b></a>                      {else}                          <a target=\"_blank\" href=\"http://club.jd.com/userreview/${reply.uid}-1-1.html\">                              ${reply.nickname}                              {if reply.userClient==99}<b></b>{/if}                          </a>                      {/if}                      {if parseInt(reply.parentId, 10)>0}                          <em>\\u56de\\u590d</em>                          {if !G.isNothing(reply.parent)&&reply.parent.userClient==98&&!G.isNothing(reply.parent.venderShopInfo)}                              <a class=\"parentReplyFrom\" href=\"${reply.parent.venderShopInfo.appName}\" target=\"_blank\">${reply.parent.venderShopInfo.title}<b class=\"sj\"></b></a>                          {else}                              {if !G.isNothing(reply.parent)}<a target=\"_blank\" href=\"http://club.jd.com/userreview/${reply.parent.uid}-1-1.html\">{if parseInt(reply.parentId, 10)<0}${list.nickname}{else}${reply.parent.nickname}{if reply.parent.userClient==99}<b></b>{/if}{/if}</a>{/if}                          {/if}                      {/if}\\uff1a                  </span>                  <span class=\"u-con\">${reply.content}</span>              </div>              <div class=\"reply-meta\">                  <span class=\"reply-left fl\">${reply.creationTimeString.replace(/:[0-9][0-9]$/, \"\")}</span>                  <a class=\"p-bfc btn-toggle hl_blue\" data-id=\"${reply.id}\" href=\"#none\">\\u56de\\u590d</a>              </div>              <div id=\"btn-toggle-${_type}-${reply.id}\" class=\"replay-form none\">                  <div class=\"arrow\">                      <em>\\u25c6</em><span>\\u25c6</span>                  </div>                  <div class=\"reply-wrap\">                      <p><em>\\u56de\\u590d</em> <span class=\"u-name\">${reply.nickname}\\uff1a</span></p>                      <div class=\"reply-input\">                          <div class=\"fl\"><input type=\"text\" /></div>                          <a href=\"#none\" class=\"reply-btn btn-gray p-bfc\" data-nick=\"${reply.nickname}\" data-guid=\"${list.guid}\" data-replyId=\"${reply.id}\">\\u56de\\u590d</a>                          <div class=\"clr\"></div>                      </div>                  </div>              </div>          </div>      </div>      {/for}      {if list.replyCount > 5}      <div class=\"ac\">           <a class=\"hl_blue\" href=\"http://club.jd.com/repay/${productCommentSummary.productId}_${list.guid}_1.html\" title=\"\\u67e5\\u770b\\u5168\\u90e8\\u56de\\u590d\" target=\"_blank\">\\u67e5\\u770b\\u5168\\u90e8\\u56de\\u590d&gt;&gt;</a>      </div>      {/if}   </div>  <div class=\"corner tl\"></div></div>{forelse}    {if score == 0}     <div class=\"norecode\">         \\u6682\\u65e0\\u5546\\u54c1\\u8bc4\\u4ef7\\uff01<span style=\"hl-red\">\\u4e89\\u62a2\\u4ea7\\u54c1\\u8bc4\\u4ef7\\u524d5\\u540d\\uff0c\\u524d5\\u4f4d\\u8bc4\\u4ef7\\u7528\\u6237\\u53ef\\u83b7\\u5f97\\u591a\\u500d\\u4eac\\u8c46\\u54e6\\uff01</span>\\uff08<a href=\"http://help.jd.com/help/question-890.html\" target=\"_blank\">\\u8be6\\u89c1\\u4eac\\u8c46\\u89c4\\u5219</a>\\uff09\\uff01    </div>    <div class=\"extra clearfix\">        <div class=\"join\">            \\u53ea\\u6709\\u8d2d\\u4e70\\u8fc7\\u8be5\\u5546\\u54c1\\u7684\\u7528\\u6237\\u624d\\u80fd\\u8fdb\\u884c\\u8bc4\\u4ef7\\u3002&nbsp;&nbsp;<a target=\"_blank\" href=\"http://club.jd.com/Simplereview/${productCommentSummary.productId}.html\" name=\"http://club.jd.com/Simplereview/${productCommentSummary.productId}.html\" id=\"A1\">[\\u53d1\\u8868\\u8bc4\\u4ef7]</a>&nbsp;&nbsp;<a target=\"_blank\" href=\"http://club.jd.com/allreview/1-1.html\">[\\u6700\\u65b0\\u8bc4\\u4ef7]</a>        </div>    </div>     {elseif score == 3}         <div class=\"norecode\"> \\u6682\\u65e0\\u597d\\u8bc4\\uff01</div>     {elseif score == 2}         <div class=\"norecode\"> \\u6682\\u65e0\\u4e2d\\u8bc4\\uff01</div>     {elseif score == 1}         <div class=\"norecode\"> \\u6682\\u65e0\\u5dee\\u8bc4\\uff01</div>     {elseif score == 4}         <div class=\"norecode\"> \\u6682\\u65e0\\u6652\\u5355\\u8bc4\\u4ef7\\uff01</div>    {/if}{/for}<div class=\"clearfix\">    {if productCommentSummary.commentCount}<div class=\"fl\" style=\"padding:8px 0 0 120px;\"><a href=\"http://club.jd.com/review/${productCommentSummary.productId}-0-1-0.html\" target=\"_blank\" class=\"hl_blue\">[\\u67e5\\u770b\\u5168\\u90e8\\u8bc4\\u4ef7]</a></div>{/if}    <div class=\"pagin fr\" clstag=\"shangpin|keycount|product|fanye\" id=\"commentsPage${score}\">    </div></div>', discuss_TPL = '<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">    <tbody>        <tr>            <th class=\"col1\">\\u4e3b\\u9898</th>            <th class=\"col2\">\\u56de\\u590d/\\u6d4f\\u89c8</th>            <th class=\"col3\">\\u4f5c\\u8005</th>            <th class=\"col4\">\\u65f6\\u95f4</th>        </tr>        {for comment in discussComments.Comments}        {if Number(comment_index) < 10}        <tr>            <td class=\"col1\">                <div class=\"topic\">                    {if comment.referenceType == \"Order\"}                    <b class=\"icon shai\"></b>                    {elseif comment.referenceType == \"User\"}                    <b class=\"icon lun\"></b>                    {elseif comment.referenceType == \"Question\"}                    <b class=\"icon wen\"></b>                    {elseif comment.referenceType == \"Friend\"}                    <b class=\"icon quan\"></b>                    {/if}                    <a href=\"http://club.jd.com/bbsDetail/${comment.referenceId}_${comment.id}_1.html\" target=\"_blank\">${comment.title}</a>                </div>            </td>            <td class=\"col2\">${comment.replyCount}/${comment.viewCount}</td>            <td class=\"col3\">                <div class=\"u-name\">                    <a target=\"_blank\" title=\"${comment.uRemark}\" href=\"http://me.jd.com/${comment.uid}.html\">{if comment.uRemark}${comment.uRemark}{else}${comment.userId}{/if}</a>                </div>            </td>            <td class=\"col4\">${comment.creationTime}</td>        </tr>        {/if}        {/for}    </tbody></table><table id=\"discuss-comment\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"></table>{if discussComments.CommentCount <= 0}    {if parseInt(ReferenceType) == 1}        <div class=\"norecode\">\\u6682\\u65e0\\u8ba8\\u8bba\\u5e16\\uff01</div>    {elseif parseInt(ReferenceType) == 2}        <div class=\"norecode\">\\u6682\\u65e0\\u95ee\\u7b54\\u5e16\\uff01</div>    {elseif parseInt(ReferenceType) == 3}        <div class=\"norecode\">\\u6682\\u65e0\\u5708\\u5b50\\u8d34\\uff01</div>    {elseif parseInt(ReferenceType) == 4}        <div class=\"norecode\">\\u6682\\u65e0\\u6652\\u5355\\u5e16\\uff01</div>    {else}        <div class=\"norecode\">\\u6682\\u65e0\\u7f51\\u53cb\\u8ba8\\u8bba\\uff01</div>    {/if}{/if}<div class=\"extra clearfix\">    {if discussComments.CommentCount > 0}    <div class=\"total\">          <span>\\u5171${Discuss.count=discussComments.CommentCount}\\u4e2a\\u8bdd\\u9898</span>&nbsp;&nbsp;           <a target=\"_blank\" href=\"http://club.jd.com/bbs/${referenceId}-1-0-${ReferenceType}.html\">\\u6d4f\\u89c8\\u5168\\u90e8\\u8bdd\\u9898&gt;&gt;</a>    </div>    {/if}    <div class=\"contact\">        \\u6709\\u95ee\\u9898\\u8981\\u4e0e\\u5176\\u4ed6\\u7528\\u6237\\u8ba8\\u8bba\\uff1f<a target=\"_blank\" href=\"http://club.jd.com/bbs/${referenceId}-1.html\" name=\"http://club.jd.com/bbs/${referenceId}-1.html\" id=\"userComment${ReferenceType}\">[\\u53d1\\u8868\\u5e16\\u5b50]</a>    </div></div>', consult_TPL = '{if !!Consultations}    {for Consultation in Consultations}    <div class=\"item{if Consultation_index% 2 == 1} odd{/if}\">        <div class=\"user\">            <span class=\"u-name\">\\u7f51\\u3000\\u3000\\u53cb\\uff1a${Consultation.UNickNme}</span>             <!--<span class=\"u-level\" name=\"${Consultation.UserId}\"></span>-->             <span class=\"u-level\" ><font style=\"color:${Consultation.UserLevelColor}\"> ${Consultation.UserLevelName} </font></span>             <span class=\"date-ask\">${Consultation.CreationTime}</span>        </div>        <dl class=\"ask\">            <dt><b></b>\\u54a8\\u8be2\\u5185\\u5bb9\\uff1a</dt>            <dd><a target=\"_blank\" href=\"http://club.jd.com/consultation/${Consultation.ProductId}-${Consultation.Id}.html\">${Consultation.Content}</a></dd>        </dl>        <dl class=\"answer\">            {for Reply in Consultation.Replies}            <dt>                <b></b>                {if Reply.sst == 2}\\u5356\\u5bb6\\u56de\\u590d\\uff1a {else}\\u4eac\\u4e1c\\u56de\\u590d\\uff1a{/if}             </dt>            <dd>                <div class=\"content\">${Reply.sword}</div>                <div class=\"date-answer\">${Reply.sinsdate}</div>            </dd>            {/for}        </dl>    </div>    {/for}{else}    <div class=\"norecode\">\\u6682\\u65e0\\u8be5\\u7c7b\\u54a8\\u8be2\\uff01</div>{/if}<div class=\"extra clearfix\">    <div class=\"total hide-pop\">        \\u5171<strong>${SearchParameter.Count}</strong>\\u6761&nbsp;&nbsp;         <a href=\"http://club.jd.com/allconsultations/${SearchParameter.ProductId}-1-1.html\" target=\"_blank\">\\u6d4f\\u89c8\\u6240\\u6709\\u54a8\\u8be2\\u4fe1\\u606f&gt;&gt;</a>     </div>    <div class=\"join\">        \\u8d2d\\u4e70\\u4e4b\\u524d\\uff0c\\u5982\\u6709\\u95ee\\u9898\\uff0c\\u8bf7{if $(\"#j-im\").length}\\u54a8\\u8be2&nbsp;&nbsp;<a id=\"j-im-extra\" class=\"djd-im hide\" clstag=\"shangpin|keycount|product|imbtn\"><b>\\u8054\\u7cfb\\u5ba2\\u670d</b></a><span class=\"hide-pop\">\\uff0c\\u6216</span>{/if}        <a id=\"consultation\" href=\"http://club.jd.com/allconsultations/${SearchParameter.ProductId}-1-1.html#form1\">[\\u53d1\\u8868\\u54a8\\u8be2]</a>    </div></div>', consult_search_TPL = '{for item in list}<div class=\"item search-result-item\">    <div class=\"user\">        <span class=\"u-name\">\\u7f51\\u3000\\u3000\\u53cb\\uff1a${item.nickname}</span>        <span class=\"date-ask\">${item.sindate}</span>    </div>    <dl class=\"ask\">        <dt><b></b>\\u54a8\\u8be2\\u5185\\u5bb9\\uff1a</dt>        <dd>${item.sword}</dd>    </dl>    <dl class=\"answer\">        <dt><b></b>\\u4eac\\u4e1c\\u56de\\u590d\\uff1a</dt>        <dd>{if item.sword!==\"\"}${item.sword2}{/if}</dd>    </dl>    <div id=\"${item.sid}\" class=\"useful\">\\u60a8\\u5bf9\\u6211\\u4eec\\u7684\\u56de\\u590d\\uff1a        <a name=\"2\" href=\"#none\" class=\"btn-pleased\">\\u6ee1\\u610f</a>        (<span>${item.zantong}</span>)\\u3000        <a name=\"2\" href=\"#none\" class=\"btn-unpleased\">\\u4e0d\\u6ee1\\u610f</a>        (<span>${item.fd}</span>)    </div></div>{/for}', search_TPL = '{for list in Product}<dl skuid=\"${list.wareid}\" data-push=\"${pageConfig.product.searchList.push(list.wareid)}\">    <dt class=\"p-img\"><a target=\"_blank\" href=\"http://item.jd.com/${list.wareid}.html\"><img width=\"50\" height=\"50\" src=\"${pageConfig.FN_GetImageDomain(list.wareid)}n5/${list.Content.imageurl}\" alt=\"\"></a></dt>    <dd class=\"p-name\"><a target=\"_blank\" href=\"http://item.jd.com/${list.wareid}.html\">${list.Content.warename}</a></dd>    <dd class=\"p-price\"><strong class=\"J-p-${list.wareid}\"></strong></dd></dl>{/for}', fq_serverSite = \"http://jd2008.jd.com/purchase/\", fq_serverSiteService = \"http://jd2008.jd.com/purchaseservice/\", fq_serverUrl = \"ajaxServer/ForMiniCart_fq.aspx\", fq_btnPanel = \"choose-btn-divide\", fq_skuId = \"\", fq_TipHtml = \"\", isFqOpen = !0, fq_returnData = null, isIe = window.ActiveXObject ? !0 : !1, Grecommend = function(t, e, i, s, a) {\r\n    this.sku = t, this.rid = e, this.locId = i, this.lim = a || 6, this.pin = readCookie(\"pin\"), this.pid = null === i ? 1 : i.split(\"-\")[0], this.el = s;\r\n    var n = this;\r\n    return 1713 == pageConfig.product.cat[0] ? !1 : (\"#tab-hot\" === s.selector || \"#out-of-stock #noitem-list\" === s.selector ? n.init() : $(s.selector).parent().wrap('<div data-lazyload=\"true\"></div>').parent().Jlazyload({type: \"module\"}, function() {\r\n        n.init()\r\n    }), void 0)\r\n};\r\nGrecommend.prototype = {init: function() {\r\n        var t = readCookie(\"__jda\");\r\n        this.uuid = t ? \"-\" == t.split(\".\")[1] ? -1 : t.split(\".\")[1] : -1, this.get(this.rid)\r\n    },get: function(t) {\r\n        var e = this, i = {sku: this.sku,p: t || this.rid,lid: this.pid,lim: this.lim,uuid: this.uuid,ec: \"utf-8\"};\r\n        if (pageConfig.product)\r\n            for (var s = 0; pageConfig.product.cat.length > s; s++)\r\n                i[\"c\" + (s + 1)] = pageConfig.product.cat[s];\r\n        this.pin && (i.pin = this.pin)\r\n//        , \r\n//        $.ajax({url: \"http://diviner.jd.com/diviner?\" + decodeURIComponent($.param(i)),dataType: \"jsonp\",scriptCharset: \"utf-8\",success: function(t) {\r\n//                e.set(t)\r\n//            }})\r\n    },set: function(t) {\r\n        function e(t, e) {\r\n            for (var i = t.length / e, s = [], a = 0; i > a; a++)\r\n                s.push({tabs: [],increment: null,count: e,skuids: []});\r\n            for (var n = 0, o = 0; t.length > o; o++)\r\n                0 == o % e && n++, s[n - 1].tabs.push(t[o]), s[n - 1].increment = n, s[n - 1].skuids.push(t[o].wid);\r\n            return s\r\n        }\r\n        function i() {\r\n            pageConfig.product.cbCombineBuying = [pageConfig.product.skuid], a.attr(\"loaded\", \"true\").html(suitRecommendNew_TPL.process(t)), log(G.mdPerfix + \"3\", \"Show\"), Recommend.switchTab(\"#th-hot\"), G.removeLastAdd(), $(\"#tab-hot .master input\").attr(\"skuid\", pageConfig.product.skuid), G.getPriceNum(pageConfig.product.cbCombineBuying, readCookie(\"ipLoc-djd\"), a, null, function(t, e) {\r\n                a.find('input[skuid=\"' + t + '\"]').attr(\"wmeprice\", e.p), a.find('input[skuid=\"' + t + '\"]').attr(\"wmaprice\", e.m), G.calculatePrice($(\"#tab-hot .master input\")[0], \"#tab-hot\")\r\n            })\r\n        }\r\n        var s = this, a = s.el;\r\n        if (pageConfig.product.GrecommendSkus = [], t.success && t.data && t.data.length > 0) {\r\n            if (105e3 === this.rid && this.el.html(listBrosweBrosweNew_TPL.process(t)).parent().show(), 102004 === this.rid && this.el.html(listBrosweBrosweNew_TPL.process(t)).parent().show(), 103001 === this.rid && this.el.html(listBrosweBuyNew_TPL.process(t)).parent().show(), 102003 === this.rid && this.el.html(listBrosweBuyNew_TPL.process(t)).parent().show(), 103002 === this.rid && (this.el.html(listBuyBuyNew_TPL.process(t)).parent().show(), log(G.mdPerfix + \"2\", \"Show\")), 102002 === this.rid && this.el.html(listBuyBuyNew_TPL.process(t)).parent().show(), 102001 === this.rid && (1315 == G.cat[0] || 11729 == G.cat[0] ? (pageConfig.product.cbCombineBuying = [pageConfig.product.skuid], s.set1315(t)) : i()), 103003 === this.rid && i(), 902029 === this.rid && this.el.html(listBrosweBuyPOP_TPL.process(t)).parent().show(), (102001 === this.rid || 103003 === this.rid) && G.getPriceNum(pageConfig.product.GrecommendSkus, null, this.el), 303001 === this.rid && this.el.html(addToCart_TPL.process(t)).parent().show(), 103e3 === this.rid || 102e3 === this.rid) {\r\n                this.el.html(noStock.process(t)), $(\"#out-of-stock\").show();\r\n                var n = pageConfig.wideVersion && pageConfig.compatible ? 5 : 4;\r\n                $(\"#noitem-list\").imgScroll({visible: n,showControl: !0,step: n,loop: !1,prev: \"#noitem-forward\",next: \"#noitem-backward\",disableClass: \"disabled\"})\r\n            }\r\n            if (902011 === this.rid) {\r\n                var o = pageConfig.wideVersion && pageConfig.compatible ? 4 : 3;\r\n                t.json = e(t.data, o), this.el.html(itemDisabled.process(t)), this.el.parents(\".clearfix\").eq(0).attr(\"data-widget\", \"tabs\").Jtab({compatible: !0,auto: !0})\r\n            }\r\n            if (902018 === this.rid) {\r\n                var a = $(\"#noitem-list\");\r\n                this.el.html(itemDisabledReco.process(t)), $(\"#out-of-stock\").show();\r\n                var n = pageConfig.wideVersion && pageConfig.compatible ? 5 : 4;\r\n                a.imgScroll({visible: n,showControl: !0,step: n,loop: !1,prev: \"#noitem-forward\",next: \"#noitem-backward\",disableClass: \"disabled\"}), G.getCommentData(pageConfig.product.GrecommendSkus, a, null)\r\n            }\r\n            G.getPriceNum(pageConfig.product.GrecommendSkus, readCookie(\"ipLoc-djd\"), this.el), this.el.find(\"img\").Jlazyload({type: \"image\"}), this.setTrackCode(t.impr)\r\n        }\r\n    },set1315: function(t) {\r\n        function e(t) {\r\n            if (t) {\r\n                var e = $(\"#pop-box .p-scroll-wrap\"), i = $(\"#pop-box .p-scroll-next\"), s = $(\"#pop-box .p-scroll-prev\");\r\n                e.find(\"li\").length > 4 && e.imgScroll({showControl: !0,width: 30,height: 30,visible: 4,step: 1,prev: s,next: i})\r\n            } else\r\n                G.setScroll(\"#stabcon_pop\")\r\n        }\r\n        function i(e, i) {\r\n            var e = e;\r\n            if (i)\r\n                var s = i.split(\"|\"), a = s[1], p = s[2];\r\n            $(\"#pop-box\").length > 0 && $(\"#pop-box\").attr(\"data-ind\", e), r.clear().show(e, function() {\r\n                var i = $(\"#pop-list-\" + e), s = i.attr(\"data-sku\"), r = i.find(\"a.curr\").attr(\"title\");\r\n                d(e), n.del(), l.get(e), o(e, a || null, t), c.get(s, a || r, e, p)\r\n            })\r\n        }\r\n        var s = $(\"#tab-hot\"), a = {set: function(t, e) {\r\n                1 > $(\"#p-selected-\" + t).length ? $(\"#pop-list-\" + t).find(\".p-scroll\").hide().before('<div id=\"p-selected-' + t + '\" class=\"p-selected\">\\u5df2\\u9009\\u62e9\\uff1a' + e.split(\"|\")[1] + \"\\uff0c\" + e.split(\"|\")[2] + ' <a data-ind=\"' + t + '\" class=\"p-modify\" href=\"#none\">\\u4fee\\u6539</a></div>') : $(\"#p-selected-\" + t).html(\"\\u5df2\\u9009\\u62e9\\uff1a\" + e.split(\"|\")[1] + \"\\uff0c\" + e.split(\"|\")[2] + ' <a data-ind=\"' + t + '\" class=\"p-modify\" href=\"#none\">\\u4fee\\u6539</a>'), $(\".p-modify\").unbind(\"click\").bind(\"click\", function() {\r\n                    i(parseInt(this.getAttribute(\"data-ind\")), e)\r\n                }), $(\"#p-selected-\" + t).attr(\"data-res\", e)\r\n            }}, n = {set: function(t) {\r\n                var e = t || $(\"#stabcon_pop .pop-list\");\r\n                e.find(\".p-scroll\").each(function() {\r\n                    var t = $(this), e = t.prev(\".p-img\").find(\"img\"), i = t.find(\".p-scroll-wrap a\");\r\n                    G.thumbnailSwitch(i, e, \"/n2/\", \"curr\")\r\n                })\r\n            },del: function(t) {\r\n                var e = t || $(\"#stabcon_pop .pop-list\");\r\n                e.find(\".p-scroll\").each(function() {\r\n                    $(this).find(\".p-scroll-wrap img\").unbind(\"mouseover\")\r\n                })\r\n            }}, o = function(t, e) {\r\n            var i = $(\"#p-scroll .p-scroll-wrap a\"), s = $(\"#pop-list-\" + t).find(\".p-img img\"), a = $(\"#pop-list-\" + t).attr(\"data-sku\");\r\n            i.unbind(\"click\").bind(\"click\", function() {\r\n                var e = ($(this), $(this).find(\"img\").attr(\"src\")), n = $(this).attr(\"title\");\r\n                c.get(a, n, t, null), i.removeClass(\"curr\"), $(this).addClass(\"curr\"), s.attr(\"src\", e.replace(\"/n5/\", \"/n2/\")), $(\"#pop-list-\" + t).attr(\"data-res\") && $(\"#pop-list-\" + t).removeAttr(\"data-res\")\r\n            }), e && i.each(function() {\r\n                $(this).attr(\"title\") == e && $(this).trigger(\"click\")\r\n            })\r\n        }, r = {show: function(t, e) {\r\n                $(\"#pop-box\").css({left: t * $(\"#stabcon_pop .pop-list\").outerWidth() - $(\"#stabcon_pop .suits\").scrollLeft(),visibility: \"visible\"}), \"function\" == typeof e && e(t)\r\n            },hide: function() {\r\n                return $(\"#pop-box\").css(\"visibility\", \"hidden\"), this\r\n            },clear: function() {\r\n                var t = ($(\"#pop-box\"), $(\"#p-scroll,#p-size,#p-tips\"));\r\n                return t.html(\"\"), this.isClear = !0, n && n.set(), this\r\n            }}, c = {sClick: function(t, e) {\r\n                var i = $(\"#p-size a\"), s = $(\"#pop-list-\" + t), a = this;\r\n                i.click(function() {\r\n                    var t = $(this).attr(\"data-resku\"), e = $(\"#p-scroll .p-scroll-wrap .curr\").attr(\"title\"), n = $(this).attr(\"title\"), o = $(this).attr(\"wmaprice\"), r = $(this).attr(\"wmeprice\");\r\n                    i.removeClass(\"selected\"), $(this).addClass(\"selected\"), a.clearTips(\"#p-noselected\"), s.attr(\"data-res\", [t, e, n, o, r].join(\"|\"))\r\n                }), e && $(\"#p-size a\").each(function() {\r\n                    $(this).attr(\"title\") == e && $(this).trigger(\"click\")\r\n                })\r\n            },noSize: function(t, e) {\r\n                $(\"#p-size\").addClass(\"nosizes\").html(\"\"), $(\"#pop-list-\" + t).attr(\"data-res\", [e.Subcodesku[0].Sku, $(\"#pop-box .curr\").attr(\"title\"), \"\\u65e0\\u5c3a\\u7801\", e.Subcodesku[0].WMeprice, e.Subcodesku[0].WMaprice].join(\"|\"))\r\n            },get: function(t, e, i, s, a) {\r\n                var n = this, o = {ip: getCookie(\"ipLocation\"),sku: t,color: encodeURI(e)};\r\n                $(\"#pop-list-\" + i).find(\".no-scroll\").length > 0 && (o = {ip: getCookie(\"ipLocation\"),sku: t}), window.fetchJSON_sizeList = function(e) {\r\n                    1 > e.Subcodesku.length ? (n.setTips('<p id=\"p-nostock\">\\u8be5\\u5546\\u54c1\\u5df2\\u4e0b\\u67b6\\u6216\\u65e0\\u8d27</p>'), $(\"#p-size\").html(\"\")) : 1 == e.Subcodesku.length && 0 == !!e.Subcodesku[0].sizename || \"\\u65e0\" == e.Subcodesku[0].sizename ? (n.noSize(i, e), n.clearTips(\"#p-nostock\")) : (n.set(e, t, i, s), n.clearTips(\"#p-nostock\")), \"function\" == typeof a && a(e)\r\n                }, $.ajax({url: \"http://prs.jd.com/Pop/CodeServiceSize.aspx?callback=fetchJSON_sizeList\",dataType: \"script\",cache: !0,data: o})\r\n            },set: function(t, e, i, s) {\r\n                var a = '{for list in Subcodesku}<a href=\"#none\" data-resku=\"${list.Sku}\" wmaprice=\"${list.WMaprice}\" wmeprice=\"${list.WMeprice}\" title=\"${list.sizename}\">${list.sizename}</a>{/for}';\r\n                $(\"#p-size\").html(a.process(t)), this.sClick(i, s)\r\n            },setTips: function(t) {\r\n                \"\" == $(\"#p-tips\").html() && $(\"#p-tips\").html(t)\r\n            },clearTips: function(t) {\r\n                $(\"#pop-box\").find(t).remove()\r\n            }}, l = {get: function(t) {\r\n                $(\"#p-scroll\").append($(\"#pop-list-\" + t).find(\".p-scroll\").clone().show()), this.set(t)\r\n            },set: function() {\r\n                e(!0)\r\n            }}, d = function(t) {\r\n            var t = t;\r\n            $(\"#p-selected-ok\").unbind(\"click\").bind(\"click\", function() {\r\n                var e = $(\"#pop-box\");\r\n                if (e.find(\"#p-scroll .curr\").attr(\"title\"), 1 > $(\"#pop-box .curr\").length)\r\n                    c.setTips('<p id=\"p-noselected\">\\u8bf7\\u9009\\u62e9\\u989c\\u8272</p>');\r\n                else if (1 > $(\"#pop-box .selected\").length && !$(\"#p-size\").hasClass(\"nosizes\"))\r\n                    c.setTips('<p id=\"p-noselected\">\\u8bf7\\u9009\\u62e9\\u5c3a\\u7801</p>');\r\n                else {\r\n                    a.set(t, $(\"#pop-list-\" + t).attr(\"data-res\")), r.hide().clear();\r\n                    var i = $(\"#pop-list-\" + t), s = i.attr(\"data-res\").split(\"|\"), n = s[0], o = s[3], l = s[4], d = i.find(\".p-price img\");\r\n                    d.attr(\"src\"), i.find(\"input:checkbox\").attr({skuid: n,wmaprice: o,wmeprice: l,checked: !0}), G.calculatePrice($(\"#pop-list-\" + t).find(\"input:checkbox\")[0], \"#tab-hot\")\r\n                }\r\n            }), $(\"#p-selected-cancel\").click(function() {\r\n                r.hide().clear(), 1 > $(\"#p-selected-\" + t).length && $(\"#pop-list-\" + t).find(\"input:checkbox\").attr(\"checked\", !1)\r\n            })\r\n        };\r\n        if (t.success) {\r\n            var p = '<div id=\"stabcon_pop\" class=\"stabcon stabcon_big\"><div class=\"master\">    <s></s>    <div class=\"p-img\">        <a href=\"http://item.jd.com/${G.sku}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(G.sku)}n2/${G.src}\" height=\"160\" width=\"160\"></a>    </div>    <div class=\"p-name\">        <a href=\"http://item.jd.com/${G.sku}.html\" target=\"_blank\">${G.name}</a>    </div>    <div class=\"p-price none\"><input type=\"checkbox\" id=\"inp_${G.sku}_hot\" onclick=\"return false;\" onchange=\"return false\" wmaprice=\"${pageConfig.product.mp}\" wmeprice=\"${pageConfig.product.jp}\" skuid=\"${G.sku}\" checked/> ${pageConfig.product.jp}</div></div><div class=\"pop-wrap\"><div id=\"pop-box\" class=\"\">    <div id=\"p-scroll\"></div>    <div id=\"p-size\"></div>    <div id=\"p-tips\"></div>    <div id=\"p-size-btn\">        <a href=\"#none\" id=\"p-selected-ok\">\\u786e\\u5b9a</a><a id=\"p-selected-cancel\" href=\"#none\">\\u53d6\\u6d88</a>    </div></div><div class=\"suits\" style=\"overflow-x:{if parseInt(data.length)>(pageConfig.wideVersion&&pageConfig.compatible ? 3:2)}scroll;{else}hidden;{/if}\">    <ul class=\"lh\" style=\"width:${parseInt(data.length)*200+20}px\">        {for item in data}        <li data-push=\"${pageConfig.product.cbCombineBuyingPop.push(item.sku)}\" class=\"pop-list {if parseInt(item_index)+1==parseInt(data.length)} last-item{/if}\" id=\"pop-list-${item_index}\" data-sku=\"${item.sku}\" data-ind=\"${item_index}\" onclick=\"reClick(\\'${G.mdPerfix}3\\', \\'${G.sku}\\', \\'${item.sku}#${item.jp}\\', \\'${item_index}\\');\" data-clk=\"${item.clk}\">            <s></s>            <div class=\"p-img\">                <a href=\"http://item.jd.com/${item.sku}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(item.sku)}n2/${item.img}\" alt=\"\" height=\"160\" width=\"160\"></a>            </div>            <div class=\"p-scroll\">                <a href=\"javascript:;\" class=\"p-scroll-btn p-scroll-prev\">&lt;</a>                <div class=\"p-scroll-wrap\">                    <ul>                    {for color in item.subsku}                        {if parseInt(color_index)==0}<li><a href=\"javascript:;\" class=\"no-scroll curr\" title=\"${item.popco}\"><img data-img=\"1\" width=\"25\" height=\"25\" alt=\"\" src=\"${pageConfig.FN_GetImageDomain(item.sku)}n5/${item.img}\"></a></li>{/if}                        <li><a href=\"javascript:;\" class=\"{if parseInt(color_index)==0}curr{/if}\" data-sku=\"${item.sku}\" title=\"${color.hit}\"><img data-img=\"1\" width=\"25\" height=\"25\" alt=\"\" src=\"${pageConfig.FN_GetImageDomain(item.sku)}n5/${color.img}\" data-img=\"1\"></a></li>                    {forelse}                        <li><a href=\"javascript:;\" class=\"no-scroll curr\" title=\"\\u65e0\"><img data-img=\"1\" width=\"25\" height=\"25\" alt=\"\" src=\"${pageConfig.FN_GetImageDomain(item.sku)}n5/${item.img}\"></a></li>                    {/for}                    </ul>                </div>                <a href=\"javascript:;\" class=\"p-scroll-btn p-scroll-next\">&gt;</a>            </div>            <div class=\"p-name\">                <a href=\"http://item.jd.com/${item.sku}.html\" target=\"_blank\">${item.t}</a>            </div>            <div class=\"choose\">                <input type=\"checkbox\" data-nocolor=\"${item.subsku.length<1}\" id=\"inp_${item.sku}\" class=\"{if parseInt(item.subsku.length)==0}no-pop-win{/if}\" wmaprice=\"${item.wmaprice}\" wmeprice=\"${item.jp}\" skuid=\"${item.sku}\" />                <label for=\"inp_${item.sku}\" class=\"p-price\">                    <strong class=\"J-p-${item.sku}\"></strong>                </label>            </div>        </li>        {/for}    </ul></div></div><div class=\"infos\" onclick=\"{for item in data}reClick(\\'${G.mdPerfix}3\\', \\'${G.sku}\\', \\'${item.sku}#${item.jp}\\', \\'${item_index}\\');{/for}\">    <s></s>    <div class=\"p-name\">        <a onclick=\"log(\\'${G.mbPerfix}PopularBuy\\',\\'click\\')\" href=\"http://jd2008.jd.com/purchase/OrderFlowService.aspx?action=AddSkus&wids=${G.sku}\">\\u8d2d\\u4e70\\u4eba\\u6c14\\u7ec4\\u5408</a>    </div>    <div class=\"p-price\">\\u603b\\u4eac\\u4e1c\\u4ef7\\uff1a        <strong class=\"res-jdprice\">\\uffe5 ${pageConfig.product.jp}</strong>    </div>    <div class=\"p-saving\">\\u603b\\u53c2\\u8003\\u4ef7\\uff1a        <del class=\"res-totalprice\">\\uffe5 ${pageConfig.product.mp}</del>    </div>    <div class=\"btns\">        <a onclick=\"log(\\'${G.mbPerfix}PopularBuy\\',\\'click\\')\" class=\"btn-buy\" href=\"http://jd2008.jd.com/purchase/OrderFlowService.aspx?action=AddSkus&wids=${G.sku}\">\\u8d2d\\u4e70\\u7ec4\\u5408</a>    </div></div><div class=\"clb\"></div></div>';\r\n            pageConfig.product.cbCombineBuyingPop = [], s.attr(\"loaded\", \"true\").html(p.process(t)), pageConfig.FN_ImgError($(\"#tab-hot\")[0]), $(\"#stabcon_pop .suits\").scroll(function() {\r\n                if (\"visible\" == $(\"#pop-box\").css(\"visibility\")) {\r\n                    var t = parseInt($(\"#pop-box\").attr(\"data-ind\"));\r\n                    $(\"#pop-list-\" + t).find(\"input:checkbox\").attr(\"checked\", !1), r.clear().hide()\r\n                }\r\n            }), n.set(), e(!1), $(\"#stabcon_pop ul input:checkbox\").click(function() {\r\n                var t = $(this), e = t.attr(\"data-nocolor\"), s = t.parents(\".pop-list\"), a = s.attr(\"data-ind\");\r\n                if (\"visible\" == $(\"#pop-box\").css(\"visibility\")) {\r\n                    var o = parseInt($(\"#pop-box\").attr(\"data-ind\"));\r\n                    $(\"#pop-list-\" + o).find(\"input:checkbox\").attr(\"checked\", !1), r.clear().hide()\r\n                }\r\n                \"true\" == e ? G.calculatePrice(t[0], \"#tab-hot\") : 1 == $(this).attr(\"checked\") ? i(a) : ($(\"#p-selected-\" + a) && ($(\"#p-selected-\" + a).remove(), $(\"#pop-list-\" + a).find(\".p-scroll\").show(), n.set($(\"#pop-list-\" + a))), G.calculatePrice(t[0], \"#tab-hot\"))\r\n            }), log(G.mdPerfix + \"3\", \"Show\"), Recommend.switchTab(\"#th-hot\"), G.getPriceNum(pageConfig.product.cbCombineBuyingPop, null, s, null, function(t, e) {\r\n                s.find('input[skuid=\"' + t + '\"]').attr(\"wmeprice\", e.p), s.find('input[skuid=\"' + t + '\"]').attr(\"wmaprice\", e.m)\r\n            })\r\n        }\r\n    },setTrackCode: function(t) {\r\n        var e = this.el.find(\"li\"), i = this, s = \"&m=UA-J2011-1&ref=\" + encodeURIComponent(document.referrer);\r\n        e.each(function() {\r\n            var t = $(this).attr(\"data-clk\");\r\n            $(this).bind(\"click\", function(e) {\r\n                var a = $(e.target);\r\n                (a.is(\"a\") || a.is(\"img\") || a.is(\"span\")) && i.newImage(t + s, !0), a.is(\"input\") && 1 == a.attr(\"checked\") && i.newImage(t + s, !0)\r\n            })\r\n        }), this.newImage(t + s, !0)\r\n    },newImage: function(t, e, i) {\r\n        var s = new Image;\r\n        t = e ? t + \"&random=\" + Math.random() + new Date : t, s.onload = function() {\r\n            i !== void 0 && i(t)\r\n        }, s.setAttribute(\"src\", t)\r\n    }};\r\nvar Recommend = {init: function(t) {\r\n        this.type = t, this.renderHTML(), this.renderRecoFittingsHTML(), this.getSuits()\r\n    },getSuits: function() {\r\n//        G.isPop ? $.ajax({url: \"http://misc.360buyimg.com/product/js/2012/suits.js\",dataType: \"script\",scriptCharset: \"gb2312\",cache: !0,success: function() {\r\n//                \"undefined\" != typeof Suits && Suits.init(G.sku)\r\n//            }}) : $.ajax({url: \"http://pi.3.cn/suitinfo/get\",data: {id: G.sku,origin: 1},dataType: \"script\",cache: !0,scriptCharset: \"utf-8\"})\r\n    },renderRecoFittingsHTML: function() {\r\n//        var t = G.sku, e = 6728 == G.cat[0] || 653 == G.cat[1] || 830 == G.cat[1], i = \"-672-6864-1105-717-720-718-719-798-\", s = RegExp(\"-\" + G.cat[2] + \"-\").test(i);\r\n//        return !G.isJd && e ? !1 : (655 == G.cat[2] ? $.ajax({url: \"http://rs.jd.com/accessorie/newServiceWhite.jsonp?sku=\" + G.sku + \"&callback=Recommend.cbNewFittings\",dataType: \"script\",cache: !0,scriptCharset: \"utf-8\"}) : 830 == G.cat[1] ? $.ajax({url: \"http://rs.jd.com/accessorie/accessoryByAccessory.jsonp?sku=\" + G.sku + \"&callback=Recommend.cbNewFittings\",dataType: \"script\",cache: !0,scriptCharset: \"utf-8\"}) : G.cat[2] > 830 && 835 > G.cat[2] || 5012 === G.cat[2] ? $.ajax({url: \"http://misc.360buyimg.com/product/js/2012/fittingsCamera.js?ver=20140424\",dataType: \"script\",cache: !0,success: function() {\r\n//                fittingsCamera.init(pageConfig.product.skuid, pageConfig.product.cat[2], 1)\r\n//            }}) : s ? $.ajax({url: \"http://misc.360buyimg.com/product/js/2012/fittingsCamera.js?ver=20140424\",dataType: \"script\",cache: !0,success: function() {\r\n//                fittingsCamera.init(pageConfig.product.skuid, pageConfig.product.cat[2], 2)\r\n//            }}) : 6728 == G.cat[0] && G.isJd ? $.ajax({url: \"http://misc.360buyimg.com/product/js/2012/fittingsAuto.js?ver=20140424\",dataType: \"script\",cache: !0}) : $.getJSONP(\"http://d.360buy.com/fittingInfo/get?skuId=\" + t + \"&callback=Recommend.cbRecoFittings\"), void 0)\r\n    },cbNewFittings: function(t) {\r\n        var e = $(\"#tab-reco\"), i = {accessoryList: []}, s = {tabs: '<div class=\"tab-cat stab\">    <ul>        {if pageConfig.product.cat[1]!=830}            <li id=\"tab-cat-0\" class=\"fl scurr\" data-widget=\"tab-item\" data-cat=\"\\u914d\\u4ef6\\u9009\\u8d2d\\u4e2d\\u5fc3|3\">\\u7cbe\\u9009\\u914d\\u4ef6</li>            {for tab in accessoryList}            <li id=\"tab-cat-${parseInt(tab_index)+1}\" class=\"fl\" data-widget=\"tab-item\" data-cat=\"${tab.thirdName}|${tab.thirdTypeId}\">${tab.thirdName}</li>            {/for}        {else}            {for tab in accessoryList}            <li id=\"tab-cat-${parseInt(tab_index)+1}\" class=\"{if Number(tab_index)==0}scurr{/if} fl\" data-widget=\"tab-item\" data-cat=\"${tab.thirdName}|${tab.thirdTypeId}\">${tab.thirdName}</li>            {/for}        {/if}    </ul></div>',cons: '<div id=\"newFittign-tab\"  data-widget=\"tabs\"><div class=\"master\">    <s></s>    <div class=\"p-img\">        <a href=\"http://item.jd.com/${mainproduct.sku}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(mainproduct.sku)}n4/${mainproduct.imageUrl}\" height=\"100\" width=\"100\"></a>    </div>    <div class=\"p-name\">        <a href=\"http://item.jd.com/${mainproduct.sku}.html\" target=\"_blank\">${mainproduct.name}</a>    </div>    <div class=\"p-price\"><input id=\"inp_${mainproduct.sku}_reco\" type=\"checkbox\" onclick=\"return false;\" onchange=\"return false\" wmeprice=\"{if mainproduct.price==\"\"}0.00{else}${mainproduct.price}{/if}\" wmaprice=\"${mainproduct.maPrice}\" skuid=\"${mainproduct.sku}\" checked/> ${mainproduct.price}</div></div><div class=\"suits\" style=\"width:${pageConfig.wideVersion&&pageConfig.compatible?(4*165-40):(3*128)}px;overflow-x:{if G.cat[1]!=830}auto{else}hidden{/if};overflow-y:hidden;\">    {for tab in accessoryList}    <ul id=\"newFitting-${parseInt(tab_index)+1}\" data-cat=\"${tab.thirdName}\" style=\"width:${G.cat[1]==830?165*tab.accessoryList.length:660}px;\" class=\"{if G.cat[1]==830}{if Number(tab_index)!=0}hide{/if}{else}hide{/if} lh\" data-widget=\"tab-content\">        {if G.cat[1]==830}            {for list in tab.accessoryList}            <li data-push=\"${pageConfig.product.cbNewFittings.push(list.sku)}\" {if (parseInt(list_index)+1)==tab.accessoryList.length} class=\"last_item\"{/if} onclick=\\'${pageConfig.setFittingsClk(G.cat[2], G.sku, list.sku, 50, list_index, \"rodGlobalTrack\")}\\'>                <s></s>                <div class=\"p-img\">                    <a href=\"http://item.jd.com/${list.sku}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(list.sku)}n4/${list.imageUrl}\" alt=\"\" height=\"100\" width=\"100\"></a>                </div>                <div class=\"p-name\">                    <a href=\"http://item.jd.com/${list.sku}.html\" target=\"_blank\">${list.name}</a>                </div>                <div class=\"choose\">                    <input type=\"checkbox\" id=\"inp_${list.sku}\" onclick=\"G.calculatePrice(this, \\'#tab-reco\\')\" wmaprice=\"${list.maPrice}\" wmeprice=\"${list.price}\" skuid=\"${list.sku}\" />                    <label for=\"inp_${list.sku}\" class=\"p-price\">                        <strong class=\"J-p-${list.sku}\"></strong>                    </label>                </div>            </li>            {/for}        {else}            <div class=\"iloading\">\\u52a0\\u8f7d\\u4e2d...</div>        {/if}    </ul>    {/for}</div><div class=\"infos\">    {if pageConfig.product.cat[1]!=830}<div id=\"more-fitting-link\"><a class=\"hl_link\" href=\"http://rs.jd.com/accessorie/center.html?sku=${G.sku}&thirdTypeId=3\" target=\"_blank\">\\u8fdb\\u5165\\u914d\\u4ef6\\u9009\\u8d2d\\u4e2d\\u5fc3</a><span>&gt;<b></b></span></div>{/if}    <s></s>    <div class=\"p-name\">        <em>\\u5df2\\u9009\\u62e9<span>0</span>\\u4e2a\\u914d\\u4ef6</em>    </div>    <div class=\"p-price\">\\u642d&nbsp;&nbsp;\\u914d&nbsp;&nbsp;\\u4ef7\\uff1a        <strong class=\"res-jdprice\">{if mainproduct.price==\"\"}\\u6682\\u65e0\\u62a5\\u4ef7{else}\\uffe5 ${parseFloat(mainproduct.price).toFixed(2)}{/if}</strong>    </div>    <div class=\"p-saving\">\\u53c2&nbsp;&nbsp;\\u8003&nbsp;&nbsp;\\u4ef7\\uff1a        <span class=\"res-totalprice\">\\uffe5 ${parseFloat(mainproduct.maPrice).toFixed(2)}</span>    </div>    <div class=\"btns\">        <a class=\"btn-buy\" href=\"http://jd2008.jd.com/purchase/OrderFlowService.aspx?action=AddSkus&wids=${G.sku}\">\\u7acb\\u5373\\u8d2d\\u4e70</a>    </div></div></div>',item: '{for item in accessoryList}<li data-push=\"${pageConfig.product.cbNewFittings.push(item.sku)}\" {if (parseInt(item_index)+1)==accessoryList.length} class=\"last_item\"{/if}  onclick=\\'${pageConfig.setFittingsClk(G.cat[2], G.sku, item.sku, 34, item_index)};\\'>    <s></s>    <div class=\"p-img\">        <a href=\"http://item.jd.com/${item.sku}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(item.sku)}n4/${item.imageUrl}\" alt=\"\" height=\"100\" skuidth=\"100\"></a>    </div>    <div class=\"p-name\">        <a href=\"http://item.jd.com/${item.sku}.html\" target=\"_blank\">${item.name}</a>    </div>    <div class=\"choose\">        <input type=\"checkbox\" id=\"inp_m_${item.sku}\" onclick=\"G.calculatePrice(this, \\'#tab-reco\\')\" wmaprice=\"${item.maPrice}\" wmeprice=\"${item.price}\" skuid=\"${item.sku}\" />        <label for=\"inp_m_${item.sku}\" class=\"p-price\">            <strong class=\"J-p-${item.sku}\"></strong>        </label>    </div>    {if isExtra==true}    <div class=\"p-more{if (parseInt(item_index)+1)!==accessoryList.length} hide{/if}\"><a class=\"hl_link\" href=\"http://rs.jd.com/accessorie/center.html?sku=${G.sku}&thirdTypeId=${item.thirdType}\" target=\"_blank\"></a></div>    {else}    <div class=\"p-more\"><a class=\"hl_link\" href=\"http://rs.jd.com/accessorie/center.html?sku=${G.sku}&thirdTypeId=${item.thirdType}\" target=\"_blank\">\\u66f4\\u591a${item.thirdName}</a></div>    {/if}</li>{/for}'};\r\n        if (pageConfig.product.cbNewFittings = [pageConfig.product.skuid], pageConfig.setFittingsClk = function(t, e, i, s, a) {\r\n            var n = {cid: t,mainSku: e,itemSku: i,id: s,ind: a,str: \"rodGlobalTrack\"};\r\n            return 830 === G.cat[1] && (n.cid = \"\", n.mainSku = \"\"), n.rid = 830 === G.cat[1] ? 402002 : 402001, 'clsClickLog(\"${cid}\", \"${mainSku}\", \"${itemSku}\", ${id}, \"${ind}\", \"${str}\");G.clsLog(${rid}, \"1\", ${G.sku}, ${itemSku}, ${ind});'.process(n)\r\n        }, 655 == G.cat[2] ? (clsPVAndShowLog(\"655\", G.sku, 34, \"p\"), G.clsLog(402001, \"0\", G.sku, pageConfig.product.cbNewFittings.join(\",\"))) : G.clsLog(402002, \"0\", G.sku, pageConfig.product.cbNewFittings.join(\",\")), t.accessoryByAccessList && (t.accessoryList = t.accessoryByAccessList, t.accessoryByAccessList = null), t && t.accessoryList && t.accessoryList.length > 0) {\r\n            if (e.attr(\"loaded\", \"true\").html(s.cons.process(t)), 830 != pageConfig.product.cat[1]) {\r\n                for (var a = 0; t.accessoryList.length > a; a++)\r\n                    t.accessoryList[a].accessoryList.length = 4, t.accessoryList[a].accessoryList[0].thirdType = t.accessoryList[a].thirdTypeId, t.accessoryList[a].accessoryList[0].thirdName = t.accessoryList[a].thirdName, i.accessoryList.push(t.accessoryList[a].accessoryList[0]), i.isExtra = !1;\r\n                $(\"#newFittign-tab .suits\").prepend('<ul id=\"newFitting-0\" class=\"lh\" data-widget=\"tab-content\" style=\"width:' + 165 * i.accessoryList.length + 'px\">' + s.item.process(i) + \"</ul>\")\r\n            }\r\n            $(\"#newFittign-tab\").prepend(s.tabs.process(t)).Jtab({event: \"click\",compatible: !0,currClass: \"scurr\"}, function(t, i, a) {\r\n                var n = $(\"#newFittign-tab .suits\"), o = $(\"#tab-cat-\" + a).attr(\"data-cat\").split(\"|\")[1], r = $(\"#tab-cat-\" + a).attr(\"data-cat\").split(\"|\")[0], c = $(\"#more-fitting-link a\");\r\n                if (830 != G.cat[1])\r\n                    if (c.attr(\"href\", \"http://rs.jd.com/accessorie/center.html?sku=\" + G.sku + \"&thirdTypeId=\" + o).html(\"\\u8fdb\\u5165\" + r), n.scrollLeft(0), 0 !== a) {\r\n                        if (\"1\" == $(\"#newFitting-\" + a).attr(\"loaded\"))\r\n                            return;\r\n                        window.fetchJSON_fittingExtra = function(t) {\r\n                            var i = pageConfig.wideVersion && pageConfig.compatible ? 4 : 3;\r\n                            t.isExtra = !0, t.accessoryList = t.accessoryList.slice(0, i), $(\"#newFitting-\" + a).html(s.item.process(t)).attr(\"loaded\", \"1\"), $(\"#newFitting-\" + a).find(\".hl_link\").html(\"\\u66f4\\u591a\" + $(\"#tab-cat-\" + a).html());\r\n                            try {\r\n                                delete window.fetchJSON_fittingExtra\r\n                            } catch (n) {\r\n                            }\r\n                            G.getPriceNum(pageConfig.product.cbNewFittings, readCookie(\"ipLoc-djd\"), e, null, function(t, i) {\r\n                                e.find('input[skuid=\"' + t + '\"]').attr(\"wmeprice\", i.p), e.find('input[skuid=\"' + t + '\"]').attr(\"wmaprice\", i.m), G.calculatePrice($(\"#tab-reco .master input\")[0], \"#tab-reco\")\r\n                            })\r\n                        }, $.ajax({url: \"http://rs.jd.com/accessorie/newServiceList.jsonp?sku=\" + G.sku + \"&thirdTypeId=\" + o + \"&callback=fetchJSON_fittingExtra\",dataType: \"script\",cache: \"true\",scriptCharset: \"utf-8\"}), $(\"#newFittign-tab .suits\").removeAttr(\"style\").css({width: pageConfig.wideVersion && pageConfig.compatible ? 620 : 384,overflow: pageConfig.wideVersion && pageConfig.compatible ? \"hidden\" : \"auto\"})\r\n                    } else\r\n                        $(\"#newFittign-tab .suits\").removeAttr(\"style\").css({width: pageConfig.wideVersion && pageConfig.compatible ? 620 : 384,overflowX: \"auto\"})\r\n            }), clsPVAndShowLog(\"655\", G.sku, 34, \"s\"), this.switchTab(\"#th-fitting\"), G.removeLastAdd(), $(\"#tab-reco .master input\").attr(\"skuid\", pageConfig.product.skuid), G.getPriceNum(pageConfig.product.cbNewFittings, readCookie(\"ipLoc-djd\"), e, null, function(t, i) {\r\n                e.find('input[skuid=\"' + t + '\"]').attr(\"wmeprice\", i.p), e.find('input[skuid=\"' + t + '\"]').attr(\"wmaprice\", i.m), G.calculatePrice($(\"#tab-reco .master input\")[0], \"#tab-reco\")\r\n            })\r\n        }\r\n    },renderHTML: function() {\r\n        switch (1 == this.type ? new Grecommend(G.sku, 105e3, readCookie(\"ipLoc-djd\"), $(\"#browse-browse .mc\")) : new Grecommend(G.sku, 102004, readCookie(\"ipLoc-djd\"), $(\"#browse-browse .mc\")), this.type) {\r\n            case 1:\r\n                new Grecommend(G.sku, 103002, readCookie(\"ipLoc-djd\"), $(\"#buy-buy .mc\")), new Grecommend(G.sku, 103001, readCookie(\"ipLoc-djd\"), $(\"#view-buy .mc\")), new Grecommend(G.sku, 103003, readCookie(\"ipLoc-djd\"), $(\"#tab-hot\"));\r\n                break;\r\n            case 2:\r\n                new Grecommend(G.sku, 102002, readCookie(\"ipLoc-djd\"), $(\"#buy-buy .mc\")), new Grecommend(G.sku, 102003, readCookie(\"ipLoc-djd\"), $(\"#view-buy .mc\")), 1315 == G.cat[0] || 11729 == G.cat[0] ? new Grecommend(G.sku, 102001, readCookie(\"ipLoc-djd\"), $(\"#tab-hot\"), 12) : new Grecommend(G.sku, 102001, readCookie(\"ipLoc-djd\"), $(\"#tab-hot\"), 12);\r\n                break;\r\n            default:\r\n        }\r\n    },getDaPeiGou: function(t, e) {\r\n        var t = t || G.sku, i = this, s = '<ul class=\"lh\">    {for list in cbList}    <li class=\"fore${parseInt(list_index)+1}\" clstag=\"shangpin|keycount|product|dapeip${parseInt(list_index)+1}\">        <div class=\"p-img\">            <a target=\"_blank\" title=\"${list.title}\" href=\"http://dapeigou.jd.com/collocateDetail.html?cid=${list.c_id}&s=${list.sku_ids.join(\\',\\')}\">                <img height=\"130\" width=\"130\" alt=\"\" src=\"${list.url}\">            </a>        </div>        <div class=\"p-name ac\">            <a target=\"_blank\" title=\"${list.title}\" href=\"http://dapeigou.jd.com/collocateDetail.html?cid=${list.c_id}&s=${list.sku_ids.join(\\',\\')}\">${list.title}</a>        </div>    </li>    {/for}</ul>';\r\n        $.ajax({url: \"http://rs.jd.com/collocationBuy/service.jsonp?sku=\" + t + \"&venderId=\" + e,dataType: \"jsonp\",success: function(t) {\r\n                t && t.cbList && t.cbList.length > 0 ? ($(\"#tab-dpg\").html(s.process(t)), i.switchTab(\"#th-dpg\")) : $(\"#tab-dpg .iloading\").removeClass(\"iloading\").html(\"\\u6682\\u65e0\\u6570\\u636e\")\r\n            }})\r\n    },switchTab: function(t) {\r\n        var e = $(t), i = $(\"#recommend\"), s = $('#recommend .mc[loaded=\"true\"]'), a = s.length > 0;\r\n        i.show(), e.show(), \"#th-service\" != t ? e.trigger(\"click\") : a || e.trigger(\"click\")\r\n    },cbRecoFittings: function(t) {\r\n        var e = $(\"#tab-reco\");\r\n        pageConfig.product.cbRecoFittings = [pageConfig.product.skuid], t && t.fittings && t.fittings.length > 0 && (e.attr(\"loaded\", \"true\").html('<ul class=\"stab lh\">' + recoFittings_TPL.tabs.process(t) + '</ul><div class=\"stabcon\">' + recoFittings_TPL.cons.process(t) + \"</div>\"), this.switchTab(\"#th-fitting\"), G.removeLastAdd(), G.getPriceNum(pageConfig.product.cbRecoFittings, readCookie(\"ipLoc-djd\"), e, null, function(t, i) {\r\n            e.find('input[skuid=\"' + t + '\"]').attr(\"wmeprice\", i.p), e.find('input[skuid=\"' + t + '\"]').attr(\"wmaprice\", i.m), G.calculatePrice($(\"#tab-reco .master input\")[0], \"#tab-reco\", 1)\r\n        }), G.getNewCLK({name: \"tjpj\",action: \"0\",csku: pageConfig.product.cbRecoFittings,sku: G.sku}))\r\n    }}, setAmount = {min: 1,max: 199,count: 1,countEl: $(\"#buy-num\"),buyLink: $(\"#choose-btn-append .btn-append\"),targetLink: $(\"#choose-btn-append .btn-append\"),matchCountKey: [\"pcount\", \"pCount\", \"num\"],add: function() {\r\n        return this.count >= this.max ? !1 : (this.count++, this.countEl.val(this.count), this.setBuyLink(), void 0)\r\n    },reduce: function() {\r\n        return this.count <= this.min ? !1 : (this.count--, this.countEl.val(this.count), this.setBuyLink(), void 0)\r\n    },modify: function() {\r\n        var t = parseInt(this.countEl.val(), 10);\r\n        return \"\" == this.countEl.val() ? !1 : isNaN(t) || this.min > t || t > this.max ? (this.countEl.val(this.count), !1) : (this.count = t, this.setBuyLink(), void 0)\r\n    },setBuyLink: function() {\r\n        var t = this;\r\n        t.targetLink.each(function() {\r\n            var e, i, s = $(this), a = s.attr(\"href\"), n = a.split(\"?\")[1];\r\n            (function() {\r\n                for (var o = 0; t.matchCountKey.length > o; o++)\r\n                    if (i = RegExp(t.matchCountKey[o] + \"=\\\\d+\"), i.test(n))\r\n                        return e = a.replace(i, t.matchCountKey[o] + \"=\" + t.count), s.attr(\"href\", e), !1\r\n            })()\r\n        }), window.getPOPDeliveCash && getPOPDeliveCash(), onNumChange()\r\n    }};\r\n$.extend(jdModelCallCenter, {usefulComment: function(t) {\r\n        $.login({modal: !0,complete: function(e) {\r\n                if (e.IsAuthenticated) {\r\n//                    var i = t.parent().attr(\"id\"), s = \"agree\" == t.attr(\"name\");\r\n//                    \"true\" != t.attr(\"enabled\") ? $.ajax({type: \"GET\",url: \"http://club.jd.com/index.php\",data: {mod: \"ProductComment\",action: \"saveCommentUserfulVote\",commentId: i,isUseful: s},dataType: \"jsonp\",success: function(e) {\r\n//                            if (t.attr(\"enabled\", \"true\"), 1 == e.status) {\r\n//                                var i = parseInt(t.attr(\"title\")) + 1;\r\n//                                t.attr(\"title\", i), s ? t.html(\"\\u6709\\u7528(\" + i + \")\") : t.html(\"\\u6ca1\\u7528(\" + i + \")\")\r\n//                            } else\r\n//                                alert(\"\\u4e00\\u4e2a\\u8bc4\\u4ef7\\u53ea\\u80fd\\u70b9\\u4e00\\u6b21\\u5466\")\r\n//                        }}) : alert(\"\\u4e00\\u4e2a\\u8bc4\\u4ef7\\u53ea\\u80fd\\u70b9\\u4e00\\u6b21\\u5466\")\r\n                }\r\n            }}), mark(G.sku, 5)\r\n    }}), $(\".btn-agree,.btn-oppose\").livequery(\"click\", function() {\r\n    var t = $(this);\r\n    $.extend(jdModelCallCenter.settings, {object: t,fn: function() {\r\n            jdModelCallCenter.usefulComment(this.object)\r\n        }}), jdModelCallCenter.settings.fn()\r\n});\r\nvar consultationServiceUrl = \"\";\r\n$(\"#btnReferSearch\").livequery(\"click\", function() {\r\n    Consult.search(G.sku, $(\"#txbReferSearch\").val(), 1, 6)\r\n}), $(\"#txbReferSearch\").livequery(\"keydown\", function(t) {\r\n    13 == t.keyCode && Consult.search(G.sku, $(\"#txbReferSearch\").val(), 1, 6)\r\n}), $(\"#backConsultations\").livequery(\"click\", function() {\r\n    $(\"#consult .tab li.curr\").trigger(\"click\")\r\n}), $(\"#login\").livequery(\"click\", function() {\r\n    $.login()\r\n});\r\nvar Refresh = {init: function() {\r\n        return G.isCellphone ? !1 : (\"undefined\" != typeof Promotions ? (Promotions.init(), pageConfig.promotionInited = !0) : pageConfig.promotionInited = !1, this.rFittings(), this.rCombine(), void 0)\r\n    },rFittings: function() {\r\n        var t, e = $(\"#tab-reco\");\r\n        pageConfig.product.cbNewFittings !== void 0 && (t = pageConfig.product.cbNewFittings), pageConfig.product.fittingsAuto !== void 0 && (t = pageConfig.product.fittingsAuto), pageConfig.product.cbRecoFittings !== void 0 && (t = pageConfig.product.cbRecoFittings), t !== void 0 && t.length > 1 && (t.push(pageConfig.product.skuid), $(\"#recommend .master input\").attr(\"skuid\", pageConfig.product.skuid), G.getPriceNum(t, readCookie(\"ipLoc-djd\"), null, null, function(t, i) {\r\n            e.find('input[skuid=\"' + t + '\"]').attr(\"wmeprice\", i.p), e.find('input[skuid=\"' + t + '\"]').attr(\"wmaprice\", i.m), G.calculatePrice($(\"#tab-reco .master input\")[0], \"#tab-reco\")\r\n        }))\r\n    },rCombine: function() {\r\n        var t = $(\"#tab-hot\");\r\n        pageConfig.product.cbCombineBuying !== void 0 && (pageConfig.product.cbCombineBuying.push(pageConfig.product.skuid), G.getPriceNum(pageConfig.product.cbCombineBuying, readCookie(\"ipLoc-djd\"), null, null, function(e, i) {\r\n            t.find('input[skuid=\"' + e + '\"]').attr(\"wmeprice\", i.p), t.find('input[skuid=\"' + e + '\"]').attr(\"wmaprice\", i.m), G.calculatePrice($(\"#tab-hot .master input\")[0], \"#tab-hot\")\r\n        }))\r\n    }}, CommentListNew = {loadFirstPage: !1,init: function(t) {\r\n        var e = $(\"#comments-list\").find(\".mt\"), i = '<div id=\"comment-sort\" class=\"extra\"> <select > <option value=\"3\">\\u70ed\\u5ea6\\u6392\\u5e8f</option> <option value=\"1\">\\u65f6\\u95f4\\u6392\\u5e8f</option> </select> </div>';\r\n        1 > $(\"#comment-sort\").length && e.append(i), this.commList = $(\"#comments-list\"), this.commRate = $(\"#comment\"), this.wrap = $(\"#comment-0\"), this.sku = t || G.sku, this.bindSelect(e), this.commList.find(\".tab li em\").html(\"(0)\")\r\n    },bindSelect: function(t) {\r\n        var e = this;\r\n        t.find(\"select\").change(function() {\r\n            var t = parseInt($(this).val(), 10);\r\n            e.sort !== t && (e.sort = t, e.getData(e.wrap, e.type, e.page))\r\n        })\r\n    },bindHover: function() {\r\n        this.commList.find(\".item-reply\").hover(function() {\r\n            $(this).find(\".reply-meta a\").css(\"visibility\", \"visible\")\r\n        }, function() {\r\n            \"none\" === $(this).find(\".replay-form\").css(\"display\") && $(this).find(\".reply-meta a\").css(\"visibility\", \"hidden\")\r\n        })\r\n    },bindReply: function() {\r\n        var t = this;\r\n        this.commList.find(\".btn-toggle\").unbind(\"click\").bind(\"click\", function() {\r\n            var e = $(this), i = e.parents(\".i-item\"), s = e.attr(\"data-id\");\r\n            e.hasClass(\"btn-toggle\") && $(\"#btn-toggle-\" + t.type + \"-\" + s).toggle().find(\"input\")[0].focus(), e.hasClass(\"btn-reply\") && \"true\" === i.attr(\"data-top\") && i.find(\".hide-default\").toggle()\r\n        }), this.bindHover(), this.commList.find(\".reply-btn\").unbind(\"click\").bind(\"click\", function(e) {\r\n            var i = $(e.target), s = i.attr(\"data-guid\"), a = i.attr(\"data-replyId\"), n = i.attr(\"data-nickname\"), o = i.parents(\".reply-input\").find(\"input\").val(), r = {};\r\n            if (i.hasClass(\"reply-btn\"))\r\n                return t.currReply = i, o = o.replace(/</g, \"<\").replace(/>/g, \">\"), a = i.hasClass(\"reply-btn-lz\") ? \"\" : a, r = {guid: s,content: o,replyId: a,nickname: n}, \"\" === o.replace(/\\s+/, \"\") ? (alert(\"\\u8bf7\\u8f93\\u5165\\u56de\\u590d\\u5185\\u5bb9\"), void 0) : (G.checkLogin(function(e) {\r\n                    e.IsAuthenticated ? t.reply(r) : (jdModelCallCenter.settings.fn = function() {\r\n                        G.checkLogin(function(e) {\r\n                            e.IsAuthenticated && t.reply(r)\r\n                        })\r\n                    }, jdModelCallCenter.login())\r\n                }), void 0)\r\n        })\r\n    },reply: function(t) {\r\n        var e = this, i = {mod: \"Club2013.ProductCommentReply\",action: \"saveProductCommentReply\",commentId: t.guid,content: t.content,parentId: t.replyId}, s = t.content.replace(/[\\u4e00-\\u9fa5]/g, \"XX\");\r\n        return \"\" === t.content.replace(/\\s+/, \"\") ? (alert(\"\\u8bf7\\u8f93\\u5165\\u56de\\u590d\\u5185\\u5bb9\"), !1) : 1 > s.length || s.length > 800 ? (alert(\"\\u56de\\u590d\\u5185\\u5bb9\\u5e94\\u57281~400\\u4e2a\\u5b57\\u4ee5\\u5185\"), !1) : ($.ajax({url: \"http://club.jd.com/index.php?\",data: i,dataType: \"jsonp\",success: function(i) {\r\n                1 === i.status ? (i.data.nickname = t.nickname, e.setReplyItem(i.data)) : i.info && alert(i.info)\r\n            }}), void 0)\r\n    },setReplyItem: function(t) {\r\n        var e, i = this, s = i.currReply.parents(\".i-item\").eq(0), a = s.find(\".reply-lz\"), n = i.currReply.parents(\".reply-list\").eq(0), o = n.find(\".parentReplyFrom\"), r = this.currReply.parents(\".item-reply\").eq(0), c = a.next();\r\n        t._type = this.type, t.commentReply.guid = s.attr(\"data-guid\"), t.commentReply.index = e = c.length > 0 ? parseInt(c.attr(\"data-index\"), 10) + 1 : 1, t.toname = r.attr(\"data-name\"), t.touid = r.attr(\"data-uid\"), o.length > 0 && (t.replyHTML = $(\"<div>\").append(o.clone()).html());\r\n        var l = '<div class=\"item-reply hide-default\" data-index=\"${commentReply.index}\" data-name=\"${commentReply.nickname}\" data-uid=\"${commentReply.uid}\">          <strong>${commentReply.index}</strong>          <div class=\"reply-list\">              <div class=\"reply-con\">                  <span class=\"u-name\">                      <a href=\"http://club.jd.com/userreview/${commentReply.uid}-1-1.html\" target=\"_blank\">${commentReply.nickname}{if commentReply.userClient==99}<b></b>{/if}</a>                      {if parseInt(commentReply.parentId, 10)>0}                          <em>\\u56de\\u590d</em>                          {if typeof replyHTML!==\"undefined\"}                              ${replyHTML}                          {else}                              <a class=\"parentReplyTo\" target=\"_blank\" href=\"http://club.jd.com/userreview/${touid}-1-1.html\">{if parseInt(commentReply.parentId, 10)<0}{else}${toname}{/if}</a>                          {/if}                      {/if}\\uff1a                  </span>                  <span class=\"u-con\">${commentReply.content}</span>              </div>              <div class=\"reply-meta\">                  <span class=\"reply-left fl\">${commentReply.creationTimeString.replace(/:[0-9][0-9]$/, \"\")}</span>                  <a class=\"btn-toggle p-bfc\" data-id=\"${commentReply.id}\" href=\"#none\">\\u56de\\u590d</a>              </div>              <div id=\"btn-toggle-${_type}-${commentReply.id}\" class=\"replay-form none\">                  <div class=\"arrow\">                      <em>\\u25c6</em><span>\\u25c6</span>                  </div>                  <div class=\"reply-wrap\">                      <p><em>\\u56de\\u590d</em> <span class=\"u-name\">${commentReply.nickname}\\uff1a</span></p>                      <div class=\"reply-input\">                          <div class=\"fl\"><input type=\"text\" /></div>                          <a href=\"#none\" class=\"reply-btn btn-gray p-bfc\" data-guid=\"${commentReply.guid}\" data-replyId=\"${commentReply.id}\">\\u56de\\u590d</a>                          <div class=\"clr\"></div>                      </div>                  </div>              </div>          </div>      </div>';\r\n        a.after($(l.process(t)).fadeIn()), s.find(\".btns .btn-reply em\").html(e), this.currReply.hasClass(\"reply-btn-lz\") || this.currReply.parents(\".replay-form\").eq(0).hide(), this.currReply.parents(\".reply-input\").find(\"input\").val(\"\"), this.bindReply()\r\n    },getData: function(t, e, i, s) {\r\n        var a = this;\r\n        this.wrap = t, this.type = e || 0, this.page = i, this.sType = s || 3, this.commRateLoaded = !1, \r\n        //this.url = \"http://club.jd.com/productpage/p-{skuId}-s-{commType}-t-{sortType}-p-{currPage}.html\", \r\n        this.url = \"/js/comment.json\", \r\n        this.url = this.url.replace(\"{skuId}\", this.sku).replace(\"{commType}\", this.type).replace(\"{sortType}\", \r\n        this.sType).replace(\"{currPage}\", this.page), \r\n        $.ajax({url: this.url,dataType: \"json\",success: function(t) {\r\n                a.setData(t)\r\n            }})\r\n    },setABTest: function(t) {\r\n        var e = document.getElementsByTagName(\"head\")[0], i = document.createElement(\"script\");\r\n        t && t.jwotest_product !== void 0 && (1 > $(\"#gemini_comment_sort\" + t.jwotest_product).length && $(\"body\").append('<div id=\"gemini_comment_sort' + t.jwotest_product + '\"></div>'), i.type = \"text/javascript\", i.async = !0, i.id = \"gemini_divide_script\", i.setAttribute(\"param\", \"[{t:24}]\"), i.setAttribute(\"cTime\", \"1387864948704\"), i.src = \"http://api.gemini.jd.com/gemini/gemini_v1.0.js\", e.appendChild(i))\r\n    },setData: function(t) {\r\n        return t || (this.wrap.html(\"\\u3000\\u6682\\u65e0\\u8bc4\\u8bba\"), this.commRate.find(\".mc\").html(\"\\u3000\\u6682\\u65e0\\u8bc4\\u8bba\")), t.comments === void 0 ? (this.wrap.html('<div class=\"norecode\"> \\u6682\\u65e0\\u5546\\u54c1\\u8bc4\\u4ef7\\uff01</div>'), void 0) : (this.commRateLoaded === !1 && this.setCommRate($(\"#comment\"), t), t._type = this.type, this.setCommentCount(t), this.wrap.html(newCommentList_TPL.process(t)), this.bindReply(), this.setPageNav(t), this.loadFirstPage = !0, void 0)\r\n    },setPageNav: function(t) {\r\n        var e = this, i = \"\";\r\n        switch (this.type) {\r\n            case 0:\r\n                i = \"commentCount\";\r\n                break;\r\n            case 1:\r\n                i = \"poorCount\";\r\n                break;\r\n            case 2:\r\n                i = \"generalCount\";\r\n                break;\r\n            case 3:\r\n                i = \"goodCount\";\r\n                break;\r\n            case 4:\r\n                i = \"showCount\";\r\n                break;\r\n            default:\r\n                i = \"commentCount\"\r\n        }\r\n        $(\"#commentsPage\" + t.score).pagination(t.productCommentSummary[i], {items_per_page: 10,num_display_entries: 5,current_page: e.page,num_edge_entries: 2,link_to: \"#comments-list\",prev_text: \"\\u4e0a\\u4e00\\u9875\",next_text: \"\\u4e0b\\u4e00\\u9875\",ellipse_text: \"...\",prev_show_always: !1,next_show_always: !1,callback: function(i) {\r\n                e.getData(e.wrap, t.score, i, e.sType)\r\n            }})\r\n    },setCommentCount: function(t) {\r\n        var e = this.commList.find(\".tab li em\"), i = t.productCommentSummary;\r\n        e.eq(0).html(\"(\" + i.commentCount + \")\"), e.eq(1).html(\"(\" + i.goodCount + \")\"), e.eq(2).html(\"(\" + i.generalCount + \")\"), e.eq(3).html(\"(\" + i.poorCount + \")\"), e.eq(4).html(\"(\" + i.showCount + \")\")\r\n    },setCommRate: function(t, e) {\r\n        t.find(\".mc\").html(newCommentRate_TPL.process(e)), this.commRateLoaded = !0\r\n    }}, Discuss = {getData: function(t, e) {\r\n        var i = this, s = \"http://club.jd.com/clubservice/newcomment-\", a = \"\", n = e;\r\n        switch (this.obj = n, t) {\r\n            case 0:\r\n                a = \"Club\";\r\n                break;\r\n            case 1:\r\n                a = \"Order\";\r\n                break;\r\n            case 2:\r\n                a = \"User\";\r\n                break;\r\n            case 3:\r\n                a = \"Question\";\r\n                break;\r\n            case 4:\r\n                a = \"Friend\"\r\n        }\r\n        window.fetchJSON_Discuss = function(t) {\r\n            n.html(discuss_TPL.process(t)), i.getDiscussComment()\r\n        }, $.getJSONP(s + a + \"-\" + G.orginSku + \".html?callback=fetchJSON_Discuss\")\r\n    },getDiscussComment: function() {\r\n        var t = this, e = \"http://club.jd.com/clubservice/newcomment-Commp.\" + G.cat[2] + \"-\" + G.sku + \".html\";\r\n        $.ajax({url: e,dataType: \"jsonp\",success: function(e) {\r\n                e.discussComments && e.discussComments.Comments && e.discussComments.Comments.length && t.setDiscussComment(e.discussComments)\r\n            }})\r\n    },setDiscussComment: function(t) {\r\n        var e = $(\"#discuss-comment\"), i = '<tbody>    {for item in Comments}    <tr>        <td class=\"col1\">            <div class=\"topic\">                <b class=\"icon lun\"></b>                <a href=\"http://club.jd.com/CommunityGroupDetail/${item.id}_1.html\" target=\"_blank\">${item.title}</a>            </div>        </td>        <td class=\"col2\">${item.replyCount}/${item.viewCount}</td>        <td class=\"col3\">            <div class=\"u-name\">                <a target=\"_blank\" title=\"${comment.uRemark}\" href=\"http://me.jd.com/${item.uid}.html\">{if item.uRemark}${item.uRemark}{else}${item.nickname}{/if}</a>            </div>        </td>        <td class=\"col4\">${item.creationTime}</td>    </tr>    {/for}</tbody>';\r\n        e.html(i.process(t)), this.obj.find(\".norecode\").hide(), this.obj.find(\".total span\").html(\"\\u5171\" + (this.count + t.CommentCount) + \"\\u4e2a\\u8bdd\\u9898\")\r\n    }}, Consult = {getData: function(t, e) {\r\n        window.fetchJSON_Consult = function(t) {\r\n            if (e.html(consult_TPL.process(t)), void 0 !== pageConfig.im) {\r\n                var i = pageConfig.im, s = i.code, a = i.seller;\r\n                if (1 == s)\r\n                    $(\"#j-im-extra\").css(\"display\", \"inline-block\"), $(\"#j-im-extra\").attr(\"title\", a + \" \\u8054\\u7cfb\\u5ba2\\u670d\"), $(\"#j-im-extra\").click(function() {\r\n                        onlineService(1, a, i.chatDomain)\r\n                    });\r\n                else if (2 == s) {\r\n                    $(\"#j-im-extra\").css(\"display\", \"inline-block\");\r\n                    var n = pid.length >= 10 ? \" \\u5ba2\\u670d\\u76ee\\u524d\\u4e0d\\u5728\\u7ebf\\uff01\\u8d2d\\u4e70\\u4e4b\\u524d\\uff0c\\u5982\\u6709\\u95ee\\u9898\\uff0c\\u8bf7\\u5728\\u6b64\\u9875\\u201c\\u5168\\u90e8\\u8d2d\\u4e70\\u54a8\\u8be2\\u201d\\u4e2d\\u5411\\u4eac\\u4e1c\\u5ba2\\u670d\\u53d1\\u8d77\\u54a8\\u8be2\" : \" \\u5382\\u5546\\u552e\\u524d\\u54a8\\u8be2\\u76ee\\u524d\\u4e0d\\u5728\\u7ebf\\uff01\\u8d2d\\u4e70\\u4e4b\\u524d\\uff0c\\u5982\\u6709\\u95ee\\u9898\\uff0c\\u8bf7\\u5728\\u6b64\\u9875\\u201c\\u5168\\u90e8\\u8d2d\\u4e70\\u54a8\\u8be2\\u201d\\u4e2d\\u5411\\u4eac\\u4e1c\\u5ba2\\u670d\\u53d1\\u8d77\\u54a8\\u8be2\";\r\n                    $(\"#j-im-extra\").addClass(\"d-offline\").html(\"<b>\\u7559\\u8a00\\u54a8\\u8be2</b>\").attr(\"title\", a + n).unbind(\"click\")\r\n                } else\r\n                    (3 == s || 9 == s) && ($(\"#j-im-extra\").css(\"display\", \"inline-block\").find(\"b\").html(\"\\u7ed9\\u5ba2\\u670d\\u7559\\u8a00\"), $(\"#j-im-extra\").addClass(\"d-offline\").html(\"<b>\\u7559\\u8a00\\u54a8\\u8be2</b>\").attr(\"title\", a + \" \\u5ba2\\u670d\\u76ee\\u524d\\u4e0d\\u5728\\u7ebf\\uff0c\\u60a8\\u53ef\\u4ee5\\u70b9\\u51fb\\u6b64\\u5904\\u7ed9\\u5546\\u5bb6\\u7559\\u8a00\\uff0c\\u5e76\\u5728\\u3010\\u6211\\u7684\\u4eac\\u4e1c->\\u6d88\\u606f\\u7cbe\\u7075\\u3011\\u4e2d\\u67e5\\u770b\\u56de\\u590d\").click(function() {\r\n                        onlineService(3, a, i.chatDomain)\r\n                    }))\r\n            }\r\n        }, $.getJSONP(\"http://club.jd.com/clubservice/newconsulation-\" + G.orginSku + \"-\" + (t + 1) + \".html?callback=fetchJSON_Consult\")\r\n    },setExtraData: function(t, e) {\r\n        $.jmsajax({url: \"/newsserver.asmx\",method: \"PayExplain\",data: {id: \"A-product-0\" + (t - 3)},success: function(i) {\r\n                if (null != i) {\r\n                    var s = pageConfig.compatible && pageConfig.wideVersion ? 770 : 1450;\r\n                    6 === t ? $(\"#consult-6\").html('<iframe src=\"http://psfw.jd.com/help/deliveryService.html\" style=\"margin-top:10px;width:100%;height:' + s + 'px;border:none;\"></iframe>') : e.html(i)\r\n                }\r\n            }})\r\n    },search: function(t, e, i) {\r\n        var s = \"http://search.jd.com/sayword?\", i = i || 0, t = t || G.orginSku, a = this;\r\n        $.ajax({url: s,dataType: \"jsonp\",data: {wid: t,keyword: encodeURI(e),page: i,ps: 5},success: function(t) {\r\n                var e = '<div class=\"clb\"><div id=\"ReferPagenation\" class=\"pagin fr none\"></div></div>';\r\n                if (t.length > 0) {\r\n                    var s = 0 >= t[0].list.length || 0 >= t[0].total ? \"\\uff0c\\u8bd5\\u8bd5\\u66f4\\u7b80\\u77ed\\u7684\\u5173\\u952e\\u8bcd\\u6216\\u66f4\\u6362\\u5173\\u952e\\u8bcd\" : \"\", n = '<div id=\"consult-result\" class=\"result clearfix\"><div class=\"fl\">\\u5171\\u641c\\u7d22\\u5230<strong>' + t[0].total + \"</strong>\\u6761\\u76f8\\u5173\\u54a8\\u8be2\" + s + '\\u3000<a id=\"backConsultations\" href=\"#none\">\\u8fd4\\u56de</a></div><div class=\"fr\"><em>\\u58f0\\u660e\\uff1a\\u4ee5\\u4e0b\\u56de\\u590d\\u4ec5\\u5bf9\\u63d0\\u95ee\\u80053\\u5929\\u5185\\u6709\\u6548\\uff0c\\u5176\\u4ed6\\u7f51\\u53cb\\u4ec5\\u4f9b\\u53c2\\u8003\\uff01</em></div></div>';\r\n                    if ($(\"#consult .tabcon:visible\").html(n + \"\" + consult_search_TPL.process(t[0]) + e), 0 >= t[0].list.length || 0 >= t[0].total)\r\n                        return !1;\r\n                    $(\"#ReferPagenation\").show().pagination(t[0].total, {items_per_page: 5,num_display_entries: 5,current_page: i - 1,num_edge_entries: 0,link_to: \"#consult\",prev_text: \"\\u4e0a\\u4e00\\u9875\",next_text: \"\\u4e0b\\u4e00\\u9875\",ellipse_text: \"...\",prev_show_always: !1,next_show_always: !1,callback: function(t) {\r\n                            a.search(G.orginSku, $(\"#txbReferSearch\").val(), t + 1, 6)\r\n                        }})\r\n                }\r\n            }})\r\n    }}, Repository = {init: function(t) {\r\n        var t = t || G.sku;\r\n        this.t = null, this.getKeywords(), this.content = $(\".detail-content\").eq(0)\r\n    },setKeywords: function(t) {\r\n        var e = (this.content.html(), $(\"body\").eq(0)), i = '<b class=\"wiki-arr\">\\u25c7</b><div class=\"wiki-inner\">  <dl><dt>${keyword}</dt>      <dd>${description}</dd>  </dl>  <div class=\"wiki-more\"><a href=\"${href}\" clstag=\"shangpin|keycount|product|xxjs\" target=\"_blank\">\\u67e5\\u770b\\u8be6\\u7ec6\\u4ecb\\u7ecd</a></div></div>', s = \"\";\r\n        if (null !== t && t.length > 0) {\r\n            for (var a = 0; t.length > a; a++)\r\n                t[a].id = \"wiki-keyword-\" + a, this.content.html($(\".detail-content\").eq(0).html().replace(RegExp(t[a].keyword), '<span data-id=\"' + t[a].knid + '\" class=\"wiki-words\" id=\"' + \"wiki-keyword-\" + a + '\" style=\"border-bottom:1px dotted;padding-bottom:2px;\">' + t[a].keyword + \"</span>\")), s = i.process(t[a]), e.append($('<div class=\"wiki-pop hide\" id=\"des-wiki-keyword-' + a + '\">' + s + \"</div>\"));\r\n            $(\"img[data-lazyload]\").Jlazyload({type: \"image\",placeholderClass: \"err-product\"}), this.keyWordHover()\r\n        }\r\n    },log: function(t) {\r\n        $.ajax({url: \"http://wiki.jd.com/statistics/termFloat.action?\",data: {id: t,t: +new Date},dataType: \"script\",cache: !0})\r\n    },keyWordHover: function() {\r\n        var t = this, e = $(\".detail-content .wiki-words\");\r\n        $(\".wiki-pop dl\"), e.each(function() {\r\n            var e = this.id, i = $(this).attr(\"data-id\"), s = $(this);\r\n            s.hover(function() {\r\n                var s = $(\"#product-detail\"), a = s.offset().left, n = s.outerWidth(), o = $(this).offset().left, r = o - a > n / 2 ? 310 : 110, c = o - a > n / 2 ? o - 300 : o - 100, l = $(this).offset().top, d = $(this).outerHeight();\r\n                $(\"#des-\" + e).length > 0 && ($(\"#des-\" + e).show().css({left: c,top: l + d - 1}), $(\"#des-\" + e).find(\"b\").css({marginLeft: r})), t.t = setTimeout(function() {\r\n                    t.log(i)\r\n                }, 500)\r\n            }, function(e) {\r\n                var i = this.id, s = e.relatedTarget;\r\n                return s.id == \"des-\" + i ? !1 : ($(\"#des-\" + i).hide(), clearTimeout(t.t), void 0)\r\n            }), $(\"#des-\" + e).hover(function() {\r\n            }, function(t) {\r\n                var i = t.relatedTarget;\r\n                return i.id == \"des-\" + e ? !1 : ($(this).hide(), void 0)\r\n            })\r\n        })\r\n    },getKeywords: function() {\r\n        var t = this;\r\n        $.ajax({url: \"http://wiki.jd.com/product/\" + G.sku + \"/keywords.html\",dataType: \"jsonp\",success: function(e) {\r\n                t.setKeywords(e)\r\n            }})\r\n    }}, EvaluateGradeNew = {init: function(t) {\r\n        var e = this;\r\n        return e.popInfo = t, G.isJd ? !1 : (e.getGradeDetail(t.vid), e.getAddress(t.vid), e.setShopInfo(t), e.setGlobalBuy(t), void 0)\r\n    },bindEvent: function() {\r\n        return $(\"#evaluate s\").click(function() {\r\n            $(this).toggleClass(\"fold\"), $(\"#evaluate-detail\").toggle()\r\n        }), this\r\n    },getAddress: function(t) {\r\n        $.getJSONP(\"http://rms.shop.jd.com/json/pop/popcompany.action?callback=EvaluateGradeNew.setAddress&venderID=\" + t)\r\n    },setAddress: function(t) {\r\n        var e = $(\"#online-service\");\r\n        t && (t.companyName || t.firstAddr || t.secAddr) && (e.after('<dl id=\"pop-company\"><dt>\\u516c\\u53f8\\u540d\\u79f0\\uff1a</dt><dd></dd></dl><dl id=\"pop-address\"><dt>\\u6240&nbsp;\\u5728&nbsp;\\u5730\\uff1a</dt><dd></dd></dl>'), $(\"#pop-company dd\").html(t.companyName), $(\"#pop-address dd\").html(t.firstAddr + \"&nbsp;\" + t.secAddr), pageConfig.wideVersion && pageConfig.compatible && $(\"#online-service dt\").css(\"margin-bottom\", 10))\r\n    },setGlobalBuy: function(t) {\r\n        var e = $(\"#brand-bar-pop\");\r\n        t.vid && 7 == (\"\" + t.vid).length && e.prepend('<div id=\"global-buy\"><em><img src=\"http://misc.360buyimg.com/product/skin/2012/i/haiwai.gif\" alt=\"\\u6d77\\u5916\\u8d2d\\u8ba4\\u8bc1\\u5546\\u5bb6\" /></em></div>')\r\n    },getGrade: function() {\r\n        var t = $(\".evaluate-grade\"), e = $(\".heart-red\");\r\n        return window.fetchJSON_Eva = function(i) {\r\n            e.removeClass(\"h4\").addClass(\"h\" + Math.round(parseFloat(i.result))), t.html(parseFloat(i.result) + \"\\u5206\")\r\n        }, $.getJSONP(\"http://club.jd.com/clubservice/merchantcomment/\" + G.sku + \".html?callback=fetchJSON_Eva\"), this\r\n    },getGradeDetail: function(t) {\r\n        $.getJSONP(\"http://rms.shop.jd.com/json/popscore/scorefact.action?callback=EvaluateGradeNew.setGradeDetail&venderID=\" + t)\r\n    },calcTrends: function(t) {\r\n        var e = \"\", i = \"\", s = this.data;\r\n        return 1 === t && (s.f20 === s.f35 && (e = \"eva-eq\"), s.f20 > s.f35 && (e = \"eva-up\", i = \"\\u8ba1\\u7b97\\u89c4\\u5219\\uff1a\\uff08\\u5546\\u5bb6\\u5f97\\u5206-\\u540c\\u884c\\u4e1a\\u5e73\\u5747\\u5206\\uff09/\\uff08\\u540c\\u884c\\u4e1a\\u5546\\u5bb6\\u6700\\u9ad8\\u5f97\\u5206-\\u540c\\u884c\\u4e1a\\u5e73\\u5747\\u5206\\uff09\"), s.f20 < s.f35 && (e = \"eva-down\", i = \"\\u8ba1\\u7b97\\u89c4\\u5219\\uff1a\\uff08\\u540c\\u884c\\u4e1a\\u5e73\\u5747\\u5206-\\u5546\\u5bb6\\u5f97\\u5206\\uff09/\\uff08\\u540c\\u884c\\u4e1a\\u5e73\\u5747\\u5206-\\u540c\\u884c\\u4e1a\\u5546\\u5bb6\\u6700\\u4f4e\\u5f97\\u5206\\uff09\")), 2 === t && (s.f21 === s.f36 && (e = \"eva-eq\"), s.f21 > s.f36 && (e = \"eva-up\", i = \"\\u8ba1\\u7b97\\u89c4\\u5219\\uff1a\\uff08\\u5546\\u5bb6\\u5f97\\u5206-\\u540c\\u884c\\u4e1a\\u5e73\\u5747\\u5206\\uff09/\\uff08\\u540c\\u884c\\u4e1a\\u5546\\u5bb6\\u6700\\u9ad8\\u5f97\\u5206-\\u540c\\u884c\\u4e1a\\u5e73\\u5747\\u5206\\uff09\"), s.f21 < s.f36 && (e = \"eva-down\", i = \"\\u8ba1\\u7b97\\u89c4\\u5219\\uff1a\\uff08\\u540c\\u884c\\u4e1a\\u5e73\\u5747\\u5206-\\u5546\\u5bb6\\u5f97\\u5206\\uff09/\\uff08\\u540c\\u884c\\u4e1a\\u5e73\\u5747\\u5206-\\u540c\\u884c\\u4e1a\\u5546\\u5bb6\\u6700\\u4f4e\\u5f97\\u5206\\uff09\")), 3 === t && (s.f22 === s.f37 && (e = \"eva-eq\"), s.f22 > s.f37 && (e = \"eva-up\", i = \"\\u8ba1\\u7b97\\u89c4\\u5219\\uff1a\\uff08\\u5546\\u5bb6\\u5f97\\u5206-\\u540c\\u884c\\u4e1a\\u5e73\\u5747\\u5206\\uff09/\\uff08\\u540c\\u884c\\u4e1a\\u5546\\u5bb6\\u6700\\u9ad8\\u5f97\\u5206-\\u540c\\u884c\\u4e1a\\u5e73\\u5747\\u5206\\uff09\"), s.f22 < s.f37 && (e = \"eva-down\", i = \"\\u8ba1\\u7b97\\u89c4\\u5219\\uff1a\\uff08\\u540c\\u884c\\u4e1a\\u5e73\\u5747\\u5206-\\u5546\\u5bb6\\u5f97\\u5206\\uff09/\\uff08\\u540c\\u884c\\u4e1a\\u5e73\\u5747\\u5206-\\u540c\\u884c\\u4e1a\\u5546\\u5bb6\\u6700\\u4f4e\\u5f97\\u5206\\uff09\")), {trends: e,title: i}\r\n    },setGradeDetail: function(t) {\r\n        this.data = t;\r\n        var e = '<div id=\"evaluate-detail\" class=\"m\">    {if f23<1}        <div style=\"padding-bottom:10px\">\\u5356\\u5bb6\\u6682\\u672a\\u6536\\u5230\\u4efb\\u4f55\\u8bc4\\u4ef7</div><style type=\"text/css\">#brand-bar-pop #online-service{border-top:1px solid #ddd;}</style>    {else}        <div class=\"mt\"><style type=\"text/css\">#brand-bar-pop #evaluate{display:block;}</style>            <div class=\"fl\">\\u8bc4\\u5206\\u660e\\u7ec6</div>            <div class=\"p-bfc\">\\u4e0e\\u884c\\u4e1a\\u76f8\\u6bd4</div>        </div>        <div class=\"mc\">            <dl>                <dt>\\u5546\\u54c1\\u8bc4\\u5206\\uff1a</dt>                <dd>                    <span class=\"eva-grade\" title=\"${f20}\">${f20.toFixed(10).substr(0,4)}<b>\\u5206</b></span>                    <span class=\"eva-percent ${EvaluateGradeNew.calcTrends(1).trends}\" title=\"${EvaluateGradeNew.calcTrends(1).title}\"><s></s>{if EvaluateGradeNew.calcTrends(1)==\"eva-eq\"}-----{else}${(f46*100).toFixed(10).substr(0,4)}%{/if}</span>                </dd>            </dl>            <dl>                <dt>\\u670d\\u52a1\\u8bc4\\u5206\\uff1a</dt>                <dd>                    <span class=\"eva-grade\" title=\"${f21}\">${f21.toFixed(10).substr(0,4)}<b>\\u5206</b></span>                    <span class=\"eva-percent ${EvaluateGradeNew.calcTrends(2).trends}\" title=\"${EvaluateGradeNew.calcTrends(2).title}\"><s></s>{if EvaluateGradeNew.calcTrends(2)==\"eva-eq\"}-----{else}${(f47*100).toFixed(10).substr(0,4)}%{/if}</span>                </dd>            </dl>            <dl>                <dt>\\u65f6\\u6548\\u8bc4\\u5206\\uff1a</dt>                <dd>                    <span class=\"eva-grade\" title=\"${f22}\">${f22.toFixed(10).substr(0,4)}<b>\\u5206</b></span>                    <span class=\"eva-percent ${EvaluateGradeNew.calcTrends(3).trends}\" title=\"${EvaluateGradeNew.calcTrends(3).title}\"><s></s>{if EvaluateGradeNew.calcTrends(3)==\"eva-eq\"}-----{else}${(f48*100).toFixed(10).substr(0,4)}%{/if}</span>                </dd>            </dl><div class=\"line\"></div>        </div>    {/if}</div>';\r\n        if (null !== t) {\r\n            1 > $(\"#evaluate s\").length && $(\"#evaluate\").append(\"<s></s>\"), this.bindEvent();\r\n            var i = this.popInfo ? \"http://mall.jd.com/shopLevel-\" + this.popInfo.id + \".html\" : \"#none\";\r\n            $(\"#evaluate\").after(e.process(t)).find(\"dt\").html(\"\\u7efc\\u5408\\u8bc4\\u5206\\uff1a\"), $(\".evaluate-grade strong\").html('<a href=\"' + i + '\" target=\"_blank\">' + t.f23.toFixed(10).substr(0, 3) + \"</a>\").attr(\"title\", t.f23), $(\".heart-red\").removeClass(\"h5\").addClass(\"h\" + parseInt(t.f23)), pageConfig.product.isFlashPurchase && ($(\"#evaluate,#evaluate-detail,#enter-shop a\").hide(), $(\"#seller dd\").html($(\"#seller dd\").text()))\r\n        }\r\n    },setShopInfo: function(t) {\r\n        t.vender && t.url && $(\"#seller dd a\").html(t.vender).attr({href: t.url,title: t.vender}), $(\"#enter-shop a\").attr(\"href\", t.url).attr(\"clstag\", \"shangpin|keycount|product|pop-01\"), t.linkphone && \"\" == $(\"#hotline dd\").html() && ($(\"#hotline dd\").html(t.linkphone), $(\"#hotline\").show())\r\n    }}, JdService = {init: function(t, e, i) {\r\n        this.sku = t, this.resObj = {}, this.currSku = null, this.obj = e || $(\"#choose-service .dd\"), this.fn = i || function() {\r\n        }, this.url = \"\", this.typeMap = {t2: \"ycbs\",t3: \"ycbs\",t4: \"ycbs\",t6: \"ywbh\",t7: \"ywbh\",t9: \"yhdx\"}, this.itemTPL = '<div class=\"item\">    {if arguments[2][0]&&arguments[2][1]==0}        <ins class=\"yb-item-more\">\\u66f4\\u591a</ins>    {/if}    <b></b>    <a class=\"yb-link\" href=\"http://fuwu.jd.com\" target=\"_blank\"><i class=\"yb-ico\"></i></a>    <a href=\"#none\" class=\"yb-item {if arguments[2][0]&&arguments[2][1]==0} yb-item-first{/if}\" id=\"yb-pid-${platformPid}\" data-type=\"${sortId}\" data-sku=\"${platformPid}\" title=\"${G.showServiceDesc(sortId)}\">${sortName} \\uffe5${price}</a></div>', this.TPL = '<div class=\"service-type-yb\">    {if r1.length>0}        <div class=\"yb-item-cat yb-item-cat-r1\">            ${JdService.itemTPL.process(r1[0], [r1.length>1, 0])}            <div class=\"yb-item-hide\">                {for item in r1}                    {if item_index!=0}${JdService.itemTPL.process(item, [r1.length>1])}{/if}                {/for}            </div>        </div>    {/if}    {if r2.length>0}        <div class=\"yb-item-cat yb-item-cat-r2\">            ${JdService.itemTPL.process(r2[0], [r2.length>1, 0])}            <div class=\"yb-item-hide\">                {for item in r2}                    {if item_index!=0}${JdService.itemTPL.process(item, [r2.length>1])}{/if}                {/for}            </div>        </div>    {/if}    {if r3.length>0}        <div class=\"yb-item-cat yb-item-cat-r3\">            ${JdService.itemTPL.process(r3[0], [r3.length>1, 0])}            <div class=\"yb-item-hide\">                {for item in r3}                    {if item_index!=0}${JdService.itemTPL.process(item, [r3.length>1])}{/if}                {/for}            </div>        </div>    {/if}    {if r4.length>0}        <div class=\"yb-item-cat yb-item-cat-r4\">            ${JdService.itemTPL.process(r4[0], [r4.length>1, 0])}            <div class=\"yb-item-hide\">                {for item in r4}                    {if item_index!=0}${JdService.itemTPL.process(item, [r4.length>1])}{/if}                {/for}            </div>        </div>    {/if}    {if r5.length>0}        <div class=\"yb-item-cat yb-item-cat-r5\">            ${JdService.itemTPL.process(r5[0], [r5.length>1, 0])}            <div class=\"yb-item-hide\">                {for item in r5}                    {if item_index!=0}${JdService.itemTPL.process(item, [r5.length>1])}{/if}                {/for}            </div>        </div>    {/if}    <div class=\"yb-item-cat yb-item-detail\"><a class=\"hl_blue\" target=\"_blank\" href=\"http://sale.jd.com/act/1pChm0RcanBPYXIS.html?erpad_source=erpad\">\\u8be6\\u60c5</a></div></div>', this.yb_TPL = '        <div class=\"service-type-yb\">            {for data in list}            <div class=\"yb-item-cat ${data.cName}\">                <div class=\"item\">                    {if data.items.length > 1}<ins class=\"yb-item-more\">\\u66f4\\u591a</ins>{/if}                    <b></b>                    <a class=\"yb-link\" href=\"http://fuwu.jd.com\" target=\"_blank\"><i class=\"yb-ico\"></i></a>                    <a href=\"#none\" class=\"yb-item {if data.items.length > 1} yb-item-first{/if}\" id=\"yb-pid-${data.items[0].platformPid}\" data-type=\"${data.items[0].sortId}\" data-sku=\"${data.items[0].platformPid}\" title=\"${G.showServiceDesc(data.items[0].sortId)}\">${data.items[0].sortName} \\uffe5${data.items[0].price}</a>                </div>                {if data.items.length > 1}                <div class=\"yb-item-hide\">                    {for yb in data.items}                    {if Number(yb_index)>0}                    <div class=\"item\">                        <b></b>                        <a class=\"yb-link\" href=\"http://fuwu.jd.com\" target=\"_blank\"><i class=\"yb-ico\"></i></a>                        <a href=\"#none\" class=\"yb-item\" id=\"yb-pid-${yb.platformPid}\" data-type=\"${yb.sortId}\" data-sku=\"${yb.platformPid}\" title=\"${G.showServiceDesc(yb.sortId)}\">${yb.sortName} \\uffe5${yb.price}</a>                    </div>                    {/if}                    {/for}                </div>                {/if}            </div>            {/for}            <div class=\"yb-item-cat yb-item-detail\">                <a class=\"hl_blue\" target=\"_blank\" href=\"http://sale.jd.com/act/1pChm0RcanBPYXIS.html?erpad_source=erpad\">\\u8be6\\u60c5</a>            </div>        </div>', this.get()\r\n    },bindEvent: function() {\r\n        var t = this;\r\n        this.obj.find(\".service-type-yb .item a\").bind(\"click\", function() {\r\n            var e = $(this), i = e.attr(\"data-sku\"), s = (e.attr(\"data-type\"), e.parent(\".item\")), a = e.parents(\".yb-item-cat\");\r\n            s.hasClass(\"selected\") ? s.removeClass(\"selected\") : (a.find(\".item\").removeClass(\"selected\"), s.addClass(\"selected\")), t.currSku = i, t.currEl = e, t.calResult()\r\n        })\r\n    },addCurrStyle: function(t) {\r\n        var e = t.parents(\".service-type\").eq(0), i = e.find(\".item\");\r\n        i.removeClass(\"selected\"), t.parent(\".item\").eq(0).addClass(\"selected\")\r\n    },removeCurrStyle: function(t) {\r\n        t.parent(\".item\").eq(0).removeClass(\"selected\")\r\n    },get: function() {\r\n//        var t = this;\r\n//        $.ajax({url: \"http://d.360buy.com/yanbao2/get?skuId=\" + this.sku,dataType: \"jsonp\",success: function(e) {\r\n//                e && t.set(e)\r\n//            }})\r\n    },set: function(t) {\r\n        var e, i, s = {list: t}, a = t.length, n = {list: []};\r\n        for (e = 0; a > e; e++)\r\n            i = RegExp(\"-\" + t[e].sortId + \"-\"), i.test(\"-2-3-4-44-49-\") ? (n.list[0] || (n.list[0] = {}, n.list[0].items = [], n.list[0].cName = \"yb-item-cat-r0\"), n.list[0].items.push(t[e])) : i.test(\"-6-7-41-47--\") ? (n.list[1] || (n.list[1] = {}, n.list[1].items = [], n.list[1].cName = \"yb-item-cat-r1\"), n.list[1].items.push(t[e])) : i.test(\"-9-48-60-\") ? (n.list[2] || (n.list[2] = {}, n.list[2].items = [], n.list[2].cName = \"yb-item-cat-r2\"), n.list[2].items.push(t[e])) : i.test(\"-11-50-\") ? (n.list[3] || (n.list[3] = {}, n.list[3].items = [], n.list[3].cName = \"yb-item-cat-r3\"), n.list[3].items.push(t[e])) : i.test(\"-15-16-17-18-45-46-61-63-\") ? (n.list[4] || (n.list[4] = {}, n.list[4].items = [], n.list[4].cName = \"yb-item-cat-r4\"), n.list[4].items.push(t[e])) : i.test(\"-20-21-22-76-77-85-86-87-\") ? (n.list[5] || (n.list[5] = {}, n.list[5].items = [], n.list[5].cName = \"yb-item-cat-r5\"), n.list[5].items.push(t[e])) : i.test(\"-27-28-31-32-67-68-69-70-78-79-\") ? (n.list[6] || (n.list[6] = {}, n.list[6].items = [], n.list[6].cName = \"yb-item-cat-r6\"), n.list[6].items.push(t[e])) : i.test(\"-42-64-65-66-71-72-73-74-80-81-\") ? (n.list[7] || (n.list[7] = {}, n.list[7].items = [], n.list[7].cName = \"yb-item-cat-r7\"), n.list[7].items.push(t[e])) : i.test(\"-52-53-54-57-58-59-75-82-83-84-\") ? (n.list[8] || (n.list[8] = {}, n.list[8].items = [], n.list[8].cName = \"yb-item-cat-r8\"), n.list[8].items.push(t[e])) : (n.list[9] || (n.list[9] = {}, n.list[9].items = [], n.list[9].cName = \"yb-item-cat-r9\"), n.list[9].items.push(t[e]));\r\n        if (s.list.length > 0) {\r\n            this.obj.html(this.yb_TPL.process(n)).parent().show(), pageConfig.product.hasYbInfo = !0;\r\n            var o = this.obj.find(\".yb-item-cat\");\r\n            o.hover(function() {\r\n                $(this).addClass(\"yb-item-hover\")\r\n            }, function() {\r\n                $(this).removeClass(\"yb-item-hover\")\r\n            }), o.each(function() {\r\n                var t = $(this).width();\r\n                $(this).find(\".item\").css(\"width\", t)\r\n            })\r\n        } else\r\n            this.obj.parent().hide();\r\n        this.bindEvent(), this.itemCount = s.list.length\r\n    },addItem: function(t) {\r\n        this.resObj[\"p\" + t] = t\r\n    },removeItem: function(t) {\r\n        this.resObj[\"p\" + t] = null\r\n    },calResult: function() {\r\n        var t = this.obj.find(\".selected\"), e = [];\r\n        return t.each(function() {\r\n            var t = $(this).find(\".yb-item\"), i = t.attr(\"data-sku\");\r\n            i && e.push(i)\r\n        }), \"function\" == typeof this.fn ? this.fn.apply(this, [e, this.currSku, this.currEl]) : void 0\r\n    }}, NotifyPop = {_saleNotify: \"http://skunotify.\" + pageConfig.FN_getDomain() + \"/pricenotify.html?\",_stockNotify: \"http://skunotify.\" + pageConfig.FN_getDomain() + \"/storenotify.html?\",init: function(t, e, i) {\r\n        var s, a = this, n = G.serializeUrl(location.href), o = /from=weibo/.test(location.href) ? location.search.replace(/\\?/, \"\") : \"\";\r\n        /from=weibo/.test(location.href) && (s = n.param.type, this.setThickBox(s, o)), $(t + \",\" + e + \",\" + i).livequery(\"click\", function() {\r\n            var t, e = $(this).attr(\"id\");\r\n            return t = \"notify-btn\" == e || \"notify-stock\" == e ? 2 : 1, G.checkLogin(function(e) {\r\n                e.IsAuthenticated ? (a._userPin = e.Name, a.setThickBox(t, o)) : (jdModelCallCenter.settings.fn = function() {\r\n                    G.checkLogin(function(e) {\r\n                        e.IsAuthenticated && (a._userPin = e.Name, a.setThickBox(t, o))\r\n                    })\r\n                }, jdModelCallCenter.login())\r\n            }), !1\r\n        }).attr(\"href\", \"#none\").removeAttr(\"target\")\r\n    },setThickBox: function(t, e) {\r\n        var i, s, a, n = {skuId: pageConfig.product.skuid,pin: this._userPin,webSite: 1,origin: 1,source: 1}, o = G.serializeUrl(location.href);\r\n        /blogPin/.test(location.href) && (n.blogPin = o.param.blogPin), 1 == t && (i = \"\\u964d\\u4ef7\\u901a\\u77e5\", s = this._saleNotify, a = 250), 2 == t && (i = \"\\u5230\\u8d27\\u901a\\u77e5\", s = this._stockNotify, a = 210, n.storeAddressId = readCookie(\"ipLoc-djd\")), s += e ? e : $.param(n), $.jdThickBox({type: \"iframe\",source: decodeURIComponent(s) + \"&nocache=\" + +new Date,width: 500,height: a,title: i,_box: \"notify_box\",_con: \"notify_con\",_title: \"notify_title\"})\r\n    }};\r\n(function() {\r\n    var t = $(\"#choose-color .selected a,#choose-version .selected a\"), e = $(\"#choose-result .dd\"), i = [];\r\n    1 > t.length || $(\"#product-intro\").hasClass(\"product-intro-noitem\") ? $(\"#choose-result\").hide() : (t.each(function() {\r\n        1 == !!$(this).attr(\"title\") && i.push(\"<strong>\\u201c\" + $(this).attr(\"title\") + \"\\u201d</strong>\")\r\n    }), i.length > 0 && (e.prepend(\"<em>\\u5df2\\u9009\\u62e9</em>\" + i.join(\"\\uff0c\")), $(\"#choose-result\").show()))\r\n})(), function() {\r\n    var t = \"-4835-4836-4833-7073-9393-12276-12278-12279-\", e = G.cat[2];\r\n    RegExp(\"-\" + e + \"-\").test(t) && $(\"#choose-amount\").hide(), (4835 == e || 4836 == e) && (setAmount.urlPerfix = \"http://card.jd.com/order/order_place.action?\", setAmount.data = null, setAmount.data = {skuId: G.sku}), 4833 == e && (setAmount.urlPerfix = \"http://chongzhi.jd.com/order/order_place.action?\", setAmount.data = null, setAmount.data = {skuId: G.sku})\r\n}(), G.onAttr(\"HYKHSP\", function() {\r\n//    var t = \"http://eve.jd.com/redirect.action?wid=\" + G.sku + \"&btype=0&r=\" + Math.random(), e = $(\"#InitCartUrl\");\r\n//    e.attr({href: t,\"data-origin\": encodeURIComponent(t)})\r\n}), G.onAttr(\"isSelfService_17\", function() {\r\n    var t = $(\"#buy-num\");\r\n    t.attr(\"disabled\", \"true\"), setAmount = {}\r\n}), function() {\r\n    var t = function() {\r\n        var t = \"\";\r\n        try {\r\n            t = window.top.document.referrer\r\n        } catch (e) {\r\n            if (window.parent)\r\n                try {\r\n                    t = window.parent.document.referrer\r\n                } catch (i) {\r\n                    t = \"\"\r\n                }\r\n        }\r\n        return \"\" === t && (t = document.referrer), t\r\n    };\r\n    JDS = window.JDS || {}, JDS.strpos = function(t, e, i) {\r\n        var s = (t + \"\").indexOf(e, i || 0);\r\n        return -1 === s ? !1 : s\r\n    }, JDS.uri = function(t) {\r\n        this.components = {}, this.options = {strictMode: !1,key: [\"source\", \"protocol\", \"authority\", \"userInfo\", \"user\", \"password\", \"host\", \"port\", \"relative\", \"path\", \"directory\", \"file\", \"query\", \"anchor\"],q: {name: \"queryKey\",parser: /(?:^|&)([^&=]*)=?([^&]*)/g},parser: {strict: /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\\/?#]*)(?::(\\d*))?))?((((?:[^?#\\/]*\\/)*)([^?#]*))(?:\\?([^#]*))?(?:#(.*))?)/,loose: /^(?:(?![^:@]+:[^:@\\/]*@)([^:\\/?#.]+):)?(?:\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/}}, t && (this.components = this.parseUri(t))\r\n    }, JDS.uri.prototype = {parseUri: function(t) {\r\n            for (var e = this.options, i = e.parser[e.strictMode ? \"strict\" : \"loose\"].exec(t), s = {}, a = 14; a--; )\r\n                s[e.key[a]] = i[a] || \"\";\r\n            return s[e.q.name] = {}, s[e.key[12]].replace(e.q.parser, function(t, i, a) {\r\n                i && (s[e.q.name][i] = a)\r\n            }), s\r\n        },getHost: function() {\r\n            return this.components.hasOwnProperty(\"host\") ? this.components.host : void 0\r\n        },getQueryParam: function(t) {\r\n            return this.components.hasOwnProperty(\"queryKey\") && this.components.queryKey.hasOwnProperty(t) ? this.components.queryKey[t] : void 0\r\n        },isQueryParam: function(t) {\r\n            return this.components.hasOwnProperty(\"queryKey\") && this.components.queryKey.hasOwnProperty(t) ? !0 : !1\r\n        }};\r\n    var e = [{d: \"baidu\",q: \"wd\"}, {d: \"google\",q: \"q\"}, {d: \"images.google\",q: \"q\"}, {d: \"images.search.yahoo.com\",q: \"p\"}, {d: \"sogou\",q: \"query\"}, {d: \"soso\",q: \"w\"}, {d: \"bing\",q: \"q\"}, {d: \"youdao\",q: \"q\"}, {d: \"114so\",q: \"kw\"}, {d: \"zhongsou\",q: \"w\"}, {d: \"yisou\",q: \"q\"}, {d: \"lycos\",q: \"query\"}, {d: \"lycos\",q: \"word\"}, {d: \"yahoo\",q: \"q\"}, {d: \"yahoo\",q: \"p\"}, {d: \"search\",q: \"q\"}, {d: \"live\",q: \"q\"}, {d: \"aol\",q: \"query\"}, {d: \"aol\",q: \"encquery\"}, {d: \"aol\",q: \"q\"}, {d: \"ask\",q: \"q\"}, {d: \"cnn\",q: \"query\"}, {d: \"teoma\",q: \"q\"}, {d: \"yandex\",q: \"text\"}], i = function(t) {\r\n        for (var i = 0, s = e.length; s > i; i++) {\r\n            var a = e[i].d, n = e[i].q, o = t.getHost(), r = t.getQueryParam(n);\r\n            if (!JDS.strpos(o, \"360buy\") && JDS.strpos(o, a) && t.isQueryParam(n))\r\n                return {d: a,q: n,k: r}\r\n        }\r\n    };\r\n    window.jdSref = t(), window.jdSuri = new JDS.uri(window.jdSref), window.searchEngineSource = i(window.jdSuri)\r\n}(), CombineShare.prototype = {init: function() {\r\n        var t = this;\r\n        this.$el.bind(\"click\", function() {\r\n            $.login({modal: !0,complete: function(e) {\r\n                    e && e.IsAuthenticated && e.IsAuthenticated && t.getThickBox(1)\r\n                }})\r\n        })\r\n    },getThickBox: function(t, e) {\r\n        function i() {\r\n            var t = a.imgs, e = \"\";\r\n            if (1 > t.length)\r\n                return !1;\r\n            for (var i = 0; t.length > i; i++)\r\n                e += '<li class=\"' + (0 === i ? \"selected\" : \"\") + '\"><a href=\"#none\"><img src=\"' + t[i].replace(/\\/n\\d/, \"/n4\") + '\" alt=\"\" /><s></s></a></li>';\r\n            return e\r\n        }\r\n        function s() {\r\n            var t = a.shareMap, e = \"\";\r\n            for (var i in t)\r\n                e += '<label title=\"' + t[i].text + '\" for=\"share-' + t[i].name + '\"><input value=\"' + i.replace(\"T\", \"\") + '\" id=\"share-' + t[i].name + '\" type=\"checkbox\"><em id=\"share-ico-' + t[i].name + '\">' + t[i].text + \"</em></label>\";\r\n            return e\r\n        }\r\n        var a = this, n = {};\r\n        n.T1 = '<div id=\"cb-share1\" class=\"combine-share\">    <div class=\"mt\">        <dl>            <dt class=\"fl\">\\u5206\\u4eab\\u5230\\uff1a</dt>            <dd class=\"lh\">{SHARELIST}</dd>        </dl>    </div>    <div class=\"mc\">        <textarea id=\"share-text\" name=\"\" cols=\"30\" rows=\"10\" placeholder=\"\\u8bf4\\u70b9\\u4ec0\\u4e48\\u5427...\">{TEXT}</textarea>        <div class=\"share-meta clearfix\">            <div class=\"share-link fl\"><a class=\"s-btn s-btn-gray\" href=\"{LINK}\" target=\"_blank\"><b class=\"s-btn\"></b>\\u5206\\u4eab\\u94fe\\u63a5</a></div>            <div class=\"share-count lh ar\">\\u8fd8\\u53ef\\u4ee5\\u8f93\\u5165<em>100</em>\\u5b57</div>        </div>        {IMGWRAP}    </div>    <div class=\"mb\">        <div class=\"share-btn\">            <a href=\"#none\" class=\"s-btn s-btn-ok share-btn-ok\">\\u5206\\u4eab</a>        </div>    </div></div>', n.T2 = '<div id=\"cb-share2\" class=\"combine-share share-msg\">    <dl>        <dd class=\"ld\"><h5 class=\"ac\"><strong><s class=\"share-ico\"></s>\\u6210\\u529f\\u5206\\u4eab\\u5230 {EXT}</strong></h5></dd>    </dl>    <div class=\"share-btn\"><a href=\"#none\" class=\"s-btn s-btn-gray\" onclick=\"jdThickBoxclose();\">\\u786e\\u5b9a</a></div></div>', n.T3 = '<div id=\"cb-share3\" class=\"combine-share share-msg share-warning\">    <dl>        <dt class=\"fl share-ico\"></dt>        <dd class=\"ld\"><h5>\\u5206\\u4eab\\u5931\\u8d25\\uff0c\\u8bf7\\u91cd\\u65b0\\u64cd\\u4f5c\\u3002</h5></dd>    </dl>    <div class=\"share-btn\"><a href=\"#none\" class=\"s-btn s-btn-gray share-btn-fail\">\\u786e\\u5b9a</a></div></div>', n.T4 = '<div id=\"cb-share4\" class=\"combine-share share-msg share-warning\">    <dl>        <dt class=\"fl share-ico\"></dt>        <dd class=\"ld\"><h5>\\u5b57\\u6570\\u8d85\\u51fa\\u9650\\u5236\\u8bf7\\u91cd\\u65b0\\u8f93\\u5165</h5></dd>    </dl>    <div class=\"share-btn\"><a href=\"#none\" class=\"s-btn s-btn-gray share-btn-fail\">\\u786e\\u5b9a</a></div></div>', n.T5 = '<div id=\"cb-share5\" class=\"combine-share share-warning\">    <dl>        <dt class=\"fl share-ico\"></dt>        <dd class=\"ld\"><h5>\\u8bf7\\u5148\\u7ed1\\u5b9a\\u5206\\u4eab\\u5e73\\u53f0\\u8d26\\u53f7\\u518d\\u8fdb\\u884c\\u5206\\u4eab</h5></dd>    </dl>    <div class=\"share-btn\"><a href=\"#none\" class=\"s-btn s-btn-gray share-btn-rebind\">\\u786e\\u5b9a</a></div></div>', n.IMG = '<p>\\u9009\\u62e9\\u914d\\u56fe\\uff1a</p><div class=\"share-imgScroll\">    <a id=\"share-img-prev\" class=\"share-controls s-btn s-btn-gray\" href=\"#none\"><s></s></a>    <a id=\"share-img-next\" class=\"share-controls s-btn s-btn-gray\" href=\"#none\"><s></s></a>    <div class=\"share-img-wrap\">        <ul class=\"lh\">{IMGS}</ul>    </div></div>', this.onbeforeOpen && this.onbeforeOpen(this);\r\n        var o = i(), r = s(), c = \"\";\r\n        c = o ? n[\"T\" + t].replace(\"{IMGWRAP}\", n.IMG).replace(\"{IMGS}\", i()) : n[\"T\" + t].replace(\"{IMGWRAP}\", \"\"), c = c.replace(\"{LINK}\", this.shareParam.url), c = c.replace(\"{SHARELIST}\", r), this.textNumOverflow && (this.shareParam.content = this.cacheText), this.jp && (this.shareParam.content = this.shareParam.content.replace(\"{PRICE}\", this.jp)), c = c.replace(\"{TEXT}\", this.shareParam.content), e !== void 0 && (c = c.replace(\"{EXT}\", e)), jdThickBoxclose && jdThickBoxclose(), 1 === t && $.jdThickBox({title: \"\\u5206\\u4eab\\u7ed9\\u597d\\u53cb\",width: 520,height: o ? 340 : 200,source: c}, function() {\r\n            a.getBindStatus()\r\n        }), 2 === t && $.jdThickBox({title: \"\\u5206\\u4eab\\u7ed9\\u597d\\u53cb\",width: 520,height: 100,source: c}), 3 === t && $.jdThickBox({title: \"\\u5206\\u4eab\\u7ed9\\u597d\\u53cb\",width: 400,height: 100,source: c}), 4 === t && $.jdThickBox({title: \"\\u63d0\\u793a\",width: 400,height: 100,source: c}), 5 === t && $.jdThickBox({title: \"\\u8d26\\u53f7\\u7ed1\\u5b9a\",width: 400,height: 100,source: c}), this.wrap = $(\"#cb-share\" + t), 1 === t && this.updateCount(), this.bindEvent()\r\n    },bindEvent: function() {\r\n        var t = this, e = this.wrap, i = e.find(\".share-btn-ok\"), s = e.find(\".share-btn-fail,.share-btn-rebind\"), a = e.find(\".share-img-wrap\"), n = $(\"#share-img-prev\"), o = $(\"#share-img-next\"), r = a.find(\"li\");\r\n        r.bind(\"click\", function() {\r\n            r.removeClass(\"selected\"), $(this).addClass(\"selected\")\r\n        }), e.find(\".mt input\").unbind(\"click\").bind(\"click\", function() {\r\n            var e = $(this).val();\r\n            $(this).next().hasClass(\"actived\") || ($(this).next().addClass(\"actived\"), window.open(t.shareMap[\"T\" + e].url))\r\n        }), e.find(\".mc textarea\").bind(\"keyup change\", function() {\r\n            t.updateCount($(this)), t.cacheText = $(this).val()\r\n        }), i.bind(\"click\", function() {\r\n            t.wrap.find(\"textarea\");\r\n            var e = t.wrap.find(\".share-count\").hasClass(\"overflow\");\r\n            e ? (t.getThickBox(4), t.textNumOverflow = !0) : (t.goShare(), t.textNumOverflow = !1)\r\n        }), s.unbind(\"click\").bind(\"click\", function() {\r\n            t.getThickBox(1)\r\n        }), a.imgScroll({visible: 4,step: 4,prev: n,next: o,showControl: !0})\r\n    },updateCount: function(t) {\r\n        t = t || this.wrap.find(\"textarea\");\r\n        var e = t.val(), i = e.replace(/[\\u4e00-\\u9fa5]/g, \"jd\").length, s = this.wrap.find(\".share-count\"), a = s.find(\"em\"), n = 100;\r\n        0 > n - Math.ceil(i / 2) ? a.html(\"0\") : a.html(n - Math.ceil(i / 2) + \"\"), Math.ceil(i / 2) > n ? s.addClass(\"overflow\") : s.removeClass(\"overflow\")\r\n    },getBindStatus: function() {\r\n        var t = this;\r\n        $.ajax({url: \"http://share.jd.com/share/getBindStatus.action\",dataType: \"jsonp\",success: function(e) {\r\n                e && e.length && t.setBindStatus(e)\r\n            }})\r\n    },setBindStatus: function(t) {\r\n        for (var e, i, s, a = 0; t.length > a; a++)\r\n            e = t[a].name, i = t[a].status, s = t[a].type, 1 === i && (this.wrap.find(\"#share-ico-\" + e).addClass(\"actived\"), this.wrap.find(\"#share-\" + e).attr(\"checked\", !0))\r\n    },goShare: function() {\r\n        var t = this, e = this.wrap.find(\"dd input:checked\"), i = this.wrap.find(\".share-img-wrap .selected img\").attr(\"src\"), s = this.wrap.find(\"#share-text\").val(), a = [], n = this.shareParam;\r\n        n.content = s, n.imgUrl = i, e.each(function() {\r\n            var t = $(this).val();\r\n            t && a.push(t)\r\n        }), a.length && (n.type = a.join(\",\"), $.ajax({url: \"http://share.jd.com/share/shareItem.action\",dataType: \"jsonp\",data: n,success: function(e) {\r\n                var i = [], s = [];\r\n                if (e && e.code !== void 0 && (-1 === e.code && t.getThickBox(3), 0 === e.code)) {\r\n                    i = e.status.split(\",\");\r\n                    for (var a = 0; i.length > a; a++)\r\n                        s.push(t.shareMap[\"T\" + i[a]].text);\r\n                    t.getThickBox(2, s.join(\",\"))\r\n                }\r\n            }}))\r\n    }}, G.onAttr(\"isOnlyIOUsPay\", function() {\r\n    function t() {\r\n        /debug/.test(location.href) && prompt(\"\\u9875\\u9762\\u5c06\\u8df3\\u8f6c\\u5230\\uff1a\", i.replace(/nums=\\d+/, \"nums=\" + $(\"#buy-num\").val()) + \"&r=\" + Math.random()), location.href = i.replace(/nums=\\d+/, \"nums=\" + $(\"#buy-num\").val()) + \"&r=\" + Math.random()\r\n    }\r\n    var e, i = \"http://cart.jd.com/cart/dynamic/gateForSubFlow.action?wids=\" + G.sku + \"&nums=1&subType=25\", s = $(\"#choose-btns\"), a = s.find(\"#choose-btn-easybuy,#choose-btn-divide\"), n = s.find(\"#choose-btn-append\"), o = $(\"#nav-minicart\"), r = '        <div id=\"choose-btn-baitiao\" class=\"btn\">            <a href=\"#none\" class=\"btn-baitiao\" clstag=\"shangpin|keycount|product|btn-dbt\">\\u6253\\u767d\\u6761<b></b></a>        </div>        <div id=\"choose-btn-baitiao-n\" class=\"btn\">            <a href=\"#none\" class=\"btn-baitiao-n\" onclick=\"showNaBaitiao(\\'#Fqfk_Tip\\')\" clstag=\"shangpin|keycount|product|btn-dbt\">\\u62ff\\u767d\\u6761<b></b></a>        </div>';\r\n    s.prepend(r), e = s.find(\"#choose-btn-baitiao\"), a.remove(), n.hide(), o.addClass(\"nav-minicart-baitiao\"), pageConfig.serviceYB = \"disabled\", pageConfig.btnBaiTiaoFq = \"disabled\", o.find(\"a\").attr(\"href\", \"#none\").addClass(\"btn-baitiao\"), jdModelCallCenter.settings.fn = t, $(\".btn-baitiao\").click(function() {\r\n        $(this).attr(\"href\", \"#none\"), pageConfig.product.havestock && $.login({modal: !0,complete: function(e) {\r\n                e && e.IsAuthenticated && e.IsAuthenticated && t()\r\n            }})\r\n    })\r\n}), G.onAttr(\"is7ToReturn-0\", function() {\r\n    var t = $(\"#summary-tips .dd\"), e = $(\"#is7ToReturn-0\");\r\n    e.length || (t.append('<div id=\"is7ToReturn-0\" class=\"hl_red\">\\u8be5\\u5546\\u54c1\\u4e0d\\u652f\\u63017\\u5929\\u65e0\\u7406\\u7531\\u9000\\u8d27</div>'), t.parent().show())\r\n}), G.onAttr(\"isOverseaPurchase-2\", function() {\r\n    var t = $(\"#brand-bar-pop\"), e = pageConfig.compatible && pageConfig.wideVersion ? \"http://img14.360buyimg.com/da/jfs/t400/299/567388192/6321/25ca849/5423c4e8N677e0ae5.png\" : \"http://img11.360buyimg.com/da/jfs/t337/347/813006143/5018/2539994f/5423c4efNe43efd80.png\";\r\n    t.prepend('<div id=\"oversea-purchase\" class=\"m\"><em><img src=\"' + e + '\" alt=\"\\u6d77\\u5916\\u76f4\\u8d2d-\\u8ba4\\u8bc1\\u5546\\u5bb6\" /></em></div>')\r\n}), function() {\r\n    function t() {\r\n//        var t = $(\"#choose-btn-easybuy,#choose-btn-baitiao-fq,#nav-minicart\");\r\n       // pageConfig.product.specialAttrs.join(\"^\"), $(\"#choose-btn-append,#choose-btn-qiang\").addClass(\"disabled\"), t.remove(), pageConfig.product.isWeChatStock = !0\r\n    }\r\n    pageConfig.product.isClosePCShow && t()\r\n}(), function() {\r\n//    var t = $(\"#choose-btn-easybuy\"), e = '        <div id=\"choose-btn-baitiao-fq\" clstag=\"shangpin|keycount|product|baitiao\" class=\"btn\">            <a href=\"#none\" class=\"btn-baitiao-fq\" style=\"width:100px\" onclick=\"showBaitiaoFq(\\'#Fqfk_Tip\\')\" clstag=\"shangpin|keycount|product|btn-dbt\">\\u767d\\u6761/\\u5206\\u671f<b style=\"background:url(http://img10.360buyimg.com/da/jfs/t187/274/284523263/8856/bceb4ca8/5385bac9Nbc69d7f7.png) no-repeat\"></b></a>        </div>';\r\n//    G.isJd && \"enabled\" == pageConfig.btnBaiTiaoFq && t.after(e)\r\n}(), $(function() {\r\n    var t = $(\"#choose-btn-append\"), e = $(\"#InitCartUrl\"), i = $(\"#recommend .tab\"), s = \"\", a = \"\";\r\n    pageConfig.product.havestock === void 0 ? (s = \"\", a = \"http://cart.gift.jd.com/cart/addGiftToCart.action?pid=\" + pageConfig.product.skuid + \"&pcount=\" + $(\"#buy-num\").val() + \"&ptype=1\") : (s = pageConfig.product.havestock ? \"\" : \"disabled\", pageConfig.product.havestock ? (s = \"\", a = \"http://cart.gift.jd.com/cart/addGiftToCart.action?pid=\" + pageConfig.product.skuid + \"&pcount=\" + $(\"#buy-num\").val() + \"&ptype=1\") : (s = \"disabled\", a = \"#none\")), 6980 == G.cat[2] && $('#product-detail [data-widget=\"tab-item\"]').eq(3).hide(), $(\"#online-service\").find(\"b\").html(\"\\u8054\\u7cfb\\u5ba2\\u670d\"), $(\"#comments-list li\").eq(4).html('<a href=\"javascript:;\">\\u6709\\u6652\\u5355\\u7684\\u8bc4\\u4ef7<em>(0)</em></a>'), $(\"body\").addClass(\"cat-1-\" + G.cat[0] + \" cat-2-\" + G.cat[1] + \" cat-3-\" + G.cat[2] + \" item-\" + G.sku), G.onAttr(\"HYKHSP-2\", function() {\r\n        setTimeout(function() {\r\n            pageConfig.product.havestock && $(\"#choose-btn-append .btn-append \").addClass(\"btn-append-zydz\")\r\n        }, 400)\r\n    }), function() {\r\n        var t = $(\"#product-detail .mt\").eq(0).find(\"li\");\r\n        t.eq(0).attr(\"id\", \"p-con-detail\"), t.eq(1).attr(\"id\", \"p-con-attr\"), t.eq(2).attr(\"id\", \"p-con-list\"), t.eq(3).attr(\"id\", \"p-con-comm\"), t.eq(4).attr(\"id\", \"p-con-guar\"), t.eq(5).attr(\"id\", \"p-con-wiki\")\r\n    }(), i.find(\"li\").eq(0).attr(\"id\", \"th-fitting\"), i.find(\"li\").eq(1).attr(\"id\", \"th-hot\"), i.find(\"li\").eq(2).attr(\"id\", \"th-service\").hide(), $(\"#th-fitting a\").eq(0).text(\"\\u63a8\\u8350\\u914d\\u4ef6\"), $(\"#summary-grade .dd a\").attr(\"clstag\", \"shangpin|keycount|product|pingjiabtn\"), $(\"#store-selector\").attr(\"clstag\", \"shangpin|keycount|product|quyuxuanze\"), $(\"#choose-btn-coll a\").attr(\"clstag\", \"shangpin|keycount|product|btn-guanzhu\"), $(\"#choose-btn-easybuy\").attr(\"clstag\", \"shangpin|keycount|product|btn-easybuy\"), 1 > $(\"#th-suits\").length && ($(\"#th-fitting\").after('<li data-widget=\"tab-item\" class=\"none\" id=\"th-suits\"><a href=\"javascript:;\">\\u4f18\\u60e0\\u5957\\u88c5</a></li>'), $(\"#tab-reco\").after('<div id=\"tab-suits\" class=\"mc none\" data-widget=\"tab-content\"> <div class=\"iloading\">\\u6b63\\u5728\\u52a0\\u8f7d\\u4e2d\\uff0c\\u8bf7\\u7a0d\\u5019...</div> </div>')), 1 > $(\"#th-dpg\").length && ($(\"#th-service\").before('<li data-widget=\"tab-item\" class=\"none\" id=\"th-dpg\"><a href=\"javascript:;\">\\u76f8\\u5173\\u4e3b\\u9898\\u642d\\u914d</a></li>'), $(\"#tab-services\").before('<div id=\"tab-dpg\" class=\"mc none\" data-widget=\"tab-content\"> <div class=\"iloading\">\\u6b63\\u5728\\u52a0\\u8f7d\\u4e2d\\uff0c\\u8bf7\\u7a0d\\u5019...</div> </div>')), $(\"#j-im\").addClass(\"djd-im\").attr(\"href\", \"#none\"), $(\"#btnReferSearch\").attr(\"clstag\", \"shangpin|keycount|product|consult9\"), $(\"#consult .tab li\").each(function(t) {\r\n        $(this).attr(\"clstag\", \"shangpin|keycount|product|consult0\" + (t + 1))\r\n    }), G.isJd && $(\"body\").addClass(\"JD\"), G.isPop && $(\"body\").addClass(\"POP\"), \"\" != $.trim($(\"#product-detail-6\").html()) && ($(\"#p-con-wiki\").show(), $(\"#practical-guide\").Jtab({event: \"click\",hookKey: \"data-subtab\",hookItemVal: \"subtab-item\",hookContentVal: \"subtab-content\",compatible: !0})), /gift=true/.test(location.href) && ($(\"#choose-btns\").prepend('<div id=\"choose-btn-gift\" class=\"btn ' + s + '\"><a href=\"' + a + '\" class=\"btn-gift\"><b></b>\\u9009\\u4f5c\\u793c\\u7269\\u8d2d\\u4e70</a></div>'), setAmount.targetLink = $(\"#choose-btn-append .btn-append,#choose-btn-gift .btn-gift\")), (938747 == G.sku || 938749 == G.sku) && (t.addClass(\"disabled\"), e.attr(\"href\", \"#none\")), $(\"#view-bigimg\").after('<div id=\"compare\" clstag=\"shangpin|keycount|product|jiaruduibi\"><a class=\"btn-compare btn-compare-s\" href=\"#none\" id=\"comp_{sku}\" skuid=\"{sku}\"><span>\\u5bf9\\u6bd4</span></a></div>'.replace(/{sku}/g, G.sku)), $(\"#view-bigimg\").attr(\"clstag\", \"shangpin|keycount|product|chakandatu\"), pageConfig.FN_InitContrast(), G.getCommentNum(G.orginSku, function(t) {\r\n        var e = $(\"#summary-grade .star\"), i = $(\"#summary-grade .dd>a\").eq(0), s = $(\"#p-con-comm\");\r\n        if (t && t.CommentCount !== void 0) {\r\n            if (e.removeClass(\"sa0\").addClass(\"sa\" + t.AverageScore), 6980 === G.cat[2])\r\n                return !1;\r\n            i.html(\"(\\u5df2\\u6709\" + t.CommentCount + \"\\u4eba\\u8bc4\\u4ef7)\").css(\"float\", \"left\"), t.CommentCount > 0 && s.find(\"a\").append('<span class=\"hl_blue\"> (' + t.CommentCount + \") </span>\")\r\n        } else\r\n            e.removeClass(\"sa0\").addClass(\"sa5\"), i.html(\"(\\u5df2\\u67090\\u4eba\\u8bc4\\u4ef7)\").css(\"float\", \"left\")\r\n    }), function() {\r\n        if (\"disabled\" == pageConfig.serviceYB)\r\n            return !1;\r\n        $(\"#choose-result\").length > 0 ? $(\"#choose-result\").before('<li id=\"choose-service\" class=\"hide\"><div class=\"dt\">\\u4eac\\u4e1c\\u670d\\u52a1\\uff1a</div><div class=\"dd\"></div></li>') : $(\"#choose-btns\").length > 0 && $(\"#choose-btns\").before('<li id=\"choose-service\" class=\"hide\"><div class=\"dt\">\\u4eac\\u4e1c\\u670d\\u52a1\\uff1a</div><div class=\"dd\"></div></li>');\r\n        var t = $(\"#choose-btn-append a\"), e = t.attr(\"href\"), i = $(\"#choose-result .dd\"), s = $(\"#choose-result .dd\").html(), a = !1;\r\n        JdService.init(G.sku, $(\"#choose-service .dd\"), function(n) {\r\n            var o = \"&ybId=\" + n.join(\",\"), r = $(\"#buy-num\").val(), c = [], l = $(\"#choose-btn-qiang a\");\r\n            if (n.length > 0) {\r\n                t.attr(\"href\", e.replace(/pcount=\\d+/, \"pcount=\" + r) + o), i.parent().show();\r\n                for (var d = 0; n.length > d; d++)\r\n                    c.push(\"<strong>\\u201c\" + $(\"#yb-pid-\" + n[d]).text() + \"\\u201d</strong>\");\r\n                i.html((s ? s + \"\\uff0c\" : \"\") + c.join(\"\\uff0c\"))\r\n            } else\r\n                t.attr(\"href\", e.replace(/pcount=\\d+/, \"pcount=\" + r)), i.html(s);\r\n            l.length && !a && (a = l.attr(\"href\")), l.length && (n.length > 0 ? l.attr(\"href\", a + o) : l.attr(\"href\", a))\r\n        })\r\n    }(), $(\".jqzoom\").jqueryzoom({xzoom: 400,yzoom: 400,offset: 10,position: \"left\",preload: 1,lens: 1}), $(\"#summary-grade .dd\").click(function() {\r\n        var t = $(\"#comment\");\r\n        \"true\" !== $(\"#comment\").attr(\"nodata\") ? t.show() : $(document).scrollTop($(\"#comments-list\").offset().top + $(\"#comments-list .mt\").height())\r\n    }), function() {\r\n        var t = $(\"#spec-list li\");\r\n        t.mouseover(function() {\r\n            var e = $(this).find(\"img\"), i = e.attr(\"src\");\r\n            t.index($(this)), $(\"#spec-list img\").removeClass(\"img-hover\"), e.addClass(\"img-hover\"), $(\"#spec-n1 img\").eq(0).attr({src: i.replace(\"/n5/\", \"/n1/\"),jqimg: i.replace(\"/n5/\", \"/n0/\")})\r\n        })\r\n    }(), G.isPop && $.getJSONP(\"http://st.3.cn/gvi.html?callback=setPopInfo&type=popdeliver&skuid=\" + G.sku), CommentListNew.init(G.sku), Recommend.init(pageConfig.product.type), NotifyPop.init(\"#summary-price .dd a\", \"#notify-stock\", \".btn-notice\"), $(\".spec-items\").imgScroll({visible: 5,speed: 200,step: 1,loop: !1,prev: \"#spec-forward\",next: \"#spec-backward\",disableClass: \"disabled\"}), $(\"#recommend\").Jtab({event: \"click\",compatible: !0}), $(\"#product-detail\").Jtab({event: \"click\",compatible: !0}, function(t, e, i) {\r\n        if ($(\"#product-detail .mt\").removeClass(\"nav-fixed\"), $(\"#product-detail .mt\").removeClass(\"nav-fixed\").floatNav({fixedClass: \"nav-fixed\",targetEle: \"#consult\",anchor: \"#product-detail\",range: 30,onStart: function() {\r\n                $(\"#nav-minicart\").show()\r\n            },onEnd: function() {\r\n                r()\r\n            }}), 3 == i) {\r\n//            if (e.css(\"height\", 5).html(\"<div>a</div>\"), $(\"#promises,#state\").hide(), Consult.getData(0, $(\"#consult-0\")), !CommentListNew.loadFirstPage) {\r\n//                var s = pageConfig.product.isFlashPurchase ? 2 : isAreaProduct ? 1 : 3;\r\n//                CommentListNew.getData($(\"#comment-0\"), 0, 0, s)\r\n//            }\r\n            $(\"#product-detail .mt\").floatNav({fixedClass: \"nav-fixed\",targetEle: \"#consult\",anchor: \"#product-detail\",range: 0,onStart: function() {\r\n                    $(\"#nav-minicart\").show()\r\n                },onEnd: function() {\r\n                    r()\r\n                }})\r\n        } else\r\n            $(\"#promises,#state\").show();\r\n        0 === i ? o() : n()\r\n    }), $(\"#comments-list\").Jtab({event: \"click\",compatible: !0}, function(t, e, i) {\r\n        var s = 0;\r\n        s = 1 === i ? 3 : 3 === i ? 1 : i;\r\n        var a = pageConfig.product.isFlashPurchase ? 2 : isAreaProduct ? 1 : 0;\r\n        CommentListNew.getData(e, s, 0, a)\r\n    }), $(\"#discuss\").Jtab({event: \"click\",compatible: !0}, function(t, e, i) {\r\n        Discuss.getData(i, e)\r\n    }), $(\"#consult\").Jtab({event: \"click\",compatible: !0}, function(t, e, i) {\r\n        4 >= i ? Consult.getData(i, e) : Consult.setExtraData(i, e)\r\n    }), $(\"#ranklist .mc\").Jtab({compatible: !0}, function(t, e) {\r\n        var i = e.find(\"img\");\r\n        i.each(function() {\r\n            var t = $(this).attr(\"data-src\");\r\n            t && $(this).attr(\"src\", t).removeAttr(\"data-src\")\r\n        })\r\n    });\r\n    var n = function() {\r\n    }, o = function() {\r\n    }, r = function() {\r\n    }, c = function() {\r\n    }, l = function() {\r\n    };\r\n    if ($('#product-detail [data-widget=\"tab-item\"]').find(\"a\").addClass(\"toggle-link\"), function() {\r\n        function t(t) {\r\n            var e = $(window).height(), i = $(\"body\").scrollTop() || $(\"html\").scrollTop(), s = t.offset().top;\r\n            return e + i > s && s > i\r\n        }\r\n        var e, i, s = $(\".detail-content\"), a = s.find('[name^=\"detail-tag-id-\"]'), d = [], p = $('#product-detail [data-widget=\"tab-item\"]'), m = p.eq(0);\r\n        return 1 > a.length ? !1 : (p.find(\"a\").addClass(\"toggle-link\"), o = function() {\r\n            return 1 > a.length ? !1 : (m.addClass(\"p-tab\"), 1 > m.find(\"a>s\").length && m.find(\"a\").append(\"<s></s>\"), m.mouseover(function() {\r\n                $(this).addClass(\"hover\")\r\n            }), 1 > m.find(\".sub-item\").length && (a.each(function() {\r\n                var t = $(this).attr(\"id\"), e = $(this).attr(\"text\");\r\n                d.push('<li data-id=\"' + t + '\"><a data-id=\"#' + t + '\" href=\"#' + t + '\">' + e + \"</a></li>\")\r\n            }), m.append('<ul class=\"hide sub-item\">' + d.join(\"\") + \"</ul>\"), e = m.children(), i = m.find(\"li\"), m.find(\".sub-item a\").unbind(\"click\").bind(\"click\", function(t) {\r\n                $(this).text();\r\n                var e = $(this).attr(\"data-id\"), s = e.replace(\"#detail-tag-id-\", \"\");\r\n                $(\"body,html\").scrollTop($(e).offset().top - 35), i.remove(\"hl_red\"), $(this).parent().addClass(\"hl_red\"), log(\"skupage\", \"cateid\", s, G.cat[2], G.cat[1], G.cat[0], G.sku, currentAreaInfo.currentProvinceName, currentAreaInfo.currentCityName), t.preventDefault(), t.stopPropagation()\r\n            })), void 0)\r\n        }, n = function() {\r\n            m.unbind(\"mouseover mouseenter mouseout\").removeClass(\"hover\"), m.children(\"a\").html(\"\\u5546\\u54c1\\u4ecb\\u7ecd<s></s>\"), pageConfig.detailListInited = !1\r\n        }, r = function() {\r\n            m.find(\".toggle-link\").eq(0).html(\"\\u5546\\u54c1\\u4ecb\\u7ecd<s></s>\")\r\n        }, c = function() {\r\n            m.addClass(\"hover\")\r\n        }, l = function() {\r\n            m.removeClass(\"hover\")\r\n        }, o(), $(\"body\").scroller({onScroll: function(e) {\r\n                e.$o;\r\n                var s = [];\r\n                if (a.each(function() {\r\n                    var e = $(this);\r\n                    t(e) && s.push(e)\r\n                }), s.length > 0) {\r\n                    var n = s[0].attr(\"id\").replace(\"detail-tag-id-\", \"\");\r\n                    i.removeClass(\"hl_red\"), i.filter('[data-id=\"detail-tag-id-' + n + '\"]').addClass(\"hl_red\")\r\n                } else\r\n                    i.removeClass(\"hl_red\")\r\n            }}), $(\"#product-detail\").scroller({startThrehold: 110,onStart: function() {\r\n                c()\r\n            },onEnd: function() {\r\n                l()\r\n            }}), void 0)\r\n    }(), mlazyload({defObj: \"#consult\",defHeight: 0,fn: function() {\r\n            Consult.getData(0, $(\"#consult-0\"))\r\n        }}), mlazyload({defObj: \"#comments-list\",defHeight: 0,fn: function() {\r\n            if (!CommentListNew.loadFirstPage) {\r\n                var t = pageConfig.product.isFlashPurchase ? 2 : isAreaProduct ? 1 : 0;\r\n                CommentListNew.getData($(\"#comment-0\"), 0, 0, t)\r\n            }\r\n        }}), mlazyload({defObj: \"#discuss\",defHeight: 0,fn: function() {\r\n            Discuss.getData(0, $(\"#discuss-1\"))\r\n        }}), mlazyload({defObj: \"#comments\",defHeight: 0,fn: function() {\r\n            if (!CommentListNew.loadFirstPage) {\r\n                var t = pageConfig.product.isFlashPurchase ? 2 : isAreaProduct ? 1 : 0;\r\n                CommentListNew.getData($(\"#comment-0\"), 0, 0, t)\r\n            }\r\n        }}), mlazyload({defObj: \"#product-track\",defHeight: 100,fn: function() {\r\n            $.ajax({url: \"http://misc.360buyimg.com/product/js/2012/footprint.js?ver=20140724\",dataType: \"script\",cache: !0})\r\n        }}), mlazyload({defObj: \"#product-detail\",defHeight: 0,fn: function() {\r\n            Repository.init(G.sku)\r\n        }}), mlazyload({defObj: \"#ranklist\",defHeight: 0,fn: function() {\r\n            var t = [], e = $(\"#ranklist\");\r\n            e.find(\".p-price strong\").each(function() {\r\n                var e = $(this), i = e.attr(\"class\");\r\n                i && t.push(i.replace(\"J-p-\", \"\"))\r\n            }), G.getPriceNum(t, null, e)\r\n        }}), $(\"#product-detail .mt\").floatNav({fixedClass: \"nav-fixed\",targetEle: \"#consult\",anchor: \"#product-detail\",range: 30,onStart: function() {\r\n            var t = $(\".nav-minicart-buynow\");\r\n            t.length > 0 && t.find(\"a\").html(\"\\u7acb\\u5373\\u8d2d\\u4e70\"), $(\"#nav-minicart\").show()\r\n        },onEnd: function() {\r\n            r()\r\n        }}), $(\"#nav-minicart\").Jdropdown(function(t) {\r\n        var e = pageConfig.product.priceImg || \"http://jprice.360buyimg.com/price/gp\" + G.sku + \"-1-1-1.png\";\r\n        t.find(\".nav-minicart-btn a\").attr(\"href\", $(\"#choose-btn-append .btn-append\").attr(\"href\")), t.find(\".p-img img\").attr(\"src\", pageConfig.FN_GetImageDomain(G.sku) + \"n4/\" + pageConfig.product.src), t.find(\".p-name\").html(G.name), t.find(\".p-price img\").attr(\"src\", e)\r\n    }), $(\"#store-selector\").Jdropdown(), $(\".share-ft\").click(function() {\r\n        $(this).toggleClass(\"share-ft-open\"), $(this).parents(\"#share-list\").toggleClass(\"share-list-open\"), $(\".share-list-item\").toggleClass(\"share-list-item-all\")\r\n    }), $(\"#comments-list .tab\").append('<li class=\"tab-last\"></li>'), renew(), /from=email/.test(location.href) && $.ajax({url: \"http://misc.360buyimg.com/product/js/2012/notify.js\",dataType: \"script\",cache: !0,success: function() {\r\n            Notify && Notify.init(\"#summary-price .dd a\", \"#notify-stock\")\r\n        }}), $(\".btn-pleased,.btn-unpleased\").livequery(\"click\", function() {\r\n        var t = $(this);\r\n        $.login({complete: function(e) {\r\n//                if (null != e.IsAuthenticated && e.IsAuthenticated) {\r\n//                    var i = parseInt($.query.get(\"id\"));\r\n//                    if (isNaN(i) || 0 == i) {\r\n//                        var e = location.href.match(/(\\d+)(.html)/);\r\n//                        null != e && (i = parseInt(e[1]))\r\n//                    }\r\n//                    var s = $(t).parent().attr(\"id\"), a = parseInt($(t).attr(\"name\"));\r\n//                    i > 0 && $.getJSON(consultationServiceUrl, {method: \"VoteForConsultation\",productId: i,consultationId: s,score: a}, function(e) {\r\n//                        e.Result ? ($(t).text(\"\\u5df2\\u6295\\u7968\"), $(t).next(\"span\").text(parseInt($(t).next(\"span\").text()) + 1)) : $(t).text(\"\\u5df2\\u6295\\u7968\")\r\n//                    })\r\n//                }\r\n            }}), mark(location.href.match(/(\\d+).html/)[1], 5)\r\n    }), $(\"#site-qq,#site-msn,#site-email\").parent().remove(), window.pageConfig) {\r\n        var d = new pageConfig.FN_InitSidebar, p = \"98523\";\r\n        832 === G.cat[2] && (p = \"737542\"), d.addItem('<a class=\"research\" target=\"_blank\" href=\"http://surveys.jd.com/index.php?r=survey/index/sid/' + p + '/lang/zh-Hans\"><b></b>\\u8c03\\u67e5\\u95ee\\u5377</a>'), d.setTop(), d.scroll()\r\n    }\r\n    if (setImButton(G.sku), 1319 === G.cat[0] && $.ajax({url: \"http://misc.360buyimg.com/product/js/2012/item.baby.js?ver=20140123\",cache: !0,dataType: \"script\",scriptCharset: \"gb2312\"}), jdSref && searchEngineSource) {\r\n        var m = \"&encode=utf-8\";\r\n        if (\"baidu\" == searchEngineSource.d) {\r\n            var u = document.referrer;\r\n            m = /ie=utf-8/.test(u) ? \"&encode=utf-8\" : \"&encode=gbk\"\r\n        } else\r\n            m = RegExp(searchEngineSource.d).test(\"soso#sogou\") ? \"&encode=gbk\" : \"&encode=utf-8\";\r\n        pageConfig.disabledSeoBanner = !0, seoBanner(searchEngineSource, m)\r\n    }\r\n    (function() {\r\n       // var t = [\"2_163_817\", \"2_163_818\", \"2_232_3431\", \"2_163_3743\"];\r\n       // pageConfig.disabledSeoBanner || (t.push(\"2_163_5395\"), t.push(\"2_163_5394\")), 1315 === G.cat[0] && $(\"#Ad2_100_2272\").length > 0 && t.push(\"2_100_2272\"), G.isPop && t.push(\"2_601_3951\"), $.ajax({url: \"http://nfa.jd.com/loadFa_toJson.js?aid=\" + t.join(\"-\") + \"&ver=20131107\",dataType: \"script\",cache: !0}), insertScript(\"http://static.360buyimg.com/gemini/gemini/gemini_v2.2.1.js\", {id: \"1399174259281\",name: \"gemini_divide_script\",charset: \"utf-8\",divideType: \"MODULE_INJECT\",param: \"[{t:'xiaoyumi'}]\"})\r\n    })(), mark(G.sku, 1), clsPVAndShowLog(\"\", \"\", 3, \"p\"), clsPVAndShowLog(\"\", \"\", 2, \"p\"), $(\"#choose-btn-append .btn-append b\").livequery(\"click\", function() {\r\n        JA && JA.tracker.ngloader(\"item.010002\", {sku: G.sku,jp: pageConfig.product.jp})\r\n    }), $(\"#choose-btn-coll b\").click(function() {\r\n        JA && JA.tracker.ngloader(\"item.010003\", {sku: G.sku})\r\n    }), function() {\r\n        var t = pageConfig.product.videoPath, e = $(\".detail-content\"), i = $(\"#letv\");\r\n        if (t && 1 > i.length) {\r\n            var s = \"http://yuntv.letv.com/bcloud.html?uu=abcde12345&vu=\" + t + \"&pu=12345abcde&auto_play=0&width=750&height=422\";\r\n            e.before('<div id=\"letv\"><iframe id=\"le-video\" data-lazyload=\"' + s + '\" frameborder=\"0\" scrolling=\"no\" style=\"display:block; width:750px; height:422px; margin:0 auto;\"></iframe></div>'), $(\"#letv iframe\").Jlazyload({type: \"image\"})\r\n        }\r\n    }(), function() {\r\n        var t = $(\"#itemover-related-list\"), e = pageConfig.compatible && pageConfig.wideVersion ? 12 : 9;\r\n        if (\"undefined\" != typeof warestatus && 0 === warestatus) {\r\n            t.show(), t.find(\"p\").html(\"\\u7c7b\\u4f3c\\u5546\\u54c1\");\r\n            var i = '<div class=\"w\">    <div id=\"out-of-stock\" class=\"m m2 hide\">        <div class=\"mt\">            <h2>\\u642d\\u914d\\u63a8\\u8350</h2>        </div>        <div class=\"mc\">            <div id=\"noitem-related-list\">                <div class=\"noitem-related-list\">                    <a href=\"javascript:;\" class=\"spec-control disabled\" id=\"noitem-forward\"></a>                    <a href=\"javascript:;\" class=\"spec-control\" id=\"noitem-backward\"></a>                    <div id=\"noitem-list\">                            <div class=\"iloading\">\\u6b63\\u5728\\u52a0\\u8f7d\\u4e2d\\uff0c\\u8bf7\\u7a0d\\u5019...</div>                    </div>                </div>            </div>        </div>    </div></div>';\r\n            $(\"#product-intro\").parent().after(i), new Grecommend(G.sku, 902011, readCookie(\"ipLoc-djd\"), t, e), new Grecommend(G.sku, 902018, readCookie(\"ipLoc-djd\"), $(\"#out-of-stock #noitem-list\"), 20)\r\n        }\r\n    }(), function() {\r\n        var t = $(\"#preview .spec-items li img\"), e = [], i = $(\"#share-list li\");\r\n        t.each(function() {\r\n            var t = $(this).attr(\"src\");\r\n            e.push(t)\r\n        });\r\n        var s = \"\\u6211\\u5728@\\u4eac\\u4e1c \\u53d1\\u73b0\\u4e86\\u4e00\\u4e2a\\u975e\\u5e38\\u4e0d\\u9519\\u7684\\u5546\\u54c1\\uff1a\" + G.name + \"\\uff0c\\u4eac\\u4e1c\\u4ef7\\uff1a\\uffe5 {PRICE}\\u3002 \\u611f\\u89c9\\u4e0d\\u9519\\uff0c\\u5206\\u4eab\\u4e00\\u4e0b\";\r\n        new CombineShare({sid: 3,rid: G.sku,$el: i,title: s,content: s,url: location.href,imgs: e,onbeforeOpen: function(t) {\r\n                t.jp = pageConfig.product.jp\r\n            }}), i.attr(\"clstag\", \"shangpin|keycount|product|fenxiang\")\r\n    }(), function() {\r\n        var t = $(\"#consult-search .form\"), e = $(\"#consult\"), i = pageConfig.wideVersion && pageConfig.compatible, s = '            <div id=\"consult-wrap\" class=\"consult-search\">                <b></b>                <div class=\"consult-pop\">                    <input type=\"text\" id=\"txbReferSearch\" placeholder=\"\\u8bf7\\u8f93\\u5165\\u5173\\u952e\\u8bcd\" />                    <input type=\"button\" value=\"\\u641c\\u7d22\" id=\"btnReferSearch\" class=\"btn-search\" clstag=\"shangpin|keycount|product|consult9\">                    <a class=\"consult-close hl_blue\" href=\"#none\" onclick=\"closeCounsultSearch()\">\\u53d6\\u6d88</a>                </div>            </div>';\r\n        G.isJd && (s += '            <div class=\"consult-pub\">                <a class=\"css3-btn\" target=\"_blank\" href=\"http://club.jd.com/allconsultations/' + G.sku + '-1-1.html#form1\">\\u53d1\\u8868\\u54a8\\u8be2</a>            </div>'), t.remove(), e.addClass(\"consult-2014\"), e.find(\".mt\").append(s), window.closeCounsultSearch = function() {\r\n            $(\"#consult-wrap\").removeClass(\"hover\"), pageConfig.onConsultSearch = !1\r\n        }, i || (e.find(\".consult-search\").hover(function() {\r\n            var t = $(this);\r\n            setTimeout(function() {\r\n                t.addClass(\"hover\")\r\n            }, 500)\r\n        }, function() {\r\n            pageConfig.onConsultSearch || $(this).removeClass(\"hover\")\r\n        }).bind(\"click\", function() {\r\n            return $(this).is(\".consult-close\") ? void 0 : !1\r\n        }), e.find(\"b\").bind(\"click\", function() {\r\n            return $(this).addClass(\"hover\"), pageConfig.onConsultSearch = !0, !1\r\n        }), $(\"body\").bind(\"click\", function() {\r\n            closeCounsultSearch()\r\n        }))\r\n    }(), function() {\r\n        var t = $(\"#comments-list .mt\"), e = RegExp(\"-\" + G.sku + \"-\"), i = \"-1155902-1133857-1169454-1142209-1196479-\";\r\n        e.test(i) && t.append('<div class=\"p-bfc ar\"><span class=\"join-discuss\" onclick=\"$(\\'._base_ygg_yqb\\').trigger(\\'click\\')\" href=\"#none\">\\u52a0\\u5165\\u8ba8\\u8bba</span></div>')\r\n    }()\r\n});\r\nvar geminiCustomizedDot = geminiCustomizedDot || [], MBuy = {init: function() {\r\n        this.chooseBtn = $(\"#choose-btns\"), this.setQrcode()\r\n    },setQrcode: function() {\r\n//        var t = this, e = '<div id=\"m-buy\" clstag=\"shangpin|keycount|product|btn-erweima\">    <div class=\"mt\">\\u5ba2\\u6237\\u7aef\\u9996\\u6b21\\u4e0b\\u5355</div>    <div id=\"m-countdown\">        <strong class=\"hl_red\">\\u90015\\u5143\\u4eac\\u5238</strong>    </div>    <div id=\"m-qrcode\" class=\"hide\">        <span class=\"close\" onclick=\"$(\\'#m-buy\\').removeClass(\\'hover\\')\"></span>        <span class=\"arr\"></span>        <div class=\"m-qrcode-wrap\">            <strong>\\u5ba2\\u6237\\u7aef\\u9996\\u5355\\u6ee159\\u90015\\u5143\\u4eac\\u5238\\u4f4e\\u4ef7\\u79d2\\u6740\\u5546\\u54c1\\u62a2\\u4e0d\\u505c</strong>            <div id=\"m-qrcode-box\">                <img src=\"http://misc.360buyimg.com/lib/img/e/blank.gif\" width=\"155\" height=\"155\" />            </div>        </div>    </div></div>';\r\n//        return $(\"#m-buy\").length > 0 ? !1 : (this.chooseBtn.append(e), this.mBuy = $(\"#m-buy\"), this.mt = this.mBuy.find(\".mt\"), this.mBuy.Jdropdown({delay: 200,event: \"click\"}, function() {\r\n//            \"true\" !== t.mBuy.attr(\"loaded\") && ($.ajax({url: \"http://misc.360buyimg.com/product/js/2012/qrcode.js?ver=20140527\",dataType: \"script\",scriptCharset: \"gb2312\",cache: !0}), t.mBuy.attr(\"loaded\", \"true\"))\r\n//        }), void 0)\r\n    },setProm: function(t) {\r\n        var e = this.mBuy.find(\"#m-countdown\");\r\n        if (!(t && t.indexOf(\".\") > -1))\r\n            return this.mt.html(\"\\u5ba2\\u6237\\u7aef\\u9996\\u6b21\\u4e0b\\u5355\"), e.html('<strong class=\"hl_red\">\\u90015\\u5143\\u4eac\\u5238</strong>'), void 0;\r\n        t = t.split(\",\");\r\n        var i = isNaN(Number(t[1])) ? 0 : Number(t[1]) / 1e3;\r\n        Math.floor(i / 86400) > 7 ? (this.mt.html(\"\\u5ba2\\u6237\\u7aef\\u9996\\u6b21\\u4e0b\\u5355\"), e.html('<strong class=\"hl_red\">\\u90015\\u5143\\u4eac\\u5238</strong>')) : (this.mt.html('<strong class=\"hl_red\">\\u624b\\u673a\\u4e13\\u4eab\\u4ef7\\uff1a' + t[0] + \"\\u5143</strong>\"), i >= 0 && G.Countdown.init(i, function(t) {\r\n            e.html(\"\\u8fd8\\u5269\\uff1a\" + t.d + \"\\u5929\" + t.h + \"\\u5c0f\\u65f6\" + t.m + \"\\u5206\")\r\n        }))\r\n    }};\r\n(function() {\r\n    var t = RegExp(\"-\" + G.cat[2] + \"-\"), e = \"-1195-6980-6151-6152-1444-7052-7054-7057-9435-\";\r\n    t.test(e) ? MBuy.setProm = function() {\r\n    } : MBuy.init()\r\n})();\r\nvar ABTest = function(t, e, i) {\r\n    return this.id = t, this.percent = e, this.base = i || 1e4, this.tested = !1, this.version = {A: 0,B: 0,N: 0}, this.result = {A: [],B: [],N: []}, this\r\n};\r\nABTest.prototype = {test: function() {\r\n        function t() {\r\n            var t = i.version;\r\n            0;\r\n            for (var e in t)\r\n                0;\r\n            0, i.tested = !0\r\n        }\r\n        function e(e) {\r\n            for (var s = e, a = e.length, n = 0; a > n; n++)\r\n                0;\r\n            t()\r\n        }\r\n        var i = this;\r\n//        window.collectUUUID = function(t) {\r\n//            e(t)\r\n//        }, $.ajax({url: \"http://nfa.jd.com/loadFa_toJson.js?aid=2_163_4827-2_163_4828\",dataType: \"jsonp\",cache: !0,success: function() {\r\n//            }})\r\n    },isHitVersion: function(t) {\r\n        t = t || this.id;\r\n        var e, i = this.base * this.percent;\r\n        return \"string\" != typeof t && (t += \"\"), t ? (e = this.getHashProbability(t, this.base), i > e ? (this.version.A++, this.result.A.push(t), \"A\") : e >= i && 2 * i > e ? (this.version.B++, this.result.B.push(t), \"B\") : (this.version.N++, this.result.N.push(t), \"NONE\")) : (version.N++, this.result.N.push(t), \"NONE\")\r\n    },switchVersion: function(t) {\r\n        if (!t || !/A|B|N/.test(t))\r\n            return 0, !1;\r\n        this.tested || 0;\r\n        var e = this.result[t], i = e[Math.floor(Math.random() * e.length)];\r\n        createCookie(\"__jda\", \"122270672.\" + i + \".043878.1386043878.1386043878.1\", 10, \"/;domain=jd.com\"), 0\r\n    },getHashProbability: function(t, e) {\r\n        function i(t) {\r\n            for (var e = 0, i = 0; t.length > i; i++)\r\n                e = (e << 5) - e + t.charCodeAt(i), e &= e;\r\n            return e\r\n        }\r\n        return Math.abs(i(t)) % e\r\n    }}, function() {\r\n    var t = readCookie(\"__jda\"), e = t ? t.split(\".\")[1] : !1;\r\n    if (e) {\r\n        pageConfig.promABTest = new ABTest(e, .5, 1e4);\r\n        var i = pageConfig.promABTest.isHitVersion();\r\n        \"A\" === i && 655 === G.cat[2] && (pageConfig.newAmount = !0)\r\n    }\r\n}(), pageConfig.newAmount && function() {\r\n    var t = $(\".wrap-input\"), e = $(\"#choose-btn-append\"), i = $(\"#choose-amount\"), s = $(\"#choose-result\");\r\n    e.before('<div class=\"choose-amount fl\"></div>'), $(\".choose-amount\").append(t), $(\".btn-reduce\").html(\"-\"), $(\".btn-add\").html(\"+\"), i.remove(), s.remove()\r\n}(), $(function() {\r\n    var t = readCookie(\"__jda\"), e = t ? t.split(\".\")[1] : !1;\r\n    if (pageConfig.scrollTopABTest = new ABTest(e, .2, 1e4), $(\"#o-header-2013\").outerHeight() + $(\"#shortcut-2013\").outerHeight(), $(\"body,html\"), e) {\r\n        var i = pageConfig.scrollTopABTest.isHitVersion();\r\n        \"A\" === i && setTimeout(function() {\r\n            $(\"body,html\").animate({scrollTop: $(\".breadcrumb\").offset().top}, 1)\r\n        }, 1e3)\r\n    }\r\n}), function(t) {\r\n    (t.itemShopJsona && t.itemShopJsona.searchLink || t.itemShopJsonb && t.itemShopJsonb.shopCategory) && ($(\"#sp-category\").after('<div id=\"browse-browse-pop\" class=\"m m2 hide related-buy\"><div class=\"mt\"><h2>\\u770b\\u4e86\\u53c8\\u770b</h2></div><div class=\"mc\"></div></div>'), new Grecommend(G.sku, 902029, readCookie(\"ipLoc-djd\"), $(\"#browse-browse-pop .mc\")))\r\n}(window);\r\n"
  },
  {
    "path": "migo-portal/src/main/webapp/js/register/jd.lib.js",
    "content": "/*livequery*/\r\neval(function(p, a, c, k, e, r) { e = function(c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) r[e(c)] = k[c] || e(c); k = [function(e) { return r[e] } ]; e = function() { return '\\\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\\\b' + e(c) + '\\\\b', 'g'), k[c]); return p } ('(4($){$.R($.7,{3:4(c,b,d){9 e=2,q;5($.O(c))d=b,b=c,c=z;$.h($.3.j,4(i,a){5(e.8==a.8&&e.g==a.g&&c==a.m&&(!b||b.$6==a.7.$6)&&(!d||d.$6==a.o.$6))l(q=a)&&v});q=q||Y $.3(2.8,2.g,c,b,d);q.u=v;$.3.s(q.F);l 2},T:4(c,b,d){9 e=2;5($.O(c))d=b,b=c,c=z;$.h($.3.j,4(i,a){5(e.8==a.8&&e.g==a.g&&(!c||c==a.m)&&(!b||b.$6==a.7.$6)&&(!d||d.$6==a.o.$6)&&!2.u)$.3.y(a.F)});l 2}});$.3=4(e,c,a,b,d){2.8=e;2.g=c||S;2.m=a;2.7=b;2.o=d;2.t=[];2.u=v;2.F=$.3.j.K(2)-1;b.$6=b.$6||$.3.I++;5(d)d.$6=d.$6||$.3.I++;l 2};$.3.p={y:4(){9 b=2;5(2.m)2.t.16(2.m,2.7);E 5(2.o)2.t.h(4(i,a){b.o.x(a)});2.t=[];2.u=Q},s:4(){5(2.u)l;9 b=2;9 c=2.t,w=$(2.8,2.g),H=w.11(c);2.t=w;5(2.m){H.10(2.m,2.7);5(c.C>0)$.h(c,4(i,a){5($.B(a,w)<0)$.Z.P(a,b.m,b.7)})}E{H.h(4(){b.7.x(2)});5(2.o&&c.C>0)$.h(c,4(i,a){5($.B(a,w)<0)b.o.x(a)})}}};$.R($.3,{I:0,j:[],k:[],A:v,D:X,N:4(){5($.3.A&&$.3.k.C){9 a=$.3.k.C;W(a--)$.3.j[$.3.k.V()].s()}},U:4(){$.3.A=v},M:4(){$.3.A=Q;$.3.s()},L:4(){$.h(G,4(i,n){5(!$.7[n])l;9 a=$.7[n];$.7[n]=4(){9 r=a.x(2,G);$.3.s();l r}})},s:4(b){5(b!=z){5($.B(b,$.3.k)<0)$.3.k.K(b)}E $.h($.3.j,4(a){5($.B(a,$.3.k)<0)$.3.k.K(a)});5($.3.D)1j($.3.D);$.3.D=1i($.3.N,1h)},y:4(b){5(b!=z)$.3.j[b].y();E $.h($.3.j,4(a){$.3.j[a].y()})}});$.3.L(\\'1g\\',\\'1f\\',\\'1e\\',\\'1b\\',\\'1a\\',\\'19\\',\\'18\\',\\'17\\',\\'1c\\',\\'15\\',\\'1d\\',\\'P\\');$(4(){$.3.M()});9 f=$.p.J;$.p.J=4(a,c){9 r=f.x(2,G);5(a&&a.8)r.g=a.g,r.8=a.8;5(14 a==\\'13\\')r.g=c||S,r.8=a;l r};$.p.J.p=$.p})(12);', 62, 82, '||this|livequery|function|if|lqguid|fn|selector|var|||||||context|each||queries|queue|return|type||fn2|prototype|||run|elements|stopped|false|els|apply|stop|undefined|running|inArray|length|timeout|else|id|arguments|nEls|guid|init|push|registerPlugin|play|checkQueue|isFunction|remove|true|extend|document|expire|pause|shift|while|null|new|event|bind|not|jQuery|string|typeof|toggleClass|unbind|addClass|removeAttr|attr|wrap|before|removeClass|empty|after|prepend|append|20|setTimeout|clearTimeout'.split('|'), 0, {}))\r\n/*query*/\r\nnew function(settings) { var $separator = settings.separator || '&'; var $spaces = settings.spaces === false ? false : true; var $suffix = settings.suffix === false ? '' : '[]'; var $prefix = settings.prefix === false ? false : true; var $hash = $prefix ? settings.hash === true ? \"#\" : \"?\" : \"\"; var $numbers = settings.numbers === false ? false : true; jQuery.query = new function() { var is = function(o, t) { return o != undefined && o !== null && (!!t ? o.constructor == t : true) }; var parse = function(path) { var m, rx = /\\[([^[]*)\\]/g, match = /^(\\S+?)(\\[\\S*\\])?$/.exec(path), base = match[1], tokens = []; while (m = rx.exec(match[2])) tokens.push(m[1]); return [base, tokens] }; var set = function(target, tokens, value) { var o, token = tokens.shift(); if (typeof target != 'object') target = null; if (token === \"\") { if (!target) target = []; if (is(target, Array)) { target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value)) } else if (is(target, Object)) { var i = 0; while (target[i++] != null); target[--i] = tokens.length == 0 ? value : set(target[i], tokens.slice(0), value) } else { target = []; target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value)) } } else if (token && token.match(/^\\s*[0-9]+\\s*$/)) { var index = parseInt(token, 10); if (!target) target = []; target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value) } else if (token) { var index = token.replace(/^\\s*|\\s*$/g, \"\"); if (!target) target = {}; if (is(target, Array)) { var temp = {}; for (var i = 0; i < target.length; ++i) { temp[i] = target[i] } target = temp } target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value) } else { return value } return target }; var queryObject = function(a) { var self = this; self.keys = {}; if (a.queryObject) { jQuery.each(a.get(), function(key, val) { self.SET(key, val) }) } else { jQuery.each(arguments, function() { var q = \"\" + this; q = q.replace(/^[?#]/, ''); q = q.replace(/[;&]$/, ''); if ($spaces) q = q.replace(/[+]/g, ' '); jQuery.each(q.split(/[&;]/), function() { var key = decodeURIComponent(this.split('=')[0]); var val = decodeURIComponent(encodeURIComponent(this.split('=')[1])); if (!key) return; if ($numbers) { if (/^[+-]?[0-9]+\\.[0-9]*$/.test(val)) val = parseFloat(val); else if (/^[+-]?[0-9]+$/.test(val)) val = parseInt(val, 10) } val = (!val && val !== 0) ? true : val; if (val !== false && val !== true && typeof val != 'number') val = val; self.SET(key, val) }) }) } return self }; queryObject.prototype = { queryObject: true, has: function(key, type) { var value = this.get(key); return is(value, type) }, GET: function(key) { if (!is(key)) return this.keys; var parsed = parse(key), base = parsed[0], tokens = parsed[1]; var target = this.keys[base]; while (target != null && tokens.length != 0) { target = target[tokens.shift()] } return typeof target == 'number' ? target : target || \"\" }, get: function(key) { var target = this.GET(key); if (is(target, Object)) return jQuery.extend(true, {}, target); else if (is(target, Array)) return target.slice(0); return target }, SET: function(key, val) { var value = !is(val) ? null : val; var parsed = parse(key), base = parsed[0], tokens = parsed[1]; var target = this.keys[base]; this.keys[base] = set(target, tokens.slice(0), value); return this }, set: function(key, val) { return this.copy().SET(key, val) }, REMOVE: function(key) { return this.SET(key, null).COMPACT() }, remove: function(key) { return this.copy().REMOVE(key) }, EMPTY: function() { var self = this; jQuery.each(self.keys, function(key, value) { delete self.keys[key] }); return self }, load: function(url) { var hash = url.replace(/^.*?[#](.+?)(?:\\?.+)?$/, \"$1\"); var search = url.replace(/^.*?[?](.+?)(?:#.+)?$/, \"$1\"); return new queryObject(url.length == search.length ? '' : search, url.length == hash.length ? '' : hash) }, empty: function() { return this.copy().EMPTY() }, copy: function() { return new queryObject(this) }, COMPACT: function() { function build(orig) { var obj = typeof orig == \"object\" ? is(orig, Array) ? [] : {} : orig; if (typeof orig == 'object') { function add(o, key, value) { if (is(o, Array)) o.push(value); else o[key] = value } jQuery.each(orig, function(key, value) { if (!is(value)) return true; add(obj, key, build(value)) }) } return obj } this.keys = build(this.keys); return this }, compact: function() { return this.copy().COMPACT() }, toString: function() { var i = 0, queryString = [], chunks = [], self = this; var addFields = function(arr, key, value) { if (!is(value) || value === false) return; var o = [encodeURIComponent(key)]; if (value !== true) { o.push(\"=\"); o.push(encodeURIComponent(value)) } arr.push(o.join(\"\")) }; var build = function(obj, base) { var newKey = function(key) { return !base || base == \"\" ? [key].join(\"\") : [base, \"[\", key, \"]\"].join(\"\") }; jQuery.each(obj, function(key, value) { if (typeof value == 'object') build(value, newKey(key)); else addFields(chunks, newKey(key), value) }) }; build(this.keys); if (chunks.length > 0) queryString.push($hash); queryString.push(chunks.join($separator)); return queryString.join(\"\") } }; return new queryObject(location.search, location.hash) } } (jQuery.query || {});\r\n/*cookie*/\r\neval(function(p, a, c, k, e, r) { e = function(c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) r[e(c)] = k[c] || e(c); k = [function(e) { return r[e] } ]; e = function() { return '\\\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\\\b' + e(c) + '\\\\b', 'g'), k[c]); return p } ('n.5=v(a,b,c){4(7 b!=\\'w\\'){c=c||{};4(b===o){b=\\'\\';c.3=-1}2 d=\\'\\';4(c.3&&(7 c.3==\\'p\\'||c.3.q)){2 e;4(7 c.3==\\'p\\'){e=x y();e.z(e.A()+(c.3*B*r*r*C))}s{e=c.3}d=\\';3=\\'+e.q()}2 f=c.8?\\';8=\\'+(c.8):\\'\\';2 g=c.9?\\';9=\\'+(c.9):\\'\\';2 h=c.t?\\';t\\':\\'\\';6.5=[a,\\'=\\',D(b),d,f,g,h].E(\\'\\')}s{2 j=o;4(6.5&&6.5!=\\'\\'){2 k=6.5.F(\\';\\');G(2 i=0;i<k.m;i++){2 l=n.H(k[i]);4(l.u(0,a.m+1)==(a+\\'=\\')){j=I(l.u(a.m+1));J}}}K j}};', 47, 47, '||var|expires|if|cookie|document|typeof|path|domain|||||||||||||length|jQuery|null|number|toUTCString|60|else|secure|substring|function|undefined|new|Date|setTime|getTime|24|1000|encodeURIComponent|join|split|for|trim|decodeURIComponent|break|return'.split('|'), 0, {}))\r\n/*utility by springChun*/\r\nFunction.prototype.overwrite = function(f) {\r\n    var result = f;\r\n    if (!result.original) {\r\n        result.original = this;\r\n    }\r\n    return result;\r\n}\r\nDate.prototype.toString = Date.prototype.toString.overwrite(\r\nfunction(format) {\r\n    var result = new String();\r\n    if (typeof (format) == \"string\") {\r\n        result = format;\r\n        result = result.replace(/yyyy|YYYY/, this.getFullYear());\r\n        result = result.replace(/yy|YY/, this.getFullYear().toString().substr(2, 2));\r\n        result = result.replace(/MM/, this.getMonth() >= 9 ? this.getMonth() + 1 : \"0\" + (this.getMonth() + 1));\r\n        result = result.replace(/M/, this.getMonth());\r\n        result = result.replace(/dd|DD/, this.getDate() > 9 ? this.getDate() : \"0\" + this.getDate());\r\n        result = result.replace(/d|D/, this.getDate());\r\n        result = result.replace(/hh|HH/, this.getHours() > 9 ? this.getHours() : \"0\" + this.getHours());\r\n        result = result.replace(/h|H/, this.getHours());\r\n        result = result.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes() : \"0\" + this.getMinutes());\r\n        result = result.replace(/m/, this.getMinutes());\r\n        result = result.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds() : \"0\" + this.getSeconds());\r\n        result = result.replace(/s|S/, this.getSeconds());\r\n    }\r\n    return result;\r\n});\r\nString.prototype.format = function() {\r\n    var result = this;\r\n    if (arguments.length > 0) {\r\n        parameters = $.makeArray(arguments);\r\n        $.each(\r\nparameters,\r\nfunction(i, n) {\r\n    result = result.replace(new RegExp(\"\\\\{\" + i + \"\\\\}\", \"g\"), n);\r\n});\r\n    }\r\n    return result;\r\n}\r\nfunction StringBuilder() {\r\n    this.strings = new Array();\r\n    this.length = 0;\r\n}\r\nStringBuilder.prototype.append = function(string) {\r\n    this.strings.push(string);\r\n    this.length += string.length;\r\n}\r\nStringBuilder.prototype.toString = function(start, length) {\r\n    return this.strings.join(\"\").substr(start, length);\r\n};\r\n/*jmsajax*/\r\n(function($) {\r\n    $.jmsajax = function(options) {\r\n        var defaults = { type: \"POST\", dataType: \"msjson\", data: {}, beforeSend: function(xhr) { xhr.setRequestHeader(\"Content-type\", \"application/json; charset=utf-8\"); }, contentType: \"application/json; charset=utf-8\", error: function(x, s, m) { alert(\"Status: \" + ((x.statusText) ? x.statusText : \"Unknown\") + \"\\nMessage: \" + msJSON.parse(((x.responseText) ? x.responseText : \"Unknown\")).Message); } }; var options = $.extend(defaults, options); if (options.method)\r\n            options.url += \"/\" + options.method; if (options.data) {\r\n            if (options.type == \"GET\") {\r\n                var data = \"\"; for (var i in options.data) {\r\n                    if (data != \"\")\r\n                        data += \"&\"; data += i + \"=\" + msJSON.stringify(options.data[i]);\r\n                }\r\n                options.url += \"?\" + data; data = null; options.data = \"{}\";\r\n            }\r\n            else if (options.type == \"POST\") { options.data = msJSON.stringify(options.data); } \r\n        }\r\n        if (options.success) {\r\n            if (options.dataType) {\r\n                if (options.dataType == \"msjson\") {\r\n                    var base = options.success; options.success = function(response, status) {\r\n                        var y = dateparse(response); if (options.version) {\r\n                            if (options.version >= 3.5)\r\n                                y = y.d;\r\n                        }\r\n                        else {\r\n                            if (response.indexOf(\"{\\\"d\\\":\") == 0)\r\n                                y = y.d;\r\n                        }\r\n                        base(y, status);\r\n                    } \r\n                } \r\n            } \r\n        }\r\n        return $.ajax(options);\r\n    }; dateparse = function(data) {\r\n        try {\r\n            return msJSON.parse(data, function(key, value) {\r\n                var a; if (typeof value === \"string\") { if (value.indexOf(\"Date\") >= 0) { a = /^\\/Date\\(([0-9]+)\\)\\/$/.exec(value); if (a) { return new Date(parseInt(a[1], 10)); } } }\r\n                return value;\r\n            });\r\n        }\r\n        catch (e) { return null; } \r\n    }\r\n    msJSON = function() {\r\n        function f(n) { return n < 10 ? '0' + n : n; }\r\n        var cx = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g, escapeable = /[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g, gap, indent, meta = { '\\b': '\\\\b', '\\t': '\\\\t', '\\n': '\\\\n', '\\f': '\\\\f', '\\r': '\\\\r', '\"': '\\\\\"', '\\\\': '\\\\\\\\' }, rep; function quote(string) {\r\n            escapeable.lastIndex = 0; return escapeable.test(string) ? '\"' + string.replace(escapeable, function(a) {\r\n                var c = meta[a]; if (typeof c === 'string') { return c; }\r\n                return '\\\\u' + ('0000' + (+(a.charCodeAt(0))).toString(16)).slice(-4);\r\n            }) + '\"' : '\"' + string + '\"';\r\n        }\r\n        function str(key, holder) {\r\n            var i, k, v, length, mind = gap, partial, value = holder[key]; if (value && typeof value === 'object' && typeof value.toJSON === 'function') { value = value.toJSON(key); }\r\n            if (typeof rep === 'function') { value = rep.call(holder, key, value); }\r\n            switch (typeof value) {\r\n                case 'string': return quote(value); case 'number': return isFinite(value) ? String(value) : 'null'; case 'boolean': case 'null': return String(value); case 'object': if (!value) { return 'null'; }\r\n                    if (value.toUTCString) { return '\"\\\\/Date(' + (value.getTime()) + ')\\\\/\"'; }\r\n                    gap += indent; partial = []; if (typeof value.length === 'number' && !(value.propertyIsEnumerable('length'))) {\r\n                        length = value.length; for (i = 0; i < length; i += 1) { partial[i] = str(i, value) || 'null'; }\r\n                        v = partial.length === 0 ? '[]' : gap ? '[\\n' + gap +\r\npartial.join(',\\n' + gap) + '\\n' +\r\nmind + ']' : '[' + partial.join(',') + ']'; gap = mind; return v;\r\n                    }\r\n                    if (rep && typeof rep === 'object') { length = rep.length; for (i = 0; i < length; i += 1) { k = rep[i]; if (typeof k === 'string') { v = str(k, value, rep); if (v) { partial.push(quote(k) + (gap ? ': ' : ':') + v); } } } } else { for (k in value) { if (Object.hasOwnProperty.call(value, k)) { v = str(k, value, rep); if (v) { partial.push(quote(k) + (gap ? ': ' : ':') + v); } } } }\r\n                    v = partial.length === 0 ? '{}' : gap ? '{\\n' + gap + partial.join(',\\n' + gap) + '\\n' +\r\nmind + '}' : '{' + partial.join(',') + '}'; gap = mind; return v;\r\n            } \r\n        }\r\n        return { stringify: function(value, replacer, space) {\r\n            var i; gap = ''; indent = ''; if (typeof space === 'number') { for (i = 0; i < space; i += 1) { indent += ' '; } } else if (typeof space === 'string') { indent = space; }\r\n            rep = replacer; if (replacer && typeof replacer !== 'function' && (typeof replacer !== 'object' || typeof replacer.length !== 'number')) { throw new Error('JSON.stringify'); }\r\n            return str('', { '': value });\r\n        }, parse: function(text, reviver) {\r\n            var j; function walk(holder, key) {\r\n                var k, v, value = holder[key]; if (value && typeof value === 'object') { for (k in value) { if (Object.hasOwnProperty.call(value, k)) { v = walk(value, k); if (v !== undefined) { value[k] = v; } else { delete value[k]; } } } }\r\n                return reviver.call(holder, key, value);\r\n            }\r\n            cx.lastIndex = 0; if (cx.test(text)) { text = text.replace(cx, function(a) { return '\\\\u' + ('0000' + (+(a.charCodeAt(0))).toString(16)).slice(-4); }); }\r\n            if (/^[\\],:{}\\s]*$/.test(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']').replace(/(?:^|:|,)(?:\\s*\\[)+/g, ''))) { j = eval('(' + text + ')'); return typeof reviver === 'function' ? walk({ '': j }, '') : j; }\r\n            throw new SyntaxError('JSON.parse');\r\n        } \r\n        };\r\n    } ();\r\n})(jQuery);\r\n/*trimpath*/\r\nvar TrimPath; (function() {\r\n    if (TrimPath == null)\r\n        TrimPath = new Object();\r\n    if (TrimPath.evalEx == null)\r\n        TrimPath.evalEx = function(src) { return eval(src); };\r\n    var UNDEFINED;\r\n    if (Array.prototype.pop == null)\r\n        Array.prototype.pop = function() {\r\n            if (this.length === 0) { return UNDEFINED; }\r\n            return this[--this.length];\r\n        };\r\n    if (Array.prototype.push == null)\r\n        Array.prototype.push = function() {\r\n            for (var i = 0; i < arguments.length; ++i) { this[this.length] = arguments[i]; }\r\n            return this.length;\r\n        };\r\n    TrimPath.parseTemplate = function(tmplContent, optTmplName, optEtc) {\r\n        if (optEtc == null)\r\n            optEtc = TrimPath.parseTemplate_etc;\r\n        var funcSrc = parse(tmplContent, optTmplName, optEtc);\r\n        var func = TrimPath.evalEx(funcSrc, optTmplName, 1);\r\n        if (func != null)\r\n            return new optEtc.Template(optTmplName, tmplContent, funcSrc, func, optEtc);\r\n        return null;\r\n    }\r\n    try {\r\n        String.prototype.process = function(context, optFlags) {\r\n            var template = TrimPath.parseTemplate(this, null);\r\n            if (template != null)\r\n                return template.process(context, optFlags);\r\n            return this;\r\n        } \r\n    } catch (e) { }\r\n    TrimPath.parseTemplate_etc = {};\r\n    TrimPath.parseTemplate_etc.statementTag = \"forelse|for|if|elseif|else|var|macro\";\r\n    TrimPath.parseTemplate_etc.statementDef = {\r\n        \"if\": { delta: 1, prefix: \"if (\", suffix: \") {\", paramMin: 1 },\r\n        \"else\": { delta: 0, prefix: \"} else {\" },\r\n        \"elseif\": { delta: 0, prefix: \"} else if (\", suffix: \") {\", paramDefault: \"true\" },\r\n        \"/if\": { delta: -1, prefix: \"}\" },\r\n        \"for\": { delta: 1, paramMin: 3,\r\n            prefixFunc: function(stmtParts, state, tmplName, etc) {\r\n                if (stmtParts[2] != \"in\")\r\n                    throw new etc.ParseError(tmplName, state.line, \"bad for loop statement: \" + stmtParts.join(' '));\r\n                var iterVar = stmtParts[1];\r\n                var listVar = \"__LIST__\" + iterVar;\r\n                return [\"var \", listVar, \" = \", stmtParts[3], \";\",\r\n\"var __LENGTH_STACK__;\",\r\n\"if (typeof(__LENGTH_STACK__) == 'undefined' || !__LENGTH_STACK__.length) __LENGTH_STACK__ = new Array();\",\r\n\"__LENGTH_STACK__[__LENGTH_STACK__.length] = 0;\",\r\n\"if ((\", listVar, \") != null) { \",\r\n\"var \", iterVar, \"_ct = 0;\",\r\n\"for (var \", iterVar, \"_index in \", listVar, \") { \",\r\niterVar, \"_ct++;\",\r\n\"if (typeof(\", listVar, \"[\", iterVar, \"_index]) == 'function') {continue;}\",\r\n\"__LENGTH_STACK__[__LENGTH_STACK__.length - 1]++;\",\r\n\"var \", iterVar, \" = \", listVar, \"[\", iterVar, \"_index];\"].join(\"\");\r\n            } \r\n        },\r\n        \"forelse\": { delta: 0, prefix: \"} } if (__LENGTH_STACK__[__LENGTH_STACK__.length - 1] == 0) { if (\", suffix: \") {\", paramDefault: \"true\" },\r\n        \"/for\": { delta: -1, prefix: \"} }; delete __LENGTH_STACK__[__LENGTH_STACK__.length - 1];\" },\r\n        \"var\": { delta: 0, prefix: \"var \", suffix: \";\" },\r\n        \"macro\": { delta: 1,\r\n            prefixFunc: function(stmtParts, state, tmplName, etc) {\r\n                var macroName = stmtParts[1].split('(')[0];\r\n                return [\"var \", macroName, \" = function\",\r\nstmtParts.slice(1).join(' ').substring(macroName.length),\r\n\"{ var _OUT_arr = []; var _OUT = { write: function(m) { if (m) _OUT_arr.push(m); } }; \"].join('');\r\n            } \r\n        },\r\n        \"/macro\": { delta: -1, prefix: \" return _OUT_arr.join(''); };\"}\r\n    }\r\n    TrimPath.parseTemplate_etc.modifierDef = {\r\n        \"eat\": function(v) { return \"\"; },\r\n        \"escape\": function(s) { return String(s).replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\"); },\r\n        \"capitalize\": function(s) { return String(s).toUpperCase(); },\r\n        \"default\": function(s, d) { return s != null ? s : d; } \r\n    }\r\n    TrimPath.parseTemplate_etc.modifierDef.h = TrimPath.parseTemplate_etc.modifierDef.escape;\r\n    TrimPath.parseTemplate_etc.Template = function(tmplName, tmplContent, funcSrc, func, etc) {\r\n        this.process = function(context, flags) {\r\n            if (context == null)\r\n                context = {};\r\n            if (context._MODIFIERS == null)\r\n                context._MODIFIERS = {};\r\n            if (context.defined == null)\r\n                context.defined = function(str) { return (context[str] != undefined); };\r\n            for (var k in etc.modifierDef) {\r\n                if (context._MODIFIERS[k] == null)\r\n                    context._MODIFIERS[k] = etc.modifierDef[k];\r\n            }\r\n            if (flags == null)\r\n                flags = {};\r\n            var resultArr = [];\r\n            var resultOut = { write: function(m) { resultArr.push(m); } };\r\n            try {\r\n                func(resultOut, context, flags);\r\n            } catch (e) {\r\n                if (flags.throwExceptions == true)\r\n                    throw e;\r\n                var result = new String(resultArr.join(\"\") + \"[ERROR: \" + e.toString() + (e.message ? '; ' + e.message : '') + \"]\");\r\n                result[\"exception\"] = e;\r\n                return result;\r\n            }\r\n            return resultArr.join(\"\");\r\n        }\r\n        this.name = tmplName;\r\n        this.source = tmplContent;\r\n        this.sourceFunc = funcSrc;\r\n        this.toString = function() { return \"TrimPath.Template [\" + tmplName + \"]\"; } \r\n    }\r\n    TrimPath.parseTemplate_etc.ParseError = function(name, line, message) {\r\n        this.name = name;\r\n        this.line = line;\r\n        this.message = message;\r\n    }\r\n    TrimPath.parseTemplate_etc.ParseError.prototype.toString = function() {\r\n        return (\"TrimPath template ParseError in \" + this.name + \": line \" + this.line + \", \" + this.message);\r\n    }\r\n    var parse = function(body, tmplName, etc) {\r\n        body = cleanWhiteSpace(body);\r\n        var funcText = [\"var TrimPath_Template_TEMP = function(_OUT, _CONTEXT, _FLAGS) { with (_CONTEXT) {\"];\r\n        var state = { stack: [], line: 1 };\r\n        var endStmtPrev = -1;\r\n        while (endStmtPrev + 1 < body.length) {\r\n            var begStmt = endStmtPrev;\r\n            begStmt = body.indexOf(\"{\", begStmt + 1);\r\n            while (begStmt >= 0) {\r\n                var endStmt = body.indexOf('}', begStmt + 1);\r\n                var stmt = body.substring(begStmt, endStmt);\r\n                var blockrx = stmt.match(/^\\{(cdata|minify|eval)/);\r\n                if (blockrx) {\r\n                    var blockType = blockrx[1];\r\n                    var blockMarkerBeg = begStmt + blockType.length + 1;\r\n                    var blockMarkerEnd = body.indexOf('}', blockMarkerBeg);\r\n                    if (blockMarkerEnd >= 0) {\r\n                        var blockMarker;\r\n                        if (blockMarkerEnd - blockMarkerBeg <= 0) {\r\n                            blockMarker = \"{/\" + blockType + \"}\";\r\n                        } else {\r\n                            blockMarker = body.substring(blockMarkerBeg + 1, blockMarkerEnd);\r\n                        }\r\n                        var blockEnd = body.indexOf(blockMarker, blockMarkerEnd + 1);\r\n                        if (blockEnd >= 0) {\r\n                            emitSectionText(body.substring(endStmtPrev + 1, begStmt), funcText);\r\n                            var blockText = body.substring(blockMarkerEnd + 1, blockEnd);\r\n                            if (blockType == 'cdata') {\r\n                                emitText(blockText, funcText);\r\n                            } else if (blockType == 'minify') {\r\n                                emitText(scrubWhiteSpace(blockText), funcText);\r\n                            } else if (blockType == 'eval') {\r\n                                if (blockText != null && blockText.length > 0)\r\n                                    funcText.push('_OUT.write( (function() { ' + blockText + ' })() );');\r\n                            }\r\n                            begStmt = endStmtPrev = blockEnd + blockMarker.length - 1;\r\n                        } \r\n                    } \r\n                } else if (body.charAt(begStmt - 1) != '$' &&\r\nbody.charAt(begStmt - 1) != '\\\\') {\r\n                    var offset = (body.charAt(begStmt + 1) == '/' ? 2 : 1);\r\n                    if (body.substring(begStmt + offset, begStmt + 10 + offset).search(TrimPath.parseTemplate_etc.statementTag) == 0)\r\n                        break;\r\n                }\r\n                begStmt = body.indexOf(\"{\", begStmt + 1);\r\n            }\r\n            if (begStmt < 0)\r\n                break;\r\n            var endStmt = body.indexOf(\"}\", begStmt + 1);\r\n            if (endStmt < 0)\r\n                break;\r\n            emitSectionText(body.substring(endStmtPrev + 1, begStmt), funcText);\r\n            emitStatement(body.substring(begStmt, endStmt + 1), state, funcText, tmplName, etc);\r\n            endStmtPrev = endStmt;\r\n        }\r\n        emitSectionText(body.substring(endStmtPrev + 1), funcText);\r\n        if (state.stack.length != 0)\r\n            throw new etc.ParseError(tmplName, state.line, \"unclosed, unmatched statement(s): \" + state.stack.join(\",\"));\r\n        funcText.push(\"}}; TrimPath_Template_TEMP\");\r\n        return funcText.join(\"\");\r\n    }\r\n    var emitStatement = function(stmtStr, state, funcText, tmplName, etc) {\r\n        var parts = stmtStr.slice(1, -1).split(' ');\r\n        var stmt = etc.statementDef[parts[0]];\r\n        if (stmt == null) {\r\n            emitSectionText(stmtStr, funcText);\r\n            return;\r\n        }\r\n        if (stmt.delta < 0) {\r\n            if (state.stack.length <= 0)\r\n                throw new etc.ParseError(tmplName, state.line, \"close tag does not match any previous statement: \" + stmtStr);\r\n            state.stack.pop();\r\n        }\r\n        if (stmt.delta > 0)\r\n            state.stack.push(stmtStr);\r\n        if (stmt.paramMin != null &&\r\nstmt.paramMin >= parts.length)\r\n            throw new etc.ParseError(tmplName, state.line, \"statement needs more parameters: \" + stmtStr);\r\n        if (stmt.prefixFunc != null)\r\n            funcText.push(stmt.prefixFunc(parts, state, tmplName, etc));\r\n        else\r\n            funcText.push(stmt.prefix);\r\n        if (stmt.suffix != null) {\r\n            if (parts.length <= 1) {\r\n                if (stmt.paramDefault != null)\r\n                    funcText.push(stmt.paramDefault);\r\n            } else {\r\n                for (var i = 1; i < parts.length; i++) {\r\n                    if (i > 1)\r\n                        funcText.push(' ');\r\n                    funcText.push(parts[i]);\r\n                } \r\n            }\r\n            funcText.push(stmt.suffix);\r\n        } \r\n    }\r\n    var emitSectionText = function(text, funcText) {\r\n        if (text.length <= 0)\r\n            return;\r\n        var nlPrefix = 0;\r\n        var nlSuffix = text.length - 1;\r\n        while (nlPrefix < text.length && (text.charAt(nlPrefix) == '\\n'))\r\n            nlPrefix++;\r\n        while (nlSuffix >= 0 && (text.charAt(nlSuffix) == ' ' || text.charAt(nlSuffix) == '\\t'))\r\n            nlSuffix--;\r\n        if (nlSuffix < nlPrefix)\r\n            nlSuffix = nlPrefix;\r\n        if (nlPrefix > 0) {\r\n            funcText.push('if (_FLAGS.keepWhitespace == true) _OUT.write(\"');\r\n            var s = text.substring(0, nlPrefix).replace('\\n', '\\\\n');\r\n            if (s.charAt(s.length - 1) == '\\n')\r\n                s = s.substring(0, s.length - 1);\r\n            funcText.push(s);\r\n            funcText.push('\");');\r\n        }\r\n        var lines = text.substring(nlPrefix, nlSuffix + 1).split('\\n');\r\n        for (var i = 0; i < lines.length; i++) {\r\n            emitSectionTextLine(lines[i], funcText);\r\n            if (i < lines.length - 1)\r\n                funcText.push('_OUT.write(\"\\\\n\");\\n');\r\n        }\r\n        if (nlSuffix + 1 < text.length) {\r\n            funcText.push('if (_FLAGS.keepWhitespace == true) _OUT.write(\"');\r\n            var s = text.substring(nlSuffix + 1).replace('\\n', '\\\\n');\r\n            if (s.charAt(s.length - 1) == '\\n')\r\n                s = s.substring(0, s.length - 1);\r\n            funcText.push(s);\r\n            funcText.push('\");');\r\n        } \r\n    }\r\n    var emitSectionTextLine = function(line, funcText) {\r\n        var endMarkPrev = '}';\r\n        var endExprPrev = -1;\r\n        while (endExprPrev + endMarkPrev.length < line.length) {\r\n            var begMark = \"${\", endMark = \"}\";\r\n            var begExpr = line.indexOf(begMark, endExprPrev + endMarkPrev.length);\r\n            if (begExpr < 0)\r\n                break;\r\n            if (line.charAt(begExpr + 2) == '%') {\r\n                begMark = \"${%\";\r\n                endMark = \"%}\";\r\n            }\r\n            var endExpr = line.indexOf(endMark, begExpr + begMark.length);\r\n            if (endExpr < 0)\r\n                break;\r\n            emitText(line.substring(endExprPrev + endMarkPrev.length, begExpr), funcText);\r\n            var exprArr = line.substring(begExpr + begMark.length, endExpr).replace(/\\|\\|/g, \"#@@#\").split('|');\r\n            for (var k in exprArr) {\r\n                if (exprArr[k].replace)\r\n                    exprArr[k] = exprArr[k].replace(/#@@#/g, '||');\r\n            }\r\n            funcText.push('_OUT.write(');\r\n            emitExpression(exprArr, exprArr.length - 1, funcText);\r\n            funcText.push(');');\r\n            endExprPrev = endExpr;\r\n            endMarkPrev = endMark;\r\n        }\r\n        emitText(line.substring(endExprPrev + endMarkPrev.length), funcText);\r\n    }\r\n    var emitText = function(text, funcText) {\r\n        if (text == null ||\r\ntext.length <= 0)\r\n            return;\r\n        text = text.replace(/\\\\/g, '\\\\\\\\');\r\n        text = text.replace(/\\n/g, '\\\\n');\r\n        text = text.replace(/\"/g, '\\\\\"');\r\n        funcText.push('_OUT.write(\"');\r\n        funcText.push(text);\r\n        funcText.push('\");');\r\n    }\r\n    var emitExpression = function(exprArr, index, funcText) {\r\n        var expr = exprArr[index];\r\n        if (index <= 0) {\r\n            funcText.push(expr);\r\n            return;\r\n        }\r\n        var parts = expr.split(':');\r\n        funcText.push('_MODIFIERS[\"');\r\n        funcText.push(parts[0]);\r\n        funcText.push('\"](');\r\n        emitExpression(exprArr, index - 1, funcText);\r\n        if (parts.length > 1) {\r\n            funcText.push(',');\r\n            funcText.push(parts[1]);\r\n        }\r\n        funcText.push(')');\r\n    }\r\n    var cleanWhiteSpace = function(result) {\r\n        result = result.replace(/\\t/g, \"    \");\r\n        result = result.replace(/\\r\\n/g, \"\\n\");\r\n        result = result.replace(/\\r/g, \"\\n\");\r\n        result = result.replace(/^(\\s*\\S*(\\s+\\S+)*)\\s*$/, '$1');\r\n        return result;\r\n    }\r\n    var scrubWhiteSpace = function(result) {\r\n        result = result.replace(/^\\s+/g, \"\");\r\n        result = result.replace(/\\s+$/g, \"\");\r\n        result = result.replace(/\\s+/g, \" \");\r\n        result = result.replace(/^(\\s*\\S*(\\s+\\S+)*)\\s*$/, '$1');\r\n        return result;\r\n    }\r\n    TrimPath.parseDOMTemplate = function(elementId, optDocument, optEtc) {\r\n        if (optDocument == null)\r\n            optDocument = document;\r\n        var element = optDocument.getElementById(elementId);\r\n        var content = element.value;\r\n        if (content == null)\r\n            content = element.innerHTML;\r\n        content = content.replace(/&lt;/g, \"<\").replace(/&gt;/g, \">\");\r\n        return TrimPath.parseTemplate(content, elementId, optEtc);\r\n    }\r\n    TrimPath.processDOMTemplate = function(elementId, context, optFlags, optDocument, optEtc) {\r\n        return TrimPath.parseDOMTemplate(elementId, optDocument, optEtc).process(context, optFlags);\r\n    } \r\n})();\r\n/*pagination*/\r\njQuery.fn.pagination = function(maxentries, opts) {\r\n    opts = jQuery.extend({\r\n        items_per_page: 10,\r\n        num_display_entries: 10,\r\n        current_page: 0,\r\n        num_edge_entries: 0,\r\n        link_to: \"#\",\r\n        prev_text: \"Prev\",\r\n        next_text: \"Next\",\r\n        ellipse_text: \"...\",\r\n        prev_show_always: true,\r\n        next_show_always: true,\r\n        callback: function() { return false; } \r\n    }, opts || {});\r\n    return this.each(function() {\r\n        function numPages() {\r\n            return Math.ceil(maxentries / opts.items_per_page);\r\n        }\r\n        function getInterval() {\r\n            var ne_half = Math.ceil(opts.num_display_entries / 2);\r\n            var np = numPages();\r\n            var upper_limit = np - opts.num_display_entries;\r\n            var start = current_page > ne_half ? Math.max(Math.min(current_page - ne_half, upper_limit), 0) : 0;\r\n            var end = current_page > ne_half ? Math.min(current_page + ne_half, np) : Math.min(opts.num_display_entries, np);\r\n            return [start, end];\r\n        }\r\n        function pageSelected(page_id, evt) {\r\n            current_page = page_id;\r\n            drawLinks();\r\n            var continuePropagation = opts.callback(page_id, panel);\r\n            if (!continuePropagation) {\r\n                if (evt.stopPropagation) {\r\n                    evt.stopPropagation();\r\n                }\r\n                else {\r\n                    evt.cancelBubble = true;\r\n                } \r\n            }\r\n            return continuePropagation;\r\n        }\r\n        function drawLinks() {\r\n            panel.empty();\r\n            var interval = getInterval();\r\n            var np = numPages();\r\n            if (np == 1) {\r\n                $(\".Pagination\").css({ display: \"none\" });\r\n            }\r\n            var getClickHandler = function(page_id) {\r\n                return function(evt) { return pageSelected(page_id, evt); } \r\n            }\r\n            var appendItem = function(page_id, appendopts) {\r\n                page_id = page_id < 0 ? 0 : (page_id < np ? page_id : np - 1);\r\n                appendopts = jQuery.extend({ text: page_id + 1, classes: \"\" }, appendopts || {});\r\n                if (page_id == current_page) {\r\n                    var lnk = $(\"<a href='javascript:void(0)' class='current'>\" + (appendopts.text) + \"</a>\");\r\n                }\r\n                else {\r\n                    var lnk = $(\"<a>\" + (appendopts.text) + \"</a>\")\r\n.bind(\"click\", getClickHandler(page_id))\r\n.attr('href', opts.link_to.replace(/__id__/, page_id));\r\n                }\r\n                if (appendopts.classes) { lnk.addClass(appendopts.classes); }\r\n                panel.append(lnk);\r\n            }\r\n            if (opts.prev_text && (current_page > 0 || opts.prev_show_always)) {\r\n                appendItem(current_page - 1, { text: opts.prev_text, classes: \"prev\" });\r\n            }\r\n            if (interval[0] > 0 && opts.num_edge_entries > 0) {\r\n                var end = Math.min(opts.num_edge_entries, interval[0]);\r\n                for (var i = 0; i < end; i++) {\r\n                    appendItem(i);\r\n                }\r\n                if (opts.num_edge_entries < interval[0] && opts.ellipse_text) {\r\n                    jQuery(\"<span>\" + opts.ellipse_text + \"</span>\").appendTo(panel);\r\n                } \r\n            }\r\n            for (var i = interval[0]; i < interval[1]; i++) {\r\n                appendItem(i);\r\n            }\r\n            if (interval[1] < np && opts.num_edge_entries > 0) {\r\n                if (np - opts.num_edge_entries > interval[1] && opts.ellipse_text) {\r\n                    jQuery(\"<span>\" + opts.ellipse_text + \"</span>\").appendTo(panel);\r\n                }\r\n                var begin = Math.max(np - opts.num_edge_entries, interval[1]);\r\n                for (var i = begin; i < np; i++) {\r\n                    appendItem(i);\r\n                } \r\n            }\r\n            if (opts.next_text && (current_page < np - 1 || opts.next_show_always)) {\r\n                appendItem(current_page + 1, { text: opts.next_text, classes: \"next\" });\r\n            } \r\n        }\r\n        var current_page = opts.current_page;\r\n        maxentries = (!maxentries || maxentries < 0) ? 1 : maxentries;\r\n        opts.items_per_page = (!opts.items_per_page || opts.items_per_page < 0) ? 1 : opts.items_per_page;\r\n        var panel = jQuery(this);\r\n        this.selectPage = function(page_id) { pageSelected(page_id); }\r\n        this.prevPage = function() {\r\n            if (current_page > 0) {\r\n                pageSelected(current_page - 1);\r\n                return true;\r\n            }\r\n            else {\r\n                return false;\r\n            } \r\n        }\r\n        this.nextPage = function() {\r\n            if (current_page < numPages() - 1) {\r\n                pageSelected(current_page + 1);\r\n                return true;\r\n            }\r\n            else {\r\n                return false;\r\n            } \r\n        }\r\n        drawLinks();\r\n    });\r\n};\r\n/*\r\n@Last-Modified:2010/10/26\r\n*/"
  },
  {
    "path": "migo-portal/src/main/webapp/js/register/jdThickBox.js",
    "content": "(function($) {\r\n\t$.extend($.browser, {\r\n\t\tclient: function() {\r\n\t\t\treturn {\r\n\t\t\t\twidth: document.documentElement.clientWidth,\r\n\t\t\t\theight: document.documentElement.clientHeight,\r\n\t\t\t\tbodyWidth: document.body.clientWidth,\r\n\t\t\t\tbodyHeight: document.body.clientHeight\r\n\t\t\t};\r\n\t\t},\r\n\t\tscroll: function() {\r\n\t\t\treturn {\r\n\t\t\t\twidth: document.documentElement.scrollWidth,\r\n\t\t\t\theight: document.documentElement.scrollHeight,\r\n\t\t\t\tbodyWidth: document.body.scrollWidth,\r\n\t\t\t\tbodyHeight: document.body.scrollHeight,\r\n\t\t\t\tleft: document.documentElement.scrollLeft + document.body.scrollLeft,\r\n\t\t\t\ttop: document.documentElement.scrollTop + document.body.scrollTop\r\n\t\t\t};\r\n\t\t},\r\n\t\tscreen: function() {\r\n\t\t\treturn {\r\n\t\t\t\twidth: window.screen.width,\r\n\t\t\t\theight: window.screen.height\r\n\t\t\t};\r\n\t\t},\r\n\t\tisIE6: $.browser.msie && $.browser.version == 6,\r\n\t\tisMinW: function(val) {\r\n\t\t\treturn Math.min($.browser.client().bodyWidth, $.browser.client().width) <= val;\r\n\t\t},\r\n\t\tisMinH: function(val) {\r\n\t\t\treturn $.browser.client().height <= val;\r\n\t\t}\r\n\t})\r\n})(jQuery);\r\n(function(a) {\r\n    a.fn.jdPosition = function(f) {\r\n        var e = a.extend({mode:null}, f || {});\r\n        switch (e.mode) {\r\n            default:\r\n            case\"center\":\r\n                var c = a(this).outerWidth(),g = a(this).outerHeight();\r\n                var b = a.browser.isMinW(c),d = a.browser.isMinH(g);\r\n                a(this).css({left:a.browser.scroll().left + Math.max((a.browser.client().width - c) / 2, 0) + \"px\",top:(!a.browser.isIE6) ? (d ? a.browser.scroll().top : (a.browser.scroll().top + Math.max((a.browser.client().height - g) / 2, 0) + \"px\")) : ((a.browser.scroll().top <= a.browser.client().bodyHeight - g) ? (a.browser.scroll().top + Math.max((a.browser.client().height - g) / 2, 0) + \"px\") : (a.browser.client().height - g) / 2 + \"px\")});\r\n                break;\r\n            case\"auto\":\r\n                break;\r\n            case\"fixed\":\r\n                break\r\n        }\r\n    }\r\n})(jQuery);\r\n(function(a) {\r\n    a.fn.jdThickBox = function(f, k) {\r\n        if (typeof f == \"function\") {\r\n            k = f;\r\n            f = {}\r\n        }\r\n        var o = a.extend({type:\"text\",source:null,width:null,height:null,title:null,_frame:\"\",_div:\"\",_box:\"\",_con:\"\",_loading:\"thickloading\",close:false,_close:\"\",_fastClose:false,_close_val:\"\\u00d7\",_titleOn:true,_title:\"\",_autoReposi:false,_countdown:false,_thickPadding:10,_thickBorder:1}, f || {});\r\n        var e = (typeof this != \"function\") ? a(this) : null;\r\n        var c;\r\n        var m = function() {\r\n            clearInterval(c);\r\n            a(\".thickframe\").add(\".thickdiv\").hide();\r\n            a(\".thickbox\").empty().remove();\r\n            if (o._autoReposi) {\r\n                a(window).unbind(\"resize.jdThickBox\").unbind(\"scroll.jdThickBox\")\r\n            }\r\n        };\r\n        if (o.close) {\r\n            m();\r\n            return false\r\n        }\r\n        var d = function(p) {\r\n            if (p != \"\") {\r\n                return p.match(/\\w+/)\r\n            } else {\r\n                return\"\"\r\n            }\r\n        };\r\n        var n = function(p) {\r\n            if (a(\".thickframe\").length == 0 || a(\".thickdiv\").length == 0) {\r\n                a(\"<iframe class='thickframe' id='\" + d(o._frame) + \"' marginwidth='0' marginheight='0' frameborder='0' scrolling='no'></iframe>\").appendTo(a(document.body));\r\n                a(\"<div class='thickdiv' id='\" + d(o._div) + \"'></div>\").appendTo(a(document.body))\r\n            } else {\r\n                a(\".thickframe\").add(\".thickdiv\").show()\r\n            }\r\n            a(\"<div class='thickbox' id='\" + d(o._box) + \"'></div>\").appendTo(a(document.body));\r\n            if (o._titleOn) {\r\n                h(p)\r\n            }\r\n            a(\"<div class='thickcon' id='\" + d(o._con) + \"' style='width:\" + o.width + \"px;height:\" + o.height + \"px;'></div>\").appendTo(a(\".thickbox\"));\r\n            if (o._countdown) {\r\n                b()\r\n            }\r\n            a(\".thickcon\").addClass(o._loading);\r\n            g();\r\n            j();\r\n            l(p);\r\n            if (o._autoReposi) {\r\n                a(window).bind(\"resize.jdThickBox\", g).bind(\"scroll.jdThickBox\", g)\r\n            }\r\n            if (o._fastClose) {\r\n                a(document.body).bind(\"click.jdThickBox\", function(r) {\r\n                    r = r ? r : window.event;\r\n                    var q = r.srcElement ? r.srcElement : r.target;\r\n                    if (q.className == \"thickdiv\") {\r\n                        a(this).unbind(\"click.jdThickBox\");\r\n                        m()\r\n                    }\r\n                })\r\n            }\r\n        };\r\n        var b = function() {\r\n            var p = o._countdown;\r\n            a(\"<div class='thickcountdown' style='width:\" + o.width + \"'><span id='jd-countdown'>\" + p + \"</span>\\u79d2\\u540e\\u81ea\\u52a8\\u5173\\u95ed</div>\").appendTo(a(\".thickbox\"));\r\n            c = setInterval(function() {\r\n                p--;\r\n                a(\"#jd-countdown\").html(p);\r\n                if (p == 0) {\r\n                    p = o._countdown;\r\n                    m()\r\n                }\r\n            }, 1000)\r\n        };\r\n        var h = function(p) {\r\n            o.title = (o.title == null && p) ? p.attr(\"title\") : o.title;\r\n            a(\"<div class='thicktitle' id='\" + d(o._title) + \"' style='width:\" + o.width + \"'><span>\" + o.title + \"</span></div>\").appendTo(a(\".thickbox\"))\r\n        };\r\n        var j = function() {\r\n            if (o._close != null) {\r\n                a(\"<a href='#'  id='closeBox'  class='thickclose' id='\" + d(o._close) + \"'>\" + o._close_val + \"</a>\").appendTo(a(\".thickbox\"));\r\n                a(\".thickclose\").one(\"click\", function() {\r\n                    m();                    \r\n                    return false\r\n                })\r\n            }\r\n        };\r\n        var l = function(p) {\r\n            o.source = (o.source == null) ? p.attr(\"href\") : o.source;\r\n            switch (o.type) {\r\n                default:\r\n                case\"text\":\r\n                    a(\".thickcon\").html(o.source);\r\n                    a(\".thickcon\").removeClass(o._loading);\r\n                    if (k) {\r\n                        k()\r\n                    }\r\n                    break;\r\n                case\"html\":\r\n                    a(o.source).clone().appendTo(a(\".thickcon\")).show();\r\n                    a(\".thickcon\").removeClass(o._loading);\r\n                    if (k) {\r\n                        k()\r\n                    }\r\n                    break;\r\n                case\"image\":\r\n                    o._index = (o._index == null) ? e.index(p) : o._index;\r\n                    a(\".thickcon\").append(\"<img src='\" + o.source + \"' width='\" + o.width + \"' height='\" + o.height + \"'>\");\r\n                    o.source = null;\r\n                    a(\".thickcon\").removeClass(o._loading);\r\n                    if (k) {\r\n                        k()\r\n                    }\r\n                    break;\r\n                case\"ajax\":\r\n                case\"json\":\r\n                    if (k) {\r\n                        k(o.source, a(\".thickcon\"), function() {\r\n                            a(\".thickcon\").removeClass(o._loading)\r\n                        })\r\n                    }\r\n                    break;\r\n                case\"iframe\":\r\n                    a(\"<iframe src='\" + o.source + \"' marginwidth='0' marginheight='0' frameborder='0' scrolling='no' style='width:\" + o.width + \"px;height:\" + o.height + \"px;border:0;'></iframe>\").appendTo(a(\".thickcon\"));\r\n                    a(\".thickcon\").removeClass(o._loading);\r\n                    if (k) {\r\n                        k()\r\n                    }\r\n                    break\r\n            }\r\n        };\r\n        var g = function() {\r\n            var q = o._thickPadding * 2 + o._thickBorder * 2 + parseInt(o.width),t = (o._titleOn ? a(\".thicktitle\").outerHeight() : 0) + a(\".thickcon\").outerHeight();\r\n            a(\".thickcon\").css({width:o.width,height:o.height,paddingLeft:0,paddingRight:0,borderLeft:o._thickBorder,borderRight:o._thickBorder});\r\n            a(\".thickbox\").css({width:(q-20 )+ \"px\",height:t + \"px\"});\r\n            a(\".thickbox\").jdPosition({mode:\"center\"});\r\n            if (a.browser.isIE6) {\r\n                var s = a(\".thickbox\").outerWidth(),u = a(\".thickbox\").outerHeight();\r\n                var p = a.browser.isMinW(s),r = a.browser.isMinH(u);\r\n                a(\".thickframe\").add(\".thickdiv\").css({width:p ? s : \"100%\",height:Math.max(a.browser.client().height, a.browser.client().bodyHeight) + \"px\"})\r\n            }\r\n        };\r\n        if (e != null) {\r\n            e.click(function() {\r\n                n(a(this));\r\n                return false\r\n            })\r\n        } else {\r\n            n()\r\n        }\r\n    };\r\n    a.jdThickBox = a.fn.jdThickBox\r\n})(jQuery);\r\nfunction jdThickBoxclose() {\r\n    $(\".thickclose\").trigger(\"click\")\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/js/register/jdValidate.emReg.js",
    "content": "$.extend(validateFunction,\r\n\t\t{\r\n\t\t\tregValidate : function() {\r\n\t\t\t\tif ($(\"#mobileCodeDiv\").attr(\"class\") == 'item') {\r\n\t\t\t\t\t$(\"#regName\").jdValidate(validatePrompt.regName,\r\n\t\t\t\t\t\t\tvalidateFunction.regName, true);\r\n\t\t\t\t\t$(\"#pwd\").jdValidate(validatePrompt.pwd,\r\n\t\t\t\t\t\t\tvalidateFunction.pwd, true);\r\n\t\t\t\t\t$(\"#pwdRepeat\").jdValidate(validatePrompt.pwdRepeat,\r\n\t\t\t\t\t\t\tvalidateFunction.pwdRepeat, true);\r\n\t\t\t\t\t$(\"#mobileCode\").jdValidate(validatePrompt.mobileCode,\r\n\t\t\t\t\t\t\tvalidateFunction.mobileCode, true);\r\n\t\t\t\t\treturn validateFunction.FORM_submit([ \"#regName\", \"#pwd\",\r\n\t\t\t\t\t\t\t\"#pwdRepeat\", \"#mobileCode\" ]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(\"#regName\").jdValidate(validatePrompt.regName,\r\n\t\t\t\t\t\t\tvalidateFunction.regName, true);\r\n\t\t\t\t\t$(\"#pwd\").jdValidate(validatePrompt.pwd,\r\n\t\t\t\t\t\t\tvalidateFunction.pwd, true);\r\n\t\t\t\t\t$(\"#pwdRepeat\").jdValidate(validatePrompt.pwdRepeat,\r\n\t\t\t\t\t\t\tvalidateFunction.pwdRepeat, true);\r\n\t\t\t\t\treturn validateFunction.FORM_submit([ \"#regName\", \"#pwd\",\r\n\t\t\t\t\t\t\t\"#pwdRepeat\" ]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\nvar isSubmit = false;\r\n$(\"#pwd\").bind(\"keyup\", function() {\r\n\tvalidateFunction.pwdstrength();\r\n}).jdValidate(validatePrompt.pwd, validateFunction.pwd)\r\n$(\"#pwdRepeat\")\r\n\t\t.jdValidate(validatePrompt.pwdRepeat, validateFunction.pwdRepeat);\r\n$(\"#regName\").jdValidate(validatePrompt.regName, validateFunction.regName);\r\n//$(\"#mobileCode\").jdValidate(validatePrompt.mobileCode,\r\n//\t\tvalidateFunction.mobileCode);\r\n//$(\"#phone\").jdValidate(validatePrompt.phone,\r\n//\t\tvalidateFunction.phone);\r\n//$(\"#mail\").jdValidate(validatePrompt.mail,\r\n//\t\tvalidateFunction.mail);\r\n\r\nfunction checkReadMe() {\r\n\tif ($(\"#readme\").attr(\"checked\") == true) {\r\n\t\t$(\"#protocol_error\").removeClass().addClass(\"error hide\");\r\n\t\treturn true;\r\n\t} else {\r\n\t\t$(\"#protocol_error\").removeClass().addClass(\"error\");\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\nfunction agreeonProtocol() {\r\n\tif ($(\"#readme\").attr(\"checked\") == true) {\r\n\t\t$(\"#protocol_error\").removeClass().addClass(\"error hide\");\r\n\t\treturn true;\r\n\t}\r\n}\r\n\r\nfunction protocolReg() {\r\n\t$(\"#closeBox\").click();\r\n\t//reg();\r\n}\r\n//主注册流程\r\nfunction reg() {\r\n\tif (isSubmit) {\r\n\t\treturn;\r\n\t}\r\n\tvar mobileCodeFlag = false;\r\n\tvar agreeProtocol = checkReadMe();\r\n\tvar regNameok = validateRegName();\r\n\tvar passed = false;\r\n\tvar mobile = $(\"#phone\").val();\r\n\tif(closeMobileReg == 1)\r\n\t{\r\n\t\tif (mobile == \"\") {\r\n\t\t\t$('#phone').addClass('highlight2');\r\n\t\t\t$(\"#phone_error\").html(\"请输入手机号码\");\r\n\t\t\t$(\"#phone_error\").removeClass().addClass(\"error\");\r\n\t\t\t$(\"#phone_error\").show();\r\n\t\t}\r\n\t    passed = validateFunction.regValidate() && regNameok && mobileFlags && agreeProtocol;\r\n\t}else\r\n\t{\r\n\t\tif (mobile == \"\") {\r\n\t\t\t$('#phone').addClass('highlight2');\r\n\t\t\t$(\"#phone_error\").html(\"请输入手机号码\");\r\n\t\t\t$(\"#phone_error\").removeClass().addClass(\"error\");\r\n\t\t\t$(\"#phone_error\").show();\r\n\t\t}\r\n\t\tvar mobileCode = $(\"#mobileCode\").val();\r\n\t\tif (mobileCode == \"\") {\r\n\t\t\t$('#mobileCode').addClass('highlight2');\r\n\t\t\t$('#mobileCode_error').removeClass().addClass('error').html('请输入短信验证码');\r\n\t\t\t$('#mobileCode_error').show();\r\n\t\t} else {\r\n\t\t\tmobileCodeFlag = true;\r\n\t\t}\r\n\t\tvar state = $(\"#state\").val();\r\n\t\tif(state == \"unbind\")\r\n\t\t{\r\n\t\t\tmobileFlags=true;\r\n\t\t}\r\n\t\tisSubmit = true;\r\n\t    passed = validateFunction.regValidate() && regNameok && agreeProtocol\r\n\t\t\t\t&& mobileCodeFlag && mobileFlags;\r\n\t}\r\n\t\r\n\tif (passed) {\r\n\t\t$(\"#registsubmit\").attr({\r\n\t\t\t\"disabled\" : \"disabled\"\r\n\t\t}).removeClass().addClass(\"btn-img btn-regist wait-btn\");\r\n\t\tvar _password = $(\"#personRegForm [name=password]\").val();\r\n\t\tvar _username = $(\"#personRegForm [name=username]\").val();\r\n\t\tvar _phone = $(\"#personRegForm [name=phone]\").val();\r\n\t\t$.ajax({\r\n\t\t\ttype : \"POST\",\r\n\t\t\turl : \"/service/user/doRegister\",\r\n\t\t\tcontentType : \"application/x-www-form-urlencoded; charset=utf-8\",\r\n\t\t\tdata : {password:_password,username:_username,phone:_phone},\r\n\t\t\tdataType : 'json',\r\n\t\t\tsuccess : function(result) {\r\n\t\t\t\tif(result.status == \"200\"){\r\n\t\t\t\t\t// 注册成功，去登录页\r\n\t\t\t\t\tshowMessage('注册成功，请登录！');\r\n\t\t\t\t\tverc();\r\n\t\t\t\t\t$(\"#registsubmit\").removeAttr(\"disabled\").removeClass()\r\n\t\t\t\t\t\t\t.addClass(\"btn-img btn-regist\");\r\n\t\t\t\t\tisSubmit = false;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}else{\r\n\t\t\t\t\talert('注册失败，请重新注册！   ' + result.data );\r\n\t\t\t\t}\r\n//\t\t\t\tif (result) {\r\n//\t\t\t\t\tvar obj = eval(result);\r\n//\t\t\t\t\tif (obj.info) {\r\n//\t\t\t\t\t\tshowMessage(obj.info);\r\n////\t\t\t\t\t    alert(obj.info);\r\n//\t\t\t\t\t\tverc();\r\n//\t\t\t\t\t\t$(\"#registsubmit\").removeAttr(\"disabled\").removeClass()\r\n//\t\t\t\t\t\t\t\t.addClass(\"btn-img btn-regist\");\r\n//\t\t\t\t\t\tisSubmit = false;\r\n//\t\t\t\t\t\treturn;\r\n//\t\t\t\t\t}\r\n//\t\t\t\t\tif (obj.noAuth) {\r\n//\t\t\t\t\t\tverc();\r\n//\t\t\t\t\t\twindow.location = obj.noAuth;\r\n//\t\t\t\t\t\treturn;\r\n//\t\t\t\t\t}\r\n//\t\t\t\t\tif (obj.success == true) {\r\n//\t\t\t\t\t\twindow.location = obj.dispatchUrl;\r\n//\t\t\t\t\t}\r\n//\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t} else {\r\n\t\t$(\"#registsubmit\").removeAttr(\"disabled\").removeClass().addClass(\r\n\t\t\t\t\"btn-img btn-regist\");\r\n\t\tisSubmit = false;\r\n\t}\r\n}\r\n//popup注册\r\nfunction popupReg() {\r\n\tvar mobileCodeFlag = false;\r\n\t var agreeProtocol = checkReadMe();\r\n\t\tvar mobileCode = $(\"#mobileCode\").val();\r\n\t\tif (mobileCode == \"\") {\r\n\t\t\t$(\"#mobileCode\").attr({\r\n\t\t\t\t\"class\" : \"text highlight2\"\r\n\t\t\t});\r\n\t\t\t$('#mobileCode_error').addClass('error').html('请输入短信验证码');\r\n\t\t} else {\r\n\t\t\tmobileCodeFlag = true;\r\n\t\t}\r\n\t    var passed = validateRegName() && validateFunction.regValidate() && agreeProtocol && mobileCodeFlag && mobileFlags;;\r\n\t    if (passed) {\r\n\t        $(\"#popupRegButton\").attr({ \"disabled\": \"disabled\" }).removeClass().addClass(\"btn-img btn-regist wait-btn\");\r\n\t        $.ajax({\r\n\t            type: \"POST\",\r\n\t            url: \"../register/regService?r=\" + Math.random(),\r\n\t            contentType: \"application/x-www-form-urlencoded; charset=utf-8\",\r\n\t            data: $(\"#popupPersonRegForm\").serialize(),\r\n\t            success: function (result) {\r\n\t                if (result) {\r\n\t                    var obj = eval(result);\r\n\t                    if (obj.info) {\r\n\t                    \tshowMessage(obj.info);\r\n\t                        verc();\r\n\t                        $(\"#popupRegButton\").removeAttr(\"disabled\").removeClass().addClass(\"btn-img btn-regist\");\r\n\t                        return;\r\n\t                    }\r\n\t                    if (obj.noAuth) {\r\n\t                        verc();\r\n\t                        window.parent.location = obj.noAuth;\r\n\t                        return;\r\n\t                    }\r\n\t                    if (obj.success == true) {\r\n\t                        window.parent.jdModelCallCenter.init(true);\r\n\t                        return;\r\n\t                    }\r\n\t                }\r\n\t            }\r\n\t        });\r\n\t    } else {\r\n\t        $(\"#popupRegButton\").removeAttr(\"disabled\").removeClass().addClass(\"btn-img btn-regist\");\r\n\t    }\r\n\t\r\n}\r\n\r\nfunction popupContinueReg() {\r\n\t$(\"#protocolContent\").removeClass().addClass(\"regist-bor hide\");\r\n\t$(\"#popupPersonRegForm\").show();\r\n\r\n\tpopupReg();\r\n}\r\n\r\nfunction showProtocol() {\r\n\t$(\"#popupPersonRegForm\").hide();\r\n\t$(\"#protocolContent\").removeClass().addClass(\"regist-bor\");\r\n\r\n}\r\nfunction showMessage(alertMsg)\r\n{\r\n\t$.jdThickBox({\r\n\t\t  type: \"text\",/*也可以是text,html,image,ajax,json*/\r\n\t         width: 360,\r\n\t         height: 100,\r\n\t         source: '<div class=\"thickbox-tip\">'\r\n\t        \t \t\t+'<div class=\"icon-box\">'\r\n\t        \t \t\t+'<span class=\"warn-icon m-icon\"></span>'\r\n\t        \t \t\t+ '<div class=\"item-fore \">'\r\n\t        \t \t\t+'<h2 class=\"ftx-04 \" id=\"alertMsg\">'+alertMsg+'</h2>'\r\n\t        \t \t\t+' </div>'\r\n\t        \t \t\t+'</div>'\r\n\t        \t \t\t+'</div>',\r\n\t         title: \"温馨提示\",\r\n\t         _close_val: \"×\",\r\n\t         _con: \"opinioncon\",\r\n\t         _titleOn: true\r\n\t});\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/js/register/jdValidate.js",
    "content": "function pwdLevel(value) {\r\n    var pattern_1 = /^.*([\\W_])+.*$/i;\r\n    var pattern_2 = /^.*([a-zA-Z])+.*$/i;\r\n    var pattern_3 = /^.*([0-9])+.*$/i;\r\n    var level = 0;\r\n    if (value.length > 10) {\r\n        level++;\r\n    }\r\n    if (pattern_1.test(value)) {\r\n        level++;\r\n    }\r\n    if (pattern_2.test(value)) {\r\n        level++;\r\n    }\r\n    if (pattern_3.test(value)) {\r\n        level++;\r\n    }\r\n    if (level > 3) {\r\n        level = 3;\r\n    }\r\n    return level;\r\n}\r\n// 休眠\r\nfunction sleepm(numberMillis) {\r\n    var now = new Date();\r\n    var exitTime = now.getTime() + numberMillis;\r\n    while (true) {\r\n        now = new Date();\r\n        if (now.getTime() > exitTime) return;\r\n    }\r\n}\r\nvar weakPwdArray = [\"123456\", \"123456789\", \"111111\", \"5201314\", \"12345678\", \"123123\", \"password\", \"1314520\", \"123321\", \"7758521\", \"1234567\", \"5211314\", \"666666\", \"520520\", \"woaini\", \"520131\", \"11111111\", \"888888\", \"hotmail.com\", \"112233\", \"123654\", \"654321\", \"1234567890\", \"a123456\", \"88888888\", \"163.com\", \"000000\", \"yahoo.com.cn\", \"sohu.com\", \"yahoo.cn\", \"111222tianya\", \"163.COM\", \"tom.com\", \"139.com\", \"wangyut2\", \"pp.com\", \"yahoo.com\", \"147258369\", \"123123123\", \"147258\", \"987654321\", \"100200\", \"zxcvbnm\", \"123456a\", \"521521\", \"7758258\", \"111222\", \"110110\", \"1314521\", \"11111111\", \"12345678\", \"a321654\", \"111111\", \"123123\", \"5201314\", \"00000000\", \"q123456\", \"123123123\", \"aaaaaa\", \"a123456789\", \"qq123456\", \"11112222\", \"woaini1314\", \"a123123\", \"a111111\", \"123321\", \"a5201314\", \"z123456\", \"liuchang\", \"a000000\", \"1314520\", \"asd123\", \"88888888\", \"1234567890\", \"7758521\", \"1234567\", \"woaini520\", \"147258369\", \"123456789a\", \"woaini123\", \"q1q1q1q1\", \"a12345678\", \"qwe123\", \"123456q\", \"121212\", \"asdasd\", \"999999\", \"1111111\", \"123698745\", \"137900\", \"159357\", \"iloveyou\", \"222222\", \"31415926\", \"123456\", \"111111\", \"123456789\", \"123123\", \"9958123\", \"woaini521\", \"5201314\", \"18n28n24a5\", \"abc123\", \"password\", \"123qwe\", \"123456789\", \"12345678\", \"11111111\", \"dearbook\", \"00000000\", \"123123123\", \"1234567890\", \"88888888\", \"111111111\", \"147258369\", \"987654321\", \"aaaaaaaa\", \"1111111111\", \"66666666\", \"a123456789\", \"11223344\", \"1qaz2wsx\", \"xiazhili\", \"789456123\", \"password\", \"87654321\", \"qqqqqqqq\", \"000000000\", \"qwertyuiop\", \"qq123456\", \"iloveyou\", \"31415926\", \"12344321\", \"0000000000\", \"asdfghjkl\", \"1q2w3e4r\", \"123456abc\", \"0123456789\", \"123654789\", \"12121212\", \"qazwsxedc\", \"abcd1234\", \"12341234\", \"110110110\", \"asdasdasd\", \"123456\", \"22222222\", \"123321123\", \"abc123456\", \"a12345678\", \"123456123\", \"a1234567\", \"1234qwer\", \"qwertyui\", \"123456789a\", \"qq.com\", \"369369\", \"163.com\", \"ohwe1zvq\", \"xiekai1121\", \"19860210\", \"1984130\", \"81251310\", \"502058\", \"162534\", \"690929\", \"601445\", \"1814325\", \"as1230\", \"zz123456\", \"280213676\", \"198773\", \"4861111\", \"328658\", \"19890608\", \"198428\", \"880126\", \"6516415\", \"111213\", \"195561\", \"780525\", \"6586123\", \"caonima99\", \"168816\", \"123654987\", \"qq776491\", \"hahabaobao\", \"198541\", \"540707\", \"leqing123\", \"5403693\", \"123456\", \"123456789\", \"111111\", \"5201314\", \"123123\", \"12345678\", \"1314520\", \"123321\", \"7758521\", \"1234567\", \"5211314\", \"520520\", \"woaini\", \"520131\", \"666666\", \"RAND#a#8\", \"hotmail.com\", \"112233\", \"123654\", \"888888\", \"654321\", \"1234567890\", \"a123456\"];\r\n\r\nfunction verc() {\r\n    $(\"#JD_Verification1\").click();\r\n}\r\nfunction verc2() {\r\n    $(\"#JD_Verification2\").click();\r\n}\r\nvar validateRegExp = {\r\n    decmal: \"^([+-]?)\\\\d*\\\\.\\\\d+$\",\r\n    // 浮点数\r\n    decmal1: \"^[1-9]\\\\d*.\\\\d*|0.\\\\d*[1-9]\\\\d*$\",\r\n    // 正浮点数\r\n    decmal2: \"^-([1-9]\\\\d*.\\\\d*|0.\\\\d*[1-9]\\\\d*)$\",\r\n    // 负浮点数\r\n    decmal3: \"^-?([1-9]\\\\d*.\\\\d*|0.\\\\d*[1-9]\\\\d*|0?.0+|0)$\",\r\n    // 浮点数\r\n    decmal4: \"^[1-9]\\\\d*.\\\\d*|0.\\\\d*[1-9]\\\\d*|0?.0+|0$\",\r\n    // 非负浮点数（正浮点数 + 0）\r\n    decmal5: \"^(-([1-9]\\\\d*.\\\\d*|0.\\\\d*[1-9]\\\\d*))|0?.0+|0$\",\r\n    // 非正浮点数（负浮点数 +\r\n    // 0）\r\n    intege: \"^-?[1-9]\\\\d*$\",\r\n    // 整数\r\n    intege1: \"^[1-9]\\\\d*$\",\r\n    // 正整数\r\n    intege2: \"^-[1-9]\\\\d*$\",\r\n    // 负整数\r\n    num: \"^([+-]?)\\\\d*\\\\.?\\\\d+$\",\r\n    // 数字\r\n    num1: \"^[1-9]\\\\d*|0$\",\r\n    // 正数（正整数 + 0）\r\n    num2: \"^-[1-9]\\\\d*|0$\",\r\n    // 负数（负整数 + 0）\r\n    ascii: \"^[\\\\x00-\\\\xFF]+$\",\r\n    // 仅ACSII字符\r\n    chinese: \"^[\\\\u4e00-\\\\u9fa5]+$\",\r\n    // 仅中文\r\n    color: \"^[a-fA-F0-9]{6}$\",\r\n    // 颜色\r\n    date: \"^\\\\d{4}(\\\\-|\\\\/|\\.)\\\\d{1,2}\\\\1\\\\d{1,2}$\",\r\n    // 日期\r\n    email: \"^\\\\w+((-\\\\w+)|(\\\\.\\\\w+))*\\\\@[A-Za-z0-9]+((\\\\.|-)[A-Za-z0-9]+)*\\\\.[A-Za-z0-9]+$\",\r\n    // 邮件\r\n    idcard: \"^[1-9]([0-9]{14}|[0-9]{17})$\",\r\n    // 身份证\r\n    ip4: \"^(25[0-5]|2[0-4]\\\\d|[0-1]\\\\d{2}|[1-9]?\\\\d)\\\\.(25[0-5]|2[0-4]\\\\d|[0-1]\\\\d{2}|[1-9]?\\\\d)\\\\.(25[0-5]|2[0-4]\\\\d|[0-1]\\\\d{2}|[1-9]?\\\\d)\\\\.(25[0-5]|2[0-4]\\\\d|[0-1]\\\\d{2}|[1-9]?\\\\d)$\",\r\n    // ip地址\r\n    letter: \"^[A-Za-z]+$\",\r\n    // 字母\r\n    letter_l: \"^[a-z]+$\",\r\n    // 小写字母\r\n    letter_u: \"^[A-Z]+$\",\r\n    // 大写字母\r\n    mobile: \"^0?(13|15|18|14|17)[0-9]{9}$\",\r\n    // 手机\r\n    notempty: \"^\\\\S+$\",\r\n    // 非空\r\n    password: \"^.*[A-Za-z0-9\\\\w_-]+.*$\",\r\n    // 密码\r\n    fullNumber: \"^[0-9]+$\",\r\n    // 数字\r\n    picture: \"(.*)\\\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$\",\r\n    // 图片\r\n    qq: \"^[1-9]*[1-9][0-9]*$\",\r\n    // QQ号码\r\n    rar: \"(.*)\\\\.(rar|zip|7zip|tgz)$\",\r\n    // 压缩文件\r\n    tel: \"^[0-9\\-()（）]{7,18}$\",\r\n    // 电话号码的函数(包括验证国内区号,国际区号,分机号)\r\n    url: \"^http[s]?:\\\\/\\\\/([\\\\w-]+\\\\.)+[\\\\w-]+([\\\\w-./?%&=]*)?$\",\r\n    // url\r\n    username: \"^[A-Za-z0-9_\\\\-\\\\u4e00-\\\\u9fa5]+$\",\r\n    // 户名\r\n    deptname: \"^[A-Za-z0-9_()（）\\\\-\\\\u4e00-\\\\u9fa5]+$\",\r\n    // 单位名\r\n    zipcode: \"^\\\\d{6}$\",\r\n    // 邮编\r\n    realname: \"^[A-Za-z\\\\u4e00-\\\\u9fa5]+$\",\r\n    // 真实姓名\r\n    companyname: \"^[A-Za-z0-9_()（）\\\\-\\\\u4e00-\\\\u9fa5]+$\",\r\n    companyaddr: \"^[A-Za-z0-9_()（）\\\\#\\\\-\\\\u4e00-\\\\u9fa5]+$\",\r\n    companysite: \"^http[s]?:\\\\/\\\\/([\\\\w-]+\\\\.)+[\\\\w-]+([\\\\w-./?%&#=]*)?$\"\r\n};\r\n// 主函数\r\n(function($) {\r\n    $.fn.jdValidate = function(option, callback, def) {\r\n        var ele = this;\r\n        var id = ele.attr(\"id\");\r\n        var type = ele.attr(\"type\");\r\n        var rel = ele.attr(\"rel\");\r\n        var _onFocus = $(\"#\" + id + validateSettings.onFocus.container);\r\n        var _succeed = $(\"#\" + id + validateSettings.succeed.container);\r\n        var _isNull = $(\"#\" + id + validateSettings.isNull.container);\r\n        var _error = $(\"#\" + id + validateSettings.error.container);\r\n        if (def == true) {\r\n            var str = ele.val();\r\n            var tag = ele.attr(\"sta\");\r\n            if (str == \"\" || str == \"-1\") {\r\n                validateSettings.isNull.run({\r\n                    prompts: option,\r\n                    element: ele,\r\n                    isNullEle: _isNull,\r\n                    succeedEle: _succeed\r\n                },\r\n                option.isNull);\r\n            } else if (tag == 1 || tag == 2) {\r\n                return;\r\n            } else {\r\n                callback({\r\n                    prompts: option,\r\n                    element: ele,\r\n                    value: str,\r\n                    errorEle: _error,\r\n                    succeedEle: _succeed\r\n                });\r\n            }\r\n        } else {\r\n            if (typeof def == \"string\") {\r\n                ele.val(def);\r\n            }\r\n            if (type == \"checkbox\" || type == \"radio\") {\r\n                if (ele.attr(\"checked\") == true) {\r\n                    ele.attr(\"sta\", validateSettings.succeed.state);\r\n                }\r\n            }\r\n            switch (type) {\r\n            case \"text\":\r\n            case \"password\":\r\n                ele.bind(\"focus\",\r\n                function() {\r\n                    var str = ele.val();\r\n                    if (str == def) {\r\n                        ele.val(\"\");\r\n                    }\r\n                    validateSettings.onFocus.run({\r\n                        prompts: option,\r\n                        element: ele,\r\n                        value: str,\r\n                        onFocusEle: _onFocus,\r\n                        succeedEle: _succeed\r\n                    },\r\n                    option.onFocus, option.onFocusExpand);\r\n                }).bind(\"blur\",\r\n                function() {\r\n                    var str = ele.val();\r\n                    if (str == \"\") {\r\n                        ele.val(def);\r\n                    }\r\n                    if (validateRules.isNull(str)) {\r\n                        validateSettings.isNull.run({\r\n                            prompts: option,\r\n                            element: ele,\r\n                            value: str,\r\n                            isNullEle: _isNull,\r\n                            succeedEle: _succeed\r\n                        },\r\n                        \"\");\r\n                    } else {\r\n                        callback({\r\n                            prompts: option,\r\n                            element: ele,\r\n                            value: str,\r\n                            errorEle: _error,\r\n                            isNullEle: _isNull,\r\n                            succeedEle: _succeed\r\n                        });\r\n                    }\r\n                });\r\n                break;\r\n            default:\r\n                if (rel && rel == \"select\") {\r\n                    ele.bind(\"change\",\r\n                    function() {\r\n                        var str = ele.val();\r\n                        callback({\r\n                            prompts: option,\r\n                            element: ele,\r\n                            value: str,\r\n                            errorEle: _error,\r\n                            isNullEle: _isNull,\r\n                            succeedEle: _succeed\r\n                        });\r\n                    })\r\n                } else {\r\n                    ele.bind(\"click\",\r\n                    function() {\r\n                        callback({\r\n                            prompts: option,\r\n                            element: ele,\r\n                            errorEle: _error,\r\n                            isNullEle: _isNull,\r\n                            succeedEle: _succeed\r\n                        });\r\n                    })\r\n                }\r\n                break;\r\n            }\r\n        }\r\n    }\r\n})(jQuery);\r\n\r\n// 配置\r\nvar validateSettings = {\r\n    onFocus: {\r\n        state: null,\r\n        container: \"_error\",\r\n        style: \"focus\",\r\n        run: function(option, str, expands) {\r\n            if (!validateRules.checkType(option.element)) {\r\n                option.element.removeClass(validateSettings.INPUT_style2).addClass(validateSettings.INPUT_style1);\r\n            }\r\n            option.succeedEle.removeClass(validateSettings.succeed.style);\r\n            option.onFocusEle.removeClass().addClass(validateSettings.onFocus.style).html(str);\r\n            if (expands) {\r\n                expands();\r\n            }\r\n        }\r\n    },\r\n    isNull: {\r\n        state: 0,\r\n        container: \"_error\",\r\n        style: \"null\",\r\n        run: function(option, str) {\r\n            option.element.attr(\"sta\", 0);\r\n            if (!validateRules.checkType(option.element)) {\r\n                if (str == \"\") {\r\n                    option.element.removeClass(validateSettings.INPUT_style2).removeClass(validateSettings.INPUT_style1);\r\n                } else {\r\n                    option.element.removeClass(validateSettings.INPUT_style1).addClass(validateSettings.INPUT_style2);\r\n                }\r\n            }\r\n\r\n            option.succeedEle.removeClass(validateSettings.succeed.style);\r\n            if (str == \"\") {\r\n                option.isNullEle.removeClass().addClass(validateSettings.isNull.style).html(str);\r\n            } else {\r\n                option.isNullEle.removeClass().addClass(validateSettings.error.style).html(str);\r\n            }\r\n        }\r\n    },\r\n    error: {\r\n        state: 1,\r\n        container: \"_error\",\r\n        style: \"error\",\r\n        run: function(option, str) {\r\n            option.element.attr(\"sta\", 1);\r\n            if (!validateRules.checkType(option.element)) {\r\n                option.element.removeClass(validateSettings.INPUT_style1).addClass(validateSettings.INPUT_style2);\r\n            }\r\n\r\n            option.succeedEle.removeClass(validateSettings.succeed.style);\r\n            option.errorEle.removeClass().addClass(validateSettings.error.style).html(str);\r\n        }\r\n    },\r\n    succeed: {\r\n        state: 2,\r\n        container: \"_succeed\",\r\n        style: \"succeed\",\r\n        run: function(option) {\r\n            option.element.attr(\"sta\", 2);\r\n            option.errorEle.empty();\r\n            if (!validateRules.checkType(option.element)) {\r\n                option.element.removeClass(validateSettings.INPUT_style1).removeClass(validateSettings.INPUT_style2);\r\n            }\r\n\r\n            option.succeedEle.addClass(validateSettings.succeed.style);\r\n            option.errorEle.removeClass();\r\n        }\r\n    },\r\n    INPUT_style1: \"highlight1\",\r\n    INPUT_style2: \"highlight2\"\r\n}\r\n\r\n// 验证规则\r\nvar validateRules = {\r\n    isNull: function(str) {\r\n        return (str == \"\" || typeof str != \"string\");\r\n    },\r\n    betweenLength: function(str, _min, _max) {\r\n        return (str.length >= _min && str.length <= _max);\r\n    },\r\n    isUid: function(str) {\r\n        return new RegExp(validateRegExp.username).test(str);\r\n    },\r\n    fullNumberName: function(str) {\r\n        return new RegExp(validateRegExp.fullNumber).test(str);\r\n    },\r\n    isPwd: function(str) {\r\n        return /^.*([\\W_a-zA-z0-9-])+.*$/i.test(str);\r\n    },\r\n    isPwdRepeat: function(str1, str2) {\r\n        return (str1 == str2);\r\n    },\r\n    isEmail: function(str) {\r\n        return new RegExp(validateRegExp.email).test(str);\r\n    },\r\n    isTel: function(str) {\r\n        return new RegExp(validateRegExp.tel).test(str);\r\n    },\r\n    isMobile: function(str) {\r\n        return new RegExp(validateRegExp.mobile).test(str);\r\n    },\r\n    checkType: function(element) {\r\n        return (element.attr(\"type\") == \"checkbox\" || element.attr(\"type\") == \"radio\" || element.attr(\"rel\") == \"select\");\r\n    },\r\n    isRealName: function(str) {\r\n        return new RegExp(validateRegExp.realname).test(str);\r\n    },\r\n    isCompanyname: function(str) {\r\n        return new RegExp(validateRegExp.companyname).test(str);\r\n    },\r\n    isCompanyaddr: function(str) {\r\n        return new RegExp(validateRegExp.companyaddr).test(str);\r\n    },\r\n    isCompanysite: function(str) {\r\n        return new RegExp(validateRegExp.companysite).test(str);\r\n    },\r\n    simplePwd: function(str) {\r\n        // var pin = $(\"#regName\").val();\r\n        // if (pin.length > 0) {\r\n        // pin = strTrim(pin);\r\n        // if (pin == str) {\r\n        // return true;\r\n        // }\r\n        // }\r\n        return pwdLevel(str) == 1;\r\n    },\r\n    weakPwd: function(str) {\r\n        for (var i = 0; i < weakPwdArray.length; i++) {\r\n            if (weakPwdArray[i] == str) {\r\n                return true;\r\n            }\r\n        }\r\n        return false;\r\n    }\r\n};\r\n// 验证文本\r\nvar validatePrompt = {\r\n    regName: {\r\n        onFocus: \"6-20位字符，支持中英文、数字及\\\"-\\\"、\\\"_\\\"组合\",\r\n        succeed: \"\",\r\n        isNull: \"请输入用户名\",\r\n        error: {\r\n            beUsed: \"该用户名已被使用，请重新输入。如果您是该用户，请立刻<a href='https://passport.jd.com/uc/login' class='flk13'>登录</a>\",\r\n            badLength: \"用户名长度只能在6-20位字符之间\",\r\n            badFormat: \"用户名只能由中文、英文、数字及\\\"-\\\"、\\\"_\\\"组成\",\r\n            fullNumberName: \"用户名不能是纯数字，请重新输入\"\r\n        },\r\n        onFocusExpand: function() {\r\n            $(\"#morePinDiv\").removeClass().addClass(\"intelligent-error hide\");\r\n        }\r\n    },\r\n\r\n    pwd: {\r\n        onFocus: \"<span>6-20位字符，可使用字母、数字或符号的组合，不建议使用纯数字，纯字母，纯符号</span>\",\r\n        succeed: \"\",\r\n        isNull: \"请输入密码\",\r\n        error: {\r\n            badLength: \"密码长度只能在6-20位字符之间\",\r\n            badFormat: \"密码只能由英文、数字及标点符号组成\",\r\n            simplePwd: \"<span>该密码比较简单，有被盗风险，建议您更改为复杂密码，如字母+数字的组合</span>\",\r\n            weakPwd: \"<span>该密码比较简单，有被盗风险，建议您更改为复杂密码</span>\"\r\n        },\r\n        onFocusExpand: function() {\r\n            $(\"#pwdstrength\").hide();\r\n        }\r\n    },\r\n    pwdRepeat: {\r\n        onFocus: \"请再次输入密码\",\r\n        succeed: \"\",\r\n        isNull: \"请确认密码\",\r\n        error: {\r\n            badLength: \"密码长度只能在6-20位字符之间\",\r\n            badFormat2: \"两次输入密码不一致\",\r\n            badFormat1: \"密码只能由英文、数字及标点符号组成\"\r\n        }\r\n    },\r\n    phone: {\r\n        onFocus: \"请输入手机号码\",\r\n        succeed: \"\",\r\n        isNull: \"请输入手机号码\",\r\n        error: \"\"\r\n    },\r\n    protocol: {\r\n        onFocus: \"\",\r\n        succeed: \"\",\r\n        isNull: \"请先阅读并同意《京东用户注册协议》\",\r\n        error: \"\"\r\n    },\r\n    empty: {\r\n        onFocus: \"\",\r\n        succeed: \"\",\r\n        isNull: \"\",\r\n        error: \"\"\r\n    }\r\n};\r\n\r\nvar nameold, morePinOld, emailResult;\r\nvar namestate = false;\r\n// 回调函数\r\nvar validateFunction = {\r\n    regName: function(option) {\r\n        $(\"#intelligent-regName\").empty().hide();\r\n        var regName = option.value;\r\n        if (validateRules.isNull(regName) || regName == '') {\r\n            option.element.removeClass(validateSettings.INPUT_style2).removeClass(validateSettings.INPUT_style1);\r\n            $(\"#regName_error\").removeClass().empty();\r\n            return;\r\n        }\r\n        $(\"#authcodeDiv\").show();\r\n        checkPin(option);\r\n    },\r\n\r\n    pwd: function(option) {\r\n        var str1 = option.value;\r\n        var regName = $(\"#regName\").val();\r\n        if ((validateRules.isNull(regName) == false) && (regName != '') && regName == str1) {\r\n            $(\"#pwdstrength\").hide();\r\n            validateSettings.error.run(option, \"<span>您的密码与账户信息太重合，有被盗风险，请换一个密码</span>\");\r\n            return;\r\n        }\r\n\r\n        //var str2 = $(\"#pwdRepeat\").val();\r\n        $(\"#pwdRepeat\").blur();\r\n        var format = validateRules.isPwd(option.value);\r\n        var length = validateRules.betweenLength(option.value, 6, 20);\r\n\r\n        $(\"#pwdstrength\").hide();\r\n        if (!length && format) {\r\n            validateSettings.error.run(option, option.prompts.error.badLength);\r\n        } else if (!length && !format) {\r\n            validateSettings.error.run(option, option.prompts.error.badFormat);\r\n        } else if (length && !format) {\r\n            validateSettings.error.run(option, option.prompts.error.badFormat);\r\n        } else if (validateRules.weakPwd(str1)) {\r\n            validateSettings.error.run(option, option.prompts.error.weakPwd);\r\n        } else {\r\n\r\n            validateSettings.succeed.run(option);\r\n            validateFunction.pwdstrength();\r\n            if (validateRules.simplePwd(str1)) {\r\n                $(\"#pwd_error\").removeClass().addClass(\"focus\");\r\n                $(\"#pwd_error\").empty().html(option.prompts.error.simplePwd);\r\n                return;\r\n            }\r\n        }\r\n        //\t\tif (str2 == str1) {\r\n        //\t\t\t$(\"#pwdRepeat\").focus();\r\n        //\t\t}\r\n    },\r\n    pwdRepeat: function(option) {\r\n        var str1 = option.value;\r\n        var str2 = $(\"#pwd\").val();\r\n        var length = validateRules.betweenLength(option.value, 6, 20);\r\n        var format2 = validateRules.isPwdRepeat(str1, str2);\r\n        var format1 = validateRules.isPwd(str1);\r\n        if (!length) {\r\n            validateSettings.error.run(option, option.prompts.error.badLength);\r\n        } else {\r\n            if (!format1) {\r\n                validateSettings.error.run(option, option.prompts.error.badFormat1);\r\n            } else {\r\n                if (!format2) {\r\n                    validateSettings.error.run(option, option.prompts.error.badFormat2);\r\n                } else {\r\n                    validateSettings.succeed.run(option);\r\n                }\r\n            }\r\n        }\r\n    },\r\n    // mobileCode: function(option) {\r\n    // var bool = validateRules.isNull(option.value);\r\n    // if (bool) {\r\n    // validateSettings.error.run(option, option.prompts.error);\r\n    // return;\r\n    // } else {\r\n    // validateSettings.succeed.run(option);\r\n    // }\r\n    // },\r\n    protocol: function(option) {\r\n        if (option.element.attr(\"checked\") == true) {\r\n            option.element.attr(\"sta\", validateSettings.succeed.state);\r\n            option.errorEle.html(\"\");\r\n        } else {\r\n            option.element.attr(\"sta\", validateSettings.isNull.state);\r\n            option.succeedEle.removeClass(validateSettings.succeed.style);\r\n        }\r\n    },\r\n    pwdstrength: function() {\r\n        var element = $(\"#pwdstrength\");\r\n        var value = $(\"#pwd\").val();\r\n        if (value.length >= 6 && validateRules.isPwd(value)) {\r\n            $(\"#pwd_error\").removeClass('focus');\r\n            $(\"#pwd_error\").empty();\r\n            element.show();\r\n            var level = pwdLevel(value);\r\n            switch (level) {\r\n            case 1:\r\n                element.removeClass().addClass(\"strengthA\");\r\n                break;\r\n            case 2:\r\n                element.removeClass().addClass(\"strengthB\");\r\n                break;\r\n            case 3:\r\n                element.removeClass().addClass(\"strengthC\");\r\n                break;\r\n            default:\r\n                break;\r\n            }\r\n        } else {\r\n            element.hide();\r\n        }\r\n    },\r\n    checkGroup: function(elements) {\r\n        for (var i = 0; i < elements.length; i++) {\r\n            if (elements[i].checked) {\r\n                return true;\r\n            }\r\n        }\r\n        return false;\r\n    },\r\n    checkSelectGroup: function(elements) {\r\n        for (var i = 0; i < elements.length; i++) {\r\n            if (elements[i].value == -1) {\r\n                return false;\r\n            }\r\n        }\r\n        return true;\r\n    },\r\n\r\n    FORM_submit: function(elements) {\r\n        var bool = true;\r\n        for (var i = 0; i < elements.length; i++) {\r\n            if ($(elements[i]).attr(\"sta\") == 2) {\r\n                bool = true;\r\n            } else {\r\n                bool = false;\r\n                break;\r\n            }\r\n        }\r\n\r\n        return bool;\r\n    }\r\n};\r\n\r\n// 检查用户名\r\nvar checkpin = -10;\r\nfunction checkPin(option) {\r\n    var pin = option.value;\r\n    if (!validateRules.betweenLength(pin.replace(/[^\\x00-\\xff]/g, \"**\"), 6, 20)) {\r\n        validateSettings.error.run(option, option.prompts.error.badLength);\r\n        return false;\r\n    }\r\n\r\n    if (!validateRules.isUid(pin)) {\r\n        validateSettings.error.run(option, option.prompts.error.badFormat);\r\n        return;\r\n    }\r\n    if (validateRules.fullNumberName(pin)) {\r\n        validateSettings.error.run(option, option.prompts.error.fullNumberName);\r\n        return;\r\n    }\r\n    if (!namestate || nameold != pin) {\r\n        if (nameold != pin) {\r\n            nameold = pin;\r\n            option.errorEle.html(\"<em style='color:#999'>检验中……</em>\");\r\n            $.ajax({\r\n            \turl : \"http://sso.migo.com/user/check/\"+escape(pin)+\"/1?r=\" + Math.random(),\r\n            \tdataType : \"jsonp\",\r\n            \tsuccess : function(data) {\r\n                    checkpin = data.data?\"1\":\"0\";\r\n                    if (!data.data) {\r\n                        validateSettings.succeed.run(option);\r\n                        namestate = true;\r\n                    }else {\r\n                        validateSettings.error.run(option, \"该用户名已占用！\");\r\n                        namestate = false;\r\n                    }\r\n                }\r\n            });\r\n        } else {\r\n\r\n            if (checkpin == 2) {\r\n                validateSettings.error.run(option, \"用户名包含了非法词\");\r\n            } else {\r\n                validateSettings.error.run(option, \"<span>\" + option.prompts.error.beUsed.replace(\"{1}\", option.value) + \"</span>\");\r\n                if (morePinOld != null && morePinOld.length > 0) {\r\n                    $(\"#morePinDiv\").removeClass().addClass(\"intelligent-error\");\r\n                }\r\n            }\r\n            namestate = false;\r\n        }\r\n    } else {\r\n        validateSettings.succeed.run(option);\r\n    }\r\n}\r\n\r\nfunction selectMe(option) {\r\n    $(\"#morePinDiv\").removeClass().addClass(\"intelligent-error hide\");\r\n    $(\"#regName\").val(option.value);\r\n    $(\"#regName\").blur();\r\n}\r\n// 主流程发送手机验证码\r\nfunction sendMobileCode() {\r\n    if ($(\"#sendMobileCode\").attr(\"disabled\")) {\r\n        return;\r\n    }\r\n    mobileCodeHide();\r\n    var mobile = $(\"#phone\").val();\r\n    if (validateRules.isNull(mobile)) {\r\n        $(\"#phone_error\").removeClass().addClass(\"error\").html(\"请输入手机号\");\r\n        $(\"#phone_error\").show();\r\n        return;\r\n    }\r\n    if (!validateRules.isMobile(mobile)) {\r\n        $(\"#phone_error\").removeClass().addClass(\"error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone_error\").show();\r\n        return;\r\n    }\r\n    $('#mobileCode').removeClass(\"highlight2\");\r\n    // 检测手机号码是否存在\r\n    $.ajax({\r\n    \turl : \"http://sso.migo.com/user/check/\"+mobile+\"/2?r=\" + Math.random(),\r\n    \tdataType : \"jsonp\",\r\n    \tsuccess : function(result) {\r\n            if (!result.data) {\r\n                $('#phone').removeClass().addClass(\"text\");\r\n                $(\"#phone_error\").html(\"\");\r\n                $(\"#phone_error\").hide();\r\n                $(\"#phone_succeed\").removeClass().addClass(\"blank succeed\");\r\n                mobileFlags = true;\r\n               // sendmCode();\r\n            }\r\n\r\n            if (result.data) {\r\n                $('#phone').removeClass().addClass('text highlight3');\r\n                $(\"#phone_error\").html(\"手机号已绑定，请更换号码或与原账号解绑\");\r\n                $(\"#phone_error\").removeClass().addClass(\"cue\");\r\n                $(\"#phone_error\").show();\r\n                $(\"#phone_succeed\").removeClass().addClass(\"blank cue-ico\");\r\n                mobileFlags = false;\r\n                var state = $(\"#state\").val();\r\n                if (state == \"unbind\") {\r\n                    sendmCode();\r\n                } else {\r\n                    mobileEngagedStyle();\r\n                }\r\n            }\r\n\r\n//            if (result.success == 2) {\r\n//                $('#phone').removeClass().addClass('text highlight2');\r\n//                $(\"#phone_error\").html(\"该手机号已重新注册并绑定，3天内不可改绑\");\r\n//                $(\"#phone_error\").removeClass().addClass(\"error\");\r\n//                $(\"#phone_error\").show();\r\n//                $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n//                mobileFlags = false;\r\n//            }\r\n        }\r\n    });\r\n\r\n}\r\n// 手机注册发送验证码target\r\nfunction sendmCode() {\r\n    if ($(\"#sendMobileCode\").attr(\"disabled\") || delayFlag == false) {\r\n        return;\r\n    }\r\n    var state = $(\"#state\").val();\r\n    if (state != \"unbind\") {\r\n        $(\"#rebind\").remove();\r\n        $(\"#mobileCodeDiv\").show();\r\n    }\r\n    $(\"#sendMobileCode\").attr(\"disabled\", \"disabled\");\r\n    jQuery.ajax({\r\n        type: \"get\",\r\n        url: \"../notifyuser/mobileCode?state=\" + state + \"&mobile=\" + $(\"#phone\").val() + \"&r=\" + Math.random(),\r\n        success: function(result) {\r\n            if (result) {\r\n                var obj = eval(result);\r\n                if (obj.rs == 1 || obj.remain) {\r\n                    $(\"#mobileCode_error\").addClass(\"hide\");\r\n                    $(\"#dyMobileButton\").html(\"120秒后重新获取\");\r\n                    if (obj.remain) {\r\n                        $(\"#mobileCodeSucMessage\").empty().html(obj.remain);\r\n                    } else {\r\n                        if (state == \"unbind\") {\r\n                            $(\"#mobileCode_error\").removeClass().addClass(\"cue\").empty().html(\"校验码已发送,注册成功后手机号将与原帐号解绑\");\r\n                            $(\"#mobileCode_error\").show();\r\n                        } else {\r\n                            $(\"#mobileCode_error\").removeClass().empty().html(\"验证码已发送，请查收短信。\");\r\n                            $(\"#mobileCode_error\").show();\r\n                        }\r\n                    }\r\n\r\n                    setTimeout(countDown, 1000);\r\n                    $(\"#sendMobileCode\").removeClass().addClass(\"btn btn-15\").attr(\"disabled\", \"disabled\");\r\n                    $(\"#mobileCode\").removeAttr(\"disabled\");\r\n                }\r\n                if (obj.rs == -1) {\r\n                    mobileCodeError(\"网络繁忙，请稍后重新获取验证码\");\r\n                }\r\n                if (obj.info) {\r\n                    if (obj.info == \"该手机号已被使用，请更换号码\") {\r\n                        mobileEngagedStyle();\r\n                    } else {\r\n                        mobileCodeError(obj.info);\r\n                    }\r\n\r\n                }\r\n\r\n                if (obj.rs == -2) {\r\n                    mobileCodeError(\"网络繁忙，请稍后重新获取验证码\");\r\n                }\r\n            }\r\n        }\r\n    });\r\n}\r\n// 邮箱验证发送验证码target\r\nfunction sendmCode1() {\r\n    if ($(\"#sendMobileCode1\").attr(\"disabled\") || delayFlag1 == false) {\r\n        return;\r\n    }\r\n    $(\"#rebind1\").remove();\r\n    $(\"#mobileCodeDiv1\").show();\r\n    $(\"#sendMobileCode1\").attr(\"disabled\", \"disabled\");\r\n    var state = $(\"#state\").val();\r\n    jQuery.ajax({\r\n        type: \"get\",\r\n        url: \"../notifyuser/mobileCode?state=\" + state + \"&mobile=\" + $(\"#phone1\").val() + \"&r=\" + Math.random(),\r\n        success: function(result) {\r\n            if (result) {\r\n                var obj = eval(result);\r\n                if (obj.rs == 1 || obj.remain) {\r\n                    $(\"#mobileCode1_error\").addClass(\"hide\");\r\n                    $(\"#dyMobileButton1\").html(\"120秒后重新获取\");\r\n                    if (obj.remain) {\r\n                        $(\"#mobileCodeSucMessage1\").empty().html(obj.remain);\r\n                    } else {\r\n                        if (state == \"unbind\") {\r\n                            $(\"#mobileCodeSucMessage1\").removeClass().addClass(\"cue\").empty().html(\"校验码已发送,注册成功后手机号将与原帐号解绑\");\r\n                        } else {\r\n                            $(\"#mobileCodeSucMessage1\").empty().html(\"验证码已发送，请查收短信。\");\r\n                        }\r\n                    }\r\n\r\n                    setTimeout(countDown1, 1000);\r\n                    $(\"#sendMobileCode1\").removeClass().addClass(\"btn btn-15\").attr(\"disabled\", \"disabled\");\r\n                    $(\"#mobileCode1\").removeAttr(\"disabled\");\r\n                }\r\n                if (obj.rs == -1) {\r\n                    $(\"#mobileCode1_error\").removeClass().addClass(\"error\").html(\"网络繁忙，请稍后重新获取验证码\");\r\n                    $(\"#sendMobileCode1\").removeClass().addClass(\"btn\").removeAttr(\"disabled\");\r\n                }\r\n                if (obj.info) {\r\n                    if (obj.info == \"该手机号已被使用，请更换号码\") {\r\n                        mobileEngagedStyle1();\r\n                    } else {\r\n                        $(\"#mobileCode1_error\").html(obj.info);\r\n                        $(\"#mobileCode1_error\").removeClass().addClass(\"error\");\r\n                        $(\"#mobileCode1_error\").show();\r\n                        $(\"#sendMobileCode1\").removeClass().addClass(\"btn\").removeAttr(\"disabled\");\r\n                    }\r\n                }\r\n\r\n                if (obj.rs == -2) {\r\n                    $(\"#mobileCode1_error\").html(\"网络繁忙，请稍后重新获取验证码\");\r\n                    $(\"#mobileCode1_error\").removeClass().addClass(\"error\");\r\n                    $(\"#mobileCode1_error\").show();\r\n                    $(\"#sendMobileCode1\").removeClass().addClass(\"btn\").removeAttr(\"disabled\");\r\n                }\r\n            }\r\n        }\r\n    });\r\n}\r\n// 次流程发送手机验证码\r\nfunction sendMobileCode1() {\r\n    if ($(\"#sendMobileCode1\").attr(\"disabled\")) {\r\n        return;\r\n    }\r\n    var mobile = $(\"#phone1\").val();\r\n    if (validateRules.isNull(mobile)) {\r\n        $('#phone1').addClass('highlight2');\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\").html(\"请输入手机号\");\r\n        $(\"#phone1_error\").show();\r\n        return;\r\n    }\r\n    if (!validateRules.isMobile(mobile)) {\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone1_error\").show();\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n        return;\r\n    }\r\n\r\n    var mobile = $(\"#phone1\").val();\r\n    if (mobile == \"\") {\r\n        $('#phone1').removeClass().addClass(\"text\");\r\n        $(\"#phone1_error\").hide();\r\n        $('#phone1_succeed').removeClass('error-ico');\r\n        mobileFlag = false;\r\n        return;\r\n    }\r\n    if (!validateRules.isMobile(mobile)) {\r\n        $(\"#phone1_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n        $(\"#phone1_error\").show();\r\n        $('#phone1').removeClass(\"highlight1\").addClass('highlight2');\r\n        mobileFlag = false;\r\n        return;\r\n    }\r\n    $(\"#mobileCode1_error\").removeClass().empty();\r\n    $(\"#mobileCode1_error\").hide();\r\n    $('#mobileCode1').removeClass(\"highlight2\");\r\n    \r\n    // 检测手机号码是否存在\r\n    $.ajax({\r\n    \turl : \"http://sso.migo.com/user/check/\"+mobile+\"/2?r=\" + Math.random(),\r\n    \tdataType : \"jsonp\",\r\n    \tsuccess : function(result) {\r\n            if (!result.data) {\r\n                $('#phone1').removeClass().addClass(\"text\");\r\n                $(\"#phone1_error\").html(\"\");\r\n                $(\"#phone1_error\").hide();\r\n                $(\"#phone1_succeed\").removeClass().addClass(\"blank succeed\");\r\n                mobileFlags = true;\r\n                sendmCode1();\r\n                return;\r\n            }\r\n            if (result.data) {\r\n                $('#phone1').removeClass().addClass('text highlight3');\r\n                $(\"#phone1_error\").html(\"手机号已绑定，请更换号码或与原账号解绑\");\r\n                $(\"#phone1_error\").removeClass().addClass(\"cue\");\r\n                $(\"#phone1_error\").show();\r\n                $(\"#phone1_succeed\").removeClass().addClass(\"blank cue-ico\");\r\n                mobileFlags = false;\r\n                var state = $(\"#state\").val();\r\n                if (state == \"unbind\") {\r\n                    sendmCode1();\r\n                } else {\r\n                    mobileEngagedStyle1();\r\n                }\r\n                return;\r\n            }\r\n//            if (result.success == 2) {\r\n//                $('#phone1').removeClass().addClass('text highlight2');\r\n//                $(\"#phone1_error\").html(\"该手机号已重新注册并绑定，3天内不可改绑\");\r\n//                $(\"#phone1_error\").removeClass().addClass(\"error\");\r\n//                $(\"#phone1_error\").show();\r\n//                $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n//                // $(\"#sendMobileCode1\").attr(\"disabled\", \"disabled\");\r\n//                mobileFlags = false;\r\n//            }\r\n        }\r\n    });\r\n}\r\n\r\nvar oldEmail, emailCheckResult;\r\n// 邮箱验证信息填写\r\nfunction sendRegMail() {\r\n    var mail = $(\"#mail\").val();\r\n    var authcode1 = $(\"#authcode1\").val();\r\n    if (mail == \"\") {\r\n        $(\"#mail_error\").removeClass().addClass(\"error\").html(\"请输入邮箱\");\r\n        $(\"#mail_error\").show();\r\n        $('#mail_succeed').addClass('error-ico');\r\n        $('#mail').addClass('highlight2');\r\n        return;\r\n    }\r\n    var email = strTrim(mail);\r\n    var format = validateRules.isEmail(email);\r\n    var format2 = validateRules.betweenLength(email, 0, 50);\r\n    if (!format) {\r\n        $(\"#mail_error\").html(\"邮箱地址不正确，请重新输入\");\r\n        $('#mail_succeed').addClass('error-ico');\r\n        $('#mail').addClass('highlight2');\r\n        return;\r\n    } else {\r\n        if (!format2) {\r\n            $('#mail_error').removeClass().addClass(\"error\");\r\n            $(\"#mail_error\").html(\"邮箱地址长度应在4-50个字符之间\");\r\n            $('#mail_succeed').addClass('error-ico');\r\n            $('#mail').removeClass(\"highlight1\").addClass('highlight2');\r\n            return;\r\n        } else {\r\n            // if (oldEmail == email) {\r\n            // if (emailCheckResult == 1) {\r\n            // emailEngagedStyle();\r\n            // return;\r\n            // }\r\n            // if (emailCheckResult == 2) {\r\n            // emailFormatErrorStyle();\r\n            // return;\r\n            // }\r\n            // return;\r\n            // }\r\n            // oldEmail = email;\r\n            $.getJSON(\"../validateuser/isEmailEngaged?email=\" + escape(email) + \"&r=\" + Math.random(),\r\n            function(result) {\r\n                emailResult = result.success;\r\n                emailCheckResult = emailResult;\r\n                // 邮箱未被验证 可注册\r\n                if (emailResult == 0) {\r\n                    $(\"#emailMg\").val(email);\r\n                    $(\"#authcodeMg\").val(authcode1);\r\n                    jdThickBoxclose();\r\n                    $(\"#dyMobileButton1\").html(\"获取短信验证码\");\r\n                    jQuery.jdThickBox({\r\n                        type: \"text\",\r\n                        width: 500,\r\n                        height: 260,\r\n                        source: $('#box01').html(),\r\n                        title: \"验证手机\",\r\n                        _close_val: \"×\",\r\n                        _con: \"opinioncon\",\r\n                        _titleOn: true\r\n                    });\r\n                }\r\n                if (emailResult == 1) {\r\n                    emailEngagedStyle();\r\n                    return;\r\n                }\r\n                if (emailResult == 2) {\r\n                    emailFormatErrorStyle();\r\n                    return;\r\n                }\r\n            });\r\n\r\n        }\r\n    }\r\n}\r\n\r\nfunction emailEngagedStyle() {\r\n    $('#mail_succeed').addClass('error-ico');\r\n    $('#mail_error').removeClass().addClass(\"error\");\r\n    $(\"#mail_error\").html(\"该邮箱已被使用，请更换其它邮箱\");\r\n}\r\n\r\nfunction emailFormatErrorStyle() {\r\n    $('#mail_succeed').addClass('error-ico');\r\n    $('#mail_error').removeClass().addClass(\"error\");\r\n    $(\"#mail_error\").html(\"邮箱地址不正确，请重新输入\");\r\n}\r\n\r\n// 邮箱验证 验证手机 提交注册\r\nfunction mobileReg() {\r\n    var mail = $(\"#emailMg\").val();\r\n    var authcode = $(\"#authcodeMg\").val();\r\n    var email = strTrim(mail);\r\n    var format = validateRules.isEmail(email);\r\n    var format2 = validateRules.betweenLength(email, 0, 50);\r\n    if (!format) {\r\n        $(\"#mail_error\").html(\"邮箱地址不正确，请重新输入\");\r\n        return;\r\n    } else if (!format2) {\r\n        $(\"#mail_error\").html(\"邮箱地址长度应在4-50个字符之间\");\r\n        return;\r\n    }\r\n\r\n    var mobile = $(\"#phone1\").val();\r\n    var phonevalue = $(\"#phone\").val();\r\n    var mobileCode = $(\"#mobileCode1\").val();\r\n    if (mobile == \"\") {\r\n        $('#phone1').addClass('highlight2');\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\").html(\"请输入手机号\");\r\n        $(\"#phone1_error\").show();\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n    }\r\n\r\n    if (mobileCode == \"\") {\r\n        $('#mobileCode1').addClass('highlight2');\r\n        $(\"#mobileCodeSucMessage1\").empty();\r\n        $(\"#mobileCodeSucMessage1\").removeClass();\r\n        $(\"#mobileCode1_error\").html(\"请输入短信验证码\");\r\n        $(\"#mobileCode1_error\").removeClass().addClass(\"error\");\r\n        $(\"#mobileCode1_error\").show();\r\n        return;\r\n    }\r\n    if (mobile == \"\") {\r\n        $('#phone1').addClass('highlight2');\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\").html(\"请输入手机号\");\r\n        $(\"#phone1_error\").show();\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n        return;\r\n    } else if (validateRules.isNull(mobile) || !validateRules.isMobile(mobile)) {\r\n        $(\"#phone1_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n        $(\"#phone1_error\").show();\r\n        $('#phone1').removeClass().addClass('text highlight2');\r\n        $(\"#mobileCodeDiv1\").show();\r\n        mobileFlag = false;\r\n        return;\r\n    }\r\n    var state = $(\"#state\").val();\r\n    if (state == \"unbind\") {\r\n        mobileFlag = true;\r\n    }\r\n    if (mobileFlag) {\r\n        var paramList = $(\"#personRegForm\").serialize() + \"&email=\" + email;\r\n        var temp = paramList.replace(\"phone=\" + phonevalue, \"phone=\" + mobile);\r\n        var params = temp.replace(\"mobileCode=\", \"mobileCode=\" + mobileCode);\r\n        params = params.replace(\"authcode=\", \"authcode=\" + authcode);\r\n        $.ajax({\r\n            type: \"POST\",\r\n            url: \"../register/sendRegEmail?r=\" + Math.random() + \"&\" + location.search.substring(1),\r\n            contentType: \"application/x-www-form-urlencoded; charset=utf-8\",\r\n            data: params,\r\n            success: function(result) {\r\n                var obj = eval(result);\r\n                var emailResult = obj.success;\r\n                var key = obj.k;\r\n                if (emailResult == 0) {\r\n                    jdThickBoxclose();\r\n                    jQuery.jdThickBox({\r\n                        type: \"text\",\r\n                        width: 510,\r\n                        height: 280,\r\n                        source: '<div class=\"thickbox-tip fz14\">' + '<div class=\"icon-box\">' + '<span class=\"succ-icon m-icon\"></span>' + '<div class=\"item-fore\">' + '<div class=\"ftx-02 info-succ\">账户更安全购物更放心</div>' + '</div>' + '</div>' + '<div class=\"msg-txt\">' + '系统已向您的邮箱&nbsp;<strong class=\"ftx-01\">' + $(\"#emailMg\").val() + '</strong>&nbsp;发送了一封验证邮件，请您登录邮箱，点击邮件中的链接完成邮箱验证。如果超过2分钟未收到邮件，您可以<a href=\"#none\" onclick=\"reSendEmail(\\'' + $(\"#emailMg\").val() + '\\',\\'' + key + '\\');\" class=\"ftx-05\">重新发送</a>' + '</div>' + '<div class=\"mt10 ftx-01\"> <span id=\"reSendEmailSuccess\"></span></div>' + '<div class=\"mt20\">' + '<a href=\"#\" id=\"emailLogin\" class=\"btn-red\">登录邮箱</a>'\r\n                        // +'<a href=\"#none\"\r\n                        // onclick=\"changeEmail();\"\r\n                        // class=\"ftx-05 fr\">返回邮箱修改</a>'\r\n                        + '<span class=\"clr\"></span>' + '</div>' + '</div>',\r\n                        title: \"温馨提示\",\r\n                        _close_val: \"×\",\r\n                        _con: \"opinioncon\",\r\n                        _titleOn: true\r\n                    });\r\n\r\n                    initEmailLoginUrl(email);\r\n                } else {\r\n                    $(\"#mobileCodeSucMessage1\").removeClass().empty();\r\n                    $(\"#mobileCode1_error\").html(obj.info);\r\n                    $(\"#mobileCode1_error\").removeClass().addClass(\"error\");\r\n                    $(\"#mobileCode1_error\").show();\r\n                    $(\"#sendMobileCode1\").removeClass().addClass(\"btn\").removeAttr(\"disabled\");\r\n                }\r\n            }\r\n        });\r\n    }\r\n}\r\nfunction mobileCodeError(content) {\r\n    $(\"#mobileCode_error\").html(content);\r\n    $(\"#mobileCode_error\").removeClass().addClass(\"error\");\r\n    $(\"#mobileCode_error\").show();\r\n    $(\"#sendMobileCode\").removeClass().addClass(\"btn\").removeAttr(\"disabled\");\r\n}\r\nfunction mobileCodeHide() {\r\n    $(\"#mobileCode_error\").html(\"\");\r\n    $(\"#mobileCode_error\").removeClass().addClass(\"error\");\r\n    $(\"#mobileCode_error\").hide();\r\n}\r\nvar delayTime = 120;\r\nvar delayFlag = true;\r\nfunction countDown() {\r\n    delayTime--;\r\n    $(\"#sendMobileCode\").attr(\"disabled\", \"disabled\");\r\n    $(\"#dyMobileButton\").html(delayTime + '秒后重新获取');\r\n    if (delayTime == 1) {\r\n        delayTime = 120;\r\n        $(\"#mobileCodeSucMessage\").removeClass().empty();\r\n        $(\"#dyMobileButton\").html(\"获取短信验证码\");\r\n        $(\"#mobileCode_error\").addClass(\"hide\");\r\n        $(\"#sendMobileCode\").removeClass().addClass(\"btn\").removeAttr(\"disabled\");\r\n        delayFlag = true;\r\n    } else {\r\n        delayFlag = false;\r\n        setTimeout(countDown, 1000);\r\n    }\r\n}\r\nvar delayTime1 = 120;\r\nvar delayFlag1 = true;\r\nfunction countDown1() {\r\n    delayTime1--;\r\n    $(\"#sendMobileCode1\").attr(\"disabled\", \"disabled\");\r\n    $(\"#dyMobileButton1\").html(delayTime1 + '秒后重新获取');\r\n    if (delayTime1 == 1) {\r\n        delayTime1 = 120;\r\n        $(\"#mobileCodeSucMessage1\").removeClass().empty();\r\n        $(\"#dyMobileButton1\").html(\"获取短信验证码\");\r\n        $(\"#mobileCode1_error\").removeClass().empty();\r\n        $(\"#mobileCode1_error\").hide();\r\n        $(\"#sendMobileCode1\").removeClass().addClass(\"btn\").removeAttr(\"disabled\");\r\n        delayFlag1 = true;\r\n    } else {\r\n        delayFlag1 = false;\r\n        countDown1.timer = setTimeout(countDown1, 1000);\r\n    }\r\n}\r\ncountDown1.timer = '';\r\nfunction strTrim(str) {\r\n    return str.replace(/(^\\s*)|(\\s*$)/g, \"\");\r\n}\r\n\r\n$(\"#regName\").blur(function() {\r\n    setTimeout(function() {\r\n        if ($(\"#schoolid\").val() == \"\") {\r\n            $(\"#schoolinput\").val(\"\");\r\n            $(\"#hnschool\").val(\"-1\");\r\n            $(\"#hnschool\").attr(\"sta\", 0);\r\n            $(\"#schoolinput_succeed\").removeClass(\"succeed\");\r\n        } else {\r\n            $(\"#hnschool\").val(\"1\");\r\n            $(\"#hnschool\").attr(\"sta\", 2);\r\n            $(\"#schoolinput_error\").html(\"\");\r\n            $(\"#schoolinput_succeed\").addClass(\"succeed\");\r\n        }\r\n        $('#intelligent-school').hide().empty();\r\n        $(\"#hnseli\").val(\"-1\");\r\n    },\r\n    200)\r\n})\r\n\r\nfunction showHideProtocol() {\r\n    var protocolNode = $('.protocol-box');\r\n    if (!protocolNode.is(':hidden')) {\r\n        protocolNode.hide();\r\n    } else {\r\n        protocolNode.show();\r\n    }\r\n    return false;\r\n}\r\n\r\nfunction validateRegName() {\r\n    var loginName = $(\"#regName\").val();\r\n    if (validateRules.isNull(loginName) || loginName == '') {\r\n        $(\"#regName\").val(\"\");\r\n        $(\"#regName\").attr({\r\n            \"class\": \"text highlight2\"\r\n        });\r\n        $(\"#regName_error\").html(\"请输入用户名\").show().attr({\r\n            \"class\": \"error\"\r\n        });\r\n        return false;\r\n    }\r\n    return true;\r\n}\r\n$(\"#regist .tab li\").hover(function() {\r\n    if ($(this).hasClass(\"curr\")) {} else {\r\n        $(this).addClass(\"new\");\r\n    }\r\n},\r\nfunction() {\r\n    if ($(this).hasClass(\"curr\")) {} else {\r\n        $(this).removeClass(\"new\");\r\n    }\r\n})\r\n\r\n$(\"#registsubmit\").hover(function() {\r\n    $(this).addClass(\"hover-btn\")\r\n},\r\nfunction() {\r\n\r\n    $(this).removeClass(\"hover-btn\")\r\n})\r\n\r\n// 主流程手机获得焦点事件\r\nfunction phoneFocus() {\r\n    var mobile = $(\"#phone\").val();\r\n    if (oldMobile == mobile && mobile != \"\") {\r\n        return;\r\n    }\r\n    $(\"#phone_succeed\").removeClass(\"blank succeed\");\r\n    $('#phone').removeClass().addClass('text highlight1');\r\n    $(\"#phone_error\").removeClass().addClass(\"focus\").html(\"完成验证后，您可以用该手机号登录和找回密码\");\r\n    $(\"#phone_error\").show();\r\n    $('#phone_succeed').removeClass('error-ico');\r\n}\r\n//主流程手机获得焦点事件\r\nfunction phoneOtherFocus() {\r\n    var mobile = $(\"#phone\").val();\r\n    if (oldMobile == mobile && mobile != \"\") {\r\n        return;\r\n    }\r\n    $(\"#phone_succeed\").removeClass(\"blank succeed\");\r\n    $('#phone').removeClass().addClass('text highlight1');\r\n    $(\"#phone_error\").removeClass().addClass(\"focus\").html(\"请输入手机号码\");\r\n    $(\"#phone_error\").show();\r\n    $('#phone_succeed').removeClass('error-ico');\r\n}\r\n// 次流程手机获得焦点事件\r\nfunction phone1Focus() {\r\n    var mobile1 = $(\"#phone1\").val();\r\n    if (oldMobile1 == mobile1 && mobile1 != \"\") {\r\n        return;\r\n    }\r\n    $(\"#phone1_succeed\").removeClass();\r\n    $('#phone1').removeClass().addClass('text highlight1');\r\n    $(\"#phone1_error\").removeClass().addClass(\"focus\").html(\"完成验证后，您可以用该手机号登录和找回密码\");\r\n    $(\"#phone1_error\").show();\r\n    $('#phone1_succeed').removeClass('error-ico');\r\n}\r\n\r\nvar oldMobile, mobileResult;\r\n// 主流程检查手机\r\nfunction phoneBlur() {\r\n    var mobile = $(\"#phone\").val();\r\n\r\n    if (mobile == \"\") {\r\n        $('#phone').removeClass().addClass('text');\r\n        $(\"#phone_error\").removeClass().html(\"\");\r\n        $(\"#phone_error\").hide();\r\n        $(\"#rebind\").remove();\r\n        $(\"#mobileCodeDiv\").show();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        oldMobile = mobile;\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    if (oldMobile == mobile && mobile != \"\") {\r\n        // 未修改手机号\r\n        // showMobileCheckResult(mobileResult);\r\n        return;\r\n    }\r\n    oldMobile = mobile;\r\n    if (validateRules.isNull(mobile) || !validateRules.isMobile(mobile)) {\r\n        $('#phone').removeClass().addClass('text highlight2');\r\n        $(\"#phone_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone_error\").show();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        $(\"#rebind\").remove();\r\n        $(\"#mobileCodeDiv\").show();\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    $(\"#mobileCodeSucMessage\").removeClass().empty();\r\n    $(\"#mobileCode_error\").html(\"\");\r\n    $(\"#mobileCode_error\").hide();\r\n    $(\"#state\").val(\"\");\r\n    // 检测手机号码是否存在\r\n    $.ajax({\r\n    \turl : \"http://sso.migo.com/user/check/\"+mobile+\"/2?r=\" + Math.random(),\r\n    \tdataType : \"jsonp\",\r\n    \tsuccess : function(result) {\r\n            mobileResult = result.data ? \"1\" : \"0\";\r\n            // if (mobileResult != 2) {\r\n            // if ($(\"#sendMobileCode\").attr(\"disabled\")) {\r\n            // return;\r\n            // }\r\n            // $(\"#sendMobileCode\").removeAttr(\"disabled\");\r\n            // }\r\n            $(\"#sendMobileCode\").removeAttr(\"disabled\");\r\n            if (!result.data) {\r\n                mobileOkStyle();\r\n            }\r\n\r\n            if (result.data) {\r\n                mobileEngagedStyle();\r\n            }\r\n\r\n//            if (result.success == 2) {\r\n//                mobileBindedStyle();\r\n//                // $(\"#sendMobileCode\").attr(\"disabled\", \"disabled\");\r\n//            }\r\n        }\r\n    });\r\n}\r\n//主流程检查手机\r\nfunction phoneKeyup() {\r\n    var mobile = $(\"#phone\").val();\r\n    var mobileLength=mobile.length;\r\n    if(mobileLength != 11)\r\n    {\r\n    \treturn;\r\n    }\r\n    if (mobile == \"\") {\r\n        $('#phone').removeClass().addClass('text');\r\n        $(\"#phone_error\").removeClass().html(\"\");\r\n        $(\"#phone_error\").hide();\r\n        $(\"#rebind\").remove();\r\n        $(\"#mobileCodeDiv\").show();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        oldMobile = mobile;\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    if (oldMobile == mobile && mobile != \"\") {\r\n        // 未修改手机号\r\n        // showMobileCheckResult(mobileResult);\r\n        return;\r\n    }\r\n    oldMobile = mobile;\r\n    if (validateRules.isNull(mobile) || !validateRules.isMobile(mobile)) {\r\n        $('#phone').removeClass().addClass('text highlight2');\r\n        $(\"#phone_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone_error\").show();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        $(\"#rebind\").remove();\r\n        $(\"#mobileCodeDiv\").show();\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    $(\"#mobileCodeSucMessage\").removeClass().empty();\r\n    $(\"#mobileCode_error\").html(\"\");\r\n    $(\"#mobileCode_error\").hide();\r\n    $(\"#state\").val(\"\");\r\n    // 检测手机号码是否存在\r\n    $.ajax({\r\n    \turl : \"http://sso.migo.com/user/check/\"+mobile+\"/2?r=\" + Math.random(),\r\n    \tdataType : \"jsonp\",\r\n    \tsuccess : function(result) {\r\n            mobileResult = result.data ? \"1\" : \"0\";\r\n            $(\"#sendMobileCode\").removeAttr(\"disabled\");\r\n            if (!result.data) {\r\n                mobileOkStyle();\r\n            }\r\n\r\n            if (result.data) {\r\n                mobileEngagedStyle();\r\n            }\r\n\r\n//            if (result.success == 2) {\r\n//                mobileBindedStyle();\r\n//                // $(\"#sendMobileCode\").attr(\"disabled\", \"disabled\");\r\n//            }\r\n        }\r\n    });\r\n}\r\n\r\n//主流程检查手机\r\nfunction phoneOtherBlur() {\r\n    var mobile = $(\"#phone\").val();\r\n\r\n    if (mobile == \"\") {\r\n        $('#phone').removeClass().addClass('text');\r\n        $(\"#phone_error\").removeClass().html(\"\");\r\n        $(\"#phone_error\").hide();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        oldMobile = mobile;\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    if (oldMobile == mobile && mobile != \"\") {\r\n        // 未修改手机号\r\n        // showMobileCheckResult(mobileResult);\r\n        return;\r\n    }\r\n    oldMobile = mobile;\r\n    if (validateRules.isNull(mobile) || !validateRules.isMobile(mobile)) {\r\n        $('#phone').removeClass().addClass('text highlight2');\r\n        $(\"#phone_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone_error\").show();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    // 检测手机号码是否存在\r\n    $.getJSON(\"../validateuser/isMobileEngaged?mobile=\" + mobile + \"&r=\" + Math.random(),\r\n    function(result) {\r\n\r\n        mobileResult = result.success;\r\n        // if (mobileResult != 2) {\r\n        // if ($(\"#sendMobileCode\").attr(\"disabled\")) {\r\n        // return;\r\n        // }\r\n        // $(\"#sendMobileCode\").removeAttr(\"disabled\");\r\n        // }\r\n        $(\"#sendMobileCode\").removeAttr(\"disabled\");\r\n        if (result.success == 0) {\r\n            mobileOkStyle();\r\n        }\r\n\r\n        if (result.success == 1 || result.success == 2) {\r\n        \t $('#phone').removeClass().addClass('text highlight2');\r\n             $(\"#phone_error\").html(\"该手机号已被绑定，请更换手机号\");\r\n             $(\"#phone_error\").removeClass().addClass(\"error\");\r\n             $(\"#phone_error\").show();\r\n             $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        \t mobileFlags = false;\r\n        }\r\n\r\n    });\r\n}\r\n//主流程检查手机\r\nfunction phoneOtherKeyup() {\r\n    var mobile = $(\"#phone\").val();\r\n    var mobileLength=mobile.length;\r\n    if(mobileLength != 11)\r\n    {\r\n    \treturn;\r\n    }\r\n    if (mobile == \"\") {\r\n        $('#phone').removeClass().addClass('text');\r\n        $(\"#phone_error\").removeClass().html(\"\");\r\n        $(\"#phone_error\").hide();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        oldMobile = mobile;\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    if (oldMobile == mobile && mobile != \"\") {\r\n        // 未修改手机号\r\n        // showMobileCheckResult(mobileResult);\r\n        return;\r\n    }\r\n    oldMobile = mobile;\r\n    if (validateRules.isNull(mobile) || !validateRules.isMobile(mobile)) {\r\n        $('#phone').removeClass().addClass('text highlight2');\r\n        $(\"#phone_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone_error\").show();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    // 检测手机号码是否存在\r\n    $.getJSON(\"../validateuser/isMobileEngaged?mobile=\" + mobile + \"&r=\" + Math.random(),\r\n    function(result) {\r\n\r\n        mobileResult = result.success;\r\n        // if (mobileResult != 2) {\r\n        // if ($(\"#sendMobileCode\").attr(\"disabled\")) {\r\n        // return;\r\n        // }\r\n        // $(\"#sendMobileCode\").removeAttr(\"disabled\");\r\n        // }\r\n        $(\"#sendMobileCode\").removeAttr(\"disabled\");\r\n        if (result.success == 0) {\r\n            mobileOkStyle();\r\n        }\r\n\r\n        if (result.success == 1 || result.success == 2) {\r\n         \t $('#phone').removeClass().addClass('text highlight2');\r\n             $(\"#phone_error\").html(\"该手机号已被绑定，请更换手机号\");\r\n             $(\"#phone_error\").removeClass().addClass(\"error\");\r\n             $(\"#phone_error\").show();\r\n             $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n       \t    mobileFlags = false;\r\n       }\r\n    });\r\n}\r\nfunction showMobileCheckResult(result) {\r\n    if (result == 0) {\r\n        mobileOkStyle();\r\n    }\r\n    if (result == 1) {\r\n        mobileEngagedStyle();\r\n    }\r\n    if (result == 2) {\r\n        mobileBindedStyle();\r\n    }\r\n}\r\n\r\nfunction mobileOkStyle() {\r\n    $('#phone').removeClass().addClass(\"text\");\r\n    $(\"#phone_error\").html(\"\");\r\n    $(\"#phone_error\").hide();\r\n    $(\"#phone_succeed\").removeClass().addClass(\"blank succeed\");\r\n    $(\"#mobileCode_error\").removeClass().empty();\r\n    $(\"#mobileCodeDiv\").show();\r\n    $(\"#rebind\").remove();\r\n    $(\"#mobileCodeDiv\").show();\r\n    mobileFlags = true;\r\n}\r\n\r\nfunction mobileBindedStyle() {\r\n    $('#phone').removeClass().addClass('text highlight2');\r\n    $(\"#phone_error\").html(\"该手机号已重新注册并绑定，3天内不可改绑\");\r\n    $(\"#phone_error\").removeClass().addClass(\"error\");\r\n    $(\"#phone_error\").show();\r\n    $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n    $(\"#rebind\").remove();\r\n    $(\"#mobileCodeDiv\").show();\r\n    mobileFlags = false;\r\n}\r\n\r\nfunction mobileEngagedStyle() {\r\n    $('#phone').removeClass().addClass('text highlight3');\r\n    $(\"#phone_error\").html(\"手机号已绑定，请更换号码或与原账号解绑\");\r\n    $(\"#phone_error\").removeClass().addClass(\"cue\");\r\n    $(\"#phone_error\").show();\r\n//    $(\"#phone_succeed\").removeClass().addClass(\"blank cue-ico\");\r\n//    $(\"#rebind\").remove();\r\n//    $('#dphone').after('<div class=\"item\" id=\"rebind\"> <span class=\"label\">&nbsp;</span><div class=\"fl item-ifo item-ifo-extra\"> <a href=\"javascript:;\" onclick=\"unbind();\" class=\"btn-comm\"><span>尝试解绑手机号</span></a> </div> </div>');\r\n//    $(\"#mobileCodeDiv\").hide();\r\n    mobileFlags = false;\r\n}\r\nfunction showMobileCheckResult1(result) {\r\n    if (result == 0) {\r\n        mobileOkStyle1();\r\n    }\r\n    if (result == 1) {\r\n        mobileEngagedStyle1();\r\n    }\r\n    if (result == 2) {\r\n        mobileBindedStyle1();\r\n    }\r\n}\r\nfunction mobileOkStyle1() {\r\n    $('#phone1').removeClass().addClass(\"text\");\r\n    $(\"#phone1_error\").removeClass().addClass(\"success\");\r\n    $(\"#phone1_error\").html(\"此手机号可用\");\r\n    $(\"#phone1_succeed\").removeClass().addClass(\"blank succeed\");\r\n    $(\"#mobileCodeDiv1\").show();\r\n    $(\"#dmcode1\").show();\r\n    $(\"#rebind1\").remove();\r\n    mobileFlag = true;\r\n    return;\r\n}\r\n\r\nfunction mobileBindedStyle1() {\r\n    $('#phone1').removeClass().addClass('text highlight2');\r\n    $(\"#phone1_error\").html(\"该手机号已重新注册并绑定，3天内不可改绑\");\r\n    $(\"#phone1_error\").removeClass().addClass(\"error\");\r\n    $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n    $(\"#phone1_error\").show();\r\n    $('#phone1').removeClass(\"highlight1\").addClass('highlight2');\r\n    $(\"#sendMobileCode1\").attr(\"disabled\", \"disabled\");\r\n    $(\"#mobileCodeDiv1\").show();\r\n    $(\"#rebind1\").remove();\r\n    mobileFlag = false;\r\n    return;\r\n}\r\n\r\nfunction mobileEngagedStyle1() {\r\n    $('#phone1').removeClass().addClass('text highlight3');\r\n    $(\"#phone1_error\").html(\"手机号已绑定，请更换号码或与原账号解绑\");\r\n    $(\"#phone1_error\").removeClass().addClass(\"cue\");\r\n    $(\"#phone1_succeed\").removeClass().addClass(\"blank cue-ico\");\r\n    $(\"#phone1_error\").show();\r\n    $(\"#rebind1\").remove();\r\n    $('#dphone1').after('<div class=\"item\"  id=\"rebind1\"><span class=\"label\">&nbsp;</span><div class=\"fl item-ifo\"><a href=\"javascript:void(0);\" onclick=\"unbind1();\"  class=\"btn btn-comm\"><span>尝试解绑手机号</span></a></div></div>');\r\n    $(\"#mobileCodeDiv1\").hide();\r\n    mobileFlag = false;\r\n    return;\r\n}\r\n// 次流程手机失去焦点事件\r\nvar mobileFlag = false;\r\nvar oldMobile1, mobileResult1;\r\nfunction phone1Blur() {\r\n    var mobile = $(\"#phone1\").val();\r\n    if (mobile == \"\") {\r\n        $('#phone1').removeClass().addClass(\"text\");\r\n        $(\"#phone1_error\").hide();\r\n        $('#phone1_succeed').removeClass();\r\n        $(\"#rebind1\").remove();\r\n        $(\"#dmcode1\").show();\r\n        $(\"#mobileCodeDiv1\").show();\r\n        oldMobile1 = mobile;\r\n        mobileFlag = false;\r\n        return;\r\n    }\r\n    if (oldMobile1 == mobile && mobile != \"\") {\r\n        // 未修改手机号\r\n        // showMobileCheckResult1(mobileResult1);\r\n        return;\r\n    }\r\n    oldMobile1 = mobile;\r\n\r\n    if (validateRules.isNull(mobile) || !validateRules.isMobile(mobile)) {\r\n        $(\"#phone1_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n        $(\"#phone1_error\").show();\r\n        $('#phone1').removeClass().addClass('text highlight2');\r\n        $(\"#mobileCodeDiv1\").show();\r\n        $(\"#rebind1\").remove();\r\n        $(\"#dmcode1\").show();\r\n        mobileFlag = false;\r\n        return;\r\n    }\r\n    $(\"#state\").val(\"\");\r\n    $(\"#mobileCodeSucMessage1\").removeClass().empty();\r\n    $(\"#mobileCode1_error\").removeClass().empty();\r\n    $(\"#mobileCode1_error\").hide();\r\n    $('#mobileCode1').removeClass(\"highlight2\");\r\n    // 检测手机号码是否存在\r\n    $.getJSON(\"../validateuser/isMobileEngaged?mobile=\" + mobile + \"&r=\" + Math.random(),\r\n    function(result) {\r\n        // mobileResult1 = result.success;\r\n        // if (mobileResult1 != 2) {\r\n        // if ($(\"#sendMobileCode1\").attr(\"disabled\")) {\r\n        // return;\r\n        // }\r\n        // $(\"#sendMobileCode1\").removeAttr(\"disabled\");\r\n        // }\r\n        $(\"#sendMobileCode1\").removeAttr(\"disabled\");\r\n        if (result.success == 0) {\r\n            mobileOkStyle1();\r\n        }\r\n\r\n        if (result.success == 1) {\r\n            mobileEngagedStyle1();\r\n        }\r\n\r\n        if (result.success == 2) {\r\n            mobileBindedStyle1();\r\n            // $(\"#sendMobileCode1\").attr(\"disabled\", \"disabled\");\r\n        }\r\n    });\r\n}\r\nfunction phone1Keyup() {\r\n    var mobile = $(\"#phone1\").val();\r\n    var mobileLength=mobile.length;\r\n    if(mobileLength != 11)\r\n    {\r\n    \treturn;\r\n    }\r\n    if (mobile == \"\") {\r\n        $('#phone1').removeClass().addClass(\"text\");\r\n        $(\"#phone1_error\").hide();\r\n        $('#phone1_succeed').removeClass();\r\n        $(\"#rebind1\").remove();\r\n        $(\"#dmcode1\").show();\r\n        $(\"#mobileCodeDiv1\").show();\r\n        oldMobile1 = mobile;\r\n        mobileFlag = false;\r\n        return;\r\n    }\r\n    if (oldMobile1 == mobile && mobile != \"\") {\r\n        // 未修改手机号\r\n        // showMobileCheckResult1(mobileResult1);\r\n        return;\r\n    }\r\n    oldMobile1 = mobile;\r\n\r\n    if (validateRules.isNull(mobile) || !validateRules.isMobile(mobile)) {\r\n        $(\"#phone1_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n        $(\"#phone1_error\").show();\r\n        $('#phone1').removeClass().addClass('text highlight2');\r\n        $(\"#mobileCodeDiv1\").show();\r\n        $(\"#rebind1\").remove();\r\n        $(\"#dmcode1\").show();\r\n        mobileFlag = false;\r\n        return;\r\n    }\r\n    $(\"#state\").val(\"\");\r\n    $(\"#mobileCodeSucMessage1\").removeClass().empty();\r\n    $(\"#mobileCode1_error\").removeClass().empty();\r\n    $(\"#mobileCode1_error\").hide();\r\n    $('#mobileCode1').removeClass(\"highlight2\");\r\n    // 检测手机号码是否存在\r\n    $.getJSON(\"../validateuser/isMobileEngaged?mobile=\" + mobile + \"&r=\" + Math.random(),\r\n    function(result) {\r\n        // mobileResult1 = result.success;\r\n        // if (mobileResult1 != 2) {\r\n        // if ($(\"#sendMobileCode1\").attr(\"disabled\")) {\r\n        // return;\r\n        // }\r\n        // $(\"#sendMobileCode1\").removeAttr(\"disabled\");\r\n        // }\r\n        $(\"#sendMobileCode1\").removeAttr(\"disabled\");\r\n        if (result.success == 0) {\r\n            mobileOkStyle1();\r\n        }\r\n\r\n        if (result.success == 1) {\r\n            mobileEngagedStyle1();\r\n        }\r\n\r\n        if (result.success == 2) {\r\n            mobileBindedStyle1();\r\n            // $(\"#sendMobileCode1\").attr(\"disabled\", \"disabled\");\r\n        }\r\n    });\r\n}\r\n// 次流程短信验证码获得焦点事件\r\nfunction mobileCodeFocus() {\r\n    $('#mobileCode').removeClass().addClass('text text-1 highlight1');\r\n    $(\"#mobileCode_error\").hide();\r\n}\r\n// 次流程短信验证码获得失去事件\r\nfunction mobileCodeBlur() {\r\n    $('#mobileCode').removeClass().addClass(\"text text-1\");\r\n    $(\"#mobileCode_error\").hide();\r\n}\r\n// 次流程短信验证码获得焦点事件\r\nfunction mobileCode1Focus() {\r\n    $('#mobileCode1').removeClass().addClass('text text-1 highlight1');\r\n    $(\"#mobileCode1_error\").hide();\r\n}\r\n// 次流程短信验证码获得失去事件\r\nfunction mobileCode1Blur() {\r\n    $('#mobileCode1').removeClass().addClass(\"text text-1\");\r\n    $(\"#mobileCode1_error\").hide();\r\n    $('#mobileCode1_succeed').removeClass('error-ico');\r\n}\r\n// 解绑按钮事件\r\nfunction unbind() {\r\n    $(\"#state\").val(\"unbind\");\r\n    $(\"#mobileCodeDiv\").show();\r\n    $(\"#rebind\").remove();\r\n    // sendmCode();\r\n    sendMobileCode();\r\n}\r\n// 次流程解绑按钮事件\r\nfunction unbind1() {\r\n    $(\"#state\").val(\"unbind\");\r\n    $(\"#mobileCodeDiv1\").show();\r\n    $(\"#rebind1\").remove();\r\n    sendMobileCode1();\r\n}\r\n// 用户协议\r\n$(function() {\r\n    $('#protocol').click(function() {\r\n        jQuery.jdThickBox({\r\n            type: \"text\",\r\n            title: \"京东用户注册协议\",\r\n            width: 922,\r\n            height: 450,\r\n            source: \"<div class=\\\" regist-2013\\\">\" + \"<div class=\\\"regist-bor\\\">\" + \"<div class=\\\"mc\\\">\" + \"<div id=\\\"protocol-con\\\">\" + \" <h4>京东用户注册协议</h4>\" +\r\n\r\n            \"    <p>\" + \"        本协议是您与京东网站（简称\\\"本站\\\"，网址：www.jd.com）所有者（以下简称为\\\"京东\\\"）之间就京东网站服务等相关事宜所订立的契约，请您仔细阅读本注册协议，您点击\\\"同意并继续\\\"按钮后，本协议即构成对双方有约束力的法律文件。</p>\" + \"    <h5> 第1条 本站服务条款的确认和接纳</h5>\" +\r\n\r\n            \"    <p>\" + \"        <strong>1.1</strong>本站的各项电子服务的所有权和运作权归京东所有。用户同意所有注册协议条款并完成注册程序，才能成为本站的正式用户。用户确认：本协议条款是处理双方权利义务的契约，始终有效，法律另有强制性规定或双方另有特别约定的，依其规定。\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>1.2</strong>用户点击同意本协议的，即视为用户确认自己具有享受本站服务、下单购物等相应的权利能力和行为能力，能够独立承担法律责任。</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>1.3</strong>如果您在18周岁以下，您只能在父母或监护人的监护参与下才能使用本站。</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>1.4</strong>京东保留在中华人民共和国大陆地区法施行之法律允许的范围内独自决定拒绝服务、关闭用户账户、清除或编辑内容或取消订单的权利。</p>\" + \"    <h5> 第2条 本站服务</h5>\" +\r\n\r\n            \"    <p>\" + \"        <strong>2.1</strong>京东通过互联网依法为用户提供互联网信息等服务，用户在完全同意本协议及本站规定的情况下，方有权使用本站的相关服务。</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>2.2</strong>用户必须自行准备如下设备和承担如下开支：（1）上网设备，包括并不限于电脑或者其他上网终端、调制解调器及其他必备的上网装置；（2）上网开支，包括并不限于网络接入费、上网设备租用费、手机流量费等。\" + \"    </p>\" + \"    <h5> 第3条 用户信息</h5>\" +\r\n\r\n            \"    <p>\" + \"        <strong>3.1</strong>用户应自行诚信向本站提供注册资料，用户同意其提供的注册资料真实、准确、完整、合法有效，用户注册资料如有变动的，应及时更新其注册资料。如果用户提供的注册资料不合法、不真实、不准确、不详尽的，用户需承担因此引起的相应责任及后果，并且京东保留终止用户使用京东各项服务的权利。\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>3.2</strong>用户在本站进行浏览、下单购物等活动时，涉及用户真实姓名/名称、通信地址、联系电话、电子邮箱等隐私信息的，本站将予以严格保密，除非得到用户的授权或法律另有规定，本站不会向外界披露用户隐私信息。\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>3.3</strong>用户注册成功后，将产生用户名和密码等账户信息，您可以根据本站规定改变您的密码。用户应谨慎合理的保存、使用其用户名和密码。用户若发现任何非法使用用户账号或存在安全漏洞的情况，请立即通知本站并向公安机关报案。\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>3.4</strong><strong>用户同意，京东拥有通过邮件、短信电话等形式，向在本站注册、购物用户、收货人发送订单信息、促销活动等告知信息的权利。</strong></p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>3.5</strong><strong>用户不得将在本站注册获得的账户借给他人使用，否则用户应承担由此产生的全部责任，并与实际使用人承担连带责任。</strong></p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>3.6</strong><strong>用户同意，京东有权使用用户的注册信息、用户名、密码等信息，登录进入用户的注册账户，进行证据保全，包括但不限于公证、见证等。</strong></p>\" + \"    <h5> 第4条 用户依法言行义务</h5>\" +\r\n\r\n            \"    <p> 本协议依据国家相关法律法规规章制定，用户同意严格遵守以下义务：</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（1）</strong>不得传输或发表：煽动抗拒、破坏宪法和法律、行政法规实施的言论，煽动颠覆国家政权，推翻社会主义制度的言论，煽动分裂国家、破坏国家统一的的言论，煽动民族仇恨、民族歧视、破坏民族团结的言论；\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（2）</strong>从中国大陆向境外传输资料信息时必须符合中国有关法规；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（3）</strong>不得利用本站从事洗钱、窃取商业秘密、窃取个人信息等违法犯罪活动；\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（4）</strong>不得干扰本站的正常运转，不得侵入本站及国家计算机信息系统；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（5）</strong>不得传输或发表任何违法犯罪的、骚扰性的、中伤他人的、辱骂性的、恐吓性的、伤害性的、庸俗的，淫秽的、不文明的等信息资料；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（6）</strong>不得传输或发表损害国家社会公共利益和涉及国家安全的信息资料或言论；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（7）</strong>不得教唆他人从事本条所禁止的行为；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（8）</strong>不得利用在本站注册的账户进行牟利性经营活动；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（9）</strong>不得发布任何侵犯他人著作权、商标权等知识产权或合法权利的内容；</p>\" +\r\n\r\n            \"    <p>\" + \"        用户应不时关注并遵守本站不时公布或修改的各类合法规则规定。</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>本站保有删除站内各类不符合法律政策或不真实的信息内容而无须通知用户的权利。</strong></p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>若用户未遵守以上规定的，本站有权作出独立判断并采取暂停或关闭用户帐号等措施。</strong>用户须对自己在网上的言论和行为承担法律责任。</p>\" + \"    <h5> 第5条 商品信息</h5>\" +\r\n\r\n            \"    <p>\" + \"        本站上的商品价格、数量、是否有货等商品信息随时都有可能发生变动，本站不作特别通知。由于网站上商品信息的数量极其庞大，虽然本站会尽最大努力保证您所浏览商品信息的准确性，但由于众所周知的互联网技术因素等客观原因存在，本站网页显示的信息可能会有一定的滞后性或差错，对此情形您知悉并理解；京东欢迎纠错，并会视情况给予纠错者一定的奖励。</p>\" +\r\n\r\n            \"    <p> 为表述便利，商品和服务简称为\\\"商品\\\"或\\\"货物\\\"。</p>\" + \"    <h5> 第6条 订单</h5>\" +\r\n\r\n            \"    <p>\" + \"        <strong>6.1</strong>在您下订单时，请您仔细确认所购商品的名称、价格、数量、型号、规格、尺寸、联系地址、电话、收货人等信息。<span>收货人与用户本人不一致的，收货人的行为和意思表示视为用户的行为和意思表示，用户应对收货人的行为及意思表示的法律后果承担连带责任。</span>\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>6.2</strong><strong>除法律另有强制性规定外，双方约定如下：本站上销售方展示的商品和价格等信息仅仅是要约邀请，您下单时须填写您希望购买的商品数量、价款及支付方式、收货人、联系方式、收货地址（合同履行地点）、合同履行方式等内容；系统生成的订单信息是计算机信息系统根据您填写的内容自动生成的数据，仅是您向销售方发出的合同要约；销售方收到您的订单信息后，只有在销售方将您在订单中订购的商品从仓库实际直接向您发出时（\" + \"        以商品出库为标志），方视为您与销售方之间就实际直接向您发出的商品建立了合同关系；如果您在一份订单里订购了多种商品并且销售方只给您发出了部分商品时，您与销售方之间仅就实际直接向您发出的商品建立了合同关系；只有在销售方实际直接向您发出了订单中订购的其他商品时，您和销售方之间就订单中该其他已实际直接向您发出的商品才成立合同关系。您可以随时登录您在本站注册的账户，查询您的订单状态。</strong>\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>6.3</strong><strong>由于市场变化及各种以合理商业努力难以控制的因素的影响，本站无法保证您提交的订单信息中希望购买的商品都会有货；如您拟购买的商品，发生缺货，您有权取消订单。</strong>\" + \"    </p>\" + \"    <h5> 第7条 配送</h5>\" +\r\n\r\n            \"    <p>\" + \"        <strong>7.1</strong>销售方将会把商品（货物）送到您所指定的收货地址，所有在本站上列出的送货时间为参考时间，参考时间的计算是根据库存状况、正常的处理过程和送货时间、送货地点的基础上估计得出的。</p>\" + \"\" + \"    <p>\" + \"        <strong>7.2</strong>因如下情况造成订单延迟或无法配送等，销售方不承担延迟配送的责任：</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（1）</strong>用户提供的信息错误、地址不详细等原因导致的；\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（2）</strong>货物送达后无人签收，导致无法配送或延迟配送的；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（3）</strong>情势变更因素导致的；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（4）</strong>不可抗力因素导致的，例如：自然灾害、交通戒严、突发战争等。</p>\" + \"    <h5> 第8条 所有权及知识产权条款</h5>\" +\r\n\r\n            \"    <p>\" + \"        <strong>8.1</strong><strong>用户一旦接受本协议，即表明该用户主动将其在任何时间段在本站发表的任何形式的信息内容（包括但不限于客户评价、客户咨询、各类话题文章等信息内容）的财产性权利等任何可转让的权利，如著作权财产权（包括并不限于：复制权、发行权、出租权、展览权、表演权、放映权、广播权、信息网络传播权、摄制权、改编权、翻译权、汇编权以及应当由著作权人享有的其他可转让权利），全部独家且不可撤销地转让给京东所有，用户同意京东有权就任何主体侵权而单独提起诉讼。</strong>\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>8.2</strong><strong>本协议已经构成《中华人民共和国著作权法》第二十五条（条文序号依照2011年版著作权法确定）及相关法律规定的著作财产权等权利转让书面协议，其效力及于用户在京东网站上发布的任何受著作权法保护的作品内容，无论该等内容形成于本协议订立前还是本协议订立后。</strong>\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>8.3</strong><strong>用户同意并已充分了解本协议的条款，承诺不将已发表于本站的信息，以任何形式发布或授权其它主体以任何方式使用（包括但限于在各类网站、媒体上使用）。</strong></p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>8.4</strong><strong>京东是本站的制作者,拥有此网站内容及资源的著作权等合法权利,受国家法律保护,有权不时地对本协议及本站的内容进行修改，并在本站张贴，无须另行通知用户。在法律允许的最大限度范围内，京东对本协议及本站内容拥有解释权。</strong>\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>8.5</strong><strong>除法律另有强制性规定外，未经京东明确的特别书面许可,任何单位或个人不得以任何方式非法地全部或部分复制、转载、引用、链接、抓取或以其他方式使用本站的信息内容，否则，京东有权追究其法律责任。</strong>\" + \"    </p>\" + \"    <p>\" + \"        <strong>8.6</strong>本站所刊登的资料信息（诸如文字、图表、标识、按钮图标、图像、声音文件片段、数字下载、数据编辑和软件），均是京东或其内容提供者的财产，受中国和国际版权法的保护。本站上所有内容的汇编是京东的排他财产，受中国和国际版权法的保护。本站上所有软件都是京东或其关联公司或其软件供应商的财产，受中国和国际版权法的保护。\" + \"    </p>\" + \"    <h5> 第9条 责任限制及不承诺担保</h5>\" + \"    <p>\" + \"        <strong>除非另有明确的书面说明,本站及其所包含的或以其它方式通过本站提供给您的全部信息、内容、材料、产品（包括软件）和服务，均是在\\\"按现状\\\"和\\\"按现有\\\"的基础上提供的。</strong></p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>除非另有明确的书面说明,京东不对本站的运营及其包含在本网站上的信息、内容、材料、产品（包括软件）或服务作任何形式的、明示或默示的声明或担保（根据中华人民共和国法律另有规定的以外）。</strong>\" + \"    </p>\" + \"    <p>\" + \"        <strong>京东不担保本站所包含的或以其它方式通过本站提供给您的全部信息、内容、材料、产品（包括软件）和服务、其服务器或从本站发出的电子信件、信息没有病毒或其他有害成分。</strong></p>\" + \"    <p>\" + \"        <strong>如因不可抗力或其它本站无法控制的原因使本站销售系统崩溃或无法正常使用导致网上交易无法完成或丢失有关的信息、记录等，京东会合理地尽力协助处理善后事宜。</strong></p>\" + \"    <h5> 第10条 协议更新及用户关注义务</h5>\" + \"    根据国家法律法规变化及网站运营需要，京东有权对本协议条款不时地进行修改，修改后的协议一旦被张贴在本站上即生效，并代替原来的协议。用户可随时登录查阅最新协议；<strong><em>用户有义务不时关注并阅读最新版的协议及网站公告。如用户不同意更新后的协议，可以且应立即停止接受京东网站依据本协议提供的服务；如用户继续使用本网站提供的服务的，即视为同意更新后的协议。京东建议您在使用本站之前阅读本协议及本站的公告。</em></strong>\" + \"    如果本协议中任何一条被视为废止、无效或因任何理由不可执行，该条应视为可分的且并不影响任何其余条款的有效性和可执行性。\" + \"    <h5> 第11条 法律管辖和适用</h5>\" + \"    本协议的订立、执行和解释及争议的解决均应适用在中华人民共和国大陆地区适用之有效法律（但不包括其冲突法规则）。 如发生本协议与适用之法律相抵触时，则这些条款将完全按法律规定重新解释，而其它有效条款继续有效。\" + \"    如缔约方就本协议内容或其执行发生任何争议，双方应尽力友好协商解决；协商不成时，任何一方均可向有管辖权的中华人民共和国大陆地区法院提起诉讼。\" + \"    <h5> 第12条 其他 </h5>\" + \"    <p>\" + \"        <strong>12.1</strong>京东网站所有者是指在政府部门依法许可或备案的京东网站经营主体。</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>12.2</strong>京东尊重用户和消费者的合法权利，本协议及本网站上发布的各类规则、声明等其他内容，均是为了更好的、更加便利的为用户和消费者提供服务。本站欢迎用户和社会各界提出意见和建议，京东将虚心接受并适时修改本协议及本站上的各类规则。\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>12.3</strong><span>本协议内容中以黑体、加粗、下划线、斜体等方式显著标识的条款，请用户着重阅读。</span></p>\" + \"    <p>\" + \"        <strong>12.4</strong><span>您点击本协议下方的\\\"同意并继续\\\"按钮即视为您完全接受本协议，在点击之前请您再次确认已知悉并完全理解本协议的全部内容。</span></p>\" + \"</div>\" + \"      <div class=\\\"btnt\\\">\" + \"         <input  class=\\\"btn-img\\\"  type=\\''button\\\" value='同意并继续' onclick='protocolReg();'/>\" + \"     </div>\" + \"</div>\" + \"</div>\" + \"</div>\",\r\n            _autoReposi: true\r\n        });\r\n    });\r\n});"
  },
  {
    "path": "migo-portal/src/main/webapp/js/register/jdValidate.regSuccess.js",
    "content": "function isEmail(str) {\r\n    return new RegExp(\"^\\\\w+((-\\\\w+)|(\\\\.\\\\w+))*\\\\@[A-Za-z0-9]+((\\\\.|-)[A-Za-z0-9]+)*\\\\.[A-Za-z0-9]+$\").test(str);\r\n}\r\n//初始化邮件Url\r\nfunction initEmailLoginUrl(email) {\r\n    var loginUrl = getEmailLoginUrl(email);\r\n    if (loginUrl != null) {\r\n        $(\"#emailLogin\").attr(\"href\", loginUrl);\r\n        $(\"#emailLogin\").show();\r\n    } else {\r\n        $(\"#emailLogin\").hide();\r\n    }\r\n}\r\nvar emailLoginUrlArrar = ['@gmail.com=http://mail.google.com/',\r\n    '@163.com=http://mail.163.com/',\r\n    '@126.com=http://mail.126.com/',\r\n    '@hotmail.com=http://www.hotmail.com/',\r\n    '@sina.com=http://mail.sina.com/',\r\n    '@vip.sina.com=http://mail.sina.com/',\r\n    '@tom.com=http://mail.tom.com/',\r\n    '@qq.com=http://mail.qq.com/',\r\n    '@139.com=http://mail.10086.cn/',\r\n    '@msn.com=https://login.live.com/login.srf',\r\n    '@sohu.com=http://mail.sohu.com/'];\r\n\r\nfunction getEmailLoginUrl(email) {\r\n\r\n    email = email.toLowerCase();\r\n    if (email == \"\" || !isEmail(email)) {\r\n        return null;\r\n    }\r\n    var index = email.indexOf(\"@\");\r\n    var emailSurfix = email.substring(index, email.length);\r\n    for (var i = 0; i < emailLoginUrlArrar.length; i++) {\r\n        if (emailLoginUrlArrar[i].indexOf(emailSurfix) == 0) {\r\n            return emailLoginUrlArrar[i].split(\"=\")[1];\r\n        }\r\n    }\r\n    return null;\r\n}\r\n\r\nfunction getKey() {\r\n    return  $(\"#authKey\").val();\r\n}\r\n\r\n\r\nvar oldNick = $(\"#nicknameInput\").val();\r\n(function () {\r\n    var reviseNickname = $('.reg-nickname-revise'),\r\n        regNickname = $('#changeNickname');\r\n    var usernamePrompt = {\r\n        onFocus: \"4-20位字符，可由中文、英文、数字及“_”、“-”组成\",\r\n        succeed: \"\",\r\n        isNull: \"请输入用户昵称\",\r\n        error: {\r\n            beUsed: \"此昵称已被使用，请更换\",\r\n            badLength: \"昵称长度只能在4-20位字符之间\",\r\n            badFormat: \"昵称只能由中文、英文、数字及“_”、“-”组成\",\r\n            fullNumberName: \"昵称不能全为数字\",\r\n            bannedWord: \"昵称包含了非法词\"\r\n        }\r\n    }\r\n    regNickname.click(function () {\r\n        var self = $(this);\r\n        $(\"#username_error\").empty();\r\n        self.parent().hide();\r\n        reviseNickname.show().focus();\r\n        return false;\r\n    });\r\n    //focus\r\n    reviseNickname.find('.text').focus(function () {\r\n        $(this).addClass('hover');\r\n        if ($('#username_error').length <= 0) {\r\n            var div = $('<div id=\"username_error\"></div>');\r\n            $(this).parent().append(div);\r\n        }\r\n        var uError = $('#username_error');\r\n        uError.html(usernamePrompt.onFocus);\r\n        uError.addClass('focus').removeClass('error');\r\n    });\r\n    reviseNickname.find('.text').blur(function () {\r\n        $(this).removeClass('hover');\r\n        var uError = $('#username_error');\r\n        uError.html('');\r\n    });\r\n    //nickname save\r\n    reviseNickname.find('.j_save').click(function () {\r\n        nicknameParentNode = regNickname.parent();\r\n        var nickName = reviseNickname.find('.text').val();\r\n        var username = $.trim(nickName);\r\n        if (username == oldNick) {\r\n            $(\"#orgNick\").html(username);\r\n            nicknameParentNode.show();\r\n            reviseNickname.hide();\r\n            oldNick = username;\r\n            return;\r\n        }\r\n        var div = $('#username_error');\r\n        if (div.length <= 0) {\r\n            var div = $('<div id=\"username_error\"></div>');\r\n            $(this).parent().append(div);\r\n        }\r\n\r\n        if (!userCheck(username)) {\r\n            return;\r\n        }\r\n        div.html(\"<span style='color:#999'>检验中……</span>\");\r\n        $.getJSON(\"../validate/newNickname?nickname=\" + escape(username) + \"&k=\" + getKey() + \"&r=\" + Math.random(), function (date) {\r\n            if (date.success == 1) {\r\n                $(\"#orgNick\").html(username);\r\n                $(\"#safeNick\").html(date.safeNick);\r\n                nicknameParentNode.show();\r\n                reviseNickname.hide();\r\n                hello();\r\n                oldNick = username;\r\n            }\r\n            if (date.success == 0) {\r\n                div.html(usernamePrompt.error.beUsed.replace(\"{1}\", username));\r\n                return;\r\n            }\r\n            if (date.success == -5) {\r\n                div.html(usernamePrompt.error.bannedWord);\r\n                return;\r\n            }\r\n            if (date.success == -1) {\r\n                div.html(\"系统异常，请稍后再试\");\r\n                return;\r\n            }\r\n            if (date.success == -4) {\r\n                window.location.href = \"http://reg.jd.com/reg/expire\";\r\n                return;\r\n            }\r\n        })\r\n    });\r\n\r\n    function badFormat(str) {\r\n        return new RegExp(\"^[A-Za-z0-9_\\\\-\\\\u4e00-\\\\u9fa5]+$\").test(str);\r\n    }\r\n\r\n    // 用户名验证\r\n    function userCheck(username) {\r\n        var div = $('#username_error');\r\n        var reg = /^[A-Za-z0-9_\\\\-\\\\u4e00-\\\\u9fa5]+$/; //用户名\r\n        var fullNumber = /^[0-9]+$/ //数字\r\n        div.removeClass('focus').addClass('error');\r\n        if (username == \"\") {\r\n            div.html(usernamePrompt.isNull);\r\n            return false;\r\n        }\r\n        var len = betweenLength(username.replace(/[^\\x00-\\xff]/g, \"**\"), 4, 20);\r\n        if (!len) {\r\n            div.html(usernamePrompt.error.badLength);\r\n            return false;\r\n        }\r\n        else if (badFormat(username) == false) {\r\n            div.html(usernamePrompt.error.badFormat);\r\n            return false;\r\n        }\r\n        else if (fullNumber.test(username)) {\r\n            div.html(usernamePrompt.error.fullNumberName);\r\n            return false;\r\n        }\r\n        return true;\r\n    }\r\n\r\n    // max and min length\r\n    function betweenLength(str, _min, _max) {\r\n        return (str.length >= _min && str.length <= _max);\r\n    }\r\n\r\n    $('#emailStr').focus(function () {\r\n\r\n        $(\"#emailStr\").removeClass().addClass(\"text focus-color\");\r\n        $(\"#email_error\").html(\"\");\r\n        $(\"#email_focus\").html(\"完成验证后，您可以用该邮箱登录京东，找回密码。\");\r\n    });\r\n    $('#emailStr').blur(function () {\r\n        $(\"#email_focus\").html(\"\");\r\n        var content = $(\"#emailStr\").val();\r\n        if (content == \"请输入您常用的电子邮箱\") {\r\n            $(\"#emailStr\").removeClass().addClass(\"text\");\r\n        }\r\n    });\r\n    $('#sendEmail').click(function () {\r\n        sendEmail();\r\n    });\r\n    function strTrim(str) {\r\n        return str.replace(/(^\\s*)|(\\s*$)/g, \"\");\r\n    }\r\n\r\n    function mobileCodeError(content) {\r\n        $(\"#smsFocusMessage\").removeClass().addClass(\"sms-tips mobileError\").html(content);\r\n        $(\"#smsFocusDiv\").removeClass().addClass(\"item\");\r\n    }\r\n\r\n    $('#mobileCode').focus(function () {\r\n        $(\"#smsErrorDiv\").removeClass().addClass(\"item hide\");\r\n        $(\"#smsErrorMessage\").html(\"\");\r\n    });\r\n    // 手机验证\r\n    $('#moblie').bind('focus', function () {\r\n        $(\"#smsErrorDiv\").removeClass().addClass(\"item hide\");\r\n        $(\"#smsErrorMessage\").text(\"\");\r\n        $(\"#smsFocusDiv\").removeClass().addClass(\"item\");\r\n        $(\"#smsFocusMessage\").removeClass().addClass(\"sms-tips mobileFocus\").text(\"完成验证后，您可以用该手机号登录京东，找回密码。\");\r\n    });\r\n\r\n    $('#moblie').bind('blur', function () {\r\n        $(\"#smsFocusDiv\").removeClass().addClass(\"item hide\");\r\n        $(\"#smsFocusMessage\").text(\"\");\r\n    });\r\n    $('#send-sms').click(function () {\r\n        var mobile = $('#moblie').val();\r\n        if (mobile == \"\") {\r\n            mobileCodeError(\"请输入手机号\");\r\n            return;\r\n        }\r\n        mobile = strTrim(mobile);\r\n        var isMobile = new RegExp(\"^0?(13|15|17|18|14)[0-9]{9}$\").test(mobile);\r\n        if (!isMobile || mobile.length > 11) {\r\n            mobileCodeError(\"手机号码格式有误，请输入正确的手机号。\");\r\n            return;\r\n        }\r\n        var self = $(this);\r\n        var data = 'mobile=' + mobile + \"&k=\" + $(\"#k\").val() + '&r=' + Math.random();\r\n        $.ajax({\r\n            type: \"POST\",\r\n            url: \"../notify/regValidateCode\",\r\n            data: data,\r\n            success: function (result) {\r\n                if (result) {\r\n                    var obj = eval(result);\r\n                    if (obj.rs == 1 || obj.remain) {\r\n                        $(\"#smsErrorMessage\").text(\"\");\r\n                        $(\"#smsFocusDiv\").removeClass().addClass(\"item hide\");\r\n                        $(\"#smsErrorDiv\").removeClass().addClass(\"item hide\");\r\n                        if (obj.remain) {\r\n                            $(\"#successMes\").empty().html(obj.remain);\r\n                        } else {\r\n                            $(\"#successMes\").empty().html(\"验证码已发送，请查收短信。\");\r\n                        }\r\n                        $('#sms-box').show();\r\n                        $('#validateMobileDiv').removeClass().addClass(\"sms-btn\");\r\n                        $(\"#mobileCode\").empty();\r\n                        $('#moblie').attr(\"disabled\", \"disabled\");\r\n                        $('#send-sms').attr(\"disabled\", \"disabled\");\r\n                        var i = 120;\r\n                        self.removeClass().addClass('reg-btn1').val(i + '秒后重新获取');\r\n                        var timer = setInterval(function () {\r\n                            i--;\r\n                            self.val(i + '秒后重新获取');\r\n                            if (i <= 0) {\r\n                                clearInterval(timer);\r\n                                self.addClass('reg-btn2').val('获取短信验证码');\r\n                                $(\"#successMes\").empty();\r\n                                $('#moblie').attr(\"disabled\", \"\");\r\n                                $('#send-sms').attr(\"disabled\", \"\");\r\n\r\n                            }\r\n                        }, 1000);\r\n                    }\r\n                    if (obj.rs == -1) {\r\n                        mobileCodeError(\"手机号码格式有误，请输入正确的手机号。\");\r\n                    }\r\n                    if (obj.rs == -5) {\r\n                        window.location.href = \"http://reg.jd.com/reg/expire\";\r\n                        //mobileCodeError(\"链接已失效，您可以前往<a href='http://safe.jd.com/user/paymentpassword/safetyCenter.action'>安全中心</a>继续验证。\");\r\n                    }\r\n                    if (obj.rs == -7) {\r\n                        mobileCodeError(\"您已验证过手机，请到<a href='http://safe.jd.com/user/paymentpassword/safetyCenter.action' class='emreg-nickname'>账户安全</a>里查看。\");\r\n                    }\r\n                    if (obj.info) {\r\n                        mobileCodeError(obj.info);\r\n                    }\r\n                    if (obj.rs == -2) {\r\n                        mobileCodeError(\"网络繁忙，请稍后重新获取验证码\");\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    });\r\n\r\n    function clientError(content) {\r\n        $(\"#smsErrorMessage\").html(content);\r\n        $(\"#smsErrorDiv\").removeClass().addClass(\"item\");\r\n        $(\"#smsErrorDiv\").show();\r\n    }\r\n\r\n    var flg = false;\r\n    $('#toValidate').click(function () {\r\n        var mobile = $('#moblie').val();\r\n        mobile = $.trim(mobile);\r\n        if (mobile == \"\") {\r\n            clientError(\"请输入手机号\")\r\n            return false;\r\n        }\r\n        var mobileCode = $('#mobileCode').val();\r\n        mobileCode = $.trim(mobileCode);\r\n        if (mobileCode == \"\") {\r\n            clientError(\"请输入验证码\")\r\n            return false;\r\n        }\r\n        var k = $(\"#k\").val();\r\n        var data = 'mobile=' + mobile + \"&mobileCode=\" + mobileCode + \"&k=\" + k + '&r=' + Math.random();\r\n        $.getJSON(\"../reg/validateMobile?\" + data, function (result) {\r\n                if (result.success == 1) {\r\n                    window.location.href = \"http://reg.jd.com/reg/best?ret=\" + result.ret;\r\n                    return;\r\n                }\r\n                if (result.success == -1) {\r\n                    window.location.href = \"http://www.jd.com\"\r\n                    return;\r\n                }\r\n                if (result.success == -2) {\r\n                    clientError(\"验证码不正确或已过期\");\r\n                    return;\r\n                }\r\n                if (result.success == -3) {\r\n                    clientError(\"手机被占用\");\r\n                    return;\r\n                }\r\n                if (result.success == -4) {\r\n                    clientError(\"系统异常，请稍后再试\");\r\n                    return;\r\n                }\r\n                if (result.success == -5) {\r\n                    clientError(\"您已验证过手机，请到<a href='http://safe.jd.com/user/paymentpassword/safetyCenter.action' class='emreg-nickname'>账户安全</a>里查看。\");\r\n                    return;\r\n                }\r\n                if (result.success == -7) {\r\n                    window.location.href = \"http://reg.jd.com/reg/expire\";\r\n                    return;\r\n                }\r\n            }\r\n        );\r\n    });\r\n})();\r\n\r\n//休眠\r\nfunction sleep(numberMillis) {\r\n    var now = new Date();\r\n    var exitTime = now.getTime() + numberMillis;\r\n    while (true) {\r\n        now = new Date();\r\n        if (now.getTime() > exitTime)    return;\r\n    }\r\n}\r\n\r\n//重新发送邮件\r\nfunction reSendEmail(email, key) {\r\n    $('#reSendEmailSuccess').hide();\r\n    sleep(500);\r\n    $('#reSendEmailSuccess').removeClass().empty();\r\n    email = $.trim(email);\r\n    if (email == \"\" || (isEmail(email) == false)) {\r\n        $(\"#reSendEmailSuccess\").removeClass().addClass('check-email-error');\r\n        $(\"#reSendEmailSuccess\").html(\"请输入有效的邮箱地址\");\r\n        return;\r\n    }\r\n    var unbind = $(\"#state\").val();\r\n    $.getJSON(\"../notifyuser/email?email=\" + (email) + \"&k=\" + key + \"&state=\" + unbind+ \"&r=\" + Math.random(), function (result) {\r\n        if (result.success == 1) {\r\n            $('#reSendEmailSuccess').removeClass().empty().html('验证邮件已重新发送');\r\n            $('#reSendEmailSuccess').show();\r\n            initEmailLoginUrl(email);\r\n        }\r\n        if (result.success == 0) {\r\n            $('#reSendEmailSuccess').removeClass().addClass('error').empty().html('该邮箱已被使用，请更换其它邮箱');\r\n            $('#reSendEmailSuccess').show();\r\n        }\r\n        if (result.success == -1) {\r\n            $('#reSendEmailSuccess').removeClass().addClass('error').empty().html('系统异常，请稍后再试 ！');\r\n            $('#reSendEmailSuccess').show();\r\n        }\r\n        if (result.success == -2) {\r\n            $('#reSendEmailSuccess').removeClass().addClass('error').empty().html('您申请发送验证邮件的次数超限，请于24小时后重试！');\r\n            $('#reSendEmailSuccess').show();\r\n        }\r\n\r\n        if (result.success == -3) {\r\n            window.location.href = \"http://reg.jd.com/reg/expire\";\r\n            return;\r\n        }\r\n        if (result.success == -4) {\r\n            $('#reSendEmailSuccess').removeClass().addClass('error').empty().html('该邮箱已注册过京东');\r\n            $('#reSendEmailSuccess').show();\r\n            return;\r\n        }\r\n\r\n        if (result.success == -5) {\r\n            $('#reSendEmailSuccess').removeClass().addClass('error').empty().html('请输入有效的邮箱地址');\r\n            $('#reSendEmailSuccess').show();\r\n            return;\r\n        }\r\n        $('#reSendEmailSuccess').show();\r\n        //setTimeout(hideEmailSendResult, 5000);\r\n    });\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/js/search_main.js",
    "content": "if (!window.console) {\r\n    window.console = {};\r\n    window.console.log = window.console.error = function() {\r\n    }\r\n}\r\nif (!window.SEARCH) {\r\n    window.SEARCH = {}\r\n}\r\nwindow.json_city = {\"0\": {\"1\": \"北京\",\"2\": \"上海\",\"3\": \"天津\",\"4\": \"重庆\",\"5\": \"河北\",\"6\": \"山西\",\"7\": \"河南\",\"8\": \"辽宁\",\"9\": \"吉林\",\"10\": \"黑龙江\",\"11\": \"内蒙古\",\"12\": \"江苏\",\"13\": \"山东\",\"14\": \"安徽\",\"15\": \"浙江\",\"16\": \"福建\",\"17\": \"湖北\",\"18\": \"湖南\",\"19\": \"广东\",\"20\": \"广西\",\"21\": \"江西\",\"22\": \"四川\",\"23\": \"海南\",\"24\": \"贵州\",\"25\": \"云南\",\"26\": \"西藏\",\"27\": \"陕西\",\"28\": \"甘肃\",\"29\": \"青海\",\"30\": \"宁夏\",\"31\": \"新疆\",\"32\": \"台湾\",\"42\": \"香港\",\"43\": \"澳门\",\"84\": \"钓鱼岛\"},\"1\": {\"72\": \"朝阳区\",\"2800\": \"海淀区\",\"2801\": \"西城区\",\"2802\": \"东城区\",\"2803\": \"崇文区\",\"2804\": \"宣武区\",\"2805\": \"丰台区\",\"2806\": \"石景山区\",\"2807\": \"门头沟\",\"2808\": \"房山区\",\"2809\": \"通州区\",\"2810\": \"大兴区\",\"2812\": \"顺义区\",\"2814\": \"怀柔区\",\"2816\": \"密云区\",\"2901\": \"昌平区\",\"2953\": \"平谷区\",\"3065\": \"延庆县\"},\"2\": {\"2813\": \"徐汇区\",\"2815\": \"长宁区\",\"2817\": \"静安区\",\"2820\": \"闸北区\",\"2822\": \"虹口区\",\"2823\": \"杨浦区\",\"2824\": \"宝山区\",\"2825\": \"闵行区\",\"2826\": \"嘉定区\",\"2830\": \"浦东新区\",\"2833\": \"青浦区\",\"2834\": \"松江区\",\"2835\": \"金山区\",\"2836\": \"南汇区\",\"2837\": \"奉贤区\",\"2841\": \"普陀区\",\"2919\": \"崇明县\",\"78\": \"黄浦区\"},\"3\": {\"51035\": \"东丽区\",\"51036\": \"和平区\",\"51037\": \"河北区\",\"51038\": \"河东区\",\"51039\": \"河西区\",\"51040\": \"红桥区\",\"51041\": \"蓟县\",\"51042\": \"静海县\",\"51043\": \"南开区\",\"51044\": \"塘沽区\",\"51045\": \"西青区\",\"51046\": \"武清区\",\"51047\": \"津南区\",\"51048\": \"汉沽区\",\"51049\": \"大港区\",\"51050\": \"北辰区\",\"51051\": \"宝坻区\",\"51052\": \"宁河县\"},\"4\": {\"113\": \"万州区\",\"114\": \"涪陵区\",\"115\": \"梁平县\",\"119\": \"南川区\",\"123\": \"潼南县\",\"126\": \"大足区\",\"128\": \"黔江区\",\"129\": \"武隆县\",\"130\": \"丰都县\",\"131\": \"奉节县\",\"132\": \"开县\",\"133\": \"云阳县\",\"134\": \"忠县\",\"135\": \"巫溪县\",\"136\": \"巫山县\",\"137\": \"石柱县\",\"138\": \"彭水县\",\"139\": \"垫江县\",\"140\": \"酉阳县\",\"141\": \"秀山县\",\"48131\": \"璧山县\",\"48132\": \"荣昌县\",\"48133\": \"铜梁县\",\"48201\": \"合川区\",\"48202\": \"巴南区\",\"48203\": \"北碚区\",\"48204\": \"江津区\",\"48205\": \"渝北区\",\"48206\": \"长寿区\",\"48207\": \"永川区\",\"50950\": \"江北区\",\"50951\": \"南岸区\",\"50952\": \"九龙坡区\",\"50953\": \"沙坪坝区\",\"50954\": \"大渡口区\",\"50995\": \"綦江区\",\"51026\": \"渝中区\",\"51027\": \"高新区\",\"51028\": \"北部新区\",\"4164\": \"城口县\",\"3076\": \"高新区\"},\"5\": {\"142\": \"石家庄市\",\"148\": \"邯郸市\",\"164\": \"邢台市\",\"199\": \"保定市\",\"224\": \"张家口市\",\"239\": \"承德市\",\"248\": \"秦皇岛市\",\"258\": \"唐山市\",\"264\": \"沧州市\",\"274\": \"廊坊市\",\"275\": \"衡水市\"},\"6\": {\"303\": \"太原市\",\"309\": \"大同市\",\"318\": \"阳泉市\",\"325\": \"晋城市\",\"330\": \"朔州市\",\"336\": \"晋中市\",\"350\": \"忻州市\",\"368\": \"吕梁市\",\"379\": \"临汾市\",\"398\": \"运城市\",\"3074\": \"长治市\"},\"7\": {\"412\": \"郑州市\",\"420\": \"开封市\",\"427\": \"洛阳市\",\"438\": \"平顶山市\",\"446\": \"焦作市\",\"454\": \"鹤壁市\",\"458\": \"新乡市\",\"468\": \"安阳市\",\"475\": \"濮阳市\",\"482\": \"许昌市\",\"489\": \"漯河市\",\"495\": \"三门峡市\",\"502\": \"南阳市\",\"517\": \"商丘市\",\"527\": \"周口市\",\"538\": \"驻马店市\",\"549\": \"信阳市\",\"2780\": \"济源市\"},\"8\": {\"560\": \"沈阳市\",\"573\": \"大连市\",\"579\": \"鞍山市\",\"584\": \"抚顺市\",\"589\": \"本溪市\",\"593\": \"丹东市\",\"598\": \"锦州市\",\"604\": \"葫芦岛市\",\"609\": \"营口市\",\"613\": \"盘锦市\",\"617\": \"阜新市\",\"621\": \"辽阳市\",\"632\": \"朝阳市\",\"6858\": \"铁岭市\"},\"9\": {\"639\": \"长春市\",\"644\": \"吉林市\",\"651\": \"四平市\",\"2992\": \"辽源市\",\"657\": \"通化市\",\"664\": \"白山市\",\"674\": \"松原市\",\"681\": \"白城市\",\"687\": \"延边州\"},\"10\": {\"727\": \"鹤岗市\",\"731\": \"双鸭山市\",\"737\": \"鸡西市\",\"742\": \"大庆市\",\"753\": \"伊春市\",\"757\": \"牡丹江市\",\"765\": \"佳木斯市\",\"773\": \"七台河市\",\"776\": \"黑河市\",\"782\": \"绥化市\",\"793\": \"大兴安岭地区\",\"698\": \"哈尔滨市\",\"712\": \"齐齐哈尔市\"},\"11\": {\"799\": \"呼和浩特市\",\"805\": \"包头市\",\"810\": \"乌海市\",\"812\": \"赤峰市\",\"823\": \"乌兰察布市\",\"835\": \"锡林郭勒盟\",\"848\": \"呼伦贝尔市\",\"870\": \"鄂尔多斯市\",\"880\": \"巴彦淖尔市\",\"891\": \"阿拉善盟\",\"895\": \"兴安盟\",\"902\": \"通辽市\"},\"12\": {\"904\": \"南京市\",\"911\": \"徐州市\",\"919\": \"连云港市\",\"925\": \"淮安市\",\"933\": \"宿迁市\",\"939\": \"盐城市\",\"951\": \"扬州市\",\"959\": \"泰州市\",\"965\": \"南通市\",\"972\": \"镇江市\",\"978\": \"常州市\",\"984\": \"无锡市\",\"988\": \"苏州市\"},\"13\": {\"2900\": \"济宁市\",\"1000\": \"济南市\",\"1007\": \"青岛市\",\"1016\": \"淄博市\",\"1022\": \"枣庄市\",\"1025\": \"东营市\",\"1032\": \"潍坊市\",\"1042\": \"烟台市\",\"1053\": \"威海市\",\"1058\": \"莱芜市\",\"1060\": \"德州市\",\"1072\": \"临沂市\",\"1081\": \"聊城市\",\"1090\": \"滨州市\",\"1099\": \"菏泽市\",\"1108\": \"日照市\",\"1112\": \"泰安市\"},\"14\": {\"1151\": \"黄山市\",\"1159\": \"滁州市\",\"1167\": \"阜阳市\",\"1174\": \"亳州市\",\"1180\": \"宿州市\",\"1201\": \"池州市\",\"1206\": \"六安市\",\"2971\": \"宣城市\",\"1114\": \"铜陵市\",\"1116\": \"合肥市\",\"1121\": \"淮南市\",\"1124\": \"淮北市\",\"1127\": \"芜湖市\",\"1132\": \"蚌埠市\",\"1137\": \"马鞍山市\",\"1140\": \"安庆市\"},\"15\": {\"1158\": \"宁波市\",\"1273\": \"衢州市\",\"1280\": \"丽水市\",\"1290\": \"台州市\",\"1298\": \"舟山市\",\"1213\": \"杭州市\",\"1233\": \"温州市\",\"1243\": \"嘉兴市\",\"1250\": \"湖州市\",\"1255\": \"绍兴市\",\"1262\": \"金华市\"},\"16\": {\"1303\": \"福州市\",\"1315\": \"厦门市\",\"1317\": \"三明市\",\"1329\": \"莆田市\",\"1332\": \"泉州市\",\"1341\": \"漳州市\",\"1352\": \"南平市\",\"1362\": \"龙岩市\",\"1370\": \"宁德市\"},\"17\": {\"1432\": \"孝感市\",\"1441\": \"黄冈市\",\"1458\": \"咸宁市\",\"1466\": \"恩施州\",\"1475\": \"鄂州市\",\"1477\": \"荆门市\",\"1479\": \"随州市\",\"3154\": \"神农架林区\",\"1381\": \"武汉市\",\"1387\": \"黄石市\",\"1396\": \"襄阳市\",\"1405\": \"十堰市\",\"1413\": \"荆州市\",\"1421\": \"宜昌市\",\"2922\": \"潜江市\",\"2980\": \"天门市\",\"2983\": \"仙桃市\"},\"18\": {\"4250\": \"耒阳市\",\"1482\": \"长沙市\",\"1488\": \"株洲市\",\"1495\": \"湘潭市\",\"1499\": \"韶山市\",\"1501\": \"衡阳市\",\"1511\": \"邵阳市\",\"1522\": \"岳阳市\",\"1530\": \"常德市\",\"1540\": \"张家界市\",\"1544\": \"郴州市\",\"1555\": \"益阳市\",\"1560\": \"永州市\",\"1574\": \"怀化市\",\"1586\": \"娄底市\",\"1592\": \"湘西州\"},\"19\": {\"1601\": \"广州市\",\"1607\": \"深圳市\",\"1609\": \"珠海市\",\"1611\": \"汕头市\",\"1617\": \"韶关市\",\"1627\": \"河源市\",\"1634\": \"梅州市\",\"1709\": \"揭阳市\",\"1643\": \"惠州市\",\"1650\": \"汕尾市\",\"1655\": \"东莞市\",\"1657\": \"中山市\",\"1659\": \"江门市\",\"1666\": \"佛山市\",\"1672\": \"阳江市\",\"1677\": \"湛江市\",\"1684\": \"茂名市\",\"1690\": \"肇庆市\",\"1698\": \"云浮市\",\"1704\": \"清远市\",\"1705\": \"潮州市\"},\"20\": {\"3168\": \"崇左市\",\"1715\": \"南宁市\",\"1720\": \"柳州市\",\"1726\": \"桂林市\",\"1740\": \"梧州市\",\"1746\": \"北海市\",\"1749\": \"防城港市\",\"1753\": \"钦州市\",\"1757\": \"贵港市\",\"1761\": \"玉林市\",\"1792\": \"贺州市\",\"1806\": \"百色市\",\"1818\": \"河池市\",\"3044\": \"来宾市\"},\"21\": {\"1827\": \"南昌市\",\"1832\": \"景德镇市\",\"1836\": \"萍乡市\",\"1842\": \"新余市\",\"1845\": \"九江市\",\"1857\": \"鹰潭市\",\"1861\": \"上饶市\",\"1874\": \"宜春市\",\"1885\": \"抚州市\",\"1898\": \"吉安市\",\"1911\": \"赣州市\"},\"22\": {\"2103\": \"凉山州\",\"1930\": \"成都市\",\"1946\": \"自贡市\",\"1950\": \"攀枝花市\",\"1954\": \"泸州市\",\"1960\": \"绵阳市\",\"1962\": \"德阳市\",\"1977\": \"广元市\",\"1983\": \"遂宁市\",\"1988\": \"内江市\",\"1993\": \"乐山市\",\"2005\": \"宜宾市\",\"2016\": \"广安市\",\"2022\": \"南充市\",\"2033\": \"达州市\",\"2042\": \"巴中市\",\"2047\": \"雅安市\",\"2058\": \"眉山市\",\"2065\": \"资阳市\",\"2070\": \"阿坝州\",\"2084\": \"甘孜州\"},\"23\": {\"3690\": \"三亚市\",\"3698\": \"文昌市\",\"3699\": \"五指山市\",\"3701\": \"临高县\",\"3702\": \"澄迈县\",\"3703\": \"定安县\",\"3704\": \"屯昌县\",\"3705\": \"昌江县\",\"3706\": \"白沙县\",\"3707\": \"琼中县\",\"3708\": \"陵水县\",\"3709\": \"保亭县\",\"3710\": \"乐东县\",\"3711\": \"三沙市\",\"2121\": \"海口市\",\"3115\": \"琼海市\",\"3137\": \"万宁市\",\"3173\": \"东方市\",\"3034\": \"儋州市\"},\"24\": {\"2144\": \"贵阳市\",\"2150\": \"六盘水市\",\"2155\": \"遵义市\",\"2169\": \"铜仁市\",\"2180\": \"毕节市\",\"2189\": \"安顺市\",\"2196\": \"黔西南州\",\"2205\": \"黔东南州\",\"2222\": \"黔南州\"},\"25\": {\"4108\": \"迪庆州\",\"2235\": \"昆明市\",\"2247\": \"曲靖市\",\"2258\": \"玉溪市\",\"2270\": \"昭通市\",\"2281\": \"普洱市\",\"2291\": \"临沧市\",\"2298\": \"保山市\",\"2304\": \"丽江市\",\"2309\": \"文山州\",\"2318\": \"红河州\",\"2332\": \"西双版纳州\",\"2336\": \"楚雄州\",\"2347\": \"大理州\",\"2360\": \"德宏州\",\"2366\": \"怒江州\"},\"26\": {\"3970\": \"阿里地区\",\"3971\": \"林芝地区\",\"2951\": \"拉萨市\",\"3107\": \"那曲地区\",\"3129\": \"山南地区\",\"3138\": \"昌都地区\",\"3144\": \"日喀则地区\"},\"27\": {\"2428\": \"延安市\",\"2442\": \"汉中市\",\"2454\": \"榆林市\",\"2468\": \"商洛市\",\"2476\": \"安康市\",\"2376\": \"西安市\",\"2386\": \"铜川市\",\"2390\": \"宝鸡市\",\"2402\": \"咸阳市\",\"2416\": \"渭南市\"},\"28\": {\"2525\": \"庆阳市\",\"2534\": \"陇南市\",\"2544\": \"武威市\",\"2549\": \"张掖市\",\"2556\": \"酒泉市\",\"2564\": \"甘南州\",\"2573\": \"临夏州\",\"3080\": \"定西市\",\"2487\": \"兰州市\",\"2492\": \"金昌市\",\"2495\": \"白银市\",\"2501\": \"天水市\",\"2509\": \"嘉峪关市\",\"2518\": \"平凉市\"},\"29\": {\"2580\": \"西宁市\",\"2585\": \"海东地区\",\"2592\": \"海北州\",\"2597\": \"黄南州\",\"2603\": \"海南州\",\"2605\": \"果洛州\",\"2612\": \"玉树州\",\"2620\": \"海西州\"},\"30\": {\"2628\": \"银川市\",\"2632\": \"石嘴山市\",\"2637\": \"吴忠市\",\"2644\": \"固原市\",\"3071\": \"中卫市\"},\"31\": {\"4110\": \"五家渠市\",\"4163\": \"博尔塔拉蒙古自治州阿拉山口口岸\",\"15945\": \"阿拉尔市\",\"15946\": \"图木舒克市\",\"2652\": \"乌鲁木齐市\",\"2654\": \"克拉玛依市\",\"2656\": \"石河子市\",\"2658\": \"吐鲁番地区\",\"2662\": \"哈密地区\",\"2666\": \"和田地区\",\"2675\": \"阿克苏地区\",\"2686\": \"喀什地区\",\"2699\": \"克孜勒苏州\",\"2704\": \"巴音郭楞州\",\"2714\": \"昌吉州\",\"2723\": \"博尔塔拉州\",\"2727\": \"伊犁州\",\"2736\": \"塔城地区\",\"2744\": \"阿勒泰地区\"},\"32\": {\"2768\": \"台湾市\"},\"42\": {\"2754\": \"香港特别行政区\"},\"43\": {\"2770\": \"澳门市\"},\"84\": {\"1310\": \"钓鱼岛\"}};\r\nArray.prototype.unique = function() {\r\n    var d = [], c = {};\r\n    for (var b = 0, a = this.length; b < a; b++) {\r\n        if (!c[this[b]]) {\r\n            d.push(this[b]);\r\n            c[this[b]] = 1\r\n        }\r\n    }\r\n    return d\r\n};\r\nSEARCH.util = {htmlspecialchars: function(a, b) {\r\n        a = a.replace(\"<\", \"&lt;\").replace(\">\", \"&gt;\").replace(\"&\", \"&amp;\").replace('\"', \"&quot;\");\r\n        return b == true ? a.replace(\"'\", \"&#0*39;\") : a\r\n    },html_chars_decode: function(a) {\r\n        return !a ? \"\" : a.replace(/&lt;/g, \"<\").replace(/&gt;/g, \">\").replace(/&amp;/g, \"&\").replace(/&quot;/g, '\"').replace(/&#0*39;/g, \"'\")\r\n    },strip_tags: function(a, c) {\r\n        c = (((c || \"\") + \"\").toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join(\"\");\r\n        var b = /<\\/?([a-z][a-z0-9]*)\\b[^>]*>/gi, d = /<!--[\\s\\S]*?-->|<\\?(?:php)?[\\s\\S]*?\\?>/gi;\r\n        return a.replace(d, \"\").replace(b, function(f, e) {\r\n            return c.indexOf(\"<\" + e.toLowerCase() + \">\") > -1 ? f : \"\"\r\n        })\r\n    },getQueryString: function(b, a) {\r\n        var c = new RegExp(\"(^|\\\\?|&)\" + b + \"=([^&]*)(\\\\s|&|$)\", \"i\"), d = a ? a : window.location.search;\r\n        if (c.test(d)) {\r\n            return RegExp.$2\r\n        }\r\n        return \"\"\r\n    },filtUrl: function(l, k, j) {\r\n        var d, g, f;\r\n        switch (arguments.length) {\r\n            case 0:\r\n                return \"\";\r\n            case 1:\r\n                d = window.location.pathname + window.location.search;\r\n                g = l;\r\n                f = \"\";\r\n                break;\r\n            case 2:\r\n                d = l;\r\n                g = k;\r\n                f = \"\";\r\n                break;\r\n            case 3:\r\n                d = l;\r\n                g = k;\r\n                f = j;\r\n                break;\r\n            default:\r\n                break\r\n        }\r\n        var e = new RegExp(\"(^|\\\\?|&)\" + g + \"=([^&#]*)\", \"gi\");\r\n        if (!f) {\r\n            return d.replace(e, \"\")\r\n        } else {\r\n            if (e.test(d)) {\r\n                return d.replace(e, \"$1\" + g + \"=\" + f)\r\n            } else {\r\n                var i = d.indexOf(\"#\"), h = \"\";\r\n                if (i != -1) {\r\n                    h = d.substr(i);\r\n                    d = d.substr(0, i)\r\n                }\r\n                return d + \"&\" + g + \"=\" + f + h\r\n            }\r\n        }\r\n    },get_ware_type: function(b) {\r\n        var a = \"general\";\r\n        switch (Math.floor(parseInt(b, 10) / 10000000)) {\r\n            case 1:\r\n                a = \"book\";\r\n                break;\r\n            case 2:\r\n                a = \"mvd\";\r\n                break;\r\n            case 3:\r\n                a = \"ebook\";\r\n                break;\r\n            case 6:\r\n                a = \"digital_music\";\r\n                break;\r\n            case 185:\r\n                a = \"ehaoyao\";\r\n                break;\r\n            default:\r\n                break\r\n        }\r\n        return a\r\n    },template: function(a, b) {\r\n        if (typeof b != \"object\") {\r\n            return \"\"\r\n        }\r\n        return a.replace(/{#(.*?)#}/g, function() {\r\n            var c = arguments[1];\r\n            if (\"undefined\" != typeof (b[c]) && b[c] != null) {\r\n                return b[c]\r\n            } else {\r\n                return \"\"\r\n            }\r\n        })\r\n    },sGetScript: function(b, e, d) {\r\n        e = e || \"GBK\";\r\n        var a = document.createElement(\"script\");\r\n        a.type = \"text/javascript\";\r\n        a.charset = e;\r\n        a.src = b;\r\n        if (d == true) {\r\n            a.async = true\r\n        }\r\n        var c = document.getElementsByTagName(\"head\")[0];\r\n        c.appendChild(a)\r\n    },bind_attr_href: function(a, b) {\r\n        var d = this, c = typeof (MS.selected_attr) == \"undefined\" ? $(\"#select,#filter\") : $(\"#filter\");\r\n        c.unbind(\"click\").bind(\"click\", function(h) {\r\n            var f = $(h.target), g = f.attr(\"href\");\r\n            if (!g) {\r\n                f = f.parents(\"a\");\r\n                g = f.attr(\"href\")\r\n            }\r\n            if (g && g != \"javascript:;\") {\r\n                window.location.href = d.filtUrl(g, a, b);\r\n                return false\r\n            }\r\n        })\r\n    },setCookie: function(g, f, j) {\r\n        var i = j, h = new Date;\r\n        h.setTime(h.getTime() + 24 * i * 60 * 60 * 1000);\r\n        document.cookie = g + \"=\" + escape(f) + \";expires=\" + h.toGMTString() + \";path=/;domain=.\" + pageConfig.FN_getDomain()\r\n    }};\r\n$.extend({scriptsArray: [],delayLoad: function(g, a, b, k, c) {\r\n        if (c !== undefined) {\r\n            if ($(c).length == 0) {\r\n                return false\r\n            }\r\n        }\r\n        for (var f = 0, d = $.scriptsArray.length; f < d; f++) {\r\n            if ($.scriptsArray[f] == a) {\r\n                if (typeof (k) == \"function\") {\r\n                    k()\r\n                }\r\n                return true\r\n            }\r\n        }\r\n        var h = document.getElementsByTagName(\"head\")[0], e;\r\n        if (g) {\r\n            e = document.createElement(\"script\");\r\n            e.type = \"text/javascript\";\r\n            e.charset = b || \"gbk\";\r\n            e.src = a\r\n        } else {\r\n            e = document.createElement(\"link\");\r\n            e.type = \"text/css\";\r\n            e.rel = \"stylesheet\";\r\n            e.href = a\r\n        }\r\n        e.onload = e.onreadystatechange = function() {\r\n            if (!this.readyState || this.readyState === \"loaded\" || this.readyState === \"complete\") {\r\n                $.scriptsArray.push(a);\r\n                if (typeof (k) == \"function\") {\r\n                    k()\r\n                }\r\n            }\r\n        };\r\n        h.appendChild(e);\r\n        return false\r\n    }});\r\n(function(k, l) {\r\n    k.QUERY_KEYWORD = l.util.html_chars_decode(k.QUERY_KEYWORD);\r\n    k.REAL_KEYWORD = l.util.html_chars_decode(k.REAL_KEYWORD);\r\n    //$(\"#key\").val(k.QUERY_KEYWORD);\r\n    if (typeof LogParm == \"undefined\") {\r\n        LogParm = {ab: 0,result_count: 0}\r\n    }\r\n    LogParm.rec_type = LogParm.rec_type || \"0\";\r\n    LogParm.ev = LogParm.ev || 0;\r\n    LogParm.cid = LogParm.cid || \"\";\r\n    LogParm.psort = LogParm.psort || \"\";\r\n    LogParm.page = LogParm.page || \"1\";\r\n    LogParm.sig = LogParm.sig || \"\";\r\n    LogParm.rel_cat2 = LogParm.rel_cat2 || \"\";\r\n    LogParm.rel_cat3 = LogParm.rel_cat3 || \"\";\r\n    LogParm.log_id = LogParm.log_id || \"\";\r\n    LogParm.expand = LogParm.expand || \"\";\r\n    var d = $(\"#refilter\");\r\n    if (!d.length) {\r\n        return false\r\n    }\r\n    var h = d.find(\"div.item\"), g = d.find(\"a.more\");\r\n    var a = function(m) {\r\n        for (var n = 10, j = h.length; n < j; n++) {\r\n            if (!m) {\r\n                $(h[n]).hide()\r\n            } else {\r\n                $(h[n]).show()\r\n            }\r\n        }\r\n    };\r\n    g.bind(\"click\", function() {\r\n        if (!$(this).attr(\"s\") || $(this).attr(\"s\") == null || $(this).attr(\"s\") == \"1\") {\r\n            $(this).html(\"<span>收起</span><b class='close'></b>\").attr({s: \"0\"});\r\n            a(true)\r\n        } else {\r\n            $(this).html(\"<span>显示全部分类</span><b class='open'></b>\").attr({s: \"1\"});\r\n            a(false)\r\n        }\r\n    });\r\n    d.find(\"h3\").each(function() {\r\n        $(this).click(function() {\r\n            $(this).parent().toggleClass(\"hover\").find(\".show-more\").toggleClass(\"hide\")\r\n        });\r\n        var i = $(this).next(\"ul\").children(\"li\");\r\n        if (i.not(\":hidden\").length == 0) {\r\n            $(this).parent().find(\".show-more\").remove();\r\n            i.css(\"display\", \"block\")\r\n        }\r\n    });\r\n    d.find(\"h3 a\").click(function(i) {\r\n        i.stopPropagation()\r\n    });\r\n    d.find(\".show-more a\").click(function() {\r\n        $(this).parent().prev().find(\"li\").css(\"display\", \"block\");\r\n        $(this).parent().remove()\r\n    });\r\n    if (l.list_category) {\r\n        var f = l.list_category.split(\";\");\r\n        for (var e = 0, c = f.length; e < c; e++) {\r\n            var b = $(\"#category-2-\" + f[e]).parents(\"div.item\");\r\n            b.addClass(\"hover\").show();\r\n            b.find(\"li\").css(\"display\", \"block\");\r\n            b.find(\".show-more\").remove()\r\n        }\r\n    }\r\n    l.cid_style()\r\n})(window, SEARCH);\r\nwindow.searchlog = function() {\r\n    var k = Array.prototype.slice.call(arguments, 0), a, m = k[0] == 0 ? QUERY_KEYWORD : window.REAL_KEYWORD || QUERY_KEYWORD;\r\n    var n = {sig: LogParm.sig,referer: document.referrer};\r\n    if (k[0] == \"e\") {\r\n        var g = encodeURIComponent(LogParm.ekey) + \"^#psort#^#page#^#cid#^\" + encodeURIComponent(window.location.href);\r\n        k.shift();\r\n        k.splice(4, 1, QUERY_KEYWORD);\r\n        n.keyword = LogParm.ekey\r\n    } else {\r\n        var g = encodeURIComponent(m) + \"^#psort#^#page#^#cid#^\" + encodeURIComponent(window.location.href);\r\n        n.keyword = m\r\n    }\r\n    var b = \"http://sstat.jd.com/scslog?args=\", c = k.length, l;\r\n    if (c > 0) {\r\n        if (k[0] == 0) {\r\n            n.front_cost = LogParm.front_cost = LogParm.front_cost || \"0\";\r\n            n.back_cost = LogParm.back_cost = LogParm.back_cost || \"0\";\r\n            n.ip = LogParm.ip = LogParm.ip || \"\";\r\n            n.rec_type = LogParm.rec_type;\r\n            n.result_count = LogParm.result_count;\r\n            a = b + LogParm.rec_type + \"^\" + g + \"^^^\" + LogParm.result_count + \"^\" + k[1] + \"^\" + LogParm.ev + \"^\" + LogParm.ab + \"^\" + LogParm.back_cost + \"^\" + LogParm.front_cost + \"^\" + LogParm.ip\r\n        } else {\r\n            if (k[0] == 1) {\r\n                if (LogParm.rec_type != 10) {\r\n                    a = b + \"1^\" + g + \"^\";\r\n                    n.rec_type = 1\r\n                } else {\r\n                    a = b + \"11^\" + g + \"^\";\r\n                    n.rec_type = 11\r\n                }\r\n                for (var d = 1, f = Math.min(5, c); d < f; d++) {\r\n                    a += encodeURI(k[d]) + \"^\"\r\n                }\r\n                if (c > 3) {\r\n                    if (k[3] == \"51\") {\r\n                        LogParm.cid = k[1]\r\n                    } else {\r\n                        if (k[3] == \"55\") {\r\n                            LogParm.psort = k[1]\r\n                        } else {\r\n                            if (k[3] == \"56\") {\r\n                                LogParm.page = k[1]\r\n                            } else {\r\n                                n.wid = k[1]\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n                if (c >= 5) {\r\n                    n.word = k[4]\r\n                }\r\n                n.pos = k[2];\r\n                n.type = k[3];\r\n                for (var d = 0, f = (5 - c); d < f; d++) {\r\n                    a += \"^\"\r\n                }\r\n                a += LogParm.ev + \"^\" + LogParm.ab\r\n            }\r\n        }\r\n    }\r\n    a = a.replace(\"#cid#\", LogParm.cid);\r\n    a = a.replace(\"#psort#\", LogParm.psort);\r\n    a = a.replace(\"#page#\", LogParm.page);\r\n    n.cid = LogParm.cid;\r\n    n.sort = LogParm.psort;\r\n    n.page = LogParm.page;\r\n    n.ev = LogParm.ev;\r\n    n.ab = LogParm.ab;\r\n    if (k[0] == 0 && (LogParm.rec_type == \"0\" || LogParm.rec_type == \"10\")) {\r\n        a += \"^\" + encodeURIComponent(document.referrer);\r\n        l = encodeURIComponent(LogParm.expand)\r\n    } else {\r\n        a += \"^^^^\" + encodeURIComponent(document.referrer);\r\n        l = encodeURIComponent(c >= 6 && k[5] != \"\" ? LogParm.expand + \"$\" + k[5] : LogParm.expand)\r\n    }\r\n    a += \"^\" + LogParm.rel_cat2 + \"^\" + LogParm.rel_cat3 + \"^\" + LogParm.log_id + \"^\" + l;\r\n    $.getScript(a + \"&sig=\" + encodeURIComponent(LogParm.sig));\r\n    try {\r\n        JA.tracker.ngloader(\"search.000001\", n)\r\n    } catch (h) {\r\n    }\r\n};\r\n$(document).ready(function() {\r\n   // $(\"#key\").val(QUERY_KEYWORD);\r\n    //searchlog(0, SEARCH.track_iframe_onebox())\r\n});\r\nGS = window.GS || {};\r\nGS.collocation = [{\"爸爸\": [\"春节\", \"中秋\", \"新年\", \"生日\"],\"妈妈\": [\"春节\", \"中秋\", \"新年\", \"生日\"],\"丈夫\": [\"春节\", \"中秋\", \"新年\", \"情人节\", \"生日\"],\"妻子\": [\"春节\", \"中秋\", \"新年\", \"情人节\", \"生日\"],\"男朋友\": [\"春节\", \"中秋\", \"新年\", \"情人节\", \"生日\"],\"女朋友\": [\"春节\", \"中秋\", \"新年\", \"情人节\", \"生日\"],\"老人\": [\"春节\", \"中秋\", \"新年\", \"生日\"],\"小孩\": [\"春节\", \"中秋\", \"新年\", \"生日\"],\"领导\": [\"春节\", \"中秋\", \"新年\", \"生日\"]}, {\"春节\": [\"爸爸\", \"妈妈\", \"丈夫\", \"妻子\", \"男朋友\", \"女朋友\", \"老人\", \"小孩\", \"领导\"],\"中秋\": [\"爸爸\", \"妈妈\", \"丈夫\", \"妻子\", \"男朋友\", \"女朋友\", \"老人\", \"小孩\", \"领导\"],\"新年\": [\"爸爸\", \"妈妈\", \"丈夫\", \"妻子\", \"男朋友\", \"女朋友\", \"老人\", \"小孩\", \"领导\"],\"情人节\": [\"丈夫\", \"妻子\", \"男朋友\", \"女朋友\"],\"生日\": [\"爸爸\", \"妈妈\", \"丈夫\", \"妻子\", \"男朋友\", \"女朋友\", \"老人\", \"小孩\", \"领导\"]}, [\"春节\", \"中秋\", \"新年\", \"情人节\", \"生日\"], [\"爸爸\", \"妈妈\", \"丈夫\", \"妻子\", \"男朋友\", \"女朋友\", \"老人\", \"小孩\", \"领导\"]];\r\nGS.init = function() {\r\n    this.obj = $(\"#dialogbox-gift\").find(\"div.gift\");\r\n    if (this.obj.length == 0) {\r\n        return false\r\n    }\r\n    var c = \"\";\r\n    for (var b = 0, a = this.collocation[3].length; b < a; b++) {\r\n        c += '<div><a href=\"javascript:;\" onclick=\"GS.click(this)\" title=\"' + this.collocation[3][b] + '\">' + this.collocation[3][b] + \"</a></div>\"\r\n    }\r\n    this.obj.find(\"dl:eq(0) dd\").html(c);\r\n    c = \"\";\r\n    for (var b = 0, a = this.collocation[2].length; b < a; b++) {\r\n        c += '<div><a href=\"javascript:;\" onclick=\"GS.click(this)\" title=\"' + this.collocation[2][b] + '\">' + this.collocation[2][b] + \"</a></div>\"\r\n    }\r\n    this.obj.find(\"dl:eq(1) dd\").html(c);\r\n    this.obj.children(\"a\").bind(\"mouseenter\", function() {\r\n        if (GS.delytime) {\r\n            clearTimeout(GS.delytime)\r\n        }\r\n        $(this).parent().addClass(\"hover\")\r\n    }).bind(\"mouseleave\", function() {\r\n        GS.delytime = setTimeout(function() {\r\n            GS.obj.removeClass(\"hover\")\r\n        }, 500)\r\n    }).next(\"div.prompt\").bind(\"mouseenter\", function() {\r\n        clearTimeout(GS.delytime)\r\n    }).bind(\"mouseleave\", function() {\r\n        $(this).parent().removeClass(\"hover\")\r\n    })\r\n};\r\nGS.click = function(b) {\r\n    var a = this.obj.find(\"dl\").index($(b).parents(\"dl\"));\r\n    if ($(b).hasClass(\"curr\")) {\r\n        $(b).removeClass(\"curr\");\r\n        this.html(this.collocation[a + 2], a)\r\n    } else {\r\n        $(b).addClass(\"curr\").parent(\"div\").siblings().find(\"a\").removeClass(\"curr\");\r\n        this.html(this.collocation[a][$(b).html()], a)\r\n    }\r\n};\r\nGS.html = function(a, c) {\r\n    c = c === 0 ? 1 : 0;\r\n    var e = \"\", g, h = this.obj.find(\"dl:eq(\" + c + \")\"), f = h.find(\"a.curr\").html();\r\n    for (var d = 0, b = a.length; d < b; d++) {\r\n        if (f == a[d]) {\r\n            g = \"curr\"\r\n        } else {\r\n            g = \"\"\r\n        }\r\n        e += '<div><a class=\"' + g + '\" href=\"javascript:;\" onclick=\"GS.click(this)\" title=\"' + a[d] + '\">' + a[d] + \"</a></div>\"\r\n    }\r\n    h.find(\"dd\").html(e)\r\n};\r\nGS.search = function() {\r\n    var a, b = this.obj.find(\"dl:eq(0) a.curr\").html(), c = this.obj.find(\"dl:eq(1) a.curr\").html();\r\n    if (b && c) {\r\n        a = \"送\" + b + c + \"礼物\"\r\n    } else {\r\n        if (b) {\r\n            a = \"送\" + b + \"礼物\"\r\n        } else {\r\n            if (c) {\r\n                a = c + \"礼物\"\r\n            } else {\r\n                return false\r\n            }\r\n        }\r\n    }\r\n    this.obj.removeClass(\"hover\");\r\n    searchlog(1, 0, 0, 26);\r\n    window.open(\"/Search?keyword=\" + encodeURIComponent(a) + \"&enc=utf-8\")\r\n};\r\nSEARCH.iframe_click = {resolution: 200,iframes: [],interval: null,Iframe: function() {\r\n        this.element = arguments[0];\r\n        this.cb = arguments[1];\r\n        this.hasTracked = false\r\n    },track: function(b, a) {\r\n        this.iframes.push(new this.Iframe(b, a));\r\n        if (!this.interval) {\r\n            var c = this;\r\n            this.interval = setInterval(function() {\r\n                c.checkClick()\r\n            }, this.resolution)\r\n        }\r\n    },checkClick: function() {\r\n        if (document.activeElement) {\r\n            var b = document.activeElement;\r\n            for (var a in this.iframes) {\r\n                if (b === this.iframes[a].element) {\r\n                    if (this.iframes[a].hasTracked == false) {\r\n                        this.iframes[a].cb.apply(window, []);\r\n                        this.iframes[a].hasTracked = true\r\n                    }\r\n                } else {\r\n                    this.iframes[a].hasTracked = false\r\n                }\r\n            }\r\n        }\r\n    }};\r\nSEARCH.track_iframe_onebox = function() {\r\n    var e = this, d = $(\"#virtualWareIFrame\"), b = /^http\\:\\/\\/(.*)\\.(jd|360buy)\\.com/i, a = \"\", c = d.attr(\"src\");\r\n    if (d.length && b.test(c)) {\r\n        a = RegExp.$1;\r\n        if (a == \"life\" && c.indexOf(\"initRestaurant\") > -1) {\r\n            a = \"dingzuo\"\r\n        } else {\r\n            if (a == \"life\" && c.indexOf(\"initTakeOut\") > -1) {\r\n                a = \"waimai\"\r\n            }\r\n        }\r\n        e.iframe_click.track(document.getElementById(\"virtualWareIFrame\"), function() {\r\n            searchlog(1, 0, 0, 59, a)\r\n        })\r\n    }\r\n    return a\r\n};\r\nSEARCH.relate_search = {html: null,init: function() {\r\n        if (this.html === null) {\r\n            var a = QUERY_KEYWORD, b = this;\r\n            $.ajax({url: \"http://qpsearch.jd.com/relationalSearch?keyword=\" + encodeURIComponent(a).toLocaleLowerCase(),async: true,scriptCharset: \"utf-8\",dataType: \"jsonp\",success: function(c) {\r\n                    b.callback(c)\r\n                }})\r\n        } else {\r\n            if (this.html == \"\") {\r\n                $(\"#dialogbox-gift\").hide()\r\n            } else {\r\n                $(\"#dialogbox-gift\").append(this.html)\r\n            }\r\n        }\r\n    },callback: function(e) {\r\n        if (\"string\" == typeof (e) && e.length > 0) {\r\n            var g = e.replace(/\\*$/, \"\").split(\"*\"), a = [];\r\n            for (var f = 0, d = g.length; f < d; f++) {\r\n                if (\"\" == g[f]) {\r\n                    continue\r\n                }\r\n                a.push(g[f])\r\n            }\r\n            var h = '<div class=\"related-search\"><span>相关搜索：</span>';\r\n            for (var f = 0, d = Math.min(7, a.length); f < d; f++) {\r\n                var b = a[f], c = f == 0 ? ' class=\"fore\"' : \"\", k = f == d - 1 ? \"\" : \"<b></b>\";\r\n                h += \"<a onclick='searchlog(1, 0, \" + f + ', 52, \"' + b + \"\\\");' href='Search?keyword=\" + encodeURIComponent(b) + \"&enc=utf-8'\" + c + \">\" + b + \"</a>\" + k\r\n            }\r\n            h += \"</div>\";\r\n            $(\"#dialogbox-gift\").append(h);\r\n            this.html = h\r\n        } else {\r\n            $(\"#dialogbox-gift\").hide();\r\n            this.html = \"\"\r\n        }\r\n    }};\r\nSEARCH.get_book_summary = {fragment: ['<div class=\"img\"><img src=\"{img}\" width=\"280\" height=\"280\" alt=\"\" /></div><div class=\"text\"><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\">{detaile}</table></div>', '<div class=\"summary\"><div class=\"i-summary\"><div class=\"close\" onclick=\"$(this).parent().parent().hide()\"></div><div class=\"arrow\"></div><div class=\"con\"><div class=\"iloading\">\\u6b63\\u5728\\u52a0\\u8f7d\\u4e2d\\uff0c\\u8bf7\\u7a0d\\u5019...</div></div></div></div>', \"<tr><td>{name}{value}</td></tr>\"],dataUrl: \"http://d.360buy.com/bookExt/get?skuId=\",edataUrl: \"http://e.jd.com/ebook/ExteBookService.aspx?stype=search&skuid=\",setPosition: function(a) {\r\n        var c = $(a.get(0)).position(), b = window.pageConfig.wideVersion ? 360 : 120;\r\n        c.left > b && a.find(\".summary\").addClass(\"direct-left\")\r\n    },init: function() {\r\n        var a = this;\r\n        $(\"#plist\").find(\"li.item-book\").not('[done=\"1\"]').each(function(b) {\r\n            this.setAttribute(\"done\", \"1\");\r\n            var c = $(this);\r\n            c.find(\"img\").bind(\"mouseover\", function() {\r\n                if ($(\"#plist\").hasClass(\"plist-book\")) {\r\n                    return\r\n                }\r\n                var g = c.attr(\"bookid\");\r\n                c.css({\"z-index\": 4});\r\n                c.find(\".summary\").length == 1 && c.find(\".summary\").show();\r\n                if (!g) {\r\n                    return false\r\n                } else {\r\n                    c.append(a.fragment[1]);\r\n                    a.setPosition(c);\r\n                    c.removeAttr(\"bookid\");\r\n                    var d = c.find(\".con\");\r\n                    var f = (c.attr(\"e-tag\") == \"1\");\r\n                    var e = (!f ? a.dataUrl : a.edataUrl) + g + \"&callback=?\";\r\n                    $.getJSON(e, function(q) {\r\n                        q = q || {};\r\n                        if (!q.img) {\r\n                            q.img = c.find(\"img\").attr(\"src\").replace(\"/n2/\", \"/n1/\")\r\n                        } else {\r\n                            q.img = \"http://img10.360buyimg.com/n1/\" + q.img\r\n                        }\r\n                        var j = \"\";\r\n                        var h = \"\";\r\n                        var l = \"\";\r\n                        var o = \"\";\r\n                        var m = f ? $.trim(q.FileFormat) : \"\";\r\n                        var p = q.Author ? $.trim(q.Author) + \" 著 \" : \"\";\r\n                        var k = q.Editer ? $.trim(q.Editer) + \" 编 \" : \"\";\r\n                        var n = q.Transfer ? $.trim(q.Transfer) + \" 译 \" : \"\";\r\n                        var i = q.Drawer ? $.trim(q.Drawer) + \" 绘 \" : \"\";\r\n                        h = $.trim(p + k + n + i);\r\n                        if (!h) {\r\n                            h = \"暂无\"\r\n                        }\r\n                        if (m) {\r\n                            if (m == \"PDF\" || m == \"EXE\" || m == \"SWF\" || m == \"EPUB\") {\r\n                                l += '<b class=\"pc\"></b>'\r\n                            }\r\n                            if (m == \"EPUB\" || m == \"PDF\") {\r\n                                l += '<b class=\"iphone\"></b><b class=\"ipad\"></b>'\r\n                            }\r\n                            if (m == \"APK\" || m == \"EPUB\" || m == \"PDF\") {\r\n                                l += '<b class=\"android\"></b>'\r\n                            }\r\n                        }\r\n                        if (h) {\r\n                            o += a.fragment[2].replace(\"{name}\", \"作　　者：\").replace(\"{value}\", h)\r\n                        }\r\n                        if (q.Publishers) {\r\n                            o += a.fragment[2].replace(\"{name}\", \"出 &nbsp;版 &nbsp;社：\").replace(\"{value}\", q.Publishers)\r\n                        }\r\n                        if (q.PublishTime) {\r\n                            o += a.fragment[2].replace(\"{name}\", \"出版时间：\").replace(\"{value}\", q.PublishTime)\r\n                        }\r\n                        if (q.BatchNo > 0) {\r\n                            o += a.fragment[2].replace(\"{name}\", \"版　　次：\").replace(\"{value}\", q.BatchNo)\r\n                        }\r\n                        if (q.Pages) {\r\n                            o += a.fragment[2].replace(\"{name}\", \"页　　数：\").replace(\"{value}\", q.Pages)\r\n                        }\r\n                        if (q.PrintTime) {\r\n                            o += a.fragment[2].replace(\"{name}\", \"印刷时间：\").replace(\"{value}\", q.PrintTime)\r\n                        }\r\n                        if (q.Format) {\r\n                            o += a.fragment[2].replace(\"{name}\", \"开　　本：\").replace(\"{value}\", q.Format)\r\n                        }\r\n                        if (q.Papers) {\r\n                            o += a.fragment[2].replace(\"{name}\", \"纸　　张：\").replace(\"{value}\", q.Papers)\r\n                        }\r\n                        if (q.PrintNo > 0) {\r\n                            o += a.fragment[2].replace(\"{name}\", \"印　　数：\").replace(\"{value}\", q.PrintNo)\r\n                        }\r\n                        if (q.WordCount > 0) {\r\n                            o += a.fragment[2].replace(\"{name}\", \"字　　数：\").replace(\"{value}\", q.WordCount)\r\n                        }\r\n                        if (m) {\r\n                            o += a.fragment[2].replace(\"{name}\", \"文件格式：\").replace(\"{value}\", m)\r\n                        }\r\n                        if (q.ISBN) {\r\n                            o += a.fragment[2].replace(\"{name}\", \"ＩＳＢＮ：\").replace(\"{value}\", q.ISBN)\r\n                        }\r\n                        if (q.FileSize > 0) {\r\n                            o += a.fragment[2].replace(\"{name}\", \"文件大小：\").replace(\"{value}\", q.FileSize + \"M\")\r\n                        }\r\n                        if (l) {\r\n                            o += a.fragment[2].replace(\"{name}\", '<span class=\"carrier\">\\u652F\\u6301\\u8f7d\\u4F53\\uff1a</span>').replace(\"{value}\", l)\r\n                        }\r\n                        j = a.fragment[0].replace(/\\{img\\}/, q.img).replace(/\\{detaile\\}/, o);\r\n                        d.html(j)\r\n                    })\r\n                }\r\n            }).bind(\"mouseout\", function() {\r\n                c.css({\"z-index\": 0}).find(\".summary\").hide()\r\n            })\r\n        })\r\n    }};\r\nSEARCH.get_shop_info = function(b, a) {\r\n    if (b == \"\") {\r\n        return\r\n    } else {\r\n        var c = this\r\n    }\r\n    $.ajax({url: \"shop.php\",data: {shop_id: b},dataType: \"json\",success: function(e) {\r\n            if (typeof e != \"object\" || !e.name) {\r\n                return\r\n            }\r\n            e.score = e.score || 0;\r\n            e.full_score = (Math.floor(e.score * 10000) / 10000).toFixed(4);\r\n            e.star = Math.round(14 * e.full_score);\r\n            e.score = Math.floor(e.score * 100) / 100;\r\n            e.visible = e.score > 0 ? \"\" : 'style=\"visibility:hidden\"';\r\n            e.score = e.score.toFixed(2);\r\n            e.title = e.name;\r\n            if (e.brief && e.brief.length > 20) {\r\n                e.brief = e.brief.substr(0, 20) + \"...\"\r\n            }\r\n            if (!a) {\r\n                e.name = window.pageConfig.wideVersion ? e.name.substr(0, 35) : e.name.substr(0, 20);\r\n                var d = '<div class=\"store-logo\"><a href=\"{#url#}\" onclick=\"searchlog(1,' + b + ',0,58)\" target=\"_blank\"><img data-img=\"2\" data-lazyload=\"{#logo#}\"></a></div><div class=\"store-info\"><h2><a href=\"{#url#}\" title=\"{#title#}\" onclick=\"searchlog(1,' + b + ',0,58)\" target=\"_blank\">{#name#}</a></h2><div class=\"shop-about\">{#brief#}</div></div><div class=\"store-number\" {#visible#}><dl><dd id=\"evaluate\" title=\"{#full_score#}分\">{#evaluate#}</dd></dl></div><a href=\"{#url#}\" class=\"go-store\" onclick=\"searchlog(1,' + b + ',0,58)\" target=\"_blank\">进入店铺</a>';\r\n                var g = ((10 - e.full_score) * 10).toFixed(0);\r\n                e.evaluate = '<em>服务评价：</em><span class=\"grade\"><em style=\"left:-' + g + 'px\"></em></span> ' + (Math.floor(10 * e.full_score) / 10).toFixed(1) + \"分\";\r\n                d = c.util.template(d, e);\r\n                if (d != \"\") {\r\n                    $(\"#flagship-store\").html(d).show()\r\n                }\r\n            } else {\r\n                e.name = window.pageConfig.wideVersion ? e.name.substr(0, 14) : e.name.substr(0, 10);\r\n                var f = $(\"#plist-shop\").find('div[shop-id=\"' + b + '\"] > .shop-info');\r\n                if (e.logo) {\r\n                    f.find(\".shop-logo\").html('<a href=\"' + e.url + '\" title=\"' + e.title + '\" target=\"_blank\"><img data-img=\"2\" width=\"135\" height=\"45\" data-lazyload=\"' + e.logo + '\"></a>').show()\r\n                } else {\r\n                    f.find(\".shop-logo\").html('<a href=\"' + e.url + '\" title=\"' + e.title + '\" target=\"_blank\"></a>').show()\r\n                }\r\n                f.find(\".shop-sname a:eq(0)\").html(e.name).attr({title: e.title,href: e.url}).parent().show();\r\n                f.find(\".phrase\").html(e.brief).show();\r\n                var g = ((10 - e.full_score) * 10).toFixed(0);\r\n                f.find(\"dl.evaluate > dd\").html('<span class=\"grade\"><em style=\"left:-' + g + 'px\"></em></span> ' + (Math.floor(10 * e.full_score) / 10).toFixed(1) + \"分\").attr(\"title\", e.full_score + \"分\");\r\n                if (e.visible) {\r\n                    f.find(\"dl.evaluate\").hide()\r\n                } else {\r\n                    f.find(\"em.evaluate-grade\").find(\"strong\").attr(\"title\", e.full_score).find(\"a\").html(e.score)\r\n                }\r\n                f.find(\"a.go-shop\").attr(\"href\", e.url)\r\n            }\r\n            $(\"img[data-lazyload]\").Jlazyload({type: \"image\",placeholderClass: \"err-product\"})\r\n        }})\r\n};\r\nSEARCH.get_multi_shops = function() {\r\n    var b = this, a = $(\"#plist-shop\");\r\n    if (!a.length) {\r\n        return false\r\n    }\r\n    a.find(\"div[shop-id]\").not('[done=\"1\"]').each(function() {\r\n        this.setAttribute(\"done\", \"1\");\r\n        b.get_shop_info(this.getAttribute(\"shop-id\"), true)\r\n    })\r\n};\r\nSEARCH.get_im_info = function(a, b) {\r\n    if (!a || !b) {\r\n        return\r\n    }\r\n    $.ajax({url: \"http://chat1.jd.com/api/checkChat?venderList=\" + b,dataType: \"jsonp\",jsonp: \"callback\",scriptCharset: \"utf-8\",success: function(m) {\r\n            if (typeof (m) != \"object\") {\r\n                return\r\n            }\r\n            var d = {}, e = $(\"#store-selector\").find(\".text\").text(), f = function(u, t, i) {\r\n                var u = u == undefined ? \"\" : $.trim(u);\r\n                var j = u.match(t), i = i == undefined ? 1 : i;\r\n                return j === null ? \"\" : j[i]\r\n            };\r\n            for (var k = 0, h = m.length; k < h; k++) {\r\n                d[m[k].shopId] = m[k]\r\n            }\r\n            for (var k = 0, h = a.length; k < h; k++) {\r\n                var q = a.eq(k), s = d[q.attr(\"shop_id\")], o = \"\", g = {};\r\n                if (!s) {\r\n                    continue\r\n                }\r\n                if (s.code == 1) {\r\n                    o = '<i class=\"online\" title=\"联系客服\"></i>'\r\n                } else {\r\n                    if (s.code == 3) {\r\n                        o = '<i class=\"offline\" title=\"客服留言\"></i>'\r\n                    }\r\n                }\r\n                var n = $.trim(q.siblings(\".stocklist\").find(\"span\").html());\r\n                n = n == \"暂不支持配送\" ? n : n.substr(n.length - 2);\r\n                g.stock = e + \"（\" + n + \"）\";\r\n                g.pid = q.parent().parent().attr(\"sku\");\r\n                g.score = f(q.siblings(\".extra\").find(\"span.star-yellow\").attr(\"class\"), /star-yellow\\s{1}h(\\d+)/);\r\n                g.evaluationRate = f(q.siblings(\".extra\").find(\"span.reputation\").html(), /\\((\\d+)%好评\\)/);\r\n                g.commentNum = f(q.siblings(\".extra\").find(\"a\").html(), /已有(\\d+)人评价/);\r\n                var r = q.siblings(\".p-img\").find(\"img\");\r\n                var l = r.attr(\"src\");\r\n                if (l == undefined || l == \"http://misc.360buyimg.com/lib/img/e/blank.gif\") {\r\n                    l = r.attr(\"data-lazyload\")\r\n                }\r\n                g.imgUrl = f(l, /http\\S+?\\.com\\/\\w+?\\/(\\S+)/);\r\n                g.wname = f(q.siblings(\".p-name\").find(\"a\").html().replace(/<span[\\s\\S]+?<\\/span>|<font class=\"skcolor_ljg\">|<\\/font>/g, \"\"), /([\\s\\S]+?)<font style=\"color:#ff0000\"[\\s\\S]+/);\r\n                g.advertiseWord = $.trim(q.siblings(\".p-name\").find(\"font.adwords\").html());\r\n                g.seller = $.trim(s.seller);\r\n                g.venderId = s.venderId;\r\n                g.entry = \"jd_search\";\r\n                var c = \"http://chat.jd.com/index.action?\";\r\n                for (var p in g) {\r\n                    c += p + \"=\" + encodeURI(encodeURI(g[p])) + \"&\"\r\n                }\r\n                q.find(\"a\").html(q.find(\"a\").html() + o).find(\"i\").click((function(i) {\r\n                    return function() {\r\n                        window.open(i);\r\n                        return false\r\n                    }\r\n                })(c))\r\n            }\r\n        }})\r\n};\r\nSEARCH.get_shop_name = function() {\r\n    var e = this, c = $(\"#plist\").find(\"div.service,div.shop-name\").not('[done=\"1\"]').filter(\"[shop_id]\"), d = c.length;\r\n    if (!d) {\r\n        return false\r\n    }\r\n    for (var b = 0, a = []; b < d; b++) {\r\n        c[b].setAttribute(\"done\", \"1\");\r\n        a.push(c[b].getAttribute(\"shop_id\"))\r\n    }\r\n    $.getJSON(\"ShopName.php\", {ids: a.unique().join(\",\")}, function(n) {\r\n        if (typeof n != \"object\") {\r\n            return\r\n        }\r\n        var f = {}, g = [], m = $(\"#plist\").find(\"ul.list-h\").attr(\"tpl\");\r\n        for (var k = 0, h = n.length; k < h; k++) {\r\n            f[n[k].id] = n[k]\r\n        }\r\n        for (var k = 0; k < d; k++) {\r\n            var o = c.eq(k), p = f[o.attr(\"shop_id\")];\r\n            if (!p) {\r\n                continue\r\n            }\r\n            if (m != \"1\") {\r\n                var l = '<a target=\"_blank\" onclick=\"searchlog(1,' + p.id + ',0,58)\" href=\"' + p.url + '\" title=\"' + p.title + '\">' + p.title + \"</a>\";\r\n                m == \"2\" && (l = \"由 \" + l + \" 发货\");\r\n                o.html(l);\r\n                m == \"3\" && g.push($.trim(String(p.venderId)))\r\n            }\r\n        }\r\n        e.get_im_info(c, g.unique().join(\",\"))\r\n    })\r\n};\r\nSEARCH.bind_events = {iplocation: (function(e, k) {\r\n        var b = e(\"#store-selector\");\r\n        if (b.length == 0) {\r\n            return function() {\r\n            }\r\n        }\r\n        var n = '<div data-widget=\"tabs\" class=\"m JD-stock\" id=\"JD-stock\"><div class=\"mt\">    <ul class=\"tab\">        <li data-index=\"0\" data-widget=\"tab-item\" class=\"curr\"><a href=\"javascript:;\" class=\"hover\"><em>请选择</em><i></i></a></li>        <li data-index=\"1\" data-widget=\"tab-item\" style=\"display:none;\"><a href=\"javascript:;\" class=\"\"><em>请选择</em><i></i></a></li>        <li data-index=\"2\" data-widget=\"tab-item\" style=\"display:none;\"><a href=\"javascript:;\" class=\"\"><em>请选择</em><i></i></a></li>        <li data-index=\"3\" data-widget=\"tab-item\" style=\"display:none;\"><a href=\"javascript:;\" class=\"\"><em>请选择</em><i></i></a></li>    </ul>    <div class=\"stock-line\"></div></div><div class=\"mc\" data-area=\"0\" data-widget=\"tab-content\">    <ul class=\"area-list\">       <li><a href=\"javascript:;\" data-value=\"1\">北京</a></li><li><a href=\"javascript:;\" data-value=\"2\">上海</a></li><li><a href=\"javascript:;\" data-value=\"3\">天津</a></li><li><a href=\"javascript:;\" data-value=\"4\">重庆</a></li><li><a href=\"javascript:;\" data-value=\"5\">河北</a></li><li><a href=\"javascript:;\" data-value=\"6\">山西</a></li><li><a href=\"javascript:;\" data-value=\"7\">河南</a></li><li><a href=\"javascript:;\" data-value=\"8\">辽宁</a></li><li><a href=\"javascript:;\" data-value=\"9\">吉林</a></li><li><a href=\"javascript:;\" data-value=\"10\">黑龙江</a></li><li><a href=\"javascript:;\" data-value=\"11\">内蒙古</a></li><li><a href=\"javascript:;\" data-value=\"12\">江苏</a></li><li><a href=\"javascript:;\" data-value=\"13\">山东</a></li><li><a href=\"javascript:;\" data-value=\"14\">安徽</a></li><li><a href=\"javascript:;\" data-value=\"15\">浙江</a></li><li><a href=\"javascript:;\" data-value=\"16\">福建</a></li><li><a href=\"javascript:;\" data-value=\"17\">湖北</a></li><li><a href=\"javascript:;\" data-value=\"18\">湖南</a></li><li><a href=\"javascript:;\" data-value=\"19\">广东</a></li><li><a href=\"javascript:;\" data-value=\"20\">广西</a></li><li><a href=\"javascript:;\" data-value=\"21\">江西</a></li><li><a href=\"javascript:;\" data-value=\"22\">四川</a></li><li><a href=\"javascript:;\" data-value=\"23\">海南</a></li><li><a href=\"javascript:;\" data-value=\"24\">贵州</a></li><li><a href=\"javascript:;\" data-value=\"25\">云南</a></li><li><a href=\"javascript:;\" data-value=\"26\">西藏</a></li><li><a href=\"javascript:;\" data-value=\"27\">陕西</a></li><li><a href=\"javascript:;\" data-value=\"28\">甘肃</a></li><li><a href=\"javascript:;\" data-value=\"29\">青海</a></li><li><a href=\"javascript:;\" data-value=\"30\">宁夏</a></li><li><a href=\"javascript:;\" data-value=\"31\">新疆</a></li><li><a href=\"javascript:;\" data-value=\"32\">台湾</a></li><li><a href=\"javascript:;\" data-value=\"42\">香港</a></li><li><a href=\"javascript:;\" data-value=\"43\">澳门</a></li><li><a href=\"javascript:;\" data-value=\"84\">钓鱼岛</a></li>    </ul></div><div class=\"mc\" data-area=\"1\" data-widget=\"tab-content\"></div><div class=\"mc\" data-area=\"2\" data-widget=\"tab-content\"></div><div class=\"mc\" data-area=\"3\" data-widget=\"tab-content\"></div></div><span class=\"clr\"></span>';\r\n        b.children(\".content\").html(n);\r\n        var g = b.find(\"li[data-widget]\"), d = b.find('div[data-widget=\"tab-content\"]'), h = 3, c = [], f = true, i;\r\n        function j(q) {\r\n            var p = c[q], o = c[q - 1] || 0;\r\n            return k.json_city[o][p] || \"\"\r\n        }\r\n        function a(o) {\r\n            e(d[o - 1]).hide();\r\n            e(d[o]).html('<div class=\"iloading\">正在加载中，请稍候...</div>').show()\r\n        }\r\n        function m(r, o, p, q) {\r\n            if (!o) {\r\n                return\r\n            }\r\n            c[r - 1] = o;\r\n            if (k.json_city[o]) {\r\n                l(k.json_city[o], r, p, q)\r\n            } else {\r\n                if (r < h) {\r\n                    a(r);\r\n                    k.getAreaList_callback = function(v) {\r\n                        if (!v) {\r\n                            return\r\n                        }\r\n                        var s = {};\r\n                        for (var u = 0, t = v.length; u < t; u++) {\r\n                            s[String(v[u][\"id\"])] = v[u][\"name\"]\r\n                        }\r\n                        k.json_city[String(o)] = s;\r\n                        l(s, r, p, q)\r\n                    };\r\n                    e.getJSONP(\"http://d.jd.com/area/get?fid=\" + o + \"&callback=getAreaList_callback\")\r\n                } else {\r\n                    l([], r, p, q)\r\n                }\r\n            }\r\n        }\r\n        function l(y, o, A, C) {\r\n            if (!C && (!i[o] || \"0\" == i[o])) {\r\n                for (var v in y) {\r\n                    break\r\n                }\r\n                i[o] = v\r\n            }\r\n            var u = j(o - 1);\r\n            if (o > 0) {\r\n                e(g[o - 1]).find(\"a\").attr(\"title\", u);\r\n                e(g[o - 1]).find(\"em\").html(u.substr(0, 6))\r\n            }\r\n            if (o >= h) {\r\n                var z = \"\", D = k.SEARCH;\r\n                for (var v = 0; v < 4; v++) {\r\n                    if (c[v]) {\r\n                        z += c[v] + \"-\"\r\n                    } else {\r\n                        z += \"0-\"\r\n                    }\r\n                }\r\n                D.util.setCookie(\"ipLoc-djd\", z.substring(0, z.length - 1), 30);\r\n                D.util.setCookie(\"ipLocation\", k.json_city[0][c[0]], 30);\r\n                if (C) {\r\n                    b.removeClass(\"hover\");\r\n                    k.location.href = k.location.pathname + \"?\" + D.util.filtUrl(D.base_url, \"stock\") + \"&psort=\" + D.psort + \"&\" + Math.random() + \"#filter\";\r\n                    return false\r\n                }\r\n                var x = \"\";\r\n                for (var v = 0, t = 3, q = 0; v < t; v++) {\r\n                    if (k.json_city[q] && c[v] && k.json_city[q][c[v]]) {\r\n                        x += k.json_city[q][c[v]]\r\n                    }\r\n                    q = c[v]\r\n                }\r\n                x = x.substr(0, 13) + \"<b/>\";\r\n                b.children(\".text\").html(x);\r\n                return\r\n            } else {\r\n                e(d[o - 1]).hide();\r\n                e(g[o - 1]).removeClass(\"curr\")\r\n            }\r\n            var w = '<ul class=\"area-list\">', r = \"\", B = \"\";\r\n            for (var p in y) {\r\n                y[p] = y[p].replace(\" \", \"\");\r\n                if (y[p].length > 12) {\r\n                    B += \"<li class='longer-area'><a href='javascript:;' data-value='\" + p + \"'>\" + y[p] + \"</a></li>\"\r\n                } else {\r\n                    if (y[p].length > 5) {\r\n                        r += \"<li class='long-area'><a href='javascript:;' data-value='\" + p + \"'>\" + y[p] + \"</a></li>\"\r\n                    } else {\r\n                        w += \"<li><a href='javascript:;' data-value='\" + p + \"'>\" + y[p] + \"</a></li>\"\r\n                    }\r\n                }\r\n            }\r\n            w += r + B + \"</ul>\";\r\n            e(d[o]).html(w).show();\r\n            e(g[o]).addClass(\"curr\").show().find(\"em\").html(\"请选择\");\r\n            if (A) {\r\n                A()\r\n            }\r\n        }\r\n        return function() {\r\n            b = e(\"#store-selector\");\r\n            b.children(\".content\").html(n);\r\n            g = b.find(\"li[data-widget]\");\r\n            d = b.find('div[data-widget=\"tab-content\"]');\r\n            c = [];\r\n            f = true;\r\n            d.click(function(q) {\r\n                f = false;\r\n                var p = e(q.srcElement || q.target), o = parseInt(p.attr(\"data-value\"), 10);\r\n                if (!o) {\r\n                    return\r\n                }\r\n                m(parseInt(p.parent().parent().parent().attr(\"data-area\")) + 1, o, \"\", 1);\r\n                return false\r\n            });\r\n            g.click(function(q) {\r\n                f = false;\r\n                var p = e(this), r = parseInt(p.attr(\"data-index\"));\r\n                if (r >= h - 1) {\r\n                    return\r\n                }\r\n                for (var o = r + 1; o < h; o++) {\r\n                    e(g[o]).hide();\r\n                    e(d[o]).hide()\r\n                }\r\n                e(g[r]).addClass(\"curr\");\r\n                e(d[r]).show();\r\n                return false\r\n            });\r\n            i = (readCookie(\"ipLoc-djd\") || \"\").split(\"-\");\r\n            if (!i[0] || !k.json_city[0][i[0]]) {\r\n                i = [\"1\"]\r\n            }\r\n            m(1, i[0], (function() {\r\n                var o = 1, p = function() {\r\n                    o++;\r\n                    m(o, i[o - 1], p)\r\n                };\r\n                return p\r\n            })());\r\n            b.mouseover(function() {\r\n                b.addClass(\"hover\")\r\n            }).mouseout(function() {\r\n                if (f) {\r\n                    b.removeClass(\"hover\")\r\n                }\r\n            })\r\n        }\r\n    })($, window),box_search: function() {\r\n        var a = $(\"#box-search\");\r\n        if (!a.length) {\r\n            return\r\n        }\r\n        $.get(\"hub.php?keyword=\" + encodeURIComponent(QUERY_KEYWORD) + \"&enc=utf-8\", function(b) {\r\n            if (!b) {\r\n                return\r\n            }\r\n            $(\"#virtualWareIFrame\").hide();\r\n            a.after(b).remove();\r\n            $(\"#complex-onebox\").each(function() {\r\n                var c = $(this);\r\n                c.Jtab({compatible: true}, function() {\r\n                    c.find(\"div.extra\").find(\"a\").hide().eq(arguments[2]).show()\r\n                })\r\n            })\r\n        })\r\n    },baby_info: function() {\r\n        if ($(\"#babyQueryAttr\").length == 1) {\r\n            $.delayLoad(false, \"http://misc.360buyimg.com/201007/skin/df/cal.css\");\r\n            $.delayLoad(true, \"http://misc.360buyimg.com/product/js/2013/jQuery.Jcal.min.js\", \"gbk\", SEARCH.get_baby_info)\r\n        }\r\n    },brandFolded: function() {\r\n        if ($.browser.isIE6) {\r\n            $(\"#select\").find(\".attr\").eq(0).css(\"border-top\", \"none\")\r\n        }\r\n        var g = $(\"#select\").find(\"div.brand-attr\");\r\n        if (!g.length) {\r\n            return\r\n        }\r\n        var j = $(\"#brand-search\"), h = g.find(\"div.tabcon\"), i = h.children(\"div\"), c = h.hasClass(\"show-logo\"), b = window.pageConfig.wideVersion ? c ? 14 : 15 : c ? 10 : 12, l = g.find(\"ul.tab\"), f = \"可搜索拼音、汉字查找品牌\", d = false, e;\r\n        i.slice(b).css(\"display\", \"none\");\r\n        c && i.mouseover(function() {\r\n            $(this).addClass(\"hover\")\r\n        }).mouseout(function() {\r\n            $(this).removeClass(\"hover\")\r\n        });\r\n        if (i.length <= b) {\r\n            return\r\n        }\r\n        function k(o, n) {\r\n            o.addClass(\"curr\").siblings().removeClass(\"curr\");\r\n            j.val(f);\r\n            e = \"\";\r\n            if (n == \"0\") {\r\n                i.css(\"display\", \"block\")\r\n            } else {\r\n                i.css(\"display\", \"none\").filter(\"[rel='\" + n + \"']\").css(\"display\", \"block\")\r\n            }\r\n        }\r\n        var a, m = window.SEARCH;\r\n        l.mouseover(function(o) {\r\n            var n = $(o.target).attr(\"rel\");\r\n            if (n == undefined || e) {\r\n                return\r\n            }\r\n            if (a) {\r\n                clearTimeout(a)\r\n            }\r\n            a = setTimeout(function() {\r\n                k($(o.target), n)\r\n            }, 150)\r\n        }).mouseout(function(n) {\r\n            a && clearTimeout(a)\r\n        }).click(function(o) {\r\n            var n = $(o.target).attr(\"rel\");\r\n            if (n == undefined) {\r\n                return\r\n            }\r\n            k($(o.target), n)\r\n        });\r\n        g.find(\"span.o-more\").click(function() {\r\n            if (!d) {\r\n                h.removeClass().addClass(c ? \"tabcon tabcon-multi show-logo height185\" : \"tabcon tabcon-multi\");\r\n                j.parent().removeClass(\"hide\");\r\n                i.css(\"display\", \"block\");\r\n                l.show()\r\n            } else {\r\n                h.removeClass(c ? \"tabcon-multi height185\" : \"tabcon-multi\");\r\n                j.parent().addClass(\"hide\");\r\n                i.slice(0, b).css(\"display\", \"block\");\r\n                i.slice(b).css(\"display\", \"none\");\r\n                l.hide().find(\"li\").removeClass(\"curr\").eq(0).addClass(\"curr\")\r\n            }\r\n            d = !d\r\n        });\r\n        window.brand_search_result = function(p) {\r\n            if (typeof p != \"object\") {\r\n                return\r\n            }\r\n            i.css(\"display\", \"none\");\r\n            for (var o = 0, n = p.length; o < n; o++) {\r\n                if (p[o].id) {\r\n                    $(\"#brand_id_\" + p[o].id).css(\"display\", \"block\")\r\n                }\r\n            }\r\n        };\r\n        j.val(f).click(function() {\r\n            if (this.value == f) {\r\n                this.value = \"\";\r\n                var n = l.find(\".curr\");\r\n                if (n.attr(\"rel\") != \"0\") {\r\n                    n.removeClass(\"curr\");\r\n                    l.find(\"li[rel='0']\").addClass(\"curr\");\r\n                    i.css(\"display\", \"block\")\r\n                }\r\n            }\r\n            searchlog(1, 0, 0, 49)\r\n        }).blur(function() {\r\n            if (this.value == \"\") {\r\n                this.value = f\r\n            }\r\n        }).keyup(function(o) {\r\n            if (o.keyCode == 13) {\r\n                var n = h.find(\"div:visible\");\r\n                if (n.length == 1) {\r\n                    window.location.href = n.find(\"a\").attr(\"href\");\r\n                    return false\r\n                }\r\n            }\r\n            var p = $.trim(this.value);\r\n            if (p == e) {\r\n                return\r\n            }\r\n            if (p != \"\") {\r\n                m.util.sGetScript(\"http://bsearch.jd.com/?callback=brand_search_result&ids=\" + m.brand_ids + \"&key=\" + encodeURIComponent(p), \"UTF-8\", true)\r\n            } else {\r\n                i.css(\"display\", \"block\")\r\n            }\r\n            e = p\r\n        })\r\n    },handle_more_multi: function(f) {\r\n        var a = $(\"div.prop-attrs[done!=1]:visible\").not(\"#babyQueryAttr\");\r\n        a.each(function() {\r\n            var h = $(this), j = h.find(\"li\"), i = h.find(\"ul\").width(), g = 0;\r\n            j.each(function() {\r\n                g += $(this).outerWidth(true)\r\n            });\r\n            i < g && h.find(\"span.o-more\").removeClass(\"hide\");\r\n            j.length < 3 && h.find(\"span.o-multiple\").addClass(\"hide\");\r\n            h.attr(\"done\", 1)\r\n        });\r\n        if (!f) {\r\n            var d = $(\"#select\").find(\"div.brand-attr\"), e, c, b;\r\n            if (d.length) {\r\n                e = d.find(\"div[rel]\").length;\r\n                b = d.find(\"div.tabcon\").hasClass(\"show-logo\");\r\n                c = window.pageConfig.wideVersion ? b ? 14 : 15 : b ? 10 : 12;\r\n                if (e < 3) {\r\n                    d.find(\".v-option\").addClass(\"hide\")\r\n                } else {\r\n                    if (e <= c) {\r\n                        d.find(\".o-more\").addClass(\"hide\")\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    },bind_more_multi: function() {\r\n        $(\"span.o-more\").click(function(b) {\r\n            var a = $(this);\r\n            a.toggleClass(\"fold\");\r\n            a.parent().prev().toggleClass(\"v-unfold\");\r\n            if (a.attr(\"class\") == \"o-more\") {\r\n                a.html(\"<b></b>更多\")\r\n            } else {\r\n                a.html(\"<b></b>收起\")\r\n            }\r\n            if (b.hasOwnProperty(\"originalEvent\")) {\r\n                searchlog(1, 0, 0, 50)\r\n            }\r\n        });\r\n        $(\"div.prop-attrs,div.color-attr\").find(\"span.o-multiple\").click(function(c) {\r\n            $(\"#select\").find(\"a.btn-gray:visible\").not(\".btn-price-range\").click();\r\n            var b = $(this), a = b.parents(\".attr\");\r\n            b.parent().hide();\r\n            a.addClass(\"attr-select\");\r\n            if (c.hasOwnProperty(\"originalEvent\")) {\r\n                searchlog(1, 0, 0, 24)\r\n            }\r\n        });\r\n        $(\"div.brand-attr span.o-multiple\").click(function(c) {\r\n            $(\"#select\").find(\"a.btn-gray:visible\").not(\".btn-price-range,.btn-submit,.tc-btn\").click();\r\n            var b = $(this), a = $(\"div.brand-attr\");\r\n            if (!a.find(\".o-more\").hasClass(\"fold\")) {\r\n                a.find(\".o-more\").click()\r\n            }\r\n            b.parent().hide();\r\n            a.children().addClass(\"attr-select\");\r\n            a.find(\".selected\").removeClass(\"selected\");\r\n            a.find(\".dd\").html(\"\");\r\n            if (c.hasOwnProperty(\"originalEvent\")) {\r\n                searchlog(1, 0, 0, 24)\r\n            }\r\n        });\r\n        $(\"a.btn-red\").click(function() {\r\n            if (!$(this).hasClass(\"disabled\")) {\r\n                searchlog(1, 0, 0, 25);\r\n                window.location.href = window.location.pathname + \"?\" + MS.submit_url() + \"#select\"\r\n            }\r\n            return false\r\n        });\r\n        $(\"a.btn-gray\").not(\".btn-price-range\").click(function(b) {\r\n            var a = $(this), c = a.parents(\".attr-select\");\r\n            c.find(\"a.curr\").removeClass(\"curr\");\r\n            c.find(\".selected\").removeClass(\"selected\");\r\n            c.removeClass(\"attr-select\").find(\"a.btn-red\").addClass(\"disabled\");\r\n            delete MS.selected_attr;\r\n            c.find(\".v-option\").show();\r\n            if (c.find(\".o-more\").hasClass(\"fold\")) {\r\n                c.find(\".o-more\").click()\r\n            }\r\n            if (c.parent().hasClass(\"brand-attr\")) {\r\n                c.find(\".s-brands\").css(\"display\", \"none\");\r\n                c.find(\"li[rel]\").removeClass(\"curr\").eq(0).addClass(\"curr\")\r\n            }\r\n            if (b.hasOwnProperty(\"originalEvent\")) {\r\n                searchlog(1, 0, 0, 24)\r\n            }\r\n            return false\r\n        })\r\n    },priceSelect: function() {\r\n        var b = $(\"#select\"), a = b.find(\"input.price-range\");\r\n        if (!a.length) {\r\n            return\r\n        }\r\n        a.keypress(function(d) {\r\n            var c = d.keyCode || d.charCode;\r\n            if (c && (c < 48 || c > 57) && c != 46 && c != 8 && c != 37 && c != 39) {\r\n                d.preventDefault()\r\n            }\r\n        }).blur(function(g) {\r\n            var d = $(this), c = $.trim(d.val()), f = new RegExp(\"^[0-9]+(.[0-9]{2})?$\", \"g\");\r\n            if (!f.test(c)) {\r\n                d.val(\"\")\r\n            }\r\n            g.stopPropagation()\r\n        });\r\n        b.find(\"a.btn-price-range\").click(function() {\r\n            var f = a.eq(0).val(), c = a.eq(1).val(), d = $(this).attr(\"url\");\r\n            f = parseInt(f, 10);\r\n            c = parseInt(c, 10);\r\n            if (!isNaN(f) && !isNaN(c)) {\r\n                if (f > c) {\r\n                    var e = f;\r\n                    f = c;\r\n                    c = e\r\n                }\r\n                searchlog(1, 0, 0, 22, \"价格::\" + f + \"-\" + c);\r\n                d = d.replace(\"min\", f).replace(\"max\", c)\r\n            } else {\r\n                if (!isNaN(f)) {\r\n                    searchlog(1, 0, 0, 22, \"价格::\" + f + \"gt\");\r\n                    d = d.replace(\"min\", f).replace(\"-max\", \"gt\")\r\n                } else {\r\n                    if (!isNaN(c)) {\r\n                        searchlog(1, 0, 0, 22, \"价格::0-\" + c);\r\n                        d = d.replace(\"min\", 0).replace(\"max\", c)\r\n                    } else {\r\n                        return false\r\n                    }\r\n                }\r\n            }\r\n            window.location.href = SEARCH.util.filtUrl(d, \"psort\", SEARCH.psort)\r\n        })\r\n    },viewTypeSelect: function() {\r\n        var a = window.SEARCH;\r\n        a.view_type = 2;\r\n        if ($(\"#grid-unselected\").hasClass(\"grid-curr\")) {\r\n            a.view_type = 2\r\n        } else {\r\n            if ($(\"#shop-unselected\").hasClass(\"shop-curr\")) {\r\n                a.view_type = 3\r\n            }\r\n        }\r\n        $(\"#list-unselected\").click(function() {\r\n            $(this).addClass(\"list-curr\");\r\n            $(\"#grid-unselected\").removeClass(\"grid-curr\").addClass(\"grid-unselected\");\r\n            $(\"#plist\").addClass(\"plist-book\");\r\n            a.view_type = 1;\r\n            a.util.bind_attr_href(\"vt\", 1)\r\n        });\r\n        $(\"#grid-unselected\").click(function() {\r\n            $(this).addClass(\"grid-curr\");\r\n            $(\"#list-unselected\").removeClass(\"list-curr\").addClass(\"list-unselected\");\r\n            $(\"#plist\").removeClass(\"plist-book\");\r\n            a.view_type = 2;\r\n            a.util.bind_attr_href(\"vt\", 2)\r\n        })\r\n    },reSearch: function() {\r\n        var d = $(\"#text-stock-search\"), c = $(\"#btn-stock-search\"), a = \"在结果中搜索\";\r\n        function b() {\r\n            if ($.trim(d.val()) != \"\" && $.trim(d.val()) != a) {\r\n                searchlog(1, 0, 0, 27);\r\n                window.location.href = c.attr(\"url\") + encodeURIComponent($.trim(d.val())) + \"#filter\";\r\n                return false\r\n            }\r\n        }\r\n        d.focus(function() {\r\n            if ($.trim(d.val()) == a) {\r\n                d.val(\"\")\r\n            }\r\n        }).blur(function() {\r\n            if ($.trim(d.val()) == \"\") {\r\n                d.val(a)\r\n            }\r\n        }).keydown(function(f) {\r\n            if (f.keyCode == 13) {\r\n                b()\r\n            }\r\n        });\r\n        c.click(function() {\r\n            b()\r\n        })\r\n    },init: function() {\r\n        for (var a in this) {\r\n            a != \"init\" && this[a]()\r\n        }\r\n        GS.init()\r\n    }};\r\nSEARCH.top_page_html = function(d, e, g, b) {\r\n    if (b) {\r\n        this.page_num = d;\r\n        d = Math.ceil(d / 2);\r\n        e = Math.ceil(e / 2);\r\n        var a = 2 * d - 3, f = 2 * d + 1\r\n    } else {\r\n        var a = d - 1, f = d + 1\r\n    }\r\n    var c = '<span class=\"text\"><i>' + d + \"</i>/\" + e + \"</span>\";\r\n    if (d <= 1) {\r\n        c += '<span class=\"prev-disabled\">上一页<b></b></span>'\r\n    } else {\r\n        c += '<a onclick=\"SEARCH.page(' + a + ')\" href=\"javascript:;\" class=\"prev\" title=\"使用方向键左键也可翻到上一页哦！\">上一页<b></b></a>'\r\n    }\r\n    if (d >= e) {\r\n        c += '<span class=\"next-disabled\">下一页<b></b></span>'\r\n    } else {\r\n        c += '<a onclick=\"SEARCH.page(' + f + ')\" href=\"javascript:;\" class=\"next\" title=\"使用方向键右键也可翻到下一页哦！\">下一页<b></b></a>'\r\n    }\r\n    $(\"#top_pagi\").html(c);\r\n    $(\"#res_count\").html(g)\r\n};\r\nSEARCH.bottom_page_html = function(e, k, j) {\r\n    if (j) {\r\n        this.page_num = e;\r\n        e = Math.ceil(e / 2);\r\n        k = Math.ceil(k / 2);\r\n        var d = 2 * e - 3, g = 2 * e + 1\r\n    } else {\r\n        var d = e - 1, g = e + 1\r\n    }\r\n    if (k < 0) {\r\n        return \"\"\r\n    }\r\n    var a = e - 2, b = Math.min(k, e + 2), f = \"\";\r\n    if (b < 7) {\r\n        b = Math.min(7, k)\r\n    } else {\r\n        a = b - 4\r\n    }\r\n    if (e <= 1) {\r\n        f += '<span class=\"prev-disabled\">上一页<b></b></span>'\r\n    } else {\r\n        f += '<a onclick=\"SEARCH.page(' + d + ', true)\" href=\"javascript:;\" class=\"prev\" title=\"使用方向键左键也可翻到上一页哦！\">上一页<b></b></a>'\r\n    }\r\n    for (var h = 1; h <= k; h++) {\r\n        if (h <= 2 || h >= a && h <= b) {\r\n            f += h == e ? '<a href=\"javascript:;\" class=\"current\">' + h + \"</a>\" : '<a onclick=\"SEARCH.page(' + (j ? 2 * h - 1 : h) + ', true)\" href=\"javascript:;\">' + h + \"</a>\"\r\n        } else {\r\n            if (h < a) {\r\n                f += '<span class=\"text\">…</span>';\r\n                h = a - 1\r\n            } else {\r\n                if (h > b) {\r\n                    f += '<span class=\"text\">…</span>';\r\n                    break\r\n                }\r\n            }\r\n        }\r\n    }\r\n    if (e >= k) {\r\n        f += '<span class=\"next-disabled\">下一页<b></b></span>'\r\n    } else {\r\n        f += '<a onclick=\"SEARCH.page(' + g + ', true)\" href=\"javascript:;\" class=\"next\" title=\"使用方向键右键也可翻到下一页哦！\">下一页<b></b></a>'\r\n    }\r\n    f += '<span class=\"page-skip\"><em>&nbsp;&nbsp;共' + k + '页&nbsp;&nbsp;&nbsp;&nbsp;到第</em><input class=\"jumpto\" type=\"text\" value=\"' + e + '\" onkeydown=\"javascript:if(event.keyCode==13){SEARCH.page_jump(' + k + \",\" + j + ');return false;}\"/><em>页</em><a class=\"btn-skipsearch\" value=\"确定\" onclick=\"SEARCH.page_jump(' + k + \",\" + j + ')\" href=\"javascript:;\">确定</a></span>';\r\n    $(\"#pagin-btm\").html(f)\r\n};\r\nSEARCH.page = function(b, a) {\r\n    b = parseInt(b, 10);\r\n    if (b < 1) {\r\n        b = 1\r\n    }\r\n    window.location = \"http://www.migo.com/search.html?q=\"+SEARCH.query+\"&page=\"+b;\r\n//    if (a) {\r\n//        window.scrollTo(0, $(\"#filter\").offset().top)\r\n//    }\r\n   // searchlog(1, b, 0, 56)\r\n};\r\nSEARCH.page_jump = function(b, a) {\r\n    var c = parseInt($(\"#pagin-btm .jumpto\").val(), 10);\r\n    if (isNaN(c)) {\r\n        c = 1\r\n    }\r\n    if (c > b) {\r\n        c = b\r\n    }\r\n    return a ? this.page(2 * c - 1, true) : this.page(c, true), false\r\n};\r\nSEARCH.sort_html = function(c) {\r\n    c = c || \"\";\r\n    if (c == \"0\") {\r\n        c = \"\"\r\n    }\r\n    var b = \"<dt>排序：</dt>\", a = '<dd class=\"#class#\"><a href=\"javascript:;\" onclick=\"#click#\">#name#</a><b></b></dd>', d = class_name = \"\";\r\n    if (c == \"\") {\r\n        class_name = \"curr\"\r\n    } else {\r\n        d = \"SEARCH.sort('')\"\r\n    }\r\n    b += a.replace(\"#class#\", class_name).replace(\"#click#\", d).replace(\"#name#\", \"相关度\");\r\n    class_name = d = \"\";\r\n    if (c == \"3\") {\r\n        class_name = \"curr down\"\r\n    } else {\r\n        d = \"SEARCH.sort('3')\"\r\n    }\r\n    b += a.replace(\"#class#\", class_name).replace(\"#click#\", d).replace(\"#name#\", \"销量\");\r\n    if (c == \"2\") {\r\n        class_name = \"price curr up\";\r\n        d = \"SEARCH.sort('1')\"\r\n    } else {\r\n        if (c == \"1\") {\r\n            class_name = \"price curr down\";\r\n            d = \"SEARCH.sort('2')\"\r\n        } else {\r\n            class_name = \"\";\r\n            d = \"SEARCH.sort('2')\"\r\n        }\r\n    }\r\n    b += a.replace(\"#class#\", class_name).replace(\"#click#\", d).replace(\"#name#\", \"价格\");\r\n    class_name = d = \"\";\r\n    if (c == \"4\") {\r\n        class_name = \"curr\"\r\n    } else {\r\n        d = \"SEARCH.sort('4')\"\r\n    }\r\n    b += a.replace(\"#class#\", class_name).replace(\"#click#\", d).replace(\"#name#\", \"评论数\");\r\n    if ($(\"#list-unselected\").length > 0) {\r\n        class_name = d = \"\";\r\n        if (c == \"6\") {\r\n            class_name = \"curr\"\r\n        } else {\r\n            d = \"SEARCH.sort('6')\"\r\n        }\r\n        b += a.replace(\"#class#\", class_name).replace(\"#click#\", d).replace(\"#name#\", \"出版时间\")\r\n    } else {\r\n        class_name = d = \"\";\r\n        if (c == \"5\") {\r\n            class_name = \"curr\"\r\n        } else {\r\n            d = \"SEARCH.sort('5')\"\r\n        }\r\n        b += a.replace(\"#class#\", class_name).replace(\"#click#\", d).replace(\"#name#\", \"上架时间\")\r\n    }\r\n    $(\"#filter\").find(\"dl.order\").html(b)\r\n};\r\nSEARCH.sort = function(a) {\r\n    a = a || \"\";\r\n    if (a == \"0\") {\r\n        a = \"\"\r\n    }\r\n    window.location.hash = this.base_url + \"&psort=\" + a;\r\n    searchlog(1, a, 0, 55);\r\n    this.util.bind_attr_href(\"psort\", a)\r\n};\r\nSEARCH.scroll = function() {\r\n    var e = this.page_num + 1, d = $(\"#plist\").find(\"ul.list-h\").attr(\"tpl\") + ($(\"#plist\").hasClass(\"plist-n8\") ? \"_L\" : \"_M\"), b = $(\"#scroll_loading\"), f = b.attr(\"data-start\"), a = b.attr(\"data-log-id\");\r\n    var c = \"s.php?\" + this.base_url + \"&psort=\" + this.psort + \"&page=\" + e + \"&scrolling=y&start=\" + f + \"&log_id=\" + a + \"&tpl=\" + d;\r\n    this.load(c, true);\r\n    searchlog(1, e, 0, 56)\r\n};\r\nSEARCH.load = function(b, a) {\r\n    if (this.loading) {\r\n        return false\r\n    } else {\r\n        this.loading = true\r\n    }\r\n    var f = this, e = $(\"#plist\"), d = f.util.getQueryString(\"click\", b), c = a ? 1 : d == f.click ? 2 : 3;\r\n    if (c == 3) {\r\n        b = f.util.filtUrl(b, \"cs\", \"y\");\r\n        b = f.util.filtUrl(b, \"vt\", f.view_type == 3 ? \"\" : f.view_type);\r\n        b = f.util.filtUrl(b, \"psort\", f.psort)\r\n    } else {\r\n        b = f.util.filtUrl(b, \"cs\");\r\n        b = f.util.filtUrl(b, \"vt\", f.view_type)\r\n    }\r\n    $.ajax({url: b.replace(/[\\s&]*$/g, \"\"),timeout: 10000,error: function() {\r\n            if (c == 1) {\r\n                $(\"#scroll_loading\").find(\"div\").html('<b></b>加载失败，请<a href=\"javascript:void(0)\" onclick=\"SEARCH.load(\\'' + b + '\\', true)\"><font color=\"blue\">重试</font></a>')\r\n            } else {\r\n                $(\"#search_loading\").find(\"div\").css(\"background\", \"none\").html(\"加载失败，请<a href=\\\"javascript:void(0)\\\" onclick=\\\"$('#search_loading').remove();SEARCH.load('\" + b + '\\', false);\"><font color=\"blue\">重试</font></a>')\r\n            }\r\n        },beforeSend: function() {\r\n            if (c == 1) {\r\n                $(\"#scroll_loading\").find(\"div\").html(\"<b></b>正在加载中，请稍候...\").find(\"b\").css(\"display\", \"block\")\r\n            } else {\r\n                e.prepend('<div id=\"search_loading\" class=\"loading-in\"><div>正在加载中，请稍候~~</div></div><div class=\"clr\"></div>');\r\n                if (c == 3) {\r\n                    $(\"#refilter\").find(\"h2\").html('<a href=\"' + f.top_url + '\">查看所有类目</a>');\r\n                    $(\"#refilter\").find(\"h3 a, li\").removeClass(\"curr\");\r\n                    d && $(\"#category-\" + d).length && $(\"#category-\" + d).offset().top > $(window).height() && window.scrollTo(0, $(\"#select\").offset().top);\r\n                    $(\"#shop-choice\").html(\"\").hide();\r\n                    $(\"#ad_left\").html(\"\").hide()\r\n                }\r\n            }\r\n        },success: function(h) {\r\n            if (c == 1) {\r\n                $(\"#scroll_loading\").remove();\r\n                var g = $(\"#plist-shop\").length ? $(\"#plist-shop\") : e.find(\"ul.list-h\");\r\n                g.append(h)\r\n            } else {\r\n                if (c == 2) {\r\n                    e.html(h)\r\n                } else {\r\n                    $(\".right-extra\").html(h);\r\n                    f.bind_events.init();\r\n                    f.relate_search.init();\r\n                    f.cid_style()\r\n                }\r\n            }\r\n            f.success_js(c)\r\n        },complete: function() {\r\n            f.loading = false\r\n        }})\r\n};\r\nSEARCH.success_js = function(a) {\r\n    this.get_ware_info();\r\n    this.get_multi_shops();\r\n    this.image_scroll('#plist li:not([done=\"1\"]) .p-scroll');\r\n    pageConfig.FN_ImgError(document);\r\n    $(\"img[data-lazyload]\").Jlazyload({type: \"image\",placeholderClass: \"err-product\"});\r\n    pageConfig.isInitContrast = false;\r\n    pageConfig.FN_InitContrast();\r\n    $.delayLoad(true, \"script/digital_music_download.js?100.js\", \"utf-8\", \"\", 'li[e-tag!=\"1\"] a.free-download');\r\n    a != 1 && searchlog(0, 0)\r\n};\r\nMS = window.MS || {};\r\nMS.interval_time = 0;\r\nMS.get_last_attr = function(b) {\r\n    if (b) {\r\n        var a = b.split(\"%40\");\r\n        return a[a.length - 2]\r\n    } else {\r\n        return \"\"\r\n    }\r\n};\r\nMS.attr_click = function(h, c) {\r\n    if ($(h).parents(\".attr\").hasClass(\"attr-select\")) {\r\n        var j = window.event || arguments.callee.caller.arguments[0];\r\n        if (j.preventDefault) {\r\n            j.preventDefault();\r\n            j.stopPropagation()\r\n        } else {\r\n            j.returnValue = false;\r\n            j.cancelBubble = true\r\n        }\r\n        var k, g, i = $(h), l = i.parents(\".attr\").parent();\r\n        this.selected_attr = this.selected_attr || [0, {}];\r\n        if (l.attr(\"class\") == \"color-attr\") {\r\n            k = i;\r\n            g = \"curr\"\r\n        } else {\r\n            k = i.parent();\r\n            g = \"selected\"\r\n        }\r\n        i.trigger(\"blur\");\r\n        var f = i.offset(), n = f.left - 50, m = f.top - 26;\r\n        var b = $('<span id=\"max-notice\" style=\"position:absolute;left:' + n + \"px;top:\" + m + 'px;z-index:100;border:1px solid #EDD28B;background:#FFFDEE;\">已超过可选选项个数最大值喽！</span>');\r\n        if (k.hasClass(g)) {\r\n            this.selected_attr[0]--;\r\n            k.removeClass(g);\r\n            if (i.parent().attr(\"rel\")) {\r\n                $(\"div.s-brands a\").each(function() {\r\n                    if ($(this).attr(\"title\") == i.attr(\"title\")) {\r\n                        $(this).remove();\r\n                        return false\r\n                    }\r\n                })\r\n            }\r\n            delete this.selected_attr[1][c]\r\n        } else {\r\n            if (this.selected_attr[0] >= 5) {\r\n                if ($(\"#max-notice\").is(\":visible\")) {\r\n                    return false\r\n                }\r\n                b.prependTo(\"body\");\r\n                setTimeout(function() {\r\n                    b.animate({opacity: 0}, 500, function() {\r\n                        b.remove()\r\n                    })\r\n                }, 2000);\r\n                return false\r\n            } else {\r\n                this.selected_attr[0]++;\r\n                k.addClass(g);\r\n                if (i.parent().attr(\"rel\") && (i.parent().siblings().length > (window.pageConfig.wideVersion ? 30 : 24))) {\r\n                    var a = '<a href=\"' + i.attr(\"href\") + '\" icon=\"' + i.parent().attr(\"id\") + '\" title=\"' + i.attr(\"title\") + '\" onclick=\"MS.selected_brand_click(this);return false;\" data=\"' + c + '\">' + i.text() + \"</a>\";\r\n                    $(\"div.s-brands\").css(\"display\", \"block\").find(\".dd\").append(a)\r\n                }\r\n                this.selected_attr[1][c] = this.get_last_attr(SEARCH.util.getQueryString(\"ev\", i.attr(\"href\")))\r\n            }\r\n        }\r\n        this.submit_style(l);\r\n        var d = new Date().getTime();\r\n        if (d - this.interval_time > 800) {\r\n            $.get(\"WareCount.php?\" + this.submit_url(), (function(e) {\r\n                return function(o) {\r\n                    if (MS.LastModified > e || !o) {\r\n                        return\r\n                    }\r\n                    MS.LastModified = e;\r\n                    b.html(\"当前选择条件下，约有\" + o + \"个\" + SEARCH.search_type).prependTo(\"body\");\r\n                    setTimeout(function() {\r\n                        b.animate({opacity: 0}, 500, function() {\r\n                            b.remove()\r\n                        })\r\n                    }, 2000)\r\n                }\r\n            })(d));\r\n            this.interval_time = d\r\n        }\r\n    } else {\r\n        searchlog(1, 0, 0, 71, c)\r\n    }\r\n};\r\nMS.selected_brand_click = function(c) {\r\n    var b = $(c), a = b.attr(\"data\");\r\n    b.remove();\r\n    this.selected_attr[0]--;\r\n    delete this.selected_attr[1][a];\r\n    $(\"#\" + b.attr(\"icon\")).removeClass(\"selected\");\r\n    this.submit_style($(\"div.brand-attr\"))\r\n};\r\nMS.submit_style = function(a) {\r\n    if (this.selected_attr[0]) {\r\n        a.find(\"a.btn-red\").removeClass(\"disabled\")\r\n    } else {\r\n        a.find(\"a.btn-red\").addClass(\"disabled\");\r\n        if (a.hasClass(\"brand-attr\")) {\r\n            $(\"div.s-brands\").css(\"display\", \"none\")\r\n        }\r\n    }\r\n};\r\nMS.submit_url = function() {\r\n    var e = \"\", d = \"\", c = window.SEARCH, b = c.util.filtUrl(c.base_url, \"click\");\r\n    for (var a in this.selected_attr[1]) {\r\n        if (this.selected_attr[1][a]) {\r\n            d += this.selected_attr[1][a] + \"%7C%7C\"\r\n        }\r\n    }\r\n    if (d) {\r\n        var f = d.substring(0, d.indexOf(\"_\") + 1);\r\n        d = d.substring(0, d.lastIndexOf(\"%7C%7C\")).replace(new RegExp(f, \"g\"), \"\");\r\n        e += f + d + \"%40\"\r\n    }\r\n    b += \"&psort=\" + c.psort;\r\n    b = c.util.filtUrl(b, \"ev\", c.util.getQueryString(\"ev\", b) + e);\r\n    b = c.util.filtUrl(b, \"vt\", c.view_type);\r\n    return b\r\n};\r\n(function(a) {\r\n    a.fn.imgScroll = function(b, e) {\r\n        var d = {evtType: \"click\",visible: 1,direction: \"x\",next: \"#next\",prev: \"#prev\",disableClass: \"disabled\",disableClassPerfix: false,speed: 300,step: 1,showControl: false,width: null,height: null,navItems: false,navItmesWrapClass: \"scroll-nav-wrap\",navItemActivedClass: \"current\"};\r\n        var c = a.extend(d, b);\r\n        return this.each(function() {\r\n            var s = a(this), v = s.find(\"ul\").eq(0), f = v.find(\"li\"), D = f.length, o = null, k = null, j = typeof c.next == \"string\" ? a(c.next) : c.next, h = typeof c.prev == \"string\" ? a(c.prev) : c.prev, y = 0, p = c.step, i = c.visible, G = Math.ceil((D - i) / p) + 1, x = c.direction, w = c.evtType, n = c.disableClass, E = c.disableClassPerfix ? \"prev-\" + n : n, F = c.disableClassPerfix ? \"next-\" + n : n, r = c.navItems, A = c.navItmesWrapClass, u = c.navItemActivedClass, t = false, q = true, C = (D - i) % p == 0;\r\n            function B(H) {\r\n                if (D >= p + i) {\r\n                    h.addClass(E);\r\n                    j.removeClass(F)\r\n                } else {\r\n                    j.addClass(F)\r\n                }\r\n                if (f.eq(0).css(\"float\") !== \"left\") {\r\n                    f.css(\"float\", \"left\")\r\n                }\r\n                o = c.width || f.eq(0).outerWidth();\r\n                k = c.height || f.eq(0).outerHeight();\r\n                s.css({position: s.css(\"position\") == \"static\" ? \"relative\" : s.css(\"position\"),width: H == \"x\" ? o * i : o,height: H == \"x\" ? k : k * i,overflow: \"hidden\"});\r\n                v.css({position: \"absolute\",width: H == \"x\" ? o * D : o,height: H == \"x\" ? k : k * D,top: 0,left: 0})\r\n            }\r\n            function m(H, I) {\r\n                if (v.is(\":animated\")) {\r\n                    return false\r\n                }\r\n                if (q && I || t && !I) {\r\n                    return false\r\n                } else {\r\n                    H = I ? --y : ++y\r\n                }\r\n                v.animate(x == \"x\" ? {left: H >= (G - 1) ? -(D - i) * o : -H * p * o} : {top: H >= (G - 1) ? -(D - i) * k : -H * p * k}, b.speed, function() {\r\n                    if (D - H * p <= i) {\r\n                        j.addClass(F);\r\n                        t = true\r\n                    } else {\r\n                        j.removeClass(F);\r\n                        t = false\r\n                    }\r\n                    if (H <= 0) {\r\n                        h.addClass(E);\r\n                        q = true\r\n                    } else {\r\n                        h.removeClass(E);\r\n                        q = false\r\n                    }\r\n                    if (r) {\r\n                        z(H)\r\n                    }\r\n                    if (typeof e == \"function\") {\r\n                        e.apply(s, [H, G, f.slice(H * p, H * p + i), f.slice(H * p + i - p, H * p + i)])\r\n                    }\r\n                })\r\n            }\r\n            function g(J, H) {\r\n                var J = a('<div class=\"' + J + '\"></div>');\r\n                for (var I = 0; I < G; I++) {\r\n                    J.append(\"<em \" + (I == 0 ? \" class=\" + H : \"\") + ' title=\"' + (I + 1) + '\">' + (I + 1) + \"</em>\")\r\n                }\r\n                s.after(J)\r\n            }\r\n            function z(H) {\r\n                if (a(\".\" + A).length > 0) {\r\n                    a(\".\" + A).find(\"em\").removeClass(u).eq(H).addClass(u)\r\n                }\r\n            }\r\n            function l() {\r\n                h.unbind(w).bind(w, function() {\r\n                    m(y, true)\r\n                });\r\n                j.unbind(w).bind(w, function() {\r\n                    m(y, false)\r\n                })\r\n            }\r\n            if (D > i && i >= p) {\r\n                B(x);\r\n                l();\r\n                if (r) {\r\n                    g(A, u)\r\n                }\r\n            } else {\r\n                if (c.showControl) {\r\n                    j.add(h).show()\r\n                } else {\r\n                    j.add(h).hide()\r\n                }\r\n                h.addClass(E);\r\n                j.addClass(F)\r\n            }\r\n        })\r\n    }\r\n})(jQuery);\r\nSEARCH.image_scroll = function(a) {\r\n    var b = $(\"#plist\").hasClass(\"plist-n2\") ? \"n2\" : $(\"#plist\").hasClass(\"plist-n8\") ? \"n8\" : \"n7\";\r\n    $(a).each(function() {\r\n        var d = $(this).find(\".p-scroll-wrap\"), f = $(this).find(\".p-scroll-prev\"), e = $(this).find(\".p-scroll-next\"), c = $(this).find(\"li\").length;\r\n        if (c > 5) {\r\n            f.css(\"display\", \"inline\");\r\n            e.css(\"display\", \"inline\");\r\n            d.imgScroll({visible: 5,showControl: false,next: e,prev: f})\r\n        }\r\n        d.find(\"img\").each(function() {\r\n            $(this).mouseover(function() {\r\n                var k = $(this).attr(\"src\"), l = $(this).attr(\"data-skuid\");\r\n                d.find(\"a\").removeClass(\"curr\");\r\n                $(this).parent(\"a\").addClass(\"curr\");\r\n                var j = $(this).parents(\"li\").find(\".p-img img\").eq(0), i = $(this).parents(\"li\").find(\".p-img a\").eq(0), h = $(this).parents(\"li\").find(\".p-name a\").eq(0), g = $(this).parents(\"li\").find(\".product-follow a\").eq(0);\r\n                j.attr(\"src\", k.replace(/\\/n[95]\\//, \"/\" + b + \"/\"));\r\n                i.attr(\"href\", i.attr(\"href\").replace(/\\/\\d{6,}/, \"/\" + l));\r\n                h.attr(\"href\", h.attr(\"href\").replace(/\\/\\d{6,}/, \"/\" + l));\r\n                if (g.length > 0) {\r\n                    g.attr(\"id\", g.attr(\"id\").replace(/coll\\d{6,}/, \"coll\" + l))\r\n                }\r\n            })\r\n        })\r\n    });\r\n    $(\"#plist.plist-\" + b).not(\".no-preview\").find(\"ul.list-h>li\").not('[done=\"1\"]').hover(function() {\r\n        $(this).addClass(\"hover\").find(\".product-follow,.shop-name\").show();\r\n        $(this).find(\".item-wrap\").addClass(\"item-hover\")\r\n    }, function() {\r\n        $(this).removeClass(\"hover\").find(\".item-wrap\").removeClass(\"item-hover\");\r\n        $(this).find(\".product-follow,.shop-name\").hide()\r\n    }).attr(\"done\", \"1\")\r\n};\r\nwindow.surveyShowIndex = 0;\r\nfunction surveyShow() {\r\n    var a = $.delayLoad(false, \"survey/css/surveyShowWindow.css\"), b = $.delayLoad(true, \"survey/js/surveyShowWindow.js?20140826.js\", \"utf-8\");\r\n    if (surveyShowIndex === 0 && a && b) {\r\n        surveyWindowShow()\r\n    } else {\r\n        if (surveyShowIndex == 1) {\r\n            surveyWindowHide()\r\n        }\r\n    }\r\n}\r\nfunction ebook_download(b, a) {\r\n    $.login({modal: true,complete: function(c) {\r\n            if (c != null && c.IsAuthenticated != null && c.IsAuthenticated) {\r\n                var d = \"http://gw.e.jd.com/downrecord/downrecord_insert.action?ebookId=\" + b + \"&key=\" + a + \"&callback=?\";\r\n                $.getJSON(d, function(f) {\r\n                    if (f.code == 1) {\r\n                        var e = confirm(\"如您已安装京东LeBook客户端，请点击“确定”自动启动客户端\\n如您尚未安装京东LeBook客户端，请点击“取消”将引导您免费安装客户端\");\r\n                        if (e == true) {\r\n                            window.location = \"LEBK:///Bought\"\r\n                        } else {\r\n                            if (confirm('如果您没有安装LeBook客户端，请点击\"确定\"按钮到京东网站下载\\n如果您不需要安装，请点击\"取消\"按钮')) {\r\n                                window.open(\"http://e.jd.com/ebook/lebook_pc.aspx\")\r\n                            }\r\n                        }\r\n                        return\r\n                    } else {\r\n                        alert(f.message)\r\n                    }\r\n                })\r\n            }\r\n        }})\r\n}\r\nSEARCH.get_digital_price = function(b, a) {\r\n    $.getJSON(\"http://p.3.cn/prices/mgets?skuids=\" + b + \"&area=\" + a.replace(/-/g, \"_\") + \"&type=1&callback=?\", function(c) {\r\n        SEARCH.set_digital_price_data(c)\r\n    })\r\n};\r\nSEARCH.get_ware_stock = function(b, a) {\r\n    $.getJSON(\"http://search.jd.com/stock?skus=\" + b.replace(/J_/g, \"\") + \"&district=\" + a.split(\"-\").slice(0, 3).join(\"_\") + \"&callback=?\", function(c) {\r\n        SEARCH.set_ware_stock_data(c)\r\n    })\r\n};\r\nSEARCH.get_prompt_adwords = function(a) {\r\n    $.getJSON(\"http://ad.3.cn/ads/mgets?skuids=\" + a.replace(/J_/g, \"AD_\") + \"&callback=?\", function(b) {\r\n        SEARCH.set_prompt_adwords_data(b)\r\n    })\r\n};\r\nSEARCH.get_prompt_flag = function(a) {\r\n    $.getJSON(\"http://pf.3.cn/flags/mgets?skuids=\" + a + \"&callback=?\", function(b) {\r\n        SEARCH.set_prompt_flag_data(b)\r\n    })\r\n};\r\nSEARCH.get_comment_nums = function(a, b) {\r\n    $.getJSON(\"http://club.jd.com/clubservice/summary-m-\" + a.replace(/J_/g, \"\") + \".html?callback=?\", function(c) {\r\n        SEARCH.set_comment_nums_data(c, b)\r\n    })\r\n};\r\nSEARCH.get_presale_info = function() {\r\n    if (!window._enable_presale) {\r\n        return false\r\n    }\r\n    var d = $(\"#plist\"), b = d.find('a[presale=\"1\"]').not('[p-done=\"1\"]');\r\n    if (window._presale_interval) {\r\n        clearInterval(_presale_interval)\r\n    }\r\n    if (b.length == 0) {\r\n        return false\r\n    }\r\n    var f = d.find(\"ul.list-h\").attr(\"tpl\") == \"1\", e = false, a = function(h, g) {\r\n        h = h.toString();\r\n        return h.length >= g ? h : a(\"0\" + h, g)\r\n    }, c = function(j) {\r\n        var h = Math.floor(j / 86400);\r\n        j -= h * 86400;\r\n        var g = Math.floor(j / 3600);\r\n        j -= g * 3600;\r\n        g = a(g, 2);\r\n        var k = Math.floor(j / 60);\r\n        j -= k * 60;\r\n        k = a(k, 2);\r\n        var i = a(j, 2);\r\n        return h > 0 ? \"剩余\" + h + \"天\" + g + \"时\" + k + \"分\" : \"剩余\" + g + \"时\" + k + \"分\" + i + \"秒\"\r\n    };\r\n    b.each(function() {\r\n        this.setAttribute(\"p-done\", \"1\");\r\n        var h = $(this).parents(\"li\"), g = h.attr(\"sku\");\r\n        if (!g) {\r\n            return false\r\n        }\r\n        $.getJSON(\"http://soa.yushou.jd.com/yushoulistinfo.action?sku=\" + g + \"&callback=?\", function(o) {\r\n            if (typeof (o) != \"object\" || o.type == \"1\" || !o.ret) {\r\n                return false\r\n            }\r\n            var q = o.ret, l = q.d;\r\n            var n = q.s == \"0\" ? \"未开始\" : \"预售中\";\r\n            var s = '<div class=\"prebuy-time\" time=\"' + l + '\"><div class=\"pt-bg\"></div><i></i><span>' + n + \"</span><em>\" + c(l) + \"</em></div>\";\r\n            h.find(\"div.p-img\").find(\"a\").append(s);\r\n            if (q.cp) {\r\n                h.find(\"div.p-price\").find(\"strong\").html(\"￥\" + q.cp)\r\n            }\r\n            if (q.cc) {\r\n                h.find(\"div.p-price\").append('<i class=\"prebuy-num\">（已有' + q.cc + \"人预定）</i>\")\r\n            }\r\n            if (q.t == \"2\" && q.sa) {\r\n                var k = '<div clstag=\"\" class=\"sp-stage clearfix\">', r;\r\n                for (var p = 0, m = q.sa.length; p < m; p++) {\r\n                    r = \"\";\r\n                    if (typeof (q.cs) != \"undefined\") {\r\n                        if ((p + 1) < q.cs) {\r\n                            r = \" timeout\"\r\n                        } else {\r\n                            if ((p + 1) == q.cs) {\r\n                                r = \" curr\"\r\n                            }\r\n                        }\r\n                    }\r\n                    k += '<span class=\"item' + r + '\"><a href=\"javascript:void(0)\"><em>满' + q.sa[p].c + \"人</em>\";\r\n                    k += \"<strong>￥\" + q.sa[p].m + '</strong></a><i class=\"bottom\"><em></em></i></span>'\r\n                }\r\n                k += \"</div>\";\r\n                h.find(\"div.p-price\").after(k)\r\n            }\r\n            if (f) {\r\n                h.addClass(\"prebuy-item\").hover(function() {\r\n                    h.addClass(\"hover\")\r\n                }, function() {\r\n                    h.removeClass(\"hover\")\r\n                });\r\n                h.find(\"a[stock]\").html(\"立即预定\")\r\n            }\r\n            e = true\r\n        })\r\n    });\r\n    window._presale_interval = setInterval(function() {\r\n        if (e) {\r\n            d.find(\"div.prebuy-time\").each(function() {\r\n                var g = $(this).attr(\"time\");\r\n                g = parseInt(g, 10) - 1;\r\n                if (g) {\r\n                    $(this).attr(\"time\", g).find(\"em\").html(c(g))\r\n                } else {\r\n                    $(this).remove()\r\n                }\r\n            })\r\n        }\r\n    }, 1000)\r\n};\r\nSEARCH.digital_music_summmary = function() {\r\n    if ($(\"#list-unselected\").length < 1) {\r\n        return false\r\n    }\r\n    var a = \"\";\r\n    $(\"#plist\").find(\"div.p-summary\").not('[done=\"1\"]').each(function(b) {\r\n        this.setAttribute(\"done\", \"1\");\r\n        var c = this.id.split(\"-\")[1];\r\n        if (c >= 60000000 && c < 70000000) {\r\n            a += c + \",\"\r\n        }\r\n    });\r\n    if (a) {\r\n        $.ajax({url: \"DigitalMusicSummary.php\",cache: false,timeout: 5000,data: {ids: a},dataType: \"json\",success: function(c) {\r\n                if (!c) {\r\n                    return\r\n                }\r\n                for (var b in c) {\r\n                    c[b] && $(\"#summary-\" + b).html(c[b])\r\n                }\r\n            }})\r\n    }\r\n};\r\nSEARCH.get_ware_info = function() {\r\n    var b = [], a = readCookie(\"ipLoc-djd\") || \"\";\r\n    $(\"strong[class^='J_']\").not('[done=\"1\"]').each(function() {\r\n        this.setAttribute(\"done\", \"1\");\r\n        b.push(this.className)\r\n    });\r\n    b = b.join(\",\");\r\n    if (!b) {\r\n        return\r\n    }\r\n    if (this.enable_merge_request) {\r\n        this.get_ware_info_merge(b, a)\r\n    } else {\r\n        this.get_digital_price(b, a), this.get_ware_stock(b, a), this.get_prompt_adwords(b), this.get_prompt_flag(b), this.get_comment_nums(b)\r\n    }\r\n    this.get_shop_name(), this.digital_music_summmary(), this.get_book_summary.init(), this.get_presale_info()\r\n};\r\nSEARCH.set_digital_price_data = function(c) {\r\n    if (typeof c == \"object\") {\r\n        for (var b = 0, a = c.length, e = \"\", f = \"\"; b < a; b++) {\r\n            if (c[b].p < 0) {\r\n                e = \"暂无报价\";\r\n                f = \"\"\r\n            } else {\r\n                if (c[b].p == 0) {\r\n                    e = \"免费\";\r\n                    f = \"\"\r\n                } else {\r\n                    e = \"￥\" + c[b].p;\r\n                    f = c[b].m == undefined || c[b].m == \"0\" || parseFloat(c[b].p) >= parseFloat(c[b].m) ? \"\" : \"（\" + (Math.ceil(c[b].p / c[b].m * 100) / 10).toFixed(1) + \"折）\"\r\n                }\r\n            }\r\n            $(\"strong.\" + c[b].id).html(e).next(\"span.discount\").html(f)\r\n        }\r\n    }\r\n};\r\nSEARCH.set_prompt_flag_data = function(e) {\r\n    if (!e || typeof e !== \"object\") {\r\n        return\r\n    }\r\n    for (var d = 0, a = e.length; d < a; d++) {\r\n        var g = e[d], f = $(\"#p\" + g.pid);\r\n        f.prepend(b(g.pf, f.find(\"a\").length))\r\n    }\r\n    function b(o, p) {\r\n        if (!o || p == 2) {\r\n            return\r\n        }\r\n        var j = [];\r\n        for (var n = 0, h = o.length; n < h; n++) {\r\n            switch (o[n]) {\r\n                case 1:\r\n                    j[2] = '<a class=\"pt1\" title=\"本商品正在降价销售中\">直降</a>';\r\n                    break;\r\n                case 5:\r\n                    j[3] = '<a class=\"pt2\" title=\"购买本商品送赠品\">赠品</a>';\r\n                    break;\r\n                case 3:\r\n                    j[4] = '<a class=\"pt3\" title=\"购买本商品返优惠券\">返券</a>';\r\n                    break;\r\n                case 4:\r\n                    j[5] = '<a class=\"pt4\" title=\"购买本商品送京豆\">送京豆</a>';\r\n                    break;\r\n                case 11:\r\n                    j[1] = '<a class=\"pt4\" title=\"会员特价\">会员特价</a>';\r\n                    break;\r\n                case 22:\r\n                    j[0] = '<a class=\"pt4\" title=\"京豆优惠\">京豆优惠</a>';\r\n                    break;\r\n                default:\r\n                    break\r\n            }\r\n        }\r\n        var m = [], k = 0, c = p == 1 ? 2 : 4;\r\n        for (var n = 0; n < 6; n++) {\r\n            if (j[n] && ++k <= c) {\r\n                m.push(j[n])\r\n            }\r\n        }\r\n        return m.join(\"\")\r\n    }\r\n};\r\nSEARCH.set_prompt_adwords_data = function(d) {\r\n    if (!d) {\r\n        return\r\n    }\r\n    for (var c = 0, a = d.length; c < a; c++) {\r\n        var f = d[c].id || \"\", e = $(\"#\" + f), b = SEARCH.util.strip_tags(d[c].ad);\r\n        if (e.length && b !== \"\") {\r\n            e.parent().attr(\"title\", b);\r\n            e.parents(\"li\").find(\".p-img>a\").attr(\"title\", b);\r\n            e.html(b)\r\n        }\r\n    }\r\n};\r\nSEARCH.set_comment_nums_data = function(e, d) {\r\n    if (typeof (e) != \"object\" || typeof (e.CommentsCount) != \"object\") {\r\n        return false\r\n    }\r\n    if (typeof (d) == \"undefined\") {\r\n        for (var c = 0, b = e.CommentsCount, a = b.length; c < a; c++) {\r\n            if (typeof (b[c].CommentCount) != \"undefined\") {\r\n                $(\"#comment-\" + b[c].SkuId).html(\"已有\" + b[c].CommentCount + \"人评价\")\r\n            }\r\n        }\r\n    } else {\r\n        for (var c = 0, b = e.CommentsCount, a = b.length; c < a; c++) {\r\n            if (typeof (b[c].CommentCount) != \"undefined\") {\r\n                $(\"#adv-comment-\" + b[c].SkuId).html(\"已有\" + b[c].CommentCount + \"人评价\");\r\n                $(\"#adv-star-\" + b[c].SkuId).attr(\"class\", \"star-yellow h\" + b[c].AverageScore)\r\n            }\r\n        }\r\n    }\r\n};\r\nSEARCH.set_ware_stock_data = function(n) {\r\n    if (!n || typeof n != \"object\") {\r\n        return\r\n    }\r\n    var a = $(\"a[stock]\"), k = readCookie(\"ipLoc-djd\") || \"\", j = k.split(\"-\"), e = j[0] ? window.json_city[0][j[0]] : \"\", g = [];\r\n    for (var h = 0, c = a.length; h < c; h++) {\r\n        var p = a.eq(h), o = p.attr(\"stock\"), b = n[o], m = null, d = \"btn btn-nostore notice-store\";\r\n        if (!b) {\r\n            continue\r\n        } else {\r\n            m = p.parent().siblings(\".stocklist\")\r\n        }\r\n        switch (b.stockvalue & 65535) {\r\n            case 0:\r\n            case 18:\r\n            case 34:\r\n                m && m.html('<span class=\"st34\">' + e + \"无货</span>\");\r\n                if (p.attr(\"data-disable-notice\") == \"1\") {\r\n                    p.before('<a href=\"javascript:;\" class=\"btn-buy disabled\">加入购物车</a>').remove()\r\n                } else {\r\n                    p.attr({href: \"javascript:;\",\"class\": d,\"data-type\": 2,\"data-sku\": o,id: \"store\" + o}).removeAttr(\"target\").html(\"<b></b>到货通知\");\r\n                    var f = SEARCH.util.get_ware_type(o);\r\n                    (f == \"book\" || f == \"mvd\") && g.push(o)\r\n                }\r\n                break;\r\n            case 36:\r\n                m && m.html('<span class=\"st36\">' + e + \"预定</span>\");\r\n                break;\r\n            case 40:\r\n                m && m.html('<span class=\"st40\">' + e + \"有货 <b>下单后2-6天发货</b></span>\");\r\n                break;\r\n            default:\r\n                break\r\n        }\r\n    }\r\n    if (!g.length) {\r\n        return\r\n    }\r\n    $.getJSON(\"WareStock.php?wids=\" + g.join(\",\"), function(q) {\r\n        if (typeof q != \"object\") {\r\n            return\r\n        }\r\n        for (var l in q) {\r\n            q[l] == 0 && $(\"#store\" + l).before('<a href=\"javascript:;\" class=\"btn-buy disabled\">加入购物车</a>').remove()\r\n        }\r\n    })\r\n};\r\nSEARCH.apiArray = [];\r\nSEARCH.apiArray[1] = [\"priceValue\", SEARCH.set_digital_price_data, SEARCH.get_digital_price, false];\r\nSEARCH.apiArray[2] = [\"prommTagValue\", SEARCH.set_prompt_flag_data, SEARCH.get_prompt_flag, false];\r\nSEARCH.apiArray[4] = [\"ADValue\", SEARCH.set_prompt_adwords_data, SEARCH.get_prompt_adwords, false];\r\nSEARCH.apiArray[8] = [\"summaryValue\", SEARCH.set_comment_nums_data, SEARCH.get_comment_nums, false];\r\nSEARCH.apiArray[16] = [\"stockValue\", SEARCH.set_ware_stock_data, SEARCH.get_ware_stock, false];\r\nSEARCH.get_ware_info_merge = function(e, c) {\r\n    var b = e.replace(/J_/g, \"\"), f = this;\r\n    for (var d = 1, a = f.apiArray.length - 1; d <= a; d = d * 2) {\r\n        f.apiArray[d][3] = false\r\n    }\r\n    $.getJSONP(\"http://search.jd.com/mergesearch?skuids=\" + b + \"&apiType=1,2,4,8,16&area=\" + c.split(\"-\").slice(0, 3).join(\"_\") + \"&callback=SEARCH.jsonpcallback\");\r\n    setTimeout(function() {\r\n        for (var j = 1, h, g = f.apiArray.length - 1; j <= g; j = j * 2) {\r\n            if (f.apiArray[j][3] == false) {\r\n                f.apiArray[j][3] = true;\r\n                h = f.apiArray[j][2];\r\n                h(e, c)\r\n            }\r\n        }\r\n    }, 1500)\r\n};\r\nSEARCH.jsonpcallback = function(c, e) {\r\n    for (var d = 1, b, a = SEARCH.apiArray.length - 1; d <= a; d = d * 2) {\r\n        if (SEARCH.apiArray[d][0] == c && e != undefined && SEARCH.apiArray[d][3] == false) {\r\n            SEARCH.apiArray[d][3] = true;\r\n            b = SEARCH.apiArray[d][1];\r\n            b(e)\r\n        }\r\n    }\r\n};\r\nSEARCH.get_baby_info = function() {\r\n    var j = $(\"#babyQueryAttr\"), f, a = 0, c = \"\", h = \"\", i = j.find(\".txt-birthday\"), b = new Date(), e = window.SEARCH;\r\n    if (!i.attr(\"data-init\")) {\r\n        i.Jcal({chosendate: (b.getMonth() + 1) + \"/\" + b.getDate() + \"/\" + b.getFullYear(),startdate: (b.getMonth() + 1) + \"/\" + b.getDate() + \"/\" + (b.getFullYear() - 14),enddate: (b.getMonth() + 1) + \"/\" + b.getDate() + \"/\" + (b.getFullYear() + 1),outputFormat: \"{y}-{m}-{d}\",zIndex: 10,x: 0,y: 0});\r\n        i.attr(\"data-init\", \"1\")\r\n    }\r\n    function d(p) {\r\n        var p = new Date(p * 1), l = {tip: \"\"}, o, n;\r\n        o = p < b ? p : b;\r\n        n = p < b ? b : p;\r\n        var r = n.getYear() - o.getYear(), k = n.getMonth() - o.getMonth(), q = n.getDate() - o.getDate();\r\n        if (q < 0) {\r\n            q += 30;\r\n            k -= 1\r\n        }\r\n        if (k < 0) {\r\n            k += 12;\r\n            r -= 1\r\n        }\r\n        if (!r && !k && !q) {\r\n            l = {tip: \"即将出生\",status: \"now\"}\r\n        } else {\r\n            if (p < b) {\r\n                l.status = \"past\";\r\n                if (r) {\r\n                    l.tip = r + \"岁\" + (k ? k + \"个月\" : \"\")\r\n                } else {\r\n                    if (k) {\r\n                        l.tip = k + \"个月\"\r\n                    }\r\n                    if (q) {\r\n                        l.tip += q + \"天\"\r\n                    }\r\n                }\r\n            } else {\r\n                l.status = \"future\";\r\n                if (r) {\r\n                    l.tip = r + \"年\" + (k ? k + \"个月\" : \"\")\r\n                } else {\r\n                    if (k) {\r\n                        l.tip = k + \"个月\"\r\n                    }\r\n                    if (q) {\r\n                        l.tip += q + \"天\"\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        if (l.status == \"now\") {\r\n            j.find(\".tc-info\").html('您的宝宝<strong>即将出生</strong>啦！<a href=\"javascript:;\" class=\"tci-change\" clstag=\"search|keycount|search|updatebabyinfo\">[ 修改信息 ]</a>')\r\n        } else {\r\n            if (l.status == \"past\") {\r\n                j.find(\".tc-info\").html(\"您的宝宝已经<strong>\" + l.tip + '</strong>啦！<a href=\"javascript:;\" class=\"tci-change\" clstag=\"search|keycount|search|updatebabyinfo\">[ 修改信息 ]</a>')\r\n            } else {\r\n                if (l.status == \"future\") {\r\n                    j.find(\".tc-info\").html(\"您的宝宝即将在<strong>\" + l.tip + '</strong>后出生！<a href=\"javascript:;\" class=\"tci-change\" clstag=\"search|keycount|search|updatebabyinfo\">[ 修改信息 ]</a>')\r\n                }\r\n            }\r\n        }\r\n        j.find(\".tc-info a\").click(function() {\r\n            j.find(\".query-con\").removeClass(\"hide\");\r\n            j.find(\".tips-con\").addClass(\"hide\")\r\n        });\r\n        $(\"#babyQueryAttr\").removeClass(\"hide\")\r\n    }\r\n    function g(l, k) {\r\n        var m = l + \"-\" + c + \"-\" + h + \"-\" + k;\r\n        $.ajax({url: \"http://uprofile.jd.com/u/baby/setinfo?babyinfo=\" + m,async: true,dataType: \"jsonp\",success: function(o) {\r\n                if (!o || o.flag != 2) {\r\n                    alert(\"Joy,没记住您的选择...\");\r\n                    return\r\n                }\r\n                d(l);\r\n                j.find(\".query-con\").addClass(\"hide\");\r\n                j.find(\".tips-con\").removeClass(\"hide\");\r\n                if ($(\"#for_my_bb\").hasClass(\"tc-btn-selected\")) {\r\n                    var n = e.util.filtUrl(SEARCH.base_url, \"bb_info\", l + \"-\" + k);\r\n                    window.location.href = window.location.pathname + \"?\" + n\r\n                }\r\n            }})\r\n    }\r\n    $.ajax({url: \"http://uprofile.jd.com/u/baby/getinfo?callback=?\",async: true,dataType: \"jsonp\",success: function(l) {\r\n            var l = l.babyinfo.split(\"-\");\r\n            if (!l || !l[0]) {\r\n                j.removeClass(\"hide\").find(\".query-con\").removeClass(\"hide\");\r\n                return\r\n            }\r\n            f = l[0];\r\n            c = l[1];\r\n            h = l[2];\r\n            a = l[3] || 0;\r\n            j.find(\".tips-con\").removeClass(\"hide\");\r\n            var k = new Date(f * 1);\r\n            j.find(\".query-con .txt-birthday\").val(k.getFullYear() + \"-\" + (k.getMonth() + 1) + \"-\" + k.getDate());\r\n            if (a == \"1\") {\r\n                j.find(\".query-con .boy\").addClass(\"selected\")\r\n            }\r\n            if (a == \"2\") {\r\n                j.find(\".query-con .girl\").addClass(\"selected\")\r\n            }\r\n            d(l[0])\r\n        }});\r\n    $(\"#for_my_bb\").click(function() {\r\n        var k = e.util.filtUrl(e.base_url, \"bb_info\", $(this).hasClass(\"tc-btn-selected\") ? \"\" : f + \"-\" + a);\r\n        window.location.href = window.location.pathname + \"?\" + k\r\n    });\r\n    j.find(\".boy\").click(function() {\r\n        $(this).addClass(\"selected\");\r\n        j.find(\".girl\").removeClass(\"selected\")\r\n    });\r\n    j.find(\".girl\").click(function() {\r\n        $(this).addClass(\"selected\");\r\n        j.find(\".boy\").removeClass(\"selected\")\r\n    });\r\n    j.find(\".btn-submit\").click(function() {\r\n        var k = $.trim(j.find(\".txt-birthday\").val());\r\n        if (!k) {\r\n            alert(\"请选择宝宝出生日期\");\r\n            return\r\n        }\r\n        if (!/^(\\d{4})-(\\d{1,2})-(\\d{1,2})$/.test(k)) {\r\n            alert('Joy看不懂您写的日期，请按照\"年-月-日\"格式书写');\r\n            return\r\n        }\r\n        f = new Date(RegExp.$1, RegExp.$2 - 1, RegExp.$3).getTime();\r\n        if (j.find(\".boy\").hasClass(\"selected\")) {\r\n            a = 1\r\n        }\r\n        if (j.find(\".girl\").hasClass(\"selected\")) {\r\n            a = 2\r\n        }\r\n        jdModelCallCenter.settings.fn = function() {\r\n            g(f, a)\r\n        };\r\n        $.getJSON(\"http://passport.jd.com/loginservice.aspx?method=Login&callback=?\", function(l) {\r\n            if (l && l.Identity && l.Identity.IsAuthenticated) {\r\n                g(f, a)\r\n            } else {\r\n                jdModelCallCenter.login()\r\n            }\r\n        });\r\n        $(\".Jcalendar\").remove()\r\n    })\r\n};\r\nSEARCH.get_paipai_ware = function(c) {\r\n    if (!c) {\r\n        return\r\n    }\r\n    var d = this, b = encodeURIComponent(QUERY_KEYWORD), a = \"http://se.paipai.com/comm_search?KeyWord=\" + b + \"&charSet=gbk&PTAG=12468.\" + c + \".6\";\r\n    $.ajax({url: \"http://sse1.paipai.com/comm_json?charset=utf-8&dtype=jsonp&dtag=search&KeyWord=\" + b + \"&PageSize=5&ShowClass=1\",dataType: \"jsonp\",scriptCharset: \"utf-8\",success: function(h) {\r\n            if (typeof (h) != \"object\" || h.retCode != \"0\" || h.data.list.length < 5) {\r\n                return\r\n            }\r\n            var g = '<div class=\"m m0 paipai-result\"><div class=\"mt\"><h2 class=\"paipai\"><i></i>为您在拍拍找到如下结果</h2></div>';\r\n            g += '<div class=\"mc\"><div class=\"paipai-showall\"><strong>' + d.util.htmlspecialchars(QUERY_KEYWORD) + \"</strong>\";\r\n            g += \"共\" + h.data.totalNum + '个商品<a target=\"_blank\" href=\"' + a + '\" onclick=\"log(\\'paipai\\',\\'normal-clk-all\\',QUERY_KEYWORD)\">查看全部</a></div><ul class=\"lh\">';\r\n            for (var f = 0, e = h.data.list.length; f < e; f++) {\r\n                var m = h.data.list[f], n = d.util.strip_tags(m.title), l = m.link + (m.link.indexOf(\"?\") > -1 ? \"&\" : \"?\") + \"PTAG=12468.\" + c + \".\" + (f + 1), j = \" onclick=\\\"log('paipai','normal-clk',QUERY_KEYWORD,'\" + f + \"', '\" + m.link + \"')\\\"\";\r\n                g += '<li><div class=\"p-img\"><a target=\"_blank\" title=\"' + n + '\" href=\"' + l + '\"' + j + '><img height=\"130\" width=\"130\" alt=\"\" src=\"' + m.img160 + '\"></a></div>';\r\n                g += '<div class=\"p-name\"><a target=\"_blank\" title=\"' + n + '\" href=\"' + l + '\"' + j + \">\" + m.title.replace(/<em>(.+?)<\\/em>/g, '<font class=\"skcolor_ljg\">$1</font>') + \"</a></div>\";\r\n                g += '<div class=\"p-comm\"><span class=\"star sa5\"></span><br><a target=\"_blank\" href=\"' + l + '#salesrecords\"' + j + \">(销售数量\" + m.saleNum + \")</a></div>\";\r\n                g += '<div class=\"p-price\"><strong>￥' + m.price + \"</strong></div></li>\"\r\n            }\r\n            g += \"</ul></div></div>\";\r\n            $(\"#bottom_pager\").after(g);\r\n            log(\"paipai\", \"normal-show\", QUERY_KEYWORD, h.data.totalNum, h.data.list.length, window.location.href)\r\n        }})\r\n};\r\nSEARCH.get_adv_info = function(f, d, c, b, e) {\r\n    var g = this, a = encodeURIComponent(window.REAL_KEYWORD || window.QUERY_KEYWORD);\r\n    $.ajax({url: \"http://x.jd.com/Search?ad_type=7&ad_ids=291:\" + f + \",292:4&keyword=\" + a + \"&page=\" + d + \"&urlcid3=\" + c,dataType: \"jsonp\",success: function(s) {\r\n            if (typeof (s) != \"object\" || !s[\"291\"].length && !s[\"292\"].length) {\r\n                $(\"#ad_left\").html(\"\").hide();\r\n                $(\"#shop-choice\").html(\"\").hide();\r\n                return false\r\n            }\r\n            var p = e == \"_3\" ? \"190\" : \"160\", q = '<li class=\"fore\">';\r\n            q += '<div class=\"p-img\"><a href=\"{#click_url#}\" target=\"_blank\" onclick=\"searchlog(1,{#sku_id#},{#pos#},81);JA.tracker.adclick(\\'{#monitor_url#}\\');\"><img width=\"' + p + '\" height=\"' + p + '\" data-img=\"1\" data-lazyload=\"http://img1{#index#}.360buyimg.com/cms/s' + p + \"x\" + p + '_{#image_url#}\"></a></div>';\r\n            q += '<div class=\"rate\"><a href=\"{#click_url#}\" target=\"_blank\" onclick=\"searchlog(1,{#sku_id#},{#pos#},81);JA.tracker.adclick(\\'{#monitor_url#}\\');\">{#ad_title#}</a></div>';\r\n            q += '<div class=\"p-price\"><em></em><strong class=\"J_{#sku_id#}\"></strong></div></li>';\r\n            for (var n = 0, k = s[\"291\"].length, o = \"\", h = []; n < k; n++) {\r\n                var m = s[\"291\"][n];\r\n                m.pos = n;\r\n                m.index = m.sku_id % 5;\r\n                o += g.util.template(q, m);\r\n                h.push(\"J_\" + m.sku_id);\r\n                new Image().src = m.exposal_url\r\n            }\r\n            if (o) {\r\n                $(\"#ad_left\").html('<div class=\"mt\"><h2>推广商品</h2></div><div class=\"mc\"><ul>' + o + \"</ul></div>\").show()\r\n            } else {\r\n                $(\"#ad_left\").html(\"\").hide()\r\n            }\r\n            if (b == \"\") {\r\n                var l = '<li><div class=\"p-img\"><a href=\"{#click_url#}\" target=\"_blank\" onclick=\"searchlog(1,{#sku_id#},{#pos#},82);JA.tracker.adclick(\\'{#monitor_url#}\\');\"><img width=\"160\" height=\"160\" data-img=\"1\" data-lazyload=\"http://img1{#index#}.360buyimg.com/cms/s160x160_{#image_url#}\"></a></div><div class=\"p-name\"><a href=\"{#click_url#}\" target=\"_blank\" onclick=\"searchlog(1,{#sku_id#},{#pos#},82);JA.tracker.adclick(\\'{#monitor_url#}\\');\">{#ad_title#}</a></div><div class=\"p-price\"><em></em><strong class=\"J_{#sku_id#}\"></strong></div></li>'\r\n            } else {\r\n                if (b == \"_1\") {\r\n                    var l = '<li><div class=\"p-img\"><a href=\"{#click_url#}\" target=\"_blank\" onclick=\"searchlog(1,{#sku_id#},{#pos#},82);JA.tracker.adclick(\\'{#monitor_url#}\\');\"><img width=\"160\" height=\"160\" data-img=\"1\" data-lazyload=\"http://img1{#index#}.360buyimg.com/cms/s160x160_{#image_url#}\"></a></div><div class=\"p-scroll\"><a href=\"javascript:;\" class=\"p-scroll-btn p-scroll-prev\">&lt;</a><div class=\"p-scroll-wrap\"><ul><li><a href=\"javascript:;\" class=\"curr\"><img data-img=\"1\" width=\"27\" height=\"27\" data-skuid=\"{#sku_id#}\" data-lazyload=\"http://img1{#index#}.360buyimg.com/cms/s160x160_{#image_url#}\"></a></li></ul></div><a href=\"javascript:;\" class=\"p-scroll-btn p-scroll-next\">&gt;</a></div><div class=\"p-name\"><a href=\"{#click_url#}\" target=\"_blank\" onclick=\"searchlog(1,{#sku_id#},{#pos#},82);JA.tracker.adclick(\\'{#monitor_url#}\\');\">{#ad_title#}</a></div><div class=\"p-price\"><strong class=\"J_{#sku_id#}\"></strong></div><div class=\"extra\"><span class=\"star\"><span class=\"star-white\"><span id=\"adv-star-{#sku_id#}\" class=\"star-yellow h\">&nbsp;</span></span></span><a id=\"adv-comment-{#sku_id#}\">已有人评价</a></div></li>'\r\n                } else {\r\n                    if (b == \"_2\") {\r\n                        var l = '<li><div class=\"p-img\"><a href=\"{#click_url#}\" target=\"_blank\" onclick=\"searchlog(1,{#sku_id#},{#pos#},82);JA.tracker.adclick(\\'{#monitor_url#}\\');\"><img width=\"220\" height=\"220\" data-img=\"1\" data-lazyload=\"http://img1{#index#}.360buyimg.com/cms/s220x220_{#image_url#}\"></a></div><div class=\"p-scroll\"><a href=\"javascript:;\" class=\"p-scroll-btn p-scroll-prev\">&lt;</a><div class=\"p-scroll-wrap\"><ul><li><a href=\"javascript:;\" class=\"curr\"><img data-img=\"1\" width=\"27\" height=\"27\" data-skuid=\"{#sku_id#}\" data-lazyload=\"http://img1{#index#}.360buyimg.com/cms/s220x220_{#image_url#}\"></a></li></ul></div><a href=\"javascript:;\" class=\"p-scroll-btn p-scroll-next\">&gt;</a></div><div class=\"p-name\"><a href=\"{#click_url#}\" target=\"_blank\" onclick=\"searchlog(1,{#sku_id#},{#pos#},82);JA.tracker.adclick(\\'{#monitor_url#}\\');\">{#ad_title#}</a></div><div class=\"p-price\"><strong class=\"J_{#sku_id#}\"></strong></div><div class=\"extra\"><span class=\"star\"><span class=\"star-white\"><span id=\"adv-star-{#sku_id#}\" class=\"star-yellow h\">&nbsp;</span></span></span><a id=\"adv-comment-{#sku_id#}\">已有人评价</a></div></li>'\r\n                    }\r\n                }\r\n            }\r\n            for (var n = 0, k = s[\"292\"].length, o = \"\", r = []; n < k && k > 3; n++) {\r\n                var m = s[\"292\"][n];\r\n                m.pos = n;\r\n                m.index = m.sku_id % 5;\r\n                o += g.util.template(l, m);\r\n                h.push(\"J_\" + m.sku_id);\r\n                r.push(m.sku_id);\r\n                new Image().src = m.exposal_url\r\n            }\r\n            if (o) {\r\n                $(\"#shop-choice\").html('<div class=\"mt\"><h3>商品精选</h3></div><div class=\"mc\"><ul class=\"list-h clearfix\">' + o + \"</ul></div>\").show()\r\n            } else {\r\n                $(\"#shop-choice\").html(\"\").hide()\r\n            }\r\n            pageConfig.FN_ImgError(document);\r\n            $(\"#ad_left,#shop-choice\").find(\"img[data-lazyload]\").Jlazyload({type: \"image\",placeholderClass: \"err-product\"});\r\n            h.length && g.get_digital_price(h.join(\",\"), readCookie(\"ipLoc-djd\") || \"\");\r\n            if (r.length) {\r\n                b != \"\" && g.get_comment_nums(r.join(\",\"), true);\r\n                b == \"_1\" && $(\"#shop-choice\").attr(\"class\", \"m plist-n7 plist-n2\");\r\n                b == \"_2\" && $(\"#shop-choice\").attr(\"class\", \"m plist-n7\");\r\n                b == \"\" && $(\"#shop-choice\").find(\"li\").mouseover(function() {\r\n                    $(this).addClass(\"hover1\")\r\n                }).mouseout(function() {\r\n                    $(this).removeClass(\"hover1\")\r\n                })\r\n            }\r\n        }})\r\n};\r\nSEARCH.init = function(page, total_page, result_count, sort, scroll, shop_id, cid, survey_html, paipai) {\r\n    this.get_ware_info(), this.get_shop_info(shop_id), this.get_multi_shops(), this.bind_events.init(), this.relate_search.init(), this.top_page_html(page, total_page, result_count, scroll), this.bottom_page_html(page, total_page, scroll), this.sort_html(sort), this.image_scroll('#plist li:not([done=\"1\"]) .p-scroll');\r\n    this.get_paipai_ware(paipai);\r\n    $.delayLoad(true, \"script/digital_music_download.js?100.js\", \"utf-8\", \"\", 'li[e-tag!=\"1\"] a.free-download');\r\n    $.ajax({url: \"http://x.jd.com/ShowInterface?ad_ids=86:1,62:1,\" + (window.pageConfig.wideVersion ? 93 : 87) + \":1&urlcid3=\" + cid + \"&ad_type=8&spread_type=1\",dataType: \"jsonp\",success: function(data) {\r\n            if (typeof (data) != \"object\") {\r\n                return false\r\n            }\r\n            for (var i in data) {\r\n                if (i == 93 || i == 87) {\r\n                    $(\"#xjd_bottom\").html(data[i][0])\r\n                } else {\r\n                    $(\"#xjd_left_\" + i).html(data[i][0]).parent().parent().show()\r\n                }\r\n            }\r\n        }});\r\n    NotifyPop.init($(\".notice-store\"));\r\n    pageConfig.isInitContrast = false;\r\n    pageConfig.FN_InitContrast();\r\n    var sidePanle = new pageConfig.FN_InitSidebar();\r\n    sidePanle.addItem(survey_html);\r\n    sidePanle.setTop();\r\n    sidePanle.scroll();\r\n    $(\"#sidepanel\").find(\"a.gotop\").attr(\"href\", \"javascript:void(0)\").click(function() {\r\n        window.scrollTo(0, 0)\r\n    });\r\n    $.ajax({url: \"http://guang.jd.com/init/\",dataType: \"jsonp\",success: function(data) {\r\n            eval(data)\r\n        }})\r\n};\r\n$(document).keyup(function(d) {\r\n    var f = document.activeElement.tagName.toLowerCase();\r\n    if (f == \"input\" || f == \"textarea\") {\r\n        return\r\n    }\r\n    var a = 0, d = d || event, c = $(\"#filter\"), b = 0;\r\n    a = d.keyCode || d.which || d.charCode;\r\n    if (c.length) {\r\n        b = c.offset().top\r\n    }\r\n    switch (a) {\r\n        case 37:\r\n            window.scrollTo(0, b);\r\n            $(\"#top_pagi a.prev\").trigger(\"click\");\r\n            break;\r\n        case 39:\r\n            window.scrollTo(0, b);\r\n            $(\"#top_pagi a.next\").trigger(\"click\");\r\n            break;\r\n        default:\r\n            break\r\n    }\r\n});\r\n$(window).scroll(function() {\r\n    var a = $(\"#scroll_loading\");\r\n    if (SEARCH.loading || !SEARCH.page_num || a.length == 0 || a.offset().top - 450 > $(window).height() + $(window).scrollTop()) {\r\n        return false\r\n    }\r\n    SEARCH.scroll()\r\n});\r\n(function(a, b) {\r\n    if (typeof (b.is_correct_hash) == \"function\") {\r\n        $(a).hashchange(function() {\r\n            var c = b.get_real_hash() || a.location.search.substr(1);\r\n            if (b.is_correct_hash(c)) {\r\n                b.load(\"s.php?\" + c, false)\r\n            }\r\n        })\r\n    }\r\n})(window, SEARCH);\r\n(function() {\r\n    $(\"#J_oneboxTabs\").find(\"div\").click(function() {\r\n        if (!$(this).hasClass(\"selected\")) {\r\n            var a = $(\"#J_oneboxTabs\").find(\"div\").index(this);\r\n            var b = $(\".J_oneboxTabsContent\").addClass(\"hide\").eq(a).removeClass(\"hide\").find(\".J_oneBoxFrame\");\r\n            var c = b.attr(\"data-src\");\r\n            if (c) {\r\n                b.removeAttr(\"data-src\").attr(\"src\", c)\r\n            }\r\n            $(this).addClass(\"selected\").siblings().removeClass(\"selected\")\r\n        }\r\n    })\r\n})();\r\n(function() {\r\n    var a = {insertScript: function(f, c) {\r\n            var g = document.getElementsByTagName(\"head\")[0];\r\n            var e = document.createElement(\"script\");\r\n            e.setAttribute(\"type\", \"text/javascript\");\r\n            if (c) {\r\n                for (var d in c) {\r\n                    if (c.hasOwnProperty(d)) {\r\n                        e.setAttribute(d, c[d])\r\n                    }\r\n                }\r\n            }\r\n            e.setAttribute(\"src\", f);\r\n            g.appendChild(e)\r\n        },insertStyles: function(g) {\r\n            var h = document, f = h.getElementsByTagName(\"head\"), d = h.createElement(\"style\"), e = h.createElement(\"link\");\r\n            if (/\\.css$/.test(g)) {\r\n                e.rel = \"stylesheet\";\r\n                e.type = \"text/css\";\r\n                e.href = g;\r\n                if (f.length) {\r\n                    f[0].appendChild(e)\r\n                } else {\r\n                    h.documentElement.appendChild(e)\r\n                }\r\n            } else {\r\n                d.setAttribute(\"type\", \"text/css\");\r\n                if (d.styleSheet) {\r\n                    d.styleSheet.cssText = g\r\n                } else {\r\n                    var c = h.createTextNode(g);\r\n                    d.appendChild(c)\r\n                }\r\n                if (f.length) {\r\n                    f[0].appendChild(d)\r\n                }\r\n            }\r\n        }};\r\n    a.insertStyles(\"._gemini_inject_label_sousuo{display:block !important;} ._ads_sousuo,._no-ads_sousuo{display:none !important;}\");\r\n//    var b = [\"2_164_5467\", \"2_164_5470\"];\r\n//    $.ajax({url: \"http://nfa.jd.com/loadFa_toJson.js?aid=\" + b.join(\"-\") + \"&ver=20140526\",dataType: \"script\",cache: true,success: function() {\r\n//            a.insertScript(\"http://static.360buyimg.com/gemini/gemini/gemini_v2.2.1.js\", {id: \"1401071931558\",name: \"gemini_divide_script\",charset: \"utf-8\",divideType: \"MODULE_INJECT\",param: \"[{t:'sousuo'}]\"})\r\n//        }})\r\n})();\r\n"
  },
  {
    "path": "migo-portal/src/main/webapp/js/static/lib-v1.js",
    "content": "/*\r\n Date: 2014-09-25 3:59:11 [PM] \r\n */\r\nfunction StringBuilder(){this.strings=new Array,this.length=0}function jdThickBoxclose(){$(\".thickclose\").trigger(\"click\")}function getparam(){for(var a=\"\",b=\"\",c=(new Object,location.search.substring(1)),d=c.split(\"&\"),e=0;e<d.length;e++){var f=d[e].indexOf(\"=\");if(-1!=f){{d[e].substring(0,f)}\"sid\"==d[e].substring(0,f)&&(a=unescape(d[e].substring(f+1))),\"t\"==d[e].substring(0,f)&&(b=unescape(d[e].substring(f+1)))}}return\"\"!=a||\"\"!=b?\"&sid=\"+escape(a)+\"&t=\"+escape(b):\"\"}function mlazyload(a){var b={defObj:null,defHeight:0,fn:null};b=$.extend(b,a||{});var c=(b.defHeight,\"object\"==typeof b.defObj?b.defObj:$(b.defObj));if(!(c.length<1)){var d=function(){var a=document,c=\"ipad\"==navigator.userAgent.toLowerCase().match(/iPad/i)?window.pageYOffset:Math.max(a.documentElement.scrollTop,a.body.scrollTop);return a.documentElement.clientHeight+c-b.defHeight},e=function(){c.offset().top<=d()&&!c.attr(\"load\")&&(c.attr(\"load\",\"true\"),b.fn&&b.fn())};e(),$(window).bind(\"scroll\",function(){e()})}}function getHashProbability(a,b){function c(a){for(var b=0,c=0;c<a.length;c++)b=(b<<5)-b+a.charCodeAt(c),b&=b;return b}return Math.abs(c(a))%b}function clothingAbTest(){if(\"home\"==pageConfig.navId){var a=CookieUtil.getCookie(\"__jda\");if(a){var b=getHashProbability(a,1e4),c=$(\"#_JD_ALLSORT div.fore6\"),d=c.find(\".subitem .fore1 dt a\"),e=c.find(\".subitem .fore2 dt a\");5e3>=b?(c.find(\"h3\").html('<a href=\"http://channel.jd.com/1315-1342.html\" clstag=\"homepage|keycount|home2013|0606a4\">\\u7537\\u88c5</a>\\u3001<a href=\"http://channel.jd.com/1315-1343.html\" clstag=\"homepage|keycount|home2013|0606a3\">\\u5973\\u88c5</a>\\u3001<a href=\"http://channel.jd.com/1315-1345.html\" clstag=\"homepage|keycount|home2013|0606a5\">\\u5185\\u8863</a>\\u3001<a href=\"http://channel.jd.com/jewellery.html\" clstag=\"homepage|keycount|home2013|0606a6\">\\u73e0\\u5b9d</a>'),d.attr(\"clstag\",\"homepage|keycount|home2013|0606b3\"),e.attr(\"clstag\",\"homepage|keycount|home2013|0606b4\")):(c.find(\"h3\").html('<a href=\"http://channel.jd.com/clothing.html\" clstag=\"homepage|keycount|home2013|0606a1\">\\u670d\\u9970\\u5185\\u8863</a>\\u3001<a href=\"http://channel.jd.com/jewellery.html\" clstag=\"homepage|keycount|home2013|0606a2\">\\u73e0\\u5b9d\\u9996\\u9970</a>'),d.attr(\"clstag\",\"homepage|keycount|home2013|0606b1\"),e.attr(\"clstag\",\"homepage|keycount|home2013|0606b2\"))}}}!function(){var a=document.getElementById(\"nav-dapeigou\");a&&(a.innerHTML='<a href=\"http://channel.jd.com/chaoshi.html\">\\u4eac\\u4e1c\\u8d85\\u5e02</a>')}(),\"undefined\"==typeof pageConfig.FN_getDomain&&(pageConfig.FN_getDomain=function(){var a=location.hostname;return/360buy.com/.test(a)?\"360buy.com\":\"jd.com\"}),function(){var a=$(\"#service-2013 a[href='http://en.360buy.com/']\");a.length&&a.attr(\"href\",\"http://help.en.360buy.com/help/question-2.html\")}(),function(){var a=$(\"#footer-2013 a[href='http://about.58.com/fqz/index.html']\");a.length&&a.attr(\"href\",\"http://www.bj.cyberpolice.cn/index.do\")}(),\"object\"!=typeof JSON&&(JSON={}),function(){function f(a){return 10>a?\"0\"+a:a}function quote(a){return escapable.lastIndex=0,escapable.test(a)?'\"'+a.replace(escapable,function(a){var b=meta[a];return\"string\"==typeof b?b:\"\\\\u\"+(\"0000\"+a.charCodeAt(0).toString(16)).slice(-4)})+'\"':'\"'+a+'\"'}function str(a,b){var c,d,e,f,g,h=gap,i=b[a];switch(i&&\"object\"==typeof i&&\"function\"==typeof i.toJSON&&(i=i.toJSON(a)),\"function\"==typeof rep&&(i=rep.call(b,a,i)),typeof i){case\"string\":return quote(i);case\"number\":return isFinite(i)?String(i):\"null\";case\"boolean\":case\"null\":return String(i);case\"object\":if(!i)return\"null\";if(gap+=indent,g=[],\"[object Array]\"===Object.prototype.toString.apply(i)){for(f=i.length,c=0;f>c;c+=1)g[c]=str(c,i)||\"null\";return e=0===g.length?\"[]\":gap?\"[\\n\"+gap+g.join(\",\\n\"+gap)+\"\\n\"+h+\"]\":\"[\"+g.join(\",\")+\"]\",gap=h,e}if(rep&&\"object\"==typeof rep)for(f=rep.length,c=0;f>c;c+=1)\"string\"==typeof rep[c]&&(d=rep[c],e=str(d,i),e&&g.push(quote(d)+(gap?\": \":\":\")+e));else for(d in i)Object.prototype.hasOwnProperty.call(i,d)&&(e=str(d,i),e&&g.push(quote(d)+(gap?\": \":\":\")+e));return e=0===g.length?\"{}\":gap?\"{\\n\"+gap+g.join(\",\\n\"+gap)+\"\\n\"+h+\"}\":\"{\"+g.join(\",\")+\"}\",gap=h,e}}\"function\"!=typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+\"-\"+f(this.getUTCMonth()+1)+\"-\"+f(this.getUTCDate())+\"T\"+f(this.getUTCHours())+\":\"+f(this.getUTCMinutes())+\":\"+f(this.getUTCSeconds())+\"Z\":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var cx=/[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,escapable=/[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,gap,indent,meta={\"\\b\":\"\\\\b\",\"\t\":\"\\\\t\",\"\\n\":\"\\\\n\",\"\\f\":\"\\\\f\",\"\\r\":\"\\\\r\",'\"':'\\\\\"',\"\\\\\":\"\\\\\\\\\"},rep;\"function\"!=typeof JSON.stringify&&(JSON.stringify=function(a,b,c){var d;if(gap=\"\",indent=\"\",\"number\"==typeof c)for(d=0;c>d;d+=1)indent+=\" \";else\"string\"==typeof c&&(indent=c);if(rep=b,b&&\"function\"!=typeof b&&(\"object\"!=typeof b||\"number\"!=typeof b.length))throw new Error(\"JSON.stringify\");return str(\"\",{\"\":a})}),\"function\"!=typeof JSON.parse&&(JSON.parse=function(text,reviver){function walk(a,b){var c,d,e=a[b];if(e&&\"object\"==typeof e)for(c in e)Object.prototype.hasOwnProperty.call(e,c)&&(d=walk(e,c),void 0!==d?e[c]=d:delete e[c]);return reviver.call(a,b,e)}var j;if(text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(a){return\"\\\\u\"+(\"0000\"+a.charCodeAt(0).toString(16)).slice(-4)})),/^[\\],:{}\\s]*$/.test(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g,\"@\").replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,\"]\").replace(/(?:^|:|,)(?:\\s*\\[)+/g,\"\")))return j=eval(\"(\"+text+\")\"),\"function\"==typeof reviver?walk({\"\":j},\"\"):j;throw new SyntaxError(\"JSON.parse\")})}(),eval(function(a,b,c,d,e,f){if(e=function(a){return(b>a?\"\":e(parseInt(a/b)))+((a%=b)>35?String.fromCharCode(a+29):a.toString(36))},!\"\".replace(/^/,String)){for(;c--;)f[e(c)]=d[c]||e(c);d=[function(a){return f[a]}],e=function(){return\"\\\\w+\"},c=1}for(;c--;)d[c]&&(a=a.replace(new RegExp(\"\\\\b\"+e(c)+\"\\\\b\",\"g\"),d[c]));return a}(\"(4($){$.R($.7,{3:4(c,b,d){9 e=2,q;5($.O(c))d=b,b=c,c=z;$.h($.3.j,4(i,a){5(e.8==a.8&&e.g==a.g&&c==a.m&&(!b||b.$6==a.7.$6)&&(!d||d.$6==a.o.$6))l(q=a)&&v});q=q||Y $.3(2.8,2.g,c,b,d);q.u=v;$.3.s(q.F);l 2},T:4(c,b,d){9 e=2;5($.O(c))d=b,b=c,c=z;$.h($.3.j,4(i,a){5(e.8==a.8&&e.g==a.g&&(!c||c==a.m)&&(!b||b.$6==a.7.$6)&&(!d||d.$6==a.o.$6)&&!2.u)$.3.y(a.F)});l 2}});$.3=4(e,c,a,b,d){2.8=e;2.g=c||S;2.m=a;2.7=b;2.o=d;2.t=[];2.u=v;2.F=$.3.j.K(2)-1;b.$6=b.$6||$.3.I++;5(d)d.$6=d.$6||$.3.I++;l 2};$.3.p={y:4(){9 b=2;5(2.m)2.t.16(2.m,2.7);E 5(2.o)2.t.h(4(i,a){b.o.x(a)});2.t=[];2.u=Q},s:4(){5(2.u)l;9 b=2;9 c=2.t,w=$(2.8,2.g),H=w.11(c);2.t=w;5(2.m){H.10(2.m,2.7);5(c.C>0)$.h(c,4(i,a){5($.B(a,w)<0)$.Z.P(a,b.m,b.7)})}E{H.h(4(){b.7.x(2)});5(2.o&&c.C>0)$.h(c,4(i,a){5($.B(a,w)<0)b.o.x(a)})}}};$.R($.3,{I:0,j:[],k:[],A:v,D:X,N:4(){5($.3.A&&$.3.k.C){9 a=$.3.k.C;W(a--)$.3.j[$.3.k.V()].s()}},U:4(){$.3.A=v},M:4(){$.3.A=Q;$.3.s()},L:4(){$.h(G,4(i,n){5(!$.7[n])l;9 a=$.7[n];$.7[n]=4(){9 r=a.x(2,G);$.3.s();l r}})},s:4(b){5(b!=z){5($.B(b,$.3.k)<0)$.3.k.K(b)}E $.h($.3.j,4(a){5($.B(a,$.3.k)<0)$.3.k.K(a)});5($.3.D)1j($.3.D);$.3.D=1i($.3.N,1h)},y:4(b){5(b!=z)$.3.j[b].y();E $.h($.3.j,4(a){$.3.j[a].y()})}});$.3.L('1g','1f','1e','1b','1a','19','18','17','1c','15','1d','P');$(4(){$.3.M()});9 f=$.p.J;$.p.J=4(a,c){9 r=f.x(2,G);5(a&&a.8)r.g=a.g,r.8=a.8;5(14 a=='13')r.g=c||S,r.8=a;l r};$.p.J.p=$.p})(12);\",62,82,\"||this|livequery|function|if|lqguid|fn|selector|var|||||||context|each||queries|queue|return|type||fn2|prototype|||run|elements|stopped|false|els|apply|stop|undefined|running|inArray|length|timeout|else|id|arguments|nEls|guid|init|push|registerPlugin|play|checkQueue|isFunction|remove|true|extend|document|expire|pause|shift|while|null|new|event|bind|not|jQuery|string|typeof|toggleClass|unbind|addClass|removeAttr|attr|wrap|before|removeClass|empty|after|prepend|append|20|setTimeout|clearTimeout\".split(\"|\"),0,{})),new function(a){var b=a.separator||\"&\",c=a.spaces===!1?!1:!0,d=(a.suffix===!1?\"\":\"[]\",a.prefix===!1?!1:!0),e=d?a.hash===!0?\"#\":\"?\":\"\",f=a.numbers===!1?!1:!0;jQuery.query=new function(){var a=function(a,b){return void 0!=a&&null!==a&&(b?a.constructor==b:!0)},d=function(a){for(var b,c=/\\[([^[]*)\\]/g,d=/^(\\S+?)(\\[\\S*\\])?$/.exec(a),e=d[1],f=[];b=c.exec(d[2]);)f.push(b[1]);return[e,f]},g=function(b,c,d){var e=c.shift();if(\"object\"!=typeof b&&(b=null),\"\"===e)if(b||(b=[]),a(b,Array))b.push(0==c.length?d:g(null,c.slice(0),d));else if(a(b,Object)){for(var f=0;null!=b[f++];);b[--f]=0==c.length?d:g(b[f],c.slice(0),d)}else b=[],b.push(0==c.length?d:g(null,c.slice(0),d));else if(e&&e.match(/^\\s*[0-9]+\\s*$/)){var h=parseInt(e,10);b||(b=[]),b[h]=0==c.length?d:g(b[h],c.slice(0),d)}else{if(!e)return d;var h=e.replace(/^\\s*|\\s*$/g,\"\");if(b||(b={}),a(b,Array)){for(var i={},f=0;f<b.length;++f)i[f]=b[f];b=i}b[h]=0==c.length?d:g(b[h],c.slice(0),d)}return b},h=function(a){var b=this;return b.keys={},a.queryObject?jQuery.each(a.get(),function(a,c){b.SET(a,c)}):jQuery.each(arguments,function(){var a=\"\"+this;a=a.replace(/^[?#]/,\"\"),a=a.replace(/[;&]$/,\"\"),c&&(a=a.replace(/[+]/g,\" \")),jQuery.each(a.split(/[&;]/),function(){try{var a=decodeURIComponent(this.split(\"=\")[0]),c=decodeURIComponent(encodeURIComponent(this.split(\"=\")[1]))}catch(d){}a&&(f&&(/^[+-]?[0-9]+\\.[0-9]*$/.test(c)?c=parseFloat(c):/^[+-]?[0-9]+$/.test(c)&&(c=parseInt(c,10))),c=c||0===c?c:!0,c!==!1&&c!==!0&&\"number\"!=typeof c&&(c=c),b.SET(a,c))})}),b};return h.prototype={queryObject:!0,has:function(b,c){var d=this.get(b);return a(d,c)},GET:function(b){if(!a(b))return this.keys;for(var c=d(b),e=c[0],f=c[1],g=this.keys[e];null!=g&&0!=f.length;)g=g[f.shift()];return\"number\"==typeof g?g:g||\"\"},get:function(b){var c=this.GET(b);return a(c,Object)?jQuery.extend(!0,{},c):a(c,Array)?c.slice(0):c},SET:function(b,c){var e=a(c)?c:null,f=d(b),h=f[0],i=f[1],j=this.keys[h];return this.keys[h]=g(j,i.slice(0),e),this},set:function(a,b){return this.copy().SET(a,b)},REMOVE:function(a){return this.SET(a,null).COMPACT()},remove:function(a){return this.copy().REMOVE(a)},EMPTY:function(){var a=this;return jQuery.each(a.keys,function(b){delete a.keys[b]}),a},load:function(a){var b=a.replace(/^.*?[#](.+?)(?:\\?.+)?$/,\"$1\"),c=a.replace(/^.*?[?](.+?)(?:#.+)?$/,\"$1\");return new h(a.length==c.length?\"\":c,a.length==b.length?\"\":b)},empty:function(){return this.copy().EMPTY()},copy:function(){return new h(this)},COMPACT:function(){function b(c){function d(b,c,d){a(b,Array)?b.push(d):b[c]=d}var e=\"object\"==typeof c?a(c,Array)?[]:{}:c;return\"object\"==typeof c&&jQuery.each(c,function(c,f){return a(f)?(d(e,c,b(f)),void 0):!0}),e}return this.keys=b(this.keys),this},compact:function(){return this.copy().COMPACT()},toString:function(){var c=[],d=[],f=function(b,c,d){if(a(d)&&d!==!1){var e=[encodeURIComponent(c)];d!==!0&&(e.push(\"=\"),e.push(encodeURIComponent(d))),b.push(e.join(\"\"))}},g=function(a,b){var c=function(a){return b&&\"\"!=b?[b,\"[\",a,\"]\"].join(\"\"):[a].join(\"\")};jQuery.each(a,function(a,b){\"object\"==typeof b?g(b,c(a)):f(d,c(a),b)})};return g(this.keys),d.length>0&&c.push(e),c.push(d.join(b)),c.join(\"\")}},new h(location.search,location.hash)}}(jQuery.query||{}),eval(function(a,b,c,d,e,f){if(e=function(a){return(b>a?\"\":e(parseInt(a/b)))+((a%=b)>35?String.fromCharCode(a+29):a.toString(36))},!\"\".replace(/^/,String)){for(;c--;)f[e(c)]=d[c]||e(c);d=[function(a){return f[a]}],e=function(){return\"\\\\w+\"},c=1}for(;c--;)d[c]&&(a=a.replace(new RegExp(\"\\\\b\"+e(c)+\"\\\\b\",\"g\"),d[c]));return a}(\"n.5=v(a,b,c){4(7 b!='w'){c=c||{};4(b===o){b='';c.3=-1}2 d='';4(c.3&&(7 c.3=='p'||c.3.q)){2 e;4(7 c.3=='p'){e=x y();e.z(e.A()+(c.3*B*r*r*C))}s{e=c.3}d=';3='+e.q()}2 f=c.8?';8='+(c.8):'';2 g=c.9?';9='+(c.9):'';2 h=c.t?';t':'';6.5=[a,'=',D(b),d,f,g,h].E('')}s{2 j=o;4(6.5&&6.5!=''){2 k=6.5.F(';');G(2 i=0;i<k.m;i++){2 l=n.H(k[i]);4(l.u(0,a.m+1)==(a+'=')){j=I(l.u(a.m+1));J}}}K j}};\",47,47,\"||var|expires|if|cookie|document|typeof|path|domain|||||||||||||length|jQuery|null|number|toUTCString|60|else|secure|substring|function|undefined|new|Date|setTime|getTime|24|1000|encodeURIComponent|join|split|for|trim|decodeURIComponent|break|return\".split(\"|\"),0,{})),Function.prototype.overwrite=function(a){var b=a;return b.original||(b.original=this),b},Date.prototype.toString=Date.prototype.toString.overwrite(function(a){var b=new String;return\"string\"==typeof a&&(b=a,b=b.replace(/yyyy|YYYY/,this.getFullYear()),b=b.replace(/yy|YY/,this.getFullYear().toString().substr(2,2)),b=b.replace(/MM/,this.getMonth()>=9?this.getMonth()+1:\"0\"+(this.getMonth()+1)),b=b.replace(/M/,this.getMonth()),b=b.replace(/dd|DD/,this.getDate()>9?this.getDate():\"0\"+this.getDate()),b=b.replace(/d|D/,this.getDate()),b=b.replace(/hh|HH/,this.getHours()>9?this.getHours():\"0\"+this.getHours()),b=b.replace(/h|H/,this.getHours()),b=b.replace(/mm/,this.getMinutes()>9?this.getMinutes():\"0\"+this.getMinutes()),b=b.replace(/m/,this.getMinutes()),b=b.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds():\"0\"+this.getSeconds()),b=b.replace(/s|S/,this.getSeconds())),b}),String.prototype.format=function(){var a=this;return arguments.length>0&&(parameters=$.makeArray(arguments),$.each(parameters,function(b,c){a=a.replace(new RegExp(\"\\\\{\"+b+\"\\\\}\",\"g\"),c)})),a},StringBuilder.prototype.append=function(a){this.strings.push(a),this.length+=a.length},StringBuilder.prototype.toString=function(a,b){return this.strings.join(\"\").substr(a,b)},function($){$.jmsajax=function(a){var b={type:\"POST\",dataType:\"msjson\",data:{},beforeSend:function(a){a.setRequestHeader(\"Content-type\",\"application/json; charset=utf-8\")},contentType:\"application/json; charset=utf-8\",error:function(a){alert(\"Status: \"+(a.statusText?a.statusText:\"Unknown\")+\"\\nMessage: \"+msJSON.parse(a.responseText?a.responseText:\"Unknown\").Message)}},a=$.extend(b,a);if(a.method&&(a.url+=\"/\"+a.method),a.data)if(\"GET\"==a.type){var c=\"\";for(var d in a.data)\"\"!=c&&(c+=\"&\"),c+=d+\"=\"+msJSON.stringify(a.data[d]);a.url+=\"?\"+c,c=null,a.data=\"{}\"}else\"POST\"==a.type&&(a.data=msJSON.stringify(a.data));if(a.success&&a.dataType&&\"msjson\"==a.dataType){var e=a.success;a.success=function(b,c){var d=dateparse(b);a.version?a.version>=3.5&&(d=d.d):0==b.indexOf('{\"d\":')&&(d=d.d),e(d,c)}}return $.ajax(a)},dateparse=function(a){try{return msJSON.parse(a,function(a,b){var c;return\"string\"==typeof b&&b.indexOf(\"Date\")>=0&&(c=/^\\/Date\\(([0-9]+)\\)\\/$/.exec(b))?new Date(parseInt(c[1],10)):b})}catch(b){return null}},msJSON=function(){function f(a){return 10>a?\"0\"+a:a}function quote(a){return escapeable.lastIndex=0,escapeable.test(a)?'\"'+a.replace(escapeable,function(a){var b=meta[a];return\"string\"==typeof b?b:\"\\\\u\"+(\"0000\"+(+a.charCodeAt(0)).toString(16)).slice(-4)})+'\"':'\"'+a+'\"'}function str(a,b){var c,d,e,f,g,h=gap,i=b[a];switch(i&&\"object\"==typeof i&&\"function\"==typeof i.toJSON&&(i=i.toJSON(a)),\"function\"==typeof rep&&(i=rep.call(b,a,i)),typeof i){case\"string\":return quote(i);case\"number\":return isFinite(i)?String(i):\"null\";case\"boolean\":case\"null\":return String(i);case\"object\":if(!i)return\"null\";if(i.toUTCString)return'\"\\\\/Date('+i.getTime()+')\\\\/\"';if(gap+=indent,g=[],\"number\"==typeof i.length&&!i.propertyIsEnumerable(\"length\")){for(f=i.length,c=0;f>c;c+=1)g[c]=str(c,i)||\"null\";return e=0===g.length?\"[]\":gap?\"[\\n\"+gap+g.join(\",\\n\"+gap)+\"\\n\"+h+\"]\":\"[\"+g.join(\",\")+\"]\",gap=h,e}if(rep&&\"object\"==typeof rep)for(f=rep.length,c=0;f>c;c+=1)d=rep[c],\"string\"==typeof d&&(e=str(d,i,rep),e&&g.push(quote(d)+(gap?\": \":\":\")+e));else for(d in i)Object.hasOwnProperty.call(i,d)&&(e=str(d,i,rep),e&&g.push(quote(d)+(gap?\": \":\":\")+e));return e=0===g.length?\"{}\":gap?\"{\\n\"+gap+g.join(\",\\n\"+gap)+\"\\n\"+h+\"}\":\"{\"+g.join(\",\")+\"}\",gap=h,e}}var cx=/[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,escapeable=/[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,gap,indent,meta={\"\\b\":\"\\\\b\",\"\t\":\"\\\\t\",\"\\n\":\"\\\\n\",\"\\f\":\"\\\\f\",\"\\r\":\"\\\\r\",'\"':'\\\\\"',\"\\\\\":\"\\\\\\\\\"},rep;return{stringify:function(a,b,c){var d;if(gap=\"\",indent=\"\",\"number\"==typeof c)for(d=0;c>d;d+=1)indent+=\" \";else\"string\"==typeof c&&(indent=c);if(rep=b,b&&\"function\"!=typeof b&&(\"object\"!=typeof b||\"number\"!=typeof b.length))throw new Error(\"JSON.stringify\");return str(\"\",{\"\":a})},parse:function(text,reviver){function walk(a,b){var c,d,e=a[b];if(e&&\"object\"==typeof e)for(c in e)Object.hasOwnProperty.call(e,c)&&(d=walk(e,c),void 0!==d?e[c]=d:delete e[c]);return reviver.call(a,b,e)}var j;if(cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(a){return\"\\\\u\"+(\"0000\"+(+a.charCodeAt(0)).toString(16)).slice(-4)})),/^[\\],:{}\\s]*$/.test(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g,\"@\").replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,\"]\").replace(/(?:^|:|,)(?:\\s*\\[)+/g,\"\")))return j=eval(\"(\"+text+\")\"),\"function\"==typeof reviver?walk({\"\":j},\"\"):j;throw new SyntaxError(\"JSON.parse\")}}}()}(jQuery);var TrimPath;!function(){null==TrimPath&&(TrimPath=new Object),null==TrimPath.evalEx&&(TrimPath.evalEx=function(src){return eval(src)});var UNDEFINED;null==Array.prototype.pop&&(Array.prototype.pop=function(){return 0===this.length?UNDEFINED:this[--this.length]}),null==Array.prototype.push&&(Array.prototype.push=function(){for(var a=0;a<arguments.length;++a)this[this.length]=arguments[a];return this.length}),TrimPath.parseTemplate=function(a,b,c){null==c&&(c=TrimPath.parseTemplate_etc);var d=parse(a,b,c),e=TrimPath.evalEx(d,b,1);return null!=e?new c.Template(b,a,d,e,c):null};try{String.prototype.process=function(a,b){var c=TrimPath.parseTemplate(this,null);return null!=c?c.process(a,b):this}}catch(e){}TrimPath.parseTemplate_etc={},TrimPath.parseTemplate_etc.statementTag=\"forelse|for|if|elseif|else|var|macro\",TrimPath.parseTemplate_etc.statementDef={\"if\":{delta:1,prefix:\"if (\",suffix:\") {\",paramMin:1},\"else\":{delta:0,prefix:\"} else {\"},elseif:{delta:0,prefix:\"} else if (\",suffix:\") {\",paramDefault:\"true\"},\"/if\":{delta:-1,prefix:\"}\"},\"for\":{delta:1,paramMin:3,prefixFunc:function(a,b,c,d){if(\"in\"!=a[2])throw new d.ParseError(c,b.line,\"bad for loop statement: \"+a.join(\" \"));var e=a[1],f=\"__LIST__\"+e;return[\"var \",f,\" = \",a[3],\";\",\"var __LENGTH_STACK__;\",\"if (typeof(__LENGTH_STACK__) == 'undefined' || !__LENGTH_STACK__.length) __LENGTH_STACK__ = new Array();\",\"__LENGTH_STACK__[__LENGTH_STACK__.length] = 0;\",\"if ((\",f,\") != null) { \",\"var \",e,\"_ct = 0;\",\"for (var \",e,\"_index in \",f,\") { \",e,\"_ct++;\",\"if (typeof(\",f,\"[\",e,\"_index]) == 'function') {continue;}\",\"__LENGTH_STACK__[__LENGTH_STACK__.length - 1]++;\",\"var \",e,\" = \",f,\"[\",e,\"_index];\"].join(\"\")}},forelse:{delta:0,prefix:\"} } if (__LENGTH_STACK__[__LENGTH_STACK__.length - 1] == 0) { if (\",suffix:\") {\",paramDefault:\"true\"},\"/for\":{delta:-1,prefix:\"} }; delete __LENGTH_STACK__[__LENGTH_STACK__.length - 1];\"},\"var\":{delta:0,prefix:\"var \",suffix:\";\"},macro:{delta:1,prefixFunc:function(a){var b=a[1].split(\"(\")[0];return[\"var \",b,\" = function\",a.slice(1).join(\" \").substring(b.length),\"{ var _OUT_arr = []; var _OUT = { write: function(m) { if (m) _OUT_arr.push(m); } }; \"].join(\"\")}},\"/macro\":{delta:-1,prefix:\" return _OUT_arr.join(''); };\"}},TrimPath.parseTemplate_etc.modifierDef={eat:function(){return\"\"},escape:function(a){return String(a).replace(/&/g,\"&\").replace(/</g,\"<\").replace(/>/g,\">\")},capitalize:function(a){return String(a).toUpperCase()},\"default\":function(a,b){return null!=a?a:b}},TrimPath.parseTemplate_etc.modifierDef.h=TrimPath.parseTemplate_etc.modifierDef.escape,TrimPath.parseTemplate_etc.Template=function(a,b,c,d,e){this.process=function(a,b){null==a&&(a={}),null==a._MODIFIERS&&(a._MODIFIERS={}),null==a.defined&&(a.defined=function(b){return void 0!=a[b]});for(var c in e.modifierDef)null==a._MODIFIERS[c]&&(a._MODIFIERS[c]=e.modifierDef[c]);null==b&&(b={});var f=[],g={write:function(a){f.push(a)}};try{d(g,a,b)}catch(h){if(1==b.throwExceptions)throw h;var i=new String(f.join(\"\")+\"[ERROR: \"+h.toString()+(h.message?\"; \"+h.message:\"\")+\"]\");return i.exception=h,i}return f.join(\"\")},this.name=a,this.source=b,this.sourceFunc=c,this.toString=function(){return\"TrimPath.Template [\"+a+\"]\"}},TrimPath.parseTemplate_etc.ParseError=function(a,b,c){this.name=a,this.line=b,this.message=c},TrimPath.parseTemplate_etc.ParseError.prototype.toString=function(){return\"TrimPath template ParseError in \"+this.name+\": line \"+this.line+\", \"+this.message};var parse=function(a,b,c){a=cleanWhiteSpace(a);for(var d=[\"var TrimPath_Template_TEMP = function(_OUT, _CONTEXT, _FLAGS) { with (_CONTEXT) {\"],e={stack:[],line:1},f=-1;f+1<a.length;){var g=f;for(g=a.indexOf(\"{\",g+1);g>=0;){var h=a.indexOf(\"}\",g+1),i=a.substring(g,h),j=i.match(/^\\{(cdata|minify|eval)/);if(j){var k=j[1],l=g+k.length+1,m=a.indexOf(\"}\",l);if(m>=0){var n;n=0>=m-l?\"{/\"+k+\"}\":a.substring(l+1,m);var o=a.indexOf(n,m+1);if(o>=0){emitSectionText(a.substring(f+1,g),d);var p=a.substring(m+1,o);\"cdata\"==k?emitText(p,d):\"minify\"==k?emitText(scrubWhiteSpace(p),d):\"eval\"==k&&null!=p&&p.length>0&&d.push(\"_OUT.write( (function() { \"+p+\" })() );\"),g=f=o+n.length-1}}}else if(\"$\"!=a.charAt(g-1)&&\"\\\\\"!=a.charAt(g-1)){var q=\"/\"==a.charAt(g+1)?2:1;if(0==a.substring(g+q,g+10+q).search(TrimPath.parseTemplate_etc.statementTag))break}g=a.indexOf(\"{\",g+1)}if(0>g)break;var h=a.indexOf(\"}\",g+1);if(0>h)break;emitSectionText(a.substring(f+1,g),d),emitStatement(a.substring(g,h+1),e,d,b,c),f=h}if(emitSectionText(a.substring(f+1),d),0!=e.stack.length)throw new c.ParseError(b,e.line,\"unclosed, unmatched statement(s): \"+e.stack.join(\",\"));return d.push(\"}}; TrimPath_Template_TEMP\"),d.join(\"\")},emitStatement=function(a,b,c,d,e){var f=a.slice(1,-1).split(\" \"),g=e.statementDef[f[0]];if(null==g)return emitSectionText(a,c),void 0;if(g.delta<0){if(b.stack.length<=0)throw new e.ParseError(d,b.line,\"close tag does not match any previous statement: \"+a);b.stack.pop()}if(g.delta>0&&b.stack.push(a),null!=g.paramMin&&g.paramMin>=f.length)throw new e.ParseError(d,b.line,\"statement needs more parameters: \"+a);if(null!=g.prefixFunc?c.push(g.prefixFunc(f,b,d,e)):c.push(g.prefix),null!=g.suffix){if(f.length<=1)null!=g.paramDefault&&c.push(g.paramDefault);else for(var h=1;h<f.length;h++)h>1&&c.push(\" \"),c.push(f[h]);c.push(g.suffix)}},emitSectionText=function(a,b){if(!(a.length<=0)){for(var c=0,d=a.length-1;c<a.length&&\"\\n\"==a.charAt(c);)c++;for(;d>=0&&(\" \"==a.charAt(d)||\"\t\"==a.charAt(d));)d--;if(c>d&&(d=c),c>0){b.push('if (_FLAGS.keepWhitespace == true) _OUT.write(\"');var e=a.substring(0,c).replace(\"\\n\",\"\\\\n\");\"\\n\"==e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),b.push(e),b.push('\");')}for(var f=a.substring(c,d+1).split(\"\\n\"),g=0;g<f.length;g++)emitSectionTextLine(f[g],b),g<f.length-1&&b.push('_OUT.write(\"\\\\n\");\\n');if(d+1<a.length){b.push('if (_FLAGS.keepWhitespace == true) _OUT.write(\"');var e=a.substring(d+1).replace(\"\\n\",\"\\\\n\");\"\\n\"==e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),b.push(e),b.push('\");')}}},emitSectionTextLine=function(a,b){for(var c=\"}\",d=-1;d+c.length<a.length;){var e=\"${\",f=\"}\",g=a.indexOf(e,d+c.length);if(0>g)break;\"%\"==a.charAt(g+2)&&(e=\"${%\",f=\"%}\");var h=a.indexOf(f,g+e.length);if(0>h)break;emitText(a.substring(d+c.length,g),b);var i=a.substring(g+e.length,h).replace(/\\|\\|/g,\"#@@#\").split(\"|\");for(var j in i)i[j].replace&&(i[j]=i[j].replace(/#@@#/g,\"||\"));b.push(\"_OUT.write(\"),emitExpression(i,i.length-1,b),b.push(\");\"),d=h,c=f}emitText(a.substring(d+c.length),b)},emitText=function(a,b){null==a||a.length<=0||(a=a.replace(/\\\\/g,\"\\\\\\\\\"),a=a.replace(/\\n/g,\"\\\\n\"),a=a.replace(/\"/g,'\\\\\"'),b.push('_OUT.write(\"'),b.push(a),b.push('\");'))},emitExpression=function(a,b,c){var d=a[b];if(0>=b)return c.push(d),void 0;var e=d.split(\":\");c.push('_MODIFIERS[\"'),c.push(e[0]),c.push('\"]('),emitExpression(a,b-1,c),e.length>1&&(c.push(\",\"),c.push(e[1])),c.push(\")\")},cleanWhiteSpace=function(a){return a=a.replace(/\\t/g,\"    \"),a=a.replace(/\\r\\n/g,\"\\n\"),a=a.replace(/\\r/g,\"\\n\"),a=a.replace(/^(\\s*\\S*(\\s+\\S+)*)\\s*$/,\"$1\")},scrubWhiteSpace=function(a){return a=a.replace(/^\\s+/g,\"\"),a=a.replace(/\\s+$/g,\"\"),a=a.replace(/\\s+/g,\" \"),a=a.replace(/^(\\s*\\S*(\\s+\\S+)*)\\s*$/,\"$1\")};TrimPath.parseDOMTemplate=function(a,b,c){null==b&&(b=document);var d=b.getElementById(a),e=d.value;return null==e&&(e=d.innerHTML),e=e.replace(/</g,\"<\").replace(/>/g,\">\"),TrimPath.parseTemplate(e,a,c)},TrimPath.processDOMTemplate=function(a,b,c,d,e){return TrimPath.parseDOMTemplate(a,d,e).process(b,c)}}(),function($){$.extend({_jsonp:{scripts:{},counter:1,charset:\"gb2312\",head:document.getElementsByTagName(\"head\")[0],name:function(callback){var name=\"_jsonp_\"+(new Date).getTime()+\"_\"+this.counter;this.counter++;var cb=function(json){eval(\"delete \"+name),callback(json),$._jsonp.head.removeChild($._jsonp.scripts[name]),delete $._jsonp.scripts[name]};return eval(name+\" = cb\"),name},load:function(a,b){var c=document.createElement(\"script\");c.type=\"text/javascript\",c.charset=this.charset,c.src=a,this.head.appendChild(c),this.scripts[b]=c}},getJSONP:function(a,b){var c=$._jsonp.name(b),a=a.replace(/{callback};/,c);return $._jsonp.load(a,c),this}})}(jQuery),function(a){a.fn.Jdropdown=function(b,c){if(this.length){\"function\"==typeof b&&(c=b,b={});var d=a.extend({event:\"mouseover\",current:\"hover\",delay:0},b||{}),e=\"mouseover\"==d.event?\"mouseout\":\"mouseleave\";a.each(this,function(){var b=null,f=null,g=!1;a(this).bind(d.event,function(){if(g)clearTimeout(f);else{var e=a(this);b=setTimeout(function(){e.addClass(d.current),g=!0,c&&c(e)},d.delay)}}).bind(e,function(){if(g){var c=a(this);f=setTimeout(function(){c.removeClass(d.current),g=!1},d.delay)}else clearTimeout(b)})})}}}(jQuery),function(a){a.fn.dropdown=function(b,c){var b=a.extend({className:\"item\",current:\"hover\",enterDelay:10,leaveDelay:300,onmouseleave:null},b);a.each(this,function(){function d(){function a(a,b){return(b.y-a.y)/(b.x-a.x)}var b=g.offset(),c={x:b.left,y:b.top},d={x:b.left+g.outerWidth(),y:c.y},e={x:b.left,y:b.top+g.outerHeight()},f={x:b.left+g.outerWidth(),y:e.y};if(loc=i[i.length-1],prevLoc=i[0],!loc)return 0;if(prevLoc||(prevLoc=loc),prevLoc.x<b.left||prevLoc.x>f.x||prevLoc.y<b.top||prevLoc.y>f.y)return 0;if(j&&loc.x==j.x&&loc.y==j.y)return 0;var h=d,k=f,l=a(loc,h),m=a(prevLoc,h),n=a(loc,k),o=a(prevLoc,k);return m>l&&n>o?prevLoc.x-c.x<25?0:(j=loc,300):(j=null,0)}var e,f,g=a(this),h=g.find(\".\"+b.className),i=[],j=null,k=3,l=!1;g.bind(\"mouseenter\",function(){clearTimeout(e)});var m=null,n=null;g.bind(\"mouseleave\",function(){l&&(e=setTimeout(function(){h.removeClass(b.current)},b.leaveDelay)),b.onmouseleave&&b.onmouseleave(),m=null}),h.bind(\"mouseenter\",function(){var e=a(this),g=this,i=function(){m=jQuery.inArray(g,h),h.removeClass(b.current),e.addClass(b.current),l=!0,c&&c(e)};f=setTimeout(function(){0==d(e)&&(i(),clearTimeout(n))},b.enterDelay),n=setTimeout(function(){m!=jQuery.inArray(g,h)&&i()},700)}),h.bind(\"mouseleave\",function(){a(this);clearTimeout(f),clearTimeout(n)}),a(document).mousemove(function(a){i.push({x:a.pageX,y:a.pageY}),i.length>k&&i.shift()})})}}(jQuery),function(a){a.fn.Jtab=function(b,c){if(this.length){\"function\"==typeof b&&(c=b,b={});var d=a.extend({type:\"static\",auto:!1,event:\"mouseover\",currClass:\"curr\",source:\"data-tag\",hookKey:\"data-widget\",hookItemVal:\"tab-item\",hookContentVal:\"tab-content\",stay:5e3,delay:100,threshold:null,mainTimer:null,subTimer:null,index:0,compatible:!1},b||{}),e=a(this).find(\"*[\"+d.hookKey+\"=\"+d.hookItemVal+\"]\"),f=a(this).find(\"*[\"+d.hookKey+\"=\"+d.hookContentVal+\"]\"),g=d.source.toLowerCase().match(/http:\\/\\/|\\d|\\.aspx|\\.ascx|\\.asp|\\.php|\\.html\\.htm|.shtml|.js/g);if(e.length!=f.length)return!1;var h=function(a,b){d.subTimer=setTimeout(function(){e.eq(d.index).removeClass(d.currClass),d.compatible&&f.eq(d.index).hide(),b?(d.index++,d.index==e.length&&(d.index=0)):d.index=a,d.type=null!=e.eq(d.index).attr(d.source)?\"dynamic\":\"static\",j()},d.delay)},i=function(){d.mainTimer=setInterval(function(){h(d.index,!0)},d.stay)},j=function(){switch(e.eq(d.index).addClass(d.currClass),d.compatible&&f.eq(d.index).show(),d.type){default:case\"static\":var a=\"\";break;case\"dynamic\":var a=g?d.source:e.eq(d.index).attr(d.source);e.eq(d.index).removeAttr(d.source)}c&&c(a,f.eq(d.index),d.index)};e.each(function(b){a(this).bind(d.event,function(){clearTimeout(d.subTimer),clearInterval(d.mainTimer),h(b,!1)}).bind(\"mouseleave\",function(){d.auto&&i()})}),\"dynamic\"==d.type&&h(d.index,!1),d.auto&&i()}}}(jQuery),function(a){a.fn.Jlazyload=function(b,c){if(this.length){var d,e,f=a.extend({type:null,offsetParent:null,source:\"data-lazyload\",placeholderImage:\"http://misc.360buyimg.com/lib/img/e/blank.gif\",placeholderClass:\"loading-style2\",threshold:200},b||{}),g=this,h=function(a){for(var b=a.scrollLeft,c=a.scrollTop,d=a.offsetWidth,e=a.offsetHeight;a.offsetParent;)b+=a.offsetLeft,c+=a.offsetTop,a=a.offsetParent;return{left:b,top:c,width:d,height:e}},i=function(){var a=document.documentElement,b=document.body,c=window.pageXOffset?window.pageXOffset:a.scrollLeft||b.scrollLeft,d=window.pageYOffset?window.pageYOffset:a.scrollTop||b.scrollTop,e=a.clientWidth,f=a.clientHeight;return{left:c,top:d,width:e,height:f}},j=function(a,b){var c,d,e,g,h,i,j=f.threshold?parseInt(f.threshold):0;return c=a.left+a.width/2,d=b.left+b.width/2,e=a.top+a.height/2,g=b.top+b.height/2,h=(a.width+b.width)/2,i=(a.height+b.height)/2,Math.abs(c-d)<h+j&&Math.abs(e-g)<i+j},k=function(a,b,d){f.placeholderImage&&f.placeholderClass&&d.attr(\"src\",f.placeholderImage).addClass(f.placeholderClass),a&&(d.attr(\"src\",b).removeAttr(f.source),c&&c(b,d))},l=function(b,d,e){if(b){var g=a(\"#\"+d);g.html(e.val()).removeAttr(f.source),e.remove(),c&&c(d,e)}},m=function(a,b,d){a&&(d.removeAttr(f.source),c&&c(b,d))},n=function(){e=i(),g=g.filter(function(){return a(this).attr(f.source)}),a.each(g,function(){var b=a(this).attr(f.source);if(b){var c=f.offsetParent?h(a(f.offsetParent).get(0)):e,d=h(this),g=j(c,d);switch(f.type){case\"image\":k(g,b,a(this));break;case\"textarea\":l(g,b,a(this));break;case\"module\":m(g,b,a(this))}}})},o=function(){g.length>0&&(clearTimeout(d),d=setTimeout(function(){n()},10))};n(),f.offsetParent?a(f.offsetParent).bind(\"scroll\",function(){o()}):a(window).bind(\"scroll\",function(){o()}).bind(\"reset\",function(){o()})}}}(jQuery),function(a){a.Jtimer=function(b,c){var d=a.extend({pids:null,template:null,reset:null,mainPlaceholder:\"timed\",subPlaceholder:\"timer\",resetPlaceholder:\"reset\",iconPlaceholder:\"icon\",finishedClass:\"\",timer:[]},b||{}),e=function(a){var b=a.split(\" \"),c=b[0].split(\"-\"),d=b[1].split(\":\");return new Date(c[0],c[1]-1,c[2],d[0],d[1],d[2])},f=function(a){return String(a).length<2&&(a=\"0\"+a),a},g=function(b,c){if(c!={}&&c&&c.start&&c.end){var g,h,i,j=e(c.start),k=e(c.server),l=e(c.end),m=(j-k)/1e3,n=(l-k)/1e3,o=\"#\"+d.mainPlaceholder+b,p=\"#\"+d.subPlaceholder+c.qid,q=\"#\"+d.resetPlaceholder+c.qid;if(0>=m){var r=d.template.process(c);a(o).html(r)}d.timer[c.qid]=setInterval(function(){return m>0?(clearInterval(d.timer[c.qid]),void 0):(n>0?(g=Math.floor(n/3600),h=Math.floor((n-3600*g)/60),i=(n-3600*g)%60,a(p).html(\"\\u5269\\u4f59<b>\"+f(g)+\"</b>\\u5c0f\\u65f6<b>\"+f(h)+\"</b>\\u5206<b>\"+f(i)+\"</b>\\u79d2\"),n--):(a(p).html(\"\\u62a2\\u8d2d\\u7ed3\\u675f\\uff01\"),d.iconPlaceholder&&(iconElement=\"#\"+d.iconPlaceholder+c.qid,a(iconElement).attr(\"class\",d.finishedClass).html(\"\\u62a2\\u5b8c\")),d.reset&&(a(p).append('<a href=\"javascript:void(0)\" id=\"'+q.substring(1)+'\">\\u5237\\u65b0</a>'),a(q).bind(\"click\",function(){a.each(d.timer,function(){clearInterval(this)}),d.reset()})),clearInterval(d.timer[c.qid])),void 0)},1e3)}},h=function(a,b){return e(a.end)-e(a.server)-(e(b.end)-e(b.server))};a.ajax({url:\"http://qiang.jd.com/HomePageNewLimitBuy.ashx?callback=?\",data:{ids:d.pids},dataType:\"jsonp\",success:function(b){b&&b.data&&(b.data.sort(h),a.each(b.data,function(a){g(a+1,b.data[a])})),c&&c()}})}}(jQuery),function(a){a.fn.Jslider=function(b,c){if(this.length){\"function\"==typeof b&&(c=b,b={});var d=a.extend({auto:!1,reInit:!1,data:[],defaultIndex:0,slideWidth:0,slideHeight:0,slideDirection:1,speed:\"normal\",stay:5e3,delay:150,maxAmount:null,template:null,showControls:!0},b||{}),e=a(this),f=null,g=null,h=null,i=null,j=null,k=function(){var a;\r\nd.maxAmount&&d.maxAmount<d.data.length&&d.data.splice(d.maxAmount,d.data.length-d.maxAmount),\"object\"==typeof d.data&&(d.data.length?(a={},a.json=d.data):a=d.data);var b=d.template;if(d.reInit){var i,j=b.controlsContent.process(a);a.json=a.json.slice(1),i=b.itemsContent.process(a),e.find(\".slide-items\").eq(0).append(i),e.find(\".slide-controls\").eq(0).html(j)}else{var k=b.itemsWrap.replace(\"{innerHTML}\",b.itemsContent)+b.controlsWrap.replace(\"{innerHTML}\",b.controlsContent),m=k.process(a);e.html(m)}f=e.find(\".slide-items\"),g=e.find(\".slide-controls\"),h=g.find(\"span\"),l(),n(),c&&c(e)},l=function(){h.bind(\"mouseover\",function(){var a=h.index(this);a!=d.defaultIndex&&(clearTimeout(j),clearInterval(i),j=setTimeout(function(){m(a)},d.delay))}).bind(\"mouseleave\",function(){clearTimeout(j),clearInterval(i),n()}),f.bind(\"mouseover\",function(){clearTimeout(j),clearInterval(i)}).bind(\"mouseleave\",function(){n()})},m=function(b){h.each(function(c){c==b?a(this).addClass(\"curr\"):a(this).removeClass(\"curr\")});var c=0,e=0;if(3==d.slideDirection){var g=f.children(),i=g.eq(d.defaultIndex),j=g.eq(b);i.css({zIndex:0}),j.css({zIndex:1}),i.fadeOut(\"fast\"),j.fadeIn(\"slow\"),d.defaultIndex=b}else 1==d.slideDirection?(f.css({width:d.slideWidth*d.data.length}),c=-d.slideWidth*b):e=-d.slideHeight*b,f.animate({top:e+\"px\",left:c+\"px\"},d.speed,function(){d.defaultIndex=b})},n=function(){d.auto&&(i=setInterval(function(){var a=d.defaultIndex;a++,a==d.data.length&&(a=0),m(a)},d.stay))};k()}}}(jQuery),jQuery.fn.pagination=function(a,b){return b=jQuery.extend({items_per_page:10,num_display_entries:10,current_page:0,num_edge_entries:0,link_to:\"#\",prev_text:\"Prev\",next_text:\"Next\",ellipse_text:\"...\",prev_show_always:!0,next_show_always:!0,callback:function(){return!1}},b||{}),this.each(function(){function c(){return Math.ceil(a/b.items_per_page)}function d(){var a=Math.ceil(b.num_display_entries/2),d=c(),e=d-b.num_display_entries,f=g>a?Math.max(Math.min(g-a,e),0):0,h=g>a?Math.min(g+a,d):Math.min(b.num_display_entries,d);return[f,h]}function e(a,c){g=a,f();var d=b.callback(a,h);return d||(c.stopPropagation?c.stopPropagation():c.cancelBubble=!0),d}function f(){h.empty();var a=d(),f=c();1==f&&$(\".Pagination\").css({display:\"none\"});var i=function(a){return function(b){return e(a,b)}},j=function(a,c){if(a=0>a?0:f>a?a:f-1,c=jQuery.extend({text:a+1,classes:\"\"},c||{}),a==g)var d=$(\"<a href='javascript:void(0)' class='current'>\"+c.text+\"</a>\");else var d=$(\"<a>\"+c.text+\"</a>\").bind(\"click\",i(a)).attr(\"href\",b.link_to.replace(/__id__/,a));c.classes&&d.addClass(c.classes),h.append(d)};if(b.prev_text&&(g>0||b.prev_show_always)&&j(g-1,{text:b.prev_text,classes:\"prev\"}),a[0]>0&&b.num_edge_entries>0){for(var k=Math.min(b.num_edge_entries,a[0]),l=0;k>l;l++)j(l);b.num_edge_entries<a[0]&&b.ellipse_text&&jQuery(\"<span>\"+b.ellipse_text+\"</span>\").appendTo(h)}for(var l=a[0];l<a[1];l++)j(l);if(a[1]<f&&b.num_edge_entries>0){f-b.num_edge_entries>a[1]&&b.ellipse_text&&jQuery(\"<span>\"+b.ellipse_text+\"</span>\").appendTo(h);for(var m=Math.max(f-b.num_edge_entries,a[1]),l=m;f>l;l++)j(l)}b.next_text&&(f-1>g||b.next_show_always)&&j(g+1,{text:b.next_text,classes:\"next\"})}var g=b.current_page;a=!a||0>a?1:a,b.items_per_page=!b.items_per_page||b.items_per_page<0?1:b.items_per_page;var h=jQuery(this);this.selectPage=function(a){e(a)},this.prevPage=function(){return g>0?(e(g-1),!0):!1},this.nextPage=function(){return g<c()-1?(e(g+1),!0):!1},f()})},function(a){a.extend(a.browser,{client:function(){return{width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,bodyWidth:document.body.clientWidth,bodyHeight:document.body.clientHeight}},scroll:function(){var a=document.documentElement.scrollTop,b=document.body.scrollTop,c=document.documentElement.scrollLeft,d=document.body.scrollLeft,e=a?a:b,f=c?c:d;return{width:document.documentElement.scrollWidth,height:document.documentElement.scrollHeight,bodyWidth:document.body.scrollWidth,bodyHeight:document.body.scrollHeight,left:f,top:e}},screen:function(){return{width:window.screen.width,height:window.screen.height}},isIE6:a.browser.msie&&6==a.browser.version,isMinW:function(b){return Math.min(a.browser.client().bodyWidth,a.browser.client().width)<=b},isMinH:function(b){return a.browser.client().height<=b}})}(jQuery),function(a){a.fn.jdPosition=function(b){var c=a.extend({mode:null},b||{});switch(c.mode){default:case\"center\":var d=a(this).outerWidth(),e=a(this).outerHeight(),f=(a.browser.isMinW(d),a.browser.isMinH(e));a(this).css({left:a.browser.scroll().left+Math.max((a.browser.client().width-d)/2,0)+\"px\",top:a.browser.isIE6?a.browser.scroll().top<=a.browser.client().bodyHeight-e?a.browser.scroll().top+Math.max((a.browser.client().height-e)/2,0)+\"px\":(a.browser.client().height-e)/2+\"px\":f?a.browser.scroll().top:a.browser.scroll().top+Math.max((a.browser.client().height-e)/2,0)+\"px\"});break;case\"auto\":break;case\"fixed\":}}}(jQuery),function(a){a.fn.jdThickBox=function(b,c){\"function\"==typeof b&&(c=b,b={});var d,e=a.extend({type:\"text\",source:null,width:null,height:null,title:null,_frame:\"\",_div:\"\",_box:\"\",_con:\"\",_loading:\"thickloading\",close:!1,_close:\"\",_fastClose:!1,_close_val:\"\\xd7\",_titleOn:!0,_title:\"\",_autoReposi:!1,_countdown:!1,_thickPadding:10,_wrapBorder:1},b||{}),f=\"function\"!=typeof this?a(this):null,g=function(){clearInterval(d),a(\".thickframe\").add(\".thickdiv\").remove(),a(\".thickbox\").empty().remove(),e._autoReposi&&a(window).unbind(\"resize.jdThickBox\").unbind(\"scroll.jdThickBox\")};if(e.close)return g(),!1;var h=function(a){return\"\"!=a?a.match(/\\w+/):\"\"},i=function(b){0==a(\".thickframe\").length||0==a(\".thickdiv\").length?(a(\"<iframe class='thickframe' id='\"+h(e._frame)+\"' marginwidth='0' marginheight='0' frameborder='0' scrolling='no'></iframe>\").appendTo(a(document.body)),a(\"<div class='thickdiv' id='\"+h(e._div)+\"'></div>\").appendTo(a(document.body))):a(\".thickframe\").add(\".thickdiv\").show(),a(\"<div class='thickbox' id='\"+h(e._box)+\"'><div class='thickwrap'></div></div>\").appendTo(a(document.body)),a(\".thickwrap\")&&(a(\".thickwrap\").css(\"width\",e.width+2*e._thickPadding),e._wrapBorder=1),e._titleOn&&k(b),a(\"<div class='thickcon' id='\"+h(e._con)+\"' style='width:\"+e.width+\"px;height:\"+e.height+\"px;'></div>\").appendTo(a(\".thickwrap\")),e._countdown&&j(),a(\".thickcon\").addClass(e._loading),n(),l(),m(b),e._autoReposi&&a(window).bind(\"resize.jdThickBox\",n).bind(\"scroll.jdThickBox\",n),e._fastClose&&a(document.body).bind(\"click.jdThickBox\",function(b){b=b?b:window.event;var c=b.srcElement?b.srcElement:b.target;\"thickdiv\"==c.className&&(a(this).unbind(\"click.jdThickBox\"),g())})},j=function(){var b=e._countdown;a(\"<div class='thickcountdown' style='width:\"+e.width+\"'><span id='jd-countdown'>\"+b+\"</span>\\u79d2\\u540e\\u81ea\\u52a8\\u5173\\u95ed</div>\").appendTo(a(\".thickwrap\")),d=setInterval(function(){b--,a(\"#jd-countdown\").html(b),0==b&&(b=e._countdown,g())},1e3)},k=function(b){e.title=null==e.title&&b?b.attr(\"title\"):e.title,a(\"<div class='thicktitle' id='\"+h(e._title)+\"' style='width:\"+e.width+\"'><span>\"+e.title+\"</span></div>\").appendTo(a(\".thickwrap\"))},l=function(){null!=e._close&&(a(\"<a href='#' class='thickclose' id='\"+h(e._close)+\"'>\"+e._close_val+\"</a>\").appendTo(a(\".thickwrap\")),a(\".thickclose\").one(\"click\",function(){return g(),!1}))},m=function(b){switch(e.source=null==e.source?b.attr(\"href\"):e.source,e.type){default:case\"text\":a(\".thickcon\").html(e.source),a(\".thickcon\").removeClass(e._loading),c&&c();break;case\"html\":a(e.source).clone().appendTo(a(\".thickcon\")).show(),a(\".thickcon\").removeClass(e._loading),c&&c();break;case\"image\":e._index=null==e._index?f.index(b):e._index,a(\".thickcon\").append(\"<img src='\"+e.source+\"' width='\"+e.width+\"' height='\"+e.height+\"'>\"),e.source=null,a(\".thickcon\").removeClass(e._loading),c&&c();break;case\"ajax\":case\"json\":c&&c(e.source,a(\".thickcon\"),function(){a(\".thickcon\").removeClass(e._loading)});break;case\"iframe\":a(\"<iframe src='\"+e.source+\"' marginwidth='0' marginheight='0' frameborder='0' scrolling='no' style='width:\"+e.width+\"px;height:\"+e.height+\"px;border:0;'></iframe>\").appendTo(a(\".thickcon\")),a(\".thickcon\").removeClass(e._loading),c&&c()}},n=function(){var b=2*e._thickPadding+parseInt(e.width);if(a(\".thickcon\").css({width:e.width,height:e.height,paddingLeft:e._thickPadding,paddingRight:e._thickPadding}),setTimeout(function(){a(\".thickbox\").css({width:b+2*e._wrapBorder,height:parseInt(e._titleOn?a(\".thicktitle\").outerHeight():0)+parseInt(a(\".thickcon\").outerHeight())+2*e._wrapBorder})},100),a(\".thickbox\").jdPosition({mode:\"center\"}),a.browser.isIE6){{var c=a(\".thickbox\").outerWidth(),d=a(\".thickbox\").outerHeight(),f=a.browser.isMinW(c);a.browser.isMinH(d)}a(\".thickframe\").add(\".thickdiv\").css({width:f?c:\"100%\",height:Math.max(a.browser.client().height,a.browser.client().bodyHeight)+\"px\"})}};null!=f?f.click(function(){return i(a(this)),!1}):i()},a.jdThickBox=a.fn.jdThickBox}(jQuery),function(a){a.fn.jdMarquee=function(b,c){\"function\"==typeof b&&(c=b,b={});var d,e=a.extend({deriction:\"up\",speed:10,auto:!1,width:null,height:null,step:1,control:!1,_front:null,_back:null,_stop:null,_continue:null,wrapstyle:\"\",stay:5e3,delay:20,dom:\"div>ul>li\".split(\">\"),mainTimer:null,subTimer:null,tag:!1,convert:!1,btn:null,disabled:\"disabled\",pos:{ojbect:null,clone:null}},b||{}),f=this.find(e.dom[1]),g=this.find(e.dom[2]);if(\"up\"==e.deriction||\"down\"==e.deriction){var h=f.eq(0).outerHeight(),i=e.step*g.eq(0).outerHeight();f.css({width:e.width+\"px\",overflow:\"hidden\"})}if(\"left\"==e.deriction||\"right\"==e.deriction){var j=g.length*g.eq(0).outerWidth();f.css({width:j+\"px\",overflow:\"hidden\"});var i=e.step*g.eq(0).outerWidth()}var k=function(){var a=\"<div style='position:relative;overflow:hidden;z-index:1;width:\"+e.width+\"px;height:\"+e.height+\"px;\"+e.wrapstyle+\"'></div>\";switch(f.css({position:\"absolute\",left:0,top:0}).wrap(a),e.pos.object=0,d=f.clone(),f.after(d),e.deriction){default:case\"up\":f.css({marginLeft:0,marginTop:0}),d.css({marginLeft:0,marginTop:h+\"px\"}),e.pos.clone=h;break;case\"down\":f.css({marginLeft:0,marginTop:0}),d.css({marginLeft:0,marginTop:-h+\"px\"}),e.pos.clone=-h;break;case\"left\":f.css({marginTop:0,marginLeft:0}),d.css({marginTop:0,marginLeft:j+\"px\"}),e.pos.clone=j;break;case\"right\":f.css({marginTop:0,marginLeft:0}),d.css({marginTop:0,marginLeft:-j+\"px\"}),e.pos.clone=-j}e.auto&&(l(),f.hover(function(){n(e.mainTimer)},function(){l()}),d.hover(function(){n(e.mainTimer)},function(){l()})),c&&c(),e.control&&p()},l=function(a){n(e.mainTimer),e.stay=a?a:e.stay,e.mainTimer=setInterval(function(){m()},e.stay)},m=function(){n(e.subTimer),e.subTimer=setInterval(function(){s()},e.delay)},n=function(a){null!=a&&clearInterval(a)},o=function(b){b?(a(e._front).unbind(\"click\"),a(e._back).unbind(\"click\"),a(e._stop).unbind(\"click\"),a(e._continue).unbind(\"click\")):p()},p=function(){null!=e._front&&a(e._front).click(function(){a(e._front).addClass(e.disabled),o(!0),n(e.mainTimer),e.convert=!0,e.btn=\"front\",m(),e.auto||(e.tag=!0),q()}),null!=e._back&&a(e._back).click(function(){a(e._back).addClass(e.disabled),o(!0),n(e.mainTimer),e.convert=!0,e.btn=\"back\",m(),e.auto||(e.tag=!0),q()}),null!=e._stop&&a(e._stop).click(function(){n(e.mainTimer)}),null!=e._continue&&a(e._continue).click(function(){l()})},q=function(){e.tag&&e.convert&&(e.convert=!1,\"front\"==e.btn&&(\"down\"==e.deriction&&(e.deriction=\"up\"),\"right\"==e.deriction&&(e.deriction=\"left\")),\"back\"==e.btn&&(\"up\"==e.deriction&&(e.deriction=\"down\"),\"left\"==e.deriction&&(e.deriction=\"right\")),e.auto?l():l(4*e.delay))},r=function(a,b,c){c?(n(e.subTimer),e.pos.object=a,e.pos.clone=b,e.tag=!0):e.tag=!1,e.tag&&(e.convert?q():e.auto||n(e.mainTimer)),(\"up\"==e.deriction||\"down\"==e.deriction)&&(f.css({marginTop:a+\"px\"}),d.css({marginTop:b+\"px\"})),(\"left\"==e.deriction||\"right\"==e.deriction)&&(f.css({marginLeft:a+\"px\"}),d.css({marginLeft:b+\"px\"}))},s=function(){var b=\"up\"==e.deriction||\"down\"==e.deriction?parseInt(f.get(0).style.marginTop):parseInt(f.get(0).style.marginLeft),c=\"up\"==e.deriction||\"down\"==e.deriction?parseInt(d.get(0).style.marginTop):parseInt(d.get(0).style.marginLeft),g=Math.max(Math.abs(b-e.pos.object),Math.abs(c-e.pos.clone)),k=Math.ceil((i-g)/e.speed);switch(e.deriction){case\"up\":g==i?(r(b,c,!0),a(e._front).removeClass(e.disabled),o(!1)):(-h>=b&&(b=c+h,e.pos.object=b),-h>=c&&(c=b+h,e.pos.clone=c),r(b-k,c-k));break;case\"down\":g==i?(r(b,c,!0),a(e._back).removeClass(e.disabled),o(!1)):(b>=h&&(b=c-h,e.pos.object=b),c>=h&&(c=b-h,e.pos.clone=c),r(b+k,c+k));break;case\"left\":g==i?(r(b,c,!0),a(e._front).removeClass(e.disabled),o(!1)):(-j>=b&&(b=c+j,e.pos.object=b),-j>=c&&(c=b+j,e.pos.clone=c),r(b-k,c-k));break;case\"right\":g==i?(r(b,c,!0),a(e._back).removeClass(e.disabled),o(!1)):(b>=j&&(b=c-j,e.pos.object=b),c>=j&&(c=b-j,e.pos.clone=c),r(b+k,c+k))}};(\"up\"==e.deriction||\"down\"==e.deriction)&&h>=e.height&&h>=e.step&&k(),(\"left\"==e.deriction||\"right\"==e.deriction)&&j>=e.width&&j>=e.step&&k()}}(jQuery),$.login=function(a){a=$.extend({loginService:\"http://passport.\"+pageConfig.FN_getDomain()+\"/loginservice.aspx?callback=?\",loginMethod:\"Login\",loginUrl:\"https://passport.\"+pageConfig.FN_getDomain()+\"/new/login.aspx\",returnUrl:location.href,automatic:!0,complete:null,modal:!1},a||{}),\"\"!=a.loginService&&\"\"!=a.loginMethod&&$.getJSON(a.loginService,{method:a.loginMethod},function(b){null!=b&&(null!=a.complete&&a.complete(b.Identity),!b.Identity.IsAuthenticated&&a.automatic&&\"\"!=a.loginUrl&&(a.modal?jdModelCallCenter.login():location.href=a.loginUrl+\"?ReturnUrl=\"+escape(a.returnUrl)))})},function(a){a.jdCalcul=function(b){var c=null,b=b.join(\",\"),d=\"http://qiang.jd.com/HomePageNewLimitBuy.ashx?callback=?&ids=\"+b,e=\"http://item.jd.com/\",f=function(b){var c=a.extend({contentid:\"#limit\",clockid:\"#clock\",rankid:\"#rank\",limitid:\"#limitbuy\"},b||{});if(!(b=={}||\"\"==b||null==c.start||\"\"==c.start||null==c.end||\"\"==c.end||c.pros.length<1)){c.start=g(c.start),c.start=a.browser.mozzia?Date.parse(c.start):c.start,c.server=g(c.server),c.server=a.browser.mozzia?Date.parse(c.server):c.server,c.end=g(c.end),c.end=a.browser.mozzia?Date.parse(c.end):c.end,c.contentid=a(c.contentid+c.qid),c.clockid=a(c.clockid+c.qid),c.rankid=a(c.rankid+c.qid),c.limitid=a(c.limitid+c.qid);var d,f,h,i,j=(c.start-c.server)/1e3,k=(c.end-c.server)/1e3,l=function(){var b='<li><div class=\"p-img\"><a href=\"{6}{0}.html\" target=\"_blank\"><img src=\"{1}\" width=\"100\" height=\"100\" /></a>{2}</div><div class=\"p-name\"><a href=\"{6}{0}.html\" target=\"_blank\">{3}</a></div><div class=\"p-price\">\\u62a2\\u8d2d\\u4ef7\\uff1a<strong>{4}</strong>{5}</div></li>',d=\"<ul>\";a.each(c.pros,function(a){var f=c.pros[a].id,g=c.pros[a].tp,h=\"<div class='pi9'></div>\",i=unescape(c.pros[a].mc),j=c.pros[a].qg,k=\"(\"+c.pros[a].zk+\"\\u6298)\";d+=b.replace(/\\{0\\}/g,f).replace(\"{1}\",g).replace(\"{2}\",h).replace(\"{3}\",i).replace(\"{4}\",j).replace(\"{5}\",k).replace(/\\{6\\}/g,e)}),d+=\"</ul>\",c.contentid.html(d)},m=function(){j>0||(k>0?(d=Math.floor(k/3600),f=Math.floor((k-3600*d)/60),h=(k-3600*d)%60,c.clockid.html(\"\\u5269\\u4f59<b>\"+d+\"</b>\\u5c0f\\u65f6<b>\"+f+\"</b>\\u5206<b>\"+h+\"</b>\\u79d2\"),k--):(c.clockid.html(\"\\u62a2\\u8d2d\\u7ed3\\u675f\"),clearInterval(i),c.limitid.hide(),c.rankid.length>0&&c.rankid.show()))};0>=j&&k>0&&(l(),c.rankid.length>0&&c.rankid.hide(),c.limitid.show()),m(),i=setInterval(function(){m()},1e3)}},g=function(a){var b=a.split(\" \"),c=b[0].split(\"-\"),d=b[1].split(\":\");return new Date(c[0],c[1]-1,c[2],d[0],d[1],d[2])};a.ajax({url:d,dataType:\"jsonp\",success:function(b){b&&(c=b.data,a.each(c,function(a){f(c[a])}))}})}}(jQuery);var jdRecent={element:$(\"#recent ul\"),jsurl:\"http://www.jd.com/lishiset.aspx?callback=jdRecent.setData&id=\",cookiename:\"_recent\",list:$.cookie(\"_recent\"),url:location.href,init:function(){var a=this.url.match(/\\/(\\d{6}).html/),b=null!=a&&-1!=a[0].indexOf(\"html\")?a[1]:\"\";if(this.list&&null!=this.list&&\"\"!=this.list)\"\"==b||-1!=this.list.indexOf(b)?this.list=this.list:(this.list.split(\".\").length>=10&&(this.list=this.list.replace(/.\\d+$/,\"\")),this.list=b+\".\"+this.list);else{if(\"\"==b)return this.getData(0);this.list=b}$.cookie(this.cookiename,this.list,{expires:7,path:\"/\",domain:\"jd.com\",secure:!1}),this.getData(this.list)},clear:function(){$.cookie(this.cookiename,\"\",{expires:7,path:\"/\",domain:\"jd.com\",secure:!1})},getData:function(a){if(0==a)return this.element.html(\"<li><div class='norecode'>\\u6682\\u65e0\\u8bb0\\u5f55!</div></li>\"),void 0;var b=a.split(\".\");for(i in b)0==i&&this.element.empty(),$.getJSONP(this.jsurl+b[i],this.setData)},setData:function(a){this.element.append(\"<li><div class='p-img'><a href='\"+a.url+\"'><img src='\"+a.img+\"' /></a></div><div class='p-name'><a href='\"+a.url+\"'>\"+decodeURIComponent(a.name)+\"</a></div></li>\")}};$(\"#clearRec\").click(function(){jdRecent.clear(),jdRecent.getData(0)}),mlazyload({defObj:\"#recent\",defHeight:50,fn:function(){1==jdRecent.element.length&&jdRecent.init()}});var jdModelCallCenter={settings:{clstag1:0,clstag2:0},tbClose:function(){0!=$(\".thickbox\").length&&jdThickBoxclose()},login:function(){this.tbClose();var a=this,b=navigator.userAgent.toLowerCase(),c=\"ucweb\"==b.match(/ucweb/i)||\"rv:1.2.3.4\"==b.match(/rv:1.2.3.4/i);return c?(location.href=\"https://passport.\"+pageConfig.FN_getDomain()+\"/new/login.aspx?ReturnUrl=\"+escape(location.href),void 0):(setTimeout(function(){$.jdThickBox({type:\"iframe\",title:\"\\u60a8\\u5c1a\\u672a\\u767b\\u5f55\",source:\"http://passport.jd.com/uc/popupLogin2013?clstag1=\"+a.settings.clstag1+\"&clstag2=\"+a.settings.clstag2+\"&r=\"+Math.random(),width:390,height:450,_title:\"thicktitler\",_close:\"thickcloser\",_con:\"thickconr\"})},20),void 0)},regist:function(){var a=this;this.tbClose(),setTimeout(function(){$.jdThickBox({type:\"iframe\",title:\"\\u60a8\\u5c1a\\u672a\\u767b\\u5f55\",source:\"http://reg.jd.com/reg/popupPerson?clstag1=\"+a.settings.clstag1+\"&clstag2=\"+a.settings.clstag2+\"&r=\"+Math.random(),width:390,height:450,_title:\"thicktitler\",_close:\"thickcloser\",_con:\"thickconr\"})},20)},init:function(){var a=this;$.ajax({url:(\"https:\"==document.location.protocol?\"https://\":\"http://\")+\"passport.\"+pageConfig.FN_getDomain()+\"/new/helloService.ashx?m=ls&sso=0\",dataType:\"jsonp\",success:function(b){a.tbClose(),b&&b.info&&$(\"#loginbar\").html(b.info),a.settings.fn()}})}};$.extend(jdModelCallCenter,{autoLocation:function(a){$.login({modal:!0,complete:function(b){null!=b&&null!=b.IsAuthenticated&&b.IsAuthenticated&&(window.location=a)}})}}),$.extend(jdModelCallCenter,{doAttention:function(a){var b=\"http://t.jd.com/product/followProduct.action?productId=\"+a;$.login({modal:!0,complete:function(a){if(null!=a&&null!=a.IsAuthenticated&&a.IsAuthenticated){var c=510,d=440;$.jdThickBox({type:\"iframe\",source:b+\"&t=\"+Math.random(),width:c,height:d,title:\"\\u63d0\\u793a\",_box:\"attboxr\",_con:\"attconr\",_countdown:!1},function(){})}}})}}),$(\".btn-coll\").livequery(\"click\",function(){var a=$(this),b=parseInt(a.attr(\"id\").replace(\"coll\",\"\"));$.extend(jdModelCallCenter.settings,{clstag1:\"login|keycount|5|3\",clstag2:\"login|keycount|5|4\",id:b,fn:function(){jdModelCallCenter.doAttention(this.id)}}),jdModelCallCenter.settings.fn()}),\"undefined\"!=typeof pageConfig&&(pageConfig.isHome=function(){return pageConfig.navId&&\"home\"==pageConfig.navId&&location.href.indexOf(\"www.jd.com\")>=0}()),$.bigiframe=function(a,b,c){if(a&&$.browser.msie&&6==$.browser.version){if(\"undefined\"==typeof b)var b=a.outerWidth();if(\"undefined\"==typeof c)var c=a.outerHeight();var d='<iframe src=\"javascript:false;\" frameBorder=\"0\" style=\"width:'+b+\"px;height:\"+c+'px;position:absolute;z-index:-1;opacity:0;filter:alpha(opacity=0);top:0;left:0;\" id=\"bigiframe\">';a.append(d),a.bind(\"mouseenter\",function(){a.find(\"#bigiframe\").show()}).bind(\"mouseleave\",function(){a.find(\"#bigiframe\").hide()})}};var category={OBJ:$(\"#_JD_ALLSORT\"),URL_Serv:\"http://d.360buy.com/configs/get?type=JSON\",URL_BrandsServ:\"http://d.360buy.com/brandVclist2/get?callback=category.getBrandService&ids=a,9211,9212^b,9214,9215^c,9217,9218^d,9220,9221^e,9223,9224^f,9226,9227^g,9229,9230^h,9232,9233^m,9235,9236^i,9238,9239^j,9241,9242^p,9244,9245^k,9247,9248^l,9250,9251\",FN_GetLink:function(a,b){var c,d;switch(a){case 1:c=b.u,d=b.n;break;case 2:c=b.split(\"|\")[0],d=b.split(\"|\")[1]}return\"\"==c?d:(/^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-.\\/?%&=]*)?$/.test(c)||(c=c.replace(/-000$/,\"\"),c=c.match(/^\\d*-\\d*$/)?\"http://channel.jd.com/\"+c+\".html\":\"http://list.jd.com/\"+c+\".html\"),'<a href=\"'+c+'\">'+d+\"</a>\")},FN_SetLink:function(a){var b=\"\",c=pageConfig.isHome?'clstag=\"homepage|keycount|home2013|0604e\"':\"\",d=pageConfig.isHome?'clstag=\"homepage|keycount|home2013|0603e\"':\"\",e=pageConfig.isHome?'clstag=\"homepage|keycount|home2013|0605e\"':\"\";switch(a){case\"c\":b='<div class=\"categorys-links\" '+c+'><a href=\"http://group.jd.com/index/20000001.htm\" target=\"_blank\"><img src=\"http://img13.360buyimg.com/da/jfs/t328/179/568110786/5477/d602dfd5/54180c0eN5ddce4d3.png\" /></a></div>';break;case\"b\":b='<div class=\"categorys-links\" id=\"categorys-links-cellphone\" '+d+'><a href=\"http://sale.jd.com/act/UaSsnjAKQNeyiY.html\" target=\"_blank\">JDPhone\\u8ba1\\u5212</a></div>';break;case\"d\":b='<div class=\"categorys-links\" id=\"categorys-links-jzc\" '+e+'><a href=\"http://channel.jd.com/jiazhuang.html\" target=\"_blank\">\\u5bb6\\u88c5\\u57ce</a></div>'}return b},DATA_Simple:{1:[{l:\"http://book.jd.com/\",n:\"\\u56fe\\u4e66\"},{l:\"http://mvd.jd.com/\",n:\"\\u97f3\\u50cf\"},{l:\"http://e.jd.com/\",n:\"\\u6570\\u5b57\\u5546\\u54c1\"}],2:[{l:\"http://channel.jd.com/electronic.html\",n:\"\\u5bb6\\u7528\\u7535\\u5668\"}],3:[{l:\"http://shouji.jd.com/\",n:\"\\u624b\\u673a\"},{l:\"http://channel.jd.com/digital.html\",n:\"\\u6570\\u7801\"},{l:\"http://mobile.jd.com/index.do\",n:\"\\u4eac\\u4e1c\\u901a\\u4fe1\"}],4:[{l:\"http://channel.jd.com/computer.html\",n:\"\\u7535\\u8111\\u3001\\u529e\\u516c\"}],5:[{l:\"http://channel.jd.com/home.html\",n:\"\\u5bb6\\u5c45\"},{l:\"http://channel.jd.com/furniture.html\",n:\"\\u5bb6\\u5177\"},{l:\"http://channel.jd.com/decoration.html\",n:\"\\u5bb6\\u88c5\"},{l:\"http://channel.jd.com/kitchenware.html\",n:\"\\u53a8\\u5177\"}],6:[{l:\"http://channel.jd.com/1315-1342.html\",n:\"\\u7537\\u88c5\"},{l:\"http://channel.jd.com/1315-1343.html\",n:\"\\u5973\\u88c5\"},{l:\"http://channel.jd.com/1315-1345.html\",n:\"\\u5185\\u8863\"},{l:\"http://channel.jd.com/jewellery.html\",n:\"\\u73e0\\u5b9d\"}],7:[{l:\"http://channel.jd.com/beauty.html\",n:\"\\u4e2a\\u62a4\\u5316\\u5986\"}],8:[{l:\"http://channel.jd.com/shoes.html\",n:\"\\u978b\\u9774\"},{l:\"http://channel.jd.com/bag.html\",n:\"\\u7bb1\\u5305\"},{l:\"http://channel.jd.com/watch.html\",n:\"\\u949f\\u8868\"},{l:\"http://channel.jd.com/1672-2615.html\",n:\"\\u5962\\u4f88\\u54c1\"}],9:[{l:\"http://channel.jd.com/sports.html\",n:\"\\u8fd0\\u52a8\\u6237\\u5916\"}],10:[{l:\"http://channel.jd.com/auto.html\",n:\"\\u6c7d\\u8f66\\u7528\\u54c1\"}],11:[{l:\"http://channel.jd.com/baby.html\",n:\"\\u6bcd\\u5a74\"},{l:\"http://channel.jd.com/toys.html\",n:\"\\u73a9\\u5177\\u4e50\\u5668\"}],12:[{l:\"http://channel.jd.com/food.html\",n:\"\\u98df\\u54c1\\u996e\\u6599\"},{l:\"http://channel.jd.com/wine.html\",n:\"\\u9152\\u7c7b\"},{l:\"http://channel.jd.com/freshfood.html\",n:\"\\u751f\\u9c9c\"}],13:[{l:\"http://channel.jd.com/health.html\",n:\"\\u8425\\u517b\\u4fdd\\u5065\"}],14:[{l:\"http://caipiao.jd.com/\",n:\"\\u5f69\\u7968\"},{l:\"http://trip.jd.com/\",n:\"\\u65c5\\u884c\"},{l:\"http://chongzhi.jd.com/\",n:\"\\u5145\\u503c\"},{l:\"http://piao.jd.com/\",n:\"\\u7968\\u52a1\"}]},TPL_Simple:'{for item in data}<div class=\"item fore${parseInt(item_index)}\">    <span data-split=\"1\" {if pageConfig.isHome} clstag=\"homepage|keycount|home2013|06{if parseInt(item_index)+1>9}${parseInt(item_index)+1}{else}0${parseInt(item_index)+1}{/if}a\"{/if}>        <h3>{for sItem in item}{if sItem_index!=0}\\u3001{/if}<a href=\"${sItem.l}\">${sItem.n}</a>{/for}</h3>        <s></s>    </span></div>{/for}<div class=\"extra\"><a href=\"http://www.jd.com/allSort.aspx\">\\u5168\\u90e8\\u5546\\u54c1\\u5206\\u7c7b</a></div>',FN_InitSimple:function(){var a,b={},c=$(\"#categorys-2013\");b.data=this.DATA_Simple,c.addClass(\"categorys-2014\"),a=this.TPL_Simple.process(b);var d=$(\"#_JD_ALLSORT\");d.html(a),$.bigiframe(d)},FN_GetData:function(){$.getJSONP(this.URL_Serv,category.getDataService)},FN_GetBrands:function(){$.getJSONP(this.URL_BrandsServ,category.getBrandService)},FN_RefactorJSON:function(a,b){for(var c=a.length/b,d=[],e=0;c>e;e++)d.push({tabs:[],increment:null,count:b,skuids:[]});for(var f=0,g=0;g<a.length;g++)g%b==0&&f++,d[f-1].tabs.push(a[g]),d[f-1].increment=f,d[f-1].skuids.push(a[g].wid);return d},renderItem:function(a){var b='<div class=\"item fore${index+1}\">    <span data-split=\"1\" {if pageConfig.isHome}clstag=\"homepage|keycount|home2013|0${601+parseInt(index)}a\"{/if}><h3>${n}</h3><s></s></span>    <div class=\"i-mc\">        <div onclick=\"$(this).parent().parent().removeClass(\\'hover\\')\" class=\"close\">\\xd7</div>        <div class=\"subitem\" {if pageConfig.isHome}clstag=\"homepage|keycount|home2013|0${601+parseInt(index)}b\"{/if}>            {for subitem in i}            <dl class=\"fore${parseInt(subitem_index)+1}\">                <dt>${category.FN_GetLink(1,subitem)}</dt>                <dd>{for link in subitem.i}<em>${category.FN_GetLink(2,link)}</em>{/for}</dd>            </dl>            {/for}        </div>        <div class=\"cat-right-con fr\" id=\"JD_sort_${t}\"><div class=\"loading-style1\"><b></b>\\u52a0\\u8f7d\\u4e2d\\uff0c\\u8bf7\\u7a0d\\u5019...</div></div>    </div></div>',c='<div class=\"item item-col2 fore${index+1}\">    <span data-split=\"1\" {if pageConfig.isHome}clstag=\"homepage|keycount|home2013|0${601+parseInt(index)}a\"{/if}><h3>${n}</h3><s></s></span>    <div class=\"i-mc\">        <ul class=\"title-list lh\">            <li class=\"fore1\"><a href=\"http://chongzhi.jd.com/\">\\u5145\\u503c\\u7f34\\u8d39</a></li>            <li class=\"fore2\"><a href=\"http://caipiao.jd.com/\">\\u4eac\\u4e1c\\u5f69\\u7968</a></li>            <li class=\"fore3\"><a href=\"http://channel.jd.com/4938-12316.html\">\\u57f9\\u8bad\\u6559\\u80b2</a></li>            <li class=\"fore4\"><a href=\"http://jipiao.jd.com/ticketquery/flightHotcity.action\">\\u4f18\\u9009\\u673a\\u7968</a></li>            <li class=\"fore5\"><a href=\"http://channel.jd.com/4938-12300.html\">\\u65c5\\u884c\\u7b7e\\u8bc1</a></li>            <li class=\"fore6\"><a href=\"http://game.jd.com/\">\\u4eac\\u4e1c\\u6e38\\u620f</a></li>        </ul>        <div onclick=\"$(this).parent().parent().removeClass(\\'hover\\')\" class=\"close\">\\xd7</div>        <div class=\"subitem\" {if pageConfig.isHome}clstag=\"homepage|keycount|home2013|0${601+parseInt(index)}b\"{/if}>            {for item in i}            <div class=\"sub-item-col sub-item-col${item_index} fl\">                {for subitem in item.tabs}                <dl class=\"fore${parseInt(subitem_index)+1}\">                    <dt>${category.FN_GetLink(1,subitem)}</dt>                    <dd>{for link in subitem.i}<em>${category.FN_GetLink(2,link)}</em>{/for}</dd>                </dl>                {/for}\t\t\t\t\t{if item_index==1}<div class=\"cat-right-con\" id=\"JD_sort_${t}\" clstag=\"homepage|keycount|home2013|0614c\"><div class=\"loading-style1\"><b></b>\\u52a0\\u8f7d\\u4e2d\\uff0c\\u8bf7\\u7a0d\\u5019...</div></div>{/if}            </div>            {/for}        </div>    </div></div>';return\"l\"==a.t?c.process(a):b.process(a)},FN_GetBrands:function(){$.getJSONP(this.URL_BrandsServ,category.getBrandService)},getDataService:function(a){var b=[],c=this;$.each(a.data,function(a){this.index=a,\"l\"==this.t&&(this.i=c.FN_RefactorJSON(this.i,7)),b.push(c.renderItem(this,a))}),b.push('<div class=\"extra\"><a {if pageConfig.isHome}clstag=\"homepage|keycount|home2013|0614a\"{/if} href=\"http://www.jd.com/allSort.aspx\">\\u5168\\u90e8\\u5546\\u54c1\\u5206\\u7c7b</a></div>'),this.OBJ.attr(\"load\",\"1\").html(b.join(\"\")),$.bigiframe(this.OBJ),this.FN_GetBrands();var d=this,e=this.OBJ.outerWidth(),f=this.OBJ.outerHeight();$(\"#_JD_ALLSORT\").dropdown({delay:0,onmouseleave:function(){$(\"#_JD_ALLSORT .item\").removeClass(\"hover\")}},function(a){var b,c,g=document.documentElement.scrollTop+document.body.scrollTop,h=$(\"#nav-2013\").offset().top+39;h>=g?(c=a.hasClass(\"fore13\")?3:3,g=c):(b=a.offset().top,g=g>b-5?b-h-10:Math.max(3,g-h));var i=a.find(\".i-mc\");if(i.css({top:g+\"px\"}),d.OBJ.find(\"iframe\")){var j=i.outerWidth()+e,k=i.outerHeight()>f?i.outerHeight():f;d.OBJ.find(\"iframe\").css({width:j,height:k,top:g})}})},getRightAreaTPL:function(a){var b=\"\",c=\"\",d=\"\",e=\"\";return b=this.FN_SetLink(a),c='{if p.length!=0}<dl class=\"categorys-promotions\">    <dd>        <ul>            {for item in p}            <li>                <a href=\"${item.u}\" target=\"_blank\">                {if item.i}                    <img src=\"${item.i}\" width=\"194\" height=\"70\" title=\"${item.n}\" style=\"margin-bottom: 4px;\" />                {else}                    ${item.n}                {/if}                </a>            </li>            {/for}        </ul>    </dd></dl>{/if}',d='{if b.length!=0}<dl class=\"categorys-brands\">    {if id==\"k\"}        <dt>\\u63a8\\u8350\\u54c1\\u724c\\u51fa\\u7248\\u5546/\\u4e66\\u5e97</dt>    {else}        {if id==\"l\"}        <dt>\\u63a8\\u8350\\u4ea7\\u54c1</dt>        {else}        <dt>\\u63a8\\u8350\\u54c1\\u724c</dt>        {/if}    {/if}    <dd>        <ul>            {for item in b} <li><a href=\"${item.u}\" target=\"_blank\">${item.n}</a></li> {/for}        </ul>    </dd></dl>{/if}',e=/c|b|d/.test(a)?b+d+c:b+c+d},getBrandService:function(a){var b=this,c=a.data;this.OBJ.attr(\"load\",\"2\"),$.each(c,function(){var a=this.id,c=b.getRightAreaTPL(a);$(\"#JD_sort_\"+a).html(c.process(this))}),$(\".cat-right-con\").each(function(a){pageConfig.isHome&&($(this).find(\".categorys-promotions\").attr(\"clstag\",\"homepage|keycount|home2013|0\"+(601+a)+\"c\"),$(this).find(\".categorys-brands\").attr(\"clstag\",\"homepage|keycount|home2013|0\"+(601+a)+\"d\"))})},FN_Init:function(){if(this.OBJ.length){this.OBJ.attr(\"load\")||(window.pageConfig&&0!=window.pageConfig.pageId&&this.FN_InitSimple(),$(\"#categorys\").length?$(\"#categorys\").Jdropdown({delay:200}):$(\"#categorys-2013\").Jdropdown({delay:200}));var a=this;this.OBJ.one(\"mouseover\",function(){var b=a.OBJ.attr(\"load\");if(b){if(1!=b)return;a.FN_GetBrands()}else a.FN_GetData()})}}},UC={DATA_Cookie:\"aview\",TPL_UnRegist:'<div class=\"prompt\">            <span class=\"fl\">\\u60a8\\u597d\\uff0c\\u8bf7<a href=\"javascript:login()\" clstag=\"homepage|keycount|home2013|04a\">\\u767b\\u5f55</a></span>            <span class=\"fr\"></span>        </div>',TPL_Regist:'<div class=\"prompt\">                <span class=\"fl\"><strong>${Name}</strong></span>                <span class=\"fr\"><a href=\"http://home.jd.com/\">\\u53bb\\u6211\\u7684\\u4eac\\u4e1c\\u9996\\u9875&nbsp;&gt;</a></span>            </div>',TPL_OList:{placeholder:'<div id=\"jduc-orderlist\"></div>',fragment:'<div class=\"orderlist\">                <div class=\"smt\">                    <h4>\\u6700\\u65b0\\u8ba2\\u5355\\u72b6\\u6001\\uff1a</h4>                    <div class=\"extra\"><a href=\"http://order.jd.com/center/list.action\" target=\"_blank\">\\u67e5\\u770b\\u6240\\u6709\\u8ba2\\u5355&nbsp;&gt;</a></div>                </div>                <div class=\"smc\">                    <ul>                        {for item in orderList}                        <li class=\"fore${parseInt(item_index)+1}\">                            <div class=\"p-img fl\">                                {for image in item.OrderDetail}                                    {if image_index<2}                                        <a href=\"http://www.jd.com/product/${image.ProductId}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(image.ProductId)}n5/${image.ImgUrl}\" width=\"50\" height=\"50\" alt=\"${image.ProductName}\" /></a>                                    {/if}                                {/for}                                {if item.OrderDetail.length>2}                                    <a href=\"${item.passKeyUrl}\" target=\"_blank\" class=\"more\">\\u66f4\\u591a</a>                                {/if}                            </div>                            <div class=\"p-detail fr\">                                \\u8ba2\\u5355\\u53f7\\uff1a${item.OrderId}<br />                                \\u72b6\\u3000\\u6001\\uff1a<span>${UC.FN_SetState(item.OrderState)}</span><br />                                \\u3000\\u3000\\u3000\\u3000<a href=\"${item.passKeyUrl}\">\\u67e5\\u770b\\u8be6\\u60c5</a>                            </div>                        </li>                        {/for}                    </ul>                </div>            </div>'},TPL_UList:'<div class=\"uclist\">                <ul class=\"fore1 fl\">                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|04b\" href=\"http://order.jd.com/center/list.action\">\\u5f85\\u5904\\u7406\\u8ba2\\u5355<span id=\"num-unfinishedorder\"></span></a></li>                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|04c\" href=\"http://jd2008.jd.com/user_spzx.aspx\">\\u54a8\\u8be2\\u56de\\u590d<span id=\"num-consultation\"></span></a></li>                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|04d\" href=\"http://t.jd.com/product/followProductList.action?isReduce=true\">\\u964d\\u4ef7\\u5546\\u54c1<span id=\"num-reduction\"></span></a></li>                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|shouhou\" href=\"http://myjd.jd.com/repair/orderlist.action\">\\u8fd4\\u4fee\\u9000\\u6362\\u8d27</a></li>                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|04e\" href=\"http://quan.jd.com/user_quan.action\">\\u4f18\\u60e0\\u5238<span id=\"num-ticket\"></span></a></li>                </ul>                <ul class=\"fore2 fl\">                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|04i\" href=\"http://t.jd.com/home/follow\">\\u6211\\u7684\\u5173\\u6ce8&nbsp;&gt;</a></li>                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|04g\" href=\"http://bean.jd.com/myJingBean/list\">\\u6211\\u7684\\u4eac\\u8c46&nbsp;&gt;</a></li>                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|licai\" href=\"http://trade.jr.jd.com/centre/browse.action\">\\u6211\\u7684\\u7406\\u8d22&nbsp;&gt;</a></li>                    <li><a target=\"_blank\" clstag=\"homepage|keycount|home2013|baitiao\" href=\"http://baitiao.jd.com/creditUser/list\">\\u6211\\u7684\\u767d\\u6761&nbsp;&gt;</a></li>                </ul>            </div>',TPL_VList:{placeholder:'<div class=\"viewlist\">                <div class=\"smt\" clstag=\"homepage|keycount|home2013|04k\">                    <h4>\\u6700\\u8fd1\\u6d4f\\u89c8\\u7684\\u5546\\u54c1\\uff1a</h4>                    <div style=\"float:right;padding-right:9px;\"><a style=\"border:0;color:#005EA7\" href=\"http://my.jd.com/history/list.html\" target=\"_blank\">\\u67e5\\u770b\\u6d4f\\u89c8\\u5386\\u53f2&nbsp;&gt;</a></div>                </div>                <div class=\"smc\" id=\"jduc-viewlist\" clstag=\"homepage|keycount|home2013|04j\">                    <div class=\"loading-style1\"><b></b>\\u52a0\\u8f7d\\u4e2d\\uff0c\\u8bf7\\u7a0d\\u5019...</div>                    <ul class=\"lh hide\"></ul>                </div>            </div>',fragment:'{for item in list}<li><a href=\"http://item.jd.com/${item.wid}.html\" target=\"_blank\" title=\"${item.wname}\"><img src=\"${pageConfig.FN_GetImageDomain(item.wid)}n5/${item.imgUrl}\" width=\"50\" height=\"50\" alt=\"${item.wname}\" /></a></li>{/for}'},FN_SetState:function(a){var a=a;\r\nreturn a.length>4&&(a=\"<span title=\"+a+\">\"+a.substr(0,4)+\"...</span>\"),a},FN_InitNewVList:function(a){for(var b,c=a?a.split(\"|\"):[],d=c.length,e=[],f=0;d>f;)e.push(c[f].split(\".\")[1]),f++;b=e.join(\",\"),$.getJSONP(\"http://my.jd.com/product/info.html?ids=\"+b+\"&jsoncallback=UC.FN_ShowVList\")},FN_InitVList:function(a){for(var b=JSON.parse(a),c=b.length,d=\",\",e=0;c>e;e++)new RegExp(b[e].s).test(d)||(d+=b[e].s+\",\");d=d.replace(/(^,*)|(,*$)/g,\"\"),$.getJSONP(\"http://my.jd.com/product/info.html?ids=\"+d+\"&jsoncallback=UC.FN_ShowVList\")},FN_ShowVList:function(a){if(a){var b=$(\"#jduc-viewlist\").find(\".loading-style1\");a.length=a.length>5?5:a.length;var c={list:a};b.length>0&&b.hide();var d=this.TPL_VList.fragment.process(c);$(\"#jduc-viewlist\").find(\"ul\").eq(0).html(d).show()}},FN_setWords:function(a){var b='<font style=\"color:{0}\">({1})</font>',c=\"\";return c=0==a?\"#ccc\":\"#c00\",pageConfig.FN_StringFormat(b,c,a)},FN_InitOList:function(){$.ajax({url:\"http://minijd.360buy.com/getOrderList\",dataType:\"jsonp\",success:function(a){if(a&&0==a.error&&a.orderList){var b=UC.TPL_OList.fragment.process(a);$(\"#jduc-orderlist\").html(b)}}}),$.ajax({url:\"http://minijd.360buy.com/getHomeCount\",dataType:\"jsonp\",success:function(a){a&&0==a.error&&$(\"#num-unfinishedorder\").html(UC.FN_setWords(a.orderCount))}}),$.ajax({url:\"http://comm.360buy.com/index.php?mod=Consultation&action=havingReplyCount\",dataType:\"jsonp\",success:function(a){a&&$(\"#num-consultation\").html(UC.FN_setWords(a.cnt))}}),$.ajax({url:\"http://follow.soa.jd.com/product/queryForReduceProductCount.action?\",dataType:\"jsonp\",success:function(a){a&&a.data>0&&$(\"#num-reduction\").html(UC.FN_setWords(a.data))}}),$.ajax({url:\"http://quan.jd.com/getcouponcount.action\",dataType:\"jsonp\",success:function(a){a&&$(\"#num-ticket\").html(UC.FN_setWords(a.CouponCount))}})}},MCART={DATA_Cookie:\"cn\",DATA_Amount:readCookie(\"cn\")||\"0\",URL_Serv:\"http://cart.jd.com/cart/miniCartServiceNew.action\",TPL_Iframe:'<iframe scrolling=\"no\" frameborder=\"0\" marginheight=\"0\" marginwidth=\"0\" id=\"settleup-iframe\"></iframe>',TPL_NoGoods:'<div class=\"prompt\"><div class=\"nogoods\"><b></b>\\u8d2d\\u7269\\u8f66\\u4e2d\\u8fd8\\u6ca1\\u6709\\u5546\\u54c1\\uff0c\\u8d76\\u7d27\\u9009\\u8d2d\\u5427\\uff01</div></div>',TPL_List:{wrap:'<div id=\"settleup-content\"><div class=\"smt\"><h4 class=\"fl\">\\u6700\\u65b0\\u52a0\\u5165\\u7684\\u5546\\u54c1</h4></div><div class=\"smc\"></div><div class=\"smb ar\">\\u5171<b>${Num}</b>\\u4ef6\\u5546\\u54c1\\u3000\\u5171\\u8ba1<strong>\\uffe5 ${TotalPromotionPrice.toFixed(2)}</strong><br><a href=\"http://cart.jd.com/cart/cart.html?r=${+new Date}\" title=\"\\u53bb\\u8d2d\\u7269\\u8f66\\u7ed3\\u7b97\" id=\"btn-payforgoods\">\\u53bb\\u8d2d\\u7269\\u8f66\\u7ed3\\u7b97</a></div></div>',sigle:'<ul id=\"mcart-sigle\">{for list in TheSkus}  <li>      <div class=\"p-img fl\"><a href=\"http://item.jd.com/${list.Id}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(list.Id)}n5/${list.ImgUrl}\" width=\"50\" height=\"50\" alt=\"\"></a></div>      <div class=\"p-name fl\"><a href=\"http://item.jd.com/${list.Id}.html\" title=\"${list.Name}\" target=\"_blank\">${list.Name}</a></div>      <div class=\"p-detail fr ar\">          <span class=\"p-price\"><strong>\\uffe5${list.PromotionPrice.toFixed(2)}</strong>\\xd7${list.Num}</span>          <br>          {if parseInt(list.FanPrice)>0}          <span class=\"hl-green\">\\u8fd4\\u73b0\\uff1a\\uffe5<em>${list.FanPrice}</em></span>          <br>          {/if}          {if parseInt(list.Score)>0}          <span class=\"hl-orange\">\\u9001\\u4eac\\u8c46\\uff1a<em>${list.Score}</em></span>          <br>          {/if}          <a class=\"delete\" data-id=\"${list.Id}\" data-type=\"RemoveProduct\" href=\"#delete\">\\u5220\\u9664</a>      </div>      {for jq in list.CouponAD}      <div class=\"gift-jq\">[\\u8d60\\u5238] \\u8d60\\u9001${jq.Jing}\\u4eac\\u5238 ${jq.LimitAd}</a></div>      {/for}  </li>{/for}</ul>',gift:'<ul id=\"mcart-gift\">{for list in TheGifts}  <li>      <div class=\"p-img fl\"><a href=\"http://item.jd.com/${list.MainSKU.Id}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(list.MainSKU.Id)}n5/${list.MainSKU.ImgUrl}\" width=\"50\" height=\"50\" alt=\"\"></a></div>      <div class=\"p-name fl\"><a href=\"http://item.jd.com/${list.MainSKU.Id}.html\" title=\"${list.MainSKU.Name}\" target=\"_blank\">${list.MainSKU.Name}</a></div>      <div class=\"p-detail fr ar\">          <span class=\"p-price\"><strong>\\uffe5${list.PromotionPrice.toFixed(2)}</strong>\\xd7${list.Num}</span>          <br>          {if parseInt(list.FanPrice)>0}          <span class=\"hl-green\">\\u8fd4\\u73b0\\uff1a\\uffe5<em>${list.FanPrice}</em></span>          <br>          {/if}          {if parseInt(list.Score)>0}          <span class=\"hl-orange\">\\u9001\\u4eac\\u8c46\\uff1a<em>${list.Score}</em></span>          <br>          {/if}          <a class=\"delete\" data-id=\"${list.MainSKU.Id}\" data-type=\"RemoveProduct\" href=\"#delete\">\\u5220\\u9664</a>      </div>      {for gift in list.Skus}      <div class=\"gift\"><a href=\"http://item.jd.com/${gift.Id}.html\" target=\"_blank\">[{if gift.Type==2}\\u8d60\\u54c1{/if}{if gift.Type==1}\\u9644\\u4ef6{/if}] ${gift.Name}</a></div>      {/for}      {for jq in list.CouponAD}      <div class=\"gift-jq\">[\\u8d60\\u5238] \\u8d60\\u9001${jq.Jing}\\u5143\\u4eac\\u5238 ${jq.LimitAd}</a></div>      {/for}  </li>  {/for}</ul>',suit:'{for suit in TheSuit}<ul id=\"mcart-suit\">  <li class=\"dt\">      <div class=\"fl\"><span>[\\u5957\\u88c5]</span> ${suit.Name}</div>      <div class=\"fr\"><em>\\u5c0f\\u8ba1\\uff1a\\uffe5${(suit.PromotionPrice*suit.Num).toFixed(2)}</em></div>      <div class=\"clr\"></div>  </li>  {for list in suit.Skus}  <li>      <div class=\"p-img fl\"><a href=\"http://item.jd.com/${list.Id}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(list.Id)}n5/${list.ImgUrl}\" width=\"50\" height=\"50\" alt=\"\"></a></div>      <div class=\"p-name fl\"><span></span><a href=\"http://item.jd.com/${list.Id}.html\" title=\"${list.Name}\" target=\"_blank\">${list.Name}</a></div>      <div class=\"p-detail fr ar\">          <span class=\"p-price\"><strong>\\uffe5${list.PromotionPrice.toFixed(2)}</strong>\\xd7${list.Num}</span>          <br>          {if parseInt(list.FanPrice)>0}          <span class=\"hl-green\">\\u8fd4\\u73b0\\uff1a\\uffe5<em>${list.FanPrice}</em></span>          <br>          {/if}          {if parseInt(list.Score)>0}          <span class=\"hl-orange\">\\u9001\\u4eac\\u8c46\\uff1a<em>${list.Score}</em></span>          <br>          {/if}          <a class=\"delete\" data-id=\"${list.Id}|${suit.Id}\" data-type=\"RemoveSuit\" href=\"#delete\">\\u5220\\u9664</a>      </div>      {for gift in list.Gifts}      <div class=\"gift\"><a href=\"http://item.jd.com/${gift.Id}.html\" target=\"_blank\">[{if gift.Type==2}\\u8d60\\u54c1{/if}{if gift.Type==1}\\u9644\\u4ef6{/if}] ${gift.Name}</a></div>      {/for}      {for jq in list.CouponAD}      <div class=\"gift-jq\">[\\u8d60\\u5238] \\u8d60\\u9001${jq.Jing}\\u5143\\u4eac\\u5238 ${jq.LimitAd}</a></div>      {/for}  </li>  {/for}</ul>{/for}',mj:'{for mj in ManJian}<ul id=\"mcart-mj\">  <li class=\"dt\">      <div class=\"fl\"><span class=\"hl-green\">\\u6ee1\\u51cf</span>{if mj.ManFlag} \\u5df2\\u8d2d\\u6ee1{if mj.ManNum>0}${mj.ManNum}\\u4ef6{else}${mj.ManPrice}\\u5143{/if}\\uff0c\\u5df2\\u51cf${mj.JianPrice}\\u5143{else}\\u8d2d\\u6ee1{if mj.ManNum>0}${mj.ManNum}\\u4ef6{else}${mj.ManPrice}\\u5143{/if}\\uff0c\\u5373\\u53ef\\u4eab\\u53d7\\u6ee1\\u51cf\\u4f18\\u60e0{/if}</div>      <div class=\"fr\"><em>\\u5c0f\\u8ba1\\uff1a\\uffe5${(mj.PromotionPrice*mj.Num).toFixed(2)}</em></div>      <div class=\"clr\"></div>  </li>  {for list in mj.Skus}  <li>      <div class=\"p-img fl\"><a href=\"http://item.jd.com/${list.Id}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(list.Id)}n5/${list.ImgUrl}\" width=\"50\" height=\"50\" alt=\"\"></a></div>      <div class=\"p-name fl\"><span></span><a href=\"http://item.jd.com/${list.Id}.html\" title=\"${list.Name}\" target=\"_blank\">${list.Name}</a></div>      <div class=\"p-detail fr ar\">          <span class=\"p-price\"><strong>\\uffe5${list.PromotionPrice.toFixed(2)}</strong>\\xd7${list.Num}</span>          <br>          {if parseInt(list.FanPrice)>0}          <span class=\"hl-green\">\\u8fd4\\u73b0\\uff1a\\uffe5<em>${list.FanPrice}</em></span>          <br>          {/if}          {if parseInt(list.Score)>0}          <span class=\"hl-orange\">\\u9001\\u4eac\\u8c46\\uff1a<em>${list.Score}</em></span>          <br>          {/if}          <a class=\"delete\" data-id=\"${list.Id}|${mj.Id}\" data-type=\"RemoveSuit\" href=\"#delete\">\\u5220\\u9664</a>      </div>      {for gift in list.Gifts}      <div class=\"gift\"><a href=\"http://item.jd.com/${gift.Id}.html\" target=\"_blank\">[{if gift.Type==2}\\u8d60\\u54c1{/if}{if gift.Type==1}\\u9644\\u4ef6{/if}] ${gift.Name}</a></div>      {/for}      {for jq in list.CouponAD}      <div class=\"gift-jq\">[\\u8d60\\u5238] \\u8d60\\u9001${jq.Jing}\\u5143\\u4eac\\u5238 ${jq.LimitAd}</a></div>      {/for}  </li>  {/for}</ul>{/for}',mz:'{for mz in ManZeng}<ul id=\"mcart-mz\">  <li class=\"dt\">      <div class=\"fl\"><span class=\"hl-orange\">\\u6ee1\\u8d60</span>          {if mz.ManFlag}              \\u5df2\\u8d2d\\u6ee1${mz.ManPrice}\\u5143\\uff0c\\u60a8{if mz.ManGifts.length>0}\\u5df2{else}\\u53ef{/if}\\u9886\\u8d60\\u54c1          {else}              \\u8d2d\\u6ee1${mz.ManPrice}\\u5143\\uff0c\\u5373\\u53ef\\u9886\\u53d6\\u8d60\\u54c1          {/if}      </div>      <div class=\"fr\"><em>\\u5c0f\\u8ba1\\uff1a\\uffe5${(mz.PromotionPrice*mz.Num).toFixed(2)}</em></div>      <div class=\"clr\"></div>  </li>  {for gift in mz.ManGifts}<li class=\"dt-mz\"><a href=\"${gift.Id}\" target=\"_blank\">[\\u8d60\\u54c1]${gift.Name}</a>\\xd7${gift.Num}</li>{/for}  {for list in mz.Skus}  <li>      <div class=\"p-img fl\"><a href=\"http://item.jd.com/${list.Id}.html\" target=\"_blank\"><img src=\"${pageConfig.FN_GetImageDomain(list.Id)}n5/${list.ImgUrl}\" width=\"50\" height=\"50\" alt=\"\"></a></div>      <div class=\"p-name fl\"><span></span><a href=\"http://item.jd.com/${list.Id}.html\" title=\"${list.Name}\" target=\"_blank\">${list.Name}</a></div>      <div class=\"p-detail fr ar\">          <span class=\"p-price\"><strong>\\uffe5${list.PromotionPrice.toFixed(2)}</strong>\\xd7${list.Num}</span>          <br>          {if parseInt(list.FanPrice)>0}          <span class=\"hl-green\">\\u8fd4\\u73b0\\uff1a\\uffe5<em>${list.FanPrice}</em></span>          <br>          {/if}          {if parseInt(list.Score)>0}          <span class=\"hl-orange\">\\u9001\\u4eac\\u8c46\\uff1a<em>${list.Score}</em></span>          <br>          {/if}          <a class=\"delete\" data-id=\"${list.Id}|${mz.Id}\" data-type=\"RemoveSuit\" href=\"#delete\">\\u5220\\u9664</a>      </div>      {for gift in list.Gifts}      <div class=\"gift\"><a href=\"http://item.jd.com/${gift.Id}.html\" target=\"_blank\">[{if gift.Type==2}\\u8d60\\u54c1{/if}{if gift.Type==1}\\u9644\\u4ef6{/if}] ${gift.Name}</a></div>      {/for}      {for jq in list.CouponAD}      <div class=\"gift-jq\">[\\u8d60\\u5238] \\u8d60\\u9001${jq.Jing}\\u5143\\u4eac\\u5238 ${jq.LimitAd}</a></div>      {/for}  </li>  {/for}</ul>{/for}'},FN_BindEvents:function(){var a=this;$(\"#settleup-content .delete\").bind(\"click\",function(){var b=$(this).attr(\"data-id\").split(\"|\"),c=$(this).attr(\"data-type\"),d={method:c,cartId:b[0]};b&&(b.length>1&&b[1]&&(d.targetId=b[1]),$.ajax({url:MCART.URL_Serv,data:d,dataType:\"jsonp\",success:function(b){b.Result&&a.FN_Refresh()}}))})},FN_Refresh:function(){var a=document.getElementById(\"settleup\")?$(\"#settleup dl\"):$(\"#settleup-2013 dl\"),b=a.find(\"dd\").eq(0),c=function(a){var c=a.Cart,d=c.TheSkus.length+c.TheSuit.length+c.TheGifts.length+c.ManJian.length+c.ManZeng.length,e=MCART.TPL_List.sigle.process(a.Cart),f=MCART.TPL_List.gift.process(a.Cart),g=MCART.TPL_List.suit.process(a.Cart),h=MCART.TPL_List.mz.process(a.Cart),i=MCART.TPL_List.mj.process(a.Cart);if(d>0?(b.html(MCART.TPL_List.wrap.process(a.Cart)),b.find(\"#settleup-content .smc\").html(e+f+g+i+h),$(\"#settleup-url\").attr(\"href\",\"http://cart.jd.com/cart/cart.html?r=\"+ +new Date)):b.html(MCART.TPL_NoGoods),$.browser.msie&&6==$.browser.version){var j=$(\"#settleup-content\");j.before(MCART.TPL_Iframe);var k=$(\"#settleup-iframe\");k.height(j.height())}MCART.FN_BindEvents()};$.ajax({url:MCART.URL_Serv,data:{method:\"GetCart\"},dataType:\"jsonp\",success:function(a){c(a)}}),MCART.DATA_Amount=readCookie(MCART.DATA_Cookie),null!=MCART.DATA_Amount&&$(\"#shopping-amount\").html(MCART.DATA_Amount).parent().show()}},NotifyPop={_saleNotify:\"http://skunotify.\"+pageConfig.FN_getDomain()+\"/pricenotify.html?\",_stockNotify:\"http://skunotify.\"+pageConfig.FN_getDomain()+\"/storenotify.html?\",init:function(a){var b,c=this,d=this.serializeUrl(location.href),e=/from=weibo/.test(location.href)?location.search.replace(/\\?/,\"\"):\"\";/from=weibo/.test(location.href)&&(b=d.param.type,this.setThickBox(b,e)),a.livequery(\"click\",function(){var a=($(this).attr(\"id\"),$(this).attr(\"data-type\")||2);return c.sku=$(this).attr(\"data-sku\"),c.checkLogin(function(b){b.IsAuthenticated?(c._userPin=b.Name,c.setThickBox(a,e)):(jdModelCallCenter.settings.fn=function(){c.checkLogin(function(b){b.IsAuthenticated&&(c._userPin=b.Name,c.setThickBox(a,e))})},jdModelCallCenter.login())}),!1}).attr(\"href\",\"#none\").removeAttr(\"target\")},serializeUrl:function(a){var b,c,d,e,f=a.indexOf(\"?\"),g=a.substr(0,f),h=a.substr(f+1),i=h.split(\"&\"),j=i.length,k={};for(b=0;j>b;b++)c=i[b].split(\"=\"),d=c[0],e=c[1],k[d]=e;return{url:g,param:k}},checkLogin:function(a){\"function\"==typeof a&&$.getJSON(\"http://passport.\"+pageConfig.FN_getDomain()+\"/loginservice.aspx?method=Login&callback=?\",function(b){b.Identity&&a(b.Identity)})},setThickBox:function(a,b){var c,d,e,f={skuId:this.sku,pin:this._userPin,webSite:1,origin:1,source:1},g=this.serializeUrl(location.href);/blogPin/.test(location.href)&&(f.blogPin=g.param.blogPin),1==a&&(c=\"\\u964d\\u4ef7\\u901a\\u77e5\",d=this._saleNotify,e=250),2==a&&(c=\"\\u5230\\u8d27\\u901a\\u77e5\",d=this._stockNotify,e=210,f.storeAddressId=readCookie(\"ipLoc-djd\")||\"0-0-0\"),d+=b?b:$.param(f),$.jdThickBox({type:\"iframe\",source:decodeURIComponent(d)+\"&nocache=\"+ +new Date,width:500,height:e,title:c,_box:\"notify_box\",_con:\"notify_con\",_title:\"notify_title\"})}};!function(){pageConfig.FN_ImgError(document),$(\"img[data-lazyload]\").Jlazyload({type:\"image\",placeholderClass:\"err-product\"}),category.FN_Init(),document.getElementById(\"shortcut\")?$(\"#shortcut .menu\").Jdropdown({delay:50}):($(\"#biz-service\").Jdropdown({delay:50},function(){$.ajax({url:\"http://www.jd.com/hotwords.aspx?position=new-index-002\",dataType:\"script\",scriptCharset:\"gb2312\",cache:!0})}),$(\"#site-nav\").Jdropdown({delay:50},function(){$.ajax({url:\"http://www.jd.com/hotwords.aspx?position=new-index-003\",dataType:\"script\",scriptCharset:\"gb2312\",cache:!0})})),document.getElementById(\"navitems\")?$(\"#navitems li\").Jdropdown():$(\"#navitems-2013 li\").Jdropdown(),$.ajax({url:(\"https:\"==document.location.protocol?\"https://\":\"http://\")+\"passport.\"+pageConfig.FN_getDomain()+\"/new/helloService.ashx?m=ls\",dataType:\"jsonp\",scriptCharset:\"gb2312\",success:function(a){a&&a.info&&$(\"#loginbar\").html(a.info),a&&a.sso&&$.each(a.sso,function(){$.getJSON(this)})}}),document.getElementById(\"settleup\")?(null!=MCART.DATA_Amount&&($(\"#settleup s\").eq(0).addClass(\"shopping\"),$(\"#shopping-amount\").html(MCART.DATA_Amount)),$(\"#settleup dl\").Jdropdown({delay:200},function(){MCART.FN_Refresh(),$(\"#settleup-url\").attr(\"href\",\"http://cart.jd.com/cart/cart.html?r=\"+ +new Date)})):(null!=MCART.DATA_Amount&&$(\"#shopping-amount\").html(MCART.DATA_Amount),$(\"#settleup-2013 dl\").Jdropdown({delay:200},function(){MCART.FN_Refresh(),$(\"#settleup-url\").attr(\"href\",\"http://cart.jd.com/cart/cart.html?r=\"+ +new Date)}));var a=document.getElementById(\"my360buy\")?$(\"#my360buy\"):$(\"#my360buy-2013\");a.find(\"dl\").Jdropdown({delay:100},function(a){a.attr(\"load\")||$.login({automatic:!1,complete:function(b){if(b){var c=a.find(\"dd\").eq(0),d=\"\",e=readCookie(UC.DATA_Cookie);b.IsAuthenticated?(d+=UC.TPL_Regist.process(b),d+=UC.TPL_OList.placeholder,d+=UC.TPL_UList):(d+=UC.TPL_UnRegist,d+=UC.TPL_UList),e&&(d+=UC.TPL_VList.placeholder),c.html(d),a.attr(\"load\",\"1\"),setTimeout(function(){a.removeAttr(\"load\")},6e4),/\\[\\{/.test(e)?UC.FN_InitVList(e):UC.FN_InitNewVList(e),UC.FN_InitOList()}}})}),document.onkeyup=function(a){var b=document.activeElement.tagName.toLowerCase();if(\"input\"!=b&&\"textarea\"!=b){var a=a?a:window.event,c=a.keyCode||a.which;switch(c){case 68:window.pageConfig.clientViewTop||(window.pageConfig.clientViewTop=0),window.pageConfig.clientViewTop+=document.documentElement.clientHeight,window.scrollTo(0,pageConfig.clientViewTop);break;case 83:window.scrollTo(0,0),window.pageConfig.clientViewTop=0,document.getElementById(\"key\").focus();break;case 84:window.scrollTo(0,0),window.pageConfig.clientViewTop=0}}}}();var $o=function(){function a(){this.length=0,this.index=-1,this.iLastModified=0,this.lastKeyword=!1}var b={};b.replace=function(a,b){return a.replace(/#{(.*?)}/g,function(){var a=arguments[1];return\"undefined\"!=typeof b[a]?b[a]:arguments[0]})},String.prototype.isEmpty=function(){return 0==this.length};var c='<a style=\"color:#005AA0\" onclick=\"$o.del(event)\">\\u5220\\u9664</a>',d=\"\\u641c\\u7d22\\u5386\\u53f2\",e='<li id=\"d_#{id}\" suggest-pos=\"#{suggest_pos}\" title=\"#{title}\" onclick=\"$o.clickItem(this)\" history=\"1\"><div class=\"search-item\" style=\"color:#005AA0\">#{keyword}</div><div class=\"search-count\">'+d+\"</div></li>\",f='<li id=\"d_#{id}\" suggest-pos=\"#{suggest_pos}\" title=\"#{title}\" onclick=\"$o.clickItem(this)\"><div class=\"search-item\">#{keyword}</div><div class=\"search-count\">\\u7ea6#{amount}\\u4e2a\\u5546\\u54c1</div></li>',g='<div id=\"d_#{id}\" suggest-pos=\"#{suggest_pos}\" class=\"#{className}\" title=\"#{title}\" cid=\"#{cid}\" cLevel=\"#{cLevel}\" onclick=\"$o.clickItem(this)\"><div class=\"search-item\">\\u5728<strong>#{cname}</strong>\\u5206\\u7c7b\\u4e2d\\u641c\\u7d22</div><div class=\"search-count\">\\u7ea6#{amount}\\u4e2a\\u5546\\u54c1</div></div>#{categorys}',h='<li class=\"fore1\"><div id=\"d_#{id}\" suggest-pos=\"#{suggest_pos}\" class=\"fore1\" title=\"#{title}\" onclick=\"$o.clickItem(this)\"><div class=\"search-item\">#{keyword}</div><div class=\"search-count\" #{style}>\\u7ea6#{amount}\\u4e2a\\u5546\\u54c1</div></div>#{categorys}</li>',i=\"http://dd.search.jd.com/?key=#{keyword}\",j=\"#FFDFC6\",k=\"#FFF\",l=$(\"#key\"),m=$(\"#shelper\");a.prototype.init=function(){this.length=0,this.index=-1,this.click=!1},a.prototype.hideTip=function(){this.init(),this.lastKeyword=!1,m.html(\"\").hide()},a.prototype.clickItem=function(a){var b=a.getAttribute(\"cid\");search.cid=null!=b&&\"\"!=b?b:null;var c=a.getAttribute(\"cLevel\");search.cLevel=null!=c&&\"\"!=c?c:null;var d=a.getAttribute(\"ev_val\");search.ev_val=null==d||$.trim(d).isEmpty()?null:d;var e=a.getAttribute(\"title\");null==e||$.trim(e).isEmpty()||l.val(e),search.additinal=\"&suggest=\"+a.getAttribute(\"suggest-pos\"),this.click=a.id.substr(2)-m.find(\"li[history='1']\").length,search(\"key\")},a.prototype.mouseenter=function(a){var a=$(a);a.attr(\"history\")&&a.find(\".search-count\").html(c),a.css(\"background\",j);var b=a.attr(\"id\").split(\"_\"),e=parseInt(b[1],10);if(e!=this.index){if(this.index>-1){var f=$(\"#d_\"+this.index);f.css(\"background\",k),f.attr(\"history\")&&f.find(\".search-count\").html(d)}this.index=e}},a.prototype.mouseleave=function(a){a.css(\"background\",k),a.attr(\"history\")&&a.find(\".search-count\").html(d)},a.prototype.selectItemNode=function(a){var b=this,e=$(\"#d_\"+b.index+\":visible\");e.css(\"background-color\",k),e.attr(\"history\")&&e.find(\".search-count\").html(d),-1==b.index&&-1==a&&(a=0),b.index=(b.length+b.index+a)%b.length;var f=$(\"#d_\"+b.index);if(f.length>0){f.attr(\"history\")&&f.find(\".search-count\").html(c),f.css(\"background-color\",j);var g=f.attr(\"title\");null==g||$.trim(g).isEmpty()||l.val(g);var h=f.attr(\"cid\");search.cid=null!=h&&\"\"!=h?h:null;var i=f.attr(\"cLevel\");search.cLevel=null!=i&&\"\"!=i?i:null,search.ev_val=null,search.additinal=\"&suggest=\"+f.attr(\"suggest-pos\"),b.click=b.index-m.find(\"li[history='1']\").length}},a.prototype.input=function(){var a=this;a.timeoutId&&clearTimeout(a.timeoutId),a.timeoutId=setTimeout(function(){var c=$.trim(l.val());if(c===a.lastKeyword||!(c||readCookie(\"pin\")||readCookie(\"_tp\")))return!1;a.lastKeyword=c;var d=b.replace(i,{keyword:encodeURIComponent(c)});$.ajax({url:d,dataType:\"jsonp\",scriptCharset:\"utf-8\",jsonp:\"callback\",success:function(b){return function(c){a.iLastModified>b||(a.iLastModified=b,a.onloadItems(c))}}((new Date).getTime())})},150)},a.prototype.keydown_up=function(a){var b=this,c=a||window.event;0==l.length&&(l=$(\"#key\")),0==m.length&&(m=$(\"tie\"));var d=c.keyCode;switch(d){case 38:b.selectItemNode(-1);break;case 40:b.selectItemNode(1);break;case 27:b.hideTip();break;case 37:break;case 39:break;default:$.browser.mozilla||b.input()}},a.prototype.onloadItems=function(a){if(0==a.length)return this.hideTip(),void 0;var c=this;c.init();var d=\"\",i=0;window.pageConfig&&window.pageConfig.searchType&&(i=window.pageConfig.searchType);for(var j=0,k=\"\",n=!1,o=0,p=$.trim(l.val()),q=0,r=a.length;r>q;q++){var s=a[q];if(s){var t=$.trim(s.keyword),u=t.toLowerCase().indexOf(p.toLowerCase()),v=t;if(0==u&&(v=p+\"<strong>\"+t.substring(u+p.length)+\"</strong>\"),\"string\"!=typeof s.cid||$.trim(s.cid).isEmpty()){var w=\"\";k+=0==s.amount?b.replace(e,{id:o,title:s.keyword,keyword:v,amount:s.amount,suggest_pos:j}):b.replace(f,{id:o,title:s.keyword,keyword:v,amount:s.amount,suggest_pos:j,style:w}),o++,j++}else{if(0==n){n=!0;var w='style=\"visibility:hidden\"',x=0;s.oamount&&s.oamount>0&&(x=s.oamount,w=\"\"),k+=b.replace(h,{id:o,title:s.keyword,keyword:v,amount:x,suggest_pos:j,style:w}),o++,j++}if(\"string\"==typeof s.cname&&$.trim(s.cname).isEmpty())continue;var y=s.level;if(!y)continue;if(0==i){if(\"string\"==typeof y&&/^[1-8]4$/.test(y))continue}else if(5==i){if(\"string\"==typeof y&&!/^[5-8]2$/.test(y))continue}else if(1==i||2==i||3==i||4==i)continue;var z=\"item1\",A=b.replace(g,{id:o,title:s.keyword,cid:s.cid,cLevel:s.level,className:z,cname:s.cname,amount:s.amount,suggest_pos:j-1});k=b.replace(k,{categorys:A}),o++}}}c.length=o,d=b.replace(k,{categorys:\"\"}),\"\"!=d?(d+='<li class=\"close\" onclick=\"$o.hideTip()\">\\u5173\\u95ed</li>',m.html(d).show(),m.find('[id^=\"d_\"]').bind(\"mouseleave\",function(){c.mouseleave($(this))}).bind(\"mouseenter\",function(){c.mouseenter($(this))})):m.html(\"\").hide()},a.prototype.bind_input=function(){$.browser.mozilla?(l.bind(\"keydown\",function(a){n.keydown_up(a)}),l.bind(\"input\",function(a){n.input(a)})):l.bind(\"keyup\",function(a){n.keydown_up(a)}),l.focus(function(){setTimeout(function(){n.input()},10)}),m.parent().bind(\"mouseenter\",function(){n.e_position=!0,n.timeoutId&&clearTimeout(n.timeoutId)}).bind(\"mouseleave\",function(){n.e_position=!1,n.timeoutId=setTimeout(function(){n.hideTip()},500)}),$(document).click(function(){n.e_position||n.hideTip()})},a.prototype.del=function(a){var b=this;a=a?a:window.event,window.event?(a.cancelBubble=!0,a.returnValue=!1):(a.stopPropagation(),a.preventDefault());var c=$(a.srcElement?a.srcElement:a.target),d=c.parent().parent().attr(\"title\");$.ajax({url:\"http://search.jd.com/suggest.php?op=del&callback=?&key=\"+encodeURIComponent(d),dataType:\"jsonp\",scriptCharset:\"utf-8\",beforeSend:function(){c.parent().parent().hide()},success:function(){b.lastKeyword=!1,l.focus()}})};var n=new a;return n.bind_input(),n}();pageConfig.FN_InitSidebar=function(){$(\"#toppanel\").length||$(document.body).prepend('<div class=\"w ld\" id=\"toppanel\"></div>'),$(\"#toppanel\").append('<div id=\"sidepanel\" class=\"hide\"></div>');var a=$(\"#sidepanel\");this.scroll=function(){var b=this;$(window).bind(\"scroll\",function(){var b=document.body.scrollTop||document.documentElement.scrollTop;0==b?a.hide():a.show()}),b.initCss(),$(window).bind(\"resize\",function(){b.initCss()})},this.initCss=function(){var b,c=pageConfig.compatible?1210:990;screen.width>=1210&&(b=$.browser.msie&&$.browser.version<=6?{right:\"-26px\"}:{right:(document.documentElement.clientWidth-c)/2-26+\"px\"},a.css(b))},this.addCss=function(b){a.css(b)},this.addItem=function(b){a.append(b)},this.setTop=function(){this.addItem(\"<a href='#' class='gotop' title='\\u4f7f\\u7528\\u5feb\\u6377\\u952eT\\u4e5f\\u53ef\\u8fd4\\u56de\\u9876\\u90e8\\u54e6\\uff01'><b></b>\\u8fd4\\u56de\\u9876\\u90e8</a>\")}},pageConfig.FN_InitContrast=function(a,b,c){var a=a||\"_contrast\",c=c||\"list\",b=b||\"http://misc.360buyimg.com/contrast/js/contrast.js?ver=\"+ +new Date,d=readCookie(a+\"_status\");return pageConfig.isInitContrast?!1:(\"show\"!=d&&\"side\"!=d||1!=!!readCookie(a)?$(\".btn-compare\").bind(\"click\",function(){var d=this.getAttribute(\"skuid\");$.getScript(b,function(){Contrast&&Contrast.init(c,a).showPopWin(d)})}):$.getScript(b,function(){Contrast&&Contrast.init(c,a)}),pageConfig.isInitContrast=1,void 0)},/debug=global/.test(location.href)||$.ajax({url:\"http://fa.360buy.com/loadFa_toJson.js?aid=2_601_5095\",dataType:\"script\",scriptCharset:\"gbk\",cache:!0});"
  },
  {
    "path": "migo-portal/src/main/webapp/js/static/register/jd.lib.js",
    "content": "/*livequery*/\r\neval(function(p, a, c, k, e, r) { e = function(c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) r[e(c)] = k[c] || e(c); k = [function(e) { return r[e] } ]; e = function() { return '\\\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\\\b' + e(c) + '\\\\b', 'g'), k[c]); return p } ('(4($){$.R($.7,{3:4(c,b,d){9 e=2,q;5($.O(c))d=b,b=c,c=z;$.h($.3.j,4(i,a){5(e.8==a.8&&e.g==a.g&&c==a.m&&(!b||b.$6==a.7.$6)&&(!d||d.$6==a.o.$6))l(q=a)&&v});q=q||Y $.3(2.8,2.g,c,b,d);q.u=v;$.3.s(q.F);l 2},T:4(c,b,d){9 e=2;5($.O(c))d=b,b=c,c=z;$.h($.3.j,4(i,a){5(e.8==a.8&&e.g==a.g&&(!c||c==a.m)&&(!b||b.$6==a.7.$6)&&(!d||d.$6==a.o.$6)&&!2.u)$.3.y(a.F)});l 2}});$.3=4(e,c,a,b,d){2.8=e;2.g=c||S;2.m=a;2.7=b;2.o=d;2.t=[];2.u=v;2.F=$.3.j.K(2)-1;b.$6=b.$6||$.3.I++;5(d)d.$6=d.$6||$.3.I++;l 2};$.3.p={y:4(){9 b=2;5(2.m)2.t.16(2.m,2.7);E 5(2.o)2.t.h(4(i,a){b.o.x(a)});2.t=[];2.u=Q},s:4(){5(2.u)l;9 b=2;9 c=2.t,w=$(2.8,2.g),H=w.11(c);2.t=w;5(2.m){H.10(2.m,2.7);5(c.C>0)$.h(c,4(i,a){5($.B(a,w)<0)$.Z.P(a,b.m,b.7)})}E{H.h(4(){b.7.x(2)});5(2.o&&c.C>0)$.h(c,4(i,a){5($.B(a,w)<0)b.o.x(a)})}}};$.R($.3,{I:0,j:[],k:[],A:v,D:X,N:4(){5($.3.A&&$.3.k.C){9 a=$.3.k.C;W(a--)$.3.j[$.3.k.V()].s()}},U:4(){$.3.A=v},M:4(){$.3.A=Q;$.3.s()},L:4(){$.h(G,4(i,n){5(!$.7[n])l;9 a=$.7[n];$.7[n]=4(){9 r=a.x(2,G);$.3.s();l r}})},s:4(b){5(b!=z){5($.B(b,$.3.k)<0)$.3.k.K(b)}E $.h($.3.j,4(a){5($.B(a,$.3.k)<0)$.3.k.K(a)});5($.3.D)1j($.3.D);$.3.D=1i($.3.N,1h)},y:4(b){5(b!=z)$.3.j[b].y();E $.h($.3.j,4(a){$.3.j[a].y()})}});$.3.L(\\'1g\\',\\'1f\\',\\'1e\\',\\'1b\\',\\'1a\\',\\'19\\',\\'18\\',\\'17\\',\\'1c\\',\\'15\\',\\'1d\\',\\'P\\');$(4(){$.3.M()});9 f=$.p.J;$.p.J=4(a,c){9 r=f.x(2,G);5(a&&a.8)r.g=a.g,r.8=a.8;5(14 a==\\'13\\')r.g=c||S,r.8=a;l r};$.p.J.p=$.p})(12);', 62, 82, '||this|livequery|function|if|lqguid|fn|selector|var|||||||context|each||queries|queue|return|type||fn2|prototype|||run|elements|stopped|false|els|apply|stop|undefined|running|inArray|length|timeout|else|id|arguments|nEls|guid|init|push|registerPlugin|play|checkQueue|isFunction|remove|true|extend|document|expire|pause|shift|while|null|new|event|bind|not|jQuery|string|typeof|toggleClass|unbind|addClass|removeAttr|attr|wrap|before|removeClass|empty|after|prepend|append|20|setTimeout|clearTimeout'.split('|'), 0, {}))\r\n/*query*/\r\nnew function(settings) { var $separator = settings.separator || '&'; var $spaces = settings.spaces === false ? false : true; var $suffix = settings.suffix === false ? '' : '[]'; var $prefix = settings.prefix === false ? false : true; var $hash = $prefix ? settings.hash === true ? \"#\" : \"?\" : \"\"; var $numbers = settings.numbers === false ? false : true; jQuery.query = new function() { var is = function(o, t) { return o != undefined && o !== null && (!!t ? o.constructor == t : true) }; var parse = function(path) { var m, rx = /\\[([^[]*)\\]/g, match = /^(\\S+?)(\\[\\S*\\])?$/.exec(path), base = match[1], tokens = []; while (m = rx.exec(match[2])) tokens.push(m[1]); return [base, tokens] }; var set = function(target, tokens, value) { var o, token = tokens.shift(); if (typeof target != 'object') target = null; if (token === \"\") { if (!target) target = []; if (is(target, Array)) { target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value)) } else if (is(target, Object)) { var i = 0; while (target[i++] != null); target[--i] = tokens.length == 0 ? value : set(target[i], tokens.slice(0), value) } else { target = []; target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value)) } } else if (token && token.match(/^\\s*[0-9]+\\s*$/)) { var index = parseInt(token, 10); if (!target) target = []; target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value) } else if (token) { var index = token.replace(/^\\s*|\\s*$/g, \"\"); if (!target) target = {}; if (is(target, Array)) { var temp = {}; for (var i = 0; i < target.length; ++i) { temp[i] = target[i] } target = temp } target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value) } else { return value } return target }; var queryObject = function(a) { var self = this; self.keys = {}; if (a.queryObject) { jQuery.each(a.get(), function(key, val) { self.SET(key, val) }) } else { jQuery.each(arguments, function() { var q = \"\" + this; q = q.replace(/^[?#]/, ''); q = q.replace(/[;&]$/, ''); if ($spaces) q = q.replace(/[+]/g, ' '); jQuery.each(q.split(/[&;]/), function() { var key = decodeURIComponent(this.split('=')[0]); var val = decodeURIComponent(encodeURIComponent(this.split('=')[1])); if (!key) return; if ($numbers) { if (/^[+-]?[0-9]+\\.[0-9]*$/.test(val)) val = parseFloat(val); else if (/^[+-]?[0-9]+$/.test(val)) val = parseInt(val, 10) } val = (!val && val !== 0) ? true : val; if (val !== false && val !== true && typeof val != 'number') val = val; self.SET(key, val) }) }) } return self }; queryObject.prototype = { queryObject: true, has: function(key, type) { var value = this.get(key); return is(value, type) }, GET: function(key) { if (!is(key)) return this.keys; var parsed = parse(key), base = parsed[0], tokens = parsed[1]; var target = this.keys[base]; while (target != null && tokens.length != 0) { target = target[tokens.shift()] } return typeof target == 'number' ? target : target || \"\" }, get: function(key) { var target = this.GET(key); if (is(target, Object)) return jQuery.extend(true, {}, target); else if (is(target, Array)) return target.slice(0); return target }, SET: function(key, val) { var value = !is(val) ? null : val; var parsed = parse(key), base = parsed[0], tokens = parsed[1]; var target = this.keys[base]; this.keys[base] = set(target, tokens.slice(0), value); return this }, set: function(key, val) { return this.copy().SET(key, val) }, REMOVE: function(key) { return this.SET(key, null).COMPACT() }, remove: function(key) { return this.copy().REMOVE(key) }, EMPTY: function() { var self = this; jQuery.each(self.keys, function(key, value) { delete self.keys[key] }); return self }, load: function(url) { var hash = url.replace(/^.*?[#](.+?)(?:\\?.+)?$/, \"$1\"); var search = url.replace(/^.*?[?](.+?)(?:#.+)?$/, \"$1\"); return new queryObject(url.length == search.length ? '' : search, url.length == hash.length ? '' : hash) }, empty: function() { return this.copy().EMPTY() }, copy: function() { return new queryObject(this) }, COMPACT: function() { function build(orig) { var obj = typeof orig == \"object\" ? is(orig, Array) ? [] : {} : orig; if (typeof orig == 'object') { function add(o, key, value) { if (is(o, Array)) o.push(value); else o[key] = value } jQuery.each(orig, function(key, value) { if (!is(value)) return true; add(obj, key, build(value)) }) } return obj } this.keys = build(this.keys); return this }, compact: function() { return this.copy().COMPACT() }, toString: function() { var i = 0, queryString = [], chunks = [], self = this; var addFields = function(arr, key, value) { if (!is(value) || value === false) return; var o = [encodeURIComponent(key)]; if (value !== true) { o.push(\"=\"); o.push(encodeURIComponent(value)) } arr.push(o.join(\"\")) }; var build = function(obj, base) { var newKey = function(key) { return !base || base == \"\" ? [key].join(\"\") : [base, \"[\", key, \"]\"].join(\"\") }; jQuery.each(obj, function(key, value) { if (typeof value == 'object') build(value, newKey(key)); else addFields(chunks, newKey(key), value) }) }; build(this.keys); if (chunks.length > 0) queryString.push($hash); queryString.push(chunks.join($separator)); return queryString.join(\"\") } }; return new queryObject(location.search, location.hash) } } (jQuery.query || {});\r\n/*cookie*/\r\neval(function(p, a, c, k, e, r) { e = function(c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) r[e(c)] = k[c] || e(c); k = [function(e) { return r[e] } ]; e = function() { return '\\\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\\\b' + e(c) + '\\\\b', 'g'), k[c]); return p } ('n.5=v(a,b,c){4(7 b!=\\'w\\'){c=c||{};4(b===o){b=\\'\\';c.3=-1}2 d=\\'\\';4(c.3&&(7 c.3==\\'p\\'||c.3.q)){2 e;4(7 c.3==\\'p\\'){e=x y();e.z(e.A()+(c.3*B*r*r*C))}s{e=c.3}d=\\';3=\\'+e.q()}2 f=c.8?\\';8=\\'+(c.8):\\'\\';2 g=c.9?\\';9=\\'+(c.9):\\'\\';2 h=c.t?\\';t\\':\\'\\';6.5=[a,\\'=\\',D(b),d,f,g,h].E(\\'\\')}s{2 j=o;4(6.5&&6.5!=\\'\\'){2 k=6.5.F(\\';\\');G(2 i=0;i<k.m;i++){2 l=n.H(k[i]);4(l.u(0,a.m+1)==(a+\\'=\\')){j=I(l.u(a.m+1));J}}}K j}};', 47, 47, '||var|expires|if|cookie|document|typeof|path|domain|||||||||||||length|jQuery|null|number|toUTCString|60|else|secure|substring|function|undefined|new|Date|setTime|getTime|24|1000|encodeURIComponent|join|split|for|trim|decodeURIComponent|break|return'.split('|'), 0, {}))\r\n/*utility by springChun*/\r\nFunction.prototype.overwrite = function(f) {\r\n    var result = f;\r\n    if (!result.original) {\r\n        result.original = this;\r\n    }\r\n    return result;\r\n}\r\nDate.prototype.toString = Date.prototype.toString.overwrite(\r\nfunction(format) {\r\n    var result = new String();\r\n    if (typeof (format) == \"string\") {\r\n        result = format;\r\n        result = result.replace(/yyyy|YYYY/, this.getFullYear());\r\n        result = result.replace(/yy|YY/, this.getFullYear().toString().substr(2, 2));\r\n        result = result.replace(/MM/, this.getMonth() >= 9 ? this.getMonth() + 1 : \"0\" + (this.getMonth() + 1));\r\n        result = result.replace(/M/, this.getMonth());\r\n        result = result.replace(/dd|DD/, this.getDate() > 9 ? this.getDate() : \"0\" + this.getDate());\r\n        result = result.replace(/d|D/, this.getDate());\r\n        result = result.replace(/hh|HH/, this.getHours() > 9 ? this.getHours() : \"0\" + this.getHours());\r\n        result = result.replace(/h|H/, this.getHours());\r\n        result = result.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes() : \"0\" + this.getMinutes());\r\n        result = result.replace(/m/, this.getMinutes());\r\n        result = result.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds() : \"0\" + this.getSeconds());\r\n        result = result.replace(/s|S/, this.getSeconds());\r\n    }\r\n    return result;\r\n});\r\nString.prototype.format = function() {\r\n    var result = this;\r\n    if (arguments.length > 0) {\r\n        parameters = $.makeArray(arguments);\r\n        $.each(\r\nparameters,\r\nfunction(i, n) {\r\n    result = result.replace(new RegExp(\"\\\\{\" + i + \"\\\\}\", \"g\"), n);\r\n});\r\n    }\r\n    return result;\r\n}\r\nfunction StringBuilder() {\r\n    this.strings = new Array();\r\n    this.length = 0;\r\n}\r\nStringBuilder.prototype.append = function(string) {\r\n    this.strings.push(string);\r\n    this.length += string.length;\r\n}\r\nStringBuilder.prototype.toString = function(start, length) {\r\n    return this.strings.join(\"\").substr(start, length);\r\n};\r\n/*jmsajax*/\r\n(function($) {\r\n    $.jmsajax = function(options) {\r\n        var defaults = { type: \"POST\", dataType: \"msjson\", data: {}, beforeSend: function(xhr) { xhr.setRequestHeader(\"Content-type\", \"application/json; charset=utf-8\"); }, contentType: \"application/json; charset=utf-8\", error: function(x, s, m) { alert(\"Status: \" + ((x.statusText) ? x.statusText : \"Unknown\") + \"\\nMessage: \" + msJSON.parse(((x.responseText) ? x.responseText : \"Unknown\")).Message); } }; var options = $.extend(defaults, options); if (options.method)\r\n            options.url += \"/\" + options.method; if (options.data) {\r\n            if (options.type == \"GET\") {\r\n                var data = \"\"; for (var i in options.data) {\r\n                    if (data != \"\")\r\n                        data += \"&\"; data += i + \"=\" + msJSON.stringify(options.data[i]);\r\n                }\r\n                options.url += \"?\" + data; data = null; options.data = \"{}\";\r\n            }\r\n            else if (options.type == \"POST\") { options.data = msJSON.stringify(options.data); } \r\n        }\r\n        if (options.success) {\r\n            if (options.dataType) {\r\n                if (options.dataType == \"msjson\") {\r\n                    var base = options.success; options.success = function(response, status) {\r\n                        var y = dateparse(response); if (options.version) {\r\n                            if (options.version >= 3.5)\r\n                                y = y.d;\r\n                        }\r\n                        else {\r\n                            if (response.indexOf(\"{\\\"d\\\":\") == 0)\r\n                                y = y.d;\r\n                        }\r\n                        base(y, status);\r\n                    } \r\n                } \r\n            } \r\n        }\r\n        return $.ajax(options);\r\n    }; dateparse = function(data) {\r\n        try {\r\n            return msJSON.parse(data, function(key, value) {\r\n                var a; if (typeof value === \"string\") { if (value.indexOf(\"Date\") >= 0) { a = /^\\/Date\\(([0-9]+)\\)\\/$/.exec(value); if (a) { return new Date(parseInt(a[1], 10)); } } }\r\n                return value;\r\n            });\r\n        }\r\n        catch (e) { return null; } \r\n    }\r\n    msJSON = function() {\r\n        function f(n) { return n < 10 ? '0' + n : n; }\r\n        var cx = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g, escapeable = /[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g, gap, indent, meta = { '\\b': '\\\\b', '\\t': '\\\\t', '\\n': '\\\\n', '\\f': '\\\\f', '\\r': '\\\\r', '\"': '\\\\\"', '\\\\': '\\\\\\\\' }, rep; function quote(string) {\r\n            escapeable.lastIndex = 0; return escapeable.test(string) ? '\"' + string.replace(escapeable, function(a) {\r\n                var c = meta[a]; if (typeof c === 'string') { return c; }\r\n                return '\\\\u' + ('0000' + (+(a.charCodeAt(0))).toString(16)).slice(-4);\r\n            }) + '\"' : '\"' + string + '\"';\r\n        }\r\n        function str(key, holder) {\r\n            var i, k, v, length, mind = gap, partial, value = holder[key]; if (value && typeof value === 'object' && typeof value.toJSON === 'function') { value = value.toJSON(key); }\r\n            if (typeof rep === 'function') { value = rep.call(holder, key, value); }\r\n            switch (typeof value) {\r\n                case 'string': return quote(value); case 'number': return isFinite(value) ? String(value) : 'null'; case 'boolean': case 'null': return String(value); case 'object': if (!value) { return 'null'; }\r\n                    if (value.toUTCString) { return '\"\\\\/Date(' + (value.getTime()) + ')\\\\/\"'; }\r\n                    gap += indent; partial = []; if (typeof value.length === 'number' && !(value.propertyIsEnumerable('length'))) {\r\n                        length = value.length; for (i = 0; i < length; i += 1) { partial[i] = str(i, value) || 'null'; }\r\n                        v = partial.length === 0 ? '[]' : gap ? '[\\n' + gap +\r\npartial.join(',\\n' + gap) + '\\n' +\r\nmind + ']' : '[' + partial.join(',') + ']'; gap = mind; return v;\r\n                    }\r\n                    if (rep && typeof rep === 'object') { length = rep.length; for (i = 0; i < length; i += 1) { k = rep[i]; if (typeof k === 'string') { v = str(k, value, rep); if (v) { partial.push(quote(k) + (gap ? ': ' : ':') + v); } } } } else { for (k in value) { if (Object.hasOwnProperty.call(value, k)) { v = str(k, value, rep); if (v) { partial.push(quote(k) + (gap ? ': ' : ':') + v); } } } }\r\n                    v = partial.length === 0 ? '{}' : gap ? '{\\n' + gap + partial.join(',\\n' + gap) + '\\n' +\r\nmind + '}' : '{' + partial.join(',') + '}'; gap = mind; return v;\r\n            } \r\n        }\r\n        return { stringify: function(value, replacer, space) {\r\n            var i; gap = ''; indent = ''; if (typeof space === 'number') { for (i = 0; i < space; i += 1) { indent += ' '; } } else if (typeof space === 'string') { indent = space; }\r\n            rep = replacer; if (replacer && typeof replacer !== 'function' && (typeof replacer !== 'object' || typeof replacer.length !== 'number')) { throw new Error('JSON.stringify'); }\r\n            return str('', { '': value });\r\n        }, parse: function(text, reviver) {\r\n            var j; function walk(holder, key) {\r\n                var k, v, value = holder[key]; if (value && typeof value === 'object') { for (k in value) { if (Object.hasOwnProperty.call(value, k)) { v = walk(value, k); if (v !== undefined) { value[k] = v; } else { delete value[k]; } } } }\r\n                return reviver.call(holder, key, value);\r\n            }\r\n            cx.lastIndex = 0; if (cx.test(text)) { text = text.replace(cx, function(a) { return '\\\\u' + ('0000' + (+(a.charCodeAt(0))).toString(16)).slice(-4); }); }\r\n            if (/^[\\],:{}\\s]*$/.test(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']').replace(/(?:^|:|,)(?:\\s*\\[)+/g, ''))) { j = eval('(' + text + ')'); return typeof reviver === 'function' ? walk({ '': j }, '') : j; }\r\n            throw new SyntaxError('JSON.parse');\r\n        } \r\n        };\r\n    } ();\r\n})(jQuery);\r\n/*trimpath*/\r\nvar TrimPath; (function() {\r\n    if (TrimPath == null)\r\n        TrimPath = new Object();\r\n    if (TrimPath.evalEx == null)\r\n        TrimPath.evalEx = function(src) { return eval(src); };\r\n    var UNDEFINED;\r\n    if (Array.prototype.pop == null)\r\n        Array.prototype.pop = function() {\r\n            if (this.length === 0) { return UNDEFINED; }\r\n            return this[--this.length];\r\n        };\r\n    if (Array.prototype.push == null)\r\n        Array.prototype.push = function() {\r\n            for (var i = 0; i < arguments.length; ++i) { this[this.length] = arguments[i]; }\r\n            return this.length;\r\n        };\r\n    TrimPath.parseTemplate = function(tmplContent, optTmplName, optEtc) {\r\n        if (optEtc == null)\r\n            optEtc = TrimPath.parseTemplate_etc;\r\n        var funcSrc = parse(tmplContent, optTmplName, optEtc);\r\n        var func = TrimPath.evalEx(funcSrc, optTmplName, 1);\r\n        if (func != null)\r\n            return new optEtc.Template(optTmplName, tmplContent, funcSrc, func, optEtc);\r\n        return null;\r\n    }\r\n    try {\r\n        String.prototype.process = function(context, optFlags) {\r\n            var template = TrimPath.parseTemplate(this, null);\r\n            if (template != null)\r\n                return template.process(context, optFlags);\r\n            return this;\r\n        } \r\n    } catch (e) { }\r\n    TrimPath.parseTemplate_etc = {};\r\n    TrimPath.parseTemplate_etc.statementTag = \"forelse|for|if|elseif|else|var|macro\";\r\n    TrimPath.parseTemplate_etc.statementDef = {\r\n        \"if\": { delta: 1, prefix: \"if (\", suffix: \") {\", paramMin: 1 },\r\n        \"else\": { delta: 0, prefix: \"} else {\" },\r\n        \"elseif\": { delta: 0, prefix: \"} else if (\", suffix: \") {\", paramDefault: \"true\" },\r\n        \"/if\": { delta: -1, prefix: \"}\" },\r\n        \"for\": { delta: 1, paramMin: 3,\r\n            prefixFunc: function(stmtParts, state, tmplName, etc) {\r\n                if (stmtParts[2] != \"in\")\r\n                    throw new etc.ParseError(tmplName, state.line, \"bad for loop statement: \" + stmtParts.join(' '));\r\n                var iterVar = stmtParts[1];\r\n                var listVar = \"__LIST__\" + iterVar;\r\n                return [\"var \", listVar, \" = \", stmtParts[3], \";\",\r\n\"var __LENGTH_STACK__;\",\r\n\"if (typeof(__LENGTH_STACK__) == 'undefined' || !__LENGTH_STACK__.length) __LENGTH_STACK__ = new Array();\",\r\n\"__LENGTH_STACK__[__LENGTH_STACK__.length] = 0;\",\r\n\"if ((\", listVar, \") != null) { \",\r\n\"var \", iterVar, \"_ct = 0;\",\r\n\"for (var \", iterVar, \"_index in \", listVar, \") { \",\r\niterVar, \"_ct++;\",\r\n\"if (typeof(\", listVar, \"[\", iterVar, \"_index]) == 'function') {continue;}\",\r\n\"__LENGTH_STACK__[__LENGTH_STACK__.length - 1]++;\",\r\n\"var \", iterVar, \" = \", listVar, \"[\", iterVar, \"_index];\"].join(\"\");\r\n            } \r\n        },\r\n        \"forelse\": { delta: 0, prefix: \"} } if (__LENGTH_STACK__[__LENGTH_STACK__.length - 1] == 0) { if (\", suffix: \") {\", paramDefault: \"true\" },\r\n        \"/for\": { delta: -1, prefix: \"} }; delete __LENGTH_STACK__[__LENGTH_STACK__.length - 1];\" },\r\n        \"var\": { delta: 0, prefix: \"var \", suffix: \";\" },\r\n        \"macro\": { delta: 1,\r\n            prefixFunc: function(stmtParts, state, tmplName, etc) {\r\n                var macroName = stmtParts[1].split('(')[0];\r\n                return [\"var \", macroName, \" = function\",\r\nstmtParts.slice(1).join(' ').substring(macroName.length),\r\n\"{ var _OUT_arr = []; var _OUT = { write: function(m) { if (m) _OUT_arr.push(m); } }; \"].join('');\r\n            } \r\n        },\r\n        \"/macro\": { delta: -1, prefix: \" return _OUT_arr.join(''); };\"}\r\n    }\r\n    TrimPath.parseTemplate_etc.modifierDef = {\r\n        \"eat\": function(v) { return \"\"; },\r\n        \"escape\": function(s) { return String(s).replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\"); },\r\n        \"capitalize\": function(s) { return String(s).toUpperCase(); },\r\n        \"default\": function(s, d) { return s != null ? s : d; } \r\n    }\r\n    TrimPath.parseTemplate_etc.modifierDef.h = TrimPath.parseTemplate_etc.modifierDef.escape;\r\n    TrimPath.parseTemplate_etc.Template = function(tmplName, tmplContent, funcSrc, func, etc) {\r\n        this.process = function(context, flags) {\r\n            if (context == null)\r\n                context = {};\r\n            if (context._MODIFIERS == null)\r\n                context._MODIFIERS = {};\r\n            if (context.defined == null)\r\n                context.defined = function(str) { return (context[str] != undefined); };\r\n            for (var k in etc.modifierDef) {\r\n                if (context._MODIFIERS[k] == null)\r\n                    context._MODIFIERS[k] = etc.modifierDef[k];\r\n            }\r\n            if (flags == null)\r\n                flags = {};\r\n            var resultArr = [];\r\n            var resultOut = { write: function(m) { resultArr.push(m); } };\r\n            try {\r\n                func(resultOut, context, flags);\r\n            } catch (e) {\r\n                if (flags.throwExceptions == true)\r\n                    throw e;\r\n                var result = new String(resultArr.join(\"\") + \"[ERROR: \" + e.toString() + (e.message ? '; ' + e.message : '') + \"]\");\r\n                result[\"exception\"] = e;\r\n                return result;\r\n            }\r\n            return resultArr.join(\"\");\r\n        }\r\n        this.name = tmplName;\r\n        this.source = tmplContent;\r\n        this.sourceFunc = funcSrc;\r\n        this.toString = function() { return \"TrimPath.Template [\" + tmplName + \"]\"; } \r\n    }\r\n    TrimPath.parseTemplate_etc.ParseError = function(name, line, message) {\r\n        this.name = name;\r\n        this.line = line;\r\n        this.message = message;\r\n    }\r\n    TrimPath.parseTemplate_etc.ParseError.prototype.toString = function() {\r\n        return (\"TrimPath template ParseError in \" + this.name + \": line \" + this.line + \", \" + this.message);\r\n    }\r\n    var parse = function(body, tmplName, etc) {\r\n        body = cleanWhiteSpace(body);\r\n        var funcText = [\"var TrimPath_Template_TEMP = function(_OUT, _CONTEXT, _FLAGS) { with (_CONTEXT) {\"];\r\n        var state = { stack: [], line: 1 };\r\n        var endStmtPrev = -1;\r\n        while (endStmtPrev + 1 < body.length) {\r\n            var begStmt = endStmtPrev;\r\n            begStmt = body.indexOf(\"{\", begStmt + 1);\r\n            while (begStmt >= 0) {\r\n                var endStmt = body.indexOf('}', begStmt + 1);\r\n                var stmt = body.substring(begStmt, endStmt);\r\n                var blockrx = stmt.match(/^\\{(cdata|minify|eval)/);\r\n                if (blockrx) {\r\n                    var blockType = blockrx[1];\r\n                    var blockMarkerBeg = begStmt + blockType.length + 1;\r\n                    var blockMarkerEnd = body.indexOf('}', blockMarkerBeg);\r\n                    if (blockMarkerEnd >= 0) {\r\n                        var blockMarker;\r\n                        if (blockMarkerEnd - blockMarkerBeg <= 0) {\r\n                            blockMarker = \"{/\" + blockType + \"}\";\r\n                        } else {\r\n                            blockMarker = body.substring(blockMarkerBeg + 1, blockMarkerEnd);\r\n                        }\r\n                        var blockEnd = body.indexOf(blockMarker, blockMarkerEnd + 1);\r\n                        if (blockEnd >= 0) {\r\n                            emitSectionText(body.substring(endStmtPrev + 1, begStmt), funcText);\r\n                            var blockText = body.substring(blockMarkerEnd + 1, blockEnd);\r\n                            if (blockType == 'cdata') {\r\n                                emitText(blockText, funcText);\r\n                            } else if (blockType == 'minify') {\r\n                                emitText(scrubWhiteSpace(blockText), funcText);\r\n                            } else if (blockType == 'eval') {\r\n                                if (blockText != null && blockText.length > 0)\r\n                                    funcText.push('_OUT.write( (function() { ' + blockText + ' })() );');\r\n                            }\r\n                            begStmt = endStmtPrev = blockEnd + blockMarker.length - 1;\r\n                        } \r\n                    } \r\n                } else if (body.charAt(begStmt - 1) != '$' &&\r\nbody.charAt(begStmt - 1) != '\\\\') {\r\n                    var offset = (body.charAt(begStmt + 1) == '/' ? 2 : 1);\r\n                    if (body.substring(begStmt + offset, begStmt + 10 + offset).search(TrimPath.parseTemplate_etc.statementTag) == 0)\r\n                        break;\r\n                }\r\n                begStmt = body.indexOf(\"{\", begStmt + 1);\r\n            }\r\n            if (begStmt < 0)\r\n                break;\r\n            var endStmt = body.indexOf(\"}\", begStmt + 1);\r\n            if (endStmt < 0)\r\n                break;\r\n            emitSectionText(body.substring(endStmtPrev + 1, begStmt), funcText);\r\n            emitStatement(body.substring(begStmt, endStmt + 1), state, funcText, tmplName, etc);\r\n            endStmtPrev = endStmt;\r\n        }\r\n        emitSectionText(body.substring(endStmtPrev + 1), funcText);\r\n        if (state.stack.length != 0)\r\n            throw new etc.ParseError(tmplName, state.line, \"unclosed, unmatched statement(s): \" + state.stack.join(\",\"));\r\n        funcText.push(\"}}; TrimPath_Template_TEMP\");\r\n        return funcText.join(\"\");\r\n    }\r\n    var emitStatement = function(stmtStr, state, funcText, tmplName, etc) {\r\n        var parts = stmtStr.slice(1, -1).split(' ');\r\n        var stmt = etc.statementDef[parts[0]];\r\n        if (stmt == null) {\r\n            emitSectionText(stmtStr, funcText);\r\n            return;\r\n        }\r\n        if (stmt.delta < 0) {\r\n            if (state.stack.length <= 0)\r\n                throw new etc.ParseError(tmplName, state.line, \"close tag does not match any previous statement: \" + stmtStr);\r\n            state.stack.pop();\r\n        }\r\n        if (stmt.delta > 0)\r\n            state.stack.push(stmtStr);\r\n        if (stmt.paramMin != null &&\r\nstmt.paramMin >= parts.length)\r\n            throw new etc.ParseError(tmplName, state.line, \"statement needs more parameters: \" + stmtStr);\r\n        if (stmt.prefixFunc != null)\r\n            funcText.push(stmt.prefixFunc(parts, state, tmplName, etc));\r\n        else\r\n            funcText.push(stmt.prefix);\r\n        if (stmt.suffix != null) {\r\n            if (parts.length <= 1) {\r\n                if (stmt.paramDefault != null)\r\n                    funcText.push(stmt.paramDefault);\r\n            } else {\r\n                for (var i = 1; i < parts.length; i++) {\r\n                    if (i > 1)\r\n                        funcText.push(' ');\r\n                    funcText.push(parts[i]);\r\n                } \r\n            }\r\n            funcText.push(stmt.suffix);\r\n        } \r\n    }\r\n    var emitSectionText = function(text, funcText) {\r\n        if (text.length <= 0)\r\n            return;\r\n        var nlPrefix = 0;\r\n        var nlSuffix = text.length - 1;\r\n        while (nlPrefix < text.length && (text.charAt(nlPrefix) == '\\n'))\r\n            nlPrefix++;\r\n        while (nlSuffix >= 0 && (text.charAt(nlSuffix) == ' ' || text.charAt(nlSuffix) == '\\t'))\r\n            nlSuffix--;\r\n        if (nlSuffix < nlPrefix)\r\n            nlSuffix = nlPrefix;\r\n        if (nlPrefix > 0) {\r\n            funcText.push('if (_FLAGS.keepWhitespace == true) _OUT.write(\"');\r\n            var s = text.substring(0, nlPrefix).replace('\\n', '\\\\n');\r\n            if (s.charAt(s.length - 1) == '\\n')\r\n                s = s.substring(0, s.length - 1);\r\n            funcText.push(s);\r\n            funcText.push('\");');\r\n        }\r\n        var lines = text.substring(nlPrefix, nlSuffix + 1).split('\\n');\r\n        for (var i = 0; i < lines.length; i++) {\r\n            emitSectionTextLine(lines[i], funcText);\r\n            if (i < lines.length - 1)\r\n                funcText.push('_OUT.write(\"\\\\n\");\\n');\r\n        }\r\n        if (nlSuffix + 1 < text.length) {\r\n            funcText.push('if (_FLAGS.keepWhitespace == true) _OUT.write(\"');\r\n            var s = text.substring(nlSuffix + 1).replace('\\n', '\\\\n');\r\n            if (s.charAt(s.length - 1) == '\\n')\r\n                s = s.substring(0, s.length - 1);\r\n            funcText.push(s);\r\n            funcText.push('\");');\r\n        } \r\n    }\r\n    var emitSectionTextLine = function(line, funcText) {\r\n        var endMarkPrev = '}';\r\n        var endExprPrev = -1;\r\n        while (endExprPrev + endMarkPrev.length < line.length) {\r\n            var begMark = \"${\", endMark = \"}\";\r\n            var begExpr = line.indexOf(begMark, endExprPrev + endMarkPrev.length);\r\n            if (begExpr < 0)\r\n                break;\r\n            if (line.charAt(begExpr + 2) == '%') {\r\n                begMark = \"${%\";\r\n                endMark = \"%}\";\r\n            }\r\n            var endExpr = line.indexOf(endMark, begExpr + begMark.length);\r\n            if (endExpr < 0)\r\n                break;\r\n            emitText(line.substring(endExprPrev + endMarkPrev.length, begExpr), funcText);\r\n            var exprArr = line.substring(begExpr + begMark.length, endExpr).replace(/\\|\\|/g, \"#@@#\").split('|');\r\n            for (var k in exprArr) {\r\n                if (exprArr[k].replace)\r\n                    exprArr[k] = exprArr[k].replace(/#@@#/g, '||');\r\n            }\r\n            funcText.push('_OUT.write(');\r\n            emitExpression(exprArr, exprArr.length - 1, funcText);\r\n            funcText.push(');');\r\n            endExprPrev = endExpr;\r\n            endMarkPrev = endMark;\r\n        }\r\n        emitText(line.substring(endExprPrev + endMarkPrev.length), funcText);\r\n    }\r\n    var emitText = function(text, funcText) {\r\n        if (text == null ||\r\ntext.length <= 0)\r\n            return;\r\n        text = text.replace(/\\\\/g, '\\\\\\\\');\r\n        text = text.replace(/\\n/g, '\\\\n');\r\n        text = text.replace(/\"/g, '\\\\\"');\r\n        funcText.push('_OUT.write(\"');\r\n        funcText.push(text);\r\n        funcText.push('\");');\r\n    }\r\n    var emitExpression = function(exprArr, index, funcText) {\r\n        var expr = exprArr[index];\r\n        if (index <= 0) {\r\n            funcText.push(expr);\r\n            return;\r\n        }\r\n        var parts = expr.split(':');\r\n        funcText.push('_MODIFIERS[\"');\r\n        funcText.push(parts[0]);\r\n        funcText.push('\"](');\r\n        emitExpression(exprArr, index - 1, funcText);\r\n        if (parts.length > 1) {\r\n            funcText.push(',');\r\n            funcText.push(parts[1]);\r\n        }\r\n        funcText.push(')');\r\n    }\r\n    var cleanWhiteSpace = function(result) {\r\n        result = result.replace(/\\t/g, \"    \");\r\n        result = result.replace(/\\r\\n/g, \"\\n\");\r\n        result = result.replace(/\\r/g, \"\\n\");\r\n        result = result.replace(/^(\\s*\\S*(\\s+\\S+)*)\\s*$/, '$1');\r\n        return result;\r\n    }\r\n    var scrubWhiteSpace = function(result) {\r\n        result = result.replace(/^\\s+/g, \"\");\r\n        result = result.replace(/\\s+$/g, \"\");\r\n        result = result.replace(/\\s+/g, \" \");\r\n        result = result.replace(/^(\\s*\\S*(\\s+\\S+)*)\\s*$/, '$1');\r\n        return result;\r\n    }\r\n    TrimPath.parseDOMTemplate = function(elementId, optDocument, optEtc) {\r\n        if (optDocument == null)\r\n            optDocument = document;\r\n        var element = optDocument.getElementById(elementId);\r\n        var content = element.value;\r\n        if (content == null)\r\n            content = element.innerHTML;\r\n        content = content.replace(/&lt;/g, \"<\").replace(/&gt;/g, \">\");\r\n        return TrimPath.parseTemplate(content, elementId, optEtc);\r\n    }\r\n    TrimPath.processDOMTemplate = function(elementId, context, optFlags, optDocument, optEtc) {\r\n        return TrimPath.parseDOMTemplate(elementId, optDocument, optEtc).process(context, optFlags);\r\n    } \r\n})();\r\n/*pagination*/\r\njQuery.fn.pagination = function(maxentries, opts) {\r\n    opts = jQuery.extend({\r\n        items_per_page: 10,\r\n        num_display_entries: 10,\r\n        current_page: 0,\r\n        num_edge_entries: 0,\r\n        link_to: \"#\",\r\n        prev_text: \"Prev\",\r\n        next_text: \"Next\",\r\n        ellipse_text: \"...\",\r\n        prev_show_always: true,\r\n        next_show_always: true,\r\n        callback: function() { return false; } \r\n    }, opts || {});\r\n    return this.each(function() {\r\n        function numPages() {\r\n            return Math.ceil(maxentries / opts.items_per_page);\r\n        }\r\n        function getInterval() {\r\n            var ne_half = Math.ceil(opts.num_display_entries / 2);\r\n            var np = numPages();\r\n            var upper_limit = np - opts.num_display_entries;\r\n            var start = current_page > ne_half ? Math.max(Math.min(current_page - ne_half, upper_limit), 0) : 0;\r\n            var end = current_page > ne_half ? Math.min(current_page + ne_half, np) : Math.min(opts.num_display_entries, np);\r\n            return [start, end];\r\n        }\r\n        function pageSelected(page_id, evt) {\r\n            current_page = page_id;\r\n            drawLinks();\r\n            var continuePropagation = opts.callback(page_id, panel);\r\n            if (!continuePropagation) {\r\n                if (evt.stopPropagation) {\r\n                    evt.stopPropagation();\r\n                }\r\n                else {\r\n                    evt.cancelBubble = true;\r\n                } \r\n            }\r\n            return continuePropagation;\r\n        }\r\n        function drawLinks() {\r\n            panel.empty();\r\n            var interval = getInterval();\r\n            var np = numPages();\r\n            if (np == 1) {\r\n                $(\".Pagination\").css({ display: \"none\" });\r\n            }\r\n            var getClickHandler = function(page_id) {\r\n                return function(evt) { return pageSelected(page_id, evt); } \r\n            }\r\n            var appendItem = function(page_id, appendopts) {\r\n                page_id = page_id < 0 ? 0 : (page_id < np ? page_id : np - 1);\r\n                appendopts = jQuery.extend({ text: page_id + 1, classes: \"\" }, appendopts || {});\r\n                if (page_id == current_page) {\r\n                    var lnk = $(\"<a href='javascript:void(0)' class='current'>\" + (appendopts.text) + \"</a>\");\r\n                }\r\n                else {\r\n                    var lnk = $(\"<a>\" + (appendopts.text) + \"</a>\")\r\n.bind(\"click\", getClickHandler(page_id))\r\n.attr('href', opts.link_to.replace(/__id__/, page_id));\r\n                }\r\n                if (appendopts.classes) { lnk.addClass(appendopts.classes); }\r\n                panel.append(lnk);\r\n            }\r\n            if (opts.prev_text && (current_page > 0 || opts.prev_show_always)) {\r\n                appendItem(current_page - 1, { text: opts.prev_text, classes: \"prev\" });\r\n            }\r\n            if (interval[0] > 0 && opts.num_edge_entries > 0) {\r\n                var end = Math.min(opts.num_edge_entries, interval[0]);\r\n                for (var i = 0; i < end; i++) {\r\n                    appendItem(i);\r\n                }\r\n                if (opts.num_edge_entries < interval[0] && opts.ellipse_text) {\r\n                    jQuery(\"<span>\" + opts.ellipse_text + \"</span>\").appendTo(panel);\r\n                } \r\n            }\r\n            for (var i = interval[0]; i < interval[1]; i++) {\r\n                appendItem(i);\r\n            }\r\n            if (interval[1] < np && opts.num_edge_entries > 0) {\r\n                if (np - opts.num_edge_entries > interval[1] && opts.ellipse_text) {\r\n                    jQuery(\"<span>\" + opts.ellipse_text + \"</span>\").appendTo(panel);\r\n                }\r\n                var begin = Math.max(np - opts.num_edge_entries, interval[1]);\r\n                for (var i = begin; i < np; i++) {\r\n                    appendItem(i);\r\n                } \r\n            }\r\n            if (opts.next_text && (current_page < np - 1 || opts.next_show_always)) {\r\n                appendItem(current_page + 1, { text: opts.next_text, classes: \"next\" });\r\n            } \r\n        }\r\n        var current_page = opts.current_page;\r\n        maxentries = (!maxentries || maxentries < 0) ? 1 : maxentries;\r\n        opts.items_per_page = (!opts.items_per_page || opts.items_per_page < 0) ? 1 : opts.items_per_page;\r\n        var panel = jQuery(this);\r\n        this.selectPage = function(page_id) { pageSelected(page_id); }\r\n        this.prevPage = function() {\r\n            if (current_page > 0) {\r\n                pageSelected(current_page - 1);\r\n                return true;\r\n            }\r\n            else {\r\n                return false;\r\n            } \r\n        }\r\n        this.nextPage = function() {\r\n            if (current_page < numPages() - 1) {\r\n                pageSelected(current_page + 1);\r\n                return true;\r\n            }\r\n            else {\r\n                return false;\r\n            } \r\n        }\r\n        drawLinks();\r\n    });\r\n};\r\n/*\r\n@Last-Modified:2010/10/26\r\n*/"
  },
  {
    "path": "migo-portal/src/main/webapp/js/static/register/jdThickBox.js",
    "content": "(function($) {\r\n\t$.extend($.browser, {\r\n\t\tclient: function() {\r\n\t\t\treturn {\r\n\t\t\t\twidth: document.documentElement.clientWidth,\r\n\t\t\t\theight: document.documentElement.clientHeight,\r\n\t\t\t\tbodyWidth: document.body.clientWidth,\r\n\t\t\t\tbodyHeight: document.body.clientHeight\r\n\t\t\t};\r\n\t\t},\r\n\t\tscroll: function() {\r\n\t\t\treturn {\r\n\t\t\t\twidth: document.documentElement.scrollWidth,\r\n\t\t\t\theight: document.documentElement.scrollHeight,\r\n\t\t\t\tbodyWidth: document.body.scrollWidth,\r\n\t\t\t\tbodyHeight: document.body.scrollHeight,\r\n\t\t\t\tleft: document.documentElement.scrollLeft + document.body.scrollLeft,\r\n\t\t\t\ttop: document.documentElement.scrollTop + document.body.scrollTop\r\n\t\t\t};\r\n\t\t},\r\n\t\tscreen: function() {\r\n\t\t\treturn {\r\n\t\t\t\twidth: window.screen.width,\r\n\t\t\t\theight: window.screen.height\r\n\t\t\t};\r\n\t\t},\r\n\t\tisIE6: $.browser.msie && $.browser.version == 6,\r\n\t\tisMinW: function(val) {\r\n\t\t\treturn Math.min($.browser.client().bodyWidth, $.browser.client().width) <= val;\r\n\t\t},\r\n\t\tisMinH: function(val) {\r\n\t\t\treturn $.browser.client().height <= val;\r\n\t\t}\r\n\t})\r\n})(jQuery);\r\n(function(a) {\r\n    a.fn.jdPosition = function(f) {\r\n        var e = a.extend({mode:null}, f || {});\r\n        switch (e.mode) {\r\n            default:\r\n            case\"center\":\r\n                var c = a(this).outerWidth(),g = a(this).outerHeight();\r\n                var b = a.browser.isMinW(c),d = a.browser.isMinH(g);\r\n                a(this).css({left:a.browser.scroll().left + Math.max((a.browser.client().width - c) / 2, 0) + \"px\",top:(!a.browser.isIE6) ? (d ? a.browser.scroll().top : (a.browser.scroll().top + Math.max((a.browser.client().height - g) / 2, 0) + \"px\")) : ((a.browser.scroll().top <= a.browser.client().bodyHeight - g) ? (a.browser.scroll().top + Math.max((a.browser.client().height - g) / 2, 0) + \"px\") : (a.browser.client().height - g) / 2 + \"px\")});\r\n                break;\r\n            case\"auto\":\r\n                break;\r\n            case\"fixed\":\r\n                break\r\n        }\r\n    }\r\n})(jQuery);\r\n(function(a) {\r\n    a.fn.jdThickBox = function(f, k) {\r\n        if (typeof f == \"function\") {\r\n            k = f;\r\n            f = {}\r\n        }\r\n        var o = a.extend({type:\"text\",source:null,width:null,height:null,title:null,_frame:\"\",_div:\"\",_box:\"\",_con:\"\",_loading:\"thickloading\",close:false,_close:\"\",_fastClose:false,_close_val:\"\\u00d7\",_titleOn:true,_title:\"\",_autoReposi:false,_countdown:false,_thickPadding:10,_thickBorder:1}, f || {});\r\n        var e = (typeof this != \"function\") ? a(this) : null;\r\n        var c;\r\n        var m = function() {\r\n            clearInterval(c);\r\n            a(\".thickframe\").add(\".thickdiv\").hide();\r\n            a(\".thickbox\").empty().remove();\r\n            if (o._autoReposi) {\r\n                a(window).unbind(\"resize.jdThickBox\").unbind(\"scroll.jdThickBox\")\r\n            }\r\n        };\r\n        if (o.close) {\r\n            m();\r\n            return false\r\n        }\r\n        var d = function(p) {\r\n            if (p != \"\") {\r\n                return p.match(/\\w+/)\r\n            } else {\r\n                return\"\"\r\n            }\r\n        };\r\n        var n = function(p) {\r\n            if (a(\".thickframe\").length == 0 || a(\".thickdiv\").length == 0) {\r\n                a(\"<iframe class='thickframe' id='\" + d(o._frame) + \"' marginwidth='0' marginheight='0' frameborder='0' scrolling='no'></iframe>\").appendTo(a(document.body));\r\n                a(\"<div class='thickdiv' id='\" + d(o._div) + \"'></div>\").appendTo(a(document.body))\r\n            } else {\r\n                a(\".thickframe\").add(\".thickdiv\").show()\r\n            }\r\n            a(\"<div class='thickbox' id='\" + d(o._box) + \"'></div>\").appendTo(a(document.body));\r\n            if (o._titleOn) {\r\n                h(p)\r\n            }\r\n            a(\"<div class='thickcon' id='\" + d(o._con) + \"' style='width:\" + o.width + \"px;height:\" + o.height + \"px;'></div>\").appendTo(a(\".thickbox\"));\r\n            if (o._countdown) {\r\n                b()\r\n            }\r\n            a(\".thickcon\").addClass(o._loading);\r\n            g();\r\n            j();\r\n            l(p);\r\n            if (o._autoReposi) {\r\n                a(window).bind(\"resize.jdThickBox\", g).bind(\"scroll.jdThickBox\", g)\r\n            }\r\n            if (o._fastClose) {\r\n                a(document.body).bind(\"click.jdThickBox\", function(r) {\r\n                    r = r ? r : window.event;\r\n                    var q = r.srcElement ? r.srcElement : r.target;\r\n                    if (q.className == \"thickdiv\") {\r\n                        a(this).unbind(\"click.jdThickBox\");\r\n                        m()\r\n                    }\r\n                })\r\n            }\r\n        };\r\n        var b = function() {\r\n            var p = o._countdown;\r\n            a(\"<div class='thickcountdown' style='width:\" + o.width + \"'><span id='jd-countdown'>\" + p + \"</span>\\u79d2\\u540e\\u81ea\\u52a8\\u5173\\u95ed</div>\").appendTo(a(\".thickbox\"));\r\n            c = setInterval(function() {\r\n                p--;\r\n                a(\"#jd-countdown\").html(p);\r\n                if (p == 0) {\r\n                    p = o._countdown;\r\n                    m()\r\n                }\r\n            }, 1000)\r\n        };\r\n        var h = function(p) {\r\n            o.title = (o.title == null && p) ? p.attr(\"title\") : o.title;\r\n            a(\"<div class='thicktitle' id='\" + d(o._title) + \"' style='width:\" + o.width + \"'><span>\" + o.title + \"</span></div>\").appendTo(a(\".thickbox\"))\r\n        };\r\n        var j = function() {\r\n            if (o._close != null) {\r\n                a(\"<a href='#'  id='closeBox'  class='thickclose' id='\" + d(o._close) + \"'>\" + o._close_val + \"</a>\").appendTo(a(\".thickbox\"));\r\n                a(\".thickclose\").one(\"click\", function() {\r\n                    m();                    \r\n                    return false\r\n                })\r\n            }\r\n        };\r\n        var l = function(p) {\r\n            o.source = (o.source == null) ? p.attr(\"href\") : o.source;\r\n            switch (o.type) {\r\n                default:\r\n                case\"text\":\r\n                    a(\".thickcon\").html(o.source);\r\n                    a(\".thickcon\").removeClass(o._loading);\r\n                    if (k) {\r\n                        k()\r\n                    }\r\n                    break;\r\n                case\"html\":\r\n                    a(o.source).clone().appendTo(a(\".thickcon\")).show();\r\n                    a(\".thickcon\").removeClass(o._loading);\r\n                    if (k) {\r\n                        k()\r\n                    }\r\n                    break;\r\n                case\"image\":\r\n                    o._index = (o._index == null) ? e.index(p) : o._index;\r\n                    a(\".thickcon\").append(\"<img src='\" + o.source + \"' width='\" + o.width + \"' height='\" + o.height + \"'>\");\r\n                    o.source = null;\r\n                    a(\".thickcon\").removeClass(o._loading);\r\n                    if (k) {\r\n                        k()\r\n                    }\r\n                    break;\r\n                case\"ajax\":\r\n                case\"json\":\r\n                    if (k) {\r\n                        k(o.source, a(\".thickcon\"), function() {\r\n                            a(\".thickcon\").removeClass(o._loading)\r\n                        })\r\n                    }\r\n                    break;\r\n                case\"iframe\":\r\n                    a(\"<iframe src='\" + o.source + \"' marginwidth='0' marginheight='0' frameborder='0' scrolling='no' style='width:\" + o.width + \"px;height:\" + o.height + \"px;border:0;'></iframe>\").appendTo(a(\".thickcon\"));\r\n                    a(\".thickcon\").removeClass(o._loading);\r\n                    if (k) {\r\n                        k()\r\n                    }\r\n                    break\r\n            }\r\n        };\r\n        var g = function() {\r\n            var q = o._thickPadding * 2 + o._thickBorder * 2 + parseInt(o.width),t = (o._titleOn ? a(\".thicktitle\").outerHeight() : 0) + a(\".thickcon\").outerHeight();\r\n            a(\".thickcon\").css({width:o.width,height:o.height,paddingLeft:0,paddingRight:0,borderLeft:o._thickBorder,borderRight:o._thickBorder});\r\n            a(\".thickbox\").css({width:(q-20 )+ \"px\",height:t + \"px\"});\r\n            a(\".thickbox\").jdPosition({mode:\"center\"});\r\n            if (a.browser.isIE6) {\r\n                var s = a(\".thickbox\").outerWidth(),u = a(\".thickbox\").outerHeight();\r\n                var p = a.browser.isMinW(s),r = a.browser.isMinH(u);\r\n                a(\".thickframe\").add(\".thickdiv\").css({width:p ? s : \"100%\",height:Math.max(a.browser.client().height, a.browser.client().bodyHeight) + \"px\"})\r\n            }\r\n        };\r\n        if (e != null) {\r\n            e.click(function() {\r\n                n(a(this));\r\n                return false\r\n            })\r\n        } else {\r\n            n()\r\n        }\r\n    };\r\n    a.jdThickBox = a.fn.jdThickBox\r\n})(jQuery);\r\nfunction jdThickBoxclose() {\r\n    $(\".thickclose\").trigger(\"click\")\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/js/static/register/jdValidate.emReg.js",
    "content": "$.extend(validateFunction,\r\n\t\t{\r\n\t\t\tregValidate : function() {\r\n\t\t\t\tif ($(\"#mobileCodeDiv\").attr(\"class\") == 'item') {\r\n\t\t\t\t\t$(\"#regName\").jdValidate(validatePrompt.regName,\r\n\t\t\t\t\t\t\tvalidateFunction.regName, true);\r\n\t\t\t\t\t$(\"#pwd\").jdValidate(validatePrompt.pwd,\r\n\t\t\t\t\t\t\tvalidateFunction.pwd, true);\r\n\t\t\t\t\t$(\"#pwdRepeat\").jdValidate(validatePrompt.pwdRepeat,\r\n\t\t\t\t\t\t\tvalidateFunction.pwdRepeat, true);\r\n\t\t\t\t\t$(\"#mobileCode\").jdValidate(validatePrompt.mobileCode,\r\n\t\t\t\t\t\t\tvalidateFunction.mobileCode, true);\r\n\t\t\t\t\treturn validateFunction.FORM_submit([ \"#regName\", \"#pwd\",\r\n\t\t\t\t\t\t\t\"#pwdRepeat\", \"#mobileCode\" ]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(\"#regName\").jdValidate(validatePrompt.regName,\r\n\t\t\t\t\t\t\tvalidateFunction.regName, true);\r\n\t\t\t\t\t$(\"#pwd\").jdValidate(validatePrompt.pwd,\r\n\t\t\t\t\t\t\tvalidateFunction.pwd, true);\r\n\t\t\t\t\t$(\"#pwdRepeat\").jdValidate(validatePrompt.pwdRepeat,\r\n\t\t\t\t\t\t\tvalidateFunction.pwdRepeat, true);\r\n\t\t\t\t\treturn validateFunction.FORM_submit([ \"#regName\", \"#pwd\",\r\n\t\t\t\t\t\t\t\"#pwdRepeat\" ]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\nvar isSubmit = false;\r\n$(\"#pwd\").bind(\"keyup\", function() {\r\n\tvalidateFunction.pwdstrength();\r\n}).jdValidate(validatePrompt.pwd, validateFunction.pwd)\r\n$(\"#pwdRepeat\")\r\n\t\t.jdValidate(validatePrompt.pwdRepeat, validateFunction.pwdRepeat);\r\n$(\"#regName\").jdValidate(validatePrompt.regName, validateFunction.regName);\r\n//$(\"#mobileCode\").jdValidate(validatePrompt.mobileCode,\r\n//\t\tvalidateFunction.mobileCode);\r\n//$(\"#phone\").jdValidate(validatePrompt.phone,\r\n//\t\tvalidateFunction.phone);\r\n//$(\"#mail\").jdValidate(validatePrompt.mail,\r\n//\t\tvalidateFunction.mail);\r\n\r\nfunction checkReadMe() {\r\n\tif ($(\"#readme\").attr(\"checked\") == true) {\r\n\t\t$(\"#protocol_error\").removeClass().addClass(\"error hide\");\r\n\t\treturn true;\r\n\t} else {\r\n\t\t$(\"#protocol_error\").removeClass().addClass(\"error\");\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\nfunction agreeonProtocol() {\r\n\tif ($(\"#readme\").attr(\"checked\") == true) {\r\n\t\t$(\"#protocol_error\").removeClass().addClass(\"error hide\");\r\n\t\treturn true;\r\n\t}\r\n}\r\n\r\nfunction protocolReg() {\r\n\t$(\"#closeBox\").click();\r\n\t//reg();\r\n}\r\n//主注册流程\r\nfunction reg() {\r\n\tif (isSubmit) {\r\n\t\treturn;\r\n\t}\r\n\tvar mobileCodeFlag = false;\r\n\tvar agreeProtocol = checkReadMe();\r\n\tvar regNameok = validateRegName();\r\n\tvar passed = false;\r\n\tvar mobile = $(\"#phone\").val();\r\n\tif(closeMobileReg == 1)\r\n\t{\r\n\t\tif (mobile == \"\") {\r\n\t\t\t$('#phone').addClass('highlight2');\r\n\t\t\t$(\"#phone_error\").html(\"请输入手机号码\");\r\n\t\t\t$(\"#phone_error\").removeClass().addClass(\"error\");\r\n\t\t\t$(\"#phone_error\").show();\r\n\t\t}\r\n\t    passed = validateFunction.regValidate() && regNameok && mobileFlags && agreeProtocol;\r\n\t}else\r\n\t{\r\n\t\tif (mobile == \"\") {\r\n\t\t\t$('#phone').addClass('highlight2');\r\n\t\t\t$(\"#phone_error\").html(\"请输入手机号码\");\r\n\t\t\t$(\"#phone_error\").removeClass().addClass(\"error\");\r\n\t\t\t$(\"#phone_error\").show();\r\n\t\t}\r\n\t\tvar mobileCode = $(\"#mobileCode\").val();\r\n\t\tif (mobileCode == \"\") {\r\n\t\t\t$('#mobileCode').addClass('highlight2');\r\n\t\t\t$('#mobileCode_error').removeClass().addClass('error').html('请输入短信验证码');\r\n\t\t\t$('#mobileCode_error').show();\r\n\t\t} else {\r\n\t\t\tmobileCodeFlag = true;\r\n\t\t}\r\n\t\tvar state = $(\"#state\").val();\r\n\t\tif(state == \"unbind\")\r\n\t\t{\r\n\t\t\tmobileFlags=true;\r\n\t\t}\r\n\t\tisSubmit = true;\r\n\t    passed = validateFunction.regValidate() && regNameok && agreeProtocol\r\n\t\t\t\t&& mobileCodeFlag && mobileFlags;\r\n\t}\r\n\t\r\n\tif (passed) {\r\n\t\t$(\"#registsubmit\").attr({\r\n\t\t\t\"disabled\" : \"disabled\"\r\n\t\t}).removeClass().addClass(\"btn-img btn-regist wait-btn\");\r\n\t\t$.ajax({\r\n\t\t\ttype : \"POST\",\r\n\t\t\turl : \"../register/regService?r=\" + Math.random() + \"&\"\r\n\t\t\t\t\t+ location.search.substring(1),\r\n\t\t\tcontentType : \"application/x-www-form-urlencoded; charset=utf-8\",\r\n\t\t\tdata : $(\"#personRegForm\").serialize(),\r\n\t\t\tsuccess : function(result) {\r\n\t\t\t\tif (result) {\r\n\t\t\t\t\tvar obj = eval(result);\r\n\t\t\t\t\tif (obj.info) {\r\n\t\t\t\t\t\tshowMessage(obj.info);\r\n//\t\t\t\t\t    alert(obj.info);\r\n\t\t\t\t\t\tverc();\r\n\t\t\t\t\t\t$(\"#registsubmit\").removeAttr(\"disabled\").removeClass()\r\n\t\t\t\t\t\t\t\t.addClass(\"btn-img btn-regist\");\r\n\t\t\t\t\t\tisSubmit = false;\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (obj.noAuth) {\r\n\t\t\t\t\t\tverc();\r\n\t\t\t\t\t\twindow.location = obj.noAuth;\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (obj.success == true) {\r\n\t\t\t\t\t\twindow.location = obj.dispatchUrl;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t} else {\r\n\t\t$(\"#registsubmit\").removeAttr(\"disabled\").removeClass().addClass(\r\n\t\t\t\t\"btn-img btn-regist\");\r\n\t\tisSubmit = false;\r\n\t}\r\n}\r\n//popup注册\r\nfunction popupReg() {\r\n\tvar mobileCodeFlag = false;\r\n\t var agreeProtocol = checkReadMe();\r\n\t\tvar mobileCode = $(\"#mobileCode\").val();\r\n\t\tif (mobileCode == \"\") {\r\n\t\t\t$(\"#mobileCode\").attr({\r\n\t\t\t\t\"class\" : \"text highlight2\"\r\n\t\t\t});\r\n\t\t\t$('#mobileCode_error').addClass('error').html('请输入短信验证码');\r\n\t\t} else {\r\n\t\t\tmobileCodeFlag = true;\r\n\t\t}\r\n\t    var passed = validateRegName() && validateFunction.regValidate() && agreeProtocol && mobileCodeFlag && mobileFlags;;\r\n\t    if (passed) {\r\n\t        $(\"#popupRegButton\").attr({ \"disabled\": \"disabled\" }).removeClass().addClass(\"btn-img btn-regist wait-btn\");\r\n\t        $.ajax({\r\n\t            type: \"POST\",\r\n\t            url: \"../register/regService?r=\" + Math.random(),\r\n\t            contentType: \"application/x-www-form-urlencoded; charset=utf-8\",\r\n\t            data: $(\"#popupPersonRegForm\").serialize(),\r\n\t            success: function (result) {\r\n\t                if (result) {\r\n\t                    var obj = eval(result);\r\n\t                    if (obj.info) {\r\n\t                    \tshowMessage(obj.info);\r\n\t                        verc();\r\n\t                        $(\"#popupRegButton\").removeAttr(\"disabled\").removeClass().addClass(\"btn-img btn-regist\");\r\n\t                        return;\r\n\t                    }\r\n\t                    if (obj.noAuth) {\r\n\t                        verc();\r\n\t                        window.parent.location = obj.noAuth;\r\n\t                        return;\r\n\t                    }\r\n\t                    if (obj.success == true) {\r\n\t                        window.parent.jdModelCallCenter.init(true);\r\n\t                        return;\r\n\t                    }\r\n\t                }\r\n\t            }\r\n\t        });\r\n\t    } else {\r\n\t        $(\"#popupRegButton\").removeAttr(\"disabled\").removeClass().addClass(\"btn-img btn-regist\");\r\n\t    }\r\n\t\r\n}\r\n\r\nfunction popupContinueReg() {\r\n\t$(\"#protocolContent\").removeClass().addClass(\"regist-bor hide\");\r\n\t$(\"#popupPersonRegForm\").show();\r\n\r\n\tpopupReg();\r\n}\r\n\r\nfunction showProtocol() {\r\n\t$(\"#popupPersonRegForm\").hide();\r\n\t$(\"#protocolContent\").removeClass().addClass(\"regist-bor\");\r\n\r\n}\r\nfunction showMessage(alertMsg)\r\n{\r\n\t$.jdThickBox({\r\n\t\t  type: \"text\",/*也可以是text,html,image,ajax,json*/\r\n\t         width: 360,\r\n\t         height: 100,\r\n\t         source: '<div class=\"thickbox-tip\">'\r\n\t        \t \t\t+'<div class=\"icon-box\">'\r\n\t        \t \t\t+'<span class=\"warn-icon m-icon\"></span>'\r\n\t        \t \t\t+ '<div class=\"item-fore \">'\r\n\t        \t \t\t+'<h2 class=\"ftx-04 \" id=\"alertMsg\">'+alertMsg+'</h2>'\r\n\t        \t \t\t+' </div>'\r\n\t        \t \t\t+'</div>'\r\n\t        \t \t\t+'</div>',\r\n\t         title: \"温馨提示\",\r\n\t         _close_val: \"×\",\r\n\t         _con: \"opinioncon\",\r\n\t         _titleOn: true\r\n\t});\r\n}"
  },
  {
    "path": "migo-portal/src/main/webapp/js/static/register/jdValidate.js",
    "content": "function pwdLevel(value) {\r\n    var pattern_1 = /^.*([\\W_])+.*$/i;\r\n    var pattern_2 = /^.*([a-zA-Z])+.*$/i;\r\n    var pattern_3 = /^.*([0-9])+.*$/i;\r\n    var level = 0;\r\n    if (value.length > 10) {\r\n        level++;\r\n    }\r\n    if (pattern_1.test(value)) {\r\n        level++;\r\n    }\r\n    if (pattern_2.test(value)) {\r\n        level++;\r\n    }\r\n    if (pattern_3.test(value)) {\r\n        level++;\r\n    }\r\n    if (level > 3) {\r\n        level = 3;\r\n    }\r\n    return level;\r\n}\r\n// 休眠\r\nfunction sleepm(numberMillis) {\r\n    var now = new Date();\r\n    var exitTime = now.getTime() + numberMillis;\r\n    while (true) {\r\n        now = new Date();\r\n        if (now.getTime() > exitTime) return;\r\n    }\r\n}\r\nvar weakPwdArray = [\"123456\", \"123456789\", \"111111\", \"5201314\", \"12345678\", \"123123\", \"password\", \"1314520\", \"123321\", \"7758521\", \"1234567\", \"5211314\", \"666666\", \"520520\", \"woaini\", \"520131\", \"11111111\", \"888888\", \"hotmail.com\", \"112233\", \"123654\", \"654321\", \"1234567890\", \"a123456\", \"88888888\", \"163.com\", \"000000\", \"yahoo.com.cn\", \"sohu.com\", \"yahoo.cn\", \"111222tianya\", \"163.COM\", \"tom.com\", \"139.com\", \"wangyut2\", \"pp.com\", \"yahoo.com\", \"147258369\", \"123123123\", \"147258\", \"987654321\", \"100200\", \"zxcvbnm\", \"123456a\", \"521521\", \"7758258\", \"111222\", \"110110\", \"1314521\", \"11111111\", \"12345678\", \"a321654\", \"111111\", \"123123\", \"5201314\", \"00000000\", \"q123456\", \"123123123\", \"aaaaaa\", \"a123456789\", \"qq123456\", \"11112222\", \"woaini1314\", \"a123123\", \"a111111\", \"123321\", \"a5201314\", \"z123456\", \"liuchang\", \"a000000\", \"1314520\", \"asd123\", \"88888888\", \"1234567890\", \"7758521\", \"1234567\", \"woaini520\", \"147258369\", \"123456789a\", \"woaini123\", \"q1q1q1q1\", \"a12345678\", \"qwe123\", \"123456q\", \"121212\", \"asdasd\", \"999999\", \"1111111\", \"123698745\", \"137900\", \"159357\", \"iloveyou\", \"222222\", \"31415926\", \"123456\", \"111111\", \"123456789\", \"123123\", \"9958123\", \"woaini521\", \"5201314\", \"18n28n24a5\", \"abc123\", \"password\", \"123qwe\", \"123456789\", \"12345678\", \"11111111\", \"dearbook\", \"00000000\", \"123123123\", \"1234567890\", \"88888888\", \"111111111\", \"147258369\", \"987654321\", \"aaaaaaaa\", \"1111111111\", \"66666666\", \"a123456789\", \"11223344\", \"1qaz2wsx\", \"xiazhili\", \"789456123\", \"password\", \"87654321\", \"qqqqqqqq\", \"000000000\", \"qwertyuiop\", \"qq123456\", \"iloveyou\", \"31415926\", \"12344321\", \"0000000000\", \"asdfghjkl\", \"1q2w3e4r\", \"123456abc\", \"0123456789\", \"123654789\", \"12121212\", \"qazwsxedc\", \"abcd1234\", \"12341234\", \"110110110\", \"asdasdasd\", \"123456\", \"22222222\", \"123321123\", \"abc123456\", \"a12345678\", \"123456123\", \"a1234567\", \"1234qwer\", \"qwertyui\", \"123456789a\", \"qq.com\", \"369369\", \"163.com\", \"ohwe1zvq\", \"xiekai1121\", \"19860210\", \"1984130\", \"81251310\", \"502058\", \"162534\", \"690929\", \"601445\", \"1814325\", \"as1230\", \"zz123456\", \"280213676\", \"198773\", \"4861111\", \"328658\", \"19890608\", \"198428\", \"880126\", \"6516415\", \"111213\", \"195561\", \"780525\", \"6586123\", \"caonima99\", \"168816\", \"123654987\", \"qq776491\", \"hahabaobao\", \"198541\", \"540707\", \"leqing123\", \"5403693\", \"123456\", \"123456789\", \"111111\", \"5201314\", \"123123\", \"12345678\", \"1314520\", \"123321\", \"7758521\", \"1234567\", \"5211314\", \"520520\", \"woaini\", \"520131\", \"666666\", \"RAND#a#8\", \"hotmail.com\", \"112233\", \"123654\", \"888888\", \"654321\", \"1234567890\", \"a123456\"];\r\n\r\nfunction verc() {\r\n    $(\"#JD_Verification1\").click();\r\n}\r\nfunction verc2() {\r\n    $(\"#JD_Verification2\").click();\r\n}\r\nvar validateRegExp = {\r\n    decmal: \"^([+-]?)\\\\d*\\\\.\\\\d+$\",\r\n    // 浮点数\r\n    decmal1: \"^[1-9]\\\\d*.\\\\d*|0.\\\\d*[1-9]\\\\d*$\",\r\n    // 正浮点数\r\n    decmal2: \"^-([1-9]\\\\d*.\\\\d*|0.\\\\d*[1-9]\\\\d*)$\",\r\n    // 负浮点数\r\n    decmal3: \"^-?([1-9]\\\\d*.\\\\d*|0.\\\\d*[1-9]\\\\d*|0?.0+|0)$\",\r\n    // 浮点数\r\n    decmal4: \"^[1-9]\\\\d*.\\\\d*|0.\\\\d*[1-9]\\\\d*|0?.0+|0$\",\r\n    // 非负浮点数（正浮点数 + 0）\r\n    decmal5: \"^(-([1-9]\\\\d*.\\\\d*|0.\\\\d*[1-9]\\\\d*))|0?.0+|0$\",\r\n    // 非正浮点数（负浮点数 +\r\n    // 0）\r\n    intege: \"^-?[1-9]\\\\d*$\",\r\n    // 整数\r\n    intege1: \"^[1-9]\\\\d*$\",\r\n    // 正整数\r\n    intege2: \"^-[1-9]\\\\d*$\",\r\n    // 负整数\r\n    num: \"^([+-]?)\\\\d*\\\\.?\\\\d+$\",\r\n    // 数字\r\n    num1: \"^[1-9]\\\\d*|0$\",\r\n    // 正数（正整数 + 0）\r\n    num2: \"^-[1-9]\\\\d*|0$\",\r\n    // 负数（负整数 + 0）\r\n    ascii: \"^[\\\\x00-\\\\xFF]+$\",\r\n    // 仅ACSII字符\r\n    chinese: \"^[\\\\u4e00-\\\\u9fa5]+$\",\r\n    // 仅中文\r\n    color: \"^[a-fA-F0-9]{6}$\",\r\n    // 颜色\r\n    date: \"^\\\\d{4}(\\\\-|\\\\/|\\.)\\\\d{1,2}\\\\1\\\\d{1,2}$\",\r\n    // 日期\r\n    email: \"^\\\\w+((-\\\\w+)|(\\\\.\\\\w+))*\\\\@[A-Za-z0-9]+((\\\\.|-)[A-Za-z0-9]+)*\\\\.[A-Za-z0-9]+$\",\r\n    // 邮件\r\n    idcard: \"^[1-9]([0-9]{14}|[0-9]{17})$\",\r\n    // 身份证\r\n    ip4: \"^(25[0-5]|2[0-4]\\\\d|[0-1]\\\\d{2}|[1-9]?\\\\d)\\\\.(25[0-5]|2[0-4]\\\\d|[0-1]\\\\d{2}|[1-9]?\\\\d)\\\\.(25[0-5]|2[0-4]\\\\d|[0-1]\\\\d{2}|[1-9]?\\\\d)\\\\.(25[0-5]|2[0-4]\\\\d|[0-1]\\\\d{2}|[1-9]?\\\\d)$\",\r\n    // ip地址\r\n    letter: \"^[A-Za-z]+$\",\r\n    // 字母\r\n    letter_l: \"^[a-z]+$\",\r\n    // 小写字母\r\n    letter_u: \"^[A-Z]+$\",\r\n    // 大写字母\r\n    mobile: \"^0?(13|15|18|14|17)[0-9]{9}$\",\r\n    // 手机\r\n    notempty: \"^\\\\S+$\",\r\n    // 非空\r\n    password: \"^.*[A-Za-z0-9\\\\w_-]+.*$\",\r\n    // 密码\r\n    fullNumber: \"^[0-9]+$\",\r\n    // 数字\r\n    picture: \"(.*)\\\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$\",\r\n    // 图片\r\n    qq: \"^[1-9]*[1-9][0-9]*$\",\r\n    // QQ号码\r\n    rar: \"(.*)\\\\.(rar|zip|7zip|tgz)$\",\r\n    // 压缩文件\r\n    tel: \"^[0-9\\-()（）]{7,18}$\",\r\n    // 电话号码的函数(包括验证国内区号,国际区号,分机号)\r\n    url: \"^http[s]?:\\\\/\\\\/([\\\\w-]+\\\\.)+[\\\\w-]+([\\\\w-./?%&=]*)?$\",\r\n    // url\r\n    username: \"^[A-Za-z0-9_\\\\-\\\\u4e00-\\\\u9fa5]+$\",\r\n    // 户名\r\n    deptname: \"^[A-Za-z0-9_()（）\\\\-\\\\u4e00-\\\\u9fa5]+$\",\r\n    // 单位名\r\n    zipcode: \"^\\\\d{6}$\",\r\n    // 邮编\r\n    realname: \"^[A-Za-z\\\\u4e00-\\\\u9fa5]+$\",\r\n    // 真实姓名\r\n    companyname: \"^[A-Za-z0-9_()（）\\\\-\\\\u4e00-\\\\u9fa5]+$\",\r\n    companyaddr: \"^[A-Za-z0-9_()（）\\\\#\\\\-\\\\u4e00-\\\\u9fa5]+$\",\r\n    companysite: \"^http[s]?:\\\\/\\\\/([\\\\w-]+\\\\.)+[\\\\w-]+([\\\\w-./?%&#=]*)?$\"\r\n};\r\n// 主函数\r\n(function($) {\r\n    $.fn.jdValidate = function(option, callback, def) {\r\n        var ele = this;\r\n        var id = ele.attr(\"id\");\r\n        var type = ele.attr(\"type\");\r\n        var rel = ele.attr(\"rel\");\r\n        var _onFocus = $(\"#\" + id + validateSettings.onFocus.container);\r\n        var _succeed = $(\"#\" + id + validateSettings.succeed.container);\r\n        var _isNull = $(\"#\" + id + validateSettings.isNull.container);\r\n        var _error = $(\"#\" + id + validateSettings.error.container);\r\n        if (def == true) {\r\n            var str = ele.val();\r\n            var tag = ele.attr(\"sta\");\r\n            if (str == \"\" || str == \"-1\") {\r\n                validateSettings.isNull.run({\r\n                    prompts: option,\r\n                    element: ele,\r\n                    isNullEle: _isNull,\r\n                    succeedEle: _succeed\r\n                },\r\n                option.isNull);\r\n            } else if (tag == 1 || tag == 2) {\r\n                return;\r\n            } else {\r\n                callback({\r\n                    prompts: option,\r\n                    element: ele,\r\n                    value: str,\r\n                    errorEle: _error,\r\n                    succeedEle: _succeed\r\n                });\r\n            }\r\n        } else {\r\n            if (typeof def == \"string\") {\r\n                ele.val(def);\r\n            }\r\n            if (type == \"checkbox\" || type == \"radio\") {\r\n                if (ele.attr(\"checked\") == true) {\r\n                    ele.attr(\"sta\", validateSettings.succeed.state);\r\n                }\r\n            }\r\n            switch (type) {\r\n            case \"text\":\r\n            case \"password\":\r\n                ele.bind(\"focus\",\r\n                function() {\r\n                    var str = ele.val();\r\n                    if (str == def) {\r\n                        ele.val(\"\");\r\n                    }\r\n                    validateSettings.onFocus.run({\r\n                        prompts: option,\r\n                        element: ele,\r\n                        value: str,\r\n                        onFocusEle: _onFocus,\r\n                        succeedEle: _succeed\r\n                    },\r\n                    option.onFocus, option.onFocusExpand);\r\n                }).bind(\"blur\",\r\n                function() {\r\n                    var str = ele.val();\r\n                    if (str == \"\") {\r\n                        ele.val(def);\r\n                    }\r\n                    if (validateRules.isNull(str)) {\r\n                        validateSettings.isNull.run({\r\n                            prompts: option,\r\n                            element: ele,\r\n                            value: str,\r\n                            isNullEle: _isNull,\r\n                            succeedEle: _succeed\r\n                        },\r\n                        \"\");\r\n                    } else {\r\n                        callback({\r\n                            prompts: option,\r\n                            element: ele,\r\n                            value: str,\r\n                            errorEle: _error,\r\n                            isNullEle: _isNull,\r\n                            succeedEle: _succeed\r\n                        });\r\n                    }\r\n                });\r\n                break;\r\n            default:\r\n                if (rel && rel == \"select\") {\r\n                    ele.bind(\"change\",\r\n                    function() {\r\n                        var str = ele.val();\r\n                        callback({\r\n                            prompts: option,\r\n                            element: ele,\r\n                            value: str,\r\n                            errorEle: _error,\r\n                            isNullEle: _isNull,\r\n                            succeedEle: _succeed\r\n                        });\r\n                    })\r\n                } else {\r\n                    ele.bind(\"click\",\r\n                    function() {\r\n                        callback({\r\n                            prompts: option,\r\n                            element: ele,\r\n                            errorEle: _error,\r\n                            isNullEle: _isNull,\r\n                            succeedEle: _succeed\r\n                        });\r\n                    })\r\n                }\r\n                break;\r\n            }\r\n        }\r\n    }\r\n})(jQuery);\r\n\r\n// 配置\r\nvar validateSettings = {\r\n    onFocus: {\r\n        state: null,\r\n        container: \"_error\",\r\n        style: \"focus\",\r\n        run: function(option, str, expands) {\r\n            if (!validateRules.checkType(option.element)) {\r\n                option.element.removeClass(validateSettings.INPUT_style2).addClass(validateSettings.INPUT_style1);\r\n            }\r\n            option.succeedEle.removeClass(validateSettings.succeed.style);\r\n            option.onFocusEle.removeClass().addClass(validateSettings.onFocus.style).html(str);\r\n            if (expands) {\r\n                expands();\r\n            }\r\n        }\r\n    },\r\n    isNull: {\r\n        state: 0,\r\n        container: \"_error\",\r\n        style: \"null\",\r\n        run: function(option, str) {\r\n            option.element.attr(\"sta\", 0);\r\n            if (!validateRules.checkType(option.element)) {\r\n                if (str == \"\") {\r\n                    option.element.removeClass(validateSettings.INPUT_style2).removeClass(validateSettings.INPUT_style1);\r\n                } else {\r\n                    option.element.removeClass(validateSettings.INPUT_style1).addClass(validateSettings.INPUT_style2);\r\n                }\r\n            }\r\n\r\n            option.succeedEle.removeClass(validateSettings.succeed.style);\r\n            if (str == \"\") {\r\n                option.isNullEle.removeClass().addClass(validateSettings.isNull.style).html(str);\r\n            } else {\r\n                option.isNullEle.removeClass().addClass(validateSettings.error.style).html(str);\r\n            }\r\n        }\r\n    },\r\n    error: {\r\n        state: 1,\r\n        container: \"_error\",\r\n        style: \"error\",\r\n        run: function(option, str) {\r\n            option.element.attr(\"sta\", 1);\r\n            if (!validateRules.checkType(option.element)) {\r\n                option.element.removeClass(validateSettings.INPUT_style1).addClass(validateSettings.INPUT_style2);\r\n            }\r\n\r\n            option.succeedEle.removeClass(validateSettings.succeed.style);\r\n            option.errorEle.removeClass().addClass(validateSettings.error.style).html(str);\r\n        }\r\n    },\r\n    succeed: {\r\n        state: 2,\r\n        container: \"_succeed\",\r\n        style: \"succeed\",\r\n        run: function(option) {\r\n            option.element.attr(\"sta\", 2);\r\n            option.errorEle.empty();\r\n            if (!validateRules.checkType(option.element)) {\r\n                option.element.removeClass(validateSettings.INPUT_style1).removeClass(validateSettings.INPUT_style2);\r\n            }\r\n\r\n            option.succeedEle.addClass(validateSettings.succeed.style);\r\n            option.errorEle.removeClass();\r\n        }\r\n    },\r\n    INPUT_style1: \"highlight1\",\r\n    INPUT_style2: \"highlight2\"\r\n}\r\n\r\n// 验证规则\r\nvar validateRules = {\r\n    isNull: function(str) {\r\n        return (str == \"\" || typeof str != \"string\");\r\n    },\r\n    betweenLength: function(str, _min, _max) {\r\n        return (str.length >= _min && str.length <= _max);\r\n    },\r\n    isUid: function(str) {\r\n        return new RegExp(validateRegExp.username).test(str);\r\n    },\r\n    fullNumberName: function(str) {\r\n        return new RegExp(validateRegExp.fullNumber).test(str);\r\n    },\r\n    isPwd: function(str) {\r\n        return /^.*([\\W_a-zA-z0-9-])+.*$/i.test(str);\r\n    },\r\n    isPwdRepeat: function(str1, str2) {\r\n        return (str1 == str2);\r\n    },\r\n    isEmail: function(str) {\r\n        return new RegExp(validateRegExp.email).test(str);\r\n    },\r\n    isTel: function(str) {\r\n        return new RegExp(validateRegExp.tel).test(str);\r\n    },\r\n    isMobile: function(str) {\r\n        return new RegExp(validateRegExp.mobile).test(str);\r\n    },\r\n    checkType: function(element) {\r\n        return (element.attr(\"type\") == \"checkbox\" || element.attr(\"type\") == \"radio\" || element.attr(\"rel\") == \"select\");\r\n    },\r\n    isRealName: function(str) {\r\n        return new RegExp(validateRegExp.realname).test(str);\r\n    },\r\n    isCompanyname: function(str) {\r\n        return new RegExp(validateRegExp.companyname).test(str);\r\n    },\r\n    isCompanyaddr: function(str) {\r\n        return new RegExp(validateRegExp.companyaddr).test(str);\r\n    },\r\n    isCompanysite: function(str) {\r\n        return new RegExp(validateRegExp.companysite).test(str);\r\n    },\r\n    simplePwd: function(str) {\r\n        // var pin = $(\"#regName\").val();\r\n        // if (pin.length > 0) {\r\n        // pin = strTrim(pin);\r\n        // if (pin == str) {\r\n        // return true;\r\n        // }\r\n        // }\r\n        return pwdLevel(str) == 1;\r\n    },\r\n    weakPwd: function(str) {\r\n        for (var i = 0; i < weakPwdArray.length; i++) {\r\n            if (weakPwdArray[i] == str) {\r\n                return true;\r\n            }\r\n        }\r\n        return false;\r\n    }\r\n};\r\n// 验证文本\r\nvar validatePrompt = {\r\n    regName: {\r\n        onFocus: \"4-20位字符，支持中英文、数字及\\\"-\\\"、\\\"_\\\"组合\",\r\n        succeed: \"\",\r\n        isNull: \"请输入用户名\",\r\n        error: {\r\n            beUsed: \"该用户名已被使用，请重新输入。如果您是该用户，请立刻<a href='https://passport.jd.com/uc/login' class='flk13'>登录</a>\",\r\n            badLength: \"用户名长度只能在4-20位字符之间\",\r\n            badFormat: \"用户名只能由中文、英文、数字及\\\"-\\\"、\\\"_\\\"组成\",\r\n            fullNumberName: \"用户名不能是纯数字，请重新输入\"\r\n        },\r\n        onFocusExpand: function() {\r\n            $(\"#morePinDiv\").removeClass().addClass(\"intelligent-error hide\");\r\n        }\r\n    },\r\n\r\n    pwd: {\r\n        onFocus: \"<span>6-20位字符，可使用字母、数字或符号的组合，不建议使用纯数字，纯字母，纯符号</span>\",\r\n        succeed: \"\",\r\n        isNull: \"请输入密码\",\r\n        error: {\r\n            badLength: \"密码长度只能在6-20位字符之间\",\r\n            badFormat: \"密码只能由英文、数字及标点符号组成\",\r\n            simplePwd: \"<span>该密码比较简单，有被盗风险，建议您更改为复杂密码，如字母+数字的组合</span>\",\r\n            weakPwd: \"<span>该密码比较简单，有被盗风险，建议您更改为复杂密码</span>\"\r\n        },\r\n        onFocusExpand: function() {\r\n            $(\"#pwdstrength\").hide();\r\n        }\r\n    },\r\n    pwdRepeat: {\r\n        onFocus: \"请再次输入密码\",\r\n        succeed: \"\",\r\n        isNull: \"请确认密码\",\r\n        error: {\r\n            badLength: \"密码长度只能在6-20位字符之间\",\r\n            badFormat2: \"两次输入密码不一致\",\r\n            badFormat1: \"密码只能由英文、数字及标点符号组成\"\r\n        }\r\n    },\r\n    phone: {\r\n        onFocus: \"请输入手机号码\",\r\n        succeed: \"\",\r\n        isNull: \"请输入手机号码\",\r\n        error: \"\"\r\n    },\r\n    protocol: {\r\n        onFocus: \"\",\r\n        succeed: \"\",\r\n        isNull: \"请先阅读并同意《京东用户注册协议》\",\r\n        error: \"\"\r\n    },\r\n    empty: {\r\n        onFocus: \"\",\r\n        succeed: \"\",\r\n        isNull: \"\",\r\n        error: \"\"\r\n    }\r\n};\r\n\r\nvar nameold, morePinOld, emailResult;\r\nvar namestate = false;\r\n// 回调函数\r\nvar validateFunction = {\r\n    regName: function(option) {\r\n        $(\"#intelligent-regName\").empty().hide();\r\n        var regName = option.value;\r\n        if (validateRules.isNull(regName) || regName == '') {\r\n            option.element.removeClass(validateSettings.INPUT_style2).removeClass(validateSettings.INPUT_style1);\r\n            $(\"#regName_error\").removeClass().empty();\r\n            return;\r\n        }\r\n        $(\"#authcodeDiv\").show();\r\n        checkPin(option);\r\n    },\r\n\r\n    pwd: function(option) {\r\n        var str1 = option.value;\r\n        var regName = $(\"#regName\").val();\r\n        if ((validateRules.isNull(regName) == false) && (regName != '') && regName == str1) {\r\n            $(\"#pwdstrength\").hide();\r\n            validateSettings.error.run(option, \"<span>您的密码与账户信息太重合，有被盗风险，请换一个密码</span>\");\r\n            return;\r\n        }\r\n\r\n        //var str2 = $(\"#pwdRepeat\").val();\r\n        $(\"#pwdRepeat\").blur();\r\n        var format = validateRules.isPwd(option.value);\r\n        var length = validateRules.betweenLength(option.value, 6, 20);\r\n\r\n        $(\"#pwdstrength\").hide();\r\n        if (!length && format) {\r\n            validateSettings.error.run(option, option.prompts.error.badLength);\r\n        } else if (!length && !format) {\r\n            validateSettings.error.run(option, option.prompts.error.badFormat);\r\n        } else if (length && !format) {\r\n            validateSettings.error.run(option, option.prompts.error.badFormat);\r\n        } else if (validateRules.weakPwd(str1)) {\r\n            validateSettings.error.run(option, option.prompts.error.weakPwd);\r\n        } else {\r\n\r\n            validateSettings.succeed.run(option);\r\n            validateFunction.pwdstrength();\r\n            if (validateRules.simplePwd(str1)) {\r\n                $(\"#pwd_error\").removeClass().addClass(\"focus\");\r\n                $(\"#pwd_error\").empty().html(option.prompts.error.simplePwd);\r\n                return;\r\n            }\r\n        }\r\n        //\t\tif (str2 == str1) {\r\n        //\t\t\t$(\"#pwdRepeat\").focus();\r\n        //\t\t}\r\n    },\r\n    pwdRepeat: function(option) {\r\n        var str1 = option.value;\r\n        var str2 = $(\"#pwd\").val();\r\n        var length = validateRules.betweenLength(option.value, 6, 20);\r\n        var format2 = validateRules.isPwdRepeat(str1, str2);\r\n        var format1 = validateRules.isPwd(str1);\r\n        if (!length) {\r\n            validateSettings.error.run(option, option.prompts.error.badLength);\r\n        } else {\r\n            if (!format1) {\r\n                validateSettings.error.run(option, option.prompts.error.badFormat1);\r\n            } else {\r\n                if (!format2) {\r\n                    validateSettings.error.run(option, option.prompts.error.badFormat2);\r\n                } else {\r\n                    validateSettings.succeed.run(option);\r\n                }\r\n            }\r\n        }\r\n    },\r\n    // mobileCode: function(option) {\r\n    // var bool = validateRules.isNull(option.value);\r\n    // if (bool) {\r\n    // validateSettings.error.run(option, option.prompts.error);\r\n    // return;\r\n    // } else {\r\n    // validateSettings.succeed.run(option);\r\n    // }\r\n    // },\r\n    protocol: function(option) {\r\n        if (option.element.attr(\"checked\") == true) {\r\n            option.element.attr(\"sta\", validateSettings.succeed.state);\r\n            option.errorEle.html(\"\");\r\n        } else {\r\n            option.element.attr(\"sta\", validateSettings.isNull.state);\r\n            option.succeedEle.removeClass(validateSettings.succeed.style);\r\n        }\r\n    },\r\n    pwdstrength: function() {\r\n        var element = $(\"#pwdstrength\");\r\n        var value = $(\"#pwd\").val();\r\n        if (value.length >= 6 && validateRules.isPwd(value)) {\r\n            $(\"#pwd_error\").removeClass('focus');\r\n            $(\"#pwd_error\").empty();\r\n            element.show();\r\n            var level = pwdLevel(value);\r\n            switch (level) {\r\n            case 1:\r\n                element.removeClass().addClass(\"strengthA\");\r\n                break;\r\n            case 2:\r\n                element.removeClass().addClass(\"strengthB\");\r\n                break;\r\n            case 3:\r\n                element.removeClass().addClass(\"strengthC\");\r\n                break;\r\n            default:\r\n                break;\r\n            }\r\n        } else {\r\n            element.hide();\r\n        }\r\n    },\r\n    checkGroup: function(elements) {\r\n        for (var i = 0; i < elements.length; i++) {\r\n            if (elements[i].checked) {\r\n                return true;\r\n            }\r\n        }\r\n        return false;\r\n    },\r\n    checkSelectGroup: function(elements) {\r\n        for (var i = 0; i < elements.length; i++) {\r\n            if (elements[i].value == -1) {\r\n                return false;\r\n            }\r\n        }\r\n        return true;\r\n    },\r\n\r\n    FORM_submit: function(elements) {\r\n        var bool = true;\r\n        for (var i = 0; i < elements.length; i++) {\r\n            if ($(elements[i]).attr(\"sta\") == 2) {\r\n                bool = true;\r\n            } else {\r\n                bool = false;\r\n                break;\r\n            }\r\n        }\r\n\r\n        return bool;\r\n    }\r\n};\r\n\r\n// 检查用户名\r\nvar checkpin = -10;\r\nfunction checkPin(option) {\r\n    var pin = option.value;\r\n    if (!validateRules.betweenLength(pin.replace(/[^\\x00-\\xff]/g, \"**\"), 6, 20)) {\r\n        validateSettings.error.run(option, option.prompts.error.badLength);\r\n        return false;\r\n    }\r\n\r\n    if (!validateRules.isUid(pin)) {\r\n        validateSettings.error.run(option, option.prompts.error.badFormat);\r\n        return;\r\n    }\r\n    if (validateRules.fullNumberName(pin)) {\r\n        validateSettings.error.run(option, option.prompts.error.fullNumberName);\r\n        return;\r\n    }\r\n    if (!namestate || nameold != pin) {\r\n        if (nameold != pin) {\r\n            nameold = pin;\r\n            option.errorEle.html(\"<em style='color:#999'>检验中……</em>\");\r\n            $.getJSON(\"../validateuser/isPinEngaged?pin=\" + escape(pin) + \"&r=\" + Math.random(),\r\n            function(date) {\r\n                checkpin = date.success;\r\n                if (date.success == 0) {\r\n                    validateSettings.succeed.run(option);\r\n                    namestate = true;\r\n                } else if (date.success == 2) {\r\n                    validateSettings.error.run(option, \"用户名包含了非法词\");\r\n                    namestate = false;\r\n                } else {\r\n                    validateSettings.error.run(option, \"<span>\" + option.prompts.error.beUsed.replace(\"{1}\", option.value) + \"</span>\");\r\n                    namestate = false;\r\n                    morePinOld = date.morePin;\r\n                    if (date.morePin != null && date.morePin.length > 0) {\r\n                        var html = \"\"\r\n                        for (var i = 0; i < date.morePin.length; i++) {\r\n                            html += \"<div class='item-fore'><input name='morePinRadio' onclick='selectMe(this);' type='radio' class='radio' value='\" + date.morePin[i] + \"'/><label>\" + date.morePin[i] + \"</label></div>\"\r\n                        }\r\n                        $(\"#morePinGroom\").empty();\r\n                        $(\"#morePinGroom\").html(html);\r\n                        $(\"#morePinDiv\").removeClass().addClass(\"intelligent-error\");\r\n                    }\r\n                }\r\n            });\r\n        } else {\r\n\r\n            if (checkpin == 2) {\r\n                validateSettings.error.run(option, \"用户名包含了非法词\");\r\n            } else {\r\n                validateSettings.error.run(option, \"<span>\" + option.prompts.error.beUsed.replace(\"{1}\", option.value) + \"</span>\");\r\n                if (morePinOld != null && morePinOld.length > 0) {\r\n                    $(\"#morePinDiv\").removeClass().addClass(\"intelligent-error\");\r\n                }\r\n            }\r\n            namestate = false;\r\n        }\r\n    } else {\r\n        validateSettings.succeed.run(option);\r\n    }\r\n}\r\n\r\nfunction selectMe(option) {\r\n    $(\"#morePinDiv\").removeClass().addClass(\"intelligent-error hide\");\r\n    $(\"#regName\").val(option.value);\r\n    $(\"#regName\").blur();\r\n}\r\n// 主流程发送手机验证码\r\nfunction sendMobileCode() {\r\n    if ($(\"#sendMobileCode\").attr(\"disabled\")) {\r\n        return;\r\n    }\r\n    mobileCodeHide();\r\n    var mobile = $(\"#phone\").val();\r\n    if (validateRules.isNull(mobile)) {\r\n        $(\"#phone_error\").removeClass().addClass(\"error\").html(\"请输入手机号\");\r\n        $(\"#phone_error\").show();\r\n        return;\r\n    }\r\n    if (!validateRules.isMobile(mobile)) {\r\n        $(\"#phone_error\").removeClass().addClass(\"error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone_error\").show();\r\n        return;\r\n    }\r\n    $('#mobileCode').removeClass(\"highlight2\");\r\n    // 检测手机号码是否存在\r\n    $.getJSON(\"../validateuser/isMobileEngaged?mobile=\" + mobile + \"&r=\" + Math.random(),\r\n    function(result) {\r\n        if (result.success == 0) {\r\n            $('#phone').removeClass().addClass(\"text\");\r\n            $(\"#phone_error\").html(\"\");\r\n            $(\"#phone_error\").hide();\r\n            $(\"#phone_succeed\").removeClass().addClass(\"blank succeed\");\r\n            mobileFlags = true;\r\n            sendmCode();\r\n        }\r\n\r\n        if (result.success == 1) {\r\n            $('#phone').removeClass().addClass('text highlight3');\r\n            $(\"#phone_error\").html(\"手机号已绑定，请更换号码或与原账号解绑\");\r\n            $(\"#phone_error\").removeClass().addClass(\"cue\");\r\n            $(\"#phone_error\").show();\r\n            $(\"#phone_succeed\").removeClass().addClass(\"blank cue-ico\");\r\n            mobileFlags = false;\r\n            var state = $(\"#state\").val();\r\n            if (state == \"unbind\") {\r\n                sendmCode();\r\n            } else {\r\n                mobileEngagedStyle();\r\n            }\r\n        }\r\n\r\n        if (result.success == 2) {\r\n            $('#phone').removeClass().addClass('text highlight2');\r\n            $(\"#phone_error\").html(\"该手机号已重新注册并绑定，3天内不可改绑\");\r\n            $(\"#phone_error\").removeClass().addClass(\"error\");\r\n            $(\"#phone_error\").show();\r\n            $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n            mobileFlags = false;\r\n        }\r\n    });\r\n\r\n}\r\n// 手机注册发送验证码target\r\nfunction sendmCode() {\r\n    if ($(\"#sendMobileCode\").attr(\"disabled\") || delayFlag == false) {\r\n        return;\r\n    }\r\n    var state = $(\"#state\").val();\r\n    if (state != \"unbind\") {\r\n        $(\"#rebind\").remove();\r\n        $(\"#mobileCodeDiv\").show();\r\n    }\r\n    $(\"#sendMobileCode\").attr(\"disabled\", \"disabled\");\r\n    jQuery.ajax({\r\n        type: \"get\",\r\n        url: \"../notifyuser/mobileCode?state=\" + state + \"&mobile=\" + $(\"#phone\").val() + \"&r=\" + Math.random(),\r\n        success: function(result) {\r\n            if (result) {\r\n                var obj = eval(result);\r\n                if (obj.rs == 1 || obj.remain) {\r\n                    $(\"#mobileCode_error\").addClass(\"hide\");\r\n                    $(\"#dyMobileButton\").html(\"120秒后重新获取\");\r\n                    if (obj.remain) {\r\n                        $(\"#mobileCodeSucMessage\").empty().html(obj.remain);\r\n                    } else {\r\n                        if (state == \"unbind\") {\r\n                            $(\"#mobileCode_error\").removeClass().addClass(\"cue\").empty().html(\"校验码已发送,注册成功后手机号将与原帐号解绑\");\r\n                            $(\"#mobileCode_error\").show();\r\n                        } else {\r\n                            $(\"#mobileCode_error\").removeClass().empty().html(\"验证码已发送，请查收短信。\");\r\n                            $(\"#mobileCode_error\").show();\r\n                        }\r\n                    }\r\n\r\n                    setTimeout(countDown, 1000);\r\n                    $(\"#sendMobileCode\").removeClass().addClass(\"btn btn-15\").attr(\"disabled\", \"disabled\");\r\n                    $(\"#mobileCode\").removeAttr(\"disabled\");\r\n                }\r\n                if (obj.rs == -1) {\r\n                    mobileCodeError(\"网络繁忙，请稍后重新获取验证码\");\r\n                }\r\n                if (obj.info) {\r\n                    if (obj.info == \"该手机号已被使用，请更换号码\") {\r\n                        mobileEngagedStyle();\r\n                    } else {\r\n                        mobileCodeError(obj.info);\r\n                    }\r\n\r\n                }\r\n\r\n                if (obj.rs == -2) {\r\n                    mobileCodeError(\"网络繁忙，请稍后重新获取验证码\");\r\n                }\r\n            }\r\n        }\r\n    });\r\n}\r\n// 邮箱验证发送验证码target\r\nfunction sendmCode1() {\r\n    if ($(\"#sendMobileCode1\").attr(\"disabled\") || delayFlag1 == false) {\r\n        return;\r\n    }\r\n    $(\"#rebind1\").remove();\r\n    $(\"#mobileCodeDiv1\").show();\r\n    $(\"#sendMobileCode1\").attr(\"disabled\", \"disabled\");\r\n    var state = $(\"#state\").val();\r\n    jQuery.ajax({\r\n        type: \"get\",\r\n        url: \"../notifyuser/mobileCode?state=\" + state + \"&mobile=\" + $(\"#phone1\").val() + \"&r=\" + Math.random(),\r\n        success: function(result) {\r\n            if (result) {\r\n                var obj = eval(result);\r\n                if (obj.rs == 1 || obj.remain) {\r\n                    $(\"#mobileCode1_error\").addClass(\"hide\");\r\n                    $(\"#dyMobileButton1\").html(\"120秒后重新获取\");\r\n                    if (obj.remain) {\r\n                        $(\"#mobileCodeSucMessage1\").empty().html(obj.remain);\r\n                    } else {\r\n                        if (state == \"unbind\") {\r\n                            $(\"#mobileCodeSucMessage1\").removeClass().addClass(\"cue\").empty().html(\"校验码已发送,注册成功后手机号将与原帐号解绑\");\r\n                        } else {\r\n                            $(\"#mobileCodeSucMessage1\").empty().html(\"验证码已发送，请查收短信。\");\r\n                        }\r\n                    }\r\n\r\n                    setTimeout(countDown1, 1000);\r\n                    $(\"#sendMobileCode1\").removeClass().addClass(\"btn btn-15\").attr(\"disabled\", \"disabled\");\r\n                    $(\"#mobileCode1\").removeAttr(\"disabled\");\r\n                }\r\n                if (obj.rs == -1) {\r\n                    $(\"#mobileCode1_error\").removeClass().addClass(\"error\").html(\"网络繁忙，请稍后重新获取验证码\");\r\n                    $(\"#sendMobileCode1\").removeClass().addClass(\"btn\").removeAttr(\"disabled\");\r\n                }\r\n                if (obj.info) {\r\n                    if (obj.info == \"该手机号已被使用，请更换号码\") {\r\n                        mobileEngagedStyle1();\r\n                    } else {\r\n                        $(\"#mobileCode1_error\").html(obj.info);\r\n                        $(\"#mobileCode1_error\").removeClass().addClass(\"error\");\r\n                        $(\"#mobileCode1_error\").show();\r\n                        $(\"#sendMobileCode1\").removeClass().addClass(\"btn\").removeAttr(\"disabled\");\r\n                    }\r\n                }\r\n\r\n                if (obj.rs == -2) {\r\n                    $(\"#mobileCode1_error\").html(\"网络繁忙，请稍后重新获取验证码\");\r\n                    $(\"#mobileCode1_error\").removeClass().addClass(\"error\");\r\n                    $(\"#mobileCode1_error\").show();\r\n                    $(\"#sendMobileCode1\").removeClass().addClass(\"btn\").removeAttr(\"disabled\");\r\n                }\r\n            }\r\n        }\r\n    });\r\n}\r\n// 次流程发送手机验证码\r\nfunction sendMobileCode1() {\r\n    if ($(\"#sendMobileCode1\").attr(\"disabled\")) {\r\n        return;\r\n    }\r\n    var mobile = $(\"#phone1\").val();\r\n    if (validateRules.isNull(mobile)) {\r\n        $('#phone1').addClass('highlight2');\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\").html(\"请输入手机号\");\r\n        $(\"#phone1_error\").show();\r\n        return;\r\n    }\r\n    if (!validateRules.isMobile(mobile)) {\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone1_error\").show();\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n        return;\r\n    }\r\n\r\n    var mobile = $(\"#phone1\").val();\r\n    if (mobile == \"\") {\r\n        $('#phone1').removeClass().addClass(\"text\");\r\n        $(\"#phone1_error\").hide();\r\n        $('#phone1_succeed').removeClass('error-ico');\r\n        mobileFlag = false;\r\n        return;\r\n    }\r\n    if (!validateRules.isMobile(mobile)) {\r\n        $(\"#phone1_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n        $(\"#phone1_error\").show();\r\n        $('#phone1').removeClass(\"highlight1\").addClass('highlight2');\r\n        mobileFlag = false;\r\n        return;\r\n    }\r\n    $(\"#mobileCode1_error\").removeClass().empty();\r\n    $(\"#mobileCode1_error\").hide();\r\n    $('#mobileCode1').removeClass(\"highlight2\");\r\n    // 检测手机号码是否存在\r\n    $.getJSON(\"../validateuser/isMobileEngaged?mobile=\" + mobile + \"&r=\" + Math.random(),\r\n    function(result) {\r\n        if (result.success == 0) {\r\n            $('#phone1').removeClass().addClass(\"text\");\r\n            $(\"#phone1_error\").html(\"\");\r\n            $(\"#phone1_error\").hide();\r\n            $(\"#phone1_succeed\").removeClass().addClass(\"blank succeed\");\r\n            mobileFlags = true;\r\n            sendmCode1();\r\n            return;\r\n        }\r\n        if (result.success == 1) {\r\n            $('#phone1').removeClass().addClass('text highlight3');\r\n            $(\"#phone1_error\").html(\"手机号已绑定，请更换号码或与原账号解绑\");\r\n            $(\"#phone1_error\").removeClass().addClass(\"cue\");\r\n            $(\"#phone1_error\").show();\r\n            $(\"#phone1_succeed\").removeClass().addClass(\"blank cue-ico\");\r\n            mobileFlags = false;\r\n            var state = $(\"#state\").val();\r\n            if (state == \"unbind\") {\r\n                sendmCode1();\r\n            } else {\r\n                mobileEngagedStyle1();\r\n            }\r\n            return;\r\n        }\r\n        if (result.success == 2) {\r\n            $('#phone1').removeClass().addClass('text highlight2');\r\n            $(\"#phone1_error\").html(\"该手机号已重新注册并绑定，3天内不可改绑\");\r\n            $(\"#phone1_error\").removeClass().addClass(\"error\");\r\n            $(\"#phone1_error\").show();\r\n            $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n            // $(\"#sendMobileCode1\").attr(\"disabled\", \"disabled\");\r\n            mobileFlags = false;\r\n        }\r\n    });\r\n}\r\n\r\nvar oldEmail, emailCheckResult;\r\n// 邮箱验证信息填写\r\nfunction sendRegMail() {\r\n    var mail = $(\"#mail\").val();\r\n    var authcode1 = $(\"#authcode1\").val();\r\n    if (mail == \"\") {\r\n        $(\"#mail_error\").removeClass().addClass(\"error\").html(\"请输入邮箱\");\r\n        $(\"#mail_error\").show();\r\n        $('#mail_succeed').addClass('error-ico');\r\n        $('#mail').addClass('highlight2');\r\n        return;\r\n    }\r\n    var email = strTrim(mail);\r\n    var format = validateRules.isEmail(email);\r\n    var format2 = validateRules.betweenLength(email, 0, 50);\r\n    if (!format) {\r\n        $(\"#mail_error\").html(\"邮箱地址不正确，请重新输入\");\r\n        $('#mail_succeed').addClass('error-ico');\r\n        $('#mail').addClass('highlight2');\r\n        return;\r\n    } else {\r\n        if (!format2) {\r\n            $('#mail_error').removeClass().addClass(\"error\");\r\n            $(\"#mail_error\").html(\"邮箱地址长度应在4-50个字符之间\");\r\n            $('#mail_succeed').addClass('error-ico');\r\n            $('#mail').removeClass(\"highlight1\").addClass('highlight2');\r\n            return;\r\n        } else {\r\n            // if (oldEmail == email) {\r\n            // if (emailCheckResult == 1) {\r\n            // emailEngagedStyle();\r\n            // return;\r\n            // }\r\n            // if (emailCheckResult == 2) {\r\n            // emailFormatErrorStyle();\r\n            // return;\r\n            // }\r\n            // return;\r\n            // }\r\n            // oldEmail = email;\r\n            $.getJSON(\"../validateuser/isEmailEngaged?email=\" + escape(email) + \"&r=\" + Math.random(),\r\n            function(result) {\r\n                emailResult = result.success;\r\n                emailCheckResult = emailResult;\r\n                // 邮箱未被验证 可注册\r\n                if (emailResult == 0) {\r\n                    $(\"#emailMg\").val(email);\r\n                    $(\"#authcodeMg\").val(authcode1);\r\n                    jdThickBoxclose();\r\n                    $(\"#dyMobileButton1\").html(\"获取短信验证码\");\r\n                    jQuery.jdThickBox({\r\n                        type: \"text\",\r\n                        width: 500,\r\n                        height: 260,\r\n                        source: $('#box01').html(),\r\n                        title: \"验证手机\",\r\n                        _close_val: \"×\",\r\n                        _con: \"opinioncon\",\r\n                        _titleOn: true\r\n                    });\r\n                }\r\n                if (emailResult == 1) {\r\n                    emailEngagedStyle();\r\n                    return;\r\n                }\r\n                if (emailResult == 2) {\r\n                    emailFormatErrorStyle();\r\n                    return;\r\n                }\r\n            });\r\n\r\n        }\r\n    }\r\n}\r\n\r\nfunction emailEngagedStyle() {\r\n    $('#mail_succeed').addClass('error-ico');\r\n    $('#mail_error').removeClass().addClass(\"error\");\r\n    $(\"#mail_error\").html(\"该邮箱已被使用，请更换其它邮箱\");\r\n}\r\n\r\nfunction emailFormatErrorStyle() {\r\n    $('#mail_succeed').addClass('error-ico');\r\n    $('#mail_error').removeClass().addClass(\"error\");\r\n    $(\"#mail_error\").html(\"邮箱地址不正确，请重新输入\");\r\n}\r\n\r\n// 邮箱验证 验证手机 提交注册\r\nfunction mobileReg() {\r\n    var mail = $(\"#emailMg\").val();\r\n    var authcode = $(\"#authcodeMg\").val();\r\n    var email = strTrim(mail);\r\n    var format = validateRules.isEmail(email);\r\n    var format2 = validateRules.betweenLength(email, 0, 50);\r\n    if (!format) {\r\n        $(\"#mail_error\").html(\"邮箱地址不正确，请重新输入\");\r\n        return;\r\n    } else if (!format2) {\r\n        $(\"#mail_error\").html(\"邮箱地址长度应在4-50个字符之间\");\r\n        return;\r\n    }\r\n\r\n    var mobile = $(\"#phone1\").val();\r\n    var phonevalue = $(\"#phone\").val();\r\n    var mobileCode = $(\"#mobileCode1\").val();\r\n    if (mobile == \"\") {\r\n        $('#phone1').addClass('highlight2');\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\").html(\"请输入手机号\");\r\n        $(\"#phone1_error\").show();\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n    }\r\n\r\n    if (mobileCode == \"\") {\r\n        $('#mobileCode1').addClass('highlight2');\r\n        $(\"#mobileCodeSucMessage1\").empty();\r\n        $(\"#mobileCodeSucMessage1\").removeClass();\r\n        $(\"#mobileCode1_error\").html(\"请输入短信验证码\");\r\n        $(\"#mobileCode1_error\").removeClass().addClass(\"error\");\r\n        $(\"#mobileCode1_error\").show();\r\n        return;\r\n    }\r\n    if (mobile == \"\") {\r\n        $('#phone1').addClass('highlight2');\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\").html(\"请输入手机号\");\r\n        $(\"#phone1_error\").show();\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n        return;\r\n    } else if (validateRules.isNull(mobile) || !validateRules.isMobile(mobile)) {\r\n        $(\"#phone1_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n        $(\"#phone1_error\").show();\r\n        $('#phone1').removeClass().addClass('text highlight2');\r\n        $(\"#mobileCodeDiv1\").show();\r\n        mobileFlag = false;\r\n        return;\r\n    }\r\n    var state = $(\"#state\").val();\r\n    if (state == \"unbind\") {\r\n        mobileFlag = true;\r\n    }\r\n    if (mobileFlag) {\r\n        var paramList = $(\"#personRegForm\").serialize() + \"&email=\" + email;\r\n        var temp = paramList.replace(\"phone=\" + phonevalue, \"phone=\" + mobile);\r\n        var params = temp.replace(\"mobileCode=\", \"mobileCode=\" + mobileCode);\r\n        params = params.replace(\"authcode=\", \"authcode=\" + authcode);\r\n        $.ajax({\r\n            type: \"POST\",\r\n            url: \"../register/sendRegEmail?r=\" + Math.random() + \"&\" + location.search.substring(1),\r\n            contentType: \"application/x-www-form-urlencoded; charset=utf-8\",\r\n            data: params,\r\n            success: function(result) {\r\n                var obj = eval(result);\r\n                var emailResult = obj.success;\r\n                var key = obj.k;\r\n                if (emailResult == 0) {\r\n                    jdThickBoxclose();\r\n                    jQuery.jdThickBox({\r\n                        type: \"text\",\r\n                        width: 510,\r\n                        height: 280,\r\n                        source: '<div class=\"thickbox-tip fz14\">' + '<div class=\"icon-box\">' + '<span class=\"succ-icon m-icon\"></span>' + '<div class=\"item-fore\">' + '<div class=\"ftx-02 info-succ\">账户更安全购物更放心</div>' + '</div>' + '</div>' + '<div class=\"msg-txt\">' + '系统已向您的邮箱&nbsp;<strong class=\"ftx-01\">' + $(\"#emailMg\").val() + '</strong>&nbsp;发送了一封验证邮件，请您登录邮箱，点击邮件中的链接完成邮箱验证。如果超过2分钟未收到邮件，您可以<a href=\"#none\" onclick=\"reSendEmail(\\'' + $(\"#emailMg\").val() + '\\',\\'' + key + '\\');\" class=\"ftx-05\">重新发送</a>' + '</div>' + '<div class=\"mt10 ftx-01\"> <span id=\"reSendEmailSuccess\"></span></div>' + '<div class=\"mt20\">' + '<a href=\"#\" id=\"emailLogin\" class=\"btn-red\">登录邮箱</a>'\r\n                        // +'<a href=\"#none\"\r\n                        // onclick=\"changeEmail();\"\r\n                        // class=\"ftx-05 fr\">返回邮箱修改</a>'\r\n                        + '<span class=\"clr\"></span>' + '</div>' + '</div>',\r\n                        title: \"温馨提示\",\r\n                        _close_val: \"×\",\r\n                        _con: \"opinioncon\",\r\n                        _titleOn: true\r\n                    });\r\n\r\n                    initEmailLoginUrl(email);\r\n                } else {\r\n                    $(\"#mobileCodeSucMessage1\").removeClass().empty();\r\n                    $(\"#mobileCode1_error\").html(obj.info);\r\n                    $(\"#mobileCode1_error\").removeClass().addClass(\"error\");\r\n                    $(\"#mobileCode1_error\").show();\r\n                    $(\"#sendMobileCode1\").removeClass().addClass(\"btn\").removeAttr(\"disabled\");\r\n                }\r\n            }\r\n        });\r\n    }\r\n}\r\nfunction mobileCodeError(content) {\r\n    $(\"#mobileCode_error\").html(content);\r\n    $(\"#mobileCode_error\").removeClass().addClass(\"error\");\r\n    $(\"#mobileCode_error\").show();\r\n    $(\"#sendMobileCode\").removeClass().addClass(\"btn\").removeAttr(\"disabled\");\r\n}\r\nfunction mobileCodeHide() {\r\n    $(\"#mobileCode_error\").html(\"\");\r\n    $(\"#mobileCode_error\").removeClass().addClass(\"error\");\r\n    $(\"#mobileCode_error\").hide();\r\n}\r\nvar delayTime = 120;\r\nvar delayFlag = true;\r\nfunction countDown() {\r\n    delayTime--;\r\n    $(\"#sendMobileCode\").attr(\"disabled\", \"disabled\");\r\n    $(\"#dyMobileButton\").html(delayTime + '秒后重新获取');\r\n    if (delayTime == 1) {\r\n        delayTime = 120;\r\n        $(\"#mobileCodeSucMessage\").removeClass().empty();\r\n        $(\"#dyMobileButton\").html(\"获取短信验证码\");\r\n        $(\"#mobileCode_error\").addClass(\"hide\");\r\n        $(\"#sendMobileCode\").removeClass().addClass(\"btn\").removeAttr(\"disabled\");\r\n        delayFlag = true;\r\n    } else {\r\n        delayFlag = false;\r\n        setTimeout(countDown, 1000);\r\n    }\r\n}\r\nvar delayTime1 = 120;\r\nvar delayFlag1 = true;\r\nfunction countDown1() {\r\n    delayTime1--;\r\n    $(\"#sendMobileCode1\").attr(\"disabled\", \"disabled\");\r\n    $(\"#dyMobileButton1\").html(delayTime1 + '秒后重新获取');\r\n    if (delayTime1 == 1) {\r\n        delayTime1 = 120;\r\n        $(\"#mobileCodeSucMessage1\").removeClass().empty();\r\n        $(\"#dyMobileButton1\").html(\"获取短信验证码\");\r\n        $(\"#mobileCode1_error\").removeClass().empty();\r\n        $(\"#mobileCode1_error\").hide();\r\n        $(\"#sendMobileCode1\").removeClass().addClass(\"btn\").removeAttr(\"disabled\");\r\n        delayFlag1 = true;\r\n    } else {\r\n        delayFlag1 = false;\r\n        countDown1.timer = setTimeout(countDown1, 1000);\r\n    }\r\n}\r\ncountDown1.timer = '';\r\nfunction strTrim(str) {\r\n    return str.replace(/(^\\s*)|(\\s*$)/g, \"\");\r\n}\r\n\r\n$(\"#regName\").blur(function() {\r\n    setTimeout(function() {\r\n        if ($(\"#schoolid\").val() == \"\") {\r\n            $(\"#schoolinput\").val(\"\");\r\n            $(\"#hnschool\").val(\"-1\");\r\n            $(\"#hnschool\").attr(\"sta\", 0);\r\n            $(\"#schoolinput_succeed\").removeClass(\"succeed\");\r\n        } else {\r\n            $(\"#hnschool\").val(\"1\");\r\n            $(\"#hnschool\").attr(\"sta\", 2);\r\n            $(\"#schoolinput_error\").html(\"\");\r\n            $(\"#schoolinput_succeed\").addClass(\"succeed\");\r\n        }\r\n        $('#intelligent-school').hide().empty();\r\n        $(\"#hnseli\").val(\"-1\");\r\n    },\r\n    200)\r\n})\r\n\r\nfunction showHideProtocol() {\r\n    var protocolNode = $('.protocol-box');\r\n    if (!protocolNode.is(':hidden')) {\r\n        protocolNode.hide();\r\n    } else {\r\n        protocolNode.show();\r\n    }\r\n    return false;\r\n}\r\n\r\nfunction validateRegName() {\r\n    var loginName = $(\"#regName\").val();\r\n    if (validateRules.isNull(loginName) || loginName == '') {\r\n        $(\"#regName\").val(\"\");\r\n        $(\"#regName\").attr({\r\n            \"class\": \"text highlight2\"\r\n        });\r\n        $(\"#regName_error\").html(\"请输入用户名\").show().attr({\r\n            \"class\": \"error\"\r\n        });\r\n        return false;\r\n    }\r\n    return true;\r\n}\r\n$(\"#regist .tab li\").hover(function() {\r\n    if ($(this).hasClass(\"curr\")) {} else {\r\n        $(this).addClass(\"new\");\r\n    }\r\n},\r\nfunction() {\r\n    if ($(this).hasClass(\"curr\")) {} else {\r\n        $(this).removeClass(\"new\");\r\n    }\r\n})\r\n\r\n$(\"#registsubmit\").hover(function() {\r\n    $(this).addClass(\"hover-btn\")\r\n},\r\nfunction() {\r\n\r\n    $(this).removeClass(\"hover-btn\")\r\n})\r\n\r\n// 主流程手机获得焦点事件\r\nfunction phoneFocus() {\r\n    var mobile = $(\"#phone\").val();\r\n    if (oldMobile == mobile && mobile != \"\") {\r\n        return;\r\n    }\r\n    $(\"#phone_succeed\").removeClass(\"blank succeed\");\r\n    $('#phone').removeClass().addClass('text highlight1');\r\n    $(\"#phone_error\").removeClass().addClass(\"focus\").html(\"完成验证后，您可以用该手机号登录和找回密码\");\r\n    $(\"#phone_error\").show();\r\n    $('#phone_succeed').removeClass('error-ico');\r\n}\r\n//主流程手机获得焦点事件\r\nfunction phoneOtherFocus() {\r\n    var mobile = $(\"#phone\").val();\r\n    if (oldMobile == mobile && mobile != \"\") {\r\n        return;\r\n    }\r\n    $(\"#phone_succeed\").removeClass(\"blank succeed\");\r\n    $('#phone').removeClass().addClass('text highlight1');\r\n    $(\"#phone_error\").removeClass().addClass(\"focus\").html(\"请输入手机号码\");\r\n    $(\"#phone_error\").show();\r\n    $('#phone_succeed').removeClass('error-ico');\r\n}\r\n// 次流程手机获得焦点事件\r\nfunction phone1Focus() {\r\n    var mobile1 = $(\"#phone1\").val();\r\n    if (oldMobile1 == mobile1 && mobile1 != \"\") {\r\n        return;\r\n    }\r\n    $(\"#phone1_succeed\").removeClass();\r\n    $('#phone1').removeClass().addClass('text highlight1');\r\n    $(\"#phone1_error\").removeClass().addClass(\"focus\").html(\"完成验证后，您可以用该手机号登录和找回密码\");\r\n    $(\"#phone1_error\").show();\r\n    $('#phone1_succeed').removeClass('error-ico');\r\n}\r\n\r\nvar oldMobile, mobileResult;\r\n// 主流程检查手机\r\nfunction phoneBlur() {\r\n    var mobile = $(\"#phone\").val();\r\n\r\n    if (mobile == \"\") {\r\n        $('#phone').removeClass().addClass('text');\r\n        $(\"#phone_error\").removeClass().html(\"\");\r\n        $(\"#phone_error\").hide();\r\n        $(\"#rebind\").remove();\r\n        $(\"#mobileCodeDiv\").show();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        oldMobile = mobile;\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    if (oldMobile == mobile && mobile != \"\") {\r\n        // 未修改手机号\r\n        // showMobileCheckResult(mobileResult);\r\n        return;\r\n    }\r\n    oldMobile = mobile;\r\n    if (validateRules.isNull(mobile) || !validateRules.isMobile(mobile)) {\r\n        $('#phone').removeClass().addClass('text highlight2');\r\n        $(\"#phone_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone_error\").show();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        $(\"#rebind\").remove();\r\n        $(\"#mobileCodeDiv\").show();\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    $(\"#mobileCodeSucMessage\").removeClass().empty();\r\n    $(\"#mobileCode_error\").html(\"\");\r\n    $(\"#mobileCode_error\").hide();\r\n    $(\"#state\").val(\"\");\r\n    // 检测手机号码是否存在\r\n    $.getJSON(\"../validateuser/isMobileEngaged?mobile=\" + mobile + \"&r=\" + Math.random(),\r\n    function(result) {\r\n\r\n        mobileResult = result.success;\r\n        // if (mobileResult != 2) {\r\n        // if ($(\"#sendMobileCode\").attr(\"disabled\")) {\r\n        // return;\r\n        // }\r\n        // $(\"#sendMobileCode\").removeAttr(\"disabled\");\r\n        // }\r\n        $(\"#sendMobileCode\").removeAttr(\"disabled\");\r\n        if (result.success == 0) {\r\n            mobileOkStyle();\r\n        }\r\n\r\n        if (result.success == 1) {\r\n            mobileEngagedStyle();\r\n        }\r\n\r\n        if (result.success == 2) {\r\n            mobileBindedStyle();\r\n            // $(\"#sendMobileCode\").attr(\"disabled\", \"disabled\");\r\n        }\r\n    });\r\n}\r\n//主流程检查手机\r\nfunction phoneKeyup() {\r\n    var mobile = $(\"#phone\").val();\r\n    var mobileLength=mobile.length;\r\n    if(mobileLength != 11)\r\n    {\r\n    \treturn;\r\n    }\r\n    if (mobile == \"\") {\r\n        $('#phone').removeClass().addClass('text');\r\n        $(\"#phone_error\").removeClass().html(\"\");\r\n        $(\"#phone_error\").hide();\r\n        $(\"#rebind\").remove();\r\n        $(\"#mobileCodeDiv\").show();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        oldMobile = mobile;\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    if (oldMobile == mobile && mobile != \"\") {\r\n        // 未修改手机号\r\n        // showMobileCheckResult(mobileResult);\r\n        return;\r\n    }\r\n    oldMobile = mobile;\r\n    if (validateRules.isNull(mobile) || !validateRules.isMobile(mobile)) {\r\n        $('#phone').removeClass().addClass('text highlight2');\r\n        $(\"#phone_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone_error\").show();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        $(\"#rebind\").remove();\r\n        $(\"#mobileCodeDiv\").show();\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    $(\"#mobileCodeSucMessage\").removeClass().empty();\r\n    $(\"#mobileCode_error\").html(\"\");\r\n    $(\"#mobileCode_error\").hide();\r\n    $(\"#state\").val(\"\");\r\n    // 检测手机号码是否存在\r\n    $.getJSON(\"../validateuser/isMobileEngaged?mobile=\" + mobile + \"&r=\" + Math.random(),\r\n    function(result) {\r\n\r\n        mobileResult = result.success;\r\n        // if (mobileResult != 2) {\r\n        // if ($(\"#sendMobileCode\").attr(\"disabled\")) {\r\n        // return;\r\n        // }\r\n        // $(\"#sendMobileCode\").removeAttr(\"disabled\");\r\n        // }\r\n        $(\"#sendMobileCode\").removeAttr(\"disabled\");\r\n        if (result.success == 0) {\r\n            mobileOkStyle();\r\n        }\r\n\r\n        if (result.success == 1) {\r\n            mobileEngagedStyle();\r\n        }\r\n\r\n        if (result.success == 2) {\r\n            mobileBindedStyle();\r\n            // $(\"#sendMobileCode\").attr(\"disabled\", \"disabled\");\r\n        }\r\n    });\r\n}\r\n\r\n//主流程检查手机\r\nfunction phoneOtherBlur() {\r\n    var mobile = $(\"#phone\").val();\r\n\r\n    if (mobile == \"\") {\r\n        $('#phone').removeClass().addClass('text');\r\n        $(\"#phone_error\").removeClass().html(\"\");\r\n        $(\"#phone_error\").hide();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        oldMobile = mobile;\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    if (oldMobile == mobile && mobile != \"\") {\r\n        // 未修改手机号\r\n        // showMobileCheckResult(mobileResult);\r\n        return;\r\n    }\r\n    oldMobile = mobile;\r\n    if (validateRules.isNull(mobile) || !validateRules.isMobile(mobile)) {\r\n        $('#phone').removeClass().addClass('text highlight2');\r\n        $(\"#phone_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone_error\").show();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    // 检测手机号码是否存在\r\n    $.getJSON(\"../validateuser/isMobileEngaged?mobile=\" + mobile + \"&r=\" + Math.random(),\r\n    function(result) {\r\n\r\n        mobileResult = result.success;\r\n        // if (mobileResult != 2) {\r\n        // if ($(\"#sendMobileCode\").attr(\"disabled\")) {\r\n        // return;\r\n        // }\r\n        // $(\"#sendMobileCode\").removeAttr(\"disabled\");\r\n        // }\r\n        $(\"#sendMobileCode\").removeAttr(\"disabled\");\r\n        if (result.success == 0) {\r\n            mobileOkStyle();\r\n        }\r\n\r\n        if (result.success == 1 || result.success == 2) {\r\n        \t $('#phone').removeClass().addClass('text highlight2');\r\n             $(\"#phone_error\").html(\"该手机号已被绑定，请更换手机号\");\r\n             $(\"#phone_error\").removeClass().addClass(\"error\");\r\n             $(\"#phone_error\").show();\r\n             $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        \t mobileFlags = false;\r\n        }\r\n\r\n    });\r\n}\r\n//主流程检查手机\r\nfunction phoneOtherKeyup() {\r\n    var mobile = $(\"#phone\").val();\r\n    var mobileLength=mobile.length;\r\n    if(mobileLength != 11)\r\n    {\r\n    \treturn;\r\n    }\r\n    if (mobile == \"\") {\r\n        $('#phone').removeClass().addClass('text');\r\n        $(\"#phone_error\").removeClass().html(\"\");\r\n        $(\"#phone_error\").hide();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        oldMobile = mobile;\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    if (oldMobile == mobile && mobile != \"\") {\r\n        // 未修改手机号\r\n        // showMobileCheckResult(mobileResult);\r\n        return;\r\n    }\r\n    oldMobile = mobile;\r\n    if (validateRules.isNull(mobile) || !validateRules.isMobile(mobile)) {\r\n        $('#phone').removeClass().addClass('text highlight2');\r\n        $(\"#phone_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone_error\").show();\r\n        $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n        mobileFlags = false;\r\n        return;\r\n    }\r\n    // 检测手机号码是否存在\r\n    $.getJSON(\"../validateuser/isMobileEngaged?mobile=\" + mobile + \"&r=\" + Math.random(),\r\n    function(result) {\r\n\r\n        mobileResult = result.success;\r\n        // if (mobileResult != 2) {\r\n        // if ($(\"#sendMobileCode\").attr(\"disabled\")) {\r\n        // return;\r\n        // }\r\n        // $(\"#sendMobileCode\").removeAttr(\"disabled\");\r\n        // }\r\n        $(\"#sendMobileCode\").removeAttr(\"disabled\");\r\n        if (result.success == 0) {\r\n            mobileOkStyle();\r\n        }\r\n\r\n        if (result.success == 1 || result.success == 2) {\r\n         \t $('#phone').removeClass().addClass('text highlight2');\r\n             $(\"#phone_error\").html(\"该手机号已被绑定，请更换手机号\");\r\n             $(\"#phone_error\").removeClass().addClass(\"error\");\r\n             $(\"#phone_error\").show();\r\n             $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n       \t    mobileFlags = false;\r\n       }\r\n    });\r\n}\r\nfunction showMobileCheckResult(result) {\r\n    if (result == 0) {\r\n        mobileOkStyle();\r\n    }\r\n    if (result == 1) {\r\n        mobileEngagedStyle();\r\n    }\r\n    if (result == 2) {\r\n        mobileBindedStyle();\r\n    }\r\n}\r\n\r\nfunction mobileOkStyle() {\r\n    $('#phone').removeClass().addClass(\"text\");\r\n    $(\"#phone_error\").html(\"\");\r\n    $(\"#phone_error\").hide();\r\n    $(\"#phone_succeed\").removeClass().addClass(\"blank succeed\");\r\n    $(\"#mobileCode_error\").removeClass().empty();\r\n    $(\"#mobileCodeDiv\").show();\r\n    $(\"#rebind\").remove();\r\n    $(\"#mobileCodeDiv\").show();\r\n    mobileFlags = true;\r\n}\r\n\r\nfunction mobileBindedStyle() {\r\n    $('#phone').removeClass().addClass('text highlight2');\r\n    $(\"#phone_error\").html(\"该手机号已重新注册并绑定，3天内不可改绑\");\r\n    $(\"#phone_error\").removeClass().addClass(\"error\");\r\n    $(\"#phone_error\").show();\r\n    $(\"#phone_succeed\").removeClass().addClass(\"\");\r\n    $(\"#rebind\").remove();\r\n    $(\"#mobileCodeDiv\").show();\r\n    mobileFlags = false;\r\n}\r\n\r\nfunction mobileEngagedStyle() {\r\n    $('#phone').removeClass().addClass('text highlight3');\r\n    $(\"#phone_error\").html(\"手机号已绑定，请更换号码或与原账号解绑\");\r\n    $(\"#phone_error\").removeClass().addClass(\"cue\");\r\n    $(\"#phone_error\").show();\r\n    $(\"#phone_succeed\").removeClass().addClass(\"blank cue-ico\");\r\n    $(\"#rebind\").remove();\r\n    $('#dphone').after('<div class=\"item\" id=\"rebind\"> <span class=\"label\">&nbsp;</span><div class=\"fl item-ifo item-ifo-extra\"> <a href=\"javascript:;\" onclick=\"unbind();\" class=\"btn-comm\"><span>尝试解绑手机号</span></a> </div> </div>');\r\n    $(\"#mobileCodeDiv\").hide();\r\n    mobileFlags = false;\r\n}\r\nfunction showMobileCheckResult1(result) {\r\n    if (result == 0) {\r\n        mobileOkStyle1();\r\n    }\r\n    if (result == 1) {\r\n        mobileEngagedStyle1();\r\n    }\r\n    if (result == 2) {\r\n        mobileBindedStyle1();\r\n    }\r\n}\r\nfunction mobileOkStyle1() {\r\n    $('#phone1').removeClass().addClass(\"text\");\r\n    $(\"#phone1_error\").removeClass().addClass(\"success\");\r\n    $(\"#phone1_error\").html(\"此手机号可用\");\r\n    $(\"#phone1_succeed\").removeClass().addClass(\"blank succeed\");\r\n    $(\"#mobileCodeDiv1\").show();\r\n    $(\"#dmcode1\").show();\r\n    $(\"#rebind1\").remove();\r\n    mobileFlag = true;\r\n    return;\r\n}\r\n\r\nfunction mobileBindedStyle1() {\r\n    $('#phone1').removeClass().addClass('text highlight2');\r\n    $(\"#phone1_error\").html(\"该手机号已重新注册并绑定，3天内不可改绑\");\r\n    $(\"#phone1_error\").removeClass().addClass(\"error\");\r\n    $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n    $(\"#phone1_error\").show();\r\n    $('#phone1').removeClass(\"highlight1\").addClass('highlight2');\r\n    $(\"#sendMobileCode1\").attr(\"disabled\", \"disabled\");\r\n    $(\"#mobileCodeDiv1\").show();\r\n    $(\"#rebind1\").remove();\r\n    mobileFlag = false;\r\n    return;\r\n}\r\n\r\nfunction mobileEngagedStyle1() {\r\n    $('#phone1').removeClass().addClass('text highlight3');\r\n    $(\"#phone1_error\").html(\"手机号已绑定，请更换号码或与原账号解绑\");\r\n    $(\"#phone1_error\").removeClass().addClass(\"cue\");\r\n    $(\"#phone1_succeed\").removeClass().addClass(\"blank cue-ico\");\r\n    $(\"#phone1_error\").show();\r\n    $(\"#rebind1\").remove();\r\n    $('#dphone1').after('<div class=\"item\"  id=\"rebind1\"><span class=\"label\">&nbsp;</span><div class=\"fl item-ifo\"><a href=\"javascript:void(0);\" onclick=\"unbind1();\"  class=\"btn btn-comm\"><span>尝试解绑手机号</span></a></div></div>');\r\n    $(\"#mobileCodeDiv1\").hide();\r\n    mobileFlag = false;\r\n    return;\r\n}\r\n// 次流程手机失去焦点事件\r\nvar mobileFlag = false;\r\nvar oldMobile1, mobileResult1;\r\nfunction phone1Blur() {\r\n    var mobile = $(\"#phone1\").val();\r\n    if (mobile == \"\") {\r\n        $('#phone1').removeClass().addClass(\"text\");\r\n        $(\"#phone1_error\").hide();\r\n        $('#phone1_succeed').removeClass();\r\n        $(\"#rebind1\").remove();\r\n        $(\"#dmcode1\").show();\r\n        $(\"#mobileCodeDiv1\").show();\r\n        oldMobile1 = mobile;\r\n        mobileFlag = false;\r\n        return;\r\n    }\r\n    if (oldMobile1 == mobile && mobile != \"\") {\r\n        // 未修改手机号\r\n        // showMobileCheckResult1(mobileResult1);\r\n        return;\r\n    }\r\n    oldMobile1 = mobile;\r\n\r\n    if (validateRules.isNull(mobile) || !validateRules.isMobile(mobile)) {\r\n        $(\"#phone1_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n        $(\"#phone1_error\").show();\r\n        $('#phone1').removeClass().addClass('text highlight2');\r\n        $(\"#mobileCodeDiv1\").show();\r\n        $(\"#rebind1\").remove();\r\n        $(\"#dmcode1\").show();\r\n        mobileFlag = false;\r\n        return;\r\n    }\r\n    $(\"#state\").val(\"\");\r\n    $(\"#mobileCodeSucMessage1\").removeClass().empty();\r\n    $(\"#mobileCode1_error\").removeClass().empty();\r\n    $(\"#mobileCode1_error\").hide();\r\n    $('#mobileCode1').removeClass(\"highlight2\");\r\n    // 检测手机号码是否存在\r\n    $.getJSON(\"../validateuser/isMobileEngaged?mobile=\" + mobile + \"&r=\" + Math.random(),\r\n    function(result) {\r\n        // mobileResult1 = result.success;\r\n        // if (mobileResult1 != 2) {\r\n        // if ($(\"#sendMobileCode1\").attr(\"disabled\")) {\r\n        // return;\r\n        // }\r\n        // $(\"#sendMobileCode1\").removeAttr(\"disabled\");\r\n        // }\r\n        $(\"#sendMobileCode1\").removeAttr(\"disabled\");\r\n        if (result.success == 0) {\r\n            mobileOkStyle1();\r\n        }\r\n\r\n        if (result.success == 1) {\r\n            mobileEngagedStyle1();\r\n        }\r\n\r\n        if (result.success == 2) {\r\n            mobileBindedStyle1();\r\n            // $(\"#sendMobileCode1\").attr(\"disabled\", \"disabled\");\r\n        }\r\n    });\r\n}\r\nfunction phone1Keyup() {\r\n    var mobile = $(\"#phone1\").val();\r\n    var mobileLength=mobile.length;\r\n    if(mobileLength != 11)\r\n    {\r\n    \treturn;\r\n    }\r\n    if (mobile == \"\") {\r\n        $('#phone1').removeClass().addClass(\"text\");\r\n        $(\"#phone1_error\").hide();\r\n        $('#phone1_succeed').removeClass();\r\n        $(\"#rebind1\").remove();\r\n        $(\"#dmcode1\").show();\r\n        $(\"#mobileCodeDiv1\").show();\r\n        oldMobile1 = mobile;\r\n        mobileFlag = false;\r\n        return;\r\n    }\r\n    if (oldMobile1 == mobile && mobile != \"\") {\r\n        // 未修改手机号\r\n        // showMobileCheckResult1(mobileResult1);\r\n        return;\r\n    }\r\n    oldMobile1 = mobile;\r\n\r\n    if (validateRules.isNull(mobile) || !validateRules.isMobile(mobile)) {\r\n        $(\"#phone1_error\").html(\"手机号码格式有误，请输入正确的手机号\");\r\n        $(\"#phone1_error\").removeClass().addClass(\"error\");\r\n        $(\"#phone1_succeed\").removeClass().addClass(\"blank error-ico\");\r\n        $(\"#phone1_error\").show();\r\n        $('#phone1').removeClass().addClass('text highlight2');\r\n        $(\"#mobileCodeDiv1\").show();\r\n        $(\"#rebind1\").remove();\r\n        $(\"#dmcode1\").show();\r\n        mobileFlag = false;\r\n        return;\r\n    }\r\n    $(\"#state\").val(\"\");\r\n    $(\"#mobileCodeSucMessage1\").removeClass().empty();\r\n    $(\"#mobileCode1_error\").removeClass().empty();\r\n    $(\"#mobileCode1_error\").hide();\r\n    $('#mobileCode1').removeClass(\"highlight2\");\r\n    // 检测手机号码是否存在\r\n    $.getJSON(\"../validateuser/isMobileEngaged?mobile=\" + mobile + \"&r=\" + Math.random(),\r\n    function(result) {\r\n        // mobileResult1 = result.success;\r\n        // if (mobileResult1 != 2) {\r\n        // if ($(\"#sendMobileCode1\").attr(\"disabled\")) {\r\n        // return;\r\n        // }\r\n        // $(\"#sendMobileCode1\").removeAttr(\"disabled\");\r\n        // }\r\n        $(\"#sendMobileCode1\").removeAttr(\"disabled\");\r\n        if (result.success == 0) {\r\n            mobileOkStyle1();\r\n        }\r\n\r\n        if (result.success == 1) {\r\n            mobileEngagedStyle1();\r\n        }\r\n\r\n        if (result.success == 2) {\r\n            mobileBindedStyle1();\r\n            // $(\"#sendMobileCode1\").attr(\"disabled\", \"disabled\");\r\n        }\r\n    });\r\n}\r\n// 次流程短信验证码获得焦点事件\r\nfunction mobileCodeFocus() {\r\n    $('#mobileCode').removeClass().addClass('text text-1 highlight1');\r\n    $(\"#mobileCode_error\").hide();\r\n}\r\n// 次流程短信验证码获得失去事件\r\nfunction mobileCodeBlur() {\r\n    $('#mobileCode').removeClass().addClass(\"text text-1\");\r\n    $(\"#mobileCode_error\").hide();\r\n}\r\n// 次流程短信验证码获得焦点事件\r\nfunction mobileCode1Focus() {\r\n    $('#mobileCode1').removeClass().addClass('text text-1 highlight1');\r\n    $(\"#mobileCode1_error\").hide();\r\n}\r\n// 次流程短信验证码获得失去事件\r\nfunction mobileCode1Blur() {\r\n    $('#mobileCode1').removeClass().addClass(\"text text-1\");\r\n    $(\"#mobileCode1_error\").hide();\r\n    $('#mobileCode1_succeed').removeClass('error-ico');\r\n}\r\n// 解绑按钮事件\r\nfunction unbind() {\r\n    $(\"#state\").val(\"unbind\");\r\n    $(\"#mobileCodeDiv\").show();\r\n    $(\"#rebind\").remove();\r\n    // sendmCode();\r\n    sendMobileCode();\r\n}\r\n// 次流程解绑按钮事件\r\nfunction unbind1() {\r\n    $(\"#state\").val(\"unbind\");\r\n    $(\"#mobileCodeDiv1\").show();\r\n    $(\"#rebind1\").remove();\r\n    sendMobileCode1();\r\n}\r\n// 用户协议\r\n$(function() {\r\n    $('#protocol').click(function() {\r\n        jQuery.jdThickBox({\r\n            type: \"text\",\r\n            title: \"京东用户注册协议\",\r\n            width: 922,\r\n            height: 450,\r\n            source: \"<div class=\\\" regist-2013\\\">\" + \"<div class=\\\"regist-bor\\\">\" + \"<div class=\\\"mc\\\">\" + \"<div id=\\\"protocol-con\\\">\" + \" <h4>京东用户注册协议</h4>\" +\r\n\r\n            \"    <p>\" + \"        本协议是您与京东网站（简称\\\"本站\\\"，网址：www.jd.com）所有者（以下简称为\\\"京东\\\"）之间就京东网站服务等相关事宜所订立的契约，请您仔细阅读本注册协议，您点击\\\"同意并继续\\\"按钮后，本协议即构成对双方有约束力的法律文件。</p>\" + \"    <h5> 第1条 本站服务条款的确认和接纳</h5>\" +\r\n\r\n            \"    <p>\" + \"        <strong>1.1</strong>本站的各项电子服务的所有权和运作权归京东所有。用户同意所有注册协议条款并完成注册程序，才能成为本站的正式用户。用户确认：本协议条款是处理双方权利义务的契约，始终有效，法律另有强制性规定或双方另有特别约定的，依其规定。\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>1.2</strong>用户点击同意本协议的，即视为用户确认自己具有享受本站服务、下单购物等相应的权利能力和行为能力，能够独立承担法律责任。</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>1.3</strong>如果您在18周岁以下，您只能在父母或监护人的监护参与下才能使用本站。</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>1.4</strong>京东保留在中华人民共和国大陆地区法施行之法律允许的范围内独自决定拒绝服务、关闭用户账户、清除或编辑内容或取消订单的权利。</p>\" + \"    <h5> 第2条 本站服务</h5>\" +\r\n\r\n            \"    <p>\" + \"        <strong>2.1</strong>京东通过互联网依法为用户提供互联网信息等服务，用户在完全同意本协议及本站规定的情况下，方有权使用本站的相关服务。</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>2.2</strong>用户必须自行准备如下设备和承担如下开支：（1）上网设备，包括并不限于电脑或者其他上网终端、调制解调器及其他必备的上网装置；（2）上网开支，包括并不限于网络接入费、上网设备租用费、手机流量费等。\" + \"    </p>\" + \"    <h5> 第3条 用户信息</h5>\" +\r\n\r\n            \"    <p>\" + \"        <strong>3.1</strong>用户应自行诚信向本站提供注册资料，用户同意其提供的注册资料真实、准确、完整、合法有效，用户注册资料如有变动的，应及时更新其注册资料。如果用户提供的注册资料不合法、不真实、不准确、不详尽的，用户需承担因此引起的相应责任及后果，并且京东保留终止用户使用京东各项服务的权利。\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>3.2</strong>用户在本站进行浏览、下单购物等活动时，涉及用户真实姓名/名称、通信地址、联系电话、电子邮箱等隐私信息的，本站将予以严格保密，除非得到用户的授权或法律另有规定，本站不会向外界披露用户隐私信息。\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>3.3</strong>用户注册成功后，将产生用户名和密码等账户信息，您可以根据本站规定改变您的密码。用户应谨慎合理的保存、使用其用户名和密码。用户若发现任何非法使用用户账号或存在安全漏洞的情况，请立即通知本站并向公安机关报案。\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>3.4</strong><strong>用户同意，京东拥有通过邮件、短信电话等形式，向在本站注册、购物用户、收货人发送订单信息、促销活动等告知信息的权利。</strong></p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>3.5</strong><strong>用户不得将在本站注册获得的账户借给他人使用，否则用户应承担由此产生的全部责任，并与实际使用人承担连带责任。</strong></p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>3.6</strong><strong>用户同意，京东有权使用用户的注册信息、用户名、密码等信息，登录进入用户的注册账户，进行证据保全，包括但不限于公证、见证等。</strong></p>\" + \"    <h5> 第4条 用户依法言行义务</h5>\" +\r\n\r\n            \"    <p> 本协议依据国家相关法律法规规章制定，用户同意严格遵守以下义务：</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（1）</strong>不得传输或发表：煽动抗拒、破坏宪法和法律、行政法规实施的言论，煽动颠覆国家政权，推翻社会主义制度的言论，煽动分裂国家、破坏国家统一的的言论，煽动民族仇恨、民族歧视、破坏民族团结的言论；\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（2）</strong>从中国大陆向境外传输资料信息时必须符合中国有关法规；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（3）</strong>不得利用本站从事洗钱、窃取商业秘密、窃取个人信息等违法犯罪活动；\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（4）</strong>不得干扰本站的正常运转，不得侵入本站及国家计算机信息系统；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（5）</strong>不得传输或发表任何违法犯罪的、骚扰性的、中伤他人的、辱骂性的、恐吓性的、伤害性的、庸俗的，淫秽的、不文明的等信息资料；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（6）</strong>不得传输或发表损害国家社会公共利益和涉及国家安全的信息资料或言论；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（7）</strong>不得教唆他人从事本条所禁止的行为；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（8）</strong>不得利用在本站注册的账户进行牟利性经营活动；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（9）</strong>不得发布任何侵犯他人著作权、商标权等知识产权或合法权利的内容；</p>\" +\r\n\r\n            \"    <p>\" + \"        用户应不时关注并遵守本站不时公布或修改的各类合法规则规定。</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>本站保有删除站内各类不符合法律政策或不真实的信息内容而无须通知用户的权利。</strong></p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>若用户未遵守以上规定的，本站有权作出独立判断并采取暂停或关闭用户帐号等措施。</strong>用户须对自己在网上的言论和行为承担法律责任。</p>\" + \"    <h5> 第5条 商品信息</h5>\" +\r\n\r\n            \"    <p>\" + \"        本站上的商品价格、数量、是否有货等商品信息随时都有可能发生变动，本站不作特别通知。由于网站上商品信息的数量极其庞大，虽然本站会尽最大努力保证您所浏览商品信息的准确性，但由于众所周知的互联网技术因素等客观原因存在，本站网页显示的信息可能会有一定的滞后性或差错，对此情形您知悉并理解；京东欢迎纠错，并会视情况给予纠错者一定的奖励。</p>\" +\r\n\r\n            \"    <p> 为表述便利，商品和服务简称为\\\"商品\\\"或\\\"货物\\\"。</p>\" + \"    <h5> 第6条 订单</h5>\" +\r\n\r\n            \"    <p>\" + \"        <strong>6.1</strong>在您下订单时，请您仔细确认所购商品的名称、价格、数量、型号、规格、尺寸、联系地址、电话、收货人等信息。<span>收货人与用户本人不一致的，收货人的行为和意思表示视为用户的行为和意思表示，用户应对收货人的行为及意思表示的法律后果承担连带责任。</span>\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>6.2</strong><strong>除法律另有强制性规定外，双方约定如下：本站上销售方展示的商品和价格等信息仅仅是要约邀请，您下单时须填写您希望购买的商品数量、价款及支付方式、收货人、联系方式、收货地址（合同履行地点）、合同履行方式等内容；系统生成的订单信息是计算机信息系统根据您填写的内容自动生成的数据，仅是您向销售方发出的合同要约；销售方收到您的订单信息后，只有在销售方将您在订单中订购的商品从仓库实际直接向您发出时（\" + \"        以商品出库为标志），方视为您与销售方之间就实际直接向您发出的商品建立了合同关系；如果您在一份订单里订购了多种商品并且销售方只给您发出了部分商品时，您与销售方之间仅就实际直接向您发出的商品建立了合同关系；只有在销售方实际直接向您发出了订单中订购的其他商品时，您和销售方之间就订单中该其他已实际直接向您发出的商品才成立合同关系。您可以随时登录您在本站注册的账户，查询您的订单状态。</strong>\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>6.3</strong><strong>由于市场变化及各种以合理商业努力难以控制的因素的影响，本站无法保证您提交的订单信息中希望购买的商品都会有货；如您拟购买的商品，发生缺货，您有权取消订单。</strong>\" + \"    </p>\" + \"    <h5> 第7条 配送</h5>\" +\r\n\r\n            \"    <p>\" + \"        <strong>7.1</strong>销售方将会把商品（货物）送到您所指定的收货地址，所有在本站上列出的送货时间为参考时间，参考时间的计算是根据库存状况、正常的处理过程和送货时间、送货地点的基础上估计得出的。</p>\" + \"\" + \"    <p>\" + \"        <strong>7.2</strong>因如下情况造成订单延迟或无法配送等，销售方不承担延迟配送的责任：</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（1）</strong>用户提供的信息错误、地址不详细等原因导致的；\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（2）</strong>货物送达后无人签收，导致无法配送或延迟配送的；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（3）</strong>情势变更因素导致的；</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>（4）</strong>不可抗力因素导致的，例如：自然灾害、交通戒严、突发战争等。</p>\" + \"    <h5> 第8条 所有权及知识产权条款</h5>\" +\r\n\r\n            \"    <p>\" + \"        <strong>8.1</strong><strong>用户一旦接受本协议，即表明该用户主动将其在任何时间段在本站发表的任何形式的信息内容（包括但不限于客户评价、客户咨询、各类话题文章等信息内容）的财产性权利等任何可转让的权利，如著作权财产权（包括并不限于：复制权、发行权、出租权、展览权、表演权、放映权、广播权、信息网络传播权、摄制权、改编权、翻译权、汇编权以及应当由著作权人享有的其他可转让权利），全部独家且不可撤销地转让给京东所有，用户同意京东有权就任何主体侵权而单独提起诉讼。</strong>\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>8.2</strong><strong>本协议已经构成《中华人民共和国著作权法》第二十五条（条文序号依照2011年版著作权法确定）及相关法律规定的著作财产权等权利转让书面协议，其效力及于用户在京东网站上发布的任何受著作权法保护的作品内容，无论该等内容形成于本协议订立前还是本协议订立后。</strong>\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>8.3</strong><strong>用户同意并已充分了解本协议的条款，承诺不将已发表于本站的信息，以任何形式发布或授权其它主体以任何方式使用（包括但限于在各类网站、媒体上使用）。</strong></p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>8.4</strong><strong>京东是本站的制作者,拥有此网站内容及资源的著作权等合法权利,受国家法律保护,有权不时地对本协议及本站的内容进行修改，并在本站张贴，无须另行通知用户。在法律允许的最大限度范围内，京东对本协议及本站内容拥有解释权。</strong>\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>8.5</strong><strong>除法律另有强制性规定外，未经京东明确的特别书面许可,任何单位或个人不得以任何方式非法地全部或部分复制、转载、引用、链接、抓取或以其他方式使用本站的信息内容，否则，京东有权追究其法律责任。</strong>\" + \"    </p>\" + \"    <p>\" + \"        <strong>8.6</strong>本站所刊登的资料信息（诸如文字、图表、标识、按钮图标、图像、声音文件片段、数字下载、数据编辑和软件），均是京东或其内容提供者的财产，受中国和国际版权法的保护。本站上所有内容的汇编是京东的排他财产，受中国和国际版权法的保护。本站上所有软件都是京东或其关联公司或其软件供应商的财产，受中国和国际版权法的保护。\" + \"    </p>\" + \"    <h5> 第9条 责任限制及不承诺担保</h5>\" + \"    <p>\" + \"        <strong>除非另有明确的书面说明,本站及其所包含的或以其它方式通过本站提供给您的全部信息、内容、材料、产品（包括软件）和服务，均是在\\\"按现状\\\"和\\\"按现有\\\"的基础上提供的。</strong></p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>除非另有明确的书面说明,京东不对本站的运营及其包含在本网站上的信息、内容、材料、产品（包括软件）或服务作任何形式的、明示或默示的声明或担保（根据中华人民共和国法律另有规定的以外）。</strong>\" + \"    </p>\" + \"    <p>\" + \"        <strong>京东不担保本站所包含的或以其它方式通过本站提供给您的全部信息、内容、材料、产品（包括软件）和服务、其服务器或从本站发出的电子信件、信息没有病毒或其他有害成分。</strong></p>\" + \"    <p>\" + \"        <strong>如因不可抗力或其它本站无法控制的原因使本站销售系统崩溃或无法正常使用导致网上交易无法完成或丢失有关的信息、记录等，京东会合理地尽力协助处理善后事宜。</strong></p>\" + \"    <h5> 第10条 协议更新及用户关注义务</h5>\" + \"    根据国家法律法规变化及网站运营需要，京东有权对本协议条款不时地进行修改，修改后的协议一旦被张贴在本站上即生效，并代替原来的协议。用户可随时登录查阅最新协议；<strong><em>用户有义务不时关注并阅读最新版的协议及网站公告。如用户不同意更新后的协议，可以且应立即停止接受京东网站依据本协议提供的服务；如用户继续使用本网站提供的服务的，即视为同意更新后的协议。京东建议您在使用本站之前阅读本协议及本站的公告。</em></strong>\" + \"    如果本协议中任何一条被视为废止、无效或因任何理由不可执行，该条应视为可分的且并不影响任何其余条款的有效性和可执行性。\" + \"    <h5> 第11条 法律管辖和适用</h5>\" + \"    本协议的订立、执行和解释及争议的解决均应适用在中华人民共和国大陆地区适用之有效法律（但不包括其冲突法规则）。 如发生本协议与适用之法律相抵触时，则这些条款将完全按法律规定重新解释，而其它有效条款继续有效。\" + \"    如缔约方就本协议内容或其执行发生任何争议，双方应尽力友好协商解决；协商不成时，任何一方均可向有管辖权的中华人民共和国大陆地区法院提起诉讼。\" + \"    <h5> 第12条 其他 </h5>\" + \"    <p>\" + \"        <strong>12.1</strong>京东网站所有者是指在政府部门依法许可或备案的京东网站经营主体。</p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>12.2</strong>京东尊重用户和消费者的合法权利，本协议及本网站上发布的各类规则、声明等其他内容，均是为了更好的、更加便利的为用户和消费者提供服务。本站欢迎用户和社会各界提出意见和建议，京东将虚心接受并适时修改本协议及本站上的各类规则。\" + \"    </p>\" +\r\n\r\n            \"    <p>\" + \"        <strong>12.3</strong><span>本协议内容中以黑体、加粗、下划线、斜体等方式显著标识的条款，请用户着重阅读。</span></p>\" + \"    <p>\" + \"        <strong>12.4</strong><span>您点击本协议下方的\\\"同意并继续\\\"按钮即视为您完全接受本协议，在点击之前请您再次确认已知悉并完全理解本协议的全部内容。</span></p>\" + \"</div>\" + \"      <div class=\\\"btnt\\\">\" + \"         <input  class=\\\"btn-img\\\"  type=\\''button\\\" value='同意并继续' onclick='protocolReg();'/>\" + \"     </div>\" + \"</div>\" + \"</div>\" + \"</div>\",\r\n            _autoReposi: true\r\n        });\r\n    });\r\n});"
  },
  {
    "path": "migo-portal/src/main/webapp/js/static/register/jdValidate.regSuccess.js",
    "content": "function isEmail(str) {\r\n    return new RegExp(\"^\\\\w+((-\\\\w+)|(\\\\.\\\\w+))*\\\\@[A-Za-z0-9]+((\\\\.|-)[A-Za-z0-9]+)*\\\\.[A-Za-z0-9]+$\").test(str);\r\n}\r\n//初始化邮件Url\r\nfunction initEmailLoginUrl(email) {\r\n    var loginUrl = getEmailLoginUrl(email);\r\n    if (loginUrl != null) {\r\n        $(\"#emailLogin\").attr(\"href\", loginUrl);\r\n        $(\"#emailLogin\").show();\r\n    } else {\r\n        $(\"#emailLogin\").hide();\r\n    }\r\n}\r\nvar emailLoginUrlArrar = ['@gmail.com=http://mail.google.com/',\r\n    '@163.com=http://mail.163.com/',\r\n    '@126.com=http://mail.126.com/',\r\n    '@hotmail.com=http://www.hotmail.com/',\r\n    '@sina.com=http://mail.sina.com/',\r\n    '@vip.sina.com=http://mail.sina.com/',\r\n    '@tom.com=http://mail.tom.com/',\r\n    '@qq.com=http://mail.qq.com/',\r\n    '@139.com=http://mail.10086.cn/',\r\n    '@msn.com=https://login.live.com/login.srf',\r\n    '@sohu.com=http://mail.sohu.com/'];\r\n\r\nfunction getEmailLoginUrl(email) {\r\n\r\n    email = email.toLowerCase();\r\n    if (email == \"\" || !isEmail(email)) {\r\n        return null;\r\n    }\r\n    var index = email.indexOf(\"@\");\r\n    var emailSurfix = email.substring(index, email.length);\r\n    for (var i = 0; i < emailLoginUrlArrar.length; i++) {\r\n        if (emailLoginUrlArrar[i].indexOf(emailSurfix) == 0) {\r\n            return emailLoginUrlArrar[i].split(\"=\")[1];\r\n        }\r\n    }\r\n    return null;\r\n}\r\n\r\nfunction getKey() {\r\n    return  $(\"#authKey\").val();\r\n}\r\n\r\n\r\nvar oldNick = $(\"#nicknameInput\").val();\r\n(function () {\r\n    var reviseNickname = $('.reg-nickname-revise'),\r\n        regNickname = $('#changeNickname');\r\n    var usernamePrompt = {\r\n        onFocus: \"4-20位字符，可由中文、英文、数字及“_”、“-”组成\",\r\n        succeed: \"\",\r\n        isNull: \"请输入用户昵称\",\r\n        error: {\r\n            beUsed: \"此昵称已被使用，请更换\",\r\n            badLength: \"昵称长度只能在4-20位字符之间\",\r\n            badFormat: \"昵称只能由中文、英文、数字及“_”、“-”组成\",\r\n            fullNumberName: \"昵称不能全为数字\",\r\n            bannedWord: \"昵称包含了非法词\"\r\n        }\r\n    }\r\n    regNickname.click(function () {\r\n        var self = $(this);\r\n        $(\"#username_error\").empty();\r\n        self.parent().hide();\r\n        reviseNickname.show().focus();\r\n        return false;\r\n    });\r\n    //focus\r\n    reviseNickname.find('.text').focus(function () {\r\n        $(this).addClass('hover');\r\n        if ($('#username_error').length <= 0) {\r\n            var div = $('<div id=\"username_error\"></div>');\r\n            $(this).parent().append(div);\r\n        }\r\n        var uError = $('#username_error');\r\n        uError.html(usernamePrompt.onFocus);\r\n        uError.addClass('focus').removeClass('error');\r\n    });\r\n    reviseNickname.find('.text').blur(function () {\r\n        $(this).removeClass('hover');\r\n        var uError = $('#username_error');\r\n        uError.html('');\r\n    });\r\n    //nickname save\r\n    reviseNickname.find('.j_save').click(function () {\r\n        nicknameParentNode = regNickname.parent();\r\n        var nickName = reviseNickname.find('.text').val();\r\n        var username = $.trim(nickName);\r\n        if (username == oldNick) {\r\n            $(\"#orgNick\").html(username);\r\n            nicknameParentNode.show();\r\n            reviseNickname.hide();\r\n            oldNick = username;\r\n            return;\r\n        }\r\n        var div = $('#username_error');\r\n        if (div.length <= 0) {\r\n            var div = $('<div id=\"username_error\"></div>');\r\n            $(this).parent().append(div);\r\n        }\r\n\r\n        if (!userCheck(username)) {\r\n            return;\r\n        }\r\n        div.html(\"<span style='color:#999'>检验中……</span>\");\r\n        $.getJSON(\"../validate/newNickname?nickname=\" + escape(username) + \"&k=\" + getKey() + \"&r=\" + Math.random(), function (date) {\r\n            if (date.success == 1) {\r\n                $(\"#orgNick\").html(username);\r\n                $(\"#safeNick\").html(date.safeNick);\r\n                nicknameParentNode.show();\r\n                reviseNickname.hide();\r\n                hello();\r\n                oldNick = username;\r\n            }\r\n            if (date.success == 0) {\r\n                div.html(usernamePrompt.error.beUsed.replace(\"{1}\", username));\r\n                return;\r\n            }\r\n            if (date.success == -5) {\r\n                div.html(usernamePrompt.error.bannedWord);\r\n                return;\r\n            }\r\n            if (date.success == -1) {\r\n                div.html(\"系统异常，请稍后再试\");\r\n                return;\r\n            }\r\n            if (date.success == -4) {\r\n                window.location.href = \"http://reg.jd.com/reg/expire\";\r\n                return;\r\n            }\r\n        })\r\n    });\r\n\r\n    function badFormat(str) {\r\n        return new RegExp(\"^[A-Za-z0-9_\\\\-\\\\u4e00-\\\\u9fa5]+$\").test(str);\r\n    }\r\n\r\n    // 用户名验证\r\n    function userCheck(username) {\r\n        var div = $('#username_error');\r\n        var reg = /^[A-Za-z0-9_\\\\-\\\\u4e00-\\\\u9fa5]+$/; //用户名\r\n        var fullNumber = /^[0-9]+$/ //数字\r\n        div.removeClass('focus').addClass('error');\r\n        if (username == \"\") {\r\n            div.html(usernamePrompt.isNull);\r\n            return false;\r\n        }\r\n        var len = betweenLength(username.replace(/[^\\x00-\\xff]/g, \"**\"), 4, 20);\r\n        if (!len) {\r\n            div.html(usernamePrompt.error.badLength);\r\n            return false;\r\n        }\r\n        else if (badFormat(username) == false) {\r\n            div.html(usernamePrompt.error.badFormat);\r\n            return false;\r\n        }\r\n        else if (fullNumber.test(username)) {\r\n            div.html(usernamePrompt.error.fullNumberName);\r\n            return false;\r\n        }\r\n        return true;\r\n    }\r\n\r\n    // max and min length\r\n    function betweenLength(str, _min, _max) {\r\n        return (str.length >= _min && str.length <= _max);\r\n    }\r\n\r\n    $('#emailStr').focus(function () {\r\n\r\n        $(\"#emailStr\").removeClass().addClass(\"text focus-color\");\r\n        $(\"#email_error\").html(\"\");\r\n        $(\"#email_focus\").html(\"完成验证后，您可以用该邮箱登录京东，找回密码。\");\r\n    });\r\n    $('#emailStr').blur(function () {\r\n        $(\"#email_focus\").html(\"\");\r\n        var content = $(\"#emailStr\").val();\r\n        if (content == \"请输入您常用的电子邮箱\") {\r\n            $(\"#emailStr\").removeClass().addClass(\"text\");\r\n        }\r\n    });\r\n    $('#sendEmail').click(function () {\r\n        sendEmail();\r\n    });\r\n    function strTrim(str) {\r\n        return str.replace(/(^\\s*)|(\\s*$)/g, \"\");\r\n    }\r\n\r\n    function mobileCodeError(content) {\r\n        $(\"#smsFocusMessage\").removeClass().addClass(\"sms-tips mobileError\").html(content);\r\n        $(\"#smsFocusDiv\").removeClass().addClass(\"item\");\r\n    }\r\n\r\n    $('#mobileCode').focus(function () {\r\n        $(\"#smsErrorDiv\").removeClass().addClass(\"item hide\");\r\n        $(\"#smsErrorMessage\").html(\"\");\r\n    });\r\n    // 手机验证\r\n    $('#moblie').bind('focus', function () {\r\n        $(\"#smsErrorDiv\").removeClass().addClass(\"item hide\");\r\n        $(\"#smsErrorMessage\").text(\"\");\r\n        $(\"#smsFocusDiv\").removeClass().addClass(\"item\");\r\n        $(\"#smsFocusMessage\").removeClass().addClass(\"sms-tips mobileFocus\").text(\"完成验证后，您可以用该手机号登录京东，找回密码。\");\r\n    });\r\n\r\n    $('#moblie').bind('blur', function () {\r\n        $(\"#smsFocusDiv\").removeClass().addClass(\"item hide\");\r\n        $(\"#smsFocusMessage\").text(\"\");\r\n    });\r\n    $('#send-sms').click(function () {\r\n        var mobile = $('#moblie').val();\r\n        if (mobile == \"\") {\r\n            mobileCodeError(\"请输入手机号\");\r\n            return;\r\n        }\r\n        mobile = strTrim(mobile);\r\n        var isMobile = new RegExp(\"^0?(13|15|17|18|14)[0-9]{9}$\").test(mobile);\r\n        if (!isMobile || mobile.length > 11) {\r\n            mobileCodeError(\"手机号码格式有误，请输入正确的手机号。\");\r\n            return;\r\n        }\r\n        var self = $(this);\r\n        var data = 'mobile=' + mobile + \"&k=\" + $(\"#k\").val() + '&r=' + Math.random();\r\n        $.ajax({\r\n            type: \"POST\",\r\n            url: \"../notify/regValidateCode\",\r\n            data: data,\r\n            success: function (result) {\r\n                if (result) {\r\n                    var obj = eval(result);\r\n                    if (obj.rs == 1 || obj.remain) {\r\n                        $(\"#smsErrorMessage\").text(\"\");\r\n                        $(\"#smsFocusDiv\").removeClass().addClass(\"item hide\");\r\n                        $(\"#smsErrorDiv\").removeClass().addClass(\"item hide\");\r\n                        if (obj.remain) {\r\n                            $(\"#successMes\").empty().html(obj.remain);\r\n                        } else {\r\n                            $(\"#successMes\").empty().html(\"验证码已发送，请查收短信。\");\r\n                        }\r\n                        $('#sms-box').show();\r\n                        $('#validateMobileDiv').removeClass().addClass(\"sms-btn\");\r\n                        $(\"#mobileCode\").empty();\r\n                        $('#moblie').attr(\"disabled\", \"disabled\");\r\n                        $('#send-sms').attr(\"disabled\", \"disabled\");\r\n                        var i = 120;\r\n                        self.removeClass().addClass('reg-btn1').val(i + '秒后重新获取');\r\n                        var timer = setInterval(function () {\r\n                            i--;\r\n                            self.val(i + '秒后重新获取');\r\n                            if (i <= 0) {\r\n                                clearInterval(timer);\r\n                                self.addClass('reg-btn2').val('获取短信验证码');\r\n                                $(\"#successMes\").empty();\r\n                                $('#moblie').attr(\"disabled\", \"\");\r\n                                $('#send-sms').attr(\"disabled\", \"\");\r\n\r\n                            }\r\n                        }, 1000);\r\n                    }\r\n                    if (obj.rs == -1) {\r\n                        mobileCodeError(\"手机号码格式有误，请输入正确的手机号。\");\r\n                    }\r\n                    if (obj.rs == -5) {\r\n                        window.location.href = \"http://reg.jd.com/reg/expire\";\r\n                        //mobileCodeError(\"链接已失效，您可以前往<a href='http://safe.jd.com/user/paymentpassword/safetyCenter.action'>安全中心</a>继续验证。\");\r\n                    }\r\n                    if (obj.rs == -7) {\r\n                        mobileCodeError(\"您已验证过手机，请到<a href='http://safe.jd.com/user/paymentpassword/safetyCenter.action' class='emreg-nickname'>账户安全</a>里查看。\");\r\n                    }\r\n                    if (obj.info) {\r\n                        mobileCodeError(obj.info);\r\n                    }\r\n                    if (obj.rs == -2) {\r\n                        mobileCodeError(\"网络繁忙，请稍后重新获取验证码\");\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    });\r\n\r\n    function clientError(content) {\r\n        $(\"#smsErrorMessage\").html(content);\r\n        $(\"#smsErrorDiv\").removeClass().addClass(\"item\");\r\n        $(\"#smsErrorDiv\").show();\r\n    }\r\n\r\n    var flg = false;\r\n    $('#toValidate').click(function () {\r\n        var mobile = $('#moblie').val();\r\n        mobile = $.trim(mobile);\r\n        if (mobile == \"\") {\r\n            clientError(\"请输入手机号\")\r\n            return false;\r\n        }\r\n        var mobileCode = $('#mobileCode').val();\r\n        mobileCode = $.trim(mobileCode);\r\n        if (mobileCode == \"\") {\r\n            clientError(\"请输入验证码\")\r\n            return false;\r\n        }\r\n        var k = $(\"#k\").val();\r\n        var data = 'mobile=' + mobile + \"&mobileCode=\" + mobileCode + \"&k=\" + k + '&r=' + Math.random();\r\n        $.getJSON(\"../reg/validateMobile?\" + data, function (result) {\r\n                if (result.success == 1) {\r\n                    window.location.href = \"http://reg.jd.com/reg/best?ret=\" + result.ret;\r\n                    return;\r\n                }\r\n                if (result.success == -1) {\r\n                    window.location.href = \"http://www.jd.com\"\r\n                    return;\r\n                }\r\n                if (result.success == -2) {\r\n                    clientError(\"验证码不正确或已过期\");\r\n                    return;\r\n                }\r\n                if (result.success == -3) {\r\n                    clientError(\"手机被占用\");\r\n                    return;\r\n                }\r\n                if (result.success == -4) {\r\n                    clientError(\"系统异常，请稍后再试\");\r\n                    return;\r\n                }\r\n                if (result.success == -5) {\r\n                    clientError(\"您已验证过手机，请到<a href='http://safe.jd.com/user/paymentpassword/safetyCenter.action' class='emreg-nickname'>账户安全</a>里查看。\");\r\n                    return;\r\n                }\r\n                if (result.success == -7) {\r\n                    window.location.href = \"http://reg.jd.com/reg/expire\";\r\n                    return;\r\n                }\r\n            }\r\n        );\r\n    });\r\n})();\r\n\r\n//休眠\r\nfunction sleep(numberMillis) {\r\n    var now = new Date();\r\n    var exitTime = now.getTime() + numberMillis;\r\n    while (true) {\r\n        now = new Date();\r\n        if (now.getTime() > exitTime)    return;\r\n    }\r\n}\r\n\r\n//重新发送邮件\r\nfunction reSendEmail(email, key) {\r\n    $('#reSendEmailSuccess').hide();\r\n    sleep(500);\r\n    $('#reSendEmailSuccess').removeClass().empty();\r\n    email = $.trim(email);\r\n    if (email == \"\" || (isEmail(email) == false)) {\r\n        $(\"#reSendEmailSuccess\").removeClass().addClass('check-email-error');\r\n        $(\"#reSendEmailSuccess\").html(\"请输入有效的邮箱地址\");\r\n        return;\r\n    }\r\n    var unbind = $(\"#state\").val();\r\n    $.getJSON(\"../notifyuser/email?email=\" + (email) + \"&k=\" + key + \"&state=\" + unbind+ \"&r=\" + Math.random(), function (result) {\r\n        if (result.success == 1) {\r\n            $('#reSendEmailSuccess').removeClass().empty().html('验证邮件已重新发送');\r\n            $('#reSendEmailSuccess').show();\r\n            initEmailLoginUrl(email);\r\n        }\r\n        if (result.success == 0) {\r\n            $('#reSendEmailSuccess').removeClass().addClass('error').empty().html('该邮箱已被使用，请更换其它邮箱');\r\n            $('#reSendEmailSuccess').show();\r\n        }\r\n        if (result.success == -1) {\r\n            $('#reSendEmailSuccess').removeClass().addClass('error').empty().html('系统异常，请稍后再试 ！');\r\n            $('#reSendEmailSuccess').show();\r\n        }\r\n        if (result.success == -2) {\r\n            $('#reSendEmailSuccess').removeClass().addClass('error').empty().html('您申请发送验证邮件的次数超限，请于24小时后重试！');\r\n            $('#reSendEmailSuccess').show();\r\n        }\r\n\r\n        if (result.success == -3) {\r\n            window.location.href = \"http://reg.jd.com/reg/expire\";\r\n            return;\r\n        }\r\n        if (result.success == -4) {\r\n            $('#reSendEmailSuccess').removeClass().addClass('error').empty().html('该邮箱已注册过京东');\r\n            $('#reSendEmailSuccess').show();\r\n            return;\r\n        }\r\n\r\n        if (result.success == -5) {\r\n            $('#reSendEmailSuccess').removeClass().addClass('error').empty().html('请输入有效的邮箱地址');\r\n            $('#reSendEmailSuccess').show();\r\n            return;\r\n        }\r\n        $('#reSendEmailSuccess').show();\r\n        //setTimeout(hideEmailSendResult, 5000);\r\n    });\r\n}"
  },
  {
    "path": "migo-sso/pom.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <modelVersion>4.0.0</modelVersion>\n\n    <parent>\n        <artifactId>manage</artifactId>\n        <groupId>com.migo</groupId>\n        <version>2.0-SNAPSHOT</version>\n    </parent>\n\n\n    <artifactId>sso</artifactId>\n    <version>2.0-SNAPSHOT</version>\n\n    <packaging>war</packaging>\n\n<dependencies>\n    <dependency>\n        <groupId>com.migo</groupId>\n        <artifactId>common</artifactId>\n        <version>2.0-SNAPSHOT</version>\n    </dependency>\n    <!-- 单元测试 -->\n    <dependency>\n        <groupId>junit</groupId>\n        <artifactId>junit</artifactId>\n        <scope>test</scope>\n    </dependency>\n\n    <dependency>\n        <groupId>org.springframework</groupId>\n        <artifactId>spring-webmvc</artifactId>\n    </dependency>\n    <dependency>\n        <groupId>org.springframework</groupId>\n        <artifactId>spring-jdbc</artifactId>\n    </dependency>\n    <dependency>\n        <groupId>org.springframework</groupId>\n        <artifactId>spring-aspects</artifactId>\n    </dependency>\n\n    <!-- Mybatis -->\n    <dependency>\n        <groupId>org.mybatis</groupId>\n        <artifactId>mybatis</artifactId>\n    </dependency>\n    <dependency>\n        <groupId>org.mybatis</groupId>\n        <artifactId>mybatis-spring</artifactId>\n    </dependency>\n    <!-- 通用Mapper -->\n    <dependency>\n        <groupId>tk.mybatis</groupId>\n        <artifactId>mapper</artifactId>\n    </dependency>\n    <dependency>\n        <groupId>com.github.jsqlparser</groupId>\n        <artifactId>jsqlparser</artifactId>\n    </dependency>\n    <!-- MySql -->\n    <dependency>\n        <groupId>mysql</groupId>\n        <artifactId>mysql-connector-java</artifactId>\n    </dependency>\n\n    <dependency>\n        <groupId>org.slf4j</groupId>\n        <artifactId>slf4j-log4j12</artifactId>\n    </dependency>\n\n    <!-- Jackson Json处理工具包 -->\n    <dependency>\n        <groupId>com.fasterxml.jackson.core</groupId>\n        <artifactId>jackson-databind</artifactId>\n    </dependency>\n\n    <!-- 连接池 -->\n    <dependency>\n        <groupId>com.alibaba</groupId>\n        <artifactId>druid</artifactId>\n    </dependency>\n    <!-- JSP相关 -->\n    <dependency>\n        <groupId>jstl</groupId>\n        <artifactId>jstl</artifactId>\n    </dependency>\n    <dependency>\n        <groupId>javax.servlet</groupId>\n        <artifactId>servlet-api</artifactId>\n        <scope>provided</scope>\n    </dependency>\n    <dependency>\n        <groupId>javax.servlet</groupId>\n        <artifactId>jsp-api</artifactId>\n        <scope>provided</scope>\n    </dependency>\n\n    <!-- Apache工具组件 -->\n    <dependency>\n        <groupId>org.apache.commons</groupId>\n        <artifactId>commons-lang3</artifactId>\n    </dependency>\n    <dependency>\n        <groupId>org.apache.commons</groupId>\n        <artifactId>commons-io</artifactId>\n    </dependency>\n    <!-- 数据校验 -->\n    <dependency>\n        <groupId>org.hibernate</groupId>\n        <artifactId>hibernate-validator</artifactId>\n        <version>5.2.4.Final</version>\n    </dependency>\n\n\n</dependencies>\n\n    <build>\n        <plugins>\n            <!-- 配置Tomcat插件 -->\n            <plugin>\n                <groupId>org.apache.tomcat.maven</groupId>\n                <artifactId>tomcat7-maven-plugin</artifactId>\n                <configuration>\n                    <port>8084</port>\n                    <path>/</path>\n                </configuration>\n            </plugin>\n            <plugin>\n                <groupId>org.apache.maven.plugins</groupId>\n                <artifactId>maven-compiler-plugin</artifactId>\n                <configuration>\n                    <source>1.8</source>\n                    <target>1.8</target>\n                </configuration>\n            </plugin>\n        </plugins>\n    </build>\n\n</project>"
  },
  {
    "path": "migo-sso/src/main/java/com/migo/sso/controller/SsoController.java",
    "content": "package com.migo.sso.controller;\r\n\r\nimport com.migo.sso.pojo.User;\r\nimport com.migo.sso.service.UserService;\r\nimport com.migo.utils.CookieUtils;\r\nimport org.apache.commons.lang3.StringUtils;\r\nimport org.slf4j.Logger;\r\nimport org.slf4j.LoggerFactory;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.http.HttpStatus;\r\nimport org.springframework.http.ResponseEntity;\r\nimport org.springframework.stereotype.Controller;\r\nimport org.springframework.validation.BindingResult;\r\nimport org.springframework.validation.ObjectError;\r\nimport org.springframework.validation.annotation.Validated;\r\nimport org.springframework.web.bind.annotation.*;\r\n\r\nimport javax.servlet.http.HttpServletRequest;\r\nimport javax.servlet.http.HttpServletResponse;\r\nimport java.util.ArrayList;\r\nimport java.util.HashMap;\r\nimport java.util.List;\r\nimport java.util.Map;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/20.\r\n */\r\n@Controller\r\n@RequestMapping(\"user\")\r\npublic class SsoController {\r\n\r\n    private static final Logger logger= LoggerFactory.getLogger(SsoController.class);\r\n\r\n    private static final String COOKIE_NAME = \"MG_TOKEN\";\r\n\r\n    @Autowired\r\n    private UserService userService;\r\n\r\n    @GetMapping(\"register\")\r\n    public String register(){\r\n        return \"register\";\r\n    }\r\n\r\n    @GetMapping(\"doLogin\")\r\n    public String doLogin(){\r\n        return \"login\";\r\n    }\r\n\r\n    @PostMapping(\"doLogin\")\r\n    @ResponseBody\r\n    public Map<String,Object> doLogin(@RequestParam(\"username\") String username,\r\n                                      @RequestParam(\"password\") String password,\r\n                                      HttpServletRequest request,\r\n                                      HttpServletResponse response){\r\n\r\n        Map<String,Object> map=new HashMap<>();\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"用户登录功能 username = {} ,password = {}\",username,password);\r\n            }\r\n            String token=this.userService.doLogin(username,password);\r\n            if (token == null) {\r\n                map.put(\"status\",400);\r\n            }else {\r\n                //登录成功将token写入到cookie中\r\n                map.put(\"status\",200);\r\n                CookieUtils.setCookie(request,response,COOKIE_NAME,token);\r\n            }\r\n        } catch (Exception e) {\r\n            logger.error(\"用户登录失败 username = {}\",username,e);\r\n            map.put(\"status\",500);\r\n        }\r\n        return map;\r\n    }\r\n\r\n    @GetMapping(\"/check/{param}/{type}\")\r\n    public ResponseEntity<Boolean> check(@PathVariable String param, @PathVariable Integer type){\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"检查数据是否可用 param = {} ,type = {}\",param,type);\r\n            }\r\n            Boolean bool=this.userService.check(param,type);\r\n            if (null==bool){\r\n                return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);\r\n            }\r\n            return ResponseEntity.ok(bool);\r\n        } catch (Exception e) {\r\n            logger.error(\"检查数据是否可用 出现异常\",e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n    }\r\n\r\n    @PostMapping(\"doRegister\")\r\n    @ResponseBody\r\n    public Map<String,Object> doRegister(@Validated User user, BindingResult bindingResult){\r\n        Map<String,Object> map=new HashMap<>();\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"注册用户 user = {}\", user);\r\n            }\r\n\r\n            if (bindingResult.hasErrors()){\r\n\r\n\r\n                List<String> megs=new ArrayList<>();\r\n                List<ObjectError> allErrors = bindingResult.getAllErrors();\r\n                //一种实现，两种写法，都可以使用\r\n                //  allErrors.stream().map(ObjectError::getDefaultMessage).forEach(megs::add);\r\n               // allErrors.stream().parallel().map(ObjectError::getDefaultMessage).forEach(megs::add);\r\n               // allErrors.forEach(objectError -> megs.add(objectError.getDefaultMessage()));\r\n                allErrors.stream().forEach(objectError->megs.add(objectError.getDefaultMessage()));\r\n                //List<String> collect = allErrors.stream().map(ObjectError::getDefaultMessage).collect(Collectors.toList());\r\n                //String collect = allErrors.stream().\r\n                //                map(ObjectError::getDefaultMessage).\r\n                //                collect(Collectors.joining(\"|\"));\r\n                map.put(\"status\",\"401\");\r\n                map.put(\"data\", StringUtils.join(megs,\"|\"));\r\n                return map;\r\n            }\r\n            Boolean bool=this.userService.doRegister(user);\r\n            if (bool){\r\n                map.put(\"status\",200);\r\n            }else {\r\n                map.put(\"status\",500);\r\n                map.put(\"data\",\"注册失败\");\r\n            }\r\n        } catch (Exception e) {\r\n           logger.error(\"注册失败 user = {} \",user,e);\r\n            map.put(\"status\",500);\r\n            map.put(\"data\",\"注册失败\");\r\n        }\r\n        return map;\r\n    }\r\n\r\n\r\n    @GetMapping(\"{token}\")\r\n    public ResponseEntity<User> queryByToken(@PathVariable(\"token\") String token){\r\n\r\n        try {\r\n            if (logger.isInfoEnabled()){\r\n                logger.info(\"根据token查询用户信息 token = {}\", token);\r\n            }\r\n            User user=this.userService.queryByToken(token);\r\n            if (null==user){\r\n                return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);\r\n            }\r\n            return ResponseEntity.ok(user);\r\n        } catch (Exception e) {\r\n            logger.error(\"根据token查询用户信息 出错 token = {}\", token,e);\r\n        }\r\n        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);\r\n    }\r\n\r\n}\r\n"
  },
  {
    "path": "migo-sso/src/main/java/com/migo/sso/mapper/UserMapper.java",
    "content": "package com.migo.sso.mapper;\r\n\r\nimport com.migo.sso.pojo.User;\r\nimport tk.mybatis.mapper.common.Mapper;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/25.\r\n */\r\n\r\npublic interface UserMapper extends Mapper<User> {\r\n}\r\n"
  },
  {
    "path": "migo-sso/src/main/java/com/migo/sso/pojo/User.java",
    "content": "package com.migo.sso.pojo;\r\n\r\nimport com.fasterxml.jackson.annotation.JsonIgnore;\r\nimport org.hibernate.validator.constraints.Email;\r\nimport org.hibernate.validator.constraints.Length;\r\n\r\nimport javax.persistence.GeneratedValue;\r\nimport javax.persistence.GenerationType;\r\nimport javax.persistence.Id;\r\nimport javax.persistence.Table;\r\nimport java.util.Date;\r\n\r\n@Table(name = \"tb_user\")\r\npublic class User {\r\n\r\n    @Id\r\n    @GeneratedValue(strategy = GenerationType.IDENTITY)\r\n    private Long id;\r\n\r\n    @Length(min = 6, max = 20, message = \"用户名的长度必须是6~20位之间.\")\r\n    private String username;\r\n\r\n    @JsonIgnore //将对象序列化时忽略该字段\r\n    @Length(min = 6, max = 20, message = \"密码的长度必须是6~20位之间.\")\r\n    private String password;\r\n\r\n    @Length(min = 11, max = 11, message = \"手机号的长度必须是11位.\")\r\n    private String phone;\r\n\r\n    @Email(message = \"邮箱格式不合法.\")\r\n    private String email;\r\n\r\n    private Date created;\r\n\r\n    private Date updated;\r\n\r\n    public Long getId() {\r\n        return id;\r\n    }\r\n\r\n    public void setId(Long id) {\r\n        this.id = id;\r\n    }\r\n\r\n    public String getUsername() {\r\n        return username;\r\n    }\r\n\r\n    public void setUsername(String username) {\r\n        this.username = username;\r\n    }\r\n\r\n    public String getPassword() {\r\n        return password;\r\n    }\r\n\r\n    public void setPassword(String password) {\r\n        this.password = password;\r\n    }\r\n\r\n    public String getPhone(String param) {\r\n        return phone;\r\n    }\r\n\r\n    public void setPhone(String phone) {\r\n        this.phone = phone;\r\n    }\r\n\r\n    public String getEmail() {\r\n        return email;\r\n    }\r\n\r\n    public void setEmail(String email) {\r\n        this.email = email;\r\n    }\r\n\r\n    public Date getCreated() {\r\n        return created;\r\n    }\r\n\r\n    public void setCreated(Date created) {\r\n        this.created = created;\r\n    }\r\n\r\n    public Date getUpdated() {\r\n        return updated;\r\n    }\r\n\r\n    public void setUpdated(Date updated) {\r\n        this.updated = updated;\r\n    }\r\n\r\n}\r\n"
  },
  {
    "path": "migo-sso/src/main/java/com/migo/sso/service/UserService.java",
    "content": "package com.migo.sso.service;\r\n\r\nimport com.migo.service.JedisClient;\r\nimport com.migo.sso.mapper.UserMapper;\r\nimport com.migo.sso.pojo.User;\r\nimport com.migo.utils.JsonUtils;\r\nimport org.apache.commons.codec.digest.DigestUtils;\r\nimport org.apache.commons.lang3.StringUtils;\r\nimport org.springframework.beans.factory.annotation.Autowired;\r\nimport org.springframework.stereotype.Service;\r\n\r\nimport java.util.Date;\r\n\r\n/**\r\n * Author  知秋\r\n * Created by kauw on 2016/12/25.\r\n */\r\n@Service\r\npublic class UserService {\r\n    @Autowired\r\n    private UserMapper userMapper;\r\n    @Autowired\r\n    private JedisClient jedisClient;\r\n\r\n    public Boolean check(String param, Integer type) {\r\n        User example = new User();\r\n        switch (type) {\r\n            case 1:\r\n                example.setUsername(param);\r\n                break;\r\n            case 2:\r\n                example.setPhone(param);\r\n                break;\r\n            case 3:\r\n                example.setEmail(param);\r\n                break;\r\n            default:\r\n                return null;\r\n        }\r\n\r\n\r\n        return null != this.userMapper.selectOne(example);\r\n    }\r\n\r\n    public Boolean doRegister(User user) {\r\n        user.setId(null);\r\n        Date date=new Date();\r\n        user.setCreated(date);\r\n        user.setUpdated(date);\r\n        //密码加密，md5已经不安全，故采用sha256\r\n        user.setPassword(DigestUtils.sha256Hex(user.getPassword()));\r\n        return this.userMapper.insert(user)==1;\r\n    }\r\n\r\n    public String doLogin(String username, String password) {\r\n        User user=new User();\r\n        user.setUsername(username);\r\n        User selectOne = this.userMapper.selectOne(user);\r\n        if (selectOne == null) {\r\n            return null;\r\n        }\r\n        if (!StringUtils.equals(DigestUtils.sha256Hex(password),selectOne.getPassword())){\r\n            return null;\r\n        }\r\n        //生成token\r\n        String token=DigestUtils.md5Hex(System.currentTimeMillis()+username);\r\n\r\n        this.jedisClient.set(\"REDIS_SESSION_TOKEN:\"+token, JsonUtils.objectToJson(selectOne));\r\n        return token;\r\n    }\r\n\r\n    public User queryByToken(String token) {\r\n\r\n        String tokenkey=\"REDIS_SESSION_TOKEN:\" + token;\r\n        //根据token取用户信息\r\n        String json = jedisClient.get(tokenkey);\r\n        if (StringUtils.isEmpty(json)){\r\n            return null;\r\n        }\r\n\r\n        //假如出错，为了不影响业务逻辑，故自己来处理异常\r\n        try {\r\n            this.jedisClient.expire(tokenkey,1800);\r\n            return JsonUtils.jsonToPojo(json,User.class);\r\n        } catch (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n        return null;\r\n    }\r\n}\r\n"
  },
  {
    "path": "migo-sso/src/main/resources/log4j.properties",
    "content": "log4j.rootLogger=DEBUG,A1\r\nlog4j.logger.com.migo = DEBUG\r\nlog4j.logger.org.mybatis = DEBUG\r\n\r\nlog4j.appender.A1=org.apache.log4j.ConsoleAppender\r\nlog4j.appender.A1.layout=org.apache.log4j.PatternLayout\r\nlog4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n"
  },
  {
    "path": "migo-sso/src/main/resources/properties/db.properties",
    "content": "jdbc.driver=com.mysql.jdbc.Driver\r\njdbc.url=jdbc:mysql://localhost:3306/migo2?characterEncoding=utf-8\r\njdbc.username=root\r\njdbc.password=123\r\n"
  },
  {
    "path": "migo-sso/src/main/resources/spring/applicationContext-dao.xml",
    "content": "<beans xmlns=\"http://www.springframework.org/schema/beans\"\r\n       xmlns:context=\"http://www.springframework.org/schema/context\" xmlns:p=\"http://www.springframework.org/schema/p\"\r\n       xmlns:aop=\"http://www.springframework.org/schema/aop\" xmlns:tx=\"http://www.springframework.org/schema/tx\"\r\n       xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n       xsi:schemaLocation=\"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd\r\n\thttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd\r\n\thttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd\r\n\thttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd\">\r\n    <!-- 数据库连接池 -->\r\n    <!-- 加载配置文件 -->\r\n    <context:property-placeholder location=\"classpath:properties/*.properties\" />\r\n    <!-- 数据库连接池 -->\r\n    <bean id=\"dataSource\" class=\"com.alibaba.druid.pool.DruidDataSource\"\r\n          destroy-method=\"close\">\r\n        <property name=\"url\" value=\"${jdbc.url}\" />\r\n        <property name=\"username\" value=\"${jdbc.username}\" />\r\n        <property name=\"password\" value=\"${jdbc.password}\" />\r\n        <property name=\"driverClassName\" value=\"${jdbc.driver}\" />\r\n        <property name=\"maxActive\" value=\"10\" />\r\n        <property name=\"minIdle\" value=\"5\" />\r\n    </bean>\r\n    <!-- 配置mybatis的SessionFactory -->\r\n    <bean id=\"sqlSessionFactory\" class=\"org.mybatis.spring.SqlSessionFactoryBean\">\r\n        <property name=\"dataSource\" ref=\"dataSource\"/>\r\n        <!--<property name=\"mapperLocations\" value=\"classpath:/mybatis/mappers/**/*.xml\"/>-->\r\n        <property name=\"typeAliasesPackage\" value=\"com.migo.sso.pojo\"/>\r\n\r\n\r\n    </bean>\r\n\r\n    <!-- 自动扫描注册Mybatis mapper -->\r\n    <bean class=\"tk.mybatis.spring.mapper.MapperScannerConfigurer\">\r\n        <property name=\"basePackage\" value=\"com.migo.sso.mapper\"/>\r\n        <property name=\"sqlSessionFactoryBeanName\" value=\"sqlSessionFactory\"/>\r\n        <!--下面这个配置可以不写，默认就是这个-->\r\n        <property name=\"properties\">\r\n            <value>\r\n                mappers=tk.mybatis.mapper.common.Mapper\r\n            </value>\r\n        </property>\r\n    </bean>\r\n\r\n\r\n</beans>\r\n"
  },
  {
    "path": "migo-sso/src/main/resources/spring/applicationContext-service.xml",
    "content": "<beans xmlns=\"http://www.springframework.org/schema/beans\"\r\n       xmlns:context=\"http://www.springframework.org/schema/context\" xmlns:p=\"http://www.springframework.org/schema/p\"\r\n       xmlns:aop=\"http://www.springframework.org/schema/aop\" xmlns:tx=\"http://www.springframework.org/schema/tx\"\r\n       xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n       xsi:schemaLocation=\"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd\r\n\thttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd\r\n\thttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd\r\n\thttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd\">\r\n    <!-- 配置包扫描器 -->\r\n    <context:component-scan base-package=\"com.migo.sso.service\"/>\r\n    <!-- 配置redis客户端单机版 -->\r\n    <bean id=\"jedisPool\" class=\"redis.clients.jedis.JedisPool\">\r\n        <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n        <constructor-arg name=\"port\" value=\"6379\"/>\r\n    </bean>\r\n    <!-- 配置redis客户端实现类 -->\r\n    <bean id=\"jedisClientSingle\" class=\"com.migo.service.impl.JedisClientSingle\"/>\r\n    <!-- 配置redis客户端集群版 -->\r\n    <!--<bean id=\"jedisCluster\" class=\"redis.clients.jedis.JedisCluster\">\r\n       <constructor-arg>\r\n           <set>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7001\"/>\r\n               </bean>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7002\"/>\r\n               </bean>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7003\"/>\r\n               </bean>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7004\"/>\r\n               </bean>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7005\"/>\r\n               </bean>\r\n               <bean class=\"redis.clients.jedis.HostAndPort\">\r\n                   <constructor-arg name=\"host\" value=\"192.168.42.131\"/>\r\n                   <constructor-arg name=\"port\" value=\"7006\"/>\r\n               </bean>\r\n           </set>\r\n       </constructor-arg>\r\n   </bean>\r\n   <bean id=\"jedisClientCluster\" class=\"com.migo.service.impl.JedisClientCluster\"/>-->\r\n\r\n</beans>"
  },
  {
    "path": "migo-sso/src/main/resources/spring/applicationContext-trans.xml",
    "content": "<beans xmlns=\"http://www.springframework.org/schema/beans\"\r\n       xmlns:context=\"http://www.springframework.org/schema/context\" xmlns:p=\"http://www.springframework.org/schema/p\"\r\n       xmlns:aop=\"http://www.springframework.org/schema/aop\" xmlns:tx=\"http://www.springframework.org/schema/tx\"\r\n       xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n       xsi:schemaLocation=\"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd\r\n\thttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd\r\n\thttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd\r\n\thttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd\">\r\n\r\n    <!-- 定义事务管理器 -->\r\n    <bean id=\"transactionManager\"\r\n          class=\"org.springframework.jdbc.datasource.DataSourceTransactionManager\">\r\n        <property name=\"dataSource\" ref=\"dataSource\" />\r\n    </bean>\r\n\r\n    <!-- 定义事务策略 -->\r\n    <tx:advice id=\"txAdvice\" transaction-manager=\"transactionManager\">\r\n        <tx:attributes>\r\n            <!--所有以query开头的方法都是只读的 -->\r\n            <tx:method name=\"query*\" read-only=\"true\" />\r\n            <!--其他方法使用默认事务策略 -->\r\n            <tx:method name=\"*\" />\r\n        </tx:attributes>\r\n    </tx:advice>\r\n    <!-- 切面 -->\r\n    <aop:config>\r\n        <aop:advisor advice-ref=\"txAdvice\"\r\n                     pointcut=\"execution(* com.migo.sso.service.*.*(..))\" />\r\n    </aop:config>\r\n\r\n\r\n\r\n</beans>\r\n"
  },
  {
    "path": "migo-sso/src/main/resources/spring/migo-sso-mvc.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<beans xmlns=\"http://www.springframework.org/schema/beans\"\r\n       xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:p=\"http://www.springframework.org/schema/p\"\r\n       xmlns:context=\"http://www.springframework.org/schema/context\"\r\n       xmlns:mvc=\"http://www.springframework.org/schema/mvc\"\r\n       xsi:schemaLocation=\"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd\r\n        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd\r\n        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd\">\r\n\r\n    <context:component-scan base-package=\"com.migo.sso.controller\" />\r\n    <!-- 加载配置文件 -->\r\n    <context:property-placeholder location=\"classpath:properties/*.properties\" />\r\n    <mvc:annotation-driven>\r\n        <mvc:message-converters>\r\n            <bean class=\"com.migo.messageconverter.CallbackMappingJackson2HttpMessageConverter\">\r\n                <property name=\"callbackName\" value=\"callback\"/>\r\n            </bean>\r\n        </mvc:message-converters>\r\n    </mvc:annotation-driven>\r\n    <bean\r\n            class=\"org.springframework.web.servlet.view.InternalResourceViewResolver\">\r\n        <property name=\"prefix\" value=\"/WEB-INF/views/\" />\r\n        <property name=\"suffix\" value=\".jsp\" />\r\n    </bean>\r\n\r\n</beans>\r\n"
  },
  {
    "path": "migo-sso/src/main/webapp/WEB-INF/commons/footer-links.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\"\r\n    pageEncoding=\"UTF-8\"%>\r\n<div id=\"footer-2013\">\r\n\t<div class=\"links\"><a href=\"http://www.jd.com/intro/about.aspx\" target=\"_blank\" rel=\"nofollow\">关于我们</a>|<a href=\"http://www.jd.com/contact/\" target=\"_blank\" rel=\"nofollow\">联系我们</a>|<a href=\"http://zhaopin.jd.com/\" target=\"_blank\" rel=\"nofollow\">人才招聘</a>|<a href=\"http://www.jd.com/contact/joinin.aspx\" target=\"_blank\" rel=\"nofollow\">商家入驻</a>|<a href=\"http://jzt.jd.com\" target=\"_blank\" rel=\"nofollow\">营销中心</a>|<a href=\"http://app.jd.com/\" target=\"_blank\" rel=\"nofollow\">手机咪购</a>|<a href=\"http://club.jd.com/links.aspx\" target=\"_blank\">友情链接</a>|<a href=\"http://media.jd.com/\" target=\"_blank\">销售联盟</a>|<a target=\"_blank\" href=\"http://club.jd.com/\">咪购社区</a>|<a target=\"_blank\" href=\"http://gongyi.jd.com\">咪购公益</a>|<a target=\"_blank\" href=\"http://en.jd.com/\">English Site</a></div>\r\n</div>"
  },
  {
    "path": "migo-sso/src/main/webapp/WEB-INF/commons/footer.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\"\r\n    pageEncoding=\"UTF-8\"%>\r\n<div class=\"w\" clstag=\"homepage|keycount|home2013|37a\">\r\n\t<div id=\"service-2013\">\r\n\t\t<dl class=\"fore1\">\r\n\t\t\t<dt><b></b><strong>购物指南</strong></dt>\r\n\t\t\t<dd>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-56.html\" target=\"_blank\" rel=\"nofollow\">购物流程</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-57.html\" target=\"_blank\" rel=\"nofollow\">会员介绍</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-181.html\" target=\"_blank\" rel=\"nofollow\">团购/机票</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-61.html\" target=\"_blank\" rel=\"nofollow\">常见问题</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-63.html\" target=\"_blank\" rel=\"nofollow\">大家电</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/index.html\" target=\"_blank\" rel=\"nofollow\">联系客服</a></div>\r\n\t\t\t</dd>\r\n\t\t</dl>\r\n\t\t<dl class=\"fore2\">\t\t\r\n\t\t\t<dt><b></b><strong>配送方式</strong></dt>\r\n\t\t\t<dd>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-64.html\" target=\"_blank\" rel=\"nofollow\">上门自提</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-360.html\" target=\"_blank\" rel=\"nofollow\">211限时达</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/distribution-768.html\" target=\"_blank\" rel=\"nofollow\">配送服务查询</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-892.html#help2215\" target=\"_blank\" rel=\"nofollow\">配送费收取标准</a></div>\r\n\t\t\t\t<div><a href=\"http://market.jd.com/giftcard/index.html#one5\" target=\"_blank\" rel=\"nofollow\">如何送礼</a></div>\r\n\t\t\t\t<div><a href=\"http://en.jd.com/chinese.html\" target=\"_blank\">海外配送</a></div>\r\n\t\t\t</dd>\r\n\t\t</dl>\r\n\t\t<dl class=\"fore3\">\r\n\t\t\t<dt><b></b><strong>支付方式</strong></dt>\r\n\t\t\t<dd>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-67.html\" target=\"_blank\" rel=\"nofollow\">货到付款</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-68.html\" target=\"_blank\" rel=\"nofollow\">在线支付</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-71.html\" target=\"_blank\" rel=\"nofollow\">分期付款</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-69.html\" target=\"_blank\" rel=\"nofollow\">邮局汇款</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-70.html\" target=\"_blank\" rel=\"nofollow\">公司转账</a></div>\r\n\t\t\t</dd>\r\n\t\t</dl>\r\n\t\t<dl class=\"fore4\">\t\t\r\n\t\t\t<dt><b></b><strong>售后服务</strong></dt>\r\n\t\t\t<dd>\r\n\t\t\t\t<div><a href=\"http://myjd.jd.com/afs/help/afshelp.action\" target=\"_blank\" rel=\"nofollow\">售后政策</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-99.html\" target=\"_blank\" rel=\"nofollow\">价格保护</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-100.html\" target=\"_blank\" rel=\"nofollow\">退款说明</a></div>\r\n\t\t\t\t<div><a href=\"http://myjd.jd.com/repair/repairs.action\" target=\"_blank\" rel=\"nofollow\">返修/退换货</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-881.html\" target=\"_blank\" rel=\"nofollow\">取消订单</a></div>\r\n\t\t\t</dd>\r\n\t\t</dl>\r\n\t\t<dl class=\"fore5\">\r\n\t\t\t<dt><b></b><strong>特色服务</strong></dt>\r\n\t\t\t<dd>\t\t\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-79.html\" target=\"_blank\">夺宝岛</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-86.html\" target=\"_blank\">DIY装机</a></div>\r\n\t\t\t\t<div><a href=\"http://fuwu.jd.com/\" target=\"_blank\" rel=\"nofollow\">延保服务</a></div>\r\n\t\t\t\t<div><a href=\"http://giftcard.jd.com/market/index.action\" target=\"_blank\" rel=\"nofollow\">咪购E卡</a></div>\r\n\t\t\t\t<div><a href=\"http://help.jd.com/help/question-91.html\" target=\"_blank\" rel=\"nofollow\">节能补贴</a></div>\r\n\t\t\t\t<div><a href=\"http://mobile.jd.com/\" target=\"_blank\" rel=\"nofollow\">咪购通信</a></div>\r\n\t\t\t</dd>\r\n\t\t</dl>\r\n\t\t<div class=\"fr\">\r\n\t\t\t<div class=\"sm\" id=\"branch-office\">\r\n\t\t\t\t<div class=\"smt\">\r\n\t\t\t\t\t<h3>咪购自营覆盖区县</h3>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"smc\">\r\n\t\t\t\t\t<p>咪购已向全国1859个区县提供自营配送服务，支持货到付款、POS机刷卡和售后上门服务。</p>\r\n\t\t\t\t\t<p class=\"ar\"><a href=\"http://help.jd.com/help/distribution-768.html\" target=\"_blank\">查看详情&nbsp;></a></p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<span class=\"clr\"></span>\r\n\t</div>\r\n</div>\r\n<div class=\"w\" clstag=\"homepage|keycount|home2013|38a\">\r\n\t<jsp:include page=\"footer-links.jsp\"></jsp:include>\r\n</div>\r\n<script type=\"text/javascript\" src=\"/js/jquery-1.2.6.min.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/jquery-extend.js\"></script>\r\n<script type=\"text/javascript\" src=\"/js/lib-v1.js\" charset=\"utf-8\"></script>\r\n<script type=\"text/javascript\" src=\"/js/migo.js\" charset=\"utf-8\"></script>\r\n<script type=\"text/javascript\"> (function(){\r\nvar A=\"<strong>热门搜索：</strong><a href='http://sale.jd.com/act/OfHQzJ2GLoYlmTIu.html' target='_blank' style='color:#ff0000' clstag='homepage|keycount|home2013|03b1'>校园之星</a><a href='http://sale.jd.com/act/aEBHqLFMfVzDZUvu.html' target='_blank'>办公打印</a><a href='http://www.jd.com/pinpai/878-12516.html' target='_blank'>美菱冰箱</a><a href='http://sale.jd.com/act/nuzKb6ZiYL.html' target='_blank'>无肉不欢</a><a href='http://sale.jd.com/act/ESvhtcAJNbaj.html' target='_blank'>万件好货</a><a href='http://sale.jd.com/act/nAqiWgU34frQolt.html' target='_blank'>iPhone6</a><a href='http://sale.jd.com/act/p0CmUlEFPHLX.html' target='_blank'>哈利波特</a><a href='http://sale.jd.com/act/FstSdb2vCOLa8BRi.html' target='_blank'>美模接驾</a>\";\r\nvar B=[\"java\",\"apple\",\"LG G3\",\"天梭\",\"保温杯\",\"三个爸爸\"];\r\nB=pageConfig.FN_GetRandomData(B);\r\n$(\"#hotwords\").html(A);\r\nvar _searchValue = \"${query}\";\r\nif(_searchValue.length == 0){\r\n\t_searchValue = B;\r\n}\r\n$(\"#key\").val(_searchValue).bind(\"focus\",function(){if (this.value==B){this.value=\"\";this.style.color=\"#333\"}}).bind(\"blur\",function(){if (!this.value){this.value=B;this.style.color=\"#999\"}});\r\n})();\r\n</script>"
  },
  {
    "path": "migo-sso/src/main/webapp/WEB-INF/commons/header.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\"\r\n    pageEncoding=\"UTF-8\"%>\r\n<script type=\"text/javascript\" src=\"/js/base-v1.js\" charset=\"utf-8\"></script>\r\n<!--shortcut start-->\r\n<jsp:include page=\"../commons/shortcut.jsp\" />\r\n<!--shortcut end-->\r\n<div id=\"o-header-2013\">\r\n\t<div class=\"w\" id=\"header-2013\">\r\n\t\t<div id=\"logo-2013\" class=\"ld\"><a href=\"http://www.migo.com/\" hidefocus=\"true\" clstag=\"homepage|keycount|home2013|02a\"><b></b><img src=\"/images/migo-logo.gif\" width=\"270\" height=\"60\" alt=\"咪购\"></a></div>\r\n\t\t<!--logo end-->\r\n\t\t<div id=\"search-2013\">\r\n\t\t\t<div class=\"i-search ld\">\r\n\t\t\t\t<ul id=\"shelper\" class=\"hide\">\r\n\t\t\t\t</ul>\r\n\t\t\t\t<div class=\"form\">\r\n\t\t\t\t\t<input type=\"text\" class=\"text\" accesskey=\"s\" id=\"key\" autocomplete=\"off\" onkeydown=\"javascript:if(event.keyCode==13) search('key');\">\r\n\t\t\t\t\t<input type=\"button\" value=\"搜索\" class=\"button\" onclick=\"search('key');return false;\" clstag=\"homepage|keycount|home2013|03a\">\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div id=\"hotwords\" clstag=\"homepage|keycount|home2013|03b\"></div>\r\n\t\t</div>\r\n\t\t<!--search end-->\r\n\t\t<div id=\"my360buy-2013\">\r\n\t\t\t<dl>\r\n\t\t\t\t<dt class=\"ld\"><s></s><a href=\"http://home.jd.com/\" clstag=\"homepage|keycount|home2012|04a\">我的咪购</a><b></b></dt>\r\n\t\t\t\t<dd>\r\n\t\t\t\t\t<div class=\"loading-style1\"><b></b>加载中，请稍候...</div>\r\n\t\t\t\t</dd>\r\n\t\t\t</dl>\r\n\t\t</div>\r\n\t\t<!--my360buy end-->\r\n\t\t<div id=\"settleup-2013\" clstag=\"homepage|keycount|home2013|05a\">\r\n\t\t\t<dl>\r\n\t\t\t\t<dt class=\"ld\"><s></s><span class=\"shopping\"><span id=\"shopping-amount\"></span></span><a href=\"http://www.migo.com/cart.html\" id=\"settleup-url\">去购物车结算</a> <b></b> </dt>\r\n<!-- \t\t\t\t<dd>\r\n\t\t\t\t\t<div class=\"prompt\">\r\n\t\t\t\t\t\t<div class=\"loading-style1\"><b></b>加载中，请稍候...</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</dd>\r\n -->\t\t\t</dl>\r\n\t\t</div>\r\n\t\t<!--settleup end-->\r\n\t</div>\r\n\t<!--header end-->\r\n\t<div class=\"w\">\r\n\t\t<div id=\"nav-2013\">\r\n\t\t\t<div id=\"categorys-2013\" class=\"categorys-2014\">\r\n\t\t\t\t<div class=\"mt ld\">\r\n\t\t\t\t\t<h2><a href=\"http://www.jd.com/allSort.aspx\" clstag=\"homepage|keycount|home2013|06a\">全部商品分类<b></b></a></h2>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div id=\"_JD_ALLSORT\" class=\"mc\">\r\n\t\t\t\t\t<div class=\"item fore1\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/1.html\">图书、音像、电子书刊</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore2\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/74.html\">家用电器</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore3\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/161.html\">电脑、办公</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore4\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/249.html\">个护化妆</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore5\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/290.html\">钟表</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore6\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/296.html\">母婴</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore7\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/378.html\">食品饮料、保健食品</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore8\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/438.html\">汽车用品</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore9\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/495.html\">玩具乐器</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore10\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/558.html\">手机</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore11\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/580.html\">数码</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore12\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/633.html\">家居家装</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore13\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/699.html\">厨具</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"item fore14\">\r\n\t\t\t\t\t\t<span data-split=\"1\"><h3>\r\n\t\t\t\t\t\t\t\t<a href=\"/products/749.html\">服饰内衣</a>\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<s></s></span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"extra\">\r\n\t\t\t\t\t\t<a {if=\"\" pageconfig.ishome}clstag=\"homepage|keycount|home2013|0614a\"\r\n\t\t\t\t\t\t\t{=\"\" if}=\"\" href=\"http://www.jd.com/allSort.aspx\">全部商品分类</a>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div id=\"treasure\" clstag=\"homepage|keycount|home2013|08a\"></div>\r\n\t\t\t\t<ul id=\"navitems-2013\">\r\n\t\t\t\t\t<li class=\"fore1\" id=\"nav-home\" clstag=\"homepage|keycount|home2013|07a\"><a href=\"http://www.migo.com/\">首页</a></li>\r\n\t\t\t\t\t<li class=\"fore2\" id=\"nav-fashion\" clstag=\"homepage|keycount|home2013|07b\"><a href=\"http://fashion.jd.com/\">服装城</a></li>\r\n\t\t\t\t\t<li class=\"fore3\" id=\"nav-chaoshi\" clstag=\"homepage|keycount|home2013|07c\"><a href=\"http://channel.jd.com/chaoshi.html\">食品</a></li>\r\n\t\t\t\t\t<li class=\"fore4\" id=\"nav-tuan\" clstag=\"homepage|keycount|home2013|07d\"><a href=\"http://tuan.jd.com/\" target=\"_blank\">团购</a></li>\r\n\t\t\t\t\t<li class=\"fore5\" id=\"nav-auction\" clstag=\"homepage|keycount|home2013|07e\"><a href=\"http://auction.jd.com/\">夺宝岛</a></li>\r\n\t\t\t\t\t<li class=\"fore6\" id=\"nav-shan\" clstag=\"homepage|keycount|home2013|07f\"><a href=\"http://red.jd.com/\" target=\"_blank\">闪购</a></li>\r\n\t\t\t\t\t<li class=\"fore7\" id=\"nav-jinrong\" clstag=\"homepage|keycount|home2013|07g1\"><a href=\"http://jr.jd.com/\" target=\"_blank\">金融</a></li>\r\n\t\t\t\t</ul>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<script type=\"text/javascript\">\r\n(function(){if(pageConfig.navId){var object=document.getElementById(\"nav-\"+pageConfig.navId);if(object)object.className+=\" curr\";}})();\r\n</script>"
  },
  {
    "path": "migo-sso/src/main/webapp/WEB-INF/commons/shortcut.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<div id=\"shortcut-2013\">\r\n\t<div class=\"w\">\r\n\t\t<ul class=\"fl lh\">\r\n\t\t\t<li class=\"fore1 ld\" clstag=\"homepage|keycount|home2013|01a\"><b></b><a href=\"javascript:addToFavorite()\" rel=\"nofollow\">收藏咪购</a></li>\r\n\t\t</ul>\r\n\t\t<ul class=\"fr lh\">\r\n\t\t\t<li class=\"fore1\" id=\"loginbar\" clstag=\"homepage|keycount|home2013|01b\">您好！欢迎来到咪购！<a href=\"javascript:login()\">[登录]</a>&nbsp;<a href=\"javascript:regist()\">[免费注册]</a></li>\r\n\t\t\t<li class=\"fore2 ld\" clstag=\"homepage|keycount|home2013|01c\">\r\n\t\t\t\t<s></s>\r\n\t\t\t\t<a href=\"http://jd2008.jd.com/JdHome/OrderList.aspx\" rel=\"nofollow\">我的订单</a>\r\n\t\t\t</li>\r\n\t\t\t<li class=\"fore2-1 ld\" id=\"jd-vip\">\r\n\t\t\t\t<s></s>\r\n\t\t\t\t<a target=\"_blank\" rel=\"nofollow\" href=\"http://vip.jd.com\">会员俱乐部</a>\r\n\t\t\t</li>\r\n\t\t\t<li class=\"fore3 ld menu\" id=\"app-jd\" data-widget=\"dropdown\" clstag=\"homepage|keycount|home2013|01d\">\r\n\t\t\t\t<s></s><i></i><span class=\"outline\"></span><span class=\"blank\"></span>\r\n\t\t\t\t<a href=\"http://app.jd.com/\" target=\"_blank\">手机咪购</a><b></b>\r\n\t\t\t</li>\r\n\t\t\t<li class=\"fore4 ld menu\" id=\"biz-service\" data-widget=\"dropdown\" clstag=\"homepage|keycount|home2013|01e\">\r\n\t\t\t\t<s></s>\r\n\t\t\t\t<span class=\"outline\"></span>\r\n\t\t\t\t<span class=\"blank\"></span>\r\n\t\t\t\t客户服务\r\n\t\t\t\t<b></b>\r\n\t\t\t\t<div class=\"dd\">\r\n\t\t\t\t\t<div><a href=\"http://help.jd.com/index.html\" target=\"_blank\">帮助中心</a></div>\r\n\t\t\t\t\t<div><a href=\"http://myjd.jd.com/repair/orderlist.action\" target=\"_blank\" rel=\"nofollow\">售后服务</a></div>\r\n\t\t\t\t\t<div><a href=\"http://chat.jd.com/jdchat/custom.action\" target=\"_blank\" rel=\"nofollow\">在线客服</a></div>\r\n\t\t\t\t\t<div><a href=\"http://myjd.jd.com/opinion/list.action\" target=\"_blank\" rel=\"nofollow\">投诉中心</a></div>\r\n\t\t\t\t\t<div><a href=\"http://www.jd.com/contact/service.html\" target=\"_blank\">客服邮箱</a></div>\r\n\t\t\t\t</div>\r\n\t\t\t</li>\r\n\t\t\t<li class=\"fore5 ld menu\" id=\"site-nav\" data-widget=\"dropdown\" clstag=\"homepage|keycount|home2013|01f\">\r\n\t\t\t\t<s></s>\r\n\t\t\t\t<span class=\"outline\"></span>\r\n\t\t\t\t<span class=\"blank\"></span>\r\n\t\t\t\t网站导航\r\n\t\t\t\t<b></b>\r\n\t\t\t\t<div class=\"dd lh\">\r\n\t\t\t\t\t<dl class=\"item fore1\">\r\n\t\t\t\t\t\t<dt>特色栏目</dt>\r\n\t\t\t\t\t\t<dd>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://mobile.jd.com/index.do\">咪购通信</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://jdstar.jd.com/\">校园之星</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://my.jd.com/personal/guess.html\">为我推荐</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://shipingou.jd.com/\">视频购物</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://club.jd.com/\">咪购社区</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://read.jd.com/\">在线读书</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://diy.jd.com/\">装机大师</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://giftcard.jd.com/market/index.action\">咪购E卡</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://channel.jd.com/jiazhuang.html\">家装城</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://dapeigou.jd.com/\">搭配购</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://xihuan.jd.com/\">我喜欢</a></div>\r\n\t\t\t\t\t\t</dd>\r\n\t\t\t\t\t</dl>\r\n\t\t\t\t\t<dl class=\"item fore2\">\r\n\t\t\t\t\t\t<dt>企业服务</dt>\r\n\t\t\t\t\t\t<dd>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://giftcard.jd.com/company/index\">企业客户</a></div>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://sale.jd.com/p10997.html\">办公直通车</a></div>\r\n\t\t\t\t\t\t</dd>\r\n\t\t\t\t\t</dl>\r\n\t\t\t\t\t<dl class=\"item fore3\">\r\n\t\t\t\t\t\t<dt>旗下网站</dt>\r\n\t\t\t\t\t\t<dd>\r\n\t\t\t\t\t\t\t<div><a target=\"_blank\" href=\"http://en.jd.com/\">English Site</a></div>\r\n\t\t\t\t\t\t</dd>\r\n\t\t\t\t\t</dl>\r\n\t\t\t\t</div>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t\t<span class=\"clr\"></span>\r\n\t</div>\r\n</div>"
  },
  {
    "path": "migo-sso/src/main/webapp/WEB-INF/views/login.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<%\r\n\tString baseUrl = \"http://static.migo.com\";\r\n\tpageContext.setAttribute(\"baseUrl\", baseUrl);\r\n%>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\"/>\r\n    <title>登录咪购</title>HiddenHttpMethodFilter\r\n    <link type=\"text/css\" rel=\"stylesheet\" href=\"${baseUrl }/css/login.css\"/>\r\n    <script type=\"text/javascript\" src=\"${baseUrl }/js/jquery-1.2.6.min.js\"></script>\r\n    <script type=\"text/javascript\" src=\"${baseUrl }/js/login/g.base.js\"></script>\r\n   \t<script type=\"text/javascript\" src=\"${baseUrl }/js/login/jdEdit.js\"></script>\r\n    <script type=\"text/javascript\">\r\n        var pgeditor = new jQuery.pge({\r\n            pgePath: \"#\",\r\n            pgeId: \"_ocx_password\",\r\n            pgeEdittype: 0,\r\n            pgeEreg1: \"\",\r\n            pgeEreg2: \"\",\r\n            pgeMaxlength: 20,\r\n            pgeTabindex: 2,\r\n            pgeClass: \"text_pge\",\r\n            pgeInstallClass: \"text_pge\",\r\n            pgeOnkeydown:\"$('#loginsubmit').click();\",\r\n            tabCallback:\"authcode\"\r\n        });\r\n        window.onload = function(){\r\n            pgeditor.pgInitialize();\r\n        }\r\n    </script>\r\n        <script type=\"text/javascript\">\r\n            $(function(){\r\n                if(pgeditor.checkInstall()){\r\n                    $(\"#chkOpenCtrl\").attr(\"checked\",true);\r\n                    $(\"#nloginpwd\").hide();\r\n                    $(\"#sloginpwd\").show();\r\n                    if(pgeditor.checkUpdate()==1){\r\n                        $(\"#updata\").show();\r\n                    }\r\n                }\r\n            })\r\n        </script>\r\n    \r\n</head>\r\n<body>\r\n<div class=\"w\">\r\n    <div id=\"logo\">\r\n    \t<a href=\"http://www.migo.com/\" clstag=\"passport|keycount|login|01\">\r\n    \t\t<img src=\"${baseUrl }/images/migo-logo.gif\" alt=\"咪购\" width=\"170\" height=\"60\"/>\r\n    \t</a><b></b>\r\n   \t</div>\r\n</div>\r\n<form id=\"formlogin\" method=\"post\" onsubmit=\"return false;\">\r\n    <input type=\"hidden\" id=\"uuid\" name=\"uuid\" value=\"1359c13d-7daa-4a2a-972d-f09e09e6605a\"/>\r\n    <div class=\" w1\" id=\"entry\">\r\n        <div class=\"mc \" id=\"bgDiv\">\r\n            <div id=\"entry-bg\" clstag=\"passport|keycount|login|02\" style=\"width: 511px; height: 455px; position: absolute; left: -44px; top: -44px; background: url(${baseUrl }/images/544a11d3Na5a3d566.png) 0px 0px no-repeat;\">\r\n\t\t\t</div>\r\n            <div class=\"form \">\r\n                <div class=\"item fore1\">\r\n                    <span>用户名/已验证手机</span>\r\n                    <div class=\"item-ifo\">\r\n                        <input type=\"text\" id=\"loginname\" name=\"username\" class=\"text\"  tabindex=\"1\" autocomplete=\"off\"/>\r\n                        <div class=\"i-name ico\"></div>\r\n                        <label id=\"loginname_succeed\" class=\"blank invisible\"></label>\r\n                        <label id=\"loginname_error\" class=\"hide\"><b></b></label>\r\n                    </div>\r\n                </div>\r\n                <script type=\"text/javascript\">\r\n                    setTimeout(function () {\r\n                        if (!$(\"#loginname\").val()) {\r\n                            $(\"#loginname\").get(0).focus();\r\n                        }\r\n                    }, 0);\r\n                </script>\r\n                <div id=\"capslock\"><i></i><s></s>键盘大写锁定已打开，请注意大小写</div>\r\n                <div class=\"item fore2\">\r\n                    <span>密码</span>\r\n                    <div class=\"item-ifo\">\r\n                        <label id=\"sloginpwd\" style=\"display: none;\">\r\n                            <script type=\"text/javascript\">pgeditor.generate()</script>\r\n                        </label>\r\n                        <input type=\"password\" id=\"nloginpwd\" name=\"password\" class=\"text\" tabindex=\"2\" autocomplete=\"off\"/>\r\n                        <input type=\"hidden\" name=\"loginpwd\" id=\"loginpwd\" value=\"\" class=\"hide\" />\r\n\r\n                        <div class=\"i-pass ico\"></div>\r\n                        <label id=\"loginpwd_succeed\" class=\"blank invisible\"></label>\r\n                        <label id=\"loginpwd_error\" class=\"hide\"></label>\r\n                        <script type=\"text/javascript\">\r\n\t\t\t\t\t\t\t$('#nloginpwd')[0].onkeypress = function(event){\r\n\t\t\t\t\t\t\t\tvar e = event||window.event,\r\n\t\t\t\t\t\t\t\t$tip = $('#capslock'),\r\n\t\t\t\t\t\t\t\tkc  =  e.keyCode||e.which, // 按键的keyCode\r\n\t\t\t\t\t\t\t\tisShift  =  e.shiftKey ||(kc  ==   16 ) || false ; // shift键是否按住\r\n\t\t\t\t\t\t\t\tif (((kc >=65&&kc<=90)&&!isShift)|| ((kc >=97&&kc<=122)&&isShift)){\r\n\t\t\t\t\t\t\t\t\t$tip.show();\r\n\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\t$tip.hide();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t};\r\n                        </script>\r\n                    </div>\r\n                </div>\r\n                <input type=\"hidden\" name=\"machineNet\" id=\"machineNet\" value=\"\" class=\"hide\"/>\r\n                <input type=\"hidden\" name=\"machineCpu\" id=\"machineCpu\" value=\"\" class=\"hide\"/>\r\n                <input type=\"hidden\" name=\"machineDisk\" id=\"machineDisk\" value=\"\" class=\"hide\"/>\r\n                \r\n                <div class=\"item fore3  hide \" id=\"o-authcode\">\r\n                    <span>验证码</span>\r\n\r\n                    <div class=\"item-ifo\">\r\n                        <input type=\"text\" id=\"authcode\" class=\"text text-1\" name=\"authcode\" tabindex=\"6\" style=\"ime-mode:disabled\"/>\r\n                        <label class=\"img\">\r\n                            <img style=\"cursor:pointer;width:100px;height:33px;display:block;\"\r\n                                 src2=\"https://authcode.jd.com/verify/image?a=1&amp;acid=1359c13d-7daa-4a2a-972d-f09e09e6605a&amp;uid=1359c13d-7daa-4a2a-972d-f09e09e6605a\"\r\n                                                                 onclick=\"this.src= document.location.protocol +'//authcode.jd.com/verify/image?a=1&amp;acid=1359c13d-7daa-4a2a-972d-f09e09e6605a&amp;uid=1359c13d-7daa-4a2a-972d-f09e09e6605a&amp;yys='+new Date().getTime();$('#authcode').val('');\"\r\n                                 ver_colorofnoisepoint=\"#888888\" id=\"JD_Verification1\">\r\n                        </label>\r\n                        <label class=\"ftx23 hline\">看不清？<br><a href=\"javascript:void(0)\" class=\"flk13\"\r\n                                                              onclick=\"jQuery('#JD_Verification1').click();\">换一张</a></label>\r\n                        <label id=\"authcode_succeed\" class=\"blank invisible\"></label>\r\n                        <label id=\"authcode_error\" class=\"hide\"></label>\r\n                    </div>\r\n                </div>\r\n                <div class=\"item fore4 hide\" id=\"autoentry\">\r\n                    <div class=\"item-ifo\">\r\n                        <input type=\"checkbox\" class=\"checkbox\" name=\"chkRememberMe\" clstag=\"passport|keycount|login|04\"/>\r\n                        <label class=\"mar\">自动登录</label>\r\n                                                <div style=\"float:left;\" id=\"ctrlDiv\">\r\n                            <input type=\"checkbox\" class=\"checkbox\" id=\"chkOpenCtrl\" name=\"chkOpenCtrl\" onclick=\"javascript:inputSelect();\"/>\r\n                            <label class=\"mar\" id=\"jdsafe\">安全控件登录<div class=\"tip-safe\" style=\"display:none;\" id=\"tip-safe\">安全控件可提高账户安全性，加密保护您的密码。</div></label>\r\n                        </div>\r\n                                                <label><a href=\"http://safe.jd.com/findPwd/index.action\" class=\"\" clstag=\"passport|keycount|login|05\">忘记密码?</a></label>\r\n                        <div class=\"clr\"></div>\r\n                    </div>\r\n                    <div class=\"updata\" id=\"updata\" style=\"display:none;\">安全控件升级了!<a href=\"javascript:void(0);\" onclick=\"updateCtl()\" class=\"up-two\"></a>立即更新</a> <a class=\"up-one\" href=\"javascript:void(0);\" onclick=\"$('#updata').hide();\"></a></div>\r\n\r\n                </div>\r\n                <div class=\"item login-btn2013\">\r\n                    <input type=\"button\" class=\"btn-img btn-entry\" id=\"loginsubmit\" value=\"登录\" tabindex=\"8\" clstag=\"passport|keycount|login|06\"/>\r\n                </div>\r\n            </div>\r\n                <div class=\"coagent hide\" clstag=\"passport|keycount|login|07\">\r\n                    <label class=\"ftx24\">\r\n                        使用合作网站账号登录咪购：\r\n                        <span class=\"clr\"></span><input type=\"hidden\" name=\"KbmPxRtWsz\" value=\"IMdug\" />\r\n                    <span class=\"btns qq\"><s></s> <a href=\"javascript:void(0)\"\r\n                                                     onclick=\"window.location='http://qq.jd.com/new/qq/login.aspx'+window.location.search;return false;\">QQ</a></span>\r\n                        <dl class=\"btns more-slide\">\r\n                            <dt><b>其它</b></dt>\r\n                            <dd>\r\n\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/netease/login.action'+window.location.search;return false;\">网易</a>\t\t\t   \r\n\t\t\t\t\t\t\t\t<a style=\"margin-left:30px;\" href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/renren/login.action'+window.location.search;return false;\">人人</a>\r\n\t\t\t\t\t\t\t\t<br>\r\n\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/douban/login.action'+window.location.search;return false;\">豆瓣</a>\r\n\t\t\t\t\t\t\t\t<a style=\"margin-left:30px;\" href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/sohu/login.action'+window.location.search;return false;\">搜狐</a>\r\n                                <br>\r\n\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/kaixin001/login.action'+window.location.search;return false;\">开心</a>\r\n\t\t\t\t\t\t\t\t<a style=\"margin-left:30px;\" href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/alipay/login.aspx'+window.location.search;return false;\">支付宝</a>\r\n\t\t\t\t\t\t\t\t<br>\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/qihao/login.action'+window.location.search;return false;\">奇虎360</a>\r\n\t\t\t\t\t\t\t\t<a style=\"margin-left:10px;\" href=\"javascript:void(0)\"\r\n                                               onclick=\"window.location='http://qq.jd.com/new/sina/login.action'+window.location.search;return false;\">新浪微博</a>\r\n                            </dd>\r\n                        </dl>\r\n                        <a id=\"kx001_btn_login\" style=\"display:none\"></a>\r\n                    </label>\r\n                </div>\r\n        </div>\r\n        <div class=\"free-regist\">\r\n            <span><a href=\"http://www.migo.com/user/register.html\" clstag=\"passport|keycount|login|08\">免费注册&gt;&gt;</a></span>\r\n        </div>\r\n    </div>\r\n</form>\r\n<div class=\"w1\">\r\n    <div id=\"mb-bg\" class=\"mb\"></div>\r\n</div>\r\n<div class=\"w\">\r\n\t<!-- links start -->\r\n    <jsp:include page=\"../commons/footer-links.jsp\"></jsp:include>\r\n    <!-- links end -->\r\n</div>\r\n<script type=\"text/javascript\" src=\"${baseUrl }/js/login/login.js\"></script>\r\n<script type=\"text/javascript\" src=\"${baseUrl }/js/login/jdThickBox.js\"></script>\r\n<script type=\"text/javascript\" src=\"${baseUrl }/js/login/checkClient.js\"></script>\r\n<script>\r\n   $(\"#jdsafe\").hover(function () {\r\n       $(\"#tip-safe\").show();\r\n   }, function () {\r\n       $(\"#tip-safe\").hide();\r\n   });\r\n   $('.more-slide').bind('mouseenter mouseleave', function() {\r\n       $(this).toggleClass('hover');\r\n   });\r\n</script>\r\n</body>\r\n</html>"
  },
  {
    "path": "migo-sso/src/main/webapp/WEB-INF/views/register.jsp",
    "content": "<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>\r\n<%@ page trimDirectiveWhitespaces=\"true\" %>\r\n<%\r\n\tString baseUrl = \"http://static.migo.com\";\r\n\tpageContext.setAttribute(\"baseUrl\", baseUrl);\r\n%>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\r\n        \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\"/>\r\n    <meta http-equiv=\"pragma\" content=\"no-cache\">\r\n    <meta http-equiv=\"Cache-Control\" content=\"no-cache,must-revalidate\">\r\n    <title>注册-个人用户</title>\r\n    <link type=\"text/css\" rel=\"stylesheet\" href=\"${baseUrl }/css/regist.personal.css\"/>\r\n    <link type=\"text/css\" rel=\"stylesheet\" href=\"${baseUrl }/css/passport.base.css\"/>\r\n    <script type=\"text/javascript\" src=\"${baseUrl }/js/jquery-1.2.6.min.js\"></script>\r\n</head>\r\n<body>\r\n    <script type=\"text/javascript\">\r\nfunction login() {\r\n    location.href = \"/user/login.html\";\r\n    return false\r\n}\r\nfunction regist() {\r\n    location.href = \"/user/register.html\";\r\n    return false\r\n}\r\n(function (a) {\r\n    a.fn.Jdropdown = function (d, e) {\r\n        if (!this.length) {\r\n            return\r\n        }\r\n        if (typeof d == \"function\") {\r\n            e = d;\r\n            d = {}\r\n        }\r\n        var c = a.extend({event: \"mouseover\", current: \"hover\", delay: 0}, d || {});\r\n        var b = (c.event == \"mouseover\") ? \"mouseout\" : \"mouseleave\";\r\n        a.each(this, function () {\r\n            var h = null, g = null, f = false;\r\n            a(this).bind(c.event,\r\n                    function () {\r\n                        if (f) {\r\n                            clearTimeout(g)\r\n                        } else {\r\n                            var j = a(this);\r\n                            h = setTimeout(function () {\r\n                                j.addClass(c.current);\r\n                                f = true;\r\n                                if (e) {\r\n                                    e(j)\r\n                                }\r\n                            }, c.delay)\r\n                        }\r\n                    }).bind(b, function () {\r\n                        if (f) {\r\n                            var j = a(this);\r\n                            g = setTimeout(function () {\r\n                                j.removeClass(c.current);\r\n                                f = false\r\n                            }, c.delay)\r\n                        } else {\r\n                            clearTimeout(h)\r\n                        }\r\n                    })\r\n        })\r\n    }\r\n})(jQuery);\r\nfunction addToFavorite() {\r\n    var a = \"http://www.jd.com/\";\r\n    var b = \"京东商城-网购上京东，省钱又放心\";\r\n    if (document.all) {\r\n        window.external.AddFavorite(a, b)\r\n    } else if (window.sidebar) {\r\n        window.sidebar.addPanel(b, a, \"\")\r\n    } else {\r\n        alert(\"对不起，您的浏览器不支持此操作!\\n请您使用菜单栏或Ctrl+D收藏本站。\")\r\n    }\r\n}</script>\r\n<!--shortcut start-->\r\n<jsp:include page=\"../commons/shortcut.jsp\" />\r\n<!--shortcut end-->\r\n<div class=\"w\" id=\"logo\">\r\n    <div>\r\n    \t<a href=\"http://www.migo.com/\">\r\n    \t\t<img src=\"${baseUrl }/images/migo-logo.gif\" alt=\"京东商城\" width=\"170\" height=\"60\"/>\r\n    \t</a> <b></b>\r\n    </div>\r\n</div>\r\n\r\n<div class=\"w\" id=\"regist\">\r\n    <div class=\"mt\">\r\n        <ul class=\"tab\">\r\n            <li class=\"curr\">个人用户</li>\r\n            <li class=\"line hide\"><a clstag=\"regist|keycount|personalreg|02\" href=\"../reg/company\">企业用户</a></li>\r\n            <li class=\"fore hide\"><a href=\"http://passport.en.jd.com/user/facade\">International Customers</a></li>\r\n        </ul>\r\n        <div class=\"extra\">\r\n        <span style=\"text-align: right\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class=\"flk13\"\r\n                                                                               onclick=\"javascript:location.href=&quot;http://en.360buy.com&quot;+location.search;\"\r\n                                                                               href=\"#\">English</a></span> <span>我已经注册，现在就&nbsp;<a\r\n                href=\"http://www.migo.com/user/login.html\"\r\n                class=\"flk13\">登录</a></span>\r\n        </div>\r\n    </div>\r\n    <div class=\"mc\">\r\n        <form id=\"personRegForm\" method=\"post\" onsubmit=\"return false;\">\r\n            <input type=\"hidden\" name=\"regType\" id=\"regType\" value=\"person\"/>\r\n            <input type=\"hidden\" name=\"uuid\" id=\"uuid\" value=\"${uuid}\"/>\r\n            <input type=\"hidden\" name=\"verifymc\" id=\"verifymc\" value=\"\"/>\r\n            <input type=\"hidden\" name=\"emailMg\" id=\"emailMg\"/>\r\n            <input type=\"hidden\" name=\"authcodeMg\" id=\"authcodeMg\"/>\r\n            <input type=\"hidden\" name=\"state\" id=\"state\" value=\"unbind\"/>\r\n\r\n            <div class=\"form\" onselectstart=\"return false;\">\r\n                <div class=\"item\" id=\"select-regName\">\r\n                    <span class=\"label\"><b class=\"ftx04\">*</b>用户名：</span>\r\n\r\n                    <div class=\"fl item-ifo\">\r\n                        <div class=\"o-intelligent-regName\">\r\n                            <input type=\"text\" id=\"regName\" name=\"username\" class=\"text\" tabindex=\"1\" autoComplete=\"off\"\r\n                                   onpaste=\"return false;\"\r\n                                   value=\"\"\r\n                                   onfocus=\"if(this.value=='') this.value='';this.style.color='#333'\"\r\n                                   onblur=\"if(this.value=='') {this.value='';this.style.color='#999999'}\"/>\r\n                            <i class=\"i-name\"></i>\r\n                            <ul id=\"intelligent-regName\" class=\"hide\"></ul>\r\n                            <label id=\"regName_succeed\" class=\"blank\"></label>\r\n                            <label id=\"regName_error\" class=\"hide\"></label>\r\n                        </div>\r\n\r\n                        <div class=\"intelligent-error hide\" id=\"morePinDiv\">\r\n                            <h5>推荐您使用：</h5>\r\n\r\n                            <div class=\"groom\" id=\"morePinGroom\"></div>\r\n                        </div>\r\n                                                <input type=\"hidden\" value=\"-1\" id=\"hnschool\" class=\"hide\"/>\r\n                                                <input type=\"hidden\" id=\"schoolid\" name=\"schoolid\" class=\"hide\"/>\r\n                                                    <input type=\"hidden\" name=\"eBHtwyeixI\" value=\"EyEFt\"/>\r\n                                                <input type=\"hidden\" id=\"hnseli\" class=\"hide\"/>\r\n\r\n                    </div>\r\n                </div>\r\n\r\n                <div id=\"capslock\"><i></i><s></s>键盘大写锁定已打开，请注意大小写</div>\r\n                <div id=\"o-password\">\r\n                    <div class=\"item\">\r\n                        <span class=\"label\"><b class=\"ftx04\">*</b>请设置密码：</span>\r\n\r\n                        <div class=\"fl item-ifo\">\r\n                            <input type=\"password\" id=\"pwd\" name=\"password\" class=\"text\" tabindex=\"2\"\r\n                                   style=\"ime-mode:disabled;\"\r\n                                   onpaste=\"return  false\" autocomplete=\"off\"/>\r\n                            <i class=\"i-pass\"></i>\r\n                            <label id=\"pwd_succeed\" class=\"blank\"></label>\r\n                            <label id=\"pwd_error\"></label>\r\n                            <span class=\"clr\"></span>\r\n                            <label class=\"hide\" id=\"pwdstrength\"><span class=\"fl\">安全程度：</span><b></b></label>\r\n\r\n                        </div>\r\n                    </div>\r\n\r\n                    <script type=\"text/javascript\">\r\n                        $('#pwd')[0].onkeypress = function (event) {\r\n                            var e = event || window.event,\r\n                                $tip =\r\n                            $('#capslock'),\r\n                                    kc = e.keyCode || e.which, // 按键的keyCode\r\n                                    isShift = e.shiftKey || (kc == 16 ) || false; // shift键是否按住\r\n                            if (((kc >= 65 && kc <= 90) && !isShift) || ((kc >= 97 && kc <= 122) && isShift)) {\r\n                                    $tip.show();\r\n                            }\r\n                            else {\r\n                                    $tip.hide();\r\n                            }\r\n                        };\r\n                    </script>\r\n\r\n                    <div class=\"item\">\r\n                        <span class=\"label\"><b class=\"ftx04\">*</b>请确认密码：</span>\r\n\r\n                        <div class=\"fl item-ifo\">\r\n                            <input type=\"password\" id=\"pwdRepeat\" name=\"pwdRepeat\" class=\"text\" tabindex=\"3\"\r\n                                   onpaste=\"return  false\" autocomplete=\"off\"/>\r\n                            <i class=\"i-pass\"></i>\r\n                            <label id=\"pwdRepeat_succeed\" class=\"blank\"></label>\r\n                            <label id=\"pwdRepeat_error\"></label>\r\n                        </div>\r\n                    </div>\r\n\t\t\t\t\t                    <div class=\"item\" id=\"dphone\">\r\n                        <span class=\"label\"><b class=\"ftx04\">*</b>验证手机：</span>\r\n\r\n                        <div class=\"fl item-ifo\">\r\n                            <input type=\"text\" id=\"phone\" maxlength=\"11\" name=\"phone\" class=\"text\" tabindex=\"4\" onfocus=\"phoneFocus();\" onKeyup=\"phoneKeyup();\" onblur=\"phoneBlur();\" autocomplete=\"off\"/>\r\n                            <i class=\"i-phone\"></i>\r\n                            <label id=\"phone_succeed\" class=\"blank\"></label>\r\n                            <label id=\"phone_error\"></label>\r\n                        </div>\r\n\t\t\t\t\t\t                        <div class=\"fl\">\r\n                            <span class=\"ftx-03 ml5\">或</span><a class=\"ftx-05 ml5 mail-verify\"\r\n                                                                style=\"text-decoration:underline;\" href=\"javascript:;\">验证邮箱</a>\r\n                        </div>\r\n\t\t\t\t\t\t                    </div>\r\n\t\t\t\t\t<!-- \r\n                    <div id=\"mobileCodeDiv\" class=\"item\" style=\"height: 62px;\">\r\n                        <span class=\"label\"><b class=\"ftx04\">*</b>短信验证码：</span>\r\n\r\n                        <div class=\"fl item-ifo\">\r\n                            <input type=\"text\" maxlength=\"6\" autocomplete=\"off\" tabindex=\"6\" class=\"text text-1\"\r\n                                   name=\"mobileCode\"\r\n                                   style=\"ime-mode:disabled\" id=\"mobileCode\" onblur=\"mobileCodeBlur()\"\r\n                                   onfocus=\"mobileCodeFocus();\">\r\n                            <label class=\"blank invisible\"></label>\r\n                            <a class=\"btn\" href=\"javascript:void(0);\" onclick=\"sendMobileCode();\" id=\"sendMobileCode\">\r\n                                <span id=\"dyMobileButton\">获取短信验证码</span></a>\r\n                            <span class=\"clr\"></span>\r\n\r\n                            <div class=\"msg-text\" id=\"mobileCodeSucMessage\"></div>\r\n                            <label id=\"mobileCode_error\" class=\"blank\"></label>\r\n                            <label id=\"mobileCode_succeed\" class=\"blank invisible\"></label>\r\n                        </div>\r\n                        <span class=\"clr\"></span>\r\n                    </div>\r\n                     -->\r\n\t\t\t\t\t                </div>\r\n                                <div class=\"item item-new\">\r\n                    <span class=\"label\">&nbsp;</span>\r\n\r\n                    <div class=\"fl item-ifo\">\r\n                        <input type=\"checkbox\" class=\"checkbox\" checked=\"checked\" id=\"readme\"\r\n                               onclick=\"agreeonProtocol();\">\r\n                        <label for=\"protocol\">我已阅读并同意<a href=\"#\" class=\"blue\" id=\"protocol\">《京东用户注册协议》</a></label>\r\n                        <span class=\"clr\"></span>\r\n                        <label id=\"protocol_error\" class=\"error hide\">请接受服务条款</label>\r\n                    </div>\r\n                </div>\r\n                <div class=\"item\">\r\n                    <span class=\"label\">&nbsp;</span>\r\n                    <input type=\"button\" class=\"btn-img btn-regist\" id=\"registsubmit\" value=\"立即注册\" tabindex=\"8\"\r\n                           clstag=\"regist|keycount|personalreg|07\"\r\n                           onclick=\"reg();\"/>\r\n                </div>\r\n            </div>\r\n            <div class=\"phone\">\r\n                <img width=\"180\" height=\"180\" src=\"${baseUrl }/images/phone-bg.jpg\">\r\n            </div>\r\n                        <span class=\"clr\"></span>\r\n        </form>\r\n    </div>\r\n</div>\r\n\r\n    <script type=\"text/javascript\">\r\n    function hello() {\r\n        var helloUrl = \"http://passport.jd.com/call/getHelloJson?m=ls\";\r\n        jQuery.ajax({url: helloUrl, dataType: \"jsonp\", scriptCharset: \"gb2312\", success: function (a) {\r\n            if (a && a.info) {\r\n                $(\"#loginbar\").html(a.info);\r\n            }\r\n            if (a && a.sso) {\r\n                $.each(a.sso, function () {\r\n                    $.getJSON(this)\r\n                })\r\n            }\r\n        }});\r\n    }\r\n    (function ($) {\r\n        $(\"#shortcut-2013 .menu\").Jdropdown({delay: 50});\r\n        //hello();\r\n    })(jQuery);</script>\r\n<div class=\"w\">\r\n\t<!-- links start -->\r\n    <jsp:include page=\"../commons/footer-links.jsp\"></jsp:include>\r\n    <!-- links end -->\r\n</div>\r\n<script type=\"text/javascript\" src=\"${baseUrl }/js/register/jd.lib.js\"></script>\r\n<script type=\"text/javascript\" src=\"${baseUrl }/js/register/jdThickBox.js\"></script>\r\n<script type=\"text/javascript\" src=\"${baseUrl }/js/register/jdValidate.js\"></script>\r\n<script type=\"text/javascript\" src=\"${baseUrl }/js/register/jdValidate.emReg.js\"></script>\r\n<script type=\"text/javascript\" src=\"${baseUrl }/js/register/jdValidate.regSuccess.js\"></script>\r\n\r\n\r\n<script id=\"box01\" type=\"text/temp\">\r\n<div class=\"form thickbox-form\">\r\n    <div class=\"ac ftx-01 mb10\">为了提升您的账户安全，请验证手机</div>\r\n\r\n    <div class=\"item\"  id=\"dphone1\">\r\n        <span class=\"label\"><b class=\"ftx04\">*</b>手机号码：</span>\r\n\r\n        <div class=\"fl item-ifo\">\r\n            <input type=\"text\" id=\"phone1\" name=\"phone1\" maxlength=\"11\"  class=\"text\" onblur=\"phone1Blur();\" onfocus=\"phone1Focus();\" onKeyup=\"phone1Keyup();\"  onpaste=\"return  false\"  autocomplete=\"off\">\r\n            <i class=\"i-phone\"></i>\r\n            <label id=\"phone1_succeed\" ></label>\r\n            <label id=\"phone1_error\" class=\"\"></label>\r\n        </div>\r\n    </div>\r\n\r\n    <div class=\"item\" id=\"mobileCodeDiv1\">\r\n        <span class=\"label\"><b class=\"ftx04\">*</b>短信验证码：</span>\r\n\r\n        <div class=\"fl item-ifo\">\r\n            <input type=\"text\" maxlength=\"6\" autocomplete=\"off\"  class=\"text text-1\" name=\"mobileCode1\" onblur=\"mobileCode1Blur()\" onfocus=\"mobileCode1Focus();\"  style=\"ime-mode:disabled\" id=\"mobileCode1\">\r\n            <label class=\"blank invisible\"></label>\r\n            <a class=\"btn\" href=\"javascript:void(0);\" onclick=\"sendMobileCode1();\"   id=\"sendMobileCode1\">\r\n                <span id=\"dyMobileButton1\">获取短信验证码</span></a>\r\n\r\n            <span class=\"clr\"></span>\r\n\r\n            <div class=\"msg-text\" id=\"mobileCodeSucMessage1\"></div>\r\n            <label id=\"mobileCode1_error\"  class=\"\"></label>\r\n            <label id=\"mobileCode1_succeed\" class=\"blank invisible\"></label>\r\n        </div>\r\n    </div>\r\n    <div class=\"item\">\r\n        <span class=\"label\">&nbsp;</span>\r\n        <input type=\"button\" class=\"btn-img btn-verify\" onclick=\"mobileReg();\" value=\"立即验证\">\r\n    </div>\r\n</div>\r\n\r\n\r\n\r\n</script>\r\n\r\n<script id=\"box02\" type=\"text/temp\">\r\n<div class=\"form thickbox-form\">\r\n<div class=\"f-body\">\r\n    <div class=\"item\">\r\n        <span class=\"label\"><b class=\"ftx04\">*</b>请输入邮箱：</span>\r\n        <div class=\"fl item-ifo\">\r\n            <input type=\"text\" id=\"mail\" name=\"mail\" class=\"text\"  onpaste=\"return  false\" autocomplete=\"off\"> \r\n            <label id=\"mail_succeed\" class=\"blank\"></label>\r\n           <label id=\"mail_error\" class=\"\"></label>\r\n        </div>\r\n    </div>\r\n\t\r\n\t\t</div>\r\n\t<div class=\"f-footer\">\r\n    <div class=\"item\">\r\n        <span class=\"label\">&nbsp;</span>\r\n       <input type=\"button\" class=\"btn-img btn-verify\" value=\"发送邮箱验证\" onclick=\"sendRegMail();\">\r\n    </div>\r\n\t</div>\r\n   </div>\r\n<script id=\"box04\" type=\"text/temp\">\r\n\r\n\r\n\r\n\r\n</script>\r\n<script id=\"box05\" type=\"text/temp\">\r\n\r\n</script>\r\n\r\n<script>\r\n  var closeMobileReg='$closeMobileReg';\r\n    $(function () {\r\n\r\n        $('.mail-verify').bind('click', function () {\r\n\r\n            if (validateRegName() && validateFunction.regValidate()) {\r\n    \t\t\toldEmail=\"\";\r\n    \t\t\temailCheckResult=\"\";\r\n    \t\t\toldMobile1=\"\";\r\n    \t\t\tmobileResult1=\"\";\r\n\t\t\t\temailCheckResult=\"\";\r\n                clearTimeout(countDown1.timer);\r\n\t\t\t\tdelayTime1=120;\r\n\t\t\t\tdelayFlag1=true;\r\n                jQuery.jdThickBox({\r\n                    type: \"text\", /*也可以是text,html,image,ajax,json*/\r\n                    width: 500,\r\n                    height: 260,\r\n                    source: $('#box02').html(),\r\n                    title: \"验证邮箱\",\r\n                    _close_val: \"×\",\r\n                    _con: \"opinioncon\",\r\n                    _titleOn: true\r\n                }, function () {\r\n                    $('#mail').bind('blur', function () {\r\n                        var mail = $(\"#mail\").val();\r\n                        if (mail == \"\") {\r\n                            $('#mail').removeClass().addClass(\"text\");\r\n                            $('#mail_error').removeClass(\"error\");\r\n                            $(\"#mail_error\").hide();\r\n                            $('#mail_succeed').removeClass('error-ico');\r\n                            return;\r\n                        }\r\n                        var email = strTrim(mail);\r\n                        var format = validateRules.isEmail(email);\r\n                        var format2 = validateRules.betweenLength(email, 0, 50);\r\n                        if (!format) {\r\n                            $('#mail_error').removeClass().addClass(\"error\");\r\n                            $(\"#mail_error\").html(\"邮箱地址不正确，请重新输入\");\r\n                            $('#mail_succeed').addClass('error-ico');\r\n                            $('#mail').removeClass(\"highlight1\").addClass('highlight2');\r\n                            return;\r\n                        } else {\r\n                            if (!format2) {\r\n                                $('#mail_error').removeClass().addClass(\"error\");\r\n                                $(\"#mail_error\").html(\"邮箱地址长度应在4-50个字符之间\");\r\n                                $('#mail_succeed').addClass('error-ico');\r\n                                $('#mail').removeClass(\"highlight1\").addClass('highlight2');\r\n                                return;\r\n                            }\r\n                            jQuery.getJSON(\"../validate/isEmailEngaged?email=\" + escape(email) + \"&r=\" + Math.random(),\r\n                                    function (result) {\r\n                                        emailResult = result.success;\r\n                                        // 邮箱未被验证 可注册\r\n                                        if (emailResult == 0) {\r\n                                            $(\"#mail_error\").removeClass().addClass(\"success\").html(\"此邮箱可用\");\r\n                                            $('#mail_succeed').removeClass().addClass('blank succeed');\r\n                                            $('#mail').removeClass('highlight2');\r\n                                        }\r\n                                        if (emailResult == 1) {\r\n\t\t\t\t\t\t\t\t\t\t\t$('#mail').removeClass().addClass(\"text highlight2\");\r\n                                            $('#mail_error').removeClass().addClass(\"error\");\r\n                                            $(\"#mail_error\").html(\"该邮箱已被使用，请更换其它邮箱\");\r\n\t\t\t\t\t\t\t\t\t\t\t$('#mail_succeed').removeClass().addClass('blank error-ico');\r\n                                            return;\r\n                                        }\r\n                                        if (emailResult == 2) {\r\n\t\t\t\t\t\t\t\t\t\t\t$('#mail').removeClass().addClass(\"text highlight2\");\r\n                                            $('#mail_error').removeClass().addClass(\"error\");\r\n                                            $(\"#mail_error\").html(\"邮箱地址不正确，请重新输入\");\r\n\t\t\t\t\t\t\t\t\t\t\t$('#mail_succeed').removeClass().addClass('blank error-ico');\r\n                                            return;\r\n                                        }\r\n                                    });\r\n\r\n                        }\r\n                    });\r\n                    $('#mail').bind('focus', function () {\r\n                        $('#mail').removeClass().addClass('text highlight1');\r\n                        $(\"#mail_error\").removeClass().addClass(\"focus\").html(\"完成验证后，您可以用该邮箱登录和找回密码\");\r\n                        $(\"#mail_error\").show();\r\n                        $('#mail_succeed').removeClass('error-ico');\r\n                    });\r\n                    $('#JD_Verification2').click();\r\n                });\r\n            }\r\n        });\r\n    })\r\n\r\n</script>\r\n\r\n\r\n</body>\r\n</html>\r\n"
  },
  {
    "path": "migo-sso/src/main/webapp/WEB-INF/web.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<web-app xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n         xmlns=\"http://java.sun.com/xml/ns/javaee\"\r\n         xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\"\r\n         id=\"WebApp_ID\" version=\"2.5\">\r\n    <display-name>migo-sso</display-name>\r\n\r\n    <context-param>\r\n        <param-name>contextConfigLocation</param-name>\r\n        <param-value>classpath:spring/applicationContext*.xml</param-value>\r\n    </context-param>\r\n\r\n    <!--Spring的ApplicationContext 载入 -->\r\n    <listener>\r\n        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>\r\n    </listener>\r\n\r\n    <!-- 编码过滤器，以UTF8编码 -->\r\n    <filter>\r\n        <filter-name>encodingFilter</filter-name>\r\n        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>\r\n        <init-param>\r\n            <param-name>encoding</param-name>\r\n            <param-value>UTF8</param-value>\r\n        </init-param>\r\n    </filter>\r\n    <filter-mapping>\r\n        <filter-name>encodingFilter</filter-name>\r\n        <url-pattern>/*</url-pattern>\r\n    </filter-mapping>\r\n\r\n    <!-- 配置SpringMVC框架入口 -->\r\n    <servlet>\r\n        <servlet-name>migo-sso</servlet-name>\r\n        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>\r\n        <init-param>\r\n            <param-name>contextConfigLocation</param-name>\r\n            <param-value>classpath:spring/migo-sso-mvc.xml</param-value>\r\n        </init-param>\r\n        <load-on-startup>1</load-on-startup>\r\n    </servlet>\r\n\r\n    <servlet-mapping>\r\n        <servlet-name>migo-sso</servlet-name>\r\n        <url-pattern>*.html</url-pattern>\r\n    </servlet-mapping>\r\n    <servlet-mapping>\r\n        <servlet-name>migo-sso</servlet-name>\r\n        <url-pattern>/do/*</url-pattern>\r\n    </servlet-mapping>\r\n\r\n    <welcome-file-list>\r\n        <welcome-file>index.html</welcome-file>\r\n    </welcome-file-list>\r\n\r\n</web-app>\r\n"
  }
]