﻿//JavaScript

//グローバらいず


var user_agent_list = new Array("Firefox","MSIE","opera","Safari","Chrome");

//連想的ななにか
var ff =0;
var ie =1;
var opera =2;
var safari =3;
var chrome =4;


/////////////////////////////////////////////////////////////////////
var user_browser = -1;	//

//メニュー項目生成用---------------------
var num;

//メニュー項目
var menu_b_str  = "info,youkai,illust,text,plan,contact";		//項目数より動的にarray作成される
var menu_b_list	= menu_b_str.split(",");
var menu_b_n    = menu_b_list.length;

//以下追記用("@"をつけることでノード

var menu_m_list =[
                  ["サイトマップ","プロフィール","作業環境"],	// info
                  ["一つ目烏帽子","静寂の件","仇討ちの猫又","玉藻御前","鵺","輪入道","天狗","ぬらりひょん","日除けの精","牛面蛇","おとろし","慈心坊と竜神","追い鬼","こはだ小平二","江口の君図"],	// youkai
                  ["ドワーフ顔"], // illust
                  [""], // text
                  [""], // plan
                  [""], // contact
                 ];
/*
var info_m_str    = new Array("サイトについて","サイトマップ","プロフィール");
var youkai_m_str  = new Array("");
var illust_m_str  = new Array("ファンタジー","モンスター","人型","顔絵");
var text_m_str	  = new Array("SFショート","嘘っこ昔話");
var plan_m_str	  = new Array("");
var contact_m_str = new Array("");
*/

//エフェクト------------------------------

var menu_color_list = new Array(menu_b_n);

menu_color_list[0]="#0099ff"
menu_color_list[1]="#00cc99"
menu_color_list[2]="#00cc33"
menu_color_list[3]="#66cc00"
menu_color_list[4]="#ccff00"
menu_color_list[5]="#cc9900"

//mouse_over
 var on_manage = new Array(menu_b_n);				//マウスオンの管理			0 : 0ff  1 :func呼び出し中 2 : func実行中  3:func終了
 var off_manage = new Array(menu_b_n);				//マウスアウトの管理
 var click_manage = new Array(menu_b_n);			//クリックの管理

 var func_statas = new Array(menu_b_n);		//色の現状を保管
 var time_set = new Array(menu_b_n)			//setInterval用

 var menu_list_switch_01 = new Array(menu_b_n);	//on_処理 settimeoutl用
 var menu_list_switch_02 = new Array(menu_b_n);	//out処理 settimeout用

function const_menu_list_swich()
{
	for(var i=0 ; i < menu_b_n ; i++)
	{
		on_manage[i]   = 0;													//初期化
		off_manage[i]  = 0;
		func_statas[i] = 0;
		time_set[i]		 = null;
	}
}

//mouse_overエフェクト用 //

//デフォルトの#ffffffからパターン(col_ptn)の回数分だけの#ffffff形式の文字列を生成する。
	var col_ptn 		 = 10 ;	//エフェクトの段階
	var col_ptn_span = 100 ;	//エフェクトの間隔　(setinterval)
	var col_p				 = 20 ;	//一回につき変化する量
////////////////////////////////   TODO     /////////////////////////
  //#7d8696
	var col_def = (99,99,99)   ;		//todo（ＣＳＳとあわせなければ_onloadでひっぱれるのか)@重ければ外す
	var col_def_ = "#999999"		 ;		//初期化用
	var menu_list_css  = new Array(col_ptn);

function const_css_ptn()	//#FFFFFF形式の文字列パターン作成
{
	var str = "";
	var c = 1;

	for(var i = 0 ; i < col_ptn ;i++)		//パターンの数だけ
	{
		 str  = "";

		menu_list_css[i] = "color:#";			//CSSの修飾子  ------todo-----------

		rate = col_def+(col_p*c);

		for(var j = 0 ; j < 3 ; j++)		//RGB = 3回
		{
						limit(rate,0,255);			//0-255の間に
			str += rate.toString(16);			//16進法の文字列に
		}

		if(j!=3)	//文末処理
		{
			str + ",";
		}
		menu_list_css[i] += str + ";";

		if( i < (col_ptn/2))
		{	c++ }
		else
		{ c-- }
	}
}

//汎用

//limit 設定した最大(小)大値で返す

function limit(num,min,max)	//limit(対象の数値or変数 , 最小値 , 最大値)
{
	if(num < min){return min;};
	if(num > max){return max;};
	return num;
}

//RGB(256,256,256)形式の文字列を#FFFFFFにして返す
function col_toSharp(rgb_str)
{
var	x = rgb_str.length;	//文字数
var	str =	"";
var stlen		;
var	rev = "#";

	str = rgb_str.substring(4,(rgb_str.length-1));	//"RGB("と")"を外す
	stlen = str.split(',');	//文字配列に

	for(var i=0 ; i < (stlen.length) ; i++)
	{
		rev = rev +parseInt(stlen[i]).toString(16)
	}
	return rev;
}

function log()
{
	var str = arguments.callee.toString();
}

//#rgb式⇔rgb(r,g,b)への変換
function rgb()
{
	//引数のチェック
	var rgb = argments[0];
	var rev = "";

	//arg == 1 単なる変換
	if(arg==1)
	{

		if(typeof rgb == "string")
		{
			//#
			if( rgb.substring(0,1) == "#")
			{
				switch(rgb.length)
				{
					case 4:	//#rgb
					{
							rev = "rgb(" + rgb.substring(1,1) + "," + rgb.substring(2,1) + "," + rgb.substring(3,1) + ")";	break ;
					}
					case 5: //#rgba
					{
							rev = "rgba("+ rgb.substring(1,1) + "," + rgb.substring(2,1) + "," + rgb.substring(3,1) + "," + rgb.substring(4,1) + ")";	break ;
					}
					case 7:	//#rrggbb
					{
							rev = "rgb(" + rgb.substring(1,2) + "," + rgb.substring(3,2) + "," + rgb.substring(5,2) + ")";	break ;
					}
					case 9:	//#rrggbbaa
					{
							rev = "rgba(" + rgb.substring(1,2) + "," + rgb.substring(3,2) + "," + rgb.substring(5,2) +"," + rgb.substring(7,2) + ")";	break ;
					}
				}
			}
			//rgb()
			else if( rgb.substing(0,3) == "rgb")
			{
				//処理しやすいように整形
				var rev = rgb.replace(",","");
				switch(rev.length)
				{
					case 8	: //rgb(rgb)
					{
						reb = "#"+ reb.substring(4,3);	break ;
					}
					case 10 : //rgba(rgba)
					{
						reb = "#"+ reb.substring(5,4);	break ;
					}
					case 11 : //rgb(rrggbb)gg
					{
						reb = "#"+ reb.substring(4,6);	break ;
					}
					case 14	: //rgba(rrggbbaa)
					{
						reb = "#"+ reb.substring(5,8);	break ;
					}
				}
			}
			//配列
			else if(rgb instanceof Array)
			{
				//("ff","ff","ff")
				if(rgb[0] instanceof String)
					{

					}
				//(nnn,nnn,nnn)
				else if(rgb[0] instanceof number)
					{
					}
			}
//			else if()
			{
			// err 想定していない引数
			}
		}

	}
}
