/***************************************************************************************
 * @author diabetesvic
 * @date 15/10/2015
 * @description this file is use to get User information to registration
 ****************************************************************************************/
var memberForm = {
    /******* global declaration *******/
    memberData: {},
    MembershipType: ' ',
    validationFlag: false,
    withDonation:false,
    pageUrl: window.location.origin,
	userName:'',
	donTotal:0,
    titleId: document.getElementById("title"),
    diabetesType: document.getElementById("diabetesTypesId"),
    diabetesTypes: document.getElementsByName("diabetesTypes"),
    languages: document.getElementById("language"),
    specialConsider: document.getElementById("speConsiderationId"),
    conCardType: document.getElementById("consCardType"),
    specialConsideration: document.getElementsByName("specialConsideration"),
    getUrlParameter: function(name, url) {
        var url = decodeURI(url);
        name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
        var regexS = "[\\?&]" + name + "=([^&#]*)";
        var regex = new RegExp(regexS);
        var results = regex.exec(url);
        return results == null ? null : results[1];
    },
    /******* call to salesForce *******/
    becomeMember: function(usermemberFormDetails) {
        $.orchestracmsRestProxy.doAjaxServiceRequest('DV_OCMS_BecomeMember_Service', usermemberFormDetails, function(testStatus, json, xhr) {
            console.log(json);
            if (json.success) {
                memberForm.memberData = json;
                var userCons = memberForm.getUrlParameter('userCons', this.location.href);
                if (userCons) {
                    $("span.typPkg").html('' + memberForm.capitalizeFirstLetter(decodeURIComponent(userCons)));
                }
                $("span#pkgMem").html('$' + memberForm.memberData.MemberPrice.Price);
				if(memberForm.memberData.MemberPrice.Price > 0){
					$("#paymentBlock").show();
				}else{
					$("#paymentBlock").hide();
				}

              /*  if (memberForm.titleId) {
					if(memberForm.memberData.Salutation.length > 0){
						for (var i = 0; i < memberForm.memberData.Salutation.length; i++) {
							optValue = memberForm.memberData.Salutation[i].PicklistVal;
							option = memberForm.crtElement("option", "value", optValue, "", "", optValue);
							memberForm.titleId.appendChild(option);
						}
						memberForm.titleId.value="Mr.";
					}
                } */
                if (memberForm.diabetesType) {
                    for (var i = 0; i < memberForm.memberData.DA_Diabetes_Type__c.length; i++) {

                        optValue = memberForm.memberData.DA_Diabetes_Type__c[i].PicklistVal;
                        li = memberForm.crtElement("li", "", "", "", "", optValue);
                        input = memberForm.crtElement("input", "type", "radio", "name", "diabetesTypes","", "value", optValue);
                        li.appendChild(input);
                        memberForm.diabetesType.appendChild(li);
                    }
                }
                /************ special consideration  specialConsider**********/
                if (memberForm.specialConsider) {
                    for (var i = 0; i < memberForm.memberData.Special_Consideration__c.length; i++) {
                        optValue = memberForm.memberData.Special_Consideration__c[i].PicklistVal;
                        li = memberForm.crtElement("li", "", "", "", "", optValue);
                        input = memberForm.crtElement("input", "type", "checkbox", "name", "specialConsideration","","value", optValue);
                        li.appendChild(input);
                        memberForm.specialConsider.appendChild(li);
                    }
                }
                if (memberForm.conCardType) {
                    for (var i = 0; i < memberForm.memberData.Concession_Cards__c.length; i++) {
                        optValue = memberForm.memberData.Concession_Cards__c[i].PicklistVal;
                        option = memberForm.crtElement("option", "value", optValue, "", "", optValue);
                        memberForm.conCardType.appendChild(option);
                    }
                }
                /******** Languages ********/
                if (memberForm.languages) {
                    for (var j = 0; j < memberForm.memberData.Language_Spoken_Home__c.length; j++) {
                        optValue = memberForm.memberData.Language_Spoken_Home__c[j].PicklistVal;
                        option = memberForm.crtElement("option", "value", optValue, "", "", optValue);
                        memberForm.languages.appendChild(option);
                    }
                    memberForm.languages.value = "English";
                }
                if (memberForm.memberData.MemberPrice.Price && memberForm.memberData.MemberPrice.Price != "") {
                    $('#membershipPrice').val(memberForm.memberData.MemberPrice.Price);
                    $('#totalPrice').val(memberForm.memberData.MemberPrice.Price);
					memberForm.donTotal=memberForm.memberData.MemberPrice.Price;
					if(memberForm.donTotal==0){
						$('#paymentBlock').hide();
					}
                }
				if(memberForm.memberData.UserDetail !== "" && memberForm.memberData.UserDetail !== undefined){
					memberForm.loginDetail();
				}
            }
        }, null, false);
    },
	loginDetail:function(){
		if(memberForm.memberData.UserDetail.PersonTitle !== "" && memberForm.memberData.UserDetail.PersonTitle !== undefined){
			$('#title').val(memberForm.memberData.UserDetail.PersonTitle);
		}
		if(memberForm.memberData.UserDetail.FirstName !== "" && memberForm.memberData.UserDetail.FirstName !== undefined){
			$('#firstName').val(memberForm.memberData.UserDetail.FirstName);
		}
		if(memberForm.memberData.UserDetail.LastName !== "" && memberForm.memberData.UserDetail.LastName !== undefined){
			$('#lastName').val(memberForm.memberData.UserDetail.LastName);
		}
		if(memberForm.memberData.UserDetail.PersonEmail !== "" && memberForm.memberData.UserDetail.PersonEmail !== undefined){
			$('#email').val(memberForm.memberData.UserDetail.PersonEmail);
		}
		if(memberForm.memberData.UserDetail.Date_of_Birth__c !== "" && memberForm.memberData.UserDetail.Date_of_Birth__c !== undefined){
			$('#dob').val(memberForm.dateFormat(memberForm.memberData.UserDetail.Date_of_Birth__c));
		}
		if(memberForm.memberData.UserDetail.Phone !== "" && memberForm.memberData.UserDetail.Phone !== undefined){
			$('#phone').val(memberForm.memberData.UserDetail.Phone);
		}
		if(memberForm.memberData.UserDetail.PersonMobilePhone !== "" && memberForm.memberData.UserDetail.PersonMobilePhone !== undefined){
			$('#mobile').val(memberForm.memberData.UserDetail.PersonMobilePhone);
		}
		if(memberForm.memberData.UserDetail.BillingStreet !== "" && memberForm.memberData.UserDetail.BillingStreet !== undefined){
            $('#address').val(memberForm.memberData.UserDetail.BillingStreet);
        }
        if(memberForm.memberData.UserDetail.BillingCity !== "" && memberForm.memberData.UserDetail.BillingCity !== undefined){
            $('#city').val(memberForm.memberData.UserDetail.BillingCity);
        }
        if(memberForm.memberData.UserDetail.BillingState !== "" && memberForm.memberData.UserDetail.BillingState !== undefined){
            $('#state').val(memberForm.memberData.UserDetail.BillingState);
        }
        if(memberForm.memberData.UserDetail.BillingPostalCode !== "" && memberForm.memberData.UserDetail.BillingPostalCode !== undefined){
            $('#postCode').val(memberForm.memberData.UserDetail.BillingPostalCode);
        }
		if(memberForm.memberData.UserDetail.Language_Spoken_Home__c !== "" && memberForm.memberData.UserDetail.Language_Spoken_Home__c !== undefined){
			$('#language').val(memberForm.memberData.UserDetail.Language_Spoken_Home__c);
		}
		if(memberForm.memberData.UserDetail.DA_Occupation__c !== "" && memberForm.memberData.UserDetail.DA_Occupation__c !== undefined){
			$('#occupation').val(memberForm.memberData.UserDetail.DA_Occupation__c);
		}
		if(memberForm.memberData.UserDetail.Concession_Cards__c !== "" && memberForm.memberData.UserDetail.Concession_Cards__c !== undefined){
			$('#consCardType').val(memberForm.memberData.UserDetail.Concession_Cards__c);
		}
		if(memberForm.memberData.UserDetail.Concession_Card_Number__c !== "" && memberForm.memberData.UserDetail.Concession_Card_Number__c !== undefined){
			$('#consCardNum').val(memberForm.memberData.UserDetail.Concession_Card_Number__c);
		}
		if(memberForm.memberData.UserDetail.DA_Concession_expiry_Date__c !== "" && memberForm.memberData.UserDetail.DA_Concession_expiry_Date__c !== undefined){
			$('#consExpDate').val(memberForm.dateFormat(memberForm.memberData.UserDetail.DA_Concession_expiry_Date__c));
		}
		if(memberForm.memberData.SelectedSpCon !== undefined && memberForm.memberData.SelectedSpCon.length > 0){
			for(var i=0;i<memberForm.memberData.SelectedSpCon.length;i++){
				$('input[type="checkbox"][name="specialConsideration"][value="'+memberForm.memberData.SelectedSpCon[i].SpConSelected+'"]').prop("checked","true");
			}
		}
		if(memberForm.memberData.UserDetail.DA_Diabetes_Type__c !== "" && memberForm.memberData.UserDetail.DA_Diabetes_Type__c !== undefined){
			$('input[type="radio"][name="diabetesTypes"][value="'+memberForm.memberData.UserDetail.DA_Diabetes_Type__c+'"]').prop("checked","true");
		}

	},
	dateFormat:function(nDate){
        var aDate=new Date(nDate);
        var day=("0" + aDate.getDate()).slice(-2);
        var month=("0" + (aDate.getMonth()+1)).slice(-2);
        return day+"/"+month+"/"+aDate.getFullYear();
    },
    resendData: function(json) {
        var newMemberForm = json;
        newMemberForm["action"] = 'BecomeMemberRetry';
        newMemberForm["withDonation"]=memberForm.withDonation;
        newMemberForm['AccountId'] = newMemberForm.Member.AccountId;
        newMemberForm["Amount"] = newMemberForm.Member.Amount;
        newMemberForm['ApexJobId'] = newMemberForm.Member.ApexJobId;
        newMemberForm['OppId'] = newMemberForm.Member.OppId;
        newMemberForm['firstTime'] = newMemberForm.Member.firstTime;
        console.log("resendData", newMemberForm);
        memberForm.memberDataSubmit(newMemberForm);
    },
    memberDataSubmit: function(usermemberFormDetails) {
        console.log("Form data before Call", usermemberFormDetails);
        $.orchestracmsRestProxy.doAjaxServiceRequest('DV_OCMS_BecomeMember_Service', usermemberFormDetails, function(testStatus, json, xhr) {
			console.log(json);
            if (json.success) {
                if (json.Member.Message) {
					grecaptcha.reset();
                    alert(json.Member.Message);
                    $('#showLoader').hide();
                }
                if (json.Member.Redirect){
                window.location.href=memberForm.pageUrl+'/Thank-You?tags=Thank%20you/Become a Member&uname='+memberForm.userName+'&consType='+memberForm.MembershipType;
                $('#showLoader').hide();
				}
                if (json.Member.firstTime) {
                    $('#showLoader').show();
                    setTimeout(function() {
                        console.log("first loop");
                        memberForm.resendData(json)
                    }, 40000);
                }
            } else if(json.Fraudarant_Opportunity){
				window.location.href = '/Payment-Error';
			}else{
                console.log(json);
				grecaptcha.reset();
                if (json.Member.Message) {
                    alert(json.Member.Message);
					$('#showLoader').hide();
                } else {
                    alert("Failed to Payment");
					 $('#showLoader').hide();
                }
            }
        }, null, false);
    },
    crtElement: function(tagName, attrName, attrValue, secAttr, secValue, tagText, thrAttr, thrValue) {
        var tag = document.createElement(tagName);
        if (attrName != "") {
            tag.setAttribute(attrName, attrValue);
        }
        if (secAttr != "" && secAttr != undefined && secValue != "" && secValue !=undefined) {
            tag.setAttribute(secAttr, secValue);
        }
        if (tagText != undefined || tagText != "") {
            var text = document.createTextNode(tagText);
            tag.appendChild(text);
        }
        if (thrAttr != "" && thrAttr != undefined && thrValue != "" && thrValue != undefined) {
            tag.setAttribute(thrAttr, thrValue);
        }
        return tag;
    },
    checkNullObj: function(itemID) {
        var valueOfRecord = $('#' + itemID).val();
        if (valueOfRecord) {
            return valueOfRecord;
        } else {
            return "";
        }
    },
    checkboxforConsideration: function(holder) {
        var speConValues = '';
        for (var i = 0; i < holder.length; i++) {
            if (holder[i].checked) {
                //speConValues.push(holder[i].value+";");
                speConValues = speConValues + holder[i].value + ";";
            }
        }
        return speConValues;
    },
    checkboxfordiabetes: function(holder) {
        var speConValues = '';
        for (var i = 0; i < holder.length; i++) {
            if (holder[i].checked) {
                //speConValues.push(holder[i].value+";");
                speConValues = speConValues + holder[i].value;
            }
        }
        return speConValues;
    },
    phoneValidation: function(values) {
        /*** Member Phone True *******/
        intRegex = /[0-9 -()+]+$/;
        if (values.length > 0) {

            if ((values.length == 10) && intRegex.test(values)) {
                //eventDetails.validationFlag = true;
            } else {
                memberForm.validationFlag = false;
            }
        }
    },
    emailValidation: function(values) {
        intRegex = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
        var emailflag = intRegex.test(values);
        if (!emailflag) {
            memberForm.validationFlag = false;
        }
    },
	capitalizeFirstLetter:function (string) {
    return string.charAt(0).toUpperCase() + string.slice(1);
	},
    getUrlParameter: function(name, url) {
        if (!url) url = location.href;
        name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
        var regexS = "[\\?&]" + name + "=([^&#]*)";
        var regex = new RegExp(regexS);
        var results = regex.exec(url);
        return results == null ? null : results[1];
    },
    totalWithDonation: function(){
        this.value = this.value.replace(/[^0-9.]/g, '').substring(0, 10);
        var donation = parseFloat($(this).val());
        //memberForm.donTotal = 0.00;
        if (!isNaN(donation)){
			if( this.value ==0 || this.value==""){ $('#paymentBlock').hide();}
           memberForm.donTotal = parseFloat($('#membershipPrice').val());
            memberForm.donTotal = memberForm.donTotal + donation;
            $('#totalPrice').val(parseFloat(memberForm.donTotal));
			$('#paymentBlock').show();
        } else {
			if($('#totalPrice').val()==0){ $('#paymentBlock').hide();}
				memberForm.donTotal=parseFloat($('#membershipPrice').val());
            $('#totalPrice').val(parseFloat($('#membershipPrice').val()));
			//$('#hdddd').hide();
        }
    },
    validateMemberDetail: function() {
        // var title = memberForm.checkNullObj($('#titleId'));
        // if(title == ""){
        // alert("Title is required");
        // return true;
        // }

        var fname = memberForm.checkNullObj('firstName');
        if (fname == "") {
            alert("First Name is required.");
            return true;
        }

        var lname = memberForm.checkNullObj('lastName');
        if (lname == "") {
            alert("Last Name is required.");
            return true;
        }
        var email = memberForm.checkNullObj('email');
        memberForm.validationFlag = true;
        if (email == "") {
            alert("Email is required.");
            return true;
        } else {
            memberForm.emailValidation(email);
            if (!memberForm.validationFlag) {
                alert("Enter valid Email Address.");
                return true;
            }
        }
        /***** check for retype Email match or not ******/
        var reEmail = memberForm.checkNullObj('reEmail');
        memberForm.validationFlag = true;
        if (reEmail == "") {
            alert("Retype Email is required.");
            return true;
        } else {
            memberForm.emailValidation(reEmail);
            if (!memberForm.validationFlag) {
                alert("Enter valid Email Address.");
                return true;
            }
        }
        if (reEmail != email) {
            alert("Email and Retype email address should be same");
            return true;
        }
        var dob = memberForm.checkNullObj('dob');
		//console.log("new date of birth",dob);
        if (dob == ""){
           // console.log("new date of birth",dob);
			alert("Date of birth is required");
            return true;
        }else{
			var date1 = new Date(memberForm.memberData.MemberPrice.TodaysDate);
			var date2 = new Date(dob);
			var timeDiff = Math.abs(date2.getTime() - date1.getTime());
			console.log(dob, date1);
			if (date2.getTime() > date1.getTime()) {
				//$(this).removeClass('required');
			//} else {
				$('#dob').addClass('required');
				$('#dob').val(null);
				alert("Birth Date should be less than current date.");
				return true;
			}else{
				$('#dob').removeClass('required');
			}
		}
		//memberForm.dateOfBirthValidation(dob);


        var contact = memberForm.checkNullObj('phone');
        memberForm.validationFlag = true;
        if (contact == "") {
            alert("Please enter a phone number.");
            return true;
        } else {
            memberForm.phoneValidation(contact);
            if (!memberForm.validationFlag) {
                alert("Please enter a phone number.");
                return true;
            }
        }
        var mobile = memberForm.checkNullObj('mobile');
        memberForm.validationFlag = true;
        if (mobile == "") {

        } else {
            memberForm.phoneValidation(mobile);
            if (!memberForm.validationFlag) {
                alert("Please enter a Mobile number.");
                return true;
            }
        }
        var addressOne = memberForm.checkNullObj('address');
        if (addressOne == "") {
            alert("Address is required");
            return true;
        }

        var cityName = memberForm.checkNullObj('city');
        if (cityName == "") {
            alert("City Name is required");
            return true;
        }

        var stateName = memberForm.checkNullObj('state');
        if (stateName == "") {
            alert("State is required");
            return true;
        }

        var postCode = memberForm.checkNullObj('postCode');
        if (postCode == "") {
            alert("Postcode is required");
            return true;
        }

        var diabetesType = $('input[name="diabetesTypes"]:checked');
        if (diabetesType.length > 0) {
        } else {
        alert("Diabetes Type is required");
            return true;
        }

        // var occu = memberForm.checkNullObj('occupation');
        // if (occu == "") {
            // alert("Occupation is required");
            // return true;
        // }
		if(memberForm.MembershipType=='concession'){
			var creditCardType = memberForm.checkNullObj('consCardType');
			if (creditCardType == "" && creditCardType == "pls") {
				alert("Please select a concession card type.");
				return true;
			}
			var creditCardNum = memberForm.checkNullObj('consCardNum');
			if (creditCardNum == "") {
				alert("Please enter concession card Number.");
				return true;
			}
			var cMonth = memberForm.checkNullObj('consExpDate');
			if (cMonth == ""){
				alert("Please select expiry date.");
				return true;
			}else{
			var date1 = new Date(memberForm.memberData.MemberPrice.TodaysDate);
			var date2 = new Date(cMonth);
			var timeDiff = Math.abs(date2.getTime() - date1.getTime());
			console.log(dob, date1);
			if (date2.getTime() < date1.getTime()) {
				//$(this).removeClass('required');
			//} else {
				//$('#dob').addClass('required');
				$('#consExpDate').val(null);
				alert("Card Expiry Date should be greater than current date.");
				return true;
			}else{
				//$('#consExpDate').removeClass('required');
				}
			}
		}
		if(memberForm.donTotal > 0){
			var creditCardType = memberForm.checkNullObj('creditCardType');
			if (creditCardType == "" && creditCardType == "pls") {
				alert("Please select a card type.");
				return true;
			}

			var cardHName = memberForm.checkNullObj('creditHName');
			if (cardHName == "") {
				alert("Card Holder Name is required.");
				return true;
			}
			var creditCardNum = memberForm.checkNullObj('creditCardNum');
			if (creditCardNum == "") {
				alert("Please enter credit card Number.");
				return true;
			}

			var cMonth = memberForm.checkNullObj('cMonth');
			if (cMonth == "" && cMonth == "month") {
				alert("Please select expiry month.");
				return true;
			}
			var cYear = memberForm.checkNullObj('cYear');
			if (cYear == "" && cYear == "Year") {
				alert("Please select expiry Year.");
				return true;
			}

			var cvv = memberForm.checkNullObj('cvv');
			if (cvv == "") {
				alert("Please enter CVV Number.");
				return true;
			}
		}

		if(grecaptcha.getResponse() == ""){
			alert("Please select I'm not a robot.");
			return true;
		}

        return false;
    },
	/****** if Member type Concession *********/
	requireLabel:function(){
		$('#consCardLabel').text('Concession card type *');
		$('#consNoLabel').text('Concession Card number *');
		$('#consExpLabel').text('Card Expiry date *');
	},
    dateOfBirthValidation: function(valed) {
        var val = valed; //$(this).val();
        var date1 = new Date(memberForm.memberData.MemberPrice.TodaysDate);
        var date2 = new Date(val);
        var timeDiff = Math.abs(date2.getTime() - date1.getTime());
        console.log(val, date1);
        if (date2.getTime() < date1.getTime()) {
            $(this).removeClass('required');
        } else {
            $(this).addClass('required');
            $(this).val(null);
            alert("Date should be less than current date");
			return true;
        }
    },
	checkBoxValues:function(tagName){
		var a=$("input[type='checkbox'][name='"+tagName+"']:checked");
		var chk='';
		if(a.length > 0){
			if(a.length > 1){
				for(var i=0;i< a.length;i++){
					chk=chk + a[i].value + ";";
				}
			}else{
				chk = a.val();
			}
		}else{
			chk='';
		}
		return chk;
	},
    concessionDateValidation: function() {
        var val = $(this).val();
        var date1 = new Date(memberForm.memberData.MemberPrice.TodaysDate);
        var date2 = new Date(val);
        var timeDiff = Math.abs(date2.getTime() - date1.getTime());
        console.log(val, date1);
        if (date2.getTime() > date1.getTime()) {
            $(this).removeClass('required');
        } else {
            $(this).addClass('required');
            $(this).val(null);
            alert("Date should be greater than current date");
        }
    },
    checkPhoneValidation: function() {
        this.value = this.value.replace(/[^0-9.]/g, '').substring(0, 10);
    },
    checkcardValidation: function() {
        this.value = this.value.replace(/[^0-9.]/g, '').substring(0, 16);
    },
    checkCvvValidation: function() {
        this.value = this.value.replace(/[^0-9.]/g, '').substring(0, 4);
    },
	concessionCardValidation: function(current) {
        this.value = this.value.substring(0, 16);
    },
    submitMemberData: function() {
		$('#showLoader').show();
        var memberDataSend = {};
        if (memberForm.validateMemberDetail()) {
            $("#showLoader").hide();
            return;
        }
		$('#showLoader #loading-content').text("");
		$('#loading-content').append('<p>Your submission is processing. Please do not resubmit or press the browser back button. Please wait...</p>');
        memberDataSend['action'] = "BecomeMember";
        memberDataSend['Title'] = memberForm.checkNullObj('title');
        memberDataSend['FirstName'] = memberForm.checkNullObj('firstName');
        memberDataSend['LastName'] = memberForm.checkNullObj('lastName');
		memberForm.userName=memberDataSend['FirstName']+' '+memberDataSend['LastName'];
        memberDataSend['Address'] = memberForm.checkNullObj('address');
        memberDataSend['City'] = memberForm.checkNullObj('city');
        memberDataSend['State'] = memberForm.checkNullObj('state');
        memberDataSend['Email'] = memberForm.checkNullObj('email');
        memberDataSend['reEmail'] = memberForm.checkNullObj('reEmail');
        memberDataSend['Phone'] = memberForm.checkNullObj('phone');
        memberDataSend['Mobile'] = memberForm.checkNullObj('mobile');
        memberDataSend['Dob'] = formatDate($('#dob').val()) ;// memberForm.checkNullObj('dob');
        memberDataSend['Occupation'] = memberForm.checkNullObj('occupation');
        memberDataSend['PostCode'] = memberForm.checkNullObj('postCode');
        memberDataSend['Language'] = memberForm.checkNullObj('language');
        memberDataSend['consCardType'] = memberForm.checkNullObj('consCardType');
		if(memberDataSend['consCardType']=='pls'){memberDataSend['consCardType'] =""; };
        memberDataSend['consCardNum'] = memberForm.checkNullObj('consCardNum');
        memberDataSend['consExpDate'] = formatDate($('#consExpDate').val());//memberForm.checkNullObj('consExpDate');
        memberDataSend['DiabetesType'] = memberForm.checkboxfordiabetes(memberForm.diabetesTypes);
        memberDataSend['SpConsideration'] = memberForm.checkboxforConsideration(memberForm.specialConsideration);
        memberDataSend['MembershipPrice'] = memberForm.checkNullObj('membershipPrice');
        memberDataSend['DonationAmount'] = memberForm.checkNullObj('donationAmount');
        if(memberDataSend['DonationAmount']!=="" && memberDataSend['DonationAmount'] > 0){
            memberForm.withDonation=true;
        }
        memberDataSend['TotalAmount'] = memberForm.checkNullObj('totalPrice');
        memberDataSend['creditCardType'] = memberForm.checkNullObj('creditCardType');
        memberDataSend['creditHName'] = memberForm.checkNullObj('creditHName');
        memberDataSend['creditCardNum'] = memberForm.checkNullObj('creditCardNum');
        memberDataSend['ExpMonth'] = memberForm.checkNullObj('cMonth');
        memberDataSend['ExpYear'] = memberForm.checkNullObj('cYear');
        memberDataSend['ccv'] = memberForm.checkNullObj('cvv');
		memberDataSend['magazine'] = memberForm.checkBoxValues('magazine');
		memberDataSend['optOut'] = memberForm.checkBoxValues('optOut');
        memberDataSend['MembershipType'] = memberForm.MembershipType;
		memberDataSend["reCaptchaResponse"] = grecaptcha.getResponse();
		memberDataSend["checkReCaptcha"] = "true";
        memberForm.memberDataSubmit(memberDataSend);

        //memberForm.updatememberForm(memberDataSend);
    },
    eventListener: function() {
        $(document).on("click", "#memberSubmit", memberForm.submitMemberData);
        $(document).on("keyup", "#donationAmount", memberForm.totalWithDonation);
        $(document).on("keyup", "#phone", memberForm.checkPhoneValidation);
        $(document).on("keyup", "#mobile", memberForm.checkPhoneValidation);
		$(document).on("keyup", "#consCardNum", memberForm.concessionCardValidation);
        $("#creditCardNum").unbind('keyup');
        $(document).on("keyup", "#creditCardNum", memberForm.checkcardValidation);
        $(document).on("keyup", "#cvv", memberForm.checkCvvValidation);
		//$(document).on("keyup", "#consCardNum", memberForm.checkcardValidation);

        // $("#dob").unbind('change');
        // $("#dob").bind('change', memberForm.dateOfBirthValidation);
        // $("#consExpDate").unbind('change');
        // $("#consExpDate").bind('change', memberForm.concessionDateValidation);
    },
	populateExpiryMonthYear : function(monthInputId, yearInputId) {

		//First of all, we need to empty the state dropdown
		var list = document.getElementById(monthInputId);
		var yearList = document.getElementById(yearInputId);

		// empty the list
		if(list != null) {
			for (i = 1 ; i < list.options.length ; i++) {
				list.options[i] = null;
			}
		}

		if(yearList != null) {
			for (i = 1 ; i < yearList.options.length ; i++) {
				yearList.options[i] = null;
			}
		}

		if(list != null) {
			var i = 0;
			var todayDate = new Date();
			var currentMonth = todayDate.getMonth();
			var currentYear = todayDate.getFullYear();

			list.options[i++] = new Option('January', '01');
			list.options[i++] = new Option('February', '02');
			list.options[i++] = new Option('March', '03');
			list.options[i++] = new Option('April', '04');
			list.options[i++] = new Option('May', '05');
			list.options[i++] = new Option('June', '06');
			list.options[i++] = new Option('July', '07');
			list.options[i++] = new Option('August', '08');
			list.options[i++] = new Option('September', '09');
			list.options[i++] = new Option('October', '10');
			list.options[i++] = new Option('November', '11');
			list.options[i++] = new Option('December', '12');

			for(var j = 0; j < 12; j++) {
				if(j == currentMonth) {
					$(monthInputId).val(list.options[j].value);
				}
			}

			i = 0;

			for(var year = currentYear; year < currentYear + 10; year++) {
					yearList.options[i++] = new Option(year, year.toString().substring(2, 4));
					if(year == currentYear) {
						$(yearInputId).val(year);
					}
			}
		}
	}
};

$(document).ready(function() {
    //if(url.match("become-a-member-form"))
    if ($('#becomeMember').length > 0) {
        var url = window.location.href;
        memberForm.MembershipType = memberForm.getUrlParameter("userCons", url);
        var userMemberForm = {
            "action": 'GetDynamicFields',
            "MemberType": memberForm.MembershipType
        };
        memberForm.becomeMember(userMemberForm);
        memberForm.eventListener();
		if(memberForm.MembershipType=='concession'){
			memberForm.requireLabel();
		}
		var FromEndDate = new Date();
		$('#dob').datepicker({
                    format: "dd/mm/yyyy",
					endDate: FromEndDate
                });
		$('#consExpDate').datepicker({
			format: "dd/mm/yyyy",
			startDate: '+1d'
		});
		memberForm.populateExpiryMonthYear("cMonth","cYear");
    }
});
