// JavaScript Document

/*
   ///////////////////////////////////////////////////////////////////////////////
   utils
   ///////////////////////////////////////////////////////////////////////////////
*/
var nav	= navigator.appName.toLowerCase();
var isIE = (nav == "microsoft internet explorer");
var isIE6 = (isIE && !window.XMLHttpRequest) ? true : false; // en tout cas pas ie7 xD (pourra peut etre servir vu la galére que repressente ie6)

function $(id){return document.getElementById(id);}

function fSetAttr(oCible,sAttr,sValue){
	// fonction setAttribute
	// note: fonctionne avec tout les browsers 'commun' et tout les attr sauf les événements: onload , onclick etc...
	if (sAttr=="className" || sAttr=="class"){
		if (isIE)	sAttr="className";
		else		sAttr="class";
	}
	if (sAttr=="cssText" || sAttr=="style"){
		if (isIE)	sAttr="cssText";
		else		sAttr="style";
	}
	if(sAttr=="cssText")
		oCible.style.setAttribute(sAttr,sValue);
	else
		oCible.setAttribute(sAttr,sValue);
}

function redirect (sCible) {
	window.location.href = sCible;
}

function ieAlpha () {
	// script censé corriger l'alpha des png pour ie<7 . à tester sur 1 version non standalone. vivement la disparition total de ces nav ^^
	var arVersion = navigator.appVersion.split("MSIE");
	var version = parseFloat(arVersion[1]);
	if ((version >= 5.5) && (document.body.filters)){
		var img			=$("nc_logo_img");
		var imgID		=(img.id) ? "id='" + img.id + "' " : "";
		var imgClass	=(img.className) ? "class='" + img.className + "' " : "";
		var imgTitle	=(img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
		var imgStyle	="display:inline-block;" + img.style.cssText;
		if (img.align == "left")	imgStyle = "float:left;" + imgStyle;
		if (img.align == "right")	imgStyle = "float:right;" + imgStyle;
		if (img.parentElement.href)	imgStyle = "cursor:hand;" + imgStyle;
		var strNewHTML = "<span " + imgID + imgClass + imgTitle
		+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
		+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
		+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
		img.outerHTML = strNewHTML;
	}
}

function isUnAlpha(leChiffre)
{
	var number_format = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ- ";
	for (var i = 0; i <= leChiffre.length; i++)
    {
        check_char = number_format.indexOf(leChiffre.charAt(i));
        if (check_char < 0) return false;
	}
	return true;
}

function KeyUpAlpha(objChamp, int_len)
{
	if (objChamp.value.length > int_len)
    	objChamp.value = objChamp.value.substring(0,int_len);
	while (!isUnAlpha(objChamp.value) && (objChamp.value != ""))
		objChamp.value = objChamp.value.substring(0, objChamp.value.length - 1);
}

/*
   ///////////////////////////////////////////////////////////////////////////////
   la cuisine
   ///////////////////////////////////////////////////////////////////////////////
*/
function fBlockOver(oBlock){
	fSetAttr(oBlock,"style","background-color:rgb(240,240,240);")
}
function fBlockOut(oBlock){
	fSetAttr(oBlock,"style","background-color:rgb(255,255,255);")
}

function fPopParam(oLien,iWidth){
	// popup catalogue
	var sParam="";
		sParam+= "";
		sParam+= "width       = "+iWidth+"px,";
		sParam+= "height      = 680px,";
		sParam+= "top         = 0px,";
		sParam+= "left        = 100px,";
		sParam+= "location    = no,";
		sParam+= "menubar     = no,";
		sParam+= "resizable   = no,";
		sParam+= "scrollbars  = no,";
		sParam+= "status      = no,";
		sParam+= "toolbar     = no,";
		sParam+= "directories = no,";

	window.open(oLien.href,'_blank',sParam);
}


function fValidSearchForm(nChoix) {
// script pout le search filtres si besoin + bidouille maison pour les radio
	var oForm	=	document.forms.nc_search_form;
// 1er champs hidden (texte de recheche)
	var oSearch	=	oForm.search;

// 2eme champs hidden (type de recheche)
	var oChoix = oForm.choix;
	if(nChoix==0)		{oChoix.value="Titre";}
	else if(nChoix==1)	{oChoix.value="Auteur";}
	else if(nChoix==2)	{oChoix.value="ISBN";}
// critères de validations
	var oError	=	$("nc_search_error");
	var bValid	=	false;

	if((nChoix==0 || nChoix==1) && oSearch.value.length>=1){ // validation de auteur et titre
		bValid=true;
	}else if(nChoix==2 && oSearch.value.length>=1){ // validation ISBN
		bValid=true;
	}
	if(oSearch.value==" votre recherche"){bValid=false};
// submit ou msg explicatif
	if(bValid){
		oForm.submit();
	}else if(oSearch.value!=" votre recherche" && oSearch.value!=""){
		fSetAttr(oError,"style","visibility:visible");
		if(nChoix==0){
			oError.innerHTML = "/!\\ Titre : votre recherche doit contenir au moins 2 caractère alpha-numérique";
		}else if(nChoix==1){
			oError.innerHTML = "/!\\ Auteur : votre recherche doit contenir au moins 2 caractère alpha";
		}else{
			oError.innerHTML = "/!\\ ISBN : votre recherche doit contenir au moins 2 caractère numérique et/ou des tirets";
		}
	}
}


function fSearchChoix(oButton,nChoix) {
// script pout le search filtres si besoin + bidouille maison pour les radio
	var oForm	=	document.forms.nc_search_form;
// 1er champs hidden (texte de recheche)
	var oChoix = oForm.choix;
	var oBtParent = $("nc_searchButtonBlock");
	var oBt0 = oBtParent.getElementsByTagName("input")[0];
	var oBt1 = oBtParent.getElementsByTagName("input")[1];
	var oBt2 = oBtParent.getElementsByTagName("input")[2];

	if(nChoix==0){
		oChoix.value="Titre";

		fSetAttr(oBt0,"value","• par titre");
		fSetAttr(oBt1,"value","par auteur");
		fSetAttr(oBt2,"value","par ISBN");

		fSetAttr(oBt0,"class","nc_search_submit nc_font_Red");
		fSetAttr(oBt1,"class","nc_search_submit nc_font_Blue");
		fSetAttr(oBt2,"class","nc_search_submit nc_font_Blue");
	}
	else if(nChoix==1)	{
		oChoix.value="Auteur";

		fSetAttr(oBt0,"value","par titre");
		fSetAttr(oBt1,"value","• par auteur");
		fSetAttr(oBt2,"value","par ISBN");

		fSetAttr(oBt0,"class","nc_search_submit nc_font_Blue");
		fSetAttr(oBt1,"class","nc_search_submit nc_font_Red");
		fSetAttr(oBt2,"class","nc_search_submit nc_font_Blue");
	}
	else if(nChoix==2)	{
		oChoix.value="ISBN";

		fSetAttr(oBt0,"value","par titre");
		fSetAttr(oBt1,"value","par auteur");
		fSetAttr(oBt2,"value","• par ISBN");

		fSetAttr(oBt0,"class","nc_search_submit nc_font_Blue");
		fSetAttr(oBt1,"class","nc_search_submit nc_font_Blue");
		fSetAttr(oBt2,"class","nc_search_submit nc_font_Red");
	}

	var oSearch	=	oForm.search;

	if(oSearch.value!=" votre recherche" && oSearch.value!=""){
		fValidSearchForm(nChoix);
	}
}

function fNCtheme(){
// fonction pour switcher d'un theme à l'autre (necessite la var global theme
// atuellement dans livres/default et livres/detail )
	var oBody 		= document.getElementsByTagName("body")[0];
	var sBodyClass	= "theme0"+theme;
	fSetAttr(oBody,"class",sBodyClass);

	var oContainer 		= $("nc_container");
	var sContainerClass = "theme0"+theme;
	fSetAttr(oContainer,"class",sContainerClass);
	
	var oLogo			= $("nc_logo_img");
	var sLogoSrc		= "web/images/themes/nc_logo0"+theme+".png";
	fSetAttr(oLogo,"src",sLogoSrc);

}

function switchDblgp(dblgp) {
// fonction qui affiche les images au survol dans le détail des livres
		var bigimg = $("dblgp_big");
		bigimg.src=dblgp;
}

function fShowHidePartenaire(sCatId){
// fonction show_hide pour partenaires et evenements
// A) reinitialise tous les styles comme si aucun item n'est selectionné
// 1) dans le bloc "nc_partenaire_menu_lvl_1" les elements "a"
// 2) dans le bloc "nc_partenaire_menu_lvl_2" les elements "div"
	var oLvl_1_Root 	= $("nc_partenaire_menu_lvl_1");
	var aLvl_1_Link 	= oLvl_1_Root.getElementsByTagName("a");
	var oLvl_2_Root 	= $("nc_partenaire_menu_lvl_2");
	var aLvl_2_Targ 	= oLvl_2_Root.getElementsByTagName("div");

	for (var i = 0; i < aLvl_1_Link.length; i++) {
		fSetAttr(aLvl_1_Link[i],"className","nc_font_Blue");
		fSetAttr(aLvl_2_Targ[i],"style","display:none");
	}
// B) les items qui nous interressent sont stylé :
	var oPartenaireMenu		= $("nc_partenaire_menu_"+sCatId);
	var oPartenaireCible	= $("nc_partenaires_"+sCatId);
		fSetAttr(oPartenaireCible,"style","display:block");
		fSetAttr(oPartenaireMenu,"className","nc_font_Red");
}

function fLightBox(sContenuCible){
//   fonctions lightBox
// /!\ cette version fonctionne uniquement si le contenu de la lgb est sur la page (pas xhr)
	if ($("nc_lightbox").style.display=="block"){
		fLightBoxHide(sContenuCible);
	}else if ($("nc_lightbox").style.display=="none"){
		fLightBoxShow(sContenuCible);
	}else{
		fLightBoxShow(sContenuCible);
	}
}
function fLightBoxHide(sContenuCible){
	$("nc_lightbox").style.display="none";
	document.getElementsByTagName("body")[0].style.overflow="auto";
	$("nc_lightbox_contentLayer").innerHTML=$(sContenuCible).innerHTML;
}
function fLightBoxShow(sContenuCible){
	$("nc_lightbox").style.display="block";
	if(isIE){
		var h = document.body.clientHeight;
		
		var scrollPos=document.documentElement.scrollTop;
		$("nc_lightbox").style.top = scrollPos + "px";
		
		
	}else {
		document.getElementsByTagName("body")[0].style.overflow="hidden";
		var scrollPos=window.pageYOffset;
		$("nc_lightbox").style.top =scrollPos + "px";
	}
	$("nc_lightbox_contentLayer").innerHTML=$(sContenuCible).innerHTML;
}

// loader by tom
function fLoadImg(){
	var oImg = new Array();
	for (i=0;i<nNumber;i++){
		oImg[i] = new Image();
		fSetAttr(oImg[i],"src",aImg[i]);
	}
}

// diapo by tom
	function fDiapo(nPos){
		nPos ++;
		nCount = nPos%nNumber;
		if(bPlay){
			fDiapoChangeImg(nCount);
			fTimmer = setTimeout ( 'fDiapo('+nCount+')' , nTime );
		}else{
			fDiapoChangeImg(nPos%nNumber);
		}
	}

	function fDiapoPlayPause(){
		if (bPlay){
			bPlay=false;
			if (fTimmer!='undefined'){clearTimeout (fTimmer);}
			$('nc_accueil_diapo_nav_play_pause').src = "web/images/themes/diap_stop.png";
		}else{
			bPlay=true;
			fDiapo(nCount);
			$('nc_accueil_diapo_nav_play_pause').src = "web/images/themes/diap_play.png";
		}
	}

	function fDiapoNext(){
		if (fTimmer!='undefined'){clearTimeout (fTimmer);}
		fDiapo(nCount);
	}

	function fDiapoPrev(){
		if (fTimmer!='undefined'){clearTimeout (fTimmer);}
		nCount= nCount-2 + nNumber;
		fDiapo(nCount);
	}

function fDiapoChangeImg(nPos){
	fSetAttr($("nc_accueil_diapo_image"),"src",aImg[nPos]);
	fSetAttr($("nc_accueil_diapo_link"),"href",aLinks[nPos]);
}

/*
   ///////////////////////////////////////////////////////////////////////////////
   onload
   ///////////////////////////////////////////////////////////////////////////////
*/
onload = function(){
	fNCtheme();
	if(isIndex){fDiapo(-1);}

	// correction d'un bug d'affichage ie7
	if (isIE && !isIE6){
		try{
			var aUL = $("nc_auteur_content").getElementsByTagName("ul");
			for (var i = 0; i < aUL.length; i++){
				fSetAttr(aUL[i],"style","float:left;");
			}
		}
		catch(e){}
	}
	// correction d'un bug d'affichage ie
	
	if (isIE){
		try{
			var aSpan = $("nc_partenaire_menu_lvl_2").document.getElementsByTagName("span");
			for (var i = 0; i < aSpan.length; i++){
				if (aSpan[i].className == "nc_partenaires_cat_item"){
					fSetAttr(aSpan[i],"style","left:5px;text-indent:0;");
				}
			}
		}
		catch(e){}
	}
	
		
	if (isIE6){
		$("nc_hMenu").firstChild.style.width=930+"px";
		$("nc_lightbox_contentLayer").style.height=460+"px";
		
		if($("nc_content").offsetHeight<425)
			$("nc_content").style.height=425+"px";
		ieAlpha();
	}
	
}

