// variables Globales
var champObligatoireVide = false;

function formSubmit( formId , formType )
{
	alertMsg = '';
	champObligatoireVide = false;

	color = "#949494";

	formObj = document.getElementById( formId );
	switch( formType )
	{
		case 'userRegistration':
			
			var myurl = "/action/register";
			
			// sexe
			if(document.forms[formId].elements['sexe']){
				resetLabelError( 'sexe' + "_label", color );
				if (!document.forms[formId].elements['sexe'][0].checked && !document.forms[formId].elements['sexe'][1].checked){
					champObligatoireVide = true;
					setLabelError( 'sexe' + "_label" );
				}
			}
			// nom_input
			if(document.forms[formId].nom_input){
				alertMsg += testChampAlphaWithAccent(document.forms[formId].nom_input.value,"nom", "last_name", 1, color);
			}
			
			// prenom_input
			if(document.forms[formId].prenom_input){
				alertMsg += testChampAlphaWithAccent(document.forms[formId].prenom_input.value,"prenom","first_name",1, color);
			} 
			// dateofbirth
			if(document.forms[formId].dateofbirth){
				resetLabelError( 'date_de_naissance' + "_label", color );
				
				var day = document.forms[formId].dateofbirth.options[document.forms[formId].dateofbirth.selectedIndex].value;
				var month = document.forms[formId].dateofbirthM.options[document.forms[formId].dateofbirthM.selectedIndex].value;
				var year = document.forms[formId].dateofbirthY.options[document.forms[formId].dateofbirthY.selectedIndex].value;
				
				if ( day=="" && month=="" && year=="" ){
					champObligatoireVide = true;
					setLabelError( 'date_de_naissance' + "_label" );
				} else {
					if(!isDate(day,month,year)){
								alertMsg += '- Votre date de naissance n\'est pas valide\n';
								setLabelError( 'date_de_naissance' + "_label" );
								}
				}
			}
		
			// email_input
			resetLabelError( 'email' + "_label", color );
				
				chaine=document.forms[formId].email_input.value;
				
				if ( chaine == ""){
					champObligatoireVide = true;
					setLabelError( 'email' + "_label" );
				} else {
					if (!isEmailValid(chaine)){
							alertMsg += '- Votre Email n\'est pas valide\n';
							setLabelError( 'email' + "_label" );
										}
				}


			// psido
			alertMsg += testChampAlpha(document.forms[formId].psido.value,"pseudo","login",1);
			
			if (document.forms[formId].password.value != "_ezpassword"){
				// password
				alertMsg += testChampAlpha(document.forms[formId].password.value,"mot de passe","motdepasse",1);
			}
			
			if (document.forms[formId].confirmmotdepasse.value != "_ezpassword"){
				// confirmmotdepasse
				alertMsg += testChampAlpha(document.forms[formId].confirmmotdepasse.value,"confirmation du mot de passe","confirmmotdepasse",1);
			}
			
			if (document.forms[formId].password.value != "_ezpassword" || document.forms[formId].confirmmotdepasse.value != "_ezpassword"){
				// test password=confirmmotdepasse
				if (document.forms[formId].password.value != document.forms[formId].confirmmotdepasse.value){
					alertMsg += '- Votre mot de passe n\'est pas identique à  votre confirmation de mot de passe  \n';
					setLabelError( 'motdepasse' + "_label" );
					setLabelError( 'confirmmotdepasse' + "_label" );
				}
			}
			
	newsletterPremiereIsOk = false;
		newsletterTheatreIsOk = false;
		offresPremiereIsOk = false;
		newsletterPeopleQuotIsOk = false;
		newsletterPeopleHebdoIsOk = false;
		newsletterPeoplePromoIsOk = false;
		
		if(document.forms[formId].elements['offres_premiere']){
			for( i=0;i<document.forms[formId].elements['offres_premiere'].length;i++ )
			{
				if( document.forms[formId].elements['offres_premiere'][i].checked )
					offresPremiereIsOk = true;
			}
			resetLabelError( 'offres_premiere' + "_label", color );
		}else{
			offresPremiereIsOk = true;
		}
		if(document.forms[formId].elements['newsletter_premiere']){
			for( i=0;i<document.forms[formId].elements['newsletter_premiere'].length;i++ )
			{
				if( document.forms[formId].elements['newsletter_premiere'][i].checked )
					newsletterPremiereIsOk = true;
			}
			resetLabelError( 'newsletter_premiere' + "_label", color );
		}else{
			newsletterPremiereIsOk = true;
		}
		if(document.forms[formId].elements['newsletter_theatre']){
			for( i=0;i<document.forms[formId].elements['newsletter_theatre'].length;i++ )
			{
				if( document.forms[formId].elements['newsletter_theatre'][i].checked )
					newsletterTheatreIsOk = true;
			}
			resetLabelError( 'newsletter_theatre' + "_label", color );
		}else{
			newsletterTheatreIsOk = true;
		}
		
		if(document.forms[formId].elements['quot_people']){
			for( i=0;i<document.forms[formId].elements['quot_people'].length;i++ )
			{
				if( document.forms[formId].elements['quot_people'][i].checked )
					newsletterPeopleQuotIsOk = true;
			}
			resetLabelError( 'quot_people' + "_label", color );
		}else{
			newsletterPeopleQuotIsOk = true;
		}
		
		if(document.forms[formId].elements['hebdo_people']){
			for( i=0;i<document.forms[formId].elements['hebdo_people'].length;i++ )
			{
				if( document.forms[formId].elements['hebdo_people'][i].checked )
					newsletterPeopleHebdoIsOk = true;
			}
			resetLabelError( 'hebdo_people' + "_label", color );
		}else{
			newsletterPeopleHebdoIsOk = true;
		}
		
		if(document.forms[formId].elements['promo_people']){
			for( i=0;i<document.forms[formId].elements['promo_people'].length;i++ )
			{
				if( document.forms[formId].elements['promo_people'][i].checked )
					newsletterPeoplePromoIsOk = true;
			}
			resetLabelError( 'promo_people' + "_label", color );
		}else{
			newsletterPeoplePromoIsOk = true;
		}
	
		
		if( offresPremiereIsOk == false || newsletterPremiereIsOk == false || newsletterTheatreIsOk == false || newsletterPeopleQuotIsOk == false || newsletterPeopleHebdoIsOk == false || newsletterPeoplePromoIsOk == false || alertMsg != '' || champObligatoireVide == true)
			{
				if( !offresPremiereIsOk )
				{
					setLabelError( 'offres_premiere' + "_label" );
				}
				if( !newsletterPremiereIsOk )
				{
					setLabelError( 'newsletter_premiere' + "_label" );
				}
				if( !newsletterTheatreIsOk )
				{
					setLabelError( 'newsletter_theatre' + "_label" );
				}
				if( !newsletterPeopleQuotIsOk )
				{
					setLabelError( 'quot_people' + "_label" );
				}
				if( !newsletterPeopleHebdoIsOk )
				{
					setLabelError( 'hebdo_people' + "_label" );
				}
				if( !newsletterPeoplePromoIsOk )
				{
					setLabelError( 'promo_people' + "_label" );
				}				
				if( champObligatoireVide == true || offresPremiereIsOk == false  || newsletterPremiereIsOk == false || newsletterTheatreIsOk == false || newsletterPeopleQuotIsOk == false || newsletterPeopleHebdoIsOk == false || newsletterPeoplePromoIsOk == false)
				{
					alertMsg = '- Au moins un champ obligatoire est vide\n' + alertMsg;
				}
				
				alert( alertMsg );
				return false;
			}
		break;
		
		case 'userEdition':
		
			var myurl = "/action/edit";		
		
			// sexe
			if(document.forms[formId].elements['sexe']){
				resetLabelError( 'sexe' + "_label", color );
				if (!document.forms[formId].elements['sexe'][0].checked && !document.forms[formId].elements['sexe'][1].checked){
					champObligatoireVide = true;
					setLabelError( 'sexe' + "_label" );
				}
			}
			// nom_input
			if(document.forms[formId].nom_input){
				alertMsg += testChampAlphaWithAccent(document.forms[formId].nom_input.value,"nom","last_name",1, color);
			}
			
			// prenom_input
			if(document.forms[formId].prenom_input){
				alertMsg += testChampAlphaWithAccent(document.forms[formId].prenom_input.value,"prenom","first_name",1, color);
			} 
			// dateofbirth
			if(document.forms[formId].dateofbirth){
				resetLabelError( 'date_de_naissance' + "_label", color );
				
				var day = document.forms[formId].dateofbirth.options[document.forms[formId].dateofbirth.selectedIndex].value;
				var month = document.forms[formId].dateofbirthM.options[document.forms[formId].dateofbirthM.selectedIndex].value;
				var year = document.forms[formId].dateofbirthY.options[document.forms[formId].dateofbirthY.selectedIndex].value;
				
				if ( day=="" && month=="" && year=="" ){
					champObligatoireVide = true;
					setLabelError( 'date_de_naissance' + "_label" );
				} else {
					if(!isDate(day,month,year)){
								alertMsg += '- Votre date de naissance n\'est pas valide\n';
								setLabelError( 'date_de_naissance' + "_label" );
								}
				}
			}
		
			// email_input
			resetLabelError( 'email' + "_label", color );
				
				chaine=document.forms[formId].email_input.value;
				
				if ( chaine == ""){
					champObligatoireVide = true;
					setLabelError( 'email' + "_label" );
				} else {
					if (!isEmailValid(chaine)){
							alertMsg += '- Votre Email n\'est pas valide\n';
							setLabelError( 'email' + "_label" );
										}
				}
			
			// blog_input
			if(document.forms[formId].blog_input){
				alertMsg += testChampAlphaWithAccent(document.forms[formId].blog_input.value,"blog","blog",0, color);
			}
			// psido
			alertMsg += testChampAlpha(document.forms[formId].psido.value,"pseudo","login",1);
			
			if (document.forms[formId].password.value != "_ezpassword"){
				// password
				alertMsg += testChampAlpha(document.forms[formId].password.value,"mot de passe","motdepasse",1);
			}
			
			if (document.forms[formId].confirmmotdepasse.value != "_ezpassword"){
				// confirmmotdepasse
				alertMsg += testChampAlpha(document.forms[formId].confirmmotdepasse.value,"confirmation du mot de passe","confirmmotdepasse",1);
			}
			
			if (document.forms[formId].password.value != "_ezpassword" || document.forms[formId].confirmmotdepasse.value != "_ezpassword"){
				// test password=confirmmotdepasse
				if (document.forms[formId].password.value != document.forms[formId].confirmmotdepasse.value){
					alertMsg += '- Votre mot de passe n\'est pas identique à  votre confirmation de mot de passe  \n';
					setLabelError( 'motdepasse' + "_label" );
					setLabelError( 'confirmmotdepasse' + "_label" );
				}
			}
			
		newsletterPremiereIsOk = false;
		newsletterTheatreIsOk = false;
		offresPremiereIsOk = false;
		newsletterPeopleQuotIsOk = false;
		newsletterPeopleHebdoIsOk = false;
		newsletterPeoplePromoIsOk = false;
		
		
		if(document.forms[formId].elements['offres_premiere']){
			for( i=0;i<document.forms[formId].elements['offres_premiere'].length;i++ )
			{
				if( document.forms[formId].elements['offres_premiere'][i].checked )
					offresPremiereIsOk = true;
			}
			resetLabelError( 'offres_premiere' + "_label", color );
		}else{
			offresPremiereIsOk = true;
		}
		if(document.forms[formId].elements['newsletter_premiere']){
			for( i=0;i<document.forms[formId].elements['newsletter_premiere'].length;i++ )
			{
				if( document.forms[formId].elements['newsletter_premiere'][i].checked )
					newsletterPremiereIsOk = true;
			}
			resetLabelError( 'newsletter_premiere' + "_label", color );
		}else{
			newsletterPremiereIsOk = true;
		}
		if(document.forms[formId].elements['newsletter_theatre']){
			for( i=0;i<document.forms[formId].elements['newsletter_theatre'].length;i++ )
			{
				if( document.forms[formId].elements['newsletter_theatre'][i].checked )
					newsletterTheatreIsOk = true;
			}
			resetLabelError( 'newsletter_theatre' + "_label", color );
		}else{
			newsletterTheatreIsOk = true;
		}
		
		if(document.forms[formId].elements['quot_people']){
			for( i=0;i<document.forms[formId].elements['quot_people'].length;i++ )
			{
				if( document.forms[formId].elements['quot_people'][i].checked )
					newsletterPeopleQuotIsOk = true;
			}
			resetLabelError( 'quot_people' + "_label", color );
		}else{
			newsletterPeopleQuotIsOk = true;
		}
		
		if(document.forms[formId].elements['hebdo_people']){
			for( i=0;i<document.forms[formId].elements['hebdo_people'].length;i++ )
			{
				if( document.forms[formId].elements['hebdo_people'][i].checked )
					newsletterPeopleHebdoIsOk = true;
			}
			resetLabelError( 'hebdo_people' + "_label", color );
		}else{
			newsletterPeopleHebdoIsOk = true;
		}
		
		if(document.forms[formId].elements['promo_people']){
			for( i=0;i<document.forms[formId].elements['promo_people'].length;i++ )
			{
				if( document.forms[formId].elements['promo_people'][i].checked )
					newsletterPeoplePromoIsOk = true;
			}
			resetLabelError( 'promo_people' + "_label", color );
		}else{
			newsletterPeoplePromoIsOk = true;
		}
		
		
		if( offresPremiereIsOk == false || newsletterPremiereIsOk == false || newsletterTheatreIsOk == false || alertMsg != '' || champObligatoireVide == true)
			{
				if( !offresPremiereIsOk )
				{
					setLabelError( 'offres_premiere' + "_label" );
				}
				if( !newsletterPremiereIsOk )
				{
					setLabelError( 'newsletter_premiere' + "_label" );
				}
				if( !newsletterTheatreIsOk )
				{
					setLabelError( 'newsletter_theatre' + "_label" );
				}
				if( !newsletterPeopleQuotIsOk )
				{
					setLabelError( 'quot_people' + "_label" );
				}
				if( !newsletterPeopleHebdoIsOk )
				{
					setLabelError( 'hebdo_people' + "_label" );
				}
				if( !newsletterPeoplePromoIsOk )
				{
					setLabelError( 'promo_people' + "_label" );
				}	
				
				if( offresPremiereIsOk == false || newsletterPremiereIsOk == false || newsletterTheatreIsOk == false || newsletterPeopleQuotIsOk == false || newsletterPeopleHebdoIsOk == false || newsletterPeoplePromoIsOk == false || alertMsg != '' || champObligatoireVide == true)
				{
					alertMsg = '- Au moins un champ obligatoire est vide\n' + alertMsg;
				}
				
				alert( alertMsg );
				return false;
			}
		break;

		
		
		case 'goToRegistration' :
		
		var myurl = "/action/register";
		
		emailInputObj = document.getElementById( 'email_jeu' );
		emailString = emailInputObj.value;
		if( !isEmailValid( emailString ) )
		{
			alert( 'Votre email n\'est pas valide' );
			setLabelError( 'email_label' );
			return false;
		}
		break;
		
	}

	showLoadingPicture();
	
	
	$.ajax({
	  				url: myurl,
	  				type: "POST",
	  				data: $('#' + formId).formSerialize(),
	  				success: function(connection){
	  							$('#TB_ajaxContent').html(connection);
	  							update_user_window();
	  					}
	  		});
	

	return false;
}


function formSubmitModal(formId , formType, myurl, tmpForm, dest_url, color)
{
	if(color == '' || color == null) color = '000';
	
	formObj = document.getElementById( formId );
	var error = false;
	switch( formType )
	{
		case 'userRegistration':
		newsletterPremiereIsOk = false;
		newsletterTheatreIsOk = false;
		offresPremiereIsOk = false;
		alertMsg = '';
		for( i=0;i<document.forms[formId].elements['offres_premiere'].length;i++ )
		{
			if( document.forms[formId].elements['offres_premiere'][i].checked )
				offresPremiereIsOk = true;
		}
		for( i=0;i<document.forms[formId].elements['newsletter_premiere'].length;i++ )
		{
			if( document.forms[formId].elements['newsletter_premiere'][i].checked )
				newsletterPremiereIsOk = true;
		}
		for( i=0;i<document.forms[formId].elements['newsletter_theatre'].length;i++ )
		{
			if( document.forms[formId].elements['newsletter_theatre'][i].checked )
				newsletterTheatreIsOk = true;
		}
		
		$('#offres_premiere_label').css('color', '#'+color);
		$('#newsletter_premiere_label').css('color', '#'+color);
		$('#newsletter_theatre_label').css('color', '#'+color);
		
		if( offresPremiereIsOk == false || newsletterPremiereIsOk == false || newsletterTheatreIsOk == false)
		{
			if( !offresPremiereIsOk )
			{
				$('#offres_premiere_label').css('color', '#f54');
			}
			if( !newsletterPremiereIsOk )
			{
				$('#newsletter_premiere_label').css('color', '#f54');
			}
			if( !newsletterTheatreIsOk )
			{
				$('#newsletter_theatre_label').css('color', '#f54');
			}
			error = true;
		}
		break;
		
		case 'goToRegistration' :
		emailInputObj = document.getElementById( 'email_jeu' );
		emailString = emailInputObj.value;
		if( !isEmailValid( emailString ) )
		{
			alert( 'Votre email n\'est pas valide' );
			setLabelError( 'email_label' );
			error = true;
		}
		break;
	}

	
	$A(document.getElementsByClassName('qualif_check')).each(function(element) 
		{
		element_id = element.name + "_label";
		$(element_id).style.color = '#'+color;
		if(element.value == "")
			{
			error= true;
			$(element_id).style.color = '#f54';
			}
		}
	);

	bday_error = false;
	$A(document.getElementsByClassName('bday_check')).each(function(element) 
			{
			if(element.value == "")
				{
				bday_error= true;
				}
			}
		);

	$('#date_de_naissance_label').css('color', '#'+color);
	if(bday_error)
	{
		error = true;
		$('#date_de_naissance_label').css('color', '#f54');
	}


	if($('#password').attr('value') != $('#confirmmotdepasse').attr('value') )
	{
		error = true;
		alert('Mots de passe invalide');
		$('#password_label').css('color', '#f54');
		$('#password').attr('value', "");
		$('#confirmmotdepasse_label').css('color', '#f54');
		$('#confirmmotdepasse').attr('value', "");
	}


	if(error)
	{
		$('#oublie').html('Merci de renseigner tous les champs obligatoires').css('color', '#f54');
		alert('Merci de renseigner correctement tout les champs obligatoire');
		return false;
	}
	
	
	$('#req_cnt').hide('slow');
	$('#req_cnt_valid').show('slow');
	$.ajax({
	  				url: myurl,
	  				type: "POST",
	  				data: $('#'+ formId).formSerialize(),
	  				success: function(connection){
	  							$('#TB_ajaxContent').html(connection);
	  							var user_logged = GetCookie('user_logged');
								if(user_logged == 'oui')
								{
									window.location = dest_url;
								}
	  				}
	  		});


return false;

}


function resetLabelError( labelId, color ){

	if(color == '' || color == null) color = '000';

	labelObj = document.getElementById( labelId );
	if( labelObj != null ){
			labelObj.style.color = color;
		}
}

function setLabelError( labelId )
{
	labelObj = document.getElementById( labelId );
	if( labelObj != null ){
		labelObj.style.color = '#EB3E63';
		}
}

function isEmailValid( email )
{
	var verif = /^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/;
	if (verif.exec(email) == null)
	{
		return false;
	}
	else
	{
		return true;
	}
} 

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function isDate (day,month,year) {
// checks if date passed is valid

    var today = new Date();
    if (!day || !month || !year ) return false;
    month=month-1;
    var test = new Date(year,month,day);
    if ( (y2k(test.getYear()) == year) &&
         (month == test.getMonth()) &&
         (day == test.getDate()) )
        return true;
    else
        return false
}

function isAlpha(txt) 
{ 
// Test si au moins un caractère autre que (espace), ou A à Z, ou a à z, ou 0 à 9 a été saisi 

var regExpression=/[^ A-Za-z0-9_\-]+/; 
if (regExpression.test(txt)) return false; 
return true 
}; 

function isAlphaWithAccent(txt) 
{ 
// Test si au moins un caractère autre que (espace), ou A à Z, ou a à z, ou 0 à 9, ou ( ) , ' " - . a été saisi 

var regExpression=/[^ A-Za-z0-9àâÀÂéèêëÉÈÊËîïÎÏôÔùûÙÛçÇœŒ(),'"_\.\-]+/; 
if (regExpression.test(txt)) return false; 
return true 
}; 

function isCodePostal(txt) 
{ 
// Test si au moins un caractère autre que (espace), ou 0 à 9 a été saisi 

var regExpression=/[^ 0-9]+/; 
if (regExpression.test(txt)) return false; 
return true 
}; 

function testChampAlpha(valeur,nom,label,obligatoire,color)
{

	if(color == '' || color == null) color = '000';
	
	resetLabelError( label + "_label", color );
	
	msg='';
	if ( obligatoire == 1 && valeur == ""){
		champObligatoireVide = true;
		setLabelError( label + "_label" );
	} else {
		if (!isAlpha(valeur)){
				msg += '- Votre '+ nom +' n\'est pas valide\n';
				setLabelError( label + "_label" );
							}
	}
	return msg;
}

function testChampAlphaWithAccent(valeur,nom,label,obligatoire,color)
{

	if(color == '' || color == null) color = '000';
	resetLabelError( label + "_label", color );
	
	msg='';
	if ( obligatoire == 1 && valeur == ""){
		champObligatoireVide = true;
		setLabelError( label + "_label" );
	} else {
		if (!isAlphaWithAccent(valeur)){
				msg += '- Votre '+ nom +' n\'est pas valide\n';
				setLabelError( label + "_label" );
							}
	}
	return msg;
}
