var months = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
 
function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
 	 xmlHttp=new XMLHttpRequest();
  
  	if (xmlHttp.overrideMimeType)
  	{
  		// set type accordingly to anticipated content type
  		xmlHttp.overrideMimeType('text/xml');
  		//xmlHttp.overrideMimeType('text/html');
  	}

  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

function baction(str)
{
	var formcontent = document.dbform;
	var prayerText = formcontent.prayer.value;
	var footnoteText = formcontent.footnote.value;
	var prayerDate = formcontent.date.value;
	var regDatenum = /^(\d{1,2})[\/-]{1}(\d{1,2})[\/-]{1}(\d{2,4})/;
	var regDatestr = /^\d{1,2}[- ]{1}[a-zA-Z]{3}[ -]{1}\d{2,4}/;
	var dateNum = regDatenum.test(prayerDate);
	var dateStr = regDatestr.test(prayerDate);
	//var newString = "";	
	//alert(formcontent.prayer.value);
	//alert(str);
	//alert ("Datestr "+(dateStr? "true": "false"));
	//alert ("DateNum "+(dateNum? "true": "false"));
	
	if ((!dateNum) && (!dateStr))
	{
		alert ("Invalid date, Please enter date in the form dd/mm/yyyy or dd-mmm-yy");
		formcontent.date.focus();	
	}
	else
	{	
		if (dateNum)
		{		
			prayerDate = prayerDate.replace(regDatenum, "$3/$2/$1")
		}
		else
		{
			d = new Date(prayerDate);
			prayerDate = d.getFullYear()+"/"+(d.getMonth()+1)+"/"+d.getDate();
		}	
		xmlHttp=GetXmlHttpObject();
		if (xmlHttp==null)
  		{
  			alert ("Your browser does not support AJAX!");
  			return;
  		} 
		//var url="ajaxgetsetrecord.php";
		url="/php/ajaxgetsetrecord.php";		
		//url=url+"?q="+str+"&pt="+prayerText+"&pd="+prayerDate;	
		//url=url+"&sid="+Math.random();
		var datastr="q="+encodeURI(str)+"&pt="+encodeURI(prayerText)+"&ft="+encodeURI(footnoteText)+"&pd="+encodeURI(prayerDate)+"&sid="+encodeURI(Math.random());
		xmlHttp.open("POST",url,true);
		//Send the proper header information along with the request
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");		
		xmlHttp.setRequestHeader("Content-length", datastr.length);
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.onreadystatechange=stateChanged;
				
		xmlHttp.send(datastr);	
	}
}


function ebaction(str)
{
	var formcontent = document.dbform;
	var description = formcontent.description.value;
	var sDay = formcontent.s_day.value;
	var fDay = formcontent.f_day.value;
	var sTim = formcontent.s_tim.value;
	var fTim = formcontent.f_tim.value;
	
	var regDayNum = /^(\d{1,2})[\/-]{1}(\d{1,2})[\/-]{1}(\d{2,4})/;
	var regTimeNum = /^\s*(\d{1,2})[.]{1}(\d{2})([a|p]m)/;
	var regDayStr = /^\d{1,2}[- ]{1}[a-zA-Z]{3}[ -]{1}\d{2,4}/;
	var sdayNum = regDayNum.test(sDay);
	var sdayStr = regDayStr.test(sDay);
	var fdayNum = regDayNum.test(fDay);
	var fdayStr = regDayStr.test(fDay);
	var stimNum = regTimeNum.test(sTim);
	var ftimNum = regTimeNum.test(fTim);
	//var newString = "";	
	//alert(formcontent.prayer.value);
	//alert(str);
	//alert ("stimNum "+(stimNum? "true": "false"));
	//alert ("ftimNum "+(ftimNum? "true": "false"));
	
	if (str == "New")
	{
		formcontent.description.value = "Event description?";						
		//set record ID to zero to indiate that this is a new record to add		
		formcontent.recordID.value = "0";
		formcontent.activityName.value  = "Event Name?";
		formcontent.contact.value = "Contact Name?";
		sd = new Date(sDay);
		formcontent.s_day.value = sd.getDate()+" "+months[sd.getMonth()]+" "+sd.getFullYear();
		formcontent.f_day.value = sd.getDate()+" "+months[sd.getMonth()]+" "+sd.getFullYear();
		formcontent.s_tim.value = "07.15pm";
		formcontent.f_tim.value = "09.30pm";
		formcontent.venue.value = "Venue?";	
		formcontent.dispContactYesNo.checked = false;
		formcontent.dispEventYesNo.checked = true;
	}
	else
	{
		if ((str == "Delete") && (formcontent.recordID.value == 0)) 
		{
			alert("Can't delete a record that has not been saved!");
		}
		else
		{
			if ((!sdayNum) && (!sdayStr))
			{
				alert ("Invalid start date, Please enter date in the form dd/mm/yyyy or dd-mmm-yy");
				formcontent.s_day.focus();	
			}
			else
			{	
				if ((!fdayNum) && (!fdayStr))
				{
					alert ("Invalid finish date, Please enter date in the form dd/mm/yyyy or dd-mmm-yy");
					formcontent.f_day.focus();	
				}
				else
				{
					if (!ftimNum)
					{
						alert ("Invalid time, Please enter finish time in the form hh.mm(pm or am)");
						formcontent.f_tim.focus();
					}
					else
					{
						if (!stimNum)
						{		
							alert ("Invalid time, Please enter start time in the form hh.mm(pm or am)");
							formcontent.s_tim.focus();
						}
						else
						{

							if (sdayNum)
							{		
								sDay = sDay.replace(regDayNum, "$3/$2/$1")
							}
							else
							{
								sd = new Date(sDay);
								sDay = sd.getFullYear()+"/"+(sd.getMonth()+1)+"/"+sd.getDate();
							}	

							if (fdayNum)
							{		
								fDay = fDay.replace(regDayNum, "$3/$2/$1")
							}
							else
							{
								fd = new Date(fDay);
								fDay = fd.getFullYear()+"/"+(fd.getMonth()+1)+"/"+fd.getDate();
							}
							var h=0;	
							h = Number(sTim.replace(regTimeNum, "$1"));
							a = sTim.replace(regTimeNum, "$3");
							m = sTim.replace(regTimeNum, "$2");
							//alert("start pm or am: "+a+" h:"+h+" m:"+m );					
							if (a == "pm")
							{	
								if (h < 12)
								{
									h = h+12;
								}
							}
							else
							{
								if (h >= 12)
								{
									h = h-12;
								}
							}
							sDate = sDay + " " +h+":"+sTim.replace(regTimeNum, "$2")+":00";
							//alert("Start sDate: "+sDate);
					
					
							h = Number(fTim.replace(regTimeNum, "$1"));
							a = fTim.replace(regTimeNum, "$3");					
							//alert("finish pm or am: "+a+" h:"+h);					
							if (a == "pm")
							{	
								if (h < 12)
								{
									h = h+12;
								}
							}
							else
							{
								if (h >= 12)
								{
									h = h-12;
								}
							}
							fDate = fDay + " " +h+":"+fTim.replace(regTimeNum, "$2")+":00";
							//alert("fdate: "+fDate);
										
							xmlHttp=GetXmlHttpObject();
							if (xmlHttp==null)
  							{
  								alert ("Your browser does not support AJAX!");
  								return;
  							} 
							//var url="ajaxgetsetrecord.php";
							url="/php/ajaxgetsetevents.php";		
							//url=url+"?q="+str+"&pt="+prayerText+"&pd="+prayerDate;	
							//url=url+"&sid="+Math.random();
							des = formcontent.description.value;						
							rid = formcontent.recordID.value;
							enam = formcontent.activityName.value;

							var datastr="q="+encodeURI(str)+"&ec="+encodeURI(formcontent.contact.value)+"&en="+encodeURI(enam)+"&ecd="+encodeURI(formcontent.dispContactYesNo.checked)+"&ed="+encodeURI(formcontent.dispEventYesNo.checked)+"&ev="+encodeURI(formcontent.venue.value)+"&edt="+encodeURI(des)+"&esd="+encodeURI(sDate)+"&efd="+encodeURI(fDate)+"&erid="+encodeURI(rid)+"&sid="+encodeURI(Math.random());
							xmlHttp.open("POST",url,true);
							//Send the proper header information along with the request
							xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");		
							xmlHttp.setRequestHeader("Content-length", datastr.length);
							xmlHttp.setRequestHeader("Connection", "close");
							xmlHttp.onreadystatechange=stateChangedevents;
				
							xmlHttp.send(datastr);
						}
					}	
				}
			}
		}
	}
}
function stateChangedevents() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		//document.getElementById("prayer").innerHTML=xmlHttp.responseText;
		//document.getElementById("prayer").value=xmlHttp.responseText;
		if (xmlHttp.status != 200) 
  		{
  			alert("Problem retrieving XML data");
  			return;
  		}
	
		//alert(xmlHttp.responseText);
		xmlDoc=xmlHttp.responseXML;
		document.getElementById("activityName").value = xmlDoc.getElementsByTagName('activityName')[0].childNodes[0].nodeValue;
		document.getElementById("contact").value = xmlDoc.getElementsByTagName('contact')[0].childNodes[0].nodeValue;
		document.getElementById("venue").value = xmlDoc.getElementsByTagName('venue')[0].childNodes[0].nodeValue;
		document.getElementById("s_tim").value = xmlDoc.getElementsByTagName('s_tim')[0].childNodes[0].nodeValue;
		document.getElementById("s_day").value = xmlDoc.getElementsByTagName('s_day')[0].childNodes[0].nodeValue;
		document.getElementById("f_tim").value = xmlDoc.getElementsByTagName('f_tim')[0].childNodes[0].nodeValue;		
		document.getElementById("f_day").value = xmlDoc.getElementsByTagName('f_day')[0].childNodes[0].nodeValue;
		
		//document.getElementById("dispEventYesNo").value = xmlDoc.getElementsByTagName('dispEventYesNo')[0].childNodes[0].nodeValue;
		if (xmlDoc.getElementsByTagName('dispEventYesNo')[0].childNodes[0].nodeValue == 1)
		{
			document.getElementById("dispEventYesNo").checked = true;
		}
		else
		{
			document.getElementById("dispEventYesNo").checked = false;
		}
		if (xmlDoc.getElementsByTagName('dispContactYesNo')[0].childNodes[0].nodeValue == 1)
		{
			document.getElementById("dispContactYesNo").checked = true;
		}
		else
		{
			document.getElementById("dispContactYesNo").checked = false;
		}
		//document.getElementById("dispContactYesNo").value = xmlDoc.getElementsByTagName('dispContactYesNo')[0].childNodes[0].nodeValue;
		document.getElementById("des").value = xmlDoc.getElementsByTagName('description')[0].childNodes[0].nodeValue;		
		//document.getElementById('description').value = "Some Text";
		//document.getElementById("txt").innerHTML = xmlDoc.getElementsByTagName('description')[0].childNodes[0].nodeValue;
		document.getElementById("recordID").value = xmlDoc.getElementsByTagName('recordID')[0].childNodes[0].nodeValue;
		//document.getElementById("status").value = xmlDoc.getElementsByTagName('status')[0].childNodes[0].nodeValue;
		if (xmlDoc.getElementsByTagName('status')[0].childNodes[0].nodeValue == "Exit")
		{
			window.open('/php/sfwm.php','_self');
		}
	}
}



function stateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		//document.getElementById("prayer").innerHTML=xmlHttp.responseText;
		//document.getElementById("prayer").value=xmlHttp.responseText;
		if (xmlHttp.status != 200) 
  		{
  			alert("Problem retrieving XML data");
  			return;
  		}
	
		//alert(xmlHttp.responseText);
		xmlDoc=xmlHttp.responseXML;
		document.getElementById("date").value = xmlDoc.getElementsByTagName('date')[0].childNodes[0].nodeValue;
		document.getElementById("prayer").value = xmlDoc.getElementsByTagName('prayer')[0].childNodes[0].nodeValue;
		
		element = xmlDoc.getElementsByTagName('footnote')[0];
		if (element.hasChildNodes())
		{
			document.getElementById("note").value = xmlDoc.getElementsByTagName('footnote')[0].childNodes[0].nodeValue;
		}
		else
		{
			document.getElementById("note").value = " ";
		}
//		if (xmlDoc.getElementsByTagName('footnote')[0].childNodes[0].nodeValue == " ")
//		{
//			document.getElementById("note").value = "space";
//		}
//		else
//		{
//			document.getElementById("note").value = xmlDoc.getElementsByTagName('footnote')[0].childNodes[0].nodeValue;		
//		}


		//document.getElementById("status").value = xmlDoc.getElementsByTagName('status')[0].childNodes[0].nodeValue;
		if (xmlDoc.getElementsByTagName('status')[0].childNodes[0].nodeValue == "Exit")
		{
			window.open('/php/sfwm.php','_self');
		}
	}
}

