var eventFormatResult = "";

//var resultInfo = "";
//var currentTypeValue = "";
//var currentTypeField = "";
//var currentCategoryValue = "";
//var currentCategoryField = "";
//var currentPage = 0;

//var listDiv = null;


function initEvent(){
	var form = document.formEvent;
	
	var id = form.id.value;
	
	eventFormatResult = 
		$("event_list").innerHTML;
			
	requestServerEvent(id);
	
}

function createHtmlEvent(data){
	
	
	var result = eventFormatResult;


	for(var i = 0;i < EVENT_ELEMENTS.length;i++){
		var regExp = new RegExp("\\$\\$" + EVENT_ELEMENTS[i]["name"] + "\\$\\$","g");
		
		var expData = data[EVENT_ELEMENTS[i]["name"]];
		
		if(EVENT_ELEMENTS[i]["useHtml"] == "on"){
			expData = expData.replace("&lt;","<");
			expData = expData.replace("&gt;",">");
		}
		
		result = result.replace(regExp,expData);
	
	}
	
	
	return result;
}


function requestServerEvent(id){
	
	$("event_list").style.visibility = "hidden";
	
	$("event_list").style.visibility = "visible";
	$("event_list").innerHTML = 
		"<h1>お待ちください。</h1>" +
		"<h2>&nbsp;</h2>";
	
	var paramHash = {};
	paramHash["md"] = CONTENTS_MODE;
	
  	
	service = new WebServiceRequest();
	var parameters = service.createRequest(paramHash);
		service.requestWebService(EVENT_URL,parameters,onResponseEvent,onResponseEventError);
}


function parseResponseXmlEvent(xmlDoc){
	
	if(!xmlDoc){
		doErrorEvent();
		return;
	}
	
	if(xmlDoc.getElementsByTagName("error").item(0)){
		doErrorEvent();
		return;	
	}
		
	var result = xmlDoc.getElementsByTagName("Result");
	
	if(!result){
		doErrorEvent();
		return;
	}

	if(result.length <= 0){
		doErrorEvent();
		return;
	}
	
	
	var resultList = "";
	var extendedData = Array();
	
	for(var i = 0;i < result.length;i++){
		
		var data = {};
		for(var ii = 0;ii < EVENT_ELEMENTS.length;ii++){
			var valueElem = result.item(i).getElementsByTagName(EVENT_ELEMENTS[ii]["name"]);
			var elemValue = "";
			if(valueElem.item(0).childNodes[0]){
				elemValue = valueElem.item(0).childNodes[0].nodeValue;
			}
			if(elemValue.length <= 0){
				elemValue = EVENT_ELEMENTS[ii]["defaultValue"];
			}else{
				if(EVENT_ELEMENTS[ii]["format"]){
					var format = EVENT_ELEMENTS[ii]["format"];
			
					elemValue = format.replace("_value_",elemValue);
			
				}
			}
			data[EVENT_ELEMENTS[ii]["name"]] = elemValue;
		}		

		resultList += createHtmlEvent(data);

	}
	


	$("event_list").style.visibility = "visible";
	$("event_list").innerHTML = resultList;
	
	
	

	
	
}

function doErrorEvent(){
	$("event_list").innerHTML = "<h1>現在最新ニュースはありません。</h1>" +
		"<h2>&nbsp;</h2>";
		
	
}

function onResponseEvent(rec){
	
	//alert(rec.responseText);
	//alert("responsed");
	
	var xmlDoc = service.createXmlDocument(rec.responseText);
	
	if(!xmlDoc){
		alert("検索できませんでした。");
		doError();
		return;
	}else{
		parseResponseXmlEvent(xmlDoc);		
		
	}
	
	
	return;
			
}

function onResponseEventError(){
	//alert("WebServiceエラーです。");
	doErrorEvent();
	//controllerObj.afterResponseErrorXmlHttp();
	return;
}
