

function quickregsave(){
	var msgStart = JSLANGmsgstart + '\n\n';
	var msgEnd = '\n' + JSLANGmsgend;
	var lst = '';
	var errCount = 0;
	cform = document.forms[0];
	var reg = /^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+_+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/
	
//	if ($('#FirstName').val() == '') {	errCount += 1;lst += errCount + ') ' + JSLANG_BlankFirstName + '.\n';}
//	if ($('#LastName').val() == '') {errCount += 1;	lst += errCount + ') ' + JSLANG_BlankLastName + '.\n';}
	if ($('#Gender').val() == '') {
		var ans = confirm('Are you sure your Gender is unknown?');
		if (!ans) {
			errCount += 1;	lst += errCount + ') ' + JSLANG_BlankGender + '.\n';
		}
	}	
	if ($('#DOB').val() == '') {
		errCount += 1;	lst += errCount + ') ' + JSLANG_BlankDOB + '.\n';
	}else{
		var vdate = isDate($('#DOB').val(),'dd/MM/yyyy');
		if(vdate == false){
			errCount += 1;	lst += errCount + ') ' + JSLANG_NotValidDOB + '.\n';
		}		
	}	if ($('#ScreenName').val() == '') {errCount += 1;	lst += errCount + ') ' + JSLANG_BlankScreenName + '.\n';}
	if ($('#Email').val() == '') {
		errCount += 1;
		lst += errCount + ') ' + JSLANG_BlankEmail + '.\n';
	}else if (!$('#Email').val().match(reg)) {
			errCount += 1;
			lst += errCount + ') ' + JSLANG_ValidEmail + '.\n';
	}else if(emailUnique != 'success'){
			errCount += 1;lst += errCount + ') ' + emailUnique  + '.\n';
	}
	if ($('#Password').val() == '') {	errCount += 1;	lst += errCount + ') ' + JSLANG_BlankPassword + '.\n';}
	else {
		if ($('#ConfirmPassword').val() == '') {	
			errCount += 1;	
			lst += errCount + ') ' + JSLANG_BlankConfirmPassword + '.\n';
		}else {
			if ($('#Password').val() != $('#ConfirmPassword').val()) {
				errCount += 1;
				lst += errCount + ') ' + JSLANG_ConfirmationMismatch + '.\n';
			}
		}
	}
		
		
	if (lst == '') {
		document.forms[0].submit();
	}else {
		alert(msgStart + lst + msgEnd);
		return false;
	}	
}
function memberExists(){	
	if (request.readyState == 4) {
		if (request.responseText == 'Not Found') {
			//fab All is ok as this is an original screen Name.			
		}else{
			alert(JSLANG_NameTaken);
			$('#ScreenName').val('');
		}
	}		
}

function checkScreenName(){
	if($('#ScreenName').val() != ''){
		var request = getAjaxRequestObj();
		if(request == null){
			alert('Error unable to create request.');
			return false;
		}else{
			request.open('GET', '../component/ax_getMemberId.php?&scnme=' + elem('ScreenName').value +'&rand='+getRandNo(), true );
			request.onreadystatechange = memberExists;
			request.send(null);
		}
	}
}

function showStage(stage){
	var msgStart = JSLANGmsgstart + '\n\n';
	var msgEnd = '\n' + JSLANGmsgend;
	var lst = '';
	var errCount = 0;
	cform = document.forms[0];
	
	switch (stage){
		case(1) :
			var reg = /^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+_+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/
				
			if ($('#Email').val() == '') {
				errCount += 1;
				lst += errCount + ') ' + JSLANG_BlankEmail + '.\n';
			}else if (!$('#Email').val().match(reg)) {
					errCount += 1;
					lst += errCount + ') ' + JSLANG_ValidEmail + '.\n';
			}else if(emailUnique != 'success'){
					errCount += 1;lst += errCount + ') ' + emailUnique  + '.\n';
			}
		
			if ($('#ScreenName').val() == '') {errCount += 1;	lst += errCount + ') ' + JSLANG_BlankScreenName + '.\n';}
			
			if ($('#DOB').val() == '') {errCount += 1;	lst += errCount + ') ' + JSLANG_BlankDOB + '.\n';
			}else{
				var vdate = isDate($('#DOB').val(),'dd/MM/yyyy');
				if(vdate == false){
					errCount += 1;	lst += errCount + ') ' + JSLANG_NotValidDOB + '.\n';
				}		
			}
		case(2) :
			if ($('#Password').val() == '') {	errCount += 1;	lst += errCount + ') ' + JSLANG_BlankPassword + '.\n';}
			else {
				if ($('#ConfirmPassword').val() == '') {	
					errCount += 1;	
					lst += errCount + ') ' + JSLANG_BlankConfirmPassword + '.\n';
				}else {
					if ($('#Password').val() != $('#ConfirmPassword').val()) {
						errCount += 1;
						lst += errCount + ') ' + JSLANG_ConfirmationMismatch + '.\n';
					}
				}
			}
			if ($('#FirstName').val() == '') {	errCount += 1;lst += errCount + ') ' + JSLANG_BlankFirstName + '.\n';}
			if ($('#LastName').val() == '') {errCount += 1;	lst += errCount + ') ' + JSLANG_BlankLastName + '.\n';}
			if ($('#Gender').val() == '') {	
				errCount += 1;	lst += errCount + ') ' + JSLANG_BlankGender + '.\n';
			} else if($('#Gender').val() == 'M'){
				$('#mainProfilePic').attr('src','../image/default-user-large.jpg');
			}else{//F
				$('#mainProfilePic').attr('src','../image/default-user-large.jpg');
			}
			if ($('#Country').val() == '') {	errCount += 1;	lst += errCount + ') ' + JSLANG_BlankCountry + '.\n';}
			break;
		case (3):
			document.getElementById('Stage2').style.display='none';
			document.getElementById('Stage3').style.display='';
			document.getElementById('Stage4').style.display='none';
			break;
		case(4):
			var c=0;
			var data = '';
			while(document.getElementById('cbInterest_'+c)){
				if(document.getElementById('cbInterest_'+c).checked == true){
					data += (""==data) ?document.getElementById('cbInterest_'+c).value : ","+document.getElementById('cbInterest_'+c).value;
				}
				c++; 
			}
			document.getElementById('userInterestBin').value = data;
			document.getElementById('Stage2').style.display='none';
			document.getElementById('Stage3').style.display='none';
			document.getElementById('Stage4').style.display='';
			break;
		case(5):
			var request = getAjaxRequestObj();
			if(request == null){
				alert('Error unable to create request.');
				return false;
			}else{
				request.open('GET', '../antispam/verifycheck.php?&capya=' + ($('#capya').val().toUpperCase()) , true );
				request.onreadystatechange = verifyResult;
				request.send(null);
			}
			break;	
	}
	
	if (lst == '') {
		if (stage == 5) {
			document.forms['registration'].submit();
		}else if(stage == 1){
			document.forms['registration'].submit();
			
		}else{
			for (var i = 1; i <= 3; i++) {
				elem('Stage' + i).style.display = 'none';
			}
			elem('Stage' + stage).style.display = 'block';
		}
	}else {
		alert(msgStart + lst + msgEnd);
		return false;
	}
}



var updateStrength = function(pw) {
	var strength = getStrength(pw);
	var slide = strength *12;
	slide = slide > 400 ? 400 : slide;
	elem('psStrength').style.backgroundPosition = '-' + slide + 'px 0px';
}
			
var getStrength = function(passwd) {
	intScore = passwd.length;
	if (passwd.match(/[a-z]/)) // [verified] at least one lower case letter
		{
			intScore = (intScore+1)
		} if (passwd.match(/[A-Z]/)) // [verified] at least one upper case letter
		{
			intScore = (intScore+5)
		} // NUMBERS
		if (passwd.match(/\d+/)) // [verified] at least one number
		{
			intScore = (intScore+5)
		} if (passwd.match(/(\d.*\d.*\d)/)) // [verified] at least three numbers
		{
			intScore = (intScore+5)
		} // SPECIAL CHAR
		if (passwd.match(/[!,@#$%^&*?_~]/)) // [verified] at least one special character
		{
			intScore = (intScore+5)
		} if (passwd.match(/([!,@#$%^&*?_~].*[!,@#$%^&*?_~])/)) // [verified] at least two special characters
		{
			intScore = (intScore+5)
		} // COMBOS
		if (passwd.match(/[a-z]/) && passwd.match(/[A-Z]/)) // [verified] both upper and lower case
		{
			intScore = (intScore+2)
		} if (passwd.match(/\d/) && passwd.match(/\D/)) // [verified] both letters and numbers
		{
			intScore = (intScore+2)
		} // [Verified] Upper Letters, Lower Letters, numbers and special characters
		if (passwd.match(/[a-z]/) && passwd.match(/[A-Z]/) && passwd.match(/\d/) && passwd.match(/[!,@#$%^&*?_~]/))
		{
			intScore = (intScore+2)
		}
		
		return intScore;
}

function dobUpdate(fld){
	switch (fld.name) {
		case 'DOBDay':
		case 'DOBMonth':
			if (fld.value < 10 && fld.value.length == 1 ){
				fld.value = '0' + fld.value;
			}
			break;
		case 'DOBYear':
			break;
	}
	$('#DOB').val($('#DOBDay').val() +'/'+ $('#DOBMonth').val() +'/'+ $('#DOBYear').val());
	checkLegalAge();
}

function checkLegalAge(updateFlg){
	var res = '';
	if ($('#DOB').val() != '') {
		var vdate = isDate($('#DOB').val(), 'dd/MM/yyyy');
		if (vdate == true) {
			var dobDate = new Date(getDateFromFormat($('#DOB').val(), 'dd/MM/yyyy'));
			var ageDate = new Date();
			ageDate.setYear(ageDate.getFullYear() - 16);
			
			if (dobDate > ageDate) {
				res = 'under';
			}
			else {
				res = 'over';
			}
			
			$('#AccountType').val().indexOf('A');
			if(res == 'under'){
				if($('#AccountType').val().indexOf('B') >= 0 && updateFlg != true){
					alert('You cannot select the over 16 account\n with a Date of birth under 16 years');	
					dteArr= $('#DOB').val().split('/');
					$('#DOB').val(dteArr[0]+'/'+dteArr[1]+'/' )	;
					$('#DOBYear').val('');							
				}
				$('#Lastname_mIcon').css({'display' : ''});
				$('#Parent_mIcon').css({'display' : 'none'});
			}else{
				if($('#AccountType').val().indexOf('A') >= 0 && updateFlg != true){
					alert('You cannot select the under 16 account\n with a Date of birth over 16 years');	
					dteArr= $('#DOB').val().split('/');
					$('#DOB').val(dteArr[0]+'/'+dteArr[1]+'/' )	;
					$('#DOBYear').val('');					
				}
			$('#Lastname_mIcon').css({'display' : 'none'});
			$('#Parent_mIcon').css({'display' : ''});						
			}
		}
	}	
	return res;
}

function verifyResult(){
	if (request.readyState == 4 ) {
		if (request.status == 200) {
			if (request.responseText == 'verified') {

			}
			else {
				alert(JSLANG_NoMatchVerification);
				request = getAjaxRequestObj();
				if (request == null) {
					alert('Error unable to create request.');
					return false;
				}
				else {
					var rand_no = getRandNo();//  <- This is to get round IE cache issue
					capyaRequest = getAjaxRequestObj();
					capyaRequest.open('GET', '../component/ax_update.php?&ftype=captcha&randNo=' + rand_no, true);
					capyaRequest.onreadystatechange = updateCaptcha;
					capyaRequest.send(null);
					showStage(2);
					elem('capya').focus;
				}
			}
		}
	}	
}

function updateCaptcha(){
	if (capyaRequest.readyState == 4) {
		$('#captchaContainer').html(capyaRequest.responseText);
	}
}
