/* Copyright (c) 2008-2010 Bernard Frangoulis */

var W3CDOM = (document.createElement && document.getElementsByTagName);

// ================================================================================

Array.prototype.indexesOf_num = function(str)
{
	for(var i=0; i<this.length; i++) {
		for(var j=0; j<this[i].length; j++) {
			if(str==this[i][j]) {
				return (i+","+j);
			}
		}
	}
	return "";
}				

// ================================================================================

function init_page(which)
{
	if(!W3CDOM) return;
	init_vars(which);
	load_toc();
}

// ================================================================================

function load_toc()
{
	var toc='';
	var me='';
	var url=document.URL;
	if(url.substr(url.length-1)=="#") url=url.substr(0,url.length-1);
	var n=url.lastIndexOf("/");
	if(url.substr(url.length-4)==".php")
		me=url.substr(n+1,url.length-n);
	else
		me=url.substr(n+1,url.length-n-6);
	if(!isNaN(me.substr(me.length-2,1))) me=me.substr(0, me.length-2); //acadedmus09=acadedmus
	var where=links.indexesOf_num(me);
	if(where=="") return;
	var chapter=where.split(",")[0];
	
	for(var i=0; i<chapters.length; i++) {
		if(links[i][0]=="-") {
			toc = toc + "<hr />\r";
		}
		
		else {
			var the_lang = lang;
			if(lang=="it" && links[i][0].substr(0,6)!="popart") the_lang="en";
			if(links[i][0].substr(0, 5)=="http:")
				toc = toc + "<li><a href='" + links[i][0] + "'";
			else if(links[i][0].substr(links[i][0].length-4, 4)==".php")
				toc = toc + "<li><a href='../../" + the_lang + "/" + kind + "/" + links[i][0] + "'";			
			else
				toc = toc + "<li><a href='../../" + the_lang + "/" + kind + "/" + links[i][0] + ".html'";
				
			if(links[i][0]==me)
				toc = toc + " class='youarehere'";
			else if(chapter==i)
				toc = toc + " class='current'";
			if(links[i][0].substr(0, 5)=="http:") toc = toc + " target='_blank'";
			toc = toc + ">" + chapters[i][0] + "<" + String.fromCharCode(47) + "a>";
			if(chapters[i].length==1) {
				toc = toc + "<" + String.fromCharCode(47) + "li>\r";
			}
			else if(chapters[i].length>1 && chapter==i) {
				toc = toc + "\r<ul>\r";
				for(var j=1; j<chapters[i].length; j++) {
					
					if(links[i][j].substr(0, 5)=="http:")
						toc = toc + "<li><a href='" + links[i][j] + "'";
					else if(links[i][j].substr(links[i][j].length-4, 4)==".php")
						toc = toc + "<li><a href='../../" + the_lang + "/" + kind + "/" + links[i][j] + "'";			
					else
						toc = toc + "<li><a href='../../" + the_lang + "/" + kind + "/" + links[i][j] + ".html'";
					
					if(links[i][j]==me) toc = toc + " class='youarehere'";
					if(links[i][j].substr(0, 5)=="http:") toc = toc + " target='_blank'";
					toc = toc + ">" + chapters[i][j] + "<" + String.fromCharCode(47) + "a><" + String.fromCharCode(47) + "li>\r";
				}
				toc = toc + "\r<" + String.fromCharCode(47) + "ul>\r";
			}
		}
	}
	
	GetObj('toc').innerHTML = toc;
}


// ================================================================================

function init_language(other)
{
	if(!W3CDOM) return;
	var url=String(document.URL);
	//url = url + (url[url.length-1] == '/' ? 'index.html' : '');
	if(url.substr(url.length-5, 5)=='test/')
		url = url + 'index.html';
	else if(url.substr(url.length-5, 5)=='/test')
		url = url + '/index.html';
	
	var url2=url;
	
	// Exceptions
	if(url.indexOf('tysedmus_fiches')>-1)
		url2=url.replace('tysedmus_fiches', 'tysedmus');
	else if(url.indexOf('tysedmus_groupe')>-1)
		url2=url.replace('tysedmus_groupe', 'tysedmus');
	else if(url.indexOf('acadedmus')>-1) {
		var re = /acadedmus\d\d/;
		url2 = url.replace(re, 'acadedmus');
	}
	else if(url.indexOf('devic_general')>-1) {
		var re = /devic_general\d\d/;
		url2 = url.replace(re, 'devic_general');
	}
	else if(url.indexOf('devic_igg')>-1) {
		var re = /devic_igg\d\d/;
		url2 = url.replace(re, 'devic_general');
	}
	else if(url.indexOf('nomadmus')>-1) {
		var re = /nomadmus\d{0,2}/;
		url2 = url.replace(re, 'devic_general');
	}
		
	if(other=="it") {
		if(url.indexOf('/en/')>-1) {
			GetObj('lang').innerHTML = "<a href='" + document.URL + "' class='lang current'>English</a>"
				+ "<a href='" + url.replace('/en/', '/fr/') + "' class='lang'>Fran&ccedil;ais</a>"
				+ "<a href='" + url.replace('/en/', '/it/') + "' class='lang'>Italiano</a>";
			
		}
		else if(url.indexOf('/fr/')>-1) {
			GetObj('lang').innerHTML = "<a href='" + url.replace('/fr/', '/en/') + "' class='lang'>English</a>"
				+ "<a href='" + url + "' class='lang current'>Fran&ccedil;ais</a>"
				+ "<a href='" + url.replace('/fr/', '/it/') + "' class='lang'>Italiano</a>";
		}
		else if(url.indexOf('/it/')>-1) {
			GetObj('lang').innerHTML = "<a href='" + url.replace('/it/', '/en/') + "' class='lang'>English</a>"
				+ "<a href='" + url.replace('/it/', '/fr/') + "' class='lang'>Fran&ccedil;ais</a>"
				+ "<a href='" + url + "' class='lang current'>Italiano</a>"
		}
	}
	
	else {
		if(url.indexOf('/en/')>-1) {
			GetObj('lang').innerHTML = "<a href='" + document.URL + "' class='lang current'>English</a>"
				+ "<a href='" + url.replace('/en/', '/fr/') + "' class='lang'>Fran&ccedil;ais</a>";
			
		}
		else if(url.indexOf('/fr/')>-1) {
			GetObj('lang').innerHTML = "<a href='" + url2.replace('/fr/', '/en/') + "' class='lang'>English</a>"
				+ "<a href='" + url + "' class='lang current'>Fran&ccedil;ais</a>";
		}
		else if(url.substr(url.length-10, 6)=="index.") {
			GetObj('lang').innerHTML = "<a href='" + url + "' class='lang current'>English</a>"
				+ "<a href='" + url.replace('index.', 'indexf.') + "' class='lang'>Fran&ccedil;ais</a>";
		}
		else if(url.substr(url.length-11, 6)=="indexf") {
			GetObj('lang').innerHTML = "<a href='" + url.replace('indexf.', 'index.') + "' class='lang'>English</a>"
				+ "<a href='" + url + "' class='lang current'>Fran&ccedil;ais</a>";
		}
	}
}

// ================================================================================


function google_site_search()
{
	var searchSite = "www.edmus.org";
	var searchString = document.searchform.searchstr.value;
	if (searchString != "") {
		searchString = searchString.replace(/ /g,"+");
		window.location = 'http://www.google.com/search?q=site%3a' + searchSite + '+' + searchString;
	}
	return false;
}

// ================================================================================

function GetObj(name)
{
	if (document.getElementById) {
		return document.getElementById(name);
	}
	else if (document.all) {
		return document.all[name];
	}
	else if (document.layers) {
		return document.layers[name];
	}
}

// ================================================================================

function ShowWindow(title, baseUrl, dims, legends, curr, extn, lang)
{
	// Compute the window dimensions to hold the largest image
	var w, h, i;
	w=0; h=0;
	for(i=0; i<dims.length; i++) {
		if(dims[i] > w) w = dims[i];
		if(dims[i+1] > h) h = dims[i+1];
		i++;
	}
	
	// Show the window
	var win = window.open('','','width='+(w+60)+', height='+(h+120)+', top=0, left=0, resizable=yes, scrollbars=yes, menubar=no, toolbar=no, status=no, location=no');
	
	// Write window html
	var tmp = win.document;
	tmp.write('<html><head><title>'+title+'</title>');
	tmp.write('<link rel="stylesheet" type="text/css" href="../../css/edmus.css" />');
	tmp.write('<script language="JavaScript" type="text/javascript" src="../../js/edmus.js"></script>');
	if(lang=='fr')
		tmp.write('</head><body class="popup"><p>'+title+"&nbsp;:&nbsp;");
	else
		tmp.write('</head><body class="popup"><p>'+title+":&nbsp;");

	if(dims.length/2 > 1
	&& dims.length/2 == legends.length) {
		var legend='<span id="legend">';
		var thelegends='';		
		for(i=0; i<legends.length-1; i++) {
			thelegends=thelegends+"'"+legends[i]+"',";
		}
		thelegends=thelegends+"'"+legends[legends.length-1]+"'";
		for(i=0; i<dims.length/2; i++) {
			if(i>0) legend = legend+'&nbsp;|&nbsp;';
			if(legends[curr]==legends[i])
				legend = legend+'<a href="javascript:ChangePic(\''+ baseUrl+'\',['+dims+'],'+i+',['+thelegends+'],\''+extn+'\');"><span class="caps uline">'
					+legends[i]+'</span></a>';
			else
				legend = legend+'<a href="javascript:ChangePic(\''+ baseUrl+'\',['+dims+'],'+i+',['+thelegends+'],\''+extn+'\');">'+legends[i]+'</a>';
		}
		tmp.write(legend+"</span>");
	}
	
	if(dims.length/2 > 1) {
		tmp.write('<img id="pic" src="'+baseUrl+curr+'.'+extn+'" width="'+dims[(curr*2)]+'" height="'+dims[(curr*2)+1]+'" border="0" alt="">');
	}
	else {
		tmp.write('<p><img id="pic" src="'+baseUrl+'.'+extn+'" width="'+dims[0]+'" height="'+dims[1]+'" border="0" alt="">');
	}

	if(lang=='fr')
		tmp.write('<p><a href="javascript:self.close()">Fermer</a> cette fen&ecirc;tre</p>');
	else
		tmp.write('<p><a href="javascript:self.close()">Close</a> this window</p>');
		
	tmp.write('</body></html>');
	tmp.close();
}

function ChangePic(baseUrl, dims, num, legends, extn)
{
	GetObj('pic').src = baseUrl + num + '.' + extn;
	GetObj('pic').width = dims[(num*2)];
	GetObj('pic').height = dims[(num*2)+1];

	var legend='<span id="legend">';
	var thelegends='';		
	for(i=0; i<legends.length-1; i++) {
		thelegends=thelegends+"'"+legends[i]+"',";
	}
	thelegends=thelegends+"'"+legends[legends.length-1]+"'";
	for(i=0; i<dims.length/2; i++) {
		if(i>0) legend = legend+'&nbsp;|&nbsp;';
		if(legends[num]==legends[i])
			legend = legend+'<a href="javascript:ChangePic(\''+ baseUrl+'\',['+dims+'],'+(i)+',['+thelegends+'],\''+extn+'\');"><span class="caps uline">'
				+legends[i]+'</span></a>';
		else
			legend = legend+'<a href="javascript:ChangePic(\''+ baseUrl+'\',['+dims+'],'+(i)+',['+thelegends+'],\''+extn+'\');">'+legends[i]+'</a>';
	}

	GetObj('legend').innerHTML = legend+"</span>";
}

// ================================================================================