var xmlHttp
var xmlHttp2
var view_status;
var selected_timeslot;

function checkAccountActive(resident_id){ 
document.getElementById('noticeBoxS_'+resident_id).innerHTML = "<img src='img/ajax-loader2.gif'>";

 xmlHttp=GetXmlHttpObject()
 if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
 var url="eventXML.php"
 url=url+"?type=CHANGE_ACCOUNT_STATUS"
 url=url+"&rid="+resident_id
 xmlHttp.onreadystatechange=stateChanged_checkAccountActive
 xmlHttp.open("GET",url,true)
 xmlHttp.send(null)
 
 
}

 
function stateChanged_checkAccountActive(){ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{

	xmlDoc=xmlHttp.responseXML;

	document.getElementById('noticeBoxS_'+xmlHttp.responseText).innerHTML = "saved";

}
}

function changeservice(selected_day, selected_month, selected_year, condo_id){ 

var truemonth = parseInt(selected_month);
truemonth = truemonth + 1;


 xmlHttp=GetXmlHttpObject()
 if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
 var url="eventXML.php"
 url=url+"?type=CHANGE_SERVICE"
 url=url+"&day="+selected_day
 url=url+"&month="+truemonth
 url=url+"&year="+selected_year
 url=url+"&condo_id="+condo_id
 xmlHttp.onreadystatechange=stateChanged_changeservice
 xmlHttp.open("GET",url,true)
 xmlHttp.send(null)
 
 
}

 
function stateChanged_changeservice(){ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{


}
}

function checkIfServiceOn(selected_month, selected_year, daystart, condo_id){
	var truemonth = parseInt(selected_month);
	truemonth = truemonth + 1;

	 xmlHttp=GetXmlHttpObject()
	 if (xmlHttp==null)
	  {
	  alert ("Browser does not support HTTP Request")
	  return
	  } 
	 var url="eventXML.php"
	 url=url+"?type=CHECK_SERVICE"
	 url=url+"&daystart="+daystart
	 url=url+"&month="+truemonth
	 url=url+"&year="+selected_year
	 url=url+"&condo_id="+condo_id
	 xmlHttp.onreadystatechange=stateChanged_checkIfServiceOn
	 xmlHttp.open("GET",url,true)
	 xmlHttp.send(null)
 
}

 
function stateChanged_checkIfServiceOn(){ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{

		 xmlDoc=xmlHttp.responseXML;
		
		$('.ajaxloader').hide();
		
		//alert(xmlHttp.responseText);
		
		var calendarNodes = xmlDoc.getElementsByTagName("calendar"); 
		var startDayNodes = xmlDoc.getElementsByTagName("daystart"); 
		for(i=0; i<calendarNodes.length; i++){
			
			var dayNode = calendarNodes[i].getElementsByTagName("day");
			var serviceNode = calendarNodes[i].getElementsByTagName("service");
			var serviceCountNode = calendarNodes[i].getElementsByTagName("servicecount");
			
			var sday = parseInt(dayNode[0].firstChild.nodeValue) + parseInt(startDayNodes[0].firstChild.nodeValue);
			document.getElementById('d'+sday).innerHTML += "<div style='vertical-align:center;text-align:center;font-size:13px;font-weight:bold'><a style='color:#000000' href='javascript:changeday(" + dayNode[0].firstChild.nodeValue + ")'>"+serviceCountNode[0].firstChild.nodeValue+" </a><br /><span style='font-size:10px'>&nbsp;services</span></div>";
			//alert(sday);
			
			if(serviceNode[0].firstChild.nodeValue==1){
			document.getElementById('calendar_day_'+dayNode[0].firstChild.nodeValue).checked=true;
			} 
			
			
		
		}

	}
}

//to check for each day status
function checkIfServiceOnPublic(selected_month, selected_year, daystart, condo_id){
	var truemonth = parseInt(selected_month);
	truemonth = truemonth + 1;


	 xmlHttp2=GetXmlHttpObject()
	 if (xmlHttp2==null)
	  {
	  alert ("Browser does not support HTTP Request")
	  return
	  } 
	 var url="eventXML.php"
	 url=url+"?type=CHECK_SERVICE"
	 url=url+"&daystart="+daystart
	 url=url+"&month="+truemonth
	 url=url+"&year="+selected_year
	 url=url+"&condo_id="+condo_id
	 xmlHttp2.onreadystatechange=stateChanged_checkIfServiceOnPublic
	 xmlHttp2.open("GET",url,true)
	 xmlHttp2.send(null)
 
}

 
function stateChanged_checkIfServiceOnPublic(){ 
	if (xmlHttp2.readyState==4 || xmlHttp2.readyState=="complete")
	{

		 xmlDoc=xmlHttp2.responseXML;
		
		//alert(xmlHttp.responseText);
		
		var calendarNodes = xmlDoc.getElementsByTagName("calendar"); 
		var startDayNodes = xmlDoc.getElementsByTagName("daystart"); 
		for(i=0; i<calendarNodes.length; i++){
			
			var dayNode = calendarNodes[i].getElementsByTagName("day");
			var serviceNode = calendarNodes[i].getElementsByTagName("service");
			var serviceCountNode = calendarNodes[i].getElementsByTagName("servicecount");
			var noBookingNode = calendarNodes[i].getElementsByTagName("nobooking");
			var isTodayNode = calendarNodes[i].getElementsByTagName("istoday");

			//calculate start day for selected month
			var sday = parseInt(dayNode[0].firstChild.nodeValue) + parseInt(startDayNodes[0].firstChild.nodeValue);
			
			//disable if service unavailable on that day
			if(serviceNode[0].firstChild.nodeValue==0){
			document.getElementById("d" + sday).style.border = "1px solid #ebebeb";
			document.getElementById("d" + sday).style.backgroundColor = "#ebebeb";
			document.getElementById('d'+ sday).className="noservice";
			document.getElementById('d'+ sday).innerHTML = dayNode[0].firstChild.nodeValue;
			}
			
			//disable if service is fully booked
			if(serviceCountNode[0].firstChild.nodeValue==8){
			document.getElementById("d" + sday).style.border = "1px solid #8cd5fd";
			document.getElementById("d" + sday).style.backgroundColor = "#ceecfd";
			document.getElementById('d'+ sday).className="fullyBooked";
			document.getElementById('d'+ sday).innerHTML = dayNode[0].firstChild.nodeValue;
			}
			
			//disable if its <= +3days from today
			if(noBookingNode[0].firstChild.nodeValue==1){
			document.getElementById("d" + sday).style.border = "1px solid #ebebeb";
			document.getElementById("d" + sday).style.backgroundColor = "#ebebeb";
			document.getElementById('d'+ sday).className="noservice";
			document.getElementById('d'+ sday).innerHTML = dayNode[0].firstChild.nodeValue;
			}
			
			if(isTodayNode[0].firstChild.nodeValue==1){
			document.getElementById("d" + sday).style.border = "1px solid #959393";
			document.getElementById("d" + sday).style.backgroundColor = "#b8b8b8";
			document.getElementById("d" + sday).style.fontWeight = "bold";
			document.getElementById('d'+ sday).className="noservice";
			document.getElementById('d'+ sday).innerHTML = dayNode[0].firstChild.nodeValue;
			}
			
		
		}

	}
}

//to draw time slot
function getTimeSlot(selected_day, selected_month, selected_year, condo_id){ 

var truemonth = parseInt(selected_month);
truemonth = truemonth + 1;


 xmlHttp=GetXmlHttpObject()
 if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
  
 var url="eventXML.php"
 url=url+"?type=GET_TIME_SLOT"
 url=url+"&day="+selected_day
 url=url+"&month="+truemonth
 url=url+"&year="+selected_year
 url=url+"&condo_id="+condo_id
 xmlHttp.onreadystatechange=stateChanged_getTimeSlot
 xmlHttp.open("GET",url,true)
 xmlHttp.send(null)
 

}

 
function stateChanged_getTimeSlot(){ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
	xmlDoc=xmlHttp.responseXML;

	var serviceOnNodes = xmlDoc.getElementsByTagName("serviceon");
	
	if(xmlHttp.responseText=='expired' || serviceOnNodes[0].firstChild.nodeValue==0){

		document.getElementById('leftBookingTable').innerHTML ="Service no available on this day.<br/><br/>";
		document.getElementById('leftBookingTable').innerHTML +="Having trouble make a booking? Contact us at:<br/><br/>";
		document.getElementById('leftBookingTable').innerHTML +="<b>No. 1 Eunos Avenue 8A</b><br/>";
		document.getElementById('leftBookingTable').innerHTML +="Singapore(409457)<br/>";
		document.getElementById('leftBookingTable').innerHTML +="Tel | <b>+65 6468 7320</b><br/>";
		document.getElementById('leftBookingTable').innerHTML +="Fax | <b>+65 6468 2607</b><br/>";
		//do not proceed any further
		
	}else{
	
	var calendarNodes = xmlDoc.getElementsByTagName("calendar");
	var serviceLeftNodes = xmlDoc.getElementsByTagName("serviceLeft");
	var serviceOnNodes = xmlDoc.getElementsByTagName("serviceon");
	var wdayNodes = xmlDoc.getElementsByTagName("wday"); 	
	var dayNodes = xmlDoc.getElementsByTagName("day"); 
	var monthNodes = xmlDoc.getElementsByTagName("month"); 
	var yearNodes = xmlDoc.getElementsByTagName("year"); 
	var residentIDNodes = xmlDoc.getElementsByTagName("residentid"); 

	document.getElementById('leftBookingTable').innerHTML = "<div style='text-align:center;margin-top:100px'><img src='images/ajaxloader.gif'></div>";
	var buffer = "<form name='bookingFrm' action='booking-update.php' method='POST'>";
	buffer += "<input type='hidden' name='update_type' value='ADD_BOOKING'>";
	buffer += "<input type='hidden' name='bookDay' value='"+dayNodes[0].firstChild.nodeValue+"'>";
	buffer += "<input type='hidden' name='resident_id' value='"+residentIDNodes[0].firstChild.nodeValue+"'>";
	buffer += "<table class='timeSlotTable' cellspacing='0' cellpadding='0' border='0'>";
	//alert(xmlHttp.responseText);
	
	
	buffer += "<tr><td colspan='2' class='timeslot_title'><div class='floatLeft'>";
	buffer += wdayNodes[0].firstChild.nodeValue;
	buffer += ", ";
	buffer += monthNodes[0].firstChild.nodeValue;
	buffer += " ";
	buffer += dayNodes[0].firstChild.nodeValue;
	buffer += ", ";
	buffer += yearNodes[0].firstChild.nodeValue;
	buffer += "</div><div class='floatRight' style='font-size:11px;font-weight:normal;margin-top:2px;'>You have <b>"; 
	buffer += serviceLeftNodes[0].firstChild.nodeValue;
	buffer += " </b>bookings left for the year</div>";
	buffer += "</td>";
	buffer += "</tr>";
	buffer += "<tr><td colspan='2' style='height:6px'></td></tr>";

		
		for(i=0; i<calendarNodes.length; i++){
			
			var timeNode = calendarNodes[i].getElementsByTagName("time");
			var statusNode = calendarNodes[i].getElementsByTagName("status");
			var btsidNode = calendarNodes[i].getElementsByTagName("btsid");
			var ownerNode = calendarNodes[i].getElementsByTagName("owner");
				
			
			if(statusNode[0].firstChild.nodeValue==1){
			//if slot is unavailable
			buffer += "<tr>";
			buffer += "<td class='time_interval_un'>";
			buffer += "<div class='checkboxDiv'>";
			buffer += "<input type='radio' checked disabled />";
			buffer += "</div>";
			buffer += "<div class='timeboxDiv'><img src='images/arrowblue.gif'>&nbsp;";
			buffer += timeNode[0].firstChild.nodeValue;
			buffer += "</div>";
			buffer += "</td>";
			buffer += "<td class='stat_un'>";
			if(ownerNode[0].firstChild.nodeValue == 1){
				//if slot is taken by you
				buffer += " - Slot Taken by you - ";
				//buffer += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=''>void</a>";
			}else{
				//if slot is not taken by you
				buffer += " - Slot Taken - ";	
			}
			
			buffer += "</td>";
			buffer += "</tr>";
				if(timeNode[0].firstChild.nodeValue=="11:00 - 11:15"){
				//draw a 'LUNCH BREAK' slot
				buffer += "<tr>";
				buffer += "<td class='time_interval_lunchbreak'>";
				buffer += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src='images/arrowblue.gif'>&nbsp;&nbsp;12:00 - 12:59";
				buffer += "</td>";
				buffer += "<td class='stat_lunchbreak'>";
				buffer += " - LUNCH BREAK - ";
				buffer += "</td>";
				buffer += "</tr>";
				}
			
			}else if(statusNode[0].firstChild.nodeValue==0){
			//if slot is available
			buffer += "<tr>";
			buffer += "<td class='time_interval'>";
			buffer += "<div class='checkboxDiv'>";
			buffer += "<input type='radio' name='timeslot_id' id='timeslot_id' value='"+btsidNode[0].firstChild.nodeValue+"_"+timeNode[0].firstChild.nodeValue+"' onclick='getTimeSlotSelect()' />";
			buffer += "</div>";
			buffer += "<div class='timeboxDiv'><img src='images/arrowblue.gif'>&nbsp;&nbsp;";
			buffer += timeNode[0].firstChild.nodeValue;
			buffer += "</div>";
			buffer += "</td>";
			buffer += "<td class='stat'>";
			buffer += " - Slot Available - ";
			buffer += "</td>";
			buffer += "</tr>";
				if(timeNode[0].firstChild.nodeValue=="11:00 - 11:15"){
				//draw a 'LUNCH BREAK' slot
				buffer += "<tr>";
				buffer += "<td class='time_interval_lunchbreak'>";
				buffer += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src='images/arrowblue.gif'>&nbsp;&nbsp;12:00 - 12:59";
				buffer += "</td>";
				buffer += "<td class='stat_lunchbreak'>";
				buffer += " - LUNCH BREAK - ";
				buffer += "</td>";
				buffer += "</tr>";
				}
			}
			
		}
	buffer += "</table></form>";
	
	//create confirmation popup
	buffer += "<div id='info' style='display:none;'>";
	buffer += "<div class='header'>";
	buffer += "<img src='images/confirmation-title.gif' />";
	buffer += "</div>";
	buffer += "<div class='head'></div>";
	buffer += "<div class='content-i'>";
	buffer += "Your chosen aircon service slot is as follows:<p><b>";
	buffer += monthNodes[0].firstChild.nodeValue;
	buffer += " ";
	buffer += dayNodes[0].firstChild.nodeValue;
	buffer += ", ";
	buffer += yearNodes[0].firstChild.nodeValue; 
	buffer += ", ";
	buffer += wdayNodes[0].firstChild.nodeValue;
	buffer += "<br />";
	buffer += "<span id='timeslot_sv'></span>";
	buffer += "<br />";
	buffer += "Our technician will arrive between this timing</p></b>";
	buffer += "Is this correct?";
	buffer += "</div>";
	buffer += "<div class='bottom'></div>";
	buffer += "<div style='text-align:center;margin-top:12px'>";
	buffer += "<a href='#' onclick='$.facebox.close()'><img src='images/button/no.gif'></a>";
	buffer += "&nbsp;&nbsp;&nbsp;&nbsp;";
	buffer += "<a href='#' onclick='showTnC()'><img src='images/button/yes.gif'></a>";
	buffer += "</div>";
	buffer += "</div>";
		
	document.getElementById('leftBookingTable').innerHTML = buffer;
	
	}
}

}

function getTimeSlotSelect(){

	var radio_select = getRadioCheckedValue('timeslot_id');
	var tarray = radio_select.split("_");
	selected_timeslot = tarray[1]; 
	document.getElementById('timeslot_sv').innerHTML = selected_timeslot;
}


function GetXmlHttpObject()
 { 
 var objXMLHttp=null
 if (window.XMLHttpRequest)
  {
  objXMLHttp=new XMLHttpRequest()
  }
 else if (window.ActiveXObject)
  {
  objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
  }
 return objXMLHttp
 }
 
function getRadioCheckedValue(radio_name) {
	var oRadio = document.forms[0].elements[radio_name];

	for(var i = 0; i < oRadio.length; i++) {

	if(oRadio[i].checked) {
	return oRadio[i].value;
	}

	}

	return '';
} 



function changeLinksStatusByElement(el, status) {
  if (document.getElementById && document.getElementsByTagName) {
    if (typeof(el) == 'string') {
      el = document.getElementById(el);
    }
    var anchors = el.getElementsByTagName('a');
    for (var i=0, end=anchors.length; i<end; i++) {
      anchors[i].onclick = function() {
        return status;
      };
    }
  }
}


 

 

