var helper = {
	doOverlay: function(){
		$('<div class="overlay"></div>').prependTo('body').slideDown('fast');
		$('<div class="overlayContent"></div>').prependTo('body').delay(200).fadeIn('slow');
		$('<a class="cancelOverlay">Cancel</a>').prependTo('.overlayContent').fadeIn();
	},
	
	cancelOverlay: function(){
		$('div.overlayContent').fadeOut('slow').remove();
		$('div.overlay').delay(2000).slideUp('slow').remove();
	} 	
}


var updateJobStatus = {
	
	insertJobDetails: function(j) {
		html = $('<h1>Update Status: <span class="jsu_jobTitle"></span> (<span class="jsu_jobReference"></span>)</h1><div class="overlayMainContent"><p><em>Post Date: <span class="jsu_jobPostDate"></span> / Expire Date:<span class="jsu_jobExpires"></span><ul class="displayInfoAsTable"><li><div class="label">Set Status To:</div><div class="value"><select id="jsuUpdateStatus"><option value="Live">Live</option><option value="Paused">Paused</option><option value="Interviewing">Interviewing</option><option value="Filled">Filled</option><option value="Expired" disabled="disabled">Expired</option><option value="Cancelled">Cancelled</option><option value="Other">Other</option></select></div><div class="clear"></div></li><li><div class="label">Message for Applicants:</div><div class="value"><textarea id="jsuUpdateText"></textarea><input type="hidden" id="jsuJobReference" value="'+j+'" /></div><div class="clear"></div></li><li><div class="label"></div><div class="value"><button id="jsu_save" class="default">Post Status Update</button></div><div class="clear"></div></li></ul></div><div class="clear"></div>');

		$.getJSON("/inc/custom/jobs/ajax/getJobDetailsJson.asp?ref="+j, function(data) {
				if (data.status == 'success') {
					
					//applicantOptions = updateJobStatus.getApplicants(j);
					html.find('span.jsu_jobReference').text('#'+j);					
					//html.find('span.jsu_jobId').text(data.jobId);					
					html.find('span.jsu_jobTitle').text(data.jobTitle);					
					html.find('span.jsu_jobPostDate').text(data.jobPostDate);					
					html.find('span.jsu_jobExpires').text(data.jobExpires);		
					//html.find('#jsuSuccessfulApplicants').html(applicantOptions);
					$('#jsuUpdateStatus').val(data.jobStatus);	
					
				} else {
					alert('Sorry, job details unavailable.');
				}				
			});	
		html.appendTo('div.overlayContent');					
	}, 
	
	
	doJobStatusUpdate: function(){
		var jsuUpdateStatus = $('#jsuUpdateStatus').val();
		var jsuUpdateText = $('#jsuUpdateText').val();
		var jsuJobReference = $('#jsuJobReference').val();
			$.ajax({
				type: "post",
				url: "/inc/custom/jobs/ajax/doUpdate.asp",
				data: {
					j: jsuJobReference,
					t: jsuUpdateText,
					s: jsuUpdateStatus
				},
				success: function(data){
					//alert(data);
					alert('Status Updated. Thanks.');
					$('#jsu_'+jsuJobReference).fadeOut();
					$('#jsu_'+jsuJobReference).remove();
					helper.cancelOverlay();
					noOfItems = $('ul#myJobsRequiringStatusUpdate li').size();
					//alert(noOfItems);
					if (noOfItems == 0) {
						$('ul#myJobsRequiringStatusUpdate').html('<li>No jobs requiring Status Update.</li>');
					} 

					
				},
				error: function(){
					alert("error - doJobStatusUpdate");
				}
			});		
	}
}	

$(function(){
	$('a.updateJobStatus').live('click', function(){
		helper.doOverlay();
		jobRef = $(this).attr('rel');
		//alert(jobRef);
		updateJobStatus.insertJobDetails(jobRef);
		//updateJobStatus.getApplicants(jobRef);
	});
	$('a.cancelOverlay').live('click', function(){
		helper.cancelOverlay();
	});	
	
	$('button#jsu_save').live('click', function(){
		updateJobStatus.doJobStatusUpdate();
	});		
});
