
var jobs = new Array();
var job_counter = 0;
var max_job_count = 30;

function get_html_request()
{
	try
	{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
		return ajaxRequest;
	}
		catch (e)
		{
			// Internet Explorer Browsers
			try
			{
				ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
				return ajaxRequest;
			} 
				catch (e) 
				{
					try
					{
						ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
						return ajaxRequest;
					} 
						catch (e)
						{
							// Something went wrong
							alert("Your browser broke!");
							return false;
						}
				}
		}
}


function clear_page()
{
	if(confirm("Are you sure you want to clear all fields on this page?"))
	{
		var today = new Date();
		var year = today.getFullYear();
		var month = today.getMonth() + 1;
		if(month < 10)
		{
			month = "0" + month;
		}
		var day = today.getDate();
		if(day < 10)
		{
			day = "0" + day;
		}
		document.getElementById('start_month').value = month;
		document.getElementById('start_day').value = day;
		document.getElementById('start_year').value = year;
		document.getElementById('end_month').value = month;
		document.getElementById('end_day').value = day;
		document.getElementById('end_year').value = year;
		document.getElementById('existing_job_id').value = "";
		document.getElementById('ref_num').value = "";
		document.getElementById('position').value = "";
		document.getElementById('program').value = "";
		document.getElementById('work_location').value = "";
		document.getElementById('position_summary').value = "";
		document.getElementById('education').value = "";
		document.getElementById('mail_contact').value = "Christian Appalachian Project\r\nHuman Resources\r\nPO Box 459\r\nHagerhill, KY. 41222";
		document.getElementById('email_contact').value = "Wmurphy@chrisapp.org";
		document.getElementById('submit_job').value = "Submit New Job Posting";
	}
}
function find_jobs()
{
	var today = new Date();
	var year = today.getFullYear();
	var month = today.getMonth() + 1;
	if(month < 10)
	{
		month = "0" + month;
	}
	var day = today.getDate();
	if(day < 10)
	{
		day = "0" + day;
	}

	var current_date = year + "-" + month + "-" + day;
	
	var ajaxRequest = get_html_request();
	var urlstr = "http://www.christianapp.org/get_current_jobs.php";
	var date = new Date();
	var timestamp = date.getTime();
	var params = "time="+timestamp+"&current_date="+current_date;
	
	ajaxRequest.onreadystatechange = function()
	{
		if(ajaxRequest.readyState == 4)
		{
			var str = ajaxRequest.responseText;
			document.getElementById('current_jobs').innerHTML = str;
		}
	}
	
	ajaxRequest.open("POST", urlstr, true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);
}

function display_individual_job(id)
{
	var ajaxRequest = get_html_request();
	var urlstr = "http://www.christianapp.org/get_individual_job.php";
	var date = new Date();
	var timestamp = date.getTime();
	var params = "time="+timestamp+"&id="+id;
	
		ajaxRequest.onreadystatechange = function()
	{
		if(ajaxRequest.readyState == 4)
		{		
			var str = ajaxRequest.responseText;
			var job = new Array();
			job = str.split("`");
			var entered_date = job[0];
			var reference_number = job[1];
			var title = job[2];
			var program = job[3];
			var location = job[4];
			var position_summary = job[5];
			var education = job[6];
			var start = job[7];
			var end = job[8];
			var mail = job[9];
			var email = job[10];
			
			var start_year = start.substr(0,4);
			var start_month = start.substr(5,2);
			var start_day = start.substr(8,2);
			var end_year = end.substr(0,4);
			var end_month = end.substr(5,2);
			var end_day = end.substr(8,2);
			
			document.getElementById('created_date').value = entered_date;
			document.getElementById('ref_num').value = reference_number;
			document.getElementById('start_month').value = start_month;
			document.getElementById('start_day').value = start_day;
			document.getElementById('start_year').value = start_year;
			document.getElementById('end_month').value = end_month;
			document.getElementById('end_day').value = end_day;
			document.getElementById('end_year').value = end_year;
			document.getElementById('position').value = title;
			document.getElementById('program').value = program;
			document.getElementById('work_location').value = location;
			document.getElementById('position_summary').value = position_summary;
			document.getElementById('education').value = education;
			//document.getElementById('experience').value = experience;
			//document.getElementById('physical').value = physical;
			document.getElementById('mail_contact').value = mail;
			document.getElementById('email_contact').value = email;
			document.getElementById('existing_job_id').value = id;
			document.getElementById('submit_job').value = "Update Job Posting";
		}
	}
	
	ajaxRequest.open("POST", urlstr, true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);
}

function set_jobs(start)
{
	var i;
	var reference;
	var title;
	var entered;
	var id;
	var end;
	var finish = Math.round(start) + max_job_count;
	document.getElementById('start_counter').value = start;

	if(finish > jobs.length - 2)
	{
		end = jobs.length - 1;
		document.getElementById('top_next').style.visibility = "hidden";
		document.getElementById('bottom_next').style.visibility = "hidden";
	}
	else
	{
		end = finish;
		document.getElementById('top_next').style.visibility = "visible";
		document.getElementById('bottom_next').style.visibility = "visible";
	}
	
	if(start > 0)
	{
		document.getElementById('top_prev').style.visibility = "visible";
		document.getElementById('bottom_prev').style.visibility = "visible";	
	}
	else
	{
		document.getElementById('top_prev').style.visibility = "hidden";
		document.getElementById('bottom_prev').style.visibility = "hidden";
	}
	
	var job_table = document.getElementById('previous_jobs');
	var job_body = document.createElement('tbody');
	var job_table_length = job_table.rows.length;

	for(i = 1; i < job_table_length; i++)
	{
		job_table.deleteRow(1);
	}

	for(i = start; i < end; i++)
	{
		var current_job = new Array();
		current_job = jobs[i].split("`");
		reference = current_job[0];
		title = current_job[1];
		entered = current_job[2];
		id = current_job[3];
				
		reference = reference.replace("<br />", " ");
		title = title.replace("<br />", " ");
		entered = entered.replace("<br />", " ");
				
		var row = document.createElement('tr');
		row.style.backgroundColor = "#5CB3FF";
		var cell1 = document.createElement('td');
		var cell2 = document.createElement('td');
		var cell3 = document.createElement('td');
		var cell4 = document.createElement('td');
		cell3.align = "right";
		cell4.align = "center";
			
		var order_button = document.createElement('input');
		order_button.type = 'button';
		order_button.value = "Edit";
		order_button.style.color = "blue";
		order_button.style.border = "0px";
		order_button.style.background = "transparent";
		order_button.onclick=(function(a) {return function() {display_individual_job(a);};})(id);
				
		cell1.appendChild(document.createTextNode(reference));
		cell2.appendChild(document.createTextNode(title));
		cell3.appendChild(document.createTextNode(entered));
		cell4.appendChild(order_button);
			
		row.appendChild(cell1);
		row.appendChild(cell2);
		row.appendChild(cell3);
		row.appendChild(cell4);
			
		job_body.appendChild(row);		
	}
	job_table.appendChild(job_body);
}

function go_forward()
{
	var next_start = Math.round(document.getElementById('start_counter').value) + max_job_count;
	set_jobs(next_start);
}

function go_back()
{
	var next_start = Math.round(document.getElementById('start_counter').value) - max_job_count;
	if (next_start < 0)
	{
		next_start = 0;
	}
	set_jobs(next_start);
}

function load_existing_jobs()
{
	var today = new Date();
	var year = today.getFullYear();
	var month = today.getMonth() + 1;
	if(month < 10)
	{
		month = "0" + month;
	}
	var day = today.getDate();
	if(day < 10)
	{
		day = "0" + day;
	}

	var current_date = month + "-" + day + "-" + year;

	document.getElementById('created_date').value = current_date;
	document.getElementById('start_month').value = month;
	document.getElementById('end_month').value = month;
	document.getElementById('start_day').value = day;
	document.getElementById('end_day').value = day;
	document.getElementById('start_year').value = year;
	document.getElementById('end_year').value = year;

	document.getElementById('mail_contact').value = "Christian Appalachian Project\r\nHuman Resources\r\nPO Box 459\r\nHagerhill, KY. 41222";
	document.getElementById('email_contact').value = "Wmurphy@chrisapp.org";

	document.getElementById('existing_job_id').value = "";
	document.getElementById('ref_num').value = "";
	document.getElementById('position').value = "";
	document.getElementById('program').value = "";
	document.getElementById('work_location').value = "";
	document.getElementById('position_summary').value = "";
	document.getElementById('education').value = "";
	//document.getElementById('experience').value = "";
	//document.getElementById('physical').value = "";
	document.getElementById('submit_job').value = "Submit New Job Posting";

	var ajaxRequest = get_html_request();
	var urlstr = "http://www.christianapp.org/get_jobs.php";
	var date = new Date();
	var timestamp = date.getTime();
	var params = "time="+timestamp;

	ajaxRequest.onreadystatechange = function()
	{
		if(ajaxRequest.readyState == 4)
		{		
			var str = ajaxRequest.responseText;
			jobs = str.split("~");
			set_jobs(0);
		}
	}
	ajaxRequest.open("POST", urlstr, true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);
}

function submit_new_job()
{
	var reference_number = document.getElementById('ref_num').value;
	var start_m = document.getElementById('start_month').value;
	var start_d = document.getElementById('start_day').value;
	var start_y = document.getElementById('start_year').value;
	var end_m = document.getElementById('end_month').value;
	var end_d = document.getElementById('end_day').value;
	var end_y = document.getElementById('end_year').value;
	var position_name = document.getElementById('position').value;
	var program_name = document.getElementById('program').value;
	var location_and_hours = document.getElementById('work_location').value;
	var position_sum = document.getElementById('position_summary').value;
	var education_required = document.getElementById('education').value;
	//var experience_required = document.getElementById('experience').value;
	//var physical_requirments = document.getElementById('physical').value;
	var mail = document.getElementById('mail_contact').value;
	var email = document.getElementById('email_contact').value;
	var start_date = start_y + "-" + start_m + "-" + start_d;
	var end_date = end_y + "-" + end_m + "-" + end_d;

	var today = new Date();
	var year = today.getFullYear();
	var month = today.getMonth() + 1;
	if(month < 10)
	{
		month = "0" + month;
	}
	var day = today.getDate();
	if(day < 10)
	{
		day = "0" + day;
	}

	var current_date = year + "-" + month + "-" + day;

	reference_number = reference_number.replace("&","%26");
	reference_number = reference_number.replace("&","%23");

	position_name = position_name.replace("&","%26");
	position_name = position_name.replace("&","%23");

	program_name = program_name.replace("&","%26");
	program_name = program_name.replace("&","%23");

	location_and_hours = location_and_hours.replace("&","%26");
	location_and_hours = location_and_hours.replace("&","%23");

	position_sum = position_sum.replace("&","%26");
	position_sum = position_sum.replace("&","%23");

	education_required = education_required.replace("&","%26");
	education_required = education_required.replace("&","%23");

	//experience_required = experience_required.replace("&","%26");
	//experience_required = experience_required.replace("&","%23");

	//physical_requirments = physical_requirments.replace("&","%26");
	//physical_requirments = physical_requirments.replace("&","%23");

	mail = mail.replace("&","%26");
	mail = mail.replace("&","%23");

	email = email.replace("&","%26");
	email = email.replace("&","%23");

	var i;
	var dup_reference_number = "false";
	var button_text = document.getElementById('submit_job').value;
	
	if(button_text == "Submit New Job Posting")
	{
		for(i = 0; i < jobs.length; i++)
		{
			var single_job = new Array();
			single_job = jobs[i].split("`");
			if(single_job[0] == reference_number)
			{
				dup_reference_number = "true";
			}
		}
	}

	if(reference_number == "")
	{
		alert("Please enter a reference number");
		document.getElementById('ref_num').focus();
	}
	else if(dup_reference_number == "true")
	{
		alert("The entered Reference Number already exists");
		document.getElementById('ref_num').focus();
	}
	else if(end_date < start_date)
	{
		alert("The Expire Date is before the Start Date");
		document.getElementById('end_day').focus();
	}
	else if(end_date < current_date)
	{
		alert("The Expire Date is before today");
		document.getElementById('end_day').focus();
	}
	else if(position_name == "")
	{
		alert("Please enter a position name");
		document.getElementById('position').focus();
	}
	else if(program_name == "")
	{
		alert("Please enter a program name");
		document.getElementById('program').focus();
	}
	else if(location_and_hours == "")
	{
		alert("Please enter a work location and hours");
		document.getElementById('work_location').focus();
	}
	else if(mail == "")
	{
		alert("Please enter a Mail Contact");
		document.getElementById('mail_contact').focus();
	}
	else if(email == "")
	{
		alert("Please enter an email Contact");
		document.getElementById('email_contact').focus();
	}
	else
	{
		if(button_text == "Submit New Job Posting")
		{
			var ajaxRequest = get_html_request();
			var urlstr = "http://www.christianapp.org/write_new_job.php";
			var date = new Date();
			var timestamp = date.getTime();
			var params = "time="+timestamp+"&ref_num="+reference_number+"&start="+start_date+"&end="+end_date+"&position="+position_name+"&program="+program_name+"&location="+location_and_hours+"&position_summary="+position_sum+"&education="+education_required+"&mail="+mail+"&email="+email+"&entered_date="+current_date;

			ajaxRequest.onreadystatechange = function()
			{
				if(ajaxRequest.readyState == 4)
				{			    
					var str = ajaxRequest.responseText;
					if(str == "true")
					{
						alert("New Job Posting has been added");
						document.getElementById('existing_job_id').value = "";
						document.getElementById('ref_num').value = "";
						document.getElementById('start_month').value = month;
						document.getElementById('start_day').value = day;
						document.getElementById('start_year').value = year;
						document.getElementById('end_month').value = month;
						document.getElementById('end_day').value = day;
						document.getElementById('end_year').value = year;
						document.getElementById('position').value = "";
						document.getElementById('program').value = "";
						document.getElementById('work_location').value = "";
						document.getElementById('position_summary').value = "";
						document.getElementById('education').value = "";
						//document.getElementById('experience').value = "";
						//document.getElementById('physical').value = "";
						document.getElementById('mail_contact').value = "";
						document.getElementById('email_contact').value = "";
						document.getElementById('submit_job').value = "Submit New Job Posting";
						document.location = "http://www.christianapp.org/job-posting-manager-2";
					}
					else
					{
						alert("An error occurred while Add New Job Posting");
					}	
				}
			}	
			ajaxRequest.open("POST", urlstr, true);
			ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			ajaxRequest.setRequestHeader("Content-length", params.length);
			ajaxRequest.setRequestHeader("Connection", "close");
			ajaxRequest.send(params);
		}
		else
		{
			var existing_id = document.getElementById('existing_job_id').value;
			var ajaxRequest = get_html_request();
			var urlstr = "http://www.christianapp.org/write_existing_job.php";
			var date = new Date();
			var timestamp = date.getTime();
			var params = "time="+timestamp+"&ref_num="+reference_number+"&start="+start_date+"&end="+end_date+"&position="+position_name+"&program="+program_name+"&location="+location_and_hours+"&position_summary="+position_sum+"&education="+education_required+"&mail="+mail+"&email="+email+"&entered_date="+current_date+"&id="+existing_id;

			ajaxRequest.onreadystatechange = function()
			{
				if(ajaxRequest.readyState == 4)
				{			    
					var str = ajaxRequest.responseText;
					if(str == "true")
					{
						alert("Job Posting has been Updated");
						document.getElementById('existing_job_id').value = "";
						document.getElementById('ref_num').value = "";
						document.getElementById('start_month').value = month;
						document.getElementById('start_day').value = day;
						document.getElementById('start_year').value = year;
						document.getElementById('end_month').value = month;
						document.getElementById('end_day').value = day;
						document.getElementById('end_year').value = year;
						document.getElementById('position').value = "";
						document.getElementById('program').value = "";
						document.getElementById('work_location').value = "";
						document.getElementById('position_summary').value = "";
						document.getElementById('education').value = "";
						//document.getElementById('experience').value = "";
						//document.getElementById('physical').value = "";
						document.getElementById('mail_contact').value = "";
						document.getElementById('email_contact').value = "";
						document.getElementById('submit_job').value = "Submit New Job Posting";
						document.location = "http://www.christianapp.org/job-posting-manager-2";
					}
					else
					{
						alert("An error occurred while Updating Job Posting");
					}	
				}
			}	
			ajaxRequest.open("POST", urlstr, true);
			ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			ajaxRequest.setRequestHeader("Content-length", params.length);
			ajaxRequest.setRequestHeader("Connection", "close");
			ajaxRequest.send(params);
		}
	}
}
