var dirRoot = "";
var contentArray = new Array();
var element = new Array();
var currentType = "none";
var currentProject = "none";
var contentOn = 0;
var someProjectOn = 0;
var currentLang = "fr";
var langA = new Array();
langA["en"] = "Eng";
langA['fr'] = "Fr";
langA['sw'] = "Sv";
var currentPage;
var menuProjetsString = "";
var addedProject = 0;
var ancientType = 0;
var ancientProject = 0;
var dirRoot = "";



function init() {
	loadContact();
	if (typeof adminOn == "undefined") {
		var cibleJson = "admin/valid.json";
		dirRoot = "content";
		
	}
	else  {
		if (adminOn == true) {
			var cibleJson = "admin/temp.json";
			dirRoot = "content_modif";
		}
	}
	

	new Ajax.Request(cibleJson, {
	  	method: 'get',
	  	onSuccess: function(transport) {
	  	var content = transport.responseText.evalJSON();
		initContent(content);
	}
	});
}

function loadContact() {
	$('Projet').update(contactStr);
}




	

function initContent (jsonObj) {
	
	for (i=0; i<=6; i++) {
	
		contentArray[jsonObj['type'][i]['name']] = new Array();
		
		contentArray[jsonObj['type'][i]['name']]['state'] = jsonObj['type'][i]['state'];
		
		if (jsonObj['type'][i]['state'] == "fill") {
			contentArray[jsonObj['type'][i]['name']]['projects'] = jsonObj['type'][i]['projects'];
			contentArray[jsonObj['type'][i]['name']]['menuName'] = menuArray[jsonObj['type'][i]['name']];
			topInsert = '<a href="javascript:loadmenu(\''+ jsonObj['type'][i]['name'] + '\')">'
						+ '<span id="menuTitre' + jsonObj['type'][i]['name'] + '">'
						+ contentArray[jsonObj['type'][i]['name']]['menuName'][currentLang] + '</a>'
						+ '</span>';
			$('menu' + jsonObj['type'][i]['name']).update (topInsert);
			
						
		}
	}
	
}

function loadmenu (typeName) {
	currentProject = "none";
	$('menucontact').removeClassName('on');
	$('menucontact').addClassName('off');
	$('menucontact').update('<a href=""><span id="menuTitrecontact">'+menuArray['contact'][currentLang]+'</span></a>');
	$('TopLeft').update('<img src="img/encore_logo.gif">');
	
	newType = typeName;
	$('Projet').update("");
	if (currentType != "none") {
	currentSpanId = $("menu" + currentType);
	currentSpanId.update('<a href="javascript:loadmenu(\''+ currentType + '\')">'
						+ '<span id="menuTitre' + currentType + '">'
						+ contentArray[currentType]['menuName'][currentLang] + '</span></a>')
	};
	newSpanId = $("menu" + newType);
	newSpanId.update('<span id="menuTitre' + newType + '">' + contentArray[newType]['menuName'][currentLang]+ '</span>')
	newSpanId.removeClassName('off');
	newSpanId.addClassName('on');
	currentType = typeName;
	if (typeof contentArray[typeName]['projects'][0]['contents'] == "undefined" ) {
		nbProject = contentArray[typeName]['projects'].length;
		dirType = dirRoot + '/' + typeName + '/';
		for (ib=0; ib<=nbProject-1; ib++) {
			dirProject = dirType + contentArray[typeName]['projects'][ib]['dir'] + '/';
			contentArray[typeName]['projects'][ib]['contents'] = new Array();
			contentArray[typeName]['projects'][ib]['dirfull'] = dirProject;
			addContent(dirProject,typeName,ib);
			}
		}
	else {
		trigger ();
	}
	
}
function trigger () {
		nbProject = contentArray[currentType]['projects'].length;
		for (i=0; i<=nbProject-1; i++) {
			affichMenuProjet(i);
		}
		if (currentProject=="none") currentProject = 0;
		loadProjet(currentProject);
}


function addContent (dir,name,nPr) {


	
	new Ajax.Request(dir + 'content.xml', {
	  method: 'get',
	  onSuccess: function(transport) {
		var xml = transport.responseXML;
		xmlParseur(xml);
		}
	});
	

	function xmlParseur(xmlDoc) {
			
			element=new Array();	
			element['desc'] = new Array();
			descTag=xmlDoc.getElementsByTagName('desc');
			nbDesc = xmlDoc.getElementsByTagName('desc').length;
			
			for (i=0; i<=nbDesc-1; i++){ 
				element['desc'][i] = new Array();
				element['desc'][i]['fr'] = descTag[i].getElementsByTagName('fr')[0].firstChild.nodeValue;
				element['desc'][i]['en'] = descTag[i].getElementsByTagName('en')[0].firstChild.nodeValue;
				element['desc'][i]['sw'] = descTag[i].getElementsByTagName('sw')[0].firstChild.nodeValue;
			}
			
			
			element['page'] = new Array();
			pageTag=xmlDoc.getElementsByTagName('page');
			nbPage = xmlDoc.getElementsByTagName('page').length;
			element['nbPage'] = nbPage;
			
			
			for (i=0; i<=nbPage-1; i++){
				element['page'][i] = new Array();
				element['page'][i]['image'] = pageTag[i].getAttribute("image");
				langArray = new Array ('fr','en','sw');
				
				for (j=0; j<=2; j++) {
					element['page'][i][langArray[j]] = new Array();
					nbP = pageTag[i].getElementsByTagName(langArray[j])[0].getElementsByTagName('p').length;
					pTag = pageTag[i].getElementsByTagName(langArray[j])[0].getElementsByTagName('p');
					element['page'][i][langArray[j]]['nbP'] = nbP;
					
					element['page'][i][langArray[j]]['p'] = new Array();
					
					for (k=0; k<=nbP-1; k++) {
						
						element['page'][i][langArray[j]]['p'][k] = pTag[k].firstChild.nodeValue;
					}
				}
			}
		contentArray[name]['projects'][nPr]['contents'] = element;
		element=0;
		addedProject++;
		if (addedProject == contentArray[name]['projects'].length) {
			trigger();
			addedProject = 0;
		}
	}
}	

function affichMenuProjet(projectNumber) {
 affichName = contentArray[currentType]['projects'][projectNumber]['contents']['desc'][0][currentLang];

 lastProj = contentArray[currentType]['projects'].length - 1;
 if (projectNumber < lastProj) {
	separate = " - ";
	menuProjetsString+= '<span id="menuProject' + projectNumber + '" class="off"><a href="javascript:loadProjet(' + projectNumber + ')">' + affichName + '</a></span>' + separate
	
 }
 else {
	separate = "&nbsp;";
	menuProjetsString+= '<span id="menuProject' + projectNumber + '" class="off"><a href="javascript:loadProjet(' + projectNumber + ')">' + affichName + '</a></span>' + separate
	$('Projet').update(menuProjetsString);
	menuProjetsString = "";
	}
 
}

function loadProjet (PjNbr) {
	ancientProjet = PjNbr;
	currentPage = 0;
	ancientType = currentType;
	conTemp = contentArray[currentType]['projects'][PjNbr]['contents'];
	
	
	newProject = PjNbr;
	if (currentProject != "none") {
		currentSpanIdP = $("menuProject" + currentProject);
		currentSpanIdP.update('<a href="javascript:loadProjet(\''+ currentProject + '\')">'
							+ contentArray[currentType]['projects'][currentProject]['contents']['desc'][0][currentLang] + '</a>');
		currentSpanIdP.removeClassName('on');
		currentSpanIdP.addClassName('off');
	}
	newSpanIdP = $("menuProject" + newProject);
	newSpanIdP.update(conTemp['desc'][0][currentLang])
	newSpanIdP.removeClassName('off');
	newSpanIdP.addClassName('on');
	currentProject = PjNbr;
	
	
	
	dirImg = contentArray[currentType]['projects'][PjNbr]['dirfull'];
	someProjectOn = 1;
	if (contentOn == 0) {
		new Ajax.Updater('Contenu', 'content/inc/content.inc.html' , {method: 'get',
																		onComplete: function() {
																			loadText();
																	}
																		});
		
	}
	else {loadText;}
	
	function loadText () {
		for (icL=1; icL <= 9; icL++) {
			$('desctitre' + icL).innerHTML = infoArray[icL][currentLang]; 
		}
		for (ilP=1; ilP<= 9; ilP++) {
				if (conTemp['desc'][ilP][currentLang] == "none") {
				$('desc' + ilP).update("&nbsp;");
				if ($('descline' + ilP).visible()) {$('descline' + ilP).toggle();}
			}
			else {
				if (!$('descline' + ilP).visible()) {$('descline' + ilP).toggle();}
				$('desc' + ilP).update(conTemp['desc'][ilP][currentLang]);
				}
		}
		nbP = conTemp['page'][0][currentLang]['nbP']
		for (inbP=0; inbP<=nbP-1; inbP++) {
			  if (conTemp['page'][currentPage][currentLang]['p'][inbP] == "none") {
				new Insertion.Bottom('Desc', '<p>&nbsp;</p>');
			 } else {
				new Insertion.Bottom('Desc', '<p>'+ conTemp['page'][currentPage][currentLang]['p'][inbP] + '</p>');
			 }
		}
		$('nbPage').update(conTemp['page'].length);
		$('currentPage').update(currentPage+1);
		if (conTemp['page'].length > 1) {
			$('Image').update('<a href="javascript:changePage(\'+1\');"><img src="'+dirImg+conTemp['page'][0]['image']+'"></a>');
			}
			else {$('Image').update('<img src="'+dirImg+conTemp['page'][0]['image']+'">');}
			
		
		if (conTemp['page'].length > 1) {
			$('flecheNavig').update('<a href="javascript:changePage(\'+1\');"><img src="img/fleche_droite.jpg" style="vertical-align:bottom"/></a>')
		}
		else {$('flecheNavig').update('<img src="img/fleche_droite.jpg" style="vertical-align:bottom"/>');}
	
	}
}

function changePage (mode) {
	conTemp = contentArray[currentType]['projects'][currentProject]['contents'];
	if (mode == "+1") {
		if (currentPage + 1 > conTemp['page'].length-1) {
			currentPage = 0;
		}
		else {
			currentPage++;
		}
	}
	for (icL=1; icL <= 9; icL++) {
			$('desctitre' + icL).innerHTML = infoArray[icL][currentLang]; 
		}
	for (ilP=1; ilP<= 9; ilP++) {
				if (conTemp['desc'][ilP][currentLang] == "none") {
				$('desc' + ilP).update("&nbsp;");
				if ($('descline' + ilP).visible()) {$('descline' + ilP).toggle();}
			}
			else {
				if (!$('descline' + ilP).visible()) {$('descline' + ilP).toggle();}
				$('desc' + ilP).update(conTemp['desc'][ilP][currentLang]);
				}
		}
		
	
	$('Desc').innerHTML = "";
	nbP = conTemp['page'][currentPage][currentLang]['nbP'];
	for (inbP=0; inbP<=nbP-1; inbP++) {
			 if (conTemp['page'][currentPage][currentLang]['p'][inbP] == "none") {
				new Insertion.Bottom('Desc', '<p>&nbsp;</p>');
			 } else {
				new Insertion.Bottom('Desc', '<p>'+ conTemp['page'][currentPage][currentLang]['p'][inbP] + '</p>');
			 }
		}
	$('currentPage').update(currentPage+1);
	dirImg = contentArray[currentType]['projects'][currentProject]['dirfull'];
	if (mode != "updateLang") {
		$('Image').update('<a href="javascript:changePage(\'+1\');"><img src="'+dirImg+conTemp['page'][currentPage]['image']+'"></a>');
	}
	if (currentPage != 0) {
		if ($('Info').visible()){$('Info').toggle()};
	}
	else {
		if (!$('Info').visible()){$('Info').toggle()};
	}
	
	
}

//************************************************
//changement de langue
//************************************************
function changLang(newLang) {
	currentSpanIdL = $("Lang" + currentLang);	
		currentSpanIdL.update('<a href="javascript:changLang(\''+ currentLang + '\')">'
							+ langA[currentLang] + '</a>');
		currentSpanIdL.removeClassName('on');
		currentSpanIdL.addClassName('off');
	newSpanIdL = $("Lang" + newLang);
	newSpanIdL.update(langA[newLang]);
	newSpanIdL.removeClassName('off');
	newSpanIdL.addClassName('on');
	currentLang = newLang;
	setMenuClass(currentLang);
	for (iMa=0; iMa < menuArray['nom'].length; iMa++) {
		$('menuTitre' + menuArray['nom'][iMa]).update(menuArray[menuArray['nom'][iMa]][currentLang]);
	}
	if (someProjectOn == 1) {
		changePage("updateLang");
	}
	trigger();
		
}

//************************************************
//espacement entre les termes en fonction de la langue
//pour faire en sorte que le menu prenne toute la largeur 
//et que le dernier soit ferré à droit
//************************************************
function setMenuClass(newLang) {
	var menu = document.getElementById("Menu");
	for (var i=0; i< menu.childNodes.length; i++) {
		if (menu.childNodes[i].className!=null) {			
			if (menu.childNodes[i].className.indexOf("Lang") >= 0) {
				menu.childNodes[i].className = "Lang" + newLang;
			}
			if (menu.childNodes[i].className.indexOf("menuitem") >= 0) {				
				menu.childNodes[i].className = "menuitem" + newLang;
			}
		}

	}
}
					