﻿// Fichier JScript
// JavaScript Document
var wHeader = {
	//-> intialise le header
	initialize:function(){
		this.idDivFormConnect = "divHReporterConnect";
		this.linkCptReporter = "linkCompteReporter";
		this.btSubmitReporter = "btConnectReporter";		
		
		// cache le formulaire de connection
		if($(this.idDivFormConnect))
			$(this.idDivFormConnect).hide();
		
		this.addEventMonCpteReporter();
		this.setFieldsAction();
		this.initReporter();
		
	},
	//-> Ajout les événements aux champs
	setFieldsAction:function(){
		if($('Header')){
			var fields = $('Header').getElementsBySelector("input");
			for(cpt = 0;cpt<fields.length;cpt++){
				var field = fields[cpt];
				if(field.type == "text"){
					field.observe('click', function(event){
						this.value = "";
					 })
				}
			}
		}
	},
	//-> initialise le formulaire de connection
	initReporter:function(){
		if($(this.btSubmitReporter)){
			$(this.btSubmitReporter).observe('click',function(){
					this.submitForm();
			}.bind(this));
		}
	},
	//-> vérifie le formulaire
	verifForm:function(){
		var error = 0;
		error = error + VerifIsEmail('headerReporterEmail');
		error = error + VerifTextField('headerReporterPseudo');

		if(error == 0)
			return true;
		else
			return false;
		
	},
	//-> récupère les données
	getData:function(){		
		var data = {
			email:$('headerReporterEmail').value,
			pwd:$('headerReporterPseudo').value
		};
		return data;		
	},
	//-> envoie le formualaire de connexion
	submitForm:function(){
		if(this.verifForm()){
			//$('ajaxIndicator').show();
			var dataForm = this.getData();
			new Ajax.Request('/webservices/connectReporter.aspx',
							 {
								 method:'post',
								 parameters:dataForm,
								 onComplete:function(result){
									 this.resultForm(result.responseText);
								 }.bind(this),
								 onFailure:function(){
									 this.resultForm("{'found':'false','text':'Erreur lors de l\'envoi des donn&eacute;es'}");
								 }.bind(this)
							 }
			);
			
		}
		else{
			this.resultForm("{'found':'false','text':'Donn&eacute;es incorrectes'}");
		}
		//return false;		
	},
	//-> traite les événements du formulaire
	resultForm:function(dataResult){
		//$('ajaxIndicator').hide();
		// erreur ajax
		if(!dataResult && dataResult == null){
			this.showErrorConnect();
		}
		else{			
			var data = eval('('+dataResult+')');
			if(data.found == 'false'){				
				this.showErrorConnect();
			}
			else{
				//window.location.replace('/account/default.aspx');
				window.location.replace('/communaute/default.aspx');
			}
		}				
	},
	//-> ajouter l'effet de roll-over sur le formulaire de connection
	addEventMonCpteReporter:function(){
		if($(this.linkCptReporter)){
			$(this.linkCptReporter).observe('click',function(){
					Effect.Appear(this.idDivFormConnect);
					window.setTimeout('Effect.Fade(\''+this.idDivFormConnect+'\')',60000);								
					//window.setTimeout(this.hideFormConnect,20000).bind(this);								
			}.bind(this));
		}
	},
	//-> affiche le message d'erreur pour la connection a MétéoCity Reporter
	showErrorConnect:function(){
		$('headerReporterEmail').value = "Compte invalide";
		$('headerReporterPseudo').value = "error";
	},
	//-> cache le formulaire de connection
	hideFormConnect:function(){
		Effect.Fade(this.idDivFormConnect);
	}
};

