/**
 * @file func.js
 * @brief Fonctions diverses.
 * @author Bertrand Usse
 *         Benjamin Debove
 * Copyright (c) 2005 SARL Eriidan
 * @date 2005-06-22
 */

/* require('md5.js'); */

/**
 * @fn chiffrer(src, dst)
 * @brief Chiffrement du mot de passe (hashage MD5).
 * @param src Contrôle source.
 * @param dst Contrôle destination.
 */ 
function chiffrer(src, dst)
{
	var cible = document.getElementById(dst);
	var source = document.getElementById(src);

	cible.value = calcMD5(source.value);
	source.value = "";

	//window.alert(cible.value);

	//return true;
}

/**
 * @brief Basculer l'affichage d'un élément 
 * DOM et placer le focus sur un autre élément.
 * @param fn Elément à basculer.
 * @param fc Elément à focaliser.
 * @param an Adresse à suivre.
 * @param fa Autre formulaire à changer.
 */
function basculer(fn, fc, an, fa)
{
	var ofn = document.getElementById(fn);
	var ofc = document.getElementById(fc);
	var ofa = document.getElementById(fa);
	var vs = 'none';

	if (ofn)
	{
		vs = (ofn.style.display == 'none')? 'block': 'none';
		ofn.style.display = vs;
	}
	
	if (vs != 'none')
	{
		window.open(an, '_self');
		
		if (ofc)
			ofc.focus();
	}
	
	if (ofa)
	{
		ofa.style.display = 'none';
	}
	
//	window.alert('debug');
}

function switch_display(s)
{
	return (s == 'none')? 'block': 'none';
}

function basculer_agence_ami(cote)
{
	var ofg = document.getElementById('form_agence');
	var ofm = document.getElementById('form_ami');
	var oog = document.getElementById('nom_prenom');
	var oom = document.getElementById('exp_nom');

	switch (cote)
	{
	case 1: // agence
		ofm.style.display = 'none';
		ofg.style.display = switch_display(ofg.style.display);
		if (ofg.style.display == 'block')
			oog.focus();
		break;
	
	case 2: // ami
		ofg.style.display = 'none';
		ofm.style.display = switch_display(ofm.style.display);
		if (ofm.style.display == 'block')
			oom.focus();
		break;
	}
}

/**
 * @brief Afficher une fiche normale.
 */
function fiche(url)
{
	window.open(url,'_blank',
		'width=785,height=555,menubar=0,toolbar=0,scrollbars=1,resizable=1');
	//return false;
}

/**
 * @brief Afficher une fiche détaillée.
 */
function fiche_detail(url,largeur,hauteur)
{
	if(!largeur)
		largeur = 750;
		
	if(!hauteur)
		hauteur = 620;
	
	window.open(url,'_blank',
		'width='+largeur+',height='+hauteur+',menubar=0,toolbar=0,scrollbars=1,resizable=1');
	//return false;
}

/**
 * @fn previsualiser(bs, ls, pfx , sfx)
 * @brief Previsualisation du thème courant.
 * @param bs Chemin de base.
 * @param ls Liste.
 * @param pfx préfixe.
 * @param sfx suffixe.
 */
function previsualiser(bs, ls, pfx, sfx)
{
	var ap = document.getElementById('apercu');
	var img = '';	
	
	//if (ls.selectedIndex > 0)
		img = bs+pfx+ls.options[ls.selectedIndex].value+sfx;
	//else
		//img = pfx+ls.options[ls.selectedIndex].value+sfx;
	
	if (ap != null)
	{
		ap.src = img;
	}
}

/**
 * @fn Cacher_couleur(ls)
 * @brief cacher le choix des couleurs.
 * @param ls Liste.
*/
function Cacher_couleur(ls)
{
	if (ls.options[ls.selectedIndex].value == '0')
		document.getElementById('tab_couleurs').style.display = 'none'
	else 
		document.getElementById('tab_couleurs').style.display = 'block'
}

/**
 * @fn activer(elem)
 * @brief Activation d'un élément dans un formulaire.
 * @param itm Elément à activer.
 */
function activer(elem)
{
	var cible = document.getElementById(elem);

	if (cible != null)
		cible.focus();

	//return cible.focus();
}

/**
 * @fn rediriger(url, delai)
 * @brief Redirection vers un URL donné.
 * @param url Adresse cible de la redirection.
 * @param delai Délai de avant redirection.
 */
function rediriger(url, delai)
{
	var cible = "window.open('"+url+"','_self')";

	window.setTimeout(cible, delai);

	//return window.setTimeout(cible, delai);
}

/**
 * @fn iframe_set_height(name, value)
 * @brief Permet de redimensioner une iframe.
 * @param name Nom de l'iframe.
 * @param value Hauteur de l'iframe.
 */
function iframe_set_height(name, value)
{
	var iframe = document.getElementById(name);
	
	if (iframe != null)
	{
		iframe.style.height = value + 'px';
	}
}