
var xmlhttp=false;

function getAjexObject(){
  try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
  try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
  try { return new XMLHttpRequest(); } catch(e) {}
  alert("XMLHttpRequest not supported");
  return null;
}

if (!xmlhttp ){//&& typeof XMLHttpRequest!='undefined') {
  xmlhttp = getAjexObject();//new XMLHttpRequest();
}

function showMembers(str)
{
	if (str=="")
	{ 
		document.getElementById("spnMembers").innerHTML=""
		document.getElementById("spnTotalAmountHead").innerHTML=""
		document.getElementById("spnTotalAmount").innerHTML=""
		showGroupDesc("")
		return
	}
	
	var url="lib/ajxPhpFunc.php"

	param="&group_id="+str
//	param=param+"&sid="+Math.random()
	//xmlhttp.onreadystatechange=stateChanged 
	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=getMembers"+param)
	document.getElementById("spnMembers").innerHTML=xmlhttp.responseText 
	document.getElementById("spnTotalAmountHead").innerHTML="Total Incurred expense"
	document.getElementById("spnTotalAmount").innerHTML="$ <INPUT type='text' id='txtTotalAmount' name='txtTotalAmount' onblur='changeTotalAmount(this.value)' class='txt_field' />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=button name=btnSplit value='Split-up (equally)' onclick='splitEqual()' class='submit-button'/>"
	showGroupDesc(str);
}

function showMembersForPayment(str)
{
	if (str=="")
	{
		document.getElementById("spnTotalAmountHead").innerHTML=""
		document.getElementById("spnTotalAmount").innerHTML=""
		document.getElementById("spnMembersHead").innerHTML=""
		document.getElementById("spnMembers").innerHTML=""
		return
	}
	
	var url="lib/ajxPhpFunc.php"

	param="&group_id="+str
//	param=param+"&sid="+Math.random()
	//xmlhttp.onreadystatechange=stateChanged 
	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=getMembersForPayment"+param)
	document.getElementById("spnMembersHead").innerHTML="Payment made to :"
	document.getElementById("spnMembers").innerHTML=xmlhttp.responseText 
	document.getElementById("spnTotalAmountHead").innerHTML="Total payment made : "
			document.getElementById("spnTotalAmount").innerHTML="$ <INPUT type='text' id='txtTotalAmount' name='txtTotalAmount' class='txt_field' />"
} 

function showGroupDesc(str)
{
	if (str=="")
	{ 
		document.getElementById("spnGroupDesc").innerHTML=""
		return
	}
	
	var url="lib/ajxPhpFunc.php"

	param="&group_id="+str
//	param=param+"&sid="+Math.random()
	//xmlhttp.onreadystatechange=stateChanged 
	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=getGroupDesc"+param)
	document.getElementById("spnGroupDesc").innerHTML=xmlhttp.responseText 
} 


function showStatus(str)
{
	if (str=="")
	{ 
		document.getElementById("spnStatusHead").innerHTML=""
		document.getElementById("spnStatus").innerHTML=""
		showExpences("","")
		return
	}
	statusExp="<select name=ddlStatus id=ddlStatus class='txt_field' onchange='showExpences("+str+",this.value)'>"
	statusExp+="<OPTION value=''>:: Select ::</OPTION>"
	statusExp+="<OPTION value='0'>Open</OPTION>"
	statusExp+="<OPTION value='1'>Close</OPTION>"
	statusExp+="</select>"
	document.getElementById("spnStatusHead").innerHTML="Status :"
	document.getElementById("spnStatus").innerHTML=statusExp
	showExpences("","")
}

function showExpences(str,statusExp)
{
	if (statusExp=="")
	{ 
		document.getElementById("spnExpencesHead").innerHTML=""
		document.getElementById("spnExpences").innerHTML=""
		showDetails("")
		return
	}
	
	var url="lib/ajxPhpFunc.php"

	param="&group_id="+str+"&statusExp="+statusExp
//	param=param+"&sid="+Math.random()
	//xmlhttp.onreadystatechange=stateChanged 
	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=getExpences"+param)
	document.getElementById("spnExpencesHead").innerHTML="Expenses :"
	document.getElementById("spnExpences").innerHTML=xmlhttp.responseText 
	showDetails("")
	//alert(xmlhttp.responseText)
}

function showDetails(str)
{
	
	if (str=="")
	{ 
		document.getElementById("spnLine").innerHTML=""
		document.getElementById("spnTitleHead").innerHTML=""
		document.getElementById("spnTitle").innerHTML=""
		document.getElementById("spnDescriptionHead").innerHTML=""
		document.getElementById("spnDescription").innerHTML=""
		document.getElementById("spnDateHead").innerHTML=""
		document.getElementById("spnDate").innerHTML=""
		document.getElementById("spnClose").innerHTML=""
		document.getElementById("spnMembers").innerHTML=""
		document.getElementById("spnButton").innerHTML=""
		return
	}
	
	var url="lib/ajxPhpFunc.php"

	param="&expence_id="+str
//	param=param+"&sid="+Math.random()
	//xmlhttp.onreadystatechange=stateChanged 
	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=getTitle"+param)
	document.getElementById("spnLine").innerHTML="<hr>"
	document.getElementById("spnTitleHead").innerHTML="Title :"
	document.getElementById("spnTitle").innerHTML=xmlhttp.responseText 
	showDescription(str)
	showDate(str)
	if (document.getElementById("ddlStatus").value==1)
		checkedExp="checked"
	else
		checkedExp=""
	document.getElementById("spnClose").innerHTML="<input type='checkbox' name='chkClose' id='chkClose' value='1' "+ checkedExp +"/> Delete Expense Entry"
	showEditMembers(str)
} 

function showDescription(str)
{
	
	var url="lib/ajxPhpFunc.php"

	param="&expence_id="+str
//	param=param+"&sid="+Math.random()
	//xmlhttp.onreadystatechange=stateChanged 
	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=getDescription"+param)
	document.getElementById("spnDescriptionHead").innerHTML="Description :"
	document.getElementById("spnDescription").innerHTML=xmlhttp.responseText 
} 

function showDate(str)
{
	
	var url="lib/ajxPhpFunc.php"

	param="&expence_id="+str
//	param=param+"&sid="+Math.random()
	//xmlhttp.onreadystatechange=stateChanged 
	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=getDate"+param)
	document.getElementById("spnDateHead").innerHTML="Date :"
	document.getElementById("spnDate").innerHTML=xmlhttp.responseText 
} 

function showEditMembers(str)
{
	
	var url="lib/ajxPhpFunc.php"

	param="&expence_id="+str
	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=getMembers"+param)
	document.getElementById("spnMembers").innerHTML=xmlhttp.responseText 
	document.getElementById("spnButton").innerHTML="<INPUT type=submit value='Update' />"
} 

function showHomeDetailsPerGroup(str)
{
	if (str=="")
	{ 
		document.getElementById("spnDescriptionHead").innerHTML=""
		document.getElementById("spnDescription").innerHTML=""
		showGrandTotalPerGroup("")
		return
	}
	
	var url="lib/ajxPhpFunc.php"
	
	param="&group_id="+str
//	param=param+"&sid="+Math.random()
	//xmlhttp.onreadystatechange=stateChanged 
	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=getGroupDesc"+param)
	document.getElementById("spnDescriptionHead").innerHTML="Description :" 
	document.getElementById("spnDescription").innerHTML=xmlhttp.responseText
	showGrandTotalPerGroup(str)
}
function showGrandTotalPerGroup(str)
{
	if (str=="")
	{ 
		document.getElementById("spnGrandTotal").innerHTML=""
		document.getElementById("spnSubmitButton").innerHTML=""
		return
	}
	
	var url="lib/ajxPhpFunc.php"
	
	param="&group_id="+str
//	param=param+"&sid="+Math.random()
	//xmlhttp.onreadystatechange=stateChanged 
	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=getGrandTotalPerGroup"+param)
	document.getElementById("spnGrandTotal").innerHTML=xmlhttp.responseText
	document.getElementById("spnSubmitButton").innerHTML="<INPUT type='submit' class='submit-button' value='View All Expenses'>"
}

function searchUser()
{
	str=trim(document.frmFindUser.txtUser.value)
	
	if (str=="")
	{ 
		document.getElementById("spnUserList").innerHTML=""
		return
	}
	var url="lib/ajxPhpFunc.php"
	
	param="&user="+str
//	param=param+"&sid="+Math.random()
	//xmlhttp.onreadystatechange=stateChanged 
	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=searchUser"+param)
	//alert(xmlhttp.responseText)
	document.getElementById("spnUserList").innerHTML=xmlhttp.responseText
}

function fillExpenses(str)
{
	if (str=="")
	{ 
		document.getElementById("spnExpensesHead").innerHTML=""
		document.getElementById("spnExpenses").innerHTML=""
		fillDescription(str)
		return
	}
	
	var url="lib/ajxPhpFunc.php"

	param="&group_id="+str

	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=fillExpenses"+param)
	document.getElementById("spnExpensesHead").innerHTML="Expenses :"
	document.getElementById("spnExpenses").innerHTML=xmlhttp.responseText 
	fillDescription("")
}

function fillDescription(str)
{
	if (str=="")
	{ 
		document.getElementById("spnDescription").innerHTML=""
		document.getElementById("spnDateOfPaymentHead").innerHTML=""
		document.getElementById("spnDateOfPayment").innerHTML=""
		document.getElementById("spnPaymentDescHead").innerHTML=""
		document.getElementById("spnPaymentDesc").innerHTML=""
		document.getElementById("spnAmountHead").innerHTML=""
		document.getElementById("spnAmount").innerHTML=""
		fillPaidLink(str)
		return
	}
	
	var url="lib/ajxPhpFunc.php"
	
	param="&expense_id="+str

	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=fillDescription"+param)
	var myDate=new Date()
	day=myDate.getDate()
	month=myDate.getMonth()+1
	year=myDate.getYear()
	if(year < 1000)
		year+=1900
	document.getElementById("spnDescription").innerHTML=xmlhttp.responseText
	document.getElementById("spnDateOfPaymentHead").innerHTML="Date of Payment : "
	document.getElementById("spnDateOfPayment").innerHTML=""
	document.getElementById("spnDateOfPayment").innerHTML="<input type='text' name='dateOfPayment' class='txt_field' id='dateOfPayment' maxlength='15' size='15' value='"+day+"/"+month+"/"+ year +"' onfocus='this.blur()'/>"+
			"<a href='javascript:void(0)' onclick='if(self.gfPop)gfPop.fPopCalendar(document.frmSettlePayments.dateOfPayment);return false;' HIDEFOCUS>"+
			"<img class='PopcalTrigger' align='absmiddle' src='calbtn.gif' width='34' height='22' border='0' alt=''>"+
			"</a>"

	document.getElementById("spnPaymentDescHead").innerHTML="Description : "
	document.getElementById("spnPaymentDesc").innerHTML="<textarea class='txt_field' cols=40 rows=4 name=txtPaymentDesc id=txtPaymentDesc></textarea>"
	document.getElementById("spnAmountHead").innerHTML="Amount : "
	document.getElementById("spnAmount").innerHTML="$ <input type=text class='txt_field' name='txtAmount' id='txtAmount' />"
	fillPaidLink(str)
}

function fillPaidLink(str)
{
	if (str=="")
	{ 
		document.getElementById("spnPaymentLink").innerHTML=""
		fillPaidFrom(str)
		return
	}
	
	var url="lib/ajxPhpFunc.php"
	
	param="&expense_id="+str
	
	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=fillPaymentLink"+param)
	document.getElementById("spnPaymentLink").innerHTML=xmlhttp.responseText
	fillPaidFrom(str)
}

function fillPaidFrom(str)
{
	if (str=="")
	{ 
		document.getElementById("spnPaidFromHead").innerHTML=""
		document.getElementById("spnPaidFrom").innerHTML=""
		fillPaidTo(str)
		return
	}
	
	var url="lib/ajxPhpFunc.php"
	
	param="&expense_id="+str

	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=fillPaidFrom"+param)
	document.getElementById("spnPaidFromHead").innerHTML="Paid From : "
	document.getElementById("spnPaidFrom").innerHTML=xmlhttp.responseText
	fillPaidTo(str)
}

function fillPaidTo(str)
{
	if (str=="")
	{ 
		document.getElementById("spnPaidToHead").innerHTML=""
		document.getElementById("spnPaidTo").innerHTML=""
		document.getElementById("spnSubmit").innerHTML=""
		return
	}
	
	var url="lib/ajxPhpFunc.php"
	
	param="&expense_id="+str

	xmlhttp.open("POST",url,false)
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.send("call=fillPaidTo"+param)
	document.getElementById("spnPaidToHead").innerHTML="Paid To : "
	document.getElementById("spnPaidTo").innerHTML=xmlhttp.responseText
	document.getElementById("spnSubmit").innerHTML="<input type='submit' class='submit-button' value='Settle Payment' />"
}

function trim(s) 
{
   	// Remove leading spaces and carriage returns
	while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
	{ s = s.substring(1,s.length); }
     
   	// Remove trailing spaces and carriage returns
	while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
	{ s = s.substring(0,s.length-1); }
     
	return s;
}

