var my = {
	/**
   * Compteur de nombre de caractere dans un element text
   * @param: object el_txt, element textarea
   * @param: object el_cpt, element input text permetant d'afficher le nombre compté
   * @param: object options : 
   *   options.max (int), limite factis permettant d'envoyer 
   *     le signal Window:disable si elle est franchit
   *   options.styleKO (object), style css à appliquer à el_txt 
   *     si la limite est franchit.
   *   options.min (int), limite factis permettant d'envoyer 
   *     le signal Window:enable une fois celle-ci franchit
   *   options.styleOk (object), style css à appliquer à el_txt
   *     si la limite est franchit.
   */
	compteur: function (el_txt, el_cpt, options) {
		options          = options || {}
		options.begin_ok = options.begin_ok || true;
		
		if (el_txt && el_cpt) {
			evaluate = function (value) {
				if ((options.min && options.min > value) ||
						(options.max && options.max < value)){
					el_cpt.setStyle (options.koStyles || {borderColor: 'red'});
					if (options.begin_ok) {
						document.fire ('Window:disable', {type: 'response'});
						options.begin_ok = !options.begin_ok;
					}
				}
				else
					if (options.min || options.max) {
						el_cpt.setStyle (options.okStyles || {borderColor: 'blue'});
						if (!options.begin_ok) {
							document.fire ('Window:enable', {type: 'response'});
							options.begin_ok = !options.begin_ok;
						}
					}
				el_cpt.value = value;
			}
			
			evaluate (el_txt.getValue ().length);
			new Form.Element.Observer (el_txt, 0.2, function (el, value) {
				evaluate (value.length);
			});
		}
	},


	/**
   * Ajoute contact_id à la session courante
   */
	add_contact: function (contact_id) {
		fiche_id = contact_id || null;
		
		if (contact_id)
			my.Wnd ().openWindow ('?action=wnd_contact', {id:contact_id});		
	},
	
	/**
   * Envoi un message interne à fiche_id
   */
	send_message: function (fiche_id) {
		fiche_id = fiche_id || null;
		
		if (fiche_id)
			my.Wnd ().openWindow ('?action=wnd_message', {id:fiche_id});
	},

	/**
   * Retourne une seule instance de Window
   */
	Wnd: function ()
	{
		if (typeof (Wnd) == 'undefined')
			Wnd = new Window;

		return Wnd;
	}
}