var Sexy = null;

var reloadBodyFunction = null;
var reloadBody = function(current_page) {
	if (Browser.Engine.trident) {
		window.location.replace('/');
	}

	var myHTMLRequest = new Request.HTML({
		url:'/index.php/page/bodyHome/',
		update: $('bodyCenter'),
		onSuccess: function () {
			Site.slideFormAlertHome();
			Site.initAlert();
			Site.pagination();
			reloadBodyFunction = $clear(reloadBodyFunction);
			Site.refreshConseillerListHome(current_page);
		}
	}).get({'l': 'fr', 'current_page': current_page});
}

var reloadConseillersFunction = null;
var reloadConseillers = function(competence_id) {
	var myHTMLRequest2 = new Request.HTML({
		url:'/index.php/conseiller/getListForContent/',
		update: $('listConseillers')
	}).get({'competence_id': competence_id});
}

var trancheClicked = 0;

var Site = {
    start: function() {
    
    	$(document.body).addEvent('mouseup', function(e) {
    		trancheClicked = 0;
    	});
		
		// Init login
		if ($('login_form')) {
			Site.initLogin();	
		}
		
		// Init login
		if ($('loginPage_form')) {
			Site.initLoginPage();	
		}
		
		// Init hebdo
		if ($('hebdoContent')) {
			Site.initHebdo();		
		}
		
		// Init le contact
		if ($('contactForm')) {
			Site.initContact();		
		}
		
		//refresh des conseillers et init des alertes sur la home
		if ($('listConseillersHome')) {
			var current_page = $('current_page').value;
			Site.refreshConseillerListHome(current_page);
			Site.slideFormAlertHome();
			Site.initAlert();
		}
		
		//refresh des conseillers sur les pages de contenu
		if ($('listConseillers')) {
			Site.refreshConseillerList();
		}
		
		if ($('alertConseillerDetail')) {
			Site.slideFormAlertConseillerDetail();
			Site.initAlert();
		}
		if($('forms')){
			Site.tabMenu();
		}
		if($('listing')){
			Site.pagination();
		}
	},
	
	tabMenu: function(){
    /*var first = true;
		$$('.features').each(function(element) {
			if(first) element.setStyle('display', 'block');
			first = false;
		});*/
		$$('.tabs').each(function(el) {
			el.addEvent('click', function(event) {
				$$('.features').each(function(element) {
					element.setStyle('display', 'none');
				});
				$$('.tabs').each(function(element) {
					element.removeClass('active');
				});
        $(el.getProperty('tab')).setStyle('display', 'block');
				el.addClass('active');
      });
		});
	},
	
	pagination: function(){
		$$('.pages').each(function(el) {
			el.addEvent('click', function(event) {
				//Réinitialisation du timer de rafraichissement
				$clear(reloadBodyFunction);
				Site.refreshConseillerListHome();
				
				Site.activePage(el.getProperty('block'));
      		});
		});
		
		Site.activePage(1);
	},
	
	activePage: function (page) {
		$$('.conseillersBlock').each(function(element) {
			element.setStyle('display', 'none');
		});
		var block = page;
		$$('.pages').each(function(element) {
			if(element.getProperty('block') != page){
				element.removeClass('active');
			}else{
				element.addClass('active');
			}
		});
		$('block'+page).setStyle('display', 'block');
	},
	
	refreshConseillerList: function () {
		//Temps en millisecondes avant raffraichissement de la page
		var refreshTime = 60000;
		var competence_id = $("competence_id").value;
		reloadConseillersFunction = reloadConseillers.pass(competence_id).periodical(refreshTime);
	},
	
	refreshConseillerListHome: function (current_page) {
		//Temps en millisecondes avant raffraichissement de la page
		var refreshTime = 60000;
		//current_page = $("current_page").value;
		reloadBodyFunction = reloadBody.pass(current_page).periodical(refreshTime);
	},
	
	slideFormAlertHome: function() {
	
		if (!Browser.Engine.trident) {
			//Affichage des alertes e-mail
			$$('.conseillersAlertForm').each(function(myForm) {
				myForm.setStyle('display', 'block');
				var myFx = new Fx.Slide(myForm).hide();
				var conseiller_id = myForm.getProperty('num');
				
				var myElement = 'createAlertNew' + myForm.getProperty('num');
				$(myElement).addEvent('click', function(e) {
					e.stop();
					
					myFx.toggle().chain(function(){
						if (myFx.open) {
							
							//myForm.slide('hide');
							//Arrête le raffraichissement automatique
							$clear(reloadBodyFunction);
							myForm.getParent().setStyle('height', 'auto');
							
							var myTitle = 'alertTitle' + conseiller_id;
							var mySubtitle = 'alertSubtitle' + conseiller_id;
							$(myTitle).setStyle('opacity', '1');
							$(mySubtitle).setStyle('opacity', '1');
						}else{
							Site.refreshConseillerListHome();
							myForm.getParent().setStyle('height', '0');
						}
					});
				});
				
				var myClose = 'closeAlert' + myForm.getProperty('num');
				$(myClose).addEvent('click', function(e) {
					e.stop();

					myFx.slideOut().chain(function(){
						Site.refreshConseillerListHome();
						//slideOpen = 1;
						myForm.getParent().setStyle('height', '0');
					});
				});	
	
			});
		} else {
			//Affichage des alertes e-mail
			$$('.conseillersAlertForm').each(function(myForm) {
				//var myFx = new Fx.Slide(myForm).hide();
				var conseiller_id = myForm.getProperty('num');
				
				var myElement = 'createAlertNew' + myForm.getProperty('num');
				$(myElement).addEvent('click', function(e) {
					e.stop();
					if (myForm.getStyle('display') == 'none') {
						myForm.setStyle('display', 'block');
						$clear(reloadBodyFunction);
						var myTitle = 'alertTitle' + conseiller_id;
						var mySubtitle = 'alertSubtitle' + conseiller_id;
						$(myTitle).setStyle('opacity', '1');
						$(mySubtitle).setStyle('opacity', '1');
					} else {
						myForm.setStyle('display', 'none');
						Site.refreshConseillerListHome();
					}
				});
				
				var myClose = 'closeAlert' + myForm.getProperty('num');
				$(myClose).addEvent('click', function(e) {
					e.stop();
					myForm.setStyle('display', 'none');
					Site.refreshConseillerListHome();
				});	
	
			});
		}
		
	},

	/*slideFormAlertHome: function() {
		//Cache tous les formulaires d'alerte
		$$('.conseillersAlertForm').each(function(formAlert) {
			formAlert.slide('hide');	
		});
		
		//Affichage des alertes e-mail
		$$('.createAlertNew').each(function(link) {
			link.addEvent('click', function(e) {
				e.stop();
				
				//Cherche le formulaire à changer d'état
				var theForm = 'conseillersAlertForm' + link.getProperty('conseiller_id');

				var myFx = new Fx.Slide($(theForm));
				myFx.toggle().chain(function(){
					if (myFx.open) {
						$(theForm).getParent().setStyle('height', 'auto');
					}else{
						$(theForm).getParent().setStyle('height', '0');
					}
				});

				var myFx2 = $(theForm).get('slide');
				
				//Si le slide est ouvert (et donc va être fermé par le toggle)
				if (myFx2.open) {
					Site.refreshConseillerListHome();
					slideOpen = 0;
				} else {
					//Arrête le raffraichissement automatique
					$clear(reloadBodyFunction);
					slideOpen = 1;
				}
			});	
		});
	},*/

	initAlert: function() {
		
		$$('.alertmailContent').each(function(alertMail) {
			var conseiller_id = alertMail.getProperty('conseiller_id');
			
			var alertForm = new AjaxForm ({
				form: $('alertmail_form' + conseiller_id),		//Form element
				log: $('alertmail_error' + conseiller_id) 		//Log element (Texte et image de retour)
			});
			
			alertForm.addEvent('responseSuccess', function(response) {
				//Affiche que l'alerte a été envoyée
				Sexy.info(response.message);
				
				//Referme le box et relance le periodical
				if ($('alertConseillerDetail')) {
					var theForm = 'alertConseillerDetail';
				} else {
					var theForm = 'conseillersAlertForm' + response.conseiller_id;	
				}
				$(theForm).slide('out');
				
				if ($('listConseillersHome')) {
					Site.refreshConseillerListHome();
				}
			});
		});
	},
	
	slideFormAlertConseillerDetail: function() {
		//Cache tous les formulaires d'alerte
		$('alertConseillerDetail').slide('hide');

		if($('createAlertNew')){
				$('createAlertNew').addEvent('click', function(e) {
					e.stop();
					$('alertConseillerDetail').setStyle('display', 'block');
					var myFx = new Fx.Slide($('alertConseillerDetail'));
					myFx.toggle().chain(function(){
						if (myFx.open) {
							$('alertConseillerDetail').getParent().setStyle('height', 'auto');
							
							var conseiller_id = $('alertConseillerDetail').getProperty('conseiller_id');
							var myTitle = 'alertTitle' + conseiller_id;
							var mySubtitle = 'alertSubtitle' + conseiller_id;
							$(myTitle).setStyle('opacity', '1');
							$(mySubtitle).setStyle('opacity', '1');
						}else{
							$('alertConseillerDetail').getParent().setStyle('height', '0');
						}
					});

					/*if (!myFx.open) {
						var myFx2 = new Fx.Scroll(window).toElement('alertConseillerDetail');	
					}*/
					
				});
		}
		
		//Fermeture de l'alerte
		$$('.close').each(function(link) {
			link.addEvent('click', function(e) {
				e.stop();
				
				var myFx = new Fx.Slide($('alertConseillerDetail'));
				myFx.toggle().chain(function(){
					if (myFx.open) {
						$('alertConseillerDetail').getParent().setStyle('height', 'auto');
					}else{
						$('alertConseillerDetail').getParent().setStyle('height', '0');
					}
				});
			});	
		});
	},
	
	initContact: function() {
		var contactForm = new AjaxForm ({
			form: $('contactForm'),		//Form element
			log: $('contact_error') 		//Log element (Texte et image de retour)
		});
		
		contactForm.addEvent('sendRequest', function() {
			//Affiche le loading et désactive le bouton
			$('ajax_loading').setStyle('visibility', 'visible');
			$('submitContactRequest').disabled = true;
		});
		
		contactForm.addEvent('responseSuccess', function(response) {
			//Affiche que l'alerte a été envoyée
			Sexy.info(response.message, {onComplete: function(){ location = "/"; }});
			
			$('ajax_loading').setStyle('visibility', 'hidden');
			$('submitContactRequest').disabled = false;
		});
		
		contactForm.addEvent('responseError', function(response) {
			//Remonte en haut de la page
			$('ajax_loading').setStyle('visibility', 'hidden');
			$('submitContactRequest').disabled = false;
        });
	},
	initLogin: function(){
		var loginForm = new AjaxForm ({
			form: $('login_form'),		//Form element
			log: $('login_error') 		//Log element (Texte et image de retour)
		});
		
		loginForm.addEvent('responseSuccess', function(response) {
			
			//Affiche que l'alerte a été envoyée
			///Sexy.info(response.message);
			document.location.href="/index.php/page/register";
		});
		
		loginForm.addEvent('responseError', function(response) {
			//Affiche que l'alerte a été envoyée
			//Sexy.info(response.message);
		});
	},
	
	initLoginPage: function(){
		var loginForm = new AjaxForm ({
			form: $('loginPage_form'),		//Form element
			log: $('loginPage_error') 		//Log element (Texte et image de retour)
		});
		
		loginForm.addEvent('responseSuccess', function(response) {
			
			//Affiche que l'alerte a été envoyée
			///Sexy.info(response.message);
			document.location.href="/index.php/page/register";
		});
		
		loginForm.addEvent('responseError', function(response) {
			//Affiche que l'alerte a été envoyée
			//Sexy.info(response.message);
		});
	},
	
	initHebdo: function(){
		/* Tips 4 */
		/*var Tips4 = new Tips($$('.tranche'), {
			className: 'tips'
		});*/
		
		$$('.tranche').each(function(test) {

			var id_tranche = test.getProperty('id_tranche');
			
			test.addEvent('mousedown', function(e){
				trancheClicked = 1;
				champ = 'quart_'+id_tranche;
				if(test.className == "tranche"){
					test.className="tranche selected";
					
					document.main_form[champ].value = "yes";
					
				}
				else {
					test.className="tranche";
					document.main_form[champ].value = "no";
				}
														
			});
			
			test.addEvent('mouseenter', function(e) {
				if (trancheClicked == 1) {
					champ = 'quart_'+id_tranche;
					if(test.className == "tranche"){
						test.className="tranche selected";
						
						document.main_form[champ].value = "yes";
						
					}
					else {
						test.className="tranche";
						document.main_form[champ].value = "no";
					}
				}
			});
		});
	},
	isValidEmail: function(strEmail){
        return /^([\w-+=_]+(?:\.[\w-+=_]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i.test(strEmail) ? true : false;
    }
};

window.addEvent('domready', Site.start);


