﻿var isValidUsername = false;
var gotAjaxResponse = false;
var ajaxTimeout=0;
function validateUsername(username,resultObj){
	resultObj.innerHTML = "";
	gotAjaxResponse = false;
	isValidUsername = false;
	clearTimeout(ajaxTimeout);
	if (username.length==0){return;}
	if (username.length>20){resultObj.innerHTML = 'username too long'; return;}
	
	var x = GetXmlHttpObject();
	
	if (!x){ isValidUsername = true; return;} //no ajax support, validate username on the back-end
	
	x.onreadystatechange=function(){
		if (x.readyState==4){
			resultObj.innerHTML = x.responseText;
			r = resultObj.innerHTML;
			gotAjaxResponse = true;
			if (r.indexOf('not')==-1 && r.indexOf('invalid')==-1){isValidUsername = true;}
		}
	}
	x.open("GET","/user/usercheck.aspx?ustr="+username+"&sid="+Math.random(),true);
	x.send(null);
	ajaxTimeout = setTimeout(checkUsernameResult,5000)
}
function checkUsernameResult(){

	if (gotAjaxResponse==false){
		isValidUsername = true;
	}
}
function validatePassword()
{

	if ($(formPrefix + 'txtSignupPassword').value.length<6){return 'password should be 6 or more characters'}
	
	if($(formPrefix + 'txtSignupPassword').value !=$(formPrefix + 'txtSignupPassword2').value)
	{
		return 'passwords do not match';
	}
	return '';
}
function validateCaptcha(){
	alert('You have entered invalid verification code.\r\nPlease enter text you see in the image below email address.');
	$(formPrefix+'txtCaptcha').focus()
}

function validateRegistration(){
	var msg = '';

	if (!isValidUsername || $(formPrefix +'txtSignupUsername').value ==''){
		msg = 'invalid username';
	}else{
		
		msg = validatePassword();
		if (msg=='')
		{
			if (!isValidateEmail($(formPrefix + 'txtEmail').value))
			{
				msg = 'please enter a valid email address';
			}else{
				if ($(formPrefix + 'txtCaptcha').value.length==0){
					msg = 'please enter text you see in the image below email address';
				}else{
					if ($(formPrefix + 'chkTerms').checked==false){
						msg = 'please agree to the terms and conditions';
					}
				}
			}
		}
	}
	if (msg!=''){alert(msg);return false;}
	
	return true
}
function enableRegisterButton(){
	if ($(formPrefix + 'chkTerms').checked)
	{
		$(formPrefix + 'btnRegister').src='http://i.docstoccdn.com/btn_register.gif'
	}
	else
	{
		$(formPrefix + 'btnRegister').src='http://i.docstoccdn.com/btn_register_g.gif';
	}
}

function showForgotPassword(){
	$('div-login').style.display = 'none';
	$('forgot-password').style.display = 'block';
	return false;
}

function hideForgotPassword(){
	$('div-login').style.display = 'block';
	$('forgot-password').style.display = 'none';
	return false;
}
	

window.addEvent('load', function()
{

	enableRegisterButton();
	var username = $(formPrefix+'txtSignupUsername').value;
	if (username.length>0){
		validateUsername(username,$('lblUsercheck'));
	}
});