// Anti-mail non prévu.
// Usage : NoMail( 'fin DNS', 'compte', 'début DNS', 'title du lien' );
function NoMail( s1, s2, s3, title )
{
	document.write( "<a title='" + title + "' href='mailto:" + s2 + "@" + s3 + s1 + "'>" + s2 + "@" + s3 + s1 + "</a>" );
}

// Dessine un flash (correctif pour IE, afin d'éviter le cadre clignotant désagréable)
function draw_flash( name, width, height )
{
	document.write( "<object type=\"application/x-shockwave-flash\" data=\"" + name + "\" style=\"width: " + width + "px; height: " + height + "px\">" );
	document.write( "<param name=\"movie\" value=\"" + name + "\">" );
	document.write( "<param name=\"quality\" value=\"high\">" );
	document.write( "<param name=\"menu\" value=\"false\">" );
	document.write( "</object>" );
}

function selectReplacement(obj,index) {
	obj.className += ' replaced';
    var ul = document.createElement('ul');
    ul.className = 'selectReplacement';
    ul.ID = index;
    var opts = obj.options;
    for (var i=0; i<opts.length; i++) {
		var selectedOpt;
        if (opts[i].selected) {
			selectedOpt = i;
			break;
        } 
        else {
			selectedOpt = 0;
        }
	}
    for (var i=0; i<opts.length; i++) {
		var li = document.createElement('li');
        var txt = document.createTextNode(opts[i].text);
        li.appendChild(txt);
        li.selIndex = opts[i].index;
        li.selectID = obj.id;
        li.onclick = function() {
			selectMe(this);
        }
        if (i == selectedOpt) {
			li.className = 'selected';
			li.onclick = function() {
				this.parentNode.className += ' selectOpen';
				this.onclick = function() {
					selectMe(this);
				}
			}
        }
        if (window.attachEvent) {
			li.onmouseover = function() {
				this.className += ' hover';
			}
			li.onmouseout = function() {
				this.className = 
				this.className.replace(new RegExp(" hover\\b"), '');
			}
		}
        ul.appendChild(li);
	}
    obj.parentNode.insertBefore(ul,obj);
}
function selectMe(obj) {
	var lis = obj.parentNode.getElementsByTagName('li');
    for (var i=0; i<lis.length; i++) {
		if (lis[i] != obj) {
			lis[i].className='';
			lis[i].onclick = function() {
				selectMe(this);
			}
        } 
		else {
			setVal(obj.selectID, obj.selIndex);
			obj.className='selected';
			obj.parentNode.className = 
            obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
			obj.onclick = function() {
				obj.parentNode.className += ' selectOpen';
				this.onclick = function() {
					selectMe(this);
				}
			}
        }
	}
	
	changeTarif(obj.parentNode.ID);
}

function setVal(objID, selIndex) {
	var obj = document.getElementById(objID);
    obj.selectedIndex = selIndex;
}
function setForm() {
	var s = document.getElementsByTagName('select');
    for (var i=0; i<s.length; i++) {
		selectReplacement(s[i],i);
    }
}
function changeTarif(i) 
{
	document.getElementById("prix"+i).innerHTML = aPrix[i][ document.getElementById("taillechoisie"+i).selectedIndex ];
	if (aPrix[i][document.getElementById("taillechoisie"+i).selectedIndex].toString().indexOf("Nous contacter",0)>=0)
		document.getElementById("ajout"+i).style.display = 'none';
	else
	{
		document.getElementById("ajout"+i).href = "javascript:AddPanierGlobal(" + aID[i][document.getElementById("taillechoisie"+i).selectedIndex] + ")";
		document.getElementById("ajout"+i).style.display = 'inline';
	}
	document.getElementById("ref"+i).innerHTML = aRef[i][ document.getElementById("taillechoisie"+i).selectedIndex ];
	document.getElementById("dispo"+i).innerHTML = aDispo[i][ document.getElementById("taillechoisie"+i).selectedIndex ];
}

function ContactOpen(i)
{
	window.open("/ContactRef.aspx?id="+i,"",'toolbar=no').focus();
}


/* Vignettes ************************************************************* */
var img_detail = null;
var current_parent = null;
var interval = null;
var opacity = 0;

function prepareDetails() {
	
	var vignettes = document.getElementsByTagName("p");
	
	for( i=0; i<vignettes.length; i++ )
	{
			if( vignettes[i].className == "vignette" )
			{
				vignettes[i].onmouseover = showDetail;
				vignettes[i].onmouseout = hideDetail;
				vignettes[i].onmousemove = moveDetail;	

			}
	}
}

function showDetail(e)
{
	if(!e) e = window.event;
	if(!this) me = e.srcElement;
	else me = this;
	
	
	imgs = me.getElementsByTagName( "img" );
	for( i=0; i<imgs.length; i++ )
	{
		if( imgs[i].className == "detail" )
		{
			img = imgs[i];
			break;
		}
	}
	
	if( img != img_detail )
		hideDetail();
		

	if( img_detail == null )
	{
		img_detail = img;
		current_parent = img.parentNode;
		me.removeChild( img );
		document.getElementById("contenu").appendChild( img );

	
		if( document.all ) 
		{
			img_detail.style.filter = "progid:DXImageTransform.Microsoft.Alpha"; 
		}
		img.style.opacity = 0;	
		interval = setInterval( "fadeIn()", 1 );
		moveDetail( e );
	}
}

function fadeIn()
{
	if( opacity < 1 )
	{

		if( document.all )
		{
			opacity += 0.3;
			img_detail.filters.item("DXImageTransform.Microsoft.Alpha").opacity = opacity * 100;
			
		}
		else
		{
			opacity += 0.04;
			img_detail.style.opacity = opacity;
		}
	}
}


function moveDetail( e )
{
	if(!e) e = window.event;
	img = img_detail;
	if( img )
	{
		img.style.padding = "10px";
		img.style.border = "1px solid #999";
		img.style.background = "#CCC";
		img.style.display = "block";
		img.onmouseover = hideDetail;
		img.onmouseout = hideDetail;
		relativeToMouse( e, img );
	
	}
}

function relativeToMouse( evt, elmt, deltax )
{
	elmt.style.position = "absolute";

	if (self.innerHeight) // all except Explorer
	{
		winx = self.innerWidth;
		winy = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode
	{
		winx = document.documentElement.clientWidth;
		winy = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		winx = document.body.clientWidth;
		winy = document.body.clientHeight;
	}
	
	if( evt.pageX )
	{ 
		newX = (evt.pageX ) + 15;
		newY = (evt.pageY ) + 15;
	
		if( winx - newX + (elmt.offsetWidth + 20) > winx )
		{
			elmt.style.right = winx - newX - elmt.offsetWidth - 20 + "px";
		}
		else
		{
			elmt.style.right = winx-newX + "px";
		}
		if( winy - newY + elmt.offsetHeight + 20 > winy )
		{
			elmt.style.bottom = winy - newY - elmt.offsetHeight - 20 + "px";
		}
		else
		{
			elmt.style.bottom = winy-newY + "px";
		}
	}
	else
	{
		newX = (evt.clientX + document.body.scrollLeft + document.documentElement.scrollLeft );
		newY = evt.clientY ;
		
		if( winx - newX - elmt.offsetWidth - 20 > 0 )
		{
			elmt.style.right = winx - newX - elmt.offsetWidth - 20 + "px";
		}
		else
		{	
			elmt.style.right =  winx - newX + 20 + "px";
		}
		if( newY + elmt.offsetHeight + 20 > winy )
		{
			/*alert("sup");*/
			elmt.style.bottom = winy - newY - elmt.offsetHeight + 20 + "px";
		}
		else
		{
			elmt.style.bottom = winy - newY + 20 + "px";
		}
	}
}

function hideDetail( e )
{
	if( img_detail )
	{
		document.getElementById("contenu").removeChild( img_detail );
		current_parent.appendChild( img_detail );
		opacity = 0;
		img_detail.style.display = "none";
		img_detail = null;
		current_parent = null;
		clearInterval( interval );
	}
}

/* Fin vignettes ************************************************ */

function init() 
{
	prepareDetails();

}

window.onload = init;
