﻿$(document).ready(initRating);
var pageRating;
var ratingMsg;
var starContainer;
var starLevel = 5;
var preLoadStar = new Image();
preLoadStar.src = '/Style%20Library/images/star.png';
var preLoadStarHover = new Image();
preLoadStarHover.src = '/Style%20Library/images/star_hover.png';

function initRating() {
    pageRating = $('div#page-rating');
    ratingMsg = $('p#rating-message');
	starContainer = $('div#stars');

    for(var i = starLevel - 1; i >= 0; i--) {
        var star = createStar(i + 1)
        starContainer.prepend( star );
    }
}

function createStar(number) {
    var elem = $(document.createElement('a'));
    elem.addClass('star');
    elem.attr('id', 'star' + number);
    elem.attr('href', '#');
    
    elem.bind('mouseover', starHandler);
    elem.bind('mouseout', starHandler);
    elem.bind('click', starHandler);
    
    return elem;
}

function starHandler(event) {
	var currentStar = event.target;
	var starNumber = currentStar.id.replace(/star/,'');
	
	if(event.type == 'mouseover') {
    	for(var i = 0; i < starLevel; i++) {
    		var star = starContainer.find('a#star'+(i+1))[0];
    		if(i < starNumber) {
    			starHover($(star));
    		} else {
    			starStandard($(star));
    		}
    	}
	}
	
	if(event.type == 'mouseout' && starNumber == 1) {
		starStandard($(currentStar));
	}
	
	if(event.type == 'click') {
		OmnitureOnClick('rating', starNumber);
		ratingMsg.html('Thank you for your feedback.');
		$(starContainer).css('display', 'none');
		return false;
	}
}

function starHover(elem) {
	elem.removeClass('star');
	if(!elem.hasClass('star_hover')) {
		elem.addClass('star_hover');
	}
}

function starStandard(elem) {
	elem.removeClass('star_hover');
	if(!elem.hasClass('star')) {
		elem.addClass('star');
	}
}
