var xmlHttp = createXmlHttpRequestObject();

function createXmlHttpRequestObject() 
{
  var xmlHttp;

  try
  {
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
                                    "MSXML2.XMLHTTP.5.0",
                                    "MSXML2.XMLHTTP.4.0",
                                    "MSXML2.XMLHTTP.3.0",
                                    "MSXML2.XMLHTTP",
                                    "Microsoft.XMLHTTP");
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try 
      { 
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {}
    }
  }
 
 if (!xmlHttp)
    alert("Error creating the XMLHttpRequest object.");
  else 
    return xmlHttp;
}

function overlay2() 
{
	el = document.getElementById("overlay");
	el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
	el2 = document.getElementById("lightbox");
	el2.style.visibility = (el2.style.visibility == "visible") ? "hidden" : "visible";
	var hscroll = (document.all ? document.scrollLeft : window.pageXOffset);
	var vscroll = (document.all ? document.scrollTop : window.pageYOffset);
	if(el.style.visibility == "visible")
	{
		el.style.display="block";
		//window.scrollTo(hscroll, vscroll);
		//document.body.style.overflow="hidden";
		var offset = 0;
	if (navigator.appName == "Microsoft Internet Explorer")
		offset = document.documentElement.scrollTop;
	else offset = window.pageYOffset;
	offset=offset+75;
	var offsetstr = offset.toString() + "px";
		document.getElementById("lightbox").style.top=offsetstr;
		document.getElementById("outerContainer").style.height="480px";
		document.getElementById("outerContainer").style.width="650px";
		document.getElementById("overlay").style.height=document.body.scrollHeight;
		
	}
	else
	{
		el.style.display="none";
		//document.body.style.overflow="auto";
		document.getElementById("overlay").style.height="100%";
	}
	
	if(el2.style.visibility == "visible")
	{
		el2.style.display="block";
	}
	else
	{
		el2.style.display="none";
	}
}

function login()
{
	var username=Base64.encode(document.getElementById("username").value);
	var password=Base64.encode(document.getElementById("password").value);
	
	if (xmlHttp)
	{
		try
		{
	      	params = "u="+username+"&p="+password;
			xmlHttp.open("POST", "/logincheck", true);
			xmlHttp.setRequestHeader("Content-Type", 
									"application/x-www-form-urlencoded");
			xmlHttp.onreadystatechange = handleLogin;
			xmlHttp.send(params);
		}
		catch(e)
		{
			alert(e.toString());
		}
	}
}

function handleLogin() 
{
	if (xmlHttp.readyState == 4) 
	{
		if (xmlHttp.status == 200) 
		{
			try
			{
				getLogin();
			}
			catch(e)
			{
				alert(e.toString());
			}
		} 
		else
		{
			alert(xmlHttp.statusText);   
		}
	}
}

function getLogin()
{
	var response = xmlHttp.responseText;
	resp = response.replace(/^\s+|\s+$/g, '');
	if(resp == 'OK')
	{

		document.getElementById('username').value='';
		document.getElementById('password').value='';
		setTimeout('dispServices()', 1000);
	}
	else
	{
		alert('Login Failed! Please try again!');
		document.getElementById('username').value='';
		document.getElementById('password').value='';
		document.getElementById('username').focus();
	}
}

function dispServices()
{	
	if (xmlHttp)
	{
		try
		{
			
			window.location.reload()

		}
		catch(e)
		{
			alert(e.toString());
		}
	}
}

function handleServices() 
{
	if (xmlHttp.readyState == 4) 
	{
		if (xmlHttp.status == 200) 
		{
			try
			{
				getServices();
			}
			catch(e)
			{
				alert(e.toString());
			}
		} 
		else
		{
			alert(xmlHttp.statusText);   
		}
	}
}

function getServices()
{
	var response = xmlHttp.responseText;
	
	if(response != 'error')
	{
		overlay2();
		document.getElementById("innerContainer").innerHTML=response;
	}
	else
	{
		alert('An error has occured!');
	}
}
