
/** permet de gérer dynamiquement les sous domaines **/

var chargeSSsecteurs = function(e){
	var mySelect = $(id_select_secteurM);
	var val = mySelect.value;

	var url = '/components/com_gadenne/vue/getSSsecteurs.ajax.php';
	var ajaxRequest = new Request({
			url:url,
			method: 'post', 
			onSuccess: function(responseText){
				$(id_select_secteur).empty();
				var option = new Element('option',{value:0,html:'Tout '}).inject($(id_select_secteur));
				if(responseText!=''){
					var jSon = responseText;
					var secteurs = JSON.decode(responseText);
						secteurs.each(
							function(secteur){
								var option = new Element('OPTION', {
									'value': secteur.id,
									'html': secteur.libelle
								});
								if( id_secteurs && id_secteurs==option.value ){
									option.selected = 'selected';
								}
								$(id_select_secteur).appendChild(option);
								// alert($(id_select_secteur).tagName);
							}
						);
				}else{
					$(id_select_secteurM).removeChild($('sec_'+val));
				}
			}
		}
	)
	ajaxRequest.send('id_requestM='+val);
}


/** Récupère une nouvelle chaine de password de longueur length **/
/** Insère cette chaine dans l'élément 'id' sur sa propriété 'property' **/
function reloadPass(length,elts){
	var url = '/components/com_gadenne/vue/modifPass.ajax.php';
	var ajaxRequest = new Request({
			url:url,
			method: 'post', 
			onSuccess: function(responseText){
				if(responseText!=''){
					var retour = responseText
				}else{
					var retour = '';
				}
				$each(elts, function(property, id){
					$(id).set(property,retour);
				});
			}
		}
	)
	ajaxRequest.send('action=newPass&length='+length);
}

/** Sauvegarde le nouveau mot de passe d'une société **/
function saveNewPassword_etape1(current){
	var newPass = $('newPass_input').value;
		if( newPass.length<6 ){
			var span = $('messConf').getElementsByTagName('SPAN')[0];
				span.innerHTML = '6 caractères minimum.';
				$('messConf').removeClass('hidden');
				$('messConf').addClass('badConf');
			return;
		}
	
	var mess = 'Vous êtes sur le point de modifier votre mot de passe.\n';
	if(current!=0) mess+='\nancien mot de passe : '+current+'';
	mess+= '\nnouveau mot de passe : '+$('newPass_input').value+'\n\nEtes-vous sur de vouloir continuer ?';

	if(conf = confirm(mess)){
		saveNewPassword(newPass);
	}else{
		return false;
	}
}
	
	
function saveNewPassword(pswd){
	var url = '/components/com_gadenne/vue/modifPass.ajax.php';
	var ajaxRequest = new Request({
			url:url,
			method: 'post', 
			onSuccess: function(responseText){
				if( responseText.length>2 ){
					var span = $('messConf').getElementsByTagName('SPAN')[0];
						span.innerHTML = 'Mot de passe modifié.';
						$('messConf').removeClass('badConf');
						$('messConf').removeClass('hidden');
						
						$('seePassTxt_div').addClass('hidden');
						$('modifPassActions_div').addClass('hidden');
						$('changePassZone_div').addClass('hidden');
						$('newPassAuto_div').addClass('hidden');
						$('newPassManuel_div').addClass('hidden');
						$('confPassActions_div').addClass('hidden');
						
						$('zonechgPass_1').addClass('hidden');
						$('seePassBt').innerHTML = '<span>voir</span>';
						
						//$('ssZoneMyPass_2').removeClass('hidden');
						$('ssZoneMyPass_3').removeClass('hidden');
						$('confPassActions_annuler').removeClass('hidden');
						
						
						$('seePassTxt').innerHTML = responseText;
						current = responseText;
				}else{
					var span = $('messConf').getElementsByTagName('SPAN')[0];
						span.innerHTML = 'Une erreur est survenue.';
						$('messConf').removeClass('hidden');
						$('messConf').addClass('badConf');
				}
			}
		}
	)
	ajaxRequest.send('action=save&pswd='+pswd);
}

/** Active ou désactive l'utilisation du mot de passe d'une société pour pouvoir l'évaluer **/
function chgPasswordStatut(statut){
	var url = '/components/com_gadenne/vue/modifPass.ajax.php';
	var ajaxRequest = new Request({
			url:url,
			method: 'post', 
			onSuccess: function(responseText){
				if( parseInt(responseText) == 0){
					if( statut==1 ) var t = 'libres';
					else var t = 'contrôlées'
					var span = $('messConf').getElementsByTagName('SPAN')[0];
						span.innerHTML = 'les évaluations sont '+t;
						$('messConf').removeClass('badConf');
						$('messConf').removeClass('hidden');
				}else{
					var span = $('messConf').getElementsByTagName('SPAN')[0];
						span.innerHTML = 'une erreur est survenue.';
						$('messConf').removeClass('hidden');
						$('messConf').addClass('badConf');
				}
				//$('zonechgPass_2').addClass('hidden');
				$('seeEvalBt').innerHTML = '<span>voir</span>';
			}
		}
	)
	ajaxRequest.send('action=statut&statut='+statut);
}

/** Active ou désactive l'utilisation du mot de passe pour voir la page d'une société **/
function chgPageStatut(statut){
	var url = '/components/com_gadenne/vue/modifPass.ajax.php';
	var ajaxRequest = new Request({
			url:url,
			method: 'post', 
			onSuccess: function(responseText){
				if( parseInt(responseText) == 0){
					if( statut==1 ) var t = 'libre';
					else var t = 'limité'
					var span = $('messConf').getElementsByTagName('SPAN')[0];
						span.innerHTML = 'l\'affichage de la page est '+t;
						$('messConf').removeClass('badConf');
						$('messConf').removeClass('hidden');
				}else{
					var span = $('messConf').getElementsByTagName('SPAN')[0];
						span.innerHTML = 'une erreur est survenue.';
						$('messConf').removeClass('hidden');
						$('messConf').addClass('badConf');
				}
				$('zonechgPass_3').addClass('hidden');
				$('seePageBt').innerHTML = '<span>voir</span>';
			}
		}
	)
	ajaxRequest.send('action=page&statut='+statut);
}

function chgEvalStatut(eval){
	var url = '/components/com_gadenne/vue/modifPass.ajax.php';
	var ajaxRequest = new Request({
			url:url,
			method: 'post', 
			onSuccess: function(responseText){
				if( parseInt(responseText) == 0){
					if( eval==1 ) var t = 'ouvertes';
					else var t = 'fermées'
					var span = $('messConf').getElementsByTagName('SPAN')[0];
						span.innerHTML = 'Les évaluations sont '+t;
						$('messConf').removeClass('badConf');
						$('messConf').removeClass('hidden');
				}else{
					var span = $('messConf').getElementsByTagName('SPAN')[0];
						span.innerHTML = 'une erreur est survenue.';
						$('messConf').removeClass('hidden');
						$('messConf').addClass('badConf');
				}
				$('zonechgPass_2').addClass('hidden');
				$('seeEvalBt').innerHTML = '<span>voir</span>';
			}
		}
	)
	ajaxRequest.send('action=eval&eval='+eval);
}


/** Contrôle l'utilisation du mot de passe **/
function submitPassConfEval(id,action){

	var val = $('pswdConfEval').value;
	
	var url = '/components/com_gadenne/vue/validAccesEval.ajax.php';
	var ajaxRequest = new Request({
			url:url,
			method: 'post',
			onSuccess: function(responseText){
				if(responseText==1){
					var form = $('formPassConfEval');
						form.set('action',action);
						form.submit();
				}else{
					$('messConf').removeClass('hidden');
				}
			}
		}
	)
	ajaxRequest.send('id='+id+'&pswd='+val);
}

/** Contrôle l'utilisation du mot de passe **/
function submitPassConfPage(id){

	var val = $('pswdConfPage').value;
	
	var url = '/components/com_gadenne/vue/validAccesEval.ajax.php';
	var ajaxRequest = new Request({
		url:url,
		method: 'post',
		onSuccess: function(responseText){
			if(responseText==1){
				window.location.href = window.location.href;
			}else{
				$('messConf').removeClass('hidden');
			}
		}
	})
	ajaxRequest.send('id='+id+'&pswd='+val);
}

/** Contrôle l'utilisation du mot de passe **/
function submitPassConfPage2(id,action){
	var pS = $$('p.confMess');
	var goodP = pS[pS.length-1];
	
	var formS = $$('form.formPasserelle');
	var goodForm = formS[formS.length-1];
	
	var inputS = $$('form.formPasserelle input.pswdConfPage');
	var goodInput = inputS[inputS.length-1];
	
	var val = goodInput.value;
	if($('fiche_soc')) var fiche_soc = $('fiche_soc').value;
	else fiche_soc=1;

	var url = '/components/com_gadenne/vue/validAccesEval.ajax.php';
	var ajaxRequest = new Request({
		url:url,
		method: 'post',
		onSuccess: function(responseText){
			if(responseText==1){
				if(fiche_soc<=0){
					window.location.href = window.location.href;
				}else{
					var form = goodForm;
						form.set('action',action);
						form.submit();
				}
			}else{
				goodP.removeClass('hidden');
			}
		}
	});
	ajaxRequest.send('id='+id+'&pswd='+val);
}



//***** INFOBULLES *****

var focus = 0;


function activeMessBox(elt,options){
	//alert(elt.title);
	if( !options.idBox ) options.idBox = 'myMessageBox';
	
	
	// h-> left | center | right
	// v-> top | center | bottom
	if( !options.pos || ( typeof options.pos =='string' && options.pos.indexOf('::')<0 ) ){
		if( options.pos != 'mouse_follow' ) options.pos = {'h':'center','v':'bottom'};
	}else{
		var pos = options.pos.split('::');
		options.pos = {'h':pos[0],'v':pos[1]};
		if( options.pos.h!='left' && options.pos.h!='center' && options.pos.h!='right' ) options.pos.h = 'center';
		if( options.pos.v!='top' && options.pos.v!='center' && options.pos.v!='bottom' ) options.pos.h = 'center';
	}
	if( !options.decal || options.decal.indexOf('::')<0 ){
		options.decal = {'x':0,'y':0};
	}else{
		var decal = options.decal.split('::');
		options.decal = {'x':parseInt(decal[0]),'y':parseInt(decal[1])};
	}
	
	if( !options.classBox ) options.classBox = 'infoInput';
	
	options.txt = {'titre':'','mess':''};
		
	elt.addEvent('focus',function(evt){initMessage(elt,1,options,evt)});
	elt.addEvent('mouseover',function(evt){initMessage(elt,0,options,evt)});
	elt.addEvent('blur',function(evt){deleteMessage(elt,1,options,evt)});
	elt.addEvent('mouseout',function(evt){deleteMessage(elt,1,options,evt)});
	
	var label = $$('label[for='+elt.id+']');
	if(label) label.addEvent('mouseover',function(evt){initMessage(elt,0,options,evt)});	
}


function initMessage(elt,prior,options,evt){
	
	if(prior==1) focus=1; 
	else if(focus==1) return false;  
	
	var id = options.idBox;
	var classBox = options.classBox;
	
	if( !$(id) ) createMessage(options,evt);
	messageInitInfos(elt,options,evt);
}

function createMessage(options,evt){
	
	var id = options.idBox;
	var classBox = options.classBox;
	var titre = options.txt.titre;
	var mess = options.txt.mess;

	var styles = {'opacity': 0.9};
	
	
	// conteneur principal
	var box = new Element('div',{
		'styles': styles,
		'class': classBox+' activeMessBox', // 2nd classe générique pour tous les identifier
		'id': id
	});
		
			// top
			var top = new Element('div',{
				'class': 'tip-top'
			});
			
			// conteneur des text
			var textes = new Element('div',{
				'class': 'tip'
			});
					
					// titre
					var titre = new Element('div',{
						'class': 'tip-title',
						'html': titre
					});
					
					// message
					var message = new Element('div',{
						'class': 'tip-text',
						'html': mess
					});
		
			// bas
			var bottom = new Element('div',{
				'class': 'tip-bottom'
			});

	textes.appendChild(titre);
	textes.appendChild(message);
	
	box.appendChild(top);
	box.appendChild(textes);
	box.appendChild(bottom);
	
	
	document.body.appendChild(box);
}

function changeMessage(elt,options,evt){
	//alert(elt.title);
	var txt = elt.title;
	if( txt!='' ){
		var content = txt.split('::');
		if( content.length>1 ){
			options.txt = {'titre':content[0],'mess':content[1]};
		}else{
			options.txt = {'titre':'','mess':txt};
		}
	}
	//alert(titre);
	var id = options.idBox;
	var titre = options.txt.titre;
	var mess = options.txt.mess;
	
	$(id).setStyle('display','block');
	
	var titleBox = $$('#'+id+' .tip-title');
		titleBox.setProperty('html',titre);
	var centerBox = $$('#'+id+' .tip-text');
		centerBox.setProperty('html',mess);
		
	elt.setProperty('title','');
}

function messageInitInfos(elt,options,evt){
	/* on recherche d'éventuelles autres infosbulles pour les masquer */
	var all = $$('.activeMessBox');
	all.each(function(bulle){bulle.setStyle('display','none');});

	changeMessage(elt,options,evt);
	
	var id = options.idBox;
	var pos = options.pos;
	
	var decal = options.decal;
	
	var posInit = {'x':elt.getPosition().x,'y':elt.getPosition().y};

	if( pos!= 'mouse_follow' ){
		switch( pos.v ){
			case 'top':
				var top = (posInit.y)-($(id).getSize().y)+decal.y;
				break;
				
			case 'center':
				var top = (posInit.y)+decal.y;
				break;
				
			case 'bottom':
				var top = (elt.getSize().y)+(posInit.y)+decal.y;
				break;
		}
		
		switch( pos.h ){
			case 'left':
				var left = posInit.x-($(id).getSize().x)+decal.x;
				break;
				
			case 'center':
				var left = (posInit.x)+decal.x;
				break;
				
			case 'right':
				var left = (posInit.x)+(elt.getSize().x)+decal.x;
				break;
		}
	}else{
		var left = evt.client.x;
		if(evt.client.x<($(id).getSize().x+50)){
			// affichage a droite
			var left = (evt.client.x)+(elt.getSize().x)+decal.x+10;
		}else{
			// affichage a gauche
			var left = evt.client.x-($(id).getSize().x+10)+decal.x;
		}
		var top = evt.client.y;
		
		var boite = $(id);
		
		elt.addEvent('mousemove',function(evt,boite){
			var left = evt.client.x;
			if(evt.client.x<($(id).getSize().x+50)){
				// affichage a droite
				var left = (evt.client.x)+(elt.getSize().x)+decal.x+10;
			}else{
				// affichage a gauche
				var left = evt.client.x-($(id).getSize().x+10)+decal.x;
			}
			var top = evt.client.y;
			$(id).setStyles({
				'position': 'absolute',
					'top': top+'px',
					'left': left+'px'
			});
		});
	}
	
	$(id).setStyles({
		'position': 'absolute',
			'top': top+'px',
			'left': left+'px'
	});
}

function deleteMessage(elt,prior,options,evt){
	
	var titre = options.txt.titre;
	var mess = options.txt.mess;
	var id = options.idBox;
	
	elt.title = titre+'::'+mess;
	if( prior==1 || (focus==0 && prior==0)){
		//document.body.removeChild($(id));
		$(id).setStyle('display','none');
		focus = 0;
	}
}


// Fonctions qui rafraichissent en AJAX le tableau de bord
function refreshTableauBord(type,page,idsoc,idsocPage,options){
	if(!page) var page=1;
	// if(!idsocPage) var page=1;

	// type : 1->evaluations / 2->commentaires / 3->barometre / 4->points d'amélioration
	var service = $('service_'+type).value;
	if($('date_inf_'+type)) var date_inf = $('date_inf_'+type).value;
	else var date_inf = '';
	if($('date_sup_'+type)) var date_sup = $('date_sup_'+type).value;
	else var date_sup = '';
	if($('anciennete_'+type)) var anciennete = $('anciennete_'+type).value;
	else var anciennete = '';
	// if($('typeSoc_'+type)) var typeSoc = $('typeSoc_'+type).value;
	// else var typeSoc = '';
	
	if( $('rep_'+type) ) var rep = $('rep_'+type).value;
	else var rep = 0;
	
	var region = 0;
	var typeSoc = 0;
	var par = 0;
	if(idsoc==0 && options){
		if(options.type) typeSoc = options.type;
		if(options.region) region = options.region;
		if(options.par) par = options.par;
	}
	
	var params = 'type='+type;
		params+= '&typeSoc='+typeSoc;
		//params+= '&typeSoc2='+typeSoc2;
		params+= '&region='+region;
		params+= '&par='+par;
		params+= '&service='+service;
		params+= '&date_inf='+date_inf;
		params+= '&date_sup='+date_sup;
		params+= '&rep='+rep;
		params+= '&page='+page;
		params+= '&anciennete='+anciennete;
		params+= '&idsoc='+idsoc;
		params+= '&idsocPage='+idsocPage;
	
	
	var testEnvoi = 1;
	
	var url = '/index.php?option=com_gadenne&task=refreshTableauBord';
	var ajaxRequest = new Request({
		url:url,
		method: 'post',
		onRequest: function(){
			var div = new Element('div',{
				id: type+'_tempReload',
				styles: {
					background: 'url(/templates/open2job/images/reload2) center center no-repeat',
					paddingTop: '25px',
					textAlign: 'center',
					color: '#999'
				}
			});
			var a = new Element('a',{
				html: 'recharger',
				href: '/o2j/mon-opentojob.html',
				events: {
					'click': function(e){e.stop();refreshTableauBord(type,page,idsoc,idsocPage,options);}
				}
			}).inject(div);
			
			$$('#div_'+type+' .liste')[0].empty();
			div.inject($$('#div_'+type+' .liste')[0]);
		},
		onSuccess:	function(responseText){
			//alert(responseText);
			$$('#div_'+type+' .liste')[0].innerHTML=responseText;
			TB_init();
			if($('suggests')){ initLinks();}
			if(
				$('refreshTableauBord_masque') /*&& type==1*/
				&& (
					!$('1_tempReload') &&
					!$('1_tempReload') &&
					!$('1_tempReload') &&
					!$('1_tempReload')
				)
			){ $('refreshTableauBord_masque').setStyle('display','none');}
			testEnvoi = 0;
		},
		onFailure: function(){
			if($('refreshTableauBord_masque'))$('refreshTableauBord_masque').setStyle('display','none');
				testEnvoi = 1;
		}
	});
	ajaxRequest.send(params);
		
	// setTimeout(function(){
		// if(testEnvoi==1){
			// if(confirm('Une erreur est survenue.\nPour relancer la recherche la page, cliquez sur "OK".'))
				// refreshTableauBord(type,page,idsoc,idsocPage,options);
			// else
				// if($('refreshTableauBord_masque'))$('refreshTableauBord_masque').setStyle('display','none');
		// }
	// },10000);
}

function switchAmeliorations(){
	var elt = $('suggests').firstChild;
	if( $('ptsAmelioration').hasClass('hidden') ){
		elt.innerHTML = 'masquer les suggestions';
		$('ptsAmelioration').removeClass('hidden');
	}else{
		elt.innerHTML = 'voir les suggestions';
		$('ptsAmelioration').addClass('hidden');
	}
	
}


function initLinks(){
	function updateLinks(num){
		var spans = $$('#links_real span');
		var total = (spans.length)-2;
			spans.each(function(span){
				span.addClass('hidden');
				span.removeClass('current');
			});
		var min = num-2;
		var max = num+2;
		//alert(min+' / '+max+' / '+total);
		for( var i=min;i<=max;i++ ){
			if($('link_'+i)) $('link_'+i).removeClass('hidden');
		}
		if( num-2>2 ) $('points_1').removeClass('hidden');
		else $('points_1').addClass('hidden');
		if( num+2<total-1 ) $('points_2').removeClass('hidden');
		else $('points_2').addClass('hidden');
		
		if( num==1 ){ if($('fl_1')) $('fl_1').addClass('hidden');}
		else{ if($('fl_1')) $('fl_1').removeClass('hidden');}
		if( num==total ){ if($('fl_2')) $('fl_2').addClass('hidden');}
		else{ if($('fl_2')) $('fl_2').removeClass('hidden');}
		
		$('link_1').removeClass('hidden');
		$('link_'+total).removeClass('hidden');
		$('link_'+num).addClass('current');
		
		for( var i=1;i<=total;i++ ){
			$('part_'+i).addClass('hidden');
		}
		$('part_'+num).removeClass('hidden');
	}
	
	
	var links = $$('#links_real span a');
		links.each(function(link){
			link.addEvent('click',function(){
				var num = parseInt(link.getProperty('html'));
					updateLinks(num);
			});
		});
		
	
	if($('fl_1')) $('fl_1').addEvent('click',function(){
		var num = parseInt( $$('#links_real span.current a')[0].getProperty('html') );
		updateLinks(num-1);
	});
	
	if($('fl_2')) $('fl_2').addEvent('click',function(){
		var num = parseInt( $$('#links_real span.current a')[0].getProperty('html') );
		updateLinks(num+1);
	});
	//alert('la');
	/*$('suggests').addEvent('click',function(){
		if( $('ptsAmelioration').hasClass('hidden') ){
			this.setProperty('html','masquer les suggestions');
			$('ptsAmelioration').removeClass('hidden');
		}else{
			this.setProperty('html','voir les suggestions');
			$('ptsAmelioration').addClass('hidden');
		}
	});*/
}


function validInt(e){
	var key = e.key;
	// alert(key);
	var i = key.toInt();
	if( key==i ) var test = true;
	else{
		var liste = [
			'up','down','left','right',
			'tab','enter','backspace','delete'
		];
	
		var verif = liste.indexOf(key);
		if(verif!=-1){
			var test = true;
		}else{
			var test = false;
		}
	}
	return test;
}


