// plus de renseignement sur ce document et son utilisation
// sur http://egg.is.free.fr/
// contact : egg.is@free.fr

// ##########
// # MOTEUR #
// ##########

//recuperation des donnees du formulaire pour le moteur
var html = document.bd.page_html.value;
var lp = document.bd.derniere_page.value;
var fp = document.bd.premiere_page.value;
var chemin = document.bd.nom_image.value;
var ext = "." + document.bd.extension_image.value;

// page en cours
actualPage = lp ;

// on recupere le contenu de l url
chaineUrl = "" + document.location ;

// tableau pour la manipulation des diverses chaines de caractere
tabUrl = tabPara = tabTmp = paraNom = paraValeur = new Array () ;

// on separe l url des parametres
tabUrl = chaineUrl.split ( '?' ) ;

// si il y a des parametres
if ( tabUrl[1] != null ){
	// on separe le nom du parametre de sa valeur
	tabPara = tabUrl[1].split( '=' ) ;
	// on recupere la valeur du parametre
	// en verifiant que c une page existante
	actualPage = (tabPara[1] >= fp)&&(tabPara[1] <= lp) ? tabPara[1] : fp ;
}

// on donne une valeur a la page precedente et a la page suivante
// en fonction de la page en cour (si on pas a la fin ou au debut)
prevPage = actualPage<=fp ? fp : parseInt(actualPage)-1;
nextPage = actualPage>(lp-1) ? actualPage : parseInt(actualPage)+1;

//@todo
//prechargement de l'image suivante
//nextImage = new Image();
//nextImage.src = chemin + eval(actualPage + 1) + ext;

//la page de BD en elle meme
imagebd = "<img src=\"" + chemin + actualPage + ext + "\" />";

//numero de la page courante
pagecourante = actualPage + "/" + lp;

//aller a la page suivante
function page_suivante(){
	goToPage(nextPage);
}

//change d'url selon la valeur passee en parametre
function changeLocationTo(url){
  document.location = url;
}

//aller a la page precedente
function page_precedente(){
	goToPage(prevPage);
}

//aller a la page numero "num"
function page(num){
	goToPage(num);
}

//aller a la page numero "num"
function goToPage(num){
  document.location = html + "?page=" + num;
}

//aller a la premiere page
function premiere_page(){
	goToPage(fp);
}

//aller a la derniere page
function derniere_page(){
	goToPage(lp);
}

//affiche la page courante
function afficher_page_courante(){
  document.write(pagecourante);
}

//affiche l'image de BD
function afficher_image_bd(){
  document.write(imagebd);
}

//affiche la liste des pages sous forme de ... liste
function afficher_liste_sommaire(){
  document.write("<select name=\"choix\" onchange=\"javascript:changeLocationTo(this[this.selectedIndex].value);\">");
  for(i=fp;i<=lp;i++){
    current = (i == actualPage) ? " selected " : "";
    document.writeln("<option " + current + "value=\"" + html + "?page=" + i + "\">"+i+"/" + lp + "</option> ");
  }
  document.write("</select>");
}

//affiche la liste des pages avec un retour a la ligne tout les 10 chiffres
function afficher_sommaire(){
  for(i=fp;i<=lp;i++){
    document.writeln("<a href=\"" + html + "?p=" + i + "\">"+i+"</a> ");
    if((i!=0)&&(i%10==0)) document.writeln("<br />");
	}
}

//affiche le texte en parametre si on est pas sur la 1ere page
function c_est_pas_le_debut(texte) {
  c_est_pas_le_debut2(texte, "");
}

//affiche le texte en parametre si on est pas sur la derniere page
function c_est_pas_la_fin(texte) {
  c_est_pas_la_fin2(texte, "");
}

//affiche le texte en parametre si on est pas sur la 1ere page sinon affiche le texte2
function c_est_pas_le_debut2(texte, texte2) {
  if(actualPage!=fp)document.write(texte);
	else document.write(texte2);
}

//affiche le texte en parametre si on est pas sur la derniere page sinon affiche le texte2
function c_est_pas_la_fin2(texte, texte2) {
  if(actualPage!=lp)document.write(texte);
  else document.write(texte2);
}

//affiche le module de navigation classique : << 1/13 >>
function afficher_egg_classique(){
  document.write("<a style=\"text-decoration: none;\" href=\"javascript:page_precedente();\" title=\"afficher page précédente\">&lt;&lt;</a>&nbsp;" + 
    pagecourante + "&nbsp;<a style=\"text-decoration: none;\" href=\"javascript:page_suivante();\" title=\"afficher page suivante\">&gt;&gt;</a>");
}

// ##############
// # FIN MOTEUR #
// ##############
