function menu_color_conf (){
	var itm=self.document.getElementsByName("menu_item_name");
	for (var i=0;i<itm.length;i++){
		itm[i].onmouseover=function anonymous(){this.color='#ffffff';}
		itm[i].onmouseout=function anonymous(){this.color='#aabbbb'}
	}
}

z_to_h=new Object();
z_to_h['１']='1';
z_to_h['２']='2';
z_to_h['３']='3';
z_to_h['４']='4';
z_to_h['５']='5';
z_to_h['６']='6';
z_to_h['７']='7';
z_to_h['８']='8';
z_to_h['９']='9';
z_to_h['０']='0';
z_to_h['Ａ']='A';
z_to_h['Ｂ']='B';
z_to_h['Ｃ']='C';
z_to_h['Ｄ']='D';
z_to_h['Ｅ']='E';
z_to_h['Ｆ']='F';
z_to_h['Ｇ']='G';
z_to_h['Ｈ']='H';
z_to_h['Ｉ']='I';
z_to_h['Ｊ']='J';
z_to_h['Ｋ']='K';
z_to_h['Ｌ']='L';
z_to_h['Ｍ']='M';
z_to_h['Ｎ']='N';
z_to_h['Ｏ']='O';
z_to_h['Ｐ']='P';
z_to_h['Ｑ']='Q';
z_to_h['Ｒ']='R';
z_to_h['Ｓ']='S';
z_to_h['Ｔ']='T';
z_to_h['Ｕ']='U';
z_to_h['Ｖ']='V';
z_to_h['Ｗ']='W';
z_to_h['Ｘ']='X';
z_to_h['Ｙ']='Y';
z_to_h['Ｚ']='Z';
z_to_h['ａ']='a';
z_to_h['ｂ']='b';
z_to_h['ｃ']='c';
z_to_h['ｄ']='d';
z_to_h['ｅ']='e';
z_to_h['ｆ']='f';
z_to_h['ｇ']='g';
z_to_h['ｈ']='h';
z_to_h['ｉ']='i';
z_to_h['ｊ']='j';
z_to_h['ｋ']='k';
z_to_h['ｌ']='l';
z_to_h['ｍ']='m';
z_to_h['ｎ']='n';
z_to_h['ｏ']='o';
z_to_h['ｐ']='p';
z_to_h['ｑ']='q';
z_to_h['ｒ']='r';
z_to_h['ｓ']='s';
z_to_h['ｔ']='t';
z_to_h['ｕ']='u';
z_to_h['ｖ']='v';
z_to_h['ｗ']='w';
z_to_h['ｘ']='x';
z_to_h['ｙ']='y';
z_to_h['ｚ']='z';
z_to_h['－']='-';
z_to_h['ー']='-';
z_to_h['＠']='\@';
z_to_h['．']='.';
z_to_h['＿']='_';
var num='0123456789';

var err_msg=new Object();
var err=new Object();

dt=new Date();

var cmt_id;
var cmt=new Object();
var cmt_height=new Object();


var check_element=new Array();		// チェックするオブジェクト ex. check_element[0]=f.title, check_element[1]=f.email, ...
var current_value=new Object();		// 現在の設定内容
var change_ele_name=new Array();	// 内容が変更されたカラム
var element_type=new Object();		// オブジェクトのタイプ ex. element_type[check_element[0]]='mail', element_type[check_element[1]]='num_only'
var element_need=new Object();		// 必須 or 任意 ex. element_need[check_element[0]]=true, element_needcheck_element[1]]=false, ...
var element_max_length=new Object();		// 最大文字数 ex. element_max_length[check_element[0]]=30, ...
var element_min_length=new Object();		// 最大文字数 ex. element_min_length[check_element[0]]=30, ...
var element_name=new Object();		// 項目名 ex. element_name[check_element[0]]='メールアドレス', ...
var kaihi_element=new Array();		// 無チェックのradioボタンなど、対応用






function time_ck (e){
	// Object['p_time']=制限時刻A
	// Object['p_intvl']=Aからの時差(単位:秒)
	// Object['value']=チェックする時刻
	// Object['l_intvl']=Bまでの時差(単位:秒)
	// Object['l_time']=制限時刻B
//	alert(e['p_time']+'+'+e['p_intvl']+'<='+e.value);
//	alert(e['p_time']-0+e['p_intvl']<=e.value && e.value-0+e['l_intvl']<=e['l_time']);
	return (e.value==0 || (e['p_time']-0+e['p_intvl']<=e.value && e.value-0+e['l_intvl']<=e['l_time']));
}


function if_no_change_acct (f){
	if (f.pw.value!=f.r_pw.value){
		alert('パスワードの再入力が一致しません');
		return false;
	}
	return if_no_change (f);
}

function pre_init_acct (){
	check_element.length=0;
	check_element[0]=document.acct.id;
	check_element[1]=document.acct.pw;
	check_element[2]=document.acct.r_pw;
}

function pre_init_bnk (){
	check_element.length=0;
	check_element[0]=document.bnk.bank;
	check_element[1]=document.bnk.shiten;
	for (var i=0;i<document.bnk.syurui.length;i++){
		if (document.bnk.syurui[i].checked){
			check_element[2]=document.bnk.syurui[i];
		}
		if (!check_element[2]){
			kaihi_element[2]=document.bnk.syurui[0];
		}
	}
	check_element[3]=document.bnk.kouza;
	check_element[4]=document.bnk.meigi;
}



function pre_init_campaign_form (){
	with(document.cl_site){
		check_element.length=0;
		check_element[0]=name;
		check_element[1]=mail;
		check_element[2]=password;
		check_element[3]=site_name;
		check_element[4]=url;
		check_element[5]=banner_url;
		check_element[6]=shoukaibun;
		for (var i=0;i<accept.length;i++){
			if (accept[i].checked){
				check_element[3]=accept[i];
			}
			if (!check_element[3]){
				kaihi_element[3]=accept[0];
			}
		}
//		check_element[4]=affili;
//		check_element[5]=click;
//		check_element[6]=af_limt;
//		check_element[7]=cl_limt;
//		start_time.value=to_epoc([s_year.value,s_month.value,s_day.value,s_hour.value]);
//		check_element[8]=start_time;
//		end_time.value=to_epoc([e_year.value,e_month.value,e_day.value,e_hour.value]);
//		check_element[9]=end_time;
////		if (current_value['start_time']){
////			current_value['start_time']=to_epoc([current_value['start_time'].split('/')]);
////		}
////		if (current_value['end_time']){
////			current_value['end_time']=to_epoc([current_value['end_time'].split('/')]);
////		}
		end_time['p_time']=to_epoc()<start_time.value?start_time.value:to_epoc();
		end_time['p_intvl']=259200;
	}
}

function to_epoc (){
	if (arguments[0]){
		dt.setTime(0);
		if(arguments[0][0]){
			dt.setYear(arguments[0][0]);
		}
		if(arguments[0][1]){
			dt.setMonth(arguments[0][1]-1);
		}
		if(arguments[0][2]){
			dt.setDate(arguments[0][2]);
		}
		if(arguments[0][3]){
			dt.setHours(arguments[0][3]);
		}
	}
	else {
		dt=new Date();
	}
	return dt.getTime()/1000;
}

function now_select(f,m){
	td=new Date();
	if (td.getMinutes()>45){
		td=new Date(td.getTime()+(60-td.getMinutes())*60*1000);
	}
	time_select(f,m,td.getHours(),td.getMinutes());
	date_select(f,f.elements[my_no(f,m.name)-2],reg_year(td.getYear()),td.getMonth()+1,td.getDate());
}



function my_no (){
	for (var i=0;i<arguments[0].form.elements.length;i++){
		if (arguments[0].form.elements[i]==arguments[0]){
			return i
		}
	}
}

function option_clr (){
	var i=self.document.forms[0].elements[arguments[0]];
	i.length=0;
	i.options[i.options.length]=new Option('--','');
}

function year_ch(){
	var i=my_no(arguments[0]);
	if (!arguments[0].value){
		for (var j=1;j<4;j++){
			option_clr(i+j);
		}
	}
	else {
		var k=self.document.forms[0].elements[i+1];
		if (k.length==1){
			k.length=0;
			for (var j=1;j<13;j++){
				k.options[k.options.length]=new Option(j,j);
			}
		}
		date_ch(i+2);
		var k=self.document.forms[0].elements[i+3];
		if (k.length==1){
			k.length=0;
			for (var j=0;j<24;j++){
				k.options[k.options.length]=new Option(j,j);
			}
		}
	}
}

function mon_ch(){
	date_ch(my_no(arguments[0])+1);
}

function date_ch(no){
	var i=1;
	with (self.document.forms[0]){
		dt.setYear(elements[no-2].value);
		dt.setMonth(elements[no-1].value-1);
		dt.setDate(1);
		elements[no].options.length=0;

		if (elements[no-2].value){
			while(elements[no-1].value==dt.getMonth()+1){
				elements[no].options[elements[no].options.length]=new Option(i,i);
				dt.setDate(dt.getDate()+1);
				i++;
			}
		}
	}
}

function date_select(){
//	var s_time=arguments[1].split('/');
	dt=new Date(arguments[1].value);

	with (self.document.forms[0]) {
		arguments[0].options[0].selected=true;
		year_ch(arguments[0]);

//		option_select(arguments[0],s_time[0]);
		option_select(arguments[0],dt.getYear());
		year_ch(arguments[0]);

		var i=my_no(arguments[0]);
//		option_select(elements[i+1],s_time[1]);
		option_select(elements[i+1],dt.getMonth()+1);
		year_ch(arguments[0]);

//		option_select(elements[i+2],s_time[2]);
//		option_select(elements[i+3],s_time[3]);
		option_select(elements[i+2],dt.getDate());
		option_select(elements[i+3],dt.getHours());
	}
}

function option_select (){
	for (var i=0;i<arguments[0].options.length;i++){
		if (arguments[0].options[i].value==arguments[1]){
			arguments[0].options[i].selected=true;
		}
	}
}

function require(uri) {
	var script=document.createElement('script');
	script.type='text/javascript';
	script.src=uri;
	var head=document.getElementsByTagName('head')[0];
	head.appendChild(script);
}

function ps (e){
	if(navigator.appName.charAt(0)=='M'){
		ps_x=window.event.clientX;
		ps_y=window.event.clientY;
	}
	if(navigator.appName.charAt(0)=='N'){
		ps_x=e.pageX;
		ps_y=e.pageY;
	}
}

function showLayer(id) {
	with (document.getElementById('setsumei')) {
		style.height=10;
		innerHTML='Please wait...'
		set_help_position ()
		style.display='block';
	}
	require('http://www2.seanet.ne.jp/btw3/help/'+help_file);
	cmt_id=id;
	help_wait();
}

function hideLayer() {
	document.getElementById('setsumei').style.display='none';
}

function set_help_position() {
//alert(ps_x+','+ps_y);
	with (document.getElementById('setsumei')){
		if (document.body.clientWidth<ps_x+215){
			style.left=ps_x-215;
		}
		else {
			style.left=ps_x+15;
		}
		if (document.body.clientHeight<ps_y+style.height.replace(/px$/,'')+15){
			style.top=ps_y-style.height.replace(/px$/,'')-15;
		}
		else {
			style.top=ps_y+15;
		}
	}
}

function help_wait (){
	if (cmt[cmt_id] && cmt_height[cmt_id]){
		document.getElementById('setsumei').style.height=cmt_height[cmt_id];
//		document.getElementById('setsumei').innerHTML=cmt[cmt_id]+"<div class='close'>[<a href='javascript:void(0)' onclick='hideLayer()'>閉じる</a>]</div>";
		document.getElementById('setsumei').innerHTML=cmt[cmt_id];
		set_help_position ()
	}
	else {
		var i=setTimeout("help_wait()",1);
	}
}





//////////////////////////////////////////////////////////////

var moji_count_target=new Object();
var moji_count_timer;

var ctg_grp=new Array();
ctg_grp[0]=new Array();
ctg_grp[1]=new Array();

for (var i=0;i<9;i++){
	ctg_grp[0][i]=i+1;
}
for (var i=0;i<31;i++){
	ctg_grp[1][i]=i+10;
}



function work_ck (i){
	var msg=new Object();
	msg['approval']='承認します';
	msg['deny']='否認します';
	msg['pending']='保留します';
	msg['update']='データを更新します';
	msg['delete']='データを削除します';
	msg['add']='データを追加します';
	if (confirm(msg[i])){
		return true;
	}
	else {
		return false;
	}
}

function cl_site_set (){
	moji_count(self.document.forms[0].shoukaibun);
	document.getElementById('mojisuu_waku').style.display='block';
	self.document.forms[0].shoukaibun.onfocus=function() {moji_count_target=this;real_time_moji_count();};
	self.document.forms[0].shoukaibun.onblur=function() {clearTimeout(moji_count_timer);};
	self.document.forms[0].shoukaibun.onchange=function() {moji_count_format(this);};
}

function real_time_moji_count (){
	moji_count(moji_count_target);
	moji_count_timer=setTimeout("real_time_moji_count()",500);
}

function moji_count_format(i){
	i.value=i.value.replace(/^[\n\r\t]+|[\n\r\t]+$/g,'');
	moji_count(moji_count_target);
}

function moji_count(i){
	var l=cnt_ltr(i);
	if (document.getElementById('mojisuu').innerHTML!=l){
		document.getElementById('mojisuu').innerHTML=l;
	}
}

function cnt_ltr(i){
	var cnt=0;
	for (var j=0;j<i.value.length;j++){
		if (i.value.charCodeAt(j)==13 && i.value.charCodeAt(j+1)==10){
			cnt+=.5;
			j++;
		}
		else if (31<i.value.charCodeAt(j) && i.value.charCodeAt(j)<127){
			cnt+=.5;
		}
		else if (i.value.charCodeAt(j+1)==10 || i.value.charCodeAt(j)==13){
			cnt+=.5;
		}
		else {
			cnt++;
		}
	}
	return cnt;
}

function enc (i){
	i=i.replace(/\</g,'&lt;');
	i=i.replace(/\r\n/g,'<br>');
	i=i.replace(/\n/g,'<br>');
	i=i.replace(/'/g,'&#039;');
	i=i.replace(/,/g,'&#044;');
	i=i.replace(/\(/g,'&#040;');
	i=i.replace(/\)/g,'&#041;');
	i=i.replace(/\./g,'&#046;');
	i=i.replace(/`/g,'&#096;');
	i=i.replace(/\|/g,'&#124;');
	i=i.replace(/\+/g,'&#043;');
	i=i.replace(/\!/g,'&#033;');
	i=i.replace(/\"/g,'&#034;');
	i=i.replace(/\$/g,'&#036;');
	i=i.replace(/\%/g,'&#037;');
	i=i.replace(/\^/g,'&#094;');
	i=i.replace(/\\/g,'&yen;');
var re=new RegExp(String.fromCharCode(165),"g");
	i=i.replace(re,'&yen;');
	return i;
}

function dec (i){
	i=i.replace(/<br>/g,'\n');
	i=i.replace(/&#039;/g,'\'');
	i=i.replace(/&#044;/g,',');
	i=i.replace(/&#040;/g,'\(');
	i=i.replace(/&#041;/g,'\)');
	i=i.replace(/&#046;/g,'\.');
	i=i.replace(/&#096;/g,'`');
	i=i.replace(/&#124;/g,'\|');
	i=i.replace(/&lt;/g,'\<');
	i=i.replace(/&#043;/g,'\+');
	i=i.replace(/&#033;/g,'\!');
	i=i.replace(/&#034;/g,'\"');
	i=i.replace(/&#036;/g,'\$');
	i=i.replace(/&#037;/g,'\%');
	i=i.replace(/&#094;/g,'\^');
	i=i.replace(/&yen;/g,'\\');
	return i;
}

function z2h (elem) {
	var r_str='';
	for (j=0;j<elem.value.length;j++){
		var lettr;
		lettr=elem.value.substr(j,1);
		if (z_to_h[lettr]){
			lettr=z_to_h[lettr];
		}
		r_str+=lettr;
	}
	return r_str;
}

function form_ck(){					// form のonsubmit として設定
	for (var i in err_msg){
		err[i]=new Array();
	}

	for (var i=0;i<check_element.length;i++){

		if (!check_element[i]){
			err['empty'][err['empty'].length]=kaihi_element[i];
		}

		else {
			if (element_need[check_element[i].name] && !need_ck(check_element[i])){		// 必須項目の場合のチェック
				err['empty'][err['empty'].length]=check_element[i];
			}

			if (check_element[i].value){
				if (element_type[check_element[i].name] && !limt_ck(check_element[i])){		// タイプのチェック
					err['unmatch'][err['unmatch'].length]=check_element[i];
				}	

				if (element_max_length[check_element[i].name] && !max_leng_ck(check_element[i])){		// 最大小文字数のチェック
					err['so_long'][err['so_long'].length]=check_element[i];
				}
				if (element_min_length[check_element[i].name] && check_element[i].value && !min_leng_ck(check_element[i])){		// 最小文字数のチェック
					if(((check_element[i].name=='banner_url') && check_element[i].value.match(/^http\:\/\/[a-zA-Z0-9][a-zA-Z0-9:\/\._=\%?&-~]+$/)!=null) || (check_element[i].name!='banner_url')){
						err['so_short'][err['so_short'].length]=check_element[i];
					}
				}
			}
		}
	}
	if (err['so_long'].length || err['so_short'].length || err['empty'].length || err['unmatch'].length || err['untime'].length){
		var msg='';
		for (var i in err){
			if (err[i].length){
				msg+=err_msg[i]+"\n\n";
				for (var j=0;j<err[i].length;j++){
					msg+=element_name[err[i][j].name]+"\n";
					err_alert(err[i][j]);
				}
				msg+="\n";
			}
		}
		alert(msg);
		return false;
	}
	else {
		return confirm('以下の内容を登録・変更します\n\n'+change_ele_name.join('\n'));
	}
}

function limt_ck(e){
	if (element_type[e.name]=='mail'){
		for (var i=0;i<e.value.length;i++){
			if ('abcdefghijklmnopqrstuvwxyz0123456789._-@'.indexOf(e.value.substring(i,i+1))==-1){
				return false;
			}
		}
	}
	if (element_type[e.name]=='num_only'){
		for (var i=0;i<e.value.length;i++){
			if (num.indexOf(e.value.substring(i,i+1))==-1){
				return false;
			}
		}
	}
	if (element_type[e.name]=='eisu_only'){
		if(e.value.match(/[^A-Za-z0-9]+/)) {
				return false;
		}
	}
	if (element_type[e.name]=='url'){
		if (e.value && !e.value.match(/^https?:\/\/[a-zA-Z0-9][a-zA-Z0-9:\/\._=\%?&-~]*$/)){
			return false;
		}
	}
	if (element_type[e.name]=='banner_url'){
		if ((e.value.match(/^http\:\/\/[a-zA-Z0-9][a-zA-Z0-9:\/\._=\%?&-~]+$/)!=null) && !e.value.match(/^https?:\/\/[a-zA-Z0-9][a-zA-Z0-9:\/\._=\%?&-~]*$/)){
			return false;
		}
	}

	return true;
}
function max_leng_ck(e){
	if (element_max_length[e.name]){
		if (cnt_ltr(e)>element_max_length[e.name]){
			return false;
		}
		else {
			return true;
		}
	}
}

function min_leng_ck(e){
	if (element_min_length[e.name]){
		if (cnt_ltr(e)<element_min_length[e.name]){
			return false;
		}
		else {
			return true;
		}
	}
}

function need_ck(e){
	if ((e.value==null) || (e.value=='') || !e.value){
		return false;
	}
	return true;
}


function err_alert (i) {
	document.getElementById(i.name).className='errornecessary';
//	i.style.color='red';
//	i.style.fontWeight='bold';
//	i.style.background='#c6c6c6';

	if (i.addEventListener){
		i.addEventListener('change',to_default,false);
	}
	else {
		i.attachEvent('onchange',to_default_ie);
	}
}

function to_default (){
	document.getElementById(this.name).className='necessary';
//	this.style.color='';
//	this.style.fontWeight='';
//	this.style.background='white';
}

function to_default_ie (i){
	document.getElementById(i.name).className='necessary';
//	i['srcElement'].style.color='';
//	i['srcElement'].style.fontWeight='';
//	i['srcElement'].style.background='white';
}

function pre_init_c_site (){
	with(document.cl_site){
		check_element.length=0;
		check_element[0]=name;
		check_element[1]=mail;
		check_element[2]=password;
		check_element[3]=site_name;
		check_element[4]=url;
		check_element[5]=banner_url;
		check_element[6]=shoukaibun;
	}
}

function if_no_change (f) {
	if (check_element[5].value=='http://'){
		check_element[5].value='';
	}
	for (var i=0;i<check_element.length;i++){
		if (check_element[i]){

			// メタ文字,文頭文末の空白文字の削除
			check_element[i].value.replace(/^[ 　]+/g,'');
			check_element[i].value.replace(/[ 　]+$/g,'');
			check_element[i].value.replace(/\s/g,'');

			// mail,num_only の場合の前処理

			if (element_type[check_element[i].name]=='mail' || element_type[check_element[i].name]=='num_only'){
				check_element[i].value=z2h(check_element[i]);
				check_element[i].value=check_element[i].value.toLowerCase();
			}

			// eisu_only の場合の前処理

			if (element_type[check_element[i].name]=='eisu_only'){
				check_element[i].value=z2h(check_element[i]);
			}
		}
	}

	var j=false;
	change_ele_name.length=0;
	for (var i=0;i<check_element.length;i++){
		if (check_element[i]){
			if (!current_value[check_element[i].name]){
				current_value[check_element[i].name]=0;
			}

			if (!check_element[i].type){
				for (var k=0;k<check_element[i].length;k++){
					if (check_element[i][k].checked && echeck_element[i][k].value!=current_value[i]){
						change_ele_name[change_ele_name.length]=element_name[check_element[i].name];
						j=true;
					}
				}
			}
			else {
				if (enc(check_element[i].value)!=current_value[check_element[i].name]){
					change_ele_name[change_ele_name.length]=element_name[check_element[i].name];
					j=true;
				}
			}
		}
	}

	if (!j){
		alert('内容が変更されていません');
		return j;
	}
	else {
		return form_ck();
	}
}

function ctg_ck (i){
	var j=new Array(0,0);
	for (var h=0;h<2;h++){
		for (var k=0;k<ctg_grp[h].length;k++){
			if (document.forms[0].elements[ctg_grp[h][k]+5].checked){
				j[h]++;
				if (2<j[h]){
					alert('カテゴリーの選択は2つまでです');
					i.checked=false;
					return;
				}
			}
		}
	}
}

function login_ck (f) {
	element_name['mail']='メールアドレス';
	element_need['mail']='1';
	element_type['mail']='mail';
	element_min_length['mail']='3';
	element_max_length['mail']='25';
	element_name['password']='パスワード';
	element_need['password']='1';
	element_type['password']='eisu_only';
	element_min_length['password']='2';
	element_max_length['password']='6';
	form_ck();
}

function add_favorite (){
	document.write('<p>');
	if(document.all){			//Internet Explorer
		document.write("<a class='gray' href=\"window.external.AddFavorite('http://www.kbys.net/','競馬予想サーチ')\">");
		document.write("お気に入りに登録</a>");
	}
	else if(window.sidebar){	//Firefox
		document.write("<a class='gray' href=\"javascript:window.sidebar.addPanel('競馬予想サーチ','http://www.kbys.net/','')\">");
		document.write("お気に入りに登録</a>");
	}
	else if(navigator.userAgent.indexOf('Opera') > -1){ //Opera
		document.write("<a class='gray' href='http://www.kbys.net/' rel='sidebar' title='競馬予想サーチ'>お気に入りに登録</a>");
	}
	else {
		document.write("<a class='gray' href='#'>お気に入りに登録</a>");
	}
	document.write('</p>');
}