﻿/*
/////////////////////////////////////////////////
XML読込Function
-------------------------------------------------
■初期設定
■処理Function
■書き出し
■ディレクトリパス取得
■初期設定開始
/////////////////////////////////////////////////
*/

/* +++++++++++初期設定+++++++++++ */

//階層設定
var LinkXMLPath;
//読込んだリスト
var OllList = new Object();

//ブラウザ対応
function getTextContent(node) {
	return (node.firstChild ? node.firstChild.nodeValue : '');
}

// XMLHttpsオブジェクト作成
function createXMLHttp() {
	try {
		return new ActiveXObject('Microsoft.XMLHTTP');
	} catch(e) {
		try {
			return new XMLHttpRequest();
		} catch(e) {
			return null;
		}
	}
	return null;
}

function loadXML() {
	
	//リンク設定
	LinkXMLPath = getXMLPath();
	
	//XMLHttpRequestオブジェクト作成
	xmlhttp = createXMLHttp();
	
	//読込むxml
	var TargetName = LinkXMLPath + "list.xml";
	
	if(xmlhttp)	{
		xmlhttp.onreadystatechange = check;
		xmlhttp.open('GET', TargetName);
		xmlhttp.send(null);
	}else{
		alert("このブラウザは対応しておりません");
	}
}


/* +++++++++++ 処理Function +++++++++++ */

function check() {
	if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
		
		//リストを収納
		document['xmlObject'] = new Object();
		document['xmlObject'] = xmlhttp.responseXML;
		
		//XMLデータ取出し
		var XmlDate = document['xmlObject'];
		OllList = XmlDate.getElementsByTagName('List')[0];
		
		//書き出しファンクション
		pushNewsList();
	}
}


/* +++++++++++ What's New書出し +++++++++++ */

function pushNewsList() {
	
	//What's Newリスト取出し
	var NewList = OllList.getElementsByTagName('NewsList')[0].getElementsByTagName('Item');
	
	//リスト数
	var ListNumber = NewList.length;
	
	//コード
	var ListLine = '<p class="Title"><img src="' + LinkXMLPath + 'common/images/news_title.gif" alt="What’s New" /></p>';
	
	//タイトル別収納ファンクション
	for(var i = 0; i <= ListNumber - 1; i++) {
		
		//値を取出
		var ListDays = getTextContent(NewList[i].getElementsByTagName('Days')[0]);
		var ListTitle = getTextContent(NewList[i].getElementsByTagName('TitleText')[0]);
		var ListURLText = getTextContent(NewList[i].getElementsByTagName('LinkText')[0]);
		var ListURL = getTextContent(NewList[i].getElementsByTagName('LinkURL')[0]);
		var ListType = getTextContent(NewList[i].getElementsByTagName('LinkType')[0]);
		
		//リスト作成
		ListLine += '<dl>';
		ListLine += '<dt>' + ListDays + '</dt>';
		
		//ListTitleに文字が入力されていた場合表示
		if(ListTitle !== "") {
			ListLine += '<dd>' + ListTitle + '</dd>';
		}
		
		if(ListURL !== "") {
			
			//リンクの種類
			var LinkTarget = '';
			var LinkAdress = LinkXMLPath;
			if(ListType == "_blank") {
				LinkAdress = "";
				LinkTarget = ' target="' + ListType + '"';
			}
			
		ListLine += '<dd><a href="' + LinkAdress + ListURL + '"' + LinkTarget + ' class="wn_text">' + ListURLText + '</a></dd>';

		}
		
		ListLine += '</dl>';
	}
	
	//書出し
	document.getElementById('NewsArea').innerHTML = ListLine;
	
	//グループサイト書出し
	pushGroupList();
}


/* +++++++++++ グループサイト書出し +++++++++++ */

function pushGroupList() {
	
	//グループサイトリスト取出し
	var SiteList = OllList.getElementsByTagName('GroupList')[0].getElementsByTagName('Item');
	
	//リスト数
	var ListNumber = SiteList.length;
	
	//コード
	var ListLine = '<p class="Title">グループサイトのご案内</p>';
	
	//タイトル別収納ファンクション
	for(var i = 0; i <= ListNumber - 1; i++) {
		
		//値を取出
		var Shop = getTextContent(SiteList[i].getElementsByTagName('Shop')[0]);
		var ListURL = getTextContent(SiteList[i].getElementsByTagName('LinkURL')[0]);
		var ListType = getTextContent(SiteList[i].getElementsByTagName('LinkType')[0]);
		
		//リスト作成
		ListLine += '<ul>';
		
		if(ListURL !== "") {
			
			//リンクの種類
			var LinkTarget = '';
			var LinkAdress = LinkXMLPath;
			if(ListType == "_blank") {
				LinkAdress = "";
				LinkTarget = ' target="group"';
			}
			
			ListLine += '<li><a href="' + LinkAdress + ListURL + '"' + LinkTarget + '>' + Shop + '</a></li>';
		}
		
		ListLine += '</ul>';
	}
	
	//書出し
	document.getElementById('GroupArea').innerHTML = ListLine;
}


/* +++++++++++ ディレクトリパス取得 +++++++++++ */

function getXMLPath() {
	//このJSのパス
	var ThisName = 'common/js/loadXML.js';
	
	//JavaScriptリンクを取得
	var ScriptArray = document.getElementsByTagName('script');
	
	//このJSのリンク先を取得
	for(var i = 0; i < ScriptArray.length; i++) {
		var ScriptSrc = ScriptArray[i].getAttribute('src');
		var MatchSrc = ScriptSrc.match(ThisName);
		
		if(MatchSrc != null) {
			var Path = ScriptSrc.replace(ThisName, '');
			return Path;
		}
	}
}


/* +++++++++++初期設定開始+++++++++++ */

// リスナー登録をする処理
function addListener(Elem, EventType, Func, Cap) {
    if(Elem.addEventListener) {
        Elem.addEventListener(EventType, Func, Cap);
    } else if(Elem.attachEvent) {
        Elem.attachEvent('on' + EventType, Func);
    } else {
        return false;
    }
}

//ロード時に実行
addListener(window, 'load', loadXML, false);




