function loadjscssfile(filename, filetype){
 if (filetype=="js"){ //if filename is a external JavaScript file
  var fileref=document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
 }
 else if (filetype=="css"){ //if filename is an external CSS file
  var fileref=document.createElement("link")
  fileref.setAttribute("rel", "stylesheet")
  fileref.setAttribute("type", "text/css")
  fileref.setAttribute("href", filename)
 }
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
}



////////////////////////////////////////////////////
var language='ENG'; 
var lastVisible='';

var langTrigger = 0;
var langFlags = new Array("ITA","ENG","FRA");
var professionLang = new Array("Dottorando","PhD Student","Doctorant");
var docs = new Array("MP","BIO","CV","WIP", "Calendar", "OnPress");

var loaded= new Object;
var e = "";
for (i in docs) {
	for (j in langFlags) {
		loaded[langFlags[j]+docs[i]]=0;
		e += langFlags[j]+docs[i]+"="+loaded[langFlags[j]+docs[i]]+"\n";
	}
}



////////////////////////////////////////////////////

function createXMLHttp()
{
    if (window.XMLHttpRequest)
        return new XMLHttpRequest();
 
    if (window.ActiveXObject)
    {
        var names = [
            "Msxml2.XMLHTTP.6.0",
            "Msxml2.XMLHTTP.3.0",
            "Msxml2.XMLHTTP",
            "Microsoft.XMLHTTP"
        ];
        for(var i in names)
        {
            try{ return new ActiveXObject(names[i]); }
            catch(e){}
        }
    }
    window.alert("Votre navigateur ne prend pas en charge l'objet XMLHTTPRequest.");
    return null; // non supporté
}



function initialize () {
	setTheLanguage("ENG");
	loadThisSection("MP");
}

function returnElementID(elementID) {
	if (document.getElementById)
		return document.getElementById(elementID);
	else if (document.all) {// IE4
		alert(document.all[elementID].id);
		return document.all[elementID];
	}
	alert ("ERROR LOADING");
		
	return 0;
}


function setTheLanguage(lang) {
	if (lastVisible != '') {
		setInvisible(language,lastVisible);
	}
	language = lang;
	
	var a = returnElementID('profession');
	for (i in langFlags) {
		if (language == langFlags[i]) {
			a.innerHTML = professionLang[i];
			changeBig(returnElementID(langFlags[i]));
		} else {
			changeSmall(returnElementID(langFlags[i]));
		}	
	}
	
	loadThisSection(lastVisible);

}

function setLanguage() {
	setTheLanguage(this.id);
}


function setInvisible(whichlang,whichPart) {
	var content = returnElementID(whichlang+"_"+whichPart);
	if (content) {
		content.setAttribute('class','hide');
	}
	var menuElement = returnElementID(whichPart);
	if(menuElement) {
		menuElement.parentNode.setAttribute('class','');
	}
	
}

function setVisible(whichlang,whichPart) {


	/*window.alert(whichlang+"_"+whichPart);*/

	var content = returnElementID(whichlang+"_"+whichPart);
	if (content) {
		content.setAttribute('class','visible');
	}



	var menuElement = returnElementID(whichPart);

	if(menuElement) {
		menuElement.parentNode.setAttribute('class','active');
	}
}

function loadThisSection(whichPart) {

	if (lastVisible != '') {
		setInvisible(language,lastVisible);
	}
	
	if (loaded[language+whichPart] == 0) {
		// Never Loaded
		loaded[language+whichPart] = 1;
		loadPart(language,whichPart);
	} else {
		// Already loaded, reload
		setVisible(language,whichPart);		
	}
	
	lastVisible = whichPart;
}


function loadSection() {
	var whichPart = this.id;	
	loadThisSection(whichPart);
}


function loadPart(whichlang,whichPart) {
		
	var url = "./"+ whichlang +"_"+ whichPart +".html";
	var data = "";
	//ERROR HERE FOR IE4
	var client = createXMLHttp();
	client.open('GET', url, true);

	client.setRequestHeader('Content-type', "application/x-www-form-urlencoded");	

	client.onreadystatechange = function() {
		statechange_loadPart(client, whichlang, whichPart);
	}
	
	client.send(data);
}


function statechange_loadPart(req, whichlang, whichPart) {

	if (req.readyState < 4) return;
	
	returnElementID('corpusin').innerHTML += req.responseText;

	setVisible(whichlang,whichPart);

}


function resetBackground (whichPart) {
	whichPart.parentNode.className="";	
}

function setBackground (whichPart) {
	whichPart.parentNode.className ="active";
}

function changeCSS(){
	styleToActivate=this.id;

	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel")!= null) {
			if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
				a.disabled = true;
				if(a.getAttribute("title") == styleToActivate) a.disabled = false;
			}
		}
	}
}



function changeBig(whichPartToBig) { whichPartToBig.firstChild.style.width = "28px"; }
function changeSmall(whichPartToSmall) { whichPartToSmall.firstChild.style.width = "24px"; }



//
//// EVENTS LISTENERS
//
if (returnElementID(langFlags[0]).addEventListener) {
	for (i in langFlags) {
		returnElementID(langFlags[i]).addEventListener('click', setLanguage, false);
	}

	for (i in docs) {
		returnElementID(docs[i]).addEventListener('click', loadSection, false);
	}	
	
} else {

	for (i in langFlags) {
		returnElementID(langFlags[i]).attachEvent('onclick', setLanguage);
	}

	for (i in docs) {
		returnElementID(docs[i]).attachEvent('onclick', loadSection);
	}
}


initialize();


