YAHOO.namespace( "ME" ); 
var me = YAHOO.ME;
me.BULLETIN_VIEW_COUNT_UP_SERVICE_LINK = unescape( getMetaValueOf( "bvcusl" ) ).replace( /&amp;/g, "&" );
me.FETCH_BULLETIN_SERVICE_LINK = unescape( getMetaValueOf( "fbsl" ) ).replace( /&amp;/g, "&" );
me.SHOW_BULLETIN_PAGE_LINK = unescape( getMetaValueOf( "sbpl" ) ).replace( /&amp;/g, "&" );
me.FETCH_BULLETIN_AS_PDF_SERVICE_LINK = unescape( getMetaValueOf( "fbapsl" ) ).replace( /&amp;/g, "&" );
me.bdInitCallback = {
	success: function( response ){	
		var root = response.responseXML.documentElement;
		
		me.bdId.value = root.getElementsByTagName( "bulletin_id" )[0].firstChild.nodeValue;
		me.bdBulletinId.innerHTML = me.bdId.value;
		me.bdOnCreatedBulletin.innerHTML = root.getElementsByTagName( "on_created_bulletin" )[0].firstChild.nodeValue;
		me.bdTitle.innerHTML = root.getElementsByTagName( "title" )[0].firstChild.nodeValue;
		
		
		if( root.getElementsByTagName( "entre_id" ).length > 0 ){
			document.getElementById( "bd_enterprise_name_dt" ).style.display = "none";
			document.getElementById( "bd_enterprise_name" ).style.display = "none";
			document.getElementById( "bd_for_enter1" ).style.display = "block";
			document.getElementById( "bd_for_enter2" ).style.display = "block";
			document.getElementById( "bd_business_type_pane" ).style.width = "24.4%";
			document.getElementById( "bd_business_area_pane" ).style.width = "24.4%";
			document.getElementById( "bd_business_start_time_pane" ).style.display = "block";
			
			me.bdOnUpdatedOwner.innerHTML = root.getElementsByTagName( "on_updated_owner" )[0].firstChild.nodeValue;
			me.bdAgeRange.innerHTML = root.getElementsByTagName( "age_range" )[0].firstChild.nodeValue;
			me.bdSex.innerHTML = root.getElementsByTagName( "sex" )[0].firstChild.nodeValue;
		
			var qualification1 = root.getElementsByTagName( "qualification1" );
			var qualification2 = root.getElementsByTagName( "qualification2" );
			var qualification3 = root.getElementsByTagName( "qualification3" );
			var qualification = new String();
			if( qualification1.length > 0 || qualification2.length > 0 || qualification3.length > 0 ){
				if( qualification1.length > 0 ){
					qualification += qualification1[0].firstChild.nodeValue;
					
					var qualificationName = root.getElementsByTagName( "qualification_name1" );
					if( qualificationName.length > 0 ){
						qualification += ("&nbsp;（" +  qualificationName[0].firstChild.nodeValue + "）" );
					}
				}
				
				if( qualification2.length > 0 ){
					qualification += ("<br/>" + qualification2[0].firstChild.nodeValue);
					
					var qualificationName = root.getElementsByTagName( "qualification_name2" );
					if( qualificationName.length > 0 ){
						qualification += ("&nbsp;（" +  qualificationName[0].firstChild.nodeValue + "）" );
					}
				}
				
				if( qualification3.length > 0 ){
					qualification += ("<br/>" + qualification3[0].firstChild.nodeValue);
					
					var qualificationName = root.getElementsByTagName( "qualification_name3" );
					if( qualificationName.length > 0 ){
						qualification += ("&nbsp;（" +  qualificationName[0].firstChild.nodeValue + "）" );
					}
				}
			}else{
				qualification = "なし";
			}
			me.bdQualification.innerHTML = qualification;
			
			me.bdEducation.innerHTML = root.getElementsByTagName( "education" )[0].firstChild.nodeValue;
			me.bdOccupation.innerHTML = root.getElementsByTagName( "occupation" )[0].firstChild.nodeValue;
			
			var experience1 = root.getElementsByTagName( "experience1" );
			var experience2 = root.getElementsByTagName( "experience2" );
			var experience3 = root.getElementsByTagName( "experience3" );
			var experience = new String();
			if( experience1.length > 0 || experience2.length > 0 || experience3.length > 0 ){
				if( experience1.length > 0 ){
					experience += experience1[0].firstChild.nodeValue
					
					var experienceRange = root.getElementsByTagName( "experience_range1" );
					if( experienceRange.length > 0 ){
						experience += ("&nbsp;（" +  experienceRange[0].firstChild.nodeValue + "）" );
					}
				}
				
				if( experience2.length > 0 ){
					experience += ("<br/>" + experience2[0].firstChild.nodeValue);
					
					experienceRange = root.getElementsByTagName( "experience_range2" );
					if( experienceRange.length > 0 ){
						experience += ("&nbsp;（" +  experienceRange[0].firstChild.nodeValue + "）" );
					}
				}
				
				if( experience3.length > 0 ){
					experience += ("<br/>" + experience3[0].firstChild.nodeValue);
					
					experienceRange = root.getElementsByTagName( "experience_range3" );
					if( experienceRange.length > 0 ){
						experience += ("&nbsp;（" +  experienceRange[0].firstChild.nodeValue + "）" );
					}
				}
			}else{
				experience = "なし";
			}
			me.bdExperience.innerHTML = experience;
		
		}else{
			document.getElementById( "bd_for_enter1" ).style.display = "none";
			document.getElementById( "bd_for_enter2" ).style.display = "none";
			document.getElementById( "bd_business_type_pane" ).style.width = "48.8%";
			document.getElementById( "bd_business_area_pane" ).style.width = "48.8%";
			document.getElementById( "bd_business_start_time_pane" ).style.display = "none";
			document.getElementById( "bd_enterprise_name_dt" ).style.display = "block";
			document.getElementById( "bd_enterprise_name" ).style.display = "block";
			
			var enterpriseIds = root.getElementsByTagName( "enterprise_id" );
			if( root.getElementsByTagName( "enterprise_id" ).length > 0 ){
				me.bdOnUpdatedOwner.innerHTML = root.getElementsByTagName( "on_updated_owner" )[0].firstChild.nodeValue;
				me.bdEnterpriseName.innerHTML = root.getElementsByTagName( "enterprise_name" )[0].firstChild.nodeValue;
				document.getElementById( "bd_enterprise_link" ).href = "external.svc?page=ShowEnterprise&sp=" + enterpriseIds[0].firstChild.nodeValue;
			}
		}
		
		me.bdBusinessStartTime.innerHTML = root.getElementsByTagName( "business_start_time" )[0].firstChild.nodeValue;
		me.bdBusinessArea.innerHTML = root.getElementsByTagName( "business_area" )[0].firstChild.nodeValue;
		me.bdBusinessType.innerHTML = root.getElementsByTagName( "business_type" )[0].firstChild.nodeValue;
		me.bdBusinessPlan.innerHTML = root.getElementsByTagName( "business_plan" )[0].firstChild.nodeValue.replace( /\r\n|\n|\r/g, "<br/>" );
		me.bdIdealPartner.innerHTML = root.getElementsByTagName( "ideal_partner" )[0].firstChild.nodeValue.replace( /\r\n|\n|\r/g, "<br/>" );
		me.bdShowBulletinPageLink.href = me.SHOW_BULLETIN_PAGE_LINK.replace( "S<:ID:>", me.bdId.value );
		me.bdFetchBulletinAsPdfServiceLink.href = me.FETCH_BULLETIN_AS_PDF_SERVICE_LINK.replace( "<:ID:>", me.bdId.value );
		
		me.bdYahooBookmark.href = "javascript:openYahooBookmarkWindow('" + me.bdTitle.innerHTML + "','" + me.bdShowBulletinPageLink.href + "');undefined;";
		
		initStar( me.bdId.value );
		
		urchinTracker( "/Bulletin" );// Google Analytics
	},

	failure: function( response ){	
		me.bd.cancel();
		
		if( response.status == 404 ){
			alert( "存在しないページへアクセスしました。\n\n"
				+ "記事はすでに削除されている可能性があります。\n"
				+ "お手数ですがトップページへ戻り手続きを最初からやり直してください。\n"
				+ "ERROR CODE=" + response.status );
		}else{
			alert( "正常に処理を進める事ができませんでした。\n\n"
				+ "ネットワークにトラブルが発生したか、もしくはシステム内でエラーが発生した可能性があります。\n"
				+ "お手数ですがしばらくしてから再度手続きを行ってください。\n"
				+ "ERROR CODE=" + response.status );
		}
	},
	
	timeout: 3000
};


me.bdSubmitCallback = {
	success: function( response ){
		hideWD();
		
		var root = response.responseXML.documentElement;
		var emailAddress = root.getElementsByTagName( "requester_email_address" )[0].firstChild.nodeValue;
		alert( "「" + emailAddress + "」へメールを送信しました。\n\n"
				+ "メールの内容に従って、記事掲載者の返信先メールアドレスを取得してください。" );
	},
	
	failure: function( response ){		
		hideWD();
		
		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.bdValicateCallback = function(){
	var emailAddress1 = trim( this.getData().bd_email_address1 );
	var emailAddress2 = trim( this.getData().bd_email_address2 );
	
	if( emailAddress1 == null || emailAddress1 == "" || emailAddress2 == null || emailAddress2 == "" ){
		alert( "メールアドレスが記入されていません。\n\n"
						+ "掲載者の返信先を受け取るメールアドレスをご記入ください。\n"
						+ "ご記入いただいたメールアドレスは非公開です。" );
		return false;
	}
	
	var emailAddress = emailAddress1 + '@' + emailAddress2;
	if( !isValidEmailAddress( emailAddress ) ){
		alert( "不適当なメールアドレスが記入されています。\n\n"
						+ "掲載者さまへの返信先を受け取るメールアドレスをご記入ください。\n"
						+ "ご記入いただいたメールアドレスは非公開です。" );
		return false;
	
	}else if( isKeitaiEmailAddress( emailAddress ) ){
		alert( "携帯電話のメールアドレスをご記入いただく事はできません。" );
		return false;
	}
	
	var url = unescape( getMetaValueOf( "reeasl" ) ).replace( /&amp;/g, "&" )
		.replace( "<:ID:>", me.bdId.value ).replace( "<:EMAIL_ADDRESS:>", emailAddress );
	document.getElementById( "bd_form" ).action = url;

	showWD();
	
	return true;
};
	
me.bdViewCountUpCallBack = {
	success: function( response ){
		var id = response.responseXML.documentElement.getElementsByTagName( "id" )[0].firstChild.nodeValue;
		var viewCount = response.responseXML.documentElement.getElementsByTagName( "view_count" )[0].firstChild.nodeValue;
		
		var viewCountNew = document.getElementById( "view_count_new" + id );
		if( viewCountNew != null ){
			viewCountNew.innerHTML = viewCount;
		}
		var viewCountTop = document.getElementById( "view_count_top" + id );
		if( viewCountTop != null ){
			viewCountTop.innerHTML = viewCount;
		}
		var viewCountSearch = document.getElementById( "view_count_search" + id );
		if( viewCountSearch != null ){
			viewCountSearch.innerHTML = viewCount;
		}
	},
	
	failure: function( response ){
	},
	
	timeout: 1500
}

function initBD(){
	me.bdId = document.getElementById( "bd_id" );
	me.bdBulletinId = document.getElementById( "bd_bulletin_id" );
	me.bdOnUpdatedOwner = document.getElementById( "bd_on_updated_owner" );
	me.bdOnCreatedBulletin = document.getElementById( "bd_on_created_bulletin" );
	me.bdTitle = document.getElementById( "bd_title" );
	me.bdAgeRange = document.getElementById( "bd_age_range" );
	me.bdSex = document.getElementById( "bd_sex" );
	me.bdEducation = document.getElementById( "bd_education" );
	me.bdQualification = document.getElementById( "bd_qualification" );
	me.bdOccupation = document.getElementById( "bd_occupation" );
	me.bdExperience = document.getElementById( "bd_experience" );
	me.bdBusinessStartTime = document.getElementById( "bd_business_start_time" );
	me.bdBusinessArea = document.getElementById( "bd_business_area" );
	me.bdBusinessType = document.getElementById( "bd_business_type" );
	me.bdBusinessPlan = document.getElementById( "bd_business_plan" );
	me.bdIdealPartner = document.getElementById( "bd_ideal_partner" );
	me.bdEnterpriseName = document.getElementById( "bd_enterprise_name" );
	me.bdShowBulletinPageLink = document.getElementById( "show_bulletin_page_link" );
	me.bdFetchBulletinAsPdfServiceLink = document.getElementById( "fetch_bulletin_as_pdf_service_link" );
	me.bdYahooBookmark = document.getElementById( "bd_yahoo_bookmark" );
	
	var bd = new YAHOO.widget.Dialog( "bulletin_dialog" );
	bd.cfg.queueProperty( "visible", false );
	bd.cfg.queueProperty( "monitorresize", true ); 
	bd.cfg.queueProperty( "width", "700px" );
	bd.cfg.queueProperty( "xy", [0,0] );
	bd.cfg.queueProperty( "fixedcenter", false );
	bd.cfg.queueProperty( "constraintoviewport", false );
	bd.cfg.queueProperty( "close", false );
	bd.cfg.queueProperty( "modal", true );
	bd.cfg.queueProperty( "underlay", "none" );
	bd.cfg.queueProperty( "draggable", true );
	var effects = [{effect: YAHOO.widget.ContainerEffect.FADE, duration: 0.25 }];
	bd.cfg.queueProperty( "effect", effects );
	var kl = new YAHOO.util.KeyListener( document, {keys:27}, {fn:cancelBD, scope:bd,	correctScope:true} );
	bd.cfg.queueProperty( "keylisteners", kl );
	
	bd.callback = me.bdSubmitCallback; 	
	bd.validate = me.bdValicateCallback;
	bd.hideEvent.subscribe( function(){ me.bd.moveTo( 0, 0 ); clearBD(); }, null, true );
	bd.render();
	me.bd = bd;
}

function showBD( id ){	
	var url = me.FETCH_BULLETIN_SERVICE_LINK.replace( "<:ID:>", id );
	YAHOO.util.Connect.asyncRequest( 'POST', url, me.bdInitCallback, null ); 
	
	me.bd.center();
	me.bd.show();
		
	url = me.BULLETIN_VIEW_COUNT_UP_SERVICE_LINK.replace( "<:ID:>", id );
	YAHOO.util.Connect.asyncRequest( 'POST', url, me.bdViewCountUpCallBack, null );
}

function submitBD(){	
	me.bd.submit();
}

function cancelBD(){
	me.bd.cancel();
}

function clearBD(){
	me.bdId.value = "";
	me.bdBulletinId.innerHTML = "";
	me.bdOnUpdatedOwner.innerHTML = "";
	me.bdOnCreatedBulletin.innerHTML = "";
	me.bdTitle.innerHTML = "";
	me.bdAgeRange.innerHTML = "";
	me.bdSex.innerHTML = "";
	me.bdEducation.innerHTML = "";
	me.bdQualification.innerHTML = "";
	me.bdOccupation.innerHTML = "";
	me.bdExperience.innerHTML = "";
	me.bdBusinessStartTime.innerHTML = "";
	me.bdBusinessArea.innerHTML = "";
	me.bdBusinessType.innerHTML = "";
	me.bdBusinessPlan.innerHTML = "";
	me.bdIdealPartner.innerHTML = "";
	me.bdEnterpriseName.innerHTML = "";
	me.bdShowBulletinPageLink.href = "";
	me.bdFetchBulletinAsPdfServiceLink.href = "";
	me.bdYahooBookmark.href = "";
}

function initWD(){
	var wd = new YAHOO.widget.Panel( "bd_wait_dialog" );
	wd.cfg.queueProperty( "width", "280px" );
	wd.cfg.queueProperty( "fixedcenter", true );
	wd.cfg.queueProperty( "close", false );
	wd.cfg.queueProperty( "draggable", false );
	wd.cfg.queueProperty( "modal", true );
	wd.cfg.queueProperty( "visible", false );
	wd.cfg.queueProperty( "underlay", "none" );
	wd.setHeader( "処理中です。しばらくお待ちください。" );
	wd.setBody( "<img src='http://us.i1.yimg.com/us.yimg.com/i/us/per/gr/gp/rel_interstitial_loading.gif'/>" );
	wd.render( document.body );
	me.wd = wd;
}

function showWD(){
	me.wd.center();
	me.wd.show();
}

function hideWD(){
	me.wd.hide();
}
