//===================================================
//
// 共通JavaScriptファイル
//
//---------------------------------------------------
// comment
//  各画面共通のJavaScriptを記述
//
//---------------------------------------------------
//
// version   1.0.0
// new       2007/10/25
// edit      2007/10/25
//
// author    r.aida <raida@arte-sys.jp>
// copyright ARTE SYSTEM
//
//---------------------------------------------------
// history
//  2007/10/25 r.aida 新規作成
//
//===================================================

//サブミット関数
//フォーム情報を渡し、指定したフォームのサブミットを行う。
//引数：strFormName :フォーム名
//      strURL      :フォームのアクション（省略可
//      strTarget   :フォームのターゲット（省略可
function onSubmit(strFormName, strAction, strTarget)
{
	//フォームの実体取得
	var objForm;
		objForm = eval("document." + strFormName);

	//URL指定
	if(strAction != undefined)	objForm.action = strAction;
	//ターゲット指定
	if(strTarget != undefined)	objForm.target = strTarget;

	//submit
	objForm.submit();
}

//chk_function

//lengthチェック lenに指定した数より大きい場合はfalse
function chk_len(str,len)
{
	var i,cnt=0;
	for(i=0;i<str.length;i++)
	{
		if(escape(str.charAt(i)).length >= 4)
			cnt+=2;
		else
			cnt++;
	}
	if(cnt > len){
		return false;
	}
	return true;
}

//lengthチェック lenに指定した数より小さい場合はfalse
function chk_len_min(str,len)
{
	var i,cnt=0;
	for(i=0;i<str.length;i++)
	{
		if(escape(str.charAt(i)).length >= 4)
			cnt+=2;
		else
			cnt++;
	}
	if(cnt < len){
		return false;
	}
	return true;
}

//空チェック
function chk_empty(str)
{
	if(str==""){
		return false;
	}
	return true;
}

//!"#$%&'()-^\=~|@`{}:;*+,./\<>?_
//英数字のみ。また_-のみ可
function chk_hankaku(str)
{
//	if(str.search(/[^\s!\"\#\$%&'\(\)-\^\\=~\|@\`\.\/\{\}_a-zA-Z0-9]/i) != -1){
	if(str.search( /[^A-Za-z0-9\.\-\_\@]+/) != -1){
	return false;
	}
	return true;
}

//メールアドレスチェック  2006/07/04 h.imanishi
function chk_mail(str)
{
	if(!str.match(/^[\w\-\.]+\@[\w\-]+[\.][\w\-\.]+[a-zA-Z]$/) ){
		return false;
	}
	return true;
}

//数字のみ
function chk_num(str)
{
	var checkstr = "[^0-9]";
	if(str.search(checkstr) != -1){
		return false;
	}
	return true;
}

//数字および-（マイナス）のみ
function chk_mntprice(str)
{
	var checkstr = "[^0-9\-]";
	if(str.search(checkstr) != -1){
		return false;
	}
	return true;
}

//英数字のみ
//2005/10/21 n.takeya
function chk_alphanum(str)
{
//	var checkstr = "/[^A-Za-z0-9]+/";
	if(str.search(/[^A-Za-z0-9]+/) != -1){
		return false;
	}
	return true;
}

//\<\>\&\; のチェック（タグ文字のチェック）
//2005/10/21 n.takeya
function chk_htmltag(str)
{
	if(str.search(/[\<\>\&\;]+/) != -1){
		return false;
	}
	return true;
}

//全角カタカナチェック
//2005/10/21 n.takeya
function chk_zenkakukana(str)
{
	//if(str.search(/[^ア-ン]+/+"　") != -1){
	if(str.search(/[^ァ-ン　ー]+/) != -1){

		return false;
	}
	return true;
}

//日付のチェック YYYY/MM/DD形式のチェック、妥当性チェックを同時に行う
function chk_date(str)
{
	if(str == "") return true;
	var max_month = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31); // 1月-12月の最大日数
	var tmp = ""
	var year;
	var month;
	var day;
	tmp = str.split("/");
	if(tmp.length != 3) return false;
	// 年
	if(isNaN(tmp[0])){
		 return false;
	}else{
		year = eval(tmp[0]);
		// 小さすぎる大きすぎる年数は×
		if(year < 1970 || year > 2999) return false;
	}
	// 月
	if(isNaN(tmp[1])){
		return false;
	}else{
		month = eval(tmp[1]);
		if(month <1 || month > 12){
			return false;
		}
	}
	// 日
	if(isNaN(tmp[2])){
		return false;
	}else{
		day = eval(tmp[2]);
		// 閏年判定
		if( month == 2 && (year%4) == 0 && (year%100) != 0)
		{
			if(day <1 || day > 29){
				return false;
			}
		}else{
			if(day <1 || day > max_month[month]){
				return false;
			}
		}
	}
	return true;
}

//日付の大小チェック d1>d2=-1, d1==d2=0, d1<d2=1 日数の差を返すわけではないので注意
//この関数を実行する前に必ずchk_dateで日付チェックを行うこと
function chk_datesub(d1,d2)
{
	var a_d1 = d1.split("/");
	var a_d2 = d2.split("/");
	var d1_utc = Date.UTC(eval(a_d1[0]),eval(a_d1[1]),eval(a_d1[2]),0,0,0);
	var d2_utc = Date.UTC(eval(a_d2[0]),eval(a_d2[1]),eval(a_d2[2]),0,0,0);
	// チェック
	if(d1_utc > d2_utc){
		return -1;
	}else if(d1_utc < d2_utc){
		return 1;
	}else{
		return 0;
	}
}

//半角スペースと全角スペースを取り除く
function Trim(strTemp)
{
	var strRet, strFinal;
	//LTRIM
	strRet = LTrim(strTemp);
	//RTRIM
	strFinal = RTrim(strRet);

	return strFinal;
}
function RTrim(strTemp)
{
	var nLoop = 0;
	var strReturn = strTemp;
	while (nLoop < strTemp.length)
	{
		if ((strReturn.substring(strReturn.length - 1, strReturn.length) == " ") || (strReturn.substring(strReturn.length - 1, strReturn.length) == "　"))
		{
			strReturn = strTemp.substring(0, strTemp.length - (nLoop + 1));
		}
		else
		{
			break;
		}
		nLoop++;
	}
	return strReturn;
}
function LTrim(strTemp)
{
	var nLoop = 0;
	var strReturn = strTemp;
	while (nLoop < strTemp.length)
	{
		if ((strReturn.substring(0, 1) == " ") || (strReturn.substring(0, 1) == "　"))
		{
			strReturn = strTemp.substring(nLoop + 1, strTemp.length);
		}
		else
		{
			break;
		}
		nLoop++;
	}
	return strReturn;
}


//htmlspecialcharsをチェックする（シングルクオートも一緒にチェックする）
function chk_htmlspecialchars(str)
{
	if(str.search(/[\<\>\&\"\']+/) != -1){
		return false;
	}

	return true;
}


//-----------------------------------
//以下イメージ処理
//-----------------------------------
//ポイント時の処理
function On(name)
{
	if(document.images)
	{
		document.images[name].src = eval(name + 'on.src');
	}
}

//放した時の処理
function Off(name)
{
	if(document.images)
	{
		document.images[name].src = eval(name + 'off.src');
	}
}