var Site = function(){};

Site.initLogin = function() {
	if ($('#log').length != 0) {
		$.form.addField('log', 'log_email', {
			required:true,
			type:'email',
			tipValue: 'Votre adresse email',
			errorMessage:'Veuillez saisir correctement votre email.'
		});
		
		$.form.addField('log', 'log_pass', {
			required:true,
			tipValue: '********',
			errorMessage:'Veuillez saisir correctement votre mot de passe.'
		});
		
		$('#log').submit(function(){		
			if (!$.form.checkForm('log')) {
				return(false);
			}
			
			$.post($(this).attr('action'), {
				email : $(this).find('input[@name=log_email]').val(),
				password : $(this).find('input[@name=log_pass]').val()
			}, function(data){
				var user = eval('(' + data + ')');
				var infoDOM = $('#info td[@class=info_log]');
				
				if (user.valid_user) {
					infoDOM.html(
						  '<form id="log" name="log" method="post" action="'+ user.base_url +'?/user/getLogout/">'
						+ '<span class="color">Bienvenue '+ user.prenom +' '+ user.nom +' (<a class="color" href="http://projets.1001reves.intra/PLUSDEPROMO/4_DEV/SITE/?/user/getLogout/">déconnexion)</a></span>'
						+ ': <a href="espace_perso.html">Accédez à votre espace perso</a>  - <a href="espace_perso.html">Gérez vos points promo</a>'
						+ '</form>'
					);
					
					var url		= location.search.substring(1).split('&');
					var params	= [];

					for (var i=0; i<url.length; i++){
						var param = url[ i ].split('=');
						params[param[0]] = param[1];
					}
					
					if( params['redirect'] != undefined) {
						window.location.replace(params['redirect']+'.html');
					}
				}
				else {
					infoDOM.html( 
								  '<table cellpadding="0" cellspacing="0">'
								+ '<td>'
								+ '<img src="images/menu_info_log.gif" alt="" />'
								+ '</td>'
								+ '<td>'
								+ '<span class="color"><strong>Identification incorrecte</strong></span>'
								+ '</td>'
								+ '<td>'
								+ '<form id="log" name="log" method="post" action="'+ user.base_url +'?/user/getLogin/">'
								+ ' <input name="log_email" type="text" value="" />'
								+ ' <input name="log_pass" type="text" value="" />'
								+ ' <input class="mini_submit" name="mini_submit" type="submit" value="" />'
								+ '</form>'
								+ '</td>'
								+ '<td>'
								+ '<a href="popup_motdepasse.html" onclick="$.window.popup(this.href, { name:\'mdp_oublie\', width:400, height:120 }); return(false);" >Mot de passe oublié</a> | '
								+ '<a href="inscription.html" >Inscrivez-vous</a>'
								+ '</td>'
								+ '</table>'
								+ '<script>Site.initLogin();</script>'
					);
				}
			});
			
			return(false);
		});
	}
};

Site.initNewsletter = function() {
	if ($('#newsletter').length != 0) {
		$.form.addField('newsletter', 'mail', {
			required:true,
			type:'email',
			tipValue: 'email@exemple.com',
			errorMessage:'Veuillez saisir correctement votre email.'
		});
				
		$('#newsletter').submit(function(){		
			if (!$.form.checkForm('newsletter')) {
				return(false);
			}
		});
	}
};

Site.initInscription = function() {
	if ($('#inscription').length != 0) {
		$.form.addField('inscription', 'email', {
			required:true,
			type:'email',
			defaultValue: $('input[@name=email]').val(),
			errorMessage:'Veuillez saisir correctement votre email.'
		});
		
		$.form.addField('inscription', 'password', {
			required:true,
			type:'string',
			minLength:'6',
			errorMessage:'Veuillez saisir correctement votre mot de passe (au minimum 6 caracteres).'
		});
		
		$.form.addField('inscription', 'confirm_pass', {
			required:true,
			type:'string',
			errorMessage:'Veuillez confirmer correctement votre mot de passe.'
		});
		
		$.form.addRule('inscription', 'confirm', function(){
				return($('input[@name=password]').val() == $('input[@name=confirm_pass]').val())
			}, {
			required:true,
			errorMessage:'Votre mot de passe ne correspond pas à sa confirmation.'
		});
		
		$.form.addField('inscription', 'civilite', {
			required:true,
			type:'string',
			errorMessage:'Veuillez selectionner votre civilité.'
		});
		
		$.form.addField('inscription', 'nom', {
			required:true,
			type:'string',
			errorMessage:'Veuillez saisir votre nom.'
		});
		
		$.form.addField('inscription', 'prenom', {
			required:true,
			type:'string',
			errorMessage:'Veuillez saisir votre prénom.'
		});
		
		$.form.addField('inscription', 'jour', {
			required:true,
			type:'string',
			errorMessage:'Veuillez selectionner votre jour de naissance.'
		});
		
		$.form.addField('inscription', 'mois', {
			required:true,
			type:'string',
			errorMessage:'Veuillez selectionner votre mois de naissance.'
		});
		
		$.form.addField('inscription', 'annee', {
			required:true,
			type:'string',
			errorMessage:'Veuillez selectionner votre année de naissance.'
		});
		
		$.form.addField('inscription', 'adresse', {
			required:true,
			type:'string',
			errorMessage:'Veuillez saisir votre adresse postale.'
		});
		
		$.form.addField('inscription', 'code_postal', {
			required:true,
			type:'string',
			rangeLength:['5','5'],
			errorMessage:'Veuillez saisir correctement votre code postal.'
		});
		
		$.form.addField('inscription', 'ville', {
			required:true,
			type:'string',
			errorMessage:'Veuillez saisir votre ville.'
		});
		
		$.form.addField('inscription', 'pays', {
			required:true,
			type:'string',
			errorMessage:'Veuillez saisir votre pays.'
		});
		
		$.form.addField('inscription', 'telephone', {
			required:false,
			type:'phone',
			errorMessage:'Veuillez saisir correctement votre numéro de téléphone.'
		});
		
		$.form.addField('inscription', 'mobile', {
			required:false,
			type:'mobile',
			errorMessage:'Veuillez saisir correctement votre numéro de téléphone portable.'
		});
		
		$('#inscription').submit(function(){		
			if (!$.form.checkForm('inscription')) {
				return(false);
			}
		});
	}
};

Site.initInfoComp = function() {
	if ($('#info_comp').length != 0) {
		
		$.form.addSelect('info_comp', 'profession', {
			required:true,
			type:'string',
			errorMessage:'Veuillez selectionner votre profession.'
		});
		
		$.form.addRule('info_comp', 'autre_prof', function(){
				return(($('#info_comp select[@name = profession]').val() != 'Autre' || $('#info_comp input[@name = profession_autre]').val() != ''))
			}, {
			required:true,
			errorMessage:'Veuillez préciser votre profession.'
		});
		
		$.form.addSelect('info_comp', 'nb_personne_foyer', {
			required:true,
			type:'int',
			errorMessage:'Veuillez selectionner le nombre de personnes vivant dans votre foyer.'
		});
		
		$.form.addSelect('info_comp', 'nb_enfants', {
			required:true,
			type:'int',
			errorMessage:'Veuillez selectionner le nombre d’enfants de moins de 25 ans vivant dans votre foyer.'
		});
		
		$.form.addRule('info_comp', 'enfant_1', function(){
				return($('#info_comp select[@name = nb_enfants]').val() < 1 || ($('#info_comp select[@name = enfant_sex_1]').val() != '' && $('#info_comp input[@name = enfant_prenom_1]').val() != '' && $('#info_comp select[@name = enfant_age_1]').val() != ''))
			}, {
			required:true,
			errorMessage:'Veuillez préciser toutes les informations sur votre 1er enfant.'
		});
		
		$.form.addRule('info_comp', 'enfant_2', function(){
				return($('#info_comp select[@name = nb_enfants]').val() < 2 || ($('#info_comp select[@name = enfant_sex_2]').val() != '' && $('#info_comp input[@name = enfant_prenom_2]').val() != '' && $('#info_comp select[@name = enfant_age_2]').val() != ''))
			}, {
			required:true,
			errorMessage:'Veuillez préciser toutes les informations sur votre 2eme enfant.'
		});
		
		$.form.addRule('info_comp', 'enfant_3', function(){
				return($('#info_comp select[@name = nb_enfants]').val() < 3 || ($('#info_comp select[@name = enfant_sex_3]').val() != '' && $('#info_comp input[@name = enfant_prenom_3]').val() != '' && $('#info_comp select[@name = enfant_age_3]').val() != ''))
			}, {
			required:true,
			errorMessage:'Veuillez préciser toutes les informations sur votre 3eme enfant.'
		});
		
		$.form.addRule('info_comp', 'enfant_4', function(){
				return($('#info_comp select[@name = nb_enfants]').val() < 4 || ($('#info_comp select[@name = enfant_sex_4]').val() != '' && $('#info_comp input[@name = enfant_prenom_4]').val() != '' && $('#info_comp select[@name = enfant_age_4]').val() != ''))
			}, {
			required:true,
			errorMessage:'Veuillez préciser toutes les informations sur votre 4eme enfant.'
		});
		
		$.form.addRule('info_comp', 'enfant_5', function(){
				return($('#info_comp select[@name = nb_enfants]').val() < 5 || ($('#info_comp select[@name = enfant_sex_5]').val() != '' && $('#info_comp input[@name = enfant_prenom_5]').val() != '' && $('#info_comp select[@name = enfant_age_5]').val() != ''))
			}, {
			required:true,
			errorMessage:'Veuillez préciser toutes les informations sur votre 5eme enfant.'
		});
		
		$.form.addRule('info_comp', 'enfant_6', function(){
				return($('#info_comp select[@name = nb_enfants]').val() < 6 || ($('#info_comp select[@name = enfant_sex_6]').val() != '' && $('#info_comp input[@name = enfant_prenom_6]').val() != '' && $('#info_comp select[@name = enfant_age_6]').val() != ''))
			}, {
			required:true,
			errorMessage:'Veuillez préciser toutes les informations sur votre 6eme enfant.'
		});
		
		$.form.addRule('info_comp', 'shop', function(){
				return($('#shop input[@type=checkbox][@checked]').length != 0)
			}, {
			required:true,
			errorMessage:'Veuillez choisir les magasins dans lesquels vous faites habituellement vos courses.'
		});
		
		$.form.addRule('info_comp', 'leisure', function(){
				return($('#leisure input[@type=checkbox][@checked]').length != 0)
			}, {
			required:true,
			errorMessage:'Veuillez choisir au moins un centre d\'intérêt.'
		});
		
		$('#info_comp').submit(function(){
			if (!$.form.checkForm('info_comp')) {
				return(false);
			}
		});
		
		$('#info_comp select[@name = profession]').change( function() {
			if($('#info_comp select[@name = profession]').val() == 'Autre' ) {
				$('div.autre_prof').show();
			}
			else {
				$('div.autre_prof').hide();
			}
		});
			
		$('#leisure_autres').click(function(){
			if ($('#leisure_autres[@checked]').length == 1) {
				$('table.autre_interet').show();
			}
			else {
				$('table.autre_interet').hide();
			}
		});
	}
};

Site.initZoom = function () {
	if ($('a.zoom').length != 0) {
		$('a.zoom').lightBox({
			overlayBgColor : '#333',
			overlayOpacity : 0.75
		});
	}
};

Site.initWeekPromotion = function () {
	if ($('div.promo_pictures').length != 0) {
		$('div.promo_pictures').cycle({
		    fx:    'fade',
			pause:   1,
			timeout: 10000
		});
	}
};

Site.initCodepromo = function () {
	if ($('a.codepromo').length != 0) {
		$('a.codepromo').click(function(){
			var textRange = document.body.createTextRange();
			textRange.text($(this).attr('title'));
	 		textRange.execCommand("Copy");
			/*window.clipboardData.setData("Text",code_promo);*/
		});
	}
};

Site.initPartenaires = function () {
	if (($('#partenaires').length != 0) && ($('#mention a.partenaires').length != 0) ) {
		$('#mention a.partenaires').mouseover(function(){
			$('#partenaires').show();
			$('#partenaires').css('margin-top', -($('#partenaires').height()+5));
		});
		$('#partenaires').mouseover(function(){
			$('#partenaires').show();
		});
		
		$('#mention a.partenaires').mouseout(function(){
			$('#partenaires').hide();
		});
		$('#partenaires').mouseout(function(){
			$('#partenaires').hide();
		});
	}
};

Site.launchEyeBlaster = function() {
	$('#home_advertise').show();
	document.getElementById('home_advertise_flash_id').startMovie();
}

Site.initEyeBlaster = function() {
	$('#home_advertise').show();
	haso.write("home_advertise");
}

Site.hide = function (id) {
	$(id).hide();
}