/*********************************************************
 * NAME:  	userauth.js
 * PURPOSE: 	Verifies the userid and password required to
 *		view the Contact2DB table data.
 *********************************************************/


window.onload = function()
{
    var anchors = document.getElementsByTagName("a");
    for (var foo = 0; foo < anchors.length; foo++) {
        if (anchors[foo].className == "userauth") {
            createForm(anchors[foo]);
	 }
    }     
}


function createForm(userauth)
{
    var form = document.createElement("form");
    form.action = userauth.href;
    form.method = "get";
    form.onsubmit = login;
    form.id = userauth.id;
    var username = document.createElement("label");
    var usernameInput = document.createElement("input");
    usernameInput.name = "username";
    usernameInput.type = "text";
    //usernameInput.value = "demo";
    usernameInput.width = "100";
    usernameInput.id = userauth.id + "-username";
    username.appendChild(document.createTextNode("Username:"));
    username.appendChild(usernameInput);
    //var linebreak1 = document.createElement("br");
    //username.appendChild(linebreak1);
    var password = document.createElement("label");
    var passwordInput = document.createElement("input");
    passwordInput.name = "password";
    passwordInput.type = "password";
    passwordInput.width = "100";
    passwordInput.id = userauth.id + "-password";
    password.appendChild(document.createTextNode("      Password:"));
    password.appendChild(passwordInput);
    var linebreak2 = document.createElement("br");
    password.appendChild(linebreak2);
    var linebreak3 = document.createElement("br");
    password.appendChild(linebreak3);
    var submit = document.createElement("input");
    submit.type = "submit";
    submit.value = "Log in";
    form.appendChild(username);
    form.appendChild(password);
    form.appendChild(submit);
    var logoutLink = document.createElement("a");
    logoutLink.className = "textuniq";
    logoutLink.href = "#";
    logoutLink.onclick = logout;
    var linebreak4 = document.createElement("br");
    logoutLink.appendChild(linebreak4);
    logoutLink.appendChild(document.createTextNode("Log out"));
    form.appendChild(logoutLink);
    userauth.parentNode.replaceChild(form, userauth);
}

function getHTTPObject() 
{
	var xmlhttp = false;
	if (typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp = false;
		}
	} else {
        /*@cc_on
        @if (@_jscript_version >= 5)
            try {
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (E) {
                    xmlhttp = false;
                }
            }
        @end @*/
    }
	return xmlhttp;
}

function login()
{
    var username = document.getElementById(this.id + "-username").value;
    var password = document.getElementById(this.id + "-password").value;
    var http = getHTTPObject();

    http.open("get", this.action, false, username, password);
    http.send("");
	if (http.status == 200) {
		document.location = this.action;
	} else {
        alert("Incorrect username and/or password!"); 
    }
    return false;
}

function logout()
{
    var http = getHTTPObject();
    http.open("get", this.parentNode.action, false, "null", "null");
    http.send("");
    alert("You have been logged out.");
    return false;
}
