/* charger une fonction au d魡rrage */
function addLoadEvent(func) {	
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
    	window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}


/* repere une div par son nom de class */
function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|s)" + className + "(s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i ];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function focus_email()
{
	if (document.invite_form.email.value=="Email")
	{
		document.invite_form.email.style.color = "#000000";
		document.invite_form.email.value="";
		document.invite_form.email.focus();
	}
}

function blur_email()
{
	if (document.invite_form.email.value=="")
	{
		document.invite_form.email.style.color = "#999999";
		document.invite_form.email.value="Email";
	}
}


function hide_show(divname)
{
	if (document.getElementById(divname).style.display == "block")
		document.getElementById(divname).style.display = "none";
	else
		document.getElementById(divname).style.display = "block";
}

//ex : dura = 1.5
function slide_hide_show(divname, dura)
{
	if (document.getElementById(divname).style.display != 'none')
		Effect.BlindUp(divname, { duration: dura });
	else
		Effect.BlindDown(divname, { duration: dura });
}



function is_hide_show(divname)
{
	if (document.getElementById(divname).style.display != "none")
	{
		Effect.Fade(divname, { duration: 0.5});
		return 0;
	}
	else
	{
		Effect.Appear(divname, { duration: 0.5});
		return 1;
	}
}

function hide_div(divname)
{
	document.getElementById(divname).style.display = "none";
}

function show_div(divname)
{
	document.getElementById(divname).style.display = "block";
}

//inclure le fichier str_mini_lib.js pour utiliser cette function
function get_url_separator(str_url)
{
	var nb = substr_count(str_url,'?');
	if (nb > 0)
		return '&';
	return '?';
}

  function get_expand_collapse_speed(height)
  {
	var small_speed_coef = 250;
	var big_speed_coef = 350;
	var speed_coef = small_speed_coef;
	var min_speed = 0.5;
	if (height > 500)	
		speed_coef = big_speed_coef;
	var speed = height / speed_coef;
	if (speed < min_speed)
		speed = min_speed;
	return speed.toFixed(1);
  }


function load_onglet(obj)
{
	var onglet_actif = getElementsByClassName('onglet-actif');
	var content_to_hide = '';
	var content_to_show = '';

	if (onglet_actif[0])
	{
		onglet_actif[0].className = 'onglet';
		
		var tmp = onglet_actif[0].id.split('_');
		if (tmp[1])
			if (tmp[1] != '')
				content_to_hide = 'content_' + tmp[1];
	}
	
	obj.className = 'onglet-actif';
	
	var tmp = obj.id.split('_');
	if (tmp[1])
		if (tmp[1] != '')
			content_to_show = 'content_' + tmp[1];
	if (content_to_hide != '' && content_to_show != '')
	{
		hide_div(content_to_hide);
		show_div(content_to_show);
	}
}

/*
function detect_IE()
{
	if (navigator.userAgent.indexOf("MSIE 5") != -1)
		return true;
	if (navigator.userAgent.indexOf("MSIE 6") != -1)
		return true;
	if (navigator.userAgent.indexOf("MSIE 7") != -1)
		return true;
	if (navigator.userAgent.indexOf("MSIE 8") != -1)
		return true;
	return false;
}
*/
// Utilities : get anchor position
// -------------------------------  
// ===================================================================
// Author: Matt Kruse <matt@mattkruse.com>
// WWW: http://www.mattkruse.com/
//
// NOTICE: You may use this code for any purpose, commercial or
// private, without any further permission from the author. You may
// remove this notice from your final code if you wish, however it is
// appreciated by the author if at least my web site address is kept.
//
// You may *NOT* re-distribute this code in any way except through its
// use. That means, you can include it in your product, or your web
// site, or any other form where the code is actually being used. You
// may not put the plain javascript up on your site for download or
// include it in your javascript libraries for download. 
// If you wish to share this code with others, please just point them
// to the URL instead.
// Please DO NOT link directly to my .js files from your site. Copy
// the files to your server and use them there. Thank you.
// ===================================================================

/* 
AnchorPosition.js
Author: Matt Kruse
Last modified: 10/11/02

DESCRIPTION: These functions find the position of an <A> tag in a document,
so other elements can be positioned relative to it.

COMPATABILITY: Netscape 4.x,6.x,Mozilla, IE 5.x,6.x on Windows. Some small
positioning errors - usually with Window positioning - occur on the 
Macintosh platform.

FUNCTIONS:
getAnchorPosition(anchorname)
  Returns an Object() having .x and .y properties of the pixel coordinates
  of the upper-left corner of the anchor. Position is relative to the PAGE.

getAnchorWindowPosition(anchorname)
  Returns an Object() having .x and .y properties of the pixel coordinates
  of the upper-left corner of the anchor, relative to the WHOLE SCREEN.

NOTES:

1) For popping up separate browser windows, use getAnchorWindowPosition. 
   Otherwise, use getAnchorPosition

2) Your anchor tag MUST contain both NAME and ID attributes which are the 
   same. For example:
   <A NAME="test" ID="test"> </A>

3) There must be at least a space between <A> </A> for IE5.5 to see the 
   anchor tag correctly. Do not do <A></A> with no space.
*/ 

// getAnchorPosition(anchorname)
//   This function returns an object having .x and .y properties which are the coordinates
//   of the named anchor, relative to the page.
function getAnchorPosition(anchorname) {
	// This function will return an Object with x and y properties
	var useWindow=false;
	var coordinates=new Object();
	var x=0,y=0;
	// Browser capability sniffing
	var use_gebi=false, use_css=false, use_layers=false;
	if (document.getElementById) { use_gebi=true; }
	else if (document.all) { use_css=true; }
	else if (document.layers) { use_layers=true; }
	// Logic to find position
 	if (use_gebi && document.all) {
		x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
		y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
		}
	else if (use_gebi) {
		var o=document.getElementById(anchorname);
		x=AnchorPosition_getPageOffsetLeft(o);
		y=AnchorPosition_getPageOffsetTop(o);
		}
 	else if (use_css) {
		x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
		y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
		}
	else if (use_layers) {
		var found=0;
		for (var i=0; i<document.anchors.length; i++) {
			if (document.anchors[i].name==anchorname) { found=1; break; }
			}
		if (found==0) {
			coordinates.x=0; coordinates.y=0; return coordinates;
			}
		x=document.anchors[i].x;
		y=document.anchors[i].y;
		}
	else {
		coordinates.x=0; coordinates.y=0; return coordinates;
		}
	coordinates.x=x;
	coordinates.y=y;
	return coordinates;
	}

// getAnchorWindowPosition(anchorname)
//   This function returns an object having .x and .y properties which are the coordinates
//   of the named anchor, relative to the window
function getAnchorWindowPosition(anchorname) {
	var coordinates=getAnchorPosition(anchorname);
	var x=0;
	var y=0;
	if (document.getElementById) {
		if (isNaN(window.screenX)) {
			x=coordinates.x-document.body.scrollLeft+window.screenLeft;
			y=coordinates.y-document.body.scrollTop+window.screenTop;
			}
		else {
			x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;
			y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;
			}
		}
	else if (document.all) {
		x=coordinates.x-document.body.scrollLeft+window.screenLeft;
		y=coordinates.y-document.body.scrollTop+window.screenTop;
		}
	else if (document.layers) {
		x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;
		y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;
		}
	coordinates.x=x;
	coordinates.y=y;
	return coordinates;
	}

// Functions for IE to get position of an object
function AnchorPosition_getPageOffsetLeft (el) {
	var ol=el.offsetLeft;
	while ((el=el.offsetParent) != null) { ol += el.offsetLeft; }
	return ol;
	}
function AnchorPosition_getWindowOffsetLeft (el) {
	return AnchorPosition_getPageOffsetLeft(el)-document.body.scrollLeft;
	}	
function AnchorPosition_getPageOffsetTop (el) {
	var ot=el.offsetTop;
	while((el=el.offsetParent) != null) { ot += el.offsetTop; }
	return ot;
	}
function AnchorPosition_getWindowOffsetTop (el) {
	return AnchorPosition_getPageOffsetTop(el)-document.body.scrollTop;
	}
	
// END : get anchor position
