
var counter = 0; 
var tempX = 0;
var elt_posX,elt_posY,b;
var elements = new Array();

// During page on load
Event.observe(window, 'load', function() {

  // create each element
  images.each(function(photo) {
      var div = Builder.node('div', { className: 'image', style: 'position:absolute;display:none;' });
      if(clickit!=false) { 
        Event.observe(div, 'click', Click);
        div.style.cursor = 'pointer'; 
      }
      id_div = photo.split(".");
      div.id = id_div[0];
      //var img = Builder.node('img', { src: path + photo });
      var img = document.createElement('img');
      img.src = path + photo;
      div.insert(img); 
      $('logo_agence').insert(div);  
      elements.push(div.id);
      Reflection.add(img, { height: height, opacity: opacity });
    });
    
  open();

});

// create each element
function open() { 

  // appear each element
  elements.each(function(element) {
    new Effect.Appear(element, {duration:0.8});
  });

  // start carousel   
  b = setInterval('carousel()',10);
  
  // set mouse events
  function position(e) {
    if (navigator.appName.substring(0,3) == "Net") {
      tempX = e.pageX;
    } else {
      tempX = event.x+document.body.scrollLeft;
    }
	
	/*test*/
	var larg = (document.body.clientWidth);
	var taille = (larg - 900)/2;
	if ((tempX - taille) > 0 && (tempX - taille) < 900) {
		
		move();
	}
	
	/*fin test*/
	
	
		//move();
  }
  document.onmousemove = position;
  document.onmouseout = out; 
  
}

// on mouse move on main container
function move() {
		
	speed = -(tempX - centerx) / 5000;
	base = 0.03;
}

// on mouse out from main container
function out() {
	//base=0.03;	
	//tempX=0;
	speed = speed;
}

// Change image event to back
function textIt(elt) {
  Event.stopObserving(elt, 'click', Click);
  Event.observe(elt, 'click', Back);
}

// Change image event to click
function untextIt(elt) {
  Event.stopObserving(elt, 'click', Back);
  Event.observe(elt, 'click', Click);
}

// Back to carousel
function Back(elt) {

  // get parent div id if clicked element is an object
  if(typeof(elt)=='object') { elt = Event.element(elt).parentNode.parentNode.id; }
  
  // define actions
  var appearer = 'new Effect.Parallel([';
  for(i=0;i < elements.length;i++) {
    if(elements[i]!=elt) { 
      appearer += "new Effect.Appear('"+elements[i]+"', {sync:true})";      
    } else {
      appearer += "new Effect.Morph('"+elt+"', {style: 'left: '+elt_posx+'px; top: '+elt_posy+'px;'})";
    }
    appearer += ', ';
  }
  appearer += 'new Effect.Fade(\'text\', {sync: true})], {duration:0.5, afterFinish : function() { untextIt(\''+elt+'\'); $(\'text\').innerHTML = \'\'; b = setInterval(\'carousel()\',40); } });';

  // do actions
  eval(appearer);  
  
}

function Click(elt) {

  // get parent div id
  elt = Event.element(elt).parentNode.parentNode.id;
  // stop carousel
  clearInterval(b);
  
  // get clicked element positions
  elt_posx = parseFloat(Element.getStyle(elt, 'left'));
  elt_posy = parseFloat(Element.getStyle(elt, 'top'));
  
  // define actions

window.location.href = "index.php?page="+elt; 


}


// request text
function requestText(elt) {
  var url = includes+'page.php';
  myText = new Ajax.Request( url, 
      { method: 'get', 
        parameters: {item: elt}, 
        onComplete: function(xhr) {
          if (xhr.status == 200) { $('text').innerHTML = xhr.responseText; } 
          else if(xhr.status == 404) { $('text').innerHTML = 'Page non found.'; }
          else { $('text').innerHTML = 'An error occurred. Please re-try.'; }
        } 
  });
}

// carousel 
function carousel() {
 elements.each(function(photo, i) {
		angle = i*2*Math.PI/elements.length;		
		posx = centerx+Math.sin(counter*(base*speed)+angle)*radiusx;
		posy = centery+Math.cos(counter*(base*speed)+angle)*radiusy;	
		$(elements[i]).style.left = posx+"px"; 
		$(elements[i]).style.top = posy+"px";
		$(elements[i]).style.zIndex = Math.round(posy/3)+100;		
		angle += speed;	
	});	
	counter++
}
