//login
function validateLogin(formId){
	var id = $(formId + '.login.id').value;
	var pwd = $(formId + '.login.password').value;
	$(formId + '_error').innerHTML = '';
	if(id==null || id.length==0	|| pwd==null || pwd.length==0){
		showError(false, formId);
	}else {
		UserService.isValidLogin(id, pwd, {
		  callback:function(valid) {
		    showError(valid, formId);
		  }
		});
	}
}

function showError(valid, formId){
	if(!valid){
		$(formId + '_error').innerHTML = 'Invalid e-mail/password combination.';
	}else{
		$(formId).submit();
	}
}
//end login


//light registration
function showOtherLocation(formId, regionId){
	$(formId + '.regWeddingLocation').style.display = (regionId==-1)? '':'none';
}

function validateRegForm(formId){
	var validLightProfile = true;
	resetRegFormErrors(formId);
	var firstName = $(formId + '.firstName').value;
	var lastName = $(formId + '.lastName').value;
   	var email = $(formId + '.email').value;
   	var password = $(formId + '.password').value;
   	var confirmPassword = $(formId + '.confirmPassword').value;
   	var eventDate = $(formId + '.eventDate').value;
	var regionSelect = $(formId + '.marketId');
   	var regionId = regionSelect.options[regionSelect.selectedIndex].value;
   	var weddingLocation = $(formId + '.weddingLocation').value;
	var zip = $(formId + '.user.zip').value;

	if (isEmpty(email) || !isEmail(email)){
		DWRUtil.setValue(formId + '.error.email', 'Invalid Email.');
		validLightProfile = false;
   	}

	var fnErrorField = formId + '.error.firstName';
	if(isEmpty(firstName)) {
		DWRUtil.setValue(fnErrorField, 'This field is required.');
		validLightProfile = false;
	}

	var lnErrorField = formId + '.error.lastName';
	if(isEmpty(lastName)) {
		DWRUtil.setValue(lnErrorField, 'This field is required.');
		validLightProfile = false;
	}

   	var psdErrorField = formId + '.error.password';
   	if (isEmpty(password) || password.length<6){
		DWRUtil.setValue(psdErrorField, 'Password should be at least 6 characters long.');
		validLightProfile = false;
   	} else if (password != confirmPassword){
		DWRUtil.setValue(psdErrorField, 'Your password does not match confirm password.');
		validLightProfile = false;
   	}

   	var code = isDate(eventDate);
   	var dateField = formId + '.error.eventDate';
	if (code == -4 ){
		DWRUtil.setValue(dateField, 'Invalid Date. Enter date in MM/dd/yyyy format.');
		validLightProfile = false;
	} else if (code == -6) {
		DWRUtil.setValue(dateField, 'Please enter a future date.');
		validLightProfile = false;
	} else if (code == -7) {
		DWRUtil.setValue(dateField, 'Invalid date.');
		validLightProfile = false;
	} else if (code != 1) {
		DWRUtil.setValue(dateField, 'Invalid Date. Enter date in MM/dd/yyyy format.');
		validLightProfile = false;
	}

   	if (regionId==0){
		DWRUtil.setValue(formId + '.error.marketId', 'Please select a wedding location.');
		validLightProfile = false;
   	} else if (regionId==-1 && isEmpty(weddingLocation)) {
		DWRUtil.setValue(formId + '.error.weddingLocation', 'This field is required.');
		validLightProfile = false;
   	}

  	if (!isValidZip(zip) && !isValidPostalCode(zip)){
		DWRUtil.setValue(formId + '.error.zip', 'Invalid Zip/Postal Code.');
		validLightProfile = false;
  	}
   	if(validLightProfile){
   		UserService.isEmailUnique(email, {
		  callback:function(valid) {
		    emailCallback(valid, formId);
		  }
		});
   	}
}

function resetRegFormErrors(formId){
	DWRUtil.setValue(formId + '.error.email', '');
	DWRUtil.setValue(formId + '.error.firstName', '');
	DWRUtil.setValue(formId + '.error.lastName', '');
	DWRUtil.setValue(formId + '.error.password', '');
	DWRUtil.setValue(formId + '.error.eventDate', '');
	DWRUtil.setValue(formId + '.error.marketId', '');
	DWRUtil.setValue(formId + '.error.weddingLocation', '');
	DWRUtil.setValue(formId + '.error.zip', '');
}

function emailCallback(valid, formId) {
	if(!valid){
		DWRUtil.setValue(formId + '.error.email', 'That email address has already been taken.');
	}else {
		$(formId).submit();
	}
}
//end light registration
