

if (document.all) { 
  docObj = "document.all." 
  styleObj = ".style" 
} else { 
  docObj = "document." 
  styleObj = "" 
} 

function parseUrl() {
	var myValueIn = unescape(location.search.replace(/\+/g,' '));
	myValueIn = myValueIn.substring(1).split('&');
	
	var year = 0;
	var month = 0;
	var parentForm = "";
	var actval = "";
	
	for(i=0;i<myValueIn.length;i++)
	        myValueIn[i] = myValueIn[i].split('=');
	
	for(i=0;i<myValueIn.length;i++){
		if(myValueIn[i][0] == "year") 
			year = parseInt(myValueIn[i][1]);
		if(myValueIn[i][0] == "month")
			month = parseInt(myValueIn[i][1]);
		if(myValueIn[i][0] == "formname")
			parentForm = myValueIn[i][1];
		if(myValueIn[i][0] == "actval")
			actval = myValueIn[i][1];
	}
	setCal(year,month,parentForm, actval);
}


function getDays(month, year) {
	var ar = new Array(12);
	ar[0] = 31; 
	ar[1] = (year % 4 == 0) ? 29 : 28;
	ar[2] = 31;
	ar[3] = 30;
	ar[4] = 31;
	ar[5] = 30;        
	ar[6] = 31;
	ar[7] = 31;
	ar[8] = 30;
	ar[9] = 31;
	ar[10] = 30;
	ar[11] = 31;        
	return ar[month];
}

function getMonthName(month) {
    var ar = new Array(12);
    
    ar[0] = "January"
    ar[1] = "February"
    ar[2] = "March"
    ar[3] = "April"
    ar[4] = "May"
    ar[5] = "June"
    ar[6] = "July"
    ar[7] = "August"
    ar[8] = "September"
    ar[9] = "October"
    ar[10] = "November"
    ar[11] = "December"
    
    return ar[month];
}

function setCal(year, month, parentForm, actval, eventHandler,action) {
    
    var now = new Date();
    month = month - 1;
    var curyear = now.getYear(); 
    var curmonth = now.getMonth();
    
    if(year==0) 
    	year = now.getYear();
    
    if(month<0||month>11) 
    	month = now.getMonth();
    
    var monthName = getMonthName(month);
    var date = now.getDate();
    now = null;
    var firstDayInstance = new Date(year, month, 1);
    var firstDay = firstDayInstance.getDay();
    firstDayInstance = null;

    var days = getDays(month, year);
    var calHTML = drawCal(firstDay + 1, days, date, monthName, year, month, curyear, curmonth, parentForm, actval, eventHandler,action);
	return calHTML;
}

function drawCal(firstDay, lastDate, date, monthName, year, month, curyear, curmonth, parentForm, actval, eventHandler,action) {
   
    var headerHeight = ""; 		
    var border = "0"; 			
    var cellspacing = "0"; 		
    var headerColor = "#000000"; 
    var headerSize = "2"; 		
    var colWidth = "25"; 		
    var dayCellHeight = "";		
    var dayColor = "#271ac1"; 	
    var cellHeight = "12"; 		
    var todayColor = "#000000"; 	
    var text = ""; 
    
     var changeMonth ='MonthChanged';
  /* 
    alert('firstDay:'+firstDay);
    alert('lastDate:'+lastDate);
	alert('Date:'+date);
	alert('monthName:'+monthName);
	alert('year:'+year);
	alert('month:'+month);
    alert('curyear:'+curyear);
    alert('curmonth:'+curmonth);
	alert('actval:'+actval);  */

   text += '<table class="calendarTable"><tr><td class="tdCenterMiddle"><table><tr><td class="td18RM">'; 
    text += '<a href="javascript:putCal(' + ((month==0) ? year-1 : year) + ',' + ((month==0) ? 12 : month ); 
    text += ',' + actval + ',\'' + eventHandler + '\',\'' + changeMonth + '\');"><img src="/skin/blue/images/previous_month.gif" border="0" alt="Previous Month"></a> ';
    text += '</td><td class="td134CM"><FONT COLOR="' + headerColor + '" SIZE=' + headerSize + '><b>' + monthName +  ' ' + year + '</b></font></td><td class="td18LM">' ;
    text += ' <a href="javascript:putCal(' + ((month==11) ? year+1 : year) + ',' + ((month==11) ? 1 : month + 2) + ',' + actval + ', \'' + eventHandler + '\',\'' + changeMonth + '\');">'
    text += '<img src="/skin/blue/images/next_month.gif" border="0" alt="Next Month"></a> ';
    text += '</FONT>'; 
    text += '</Td></tr></table>';


    text += '<TABLE BORDER=' + border + ' CELLSPACING=' + cellspacing + '>'; 

    var openCol = '<TD WIDTH=' + colWidth + ' HEIGHT=' + dayCellHeight + '><center>';

    openCol += '<font class="blackfont">';
    var closeCol = '</FONT></center></TD>';

    var weekDay = new Array(7);
    weekDay[0] = "S"; 
	weekDay[1] = "M"; 
	weekDay[2] = "T"; 
	weekDay[3] = "W"; 
    weekDay[4] = "T"; 
	weekDay[5] = "F"; 
	weekDay[6] = "S";
    
    text += '<TR class="tr25">';
    for (var dayNum = 0; dayNum < 7; ++dayNum) {
            text += openCol + weekDay[dayNum] + closeCol;

    }
    text += '</TR>';

    var digit = 1;
    var curCell = 1;

    for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) {
		text += '<TR class="trWhite">';
			for (var col = 1; col <= 7; ++col) {
				if (digit > lastDate) 
					break;
				
				if (curCell < firstDay) {
					text += '<TD class="trWhite"></TD>';
					curCell++;
				} else {
            		if (digit == date && date == actval && year == curyear && month == curmonth && action!='MonthChanged') { 
                              //    alert('****Today is highlighted');
										var m = month + 1;
										if(m < 10) m ='0' + m;
										var d = digit;
										if(d < 10) d = '0'+ d;
										
										text += '<TD class="calTDselected" HEIGHT=' + cellHeight;  
     		text += '">';
            			text += '<FONT COLOR="' + todayColor + '">';
						text += '<a href="javascript:selectDate(' + year+ ',' + (month+1) + ',' + digit + ',\'' + eventHandler + '\');">' + digit + '</a>';
						text += '</FONT>';
						text += '</TD>';
				} else {

if(digit == date && date == actval && action!='MonthChanged'){
          //  alert('Today is highlighted');
					text += '<TD  class="calTDselected" HEIGHT=' + cellHeight;  
     		text += '"' + ' onclick="selectDate(' + year+ ',' + (month+1) + ',' + digit + ',\'' + eventHandler +  '\');"' + '>';
            			text += '<FONT COLOR="' + todayColor + '">';
						text += '<a href="javascript:selectDate(' + year+ ',' + (month+1) + ',' + digit + ',\'' + eventHandler + '\');">' + digit + '</a>';
						text += '</FONT>';
						text += '</TD>';
}

//Added by Tridib
else if(digit == actval && action!='MonthChanged'){

					text += '<TD class="calTDselected" HEIGHT=' + cellHeight;  
     		text += '">';
            			text += '<FONT COLOR="' + todayColor + '">';
						text += '<a href="javascript:selectDate(' + year+ ',' + (month+1) + ',' + digit + ',\'' + eventHandler + '\');">' + digit + '</a>';
						text += '</FONT>';
						text += '</TD>';
}
////////////////////



				else{
					text += '<TD class="trWhite" HEIGHT=' + cellHeight;
					text += ' onMouseOver="this.style.backgroundColor=\'#d5ddec\'" onMouseOut="this.style.backgroundColor=\'\'"' + ' onclick="selectDate(' + year+ ',' + (month+1) + ',' + digit + ',\'' + eventHandler + '\');"';

					var m = month + 1;
					if(m < 10) m ='0' + m;
					var d = digit;
					if(d < 10) d = '0'+ d;
					text += ' ><a href="javascript:selectDate(' + year+ ',' + (month+1) + ',' + digit + ',\'' + eventHandler + '\');">' + digit + '</a></TD>';
					}
				}        
				digit++;
			}
		}
        text += '</TR>';
    }
    text += '</TABLE></td></tr></table>';
	return text;

}

function putCal(year, month, actvalue, eventHandler,action) {
	// This method draws the calendar inside a html elemnt with id "calendar". The calendar is initialized with year, month, actvalue.
   
	var calHTML = setCal(year, month, '', actvalue, eventHandler,action);
	var calendar = document.getElementById("calendar");
	calendar.innerHTML = calHTML;
}

function selectDate(year, month, actvalue, eventHandler) {
   
	// This method will take the selected date, and submit to event calendar search Page.
	//alert('Date clicked!' + year + '-' + month + '-' + actvalue);
	eventHandler = eventHandler + "(" + year + "," + month + "," + actvalue + ")";
	//alert("eventHandler:" + eventHandler);
	eval(eventHandler);
	
}