XMLHttpRequestObject = false;
if (window.XMLHttpRequest)
{
	//request the XMLHttpRequestObject for firefox and opera
	XMLHttpRequestObject = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
	//request the object for intenet explorer
	XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP")
}


function ICC(characters)
{
    //this checks if cany characters are invalid and displays an error as the user is typing
    var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|!@#$%&*=?.:\-_+~^"
    GB = "";
    var obj = document.getElementById("pwICC");
    for (var i=0; i<characters.length; i++)
    {
        value = "" + characters.substring(i, i+1);
        valid.indexOf(value) == -1 ? GB = "B" : GB = "G" ;
    }

    if (GB == "B")
    {
       obj.innerHTML = "Nicht gestattete Sonderzeichen in Zeichenkette.";
    }

    if (GB == "G")  {obj.innerHTML = "";}
}

function checkInput(div,myform)
{
	myform === "signin" ? theform = document.signin : theform = document.newuser
	var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|!@#$%&*=?.:\-_+~^ "
	var GB = "G";
	var message = "";
	pwfieldL = theform.pw.value.length;
	unfieldL = theform.username.value.length;

	if(pwfieldL > 0)
	{
		for (var i=0; i<pwfieldL; i++)
		{
			value = "" + theform.pw.value.substring(i, i+1);
			if (valid.indexOf(value) == "-1") GB = "B";
		}
		for (var i=0; i<unfieldL; i++)
		{
			value = "" + theform.username.value.substring(i, i+1);
			if (valid.indexOf(value) == "-1") GB = "C";
		}
	}
	if (GB == "B")
	{
		theform.pw.value = "";
		message = "Nicht gestattete Sonderzeichen im Kennwort.";
	}
	else if(GB == "C")
	{
		theform.username.value = "";
		message = "Nicht gestattete Sonderzeichen im Benutzernamen.";
	}
	else
	{
		username = theform.username.value;
		userpw = theform.pw.value;
		if(username.length < 2 || username.length > 50)
		{
			message = "Benutzername zu kurz/lang.";
			theform.username.value = "";
		}
		if(userpw.length < 6 || userpw.length > 50)
		{
			message = "Kennwort zu kurz/lang.";
			theform.pw.value = "";
		}
	}
	if(message === "")
	{
		secret = theform.secret.value
		thepw = theform.pw.value
		md5pw = hex_md5(thepw+secret)
		theform.pw.value = md5pw;
		return true;
	}
    var obj = document.getElementById(div);
	obj.innerHTML = message;
	return false;
}

function login(query,divID,md5,theform,myform)
{
	username=theform.username.value
	time=theform.time.value
	nonce=theform.nonce.value
	if(XMLHttpRequestObject)
	{
		var obj = document.getElementById(divID);

		url = "checkLogin.php?"+query+"&pw="+md5+"&username="+username+"&time="+time+"&nonce="+nonce;
		secret = "";
		username = "";
		theform.pw.value = "";
		XMLHttpRequestObject.open("GET",url);
		XMLHttpRequestObject.onreadystatechange = function()
		{
			if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
			{
				obj.innerHTML = XMLHttpRequestObject.responseText;
				obj.style.display="block";
			}
		}
		XMLHttpRequestObject.send(null);

	}
}

function unLength()
{
    var obj = document.getElementById("unLength");
    username = document.newuser.username.value;
    ICC(username);//invalid character check
    theUnLength = username.length;
    obj.innerHTML = theUnLength;
}
