function privacy_win(url){
	if (url != ''){
		win=window.open(url,"privacy_win","scrollbars=1,resizable=yes,width=650,height=620");
		//win=window.open(url,"scrollbars=1,resizable=no,width=800,height=600");
	}
}
function hellpword(a){
switch(a){
case "tp-000-1":a='チェックを入れると、次回からのログイン時にメール<br/>アドレスを入力しないでログインすることができます。';break;
case "lo-033-1":a='スロータウンにログインする際に使用する情報です。';break;
case "lo-033-2":a='お客様独自のサブドメインとして、自己紹介ページ、趣<br/>味ブログのURLになります。<br/>(例：http://slowtown-taro.slowtown.net/)';break;
case "lo-033-3":a='お客様のプロフィールを入力してください。ニックネーム<br/>以外は公開範囲を設定できます。ニックネームは、<br/>スロータウンを訪れるすべての方に公開される、<br/>お客様のお名前に代わるものです。';break;
case "lo-033-4":a='スロータウン内でのお客様のお名前に代わるものです。<br/>なるべく実名を避けていただくことをお勧めしております<br/>ので、お客様独自のニックネームをお考えください。';break;
case "mo-010-1":a='携帯電話用のメールアドレスを入力してください。<br/>設定すると、趣味ブログへのコメントやトラックバック、<br/>あいさつ掲示板へのコメント、しゅみ友申請、ミニメール<br/>受信があった時の通知メールを携帯電話で受け取る<br/>ことができます。';break;
case "mo-010-2":a='オリジナルURLとは、お客様独自のサブドメインとして、<br/>自己紹介ページ、趣味ブログのURLになります。';break;
case "mo-010-3":a='メールアドレス、携帯メールアドレスにお客様のメール<br/>アドレスを設定していただくと、各項目の通知メールを<br/>受け取ることができます。リアルタイムに更新状況が<br/>把握できます。';break;
case "sp-100-1":a='通報するページのURLです。';break;
case "sp-110-1":a='通報するページのURLです。';break;
case "sp-110-2":a='必ず通報理由を入力してください。';break;
case "ep-190-1":a='しゅみ友申請をする方に送るメッセージを入力してくだ<br/>さい。';break;
case "mc-110-1":a='空欄のテキストエリアに任意の文字を入力し、<br/>趣味サークル用のサブドメインを作成できます。<br/>(例：http://slowtown.net/circle/slowtown-taro/)';break;
case "mc-110-2":a='作成する趣味サークルに関連するキーワードを<br/>お選びください。他の会員が、このサークルを見つける<br/>手がかりになります。';break;
case "mc-110-3":a='作成する趣味サークルの参加、閲覧、トピック作成と<br/>コメントの制限を設定できます。参加には承認が<br/>必要にチェックをすると参加したいメンバーは管理人が<br/>承認してから参加資格が得られます。閲覧やトピック<br/>作成とコメントもメンバー内でのやり取りに制限するか、<br/>メンバー以外でも参加できるフリースペースにするか<br/>を決めることができます。';break;
case "mc-110-4":a='お客様がお持ちのメールアドレスで、通知メールを<br/>受け取ることができます。メンバー参加申請がされた<br/>ことをスロータウンにログインしていなくても<br/>リアルタイムで把握することができます。';break;
case "mc-110-5":a='制限にチェックを入れると、そのメンバーは閲覧、<br/>トピック作成、コメント入力ができなくなります。<br/>趣味サークルメンバーには残ります。';break;
case "mp-010-0":a='ご自身の自己紹介ページの内容を編集します。';break;
case "mp-010-1":a='興味ある趣味に関連する項目をジャンル、カテゴリの<br/>それぞれ5つまでを選択することができます。趣味仲間<br/>を検索するときのキーワード対象にもなります。';break;
case "mp-010-2":a='他の人が趣味仲間検索した時にご自身を検索結果の<br/>中に含めるかどうかを設定します。';break;
case "mb-080-1":a='趣味ブログ記事をカテゴリ分けすることができます。<br/>例)日記、スポーツなど';break;
case "mb-080-2":a='作成するカテゴリに関連するジャンルを選択して<br/>ください。';break;
case "mb-080-3":a='カテゴリ一覧で何番目に表示させるかを決めることが<br/>できます。<br/>(例:3と入力すると、上から3番目に表示されます)';break;
case "mb-121-1":a='カテゴリ編集で作成した中からお選びください。<br/>当てはまるカテゴリがない場合は、カテゴリ編集で<br/>追加することができます。';break;
case "mb-121-2":a='記事作成の時間が自動的に入力されます。<br/>時間変更は可能ですので、未来の記事や過去の記事<br/>として作成することができます。';break;
case "mb-121-3":a='その記事のタイトルを入力してください。';break;
case "mb-121-4":a='記事の内容に関連するキーワードを入力してください。<br/>入力したキーワードは検索対象となりますので、<br/>キーワードが多いほど、たくさんの人に検索される<br/>ことになります。';break;
case "mb-121-5":a='記事内容を入力してください。';break;
case "mb-121-6":a='3枚まで画像を掲載できます。[参照]ボタンをクリック<br/>して、掲載する画像の保存先から画像を選択して<br/>ください。';break;
case "mb-121-7":a='引用、参照または関連のある他のブログにトラックバ<br/>ックを送る場合、そのトラックバックURLを入力して<br/>ください。詳しくはガイドの「他のブログへトラック<br/>バックを送るには？」をご覧ください。';break;
case "mb-121-8":a='作成した記事に対してのコメントを受け付ける範囲を<br/>設定します。';break;
case "mb-121-9":a='作成した記事に対してのトラックバックを受け付ける<br/>かを設定します。';break;
case "mb-121-10":a='トラックバック制限機能とは、トラックバック元の<br/>記事が半角英数のみで書かれている場合や、<br/>スロータウンが独自で悪質と判断したトラックバックを<br/>拒否する機能です。';break;
case "ml-050-1":a='ミニメールを送る相手のニックネームと画像が表示されます。';break;
case "ml-040-1":a='ミニメール受信設定をすることができます。';break;
case "mt-050-1":a='招待したいご友人のメールアドレスを入力してください<br/>。携帯用のメールアドレスは登録できませんので、<br/>パソコンで使用できるメールアドレスをお願いします。<br/>アドレスが間違っている場合、メールが届かない可能<br/>性もあります。よく確認していただき、送信してください。';break;
case "000":a='http://www.aaaaaaa.aaaa.nrt/awenawernal.phpo=rwrwrwrwrwrw&wtastaswet';break;
default:a="?";
}
return a;
//<a href="javascript:void(0);" onmouseover="focus();showToolTip(event,hellpword('lo-033-3'));return false;" onmouseout="hideToolTip()"><img src="/images/cm_icon_question.gif" width="16" height="16" alt="?" class="qicon" /></a>
}
//======================================================================================
// ガイド
//======================================================================================
/*function ReWin(){
	w=700;
	h=700;
	if(navigator.appName.charAt(0) == "M"){
		//Win IE
		w=w-document.body.clientWidth;
		h=h-document.body.clientHeight;
		window.focus();
	}else{
		//Win NN
		w=w-window.innerWidth;
		h=h-window.innerHeight;
	}
	w=Math.abs(w);
	h=Math.abs(h);
	//alert(w+'__'+h);
	window.resizeBy(610,680);
	clearTimeout(timerID);
}
*/
function guideOpen(url){
	var PopDetail = "toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,scrollbars=yes,toolbar=no,width=630,height=670,innerHeight=610";
	PopWin = window.open(url,"guide",PopDetail);
	PopWin.focus();
	//timerID = setTimeout('ReWin()', 200);

}
function guideOpener(url){
	parent.opener.location.href = url;
}
//======================================================================================
// MM_swapImage() DWのSWAPイメージ使う？？
//======================================================================================
function MM_swapImage() {
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() {
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) {
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function imgOn(imgName) {
	if (document.images) {
		document[imgName].src=eval(imgName+"on.src");
	}
}
function imgOff(imgName) {
	if (document.images) {
		document[imgName].src=eval(imgName+"off.src");
	}
}
function imgEd(imgName) {
	if (document.images) {
		document[imgName].src=eval(imgName+"ed.src");
	}
}
function onbtn(btntarget){document.images[btntarget].src=imageon.src;}
function offbtn(btntarget){document.images[btntarget].src=imageoff.src;}
//======================================================================================
// フォーム初期のダミーテキストチェック
//======================================================================================
function diftext(w,p,idName){
	var color = new RGBColor(document.getElementById(idName).style.color);
	color=color.toHex();	
	if(p=='f'){	
		if(color == "#999999"){
			document.getElementById(idName).value = '';
			document.getElementById(idName).style.color = "#000000";
		}
	}
	
	if(p=='b'){
		if(document.getElementById(idName).value == ""){
			document.getElementById(idName).value = w;
			document.getElementById(idName).style.color = "#999999";
		}
	}
	
}
function submit_check(idName){
	var telem = new Array();
	var tvalue = new Array();
	var tcolor = new Array();
	
	for(i=0; (a = document.forms[idName].getElementsByTagName("input")[i]); i++) {
		var color = new RGBColor(document.forms[idName].getElementsByTagName("input")[i].style.color);
		color=color.toHex();
		
		telem.push(document.forms[idName].getElementsByTagName("input")[i].name);
		tvalue.push(document.forms[idName].getElementsByTagName("input")[i].value);
		tcolor.push(color);
		
		if(color=="#999999"){
			document.forms[idName].getElementsByTagName("input")[i].value = "";
			///初期のグレー表示のテキストを空に
		}else{
		}
	}
	document.forms[idName].submit();
	for(i=0;telem.length>=i;i++){
		document.forms[idName].elements[telem[i]].value = tvalue[i];
		document.forms[idName].elements[telem[i]].style.color = tcolor[i];

	}
}
//======================================================================================
// スタイルシートチェンジ
//======================================================================================
function setActiveStyleSheet(title) {
	var i, a, main;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
			a.disabled = true;
			if(a.getAttribute("title") == title) a.disabled = false;
		}
	}
}
function getActiveStyleSheet() {
	var i, a;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
	}
	return null;
}
function getPreferredStyleSheet() {
	var i, a;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
	}
	return null;
}
window.onload = function(e) {
	var cookie = getCookie("style");
	//追記 071001 初回書き込まれていない場合
	if(cookie==false){
	  var title = "alternate1";
		  setCookie("style", title, 365);
	}
	//
	var title = cookie ? cookie : getPreferredStyleSheet();
	setActiveStyleSheet(title);
}
window.onunload = function(e) {
	var title = getActiveStyleSheet();
	setCookie("style", title, 365);
}
var cookie = getCookie("style");
if(cookie==false){
	  var title = "alternate1";
		  setCookie("style", title, 365);
}
var title = cookie ? cookie : getPreferredStyleSheet();
//追記 071001 初回書き込まれていない場合
if(cookie==false){
  var title = "alternate1";
  setCookie("style", title, 365);
}
//
setActiveStyleSheet(title);

//======================================================================================
//　ToolTip
//======================================================================================
function showToolTip(e,text){
	if(document.all)e = event;	
	var obj = document.getElementById('bubble_tooltip1');
	var obj2 = document.getElementById('bubble_tooltip_content1');
	obj2.innerHTML = text;
	obj.style.display = 'block';
	var st = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
	if(navigator.userAgent.toLowerCase().indexOf('safari')>=0)st=0; 
	var leftPos = e.clientX - 275;
	if(leftPos<0)leftPos = 0;
	obj.style.left = leftPos + 'px';
	obj.style.top = e.clientY - obj.offsetHeight -0 + st + 'px';
}
function showToolTip2(e,text){
	if(document.all)e = event;	
	var obj = document.getElementById('bubble_tooltip2');
	var obj2 = document.getElementById('bubble_tooltip_content2');	
	obj2.innerHTML = text;
	obj.style.display = 'block';
	var st = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
	if(navigator.userAgent.toLowerCase().indexOf('safari')>=0)st=0; 
	var leftPos = e.clientX - 15;
	if(leftPos<0)leftPos = 0;
	obj.style.left = leftPos + 'px';
	obj.style.top = e.clientY - obj.offsetHeight -0 + st + 'px';
}
function hideToolTip()
{
	document.getElementById('bubble_tooltip1').style.display = 'none';
	document.getElementById('bubble_tooltip2').style.display = 'none';
}
function hideselect(){
	var obj3 = document.getElementsByTagName('select');
	for (i=0; i<obj3.length; i++) {
	obj3[i].style.visibility = 'hidden';
	}
}
function showselect(){
	var obj3 = document.getElementsByTagName('select');
	for (i=0; i<obj3.length; i++) {
	obj3[i].style.visibility = 'visible';
	}
}
//======================================================================================
//　IEで min-width  max-width  min-height  max-height
//======================================================================================

/*@cc_on
@if (@_win32 && @_jscript_version>4)

var minmax_elements;

minmax_props= new Array(
  new Array('min-width', 'minWidth'),
  new Array('max-width', 'maxWidth'),
  new Array('min-height','minHeight'),
  new Array('max-height','maxHeight')
);

// Binding. Called on all new elements. If <body>, initialise; check all
// elements for minmax properties

function minmax_bind(el) {
  var i, em, ms;
  var st= el.style, cs= el.currentStyle;

  if (minmax_elements==window.undefined) {
    // initialise when body element has turned up, but only on IE
    if (!document.body || !document.body.currentStyle) return;
    minmax_elements= new Array();
    window.attachEvent('onresize', minmax_delayout);
    // make font size listener
    em= document.createElement('div');
    em.setAttribute('id', 'minmax_em');
    em.style.position= 'absolute'; em.style.visibility= 'hidden';
    em.style.fontSize= 'xx-large'; em.style.height= '5em';
    em.style.top='-5em'; em.style.left= '0';
    if (em.style.setExpression) {
      em.style.setExpression('width', 'minmax_checkFont()');
      document.body.insertBefore(em, document.body.firstChild);
    }
  }

  // transform hyphenated properties the browser has not caught to camelCase
  for (i= minmax_props.length; i-->0;)
    if (cs[minmax_props[i][0]])
      st[minmax_props[i][1]]= cs[minmax_props[i][0]];
  // add element with properties to list, store optimal size values
  for (i= minmax_props.length; i-->0;) {
    ms= cs[minmax_props[i][1]];
    if (ms && ms!='auto' && ms!='none' && ms!='0' && ms!='') {
      st.minmaxWidth= cs.width; st.minmaxHeight= cs.height;
      minmax_elements[minmax_elements.length]= el;
      // will need a layout later
      minmax_delayout();
      break;
  } }
}

// check for font size changes

var minmax_fontsize= 0;
function minmax_checkFont() {
  var fs= document.getElementById('minmax_em').offsetHeight;
  if (minmax_fontsize!=fs && minmax_fontsize!=0)
    minmax_delayout();
  minmax_fontsize= fs;
  return '5em';
}

// Layout. Called after window and font size-change. Go through elements we
// picked out earlier and set their size to the minimum, maximum and optimum,
// choosing whichever is appropriate

// Request re-layout at next available moment
var minmax_delaying= false;
function minmax_delayout() {
  if (minmax_delaying) return;
  minmax_delaying= true;
  window.setTimeout(minmax_layout, 0);
}

function minmax_stopdelaying() {
  minmax_delaying= false;
}

function minmax_layout() {
  window.setTimeout(minmax_stopdelaying, 100);
  var i, el, st, cs, optimal, inrange;
  for (i= minmax_elements.length; i-->0;) {
    el= minmax_elements[i]; st= el.style; cs= el.currentStyle;

    // horizontal size bounding
    st.width= st.minmaxWidth; optimal= el.offsetWidth;
    inrange= true;
    if (inrange && cs.minWidth && cs.minWidth!='0' && cs.minWidth!='auto' && cs.minWidth!='') {
      st.width= cs.minWidth;
      inrange= (el.offsetWidth<optimal);
    }
    if (inrange && cs.maxWidth && cs.maxWidth!='none' && cs.maxWidth!='auto' && cs.maxWidth!='') {
      st.width= cs.maxWidth;
      inrange= (el.offsetWidth>optimal);
    }
    if (inrange) st.width= st.minmaxWidth;

    // vertical size bounding
    st.height= st.minmaxHeight; optimal= el.offsetHeight;
    inrange= true;
    if (inrange && cs.minHeight && cs.minHeight!='0' && cs.minHeight!='auto' && cs.minHeight!='') {
      st.height= cs.minHeight;
      inrange= (el.offsetHeight<optimal);
    }
    if (inrange && cs.maxHeight && cs.maxHeight!='none' && cs.maxHeight!='auto' && cs.maxHeight!='') {
      st.height= cs.maxHeight;
      inrange= (el.offsetHeight>optimal);
    }
    if (inrange) st.height= st.minmaxHeight;
  }
}

// Scanning. Check document every so often until it has finished loading. Do
// nothing until <body> arrives, then call main init. Pass any new elements
// found on each scan to be bound   

var minmax_SCANDELAY= 500;

function minmax_scan() {
  var el;
  for (var i= 0; i<document.all.length; i++) {
    el= document.all[i];
    if (!el.minmax_bound) {
      el.minmax_bound= true;
      minmax_bind(el);
  } }
}

var minmax_scanner;
function minmax_stop() {
  window.clearInterval(minmax_scanner);
  minmax_scan();
}

minmax_scan();
minmax_scanner= window.setInterval(minmax_scan, minmax_SCANDELAY);
window.attachEvent('onload', minmax_stop);

@end @*/

//======================================================================================
//　Cookie
//======================================================================================
function tempCookie(theName__,theValue__){
	if ((theNmae != null) && (theValue__ != null))
	{
		document.cookie = theName__ + "="+theValue__;
		return true;
	}
	return false;
}
//Cookie保存する。成功した時はtrue,失敗した時はfalseを返す
function setCookie(theName__,theValue__,theDay__){
	if ((theName__ != null) && (theValue__ != null))
	{
		var expDay__ = "0";	//　指定されない場合とりあえず2020年
		if (theDay__ != null)
		{
			theDay__ = eval(theDay__);	//　文字列の場合でも数値にする（念のため）
			var setDay = new Date();
			setDay.setTime(setDay.getTime()+(theDay__*1000*60*60*24));
			expDay__ = setDay.toGMTString();
		}
		document.cookie = theName__ + "="+escape(theValue__)+";expire="+expDay__+";path=/";
		return true;
	}
	alert("error cookieの書き込みができませんでした。\nブラウザの設定でcookieを許可してください。");
	return false;
}
//cookie参照。成功した時はnull以外,失敗した時はfalseを返す
function getCookie(theName__){
	theName__ += "=";	//　=を追加して検索の手抜きをする
	theCookie__ = document.cookie+";";	//　検索時最終項目で-1になるのを防ぐ
	start__ = theCookie__.indexOf(theName__);	//　指定された名前を検索する
	if (start__ != -1)
	{
		end__ = theCookie__.indexOf(";",start__);
		return unescape(theCookie__.substring(start__+theName__.length,end__));
	}
	//alert("error クッキーの取得ができませんでした。");
	return false;
}
//cookie消去。
function DeleteCookie (name){
var exp =new Date();
exp.setTime(exp.getTime() - 1);
var cval = getCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

//======================================================================================
// RGB色変換
//======================================================================================
function RGBColor(color_string)
{
    this.ok = false;

    // strip any leading #
    if (color_string.charAt(0) == '#') { // remove # if any
        color_string = color_string.substr(1,6);
    }

    color_string = color_string.replace(/ /g,'');
    color_string = color_string.toLowerCase();

    // before getting into regexps, try simple matches
    // and overwrite the input
    var simple_colors = {
        aliceblue: 'f0f8ff',
        antiquewhite: 'faebd7',
        aqua: '00ffff',
        aquamarine: '7fffd4',
        azure: 'f0ffff',
        beige: 'f5f5dc',
        bisque: 'ffe4c4',
        black: '000000',
        blanchedalmond: 'ffebcd',
        blue: '0000ff',
        blueviolet: '8a2be2',
        brown: 'a52a2a',
        burlywood: 'deb887',
        cadetblue: '5f9ea0',
        chartreuse: '7fff00',
        chocolate: 'd2691e',
        coral: 'ff7f50',
        cornflowerblue: '6495ed',
        cornsilk: 'fff8dc',
        crimson: 'dc143c',
        cyan: '00ffff',
        darkblue: '00008b',
        darkcyan: '008b8b',
        darkgoldenrod: 'b8860b',
        darkgray: 'a9a9a9',
        darkgreen: '006400',
        darkkhaki: 'bdb76b',
        darkmagenta: '8b008b',
        darkolivegreen: '556b2f',
        darkorange: 'ff8c00',
        darkorchid: '9932cc',
        darkred: '8b0000',
        darksalmon: 'e9967a',
        darkseagreen: '8fbc8f',
        darkslateblue: '483d8b',
        darkslategray: '2f4f4f',
        darkturquoise: '00ced1',
        darkviolet: '9400d3',
        deeppink: 'ff1493',
        deepskyblue: '00bfff',
        dimgray: '696969',
        dodgerblue: '1e90ff',
        feldspar: 'd19275',
        firebrick: 'b22222',
        floralwhite: 'fffaf0',
        forestgreen: '228b22',
        fuchsia: 'ff00ff',
        gainsboro: 'dcdcdc',
        ghostwhite: 'f8f8ff',
        gold: 'ffd700',
        goldenrod: 'daa520',
        gray: '808080',
        green: '008000',
        greenyellow: 'adff2f',
        honeydew: 'f0fff0',
        hotpink: 'ff69b4',
        indianred : 'cd5c5c',
        indigo : '4b0082',
        ivory: 'fffff0',
        khaki: 'f0e68c',
        lavender: 'e6e6fa',
        lavenderblush: 'fff0f5',
        lawngreen: '7cfc00',
        lemonchiffon: 'fffacd',
        lightblue: 'add8e6',
        lightcoral: 'f08080',
        lightcyan: 'e0ffff',
        lightgoldenrodyellow: 'fafad2',
        lightgrey: 'd3d3d3',
        lightgreen: '90ee90',
        lightpink: 'ffb6c1',
        lightsalmon: 'ffa07a',
        lightseagreen: '20b2aa',
        lightskyblue: '87cefa',
        lightslateblue: '8470ff',
        lightslategray: '778899',
        lightsteelblue: 'b0c4de',
        lightyellow: 'ffffe0',
        lime: '00ff00',
        limegreen: '32cd32',
        linen: 'faf0e6',
        magenta: 'ff00ff',
        maroon: '800000',
        mediumaquamarine: '66cdaa',
        mediumblue: '0000cd',
        mediumorchid: 'ba55d3',
        mediumpurple: '9370d8',
        mediumseagreen: '3cb371',
        mediumslateblue: '7b68ee',
        mediumspringgreen: '00fa9a',
        mediumturquoise: '48d1cc',
        mediumvioletred: 'c71585',
        midnightblue: '191970',
        mintcream: 'f5fffa',
        mistyrose: 'ffe4e1',
        moccasin: 'ffe4b5',
        navajowhite: 'ffdead',
        navy: '000080',
        oldlace: 'fdf5e6',
        olive: '808000',
        olivedrab: '6b8e23',
        orange: 'ffa500',
        orangered: 'ff4500',
        orchid: 'da70d6',
        palegoldenrod: 'eee8aa',
        palegreen: '98fb98',
        paleturquoise: 'afeeee',
        palevioletred: 'd87093',
        papayawhip: 'ffefd5',
        peachpuff: 'ffdab9',
        peru: 'cd853f',
        pink: 'ffc0cb',
        plum: 'dda0dd',
        powderblue: 'b0e0e6',
        purple: '800080',
        red: 'ff0000',
        rosybrown: 'bc8f8f',
        royalblue: '4169e1',
        saddlebrown: '8b4513',
        salmon: 'fa8072',
        sandybrown: 'f4a460',
        seagreen: '2e8b57',
        seashell: 'fff5ee',
        sienna: 'a0522d',
        silver: 'c0c0c0',
        skyblue: '87ceeb',
        slateblue: '6a5acd',
        slategray: '708090',
        snow: 'fffafa',
        springgreen: '00ff7f',
        steelblue: '4682b4',
        tan: 'd2b48c',
        teal: '008080',
        thistle: 'd8bfd8',
        tomato: 'ff6347',
        turquoise: '40e0d0',
        violet: 'ee82ee',
        violetred: 'd02090',
        wheat: 'f5deb3',
        white: 'ffffff',
        whitesmoke: 'f5f5f5',
        yellow: 'ffff00',
        yellowgreen: '9acd32'
    };
    for (var key in simple_colors) {
        if (color_string == key) {
            color_string = simple_colors[key];
        }
    }
    // emd of simple type-in colors

    // array of color definition objects
    var color_defs = [
        {
            re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,
            example: ['rgb(123, 234, 45)', 'rgb(255,234,245)'],
            process: function (bits){
                return [
                    parseInt(bits[1]),
                    parseInt(bits[2]),
                    parseInt(bits[3])
                ];
            }
        },
        {
            re: /^(\w{2})(\w{2})(\w{2})$/,
            example: ['#00ff00', '336699'],
            process: function (bits){
                return [
                    parseInt(bits[1], 16),
                    parseInt(bits[2], 16),
                    parseInt(bits[3], 16)
                ];
            }
        },
        {
            re: /^(\w{1})(\w{1})(\w{1})$/,
            example: ['#fb0', 'f0f'],
            process: function (bits){
                return [
                    parseInt(bits[1] + bits[1], 16),
                    parseInt(bits[2] + bits[2], 16),
                    parseInt(bits[3] + bits[3], 16)
                ];
            }
        }
    ];

    // search through the definitions to find a match
    for (var i = 0; i < color_defs.length; i++) {
        var re = color_defs[i].re;
        var processor = color_defs[i].process;
        var bits = re.exec(color_string);
        if (bits) {
            channels = processor(bits);
            this.r = channels[0];
            this.g = channels[1];
            this.b = channels[2];
            this.ok = true;
        }

    }

    // validate/cleanup values
    this.r = (this.r < 0 || isNaN(this.r)) ? 0 : ((this.r > 255) ? 255 : this.r);
    this.g = (this.g < 0 || isNaN(this.g)) ? 0 : ((this.g > 255) ? 255 : this.g);
    this.b = (this.b < 0 || isNaN(this.b)) ? 0 : ((this.b > 255) ? 255 : this.b);

    // some getters
    this.toRGB = function () {
        return 'rgb(' + this.r + ', ' + this.g + ', ' + this.b + ')';
    }
    this.toHex = function () {
        var r = this.r.toString(16);
        var g = this.g.toString(16);
        var b = this.b.toString(16);
        if (r.length == 1) r = '0' + r;
        if (g.length == 1) g = '0' + g;
        if (b.length == 1) b = '0' + b;
        return '#' + r + g + b;
    }

    // help
    this.getHelpXML = function () {

        var examples = new Array();
        // add regexps
        for (var i = 0; i < color_defs.length; i++) {
            var example = color_defs[i].example;
            for (var j = 0; j < example.length; j++) {
                examples[examples.length] = example[j];
            }
        }
        // add type-in colors
        for (var sc in simple_colors) {
            examples[examples.length] = sc;
        }

        var xml = document.createElement('ul');
        xml.setAttribute('id', 'rgbcolor-examples');
        for (var i = 0; i < examples.length; i++) {
            try {
                var list_item = document.createElement('li');
                var list_color = new RGBColor(examples[i]);
                var example_div = document.createElement('div');
                example_div.style.cssText =
                        'margin: 3px; '
                        + 'border: 1px solid black; '
                        + 'background:' + list_color.toHex() + '; '
                        + 'color:' + list_color.toHex()
                ;
                example_div.appendChild(document.createTextNode('test'));
                var list_item_value = document.createTextNode(
                    ' ' + examples[i] + ' -> ' + list_color.toRGB() + ' -> ' + list_color.toHex()
                );
                list_item.appendChild(example_div);
                list_item.appendChild(list_item_value);
                xml.appendChild(list_item);

            } catch(e){}
        }
        return xml;

    }

}

//======================================================================================
// Flashプラグイン
// FLASH のバージョン判定
//======================================================================================
function HH_getFlashVersion(Obj){
	var flashVersion ;
	var os=HH_getOsName().toLowerCase();
	var br=HH_getBrowserName().toLowerCase();
	if((os == "windows")&&(br == "explorer")){
		flashVersion=HH_getVBFlashVersion();
	}else{
		flashVersion=HH_getJSFlashVersion();
	}
	if(flashVersion <=Obj.HH_swfver-1){
		if (typeof(Obj.HH_url) == "undefined"){Obj.HH_url="/cr/s/information/etc/f_player/index.html";}
		if(Obj.Ac == "location"){//ロケーション
			self.location.href=Obj.HH_url;
		}else{//代替イメージ
			if (typeof(Obj.HH_imgurl) == "undefined"){self.location.href=Obj.HH_url;}else{document.write(Obj.HH_imgurl);}
		}
	}else{
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '); 
document.write('codebase="https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" ');
document.write('width="'+Obj.HH_w+'" height="'+Obj.HH_h+'" align="middle">');
document.write('<param name="allowScriptAccess" value="sameDomain" />');
document.write('<param name="movie" value="'+Obj.HH_swfurl+'" />');
document.write('<param name="quality" value="'+Obj.HH_quality+'" />');
document.write('<param name="bgcolor" value="'+Obj.HH_bgcolor+'" />');
document.write('<param name="loop" value="false" />');
document.write('<param name="menu" value="false" />');
document.write('<param name=FlashVars VALUE="'+Obj.HH_FVars+'">');
document.write('<param name="BASE" value="'+Obj.HH_Base+'">');
document.write('<embed src="'+Obj.HH_swfurl+'" ');
document.write('quality="'+Obj.HH_quality+'" bgcolor="'+Obj.HH_bgcolor+'" FlashVars="'+Obj.HH_FVars+'" ');
document.write('width="'+Obj.HH_w+'" height="'+Obj.HH_h+'" BASE="'+Obj.HH_Base+'" align="middle" allowScriptAccess="sameDomain" ');
document.write('type="application/x-shockwave-flash" pluginspage="https://www.macromedia.com/go/getflashplayer" />');
document.write('</object>');
	}
}
// WIN + MSIE の場合、VBScript にて判定する
function HH_getVBFlashVersion( )
{
	var COUNT_MAX = 7 ; // 最初に調べるバージョン
	var flashVersion ;
	var majorVersion ;
	var minorVersion ;

	for ( var i=COUNT_MAX; i>0; i-- )
	{
		flashVersion = HH_getFlashControlVersion( i ) ;

		if ( flashVersion != 0 )
		{
			majorVersion = flashVersion >> 16 ;
			minorVersion = flashVersion & 0x0000ffff ;

			return parseFloat( majorVersion + "." + minorVersion ) ;
		}
	}

	return Number( 0 ) ;
}
// WIN + MSIE 以外のブラウザは JS で判定する
function HH_getJSFlashVersion(){
	var PLUGIN = navigator.plugins ;
	var PLUGIN_LENGTH = PLUGIN.length ;
	var myPlugin ;
	var myName ;
	var myDesc ;
	var flashVersion ;
	var versionDemilita = " r" ;
	var demilitaPos ;
	var majorVersion ;
	var minorVersion ;
	for ( var i=0; i < PLUGIN_LENGTH; i++ )
	{
		myPlugin = PLUGIN[ i ] ;
		myName = myPlugin.name ;
		myDesc = myPlugin.description ;
		if ( myName.indexOf( "Shockwave" ) != -1 && myName.indexOf( "Flash" ) != -1 )
		{
			flashVersion = myDesc.substring( myDesc.indexOf("Flash ") + 6 ) ;
			demilitaPos = flashVersion.indexOf( versionDemilita ) ;
			if ( demilitaPos != -1 )
			{
				majorVersion = flashVersion.substring( 0, demilitaPos ) ;
				minorVersion = parseInt( flashVersion.substring( demilitaPos + 2 ) ) ;
				if ( minorVersion < 10 )
				{
					minorVersion = "0" + minorVersion ;
				}

				return parseFloat( majorVersion + minorVersion ) ;
			}
			else
			{
				return parseFloat( flashVersion ) ;
			}
		}
	}
	return Number( 0 ) ;
}
// ブラウザ情報の取得
function HH_getOsName(){
	var userOs      = "" ;
	var regexResult = "" ;
	var moreInfo    = true ;
	var usrAgent    = navigator.userAgent.toUpperCase() ;
	if ( usrAgent.indexOf("WIN") != -1 ) userOs = "Windows" ;
	if ( usrAgent.indexOf("MAC") != -1 ) userOs = "MacOS" ;
	if ( usrAgent.indexOf("X11") != -1 ) userOs = "UNIX" ;
	return userOs ;
}
function HH_getBrowserName(){
	var userBrowser = "" ;
	var appName     = navigator.appName.toUpperCase() ;
	var usrAgent    = navigator.userAgent.toUpperCase() ;
	if ( appName.indexOf("NETSCAPE")  != -1 ) userBrowser = "Netscape" ;
	if ( appName.indexOf("MICROSOFT") != -1 ) userBrowser = "Explorer" ;
	if ( usrAgent.indexOf("OPERA") != -1 ) userBrowser = "Opera" ;
	return userBrowser ;
}
function HH_getBrowserVersion(){
	var version    = "" ;
	var start      = 0  ;
	var end        = 0  ;
	var usrBrowser = HH_getBrowserName() ;
	var usrAgent   = navigator.userAgent.toUpperCase() ;
	var appVersion = navigator.appVersion ;
	if ( usrBrowser == "Netscape" )	{
		start   = appVersion.indexOf(" ",0) ;
		version = appVersion.substring(0,start) ;
	}
	if ( usrBrowser == "Explorer" )	{
		start   = appVersion.indexOf("MSIE ",0) + 5 ;
		end     = appVersion.indexOf(";",start) ;
		version = appVersion.substring(start,end) ;
	}
	if ( usrBrowser == "Opera" ){
		start   = usrAgent.indexOf("OPERA ",0) + 6 ;
		end     = usrAgent.indexOf(" ",start) ;
		version = usrAgent.substring(start,end) ;
	}
	return version ;
}