function loadBudgetDetails(){
	
	engBudget_Dash.getBudgetDetails(callback_loadBudgetDetails);

}


function callback_loadBudgetDetails(res){
	if (res.error!=null){alert(res.error)};
	
	
	var dt = res.value;
	setSpanValue('currChar', dt.Rows[0].Currency);
	setSpanValue('periodDesc', dt.Rows[0].Per_Description);
	setSpanValue('periodStart',dt.Rows[0].Per_Start_Short);
	setSpanValue('periodEnd',dt.Rows[0].Per_End_Short);
	setSpanValue('periodNumber',dt.Rows[0].Per_Number);
	
	setSpanValue('totalIncome',dt.Rows[0].Currency + dt.Rows[0].Income);
	if (dt.Rows[0].Spent==0)
		{
		setSpanValue('totalSpent',dt.Rows[0].Currency + dt.Rows[0].Spent + '.00');
		}
	else
		{
		setSpanValue('totalSpent',dt.Rows[0].Currency + dt.Rows[0].Spent);	
		}
	
	setSpanValue('totalLeftover',dt.Rows[0].Currency + dt.Rows[0].Remain);
	//setSpanValue('', dt.Rows[0].NetWorth);
	setSpanValue('netCurrency', dt.Rows[0].Currency);
	setSpanValue('networth', '0.0');
	animateNumber('networth',dt.Rows[0].NetWorth) 
	switch (dt.Rows[0].pos)
		{
			case "only":
				document.getElementById("prevBudLink").style.display = "none";
				document.getElementById("nextBudLink").style.display = "none";
			break
			case "first":
				document.getElementById("prevBudLink").style.display = "none";
				document.getElementById("nextBudLink").style.display = "inline";
			break
			case "last":
				document.getElementById("prevBudLink").style.display = "inline";
				document.getElementById("nextBudLink").style.display = "none";
			break
			case "middle":
				document.getElementById("prevBudLink").style.display = "inline";
				document.getElementById("nextBudLink").style.display = "inline";
			break
		}
		
	getPeriodDatesForDropDown('');
	getPeriodDatesForReminderDropDown('');
}

function animateNumber(elementID,newValue)
		{
		changeNumberValue(elementID,newValue)
		}

function getPrevBudget(){
	showInlineProcessor('loadBudDetailsAction','loadBudDetailsMess');
	engBudget_Dash.getPrevBudget(callback_getPrevBudget);
}

function callback_getPrevBudget(res){
	if (res.value == 1)
		{
		document.getElementById("prevBudLink").style.display = "none";
		document.getElementById("nextBudLink").style.display = "inline";
		}
	else
		{
		document.getElementById("prevBudLink").style.display = "inline";
		document.getElementById("nextBudLink").style.display = "inline";
		}
	
	loadCats();
	loadBudgetDetails();
	loadDc();
	loadCatDropDown();
	var switch1 = getSpanValue("switch")
	if(switch1 == 1)
	{
	loadPages();
	}
	if(switch1 == 2)
	{
	 window.location = "AllTransaction.aspx";
	}
	window.setTimeout("hideInlineProcessor('loadBudDetailsAction','loadBudDetailsMess');", 750);
}

function getNextBudget(){
	showInlineProcessor('loadBudDetailsAction','loadBudDetailsMess');
	engBudget_Dash.getNextBudget(callback_getNextBudget);
}

function callback_getNextBudget(res){
	if (res.value == "last")
		{
		document.getElementById("nextBudLink").style.display = "none";
		document.getElementById("prevBudLink").style.display = "inline";
		}
	else
		{
		document.getElementById("nextBudLink").style.display = "inline";
		document.getElementById("prevBudLink").style.display = "inline";
		}
	loadCats();
	loadBudgetDetails();
	loadDc();
	loadCatDropDown();
	var switch1 = getSpanValue("switch")
	if(switch1 == 1)
	{
	loadPages();
	}
	if(switch1 == 2)
	{
	 window.location = "AllTransaction.aspx";
	}
	//loadPages();
	window.setTimeout("hideInlineProcessor('loadBudDetailsAction','loadBudDetailsMess');", 750);
}


function showCatSummaryTabular(){
	
	engCats_Dash.load_categories(callback_showCatSummaryTabular);
}

function callback_showCatSummaryTabular(res){
	var dt = res.value;
	
	var tbl = document.getElementById("cat_summary_tabular"); 
	var rows = tbl.rows; 
    while(rows.length) // length=0 -> stop 
		{
		tbl.deleteRow(rows.length-1);
		}
		
//	var tr = document.createElement("tr");
//	
//	tbl.tBodies[0].appendChild(tr);
//	var td1 = tr.insertCell(0);
//	var td2 = tr.insertCell(1);
//	var td3 = tr.insertCell(2);
//	var td4 = tr.insertCell(3);
//	
//	td1.innerHTML = "Category";
//	td2.innerHTML = "Budget";
//	td3.innerHTML = "Spent";
//	td4.innerHTML = "Remain";
		
	if (dt.Rows.length != 0)
		{
	
	
			for (var i=0; i<dt.Rows.length; i++)
				{
					
					var insertTable = document.createElement("tr");
					//insertTable.style.display = "none";
					
					tbl.appendChild(insertTable);
								
					var tblCell1 = insertTable.insertCell(0)
					var tblCell2 = insertTable.insertCell(1)
					var tblCell3 = insertTable.insertCell(2)
					var tblCell4 = insertTable.insertCell(3)
					
		
					tblCell1.innerHTML = dt.Rows[i].Category_Name;
					tblCell1.className = "faux-th";
					
					var bud = addDecimalPlaces(dt.Rows[i].Budget);
					tblCell2.innerHTML = bud;
					tblCell2.className = "budget";
					tblCell2.align = "right";
				
					var spnt = addDecimalPlaces(dt.Rows[i].Spent);
					tblCell3.innerHTML = spnt;
					tblCell3.className = "spent";
					tblCell3.align = "right";
				
					var left = addDecimalPlaces(dt.Rows[i].Leftover);
					tblCell4.innerHTML = left;
					tblCell4.className = "leftover";
					tblCell4.align = "right";
				}
		}
	else
		{
		var insertTable = tbl.insertRow(0);
								
		var tblCell1 = insertTable.insertCell(0)
		tblCell1.colSpan = "4";
		tblCell1.innerHTML = "There are no categories for this period.";
		}
		stripetableBody();
	openModalWindow('catSummaryTabular');
}

function loadPages()
{
loadPage(1)
}

function loadPage(pageNum){

	var periodno = getSpanValue("periodNumber")
	var listDiv = document.getElementById("myLatestTransactions");
	listDiv.innerHTML = '';
	var loadingDiv = document.createElement("div");
	var loadingImage = document.createElement("img");
	loadingImage.src = "/images/indicators/processing_small.gif";
	loadingDiv.innerHTML = "&nbsp;loading&nbsp;";
	loadingDiv.appendChild(loadingImage);
	
	listDiv.appendChild(loadingDiv);
	
	setSpanValue('currPageNum', pageNum);
	window.setTimeout("engTransactions.getAllTransactionsForPeriod(" + pageNum + ", callback_showTranSummaryTabular);", 1000);
	
	
	
	
	//window.setTimeout("engFriendsLatestFriends.getLatestTransactions(" + pageNum + ", callback_loadPage);", 1000);
	//window.setTimeout("engTransactions.getAllTransactionsForPeriod(" + pageNum + ", callback_showTranSummaryTabular);", 1000);
}

function showTranSummaryTabular(){
	
	engTransactions.getAllTransactionsForPeriod(callback_showTranSummaryTabular);
}

function callback_showTranSummaryTabular(res){
	var dt = res.value;
		
	if (dt.Rows.length!=0) {
		createPageControls(dt.Rows[0]);
	}
	
	var listDiv = document.getElementById("myLatestTransactions");
	listDiv.innerHTML = '';
	
	var tbl = document.getElementById("tran_summary_tabular"); 
	var rows = tbl.rows; 
    while(rows.length) // length=0 -> stop 
		{
		tbl.deleteRow(rows.length-1);
		}
	var tr = document.createElement("tr");
	

	
	if (dt.Rows.length != 0)
		{
					document.getElementById("numOfPhotosDisplayed").style.display = "block";
					document.getElementById("currRows").innerHTML = dt.Rows[0].Lower + "&nbsp;&#8211;&nbsp;" + dt.Rows[0].Upper + "&nbsp;";
					document.getElementById("totalRows").innerHTML = dt.Rows[0].Total;
	
			for (var i=0; i<dt.Rows.length; i++)
				{
				
		
					var insertTable = document.createElement("tr");
					//insertTable.style.display = "none";
					
					tbl.appendChild(insertTable);
								
					var tblCell1 = insertTable.insertCell(0)
					var tblCell2 = insertTable.insertCell(1)
					var tblCell3 = insertTable.insertCell(2)
					var tblCell4 = insertTable.insertCell(3)
					var tblCell5 = insertTable.insertCell(4)
					var tblCell6 = insertTable.insertCell(5)
		
					tblCell1.innerHTML = "<a href=Transaction.aspx?x=" + dt.Rows[i].Tran_ID + " >" + dt.Rows[i].Tran_Description + "</a> <br><br> " + dt.Rows[i].Category_Name + " <br><br> " + "Tags: " + dt.Rows[i].tags ;
					tblCell1.style.width = "30%";
					
					tblCell2.innerHTML = dt.Rows[i].Tran_ToFrom_Short_Date;
					tblCell2.style.width = "20%";
					//tblCell2.style.paddingLeft = "5px";
					
					var tAmt = addDecimalPlaces(dt.Rows[i].Tran_Amount);
					tblCell3.innerHTML = "R" + tAmt;
					//tblCell3.align = "right";
					tblCell3.style.width = "15%";
				
					tblCell4.innerHTML = dt.Rows[i].Tran_Short_Date;
					//tblCell4.align = "right";
					tblCell4.style.width = "15%";
					
					tblCell5.innerHTML = dt.Rows[i].Description;
					//tblCell5.align = "right";
					tblCell5.style.width = "10%";
					//tblCell6.innerHTML = dt.Rows[i].Tran_Comments;
					//tblCell6.align = "right";
					
					var imgEdit = document.createElement("img");
					imgEdit.src = "/images/buttons/general/edit.gif";
					imgEdit.alt= "Edit"; 
					imgEdit.style.width = "36px";
					
					var aEdit = document.createElement("a");
					//aEdit.appendChild(imgEdit);
					aEdit.innerHTML = "Edit";
					aEdit.href = "javascript:showEditTransaction(" + dt.Rows[i].Tran_ID + ")";
					//aEdit.className = "imageButton";
					var liEdit = document.createElement("li");
					liEdit.className = "edit";
					liEdit.appendChild(aEdit);
					
					//var spanSpace = document.createElement("span")
					//spanSpace.innerHTML = "&nbsp;"
					
					var aDelete = document.createElement("a");
					aDelete.innerHTML = "Delete";
					aDelete.href = "javascript:showDeleteTran(" + dt.Rows[i].Tran_ID + ")";
						
					var liDelete = document.createElement("li");
					liDelete.className = "delete";
			
					liDelete.appendChild(aDelete);	
					
					var aComment = document.createElement("a");
					aComment.innerHTML = "Comments";
					aComment.href = "Transaction.aspx?x= " + dt.Rows[i].Tran_ID;
					
					var liComment = document.createElement("li");
					liComment.className = "comments";
					
					liComment.appendChild(aComment);
					
					var ul = document.createElement("ul");
			
					ul.appendChild(liEdit);
					ul.appendChild(liDelete);
					ul.appendChild(liComment);
					
					//tblCell6.appendChild(spanSpace);
					//tblCell6.appendChild(aDelete);
					
					if(i == 0)
					{
					tblCell6.className = "options firstOptions";
					}
					else
					{
					tblCell6.className = "options";
					}
					tblCell6.appendChild(ul);
					tblCell6.style.width = "10%";
				}
		}
	else
		{
		document.getElementById("numOfPhotosDisplayed").style.display = "none";
		var insertTable = tbl.insertRow(0);
								
		var tblCell1 = insertTable.insertCell(0)
		tblCell1.colSpan = "6";
		tblCell1.id = "cell1";
		tblCell1.innerHTML = "There are no transactions for this period.";
		}
	
	//openModalWindow('tranSummaryTabular');
}
function trim(stringInput) {
	return stringInput.replace(/^\s+|\s+$/g, '');
}

function createPageControls(row){
	var dt = row;
	
	if (dt.Pages == 1) {
		return;
	}
	
	//var pageType = getSpanValue('photopage');
	
	var ul = document.getElementById("pages");
	ul.innerHTML = "";
	
	var pages = dt.Pages;
	var currP = getSpanValue('currPageNum');
	
	var imgPrev = document.createElement("img");
	imgPrev.src = "/images/arrow_medium_left.gif";
	imgPrev.alt = "Previous";
	
	var aPrev = document.createElement("a");
	//if (pageType == "Public")
	//{
	aPrev.href = "javascript:loadPage(" + (parseInt(currP) - 1) + ");";
	//}
	//else
	//{
	//aPrev.href = "javascript:loadFriendPage(" + (parseInt(currP) - 1) + ");";
	//}
	aPrev.appendChild(imgPrev);
	
	var liPrev = document.createElement("li");
	liPrev.appendChild(aPrev);
	liPrev.className = "previous";
	
	var imgNext = document.createElement("img");
	imgNext.src = "/images/arrow_medium_right.gif";
	imgNext.alt = "Next";
	
	var aNext = document.createElement("a");
	//if (pageType == "Public")
	//{
	aNext.href = "javascript:loadPage(" + (parseInt(currP) + 1) + ");";
	//}
	//else
	//{
	//aNext.href = "javascript:loadFriendPage(" + (parseInt(currP) + 1) + ");";
	//}
	
	aNext.appendChild(imgNext);
	
	var liNext = document.createElement("li");
	liNext.appendChild(aNext);
	liNext.className = "next";
	
	if (pages > 1) {
		if (getSpanValue('currPageNum') != "1") {
			ul.appendChild(liPrev);
		}
	}
			
	for (var i=0; i<pages; i++) {
		var a = document.createElement("a");
		
		a.innerHTML = i + 1;
		
		var li = document.createElement("li");
		
		if ((i + 1) == getSpanValue('currPageNum')) {
			li.className = "current";
			a.href = "#";
		}
		else {
			//if (pageType == "Public")
		//{
			a.href = "javascript:loadPage(" + (i + 1) + ");";
		//	}
		//	else
		//	{
		//	a.href = "javascript:loadFriendPage(" + (i + 1) + ");";
		//	}
		}
		
		li.appendChild(a);
		ul.appendChild(li);	
	}
	
	if (pages > 1) {
		if (getSpanValue('currPageNum') != pages) {
			ul.appendChild(liNext);
		}
		
	}
}
function getPeriodDatesForDropDown(selectorID){
	selectorID = "ddTranDate";
	engBudget_Dash.getPeriodDates(selectorID, callback_getPeriodDatesForDropDown);
}

function callback_getPeriodDatesForDropDown(res){
if (res.error!=null){alert(res.error)};

var dt = res.value;

var dd = document.getElementById("ddTranDate");
dd.innerHTML = "";

var ddEdit = document.getElementById("ddEditTranDate");
ddEdit.innerHTML = "";

var ddUber = document.getElementById("ddAddUberTranDate");
ddUber.innerHTML = "";

var ddAddDrCrTran = document.getElementById("ddAddDrCrTranDate");
ddAddDrCrTran.innerHTML = "";

var ddAddUberDrCrTran = document.getElementById("ddAddUberDrCrTranDate");
ddAddUberDrCrTran.innerHTML = "";

//var ddEditDrCrTran = document.getElementById("ddEditDrCrTranDate");
//ddEditDrCrTran.innerHTML = "";


if (dt.Rows.length != 0)
	{
		for (var i=0; i<dt.Rows.length; i++)
			{
			
			var option = document.createElement("option")
			option.id = dt.Rows[i].dateDisplay + "_ddTranDate";
			option.innerHTML = dt.Rows[i].dateDisplay;
			option.value = dt.Rows[i].dateValue;
			if (dt.Rows[i].isSelected=="true")
				{
				option.selected = true;
				}
			dd.appendChild(option);
			
			var optionEdit = document.createElement("option")
			optionEdit.id = dt.Rows[i].dateDisplay + "_ddEditTranDate";
			optionEdit.innerHTML = dt.Rows[i].dateDisplay;
			optionEdit.value = dt.Rows[i].dateValue;
			
			ddEdit.appendChild(optionEdit);
			
			var optionUber = document.createElement("option")
			optionUber.id = dt.Rows[i].dateDisplay + "_ddAddUberTranDate";
			optionUber.innerHTML = dt.Rows[i].dateDisplay;
			optionUber.value = dt.Rows[i].dateValue;
			if (dt.Rows[i].isSelected=="true")
				{
				optionUber.selected = true;
				}
				
			ddUber.appendChild(optionUber);
			
			
			var optionAddDrCrTran = document.createElement("option")
			optionAddDrCrTran.id = dt.Rows[i].dateDisplay + "_ddAddDrCrTranDate";
			optionAddDrCrTran.innerHTML = dt.Rows[i].dateDisplay;
			optionAddDrCrTran.value = dt.Rows[i].dateValue;
			if (dt.Rows[i].isSelected=="true")
				{
				optionAddDrCrTran.selected = true;
				}
				
			ddAddDrCrTran.appendChild(optionAddDrCrTran);
			
//			var optionEditDrCrTran = document.createElement("option")
//			optionEditDrCrTran.id = dt.Rows[i].dateDisplay + "_ddEditDrCrTranDate";
//			optionEditDrCrTran.innerHTML = dt.Rows[i].dateDisplay;
//			optionEditDrCrTran.value = dt.Rows[i].dateValue;
//			if (dt.Rows[i].isSelected=="true")
//				{
//				optionEditDrCrTran.selected = true;
//				}
//				
//			ddEditDrCrTran.appendChild(optionEditDrCrTran);
			
			var optionAddUberDrCrTran = document.createElement("option")
			optionAddUberDrCrTran.id = dt.Rows[i].dateDisplay + "_ddAddDrCrTranDate";
			optionAddUberDrCrTran.innerHTML = dt.Rows[i].dateDisplay;
			optionAddUberDrCrTran.value = dt.Rows[i].dateValue;
			if (dt.Rows[i].isSelected=="true")
				{
				optionAddUberDrCrTran.selected = true;
				}
				
			ddAddUberDrCrTran.appendChild(optionAddUberDrCrTran);
			}
	}
				
}


function getPeriodDatesForReminderDropDown(selectorID){
	selectorID = "ddTranDate";
	engBudget_Dash.getReminderPeriodDates(selectorID, callback_getPeriodDatesForReminderDropDown);
}

function callback_getPeriodDatesForReminderDropDown(res){
if (res.error!=null){alert(res.error)};

var dt = res.value;

var dd = document.getElementById("ddSendDay");
dd.innerHTML = "";

var ddEdit = document.getElementById("ddEditSendDay");
ddEdit.innerHTML = "";




if (dt.Rows.length != 0)
	{
		for (var i=0; i<dt.Rows.length; i++)
			{
			
			var option = document.createElement("option")
			option.id = dt.Rows[i].dateDisplay + "_ddSendDay";
			option.innerHTML = dt.Rows[i].dateDisplay;
			option.value = dt.Rows[i].dateValue;
	
			dd.appendChild(option);
			
			var optionEdit = document.createElement("option")
			optionEdit.id = dt.Rows[i].dateDisplay + "_ddEditSendDay";
			optionEdit.innerHTML = dt.Rows[i].dateDisplay;
			optionEdit.value = dt.Rows[i].dateValue;
			
			ddEdit.appendChild(optionEdit);
			
		
			
			}
	}
				
}


