/*
 * /////////////////////////////////////////////////
 * /////////////                    ////////////////
 * /////////////   Created by FUGU  ////////////////
 * /////////////   www.fugu.fr      ////////////////
 * /////////////                    ////////////////
 * /////////////   17/08/2007       ////////////////
 * /////////////                    ////////////////
 * /////////////////////////////////////////////////
 *
 */

/**
 * Cette fonction ouvre une popup
 * @param : l (INTEGER) - largeur de la popup
 * @param : h (INTEGER) - hauteur de la popup
 * @param : url (INTEGER) - url de la page à ouvrir dans la popup
 * @param : scroll (INTEGER) - autoriser le scroll ?
 */
function openPopup(l,h,url,scroll) 
{
	decal_x = 7;
	decal_y = 11;
	left_margin=Math.round(((screen.availWidth-l)/2)-decal_x);
	top_margin=Math.round(((screen.availHeight-h)/2)-decal_y);
	window.open(url, "", "toolbar=0,location=0,directories=0,status=1,scrollbars="+scroll+",resizable=0,menubar=0,top="+top_margin+",left="+left_margin+",width="+l+",height="+h);
}

/**
 * Cette fonction ferme la popup ouverte
 * @param : id (INTEGER) - l'id de la popup
 * @param : c (STRING) - action à effectuer
 */
function closePopup(id,c)
{ 
	var d = eval(id)==null||eval(id+".closed");
	if(!d)
	{ 
		eval(id+"."+c); 
	}
}

/**
 * Cette fonction permet de modifier la source d'une image
 * afin de créer un survol
 * @param : path (STRING) - le chemin de l'image à insérer
 * @param : action (STRING) - l'action à laquelle correspond l'image
 * @param : status (STRING) - le status auquel correspond l'image
 */
function RollOver(path,action,status,increment) 
{
    document.getElementById(action + "_" + increment).src = path + "b_" + action + "_" + status + ".png";
}

/**
 * Cette fonction active/désactive toutes les checkbox de la page
 * @param : status (STRING) - le status à donner aux checkbox
 */
function disable_list(status)
{
	var elementsList = document.getElementsByTagName('input');
	for(var i=0;i<elementsList.length;i++)
	{
		if(elementsList[i].getAttribute('type')=='checkbox')
		{
			elementsList[i].disabled = status;
		}
	}
}

/**
 * Cette fonction crée une popup d'aperçu en envoyant les variables 
 * d'un formulaire à l'intérieur, et en vérifiant que les champs obligatoires sont remplis
 * @param : ActionField (STRING) - nom du champ de l'action
 * @param : form (STRING) - nom du formulaire en question
 * @param : page (STRING) - chemin de la page d'aperçu à laquelle envoyer les variables
 * @param : is_list (BOOLEAN) - est-ce un aperçu depuis une liste ?
 */
function create_preview(ActionField, form, page, is_list) 
{
	if (!is_list) { form.Action.value = ActionField; }
	if (is_list || (form.object.value != '' && form.title.value != '' && form.skin.value != ''))
	{
		window.open(page, "Aperçu", "toolbar=0,location=0,directories=0,status=0,scrollbars=1,resizable=1,menubar=0,top='0',left='0'");
		my_form = eval(form);
		my_form.action = page;
		my_form.target = "Aperçu";
		my_form.submit();
	}
	else { alert('\r\nVous devez remplir tous les champs obligatoires. (*) \r\n\r\n Merci.'); }
}

/**
 * Cette fonction remet le champ d'action à la valeur voulue
 * @param : ActionField (STRING) - le nom du champ d'action
 * @param : form (STRING) - le nom du formulaire à soumettre
 * @param : page (STRING) - la page vers laquele soumettre le formulaire
 */
function initiate_form_action(ActionField, form, page)
{
	if ((form.id.value != undefined && ActionField == 'send_to') || ActionField != 'send_to')
	{
		form.Action.value = ActionField;
		my_form = eval(form)
		my_form.action = page;
		my_form.target = null;
		my_form.submit();
	}
	else { alert('\r\nVous devez sauvegarder le mailing \r\navant de pouvoir l\'expédier. \r\n\r\nMerci.'); }
}

/**
 * Cette fonction ajoute le champ d'action complémentaire
 * @param : form (STRING) - le nom du formulaire à soumettre
 */
function submitFormContinue(form)
{

	var actionField = document.createElement('input');
	actionField.type = "hidden";
	actionField.name = "continue";
	actionField.value = true;
	form.appendChild(actionField);
	my_form = eval(form);
	my_form.submit();
}

/**
 * Cette fonction masque tous les "blur" des liens, boutons et input
 * c'est à dire qu'il supprime le léger cadre apparaissant autour
 * des liens et boutons au moment ou l'on clique
 */
function HideAllBlur(){
	var AllLinks = document.getElementsByTagName('a');
	var AllInput = document.getElementsByTagName('input');
	var AllButtons = document.getElementsByTagName('button');
	for (var i=0; i<AllLinks.length; i++) 
	{
		 AllLinks[i].onfocus = function() { if (this.blur) this.blur() }
	}
	for (var j=0; j<AllInput.length; j++) 
	{
		if (AllInput[j].type != 'text' && AllInput[j].type != 'password') 
		{
			AllInput[j].onfocus = function() { if (this.blur) this.blur() }
		}
	}
	for (var k=0; k<AllButtons.length; k++) 
	{
		AllButtons[k].onfocus = function() { if (this.blur) this.blur() }
	}
}

/**
 * Cette fonction permet de switcher le style des inputs
 * @param : obj (DOM_Object) : Objet à switcher
 * @param : focus (BOOLEAN) : over ou pas ?
 */
function toogleStyle(obj, focus) 
{
	if (change) { obj.style.background = '#EFEFEF'; }
	else { obj.style.background = '#FFF'; }
}

/**
 * Cette fonction initie les inputs afin de leur attribuer
 * une fonction du switch du style
 */
function initInputsOver() {
	var AllInputs = document.getElementsByTagName('input');
	var AllTextareas = document.getElementsByTagName('textarea');
	for (var i=0; i<AllInputs.length; i++) 
	{
		 if (AllInputs[i].getAttribute('type') == 'text' || AllInputs[i].getAttribute('type') == 'password') 
		{
			AllInputs[i].setAttribute('onfocus', 'toogleStyle(this, true);');
			AllInputs[i].setAttribute('onblur', 'toogleStyle(this, false);');
		};
	}
	for (var t=0; t<AllTextareas.length; t++) 
	{
			AllInputs[t].setAttribute('onfocus', 'toogleStyle(this, true);');
			AllInputs[t].setAttribute('onblur', 'toogleStyle(this, false);');
	}
}










