﻿

//Groups the registration form into sections so we can control visibility per section.
var intGroupCount = 8;

//This function call is registered on the server
//in the event of invalid data so that patients and hcps
//can see items hidden by default.
//1 = Patient; 4 = HCP.
function showQuestionGroups(strPatientType) {
	//alert('showQuestionGroups: strPatientType' + strPatientType);
	if (strPatientType == '1') {
		toggleGroup(3, true);
		toggleGroup(8, true);
	}
	if (strPatientType == '4') {
		//alert('showQuestionGroups: strPatientType' + strPatientType);
		toggleGroup(2, true);
		document.getElementById('reg_user_Specialty').selectedIndex = 0;
	}
}

function showSpecialtyFieldOnError() {
	showQuestionGroups('4');
	//Flag (if js is not utilized, user won't see this).
	setMainErrorMessage(DefaultErrorMessage);
	setErrorMessage('reg_user_Specialty', ErrMsg_Required);
}

////////////////////////////////////////
//Hide / Show Password
////////////////////////////////////////
function togglePassword(bShow) {
	resetGroup6();
	if (bShow) {
		toggleGroup(6, true);
	}
	else {
		toggleGroup(6, false);
	}
}
////////////////////////////////////////
//Hide /Show HCP Specialty
////////////////////////////////////////
function toggleSpecialty(bShow) {
	resetGroup2();
	if (bShow) {
		toggleGroup(2, true);
	}
	else {
		toggleGroup(2, false);
	}
}
////////////////////////////////////////
//Hide / Show Advanced BC Notification Message
////////////////////////////////////////
function toggleAdvancedBCMsg(bShow) {
	var msg = document.getElementById('spnAdvancedBCMessage');
	if (bShow) {
		msg.style.display = 'block';
	}	
	else {
		msg.style.display = 'none';
	}
}
////////////////////////////////////////
//Hide / Show Patient Surveys
////////////////////////////////////////
function togglePatientSurveys(bShow) {
	resetGroup3();
	resetGroup8();
	if (bShow) {
		toggleGroup(3, true);
		toggleGroup(8, true);
	}
	else {
		toggleGroup(3, false);
		toggleGroup(8, false);
	}
}

function resetAllGroups() {
	//No need to toggle groups off here.
	resetGroup1();		
	resetGroups2_8();
}

function resetGroups2_8() {
	resetGroup2();		toggleGroup(2, false);
	resetGroups3_8();
}

function resetGroups3_8() {
	resetGroup3();		toggleGroup(3, false);
	resetGroups5_8();
}

function resetGroups5_8() {
	resetGroup5();		toggleGroup(5, false);
	resetGroup6();		toggleGroup(6, false);
	resetGroup7();		toggleGroup(7, false);
	resetGroup8();		toggleGroup(8, false);
}

function resetGroup1() {
	document.getElementById('reg_survey_1').checked = false;
	document.getElementById('reg_survey_2').checked = false;
	document.getElementById('reg_survey_3').checked = false;
	document.getElementById('reg_survey_4').checked = false;
}

function resetGroup2() {
	document.getElementById('reg_user_Specialty').selectedIndex = 0;
}

function resetGroup3() {
	document.getElementById('reg_survey_6').checked = false;
	document.getElementById('reg_survey_7').checked = false;
	document.getElementById('reg_survey_8').checked = false;
}

function resetGroup5() {
	document.getElementById('reg_user_FirstName').value = '';
	document.getElementById('reg_user_LastName').value = '';
	document.getElementById('reg_user_Address1').value = '';
	document.getElementById('reg_user_Address2').value = '';
	document.getElementById('reg_user_City').value = '';
	document.getElementById('reg_user_State').selectedIndex = 0;
	document.getElementById('reg_user_Zip').value = '';
	document.getElementById('reg_user_EmailAddress').value = '';
	document.getElementById('reg_user_ConfirmEmail').value = '';
	document.getElementById('reg_user_DOBMonth').value = '';
	document.getElementById('reg_user_DOBDay').value = '';
	document.getElementById('reg_user_DOBYear').value = '';
	document.getElementById('reg_user_Phone1').value = '';
}

function resetGroup6() {
	document.getElementById('reg_user_Password').value = '';
	document.getElementById('reg_user_ConfirmPassword').value = '';
	document.getElementById('reg_user_SearchProfile').checked = false;
}

function resetGroup7() {
	document.getElementById('reg_optin_1').checked = false;
	document.getElementById('reg_optin_2').checked = false;
	document.getElementById('reg_optin_3').checked = false;
}

function resetGroup8() {
	clearTreatmentCompleteDate();
	clearNeverOption();
	clearTherapies();
}

function clearNeverOption() {
	document.getElementById('reg_survey_30').checked = false;
}

function clearTreatmentCompleteDate() {
		document.getElementById('reg_survey_9').checked = false;
		document.getElementById('reg_survey_10').checked = false;
		document.getElementById('reg_survey_11').checked = false;
		document.getElementById('reg_survey_12').checked = false;
		document.getElementById('reg_survey_13').checked = false;
		document.getElementById('reg_survey_14').checked = false;
		document.getElementById('reg_survey_15').checked = false;
		document.getElementById('reg_survey_16').checked = false;
		document.getElementById('reg_survey_31').checked = false; // N/A
}

function clearTherapies() {
		clearNeverOption();
		document.getElementById('reg_survey_17').value = '';
		document.getElementById('reg_survey_18').checked = false;
		document.getElementById('reg_survey_19').checked = false;
		document.getElementById('reg_survey_20').value = '';
		document.getElementById('reg_survey_21').checked = false;
		document.getElementById('reg_survey_22').checked = false;
		document.getElementById('reg_survey_23').value = '';
		document.getElementById('reg_survey_24').checked = false;
		document.getElementById('reg_survey_25').checked = false;
		document.getElementById('reg_survey_26').value = '';
		document.getElementById('reg_survey_32').checked = false; //Added faslodex 9/9/09
		document.getElementById('reg_survey_33').checked = false; //Added faslodex 9/9/09
		document.getElementById('reg_survey_34').value = '';		 //Added faslodex 9/9/09
		document.getElementById('reg_survey_27').checked = false;
		document.getElementById('reg_survey_28').checked = false;
		document.getElementById('reg_survey_29').value = '';
}

//If the user indicates that she/he has never used hormonal treatment
//clear the other hormonal survey items.
function clearHormonalSurveyItems() {
	var radNever = document.getElementById('reg_survey_30');
	if (radNever.checked) {
		document.getElementById('reg_survey_15').checked = false;
		document.getElementById('reg_survey_16').checked = false;
		document.getElementById('reg_survey_17').value = '';
		document.getElementById('reg_survey_18').checked = false;
		document.getElementById('reg_survey_19').checked = false;
		document.getElementById('reg_survey_20').value = '';
		document.getElementById('reg_survey_21').checked = false;
		document.getElementById('reg_survey_22').checked = false;
		document.getElementById('reg_survey_23').value = '';
		document.getElementById('reg_survey_24').checked = false;
		document.getElementById('reg_survey_25').checked = false;
		document.getElementById('reg_survey_26').value = '';
		document.getElementById('reg_survey_32').checked = false; //Added faslodex 9/9/09
		document.getElementById('reg_survey_33').checked = false; //Added faslodex 9/9/09
		document.getElementById('reg_survey_34').value = '';		 //Added faslodex 9/9/09
		document.getElementById('reg_survey_27').checked = false;
		document.getElementById('reg_survey_28').checked = false;
		document.getElementById('reg_survey_29').value = '';
	}
}

//User can only select 1 "now on" option. 
//Clear other "now on" options.
function clearNowOns(radio) {

	//Uncheck now ons
	document.getElementById('reg_survey_16').checked = false;
	document.getElementById('reg_survey_19').checked = false;
	document.getElementById('reg_survey_22').checked = false;
	document.getElementById('reg_survey_25').checked = false;
	document.getElementById('reg_survey_33').checked = false; //Added faslodex 9/9/09
	document.getElementById('reg_survey_28').checked = false;

	//Clear months text
	document.getElementById('reg_survey_17').value = '';
	document.getElementById('reg_survey_20').value = '';
	document.getElementById('reg_survey_23').value = '';
	document.getElementById('reg_survey_26').value = '';
	document.getElementById('reg_survey_34').value = ''; //Added faslodex 9/9/09
	document.getElementById('reg_survey_29').value = '';

	//Check selected now on
	radio.checked = true;

}

//Hides/reveals registration control groups based on
//the origin group and selection.
function getRegGroup(intOriginGroup,intOriginSelection) {

	var i = intOriginGroup;			//The group from which the selection was made.
	var j = intOriginSelection;	//The selection made.
	var arrShow = [];					//Array of groups to show based on criteria.
	
	if (IsNumeric(i) && IsNumeric(j)) {
		//Depending on what our origin group and selection are, 
		//we'll hide and/or reveal different information.
		switch(i) {
			case 1: //Group 1: Segmentation.
				clearAllErrors();
				switch(j) {
					case 1: //Patient.
						togglePatientSurveys(true);
						togglePassword(true);
						toggleSpecialty(false);
						toggleAdvancedBCMsg(false);
						break;
					case 2: //Caregiver.
						togglePatientSurveys(false);
						togglePassword(true);
						toggleSpecialty(false);
						toggleAdvancedBCMsg(false);
						break;
					case 3: //Other (request more information).
						togglePatientSurveys(false);
						togglePassword(true);
						toggleSpecialty(false);
						toggleAdvancedBCMsg(false);
						break;
					case 4: //HCP
						uncoverSelects();
						togglePatientSurveys(false);
						togglePassword(true);
						toggleSpecialty(true);
						toggleAdvancedBCMsg(false);
						break;
				}
				break;
			case 2:  //Group 2: Patient: Stage of breast cancer.
				clearAllErrors();
				switch(j) {
					case 1: //Early
						var bPatient = isUserPatient();
						if (bPatient) {
							togglePassword(true);
							toggleAdvancedBCMsg(false);
						}
						break;
					case 2: //Advanced
						var bPatient = isUserPatient();
						if (bPatient) {
							togglePassword(false);
							toggleAdvancedBCMsg(true);
						}
						break;
					case 3: //Unknown
						var bPatient = isUserPatient();
						if (bPatient) {
							togglePassword(true);
							toggleAdvancedBCMsg(false);
						}
						break;
				}
				break;
		}
	}
}

function enableSubmitButton() {
	document.getElementById('btnSubmitRegistration').style.display = 'block';
}

function disableSubmitButton() {
	document.getElementById('btnSubmitRegistration').style.display = 'none';
}

function getRandom() {
	var randomnumber = Math.floor(Math.random()*100001);
	return randomnumber;
}

function loadTestFormValues() {
	var r = getRandom();
	var eml = r + '@user.com';
	document.getElementById('reg_user_FirstName').value = 'John';
	document.getElementById('reg_user_LastName').value = 'Smith';
	document.getElementById('reg_user_Address1').value = '123 main st';
	document.getElementById('reg_user_Address2').value = '2nd floor';
	document.getElementById('reg_user_City').value = 'motown';
	document.getElementById('reg_user_State').selectedIndex = 2;
	document.getElementById('reg_user_Zip').value = '12345';
	document.getElementById('reg_user_EmailAddress').value = eml;
	document.getElementById('reg_user_ConfirmEmail').value = eml;
	document.getElementById('reg_user_Password').value = 'asdfasdf';
	document.getElementById('reg_user_ConfirmPassword').value = 'asdfasdf';
	document.getElementById('reg_user_Phone1').value = '1234567890';
	document.getElementById('reg_user_DOBMonth').value = '01';
	document.getElementById('reg_user_DOBDay').value = '02';
	document.getElementById('reg_user_DOBYear').value = '1955';
}

function loadAdvancedBCFormValues() {
	var r = getRandom();
	var eml = r + '@user.com';
	document.getElementById('reg_user_FirstName').value = 'John';
	document.getElementById('reg_user_LastName').value = 'Smith';
	document.getElementById('reg_user_Address1').value = '123 main st';
	document.getElementById('reg_user_Address2').value = '2nd floor';
	document.getElementById('reg_user_City').value = 'motown';
	document.getElementById('reg_user_State').selectedIndex = 2;
	document.getElementById('reg_user_Zip').value = '12345';
	document.getElementById('reg_user_EmailAddress').value = eml;
	document.getElementById('reg_user_ConfirmEmail').value = eml;
	document.getElementById('reg_user_Phone1').value = '1234567890';
	document.getElementById('reg_user_DOBMonth').value = '01';
	document.getElementById('reg_user_DOBDay').value = '02';
	document.getElementById('reg_user_DOBYear').value = '1955';
}

function restartForm() {
	var strURL = window.location.href;
	window.location.href = strURL;
}

function loadOptTestFormValues() {
	document.getElementById('reg_optin_1').checked = true;
	document.getElementById('reg_optin_3').checked = true;
}

function loadSurveyTestFormValues() {
	document.getElementById('reg_survey_10').checked = true;
	document.getElementById('reg_survey_15').checked = true;
	document.getElementById('reg_survey_16').value = 3;
}

//Hide whatever groups we don't want shown.
function showRegGroups(arrGroupsToShow) {
	if (arrGroupsToShow.length > 0) {
		toggleAllGroups(false);
		for (var x = 0; x < arrGroupsToShow.length; x++) {
			var item = arrGroupsToShow[x];
			for (var y = 1; y <= intGroupCount; y++) {
				var bMatch = (item == y);
				if (bMatch) {
					toggleGroup(y,true);
				}
			}
		}
	}
}

function toggleAllGroups(bShowAll) {
	for (var g = 1; g < intGroupCount; g++) {
		var grp = 'group' + g;
		if (bShowAll) { document.getElementById(grp).style.display = 'block'; }
		else { document.getElementById(grp).style.display = 'none'; }
	}
}

function toggleGroup(id,bShow) {
	var grp = 'group' + id;
	if (bShow) { document.getElementById(grp).style.display = 'block'; }
	else { document.getElementById(grp).style.display = 'none'; }
}

//Toggles the refresh form flag so we can control whether the
//form is cleared or not.
function toggleRefreshFlag(i) {
	var refreshflag = document.getElementById('hidResetOnRefresh');
	if (i == 0) {
		refreshflag.value = 'false';
	}
	else {
		refreshflag.value = 'true';
	}
}

function ReloadFormWithErrors() {
	//alert('reloading with startup script...');
}

//Clears form values so we don't have stale data on page refresh.
function resetRegisterForm() {
	
	var refreshflag = document.getElementById('hidResetOnRefresh');
	if (refreshflag.value == 'true') {

		var inputs = document.getElementsByTagName('input');
		var selects = document.getElementsByTagName('select');
		for (var i in inputs) {
			var typ = inputs[i].type;
			if (typ == 'checkbox' || typ == 'radio') { inputs[i].checked = false; }
			if (typ == 'text' || typ == 'password') { inputs[i].value = ''; }
		}
		for (var j in selects) {
			selects[j].selectedIndex = 0;
		}

		////////////////////////////////////
		//alert('form values cleared.');
		////////////////////////////////////
		
	}
}


//Toggles the user validation flag ON.
function setHiddenAsValid() {
	var hValid = document.getElementById('hidValidUserData');
	hValid.value = '1';
}

//Toggles the user validation flag OFF.
function setHiddenAsInvalid() {
	var hValid = document.getElementById('hidValidUserData');
	hValid.value = '0';
}