
if (typeof Orange.Recommend == 'undefined') Orange.Recommend = {
	recommend: {},
	avatar   : {}
}; // namespace

Orange.Recommend.recommend.SWF = new SWF({
	swf    : '/swf/recommend/recommend.swf',
	id     : 'externalRecommendSWF',
	width  : '800',
	height : '500'
});

Orange.Recommend.avatar.SWF = new SWF({
	swf    : '/swf/recommend/avatar_maker.swf',
	id     : 'externalRecommendSWF',
	width  : '800',
	height : '500'
});

Orange.Recommend.recommend.show = function(element) {
	$(element).empty();
	Orange.Recommend.recommend.SWF
		.addParam({ wmode: 'window' })
		.addVariable({ 'nickname': Orange.Util.getUser() })
		.appendTo(element);

	return false;
}

Orange.Recommend.avatar.show = function(element) {
	$(element).empty();
	Orange.Recommend.avatar.SWF
		.addVariable({ 'nickname': Orange.Util.getUser() })
		.appendTo(element);

	return false;
}

Orange.Recommend.load = function() { setTimeout(function () {
	new function() {
		var data = window.recommendMansions;
		if (data && data.data && data.data.length)
			new Orange.UnitSet(data.data).show('.blockAssetsBuzz')
		else
			$('.recommendMansionContainer').html('<p class="noItem"><img width="276" height="18" alt="まだあなたに合う物件はありません。" src="/shared/images/txt_no_much_asset_02.gif"/></p>');
	};

	Orange.Window.flow('modify', function(html) {
		var h2 = $('h2#lbTtlMain', html);
		var p  = $('p#lbTxtMainLead', html);
		if (h2.length && p.length) {
			h2.html('<img width="327" height="30" src="/recommend/images/ttl_edit_recommend_01.gif" alt="理想の住まいの編集"/>');
			p.text('理想の住まいを編集するにはログインが必要です。');
			return;
		}

		var container = $('<div class="swfContainer"/>');
		$('#windowContainer', html).addClass('wide');
		var vars = $.extend(
			{ 'nickname': Orange.Util.getUser() },
			this.location.hashQueries
		);

		if (vars.flash == 'avatar') {
			Orange.Recommend.avatar.SWF
				.addVariable(vars)
				.show(container);
		} else {
			Orange.Recommend.recommend.SWF
				.addParam({ wmode: 'window' })
				.addVariable(vars)
				.show(container);
		}
		$('#avatarMaker', html).append(container);
	});

	$('a[rel="reset"]').click(function(e) { e.preventDefault();
		Orange.Util.dialog('リセットしてもいいですか？', function() {
			$.getJSON('/api/recommend/recommendReset', function() {
				location.href = '/recommend/';
			});
			return false; // not close

			// $('#windowContainer').fadeOut(function() {
			// 	// $(this).empty();
			// 	$.getJSON('/api/recommend/recommendReset', function() {
			// 		location.href = '/recommend/';
			// 	});
			// });
		});
	});
}, 0) };

Orange.Recommend.setup = function() {
	$('div.setNow > a.setting').click(function(e) { e.preventDefault();
		$('div.setNow').empty();
		var container = $('#contentRecommendAbout > div.recommendAbout');
		$('div#content > h2').empty();

		// var container = $('.lbContent', html);
		Orange.Recommend.recommend.SWF
                        .addParam({ wmode: 'window' })
			.addVariable({ 'nickname': Orange.Util.getUser() })
			.show(container);
	});

	$('div.setNow > a.login')
		.click(function(e) { e.preventDefault(); })
		.click(function(e) {
			if (!this.href) throw new Error('URI not found.');
			var self = this;
			var f = arguments.callee;

			// $(this).unbind('click', f);

			var w = new Orange.Window;
			w.finish = function(html) {
				// @todo ykskが直す
				html.find('#redirectUri').text('/recommend/#loaded=true');

				html.find('div.lbContent h2#lbTtlMain').removeClass().addClass('ttl01').html('<img src="/recommend/images/ttl_set_recommend_01.gif" alt="理想の住まいを設定する" width="377" height="29" />');
				html.find('div.lbContent p#lbTxtMainLead').text('理想の住まいを設定するにはログインが必要です。');
			};
			w.open(this.href);
		});

	var hashQueries = parseLocationHash(window.location.hash);
        if (hashQueries && hashQueries.loaded) {
                $('div.setNow > a.setting').click();
        }
}

