function showReminders(itemID){
	setSpanValue('Bud_Cat_ID',itemID);
	
	engReminders.loadReminders(itemID, callback_showReminders);
	

}

function callback_showReminders(res){
	var dt = res.value;
	var tbl = document.getElementById("tblRemind"); 
	var rows = tbl.rows; 
    while(rows.length) // length=0 -> stop 
		{
		tbl.deleteRow(rows.length-1);
		}
		
	if (dt.Rows.length!=0)
		{
			for (var i=0; i<dt.Rows.length; i++)
				{
				
					var insertTable = document.createElement("tr");
					tbl.appendChild(insertTable);
								
					var tblCell1 = insertTable.insertCell(0)
					tblCell1.className = "sendDate";
					var tblCell2 = insertTable.insertCell(1)
					tblCell2.className = "message";
					var tblCell3 = insertTable.insertCell(2)
					tblCell3.className = "email";
					var tblCell4 = insertTable.insertCell(3)
					tblCell4.className = "text";
					var tblCell5 = insertTable.insertCell(4)
					tblCell5.className = "options";
			
					tblCell1.innerHTML = dt.Rows[i].ShortDate;
				
					tblCell2.innerHTML = dt.Rows[i].Reminder_Message;
					
					tblCell3.innerHTML = dt.Rows[i].Email;
				
					tblCell4.innerHTML = dt.Rows[i].Text;
				
					var imgEdit = document.createElement("img");
					imgEdit.src = "/images/buttons/general/edit.gif";
					imgEdit.alt = "Edit Transaction";
					imgEdit.style.width = "36px";
						
					var aEdit = document.createElement("a");
					aEdit.appendChild(imgEdit);
					aEdit.href = "javascript:showEditReminder(" + dt.Rows[i].Reminder_ID + ")";
					aEdit.className = "imageButton";
					
					var spanSpace = document.createElement("span")
					spanSpace.innerHTML = "&nbsp;"
					
					var aDelete = document.createElement("a");
					aDelete.innerHTML = "remove";
					aDelete.href = "javascript:showDeleteReminder(" + dt.Rows[i].Reminder_ID + ")";
							
					tblCell5.appendChild(aEdit);
					tblCell5.appendChild(spanSpace);
					tblCell5.appendChild(aDelete);
				}
				
		}
	else
		{
		var insertTable = document.createElement("tr");
		tbl.appendChild(insertTable);
								
		var tblCell1 = insertTable.insertCell(0)
		tblCell1.colSpan = "5";
		tblCell1.innerHTML = "There are no reminders for this category.";
		
		}
stripetableBody();
showChildPanel('catSlide','remindersSlide');

}

function showAddReminder(){
	
	setSelectedRadioValue('sendEmail','No');
	setSelectedRadioValue('sendText','No');
	showChildPanel('remindersSlide','addReminderSlide');
	
}


function addReminder(){
	var budCatID = getSpanValue('Bud_Cat_ID');
	
	var day = getDropDownSelected('ddSendDay');
	var sendEmail = getSelectedRadioValue('sendEmail');
	var sendText = getSelectedRadioValue('sendText');
	
	var message = getControlValue("addRemMessage");
	showFeedback('addReminderActionContainer');
	engReminders.addReminder(budCatID,'ddSendDay',day,'addRemMessage',message, sendEmail, sendText, callback_addReminder); 
	
}

function callback_addReminder(res){
if (res.error!=null){alert(res.error)};

var results = res.value.Tables[0];
	if (results.Rows[0].result == "True")
		{
		var controls = res.value.Tables[1];
		for (var i=0; i<controls.Rows.length; i++)
			{
			clearInputField(controls.Rows[i].controlID);
			setControlErrorMessage(controls.Rows[i].controlID,'');
			}
			switch (results.Rows[0].errMessage)
				{
					case "valid":
						clearInputField('addRemMessage');
						setSelectedRadioValue('sendEmail','No');
						setSelectedRadioValue('sendText','No');
						
						feedbackValid('Saving','Saved');
					
						window.setTimeout('hideAddReminder();', 4000);
					break
				}
		}
	else
		{
		var controls = res.value.Tables[1];
		switch (results.Rows[0].errMessage)
				{
					case "invalid":
						feedbackInvalid('addReminderActionContainer');
						window.setTimeout(function(){processValidationResponse(controls)}, 2001);
					break
				}
		}
}

function hideAddReminder(){

	cleanupFeedback('addReminderActionContainer');
	closeAllChildModals('remindersSlide');
	var budCatID = getSpanValue('Bud_Cat_ID');
	showReminders(budCatID);
	showChildPanel('catSlide','remindersSlide');
}

function showEditReminder(itemID){
	
	engReminders.populateReminder(itemID, callback_showEditReminder);
	
}

function callback_showEditReminder(res){
	var dt = res.value;
	
	setSpanValue('editReminderID', dt.Rows[0].Reminder_ID);
	setSpanValue('editBud_Cat_ID', dt.Rows[0].Bud_Cat_ID);
	setDropDownSelected('ddEditSendDay',dt.Rows[0].Reminder_Day);
	setSelectedRadioValue('editSendEmail',dt.Rows[0].Email);
	setSelectedRadioValue('editSendText',dt.Rows[0].Text);
	setControlValue('editRemMessage',dt.Rows[0].Reminder_Message);

	showChildPanel('remindersSlide','editReminderSlide');
}

function editReminder(){
	var reminderID = getSpanValue('editReminderID');
	
	
	var day = getDropDownSelected('ddEditSendDay');
	var sendEmail = getSelectedRadioValue('editSendEmail');
	var sendText = getSelectedRadioValue('editSendText');
	
	var message = getControlValue("editRemMessage");
	
	showFeedback('editReminderActionContainer');
	engReminders.updateReminder(reminderID,'ddEditSendDay',day,'editRemMessage',message, sendEmail, sendText, callback_editReminder); 
	
}

function callback_editReminder(res){
var results = res.value.Tables[0];
	if (results.Rows[0].result == "True")
		{
		var controls = res.value.Tables[1];
		for (var i=0; i<controls.Rows.length; i++)
			{
			clearInputField(controls.Rows[i].controlID);
			setControlErrorMessage(controls.Rows[i].controlID,'');
			}
			switch (results.Rows[0].errMessage)
				{
					case "valid":
						clearInputField('editRemMessage');
						setSelectedRadioValue('editSendEmail','No');
						setSelectedRadioValue('editSendText','No');
						
						feedbackValid('Saving','Saved');
					
						window.setTimeout('hideEditReminder();', 4000);
					break
				}
		}
	else
		{
		var controls = res.value.Tables[1];
		switch (results.Rows[0].errMessage)
				{
					case "invalid":
						feedbackInvalid('editReminderActionContainer');
						window.setTimeout(function(){processValidationResponse(controls)}, 2001);
					break
				}
		}
}

function hideEditReminder(){
	
	cleanupFeedback('editReminderActionContainer');
	closeAllChildModals('remindersSlide');
	var budCatID = getSpanValue('Bud_Cat_ID');
	showReminders(budCatID);
	showChildPanel('catSlide','remindersSlide');
}

function showDeleteReminder(itemID){
	engReminders.populateReminder(itemID, callback_showDeleteReminder);
}

function callback_showDeleteReminder(res){
	var dt = res.value;
	
	setSpanValue('deleteReminderID', dt.Rows[0].Reminder_ID);
	setSpanValue('deleteReminderDetails',dt.Rows[0].Reminder_Message + " on " + dt.Rows[0].Reminder_Day);

	showChildPanel('remindersSlide','removeReminderSlide');
}

function deleteReminder(){
	var reminderID = getSpanValue('deleteReminderID');
	showFeedback('removeReminderActionContainer');
	engReminders.deleteReminder(reminderID, callback_deleteReminder);
	
}

function callback_deleteReminder(res){
	if (res.value)
		{
		
		feedbackValid('Saving','Saved');
		
		
		window.setTimeout('closeDeleteReminder();', 4000);
		}
	else
		{
		feedbackInvalid('removeReminderActionContainer');
		}
}

function closeDeleteReminder(){
	
	cleanupFeedback('removeReminderActionContainer');
	closeAllChildModals('remindersSlide');
	var budCatID = getSpanValue('Bud_Cat_ID');
	showReminders(budCatID);
	showChildPanel('catSlide','remindersSlide');
}

function loadDays(){

	engMonths.getDaysForMonth(callback_getMonths);
}

function callback_getMonths(res){
	var dt = res.value;
	
	var dd = document.getElementById("ddSendDay");
	var ddEdit = document.getElementById("ddEditSendDay");
	
	var optDef = document.createElement("option");
	optDef.innerHTML = "Select a day.";
	optDef.value = 0;
	
	var optEditDef = document.createElement("option");
	optEditDef.innerHTML = "Select a day.";
	optEditDef.value = 0;
	
	dd.appendChild(optDef);
	ddEdit.appendChild(optEditDef);
	
	for (var i=0; i<dt.Rows[0].Month_Days; i++)
		{
		var opt = document.createElement("option");
		opt.innerHTML = (i + 1);
		opt.value = (i + 1);
		
		var optEdit = document.createElement("option");
		optEdit.innerHTML = (i + 1);
		optEdit.value = (i + 1);
		
		dd.appendChild(opt);
		ddEdit.appendChild(optEdit);
		}
	
}	
