// JScript source code
function TESTF( Y){
  var M = Y - 12;
  M = parseInt(M / 29);
  M = M * 29;
  M = M - (-12);
  M = Y - M;
  M = M % 4;
  var N = Y;
  N++;
  N = N - 12;
  N = parseInt(N / 29);
  N = N * 29;
  N = N - (-12);
  T = Y -(-1);
  N = T - N;
  N = N % 4;
  if( (M ==0) && (N != 0) )
    return true;
  else
    return false;  
}    

//========================================================
function TESTM (Y){
  if(Y % 4 ==0)
    return true;
  else
    return false;
}      
//========================================================
function DaysF(N){
  switch(N){
    case 0 : return "يك شنبه";
    case 1 : return "دوشنبه";    
    case 2 : return "سه شنبه";
    case 3 : return "چهار شنبه";
    case 4 : return "پنج شنبه";
    case 5 : return "جمعه";
    case 6 : return "شنبه";
  }  
  return;
}
//========================================================
function DaysM(N){
  switch(N){
    case 1 : return "Mon";    
    case 2 : return "Tue";
    case 3 : return "Wed";
    case 4 : return "Thu";
    case 5 : return "Fri";
    case 6 : return "Sat";
    case 0 : return "Sun";
  }  
  return;
}
//========================================================
function MonthF(N){
  switch(N){
    case 1  : return "فروردين";
    case 2  : return "ارديبهشت";
    case 3  : return "خرداد";
    case 4  : return "تير";
    case 5  : return "مرداد";
    case 6  : return "شهريور";
    case 7  : return "مهر";
    case 8  : return "آبان";
    case 9  : return "آذر";
    case 10 : return "دي";
    case 11 : return "بهمن";
    case 12 : return "اسفند";
  }
  return;
}
//========================================================
function MonthM(N){
  switch(N){
    case 1  : return "January";
    case 2  : return "February";
    case 3  : return "March";
    case 4  : return "April";
    case 5  : return "May";
    case 6  : return "June";
    case 7  : return "July";
    case 8  : return "August";
    case 9  : return "September";
    case 10 : return "October";
    case 11 : return "November";
    case 12 : return "December";
  }
  return;
}
//========================================================
function DateF(Num){
  var TDate = new Date();
  var Y = TDate.getFullYear();
  var M = TDate.getMonth() + 1;
  var D = TDate.getDate();
  var Dw = TDate.getDay();    
  // Sal Miladi Kabiseh 
  var M_YEAR366 = new Array(0,00,01,00,02,01,01,00,00,00,-1,00,00);  
  // Sal Shamsi Kabiseh 
  var SH_YEAR366 = new Array(0,00,01,-1,00,-1,-1,-2,-2,-2,-3,-2,-2);  
  // Sal Shamsi And Miladi Kabise
  var SH_YEAR366_AND_SH_YEAR366 = new Array(0,00,01,00,01,00,00,-1,-1,-1,-2,-1,-1);   
  var YEARS = new Array(0,00,01,-1,01,00,00,-1,-1,-1,-2,-1,-1);  
  var Y1,M1,D1;
  var SH_YEAR,M_YEAR;
  var GG;
  var MKABISEH,SKABISEH;
  var MKABISEHB,SKABISEHB;
  var MKABISEHN,SKABISEHN;
  
  GG = true;  
  SH_YEAR = 1374;
  M_YEAR  = 1996;
  D1 = D-1;
  M1 = M-1;
  Y1 = Y-Y;
  SH_YEAR = SH_YEAR + (Y - M_YEAR);
  MF = 10 + M1;
  YF = SH_YEAR + Y1;  
  MKABISEH = TESTM (Y);    
  SKABISEH = TESTF (YF);
  MKABISEHB = TESTM (Y-1);  
  SKABISEHB = TESTF (YF-1);
  MKABISEHN = TESTM (Y+1);  
  SKABISEHN = TESTF (YF+1);
      
  if( (!SKABISEH) && (!MKABISEH))
    if((SKABISEHN) && (MKABISEHB))
      DF = 12+D1+(YEARS[M]);
    else      
      DF = 11 + D1 + (YEARS[M]);      
  else
    if( (SKABISEH) && (MKABISEH))
       DF = 11 + D1 + (SH_YEAR366_AND_SH_YEAR366[M]);
    else
     if((SKABISEH) && (MKABISEHN))
       DF = 11 + D1 + (SH_YEAR366[M]);
     else     
       if((SKABISEH) && (!MKABISEHN))
         DF = 12 + D1 + (SH_YEAR366[M]);
       else       
         if((MKABISEH) && (SKABISEHB))
             DF = 10 + D1 + (M_YEAR366[M]);
         else         
           if((MKABISEH) && (!SKABISEHB))
              DF = 11 + D1 + (M_YEAR366[M]);
  GG = true;  
  do{
    if((DF>31) && (MF<7)){
      DF = DF-31;
      MF = MF+1;
    }
    else
      if( (DF>30) && ((MF>6) && (MF<12))){
        DF = DF - 30;
        MF = MF + 1;
      }
      else
        if( (DF>29) && (MF == 12) && (!SKABISEH)){
          DF = DF - 29;
          MF = MF + 1;
        }
        else
          if( (DF>30) && (MF == 12) && (SKABISEH) ){
            DF = DF - 30;
            MF = MF + 1;
          }
          else
            GG = false;
          if(MF>12){
            MF = MF-12;
            YF = YF+1;
            GG = true;
          }
      else
        GG = false;
        
  }while(GG);
//  document.writeln("<BR><B> Function Result of DateF : Year="+YF+" Month = "+MF+" Day = "+DF+"</B><BR>");  
  var Full_Shamsi = DaysF(Dw) + " " + DF + " " + MonthF(MF) + " " + YF;
//  document.writeln("<BR><B>"+Full_Shamsi+"</B><BR>");  
  switch(Num){
    case 1 :
      return YF;
      break;
    case 2 :
      return MF;
      break;
    case 3 :
      return DF;
    case 4 :
      return Full_Shamsi;
  }    
}
//========================================================
function DateM(Y,M,D,Num){
  var SH_YEAR366 = new Array(0,00,00,01,01,02,02,02,02,01,01,00,-1);
  var YEARS      = new Array(0,01,01,02,02,03,03,03,03,02,02,01,00);
  var Y1,M1,D1;
  var SH_YEAR = 1377;
  var M_YEAR = 1998;
  var GG = true;
  var MKABISEH,SKABISEH;
  var MKABISEHB,SKABISEHB;
  var MKABISEHN,SKABISEHN;
  var Include;
  
  D1 = D-1;
  M1 = M-1;
  Y1 = Y-Y;
  M_YEAR = M_YEAR-(-(Y-SH_YEAR));
  MM = (3+M1);
  YM = M_YEAR + Y1;
  MKABISEH = TESTM(YM);
  SKABISEH = TESTF(Y);
  MKABISEHB = TESTM(YM-1);
  SKABISEHB = TESTF(Y-1);
  MKABISEHN = TESTM(YM+1);
  SKABISEHN = TESTF(Y+1);
  if((!MKABISEH) && (!SKABISEH))
    DM = 20+D1+(YEARS[M]);    
  else
    if((MKABISEH) && (SKABISEHB))
      DM = 21 + D1 + (YEARS[M]);
    else
      if( ((!MKABISEHN) && (SKABISEH)) || (MKABISEHB))
        DM = 20+D1+(SH_YEAR366[M]);
  GG = true;
  do{
    var Include = false;
    if( (MM == 1) || (MM == 3) || (MM == 5) || (MM == 7) || (MM == 8) ||
        (MM == 10) || (MM == 12))
      Include = true;
    else
      Include = false;      
    if( (DM>31) && Include){
      DM = DM - 31;
      MM++;
    }
    else
      if( (DM>30) && ( (MM == 4) || (MM == 6) || (MM == 9) || (MM == 11))){
        DM = DM-30;
        MM++;
      }
      else
        if( (DM>28) && (MM==2) && (!MKABISEH)){
          DM = DM-28;
          MM++;
        }
        else
          if( (DM>29) && (MM=2) && (MKABISEH)){
            DM = DM-29;
            MM++;
          }
          else
            GG = false;
    if( MM > 12){
      MM = MM-12;
      YM++;
      GG = true;
    }
    else
      GG = false;
  }while(GG);
  var Full_Miladi = DaysM(DM) + " " + DM + " " + MonthM(MM) + " " + YM;  
  switch(Num){
    case 1 : return DM;
    case 2 : return MM;
    case 3 : return YM;
    case 4 : return Full_Miladi;
  }  
}
//==================================================
function RDateM(Num)
{
  var TDate = new Date();
  var Y = TDate.getFullYear();
  var M = TDate.getMonth() + 1;
  var D = TDate.getDate();
  var Dw = TDate.getDay();    
  var Full_Date = DaysM(Dw) + " " + D + " " + MonthM(M) + " " + Y;
  switch(Num){
    case 1 :
      return Y;
      break;
    case 2 :
      return M;
      break;
    case 3 :
      return D;
    case 4 :
      return Full_Date;
  }    

}
//==================================================
function Active_User()
{
  document.all('UID').focus();    
}
//==================================================
function Active_User1()
{  
  document.all('FullName').focus();    
}
//==================================================

 