// Function for retrieving cookie values
function getCookie(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin !== 0) {
		 return null;
		 }
	} else {
		begin += 2;
		}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1) {
		end = dc.length;
		}
	return unescape(dc.substring(begin + prefix.length, end));
}

// Set up a variable to be used to see if the cookie has been set
var userSave = getCookie("homeSave");

// Function called when the login form is submitted
function submitLogin(){

	// Declare variable to hold form action and target values for each portal
	
	//*************** Acceptance **********************
	//var cons_action = 'https://a-memberportal.cigna.com/corp/sso/member/forms/memberlogin.fcc';
	//var cons_target = 'https://a-memberportal.cigna.com/corp/sso/ci/member/eai.do';
	//var prov_action = 'https://sso.cigna.com/corp/sso/dlgprovider/forms/providerlogin.fcc';
	//var prov_target = 'https://sso.cigna.com/corp/sso/dlg/provider/secure/controller?command=homepage';
	//var empl_action = 'https://sso.cigna.com/corp/sso/prof/forms/professionallogin.fcc';
	//var empl_target = 'https://portal-accept2.cigna.com/corp/portal/app/employer/secure/jsp/myCIGNAforEmployers.jsp';
	
	//*************** Stage **********************
	//var cons_action = 'https://my.cigna.com/pkmslogin.form';
	/*var cons_target = 'https://my.cigna.com/pkmslogin.form'*/
	//var prov_action = 'https://sso.cigna.com/corp/sso/dlgprovider/forms/providerlogin.fcc'; 
	//var prov_target = 'https://sso.cigna.com/corp/sso/dlg/provider/secure/controller?command=homepage';
	//var empl_action = 'https://sso.cigna.com/corp/sso/prof/forms/professionallogin.fcc';
	//var empl_target = 'https://portal-accept2.cigna.com/corp/portal/app/employer/secure/jsp/myCIGNAforEmployers.jsp';
		
	//*************** Production **********************
	/* var cons_action = 'https://my.cigna.com/corp/sso/member/forms/memberlogin.fcc'; 2011-08-29 MXJAN1 */
	var cons_action = 'https://s-memberportal.cigna.com/pkmslogin.form'; // Siteminder Retirement 2011
	var cons_target = 'pwd';
	var prov_action = 'https://sso.corp.cigna.com/corp/sso/dlgprovider/forms/providerlogin.fcc';
	var prov_target = 'https://sso.corp.cigna.com/corp/sso/dlg/provider/secure/controller?command=homepage';
	var empl_action = 'https://sso.corp.cigna.com/corp/sso/prof/forms/professionallogin.fcc';
	var empl_target = 'https://sso.corp.cigna.com/corp/sso/professional/secure/controller?command=homepage';
	
	
	//*************** Making it relative for prov *****
	//ENVIRONMENT	URL
	//DEV	https://d-providerportal.cigna.com/pkmslogin.form
	//ACCP	https://a-providerportal.cigna.com/pkmslogin.form
	//STAGE	https://s-providerportal.cigna.com/pkmslogin.form
	//PROD	https://cignaforhcp.cigna.com/pkmslogin.form
	var myDomain = document.domain;
	if(myDomain == "d-www.cigna.com") {
		prov_action = 'https://d-providerportal.cigna.com/pkmslogin.form';
	} else if(myDomain == "qawww.cigna.com") {
		prov_action = 'https://a-providerportal.cigna.com/pkmslogin.form';
	} else if(myDomain == "stage.cigna.com") {
		prov_action = 'https://s-providerportal.cigna.com/pkmslogin.form';
	} else if(myDomain == "www.cigna.com") {
		prov_action = 'https://cignaforhcp.cigna.com/pkmslogin.form';
	}
	
	
	// Set the default portal value
	var user_portal = '1';

  // hide error messages if visible
	document.getElementById('userID_errorMessage').style.display = "none";
	document.getElementById('password_errorMessage').style.display = "none";

	// Check to see that a user id was entered
	if (document.frmLogin.USERNAME.value === "") {
		document.getElementById('userID_errorMessage').style.display = "inline";
		return false;
	}

	// Check to see that a password was entered
	if (document.frmLogin.PASSWORD.value === "") {
		document.getElementById('password_errorMessage').style.display = "inline";
		return false;
	}

	//document.getElementById('selPortal').value = document.frmLogin.myPortal.value;
	//var selPortal = document.frmLogin.myPortal.value;

	// Set form action and target value based on which portal the user selected
	if (document.getElementById('selPortal').value == "1") {
		document.frmLogin.action = cons_action;
		//document.frmLogin.TARGET.value = cons_target; // 2011-08-29
		//document.frmLogin.login-form-type.value = cons_target;
		user_portal="1";
	} else if (document.getElementById('selPortal').value == "2") {
		document.frmLogin.action = prov_action;
		document.frmLogin.TARGET.value = prov_target;
		user_portal="2";
	} else if (document.getElementById('selPortal').value == "3") {
		document.frmLogin.action = empl_action;
		document.frmLogin.TARGET.value = empl_target;
		user_portal="3";
	} else {
		alert('A form error was encountered.  Please contact us.');
		return false;
	}	
	
	
	
	// Set the expiration date for the cookies
	var date = new Date();
	date.setTime(date.getTime()+(365*24*60*60*1000));
	var expires = date.toGMTString();
	
	// Commented out if test and always saving the cookie
	// Write the cookies if the user selected save info or delete cookies if not
	//if (document.frmLogin.saveInfo.checked === true){
		document.cookie = "homeSave=Y; expires="+expires;
		document.cookie = "homePortal="+user_portal+"; expires="+expires;
	//} else {
	//	document.cookie = "homeSave=N; expires=-1";
	//	document.cookie = "homePortal=1; expires=-1";
	//}
	
	// Submit the form	
	document.frmLogin.submit();
	return true;
}

// Function to set the default portal based on the info in the cookie
function setTarget(){
	if (userSave == 'Y'){
		//document.frmLogin.myPortal.value = getCookie("homePortal");
		document.getElementById('selPortal').value = getCookie("homePortal");
		// document.frmLogin.saveInfo.checked = true;
	} else {
		//document.getElementById('selPortal').value = "1";
		// document.frmLogin.saveInfo.checked = false;
	}
}


// Function called when the Provider Directory search form is submitted
function submit_prov_form() {
	// Initialize and hide error message if visible. Text value can change when checkZip() is called.
	document.getElementById('providerSearch_errorMessage').innerHTML = "enter city/state -or- zip code";
	document.getElementById('providerSearch_errorMessage').style.display = "none";
	
	// Check to see if location and state and zip are all empty
	if (document.dataform.city.value == "" && document.dataform.zip.value == "") {
		document.getElementById('providerSearch_errorMessage').style.value = "enter city/state -or- zip code";
		document.getElementById('providerSearch_errorMessage').style.display = "inline";
		return false;
	}
	
	// Check to see if default location and state and zip were never changed
	if (document.dataform.city.value == "City" && document.dataform.zip.value == "ZIP Code") {
		document.getElementById('providerSearch_errorMessage').style.value = "enter city/state -or- zip code";
		document.getElementById('providerSearch_errorMessage').style.display = "inline";
		return false;
	}


	// Check to see if default state and zip code values were never changed
	if (document.dataform.zip.value == "ZIP Code" && document.dataform.state.value == "0"  ) {
		document.getElementById('providerSearch_errorMessage').style.value = "enter city/state";
		document.getElementById('providerSearch_errorMessage').style.display = "inline";
		return false;
	}

	// Check to see if location and zip code are both empty
	if (document.dataform.zip.value == "" && document.dataform.state.value == "0"  ) {
		document.getElementById('providerSearch_errorMessage').style.value = "enter city/state";
		document.getElementById('providerSearch_errorMessage').style.display = "inline";
		return false;
	}
	
	// Check to see if both City/State and ZIP are completed. If so, clear City/State. ZIP is more accurate
	if (document.dataform.city.value != "City" && document.dataform.city.value != "" && document.dataform.state.value != "0" && document.dataform.zip.value != "ZIP Code" && document.dataform.zip.value != "") {
		document.dataform.city.value = "";
		document.dataform.state.value = "0";
	}
	

  //Scrub the default text values
	if (document.dataform.zip.value == "ZIP Code") {
		document.dataform.zip.value = "";
	}
	
	if (document.dataform.city.value == "City") {
		document.dataform.city.value = "";
		document.dataform.state.value = "0";
	}
	
	if (document.dataform.searchname.value == "Last Name") {
		document.dataform.searchname.value = "";
		//document.dataform.state.value = "0";
	}
	return checkZip();

	// Check which site the user is on, and send to the correct Arvato site
	//return setPD_URL();
	// Submit the form
	document.dataform.submit();
	return true;
}

function checkZip() {
	//alert("Inside checkZip()");
	if ((document.dataform.zip.value.length < 5) && (document.dataform.zip.value != "")){
		document.getElementById('providerSearch_errorMessage').style.display = "inline";
		document.getElementById('providerSearch_errorMessage').innerHTML = "Invalid Zip Code.";
		document.dataform.zip.value='ZIP Code';
		//alert("Zip < 5 and zip isn't empty");
		return false;
	}

	if ((document.dataform.zip.value.length > 4) && (document.dataform.zip.value != "ZIP Code")){
		//alert("Zip > 4 and not equal to ZIP Code");
		var ValidChars = "0123456789-";
		var IsNumber = true;
		var Char;
		var zipValue = document.dataform.zip.value;
		var zipSize = zipValue.length;

		for (var i=0; i<zipSize && IsNumber == true; i++) 
		{
			//alert("Inside checkZip() for loop");
			charVal = zipValue.charAt(i); 
			if (ValidChars.indexOf(charVal) == -1) 
			{
				//alert("Invalid character: " + charVal);
				document.dataform.zip.value='ZIP Code';
				//document.dataform.zip.focus();
				
				document.getElementById('providerSearch_errorMessage').style.display = "inline";
				document.getElementById('providerSearch_errorMessage').innerHTML = "Invalid character(s) found in Zip Code field.";
				//alert ('You have entered one or more invalid characters into a numeric input field.\n\nPlease be sure to enter only values: ' + ValidChars + '.');
				IsNumber = false;
				return false;
			}
		}
	}
	//alert("Leaving checkZip()");
	return setPD_URL();
}

/*
function setPortal(portalVal) {
	document.frmLogin.myPortal.value = portalVal;
	return true;
}*/

function setPortalLogin(consumer,provider,employer) {
	var consumer = parseInt(consumer);
	var provider = parseInt(provider);
	var employer = parseInt(employer);
	
	var atLeast1Down = false;
	var portalsDownCnt = 0;
	var portalDown1 = " currently unavailable due to scheduled maintenance. Please check back later.";

	var consumerText = "";
	var consumerDown = " myCIGNA";
	if ((consumer != 0) && (consumer != 1)) { consumer = 1; }
	if (consumer == 1) { consumerText = "<option selected value='1'>myCIGNA</option>"; consumerDown = "";}
	else {
		portalsDownCnt += 1;
		atLeast1Down = true;
	} 

	var providerText = "";
	var providerDown = " CIGNAforHCP";
	if ((provider != 0) && (provider != 1)) { provider = 1; }
	if (provider == 1) { 
		if (consumer == 1) { providerText = "<option value='2'>cignaforhcp - Providers</option>";}
		else { providerText = "<option value='2' selected>cignaforhcp - Providers</option>";}
	providerDown = "";
	}	
	else {
		portalsDownCnt += 1;
		atLeast1Down = true;
	}
	
	var employerText = "";
	var employerDown = " CIGNAaccess.com";
	if ((employer != 0) && (employer != 1)) { employer = 1; }
	if (employer == 1) { 
		if ((consumer != 1) && (provider != 1)) { employerText = "<option value='3' selected>CIGNAaccess.com - Employers</option>"; }
		else { employerText = "<option value='3'>CIGNAaccess.com - Employers</option>"; }
	employerDown = "";
	}
	else {
		portalsDownCnt += 1;
		atLeast1Down = true;
	}
	
	if (atLeast1Down == false) {document.getElementById('portalMsg').style.visibility = 'hidden'; document.getElementById('portalMsg').style.display = 'none';}

	if (portalsDownCnt < 3) {
		sepString = "";
		transWord = " is ";
		
		document.getElementById("frmLogin").disabled = false;
		if ((consumer != 1) || (provider != 1) || (employer != 1)) {
			document.getElementById('portalMsg').className = "portalsDown";
			if (portalsDownCnt == 2) {
				transWord = " are ";
				if (consumer == 0) {consumerDown = consumerDown + ", ";}
				if ((provider == 0) && (employer == 0)) {providerDown = providerDown + ", ";}
			}
			document.getElementById('portalMsg').innerHTML = consumerDown + providerDown + employerDown + transWord + portalDown1;
		}
		//document.getElementById("userIDText").className="protected";
		//document.getElementById("passwordText").className="protected";
		//document.writeln("<select size='1' name='selPortal' style='width:165px; height:15px;' class='portal'>");
		//document.writeln(consumerText);
		//document.writeln(providerText);
		//document.writeln(employerText);
		//document.writeln("</select>");
		document.getElementById('dropDownList').innerHTML = "<select size='1' name='selPortal' id='selPortal' style='width:165px; height:18px; padding:-2px;' class='portal'>" + consumerText + providerText + employerText + "</select>"
		
		document.frmLogin.USERNAME.value = "";
		document.frmLogin.USERNAME.disabled = false;
		document.frmLogin.USERNAME.readonly = false;
		document.getElementsByName('USERNAME').className = "";

		document.frmLogin.PASSWORD.value = "";
		document.frmLogin.PASSWORD.disabled = false;
		document.frmLogin.PASSWORD.readonly = false;
		document.getElementsByName('PASSWORD').className = "";
		return;
	}
	else {
		
		document.getElementById('dropDownList').innerHTML = "<select size='1' name='selPortal' id='selPortal' style='width:165px; height:18px; padding:-2px;' class='portal' disabled><option selected value='1'>myCIGNA</option></select>"
		//document.writeln("<select size='1' name='selPortal' style='width:165px; height:15px;' class='portal' disabled>");
		//document.writeln("<option selected value='1'>myCIGNA</option>");
		//document.writeln("</select>");

		//document.selPortal.imgGo.disabled = true;
		document.getElementById('imgGo').style.visibility = 'hidden';
		document.getElementById('imgGo').style.display = 'none';

		document.frmLogin.USERNAME.value = "";
		document.frmLogin.USERNAME.disabled = true;
		document.frmLogin.USERNAME.readonly = true;
		document.getElementsByName('USERNAME').className = "protected";

		document.frmLogin.PASSWORD.value = "";
		document.frmLogin.PASSWORD.disabled = true;
		document.frmLogin.PASSWORD.readonly = true;
		document.getElementsByName('PASSWORD').className = "protected";
		
		document.getElementById('hpsecurity').style.visibility = 'hidden';
		document.getElementById('hpsecurity').style.display = 'none';
		document.getElementById('hpforgotID').style.visibility = 'hidden';
		document.getElementById('hpforgotID').style.display = 'none';
		
		document.getElementById('hpLoginInstructions').style.height = '0px';
		document.getElementById('hpLoginInstructions').style.visibility = 'hidden';
		document.getElementById('hpLoginInstructions').style.display= 'none';

		//document.getElementById('frmLogin').disabled = true;

		//document.getElementById('hpLoginAlert').style.visibility = '';
		document.getElementById('portalMsg').className = "portalsDown";
		document.getElementById('portalMsg').innerHTML = "CIGNA's secure web sites are unavailable due to maintenance. Please check back later.";
		//document.getElementById("userIDText").className="unprotected";
		//document.getElementById("passwordText").className="unprotected";
		//return;
	}
	
	/*if (employer == 1) {document.frmLogin.myPortal.value = "3";} 
	if (provider == 1) {document.frmLogin.myPortal.value = "2";}
	if (consumer == 1) {document.frmLogin.myPortal.value = "1";}*/
	
	if (employer == 1) {document.getElementById('selPortal').value = "3";} 
	if (provider == 1) {document.getElementById('selPortal').value = "2";}
	if (consumer == 1) {document.getElementById('selPortal').value = "1";}
}

function setPD_URL() {
	var bni = "http://cigna.benefitnation.net/cigna/(r2pvr2jci5g4qh45dlnyliqj)/Physician.aspx";
	var newLocation = location.href;
	var protocol = newLocation.split('://');
	var domain = protocol[1].split('/');
	if (domain[0] == ("wdcinp061")) {bni = "http://staging.arvatocim.com/cigna_general_redesign/(r2pvr2jci5g4qh45dlnyliqj)/Physician.aspx";}

	if (domain[0] == ("d-www.cigna.com")) {bni = "http://staging.arvatocim.com/cigna_general_redesign/(r2pvr2jci5g4qh45dlnyliqj)/Physician.aspx";}
	if (domain[0] == ("192.168.204.239")) {bni = "http://staging.arvatocim.com/cigna_general_redesign/(r2pvr2jci5g4qh45dlnyliqj)/Physician.aspx";}

	if (domain[0] == ("qawww.cigna.com")) {bni = "http://staging.arvatocim.com/cigna_general_redesign/(r2pvr2jci5g4qh45dlnyliqj)/Physician.aspx";}		
	if (domain[0] == ("qawww06.cigna.com")) {bni = "http://staging.arvatocim.com/cigna_general_redesign/(r2pvr2jci5g4qh45dlnyliqj)/Physician.aspx";}
	if (domain[0] == ("192.168.204.231")) {bni = "http://staging.arvatocim.com/cigna_general_redesign/(r2pvr2jci5g4qh45dlnyliqj)/Physician.aspx";}

	if (domain[0] == ("129.33.68.182")) {bni = "http://staging.arvatocim.com/cigna_general_redesign/(r2pvr2jci5g4qh45dlnyliqj)/Physician.aspx";}
	if (domain[0] == ("stage.cigna.com")) {bni = "http://staging.arvatocim.com/cigna_general_redesign/(r2pvr2jci5g4qh45dlnyliqj)/Physician.aspx";}
	if (domain[0] == ("129.33.68.140")) {bni = "http://staging.arvatocim.com/cigna_general_redesign/(r2pvr2jci5g4qh45dlnyliqj)/Physician.aspx";}
	var pdSearch = document.getElementById("frm_pdSearch");
	pdSearch.action = bni;
	//alert("Domain: " + domain[0] + "\n\nProvider URL: " + pdSearch);
}
