/** PRELOADING IMAGES REQUIRED FOR THE RATING AND COMMENTS SECTION **/
var myImages = new Asset.images([
	'images/rating/rate.png', 
	'images/rating/halfrate.png',
	'images/rating/sel.png',
	'images/rating/unsel.png',
	'images/rating/ratingloader.gif',
	'images/rating/commentloader.gif'
]);

/** RATING SECTION - Starts **/
var renderRating = function(ratingBox){	
	if(ratingBox){
	
		if(ratingBox.retrieve('total_ratings') > 0){
			
			var actualRating = Number(ratingBox.retrieve('avg_rating'));
			var roundedRating = Math.round(actualRating);			
			var displayHalfRate = false;			
			if(actualRating < 2 && actualRating > 1.4){
				displayHalfRate = true;
			}
			else if(actualRating < 3 && actualRating > 2.4){
				displayHalfRate = true;
			}
			else if(actualRating < 4 && actualRating > 3.4){
				displayHalfRate = true;
			}
			else if(actualRating < 5 && actualRating > 4.4){
				displayHalfRate = true;
			}						
			
			var maxRatedEl = null;
			ratingBox.getElements('td.element').each(function(rateEl){
				rateEl.setStyle('background-image','url(images/rating/unsel.png)');
				if(rateEl.get('id') == roundedRating){
					maxRatedEl = rateEl;
				}
			});
			
			if(maxRatedEl){
				if(displayHalfRate){
					maxRatedEl.setStyle('background-image','url(images/rating/halfrate.png)');
				}
				else{
					maxRatedEl.setStyle('background-image','url(images/rating/rate.png)');
				}
				maxRatedEl.getAllPrevious('td.element').each(function(rateEl){
					rateEl.setStyle('background-image','url(images/rating/rate.png)');
				});		
				
				maxRatedEl.getAllNext('td.element').each(function(rateEl){
					rateEl.setStyle('background-image','url(images/rating/unsel.png)');
				});				
			}
		}		
		else{
			ratingBox.getElements('td.element').each(function(rateEl){
				rateEl.setStyle('background-image','url(images/rating/unsel.png)');
			});
		}
		var totalRatingEl = ratingBox.getElement('td.total_ratings');
		if(totalRatingEl){
			totalRatingEl.set('text', ratingBox.retrieve('avg_rating') +'/5 (' +ratingBox.retrieve('total_ratings')+ ' votes)');
			totalRatingEl.setStyle('background','none');
		}		
	}	
};

var updateRatingResult = function(obj, result){
	if(result && result != ""){
		var resultJSON = JSON.decode(result);
		if(resultJSON){
			if(resultJSON.success){
				
				var ratingBoxId = 'rating_box_'+resultJSON.music_id;		
				var ratingBox = $(document.body).getElement('#'+ratingBoxId);

				if(ratingBox){

					ratingBox.store('avg_rating',Number(resultJSON.avg_rating));
					ratingBox.store('total_ratings',Number(resultJSON.total_ratings));					
					ratingBox.store('is_user_rating_given',resultJSON.is_user_rating_given);
					ratingBox.store('is_unrated',false);					
					
					ratingBox.getElement('span.comments_count').set('text','('+resultJSON.comments_count+')');
					
					renderRating(ratingBox);
				}								
			}
		}
	}	
};

var refreshRatingAndScore = function(task, rating, musicBrowseEl){

	//console.info('In refreshRatingAndScore for '+task, musicBrowseEl);
	var data = new Object();
	data.task = task+"_RATING";
	data.user_id = musicBrowseEl.get('current-user-id');
	data.music_id = musicBrowseEl.get('item-id');
	data.comment_text = "";
	data.rating_given = rating;
	data.show_comments_limit = "";
	
	var dataString = JSON.encode(data);
	console.log('JSON Data for '+ task +'_RATING: '+dataString);
	var jsonRequest = new Request.JSON({
		'method' : 'post',
		'url' : 'music_comments_rating.php',
		'data' : {
			'inputjson' : dataString
		},
		'onComplete': updateRatingResult
	});
	jsonRequest.send();
};
/** RATING SECTION - Ends **/

/** COMMENTS SECTION - Starts **/
var determineShowPrevAndNextCommentsDisplay = function(prev_next, showCommentsBox){

	console.info('In determineShowPrevAndNextCommentsDisplay '+prev_next, showCommentsBox);
	//var currentCommentsNumber = Number(showCommentsBox.retrieve('show_comments_number'));
	//var totalCommentsCount = Number(showCommentsBox.retrieve('comments_count'));
	
	//console.log('currentCommentsNumber',currentCommentsNumber);
	//console.log('totalCommentsCount',totalCommentsCount);
	
	var totalPages = Number(showCommentsBox.retrieve('total_pages'));
	var currentPage = Number(showCommentsBox.retrieve('show_page'));

	console.log('totalPages',totalPages);
	console.log('currentPage',currentPage);
	
	var newPageNum;
	var isDisplay = false;
	if(prev_next === "NEXT"){
		newPageNum = currentPage + 1;
		if(newPageNum <= totalPages){
			isDisplay = true;
		}
	}
	else if(prev_next === "PREV"){
		newPageNum = currentPage - 1;
		if(newPageNum > 0){
			isDisplay = true;
		}
	}	
	
	console.log('newPageNum',newPageNum);
	
	/*
	var isDisplay = false;
	if(prev_next === "NEXT" && (newCommentsNum <= totalCommentsCount)){
		isDisplay = true;
	}
	else if(prev_next === "PREV" && (newCommentsNum >= 1)){
		isDisplay = true;
	}
	*/
	
	console.log('isDisplay',isDisplay);
	return isDisplay;
};

/*
var getNewCommentLimit = function(prev_next, showCommentsBox){

	console.info('In getNewCommentLimit '+prev_next, showCommentsBox);
	
	var totalCommentsCount = Number(showCommentsBox.retrieve('comments_count'));	
	//var commentsList = showCommentsBox.retrieve('latest_comments');
	var currentCommentsNumber = showCommentsBox.retrieve('show_comments_number');
	
	var newCommentsLimit;
	if(prev_next === "NEXT"){
		//numberPrevFirst = Number(commentsList[0].comment_id);
		//newCommentsLimit = Number(commentsList[commentsList.length-1].comment_id);
	}
	else if(prev_next === "PREV"){
		//newCommentsLimit = Number(commentsList[0].comment_id);
	}
	commentsList = null;
	
	var newCommentsNum;
	if(prev_next === "NEXT"){
		newCommentsNum = currentCommentsNumber + 5;
	}
	else if(prev_next === "PREV"){
		newCommentsNum = currentCommentsNumber - 5;
	}
	
	showCommentsBox.store('show_comments_number_prev_first',newCommentsNum);
	
	showCommentsBox.store('show_comments_number',newCommentsNum);
	
	console.log('newCommentsNum',newCommentsNum);
	console.log('newCommentsLimit',newCommentsLimit);
	return newCommentsLimit;
};
*/

var getNewPageNumber = function(prev_next, showCommentsBox){

	console.info('In determineShowPrevAndNextCommentsDisplay '+prev_next, showCommentsBox);
	//var currentCommentsNumber = Number(showCommentsBox.retrieve('show_comments_number'));
	//var totalCommentsCount = Number(showCommentsBox.retrieve('comments_count'));
	
	//console.log('currentCommentsNumber',currentCommentsNumber);
	//console.log('totalCommentsCount',totalCommentsCount);
	
	var totalPages = Number(showCommentsBox.retrieve('total_pages'));
	var currentPage = Number(showCommentsBox.retrieve('show_page'));
	
	var newPageNum;
	var isDisplay = false;
	if(prev_next === "NEXT"){
		newPageNum = currentPage + 1;
		if(newPageNum <= totalPages){
			isDisplay = true;
		}
	}
	else if(prev_next === "PREV"){
		newPageNum = currentPage - 1;
		if(newPageNum > 0){
			isDisplay = true;
		}
	}	
	
	console.log('newPageNum',newPageNum);
	
	return newPageNum;
};

var fetchNextComments = function(musicId){
	console.info('In fetchNextComments', musicId);
	
	var showCommentsBox = $(document.body).getElement('#show_comments_box_'+musicId);
	//var totalPages = Number(showCommentsBox.retrieve('total_pages'));
	var currentPage = Number(showCommentsBox.retrieve('show_page'));
	
	console.info('In fetchNextComments', showCommentsBox);
	//console.log('totalPages',totalPages);
	console.log('currentPage',currentPage);
	
	if(showCommentsBox){
		//var newCommentLimit = getNewPageNumber("NEXT", showCommentsBox);
		showCommentsBox.store('show_page', currentPage + 1);
		//showCommentsBox.store('show_comments_direction', "NEXT");
		retrieveAndShowComments(showCommentsBox.getParent('div.music_browse_item'));
	}
	showCommentsBox = null;
};

var fetchPrevComments = function(musicId){
	console.info('In fetchPrevComments', musicId);	
	
	var showCommentsBox = $(document.body).getElement('#show_comments_box_'+musicId);
	var currentPage = Number(showCommentsBox.retrieve('show_page'));
	
	console.info('In fetchNextComments', showCommentsBox);
	console.log('currentPage',currentPage);
	
	if(showCommentsBox){
		//var newCommentLimit = getNewPageNumber("PREV", showCommentsBox);
		showCommentsBox.store('show_page', currentPage - 1);
		//showCommentsBox.store('show_comments_direction', "PREV");
		retrieveAndShowComments(showCommentsBox.getParent('div.music_browse_item'));
	}
	showCommentsBox = null;
};


var commentUpdateComplete = function(result){
	console.info('update of comment is complete WITH '+result);
	if(result){
		console.log(result.success);
		console.log(result.music_id);
		if(result.success){
			var commentBoxId = 'add_comment_box_'+result.music_id;			
			var commentBox = $(document.body).getElement('#'+commentBoxId);			
			var showCommentsBoxId = 'show_comments_box_'+result.music_id;
			var showCommentsBox = $(document.body).getElement('#'+showCommentsBoxId);
			if(commentBox && showCommentsBox){
				var addSliderObj = commentBox.retrieve('slider');	
				var showSliderObj = showCommentsBox.retrieve('slider');	
				if(addSliderObj && showSliderObj){
					addSliderObj.slideOut();
					if(showSliderObj.open){
						showSliderObj.slideOut();
					}
				}
			}
		}
		else{
		}
	}
};

var showCommentsComplete = function(obj, result){

	if(result && result != ""){
		console.info('In showCommentsComplete - JSON String Output ',result);
		result = result.replace(/[\r\n\f]+/g, '<br>');
		var resultJSON = JSON.decode(result);
		if(resultJSON){
			if(resultJSON.success){
				
				var showCommentBoxId = 'show_comments_box_'+resultJSON.music_id;				
				var showCommentBox = $(document.body).getElement('#'+showCommentBoxId);
				
				var commentsTableEl = showCommentBox.getElement('table.comments');
				if(showCommentBox && commentsTableEl){		

					var musicBrowseItem = showCommentBox.getParent('div.music_browse_item');
					
					musicBrowseItem.getElement('span.comments_count').set('text','('+resultJSON.comments_count+')');
					showCommentBox.store('comments_count', resultJSON.comments_count);
					
					var total_pages = Math.ceil(Number(resultJSON.comments_count)/5);			
					showCommentBox.store('total_pages', total_pages);
					console.warn('Total Pages', total_pages);
					
					commentsTableEl.empty();
					
					var isCommentsAvailable = false;
					if(resultJSON.comments.length > 0){
						isCommentsAvailable = true;
						showCommentBox.store('isCommentsAvailable',true);
						showCommentBox.store('latest_comments',resultJSON.comments);
					}
					else{
						showCommentBox.store('isCommentsAvailable',false);
					}
					
					if(isCommentsAvailable){
						resultJSON.comments.each(function(comment, index){
							var row = commentsTableEl.insertRow(commentsTableEl.rows.length);
							var cell = row.insertCell(row.cells.length);
							var htmlComment = '<i><a href="'+ comment.comment_user_profile_url +'">'+ comment.comment_user_displayname +'</a>&nbsp;says:</i>&nbsp;'+ comment.comment_text;
							cell.innerHTML = '<div style="padding:2px 2px 2px 5px; background-color: #FFFFFF;">'+htmlComment+'</div>';
							$(cell).setStyle('padding','4px 4px 4px 4px');
							cell = null;
							row = null;
							htmlComment = null;
						});
						if(resultJSON.comments_count > resultJSON.comments.length){
							var row = commentsTableEl.insertRow(commentsTableEl.rows.length);
							var cell = row.insertCell(row.cells.length);
							var htmlComment = '';
							
							if(determineShowPrevAndNextCommentsDisplay("PREV",showCommentBox)){
								htmlComment = htmlComment + '<a class="prev_comments" href="javascript:fetchPrevComments('+ resultJSON.music_id +');" style="float: left;">Previous Comments</a>';
							}
							if(determineShowPrevAndNextCommentsDisplay("NEXT",showCommentBox)){
								htmlComment = htmlComment + '<a class="next_comments" href="javascript:fetchNextComments('+ resultJSON.music_id +');" style="float: right;">Next Comments</a>'
							}
							
							cell.innerHTML = '<b>'+htmlComment+'</b>';
							$(cell).setStyles({'padding':'0px 4px 4px 4px', 'font-size':'7pt'});
							cell = null;
							row = null;
							htmlComment = null;							
						}
					}
					else{
						var row = commentsTableEl.insertRow(commentsTableEl.rows.length);
						var cell = row.insertCell(row.cells.length);
						cell.innerHTML = '<div style="padding:2px 2px 2px 5px; background-color: #FFFFFF; font-weight: bold">No comments entered. Be the first one to enter.</div>';
						$(cell).setStyle('padding','4px 4px 4px 4px');
						cell = null;
						row = null;						
					}
					
					var addCommentSliderObj = null;
					var addCommentBoxId = 'add_comment_box_'+resultJSON.music_id;
					var addCommentBox = $(document.body).getElement('#'+addCommentBoxId);					
					if(!isCommentsAvailable){
						addCommentSliderObj = addCommentBox.retrieve('slider');
					}
					
					var showCommentsSliderObj = showCommentBox.retrieve('slider');			
					if(showCommentsSliderObj){
						showCommentsSliderObj.slideIn();
						if(!isCommentsAvailable && !addCommentSliderObj.open){
							addCommentSliderObj.slideIn();
							
							musicBrowseItem.getElement('a.add_comment_link').setStyle('display', 'none');
							musicBrowseItem.getElement('a.submit_comment_link').setStyle('display','');
						}
					}			
				}
				
				// Hide show_comment link and show hide_comment link.
				musicBrowseItem.getElement('a.show_comments_link').setStyle('display', 'none');
				musicBrowseItem.getElement('a.hide_comments_link').setStyle('display','');				
			}
			else{
			}
		}
	}
};

var retrieveAndShowComments = function(musicBrowseItem){
	if(musicBrowseItem){
		
		var data = new Object();
		data.task = "SHOW_COMMENTS";
		data.user_id = "";
		data.music_id = musicBrowseItem.get('item-id');
		data.comment_text = "";
		data.rating_given = "";		
		var showCommentsBox = musicBrowseItem.getElement('div.show_comments_box');
		data.show_page = showCommentsBox.retrieve('show_page');
		//data.show_comments_limit = showCommentsBox.retrieve('show_comments_limit');
		//data.show_comments_direction = showCommentsBox.retrieve('show_comments_direction');
		//data.show_comments_number_prev_first = showCommentsBox.retrieve('show_comments_number_prev_first');
		
		var dataString = JSON.encode(data);
		console.log('JSON Data for SHOW COMMENT: '+dataString);		
		showCommentsBox = null;
		
		var jsonRequest = new Request.JSON({
			'method' : 'post',
			'url' : 'music_comments_rating.php',
			'data' : {
				'inputjson' : dataString
			},
			onComplete: showCommentsComplete
		});
		jsonRequest.send();
	}					
};
/** COMMENTS SECTION - Ends **/


window.addEvent('domready', function() {
	console.info("The DOM is ready.");	
	console.info('SocialEngine.Viewer',SocialEngine.Viewer);
	
	$(document.body).getElements('div.music_browse_item').each(function(musicBrowseItem, index){
		
		
		
		var itemId = musicBrowseItem.get('item-id');
		var musicUserId = musicBrowseItem.get('music-user-id');
		var userId = musicBrowseItem.get('current-user-id');
		
		
		
		/** COMMENTS SECTION - Starts **/
		var addCommentLinkEl = musicBrowseItem.getElement('a.add_comment_link');		
		
		if(addCommentLinkEl){
			addCommentLinkEl.addEvent('click',function(e){
				
				var musicBrowseItem = this.getParent('div.music_browse_item');
				var musicBrowseItemId = musicBrowseItem.get('item-id');				
				if(musicBrowseItemId && musicBrowseItemId > 0){
					var commentBoxId = 'add_comment_box_'+musicBrowseItemId;					
					var sliderObj = musicBrowseItem.getElement('#'+commentBoxId).retrieve('slider');					
					if(sliderObj){
						sliderObj.slideIn();
					}					
					// Hide add comment link and show update comment link.
					this.setStyle('display', 'none');
					musicBrowseItem.getElement('a.submit_comment_link').setStyle('display','');					
				}				
			});
		}
		
		var updateCommentLinkEl = musicBrowseItem.getElement('a.submit_comment_link');
		if(updateCommentLinkEl){
			updateCommentLinkEl.addEvent('click',function(e){
				
				var musicBrowseItem = this.getParent('div.music_browse_item');	
				var musicBrowseItemId = musicBrowseItem.get('item-id');
				var commentBoxId = 'add_comment_box_'+musicBrowseItemId;			
				var commentBox = musicBrowseItem.getElement('#'+commentBoxId);
				if(SocialEngine.Viewer.user_exists == true){
					var showCommentsBoxId = 'show_comments_box_'+musicBrowseItemId;
					var showCommentsBox = musicBrowseItem.getElement('#'+showCommentsBoxId);
							
					if(musicBrowseItem){				
						var data = new Object();
						data.task = "ADD_COMMENT";
						data.user_id = musicBrowseItem.get('current-user-id');
						data.music_id = musicBrowseItem.get('item-id');
						data.comment_text = musicBrowseItem.getElement('textarea').get('value').replace(/"/g,"'");
						data.rating_given = "";
						data.show_comments_limit = "";
						
						if(data.comment_text && data.comment_text != ''){
						
							commentBox.store('isCommentEntered',true);
							var dataString = JSON.encode(data);
							console.log('JSON Data for ADD COMMENT: '+dataString);					
							var jsonRequest = new Request.JSON({
								'method' : 'post',
								'url' : 'music_comments_rating.php',
								'data' : {
									'inputjson' : dataString
								},
								'onComplete': commentUpdateComplete
							});
							jsonRequest.send();
						}
						else{
							if(commentBox && showCommentsBox){
								var addSliderObj = commentBox.retrieve('slider');	
								var showSliderObj = showCommentsBox.retrieve('slider');	
								if(addSliderObj){
									addSliderObj.slideOut();
									if(showSliderObj && showSliderObj.open){
										showSliderObj.slideOut();
									}
								}
							}						
						}					
						
						musicBrowseItem.getElement('a.hide_comments_link').setStyle('display', 'none');
						musicBrowseItem.getElement('a.show_comments_link').setStyle('display','');										
					}
				}
				else{
					alert('You need to be logged in to Add a Comment');
					commentBox.retrieve('slider').slideOut();		
				}
				
				// Hide update comment link and show add comment link.
				this.setStyle('display', 'none');
				musicBrowseItem.getElement('a.add_comment_link').setStyle('display','');				
			});
		}
		
		var showCommentsLinkEl = musicBrowseItem.getElement('a.show_comments_link');
		if(showCommentsLinkEl){
			showCommentsLinkEl.addEvent('click',function(e){
				
				var musicBrowseItem = this.getParent('div.music_browse_item');
				
				retrieveAndShowComments(musicBrowseItem);
			});
		}				
		
		var hideCommentsLinkEl = musicBrowseItem.getElement('a.hide_comments_link');
		if(hideCommentsLinkEl){
			hideCommentsLinkEl.addEvent('click',function(e){
						
				var musicBrowseItem = this.getParent('div.music_browse_item');
				var musicBrowseItemId = musicBrowseItem.get('item-id');				
				if(musicBrowseItemId && musicBrowseItemId > 0){
					var showCommentsBoxId = 'show_comments_box_'+musicBrowseItemId;
					var showCommentsBox = musicBrowseItem.getElement('#'+showCommentsBoxId);
					
					var addCommentBoxId = 'add_comment_box_'+musicBrowseItemId;
					var addCommentBox = musicBrowseItem.getElement('#'+addCommentBoxId);
					
					var showCommentsSliderObj = showCommentsBox.retrieve('slider');
					var addCommentSliderObj = addCommentBox.retrieve('slider');
					
					if(showCommentsSliderObj){
						showCommentsSliderObj.slideOut();
						
						if(addCommentSliderObj && addCommentSliderObj.open){
							if(addCommentBox.getElement('textarea').value == ''){
								addCommentSliderObj.slideOut();
								
								// Hide submit_comment link and add show_comment link.
								musicBrowseItem.getElement('a.submit_comment_link').setStyle('display', 'none');
								musicBrowseItem.getElement('a.add_comment_link').setStyle('display','');
							}
						}
					}
					
					// Hide hide_comment link and show show_comment link.
					this.setStyle('display', 'none');
					musicBrowseItem.getElement('a.show_comments_link').setStyle('display','');
				}		
			});
		}		
		
		var addCommentBoxEl = musicBrowseItem.getElement('div.add_comment_box');	
		if(addCommentBoxEl){
			addCommmentBoxItemId = addCommentBoxEl.get('id');
			var addCommentBoxSlider = new Fx.Slide(addCommmentBoxItemId);
			
			addCommentBoxSlider.addEvent('complete',function(e){				
				if(!this.open){
					if(this.element.getElement('textarea').get('value') !== ""){					
						this.element.getElement('textarea').set('value','');
						if(SocialEngine.Viewer.user_exists == true){
							var musicBrowseItem = this.element.getParent('div.music_browse_item');
							musicBrowseItem.getElement('div.show_comments_box').store('show_page',1);
							musicBrowseItem.getElement('div.show_comments_box').store('show_comments_number',1);
							retrieveAndShowComments(musicBrowseItem);
						}
					}
				}
			});
			
			addCommentBoxSlider.hide();
			addCommentBoxEl.store('slider', addCommentBoxSlider);
			addCommentBoxEl.store('isCommentEntered', false);
		}
		
		var showCommentBoxEl = musicBrowseItem.getElement('div.show_comments_box');	
		if(showCommentBoxEl){
			showCommmentBoxItemId = showCommentBoxEl.get('id');
			var showCommentBoxSlider = new Fx.Slide(showCommmentBoxItemId);
			showCommentBoxSlider.addEvent('complete',function(e){				
				if(!this.open){					
					this.element.store('show_page',1);
					this.element.store('show_comments_number', 1);
				}
			});			
			showCommentBoxSlider.hide();
			showCommentBoxEl.store('slider', showCommentBoxSlider);
			showCommentBoxEl.store('isCommentsAvailable', false);
			showCommentBoxEl.store('show_page',1);
			showCommentBoxEl.store('total_pages',1);
			showCommentBoxEl.store('show_comments_number',1);
		}	
		/** COMMENTS SECTION - Ends **/
		
		
		/** RATING SECTION - Starts **/
		var ratingBox = musicBrowseItem.getElement('table.rating_box');
		if(ratingBox){
			ratingBox.store('is_unrated',true);
			refreshRatingAndScore('GET', '', ratingBox.getParent('div.music_browse_item'));
			
			ratingBox.getElements('td.element').each(function(ratingEl){								
				
				ratingEl.addEvents({
					'click': function(){						
						var ratingBox = this.getParent('table.rating_box');
											
						if(ratingBox){
							if(SocialEngine.Viewer.user_exists == true){
							
								console.info('in ratingEl Click',ratingBox);
								console.log('is_user_rating_given',ratingBox.retrieve('is_user_rating_given'));
								
								if(ratingBox.retrieve('is_user_rating_given') != 1){
									var totalRatingEl = ratingBox.getElement('td.total_ratings');
									if(totalRatingEl){
										totalRatingEl.set('text','');
										totalRatingEl.setStyle('background','#FFFFFF url(images/rating/ratingloader.gif) no-repeat center');
									}
									
									var musicBrowseEl = ratingBox.getParent('div.music_browse_item');						
									refreshRatingAndScore('ADD', this.get('id'), musicBrowseEl);
								}
								else{
									alert('You have already Voted for this Item');
								}
							}
							else{
								alert('You need to Login to add a Vote');
							}
						}
					},
					'mouseover': function(){
						//console.info('On MouseOver',this);
						this.setStyle('background-image','url(images/rating/sel.png)');
						
						this.getAllPrevious('td.element').each(function(nextRatingEl){
							nextRatingEl.setStyle('background-image','url(images/rating/sel.png)');
						});
						
						this.getAllNext('td.element').each(function(nextRatingEl){
							nextRatingEl.setStyle('background-image','url(images/rating/unsel.png)');
						});						
					},
					'mouseout': function(){
						//console.info('On MouseOut',this);
						renderRating(this.getParent('table.rating_box'));
					}
				});
				
			});
		}
		
		/** RATING SECTION - Ends **/
	});
});



// To disable Firebug (on Firefox)  logging when unavailable.
if (! ('console' in window)) {
    var names = ['log', 'debug', 'info', 'warn', 'error'];
    window.console = {};
    for (var i = 0; i < names.length; ++i){ 
		window.console[names[i]] = function() {};
    }
}