function returnNull()
{
	return false;
}

function SearchStringSplitter()
{
   var nameValue = new Array();
   var searchStr = unescape(location.search.substring(1));
   if (searchStr)
   {
	   var formElement = searchStr.split("&");

	   var tmpArray = new Array();
	   for (k = 0; k < formElement.length; k++) {
			tmpArray = formElement[k].split("=");
			nameValue[tmpArray[0]] = tmpArray[1];
	   }
   }
   return nameValue;
}

var srchData 		= 	SearchStringSplitter();

var cu_id = srchData.cu_id;

var arrCompsNames;
var arrCompsNameValues = new Array("MF1","MF2","MF3","MF4","MF5");
var arrCompsMand;
var emailShow;
var productShow;
var accounttypeShow;
var last6digitsShow;

if(cu_id == undefined)
{
	if(typeof(fiid) == "string")
	{
		cu_id = fiid;
	}
	else
	{
		document.getElementById("DivPropertyHolder").innerHTML = "<span class='error'>No Credit Union Defined </span>";
	}
}

function setSelectedProduct()
{}

function setSelectedAccount()
{}

function buildComponents(componentsValue,componentsProduct,componentsAccount)
{
	var PageProperties = componentsValue;
	if(componentsValue == "")
	{
		document.getElementById("DivPropertyHolder").innerHTML = "<span class='error'>No Properties found for this Credit Union</span>";
		return;
	}
	PagePropertiesArr = PageProperties.split(":::::");
	var mfNamesArray = PagePropertiesArr[0].split("___");
	arrCompsNames = mfNamesArray;
	var mfMandatoryArray = PagePropertiesArr[1].split("___");
	arrCompsMand = mfMandatoryArray;
	var mfEBFArray = PagePropertiesArr[2].split("___");
	var LANDING_PAGE = PagePropertiesArr[3].split("___");
	var EMAIL_SHOW = PagePropertiesArr[4].split("___");
	var PRODUCT_SHOW = PagePropertiesArr[5].split("___");
	var ACCOUNTTYPE_SHOW = PagePropertiesArr[6].split("___");
	var LAST6DIGITS_SHOW = PagePropertiesArr[7].split("___");
	LANDING_PAGE = (LANDING_PAGE =="NOTAPPL" ? "" : LANDING_PAGE);
	EMAIL_SHOW = (EMAIL_SHOW =="NOTAPPL" || EMAIL_SHOW =="N" || EMAIL_SHOW =="" ? "N" : "Y");
	emailShow = EMAIL_SHOW;
	PRODUCT_SHOW = (PRODUCT_SHOW =="NOTAPPL" || PRODUCT_SHOW =="N" || PRODUCT_SHOW =="" ? "N" : "Y");
	productShow = PRODUCT_SHOW;
	ACCOUNTTYPE_SHOW = (ACCOUNTTYPE_SHOW =="NOTAPPL" || ACCOUNTTYPE_SHOW =="N" || ACCOUNTTYPE_SHOW =="" ? "N" : "Y");
	accounttypeShow = ACCOUNTTYPE_SHOW;
	LAST6DIGITS_SHOW = (LAST6DIGITS_SHOW =="NOTAPPL" || LAST6DIGITS_SHOW =="N" || LAST6DIGITS_SHOW =="" ? "N" : "Y");
	last6digitsShow = LAST6DIGITS_SHOW;
	 
	var mfBuild = "<form name='frm_component' id='frm_component' action='LITE/Cardlite_intermediate.jsp'  method='post'><table id='tableProps' width='98%' style='border-collapse:collapse;border-color:#cccccc;' border='0'  cellpadding='1' cellspacing='1'>";
	mfBuild += "<tr style='display:none'>";
	mfBuild += "<td colspan='2'><input name='tb_litefiid' id='tb_litefiid'  type='hidden' style='font-family: Verdana;font-size: 11px;color: #000000;' size='25' maxlength='30' value='"+cu_id+"' /></td>";
	mfBuild += "</tr>";
	
	var hasRec = false;
	var JSMANDATORY = "";
	for(i=0;i<mfNamesArray.length;i++)
	{
		//arrCompsNameValues
		if(mfNamesArray[i].toUpperCase() != "NOTAPPL")
		{
			var isMandatory = mfMandatoryArray[i];
			var isEBF = mfEBFArray[i];
			var isStar = "";
			var isE = "";
			if(isMandatory == "Y")
			{
				isStar = "&nbsp;&nbsp;<span style='color:#ff0000'>*</span>";
				
			}
			if(isEBF == "Y")
			{
				isE = "&nbsp;&nbsp;<span style='color:#ff0000'></span>";
			}
			mfBuild += "<tr style='font-family: Verdana;font-size: 11px;color: #6A6A6A;	font-weight: bold;'>";
			mfBuild += "<td width='14%' align='right'>"+mfNamesArray[i]+":</td>";
			mfBuild += "<td width='24%' align='left'>&nbsp;<input name='tb_"+ arrCompsNameValues[i] +"_"+mfNamesArray[i]+"' id='tb_df_"+mfNamesArray[i]+"'  type='text' style='font-family: Verdana;font-size: 11px;color: #000000;' size='25' maxlength='30' value='' />"+ isStar+"  " + isE + "</td>";
			mfBuild += "</tr>";
			hasRec = true;

		}
	}	

	if(PRODUCT_SHOW == "Y")
	{
		mfBuild += "<tr style='font-family: Verdana;font-size: 11px;color: #6A6A6A;	font-weight: bold;'>";
		mfBuild += "<td width='14%' align='right'>Product:</td>";
		mfBuild += "<td width='24%' align='left'>&nbsp;"+componentsProduct + "&nbsp;&nbsp;<span style='color:#ff0000'>*</span>"+"  " + "&nbsp;&nbsp;<span style='color:#ff0000'></span>" + "</td>";
		mfBuild += "</tr>";
		hasRec = true;
	}
	if(EMAIL_SHOW == "Y")
	{
		mfBuild += "<tr style='font-family: Verdana;font-size: 11px;color: #6A6A6A;	font-weight: bold;'>";
		mfBuild += "<td width='14%' align='right'>Email:</td>";
		mfBuild += "<td width='24%' align='left'>&nbsp;<input name='tb_df_email' id='tb_df_email'  type='text' style='font-family: Verdana;font-size: 11px;color: #000000;' size='25' maxlength='30' value='' />"+ "&nbsp;&nbsp;<span style='color:#ff0000'>*</span>"+"  " + "&nbsp;&nbsp;<span style='color:#ff0000'></span>" + "</td>";
		mfBuild += "</tr>";
		hasRec = true;
	}
	if(LAST6DIGITS_SHOW == "Y")
	{
		mfBuild += "<tr style='font-family: Verdana;font-size: 11px;color: #6A6A6A;	font-weight: bold;'>";
		mfBuild += "<td width='14%' align='right'>Card last 6 digits:</td>";
		mfBuild += "<td width='24%' align='left'>&nbsp;<input name='tb_df_l6d' id='tb_df_l6d'  type='text' style='font-family: Verdana;font-size: 11px;color: #000000;' size='25' maxlength='6' value='' />"+ "&nbsp;&nbsp;<span style='color:#ff0000'>*</span>"+"  " + "&nbsp;&nbsp;<span style='color:#ff0000'></span>" + "</td>";
		mfBuild += "</tr>";
		hasRec = true;
	}
	if(ACCOUNTTYPE_SHOW == "Y")
	{
		mfBuild += "<tr style='font-family: Verdana;font-size: 11px;color: #6A6A6A;	font-weight: bold;'>";
		mfBuild += "<td width='14%' align='right'>Account Type:</td>";
		mfBuild += "<td width='24%' align='left'>&nbsp;"+componentsAccount + "&nbsp;&nbsp;<span style='color:#ff0000'>*</span>"+"  " + "&nbsp;&nbsp;<span style='color:#ff0000'></span>"  + "</td>";
		mfBuild += "</tr>";
		hasRec = true;
	}
			
	
	if(hasRec)
	{
		mfBuild += "<tr><td colspan=2 height='20px'></td></tr>"
		mfBuild += "<tr style='font-family: Verdana;font-size: 11px;color: #6A6A6A;	font-weight: bold;'>";
		mfBuild += "<td width='100%' align='center' colspan='2' ><input name='but_submit' type='button' style='font-family: Verdana;font-size: 11px;' id='but_submit'  onclick='submitForm()' value='Submit' />&nbsp;&nbsp;<input name='but_reset' type='reset' style='font-family: Verdana;font-size: 11px;' id='but_reset'  value='Reset' /></td>";
		mfBuild += "<tr><td colspan=2 height='20px' align='center' style='font-family: Verdana;font-size: 11px;color: #6A6A6A;	font-weight: bold;'><span style='color:#ff0000'>*</span>&nbsp;- mandatory</td></tr>"
		mfBuild += "</tr>";
	}
	else
	{
			mfBuild += "<tr style='font-family: Verdana;font-size: 11px;color: #6A6A6A;	font-weight: bold;'><td colspan='2' align='center'>No properties found...</td></tr>";
	}

	mfBuild += "</table></form>";
	document.getElementById("DivPropertyHolder").innerHTML = mfBuild ;
}
function ALERTWINDOW(msg){
	var em;
	em = "____________________________________________________\n\n";
	em += "The Form was not submitted because of the following error(s).\n";
	em += "Please correct these error(s) And re-submit.\n";
	em += "___________________________________________________\n\n";
	em += msg;			
	alert(em);	
}

function onlyNumberCheck(val)
{
	return !(isNaN(val));
}

function checkEmail(emailStr) 
{
   if (emailStr.length == 0) {
	   return true;
   }
   var emailPat=/^(.+)@(.+)$/;
   var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
   var validChars="\[^\\s" + specialChars + "\]";
   var quotedUser="(\"[^\"]*\")";
   var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;
   var atom=validChars + '+';
   var word="(" + atom + "|" + quotedUser + ")";
   var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
   var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$");
   var matchArray=emailStr.match(emailPat);
   if (matchArray == null) {
	   return false;
   }
   var user=matchArray[1];
   var domain=matchArray[2];
   if (user.match(userPat) == null) {
	   return false;
   }
   var IPArray = domain.match(ipDomainPat);
   if (IPArray != null) {
	   for (var i = 1; i <= 4; i++) {
		  if (IPArray[i] > 255) {
			 return false;
		  }
	   }
	   return true;
   }
   var domainArray=domain.match(domainPat);
   if (domainArray == null) {
	   return false;
   }
   var atomPat=new RegExp(atom,"g");
   var domArr=domain.match(atomPat);
   var len=domArr.length;
   if ((domArr[domArr.length-1].length < 2) ||
	   (domArr[domArr.length-1].length > 3)) {
	   return false;
   }
   if (len < 2) {
	   return false;
   }
   return true;
}

	
	
function submitForm()
{
	var errStr = "Following field(s) are/is empty :-\n" ;
	var x=1;
	var hasError = false;
	for(i=0;i<arrCompsNames.length;i++)
	{
		if(arrCompsNames[i].toUpperCase() != "NOTAPPL" && arrCompsNames[i] != "tb_df_email")
		{
			if(arrCompsMand[i] == "Y")
			{
				if(arrCompsNames[i] == "Account Type")
				{
					/*var compValue = document.getElementById('SelAccountList').value;
					compValue = Trim(compValue);
					if(compValue == "0")
					{
						hasError = true;
						errStr += (x++) + ". " + "Account Type\n";
						//alert("SelAccountList is " +  compValue);
					}
					*/
				}
				else
				{
					//alert(arrCompsNames[i]);
					var compName = 'tb_df_' + arrCompsNames[i];
					var compValue = document.getElementById(compName).value;
					compValue = Trim(compValue);
					if(compValue == "")
					{
						hasError = true;
						errStr += (x++) + ". "  + arrCompsNames[i]+"\n";
						//alert("SelAccountList is " +  compValue);
					}
					//alert(arrCompsNames[i] + " is " +  compValue);	
				}
			}
		}
	}
	if(emailShow == "Y")
	{
		var emailValue = document.getElementById('tb_df_email').value;
		emailValue = Trim(emailValue);
		if(emailValue == "")
		{
			hasError = true;
			errStr += (x++) + ". "  + "Email"+"\n";
		}
		else if(!(checkEmail(emailValue)))
		{
			hasError = true;
			errStr += (x++) + ". "  + "Email is Invalid"+"\n";
		}

		//alert("emailShow is Y and the value is " + emailValue );
	}
	if(last6digitsShow == "Y")
	{
		var l6d = document.getElementById('tb_df_l6d').value;
		l6d = Trim(l6d);
		
		
		if(l6d == "")
		{
			hasError = true;
			errStr += (x++) + ". "  + "Last 6 Digits"+"\n";
		}
		else if(!(onlyNumberCheck(l6d)) || l6d.length != 6)
		{
			hasError = true;
			errStr += (x++) + ". "  + "Enter valid last 6 digits of card number"+"\n";
		}

	}
	if(productShow == "Y")
	{
		var proValue = document.getElementById('SelProductList').value;
		proValue = Trim(proValue);
		if(proValue == "0")
		{
			hasError = true;
			errStr += (x++) + ". "  + "Product Type"+"\n";
		}
		//alert("productShow is Y and the value is " + proValue );
	}
	if(accounttypeShow == "Y")
	{
		var proValue = document.getElementById('SelAccountList').value;
		proValue = Trim(proValue);
		if(proValue == "0")
		{
			hasError = true;
			errStr += (x++) + ". "  + "Account Type"+"\n";
		}
		//alert("productShow is Y and the value is " + proValue );
	}
	if(hasError == true)
	{
		ALERTWINDOW(errStr)	;
	}
	else
	{
		document.frm_component.submit();
	}
	
}

function Trim(s) 
{
	return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
}



function getComponents()
{
	if(cu_id != null || cu_id != "")
	{
		/*
		if(document.getElementById('headerDiv'))
		{
			document.getElementById('headerDiv').innerHTML = "Landing Page Demo (" + cu_id + ")";
		}
		*/
		var url = "LITE/Card_LiteProperties.jsp";
		qParam = "cu_id="+cu_id;
		makeRequest(url,qParam);
	}

}
function makeRequest(url,qParam) 
{
	if(window.XMLHttpRequest)
	{
		request = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		request = new ActiveXObject("MSXML2.XMLHTTP");
	}
	sendRequest(url,qParam);
}

function sendRequest(url,qryParam)
{
	request.onreadystatechange = onResponse;
	request.open("POST", url, true);
	request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	request.send(qryParam);
}

function checkReadyState(obj)
{
	if(obj.readyState == 0) { document.getElementById("DivPropertyHolder").innerHTML =  "<center style='font-family: Verdana;font-size: 11px;'>..Loading Details..<br><br>Please Wait...<br><br><img src='img/loading.gif'></center>"; }
	if(obj.readyState == 1) { document.getElementById("DivPropertyHolder").innerHTML =  "<center style='font-family: Verdana;font-size: 11px;'>..Loading Details..<br><br>Please Wait...<br><br><img src='img/loading.gif'></center>"; }
	if(obj.readyState == 2) { document.getElementById("DivPropertyHolder").innerHTML =  "<center style='font-family: Verdana;font-size: 11px;'>..Loading Details..<br><br>Please Wait...<br><br><img src='img/loading.gif'></center>"; }
	if(obj.readyState == 3) { document.getElementById("DivPropertyHolder").innerHTML =  "<center style='font-family: Verdana;font-size: 11px;'>..Loading Details..<br><br>Please Wait...<br><br><img src='img/loading.gif'></center>"; }
	if(obj.readyState == 4)
	{
		if(obj.status == 200)
		{
			return true;
		}
		else if(obj.status == 404)
		{
			//document.getElementById('div').innerHTML = "..N/A..";
		}
		else
		{
			//document.getElementById('div').innerHTML = "..N/A..";
		}
	}
}

function getsplitters(val, cnt)
{
	var valStr = val;
	for(i=0;i<cnt;i++)
	{
		valStr += val;
	}
	return valStr;//getsplitters(":",5)
}

function onResponse() 
{
	if(checkReadyState(request))
	{
		var ResponseStr = request.responseText;
		ResponseStr = Trim(ResponseStr);
		var componentsValue = "";
		var componentsProduct = "";
		var componentsAccount = "";
		if(ResponseStr != null && ResponseStr.indexOf("No Properties") == -1 && ResponseStr != "")
		{
			if(ResponseStr.indexOf("%PRODUCTDETAILS%") != -1)
			{
				componentsValue = ResponseStr.substring(0,ResponseStr.indexOf("%PRODUCTDETAILS%"));
				componentsProduct = ResponseStr.substring(ResponseStr.indexOf("%PRODUCTDETAILS%") + "%PRODUCTDETAILS%".length,  ResponseStr.indexOf("%ACCOUNTDETAILS%"));
				componentsAccount = ResponseStr.substring(ResponseStr.indexOf("%ACCOUNTDETAILS%") + "%ACCOUNTDETAILS%".length,ResponseStr.length);
			}
			
			buildComponents(componentsValue,componentsProduct,componentsAccount);
		}
		else
		{
			document.getElementById("DivPropertyHolder").innerHTML = "<span class='error'>No Properties found for this Credit Union</span>";
		}
	}
}
if(cu_id != undefined)
{
	getComponents();
}