jQuery(document).ready(function () {
    jQuery("#btnOlympSubmit").click(function () {
        SaveOlympicSurvey();
    });

    jQuery("#btnMDCSubmit").click(function () {
        SaveMothersDayContestSurvey();
    });
});

function ValidateEmail() {
    var validEmail = jQuery("#aspnetForm").validate().element("#txtEmailAddrUnsub");

    if (validEmail) {
        var guid_re = /^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}/
        var puid = GetQueryStringValue("puid").toUpperCase();

        if (guid_re.exec(puid)) {
            if (EmailBelongsToUserId(jQuery('#txtEmailAddrUnsub').val(), puid, true)) {
                jQuery("#emailConfirm").hide();
                jQuery("#subscriptions").show();
            }
            else {
                ShowMessageModal(content_unsub1, content_unsub8);
            }
        }
        else {
            ShowMessageModal(content_unsub1, content_unsub8);
        }
    }
}

function ClearRegFields() {
    jQuery('#txtFirstName').val('');
    jQuery('#txtLastName').val('');
    jQuery('#txtNickName').val('');
    jQuery('#txtEmail').val('');
    jQuery('#txtPassword').val('');
    jQuery('#txtPostal').val('');
    jQuery("#txtEmailConfirm").val('');
    jQuery("#txtPasswordConfirm").val('');

    jQuery("#ddlMembers").val('');

    jQuery("#txtStreetAddress1").val('');
    jQuery("#txtStreetAddress2").val('');
    jQuery("#txtCity").val('');
    jQuery("#ddlProvince").val('0');

    jQuery("#ddlDOBMonth").val('0');
    jQuery("#ddlDOBDay").val('0');
    jQuery("#ddlDOBYear").val('0');
    jQuery('#txtZeroFive').val('');
    jQuery('#txtSixTwelve').val('');
    jQuery('#txtThirteen').val('');
    jQuery('#txtEighteen').val('');

    jQuery("#rbEnglish").attr("checked", false);
    jQuery("#rbFrench").attr("checked", false);
    jQuery("#rbGenderM").attr("checked", false);
    jQuery("#rbGenderF").attr("checked", false);
    jQuery("#rbChildren1").attr("checked", false);
    jQuery("#rbChildren2").attr("checked", false);

    jQuery("#regChildren").css("display", "none");
    jQuery("#regNumberChildren").css("display", "none");
}

//function to sign in a user
function SignIn(username, password, remembered) {
    var dataString = '{"username":"' + JSONEncode(username) + '", "password":"' + JSONEncode(password) + '", "remembered":"' + remembered + '", "prevUrl":"' + document.referrer + '"}';

    CallServiceMethod("/services/UserManagement.asmx/Authenticate", dataString,
				      function (msg) {
				          if (msg.d != 0) {
				              {

				                  SignInWidget();

				                  CallServiceMethod("/services/UserManagement.asmx/GetUserLanguage", '{}',
				      function (msg) {
				          var subscribed = eval(msg.d);

				          ChangeLanguage("", subscribed);

				      },
				      function (xhr, status, error) {
				          var err = xhr.responseText;
				          document.write(err);
				      });

				              }

				              if (typeof RefreshPageComponents == 'function') {
				                  try {
				                      var pageTracker = _gat._getTracker("UA-9789874-5");
				                      var customVariableCookie = pageTracker._getVisitorCustomVar(1);
				                      if (typeof (customVariableCookie) != 'undefined') {
				                          if (customVariableCookie == 'Not-Registered') {
				                              pageTracker._setCustomVar(
                                                1,
                                                "Type-Of-Members",
                                                "Registered",
                                                1
                                            );
				                          }
				                      }
				                  } catch (err) { }
				                  RefreshPageComponents();
				              }

				              if (typeof SetupNewsletterWidget == 'function') {
				                  //reset the newsletter widget
				                  SetupNewsletterWidget(content_subscribeWidget2, content_subscribeWidget1);
				                  SetupGFNewsletterWidget(content_GFsubscribeWidget2, content_GFsubscribeWidget1);
				              }

				              if (typeof InitializePollRandomly == 'function') {
				                  //setup the poll upon sign in
				                  InitializePollRandomly("POLLS");
				              }

				              if (!remembered) {
				                  jQuery("#modalSignIn").jqmHide();
				              }
				          }
				          else {
				              jQuery("#loginErrorMessage").html(javascript11);
				          }
				      },
				      function (xhr, status, error) {
				          var err = xhr.responseText;
				          document.write(err);
				      });
}

//function to sign out a user
function SignOut() {
    CallServiceMethod("/services/UserManagement.asmx/SignOut", '{}',
				      function (msg) {
				          SignOutWidget();
				      },
				      function (xhr, status, error) {
				          var err = xhr.responseText;
				          document.write(err);
				      });
}

function IsUserSignedIn(SignedIn, NotSignedIn) {
    CallServiceMethod("/services/UserManagement.asmx/IsUserLoggedIn", '{}',
				      function (msg) {
				          if (msg.d) {
				              SignedIn();
				          }
				          else {
				              NotSignedIn();
				          }
				      },
				      function (xhr, status, error) {
				          var err = xhr.responseText;
				          document.write(err);
				      });
}

function CheckRNLState() {
    var stateExists = false;

    if (jQuery.cookie('RNLUserUID') != null && jQuery.cookie('RNLUserUID') != '') {
        CallServiceMethod("/services/UserManagement.asmx/CheckRNLSession", '{}',
            function (msg) {
                stateExists = msg.d;
            },
            function (xhr, status, error) {
            });
    }

    return stateExists;
}

function CreateRNLState() {
    if (jQuery.cookie('RNLUserUID') != null && jQuery.cookie('RNLUserUID') != '') {
        var userUID = jQuery.cookie('RNLUserUID');
        CallServiceMethod("/services/UserManagement.asmx/CreateRNLSession", '{"identifier":"' + userUID + '", "prevURL":"' + document.referrer + '"}',
				          function (msg) {
				          },
				          function (xhr, status, error) {
				              var err = xhr.responseText;
				              document.write(err);
				          });
    }
}

function CreateAnonymousUserState() {
    CallServiceMethod("/services/UserManagement.asmx/CreateAnonymousUserSession", '{"previousUrl":"' + document.referrer + '"}',
			          function (msg) {
			          },
			          function (xhr, status, error) {
			              var err = xhr.responseText;
			              document.write(err);
			          });
}

function IsPowerUser(PowerUser, NotPowerUser) {
    CallServiceMethod('/services/UserManagement.asmx/IsPowerUser', '{}',
        function (msg) {
            if (msg.d) {
                PowerUser();
            }
            else {
                NotPowerUser();
            }
        },
        function (xhr, status, error) {
            var err = xhr.responseText;
            document.write(err);
        });
}

//function to sign out a user
function GetUserDetails(codeToExecute) {
    var dataString = "{}";
    CallServiceMethod("/services/UserManagement.asmx/GetUserDetails", dataString,
				      function (msg) {
				          var details = eval("(" + msg.d + ")")

				          codeToExecute(details);
				      },
				      function (xhr, status, error) {
				          var err = xhr.responseText;
				          document.write(err);
				      });
}

//retrieves the reg household survey
function GetRegSurvey(codeToExecute) {
    CallServiceMethod("/services/UserManagement.asmx/GetRegSurvey", '{}',
				      function (msg) {
				          var answers = eval("(" + msg.d + ")")

				          codeToExecute(answers);
				      },
				      function (xhr, status, error) {
				          var err = xhr.responseText;
				          document.write(err);
				      });
}

function SignInWidget() {
    //switch the sign in control to "signed in" state
    jQuery("#divSignIn").hide();
    jQuery("#divWelcomeBack").show();
    jQuery("#divSignedIn").show();

    //switch the recipe box widget to "signed in" state
    jQuery("#recipeBoxNotLoggedIn").hide();
    jQuery("#pnlRecipeBoxLoggedIn").show();

    //switch the 3 step value proposition to "signed in" state
    jQuery("#firstTime").hide();

    GetUserDetails(function (details) {
        //set the nickname field
        if (details.Nickname != '') {
            jQuery("#spanNickname").text(details.Nickname);
        }
        else {
            jQuery('#spanNickname').text(details.FirstName);
        }
    });
}

function SignOutWidget() {
    //switch the sign in control to "signed out" state
    jQuery("#divSignIn").show();
    jQuery("#divWelcomeBack").hide();
    jQuery("#divSignedIn").hide();

    jQuery("#recipeBoxNotLoggedIn").show();
    jQuery("#pnlRecipeBoxLoggedIn").hide();

    //switch the 3 step value proposition to "signed out" state
    //jQuery("#firstTime").show();	
}

function SignInBox() {
    ClearValidationErrors();
    AddMilestone('M02', 'User clicks on Sign-In .' + document.location);

    //clear the text fields and error box before showing the modal
    jQuery("#txtUserEmail").attr("value", "");
    jQuery("#txtSignInPassword").attr("value", "");
    jQuery("#loginErrorMessage").html("");

    jQuery('#modalSignIn').jqmShow();

    if (jQuery.cookie('rememberMeUsername') != null && jQuery.cookie('rememberMePassword') != null) {
        jQuery("#txtUserEmail").attr('value', jQuery.cookie('rememberMeUsername'));

        jQuery("#chkRememberMe").attr('checked', true);
    }
}

function IsEmailTaken(currentAddress, emailAddress, TrueResultCode, FalseResultCode) {
    var dataString = '{emailAddress:"' + emailAddress + '"}';
    CallServiceMethod("/services/UserManagement.asmx/IsEmailTaken", dataString,
				      function (msg) {
				          var emailTaken = eval(msg.d);

				          if (currentAddress != '' && emailTaken) {
				              emailTaken = !(currentAddress == emailAddress);
				          }

				          if (emailTaken) {
				              TrueResultCode();
				          }
				          else {
				              FalseResultCode();
				          }
				      },
				      function (xhr, status, error) {
				          var err = xhr.responseText;
				          document.write(err);
				      });
}

function DoesEmailExist(emailAddress, TrueResultCode, FalseResultCode) {
    var dataString = '{emailAddress:"' + emailAddress + '"}';
    CallServiceMethod("/services/UserManagement.asmx/IsEmailTaken", dataString,
				      function (msg) {
				          var emailTaken = eval(msg.d);

				          if (emailTaken) {
				              TrueResultCode();
				          }
				          else {
				              FalseResultCode();
				          }
				      },
				      function (xhr, status, error) {
				          var err = xhr.responseText;
				          document.write(err);
				      });
}

//used to populate the details screen
function PopulateProfileFields() {
    GetUserDetails(function (details) {
        jQuery("#txtFirstName").val(details.FirstName);
        jQuery("#txtLastName").val(details.LastName);
        jQuery("#txtNickName").val(details.Nickname);
        jQuery("#txtEmail").val(details.Username);
        jQuery("#txtEmailConfirm").val(details.Username);
        jQuery("#txtPassword").val(details.Password);
        jQuery("#txtPasswordConfirm").val(details.Password);
        jQuery("#txtPostal").val(details.PostalCode);
        jQuery("#txtStreetAddress1").val(details.StreetAddress1);
        jQuery("#txtStreetAddress2").val(details.StreetAddress2);
        jQuery("#txtCity").val(details.City);
        jQuery("#ddlProvince").val(details.Province);


        jQuery("#language :radio").each(function () {
            if (this.value == details.Language) {
                jQuery(this).attr('checked', true);
            }
        });

        jQuery("#gender :radio").each(function () {
            if (this.value == details.Gender) {
                jQuery(this).attr('checked', true);
            }
        });

        //section the set the date of birth
        var dateOfBirth = DateConvertJsonToJavaScript(details.DateOfBirth);
        jQuery("#ddlDOBMonth").val(dateOfBirth.getMonth() + 1);
        jQuery("#ddlDOBDay").val(dateOfBirth.getDate());
        //jQuery("#ddlDOBDay").val('1');
        jQuery("#ddlDOBYear").val(dateOfBirth.getFullYear());
        jQuery("#hidDOB").val("7");
    });

    //populate the household survey with user's responses (if any)
    GetRegSurvey(function (answers) {
        if (answers.NUMPPL.Answers.length > 0) {
            if (answers.NUMPPL.Answers[0].Text != 0) {
                // set the number of people dropdown
                var numPpl = answers.NUMPPL.Answers[0].Text;
                jQuery("#ddlMembers").val(numPpl);

                // show the children radios if appropriate
                if (numPpl >= "2") {
                    jQuery("#regChildren").css("display", "block");
                }
                else {
                    jQuery("#rbChildren1").attr("checked", "checked");
                    jQuery("#regChildren").css("display", "none");
                    jQuery("#regNumberChildren").css("display", "none");
                }
            }
        }
        if (answers.HASCHLD.Answers.length > 0) {
            // set the has children radio        
            var hasChld = answers.HASCHLD.Answers[0].Text;

            jQuery("#regChildren :radio").each(function () {
                if (this.value == hasChld)
                    jQuery(this).attr('checked', true);
            });

            // show the detailed age fields if appropriate
            if (hasChld == 1) {
                jQuery("#regNumberChildren").css("display", "block");
            }
            else if (hasChld == 2) {
                jQuery("#regNumberChildren").css("display", "none");
            }
        }

        // set the childrens ages
        if (answers._0TO5.Answers.length > 0) {
            jQuery("#txtZeroFive").val(answers._0TO5.Answers[0].Text);
        }
        if (answers._6TO12.Answers.length > 0) {
            jQuery("#txtSixTwelve").val(answers._6TO12.Answers[0].Text);
        }
        if (answers._13TO17.Answers.length > 0) {
            jQuery("#txtThirteen").val(answers._13TO17.Answers[0].Text);
        }
        if (answers._18PLUS.Answers.length > 0) {
            jQuery("#txtEighteen").val(answers._18PLUS.Answers[0].Text);
        }
    });

    // Populate the newsletter checkbox if subscribed
    IsUserSubscribed
    (
        function () {
            // user is subscribed, so leave the default of checked
            jQuery("#chkNewsletter").attr('checked', 'checked');
            jQuery("#chkNewsletter").attr('checked', true);
        },
        function () {
            jQuery("#chkNewsletter").attr('checked', false);
            jQuery("#chkNewsletter").removeAttr('checked');
        }
    );

        IsGFUserSubscribed
    (
        function () {
            // user is subscribed, so leave the default of checked
            jQuery("#chkGFNewsletter").attr('checked', 'checked');
            jQuery("#chkGFNewsletter").attr('checked', true);
        },
        function () {
            jQuery("#chkGFNewsletter").attr('checked', false);
            jQuery("#chkGFNewsletter").removeAttr('checked');
        }
    );
}

//function to sign in a user
function IsNicknameTaken(nickname) {
    var dataString = '{"nickname":"' + nickname + '"}';

    var nameTaken = CallServiceMethod("/services/UserManagement.asmx/IsNicknameTaken", dataString,
				      function (msg) {
				      },
				      function (xhr, status, error) {
				          var err = xhr.responseText;
				          document.write(err);
				      });

    return (nameTaken == '{"d":true}') ? true : false;
}

//function to sign in a user
function EmailBelongsToUserId(emailAddress, PUID, authenticateIfMatch) {
    var dataString = '{"emailAddress":"' + emailAddress + '", "PUID":"' + PUID + '", "authenticateIfMatch":"' + authenticateIfMatch + '"}';

    var belongs = CallServiceMethod("/services/UserManagement.asmx/EmailBelongsToUserId", dataString,
				      function (msg) {
				      },
				      function (xhr, status, error) {
				          var err = xhr.responseText;
				          document.write(err);
				      });

    return (belongs == '{"d":true}') ? true : false;
}

function UnsubscribeUserIdFromMailing(PUID, subscriptionId) {
    var dataString = '{"PUID":"' + PUID + '", "subscriptionId":"' + subscriptionId + '"}';

    CallServiceMethod("/services/UserManagement.asmx/UnsubscribeUserIdFromMailing", dataString,
				      function (msg) {
				      },
				      function (xhr, status, error) {
				          var err = xhr.responseText;
				          document.write(err);
				      });
}

function checkAge(year, month, day) {
    /* the minumum age you want to allow in */
    var validAge = true;
    var ageLimit = 18;

    var theirDate = new Date((parseInt(year) + parseInt(ageLimit)), month - 1, day);

    var today = new Date;

    if ((today.getTime() - theirDate.getTime()) < 0) {
        validAge = false;
    }

    return validAge;
}


function ShowSignInBox() {
    //clear the newsletter textbox for email address
    jQuery('#txtEmailSubscribe').attr('value', '');

    jQuery('#modalSignIn').jqmHide();
    jQuery('#dialog').jqmShow();
}

function RememberMeCheck() {
    IsUserSignedIn(
        function () {
        },
        function () {
            if (jQuery.cookie('rememberMeUsername') != null && jQuery.cookie('rememberMePassword') != null) {
                var username = jQuery.cookie('rememberMeUsername');
                var password = jQuery.cookie('rememberMePassword');

                SignIn(username, password, true);
            }
        }
    );
}

function SetUserState() {
    IsUserSignedIn(
        function () {
        },
        function () {
            if (jQuery.query.get('RNLUserUID') != '') {
                //set the cookie
                jQuery.cookie('RNLUserUID', jQuery.query.get('RNLUserUID'), { path: '/', expires: null });

                CreateRNLState();

                //redirect without the query string variable
                window.location = window.location.pathname + jQuery.query.REMOVE('RNLUserUID');
            }
            else {
                //RNL State..if the cookie exists and the session is not created, create it
                if (jQuery.cookie('RNLUserUID') != null && !CheckRNLState()) {
                    CreateRNLState();
                }
                else {
                    CreateAnonymousUserState();
                }
            }
        }
    );
}

function RegisterDialog() {
    if (typeof ClickTaleExec == 'function')
        ClickTaleExec("RegisterDialog()");
    jQuery('#dialog').jqmShow();

    jQuery('#txtEmailSubscribe').attr('value', '');
    jQuery('#txtGFEmailSubscribe').attr('value', '');
    jQuery('#regOptionalFields').hide();
}

function RegisterGFDialog() {

    alert("RegisterGFDIalog");
    if (typeof ClickTaleExec == 'function')
        ClickTaleExec("RegisterGFDialog()");
    jQuery('#GFdialog').jqmShow();

    jQuery('#txtGFEmailSubscribe').attr('value', '');

    jQuery('#regOptionalFields').hide();
}

function SaveOlympicSurvey() {
    var validFName = jQuery("#aspnetForm").validate().element("#txtFirstNameO");
    var validLName = jQuery("#aspnetForm").validate().element("#txtLastNameO");
    var validAddress = jQuery("#aspnetForm").validate().element("#txtAddressO");
    var validCity = jQuery("#aspnetForm").validate().element("#txtCityO");
    var validProvince = jQuery("#aspnetForm").validate().element("#ddlProvinceO");
    var validPostal = jQuery("#aspnetForm").validate().element("#txtPostalO");
    var validPhoneNumArea = jQuery("#aspnetForm").validate().element("#txtPhoneNumAreaO");
    var validPhoneNum3 = jQuery("#aspnetForm").validate().element("#txtPhoneNum3O");
    var validPhoneNum4 = jQuery("#aspnetForm").validate().element("#txtPhoneNum4O");
    var validEmailConfirm = jQuery("#aspnetForm").validate().element("#txtEmailConfirmO");
    var validDOB = jQuery("#aspnetForm").validate().element("#hidDOBO");

    if (validFName && validLName && validAddress && validCity && validProvince && validPostal && validPhoneNumArea && validPhoneNum3 && validPhoneNum4 && validEmailConfirm && validDOB) {
        var dateOfBirth = jQuery("#ctl00_cpMain_ddlDOBMonthO").val() + '/' + jQuery("#ctl00_cpMain_ddlDOBDayO").val() + '/' + jQuery("#ctl00_cpMain_ddlDOBYearO").val();
        CallServiceMethod("/services/UserManagement.asmx/IsDateValid", '{"dateOfBirth":"' + dateOfBirth + '"}',
        function (msg) {
            var validDOB = eval(msg.d);

            if (validDOB) {
                var dataString = '{firstName:"' + jQuery('#txtFirstNameO').val();
                dataString += '", lastName:"' + jQuery('#txtLastNameO').val();
                dataString += '", address:"' + JSONEncode(jQuery('#txtAddressO').val());
                dataString += '", city:"' + JSONEncode(jQuery('#txtCityO').val());
                dataString += '", province:"' + jQuery('#ddlProvinceO').val();
                dataString += '", postal:"' + jQuery('#txtPostalO').val();
                dataString += '", areaCode:"' + jQuery('#txtPhoneNumAreaO').val();
                dataString += '", threeDigits:"' + jQuery('#txtPhoneNum3O').val();
                dataString += '", fourDigits:"' + jQuery('#txtPhoneNum4O').val();
                dataString += '", emailAddr:"' + jQuery('#txtEmailConfirmO').val();
                dataString += '", dateOfBirth:"' + dateOfBirth + '"}';

                CallServiceMethod("/services/UserManagement.asmx/SaveOlympicSurvey", dataString,
                      function (msg) {
                          window.location = '/OffersandPerks/OlympicsConfirmation.aspx';
                      },
                      function (xhr, status, error) {
                          var err = xhr.responseText;
                          document.write(err);
                      });
            }
            else {
                ShowMessageModal("", javascript20);
            }
        });
    }
}

function UnsubscribeUserIdFromMailings() {
    var puid = GetQueryStringValue("puid");

    if ((!jQuery("#chkAllComm").is(":checked")) && (!jQuery("#chkNewsletter").is(":checked"))) {
        ShowMessageModal(content_unsub1, content_unsub6);
    }
    else {
        jQuery('input[type=checkbox].chkSub').each(
                                                    function () {
                                                        var name = jQuery(this).attr('name');
                                                        var val = jQuery(this).val();

                                                        if (this.checked) {
                                                            if (name == 'chkAllComm') {
                                                                UnsubscribeUserIdFromMailing(puid, "1");
                                                            }
                                                            UnsubscribeUserIdFromMailing(puid, val);
                                                        }
                                                    }
                                                );
        jQuery("#modalGenMsgClose").attr("href", "/home.aspx");
        jQuery("#modalGenMsgCloseBtn").attr("href", "/home.aspx");
        ShowMessageModal(content_unsub1, content_unsub7);
    }
}

function SaveMothersDayContestSurvey() {
    var validFName = jQuery("#aspnetForm").validate().element("#txtFirstNameMDC");
    var validLName = jQuery("#aspnetForm").validate().element("#txtLastNameMDC");
    var validAddress = jQuery("#aspnetForm").validate().element("#txtAddressMDC");
    var validCity = jQuery("#aspnetForm").validate().element("#txtCityMDC");
    var validProvince = jQuery("#aspnetForm").validate().element("#ddlProvinceMDC");
    var validPostal = jQuery("#aspnetForm").validate().element("#txtPostalMDC");
    var validPhoneNumArea = jQuery("#aspnetForm").validate().element("#txtPhoneNumAreaMDC");
    var validPhoneNum3 = jQuery("#aspnetForm").validate().element("#txtPhoneNum3MDC");
    var validPhoneNum4 = jQuery("#aspnetForm").validate().element("#txtPhoneNum4MDC");
    var validEmailConfirm = jQuery("#aspnetForm").validate().element("#txtEmailConfirmMDC");
    var validDOB = jQuery("#aspnetForm").validate().element("#hidDOBMDC");
    var validComment = jQuery("#aspnetForm").validate().element("#txtCommentMDC");

    if (validFName && validLName && validAddress && validCity && validProvince && validPostal && validPhoneNumArea && validPhoneNum3 && validPhoneNum4 && validEmailConfirm && validDOB && validComment) {
        var dateOfBirth = jQuery("#ddlDOBMonthMDC").val() + '/' + jQuery("#ddlDOBDayMDC").val() + '/' + jQuery("#ddlDOBYearMDC").val();
        CallServiceMethod("/services/UserManagement.asmx/IsDateValid", '{"dateOfBirth":"' + dateOfBirth + '"}',
        function (msg) {
            var validDOB = eval(msg.d);

            if (validDOB) {
                var dataString = '{firstName:"' + jQuery('#txtFirstNameMDC').val();
                dataString += '", lastName:"' + jQuery('#txtLastNameMDC').val();
                dataString += '", address:"' + JSONEncode(jQuery('#txtAddressMDC').val());
                dataString += '", city:"' + JSONEncode(jQuery('#txtCityMDC').val());
                dataString += '", province:"' + jQuery('#ddlProvinceMDC').val();
                dataString += '", postal:"' + jQuery('#txtPostalMDC').val();
                dataString += '", areaCode:"' + jQuery('#txtPhoneNumAreaMDC').val();
                dataString += '", threeDigits:"' + jQuery('#txtPhoneNum3MDC').val();
                dataString += '", fourDigits:"' + jQuery('#txtPhoneNum4MDC').val();
                dataString += '", emailAddr:"' + jQuery('#txtEmailConfirmMDC').val();
                dataString += '", comment:"' + JSONEncode(jQuery('#txtCommentMDC').val());
                dataString += '", dateOfBirth:"' + dateOfBirth + '"}';

                CallServiceMethod("/services/UserManagement.asmx/SaveMothersDayContestSurvey", dataString,
                      function (msg) {
                          window.location = '/OffersandPerks/MothersDayContestConfirmation.aspx';
                      },
                      function (xhr, status, error) {
                          var err = xhr.responseText;
                          document.write(err);
                      });
            }
            else {
                ShowMessageModal("", javascript20);
            }
        });
    }
}

function GetUserUID() {
    var userUID = '';

    CallServiceMethod("/services/UserManagement.asmx/GetUserUID", '{}',
        function (msg) {
            userUID = msg.d;
        },
        function (xhr, status, error) {
        });

    return userUID;
}

function NewsletterRegistration(emailAddress, dateOfBirth, SuccessfulCode, ErrorCode) {
    //At this stage the following things have been confirmed
    //EmailAddress is not already registered to LMD.ca
    //DateOfBirth is valid

    CallServiceMethod("/services/UserManagement.asmx/SubscribeToNewsletter", '{"emailAddress":"' + emailAddress + '", "dateOfBirth":"' + dateOfBirth + '"}',
        function (msg) {
            SuccessfulCode();
        },
        function (xhr, status, error) {
            ErrorCode(xhr.responseText);
        });
}

