// JavaScript Document
// Instance AJAX
function createXHR() 
{
    var request = false;
        try {
            request = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch (err2) {
            try {
                request = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch (err3) {
		try {
			request = new XMLHttpRequest();
		}
		catch (err1) 
		{
			request = false;
		}
            }
        }
    return request;
}

function opacity(id, opacStart, opacEnd, millisec) { 
    //speed for each frame 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 

    //determine the direction for the blending, if start and end are the same nothing happens 
    if(opacStart > opacEnd) { 
        for(i = opacStart; i >= opacEnd; i--) { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } else if(opacStart < opacEnd) { 
        for(i = opacStart; i <= opacEnd; i++) 
            { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } 
} 

//change the opacity for different browsers 
function changeOpac(opacity, id) { 
    var object = document.getElementById(id).style; 
    object.opacity = (opacity / 100); 
    object.MozOpacity = (opacity / 100); 
    object.KhtmlOpacity = (opacity / 100); 
    object.filter = "alpha(opacity=" + opacity + ")"; 
} 


function shiftOpacity(id, millisec) { 
    //if an element is invisible, make it visible, else make it ivisible 
    if(document.getElementById(id).style.opacity == 0) { 
        opacity(id, 0, 100, millisec); 
    } else { 
        opacity(id, 100, 0, millisec); 
    } 
} 


// Gestion de class
function getElementsByClass(className) {
  var arr = new Array();
  var elems = document.getElementsByTagName("*" );
  for(var i = 0; i < elems.length; i++) {
		var elem = elems[i];
		var id = elem.getAttribute("id" );
		var cls = elem.className;// normalement on devrait mettre elem.getAttribute("class" ); mais IE supporte pas 
		if(cls == className && id != null) {
		  arr[arr.length] = id;
		}
  }
return arr;
}


// Affichage d'un menu avec effet toggle
function EffectObjToggle(idmenu, parent) { 
	
	// Fermer si un ouvert
	tab = getElementsByClass("zSousMenu");
	for (i=0; i<=tab.length-1; i++) {
			if (document.getElementById(tab[i]).style.display != 'none' && idmenu != tab[i]) {
					Effect.toggle(tab[i], 'blind', { duration: 0.2 }); 
			}
	}
	
	if (document.getElementById(idmenu)) {
		ConteneurLeft = document.getElementById('oConteneur').offsetLeft;
		ConteneurTop = (document.getElementById('oConteneur').offsetTop + document.getElementById('zBMenu').offsetTop);
		document.getElementById(idmenu).style.left = ((ConteneurLeft + document.getElementById(parent).offsetLeft) + 12) + "px"; // 15 correspond a la marge
		document.getElementById(idmenu).style.top =  ((ConteneurTop + document.getElementById(parent).offsetTop) + 26) + "px";
		Effect.toggle(idmenu, 'blind', { duration: 0.2 }); 
	}
	return false;
}


// Function AJX chargeant l'image dans le bloc photo
function loadLogo(id_doc, id_parent) {
	var xhr = createXHR();  
	var myurl = "spip.php?page=ajx-documents&file=" + url_site_spip + "/" + id_doc;
		xhr.onreadystatechange=function()
		{ 
			if(xhr.readyState == 4)
			{ 
				//alert(id_doc)
				//document.getElementById("oMyElement_" + id_parent).style.opacity = 0;
				document.getElementById("oMyElement_" + id_parent).innerHTML =  (xhr.responseText != "") ? xhr.responseText : ""; 
				//opacity("oMyElement_" + id_parent, 100, 0, 500);
				opacity("oMyElement_" + id_parent, 20, 100, 250); 
			} 
			else if (xhr.readyState < 4 && xhr.readyState > 0)
			{ /*opacity("oMyElement_" + id_parent, 100, 20, 1000);*/ }
		}; 
		xhr.open("GET", myurl, true);		
		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xhr.send("id_document=" + id_doc); 
} 

function TimeZone() {
		document.getElementById("BlocInformation").innerHTML = ResponseText;
}

var ResponseText = "";

function OpenDiv(idBloc) {
	Effect.SlideDown(idBloc, { duration: 1.0 }); 
}

function OpenCloseElement(id, etat) {
	document.getElementById(id).style.display = etat;	
}

// Function AJX chargeant l'image dans le bloc photo
function loadInfoArtiste(id_article) {
	var xhr = createXHR();  
	var myurl = "spip.php?page=ajx-artistes&id_article=" + id_article;
		xhr.onreadystatechange=function()
		{ 
			if(xhr.readyState == 4)
			{ 
				//alert(id_doc)
				//document.getElementById("oMyElement_" + id_parent).style.opacity = 0;
				CreateElement("e-Information", document.getElementById('oConteneur'), "Gray");
				CreateElement("BlocInformation", document.getElementById('e-Information'), '');
				document.getElementById("BlocInformation").style.display = "none";
				ResponseText =  (xhr.responseText != "") ? xhr.responseText : "";
				TimeZone();
				setTimeout("OpenDiv('BlocInformation')", 200); 
				setTimeout("OpenCloseElement('bMp3', 'block')", 3000);
				//opacity("e-Information", 20, 100, 250); 
			} 
			else if (xhr.readyState < 4 && xhr.readyState > 0)
			{ document.getElementById("BlocInformation").innerHTML = ""; document.getElementById("BlocInformation").style.display = "none";}
		}; 
		xhr.open("GET", myurl, true);		
		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xhr.send("id_article=" + id_article); 
} 

function CreateElement(id, objParent, objType) {
	// création des nouveaux noeuds
	newObj = document.createElement('div');
	newObj.setAttribute("id", id);
	newObj.innerHTML = "";
	// Bug IE
	//newObj.setAttribute("style", "position:absolute; top:0; left:0; z-index:999; background:#CCC;width:"+ screen.width +"px; height:"+screen.height+"px;");
	if (objType == "Gray") { 
		scrollTo(0, 0);
		document.documentElement.style.overflow = "hidden";
		newObj.style.position = "absolute";
		newObj.style.left = "0";
		newObj.style.top = "0";
		newObj.style.zIndex = "99999";
		newObj.style.background = "url(" + url_site_spip + "/" + sqel + "/images/zGrey.png) repeat top left"; 
		newObj.style.width = document.body.clientWidth + "px";
		newObj.style.height = document.body.clientHeight + "px";
	}
	else {
		newObj.style.position = "absolute";
		newObj.style.left = "50%";
		newObj.style.top = "10%";
		newObj.style.width = "949px";
		newObj.style.zIndex = "999999";
		newObj.style.background = "url(" + url_site_spip + "/" + sqel + "/images/zBackInfos.png) repeat-y top left"; 
		//newObj.style.padding = "10px";
	}
	// raccord des noeuds
	(objType == "Gray") ? insertAfter(newObj, objParent) : objParent.appendChild(newObj);
	(objType == "Gray") ? "" : marger(newObj);
	
}

function marger(newObj) { 
	newObj.style.margin = "-" + ((newObj.offsetHeight/2) + 35 ) + "px 0 " + "0 -" + ((newObj.offsetWidth/2) + 4) + "px"
}

// Supprime Recherche
function ExitSearch() {
  setTimeout("OpenCloseElement('bMp3', 'none')", 10);
  Effect.SlideUp('BlocInformation', { duration: 1.0 }); 
  setTimeout("DestroySearch()", 2000);
}

function DestroySearch() {
	document.getElementById("BlocInformation").innerHTML = "";
	var odiv = document.getElementById("e-Information");
	odiv.parentNode.removeChild(odiv);
	document.documentElement.style.overflow = "";
}

function DestroyPreload() {
	var odiv = document.getElementById("e-Preload");
	odiv.parentNode.removeChild(odiv);
	document.documentElement.style.overflow = "";
}

// Insere un élément apres un autre
function insertAfter(newElement,targetElement) {	
	var parent = targetElement.parentNode;		
	if(parent.lastchild == targetElement) {		
		parent.appendChild(newElement);		
	} else {
		parent.insertBefore(newElement, targetElement.nextSibling);		
	}
}

// Function AJX chargeant l'image dans le bloc photo
function loadFile(id_doc, interface) {
	var xhr = createXHR();  
	var myurl = "spip.php?page=ajx-photos&id_document=" + id_doc;
		xhr.onreadystatechange=function()
		{ 
			if(xhr.readyState == 4)
			{ document.getElementById("zPreview").innerHTML =  (xhr.responseText != "") ? xhr.responseText : ""; } 
			else if (xhr.readyState < 4 && xhr.readyState > 0)
			{ }
		}; 
		xhr.open("GET", myurl, true);		
		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xhr.send("id_document=" + id_doc); 
}

function GetWait() {
	CreateElement("e-Preload", document.getElementById('oConteneur'), "Gray");
	document.getElementById("e-Preload").innerHTML += "<div style='position:absolute; left:50%; top:50%; margin:-68.5px 0 0 -226.5px;'><img src='" + url_site_spip + "/" + sqel + "/images/oElements/loading.gif'></div>";	
} 

function prechargimg() { 
	var doc=document; 
	if(doc.images){ 
		if(!doc.precharg) doc.precharg=new Array();
		var i,j=doc.precharg.length,x=prechargimg.arguments; 
		for(i=0; i<x.length; i++)
		if (x[i].indexOf("#")!=0) { doc.precharg[j]=new Image; doc.precharg[j++].src=x[i];}
		setTimeout("DestroyPreload()", 6000);
	}
}

