// JavaScript Document

/* ======================================================

 送信フォーム関連処理

 汎用

 概要

 1. 「fmail.cgi」用管理者メールアドレスの書き出し（エンティティ化）
 2. フォーカス時、テキストフィールド・テキストエリアの初期値をクリア
 3. フォームの入力内容をチェック
 4. 

 (C) 920
 Lastupdate：2008.04.30 04:29

====================================================== */


/* ----------------------------------------------------------------------
 1. 「fmail.cgi」用管理者メールアドレスの書き出し（エンティティ化）
---------------------------------------------------------------------- */
ToMail = new Array();
ToMail[0] = '';	//ckn-net polka.ocn

function ToMailAdr(slct) {
	document.write('<input name="Mail_to" type="hidden" value="' + ToMail[slct] + '" />');
}

/* ----------------------------------------------------------------------
 2. フォーカス時、テキストフィールド・テキストエリアの初期値をクリア
---------------------------------------------------------------------- */
function clearField(obj,defaultStr) {
	if(obj.value == defaultStr) {
		obj.value = '';
	}
}

function defaultField(obj,defaultStr) {
	if(obj.value == '') {
		obj.value = defaultStr;
	}
}

/* ----------------------------------------------------------------------
 3. フォームの入力内容をチェック
---------------------------------------------------------------------- */

// 未入力のテキストフィールド･テキストエリアの初期値をクリア
// -----------------------------------------------------------------
function changeStr(obj,dfltStr,afterStr) {
	if (obj.value == dfltStr) {
		obj.value = afterStr;
		return true;
	}
	return true;
}



// テキストボックスの未入力をチェック
// -----------------------------------------------------------------

/*
function checkNull(obj,msg) {
	if ( obj.value == "" ) {
		alert ( msg );
		obj.focus();
		return false;
	}
	return true;
}
*/

function checkNull(obj,msg,dfltStr) {
	if (obj.value == "" || obj.value == dfltStr) {
		alert ( msg );
		obj.focus();
		return false;
	}
	return true;
}

// ラジオボタンの未選択をチェック
// -----------------------------------------------------------------
	function checkRadio(obj,msg) {
		var checkfl = 0;
		for ( i = 0 ; i < obj.length ; i ++  ){
			if ( obj[i].checked == true ) { checkfl = 1; }
		}
		if ( checkfl == 0 ) {
			alert ( msg );
			for ( i = 0 ; i < obj.length ; i ++  ){
				if ( !obj[i].disabled ) {
					obj[i].focus();
					break;
				}
			}
			return false;
		}
		return true;
	}

// チェックボックスの未選択をチェック
// -----------------------------------------------------------------
	function checkCheckbox(obj,msg) {
		var checklen = 0;
		for ( i = 0 ; i < obj.length ; i ++  ){
			if ( obj[i].checked == true ) { checklen ++; }
		}
		if ( checklen == 0 ) {
			alert ( msg );
			obj[0].focus();
			return false;
		}
		return true;
	}

// チェックボックスの未選択・選択数をチェック
// -----------------------------------------------------------------
function checkCheckboxlimit(obj,msg1,msg2,limit) {
	var checklen = 0;
	for ( i = 0 ; i < obj.length ; i ++  ){
		if ( obj[i].checked == true ) { checklen ++; }
	}
	if ( checklen == 0 ) {
		alert ( msg1 );
		obj[0].focus();
		return false;
	}
	else if ( checklen > limit ) {
		alert ( msg2 );
		obj[0].focus();
		return false;
	}
	return true;
}



// セレクトメニューの未選択をチェック
// -----------------------------------------------------------------
	function checkSelect(obj,msg) {
		var SelectData = obj.selectedIndex;
		if ( SelectData == 0 ) {
			alert ( msg );
			obj.focus();
			return false;
		}
		return true;
	}

// Mail Addressの未入力・形式チェック
// -----------------------------------------------------------------

/*
	function checkMail( obj , msg1 , msg2 ) {
		var MailAd = obj.value;
		data = MailAd.match(/^\S+@\S+\.\S+$/);
		if ( !MailAd ) {
			alert ( msg1 );
			obj.focus();
			return false;
		}
		else if ( !data ) {
			alert ( msg2 );
			obj.focus();
			return false;
		}
		return true;
	}
*/

function checkMail( obj , msg1 , msg2 , dfltStr ) {
	var MailAd = obj.value;
	data = MailAd.match(/^\S+@\S+\.\S+$/);
	if ( !MailAd ) {
		alert ( msg1 );
		obj.focus();
		return false;
	}
	else if( MailAd == dfltStr ) {
		alert ( msg1 );
		obj.focus();
		return false;
	}
	else if ( !data ) {
		alert ( msg2 );
		obj.focus();
		return false;
	}
	return true;
}

// Mail Addressの形式チェック（未入力可）
// -----------------------------------------------------------------
	function checkEmpMail( obj , msg1 ) {
		var MailAd = obj.value;
		data = MailAd.match(/^\S+@\S+\.\S+$/);
		if ( MailAd && !data ) {
			alert ( msg1 );
			obj.focus();
			return false;
		}
		return true;
	}


// 未入力・数値チェック
// -----------------------------------------------------------------
/*
	function checkNum( obj , msg1 , msg2 ) {
		var Num = obj.value;
		if ( !Num ) {
			alert ( msg1 );
			obj.focus();
			return false;
		}
		else {
			for ( var i = 0; i < Num.length; i++ ) {
				c = Num.charAt(i);
				if ( "0123456789".indexOf(c,0) < 0 ) {
					alert ( msg2 );
					obj.focus();
					return false;
				}
			}
		}
		return true;
	}
*/

function checkNum( obj , msg1 , msg2 , dfltStr ) {
	var Num = obj.value;
	if ( !Num ) {
		alert ( msg1 );
		obj.focus();
		return false;
	}
	else if (Num == dfltStr) {
		alert ( msg1 );
		obj.focus();
		return false;
	}
	else {
		for ( var i = 0; i < Num.length; i++ ) {
			c = Num.charAt(i);
			if ( "0123456789".indexOf(c,0) < 0 ) {
				alert ( msg2 );
				obj.focus();
				return false;
			}
		}
	}
	return true;
}


// 数値チェック（未入力可）
// -----------------------------------------------------------------
	function checkEmpNum( obj , msg1 ) {
		var EmpNum = obj.value;
		for ( var i = 0; i < EmpNum.length; i++ ) {
			c = EmpNum.charAt(i);
			if ( "0123456789".indexOf(c,0) < 0 ) {
				alert ( msg1 );
				obj.focus();
				return false;
			}
		}
		return true;
	}

// 未入力・英数字チェック
// -----------------------------------------------------------------
    function checkEisu( obj , msg1 , msg2 , min , max) {
        var Eisu = obj.value;
        if ( !Eisu ) {
            alert ( msg1 );
            obj.focus();
            return false;
        }
        else {
                data = Eisu.match(/[^A-Za-z0-9_]/g);
                if ( data  || min > Eisu.length || max < Eisu.length ) {
                    alert ( msg2 );
                    obj.focus();
                    return false;
                }
        }
        return true;
    }

// 電話番号の未入力・形式をチェック
// -----------------------------------------------------------------
/*
	function checkPhone( obj , msg1 , msg2 ) {
		var Pno = obj.value;
		data1 = Pno.match(/^[0-9-]{6,9}$|^[0-9-]{12}$/);
		data2 = Pno.match(/^\d{1,4}-\d{4}$|^\d{2,5}-\d{1,4}-\d{4}$/);
		if ( !Pno ) {
			alert ( msg1 );
			obj.focus();
			return false;
		}
		else if ( !data1 || !data2 ) {
			alert ( msg2 );
			obj.focus();
			return false;
		}
		return true;
	}
*/

function checkPhone( obj , msg1 , msg2 , dfltStr ) {
	var Pno = obj.value;
	data1 = Pno.match(/^[0-9-]{6,9}$|^[0-9-]{12}$/);
	data2 = Pno.match(/^\d{1,4}-\d{4}$|^\d{2,5}-\d{1,4}-\d{4}$/);
	if ( !Pno ) {
		alert ( msg1 );
		obj.focus();
		return false;
	}
	else if(Pno == dfltStr) {
		alert ( msg1 );
		obj.focus();
		return false;
	}
	else if ( !data1 || !data2 ) {
		alert ( msg2 );
		obj.focus();
		return false;
	}
	return true;
}

// 電話番号形式をチェック（未入力可）
// -----------------------------------------------------------------

/*
	function checkEmpPhone( obj , msg1 ) {
		var EmpPno = obj.value;
		data1 = EmpPno.match(/^[0-9-]{6,9}$|^[0-9-]{12}$/);
		data2 = EmpPno.match(/^\d{1,4}-\d{4}$|^\d{2,5}-\d{1,4}-\d{4}$/);
		if ( EmpPno && ( !data1 || !data2 ) ) {
			alert ( msg1 );
			obj.focus();
			return false;
		}
		return true;
	}
*/

function checkEmpPhone( obj , msg1 , dfltStr ) {
	var EmpPno = obj.value;
	data1 = EmpPno.match(/^[0-9-]{6,9}$|^[0-9-]{12}$/);
	data2 = EmpPno.match(/^\d{1,4}-\d{4}$|^\d{2,5}-\d{1,4}-\d{4}$/);
	if ( !EmpPno || EmpPno == dfltStr ) {
		obj.value = '';
		return true;
	}
	else if ( EmpPno && ( !data1 || !data2 ) ) {
		alert ( msg1 );
		obj.focus();
		return false;
	}
	return true;
}

// 携帯番号の未入力・形式をチェック
// -----------------------------------------------------------------
	function checkMPhone( obj , msg1 , msg2 ) {
		var MPno = obj.value;
		data = MPno.match(/^\d{3}-\d{4}-\d{4}$|^\d{13}$/);
		if ( !MPno ) {
			alert ( msg1 );
			obj.focus();
			return false;
		}
		else if ( !data ) {
			alert ( msg2 );
			obj.focus();
			return false;
		}
		return true;
	}

// 携帯番号の形式をチェック（未入力可）
// -----------------------------------------------------------------
/*
	function checkEmpMPhone( obj , msg ) {
		var MPno = obj.value;
		data = MPno.match(/^\d{3}-\d{4}-\d{4}$|^\d{11}$/);
		if ( MPno && !data ) {
			alert ( msg );
			obj.focus();
			return false;
		}
		return true;
	}
*/

function checkEmpMPhone( obj , msg , dfltStr ) {
	var MPno = obj.value;
	data = MPno.match(/^\d{3}-\d{4}-\d{4}$|^\d{11}$/);

	if ( !MPno || MPno == dfltStr ) {
		obj.value = '';
		return true;
	}
	else if ( MPno && !data ) {
		alert ( msg );
		obj.focus();
		return false;
	}
	return true;
}


// 電話番号の未入力・形式をチェック（携帯対応）
// -----------------------------------------------------------------
function checkPhoneMobile( obj , msg1 , msg2 , dfltStr ) {
		var MPno = obj.value;
		data = MPno.match(/^\d{2,4}-\d{2,4}-\d{4}$|^\d{10-13}$/);
		if ( !MPno ) {
			alert ( msg1 );
			obj.focus();
			return false;
		}
		else if ( !data ) {
			alert ( msg2 );
			obj.focus();
			return false;
		}
		return true;
}




// 郵便番号の未入力・形式をチェック
// -----------------------------------------------------------------

/*
	function checkZipCd( obj , msg1 , msg2 ) {
		var Zcd = obj.value;
		var data = Zcd.match(/^\d{3}-\d{4}$|^\d{3}-\d{2}$|^\d{3}$/);
		if ( !Zcd ) { // 無入力時
			alert ( msg1 );
			obj.focus();
			return false;
		}
		else if ( !data ) {
			alert ( msg2 );
			obj.focus();
			return false;
		}
		return true;
	}
*/

// 郵便番号の未入力・形式をチェック
// -----------------------------------------------------------------
function checkZipCd( obj , msg1 , msg2 , dfltStr ) {
	var Zcd = obj.value;
	var data = Zcd.match(/^\d{3}-\d{4}$|^\d{3}-\d{2}$|^\d{3}$/);
	if ( !Zcd ) { // 未入力時
		alert ( msg1 );
		obj.focus();
		return false;
	}
	else if(Zcd == dfltStr) {
		alert ( msg1 );
		obj.value = '';
		return false;
	}
	else if ( !data ) {
		alert ( msg2 );
		obj.focus();
		return false;
	}
	return true;
}


// 郵便番号形式をチェック（未入力可）
// -----------------------------------------------------------------

/*
	function checkEmpZipCd( obj , msg1 ) {
		var EmpZcd = obj.value;
		var data = EmpZcd.match(/^\d{3}-\d{4}$|^\d{3}-\d{2}$|^\d{3}$/);
		if ( EmpZcd && !data ) {
			alert ( msg1 );
			obj.focus();
			return false;
		}
		return true;
	}
*/

function checkEmpZipCd( obj , msg1 , dfltStr ) {
	var EmpZcd = obj.value;
	var data = EmpZcd.match(/^\d{3}-\d{4}$|^\d{3}-\d{2}$|^\d{3}$/);
	if(EmpZcd == dfltStr) {
		obj.value = '';
		return true;
	}
	if ( EmpZcd && !data ) {
		alert ( msg1 );
		obj.focus();
		return false;
	}
	return true;
}


// 年月日形式（yy/mm/dd）・未入力をチェック
// -----------------------------------------------------------------
	function checkDate1( obj , msg1 , msg2 ) {
		var DateText = obj.value;
		var data = DateText.match(/^(\d\d)\/(\d\d)\/(\d\d)$/);
		if ( !DateText ) {
			alert ( msg1 );
			obj.focus();
			return false;
		}
		else if ( !data ) {
			alert ( msg2 );
			obj.focus();
			return false;
		}
		return true;
	}

// 年月日形式（yyyy/mm/dd）・未入力をチェック
// -----------------------------------------------------------------
	function checkDate2( obj , msg1 , msg2 ) {
		var DateText = obj.value;
		var data = DateText.match(/^(\d\d\d\d)\/(\d\d)\/(\d\d)$/);
		if ( !DateText ) {
			alert ( msg1 );
			obj.focus();
			return false;
		}
		else if ( !data ) {
			alert ( msg2 );
			obj.focus();
			return false;
		}
		return true;
	}

// 年月日形式（yyyy/m/d）・未入力をチェック
// -----------------------------------------------------------------
	function checkDate3( obj , msg1 , msg2 ) {
		var DateText = obj.value;
		var data = DateText.match(/^\d{4}\/([123456789]|[1][012])\/([123456789]|[12]\d|[3][01])$/);
		if ( !DateText ) {
			alert ( msg1 );
			obj.focus();
			return false;
		}
		else if ( !data ) {
			alert ( msg2 );
			obj.focus();
			return false;
		}
		return true;
	}

// 年月日形式（yy/mm/dd）をチェック（未入力可）
// -----------------------------------------------------------------
	function checkEmpDate1( obj , msg1 ) {
		var DateText = obj.value;
		var data = DateText.match(/^(\d\d)\/(\d\d)\/(\d\d)$/);
		if ( DateText && !data ) {
			alert ( msg1 );
			obj.focus();
			return false;
		}
		return true;
	}

// 年月日形式（yyyy/mm/dd）をチェック（未入力可）
// -----------------------------------------------------------------
	function checkEmpDate2( obj , msg1 ) {
		var DateText = obj.value;
		var data = DateText.match(/^(\d\d\d\d)\/(\d\d)\/(\d\d)$/);
		if ( DateText && !data ) {
			alert ( msg1 );
			obj.focus();
			return false;
		}
		return true;
	}

// 年月日形式（yyyy/m/d）をチェック（未入力可）
// -----------------------------------------------------------------
	function checkEmpDate3( obj , msg1 ) {
		var DateText = obj.value;
		var data = DateText.match(/^\d{4}\/([123456789]|[1][012])\/([123456789]|[12]\d|[3][01])$/);
		if ( DateText && !data ) {
			alert ( msg1 );
			obj.focus();
			return false;
		}
		return true;
	}

