function CheckForm()
{
	if( ! document.getElementById('phone') )
		return false;

	phone = document.getElementById('phone').value;
	if(	document.getElementById('email').value == '' ||
		phone == '' ||
		document.getElementById('question').value == '' ||
		document.getElementById('answer').value == '' ||
		document.getElementById('login').value == '' ||
		document.getElementById('password').value == '' ||
		document.getElementById('password2').value == '' ||
		document.getElementById('secret').value == '')
	{
		alert("Fill all entries !");
		return(false);
	}
	if( document.getElementById('login').value.length < 4 )
	{
		alert("Login should be more than 3 symbols");
		return(false);
	}
	if( document.getElementById('password').value.length < 4 ||
		document.getElementById('password2').value.length < 4 )
	{
		alert("Password should be at least 4 symbols long");
		return(false);
	}
	phoneRegExp = /^\+\d+$/;
	if( ! phoneRegExp.test(phone) || phone.length < 11 || phone.indexOf('+3306') != -1 || phone.indexOf('+0') != -1 ||
		phone.indexOf('+33') != -1 && phone.length < 12 || phone.indexOf('+336') != -1 && phone.length != 12 )
	{
		alert( 'Make sure you enter phone number in the international format, for instance for France phones: +336XXXXXXXX' );
		return(false);
	}
	if( ! document.getElementById('checkbox').checked )
	{
		alert("You should accept Terms of Service and Privacy Policy");
		return(false);
	}
	return(true);
}
function InviteCodeYes()
{
	d = document.getElementById("reg_havecode");
	s = d.innerHTML;
	s = s.replace( "<!--", "" );
	s = s.replace( "-->", "" );
	d.innerHTML = s;
	document.getElementById("invitecode").disabled = false;
	document.getElementById("invitecode").focus();
}
function InviteCodeNo()
{
	d = document.getElementById("doyouhaveinvite");
	if( d )
		d.innerHTML = '';

	s = document.getElementById("reg_noinvitepart").innerHTML;
	s = s.replace( "<!--", "" );
	s = s.replace( "-->", "" );
	document.getElementById("reg_noinvitepart").innerHTML = s;

	s = document.getElementById("reg_commonpart").innerHTML;
	s = s.replace( "<!--", "" );
	s = s.replace( "-->", "" );
	document.getElementById("reg_commonpart").innerHTML = s;
}
function CodeChanged()
{
	document.getElementById("badcode").innerHTML = '';
	if( document.getElementById("invitecode").value.length >= 6 )
	{
		document.getElementById("invitecode").disabled = true;
		document.getElementById("inviteno").disabled = true;
		loadXMLDoc( 'http://' + baseurl + '/chkcode.php?code=' + document.getElementById("invitecode").value );
	}
}


var reqReg=null;
var console=null;
var consoletype=null;
var READY_STATE_UNINITIALIZED=0;
var READY_STATE_LOADING=1;
var READY_STATE_LOADED=2;
var READY_STATE_INTERACTIVE=3;
var READY_STATE_COMPLETE=4;

function createRequestObject()
{
    if (window.XMLHttpRequest)
    {
        try
        {
            return new XMLHttpRequest();
        }
        catch(e)
        {
        }
    }
    else if (window.ActiveXObject)
    {
        try
        {
            return new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e)
        {
          try
          {
              return new ActiveXObject("Microsoft.XMLHTTP");
          }
          catch(e)
          {
          }
        }
    }
    return null;
}

function loadXMLDoc(url)
{
	s = document.getElementById("wait").innerHTML;
	s = s.replace( "<!--", "" );
	s = s.replace( "-->", "" );
	document.getElementById("wait").innerHTML = s;

	reqReg = createRequestObject();
	if( reqReg )
	{
		reqReg.onreadystatechange = processReqChange;
		reqReg.open("GET", url+'&r='+Math.random(), true);
		reqReg.send(null);
	}
}

function processReqChange()
{
	var ready=reqReg.readyState;
	var data=null;
	if( ready==READY_STATE_COMPLETE )
	{
		s = "<!--" + document.getElementById("wait").innerHTML + "-->";
		document.getElementById("wait").innerHTML = s;

		if( reqReg.responseText.indexOf("~ok~") != -1 )
		{
			document.getElementById("doyouhaveinvite").innerHTML = '';
			document.getElementById("chkchk").value = '1';

			s = reqReg.responseText;
			p1 = s.indexOf("phone=");
			if( p1 != -1 )
			{
				p2 = s.indexOf(";",p1);
				if( p2 != -1 )
					phone = s.substr(p1+6,p2-p1-6);
			}
			p1 = s.indexOf("email=");
			if( p1 != -1 )
			{
				p2 = s.indexOf(";",p1);
				if( p2 != -1 )
					email = s.substr(p1+6,p2-p1-6);
			}

			s = document.getElementById("reg_yesinvitepart").innerHTML;
			s = s.replace( "<!--", "" );
			s = s.replace( "-->", "" );
			s = s.replace( "~phonevalue~", '<input id="phone" name="phone" type="hidden" value="'+ phone + '">'+ phone );
			if( email.length > 0 )
				s = s.replace( "~emailvalue~", '<input id="email" name="email" type="text" value="'+ email + '">');
			else
				s = s.replace( "~emailvalue~", '<input id="email" name="email" type="text">' );
			document.getElementById("reg_yesinvitepart").innerHTML = s;

			s = document.getElementById("reg_commonpart").innerHTML;
			s = s.replace( "<!--", "" );
			s = s.replace( "-->", "" );
			document.getElementById("reg_commonpart").innerHTML = s;
			return;
		}

		if( reqReg.responseText.indexOf("~error~") != -1 )
			document.getElementById("badcode").innerHTML = '<font color="#FF0000" size="+1">Incorect code, please check numbers!</font>';

		document.getElementById("invitecode").disabled = false;
		document.getElementById("inviteno").disabled = false;
		document.getElementById("invitecode").value = '';
		document.getElementById("invitecode").focus();
	}
}

