var imageSource = "/sites/all/themes/contrib/framework/assets/images/";
var formLoadImage = imageSource + "new_avatar/loading_img.png";
var loadingImage = imageSource + "ajax-loader_big.gif";

var splCharsMatch = /^[a-zA-Z0-9 ]*$/;
var digitstartMatch = /^\d(.)*$/;
var emailMatch = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;

// Get the HTTP Object
function getHTTPObject(){
	if (window.ActiveXObject)
		return new ActiveXObject("Microsoft.XMLHTTP");
	else if (window.XMLHttpRequest)
		return new XMLHttpRequest();
	else {
		alert("Your browser does not support AJAX.");
		return null;
	}
}

function validateEmail(email) {
	if(email.length == 0 || !emailMatch.test(email)) { 	// not a valied mail id
		return false;
	}
	return true;
}

function sleep(delay) {
    var start = new Date().getTime();
    while (new Date().getTime() < start + delay);
}

function removeExtraSpace(str) {
	return str.replace(/\s{1,}/g," ");
}

function removeAllSpace(str) {
	return str.replace(/\s{1,}/g,"");
}

function trim(str) {
	return str.replace(/^\s*|\s*$/g,"");
}


// Avatar creation registration validation
function showUserUrlLayer(value) {
	userurlObj = document.getElementById('account_url');
	suggestionObj = document.getElementById('suggestionbox_ac_name');
	errorObj = document.getElementById('reg_err_accountname');

	errorObj.style.display = 'none';
	userurlObj.style.display = 'block';
	suggestionObj.innerHTML = value;
}
function close_fb_invite(id){//alert('close fb invite')
            userurlObj = document.getElementById(id);
            userurlObj.style.display = 'none';
            userurlObj.innerHTML = '';
}
 function invite_fb(id) {//alert('ok');
    userurlObj = document.getElementById(id);
    tb_show();//alert('okokokok');
    userurlObj.innerHTML = '';
                            $.ajax({
								     	type: "POST",
								      	url: "/invite.php",
								      	data: '',
								      	success: function(response) {
								      		//userurlObj.style.display = 'block';
                                            userurlObj.innerHTML = response;
								      		//setTimeout("window.location = '?q=home');", 2000);
                                            FB_RequireFeatures(["XFBML"], function(){FB.Facebook.init("<?=$appapikey?>", "/xd_receiver.htm", null);});
										tb_remove();
                                        userurlObj.style.display = 'block';
                                    }
									});
   
}

function invite_fb1(id) {alert('ok');
 userurlObj = document.getElementById(id);
 httpObject = getHTTPObject();
		if (httpObject != null) {alert('ok 2');
			
			params = "email="+'email'+"&name="+'uname';
			url = '/invite.php';
			httpObject.open("POST", url, true);alert('ok 9');
			httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			httpObject.send(params);alert('ok 8');
			httpObject.onreadystatechange  = function(){alert('ok 10');
				if(httpObject.readyState == 4){alert('ok 3');
					if(httpObject.status == 200) { alert('ok 4');
						response = httpObject.responseText;
                        userurlObj.style.display = 'block';
                        userurlObj.innerHTML = response;
												
						
					}else {alert('ok 5');
							acerrorObj.style.display = 'none';
						} 
				}  else alert('ok7');
			};
		}   else alert('ok 6');
    
    
}
function checkAvatarRegUsername(field) {
	error = "";
	errorObj = document.getElementById('reg_err_'+field.name);
	value = removeAllSpace(field.value);
	field.value = value;
	showUserUrlLayer(value);
	if(value.length < 3) {
		errorObj.style.display = 'block';
		errorObj.innerHTML = "<span class='big_txt_20_white'>Your account name must be at least 3 characters.</span>";
	}
	else if(!splCharsMatch.test(value)) {
		errorObj.style.display = 'block';
		errorObj.innerHTML = "<span class='big_txt_20_white'>Special characters are not allowed.</span>";
	}
	else {
		httpObject = getHTTPObject();
		if (httpObject != null) {
			params = "name="+value;
			url = '/avatar/checkusername';
			httpObject.open("POST", url, true);
			httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			httpObject.send(params);
			httpObject.onreadystatechange  = function(){
				if(httpObject.readyState == 4){
					if(httpObject.status == 200) {
						if (httpObject.responseText == '1') {
							errorObj.style.display = 'block';
							error = value+ " already in use.";
							errorObj.innerHTML = "<span class='big_txt_20_white'>"+ error +"</span>"
						}
						else {
							errorObj.style.display = 'none';
						}
					}
				}
			};
		}
	}
}

function checkAvatarRegEmail(field) {
	error = "";
	errorObj = document.getElementById('reg_err_'+field.name);
	value = removeAllSpace(field.value);
	field.value = value;
	if(value.length == 0 || !emailMatch.test(value)) {
		errorObj.style.display = 'block';
		errorObj.innerHTML = "<span class='big_txt_20_white'>Enter valid E-mail address.</span>";
	}
	else {
		httpObject = getHTTPObject();
		if (httpObject != null) {
			params = "email="+value;
			url = '/avatar/checkemail';
			httpObject.open("POST", url, true);
			httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			httpObject.send(params);
			httpObject.onreadystatechange  = function(){
				if(httpObject.readyState == 4){
					if(httpObject.status == 200) {
						if (httpObject.responseText == '1') {
							errorObj.style.display = 'block';
							error = value+ " already in use.";
							errorObj.innerHTML = "<span class='big_txt_20_white'>"+ error +"</span>"
						}
						else {
							errorObj.style.display = 'none';
						}
					}
				}
			};
		}
	}
}

function checkAvatarRegPassword(field) {
	errorObj = document.getElementById('reg_err_'+field.name);
	value = field.value;

	if(value.length < 1) {
		errorObj.style.display = 'block';
		errorObj.innerHTML = "<span class='big_txt_20_white'>Enter password.</span>";
	}
	else if(value.length < 6) {
		errorObj.style.display = 'block';
		errorObj.innerHTML = "<span class='big_txt_20_white'>Use at least 6 characters.</span>";
	}
	else {
		errorObj.style.display = 'none';
	}
}

function validateAvatarRegisterationForm(frm) {
	accountObj = frm.accountname;
	emailObj = frm.email;
	passObj = frm.password;

	acerrorObj = document.getElementById('reg_err_'+accountObj.name);
	value = removeAllSpace(accountObj.value);
	accountObj.value = value;
	showUserUrlLayer(value);

	emerrorObj = document.getElementById('reg_err_'+emailObj.name);
	value = removeAllSpace(emailObj.value);
	emailObj.value = value;

	pwerrorObj = document.getElementById('reg_err_'+passObj.name);

	if(accountObj.value.length < 3) {
		acerrorObj.style.display = 'block';
		acerrorObj.innerHTML = "<span class='big_txt_20_white'>Your account name must be at least 3 characters.</span>";
		return false;
	}
	else if(!splCharsMatch.test(accountObj.value)) {
		acerrorObj.style.display = 'block';
		acerrorObj.innerHTML = "<span class='big_txt_20_white'>Special characters are not allowed.</span>";
		return false;
	}
	else if(emailObj.value.length == 0 || !emailMatch.test(emailObj.value)) {
		emerrorObj.style.display = 'block';
		error = "<span class='big_txt_20_white'>Enter valid E-mail address.</span>";
		return false;
	}
	else if(passObj.value.length < 1) {
		pwerrorObj.style.display = 'block';
		pwerrorObj.innerHTML = "<span class='big_txt_20_white'>Enter password.</span>";
		return false;
	}
	else if(passObj.value.length < 6) {
		pwerrorObj.style.display = 'block';
		pwerrorObj.innerHTML = "<span class='big_txt_20_white'>Use at least 6 characters.</span>";
		return false;
	}
	else {
		httpObject = getHTTPObject();
		if (httpObject != null) {
			email = emailObj.value;
			uname = accountObj.value;
			params = "email="+email+"&name="+uname;
			url = '/avatar/checkunameemail';
			httpObject.open("POST", url, true);
			httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			httpObject.send(params);
			httpObject.onreadystatechange  = function(){
				if(httpObject.readyState == 4){
					if(httpObject.status == 200) {
						response = httpObject.responseText;
						if (response != '0:0') {
							arResponse = response.split(":");
							if (arResponse[0] != 0) {
								acerrorObj.style.display = 'block';
								error = uname +" already in use.";
								acerrorObj.innerHTML = "<span class='big_txt_20_white'>"+ error +"</span>";
							}
							if (arResponse[1] != 0) {
								emerrorObj.style.display = 'block';
								error = email +" already in use.";
								emerrorObj.innerHTML = "<span class='big_txt_20_white'>"+ error +"</span>";
							}
							return false;
						}
						else {
							acerrorObj.style.display = 'none';
							emerrorObj.style.display = 'none';
							//frm.submit();
							document.getElementById('section4').style.display = 'none';
							document.getElementById('section5').style.display = 'block';
							submitAvatarRegisterationForm(uname, email, passObj.value, frm.bak_avatar_name.value, frm.bak_avatar_sex.value, frm.bak_avatar_look.value)
						}
					}
				}
			};
		}
	}
}

function submitAvatarRegisterationForm(uname, email, pword, dob, nname, sex, look) {
	
	
	var queryString = "email="+email+"&accountname="+uname+"&password="+pword+"&dob="+dob;
	queryString += "&bak_avatar_sex="+sex+"&bak_avatar_name="+nname+"&bak_avatar_look="+look;
	var url = '?q=avatar/avatar_register';
	$.ajax({
		type: "POST",
		url: url,
		data: queryString,
		success: function(response) {
			
			arResponse = response.split(":");
			
			//if (arResponse[0] != 0) {
				$('#main_container').attr('style', 'height:10px');
				$('#mighty_avatar_img').attr('style', 'margin-top:-45px;padding-left:300px;');
				$('#section4').hide();
                $('#section3').hide();
				$('#section5').hide();
				$('#nickname5').html(nname);
				$('#sectionfinish').show();

				renderPreview(5);
				$('#finish_btn').show();
			//}
			//else {
			//	alert(response);
			//}
		}
	});
	
	
}


function checkAvatarLogEmail(field) {
	value = field.value;
	errorObj = document.getElementById('log_err_email');
	if(!validateEmail(value)) {
		errorObj.innerHTML = "<span class='big_txt_20_white'>Not a valid E-Mail ID.</span>";
		errorObj.style.display = 'block';
		avatar_login_flag = 0;
		return false;
	}
	else {
		avatar_login_flag = 1;
		errorObj.style.display = 'none';
		return true;
	}
}

function checkAvatarLogPassword(field) {
	value = field.value;
	errorObj = document.getElementById('log_err_password');
	if(value.length < 1) {
		errorObj.innerHTML = "<span class='big_txt_20_white'>Enter Password.</span>";
		errorObj.style.display = 'block';
		avatar_login_flag = 0;
		return false;
	}
	else if(value.length < 6) {
		errorObj.innerHTML = "<span class='big_txt_20_white'>Password shluld have 6 characters.</span>";
		errorObj.style.display = 'block';
		avatar_login_flag = 0;
		return false;
	}
	else {
		avatar_login_flag = 1;
		errorObj.style.display = 'none';
		return true;
	}
}

function validateLoginForm(frm) {
	emailObj = frm.email;
	passObj = frm.password;

	if(checkAvatarLogEmail(emailObj) && checkAvatarLogPassword(passObj)) {
		return true;
	}
	else {
		return false;
	}
}


delete_count = function(obj,total_counter,e) {
	var inital_value = $('#hidden_counter').val();
	var len = obj.value.length;
	if((inital_value-len)>=0) {
		$('#id_count').html(inital_value-len)
	} else {
		var obj_id = obj.id;
		var val = obj.value;
		var temp = val.substr(0,total_counter);

		document.getElementById(obj_id).value = temp;
	}

}

function change_image_src(image,id_number) {
  var image_id = "image_"+id_number;
  document.getElementById(image_id).src = image;
}


/*
this function is used to check the user balance of stareggs using Ajax
*/
function check_user_balance() {
  var item_price = $('#item_price').val();
  var sub_characterstic_id = $('#sub_characterstic_id').val();
  $.ajax({
      url: '?q=avatar/staregg_checking/'+item_price,
      success: function (response) {
        if(response!=false) {
          document.getElementById('remianing_price').innerHTML = response;
          tb_show('','#TB_inline?height=420&width=520&inlineId=body_wrapper1','');
        } else {
          document.dressing_room_form.submit();
        }
      }
    });
}


next_image = function() {
	$('#previous_image').show();
	var getImage  = $('#image_name').val();
	getImage++;
	if(getImage>5) {
		$('#next_image').hide();
	}
	var display_image = "tour_screen"+ getImage +".png";
	var path = $('#home_path').val();
	$('#home_image_id').hide();
	$("#image_id").attr({src: path+display_image,title: "tour image",alt: "tour image"});
	$('#image_name').val(getImage);
}

previous_image = function() {
	$('#next_image').show();
	$('#home_image_id').show();
	var getImage  = $('#image_name').val();
	getImage--;
	if(getImage<2) {
		$('#previous_image').hide();
	}
	var display_image = "tour_screen"+ getImage +".png";
	var path = $('#home_path').val();
	$('#home_image_id').hide();
	$("#image_id").attr({src: path+display_image,title: "tour image",alt: "tour image"});
	$('#image_name').val(getImage);
	if(getImage<2) {
		$('#home_image_id').show();
	}
}



function submit_login_form_on_enter_in_header(e,frm) {
	if(e.keyCode == 13)
		validatePreLoginForm(frm);
}

function validatePreLoginForm(frm) {
	// to remove beta key page comment the following line
	//a.evans@ctisn.com If we comment this out for some reson the invalid username / password doesn't appear
	//Note this is not the invalid email address or password length message
	validatePreLoginFormBeta(); return false; 

	var  flag = true;
	$('#login_loading').show();
	email = $('#email_address').val();
	password = $('#password').val();
	if(!validateEmail(email)) {
		flag = false;
		$('#email_error_message').html('<h1>Not a valid Email !</h1>');
		$('#email_error_message').show();
		tb_show('','#TB_inline?height=210&width=500&inlineId=new_home_div_id','');
		return false;
	}
	if(password.length < 6) {
		$('#email_error_message').hide();
		$('#pwd_error_message').show();
		tb_show('','#TB_inline?height=210&width=500&inlineId=new_home_div_id','');
		return false;
	}
	else {
		var dataString = "email_address="+email+'&password='+password+'&opr=new_home';
		$.ajax({
	     	type: "POST",
	      	url: "?q=user/login_submit",
	      	data: dataString,
	      	success: function(response) {
	      			if(response == 0) {
	      				$('#email_error_message').html('<h1>Either Username or password is wrong !</h1>');
	      				$('#email_error_message').show();
						tb_show('','#TB_inline?height=210&width=500&inlineId=new_home_div_id','');
	      			} else {
	      				//window.location='/';
	      			}
			}
		});
	}

	return false;
}

function validatePreLoginFormBeta() {
	var  flag = true;
	$('#login_loading').show();
	email = $('#email_address').val();
	password = $('#password').val();
	if(!validateEmail(email)) {
		flag = false;
		$('#email_error_message').html('<h1>Not a valid Email !</h1>');
		$('#email_error_message').show();
		tb_show('','#TB_inline?height=210&width=500&inlineId=new_home_div_id','');
		return false;
	}
	if(password.length < 6) {
		$('#email_error_message').hide();
		$('#pwd_error_message').show();
		tb_show('','#TB_inline?height=210&width=500&inlineId=new_home_div_id','');
		return false;
	}
	else {
		var dataString = "email_address="+email+'&password='+password+"&flag=1";
		//var url = "/user/login_submit_beta";
		var url = "/user/login_submit";
		$.ajax({
	     	type: "POST",
	      	url: url,
	      	data: dataString,
	      	success: function(response) {
					if(response == 0) {
	      				$('#email_error_message').html('<h1>Either Username or password is wrong !</h1>');
	      				$('#email_error_message').show();
						tb_show('','#TB_inline?height=210&width=500&inlineId=new_home_div_id','');
	      			}
	      			else if(response == 100) {
	      				window.location='/';
	      			}
	      			/*else {
	      				window.location='/beta';
	      			}*/
			}
		});
	}
	return false;
}

function validatePreInviteForm(frm) {
	email = $('#invite_email').val();

	if(!validateEmail(email)) {
		$('#log_err_invite_error').show();
		$('#email_invite_gobt').show();
	}
	else {
		$('#go_button_container').hide();
		$('#loading_img_container').show();
		var str = "Thank you :)";
		var dataString = "email="+email;
		$.ajax({
	     	type: "POST",
	      	url: "?q=user/invitation",
	      	data: dataString,
	      	success: function(response) {
	      		$('#invite_email').hide();
	      		$('#loading_img_container').hide();
	      		$('#confirmation_message').show();
	      		$('#confirmation_message').html(str);
	      		if(response != 0) {
		        	alert(response);
		        }
			}
		});
	}

	return false;
}

function showInviteForm() {
	$('#invitation_form_container').show();
	$('#confirmation_message').hide();
	$('#email_invite_loadbt').hide();
}

function hideErrorLayer(obj) {
	$('#log_err_'+obj).hide();
}

submitBetaLogin = function(e, server) {
	if(e.keyCode == 13) {
		betaLogin(server);
	}
}

betaLogin = function(server) {
	var ref = $('#betakey_destination').val();

	$('#betakey_letmein').hide();
	$('#betakey_letmein_load').show();
	var email = $('#betakey_email').val();
	var key = $('#betakey_key').val();
	if(!validateEmail(email)) {
		$('#betakey_email_error').html('Please provide valid E-mail Id');
		$('#betakey_email_error').show('slow');
		$('#betakey_letmein_load').hide();
		$('#betakey_letmein').show();
	}
	else if(key.length < 10) {
		$('#betakey_key_error').html('Please provide valid beta Key');
		$('#betakey_key_error').show('slow');
		$('#betakey_letmein_load').hide();
		$('#betakey_letmein').show();
	}
	else {
		var dataString = "email="+email+"&key="+key;
		$.ajax({
	     	type: "POST",
	      	url: "?q=user/betahome",
	      	data: dataString,
	      	success: function(response) {
	      		if(response == 0) {
	      			$.ajax({
	      				type: "POST",
	      				url: "?q=user/removedest",
	      				success: function(response) {}
	      			});
		        	window.location = ref;
		        }
		        else if(response == 101) {
		        	hideLayer('betakey_email_error');
		        	hideLayer('betakey_key_error');
		        	$('#betakey_auth_error').html('<center>You are not Authenticated to view the pages.</center>');
					$('#betakey_auth_error').show('slow');
					$('#betakey_letmein_load').hide();
					$('#betakey_letmein').show();
		        }
		        else {
		        	alert(response);
		        }
			}
		});
	}

	return false;
}

hideLayer = function(layer) {
	if(document.getElementById(layer).style.display == 'block') {
		$('#'+layer).hide();
	}
	if(document.getElementById('betakey_auth_error').style.display == 'block') {
		$('#betakey_auth_error').hide();
	}
}

closeBrowser = function() {
	$.ajax({
     	type: "POST",
      	url: "?q=user/removebetakey",
      	success: function(response) {
		}
	});
}

strcmp = function(str1, str2) {
	return ( ( str1 == str2 ) ? 0 : ( ( str1 > str2 ) ? 1 : -1 ) );
}


/* New Registration Validation starts */
var REGISTER_ACCOUNT = imageSource + "registeration/create_my_acc_bt.png";
var REGISTER_LOADING = imageSource + "registeration/check_avaialbility.gif";
var REGISTER_ERROR = imageSource + "registeration/registration_no.png";
var REGISTER_OK = imageSource + "registeration/registration_yes.png";
var REGISTER_PICK = imageSource + "registeration/registration_arrow.png";
var REGISTER_UNAME_VALIDATE = REGISTER_PWORD_VALIDATE = REGISTER_EMAIL_VALIDATE = REGISTER_AGE_VALIDATE = 0;

registerShowUserNameBallon = function() {
	$('#suggestion_ballon').show();
}

registerHideUserNameBallon = function() {
	$('#suggestion_ballon').hide();
}

registerChangeUserNameURL = function() {
	$('#username_URL').html($('#register_accountname').val());
}

registerUserNameValidate = function() {
	$('#field_suggestion_accountname').show();
	var msgImgLayer = $('#register_msg_img_accountname');
	var msgLayer = $('#register_msg_accountname');

	REGISTER_UNAME_VALIDATE = 1;
	msgImgLayer.attr('src', REGISTER_OK);
	msgLayer.html('Ok');
	return;


	var value = $.trim($('#register_accountname').val());

	msgImgLayer.attr('src', REGISTER_LOADING);
	msgLayer.html('Checking availability...');

	if(value.length < 3) {
		msgImgLayer.attr('src', REGISTER_ERROR);
		msgLayer.html('Must be 3 characters or more');
		REGISTER_PWORD_VALIDATE = 0;
	}
	else if(!splCharsMatch.test(value)) {
		msgImgLayer.attr('src', REGISTER_ERROR);
		msgLayer.html('Special characters not allowed');
		REGISTER_PWORD_VALIDATE = 0;
	}
	else if(digitstartMatch.test(value)) {
		msgImgLayer.attr('src', REGISTER_ERROR);
		msgLayer.html("Can't start with a number");
		REGISTER_PWORD_VALIDATE = 0;
	}
	else {
		$.ajax({
			type: "POST",
			data: "name="+value,
			url: "/avatar/checkusername",
			success: function(response) {
				if(response == 1) {
					REGISTER_PWORD_VALIDATE = 0;
					msgImgLayer.attr('src', REGISTER_ERROR);
					msgLayer.html('Username in use');
				}
				else {
					REGISTER_UNAME_VALIDATE = 1;
					msgImgLayer.attr('src', REGISTER_OK);
					msgLayer.html('Ok');
				}
			}
		});
	}
}

registerEmailValidate = function() {
	$('#field_suggestion_email').show();
	var msgImgLayer = $('#register_msg_img_email');
	var msgLayer = $('#register_msg_email');
	var value = $('#register_email').val();

	msgImgLayer.attr('src', REGISTER_LOADING);
	msgLayer.html('Checking availability...');

	if(value.length == 0 || !emailMatch.test(value)) {
		msgLayer.html('Not a valid email address');
		msgImgLayer.attr('src', REGISTER_ERROR);
		REGISTER_EMAIL_VALIDATE = 0;
	}
	else {
		$.ajax({
			type: "POST",
			data: "email="+value,
			url: "/avatar/checkemail",
			success: function(response) {
				if(response == 1) {
					REGISTER_EMAIL_VALIDATE = 0;
					msgImgLayer.attr('src', REGISTER_ERROR);
					msgLayer.html('Email already in use');
				}
				else {
					REGISTER_EMAIL_VALIDATE = 1;
					msgImgLayer.attr('src', REGISTER_OK);
					msgLayer.html('Ok');
				}
			}
		});
	}
}

registerPasswordValidate = function() {
	$('#field_suggestion_password').show();
	var msgImgLayer = $('#register_msg_img_password');
	var msgLayer = $('#register_msg_password');
	var value = $('#register_password').val();
	var flag = 1;

	msgImgLayer.attr('src', REGISTER_LOADING);
	msgLayer.html('Checking availability...');

	if(value.length < 6) {
		msgLayer.html('Must be 6 characters or more');
		msgImgLayer.attr('src', REGISTER_ERROR);
		flag = 0;
	}

	if(flag == 0) {
		msgImgLayer.attr('src', REGISTER_ERROR);
		REGISTER_PWORD_VALIDATE = 0;
	}
	else {
		msgImgLayer.attr('src', REGISTER_OK);
		msgLayer.html('Ok');
		REGISTER_PWORD_VALIDATE = 1;
	}
}

registerDOBValidate = function() {
	$('#field_suggestion_dob').show();
	var msgImgLayer = $('#register_msg_img_dob');
	var msgLayer = $('#register_msg_dob');
	var flag = 1;

	msgImgLayer.attr('src', REGISTER_LOADING);
	msgLayer.html('Checking availability...');

	var bday = parseInt($('#register_dob_day').val() + 1);
	var bmo = (parseInt($('#register_dob_month').val()) + 1);
	var byr = parseInt($('#register_dob_year').val()) + 1900;
	var today = new Date();
	var birth = new Date(byr, bmo, bday, 0, 0, 0);
	var age = today.getFullYear() - birth.getFullYear();

	if (today.getMonth() <= birth.getMonth() && today.getDate() < birth.getDate()) {
		age = age - 1;
	}

	if(age < 13) {
		msgLayer.html('Must be atleast 13 years old');
		flag = 0;
	}

	if(flag == 0) {
		msgImgLayer.attr('src', REGISTER_ERROR);
		REGISTER_AGE_VALIDATE = 0;
	}
	else {
		msgImgLayer.attr('src', REGISTER_OK);
		msgLayer.html('Ok');
		REGISTER_AGE_VALIDATE = 1;
	}
}

/*
 * Replicates PHP's print_r() for the javascript language.
 *
 * @param object/array to print
 * @param level (optional)
 * @return string.
 */
function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects 
		for(var item in arr) {
			var value = arr[item];
			
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}
registerFormValidate_fb = function(id) {


	avatarStatus = document.getElementById('avatar_status');
	base = avatarBase +'##'+ avatarTypeBase +'##'+ avatar_accessaries.Corps +'##'+baseFolder;
	hand_l = avatarHandL +'##'+ avatarTypeHandL +'##'+ avatar_accessaries.Left_Hand +'##'+hand_lFolder;
	hand_r = avatarHandR +'##'+ avatarTypeHandR +'##'+ avatar_accessaries.Right_Hand +'##'+hand_rFolder;
	hand_d = avatarHandD +'##'+ avatarTypeHandD +'##'+ avatar_accessaries.Double +'##'+hand_dFolder;
	hair = avatarHair +'##'+ avatarTypeHair +'##'+ avatar_accessaries.Hairstyle +'##'+hairFolder;
	eyes = avatarEyes +'##'+ avatarTypeEyes +'##'+ avatar_accessaries.Eyes +'##'+eyesFolder;
	earrings = avatarEarrings +'##'+ avatarTypeEarrings +'##'+ avatar_accessaries.Earrings +'##'+earringsFolder;
	look = base +':'+ hand_l +':'+ hand_r +':'+ hand_d +':'+ eyes +':'+ hair +':'+ earrings; // +':'+ start +':'+ shadow;
	document.getElementById('sex').value = sex;
	document.getElementById('look').value = look;
	avatarName = document.getElementById('avatar_name');
	name = trimName(avatarName.value);
	avatarName.value = name;
	if(name == 'Your Nickname...') {
		return false;
	}
	if(name.length == 0) {
		avatarName.value = 'Your Nickname...';
		return false;
	}
	error = validateAvatarName(name);
	if(error != '1') {
		return false;
	}
	else {
		avatarNickName = name;
		document.getElementById('nickname').innerHTML = avatarNickName;
       // alert(id)

			loadingImageBlock = document.getElementById('section5');
			avatarStatus = document.getElementById('avatar_status');
			statusImageBlock = document.getElementById('image_indication');
			loadImageBlock.src = formLoadImage;
			loadImageBlock.style.display = 'block';

			params = "name="+name;
			url = '/avatar/checkname';
			httpObject = getHTTPObject();
			httpObject.open("POST", url, true);
			httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			httpObject.send(params);
			httpObject.onreadystatechange  = function(){
				if(httpObject.readyState == 4){
					if(httpObject.status == 200) {
						
						loadingImageBlock.style.display = 'none';
						if (httpObject.responseText != '0') {
							avatarStatus.style.display = 'block';
							avatarStatus.innerHTML = name +" already in use.";
							statusImageBlock.src = failImage;
							document.getElementById('avl_container').style.background = "#ff3366";
							avatarCreateStep3();
						}
						else {
                                           
    $('#register_my_account').attr('src', REGISTER_LOADING);
    registerChangeUserNameURL();
	registerUserNameValidate();
	registerEmailValidate();
	registerPasswordValidate();
	registerDOBValidate();

	//if(REGISTER_UNAME_VALIDATE && REGISTER_PWORD_VALIDATE && REGISTER_EMAIL_VALIDATE && REGISTER_AGE_VALIDATE) {
		/* check uname avail */
		var uname = $('#register_accountname').val();
		var url = "?q=avatar/checkusername";
                                    var email = $('#register_email').val();
                                    var url = "?q=avatar/checkemail";
                                    var queryString = "email="+email;
                                    $.ajax({
                                        type: "POST",
                                        data: queryString,
                                        url: url,
                                        success: function(response) {
                                            if(response == 1) {
                                                $('#register_my_account').attr('src', REGISTER_ACCOUNT);
                                                $('#register_msg_img_email').attr('src', REGISTER_ERROR);
                                                $('#register_msg_email').html('Email already in use');
                                            }
                                            else {
                                                /* submit form */
                                                name = $('#register_accountname').val();
                                                pass = $('#register_password').val();
                                                email = $('#register_email').val();
                                                bday = parseInt($('#register_dob_day').val()) + 1;
                                                bmo = parseInt($('#register_dob_month').val()) + 1;
                                                byr = parseInt($('#register_dob_year').val()) + 1900;
                                                dob = byr +"-"+ bmo +"-"+ bday;
                                                aname = $('#bak_avatar_name').val();
                                                asex = $('#bak_avatar_sex').val();
                                                alook = $('#bak_avatar_look').val();
                                                if((id == 1)||(id=2)) {
                                                  
                                                    submitAvatarRegisterationForm(name, email, pass, dob, aname, asex, alook);
              
                                                }
                                                else {
                                                    var url = "?q=user/login_submit";
                                                    var queryString = "name="+escape(name)+"&pass="+escape(pass)+"&email="+escape(email)+"&dob="+escape(dob);
                                                    $.ajax({
                                                        type: "POST",
                                                        url: url,
                                                        data: queryString,
                                                        success: function(response) {
             
                                                                    window.location = '';
                                                        }
                                                    });
                                                }
                                            }
                                        }
                                    });


						//	avatarCreateStep4(id);
							showRegistrationLayers();
							setAvatarValuesToRegistraton();

						}
					}
					else {
						avatarStatus.innerHTML = 'Problem with server... '+httpObject.status;
						loadImageBlock.src = loadingImage;
					}
				}
			};

	}


}
registerFormValidate = function(id) { 

	$('#register_my_account').attr('src', REGISTER_LOADING);
	registerChangeUserNameURL();
	registerUserNameValidate();
	registerEmailValidate();
	registerPasswordValidate();
	registerDOBValidate();

	if(REGISTER_UNAME_VALIDATE && REGISTER_PWORD_VALIDATE && REGISTER_EMAIL_VALIDATE && REGISTER_AGE_VALIDATE) {
		/* check uname avail */
		var uname = $('#register_accountname').val();
		var url = "?q=avatar/checkusername";
		var queryString = "name="+uname;
		$.ajax({
			type: "POST",
			data: queryString,
			url: url,
			success: function(response) {
				if(response == 1) {
					$('#register_my_account').attr('src', REGISTER_ACCOUNT);
					$('#register_msg_img_accountname').attr('src', REGISTER_ERROR);
					$('#register_msg_accountname').html('Username in use');
				}
				else {
					/* check email avail */
					var email = $('#register_email').val();
					var url = "?q=avatar/checkemail";
					var queryString = "email="+email;
					$.ajax({
						type: "POST",
						data: queryString,
						url: url,
						success: function(response) {
							if(response == 1) {
								$('#register_my_account').attr('src', REGISTER_ACCOUNT);
								$('#register_msg_img_email').attr('src', REGISTER_ERROR);
								$('#register_msg_email').html('Email already in use');
							}
							else {
								/* submit form */
								name = $('#register_accountname').val();
								pass = $('#register_password').val();
								email = $('#register_email').val();
								bday = parseInt($('#register_dob_day').val()) + 1;
								bmo = parseInt($('#register_dob_month').val()) + 1;
								byr = parseInt($('#register_dob_year').val()) + 1900;
								dob = byr +"-"+ bmo +"-"+ bday;
								aname = $('#bak_avatar_name').val();
								asex = $('#bak_avatar_sex').val();
								alook = $('#bak_avatar_look').val();
								if(id == 1){
									

									
									submitAvatarRegisterationForm(name, email, pass, dob, aname, asex, alook);
									
									// Log user in.
                                

									var dataString = "email_address="+email+'&password='+pass+'&opr=new_home';
									$.ajax({
								     	type: "POST",
								      	url: "?q=user/login_submit",
								      	data: dataString,
								      	success: function(response) {
								      		
								      		//setTimeout("window.location = '?q=home');", 2000);
										}
									});
                                     
								}
								else {
									var url = "?q=user/login_submit";
									var queryString = "name="+escape(name)+"&pass="+escape(pass)+"&email="+escape(email)+"&dob="+escape(dob);
									$.ajax({
										type: "POST",
										url: url,
										data: queryString,
										success: function(response) {								
											
													window.location = '';
										}
									});
								}
							}
						}
					});
				}
			}
		});
	}
	else {
		$('#register_my_account').attr('src', REGISTER_ACCOUNT);
       
    }
}

registerSetGreyField = function(element) {
	$('#'+element).addClass('active');
}

registerRemoveGreyField = function(element) {
	$('#'+element).removeClass('active');
}

checkRegisterSubmit = function(e, id) {
	if(e.keyCode == 13) {
		registerFormValidate(id);
	}
}

registerShowMessageBox = function(layer) {
	$('#'+layer).show();
}

registerHideMessageBox = function(layer) {
	$('#'+layer).hide();
}

/* New Registration Validation ends */

unsetGameReferalSessionVariables = function() {
	$.ajax({
		url: "/game/unsetreferals",
		type: "GET",
		success: function(res) {
			$('#bigpoint_header').hide();
		}
	});
}


bp_resumeGame = function(gid, pass) {
	tb_show('','#TB_inline?height=0&width=0','');
    $('#bp_loading_form').show();
    $.ajax({
    	url: "/game/resume_game",
    	type: "POST",
    	data: "gid="+gid+"&pass="+pass,
    	success: function(queryString) {
    		$.ajax({
				url: "/games/bigpoint_login",
				type: "POST",
				data: queryString,
				success: function(response) {
					arResponse = response.split("<==>");
					$('#bp_loading_form').hide();
				    tb_remove();
					if(arResponse[0] == 0) {
						window.location.href = arResponse[1];
					}
					else {
						 $('#bp_login_form').show();
						 $('#bp_login_form_error').fadeIn();
					}
				}
			});
    	}
    });

/*	uname = $('#bp_login_uname').val();
	pword = $('#bp_login_password').val();
	gid = $('#bp_gameid').val();
	pgid = $('#bp_patner_gameid').val();
	gname = $('#bp_gamename').val();
	gurl = $('#bp_gameurl').val();

	var queryString = "name="+escape(uname)+"&pass="+escape(pword)+"&game="+gid+"&pgame="+pgid+"&gname="+escape(gname)+"&gurl="+escape(gurl);

	$.ajax({
		url: "?q=games/bigpoint_login",
		type: "POST",
		data: queryString,
		success: function(response) {
			arResponse = response.split("<==>");
			$('#bp_loading_form').hide();
		    tb_remove();
			if(arResponse[0] == 0) {
				window.location.href = arResponse[1];
			}
			else {
				 $('#bp_login_form').show();
				 $('#bp_login_form_error').fadeIn();
			}
		}
	});*/
}

setWidthAlignment = function(layer) {
/*	switch(screen.width) {
		case 1024:
			$('#'+layer).attr('style','left:250px');
			break;
		case 1152:
			$('#'+layer).attr('style','left:350px');
			break;
		case 1280:
			$('#'+layer).attr('style','left:375px');
			break;
	}
*/
	var boxWidth = 520;
	var screenWidth = screen.width;
	var boxWidthSize = boxWidth / 2;
	if(navigator.appName == 'Microsoft Internet Explorer') {
		var boxWidthSize = boxWidth;
	}
	var position = (screenWidth / 2) - boxWidthSize;
//	alert(boxWidth+'\n'+screenWidth+'\n'+boxWidthSize+'\n'+position);
	$('#'+layer).attr('style','left:'+position+'px');
}