YAHOO.namespace( "ME" );
var me = YAHOO.ME;

me.REQUEST_ENTRE_EMAIL_ADDRESS_CALLBACK = {
	success: function( response ){		
		hideWait( "wait", "submit" );
		
		var root = response.responseXML.documentElement;
		var emailAddress = root.getElementsByTagName( "requester_email_address" )[0].firstChild.nodeValue;
		alert( "「" + emailAddress + "」へメールを送信しました。\n\n"
				+ "メールの内容に従って、掲載者の返信先メールアドレスを取得してください。" );
	},
	
	failure: function( response ){
		hideWait( "wait", "submit" );
		
		if( response.status == 404 ){
			alert( "存在しないページへアクセスしました。\n\n"
				+ "記事はすでに削除されている可能性があります。\n"
				+ "お手数ですがトップページへ戻り手続きを最初からやり直してください。\n"
				+ "ERROR CODE=" + response.status );
		}else{
			alert( "正常に処理を進める事ができませんでした。\n\n"
				+ "ネットワークにトラブルが発生したか、もしくはシステム内でエラーが発生した可能性があります。\n"
				+ "お手数ですがしばらくしてから再度手続きを行ってください。\n"
				+ "ERROR CODE=" + response.status );
		}
	},
	
	timeout: 10000
};

me.REQUEST_ENTRE_EMAIL_ADDRESS_SERVICE_LINK = unescape( getMetaValueOf( "reeasl" ) ).replace( /&amp;/g, "&" );

function request(){
	if( wait( "submit", "wait" ) == false ){
		hideWait( "wait", "submit" );
		return false;
	}

	var emailAddress1 = trim( document.getElementById( "email_address1" ).value );
	var emailAddress2 = trim( document.getElementById( "email_address2" ).value );
	
	if( validate( emailAddress1, emailAddress2 ) == false ){
		return false;
	}

	var emailAddress = emailAddress1 + "@" + emailAddress2;
	var url = me.REQUEST_ENTRE_EMAIL_ADDRESS_SERVICE_LINK.replace( "<:EMAIL_ADDRESS:>", emailAddress );
	YAHOO.util.Connect.asyncRequest( 'POST', url, me.REQUEST_ENTRE_EMAIL_ADDRESS_CALLBACK, null );
}

function validate( emailAddress1, emailAddress2 ){
	if( emailAddress1 == null || emailAddress1 == "" || emailAddress2 == null || emailAddress2 == "" ){
		hideWait( "wait", "submit" );
		alert( "メールアドレスが記入されていません。\n\n"
						+ "掲載者の返信先を受け取るメールアドレスをご記入ください。\n"
						+ "ご記入いただいたメールアドレスは非公開です。" );
		return false;
	}
	
	var emailAddress = emailAddress1 + '@' + emailAddress2;
	if( !isValidEmailAddress( emailAddress ) ){
		hideWait( "wait", "submit" );
		alert( "不適当なメールアドレスが記入されています。\n\n"
						+ "掲載者さまへの返信先を受け取るメールアドレスをご記入ください。\n"
						+ "ご記入いただいたメールアドレスは非公開です。" );
		return false;
	}else if( isKeitaiEmailAddress( emailAddress ) ){
		hideWait( "wait", "submit" );
		alert( "携帯電話のメールアドレスをご記入いただく事はできません。" );
		return false;
	}
	
	return true;
}

function hideWait( hideElement, showElement ){
	document.getElementById( hideElement ).style.display = "none";
	document.getElementById( showElement ).style.display = "block";
}
