﻿/*
 ******************************************************************************
 * File : starbox.rating.js 0.03
 * Copyright (C) 2005-2007 http://bizcaz.com/ All rights reserved.
 ******************************************************************************
 */
/* _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ */
/* 変数定義  _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ */
/* _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ */
var rating_obj    = new Array();
var rating_script = ['http://www.o-m-a.jp/working/', 'js/prototype/starbox/', 'starbox.post.php'].join('');
var rating_loader = ['http://www.o-m-a.jp/working/', 'js/prototype/starbox/', 'css/ajax-loader.gif'].join('');
/* _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ */
/* 関数定義  _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ */
/* _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ */
function rating_showloader(element, enable)
{
	if (enable) {
		element.innerHTML        = '';
		element.style.height     = '16px';
		element.style.background = 'transparent url('+rating_loader+') no-repeat left center';
	}
	else {
		element.style.height     = 'auto';
		element.style.background = 'none';
	}
}

function rating_post(element, info) {
	var obj  = rating_obj[element.id];
	var pars = 'mode=0&blogid='+obj.blogid+'&entryid='+obj.options.identity+'&boxid='+element.id+'&avr='+obj.average+'&total='+obj.options.total;

	new Ajax.Request(rating_script, {
					method: 'post',
					parameters: pars,
					onComplete: function(req) {
						var result = req.responseText.split(':');

						if ('ok' == result[0]) {
							var element = rating_obj[result[1]];
							element.options.locked = true;
						}
					}
				});

	return false;
}

function rating_view(blogid, boxid, ids) {

	var pars = 'mode=1&blogid='+blogid+'&entryid='+ids+'&boxid='+boxid;

	rating_showloader($(boxid), true);

	new Ajax.Request(rating_script, {
					method: 'post',
					parameters: pars,
					onComplete: function(req) {
						var locked = true;
						var result = req.responseText.split(':');

						rating_showloader($(result[1]), false);

						if ('ok' == result[0]) {
							locked = false;
						}

						rating_obj[result[1]] = new Starbox(
							result[1],				// Box ID
							result[2], {			// 現在のアベレージ
							color: '#4a488e',		// 星の前景
							background: '#edd3a1',	// 星の背景
							hoverColor: '#a22041',	// ホバーの色
							overlay: 'default.png',	// オーバレイ画像指定
							stars: 5,				// 星の表示数
							max: 5,					// 最大アベレージ
							buttons: 10,			// stars を何分割にするか設定
													// たとえば、stars×２とすると１つ星が２分割される
							total: result[3],		// 総投票数
							identity: ids,			// ID
													// インディケータ表示
							indicator: '#{average} rating from #{total} votes',
							onRate: rating_post,	// クリック時の処理
							inverse: false,			// 表示方向設定 false(左⇒右)/true(右⇒左)
							lockOnRate: true,		// 投票後ロック設定 false(なし)/true(ロック)
							locked: locked			// 投票不可設定 false(可)/true(不可)
						});

						rating_obj[result[1]].blogid = blogid;
					}
	});
}
