// global flag
var isIE = false;

// global request and XML document objects
var req;
var req2;
var req3;
var req3elementID;

function replaceWithXMLDoc(elementID, url) {

  req3elementID  = elementID;
  if (window.XMLHttpRequest) {
    req3 = new XMLHttpRequest();
    req3.onreadystatechange = processReqChange3;
    req3.open("GET", url, true);
    req3.send(null);
  } else if (window.ActiveXObject) {
    isIE = true;
    req3 = new ActiveXObject("Microsoft.XMLHTTP");
    if (req3) {
      req3.onreadystatechange = processReqChange3;
      req3.open("GET", url, true);
      req3.send();
    }
  }
}

function loadXMLDoc(url) {
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
    req.onreadystatechange = processReqChange;
    req.open("GET", url, true);
    req.send(null);
  } else if (window.ActiveXObject) {
    isIE = true;
    req = new ActiveXObject("Microsoft.XMLHTTP");
    if (req) {
      req.onreadystatechange = processReqChange;
      req.open("GET", url, true);
      req.send();
    }
  }
}

function processReqChange() {
  if (req.readyState == 4) {
    if (req.status == 200) {
      processResponse();    
    } else {
      processError();    
    }
  }
}








function loadXMLDoc2(url) {
  if (window.XMLHttpRequest) {
    req2 = new XMLHttpRequest();
    req2.onreadystatechange = processReqChange2;
    req2.open("GET", url, true);
    req2.send(null);
  } else if (window.ActiveXObject) {
    isIE = true;
    req2 = new ActiveXObject("Microsoft.XMLHTTP");
    if (req2) {
      req2.onreadystatechange = processReqChange2;
      req2.open("GET", url, true);
      req2.send();
    }
  }
}

function processReqChange2() {
  if (req2.readyState == 4) {
    if (req2.status == 200) {
      processResponse2();    
    } else {
    }
  }
}
//
//      
function processReqChange3() {

  if (req3.readyState == 4) {
    if (req3.status == 200) {
      processResponse3();    
    } else {
    }
  }
}

/* all the stuff below is for the header code that handles the user's welcome name and will be included on every page anyway */

function processResponse2() {
	var name = trimString(req2.responseText);
	if ( name != null && "" != name && "null" != name && "Welcome to Forrester.com." != name) {
		document.getElementById('WLCMNAME').innerHTML =  "Welcome, " + name;
		
	}else if("Welcome to Forrester.com." == name){
		document.getElementById('WLCMNAME').innerHTML =  name;
	}

	setWelcomeNameCookie(name);
}
function processResponse3() {
	var txt = trimString(req3.responseText);
	if ( txt != null && "" != txt && "null" != txt) {
		document.getElementById(req3elementID).innerHTML = txt;
	}
}
function setWelcomeNameCookie(name) {
	var expires = new Date ();
	expires.setTime(expires.getTime() + 86400000000);
	document.cookie = "forrWelcomeName=" + name  + "; expires=" + expires.toGMTString() + ";path=/";
}
function trimString (str) {
  str = this != window? this : str;
  return str.replace(/^\s+/g, '').replace(/\s+$/g, '').replace(/\n+$/g, '');
}
function processReqChange3() {
  if (req3.readyState == 4) {
    if (req3.status == 200) {
      processResponse3();    
    } else {
    }
  }
}