//////////////////////////////////////////////////////////////////////////////////////
// Resultats de recherches
/////////////////////////////////////////////////////////////////////////////////////
var sCache_notice = new Object();
var bLectureNotice=false;

function afficher_notice(objetNotice)
{
	visible = document.getElementById(objetNotice).style.display;
	oImg=document.getElementById("I" + objetNotice);
	if( visible == "block" ) 
		{
			if(oImg != null) oImg.setAttribute("src", imagesUrl+ "plus_carre.gif");
			document.getElementById(objetNotice).style.display="none";
			return false;
		}
	else
		{
			if(oImg != null) oImg.setAttribute("src", imagesUrl+ "moins_carre.gif");
			oNotice=document.getElementById(objetNotice);
			oNotice.style.display="block";
			return true;
		}
}

var sPatience="";
var sBlocInfos=new Object();

function refreshOnglets()
{
	sBlocInfos=new Object();
}

function infos_notice(sIdOngletCourant,sIsbn,sType,sCherche,nNiveau,nPage)
{
	if(bProcessing==true)return;
	oOngletCourant=document.getElementById(sIdOngletCourant);
	sIdRoot=sIdOngletCourant;
	nPos=sIdRoot.lastIndexOf("_");
	sIdRoot=sIdRoot.substr(0,nPos + 1);
	nIdNotice=sIdRoot.substr(3,nPos-1).replace("_onglet_","");
	for(nOnglet=0; nOnglet<100; nOnglet++)
	{
		sId=sIdRoot + nOnglet;
		oOnglet=document.getElementById(sId);
		if(!oOnglet) return;
		oContenu=document.getElementById(sId + "_contenu");
		oContenuRow=document.getElementById(sId + "_contenu_row");
		if(oOnglet==oOngletCourant)
		{
			sClasse=oOnglet.getAttribute("class");
			if(!sClasse) sClasse=oOnglet.getAttribute("className");
			oOnglet.setAttribute("className","onglet_select"); oOnglet.setAttribute("class","onglet_select");
			oContenu.style.display="block";
			oContenuRow.style.display="";
			// si déjà  chargé : on l'affiche
			if(typeof(sBlocInfos[sId])!="undefined" && typeof(sBlocInfos[sId][nPage])!="undefined" && !nNiveau) 
			{
				oContenu.innerHTML=sBlocInfos[sId][nPage];
			}
			else
			{
				// Ajax
				if(!sPatience) 
				{
					sPatience=oContenu.innerHTML;
				}else{
					oContenu.innerHTML=sPatience;
				 }
				if(! oAjax) oAjax = new sack();
				oAff=oContenu;
				sUrl=baseUrl + '/opac/noticeopac2/'+ sType + '?isbn=' + sIsbn + '&onglet=' + sId + '&page=' + nPage +'&id_notice='+ nIdNotice;
				if(sCherche) sUrl = sUrl + '&cherche=' + sCherche;
				oAjax.scriptPhp = sUrl;
				oAjax.onCompletion = function(){ afficher_infos_notice(oAff,nPage); };
				oAjax.runAJAX();
				bProcessing=true;
			}
		}
		else
		{
			oOnglet.setAttribute("className","onglet"); oOnglet.setAttribute("class","onglet");
			oContenu.style.display="none";
			oContenuRow.style.display="none";
		}
	}
}
function afficher_infos_notice(oBlocContenu,nPage)
	{
		//alert(oAjax.response);
		oBlocContenu.innerHTML=oAjax.response;
		oBlocContenu.style.display="block";
		
		idRow = oBlocContenu.getAttribute("id");
		oContenuRow=document.getElementById(idRow + "_row");
		oContenuRow.style.display="";
		
		sId=oBlocContenu.getAttribute("id").replace("_contenu","");
		if(typeof(sBlocInfos[sId])=="undefined") sBlocInfos[sId]=new Array();
		sBlocInfos[sId][nPage]=oAjax.response;
		bProcessing=false;
		//alert("RETOUR="+sId);
	}
	
function fermer_infos_notice(sId)
{
	oOnglet=document.getElementById(sId);
	oOnglet.setAttribute("className","onglet"); oOnglet.setAttribute("class","onglet");
	oBlocContenu=document.getElementById(sId + "_contenu");
	oBlocContenu.style.display="none";
	
	oContenuRow=document.getElementById(sId + "_contenu_row");
	oContenuRow.style.display="none";
}

function image_notice(sIsbn, sAsin)
{
	if(bProcessing==true)return;
	if(! oAjax) oAjax = new sack(); else oAjax.reset();
	sUrl=baseUrl + '/opac/noticeopac2/image?' + 'isbn=' + sIsbn;
	oAjax.scriptPhp = sUrl;
	oAjax.onCompletion = function(){ afficher_image_notice(); };
	oAjax.runAJAX();
	bProcessing=true;
}

function afficher_image_notice()
{
	bProcessing=false;
	if(oAjax.response.length < 10){alert("Grande image non disponible."); return;}
	nHauteur=parseInt(oAjax.response.slice(0,5), 10);
	nLargeur=parseInt(oAjax.response.slice(5,10), 10);
	sHtml=oAjax.response.slice(10);
	oBoite=document.getElementById("img_boite");
	oBoite.innerHTML=sHtml;
	oBoite.style.left=document.body.scrollLeft + Math.floor((screen.width - nLargeur)/2);
	oBoite.style.top=document.body.scrollTop +20;
	oBoite.style.width=nLargeur +40;
	// OpacitÃ©
	oBoite.style.opacity =0;
	oBoite.style.filter = 'alpha(opacity=1)';
	oBoite.style.display="block";
	for( var i = 0; i <= 100; i++ )
  setTimeout( 'setOpacity("img_boite",' + (i / 10) + ')' , 15 * i );
}

function afficher_photo_notice(sUrl)
{
	sHtml='<img border="0" style="cursor:pointer;margin:10px;" src="' + sUrl + '" onclick="javascript:document.getElementById(\'img_boite\').style.display=\'none\';">';
	oBoite=document.getElementById("img_boite");
	oBoite.innerHTML=sHtml;
	nLargeur=400;
	oBoite.style.left=document.body.scrollLeft + Math.floor((screen.width - nLargeur)/2);
	oBoite.style.top=document.body.scrollTop +20;
	// Opacité
	oBoite.style.opacity =0;
	oBoite.style.filter = 'alpha(opacity=1)';
	oBoite.style.display="block";
	for( var i = 0; i <= 100; i++ )
  setTimeout( 'setOpacity("img_boite",' + (i / 10) + ')' , 15 * i );
}

function setOpacity( sIdBoite, value ) 
{
 oObj=document.getElementById(sIdBoite);
 oObj.style.opacity = value / 10;
 oObj.style.filter = 'alpha(opacity=' + value * 10 + ')';
}
//////////////////////////////////////////////////////////////////////////////////
// AUTORITES
/////////////////////////////////////////////////////////////////////////////////
var oGoogle_search;
var oAutorite=new Object();

function notice_autorite(sId,sType,sIdEnreg)
{
	if(bProcessing==true)return;
	// Affichage dans onglet notice
	if(sId.slice(0,3)=="set") 
	{
		//alert(sId);
		oAutorite.sIdObjet=sId + "_contenu";
		oAutorite.sIdOnglet=sId;
		autoriteActiverOnglet(sId);
		//alert(oAutorite.sIdObjet);
	}
	else
	{ 
		if(afficher_notice(sId, true) == false) return;
		oAutorite.sIdObjet=sId;
		oAutorite.sIdOnglet="";
	}
	oAutorite.sType=sType;
	oAutorite.sIdEnreg=sIdEnreg;
	
	oFicheAutorite=document.getElementById(oAutorite.sIdObjet);
	if(!sPatience) sPatience=oFicheAutorite.innerHTML; else oFicheAutorite.innerHTML=sPatience;
	if(! oAjax) oAjax = new sack(); else oAjax.reset();
	sUrl=baseUrl + '/opac/noticeautorite/getservers?' + 'type=' + sType + '&id=' + sIdEnreg;
	oAjax.scriptPhp = sUrl;
	oAjax.onCompletion = function(){ autorite_get_servers(); };
	oAjax.runAJAX();
	bProcessing=true;
}

// Recherche google sur les serveurs retournés
function autorite_get_servers()
{
	bProcessing=false;
	// Analyse du code retour
	sCodeRetour=oAjax.response.slice(0,1);
	if(sCodeRetour=="0")
	{
		sHtml=oAjax.response.slice(1,oAjax.response.length);
		oFicheAutorite=document.getElementById(oAutorite.sIdObjet);
		oFicheAutorite.innerHTML=sHtml;
		return;
	}
	// Creer objet search
	if(!oGoogle_search)
	{
		oDiv=document.createElement("div");
		oDiv.style.display='none';
		oDiv.setAttribute("id",'searchcontrol');
		document.body.appendChild(oDiv);
	}
	// Lancer recherche dans les serveurs
	var sServers=oAjax.response.split(';');
	oGoogle_search = new GSearchControl();
	siteSearch=new GwebSearch();
  siteSearch.setUserDefinedClassSuffix("siteSearch");
  siteSearch.setSiteRestriction(sServers[1]);
  oGoogle_search.addSearcher(siteSearch);
  oGoogle_search.setSearchCompleteCallback(null,autorite_response);
  oGoogle_search.draw(document.getElementById("searchcontrol"));
  oAutorite.sCherche=sServers[0];
  oGoogle_search.execute(sServers[0]);
}
function autorite_response(searchControl, searcher)
{
	bProcessing=true;
	oAjax.reset();
	if(!searcher.results.length) {
		sRetour="NOT FOUND";
	}else {
		sRetour=searcher.results[0].url;
	}
	sUrl=baseUrl + '/opac/noticeautorite/resultat?type=' + oAutorite.sType + "&cherche=" + oAutorite.sCherche + '&url=' +  sRetour+ '&onglet=' + oAutorite.sIdOnglet;
//alert("AJAX=" +sUrl);
	oAjax.scriptPhp = sUrl;
	oAjax.onCompletion = function(){ autorite_afficher(); };
	oAjax.runAJAX();
	bProcessing=true;
}
function autorite_afficher()
{
	bProcessing=false;
	//alert(oAjax.response);
	oFicheAutorite=document.getElementById(oAutorite.sIdObjet);
	oFicheAutorite.innerHTML=oAjax.response;
}
function autoriteActiverOnglet( sIdOngletCourant)
{
	oOngletCourant=document.getElementById(sIdOngletCourant);
	sIdRoot=sIdOngletCourant;
	nPos=sIdRoot.lastIndexOf("_");
	sIdRoot=sIdRoot.substr(0,nPos + 1);
	nIdNotice=sIdRoot.substr(3,nPos-1).replace("_onglet_","");
	for(nOnglet=0; nOnglet<100; nOnglet++)
	{
		sId=sIdRoot + nOnglet;
		oOnglet=document.getElementById(sId);
		if(!oOnglet) return;
		oContenu=document.getElementById(sId + "_contenu");
		oContenuRow=document.getElementById(sId + "_contenu_row");
		if(oOnglet==oOngletCourant)
		{
			sClasse=oOnglet.getAttribute("class");
			if(!sClasse) sClasse=oOnglet.getAttribute("className");
			oOnglet.setAttribute("className","onglet_select"); oOnglet.setAttribute("class","onglet_select");
			oContenu.style.display="block";
			oContenuRow.style.display="";
		}
		else
		{
			oOnglet.setAttribute("className","onglet"); oOnglet.setAttribute("class","onglet");
			oContenu.style.display="none";
			oContenuRow.style.display="none";
		}
	}
}


function getFacets( query, facet )
{
	var type = 'facets';
	
	if (facet==undefined) {facet = ''};
	
	//sUrl=baseUrl + '/opac/recherche/getfacets?query=' + query + '&facet=' + facet;
	
	//new Ajax.Updater('facets', sUrl, { method: 'get' });
		
		if(! window["oAjax" + type]) window["oAjax" + type] = new sack(); else window["oAjax" + type].reset();
		sUrl=baseUrl + '/opac/recherche/getfacets?query=' + query + '&facet=' + facet;
		window["oAjax" + type].scriptPhp = sUrl;
		window["oAjax" + type].onCompletion = function(){ afficherFacets(type); };
		window["oAjax" + type].runAJAX();
		
	oFacets = document.getElementById(type);
	oFacets.innerHTML='<img src="' + imagesUrl + 'patience.gif">';	
	
}

function afficherFacets(type)
{
	oFacets=document.getElementById(type);
	oFacets.innerHTML=window["oAjax" + type].response;
}
