
Orange.Upload = { swf: null };

// External Interface
Orange.Upload.onSuccess = function(data) {};
Orange.Upload.onError   = function(e) { Orange.Util.alert(e); };


Orange.CommentForm = {
	data: null
};

Orange.CommentForm.setup = function () {
	$('p.btnCommentKeyword a')
		.unbind()
		.click(Orange.CommentForm.click);
};

Orange.CommentForm.click = function() {
	var w = new Orange.Window;
	var _close = w.close;
	w.finish = function(html) {
		var h2 = $('div.lbContent h2#lbTtlMain', html);
		var p  = $('div.lbContent p#lbTxtMainLead', html);
		if (h2.length && p.length) {
			h2.html('<img src="/theme/images/ttl_comment_01.gif" alt="コメントする" width="251" height="38"/>');
			h2.text('コメントするにはログインが必要です。');
			return;
		}

		var upload = $('.rowCommentImgUpload01 td', html);
		if (!upload.length) return;

		upload.html([
			'<p id="objUploadFile01"><img src="/shared/images/photo/pho_noimage_01.jpg" alt=""/></p>',
			'<p class="choose"/>',
			'<span class="inputContainer"></span>'
		].join(''));
		var data = Orange.CommentForm.data;
		if (data) {
			$('img', upload).attr('src', data.thumbnail_url);
			$('.inputContainer', upload).html([
				'<input type="hidden" name="imageL" value="'+data.imageL+'"/>',
				'<input type="hidden" name="imageS" value="'+data.imageS+'"/>'
			].join(''));
		}

		Orange.Upload.swf = new SWF({
			swf   : '/swf/comment/uploader.swf',
			id    : 'externalUploaderSWF',
			width : 107,
			height: 30
		}).show($('.choose', upload));

		var image = $('.inputContainer', html);
		Orange.Upload.onSuccess = function(data) {
			$('<img src="'+data.thumbnail_url+'" alt=""/>').load(function() {
				Orange.CommentForm.data = data;
				upload
					.find('#objUploadFile01').html(this).end()
					.find('span.inputContainer').html([
						'<input type="hidden" name="imageL" value="'+data.imageL+'"/>',
						'<input type="hidden" name="imageS" value="'+data.imageS+'"/>'
					].join(''));
			});
		};
	};
	w.close = function() {
		_close.call(w);
		delete Orange.CommentForm.data;
	};

	w.open(this.href);

	return false;
};


$(function() {
	Orange.CommentForm.setup();
});
