﻿function init(number)
	{   
		var Emrooz=true;
		var today=new Date();
		var day_Miladi=today.getDate();
		var month_Miladi=today.getMonth()+1;
		var monthName_Miladi="";
		var year_Miladi=today.getFullYear();
		var arrSMR=GetShamsiDate(month_Miladi+"/"+day_Miladi+"/"+year_Miladi).split("/");
		var day_Shamsi=arrSMR[2];
		var month_Shamsi=arrSMR[1];
		var monthName_Shamsi="";
		var year_Shamsi=arrSMR[0];
		var day_Of_Week_Miladi=today.getDay();
		var day_Of_Week_Shamsi=(day_Of_Week_Miladi==6)?0:day_Of_Week_Miladi+1;
		var day_First_Of_Month_Shamsi=calculate_Day_First_OF_Month(day_Shamsi,day_Of_Week_Shamsi);
		var arrDayOfMonth=new Array(31,31,31,31,31,31,30,30,30,30,30,29);
		(IsLeapYear(parseInt(year_Shamsi)))?arrDayOfMonth[11]=30:arrDayOfMonth[11]=29;
		switch(month_Shamsi)
		{
			case "1":
			{
			monthName_Shamsi="فروردین";
			break;
			}
			case "2":
			{
			monthName_Shamsi="اردیبهشت";
			break;
			}
			case "3":
			{
			monthName_Shamsi="خرداد";
			break;
			}
			case "4":
			{
			monthName_Shamsi="تیر";
			break;
			}
			case "5":
			{
			monthName_Shamsi="مرداد";
			break;
			}
			case "6":
			{
			monthName_Shamsi="شهریور";
			break;
			}
			case "7":
			{
			monthName_Shamsi="مهر";
			break;
			}
			case "8":
			{
			monthName_Shamsi="آبان";
			break;
			}
			case "9":
			{
			monthName_Shamsi="آذر";
			break;
			}
			case "10":
			{
			monthName_Shamsi="دی";
			break;
			}
			case "11":
			{
			monthName_Shamsi="بهمن";
			break;
			}
			case "12":
			{
			monthName_Shamsi="اسفند";
			break;
			}
			default:
			{
			monthName_Shamsi="خالی";
			break;
			}
		}
		if(number==1)return monthName_Shamsi;
		else if(number==2)return year_Shamsi;
		else if(number==3)return day_First_Of_Month_Shamsi;
		else if(number==4)return month_Shamsi;
		else if(number==5)
		{ 
		  var year=document.getElementById("selectYear").options[document.getElementById("selectYear").selectedIndex].text;
		  (IsLeapYear(parseInt(year)))?arrDayOfMonth[11]=30:arrDayOfMonth[11]=29;
		  var currentMonthIndex=document.getElementById("selectMonth").selectedIndex;
		  return arrDayOfMonth[currentMonthIndex];
		}
		else if(number==6)return day_Shamsi;
		
		
		else return;
	}
	function changeMonth()
	{
	  document.getElementById("emrooz").firstChild.nodeValue="";
	  var oSelMonth=document.getElementById("selectMonth");
	  var month_Shams=oSelMonth.selectedIndex+1;
	  var oSelYear=document.getElementById("selectYear");
	  var year_Shams=oSelYear[oSelYear.selectedIndex].text;
	  var year_Shams_Index=oSelYear.selectedIndex;
	  var date=new Date(GetMiladiDate(year_Shams+"/"+month_Shams+"/"+1));
	  var first_Day_Of_Month_Milad=date.getDay();
	  var first_Day_Of_Month_Shams=(first_Day_Of_Month_Milad==6)?0:first_Day_Of_Month_Milad+1;
	  var cellNumber=0;
	  var textNumber=1;
	  var monthDays=init(5);
	  
	  var tblObj=document.getElementById("Table1")
	  for(i=2;i<tblObj.rows.length-1;i++)
	  {
	    for(j=0;j<tblObj.rows[i].cells.length;j++)
	    {
	      if((first_Day_Of_Month_Shams==cellNumber)&&(textNumber<=monthDays))
	      {
			tblObj.rows[i].cells[j].firstChild.nodeValue=textNumber;
			tblObj.rows[i].cells[j].className="";
			first_Day_Of_Month_Shams++;
			textNumber++;
		  }
		  else
			{
			 tblObj.rows[i].cells[j].firstChild.nodeValue=" ";
			}
		  cellNumber++;
	    }
	  }
	  	setRedColorForHoliday();
	  	document.getElementById("getDateShamsi").value="";  
	}
    
    function changeYear()
	{
	  document.getElementById("emrooz").innerText=" ";
	  
	  var oSelMonth=document.getElementById("selectMonth");
	  var month_Shams=oSelMonth.selectedIndex+1;
	  var oSelYear=document.getElementById("selectYear");
	  var year_Shams=oSelYear[oSelYear.selectedIndex].text;
	  var year_Shams_Index=oSelYear.selectedIndex;
	  var date=new Date(GetMiladiDate(year_Shams+"/"+month_Shams+"/"+1));
	  var first_Day_Of_Month_Milad=date.getDay();
	  var first_Day_Of_Month_Shams=(first_Day_Of_Month_Milad==6)?0:first_Day_Of_Month_Milad+1;
	  var cellNumber=0;
	  var textNumber=1;
	  var monthDays=init(5);
	  
	  var tblObj=document.getElementById("Table1")
	  for(i=2;i<tblObj.rows.length-1;i++)
	  {
	    for(j=0;j<tblObj.rows[i].length;j++)
	    {
	      if((first_Day_Of_Month_Shams==cellNumber)&&(textNumber<=monthDays))
	      {
			tblObj.rows[i].cells[j].firstChild.nodeValue=textNumber;
			tblObj.rows[i].cells[j].className="";
			first_Day_Of_Month_Shams++;
			textNumber++;
		  }
		  else
			{
			 tblObj.rows[i].cells[j].firstChild.nodeValue=" ";
			}
		  cellNumber++;
	    }
	  }
	  	setRedColorForHoliday();
	  	document.getElementById("getDateShamsi").value="";  
	  	//alert(1)
	}
	
    function GetShamsiDate (MRS) 
	{      
	        var dt=new String();
	        dt=MRS;
	        var g_days_in_month =new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
			var j_days_in_month =new Array(31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29);
			var mrs=new Array(3);
			mrs=dt.split('/');
			g_y=mrs[2];//g_y=dt.getYear();
			g_m=mrs[0];//g_m=dt.getMonth()+1; 
			g_d=mrs[1];//g_d=dt.getDate(); 
			gy = g_y-1600 ;
			gm = g_m-1 ;
			gd = g_d-1;
			g_day_no = 365*gy+parseInt((gy+3)/4)-parseInt((gy+99)/100)+parseInt((gy+399)/400) ;
			for(i=0;i<gm ;++i)
			{
				g_day_no = g_day_no+g_days_in_month[i] ;
			} 
			if (gm>1 && ((gy%4==0 && gy%100!=0) || (gy%400==0))) 
			{
				g_day_no=g_day_no+1 ;
			}
			g_day_no = g_day_no +gd ;
			j_day_no = g_day_no-79 ;
			j_np = parseInt(j_day_no / 12053) ;
			j_day_no = j_day_no % 12053 ;
			jy = 979+33*j_np+4*parseInt(j_day_no/1461) ;
			j_day_no = j_day_no % 1461 ;
			if (j_day_no >= 366)
			{
				jy = jy+parseInt((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_day_no-j_days_in_month[i] ;
			} 
			jm = i+1 ;
			jd = j_day_no+1 ;
			return jy+"/"+jm+"/"+jd; 

	}
	function GetMiladiDate (SMR) 
	{      
	    var dt=new String();
	    dt=SMR;
	    var g_days_in_month =new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
		var j_days_in_month =new Array(31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29);
		var mrs=new Array(3);
		mrs=dt.split('/');
		j_y=mrs[0];//g_y=dt.getYear();
		j_m=mrs[1];//g_m=dt.getMonth()+1; 
		j_d=mrs[2];//g_d=dt.getDate();
		jy = j_y-979; 
		jm = j_m-1; 
		jd = j_d-1; 
        j_day_no = 365*jy + (parseInt(jy/33)*8) + parseInt(((jy%33)+3)/4); 
        for (i=0; i < jm; ++i) 
		j_day_no += j_days_in_month[i]; 
        j_day_no += jd; 
        g_day_no = j_day_no+79; 
        gy = 1600 + 400*parseInt(g_day_no/146097); /* 146097 = 365*400 + 400/4 - 400/100 + 400/400 */ 
       	g_day_no = g_day_no % 146097; 
        leap = true; 
		if (g_day_no >= 36525) /* 36525 = 365*100 + 100/4 */ 
	     { 
		g_day_no--; 
		gy += 100*parseInt(g_day_no/36524); /* 36524 = 365*100 + 100/4 - 100/100 */ 
		g_day_no = g_day_no % 36524; 
        if (g_day_no >= 365) 
		g_day_no++; 
		else 
		leap = false; 
	      } 
	    gy += 4*parseInt(g_day_no/1461); /* 1461 = 365*4 + 4/4 */ 
	    g_day_no %= 1461; 
        if (g_day_no >= 366) 
         { 
	      leap = false; 
          g_day_no--; 
	      gy += parseInt(g_day_no/365); 
	      g_day_no = g_day_no % 365; 
         }    
		 j=0;
         for (j = 0;g_day_no >=g_days_in_month[j]+parseInt((j==1 && leap)?1:0);j++) 
        	g_day_no -= g_days_in_month[j] + parseInt((j==1 && leap)?1:0); 
	     gm = j+1; 
	     gd = g_day_no+1; 
         return gm+"/"+gd+"/"+gy; 
}
function IsLeapYear(Year)
        {
				//achHijriLeapYear = new Array(2, 5, 7, 10, 13, 15, 18, 21, 24, 26, 29);
				arrSunLeapYear = new Array(5, 9, 13, 17, 21, 25, 29, 34, 38, 42, 46, 50, 54, 58, 62,67, 71, 75, 79, 83, 87, 91, 95, 100, 104, 108, 112, 116, 120, 124, 0);
				var nYearPeriodc;
				nYearPeriodc = ( Year + 2346 ) % 128;
			    for (i in arrSunLeapYear) {
				if (arrSunLeapYear[i] == nYearPeriodc )
					return 1;
			    }	
		 return 0;
		}
function drawComboBoxMonth()
{
            var sResult="<SELECT onchange=\"changeMonth()\" style=\"width:70;BACKGROUND-COLOR:white;\" id=\"selectMonth\" >\r\n";
				sResult+="<OPTION  selected>فروردین</OPTION>\r\n";
				sResult+="<option >اردیبهشت</option>\r\n";
				sResult+="<option >خرداد</option>\r\n";
				sResult+="<option >تیر</option>\r\n";
				sResult+="<option >مرداد</option>\r\n";
				sResult+="<option >شهریور</option>\r\n";
				sResult+="<option >مهر</option>\r\n";
				sResult+="<option >آبان</option>\r\n";
				sResult+="<option >آذر</option>\r\n";
				sResult+="<option >دی</option>\r\n";
				sResult+="<option >بهمن</option>\r\n";
				sResult+="<option >اسفند</option>\r\n";
			sResult+="</SELECT>\r\n";
			return sResult;
}
function drawComboBoxYear()
{
            var currentYear=parseInt(init(2));
            var min=currentYear-100;
            var max=currentYear+100;
            var sResult="<SELECT onchange=\"changeYear()\" style=\"width:60;BACKGROUND-COLOR:white;\" id=\"selectYear\">\r\n"
            for(i=min;i<max;i++)
            {
              sResult+="<OPTION>"+i+"</OPTION>\r\n";
            }
		    sResult+="</SELECT>\r\n";
		    return sResult;
}
function calculate_Day_First_OF_Month(numberOfDay,dayOFWeek)
{
 while(numberOfDay>1)
 {
  numberOfDay--;
  if(dayOFWeek!=0)
  {
   dayOFWeek--;
  }
  else
  {
   dayOFWeek=6;
  }
 }
 return dayOFWeek;
}
function drawTable()
{
document.writeln("<div  id='div1' style='Z-INDEX: 999999; WIDTH: 210px; POSITION: absolute; HEIGHT: 180px;' ><TABLE dir=\"rtl\" id=\"Table1\" style=\"BACKGROUND-COLOR:white;FILTER: progid:DXImageTransform.Microsoft.Barn(motion=in,orientation=vertical);BORDER-RIGHT: 5px ridge; BORDER-TOP: 5px ridge; FONT-SIZE: 10px; BORDER-LEFT: 5px ridge; BORDER-BOTTOM: 5px ridge; FONT-FAMILY: Tahoma\" borderColor=\"activecaption\" cellSpacing=\"1\" borderColorDark=\"#D8E4F8\"	cellPadding=\"1\"   border=\"1\">");
//write header
document.writeln("<TR height=20><TD align=\"center\" colspan=2>"+drawComboBoxMonth()+"</TD><TD align=\"center\" colspan=2>"+drawComboBoxYear()+"</TD><TD align=\"center\" colspan=2><input readonly=true type=text dir=ltr style=\"width:70;BACKGROUND-COLOR:white;\" id=getDateShamsi></TD><TD  align=center colspan=1><span id=exit  onclick=\"exitNow()\" style=\"CURSOR: hand;BORDER-RIGHT: 1px ridge; BORDER-TOP: 1px ridge; BORDER-LEFT: 1px ridge; BORDER-BOTTOM: 1px ridge;BACKGROUND-COLOR: white\">خروج</span></TD></TR>");
selectCurrentMonth(init(1));selectCurrentYear(init(2));
document.writeln("<TR><TD id=\"cell00\" noWrap align=\"center\">شنبه</TD><TD id=\"cell01\" noWrap align=\"center\">یک شنبه</TD><TD id=\"cell02\" noWrap align=\"center\">دوشنبه</TD><TD id=\"cell03\" noWrap align=\"center\">سه شنبه</TD><TD id=\"cell04\" noWrap align=\"center\">چهارشنبه</TD><TD id=\"celll5\" noWrap align=\"center\">پنج شنبه</TD><TD id=\"cell06\" noWrap align=\"center\"><font color=\"red\">جمعه</font></TD></TR>");
var cellNumber=0;
var firstDay=init(3);
var monthDays=init(5);
var textNumber=1;
 for(i=2;i<8;i++)
	{
	document.writeln("<TR >");
	 
		for(j=0;j<7;j++)
		{
		    if((firstDay==cellNumber)&&(textNumber<=monthDays))
		    {
			document.writeln("<TD style='cursor:pointer;height:14px' id=cell"+cellNumber+" noWrap ondblclick=dateSelected("+cellNumber+") onclick=fillTextBox("+cellNumber+") align=\"center\" onmouseOut=setDefaultBackColorAndEmrooz("+cellNumber+") onmouseover=changeBackColorAndEmrooz("+cellNumber+")>"+textNumber+"</TD>");
			firstDay++;
			textNumber++;
			}
			else
			{
			 document.writeln("<TD style='cursor:pointer;height:14px' id=cell"+cellNumber+" noWrap ondblclick=dateSelected("+cellNumber+") onclick=fillTextBox("+cellNumber+") align=\"center\" onmouseOut=setDefaultBackColorAndEmrooz("+cellNumber+") onmouseover=changeBackColorAndEmrooz("+cellNumber+")>*</TD>");
			 document.getElementById("cell"+cellNumber).firstChild.nodeValue=" "
			}
			cellNumber++;
		}
	document.writeln("</TR>");
	}
	document.writeln("<TR height=20>");
	 document.writeln("<TD align=center colspan=6>");
	  document.writeln("<span  id=emrooz style=\"BACKGROUND-COLOR: white;\">خالی</span>");
	 document.writeln("</TD>");
	 document.writeln("<TD align=center colspan=1 >");
	 document.writeln("<span id='now'  onclick=\"setNow()\" style=\"CURSOR: hand;BACKGROUND-COLOR: white;BORDER-RIGHT: 1px ridge; BORDER-TOP: 1px ridge; BORDER-LEFT: 1px ridge; BORDER-BOTTOM: 1px ridge\">امروز</span>");
	 document.writeln("</TD>");
	document.writeln("</TR>");
	document.writeln("</TABLE></div>");
	var currentMonth=document.getElementById("selectMonth").selectedIndex;currentMonth++;
	var dateShamsi="  "+init(6)+"  "+document.getElementById("selectMonth").options[document.getElementById("selectMonth").selectedIndex].text+"  "+document.getElementById("selectYear").options[document.getElementById("selectYear").selectedIndex].text+"  ";
	var dateMiladi=getDateMildai(document.getElementById("selectYear").options[document.getElementById("selectYear").selectedIndex].text+"/"+currentMonth+"/"+init(6));
	document.getElementById("emrooz").firstChild.nodeValue=dateShamsi+dateMiladi;
}
function selectCurrentMonth(selectedMonth)
{

	for(i=0;i<document.getElementById("selectMonth").options.length;i++)
	{
	var oSelMonth=document.getElementById("selectMonth").options;
		if(oSelMonth[i].text==selectedMonth)
		{
			document.getElementById("selectMonth").options[i].selected=true;
			break;
		}
	}
 
}
function selectCurrentYear(selectedYear)
{
 	var oSelYear=document.getElementById("selectYear").options;
	for(i=0;i<document.getElementById("selectYear").options.length;i++)
	{
		if(selectedYear==oSelYear[i].text)
		{
		document.getElementById("selectYear").options[i].selected=true;
		break;
		}
	}
  
}
function changeBackColorAndEmrooz(id)
{
//debugger
 if(document.getElementById("cell"+id).firstChild.nodeValue==" ")return;
 var tblObject=document.getElementById("Table1")
 
 for(i=2;i<tblObject.rows.length;i++)
	  {
	    for(j=0;j<tblObject.rows[i].cells.length;j++)
	    {
	        tblObject.rows[i].cells[j].className="";
	    }
	  }
  
 document.getElementById("cell"+id).className="mouseover";
 var oSelMonth=document.getElementById("selectMonth");
 var oSelYear=document.getElementById("selectYear");
  var monthIndex=oSelMonth.selectedIndex;monthIndex++;
 var dateMiladi=getDateMildai(oSelYear.options[oSelYear.selectedIndex].text+"/"+monthIndex+"/"+document.getElementById("cell"+id).firstChild.nodeValue);
 var dateShamsi="  "+document.getElementById("cell"+id).firstChild.nodeValue+"  "+oSelMonth.options[oSelMonth.selectedIndex].text+"  "+oSelYear.options[oSelYear.selectedIndex].text;

//debugger
 document.getElementById("emrooz").firstChild.nodeValue=dateShamsi+dateMiladi;
  setRedColorForHoliday();
 if(document.getElementById("getDateShamsi").value==init(2)+"/"+init(4)+"/"+init(6))
	{
	setBlueColorForToday();
	}
//	debugger
}
function getDateMildai(SMR)
{
//debugger
 var dateMiladi=GetMiladiDate(SMR);
 var arr=dateMiladi.split("/");
 switch(arr[0])
 {
  case "1" : arr[0]="ژانویه";break;
  case "2" : arr[0]="فوریه";break;
  case "3" : arr[0]="مارس";break;
  case "4" : arr[0]="آوریل";break;
  case "5" : arr[0]="می";break;
  case "6" : arr[0]="ژوئن";break;
  case "7" : arr[0]="جولای";break;
  case "8" : arr[0]="آگوست";break;
  case "9" : arr[0]="سپتامبر";break;
  case "10" : arr[0]="اکتبر";break;
  case "11" : arr[0]="نوامر";break;
  case "12" : arr[0]="دسامبر";break;
 }
 return(" = "+arr[1]+" "+arr[0]+" "+arr[2]+" ") ;
}
function setDefaultBackColorAndEmrooz(id)
{
      var tblObj=document.getElementById("Table1")
      for(i=2;i<tblObj.rows.length;i++)
	  {
	    for(j=0;j<tblObj.rows[i].cells.length;j++)
	    {
	      tblObj.rows[i].cells[j].className="";
	    }
	  }
	  //alert("s");
	var oSelMonth=document.getElementById("selectMonth");
	var oSelYear=document.getElementById("selectYear");
	var monthIndex=oSelMonth.selectedIndex;monthIndex++;
	if(document.getElementById("getDateShamsi").value==init(2)+"/"+init(4)+"/"+init(6))
	{
	var dateShamsi="  "+init(6)+"  "+oSelMonth.options[oSelMonth.selectedIndex].text+"  "+oSelYear.options[oSelYear.selectedIndex].text+"  ";
	var dateMildai=getDateMildai(oSelYear.options[oSelYear.selectedIndex].text+"/"+monthIndex+"/"+init(6));
	document.getElementById("emrooz").firstChild.nodeValue=dateShamsi+dateMildai;
	}
	else document.getElementById("emrooz").firstChild.nodeValue=" ";
	setRedColorForHoliday();
	if(document.getElementById("getDateShamsi").value==init(2)+"/"+init(4)+"/"+init(6))
	{
	setBlueColorForToday();
	}
}
function dateSelected(id)
{
if(document.getElementById("cell"+id).firstChild.nodeValue==" ")return;
 var oSelMonth=document.getElementById("selectMonth");
 var oSelYear=document.getElementById("selectYear");
 var currentMonth=oSelMonth.selectedIndex;currentMonth++;
 document.getElementById("div1").style.visibility="hidden";
 var textBoxID=document.getElementById("h_whitchTextBox").value;
 document.getElementById(textBoxID).value=oSelYear.options[oSelYear.selectedIndex].text+"/"+currentMonth+"/"+document.getElementById("cell"+id).firstChild.nodeValue;
 setTransition(document.getElementById("h_BackColor").value,"white");
 
}
function fillTextBox(id)
{
if(document.getElementById("cell"+id).firstChild.nodeValue == ' ') return;
 var oSelMonth=document.getElementById("selectMonth");
 var oSelYear=document.getElementById("selectYear");
 var currentMonth=oSelMonth.selectedIndex;currentMonth++;
 document.getElementById("getDateShamsi").value=oSelYear.options[oSelYear.selectedIndex].text+"/"+currentMonth+"/"+document.getElementById("cell"+id).firstChild.nodeValue;
}
function setNow()
{
var currentYear=init(2);
 document.getElementById("selectMonth").options[init(4)-1].selected=true;
 document.getElementById("selectYear").options[init(2)-(init(2)-100)].selected=true;
 changeMonth();
 //changeBackColorAndEmrooz(init(6));
 setBlueColorForToday();
 document.getElementById("getDateShamsi").value=init(2)+"/"+init(4)+"/"+init(6);
 var currentMonth=document.getElementById("selectMonth").selectedIndex;currentMonth++;
 var dateShamsi="  "+init(6)+"  "+document.getElementById("selectMonth").options[document.getElementById("selectMonth").selectedIndex].text+"  "+currentYear+"  ";
 var dateMiladi=getDateMildai(currentYear+"/"+currentMonth+"/"+init(6));
 document.getElementById("emrooz").firstChild.nodeValue=dateShamsi+dateMiladi;
 setTransition(document.getElementById("h_BackColor").value,"white");
 setTransition("white",document.getElementById("h_BackColor").value);
}
function setRedColorForHoliday()
{
 var tblObj=document.getElementById("Table1")
 for(i=2;i<7;i++)
  tblObj.rows[i].cells[6].className="red";
}

function setBlueColorForToday()
{ 
  var todayIndex=init(6);
  var cellNumber=0;
  for(i=2;i<7;i++)
   {
    for(j=0;j<8;j++)
     {
       if(document.getElementById("cell"+cellNumber).firstChild.nodeValue==todayIndex)
       {
        document.getElementById(document.getElementById("cell"+cellNumber).id).className="today";
        return;
       }
      else cellNumber++;
     }
   }
 }
function setTransition(startColor,endColor)
{
  //        try{
      //    document.getElementById("Table1").filters[0].apply();
//          }
    //      catch(ex){alert(1)}
          if(document.getElementById("Table1").style.backgroundColor.indexOf(startColor)!=-1)
	      {
	       document.getElementById("Table1").style.backgroundColor=document.getElementById("Table1").style.backgroundColor.replace(startColor,endColor);
	      }
	      else
	      {
	      document.getElementById("Table1").style.backgroundColor=document.getElementById("Table1").style.backgroundColor.replace(startColor,endColor);
	      }
	      //try{
	    //  document.getElementById("Table1").filters[0].play();
	      //}
	      //catch(ex){}
}

function showCalendar(buttonID,textBoxID,backColor,borderColor)
{
	var point=new Point();
	var textboxLeft=new Point();
	//alert(textBoxID)
	//debugger
	textboxLeft=fGetXY(document.getElementById(textBoxID));
	var buttonLeft=new Point();
	buttonLeft=fGetXY(buttonID);
	if(parseInt(buttonLeft.x)<parseInt(textboxLeft.x))
	{
	  point.x=buttonLeft.x;
	  point.y=buttonLeft.y;
	}
	else
	 {
	 point.x = textboxLeft.x;
	 point.y = textboxLeft.y;
	 }
	 
	var availWidth=parseInt(document.body.clientWidth);
	var leftCal=parseInt(point.x);
	var textboxWidth=parseInt(document.getElementById(textBoxID).style.width);
	var buttonWidth=parseInt(buttonID.width);
	if(leftCal+220>availWidth)
	{
	  point.x=leftCal-210-parseInt(document.getElementById("Table1").style.borderWidth)+buttonWidth
	}
	var availHieght=parseInt(document.body.clientHeight);
	var topCal=parseInt(point.y);
	if(topCal+190>availHieght)
	{
	  point.y=topCal-180;
	}
	
	document.getElementById("Table1").style.borderColor=borderColor;
	document.getElementById("h_BackColor").value=backColor;
	document.getElementById("h_whitchTextBox").value=textBoxID;
	with (document.getElementById("div1").style) 
	{
  		left = point.x+"px";
  		top  = point.y+document.getElementById(textBoxID).offsetHeight+1+"px";
	}

	document.getElementById("div1").style.visibility="visible";
	document.getElementById("getDateShamsi").value=init(2)+"/"+init(4)+"/"+init(6);
	//setTransition("white",document.getElementById("h_BackColor").value);
	
}
function exitNow()
{
 if(document.getElementById("div1")!=null)
 {
  document.getElementById("div1").style.visibility="hidden";
 }
 if(document.getElementById("h_BackColor").value!="")
 {
    setTransition(document.getElementById("h_BackColor").value,"white");
 }
}
function Point(iX, iY)
{
this.x = iX;
this.y = iY;
}	
//---------------------------------------------------------------------------
function fGetXY(aTag)
{
var oTmp = aTag;

var pt = new Point(0,0);
do 
{
	pt.x += oTmp.offsetLeft;
  	pt.y += oTmp.offsetTop;
  	oTmp = oTmp.offsetParent;
}
 while(oTmp.tagName!="BODY");
return pt;
}

function createUI()
{
  try
  {
     attachEvent('onresize',exitNow);
  }
  catch(ex)
  {
      window.onresize="exitNow()";
  }
  document.write("<INPUT style=\"WIDTH: 3px; HEIGHT: 22px\" type=\"hidden\" size=\"1\" id=\"h_whitchTextBox\">");
  document.write("<INPUT style=\"WIDTH: 3px; HEIGHT: 22px\" type=\"hidden\" size=\"1\" id=\"h_BackColor\">");
  drawTable();
  setRedColorForHoliday();
  setBlueColorForToday();
  document.getElementById("div1").style.visibility="hidden";
}

createUI();
