//カテゴリ取得JSファイル

//FAQ表示IFrameID
var IFrameID = 'faq_area';

//カテゴリ表示DivID
var CategoryDivID = 'faq_category';

//ユーザー選択情報を格納する
var NodeID = '';

//*JSON読み込み・タグ形成処理 start ----------------------------------------------------------------*//

function createCateJson(Varr) {

    var blnSiteCreate = false;
    var cate = PAFuncLib.$(CategoryDivID);
    
	//NodeIDとDispNodeIDを設定
	DispNodeID = Varr['send_param']['disp_node_id'];
	NodeID = Varr['send_param']['node_id'];
	dataCnt = Varr['send_param']['all_cnt'];

    if (cate) {
       cate.innerHTML = '';
       
        var datas = Varr['data'];
        
        if (datas) {
            var tag = "";
			var tagContents = '';

            for (var i = 1; i <= dataCnt ; i++) {
                var item = datas['item' + i];
                if (item) {
	                
					//大カテゴリの場合
					if(item['parent_id'] == "0"){
						
						if(tagContents != ''){
							tagContents += '</li>\n';
						}

						tagContents += '<li>\n';
						tagContents += getRootCateHTML(item);
					}
					else{
						//大カテゴリ以外
						tagContents += getChildCateHTML(item);
					}
                }
                else {
                    break;
                }
            }

			//設定するHTMLを作成
			if(tagContents != ''){
				tag += '<ul>\n';
				tag += tagContents;
				tag += '</ul>';
			}
            cate.innerHTML = tag;
        }
    }
}


//ルートカテゴリのHTMLを取得
function getRootCateHTML(VobjItem){
	var strHTML = '';
	
	if(VobjItem){
		strHTML += '<a href="JavaScript:categoryOnClick(' + VobjItem['node_id'] + ');" >';
		strHTML += getSelectWordTag(VobjItem['node_id'],VobjItem['name'],VobjItem['faq_count']);
		strHTML += '</a>'
	}

	return strHTML;
}

//子カテゴリのHTML構成を生成
function getChildCateHTML(VobjItem){
	var strHTML = '';
	if(VobjItem){
		strHTML += '<ul>';
		strHTML += '<li>';
		strHTML += '<a href="JavaScript:categoryOnClick(' + VobjItem['node_id'] + ');" >';
		strHTML += getSelectWordTag(VobjItem['node_id'],VobjItem['name'],VobjItem['faq_count']);
		strHTML += '</a>';
		strHTML += '</li>';
		strHTML += '</ul>\n';
	}

	return strHTML;
}

//カテゴリの表示文字HTMLを取得する
function getSelectWordTag(strNodeID,strCateName,strFAQCount){

	//選択されたカテゴリの場合表示色を赤にする
	var selectedStr = '';
	if(NodeID == strNodeID){
		selectedStr = '<font color="red">' + strCateName + '（' + strFAQCount + '）' + '</font>\n';
	}
	else{
		selectedStr = strCateName + '（' + strFAQCount + '）';
	}

	return selectedStr;
}

//============================== cookie 制御  start ========================================//
//Cookie書き込み
function setCookie(vstrArg){
	//Cookie書込用情報設定
	var strData   = 'nodeid=' + vstrArg + ';';
	var strDomain = 'domain=' + document.domain + ';';
	var strPath   = 'path=/;';
 
  //Cookie書き込み
	document.cookie = strData + strDomain + strPath;
}


//Cookieの消去
function deleteCookie(){
	//Cookie書込用情報設定
	var strData   = 'nodeid=' + "" + ';';
	var strDomain = 'domain=' + document.domain + ';';
	var strPath   = 'path=/;';
 
  //Cookie書き込み
	document.cookie = strData + strDomain + strPath;
}

//指定の値をcookieから読み込む
function getCookie(name) {
	var regexp = new RegExp('; ' + name + '=([^;]*);');
	var match  = ('; ' + document.cookie + ';').match(regexp);
	if (match) {
		return decodeURIComponent(match[1]);
	}
	return "";
}

//============================== cookie 制御   end  ========================================//

//============================== イベント 処理  start ======================================//

//カテゴリクリックイベント
function categoryOnClick(VstrNodeID){

	var strCateFlg = getCookie('cateflg');

	deleteCookie();

	var strURL;
	strURL = url_get_category;
	strURL += "?nodeid=" + VstrNodeID;
	strURL += "&dispnodeid=" + DefDispNodeID;

	//カテゴリの再描画
	PAFuncLib.insertScript({Src : strURL });

	//詳細画面遷移
	var objIFrame =  PAFuncLib.$(IFrameID);
	if(objIFrame){
		objIFrame.src = url_result_page + "?NodeID=" + VstrNodeID + '&DispNodeID=' + DefDispNodeID;
	}
	else{
		setCookie(VstrNodeID);
		document.location.href = url_FAQ;
	}
}

//ロードイベント
function window_load(){

	var strNodeID = getCookie('nodeid');

	deleteCookie();

	//問合せページかどうかチェック
	var objIFrame =  PAFuncLib.$(IFrameID);
	if(!objIFrame){
		
		strURL = url_get_category;
		strURL += "?nodeid=" + DefNodeID;
		strURL += "&dispnodeid=" + DefDispNodeID;

		//カテゴリの再描画
		PAFuncLib.insertScript({Src : strURL });
		return; 
	}

	if(strNodeID == ""){

		strURL = url_get_category;
		strURL += "?nodeid=" + DefNodeID;
		strURL += "&dispnodeid=" + DefDispNodeID;

		//カテゴリの再描画
		PAFuncLib.insertScript({Src : strURL });
		if(objIFrame.src != url_top_page_file_name){
			objIFrame.src = url_top_page;
		}
		return;
	}

	strURL = url_get_category;
	strURL += "?nodeid=" + strNodeID;
	strURL += "&dispnodeid=" + DefDispNodeID;

	PAFuncLib.insertScript({Src : strURL });

	//指定されているノードの検索結果を表示
	categoryOnClick(strNodeID);
}

//============================== イベント 処理  start ======================================//
PAFuncLib.addListener(window, 'load', window_load);