/*----------------------------------------------------------------------------*/
/* ふとログ設定のID
/*----------------------------------------------------------------------------*/
var HutoSetID = ['ICON','NAME','AWORD','HITO','MONO','MASK','MOUT','SEAL','FavT','FavS'];
var HSet = new Array();
/*----------------------------------------------------------------------------*/
/* ふとログ項目の変更
/*----------------------------------------------------------------------------*/
function HutoSetOver(){ document.getElementById(this.id).style.color = "#F30"; }
function HutoSetOut(){  document.getElementById(this.id).style.color = "#06F"; }
function HutoSetClick(){
	var Obj = document.getElementById(this.id+"dsp").style;
	Obj.visibility = (Obj.visibility == "hidden" || Obj.visibility == "")?"visible":"hidden";
}
function HutoSetClickDisplay(){
	var Obj = document.getElementById(this.id+"dsp").style;
	Obj.display    = (Obj.display == "none"   || Obj.display == "")?"block":"none";
}
/*----------------------------------------------------------------------------*/
/* お気に入り、マスク、封印の選択ダイアログ
/*----------------------------------------------------------------------------*/
// お気に入り
function FavoSet(key,name,flag){
	var txt = "";
	if(flag == 1){ txt = "お気に入りに登録しますか？"; }
	else{ txt = "お気に入りから削除しますか？"; }
	SetConfirm(CNAME+"?KEY="+key+"&F="+flag,name,txt);
}
// マスク
function DislikeSet(key,name,flag){
	var txt = "";
	if(flag == 1){ txt = "マスク(見えないように)しますか？"; }
	else{ txt = "見えるようにしますか？"; }
	SetConfirm(CNAME+"?KEY="+key+"&F="+flag,name,txt);
}
// 封印
function SealSet(key,name,flag){
	var txt = "";
	if(flag == 1){ txt = "封印しますか？"; }
	else{ txt = "封印解除しますか？"; }
	SetConfirm(CNAME+"?KEY="+key+"&F="+flag,name,txt);
}
// ダイアログ
function SetConfirm(URL,name,txt){
	if(confirm("\""+name+"\" を"+txt)){ location.href = URL; }else{;}
}
/*----------------------------------------------------------------------------*/
/* 登録ボタンの設定
/*----------------------------------------------------------------------------*/
function RegOver(){
	Obj = document.getElementById(this.id).style;
	Obj.background = "#F63";
	Obj.borderStyle= "inset";
	Obj.borderColor= "#F63";
	Obj = document.getElementById(this.id+"Txt").style;
	Obj.marginLeft = 2;
	Obj.marginTop  = 2;
}
function RegOut(){
	Obj = document.getElementById(this.id).style;
	Obj.background = "#396";
	Obj.borderStyle= "outset";
	Obj.borderColor= "#396";
	Obj = document.getElementById(this.id+"Txt").style;
	Obj.marginLeft = 0;
	Obj.marginTop  = 0;
}
function RegClick(){
	form= GetForm();
	if(form['KEY']){location.href = CNAME+"?ACT=REGIST"+"&KEY="+form['KEY']; }
	else{			location.href = CNAME+"?ACT=REGIST"; }
}
function LogClick(){
	form= GetForm();
	if(form['KEY']){location.href = CNAME+"?KEY="+form['KEY']; }
	else{			location.href = CNAME; }
}
function GetForm()
{
	var form = new Array;
	Arr = document.URL.split('?');
	if(Arr.length > 1){
		w = Arr[1].split('&');
		for(var i=0; i<w.length; i++){
			x = w[i].split('=');
			form[x[0]] = x[1];
		}
	}
	return form;
}
/******************************************************************************/
/* 登録のフォームチェック
/******************************************************************************/
var NameLength     = 16;
var HitokotoLength = 140;
function RegFormCheck(){
	var HID = "Reg";
	if(this.id != 'RegForm'){ HID = "Login"; }
	Obj = document.getElementById(HID+'Name');
	if(Obj){
		if(!TextCheck(Obj.value,"おなまえ",NameLength,1)){			return false; }
		if(!NgText(Obj.value,0)){									return false; }
		Obj.value = TagCut(Obj.value);
	}
	Obj = document.getElementById(HID+'Pass');
	if(Obj){
		if(!TextCheck(Obj.value,"パスワード",NameLength,0)){		return false; }
		if(!NgText(Obj.value,0)){									return false; }
	}
	if(HID == 'Reg'){ return IconCheck(HID); }
	Obj = document.getElementById(HID+'Hitokoto');
	if(Obj){
		if(!TextCut(Obj.value,"ひとこと",HitokotoLength)){			return false; }
		if(!TextSpaceCheck(Obj.value,"ひとこと",HitokotoLength)){	return false; }
		if(!NgText(Obj.value,2)){									return false; }
		Obj.value = TagCut(Obj.value);
	}
	return true;
}
/******************************************************************************/
/* おなまえ変更のフォームチェック
/******************************************************************************/
function RepNameFormCheck(){
	Obj = document.getElementById('RepName');
	if(Obj){
		if(!TextCheck(Obj.value,"おなまえ",NameLength,1)){			return false; }
		if(!NgText(Obj.value,0)){									return false; }
		Obj.value = TagCut(Obj.value);
	}
	return true;
}
/******************************************************************************/
/* アイコン変更フォームチェック
/******************************************************************************/
function RepFormCheck(){ return IconCheck('Rep'); }
/******************************************************************************/
/* ひとこと変更のフォームチェック
/******************************************************************************/
function RepAwordFormCheck(){
	Obj = document.getElementById('RepHitokoto');
	if(Obj){
		if(!TextCut(Obj.value,"ひとこと",HitokotoLength)){			return false; }
		if(!TextSpaceCheck(Obj.value,"ひとこと",HitokotoLength)){	return false; }
		if(!NgText(Obj.value,2)){									return false; }
		Obj.value = TagCut(Obj.value);
	}
	return true;
}
/******************************************************************************/
/* ふとログフォームチェック
/******************************************************************************/
var ThemaLength = 20;
var HutoLength  = 280;
function HutoFormCheck(){
	Obj = document.getElementById('HutoThema');
	if(Obj){
		if(!TextCheck(Obj.value,"テーマ",ThemaLength,1)){			return false; }
		if(!NgText(Obj.value,0)){									return false; }
		Obj.value = TagCut(Obj.value);
	}
	Obj = document.getElementById('CommentName');
	if(Obj){
		if(!TextCheck(Obj.value,"おなまえ",NameLength,1)){			return false; }
		if(!NgText(Obj.value,0)){									return false; }
		Obj.value = TagCut(Obj.value);
	}
	Obj = document.getElementById('HutoText');
	if(Obj){
		if(!TextCheck(Obj.value,"本文",HutoLength,1)){				return false; }
		Obj.value = TagCut(Obj.value);
	}
	return true;
}
/*----------------------------------------------------------------------------*/
/* ふと色変更
/*----------------------------------------------------------------------------*/
function HutoColorChange(){
	cObj = document.getElementById('HutoColor');
	hObj = document.getElementById('HutoText');
	hObj.style.color = cObj.options[cObj.selectedIndex].value;
}
/*----------------------------------------------------------------------------*/
/* 最近色変更
/*----------------------------------------------------------------------------*/
function SaikinColorChange(){
	cObj = document.getElementById('SaikinColor');
	hObj = document.getElementById('SaikinText');
	hObj.style.color = cObj.options[cObj.selectedIndex].value;
}
/*----------------------------------------------------------------------------*/
/* 最近標準色変更
/*----------------------------------------------------------------------------*/
function SaikinBaseColorChange(){
	var BaseColor = "#000000";
	cObj = document.getElementById('SaikinColor');
	hObj = document.getElementById('SaikinText');
	for(var i=0; i<cObj.options.length; i++){
		if(cObj.options[i].value == BaseColor){
			cObj.options[i].selected = true;
			break;
		}
	}
	hObj.style.color = BaseColor;
}
/******************************************************************************/
/* 最近フォームチェック
/******************************************************************************/
var TitleLength = 60;
var SaikinLength  = 4000;
function SaikinFormCheck(){
	Obj = document.getElementById('SaikinTitle');
	if(Obj){
		if(!TextCheck(Obj.value,"タイトル",TitleLength,1)){			return false; }
		if(!NgText(Obj.value,2)){									return false; }
		Obj.value = TagCut(Obj.value);
	}
	Obj = document.getElementById('SaikinTag');
	if(Obj){
		if(!TextCheck(Obj.value,"タグ",10000,1)){					return false; }
		if(!NgText(Obj.value,1)){									return false; }
		Obj.value = TagCut(Obj.value);
	}
	Obj = document.getElementById('SaikinText');
	if(Obj){
		if(!TextCheck(Obj.value,"本文",SaikinLength,1)){ return false; }
		Obj.value = AllRep(Obj.value,"\t")
	}
	return true;
}
/*----------------------------------------------------------------------------*/
/* タグリスト表示
/*----------------------------------------------------------------------------*/
function SaikinTagList(){
	Obj = document.getElementById('boxTag').style;
	if(Obj.display == "block"){ Obj.display = "none";}
	else{
		Obj.top  = M.y;
		Obj.left = M.x;
		Obj.display = "block";
	}
}
/*----------------------------------------------------------------------------*/
/* タグリストを送付
/*----------------------------------------------------------------------------*/
function SaikinTagSet(){
	Obj = document.getElementById(this.id);
	Tag = "";
	if(Obj.selectedIndex != -1){ Tag = Obj.options[Obj.selectedIndex].value; }
	if(Tag){
		tObj = document.getElementById('SaikinTag');
		tFlg = 0;
		if(tObj.value.substr(tObj.value.length-1,1) == "\n"){
			tObj.value = tObj.value.substr(0,tObj.value.length-2);
		}
		if(tObj.value){
			tArr = tObj.value.split('\n');
			for(var i=0; i<tArr.length; i++){
				if(tArr[i] == Tag){ tFlg = 1; break; }
			}
		}
		if(tFlg == 0){
			if(tObj.value){ tObj.value += "\n"; }
			tObj.value += Tag;
		}
	}
}
/*----------------------------------------------------------------------------*/
/* タグリスト絞込み
/*----------------------------------------------------------------------------*/
var box = new Array();
function SearchBox()
{
	var SELECT = document.getElementById('Tags');
	var word   = document.getElementById('SearchWord').value;
	// セレクトボックスの情報抜き出し
	if(box.length == 0){
		for(i=0; i<SELECT.options.length; i++){
			box[i] = SELECT.options[i].value;
		}
	}
	// セレクトボックス消去
	var index = SELECT.options.length;
	for(i=0; i<index; i++){
		SELECT.options[0] = null;
	}
	// セレクトボックス再設定
	var opt = 0;
	re = new RegExp(word,'i');
	for(i=0; i<box.length; i++){
		if(box[i].match(re) || word == ""){
			SELECT.options[opt] = new Option(box[i]);
			SELECT.options[opt].value = box[i];
			opt++;
		}
	}
	if(opt == 0){
		SELECT.options[opt] = new Option('該当なし');
	}
}
function ResetSearchBox()
{
	var SELECT = document.getElementById('Tags');
	if(box.length == 0){
		for(i=0; i<SELECT.options.length; i++){
			box[i] = SELECT.options[i].value;
		}
	}else{
		// セレクトボックス消去
		var opt = 0;
		var index = SELECT.options.length;
		for(i=0; i<index; i++){
			SELECT.options[0] = null;
		}
		for(i=0; i<box.length; i++){
			SELECT.options[opt] = new Option(box[i]);
			SELECT.options[opt].value = box[i];
			opt++;
		}
	}
}
/******************************************************************************/
/* タグ編集フォーム
/******************************************************************************/
var TEAct = "NAM";
function TagEditFormCheck(){
	var TAGA = document.getElementById('TAGA');
	var TAGB = document.getElementById('TAGB');

	TagEdit(TEAct);

	if(TEAct != "DEL"){
		if((TAGA.value == "" || TAGB.value == "")
		|| TAGA.value == TAGB.value){
			alert("記載漏れ、不正入力を見つけましたので送信しません。");
			return false;
		}
	}else{
		if(TAGA.value == ""){
			alert("記載漏れ、不正入力を見つけましたので送信しません。");
			return false;
		}
	}
	return true;
}
function TagEdit(act){
	TEAct = act;
	var TAGA = document.getElementById('TAGA');
	var TAGB = document.getElementById('TAGB');

	if(!TextSpaceNgCheck(TAGA.value)){	TAGA.value = ""; }
	else if(!TagEq(TAGA.value)){		TAGA.value = ""; }
	if(!TextSpaceNgCheck(TAGB.value)){	TAGB.value = ""; }

	if(TEAct == "NAM"){ if(TagEq(TAGB.value)){ TAGB.value = ""; } }
	if(TEAct == "GAT"){ if(!TagEq(TAGB.value)){TAGB.value = ""; } }
	if(TEAct == "DEL"){						   TAGB.value = ""; }
}
function TagEq(t){
	for(var i=0; i<box.length; i++){
		if(box[i] == t){ return true; }
	}
	return false;
}
/*----------------------------------------------------------------------------*/
/* タグリストを送付
/*----------------------------------------------------------------------------*/
function EditTagSet(){
	Obj = document.getElementById(this.id);
	Tag = "";
	if(Obj.selectedIndex != -1){ Tag = Obj.options[Obj.selectedIndex].value; }
	if(Tag){
		TagEdit(TEAct);
		var TAGA = document.getElementById('TAGA');
		var TAGB = document.getElementById('TAGB');
		if(TAGA.value == ""){ TAGA.value = Tag; }
		else{
			if(TEAct == "NAM"
			|| TEAct == "DEL"){ TAGA.value = Tag; }
			if(TEAct == "GAT"){
				if(TAGB.value == "" && TAGA.value != Tag){ TAGB.value = Tag; }
				else{				  TAGA.value = Tag; }
			}
		}
	}
}
/*----------------------------------------------------------------------------*/
/* 空白・禁則チェック
/*----------------------------------------------------------------------------*/
function TextSpaceNgCheck(val){
	var work = val;
	work = AllRep(work,"　");
	work = AllRep(work," ");
	work = AllRep(work,"\t");
	work = AllRep(work,"\n");
	work = AllRep(work,"\r");
	if(work.length == 0 || val.match(/\'|\"/)){
		return false;
	}
	return true;
}
/*----------------------------------------------------------------------------*/
/* 次のページ表示
/*----------------------------------------------------------------------------*/
function PageOver(){ document.getElementById(this.id).style.background = "#FFF"; }
function PageOut(){  document.getElementById(this.id).style.background = "#DDD"; }
function TextOver(){ document.getElementById(this.id).style.background = "#FFF"; }
function TextOut(){  document.getElementById(this.id).style.background = "#EDD"; }
function ThemOver(){ document.getElementById(this.id).style.background = "#FFF"; }
function ThemOut(){  document.getElementById(this.id).style.background = "#FDD"; }

function MottoMiru(url){
	// スクロール量
	var ScrollY  = document.body.scrollTop  || document.documentElement.scrollTop;
	ScrollY += (document.documentElement.scrollHeight || document.body.scrollHeight);
	location.href = url+"&SY="+(ScrollY-180);
}
/******************************************************************************/
/* タグ編集フォーム
/******************************************************************************/
function HitokotoFormCheck(){
	Obj = document.getElementById('Hitokoto');
	if(Obj){
		if(!TextCheck(Obj.value,"おもしろ回答",HutoLength,1)){ return false; }
		Obj.value = TagCut(Obj.value);
	}
	return true;
}
/*----------------------------------------------------------------------------*/
/* ひとことファルコン処理
/*----------------------------------------------------------------------------*/
var AnsID = 0;
function HitoDisp(ID,n,h){
	document.getElementById('boxTitle').style.display = "none";
	var Obj = document.getElementById(ID);
	Obj.innerHTML = n;
	var y = 10;
	for(var i=1; i<120; i++){
		Obj.style.fontSize = i+"px";
		if(Obj.offsetHeight > y + 20 || Obj.offsetHeight > h){
			Obj.style.fontSize = i-1;
			break;
		}	y = Obj.offsetHeight;
	}
	window.scrollTo(0,0);
}
// ポジションのサンプル表示
var sARG = new Array("y","x","h","w","c","f");
function HitoPosCheck(){
	document.getElementById('boxTitle').style.display = "none";
	var Obj = new Object;
	Obj = document.getElementById('ODAI');
	if(document.getElementById('HitoQset').checked){
		Obj.style.display = "block";
		for(var i=0; i<4; i++){ SetStyle(Obj,document.getElementById('HitoQ'+sARG[i]).value,i); }
		Obj.style.background = "#A88";
		Obj = document.getElementById('ODAIDIV');
		for(var i=4; i<6; i++){ SetStyle(Obj,document.getElementById('HitoQ'+sARG[i]).value,i); }
		if(document.getElementById('HitoQ').value != ""){
			HitoDisp('ODAIDIV',document.getElementById('HitoQ').value,document.getElementById('HitoQh').value);
		}else{
			HitoDisp('ODAIDIV',"あいうえおABCDE12345",document.getElementById('HitoQh').value);
		}
	}else{
		Obj.style.display = "none";
	}
	Obj = document.getElementById('KAITO');
	for(var i=0; i<4; i++){ SetStyle(Obj,document.getElementById('HitoA'+sARG[i]).value,i); }
	Obj.style.background = "#8A8";
	Obj = document.getElementById('KAITODIV');
	for(var i=4; i<6; i++){ SetStyle(Obj,document.getElementById('HitoA'+sARG[i]).value,i); }
	HitoDisp('KAITODIV',"あいうえおABCDE12345",document.getElementById('HitoAh').value);
}
function SetStyle(pID,value,i){
	var pObj = pID.style;
	switch(i){
		case 0:
		pObj.top	= value; break;
		case 1:
		pObj.left	= value; break;
		case 2:
		pObj.height	= value; break;
		case 3:
		pObj.width	= value; break;
		case 4:
		pObj.color	= value; break;
		case 5:
		pObj.font	= value; break;
	}
}
function HitokotoCheck(h){
	var ans = document.getElementById('Hitokoto').value;
	ans = ans.replace(/\n|\r|\r\n/g,"<BR>");
	ans = ans.replace(/<BR><BR>/g,"<BR>");
	if(ans != ""){
		HitoDisp('KAITODIV',ans,h);
	}
}
/*----------------------------------------------------------------------------*/
/* ロード処理
/*----------------------------------------------------------------------------*/
window.onload = function(){
	for(var i=0; i<HutoSetID.length; i++){
		HSet[HutoSetID[i]] = 0;
		if(document.getElementById(HutoSetID[i])){
			Obj = document.getElementById(HutoSetID[i]);
			Obj.style.cursor = "hand";
			Obj.onmouseover = HutoSetOver;
			Obj.onmouseout  = HutoSetOut;
			if(HutoSetID[i].match(/ICON|NAME|AWORD|MOUT|Fav/)){
				Obj.onclick     = HutoSetClickDisplay;
			}else{
				Obj.onclick     = HutoSetClick;
			}
		}
	}
	// 登録ボタンにイベント追加
	if(document.getElementById('Regist')){
		Obj = document.getElementById('Regist');
		Obj.style.cursor = "hand";
		Obj.onmouseover = RegOver;
		Obj.onmouseout  = RegOut;
		Obj.onclick     = RegClick;
	}
	// ログインボタンにイベント追加
	if(document.getElementById('Login')){
		Obj = document.getElementById('Login');
		Obj.style.cursor = "hand";
		Obj.onmouseover = RegOver;
		Obj.onmouseout  = RegOut;
		Obj.onclick     = LogClick;
	}
	// 登録時の確認
	if(document.getElementById('RegForm')){
		document.getElementById('RegForm').onsubmit = RegFormCheck;
	}
	// ログイン時の確認
	if(document.getElementById('LoginForm')){
		document.getElementById('LoginForm').onsubmit = RegFormCheck;
	}
	// アイコン変更の確認
	if(document.getElementById('RepForm')){
		document.getElementById('RepForm').onsubmit = RepFormCheck;
	}
	// おなまえ変更の確認
	if(document.getElementById('RepNameForm')){
		document.getElementById('RepNameForm').onsubmit = RepNameFormCheck;
	}
	// ひとこと変更の確認
	if(document.getElementById('RepAwordForm')){
		document.getElementById('RepAwordForm').onsubmit = RepAwordFormCheck;
	}
	// ふと書き込みの確認
	if(document.getElementById('HutoForm')){
		document.getElementById('HutoForm').onsubmit = HutoFormCheck;
		if(MODE != "S"){
			document.getElementById('HutoText').focus();
		}
		if(document.getElementById('HutoThema')){
			if(document.getElementById('HutoThema').value == ""){
				document.getElementById('HutoThema').focus();
			}
		}
		document.getElementById('HutoColor').onchange= HutoColorChange;
		HutoColorChange();
	}
	// 最近情報書き込みチェック
	if(document.getElementById('SaikinForm')){
		document.getElementById('SaikinForm').onsubmit     = SaikinFormCheck;
		document.getElementById('SaikinColor').onchange    = SaikinColorChange;
		document.getElementById('SaikinBaseColor').onclick = SaikinBaseColorChange;
		document.getElementById('SearchBtn').onclick       = SearchBox;
		document.getElementById('ResetSearchBtn').onclick  = ResetSearchBox;
		document.getElementById('Tags').onclick            = SaikinTagSet;
		SaikinColorChange();
	}
	// タグ編集フォーム
	if(document.getElementById('TagEditForm')){
		document.getElementById('TagEditForm').onsubmit    = TagEditFormCheck;
		document.getElementById('SearchBtn').onclick       = SearchBox;
		document.getElementById('ResetSearchBtn').onclick  = ResetSearchBox;
		document.getElementById('Tags').onclick            = EditTagSet;
		SearchBox();
		TagEdit('NAM');
	}
	// ひとことファルコン回答フォーム
	if(document.getElementById('HitokotoForm')){
		document.getElementById('HitokotoForm').onsubmit   = HitokotoFormCheck;
	}

	// 次のページ
	if(document.getElementById('HutoP')){
		Obj = document.getElementById('HutoP');
		Obj.style.cursor = "hand";
		Obj.onmouseover = PageOver;
		Obj.onmouseout  = PageOut;
	}
	if(document.getElementById('HutoT')){
		Obj = document.getElementById('HutoT');
		Obj.style.cursor = "hand";
		Obj.onmouseover = ThemOver;
		Obj.onmouseout  = ThemOut;
	}
	if(document.getElementById('HutoL')){
		Obj = document.getElementById('HutoL');
		Obj.style.cursor = "hand";
		Obj.onmouseover = TextOver;
		Obj.onmouseout  = TextOut;
	}
	if(document.getElementById('HutoR')){
		Obj = document.getElementById('HutoR');
		Obj.style.cursor = "hand";
		Obj.onmouseover = TextOver;
		Obj.onmouseout  = TextOut;
	}
	if(document.getElementById('boxTag')){
		window.document.onmousemove = function(e){
			M.x = MousePos(e).x;
			M.y = MousePos(e).y;
		}
	}
}
/******************************************************************************/
/* ツイート
/******************************************************************************/
function Tweet(title,tag,url){
	var tu = "http://twitter.com/home?status=";
	tu += encodeURIComponent(tag+" "+title+" "+url);
	window.open(tu,"SumaburayaTweet");
}



/*-------------------------------------*/
/* 文字数カウント
/*-------------------------------------*/
function ByteCount(val){
	var cnt = 0;
	for(var i=0; i<val.length; i++){
		var c = val.substring(i,i+1);
		if(CheckZenkaku(c)){	cnt += 2; }
		else{					cnt += 1; }
	}
	return cnt;
}
/*-------------------------------------*/
/* 全角チェック
/*-------------------------------------*/
function CheckZenkaku(val){
	for(var i=0; i<val.length; i++){
		var c = val.charCodeAt(i);
		if(c<256 || (c>= 0xff61 && c <= 0xff9f)){ return false; }
		return true;
	}
}
/*-------------------------------------*/
/* 特定の文字がなくなるまで置き換え
/*-------------------------------------*/
function AllRep(val,rep){
	while(1){
		val = val.replace(rep,"");
		if(!val.match(rep)){ break; }
	}
	return val;
}
/*-------------------------------------*/
/* アイコンフォーム処理
/*-------------------------------------*/
function IconCheck(HID){
	var icon = document.getElementById(HID+'Icon').value;
	if(icon.length > 0){
		var path = icon.split('.');
		if(!path[path.length-1].match(/bmp|gif|jpg|jpeg|png/i)){
			alert("画像ファイルではありません。拡張子 bmp,gif,jpg,png で 50kbyte以内 のファイルを使用してください。");
			return false;
		}
	}
	return true;
}
/*-------------------------------------*/
/* マウス座標取得
/*-------------------------------------*/
	var M = new Array;
function MousePos(e){
	obj = new Object();
	if(e){
		obj.x = e.pageX + 30 - e.offsetX;
		obj.y = e.pageY - e.offsetY;
	}else{
		obj.x = event.clientX + document.body.scrollLeft + 25 - event.offsetX;
		obj.y = event.clientY + document.body.scrollTop  - 6 - event.offsetY;
	}
	return obj;
}
/*-------------------------------------*/
/* 内容がない場合の警告
/*-------------------------------------*/
function LengthErr(val,name,len,flg){
	if(val.length == 0){
		if(flg == 0){	 	alert(name+"がありません。"+name+"は 1文字以上〜"+len+"文字以内で記入してください。"); }
		else if(flg == 1){	alert(name+"がありません。"+name+"は全角"+(len/2)+"文字("+len+"byte)以内で記入してください。"); }
		else if(flg == 2){	alert("文字数を超えています。"+name+"は全角"+(len/2)+"文字("+len+"byte)以内で記入してください。"); }
		return false;
	}
	return true;
}
/*-------------------------------------*/
/* 文字数オーバーの警告とカット
/*-------------------------------------*/
function TextCut(val,name,len){
	var cnt = ByteCount(val);
	if(cnt > len){
		alert(name+"で登録できる文字数を超えています。全角"+(len/2)+"文字("+len+"byte)以内で記入してください。");
		return false;
	}
	return true;
}
/*-------------------------------------*/
/* 空白チェック
/*-------------------------------------*/
function TextSpaceCheck(val,name){
	var work = val;
	work = AllRep(work,"　");
	work = AllRep(work," ");
	work = AllRep(work,"\t");
	work = AllRep(work,"\n");
	work = AllRep(work,"\r");
	if(work.length == 0){
		alert("送信エラー："+name+"に文字がないため送信できません。");
		return false;
	}
	return true;
}
/*-------------------------------------*/
/* 禁則文字チェック
/*-------------------------------------*/
function NgText(val,flg){
	if(flg == 0){
		if(val.match(/\'|\"|\s|　/)){
			alert("禁則文字 \" \' 空白 が含まれています。");
			return false;
		}
	}else if(flg == 1){
		if(val.match(/\'|\"| |　/)){
			alert("禁則文字 \" \' 空白 が含まれています。");
			return false;
		}
	}else{
		if(val.match(/\'|\"/)){
			alert("禁則文字 \" \' が含まれています。");
			return false;
		}
	}
	return true;
}
/*-------------------------------------*/
/* 送信時の警告
/*-------------------------------------*/
function TextCheck(val,name,len,flg){
	// 文字がないチェック
	if(!LengthErr(val,name,len,flg)){	return false; }
	// 文字数オーバーチェック
	if(!TextCut(val,name,len)){			return false; }
	// タグ・空白チェック
	if(!TextSpaceCheck(val,name)){		return false; }
	return true;
}
/*-------------------------------------*/
/* タブとタグカット
/*-------------------------------------*/
function TagCut(val){
	val = AllRep(val,"\t");
	val = AllRep(val,">");
	val = AllRep(val,"<");
	return val;
}

