var submitForm=true;
$().ready( function() {

	
	
	populateYear();
	$("#selExpiryMonth").val($("#month").val());
	$("#selExpiryYear").val($("#year").val());
	
	if($("#usemrcard").val()=='Y'){
	
		$("#mrCardSection").css('display','');
		$("#cmname").css('display','none');
		$("#cardnumber").css('display','none');
		$("#expDate").css('display','none');
		
		
		
		
	}	
	
	showErrorFlag();
	});
/**
 * This is invoked when the Check ATB 
 * Response returns any invalid
 * parameter error.N=>Invalid Name D=>Invalid Expiry  C=>Invalid CardNumber
 * @return
 */
function showErrorFlag(){
	var strCheck = new String;
	
	strCheck=$("#errParameter").val();
	
	if(strCheck!=null && strCheck!="undefined" && strCheck!=""){
	
	if(strCheck.indexOf("N")!=-1){
		showFlag("txtCardHolderName");	
	}	
	if(strCheck.indexOf("D")!=-1){
	showFlag("selExpiryMonth");	
	}
	if(strCheck.indexOf("C")!=-1){
	showFlag("txtCardNumber");
	}
	$("#errorInfo").show('slow');
	}
}

/**
 * Populate the year drop down list
 * 
 * @return
 */
function populateYear() {

	var currentDate = new Date();

	var currentYear = currentDate.getFullYear();

	currentYear = currentYear - 2000;
	var yearObj = document.getElementById("selExpiryYear");

	for ( var i = 0; i < 12; i++) {

		var value = currentYear + i;

		if (value < 10) {
			value = "0" + currentYear;
		}

		yearObj.options[i] = new Option(value, value);

	}
}

function checkEligibility() {
	
	submitForm=true;
	$("#CheckEligibleForm").find("#errFlag").each(function(i) {
		$(this).css('display','none');
	});
	
		
	$("#errorInfo").hide('slow');
	
	
	
	
	if($("#usemrcard").val()=='Y' && $("#selCardNum").val()=='Nill'){
		
		showFlag("selCardNum");
	
	return false;	
	}	else if($("#usemrcard").val()!='Y'){
	
	if (!checkForBlank($("#txtCardHolderName").val())) {
		
		showFlag("txtCardHolderName");
	}else if(!checkForSpecChar($("#txtCardHolderName").val())){
	
		showFlag("txtCardHolderName");
	}	
	
	if (!checkForBlank($("#txtCardNumber").val())) {
		
		showFlag("txtCardNumber");
	} else {
		fCardNumCheck();
	}
	
	//if()
	if(!checkForBlank($("#selExpiryMonth").val())){
		showFlag("selExpiryMonth");	
	}else if(!fCheckDate()){
		showFlag("selExpiryMonth");	
	}	
	
	}
	if(submitForm){
		document.CheckEligibleForm.action='/aev/checkatb.action';
		document.CheckEligibleForm.submit();
		
		
	}	
	
}
//**********************************************************************************************************
//Function : fCheckDate()
//Inputs : Date as String
//Description : To validate the expiry date of the credit card
//Outputs : boolean
//**********************************************************************************************************
function fCheckDate() {

	var selMonth;
	var selYear;
	var currenDate;
	var currentMonth;
	var selDate;
	var noOfDays;

	selMonth = $("#selExpiryMonth").val();
	selYear = $("#selExpiryYear").val();
	currentDate = new Date();
	currentMonth = currentDate.getMonth();
	currentDate.currentMonth = currentMonth + 1;
	currentYear = currentDate.getFullYear();

	if (currentYear < 1900) {
		currentYear = currentYear + 1900;
	}
	currentYear = currentYear - 2000;

	if ((selMonth < currentMonth) && (selYear <= currentYear)) {
		
		return false;
	}
	return true;
}

function goBack(){
	
	
}

function checkForBlank(objValue) {

	if (objValue == null || objValue == "" || "undefined" == objValue) {

		return false;
	}

	return true;

}
function checkForSpecChar(strName) {
	var strRegExp1 = new RegExp("[^A-Za-z]{1,}");
	strName = fTrimAndCheckBlank(strName);
	var nameArray = strName.split(" ");
	for ( var i = 0; i < nameArray.length; i++) {
		if (strRegExp1.test(nameArray[i])) {

			return false;
		}
	}
	return true;

}
//**********************************************************************************************************
//Function : fTrimAndCheckBlank()
//Inputs : strValue as String
//Description : To Trim leading and trailing whitespaces in an input string
//Outputs : strCheck as String
//**********************************************************************************************************
function fTrimAndCheckBlank(strValue) {

	var strCheck = new String;
	var intLength;
	strCheck = strValue;
if("undefined"!=typeof(strValue)){
	while (strCheck.substring(0, 1) == " ") {
		strCheck = strCheck.slice(1);
	}
	intLength = strCheck.length;
	while ((intLength > 0) && (strCheck.lastIndexOf(" ") == (intLength - 1))) {
		strCheck = strCheck.substring(0, intLength - 1);
		intLength = strCheck.length;
	}
	return strCheck;
}
}
//**********************************************************************************************************
//Function : fCardNumCheck()
//Inputs : CreditcardNumber
//Description : To validate the entered credit card number against the card
//type by calling
//checkCardNumber method of sfml_credit_card.js
//Outputs : boolean
//**********************************************************************************************************

function fCardNumCheck() {
	var strCreditCardNumber;
	var strCreditCardTypeInd;
	var strCreditCardType;
	var AmexCard;
	var strvalidCard;

	strCreditCardNumber = $("#txtCardNumber").val();
	strCreditCardType = "AX";

	if (strCreditCardNumber.length > 14
			&& (strCreditCardNumber.indexOf("X") != -1)) {
		return true;
	}

	switch (strCreditCardType) {
	case "AX":
		strvalidCard = new CardType("AmExCard", "34,37", "15");
		break;
	
	default:
		break;
	}

	if (strvalidCard.checkCardNumber(strCreditCardNumber) == false) {
		
		showFlag("txtCardNumber");

	} else if ((strCreditCardNumber.indexOf(" ") != -1)
			|| (isNaN(strCreditCardNumber))) {
	
		showFlag("txtCardNumber");
	} else

	if ((strCreditCardNumber != "") && (strCreditCardNumber.length < 14)) {
		
		showFlag("txtCardNumber");
	}
}
 function showFlag(obj){
	var objName=obj+"Flag";
	
	$("#"+objName).attr("innerHTML" ,"<img  src='/images/booking/error_exc_amex.gif' height=12px width=13px id='errFlag'>");
		
	$("#errorInfo").show('slow');
	submitForm=false;  
	
}
