// DHTML Calendar
// $Author: Jayanta Karmakar
// $Date: 2006/02/15 21:54:32 $
// $Revision: 1.1 $
////////////////////////Ajax test\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
function Calendar (cname, id, date, idval)
{     
    
//alert("............"+date);

	//alert(idval);
	this.member=idval;
	// Used to notify the calendar that it is attached to a single html field.
	this.fallback_single = 0;
	
	// Used to notify the claendar that it is attached to 3 html fields.
	this.fallback_multi = 1;
	
	// Used to notify the calendar that it is attached to both field sets.
	this.fallback_both = 2;
	
	// Read-only calendar
	this.viewOnly = false;
	
	// Allows the user to select weekends
	this.allowWeekends = true;
	
	// Allows the user to select weekdays
	this.allowWeekdays = true;
	
	// The minimum date that the user can select (inclusive)
	this.minDate = "--";
	
	// The maximum date that the user can select (exclusive)
	this.maxDate = "--";
	
	// Allow the user to scroll dates
	this.scrolling = true;
	
	// The id of this calendar
	this.name = cname;
	
	// The first day of the week in the calendar (0-Sunday, 6-Saturday)
	this.firstDayOfWeek = 0;
	
	// Fallback method
	this.fallback = this.fallback_both;
	
	// Sets the date and strips out time information
	this.calendarDate = date;
	this.calendarDate.setUTCHours(0);
	this.calendarDate.setUTCMinutes(0);
	this.calendarDate.setUTCSeconds(0);
	this.calendarDate.setUTCMilliseconds(0);
	
	// The field id that the calendar is attached to.
	// For single input, this is used "as is". for the
	// Multi-input, it is given a suffix for _day, _month
	// and _year inputs.
	this.attachedId = id;
	
	// The left and right month control icons
	//this.controlLeft = "&#171;";
	this.controlLeft = '<img src="images/scrol-handel-left.gif" width="10" height="10" border="0" />';
	//this.controlRight = "&#187;";
	this.controlRight = '<img src="images/scrol-handel-rght.gif" width="10" height="10" border="0" />';
		
	// The left and right month control icons (when disabled)
	this.controlLeftDisabled = "";
	this.controlRightDisabled = "";
	
	// The css classes for the calendar and header
	this.calendarStyle = "cal_calendar";
	this.headerStyle = "cal_header";
	this.headerCellStyle = "cal_cell";
	this.headerCellStyleLabel = "cal_labelcell";
	
	// The css classes for the rows
	this.weekStyle = "cal_week";
	this.evenWeekStyle = "cal_evenweek";
	this.oddWeekStyle = "cal_oddweek";
	
	// The css classes for the day elements
	this.dayStyle = "cal_day";
	this.disabledDayStyle = "cal_disabled";
	this.commonDayStyle = "cal_common";
	this.holidayDayStyle = "cal_holiday";
	this.eventDayStyle = "cal_event";
	this.todayDayStyle = "cal_today";
	this.selectedStyle="cal_row";
	//this.selectedcell="cal_select_cell2";
	// specifies the labels for this calendar
	this.dayLabels = new Array(" Sun", " Mon", " Tue", " Wed", " Thu", " Fri", " Sat");
	this.monthLabels = new Array(
		"January", "February", "March", "April"
		, "May", "June", "July", "August"
		, "September", "October", "November", "December");
	
	// Specifies the dates of any event. The events are to be defined as arrays,
	// with element 0 being the date and element 1 being an id.
	this.eventDates = new Array();
	
	// Attach event handlers to any fallback fields.
	if (this.viewOnly == false) {
	
		setFieldValue(this.attachedId, this.calendarDate,this.member);
		
		if ((this.fallback = this.fallback_both) || (this.fallback = this.fallback_single)) {
			eval("document.getElementById(\"" + this.attachedId + "\").onchange = function () {updateFromSingle("+this.name+", this);}");
		}

		if ((this.fallback = this.fallback_both) || (this.fallback = this.fallback_multi)) {

			eval("document.getElementById(\"" + this.attachedId + "_day\").onchange = function () {updateFromMultiDay("+this.name+", this);}");
			eval("document.getElementById(\"" + this.attachedId + "_month\").onchange = function () {updateFromMultiMonth("+this.name+", this);}");
			eval("document.getElementById(\"" + this.attachedId + "_year\").onchange = function () {alert("+this.name+"); updateFromMultiYear("+this.name+", this);}");
			
		}
	} 
	
	selectEvent = new Function();
}

function updateFromSingle (sender, helper) {
	newDate = new Date (helper.value);
	newDate.setUTCDate(newDate.getUTCDate()+1);
	sender.calendarDate = newDate;

	renderCalendar (sender);
	setFieldValue(sender.attachedId, sender.calendarDate,calendar.member);
}

function updateFromMultiDay (sender, helper) {

	if (isNaN(helper.value)) {
		helper.value = sender.calendarDate.getUTCDate();
		return false;
	}

	sender.calendarDate.setUTCDate(helper.value);
	renderCalendar (sender);
	setFieldValue(sender.attachedId, sender.calendarDate,calendar.member);
}

function updateFromMultiMonth (sender, helper) {

	if (isNaN(helper.value)) {
		helper.value = sender.calendarDate.getUTCMonths() -1;
		return false;
	}
	
	sender.calendarDate.setUTCMonth(helper.value-1);
	renderCalendar (sender);
	setFieldValue(sender.attachedId, sender.calendarDate,calendar.member);
}

function updateFromMultiYear (sender, helper) {
	alert('sender:'+sender+' || helper:'+helper);
	if (isNaN(helper.value)) {
		helper.value = sender.calendarDate.getUTCFullYear();
		return false;
	}
	
	sender.calendarDate.setUTCFullYear(helper.value);
	renderCalendar (sender);
	setFieldValue(sender.attachedId, sender.calendarDate,calendar.member);
}

function replaceAll(string, token, newtoken) {
	while (string.indexOf(token) != -1) {
 		string = string.replace(token, newtoken);
	}
	return string;
}


function dateAvaiable(date){
	date = replaceAll(date, '-', ', ');
	date = new Date(date);
	cal1.calendarDate = date;
	document.pay_meeting.nowselectedtime.value = date;
	renderCalendar (cal1);
	setFieldValue(cal1.attachedId, cal1.calendarDate,cal1.member);
	
}

function getFirstCalendarDate (calendar)
{
	return new Date (
		calendar.calendarDate.getUTCFullYear()
		, calendar.calendarDate.getUTCMonth()
		, 1
	);
}

/* Added by C.A.Sheela : added nowDateVal argument */
function renderCalendar (calendar,nowDateVal)
{
	// alert("~~~~RENDER~~~~~~"+nowDateVal);
	
	calHtml1 =  ("<table id=\"cal_" + calendar.attachedId + "\" class=\"" + calendar.calendarStyle +"\" >");
	/* Added by C.A.Sheela : added nowDateVal argument */
	calHtml1 += ((calendar.scrolling)?buildHeader(calendar,nowDateVal):buildStaticHeader(calendar));
	/* Added by C.A.Sheela : added nowDateVal argument */
	calHtml1 += buildCalendarTable (calendar,nowDateVal);
	calHtml1 += ("</table>");
	
	document.getElementById("cal_" + calendar.attachedId + "_display").innerHTML = calHtml1;
}

/* Added by C.A.Sheela : added nowDateVal argument */
function scrollMonthBack (calendar,nowDateVal)
{
	calendar.calendarDate.setUTCMonth(calendar.calendarDate.getUTCMonth() - 1);
	document.pay_meeting.nowselectedtime.value = calendar.calendarDate;
	setFieldValue(calendar.attachedId, calendar.calendarDate,calendar.member);
	/* Added by C.A.Sheela : added nowDateVal argument */
	renderCalendar (calendar,nowDateVal);
}

/* Added by C.A.Sheela : added  nowDateVal argument */
function selectDate (calendar, day,nowDateVal)
{	
	// alert("*******SELECTDATE*****"+day);
	
	if (!calendar.viewOnly) {
		calendar.calendarDate.setUTCDate(day);
		//window.location.href='?dt='+calendar.calendarDate;
		document.pay_meeting.nowselectedtime.value = calendar.calendarDate;
		setFieldValue(calendar.attachedId, calendar.calendarDate,calendar.member);
		/* Added by C.A.Sheela: added nowDateVal argument */
		renderCalendar (calendar,nowDateVal);
	}
}

/* Added by C.A.Sheela : added nowDateVal argument */
function scrollMonthForward (calendar,nowDateVal)
{
	calendar.calendarDate.setUTCMonth(calendar.calendarDate.getUTCMonth() + 1);
	document.pay_meeting.nowselectedtime.value = calendar.calendarDate;
	setFieldValue(calendar.attachedId, calendar.calendarDate,calendar.member);
	/* Added by C.A.Sheela : added nowDateVal argument */
	renderCalendar (calendar,nowDateVal);
}

function setFieldValue(fieldId, date,memval) {
	document.getElementById(fieldId).value = date.getUTCFullYear() + "/" + (date.getUTCMonth()+1) + "/" + date.getUTCDate();
	document.getElementById(fieldId + "_year").value = date.getUTCFullYear();
	document.getElementById(fieldId + "_month").selectedIndex = date.getUTCMonth();
	document.getElementById(fieldId + "_day").value = date.getUTCDate();
	todate=date.getUTCFullYear() + "/" + (date.getUTCMonth()+1) + "/" + date.getUTCDate();
	
	findvenues(todate,memval);
	return true;
	
}

///////////////ajax test\\\\\\\\\\\\\\\\\\\\\\\\

////////////////another test/////////////////////////////////
function makeRequest() 
{
	//alert("makeRequest");
	var http_request = false;
	
	// Mozilla, Safari, ...
	if (window.XMLHttpRequest)
	{
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
		{
					http_request.overrideMimeType('text/xml');
					// See note below about this line
		}
	}
	// IE
	else if (window.ActiveXObject)
	{
		try
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	
	if (!http_request)
	{
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	else
		return http_request;
}
var http = makeRequest(); 
function findvenues(value,val)
{
 
 
 

			
 // value = date
 // val = SP user id
 
		    //alert("country***_"+document.usermeetzone.client_country.value);	
						  //  	
							
 //alert("valuie_"+value);	
 //alert("val_"+val);	
 
 
 //	alert("sssssstate_"+document.usermeetzone.client_state.value);
//	alert("cccity_"+document.usermeetzone.client_city.value);
//	alert("cccccccountrey_"+document.usermeetzone.client_country.value); 
 
 
 
  var checkusertype 	   = document.usermeetzone.clientsearchenable.value;
  
 //alert("checkusertype_"+checkusertype);	 
 //alert("clientsearchenable_"+document.usermeetzone.clientsearchenable.value);	   
 
  var user_timezone_enable = document.usermeetzone.user_timezone_enable.value;
  //Guest user
  //alert("user_timezone_enable_"+user_timezone_enable);	 
/*  			alert("toptoptopYOU ARE supering panos G-to-the-A-Y");	  
						alert(checkusertype);	
									alert(user_timezone_enable);	 */
  
  
// USER IS NOT LOGGED IN!
// USER IS NOT LOGGED IN!
// USER IS NOT LOGGED IN!
		// this means USER IS NOT LOGGED IN
if(checkusertype==1)
{
  
	var client_state    = document.usermeetzone.client_state.value;
	var client_city    = "";
  	var client_country = document.usermeetzone.client_country.value; 

	
	var d = new Date()
	var gmtHours = d.getTimezoneOffset()/60;
//	var url = "shed_date.php?app=min&id="+val+"&user_timezone_enable="+user_timezone_enable+"&state="+state+"&clientZone="+gmtHours+"&client_city="+client_city+"&client_country="+client_country+"&search_date="; // The server-side script
//alert(url);	




/*    	if((client_country=="") && (client_city==""))
	{
  		var country = document.getElementById("country");
		var city    = document.getElementById("city");
		var state    = document.getElementById("state");

    	var country = country.options[country.selectedIndex].value;
    	var city   = city.options[city.selectedIndex].value;
  	    var state   = state.options[state.selectedIndex].value;
 */
	 
	 
	 	// Chrisao 31/03/09 start
/* alert(document.usermeetzone.client_country.value); //13		
alert(document.usermeetzone.client_state.value);	// 18
		
alert(document.getElementById('state').value);	//blank
alert(document.getElementById('country').value); //13		

alert("NON LOGGED IN S---- fcked");	
 */
	
	if(document.getElementById('state').value == "" && document.usermeetzone.client_state.value != "" && document.usermeetzone.client_country.value==document.getElementById('country').value)
	//if (document.pay_meeting1.elements[0].checked) 
	{
		//alert("YOU ARE GAY 0 - using NON LOGGED IN SERVER TIME");
		// this means default selection ()user wants either profile address or ev server time
		
			// 		<form name="usermeetzone"  ...
			//		<input type="hidden"  name="clientsearchenable" value="1">
			// 		<input type="hidden"  name="client_city" value="">
			// 		<input type="hidden"  name="client_country" value="">
			//		<input type="hidden"  name="client_state" value="">
		
/* 				if(document.getElementById("country") != 0)
				{
				// only Country was selected				
					var state   = 0;
				}
				else
				{
					var state    = document.getElementById("state");	
					var state   = state.options[state.selectedIndex].value;
				}
	 */

			var country =  document.getElementById("country");
			var country = country.options[country.selectedIndex].value;
			var city = "";
			var state = document.usermeetzone.client_state.value;
	
		var url = "shed_date.php?app=min&id="+val+"&user_timezone_enable="+user_timezone_enable+"&state="+state+"&clientZone="+gmtHours+"&city="+city+"&country="+country+"&search_date="; // The server-side script
//alert(url);	
	
	
	}
	
/* else if (document.usermeetzone.client_state.value == 0 && document.usermeetzone.client_country.value==document.getElementById('country').value)		
{
alert("............................");
} */

else
	//if (document.pay_meeting1.elements[1].checked) 
	{
		//alert("YOU ARE GAY 1 - using NON LOGGED IN DROPDOWN TIME");
		// this means manualt selection ()user wants a selected dropdown country time
		
		 	var country = document.getElementById("country");
			var city    = "";
			
//alert(document.getElementById('state').value);	
//alert(document.getElementById('country').value);
	
				//if( document.getElementById("state").value =="") 
				if(document.pay_meeting.state.value == 0)
				{
				// only Country was selected				
					var state   = 0;
				}
				else
				{
					var state    = document.getElementById("state");	
					var state   = state.options[state.selectedIndex].value;
				}
	  
			var country = country.options[country.selectedIndex].value;
			var city   = "";

/* 		
		  alert("city_1"+city);	 
		  alert("country_1"+country);	 
		  alert("state_1"+state);	 */
		
	   	var url = "shed_date.php?app=min&id="+val+"&user_timezone_enable="+user_timezone_enable+"&state="+state+"&clientZone="+gmtHours+"&city="+city+"&country="+country+"&search_date="; // The server-side script
//alert(url);			
		
	}	

		
		// Chrisao 31/03/09 end
		
		

	/* }//End If */
  
	
}
  
  
// USER IS LOGGED IN!
// USER IS LOGGED IN!
// USER IS LOGGED IN!
		// this means USER IS  LOGGED IN			
else
{
  	
	//alert("sssssstate_"+document.usermeetzone.client_state.value);
	//alert("cccity_"+document.usermeetzone.client_city.value);
	//alert("cccccccountrey_"+document.usermeetzone.client_country.value); 
	
	
		  //  alert("country***_"+document.usermeetzone.client_country.value);	
	
			  //  alert("country***_"+document.pay_meeting.country.value);	



// Chrisao 31/03/09 start	
// commented out
  	//for(i=0;i<document.pay_meeting1.elements.length;i++) {
// Chrisao 31/03/09 end		


// Chrisao 31/03/09 start
	
	
	//	  alert("document.pay_meeting1.elements[i].type_"+document.pay_meeting1.elements[i].type);	 
	
		 //   alert("document.pay_meeting1.SELECTED.name_>> "+document.pay_meeting1.elements.checked.value);
	//       alert("document.pay_meeting1.elements[0].val_"+document.pay_meeting1.elements[0].value);	
	//	alert("document.pay_meeting1.elements[0].nasme_"+document.pay_meeting1.elements[0].name);	
	//       alert("document.pay_meeting1.elements[1].val_"+document.pay_meeting1.elements[1].value);
	//       alert("document.pay_meeting1.elements[1].name_"+document.pay_meeting1.elements[1].name);

	//if (document.pay_meeting1.elements[0].checked) 
	if(document.getElementById('state').value == "" && document.usermeetzone.client_state.value != "" && document.usermeetzone.client_country.value==document.getElementById('country').value)
	{
		//alert("YOU ARE GAY 0 - using LOGGED IN USER TIME88888888888888888888");
		// this means default selection ()user wants either profile address or ev server time
		
/* 					<form name="usermeetzone"  ...
					<input type="hidden"  name="clientsearchenable" value="0">
					<input type="hidden"  name="client_city" value="{$ss_city}">
					<input type="hidden"  name="client_country" value="{$ss_countrys}">
					<input type="hidden"  name="client_state" value="{$ss_state}"> */
			
		//	alert("sssssstate_ "+document.usermeetzone.client_state.value);
		//	alert("cccity_ "+document.usermeetzone.client_city.value);
		//	alert("cccccccountrey_ "+document.usermeetzone.client_country.value); 
		
			var country =  document.getElementById("country");
			var country = country.options[country.selectedIndex].value;
			var city = "";
			var state = document.usermeetzone.client_state.value;		
	  	
	var url = "shed_date.php?app=min&id="+val+"&user_timezone_enable="+user_timezone_enable+"&state="+document.usermeetzone.client_state.value+"&country="+document.usermeetzone.client_country.value+"&city="+document.usermeetzone.client_city.value+"&search_date=";
//alert(url);
	
	}
		
	//if (document.pay_meeting1.elements[1].checked) 
	//if(1)
	else
	{
/* 		
 */		// this means manualt selection ()user wants a selected dropdown country time
		//alert("YOU ARE GAY 1 - using LOGGED IN DROPDOWN TIME333333333");
				
		 	var country = document.getElementById("country");
			var city    = "";
	//alert(document.getElementById('state').value);	
				//if( document.getElementById("state").value =="") 
				
//alert(document.usermeetzone.client_country.value); //13		
//alert(document.usermeetzone.client_state.value);	// 18

//if(document.usermeetzone.client_state.value == ) // blank
		
//alert(document.getElementById('state').value);	//blank
//alert(document.getElementById('country').value); //13
				
				if(document.pay_meeting.state.value == 0)
				{
				// only Country was selected				
					var state   = 0;
				}
				else
				{
				  	var state    = document.getElementById("state");
					var state   = state.options[state.selectedIndex].value;
				}
				  
			var country = country.options[country.selectedIndex].value;
			var city   = "";

		
/* 		  alert("city_2"+city);	 
		  alert("country_2"+country);	 
		  alert("state_2"+state);	 */
		
		
		  	
	var url = "shed_date.php?app=min&id="+val+"&user_timezone_enable="+user_timezone_enable+"&state="+state+"&country="+country+"&city="+city+"&search_date=";
//alert(url);
		
		
	}	



		
	//		  alert("document.getElementById(ountry)_"+document.getElementById("country"));	 
	//    alert("document.getElementById(city)_"+document.getElementById("city"));	

// Chrisao 31/03/09 end


	// Chrisao 31/03/09 start
	// commented out
/* 			if(document.pay_meeting1.elements[i].type=="radio") 
			{
				if(document.pay_meeting1.elements[i].name=="address_meet")
				{
					if((document.pay_meeting1.elements[i].value=="12") || (document.pay_meeting1.elements[i].vallue=="13")){
						 var country = document.getElementById("country");
						 var city    = document.getElementById("city");

    					 var selectedCountryContinent = country.options[country.selectedIndex].value;
    					 var selectedCityContinent   = city.options[city.selectedIndex].value;
					}
				}	        
    	    } */
	// Chrisao 31/03/09 end		
			
			
// Chrisao 31/03/09 start	
// commented out
  	//}
// Chrisao 31/03/09 end    
	


}

  //document.getElementById("state").value;
  var sid = value;

  //
  //var a=document.pay_meeting.id1.value;
	//alert(a);
	//alert('hi');
  //alert(mode)
	selectedhours = 0;
  http.open("GET", url + sid, true);

  http.onreadystatechange = handleHttpResponse;

  http.send(null);
}

function handleHttpResponse() {

  if (http.readyState == 4) {

  
 //alert("cal_js");
 
    // Split the comma delimited response into an array
   results=(http.responseText);
   //final_results = results.replace(/\//g,"");   
// alert(results);
 // results = '<input type="submit" name="b">';
   // alert(document.getElementById('venues').value);
   try {
    document.getElementById('jayanta').innerHTML = results;
	}
	catch (e)
	{
	
	}
//document.writeln(
  }//end of readystate 4
  
		 else
		{
		try {
			document.getElementById('jayanta').innerHTML = 'Loading...';
}
catch (e)
{
}	

	} 

}
/////////////////////////////////////////////////////////////
/* Added by C.A.Sheela : added nowDateVal argument */
function buildHeader (calendar,nowDateVal)
{

	enableLeft = true;
	enableRight = true;
	
	if (calendar.minDate != "--") 
	{
		if (calendar.calendarDate.getUTCFullYear() <= calendar.minDate.getUTCFullYear())
		{
			if (calendar.calendarDate.getUTCMonth() <= calendar.minDate.getUTCMonth())
			{
				enableLeft = false;
			}
		}
	}

	if (calendar.maxDate != "--") 
	{
		if (calendar.calendarDate.getUTCFullYear() >= calendar.maxDate.getUTCFullYear())
		{
			if (calendar.calendarDate.getUTCMonth() >= calendar.maxDate.getUTCMonth())
			{
				enableRight = false;
			}
		}
	}

	calHtml2 = "";
	
	calHtml2 +=  (
		"<tr class=\""
		+ calendar.headerStyle
		+ "\">");
	calHtml2 +=  (
		"<td  class=\""
		+ calendar.headerCellStyle
		+ ((enableLeft)?("\" onclick=\"scrollMonthBack(" + calendar.name + ",'"+nowDateVal+"')"):"")
		+ "\">"
		+ ((enableLeft)?calendar.controlLeft:calendar.controlLeftDisabled)
		+ "</td>");
	calHtml2 +=  (
		"<td colspan=\"5\" class=\""
		+ calendar.headerCellStyleLabel
		+ "\">"
		+ calendar.monthLabels[calendar.calendarDate.getUTCMonth()] 
		+ ", " + calendar.calendarDate.getUTCFullYear()
		+ "</td>");
	calHtml2 +=  (
		"<td class=\""
		+ calendar.headerCellStyle
		+ ((enableRight)?("\" onclick=\"scrollMonthForward(" + calendar.name + ",'"+nowDateVal+"')"):"")
		+ "\">"
		+ ((enableRight)?calendar.controlRight:calendar.controlRightDisabled)
		+ "</td>");
	
	calHtml2 += ("</tr>");
	
	calHtml2 +=  (
		"<tr class=\""
		+ calendar.headerStyle
		+ "\">")

	for (i = 0; i < 7; i++) {
		showDay = i + calendar.firstDayOfWeek;
		if (showDay > 6) showDay = showDay - 7;
		calHtml2 +=  (
			"<td class=\""
			+ calendar.headerCellStyle
			+ "\">"
			+ calendar.dayLabels[showDay]
			+ "</td>");
	}

	calHtml2 += ("</tr>");
	return calHtml2
}

function buildStaticHeader (calendar)
{
	calHtml2 = "";
	
	calHtml2 +=  (
		"<tr class=\""
		+ calendar.headerStyle
		+ "\">");
	calHtml2 +=  (
		"<td colspan=\"7\" class=\""
		+ calendar.headerCellStyleLabel
		+ "\">"
		+ calendar.monthLabels[calendar.calendarDate.getUTCMonth()] 
		+ ", " + calendar.calendarDate.getUTCFullYear()
		+ "</td>");	
	calHtml2 += ("</tr>");
	
	calHtml2 +=  (
		"<tr class=\""
		+ calendar.headerStyle
		+ "\">")

	for (i = 0; i < 7; i++) {
		showDay = i + calendar.firstDayOfWeek;
		if (showDay > 6) showDay = showDay - 7;
		calHtml2 +=  (
			"<td class=\""
			+ calendar.headerCellStyle
			+ "\">"
			+ calendar.dayLabels[showDay]
			+ "</td>");
	}

	calHtml2 += ("</tr>");
	return calHtml2
}




function RenderDayDisabled (calendar, currentDate)
{
	calHtml += ('<td class="day">');
	calHtml += ("<span class=\"" + calendar.disabledDayStyle + "\">");
	calHtml += (currentDate.getUTCDate());
	calHtml += ("</span>");
	calHtml += ("</td>");
}

/* Added By C.A.Sheela : added nowDateVal argument */
function RenderDayEnabled (calendar, currentDate, dayStyle ,nowDateVal)
{
	currentDayStyle = dayStyle;
	calHtml += ('<td class="day">');
	/* Added and Modified by C.A.Sheela : added nowDateVal argument
	calHtml += ("<span class=\"" + dayStyle + "\" onclick=\"selectDate(" + calendar.name + ", " + currentDate.getUTCDate() + ")\">");  */
	calHtml += ("<span class=\"" + dayStyle + "\" onclick=\"selectDate(" + calendar.name + ", " + currentDate.getUTCDate() + ",'"+nowDateVal+"')\">");
	//calHtml += ("<span onmouseover=\"this.className='cm calenderDateOrange';\" onmouseout=\"this.className='cm calenderDate';\" class=\"" + dayStyle + "\" onclick=\"selectDate(" + calendar.name + ", " + currentDate.getUTCDate() + "); " + calendar.name + ".selectEvent('" + eventId + "')\">");
	calHtml += (currentDate.getUTCDate());
	//calHtml += ("<a href=''"+currentDate.getUTCDate()+" class='dayStyle'>"+currentDate.getUTCDate()+"</a>");
	calHtml += ("</span>");
	calHtml += ("</td>");
}

/* Added and Modified by C.A.Sheela : added nowDateVal argument */
function RenderDayEvent (calendar, currentDate, dayStyle, eventId,nowDateVal)
{
	currentDayStyle = dayStyle;
	calHtml += ('<td class="day" >');
	/* Added and Modified by C.A.Sheela : added nowDateVal argument
	calHtml += ("<span  class=\"" + dayStyle + "\" onclick=\"selectDate(" + calendar.name + ", " + currentDate.getUTCDate() + "); " + calendar.name + ".selectEvent('" + eventId + "')\">");  */
	calHtml += ("<span  class=\"" + dayStyle + "\" onclick=\"selectDate(" + calendar.name + ", " + currentDate.getUTCDate() + ",'" + nowDateVal + "'); " + calendar.name + ".selectEvent('" + eventId + "')\">");
	//calHtml += ("<span  class=\"" + dayStyle + "\" onclick=\"selectDate(" + calendar.name + ", " + currentDate.getUTCDate() + "); " + calendar.name + ".selectEvent('" + eventId + "')\">");
	calHtml += (currentDate.getUTCDate());
	//calHtml += ("<a href=''"+currentDate.getUTCDate()+">"+currentDate.getUTCDate()+"</a>");
	calHtml += ("</span>");
	calHtml += ("</td>");
}

/* Added by C.A.Sheela : added nowDateVal argument */
function buildCalendarTable (calendar,nowDateValParam)
{	
	
	/* Added By C.A.Sheela */
	var nowDateVal = new Date(nowDateValParam);	

	currentDate = getFirstCalendarDate(calendar);


//alert("cccuuurrreeennntttdate"+currentDate); // first day of the month
//alert("nnnooowwwdate"+nowDateVal); // todays date of the user

	odd = 0;
	while (currentDate.getUTCDay() != calendar.firstDayOfWeek)
	{
		currentDate.setUTCDate(currentDate.getUTCDate() - 1);
	}
	
	calHtml = "";
	do
	{
		odd += 1;

		calHtml +=  (
			"<tr height='30' class=\"" + (((odd%2)==0) ? calendar.selectedStyle : calendar.selectedStyle) + "\">")

		for (i = 0;i < 7;i++)
		{
			currentDayStyle = calendar.dayStyle;
			currentEventStyle = calendar.commonDayStyle;
			currentDateString = currentDate.getUTCFullYear() + "/" + (currentDate.getUTCMonth()+1) + "/" + currentDate.getUTCDate();

			
//alert("calendar.minDate"+calendar.minDate); // todays date of the user
//alert("calendar.minDate"+calendar.maxDate); // todays date of the user			
			
			if (currentDate < calendar.minDate) 
			{
			
		// I dont think this is ever valid !!!	alert("currentDate <calendar.minDate");	
				RenderDayDisabled (calendar, currentDate);
			} 
			else if (currentDate > calendar.maxDate) 
			{	
		// I dont think this is ever valid !!!	alert("currentDate > calendar.minDate");			
				RenderDayDisabled (calendar, currentDate);
			} 
			else if (currentDate.getUTCMonth() != calendar.calendarDate.getUTCMonth())
			{				
	// alert("getUTCMonth() != calendar.calendarDate");			
				/* Commented and Modified By C.A.Sheela */	
				/* RenderDayDisabled (calendar, currentDate); */
				/* Reason: for select date from forwarded month */
			/*	if (calendar.calendarDate < nowDateVal)
				{	
					calendar.calendarDate = nowDateVal;
					RenderDayDisabled (calendar, currentDate);
				}//End Zen Script  */       
				RenderDayDisabled (calendar, currentDate);
			}
			/* Commented and modified by C.A.Sheela */			
			/* else if (currentDate < new Date())
			{   
				RenderDayDisabled (calendar, currentDate);
			}*/
		

//	if (currentDate < nowDateVal)	else if (currentDate < nowDateVal)
else if ((currentDate < nowDateVal) && (currentDate.getUTCDate() < nowDateVal.getUTCDate()))
{
		

				//var ddd = 
/* 							alert("nowDateValNOW"+nowDateVal.getUTCDate());				
							alert("currentDateNOW"+currentDate.getUTCDate());							
						alert("getutcdateCAL"+calendar.calendarDate.getUTCDate());
							alert("getutcdateNOW"+nowDateVal.getUTCDate());		
							alert("currentDate"+currentDate);	
							alert("nowDateVal"+nowDateVal);	 */
							
				/* Added by C.A.Sheela */
				if(calendar.calendarDate.getUTCDate() < nowDateVal.getUTCDate()){
				
			//			alert("if -  entDate < nowDate");
						
					cal1 = new Calendar ("cal1", "tester",nowDateVal,cal1.member);
					calendar.calendarDate = nowDateVal;
					renderCalendar (cal1,nowDateValParam);
				}else {
				
			//			alert("else  -  entDate < nowDate");		
										//alert("if -  entDate < nowDate");
					RenderDayDisabled (calendar, currentDate);
				}
                                                 
		    /* End Script */		
}		
			else if (currentDate.getUTCDate() == calendar.calendarDate.getUTCDate())
			{
			
			//	alert("getUTCDate() == calendar.calendarD"+currentDate.getUTCDate());
			
			
				if ((currentDate.getUTCDay() == 0) || (currentDate.getUTCDay() == 6))
				{
					if (calendar.allowWeekends == true)
					{
						/* Added By C.A.Sheela : added nowDateVal argument */
						RenderDayEnabled (calendar, currentDate, calendar.todayDayStyle,nowDateVal);
					} 
					else 
					{
						RenderDayDisabled (calendar, currentDate);	
						month = calendar.calendarDate.getUTCMonth();
						calendar.calendarDate.setUTCDate(calendar.calendarDate.getUTCDate()+1);
						if (month != calendar.calendarDate.getUTCMonth())
						{
							/* Added by C.A.Sheela : added nowDateVal argument */
							renderCalendar(calendar,nowDateVal);
						}
						setFieldValue(calendar.attachedId, calendar.calendarDate,calendar.member);
					}
				} else {
					if (calendar.allowWeekdays == true)
					{
						/* Added By C.A.Sheela : added nowDateVal argument */
						RenderDayEnabled (calendar, currentDate, calendar.todayDayStyle,nowDateVal);
					} 
					else 
					{
						RenderDayDisabled (calendar, currentDate);	
						month = calendar.calendarDate.getUTCMonth();
						calendar.calendarDate.setUTCDate(calendar.calendarDate.getUTCDate()+1);
						if (month != calendar.calendarDate.getUTCMonth())
						{
							/* Added by C.A.Sheela : added nowDateVal argument */
							renderCalendar(calendar,nowDateVal);
						}
						setFieldValue(calendar.attachedId, calendar.calendarDate,calendar.member);
					}
				}
			}
			else if ((currentDate.getUTCDay() == 0) || (currentDate.getUTCDay() == 6))
			{
			
				//	alert("getUTCDay() == 0 || 6");		
			
				if (calendar.allowWeekends == true)
				{
				
					style = calendar.holidayDayStyle
					
					for (j=0; j < calendar.eventDates.length; j++)
					{
						if (calendar.eventDates[j][0] == currentDateString) 
						{
							style = calendar.eventDayStyle;
							/* Added By C.A.Sheela : added nowDateVal argument */
							RenderDayEvent (calendar, currentDate, style, calendar.eventDates[j][0],nowDateVal);
						}
					}
					
					if (style == calendar.holidayDayStyle)
					{
						/* Added By C.A.Sheela : added nowDateVal argument */
						RenderDayEnabled (calendar, currentDate, style,nowDateVal);
					}
				} 
				else 
				{
					RenderDayDisabled (calendar, currentDate);	
				}
			} else {
		
				if (calendar.allowWeekdays == true)
				{
					
					style = calendar.commonDayStyle
					
					for (j=0; j < calendar.eventDates.length; j++)
					{
						if (calendar.eventDates[j][0] == currentDateString) 
						{
										//	alert("elsssssssssse1111");	
							style = calendar.eventDayStyle;
							/* Added By C.A.Sheela : added nowDateVal argument */
							RenderDayEvent (calendar, currentDate, style, calendar.eventDates[j][0],nowDateVal);
						}
					}

					if (style == calendar.commonDayStyle)
					{
										//alert("elsssssssssse222222");	
						/* Added By C.A.Sheela : added nowDateVal argument */
						RenderDayEnabled (calendar, currentDate, style,nowDateVal);
					}
				} 
				else 
				{
					
					RenderDayDisabled (calendar, currentDate);	
				}
			}

			currentDate.setUTCDate(currentDate.getUTCDate() + 1);	
		}
		
		calHtml += ("</tr>");
		

	} while (currentDate.getUTCMonth() == calendar.calendarDate.getUTCMonth());
	return calHtml;
}

// $Log: calendar.js,v $
// Revision 1.1  2005/02/15 21:54:32  Karl Agius
// Initial release
//
