var gcsinspos_top = 'T';						// 挿入方法(Top)
var gcsinspos_bottom = 'Bo';					// 挿入方法(bottom)
var gcsinspos_before = 'Be';					// 挿入方法(before)
var gcsinspos_after = 'A';						// 挿入方法(after)
var gcsresponsekind_text = 'Text';				// テキスト又はXML(responseText)
var gcsresponsekind_xml = 'XML';				// テキスト又はXML(responseXML)
var gcsmethod_post = 'post';					// 通信方法(post)
var gcsmethod_get = 'get';						// 通信方法(get)

var gsrequestvalue = '';						// 非同期通信時の返り値
/********************************************/
/* class切り換え                            */
/********************************************/
function fchangeclass(sid,sclass,s1class,s2class){
	// 文字の位置取得
	var ipos = sclass.indexOf(s1class);
	// ある場合 置換する
	if(ipos > -1){
		$(sid).className = sclass.replace(s1class,s2class);
	// ない場合 付加する
	}else{
		// 文字の位置取得
		var ipos = sclass.indexOf(s2class);
		if(ipos > -1){
		}else{
			$(sid).className = sclass + ' ' + s2class;
		}
	}
}

/********************************************/
/* class落とす                              */
/********************************************/
function fdropclass(sid,sclass,s1class){
	// 文字の位置取得
	var ipos = sclass.indexOf(s1class);
	// ある場合 置換する
	if(ipos > -1){
		$(sid).className = sclass.replace(s1class,'');
	// ない場合 何もしない
	}else{
	}
}

/********************************************/
/* class追加する                            */
/********************************************/
function faddclass(sid,sclass,s1class){
	$(sid).className = sclass + ' ' + s1class;
}

/********************************************/
/* 値取得                                   */
/********************************************/
function fgetvalue(sid){
	var svalue = '';
	// オブジェクト取得
	var oobj = $(sid);
	// タイプ取得
	var stype = oobj.type;
	// hiddenまたはtextまたはpasswordの場合
	if(ftrim(stype) == 'hidden' || ftrim(stype) == 'text' || ftrim(stype) == 'password'){
		svalue = oobj.value;
	}else{
		svalue = oobj.innerHTML;
	}
	return svalue;
}

/********************************************/
/* 値書き込み                               */
/********************************************/
function fsetvalue(sid,svalue){
	// オブジェクト取得
	var oobj = $(sid);
	// タイプ取得
	var stype = oobj.type;
	// hiddenまたはtextまたはpasswordの場合
	if(ftrim(stype) == 'hidden' || ftrim(stype) == 'text' || ftrim(stype) == 'password'){
		oobj.value = svalue;
	}else{
		oobj.innerHTML = svalue;
	}
}

/********************************************/
/* trim関数                                 */
/********************************************/
function ftrim(svalue){
	var srevalue = svalue;
	if(svalue){
		srevalue = svalue.replace(/^[ ]+|[ ]+$/g, '');
	}
    return srevalue;
}

/********************************************/
/* replace関数                              */
/********************************************/
function freplace(svalue,org,dest){
	var srevalue = svalue;
	if(svalue){
		srevalue = srevalue.split(org).join(dest);
	}
    return srevalue;
}

/********************************************/
/* 改行を<br />へ変換                       */
/********************************************/
function fcrlftobr(svalue){
	var srevalue = svalue;
	if(svalue){
		srevalue = freplace(srevalue,'\r\n','<br />');
		srevalue = freplace(srevalue,'\n','<br />');
		srevalue = freplace(srevalue,'\r','<br />');
	}
    return srevalue;
}

/********************************************/
/* 指定文字数より少ない場合のみ先頭に       */
/* 指定文字を追加する関数                   */
/*                    (1バイト文字のみ対応) */
/********************************************/
function faddbeforechar(svalue,ilength,saddchar){
	var srevalue = svalue;
	if(svalue){
		// 文字列に変換
		svalue = String(svalue);
		// 文字数取得
		var ivallen = svalue.length;
		// 指定文字数より小さい場合
		if(ivallen < ilength){
			// 頭に指定文字を追加
			var iloopcnt = ilength - ivallen;
			var saddval = '';
			for(var iidx = 0;iidx < iloopcnt;iidx++){
				saddval = saddval + saddchar;
			}
			srevalue = saddchar + svalue;
		}
	}
    return srevalue;
}

/********************************************/
/* 通信(Ajax.Updater)                       */
/*   surl : 取得URL                         */
/*   sinsertid : 書き込む場所のid           */
/*   smethod : 通信方法('post' or 'get')    */
/*   parameters : パラメータ                */
/*   sheaders : HTTPヘッダー配列            */
/*   sinspos : 挿入方法                     */
/*             ('T': Top 'B':Bottom         */
/*              'A':After '':Before)        */
/*   seval : eval()で評価するかどうかの指定 */
/*           ('true' or 'false')            */
/********************************************/
function fajaxupdater(surl,sinsertid,smethod,sparameters,sheaders,sinspos,seval){

	var sinsertion = 'Insertion.Before';
	if(sinspos == gcsinspos_top){
		sinsertion = 'Insertion.Top';
	}else if(sinspos == gcsinspos_bottom){
		sinsertion = 'Insertion.Bottom';
	}else if(sinspos == gcsinspos_after){
		sinsertion = 'Insertion.After';
	}

	if(sheaders){
	}else{
		sheaders = '';
	}

	if(seval){
		seval = 'false';
	}else{
		if(seval == ''){
			seval = 'false';
		}
	}
	new Ajax.Updater({ success : sinsertid },		// 書き込み先ID
					 surl,							// 取得URL
					 { method : 'get',			// 実行時のメソッド
//					   parameters : sparameters,	// パラメータ
//					   requestHeaders : sheaders,	// HTTPヘッダー配列
//					   insertion : sinsertion,		// 挿入方法
//					   evalScripts : seval,			// eval()で評価するかどうかの指定
					   onFailure : ffailure			// 読み込み失敗時の処理
					 });
}

/********************************************/
/* 通信(Ajax.Request)                       */
/*   surl : 取得URL                         */
/*   smethod : 通信方法('post' or 'get')    */
/*   sparameters : パラメータ               */
/*   sresponsekind : 'Text' or 'XML'        */
/********************************************/
/*
function fajaxrequest(surl,smethod,sparameters,sresponsekind){
	var returnvalue = '';
	gsrequestvalue = '';
	// 通信方法が'post'の場合
	if(smethod == gcsmethod_post){
		returnvalue = new Ajax.Request(surl,								// 取得URL
									  { method : 'post',					// 実行時のメソッド
//									    parameters : sparameters,			// パラメータ
									    onSuccess : function(request) {		// 成功した場合
														// テキストの場合
						    							if(sresponsekind == gcsresponsekind_text){
															gsrequestvalue = request.responseText;
														}else{
															gsrequestvalue = request.responseXML;
														}
													},
										onFailure : ffailure,				// 読み込み失敗時の処理
										onException : fexception			// 読み込み中にエラーが発生した処理
									  });
	}else{
		returnvalue = new Ajax.Request(surl,								// 取得URL
									  { method : 'get',						// 実行時のメソッド
//									    parameters : sparameters,			// パラメータ
									    onSuccess : fsuccess,				// 成功した場合
										onFailure : ffailure,				// 読み込み失敗時の処理
										onException : fexception			// 読み込み中にエラーが発生した処理
									  });
	}
}
*/

/********************************************/
/* メッセージＢＯＸ作成関数                 */
/*     stitle : タイトル                    */
/*     smsg1  : メッセージ                  */
/*     svalue : ボタンモード                */
/*              (1:OKのみ 2:はい/いいえ     */
/*               3:はい/いいえ/キャンセル)  */
/*     iwidth : メッセージボックスの幅      */
/********************************************/
function fcreatedialog(stitle,smsg1,svalue,iwidth) {
	if(svalue == 1){
		Glayer.showAlert(smsg1, 
						{callback: function(){
									Glayer.hideAlert();
									},
						 okLabel: 'CLOSE',width: iwidth}
						); // 表示
	}else if(svalue == 2){
		Glayer.showConfirm(smsg1, 
	    		        	function(result){
								if(result){
										Glayer.hideConfirm();
								}else{
									Glayer.hideConfirm();
								}},
							{okLabel: 'OK',cancelLabel:'CANCEL',width: iwidth}
							); // 表示
	}
}


/********************************************/
/* 読み込み失敗時のイベント                 */
/********************************************/
function ffailure(request){
	// 読み込みに失敗したとき
	alert('Failure');
}

/********************************************/
/* 読み込み中にエラー時のイベント           */
/********************************************/
function fexception(request){
	// 読み込み中にエラーが発生したとき
	alert('Error');
}

/********************************************/
/* 別画面をあげる                           */
/*     surl : 起動するURL                   */
/*     starget : target属性                 */
/*     sparam : その他パラメータ            */
/********************************************/
function fopenwindow(surl,starget,sparam){
	// 別画面起動
	// target属性
	var swktarget = starget;
	if(swktarget){
	}else{
		swktarget = '_blank';
	}
	window.open(surl,swktarget,sparam);
}

/********************************************/
/* 画面の再描画(submit)                     */
/*     sformid : フォームのID               */
/********************************************/
function fsubmit(sformid){
	$(sformid).submit();
}

/********************************************/
/* マウスの座標取得                         */
/*     e : イベント                         */
/********************************************/
function getMousePosition(e) {
	var obj = new Object();
	if(e){
		obj.x = e.pageX;
		obj.y = e.pageY;
	}else{
		obj.x = event.x + document.body.scrollLeft;
		obj.y = event.y + document.body.scrollTop;
	}
	return obj;
}

