﻿$j(function() {
	var bankingFormAction = "https://cm.netteller.com/login2008/Authentication/Views/Login.aspx?fi=nwgacu&bn=2eeadad2f0ffa5a2&burlid=b574c1a14eaaa60f";
	var bankingFormTarget = "_blank";
	var frm;
	var formActionTemp;
	var formTargetTemp;

	// attach event handlers
	$j("#id").bind("keypress", function(e) {
		return DoBankingEnter(e);
	});
	$j("#pin").bind("keypress", function(e) {
		return DoBankingEnter(e);
	});	
	$j(".login-btn").click(function() {
		return DoBankingClick();
	});

	function xGetElementById(e) {
		 if(typeof(e) == 'string') {
			if (document.getElementById) {
				e = document.getElementById(e);
			}
			else if (document.all) {
				e = document.all[e];
			}
			else {
				e = null;
			}
		}
		return e;
	}

	function DelayRemBankingUser() {
		try {
			setTimeout(RemBankingUser,3000);
		}
		catch(e) {
		}
	}

	function RemBankingUser() {
		try {
			var elem = xGetElementById("id");
			if (elem != null) {
				elem.value = "";
			}
		}
		catch(e) {
		}
	}

	function DelayRemBankingPass() {
		try {
			setTimeout(RemBankingPass, 3000);
		}
		catch (e) {
		}
	}

	function RemBankingPass() {
		try {
			var elem = xGetElementById("pin");
			if (elem != null) {
				elem.value = "";
			}
		}
		catch (e) {
		}
	}

	function DoBankingEnter(evt) {
		evt = (evt) ? evt : event;
		var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
		if (charCode == 13 || charCode == 3) {
			if (!SubmitBankingForm()) {
				return false;
			}
		}
		else {
			return true;
		}
	}

	function DoBankingClick() {
		if (!SubmitBankingForm()) {
			return false;
		}
	}

	function SubmitBankingForm() {
		frm = document.forms[0];
		// set back to original value after submitted
		formActionTemp = frm.action;
		formTargetTemp = frm.target;

		for (var i = 0; i < frm.elements.length; i++) {
			switch (frm.elements[i].name) {
				case 'id':
					if (frm.elements[i].value.length == 0) {
						alert('You must enter a username.');
						frm.elements[i].focus();
						return false;
					}
					break;
				case 'pin':
					if (frm.elements[i].value.length == 0) {
						alert('You must enter a password.');
						frm.elements[i].focus();
						return false;
					}
					break;
				case '__VIEWSTATE':
					// remove __VIEWSTATE from form... causes problems on page being posted to.
					// see... www.codeproject.com/kb/aspnet/jsnopostback.aspx
					frm.elements[i].value = '';
					frm.elements[i].name = 'NOVIEWSTATE';
					frm.elements[i].id = 'NOVIEWSTATE';
					break;
				case '__EVENTTARGET':
					// remove __EVENTTARGET from form... causes problems on page being posted to.
					frm.elements[i].value = '';
					frm.elements[i].name = 'NOEVENTTARGET';
					frm.elements[i].id = 'NOEVENTTARGET';
					break;
				case '__EVENTARGUMENT':
					// remove __EVENTARGUMENT from form... causes problems on page being posted to.
					frm.elements[i].value = '';
					frm.elements[i].name = 'NOEVENTARGUMENT';
					frm.elements[i].id = 'NOEVENTARGUMENT';
					break;
				default:
					break;
			}
		}

		frm.action = bankingFormAction;
		frm.target = bankingFormTarget;
		
		frm.submit();		
		ResetFormInfo();
	}

	// fired off after the user continues to banking login via the popop or normally
	function ResetFormInfo() {		
		frm.action = formActionTemp;
		frm.target = formTargetTemp;
		
		DelayRemBankingUser();
		DelayRemBankingPass();
	}
});
