function placeElement(element, reference, positions){
	//arguments facultatif
	var nb = placeElement.arguments;
	var positionReference = calTopLeft(reference);
	var splitPositions = positions.split(', ');
	var top = 0;
	var left = 0;
	var regul = null;
	
	//Si c'est pas un nombre
	//if(isNaN(splitPositions[0]) && isNaN(splitPositions[1])){
		if((splitPositions[0] == splitPositions[1] && isNaN(splitPositions[0]) && isNaN(splitPositions[1])) || (splitPositions[0]=='left' && splitPositions[1]=='right') || (splitPositions[0]=='top' && splitPositions[1]=='bottom') || (splitPositions[1]=='left' && splitPositions[0]=='right') || (splitPositions[1]=='top' && splitPositions[0]=='bottom'))	 return false;
		for(var i=0; i<2; i++){
			switch(splitPositions[i]){
				case 'left':
					left = positionReference[1];
					regul = 'left';
				break;
				case 'right':
					left = positionReference[1]+reference.offsetWidth-element.offsetWidth;
					regul = 'left';
				break;
				case 'top':
					top = positionReference[0];
					regul = 'top';
				break;
				case 'bottom':
					top = positionReference[0]+reference.offsetHeight-element.offsetHeight;
					regul = 'top';
				break;
				default:
					if(i==0 && !regul){
						 left = parseInt(positionReference[1])+parseInt(splitPositions[i]);
						 regul='left';
					}
					else {
						if(regul=='left') top = parseInt(positionReference[0])+parseInt(splitPositions[i]);
						else left = parseInt(positionReference[1])+parseInt(splitPositions[i]);
					}
				break;
			}
		}
	//}
	
	if(element.style.position!='absolute') element.style.position = 'absolute';
	
	element.style.top = top + 'px';
	element.style.left = left + 'px';
}

// JavaScript Document
function getXhr(){
	var xhr = null; 
	if(window.XMLHttpRequest) // Firefox et autres
	   xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject){ // Internet Explorer 
	   try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP"); // Les autres
			} catch (e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP"); // IE
			}
	}
	else { // XMLHttpRequest non supportÃ© par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr = false; 
	} 
	return xhr;
}

function childrenWidth(parent){
		var nb = childrenWidth.arguments;
		var children = jQuery(parent).children();
		var width = 0;	
		var tmp = 0;
		children.each(function(i){
			if(nb[1] && nb[1]!=''){
				if(jQuery(children).eq(i).hasClass(nb[1]) && tmp<jQuery(children).eq(i).width()){
					tmp=jQuery(children).eq(i).width();
				}
				else if(!jQuery(children).eq(i).hasClass(nb[1]) && jQuery(children).eq(i).css('clear')!= 'both'){
					 width += parseInt(jQuery(children).eq(i).width())+5;
				}
			}
			else width += jQuery(children).eq(i).width()+5;
		});
		return width+tmp;
	}

function getPageSize() {
	        
	 var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	
	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}

	return [pageWidth,pageHeight];
}

function getScrollPosition(){
    return Array((document.documentElement && document.documentElement.scrollLeft) || window.pageXOffset || self.pageXOffset || document.body.scrollLeft,(document.documentElement && document.documentElement.scrollTop) || window.pageYOffset || self.pageYOffset || document.body.scrollTop);
}

function appearDiv(contenu){
		var nb = appearDiv.arguments;
		var splContent = contenu.split('.');
		
		if(document.getElementById('appearDiv') || document.getElementById('fondAppear')) {
			jQuery('#appearDiv').remove();
			jQuery('#fondAppear').remove();
		}
		
		if(splContent[splContent.length - 1]=='html' || splContent[splContent.length - 1]=='php'){
			if(nb[4] && nb[4]!='') var args = nb[4];
			else var args = '';
			
			var xhr = getXhr();
			xhr.onreadystatechange = function(){
				if(xhr.readyState == 4 && xhr.status == 200){
					appearDiv(xhr.responseText, nb[1], nb[2], nb[3]);
				}
			}
		
			xhr.open("POST",contenu,true);
			xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			xhr.send(args);	
			return;
		}
		
		var content = document.createElement('DIV');
		var div = document.createElement('DIV');
		
		if(nb[1] && nb[1]!='') var classJS = nb[1];
		else var classJS = 'appearDiv';
		
		if(nb[2] && nb[2]!=''){
			div.style.width = nb[2] + 'px';
			//div.style.marginLeft = -1 * (nb[2]/2) - 22 + 'px';
		}
		if(nb[3] && nb[3]!=''){
			div.style.height = nb[3] + 'px';
			//div.style.marginTop = -1 * (nb[3]/2) - 22 + 'px';
		}
		
		
		div.setAttribute('class', classJS);
		div.setAttribute('className', classJS);
		div.id = 'appearDiv';
		div.style.zIndex = 1002;
		div.innerHTML = contenu;
				
		var pageSize = getPageSize();
		
		content.style.width = pageSize[0] + 'px';
		content.style.height = pageSize[1] + 'px';
		
		content.style.backgroundColor = '#FFFFFF';
		content.setAttribute('class', 'fondAppear');
		content.setAttribute('className', 'fondAppear');
		content.id = 'fondAppear';
		content.style.zIndex = 1001;
		set_opacity(content, 70);
		
		document.body.appendChild(content);
		document.body.appendChild(div);
		
		var scrolls = getScrollPosition();
		
		div.style.marginLeft = (-1 * (div.offsetWidth/2)) + 22 + 'px';
		div.style.marginTop = (-1 * (div.offsetHeight/2)) + scrolls[1] - 22 + 'px';
			
		
		//div.style.top = div.offsetTop + scrolls[1] +'px';
		
		var fermer = document.createElement('DIV');
		fermer.style.width = '60px';
		fermer.style.height = '20px';
		fermer.id = 'fermerAppear';
		var ahref = document.createElement('A');
		ahref.setAttribute('href','javascript:void(0);');
		ahref.onclick = function(){if(document.getElementById('appearDiv') && document.getElementById('fondAppear')){document.body.removeChild(content); document.body.removeChild(div); hiddenSelect('visible');}};
		
		/*var url = String(document.location);
		if(url.search('admin') == -1) ahref.innerHTML = '<img src="images/content/btn-close-window.gif" alt="" />';
		else ahref.innerHTML = '<img src="../images/content/btn-close-window.gif" alt="" />';*/
		ahref.innerHTML = 'Fermer';
		
		fermer.appendChild(ahref);
		fermer.style.position = 'absolute';
		
		var topLeftDiv = calTopLeft(div);
		
		fermer.style.top = topLeftDiv[0] - 22 + 'px';
		fermer.style.left = div.offsetWidth + div.offsetLeft - 46 + 'px';
		content.appendChild(fermer);
		
		content.onclick = function(){if(document.getElementById('appearDiv') && document.getElementById('fondAppear')){document.body.removeChild(content); document.body.removeChild(div); hiddenSelect('visible');}};
		
		hiddenSelect('hidden');
		
		if(nb[4] && nb[4]!=''){
			setTimeout(function(){jQuery(content).fadeOut("normal"); jQuery(div).fadeOut("normal", function(){document.body.removeChild(content); document.body.removeChild(div); hiddenSelect('visible');})}, 1000);
		}
}


function set_opacity(id, opacity)
{
        var el = id;
        el.style["filter"] = "alpha(opacity="+opacity+")";
        el.style["-moz-opacity"] = opacity/100;
        el.style["-khtml-opacity"] = opacity/100;
        el.style["opacity"] = opacity/100;
}

//Fonction calcul de la position d'un objet par rapport Ã  la page
function calTopLeft(obje)
{
	var calTop = 0;
	var calLeft = 0;
	
	while(obje)
	{
		calTop = calTop + obje.offsetTop;
		calLeft = calLeft + obje.offsetLeft;
		obje = obje.offsetParent;
	}	
	
	tabTopLeft = [calTop, calLeft];
	return tabTopLeft;
}

function hiddenSelect(visible){
	if(document.getElementById('animFlashHome')){
		var tabHidden = new Array () ;
		tabHidden['hidden'] = 'none';
		tabHidden['visible'] = 'block';
		
		var tabHiddenImage = new Array () ;
		tabHiddenImage['visible'] = 'none';
		tabHiddenImage['hidden'] = 'block';
		document.getElementById('animFlashHome').style.display=tabHidden[visible];
		document.getElementById('animFlashHomeImage').style.display=tabHiddenImage[visible];
	}
	if(navigator.userAgent.search('MSIE') != -1){
		var selects = document.getElementsByTagName('SELECT');
		for(var i=0; i<selects.length; i++){
			if(selects[i].parentNode.nodeName!='LI')
			selects[i].style.visibility = visible;	
		}
	}
}

/*jQuery('#espaces').find('H2').live('mouseover', function(){
	this.style.cursor = 'pointer';
});

jQuery('.firstH2').live('click', function(){
	document.location.href='index.php?id=429';
});

jQuery('#espaces').find('H2:not(.firstH2)').live('click', function(){
	var arg = 'type=';
	if($(this).hasClass('secondH2')) arg += 'conseillers';
	else arg += 'institutionnels';
	
	jQuery.ajax({
	   type: "POST",
	   url: "../../../templates/beforeDisclaimer.php",
	   data: arg,
	   contentType:  "application/x-www-form-urlencoded; charset=UTF-8",
	   success: function(msg){
		 appearDiv(msg, '', '410');
	   }
	 });
	
});*/

jQuery(window).scroll(function(){
	jQuery("#appearDiv").css("margin-top", jQuery(window).scrollTop()-(jQuery("#appearDiv").height()/2));
	
	var topLeftDiv = calTopLeft(document.getElementById('appearDiv'));
	jQuery("#fermerAppear").css("top", topLeftDiv[0] - jQuery("#fermerAppear").height()- 6);
});


jQuery(window).resize(function(){
	if(!document.getElementById('appearDiv')) return false;
	var topLeftDiv = calTopLeft(document.getElementById('appearDiv'));
	jQuery("#fermerAppear").css("top", topLeftDiv[0] - jQuery("#fermerAppear").height()- 6);
	jQuery("#fermerAppear").css("left", jQuery('#appearDiv').width() + document.getElementById('appearDiv').offsetLeft - 26);
	var pageSize = getPageSize();
	jQuery("#fondAppear").css({
		width:pageSize[0],
		height:pageSize[1]
	});
});

jQuery(document).ready(function(){
		jQuery('#agendaComparateur').find('a').eq(0).click(function(){
			window.open('http://www.fininfo.fr/finfeed/tocqueville/opcvm.hts', '', 'menubar=no, status=no, width=640, height=400');
			return false;
		});
});

	

