	// the flag we'll use to keep track of 
	// whether the current row is odd or even
	var even        = true;
	var evenColor   = "#fff";
	var oddColor    = "#A3B5CF";

	var selectedID   = "";
	var currentPage  = new String(window.location);
	var index        = currentPage.indexOf("?")
	if (index>-1){
		currentPage = currentPage.substring(0, index);
	}
	

	if (window.location.search.length>0){
		var requete  = window.location.search.substring(1);
		var temp     = requete.split("=");
		selectedID   = temp[1];
	}

	// IMPORTXML FUNCTION
	function importXML()
	{
		// IF IT'S FIREFOX/MOZILLA OR NETSCAPE...
		if (document.implementation && document.implementation.createDocument)
		{
			xmlDoc = document.implementation.createDocument("", "", null);
			xmlDoc.onload = createTable;
		}
		// IF IT'S IE
		else if (window.ActiveXObject)
		{
			xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
			xmlDoc.onreadystatechange = function () {
				if (xmlDoc.readyState == 4) createTable()
			};
	 	}
		// IF WE CAN'T HANDLE THE CURRENT BROWSER
		else
		{
			alert('Your browser can\'t handle this script');
			return;
		}
		// LOAD THE XML FILE
		xmlDoc.load("registry.xml");
	}
	
	// CREATECOLUMN FUNCTION
	function createColumn(name, width){
		var column = document.createElement('TH');
		column.style.cssText = 'color:white;background-color:#2D5289';
		column.setAttribute('width',width);
		column.appendChild(document.createTextNode(name));
		return column;
	}
	
	// CREATEDATAROW FUNCTION
	function createDataRow(value){
		var data = document.createElement('TD');
		data.appendChild(document.createTextNode(value));
		return data;
	}
	
	// CREATEDATALINE FUNCTION
	function createDateLine(node){
		var birthline = "";
		var birthyear = "";
		var birthmonth = "";
		var birthday = "";
		
		if (node.childNodes.length>0){
			if (node.getElementsByTagName('year')[0].childNodes.length>0){
				birthyear = node.getElementsByTagName('year')[0].firstChild.nodeValue;
			}
			if (node.getElementsByTagName('month')[0].childNodes.length>0){
				birthmonth = node.getElementsByTagName('month')[0].firstChild.nodeValue;
			}
			if (node.getElementsByTagName('day')[0].childNodes.length>0){
				birthday = node.getElementsByTagName('day')[0].firstChild.nodeValue;
			}
			
			if (english){
				if (birthyear.length>0){
					birthline += birthyear;
				}
				if (birthmonth.length>0){
					birthline += "/" + birthmonth;
				}
				if (birthday.length>0){
					birthline += "/" + birthday;
				}
			}else{
				if (birthday.length>0){
					birthline += birthday + "/";
				}
				if (birthmonth.length>0){
					birthline += birthmonth+ "/";
				}
				if (birthyear.length>0){
					birthline += birthyear;
				}
			}
			if (birthline.length<1){
				birthline = "???";	
			}
		}else{
			birthline = "---";	
		}
		return birthline;
	}

	function createInfoTable(selectedElement){

		var name    = "";
		var partner = "";

		var nameelm = selectedElement.getElementsByTagName('firstname');
		if (nameelm[0].childNodes.length>0){
			name = nameelm[0].firstChild.nodeValue;
		}
		var birth   = createDateLine(selectedElement.getElementsByTagName('birth')[0]);
		var death   = createDateLine(selectedElement.getElementsByTagName('death')[0]);

		var birthplaceelm = selectedElement.getElementsByTagName('birthplace');
		if (birthplaceelm[0].childNodes.length>0){
			birth += " - " + birthplaceelm[0].firstChild.nodeValue;
		}

		var deathplaceelm = selectedElement.getElementsByTagName('deathplace');
		if (deathplaceelm[0].childNodes.length>0){
			death += " - " + deathplaceelm[0].firstChild.nodeValue;
		}

		var partnerelm = selectedElement.getElementsByTagName('partner');
		if (partnerelm[0].childNodes.length>0){
			partner = partnerelm[0].firstChild.nodeValue;
		}

		var marriageplaceelm = selectedElement.getElementsByTagName('mariageplace');
		if (marriageplaceelm[0].childNodes.length>0){
			partner += " (" + marriageplaceelm[0].firstChild.nodeValue + ")";
		}

		var infotableElement = document.createElement('TABLE');
		var infotablebody = document.createElement('TBODY');
		infotableElement.appendChild(infotablebody);

		infotableElement.setAttribute('id','infotable');
		infotableElement.setAttribute('width','100%');
		infotableElement.setAttribute('border',1);	

		var namerow = document.createElement('TR');
		namerow.style.cssText = 'color:white;background-color:#612f03;font-size: 150%;font-weight: bold';
		var namecol = document.createElement('TD');
		namecol.colSpan = 2;
		namecol.appendChild(document.createTextNode("Touzel, "+name));
		namerow.appendChild(namecol);
		infotablebody.appendChild(namerow);
	
		var birthrow = document.createElement('TR');
		var birthcol = document.createElement('TD');
		birthcol.setAttribute('width','50%');
		if (english) birthcol.appendChild(document.createTextNode("Birth: "+birth)); 
		else birthcol.appendChild(document.createTextNode("Naissance: "+birth)); 
		birthrow.appendChild(birthcol);
		var deathcol = document.createElement('TD');
		deathcol.setAttribute('width','50%');
		if (english) deathcol.appendChild(document.createTextNode("Death: "+death));
		else deathcol.appendChild(document.createTextNode("Décès: "+death));
		birthrow.appendChild(deathcol);
		infotablebody.appendChild(birthrow);

		var parentsrow = document.createElement('TR');
		var parentscol = document.createElement('TD');
		parentscol.colSpan = 2;
		parentscol.appendChild(document.createTextNode("Parents: "));
		var parentsselm = selectedElement.getElementsByTagName('parents');
		if (parentsselm[0].childNodes.length>0){
			var id = "";
			if (parentsselm[0].getElementsByTagName('id')[0].childNodes.length>0){
				id = parentsselm[0].getElementsByTagName('id')[0].firstChild.nodeValue;
			}
			if (parentsselm[0].getElementsByTagName('parent')[0].childNodes.length>0){
				var parent = parentsselm[0].getElementsByTagName('parent')[0].firstChild.nodeValue;
				if (id.length>0){		
					var parentlink = document.createElement('A');
					parentlink.setAttribute('href',currentPage+"?id="+id);
					parentlink.appendChild(document.createTextNode(parent + " Touzel"));
					parentscol.appendChild(parentlink);
				}else{
					parentscol.appendChild(document.createTextNode(parent + " Touzel"));
				}
			}
			if (parentsselm[0].getElementsByTagName('partner')[0].childNodes.length>0){
				var partnerparent = parentsselm[0].getElementsByTagName('partner')[0].firstChild.nodeValue;
				parentscol.appendChild(document.createTextNode(', '));
				parentscol.appendChild(document.createTextNode(partnerparent));
			}
		}

		parentsrow.appendChild(parentscol);
		infotablebody.appendChild(parentsrow);

		var partnerrow = document.createElement('TR');
		var partnercol = document.createElement('TD');
		partnercol.colSpan = 2;
		if (english) partnercol.appendChild(document.createTextNode("Husband/Wife: "+partner));
		else partnercol.appendChild(document.createTextNode("Conjoint: "+partner));
		partnerrow.appendChild(partnercol);
		infotablebody.appendChild(partnerrow);

		var kidsrow = document.createElement('TR');
		var kidscol = document.createElement('TD');
		kidscol.colSpan = 2;
		if (english) kidscol.appendChild(document.createTextNode("Kids: "));
		else kidscol.appendChild(document.createTextNode("Enfants: "));

		var kidselm = selectedElement.getElementsByTagName('kids');
		if (kidselm[0].childNodes.length>0){
			var kidsnodes =kidselm[0].getElementsByTagName('kid');
			var kidsnum = kidsnodes.length;
	
			for (j=0; j<kidsnum; j++){
				var kidsnode = kidsnodes[j];
				var kidsname = kidsnode.getElementsByTagName('firstname')[0].firstChild.nodeValue;
				
				if (kidsnode.getElementsByTagName('id')[0].childNodes.length>0){
					var kidsid = kidsnode.getElementsByTagName('id')[0].firstChild.nodeValue;
				
					var kidlink = document.createElement('A');
					kidlink.setAttribute('href',currentPage+"?id="+kidsid);
					kidlink.appendChild(document.createTextNode(kidsname));
					kidscol.appendChild(kidlink);
				}else{
					kidscol.appendChild(document.createTextNode(kidsname));
				}
				if (j<kidsnum-1)kidscol.appendChild(document.createTextNode(', '));
				
			}
		}

		kidsrow.appendChild(kidscol);
		infotablebody.appendChild(kidsrow);
		
		document.getElementById('writeroot').appendChild(infotableElement);	
		document.getElementById('writeroot').appendChild(document.createElement('BR'));
	}
	

	// CREATETABLE FUNCTION
	function createTable()
	{

		var selectedElement = document.createElement('BR');
		var x = xmlDoc.getElementsByTagName('touzel');
		
		var tableElement = document.createElement('TABLE');
		tableElement.setAttribute('id','registry');
		tableElement.setAttribute('cellpadding',2);
		tableElement.setAttribute('cellspacing',0);
		tableElement.setAttribute('width','100%');
		
		var tablebody = document.createElement('TBODY');
		tableElement.appendChild(tablebody);
		var header = document.createElement('TR');
		
		if (english){
			header.appendChild(createColumn("Name",221));
			header.appendChild(createColumn("Birth",127));
			header.appendChild(createColumn("Death",124));
			header.appendChild(createColumn("Husband/Wife",227));
			header.appendChild(createColumn("",30));
		}else{
			header.appendChild(createColumn("Nom",221));
			header.appendChild(createColumn("Naissance",127));
			header.appendChild(createColumn("Décès",124));
			header.appendChild(createColumn("Conjoint",227));
			header.appendChild(createColumn("",30));
		}
		
		tablebody.appendChild(header);
		
		for (i=0;i<x.length;i++){
			var row  = document.createElement('TR');
			var background = evenColor;
			if (even){
				row.style.cssText = 'vertical-align: top;background-color:'+evenColor;
			}else{
				row.style.cssText = 'vertical-align: top;background-color:'+oddColor;
				background = oddColor;
			}
			
			var id       = x[i].getElementsByTagName('id');
			var name     = x[i].getElementsByTagName('firstname');
			var birth    = x[i].getElementsByTagName('birth');
			var death    = x[i].getElementsByTagName('death');
			var partner  = x[i].getElementsByTagName('partner');
			var flag     = x[i].getElementsByTagName('flag');
			
			
			var namedata   = document.createElement('TD');

			if (name[0].childNodes.length>0){
				
				if (id[0].childNodes.length>0){
					if (id[0].firstChild.nodeValue == selectedID){
						selectedElement = x[i];
						row.style.cssText = 'vertical-align: top;background-color:#ff9933;font-weight:bolder';
					}
					
					var parentlink = document.createElement('A');
					parentlink.setAttribute('href',currentPage+"?id="+id[0].firstChild.nodeValue);
					parentlink.appendChild(document.createTextNode("Touzel, "+name[0].firstChild.nodeValue));
					namedata.appendChild(parentlink);
				}else{
					namedata.appendChild(document.createTextNode("Touzel, "+name[0].firstChild.nodeValue));
				}
			}else{
				namedata.appendChild(document.createTextNode("---"));
			}
			
			row.appendChild(namedata);
			
			if (birth[0].childNodes.length>0){
				var birthyear = "";
				if (birth[0].getElementsByTagName('year')[0].childNodes.length>0){
					birthyear = birth[0].getElementsByTagName('year')[0].firstChild.nodeValue;
				}
				if (birthyear.length>0){
					row.appendChild(createDataRow(birthyear));
				}
				else{
					row.appendChild(createDataRow("???"));	
				}
			}else{
				row.appendChild(createDataRow("???"));	
			}

			if (death[0].childNodes.length>0){
				var deathyear = "";
				if (death[0].getElementsByTagName('year')[0].childNodes.length>0){
					deathyear = death[0].getElementsByTagName('year')[0].firstChild.nodeValue;
				}
				if (deathyear.length>0){
					row.appendChild(createDataRow(deathyear));
				}
				else{
					row.appendChild(createDataRow("???"));	
				}
			}else{
				row.appendChild(createDataRow("---"));	
			}

			if (partner[0].childNodes.length>0){
				row.appendChild(createDataRow(partner[0].firstChild.nodeValue));
			}else{
				row.appendChild(createDataRow("---"));
			}

			var imgdata   = document.createElement('TD');
			if (flag[0].childNodes.length>0){
				var imgelm    = document.createElement('IMG');
				imgelm.setAttribute('src','imgs/'+flag[0].firstChild.nodeValue);
				imgdata.style.cssText = 'text-align:center;vertical-align:middle';
				imgdata.appendChild(imgelm);
			}
			row.appendChild(imgdata);
			
			tablebody.appendChild(row);
			even =  ! even;
		}
		if (selectedID.length>0){
			createInfoTable(selectedElement);	
		}
		document.getElementById('writeroot').appendChild(tableElement);

	}