       ///////////////////////////
      //This is the MixUpPuzzle//
     //it uses the properties //
    //  and methods of the   //
   //   daveLayer object    //
  ///////////////////////////
makeMixUpPuzzle=function(daX,daY){
htMl='<img src='+myImage+' width=300 height=300>'
dL.makeLyr( 'dav',false,daX,daY,302,321,'')
dL.makeLyr( 'dav22',false,daX+201,daY+220,100,100,'<center><p><br><br>Creacions<br>Alt Empordą</p></center>')
for (i=0;i<3;i++){for (j=0;j<3;j++){
	if(i*j==4)break
	dL.makeLyr( 'dav'+i+j,false,daX+1,daY+20,(i+1)*100,(j+1)*100,htMl,i*100,(j+1)*100,(i+1)*100,j*100)}}
dL.makeLyr( 'dav1',false,daX+1,daY+2,60,18,'<P>Barreja</p>')
dL.makeLyr( 'dav2',false,daX+80,daY+2,40,18,'<p>Reset</p>')
dL.makeLyr( 'dav3',false,daX+260,daY+2,40,18,'<p>CRAE</p>')
d=dL.dav22
dL.scram=false
dL.lyrMsdn=function(a){
	if(a.id=='dav1Lyr')scramble()
	if(a.id=='dav2Lyr')rst()
	if(a.id=='dav3Lyr')bt()
	else return}
dL.lyrMsover=function(a){
	if(a.id=='dav1Lyr'){
		a.bC='#ffffff'
		a.update()}
	if(a.id=='dav2Lyr'){
		a.bC='#ffffff'
		a.update()}
	if(a.id=='dav3Lyr'){
		a.bC='#ffffff'
		a.update()}
	else return}
dL.lyrMsout=function(a){
	if(a.id=='dav1Lyr'){
		a.bC='#CCCCCC'
		a.update()}
	if(a.id=='dav2Lyr'){
		a.bC='#CCCCCC'
		a.update()}
	if(a.id=='dav3Lyr'){
		a.bC='#CCCCCC'
		a.update()}
	else return}
dL.lyrMsmv=function(a){mv(a)}
mv=function(a){
	if(d.movin)return false
	d=a
	var b=dL.dav22
	bx=b.x
	by=b.y
	ax=a.ax
	ay=a.ay
	if((ax==bx && Math.abs(ay-by)==100) || (ay==by && Math.abs(ax-bx)==100)){
		a.moveTo(bx-a.l,by-a.t,'s',45)
		b.moveTo(ax,ay)
		return true}
	return false}
dL.moveEnd=function(a){
	if(a.id=='dav22Lyr')return
	else scrm()}
scramble=function(){
	if(dL.scram)return
	dL.scram=true
	dL.i=20
	dL.j=0
	scrm()}
scrm=function(){
	if(!dL.scram)return
	if(dL.j++>8)dL.j=2
	if(mv(dL.objs[dL.j])){
		if(!dL.i--)dL.scram=false
		return}
	scrm()}
rst=function(){
	if(dL.scram || d.movin)return
	for(var i = 2;i < 10; i++)dL.objs[i].moveTo(daX+1,daY+20)
	dL.dav22.moveTo(daX+201,daY+220)}
bt=function(){window.open('http://www.crae.com')}
dL.write()} 
          //////////////////////////////////
         //  This is the daveLayer!----  //
        //   DO NOT ALTER THIS CODE     //
       //  DO NOT copy or reproduce ,  //
      //niether in whole nor in part!!//
     //////////////////////////////////
dL=new Object()
dL.loop=function(arg){}
dL.lyrMsmv=function(arg,x,y){}
dL.lyrMsdn=function(arg,x,y){}
dL.lyrMsup=function(arg,x,y){}
dL.lyrMsover=function(arg,x,y){}
dL.lyrMsout=function(arg,x,y){}
dL.docMsmv=function(x,y){}
dL.docMsdn=function(x,y){}
dL.docMsup=function(x,y){}
dL.moveEnd=function(){}
dL.objs=new Array()
dL.ubjs=new Array()
dL.div="" 
dL.css=""
dL.obj=""	
dL.z=1
dL.x=0
dL.y=0
dL.cnt=0
dL.dat=new Date()
dL.makeLyr=function(lyr,drag,left,top,w,h,html,t,r,b,l){t=t||0,r=r||w,b=b||h,l=l||0,html=html||''
eval('dL.'+lyr+'=new dL.Lyr(lyr,"'+lyr+'Lyr",'+drag+','+left+','+top+','+t+','+r+','+b+','+l+')')
eval("dL.objs[dL.objs.length]=dL."+lyr)
dL.div+='<DIV ID='+lyr+'Lyr>'+html+'</DIV>\n'
dL.css+='#'+lyr+'Lyr {position:absolute;left:'+left+'px;top:'+top+'px;width:'+w+'px;height:'+h+'px;'
dL.css+='clip:rect('+t+'px '+r+'px '+b+'px '+l+'px);}\n'}
dL.Lyr=function(name,id,drag,x,y,t,r,b,l){var q=this
q.num=dL.cnt++
q.drag=drag
q.id=id
q.movin=false
q.zz=0
q.x=x
q.y=y
q.tx=x
q.ty=y
q.ix=0
q.iy=0	
q.t=t
q.r=r
q.b=b
q.l=l
q.ts
q.bC='#CCCCCC'
q.end=false
q.ax=q.x+q.l
q.ay=q.y+q.t
dL.ubjs[q.num]=null
q.moveTo=function(x,y,ts,a){
if(q.x==x && q.y==y)return
if(!ts){q.x=x
q.y=y
q.update()
return}
q.movin=true
q.tx=x
q.ty=y
x-=q.x
y-=q.y
if(ts=='s'){
var d=Math.sqrt(x*x+y*y)
a=d*100/a
ts='t'}
if(ts=='t'){
q.ts=a
q.ix=x/a
q.iy=y/a}
dL.ubjs[q.num]=q}
q.moveIt=function(){
if((q.ts-=dL.et)>0){
q.x+=q.ix*dL.et
q.y+=q.iy*dL.et
}else{q.ts=dL.ubjs[q.num]=null
q.x=q.tx,q.y=q.ty
q.movin=false
q.end=true}
q.update()}
q.msdn=function(x,y){
dL.lyrMsdn(q,x,y)
if(q.drag && !dL.obj){
q.z()
dL.obj=q
dL.x=x
dL.y=y
}else return false}
q.msmv=function(x,y){dL.lyrMsmv(q,x,y)}
q.msup=function(x,y){dL.lyrMsup(q,x,y)}
q.msover=function(x,y){dL.lyrMsover(q,x,y)}
q.msout=function(x,y){dL.lyrMsout(q,x,y)}
if(document.layers){
q.update=function(){var d=document.layers
d[id].top =q.y
d[id].left=q.x
d[id].clip.top=q.t
d[id].clip.right=q.r
d[id].clip.left=q.l
d[id].clip.bottom=q.b
d[id].bgColor=q.bC
q.ay=q.y+q.t
q.ax=q.x+q.l
if(q.end){
q.end=false
dL.moveEnd(q)}}
q.z=function(){if(q.zz+1<=dL.z)document.layers[id].zIndex=q.zz=dL.z++}
}else{q.update=function(){var d=document.all
d[id].style.pixelLeft=q.x
d[id].style.pixelTop =q.y
d[id].style.clip="rect("+q.t+"px "+q.r+"px "+q.b+"px "+q.l+"px)"
d[id].style.backgroundColor=q.bC
q.ay=q.y+q.t
q.ax=q.x+q.l
if(q.end){
q.end=false
dL.moveEnd(q)}}
q.z=function(){if(q.zz+1<=dL.z)document.all[id].style.zIndex=q.zz=dL.z++}}}
dL.timer=function(){dL.dat1=dL.dat
dL.dat=new Date()
dL.et=dL.dat.getTime()-dL.dat1.getTime()
dL.loop(dL.et)
if(dL.obj)dL.obj.update()
for(var i=0;i<dL.ubjs.length;i++){if(dL.ubjs[i])dL.ubjs[i].moveIt()}dL.loopin=setTimeout("dL.timer()",25)}
dL.msdn=function(x,y){dL.docMsdn()
return false}
dL.msmv=function(x,y){dL.docMsmv()
if(!dL.obj)return false
dL.obj.x=x-dL.x
dL.obj.y=y-dL.y
return true}
dL.msup=function(x,y){dL.docMsup()
dL.obj=""
return false}
dL.msevent=function(){var d=document
if(d.layers){d.onmousedown=function(e){if(e.which!=1)return true
if(e.target!=d)routeEvent(e)
if(dL.msdn(e.pageX,e.pageY))return false
return true}
d.onmousemove=function(e){if(e.target!=d)routeEvent(e)
if(dL.msmv(e.pageX,e.pageY))return false
return true}
d.onmouseup=function(e){if(e.target!=d)routeEvent(e)
if(dL.msup(e.pageX,e.pageY))return false
return true}
d.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP)
for(var i=0;i<dL.objs.length;i++){var a=d.layers[dL.objs[i].id]
a.obj=dL.objs[i]
a.onmousedown=function(e){this.obj.msdn(e.layerX,e.layerY)}
a.onmousemove=function(e){this.obj.msmv(e.layerX,e.layerY)}
a.onmouseup=function(e){this.obj.msup(e.layerX,e.layerY)}
a.onmouseover=function(e){this.obj.msover(e.layerX,e.layerY)}
a.onmouseout=function(e){this.obj.msout(e.layerX,e.layerY)}
a.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP | Event.MOUSEOUT)}}else{var a=d.body
d.onmousedown=function(){if(event.button!=1)return true
if(dL.msdn(event.x+a.scrollLeft,event.y+a.scrollTop))return false
return true}
d.onmousemove=function(){if(dL.msmv(event.x+a.scrollLeft,event.y+a.scrollTop))return false
return true}
d.onmouseup=function(){if(dL.msup(event.x+a.scrollLeft,event.y+a.scrollTop))return false
return true}
for(var i=0;i<dL.objs.length;i++){var a=d.all[dL.objs[i].id]
a.obj=dL.objs[i]
a.onmousedown=function(){this.obj.msdn(event.offsetX,event.offsetY)}
a.onmousemove=function(){this.obj.msmv(event.offsetX,event.offsetY)}
a.onmouseup=function(){this.obj.msup(event.offsetX,event.offsetY)}
a.onmouseover=function(){this.obj.msover(event.offsetX,event.offsetY)}
a.onmouseout=function(){this.obj.msout(event.offsetX,event.offsetY)}}}}
dL.write=function(){if(dL.css){document.write('<STYLE TYPE="text/css">\n'+dL.css+'</STYLE>')
dL.css=null}else{document.write(dL.div)
dL.div=null
dL.dav.update()
dL.msevent()
dL.timer()}}



