var txtCalendar='';
var CurrentYear='';
var CurrentMonth = 1;
var CurrentDay = 1;

function InitForm()
{
MakeCalendar(); 
 //DrawDiary();
if (!getAjaxData) return;
getAjaxData(CurrentMonth,CurrentYear )
} 

function daysPerMonth( month, year ) {
	days = 31;
	if (( month == 4 )||( month == 6 )||( month == 9 )||( month == 11 )) {
		days = 30;
	} else if ( month == 2 ) {
		if (((( year % 100 ) == 0 ) && (( year % 400 ) == 0 )) || ((( year % 100 )!=0 ) && (( year % 4 ) == 0 ))) {
			days = 29;
		} else {
			days = 28;
		}
	}
	return days;
}
function day_title(day_name){
     txtCalendar +=("<TD ALIGN=center style=background-Color:#939598;Color:#FFF;  WIDTH=35>"+day_name+"</TD>")
}
// fills the month table with numbers
function fill_table(month,month_length ,year ,start_day)
{ 
 
txtCalendar ='';
  day=1
  var txthdr= new String();
	txthdr=   document.getElementById('divhdr').innerHTML ;
  txthdr=txthdr.replace('xxxMonth', month );
  txthdr=txthdr.replace('xxxYear',year);
  // begin the new month table
   txtCalendar +=("<TABLE BORDER=0 class=cal-table CELLSPACING=0 CELLPADDING=0><TR>")
   txtCalendar +=("<TD COLSPAN=7 ALIGN=center><B>"+txthdr+ "</B><TR>")
   
  // column headings
  day_title("Sun")
  day_title("Mon")
  day_title("Tue")
  day_title("Wed")
  day_title("Thu")
  day_title("Fri")
  day_title("Sat")
  // pad cells before first day of month
  txtCalendar+= ("</TR><TR>");
  for (var i=1;i<start_day;i++){
     txtCalendar += ("<TD>");
  }
  // fill the first week of days
  for (var i=start_day;i<8;i++){
  //debugger;
          txtCalendar +=("<TD class = \'cellinact\' id=\'day_"+day+"\' ALIGN=center onclick= \"Calendar_Click( this )\">"+day+"</TD>");
        day++;
  }
  txtCalendar +=("<TR>");
  // fill the remaining weeks
  while (day <= month_length) {
     for (var i=1;i<=7 && day<=month_length;i++){
        //  txtCalendar +=("<TD ALIGN=center>"+day+"</TD>")
         txtCalendar +=("<TD class = \'cellinact\'id=\'day_"+day+"\' ALIGN=center onclick= \"Calendar_Click( this )\">"+day+"</TD>");
         day++;
     }
       txtCalendar +=("</TR><TR>");
     // the first day of the next month
     start_day=i;
  }
    txtCalendar +=("</TR></TABLE><BR>");

}
// end hiding -->

 
var monthsNames = Array( "", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" );
// CAHNGE the below variable to the CURRENT YEAR
var dateObject	= new Date();
CurrentYear 	= dateObject.getFullYear();
CurrentMonth= dateObject.getMonth()+1;

 
function ChangeMonth(b)
{
if (b) {
if (CurrentMonth>11){CurrentMonth =1;ChangeYear(true); return; }else{CurrentMonth++;}

} 
else 
{ 
	if (CurrentMonth<2){ CurrentMonth =12;ChangeYear(false); return; }else{CurrentMonth--;}
}

MakeCalendar();

}
///////////////
function ChangeYear(b) //true =++ false =--;
{
if (b) {
if (CurrentYear>2050){}else{CurrentYear++;}

} 
else 
{ 
	if (CurrentYear<1901){ }else{CurrentYear--;}
}
MakeCalendar();


}
//
//
//
runonce = false;
function MakeCalendar()
{

// first day of the week of the new year
today= new Date(monthsNames[CurrentMonth]+ " 1, "+CurrentYear );
start_day = today.getDay() + 1 ;  // starts with 0
/// by Hatem document.getElementById('tdhdr').innerHTML="Showing shifts on " + today.toDateString();

     
fill_table(monthsNames[CurrentMonth],daysPerMonth(CurrentMonth,CurrentYear ) ,CurrentYear,start_day);
 
document.getElementById('divcalendar').innerHTML =txtCalendar;
 
 if (runonce)
 {
 if (!getAjaxData) return;
getAjaxData(CurrentMonth,CurrentYear )
 }
 runonce=true ;
}
//
// function Calendar_Click(d)
//
var oldtd ;
function Calendar_Click(td)
{
	//alert(td.innerHTML);
	var col = td.style.backgroundColor;
 if (col.indexOf("#")<0)col=rgbConvert(col);
 var d =td.innerHTML ;
 td.className='cellact';
if (oldtd!=null)

oldtd.className='cellinact';

var t= new Date(CurrentYear,CurrentMonth-1,d);
var dateto = d + '-' + CurrentMonth + '-' + CurrentYear  ;
//t =monthsNames[CurrentMonth]+" "+ d+", "+CurrentYear  ;
//alert ( t.toDateString () );


if (col=='#ffffff')
{
document.getElementById('tdhdr').innerHTML="No shifts to show for " + t.toDateString ();
}else{
document.getElementById('tdhdr').innerHTML="Showing shifts on " + t.toDateString ();
}

oldtd =td;
getdateselected(dateto,col);
}

//
// Draw Diary
//

function rgbConvert(str) {
   str = str.replace(/rgb\(|\)/g, "").split(",");
   str[0] = parseInt(str[0], 10).toString(16).toLowerCase();
   str[1] = parseInt(str[1], 10).toString(16).toLowerCase();
   str[2] = parseInt(str[2], 10).toString(16).toLowerCase();
   str[0] = (str[0].length == 1) ? '0' + str[0] : str[0];
   str[1] = (str[1].length == 1) ? '0' + str[1] : str[1];
   str[2] = (str[2].length == 1) ? '0' + str[2] : str[2];
   return ('#' + str.join(""));
}
function DrawDiary()
{
var d= new String();
d=document.getElementById('tdRepeat').innerHTML ;
var Diary = new String();
var tmp= new String();
for (var i = 0;i<11 ;i ++ )
{
var hr = 6 % i;

tmp=d.replace('Cell_2_XX',('Cell_2_'+i))
tmp=tmp.replace('Cell_1_XX',('Cell_1_'+i));
 tmp=tmp.replace('cell_Second', '&nbsp;' ); //to read from array
 tmp=tmp.replace('cell_First', '&nbsp;' ); //to read from array

tmp=tmp.replace('xxHR', i); //to read from array

Diary += tmp;
}
//debugger;
document.getElementById('tdRepeat').innerHTML =Diary ;

}
//
//When Raw is Clicjed
//
function DRowClicked(obj)
{

alert(obj.id);

}
