document.onmousemove = mouseMove;
document.onmouseup   = mouseUp;

var dragObject  = null;
var mouseOffset = null;

var prixtotal = 29.9;
var nm = 1;
var nl1 = 0;
var nl2 = 0;
var nl3 = 0;



function findPos( obj )
{
	var curleft = 0;
	var curtop = 0;
	var sizew = obj.offsetWidth;
	var sizeh = obj.offsetHeight;
	
	if( obj.offsetParent )
	{
		do
		{
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	
	return {
		left:curleft,
		top:curtop,
		right:curleft+sizew,
		bottom:curtop+sizeh
	};
}

function mouseCoords( ev )
{
	if( ev.pageX || ev.pageY )
	{
		return {x:ev.pageX, y:ev.pageY};
	}
	
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	};
}

function getMouseOffset( target, ev )
{
	ev = ev || window.event;

	var docPos    = getPosition( target );
	var mousePos  = mouseCoords( ev );
	return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}

function getPosition( e )
{
	var left = 0;
	var top  = 0;

	while( e.offsetParent )
	{
		left += e.offsetLeft;
		top  += e.offsetTop;
		e     = e.offsetParent;
	}

	left += e.offsetLeft;
	top  += e.offsetTop;

	return {x:left, y:top};
}

function mouseMove( ev )
{
	ev           = ev || window.event;
	var mousePos = mouseCoords( ev );
	
	if( dragObject )
	{
		dragObject.style.position = 'absolute';
		dragObject.style.top      = (mousePos.y - mouseOffset.y) + 'px';
		dragObject.style.left     = (mousePos.x - mouseOffset.x) + 'px';

		return false;
	}
}

currentMapId = 0;

function createMap()
{
	currentMapId++;
	
	var marea = document.createElement("area");
	marea.setAttribute("shape","circle");
	marea.setAttribute("href",'javascript:deleteCommande(\'' + currentMapId + '\');');
	marea.setAttribute("coords","103,11,10");

	var elm = document.createElement( 'map' );
	elm.setAttribute("name",'Map-' + currentMapId);
	elm.setAttribute("id",'Map-' + currentMapId);
	elm.appendChild( marea );
	
	document.getElementById( 'maps' ).appendChild( elm );
	
	document.getElementById( 'commande' ).style.backgroundImage = 'url()';
	
	return '#Map-' + currentMapId;
}

function mouseUp( ev )
{
	if( !dragObject ) return;
	
	ev           = ev || window.event;
	var mousePos = mouseCoords( ev );
	var position = findPos( document.getElementById( 'commande' ) );
	
	if( position.top < mousePos.y && position.bottom > mousePos.y && position.left < mousePos.x && position.right > mousePos.x )
	{
		var image = new Image( 117, 112 );
		image.border = '0';
		image.useMap = createMap();
		image.src = 'images/' + dragObject.id + '.png';
		image.id = 'panier-objet-' + currentMapId;
		
		if( dragObject.id == 'panier-mirror' )
		{
			prixtotal += 29.9;
		}
		else
		{
			prixtotal += 9.9;
		}

switch (dragObject.id) {
        case 'panier-mirror':
                        nm++;
        break;
        case 'panier-lapinMixte':
                        nl1++;
        break;
        case 'panier-lapinGarcon':
                        nl2++;
        break;
        case 'panier-lapinFille':
                        nl3++;
        break;
};

	document.getElementById('mirror').value = nm;
        document.getElementById('l1').value = nl1;
        document.getElementById('l2').value = nl2;
        document.getElementById('l3').value = nl3;

        document.getElementById( 'comm-content' ).appendChild( image );

	document.getElementById( 'prixtotal' ).innerHTML = 'Total : ' + Math.abs(prixtotal).toFixed(2).toString().replace(/\./,',') + ' &euro;*'

	}
	
	dragObject.parentNode.removeChild( dragObject );
	dragObject = null;
}

function ajouterPanier( type )
{
	var image = new Image( 117, 112 );
	image.border = '0';
	image.useMap = createMap();
	image.src = 'images/' + type + '.png';
	image.id = 'panier-objet-' + currentMapId;
	
	document.getElementById( 'comm-content' ).appendChild( image );
	
	if( type == 'panier-mirror' )
	{
		prixtotal += 29.9;
	}
	else
	{
		prixtotal += 9.9;
	}
	
switch (type) {
	case 'panier-mirror':
	                nm++;
	break;
	case 'panier-lapinMixte':
	                nl1++;
	break;
	case 'panier-lapinGarcon':
	                nl2++;
	break;
        case 'panier-lapinFille':
	                nl3++;
        break;

}

        document.getElementById('mirror').value = nm;
        document.getElementById('l1').value = nl1;
        document.getElementById('l2').value = nl2;
        document.getElementById('l3').value = nl3;
	
	document.getElementById( 'prixtotal' ).innerHTML = 'Total : ' + Math.abs(prixtotal).toFixed(2).toString().replace(/\./,',') + ' &euro;*'
}


function makeDraggable( item )
{
	if(!item) return;
	
	item.onmousedown = function( ev )
	{
		dragObject  = item.cloneNode( true );
		document.getElementById( 'global' ).appendChild( dragObject );
		mouseOffset = getMouseOffset( this, ev );

		return false;
	}
}

function initDraggable()
{
	makeDraggable( document.getElementById( 'panier-mirror' ) );
	makeDraggable( document.getElementById( 'panier-lapinMixte' ) );
	makeDraggable( document.getElementById( 'panier-lapinGarcon' ) );
	makeDraggable( document.getElementById( 'panier-lapinFille' ) );
}

function deleteCommande( id )
{
	var obj = document.getElementById( 'panier-objet-' + id );
	
	if( obj.src.indexOf('panier-mirror') > 0 )
	{
		prixtotal -= 29.9;
                nm--;
	}
	else
	{
		prixtotal -= 9.9;

		if( obj.src.indexOf('panier-lapinMixte') > 0 ) { 
		nl1--;
		} 
		else if( obj.src.indexOf('panier-lapinGarcon') > 0 ) { 
		nl2--;
		}
		else if( obj.src.indexOf('panier-lapinFille') > 0 ) { 
		nl3--;
		}
	}


	
	document.getElementById( 'prixtotal' ).innerHTML = 'Total : ' + Math.abs(prixtotal).toFixed(2).toString().replace(/\./,',') + ' &euro;*'
	
	document.getElementById( 'comm-content' ).removeChild( obj );
	document.getElementById( 'maps' ).removeChild( document.getElementsByName( 'Map-' + id )[0] );

	document.getElementById('mirror').value = nm;
	document.getElementById('l1').value = nl1;
	document.getElementById('l2').value = nl2;
	document.getElementById('l3').value = nl3;
	

	if( document.getElementById( 'maps' ).childNodes.length < 2 )
	{
		document.getElementById( 'commande' ).style.backgroundImage = 'url(../images/glisserproduit.png)';
		document.getElementById( 'commande' ).style.backgroundRepeat = 'no-repeat';
	}
}

var Timer=null;

function scrollCommande( sens )
{
	var Objet = document.getElementById( 'comm-content' );
	Objet.style.top = (parseInt(Objet.style.top) + (8*sens)) + 'px';
	if(parseInt(Objet.style.top) > 18 || document.getElementById( 'menu-deroulant' ).offsetHeight > Objet.offsetHeight)
	{
		Objet.style.top = '18px';
		clearTimeout(Timer);
	}
	else if(parseInt(Objet.style.top) + 18 < (document.getElementById( 'menu-deroulant' ).offsetHeight - Objet.offsetHeight))
	{
		Objet.style.top = (document.getElementById( 'menu-deroulant' ).offsetHeight - Objet.offsetHeight - 18) + 'px';
		clearTimeout(Timer);
	}
	else
	{
		Timer = setTimeout("scrollCommande(" + sens + ");", 30);
	}
}



function checkcommande()
{
        if( ((nl1 + nl2 + nl3 + 1) / (nm + 1)) <= 1/2)
        {
                alert( "La vente de chaque mirror s'accompagne d'au moins un lapin.");
        } else if(nl1 + nl2 + nl3+ nm == 0 ) {
                alert( "Votre panier est vide, remplissez-le !");
	}
        else
        {
                document.getElementById('form-commande').submit();
        }
}

var TimerConcours=null;
var vitesseConcours = 45;
var tempsMaj = 20;
var currentFrame = 0;

function scrollConcours( sens )
{
	var Objet = document.getElementById( 'img-concours' );
	
	if( sens == 2 )
	{
		Objet.style.left = (parseInt(Objet.style.left) + vitesseConcours*3) + 'px';
		if( parseInt(Objet.style.left) > 0 )
		{
			currentFrame = 0;
			Objet.style.left = '0px';
			clearTimeout(TimerConcours);
		}
		else
		{
			TimerConcours = setTimeout("scrollConcours(" + sens + ");", tempsMaj);
		}
	}
	else if( sens == -2 )
	{
		Objet.style.left = (parseInt(Objet.style.left) - vitesseConcours*3) + 'px';
		if( parseInt(Objet.style.left) < -1616 )
		{
			currentFrame = 2;
			Objet.style.left = '-1616px';
			clearTimeout(TimerConcours);
		}
		else
		{
			TimerConcours = setTimeout("scrollConcours(" + sens + ");", tempsMaj);
		}
	}
	else
	{
		var currentLeft = parseInt(Objet.style.left);
		
		if( currentLeft <= -1616 )
		{
			clearTimeout(TimerConcours);
			scrollConcours( 2 );
			return;
		}
		else if( currentLeft > 0 )
		{
			clearTimeout(TimerConcours);
			scrollConcours( -2 );
			return;
		}
		
		Objet.style.left = (currentLeft + (vitesseConcours*sens)) + 'px';
		
		if(sens == 1 && parseInt(Objet.style.left) > (-1*((currentFrame-1) * 808)))
		{
			Objet.style.left = (-1*((currentFrame-1) * 808)) + 'px';
			clearTimeout(TimerConcours);
			currentFrame--;
		}
		else if(sens == -1 && parseInt(Objet.style.left) < (-1*((currentFrame+1) * 808)))
		{
			Objet.style.left = (-1*((currentFrame+1) * 808)) + 'px';
			clearTimeout(TimerConcours);
			currentFrame++;
		}
		else
		{
			TimerConcours = setTimeout("scrollConcours(" + sens + ");", tempsMaj);
		}
	}
}

function autoScroll()
{
	scrollConcours( -1 );
	autoTimer = setTimeout("autoScroll()", 9000);
}

var autoTimer = null;
function exitAutoScrool()
{
	clearTimeout(autoTimer);
	autoTimer = null;
}

function launchAutoScroll()
{
	autoTimer = setTimeout("autoScroll()", 9000);
}

function lancerScroll( sens )
{
	exitAutoScrool();
	
	if(TimerConcours != null)
	{
		clearTimeout(TimerConcours);
	}
	
	scrollConcours( sens );
}

