var newPin1 = "";
var newPin2 = "";
var regAndVerification = "Your mChek Registration is successful, card verification is in progress. If you do not see a pop-up window, please enable pop-up and re-try.";
var verification = "Your card verification is in progress.   If you do not see a pop-up window, please enable pop-up and re-try.";
var operatorNotSupported = "This mobile number is not valid, please re-try with a valid mobile number.";
var processing = "Dear Customer, We are processing your request. Please wait... ";
var cardExists = "Dear Customer, the card details do not match our records. Please try with a valid card."
var popUpMessage = "Kindly enable pop-up for card verification.";
var popUpsBlocked = false;
var cardAlreadyExists = 'Sorry, the card that you are trying to register already exists with another customer. Please use a different card.'
var alreadyVerified = 'Dear Customer, this card is already verified.'
var invalidExpDate = 'Invalid Credit Card. Please enter correct Credit Card information.'

	function popUpBlocked(){	
var mine = window.open('','','width=1,height=1,left=200,top=200,scrollbars=no');
	if(mine)
		popUpsBlocked = false
	else
		var popUpsBlocked = true
	mine.close();	

	return popUpsBlocked;
}

function setUnCheckValue(){
	document.getElementById('termsAndConds').value = 'false';
}

function setCheckValue(){
	document.getElementById('termsAndConds').value = 'true';
}

function imgDiv() {
	document.getElementById('imgDiv').style.display = 'none';
	document.getElementById('popUpMessage').style.display = 'block';
	//document.getElementById('changeMsg').value = "New msg to be displayed";
	//document.getElementById('displayMessage').innerHTML = processing;
	//document.getElementById('displayMessage').style.display = 'block';
	//document.getElementById('mChekDiv').style.display = 'block';
}

function openMobileNumDiv(){
	document.getElementById('popUpMessage').style.display = 'none';
	document.getElementById('inputMobNumDiv').style.display = 'block';
}

function validatemobNumber() {
	var methodName = "initiateVbV";
	var phoneNumber = $("#mobileNumber").val();
	if (validateFields('phoneNumber', phoneNumber)) {
		var phoneNumber = "91" + phoneNumber;
		$
				.getJSON(
						'reginit.do',
						{
							method :methodName,
							customerId :phoneNumber,
							ajax :'true'
						},
						function(data) {
							document.getElementById('inputMobNumDiv').style.display = 'none';
							
							if(data.status == "reigstered"){
								document.getElementById('CreditCardNo').style.display = 'block';
							}else if(data.status == "unregistered" ||data.status == ""){
								document.getElementById('mChekPIN').style.display = 'block';
							}else if (data.status =="OperNotSupported"){
								document.getElementById('displayMessage').innerHTML = operatorNotSupported;
								document.getElementById('mChekDiv').style.display='block';
							}else{
								document.getElementById('CreditCardNo').style.display = 'block';
							}
						})

		methodName = "";
	}
}

function confirmPIN() {
	var tempPinEntered = "";
	var methodName = "verifySmsPin";
	tempPinEntered = $("#mchekPinSms").val();
	$.getJSON('checkPin.do', {
		method :methodName,
		tempPin :tempPinEntered,
		ajax :'true'
	}, function(data) {
		if (data.status == 'verified') {
			document.getElementById('mChekPIN').style.display = 'none';
			document.getElementById('NewmChekPIN').style.display = 'block';
		} else {
			alert("Please enter the 6 digit mChekPIN sent via sms.")
		}
	})
	methodName = "";
}

function NewPinConfirm() {
	newPin1 = document.getElementById('newPin').value;
	newPin2 = document.getElementById('newPin2').value;
	if (validateFields('mchekPin', newPin1)) {
		if (validateFields('mchekPin', newPin2)) {
			if (validateFields('mchekPinConfirm', newPin2)) {
				document.getElementById('NewmChekPIN').style.display = 'none';
				document.getElementById('CreditCardNo').style.display = 'block';
			}
		}
	}
}

function ccNumVerification() {
	var ccNumber = document.getElementById('CredCard').value;
	if (validateFields('ccNumber', ccNumber)) {
		document.getElementById('CreditCardNo').style.display = 'none';
		document.getElementById('ExpiryDate').style.display = 'block';
	}
}

function checkExpDate() {
	document.getElementById('ExpiryDate').style.display = 'none';
	document.getElementById('CVV').style.display = 'block';
}

function checkCVV() {
	var cvv_value = $("#cvv_value").val();
	var methodName = "registerCustomer";
	if (validateFields('cvv_value', cvv_value)) {
		document.getElementById('CVV').style.display = 'none';
		document.getElementById('mChekDiv').style.display = 'block';
		var phoneNumber = "91" + $("#mobileNumber").val();
		var creditCard = $("#CredCard").val();
		var cvv_value = $("#cvv_value").val();
		var expYear = $("#expYear").val();
		var expMonth = $("#expMonth").val();
		var userPin = $("#newPin2").val();
		$.getJSON('regcust.do', {
			method :methodName,
			customerId :phoneNumber,
			CCNumber :creditCard,
			cvv :cvv_value,
			expMonth :expMonth,
			expYear :expYear,
			tempPin :userPin,
			ajax :'true'
		}, function(data) {
			if (data.status == 'VBV' || data.status == 'VBVOnly' ){	
				if (data.status == 'VBV'){
						document.getElementById('displayMessage').innerHTML = regAndVerification;
				}if (data.status == 'VBVOnly'){
						document.getElementById('displayMessage').innerHTML = verification;
				}
				document.getElementById('mChekDiv').style.display='block';
				document.getElementById("vbvCheck").value = 'true';
				isSubmitVBV();
				setTimeout("closeFunc()",10000);
			}if(data.status == cardAlreadyExists || data.status == cardExists){
				document.getElementById('displayMessage').innerHTML = cardExists;
				document.getElementById('mChekDiv').style.display='block';
			}if (data.status == "VBVDone" || data.status == 'VBVDone'){
				document.getElementById('displayMessage').innerHTML = alreadyVerified;
				document.getElementById('mChekDiv').style.display='block';
			}if (data.status == invalidExpDate){
				document.getElementById('displayMessage').innerHTML = invalidExpDate;
				document.getElementById('mChekDiv').style.display='block';
			}
		})
	}
	methodName = "";
	//document.getElementById('mChekDiv').style.display = 'none';
	//document.getElementById('imgDiv').style.display = 'block';
}

function validateFields(field, fieldValue) {
	var errMsg = '';
	switch (field) {
	case 'phoneNumber':
		if (fieldValue == null || fieldValue == "") {
			errMsg += '- Mobile number cannot be empty\n';
		}
		if (isNaN(fieldValue)) {
			errMsg += '- Mobile number should be numeric\n';
		}
		if (fieldValue.length < 10 || fieldValue.length >= 11) {
			errMsg += '- Mobile number should be 10 digit long\n';
		}
		break;

	case 'NotnullableAmt':
		if (fieldValue == '')
			errMsg += "- Amount cannot be blank\n";
		if (isNaN(fieldValue) == true)
			errMsg += "- Amount should be numeric\n";
		break;

	case 'nullableAmt':
		if (isNaN(fieldValue) == true)
			errMsg += "- Amount should be numeric\n";
		break;

	case 'mchekPin':
		if (isNaN(fieldValue) == true)
			errMsg += "- Pin should be numeric\n";
		if (fieldValue.length < 6)
			errMsg += "- Pin should be 6 digits longs\n";
		break;

	case 'mchekPinConfirm':
		if (newPin1 != newPin2)
			errMsg += "- Pin values doesnt match";
		break;

	case 'ccNumber':
		if (isNaN(fieldValue) == true)
			errMsg += "- Credit card number should be numeric\n";
		if (fieldValue.length < 16)
			errMsg += "- Credit card number should be 16 digits longs\n";
		break;

	case 'cvv_value':
		if (isNaN(fieldValue) == true)
			errMsg += "- CVV should be numeric\n";
		if (fieldValue.length <= 2)
			errMsg += "- CVV can not be less than 3 digits\n";
		if (document.getElementById('termsAndConds').value !='true') 
			errMsg += "- Accept the terms and conditions\n";
		break;
	}
	if (errMsg != '') {
		message = '______________________________________________________\n\n'
		message += 'Following Information Required:\n';
		message += '______________________________________________________\n\n'
		message += errMsg;
		alert(message);
		return false;
	} else {
		return true;
	}
}

function cleanup(field) {
	switch (field) {
	case 'mobileNumber':
		if (isNaN(document.getElementById('mobileNumber').value))
			document.getElementById('mobileNumber').value = '';
		break;

	case 'mchekPinSms':
		if (isNaN(document.getElementById('mchekPinSms').value))
			document.getElementById('mchekPinSms').value = '';
		break;

	case 'newPin':
		if (isNaN(document.getElementById('newPin').value))
			document.getElementById('newPin').value = '';
		break;

	case 'newPin2':
		if (isNaN(document.getElementById('newPin2').value))
			document.getElementById('newPin2').value = '';
		break;

	case 'CredCard':
		if (isNaN(document.getElementById('CredCard').value))
			document.getElementById('CredCard').value = '';
		break;

	case 'cvv_value':
		if (isNaN(document.getElementById('cvv_value').value))
			document.getElementById('cvv_value').value = '';
		break;
	}
}

function closeFunc() {
	document.getElementById('imgDiv').style.display = 'block';
	document.getElementById('popUpMessage').style.display = 'none';
	document.getElementById('mChekPIN').style.display = 'none';
	document.getElementById('inputMobNumDiv').style.display = 'none';
	document.getElementById('NewmChekPIN').style.display = 'none';
	document.getElementById('CreditCardNo').style.display = 'none';
	document.getElementById('ExpiryDate').style.display = 'none';
	document.getElementById('CVV').style.display = 'none';
	document.getElementById('mChekDiv').style.display = 'none';
	
	document.getElementById('displayMessage').innerHTML=processing;
	document.getElementById('mobileNumber').value = "10 digits";
	document.getElementById('mchekPinSms').value = "";
	document.getElementById('newPin').value = "";
	document.getElementById('newPin2').value = "";
	document.getElementById('CredCard').value = "16 digits";
	document.getElementById('cvv_value').value='';
	document.getElementById('expYear').value = '';
	document.getElementById('expMonth').value = '';
}
http://localho
function postPopup() {
	// here we popup the new window, the second attribute have to be the same as
	// the form target attribute
	var vbvWindow = window
			.open(
					"vbv/submitVBVvalues.jsp",
					"vbv",
					"menubar=no,resizable=yes,left=225, top=200, toolbars=no,directories=no,width=800,height=400,dependent=yes,scrollbars=yes,status=no");
	vbvWindow.focus();
	return false;

	// we submit the form 50 milliseconds after so the browser creates the popup
	// setTimeout("document.getElementById(’postForm’).submit();",5);
	// setTimeout("document.getElementById(’submitVBVForm’).submit();",5)
	// we stop the regular form submit
}

function isSubmitVBV() {
	if (document.getElementById("vbvCheck").value == 'true') {
		postPopup();
	}
}
