if(typeof NICK == "undefined" || !NICK) var NICK = {};

NICK.namespace("imx");


$(document).ready(function() {
	// Commented out until IMX is fixed.
	$(document).bind("tooltip.OPEN", function(e, data){NICK.imx.getReport(data.cmsid, data.itemType, ".tooltip-total-plays", ".tooltip-rate")});
	$(document).bind("tooltip.CLOSE", function(){ $(".tooltip-total-plays").html(""); $(".tooltip-rate").html("")})
});	

NICK.imx.getRating = function(cmsid){
	NICK.utils.doLog("get rating for cms: "+cmsid)
}

NICK.imx.doRating = function(cmsid, rating){
	NICK.utils.doLog("do rating "+rating);
	
	$('#stats-rating a.rate-up').hide();
	$('#stats-rating a.rate-down').hide();
	if(rating > 0){
		$('#stats-rating span.rate-up').addClass("rate-up-active");
		$('#stats-rating span.rate-down').addClass("rated-dn");
	}else{
		$('#stats-rating span.rate-down').addClass("rate-down-active");
		$('#stats-rating span.rate-up').addClass("rated-up");
	}
	$('#stats-rating span.rate-up').show();
	$('#stats-rating span.rate-down').show();
	
	var params = {
	 	'cmsid':cmsid,
		'rating':rating
	 }; 
	NICK.request.doRequest({
		dataType:"jsonp",
		url: NICK.config.IMX_RATE,
		data: params,
		onSuccess: function(response) {
			//$("div.rating-box").html(response);
			$('#stats-rating span.rate-down.rate-disabled').show();
			
		},
		onFail: function(errors) {
			for(var error in errors) {
				NICK.utils.doLog("NICK.rating.getRating: Error: "+error+" - "+errors[error]);
			}
		}				
	});
}

NICK.imx.callIMXPlay = function(_cmsid,_type){
	var cmsid = "";
	if(_cmsid == null){
		cmsid = NICK.get("cmsId");
	}else{
		cmsid = _cmsid;
	}
	var type = "";
	if(_cmsid == null){
		type = NICK.get("type");
	}else{
		type = _type;
	}
	
	NICK.request.doRequest({
		dataType:"jsonp",
		url: NICK.config.IMX_PUT,
		data: {itemId:cmsid, action:"play", value:type},
		onSuccess: function(response) {
			NICK.utils.doLog("IMX Play Success:");
			
		},
		onFail: function(errors) {
			for(var error in errors) {
				NICK.utils.doLog("IMX Play : Error: "+error+" - "+errors[error]);
			}
		}				
	});
}


NICK.imx.getReport = function(_cmsid, _type, _playid, _rateid){
	NICK.request.doRequest({
		dataType:"json",
		url: NICK.config.IMX_VIEW_COUNT,
		data: {itemId:_cmsid, type:_type, listUrls:"thumbsup,thumbsdown,viewcount"},
		onSuccess: function(response) {
			var count=0;
			var rate = 100;
			var thumbsup =0;
			var thumbsdown =0;
			
			if(response[0].itemList!=null){
				for(var i=0; i< response.length; i++){
						
						switch(response[i].itemList.listUrl){
							case "/imx/nick/gamehub/item/rating/thumbsup":
								thumbsup = response[i].itemList.items[0].viewcount;
								break;
							case "/imx/nick/gamehub/item/rating/thumbsdown":
								thumbsdown = response[i].itemList.items[0].viewcount;
								break;
							case "/imx/nick/gamehub/item/play/game":
								count = response[i].itemList.items[0].viewcount;
								break;
							case "/imx/nick/gamehub/item/play/video":
								
								count = response[i].itemList.items[0].viewcount;
								break;
						}
				}
				((thumbsup+thumbsdown)==0)?rate=100:rate=Math.ceil((thumbsup/(thumbsup+thumbsdown))*100)
			}
			NICK.utils.doLog("IMX report---> count: " + count+ " | thumsup: "+thumbsup+ " | thumbsdown: "+thumbsdown);
			$(_playid).html(count);
			$(_rateid).html(rate+"%");
			
			if(rate>50){ 
				$(".display-rating-only.rate-up").addClass("rate-up-active");
			}else{
				$(".display-rating-only.rate-down").addClass("rate-down-active")
			}
		},
		onFail: function(errors) {
			for(var error in errors) {
				NICK.utils.doLog("IMX View Count : Error: "+error+" - "+errors[error]);
			}
		}				
	});
}
