// creaCompte.js
function submitForm(myForm,action,methode)
{
    // modify the action, the methodParameter and submit the form
	var leForm = document.getElementById(myForm);
	document.getElementById("laMethode").value = methode;  
	//leForm.action = action;
	leForm.submit();

}  
function setPage(numPage)
{
	document.getElementById("laPage").value = numPage;
}
		
function setIndexUser(indexUser)
{
	document.getElementById("indexUser").value=indexUser;
}

		
function copyPasteAddress(nomFromNomTo)
{				
	var box;
			 
	switch (nomFromNomTo)
	{
		case "PF":
			box = document.getElementById("mainIdemAsAP");
			if (box.checked)
			{
				//Adresse principale vers Adresse de facturation
				document.getElementById("AFsociete").value = document.getElementById("APsociete").value;
				document.getElementById("AFcontact").value = document.getElementById("APcontact").value;
				document.getElementById("AFrue1").value = document.getElementById("APrue1").value;
				document.getElementById("AFrue2").value = document.getElementById("APrue2").value;
				document.getElementById("AFcodePostal").value = document.getElementById("APcodePostal").value;
				document.getElementById("AFlocalite").value = document.getElementById("APlocalite").value;
				document.getElementById("AFetat").value  = document.getElementById("APetat").value;
				document.getElementById("AFcodeIso").value = document.getElementById("APcodeIso").value;
				document.getElementById("AFtelephone").value = document.getElementById("APtelephone").value;
				document.getElementById("AFfax").value = document.getElementById("APfax").value;
				document.getElementById("AFemail").value = document.getElementById("APemail").value;
					
				/*var lesInputs = (document.getElementById("TabFacture")).getElementByTagName("input")
				lesInputs.readOnly = true*/
				document.getElementById("AFsociete").readOnly = true;
				document.getElementById("AFcontact").readOnly = true;
				document.getElementById("AFrue1").readOnly = true;
				document.getElementById("AFrue2").readOnly = true;
				document.getElementById("AFcodePostal").readOnly = true;
				document.getElementById("AFlocalite").readOnly = true;
				document.getElementById("AFetat").readOnly = true;
				document.getElementById("AFrue2").readOnly = true;
				document.getElementById("AFcodeIso").readOnly = true;
				document.getElementById("AFtelephone").readOnly = true;
				document.getElementById("AFfax").readOnly = true;
				document.getElementById("AFemail").readOnly = true;
			}else{
				document.getElementById("AFsociete").readOnly = false;
				document.getElementById("AFcontact").readOnly = false;
				document.getElementById("AFrue1").readOnly = false;
				document.getElementById("AFrue2").readOnly = false;
				document.getElementById("AFcodePostal").readOnly = false;
				document.getElementById("AFlocalite").readOnly = false;
				document.getElementById("AFetat").readOnly = false;
				document.getElementById("AFrue2").readOnly = false;
				document.getElementById("AFcodeIso").readOnly = false;
				document.getElementById("AFtelephone").readOnly = false;
				document.getElementById("AFfax").readOnly = false;
				document.getElementById("AFemail").readOnly = false;
				//TODO: Mettre les valeurs à Null ?
			}		
		break;
			  
		case "PL":
			box = document.getElementById("adresseLivraison[0].IdemAsAP");
			if (box.checked)
			{
				document.getElementById("adresseLivraison[0].IdemAsAF").checked= false;
				//Adresse principale vers adresse de livraison
				//Ne doit être proposé que sur la 1ere adresse de livraison
				document.getElementById("adresseLivraison[0].societe").value = document.getElementById("APsociete").value;
				document.getElementById("adresseLivraison[0].contact").value = document.getElementById("APcontact").value;
				document.getElementById("adresseLivraison[0].rue1").value = document.getElementById("APrue1").value;
				document.getElementById("adresseLivraison[0].rue2").value = document.getElementById("APrue2").value;
				document.getElementById("adresseLivraison[0].codePostal").value = document.getElementById("APcodePostal").value;
				document.getElementById("adresseLivraison[0].localite").value = document.getElementById("APlocalite").value;
				document.getElementById("adresseLivraison[0].etat").value = document.getElementById("APetat").value;
				document.getElementById("adresseLivraison[0].codeISO").value = document.getElementById("APcodeIso").value;
				document.getElementById("adresseLivraison[0].telephone").value = document.getElementById("APtelephone").value;
				document.getElementById("adresseLivraison[0].fax").value = document.getElementById("APfax").value;
				document.getElementById("adresseLivraison[0].email").value = document.getElementById("APemail").value;
				
					
				document.getElementById("adresseLivraison[0].societe").readOnly = true;
				document.getElementById("adresseLivraison[0].contact").readOnly = true;
				document.getElementById("adresseLivraison[0].rue1").readOnly = true;
				document.getElementById("adresseLivraison[0].rue2").readOnly = true;
				document.getElementById("adresseLivraison[0].codePostal").readOnly = true;
				document.getElementById("adresseLivraison[0].localite").readOnly = true;
				document.getElementById("adresseLivraison[0].etat").readOnly = true;
				document.getElementById("adresseLivraison[0].codeISO").readOnly = true;
				document.getElementById("adresseLivraison[0].telephone").readOnly = true;
				document.getElementById("adresseLivraison[0].fax").readOnly = true;
				document.getElementById("adresseLivraison[0].email").readOnly = true;
					
			}else{
				document.getElementById("adresseLivraison[0].societe").readOnly = false;
				document.getElementById("adresseLivraison[0].contact").readOnly = false;
				document.getElementById("adresseLivraison[0].rue1").readOnly = false;
				document.getElementById("adresseLivraison[0].rue2").readOnly = false;
				document.getElementById("adresseLivraison[0].codePostal").readOnly = false;
				document.getElementById("adresseLivraison[0].localite").readOnly = false;
				document.getElementById("adresseLivraison[0].etat").readOnly = false;
				document.getElementById("adresseLivraison[0].codeISO").readOnly = false;
				document.getElementById("adresseLivraison[0].telephone").readOnly = false;
				document.getElementById("adresseLivraison[0].fax").readOnly = false;
				document.getElementById("adresseLivraison[0].email").readOnly = false;
				//TODO: Mettre les valeurs à Null ?
			}
		break;
			    
		case "FL":
			box = document.getElementById("adresseLivraison[0].IdemAsAF");
			//Adresse de facturation vers Adresse  de livraison
			if (box.checked)
			{
				document.getElementById("adresseLivraison[0].IdemAsAP").checked= false;
			  	document.getElementById("adresseLivraison[0].societe").value = document.getElementById("AFsociete").value;
			  	document.getElementById("adresseLivraison[0].contact").value = document.getElementById("AFcontact").value;
				document.getElementById("adresseLivraison[0].rue1").value = document.getElementById("AFrue1").value;
				document.getElementById("adresseLivraison[0].rue2").value = document.getElementById("AFrue2").value;
				document.getElementById("adresseLivraison[0].codePostal").value = document.getElementById("AFcodePostal").value;
				document.getElementById("adresseLivraison[0].localite").value = document.getElementById("AFlocalite").value;
				document.getElementById("adresseLivraison[0].etat").value = document.getElementById("AFetat").value;
				document.getElementById("adresseLivraison[0].codeISO").value = document.getElementById("AFcodeIso").value;
				document.getElementById("adresseLivraison[0].telephone").value = document.getElementById("AFtelephone").value;
				document.getElementById("adresseLivraison[0].fax").value = document.getElementById("AFfax").value;
				document.getElementById("adresseLivraison[0].email").value = document.getElementById("AFemail").value;
					
				document.getElementById("adresseLivraison[0].societe").readOnly = true;
				document.getElementById("adresseLivraison[0].contact").readOnly = true;
				document.getElementById("adresseLivraison[0].rue1").readOnly = true;
				document.getElementById("adresseLivraison[0].rue2").readOnly = true;
				document.getElementById("adresseLivraison[0].codePostal").readOnly = true;
				document.getElementById("adresseLivraison[0].localite").readOnly = true;
				document.getElementById("adresseLivraison[0].etat").readOnly = true;
				document.getElementById("adresseLivraison[0].codeISO").readOnly = true;
				document.getElementById("adresseLivraison[0].telephone").readOnly = true;
				document.getElementById("adresseLivraison[0].fax").readOnly = true;
				document.getElementById("adresseLivraison[0].email").readOnly = true;
					
			}else{
				
				document.getElementById("adresseLivraison[0].societe").readOnly = false;
				document.getElementById("adresseLivraison[0].contact").readOnly = false;
				document.getElementById("adresseLivraison[0].rue1").readOnly = false;
				document.getElementById("adresseLivraison[0].rue2").readOnly = false;
				document.getElementById("adresseLivraison[0].codePostal").readOnly = false;
				document.getElementById("adresseLivraison[0].localite").readOnly = false;
				document.getElementById("adresseLivraison[0].etat").readOnly = false;
				document.getElementById("adresseLivraison[0].codeISO").readOnly = false;
				document.getElementById("adresseLivraison[0].telephone").readOnly = false;
				document.getElementById("adresseLivraison[0].fax").readOnly = false;
				document.getElementById("adresseLivraison[0].email").readOnly = false;
				//TODO: Mettre les valeurs à Null ?
			}
		break;
			   
		default:
		    //Instruction_par_défaut
		break;
	}
			
}
	
function setIndexAddress(indexAddress)
{
	document.getElementById("indexAddress").value=indexAddress;
}
				
				
		//Variable globale :nombre d'adresses de livraison éventuelles déjà référencées
		var nbAdresseLivraisonExistante = 0;			
		//Variable globale compteur : nombre d'adresses de livraison ajoutées
		var counter = 0;
		
/*
*Copie le tableau d'adresse principale pour l'ajouter comme tableau d'adresse de livraison
*/	
function cloneElementById(idElementToClone, idElementToInsert, label1, label2,label3, uri)
{	
	//copie de l'élément d'id idElementToClone
	var newFields = document.getElementById(idElementToClone).cloneNode(true);
	newFields.id= "";
	
	//recuperation du tableau
	var letableau = newFields.getElementsByTagName("<table>");
	//Recuperation des lignes du tab
	var lesRows = newFields.getElementsByTagName("tr");
	
	//suppression de la cellule d'entête
	newFields.deleteRow(0);
	newFields.deleteRow(0);
			
	if (counter == 0 && nbAdresseLivraisonExistante == 0)
	{	
		document.getElementById("labelLivraisons").innerHTML = label1
								
		var chckBoxesRow = lesRows[2];
		var chckBoxesCell = lesRows[2].cells;
		chckBoxesCell[0].colSpan = "3";
		chckBoxesCell[0].setAttribute("class", "valeur");
		chckBoxesCell[0].innerHTML= label2 +" <input type='checkbox' class='checkbox' id='ALIdemAsAP' name='ALIdemAsAP' onclick='copyPasteAddress(\"PL\");'>"+ label3 +"<input type='checkbox' class='checkbox' id='ALIdemAsAF' name='ALIdemAsAF' onclick='copyPasteAddress(\"FL\");'> )";
		
		//Num de ligne à ajouter
		indexLingneToInsert = 12;
		
	}else{
		//Suppresssion de la ligne avec les checkBox "idem Adresse.."
		newFields.deleteRow(2);
		//Num de ligne à ajouter
		indexLingneToInsert = 11;
	}
		
	//Insertion du bouton supprimer à côté du nom de l'adresse
	var cellulesCible = lesRows[0].cells;
	//lesRows[0].style.display = 'block';
	cellulesCible[1].innerHTML = "<table border='0' cellpadding='0' cellspacing='0'><tr><td>" + cellulesCible[1].innerHTML + "</td>";
	if (counter > 0) {
		cellulesCible[1].innerHTML += "<td><a href=\"javascript:setIndexAddress("+ counter +");submitForm('createAccesForm','"+uri+"/ProcessStep1.do','removeAddress');\"><img src='"+uri+"/images/croix.gif' border='0' align='bottom'/></a></td>";
	} else {
		cellulesCible[1].innerHTML += "<td></td>";
	}	
	cellulesCible[1].innerHTML += "</tr></table>";
	
	//recuperation des elements input de l'élément d'id : arguments[0]
	var newField = newFields.getElementsByTagName("input");
	//recuperation des elements select de l'élément d'id : arguments[0]
	var newFieldselect = newFields.getElementsByTagName("select");
	
	var theName;
	var theNewName		
	//Rename input elements as : ALi
	for (i=0;i<newField.length;i++)
	{
		theName = newField[i].name
		theNewName = "adresseLivraison[" + counter + "]." + theName.substring(2);
				
		if (theName)
		{
			//set the new name
			newField[i].setAttribute("name", theNewName  );
			newField[i].disabled=false;
			newField[i].readOnly=false;
			//set the new id
			newField[i].id = theNewName;
			//reset its value
			newField[i].value="";
		}
	}

	//Rename select elements
	for (var i=0;i<newFieldselect.length;i++)
	{
		theName = newFieldselect[i].name
		//append counter to the name to set it unique as ALi + Label
		//theNewName = "AL" + counter + theName.substring(2);
		//Version propriétés indexées
		theNewName = "adresseLivraison[" + counter + "]." + theName.substring(2);
			
		if (theName)
		{
			//set the new name
			newFieldselect[i].setAttribute("name", theNewName  );
			newFieldselect[i].disabled=false;
			newFieldselect[i].readOnly=false;
			//set the new id
			newFieldselect[i].id = theNewName;
			//reset its value
			newFieldselect[i].value="";
		}
	}
	
	//Insertion d'une ligne vide qui sert d'espaceur en fin de tableau
	x = newFields.insertRow(indexLingneToInsert).insertCell(0);
	x.colSpan = "2";
	x.innerHTML = "<br/><br/><br>";

	//increment du nbre d'@ de livraison
	counter ++;

	var insertHere = document.getElementById(idElementToInsert);
	//insertion just before the id element
	//insertHere.parentNode.insertBefore(newFields,insertHere);
	
	insertHere.insertBefore(newFields,insertHere.firstChild);
}

