var xmlhttp = false;
try {
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
	try {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (E) {
		xmlhttp = false;
	}
}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
	xmlhttp = new XMLHttpRequest();
}

function checkdate(month, day, year) {
	var myDate=new Date();
	myDate.setFullYear(year,month-1,day);
	if(myDate.getDate()==day)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function check_login()
{
	serverPage = "ajax/check_login.php?username=" + document.login_form.user.value + "&password=" + document.login_form.pass.value;
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function()
	{
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
		{
			var message=xmlhttp.responseText;
			if(message=='0')
			{document.login_form.submit();}
			else
			{alert(message);}
		}
	}
	xmlhttp.send(null);
	return false;
}

function show_register()
{
	serverPage = "register.php";
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function()
	{
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
		{
			document.getElementById('register_form').innerHTML=xmlhttp.responseText;
			document.getElementById('main').style.display = 'none';
			document.getElementById('register').style.display = 'inline';
		}
	}
	xmlhttp.send(null);
}

function show_main()
{
	document.getElementById('register').style.display = 'none';
	document.getElementById('main').style.display = 'inline';
}


function show_window(scherm)
{
	var error = "";
	if(scherm == 'account_details')
		{
			if(document.registration.pers_name.length < 5 || document.registration.pers_name.value == "")
				{
					error += "Please fill in a name with a minimum length of 5 character \n"	
				}
			if(document.registration.pers_month.value > 12 ||  document.registration.pers_month.value < 0 || 
			   document.registration.pers_day.value > 32 || document.registration.pers_day.value < 0 || 
			   document.registration.pers_year.value > 2001 || document.registration.pers_year.value < 1899)
				{
					error += "Please fill in a correct date of birth \n"	
				}
			else if(checkdate(document.registration.pers_month.value,document.registration.pers_day.value,document.registration.pers_year.value)== false)
				{
					error += "Please fill in a correct date of birth \n"
				}
			if(document.registration.pers_gender.value > 3 || document.registration.pers_gender.value <= 0)
				{
					error += "Please select your gender"
				}
																										
			if(error == "")
			{  				
			document.getElementById('personal_details').style.display="none";
			document.getElementById('account_details').style.display="none";
			document.getElementById('character_details').style.display="none";
			document.getElementById('overview').style.display="none";
			document.getElementById(scherm).style.display="block";
			document.getElementById(scherm).style.display="table";		
			}
		   	else
			{
				alert(error);
			}
		}
	else if(scherm == 'character_details')
		{
			check_account_details(scherm);
		}
	else if(scherm == 'overview')
		{
			check_character_details(scherm);
			
			var overview = 
			'<table border="0" style="color: #962626;"><tr><td colspan=2><b>Personal details:</b></td><td colspan=2><b>Account details:</b></td></tr><tr><td>First name:</td><td>'
				+ document.registration.pers_name.value +
			'</td><td>Username:</td><td>'+ document.registration.acc_username.value +'</td></tr><tr><td>Date:</td><td>'
				+ document.registration.pers_month.value +
			'-' 
				+ document.registration.pers_day.value +
			'-' 
				+ document.registration.pers_year.value +
			'</td></tr><tr><td>Gender:</td><td>'; 
				
								
				if(document.registration.pers_gender.value == 1)
					{
						overview += 'Male </td><td>E-mail:</td><td>'+ document.registration.acc_email.value +'</td></tr>'
					}
						else 
							{
								overview += 'Female </td><td>E-mail:</td><td>'+ document.registration.acc_email.value +'</td></tr>'
							}
				
				
				overview += '<tr><td colspan=2><b>Character details:</b></td></tr><tr><td>Charactername:</td><td colspan=3><u>'
				+ document.registration.char_name.value + '</u></td></tr><tr><td>Gender:</td><td colspan=3>';
				
				if(document.registration.char_gender.value == 1)
				{
					overview += 'Male';
				}
				else 
				{
					overview += 'Female';
				}
				
				overview += '</td></tr></table>';
			
			document.getElementById('overview_ding').innerHTML = overview;
		}
		else
		{
			document.getElementById('personal_details').style.display="none";
			document.getElementById('account_details').style.display="none";
			document.getElementById('character_details').style.display="none";
			document.getElementById('overview').style.display="none";
			document.getElementById(scherm).style.display="block";
			document.getElementById(scherm).style.display="table";		
		}
}
function complete_registration()
{
	document.registration.submit();
}

function check_account_details(scherm)
{
	serverPage = "ajax/check_account_details.php?username="+document.registration.acc_username.value+"&password="+document.registration.acc_password.value+"&r_password="+document.registration.re_acc_password.value+"&email="+document.registration.acc_email.value+"&r_email="+document.registration.re_acc_email.value;
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function()
	{
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
		{
			var error=xmlhttp.responseText;
			if(error=="")
			{	
				document.getElementById('personal_details').style.display="none";
				document.getElementById('account_details').style.display="none";
				document.getElementById('character_details').style.display="none";
				document.getElementById('overview').style.display="none";
				document.getElementById(scherm).style.display="block";
				document.getElementById(scherm).style.display="table"; 
			}
			else
			{alert(error);}
		}
	}
	xmlhttp.send(null);
	
}
	
function check_character_details(scherm)
{
		serverPage = "ajax/check_character_details.php?name="+document.registration.char_name.value+"&gender="+document.registration.char_gender.value;
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function()
	{
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
		{
			var error=xmlhttp.responseText;
			if(error=="")
			{				
				document.getElementById('personal_details').style.display="none";
				document.getElementById('account_details').style.display="none";
				document.getElementById('character_details').style.display="none";
				document.getElementById('overview').style.display="none";
				document.getElementById(scherm).style.display="block";
				document.getElementById(scherm).style.display="table";
			}
			else
			{alert(error);}
		}
	}
	xmlhttp.send(null);

}

var ie=document.all;
var nn6=document.getElementById&&!document.all;

var isdrag=false;
var x,y;
var dobj;

function movemouse(e)
{
  if (isdrag)
  {
   	dobj.style.left = nn6 ? tx + e.clientX - x : tx + event.clientX - x;
   	dobj.style.top  = nn6 ? ty + e.clientY - y : ty + event.clientY - y;	
    return false;
  }
}

function selectmouse(e) 
{
  var fobj       = nn6 ? e.target : event.srcElement;
  var topelement = nn6 ? "HTML" : "BODY";

  while (fobj.tagName != topelement && fobj.className != "dragme" && fobj.className != "dragme2")
  {
    fobj = nn6 ? fobj.parentNode : fobj.parentElement;
  }

  if (fobj.className=="dragme")
  {
    isdrag = true;
    dobj = fobj.parentNode;
    tx = dobj.offsetLeft;
    ty = dobj.offsetTop;
    x = nn6 ? e.clientX : event.clientX;
    y = nn6 ? e.clientY : event.clientY;
    document.onmousemove=movemouse;
    return false;
  }
  
  if (fobj.className=="dragme2")
  {
    isdrag = true;
    dobj = fobj.parentNode.parentNode.parentNode.parentNode.parentNode;
    tx = dobj.offsetLeft;
    ty = dobj.offsetTop;
    x = nn6 ? e.clientX : event.clientX;
    y = nn6 ? e.clientY : event.clientY;
    document.onmousemove=movemouse;
    return false;
  }
}

document.onmousedown=selectmouse;
document.onmouseup=new Function("isdrag=false");

var delay=50;
var currentChar=1;
var destination="[not defined]";

function type()
{
  if (document.getElementById)
  {
    var dest=document.getElementById(destination);
    if (dest)
    {
      dest.innerHTML=text.substr(0, currentChar);
      currentChar++
      if (currentChar>text.length)
      {
        
      }
      else
      {
        setTimeout("type()", delay);
      }
    }
  }
}

function startTyping(textParam, delayParam, destinationParam)
{
  text=textParam;
  delay=delayParam;
  currentChar=1;
  destination=destinationParam;
  type();
}

