//stock...
var listPays  = ['canada', 'usa', 'autre'];
var listAges  = [19, 21, 18];
var ageMax    = 120;
var today     = new Date();
var zisYear   = today.getFullYear();
var zisMonth  = today.getMonth();
var zisDay    = today.getDate();
var tooYoung  = "We are sorry but you are too young to enter this website";
var enterDM   = "Please enter both a day and a month";
var badYear   = "Please enter a valid birth year";
var checkDate = "Please select a valid date for your birth";

//retourne le nombre de jours dans le mois
var nbJourMois = function(annee, mois) {
	var nj;
	var mois31  = [0, 2, 4, 6, 7, 9, 11];
	var mois30  = [3, 5, 8, 10];
	var anneeBi = function(annee){
		annee % 4 == 0 ? fev = 29 : fev = 28;
		return fev;
	}
	if ( mois31.indexOf(mois) != -1 ) nj = 31;
	else if (mois30.indexOf(mois) != -1 ) nj = 30;
	else if (mois == 1) nj = anneeBi(annee);
	else return;

	return nj;
}

//redirige vers l'index si tout baigne
var success   = function(){
	Cookie.write("navanAge", "yes");
	if (Cookie.read('comesFrom')){
		var relocation = Cookie.read('comesFrom');
		Cookie.dispose('comesFrom');
		this.location.href = relocation;
	}
	else this.location.href = "index.php";
}

//la fonction de verif
var verifAge = function(e){
	e.stop();
	for (i = 0; i < $('pays').options.length; i ++) {
		if ($$('#paysmooUl li')[i].hasClass('vSelecItem'))
		var paysIdx = i;
	}
	for (i = 0; i < $('mois').options.length; i ++) {
		if ($$('#moismooUl li')[i].hasClass('vSelecItem'))
		var mois = i - 1;
	}
	for (i = 0; i < $('jour').options.length; i ++) {
		if ($$('#jourmooUl li')[i].hasClass('vSelecItem'))
		var jour = i;
	}
	var ziAnnee = $('year').getProperty('value');

	if ( (ziAnnee.test(/[0-9]{4}/) == false) || (zisYear - ziAnnee <= 0) || (zisYear - ziAnnee > ageMax) ) $('dispatchError').set('html', badYear);
	else {
		if (zisYear - ziAnnee > listAges[paysIdx]) success();
		else if (zisYear - ziAnnee < listAges[paysIdx]) $('dispatchError').set('html', tooYoung);
		else if (zisYear - ziAnnee == listAges[paysIdx]) {
			if ($('moismooR').getStyle('display') == 'none') {
				$$('#moismooR, #jourmooR, .facult').setStyle('display', 'block');
				$('dispatchError').set('html', enterDM);
			}
			else if ($('moismooR').getStyle('display') == 'block') {
				if ( (mois == -1) || (jour == 0) || (jour > nbJourMois(ziAnnee, mois))) $('dispatchError').set('html', checkDate);
				else {
					if (mois < zisMonth) success();
					else if (mois == zisMonth){
						jour <= zisDay ? success() : $('dispatchError').set('html', tooYoung);
					}
					else if(mois > zisMonth) $('dispatchError').set('html', tooYoung);
				}
			}
		}
	}
};

window.addEvent('domready', function(){

	//select des pays
	var paysCombo = new mooVcombo('pays', 'dispatchF', {
		width: 157,
		comboClass     : "vPaysReplace",
		listClass      : "vPaysList",
		selectClass    : "vSelecItem",
		listDivClass   : "vPaysCont",
		listWidth      : 140
	});
	//select des mois
	var moisCombo = new mooVcombo('mois', 'dispatchF', {
		width: 85,
		comboClass   : "vmpReplace",
		listClass    : "vmpList",
		listDivClass : "vmpCont",
		selectClass  : "vSelecItem",
		listWidth    : 79,
		height       : 100,
		scroller     : {
			scrollTrack : 'vScrollTrack',
			scrollKnob  : 'vScrollKnob',
			trackWidth  : 12,
			nbSteps     : 10
		}
	});
	//select des jours
	var jourCombo = new mooVcombo('jour', 'dispatchF', {
		width: 85,
		comboClass   : "vmpReplace",
		listClass    : "vmpList",
		listDivClass : "vmpCont",
		selectClass  : "vSelecItem",
		listWidth    : 79,
		height       : 100,
		scroller     : {
			scrollTrack : 'vScrollTrack',
			scrollKnob  : 'vScrollKnob',
			trackWidth  : 12,
			nbSteps     : 20
		}
	});

	//cache les combos tant qu'ils ne servent pas
	$$('#moismooR, #jourmooR, .facult').setStyle('display', 'none');

	//supprime les messages d'erreur
	$$('#year, .vmpReplace').addEvent('focus', function(){
		$('dispatchError').set('html', "");
	});

	//envoyer le formulaire au click ou au submit trad (enter)
	$('submit').addEvent('click', function(e){
		verifAge(e);
	});
	$('dispatchForm').addEvent('submit', function(e){
		verifAge(e);
	});

	//popins terms and conditions et privacy policy
	var ziPopins = new mooVpopin ('vpop', {
		padding      : 4,
		popWidth     : 370,
		popHeight    : 338,
		maskOpacity  : 0.6,
		closeCaption : 'back',
		closeWidth   : 25,
		closeHeight  : 23,
		closeRight   : 3,
		closeTop     : 9,
		ajaxUrl      : '/sherlock/conditionsPop.php',
		getUrlData   : true,
		onComplete   : function(){
			$('backLink').addEvent('click', function(e){
				e.stop();
				ziPopins.closeAll();
			});
			var scrollall = new ScrollBar('conditionsContent', 'scrollContent', {
				'arrows' : false,
				'hScroll': false
			});
		}
	});

});
