/// registration types
/// 1= newsday print
/// 2= optimum
/// 3= paypal (DISCONTINUED)
/// 4= digital subscriber coming back from MMN
/// 5= employeee 
/// 6= print subscribers (7-day) coming from MMN
/// 7= print subscribers (non-7 day) coming from MMN

/////registration validation
function removeSpaces(string) {
	return string.split(' ').join('');
}

///set secure URL
var url =  window.document.location.href ;
if (url.indexOf("8080") > -1) {
	var secureUrl ="" ;
} else if (url.indexOf("stage.newsday") > -1) {
	secureUrl = "https://stage.newsday.com" ;
} else if (url.indexOf("stage.long-island") > -1) {
	secureUrl = "https://stage.long-island.newsday.com" ;
} else if (url.indexOf("www.newsday") > -1) {
	secureUrl = "https://www.newsday.com" ;
} else if (url.indexOf("long-island.newsday") > -1) {
	secureUrl = "https://long-island.newsday.com" ;
} else {
	secureUrl = "" ;
}

///set non-secure URL
var url =  window.document.location.href ;
if (url.indexOf("8080") > -1) {
	var plainUrl ="" ;
} else if (url.indexOf("stage.newsday") > -1) {
	plainUrl = "http://stage.newsday.com" ;
} else if (url.indexOf("stage.long-island") > -1) {
	plainUrl = "http://stage.long-island.newsday.com" ;
} else if (url.indexOf("www.newsday") > -1) {
	plainUrl = "http://www.newsday.com" ;
} else if (url.indexOf("long-island.newsday") > -1) {
	plainUrl = "http://long-island.newsday.com" ;
} else {
	plainUrl = "" ;
}


///set destinationUrl
var ts = (Date.now() - 1);
var dest = polopoly.base64.stringDecode(polopoly.cookie.get("destinationUrl"));  //used to help clear cache and see gated content
if(typeof dest === undefined || dest === ""){dest = plainUrl + "/" ;}
else {dest = dest + "?" + ts ;}

var p_r_i18n  ;
if (!p_r_i18n) {
	var resetURL="/" + resetID + "?resetpassword=true" ;
	var resetLink="<a onclick='forgotPass()' href='#'>forgot password</a>" ;
	var loginLink="<a href='/?ali=1'>log in here</a>" ;
	var spn = "<span></span>";

	p_r_i18n =  {
			er001 : spn + "You must enter your first name",
			er002 : spn + "You must enter your last name",
			er003 : spn + "You must enter house no.",
			er004 : spn + "Only alphanumeric characters, dashes (-), and forward slash (/) allowed",
			er005 : spn + "You must enter your street",
			er006 : spn + "You must enter your ZIP code",
			er007 : spn + "Please enter 5 digits",
			er008 : spn + "Numbers only",
			er009 : spn + "You must enter your phone no.",
			er010 : spn + "Please enter 10 digits",
			er011 : spn + "You must enter your email address",
			er012 : spn + "Not a valid email address",
			er014 : spn + "You must enter a username",
			er015 : spn + "Only alphanumeric characters allowed (no spaces)",
			er016 : spn + "Maximum Value 16 alphanumeric only",
			er017 : spn + "You must enter a password",
			er018 : spn + "Minimum 4 characters",
			er019 : spn + "Passwords do not match",
			er020 : spn + "<h3>Sorry, we could not find your account information.</h3><p>Please confirm that the following information is correct:</p><ul>" +
					"<li class=\"houseNum\">House no.</li><li class=\"street\">Street</li><li class=\"zip\">ZIP code</li><li class=\"phone\">Phone</li></ul>" +
					"<p>If you are still experiencing problems and need further assistance, email <a href=\"mailto:help@newsday.com\">help@newsday.com</a> or call 1-877-LI-LIVE-IT (1-877-545-4834).</p>",
			er021 : spn + "You must enter your Optimum ID",
			er022 : spn + "You must enter your Optimum password",
			er023 : spn + "For Optimum ID, use only the name before the @ sign",
			er024 : spn + "<p>We are sorry, this email address is already in use. If this is your email address, please " + loginLink + " using your email address and password. If you do not know your password, click on the " + resetLink + " link.</p><p>Contact us - If you need further assistance, email <a href=\"mailto:help@newsday.com\">help@newsday.com</a> or call 1-877-LI-LIVE-IT (1-877-545-4834).</p>",
			er025 : spn + "Name already in use",
			er026 : spn + "We are currently unable to validate your Optimum ID at this time. Please try again later or contact Optimum Online customer support if you have forgotten your <a href=\"https://idcenter.services.optimum.net/Services/Process/IDRecovery/SelectRecoveryMethod\">ID</a> or <a href=\"https://idcenter.services.optimum.net/Services/Process/PasswordReset/SelectOptimumID\">password</a>. <a href=\"http://www.optimum.net/Support\">http://www.optimum.net/Support</a>.",
			er027 : spn + "Please enter 8 digits",
			er028 : spn + "Please enter valid account number",
			er029 : spn + "Please enter 3 digits",
			er030 : spn + "Please enter 4 digits",
			er031 : spn + "Please enter your emplyoyee id number if you did not enter your newsday.com email.",
			er032 : spn + "Please agree to the Terms of service and Privacy policy."
	};
}


///HTML MESSAGES
var paypalmsg = '<h1>Subscribe to newsday.com and exploreli.com</h1>' +
'<p>If you are neither a Newsday nor Optimum Online<sup>&reg;</sup> subscriber, you may subscribe to newsday.com and exploreli.com for $5 per week, for your first 8 weeks, for a total of $40 payable through credit card or PayPal.</p>' +
'<p>If you would like to subscribe to newsday.com and exploreli.com, please begin to create your account by supplying the following information.</p>' +
'<p>You will receive an email validation of your account, and Newsday will contact you to set up your future billing preferences.</p>';

var cssmsg = '<h1>Create a username and password to manage your account</h1>' +
'For Newsday 7-day home delivery and digital subscribers, you may use your login to gain full access Newsday.com, Exploreli.com and the mobile apps. Your username is your unique identity when leaving comments and personalizing content.' +
'<p>You will use your email address and password to log in to the website and manage your account.</p>';

var optmsg = '<h1><a class="logo" href="http://www.optimum.com">Optimum.com</a>Create Your Complimentary Newsday <br/>Digital Access Account</h1>' +
'<p class="subhead">Please supply your Optimum Online<sup>&reg;</sup> customer information so<br/>we can confirm your subscription and create an account.</p>' +
'<p><strong>Verify your Optimum Online<sup>&reg;</sup> account.</strong></p><p><em>*</em>Marks required fields.</p>';

var optmsg2 = '<h1><a class="logo" href="http://www.optimum.com">Optimum.com</a>Create a username for your complimentary<br />Newsday digital access account</h1><p class="subhead">You can create a unique Newsday username below, or continue<br />to use your Optimum Online<sup>&reg;</sup> ID</p>';

var empmsg = '<h1>Employee registration</h1>' +
'<p>Welcome to the newsday.com employee registration page. Please input your information in the fields below to confirm your employee account.</p>';

var ndmsg = '<h1>Subscriber registration</h1><p>Please supply the following information so we can confirm your subscription and create your account.</p><p><em>*</em>Marks required fields.</p>';

var error = 'I am sorry, we are currently unable to process your request. Please try again later or call 1-877-LI-LIVE-IT (1-877-545-4834). You can also email us at help@newsday.com.' ;

if (typeof view  === "undefined") {
	view = '' ;
}

///if coming from css=1 so user can reach registration page
if ((polopoly.util.querystringValue('registration') === 'true') &&  (polopoly.util.querystringValue('css') === '1')) {
	if (polopoly.user.isLoggedIn()){
		polopoly.cookie.clear('loginName');
	}
}


///IF NOT LOGGED IN
if (!polopoly.user.isLoggedIn()) {

	$(function() {
		if (navigator.platform === "iPad") {} else {$('#phone1, #phone2, #phone3').autotab_magic().autotab_filter('numeric');}

		$('#phone1, #phone2, #phone3').blur(function(){
			$('#reg_printphonenumber').val($('#phone1').val() + $('#phone2').val() + $('#phone3').val());
		});

		////show after registering success
		if ((polopoly.util.querystringValue("reg_checkemail")) && (!polopoly.util.querystringValue("sent_email"))) {
			$('#bodyContainer').addClass('forms');
			$("#userRegistrationCheckEmailMessage").show();
			$(".boxHeaderContest").hide();

			var rtype  = polopoly.base64.stringDecode(polopoly.cookie.get("regType"));

			if ('undefined' === typeof rtype) {
				rtype = '';
			}

			if(rtype === 'contest'){
				///for contest registration
				$("#login-form, #benefits").hide();
				$(".registrationFormContest, .contest_registered").show();
			}

			var Em  = polopoly.base64.stringDecode(polopoly.cookie.get("Em"));
			var Ep = polopoly.base64.stringDecode(polopoly.cookie.get("Ep"));
			var Ed = polopoly.base64.stringDecode(polopoly.cookie.get("Ed"));
			if (Em !== null) {
				if (Ep !== null) {
					if (Ed !== null) {
						$("#sendEmail").val(Em);
						$(".sendEmailDisplay").append(Em);
						$(".sendDisplayName").append(Ed);
						$("#sendPass").val(Ep);
						$(".displayscreenName").val(Ed);
						$(".displayemailName").val(Em);
					}
				}
			}

			s_nd.pageName = "Newsday:Registration: Check Email Message";
			s_nd.t();

			///submit resend email form
			$('#resendemail').click(function(){
				$('#mailForm').submit();
			});
		}

		///show after re-send verification email
		else if ((polopoly.util.querystringValue("sent_email")) && (!polopoly.util.querystringValue("status"))) {
			$('#bodyContainer').addClass('forms');
			$("#userRegistrationSendEmailAgain").show();
			$(".boxHeaderContest").hide();

			///for contest registration
			$("#login-form, #benefits, #statusAccessResendEmailConfirm, .contestForm > .userInfo").hide();
			$(".registrationFormContest, .contest_registered").show();

			Em  = polopoly.base64.stringDecode(polopoly.cookie.get("Em"));
			Ed = polopoly.base64.stringDecode(polopoly.cookie.get("Ed"));
			if (Em !== null) {
				$("#resendEmailDisplay").append(Em);
				$("#resendDisplayName").append(Ed);
				$(".displayscreenName").val(Ed);
				$(".displayemailName").val(Em);
			}
			s_nd.pageName = "Newsday:Registration: Check Email Message Resend Verification Link";
			s_nd.t();
		}

		/* "Error management" */
		else if (polopoly.util.querystringValue("reg_formerror") === "down") {
			$('#possibleError').html(error + '<div style="display:none">error code:01</div>').css('color', '#CC0000');
		}

		else if (polopoly.util.querystringValue("device") === "mobile"){
			///iDevice Registration last page, report to omniture
			$("#iDeviceMsg").show();
			$("#form-login").hide();
			s_nd.events="event1, event30";
			s_nd.pageName = "Newsday: iDevice Registration: Success";
			s_nd.t();
		}
				
	    /////show registration screen
		else {
			$("#form-intro, #regBody").show();
			polopoly.cookie.clear('ValidatedOptimumUserID');
			polopoly.cookie.clear('ValidatedNewsdayUser');
			polopoly.cookie.clear('Ed');
			polopoly.cookie.clear('Ep');
			polopoly.cookie.clear('Em');
			s_nd.pageName = "Newsday:Registration: Start Page";
			s_nd.events="event29";
			s_nd.t();

			////css=1 new registration after buying Print subscription from MMN
			if ((polopoly.util.querystringValue('registration') === 'true') &&  (polopoly.util.querystringValue('css') === '1')) {
				$("#form-intro, #regBody").hide();

				if($('#m_email').val() === ""  ||  $('#m_subaccountnum').val() === "") {
					$('#possibleError').html(error + '<div style="display:none">error code:02</div>').css('color', '#CC0000');
				} else {
					useremail = $('#m_email').val();
					/////check email w/ ajax
					$.post("/membership/register",{
						verifyEmail: "true",
						reg_loginname: useremail
					},
					function(xml) {
						///Email Available
						if($("status",xml).text() === "0") {
							//hide populated fields
							$('.nameFirst, .nameLast, .houseNum, .ndaccount, .street, .zip, .phone, .email').hide();
							//show username and password form
							$("#form-intro, #regBody").show();
						    $('#bodyContainer').addClass('forms');
							$('#form-intro, #benefits, fieldset.email>p').hide();
							$('#submitRegister').text('Register');
							$('#registrationForm, #submitFormBox').show();
							$('#regHeader').html(cssmsg);
							//populate post data
							$('#reg_subscribertype').val($('#m_subtype').val());
							$('#reg_firstname').val($('#m_firstname').val());
							$('#reg_lastname').val($('#m_lastname').val());
							$('#reg_zipcode').val($('#m_zipcode').val());
							$('#phone1').val($('#m_phone1').val());
							$('#phone2').val($('#m_phone2').val());
							$('#phone3').val($('#m_phone3').val());
							$('#reg_printphonenumber').val($('#m_phone1').val() + $('#m_phone2').val() + $('#m_phone3').val());
							$('#reg_loginname').val($('#m_email').val());
							$('#reg_printhousenum').val($('#m_housenum').val());
							$('#reg_printaddress').val($('#m_street').val());
							$('#reg_printaccountnumber').val($('#m_subaccountnum').val());
						}

						///User Access Level Registered or Optimum
						else if($("status",xml).text() === "1") {
							$('#userUpgradeAccount').show();
						}
						else {
							$('#possibleError').html(error + '<div style="display:none">error code:03</div>').css('color', '#CC0000');
						}
					});
					//END verify emaill access level
				}
			}

			////emp=1 new registration for employees
			else if ((polopoly.util.querystringValue('registration') === 'true') && (polopoly.util.querystringValue('emp') === '1')) {
					$('#reg_subscribertype').val('5');
					$('#bodyContainer').addClass('forms');
					$('#reg_loginname').addClass('employee');
					$('#form-intro, #benefits, fieldset.email>p').hide();
					$('#submitRegister').text('Register');
					$('#registrationForm, #submitFormBox, .empaccount').show();
					$('#regHeader').html(empmsg);
					$('fieldset.email.long label').html('<em>*</em>Newsday email address. <span>If no newsday.com email, also submit your employee id below.</span>');
				}
			
			///optimum login for first time create username and zip
			else if ((polopoly.util.querystringValue('registration') === 'true') && (polopoly.util.querystringValue('opt') === '1')) {
				var loginName = polopoly.base64.stringDecode(polopoly.cookie.get("loginName"));
				var displayName = polopoly.base64.stringDecode(polopoly.cookie.get("displayName"));
				$('#reg_subscribertype').val('8');
				$('#reg_optimum').val('false');
				$('#reg_loginname').val(loginName);
				$("#form-login, #benefits, .optimumID, .optimumPassword, .nameFirst, .nameLast, .houseNum, .zip, .street, .phone, .ndaccount, .create, .email, .password, .passwordConfirm").hide();
				$('#regHeader').html(optmsg2);
				$('#regBody, #registrationForm, #submitFormBox, #optsub').show();
				$('#reg_screenname').val(displayName);
			}
			
			
			$.validator.addMethod("screenname", function(value, element) {
				return this.optional(element) || /^[a-zA-Z_0-9]+$/i.test(value);
			}, "");

			$.validator.addMethod("alphanum", function(value, element) {
				return this.optional(element) || /^[a-zA-Z_0-9]+$/i.test(value);
			}, "");

			$.validator.addMethod("housenum", function(value, element) {
				return this.optional(element) || /^[a-z0-9-\/\s]+$/i.test(value);
			}, "");

			$.validator.addMethod("ndemail", function(value, element) {
				return this.optional(element) || /@newsday\.com+$/i.test(value);
			}, "");

			$.validator.addMethod("nosign", function(value, element) {
				if($('#reg_subscribertype').val() === '2') {
					 return this.optional(element) || /^[^@]+$/i.test(value);
				 }
				else {
					return true;
				}
			}, "");

			var validation = {

				rules: {
					///first name required on all reg forms except if logging in using optimum ID(8).
					reg_firstname: {
						required: function(element) {
						return  ($('#reg_subscribertype').val() !== '8') ;
						}
					},
					
					///last name required on all reg forms except if logging in using optimum ID(8).
					reg_lastname: {
						required: function(element) {
						return  ($('#reg_subscribertype').val() !== '8') ;
						}
					},
					
					///house number required and housenum on all reg forms except if logging in using optimum ID(8).
					reg_printhousenum: {
						required: function(element) {
						return  ($('#reg_subscribertype').val() !== '8') ;
						},
					
						housenum: function(element) {
						return  ($('#reg_subscribertype').val() !== '8') ;
						}
					},
					
					///print address required on all reg forms except if logging in using optimum ID(8).
					reg_printaddress: {
						required: function(element) {
						return  ($('#reg_subscribertype').val() !== '8') ;
						}
					},
					
					///zipcode required on all reg forms except if logging in using optimum ID(8).
					reg_zipcode: {
						required: function(element) {
						return   ($('#reg_subscribertype').val() !== '8') ; //}, number: true, minlength: 5},
						},
						minlength: 5,
						number: true
					},
					
					///phone1 required, number, and minlength3 on all reg forms except if logging in using optimum ID(8).
					phone1: {
						required: function(element) {
						return  ($('#reg_subscribertype').val() !== '8') ;
						},
					
						number: function(element) {
						return  ($('#reg_subscribertype').val() !== '8') ;
						},
						minlength: 3
					},
					
					///phone2 required, number, and minlength3 on all reg forms except if logging in using optimum ID(8).
					phone2: {
						required: function(element) {
						return  ($('#reg_subscribertype').val() !== '8') ;
						},
					
						number: function(element) {
						return  ($('#reg_subscribertype').val() !== '8') ;
						},
						minlength: 3
					},
					
					///phone3 required, number, and minlength4 on all reg forms except if logging in using optimum ID(8).
					phone3: {
						required: function(element) {
						return  ($('#reg_subscribertype').val() !== '8') ;
						},
					
						number: function(element) {
						return  ($('#reg_subscribertype').val() !== '8') ;
						},
						minlength: 4
					},
								
					reg_printaccountnumber: {alphanum: true},
					
					///loginname required, email on all reg forms except if logging in using optimum ID(8).
					reg_loginname: {
						required: function(element) {
						return  ($('#reg_subscribertype').val() !== '8') ;
						}
//					
//						email: function(element) {
//						return  ($('#reg_subscribertype').val() !== '8') ;
//						}
					},
					
					reg_empaccountnumber: {
					      required: function(element) {
						    var lname =  $("#reg_loginname").val();
						    var thisindex = lname.indexOf("@newsday.com");
					        return ($('#reg_subscribertype').val() === '5' && thisindex === -1) ;
					      }
					    },

					reg_screenname: {required: true, screenname: true, maxlength: 16},
					
					///password required, email on all reg forms except if logging in using optimum ID(8).
					reg_password: {
						required: function(element) {
						return  ($('#reg_subscribertype').val() !== '8') ;
						},
						minlength: 4
					},					
					
					reg_checkPassword: {equalTo: "#reg_password"},
					reg_optaccountid: {
							required: function(element) {
							return  ($('#reg_subscribertype').val() === '2') ;
						},

						nosign: true
					},

						reg_optaccountpass: {
							required: function(element) {
							return  ($('#reg_subscribertype').val() === '2') ;
						}
					},
					reg_tos: {required: true}
				},

				messages: {
					reg_firstname: {required: p_r_i18n.er001},
					reg_lastname: {required: p_r_i18n.er002},
					reg_printhousenum: {required: p_r_i18n.er003, housenum: p_r_i18n.er004},
					reg_printaddress: {required: p_r_i18n.er005},
					reg_zipcode: {required: p_r_i18n.er006, number: p_r_i18n.er008, minlength: p_r_i18n.er007},
					phone1: {required: p_r_i18n.er009, number: p_r_i18n.er008, minlength: p_r_i18n.er029},
					phone2: {required: p_r_i18n.er009, number: p_r_i18n.er008, minlength: p_r_i18n.er029},
					phone3: {required: p_r_i18n.er009, number: p_r_i18n.er008, minlength: p_r_i18n.er030},
					reg_printaccountnumber: {alphanum: p_r_i18n.er015},
					reg_loginname: {required: p_r_i18n.er011, email: p_r_i18n.er012},
					reg_empaccountnumber: {required: p_r_i18n.er031},
					reg_screenname: {required: p_r_i18n.er014, screenname: p_r_i18n.er015, maxlength: p_r_i18n.er016},
					reg_password: {required: p_r_i18n.er017, minlength: p_r_i18n.er018},
					reg_checkPassword: {equalTo: p_r_i18n.er019},
					reg_optaccountid:  {required: p_r_i18n.er021, nosign: p_r_i18n.er023},
					reg_optaccountpass:  {required: p_r_i18n.er022},
					reg_tos: {required: p_r_i18n.er032}
				},


			///submit regForm
			submitHandler: function(form) {
				///Newsday Print or Optimum Subscriber
				if ($("#reg_subscribertype").val() === '1' || $("#reg_subscribertype").val() === '2') {
					polopoly.cookie.set('displayName', polopoly.base64.stringEncode($("#reg_screenname").val()));
					polopoly.cookie.set('loginName', polopoly.base64.stringEncode($("#reg_loginname").val()));
					polopoly.cookie.set('regType', polopoly.base64.stringEncode($("#reg_type").val()));
					$('#Process').show();
					form.submit();
				}
				
				///all other submits
				else {
					$('#Process').show();
					form.submit();
				}

				//else {
					//$('#possibleError').html(error + '<div style="display:none">error code:04</div>').css('color', 'red');
				//}

			} ///closes submit handler

			};////close validation


			// Clear out to dodge firefox autoremember.
			///clashing with filling fields from css post from MMN
			//$("#registerform :text, #registerform :password").val("");
			//$("#userUpgradeLogin :password").val("");

		var validator = $("#registerform").validate(validation);

		////////////REGISTRATION FUNCTIONS

		//$("#reg_loginname").blur(function() {
			//  $("#reg_empaccountnumber").valid();
			//});


		//Newsday Subscriber
		$('#reg_ndsub,#reg_bothsub').click(function(){
			$('#reg_subscribertype, #reg_printphonenumber').val('1');
			$('#registerform').addClass('nd');
			$('#bodyContainer').addClass('forms');
			$('#form-intro, #benefits').hide();
			$('#registrationForm, #submitFormBox, .ndaccount').show();
			if(view === 'contest') {}
			else {$( 'html, body' ).animate( { scrollTop: 0 }, 0 );}
			$('#regHeader').html(ndmsg);
		});

		//Optimum Subscriber
		$('#reg_optsub').click(function(){
			$('#reg_subscribertype, #reg_printphonenumber').val('2');
			$('#registerform').addClass('opt');
			$('#bodyContainer').addClass('forms');
			$('#form-intro, #benefits, .ndaccount').hide();
			$('#registrationForm, #optsub, #submitFormBox').show();
			if(view === 'contest') {}
			else {$( 'html, body' ).animate( { scrollTop: 0 }, 0 );}
			$('#regHeader').html(optmsg);
		});

		///close fancybox
		$(":button[name='closeFancy']").click(function(){
			$.fancybox.close() ;
		});

		///input focus function to hide error messages when changing value
		$("input").focus(function () {
	         $('#accerrMsg, #accerrMsgOt').hide();
	    });

		///BEGIN SUBMIT FORM FUNCTION
		$("#submitRegister").click(function(){

			var regSub = $('#reg_subscribertype').val();
			var isvalid = $('#registerform').valid();

			///Newsday Subscriber (validating user from CAPI)
			if (regSub === '1'){
				
				if(isvalid === true){
					$('#accerrMsg').removeClass('emailError usernameError emailOptError usernameOptError accountError');
					$('#Process').show();$('#accerrMsg, #accerrMsgOt').hide();

					////BEGIN SEND INFO TO CAPI TO CHECK IF VALID NESDAY SUBSCRIBER
					$.post("/membership/register",{
						verifyUser: "true",
						reg_site: userSiteId,
						reg_printaccountnumber: $('#reg_printaccountnumber').val(),
						reg_printhousenum: $('#reg_printhousenum').val(),
						reg_printphonenumber: $('#reg_printphonenumber').val(),
						reg_loginname: $('#reg_loginname').val(),
						reg_screenname: $('#reg_screenname').val()
					},
					function(xml) {
						if($("status",xml).text() === "0") {
							///VALIDATED
							//now submit form
							$('#registerform').submit();
							$('#Process').hide();
						}

						else if($("status",xml).text() === "1") {
							///NOT VALIDATED CAPI
							$('#accerrMsg').html(p_r_i18n.er020).show();
							$('#Process').hide();
							return false;
						}
						///custom capi message
						else if($("status",xml).text() === "2") {
							var capiErrorMsg = polopoly.base64.stringDecode(polopoly.cookie.get("CapiErrorMsg")) ;
							//show capi error message
							$('#accerrMsg').html(capiErrorMsg).show();
							$('#Process').hide();
							return false;
						}
						///email already taken
						else if($("status",xml).text() === "3") {
							$('#accerrMsg').addClass('emailError').html(p_r_i18n.er024).show();
							$('#Process').hide();
							return false;
						}
						///displayname already taken
						else if($("status",xml).text() === "4") {
							$('#accerrMsg').addClass('usernameError').html(p_r_i18n.er025).show();
							$('#Process').hide();
							return false;
						}
						else if($("status",xml).text() === "5") {
							///account number not valid
							$('#accerrMsg').addClass('accountError').html(p_r_i18n.er028).show();
							$('#Process').hide();
							return false;
						}
						else if($("status",xml).text() === "6") {
							///both email and user name taken
							$('#accerrMsg').addClass('emailError').html(p_r_i18n.er024).show();
							$('#accerrMsgOt').addClass('usernameError').html(p_r_i18n.er025).show();
							$('#Process').hide();
							return false;
						}
						else {
							$('#possibleError').html(error + '<div style="display:none">error code:05</div>').css('color', '#CC0000');
						}
					});
					////END SEND INFO TO CAPI TO CHECK IF VALID NESDAY SUBSCRIBER
				}
				return false;


			} ///end regSub=1

			///Optimum Subscriber (validating user from Optimum)
			else if (regSub === '2'){
				if(isvalid === true){
					$('#registerform').addClass('opt');
					$('#accerrMsg').removeClass('emailError usernameError emailOptError usernameOptError accountError');
					$('#Process').show();$('#accerrMsg, #accerrMsgOt').hide();
					$.post("/optimum/ValidateOptimumUserIDServlet",{
						optimumUserId: $("#reg_optaccountid").val(),
						optimumUserPassword: $("#reg_optaccountpass").val(),
						reg_loginname: $('#reg_loginname').val(),
						reg_screenname: $('#reg_screenname').val()
					}, function(xml) {
						// Success
						if($("status",xml).text() === "0") {
							polopoly.cookie.set('ValidatedOptimumUserID', polopoly.base64.stringEncode($("#reg_optaccountid").val()));
							///OPTIMUM VALIDATED
							//now submit form
							$('#registerform').submit();
							$('#Process').hide();
							return false;
						}

						///Optimum Fail
						else if($("status",xml).text() === "1") {
							$('#accerrMsg').addClass('OptError').html(p_r_i18n.er026).show();
							$('#Process').hide();
							return false;
						}

						///email already taken
						else if($("status",xml).text() === "2") {
							$('#accerrMsg').addClass('emailOptError').html(p_r_i18n.er024).show();
							$('#Process').hide();
							return false;
						}

						///displayname already taken
						else if($("status",xml).text() === "3") {
							$('#accerrMsg').addClass('usernameOptError').html(p_r_i18n.er025).show();
							$('#Process').hide();
							return false;
						}

						///displayname and email already taken
						else if($("status",xml).text() === "4") {
							$('#accerrMsg').addClass('emailError').html(p_r_i18n.er024).show();
							$('#accerrMsgOt').addClass('usernameError').html(p_r_i18n.er025).show();
							$('#Process').hide();
							return false;
						}

						else {
							$('#possibleError').html(error + '<div style="display:none">error code:06</div>').css('color', '#CC0000');
							return false;
						}
					});

				}///end isvalid=true
				return false;
			}///end regSub=2

			///Digital Subscriber coming from MMN
			else if (regSub === '4') {
				$('#accerrMsg').removeClass('emailError usernameError emailOptError usernameOptError accountError');
				if(isvalid === true){
					$('#Process').show();$('#accerrMsg, #accerrMsgOt').hide();

					////Check loginname and display name
					$.post("/membership/register",{
						isDigital: "true",
						reg_site: userSiteId,
						reg_loginname: $('#reg_loginname').val(),
						reg_screenname: $('#reg_screenname').val()
					},
					function(xml) {
						if($("status",xml).text() === "0") {
							$('#registerform').submit();
							$('#Process').hide();
						}

						///email already taken
						else if($("status",xml).text() === "1") {
							$('#accerrMsg').addClass('emailError').html(p_r_i18n.er024).show();
							$('#Process').hide();
							return false;
						}
						///displayname already taken
						else if($("status",xml).text() === "2") {
							$('#accerrMsgOt').addClass('usernameError').html(p_r_i18n.er025).show();
							$('#Process').hide();
							return false;
						}
						///displayname and email already taken
						else if($("status",xml).text() === "3") {
							$('#accerrMsg').addClass('emailError').html(p_r_i18n.er024).show();
							$('#accerrMsgOt').addClass('usernameError').html(p_r_i18n.er025).show();
							$('#Process').hide();
							return false;
						}
						else {
							$('#possibleError').html(error + '<div style="display:none">error code:08</div>').css('color', '#CC0000');
						}
					});
					////END SEND INFO TO CAPI TO CHECK IF VALID NESDAY SUBSCRIBER
				}
				return false;

			} ///end regSub=4


			///Employee Subscriber (internal employee registration)
			else if (regSub === '5') {
				
				if(isvalid === true){
					$('#accerrMsg').removeClass('emailError usernameError');
					$('#Process').show();$('#accerrMsg, #accerrMsgOt').hide();

					$.post("/membership/register",{
						isEmployeeReg: "true",
						reg_loginname: $('#reg_loginname').val(),
						reg_screenname: $('#reg_screenname').val()
					},
					function(xml) {
						if($("status",xml).text() === "0") {
							///VALIDATED
							$('#registerform').submit();
							$('#Process').hide();
						}
						///email already taken
						else if($("status",xml).text() === "1") {
							$('#accerrMsg').addClass('emailError').html(p_r_i18n.er024).show();
							$('#Process').hide();
							return false;
						}
						///displayname already taken
						else if($("status",xml).text() === "2") {
							$('#accerrMsg').addClass('usernameError').html(p_r_i18n.er025).show();
							$('#Process').hide();
							return false;
						}
						else if($("status",xml).text() === "3") {
							///both email and user name taken
							$('#accerrMsg').addClass('emailError').html(p_r_i18n.er024).show();
							$('#accerrMsgOt').addClass('usernameError').html(p_r_i18n.er025).show();
							$('#Process').hide();
							return false;
						}
						else {
							$('#possibleError').html(error + '<div style="display:none">error code:09</div>').css('color', '#CC0000');
						}
					});
				}
				return false;
			} ///end regSub=5

			///Print Subscribers coming from MMN '6' are 7day and '7' are non7
			else if (regSub === '6' || regSub === '7') {
				$('#accerrMsg').removeClass('emailError usernameError emailOptError usernameOptError accountError');
				if(isvalid === true){
					$('#Process').show();$('#accerrMsg, #accerrMsgOt').hide();

					////Check loginname and display name
					$.post("/membership/register",{
						verifyUser: "false",
						reg_site: userSiteId,
						reg_loginname: $('#reg_loginname').val(),
						reg_screenname: $('#reg_screenname').val()
					},
					function(xml) {
						if($("status",xml).text() === "0") {
							$('#registerform').submit();
							$('#Process').hide();
						}

						///email already taken
						else if($("status",xml).text() === "1") {
							$('#accerrMsg').addClass('emailError').html(p_r_i18n.er024).show();
							$('#Process').hide();
							return false;
						}
						///displayname already taken
						else if($("status",xml).text() === "2") {
							$('#accerrMsgOt').addClass('usernameError').html(p_r_i18n.er025).show();
							$('#Process').hide();
							return false;
						}
						///displayname and email already taken
						else if($("status",xml).text() === "3") {
							$('#accerrMsg').addClass('emailError').html(p_r_i18n.er024).show();
							$('#accerrMsgOt').addClass('usernameError').html(p_r_i18n.er025).show();
							$('#Process').hide();
							return false;
						}
						else {
							$('#possibleError').html(error + '<div style="display:none">error code:10</div>').css('color', '#CC0000');
						}
					});
				}
				return false;
			} ///end regSub=6/7
			
			
			///User logging in with Optimum ID
			else if (regSub === '8') {
				if(isvalid === true){
					$('#Process').show();$('#accerrMsg, #accerrMsgOt').hide();
					////Check loginname and display name
					$.post("/membership/register",{
						optimum: "true",
						reg_site: userSiteId,
						reg_screenname: $('#reg_screenname').val()
					},
					function(xml) {
						if($("status",xml).text() === "0") {
							$('#registerform').submit();
						}
						///displayname already taken
						else if($("status",xml).text() === "2") {
							$('#accerrMsgOt').addClass('usernameError').html(p_r_i18n.er025).show();
							$('#Process').hide();
							return false;
						}
						else {
							$('#possibleError').html(error + '<div style="display:none">error code:10</div>').css('color', '#CC0000');
						}
					});
				}
				return false;

			} ///end regSub=8			
			
			else {
				$('#possibleError').html('PAGE ERROR: UNKNOWN SUBSCRIBER').css('color', 'red');
			}
		});
		///END SUBMIT FORM FUNCTION

		///BEGIN user upgrade function
		$("#submitUserUpgrade").click(function(){
			var userPass = $('#reg_login').val();
			$.post("/membership/register",{
				updateAccessLevel: "true",
				reg_site: userSiteId,
				reg_printsubscriber: $('#m_subtype').val(),
				reg_loginname: $('#m_email').val(),
				reg_printaccountnumber: $('#m_subaccountnum').val(),
				reg_password: userPass
			},
			function(xml) {
				if($("status",xml).text() === "0") {
					$('#upgradeError').html('Invalid password').show();
				}

				else if($("status",xml).text() === "1") {					
					$('#userUpgradeLogin').hide();
					$('#userUpgradeAccount').html('Your account has been upgraded. <a href="' + dest +'">Click here to continue</a>.').show();
					return false;
				}

				else {
					$('#possibleError').html(error + '<div style="display:none">error code:11</div>').css('color', '#CC0000');
				}
			});

		});
		///END user upgrade function

		}/// end show registration screen


	});

} ///end ifNOTloggedin

////LOGGED IN SHOW NEWSLETTER PAGES AFTER EMAIL VERIFICATION
else {
	

	$(function() {

		var ps = polopoly.util.querystringValue("ps");
		if (typeof ps  === "undefined") {
			   ps='-1';
		}

	    var is = polopoly.util.querystringValue("is");
	    if (typeof is  === "undefined") {
			   is='-1';
		}

		if (polopoly.util.querystringValue("reg_success") && ((ps === "1" || ps === "0")) && (is === "-1")) {
			///WE NOW CHECK WHAT ACESS LEVEL THEY HAVE:
	        registrationeventid="event1:" + s_nd.prop6;
	        s_nd.eVar17 = NDAL;
	        s_nd.pageName = "Newsday:Registration: Newsletters";
	        s_nd.events=registrationeventid+",event30";
	        s_nd.t();
	        $('#form-login').hide();
	        $('.membershipForm, #userRegistrationSuccess').show();
	        $('#bodyContainer').addClass('forms');
	    }

		else if (polopoly.util.querystringValue("reg_success") && ((ps === "2")) && (is === "-1")) {
			///WE NOW CHECK WHAT ACESS LEVEL THEY HAVE:
			$('#form-login').hide();
	        registrationeventid="event1:" + s_nd.prop6;
	        s_nd.eVar17 = NDAL;
	        s_nd.pageName = "Newsday:Registration: Employee";
	        s_nd.events=registrationeventid+",event30";
	        s_nd.t();
	        window.location = '/employee' ;
	    }

		///optimum ID login registration success
		else if ((polopoly.util.querystringValue('registration') === 'true') && (polopoly.util.querystringValue('opt') === '1') && (polopoly.util.querystringValue('reg_checkemail') === 'false')) {
			$("#topContent").html('<p class="optIdLogin loading">We are logging you in with your new credentials. Please wait...</p>');
			registrationeventid="event1:" + s_nd.prop6;
	        s_nd.eVar17 = "OptimumLogin";
	        s_nd.pageName = "Newsday:Registration: OptimumID Success"; 
	        s_nd.events=registrationeventid+",event30";
	        s_nd.t();
			if(polopoly.util.querystringValue("goTo")){
				goTo = polopoly.util.querystringValue("goTo");
				if(goTo === "eedition"){	
					window.location.href = "/eedition";
					} else {return false;}
				}	        
			else {window.location.href = dest;}
	    }
		
		///Go to profile page if user is logged in
		else if (!polopoly.util.querystringValue("nl") && !polopoly.util.querystringValue("reg_success") && view !== "contest") {
	    	$("body: #main").hide();
	    	$('#profile_goto').submit();
	    }
			
	    else if (view !== "contest") {
	    	$("body: #main").hide();
	        document.location.href = "/";
	    }

		/////BEGIN NEWSLETTER SELECTION DATA FOR OMNITURE
		$('.submitRegister_newsletter').mousedown(function(){

		       if (($("#newsletter_nyweekreview:checked").val() === 'yes') ||
		           ($("#newsletter_nynewsdaynow:checked").val() === 'yes') ||
		           ($("#newsletter_explorelibestbets:checked").val() === 'yes') ||
		           ($("#newsletter_highschoolsports:checked").val() === 'yes') ||
		           ($("#newsletter_sportsnow:checked").val() === 'yes') ||
		           ($("#newsletter_nytravel:checked").val() === 'yes') ||
		           ($("#newsletter_feedme:checked").val() === 'yes') ||
		           ($("#newsletter_business:checked").val() === 'yes') ||
		           ($("#newsletter_dailydeal:checked").val() === 'yes') ||
		           ($("#newsletter_realestate:checked").val() === 'yes'))  {

		           s_nd.events = "event21";
		           }

		       var ndNewsletters = [];
		       x=0;

		       if ($("#newsletter_nyweekreview:checked").val() === 'yes')  {
		           ndNewsletters[x] = "Breaking News Alerts";
		           x = x + 1;
		       }

		       if ($("#newsletter_nynewsdaynow:checked").val() === 'yes')  {
		           ndNewsletters[x] = "Newsday Now" ;
		           x = x + 1;
		       }

		       if ($("#newsletter_explorelibestbets:checked").val() === 'yes')  {
		           ndNewsletters[x] =  "ExploreLI Best Bets" ;
		           x = x + 1;
		       }

		       if ($("#newsletter_highschoolsports:checked").val() === 'yes')  {
		           ndNewsletters[x] = "High School Sports Reports" ;
		           x = x + 1;
		       }

		       if ($("#newsletter_sportsnow:checked").val() === 'yes')  {
		           ndNewsletters[x] = "Sports Now" ;
		           x = x + 1;
		       }

		       if ($("#newsletter_nytravel:checked").val() === 'yes')  {
		           ndNewsletters[x] = "Go" ;
		           x = x + 1;
		       }

		       if ($("#newsletter_feedme:checked").val() === 'yes')  {
		           ndNewsletters[x] = "Feed Me" ;
		           x = x + 1;
		       }

		       if ($("#newsletter_business:checked").val() === 'yes')  {
		    	   ndNewsletters[x] = "Business" ;
		           x = x + 1;
		       }

		       if ($("#newsletter_dailydeal:checked").val() === 'yes')  {
		    	   ndNewsletters[x] = "Daily Deal" ;
		           x = x + 1;
		       }

		       if ($("#newsletter_realestate:checked").val() === 'yes')  {
		    	   ndNewsletters[x] = "Real Estate" ;
		           x = x + 1;
		       }

		       ndNewslettersj = (ndNewsletters.join("|"));

		       s_nd.prop10 = ndNewslettersj;
		       s_nd.eVar10 = ndNewslettersj;
		       s_nd.t();

		       return false;

		});
	/////END NEWSLETTER SELECTION DATA FOR OMNITURE

	     /////SUBMIT NEWSLETTER FORM
		$('.submitRegister_newsletter').mouseup(function(){
			$('#registerform_newsletter').submit();
		});

		 /////NO THANKS
		$('.nl_nothanks').click(function(){
			window.location = plainUrl + '/?dest=true' ;
		});

	});

}
