// JavaScript Document

function SFSP(f,t,x,m,r)
{
  if(null!=t && null!=f.spsh)
    f.spsh.value=t;
  if(null!=f.spsi)
    f.spsi.value=(m?m:"VAC")+"^-1^1";
  f.submit();
  SFSP2(t,x,r);
}

function ServPushBack()
{
  history.go(-1);
}

var g_cG=6;
var g_ixG=0;
var g_rgG=new Array(g_cG);
var g_cLp=0;
var g_cLpMax=295;

function UGif()
{
  g_cLp++;
  if(g_cLp==g_cLpMax)
  {
    if ("block"==document.all.XT1.style.display)
    {
      document.all.XT1.style.display="none";
      document.all.XT2.style.display="block";
    }
  }
  var i=document.images.AImg;
  if(null!=i)
  {
    g_ixG++;
    i.src=g_rgG[g_ixG%g_cG].src;
    i.alt=g_rgG[g_ixG%g_cG].alt;
    setTimeout("UGif()",1000);
  }
}

function SFSP2(t,x,r)
{
  var d;
  if(null==r)
    d=document;
  else
    d=parent.frames[r].document;
  if(null!=d&&!fTSR)
  {
    var i;
    for(i=1;i<=g_cG;i++)
    {
      g_rgG[i-1]=document.createElement("IMG");
      g_rgG[i-1].src="/images/stamp"+i+".gif";
      g_rgG[i-1].alt="Please wait...";
    }
    if(null!=d.all.EntirePage)
    {
      d.all.EntirePage.style.display="none";
      if(null!=d.all.TailSpan && "undefined"!=typeof(d.all.TailSpan))
        d.all.TailSpan.style.display="none";
      if("complete"==d.readyState)
        d.all.PT.innerHTML=(null!=t)?t:"";
      if(null!=x)
        d.all.XT1.style.display=(x)?"block":"none";
      d.all.PushPage.style.display="block";
      setTimeout("UGif()",1000);
    }
  }
}

/* Day of the week start */
function GetDowStart()
{
  return 0;
}

/* DateFormat finder */
function GetDateFmt()
{
  return "ddmmyy"; 
 //return "mmddyy";
}

/* Gets date seperator */
function GetDateSep()
{
  return "/";
}

var g_MINY = 1601;
var g_MAXY = 4500;
var g_month = 0;
var g_day = 0;
var g_year = 0;
var g_yLow = 1990;

function GetInputDate(t,f)
{
  var l = t.length;
  if(0 == l)
    return false;
  var cSp = '\0';
  var sSp1 = "";
  var sSp2 = "";
  for(var i = 0; i < t.length; i++)
  {
    var c = t.charAt(i);
    if(c == ' ' || isdigit(c))
      continue;
    else if(cSp == '\0' && (c == '/' || c == '-' || c == '.'))
    {
      cSp = c;
      sSp1 = t.substring(i+1,l);
    }
    else if(c == cSp)
      sSp2 = t.substring(i+1,l);
    else if(c != cSp)
      return false;
  }
  if(0 == sSp1.length)
    return false;
  var m;
  var d;
  var y; if(f=="mmddyy")
  {
    m = atoi(t);
    d = atoi(sSp1);
    if(0 != sSp2.length)
      y = atoi(sSp2);
    else
      y = DefYr(m,d);
  }
  else if(f=="ddmmyy")
  {
    m = atoi(sSp1);
    d = atoi(t);
    if(0 != sSp2.length)
      y = atoi(sSp2);
    else
      y = DefYr(m,d);
  }
  else
  {
    if(0 == sSp2.length)
      return false;
    m = atoi(sSp1);
    d = atoi(sSp2);
    y = atoi(t);
  }
  if(y < 100)
  {
    y = 1900+y;
    while(y < g_yLow)
      y = y+100;
  }
  if(y < g_MINY || y > g_MAXY || m < 1 || m > 12)
    return false;
  if(d < 1 || d > GetMonthCount(m,y))
    return false;
  g_month = m;
  g_day = d;
  g_year = y;
  return true;
}

function DefYr(m,d)
{
  var dt = new Date();
  var yCur = (dt.getYear() < 1000) ? 1900+dt.getYear() : dt.getYear();
  if(m-1 < dt.getMonth() || (m-1 == dt.getMonth() && d < dt.getDate()))
    return 1+yCur;
  else
    return yCur;
}

function atoi(s)
{
  var t = 0;
  for(var i = 0; i < s.length; i++)
  {
    var c = s.charAt(i);
    if(!isdigit(c))
      return t;
    else
      t = t*10 + (c-'0');
  }
  return t;
}

function isdigit(c)
{
  return(c >= '0' && c <= '9');
}

function GetMonthCount(m,y)
{
  var c = rgMC[m-1];
  if((2 == m) && IsLeapYear(y))
    c++;
  // var newdude=c; //test
  // alert(newdude); //test
  return c;
}

function IsLeapYear(y)
{
  if(0 == y % 4 && ((y % 100 != 0) || (y % 400 == 0)))
    return true;
  else
    return false;
}

var rgMC = new Array(12);
rgMC[0] = 31;rgMC[1] = 28;rgMC[2] = 31;rgMC[3] = 30;rgMC[4] = 31;rgMC[5] = 30;rgMC[6] = 31;rgMC[7] = 31;rgMC[8] = 30;rgMC[9] = 31;rgMC[10] = 30;rgMC[11] = 31;

var g_eC=null;
var g_eCV="";
var g_dFmt=GetDateFmt();
var g_fnCB=null;

function ShowCalendar(eP,eD,eDP,dmin,dmax,fnCB)
{
  var dF=document.all.CalFrame;
  var wF=window.frames.CalFrame;
  if(null==wF.g_fCalLoaded || false==wF.g_fCalLoaded)
  {
    alert("Unable to load popup calendar.\r\nPlease reload the page.");
    return;
  }
  wF.SetMinMax(new Date(dmin),new Date(dmax));
  g_fnCB=fnCB;
  if(eD==g_eC && "block"==dF.style.display)
  {
    if(g_eCV != eD.value && GetInputDate(eD.value,g_dFmt))
    {
      wF.SetInputDate(g_day,g_month,g_year);
      wF.SetDate(g_day,g_month,g_year);
      g_eCV=eD.value;
    }
    else
      dF.style.display="none";
  }
  else
  {
    if(GetInputDate(eD.value,g_dFmt))
    {
      wF.SetInputDate(g_day,g_month,g_year);
      wF.SetDate(g_day,g_month,g_year);
    }
    else if(null != eDP && GetInputDate(eDP.value,g_dFmt))
    {
      wF.SetInputDate(g_day,g_month,g_year);
      wF.SetDate(g_day,g_month,g_year);
    }
    else
    {
      var dt=new Date(dmin);
      wF.SetInputDate(-1,-1,-1);
      wF.SetDate(dt.getDate(),dt.getMonth()+1,dt.getFullYear());
    }
    var eL=0;var eT=0;
    for(var p=eP; p&&p.tagName!='BODY'; p=p.offsetParent)
    {
      eL+=p.offsetLeft;
      eT+=p.offsetTop;
    }
    var eH=eP.offsetHeight;
    var dH=dF.style.pixelHeight;
    var sT=document.body.scrollTop;
    dF.style.left=eL;
    if(eT-dH >= sT && eT+eH+dH > document.body.clientHeight+sT)
      dF.style.top=eT-dH;
    else
      dF.style.top=eT+eH;
    if("none"==dF.style.display)
      dF.style.display="block";
    g_eC=eD;
    g_eCV=eD.value;
  }
}

function ShowCalendar2(eP,month,year,dayBitMask)
{
  var dF=document.all.CalFrame;
  var wF=window.frames.CalFrame;
  if(null==wF.g_fCalLoaded || false==wF.g_fCalLoaded)
  {
    alert("Unable to load popup calendar.\r\nPlease reload the page.");
    return;
  }
  wF.InitCalInfo(month,year,dayBitMask);
  if("block"==dF.style.display)
  {
    dF.style.display="none";
  }
  else
  {
    wF.SetDays();
    var eL=0;var eT=0;
    for(var p=eP; p&&p.tagName!='BODY'; p=p.offsetParent)
    {
      eL+=p.offsetLeft;
      eT+=p.offsetTop;
    }
    var eH=eP.offsetHeight;
    var dH=dF.style.pixelHeight;
    var sT=document.body.scrollTop;
    dF.style.left=eL;
    if(eT-dH >= sT && eT+eH+dH > document.body.clientHeight+sT)
      dF.style.top=eT-dH;
    else
      dF.style.top=eT+eH;
    dF.style.display="block";
  }
}

function SetDate(d,m,y)
{
  var ds=GetDateSep();
  g_eC.focus();
  if("mmddyy"==g_dFmt)
    g_eC.value=m+ds+d+ds+y;
  else if("ddmmyy"==g_dFmt)
    g_eC.value=d+ds+m+ds+y;
  else
    g_eC.value=y+ds+m+ds+d;
  g_eCV=g_eC.value;
  if(null != g_fnCB && "" != g_fnCB)
    eval(g_fnCB);
}

function GetDOW2(d,m,y)
{
  var dt=new Date(y,m-1,d);
  // var newdude=(dt.getDay()+(7-GetDowStart()))%7; //test
  // alert(newdude); //test
  return(dt.getDay()+(7-GetDowStart()))%7;
}

function LoadMonths(n)
{
  var dt=new Date();
  var m=dt.getMonth()+1;
  var y=dt.getFullYear();
  var rg=new Array(n);
  for(i=0; i < n; i++)
  {
    rg[i]=document.createElement("IMG");
    rg[i].src="/images/w" + GetDOW2(1,m,y) + "d" + GetMonthCount(m,y) + ".gif";
    m++;
    if(12 < m)
    {
      m=1;
      y++;
    }
  }
}

LoadMonths(12);

///////////////////////////////////////

function flipDateStr(str)
{
	var a = str.split("/");
	return (a[1]+"/"+a[0]+"/"+a[2]);
}

function getToday()
{
	var md = new Date();
	return (md.getMonth()+1)+"/"+md.getDate()+"/"+md.getYear();
}

function y2k(y)
{
		return (y < 1000) ? y + 1900 : y; 
}

function jumpDays (today,n)
{
	return (new Date(Date.UTC(y2k(today.getYear()),today.getMonth(),today.getDate(),today.getHours(),today.getMinutes(),today.getSeconds()) + n*24*60*60*1000));					
}
///
var today = getToday();
var ld = jumpDays(new Date(today), 365);
var latter = (ld.getMonth()+1)+"/"+ld.getDate()+"/"+ld.getYear();
//
