var _dmFaceItNewsH3 = "<h3 title=\"News rated by users based on emotion\">Face-It: News by Mood</h3>";
var _dmFaceItNewsDiv = "<div class=\"news_bymood\">"+_dmFaceItNewsH3+"<div id=\"moodinside\" class=\"inside\"></div></div>";
var _dmFaceItNUrlBase = "dailyme.com";
var _dmFaceItNImgBase = "http://static."+_dmFaceItNUrlBase+"/dailyme/img/emoticons/";
var _dmFaceItNCss = "http://static."+_dmFaceItNUrlBase+"/dailyme/css/faceit.css";
var _dmFaceItApiUrl = "http://service."+_dmFaceItNUrlBase+"/v1/jsonrest/faceitdisplay/getstories?apikey=";
var _dmFaceItEmos = ({"Emotions": [	{"Id": "1","Name": "Infuriating","Image": _dmFaceItNImgBase+"emo_1.gif"},
		   							{"Id": "2","Name": "Amazing","Image": _dmFaceItNImgBase+"emo_2.gif"},
		   							{"Id": "3","Name": "Important","Image": _dmFaceItNImgBase+"emo_3.gif"},
		   							{"Id": "4","Name": "Sad","Image": _dmFaceItNImgBase+"emo_4.gif"},
		   							{"Id": "5","Name": "Uplifting","Image": _dmFaceItNImgBase+"emo_5.gif"},
		   							{"Id": "6","Name": "Odd","Image": _dmFaceItNImgBase+"emo_6.gif"}
       							  ]});

function RenderFaceItNews(APIKEY,TargetElId,DefaultEmo,Rotate) {
	//Add CSS tag
	var cssTag = document.createElement("link");
	cssTag.type = 'text/css';
	cssTag.rel = 'stylesheet';
	cssTag.href = _dmFaceItNCss;
	cssTag.media = 'screen';
	
	jQuery("head").append(cssTag);
	Rotate = Rotate == null ? false : Rotate;
	if(DefaultEmo == null || Rotate == true){
		if (Rotate == false) {
			DefaultEmo = 1;
		} else {
			_LastShownEmo = _DMreadCookie("FaceIt-LastEmo");
			
			if (_LastShownEmo){
				_LastShownEmo = parseInt(_LastShownEmo);
				if(_LastShownEmo >=6)
					DefaultEmo = 1;
				else
					DefaultEmo = _LastShownEmo + 1;
			} else {
				DefaultEmo = 1;
			}
			_DMcreateCookie("FaceIt-LastEmo",DefaultEmo,7);
		}
	}
	if(DefaultEmo == 0) DefaultEmo = 1;
		
	if (TargetElId != null && TargetElId != "") {
		var el = document.getElementById(TargetElId);
		el.innerHTML = el.innerHTML + _dmFaceItNewsDiv;
	} else {
		document.write(_dmFaceItNewsDiv);
	}
	jQuery(function(){
		jQuery("#moodinside").append(_fNews_BuildFaceItMenu()).append(_fNews_BuildNewsContainer());
		_fNews_BindClick();
		_fNews_loadNews(APIKEY);
		_fNews_setSelected(DefaultEmo);
	});	
}
function _fNews_setSelected(EmoId){
	var li = jQuery("#moodSelector > li[class='sel']");
	var lastId=-1;
	if (li.length > 0)
		lastId = jQuery(li.children("a")[0]).attr("id").substring(7);
	if (lastId != EmoId){
		li.removeClass("sel");	
		if(lastId == -1){
			_fNews_show(EmoId);
			return;
		}	
		jQuery("#mood"+lastId).fadeOut(100,function(){
			_fNews_show(EmoId);
		});
	}	
}
function _fNews_show(EmoId){
	jQuery("#mood"+EmoId).fadeIn(60);
	jQuery("#moodMnu"+EmoId).parent().addClass("sel");	
	var text = _dmFaceItEmos.Emotions[EmoId-1].Name;
	jQuery("#moodText").text(text);
}
function _fNews_BindClick(){
	var links = jQuery(".moodMnu");
	jQuery.each(links,function(i,link){
		jQuery(link).bind("click",function(){
			var emoid = jQuery(link).attr("id").substring(7);
			_fNews_setSelected(emoid);
			return false;			
		});
	});
}
function _fNews_BuildFaceItMenu(){
	var menuHtml = "<ul id=\"moodSelector\" class=\"moods\">";
	var total = _dmFaceItEmos.Emotions.length;
	
	var Id;
	var Title;
	var Img;
	
	for(i=0; i <= total-1;i++){
		var Obj = _dmFaceItEmos.Emotions[i];
		Id = Obj.Id;
		Title= Obj.Name;
		Img = Obj.Image;
		menuHtml = menuHtml + "<li class=\"\"><a class=\"moodMnu\" href=\"#\" id=\"moodMnu"+Id+"\"><img alt=\""+Title+"\" src=\""+Img+"\"/></a></li>";
	}
	menuHtml = menuHtml + "<span id=\"moodText\">"+_dmFaceItEmos.Emotions[0].Name+"</span></ul><div class=\"moodsClear\"/>";
	return menuHtml;	
}
function _fNews_BuildNewsContainer(){
	var cHtml = "<div id=\"gTabsBlockContainer0\" style=\"background-color:#fff;padding:4px 5px 0 10px;height: 170px;\">";
	var total = _dmFaceItEmos.Emotions.length;
	var Id;
	for(i=0; i <= total-1;i++){
		Id = _dmFaceItEmos.Emotions[i].Id;		
		cHtml = cHtml + "<div id=\"mood"+Id+"\" style=\"display: none;\"><ul class=\"bymood\"><img src=\""+_dmFaceItNImgBase+"ajax-loader.gif\"</ul></div>";
	}
	cHtml = cHtml + "</div>";
	//cHtml = cHtml + "</div><p class=\"moodline\"><a class=\"more\" href=\"#\">More</a><div class=\"moodsClear\"></div></p>";
	return cHtml;
}
function _fNews_BuildLI(title,url){
	if(title.length > 59)
		title = title.substring(59,0)+"...";
	return "<li><a class=\"moodtit\" href=\""+url+"\">"+title+"</a>"
	//<span class="by">Reuters  |  2 min ago</span></li>
}
function _fNews_loadNews(APIKEY){			
	var total = _dmFaceItEmos.Emotions.length;
	var Id;
	for(i=0; i <= total-1;i++){
		Id = _dmFaceItEmos.Emotions[i].Id;		
		_fNews_getNews(APIKEY,Id);
	}
}
function _fNews_getNews(APIKEY,Emoid){
	var url = _dmFaceItApiUrl + APIKEY + "&results=4&emotionid="+Emoid+"&callback=?";
	jQuery.getJSON(url,function(JSON){
		var query = "#mood"+Emoid+" > ul[class='bymood']";
		var html="";
		jQuery.each(JSON.Stories,function(i,Story){
			html = html+_fNews_BuildLI(Story.StoryEmotions.title,Story.StoryEmotions.url)
		});
				
		jQuery(query).html(html);
	});
}