// modifie la valeur de la langue selectionnee sur le site
function displayLanguage(variable, language)
{
	setcookie(variable, language);
}

// modifie la valeur du format selectionne sur le site
function displayFormat(variable, format)
{
	setcookie(variable, format);
}

// definit un cookie
function setcookie(name, value){
	var today=new Date();
	var totalYears = today.getUTCFullYear() - 1969;
	var totalMonths = today.getUTCMonth()/12;
	var expireMilliseconds = ((totalYears + totalMonths)*365*24*60*60*1000);

	// la date d'expiration du cookie est fixee à environ 1 an plus tard
	var expireDate = new Date(expireMilliseconds);
	document.cookie=name + "=" + escape(value) + "; path=/; expires=" + expireDate.toGMTString();
}

var currentLang = getcookie('lang');
//alert(currentLang);
if (!currentLang)
	{ currentLang = 'FR'; }
	
var browserErrorLink = '../' + currentLang + '/BrowserError.asp';


// recupere la valeur d'un cookie
function getcookie(name){
	var cookies = document.cookie.split(/;/);
	for(var i=0; i < cookies.length; i++)
	{
		var mycook = cookies[i].split(/=/);
		if(mycook[0]=='lang')
		{
			//alert('fdfds');
			return unescape(mycook[1]);
		}
	}
}


// pour les traductions dans les republications

var iMoz = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined');
var iIe = (typeof window.ActiveXObject != 'undefined');
var iSourceXML = "Description.xml";
var iSourceXSL = "/scripts2/config/translation.xslt";
var iCurrentID = getId();
var currentLang = getLanguage();
var currentLangLabel = getLangLabelFromId(currentLang);


function setFolder(folder)
{
	if (folder != '') {
		iSourceXML = "../" + folder + "/Description.xml";
	}
}


function getLanguage()
{
	return LireCookie('language');
}

function getId()
{
	var pageNameTab = document.location.href.split("/");
	var tabId = pageNameTab[pageNameTab.length - 1].split("-");
	var id = "";

	pageNameTab = pageNameTab[pageNameTab.length - 1].split("\\");
	pageNameTab = pageNameTab[pageNameTab.length - 1].split(".");
	id = pageNameTab[0];
	
	if (tabId.length > 5)
		id = id.substring(2, id.length);

	return id;
}

function setLanguage(selectedLanguage)
{	
	document.cookie="language="+escape(selectedLanguage);
	document.location.href = document.location.href;
}

function initLanguage()
{
	var langBox = document.getElementById("langBox");
	//var getSelect = false;
	
	if (currentLang != '' && currentLang != null) {
		for(i=0; i<langBox.length; i++)
		if (langBox[i].value == currentLang) {
			langBox[i].selected = true;
			//getSelect = true;
			}
	}
			

}
	
// recupère la valeur d'un cookie	
function LireCookie(nom)
{
	var arg=nom+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen)
	{
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;
	}
	return null;
}

// recupere un combo nom=valeur
function getCookieVal(offset)
{
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	//return decodeURI(unescape(document.cookie.substring(offset, endstr)));
	return decodeURI(unescape(document.cookie.substring(offset, endstr)));
}

function showTranslations()
{
	if (currentLang == '' || currentLang == null){
		currentLang = document.getElementById("langBox")[0].value;
	}
	
	if (currentLang != '') {
			transformXML();
	}
}

// TRANSFORMATION DU FICHIER XML
function transformXML()
{

 	if (iIe) {
		// on charge le fichier xml
		iXmlDoc = new ActiveXObject("Msxml2.DOMDocument");
		iXmlDoc.async = false;
		iXmlDoc.resolveExternals = false;
   		iXmlDoc.validateOnParse = false;
		iXmlDoc.load(iSourceXML);
 
		// on appelle la transformation
		transformeIE();
 	}
	else {
		// on charge le fichier xml
        iXmlDoc = document.implementation.createDocument("http://www.w3.org/1999/XML/", "xml", null);
		iXmlDoc.onload = onLoadingMoz;
        iXmlDoc.load(iSourceXML);
		}
  
}


// pour mozilla, on attend que le fichier soit bien charge avant de lancer la transformation
function onLoadingMoz() {
	 transformeMozilla();
}


// TRANSFOMATION SOUS MOZILLA
function transformeMozilla() {
    
        var oXSL = document.implementation.createDocument("http://www.w3.org/1999/XSL/Transform","stylesheet",null);
        oXSL.addEventListener("load", onload, false);
        oXSL.load(iSourceXSL);
	
        function onload() {
        		
                 var xsltProcessor = new XSLTProcessor();
                 xsltProcessor.importStylesheet(oXSL);

				 // on transmet l'id du segment en parametre
				 //var param = "ShotID";
				 xsltProcessor.setParameter(null, "ShotID", iCurrentID);   
		         xsltProcessor.setParameter(null, "ShotLanguage", currentLang);   
		         xsltProcessor.setParameter(null, "ShotLanguageLabel", getLangLabelFromId(currentLang));   
		         
                 var htmlFragment = xsltProcessor.transformToFragment(iXmlDoc, document);
                 document.getElementById("Translations").appendChild(htmlFragment); 

				 xmlLoaded = true;
       }

       
}

// TRANSFORMATION SOUS IE
function transformeIE (){
         
	var xslt = new ActiveXObject("Msxml2.XSLTemplate");
    var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
    
    xslDoc.async = false;
    xslDoc.resolveExternals = false;
    xslDoc.load(iSourceXSL);
    
    xslt.stylesheet = xslDoc;
       
    xslProc = xslt.createProcessor();
    xslProc.input = iXmlDoc;
	// on transmet l'id du segment en parametre
	xslProc.addParameter("ShotID", iCurrentID);
    xslProc.addParameter("ShotLanguage", currentLang);
    xslProc.addParameter("ShotLanguageLabel", getLangLabelFromId(currentLang));
    xslProc.transform();

	document.write(xslProc.output);

	xmlLoaded = true;

}

function getLangLabelFromId(theLang)
{
	switch (theLang) {
		case 'af74f7280-6495-4d31-a718-109b32a65ec4': return 'fr'; break; 
		case 'a36aeb4c9-45e0-42ae-9de5-380140b84cc1': return 'en'; break; 
		case 'a9fdccb0c-8910-4255-b93c-7a554bb99c1c': return 'de'; break; 
		case 'afb6bcec7-7caa-4c6e-bfc5-948ff3f08bcc': return 'ar'; break; 
		case 'a32a0a28e-0156-4729-92ed-51dc0f777398': return 'bg'; break; 
		case 'af4077a93-9dc3-4b70-bdb5-712320fe66ca': return 'zh'; break; 
		case 'a552dca85-dc70-412a-a9fa-003d22d2ffee': return 'es'; break; 
		case 'a93bf2815-b19f-4d47-985a-b4d86b89f9a5': return 'fi'; break; 
		case 'a6ef3bca8-9c61-43a2-bc8f-1264a0bc48a4': return 'it'; break; 
		case 'aa55ba4f6-2aa7-4861-8cbf-8749051ffb2c': return 'pt'; break; 
		case 'a8aafc3f3-8c4e-456b-bf2c-f2cb5b84f50e': return 'pl'; break; 
		case 'a4d8103fa-4e2b-4a1f-927d-473832cf1e4f': return 'tr'; break; 
		case 'afc688a5c-217d-42b3-9ea1-1b346bbcf9c2': return 'az'; break; 
		case 'a1722366c-3d81-44be-948b-80acb938c258': return 'ru'; break; 
		default: return'fr'; break;
	}	
}

 function CreateBookmarkLink() {

	title=document.title;
	url=document.location;

   if (document.all)
     window.external.AddFavorite(url, title);
   else 
 	alert('Please press CTRL+D');
 
}

 

 
 