//This script contains user login functionality


var mblnIsAuthenticated=false;
var mintLevel=0; //0 = user, 1= admin

//for index pages etc.
function CheckAuthentication()
{
	var someParams = [
	{ name: "cmd",  value: "CheckLogin" }
	];
	var blnIsAuth=false;
	
	var XMLHttpRequestObject=false;

	if (window.XMLHttpRequest) {
	XMLHttpRequestObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
	XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if (window.XMLHttpRequest)
	{
		XMLHttpRequestObject=new XMLHttpRequest();
	}

	if (XMLHttpRequestObject)
	{
	
		//var obj=document.getElementById(divID);
		//XMLHttpRequestObject.open("GET", dataSource);
		XMLHttpRequestObject.open("POST", "data/login.aspx",false);
		XMLHttpRequestObject.setRequestHeader('Content-Type',
		'application/x-www-form-urlencoded');
		XMLHttpRequestObject.setRequestHeader("Content-length", someParams.length);
		XMLHttpRequestObject.setRequestHeader("Connection", "close");
		XMLHttpRequestObject.send(buildQueryString(someParams));
		
			if (XMLHttpRequestObject.status==200)
			{
				xmlDoc=XMLHttpRequestObject.responseXML;
				var objRetNum=xmlDoc.getElementsByTagName("RetNumber")[0].firstChild.data;
				var objRetDesc=xmlDoc.getElementsByTagName("RetDesc")[0].firstChild.data;
				
				if (objRetNum=="0")
				{
					blnIsAuth= true;
					mintLevel=0;	
					LoadLoggedInState();
				}
				else if(objRetNum=="1")//admin
				{
					blnIsAuth=true;
					mintLevel=1;
					LoadLoggedInState();
				}
				else
				{
					blnIsAuth=false;
					LoadLoggedOutState();
				}
				
				
					
				delete XMLHttpRequestObject;
				XMLHttpRequestObject = null;
				//obj.innerHTML=xmlDoc.getElementsByTagName("option")[0].firstChild.data;
			}
			else
				blnIsAuth=false;	
			
	}
	return blnIsAuth;

	
}

//only put default stuff for all pages in here
function LoadLoggedInState()
{
	var lnkLogout=document.getElementById("lnkLogout");
	var spanUserName=document.getElementById("spanUserName");
	var spanLevel=document.getElementById("spanLevel");
	var liMembers=document.getElementById("liMembers");
	var liAdmin=document.getElementById("liAdmin");
	
	var divShowLogin=document.getElementById("divShowLogin");
	var divLoginDetails=document.getElementById("divLoginDetails");
	
	
	
	mblnIsAuthenticated=true;
	
	if (spanLevel!=null)
	{
		if (mintLevel==1)
		{
			spanLevel.innerHTML="Admin";
			if (liAdmin!=null)
				liAdmin.style.visibility="visible";
		}
		else
		{
			spanLevel.innerHTML="User";
			if (liAdmin!=null)
				liAdmin.style.visibility="hidden";
		}
	}
	if (divShowLogin!=null)
	{
		divShowLogin.style.visibility="hidden";
		divShowLogin.style.display="none";
	}
	if (divLoginDetails!=null)
	{
		divLoginDetails.style.visibility="visible";
		divLoginDetails.style.display="block";
	}	
	
	if (liMembers!=null)
	{
		liMembers.style.visibility="visible";
	}
	//update user interface 
	if (lnkLogout!=null)
	{
		lnkLogout.style.visibility="visible";
	}
	if (spanUserName!=null)
		spanUserName.innerHTML=readCookie("user");
}
function LoadLoggedOutState()
{
	var lnkLogout=document.getElementById("lnkLogout");
	var spanUserName=document.getElementById("spanUserName");
	var liMembers=document.getElementById("liMembers");
	
	var divShowLogin=document.getElementById("divShowLogin");
	var divLoginDetails=document.getElementById("divLoginDetails");
	
	mblnIsAuthenticated=false;
	
	if (divShowLogin!=null)
	{
	//	divShowLogin.style.visibility="visible";
	//	divShowLogin.style.display="block";
	}
	if (divLoginDetails!=null)
	{
		divLoginDetails.style.visibility="hidden";
		divLoginDetails.style.display="none";
	}	
	if (liMembers!=null)
	{
		liMembers.style.visibility="hidden";
	}
	if (readCookie("user")!=null)
		eraseCookie("user");	
	
	//window.location="index.htm";
	//update user interface 
	if (lnkLogout!=null)
	{
		lnkLogout.style.visibility="hidden";
		if (spanUserName!=null)
			spanUserName.innerHTML="";
	}
}


function DoLogin()
{
	var liLoginStatus=document.getElementById("liLoginStatus");
	
	var strUsername=document.getElementById("txtUserName");
	var strPassword=document.getElementById("txtPassword");
	var someParams = [
	{ name: "cmd",  value: "dologin" },
    { name: "user",  value: strUsername.value },
    { name: "pswd", value: strPassword.value }
	];
	getDynamicXMLData("data/login.aspx",someParams,"DoLogin_Callback()")
	liLoginStatus.innerHTML="Authenticating";
	//

	
}
function DoLogin_Callback()
{
	
	var liLoginStatus=document.getElementById("liLoginStatus");
	var objRetNum=xmlDoc.getElementsByTagName("RetNumber")[0].firstChild.data;
	var objRetDesc=xmlDoc.getElementsByTagName("RetDesc")[0].firstChild.data;
	if (objRetDesc=="OK")
	{			
		liLoginStatus.innerHTML="";
		CheckAuthentication();
		LoadLoggedInState();	
	}
	else
		liLoginStatus.innerHTML=objRetDesc;
	//lblLoginMessage.innerHTML=objRetDesc;
}

function DoLogout()
{
	var someParams = [
	{ name: "cmd",  value: "dologout" }
	];
	getDynamicXMLData("data/login.aspx",someParams,"DoLogout_Callback()")
}

function DoLogout_Callback()
{
	CheckAuthentication();
	LoadLoggedOutState();
	window.location="index.htm";
	
}


