// 商品名称リスト
var category_info = {};
// カテゴリー紐付けリスト
var category_rel = {};
// 商品情報用xml
var info_xmlDocument;
// 商品紐付け用xml
var rel_xmlDocument;
// エラー判定フラグ(カテゴリリスト取得用) 初期値(エラー):true
var errCategory_info = true;
// エラー判定フラグ(カテゴリ紐付けリスト取得用) 初期値(エラー):true
var errCategory_rel = true;
// 大大カテゴリリスト
var categoryCd_array = [
	{text:'選択してください', value:''} ,
	{text:'文具／事務用品', value:'01'} ,
	{text:'ファイル', value:'10'} ,
	{text:'トナー／ＯＡ用紙', value:'02'},
	{text:'ＰＣ用品', value:'03'},
	{text:'オフィス家電', value:'21'},
	{text:'梱包／作業用品', value:'14'},
	{text:'生活雑貨', value:'15'},
	{text:'飲料／食品', value:'13'},
	{text:'家具／収納', value:'07'},
	{text:'医療／介護用品', value:'09'}
];
// キーワード（初期値）
var default_keyword = "お申込番号、商品名等を入力";
//
var searchAndOrFlg_array = [
	{text:'をすべて含む', value:'0'} ,{text:'のいずれかを含む', value:'1'}
]

// 初期処理
function init_API(){
	if(errCategory_info || errCategory_rel) {
		// エラーメッセージ
		var errTitle = "下記の内容をご確認ください。";
		var errMessage =  "現在、検索機能はご利用できません。";
		// エラー表示エリア取得
		var err_div = document.getElementById("ag_errBox_div");
		// エラー表示エリアがある場合
		if(err_div != null){
			// エラーメッセージエリアを削除
			var targetNode = document.getElementById('ag_errBox_ul');
			targetNode.parentNode.removeChild(targetNode);
		} else { 
			// エラー表示エリア作成
			var errDiv_Obj = document.createElement("div");
			if(navigator.userAgent.indexOf("MSIE") != -1){
				errDiv_Obj.setAttribute("className","askulAG_errorBox"); // IE用
			} else {
				errDiv_Obj.setAttribute("class","askulAG_errorBox"); // IE以外
			}
			errDiv_Obj.setAttribute("id","ag_errBox_div");
			document.getElementById("errorBox").appendChild(errDiv_Obj);
			
			// エラータイトル作成
			var errP_Obj = document.createElement("p");
			errP_Obj.setAttribute("id","ag_errBox_p");
			document.getElementById("ag_errBox_div").appendChild(errP_Obj);
			document.getElementById("ag_errBox_p").innerText = errTitle;
		}
		// エラーメッセージエリア作成
		var errUl_Obj = document.createElement("ul");
		errUl_Obj.setAttribute("id","ag_errBox_ul");
		document.getElementById("ag_errBox_div").appendChild(errUl_Obj);
		
		// エラーメッセージ作成
		var errLi_Obj = document.createElement("li");
		errLi_Obj.setAttribute("id","ag_errBox_li");
		document.getElementById("ag_errBox_ul").appendChild(errLi_Obj);
		document.getElementById("ag_errBox_li").innerText = errMessage;
	}
}

function createHttpRequest() { 
    var x = null; 

    //IE7,Firefox, Safari 
    if (window.XMLHttpRequest) { 
        return new XMLHttpRequest(); 
    } 
    //IE6 
    try { 
        return new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch(e) { 
        // IE5 
        try { 
            return new ActiveXObject("Microsoft.XMLHTTP"); 
        } catch(e) { 
            x = null; 
        } 
    } 
    return x; 
} 

// カテゴリー紐付けリスト作成
function rel_arrayXml(xmlData_rel){
	if(xmlData_rel.documentElement.hasChildNodes()) {

		errCategory_rel = false;
		var i = 0;
		var n_num = xmlData_rel.documentElement.childNodes.length;

		var cd_child_list = new Array();

		while (i < n_num) {
			if(xmlData_rel.documentElement.childNodes.item(i).childNodes.item(0).hasChildNodes()) {

				// 親
				var cd_parent = xmlData_rel.documentElement.childNodes.item(i).childNodes.item(0).text;
				// 子
				var cd_child = xmlData_rel.documentElement.childNodes.item(i).childNodes.item(1).text;
				// ソート順
				var cd_sort = xmlData_rel.documentElement.childNodes.item(i).childNodes.item(2).text;

				cd_child_list = category_rel[cd_parent];

				if(cd_child_list == null) {
					cd_child_list = [];
				}

				// 連想配列作成
				var child_info = new Array();
				child_info["cd_sort"] = cd_sort;
				child_info["code"] = cd_child;
				// 親に紐づく子として追加
				cd_child_list.push(child_info);
				category_rel[cd_parent] = cd_child_list;
			}

			i++;
		}
	}
}

// 商品リスト作成
function info_arrayXml(xmlData_info){
	if(xmlData_info.documentElement.hasChildNodes()) {

		errCategory_info = false;
		var i = 0;
		var n_num = xmlData_info.documentElement.childNodes.length;

		while (i < n_num) {
			if(xmlData_info.documentElement.childNodes.item(i).childNodes.item(0).hasChildNodes()) {
				var j = 0;
				var cd;
				var name;
				var cdValue;
				var nameValue;

				cd = xmlData_info.documentElement.childNodes.item(i).childNodes.item(0).text;
				name = xmlData_info.documentElement.childNodes.item(i).childNodes.item(1).text;

				category_info[cd]=name;
			}

			i++;
		}
	}
}

// カテゴリー紐付けリスト作成
function rel_arrayXml_Parser(xmlData_rel){
	if(xmlData_rel.documentElement.hasChildNodes()) {

		errCategory_rel = false;
		var i = 0;
		var n_num = xmlData_rel.documentElement.childNodes.length;

		var cd_child_list = new Array();

		while (i < n_num) {
			if(xmlData_rel.documentElement.childNodes.item(i).childNodes.item(0).hasChildNodes()) {

				// 親
				var cd_parent = xmlData_rel.documentElement.childNodes.item(i).childNodes.item(0).firstChild.nodeValue;
				// 子
				var cd_child = xmlData_rel.documentElement.childNodes.item(i).childNodes.item(1).firstChild.nodeValue;
				// ソート順
				var cd_sort = xmlData_rel.documentElement.childNodes.item(i).childNodes.item(2).firstChild.nodeValue;

				cd_child_list = category_rel[cd_parent];

				if(cd_child_list == null) {
					cd_child_list = [];
				}

				// 連想配列作成
				var child_info = new Array();
				child_info["cd_sort"] = cd_sort;
				child_info["code"] = cd_child;
				// 親に紐づく子として追加
				cd_child_list.push(child_info);
				category_rel[cd_parent] = cd_child_list;
			}

			i++;
		}
	}
}

// 商品リスト作成
function info_arrayXml_Parser(xmlData_info){
	if(xmlData_info.documentElement.hasChildNodes()) {

		errCategory_info = false;
		var i = 0;
		var n_num = xmlData_info.documentElement.childNodes.length;

		while (i < n_num) {

			if(xmlData_info.documentElement.childNodes.item(i).childNodes.item(0).hasChildNodes()) {
				var j = 0;
				var cd;
				var name;
				var cdValue;
				var nameValue;

				cd = xmlData_info.documentElement.childNodes.item(i).childNodes.item(0).firstChild.nodeValue;
				name = xmlData_info.documentElement.childNodes.item(i).childNodes.item(1).firstChild.nodeValue;

				category_info[cd]=name;
			}

			i++;
		}
	}
}

// 大大カテゴリー選択
function itemcnavi1(catgroup_cd){
	// 大カテゴリー設定
	var object_2 = document.teikeiAPI_Form.elements['drillDownCategoryCdL'].options;
	pulldown(catgroup_cd, object_2);
	// 中カテゴリー設定（初期設定）
	var object_3 = document.teikeiAPI_Form.elements['drillDownCategoryCdM'].options;
	pulldown("", object_3);
	// 小カテゴリー設定（初期設定）
	var object_4 = document.teikeiAPI_Form.elements['drillDownCategoryCdS'].options;
	pulldown("", object_4);
}

// 大カテゴリー選択
function itemcnavi2(catgroup_cd){
	// 中カテゴリー設定
	var object_3 = document.teikeiAPI_Form.elements['drillDownCategoryCdM'].options;
	pulldown(catgroup_cd, object_3);
	// 小カテゴリー設定（初期設定）
	var object_4 = document.teikeiAPI_Form.elements['drillDownCategoryCdS'].options;
	pulldown("", object_4);
}

// 中カテゴリー選択
function itemcnavi3(catgroup_cd){
	// 小カテゴリー設定
	var object_4 = document.teikeiAPI_Form.elements['drillDownCategoryCdS'].options;
	pulldown(catgroup_cd, object_4);
}

// プルダウン作成
function pulldown(catgroup_cd, object){
	// 初期値設定
	object.length = 0;
	object[0] = new Option("選択してください"); 
	object[0].value = "";
	// 親カテゴリーに紐づく子カテゴリーCD取得
	var catgroup_cd2 = category_rel[catgroup_cd];
	// 子カテゴリーが存在する場合
	if(catgroup_cd2 != null){
		// 子カテゴリーをソート
		catgroup_cd2.sort(function(a,b){
			return a.cd_sort - b.cd_sort;
		});

		// 子カテゴリーCD件数分
		for(var i = 0; i < catgroup_cd2.length; i++){
			// プルダウン値に設定			
			object[i+1] = new Option(category_info[catgroup_cd2[i].code]);
			object[i+1].value = catgroup_cd2[i].code;
		}
	}
}


// 入力チェック
function ksearch_ag(){
	var result = "true";

	// キーワードが入力されていない場合
	if(document.teikeiAPI_Form.keyword.value == ""  || document.teikeiAPI_Form.keyword.value == default_keyword){
		// 中カテゴリーが指定されていない場合
		if(document.teikeiAPI_Form.drillDownCategoryCdM.value == "") {
			result = "false"
			
			// エラーメッセージ
			var errTitle = "下記の内容をご確認ください。";
			var errMessage =  "カテゴリーを絞りこむか、キーワードを入力してください。";
			// エラー表示エリア取得
			var err_div = document.getElementById("ag_errBox_div");
			// エラー表示エリアがある場合
			if(err_div != null){
				// エラーメッセージエリアを削除
				var targetNode = document.getElementById('ag_errBox_ul');
				targetNode.parentNode.removeChild(targetNode);
			} else { 
				// エラー表示エリア作成
				var errDiv_Obj = document.createElement("div");
				if(navigator.userAgent.indexOf("MSIE") != -1){
					errDiv_Obj.setAttribute("className","askulAG_errorBox"); // IE用
				} else {
					errDiv_Obj.setAttribute("class","askulAG_errorBox"); // IE以外
				}
				errDiv_Obj.setAttribute("id","ag_errBox_div");
				document.getElementById("errorBox").appendChild(errDiv_Obj);
				
				// エラータイトル作成
				var errP_Obj = document.createElement("p");
				errP_Obj.setAttribute("id","ag_errBox_p");
				document.getElementById("ag_errBox_div").appendChild(errP_Obj);
				document.getElementById("ag_errBox_p").innerText = errTitle;
			}
			// エラーメッセージエリア作成
			var errUl_Obj = document.createElement("ul");
			errUl_Obj.setAttribute("id","ag_errBox_ul");
			document.getElementById("ag_errBox_div").appendChild(errUl_Obj);
			// エラーメッセージ作成
			var errLi_Obj = document.createElement("li");
			errLi_Obj.setAttribute("id","ag_errBox_li");
			document.getElementById("ag_errBox_ul").appendChild(errLi_Obj);
			document.getElementById("ag_errBox_li").innerText = errMessage;
		}
	}
	return result;
}

// TOP_初期化処理
function init_top(){
	document.teikeiAPI_Form.elements['categoryCd'].length = categoryCd_array.length;
	// 大大カテゴリー設定（初期設定）
	for(var i = 0; i< categoryCd_array.length; i++){
		document.teikeiAPI_Form.elements['categoryCd'].options[i].text = categoryCd_array[i].text;
		document.teikeiAPI_Form.elements['categoryCd'].options[i].value = categoryCd_array[i].value;
	}
	// 大カテゴリー設定（初期設定）
	var object_2 = document.teikeiAPI_Form.elements['drillDownCategoryCdL'].options;
	pulldown("", object_2);
	// 中カテゴリー設定（初期設定）
	var object_3 = document.teikeiAPI_Form.elements['drillDownCategoryCdM'].options;
	pulldown("", object_3);
	// 小カテゴリー設定（初期設定）
	var object_4 = document.teikeiAPI_Form.elements['drillDownCategoryCdS'].options;
	pulldown("", object_4);
	// キーワード設定
	document.teikeiAPI_Form.keyword.value = default_keyword;
	document.teikeiAPI_Form.elements['searchAndOrFlg'].length = searchAndOrFlg_array.length;
	// 大大カテゴリー設定（初期設定）
	for(var i = 0; i< searchAndOrFlg_array.length; i++){
		document.teikeiAPI_Form.elements['searchAndOrFlg'].options[i].text = searchAndOrFlg_array[i].text;
		document.teikeiAPI_Form.elements['searchAndOrFlg'].options[i].value = searchAndOrFlg_array[i].value;
	}
}

// 検索結果_初期化処理
function init_result(catgroup_cd){
	//大大カテゴリが選択されいてる場合
	if(catgroup_cd != null && catgroup_cd != ""){
		// ハイパーリンク初期化
		document.getElementById(catgroup_cd).removeAttribute('href');
	}
	
	var keyword = document.getElementById("keyword").value;
	if(keyword != "" && keyword != default_keyword){
		// キーワードがある場合、黒字に変更
		document.getElementById("keyword").style.color='#000000';
	}
}

// 検索結果_大大カテゴリ選択イベント
function goCategorySearchLL(catgroup_cd){
	var categoryLL = ["01", "10", "02", "03", "21", "14", "15", "13", "07", "09"];
	// ハイパーリンク初期化
	for(var i = 0; i < categoryLL.length; i++){
		var cate_ahref = document.getElementById(categoryLL[i]);
		cate_ahref.setAttribute('href' , 'javascript:void(0);');
		cate_ahref.style.textDecoration = "underline";
	}
	// 選択した大大カテゴリをNOリンクに変更
	document.getElementById(catgroup_cd).removeAttribute('href');
	document.getElementById(catgroup_cd).style.textDecoration = "none";
	// 大大カテゴリパラメータに設定
	document.teikeiAPI_Form.categoryCd.value = catgroup_cd;
	// キーワードが入力されていない場合
	if(document.teikeiAPI_Form.keyword.value == ""  || document.teikeiAPI_Form.keyword.value == default_keyword){
		// xmlからプルダウン生成
		itemcnavi1(catgroup_cd);
		// 選択カテゴリ表示名取得
		var cateName = category_info[catgroup_cd];
		// 表示エリア取得
		var h2_cate = document.getElementById("h2_cateNameLL");
		// オブジェクトが無い場合
		if(h2_cate == null){
			// 大大カテゴリ表示タグ作成
			var h2Obj = document.createElement("h2");
			h2Obj.setAttribute("id","h2_cateNameLL");
			document.getElementById("cateNameLL").appendChild(h2Obj);
			// 作成したオブジェクト取得
			h2_cate = document.getElementById("h2_cateNameLL");
		}
		// 表示エリアにカテゴリ名設定
		h2_cate.innerText = cateName;


	} else {
		// 以下のカテゴリ値を初期化
		document.teikeiAPI_Form.drillDownCategoryCdL.value = "";
		document.teikeiAPI_Form.drillDownCategoryCdM.value = "";
		document.teikeiAPI_Form.drillDownCategoryCdS.value = "";
		document.teikeiAPI_Form.searchTargetCategoryFlg.value = "";
		// 検索処理実行
		document.teikeiAPI_Form.submit();
	}
}

// 検索結果_大カテゴリ選択イベント
function goCategorySearchL(catgroup_cd){
	// キーワードが入力されていない場合
	if(document.teikeiAPI_Form.keyword.value == ""  || document.teikeiAPI_Form.keyword.value == default_keyword){
		// 大カテゴリが初期値の場合
		if(catgroup_cd == ""){
			// xmlからプルダウン生成
			itemcnavi1(document.teikeiAPI_Form.categoryCd.value);
		
		} else {
			// xmlからプルダウン生成
			itemcnavi2(catgroup_cd);
		}
	} else {
		// 以下のカテゴリ値を初期化
		document.teikeiAPI_Form.drillDownCategoryCdM.value = "";
		document.teikeiAPI_Form.drillDownCategoryCdS.value = "";
		document.teikeiAPI_Form.searchTargetCategoryFlg.value = "";
		// 検索処理実行
		document.teikeiAPI_Form.submit();
	}
}

// 検索結果_中カテゴリ選択イベント
function goCategorySearchM(catgroup_cd){
	// キーワードがない、かつ、選択カテゴリーが初期値の場合
	if((document.teikeiAPI_Form.keyword.value == ""  || document.teikeiAPI_Form.keyword.value == default_keyword) && catgroup_cd == ""){
		// xmlからプルダウン生成
		itemcnavi2(document.teikeiAPI_Form.drillDownCategoryCdL.value);
	} else {
		// 以下のカテゴリ値を初期化
		document.teikeiAPI_Form.drillDownCategoryCdS.value = "";
		document.teikeiAPI_Form.searchTargetCategoryFlg.value = "";
		// 検索処理実行
		document.teikeiAPI_Form.submit();
	}
}

// 検索結果_小カテゴリ選択イベント
function goCategorySearchS(catgroup_cd){
	// 以下のカテゴリ値を初期化
	document.teikeiAPI_Form.searchTargetCategoryFlg.value = "";
	// 検索処理実行
	document.teikeiAPI_Form.submit();
}


// 検索結果_ページ切替
function changeDisplayAPI(page){
	// リスト表示開始位置設定
	document.changeDisplayAPIForm.pageStartRowNum.value = page;
	// 検索処理実行
	document.changeDisplayAPIForm.submit();
}

// 検索結果_ソート切替
function changeSortAPI(sort){
	// ソート切替設定
	document.changeSortAPIForm.sortCond.value = sort;
	// 検索処理実行
	document.changeSortAPIForm.submit();
}

