
/*==================================================*
*
*
*/
var gaUserInfoUrl= '/userinfo/info/level20/userinfo.jsp';
var loginUrl = '/en_US/html/level20/login.htm';
var logoutUrl = '/en_US/html/logoff.htm';




function detectBrowser(){
	if (navigator.appName != 'Microsoft Internet Explorer'){
		isIE = new Boolean(false);		
	}
}
//====================================
//BROWSER SPECIFIC METHODS
//====================================
function getHttpRequestObject(){
	var xmlhttp = null;
	// code for IE
	if (isIE == true)
	{
		xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');		
	}
	else if (window.XMLHttpRequest) // code for Mozilla
	{
		xmlhttp=new XMLHttpRequest();
	}
	return xmlhttp;
}

function getXMLObjectFromString(text){
	// code for IE
	var doc = null;
	if (window.ActiveXObject)
	{
		var doc=new ActiveXObject('Microsoft.XMLDOM');
		doc.async="false";
		doc.loadXML(text);
	}
	// code for Mozilla, Firefox, Opera, etc.
	else
	{
		var parser=new DOMParser();
		var doc=parser.parseFromString(text,'text/xml');
	}
	return doc;
}
//====================================
//GENERAL METHODS
//====================================
function getCookie(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 null;
}

function loadUserInfoXML()
{	

	//if the user is authenticated, request info
	if (isAuthenticated == true){
		//get request object, this is browser specific.
		xmlhttp = getHttpRequestObject();
		if (xmlhttp!=null)
		{
			try{
				xmlhttp.onreadystatechange=processUserInfoXMLRequest;
				xmlhttp.open('GET',gaUserInfoUrl,true);
				xmlhttp.send(null);			
			}catch(err){
				//This catch method should never be triggered, just for safety.
			}
		}	
	}
	
}

function readUserXML(xmlText){
	
	var xmlDoc = null;

	try{
		xmlDoc = getXMLObjectFromString(xmlText);
	}catch(err){
		alert(err);
	}
	if (xmlDoc != null){
		if (xmlDoc.getElementsByTagName('gaUserID')[0] != null){
			try{
				if(xmlDoc.getElementsByTagName('gaUserID')[0].childNodes[0] != null){
					gaUserID = xmlDoc.getElementsByTagName('gaUserID')[0].childNodes[0].nodeValue;

				}
			}catch(err){
			}
		}
		if (xmlDoc.getElementsByTagName('gaUserFirstName')[0] != null){
			try{
				if (xmlDoc.getElementsByTagName('gaUserFirstName')[0].childNodes[0] != null){
					gaUserFirstName = xmlDoc.getElementsByTagName('gaUserFirstName')[0].childNodes[0].nodeValue;
				}
			}catch(err){
			}
		}
		if (xmlDoc.getElementsByTagName('gaUserLastName')[0] != null){
			try{
				if (xmlDoc.getElementsByTagName('gaUserLastName')[0].childNodes[0] != null){
					gaUserLastName =  xmlDoc.getElementsByTagName('gaUserLastName')[0].childNodes[0].nodeValue;
				}
			}catch(err){
			}
		}
		if (xmlDoc.getElementsByTagName('gaBG')[0] != null){
			try{
				if (xmlDoc.getElementsByTagName('gaBG')[0].childNodes[0] != null){
					gaBG = xmlDoc.getElementsByTagName('gaBG')[0].childNodes[0].nodeValue;
				}
			}catch(err){
			}
		}
		if (xmlDoc.getElementsByTagName('gaLVL')[0] != null){
			try{
				if (xmlDoc.getElementsByTagName('gaLVL')[0].childNodes[0] != null){
					//alert("About to set value of gaLVL..");
					gaLVL = xmlDoc.getElementsByTagName('gaLVL')[0].childNodes[0].nodeValue;
					//alert("just set the value for gaLVL to= " + gaLVL);
					
				}
			}catch(err){
			}
		}
	}
}

function processUserInfoXMLRequest()
{
  // if xmlhttp shows "loaded"
  if (xmlhttp.readyState==4)
  {
	  // if "OK"
	  if (xmlhttp.status==200)
	  {
			
			//document.getElementById('A1').innerHTML=xmlhttp.status;
			//document.getElementById('A2').innerHTML=xmlhttp.statusText;
			//test if XML, if user session is expired login page is prompted

			if (xmlhttp.responseText.indexOf('<?xml version=') >= 0){
				readUserXML(xmlhttp.responseText);
   			//updateUserFields();
				updateFields();					
			}else{
				isAuthenticated = false;
				updateFields();
			}
			//updateLinkedFields();
	  }
	  //end if "OK"	  
  }
  //END IF xmlhttp shows "loaded"
}
