/**********************************************************************
NEC : For RSS [ rss.js ]

07.03.12
08.05.14 update
***********************************************************************
a function : NF_rss_requestXml
a function : NF_rss_getHttpObject
a function : NF_rss_dateFormat
**********************************************************************/


/*=============================================
 rss_requestXml()
=============================================*/
function NF_rss_requestXml(vstrLay, vstrUrl, vintLeng, vstSelect, vstrWord){
	var objHttp = NF_rss_getHttpObject();
	var strItemTag  = '';
	var intItemLeng = vintLeng; // 表示件数 (全件表示の場合は、空を設定)
	var strHtml = '';
	var objReg  = '';
	var intCount = '';

	objHttp.onreadystatechange = function(){
		if (objHttp.readyState == 4 && objHttp.status == 200) {
			//alert("media type : "+ objHttp.getResponseHeader('Content-Type'));

			strItemTag  = objHttp.responseXML.getElementsByTagName('item'); // <item>
//			if (intItemLeng == '') { intItemLeng = strItemTag.length; }

			intItemLeng1 = strItemTag.length;

			if (vstSelect == '1') { strHtml += '<div class="NF-dateSet">'; }
			if (vstSelect == '2') { strHtml += '<ul class="NF-nestList">'; }

			for( var i = 0; i < intItemLeng1; i ++) {
				var strDate  = strItemTag[i].getElementsByTagName('pubDate')[0].childNodes[0].data;
				var strTitle = strItemTag[i].getElementsByTagName('title')[0].childNodes[0].data;
				var strLink  = strItemTag[i].getElementsByTagName('link')[0].childNodes[0].data;

				strDate = NF_rss_dateFormat(strDate);

				// プレスリリース・重要なお知らせ表示用
				if (vstSelect == '1') {
					if (vstrWord == '') {
						// 通常表示
						strHtml += '<dl><dt>' + strDate + '</dt><dd class="NF-linkMark"><a href="' + strLink + '">' + strTitle + '</a></dd></dl>\n';
						intCount++;
						if ((intItemLeng != '') && (intItemLeng <= intCount)) {
							break;
						}
					} else if (vstrWord != '') {
						// カテゴリーワードに関連するものだけ表示
						if (strCate.indexOf(vstrWord) >= 0) {
							strHtml += '<dl><dt>' + strDate + '</dt><dd class="NF-linkMark"><a href="' + strLink + '">' + strTitle + '</a></dd></dl>\n';
							intCount++;
							if ((intItemLeng != '') && (intItemLeng <= intCount)) {
								break;
							}
						}
					}
				}

				// イベント・セミナー・トピックス表示用
				if (vstSelect == '2') {
					if (vstrWord == '') {
						// 通常表示
							strHtml += '<li class="NF-linkMark"><a href="' + strLink + '">' + strTitle + '</a></li>\n';
							intCount++;
							if ((intItemLeng != '') && (intItemLeng <= intCount)) {
								break;
							}

					} else if (vstrWord != '') {
						// カテゴリーワードに関連するものだけ表示
						if (strCate.indexOf(vstrWord) >= 0) {
							strHtml += '<li><a href="' + strLink + '">' + strTitle + '</a></li>\n';
							intCount++;
							if ((intItemLeng != '') && (intItemLeng <= intCount)) {
								break;
							}
						}
					}
				}

			}
			if (vstSelect == '1') { strHtml += '</div>'; }
			if (vstSelect == '2') { strHtml += '</ul>'; }

			document.getElementById(vstrLay).innerHTML = strHtml;
		}
	}
	objHttp.open('GET',vstrUrl,true);
	objHttp.send(null);
}

/*=============================================
 NF_rss_getHttpObject()
=============================================*/
function NF_rss_getHttpObject(){
	var objRet = null;

	if (window.XMLHttpRequest) {   // Mozilla, Safari,...
		objRet = new XMLHttpRequest();
		if (objRet.overrideMimeType) {
			objRet.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject) {  // IE
		try{ objRet = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch(e) {
			try{ objRet = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch(e) { }
		}
	}
	
	if (!objRet) {
//		alert('null');
	} else {
		return objRet;
	}
}

/*=============================================
 NF_rss_dateFormat()
=============================================*/
function NF_rss_dateFormat(vstrDate){
	var strRet  = '';

	var astrDates = vstrDate.split(' ');
	var strY = astrDates[3];
	var strM = astrDates[2];
	var strD = astrDates[1];
	var strW = astrDates[0];

	var astrWarys = {
		'Jan' : '1',
		'Feb' : '2',
		'Mar' : '3',
		'Apr' : '4',
		'May' : '5',
		'Jun' : '6',
		'Jul' : '7',
		'Aug' : '8',
		'Sep' : '9',
		'Oct' : '10',
		'Nov' : '11',
		'Dec' : '12'
	}

	strM = astrWarys[strM];

	var strD01 = strD.substr(0,1);
	var strD02 = strD.substr(1,2);
	if (strD01 == '0') {
		strD = strD02;
	}

	strRet = strY + '/' + strM + '/' + strD + '';
	return strRet;
}

/*********************************************************************/
