// 
// Orange.UnitList = {};
// 
// Orange.UnitList.load = function(api, queries) {
// 	$.getJSON(api, queries, Orange.UnitList.callback);
// };
// 
// Orange.UnitList.callback = function(json) {
// 	log('Orange.UnitList.callback');
// log('error:', json.error)
// 	if (json.error) throw new Error('Response includes error flag.');
// 	var data = json.result.data.data;
// 	if (!data) { log('Data is empty.'); return; }
// 
// 	var params = $.extend(json.result.pager, { total: json.result.data.length }); // TODO ?
// 	new Orange.Pager(arguments.callee).show('.pager', params);
// 
// 	Orange.UnitList.show('list', data);
// 
// 	var list = $('.selectDisplayStyle li:first')
// 		.click(_listClick);
// 	var buzz = $('.selectDisplayStyle li:last')
// 		.click(_buzzClick);
// 
// 	function _listClick() {
// 		Orange.UnitList.show('list', data);
// 
// 		list
// 			.unbind('click')
// 			// .unbind('hover')
// 			.html([
// 				'<strong>',
// 				'<img src="/shared/images/nav/display_style_list_01_o.gif" alt="リスト表示" width="75" height="27"/>',
// 				'</strong>'
// 			].join(''));
// 		buzz
// 			.click(_buzzClick)
// 			.html([
// 				'<input type="image" src="/shared/images/nav/display_style_buzz_01.gif" width="75" height="27" alt="口コミ表示" class="btn"/>'
// 			].join(''));
// 
// 		// $('input', this).unbind('hover');
// 		new Orange.Flavour(buzz).o();
// 	}
// 
// 	function _buzzClick() {
// 		Orange.UnitList.show('buzz', data);
// 
// 		list
// 			.click(_listClick)
// 			.html([
// 			'<input type="image" src="/shared/images/nav/display_style_list_01.gif" width="75" height="27" alt="リスト表示" class="btn"/>',
// 		].join(''));
// 		buzz
// 			.unbind('click')
// 			// .unbind('hover')
// 			.html([
// 				'<strong>',
// 				'<img src="/shared/images/nav/display_style_buzz_01_o.gif" alt="口コミ表示" width="75" height="27"/>',
// 				'</strong>'
// 			].join(''));
// 		
// 		// $('input', this).unbind('hover');
// 		new Orange.Flavour(list).o();
// 	 }
// };
// 
// Orange.UnitList.menu = function() {
// 	// TODO
// };
// 
// Orange.UnitList.show = function(type, data, i) {
// 	i = i || 0;
// 	var $element = $('#unitContainer').empty();
// 
// 	switch (type) {
// 		case 'list':
// 			$element.attr('class', 'blockAssetsList');
// 			break;
// 		case 'buzz':
// 			$element.attr('class', 'blockAssetsBuzz');
// 			break;
// 	}
// 
// 	if (!Orange.Folder.data && i < 10) {
// 		var args = arguments;
// 		setTimeout(function() {
// 			args.callee(type, data, ++i);
// 		}, 1000);
// 		log('wait 1 sec');
// 		return;
// 	}
// 	else if(i >= 10) log('time out...');
// 
// 	$.each(data, function() {
// 		new Orange.Unit(type, this).appendTo($element);
// 	});
// };
// 
// 
// Orange.UnitBox = {};
// 
// Orange.UnitBox.show = function(items) {
// 	$.getJSON('/api/mansion/getMansion?id='+items.join(','), function(data) {
// 		if (data.error) throw new Error('Response includes error flag.');
// 
// 		var items = json.result.data.data;
// 		if (!items) {
// 			log('Data is empty.');
// 			return;
// 		}
// 
// 		Orange.UnitList.show('buzz', items);
// 	});
// };
// 
// 
// Orange.UnitController = function(swf) {
// 	this.swf = swf;
// 	this.step;
// 	this.data;
// };
// 
// Orange.UnitController.prototype = {
// 	click: function(step, data, callbackName) {
// 		this.step         = step;
// 		this.data         = data;
// 		this.callbackName = callbackName || 'onUpdate';
// 		Orange.Unit.prototype.click();
// 	},
// 
// 	// next step callback
// 	next: function(html) {
// 		this.swf.call(callbackName);
// 		Orange.Unit.prototype.next();
// 	}
// };
// 
// 
// Orange.MyStock = {};
// 
// Orange.MyStock.load = function() {
// 	$('#navPropertyList li a').each(function(i) {
// 		$(this).click(function() { e.preventDefault();
// 			Orange.MyStock.show(i);
// 		});
// 	});
// };
// 
// Orange.MyStock.show = function(step) {
// 	var stepCode = (step + 1) * 10;
// 	var criteria = new Criteria();
// 	criteria.addCondition('ActionType', 'In', '['+stepCode+']');
// 	criteria.addSortColumn('Id');
// 	criteria.setOffset(null);
// 	criteria.setLimit(null);
// 
// 	$.postCriteria(
// 		'/api/mystock/compare',
// 		criteria,
// 		Orange.UnitList.callback,
// 		{ status: 2 }
// 	);
// };
// 
// 
// Orange.Unit = function(type, data) {
// 	this.types = ['list', 'buzz'];
// 
// 	this.type = type;
// 	this.data = data;
// 	this.step = this.getStep();
// 	this.$unit;
// };
// Orange.Unit.prototype = {
// 	appendTo: function(node) {
// 		if ($.inArray(this.type, this.types) == -1) throw new Error('Unknown unit type.');
// 
// 		this.$unit = this[this.type]();
// 		this.$unit.css('display', 'none');
// 		this.$unit.appendTo(node).fadeIn('slow');
// 
// 		return this;
// 	},
// 
// 	getStep: function() {
// 		var ret = 0;
// 		var data;
// 		if (!(data = Orange.Folder.data)) {
// 			log('(Orange.Folder.data is empty)');
// 			return ret;
// 		}
// log('this.data', this.data);
// 		var id = this.data.id;
// 		$.each(data, function(i) {
// 			log(id, this);
// 			if ($.inArray(id, this) != -1) { // found!
// 				log('hit! step:', i + 1);
// 				ret = i + 1;
// 				return false;
// 			}
// 		});
// 		return ret;
// 	},
// 
// 	// next step callback
// 	next: function($html) {
// 		var self = this;
// log('next this', this);
// 		// return $html
// 		// 	.find('form').submit(function(e) { e.preventDefault();
// 		// 		self.step++;
// 		// 
// 		// 		// Orange.Folder.add(self.step); // TODO
// 		// 		self.$unit.html(self[self.type]());
// 		// 	}).end();
// 	},
// 
// 	click: function() {
// 		var self = this;
// 		var uri;
// 		switch (this.step) {
// 			case 0:
// 				uri = '/mystock/setBookmark';
// 				break;
// 			case 1:
// 				uri = '/mystock/docRequest';
// 				break;
// 			case 2:
// 				uri = '/mystock/'; // TODO
// 				break;
// 			case 3:
// 				uri = '/mystock/'; // TODO
// 				break;
// 		}
// 		if (!uri) throw new Error('request uri is not found.');
// 
// 		var w = new Orange.Window;
// 		// var bind = w.bind;
// 		// w.bind = function($html) {
// 		// 	return self.next(bind.call(w, $html));
// 		// };
// 		w.open(uri, { mansion_id: this.data.id }, null, false, this.next);
// 	},
// 
// 	buzz: function() {
// 		var self = this;
// 		var d = this.data;
// 		return $([
// 			'<div class="unitBuzz01">',
// 			'<div class="innerUnitBuzz">',
// 
// 			'<h3 class="itemName"><!-- name --></h3>',
// 			'<p class="itemAddress"><!-- address --></p>',
// 
// 			'<ul class="itemInfo01">',
// 			'<li class="itemStatus"><!-- status --></li>',
// 			'<li><!-- layout --></li>',
// 			'<li><!-- price --></li>',
// 			'</ul>',
// 
// 			'<ul class="itemInfo02">',
// 			'<li class="itemImage"><!-- thumbnail --></li>',
// 			'<li class="itemTxt face01"><!-- text --></li>',
// 			'</ul>',
// 
// 			'<p class="btnStepAction"></p>',
// 
// 			'<ul class="itemInfo03">',
// 			'<li class="firstChild"><!-- interested --></li>',
// 			'<li><!-- comment --></li>',
// 			'<li><!-- image --></li>',
// 			'</ul>',
// 
// 			'</div>',
// 			'</div>'
// 		].join('')).addClass('unitStep0'+(this.step + 1))
// 			.find('h3').text(d.name || '').end()
// 			.find('.itemAddress').text(d.traffic || '').end()
// 
// 			.find('.itemInfo01')
// 				.find('.itemStatus').html((function() {
// 					var images = [
// 						'txt_onsale_01_03.gif',
// 						'',
// 						''
// 					];
// 					return '<img src="'+images[d.sale_flag]+'" width="90" height="19" alt=""/>';
// 				})()).end()
// 				.find('dd:eq(1)'/* layout */).text(
// 					''
// 				).end()
// 
// 				.find('dd:eq(2)'/* price */).text(
// 					parseInt(d.hanbai_kakaku_min).toFigureString() + '〜' +
// 					parseInt(d.hanbai_kakaku_max).toFigureString() + '円'
// 				).end()
// 			.end()
// 
// 			.find('.itemImage').html('<a href="'+d.uri+'"><img src="'+thumbnail1+'" width="'+thumbnail1_width+'" height="'+thumbnail1_height+'" alt=""/></a>').end()
// 			.find('.itemTxt').text(d.sales_point1 || '').end()
// 
// 			.find('.btnStepAction')
// 				.html((function() {
// 					switch (self.step + 1) {
// 						case 1:
// 							return '<input type="image" class="btn" name="dummy" alt="リストに入れる" src="/shared/images/btn_step1_01.gif"/>';
// 							break;
// 						case 2:
// 							return '<input type="image" class="btn" name="dummy" alt="資料請求する" src="/shared/images/btn_step2_01.gif"/>';
// 							break;
// 						case 3:
// 							return '<input type="image" class="btn" name="dummy" alt="モデルルームを予約する" src="/shared/images/btn_step3_01.gif"/>';
// 							break;
// 						case 4:
// 							return '<input type="image" class="btn" name="dummy" alt="アドバイスをもらう" src="/shared/images/btn_step4_01.gif"/>';
// 							break;
// 						case 5:
// 							return '<input type="image" class="btn" name="dummy" alt="アンケートに答える" src="/shared/images/btn_step5_01.gif"/>';
// 							break;
// 					}
// 				})())
// 				.click(function(e) {
// 					self.click.call(self, e);
// 				})
// 			.end()
// 
// 			.find('.itemInfo03 li:eq(1)').text('気になる ('+d.favorite_count+')').end()
// 			.find('.itemInfo03 li:eq(2)').text('コメント ('+d.comment_count+')').end()
// 			.find('.itemInfo03 li:eq(3)').text('画像 ('+d.image_count+')').end();
// 	},
// 
// 	list: function() {
// 		log(this.data);
// 
// 		var self = this;
// 		var d = this.data;
// 		d = $.each(d, function(k, v) { d[k] = d[k] || ''; });
// 		return $([
// 			'<div class="unitList01">',
// 			'<div class="itemHeader">',
// 			'<h3><!-- name --></h3>',
// 			'<p><!-- address --></p>',
// 			'</div>',
// 
// 			'<div class="itemContent">',
// 			'<div class="itemInfo01">',
// 			'<p class="itemImage"><!-- thumbnail --></p>',
// 			'<p class="itemStatus"><!-- status--></p>',
// 			'</div>',
// 
// 			'<p class="itemCopy"><!-- copy --></p>',
// 
// 			'<div class="itemInfo02">',
// 			'<dl class="itemSpec">',
// 			'<dt><img src="/shared/images/ttl_layout_01.gif" alt="間取り" width="19" height="48" /></dt>',
// 			'<dd><!-- layout --></dd>',
// 			'<dt><img src="/shared/images/ttl_dimensions_01.gif" alt="面積" width="19" height="48" /></dt>',
// 			'<dd><!-- d --></dd>',
// 			'<dt><img src="/shared/images/ttl_price_01.gif" alt="価格" width="19" height="48" /></dt>',
// 			'<dd><!-- price --></dd>',
// 			'</dl>',
// 			'<p class="itemDetail"><!-- detail --></p>',
// 			'</div>',
// 
// 			'<div class="itemInfo03">',
// 			'<ul>',
// 			'<li>',
// 			'<dl>',
// 			'<dt>人気</dt>',
// 			'<dd><!-- rank --></dd>',
// 			'</dl>',
// 			'</li>',
// 			'<li><!-- interested --></li>',
// 			'<li><!-- comment --></li>',
// 			'<li><!-- image --></li>',
// 			'</ul>',
// 			'<p class="btnStepAction"></p>',
// 			'</div>',
// 			'</div>',
// 			'</div>'
// 		].join('')).addClass('unitStep0'+(this.step + 1))
// 			.find('.itemHeader')
// 				.prepend((function() {
// 					return d.sale_flag == 2 ?
// 						$('<p class="markNew"><img src="/shared/images/txt_new_02.png" width="30" height="30" alt="[新着物件]"/></p>') :
// 						null;
// 				})())
// 				.end()
// 			.find('h3').text(d.name).end()
// 			.find('h3 + p').text(d.traffic).end()
// 			.find('.itemImage').html('<a href="/mansion/detail/id/'+d.id+'"><img src="'+d.thumbnail1+'" width="'+d.thumbnail1_width+'" height="'+d.thumbnail1_height+'" alt=""/></a>').end()
// 			.find('.itemStatus').html((function() {
// 				var images = [
// 					'',
// 					'',
// 					''
// 				];
// 				return '<img src="'+images[d.status_flag]+'" width="90" height="19" alt=""/>';
// 			})()).end()
// 			.find('.itemCopy').text(d.sales_point).end()
// 			.find('.itemSpec')
// 				.find('dd:eq(0)').text(d.madori).end()
// 				.find('dd:eq(1)').text(d.senyuu.replace(/m2$/, '\u33a1')).end()
// 				.find('dd:eq(2)').text(d.hanbai_kakaku).end()
// 			.end()
// 			.find('.itemDetail').text('').end()
// 			.find('.rank').text(d.rank).end()
// 			.find('.itemInfo03 li:eq(1)').text('気になる ('+d.favorite_count+')').end()
// 			.find('.itemInfo03 li:eq(2)').text('コメント ('+d.comment_count+')').end()
// 			.find('.itemInfo03 li:eq(3)').text('画像 ('+d.image_count+')').end()
// 			.find('.btnStepAction')
// 				.html((function() {
// 					switch (self.step + 1) {
// 						case 1:
// 							return '<input type="image" class="btn" name="dummy" alt="リストに入れる" src="/shared/images/btn_step1_01.gif"/>';
// 							break;
// 						case 2:
// 							return '<input type="image" class="btn" name="dummy" alt="資料請求する" src="/shared/images/btn_step2_01.gif"/>';
// 							break;
// 						case 3:
// 							return '<input type="image" class="btn" name="dummy" alt="モデルルームを予約する" src="/shared/images/btn_step3_01.gif"/>';
// 							break;
// 						case 4:
// 							return '<input type="image" class="btn" name="dummy" alt="アドバイスをもらう" src="/shared/images/btn_step4_01.gif"/>';
// 							break;
// 						case 5:
// 							return '<input type="image" class="btn" name="dummy" alt="アンケートに答える" src="/shared/images/btn_step5_01.gif"/>';
// 							break;
// 					}
// 				})())
// 				.click(function(e) {
// 					self.click.call(self, e);
// 				})
// 				.end();
// 	}
// };
// 
// 
// /*__DATA__
// */
