/***************************************************************************
    MODULE:   /js/rhwControlPanel.js
    PURPOSE:  js lib to manage invoice management.
	CREATED:	08-7-09
	AUTHOR:		Mike Hutchins
	COPYRIGHT:	(c) 2001 Fred Flintstone for slateconsulting.com, Inc.
	CHANGE HISTORY: 
	
	Notes:
	
	This lib uses jquery and is included as a part of the file.
***************************************************************************/

// *** ******************************************************************
// ***	Object Init
// *** ******************************************************************
function __rhwControlPanel()
{
	var empId = $("#EmpID").val();
	var siteId = $("#SiteID").val();
}

// *** ******************************************************************
// ***	clearFailedTransactions - 
// *** ******************************************************************
__rhwControlPanel.prototype.clearFailedTransactions = function()
{
	var empId = $("#EmpID").val();
	var siteId = $("#SiteID").val();

	var url = "/controlpanel/AdminRecruiters/clear_failed_transactions.cfm?" + 
	"SN=" + siteId + 
	"&employerid=" + empId +
	"&act=clearFailed&mode=j&r=" + this.getRandomNumber();

	$.getJSON(url, 
		function (data)
		{
			if (data.found)
			{
				$("#recruiterClearFailedBox").html("");
			}
			else if (data.message == "exception")
			{
				alert(data.exception);
			}
			else
			{
				alert(data.message);
			}
		});

}
// *** ******************************************************************
// ***	allowPayByInvoice - 
// ***		Allow an employer to pay by invoice for orders < $500.
// *** ******************************************************************
__rhwControlPanel.prototype.allowPayByInvoice = function()
{
	var empId = $("#EmpID").val();
	var siteId = $("#SiteID").val();

	var url = "/controlpanel/AdminRecruiters/pay_by_invoice.cfm?" + 
	"SN=" + siteId + 
	"&employerid=" + empId +
	"&act=allow&mode=j&r=" + this.getRandomNumber();

	$.getJSON(url, 
		function (data)
		{
			if (data.found)
			{
				$("#recruiterPayByInvoiceLink").text("Disallow recruiter pay by invoice.");

				$("#recruiterPayByInvoiceLink").attr("href", "javascript:rhwControlPanel.disallowPayByInvoice()");
			}
		});
	
}

// *** ******************************************************************
// ***	blockPayByInvoice - 
// *** ******************************************************************
__rhwControlPanel.prototype.blockPayByInvoice = function()
{
	var empId = $("#EmpID").val();
	var siteId = $("#SiteID").val();

	var url = "/controlpanel/AdminRecruiters/manual_block.cfm?" + 
	"SN=" + siteId + 
	"&employerid=" + empId +
	"&act=block&mode=j&r=" + this.getRandomNumber();

	$.getJSON(url, 
		function (data)
		{
			if (data.found)
			{
				$("#recruiterManualBlockLink").text("Unblock recruiter.");

				$("#recruiterManualBlockLink").attr("href", "javascript:rhwControlPanel.unblockPayByInvoice()");
			}
		});
	
}

// *** ******************************************************************
// ***	unblockPayByInvoice - 
// *** ******************************************************************
__rhwControlPanel.prototype.unblockPayByInvoice = function()
{
	var empId = $("#EmpID").val();
	var siteId = $("#SiteID").val();

	var url = "/controlpanel/AdminRecruiters/manual_block.cfm?" + 
	"SN=" + siteId + 
	"&employerid=" + empId +
	"&act=unblock&mode=j&r=" + this.getRandomNumber();

	$.getJSON(url, 
		function (data)
		{
			if (data.found)
			{
				$("#recruiterManualBlockLink").text("Block recruiter from invoicing.");

				$("#recruiterManualBlockLink").attr("href", "javascript:rhwControlPanel.blockPayByInvoice()");
			}
		});
	
}
// *** ******************************************************************
// ***	getRandomNumber  - 
// ***		Gets a random number to avoid ajax page caching issues
// *** ******************************************************************
__rhwControlPanel.prototype.getRandomNumber = function()
{
	return Math.floor(Math.random()*1111)
}
// *** ******************************************************************
// ***	disallowPayByInvoice  - 
// ***		Revokes an employer's abilit to pay by invoice for orders.
// *** ******************************************************************
__rhwControlPanel.prototype.disallowPayByInvoice = function()
{
	var empId = $("#EmpID").val();
	var siteId = $("#SiteID").val();

	var url = "/controlpanel/AdminRecruiters/pay_by_invoice.cfm?" + 
	"SN=" + siteId + 
	"&employerid=" + empId +
	"&act=disallow&mode=j&r=" + this.getRandomNumber();
	$.getJSON(url, 
		function (data)
		{
			if (eval(data.deleted))
			{
				$("#recruiterPayByInvoiceLink").text("Allow Recruiter to pay by invoice for totals less than $500.");

				$("#recruiterPayByInvoiceLink").attr("href", "javascript:rhwControlPanel.allowPayByInvoice()");
			}
			else
			{
				alert("Failed to dissallow : " + data.message);
			}

		});
	
}
// *** ******************************************************************
// ***	attachPayByInvoice  - 
// *** ******************************************************************
__rhwControlPanel.prototype.attachPayByInvoice = function(obj)
{
	$(obj).attr("href", "javascript:rhwControlPanel.allowPayByInvoice()");
	// get the exception... 

	var empId = $("#EmpID").val();
	var siteId = $("#SiteID").val();

	var url = "/controlpanel/AdminRecruiters/pay_by_invoice.cfm?" + 
	"SN=" + siteId + 
	"&employerid=" + empId +
	"&act=get&mode=j&r=" + this.getRandomNumber();

	$.getJSON(url, 
		function (data)
		{
			if (data.found!="false")
			{
				$(obj).text("Disallow recruiter pay by invoice.");
				$(obj).attr("href", "javascript:rhwControlPanel.disallowPayByInvoice()");
			}
		});
	
}

// *** ******************************************************************
// ***	attachManualBlock  - 
// *** ******************************************************************
__rhwControlPanel.prototype.attachManualBlock = function(obj)
{
	$(obj).text("Block recruiter from invoicing.");
	$(obj).attr("href", "javascript:rhwControlPanel.blockPayByInvoice()");
	// get the exception... 

	var empId = $("#EmpID").val();
	var siteId = $("#SiteID").val();

	var url = "/controlpanel/AdminRecruiters/manual_block.cfm?" + 
	"SN=" + siteId + 
	"&employerid=" + empId +
	"&act=get&mode=j&r=" + this.getRandomNumber();

	$.getJSON(url, 
		function (data)
		{
			if (data.found!="false")
			{
				$(obj).text("Unblock Recruiter.");
				$(obj).attr("href", "javascript:rhwControlPanel.unblockPayByInvoice()");
			}
		});
}

// *** ******************************************************************
// ***	attachClearFailedTransactions  - 
// *** ******************************************************************
__rhwControlPanel.prototype.attachClearFailedTransactions = function(obj)
{
	$(obj).attr("href", "javascript:rhwControlPanel.clearFailedTransactions()");
	// get the exception... 

	var empId = $("#EmpID").val();
	var siteId = $("#SiteID").val();

	
}
// create instance if one doesn't
if (rhwControlPanel==null)
{
	var rhwControlPanel = new __rhwControlPanel();
}

// setup the attach to the link once the doc is done loading.
$(document).ready(function (obj){
	$("#recruiterPayByInvoiceLink").each(function(i){rhwControlPanel.attachPayByInvoice(this);});
	$("#recruiterClearFailedTransactions").each(function(i){rhwControlPanel.attachClearFailedTransactions(this);});
	$("#recruiterManualBlockLink").each(function(i){rhwControlPanel.attachManualBlock(this);});
});

