//Check of rating element aanwezig is
if (typeof BMR == 'undefined') { BMR = new Object()}

BMR.ratingHandler = {
	sources: {"over": "/img/star_on.gif", "out": "/img/star_off.gif"},
	initialsrc: {},

	init: function () {
		var container = $('rating');
		if (container && container.getTag() == 'p') {
			//Het juiste element is gevonden 
			//Alle images in deze tag ophalen en clickhandler aanpassen!
			var imgs = $ES('img',container);
			if (imgs.length > 0) {
				//Add event handlers to star images
				for (i=0; i<imgs.length; i++) {
					var img_id=imgs[i].id;
					BMR.ratingHandler.initialsrc[img_id]=imgs[i].src;
					imgs[i].addEvent('click', function(event){ BMR.ratingHandler.ratingClick(event)});
					imgs[i].addEvent('mouseover', function(event){ BMR.ratingHandler.ratingRollover(event)});
					imgs[i].addEvent('mouseout', function(event){ BMR.ratingHandler.ratingRollout(event)});
				}
				//console.dir(BMR.ratingHandler.initialsrc);
			}
		}
	},

	updateRating: function(response){
		var domFrag = document.createDocumentFragment();
		var holdingDiv = new Element('div', {'html': response});

 		for (var i=0; i<holdingDiv.childNodes.length; i++) {
      	var node = holdingDiv.childNodes[i].cloneNode(true);
      	domFrag.appendChild(node);
    	}

		$('rating').innerHTML = '';
		$('rating').appendChild(domFrag);
	},

	ratingRollover: function(event){
		var e = new Event(event);
		if(e.target){
			var star_number=parseInt(e.target.id.split("_")[1]);
			for(i=1;i<=star_number;i++){
				$('rating_'+i).src=BMR.ratingHandler.sources["over"];
			}
			for(i=5;i>star_number;i--){
				$('rating_'+i).src=BMR.ratingHandler.sources["out"];
			}
		}
	},

	ratingRollout: function(event) {
		var e = new Event(event);
		if(e.target){
			for(i=1;i<=5;i++){
				$('rating_'+i).src=BMR.ratingHandler.initialsrc["rating_"+i];
			}
		}
	},	

	ratingClick: function (event) {
		//Let OP: In scope van img object!
		//TODO: Submit rating with AJAX
		var e = new Event(event);
		var expression_id = $('expression_id').value;
        
        if(e.target){
            var star_number=parseInt(e.target.id.split("_")[1]);
    	    var url = '/ajax/rating.php?rating='+star_number+"&expression_id="+expression_id
    	    if ($('rating').className == 'rating-create') {
    	        url = url + '&create=true';
    	    }
    	    
			new Ajax(url, {method: 'get', onComplete: BMR.ratingHandler.updateRating}).request();
		}
	}
}

window.addEvent('domready', BMR.ratingHandler.init);