var currenDateIndex=0;var nextMonthIndex=0;var countYears=0;var curDate=new Date();curDate=new Date(curDate.getTime()+(curDate.getTimezoneOffset()*60*1000)+curOffSetValue());var prevYearValue=curDate.getFullYear();var prevMonthIndex=0;var curCalIndex=0;var prevCalIndex=0;var calPosition=0;var assignTaskToDate=0;var taskPanelActive=false;var holdTaskYear=new Array();var holdTaskMonth=new Array();var holdTaskDate=new Array();var holdTaskEvent=new Array();var currentYear=curDate.getFullYear();var currentMonth=curDate.getMonth();var currentActualDate=curDate.getDate();var dataIndex=0;var assignTaskData=new Array();var prevAssignData=new Array();var currentWidget=0;var firstDateIndex=0;var monthStatus=false;var countMonths=0;var firstMonthDateIndex=0;function launchCalendarPanel(A){currentWidget=A;getCalendarDetails(A)}function updateCalendarPanel(){countMonths=0;document.getElementById("calendarYearPanel").innerHTML=getMonthIndex(2,nextMonthIndex);var D="";var B="";var E=getFirstDate();var G=(E>4?49:42);for(var C=0;C<G;C++){if(C>=0&&C<=6){B+='<td height="20px" width="60px" align="center" valign="middle" class="calendarGrid" >'+dayValue(C)+"</td>"}else{var A=(C-7);var F=getCurrentDate(A);B+='<td id="calDateValue'+A+'" height="25px" width="60px" align="center" valign="middle" class="calendarGrid" '+(statusInfo==1?'style="cursor:pointer;" onmouseover="selDatePanel('+A+')" onclick="putTaskByMouse('+A+');"':"")+'><span id="currentDate'+A+'">'+F+'</span><table height="5px" align="left" valign="bottom"><tr><td height="2px" width="2px" id="color'+A+'1" style="font-size:2px;'+showAssignedTask(A,F,1)+'">&nbsp;</td><td height="2px" width="2px" id="color'+A+'2" style="font-size:2px;'+showAssignedTask(A,F,2)+'">&nbsp;</td><td height="2px" width="2px" id="color'+A+'3" style="font-size:2px;'+showAssignedTask(A,F,3)+'">&nbsp;</td></tr></table></td>'}if((C+1)%7==0){D+="<tr>"+B+"</tr>";B=""}}document.getElementById("calendarPanel").innerHTML='<table width="450px" height="240px" >'+D+"</table>";updateDayPanel();showCalendarPanel();showAssignedTask()}function showAssignedTask(F,A,E){var G=curDate.getFullYear();var B=curDate.getMonth();var C=curDate.getDate();for(var D=0;D<assignTaskData.length;D++){var H=assignTaskData[D].split("|");if(H[0]==currentYear&&currentMonth==H[1]&&A==H[2]&&E==H[3]){if(currentYear>=G){if(currentYear==G){if(currentMonth>=B){if(currentMonth==B){if(A>=C){var I=(H[3]==1?"red":(H[3]==2?"#f5bf05":"#36ad34"));return"background:"+I+";"}}else{var I=(H[3]==1?"red":(H[3]==2?"#f5bf05":"#36ad34"));return"background:"+I+";"}}}else{var I=(H[3]==1?"red":(H[3]==2?"#f5bf05":"#36ad34"));return"background:"+I+";"}}}}return""}function updateDayPanel(){var A=curDate.getFullYear();var C=curDate.getMonth();var B=curDate.getDate();if(A==currentYear){if(C==currentMonth){if(B==getCurrentDate(currenDateIndex)){monthStatus=true;firstMonthDateIndex=currenDateIndex;document.getElementById("calDateValue"+currenDateIndex).style.background="#456a29";return }}}monthStatus=false;document.getElementById("calDateValue"+firstDateIndex).style.background="#456a29"}function highLightCurrentDate(){if(monthStatus==false){if(document.getElementById("calDateValue"+firstDateIndex)!=null){document.getElementById("calDateValue"+firstDateIndex).style.background="none"}}if(monthStatus){document.getElementById("calDateValue"+prevCalIndex).style.background="none";document.getElementById("calDateValue"+curCalIndex).style.background="#568236";if(document.getElementById("calDateValue"+firstMonthDateIndex)!=null){document.getElementById("calDateValue"+firstMonthDateIndex).style.background="#456A29"}}else{document.getElementById("calDateValue"+prevCalIndex).style.background="none";document.getElementById("calDateValue"+curCalIndex).style.background="#568236"}}function dayValue(A){var B="";switch(A){case 0:B="SUN";break;case 1:B="MON";break;case 2:B="TUE";break;case 3:B="WED";break;case 4:B="THU";break;case 5:B="FRI";break;case 6:B="SAT";break}return B}function getFirstDate(){try{var E=new Date();E=new Date(E.getTime()+(E.getTimezoneOffset()*60*1000)+curOffSetValue());E=new Date(E.getTime()+nextMonthIndex*(getMonthIndex(1,nextMonthIndex)*24*60*60*1000));var D=E.getDay();var C=E.getDate();var A=C+(6-D);var K=(A%7);var G=0;var H=7;for(var F=K;F>=0;--F){++G;--H;if(F==1){break}}var B=7-G;var I=H;return I}catch(J){}}function getCurrentDate(H){try{var E=new Date();E=new Date(E.getTime()+(E.getTimezoneOffset()*60*1000)+curOffSetValue());E=new Date(E.getTime()+nextMonthIndex*(getMonthIndex(1,nextMonthIndex)*24*60*60*1000));var D=E.getDay();var C=E.getDate();var A=C+(6-D);var M=(A%7);var G=0;var I=7;for(var F=M;F>=0;--F){++G;--I;if(F==1){break}}var B=7-G;var J=I;if(H<J){return"&nbsp;"}else{var L=H-J+1;if(L==C){currenDateIndex=H}if(L>getMonthIndex(1,nextMonthIndex)){return"&nbsp;"}if(L==1){firstDateIndex=H}return L}}catch(K){}}function getMonthIndex(D,C){try{var B=new Date();B=new Date(B.getTime()+(B.getTimezoneOffset()*60*1000)+curOffSetValue());var E=0;if(C!=0){E=B.getMonth()+C;if(E>=0){if(E%12==0){countYears=E/12}E=(E>11?(E-(12*countYears)):E);if(E<0){E=12+E}else{if(E>11){E=E-12}}}else{E=-1*E;var G=E%12;if(G==0){countYears=E/12}E=(E>11?((12*countYears)-E):12-E);if(E<0){E=12+E}else{if(E>11){E=E-12}}}}else{E=B.getMonth()}var F=B.getFullYear();var I=B.getMonth();if(nextMonthIndex>=0){var A=(nextMonthIndex+I)/12;F=parseInt(A)+F}else{var A=((11-I)-nextMonthIndex)/12;F=F-parseInt(A)}currentYear=F;currentMonth=E;prevYearValue=F;switch(E){case 0:return(D==1?31:("January - "+F));break;case 1:if(F%4==0){return(D==1?29:("February - "+F))}else{return(D==1?28:("February - "+F))}break;case 2:return(D==1?31:("March - "+F));break;case 3:return(D==1?30:("April - "+F));break;case 4:return(D==1?31:("May - "+F));break;case 5:return(D==1?30:("June - "+F));break;case 6:return(D==1?31:("July - "+F));break;case 7:return(D==1?31:("August - "+F));break;case 8:return(D==1?30:("September - "+F));break;case 9:return(D==1?31:("October - "+F));break;case 10:return(D==1?30:("November - "+F));break;case 11:return(D==1?31:("December - "+F));break}}catch(H){}}function changeMonth(A){resetTaskPanel();document.getElementById("calLeftPanel").style.background="none";document.getElementById("calRightPanel").style.background="none";if(A==2){document.getElementById("calRightPanel").style.background="#fcf3b8"}else{document.getElementById("calLeftPanel").style.background="#fcf3b8"}calPosition=(A==2?1:2);prevMonthIndex=nextMonthIndex;(A==1?--nextMonthIndex:++nextMonthIndex);updateCalendarPanel()}function getMonthDetail(B,D){var A=new Date();A=new Date(A.getTime()+(A.getTimezoneOffset()*60*1000)+curOffSetValue());var C=A.getFullYear();C=C+(nextMonthIndex-prevMonthIndex);switch(D){case 0:return(B==1?31:("January - "+C));break;case 1:if(C%4==0){return(B==1?29:("February - "+C))}else{return(B==1?28:("February - "+C))}break;case 2:return(B==1?31:("March - "+C));break;case 3:return(B==1?30:("April - "+C));break;case 4:return(B==1?31:("May - "+C));break;case 5:return(B==1?30:("June - "+C));break;case 6:return(B==1?31:("July - "+C));break;case 7:return(B==1?31:("August - "+C));break;case 8:return(B==1?30:("September - "+C));break;case 9:return(B==1?31:("October - "+C));break;case 10:return(B==1?30:("November - "+C));break;case 11:return(B==1?31:("December - "+C));break}}function putTaskReminder(){var J=curDate.getFullYear();var A=curDate.getMonth();var D=curDate.getDate();var M=0;if(curCalIndex==0&&prevCalIndex==0){M=currenDateIndex}else{M=curCalIndex}currentActualDate=getCurrentDate(M);if(currentActualDate>=1&&currentActualDate<=31){}else{return 0}if(currentYear<J){return 0}if(currentYear==J){if(currentMonth<A){return 0}if(currentMonth==A){if(currentActualDate<D){return 0}}}try{var H=new Array();var I=currentYear-J;dataIndex=(dataIndex<0?0:dataIndex);if(assignTaskData.length>0){var G=dataIndex-1;for(var E=0;E<assignTaskData.length;E++){var L=assignTaskData[E].split("|");if(L[0]==currentYear&&currentMonth==L[1]&&currentActualDate==L[2]&&assignTaskToDate==L[3]){var F=0;for(var C=0;C<assignTaskData.length;C++){if(E!=C){H[F]=assignTaskData[C];++F}}if(H.length>0){--dataIndex;assignTaskData=new Array();for(var C=0;C<H.length;C++){assignTaskData[C]=H[C]}removeAssignedTask(M,assignTaskToDate)}return 1}}}var B=currentYear+"|"+currentMonth+"|"+currentActualDate+"|"+assignTaskToDate+"|"+dataIndex;assignTaskData.unshift(B);++dataIndex}catch(K){}document.getElementById("color"+M+""+assignTaskToDate).style.background=(assignTaskToDate==1?"red":(assignTaskToDate==2?"#f5bf05":"#36ad34"));return 1}function removeAssignedTask(B,A){document.getElementById("color"+B+""+A).style.background=(A==1?"none":(A==2?"none":"none"))}function highLightTaskPanel(){document.getElementById("assignTask"+1).style.fontSize="16px";document.getElementById("assignTask"+2).style.fontSize="16px";document.getElementById("assignTask"+3).style.fontSize="16px"}function calendarKeyHandler(C){switch(C){case rcOK:if(taskPanelActive){var B=putTaskReminder();if(B==0){taskPanelActive=false;highLightTaskPanel();assignTaskToDate=0}return }if(calPosition==1){changeMonth(2)}else{if(calPosition==2){changeMonth(1)}else{if(calPosition==0){taskPanelActive=true;assignTaskToDate=1;document.getElementById("assignTask"+assignTaskToDate).style.fontSize="20px"}}}break;case rcLEFT:if(taskPanelActive){highLightTaskPanel();if(assignTaskToDate==1){assignTaskToDate=3}else{if(assignTaskToDate==2){assignTaskToDate=1}else{if(assignTaskToDate==3){assignTaskToDate=2}}}document.getElementById("assignTask"+assignTaskToDate).style.fontSize="20px";return }if(calPosition==0){if(curCalIndex==0&&prevCalIndex==0){if(monthStatus){curCalIndex=currenDateIndex-1}else{curCalIndex=firstDateIndex+1}}else{prevCalIndex=curCalIndex;curCalIndex-=1}try{highLightCurrentDate()}catch(A){curCalIndex+=1;document.getElementById("calRightPanel").style.background="none";document.getElementById("calLeftPanel").style.background="#fcf3b8";calPosition=2}}else{if(calPosition==1){document.getElementById("calRightPanel").style.background="none";document.getElementById("calLeftPanel").style.background="#fcf3b8";calPosition=2}else{if(calPosition==2){document.getElementById("calRightPanel").style.background="#fcf3b8";document.getElementById("calLeftPanel").style.background="none";calPosition=1}}}break;case rcRIGHT:if(taskPanelActive){highLightTaskPanel();if(assignTaskToDate==1){assignTaskToDate=2}else{if(assignTaskToDate==2){assignTaskToDate=3}else{if(assignTaskToDate==3){assignTaskToDate=1}}}document.getElementById("assignTask"+assignTaskToDate).style.fontSize="20px";return }if(calPosition==0){if(curCalIndex==0&&prevCalIndex==0){if(monthStatus){curCalIndex=currenDateIndex+1}else{curCalIndex=firstDateIndex+1}}else{prevCalIndex=curCalIndex;curCalIndex+=1}try{highLightCurrentDate()}catch(A){curCalIndex-=1;document.getElementById("calRightPanel").style.background="#fcf3b8";document.getElementById("calLeftPanel").style.background="none";calPosition=1}}else{if(calPosition==1){document.getElementById("calRightPanel").style.background="none";document.getElementById("calLeftPanel").style.background="#fcf3b8";calPosition=2}else{if(calPosition==2){document.getElementById("calRightPanel").style.background="#fcf3b8";document.getElementById("calLeftPanel").style.background="none";calPosition=1}}}break;case rcUP:if(taskPanelActive){taskPanelActive=false;highLightTaskPanel();assignTaskToDate=0;return }if(calPosition==0){if(curCalIndex==0&&prevCalIndex==0){if(monthStatus){curCalIndex=currenDateIndex-7}else{curCalIndex=firstDateIndex-7}}else{prevCalIndex=curCalIndex;curCalIndex-=7}if(curCalIndex<0){calPosition=1;curCalIndex+=7;if(monthStatus){if(curCalIndex!=firstDateIndex){document.getElementById("calDateValue"+curCalIndex).style.background="none"}}else{document.getElementById("calDateValue"+curCalIndex).style.background="none"}document.getElementById("calRightPanel").style.background="#fcf3b8"}else{highLightCurrentDate()}}else{if(calPosition==1||calPosition==2){calPosition=0;document.getElementById("calRightPanel").style.background="none";document.getElementById("calLeftPanel").style.background="none";if(monthStatus){curCalIndex=currenDateIndex}else{curCalIndex=firstDateIndex}highLightCurrentDate()}}break;case rcDOWN:if(taskPanelActive){taskPanelActive=false;highLightTaskPanel();assignTaskToDate=0;return }if(calPosition==0){if(curCalIndex==0&&prevCalIndex==0){if(monthStatus){curCalIndex=currenDateIndex+7}else{curCalIndex=firstDateIndex+7}}else{prevCalIndex=curCalIndex;curCalIndex+=7}try{highLightCurrentDate()}catch(A){calPosition=1;curCalIndex-=7;document.getElementById("calDateValue"+curCalIndex).style.background="none";document.getElementById("calRightPanel").style.background="#fcf3b8"}}else{if(calPosition==1||calPosition==2){calPosition=0;document.getElementById("calRightPanel").style.background="none";document.getElementById("calLeftPanel").style.background="none";if(monthStatus){curCalIndex=currenDateIndex}else{curCalIndex=firstDateIndex}highLightCurrentDate()}}break;case rcMENU:saveCalendarData();break;case rcREFRESH:refreshSTB();break}}function resetCalendar(){calendarActive=false;currenDateIndex=0;nextMonthIndex=0;countYears=0;prevYearValue=curDate.getFullYear();prevMonthIndex=0;curCalIndex=0;prevCalIndex=0;calPosition=0}function saveCalendarData(){for(var A=0;A<assignTaskData.length;A++){prevAssignData[A]=assignTaskData[A]}var C="method=saveCalendarDetails&assignedData="+encodeURIComponent(assignTaskData)+"&widgetId="+currentWidget+"&serial="+serial;var B={success:function(E){try{resetCalendar();showGoPanel();showGuidePanel()}catch(D){}},failure:function(D){failureInfo()}};YAHOO.util.Connect.asyncRequest("POST",serverUrl,B,C);return false}function getCalendarDetails(B){var C="method=getCalendarDetails&widgetId="+B+"&serial="+serial;var A={success:function(G){try{var D=YAHOO.lang.JSON.parse(G.responseText);for(var E=0;E<D.length;E++){assignTaskData[E]=D[E]}dataIndex=(assignTaskData.length-1<0?0:assignTaskData.length-1);updateCalendarPanel()}catch(F){}},failure:function(D){failureInfo()}};YAHOO.util.Connect.asyncRequest("POST",serverUrl,A,C);return false}function exitCalPanel(){saveCalendarData()}function putTaskByMouse(A){resetArrowIndex();highLightTaskPanel();taskPanelActive=false;calPosition=0;curCalIndex=A;highLightCurrentDate();prevCalIndex=A;calendarKeyHandler(rcOK)}function assignTaskByClick(A){if(taskPanelActive){resetArrowIndex();assignTaskToDate=A;calendarKeyHandler(rcOK)}}function selectTaskPanel(A){if(taskPanelActive){highLightTaskPanel();assignTaskToDate=A;document.getElementById("assignTask"+assignTaskToDate).style.fontSize="20px"}}function selChangeMonth(A){}function selDatePanel(A){}function resetTaskPanel(){taskPanelActive=false;assignTaskToDate=1;highLightTaskPanel()}function resetArrowIndex(){calPosition=0;document.getElementById("calRightPanel").style.background="none";document.getElementById("calLeftPanel").style.background="none"}function selCalHomePanel(B){var A=(B==1?"#FCF3B8":"none");document.getElementById("calHomePanel").style.background=A}