/*
  SimpleJsMin From YouYee OpenSource 
  2008 - 2009
*/

(function(){var GET_MOODS_URL='YouYeeViewPoint.getMoodList',Cache=YEE.services.Cache,Gateway=YEE.services.Gateway,StageModal=YEE.controls.StageModal,curDate=new Date();var calendarList=$('calendar_list'),monthCaption=$('month_caption');var calendarItems=calendarList.getElementsByTagName('li'),curData=[];var MONTH=[{name:'January',daysNum:31},{name:'February',daysNum:28},{name:'March',daysNum:31},{name:'April',daysNum:30},{name:'May',daysNum:31},{name:'June',daysNum:30},{name:'July',daysNum:31},{name:'August',daysNum:31},{name:'September',daysNum:30},{name:'October',daysNum:31},{name:'November',daysNum:30},{name:'December',daysNum:31}];Gateway.connect('./amfphp/json.php',true);function getMoodsByMonth(year,month){if(year.getFullYear){var y=year.getFullYear(),m=year.getMonth();year=y;month=m;}
var data=Cache.get([year,'-',month].join(''));if(data){renderMoodsList(data,year,month);}else{StageModal.showLoadingTips();Gateway.call(GET_MOODS_URL,{onSuccess:function(re){StageModal.hideLoadingTips();var data=eval(re);Cache.add([year,'-',month].join(''),data);renderMoodsList(data,year,month);},onError:function(){}},['{"year":',year,',"month":',month+1,'}'].join(''));}}
function isLeapYear(year){if(year%100==0){if(year%400==0){return true;}}else{if(year%4==0){return true;}}
return false;}
function renderMoodsList(data,year,month){curData=data;if(year.getDate){var y=year.getFullYear(),m=year.getMonth();year=y;month=m;}
monthCaption.innerHTML=MONTH[month].name+' - '+year;if(isLeapYear(year)){MONTH[1].daysNum=29;}
calendarList.style.display='none';var num=MONTH[month].daysNum;curDate.setYear(year);curDate.setMonth(month);curDate.setDate(1);var startIndex=curDate.getDay(),len=calendarItems.length;var endIndex=startIndex+num;for(var i=0;i<len;++i){if(i<startIndex||i>=endIndex){calendarItems[i].className='';calendarItems[i].style.visibility='hidden';}else{calendarItems[i].className='moods_item';calendarItems[i].innerHTML=['<span class="date">',i-startIndex+1,'</span>'].join('');calendarItems[i].style.visibility='';}}
if(data&&data.length){var temp={};for(var j=0;j<data.length;++j){var date=parseInt(data[j].date.split('-')[2],10);data[j].index=j;if(temp[date]){temp[date].push(data[j]);}else{temp[date]=[data[j]];}}
for(var k in temp){var index=parseInt(k,10)+startIndex-1;var a=document.createElement('a');a.href='javascript:;';a.onclick=function(){return false;}
a.innerHTML=['<span class="mood_hnum">',temp[k].length,'</span>',temp[k].length>1?'items':'item'].join('');YEE.Event.addEventListener(a,YEE.Event.CLICK,(function(dataItem){return function(){showMoodContent(dataItem[0].index);return false;};})(temp[k]));calendarItems[index].appendChild(a);}}
calendarList.style.display='';}
function showMoodContent(index){if(!moodViewer.enabled){moodViewer.enabled=true;StageModal.show();document.body.appendChild(moodViewer.dom);moodViewer.dom.style.display='';moodViewer.dom.style.position='absolute';YEE.Display.center(moodViewer.dom);}
moodViewer.curIndex=index;moodViewer.numViewer.innerHTML=curData.length-index+' of '+curData.length;var _c=curData[index].content.replace(/(?:SIZE\=")([0-9]+)(?:")/g,'style="font-size: $1px;"');if(curData[index].image_path){var imgHtml='<p><img src="./amfphp/services/images/'+curData[index].image_path+'" /></p>';_c=[_c,imgHtml].join('');}
moodViewer.contentViewer.innerHTML=_c;moodViewer.weatherViewer.className=curData[index].weather;moodViewer.title.innerHTML='MOOD OF '+curData[index].date+' '+curData[index].place;}
function hideMoodContent(){moodViewer.dom.style.display='none';document.body.removeChild(moodViewer.dom);moodViewer.enabled=false;StageModal.hide();}
function main(){var moodViewer=window.moodViewer={};moodViewer.dom=$('m_viewer');moodViewer.closeBtn=$('mv_close_btn');moodViewer.prevBtn=$('prev_mood_btn');moodViewer.nextBtn=$('next_mood_btn');moodViewer.title=$('mv_title');moodViewer.numViewer=$('mv_num_viewer');moodViewer.weatherViewer=$('mv_weather_viewer');moodViewer.contentViewer=$('mv_content_viewer');moodViewer.curIndex=0;var nextMood=function(evt){if(!moodViewer.enabled){return false;}
moodViewer.curIndex++;if(moodViewer.curIndex>=curData.length){moodViewer.curIndex=0;}
showMoodContent(moodViewer.curIndex);YEE.Event.preventDefault(evt);return false;}
YEE.Event.addEventListener(moodViewer.prevBtn,YEE.Event.CLICK,nextMood);var prevMood=function(evt){if(!moodViewer.enabled){return false;}
moodViewer.curIndex--;if(moodViewer.curIndex<0){moodViewer.curIndex=curData.length-1;}
showMoodContent(moodViewer.curIndex);YEE.Event.preventDefault(evt);return false;}
YEE.Event.addEventListener(moodViewer.nextBtn,YEE.Event.CLICK,prevMood);YEE.Event.addEventListener(moodViewer.closeBtn,YEE.Event.CLICK,function(evt){hideMoodContent();});YEE.Event.addEventListener($('prev_month_btn'),YEE.Event.CLICK,function(evt){curDate.setMonth(curDate.getMonth()-1);getMoodsByMonth(curDate);return false;});YEE.Event.addEventListener($('next_month_btn'),YEE.Event.CLICK,function(evt){curDate.setMonth(curDate.getMonth()+1);getMoodsByMonth(curDate);return false;});YEE.Event.addEventListener(document,'keyup',function(evt){if(YEE.Keys.getKeyCode(evt)==YEE.Keys.ESC){hideMoodContent();}else if(YEE.Keys.getKeyCode(evt)==YEE.Keys.LEFT||YEE.Keys.getKeyCode(evt)==YEE.Keys.LEFT_MAC||YEE.Keys.getKeyCode(evt)==YEE.Keys.UP||YEE.Keys.getKeyCode(evt)==YEE.Keys.UP_MAC){nextMood();}else if(YEE.Keys.getKeyCode(evt)==YEE.Keys.RIGHT||YEE.Keys.getKeyCode(evt)==YEE.Keys.RIGHT_MAC||YEE.Keys.getKeyCode(evt)==YEE.Keys.DOWN||YEE.Keys.getKeyCode(evt)==YEE.Keys.DOWN_MAC){prevMood();}});getMoodsByMonth(curDate);}
main();})();