// Ajax

function sapoota_bookmark( eid, stt, indicator ){
	try {
		indicator.innerHTML = '<img src="/objects/images/common/indicator-gray.gif" style="vertical-align:middle;" /> 設定しています...';
		wait_cursor( true );
		var ajax = new Ajax.Request(
			'/archive.pl',
			{
				method: 'post',
				postBody: $H({ 'id': eid, 'set-bookmark': stt, format: 'ajax-bookmark' }).toQueryString(),
				onFailure : function(){
					wait_cursor( false );
					$( 's-global-navigation-ajax' ).innerHTML = '<p>サーバーとの接続に失敗しました。</p>';
				},
				onComplete: function( request ){
					wait_cursor( false );
					if( request.responseText == 'ADDED' ){
						indicator.innerHTML = '<strong>お気に入りに追加しました。</strong>';
					} else if( request.responseText == 'REMOVED' ){
						indicator.innerHTML = '<strong>お気に入りから外しました。</strong>';
					} else {
						indicator.innerHTML = '<strong>失敗しました。</strong>';
						if( confirm( "お気に入りの設定に失敗しました。\nページをリロードすると解決する場合があります。\n\nリロードしますか?" )){
							location.reload();
						}
					}
				} 
			});
		return false;
	} catch( e ){
		return true;
	}
}

function sapoota_rate( eid, rate, rlabel, indicator, img ){
	try {
		indicator.innerHTML = '<img src="/objects/images/common/indicator-gray.gif" style="vertical-align:middle;" /> 送信しています...';
		wait_cursor( true );
		var ajax = new Ajax.Request(
			'/archive.pl',
			{
				method: 'post',
				postBody: $H({ 'id': eid, 'rate': rate, 'label': rlabel, format: 'ajax-rating' }).toQueryString(),
				onFailure : function(){
					wait_cursor( false );
					$( 's-global-navigation-ajax' ).innerHTML = '<p>サーバーとの接続に失敗しました。</p>';
				},
				onComplete: function( request ){
					wait_cursor( false );
					if( request.responseText.match( /^RATED/ )){
						indicator.innerHTML = '<strong>ありがとうございました。</strong>';
						//img.src = '/objects/images/rating/medium-'+ request.responseText.match( /[0-5]\.[05]/ ) +'-dot.png';
					} else if( request.responseText.match( /^REMOVED/ )){
						indicator.innerHTML = '<strong>評価を削除しました。</strong>';
						//img.src = '/objects/images/rating/medium-'+ request.responseText.match( /[0-5]\.[05]/ ) +'-dot.png';
					} else {
						indicator.innerHTML = '<strong>失敗しました。</strong>';
						if( confirm( "評価の設定に失敗しました。\nページをリロードすると解決する場合があります。\n\nリロードしますか?" )){
							location.reload();
						}
					}
				} 
			});
	} catch( e ){
		alert( e );
	}
}

// Star Rating

function sapoota_set_starrating( eid, target, indicator, rlabel ){
	new StarRating(
		target,
		[ 'medium-1.0-dot.png', 'medium-2.0-dot.png', 'medium-3.0-dot.png', 'medium-4.0-dot.png', 'medium-5.0-dot.png' ], {
			basePath: '/objects/images/rating/',
			onClick: function ( img, rating ){
				sapoota_rate( eid, rating, rlabel, $( indicator ), img );
			}
		}
	);
}
