var errors=true;
var us_name="";
var us_pas="";
var us_mail="";
var us_add="";
var us_gender="";
var us_day="";
var us_month="";
var us_year="";
var us_birth=",<br />I'm born ";
var us_chan="";
var er_name=true;
var txt="";
var cellphone="";
var my_pic="http://www.bgames.com/avatars/no_image.gif";
var tohen;
/***************************************************
 * Check Valid Passwords
 **************************************************/
function checkPasswords()
{
	if( document.signup_form.password.value == "" ||
		document.signup_form.password.value.length<3 || document.signup_form.password.value.length>15)
	{
	   errors=true;
       document.getElementById("dpass").style.width="16px";
       document.getElementById("dpass").style.height="16px";
       document.getElementById("dpass").src="/images/frontend/NetGames/cross.png";
       document.getElementById('check_password').innerHTML='<span style="color:#FF0000;font-weight:bold;">Password must be between 3 and 9 characters in length</span>';
    }
	else
	{
	    errors=false;
        document.getElementById("dpass").style.width="16px";
         document.getElementById("dpass").style.height="16px";
        document.getElementById("dpass").src="/images/frontend/NetGames/accept.png";
        document.getElementById("dpass").title="Valid Password";
        document.getElementById('check_password').innerHTML="";
        document.getElementById("pwd").value=document.signup_form.password.value;
        us_pas=document.signup_form.password.value;
	}
}

/***************************************************
 * Check Valid Email
 **************************************************/
function checkEmail()
{
	document.getElementById("butFirst").enabled=false;
    var str = document.signup_form.email.value;
    if (str!='')
    {
        var filter = /^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
        if (filter.test(str))
        {
            var url = '/common/ajax/signup_ajax2.php';
            var pars = 'action=check_mail&mail='+str;
            var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onSuccess: handlerFuncMail });
        }
        else
        {
            errors=true;
            document.getElementById("dmail").style.width="16px";
            document.getElementById("dmail").style.height="16px";
            document.getElementById("dmail").src="/images/frontend/NetGames/cross.png";
            document.getElementById("dmail").title="The Email you supplied is not valid.";
            document.getElementById("mail_err").innerHTML='<span style="color:#FF0000;font-weight:bold;">The Email you supplied is not valid.</span>';
		}
    }
    else
    {
        errors=true;
        document.getElementById("dmail").style.width="16px";
        document.getElementById("dmail").style.height="16px";
        document.getElementById("dmail").src="/images/frontend/NetGames/cross.png";
        document.getElementById("dmail").title="Please enter a valid email address.";
        document.getElementById("mail_err").innerHTML='<span style="color:#FF0000;font-weight:bold;">Please enter a valid email address.</span>';
    }
    document.getElementById("butFirst").enabled=true;
}

/***************************************************
 * Check Valid Display Name
 **************************************************/
function checkDisplayName()
{
	if( document.signup_form.display_name.value == "" )
	{
		document.getElementById("dnick").src="/images/frontend/NetGames/trophy.jpg";
	}
	else
	{
	    updateBorder('display_name_su', 'green');
	}
}

/***************************************************
 * Check Valid User Name
 **************************************************/

function clearUsernameStatus()
{
	hideDiv('check_username');
}
var handlerFuncMail = function(t)
{
  	var status = getNodeValue(t.responseXML, "result");
    if (status == "inUse")
	{
        errors=true;
        document.getElementById("dmail").style.width="16px";
        document.getElementById("dmail").style.height="16px";
        document.getElementById("dmail").src="/images/frontend/NetGames/cross.png";
        document.getElementById("dmail").title="An account is already registered with that email address, please use another.";
        document.getElementById("mail_err").innerHTML='<span style="color:#FF0000;font-weight:bold;">An account is already registered with that email address, please use another.</span>';
   	}
	else
	{
         errors=false;
            document.getElementById("dmail").style.width="16px";
         document.getElementById("dmail").style.height="16px";
            document.getElementById("dmail").src="/images/frontend/NetGames/accept.png";
            document.getElementById("dmail").title="Valid Email";
            document.getElementById("mail_err").innerHTML="";
			us_mail=",<br />my email addreess is: "+document.getElementById("email_su").value;
            document.getElementById("cv").innerHTML=us_name+us_mail+us_add;
            document.getElementById("mail").value=document.getElementById("email_su").value;
	}
	document.getElementById("dnick").title=txt;

}

var handlerFunc = function(t)
{
	var status = getNodeValue(t.responseXML, "result");
	if (status == "invalid" || status == "unavailable")
	{
        if (getNodeValue(t.responseXML, "result_text")=='a')
            txt= "Please use only numbers and english letters.";
        if (getNodeValue(t.responseXML, "result_text")=='b')
            txt= "Username too long";
        if (getNodeValue(t.responseXML, "result_text")=='c')
            txt= "Username too short";
        if (getNodeValue(t.responseXML, "result_text")=='d')
            txt= "An account is already registered with that username, please use another.";
        if (getNodeValue(t.responseXML, "result_text")=='z')
            txt= "Username you entered contains inproper language, please change it.";
        if (getNodeValue(t.responseXML, "result_text")=='e')
            txt= "Valid Username";
        document.getElementById("check_u_name").innerHTML="<span style='font-weight:bold;color:#FF0000;'>"+txt+"</span>";
        errors=true;
        er_name=true;
        document.getElementById("dnick").style.width="16px";
         document.getElementById("dnick").style.height="16px";
        document.getElementById("dnick").src="/images/frontend/NetGames/cross.png";
   	}
	else
	{
        errors=false;
        er_name=false;
        document.getElementById("dnick").style.width="16px";
         document.getElementById("dnick").style.height="16px";
        document.getElementById("dnick").src="/images/frontend/NetGames/accept.png";
        document.getElementById("dnick").title="Valid Username";
        us_name="Hi, name is "+document.getElementById("username_su").value;
        document.getElementById("cv").innerHTML=us_name+us_mail;
        document.getElementById("check_u_name").innerHTML="";
		document.getElementById("user").value=document.getElementById("username_su").value;
	}
	document.getElementById("dnick").title=txt;

}

function updateUsernameStatus()
{
    self.username = document.signup_form.username.value;
	if(self.username != "")
	{
        checkVal=self.username;
        if (checkVal.match("!") || checkVal.match("@") || checkVal.match("#") || checkVal.match("%") || checkVal.match("&") || checkVal.match('"') || checkVal.match("'") )
         {
               errors=true;
        er_name=true;
        document.getElementById("dnick").style.width="16px";
         document.getElementById("dnick").style.height="16px";
        document.getElementById("check_u_name").innerHTML="<span style='font-weight:bold;color:#FF0000;'>Please use only numbers and english letters.</span>"
        document.getElementById("dnick").src="/images/frontend/NetGames/cross.png";
         }
         else
            {
		var url = '/common/ajax/signup_ajax2.php';
		var pars = 'action=check_username&user='+self.username;
		var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onSuccess: handlerFunc });
        }

    }
	else
	{
        errors=true;
        er_name=true;
        document.getElementById("dnick").style.width="16px";
         document.getElementById("dnick").style.height="16px";
        document.getElementById("check_u_name").innerHTML="<span style='font-weight:bold;color:#FF0000;'>Please enter a valid username</span>"
        document.getElementById("dnick").src="/images/frontend/NetGames/cross.png";
	}
}

/***************************************************
 * Update Border Colour
 **************************************************/
function updateBorder(ele, color)
{
	if (color == null)
	{
		document.getElementById(ele).style.border = "";
	}
	else
	{
	    document.getElementById(ele).style.border = "1px solid "+color;
	}
}

function signupUpdate(a,b)
{
    var today=new Date();
    var h=today.getHours();
    var m=today.getMinutes();
    var s=today.getSeconds();
    var url = '/common/ajax/signup_ajax2.php';
	var pars = 'action=signup&table='+a+'&id='+id+'&time='+b+'&name='+document.signup_form.username.value+'&date='+h+':'+m+':'+s;
    var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onSuccess: handlerFunc3 });
}

var handlerFunc3 = function(t){}

function firstcheck(a,b)
{
    updateUsernameStatus();
    checkEmail();
    checkPasswords();
     if (!errors)
    window.setTimeout('firsttable('+a+','+b+')', 1000);
}

function firsttable(a,b)
{
  if (b==4)
        {
             var uploadedImageFrame = window.uploadedImage;
          	 uploadedImageFrame.document.body.innerHTML = '<img src="'+my_pic+'" alt="" />';
        }
    if (a==3 && us_gender=="")
    {
        errors=true;
        document.getElementById("myGender").innerHTML='<span style="color:#FF0000;font-weight:bold;">Choose your side! :)</span>';
    }
     if (a==1 && us_mail=="")
         {
             checkEmail();
         }
    if (a==1 && us_pas=="")
    {
         errors=true;
         document.getElementById("check_password").innerHTML='<span style="color:#FF0000;font-weight:bold;">Password is missing</span>';
    }
    if (!errors && !er_name)
    {
        signupUpdate(a,time);
        document.getElementById("t"+a).style.display="none";
        document.getElementById("t"+b).style.display="block";
        if (b==4)
            document.getElementById("t5").style.display="block";
    }
    if (a==3 && us_add=="" && us_gender!="")
        myCity();
    if (b==4 && !errors)
        document.getElementById("upImage").style.display="block";
    if (a==4 && !errors)
    {
        document.getElementById("upImage").style.display="none";
        document.getElementById("t5").style.display="none";
    }
    if (a==1 && !errors)
    {
        tohen=document.getElementById("descript").innerHTML;
        document.getElementById("descript").innerHTML="";
    }
}
function mysex(a)
{
    if (a=="male")
    {
        document.getElementById("slab").innerHTML="I'm a male";
        document.getElementById("gender").value="Male";
        us_gender=",<br />I'm a male";
    }
    else
    {
        document.getElementById("slab").innerHTML="I'm a female";
        document.getElementById("gender").value="Female";
        us_gender=",<br />I'm a female";
    }
    errors=false;
    document.getElementById("cv").innerHTML=us_name+us_mail+us_gender+us_add;
}

function openDay(a)
{
    if (a=='myDay')
    {
         if (document.getElementById("myYear").style.display=="block")
            document.getElementById("myYear").style.display="none";
         if (document.getElementById("myMonth").style.display=="block")
            document.getElementById("myMonth").style.display="none";
    }
    else if(a=='myMonth')
    {
       if (document.getElementById("myYear").style.display=="block")
            document.getElementById("myYear").style.display="none";
       if (document.getElementById("myDay").style.display=="block")
            document.getElementById("myDay").style.display="none";
    }
    else
    {
       if (document.getElementById("myMonth").style.display=="block")
            document.getElementById("myMonth").style.display="none";
       if (document.getElementById("myDay").style.display=="block")
            document.getElementById("myDay").style.display="none";
    }
    if (document.getElementById(a).style.display=="none")
   {
       document.getElementById(a).style.display="block";
    }
    else
        document.getElementById(a).style.display="none";
}



function myDay(a)
{
   // alert(a);
    document.getElementById("day").value=a;
    document.getElementById("myDay").style.display="none";
    document.getElementById("myYear").style.display="block";
    document.getElementById("butDay").value="Day: "+a;
    if (us_month!="")
        us_month=" "+us_month;
    us_day=' '+a;
    document.getElementById("cv").innerHTML=us_name+us_mail+us_gender+us_add+us_birth+us_month+us_day+us_year;
  //  return true;
  }

function myMonth(a,b)
{
   // alert(a);
    document.getElementById("month").value=a;
    document.getElementById("myMonth").style.display="none";
    document.getElementById("myDay").style.display="block";
    document.getElementById("butMonth").value="Month: "+b;
    us_month=b;
    document.getElementById("cv").innerHTML=us_name+us_mail+us_gender+us_add+us_birth+us_month+us_day+us_year;
  //  return true;
}

function myYear(a)
{
    document.getElementById("year").value=a;
    document.getElementById("myYear").style.display="none";
    document.getElementById("butYear").value="Year: "+a;
    us_year=", "+a;
    document.getElementById("cv").innerHTML=us_name+us_mail+us_gender+us_add+us_birth+us_month+us_day+us_year;
}
function birthday()
{
    if (document.getElementById("year").value=="" || document.getElementById("day").value=="" || document.getElementById("month").value=="")
    {
        errors= true;
        document.getElementById("birth_err").innerHTML='<span style="color:#FF0000;font-weight:bold;">Birthday is missing</span>';
    }
    else
    {
        errors=false;
        document.getElementById("birth_err").innerHTML="";
    }
    firsttable(4,6)
}
function myCity()
{
    if (document.getElementById("city").value!=="---")
    {
        us_add=",<br />I from "+document.getElementById("city").value;
     }
    else
    {
       us_add=",<br />Don't wanne say where i'm from :)";
    }
    document.getElementById("cv").innerHTML=us_name+us_mail+us_gender+us_add;
    document.getElementById("my_city").value=document.getElementById("city").value;
}

function myChanel()
{
    chan=document.getElementById("chanel").value;
    if (chan==1)
        us_chan=",<br />I chose the Casual zone!";
    else if(chan==2)
        us_chan=",<br />I chose the Kids zone!";
    else if(chan==3)
        us_chan=",<br />I chose the Youth zone!";
    else
        us_chan=",<br />I chose the Classic zone!";
       document.getElementById("cv").innerHTML=us_name+us_mail+us_gender+us_add+us_birth+us_month+us_day+us_year+us_chan;
}

function formSub()
{
    if (!document.getElementById("terms_confirm").checked)
       document.getElementById('fo_sub').innerHTML='<span style="color:#FF0000;font-weight:bold;">You must agree to the Terms of Service before you register.</span>';
    else
        document.getElementById('fo_sub').innerHTML='';
    if (!document.getElementById("age_confirm").checked)
       document.getElementById('age_sub').innerHTML='<span style="color:#FF0000;font-weight:bold;">You must be at least 13 to register an account</span>';
    else
        document.getElementById('age_sub').innerHTML='';
    if (!document.getElementById("terms_confirm").checked || !document.getElementById("age_confirm").checked)
    {
        return;
    }
    else
    {
       if(document.getElementById("subscribe").checked)
           document.getElementById("sub").value=1;
       else
          document.getElementById("sub").value=0;
       signupUpdate(25,time);
       document.getElementById("chan").value=document.getElementById("chanel").value;
       document.getElementById("t6").style.display="none";
       document.signup_form.innerHTML = document.signup_form.innerHTML+document.signup_form2.innerHTML;
       document.signup_form.submit();
    }
}
  function backtable(a,b)
  {
        document.getElementById("t"+b).style.display="none";
        document.getElementById("t"+a).style.display="block";
        if (a==5)
            {
            document.getElementById("upImage").style.display="block";
            document.getElementById("t4").style.display="block";
            }
        if (b==4)
        {
        document.getElementById("upImage").style.display="none";
        document.getElementById("t5").style.display="none";
        }
        if (a==1)
        {
            //  alert(tohen);
              document.getElementById("descript").innerHTML=tohen;
        }
  }
      var loadingHtml ="loading..."; // this could be an animated image'<img src="/images/frontend/NetGames/ajax_loader.gif" alt="" />'
      var imageLoadingHtml = "loading...";
      var http = getXMLHTTPRequest();
      //----------------------------------------------------------------
      function uploadImage()
      {
           var uploadedImageFrame = window.uploadedImage;
           uploadedImageFrame.document.body.innerHTML = loadingHtml;
           document.getElementById("butPic").disabled=true;
           window.setTimeout('showImageUploadStatus()', 2000);
           document.getElementById("imageForm").submit();
      }
      function showImageUploadStatus() {
        var uploadedImageFrame = window.uploadedImage;
        if(uploadedImageFrame.document.body.innerHTML == loadingHtml)
        {
               window.setTimeout('showImageUploadStatus()', 1000);
        }
        else
        {
              if(uploadedImageFrame.document.getElementById("pic").src!='http://www.bgames.com/avatars/no_image.gif')
              {
                document.getElementById("erfile").innerHTML = "";
                document.getElementById("butPic").disabled=false;
                my_pic=uploadedImageFrame.document.getElementById("pic").src;
              }
              else
              {
                    document.getElementById("erfile").innerHTML ='<span style="color:#FF0000;font-weight:bold;">'+ uploadedImageFrame.document.getElementById("errs").value+'</span>';
                    document.getElementById("butPic").disabled=false;
                    my_pic=uploadedImageFrame.document.getElementById("pic").src;
            }
        }
      }
       //----------------------------------------------------------------
      function getXMLHTTPRequest() {
      	try {
        	xmlHttpRequest = new XMLHttpRequest();
      	}
      	catch(error1) {
        	try {
          	xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
          }
          catch(error2) {
      	    try {
      		    xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
      	    }
      	    catch(error3) {
      		    xmlHttpRequest = false;
      	    }
          }
        }
        return xmlHttpRequest;
      }
      //----------------------------------------------------------------
      function sendData() {
      	var url = "submitForm.php";
        var parameters = "imageDescription=" + dataForm.imageDescription.value;
        var imagePath = window.uploadedImage.imagePath;
        if(imagePath != null){
          parameters += "&uploadedImagePath=" + imagePath;
        }

      	http.open("POST", url, true);
        http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        http.setRequestHeader("Content-length", parameters.length);
        http.setRequestHeader("Connection", "close");
      	http.onreadystatechange = useHttpResponse;
      	http.send(parameters);
      }
      //----------------------------------------------------------------
      function submitFormIfNotImageLoading(maxLoadingTime, checkingIntervalTime) {
        if(window.uploadedImage.document.body.innerHTML == loadingHtml) {
          if(maxLoadingTime <= 0) {
            divResult.innerHTML = "The image loading has timed up. "
                                + "Please, try again when the image is loaded.";
          }
          else {
            divResult.innerHTML = imageLoadingHtml;
            maxLoadingTime = maxLoadingTime - checkingIntervalTime;
            var recursiveCall = "submitFormIfNotImageLoading("
                              + maxLoadingTime + ", " + checkingIntervalTime + ")";
            setTimeout(recursiveCall, checkingIntervalTime);
          }
        }
        else {
          sendData();
        }
      }
    	//----------------------------------------------------------------
      function submitForm() {
        var maxLoadingTime = 3000; // milliseconds
        var checkingIntervalTime = 500; // milliseconds
        submitFormIfNotImageLoading(maxLoadingTime, checkingIntervalTime);
      }
      //----------------------------------------------------------------
      function useHttpResponse() {
          alert(http.readyState);
      	if (http.readyState == 4) {
            if (http.status == 200) {
            alert (http.responseText);
          	divResult.innerHTML = http.responseText;
          	dataForm.reset();
          	imageForm.reset();
          	window.uploadedImage.document.body.innerHTML = "";
          	window.uploadedImage.imagePath = null;
        	}
      	}
      }

