var InfoBulle = Class.create({
	initialize: function(){
		this.etat = false;
		this.el   = '';
	},
	
	open: function(obj){
		if(!this.etat){
			this.el = $(obj.element);
			var pos = this.position($(obj.element));
			var contenu = '<div id="IB_container"><table><tr><td class="haut"></td></tr>'+
						  '<tr><td class="milieu"><span class="titre">' + obj.title + '</span><br />' + obj.body + '</td></tr>' +
						  '<tr><td class="bas"></td></tr></table></div>';
			
			var body =  $$('body')[0];
			body.insert({top: contenu});
			$('IB_container').setStyle({left: pos[0]-$('IB_container').offsetWidth+140+'px', top: pos[1]-$('IB_container').offsetHeight+'px'});
}
	},
	
	hide: function(){
		if($('IB_container') != undefined && !this.etat) $('IB_container').remove();
	},
	
	close: function(){
		if(this.etat){
			this.etat = false;
			this.hide();
		}
	},
	
	modify: function(pub_id,loc,consolidee){
		
		var d = '';
		var select = '';
		var texte = (($$('#' + this.el.id + ' img')[0].src).indexOf('_verte.gif') == -1) ? 'Valider' : 'Attente';
		this.etat = true;
		//if(consolidee == '1'){
		//	d = ' disabled=disabled ';
		//	select = '<input type="text" disabled=disabled id="loc" style="width: 24px" />';
		//} else {
			d = '';
			select = '<select id="loc"><option></option>';
			if(loc.substr(0,1) == 'h'){
				select += '<option value="hgp">hgp</option><option value="hgi">hgi</option>' +
			              '<option value="hdp">hdp</option><option value="hdi">hdi</option>';
			} else {
				select += '<option value="vg1p">vg1p</option><option value="vg1i">vg1i</option>' +
				          '<option value="vg2p">vg2p</option><option value="vg2i">vg2i</option>' + 
				          '<option value="vg3p">vg3p</option><option value="vg3i">vg3i</option>' +
				          '<option value="vg4p">vg4p</option><option value="vg4i">vg4i</option>' +
				          '<option value="vd1p">vd1p</option><option value="vd1i">vd1i</option>' +
				          '<option value="vd2p">vd2p</option><option value="vd2i">vd2i</option>' + 
				          '<option value="vd3p">vd3p</option><option value="vd3i">vd3i</option>' +
				          '<option value="vd4p">vd4p</option><option value="vd4i">vd4i</option>';
			}
			select += '</select>';
		//}
		var contenu = select + '<input type="button" value="Mod" onclick="_PUM_.selection({pub_id: \'' +
					  pub_id + '\',element: \'loc\'});" ' + d + ' title="Modifier la position" /> '+
					  '<input type="button" value="Cpt" onclick="_PUM_.selection({pub_id: \'' +
					  pub_id + '\',completer: true,element: \'loc\'});" title="Compléter la publicité pour les autres départements" /> '+
					  '<input type="button" value="' + texte.substring(0,3) + '" onclick="_PUM_.selection({pub_id: \'' + pub_id +
					  '\',validite: \'' + texte + '\'});" title="' + texte + '" />' +
		              '&nbsp;&nbsp;&nbsp;<input type="button" value="Fermer"' +
		              ' onclick="_I_B_.close();" />';
		$('action').update(contenu);
		$('loc').value = loc;
	},
	
	ajusteResultat:function(id,nom,prenom,code,pointSave,point){
		
		var yrun = (code == 0) ? 0 : code.substr(4);
		var contenu = '<table><tr><td>YRUN</td><td><input type="text" id="IByrun" value="' + yrun + '" /></td>' + 
		              '<tr><td>Nom</td><td><input type="text" id="IBnom" value="' + nom + '" /></td></tr>' +
		              '<tr><td>Prénom</td><td><input type="text" id="IBprenom" value="' + prenom + '" /></td></tr>' + 
		              '<tr><td>Point ('+pointSave+')</td><td><input type="text" id="IBpoint" value="' + 
		              point + '" /></table><br />';
		
		contenu += '<input type="button" value="Valider" onclick="_D_.valideAjustement(' + id + ');" /> ';
		
		contenu += '<input type="button" value="Fermer" onclick="_I_B_.close();" />';
		
		
		var obj = {'element':'fermer','title': 'Modifier le résultat','body': contenu};
		this.open(obj);
		this.etat = true;
	},
	
	ajouteCoureur: function(id,edition,lsr){
		
		var contenu = '<table><tr><td>YRUN</td><td><input type="text" id="IByrun" value="" /></td>' + 
		              '<tr><td>Nom</td><td><input type="text" id="IBnom" value="" /></td></tr>' +
		              '<tr><td>Prénom</td><td><input type="text" id="IBprenom" value="" /></td></tr>' + 
		              '<tr><td>Point</td><td><input type="text" id="IBpoint" value="" /></table><br />';
		
		contenu += '<input type="button" value="Valider" onclick="_D_.ajouteCoureur(' + id + ',' + edition + 
		           ',' + lsr + ');" /> ';
		
		contenu += '<input type="button" value="Fermer" onclick="_I_B_.close();" />';
		
		
		var obj = {'element':'ajouter','title': 'Ajouter un résultat','body': contenu};
		this.open(obj);
		this.etat = true;
	},
	
	showCaisse: function(el,mode,num,montant,id){
		this.open({element:el,title: 'Moyen de paiement',body: '<span id="action"></span>'});
		this.etat = true;
		var listeMode = new Array('cheque','espece','autre');
		select = '<select id="mode">';
		for(var i=0;i<3;i++){
			select += '<option value="' + listeMode[i] + '"';
			if (listeMode[i] == mode) select += ' selected=selected ';
			select += '>' + listeMode[i] + '</option>';
		}
		select += '</select>';
		var contenu = select + '<br />Numéro chèque <input type="text" id="num" /><br />' +
		'Montant reçu <input type="text" id="montant" /><br /><input type="button" value="Valider" ' +
		'onclick="_INS_.valider(new Array({c:\'k\',v:\''+id+'\'},{c:\'mode\',v:$F(\'mode\')},{c:\'numero_cheque\',v:$F(\'num\')},' +
		'{c:\'montant_recu\',v:$F(\'montant\')}))" />' +
		'&nbsp;&nbsp;<input type="button" value="Fermer" onclick="_I_B_.close();" />';
		
		var topIB = parseInt($('IB_container').style.top) - 80;
		$('IB_container').setStyle({top: topIB + 'px'});
		$('action').update(contenu);
		var maj = function(){$('montant').value = montant;$('num').value=num;};
		maj.delay(0.1);
	},
	
	showDroits: function(el,obj){
		
		this.open({element:el,title: 'Gestion des droits',body: '<span id="action" height="120"></span>'});
		this.etat = true;
		var listeMode = new Array('organisateur','societe','association','news','entraineur','parcours');
		check = '';
		for(var i=0;i<6;i++){
			check += '<input type="checkbox" id="' + listeMode[i] + '"';
			if (obj[listeMode[i]] == '1') check += ' checked=checked ';
			check += ' />' + listeMode[i] + '<br />';
		}
		
		var listeStatut = new Array('valide','non_valide','banni');
		select = '<table><tr><td>Statut général </td><td><select id="statut">';
		for(i=0;i<3;i++){
			select += '<option value="' + listeStatut[i] + '"';
			if (listeStatut[i] == obj.statut) select += ' selected=selected ';
			select += '>' + listeStatut[i] + '</option>';
		}
		select += '</select></td></tr>';
		var listeForum = new Array('valide','banni');
		select2 = '<tr><td>Forum </td><td><select id="statut_forum">';
		for(i=0;i<2;i++){
			select2 += '<option value="' + listeForum[i] + '"';
			if (listeForum[i] == obj.forum) select2 += ' selected=selected ';
			select2 += '>' + listeForum[i] + '</option>';
		}
		select2 += '</select></td></tr></table>';
		
		var btnValide = '<input type="button" value="Valider" onclick="_D_.valider(' + (el.id).substr(1) + ');" />';
		
		var btnFermer = '<input type="button" value="Fermer" onclick="_I_B_.close();" />';
		
		/*
		var contenu = select + '<br />Numéro chèque <input type="text" id="num" /><br />' +
		'Montant reçu <input type="text" id="montant" /><br /><input type="button" value="Valider" ' +
		'onclick="_INS_.valider(new Array({c:\'k\',v:\''+id+'\'},{c:\'mode\',v:$F(\'mode\')},{c:\'numero_cheque\',v:$F(\'num\')},' +
		'{c:\'montant_recu\',v:$F(\'montant\')}))" />' +
		'&nbsp;&nbsp;<input type="button" value="Fermer" onclick="_I_B_.close();" />';
		*/
		var topIB = parseInt($('IB_container').style.top) - 150;
		$('IB_container').setStyle({top: topIB + 'px'});
		$('action').update(check +  select + '<br />' + select2 + '<br />' +  btnValide + '&nbsp;&nbsp;' + btnFermer);
		//var maj = function(){$('montant').value = montant;$('num').value=num;};
		//maj.delay(0.1);
	},
	
	position: function (element) {
		var el = $(element);
		var X = 0;
		var Y = 0;
		if (el.offsetParent) {
			X = el.offsetLeft
			Y = el.offsetTop
			while (el = el.offsetParent) {
				X += el.offsetLeft
				Y += el.offsetTop
			}
		}
		return [X,Y];
	}
	
	
});
