// CSSでreqクラスの要素すべてを配列に入れる
requiredFields = document.getElementsByClassName('req');

//それら要素にイベントリスナを追加
for(i=0; i<requiredFields.length;i++){
	//Event.observe(requiredFields[i], 'blur', liveActionCallbackBlur, false);
	Event.observe(requiredFields[i], 'click', liveActionCallbackFocus, false);
}




//フォーカスが外れた時発動
function liveActionCallbackFocus( e ) 
{
	event_element = Event.element(e);
	//new Element.remove(event_element+'_e');
	
		
	//XML解析してエラー文言を表示
	var handlerFunc = function(t) 
	{
		var xmlDoc = t.responseXML.documentElement;
		var nodes=xmlDoc.childNodes;  
		
		validation = xmlDoc.getElementsByTagName("validation");
		error = xmlDoc.getElementsByTagName("error");
		message = xmlDoc.getElementsByTagName("message");
		
		for(i=0; i<validation.length; i++){
			
			error_v = error[i].childNodes[0].nodeValue;
			message_v = message[i].childNodes[0].nodeValue;
			
			if(error_v == event_element.name) 
			{
				//alert('ok');
				//i = 100;
				//continue;
				break;
			}
			
			var error_div = 'aje_' + error_v;
			if(!$(error_div)) continue;
			
			if(message_v=='null')
			{
				$(error_div).innerHTML =  '';
				$(error_div).removeClassName('error-message');
			}
			else
			{
				$(error_div).innerHTML =  message_v;
				$(error_div).addClassName('error-message');
			}
			
			
			
		}
	}
	
	
	new Ajax.Request(xml_url, 
			{
				asynchronous:true, 
				evalScripts:true, 
				//parameters:Form.Element.serialize(element), 
				parameters:Form.serialize(document.forms[0].id), 
				onSuccess:handlerFunc
			}
		);
	
}

