/***** SCRIPT.JS ***********************************************************

 Version : 02/12/2004
 Auteur : 
 Sébastien Poubelle
 Jérôme Demyttenaere
 Philippe Prédhomme
 Rémi Wipliez

******************************************************************************/

/***** Liste des fonctions ****************************************************

 isRef
 getRef
 addbookmark
 loadOne
 supprimer
 ajouter
 repondre
 fiche
 loaded
 reloaded
 IsNumeric
 popup
 MM_preloadImages
 agrandir
 openwindow
 
 + fonction BETA en fin de fichier
 
******************************************************************************/

/************************** addFavorite 1.0 2005-06-14
 *
 * Auteur : Sébastien Poubelle
 *
 * Ajoute la page aux favories
 *
 */

function addFavorite() {
	NomNavigateur = navigator.appName;
	VersionNavigateur = parseInt(navigator.appVersion);
	if(NomNavigateur == "Microsoft Internet Explorer" && VersionNavigateur >= 4) {
		window.external.AddFavorite(location.href, document.title);
		}
	else alert("Votre navigateur ne permet pas l'ajout automatique dans vos favories.");
	}

/************************** isRef 1.0 2005-02-15
 *
 * Auteur : Sébastien Poubelle
 *
 * Retourne la référence du navigateur : 'DOM', 'IE4' ou 'NS4'.
 *
 */

function isRef() {
	if(document.getElementById) return "DOM";
	if(document.all) return "IE4";
	if(document.layers) return "NS4";
	}

/************************** getRef 1.3 2005-02-15
 *
 * Auteur : Sébastien Poubelle
 *
 * Retourne l'appelle javascript d'un identifiant 'id' de la page HTML
 *
 */

function getRef(id) {
	if(isRef() == "DOM") return document.getElementById(id);
	if(isRef() == "IE4") return document.all[id];
	if(isRef() == "NS4") return document.layers[id];
	}

/************************** addbookmark 1.0 2005-05-19
 *
 * Auteur : Sébastien Poubelle
 *
 * Ajoute l'adresse bookmarkurl portant le nom bookmarktitle dans le BookMark
 *
 */

function addbookmark(bookmarkurl,bookmarktitle) {
	if(isRef() == "IE4") window.external.AddFavorite(bookmarkurl,bookmarktitle);
	}

/************************** loadOne 1.0 2005-02-15
 *
 * Auteur : Jérôme Demyttenaere
 *
 * Recharge la page
 *
 */

function loadOne() {
        window.location.reload();
        }

/************************** supprimer 1.2 2003-09-04
 *
 * Auteur : Jérôme Demyttenaere, Sébastien Poubelle
 *
 * Appelle la page supprimer.php qui permet de supprimer
 * l'enregistrement 'id' de la table 'table' de la base
 * de donnée courante.
 * 'url' est l'adresse de retour et 'arg' est la chaine
 * de caractères correspondant aux argument à retourner.
 *
 */

function supprimer(id,table,url,arg) {
	if(confirm("Confirmez-vous la suppression définitive ?\n")) {
		location = "supprimer.php?id="+ id +"&table="+table +"&url="+ url +"&arg=&"+ arg;
		}
	}

/************************** ajouter 1.0 2005-02-15
 *
 * Auteur : Jérôme Demyttenaere
 *
 *
 */

function ajouter(id,url) {
	pleft = (window.screen.availWidth - 550) / 2;
	ptop = (window.screen.availHeight - 450) / 2;
	openwindow(url+'_modifier.php?id='+id,'modifier',550,450,ptop,pleft);
	}

/************************** repondre 1.0 2005-02-15
 *
 * Auteur : Jérôme Demyttenaere
 *
 *
 */

function repondre(id,table) {
	pleft = (window.screen.availWidth - 550) / 2;
	ptop = (window.screen.availHeight - 450) / 2;
	openwindow('repondre.php?id='+id+'&table='+table,'repondre',550,450,ptop,pleft);
	}

/************************** fiche 1.0 2005-02-15
 *
 * Auteur : Jérôme Demyttenaere
 *
 *
 */

function fiche(id,table) {
	pleft = (window.screen.availWidth - 480) / 2;
	ptop = (window.screen.availHeight - 320) / 2;
	openwindow('fiche.php?id='+id+'&table='+table,'fiche',550,450,ptop,pleft);
	}

/************************** loaded 2.0 2005-03-29
 *
 * Auteur : Jérôme Demyttenaere, Sébastien Poubelle
 *
 *
 */

function loaded(color) {
	reloaded(color,"nowLoading");
	}

/************************** reloaded 1.1 2005-03-29
 *
 * Auteur : Sébastien Poubelle
 *
 *
 */

function reloaded(color,id) {
	getRef(id).innerHTML = "<font color='"+ color +"'>TRAITEMENT EN COURS</font>";
	}

/************************** IsNumeric 3.0
 *
 * Auteur : Jérôme Demyttenaere
 *
 *
 */

function IsNumeric(strString) {
	var strValidChars = "0123456789.- ";
	var strChar;
	var blnResult = true;
	
	if (strString.length == 0) return false;
	
	// test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++) {
		 strChar = strString.charAt(i);
		 if (strValidChars.indexOf(strChar) == -1) blnResult = false;
		}
	return blnResult;
	}

/************************** popup 3.1 2005-05-03
 *
 * Auteur : Sébastien Poubelle
 *
 * void popup( String pop_url , Int pop_width , Int pop_height [ , String pop_bar ] )
 *
 * pop_url : url de la page pop-up.
 * pop_width : largeur de la fenêtre en pixel.
 * pop_height : hauteur de la fenêtre en pixel.
 * pop_bar : affichage de la scrollbar, option : 'yes' / 'no'.
 *
 */

function popup(pop_url,pop_width,pop_height) {
	var pop_bar = "yes", pop_arg = popup.arguments;
	if(pop_arg.length == 4) pop_bar = pop_arg[3];
	pop_name = pop_url.substring(0,3);
	pop_left = (window.screen.availWidth / 2) - (pop_width / 2);
	pop_top = (window.screen.availHeight / 2) - (pop_height / 2);
	window.open(pop_url,pop_name,"left=" + pop_left + ",top=" + pop_top + ",width=" + pop_width + ",height=" + pop_height + ",scrollbars="+ pop_bar +",noresize");
	}

/************************** MM_preloadImages 3.0
 *
 * Auteur : Macromédia
 *
 *
 */

function MM_preloadImages() {
	var d = document;
	if(d.images) {
		if(!d.MM_p) d.MM_p=new Array();
		var i, j = d.MM_p.length, a = MM_preloadImages.arguments;
		for(i=0; i<a.length; i++) if(a[i].indexOf("#") != 0) {
			d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];
			}
		}
	}

/************************** agrandir 3.0 2005-02-15
 *
 * Auteur : Sébastien Poubelle
 *
 *
 */

function agrandir(img_src,link_color,bg_color) {
	var pop_width = 640;
	var pop_height = 480;
	var pop_img = new Image();
	pop_img.src = img_src;
	pop_win = window.open("","","width="+ pop_width +",height="+ pop_height +",scrollbars=no");
	pop_win.document.open();
	pop_win.document.write("<head><title>Comoresto.com</title></head>");
	pop_win.document.write("<body leftmargin=0 topmargin=0 marginwidth=0 marginheight=0");
	pop_win.document.write(" link='"+ link_color +"' alink='"+ link_color +"' vlink='"+ link_color +"' bgcolor='"+ bg_color +"'>");
	pop_win.document.write("<table width='100%' height='100%' border=0>");
	pop_win.document.write("<tr><td align=center valign=middle><img src='"+ pop_img.src +"' style='border-color:#62013A;border-style:solid;border-width:1px;'></td></tr>");
	pop_win.document.write("<tr><td align=center valign=middle><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>");
	pop_win.document.write("<a href='javascript:window.close();'>Fermer la fen&ecirc;tre</a>");
	pop_win.document.write("</font></td></tr>");
	pop_win.document.write("</table>");
	pop_win.document.write("</body>");
	pop_win.document.close();
	if(pop_img.width != 0 || pop_img.height != 0) {
		pop_width = pop_img.width + 40;
		pop_height = pop_img.height + 80;
		pop_win.resizeTo(pop_width,pop_height);
		}
	pop_left = (window.screen.availWidth / 2) - (pop_width / 2);
	pop_top = (window.screen.availHeight / 2) - (pop_height / 2);
	pop_win.moveTo(pop_left,pop_top);
	}

/************************** openwindow 1.0 2005-02-15
 *
 * Auteur : Jérôme Demyttenaere
 *
 *
 */

function openwindow(url,name,width,height,ptop,pleft) {
	window.open(url,name,'toolbar=0,menubar=0,scrollbars=yes,resizable=0,width=' + width + ',height=' + height + ',top=' + ptop + ',left=' + pleft);
	}

/************************** ejs_img_fx 1.0 2005-02-15
 *
 * Auteur : ???
 *
 *
 */

function ejs_img_fx(img) {
	if(img && img.filters && img.filters[0]) {
		img.filters[0].apply();
		img.filters[0].play();
		}
	}

/************************** calque_open 1.0 2006-03-17
 *
 * Auteur : Sébastien Poubelle
 *
 */


function calque_open(id) {
	if(getRef(id).style.visibility == 'hidden') {
		getRef(id).style.visibility = 'visible';
//		setTimeout("calque_close('"+id+"')",9000);
		}
	else getRef(id).style.visibility = 'hidden';
	}


/************************** calque_close 1.0 2006-03-17
 *
 * Auteur : Sébastien Poubelle
 *
 */


function calque_close(id) {
	getRef(id).style.visibility = 'hidden';
	}



/************************** roll 1.0 2005-02-15
 *
 * Auteur : Sébastien Poubelle
 *
 * i : indice en cours. Lors de l'initialisation il est égale à 0.
 * speed : Vitesse du roll over en ms
 * ejs_img_fx : booléen indiquant si il existe un style du genre style="filter:progid:DXImageTransform.Microsoft.Fade(Duration=1)" sur l'image.
 * roll : objet image dans laquelle le roll over est effectif
 *
 * Préalablement il faut initialiser 'roll_array[roll]', tableau des sources images de l'animation. 'roll_array' étant déjà définit.
 *
 * exemple :
 *
 *	<IMG id="monImage" src="" width="410" height="600" border="0">
 *	
 *	<SCRIPT>
 *	
 *	roll_array['monImage'] = new Array();
 *	roll_array['monImage'][0] = "monImage1.jpg";
 *	roll_array['monImage'][1] = "monImage2.jpg";
 *	roll_array['monImage'][2] = "monImage3.jpg";
 *	roll_array['monImage'][3] = "monImage4.jpg";
 *	roll_array['monImage'][4] = "monImage5.jpg";
 *	
 *	roll(0,3000,false,roll);
 *	
 *	</SCRIPT>
 *
 *
 */

var roll_array = new Array();

function roll(i,speed,ejs_img_fx,roll) {
	if(ejs_img_fx) ejs_img_fx(getRef(roll));
	getRef(roll).src = roll_array[roll][i];
	i++;
	if(i >= roll_array[roll].length) i = 0;
	setTimeout("roll("+ i +","+ speed +","+ ejs_img_fx +",'"+ roll +"')",speed);
	}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

/************************** calque_open 1.0 2006-03-17
 *
 * Auteur : Sébastien Poubelle
 *
 */


function calque_open(id) {
	if(getRef(id).style.visibility == 'hidden') {
		getRef(id).style.visibility = 'visible';
//		setTimeout("calque_close('"+id+"')",9000);
		}
	else getRef(id).style.visibility = 'hidden';
	}


/************************** calque_close 1.0 2006-03-17
 *
 * Auteur : Sébastien Poubelle
 *
 */


function calque_close(id) {
	getRef(id).style.visibility = 'hidden';
	}


/************************** mainTextScroller
 *
 *
 *
 */


var mainTextScroller_startPosition=0;
function mainTextScroller(myMainMessage,speed,scrollingRegion) {
	var mainMessage = myMainMessage;
	var tempLoc = (scrollingRegion*3/mainMessage.length) + 1;
	if (tempLoc < 1) {
		tempLoc = 1
		}
	var counter;
	for(counter = 0;counter <= tempLoc;counter++) mainMessage += mainMessage;
	document.mainTextScrollerForm.mainTextScroller.value = mainMessage.substring(mainTextScroller_startPosition,mainTextScroller_startPosition+scrollingRegion);
	mainTextScroller_startPosition++;
	if(mainTextScroller_startPosition > scrollingRegion) mainTextScroller_startPosition = 0;
	setTimeout("mainTextScroller(\""+ myMainMessage +"\","+ speed +","+ scrollingRegion +")",speed); 
	}


/************************** mailto 1.0 2007-01-22
 *
 * Auteur : Sébastien Poubelle
 *
 */


function mailto(user,domaine) {
	var at = "@"
	document.write("<a href=\"mailto:"+ user + at + domaine +"\">");
	document.write(user + at + domaine +"</a>");
	}


/************************** BETA

function ejs_img_fx(img) {
	if(img && img.filters && img.filters[0]) {
		img.filters[0].apply();
		img.filters[0].play();
		}
	}

function print_image(img_src) {
	var pop_width = 640;
	var pop_height = 480;
	var pop_img = new Image();
	pop_img.src = img_src;
	pop_win = window.open("","window_print_image","width=0,height=0,scrollbars=no");
	pop_win.document.open();
	pop_win.document.write("<body leftmargin=0 topmargin=0 marginwidth=0 marginheight=0>");
	pop_win.document.write("<img src='"+ pop_img.src +"'>");
	pop_win.document.write("</body>");
	pop_win.document.close();
	if(pop_img.width != 0 || pop_img.height != 0) {
		pop_width = pop_img.width;
		pop_height = pop_img.height;
		pop_win.resizeTo(pop_width,pop_height);
		}
	pop_win.print();
	pop_win.close();
	}

var infullscreen;

function fullscreen(full) {
	if(isDOM) {
		if(navigator.appName == "Microsoft Internet Explorer") {
			if(full) {
				infullscreen = window.open("index.php","SiteWindow","fullscreen");
				}
			else {
				parent.opener.window.location.href = document.location.href;
				window.close();
				}
			}
		}
	}

function screen_button(boo) {
	if(boo == 1) {
		getRef("screenButton").innerHTML = "<a href=\"javascript:fullscreen(false);\">fermer</a>";
		}
	else {
		getRef("screenButton").innerHTML = "";
		}
	}

**************************/
