	
	/******************************************************/
	/*************  les messages sur les bandeaux **********/
	/******************************************************/

var win; 
	
	function sendMessage(btn, text){
    	if(btn ==  'ok'){
    		//Ext.get('annonce-message').update(text);
    		// Requete d'envoi d'un message au serveur.
    		
    		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();
    		}
    		
    		var run = true;
    		
    		var reg=new RegExp(" ","g");
    		var text_tmp = text.replace(reg,"");
    		
    		if(text_tmp == ""){
    			run = false;
    		}
    		
    		if(run){
    		Ext.Ajax.request({
			url : '/Message/index/envoyerMessage/' , 
			params : { text : text, idannonce: idan ,iddestinataire: iddest},
			
			success: function ( result, request ) { 
				Ext.MessageBox.alert('Success', result.responseText); 
			} ,
			failure: function ( result, request) { 
				Ext.MessageBox.alert('Failed', result.responseText); 
			} 
			});
    		}else{
    			Ext.MessageBox.alert('Failed',"Vous n'avez saisie aucun message."); 
    		}
    	}
    	if((typeof grid) != "undefined"){
 			grid.resumeEvents();
 		} 
    };
    
/*
 * Methode pour l'envoie de message pour les pros
 *
 */
	function sendMessagePro(){
    	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 elNom = Ext.get("nom");
    		var elPhone = Ext.get("telephone");
    		var elEmail = Ext.get("email");
    		var elText = Ext.get("text-pro");
    		
    		var run = true;
    		
    		var Expression = new RegExp("^[0-9\\.\\- ]+$","gi");
        	var retphone = Expression.test(elPhone.getValue());
        	
        	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 && (elPhone.getValue() == "" || !retphone)){
    			Ext.MessageBox.alert('Attention',"Votre num&eacute;ro de t&eacute;l&eacute;phone 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 nom= "Nc";
    		var email= "Nc";
    		var telephone= "Nc";
    		
    		if(elNom.getValue() != "nom - prenom") nom = elNom.getValue();
    		if(elPhone.getValue() != "telephone") telephone = elPhone.getValue();
    		if(elEmail.getValue() != "email") email = elEmail.getValue();
    		
    		textfinal += "Nom : "+nom+" <br>";
    		textfinal += "Email : "+email+" <br>";
    		textfinal += "Tel : "+telephone+" ";
    		textfinal += "<br><br>";
    		textfinal += "------------------------------------------";
    		textfinal += "<br><br>";
    		textfinal += elText.getValue();
    		
    		
    		var panel = Ext.getCmp("panelofwindow");
    		
    		var inscript = panel.findById("inscriptnewsletter"); 
    		var messageurl = '/Message/index/envoyerMessage/';
    		var allprams = { text : textfinal, idannonce: idan ,iddestinataire: iddest};
    		
    		
    		if(inscript && inscript.getValue()){
    			messageurl = '/Message/index/inscriptandsendmessage/';
    			allprams = { text : textfinal, idannonce: idan ,iddestinataire: iddest, mail:email,nom:nom,tel:telephone};
    		}
    		
    		
    		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();
 		} 
    };

    
 

    
/**
 * Fonction permettant la cr&eacute;ation de la boite de r&eacute;ponse à un message.
 * Elle utilise supprimerMessage pour envoyer le contenu du message au serveur par appel Ajax.
 * @param {Ext.EventObject} e : l'&eacute;v&egrave;nement à g&eacute;rer.
 * return void. 
 */ 

 
var d;
function repondreMessageBox(e){

	var v;
	if(Ext.get("row_index")){
		v = Ext.get("row_index").getValue();
	}
	
	if((typeof grid) != "undefined"){
 		grid.suspendEvents();
 		var sel = grid.getSelectionModel();
 		sel.selectRow(v,true);
 	}
 	
	var prophidden = Ext.get("prop");
	if (!prophidden) { return""; }
	var val = prophidden.dom.value;
	
	if(val != ""){
	Ext.MessageBox.show({
           title: 'Envoyer un message',
           msg: 'Votre message :',
           width:400,
           defaultTextHeight: 300,
           buttons: {ok : 'valider',cancel : 'annuler'},
           multiline: true,
           fn: sendMessage
       });
	}else{
		Ext.Msg.show({
   			title:'Vous voulez envoyer un message ?',
   			msg: ""+
				"<p>Vous devez &ecirc;tre identifi&eacute; pour effectuer cette action !</p>" +
				"<p>Renseignez vos identifiants et connectez vous &agrave; votre site !" +
				"<br/>ou Inscrivez vous rapidement et gratuitement ! </p>" +
				"",
   			buttons: {ok : "Je m'identifie", no : "Je m'inscris", cancel :"Annuler"},
   			/**
   			 * externProcessMessage est dans un fichier à part
   			 * par exemple dans le cas des "contacter vendeur"
   			 * du moteur de recherche de 974vo
   			 * externProcessMessage est dans le fichier mymoteurV2.js
   			 */
   			fn: externProcessMessage,
   			icon: Ext.MessageBox.WARNING
		});		
		
		if((typeof grid) != "undefined"){
			grid.resumeEvents();
		} 
	}    
}

Ext.apply(Ext.form.VTypes, {
    telephone : function(val, field) {
    	
        var Expression = new RegExp("^[0-9\\.\\- ]+$","gi")
        var ret = Expression.test(val);
        //alert(ret);
        return ret;
    } 
});





/**
 * messagerie sur un portail 
 * affiche la saisie de l'email
 *
 */
function repondreMessageBoxPro_ok(inscript){
	var v;
	if(Ext.get("row_index")){
		v = Ext.get("row_index").getValue();
	}
		
	if((typeof grid) != "undefined"){
 		grid.suspendEvents();
 		var sel = grid.getSelectionModel();
 		sel.selectRow(v,true);
 	}
 	
 	var aler = Ext.get("al4insc") 
 	if(aler && aler.getValue() == "false"){
 		Ext.MessageBox.show({
           title: 'Envoyer un message',
           msg: 'Votre message :',
           width:400,
           defaultTextHeight: 300,
           buttons: {ok : 'valider',cancel : 'annuler'},
           multiline: true,
           fn: sendMessage
       });
       return "";
 	}
 	
	/*var prophidden = Ext.get("prop");
	if (!prophidden) {return""; }
	var val = prophidden.dom.value;
	if(val != ""){
	
	
	var nomprenom = new Ext.form.TextField({
	emptyText : "nom prenom",
	name : "nom",
	id : "nom"
	});*/
	
	var email = new Ext.form.TextField({
		emptyText : "email",
		id : "email",
		name : "email",
		vtype: 'email'
	});
	
	
	var telephone = new Ext.form.TextField({
		emptyText : "telephone",
		name : "telephone",
		id : "telephone",
		vtype: 'telephone'
	});
	
	
	
	var textfield = new Ext.form.TextArea({
	emptyText : "tapez votre message ici...",
	name:"text-pro",
	id:"text-pro",
	width:390,
	grow:true,
	growMax:500
	});
	
	var champsup = {xtype:'hidden',name:'newletters',id:'inscriptnewsletter'};
	
	if(inscript){
		champsup = new Ext.form.Checkbox({
		fieldLabel: 'Je d&eacute;sire recevoir la newsletter ',
		id:'inscriptnewsletter'
		});
		//{fieldLabel: 'Je d&eacute;sire recevoir la newsletter ',name:'newletters',id:'inscriptnewsletter',xtype:'checkbox',width:5, value:'ok'};
	}
	
	/*champsup.on("check",function(e){
		var f = Ext.get("inscriptnewsletter");
		alert("stop");
		alert(e);
	});*/
	
	var simple = new Ext.FormPanel({
        labelWidth: 75, // label settings here cascade unless overridden
        //url:'save-form.php',
        frame:true,
        //title: 'Simple Form',
        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'
            },
            champsup
            ]
    });
	
		
	
   Ext.DomHelper.insertFirst("message_fen",{
	 			id:"hello-win",
	 			tag : "div",
	 			cls : 'x-hidden', 
	 			children : {tag : "div", cls : "x-window-header" , html : "Envoyer un message"}
	 		});
  
   
   var panel = new Ext.Panel({layout : "column", id:"panel-render" ,
    html : ""+
				"<p style='text-align:justify'>Afin de profiter <strong>pleinement</strong> de la messagerie interne, renseignez vos identifiants et connectez vous &agrave; votre site ou inscrivez vous rapidement et gratuitement !</p>" +
				"<p>Sinon renseignez le formulaire ci-dessus et validez votre message.</p>"
				,width: 380
				});
   
   //panel.setIconClass("ext-mb-warning");
   
   //panel.doLayout();
   
   win = new Ext.Window({
                el:'hello-win',
				layout:'column',
                width:400,
                //height:400,
                autoHeight : true,
//                closeAction:'hide',
//                plain: true,
                items : [simple,textfield]
                ,buttons: [{
                    //text:'valider le formulaire'
                    text:'Envoyer le message'
                    ,handler: sendMessagePro
                }
                /*,{
                    text: 'quitter',
                    id : 'quitButton',
                   	handler: function(){
                   		win.close();
                   		if((typeof grid) != "undefined"){
 							grid.resumeEvents();
 						} 
                   }
                }*/
                ]
            });
            
      if(Ext.get("al4insc") && Ext.get("al4insc").getValue() == "true"){
      win.add(panel);
      win.addButton({text: "je m'identifie",id : 'identification', handler : externProcessMessage});
      win.addButton({text: "je m'inscris",id : 'inscription', handler : externProcessMessage});
      }      
            
      win.show();
  	 win.on("close",dogrid);	
  
      
	/*}else{
		Ext.Msg.show({
   			title:'Vous voulez envoyer un message ?',
   			msg: ""+
				"<p>Vous devez &ecirc;tre identifi&eacute; pour effectuer cette action !</p>" +
				"<p>Renseignez vos identifiants et connectez vous &agrave; votre site !" +
				"<br/>ou Inscrivez vous rapidement et gratuitement ! </p>" +
				"",
   			buttons: {ok : "Je m'identifie", no : "Je m'inscris", cancel :"Annuler"},
   			/**
   			 * externProcessMessage est dans un fichier à part
   			 * par exemple dans le cas des "contacter vendeur"
   			 * du moteur de recherche de 974vo
   			 * externProcessMessage est dans le fichier mymoteurV2.js
   			 */
   	/*		fn: externProcessMessage,
   			icon: Ext.MessageBox.WARNING
		});		
		
		if((typeof grid) != "undefined"){
			grid.resumeEvents();
		} 
	} */   
}


function repondreMessageBoxPro_bad(inscript){
	var v;
	if(Ext.get("row_index")){
		v = Ext.get("row_index").getValue();
	}
		
	if((typeof grid) != "undefined"){
 		grid.suspendEvents();
 		var sel = grid.getSelectionModel();
 		sel.selectRow(v,true);
 	}
 	
 	var aler = Ext.get("al4insc") 
 	if(aler && aler.getValue() == "false"){
 		Ext.MessageBox.show({
           title: 'Envoyer un message',
           msg: 'Votre message :',
           width:400,
           defaultTextHeight: 300,
           buttons: {ok : 'valider',cancel : 'annuler'},
           multiline: true,
           fn: sendMessage
       });
       return "";
 	}
	
	var email = new Ext.form.TextField({
		emptyText : "email",
		id : "email",
		name : "email",
		vtype: 'email'
	});
	
	
	var telephone = new Ext.form.TextField({
		emptyText : "telephone",
		name : "telephone",
		id : "telephone",
		vtype: 'telephone'
	});
	
	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 champsup = {xtype:'hidden',name:'newletters',id:'inscriptnewsletter'};
	
	if(inscript){
		champsup = new Ext.form.Checkbox({
		fieldLabel: 'Je d&eacute;sire recevoir la newsletter ',
		id:'inscriptnewsletter'
		});
	}
	
	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'
            },
            champsup
            ]
    });
	
   Ext.DomHelper.insertFirst("message_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,
                items : [simple,textfield]
                ,buttons: [{
                    text:'Demandez une r&eacute;&eacute;valuation.'
                    ,handler: sendMessagePro
                }
                ]
            });
            
//      if(Ext.get("al4insc") && Ext.get("al4insc").getValue() == "true"){
      win.add(panel);
//      }      
            
     win.show();
  	 win.on("close",dogrid);	
}


function dogrid(pan){
	if((typeof grid) != "undefined"){
 		grid.resumeEvents();
 	}
}

function validetelephone(text){
	alert(text);
}

function valideEmail(text){
	alert(text);
}

function repondreMessageBoxPro(){
	Ext.Ajax.request({
	url: '/StopArnaque/tools/',
	success: function(response, opts){
		var obj = Ext.decode(response.responseText);
		if (obj == 1) {
			repondreMessageBoxPro_bad();
		}else{
			repondreMessageBoxPro_ok();
		}
	},
	failure: function(response, opts){
		//var obj = Ext.decode(response.responseText);
		alerte("Une erreur est survenue.");
	}
	});
}

function connect(){
alert("toitoitoi");
}
	
