﻿var service;

function WebServiceRequest()
{
	this.initialize.apply(this, arguments);
	
}

WebServiceRequest.prototype = {
	initialize:function(){
	},
	
	requestWebService:function(action,parameters,onResponse,onResponseError){
	//alert(parameters);
		//alert("start request");
		new Ajax.Request(
				action, 
				{
					method: 'post', 
					postBody: parameters, 
					asynchronous: false,
					onSuccess: onResponse,
					onFailure: onResponseError
				});
				
	},
	
	createRequest:function(paramHash){
		
		var value = '';
	  
		for(var key in paramHash) {
				
			value += ('&' + key + '=' + paramHash[key]);
		}
	  
		return value.substring(1);
	},
	
	createXmlDocument:function( xmlText )
	{
		
		var	xmlDoc;
		if( window.ActiveXObject )
		{
			// IE
			xmlDoc = new ActiveXObject( "Microsoft.XMLDOM" );
			xmlDoc.async = "false";
			xmlDoc.loadXML( xmlText );
		}
		else if( document.implementation && document.implementation.createDocument )
		{ 
			// Mozilla
			/*
			xmlDoc = document.implementation.createDocument( "", "", null );
			xmlDoc.async = "false";
			//xmlDoc.loadXML( xmlText );
			xmlDoc.load( xmlText );
			*/
			var parser = new DOMParser();
			var xmlDoc = parser.parseFromString(xmlText, "text/xml");
		}
		else
		{
			alert( "XMLオブジェクト が作成できないブラウザです." );
			doError();
		}
		
		return xmlDoc;
	}

	
}

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

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




