/********************************************************************************
	Form関係JavaScriptライブラリ
********************************************************************************/
function DeleteLog(iDataNum){
	var iInputCnt = 0;
	if (confirm('このアーティクルを削除しますか？')) {
		// エレメントの数だけ繰り返す
		for(iInputCnt = 0; iInputCnt < document.engine.elements.length; iInputCnt++){
			// 対象のエレメントの名前がターゲット名と等しい場合
			if(document.engine.elements[iInputCnt].name == iDataNum){
				document.engine.elements[iInputCnt].value = "delete";
				document.engine.submit();
				return true;
			}
		}
	} else {
		return false;
	}
}

/********************************************************************************
	関数名		CheckData
	機能		必須項目をチェックする。
	使用方法	DataNames配列、DataSetsumeis配列に必須チェックしたいデータを設定する。
	
	入力		なし
	出力		結果フラグ		true: OK,   false: NG
********************************************************************************
	以下のチェック変数設定をCheckDataを実行するHTMLページ内に記述すること
********************************************************************************
// 必須データ（入力系）をここに設定する。
DataNames[0]		= "item_name01";
DataSetsumeis[0] 		= "商品名";
DataNames[1]		= "item_price01";
DataSetsumeis[1] 		= "商品価格";
DataNames[2]		= "num_view";
DataSetsumeis[2] 		= "順番";

SelectNames[0] = "group_select";
SelectSetsumeis[0] = "カテゴリー";
********************************************************************************/
// 必須データの変数名リストを追加する。
DataNames = new Array();
DataSetsumeis = new Array();
BoxNames = new Array();
BoxSetsumeis = new Array();
SelectNames = new Array();
SelectSetsumeis = new Array();

function CheckData(){

	// 必須データリストに対して繰り返す。（入力項目）
	for( iDataCnt = 0; iDataCnt < DataNames.length; iDataCnt++){
		
		// 対象のデータが空の場合
		if(document.engine[DataNames[iDataCnt]].value == "" || document.engine[DataNames[iDataCnt]].value == "http://"){
			Message = DataSetsumeis[iDataCnt] + "は必ずご記入ください。";
			alert(Message);
			document.engine[DataNames[iDataCnt]].focus();
			return(false);
		}
	}

	// 必須データリストに対して繰り返す。（ラジオボックス項目）
	for( iDataCnt = 0; iDataCnt < BoxNames.length; iDataCnt++){
		
		var bCheckedFlg = 0;
		
		// 対象ボックスがラジオボックスの場合
		if(document.engine[BoxNames[iDataCnt]].length){
			var iBoxCnt = 0;
			// ラジオボックスのリストに対して繰り返す。
			for(iBoxCnt = 0; iBoxCnt < document.engine[BoxNames[iDataCnt]].length; iBoxCnt++){

				// 対象のラジオボックスがチェックされている場合
				if (document.engine[BoxNames[iDataCnt]][iBoxCnt].checked) {

					// チェック済みフラグをオンにする。
					bCheckedFlg = 1;
					
					// ラジオボックスのチェックを終了する。
					break;
				}
			}
		// チェックボックスの場合
		} else {
			
			// 対象のチェックボックスがチェックされている場合
			if(document.engine[BoxNames[iDataCnt]].checked == 1){
				
				// チェック済みフラグをオンにする。
				bCheckedFlg = 1;
			}
		}
		
		// チェックされていない場合
		if(bCheckedFlg == 0){
			Message = BoxSetsumeis[iDataCnt] + "は必ずご選択ください。";
			alert(Message);
			document.engine[BoxNames[iDataCnt]].focus();
			return(false);
		}
	}
	
	// 必須データリストに対して繰り返す。（セレクトボックス項目）
	for( iDataCnt = 0; iDataCnt < SelectNames.length; iDataCnt++){
		
		iSelectIndex = document.engine[SelectNames[iDataCnt]].selectedIndex;
		
		// 対象のデータが空の場合
		if(document.engine[SelectNames[iDataCnt]].options[iSelectIndex].value == ""){
			//Message = SelectSetsumeis[iDataCnt] + "は必ずご記入ください。";
			Message = SelectSetsumeis[iDataCnt] + "は必ずご選択ください。";
			alert(Message);
			document.engine[SelectNames[iDataCnt]].focus();
			return(false);
		}
	}
	
	return(true);

}


/******************************************************************************
	日付関数用グローバル変数
	SetDateSelectBox,SetCgiCustomDate
******************************************************************************/
var gYear;
var gMon;
var gDay;

/*******************************************************************************
	関数名		SetDateSelectBox
	機能		日付用セレクトボックスを今日の日付にする。
	
	入力		sSelectName		セレクトボックス名
				sDateMode		日付モード Y:年  M:月  D:日
	
*******************************************************************************/
function SetDateSelectBox(sSelectName, sDateMode){
	var sDataValue = 0;
	
	// 今日の日付を取得する。
	dDate = new Date();
	
	// 年モードの場合
	if( sDateMode == "Y" ){
		sDataValue = dDate.getYear();
		if( sDataValue < 2000 ){
			sDataValue += 1900;
		}
	// 月モードの場合
	} else if ( sDateMode == "M" ){
		sDataValue = dDate.getMonth() + 1;
		if( sDataValue < 10 ){
			sDataValue = "0" + sDataValue;
		}
	// 日モードの場合
	} else if (sDateMode == "D") {
		sDataValue = dDate.getDate();
		if( sDataValue < 10 ){
			sDataValue = "0" + sDataValue;
		}
	} else {
		alert("日付モードに間違いがあります。");
		return false;
	}
	
	// メンバーの数だけ繰り返す。
	for(iCnt = 0; iCnt < document.engine[sSelectName].length; iCnt++){
		// 対象のセレクトとログデータが等しい場合
		if(document.engine[sSelectName].options[iCnt].value == sDataValue){
			document.engine[sSelectName].options[iCnt].selected = 1;
			return 1;
		}
	}
	return 1;
}
/*******************************************************************************
	関数名		SetCgiCustomDate
	機能		日付指定がされているかをチェックし、指定されている場合は、
				CGI_CUSTOM_DATEに指定日を格納する。
	
	入力		sMode	CGIモード (<-WRITE-> or rewrite)
	出力		なし
	
	特殊
				appleの場合は、ソースファイルとフォームファイルが同一なため、
				<-WRITE->モードとrewriteモードの際の処理をわける必要がある。
	
	グローバル入力
				gYear, gMon, gDay
*******************************************************************************/
var gYear;
var gMon;
var gDay;
function SetCgiCustomDate(sMode){
	var sYear = document.engine.cgi_year.value;
	var sMon = document.engine.cgi_mon.value;
	var sDay = document.engine.cgi_day.value;
	var bCustomFlg = 0;
	var sNowYear = 0;
	var sNowMon = 0;
	var sNowDay = 0;
	
	// rewriteモードの場合
	if( sMode == "rewrite" ){
		sNowYear = gYear;
		sNowMon = gMon;
		sNowDay = gDay;
	} else {
		// 午前0時対応
		// 今日の日付を取得する。
		dDate = new Date();
		sNowYear = dDate.getYear();
		if( sNowYear < 2000 ){
			sNowYear += 1900;
		}
		
		sNowMon = dDate.getMonth() + 1;
		if( sNowMon < 10 ){
			sNowMon = "0" + sNowMon;
		}
		sNowDay = dDate.getDate();
		if( sNowDay < 10 ){
				sNowDay = "0" + sNowDay;
		}
	}
	
	// 日付の初期状態と異なるかをチェック
	if( sNowYear != sYear ){
		// 指定フラグをオンにする。
		bCustomFlg = 1;
	} else if ( sNowMon != sMon ){
		bCustomFlg = 1;
	} else if ( sNowDay != sDay ){
		bCustomFlg = 1;
	// 指定がない場合
	} else {
		// 終了する。
		return 1;
	}
	
	// 指定がある場合
	if( bCustomFlg == 1){
		// CGI_CUSTOM_DATEを作成し、フォームに格納する。
		document.engine.CGI_CUSTOM_DATE.value = sYear + "/" + sMon + "/" + sDay;
	}
	
	return 1;
	
}


/*******************************************************************************
	関数名		SetLanguage
	機能		入力データが日本語か英語かをチェックし、クラス設定変数に
				適当なクラスを設定する。
	
	入力		sInputName	入力フォームデータ名
				sClassName	クラス指定データ名
				sJaClass	和文クラス設定
				sEnClass	欧文クラス設定
*******************************************************************************/
function SetLanguage(sInputName, sClassName, sJaClass, sEnClass){
	var sName = document.engine[sInputName].value;
	var iCharCnt;
	var sCode;
	var bJaFlg = 0;
	
	bJaFlg = CheckLanguage(sName);
	
	// 日本語の場合
	if(bJaFlg == 1){
		if(sJaClass){
			document.engine[sClassName].value = "class=" + sJaClass + "	lang=ja";
		} else {
			document.engine[sClassName].value = "class=main_ja	lang=ja";
		}
	} else {
		if(sEnClass){
			document.engine[sClassName].value = "class=" + sEnClass + "	lang=en";
		} else {
			document.engine[sClassName].value = "class=main_en	lang=en";
		}
	}
	
	return 1;
}

/*******************************************************************************
	関数名		CheckLanguage
	機能		入力データが日本語か英語かをチェックする
	
	入力		sInputData
	出力		bJaFlg		(1:日本語, 0: 英語）
*******************************************************************************/
function CheckLanguage(sInputData){
	var iCharCnt = 0;
	var sCode = "";
	var bJaFlg = 0;
	
	// すべての文字に対してチェックを行う。
	for(iCharCnt = 0; iCharCnt < sInputData.length; iCharCnt++){
		// 一文字を格納
		sCode = sInputData.charCodeAt(iCharCnt);
		// 対象文字がアスキーコードでない場合
		if( sCode < 0 || sCode > 127 ){
			// 日本語発見
			bJaFlg = 1;
			break;
		}
	}
	
	return bJaFlg;
}
