/**
 * Code by Sarte
 * www.ssmss.de
 * www.rezesarios.de
 * last edit 2009-09-01
 */

var join = createXmlHttpRequestObject();

function createXmlHttpRequestObject() 
{
  // Referenz zu Ajax
  var xmlHttp;
  //Für alle Browsers (außer IE6 und älter)
  try
  {
    // Erstellt Ajax
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    // Dann wohl älter...
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
                                    "MSXML2.XMLHTTP.5.0",
                                    "MSXML2.XMLHTTP.4.0",
                                    "MSXML2.XMLHTTP.3.0",
                                    "MSXML2.XMLHTTP",
                                    "Microsoft.XMLHTTP");
    // So lange bis es funktioniert
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try 
      { 
        // Versucht die Verbindung aufzustellen
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {} // Erstmal Fehler ignorieren
    }
  }
  // return Ajax oder den Fehler
  if (!xmlHttp)
    displayError("Error creating the XMLHttpRequest object.");
  else 
    return xmlHttp;
}

function encode(uri) 
{
  if (encodeURIComponent) 
  {
    return encodeURIComponent(uri);
  }

  if (escape) 
  {
    return escape(uri);
  }
}

function displayError($message)
{
  // ignore errors if showErrors is false
  if (showErrors)
  {
    // turn error displaying Off
    showErrors = false;
    // display error message
 
    alert("Error encountered: \n" + $message);
    // retry validation after 10 seconds
    setTimeout("validate();", 10000);
  }
}
function str_replace(search, replace, subject) {
    return subject.split(search).join(replace);
}
function KeineUmlaute(e)
{
	var UScreenV = document.getElementById('user_screen_name').value;
	var keynum;
	var keychar;
	var numcheck;

	if(window.event) // IE
	  {
	  keynum = e.keyCode;
	  }
	else if(e.which) // Netscape/Firefox/Opera
	  {
	  keynum = e.which;
	  }
	keychar = String.fromCharCode(keynum);
	numcheck = /\d/;
	return !numcheck.test(keychar);
}
function noUmlaute(e)
{
var keynum;
var keychar;
var numcheck;

if(window.event) // IE
  {
  keynum = e.keyCode;
  }
else if(e.which) // Netscape/Firefox/Opera
  {
  keynum = e.which;
  }
keychar = String.fromCharCode(keynum);
numcheck = /[^a-zA-Z0-9-_.]/;
//numcheck = /[^a-zA-Z0-9]/;
//return !numcheck.test(keychar);

}
function CheckUser()
{
	var tempcache = '';
	if(join)
	{
		var UScreen = document.getElementById('user_screen_name');
		UScreen = encode(UScreen.value);
		tempcache = "user=" + UScreen;
		try
		{
		  // continue only if the XMLHttpRequest object isn't busy
		  // and the cache is not empty
		  if ((join.readyState == 4 || join.readyState == 0))
		  {
			// make a server request to validate the extracted data
			  join.open("POST", "http://ssmss.de/siss/ajax/existsUser.php", true);
			  join.setRequestHeader("Content-Type", 
									 "application/x-www-form-urlencoded");
			  join.onreadystatechange = handleRequestofJoinRequest;
			  join.send(tempcache);
			
		  }
		}
		catch (e)
		{
		  // display an error when failing to connect to the server
		  displayError(e.toString());
		   
		}
	}
}
function handleRequestofJoinRequest()
{
	  // when readyState is 4, we read the server response
	  if (join.readyState == 4) 
	  {
	    // continue only if HTTP status is "OK"
	    if (join.status == 200) 
	    {
	      try
	      {
	        // read the response from the server
			
	        readRequestofJoinRequest();
	      }
	      catch(e)
	 
	      {
	        // display error message
	        displayError(e.toString());
			
	      }
	    }
	    else
	    {
	      // display error message
		 
	      displayError(join.statusText);
	    }
	  }			
}
function readRequestofJoinRequest()
{
	var response        = join.responseText;
	var joinerror       = document.getElementById('regi_error');
	joinerror.innerHTML = response;
	joinerror.style.marginLeft = '413px';
	joinerror.style.top        = '168px';
	joinerror.style.display    = 'block';
}
function CheckEmail()
{
	var tempcache = '';
	if(join)
	{
		var UMail = document.getElementById('user_email');
		UMail = encode(UMail.value);
		tempcache = "mail=" + UMail;
		try
		{
		  // continue only if the XMLHttpRequest object isn't busy
		  // and the cache is not empty
		  if ((join.readyState == 4 || join.readyState == 0))
		  {
			// make a server request to validate the extracted data
			  join.open("POST", "http://ssmss.de/siss/ajax/verifyEmail.php", true);
			  join.setRequestHeader("Content-Type", 
									 "application/x-www-form-urlencoded");
			  join.onreadystatechange = handleRequestofMailRequest;
			  join.send(tempcache);
			
		  }
		}
		catch (e)
		{
		  // display an error when failing to connect to the server
		  displayError(e.toString());
		   
		}
	}
}
function handleRequestofMailRequest()
{
	  // when readyState is 4, we read the server response
	  if (join.readyState == 4) 
	  {
	    // continue only if HTTP status is "OK"
	    if (join.status == 200) 
	    {
	      try
	      {
	        // read the response from the server
			
	        readRequestofMailRequest();
	      }
	      catch(e)
	 
	      {
	        // display error message
	        displayError(e.toString());
			
	      }
	    }
	    else
	    {
	      // display error message
		 
	      displayError(join.statusText);
	    }
	  }			
}
function readRequestofMailRequest()
{
	var response        = join.responseText;
	var joinerror       = document.getElementById('regi_error');
	joinerror.innerHTML = response;
	joinerror.style.marginLeft = '413px';
	joinerror.style.top        = '277px';
	joinerror.style.display    = 'block';
}
