jQuery(document).ready(function() {
	initializeMailCheck();
});


function initializeMailCheck() {
	document.getElementById('identificationEmail').onkeyup=dynamicEmailCheck;
}



function checkEmail(email) {
	var controlRegex=/^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/;
	
	if(!controlRegex.exec(email)) {
		return false;
	}
	else {
		return true;
	}
}



function dynamicEmailCheck(e) {

	if(!e) {
		e=event;
	}
	
	if(!this.lastValue) {
		this.lastValue='';
	}

	if(checkEmail(this.value) && this.lastValue!=this.value) {

		var handler=new GC_Ajax(function() {
			if(h.readyState==4) {
				eval('var answer='+h.responseText);
				if(answer.status) {
					setElementOk('inscriptionEmail');
				}
				else {
					var message='';
					if(answer.errorCode) {
						switch(answer.errorCode) {
							case 1 : message='Email invalide'; break;
							case 2 : message='Email déjà utilisé :  <a href="/membre/mailmotdepasse?email='+document.getElementById('identificationEmail').value+'">Récupérer mon mot de passe</a>' ; break;
						}
					}
					elementNOK('inscriptionEmail', message);
				}
			}
		});
		
		var h=handler.init();
		handler.addData('email', document.getElementById('identificationEmail').value);
		
		handler.addData('action', 'checkEmail');
		
		elementChecking('inscriptionEmail');
		
		handler.sendQuery('/direct/membre/inscription?step=1');
	}
	this.lastValue=this.value;
}




function elementChecking(elementName) {
	document.getElementById(elementName+'Loading').style.display='inline';
	document.getElementById(elementName+'NOK').style.display='none';
	document.getElementById(elementName+'OK').style.display='none';
	
	if(document.getElementById(elementName+'errorMessage')) {
		document.getElementById(elementName+'errorMessage').innerHTML='';
	}
}

function setElementOk(elementName) {
	document.getElementById(elementName+'Loading').style.display='none';
	document.getElementById(elementName+'NOK').style.display='none';
	document.getElementById(elementName+'OK').style.display='inline';
	
	if(document.getElementById(elementName+'errorMessage')) {
		document.getElementById(elementName+'errorMessage').innerHTML='';
	}
}

function elementNOK(elementName, message) {
	document.getElementById(elementName+'Loading').style.display='none';
	document.getElementById(elementName+'NOK').style.display='inline';
	document.getElementById(elementName+'OK').style.display='none';
	
	if(message) {
		if(!document.getElementById(elementName+'errorMessage')) {
			var element=document.createElement('span');
			element.className='error';
			element.setAttribute('id', elementName+'errorMessage')
			element.innerHTML=message;
			document.getElementById(elementName+'NOK').parentNode.appendChild(element);
		}
		else {
			document.getElementById(elementName+'errorMessage').innerHTML=message;
		}
	}
}

function resetElement(elementName) {
	if(document.getElementById(elementName+'Loading')) {
		document.getElementById(elementName+'Loading').style.display='none';
	}
	if(document.getElementById(elementName+'NOK')) {
		document.getElementById(elementName+'NOK').style.display='none';
	}
	if(document.getElementById(elementName+'OK')) {
		document.getElementById(elementName+'OK').style.display='none';
	}
	
	if(document.getElementById(elementName+'errorMessage')) {
		document.getElementById(elementName+'errorMessage').innerHTML='';
	}
}


