var SignInRetry = null;

var UserLoggedIn = false;

var SwapText = null;
var SwapItem = null;

//THIS IS A BETTER WAY TO VERTICALLY ALIGN THE POPUP DIVS
function getScrollXY() {
	  var scrOfX = 0, scrOfY = 0;
	  if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	  }
	  return [ scrOfX, scrOfY ];
	}

function CheckLogin(buttonElm,signInHeader,execString)
{
	if(UserLoggedIn)
		return(true);
	else
	{
		if(buttonElm)
		{
			SwapItem = buttonElm;
			SwapText = buttonElm.innerHTML;
			buttonElm.innerHTML = "Loading...";
		}
		CallSignInDiv(signInHeader,execString);
		return(false);
	}
}

function CallSignInDiv(signInHeader,retryString)
{	
	SelectedItem=-1;//Sets the selected item to off the page
	
	//check if there is a retry option pending
	if(retryString)
		SignInRetry = retryString;
	else
		SignInRetry = null;
	
	var url="destination="+escape(document.location);
	url=url+"&heading=" + escape(signInHeader+' ');
	url=url+"&sid="+Math.random();
	
	new Ajax("Ajax/SignInDiv.asp", {method: "get", onComplete:function(){DisplaySignIn(this.response.text)}}).request(url);
} 

function DisplaySignIn(TheResponse)
{
		if (TheResponse == "Success")
		{
			SetLoggedIn();
			
			//replace any pending text
			if(SwapItem)
			{
				SwapItem.innerHTML = SwapText;
				SwapItem = null;
			}
			
			//execute any retry string and finish
			if(SignInRetry)
			{
				eval(SignInRetry);
				SignInRetry = null;
			}
			
			return;
		}
	
		//find the page center to display the signindiv
		var winl
		winl = (screen.width)/2 - 300;
		Dxy=getScrollXY();

		//create the signindiv
		var z = document.createElement('div');
		z.style.position='absolute';
		z.style.top=(Dxy[1]+200)+'px';
		z.style.left= winl+'px';
		z.style.zIndex=(600);
		z.setAttribute("id","SignInDiv");
		z.innerHTML=TheResponse;
	
		document.body.appendChild(z);
} 

function SigninSubmit(name,pass)
{	
	SelectedItem=-1;//Sets the selected item to off the page
	
	var url="isAjax=true";
	url=url+"&postback=1";
	url=url+"&login="+name;
	url=url+"&password="+pass;
	url=url+"&sid="+Math.random();
	
	new Ajax("SignIn.asp", {method: "get", onComplete:function(){CheckSignIn(this.response.text)}}).request(url);
} 

function CheckSignIn(TheResponse)
{
		if(TheResponse != "Success")
			alert(TheResponse);
		else
		{
			SetLoggedIn();
		
			//if there is a pending ajaxtry call it now
			if(SignInRetry)
			{	
				eval(SignInRetry);
				SignInRetry = null;
			}
			
			RemoveSignIn();
		}
}

function RemoveSignIn()
{
	//remove the actual div
	var element = document.getElementById('SignInDiv');
	document.body.removeChild(element);
	
	//replace any pending text
	if(SwapItem)
	{
		SwapItem.innerHTML = SwapText;
		SwapItem = null;
	}
	
	//clear the retry script
	SignInRetry = null;
}

function SetLoggedIn()
{
	UserLoggedIn = true;
	setTimeout ( "UserLoggedIn = false;", 60000 );
}