﻿var ns6=document.getElementById&&!document.all
var ie4=document.all
var Selected_Month;
var Selected_Year;
var Current_Date = new Date();
var Current_Month = Current_Date.getMonth();
var Days_in_Month = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var Month_Label = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Ju', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
var Current_Year = Current_Date.getYear();
if (Current_Year < 1000)
Current_Year+=1900
var Today = Current_Date.getDate();
function Header(Year, Month) {

   if (Month == 1) {
   Days_in_Month[1] = ((Year % 400 == 0) || ((Year % 4 == 0) && (Year % 100 !=0))) ? 29 : 28;
   }
   var Header_String = Month_Label[Month] + ' ' + Year;
   return Header_String;
}
function Make_Calendar(Year, Month) {
   var First_Date = new Date(Year, Month, 1);
   var Heading = Header(Year, Month);
   var First_Day = First_Date.getDay() + 1;
   if (((Days_in_Month[Month] == 31) && (First_Day >= 6)) ||
       ((Days_in_Month[Month] == 30) && (First_Day == 7))) {
      var Rows = 6;
   }
   else if ((Days_in_Month[Month] == 28) && (First_Day == 1)) {
      var Rows = 4;
   }
   else {
      var Rows = 5;
   }

   var HTML_String = '<table valign="top" align="center" width="208px"><tr><td valign="top"><table style="border-collapse: collapse;color:#000000;" border=1 CELLSPACING=0 cellpadding=1  BGCOLOR="transparent" BORDERCOLORLIGHT="808080">';

   HTML_String += '<tr><th colspan=7 BGCOLOR="transparent" BORDERCOLOR="#e2e2e2"><image  src="images/back.gif" style="border:none;cursor:hand;" onclick="Skip(\'-\')" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' + Heading + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/next.gif"  style="border:none;cursor:hand;" onclick="Skip(\'+\');" /></font></th></tr>';

   HTML_String += '<tr style="font:size:8pt;font-family:Tahoma;text-align:center;" ><td ALIGN="CENTER" BGCOLOR="transparent" BORDERCOLOR="#e2e2e2">Sun</td><td ALIGN="CENTER" BGCOLOR="transparent" BORDERCOLOR="#e2e2e2">Mon</td><td ALIGN="CENTER" BGCOLOR="transparent" BORDERCOLOR="#e2e2e2">Tue</td><td ALIGN="CENTER" BGCOLOR="transparent" BORDERCOLOR="#e2e2e2">We</td>';

   HTML_String += '<td ALIGN="CENTER" BGCOLOR="transparent" BORDERCOLOR="#e2e2e2">Thu</td><td ALIGN="CENTER" BGCOLOR="transparent" BORDERCOLOR="#e2e2e2">Fr</td><td ALIGN="CENTER" BGCOLOR="transparent" BORDERCOLOR="#e2e2e2">St</td></tr>';

   var Day_Counter = 1;
   var Loop_Counter = 1;
   for (var j = 1; j <= Rows; j++) {
      HTML_String += '<tr ALIGN="left" VALIGN="top">';
      for (var i = 1; i < 8; i++) {
         if ((Loop_Counter >= First_Day) && (Day_Counter <= Days_in_Month[Month])) {
            if ((Day_Counter == Today) && (Year == Current_Year) && (Month == Current_Month)) {
            var xx=getTheEvent(Day_Counter,Month,Year);
            if(xx=="$")
                 HTML_String += '<td hight="29px" width="29px" BGCOLOR="transparent" BORDERCOLOR="#e2e2e2"><strong><font color="red">' + Day_Counter + '</font></strong></td>';
            else
             HTML_String += '<td hight="29px" width="29px"  title="'+xx+'" BGCOLOR="#e2e2e2" BORDERCOLOR="#e2e2e2"><strong><font color="red"><span style="cursor:hand;" onclick="ShowEvent(\''+xx+'\')">' + Day_Counter + '</span></font></strong></td>';         
                 
            }
            else {
                var xx=getTheEvent(Day_Counter,Month,Year);
            if(xx=="$")       
               HTML_String += '<td hight="29px" width="29px" BGCOLOR="transparent" BORDERCOLOR="#e2e2e2">' + Day_Counter + '</td>';
               else
               HTML_String += '<td hight="29px"  width="29px" title="'+xx+'" BGCOLOR="#e2e2e2" BORDERCOLOR="#e2e2e2"><span style="cursor:pointer;color:#990000;" onclick="ShowEvent(\''+xx+'\')">'+ Day_Counter + '</span></td>';
            }
            Day_Counter++;    
         }
         else {
            HTML_String += '<td BORDERCOLOR="C0C0C0"> </td>';
         }
         Loop_Counter++;
      }
      HTML_String += '</tr>';
   }
   HTML_String += '</table></td></tr></table>';
   cross_el=ns6? document.getElementById("Calendar") : document.all.Calendar
   cross_el.innerHTML = HTML_String;
}


function Check_Nums() {
   if ((event.keyCode < 48) || (event.keyCode > 57)) {
      return false;
   }
}

function getTheEvent(Day_Counter,Month,Year)
{
 for(var co=0;co<ev.length;co++)
  {
        
            if(ev[co][0]==Day_Counter && ev[co][1]==(Month+1) && ev[co][2]==Year)
            {
            return ev[co][3];
            }
   }
   return "$";

}


function On_Year() {
var da = new Date();
   var Year = da.getFullYear(); 
   if (Year.length == 4) {
      Selected_Month = document.getElementById('month').selectedIndex;
      Selected_Year = Year;
      Make_Calendar(Selected_Year, Selected_Month);
   }
}

function On_Month() {
var da = new Date();
   var Year = da.getFullYear();   
   if (Year.length == 4) {
      Selected_Month = document.getElementById('month').selectedIndex;
      Selected_Year = Year;
      Make_Calendar(Selected_Year, Selected_Month);
   }
   else {
      alert('Please enter a valid year.');
            
   }
}

function Defaults() {
   if (!ie4&&!ns6)
   {
   return
   }
   var Mid_Screen = Math.round(document.body.clientWidth / 2);
   var t= new Date();
   Selected_Month = t.getMonth();
   Selected_Year = t.getFullYear();
   Make_Calendar(Current_Year, Current_Month);
 
}





var WTimer=null;
var HTimer=null;
var EventText=null;
function ShowEvent(eveData)
{
EventText=eveData;
document.getElementById("EveBox").style.left=findPosX(document.getElementById("NavBar"))+"px";
document.getElementById("EveBox").style.top=findPosY(document.getElementById("NavBar"))+"px";
document.getElementById("EveBox").style.display="block";
WTimer=window.setInterval(ExpandWidth,20);
}

function ExpandWidth()
{
var ele=document.getElementById("EveBox");
ele.style.width=(parseFloat(ele.style.width)+10)+"px";
if(parseFloat(ele.style.width)>=210)
  {
   clearInterval(WTimer);   
   WTimer=null;
   ele.innerHTML=EventText;
   
  SetX();
  }
}

function SetX()
{
var ele=document.getElementById("EveBox");
var x=document.getElementById("x");
x.style.top=(parseFloat(ele.style.top)-13)+"px";
x.style.left=(parseFloat(ele.style.left)+219)+"px";
x.style.display="block";

}
 function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }


function ResetBox()
{
document.getElementById("EveBox").innerHTML=""
WCTimer=window.setInterval(CollapsWidth,20);
}

var WCTimer=null
function CollapsWidth()
{
var ele=document.getElementById("EveBox");
ele.style.width=(parseFloat(ele.style.width)-10)+"px";
if(parseFloat(ele.style.width)<=10)
  {
   clearInterval(WCTimer);   
   WCTimer=null;
   document.getElementById("EveBox").style.display="none";
  }

}
function IMG1_onclick() {
document.getElementById('x').style.display="none";
ResetBox();
}
/////////////////////////////
function Skip(Direction) {
   if (Direction == '+') {
      if (Selected_Month == 11) {
         Selected_Month = 0;
         Selected_Year++;
      }
      else {
         Selected_Month++;
      }
   }
   else {
      if (Selected_Month == 0) {
         Selected_Month = 11;
         Selected_Year--;
      }
      else {
         Selected_Month--;
      }
   }
///////////////////////////////////////////
 if(checkin(Selected_Month,Selected_Year)==false)
   {
        
        requestDateEvents(document.URL,Selected_Month+1,Selected_Year)
        Make_Calendar(Selected_Year, Selected_Month);
   }
   else
   {
        Make_Calendar(Selected_Year, Selected_Month);
   }
}
////////////////////////////////
function checkin(Month,Year)
{
var c =0;
try{
for(var co=0;co<ev.length;co++)
  {
            if(ev[co][1]==(Month+1) && ev[co][2]==Year)
            {
              if(typeof(ev[co][0])!='undefined' || ev[co][0]!=null ||ev[co][0]!="")
              {
                if(typeof(ev[co][3])!='undefined' ||ev[co][3]!=null || ev[co][3]!="" )
                  {
                  c=c+1;
                  break;
                  }                  
              }
            }
   }
   if(c!=0)
     return true;
   else
     return false;
     }
     catch(ex)
     {
     return false;
     }
}
///////////////////////////////
var xmlhttp;
function requestDateEvents(location,month,year)
{
var path=location.substr(location.lastIndexOf("/")+1);

    if(path.length<=3)
    {
    path="Default.aspx"
    }
    
    if (path.length==0)
          {
          alert ("Your browser does not support XMLHTTP 1 ");
          return;
          }
          
    xmlhttp=GetXmlHttpObject();
    
    if (xmlhttp==null)
          {
          alert ("Your browser does not support XMLHTTP");
          return;
          }
    var url=path;
    url=url+"?month="+month+"&year="+year+"";
    xmlhttp.onreadystatechange=stateChanged;
    xmlhttp.open("GET",url,false);
    xmlhttp.send(null);
}

function GetXmlHttpObject()
    {
        if (window.XMLHttpRequest)
              {
              return new XMLHttpRequest();
              }
        if (window.ActiveXObject)
              {
              return new ActiveXObject("Microsoft.XMLHTTP");
              }
        return null;
    }

function stateChanged()
    { 
        if (xmlhttp.readyState==4)
          {
           eval(xmlhttp.responseText);
           var counter=ev.length;
           if(newarr.length>0)
             {
              for(i=0;i<newarr.length;i++)
                 ev[counter+i]=newarr[i];
             }
          }
    }
