var jy;
var jm;
var jd;

var g_y;
var g_m;
var g_d;

var g_date = new Date();
var gString;
gString = g_date.toString();
g_y = parseInt(gString.substring(gString.length-4,gString.length));
g_d = g_date.getDate();
g_m = g_date.getMonth() + 1;

var g_days_in_month = new Array(12);

g_days_in_month[0] = 31;
g_days_in_month[1] = 28;
g_days_in_month[2] = 31;
g_days_in_month[3] = 30;
g_days_in_month[4] = 31;
g_days_in_month[5] = 30;
g_days_in_month[6] = 31;
g_days_in_month[7] = 31;
g_days_in_month[8] = 30;
g_days_in_month[9] = 31;
g_days_in_month[10] = 30;
g_days_in_month[11] = 31;

var j_days_in_month = new Array(12);

j_days_in_month[0] = 31;
j_days_in_month[1] = 31;
j_days_in_month[2] = 31;
j_days_in_month[3] = 31;
j_days_in_month[4] = 31;
j_days_in_month[5] = 31;
j_days_in_month[6] = 30;
j_days_in_month[7] = 30;
j_days_in_month[8] = 30;
j_days_in_month[9] = 30;
j_days_in_month[10] = 30;
j_days_in_month[11] = 29;


function gr_to_jalali()
{
   
   var gy = g_y-1600;
   var gm = g_m-1;
   var gd = g_d-1;

   var g_day_no = 365*gy+Math.floor((gy+3)/4)-Math.floor((gy+99)/100)+Math.floor((gy+399)/400);
   var i;
   var j_day_no;
   var j_np;

   for (i=0; i < gm; ++i)
      g_day_no += g_days_in_month[i];

   if (gm>1 && ((gy%4==0 && gy%100!=0) || (gy%400==0)))
      /* leap and after Feb */
      ++g_day_no;
   g_day_no += gd;
 
   j_day_no = g_day_no-79;
 
   j_np = Math.floor(j_day_no/ 12053);
   j_day_no %= 12053;
 
   jy = 979 + (33*j_np) + (4*Math.floor(j_day_no/1461));

   j_day_no %= 1461;
 
   if (j_day_no >= 366) {
      jy += Math.floor((j_day_no-1)/ 365);
      j_day_no = (j_day_no-1)%365;
   }
 
   for (i = 0; i < 11 && j_day_no >= j_days_in_month[i]; ++i) {
      j_day_no -= j_days_in_month[i];
   }
   jm = i+1;
   jd = j_day_no+1;

}
