/**
 * arena/votingbottom.js
 *
 *
 *
 * Dependencies
 * - YUI
 *
 * @author Fermin <fsimeon@gaiaonline.com>
 **/


YAHOO.namespace('gaia.app.Arena');
YAHOO.gaia.app.Arena.Votingbottom = function() {

	this._settings = null;
    this._ajaxRequest= null;
    this._commentButton = null;
}




YAHOO.gaia.app.Arena.Votingbottom.prototype.init = function(settings){

    this._settings = {
    //settings for watchlist 
        wlsigninerr1: settings.wlsigninerr1 || 'SIGN IN ...',
        wlajaxerr1: settings.wlajaxerr1 || 'AJAX FAILURES ...',

        //settings for voting stars
        starlimit1  : (settings.starlimit1 || 5 ),
        votingdiv1  : YAHOO.util.Dom.get(settings.votingdiv1),
        average    : (settings.average || '0.0'),
        stardiv    : document.createElement('div'),
        notifytext : document.createElement('div'),
        threadId: settings.threadid,
        errordiv1 : YAHOO.util.Dom.get(settings.errordiv1),
        url1        : (settings.url1 || '#'),
        ratebottomnumber : YAHOO.util.Dom.get(settings.ratebottomnumber)
    };

   this._make_stardiv1();
    
    
}

YAHOO.gaia.app.Arena.Votingbottom.prototype._make_stardiv1 = function() {
	
 
    YAHOO.util.Dom.addClass(this._settings.stardiv, 'rating');

    // create stars
    for (var i=1; i<=this._settings.starlimit1; i++) {
 
        var star = document.createElement('div');
        star.id  = 'star' + i;
        var a    = document.createElement('a');
        a.href   = this._settings.url1 + i;
        a.innerHTML = i;
        YAHOO.util.Dom.addClass(star, 'star');
   
        star.appendChild(a);
        this._settings.stardiv.appendChild(star);
        // add listener to each star
        YAHOO.util.Event.addListener(star, 'mouseover', this._hover_star1, i,this,true);
        YAHOO.util.Event.addListener(star, 'mouseout', this._reset_stars1, this,true);
        
    }
    this._settings.votingdiv1.appendChild(this._settings.stardiv);
    this._reset_stars1();
    
    YAHOO.util.Dom.addClass(this._settings.notifytext, 'notifytext');
    YAHOO.util.Dom.setStyle(this._settings.notifytext, 'opacity', 0);
    this._settings.votingdiv1.appendChild(this._settings.notifytext);
    
}

YAHOO.gaia.app.Arena.Votingbottom.prototype._hover_star1 = function(e, star_pos) {
	

    for (var i=1; i<=star_pos; i++ ) {
        var star = YAHOO.util.Dom.get('star' + i);
        var a    = star.firstChild;
        YAHOO.util.Dom.addClass(star, 'hover');
        YAHOO.util.Dom.setStyle(a, 'width', '100%');
    }
    this._settings.ratebottomnumber.innerHTML = star_pos;
}

YAHOO.gaia.app.Arena.Votingbottom.prototype._reset_stars1 = function() {

    if (this._settings.submitted == 0) {

        var average = this._settings.average.split('.');
        var stars_on = average[0];
        if (average[1] >= 0 ) {
            stars_on = parseInt(average[0]) +1;
        }
        var last_star_width = average[1] + '%'
    }
    else {

        var stars_on = this._settings.submitted;
        var last_star_width = '100%';
    }
 
    for ( var i = 1; i<=this._settings.starlimit1; i++) {
    	
        var star = YAHOO.util.Dom.get('star' + i);
        var a = star.firstChild;

        // first, reset all stars
        YAHOO.util.Dom.removeClass(star, 'hover');
        YAHOO.util.Dom.removeClass(star, 'on');

        if (i<=stars_on && !YAHOO.util.Dom.hasClass(star, 'on')) {
            YAHOO.util.Dom.addClass(star, 'on');
        }
        if (i == stars_on)
            YAHOO.util.Dom.setStyle(a, 'width', last_star_width);
    }
    this._settings.ratebottomnumber.innerHTML = "";

}

function initVotingbottom(settings) {
    voting = new YAHOO.gaia.app.Arena.Votingbottom();
    voting.init(settings);

}
