var YUI3_config = { modules: {} };
YUI( YUI3_config ).add('io-ez', function( Y )
{
var _rootUrl = '/', _serverUrl = _rootUrl + 'ezjscore/', _seperator = '@SEPERATOR$', _configBak;
function _ez( callArgs, c )
{
callArgs = callArgs.join !== undefined ? callArgs.join( _seperator ) : callArgs;
var url = _serverUrl + 'call/';
if ( c === undefined )
c = {on:{}, data: '', headers: {}, method: 'POST'};
else
c = Y.merge( {on:{}, data: '', headers: {}, method: 'POST'}, c );
if ( c.method === 'POST' )
c.data += ( c.data !== '' ? '&' : '' ) + 'ezjscServer_function_arguments=' + callArgs;
else
url += encodeURIComponent( callArgs );
c.headers.Accept = 'application/json,text/javascript,*/*';
if ( c.on.success !== undefined )
c.on.successCallback = c.on.success;
c.on.success = _ioezSuccess;
_configBak = c;
return Y.io( url, c );
}
function _ioezSuccess( id, o )
{
if ( o.responseJSON === undefined )
{
var returnObject = {'responseJSON': Y.JSON.parse( o.responseText ),
'readyState': o.readyState,
'responseText': o.responseText,
'responseXML': o.responseXML,
'status': o.status,
'statusText': o.statusText
};
}
else
{
var returnObject = o;
}
var c = _configBak;
if ( c.on.successCallback !== undefined )
{
if ( c.arguments !== undefined )
c.on.successCallback( id, returnObject, c.arguments );
else
c.on.successCallback( id, returnObject, null );
}
else if ( window.console !== undefined )
{
if ( returnObject.responseJSON.error_text )
window.console.error( 'Y.ez(): ' + returnObject.responseJSON.error_text );
else
window.console.log( 'Y.ez(): ' + returnObject.responseJSON.content );
}
}
_ez.url = _serverUrl;
_ez.root_url = _rootUrl;
_ez.seperator = _seperator;
Y.io.ez = _ez;
}, '3.0.0' ,{requires:['io-base', 'json-parse']});
YUI( YUI3_config ).use('node', 'event', 'io-ez', function( Y )
{
Y.on( "domready", function( e )
{
Y.all('ul.ezsr-star-rating').each( function( node ){
if ( !node.hasClass('ezsr-star-rating-disabled') )
node.addClass('ezsr-star-rating-enabled');
} );
Y.all('ul.ezsr-star-rating-enabled li a').on( 'click', _rate );
});
function _rate( e )
{
e.preventDefault();
var args = e.currentTarget.getAttribute('id').split('_');
Y.all('#ezsr_rating_' + args[1]).removeClass('ezsr-star-rating-enabled');
Y.all('#ezsr_rating_' + args[1] + ' li a').detach( 'click', _rate );
Y.io.ez( 'ezstarrating::rate::' + args[1] + '::' + args[2] + '::' + args[3], { on : { success: _callBack } } );
}
function _callBack( id, o )
{
if ( o.responseJSON && o.responseJSON.content !== '' )
{
var data = o.responseJSON.content;
if ( data.rated  )
{
if ( data.already_rated )
Y.all('#ezsr_changed_rating_' + data.id).removeClass('hide');
else
Y.all('#ezsr_just_rated_' + data.id).removeClass('hide');
Y.all('#ezsr_rating_percent_' + data.id).setStyle('width', (( data.stats.rounded_average / 5 ) * 100 ) + '%' );
Y.all('#ezsr_average_' + data.id).setContent( data.stats.rating_average );
Y.all('#ezsr_total_' + data.id).setContent( data.stats.rating_count );
}
else if ( data.already_rated  )
Y.all('#ezsr_has_rated_' + data.id).removeClass('hide');
}
else
{
alert( o.responseJSON.error_text );
}
}
});

