
var df_design_list = {
    "d1":{// デフォルト
        "ds_line"   :"000000",
        "ds_title"  :"0000FF",
        "ds_back"   :"FFFFFF",
        "ds_text"   :"666666",
        "ds_url"    :"0000FF",
        "ds_highlight":"EEEEEE"
    },
    "d2":{// 若竹（わかたけ）
        "ds_line"   :"669966",
        "ds_title"  :"003300",
        "ds_back"   :"F7FCFE",
        "ds_text"   :"669966",
        "ds_url"    :"66CC66",
        "ds_highlight":"E9F8E9"
    },
    "d3":{// 卯の花（うのはな）
        "ds_line"   :"A69425",
        "ds_title"  :"996633",
        "ds_back"   :"FFFF99",
        "ds_text"   :"A69425",
        "ds_url"    :"CC9900",
        "ds_highlight":"FFFFCC"
    },
    "d4":{// 天空（てんくう）
        "ds_line"   :"336699",
        "ds_title"  :"333366",
        "ds_back"   :"EBF1ED",
        "ds_text"   :"336699",
        "ds_url"    :"0099CC",
        "ds_highlight":"F5F8F7"
    },
    "d5":{// 砂丘（さきゅう）
        "ds_line"   :"827860",
        "ds_title"  :"513743",
        "ds_back"   :"DCD3B2",
        "ds_text"   :"827860",
        "ds_url"    :"996600",
        "ds_highlight":"F0ECDD"
    },
    "d6":{// 桜貝（さくらがい）
        "ds_line"   :"F5B1AA",
        "ds_title"  :"EE827C",
        "ds_back"   :"FDEFF2",
        "ds_text"   :"F5B1AA",
        "ds_url"    :"FF6666",
        "ds_highlight":"FEFCFC"
    },
    "d7":{// 金糸雀（かなりあ）
        "ds_line"   :"FF9933",
        "ds_title"  :"EE7800",
        "ds_back"   :"FFFFCC",
        "ds_text"   :"FF9933",
        "ds_url"    :"FF6600",
        "ds_highlight":"FFFFFF"
    },
    "d8":{// 藤（ふじ）
        "ds_line"   :"9E8B8E",
        "ds_title"  :"7A4171",
        "ds_back"   :"E6EAE3",
        "ds_text"   :"9E8B8E",
        "ds_url"    :"CC6699",
        "ds_highlight":"F2F4F0"
    },
    "d9":{// 苔（こけ）
        "ds_line"   :"330000",
        "ds_title"  :"E0EBAF",
        "ds_back"   :"003300",
        "ds_text"   :"ADA250",
        "ds_url"    :"FFFFCC",
        "ds_highlight":"064406"
    },
    "d10":{// 銀杏（ぎんなん）
        "ds_line"   :"330000",
        "ds_title"  :"6D4F2B",
        "ds_back"   :"A69425",
        "ds_text"   :"F8E58C",
        "ds_url"    :"330000",
        "ds_highlight":"B7A644"
    },
    "d11":{// 藍（あい）
        "ds_line"   :"330000",
        "ds_title"  :"A69425",
        "ds_back"   :"203744",
        "ds_text"   :"ADA250",
        "ds_url"    :"FFFFCC",
        "ds_highlight":"365C72"
    },
    "d12":{// 胡桃（くるみ）
        "ds_line"   :"330000",
        "ds_title"  :"C1E4E9",
        "ds_back"   :"716246",
        "ds_text"   :"F5F5F5",
        "ds_url"    :"330000",
        "ds_highlight":"98845F"
    },
    "d13":{// 小豆（あずき）
        "ds_line"   :"330000",
        "ds_title"  :"460E44",
        "ds_back"   :"B28C6E",
        "ds_text"   :"EAE5E3",
        "ds_url"    :"330000",
        "ds_highlight":"BD9F84"
    },
    "d14":{// 蜜柑（みかん）
        "ds_line"   :"330000",
        "ds_title"  :"003300",
        "ds_back"   :"CC6600",
        "ds_text"   :"FFCC66",
        "ds_url"    :"FFFFCC",
        "ds_highlight":"EC7600"
    },
    "d15":{// 茄子（なす）
        "ds_line"   :"330000",
        "ds_title"  :"A69425",
        "ds_back"   :"460E44",
        "ds_text"   :"CCCCCC",
        "ds_url"    :"FFFFCC",
        "ds_highlight":"662264"
    },
    "d16":{// 烏羽（からす）
        "ds_line"   :"000000",
        "ds_title"  :"0099CC",
        "ds_back"   :"000000",
        "ds_text"   :"999999",
        "ds_url"    :"CCCCCC",
        "ds_highlight":"2F2F2F"
    },
    "d17":{// 炭（すみ）
        "ds_line"   :"000000",
        "ds_title"  :"FF3366",
        "ds_back"   :"333333",
        "ds_text"   :"CCCCCC",
        "ds_url"    :"FFFFFF",
        "ds_highlight":"4B4B4B"
    }
};

var cm_size_list = {
    2:{"w":468,"h": 60,"n":2,"v":0,"a":1},
    9:{"w":180,"h":150,"n":1,"v":1,"a":1},
    11:{"w":200,"h":200,"n":2,"v":1,"a":1}
};

var now_color = {
    "ds_line"   :"",
    "ds_title"  :"",
    "ds_back"   :"",
    "ds_text"   :"",
    "ds_url"    :"",
    "ds_highlight":"",
    "cm_type"   :""
};

// ハイライト計算用変数
var backColor   ="";
var titleColor  ="";
var textColor   ="";
var urlColor    ="";
var highlight   ="";
var titleH      ="";
var textH       ="";
var urlH        ="";

var palette_f_name = "myForm";
var start_palette = "d9";
var start_cm = 2;

function on(key)
{
    var nodeList = document.getElementsByName("ado_cm_block");
    var elmObject = nodeList.item(key);

    elmObject.style.backgroundColor = "#"+highlight;
    elmObject.getElementsByTagName("div").item(0).style.color = "#"+titleH;
    elmObject.getElementsByTagName("div").item(1).style.color = "#"+textH;
    elmObject.getElementsByTagName("div").item(2).style.color = "#"+urlH;
}

function off(key)
{
    var nodeList = document.getElementsByName("ado_cm_block");
    var elmObject = nodeList.item(key);

    elmObject.style.backgroundColor = "#"+backColor;
    elmObject.getElementsByTagName("div").item(0).style.color = "#"+titleColor;
    elmObject.getElementsByTagName("div").item(1).style.color = "#"+textColor;
    elmObject.getElementsByTagName("div").item(2).style.color = "#"+urlColor;
}

function init()
{
    setCmType(start_cm);
    setSelectFormValue("cm_type", start_cm);
    setSelectPaletteList(start_palette);
    setSelectFormValue("palette_list", start_palette);
    setColors();
}

function setSelectFormValue(name, val)
{
    var select_obj = this.getObj(name);
    for (var i=0;i < select_obj.options.length;i++)
    {
        if(select_obj.options[i].value == val)
        {
            select_obj.options[i].selected = true;
            break;
        }
    }
}

function changeCmType(obj)
{
    var val = getSelectedValue(obj);

    setCmType(val);
    setColors();
}

function setCmType(val)
{
    var cm_size = cm_size_list[val];
    var cm_title = '<div id="ad_title_[[n]]" style="font-weight:bold;font-size:12px;text-decoration:underline;">ここがタイトル部分</div>';
    var cm_description = '<div id="ad_description_[[n]]" style="font-size:12px;">ここに広告主のテキスト広告が表示されます</div>';
    var cm_site_host = '<div id="ad_site_host_[[n]]" style="font-size:10px;">www.ninja.co.jp</div>';
    var cm_html = '<table border="0" width="'+cm_size["w"]+'" height="'+cm_size["h"]+'" cellpadding="0" cellspacing="0">';
    var cm_str = '';

    switch(cm_size["v"])
    {
      case 0:
        // horizon
        if (cm_size["a"] == 0)
        {
            cm_html += '<tr>'+'<th align="right" colspan="'+cm_size["n"]+'" id="ad_abs_by" style="padding:0px 8px 1px 3px;font-size:11px;">'+'PR'+'</th>'+'</tr>';
        }
        cm_html += '<tr style="vertical-align: inherit;">';
        if (val == 2 || val == 3)
        {
            cm_str = cm_title+cm_description+'<div id="ad_site_host_[[n]]" style="font-size:1px;"></div>';
        }
        else
        {
            cm_str = cm_title+cm_description+cm_site_host;
        }
        for (var i=0;i< cm_size["n"];i++)
        {
            cm_html +='<td id="ado_cm_block" name="ado_cm_block" onmouseover="on('+i+');" onmouseout="off('+i+');" valign="top" style="padding:0px 2px 0px 2px;">'+cm_str.replace(/\[\[n\]\]/g, i)+'</td>';
        }
        cm_html += '</tr>';
        if (cm_size["a"] == 1)
        {
            cm_html += '<tr style="vertical-align: inherit;">'+'<th align="right" colspan="'+cm_size["n"]+'" id="ad_abs_by" style="padding:0px 8px 1px 3px;font-size:11px;">'+'PR'+'</th>'+'</tr>';
        }
        break;
      case 1:
        // vertical
        if (cm_size["a"] == 0)
        {
            cm_html += '<tr style="vertical-align: inherit;">'+'<th align="right" id="ad_abs_by" style="padding:0px 8px 1px 3px;font-size:11px;">'+'PR'+'</th>'+'</tr>';
        }
        if (val == 6)
        {
            cm_html +='<tr style="vertical-align: inherit;"><td style="font-size:4px;"><br></td></tr>';
        }
        cm_str = cm_title+cm_description+cm_site_host;
        for (var i=0;i< cm_size["n"];i++)
        {
            if (val == 9)
            {
                cm_html +='<tr style="vertical-align: inherit;"><td id="ado_cm_block" name="ado_cm_block" onmouseover="on('+i+');" onmouseout="off('+i+');">'+cm_str.replace(/\[\[n\]\]/g, i)+'</td></tr>';
            }
            else
            {
                cm_html +='<tr style="vertical-align: inherit;"><td id="ado_cm_block" name="ado_cm_block" onmouseover="on('+i+');" onmouseout="off('+i+');" valign="top">'+cm_str.replace(/\[\[n\]\]/g, i)+'</td></tr>';
            }
        }
        if (cm_size["a"] == 1)
        {
            cm_html += '<tr style="vertical-align: inherit;">'+'<th align="right" id="ad_abs_by" style="padding:0px 8px 1px 3px;font-size:11px;">'+'PR'+'</th>'+'</tr>';
        }
        break;
    }
    cm_html += '</table>';
    getElementObj("ad_cm").style.width = cm_size["w"]+"px";
    getElementObj("ad_cm").style.height = cm_size["h"]+"px";
    getElementObj("ad_cm").innerHTML = cm_html;
    now_color["cm_type"] = val;
}

function applyToLayer(n, key, val)
{
    switch (key)
    {
      case "ds_title":
        getElementObj("ad_title_"+n).style.color = '#'+val;
        getElementObj("ad_title_"+n).style.fontFamily = 'verdana,arial,sans-serif';
        break;
      case "ds_back":
        getElementObj("ad_cm").style.backgroundColor = '#'+val;
        document.getElementsByName("ado_cm_block").item(n).style.backgroundColor = "#"+val;
        break;
      case "ds_text":
        //ad_description
        getElementObj("ad_description_"+n).style.color = '#'+val;
        getElementObj("ad_description_"+n).style.fontFamily = 'verdana,arial,sans-serif';
        getElementObj("ad_abs_by").style.color = '#'+val;
        break;
      case "ds_url":
        //ad_site_host
        getElementObj("ad_site_host_"+n).style.color = '#'+val;
        getElementObj("ad_site_host_"+n).style.fontFamily = 'verdana,arial,sans-serif';
        break;
      case "ds_line":
        //ad_cm
        getElementObj("ad_cm").style.border = '1px solid #'+val;
        break;
    }
}

function changePaletteList(obj)
{
    var palette_id = getSelectedValue(obj);
    setSelectPaletteList(palette_id);
    // 色を反映
    setColors();
}

function setSelectPaletteList(palette_id)
{
    var set_design = df_design_list[palette_id];
    for(var i in set_design){
        now_color[i] = set_design[i];
    }
}

function setColors()
{
    for (var i in now_color)
    {
        if (i != "cm_type")
        {
            for (var a = 0;a < cm_size_list[now_color["cm_type"]]["n"];a++)
            {
                applyToLayer(a, i, now_color[i]);
            }
        }
    }

    //ハイライト色を計算し直す
    backColor = now_color["ds_back"];
    titleColor = now_color["ds_title"];
    textColor = now_color["ds_text"];
    urlColor = now_color["ds_url"];
    highlight = now_color["ds_highlight"];
    titleH = textH = urlH = "";

}

function getObj(name)
{
    return eval("getFormObj()."+name);
}

function getFormObj()
{
    return eval("document."+palette_f_name);
}

function getElementObj(name)
{
    return document.getElementById(name);
}

function getSelectedValue(select_obj)
{
    return select_obj.options[select_obj.selectedIndex].value;
}

