var req = null;
var consol = null;
var READY_STATE_UNINITIALIZED=0;
var READY_STATE_LOADING=1;
var READY_STATE_LOADED=2;
var READY_STATE_INTERACTIVE=3;
var READY_STATE_COMPLETE=4;
var ReturnData="";


function initXMLHTTPRequest() 
{
	var xRequest = null;
	if (window.XMLHttpRequest) {
		xRequest = new XMLHttpRequest();
	} else if (window.ActiveXObject){
		xRequest = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return xRequest;
}







/* HistorySave ??????*/
function sendHistorySaveRequest( url, params, HttpMethod)
{   
	if(!HttpMethod) {
		HttpMethod="GET";
	}
	req = initXMLHTTPRequest();
	if(req) 
	{
		req.onreadystatechange=onHistorySaveReadyState;	
		req.open(HttpMethod, url, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8;");
		req.send(params);
	}
}

function onHistorySaveReadyState(){
	var ready = req.readyState;
	if ( ready == READY_STATE_COMPLETE ) 
	{
		if ( req.status == 200) 
		{
            HistorySaveResult( req.responseText);
        }else if ( req.status == 204)
        {

        }
	}
	
}

//NDSL Favorite Save (ajax)
function sendNDSLFavoriteSave( url, params, HttpMethod)
{   
	if(!HttpMethod) {
		HttpMethod="GET";
	}
	req = initXMLHTTPRequest();
	if(req) 
	{
		req.onreadystatechange=onNDSLFavoriteSaveState;	
		req.open(HttpMethod, url, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8;");
		req.send(params);
	}
}

function onNDSLFavoriteSaveState(){
	var ready = req.readyState;
	if ( ready == READY_STATE_COMPLETE ) 
	{
		if ( req.status == 200) 
		{
			var restext = req.responseText;
			restext = restext.replace("\r","");
			restext = restext.replace("\n","");
            cgf_NDSLFavoriteAjaxResult(restext);
        }else if ( req.status == 204)
        {
		
        }
	}

}

//NDSL Alert Save (ajax)
function sendNDSLAlertSave( url, params, HttpMethod) {
	if(!HttpMethod) {
		HttpMethod="GET";
	}
	req = initXMLHTTPRequest();
	if(req) 
	{
		req.onreadystatechange=onNDSLAlertSaveState;	
		req.open(HttpMethod, url, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8;");
		req.send(params);
	}
}

function onNDSLAlertSaveState(){
	var ready = req.readyState;
	if ( ready == READY_STATE_COMPLETE ) 
	{
		if ( req.status == 200) 
		{
			var restext = req.responseText;
			restext = restext.replace("\r","");
			restext = restext.replace("\n","");
            cgf_NDSLAlertAjaxResult(restext);
        }else if ( req.status == 204)
        {
		
        }
	}

}



//Tag Cloude Save (ajax)
function sendTagCloudSave( url, params, HttpMethod)
{   
	if(!HttpMethod) {
		HttpMethod="GET";
	}
	req = initXMLHTTPRequest();
	if(req) 
	{
		req.onreadystatechange=onTagCloudSaveState;	
		req.open(HttpMethod, url, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8;");
		req.send(params);
	}
}

function onTagCloudSaveState(){
	var ready = req.readyState;
	if ( ready == READY_STATE_COMPLETE ) 
	{
		if ( req.status == 200) 
		{
			var restext = req.responseText;
			restext = restext.replace("\r","");
			restext = restext.replace("\n","");
            gf_TagCloudSaveAjaxResult(restext);
        }else if ( req.status == 204)
        {
		
        }
	}
}

// 2010.05.11. 김진성. 저널 알리미 등록시 최근 3년간 입수된 논문 여부 확인
var orgparams;
function sendNDSLAlertSaveConfirm(url, params, orgparam, HttpMethod) {
	if(!HttpMethod) {
		HttpMethod="GET";
	}
	
	var p = "param=" + params;
	// orgparam은 실제로 알리미를 저장할때 사용하기 위해서 전역변수로 지정하고 저장한다.
	orgparams = orgparam;
	
	req = initXMLHTTPRequest();
	if(req) {
		req.onreadystatechange=onNDSLAlertSaveStateConfirm; // 처리상태의 변경이 생길때마다 호출함
		req.open(HttpMethod, url, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8;");
		req.send(p);
	}
}

// 2010.05.11. 김진성. 알리미 확인되면 alert을 출력합니다.
function onNDSLAlertSaveStateConfirm() {
	if (req.readyState == READY_STATE_COMPLETE) { // 서버처리가 완료된 경우에만 실행함
		var doFlag = false;
		if (req.status == 200) {
			var restext = req.responseText;
			restext = restext.replace("\r","");
			restext = restext.replace("\n","");
			
			// ajax를 통해서 반환되는 값이 없으면 정상적으로 저장한다.
			if(restext!='') {
				// 신청 확인창을 띄워주고, 확인을 클릭하면 저장하도록 한다.
				if(!confirm(restext)){
					alert('취소하셨습니다.');
					return;
				} else {
					doFlag = true;
				}
			} else {
				doFlag = true;
			}
			
			// doFlag가 true 이면 저장됨.
			if(doFlag) {
				// 알리미 저장
				sendNDSLAlertSave('/ndslalertsave.co',orgparams,'POST');
				// cgf_NDSLAlertAjaxResult(restext);
			}
        } else if ( req.status == 204) {
		
        }
	}
}