shawl.qiu Javascript 前景色背景色调色类 / BgColorScheme v1.1

来源:互联网 发布:折半查找算法c语言 编辑:程序博客网 时间:2024/06/05 09:59

shawl.qiu Javascript 前景色背景色调色类 / BgColorScheme v1.1


说明:
v1.0 见这里:
http://blog.csdn.net/btbtd/archive/2007/07/01/1672991.aspx

v1.1
增加了补色和渐变
改进了执行效率, 比 1.0 提高了至少十倍
修正了1.0中某些小Bug

目录:
1. 调用
2. BgColorScheme_v1-1.js
3. HashTable.js

2007-07-02
shawl.qiu
http://blog.csdn.net/btbtd

演示:
http://files.myopera.com/btbtd/javascript/class/BgColorScheme/BgColorScheme_v1-1.htm

下载:
http://files.myopera.com/btbtd/javascript/class/BgColorScheme/BgColorScheme_v1-1.7z

内容:
1. 调用
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <!-- DW6 -->
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>Untitled Document</title>
  7. </head>
  8. <body>
  9. <div id="BgColorSchemeId"></div>
  10. <script type="text/javascript" src="HashTable.js"></script>
  11. <script type="text/javascript" src="BgColorScheme_v1-1.js"></script>
  12. <script type="text/javascript">
  13. //<![CDATA[
  14.  var Bcs = new BgColorScheme();
  15.   
  16.   Bcs.Init.Name = "Bcs";
  17.   Bcs.Main.Id = "BgColorSchemeId";
  18.   
  19.   Bcs.Invert = false;
  20.   //Bcs.Msg = "shawl.qiu";
  21.   
  22.   Bcs.Color.Set = ["#7CA8F3", "#13D229"];
  23.     
  24.   Bcs.Faded.TargetTbx.Default = "#ffffff";
  25.   Bcs.Faded.TimeTbx.Default = 50;
  26.   Bcs.Faded.ChangeSle.Default = "#ffffff";
  27.     
  28.   Bcs.Status = true;
  29.   
  30.   Bcs.Style.Append = true;
  31.   
  32.   Bcs.Go();
  33.   
  34.   document.title = Bcs.Au.Subject+" "+Bcs.Au.Version;
  35.   
  36.   Bcs = null;
  37.   
  38. //]]>
  39. </script>
  40. </body>
  41. </html> 


2. BgColorScheme_v1-1.js
  1. // shawl.qiu JavaScript Document
  2. /*-----------------------------------------------------------------------------------*/
  3.  * shawl.qiu Javascript BgColorScheme class v1.1
  4. /*-----------------------------------------------------------------------------------*/
  5. //---------------------------------begin class BgColorScheme()-------------------------------//
  6. function BgColorScheme()
  7. { // shawl.qiu code
  8.  //------------------------------------begin public variable
  9.  //---------------begin about
  10.  this.Au = {}
  11.  this.Au.Subject = "shawl.qiu Javascript BgColorScheme class";
  12.  this.Au.Version = "v1.1";
  13.  this.Au.Name = "shawl.qiu";
  14.  this.Au.Email = "shawl.qiu@gmail.com";
  15.  this.Au.Blog = "http://blog.csdn.net/btbtd";
  16.  this.Au.CreatedDate = "2007-6-28";
  17.  this.Au.Update = {};
  18.  this.Au.Update["1"] = "2007-7-1";
  19.  //---------------end about
  20.  
  21.  this.Init = {};
  22.  this.Init.Name = "Bcs";
  23.  
  24.  this.Main = {};
  25.  this.Main.Id = "BgColorSchemeId";
  26.  
  27.  this.Postfix = "";
  28.  
  29.  this.ContainerHb = null;
  30.  
  31.  this.Invert = false;
  32.  this.Msg = "";
  33.  
  34.  this.Color = {};
  35.  this.Color.Set = ["#7CA8F3", "#13D229"];
  36.  this.Color.Hot = "Red,Orange,Yellow";
  37.  this.Color.Cool = "Green,Cyan,BlueCyan,Blue,Indigo";
  38.  this.Color.Neutral = "Violet,Pink,Brown";
  39.  this.Color.None = "Grey";
  40.  this.Color.White = "White";
  41.  this.Color.Web = "Web";
  42.  this.Color.Jp = "JpRedViolet,JpRed,JpYellowRed,JpYellow,JpYellowGreen"
  43.   +",JpGreen,JpBlueViolet,JpViolet,JpAchromatic";
  44.  this.Color.CompColor = "CompColor";
  45.  this.Color.Faded = "Faded";
  46.  
  47.  this.Element = {};
  48.  this.Element.Nav = {}
  49.  this.Element.Nav.Main = null;
  50.  this.Element.Nav.Id = "NavId";
  51.  
  52.  this.Element.CbxList = {};
  53.  this.Element.CbxList.Name = "";
  54.  this.Element.CbxList.ClassName = "BcsCbxListClassName";
  55.    
  56.  this.Element.Text = {};
  57.  this.Element.Text.Main = null;
  58.  this.Element.Text.Id = "TextId";
  59.  this.Element.Text.ClassName = "BcsTextClassName";
  60.  
  61.  this.Element.ColorTbx = {};
  62.  this.Element.ColorTbx.Main = null;
  63.  this.Element.ColorTbx.Id = "BcsColorEleId";
  64.  this.Element.ColorTbx.ClassName = "BcsColorTbxClassName";
  65.  
  66.  this.Element.InvertCbx = {};
  67.  this.Element.InvertCbx.Main = null;
  68.  this.Element.InvertCbx.Id = "BcsInvertCbxId";
  69.  
  70.  this.Element.GoBtn = {};
  71.  this.Element.GoBtn.Main = null;
  72.  this.Element.GoBtn.Id = "BcsGoBtnId";
  73.  
  74.  this.Element.Anchor ={};
  75.  this.Element.Anchor.Main = null;
  76.  this.Element.Anchor.Id = "BcsAnchorId";
  77.  
  78.  this.Theme = {};
  79.  this.Theme.Default = "Together";
  80.  this.Theme.HashTable = null;
  81.  this.Theme.Select = {};
  82.  this.Theme.Select.Id = "BcsSelectDisplayId";
  83.  this.Theme.Select.Main = null;
  84.  
  85.  this.Status = false;
  86.  
  87.  this.Style = {};
  88.  this.Style.Append = false;
  89.  this.Style.Id = "BcsStyleId";
  90.  
  91.  this.Faded = {}
  92.   
  93.   this.Faded.FadeTo = {};
  94.  this.Faded.FadeTo.Id = "BcsFadeToId";
  95.  this.Faded.FadeTo.Main = null;
  96.  
  97.  this.Faded.TargetTbx = {};
  98.  this.Faded.TargetTbx.Id = "BcsFadedId";
  99.  this.Faded.TargetTbx.Default = "#ffffff";
  100.  this.Faded.TargetTbx.Main = null;
  101.  
  102.  this.Faded.TimeTbx = {};
  103.  this.Faded.TimeTbx.Id = "BcsTime";
  104.  this.Faded.TimeTbx.Default = 50;
  105.  this.Faded.TimeTbx.Main = null;
  106.   
  107.   this.Faded.ChangeSle = {};
  108.   this.Faded.ChangeSle.Id = "BscChangeFadedSleId";
  109.   this.Faded.ChangeSle.Default = "#ffffff";
  110.   this.Faded.ChangeSle.HashTable = null;
  111.   this.Faded.ChangeSle.Main = null;
  112.  
  113.  //------------------------------------end public variable
  114.  
  115.  //------------------------------------begin private variable
  116.  var Tl = this;
  117.  var pMain = null;
  118.  var pNav = null;
  119.  var pText = null;
  120.  var pCbxList = null;
  121.  var pInvertCbx = null;
  122.  var pGoBtn = null;
  123.  var pAnchorStr = "";
  124.  var pSelect = null;
  125.  var pTargetTbx = null;
  126.  var pTimeTbx = null;
  127.   var pChangeSle = null;
  128.   var pFadeTo = null;
  129.  //------------------------------------end private variable
  130.  
  131.  //------------------------------------begin public method
  132.  this.Go = fGo;
  133.  //------------------------------------end public method

  134.  //------------------------------------begin private method
  135.  function fGo()
  136.  {
  137.   if(typeof(Tl.Main.Id)=="string")
  138.   {
  139.    pMain = document.getElementById(Tl.Main.Id);
  140.   }
  141.   else if(typeof(Tl.Main.Id)=="object")
  142.   {
  143.    pMain = Tl.Main.Id;
  144.   }
  145.   
  146.   if(typeof(pMain)!="object"||pMain == null)
  147.   {
  148.    alert("主域不能为Null!");
  149.    return;
  150.   }
  151.   
  152.   Tl.Postfix = fRandomLetter(10);
  153.   
  154.   Tl.Element.CbxList.Name = Tl.Init.Name + Tl.Postfix;
  155.   Tl.Element.Nav.Id = Tl.Init.Name + Tl.Element.Nav.Id + Tl.Postfix;
  156.   Tl.Style.Id = Tl.Init.Name + Tl.Style.Id + Tl.Postfix;
  157.   
  158.   if(Tl.Style.Append)
  159.   {
  160.    var sStyle = fAppendStyle();
  161.    fAddStyleFromStr(sStyle, Tl.Style.Id);
  162.   }
  163.   
  164.   Tl.ContainerHb = new HashTable();

  165.   Tl.ContainerHb.Add("Red", "红系", {Exec:fRed,Content:null});
  166.   Tl.ContainerHb.Add("Orange", "橙系", {Exec:fOrange,Content:null});
  167.   Tl.ContainerHb.Add("Yellow", "黄系", {Exec:fYellow,Content:null});
  168.   Tl.ContainerHb.Add("Green", "绿系", {Exec:fGreen,Content:null});
  169.   Tl.ContainerHb.Add("Cyan", "青系", {Exec:fCyan,Content:null});
  170.   Tl.ContainerHb.Add("BlueCyan", "青蓝系", {Exec:fBlueCyan,Content:null});
  171.   Tl.ContainerHb.Add("Blue", "蓝系", {Exec:fBlue,Content:null});
  172.   Tl.ContainerHb.Add("Indigo", "靛青系", {Exec:fIndigo,Content:null});
  173.   Tl.ContainerHb.Add("Violet", "紫系", {Exec:fViolet,Content:null});
  174.   Tl.ContainerHb.Add("Pink", "粉红系", {Exec:fPink,Content:null});
  175.   Tl.ContainerHb.Add("Brown", "褐系", {Exec:fBrown,Content:null});
  176.   Tl.ContainerHb.Add("Grey", "灰系", {Exec:fGrey,Content:null});
  177.   Tl.ContainerHb.Add("White", "白系", {Exec:fWhite,Content:null});
  178.   Tl.ContainerHb.Add("Web", "Web", {Exec:fWeb,Content:null});
  179.   Tl.ContainerHb.Add("CompColor", "补色", {Exec:fCompColor,Content:null});
  180.   Tl.ContainerHb.Add("Faded", "渐变", {Exec:fFaded,Content:null});
  181.   Tl.ContainerHb.Add("JpRedViolet", "Jp红紫", {Exec:fJpRedViolet,Content:null});
  182.   Tl.ContainerHb.Add("JpRed", "Jp红", {Exec:fJpRed,Content:null});
  183.   Tl.ContainerHb.Add("JpYellowRed", "Jp黄红", {Exec:fJpYellowRed,Content:null});
  184.   Tl.ContainerHb.Add("JpYellow", "Jp黄", {Exec:fJpYellow,Content:null});
  185.   Tl.ContainerHb.Add("JpYellowGreen", "Jp黄绿", {Exec:fJpYellowGreen,Content:null});
  186.   Tl.ContainerHb.Add("JpGreen", "Jp绿", {Exec:fJpGreen,Content:null});
  187.   Tl.ContainerHb.Add("JpBlueViolet", "Jp蓝紫", {Exec:fJpBlueViolet,Content:null});
  188.   Tl.ContainerHb.Add("JpViolet", "Jp紫", {Exec:fJpViolet,Content:null});
  189.   Tl.ContainerHb.Add("JpAchromatic", "Jp减", {Exec:fJpAchromatic,Content:null});
  190.   
  191.   Tl.Theme.HashTable = new HashTable();
  192.   Tl.Theme.HashTable.Add("Together", "合并显示");
  193.   Tl.Theme.HashTable.Add("Split", "分散显示");
  194.   
  195.   Tl.Element.Nav.Main = document.createElement("div");
  196.   Tl.Element.Nav.Main.id = Tl.Element.Nav.Id ;
  197.   
  198.   var NavAr = [];
  199.   var AnchorAr = [];
  200.   
  201.     var sShadesCount = "";
  202.     if(Tl.Status) sShadesCount = "(共"+Tl.ContainerHb.Count()+"系)";
  203.     
  204.   NavAr.push("<a name='"+Tl.Init.Name+"'</a>请选择色彩系"+sShadesCount+": <br/>");
  205.   
  206.   AnchorAr.push("<div>");
  207.   AnchorAr.push(" <a href=#"+Tl.Init.Name+">Top</a>");
  208.    
  209.   var iCount = 0;
  210.   
  211.   for(var i in Tl.ContainerHb.Object)
  212.   {
  213.     NavAr.push("<input type='checkbox' name='");
  214.     NavAr.push(Tl.Element.CbxList.Name);
  215.     NavAr.push("' value='"+i+"' />");
  216.     NavAr.push("<a href='#"+i+"'>");
  217.     NavAr.push(Tl.ContainerHb.Item(i));
  218.     NavAr.push("</a>");
  219.     
  220.     AnchorAr.push(" | <a href='#"+i+"'>");
  221.     AnchorAr.push(Tl.ContainerHb.Item(i));
  222.     AnchorAr.push("</a> ");
  223.     
  224.    switch(iCount)
  225.    {
  226.     case 2:
  227.     case 7:
  228.     case 10:
  229.     case 11:
  230.     case 12:
  231.     case 13:
  232.     case 14:
  233.     case 15:
  234.      NavAr.push("<br/>");
  235.      break;
  236.     
  237.     default:
  238.      break;
  239.    }
  240.    iCount++;
  241.   }
  242.   AnchorAr.push("</div>");
  243.   
  244.   Tl.Element.Nav.Main.innerHTML = NavAr.join("");
  245.   pAnchorStr = AnchorAr.join("");
  246.   
  247.   pMain.appendChild(Tl.Element.Nav.Main)
  248.   
  249.   pNav = document.getElementById(Tl.Element.Nav.Id);
  250.   
  251.   Tl.Element.Text.Id = Tl.Init.Name + Tl.Element.Text.Id + Tl.Postfix;
  252.   Tl.Element.Text.Main = document.createElement("div");
  253.   Tl.Element.Text.Main.id = Tl.Element.Text.Id;
  254.   Tl.Element.Text.Main.className = Tl.Element.Text.ClassName;
  255.   pMain.appendChild(Tl.Element.Text.Main);
  256.   pText = document.getElementById(Tl.Element.Text.Id);   
  257.   
  258.   pCbxList = document.getElementsByName(Tl.Element.CbxList.Name);
  259.   for(var i=0, j=pCbxList.length; i<j; i++)
  260.   {
  261.    var sId = Tl.Init.Name + pCbxList[i].value+Tl.Postfix;
  262.    var TempSpan = document.createElement("span");
  263.     TempSpan.id = sId;
  264.     pText.appendChild(TempSpan);
  265.    
  266.    pCbxList[i].onclick = 
  267.     function()
  268.     {
  269.      pGoBtn.click();
  270.     } // end oTemp.onclick
  271.     
  272.   } // end for
  273.   
  274.   var ColorTbx = document.createElement("input");
  275.    ColorTbx.type = "text";
  276.    ColorTbx.size = "60";
  277.    ColorTbx.value = Tl.Color.Set;
  278.    ColorTbx.id = Tl.Init.Name + Tl.Element.ColorTbx.Id+Tl.Postfix;
  279.    Tl.Element.ColorTbx.Id = ColorTbx.id;
  280.    ColorTbx.className = Tl.Element.ColorTbx.ClassName;
  281.    
  282.   pText.parentNode.insertBefore(ColorTbx, pText);
  283.   Tl.Element.ColorTbx.Main = document.getElementById(Tl.Element.ColorTbx.Id);
  284.   pColorTbx = Tl.Element.ColorTbx.Main;

  285.   var GoBtn = document.createElement("button");
  286.    GoBtn.innerHTML = "Go";
  287.    GoBtn.className = Tl.Element.CbxList.ClassName;
  288.    GoBtn.id = Tl.Init.Name + Tl.Element.GoBtn.Id+Tl.Postfix;
  289.    Tl.Element.GoBtn.Id = GoBtn.id;
  290.    
  291.    GoBtn.onclick = function()
  292.    {
  293.     var StartDt = new Date();
  294.     var ColorAr = fClearArrayRepeats(pColorTbx.value.split(","));
  295.     if(ColorAr.length ===0)
  296.     {
  297.      alert("颜色序列不能为空!");
  298.      return false;
  299.     }
  300.     Tl.Color.Set.sort();
  301.     ColorAr.sort();
  302.     
  303.     if(Tl.Color.Set.join("")!=ColorAr.join(""))
  304.     {
  305.      for(var i in Tl.ContainerHb.Object)
  306.      {
  307.       Tl.ContainerHb.Item(i).Content = null;
  308.      }
  309.     }
  310.     
  311.     Tl.Color.Set = ColorAr;
  312.     
  313.     fSetPAnchorStr();
  314.     
  315.     if
  316.     (
  317.      (
  318.       pTargetTbx.value == Tl.Faded.TargetTbx.Default
  319.       &&pTimeTbx.value == Tl.Faded.TimeTbx.Default
  320.      )==false
  321.     )
  322.     {
  323.      Tl.Faded.TargetTbx.Default = pTargetTbx.value;
  324.      Tl.Faded.TimeTbx.Default = pTimeTbx.value-0;
  325.      Tl.ContainerHb.Item("Faded").Content = null;
  326.     } // end if
  327.      
  328.     for(var i=0, j=pCbxList.length; i<j; i++)
  329.     {
  330.      var sId = Tl.Init.Name + pCbxList[i].value+Tl.Postfix;     
  331.      var oDiv = document.getElementById(sId);

  332.      if(pCbxList[i].checked)
  333.      {      
  334.       if
  335.       (
  336.        Tl.ContainerHb.Item(pCbxList[i].value).Content==null
  337.       )
  338.       {
  339.        Tl.ContainerHb.Item(pCbxList[i].value).Content
  340.        = Tl.ContainerHb.Item(pCbxList[i].value).Exec();
  341.       }
  342.       oDiv.innerHTML = Tl.ContainerHb.Item(pCbxList[i].value).Content;
  343.      }
  344.      else
  345.      {
  346.       oDiv.innerHTML = "";
  347.      }
  348.     } // end for
  349.     
  350.     fPutAnchorStr();
  351.     
  352.     var EndDt = new Date();
  353.     
  354.     if(Tl.Status)defaultStatus = 
  355.      Tl.Au.Subject+" "+Tl.Au.Version+" 耗时: "+(EndDt-StartDt)+" 毫秒";
  356.    } // end GoBtn.onclick
  357.    
  358.   pText.parentNode.insertBefore(GoBtn, pText);
  359.   Tl.Element.GoBtn.Main = document.getElementById(Tl.Element.GoBtn.Id);
  360.   pGoBtn = Tl.Element.GoBtn.Main;
  361.   
  362.   pColorTbx.parentNode.insertBefore
  363.   (
  364.    document.createTextNode("Web颜色值(例:black,white,#000,#fff): ")
  365.    ,pGoBtn
  366.   );
  367.   
  368.   pGoBtn.parentNode.insertBefore
  369.   (
  370.    document.createElement("br")
  371.    ,pGoBtn
  372.   );
  373.   
  374.   
  375.   var HotBtn = document.createElement("button");
  376.    HotBtn.innerHTML = "暖色";
  377.    HotBtn.className = Tl.Element.CbxList.ClassName;
  378.    
  379.    HotBtn.onclick = function()
  380.    {   
  381.     for(var i=0, j=pCbxList.length; i<j; i++)
  382.     {     
  383.      var Re = new RegExp("//b"+pCbxList[i].value+"//b", "i");
  384.      
  385.      if(Re.test(Tl.Color.Hot))
  386.      {
  387.       pCbxList[i].checked = true;
  388.      }
  389.      else
  390.      {
  391.       pCbxList[i].checked = false;
  392.      }
  393.     } // end for
  394.     pGoBtn.click();
  395.    }
  396.   pText.parentNode.insertBefore(HotBtn, pText);
  397.   

  398.   var CoolBtn = document.createElement("button");
  399.    CoolBtn.innerHTML = "冷色";
  400.    CoolBtn.className = Tl.Element.CbxList.ClassName;
  401.    
  402.    CoolBtn.onclick = function()
  403.    {    
  404.     for(var i=0, j=pCbxList.length; i<j; i++)
  405.     {     
  406.      var Re = new RegExp("//b"+pCbxList[i].value+"//b", "i");
  407.      
  408.      if(Re.test(Tl.Color.Cool))
  409.      {
  410.       pCbxList[i].checked = true;
  411.      }
  412.      else
  413.      {
  414.       pCbxList[i].checked = false;
  415.      }
  416.     } // end for
  417.     pGoBtn.click();
  418.    }
  419.   pText.parentNode.insertBefore(CoolBtn, pText);
  420.  
  421.   
  422.   var NeutralBtn = document.createElement("button");
  423.    NeutralBtn.innerHTML = "中色";
  424.    NeutralBtn.className = Tl.Element.CbxList.ClassName;
  425.    
  426.    NeutralBtn.onclick = function()
  427.    {    
  428.     for(var i=0, j=pCbxList.length; i<j; i++)
  429.     {
  430.      var Re = new RegExp("//b"+pCbxList[i].value+"//b", "i");
  431.      
  432.      if(Re.test(Tl.Color.Neutral))
  433.      {
  434.       pCbxList[i].checked = true;
  435.      }
  436.      else
  437.      {
  438.       pCbxList[i].checked = false;
  439.      }
  440.     } // end for
  441.     pGoBtn.click();
  442.    }
  443.   pText.parentNode.insertBefore(NeutralBtn, pText);
  444.   
  445.  
  446.   var NoneBtn = document.createElement("button");
  447.    NoneBtn.innerHTML = "无色";
  448.    NoneBtn.className = Tl.Element.CbxList.ClassName;
  449.    
  450.    NoneBtn.onclick = function()
  451.    {    
  452.     for(var i=0, j=pCbxList.length; i<j; i++)
  453.     {
  454.      var Re = new RegExp("//b"+pCbxList[i].value+"//b", "i");
  455.      
  456.      if(Re.test(Tl.Color.None))
  457.      {
  458.       pCbxList[i].checked = true;
  459.      }
  460.      else
  461.      {
  462.       pCbxList[i].checked = false;
  463.      }
  464.     } // end for
  465.     pGoBtn.click();
  466.    }
  467.   pText.parentNode.insertBefore(NoneBtn, pText);
  468.   
  469.  
  470.   var WhiteBtn = document.createElement("button");
  471.    WhiteBtn.innerHTML = "白色";
  472.    WhiteBtn.className = Tl.Element.CbxList.ClassName;
  473.    
  474.    WhiteBtn.onclick = function()
  475.    {    
  476.     for(var i=0, j=pCbxList.length; i<j; i++)
  477.     {
  478.      var Re = new RegExp("//b"+pCbxList[i].value+"//b", "i");
  479.      
  480.      if(Re.test(Tl.Color.White))
  481.      {
  482.       pCbxList[i].checked = true;
  483.      }
  484.      else
  485.      {
  486.       pCbxList[i].checked = false;
  487.      }
  488.     } // end for
  489.     pGoBtn.click();
  490.    }
  491.   pText.parentNode.insertBefore(WhiteBtn, pText);
  492.   
  493.  
  494.   var WebBtn = document.createElement("button");
  495.    WebBtn.innerHTML = "Web";
  496.    WebBtn.className = Tl.Element.CbxList.ClassName;
  497.    
  498.    WebBtn.onclick = function()
  499.    {    
  500.     for(var i=0, j=pCbxList.length; i<j; i++)
  501.     {
  502.      var Re = new RegExp("//b"+pCbxList[i].value+"//b", "i");
  503.      
  504.      if(Re.test(Tl.Color.Web))
  505.      {
  506.       pCbxList[i].checked = true;
  507.      }
  508.      else
  509.      {
  510.       pCbxList[i].checked = false;
  511.      }
  512.     } // end for
  513.     pGoBtn.click();
  514.    }
  515.   pText.parentNode.insertBefore(WebBtn, pText);
  516.  
  517.  
  518.   var CompColorBtn = document.createElement("button");
  519.    CompColorBtn.innerHTML = "补色";
  520.    CompColorBtn.className = Tl.Element.CbxList.ClassName;
  521.    
  522.    CompColorBtn.onclick = function()
  523.    {    
  524.     for(var i=0, j=pCbxList.length; i<j; i++)
  525.     {
  526.      var Re = new RegExp("//b"+pCbxList[i].value+"//b", "i");
  527.      
  528.      if(Re.test(Tl.Color.CompColor))
  529.      {
  530.       pCbxList[i].checked = true;
  531.      }
  532.      else
  533.      {
  534.       pCbxList[i].checked = false;
  535.      }
  536.     } // end for
  537.     pGoBtn.click();
  538.    }
  539.   pText.parentNode.insertBefore(CompColorBtn, pText);
  540.   
  541.  
  542.   var JpBtm = document.createElement("button");
  543.    JpBtm.innerHTML = "Jp";
  544.    JpBtm.className = Tl.Element.CbxList.ClassName;
  545.    
  546.    JpBtm.onclick = function()
  547.    {    
  548.     for(var i=0, j=pCbxList.length; i<j; i++)
  549.     {
  550.      var Re = new RegExp("//b"+pCbxList[i].value+"//b", "i");
  551.      
  552.      if(Re.test(Tl.Color.Jp))
  553.      {
  554.       pCbxList[i].checked = true;
  555.      }
  556.      else
  557.      {
  558.       pCbxList[i].checked = false;
  559.      }
  560.     } // end for
  561.     pGoBtn.click();
  562.    }
  563.   pText.parentNode.insertBefore(JpBtm, pText);
  564.   
  565.   
  566.   pText.parentNode.insertBefore(document.createElement("br"), pText);
  567.   
  568.   
  569.     
  570.   Tl.Faded.FadeTo.Id = Tl.Init.Name + Tl.Faded.FadeTo.Id + Tl.Postfix;
  571.   var FadedBtn = document.createElement("button");
  572.    FadedBtn.innerHTML = "渐变至";
  573.       FadedBtn.id = Tl.Faded.FadeTo.Id;
  574.    FadedBtn.className = Tl.Element.CbxList.ClassName;
  575.    
  576.    FadedBtn.onclick = function()
  577.    {    
  578.     for(var i=0, j=pCbxList.length; i<j; i++)
  579.     {
  580.      var Re = new RegExp("//b"+pCbxList[i].value+"//b", "i");
  581.      
  582.      if(Re.test(Tl.Color.Faded))
  583.      {
  584.       pCbxList[i].checked = true;
  585.      }
  586.      else
  587.      {
  588.       pCbxList[i].checked = false;
  589.      }
  590.     } // end for
  591.     pGoBtn.click();
  592.    }
  593.   pText.parentNode.insertBefore(FadedBtn, pText);
  594.     pFadeTo = document.getElementById(Tl.Faded.FadeTo.Id);
  595.     Tl.Faded.FadeTo.Main = pFadeTo;
  596.   
  597.   Tl.Faded.TargetTbx.Id = Tl.Init.Name + Tl.Faded.TargetTbx.Id + Tl.Postfix;
  598.   var TargetTbx = document.createElement("input");
  599.    TargetTbx.type = "text";
  600.    TargetTbx.size = 6;
  601.    TargetTbx.id = Tl.Faded.TargetTbx.Id;
  602.    TargetTbx.value = Tl.Faded.TargetTbx.Default;
  603.    TargetTbx.className = Tl.Element.CbxList.ClassName;

  604.   pText.parentNode.insertBefore(TargetTbx, pText);
  605.   Tl.Faded.TargetTbx.Main = document.getElementById(Tl.Faded.TargetTbx.Id);
  606.   pTargetTbx = Tl.Faded.TargetTbx.Main;
  607.   pText.parentNode.insertBefore(document.createTextNode(":Hex Color "), pText);
  608.     
  609.   var TempTextNode = document.createTextNode("| Fading To: ");
  610.   pText.parentNode.insertBefore(TempTextNode, pText);
  611.     
  612.     Tl.Faded.ChangeSle.HashTable = new HashTable();
  613.     Tl.Faded.ChangeSle.HashTable.Add("Black", "#000000", {Zh:"黑色"});
  614.     Tl.Faded.ChangeSle.HashTable.Add("White", "#ffffff", {Zh:"白色"});
  615.     Tl.Faded.ChangeSle.HashTable.Add("Red", "#ff0000", {Zh:"红色"});
  616.     Tl.Faded.ChangeSle.HashTable.Add("Orange", "#FF7F00", {Zh:"橙色"});
  617.     Tl.Faded.ChangeSle.HashTable.Add("Yellow", "#ffff00", {Zh:"黄色"});
  618.     Tl.Faded.ChangeSle.HashTable.Add("Green", "#00FF00", {Zh:"绿色"});
  619.     Tl.Faded.ChangeSle.HashTable.Add("Cyan", "#00FFFF", {Zh:"青色"});
  620.     Tl.Faded.ChangeSle.HashTable.Add("Blue", "#0000ff", {Zh:"蓝色"});
  621.     Tl.Faded.ChangeSle.HashTable.Add("Purple", "#660099", {Zh:"紫色"});
  622.     
  623.     Tl.Faded.ChangeSle.Id = Tl.Init.Name + Tl.Faded.ChangeSle.Id + Tl.Postfix;
  624.     var ChangeSle = document.createElement("select");
  625.      ChangeSle.id = Tl.Faded.ChangeSle.Id;
  626.    ChangeSle.className = Tl.Element.CbxList.ClassName;
  627.     
  628.   pText.parentNode.insertBefore(ChangeSle, pText);
  629.     pChangeSle = document.getElementById(Tl.Faded.ChangeSle.Id);
  630.     
  631.     for(var i in   Tl.Faded.ChangeSle.HashTable.Object)
  632.     {
  633.       var MyItem = Tl.Faded.ChangeSle.HashTable.Item(i);
  634.       if(MyItem+""==Tl.Faded.ChangeSle.Default)
  635.       {
  636.         fAddOption(pChangeSle, MyItem.Zh, MyItem, truetrue);
  637.       }
  638.     }
  639.     
  640.     for(var i in   Tl.Faded.ChangeSle.HashTable.Object)
  641.     {
  642.       var MyItem = Tl.Faded.ChangeSle.HashTable.Item(i);
  643.       if(MyItem+""!=Tl.Faded.ChangeSle.Default)
  644.       {
  645.         fAddOption(pChangeSle, MyItem.Zh, MyItem, falsefalse);
  646.       }
  647.     }
  648.     
  649.     pChangeSle.onchange =
  650.      function()
  651.       {
  652.         if(this.value!=pTargetTbx.value)
  653.         {
  654.           pTargetTbx.value = this.value;
  655.           pFadeTo.click();
  656.         }
  657.       }
  658.   
  659.   Tl.Faded.TimeTbx.Id = Tl.Init.Name + Tl.Faded.TimeTbx.Id + Tl.Postfix;
  660.   var TimeTbx = document.createElement("input");
  661.    TimeTbx.type = "text";
  662.    TimeTbx.size = 3;
  663.    TimeTbx.id = Tl.Faded.TimeTbx.Id;
  664.    TimeTbx.value = Tl.Faded.TimeTbx.Default;
  665.    TimeTbx.className = Tl.Element.CbxList.ClassName;

  666.   pText.parentNode.insertBefore(TimeTbx, pText);
  667.   Tl.Faded.TimeTbx.Main = document.getElementById(Tl.Faded.TimeTbx.Id);
  668.   pTimeTbx = Tl.Faded.TimeTbx.Main;
  669.   pText.parentNode.insertBefore(document.createTextNode(":Integer Times "), pText);
  670.   
  671.   
  672.   pText.parentNode.insertBefore(document.createElement("br"), pText);

  673.   
  674.   var SleAllBtn = document.createElement("button");
  675.    SleAllBtn.innerHTML = "全选";
  676.    SleAllBtn.className = Tl.Element.CbxList.ClassName;
  677.    
  678.    SleAllBtn.onclick = function()
  679.    {
  680.     var bConfirm = confirm("现在全选?");
  681.     if(!bConfirm) return false;
  682.     
  683.     for(var i=0, j=pCbxList.length; i<j; i++)
  684.     {
  685.      pCbxList[i].checked = true;
  686.     } // end for
  687.     pGoBtn.click();
  688.    }
  689.    
  690.   pText.parentNode.insertBefore(SleAllBtn, pText);
  691.   
  692.   
  693.   var SleInvertBtn = document.createElement("button");
  694.    SleInvertBtn.innerHTML = "反选";
  695.    SleInvertBtn.className = Tl.Element.CbxList.ClassName;
  696.    
  697.    SleInvertBtn.onclick = function()
  698.    {    
  699.     var bConfirm = confirm("现在反选?");
  700.     if(!bConfirm) return false;
  701.     
  702.     for(var i=0, j=pCbxList.length; i<j; i++)
  703.     {
  704.      if(pCbxList[i].checked)
  705.      {
  706.       pCbxList[i].checked = false;
  707.      }
  708.      else
  709.      {
  710.       pCbxList[i].checked = true;
  711.      }
  712.       
  713.     } // end for
  714.     pGoBtn.click();
  715.    }
  716.   pText.parentNode.insertBefore(SleInvertBtn, pText);
  717.   
  718.   
  719.   var SleNoneBtn = document.createElement("button");
  720.    SleNoneBtn.innerHTML = "不选";
  721.    SleNoneBtn.className = Tl.Element.CbxList.ClassName;
  722.    
  723.    SleNoneBtn.onclick = function()
  724.    {    
  725.     for(var i=0, j=pCbxList.length; i<j; i++)
  726.     {
  727.      pCbxList[i].checked = false;
  728.     } // end for
  729.     pGoBtn.click();
  730.    }
  731.   pText.parentNode.insertBefore(SleNoneBtn, pText);
  732.   
  733.   
  734.   var FirstBtn = document.createElement("button");
  735.    FirstBtn.innerHTML = "首项";
  736.    FirstBtn.className = Tl.Element.CbxList.ClassName;
  737.    
  738.    FirstBtn.onclick = function()
  739.    {    
  740.     for(var i=0, j=pCbxList.length; i<j; i++)
  741.     {
  742.      pCbxList[i].checked = false;;
  743.     } // end for
  744.     pCbxList[0].checked = true;
  745.     pGoBtn.click();
  746.    }
  747.   pText.parentNode.insertBefore(FirstBtn, pText);
  748.   
  749.   
  750.   var PrevBtn = document.createElement("button");
  751.    PrevBtn.innerHTML = "上项";
  752.    PrevBtn.className = Tl.Element.CbxList.ClassName;
  753.    
  754.    PrevBtn.onclick = function()
  755.    {    
  756.     var iIndex = null;
  757.     
  758.     for(var i=0, j=pCbxList.length; i<j; i++)
  759.     {     
  760.      if(pCbxList[i].checked) iIndex = i;     
  761.      pCbxList[i].checked = false;
  762.     } // end for
  763.     
  764.     if(iIndex!=null)
  765.     {
  766.      if(iIndex===0) iIndex = pCbxList.length-1;
  767.      else iIndex--;
  768.     }
  769.     else
  770.     {
  771.      iIndex = 0;
  772.     }
  773.      pCbxList[iIndex].checked = true
  774.     pGoBtn.click();
  775.    }
  776.   pText.parentNode.insertBefore(PrevBtn, pText);
  777.   
  778.   
  779.   var NextBtn = document.createElement("button");
  780.    NextBtn.innerHTML = "下项";
  781.    NextBtn.className = Tl.Element.CbxList.ClassName;
  782.    
  783.    NextBtn.onclick = function()
  784.    {    
  785.     var iIndex = null;
  786.     
  787.     for(var i=0, j=pCbxList.length; i<j; i++)
  788.     {     
  789.      if(pCbxList[i].checked) iIndex = i;
  790.      pCbxList[i].checked = false;
  791.     } // end for
  792.     
  793.     if(iIndex!=null)
  794.     {
  795.      if(iIndex===pCbxList.length-1) iIndex = 0;
  796.      else iIndex++;
  797.     }
  798.     else
  799.     {
  800.      iIndex = 0;
  801.     }
  802.      pCbxList[iIndex].checked = true
  803.     pGoBtn.click();
  804.    }
  805.   pText.parentNode.insertBefore(NextBtn, pText);
  806.   
  807.   
  808.   var LastBtn = document.createElement("button");
  809.    LastBtn.innerHTML = "末项";
  810.    LastBtn.className = Tl.Element.CbxList.ClassName;
  811.    
  812.    LastBtn.onclick = function()
  813.    {    
  814.     for(var i=0, j=pCbxList.length; i<j; i++)
  815.     {
  816.      pCbxList[i].checked = false;
  817.     } // end for
  818.     pCbxList[pCbxList.length-1].checked = true;
  819.     pGoBtn.click();
  820.    }
  821.   pText.parentNode.insertBefore(LastBtn, pText);
  822.   
  823.   
  824.   var TextEle = document.createTextNode("显示:");
  825.   pText.parentNode.insertBefore(TextEle, pText);
  826.   
  827.   Tl.Theme.Select.Id = Tl.Init.Name + Tl.Theme.Select.Id + Tl.Postfix;
  828.   
  829.   var ThemeSle = document.createElement("select");
  830.    
  831.    ThemeSle.className = Tl.Element.InvertCbx.ClassName;
  832.    ThemeSle.id = Tl.Theme.Select.Id;
  833.    
  834.    pText.parentNode.insertBefore(ThemeSle, pText);
  835.    
  836.    Tl.Theme.Select.Main = document.getElementById(Tl.Theme.Select.Id);
  837.    pSelect = Tl.Theme.Select.Main ;
  838.    
  839.   // 清除非 Onload Bug For IE
  840.   if(Tl.Theme.Default in Tl.Theme.HashTable.Object)
  841.   {
  842.    fAddOption(pSelect, Tl.Theme.HashTable.Item(Tl.Theme.Default), Tl.Theme.Defaulttruetrue);
  843.   }
  844.   
  845.   for(var i in Tl.Theme.HashTable.Object)
  846.   {
  847.    if(i!=Tl.Theme.Default)
  848.    {
  849.     fAddOption(pSelect, Tl.Theme.HashTable.Item(i), i, falsefalse);
  850.    }
  851.   } // end if
  852.    
  853.   pSelect.onchange =
  854.    function()
  855.    {
  856.     fSetNullContainerHbContent();
  857.     
  858.     Tl.Theme.Default = this.value;
  859.     pGoBtn.click();
  860.    }
  861.   
  862.   var TextEle = document.createTextNode("反向:");
  863.   pText.parentNode.insertBefore(TextEle, pText);
  864.   
  865.   
  866.   var TempEle = document.createElement("input");
  867.    TempEle.type = "checkbox";
  868.    TempEle.className = Tl.Element.InvertCbx.ClassName;
  869.    TempEle.id = Tl.Init.Name + Tl.Element.InvertCbx.Id+Tl.Postfix;
  870.    Tl.Element.InvertCbx.Id = TempEle.id;
  871.    
  872.   pText.parentNode.insertBefore(TempEle, pText);
  873.   
  874.   Tl.Element.InvertCbx.Main = document.getElementById(Tl.Element.InvertCbx.Id);
  875.   pInvertCbx = Tl.Element.InvertCbx.Main;
  876.   
  877.   pInvertCbx.onclick =
  878.    function()
  879.    {    
  880.     fSetNullContainerHbContent();
  881.     
  882.     if(this.checked)
  883.     {
  884.      Tl.Invert = true;
  885.     }
  886.     else
  887.     {
  888.      Tl.Invert = false;
  889.     }
  890.     pGoBtn.click();
  891.    } // end pInvertCbx.onclick
  892.   
  893.  } // end function fGo
  894.   
  895.  function fGetCompColor(sInput, sOpt, bNoSharp, bDebug)
  896.  {// shawl.qiu script
  897.   if(!sInput) sInput = "#000000";
  898.   if(!sOpt) sOpt = 'hex';
  899.   sOpt = sOpt.toLowerCase();
  900.   
  901.   var arCell = [];
  902.   var arHex = [];
  903.   var arHexFinal = [];
  904.   var arInt = [];
  905.   var arIntFinal = [];
  906.   
  907.   var Debug = bDebug;
  908.   
  909.   if(Debug)
  910.   {
  911.    alert
  912.    (
  913.     "sInput: "+sInput
  914.     +" sOpt: "+sOpt
  915.    );
  916.   }
  917.   
  918.   sInput = sInput.replace(/^/#/, "");
  919.    
  920.   switch(sOpt)
  921.   {
  922.    case "rgb":
  923.     break;
  924.     
  925.    default:
  926.     
  927.     if(sInput.length==3)
  928.     {
  929.      var arTemp = fStringToArray(sInput);
  930.      sInput = ""+arTemp[0]+arTemp[0]+arTemp[1]+arTemp[1]+arTemp[2]+arTemp[2];
  931.     }
  932.     
  933.     if(sInput.length==6)
  934.     {
  935.      arCell = fStringToArray(sInput);     
  936.      
  937.      arHex[0] = "0x"+arCell[0]+arCell[1];
  938.      arHex[1] = "0x"+arCell[2]+arCell[3];
  939.      arHex[2] = "0x"+arCell[4]+arCell[5];
  940.      
  941.      arInt[0] = parseInt(arHex[0], 16);
  942.      arInt[1] = parseInt(arHex[1], 16);
  943.      arInt[2] = parseInt(arHex[2], 16);
  944.      
  945.      arIntFinal[0] = Math.abs(255-arInt[0]);
  946.      arIntFinal[1] = Math.abs(255-arInt[1]);
  947.      arIntFinal[2] = Math.abs(255-arInt[2]);
  948.      
  949.      arHexFinal[0] = fPadStr(arIntFinal[0].toString(16)).toUpperCase();
  950.      arHexFinal[1] = fPadStr(arIntFinal[1].toString(16)).toUpperCase();
  951.      arHexFinal[2] = fPadStr(arIntFinal[2].toString(16)).toUpperCase();
  952.      
  953.      if(Debug)
  954.      {
  955.       alert("arCell: "+arCell);
  956.       alert("arHex: "+arHex);
  957.       alert("arInt: "+arInt);
  958.       alert("arIntFinal: "+arIntFinal);
  959.       alert("arHexFinal: "+arHexFinal);
  960.      }
  961.      
  962.      if(bNoSharp) return arHexFinal.join("");
  963.      
  964.      return "#"+arHexFinal.join("");
  965.     }
  966.     else
  967.     {
  968.      alert("无法识别的十六进制颜色代码!");
  969.     }
  970.     break;   
  971.   }
  972.   return "000000";
  973.  
  974.   function fStringToArray(sInput)
  975.   {// shawl.qiu script
  976.    var arCell = [];
  977.    var iCount = 0;
  978.    var iLen = sInput.length;
  979.    while(iCount<iLen)
  980.    {
  981.     arCell[iCount] = sInput.charAt(iCount);
  982.     iCount++;
  983.    }
  984.    
  985.    return arCell;
  986.   } // end function fStringToArray
  987.   
  988.   function fPadStr(sSrc, sPad, nLen)
  989.   {// shawl.qiu script
  990.    if(!sSrc)return false;
  991.    if(!sPad)sPad='0';
  992.    if(!nLen)nLen=2;
  993.    sSrc+='';
  994.    if(sSrc.length>=nLen)return sSrc;
  995.    sPad=new Array(nLen+1).join(sPad);
  996.    var re=new RegExp('.*(.{'+(nLen)+'})$');
  997.    return (sPad+sSrc).replace(re,'$1');
  998.   } // end function fPadStr
  999.  } // end function fGetCompColor
  1000.   
  1001.  function fAddOption(sle, text, value, defaultSelected, selected)
  1002.  {// shawl.qiu script
  1003.   if(!defaultSelected) defaultSelected = false;
  1004.   if(!selected) selected = false;
  1005.   sle.options[sle.options.length] = new Option(text, value, defaultSelected, selected);
  1006.  } // end function fAddOption
  1007.  
  1008.  function fRandomLetter(nLen, sCase)
  1009.  {// shawl.qiu code
  1010.   var ar='';
  1011.   var arUp=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S',
  1012.    'T','U','V','W','X','Y','Z'];
  1013.   var arLw=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t',
  1014.    'u','v','w','x','y','z'];
  1015.   var arDgt=[0,1,2,3,4,5,6,7,8,9];
  1016.   switch(sCase)
  1017.   {
  1018.    case 'upper': ar=arUp; break;
  1019.    case 'lower': ar=arLw; break;
  1020.    case 'letter': ar=arUp.concat(arLw)break;
  1021.    default:ar=arUp.concat(arLw, arDgt);
  1022.   }
  1023.   if(nLen&&nLen>0)
  1024.   {
  1025.    if(!isFinite(nLen))return false;
  1026.    if(nLen<0)return false;
  1027.    var iLetter='';
  1028.     nLen=parseInt(nLen);
  1029.     for(var i=0; i<nLen; i++)
  1030.     {
  1031.      iLetter+=ar[fRandomBy(0,ar.length-1)];
  1032.     }
  1033.     return iLetter;
  1034.   }
  1035.   return ar[fRandomBy(0,ar.length-1)];
  1036.  
  1037.   function fRandomBy(under, over)
  1038.   {// shawl.qiu script
  1039.    switch(arguments.length)
  1040.    {
  1041.     case 1: return parseInt(Math.random()*under+1);
  1042.     case 2: return parseInt(Math.random()*(over-under+1) + under);
  1043.     defaultreturn 0;
  1044.    } // end switch
  1045.   } // end function fRandomBy
  1046.  } // end function fRandomLetter
  1047.  
  1048.  function fClearArrayRepeats(ItemAr, bTrim, ReOptStr, iOrderOpt)
  1049.  {// shawl.qiu script
  1050.   var Debug = false;
  1051.   
  1052.   var ResultAr = [];
  1053.   var ResultArCount = 0;
  1054.   var MarkStr = "<>sqmark<>";
  1055.   var CopyAr = [];
  1056.   
  1057.   var iCount= 0;
  1058.   var iLen = ItemAr.length;
  1059.   
  1060.   if(!ReOptStr) ReOptStr = "gi";
  1061.   
  1062.   while(iCount<iLen)
  1063.   {
  1064.    if(bTrim)
  1065.     CopyAr[iCount] = MarkStr+ItemAr[iCount].replace(/^/s+|/s+$/g, "")+MarkStr;
  1066.    else
  1067.     CopyAr[iCount] = MarkStr+ItemAr[iCount]+MarkStr;
  1068.    iCount++;
  1069.   }
  1070.   
  1071.   var TempStr = "";
  1072.   
  1073.   var AllStr = CopyAr.join("");
  1074.   
  1075.   var TempAr = [];
  1076.   var GetItemRe = new RegExp(MarkStr+"(.*?)"+MarkStr, ReOptStr);
  1077.   
  1078.   AllStr.replace
  1079.   (
  1080.    GetItemRe,
  1081.    function($0, $1)
  1082.    {
  1083.     var IdStr = MarkStr+$1+MarkStr;
  1084.     if(TempStr.indexOf(IdStr)==-1)
  1085.     {
  1086.      if(Debug)
  1087.       alert(IdStr);
  1088.       
  1089.      TempStr += IdStr;
  1090.      ResultAr[ResultArCount++] = $1;
  1091.     }
  1092.    }
  1093.   )
  1094.   
  1095.   if(Debug)
  1096.   {
  1097.    alert
  1098.    (
  1099.     " ItemAr: "+ItemAr
  1100.     +"/n AllStr: "+AllStr
  1101.     +"/n ResultAr: "+ResultAr
  1102.    );
  1103.   }
  1104.   
  1105.   return fArOdr(ResultAr, iOrderOpt);
  1106.   
  1107.   function fArOdr(array, pram)
  1108.   {
  1109.    if(!pram)var pram=1;
  1110.    switch(pram)
  1111.    {
  1112.     case 2: return array.reverse();
  1113.     case 3: return array.sort(function(a,b){return a-b;});
  1114.     case 4: return array.sort(function(a,b){return b-a;});
  1115.     defaultreturn array.sort();
  1116.    } // end switch
  1117.   } // end function fArOdr
  1118.  } // function fClearArrayRepeats
  1119.  
  1120.  
  1121.  function fFade(sOriginalColor, sFinalColor, iTime, sOpt/*positive|negative|auto*/, bPadSharp)
  1122.  {// shawl.qiu script : return Array
  1123.   if(!sOriginalColor||sOriginalColor=="")
  1124.   {
  1125.    alert("原色不能为空!");
  1126.    return;
  1127.   }
  1128.   if(!sFinalColor||sFinalColor=="")
  1129.   {
  1130.    alert("最终色不能为空!");
  1131.    return;
  1132.   }
  1133.   if(!iTime||typeof(iTime)!="number") iTime = 5;
  1134.   if(!sOpt) sOpt = "auto";
  1135.   var sSharp = "";
  1136.   if(bPadSharp) sSharp = "#";
  1137.   
  1138.   var Debug = false;
  1139.   var oAr = fSplitColor(sOriginalColor);
  1140.   var oArInt = fHexArrayToInt(oAr);
  1141.   
  1142.   var fAr = fSplitColor(sFinalColor);
  1143.   var fArInt = fHexArrayToInt(fAr);
  1144.   
  1145.   var ReturnAr = [];
  1146.   
  1147.   switch(sOpt)
  1148.   {
  1149.    default:
  1150.     var SubtractAr = [];
  1151.     var SpanAr = [];
  1152.     var ReturnArInt = [];
  1153.     
  1154.     for(var i=0, j=oArInt.length; i<j; i++)
  1155.     {
  1156.      SubtractAr[i] = fArInt[i] - oArInt[i];
  1157.      SpanAr[i] = SubtractAr[i]/iTime;
  1158.     }
  1159.     
  1160.     for(var i=0, j=iTime; i<j; i++)
  1161.     {
  1162.      ReturnArInt[i] = [];
  1163.      ReturnArInt[i][0] = parseInt(oArInt[0]+(SpanAr[0]*(i+1)));
  1164.      ReturnArInt[i][1] = parseInt(oArInt[1]+(SpanAr[1]*(i+1)));
  1165.      ReturnArInt[i][2] = parseInt(oArInt[2]+(SpanAr[2]*(i+1)));
  1166.      
  1167.      ReturnAr[i] = ""
  1168.       +sSharp
  1169.       +fPadStr(ReturnArInt[i][0].toString(16)).toUpperCase()
  1170.       +fPadStr(ReturnArInt[i][1].toString(16)).toUpperCase()
  1171.       +fPadStr(ReturnArInt[i][2].toString(16)).toUpperCase()
  1172.       ;
  1173.     }
  1174.     sFinalColor= sFinalColor.replace(/^/#/, "");
  1175.     if(bPadSharp) sFinalColor = "#"+sFinalColor;
  1176.     ReturnAr[ReturnAr.length-1] = sFinalColor.toUpperCase();
  1177.     break;
  1178.   }
  1179.   
  1180.   if(Debug)
  1181.   {
  1182.    alert
  1183.    (
  1184.     " oAr: "+oAr
  1185.     +"/n oArInt: "+oArInt
  1186.     +"/n fAr: "+fAr
  1187.     +"/n fArInt: "+fArInt
  1188.     +"/n typeof(sOpt): "+typeof(sOpt)
  1189.     +"/n SubtractAr: "+SubtractAr
  1190.     +"/n SpanAr: "+SpanAr
  1191.     +"/n ReturnArInt: "+ReturnArInt
  1192.     +"/n ReturnAr: "+ReturnAr
  1193.    );
  1194.   } // end if
  1195.   
  1196.   return ReturnAr.slice();
  1197.   
  1198.   function fPadStr(sSrc, sPad, nLen)
  1199.   {// shawl.qiu script
  1200.    if(!sSrc)return false;
  1201.    if(!sPad)sPad='0';
  1202.    if(!nLen)nLen=2;
  1203.    sSrc+='';
  1204.    if(sSrc.length>=nLen)return sSrc;
  1205.    sPad=new Array(nLen+1).join(sPad);
  1206.    var re=new RegExp('.*(.{'+(nLen)+'})$');
  1207.    return (sPad+sSrc).replace(re,'$1');
  1208.   } // end function fPadStr
  1209.   
  1210.   function fHexArrayToInt(ar)
  1211.   { // shawl.qiu script : return array
  1212.    var TempAr = [];
  1213.    for(var i=0, j=ar.length; i<j; i++)
  1214.    {
  1215.     TempAr[i] = parseInt(ar[i], 16);
  1216.    }
  1217.    return TempAr.slice();
  1218.   } // end function fHexArrayToInt
  1219.   
  1220.   function fSplitColor(sColor)
  1221.   { // shawl.qiu script : return array
  1222.    if(!sColor||sColor=="")
  1223.    {
  1224.     alert("颜色不能为空!");
  1225.     return;
  1226.    }
  1227.    var Debug = true;
  1228.    sColor = sColor.replace(/^/#/, "");
  1229.    if(sColor.length == 3)
  1230.    {
  1231.     var sTemp = "";
  1232.     for(var i = 0, j=sColor.length; i<j; i++)
  1233.     {
  1234.      sTemp+= ""+sColor.charAt(i)+sColor.charAt(i);
  1235.     }
  1236.     sColor = sTemp;
  1237.    }
  1238.    
  1239.    if(sColor.length!=6)
  1240.    {
  1241.     alert("无法识别的颜色代码!")
  1242.     return;
  1243.    }
  1244.    
  1245.    var arHex = [];
  1246.    arHex[0] = ""+sColor.charAt(0)+sColor.charAt(1);
  1247.    arHex[1] = ""+sColor.charAt(2)+sColor.charAt(3);
  1248.    arHex[2] = ""+sColor.charAt(4)+sColor.charAt(5);
  1249.    
  1250.    return arHex.slice();
  1251.   } // end function fSplitColor
  1252.   
  1253.  } // end function fFade

  1254.  function fRed()
  1255.  { // return string
  1256.   var Ar = [];
  1257.   
  1258.   var Hb = new HashTable();
  1259.   
  1260.    //红色系
  1261.    Hb.Add("Alizarin", "#E32636", {En:"Alizarin", Zh:"深茜红"});
  1262.    Hb.Add("Amaranth", "#E52B50", {En:"Amaranth", Zh:"紫红色"});
  1263.    Hb.Add("Burgundy", "#900020", {En:"Burgundy", Zh:"勃艮第酒红"});
  1264.    Hb.Add("Cardinal", "#C41E3A", {En:"Cardinal", Zh:"枢机红"});
  1265.    Hb.Add("Carmine", "#960018", {En:"Carmine", Zh:"胭脂红"});
  1266.    Hb.Add("Cerise", "#DE3163", {En:"Cerise", Zh:"樱桃红"});
  1267.    Hb.Add("Chestnut", "#CD5C5C", {En:"Chestnut", Zh:"栗子色"});
  1268.    Hb.Add("CoralRed", "#FF4040", {En:"CoralRed", Zh:"珊瑚红"});
  1269.    Hb.Add("Crimson", "#DC143C", {En:"Crimson", Zh:"珊瑚红"});
  1270.    Hb.Add("DarkPink", "#E75480", {En:"DarkPink", Zh:"深粉色"});
  1271.    Hb.Add("FaluRed", "#801818", {En:"FaluRed", Zh:"未知"});
  1272.    Hb.Add("FireEngineRed", "#CE2029", {En:"FireEngineRed", Zh:"未知"});
  1273.    
  1274.    Hb.Add("Fuchsia", "#FF00FF", {En:"Fuchsia", Zh:"品红"});
  1275.    Hb.Add("Girlsnberry", "#D15C5C", {En:"Girlsnberry", Zh:"Girlsnberry"});
  1276.    Hb.Add("HollyWoodCerise", "#F400A1", {En:"HollyWoodCerise", Zh:"HollyWoodCerise"});
  1277.    Hb.Add("Magenta", "#FF0090", {En:"Magenta", Zh:"洋红"});
  1278.    Hb.Add("Maroon", "#800000", {En:"Maroon", Zh:"栗色"});
  1279.    Hb.Add("Mauve", "#E0B0FF", {En:"Mauve", Zh:"木槿紫"});
  1280.    Hb.Add("PersianRed", "#CC3333", {En:"PersianRed", Zh:"波斯红"});
  1281.    Hb.Add("Pink", "#FFC0CB", {En:"Pink", Zh:"粉红"});
  1282.    Hb.Add("Pomegranate", "#F34723", {En:"Pomegranate", Zh:"石榴红"});
  1283.    Hb.Add("Red", "#FF0000", {En:"Red", Zh:"红色"});
  1284.    Hb.Add("RedViolet", "#C71585", {En:"RedViolet", Zh:"紫红"});
  1285.    Hb.Add("Rose", "#FF007F", {En:"Rose", Zh:"玫瑰红"});
  1286.    
  1287.    Hb.Add("Rust", "#B7410E", {En:"Rust", Zh:"铁锈红"});
  1288.    Hb.Add("Puce", "#CC8899", {En:"Puce", Zh:"红褐色"});
  1289.    Hb.Add("Sangria", "#92000A", {En:"Sangria", Zh:"桑格里洒红"});
  1290.    Hb.Add("Scarlet", "#FF2400", {En:"Scarlet", Zh:"腥红"});
  1291.    Hb.Add("ShockingPink", "#FC0FC0", {En:"ShockingPink", Zh:"ShockingPink"});

  1292.    Hb.Add("TerraCotta", "#CC4E5C", {En:"TerraCotta", Zh:"TerraCotta"});
  1293.    Hb.Add("VenetianRed", "#C80815", {En:"VenetianRed", Zh:"威尼斯红"});
  1294.    Hb.Add("Vermilion", "#E34234", {En:"Vermilion", Zh:"朱红"});
  1295.    
  1296.    Hb.Add("Ruby", "#C80852", {En:"Ruby", Zh:"宝石红"});
  1297.    Hb.Add("RosePink", "#EE869A", {En:"RosePink", Zh:"浅玫瑰红"});
  1298.    Hb.Add("SpinelRed", "#F09192", {En:"SpinelRed", Zh:"尖晶石红"});
  1299.    Hb.Add("OperaMauve", "#E198C0", {En:"OperaMauve", Zh:"优品紫红"});
  1300.    Hb.Add("CoralPink", "#F19C9F", {En:"CoralPink", Zh:"浅珊瑚红"});
  1301.    Hb.Add("Flamingo", "#F5B2B2", {En:"Flamingo", Zh:"火鹤红"});
  1302.    Hb.Add("PearlPink", "#F7C8CF", {En:"PearlPink", Zh:"浅珍珠红"});
  1303.    Hb.Add("ShellPink", "#F8C6B5", {En:"ShellPink", Zh:"壳黄红"});
  1304.    Hb.Add("BabyPink", "#FCE5DF", {En:"BabyPink", Zh:"浅粉红"});
  1305.    Hb.Add("SalmonPink", "#F29B87", {En:"SalmonPink", Zh:"鲑红"});
  1306.    Hb.Add("StrongRed", "#D8000F", {En:"StrongRed", Zh:"鲜红"});
  1307.    Hb.Add("OldRose", "#C2737F", {En:"OldRose", Zh:"灰玫红"});
  1308.    
  1309.    var sIdentifier = "Red";
  1310.  
  1311.    fShowAnchorNav(sIdentifier, "红色系", Ar);
  1312.    
  1313.    fDisplay(Hb, sIdentifier, Ar);
  1314.    
  1315.    Ar.push("<hr/>");
  1316.    
  1317.    Hb = null;
  1318.   
  1319.   return Ar.join("");
  1320.  } // end function fRed
  1321.  
  1322.  function fOrange()
  1323.  {
  1324.   var Ar = [];
  1325.   var Hb = new HashTable();
  1326.   
  1327.    //橙色系
  1328.    
  1329.    Hb.Add("Orange", "#FF7F00", {En:"Orange", Zh:"橙色"});
  1330.    Hb.Add("Amber", "#FFBF00", {En:"Amber", Zh:"琥珀色"});
  1331.    Hb.Add("Coral", "#FF7F50", {En:"Coral", Zh:"珊瑚红"});
  1332.    Hb.Add("DarkSalmon", "#E9967A", {En:"DarkSalmon", Zh:"暗鲑红"});
  1333.    Hb.Add("Gamboge", "#EF9B0F", {En:"Gamboge", Zh:"橙黄色"});
  1334.    Hb.Add("InternationalOrange", "#FF4F00", {En:"InternationalOrange", Zh:"国际橙"});
  1335.    Hb.Add("Mahogany", "#C04000", {En:"Mahogany", Zh:"桃木红"});
  1336.    Hb.Add("Peach", "#FFE5B4", {En:"Peach", Zh:"桃色"});
  1337.    Hb.Add("PeachOrange", "#FFCC99", {En:"PeachOrange", Zh:"桃橙色"});
  1338.    Hb.Add("PeachYellow", "#FADFAD", {En:"PeachYellow", Zh:"桃黄色"});
  1339.    Hb.Add("PinkOrange", "#FF9966", {En:"PinkOrange", Zh:"粉橙色"});
  1340.    Hb.Add("Pomegranate", "#F34723", {En:"Pomegranate", Zh:"石榴红"});
  1341.    Hb.Add("Pumpkin", "#FF7518", {En:"Pumpkin", Zh:"南瓜色"});
  1342.    
  1343.    Hb.Add("Rust", "#B7410E", {En:"Rust", Zh:"铁锈红"});
  1344.    Hb.Add("SafetyOrange", "#FF6600", {En:"SafetyOrange", Zh:"SafetyOrange"});
  1345.    Hb.Add("Salmon", "#FF8C69", {En:"Salmon", Zh:"鲑红"});
  1346.    Hb.Add("Tangerine", "#F28500", {En:"Tangerine", Zh:"橘色"});
  1347.    Hb.Add("Tawny", "#CD5700", {En:"Tawny", Zh:"黄褐色"});
  1348.    Hb.Add("UneceAmber", "#FF7E00", {En:"UneceAmber", Zh:"UneceAmber"});
  1349.    Hb.Add("Vermilion", "#E34234", {En:"Vermilion", Zh:"朱红"});
  1350.    Hb.Add("BurntOrange", "#CC5500", {En:"BurntOrange", Zh:"燃橙"});
  1351.    Hb.Add("Apricot", "#FBCEB1", {En:"Apricot", Zh:"杏黄"});
  1352.    Hb.Add("CarrotOrange", "#ED9121", {En:"CarrotOrange", Zh:"胡萝卜橙"});
  1353.    Hb.Add("OrangePeel", "#FFA000", {En:"OrangePeel", Zh:"OrangePeel"});
  1354.    Hb.Add("OrangeWeb", "#FFA500", {En:"OrangeWeb", Zh:"橙色"});
  1355.    Hb.Add("Brown", "#964B00", {En:"Brown", Zh:"褐色"});
  1356.    
  1357.    Hb.Add("Persimmon", "#ED6E3D", {En:"Persimmon", Zh:"柿子橙"});
  1358.    Hb.Add("SunOrange", "#F18D00", {En:"SunOrange", Zh:"阳橙"});
  1359.    Hb.Add("TropicalOrange", "#F39839", {En:"TropicalOrange", Zh:"热带橙"});
  1360.    Hb.Add("HoneyOrange", "#F9C270", {En:"HoneyOrange", Zh:"密橙"});
  1361.    Hb.Add("Apricot1", "#E5A96B", {En:"Apricot1", Zh:"杏黄"});
  1362.    Hb.Add("SandBeige", "#ECD6CA", {En:"SandBeige", Zh:"沙棕"});
  1363.    Hb.Add("Beige", "#E3CCA9", {En:"Beige", Zh:"棕"});
  1364.    Hb.Add("PaleOcre", "#D3B78F", {En:"PaleOcre", Zh:"灰土"});
  1365.    Hb.Add("Camel", "#B58654", {En:"Camel", Zh:"驼"});
  1366.    Hb.Add("CocountBrown", "#6A3315", {En:"CocountBrown", Zh:"椰褐"});
  1367.    
  1368.    var sIdentifier = "Orange";
  1369.    fShowAnchorNav(sIdentifier, "橙色系", Ar);
  1370.    
  1371.    fDisplay(Hb, sIdentifier, Ar);
  1372.    
  1373.    Ar.push("<hr/>");
  1374.    
  1375.    Hb = null;
  1376.    
  1377.   return Ar.join("");
  1378.  } // end function fOrange
  1379.  
  1380.  function fYellow()
  1381.  {
  1382.   var Ar = [];
  1383.   var Hb = new HashTable();
  1384.   
  1385.    //黄色系
  1386.    
  1387.    Hb.Add("Amber", "#FFBF00", {En:"Amber", Zh:"琥珀色"});
  1388.    Hb.Add("Beige", "#F5F5DC", {En:"Beige", Zh:"棕色"});
  1389.    Hb.Add("Buff", "#F0DC82", {En:"Buff", Zh:"暗黄色"});
  1390.    Hb.Add("Corn", "#FBEC5D", {En:"Corn", Zh:"玉米色"});
  1391.    Hb.Add("Cream", "#FFFDD0", {En:"Cream", Zh:"奶油色"});
  1392.    Hb.Add("DarkGoldenrod", "#B8860B", {En:"DarkGoldenrod", Zh:"暗金菊色"});
  1393.    Hb.Add("Ecru", "#CDB891", {En:"Ecru", Zh:"淡褐色"});
  1394.    Hb.Add("Flax", "#EEDC82", {En:"Flax", Zh:"亚麻色"});
  1395.    Hb.Add("Gamboge", "#EF9B0F", {En:"Gamboge", Zh:"藤黄"});
  1396.    Hb.Add("Golden", "#FFD700", {En:"Golden", Zh:"金色"});
  1397.    Hb.Add("Goldenrod", "#DAA520", {En:"Goldenrod", Zh:"金菊色"});
  1398.    Hb.Add("Khaki", "#C3B091", {En:"Khaki", Zh:"暗卡奇色"});
  1399.    
  1400.    Hb.Add("Lemon", "#FDE910", {En:"Lemon", Zh:"柠檬色"});
  1401.    Hb.Add("LemonChiffon", "#FFFACD", {En:"LemonChiffon", Zh:"柠檬绸色"});
  1402.    Hb.Add("Lime", "#BFFF00", {En:"Lime", Zh:"柠檬绿"});
  1403.    Hb.Add("Mustard", "#FFDB58", {En:"Mustard", Zh:"芥末黄"});
  1404.    Hb.Add("NavajoWhite", "#FFDEAD", {En:"NavajoWhite", Zh:"那瓦霍白"});
  1405.    Hb.Add("OldGold", "#CFB53B", {En:"OldGold", Zh:"深黄色"});
  1406.    Hb.Add("Olive", "#808000", {En:"Olive", Zh:"橄榄色"});
  1407.    Hb.Add("PapayaWhip", "#FFEFD5", {En:"PapayaWhip", Zh:"番木瓜色"});
  1408.    Hb.Add("PeachYellow", "#FADFAD", {En:"PeachYellow", Zh:"桃黄色"});
  1409.    Hb.Add("Pear", "#D1E231", {En:"Pear", Zh:"梨色"});
  1410.    Hb.Add("Saffron", "#F4C430", {En:"Saffron", Zh:"橙黄色"});
  1411.    Hb.Add("SchoolBusYellow", "#FFD800", {En:"SchoolBusYellow", Zh:"SchoolBusYellow"});
  1412.  
  1413.    Hb.Add("SelectiveYellow", "#FFBA00", {En:"SelectiveYellow", Zh:"SelectiveYellow"});
  1414.    Hb.Add("TangerineYellow", "#FFCC00", {En:"TangerineYellow", Zh:"橘黄色"});
  1415.    Hb.Add("Yellow", "#FFFF00", {En:"Yellow", Zh:"黄色"});
  1416.    Hb.Add("Apricot", "#FBCEB1", {En:"Apricot", Zh:"杏黄"});
  1417.    Hb.Add("MetallicGold", "#D4AF37", {En:"MetallicGold", Zh:"金属黄"});
  1418.    Hb.Add("ChartreuseYellow", "#DFFF00", {En:"ChartreuseYellow", Zh:"查特酒黄"});
  1419.    Hb.Add("GoldenYellow", "#FFDF00", {En:"GoldenYellow", Zh:"金黄色"});
  1420.    Hb.Add("GoldenPoppy", "#FCC200", {En:"GoldenPoppy", Zh:"罂粟黄"});
  1421.    Hb.Add("GreenYellow", "#ADFF2F", {En:"GreenYellow", Zh:"绿黄"});
  1422.    
  1423.    Hb.Add("Marigold", "#F7AB00", {En:"Marigold", Zh:"万寿菊黄"});
  1424.    Hb.Add("ChromeYellow", "#FDD000", {En:"ChromeYellow", Zh:"铭黄"});
  1425.    Hb.Add("Jasmine", "#FEDD78", {En:"Jasmine", Zh:"茉莉黄"});
  1426.    Hb.Add("Cream1", "#FFEAB4", {En:"Cream1", Zh:"米黄"});
  1427.    Hb.Add("Ivory", "#EBE5D1", {En:"Ivory", Zh:"乳白"});
  1428.    Hb.Add("ChampagneYellow", "#FFF8B1", {En:"ChampagneYellow", Zh:"香槟黄"});
  1429.    Hb.Add("MoonYellow", "#FFF463", {En:"MoonYellow", Zh:"月光黄"});
  1430.    Hb.Add("CanaryYellow", "#FFF100", {En:"CanaryYellow", Zh:"鲜黄"});
  1431.    Hb.Add("Mimosa", "#EDD443", {En:"Mimosa", Zh:"含羞草黄"});
  1432.    Hb.Add("Ocher", "#C48F00", {En:"Ocher", Zh:"黄褐"});
  1433.    Hb.Add("Khaki1", "#B08827", {En:"Khaki1", Zh:"土黄"});
  1434.    
  1435.    var sIdentifier = "Yellow";
  1436.    
  1437.    fShowAnchorNav(sIdentifier, "黄色系", Ar);
  1438.    
  1439.    fDisplay(Hb, sIdentifier, Ar);
  1440.    
  1441.    Ar.push("<hr/>");
  1442.    
  1443.    Hb = null;
  1444.    
  1445.   return Ar.join("");
  1446.  } // end function fYellow
  1447.  
  1448.  function fGreen()
  1449.  {
  1450.   var Ar = [];
  1451.   var Hb = new HashTable();
  1452.  
  1453.    //绿色系
  1454.    
  1455.    Hb.Add("Asparagus", "#7BA05B", {En:"Asparagus", Zh:"芦笋色"});
  1456.    Hb.Add("BrightGreen", "#66FF00", {En:"BrightGreen", Zh:"明绿"});
  1457.    Hb.Add("CamouflageGreen", "#78866B", {En:"CamouflageGreen", Zh:"CamouflageGreen"});
  1458.    Hb.Add("Celadon", "#ACE1AF", {En:"Celadon", Zh:"青瓷色"});
  1459.    Hb.Add("Chartreuse", "#7FFF00", {En:"Chartreuse", Zh:"查特酒绿"});
  1460.    Hb.Add("Emerald", "#50C878", {En:"Emerald", Zh:"碧绿"});
  1461.    Hb.Add("FernGreen", "#4F7942", {En:"FernGreen", Zh:"蕨绿色"});
  1462.    Hb.Add("GrayAsparagus", "#465945", {En:"GrayAsparagus", Zh:"芦笋灰"});
  1463.    Hb.Add("Green", "#00FF00", {En:"Green", Zh:"绿色"});
  1464.    Hb.Add("GreenYellow", "#ADFF2F", {En:"GreenYellow", Zh:"绿黄色"});
  1465.    Hb.Add("Jade", "#00A86B", {En:"Jade", Zh:"翡翠绿"});
  1466.    Hb.Add("JungleGreen", "#29AB87", {En:"JungleGreen", Zh:"丛林绿"});
  1467.    
  1468.    Hb.Add("Lime", "#BFFF00", {En:"Lime", Zh:"柠檬绿"});
  1469.    Hb.Add("MossGreen", "#ADDFAD", {En:"MossGreen", Zh:"苔藓绿"});
  1470.    Hb.Add("Myrtle", "#21421E", {En:"Myrtle", Zh:"长春花"});
  1471.    Hb.Add("Olive", "#808000", {En:"Olive", Zh:"橄榄色"});
  1472.    Hb.Add("OliveDrab", "#6B8E23", {En:"OliveDrab", Zh:"橄榄军服绿"});
  1473.    Hb.Add("Pear", "#D1E231", {En:"Pear", Zh:"梨色"});
  1474.    Hb.Add("PineGreen", "#01796F", {En:"PineGreen", Zh:"松绿"});
  1475.    Hb.Add("SeaGreen", "#2E8B57", {En:"SeaGreen", Zh:"海绿"});
  1476.    Hb.Add("SpringGreen", "#00FF7F", {En:"SpringGreen", Zh:"春绿"});
  1477.    Hb.Add("SwampGreen", "#ACB78E", {En:"SwampGreen", Zh:"沼泽绿"});
  1478.    Hb.Add("TeaGreen", "#D0F0C0", {En:"TeaGreen", Zh:"茶绿"});
  1479.    Hb.Add("ForestGreen", "#228B22", {En:"ForestGreen", Zh:"森林绿"});
  1480.    
  1481.    //追加
  1482.    Hb.Add("AppleGreen", "#9EBD19", {En:"AppleGreen", Zh:"苹果绿"});
  1483.    Hb.Add("FreshLeaves", "#A9D06B", {En:"FreshLeaves", Zh:"嫩绿"});
  1484.    Hb.Add("FoliageGreen", "#87A256", {En:"FoliageGreen", Zh:"叶绿"});
  1485.    Hb.Add("GrassGreen", "#AAC468", {En:"GrassGreen", Zh:"草绿"});
  1486.    Hb.Add("MossGreen", "#888637", {En:"MossGreen", Zh:"苔藓绿"});
  1487.    Hb.Add("IvyGreen", "#3D7D53", {En:"IvyGreen", Zh:"常春藤绿"});
  1488.    Hb.Add("CobaltGreen", "#6ABD78", {En:"CobaltGreen", Zh:"钴绿"});
  1489.    Hb.Add("TurquoiseGreen", "#42AB91", {En:"TurquoiseGreen", Zh:"绿松石绿"});
  1490.    Hb.Add("CeladonGreen", "#7BB99B", {En:"CeladonGreen", Zh:"青瓷绿"});
  1491.    Hb.Add("Malachite", "#7BB99B", {En:"Malachite", Zh:"孔雀石绿"});
  1492.    Hb.Add("Mint", "#007850", {En:"Mint", Zh:"薄荷绿"});
  1493.    Hb.Add("Viridian", "#006550", {En:"Viridian", Zh:"铭绿"});
  1494.    Hb.Add("PeacockGreen", "#008077", {En:"PeacockGreen", Zh:"孔雀绿"});
  1495.       
  1496.    var sIdentifier = "Green";
  1497.    fShowAnchorNav(sIdentifier, "绿色系", Ar);
  1498.    
  1499.    fDisplay(Hb, sIdentifier, Ar);
  1500.    
  1501.    Ar.push("<hr/>");
  1502.    
  1503.    Hb = null;
  1504.    
  1505.   return Ar.join("");
  1506.  } // end function fGreen
  1507.  
  1508.  function fBlueCyan()
  1509.  {
  1510.   var Ar = [];
  1511.   var Hb = new HashTable();
  1512.  
  1513.    // 青蓝色系
  1514.    
  1515.    Hb.Add("HorizonBlue", "#B0DCD5", {En:"HorizonBlue", Zh:"苍"});
  1516.    Hb.Add("LightSkyBlue", "#A1D8E6", {En:"LightSkyBlue", Zh:"亮天蓝"});
  1517.    Hb.Add("AquaBlue", "#59C3E2", {En:"AquaBlue", Zh:"水蓝"});
  1518.    Hb.Add("AzureBlue", "#22AEE6", {En:"AzureBlue", Zh:"湛蓝"});
  1519.    Hb.Add("SkyBlue", "#94C6D0", {En:"SkyBlue", Zh:"天蓝"});
  1520.    Hb.Add("BabyBlue", "#B1D4DB", {En:"BabyBlue", Zh:"浅蓝"});
  1521.    Hb.Add("PaleBlue", "#8BB0CD", {En:"PaleBlue", Zh:"灰蓝"});
  1522.    Hb.Add("SaxeBlue", "#4C8DB5", {En:"SaxeBlue", Zh:"萨克斯蓝"});
  1523.    
  1524.    Hb.Add("Aquamarine", "#2983B1", {En:"Aquamarine", Zh:"碧蓝"});
  1525.    Hb.Add("TurquoiseBlue", "#00A4C5", {En:"TurquoiseBlue", Zh:"绿松石蓝"});
  1526.    Hb.Add("CyanBlue", "#008890", {En:"CyanBlue", Zh:"青蓝"});
  1527.    Hb.Add("PeacockBlue", "#006980", {En:"PeacockBlue", Zh:"孔雀蓝"});
  1528.    Hb.Add("CeruleanBlue", "#007BBB", {En:"CeruleanBlue", Zh:"蔚蓝"});
  1529.    Hb.Add("CobaltBlue", "#005DAC", {En:"CobaltBlue", Zh:"钴蓝"});
  1530.    Hb.Add("Ultramarine", "#004098", {En:"Ultramarine", Zh:"深海蓝"});
  1531.    Hb.Add("RoyalBlue", "#1E50A2", {En:"RoyalBlue", Zh:"品蓝"});

  1532.    var sIdentifier = "BlueCyan";
  1533.    fShowAnchorNav(sIdentifier, "青蓝色系", Ar);
  1534.    
  1535.    fDisplay(Hb, sIdentifier, Ar);
  1536.    
  1537.    Ar.push("<hr/>");
  1538.    
  1539.    Hb = null;
  1540.    
  1541.   return Ar.join("");
  1542.  } // end function fBlueCyan
  1543.  
  1544.  function fCyan()
  1545.  {
  1546.   var Ar = [];
  1547.   var Hb = new HashTable();
  1548.   
  1549.    //青色系
  1550.    
  1551.    Hb.Add("AliceBlue", "#F0F8FF", {En:"AliceBlue", Zh:"爱丽丝蓝"});
  1552.    Hb.Add("Aqua", "#00FFFF", {En:"Aqua", Zh:"水色"});
  1553.    Hb.Add("Aquamarine", "#7FFFD4", {En:"Aquamarine", Zh:"碧蓝色"});
  1554.    Hb.Add("BabyBlue", "#E0FFFF", {En:"BabyBlue", Zh:"浅蓝"});
  1555.    Hb.Add("BondiBlue", "#0095B6", {En:"BondiBlue", Zh:"BondiBlue"});
  1556.    Hb.Add("Cerulean", "#007BA7", {En:"Cerulean", Zh:"天蓝色"});
  1557.    Hb.Add("Cyan", "#00B7EB", {En:"Cyan", Zh:"青色"});
  1558.    Hb.Add("ElectricBlue", "#7DF9FF", {En:"ElectricBlue", Zh:"ElectricBlue"});
  1559.    Hb.Add("PineGreen", "#01796F", {En:"PineGreen", Zh:"松绿"});
  1560.    Hb.Add("RobinEggBlue", "#00CCCC", {En:"RobinEggBlue", Zh:"知更鸟蛋"});
  1561.    Hb.Add("Teal", "#008080", {En:"Teal", Zh:"凫绿"});
  1562.    Hb.Add("Turquoise", "#30D5C8", {En:"Turquoise", Zh:"绿松石绿"});
  1563.    Hb.Add("Viridian", "#40826D", {En:"Viridian", Zh:"Viridian"});

  1564.    var sIdentifier = "Cyan";
  1565.    fShowAnchorNav(sIdentifier, "青色系", Ar);
  1566.    
  1567.    fDisplay(Hb, sIdentifier, Ar);
  1568.    
  1569.    Ar.push("<hr/>");
  1570.    
  1571.    Hb = null;
  1572.    
  1573.   return Ar.join("");
  1574.  } // end function fCyan
  1575.  
  1576.  function fBlue()
  1577.  {
  1578.   var Ar = [];
  1579.   var Hb = new HashTable();
  1580.   
  1581.    // 蓝色系
  1582.    
  1583.    Hb.Add("AliceBlue", "#F0F8FF", {En:"AliceBlue", Zh:"爱丽丝蓝"});
  1584.    Hb.Add("Azure", "#007FFF", {En:"Azure", Zh:"天蓝色"});
  1585.    Hb.Add("BabyBlue", "#E0FFFF", {En:"BabyBlue", Zh:"粉末蓝"});
  1586.    Hb.Add("Blue", "#0000FF", {En:"Blue", Zh:"蓝色"});
  1587.    Hb.Add("Cerulean", "#007BA7", {En:"Cerulean", Zh:"蔚蓝色"});
  1588.    Hb.Add("CeruleanBlue", "#2A52BE", {En:"CeruleanBlue", Zh:"天青蓝"});
  1589.    Hb.Add("CobaltBlue", "#0047AB", {En:"CobaltBlue", Zh:"钴蓝色"});
  1590.    Hb.Add("CornflowerBlue", "#6495ED", {En:"CornflowerBlue", Zh:"矢车菊蓝"});
  1591.    Hb.Add("DarkBlue", "#0000C8", {En:"DarkBlue", Zh:"深蓝色"});
  1592.    Hb.Add("Denim", "#1560BD", {En:"Denim", Zh:"丹宁布色"});
  1593.    Hb.Add("DodgerBlue", "#1E90FF", {En:"DodgerBlue", Zh:"道奇蓝"});
  1594.    Hb.Add("Indigo", "#4B0082", {En:"Indigo", Zh:"靛青色"});
  1595.    
  1596.    Hb.Add("InternationalKleinBlue", "#002FA7", {En:"InternationalKleinBlue", Zh:"国际奇连蓝"});
  1597.    Hb.Add("LightBlue", "#ADD8E6", {En:"LightBlue", Zh:"深蓝色"});
  1598.    Hb.Add("MidnightBlue", "#003366", {En:"MidnightBlue", Zh:"午夜蓝"});
  1599.    Hb.Add("NavyBlue", "#000080", {En:"NavyBlue", Zh:"海军蓝"});
  1600.    Hb.Add("Periwinkle", "#CCCCFF", {En:"Periwinkle", Zh:"长春花色"});
  1601.    Hb.Add("PersianBlue", "#1C39BB", {En:"PersianBlue", Zh:"波斯蓝"});
  1602.    Hb.Add("PowderBlue", "#B0E0E6", {En:"PowderBlue", Zh:"粉末蓝"});
  1603.    Hb.Add("PrussianBlue", "#003153", {En:"PrussianBlue", Zh:"普鲁士蓝"});
  1604.    Hb.Add("RoyalBlue", "#084C9E", {En:"RoyalBlue", Zh:"皇室蓝"});
  1605.    Hb.Add("Sapphire", "#082567", {En:"Sapphire", Zh:"青玉色"});
  1606.    Hb.Add("SteelBlue", "#4682B4", {En:"SteelBlue", Zh:"钢青色"});
  1607.    Hb.Add("Ultramarine", "#120A8F", {En:"Ultramarine", Zh:"群青色"});

  1608.    var sIdentifier = "Blue";
  1609.    fShowAnchorNav(sIdentifier, "蓝色系", Ar);
  1610.    
  1611.    fDisplay(Hb, sIdentifier, Ar);
  1612.    
  1613.    Ar.push("<hr/>");
  1614.    
  1615.    Hb = null;
  1616.    
  1617.   return Ar.join("");
  1618.  } // end function fBlue
  1619.  
  1620.  function fIndigo()
  1621.  {
  1622.   var Ar = [];
  1623.   var Hb = new HashTable();
  1624.  
  1625.    // 靛青色系
  1626.    
  1627.    Hb.Add("LapisLazuli", "#134098", {En:"LapisLazuli", Zh:"天青石靛"});
  1628.    Hb.Add("SalviaBlue", "#5B77AF", {En:"SalviaBlue", Zh:"鼠尾草蓝"});
  1629.    Hb.Add("WedgwoodBlue", "#6684B0", {En:"WedgwoodBlue", Zh:"韦奇伍德瓷蓝"});
  1630.    Hb.Add("SlateBlue", "#527AA3", {En:"SlateBlue", Zh:"岩蓝"});
  1631.    Hb.Add("SapphireBlue", "#005789", {En:"SapphireBlue", Zh:"宝石蓝"});
  1632.    Hb.Add("MineralBlue", "#005178", {En:"MineralBlue", Zh:"矿蓝"});
  1633.    
  1634.    Hb.Add("StrongBlue", "#005978", {En:"StrongBlue", Zh:"浓蓝"});
  1635.    Hb.Add("MarineBlue", "#00456B", {En:"MarineBlue", Zh:"水手蓝"});
  1636.    Hb.Add("NavyBlue", "#001954", {En:"NavyBlue", Zh:"藏青"});
  1637.    Hb.Add("Indigo", "#002E5A", {En:"Indigo", Zh:"靛青"});
  1638.    Hb.Add("DarkMineralBlue", "#38426A", {En:"DarkMineralBlue", Zh:"暗矿蓝"});
  1639.    Hb.Add("MidnightBlue", "#04163A", {En:"MidnightBlue", Zh:"午夜蓝"});

  1640.    var sIdentifier = "Indigo";
  1641.    fShowAnchorNav(sIdentifier, "靛青色系", Ar);
  1642.    
  1643.    fDisplay(Hb, sIdentifier, Ar);
  1644.    
  1645.    Ar.push("<hr/>");
  1646.    
  1647.    Hb = null;
  1648.    
  1649.   return Ar.join("");
  1650.  } // end function fIndigo
  1651.  
  1652.  function fViolet()
  1653.  {
  1654.   var Ar = [];
  1655.   var Hb = new HashTable();
  1656.    
  1657.    // 紫色系
  1658.    
  1659.    Hb.Add("Amethyst", "#9966CC", {En:"Amethyst", Zh:"紫水晶"});
  1660.    Hb.Add("Cerise", "#DE3163", {En:"Cerise", Zh:"樱桃红"});
  1661.    Hb.Add("Eggplant", "#990066", {En:"Eggplant", Zh:"茄色"});
  1662.    Hb.Add("Fuchsia", "#FF00FF", {En:"Fuchsia", Zh:"品红"});
  1663.    Hb.Add("Heliotrope", "#DF73FF", {En:"Heliotrope", Zh:"缬草紫"});
  1664.    Hb.Add("Indigo", "#4B0082", {En:"Indigo", Zh:"靛色"});
  1665.    Hb.Add("Lavender", "#B57EDC", {En:"Lavender", Zh:"薰衣草紫"});
  1666.    Hb.Add("LavenderBlush", "#FFF0F5", {En:"LavenderBlush", Zh:"薰衣草紫红"});
  1667.    Hb.Add("LavenderGray", "#BDBBD7", {En:"LavenderGray", Zh:"薰衣草灰"});
  1668.    Hb.Add("LavenderRose", "#FBA0E3", {En:"LavenderRose", Zh:"LavenderRose"});
  1669.    Hb.Add("Lilac", "#C8A2C8", {En:"Lilac", Zh:"淡紫丁香色"});
  1670.    Hb.Add("Magenta", "#FF00FF", {En:"Magenta", Zh:"洋红"});
  1671.    
  1672.    Hb.Add("Mauve", "#E0B0FF", {En:"Mauve", Zh:"木槿紫"});
  1673.    Hb.Add("MountbattenPink", "#997A8D", {En:"MountbattenPink", Zh:"MountbattenPin"});
  1674.    Hb.Add("Orchid", "#DA70D6", {En:"Orchid", Zh:"兰紫"});
  1675.    Hb.Add("PalatinatePurple", "#682860", {En:"PalatinatePurple", Zh:"巴拉丁紫"});
  1676.    Hb.Add("PersianIndigo", "#32127A", {En:"PersianIndigo", Zh:"波斯靛青"});
  1677.    Hb.Add("Purple", "#660099", {En:"Purple", Zh:"紫色"});
  1678.    Hb.Add("RedViolet", "#C71585", {En:"RedViolet", Zh:"紫红"});
  1679.    Hb.Add("Rose", "#FF007F", {En:"Rose", Zh:"玫瑰红"});
  1680.    Hb.Add("Thistle", "#D8BFD8", {En:"Thistle", Zh:"蓟紫"});
  1681.    Hb.Add("Violet", "#8B00FF", {En:"Violet", Zh:"紫色"});
  1682.    Hb.Add("VioletEggplant", "#991199", {En:"VioletEggplant", Zh:"茄子紫"});
  1683.    Hb.Add("Wisteria", "#C9A0DC", {En:"Wisteria", Zh:"紫藤"});
  1684.    
  1685.    Hb.Add("Wisterial1", "#735B9F", {En:"Wisterial1", Zh:"紫藤"});
  1686.    Hb.Add("Clematics", "#D8BFCB", {En:"Clematics", Zh:"铁钱莲紫"});
  1687.    Hb.Add("Heliotrope", "#6F196F", {En:"Heliotrope", Zh:"缬草紫"});
  1688.    Hb.Add("MineralViolet", "#C5AFC0", {En:"MineralViolet", Zh:"矿紫"});
  1689.    Hb.Add("Pansy", "#8B0062", {En:"Pansy", Zh:"三色堇紫"});
  1690.    Hb.Add("Mallow", "#D369A4", {En:"Mallow", Zh:"锦葵紫"});
  1691.    Hb.Add("Orchid", "#D188A8", {En:"Orchid", Zh:"兰紫"});
  1692.    Hb.Add("PailLilac", "#EDE0E6", {En:"PailLilac", Zh:"淡紫丁香"});
  1693.    Hb.Add("GrayishPurple", "#9D899D", {En:"GrayishPurple", Zh:"浅灰紫"});

  1694.    var sIdentifier = "Violet";
  1695.    fShowAnchorNav(sIdentifier, "紫色系", Ar);

  1696.    fDisplay(Hb, sIdentifier, Ar);
  1697.    
  1698.    Ar.push("<hr/>");
  1699.    
  1700.    Hb = null;
  1701.    
  1702.   return Ar.join("");
  1703.  } // end function fViolet
  1704.  
  1705.  function fPink()
  1706.  {
  1707.   var Ar = [];
  1708.   var Hb = new HashTable();
  1709.   
  1710.    // 粉红色系
  1711.    
  1712.    Hb.Add("Pink", "#FFCBDB", {En:"Pink", Zh:"粉红"});
  1713.    Hb.Add("Camation", "#F95A61", {En:"Camation", Zh:"康乃馨红"});
  1714.    Hb.Add("Fuchsia", "#FF00FF", {En:"Fuchsia", Zh:"品红"});
  1715.    Hb.Add("Magenta", "#EF0090", {En:"Magenta", Zh:"洋红"});
  1716.    Hb.Add("SalmonPink", "#FF91A4", {En:"SalmonPink", Zh:"浅鲑红"});
  1717.    Hb.Add("DeepPink", "#FF1493", {En:"DeepPink", Zh:"深粉红"});
  1718.    Hb.Add("HollywodCerise", "#F400A1", {En:"HollywodCerise", Zh:"好莱坞樱桃色"});
  1719.    Hb.Add("HotPink", "#FF69B4", {En:"HotPink", Zh:"暖粉红"});
  1720.    Hb.Add("MediumPink", "#FFB6C1", {En:"MediumPink", Zh:"中粉红色"});
  1721.    Hb.Add("ShockingPink", "#FC0FC0", {En:"ShockingPink", Zh:"ShockingPink"});
  1722.    Hb.Add("CheeryBlossomPink", "#F6ADD6", {En:"CheeryBlossomPink", Zh:"CheeryBlossomPink"});
  1723.    Hb.Add("CoralPink", "#F88379", {En:"CoralPink", Zh:"浅珊瑚红"});
  1724.    
  1725.    Hb.Add("FrenchRose", "#F64A8A", {En:"FrenchRose", Zh:"法兰西玫瑰色"});
  1726.    Hb.Add("LavenderPink", "#FBAED2", {En:"LavenderPink", Zh:"浅薰衣草色"});
  1727.    Hb.Add("CarminePink", "#FE28A2", {En:"CarminePink", Zh:"浅胭脂红"});
  1728.    Hb.Add("CerisePink", "#EB4C42", {En:"CerisePink", Zh:"浅樱桃红"});
  1729.    Hb.Add("FuchisaPink", "#EC3B83", {En:"FuchisaPink", Zh:"浅品红"});
  1730.    Hb.Add("JapanesePink", "#EC3B83", {En:"JapanesePink", Zh:"日本粉红"});
  1731.    Hb.Add("PersianPink", "#F77FBE", {En:"PersianPink", Zh:"波斯粉红"});
  1732.    Hb.Add("DarkPink", "#E75480", {En:"DarkPink", Zh:"深粉红"});
  1733.    Hb.Add("HotMagenta", "#FF00CC", {En:"HotMagenta", Zh:"暖洋红"});
  1734.    Hb.Add("LavenderRose", "#FBA0E3", {En:"LavenderRose", Zh:"深薰衣草"});
  1735.    Hb.Add("Rose", "#FF007F", {En:"Rose", Zh:"玫瑰红"});
  1736.    
  1737.    Hb.Add("ThulianPink", "#DE6FA1", {En:"ThulianPink", Zh:"ThulianPink"});
  1738.    Hb.Add("Amaranth", "#E52B50", {En:"Amaranth", Zh:"紫红色"});
  1739.    Hb.Add("LightThulianPink", "#E68FAC", {En:"LightThulianPink", Zh:"LightThulianPink"});
  1740.    Hb.Add("Puce", "#CC8899", {En:"Puce", Zh:"红褐色"});
  1741.    Hb.Add("RosePink", "#FF66CC", {En:"RosePink", Zh:"红褐色"});
  1742.    Hb.Add("TeaRose", "#F4C2C2", {En:"TeaRose", Zh:"深茶色"});
  1743.    Hb.Add("AmaranthPink", "#F19CBB", {En:"AmaranthPink", Zh:"浅紫红色"});
  1744.    Hb.Add("BrinkPink", "#FB607F", {En:"BrinkPink", Zh:"BrinkPink"});
  1745.    Hb.Add("Cerise", "#DE3163", {En:"Cerise", Zh:"樱桃红"});
  1746.    Hb.Add("DeepCarminePink", "#EF3038", {En:"DeepCarminePink", Zh:"DeepCarminePink"});
  1747.    Hb.Add("UltraPink", "#FF6FFF", {En:"UltraPink", Zh:"浓粉红"});

  1748.    var sIdentifier = "Pink";
  1749.    fShowAnchorNav(sIdentifier, "粉红色系", Ar);

  1750.    fDisplay(Hb, sIdentifier, Ar);
  1751.    
  1752.    Ar.push("<hr/>");
  1753.    
  1754.    Hb = null;
  1755.    
  1756.   return Ar.join("");
  1757.  } // end function fPink
  1758.  
  1759.  function fBrown()
  1760.  {
  1761.   var Ar = [];
  1762.   var Hb = new HashTable();
  1763.   
  1764.    // 褐色系
  1765.    
  1766.    Hb.Add("Auburn", "#712F26", {En:"Auburn", Zh:"赤褐色"});
  1767.    Hb.Add("Bistre", "#3D2B1F", {En:"Bistre", Zh:"Bistre"});
  1768.    Hb.Add("Brown", "#964B00", {En:"Brown", Zh:"褐色"});
  1769.    Hb.Add("Buff", "#F0DC82", {En:"Buff", Zh:"暗黄色"});
  1770.    Hb.Add("Burgundy", "#900020", {En:"Burgundy", Zh:"勃艮第酒红"});
  1771.    Hb.Add("BurntSienna", "#E97451", {En:"BurntSienna", Zh:"燃黄褐色"});
  1772.    Hb.Add("BurntUmber", "#8A3324", {En:"BurntUmber", Zh:"燃棕色"});
  1773.    Hb.Add("Copper", "#B87333", {En:"Copper", Zh:"红铜色"});
  1774.    Hb.Add("Liver", "#534B4F", {En:"Liver", Zh:"脏红"});
  1775.    Hb.Add("Mahogany", "#C04000", {En:"Mahogany", Zh:"红褐色"});
  1776.    Hb.Add("Maroon", "#800000", {En:"Maroon", Zh:"栗色"});
  1777.    Hb.Add("Ochre", "#CC7722", {En:"Ochre", Zh:"赭色"});
  1778.    
  1779.    Hb.Add("PaleBrown", "#987654", {En:"PaleBrown", Zh:"灰褐色"});
  1780.    Hb.Add("RawUmber", "#734A12", {En:"RawUmber", Zh:"RawUmber"});
  1781.    Hb.Add("Russet", "#80461B", {En:"Russet", Zh:"黄褐色"});
  1782.    Hb.Add("Rust", "#B7410E", {En:"Rust", Zh:"铁锈红"});
  1783.    Hb.Add("SandyBrown", "#F4A460", {En:"SandyBrown", Zh:"浅褐色"});
  1784.    Hb.Add("SealBrown", "#321414", {En:"SealBrown", Zh:"SealBrown"});
  1785.    Hb.Add("Sepia", "#704214", {En:"Sepia", Zh:"乌贼墨色"});
  1786.    Hb.Add("Tan", "#D2B48C", {En:"Tan", Zh:"日晒色"});
  1787.    Hb.Add("Wheat", "#F5DEB3", {En:"Wheat", Zh:"小麦色"});
  1788.    Hb.Add("Zinnwaldite", "#EBC2AF", {En:"Zinnwaldite", Zh:"Zinnwaldite"});
  1789.    Hb.Add("Fallow", "#C19A6B", {En:"Fallow", Zh:"淡棕色"});
  1790.    Hb.Add("Bole", "#79443B", {En:"Bole", Zh:"玄红色"});
  1791.    
  1792.    Hb.Add("Taupe", "#483C32", {En:"Taupe", Zh:"暗灰褐色"});
  1793.    Hb.Add("MediumTaupe", "#674C47", {En:"MediumTaupe", Zh:"中暗灰褐色"});
  1794.    Hb.Add("PaleTaupe", "#BC987E", {En:"PaleTaupe", Zh:"灰暗灰褐色"});
  1795.    Hb.Add("DarkKhaki", "#BDB76B", {En:"DarkKhaki", Zh:"暗卡其色"});
  1796.    Hb.Add("Khaki", "#C3B091", {En:"Khaki", Zh:"卡其色"});
  1797.    Hb.Add("LightKhaki", "#F0E68C", {En:"LightKhaki", Zh:"亮卡其色"});
  1798.    Hb.Add("SandyTaupe", "#967117", {En:"SandyTaupe", Zh:"软暗灰褐色"});
  1799.    Hb.Add("Ecru", "#CDB891", {En:"Ecru", Zh:"淡褐色"});
  1800.    Hb.Add("Beige", "#F5F5DC", {En:"Beige", Zh:"棕色"});

  1801.    var sIdentifier = "Brown";
  1802.    fShowAnchorNav(sIdentifier, "褐色系", Ar);

  1803.    fDisplay(Hb, sIdentifier, Ar);
  1804.    
  1805.    Ar.push("<hr/>");
  1806.    
  1807.    Hb = null;
  1808.    
  1809.   return Ar.join("");
  1810.  } // end function fBrown
  1811.  
  1812.  function fGrey()
  1813.  {
  1814.   var Ar = [];
  1815.   var Hb = new HashTable();
  1816.   
  1817.    // 灰色系
  1818.    
  1819.    Hb.Add("Grey", "#808080", {En:"Grey", Zh:"灰色"});
  1820.    Hb.Add("Arsenic", "#3B444B", {En:"Arsenic", Zh:"砒霜"});
  1821.    Hb.Add("Bistre", "#3D2B1F", {En:"Bistre", Zh:"Bistre"});
  1822.    Hb.Add("Black", "#000000", {En:"Black", Zh:"黑色"});
  1823.    Hb.Add("Charcoal", "#464646", {En:"Charcoal", Zh:"深灰色"});
  1824.    Hb.Add("Davy'sGrey", "#788878", {En:"Davy'sGrey", Zh:"Davy'sGrey"});
  1825.    Hb.Add("Feldgrau", "#4D5D53", {En:"Feldgrau", Zh:"Feldgrau"});
  1826.    Hb.Add("Liver", "#534B4F", {En:"Liver", Zh:"脏红"});
  1827.    Hb.Add("Payne'sGrey", "#404048", {En:"Payne'sGrey", Zh:"佩恩灰"});
  1828.    Hb.Add("SealBrown", "#321414", {En:"SealBrown", Zh:"SealBrown"});
  1829.    
  1830.    Hb.Add("Silver", "#C0C0C0", {En:"Silver", Zh:"银色"});
  1831.    Hb.Add("SlateGrey", "#708090", {En:"SlateGrey", Zh:"岩灰"});
  1832.    Hb.Add("Taupe", "#483C32", {En:"Taupe", Zh:"暗灰褐色"});
  1833.    Hb.Add("PurpleTaupe", "#50404D", {En:"PurpleTaupe", Zh:"紫暗灰褐色"});
  1834.    Hb.Add("MediumTaupe", "#674C47", {En:"MediumTaupe", Zh:"中暗灰褐色"});
  1835.    Hb.Add("TaupeGrey", "#8B8589", {En:"TaupeGrey", Zh:"浅暗灰褐色"});
  1836.    Hb.Add("PaleTaupe", "#BC987E", {En:"PaleTaupe", Zh:"灰暗灰褐色"});
  1837.    
  1838.    //追加
  1839.    Hb.Add("DarkGray", "#1A1A1A", {En:"DarkGray", Zh:"暗灰"});
  1840.    Hb.Add("CharcoalGray", "#333333", {En:"CharcoalGray", Zh:"炭灰"});
  1841.    Hb.Add("DimGray", "#4D4D4D", {En:"DimGray", Zh:"昏灰"});
  1842.    Hb.Add("Gray60Perc", "#666666", {En:"Gray60Perc", Zh:"六十度灰"});
  1843.    Hb.Add("Gray50Perc", "#808080", {En:"Gray50Perc", Zh:"五十度灰"});
  1844.    Hb.Add("Gray40Perc", "#999999", {En:"Gray40Perc", Zh:"四十度灰"});
  1845.    Hb.Add("Gray30Perc", "#B3B3B3", {En:"Gray30Perc", Zh:"三十度灰"});
  1846.    Hb.Add("Gray20Perc", "#CCCCCC", {En:"Gray20Perc", Zh:"二十度灰"});
  1847.    Hb.Add("Gray10Perc", "#E6E6E6", {En:"Gray10Perc", Zh:"十度灰"});
  1848.    
  1849.    Hb.Add("White", "#FFFFFF", {En:"White", Zh:"白色"});

  1850.    var sIdentifier = "Grey";
  1851.    fShowAnchorNav(sIdentifier, "灰色系", Ar);

  1852.    fDisplay(Hb, sIdentifier, Ar);
  1853.    
  1854.    Ar.push("<hr/>");
  1855.    
  1856.    Hb = null;
  1857.    
  1858.   return Ar.join("");
  1859.  } // end function fGrey
  1860.  
  1861.  function fWhite()
  1862.  {
  1863.   var Ar = [];
  1864.  
  1865.   var Hb = new HashTable();
  1866.  
  1867.    // 白色系
  1868.    
  1869.    Hb.Add("White", "#FFFFFF", {En:"White", Zh:"白色"});
  1870.    Hb.Add("Cream", "#FFFDD0", {En:"Cream", Zh:"奶油色"});
  1871.    Hb.Add("CosmicLatte", "#FFF8E7", {En:"CosmicLatte", Zh:"CosmicLatte"});
  1872.    Hb.Add("Ivory", "#FFFFF0", {En:"Ivory", Zh:"象牙色"});
  1873.    Hb.Add("Magnolia", "#F8F4FF", {En:"Magnolia", Zh:"木兰色"});
  1874.    Hb.Add("OldLace", "#FDF5E6", {En:"OldLace", Zh:"深蕾丝色"});
  1875.    Hb.Add("Seashell", "#FFF5EE", {En:"Seashell", Zh:"海贝色"});

  1876.    Hb.Add("GhostWhite", "#F8F8FF", {En:"GhostWhite", Zh:"幽灵白"});
  1877.    Hb.Add("MintCream", "#F5FFFA", {En:"MintCream", Zh:"薄荷奶油色"});
  1878.    Hb.Add("Honeydew", "#F0FFF0", {En:"Honeydew", Zh:"密瓜绿"});
  1879.    Hb.Add("Ivory", "#FFFFF0", {En:"Ivory", Zh:"象牙色"});
  1880.    Hb.Add("FloralWhite", "#FFFAF0", {En:"FloralWhite", Zh:"花卉白"});
  1881.    Hb.Add("Linen", "#FAF0E6", {En:"Linen", Zh:"亚麻色"});
  1882.    Hb.Add("Snow", "#FFFAFA", {En:"Snow", Zh:"雪色"});

  1883.    var sIdentifier = "White";
  1884.    fShowAnchorNav(sIdentifier, "白色系", Ar);
  1885.    
  1886.    fDisplay(Hb, sIdentifier, Ar);
  1887.    
  1888.    Ar.push("<hr/>");
  1889.    
  1890.    Hb = null;
  1891.    
  1892.   return Ar.join("");
  1893.  } // end function fWhite
  1894.  
  1895.  function fWeb()
  1896.  {
  1897.   var Ar = [];
  1898.   var Hb = new HashTable();
  1899.   
  1900.    // Web
  1901.    Hb.Add("LightGray", "#D3D3D3", {En:"LightGray", Zh:"亮灰"});
  1902.    Hb.Add("Gainsboro", "#DCDCDC", {En:"Gainsboro", Zh:"庚斯博罗灰"});
  1903.    Hb.Add("WhiteSmoke", "#F5F5F5", {En:"WhiteSmoke", Zh:"白烟色"});
  1904.    Hb.Add("Snow", "#FFFAFA", {En:"Snow", Zh:"雪色"});
  1905.    Hb.Add("RosyBrown", "#BC8F8F", {En:"RosyBrown", Zh:"玫瑰褐"});
  1906.    Hb.Add("IndianRed", "#CD5C5C", {En:"IndianRed", Zh:"印度红"});
  1907.    Hb.Add("FireBrick", "#B22222", {En:"FireBrick", Zh:"耐火砖红"});
  1908.    Hb.Add("DarkRed", "#8B0000", {En:"DarkRed", Zh:"暗红"});
  1909.    Hb.Add("MistyRose", "#FFE4E1", {En:"MistyRose", Zh:"雾玫瑰色"});
  1910.    Hb.Add("Tomato", "#FF6347", {En:"Tomato", Zh:"番茄红"});
  1911.    Hb.Add("Sienna", "#A0522D", {En:"Sienna", Zh:"黄土赭"});
  1912.    Hb.Add("SaddleBrown", "#8B4513", {En:"SaddleBrown", Zh:"鞍褐"});
  1913.    Hb.Add("Chocolate", "#D2691E", {En:"Chocolate", Zh:"巧克力色"});
  1914.    Hb.Add("PeachPuff", "#FFDAB9", {En:"PeachPuff", Zh:"粉扑桃色"});
  1915.    Hb.Add("Bronze", "#B87333", {En:"Bronze", Zh:"古铜色"});
  1916.    Hb.Add("Linen", "#FAF0E6", {En:"Linen", Zh:"亚麻色"});
  1917.    Hb.Add("Peru", "#CD853F", {En:"Peru", Zh:"秘鲁色"});
  1918.    Hb.Add("Bisque", "#FFE4C4", {En:"Bisque", Zh:"陶坯黄"});
  1919.    Hb.Add("DarkOrange", "#FF8C00", {En:"DarkOrange", Zh:"暗橙"});
  1920.    Hb.Add("AntiqueWhite", "#FAEBD7", {En:"AntiqueWhite", Zh:"古董白"});
  1921.    Hb.Add("Tan", "#D2B48C", {En:"Tan", Zh:"日晒色"});
  1922.    Hb.Add("BurlyWood", "#DEB887", {En:"BurlyWood", Zh:"硬木色"});
  1923.    Hb.Add("BlanchedAlmond", "#FFEBCD", {En:"BlanchedAlmond", Zh:"杏仁白"});
  1924.    Hb.Add("NavajoWhite", "#FFDEAD", {En:"NavajoWhite", Zh:"那瓦霍白"});
  1925.    Hb.Add("PaleOcre", "#CCB38C", {En:"PaleOcre", Zh:"灰土色"});
  1926.    Hb.Add("Moccasin", "#FFE4B5", {En:"Moccasin", Zh:"鹿皮鞋色"});
  1927.    Hb.Add("FloralWhite", "#FFFAF0", {En:"FloralWhite", Zh:"花卉白"});
  1928.    Hb.Add("Coffee", "#4D3900", {En:"Coffee", Zh:"咖啡色"});
  1929.    Hb.Add("Comsilk", "#FFF8DC", {En:"Comsilk", Zh:"玉米丝色"});
  1930.    Hb.Add("PaleGoldenrod", "#EEE8AA", {En:"PaleGoldenrod", Zh:"灰金菊色"});
  1931.    Hb.Add("Ivory", "#FFFFF0", {En:"Ivory", Zh:"象牙色"});
  1932.    Hb.Add("LightYellow", "#FFFFE0", {En:"LightYellow", Zh:"亮黄"});
  1933.    Hb.Add("LightGoldenrodYellow", "#FAFAD2", {En:"LightGoldenrodYellow", Zh:"亮金菊黄"});
  1934.    Hb.Add("DarkOliveGreen", "#556B2F", {En:"DarkOliveGreen", Zh:"暗橄榄绿"});
  1935.    Hb.Add("LawnGreen", "#7CFC00", {En:"LawnGreen", Zh:"草坪绿"});

  1936.    Hb.Add("Honeydew", "#F0FFF0", {En:"Honeydew", Zh:"密瓜绿"});
  1937.    Hb.Add("DarkSeaGreen", "#8FBC8F", {En:"DarkSeaGreen", Zh:"暗海绿"});
  1938.    Hb.Add("PaleGreen", "#98FB98", {En:"PaleGreen", Zh:"灰绿"});
  1939.    Hb.Add("HorizonBlue", "#A6FFCC", {En:"HorizonBlue", Zh:"苍蓝"});
  1940.    Hb.Add("MediumSeaGreen", "#3CB371", {En:"MediumSeaGreen", Zh:"中海绿"});
  1941.    Hb.Add("MintCream", "#F5FFFA", {En:"MintCream", Zh:"薄荷奶油色"});
  1942.    
  1943.    Hb.Add("MediumSpringGreen", "#00FA9A", {En:"MediumSpringGreen", Zh:"中春绿色"});
  1944.    Hb.Add("MediumAquamarine", "#66CDAA", {En:"MediumAquamarine", Zh:"中碧蓝色"});
  1945.    Hb.Add("TurquoiseBlue", "#33E6CC", {En:"TurquoiseBlue", Zh:"绿松石蓝"});
  1946.    Hb.Add("Turquoise", "#30D5C8", {En:"Turquoise", Zh:"绿松石色"});
  1947.    Hb.Add("LightSeaGreen", "#30D5C8", {En:"LightSeaGreen", Zh:"亮海绿"});
  1948.    Hb.Add("MediumTurquoise", "#48D1CC", {En:"MediumTurquoise", Zh:"中绿松石色"});
  1949.    Hb.Add("LightCyan", "#E0FFFF", {En:"LightCyan", Zh:"亮青"});
  1950.    Hb.Add("PaleTurquoise", "#AFEEEE", {En:"PaleTurquoise", Zh:"灰绿松石色"});
  1951.    Hb.Add("DarkSlateGray", "#2F4F4F", {En:"DarkSlateGray", Zh:"暗岩灰"});
  1952.    Hb.Add("DarkCyan", "#008B8B", {En:"DarkCyan", Zh:"暗青"});
  1953.    Hb.Add("DarkTurquoise", "#00CED1", {En:"DarkTurquoise", Zh:"暗绿松石色"});
  1954.    Hb.Add("CadetBlue", "#5F9EA0", {En:"CadetBlue", Zh:"军服蓝"});
  1955.    Hb.Add("PowderBlue", "#B0E0E6", {En:"PowderBlue", Zh:"婴儿粉蓝"});
  1956.    Hb.Add("StrongBlue", "#006374", {En:"StrongBlue", Zh:"浓蓝"});
  1957.    Hb.Add("DarpSkyBlue", "#00BFFF", {En:"DarpSkyBlue", Zh:"深天蓝"});
  1958.    Hb.Add("LightSkyBlue", "#87CEFA", {En:"LightSkyBlue", Zh:"亮天蓝"});
  1959.    Hb.Add("SlateGray", "#708090", {En:"SlateGray", Zh:"岩灰"});
  1960.    
  1961.    Hb.Add("LightSlateGray", "#778899", {En:"LightSlateGray", Zh:"亮岩灰"});
  1962.    Hb.Add("GhostWhite", "#F8F8FF", {En:"GhostWhite", Zh:"幽灵白"});
  1963.    Hb.Add("DarkSlateBlue", "#483D8B", {En:"DarkSlateBlue", Zh:"暗岩蓝"});
  1964.    Hb.Add("MediumSlateBlue", "#7B68EE", {En:"MediumSlateBlue", Zh:"岩蓝"});
  1965.    Hb.Add("MediumPurple", "#9370DB", {En:"MediumPurple", Zh:"中紫红"});
  1966.    Hb.Add("DarkOrchid", "#9932CC", {En:"DarkOrchid", Zh:"暗兰紫"});
  1967.    Hb.Add("DarkViolet", "#9400D3", {En:"DarkViolet", Zh:"暗紫"});
  1968.    Hb.Add("Plum", "#DDA0DD", {En:"Plum", Zh:"亮紫"});
  1969.    Hb.Add("DarkMagenta", "#8B008B", {En:"DarkMagenta", Zh:"暗洋红"});
  1970.    Hb.Add("MediumVioletRed", "#C71585", {En:"MediumVioletRed", Zh:"中青紫红"});
  1971.    Hb.Add("RoseRed", "#FF0DA6", {En:"RoseRed", Zh:"玫瑰红"});
  1972.    Hb.Add("PaleVioletRed", "#DB7093", {En:"PaleVioletRed", Zh:"灰紫红"});
  1973.    Hb.Add("LightPink", "#FFB6C1", {En:"LightPink", Zh:"亮粉红"});

  1974.    var sIdentifier = "Web";
  1975.    fShowAnchorNav(sIdentifier, "Web色", Ar);

  1976.    fDisplay(Hb, sIdentifier, Ar);
  1977.    
  1978.    Ar.push("<hr/>");
  1979.    
  1980.    Hb = null;
  1981.    
  1982.   return Ar.join("");
  1983.  } // end function fWeb
  1984.  
  1985.  function fCompColor()
  1986.  {
  1987.   var Ar = [];
  1988.   var Hb = new HashTable();
  1989.   
  1990.    // CompColor
  1991.    for(var i=0, j=Tl.Color.Set.length; i<j; i++)
  1992.    {
  1993.     var sCurColor = Tl.Color.Set[i];
  1994.     if(sCurColor.indexOf("#")<0) sCurColor = "#000000";
  1995.     
  1996.     var sCompColor = fGetCompColor(sCurColor);
  1997.     var iCur = i+1;
  1998.     Hb.Add(sCompColor, sCompColor, {En:"CompColor "+iCur, Zh:"补色 "+iCur});
  1999.    }

  2000.    var sIdentifier = "CompColor";
  2001.    fShowAnchorNav(sIdentifier, "补色", Ar);

  2002.    fDisplay(Hb, sIdentifier, Ar);
  2003.    
  2004.    Ar.push("<hr/>");
  2005.    
  2006.    Hb = null;
  2007.    
  2008.   return Ar.join("");
  2009.  } // end function fCompColor
  2010.  
  2011.  function fFaded()
  2012.  {
  2013.   var Ar = [];
  2014.   var Hb = new HashTable();
  2015.   
  2016.   var sTarget = Tl.Faded.TargetTbx.Main.value;
  2017.   var iTime = Tl.Faded.TimeTbx.Main.value-0;

  2018.   for(var i=0, j=Tl.Color.Set.length; i<j; i++)
  2019.   {
  2020.    var FadedAr = fFade(Tl.Color.Set[i], sTarget, iTime, falsetrue);
  2021.    
  2022.    var iCount = 0;
  2023.    var iLen = FadedAr.length;
  2024.    
  2025.    while(iCount<iLen)
  2026.    {
  2027.     var iCur = iCount+1;
  2028.     var ArKey = [FadedAr[iCount],"_",i+1,"-",iCur];
  2029.     Hb.Add(ArKey.join(""), FadedAr[iCount], {En:"Faded "+iCur, Zh:"渐变 "+iCur});
  2030.     iCount++;
  2031.    }
  2032.   }

  2033.   var sIdentifier = "Faded";
  2034.    fShowAnchorNav(sIdentifier, "渐变", Ar);
  2035.    fDisplay(Hb, sIdentifier, Ar);
  2036.  
  2037.    Hb = null;
  2038.   
  2039.   Ar.push("<hr/>");
  2040.   
  2041.   return Ar.join("");
  2042.  } // end function fFaded 
  2043.  
  2044.  function fJpRedViolet()
  2045.  {
  2046.   var Ar = [];
  2047.   var Hb = new HashTable();
  2048.   
  2049.    // JpRedViolet
  2050.    Hb.Add("Ikkonzome", "#F08F90", {En:"Ikkonzome", Zh:"一斤染"});
  2051.    Hb.Add("Momo-iro", "#F47983", {En:"Momo-iro", Zh:"桃色"});
  2052.    Hb.Add("Kōbai-iro", "#DB5A6B", {En:"Kōbai-iro", Zh:"紅梅色"});
  2053.    Hb.Add("Nakabeni", "#C93756", {En:"Nakabeni", Zh:"中紅"});
  2054.    Hb.Add("Sakura-iro", "#FCC9B9", {En:"Sakura-iro", Zh:"桜色"});
  2055.    Hb.Add("Arazome", "#FFB3A7", {En:"Arazome", Zh:"退紅"});
  2056.    Hb.Add("Usubeni", "#F2666C", {En:"Usubeni", Zh:"薄紅"});

  2057.    var sIdentifier = "JpRedViolet";
  2058.    fShowAnchorNav(sIdentifier, "Jp红紫", Ar);

  2059.    fDisplay(Hb, sIdentifier, Ar);
  2060.    
  2061.    Ar.push("<hr/>");
  2062.    
  2063.    Hb = null;
  2064.    
  2065.   return Ar.join("");
  2066.  } // end function fJpRedViolet


  2067.  function fJpRed()
  2068.  {
  2069.   var Ar = [];
  2070.   var Hb = new HashTable();
  2071.   
  2072.    // JpRed
  2073.    Hb.Add("Tokiha-iro", "#F58F84", {En:"Tokiha-iro", Zh:"鴇羽色"});
  2074.    Hb.Add("Sakuranezumi", "#AC8181", {En:"Sakuranezumi", Zh:"桜鼠"});
  2075.    Hb.Add("Chōshun-iro", "#B95754", {En:"Chōshun-iro", Zh:"長春色"});
  2076.    Hb.Add("Karakurenai", "#C91F37", {En:"Karakurenai", Zh:"韓紅花"});
  2077.    Hb.Add("Enji-iro", "#9D2933", {En:"Enji-iro", Zh:"臙脂色"});
  2078.    Hb.Add("Kokiake", "#7B3B3A", {En:"Kokiake", Zh:"深緋"});
  2079.    Hb.Add("Jinzamomi", "#F7665A", {En:"Jinzamomi", Zh:"甚三紅"});
  2080.    Hb.Add("Mizugaki", "#B56C60", {En:"Mizugaki", Zh:"水がき"});
  2081.    Hb.Add("Umenezumi", "#97645A", {En:"Umenezumi", Zh:"梅鼠"});
  2082.    Hb.Add("Suōkō", "#A24F46", {En:"Suōkō", Zh:"蘇芳香"});
  2083.    Hb.Add("Akabeni", "#C3272B", {En:"Akabeni", Zh:"赤紅"});
  2084.    Hb.Add("Shinshu", "#8F1D21", {En:"Shinshu", Zh:"真朱"});
  2085.    Hb.Add("Azuki-iro", "#672422", {En:"Azuki-iro", Zh:"小豆色"});
  2086.    Hb.Add("Ginshu", "#BC2D29", {En:"Ginshu", Zh:"銀朱"});
  2087.    Hb.Add("Ebicha", "#5E2824", {En:"Ebicha", Zh:"海老茶"});
  2088.    Hb.Add("Kiriume", "#8B352D", {En:"Kiriume", Zh:"栗梅"});
  2089.    Hb.Add("Akebono-iro", "#FA7B62", {En:"Akebono-iro", Zh:"曙色"});
  2090.    Hb.Add("Sangoshu-iro", "#F8674F", {En:"Sangoshu-iro", Zh:"珊瑚珠色"});
  2091.    Hb.Add("Shōjōhi", "#DC3023", {En:"Shōjōhi", Zh:"猩猩緋"});
  2092.    Hb.Add("Shikancha", "#AB4C3D", {En:"Shikancha", Zh:"芝翫茶"});
  2093.    Hb.Add("Kakishibu-iro", "#934337", {En:"Kakishibu-iro", Zh:"柿渋色"});
  2094.    Hb.Add("Benikaba", "#9D2B22", {En:"Benikaba", Zh:"紅樺"});
  2095.    Hb.Add("Benitobi", "#913228", {En:"Benitobi", Zh:"紅鳶"});
  2096.    Hb.Add("Benihibata", "#6F3028", {En:"Benihibata", Zh:"紅檜皮"});
  2097.    Hb.Add("Kurotobi", "#351E1C", {En:"Kurotobi", Zh:"黒鳶"});
  2098.    Hb.Add("Benihi", "#F35336", {En:"Benihi", Zh:"紅緋"});
  2099.    Hb.Add("Terigaki", "#D34E36", {En:"Terigaki", Zh:"照柿"});
  2100.    Hb.Add("Ake", "#CF3A24", {En:"Ake", Zh:"緋"});
  2101.    Hb.Add("Edocha", "#A13D2D", {En:"Edocha", Zh:"江戸茶"});
  2102.    Hb.Add("Bengara-iro", "#913225", {En:"Bengara-iro", Zh:"紅柄色"});
  2103.    Hb.Add("Hihada-iro", "#752E23", {En:"Hihada-iro", Zh:"檜皮色"});
  2104.    Hb.Add("Shishi-iro", "#F9906F", {En:"Shishi-iro", Zh:"宍色"});
  2105.    Hb.Add("Araishu", "#FF7952", {En:"Araishu", Zh:"洗朱"});
  2106.    Hb.Add("Akakō-iro", "#F07F5E", {En:"Akakō-iro", Zh:"赤香色"});
  2107.    Hb.Add("Tokigaracha", "#E68364", {En:"Tokigaracha", Zh:"ときがら茶"});
  2108.    Hb.Add("Ōtan", "#FF4E20", {En:"Ōtan", Zh:"黄丹"});
  2109.    Hb.Add("Sohi", "#E35C38", {En:"Sohi", Zh:"蘇比"});
  2110.    Hb.Add("Enshūcha", "#CB6649", {En:"Enshūcha", Zh:"遠州茶"});
  2111.    Hb.Add("Karacha", "#B35C44", {En:"Karacha", Zh:"唐茶"});
  2112.    Hb.Add("Kabacha", "#B14A30", {En:"Kabacha", Zh:"樺茶"});
  2113.    Hb.Add("Sōdenkaracha", "#9B533F", {En:"Sōdenkaracha", Zh:"宗傳唐茶"});
  2114.    Hb.Add("Suzumecha", "#8C4736", {En:"Suzumecha", Zh:"雀茶"});
  2115.    Hb.Add("Kurikawacha", "#60281E", {En:"Kurikawacha", Zh:"栗皮茶"});
  2116.    Hb.Add("Momoshiocha", "#542D24", {En:"Momoshiocha", Zh:"百塩茶"});
  2117.    Hb.Add("Tobi-iro", "#4C221B", {En:"Tobi-iro", Zh:"鳶色"});

  2118.    var sIdentifier = "JpRed";
  2119.    fShowAnchorNav(sIdentifier, "Jp红", Ar);

  2120.    fDisplay(Hb, sIdentifier, Ar);
  2121.    
  2122.    Ar.push("<hr/>");
  2123.    
  2124.    Hb = null;
  2125.    
  2126.   return Ar.join("");
  2127.  } // end function fJpRed

  2128.  function fJpYellowRed()
  2129.  {
  2130.   var Ar = [];
  2131.   var Hb = new HashTable();
  2132.   
  2133.    // JpYellowRed
  2134.    Hb.Add("Kurumizome", "#9F7462", {En:"Kurumizome", Zh:"胡桃染"});
  2135.    Hb.Add("Kaba-iro", "#B64925", {En:"Kaba-iro", Zh:"蒲色"});
  2136.    Hb.Add("Kōrozen", "#592B1F", {En:"Kōrozen", Zh:"黄櫨染"});
  2137.    Hb.Add("Kogecha", "#351F19", {En:"Kogecha", Zh:"焦茶"});
  2138.    Hb.Add("Kokikuchinashi", "#F57F4F", {En:"Kokikuchinashi", Zh:"深支子"});
  2139.    Hb.Add("Araigaki", "#EC8254", {En:"Araigaki", Zh:"洗柿"});
  2140.    Hb.Add("Taisha-iro", "#9F5233", {En:"Taisha-iro", Zh:"代赭色"});
  2141.    Hb.Add("Akashirotsurubami", "#EC956C", {En:"Akashirotsurubami", Zh:"赤白橡"});
  2142.    Hb.Add("Tonocha", "#985538", {En:"Tonocha", Zh:"礪茶"});
  2143.    Hb.Add("Sencha-iro", "#824B35", {En:"Sencha-iro", Zh:"煎茶色"});
  2144.    Hb.Add("Sharegaki", "#FFA26B", {En:"Sharegaki", Zh:"洒落柿"});
  2145.    Hb.Add("Usugaki", "#FCA474", {En:"Usugaki", Zh:"薄柿"});
  2146.    Hb.Add("Kanzō-iro", "#FF8936", {En:"Kanzō-iro", Zh:"萱草色"});
  2147.    Hb.Add("Umezome", "#FA9258", {En:"Umezome", Zh:"梅染"});
  2148.    Hb.Add("Beniukon", "#FB8136", {En:"Beniukon", Zh:"紅鬱金"});
  2149.    Hb.Add("Chōjicha", "#8F583C", {En:"Chōjicha", Zh:"丁子茶"});
  2150.    Hb.Add("Kenpōzome", "#2E211B", {En:"Kenpōzome", Zh:"憲法染"});
  2151.    Hb.Add("Biwacha", "#AB6134", {En:"Biwacha", Zh:"枇杷茶"});
  2152.    Hb.Add("Kohaku-iro", "#CA6924", {En:"Kohaku-iro", Zh:"琥珀色"});
  2153.    Hb.Add("Usukō", "#FFA565", {En:"Usukō", Zh:"淡香"});
  2154.    Hb.Add("Kuchiba-iro", "#FFA565", {En:"Kuchiba-iro", Zh:"朽葉色"});
  2155.    Hb.Add("Kincha", "#C66B27", {En:"Kincha", Zh:"金茶"});
  2156.    Hb.Add("Chōjizome", "#C66B27", {En:"Chōjizome", Zh:"丁子染"});
  2157.    Hb.Add("Kitsune-iro", "#985629", {En:"Kitsune-iro", Zh:"狐色"});
  2158.    Hb.Add("Fushizome", "#8C5939", {En:"Fushizome", Zh:"柴染"});
  2159.    Hb.Add("Kyara-iro", "#6A432D", {En:"Kyara-iro", Zh:"伽羅色"});
  2160.    Hb.Add("Susutake-iro", "#593A27", {En:"Susutake-iro", Zh:"煤竹色"});
  2161.    Hb.Add("Shiracha", "#C48E69", {En:"Shiracha", Zh:"白茶"});
  2162.    Hb.Add("Ōdo-iro", "#BE7F51", {En:"Ōdo-iro", Zh:"黄土色"});
  2163.    Hb.Add("Kinsusutake", "#7D4E2D", {En:"Kinsusutake", Zh:"銀煤竹"});
  2164.    Hb.Add("Kigaracha", "#B7702D", {En:"Kigaracha", Zh:"黄唐茶"});
  2165.    Hb.Add("Kobicha", "#6B4423", {En:"Kobicha", Zh:"媚茶"});

  2166.    var sIdentifier = "JpYellowRed";
  2167.    fShowAnchorNav(sIdentifier, "Jp黄红", Ar);

  2168.    fDisplay(Hb, sIdentifier, Ar);
  2169.    
  2170.    Ar.push("<hr/>");
  2171.    
  2172.    Hb = null;
  2173.    
  2174.   return Ar.join("");
  2175.  } // end function fJpYellowRed
  2176.  
  2177.  
  2178.  function fJpYellow()
  2179.  {
  2180.   var Ar = [];
  2181.   var Hb = new HashTable();
  2182.   
  2183.    // JpYellow
  2184.    Hb.Add("Usuki", "#F7BB7D", {En:"Usuki", Zh:"浅黄"});
  2185.    Hb.Add("Yamabuki-iro", "#FFA400", {En:"Yamabuki-iro", Zh:"山吹色"});
  2186.    Hb.Add("Tamago-iro", "#FFA631", {En:"Tamago-iro", Zh:"玉子色"});
  2187.    Hb.Add("Hajizome", "#E08A1E", {En:"Hajizome", Zh:"櫨染"});
  2188.    Hb.Add("Yamabukicha", "#CB7E1F", {En:"Yamabukicha", Zh:"山吹茶"});
  2189.    Hb.Add("Kuwazome", "#C57F2E", {En:"Kuwazome", Zh:"桑染"});
  2190.    Hb.Add("Namakabe-iro", "#785E49", {En:"Namakabe-iro", Zh:"生壁色"});
  2191.    Hb.Add("Kuchinashi", "#FFB95A", {En:"Kuchinashi", Zh:"支子"});
  2192.    Hb.Add("Tōmorokoshi-iro", "#FAA945", {En:"Tōmorokoshi-iro", Zh:"玉蜀黍色"});
  2193.    Hb.Add("Shirotsurubami", "#CE9F6F", {En:"Shirotsurubami", Zh:"白橡"});
  2194.    Hb.Add("Kitsurubami", "#BB8141", {En:"Kitsurubami", Zh:"黄橡"});
  2195.    Hb.Add("Tō'ō", "#FFB61E", {En:"Tō'ō", Zh:"藤黄"});
  2196.    Hb.Add("Hanaba-iro", "#FFB94E", {En:"Hanaba-iro", Zh:"花葉色"});
  2197.    Hb.Add("Torinoko-iro", "#E2BE9F", {En:"Torinoko-iro", Zh:"鳥の子色"});
  2198.    Hb.Add("Ukon-iro", "#E69B3A", {En:"Ukon-iro", Zh:"鬱金色"});
  2199.    Hb.Add("Kikuchiba", "#E29C45", {En:"Kikuchiba", Zh:"黄朽葉"});
  2200.    Hb.Add("Rikyūshiracha", "#B0927A", {En:"Rikyūshiracha", Zh:"利休白茶"});
  2201.    Hb.Add("Rikyūcha", "#826B58", {En:"Rikyūcha", Zh:"利休茶"});
  2202.    Hb.Add("Aku-iro", "#7F6B5D", {En:"Aku-iro", Zh:"灰汁色"});
  2203.    Hb.Add("Higosusutake", "#7F5D3B", {En:"Higosusutake", Zh:"肥後煤竹"});
  2204.    Hb.Add("Rokōcha", "#665343", {En:"Rokōcha", Zh:"路考茶"});
  2205.    Hb.Add("Mirucha", "#4C3D30", {En:"Mirucha", Zh:"海松茶"});
  2206.    Hb.Add("Nataneyu-iro", "#A17917", {En:"Nataneyu-iro", Zh:"菜種油色"});
  2207.    Hb.Add("Kimirucha", "#896C39", {En:"Kimirucha", Zh:"黄海松茶"});
  2208.    Hb.Add("Uguisucha", "#5C4827", {En:"Uguisucha", Zh:"鶯茶"});
  2209.    Hb.Add("Nanohanacha", "#E3B130", {En:"Nanohanacha", Zh:"菜の花色"});
  2210.    Hb.Add("Kariyasu", "#E2B13C", {En:"Kariyasu", Zh:"苅安"});
  2211.    Hb.Add("Kihada", "#F3C13A", {En:"Kihada", Zh:"黄蘗"});
  2212.    Hb.Add("Mushikuri-iro", "#D3B17D", {En:"Mushikuri-iro", Zh:"蒸栗色"});
  2213.    Hb.Add("Aokuchiba", "#AA8736", {En:"Aokuchiba", Zh:"青朽葉"});
  2214.    Hb.Add("Hiwacha", "#957B38", {En:"Hiwacha", Zh:"鶸茶"});
  2215.    Hb.Add("Ominaeshi", "#D9B611", {En:"Ominaeshi", Zh:"女郎花"});
  2216.    Hb.Add("Uguisu-iro", "#645530", {En:"Uguisu-iro", Zh:"鶯色"});

  2217.    var sIdentifier = "JpYellow";
  2218.    fShowAnchorNav(sIdentifier, "Jp黄", Ar);

  2219.    fDisplay(Hb, sIdentifier, Ar);
  2220.    
  2221.    Ar.push("<hr/>");
  2222.    
  2223.    Hb = null;
  2224.    
  2225.   return Ar.join("");
  2226.  } // end function fJpYellow
  2227.  
  2228.  
  2229.  function fJpYellowGreen()
  2230.  {
  2231.   var Ar = [];
  2232.   var Hb = new HashTable();
  2233.   
  2234.    // JpYellowGreen
  2235.    Hb.Add("Hiwa-iro", "#BDA928", {En:"Hiwa-iro", Zh:"鶸色"});
  2236.    Hb.Add("Aoshiroturubami", "#BBA46D", {En:"Aoshiroturubami", Zh:"青白橡"});
  2237.    Hb.Add("Yanagicha", "#9C8A4D", {En:"Yanagicha", Zh:"柳茶"});
  2238.    Hb.Add("Rikancha", "#534A32", {En:"Rikancha", Zh:"璃寛茶"});
  2239.    Hb.Add("Aikobicha", "#473F2D", {En:"Aikobicha", Zh:"藍媚茶"});
  2240.    Hb.Add("Koke-iro", "#8B7D3A", {En:"Koke-iro", Zh:"苔色"});
  2241.    Hb.Add("Miru-iro", "#524B2A", {En:"Miru-iro", Zh:"海松色"});
  2242.    Hb.Add("Sensaicha", "#3B3429", {En:"Sensaicha", Zh:"千歳茶"});
  2243.    Hb.Add("Baikōcha", "#857C55", {En:"Baikōcha", Zh:"梅幸茶"});
  2244.    Hb.Add("Iwaicha", "#5E5545", {En:"Iwaicha", Zh:"岩井茶"});
  2245.    Hb.Add("Hiwamoegi", "#7A942E", {En:"Hiwamoegi", Zh:"鶸萌黄"});
  2246.    Hb.Add("Yanagisusutake", "#4D4B3A", {En:"Yanagisusutake", Zh:"柳煤竹"});
  2247.    Hb.Add("Urayanagi", "#BCB58C", {En:"Urayanagi", Zh:"裏柳"});
  2248.    Hb.Add("Usumoegi", "#8DB255", {En:"Usumoegi", Zh:"淡萌黄"});
  2249.    Hb.Add("Yanagizome", "#8C9E5E", {En:"Yanagizome", Zh:"柳染"});
  2250.    Hb.Add("Moegi", "#5B8930", {En:"Moegi", Zh:"萌黄"});
  2251.    Hb.Add("Aoni", "#52593B", {En:"Aoni", Zh:"青丹"});
  2252.    Hb.Add("Matsuba-iro", "#454D32", {En:"Matsuba-iro", Zh:"松葉色"});

  2253.    var sIdentifier = "JpYellowGreen";
  2254.    fShowAnchorNav(sIdentifier, "Jp黄绿", Ar);

  2255.    fDisplay(Hb, sIdentifier, Ar);
  2256.    
  2257.    Ar.push("<hr/>");
  2258.    
  2259.    Hb = null;
  2260.    
  2261.   return Ar.join("");
  2262.  } // end function fJpYellowGreen
  2263.  
  2264.  
  2265.  function fJpGreen()
  2266.  {
  2267.   var Ar = [];
  2268.   var Hb = new HashTable();
  2269.   
  2270.    // JpGreen
  2271.    Hb.Add("Usuao", "#8C9C76", {En:"Usuao", Zh:"薄青"});
  2272.    Hb.Add("Wakatake-iro", "#6B9362", {En:"Wakatake-iro", Zh:"若竹色"});
  2273.    Hb.Add("Yanaginezumi", "#817B69", {En:"Yanaginezumi", Zh:"柳鼠"});
  2274.    Hb.Add("Oitake-iro", "#5E644F", {En:"Oitake-iro", Zh:"老竹色"});
  2275.    Hb.Add("Sensaimidori", "#374231", {En:"Sensaimidori", Zh:"千歳緑"});
  2276.    Hb.Add("Midori", "#2A603B", {En:"Midori", Zh:"緑"});
  2277.    Hb.Add("Byakuroku", "#A5BA93", {En:"Byakuroku", Zh:"白緑"});
  2278.    Hb.Add("Sabiseiji", "#898A74", {En:"Sabiseiji", Zh:"錆青磁"});
  2279.    Hb.Add("Rokushō", "#407A52", {En:"Rokushō", Zh:"緑青"});
  2280.    Hb.Add("Tokusa-iro", "#3D5D42", {En:"Tokusa-iro", Zh:"木賊色"});
  2281.    Hb.Add("Onandocha", "#3D4035", {En:"Onandocha", Zh:"御納戸茶"});
  2282.    Hb.Add("Aotake-iro", "#006442", {En:"Aotake-iro", Zh:"青竹色"});
  2283.    Hb.Add("Rikyūnezumi", "#656255", {En:"Rikyūnezumi", Zh:"利休鼠"});
  2284.    Hb.Add("Birōdo", "#224634", {En:"Birōdo", Zh:"びろうど"});
  2285.    Hb.Add("Mushiao", "#2D4436", {En:"Mushiao", Zh:"虫襖"});
  2286.    Hb.Add("Aimirucha", "#2E372E", {En:"Aimirucha", Zh:"藍海松茶"});
  2287.    Hb.Add("Tonocha", "#5A6457", {En:"Tonocha", Zh:"沈香茶"});
  2288.    Hb.Add("Mizuasagi", "#749F8D", {En:"Mizuasagi", Zh:"水浅葱"});
  2289.    Hb.Add("Seiji-iro", "#819C8B", {En:"Seiji-iro", Zh:"青磁色"});
  2290.    Hb.Add("Seiheki", "#3A6960", {En:"Seiheki", Zh:"青碧"});
  2291.    Hb.Add("Sabitetsuonando", "#3A403B", {En:"Sabitetsuonando", Zh:"錆鉄御納戸"});
  2292.    Hb.Add("Tetsu-iro", "#2B3733", {En:"Tetsu-iro", Zh:"鉄色"});
  2293.    Hb.Add("Omeshicha", "#354E4B", {En:"Omeshicha", Zh:"御召茶"});
  2294.    Hb.Add("Kōrainando", "#203838", {En:"Kōrainando", Zh:"高麗納戸"});

  2295.    var sIdentifier = "JpGreen";
  2296.    fShowAnchorNav(sIdentifier, "Jp绿", Ar);

  2297.    fDisplay(Hb, sIdentifier, Ar);
  2298.    
  2299.    Ar.push("<hr/>");
  2300.    
  2301.    Hb = null;
  2302.    
  2303.   return Ar.join("");
  2304.  } // end function fJpGreen
  2305.  
  2306.  function fJpBlueViolet()
  2307.  {
  2308.   var Ar = [];
  2309.   var Hb = new HashTable();
  2310.   
  2311.    // JpBlueViolet
  2312.    Hb.Add("Minatonezumi", "#757D75", {En:"Minatonezumi", Zh:"湊鼠"});
  2313.    Hb.Add("Aonibi", "#4F4944", {En:"Aonibi", Zh:"青鈍"});
  2314.    Hb.Add("Testuonando", "#2B3736", {En:"Testuonando", Zh:"鉄御納戸"});
  2315.    Hb.Add("Mizu-iro", "#86ABA5", {En:"Mizu-iro", Zh:"水色"});
  2316.    Hb.Add("Sabiasagi", "#6A7F7A", {En:"Sabiasagi", Zh:"錆浅葱"});
  2317.    Hb.Add("Kamenozoki", "#C6C2B6", {En:"Kamenozoki", Zh:"瓶覗"});
  2318.    Hb.Add("Asagi-iro", "#48929B", {En:"Asagi-iro", Zh:"浅葱色"});
  2319.    Hb.Add("Shinbashi-iro", "#006C7F", {En:"Shinbashi-iro", Zh:"新橋色"});
  2320.    Hb.Add("Sabionando", "#455859", {En:"Sabionando", Zh:"錆御納戸"});
  2321.    Hb.Add("Ainezumi", "#5C544E", {En:"Ainezumi", Zh:"藍鼠"});
  2322.    Hb.Add("Ai-iro", "#264348", {En:"Ai-iro", Zh:"藍色"});
  2323.    Hb.Add("Onando-iro", "#364141", {En:"Onando-iro", Zh:"御納戸色"});
  2324.    Hb.Add("Hana'asagi", "#1D697C", {En:"Hana'asagi", Zh:"花浅葱"});
  2325.    Hb.Add("Chigusa-iro", "#317589", {En:"Chigusa-iro", Zh:"千草色"});
  2326.    Hb.Add("Masuhana-iro", "#4D646C", {En:"Masuhana-iro", Zh:"舛花色"});
  2327.    Hb.Add("Hanada", "#044F67", {En:"Hanada", Zh:"縹"});
  2328.    Hb.Add("Noshimehana-iro", "#344D56", {En:"Noshimehana-iro", Zh:"熨斗目花色"});
  2329.    Hb.Add("Omeshionando", "#3D4C51", {En:"Omeshionando", Zh:"御召御納戸"});
  2330.    Hb.Add("Sora-iro", "#4D8FAC", {En:"Sora-iro", Zh:"空色"});
  2331.    Hb.Add("Kurotsurubami", "#252321", {En:"Kurotsurubami", Zh:"黒橡"});
  2332.    Hb.Add("Gunjō-iro", "#5D8CAE", {En:"Gunjō-iro", Zh:"群青色"});
  2333.    Hb.Add("Kon", "#192236", {En:"Kon", Zh:"紺"});
  2334.    Hb.Add("Kachi-iro", "#181B26", {En:"Kachi-iro", Zh:"褐色"});
  2335.    Hb.Add("Ruri-iro", "#1F4788", {En:"Ruri-iro", Zh:"瑠璃色"});
  2336.    Hb.Add("Konjō-iro", "#003171", {En:"Konjō-iro", Zh:"紺青色"});
  2337.    Hb.Add("Rurikon", "#1B294B", {En:"Rurikon", Zh:"瑠璃紺"});
  2338.    Hb.Add("Benimidori", "#78779B", {En:"Benimidori", Zh:"紅碧"});
  2339.    Hb.Add("Konkikyō", "#191F45", {En:"Konkikyō", Zh:"紺桔梗"});
  2340.    Hb.Add("Fujinezumi", "#766980", {En:"Fujinezumi", Zh:"藤鼠"});
  2341.    Hb.Add("Benikakehana-iro", "#5A4F74", {En:"Benikakehana-iro", Zh:"紅掛花色"});
  2342.    Hb.Add("Fuji-iro", "#89729E", {En:"Fuji-iro", Zh:"藤色"});
  2343.    Hb.Add("Futaai", "#614E6E", {En:"Futaai", Zh:"二藍"});

  2344.    var sIdentifier = "JpBlueViolet";
  2345.    fShowAnchorNav(sIdentifier, "Jp蓝紫", Ar);

  2346.    fDisplay(Hb, sIdentifier, Ar);
  2347.    
  2348.    Ar.push("<hr/>");
  2349.    
  2350.    Hb = null;
  2351.    
  2352.   return Ar.join("");
  2353.  } // end function fJpBlueViolet
  2354.  
  2355.  function fJpViolet()
  2356.  {
  2357.   var Ar = [];
  2358.   var Hb = new HashTable();
  2359.   
  2360.    // JpViolet
  2361.    Hb.Add("Fujimurasaki", "#875F9A", {En:"Fujimurasaki", Zh:"藤紫"});
  2362.    Hb.Add("Kikyō-iro", "#5D3F6A", {En:"Kikyō-iro", Zh:"桔梗色"});
  2363.    Hb.Add("Shion-iro", "#976E9A", {En:"Shion-iro", Zh:"紫苑色"});
  2364.    Hb.Add("Metsushi", "#3F313A", {En:"Metsushi", Zh:"滅紫"});
  2365.    Hb.Add("Shikon", "#2B2028", {En:"Shikon", Zh:"紫紺"});
  2366.    Hb.Add("Kokimurasaki", "#3A243B", {En:"Kokimurasaki", Zh:"深紫"});
  2367.    Hb.Add("Usu-iro", "#A87CA0", {En:"Usu-iro", Zh:"薄色"});
  2368.    Hb.Add("Hashita-iro", "#8D608C", {En:"Hashita-iro", Zh:"半色"});
  2369.    Hb.Add("Sumire-iro", "#5B3256", {En:"Sumire-iro", Zh:"菫色"});
  2370.    Hb.Add("Murasaki", "#4F284B", {En:"Murasaki", Zh:"紫"});
  2371.    Hb.Add("Kurobeni", "#23191E", {En:"Kurobeni", Zh:"黒紅"});
  2372.    Hb.Add("Ayame-iro", "#763568", {En:"Ayame-iro", Zh:"菖蒲色"});
  2373.    Hb.Add("Benifuji", "#BB7796", {En:"Benifuji", Zh:"紅藤"});
  2374.    Hb.Add("Kakitsubata", "#491E3C", {En:"Kakitsubata", Zh:"杜若"});
  2375.    Hb.Add("Hatobanezumi", "#755D5B", {En:"Hatobanezumi", Zh:"鳩羽鼠"});
  2376.    Hb.Add("Budōnezumi", "#63424B", {En:"Budōnezumi", Zh:"葡萄鼠"});
  2377.    Hb.Add("Ebizome", "#6D2B50", {En:"Ebizome", Zh:"蒲萄"});
  2378.    Hb.Add("Fujisusutake", "#4D3B3C", {En:"Fujisusutake", Zh:"藤煤竹"});
  2379.    Hb.Add("Bōtan", "#A4345D", {En:"Bōtan", Zh:"牡丹"});
  2380.    Hb.Add("Umemurasaki", "#8F4155", {En:"Umemurasaki", Zh:"梅紫"});
  2381.    Hb.Add("Nisemurasaki", "#43242A", {En:"Nisemurasaki", Zh:"似せ紫"});
  2382.    Hb.Add("Murasakitobi", "#512C31", {En:"Murasakitobi", Zh:"紫鳶"});
  2383.    Hb.Add("Suō", "#7E2639", {En:"Suō", Zh:"蘇芳"});
  2384.    Hb.Add("Kuwazome", "#59292C", {En:"Kuwazome", Zh:"桑染"});
  2385.    Hb.Add("Benikeshinezumi", "#44312E", {En:"Benikeshinezumi", Zh:"紅消鼠"});

  2386.    var sIdentifier = "JpViolet";
  2387.    fShowAnchorNav(sIdentifier, "Jp紫", Ar);

  2388.    fDisplay(Hb, sIdentifier, Ar);
  2389.    
  2390.    Ar.push("<hr/>");
  2391.    
  2392.    Hb = null;
  2393.    
  2394.   return Ar.join("");
  2395.  } // end function fJpViolet
  2396.  
  2397.  function fJpAchromatic()
  2398.  {
  2399.   var Ar = [];
  2400.   var Hb = new HashTable();
  2401.   
  2402.    // JpAchromatic
  2403.    Hb.Add("Shironeri", "#FFDDCA", {En:"Shironeri", Zh:"白練"});
  2404.    Hb.Add("Shironezumi", "#B9A193", {En:"Shironezumi", Zh:"白鼠"});
  2405.    Hb.Add("Ginnezumi", "#97867C", {En:"Ginnezumi", Zh:"銀鼠"});
  2406.    Hb.Add("Sunezumi", "#6E5F57", {En:"Sunezumi", Zh:"素鼠"});
  2407.    Hb.Add("Dobunezumi", "#4B3C39", {En:"Dobunezumi", Zh:"丼鼠"});
  2408.    Hb.Add("Aisumicha", "#393432", {En:"Aisumicha", Zh:"藍墨茶"});
  2409.    Hb.Add("Binrōjizome", "#352925", {En:"Binrōjizome", Zh:"檳榔子染"});
  2410.    Hb.Add("Sumi-iro", "#27221F", {En:"Sumi-iro", Zh:"墨色"});
  2411.    Hb.Add("Kuro-iro", "#171412", {En:"Kuro-iro", Zh:"黒色"});

  2412.    var sIdentifier = "JpAchromatic";
  2413.    fShowAnchorNav(sIdentifier, "Jp减", Ar);

  2414.    fDisplay(Hb, sIdentifier, Ar);
  2415.    
  2416.    Ar.push("<hr/>");
  2417.    
  2418.    Hb = null;
  2419.    
  2420.   return Ar.join("");
  2421.  } // end function fJpAchromatic
  2422.  
  2423.  function fAppendStyle()
  2424.  {
  2425.   var Ar = [];
  2426.   Ar.push("#BgColorSchemeId * a/n");
  2427.   Ar.push("{/n");
  2428.   Ar.push(" text-decoration:none;/n");
  2429.   Ar.push("}/n");
  2430.   Ar.push("/n");
  2431.   Ar.push(".BcsCbxListClassName/n");
  2432.   Ar.push("{/n");
  2433.   Ar.push(" margin:0px 1px;/n");
  2434.   Ar.push("}/n");
  2435.   Ar.push("/n");
  2436.   Ar.push(".BcsTextClassName span div/n");
  2437.   Ar.push("{/n");
  2438.   Ar.push(" padding:2px 5px;/n");
  2439.   Ar.push("}/n");
  2440.   Ar.push("/n");
  2441.   Ar.push(".BcsTextClassName span div div/n");
  2442.   Ar.push("{/n");
  2443.   Ar.push(" padding:10px 0px;/n");
  2444.   Ar.push("}/n");
  2445.   return Ar.join("");
  2446.  } // end function fAppendStyle
  2447.  
  2448.  function fAddStyleFromStr(sIpt, sId)
  2449.  {// shawl.qiu script 
  2450.   var EleStyle = document.createElement("style");
  2451.   EleStyle.type = "text/css";
  2452.   if(sId&&sId!="")
  2453.   {
  2454.    EleStyle.id = sId;
  2455.   }
  2456.   if(fCkBrs()==1)
  2457.   {
  2458.    EleStyle.styleSheet.cssText = sIpt;
  2459.   }
  2460.   else
  2461.   {
  2462.    EleStyle.innerHTML = sIpt;
  2463.   }
  2464.   function fCkBrs()
  2465.   {
  2466.    switch (navigator.appName)
  2467.    {
  2468.     case 'Opera': return 2;
  2469.     case 'Netscape': return 3;
  2470.     defaultreturn 1;
  2471.    }
  2472.   } // end function fCkBrs 
  2473.   var EleHead=document.getElementsByTagName("head")[0]
  2474.   if(!EleHead) EleHead=document.body;
  2475.   EleHead.insertBefore(EleStyle, EleHead.firstChild)
  2476.  } // end function fAddStyleFromStr
  2477.  
  2478.  function fDisplayTheme1(ColorAr, HbItem, sMsg, sHbAnchor, Ar)
  2479.  {  
  2480.   if(!sMsg) 
  2481.   {
  2482.    sMsg = "";
  2483.   }
  2484.   
  2485.   if(sMsg!="")
  2486.   {
  2487.    sMsg = "<p style='margin:5px 0px;'>"+sMsg+"</p>";
  2488.   }
  2489.   
  2490.   var sTop = "";
  2491.   var sTopAr = [];
  2492.   
  2493.   sTopAr.push("<div style='float:right'>");
  2494.   sTopAr.push("<a href='#"+sHbAnchor+"'>Current</a>");
  2495.   sTopAr.push(" | ");
  2496.   sTopAr.push("<a href='#"+Tl.Init.Name+"'>Top</a>");
  2497.   sTopAr.push("</div>");
  2498.   sTop = sTopAr.join("");
  2499.   
  2500.   var sColor = "#000000";

  2501.    Ar.push("<div style='margin:10px 0px; background-color:"+HbItem+";color:"+ColorAr[i]+";'>");
  2502.    Ar.push("");
  2503.    Ar.push(sTop);
  2504.    
  2505.    for(var i=0, j= ColorAr.length; i<j; i++)
  2506.    {
  2507.     Ar.push("<div style='color:"+ColorAr[i]+";'>");
  2508.     
  2509.     Ar.push("Bg: <input type='text' value='"+HbItem);
  2510.     Ar.push("' style='background-color:"+HbItem+"; color:"+ColorAr[i]);
  2511.     Ar.push("; border:0px; ' onmousemove='this.focus();this.select();'");
  2512.     Ar.push(" onmouseout='this.blur()'/><br>");
  2513.     
  2514.     Ar.push("Fg: <input type='text' value='"+ColorAr[i]);
  2515.     Ar.push("' style='background-color:"+HbItem+"; color:"+ColorAr[i]);
  2516.     Ar.push("; border:0px; ' onmousemove='this.focus();this.select();'");
  2517.     Ar.push(" onmouseout='this.blur()'/><br>");
  2518.     
  2519.     Ar.push("Key: "+HbItem.Key+"<br>");
  2520.     Ar.push("Zh: "+HbItem.Zh+"<br>");
  2521.     Ar.push(sMsg);
  2522.     Ar.push("</div>");
  2523.    } // end for
  2524.    
  2525.    Ar.push("</div>");
  2526.  } // end function fDisplayColorScheme
  2527.  
  2528.  function fDisplayTheme1Invert(Hb, ColorItem, sMsg, sHbAnchor, Ar)
  2529.  {
  2530.   var sResult = "";
  2531.   
  2532.   if(!sMsg) 
  2533.   {
  2534.    sMsg = "";
  2535.   }
  2536.   
  2537.   if(sMsg!="")
  2538.   {
  2539.    sMsg = "<p style='margin:5px 0px;'>"+sMsg+"</p>";
  2540.   }

  2541.   Ar.push("<div style='margin:10px 0px; background-color:"+ColorItem+";'>");
  2542.   
  2543.   var sTop = "";
  2544.   var sTopAr = [];
  2545.   
  2546.   sTopAr.push("<div style='float:right'>");
  2547.   sTopAr.push("<a href='#"+sHbAnchor+"'>Current</a>");
  2548.   sTopAr.push(" | ");
  2549.   sTopAr.push("<a href='#"+Tl.Init.Name+"'>Top</a>");
  2550.   sTopAr.push("</div>");
  2551.   sTop = sTopAr.join("");
  2552.    
  2553.   Ar.push(sTop);
  2554.    
  2555.   var i=0;
  2556.   for(var k in Hb.Object)
  2557.   {     
  2558.    var Item = Hb.Item(k);
  2559.    
  2560.    Ar.push("<div style='color:"+Item+";'>");
  2561.    
  2562.    Ar.push("Bg: <input type='text' value='"+ColorItem);
  2563.    Ar.push("' style='background-color:"+ColorItem+"; color:"+Item);
  2564.    Ar.push("; border:0px; ' onmousemove='this.focus();this.select();'");
  2565.    Ar.push(" onmouseout='this.blur()'/><br>");
  2566.    
  2567.    Ar.push("Fg: <input type='text' value='"+Item);
  2568.    Ar.push("' style='background-color:"+ColorItem+"; color:"+Item);
  2569.    Ar.push("; border:0px; ' onmousemove='this.focus();this.select();'");
  2570.    Ar.push(" onmouseout='this.blur()'/><br>");
  2571.    
  2572.    Ar.push("Key: "+Item.Key+"<br>");
  2573.    Ar.push("Zh: "+Item.Zh+"<br>");
  2574.    Ar.push(sMsg);
  2575.    
  2576.    Ar.push("</div>");
  2577.    i++;
  2578.   } // end for
  2579.   
  2580.   Ar.push("</div>");
  2581.  } // end function fDisplayColorScheme1
  2582.  
  2583.  function fDisplaySplit(ColorAr, HbItem, sMsg, bInvert, sHbAnchor, Ar)
  2584.  {
  2585.   if(!sMsg) 
  2586.   {
  2587.    sMsg = "";
  2588.   }
  2589.   
  2590.   if(sMsg!="")
  2591.   {
  2592.    sMsg = "<p style='margin:5px 0px;'>"+sMsg+"</p>";
  2593.   }
  2594.   
  2595.   var sTop = "";
  2596.   var sTopAr = [];
  2597.   sTopAr.push("<div style='float:right; margin:0px; padding:0px;'>");
  2598.   sTopAr.push("<a href='#"+sHbAnchor+"'>Current</a>");
  2599.   sTopAr.push(" | ");
  2600.   sTopAr.push("<a href='#"+Tl.Init.Name+"'>Top</a>");
  2601.   sTopAr.push("</div>");
  2602.   sTop = sTopAr.join("");
  2603.   
  2604.   if(bInvert)
  2605.   {
  2606.    for(var i=0, j= ColorAr.length; i<j; i++)
  2607.    {
  2608.     Ar.push("<div style='margin:10px 0px;background-color:");
  2609.     Ar.push(ColorAr[i]+";color:"+HbItem+";'>");
  2610.     Ar.push(sTop);
  2611.     
  2612.     Ar.push("Bg: <input type='text' value='"+ColorAr[i]);
  2613.     Ar.push("' style='background-color:"+ColorAr[i]+"; color:"+HbItem);
  2614.     Ar.push("; border:0px; ' onmousemove='this.focus();this.select();'");
  2615.     Ar.push(" onmouseout='this.blur()'/><br>");
  2616.     
  2617.     Ar.push("Fg: <input type='text' value='"+HbItem);
  2618.     Ar.push("' style='background-color:"+ColorAr[i]+"; color:"+HbItem);
  2619.     Ar.push("; border:0px; ' onmousemove='this.focus();this.select();'");
  2620.     Ar.push(" onmouseout='this.blur()'/><br>");
  2621.     
  2622.     Ar.push("Key: "+HbItem.Key+"<br/>");
  2623.     Ar.push("Zh: "+HbItem.Zh+"<br/>");
  2624.     Ar.push(sMsg);
  2625.     Ar.push("</div>");
  2626.    } // end for
  2627.   }
  2628.   else
  2629.   {
  2630.    for(var i=0, j= ColorAr.length; i<j; i++)
  2631.    {
  2632.     Ar.push("<div style='margin:10px 0px; background-color:");
  2633.     Ar.push(HbItem+";color:"+ColorAr[i]+";'>");
  2634.     Ar.push(sTop);
  2635.     
  2636.     Ar.push("Bg: <input type='text' value='"+HbItem);
  2637.     Ar.push("' style='background-color:"+HbItem+"; color:"+ColorAr[i]);
  2638.     Ar.push("; border:0px; ' onmousemove='this.focus();this.select();'");
  2639.     Ar.push(" onmouseout='this.blur()'/><br>");
  2640.     
  2641.     Ar.push("Fg: <input type='text' value='"+ColorAr[i]);
  2642.     Ar.push("' style='background-color:"+HbItem+"; color:"+ColorAr[i]);
  2643.     Ar.push("; border:0px; ' onmousemove='this.focus();this.select();'");
  2644.     Ar.push(" onmouseout='this.blur()'/><br>");
  2645.     
  2646.     Ar.push("Key: "+HbItem.Key+"<br>");
  2647.     Ar.push("Zh: "+HbItem.Zh+"<br>");
  2648.     Ar.push(sMsg);
  2649.     Ar.push("</div>");
  2650.    } // end for
  2651.    
  2652.    Ar.push("</div></div>");;
  2653.   }
  2654.  } // end function fDisplaySplit
  2655.  
  2656.  function fDisplay(Hb, sHbAnchor, Ar)
  2657.  {
  2658.   switch(Tl.Theme.Default)
  2659.   {
  2660.    case "Split":
  2661.     for(var i in Hb.Object)
  2662.     {
  2663.      fDisplaySplit(Tl.Color.Set, Hb.Item(i), Tl.Msg, Tl.Invert, sHbAnchor, Ar);
  2664.     }
  2665.     break;
  2666.    
  2667.    default:
  2668.     if(Tl.Invert)
  2669.     {
  2670.      for(var i=0, j=Tl.Color.Set.length; i<j; i++)
  2671.      {
  2672.       fDisplayTheme1Invert(Hb, Tl.Color.Set[i], Tl.Msg, sHbAnchor, Ar);
  2673.      }
  2674.     }
  2675.     else
  2676.     {
  2677.      for(var i in Hb.Object)
  2678.      {
  2679.       fDisplayTheme1(Tl.Color.Set, Hb.Item(i), Tl.Msg, sHbAnchor, Ar);
  2680.      }
  2681.     } // end if
  2682.     break;
  2683.   }
  2684.  } //end function fDisplay
  2685.  
  2686.  function fSetPAnchorStr()
  2687.  {
  2688.   var Ar = [];
  2689.   Ar.push("<div>");
  2690.   Ar.push(" <a href=#"+Tl.Init.Name+">Top</a>");
  2691.    
  2692.   for(var i=0, j=pCbxList.length; i<j; i++)
  2693.   {
  2694.    if(pCbxList[i].checked)
  2695.    {
  2696.     Ar.push(" | <a href='#"+pCbxList[i].value+"'>");
  2697.     Ar.push(Tl.ContainerHb.Item(pCbxList[i].value));
  2698.     Ar.push("</a> ");
  2699.    }
  2700.   } // end for

  2701.   Ar.push("</div>");
  2702.   pAnchorStr = Ar.join("");
  2703.  } // end function fSetPAnchorStr;
  2704.  
  2705.  function fPutAnchorStr()
  2706.  {
  2707.   //Tl.Init.Name+"White"+Tl.Element.Anchor.Id+Tl.Postfix
  2708.   for(var i=0, j=pCbxList.length; i<j; i++)
  2709.   {
  2710.    var sId = Tl.Init.Name+pCbxList[i].value+Tl.Element.Anchor.Id+Tl.Postfix;
  2711.    var oDiv = document.getElementById(sId);
  2712.    
  2713.    if(pCbxList[i].checked)
  2714.    {
  2715.     oDiv.innerHTML = pAnchorStr;
  2716.    }
  2717.    else
  2718.    {
  2719.     if(oDiv!=null)
  2720.     {
  2721.      oDiv.innerHTML = "";
  2722.     }
  2723.    }
  2724.   } // end for
  2725.   
  2726.  } // end function fPutAnchorStr
  2727.  
  2728.  function fSetNullContainerHbContent()
  2729.  {
  2730.   for(var i in Tl.ContainerHb.Object)
  2731.   {
  2732.    Tl.ContainerHb.Item(i).Content = null;
  2733.   }
  2734.  } // end function fSetNullContainerHbContent
  2735.  
  2736.  function fShowAnchorNav(sIdentifier, sShadeName, Ar)
  2737.  {
  2738.   Ar.push("<h2><a name='"+sIdentifier+"'>"+sShadeName+"</a></h2>");
  2739.   Ar.push("<span id='"+Tl.Init.Name+sIdentifier+Tl.Element.Anchor.Id+Tl.Postfix+"'>");
  2740.   Ar.push(pAnchorStr);
  2741.   Ar.push("</span>");
  2742.  } // end function fShowAnchorNavrunat="Server"
  2743.  //------------------------------------end private method
  2744. } // shawl.qiu code
  2745. //---------------------------------end class BgColorScheme()---------------------------------//



3. HashTable.js
见: http://blog.csdn.net/btbtd/archive/2007/07/01/1672991.aspx
原创粉丝点击