$(function() {
	$('.add_funds_page .button input').click(function(event) {
		var button = $(this);
		button.attr('disabled', 'disabled');
		var formParams = $('.add_funds_page .main_content form').serialize();
		$('.add_funds_page .error').remove();
		$.post(
			'/background_controller/activation',
			formParams,
			function(data) {
				$.each(data, function(key, value) {
					err_object = $('[name='+key+']').parent().next();
					if (err_object.hasClass('error')) {
						err_object.append(value);
					} else {
						if (value) {
							$('[name='+key+']').parent().after('<div class="error"><div class="arrow"></div>'+value+'</div>');
						}
					}
				});

				if (data.status) {
					merchant(formParams);
				} else {
                    $(".add_funds_page .main_content .button input").removeAttr('disabled');
                }
				$('.add_funds_page .error').fadeIn('400');
			},
			'json'
		);		
	});
});

function is_object(someVar) {
	if (someVar instanceof Array) {
		return false;
	} else {
		return (someVar !== null) && (typeof(someVar) == 'object');
	}
}

function merchant(formParams) {
	$(".add_funds_page .main_content .button input").attr('disabled','true');
	var err_obj = $(".add_funds_page .main_content .invalid")
	err_obj.html('Please wait...');
	err_obj.fadeIn('fast');
	$.post(
		'/background_controller/merchant',
		formParams,
		function(data) {
			if (data.error) {
				err_obj.html(data.error);
				$(".add_funds_page .main_content .button input").val('Submit Secure Transaction');
				$(".add_funds_page .main_content .button input").removeAttr('disabled');
				$(".add_funds_page .main_content .button input").removeClass('processing');
			} else if (data.success) {
				err_obj.html('Success');
				if (data.html) {
					$('#bankFormDiv').append(data.html);
					var name = $('#bankFormDiv form').attr('name');
					if (name == '') {
						name = 'incomingBankFormName';
						$('#bankFormDiv form').attr('name', 'incomingBankFormName');
					}
					var isIE = (navigator.appName.indexOf('Explorer') > -1);
					if (is_object(document[name].submit) && !isIE) {
						document[name].submit.setAttribute('id', 'incomingSubmit');
						try {
							document[name].submit.click();
						} catch (e) {
							document.getElementById('incomingSubmit').click();
						}
					} else {
						document[name].submit();
					}
				} else if (data.uri) {
					location = data.uri;
				}
			}
		},
		'json'
	);
}
