/*** ——————————————————————————————————————————————————————————————————————————————————————————————————————————— ***/
/*** ——————————————————————————————————————————————————————————————————————————————————————————————————————————— ***/
/***																											 ***/
/***						  			 TAG TOOLS	   	   Version 0.0.7										 ***/
/***					  				 Dernière Mise à Jour : 10-05-30										 ***/
/***																											 ***/
/*** ——————————————————————————————————————————————————————————————————————————————————————————————————————————— ***/
/***																											 ***/
/***												 Mise en Forme												 ***/
/***	Ce script contient les méthodes pour former la page d'un point de vue posé, placement des balises, etc.	 ***/
/***	Ses fonctions permettent de créer et gérer plus facilement les éléments statiques d'une page.			 ***/
/***																											 ***/
/*** ——————————————————————————————————————————————————————————————————————————————————————————————————————————— ***/
/***									       cybORg version 0.05											 	 ***/
/***									        MIND version 0.2											 	 ***/
/*** ——————————————————————————————————————————————————————————————————————————————————————————————————————————— ***/
//
// © Ockam Razor — ockam.razor@gmail.com
// cybORg pakage — Since 21/11/2009
// MIND universe — Since 26/12/2009




/* ———————————————————————————————————————————————————————————————————————————————————————— */
/*																							*/
/*										      DIV											*/
/*		  			  Méthodes de génération et manipulation de balise Div.					*/
/*																							*/
/* ———————————————————————————————————————————————————————————————————————————————————————— */

// —————— VARIABLES
// Variables initials pour la gestion des Div

// Objet des variables
var TagToolsDiv = new Object();

// Objet de définition des applications de styles
TagToolsDiv.DivStyle = { top:[ "" , "px" ] ,
						 left:[ "" , "px" ] ,
						 right:[ "" , "px" ] ,
						 down:[ "" , "px" ] ,
						 //
						 width:[ "" , "px" ] ,
						 height:[ "" , "px" ] ,
						 //
						 backgroundColor:[ "#" , "" , [ "transparent" ] ]
						};


// —————— NEW DIV
// Créé et positionne une balise Div.

function NewDiv( Identifiant ,	// ————> ID de la Div
				 Cible ,		// ————> Cible acquérant la Balise
				 Contenu , 		// ————> Contenu initial de la div
				 Style 			// ————> Style donné à la Div	
			   ){
	
	// Arguments par défaut
	Cible = Cible || document.body;
	Contenu = Contenu || "";
	
	// Créait la DIV
	var NouvelleDiv = document.createElement( 'div' );
	
	// Lui donne son identifiant
	if( Identifiant != null ){ NouvelleDiv.id = Identifiant; }

	// Lui donne son contenu
	NouvelleDiv.innerHTML = Contenu;
					
	// Applique le style
	ApplyStyle( NouvelleDiv , Style );
	
	// Affiche la DIV
	Cible.appendChild( NouvelleDiv );

	// Retourne la DIV
	return NouvelleDiv;
}


// —————— APPLY STYLE
// Applique un ensemble de style contenue dans un tableau à une Div.
//
// Beta : La possibilité de ne pas subir les définitions de DivStyle si on a définit une valeur particulière d'un style
// Beta : l'alpha doit être calibré pour la modification sur tout navigateur
// Beta : Les valeurs ne doivent pas s'arrêter au "px" uniquement mais, également, à d'autres valeurs comme les "em"

function ApplyStyle( Cible ,	// ————> La Div
					 Style		// ————> Objet des styles
					){
	
	// S'il y a des styles ——>
	if( Style ){
		
		// Pour chaque style ——>
		for( var iStyle in Style ){
			
			// S'il n'est pas vide ——>
			if( Style[ iStyle ] ){
				
				// Si ce n'est pas un alpha ——>
				if( iStyle != "alpha" ){
					
					// À moins que ce ne soit l'une des exception ——>
					var Levier = true;
					//
					if( TagToolsDiv.DivStyle[ iStyle ] != null ){
						//
						if( TagToolsDiv.DivStyle[ iStyle ][ 2 ] ){
							//
							if( IndexOf( TagToolsDiv.DivStyle[ iStyle ][ 2 ] , Style[ iStyle ] , "Etat" ) ){
								//
								Levier = false;
							}
						}
					}
					
					// Applique avec calibrage ——>
					if( Levier ){
						//
						// Applique le style correctement
						Cible.style[ iStyle ] = ( ( TagToolsDiv.DivStyle[ iStyle ] != null ) ? TagToolsDiv.DivStyle[ iStyle ][ 0 ] : "" ) + 
												Style[ iStyle ] + 
												( ( TagToolsDiv.DivStyle[ iStyle ] != null ) ? TagToolsDiv.DivStyle[ iStyle ][ 1 ] : "" );
					
					// Ou sans calibrage ——>
					} else {
						//
						// Applique le style directement
						Cible.style[ iStyle ] = Style[ iStyle ];
					}
				
				// S'il s'agit d'un alpha ——>
				} else if( iStyle == "alpha" ){
					
					// Applique l'alpha
					ApplyAlpha( Cible , Style[ iStyle ] );
				}
			}
		}
	}
}


// —————— APPLY ALPHA
//	Modifie l'Alpha d'une div.
//
// IE Comp.

function ApplyAlpha( Div , 		// ————> Div à modifier
					 Alpha 		// ————> Alpha à donner ( 0 à 1 )
					 ){
	
	// Argument par défaut
	Alpha = Alpha || 1;
	
	// Si on est sur un bon Navigateur ——>
	if( GetNavigator() != "IE" ){
		
		// Modification de l'opacité par l'opacité des styles et renvoie Vrai
		Div.style.opacity = String( Alpha );
	
	// Si on est... sur IE ——>
	} else {
		
		// Modification de l'opacité par les filtres et renvoie Vrai
		Div.style.filter = ( 'alpha(opacity=' + ( Alpha * 100 ) + ')' );
	}
}












