function onload(event) {
   
	 var myDataService =  {
		 rate:function(rating) {
				return {then:function (callback) {
					setTimeout(function () {
						callback((Math.random() * 5)); 
					}, 1000); 
				}
			}
		}
	}

	var starRating1 = raterJs( {
		starSize:32, 
		element:document.querySelector("#rater"), 
		rateCallback:function rateCallback(rating, done) {
			this.setRating(rating); 
			done(); 
		}
	}); 

	var starRatingStep = raterJs( {
		starSize:32, 
		step:0.5, 
		element:document.querySelector("#rater-step"), 
		rateCallback:function rateCallback(rating, done) {
			this.setRating(rating); 
			done(); 
		}
	}); 

   var starRating4 = raterJs( {isBusyText:"Rating in progress. Please wait...", 
		element:document.querySelector("#rater4"), 
		rateCallback:function rateCallback(rating, done) {
			starRating4.setRating(rating); 
			myDataService.rate().then(function (avgRating) {
				starRating4.setRating(avgRating); 
				done(); 
		}); 
	}}); 

    var starRating2 = raterJs( {
		max:5, 
		rating:4, 
		element:document.querySelector("#rater2"), 
		disableText:"Custom disable text!", 
		ratingText:"My custom rating text {rating}", 
		showToolTip:true, 
		rateCallback:function rateCallback(rating, done) {
			starRating2.setRating(rating); 
			starRating2.disable(); 
			done(); 
		}
	}); 

	var starRating3 = raterJs( {
		max:16, 
		readOnly:true, 
		rating:4.4, 
		element:document.querySelector("#rater3")
	}); 

	var starRating3 = raterJs( {
		max:6, 
		reverse:true,
		element:document.querySelector("#rater7"),
		rateCallback:function rateCallback(rating, done) {
			this.setRating(rating); 
			done(); 
		}
	}); 

	var starRating5 = raterJs( {
		element:document.querySelector("#rater5"), 
		rateCallback:function rateCallback(rating, done) {
			this.setRating(rating); 
			done(); 
		}, 
		onHover:function(currentIndex, currentRating) {
			document.querySelector('.live-rating').textContent = currentIndex; 
		}, 
		onLeave:function(currentIndex, currentRating) {
			document.querySelector('.live-rating').textContent = currentRating; 
		}
	}); 

	var starRating6 = raterJs( {
		element:document.querySelector("#rater6"), 
		rateCallback:function rateCallback(rating, done) {
			this.setRating(rating); 
			done(); 
		}
	}); 

	
document.querySelector('#rater6-button').addEventListener("click", function() {
	starRating6.clear();
	console.log(starRating6.getRating());
}, false); 

}

window.addEventListener("load", onload, false); 