// JavaScript Document
/**************************************************************/
/**************************************************************/
/*   THIS SECTION SHOULD BE THE ONLY AREA THAT NEEDS EDITING  */
/**************************************************************/
/**************************************************************/
var bibURL = "https://umbrellabank.ebanking-services.com/nubi/signin.aspx";
var cebURL = "https://cibng.ibanking-services.com/cib/CEBMainServlet/Login?FIORG=467&FIFID=311993330&BRCHID=001";
	
	function getRequiredArray(formname)
	{
		//alert("************** getRequiredArray formname = " + formname);
		if (formname == "bibform") {
			order = ["companyidBIB","useridBIB"]
		}
		else if (formname == "cebform") {
			order = ["useridCEB"]
		}		
				
		return order;
	}

	function getWriteError(fieldID)
	{
		//alert("************** getWriteError fieldID = " + fieldID);
		switch (fieldID) {
			case "companyidBIB":
				var error = "<span class='required'>*Enter Company Id:</span>";
				return error;
				break;
			case "useridBIB":
				var error = "<span class='required'>*Enter User ID:</span>";
				return error;
				break;
			case "useridCEB":
				var error = "<span class='required'>*Enter User ID:</span>";
				return error;
				break;
			default:
				var error = "<span class='required'>*Error:</span>";
				return error;
		}//end switch
		//alert("************** getWriteError error = " + error);
		return true;
	}
	
	function getClearRequired(fieldID)
	{
		//alert("************** getClearRequired fieldID = " + fieldID);
		switch (fieldID) {
			case "companyidBIB":
				var clear = "";
				return clear;
				break;
			case "useridBIB":
				var clear = "";
				return clear;
				break;
			case "useridCEB":
				var clear = "";
				return clear;
				break;
			default:
				var clear = "";
				return clear;
		}//end switch
		//alert("************** getClearRequired clear = " + clear);
		return true;
	}

/**************************************************************/
/**************************************************************/
/**************************************************************/
/**************************************************************/
	
	function gotoSubmit(formname)
	{
		//alert("************** gotoSubmit formname = " + formname);
		if (formname == "bibform") {
			var formHandle = document.bibform;
		}
		else if (formname == "cebform") {
			var formHandle = document.cebform;
		}	
		
		var errorFound = false;

		//Clear the current Inner HTML
		clearRequiredFieldsInnerHTML(formname);

		//Get the required Array
		var requiredArray = getRequiredArray(formname);
		
		//var temp;
		for(var x=0; x<requiredArray.length; x++)
		{ 
			if(!(general_check_required(formHandle, requiredArray[x])))
			{ 
				var arrayItem = "error_" + requiredArray[x];

				//alert("************** gotoSubmit arrayItem = " + arrayItem);
				
				document.getElementById(arrayItem).innerHTML = getWriteError(requiredArray[x]);	

				if(!errorFound && document.getElementById(requiredArray[x])) 
				{
					//alert("************** gotoSubmit focus = " + requiredArray[x]);
					document.getElementById(requiredArray[x]).focus();
					errorFound = true;
				}//end if
				
			}//end if 
		}//end for
			
		/*	End required field check */	
		if(errorFound){
			return false;
		}

		// Pass values from input fields to hidden fields
 		if (formname == "bibform") {
			formHandle.companyid.value = formHandle.companyidBIB.value;
			formHandle.userid.value = formHandle.useridBIB.value;
		}
		else if (formname == "cebform") {
			formHandle.userid.value = formHandle.useridCEB.value;
		}		

		// clear up input fields
 		if (formname == "bibform") {
			formHandle.companyidBIB.value = "";
			formHandle.useridBIB.value = "";
		}
		else if (formname == "cebform") {
			formHandle.useridCEB.value = "";
		}		

		//Validate that the userid doesn't contain special characters, only alphanumeric
		var numaric = formHandle.userid.value;
		for(var j=0; j<numaric.length; j++)
		{
			var alphaa = numaric.charAt(j);
			var hh = alphaa.charCodeAt(0);
			// 0-9 || A-Z || a-z || space(32) || #(35) || &(38) || *(42) || -(45) || .(46) || @(64) || _(95)
			if((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123) || (hh == 32) || (hh == 35) || (hh == 38) || (hh == 42) || (hh == 45) || (hh == 46) || (hh == 64) || (hh == 95))
			{
			}
			else {
				
				if (formname == "bibform") {
					window.alert("The User ID contains an invalid character. You are being re-directed to Business Internet Banking log in page. We apologize for the inconvenience. Please re-enter your User ID.");
					location.href = bibURL;
				}
				else if (formname == "cebform") {
					window.alert("The User ID contains an invalid character. You are being re-directed to the Internet Banking logon page. Please re-enter your User ID when prompted. We apologize for any inconvenience.");
					location.href = cebURL;
				}
				return false;
			}
			
			
		}

		//Validate that the password doesn't contain special characters, only alphanumeric
		var numaric = formHandle.password.value;
		for(var j=0; j<numaric.length; j++)
		{
			var alphaa = numaric.charAt(j);
			var hh = alphaa.charCodeAt(0);
			// 0-9 || A-Z || a-z || space(32) || #(35) || &(38) || *(42) || -(45) || .(46) || @(64) || _(95)
			if((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123) || (hh == 32) || (hh == 35) || (hh == 38) || (hh == 42) || (hh == 45) || (hh == 46) || (hh == 64) || (hh == 95))
			{
			}
			else {
				
				if (formname == "bibform") {
					window.alert("The User ID and/or Password contain an invalid character. Re-directing to Business Internet  Banking log in page. We apologize for the inconvenience. Please re-enter your User ID and Password.");
					location.href=bibURL;
				}
				else if (formname == "cebform") {
					window.alert("The User ID and/or Password contains an invalid character. You are being re-directed to the Internet Banking logon page. Please re-enter your User ID and Password when prompted. We apologize for any inconvenience.");
					location.href=cebURL;
				}
				return false;
			}
		}
		//return true;
		
		//****** Submit Form ******
		formHandle.submit();
		
		return false;
	
	}//end gotoSubmit

	function clearRequiredFieldsInnerHTML(formname) 
	{
		var requiredArray = getRequiredArray(formname);
		
		for(var x=0; x<requiredArray.length; x++)
		{ 
			var arrayItem = "error_" + requiredArray[x];

			document.getElementById(arrayItem).innerHTML = getClearRequired(requiredArray[x]);
		}//end for
		
	}

//	function clearRequiredFieldsInnerHTML(formname) 
//	{
//		var requiredArray = getRequiredArray(formname);
//		
//		for(var x=0; x<requiredArray.length; x++)
//		{ 
//			var arrayItem = "error_" + requiredArray[x];
//
//			alert("************** clearRequiredFieldsInnerHTML arrayItem = " + arrayItem);		
//
//			document.getElementById(arrayItem).innerHTML = getClearRequired(requiredArray[x]);
//		}//end for
//		
//	}
			
	function general_check_required(formHandle, transferType)
	{	
		//text fields only
		var stringHandler = formHandle[transferType].value;
				
		if( stringHandler == "" || stringHandler == null)
			return false;
		return true;
	}