// Initialisation de l'authentification
Ext.onReady(function(){
	init_Authentification();
});



var submit_auth = function(e){
	login = Ext.get("auth_login").dom.value;
	pass = Ext.get("auth_password").dom.value;
	url = Ext.get("authentification_url").dom.value;
	url2 = '/Professionnel/'
//	var groupe = Ext.get("auth_groupe").getValue();
	
//	msg = Ext.get("authentification_contenu");
//	msg.load({
//			url: "/Authentification/index/check",
//			params: {login: login , pass : pass},
//			text: "Updating..."
//		});
//	msg.show;
//	
//	if(url){
//		document.location.href = url;
//	}

	Ext.Ajax.request({
			url: "/Authentification/index/check",
			params : {mode : "ajax", login : login , pass : pass},
			success: function( result, request ) {
//				alert(result.responseText);
				content = JSON.parse(result.responseText);
				if(url && content.status == 1){
					document.location.href = url;
				}else if(content.status == 0){
//					var div = Ext.get("authAlerte");
//					div.update("vous n'&ecirc;tes pas inscrit !");
					Ext.MessageBox.alert('Identification incorrecte',"Vos identifiants ne correspondent &agrave; aucun compte. <br/>V&eacute;rifiez votre adresse mail ou tapez une nouvelle fois votre mot de passe.");
				}else if(content.status == 2){
					document.location.href = url2;
				}else if(content.status == 3){
					repondreMessageAuthentification_bad();
				}
			 },

			failure: function ( result, request) { 
				Ext.MessageBox.alert('Failed',"une erreur est survenue"); 
			} 
		});
}


function disconnect_auth(){
	
	Ext.Ajax.request({
			url: "/Authentification/index/disconnect",
//			params : {idannonce : id},
			success: function( result, request ) {
				window.location.href = "/";		
			 },

			failure: function ( result, request) { 
				Ext.MessageBox.alert('Failed',"une erreur est survenue"); 
			} 
		});
}

function sendPass(){
	if(Ext.get("auth_login")){
		var login = Ext.get("auth_login").getValue();
		if(login != ""){
			Ext.Ajax.request({
			url: "/Authentification/index/sendPass",
			params : {login : login},
			success: function( result, request ) {
				try{
				var content = JSON.parse(result.responseText);
				if(content.status == 1){
					Ext.MessageBox.alert('Confirmation',"Vous allez recevoir votre mot de passe par mail !");
				}else{
					Ext.MessageBox.alert('Attention',"Vous n'avez pas de compte sur notre site pour cette adresse email!");
				}
				}catch(err){
					Ext.MessageBox.alert('Attention',"Votre adresse est inconnue de nos services !");
				}		
			 },

			failure: function ( result, request) { 
				Ext.MessageBox.alert('Failed',"Une erreur est survenue"); 
			} 
			});
		}else{
			Ext.MessageBox.alert('Information',"Renseignez votre nom d'utilisateur et recevez votre mot de passe par e-mail !");
		}
	}
}

/*
Ext.onReady(function(){
	if(Ext.get("authentification_submit")){
		Ext.get("authentification_submit").on("click",submit_auth);
	}
});
*/

function init_Authentification(){
	if(Ext.get("authentification_submit")){	
		Ext.get("authentification_submit").on("click",submit_auth);
	}
}


/** 
 * @Author : Matthieu Blondel
 * Masquer automatiquement le bloc de connexion.
 */
var affiche_connexion = function (){
	var mft = document.getElementById("auth_form_connexion");
	if (mft){
		// Enlever la classe qui masque les éléments 
		mft.className = "";
		
		// Prendre le lien et changer l'action		
		var lien = document.getElementById("afc_lien_ouverture");
		if (lien){ lien.onclick = masque_connexion; }
		// Enlever le lien
		//if (lien){ mft.removeChild(lien); }
		
		 
	}
	return false;
}
var masque_connexion = function (){
	var mft = document.getElementById("auth_form_connexion");
	if (mft){
		mft.className = "connexion_hide";
	}
	// Prendre le lien et changer l'action		
	var lien = document.getElementById("afc_lien_ouverture");
	if (lien){ lien.onclick = affiche_connexion; }
	
	return false;
}

function repondreMessageAuthentification_bad(inscript){
	var v;
	
	var email = new Ext.form.TextField({
		emptyText : "email",
		id : "email",
		name : "email",
		vtype: 'email'
	});
	
	
	
	var textfield = new Ext.form.TextArea({
	emptyText : "Dites nous pourquoi, vous pensez que les internautes se trompent a votre sujet !",
	name:"text-pro",
	id:"text-pro",
	width:390,
	grow:true,
	growMax:500
	});
	

	
	var simple = new Ext.FormPanel({
        labelWidth: 75, // label settings here cascade unless overridden
        frame:true,
        id:"panelofwindow",
        bodyStyle:'padding:5px 5px 5px 5px',
        width: 400,
        defaults: {width: 230},
        defaultType: 'textfield',
        items: [{
                fieldLabel: 'nom',
                name: 'nom',
                id : 'nom'
            },{
                fieldLabel: 'email',
                name: 'email',
                id : 'email',
                vtype: 'email'
            },{
                fieldLabel: 't&eacute;l&eacute;phone',
                name: 'telephone',
                id : 'telephone',
                vtype: 'telephone'
            }
            ]
    });
	
   Ext.DomHelper.insertFirst("message_auth_fen",{
	 			id:"hello-win",
	 			tag : "div",
	 			cls : 'x-hidden', 
	 			children : {tag : "div", cls : "x-window-header" , html : "Votre compte est bloqu&eacute; : demandez une r&eacute;&eacute;valuation."}
	 		});
  
   var panel = new Ext.Panel({layout : "column", id:"panel-render" , cls:"alerte_reevaluation", 
    html : ""+
				"<p style='text-align:justify'>Suite aux remarques <strong> des internautes</strong>, vous semblez ne pas respecter la charte d'utilisation du site. Si les internautes se sont tromp&eacute;s, renseignez vos identifiants et nous r&eacute;&eacute;valuerons votre demande !</p>" +
				"<p>Merci de respecter la charte d'utilisation ! (pas de spam, ou tentative d'arnaque etc...)</p>"
				//,width: 380
				});
				
   win = new Ext.Window({
                el:'hello-win',
				layout:'column',
                width:400,
                //bodyStyle: 'background-color: #FF0000',
                autoHeight : true,
                //simple,
                items : [textfield]
                ,buttons: [{
                    text:'Demandez une r&eacute;&eacute;valuation.'
                    ,handler: 
                    function(){
	                        sendMessageAuthentification();
							win.close();
	                    }
                }
                ]
            });
            
//      if(Ext.get("al4insc") && Ext.get("al4insc").getValue() == "true"){
      win.add(panel);
//      }      
            
     win.show();
  	 //win.on("close");	
}


/*
 * Methode pour l'envoie de message pour les pros
 *
 */
	function sendMessageAuthentification(){
//    	var idan;
//    	var iddest;
//    	var v;
    		
//		if(Ext.get("row_index")){
//			v = Ext.get("row_index").getValue();
//		}
//	
//    	if((typeof grid) != "undefined"){
//    		var sel = grid.getSelectionModel();
// 			sel.selectRow(v,true);
// 			idan = grid.getSelectionModel().getSelected().get('idannonce');
//    		iddest = grid.getSelectionModel().getSelected().get('annonceur');
//    	}else{
//    		idan = Ext.get("idan").getValue();
//    		iddest = Ext.get("prop").getValue();
//    	}
    		
    		/**
    		 * on récupére le nom, email, telephone
    		 * Text
    		 */
    		var elEmail = Ext.get("auth_login");
    		var elText = Ext.get("text-pro");
    		
    		var run = true;
    		
    		var Expression = new RegExp("^[0-9\\.\\- ]+$","gi");
        	
        	var patrn ="^([a-zA-Z0-9]+(([\.\-\_]?[a-zA-Z0-9]+)+)?)\@(([a-zA-Z0-9]+[\.\-\_])+[a-zA-Z]{2,4})$";
        	
        	var Expression2 = new RegExp(patrn,"gi");
        	
        	var retemail = Expression2.test(elEmail.getValue());
    		
			if(elEmail.getValue() == "" || !retemail){
    			Ext.MessageBox.alert('Attention',"Votre email n&acute;est pas valide!");
    			run = false;
    		}
    		
    		
    		if(run && elText.getValue() == "tapez votre message ici..."){
    			Ext.MessageBox.alert('Failed',"Vous n&acute;avez pas saisi de message !");
    			run = false; 
    		}
    		
    		var textfinal = "";
    		var email= "Nc";
    		
    		if(elEmail.getValue() != "email") email = elEmail.getValue();
    		
    		textfinal += "Email : "+email+" <br>";
    		textfinal += "<br><br>";
    		textfinal += "------------------------------------------";
    		textfinal += "<br><br>";
    		textfinal += elText.getValue();
    		
    		var panel = Ext.getCmp("panelofwindow");
    		
    		var messageurl = '/Message/index/envoyerMessage/';
    		var allprams = { text : textfinal, idannonce: 0 ,iddestinataire: 3425};
    		
    		if(run){
    		Ext.Ajax.request({
			url : messageurl, 
			//params : { text : textfinal, idannonce: idan ,iddestinataire: iddest},
			params : allprams,
			
			success: function ( result, request ) {
				var my_response = result.responseText;
				Ext.MessageBox.alert('Success', result.responseText); 
			} ,
			failure: function ( result, request) { 
				Ext.MessageBox.alert('Failed', result.responseText); 
			} 
			});
			/**
			 * on efface notre fenetre
			 */
			
			
			//win.close();
			 
			}
//    	if((typeof grid) != "undefined"){
// 			grid.resumeEvents();
// 		} 
    };

 