function set_visibility(element_id, state)
{
	var element = document.getElementById(element_id);
	if(state == 'true')
		element.style.display = "";
	else
		element.style.display = "none";
}
function checkbox_by_list(list, value) {
	//example : list = 'checkbox1;checkbox2;'
	var tableau=list.split(';');
	for (var i=0; i<tableau.length - 1; i++) {
		document.getElementById(tableau[i]).checked=value ; 
	}
}
//------------------------------DEBUT FONCTION GET_FORM_INPUTS--------------------------------
//fonction permettant de recuperer les differents champs d'un formulaire
//et de les renvoyer au format URL
function get_form_inputs(form_name)
{
	var return_string = '';	
	var form_size = document.forms[form_name].length;
	var element;
	
	for(var i = 0 ; i < form_size ; i++)
	{
		element = document.forms[form_name][i];
		if(element.type == 'text' || element.type == 'textarea')
		{
			return_string += element.name+'='+element.value + '&';
		}
		else if(element.type == 'radio' && element.checked )
		{
			return_string += element.name+'='+element.value + '&';
		}
		else if(element.type == 'checkbox')
		{
			return_string += element.name+'='+element.checked + '&';
		}
		else if(element.type == 'select-one')
		{
			return_string += element.name+'='+element.value + '&';
		}
		else if(element.type == 'hidden')
		{
			return_string += element.name+'='+element.value + '&';
		}
	}
	return return_string;
}
//------------------------------FIN FONCTION GET_FORM_INPUTS--------------------------------


//------------------------------DEBUT FONCTION ENABLE--------------------------------
function enable(thingId)
{
	var targetElement;
	targetElement = document.getElementById(thingId) ;
	//alert(targetElement);
	if (targetElement.disabled)
	{
		targetElement.disabled = false ;
	} 
	else 
	{
		targetElement.disabled = true ;
	}
}
//------------------------------FIN FONCTION ENABLE--------------------------------

//------------------------------DEBUT FONCTION VISIBLE--------------------------------
function visibilite(thingId)
{
	var targetElement;
	targetElement = document.getElementById(thingId) ;
	if (targetElement.style.display == "none")
	{
		targetElement.style.display = "" ;
	} else {
		targetElement.style.display = "none" ;
	}
}
//------------------------------FIN FONCTION VISIBLE--------------------------------
//------------------------------DEBUT FONCTION ROLLOVER--------------------------------
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  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];}}
}

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_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//------------------------------FIN FONCTION ROLLOVER--------------------------------

//-------------------------DEBUT FONCTION POUR FLASH DANS IE---------------------------------
function BackToTheHtml(node)
{
	if(node == null)
		this.node = document; 
	else
		this.node = node; 
};
BackToTheHtml.prototype.node = null;

BackToTheHtml.prototype.execute = function()
{
	this.activateObject();
}

BackToTheHtml.prototype.activateObject = function(domObject)
{
	var aDomObject = this.node.getElementsByTagName('object');
	var activationObject;
	for(var i=0; i<aDomObject.length; i++)
		if
		(
			aDomObject[i].getAttributeNode('BackToTheHtml') == null
			&&
			(activationObject = this.getActivationObject(aDomObject[i])) != null
		)
			activationObject.execute();
};

BackToTheHtml.prototype.getActivationObject = function(domObject)
{
	var classid = domObject.classid.toUpperCase().substr('clsid:'.length);
	var mimeType = domObject.type.toLowerCase();

	switch(true)
	{
		case 
			classid == 'D27CDB6E-AE6D-11CF-96B8-444553540000' 
			||
			mimeType == 'application/x-shockwave-flash'
		:
			return new ActivateObjectFlash(domObject);

		default :
			return null;
	}
};

BackToTheHtml.uniqueID = function(prefix)
{
	var sPrefix;
	if(prefix == null)
		sPrefix = 'uniqueId';
	else
		sPrefix = prefix;
		
	var i=0;
	while(document.getElementById(sPrefix + (i++)))
		;
	return sPrefix + (i-1);
};

BackToTheHtml.isParentOf = function(parent,child)
{
	var found = false;
	for(var i=0; i<parent.childNodes.length; i++)
		if(parent.childNodes[i] == child)
			return true;
		else
			found = arguments.callee(parent.childNodes[i],child);

	return found;
}

/*****************************************************************************
* ActivateObject Command
*///**************************************************************************
function ActivateObject(domObject)
{
	this.domObject = domObject;
}

ActivateObject.prototype.domObject = null;
ActivateObject.prototype.classid = null;
ActivateObject.prototype.aHtmlAttribute = ['accessKey','align','alt','archive','border','code','codeBase','codeType','declare','dir','height','hideFocus','hspace','lang','language','name','standby','tabIndex','title','useMap','vspace','width'];
ActivateObject.prototype.aObjectProperty = null;

ActivateObject.prototype.execute = function()
{
	this.xndObjectId = BackToTheHtml.uniqueID();
	this.setTextHtml();
	this.writeObject();

	this.xndObject = document.getElementById(this.xndObjectId);
	this.setSpecialProperties();
	this.removeOriginalObject();
}

ActivateObject.prototype.setTextHtml = function()
{
	var str = '';
	str += '<object BackToTheHtml ' + '\n';
	str += ' classid="clsid:' + this.classid + '" ' + '\n';

	//Add HTML attributes to the <object> tag
	for(var i=0; i<this.aHtmlAttribute.length; i++)
	{
		var name = this.aHtmlAttribute[i];
		if(typeof this.domObject[name] != 'undefined' && this.domObject[name].toString() != '')
			str += '\t' + name + '="' + this.domObject[name].toString() + '" ' + '\n';
	}

	str += 'id="' + this.xndObjectId + '" ' + '\n';
	str += '>';

	for(var i=0; i<this.aObjectProperty.length; i++)
	{
		var name = this.aObjectProperty[i];
		if(typeof this.domObject[name] != 'undefined' && this.domObject[name].toString() != '' )
			str += '\t<param name="' + name + '" value="' + this.domObject[name].toString() + '"></param>' + '\n';
	}
	str += '</object>';

	this.textHtml = str;
};

ActivateObject.prototype.writeObject = function()
{
	this.domObject.insertAdjacentHTML("afterEnd",this.textHtml);
};

ActivateObject.prototype.setSpecialProperties = function()
{
	if(typeof this.domObject.className != 'undefined' && this.domObject.className.toString() != '')
		this.xndObject.className = this.domObject.className

	if(typeof this.domObject.style.cssText != 'undefined' && this.domObject.style.cssText.toString() != '')
		this.xndObject.style.cssText = this.domObject.style.cssText;

	if(typeof this.domObject.SWRemote != 'undefined' && this.domObject.SWRemote.toString() != '')
		this.xndObject.FlashVars = this.domObject.SWRemote;

	if(typeof this.domObject.codebase == 'undefined' || this.domObject.codebase.toString() == '')
		this.xndObject.codebase = 'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,24,0';

	if(typeof this.domObject.id != 'undefined' && this.domObject.id.toString() != '')
		this.xndObject.id = this.domObject.id;

};

ActivateObject.prototype.removeOriginalObject = function()
{
	this.domObject.parentNode.removeChild(this.domObject);
};

/*****************************************************************************
* ActivateObjectFlash Command
*///**************************************************************************
function ActivateObjectFlash(domObject)
{
	ActivateObject.call(this,domObject);
}
ActivateObjectFlash.prototype = new ActivateObject;
ActivateObjectFlash.prototype.aObjectProperty = ['FrameNum','Playing','Quality','Quality2','Scalemode','Scale','AlignMode','SAlign','BackgroundColor','BGColor','Loop','Movie','WMode','Base','DeviceFont','EmbedMovie','SWRemote','FlashVars','AllowScriptAccess'];
ActivateObjectFlash.prototype.classid = 'D27CDB6E-AE6D-11CF-96B8-444553540000';


/*****************************************************************************
* Script initialisation
*///**************************************************************************
if(typeof ActiveXObject != 'undefined' && typeof Function.call != 'undefined')
{
	var styleId = BackToTheHtml.uniqueID();
	document.write('<style id="' + styleId + '" ></style>');
	var domStyle = document.getElementById(styleId);

	var isHead = false;
	var aHead = document.getElementsByTagName('head');
	for(var i=0; i<aHead.length; i++)
		if(BackToTheHtml.isParentOf(aHead[i],domStyle))
			isHead = true;

	if(isHead)
	{
		document.write('<style type="text/css">OBJECT{visibility:hidden;}</style>');
		document.onreadystatechange = function()
		{
			if(document.readyState == 'complete')
			{
				new BackToTheHtml().execute();
				document.styleSheets[document.styleSheets.length-1].addRule("OBJECT","visibility:visible;");
				//alert('head');
				//alert(document.body.innerHTML);
			}
		}
	}
	else
	{
		new BackToTheHtml().execute();
		//alert('body');
		//alert(document.body.innerHTML);
	}
	
	domStyle.parentNode.removeChild(domStyle);
}
//-------------------------FIN FONCTION POUR FLASH DANS IE------------------------------------------------------

//-------------------------DEBUT FONCTION POUR PASSER DES PARAMETRES DANS L'URL---------------------------------
function getUrl(url)
{	
	document.location = url;
}
//-------------------------FIN FONCTION POUR PASSER DES PARAMETRES DANS L'URL-----------------------------------

//-------------------------DEBUT FONCTION POP-UP INSERTION IMAGE PRODUIT----------------------------------------
function insertImage(product_id) 
{   
		window.open('popup_select_upload_product_image_web.php?product_id=' + product_id,'Popup',  'toolbar=0,location=0,directories=0,status=1,scrollbars=0,resizable=0,copyhistory=0,menuBar=0,width=550,height=800,top=100,left=100');  
}
//--------------------------FIN FONCTION POP-UP INSERTION IMAGE PRODUIT-----------------------------------------
//-------------------------DEBUT FONCTION POP-UP INSERTION IMAGE USER----------------------------------------
function insertUserImage(user_id) 
{   
		window.open('popup_select_upload_user_image_web.php?user_id=' + user_id,'Popup',  'toolbar=0,location=0,directories=0,status=1,scrollbars=0,resizable=0,copyhistory=0,menuBar=0,width=350,height=270,top=100,left=100');  
}
//--------------------------FIN FONCTION POP-UP INSERTION IMAGE USER-----------------------------------------
//-------------------------DEBUT FONCTION POP-UP COMPATIBILITES PRODUIT----------------------------------------
function popup_product_compatibility(product_id) 
{   
		window.open('popup_search_product_for_compatibility.php?product_id=' + product_id,'Popup',  'toolbar=0,location=0,directories=0,status=1,scrollbars=1,resizable=1,copyhistory=0,menuBar=0,width=700,height=600,top=50,left=100');  
}
//--------------------------FIN FONCTION POP-UP COMPATIBILITES PRODUIT-----------------------------------------
//-------------------------DEBUT FONCTION POP-UP RELATED PRODUIT----------------------------------------
function popup_product_related(product_id) 
{   
		window.open('popup_search_product_for_related.php?product_id=' + product_id,'Popup',  'toolbar=0,location=0,directories=0,status=1,scrollbars=1,resizable=1,copyhistory=0,menuBar=0,width=700,height=600,top=50,left=100');  
}
//--------------------------FIN FONCTION POP-UP RELATED PRODUIT-----------------------------------------
//-------------------------DEBUT FONCTION POP-UP HERITAGES PRODUIT----------------------------------------
function popup_product_heritages(product_id) 
{   
		window.open('popup_products_heritages.php?product_id=' + product_id,'Popup',  'toolbar=0,location=0,directories=0,status=1,scrollbars=1,resizable=1,copyhistory=0,menuBar=0,width=500,height=250,top=50,left=100');  
}
//--------------------------FIN FONCTION POP-UP HERITAGES PRODUIT-----------------------------------------
//-------------------------DEBUT FONCTION POP-UP VIDEOS PRODUIT----------------------------------------
function popup_product_videos(product_id, code) 
{   
		window.open('popup_products_videos.php?product_id=' + product_id + '&code=' + code,'video',  'toolbar=0,location=0,directories=0,status=1,scrollbars=1,resizable=1,copyhistory=0,menuBar=0,width=500,height=400,top=50,left=100');  
}
//--------------------------FIN FONCTION POP-UP VIDEOS PRODUIT-----------------------------------------
//-------------------------DEBUT FONCTION POP-UP STATS BANNIERES----------------------------------------
function popup_advertise_stats(advertise_id) 
{   
		window.open('popup_advertise_stats.php?advertise_id=' + advertise_id,'advertise',  'toolbar=0,location=0,directories=0,status=1,scrollbars=1,resizable=1,copyhistory=0,menuBar=0,width=620,height=320,top=50,left=100');  
}
//--------------------------FIN FONCTION POP-UP VIDEOS PRODUIT-----------------------------------------

function GetId(id){
	return document.getElementById(id);
}

var i=false; // La variable i nous dit si la bulle est visible ou non

function move(e) {
  if(i) {  // Si la bulle est visible, on calcul en temps reel sa position ideale
    if (navigator.appName!="Microsoft Internet Explorer") { // Si on est pas sous IE
    GetId("infobulle").style.left=e.pageX + 5+"px";
    GetId("infobulle").style.top=e.pageY + 10+"px";
    }
    else { // Modif proposé par TeDeum, merci à  lui
		if(document.documentElement.clientWidth>0) {
			GetId("infobulle").style.right=20+event.x+document.documentElement.scrollLeft+"px";
			GetId("infobulle").style.top=10+event.y+document.documentElement.scrollTop+"px";
		} else {
			GetId("infobulle").style.right=20+event.x+document.body.scrollLeft+"px";
			GetId("infobulle").style.top=10+event.y+document.body.scrollTop+"px";
		}
    }
  }
} 

function montre(text) {
  if(i==false) {
  GetId("infobulle").style.visibility="visible"; // Si il est cacher (la verif n'est qu'une securité) on le rend visible.
  GetId("infobulle").innerHTML = text; // on copie notre texte dans l'élément html
  i=true;
  }
}

function cache() {
	if(i==true) {
		GetId("infobulle").style.visibility="hidden"; // Si la bulle est visible on la cache
		i=false;
	}
}
document.onmousemove=move; // dès que la souris bouge, on appelle la fonction move pour mettre à jour la position de la bulle.
