/*   
 *  Creation de fenetres associcies a Prototype
 *  Espace clients Territoires V1.0
 *  (c) 2009 Vincent Elleon
 *
/*--------------------------------------------------------------------------*/

// Fonction pour afficher le formulaire de connexion
function connexion() {
Dialog.confirm($('form_connexion').innerHTML, {className:"territoires2", title:"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Territoires Espace Clients&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='mailto:espace-clients@territoires-experts.com'>?</a>", width:310, top:400, okLabel: "CONNEXION", cancelLabel: "Annuler",
                                        onOk:function(win){
                                          handle_login($('email').value,$('pass').value);									               
                                         },
										onCancel:function(win){
										  setTimeout("$('present').show()",1500);
										}
										});
}


// Fonction pour creer un nouveau compte client
function nouveau_compte() {	
Dialog.confirm({url: "/TEC/nouveau_compte.php", options: {method: 'get'}}, {className:"territoires2", title:"Cr&eacute;er un nouveau compte client",
					 width:300, height:270, top:400, showEffect:Effect.BlindDown, hideEffect:Effect.DropOut, okLabel: "CREER LE COMPTE", cancelLabel: "Annuler",
					 onOk:function(win){
						var test = true;
						for (i=0;i<$('nouv_compte').length;i++){
							var tempobj = $('nouv_compte').elements[i];
							if(tempobj.id.substring(0,1)=='x'){
								if((tempobj.type=='text') && (tempobj.style.backgroundImage!='')){
									test = false;
								}
							}
						}
						if(test){
							actionDirect('clients/actionCompte.php?nouv&nom='+$('xnom').value+'&prenom='+$('xprenom').value+'&email='+$('xemail').value+'&telephone='+$('xtelephone').value+'&societe='+$('xsociete').value,'on','territoires2');	
							Windows.focusedWindow.close();							         
						}
						else new Effect.Shake(Windows.focusedWindow.getId());						
					 }});
}


// Fonction pour renvoyer le mot de passe
function envoi_password(){
  Dialog.confirm($('oubli_pass').innerHTML, {className:"territoires2", title:"Envoi d'un nouveau password", width:300, top:400,
                                        showEffect:Effect.BlindDown, hideEffect:Effect.DropOut,okLabel: "Ok", cancelLabel: "Annuler", 
                                        onOk:function(win){                                        
                                          if($('email').value==""){                                          
                                             $('message').innerHTML="Saisissez l'email li&eacute; &agrave; votre compte";
                                             $('message').show(); 
                                             Windows.focusedWindow.updateHeight();
                                             new Effect.Shake(Windows.focusedWindow.getId());
                                          }
                                          else{            
										  	 oubli_password($('email').value);                                            
                                          }                                                                                
                                         }});
}


function html_entity_decode(str)
{
    try
	{
		var  tarea=document.createElement('textarea');
		tarea.innerHTML = str; return tarea.value;
		tarea.parentNode.removeChild(tarea);
	}
	catch(e)
	{
		//for IE add <div id="htmlconverter" style="display:none;"></div> to the page
		document.getElementById("htmlconverter").innerHTML = '<textarea id="innerConverter">' + str + '</textarea>';
		var content = document.getElementById("innerConverter").value;
		document.getElementById("htmlconverter").innerHTML = "";
		return content;
	}
}


// Fonction pour l'envoi d'emails
function envoi_email_clients(){	
	if($('sujet').value!="" && $('message').value!=""){  
	  $('envoi_email').style.display='none';
	  Dialog.confirm($('message').value, {className:"territoires2", title:"R&eacute;capitulatif d'envoi", width:400, height:200,
											showEffect:Effect.BlindDown, hideEffect:Effect.DropOut,okLabel: "Ok", cancelLabel: "Annuler", draggable:true, closable:true, 
											onOk:function(win){  											   
											     var message = html_entity_decode($('message').value);
												 actionDirect("emails/envoi.php?sujet="+$('sujet').value+"&message="+message+"&selection="+$('selection').value+"&tous_o="+$('tous_o').value+"&tous_n="+$('tous_n').value,"off","");												
												 new Effect.BlindUp(Windows.focusedWindow.getId(),{duration:2});
												 setTimeout("document.location.href='index.php?page=emails'",2100);
												 
											},    
											onCancel:function(win){           
												 $('envoi_email').style.display='block';                                        
											}   
											});
	}
	else{
		if($('sujet').value=="") new Effect.Shake($('sujet').id);
		if($('message').value=="") new Effect.Shake($('message').id);
	}
}


// Fonction pour afficher la liste des clients a selectionner
function liste_clients(){	
	Dialog.confirm({url: "/TEC/emails/selection.php", options: {method: 'get'}}, {className:"territoires", title:"S&eacute;lection des clients", width:600, top:400,
										showEffect:Effect.BlindDown, hideEffect:Effect.DropOut,okLabel: "Ok", cancelLabel: "Annuler", 
										onOk:function(win){      
											 $('selection').value = "";
											 for(var i=1; i<=$('nb').value; i++){
												 if(document.getElementById(i).checked) $('selection').value += $('email'+i).innerHTML+";";
											 }
											 return true;
										}  
										});
}


// Fonction pour poser une nouvelle question
function nouv_question(noUser){
  Dialog.confirm($('nouvelle_question').innerHTML, {className:"territoires", title:"Poser une nouvelle question", width:500,
                                        showEffect:Effect.BlindDown, hideEffect:Effect.DropOut,draggable:true,okLabel: "Ok", cancelLabel: "Annuler", 
                                        onOk:function(win){                                        
                                          if($('question').value==""){                                          
                                             new Effect.Shake(Windows.focusedWindow.getId());
                                          }										  
                                          else{            
										  	 actionDirect("faq/actionFaq.php?nouv&question="+$('question').value+"&user="+noUser,"on","territoires");								 
											 rafraichir_div('questions','faq/index.php','','off');
											 return true;
                                          }                                                                                
                                         }
										 });
}


// Fonction pour repondre a une question
function nouv_reponse(noQuestion,noIntervenant){
  Dialog.confirm($('nouvelle_reponse').innerHTML, {className:"territoires", title:"R&eacute;pondre &agrave; la question", width:500,
                                        showEffect:Effect.BlindDown, hideEffect:Effect.DropOut,draggable:true,okLabel: "Ok", cancelLabel: "Annuler", 
                                        onOk:function(win){                                        
                                          if($('reponse').value==""){                                          
                                             new Effect.Shake(Windows.focusedWindow.getId());
                                          }										  
                                          else{            
										  	 actionDirect("faq/actionFaq.php?rep="+$('reponse').value+"&quest="+noQuestion+"&noInter="+noIntervenant,"on","territoires");	
											 rafraichir_div('questions','faq/index.php','','off');
											 return true;
                                          }                                                                                
                                         }
										 });
}


// Fonction pour editer une reponse
function editer_reponse(noReponse,noIntervenant){  
  Dialog.confirm($('nouvelle_reponse').innerHTML, {className:"territoires", title:"Modifier la r&eacute;ponse &agrave; la question", width:500,
                                        showEffect:Effect.BlindDown, hideEffect:Effect.DropOut,draggable:true,okLabel: "Ok", cancelLabel: "Annuler", 
                                        onOk:function(win){                                        
                                          if($('reponse').value==""){                                          
                                             new Effect.Shake(Windows.focusedWindow.getId());
                                          }										  
                                          else{            
										  	 actionDirect("faq/actionFaq.php?edit&contenu="+$('reponse').value+"&noRep="+noReponse+"&noInter="+noIntervenant,"on","territoires");	 
											 rafraichir_div('questions','faq/index.php','','off');
											 return true;
                                          }                                                                                
                                         }
										 });
  $('reponse').value = window.parent.$('contenu'+noReponse).innerHTML;
}


// Fonction pour supprimer une question
function suppr_question(noQuestion){
  Dialog.confirm("<br>&Ecirc;tes-vous s&ucirc;r de vouloir supprimer cette question et toutes ses r&eacute;ponses ?", {className:"territoires", title:"Suppression", width:470,
                                        hideEffect:Effect.DropOut,draggable:true,okLabel: "Ok", cancelLabel: "Annuler", 
                                        onOk:function(win){          
										  	 actionDirect("faq/actionFaq.php?suppr&no="+noQuestion,"off",""); 										 
											 rafraichir_div('questions','faq/index.php','','off');
											 return true;
                                         }                                                                                
                                         });
}


// Fonction pour modifier les informations du client
function modif_user(noUser) {
var win = new Window({className:"territoires", url: "/TEC/clients/modif_compte.php?no="+noUser, title:"Informations du compte client", 
					 width:380, height:345, top:400, showEffect:Effect.BlindDown, hideEffect:Effect.SwitchOff, closable:true, minimizable:false, maximizable:false, draggable:true, wiredDrag:false});
win.show();
}


// Fonction pour modifier le statut d'un client
function statut_user(noUser,statut) {
if(statut==0){
	var message="<br>&Ecirc;tes-vous s&ucirc;r de vouloir activer ce compte ?";
	var nouveau = 1;
}
else{
	var message="<br>&Ecirc;tes-vous s&ucirc;r de vouloir d&eacute;sactiver ce compte ?";
	var nouveau = 0;
}
Dialog.confirm(message, {className: "territoires", title:"Changement de statut du compte client", width:350, height:80, cancelLabel: " Non ", okLabel: " Oui ", 
            cancel:function(win) {return false;},
            ok:function(win) {actionDirect("clients/actionCompte.php?statut="+nouveau+"&id="+noUser,"off","");return true;}});
}


// Fonction pour supprimer un compte client
function suppr_user(noUser) {
Dialog.confirm("<br>&Ecirc;tes-vous s&ucirc;r de vouloir d&eacute;finitivement supprimer ce compte client ?", {className: "territoires", title:"Suppression de compte", width:450, height:80, cancelLabel: " Non ", okLabel: " Oui ", 
            cancel:function(win) {return false;},
            ok:function(win) {actionDirect("clients/actionCompte.php?suppr&id="+noUser,"off","");return true;}});
}


// Fonction pour ajouter une societe
function nouv_societe(){
  Dialog.confirm($('modif_societe').innerHTML, {className:"territoires", title:"Ajout d'une soci&eacute;t&eacute;", width:300, top:400,
                                        showEffect:Effect.BlindDown, hideEffect:Effect.DropOut,okLabel: "Ok", cancelLabel: "Annuler", 
                                        onOk:function(win){                                        
                                          if($('societe').value==""){                                          
                                             $('message').innerHTML="Saisissez le nom de la soci&eacute;t&eacute;";
                                             $('message').show(); 
                                             Windows.focusedWindow.updateHeight();
                                             new Effect.Shake(Windows.focusedWindow.getId());
                                          }										  
                                          else{            
										  	 actionDirect("clients/actionSociete.php?nouv&nom="+$('societe').value.toUpperCase(),"off",""); 
											 return true;
                                          }                                                                                
                                         }});
}


// Fonction pour modifier une societe
function modif_societe(noSociete,societe,dir){
  Dialog.confirm($('modif_societe').innerHTML, {className:"territoires", title:"Modification", width:300, top:400,
                                        showEffect:Effect.BlindDown, hideEffect:Effect.DropOut,okLabel: "Ok", cancelLabel: "Annuler", 
                                        onOk:function(win){                                        
                                          if($('societe').value==""){                                          
                                             $('message').innerHTML="Saisissez le nom de la soci&eacute;t&eacute;";
                                             $('message').show(); 
                                             Windows.focusedWindow.updateHeight();
                                             new Effect.Shake(Windows.focusedWindow.getId());
                                          }
                                          else{            
										  	 actionDirect("clients/actionSociete.php?modif&id="+noSociete+"&nom="+$('societe').value.toUpperCase(),"off",""); 
											 return true;
                                          }                                                                                
                                         }});
  $('societe').value = societe;
}


// Fonction pour supprimer une societe
function suppr_societe(noSociete) {
Dialog.confirm("<br>ATTENTION !<br>Vous vous appr&ecirc;tez &agrave; supprimer cette soci&eacute;t&eacute; et tous ses comptes clients. &Ecirc;tes-vous s&ucirc;r ?", {className: "territoires", title:"Suppression", width:450, height:100, cancelLabel: " Non ", okLabel: " Oui ", 
            cancel:function(win) {return false;},
            ok:function(win) {actionDirect("clients/actionSociete.php?suppr&id="+noSociete,"off","");return true;}
		});
}


// Fonction pour supprimer un partage
function suppr_partage(id) {
Dialog.confirm("<br>&Ecirc;tes-vous s&ucirc;r de vouloir supprimer ce partage ?", {className: "territoires", title:"Suppression", width:400, height:80, cancelLabel: " Non ", okLabel: " Oui ", 
            cancel:function(win) {return false;},
            ok:function(win) {actionDirect("webftp/actionPartage.php?suppr&id="+id,"off","");return true;}});
}


// Fonction pour attribuer un dossier de partage a un client
function attribuerDossier(noUser,dossier,nb,this_) {
	if(this_.checked==true){
		var message="<br>Attribuer le dossier de partage pour ce compte client ?";
	}
	else{
		var message="<br>Enlever le dossier de partage pour ce compte client ?";
		dossier="";
	}
	Dialog.confirm(message, {className: "territoires", title:"Association dossier - client", width:400, height:80, cancelLabel: " Non ", okLabel: " Oui ", 
				cancel:function(win) {this_.checked = !this_.checked;return false;},
				ok:function(win) {
					selectionChkbox(nb,this_);
					actionDirect("clients/actionCompte.php?dossier="+dossier+"&id="+noUser,"off","");
					return true;}});
}


// Fonction pour attribuer un dossier de partage a une societe
function attribuerDossierSociete(noSociete,dossier,this_) {
	if(this_.checked==true){
		var message="<br>Attribuer le dossier de partage pour cette soci&eacute;t&eacute; ?<br>ATTENTION ! Tous les clients de cette soci&eacute;t&eacute; se verront attribuer ce r&eacute;pertoire par d&eacute;faut.";
	}
	else{
		var message="<br>Enlever le dossier de partage pour cette soci&eacute;t&eacute; ?<br>ATTENTION ! Les clients de cette soci&eacute;t&eacute; n'auront plus d'acc&egrave;s.";
		dossier="--";
	}
	Dialog.confirm(message, {className: "territoires", title:"Association dossier - soci&eacute;t&eacute;", width:400, height:100, cancelLabel: " Non ", okLabel: " Oui ", 
				cancel:function(win) {this_.checked = !this_.checked;return false;},
				ok:function(win) {
					actionDirect("clients/actionSociete.php?dossier="+dossier+"&id="+noSociete,"off","");
					rafraichir_div('liste','clients/liste_societes.php','','on');
					document.getElementById('ftp').style.display = "none";
					return true;}});
}


// Fonction qui permet d'afficher des informations en pop-up
function afficherInfo(html,note,titre,largeur,hauteur) {
	// Recupere position souris
	var x = window.event.clientX;
	var y = window.event.clientY;
	// Ouverture fenetre, parametres
    var win = new Window({className:"territoires", title:titre, width:largeur, height:hauteur, top:y, left:x})
	// Contenu
    win.getContent().update(note);
    win.show();
}


// Fonction pour changer la valeur d'un champs
function ajouter(titre,element){
	Dialog.confirm($('ajout').innerHTML, {className:"territoires2", title:titre, width:300, top:500,
                                        okLabel: "Ok", cancelLabel: "Annuler", 
                                        onOk:function(win){                                        
                                          if($('option').value==""){                                          
                                             $('error_msg').innerHTML="Veuillez saisir l'information";
                                             $('error_msg').show(); 
                                             Windows.focusedWindow.updateHeight();
                                             new Effect.Shake(Windows.focusedWindow.getId());
                                          }
                                          else{                 
											 var value = $('option').value.replace(/^\s+/g,'').replace(/\s+$/g,'');
                                             $(element).value = value.toUpperCase();                                                                                    
                                             return true;
                                          }                                                                                
                                         }});
}


// Fonction pour ajouter un choix au listebox
function ajouter_option(titre,element){
	Dialog.confirm($('ajout_listbox').innerHTML, {className:"territoires2", title:titre, width:300, top:500,
                                        okLabel: "Ok", cancelLabel: "Annuler", 
                                        onOk:function(win){                                        
                                          if($('option').value==""){                                          
                                             $('error_msg').innerHTML="Veuillez saisir l'information";
                                             $('error_msg').show(); 
                                             Windows.focusedWindow.updateHeight();
                                             new Effect.Shake(Windows.focusedWindow.getId());
                                          }
                                          else{                        
                                             var loption = $('option').value;   
                                             document.getElementById(element).options[document.getElementById(element).options.length] = new Option(loption,loption); 
                                             document.getElementById(element).options[document.getElementById(element).length-1].selected = 1;                                      
                                             return true;
                                          }                                                                                
                                         }});
}


// Fonction pour appeler une page dans une nouvelle fenetre, retour si OK
function fenetreHTML(affichage,retour) {
	Dialog.alert({url: affichage, options: {method: 'get'}}, 
            {className: "territoires", width:540, okLabel: "OK", ok:function(win) {document.location.href=retour; return true;}});
}


// Fonction pour afficher une alert a l'ecran pendant un temps donne, (affichage decrementation possible)
function messageEcranAlert(message,titre,css) {
  Dialog.info(message,{className:css, title:titre, width:500, height:120, top:400, showProgress: false});
  setTimeout("Dialog.closeInfo()", 2000);
}
											 
