//Class PopUpManager
var PopUpManager = Class.create({
    initialize: function(){
		this.fond = new Attente();
		//this.type = obj.type;
		//this.key = (obj.key != undefined) ? obj.key : '';
		//this.width = (obj.width != undefined) ? obj.width : 400;
		//this.height = (obj.height != undefined) ? obj.height : 400;
		this.ajax = {};
        $__P = this;
    },
    
    open: function(obj){
    	/**
    	 * On verifie si le type est course qu'on ne va pas supprimer de donnée
    	 * évènement
    	 */
    	var flag = true
    	if(obj.type == 'Course'){
    		if(indicateur_changement == true){
    			alert("Attention, vous avez modifié l'évènement.\nSi vous ne voulez pas perdre vos données, cliquez sur enregistrer l'évènement.");
    			flag = false;
    		}
    	}
    	
    	/**
    	 * Création du calque opacifiant
    	 */
    	if(flag == true){ 
	    	this.fond.hide();
	    	this.fond.show();
	    	this.loadContent(obj);
    	}
    },
    
    loadContent: function(obj){
    	var type   = (obj.type == undefined) ? 'Page' : obj.type;
    	var key    = (obj.key == undefined) ? '' : obj.key;
    	var epr_id = (obj.type == undefined) ? obj : obj.epr_id;
    	var w      = (obj.width == undefined) ? '700px' : obj.width;
    	var h      = (obj.height == undefined) ? '600px' : obj.height;
    	var param  = (obj.param == undefined) ? '' : obj.param;
    	var pars = '';
    	$('A_container').setStyle({top: parseInt(this.getScrollPosition()) + 'px'});
    	
		var url = 'module/PopUpManager/load' + type + '.php';
		if(key != '') pars = 'key=' + key;
		
		if(pars != '') pars += '&';
		if(type == 'Course') pars += 'epr_id=' + epr_id + '&date_debut=' + $F('f_crs_date_debut');
		if(type == 'CourseView') pars += 'epr_id=' + epr_id; 
		
		if(type == 'PubParSemaine') pars += 'date=' + $F('changeSemaine');
		if(type == 'Page') pars += 'page=' + epr_id;
		//if(type == 'Mailing') pars = 'sesxe=' + this.radioValue('f_crs_critere_sexe');
		//alert(pars);
		if(param != ''){
			if(pars != '') pars += '&';
			pars += param;
		}
		
		this.ajax = new Ajax.Request(url,
									{
										method: 'post',
										parameters: pars,
										evalScripts: true,
										onComplete: function(r){
											var rep = r.responseText;
											$__P.show(rep,w,h,type);
										}
									});
    },
    /*
    radioValue: function(id){
    	tmp = $$('input[type=radio]').detect(function(e){return(e.checked == 1 && e.name==id);});
		if(tmp != undefined){
			return tmp.value;
		} else {
			return '';
		}
    },*/
    
    show: function(contenu,w,h,type){
    	var container = '<div id="P_container">' + contenu + '</div>';
    	$('A_container').update(container);
    	//$('P_container').setStyle({'width':w,'height':h});
    	$('P_container').setStyle({'width':w,'height':'auto'});
    	//new Draggable('P_container');
    	if(type == 'Messagerie'){
    		new Ajax.Autocompleter("f_mes_dest_id", "auto_f_mes_dest_id",
				"module/Autocompleter/autocompleter.php");
			
    	}
    },
    
    close: function(){
    	if($('A_container')) $('A_container').remove();
    	if($('A_container')) $('A_container').remove();
    	$__P.fond.hide();
    },
    
    selection: function(obj){
    	var url = 'module/PopUpManager/selectionPublicite.php';
    	var pars = 'pub_id=' + obj.pub_id + '&date_debut=' + $('date_debut').innerHTML;
    	if (obj.element != undefined) pars += '&valeur=' + $(obj.element).value;
    	if (obj.validite != undefined) pars += '&validite=' + obj.validite;
    	if (obj.completer != undefined) pars += '&completer=' + obj.completer;
    	_I_B_.close();
    	var contenu = '<table><tr><td><img src="images/leurre.gif" width="300" height="280" />' +
    				  '</td><td>&nbsp</td></tr><tr><td>&nbsp;</td><td><img src="module/Attente/ajaxloader.gif" />' +
    				  '</td></tr></table>';
    	$('P_container').update(contenu);
    	this.ajax = new Ajax.Updater('P_container',url,
				{
					method: 'post',
					parameters: pars
				});
    },
    
    motDePasse: function(){
    	var url = 'module/Formulaire/motDePasse.php';
    	if($F('adresse_mail') == ''){
    		$__P.close();
    	} else {
    		var pars = 'adresse_mail=' + $F('adresse_mail');
    		this.ajax = new Ajax.Request(url,
    				{
    					method: 'post',
    					parameters: pars,
    					onComplete: function(r){
    						var rep = r.responseText;
    						alert(rep);
    						$__P.close();
    					}
    				}
    				);
    	}
    },
    
    ajouterTarif: function(){
    	var indice = parseInt($('f_tar_nb_ligne').value,10);
    	
    	var lp = $('tarif' + (indice-1)).innerHTML;
    	
    	// On modifie les id, name
    	lp = lp.gsub("f_tar_date" + (indice-1),"f_tar_date" + indice);
    	lp = lp.gsub("f_tar_non_licencie" + (indice-1),"f_tar_non_licencie" + indice);
    	lp = lp.gsub("f_tar_ffa" + (indice-1),"f_tar_ffa" + indice);
    	lp = lp.gsub("f_tar_yanoo" + (indice-1),"f_tar_yanoo" + indice);
    	
    	// On ajoute les champs au niveau du formulaire objet
    	_PUM_F_.add(new FormItem(new Array("f_tar_date"+indice,"text","","","estNonNul")));
    	_PUM_F_.add(new FormItem(new Array("f_tar_non_licencie"+indice,"text","","","estNonNul")));
    	_PUM_F_.add(new FormItem(new Array("f_tar_ffa"+indice,"text","","","estNonNul")));
    	_PUM_F_.add(new FormItem(new Array("f_tar_yanoo"+indice,"text","","","estNonNul")));
    	
    	var contenu = "<tr id='tarif" + indice + "'>" + lp + "</tr>";
    	$('bouton_ajout').insert({before: contenu});
    	$('f_tar_nb_ligne').value = indice + 1
    },
    
    supprimerTarif: function(element){
    	// On récupère le numéro de ligne avec l'id de la forme f_sup_{nb_ligne}
    	var num_ligne   = parseInt((element.id).substr(6),10);
    	var total_ligne = parseInt($('f_tar_nb_ligne').value,10);
    	
    	if(num_ligne != 0){
    	
	    	// On supprime la ligne
	    	element.parentNode.parentNode.remove();
	    	
	    	// on décale les indices des lignes suivantes
	    	if(num_ligne<total_ligne){
	    		for(var i=(num_ligne+1);i<total_ligne;i++){
	    			$('tarif' + i).id = 'tarif' + (i-1);
	    			
	    			$('f_tar_date' + i).name       = 'f_tar_date' + (i-1);
	    			$('f_tar_date' + i + '_w').id  = 'f_tar_date' + (i-1) + '_w';
	    			$('f_tar_date' + i).id         = 'f_tar_date' + (i-1);
	    			
	    			$('f_tar_non_licencie' + i).name       = 'f_tar_non_licencie' + (i-1);
	    			$('f_tar_non_licencie' + i + '_w').id  = 'f_tar_non_licencie' + (i-1) + '_w';
	    			$('f_tar_non_licencie' + i).id = 'f_tar_non_licencie' + (i-1);
	    			
	    			$('f_tar_ffa' + i).name       = 'f_tar_ffa' + (i-1);
	    			$('f_tar_ffa' + i + '_w').id  = 'f_tar_ffa' + (i-1) + '_w';
	    			$('f_tar_ffa' + i).id         = 'f_tar_ffa' + (i-1);
	    			
	    			$('f_tar_yanoo' + i).name       = 'f_tar_yanoo' + (i-1);
	    			$('f_tar_yanoo' + i + '_w').id  = 'f_tar_yanoo' + (i-1) + '_w';
	    			$('f_tar_yanoo' + i).id         = 'f_tar_yanoo' + (i-1);
	    			
	    			$('f_sup_' + i).id             = 'f_sup_' + (i-1);
	    			
	    		}
	    	}
	    	
	    	// On enleve la dernière ligne de l'objet liste du formulaire
	    	_PUM_F_.removeFormItem('f_tar_date' + (total_ligne-1));
	    	_PUM_F_.removeFormItem('f_tar_non_licencie' + (total_ligne-1));
	    	_PUM_F_.removeFormItem('f_tar_ffa' + (total_ligne-1));
	    	_PUM_F_.removeFormItem('f_tar_yanoo' + (total_ligne-1));
	    	
	    	// On décrémente le total de ligne
	    	$('f_tar_nb_ligne').value = total_ligne - 1;
    	}
    },
    
    modifyPublicite: function(){
    	
    },
    
    surveille: function(){
    	var url = 'module/PopUpManager/scan.php';
		this.ajax = new Ajax.PeriodicalUpdater($('screen'),url,
							{
								method: 'post',
								evalScripts: true
							});
    },
    
    getScrollPosition: function()
    {
        return ((document.documentElement && document.documentElement.scrollTop) || window.pageYOffset || self.pageYOffset || document.body.scrollTop);
    }
});
