if (!window.jqsDCCRnC)
    jqsDCCRnC = jQuery;
(function(jQuery) {
    jQuery.fn.rating = function(options) {
        var settings = {
            increment: 0.5, // value to increment by
            maxvalue: 5   // max number of stars
            //curvalue  : 0    // number of selected stars
        };

        if (options) {
            jQuery.extend(settings, options);
        };

        jQuery.extend(settings, {
            cancel: (settings.maxvalue > 1) ? true : false
        });

        var container = jQuery(this);

        jQuery.extend(container, {
            averageRating: settings.curvalue
        });

        settings.increment = (settings.increment < .75) ? .5 : 1;
        var s = 0;
        for (var i = 0; i <= settings.maxvalue; i++) {
            if (i == 0) {
                if (settings.cancel == true) {
                    var div = '<div class="cancel"><a href="#0" title="Cancel Rating">Cancel Rating</a></div>';
                    //container.empty().append(div);
                }
            } else {
                var jQuerydiv = jQuery('<div class="star"></div>')
			.append('<a href="#' + i + '" title="' + strRatingTooltip.replace(/RATING/g, (i + '/' + settings.maxvalue).replace('.', strDecimalSeparator).replace('.', strDecimalSeparator)) + '">' + i + '</a>')
			.appendTo(container);
                if (settings.increment == .5) {
                    if (s % 2) {
                        jQuerydiv.addClass('star-left');
                    } else {
                        jQuerydiv.addClass('star-right');
                    }
                }
            }
            i = i - 1 + settings.increment;
            s++;
        }

        var stars = jQuery(container).children('.star');
        var cancel = jQuery(container).children('.cancel');

        stars
		.mouseover(function() {
		    event.drain();
		    event.fill(this);
		})
		.mouseout(function() {
		    event.drain();
		    event.reset();
		})
		.focus(function() {
		    event.drain();
		    event.fill(this);
		})
		.blur(function() {
		    event.drain();
		    event.reset();
		});
        if (pnlRatingsEnabled) {
            stars.click(function() {
                if (settings.cancel == true) {
                    settings.curvalue = (stars.index(this) * settings.increment) + settings.increment;
                    get_value(jQuery(this));

                    //var url=jQuery(this).children('a')[0].href;
                    //jQuery(this).parent('div.rating').nextAll('div.value').empty().append(url.substr(url.lastIndexOf('#')+1));
                    return true;
                } else if (settings.maxvalue == 1) {
                    settings.curvalue = (settings.curvalue == 0) ? 1 : 0;
                    jQuery(this).toggleClass('on');

                    get_value(jQuery(this));
                    //var url=jQuery(this).children('a')[0].href;
                    //jQuery(this).parent('div.rating').nextAll('div.value').empty().append(url.substr(url.lastIndexOf('#')+1));
                    return true;
                }
                return true;
            });
        }
        // cancel button events
        if (cancel) {
            cancel
		.mouseover(function() {
		    event.drain();
		    jQuery(this).addClass('on');
		})
		.mouseout(function() {
		    event.reset();
		    jQuery(this).removeClass('on');
		})
		.focus(function() {
		    event.drain();
		    jQuery(this).addClass('on');
		})
		.blur(function() {
		    event.reset();
		    jQuery(this).removeClass('on');
		});

            // click events.
            cancel.click(function() {
                event.drain();
                settings.curvalue = 0;

                get_value(jQuery(this));
                //var url=jQuery(this).children('a')[0].href;
                //jQuery(this).parent('div.rating').nextAll('div.value').empty().append(url.substr(url.lastIndexOf('#')+1));
                return false;
            });
        }

        var event = {
            fill: function(el) {
                // fill to the current mouse position.
                var index = stars.index(el) + 1;
                stars
								.children('a').css('width', '100%').end()
								.slice(0, index).addClass('hover').end();
            },
            drain: function() {
                // drain all the stars.
                stars
								.filter('.on').removeClass('on').end()
								.filter('.hover').removeClass('hover').end();
            },
            reset: function() {
                // Reset the stars to the default index.
                stars.slice(0, settings.curvalue / settings.increment).addClass('on').end();
            }
        };
        event.reset();

        return (this);

    };
})(jqsDCCRnC);
function get_value(ofobj) {
   // debugger;
    var retVal = ofobj.children('a')[0].href;
    retVal = retVal.substr(retVal.lastIndexOf('#') + 1);
    var parentid = "371_rater"; // jqsDCCRnC(ofobj[0]).parents('div.rating')[0].id;
    parentid = parentid.substring(0, parentid.lastIndexOf('_'));
    //retVal=parentid+'_'+retVal;
    ofobj.parent('div.rating').nextAll('div.value').empty().append(retVal);
    //window.alert(retVal);
    return (retVal);
}

