/*============================================================================================
 Fichier Javascript
 Fonction pour le portail ...
 Fichier de jonction avec phpMyPortal pour la compatibilité avec la bibliotheque de fonction javascript

 AUTEUR:					Alban BALLIEUX
 CREATION:					22/07/2009
 VARIABLE GLOBALES:			
 MODIFICATIONS:				
===============================================================================================
	copyright 2009 Alban BALLIEUX - ballieuxa@laon.noirot
	http://www.phpmyportal.info

	This file is part of phpMyPortal.

    phpMyPortal is free software; you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation; either version 2.1 of the License, or
    any later version.

    phpMyPortal is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with phpMyPortal; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
===============================================================================================*/
/**
 * Trouve la taille de la zone de bas de page ...
 *
 */
function TailleBasPage(){
	var Taille=0;
	var Marge=0;
	Pt = GetPtId('dragableElementsParentBox');
	if (Pt.nextElementSibling){
		Pt = Pt.nextElementSibling
		while(isObject(Pt)!=false){
			if (Pt.style.display != 'none'){
				MargeTop 	= GetCurrentStyle(Pt, 'margin-Top');
				MargeBottom = GetCurrentStyle(Pt, 'margin-Bottom');
				if (MargeTop!=false){Marge +=parseInt(MargeTop);}
				if (MargeBottom!=false){Marge +=parseInt(MargeBottom);}
				Taille = Taille + Pt.offsetHeight + Marge;
			}
			Pt=Pt.nextElementSibling;
		}
	}
	return Taille;
}

/**
 * Fonction qui force les lignes du tableau sur les lignes paire et impaire
 * 
 * Cette fonction doit etre rappellé a chaque ajout (pour mettre la classe de ligne a jour) 
 * et a chaque suppression pour ne pas avoir deux ligne de meme classe qui se suivent
 * 
 */
function MAJStyleTableau(Id){
	var Ligne;
	var max;
	PtId = GetPtId(Id);	
	
	max = PtId.tBodies[0].rows.length;
	for (Ligne=0;Ligne<max;Ligne++){
		if(GetPtId(PtId.tBodies[0].rows[Ligne])){
			if(PtId.tBodies[0].rows[Ligne].className == 'Cimpaire' || PtId.tBodies[0].rows[Ligne].className == 'Cpaire' || PtId.tBodies[0].rows[Ligne].className == ''){
				if (Ligne%2==0){
					PtId.tBodies[0].rows[Ligne].className='Cpaire';
				}else{
					PtId.tBodies[0].rows[Ligne].className='Cimpaire';
				}
			}
		}
	}

}

/**
 * "Surcharge" d'Ajoute_Ligne pour rendre la l'ajout de ligne compatable avec phpMyPortal
 * 
 * @param {Object} IdTable			Identifiant de la table
 * @param {Object} Tableau			Liste des valeurs
 * @param {Object} Attribut			Liste de données séparé par des $
 * @param {Object} IdPrecedent		Identifiant de la ligne précedente
 * @param {Object} AutoIndex		Ajoute automatiquement un index a tous les champs des cellules ...
 * @param {Object} NumLigne			Identique si l'on parle d'un numéro de ligne de tableau ou d'un identifiant
 * 
 * @return void
 */
function Ajoute_Ligne_Js_PHPMyPortal(IdTable, Tableau, Attribut, IdRemplace, AutoIndex){
	Ajoute_Ligne(IdTable, Tableau, Attribut, IdRemplace, AutoIndex);
	MAJStyleTableau(IdTable);
}

/**
 * "Surcharge" de Remplace_Ligne pour rendre la l'ajout de ligne compatable avec phpMyPortal
 *
 * @param {Object} IdTable			Identifiant de la table
 * @param {Object} Tableau			Liste des valeurs
 * @param {Object} Attribut			Liste de données séparé par des $
 * @param {Object} IdRemplace		Identifiant devant etre remplacé
 * @param {Object} AutoIndex		Ajoute automatiquement un index a tous les champs des cellules ...
 * @param {Object} NumLigne			Identique si l'on parle d'un numéro de ligne de tableau ou d'un identifiant
 * 
 * @return void
 */
function Remplace_Ligne_Js_PHPMyPortal(IdTable, Tableau, Attribut, IdRemplace, AutoIndex){
	Remplace_Ligne(IdTable, Tableau, Attribut, IdRemplace, AutoIndex);
	MAJStyleTableau(IdTable);
}

/**
 * "Surcharge" de Delete_Ligne pour rendre la l'ajout de ligne compatable avec phpMyPortal
 *
 * @param {Object} IdTable			Identifiant de la table
 * @param {Object} IdSuppression	Identifiant de la ligne à supprimer
 * @param {Object} NumLigne			Identique si l'on parle d'un numéro de ligne de tableau ou d'un identifiant
 * 
 * @return void
 */
function Delete_Ligne_Js_PHPMyPortal(IdTable, IdSuppression, NumLigne){
	Delete_Ligne(IdTable, IdSuppression, NumLigne);
	MAJStyleTableau(IdTable);
}

/**
 * navigation par les fleches dans un formulaire
 *
 * @param {Object} e		event
 * @param {Object} suiv		Identifiant de l'élément suivant
 * @param {Object} prec		Identifiant de l'élément précédent
 */
function changeinput(e,suiv,prec) {
	var touche = window.event ? e.keyCode : e.which;
	
	if (touche == '40') {	// bas
		document.getElementById(suiv).focus();
		return '';
	}
	if (touche == '38') {	// haut
		document.getElementById(prec).focus();
		return '';
	}
}

/**
 * navigation par les fleches dans un formulaire
 *
 * @param {Object} e		event
 * @param {Object} suiv		Identifiant de l'élément suivant
 * @param {Object} prec		Identifiant de l'élément précédent
 */
function Agrandi(t){
	if (GetPtId(t) == false) return false;

	var PtBandacc	= GetPtId('BANDACC');
	var PtIconbar	= GetPtId('ICONBAR');
	var PtBarhaut	= GetPtId('BARHAUT');
	var PtBTCache	= GetPtId('BTCACHE');
	var PtBTAffiche	= GetPtId('BTAFFICHE');
	if (t == PtBTCache){
		if (PtBandacc != false)PtBandacc.style.display = 'none';
		if (PtIconbar != false)PtIconbar.style.display = 'none';
		if (PtBarhaut != false)PtBarhaut.nextSibling.style.display = 'none';
		PtBTAffiche.style.display = '';
		PtBTCache.style.display = 'none';
	}else{
		if (PtBandacc != false)PtBandacc.style.display = '';
		if (PtIconbar != false)PtIconbar.style.display = '';
		if (PtBarhaut != false)PtBarhaut.nextSibling.style.display = '';
		PtBTCache.style.display = '';
		PtBTAffiche.style.display = 'none';
	}
	
}