//URL for AJAX-Call
var sUrl = "http://www.rc-magazin.de/ajax.php";

function checkAll(form)
{
	for (i = 0, n = form.elements.length; i < n; i++)
	{
		if(form.elements[i].type == "checkbox") {
			if(form.elements[i].checked == true)
				form.elements[i].checked = false;
			else
				form.elements[i].checked = true;
		}
	}
}


function validate_email(field)
{
  with (field)
  {
    apos=value.indexOf("@");
    dotpos=value.lastIndexOf(".");
    if (apos<1||dotpos-apos<2)
      {return false;}
    else {return true;}
  }
}


function checkform(form)
{
  //Felder überprüfen, die als Must-Have markiert sind!
  var errors = 0;

  var elements = document.registerform.getElementsByTagName("input");
  var i = 0;

  while(i < elements.length)
    {elements[i].style.background = "#ffffff"; i++;}

  i = 0;

  //check Passwords
  if(elements[0].value == "")
  {
    elements[0].style.background = "#ff9595";
    alert("Du hast keinen Benutzernamen gewählt");
    return false;
  }

  //check Passwords
  if(elements[1].value != elements[2].value)
  {
    elements[1].style.background = "#ff9595";
    elements[2].style.background = "#ff9595";
    alert("Die eingegebenen Passwörter müssen übereinstimmen!");
    return false;
  }

  //check Emailfields
  if(elements[6].value != elements[7].value)
  {
    elements[6].style.background = "#ff9595";
    elements[7].style.background = "#ff9595";
    alert("Die eingegebenen Emailadressen müssen übereinstimmen!");
    return false;
  }

  //Check if Emailadresses are in Email - Form
  if(validate_email(elements[6]) == false)
  {
    elements[6].style.background = "#ff9595";
    elements[7].style.background = "#ff9595";
    alert("Die eingegebene Emailadresse ist keine Emailadresse");
    return false;
  }

  //Check if Emailadresses are in Email - Form
  if(!elements[10].checked)
  {
    alert("Du musst die Nutzungsbedingungen akzeptieren, um die Registrierung fortzusetzen.");
    return false;
  }

  while(i < elements.length)
    {
      if( i == 3 || i == 4 || i == 5 ||  i == 8 || i == 9)
      {i++;}
      else
      {
        if(elements[i].value == "" || elements[i].value == null)
        {
          elements[i].style.background = "#ff9595";
          errors++;
        }

        i++;
      }
    }

  if(errors == 0)
    return true;
  else
  {
    alert("Die markierten Felder müssen korrekt ausgefüllt werden!");
    return false;
  }
}


function registerCheckUsername()
{
	var username = document.getElementById('registerUsername').value;

	//make AJAX-Call
	var callback =
	{
		success: function(o)
		{
			//Try-Catch and parse the response-Text with JSON-Lib
	        try {
	            json_msg = YAHOO.lang.JSON.parse(o.responseText);
	        }
	        catch (x) {
	            return;
	        }

			//Sysmessage
			if(json_msg.responsecode == 200)
			{
				if(username.length > 0)
				{
					if(json_msg.exists == 0)
					{
						document.getElementById('usernameInfo').innerHTML = '<img src="./images/ok.png" alt="Benutzername verfügbar" /> Benutzername verfügbar';
						document.getElementById('usernameInfo').style.color = '#008000';
					}
					else
					{
						document.getElementById('usernameInfo').innerHTML = '<img src="./images/error.png" alt="Benutzername vergeben" /> Benutzername vergeben';
						document.getElementById('usernameInfo').style.color = '#FF0000';
					}
				}
				else
				{
					document.getElementById('usernameInfo').innerHTML = '';
				}
			}
			else
			{
				alert(json_msg.error+" [Err #"+json_msg.responsecode+"]");
			}
		},
		failure: function(o)
		{
			//Try-Catch and parse the response-Text with JSON-Lib
	        try {
	            json_msg = YAHOO.lang.JSON.parse(o.responseText);
	        }
	        catch (x) {
	            return;
	        }
		}
	}

	var postData = 'action=registerCheckUsername&username='+username;

	var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
}

function registerCheckEmail()
{
	var email = document.getElementById('registerEmail').value;

	//make AJAX-Call
	var callback =
	{
		success: function(o)
		{
			//Try-Catch and parse the response-Text with JSON-Lib
	        try {
	            json_msg = YAHOO.lang.JSON.parse(o.responseText);
	        }
	        catch (x) {
	            return;
	        }

			//Sysmessage
			if(json_msg.responsecode == 200)
			{
				if(json_msg.exists == 0)
				{
					document.getElementById('emailInfo').innerHTML = '<img src="./images/ok.png" alt="Benutzername verfügbar" />';
					document.getElementById('emailInfo').style.color = '#008000';
				}
				else
				{
					document.getElementById('emailInfo').innerHTML = '<img src="./images/error.png" alt="Mit dieser Emailadresse ist bereits ein Account registriert" /> Email bereits registriert';
					document.getElementById('emailInfo').style.color = '#FF0000';
				}
			}
			else
			{
				alert(json_msg.error+" [Err #"+json_msg.responsecode+"]");
			}
		},
		failure: function(o)
		{
			//Try-Catch and parse the response-Text with JSON-Lib
	        try {
	            json_msg = YAHOO.lang.JSON.parse(o.responseText);
	        }
	        catch (x) {
	            return;
	        }
		}
	}

	var postData = 'action=registerCheckEmail&email='+email;

	var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
}
