function loadEmail()
{
	new Ajax.Request('forms/email.html',
	{
		onSuccess : function(response)
		{
			$('pageContent').innerHTML = response.responseText;
			getEmail();
			Event.observe($('Show'), 'change', getEmail, false);
			Event.observe($('Order'), 'change', getEmail, false);
			Event.observe($('A_D'), 'change', getEmail, false);
		},
		onFailure : function(request)
		{
			alert("error loading email form...");
		}
	});
}

var EmailHeader_History = "";
var EmailHeader = "";
var HeaderStructure = new Array();
function Save_Header(temp)
{
	switch(EmailHeader_History)
	{
		case ("Loaded"):
				var tempRow    = temp.rows[0];
				HeaderStructure.each(function(item,index)
				{
					tempRow.cells[index].innerHTML = item;
				}
				);
				EmailHeader = tempRow;
		break;
		default :
				EmailHeader_History = "Loaded";
				EmailHeader = temp.rows[0];
				$A(EmailHeader.cells).each(function(item,index)
				{
					HeaderStructure[index] = item.innerHTML;
				}
				);
		break;
	}
}

function getEmail()
{
	var showSelect = $('Show');
	var showValue = showSelect.options[showSelect.selectedIndex].value;
	var orderSelect = $('Order');
	var orderValue = orderSelect.options[orderSelect.selectedIndex].value;
	var adSelect = $('A_D');
	var adValue = adSelect.options[adSelect.selectedIndex].value;
	var adValue = adSelect.options[adSelect.selectedIndex].value;
	new Ajax.Request('data/getEmail.php',
	{
		onSuccess : function(response)
		{
			// remove all rows except the header from the table
			var emailTable = $("emailRecords");
			var tableRows = emailTable.rows.length;
			Save_Header($("emailRecords"));			
			// change the bgcolor of the sorted column
			var header = EmailHeader;
			//emailTable.rows[0]
			$A(header.cells).each(function(item) 
			{
				if (item.innerHTML.indexOf(orderValue) != -1) 
				{
					if(adValue == "desc")
					{
						item.style.backgroundColor =  "#CCCCCC";
						item.innerHTML += "<img src = '/javascripts/src/down.gif'>";
					}
					else
					{
						item.style.backgroundColor =  "#CCCCCC";
						item.innerHTML += "<img src = '/javascripts/src/up.gif'>";
					}
				} 
				else 
				{
					item.style.backgroundColor ="#f9f9f9";
				}
			}
	);		
			for (i = 1; i < tableRows; i++) 
			{
				emailTable.deleteRow(1);
			}
			
			if(response.responseText != "null")
			{
				// create a new row for each array in the return
				eval("(" + response.responseText + ")").each
				(
					function(item) 
					{
						createRow(emailTable, $H(item));
					}
				);
			}
			else
			{
				createRow(emailTable, "error");
			}
		},
		onFailure : function(request)
		{
			alert("error loading email...");
		},
		
		parameters : "show=" + showValue + "&order=" + orderValue + "&ad=" + adValue
	});
}

function createRow(table, record)
{
	if(record != "error")
	{
		var read = record['EmailRead'];
		var EmailInboxID = record['EmailInboxID'];
		var Subject = record['Subject'];
		var FromEmail = record['FromEmail'];
		var newRow = table.insertRow(table.rows.length);
		
		record.values().each
		(
			function(item, index) 
			{
				var newCell = newRow.insertCell(index);
	
				if(index == 0)
				{
					newCell.innerHTML = "<a href=\"javascript:;\" onclick='refreshEmail("+EmailInboxID+");return false;'\">" + item + "</a>";
				}
				else if(index == 3)
				{
					newCell.innerHTML = "<a href='mailto:"+FromEmail+"&subject=Re: "+Subject+"'>" + item + "</a>";
				}
				else if(index == 9)
				{
					newCell.innerHTML = "<input type='button' value='Delete' onclick='deleteEmail("+EmailInboxID+");'>";
				}
				else if(read == 0)
				{
					newCell.innerHTML = "<strong>" + item + "</strong>";
				}
				else
				{
					newCell.innerHTML = item;
				}
			}
		);
	}
	else
	{
		var newRow = table.insertRow(table.rows.length);
		var newCell = newRow.insertCell(0);
		newCell.innerHTML = "<span style='color:red;font-weight:bolder;'>No Email's Found</span>";
		newCell.colSpan = "10";
		newCell.align = "center";
	}	
}

function refreshEmail(EmailInboxID)
{
	window.open('/data/getemailbody.php?emailID='+EmailInboxID);
	setTimeout(getEmail(), 3000);
}

function deleteEmail(EmailInboxID)
{
	new Ajax.Request('/data/deleteEmail.php',
	{
		onSuccess : function(response)
		{	
			getEmail();
		},
		onFailure : function(request)
		{
			alert("error deleting email...");
		},
		parameters : "emailID=" + EmailInboxID
	});
}