 






function getLoginCookie(c_name)
    {
    if (document.cookie.length>0)
      {
      c_start=document.cookie.indexOf(c_name + "=");
      if (c_start!=-1)
        {
        c_start=c_start + c_name.length+1;
        c_end=document.cookie.indexOf(";",c_start);
        if (c_end==-1) c_end=document.cookie.length;
        return unescape(document.cookie.substring(c_start,c_end));
        }
      }
    return "";
 }
 
 
function setLoginCookie( name, value, expires, path, domain, secure ){
               
	        domain = ".aafp.org";
	       
                // set time, it's in milliseconds
                var today = new Date();
                today.setTime( today.getTime() );

                /*
                if the expires variable is set, make the correct
                expires time, the current script below will set
                it for x number of days, to make it for hours,
                delete * 24, for minutes, delete * 60 * 24
                */
                if ( expires )
                {
                	expires = expires * 1000 * 60 * 60 * 24;
                }
                var expires_date = new Date( today.getTime() + (expires) );

                document.cookie = name + "=" +escape( value ) +
                ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
                ( ( path ) ? ";path=" + path : "" ) +
                ( ( domain ) ? ";domain=" + domain : "" ) +
                ( ( secure ) ? ";secure" : "" );
                
}

function deleteLoginCookie(c_name){
       var tmp = getLoginCookie(c_name);
       if(tmp) 
       { 
		setLoginCookie(c_name, '', -1);
       }
}
/*******************************************************************/

   var aafpid = getLoginCookie("U");
   var rmid = getLoginCookie("RM");
   var loggedin = false;

   var loginreferer = new String(window.location);
   //alert("loginreferer: " + loginreferer);
   
   var showlogindebugging = false;
   
   if(loginreferer.match("debugloginscript"+"$")){
   	showlogindebugging = true;
   }      
 
   var remembercheck = '';

   if (rmid) {
       remembercheck = 'CHECKED';
   }

   
   if (aafpid == '' || aafpid == '0000000') {
      if(rmid == ''){
      	rmid = 'Username';
      }
      ShowLogin();
   } else {
      NoLogin();
   }
   

function hideLoginElement(name) { 
    if (document.getElementById){
      document.getElementById(name).style.display = 'none'; 
    }
    else if (document.all) {
      document.all[name].style.display = 'none'; 
    }
} 

function showLoginElement(name) { 
    if (document.getElementById) 
      document.getElementById(name).style.display = 'inline'; 
    else if (document.all) 
      document.all[name].style.display = 'inline'; 
}  
function getFieldvalue(name) { 
    if (document.getElementById) 
      return document.getElementById(name).value; 
    else if (document.all) 
      return document.all[name].value; 
}    

function getImageUrl(argImagePath){
	var imagePath = new String(argImagePath);
	var referPage = new String(window.location);
	
	var referUrl = new String("http://www.aafp.org");
	if(referPage.indexOf("https://") > -1){
		referUrl = new String("https://secure.aafp.org");
	}	
	
	
	
	
	if(imagePath.indexOf("/") == 0){
		imagePath = referUrl + imagePath;
	}
	else if(imagePath.indexOf("http://") > -1 && referPage.indexOf("https://") == 0){
		imagePath = imagePath.replace(/http:/gi, "https:");
	}
	
	return imagePath;
}

function NoLogin () {
	var loginHeaderImageStr = getImageUrl('/online/etc/medialib/aafp_org/images/global_images/members-log-in.Par.0001.Image.gif');
	document.write('<p><span id="loginareaheader"><img height="12" width="91" src="'+loginHeaderImageStr+'" alt="member log-in" id="loginHeaderImage" /><br /></span>');
	document.write('<span id="loginarea"><a href="https://secure.aafp.org/logout" class="loginlink">Log Out</a></span></p>');
	loggedin = true;
}

function ShowLogin () {
	var loginButtonImageStr = getImageUrl('/online/etc/medialib/aafp_org/images/global_images/arrows/redarrow.Par.0001.Image.gif');
	var loginHeaderImageStr = getImageUrl('/online/etc/medialib/aafp_org/images/global_images/members-log-in.Par.0001.Image.gif');
	//document.write('<form id="loginForm" name="loginForm1" onsubmit="return false;" style="display:none;" >');
	document.write('<form id="loginForm" name="loginForm1" onsubmit="return false;" >');
	document.write('<input type="hidden" name="op" id="op" value="process_login" />');
	document.write('<input type="hidden" name="R" id="R" value="http://members.aafp.org/members" />');
	document.write('<input type="hidden" name="referer" id="referer" value="https://nf.aafp.org/eweb/StartPage.aspx" />');
	document.write('<p><span id="loginareaheader"><img height="12" width="91" src="'+loginHeaderImageStr+'" alt="member log-in" id="loginHeaderImage" /></span><br />');
	document.write('<span id="loginarea"><input type="text" name ="username" id="username" size="8" value="',rmid,'" class="inputtextgrey" onfocus="if(this.value == \'Username\'){this.value=\'\';this.className=\'inputtext\';}" onblur="if(this.value == \'\'){this.value = \'Username\';this.className=\'inputtextgrey\';}" TABINDEX="2"/>&nbsp;&nbsp;');
	document.write('<input type="text" name="passwordloginshow" id="passwordloginshow" size="20" value="Password" class="inputtextgrey" onfocus="showLoginElement(\'passwordlogin\');hideLoginElement(\'passwordloginshow\');document.getElementById(\'passwordlogin\').focus();" style="width:143px;" TABINDEX="3" /><input type="password" name="password" id="passwordlogin" size="20" class="inputtext" style="width:143px;" onfocus="" onblur="if(this.value == \'\'){hideLoginElement(\'passwordlogin\');showLoginElement(\'passwordloginshow\');}" TABINDEX="4"/>&nbsp;&nbsp;');
	document.write('<input height="20" width="20" tabindex="6" type="image" class="submit" src="'+loginButtonImageStr+'" alt="Log-in" onclick="return post_login();" id="loginButtonImage" /><br />');
	document.write('<input tabindex="5" type="checkbox" name="remember_me" id="remember_me" value="YES"',remembercheck,'  class="tinycheck" /><span class="smlogintext loginwelcome">');
	document.write('Remember Me');
	document.write('&nbsp;&nbsp;<a href="http://nf.aafp.org/Account/Home/Forgot?type=U">Forgot username</a> or <a href="http://nf.aafp.org/Account/Home/Forgot?type=P">password</a>?</span></span></p>');
	document.write('</form>');
	
	//document.write('<div style="border: 2px solid #707074; border-radius: 3px; padding: 3px; width: 250px;"><div style="text-align: left;"><span class="red" style="font-weight: bold; font-family: Arial, Helvetica, sans-serif; font-size: 8pt">NOTICE: We are experiencing technical difficulties. Content and services that require a login will be unavailable until 10 a.m. CT on Monday, Dec. 5.</span></div></div>');
	
	
	if(rmid == 'Username'){
		hideLoginElement('passwordlogin');
	}
	else{
		hideLoginElement('passwordloginshow');
	}
	
	document.getElementById('referer').value = loginreferer;
	
}



function post_login() {

    var form = document.createElement("form");
    form.setAttribute("method", "post");
    form.setAttribute("action", "https://secure.aafp.org/login/");

    var hiddenField;

    //OP
    //alert("document.getElementById('op').value: " + document.getElementById('op').value )
    hiddenField = document.createElement("input");
    hiddenField.setAttribute("type", "hidden");
    hiddenField.setAttribute("name", "op");
    hiddenField.setAttribute("value", document.getElementById('op').value);
    form.appendChild(hiddenField);

    //R
    //alert("document.getElementById('R').value: " + document.getElementById('R').value )
    hiddenField = document.createElement("input");
    hiddenField.setAttribute("type", "hidden");
    hiddenField.setAttribute("name", "R");
    hiddenField.setAttribute("value", document.getElementById('R').value);
    form.appendChild(hiddenField);


    //referer
    //alert("document.getElementById('referer').value: " + document.getElementById('referer').value )
    hiddenField = document.createElement("input");
    hiddenField.setAttribute("type", "hidden");
    hiddenField.setAttribute("name", "referer");
    hiddenField.setAttribute("value", document.getElementById('referer').value);
    form.appendChild(hiddenField);


    //username
    //alert("document.getElementById('username').value: " + document.getElementById('username').value )
    hiddenField = document.createElement("input");
    hiddenField.setAttribute("type", "hidden");
    hiddenField.setAttribute("name", "username");
    hiddenField.setAttribute("value", document.getElementById('username').value);
    form.appendChild(hiddenField);

    //passwordlogin
    //alert("document.getElementById('passwordlogin').value: " + document.getElementById('passwordlogin').value )
    hiddenField = document.createElement("input");
    hiddenField.setAttribute("type", "hidden");
    hiddenField.setAttribute("name", "password");
    hiddenField.setAttribute("value", document.getElementById('passwordlogin').value);
    form.appendChild(hiddenField);
    
    //remember_me
    //alert("document.getElementById('remember_me').checked: " + document.getElementById('remember_me').checked )
    if(document.getElementById('remember_me').checked){
	    //alert("document.getElementById('remember_me').value: " + document.getElementById('remember_me').value )
	    hiddenField = document.createElement("input");
	    hiddenField.setAttribute("type", "hidden");
	    hiddenField.setAttribute("name", "remember_me");
	    hiddenField.setAttribute("value", document.getElementById('remember_me').value);
	    form.appendChild(hiddenField);
    }
    

    document.body.appendChild(form);

    form.submit();
    return false;
}

function showLoginAlert(str){
	if(showlogindebugging){
		alert(str);
	}	
}


function doLoginInit() {
      
      showLoginAlert("aafpid: '" + aafpid + "'");  
      if (aafpid == '' || aafpid == '0000000') {
      	      try{
	      
		      if(document.getElementById('username').value != 'Username'){
		      	document.getElementById('username').className='inputtext';
		      }
	      
		      
      
		      /* function body goes here */      
		      var pass = getFieldvalue('passwordlogin');
		      
		      if(rmid == 'Username'){
			showLoginElement('passwordloginshow');	
			hideLoginElement('passwordlogin');
		      }
		      else if(pass != '' && pass != 'Password'){
			hideLoginElement('passwordloginshow');	
			showLoginElement('passwordlogin');
		      }
		      else{
			showLoginElement('passwordloginshow');	
			hideLoginElement('passwordlogin');
		      }
	      }
	      catch(e){
	      }
      }
      else{
	showLoginAlert("No AAFPID");  
      }
      
      
} 

function loginAjax(url, vars, callbackFunction) {
 
 request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0");
 request.open("GET", url, true);
 request.onreadystatechange = function() {
    
    if (request.readyState == 4 && request.status == 200) {
	    if (request.responseText) {
	       callbackFunction(request.responseText);
	    }
  }};
  request.send(vars);
}

function loginShowInstitution(json) {
  var customer;
 
  try{
  	customer = eval('(' + json + ')');
  }
  catch(eeee){
  }
	
  try{ 
	  name = "";
	  if(customer){
	 	if(customer.name && customer.name != ""){
	 		name = customer.name;
		}
	  }
	   
	  if(name != ""){
		var txt = '<span class="lglogintext">Institution: ' + name + '</span>';
		if(!loggedin){
			txt = '<span class="lglogintext" style="PADDING-RIGHT: 24px">Institution: ' + name + '</span>';
		}
		document.getElementById('loginarea').innerHTML = txt;
	  }
  
  }
  catch(eeee){
  }
  
}

function loginShowUserData(json) {
  var customer;
  
  //SET UD Cookie with json
  aafpucookieid = getLoginCookie("U");

  if(json.indexOf(", \"data\"") == -1){
  	json = "{\"id\": \""+aafpucookieid+"\", \"data\": "+ json + "}"
  } 
  //alert(json);

  try{ 
	  customer = eval('(' + json + ')');
	  
	  deleteLoginCookie("UD");
	  setLoginCookie("UD", ""+json);
	  
	  name = "";
	  customerflag="";
	  
	  if(customer){
	  	if(customer.data.LastName && customer.data.LastName != ""){
	 		name += " " + customer.data.LastName;
		}
		if(customer.data.FirstName && customer.data.FirstName != ""){
			if(name.length > 20 && name.length < 26 && customer.data.FirstName.length > 1){
				name = customer.data.FirstName.substring(0, 1) + "." + name;				
			}
			else if(name.length > 25 && customer.data.FirstName.length > 1){
				name = customer.data.LastName;			
			}
			else{
				name = customer.data.FirstName + name;
			}
		}
		if(customer.data.IsCustomer && customer.data.IsCustomer != ""){
	 		customerflag = customer.data.IsCustomer;
		}
	  }
	  if(name != ""){
	  	loginmembertext = "My Account";
	  	if(("" + customerflag).toLowerCase() == "true"){
			loginmembertext = "My Academy";
		}
		var txt = '<span class="smlogintext loginwelcome">Welcome, ' + name + ' (<a href="https://secure.aafp.org/logout?NOTME=1" class="">Not you</a>?) <br /><a href="http://www.aafp.org/myacademy">'+loginmembertext+'</a> | <a href="https://secure.aafp.org/logout">Log Out</a></span>';
		document.getElementById('loginarea').innerHTML = txt;
		document.getElementById('loginareaheader').innerHTML = "";
	  }
  
  }
  catch(eeee){
  	//alert(eeee);
  }
  
}

function createUrl(argUrl){
	showLoginAlert("IN createUrl: " + argUrl);
	url = '/online/en/home/publications/news/news-now/practice-management/20080813tricareformulary.proxy.html?p=HomepageLogin&a=InstitutionURL'; 
	
	hostname = window.location.hostname;
	if(hostname == 'www.aafp.org' || hostname == 'secure.aafp.org'){
		url = argUrl;
	}
	showLoginAlert("createUrl: " + url);
	return url
}

function createUserUrl(){

	aafpucookieid = getLoginCookie("U");
	showLoginAlert("U Cookie: " + aafpucookieid);
	aafpvcookieid = getLoginCookie("V");
	showLoginAlert("V Cookie: " + aafpvcookieid);

	argUrl = "/rest/aafppublic/individuals/" + aafpucookieid + "/" + aafpvcookieid;
	url = '/online/en/home/publications/news/news-now/practice-management/20080813tricareformulary.ajaxpost.userheaderlogininfo.html?u=' + aafpucookieid + '&v=' + aafpvcookieid; 
	
	hostname = window.location.hostname;
	if(hostname.indexOf('cq') != -1){
		
	}
	else{
		url = argUrl;
	}
	showLoginAlert("createUrl: " + url);
	return url
}



if(loggedin){
  aafpudcookieid = getLoginCookie("UD");
  processLoginCookie = false;
  
  if(aafpudcookieid && aafpudcookieid.length > 0){
  	aafpucookieid = getLoginCookie("U");
  	if( aafpudcookieid.indexOf(aafpucookieid) != -1 && aafpudcookieid.indexOf("LastName") != -1 ){
		processLoginCookie = true;
	}
  }
  
  if(processLoginCookie){
  	loginShowUserData(aafpudcookieid);
	//alert("process from cookie");
  }
  else{
  	loginAjax(createUserUrl(), null, loginShowUserData); 
	//loginShowUserData("{\"LastName\": \"Lehman\", \"FirstName\": \"Carl\", \"IsCustomer\": \"false\"}");
  }
  
}
else{
	deleteLoginCookie("UD");
}

doLoginInit();


