   var http_request = false;
   function makePOSTRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      
      http_request.onreadystatechange = alertContents;
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
   }

   function alertContents() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            //alert(http_request.responseText);
            result = http_request.responseText;
			//lobe_debug(document.getElementById('loginmessage').innerHTML);
			if (result == '1') {
				//lobe_debug('Alleluyah');
				login(document.getElementById("loginemail").value, document.getElementById("loginpw").value);
			}
			else {
				document.getElementById('loginmessage').innerHTML = result;
			}			
         } else {
            alert('There was a problem with the request.');
         }
      }
   }
   
   function trylogin(obj) {
      var poststr = "loginemail=" + encodeURI( document.getElementById("loginemail").value ) +
                    "&loginpw=" + encodeURI( document.getElementById("loginpw").value );
		var posturl = document.getElementById("form-url").value + 'login.html?ajx=1';
      	makePOSTRequest(posturl, poststr);
   }


var request = false;
try {
  request = new XMLHttpRequest();
} catch (trymicrosoft) {
  try {
    request = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (othermicrosoft) {
    try {
      request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (failed) {
      request = false;
    }
  }
}

var fix_ats = 0;
function test_browser() {
	var awkward_browser = 0;
	if(navigator.userAgent.indexOf("Opera")!=-1){
		var versionindex=navigator.userAgent.indexOf("Opera")+6
		if (parseInt(navigator.userAgent.charAt(versionindex))=8) {
			//alert("You are using Opera 8 or 9")
			fix_ats = 1;
			awkward_browser = 1;
		}
	}	

	if (navigator.userAgent.indexOf("Safari") > 0) {
		fix_ats = 1;
		var safariversion = 0;
		var myregexp = /(?:Safari\/)([\d]+)\./;
		var mymatch = myregexp.exec(navigator.userAgent);
		if (mymatch) { safariversion = mymatch[1];}

		if (safariversion < 419 ) {
			//alert ('2. safari version is ' + safariversion);
			awkward_browser = 1;
		}
	}
	return awkward_browser;
}

function reset_message () {
	document.getElementById('loginmessage').innerHTML = '<br />';
}

function login (username, password) {
	var loginurl = document.getElementById("form-url").value + 'home.html';
	//lobe_debug('password is ' + password);
	var awkward_browser = test_browser();
	if (fix_ats) {
		username = username.replace(/@/g, "%40");
	}
	//alert('is this an older browser ' + awkward_browser);
	if (awkward_browser) {
		//var login_regexp = /http:\/\/.*?(\/.*?)$/;
		//var login_regexp_match = login_regexp.exec(loginurl);
		//if (login_regexp_match[1]) {
		//	loginurl = login_regexp_match[1];
		//}
		//alert('form loginurl is ' + loginurl);
		loginurl = ('http://' + username + ':' + password + '@' + document.domain + loginurl);
		request.open("GET", loginurl, true);
		//alert('loginurl is ' + loginurl);
	}
  //alert('username is ' + username);
	else {
		request.open("GET", loginurl, true, username, password);
	}
	request.onreadystatechange = onLogin;
	request.send(null);
}

function onLogin () {
  if (request.readyState == 4) {
	var loginurl = document.getElementById("form-url").value + 'home.html';
  	var loginfailurl = window.location;
  	
  	//lobe_debug(loginfailurl);
    //lobe_debug('5 request status is ' + request.status);
    if (request.status == 403) {
	    //lobe_debug(' status is 403');
	    //var emailun = document.forms['loginform'].elements['loginemail'].value;
	    //loginfailurl += ('?loginemail=' + emailun);
	    //window.location=loginfailurl;
    }
    if (request.status == 200) {
	  	//lobe_debug('came back as 200 go to url is ' + loginurl);
      window.location=loginurl;
    }
  }
}

var afterlogout_url = '';
function logout(href, gotourl) {
afterlogout_url = gotourl;
 var awkward_browser = test_browser();
//alert('2: awkward_browser is ' + awkward_browser);
  if (awkward_browser) {
	var href_regexp = /^http:\/\/(.*\/)/;
	var mymatch = href_regexp.exec(href);
	//  is passing too much if in sub dir
	if (mymatch) {
		var logouturl = ("http://0:x@" +  mymatch[1] + "logout.html");
		//alert(logouturl);
		request.open("GET", logouturl, true);
	}
  }
  else {
		request.open("GET", href, true, '0', 'x');
  }
  request.onreadystatechange = onLogout;
  request.send(null);
}

function onLogout () {
  if (request.readyState == 4) {
  //alert(request.status);
    if (request.status == 200) {    
      window.location = afterlogout_url;
    }
  }
}


function login_jstest () {
	if (document.getElementById('loginformdiv')) {
		var loginformdiv = document.getElementById('loginformdiv');
		loginformdiv.style.display = "block";
	}

	if (document.getElementById('loginformsidebardiv')) {
		var loginformdiv = document.getElementById('loginformsidebardiv');
		loginformdiv.style.display = "block";
	}

	if (document.getElementById('loginlink')) {
		var loginlinkdiv = document.getElementById('loginlink');
		loginlinkdiv.style.display = "none";
	}
	if (document.getElementById('loginsidebarlink')) {
		var loginlinkdiv = document.getElementById('loginsidebarlink');
		loginlinkdiv.style.display = "none";
	}
	if (document.getElementById('sn_login_link')) {
		document.getElementById('sn_login_link').href = "login.html";
	}

	if (document.getElementById('sn_logout_link')) {
		var logoutlinkdiv = document.getElementById('sn_logout_link');	
		logoutlinkdiv.style.display = "block";
	}
}

function lobe_debug (message) {
	if (navigator.userAgent.indexOf("Safari") != -1) {
		window.console.log(message);
	}
	else {
		//console.info('lobe debug: ' + message);
	}
}

