// 전역
var SDIV = '';

// xmlHttpRequest 객체 할당
function getXHR()
{
	var rq = false;
	if (window.XMLHttpRequest) {
		rq = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
			rq = new ActiveXObject('Msxml2.XMLHTTP');
		} catch (e1) {
			try {
				rq = new ActiveXObject('Microsoft.XMLHTTP');
			} catch (e2) {
				return false;
			}
		}
	}
	return rq;
}

// 출력을 위한 콜백
function callBackMe()
{
	if(req.readyState == 1) {
		showLoading();
	} else if(req.readyState == 4) {
		if(req.status == 200) {
			showResult();
		} else {
			alert('문제가 발생했습니다 : '+req.statusText);
		}
	}
}

// 선택 구독 표시
function a(id)
{
	if(!SDIV) SDIV = id;
	else {
		o = document.getElementById(SDIV);
		o.style.backgroundColor = '#f0f0f0';
		o.style.fontWeight = 'normal';
		o.style.borderTop = '#eee 1px solid';
		o.style.borderBottom = '#eee 1px solid';
		o.style.backgroundImage = '';
		SDIV = id;
	}
	t = document.getElementById(SDIV);
	t.style.backgroundColor = '#ffffff';
	t.style.fontWeight = 'bolder';
	t.style.borderTop = '#ddd 1px solid';
	t.style.borderBottom = '#ddd 1px solid';
	t.style.backgroundImage = 'url(image/menu_view.gif)';
	t.style.backgroundPosition = 'center right';
	t.style.backgroundRepeat = 'no-repeat';
}

// 페이지 부분 갱신 요청 시작
function startAction(url)
{
	url = str_replace('&', '#amp;', url);
	url = str_replace('\\+', '#plus;', url);
	req = getXHR();
	req.onreadystatechange = callBackMe;
	req.open('POST', 'result.php', true);
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	req.send('url='+url);
}

// 갱신 결과 받고 처리
function showResult()
{
	var result = '<table rules="none" summary="시리니넷 오늘의 주요 뉴스" cellpadding="0" cellspacing="0" border="0">'+
		'<caption></caption><colgroup><col style="width:140px" /><col />'+
		'</colgroup><thead><tr><th>뉴스시간</th><th>제목 - 언론사</th>'+
		'</tr></thead><tbody>';
	var showBox = document.getElementById('newsData');
	var lists = req.responseXML.getElementsByTagName('lists')[0];
	var items = lists.getElementsByTagName('item');

	for(i=0; i<items.length; i++) {
		var title = items[i].getElementsByTagName('title')[0].firstChild.nodeValue;
		var link = items[i].getElementsByTagName('link')[0].firstChild.nodeValue;
		title = htmlspecialchars(title);
		var signdate = items[i].getElementsByTagName('signdate')[0].firstChild.nodeValue;
		result += '<tr><td class="date">'+signdate+'</td><td class="title"><a href="'+link+'"';
		result += ' onclick="window.open(this.href, \'_blank\'); return false;">';
		result += title+'</a></td></tr>';
	}
	result += '</tbody></table>';
	showBox.style.display = '';
	showBox.innerHTML = result;
}

// 로딩 시 보여주기
function showLoading()
{
	var showBox = document.getElementById('newsData');
	showBox.style.display = '';
	showBox.innerHTML = '<div id="nowLoading"><img src="image/wait.gif" alt="Loading" style="vertical-align: middle" />'+
		' 뉴스를 읽어들이고 있습니다...<div>';
}

// 문자열 치환
function str_replace(str1, str2, str3)
{
	var r = new RegExp(str1, 'g');
	return str3.replace(r, str2);
}

// 검색 결과값 처리
function htmlspecialchars(str)
{
	result = str_replace('<', '&lt;', str);
	result = str_replace('>', '&gt;', result);
	return result;
}