window.onload = dtableInit;
var nbperso = 0; // variable globlale nombre de perso ! 0 = un seul perso

var color_sel = "#99aa00"; // couleur cellule selectionner ou champ ecris !
var color_def = "#003366"; // couleur par defaut de la cellule !

var prix_simple = 30;
var prix_couleur = 50;
var prix_double = 70;
var prix_hentai = 10;
var prix_exclu = 25;
var prix_bg = 50;
var prix_perso = 20;

var form_visible = false;


/* initialise le script */
function dtableInit() {
	var table = document.getElementsByTagName('TABLE');
	for ( var i = 0; i < table.length; i++ ) {
		// on récupère tous les tableaux dynamiques
		if ( table[i].className == 'dTable' ) {
			
			var tbody = table[i].tBodies[0];
			var newTr = tbody.rows[0].cloneNode(true);
			
			// on masque la première ligne du tbody (la ligne de reference)
			tbody.rows[0].style.display = 'none';
			
			// on en ajoute une
			tbody.appendChild(newTr);
			
		}
	}
	calculer_total();
	// test couleur cellule !
	//document.getElementById('table_perso').rows[2].cells[1].bgColor=color_sel ;
	//document.getElementById('table_form').style.visibility = 'hidden';
	document.getElementById('table_form').style.visibility = 'hidden';  // on cache le formulaire !
}

/* trouve le tag "parentTagName" parent de "element" */
function getParent(element, parentTagName) {
	if ( ! element )
		return null;
	else if ( element.nodeType == 1 && element.tagName.toLowerCase() == parentTagName.toLowerCase() )
		return element;
	else
		return getParent(element.parentNode, parentTagName);
}

/* ajoute une ligne */
function addLigne(link) {

	if (nbperso<7){  // nombre de perso additionel maxi 
		nbperso ++;
		
		// 1. récuperer le node "TABLE" à manipuler
		var td = document.getElementById('table_perso'); // tableau parent !
		var table = getParent(td,'TABLE');
		
		// 2. on va manipuler le TBODY
		var tbody = table.tBodies[0];
		
		// 3. on clone la ligne de reference
		var newTr = tbody.rows[0].cloneNode(true);
		tbody.appendChild(newTr);
		
		if ( document.all )
			newTr.style.display = "block"; // pour IE
		else
			newTr.style.display = "table-row"; // pour Gecko
	}
}

/* supprimer une ligne */
function delLigne(link) {
	
	if (nbperso>0){
		nbperso--;
		// 1. récuperer le node "TABLE" à manipuler
		//var td = document.getElementById('table_perso'); // tableau parent !
		var td = link.parentNode;
		var table = getParent(td, 'TABLE');
		
		// 2. récuperer le TBODY
		var tbody = table.tBodies[0];
		
		// 3. Supprimer le TR
		tbody.removeChild(getParent(td, 'TR'));
	}	
}

/* calculer le total */
function calculer_total () {
	
	var myformule = parseInt(prix_simple,10);
	var myoption = parseInt(0,10);
	var myperso = parseInt(0,10);
	

	
	if (document.form1.fsimple.checked) {
		myformule = parseInt(prix_simple,10); 
		document.getElementById('table_formule').rows[0].cells[0].bgColor=color_sel ;
	}else{
		document.getElementById('table_formule').rows[0].cells[0].bgColor=color_def ;
	}
	
	if (document.form1.fcouleur.checked) {
		myformule = parseInt(prix_couleur,10); 
		document.getElementById('table_formule').rows[0].cells[1].bgColor=color_sel ;
	}else{
		document.getElementById('table_formule').rows[0].cells[1].bgColor=color_def ;
	}
	
	if (document.form1.fdouble.checked) {
		myformule = parseInt(prix_double,10);
		document.getElementById('table_formule').rows[0].cells[2].bgColor=color_sel ;
	}else{
		document.getElementById('table_formule').rows[0].cells[2].bgColor=color_def ;
	}
	
	if (document.form1.hentai.checked) {
		myoption = parseInt(myoption,10)+parseInt(prix_hentai,10);
		document.getElementById('table_option').rows[0].cells[0].bgColor=color_sel ;
	}else{
		document.getElementById('table_option').rows[0].cells[0].bgColor=color_def ;
	}
	if (document.form1.exclusive.checked) {
		myoption = parseInt(myoption,10)+parseInt(prix_exclu,10);
		document.getElementById('table_option').rows[0].cells[1].bgColor=color_sel ;
	}else{
		document.getElementById('table_option').rows[0].cells[1].bgColor=color_def ;
	}
	if (document.form1.bg.checked) {
		myoption = parseInt(myoption,10)+parseInt(prix_bg,10);
		document.getElementById('table_option').rows[0].cells[2].bgColor=color_sel ;
	}else{
		document.getElementById('table_option').rows[0].cells[2].bgColor=color_def ;
	}
	
	myperso = nbperso * prix_perso;

	document.form1.price.value = parseInt(myformule,10)+parseInt(myoption,10)+parseInt(myperso,10);

}

// rétablis la couleur du champs !
function couleur(obj) {

	
    obj.style.backgroundColor = "#FFFFFF";
	
	if (document.form1.pseudo.value == "") {
		document.getElementById('table_login').rows[0].cells[2].bgColor=color_def ;
	}else{
		document.getElementById('table_login').rows[0].cells[2].bgColor=color_sel ;
	}
	if (document.form1.mail.value == "") {
		document.getElementById('table_login').rows[1].cells[2].bgColor=color_def ;
	}else{
		document.getElementById('table_login').rows[1].cells[2].bgColor=color_sel ;
	}
	
	if (document.form1.infos.value == "") {
		document.getElementById('table_infos').rows[0].cells[0].bgColor=color_def ;
	}else{
		document.getElementById('table_infos').rows[0].cells[0].bgColor=color_sel ;
	}
	
	for  ( i=1;i<nbperso+2;i++ ){
		
		if (document.form1.elements["nom_perso[]"][i].value == ""){
			document.getElementById('table_perso').rows[i+1].cells[0].bgColor=color_def ;
		}else{
			document.getElementById('table_perso').rows[i+1].cells[0].bgColor=color_sel ;
		}
		
		if (document.form1.elements["nom_origine[]"][i].value == ""){
			document.getElementById('table_perso').rows[i+1].cells[1].bgColor=color_def ;
		}else{
			document.getElementById('table_perso').rows[i+1].cells[1].bgColor=color_sel ;
		}		

		if (document.form1.elements["url[]"][i].value == ""){
			document.getElementById('table_perso').rows[i+1].cells[2].bgColor=color_def ;
		}else{
			document.getElementById('table_perso').rows[i+1].cells[2].bgColor=color_sel ;
		}
		
	}
	
}

// vérifie si les champs sont bien remplis !
function verif() {
	var msg = "";
 
		//Vérification du mail s'il n'est pas vide on vérifie le . et @
 
		if (document.form1.mail.value != "")	{
		indexAroba = document.form1.mail.value.indexOf('@');
		indexPoint = document.form1.mail.value.indexOf('.');
		if ((indexAroba < 0) || (indexPoint < 0))		{
 
			//dans le cas ou il manque soit le . soit l'@ on modifie la couleur d'arrière plan du champ mail et définissons un message d'alerte
 
			document.form1.mail.style.backgroundColor = "#F3C200";
			msg += "Le mail est incorrect\n";
		}
	}
 
	//Notre champs mail est vide donc on change la couleur et on défini un autre message d'alerte
 
	else	{
		document.form1.mail.style.backgroundColor = "#F3C200";
		msg += "Veuillez saisir votre mail.\n";
	}
 
	//ici nous vérifions si le champs nom et vide, changeons la couleur du champs et définissons un message d'alerte
	if (document.form1.pseudo.value == "")	{
		msg += "Veuillez saisir votre nom\n";
		document.form1.pseudo.style.backgroundColor = "#F3C200";
	}
 
	for (i=1;i<nbperso+2;i++)  // l'élément [0] est reservé au model de ligne dans le formulaire donc vide !
	{
		if (document.form1.elements["nom_perso[]"][i].value == "")	{
			msg += "Veuillez saisir le nom du personnage n#"+i+" \n";
			document.form1.elements["nom_perso[]"][i].style.backgroundColor = "#F3C200";
		}

		if (document.form1.elements["nom_origine[]"][i].value == "")	{
			msg += "Veuillez saisir l'oeuvre d'origine du personnage n#"+i+" \n";
			document.form1.elements["nom_origine[]"][i].style.backgroundColor = "#F3C200";
		}
	}

	if (document.form1.infos.value == "")	{
		msg += "Veuillez saisir plus d'informations svp \n";
		document.form1.infos.style.backgroundColor = "#F3C200";
	}

	//Si aucun message d'alerte a été initialisé on retourne TRUE
	if (msg == "") return true;
 
	//Si un message d'alerte a été initialisé on lance l'alerte
	else	{
		alert(msg);
		return false;
	}
	
}

function reset_table_exp() {

	document.getElementById('table_exp').rows[1].cells[0].bgColor='#000033';
	document.getElementById('table_exp').rows[2].cells[0].bgColor='#000033';
	document.getElementById('table_exp').rows[3].cells[0].bgColor='#000033';
	document.getElementById('table_exp').rows[4].cells[0].bgColor='#000033';
	document.getElementById('table_exp').rows[5].cells[0].bgColor='#000033';
	document.getElementById('table_exp').rows[6].cells[0].bgColor='#000033';	
}










