var validator;

// upload de fichiers
function openUpload( callback ) {
	openPopup( baseURL + '/utils/index/openupload/z/' + Math.random(), {
	                                modal     : true,
	                                draggable : true,
									stack     : true,
									width     : 410,
									ocallback : function(event, ui) {
													initUpload( callback );
									            }
								   } );
}
function initUpload( callback ) {
	                 $('#fileInput').uploadify( {
							                     'uploader'       : appURL + swfURL + 'uploadify.swf',
							                     'script'         : baseURL + '/utils/index/upload',
							                     'cancelImg'      : appURL + imgURL + 'admin/icons/cancel.png',
							                     'folder'         : appURL + userURL + 'tmp',
							                     'buttonText'     : 'choisir un fichier',
							                     'multi'          : false,
							                     'auto'           : true,
							                     'sizeLimit'      : 21000000,
							                     'onError'        : function (event, queueID ,fileObj, errorObj) {
											                          var msg;
												                      if (errorObj.status == 404)
												                        msg = 'script de chargement introuvable.';
												                      else if (errorObj.type === 'HTTP')
												                        msg = errorObj.type+': '+errorObj.status;
												                      else if (errorObj.type === 'File Size')
												                        msg = fileObj.name+'<br>'+errorObj.type+' Limit: '+Math.round(errorObj.sizeLimit/1024)+'KB';
												                      else
												                        msg = errorObj.type+': '+errorObj.text;
												                      alert(msg);
											                          return false;
											                        },
							                     'onComplete'     : function (event, queueID , fileObj, response, data) {
												                      //if (response != '') {
																	  //	alert( 'fichier ' + fileObj.name + ' : ' + response);
																	  //} else {
												                        callback.call( this, fileObj, data.fileCount );
												                        if (data.fileCount == 0) {
																		  closePopup();
																		}
																	  //}
											                        }
						                        } );
					 $('#btn_upload').bind( 'click', function() {
					                                   $('#fileInput').uploadifyUpload();
					                                 } );
					 $('#btn_clear').bind( 'click', function() {
					                                  $('#fileInput').uploadifyClearQueue();
					                                } );
}
// FIN upload de fichiers

// désignation vidéo youtube
function openVideo( callback, vtype ) {
	openPopup( baseURL + '/utils/index/openvideo/vtype/' + vtype + '/z/' + Math.random(), {
	                                modal     : true,
	                                draggable : true,
									stack     : true,
									width     : 410,
									ocallback : function(event, ui) {
									              initVideo( callback );
									            }
								   } );
}
function initVideo( callback, vtype ) {
	$('#btn_upload').bind( 'click', function() { callback.call(); } );
}
// FIN désignation vidéo youtube

// chargement du player vidéo YouTube
function loadYouTube( videoID ) {
    var params  = { allowScriptAccess: "always" }; // persmission d'acces d'un autre domaine
    var atts    = { id: "ytPlayer", wmode:"transparent" };  // attributs du player
	// embed avec swf object
    swfobject.embedSWF( "http://www.youtube.com/v/" + videoID + "&enablejsapi=1&playerapiid=player1",
		                "videoDiv", //id de l'élément contenant le player
		                700, //largeur du player
		                340, //hauteur du player
		                "8", 
						null, 
						null, 
						params, 
						atts ); 
}
// FIN chargement du player video YouTube
// chargement du player vidéo Vimeo
function loadVimeo( videoURL ) {
	//$(document).append( '<script type="text/javascript" src="http://www.vimeo.com/api/oembed.json?url=' + encodeURIComponent(videoURL) + '&callback=embedVimeo&width=700" ></script>' );
	$(document).append( '<script type="text/javascript" src="http://www.vimeo.com/api/oembed.json?url=' + videoURL + '&callback=embedVimeo&width=700" ></script>' );
}
function embedVimeo( video ) {
    $('#videoDiv').html( unescape(video.html) );
	$('#lauteur').val( video.author_name );
	$('#lsource').val( video.provider_name );
	$('#lcopy').val( video.author_name );
}
// FIN chargement du player video Vimeo
// chargement du player vidéo Dailymotion
function loadDailymotion( videoID ) {
    var params  = { allowScriptAccess: "always" }; // persmission d'acces d'un autre domaine
    var atts    = { id: "dmPlayer", wmode:"transparent" };  // attributs du player
	// embed avec swf object
    swfobject.embedSWF( "http://www.dailymotion.com/swf/" + videoID + "&enableApi=1&playerapiid=dmplayer",
		                "videoDiv", //id de l'élément contenant le player
		                700, //largeur du player
		                340, //hauteur du player
		                "9", 
						null, 
						null, 
						params, 
						atts ); 
}
// FIN chargement du player video YouTube

// vérification identification si nécessaire
function canDo( context, role ) {
	if ( parseInt( $('#user').val() ) ) {
		var urole = $('#role').val();
		if( (urole > 0) && (urole <= role) ) {
			eval( context );
		} else {
			alert("Vous n'avez pas les autorisations nécessaires pour cette opération.");
		}
	} else {
		openCompte( context, role );
	}
}
function openCompte( context, role ) {
	openPopup( baseURL + '/enregistres/index/index/context/' + escape(context) + '/role/' + role + '/z/' + Math.random(), {
	                                title     : 'IDENTIFIEZ-VOUS',
	                                modal     : true,
	                                draggable : true,
									stack     : true,
									width     : 780
								   } );
}

// identification
function doIdent( context, role ) {
	var datas = '';
	datas    += 'username=' + $('.ident[value!=""]').val();
	datas    += '&password=' + $('.password[value!=""]').val();
	datas    += '&context=' + context;
	datas    += '&role=' + role;
	datas    += '&z=' + Math.random();
	
	obtenirAsync( baseURL + '/enregistres/index/login', datas, _doIdent, 'POST', 'text json');
}
function _doIdent( json ) {
	switch( json.err ) {
		case 0:
			initUser( json );
		
			if (nbPopup) {
				closePopup();
			}
		
			if (json.context) {
				eval( json.context );
			}
			break;
		case 1:
		case 2:
			tipMessage( '#frm-openCompte #btn-valider', json.msg, 'ui-tooltip-red', 'top center', 'bottom right', 70, 'click' );
			break;
		case 3:
			initUser( json );

			tipMessage( '#frm-openCompte #btn-valider', json.msg, 'ui-tooltip-red', 'top center', 'bottom right', 70, 'click' );
			break;
		default:
			break;
	}
}
function initUser( user ) {
	$('#user').val( user.id );
	$('#role').val( user.role );
	$('#unom').val( user.nom );
}
// FIN identification

// création d'un compte
function initFrmCompte() {
    var theForm = $('#frm-compte');
	validator   = theForm.validate( {
	                                 errorClass     : "error",
									 onkeyup        : false,
									 validClass     : 'valid',
									 rules          : {
                                                       frmCompte_civilite         : { required: true },
                                                       frmCompte_prenom           : { required: true },
													   frmCompte_nom              : { required: true },
                                                       frmCompte_cp               : { required: true },
                                                       frmCompte_ville            : { required: true },
                                                       frmCompte_email            : { required: true, email: true },
                                                       frmCompte_login            : { required: true, minlength: 5 },
                                                       frmCompte_passwd           : { required: true, minlength: 8 },
                                                       frmCompte_confirm_passwd   : { required: true, equalTo: '#frmCompte_passwd' },
													   frmCompte_entreprise_nom   : { required: '#frmCompte_pro:checked' },
													   frmCompte_entreprise_cp    : { required: '#frmCompte_pro:checked' },
													   frmCompte_entreprise_ville : { required: '#frmCompte_pro:checked' },
													   frmCompte_club_nom         : { required: '#frmCompte_club:checked' },
													   frmCompte_club_cp          : { required: '#frmCompte_club:checked' },
													   frmCompte_club_ville       : { required: '#frmCompte_club:checked' }
                                                      },
									 messages       : {
									                   frmCompte_civilite         : { required: 'Indiquez votre civility&eacute;.' },
													   frmCompte_prenom           : { required: 'Saisissez votre pr&eacute;nom.' },
													   frmCompte_nom              : { required: 'Saisissez votre nom.' },
													   frmCompte_cp               : { required: 'Saisissez votre code postal.' },
													   frmCompte_ville            : { required: 'Saisissez votre ville.' },
													   frmCompte_email            : { required: 'Saisissez votre adresse email.', email: 'ce n\'est pas une adresse email valide.' },
													   frmCompte_login            : { required: 'Choisissez un identifiant (5 caract&egrave;res minimum)', minlength: 'Votre indentifiant doit avoir au moins 5 caract&egrave;res.' },
													   frmCompte_passwd           : { required: 'Choisissez un mot de passe (8 caract&egrave;res minimum)', minlength: 'Votre mot de passe doit avoir au moins 8 caract&egrave;res.'  },
													   frmCompte_confirm_passwd   : { required: 'R&eacute;p&eacute;tez le mot de passe pour confirmation', equalTo: 'Vous n\'avez pas saisi 2 fois le m&ecirc;me mot de passe.' },
													   frmCompte_entreprise_nom   : { required: 'Saisissez le nom de votre entreprise.' },
													   frmCompte_entreprise_cp    : { required: 'Saisissez le code postal de votre entreprise.' },
													   frmCompte_entreprise_ville : { required: 'Saisissez la ville de votre entreprise.' },
													   frmCompte_club_nom         : { required: 'Saisissez le nom de votre club.' },
													   frmCompte_club_cp          : { required: 'Saisissez le code postal de votre club.' },
													   frmCompte_club_ville       : { required: 'Saisissez la ville de votre club.' }
									                  },
									 success        : function(error) {
                                                        setTimeout( function() {
                                                                      theForm.find('.valid').qtip('destroy');
                                                                    }, 1);
                                                      },
									 errorPlacement : function(error, element) {
									                    var $element = $(element);
 
                                                        // Apply the tooltip only if it isn't valid
                                                        $(element).filter(':not(.valid)').qtip( {
                                                                                                 overwrite : false,
                                                                                                 content   : error,
                                                                                                 position  : {
																								              my : $element.attr('posmy'),
																											  at : $element.attr('posat')
																								             },
                                                                                                 show      : {
                                                                                                              event : false,
                                                                                                              ready : true
                                                                                                             },
                                                                                                 hide      : false,
                                                                                                 style     : {
                                                                                                              classes: 'ui-tooltip-red ui-tooltip-rounded ui-tooltip-shadow'
                                                                                                             }
                                                                                                } );
                                                      }
	                                } );
}

function openCreerCompte( context, role ) {
	if ( $('#frm-openCompte').length ) {
		swapPopup( baseURL + '/enregistres/compte/addcompte/context/' + context + '/role/' + role + '/nolayout/1/z/' + Math.random(), initFrmCompte );
	} else {
		openPopup( baseURL + '/enregistres/compte/addcompte/context/' + context + '/role/' + role + '/nolayout/1/z/' + Math.random(), { 
										title     : 'CR&Eacute;ER UN COMPTE',
										stack     : true,
										width     : 780,
										ocallback : initFrmCompte
									   } );
	}
}
//  ... bascule entreprise/club
function swap_inscript( couche ) {
    if ( couche == 'pro' ) {
		$('#frmCompte_club').get(0).checked = false;
		$('#layer_club').find('.error').removeClass('error').qtip('destroy');
		$('#layer_club').css( 'display', 'none' );
		if(	$('#frmCompte_pro').get(0).checked ) {
			$('#layer_pro').css( 'display', 'block' );
		} else {
			$('#layer_pro').find('.error').removeClass('error').qtip('destroy');
			$('#layer_pro').css( 'display', 'none' );
		}
	} else {
		$('#frmCompte_pro').get(0).checked = false;
		$('#layer_pro').find('.error').removeClass('error').qtip('destroy');
		$('#layer_pro').css( 'display', 'none' );
		if( $('#frmCompte_club').get(0).checked ) { 
			$('#layer_club').css( 'display', 'block' );
		} else {
			$('#layer_club').find('.error').removeClass('error').qtip('destroy');
			$('#layer_club').css( 'display', 'none' );
		}
	}
}

//  ... validation du formulaire de création d'un compte
function goConditCompte() {
	if( validator.form() ) {
		var datas = '';
		datas    += 'role=' + $('.frmCompte_role:checked').val();
		datas    += '&civilite=' + $('#frmCompte_civilite').val();
		datas    += '&nom=' + $('#frmCompte_nom').val();
		datas    += '&prenom=' + $('#frmCompte_prenom').val();
		datas    += '&adresse=' + $('#frmCompte_adresse').val();
		datas    += '&cp=' + $('#frmCompte_cp').val();
		datas    += '&ville=' + $('#frmCompte_ville').val();
		datas    += '&tel=' + $('#frmCompte_tel').val();
		datas    += '&portable=' + $('#frmCompte_portable').val();
		datas    += '&email=' + $('#frmCompte_email').val();
		datas    += '&login=' + $('#frmCompte_login').val();
		datas    += '&password=' + $('#frmCompte_passwd').val();
		datas    += '&context=' + $('#frmCompte_context').val();
		if( $('#frmCompte_pro').get(0).checked ) {
			datas += '&comp=pro';
			tmpdatas  = '<comp>';
			tmpdatas += '<nom><![CDATA[' + $('#frmCompte_entreprise_nom').val() + ']]></nom>';
			tmpdatas += '<adresse><![CDATA[' + $('#frmCompte_entreprise_adresse').val() + ']]></adresse>';
			tmpdatas += '<cp><![CDATA[' + $('#frmCompte_entreprise_cp').val() + ']]></cp>';
			tmpdatas += '<ville><![CDATA[' + $('#frmCompte_entreprise_ville').val() + ']]></ville>';
			tmpdatas += '<tel><![CDATA[' + $('#frmCompte_entreprise_tel').val() + ']]></tel>';
			tmpdatas += '<fax><![CDATA[' + $('#frmCompte_entreprise_fax').val() + ']]></fax>';
			tmpdatas += '<email><![CDATA[' + $('#frmCompte_entreprise_email').val() + ']]></email>';
			tmpdatas += '<activite><![CDATA[' + $('#frmCompte_entreprise_activite').val() + ']]></activite>';
			tmpdatas += '<fonction><![CDATA[' + $('#frmCompte_entreprise_fonction').val() + ']]></fonction>';
			tmpdatas += '</comp>';
			datas += '&compdatas=' + tmpdatas;
		}
		if( $('#frmCompte_club').get(0).checked ) {
			datas += '&comp=club';
			tmpdatas  = '<comp>';
			tmpdatas += '<nom><![CDATA[' + $('#frmCompte_club_nom').val() + ']]></nom>';
			tmpdatas += '<adresse><![CDATA[' + $('#frmCompte_club_adresse').val() + ']]></adrese>';
			tmpdatas += '<cp><![CDATA[' + $('#frmCompte_club_cp').val() + ']]></cp>';
			tmpdatas += '<ville><![CDATA[' + $('#frmCompte_club_ville').val() + ']]></ville>';
			tmpdatas += '<tel><![CDATA[' + $('#frmCompte_club_tel').val() + ']]></tel>';
			tmpdatas += '<fax><![CDATA[' + $('#frmCompte_club_fax').val() + ']]></fax>';
			tmpdatas += '<email><![CDATA[' + $('#frmCompte_club_email').val() + ']]></email>';
			tmpdatas += '<marque><![CDATA[' + $('#frmCompte_club_marque').val() + ']]></marque>';
			tmpdatas += '<modele><![CDATA[' + $('#frmCompte_club_modele').val() + ']]></modele>';
			tmpdatas += '<autre><![CDATA[' + $('#frmCompte_club_autre').val() + ']]></autre>';
			tmpdatas += '</comp>';
			datas += '&compdatas=' + tmpdatas;
		}
		datas    += '&z=' + Math.random();
	
		obtenirAsync( baseURL + '/enregistres/compte/docreercompte', datas, _doCreerCompte, 'POST', 'text json');
	}
}
function _doCreerCompte( json ) {
	switch(json.err) {
		case 0:
			swapPopup( baseURL + '/enregistres/compte/conditcompte/user/' + json.id + '/z/' + Math.random() );
			break;
		case 1:
			tipMessage( '#frm-compte #frmCompte_email', json.msg, 'ui-tooltip-red', 'top right', 'bottom left', 70, 'blur' );
			break;
		case 2:
			tipMessage( '#frm-compte #frmCompte_login', json.msg, 'ui-tooltip-red', 'top center', 'bottom center', 70, 'blur' );
			break;
		case 3:
			tipMessage( '#frm-compte #frmCompte_passwd', json.msg, 'ui-tooltip-red', 'top center', 'bottom center', 70, 'blur' );
			break;
		default:
			break;
	}
}
//  ... acceptation des conditions générales
function goValidCompte() {
	if( $('#creerCompte-accepter').get(0).checked ) {
		swapPopup( baseURL + '/enregistres/compte/validcompte/user/' + $('#creerCompte_user').val() + '/z/' + Math.random(), _waitValidCompte );
	} else {
		tipMessage( '#frm-creerCompte #creerCompte-accepter', 'Vous devez accepter les conditions g&eacute;n&eacute;rales d\'utilisation.', 'ui-tooltip-red', 'left center', 'right center', 60, 'click' );
	}
}
//  ... attente de la confirmation par email
function _waitValidCompte() {
	obtenirAsync( baseURL + '/enregistres/compte/isvalidcompte', 'user='+$('#creerCompte_user').val() + '&z=' + Math.random(), __waitValidCompte, 'POST', 'text json');
}
function __waitValidCompte( json ) {
	if( json.isvalid != 0 ) {
		swapPopup( baseURL + '/enregistres/compte/comptevalidated/user/' + $('#creerCompte_user').val() + '/active/' + json.isvalid + '/z/' + Math.random(), _doValidCompte );
	} else {
		setTimeout( "_waitValidCompte()", 3000);
	}
}
//  ... compte validé, on continue
function _doValidCompte() {
	if( parseInt( $('#creerCompte_isOK').val() ) ) {
		user = { "err" : 0, "id" : $('#creerCompte_id').val(), "msg" : "", "nom" : $('#creerCompte_nom').val(), "role" : $('#creerCompte_role').val(), "context" : "" };
		initUser( user );
	
		setTimeout( "finCreerCompte()", 10000 );
	}
}
function finCreerCompte() {
	var context = $('#creerCompte_context').val();
	if( context ) {
        closePopup();
        eval( context );
	}
}
//  ... FIN validation du formulaire de création d'un compte

// accès compte
function accesCompte() {
	document.location.href = baseURL + '/enregistres/gestion';
}
// FIN accès compte

// déconnexion
function deconnexion() {
	obtenirAsync( baseURL + '/enregistres/index/logout', null, _doDeconnexion, 'POST', 'text json');
}
function _doDeconnexion( json ) {
	if (!json.err) {
		resetUser();
	} else {
	    tipMessage( '#cadre-bienvenu a', 'Echec de la d&eacute;connexion.', 'ui-tooltip-red', 'bottom left', 'top right', 50 );
	}
}

function resetUser() {
	$('#user').val( 0 );
	$('#role').val( 0 );
	$('#cadre-bienvenue p span').html( '' );
	toggleBienvenue();
}
// FIN déconnexion

// formulaire conseiller à un ami
function conseiller() {
	openPopup( baseURL + '/utils/index/conseiller/z/' + Math.random(), { 
										title     : 'CONSEILLER &Agrave; UN AMI',
										stack     : true,
										width     : 460,
										ocallback : initFrmConseiller
									   } );
}
function initFrmConseiller() {
    var theForm = $('#frm-conseiller');
	validator   = theForm.validate( {
	                                 errorClass     : "error",
									 onkeyup        : false,
									 validClass     : 'valid',
									 rules          : {
                                                       to_nom      : { required: true },
                                                       to_prenom   : { required: true },
                                                       to_email    : { required: true, email: true },
                                                       from_nom    : { required: true },
                                                       from_prenom : { required: true },
                                                       from_email  : { required: true, email: true }
                                                      },
									 messages       : {
													   to_nom      : { required: 'Saisissez le nom de votre ami.' },
													   to_prenom   : { required: 'Saisissez le pr&eacute;nom de votre ami.' },
													   to_email    : { required: 'Saisissez l\'adresse email de votre ami.', email: 'ce n\'est pas une adresse email valide.' },
													   from_nom    : { required: 'Saisissez votre nom.' },
													   from_prenom : { required: 'Saisissez votre pr&eacute;nom.' },
													   from_email  : { required: 'Saisissez votre adresse email.', email: 'ce n\'est pas une adresse email valide.' }
									                  },
									 success        : function(error) {
                                                        setTimeout( function() {
                                                                      theForm.find('.valid').qtip('destroy');
                                                                    }, 1);
                                                      },
									 errorPlacement : function(error, element) {
									                    var $element = $(element);
 
                                                        // Apply the tooltip only if it isn't valid
                                                        $(element).filter(':not(.valid)').qtip( {
                                                                                                 overwrite : false,
                                                                                                 content   : error,
                                                                                                 position  : {
																								              my : $element.attr('posmy'),
																											  at : $element.attr('posat')
																								             },
                                                                                                 show      : {
                                                                                                              event : false,
                                                                                                              ready : true
                                                                                                             },
                                                                                                 hide      : false,
                                                                                                 style     : {
                                                                                                              classes: 'ui-tooltip-red ui-tooltip-rounded ui-tooltip-shadow'
                                                                                                             }
                                                                                                } );
                                                      }
	                                } );
}
function doConseiller() {
	if( validator.form() ) {
		var datas = '';
		datas    += 'to_nom=' + $('#frm-conseiller #to-nom').val();
		datas    += '&to_prenom=' + $('#frm-conseiller #to-prenom').val();
		datas    += '&to_email=' + $('#frm-conseiller #to-email').val();
		datas    += '&from_nom=' + $('#frm-conseiller #from-nom').val();
		datas    += '&from_prenom=' + $('#frm-conseiller #from-prenom').val();
		datas    += '&from_email=' + $('#frm-conseiller #from-email').val();
		datas    += '&message=' + $('#frm-conseiller #message').val();
		datas    += '&z=' + Math.random();
	
		obtenirAsync( baseURL + '/utils/index/doconseiller', datas, _doConseiller, 'POST', 'text json');
	}
}
function _doConseiller( json ) {
	switch(json.err) {
		case 0:
			tipMessage( '#frm-conseiller #btn-envoyer', json.msg, 'ui-tooltip-green', 'top center', 'bottom left', 70, 'blur' );
			break;
		case 1:
			tipMessage( '#frm-conseiller #btn-envoyer', json.msg, 'ui-tooltip-red', 'top center', 'bottom left', 70, 'blur' );
			break;
		default:
			break;
	}
}
// FIN conseiller à un ami

// gestion générale fenêtres popup
var nbPopup = 0;
function openPopup( url, params ) {
	// lecture des arguments
	if( typeof(params) == 'string' ) {
		var properties = {
		                  'title'     : params,
						  'width'     : 500,
						  'height'    : 'auto',
						  'stack'     : true,
						  'resizable' : false,
						  'callback'  : null,
						  'args'      : null,
						  'ocallback' : null,
						  'oargs'     : null
		                 };
	} else {
		var properties = $.extend( {
		                            'title'     : '',
						            'width'     : 500,
									'height'    : 'auto',
						            'stack'     : true,
									'resizable' : false,
						            'callback'  : null,
									'args'      : null,
									'ocallback' : null,
									'oargs'     : null
		                           }, params || {} );
	}
	// ouverture popup
	nbPopup++;
	$('body').append('<div id="popup-'+nbPopup+'"></div>');
	$("#popup-"+nbPopup).load( url, function() {
	                                  displayPopup( 'popup-' + nbPopup, {
									                                     title     : properties.title,
																		 width     : properties.width,
																		 height    : properties.height,
																		 resizable : properties.resizable,
																		 open      : function( event, ui ) {
																					   isPopOpened( { 'callback' : properties.ocallback, 'args' : properties.oargs } );
																		             },
																		 close     : function( event, ui ) {
																		               closePopup( { 'callback' : properties.callback, 'args' : properties.args } );
																		             },
									                                     show      : "scale",
									                                     hide      : "scale",
										                                 stack     : properties.stack
                                                                        } );
	                                } );
}
function openAlert( params ) {
	// lecture des arguments
	if( typeof(params) == 'string' ) {
		var properties = {
		                  'msg'       : params,
						  'width'     : 200,
						  'resizable' : true,
						  'ocallback' : null,
						  'oargs'     : null,
						  'callback'  : null,
						  'args'      : null,
						  'stack'     : true,
						  'tempo'     : 0
						 };
	} else {
		var properties = $.extend( {
		                            'msg'       : '',
									'width'     : 200,
						            'resizable' : true,
						            'ocallback' : null,
						            'oargs'     : null,
									'callback'  : null,
									'args'      : null,
								    'stack'     : true,
									'tempo'     : 0
								   }, params || {} );
	}
	// affichage popup alerte
	nbPopup++;
	$('body').append('<div id="popup-'+nbPopup+'" class="alerte"></div>');
	$('#popup-'+nbPopup).html( properties.msg );
	if( properties.tempo ) {
		displayPopup('popup-'+nbPopup, {
									    width     : properties.width,
										resizable : properties.resizable,
									    buttons   : [
                                                     {
                                                      text  : "Ok",
                                                      click : function() { 
										                        closePopup( { 'callback' : properties.callback, 'args' : properties.args } );
										                      }
                                                     }
											        ],
									    open      : function(event, ui) {
										              isPopOpened( { 'callback' : properties.ocallback, 'args' : properties.oargs } );
									                  setTimeout( function() {
									                                closePopup( { 'callback' : properties.callback, 'args' : properties.args } );
														          }, properties.tempo );
									                },
									    close     : function(event, ui) {
									                  closePopup( { 'callback' : properties.callback, 'args' : properties.args } );
										            },
									    show      : "scale",
									    hide      : "scale",
										stack     : properties.stack
								       } );
	} else {
		displayPopup('popup-'+nbPopup, {
									    width     : properties.width,
										resizable : properties.resizable,
									    buttons   : [
                                                     {
                                                      text  : "Ok",
                                                      click : function() { 
										                        closePopup( { 'callback' : properties.callback, 'args' : properties.args } );
												              }
                                                     }
										            ],
									    open      : function(event, ui) {
										              isPopOpened( { 'callback' : properties.ocallback, 'args' : properties.oargs } );
									                },
									    close     : function(event, ui) {
									                  closePopup( { 'callback' : properties.callback, 'args' : promperties.args } );
										            },
									    show      : "scale",
									    hide      : "scale",
										stack     : properties.stack
								       } );
	}
}
function displayPopup( pop, params ) {
	var options =  $.extend( {
	                          autoOpen      : false,
							  closeOnEscape : true,
							  draggable     : true,
							  modal         : true,
						      stack         : true,
							  title         : '',
							  width         : 640,
							  open          : isPopOpened,
							  close         : closePopup,
							  dialogClass   : 'site-dialog'
	                         }, params || {} );
	$('#' + pop).dialog( options );
	setTimeout( function() {
                  $('#' + pop).dialog('open');
                }, 1);
}
function isPopOpened( params ) {
	// lecture des arguments
	if( typeof(params) == 'string' ) {
		var properties = {
						  'callback' : params,
						  'args'     : null
					     };
	} else {
		var properties = $.extend( {
								    'callback' : null,
									'args'     : null
							       }, params || {} );
	}
	if( properties.callback ) {
		if( $.isFunction(properties.callback) ) {
			properties.callback.call( this, properties.args );
		} else {
			eval(properties.callback + '(' + properties.args + ')'); 
		}
	}
}
function closePopup( params ) {
	// lecture des arguments
	if( typeof(params) == 'string' ) {
		var properties = {
						  'callback' : params,
						  'args'     : null
					     };
	} else {
		var properties = $.extend( {
								    'callback' : null,
									'args'     : null
							       }, params || {} );
	}

	$('#popup-'+nbPopup).dialog('destroy');
	$('#popup-'+nbPopup).remove();
	nbPopup--;
	if( properties.callback ) { 
		if( $.isFunction(properties.callback) ) {
			properties.callback.call( properties.args );
		} else {
			eval(properties.callback + '(' + properties.args + ')');
		}
	}
}
function swapPopup( url, callback ) {
	$("#popup-"+nbPopup).load( url, function() {
	                                  if(callback) {
	                                    callback();
									  }
                                    } );
}

function initPopup() {
	if( $('#popup-'+nbPopup+' ').length ) {
	}
}
// FIN gestion générale des fenêtres popup

// recherche rapide
function analyseRecherche() { // analyse de la chaîne saisie et création du motif
	if( $('#rech-messages').length ) {
		$('#input-motscles').qtip( 'destroy' );
	}
	var datas = '';
	datas    += 'quoi=' + $('#input-motscles').val();
	datas    += '&z=' + Math.random();
	
	obtenirAsync( baseURL + '/utils/recherche/analyse', datas, _doAnalyseRecherche, 'POST', 'text json');
}
function _doAnalyseRecherche( json ) {
	if( json.err == 1 ) {
		$('#input-motscles').qtip( {
		                            overwrite : false,
									content   : '<ul style="margin-left: 15px;" id="rech-messages">' + json.message + '</ul>',
									position  : {
									             my : 'top left',
												 at : 'bottom center'
												},
									show      : {
                                                 event : false,
                                                 ready : true
                                                },
									hide      : false,
									style     : {
                                                 classes: 'ui-tooltip-red ui-tooltip-shadow ui-tooltip-rounded'
                                                }
								   } );
	} else { // recherche des sujets qui correspondent au motif
		$('#rech-requete').val( json.requete );
		$('#rech-message').val( json.message );
		
		var datas = '';
		datas    += 'rech_requete=' + escape(json.requete);
		datas    += '&z=' + Math.random();

		obtenirAsync( baseURL + '/motscles/index/getforrecherche', datas, _doGetMotsForRecherche, 'POST', 'text json');
	}
}
function _doGetMotsForRecherche( json ) { 
	/*
	if( json.length ) { // recherche des fiches liées aux sujets
		var datas = '';
		datas    += 'sujets=' + json.join(',')
		datas    += '&z=' + Math.random();
			
		obtenirAsync( baseURL + '/fiches/index/getfichesfromsujets', datas, _doGetFichesFromMots, 'POST', 'text json');
	} else {
		$('#rech-sujets').val( '' );
		doRecherche();
	}
	*/
	if( json.length ) {
		$('#rech-sujets').val( json.join(',') );
	} else {
		$('#rech-sujets').val( '' );
	}
	doRecherche();
}
/*
function _doGetFichesFromMots( json ) {		
	$('#rech-sujets').val( json.join(',') );
	doRecherche();
}
*/
function specialRecherche( requete ) {
	$('#rech-requete').val( requete );
	$('#rech-message').val( '' );
		
	doRecherche();
}
function doRecherche() { // recherche effective	
	$('#recherche form').get(0).submit();
}
// FIN recherche rapide

// accès sujet lié
function goSujet( sujet ) {
	$('#rech-requete').val( " ( ? LIKE '" + sujet + "' )" );
	$('#rech-message').val( '' );
	$('#input-motscles').val( sujet );
	$('#select-domaine').val( '' );
		
	var datas = '';
	datas    += 'rech_requete=' + escape($('#rech-requete').val());
	datas    += '&z=' + Math.random();

	obtenirAsync( baseURL + '/motscles/index/getforrecherche', datas, _doGetMotsForRecherche, 'POST', 'text json');
}
// FIN accès sujet lié

// gestion bouton retour
function retour() {
	history.go(-1);
}
// FIN gestion bouton retour
// gestion rafraichissement
function rafraichir() {
	window.location.reload();
}
// FIN gestion bouton retour

$(document).ready( function() {
				     $('#rech-button').bind( 'click', function() {
					                                    analyseRecherche();
													  } );
					 $('#btn-accescompte').bind( 'click', function() {
					                                        canDo( 'accesCompte()', 11 );
					                                      } );
					 $('#btn-creercompte').bind( 'click', function() {
					                                        openCreerCompte( 'accesCompte()', 11 );
					                                      } );
					 $('#btn-espacecompte').bind( 'click', function() {
					                                         canDo( 'accesCompte()', 11 );
					                                       } );
					 $('.btn-back').bind( 'click', function() {
					                                 retour();
					                               } );
                   } );

