var englishVersion = false;
var menuEnd = '-black';
var menuSelEnd = '-sel';
var menuSize = new Array(0, 112, 159, 0, 0, 0);
var smenuBarIsOver = new Array(false, false, false, false, false, false);
var menuIsOver = false;
var selectedMenu = 0;
var menuReady = true;
var menuTimerid = null;
var menuTimerid2 = null;
var photoTimerid = null;
var slideshowPaused = false;
var slideshowOn = true;
var slideshowId = 0;
var selectedPage = 0;
var isIE = false;
var ieVersion = 0.0;
var ieTimerid = null;
var windowCurrentSize = 0;
var nbPhotos = 0;

var ImgsPath = "/images/";
var Exceptions = new Array();
Exceptions[0] = 'prestations-bg-white.png';
Exceptions[1] = 'references-bg-white.png';


/***************************************************
***************** MAIN FUNCTIONS *******************
***************************************************/

function preloadImages() {
  var d=document;
  if(d.images){
    if (!d.MM_p) d.MM_p = new Array();
    var i, j = d.MM_p.length, a = 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 = 'http://www.casaleandco.com'+a[i];
      }
  }
}

function returnFalse() {
  return false;
}

function returnTrue() {
  return true;
}

function setNullEvents() {
  $('#menubar div.menu').click(returnFalse);
  $('#menubar #lang').click(returnFalse);
  $('div.smenu').click(returnFalse);
}

function setEvents() {
  $('#menubarbg').mousemove(menuBarMove);
  $('#menubar').mousemove(menuBarMove);
  $('#menubar div.menu').hover(menuOver, menuOut);
  $('#menubar div.menu').click(menuClick);
  $('#menubar div.menu').mousemove(menuMove);
  $('#menubar #lang').hover(langOver, langOut);
  $('#menubar #lang').click(langClick);
  $('div.smenubar').hover(smenuBarOver, smenuBarOut);
  $('div.smbarie').hover(smenuBarOverIE, smenuBarOutIE);
  $('div.smenu').hover(smenuOver, smenuOut);
  $('div.smenu').click(smenuClick);
  $('#sound').hover(soundOver, soundOut);
  $('#about').hover(aboutOver, aboutOut);
  $('#about').click(aboutClick);
  $(window).resize(windowResize);
}

function completeDocument() {
  // check lang
  if (englishVersion) {
    menuEnd = '-en';
    menuSelEnd = '-esel';
    urlEnd = '?l=en';
    $('body').append('<div id="sinfo"><p><i>Cafe del mar</i> song appears by courtesy of <i>Massivetracks</i>. All rights reserved.</p></div><div id="ainfo"><p>Site designed by<br/>GlobGlob Creations</p></div>');
  }
  else
    $('body').append('<div id="sinfo"><p>Vous écoutez <i>Cafe del mar</i>, un titre de <i>Massivetracks</i>. Tous droits réservés.</p></div><div id="ainfo"><p>Site conçu par<br/>GlobGlob Créations</p></div>');
  $('#sinfo').css('opacity', '0');
  $('#ainfo').css('opacity', '0');

  // check IE
  if (navigator.appVersion.match("MSIE")) {
    isIE = true;
    arVersion = navigator.appVersion.split("MSIE");
    ieVersion = parseFloat(arVersion[1]);
    if (ieVersion < 7) {
      $('body').append('<div class="smbarie" id="sm2ie"></div><div class="smbarie" id="sm3ie"></div>');
      $('#sm2ie').append($('#sm2').html());
      $('#sm3ie').append($('#sm3').html());
      $('div.smbarie').css('height', '0px');
      $('div.smenubar').empty();
    }
  }

  // éléments manquants
  $('body').append('<div id="menubarbg"></div><div id="menubarbg2"><div id="mbg2"><img src="/images/menubarbg-white.png" /></div></div><div id="load"> </div>');
  $('#menubarbg').css('opacity', '0.4');
  $('#menubarbg2').css('opacity', '0');
  $('#page').append('<div id="pagebg"><img src="/images/avenue-montaigne.jpg" /></div>');

  // check size
  windowCurrentSize = $(window).height();
  if (windowCurrentSize < 600) {
    $('#page').css({top: '3px', marginTop: '0'});
    $('#logo').css({top: '3px', marginTop: '0'});
    i = 13 - 603 + windowCurrentSize;
    $('#menubar').css({bottom: '0', marginBottom: i+'px'});
    $('#menubarbg').css({bottom: '0', marginBottom: i+'px'});
    $('#menubarbg2').css({bottom: '0', marginBottom: i+'px'});
    i = 58 - 603 + windowCurrentSize;
    $('.smenubar').css({bottom: '0', marginBottom: i+'px'});
    i = 53 - 603 + windowCurrentSize;
    $('#sinfo').css({bottom: '0', marginBottom: i+'px'});
    $('#ainfo').css({bottom: '0', marginBottom: i+'px'});
  }

  // play sound
  if (navigator.platform.match('Linux'))
    var so = new SWFObject("sound_on_off.swf", "mysound", "24", "20", "8", "#BBBBBB");
  else
    var so = new SWFObject("sound_on_off.swf", "mysound", "24", "20", "8", "#FFFFFF");
  so.addParam("wmode", "transparent");
  so.addVariable("loop", "true");
  so.write("sound");

  w = 25;
  for (i = 0; i < heights.length; i ++) {
    $('#m'+(i+1)).css('left', w + 'px');
    w += 50 + widths[i];
    $('#m'+(i+1)+' h2').css({marginTop: (15 + 10 - heights[i]) + 'px'});
    for (j = 0; sheights[i] && (j < sheights[i].length); j ++)
      $('#sm'+(i+1)+''+(j+1)).css('height', sheights[i][j]);
  }
  $('#lang').css('left', w + 'px');
  $('#lang h2').css('marginTop', '17px');

  if (((window.location.pathname == '/') || (window.location.pathname == '/index.php')) &&
	(!document.referrer || (document.referrer.indexOf(window.location.hostname) < 0)))
    prepareHomeAnimation();
  // prepare menu animation
  else if ((window.location.pathname != '/') && (window.location.pathname != '/index.php'))
    prepareMenuAnimation();
  // simply show home
  else
    prepareLangAnimation();
}

function actionOver() {
  id = $(this).attr('id');
  if (isIE) {
    src = $('#'+id+' span').attr('style');
    $('#'+id+' span').attr('style', src.substring(0, src.lastIndexOf('.')) + '-sel' + src.substr(src.lastIndexOf('.')));
  }
  else {
    src = $('#'+id+' img').attr('src');
    $('#'+id+' img').attr('src', src.substring(0, src.lastIndexOf('.')) + '-sel' + src.substr(src.lastIndexOf('.')));
  }
}

function actionOut() {
  id = $(this).attr('id');
  if (isIE) {
    src = $('#'+id+' span').attr('style');
    $('#'+id+' span').attr('style', src.replace('-sel',''));
  }
  else {
    src = $('#'+id+' img').attr('src');
    $('#'+id+' img').attr('src', src.replace('-sel',''));
  }
}

function soundOver(event) {
  $('#sinfo').stop();
  $('#sinfo').css('zIndex', '150');
  $('#sinfo').animate({opacity: '1'}, 500);
}

function soundOut(event) {
  $('#sinfo').stop();
  $('#sinfo').animate({opacity: '0'}, 500, '', function(){
    $('#sinfo').css('zIndex', '1');
  });
}

function aboutOver(event) {
  $('#ainfo').stop();
  $('#ainfo').css('zIndex', '150');
  $('#ainfo').animate({opacity: '1'}, 500);
}

function aboutOut(event) {
  $('#ainfo').stop();
  $('#ainfo').animate({opacity: '0'}, 500, '', function(){
    $('#ainfo').css('zIndex', '1');
  });
}

function aboutClick() {
  return false;
}

/***************************************************
**************** MENU ANIMATIONS *******************
***************************************************/

function menuBarOver() {
  $('#menubarbg').stop();
  $('#menubarbg').animate({opacity: '0'}, 500);
  $('#menubarbg2').stop();
  $('#menubarbg2').animate({opacity: '1'}, 500);
}

function menuBarOut() {
  $('#menubarbg').stop();
  $('#menubarbg').animate({opacity: '0.4'}, 500);
  $('#menubarbg2').stop();
  $('#menubarbg2').animate({opacity: '0'}, 500);
}

function menuBarMove(event) {
  if (isIE) {
    if (event.pageX < 502) {
      $('#mbg2').css('left', '0px');
      $('#menubarbg2').css('left', (event.pageX - 502) + 'px');
      return;
    }
    $('#menubarbg2').css('left', '0px');
    $('#mbg2').css('left', (event.pageX - 502) + 'px');
    return;
  }
  $('#mbg2').css('left', (event.pageX - 502) + 'px');
}

function menuOver(event) {
  menuIsOver = true;
  smenuBarHideAll();
  menuBarOver();

  id = $(this).attr('id').substring(1);
  if (snames[id-1] && snames[id-1].length)
    smenuBarShow(id);

  if (id == selectedMenu) return;
  if ((parseInt(id) < 10) && (selectedMenu > 10) && (parseInt(Math.floor(selectedMenu / 10)) == parseInt(id))) return;

  if (isIE) {
    src = $('#m'+id+' span').attr('style');
    $('#m'+id+' span').attr('style', src.replace(menuEnd, menuSelEnd));
  }
  else {
    src = $('#m'+id+' img').attr('src');
    $('#m'+id+' img').attr('src', src.replace(menuEnd, menuSelEnd));
  }
}

function _menuOut(id) {
  if (smenuBarIsOver[id-1])
    return;
  smenuBarHide(id);
  if (menuIsOver)
    return;
  menuBarOut();
}

function menuOut() {
  menuIsOver = false;

  id = $(this).attr('id').substring(1);
  if (!snames[id-1] && snames[id-1].length) 
    menuBarOut();
  else {
    if (menuTimerid2) clearTimeout(menuTimerid2);
    menuTimerid2 = setTimeout("_menuOut("+id+")", 10);
  }

  if (id == selectedMenu) return;
  if ((parseInt(id) < 10) && (selectedMenu > 10) && (parseInt(Math.floor(selectedMenu / 10)) == parseInt(id))) return;

  if (isIE) {
    src = $('#m'+id+' span').attr('style');
    $('#m'+id+' span').attr('style', src.replace(menuSelEnd, menuEnd));
  }
  else {
    src = $('#m'+id+' img').attr('src');
    $('#m'+id+' img').attr('src', src.replace(menuSelEnd, menuEnd));
  }
}

function langOver() {
  menuIsOver = true;
  smenuBarHideAll();
  menuBarOver();
  if (isIE) {
    src = $('#lang span').attr('style');
    $('#lang span').attr('style', src.replace(menuEnd, menuSelEnd));
  }
  else {
    src = $('#lang img').attr('src');
    $('#lang img').attr('src', src.replace(menuEnd, menuSelEnd));
  }
}

function langOut() {
  menuIsOver = false;
  menuBarOut();
  if (isIE) {
    src = $('#lang span').attr('style');
    $('#lang span').attr('style', src.replace(menuSelEnd, menuEnd));
  }
  else {
    src = $('#lang img').attr('src');
    $('#lang img').attr('src', src.replace(menuSelEnd, menuEnd));
  }
}

function langClick() {
  if (englishVersion) window.location.href = window.location.href.replace('?l=en', '');
  else window.location.href = window.location.href + '?l=en';
}

function menuLoad() {
  // prepare
  $('#page').append('<div class="contentbg" id="cbg'+selectedMenu+'"><div class="cbgv"></div><div class="cbgh"></div><div class="tlc"></div><div class="trc"></div><div class="brc"></div><div class="blc"></div></div><div class="content" id="co'+selectedMenu+'"><div class="photos" id="ss'+selectedMenu+'"></div><div class="legends" id="ssl'+selectedMenu+'"></div><div class="ctitle" id="ct'+selectedMenu+'"></div><div class="cbody" id="cb'+selectedMenu+'"></div></div>');

  $('#cbg'+selectedMenu).css('opacity', '0.7');
  $('#page #co'+selectedMenu).css('opacity', '0');

  // load smenu
  if (selectedMenu > 10) {
    mid = parseInt(Math.floor(selectedMenu / 10));
    id = selectedMenu - (mid * 10);
    $('#ct'+selectedMenu).append(titles[mid-1]+' / '+stitles[mid-1][id-1]);
    $('#cb'+selectedMenu).append(scontents[mid-1][id-1]);
    for (i = 0; i < smimages[mid-1][id-1].length; i ++) {
      $('#ss'+selectedMenu).append('<div id="p'+i+'" class="photo"><img src="/'+names[mid-1]+'/'+snames[mid-1][id-1]+'/'+smimages[mid-1][id-1][i]+'"/></div>');
      $('#ssl'+selectedMenu).append('<div id="l'+i+'" class="legend">'+smlegends[mid-1][id-1][i]+'</div>');
    }
    // images nav
    if (smimages[mid-1][id-1].length > 1)
      $('#co'+selectedMenu).append('<div class="pnav" id="ssn'+selectedMenu+'"><img src="/images/pause.png"/></div>');
    // preload images
    for (i = 1; i < smimages[mid-1][id-1].length; i ++)
      preloadImages('/'+names[mid-1]+'/'+snames[mid-1][id-1]+'/'+smimages[mid-1][id-1][i]);
  }
  // load menu
  else {
    $('#ct'+selectedMenu).append(titles[selectedMenu-1]);
    $('#cb'+selectedMenu).append(contents[selectedMenu-1]);
    for (i = 0; i < mimages[selectedMenu-1].length; i ++) {
      $('#ss'+selectedMenu).append('<div id="p'+i+'" class="photo"><img src="/'+names[selectedMenu-1]+'/'+mimages[selectedMenu-1][i]+'"/></div>');
      $('#ssl'+selectedMenu).append('<div id="l'+i+'" class="legend">'+mlegends[selectedMenu-1][i]+'</div>');
    }
    // images nav
    if (mimages[selectedMenu-1].length > 1)
      $('#co'+selectedMenu).append('<div class="pnav" id="ssn'+selectedMenu+'"><img src="/images/pause.png"/></div>');
    // preload images
    for (i = 1; i < mimages[selectedMenu-1].length; i ++)
     preloadImages('/'+names[selectedMenu-1]+'/'+mimages[selectedMenu-1][i]);
  }

  // prepare loaded elements
  if ($('#cb'+selectedMenu+' .cpage').length > 1)
    $('#co'+selectedMenu).append('<div id="cn'+selectedMenu+'" class="cnav"><div id="cnn'+selectedMenu+'" class="cnext"><img src="/images/next.png"/></div></div>');
  $('#cb'+selectedMenu+' .cpage').css('left', '550px');
  $('#cb'+selectedMenu+' #cp0').css('left', '0px');
  $('#ss'+selectedMenu+' div.photo').css({opacity: '0', zIndex: '3'});
  $('#ssl'+selectedMenu+' div.legend').css({opacity: '0', zIndex: '3'});
  $('#ss'+selectedMenu+' #p0').css({opacity: '1', zIndex: '5'});
  $('#ssl'+selectedMenu+' #l0').css({opacity: '1', zIndex: '5'});

  // treat IE
  if (isIE) ieChangeImages();

  $('#ssn'+selectedMenu).click(slideshowPause);
  $('#ssn'+selectedMenu).hover(actionOver, actionOut);
  $('#cn'+selectedMenu+' .cnext').click(contentNextPage);
  $('#cn'+selectedMenu+' .cnext').hover(actionOver, actionOut);
}

function ieChangeImages() {
  $('#cn'+selectedMenu+' img').replaceWith('<span style="display: inline-block; width: 18px; height: 14px; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'http://www.casaleandco.com/images/next.png\', sizingMethod=\'image\')"></span>');
  $('#ssn'+selectedMenu+' img').replaceWith('<span style="display: inline-block; width: 10px; height: 14px; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'http://www.casaleandco.com/images/pause.png\', sizingMethod=\'image\')"></span>');
}

function menuFadeIn() {
  $('#cbg'+selectedMenu+' .cbgv').animate({width: '900px'}, 1000);
  $('#cbg'+selectedMenu+' .cbgh').animate({height: '479px'}, 1000);
  $('#cbg'+selectedMenu).animate({width: '950px', height: '529px', left: '0px', top: '0px'}, 1000, '', function(){
    $('#page #co'+selectedMenu).animate({opacity: '1'}, 1000, '', function(){
      menuReady = true;
      if (selectedMenu > 10) {
	mid = Math.floor(selectedMenu / 10);
	id = selectedMenu - (mid * 10);
	nbPhotos = smimages[mid-1][id-1].length;
      }
      else
	nbPhotos = mimages[selectedMenu-1].length;
      slideshowReset();
      if (nbPhotos > 1) {
	selectedPage = 0;
	slideshowStart();
      }
    });
  });
}

function menuFadeInWait() {
  if (menuTimerid) clearTimeout(menuTimerid);
  menuTimerid = setTimeout("menuFadeIn()", 500);
}

function menuFadeOut(id) {
  // unsel smenu
  if (id > 10) {
    if (isIE) {
      src = $('#sm'+id+' span').attr('style');
      $('#sm'+id+' span').attr('style', src.replace(menuSelEnd,menuEnd));
    }
    else {
      src = $('#sm'+id+' img').attr('src');
      $('#sm'+id+' img').attr('src', src.replace(menuSelEnd,menuEnd));
    }
  }
  // unsel menu
  else {
    if (isIE) {
      src = $('#m'+id+' span').attr('style');
      $('#m'+id+' span').attr('style', src.replace(menuSelEnd,menuEnd));
    }
    else {
      src = $('#m'+id+' img').attr('src');
      $('#m'+id+' img').attr('src', src.replace(menuSelEnd,menuEnd));
    }
  }
  // fade out
  dir = '-';
  if (Math.random() >= 0.5) dir = '+';
  $('#cbg'+id).animate({left: dir+'950px'}, 1000, '', function(){ $('#cbg'+id).remove(); });
  $('#page #co'+id).animate({left: dir+'950px'}, 1000, '', function(){ $('#page #co'+id).remove(); });
}

function menuClick() {
  if (!menuReady)
    return false;

  menuReady = false;
  oldMenu = selectedMenu;
  id = $(this).attr('id').substring(1);

  if (oldMenu == id) {
    menuReady = true;
    return false;
  }

  if (photoTimerid) clearTimeout(photoTimerid);
  selectedMenu = id;
  menuLoad();

  // unsel old menu
  if (oldMenu > 0) {
    menuFadeOut(oldMenu);
    menuFadeInWait();
    return false;
  }

  menuFadeIn();
  return false;
}

function menuMove(event) {
  id = $(this).attr('id').substring(1);
  if (!snames[id-1] || !snames[id-1].length)
    return;
//  $('#smbg'+id).css('left', (event.pageX - 80) + 'px');
  $('#sm'+id).css('left', (event.pageX - 80) + 'px');
  if (isIE && (ieVersion < 7))
    $('#sm'+id+'ie').css('left', (event.pageX - 80) + 'px');
}


/***************************************************
**************** SMENUS ANIMATIONS *****************
***************************************************/

function smenuBarOver() {
  id = $(this).attr('id').substring(2);
  smenuBarIsOver[id-1] = true;
  menuBarOver();
  $('#sm'+id).stop();
  $('#sm'+id).css({height: menuSize[id-1]+'px'});
  if (isIE && (ieVersion < 7)) {
    $('#sm'+id+'ie').stop();
    $('#sm'+id+'ie').css({height: menuSize[id-1]+'px'});
  }
}

function smenuBarOverIE() {
  id = $(this).attr('id').substring(2,3);
  smenuBarIsOver[id-1] = true;
  menuBarOver();
  $('#sm'+id).stop();
  $('#sm'+id).css({height: menuSize[id-1]+'px'});
  $('#sm'+id+'ie').stop();
  $('#sm'+id+'ie').css({height: menuSize[id-1]+'px'});
}

function smenuBarOut() {
  id = $(this).attr('id').substring(2);
  smenuBarIsOver[id-1] = false;
  menuBarOut();
  smenuBarHide(id);
}

function smenuBarOutIE() {
  id = $(this).attr('id').substring(2,3);
  smenuBarIsOver[id-1] = false;
  menuBarOut();
  smenuBarHide(id);
}

function smenuBarShow(id) {
  $('#sm'+id).animate({height: menuSize[id-1]+'px'}, 1000);
  if (isIE && (ieVersion < 7))
    $('#sm'+id+'ie').animate({height: menuSize[id-1]+'px'}, 1000);
}

function smenuBarHide(id) {
  $('#sm'+id).stop();
  $('#sm'+id).css('height', '0px');
  if (isIE && (ieVersion < 7)) {
    $('#sm'+id+'ie').stop();
    $('#sm'+id+'ie').css('height', '0px');
  }
}

function smenuBarHideAll() {
  smenuBarHide(2);
  smenuBarHide(3);
}

function smenuOver() {
  id = $(this).attr('id').substring(2);
  if (id == selectedMenu) return;
  if (isIE) {
    src = $('#sm'+id+' span').attr('style');
    $('#sm'+id+' span').attr('style', src.replace(menuEnd, menuSelEnd));
  }
  else {
    src = $('#sm'+id+' img').attr('src');
    $('#sm'+id+' img').attr('src', src.replace(menuEnd, menuSelEnd));
  }
}

function smenuOut() {
  id = $(this).attr('id').substring(2);
  if (id == selectedMenu) return;
  if (isIE) {
    src = $('#sm'+id+' span').attr('style');
    $('#sm'+id+' span').attr('style', src.replace(menuSelEnd, menuEnd));
  }
  else {
    src = $('#sm'+id+' img').attr('src');
    $('#sm'+id+' img').attr('src', src.replace(menuSelEnd, menuEnd));
  }
}

function smenuClick() {
  if (!menuReady)
    return false;

  menuReady = false;
  oldMenu = selectedMenu;
  id = $(this).attr('id').substring(2);

  if (oldMenu == id) {
    menuReady = true;
    return false;
  }

  mid = parseInt(Math.floor(id / 10));
  smenuBarHide(mid);
  if (isIE) {
    src = $('#m'+mid+' span').attr('style');
    $('#m'+mid+' span').attr('style', src.replace(menuEnd, menuSelEnd));
  }
  else {
    src = $('#m'+mid+' img').attr('src');
    $('#m'+mid+' img').attr('src', src.replace(menuEnd, menuSelEnd));
  }

  if (photoTimerid) clearTimeout(photoTimerid);
  selectedMenu = id;
  menuLoad();

  // unsel old menu
  if (oldMenu > 0) {
    menuFadeOut(oldMenu);
    menuFadeInWait();
    return false;
  }

  menuFadeIn();
  return false;
}

/***************************************************
**************** PHOTOS ANIMATIONS *****************
***************************************************/

function slideshowReset() {
  if (photoTimerid) clearTimeout(photoTimerid);
  slideshowPaused = false;
  slideshowOn = true;
  slideshowId = 0;
}

function slideshowNext() {
  if (slideshowPaused)
    return;
  var cur = slideshowId;
  slideshowId ++;
  if (slideshowId == nbPhotos)
    slideshowId = 0;
  // animate
  $('#ss'+selectedMenu+' div.photo, #ssl'+selectedMenu+' div.legende').stop();
  $('#ss'+selectedMenu+' div.photo, #ssl'+selectedMenu+' div.legende').css({zIndex: '3', opacity: '0'});
  $('#ss'+selectedMenu+' #p'+cur).css({zIndex: '5', opacity: '1'});
  $('#ssl'+selectedMenu+' #l'+cur).css({zIndex: '5', opacity: '1'});
  $('#ss'+selectedMenu+' #p'+slideshowId).css({zIndex: '4'});
  $('#ssl'+selectedMenu+' #l'+slideshowId).css({zIndex: '4'});

  $('#ssl'+selectedMenu+' #l'+slideshowId).animate({opacity: '1'}, 3000);
  $('#ssl'+selectedMenu+' #l'+cur).animate({opacity: '0'}, 3000);
  $('#ss'+selectedMenu+' #p'+slideshowId).animate({opacity: '1'}, 3000);
  $('#ss'+selectedMenu+' #p'+cur).animate({opacity: '0'}, 3000, '', function(){
    $('#ss'+selectedMenu+' #p'+slideshowId).css({zIndex: '5'});
    $('#ssl'+selectedMenu+' #l'+slideshowId).css({zIndex: '5'});
    slideshowStart();
  });
}

function slideshowStart() {
  if (nbPhotos <= 1) return;
  if (photoTimerid) clearTimeout(photoTimerid);
  if (slideshowPaused) return;
  photoTimerid = setTimeout("slideshowNext()", 4000);
}

function slideshowPause(event) {
  if (nbPhotos <= 1) return;
  if (slideshowPaused) {
    slideshowPaused = false;
    slideshowNext();
    if (isIE) {
      src = $('#ssn'+selectedMenu+' span').attr('style');
      $('#ssn'+selectedMenu+' span').attr('style', src.replace('play','pause'));
    }
    else {
      src = $('#ssn'+selectedMenu+' img').attr('src');
      $('#ssn'+selectedMenu+' img').attr('src', src.replace('play','pause'));
    }
    return false;
  }
  slideshowPaused = true;
  if (photoTimerid) clearTimeout(photoTimerid);
  if (isIE) {
    src = $('#ssn'+selectedMenu+' span').attr('style');
    $('#ssn'+selectedMenu+' span').attr('style', src.replace('pause','play'));
  }
  else {
    src = $('#ssn'+selectedMenu+' img').attr('src');
    $('#ssn'+selectedMenu+' img').attr('src', src.replace('pause','play'));
  }
  return false;
}



/***************************************************
**************** CONTENT ANIMATIONS ****************
***************************************************/

function contentNextPage() {
  currentPage = selectedPage;
  selectedPage ++;
  nbPages = $('#cb'+selectedMenu+' .cpage').length;

  $('#cb'+selectedMenu+' .cpage').stop();
  for (i = 0; i < currentPage; i ++)
    $('#cb'+selectedMenu+' #cp'+i).css('left', '-550px');
  $('#cb'+selectedMenu+' #cp'+i).css('left', '0');
  for (i = currentPage + 1; i < nbPages; i ++)
    $('#cb'+selectedMenu+' #cp'+i).css('left', '550px');

  $('#cb'+selectedMenu+' #cp'+currentPage).animate({left: '-550px'}, 1000);
  $('#cb'+selectedMenu+' #cp'+selectedPage).animate({left: '0px'}, 1000);

  // buttons ok
  if ((currentPage > 0) && (selectedPage < nbPages - 1))
    return false;

  // remove next
  if (selectedPage == nbPages - 1) {
    $('#cn'+selectedMenu+' .cnext').remove();
    if (nbPages > 2) return false;
  }

  // add previous
  if (isIE)
    $('#cn'+selectedMenu).append('<div id="cnp'+selectedMenu+'" class="cprev"><span style="display: inline-block; width: 18px; height: 14px; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'http://www.casaleandco.com/images/previous.png\', sizingMethod=\'image\')"></span></div>');
  else
    $('#cn'+selectedMenu).append('<div id="cnp'+selectedMenu+'" class="cprev"><img src="/images/previous.png"/></div>');

  $('#cn'+selectedMenu+' .cprev').click(contentPreviousPage);
  $('#cn'+selectedMenu+' .cprev').hover(actionOver, actionOut);
  return false;
}

function contentPreviousPage() {
  currentPage = selectedPage;
  selectedPage --;
  nbPages = $('#cb'+selectedMenu+' .cpage').length;

  $('#cb'+selectedMenu+' .cpage').stop();
  for (i = 0; i < currentPage; i ++)
    $('#cb'+selectedMenu+' #cp'+i).css('left', '-550px');
  $('#cb'+selectedMenu+' #cp'+i).css('left', '0');
  for (i = currentPage + 1; i < nbPages; i ++)
    $('#cb'+selectedMenu+' #cp'+i).css('left', '550px');

  $('#cb'+selectedMenu+' #cp'+currentPage).animate({left: '550px'}, 1000);
  $('#cb'+selectedMenu+' #cp'+selectedPage).animate({left: '0px'}, 1000);

  // buttons ok
  if ((selectedPage > 0) && (currentPage < nbPages - 1))
    return false;

  // remove previous
  if (selectedPage == 0) {
    $('#cn'+selectedMenu+' .cprev').remove();
    if (nbPages > 2) return false;
  }

  // add next
  if (isIE)
    $('#cn'+selectedMenu).prepend('<div id="cnn'+selectedMenu+'" class="cnext"><span style="display: inline-block; width: 18px; height: 14px; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'http://www.casaleandco.com/images/next.png\', sizingMethod=\'image\')"></span></div>');
  else
    $('#cn'+selectedMenu).prepend('<div id="cnn'+selectedMenu+'" class="cnext"><img src="/images/next.png"/></div>');

  $('#cn'+selectedMenu+' .cnext').click(contentNextPage);
  $('#cn'+selectedMenu+' .cnext').hover(actionOver, actionOut);
  return false;
}


/***************************************************
**************** HOME ANIMATIONS *******************
***************************************************/

function prepareHomeAnimation() {
  if (navigator.platform.match('Linux'))
    $('#movie').css('top', '600px');
  if (englishVersion)
    var so2 = new SWFObject("main-en.swf", "mymovie", "950", "600", "8", "#000000", "high", '', 'index.php');
  else
    var so2 = new SWFObject("main.swf", "mymovie", "950", "600", "8", "#000000", "high", '', 'index.php');
  so2.addParam("wmode", "transparent");
  so2.addParam("swliveconnect", "true");
  so2.addParam("play", "false");
  so2.addParam("loop", "false");
  so2.write("movie");

  if (isIE && (ieVersion < 7))
    $('div.smbarie').css('visibility', 'visible');
  $('div.smenubar').css('visibility', 'visible');

  $('#pagebg').css('opacity', '0');
  if (!isIE) {
    $('#menubar div.menu').css({opacity: '0', visibility: 'visible'});
    $('#lang').css({opacity: '0', visibility: 'visible'});
    $('#about').css({opacity: '0', visibility: 'visible'});
    $('#sound').css('visibility', 'hidden');
  }
  if (isIE && (ieVersion < 7))
    $('#page').append('<div id="logobig"><div id="lb_tl"><img src="/images/logo-top-left.gif"/></div><div id="lb_tr"><img src="/images/logo-top-right.gif"/></div><div id="lb_bl"><img src="/images/logo-bottom-left.gif"/></div><div id="lb_br"><img src="/images/logo-bottom-right.gif"/></div></div>');
  else
    $('body').append('<div id="logobig"><div id="lb_tl"><img src="/images/logo-top-left.gif"/></div><div id="lb_tr"><img src="/images/logo-top-right.gif"/></div><div id="lb_bl"><img src="/images/logo-bottom-left.gif"/></div><div id="lb_br"><img src="/images/logo-bottom-right.gif"/></div></div>');
  $('#lb_tl').css({top: '0%', marginTop: '-88px'});
  $('#lb_tr').css({top: '100%', marginTop: '0px'});
  $('#lb_bl').css({left: '0%', marginLeft: '-208px'});
  $('#lb_br').css({left: '100%', marginLeft: '0px'});
  setNullEvents();
}

function startMenuAnimation() {
  // prepare loaded elements
  if ($('#cb'+selectedMenu+' .cpage').length > 1)
    $('#co'+selectedMenu).append('<div id="cn'+selectedMenu+'" class="cnav"><div id="cnn'+selectedMenu+'" class="cnext"><img src="/images/next.png"/></div></div>');
  $('#cb'+selectedMenu+' .cpage').css('left', '550px');
  $('#cb'+selectedMenu+' #cp0').css('left', '0px');
  $('#ss'+selectedMenu+' div.photo').css({opacity: '0', zIndex: '3'});
  $('#ssl'+selectedMenu+' div.legend').css({opacity: '0', zIndex: '3'});
  $('#ss'+selectedMenu+' #p0').css({opacity: '1', zIndex: '5'});
  $('#ssl'+selectedMenu+' #l0').css({opacity: '1', zIndex: '5'});
  setEvents();
}

function prepareSMenuAnimation() {
  mid = parseInt(Math.floor(selectedMenu / 10));
  id = selectedMenu - (mid * 10);
  for (i = 0; i < smimages[mid-1][id-1].length; i ++) {
    $('#ss'+selectedMenu).append('<div id="p'+i+'" class="photo"><img src="/'+names[mid-1]+'/'+snames[mid-1][id-1]+'/'+smimages[mid-1][id-1][i]+'"/></div>');
    $('#ssl'+selectedMenu).append('<div id="l'+i+'" class="legend">'+smlegends[mid-1][id-1][i]+'</div>');
  }
  // sel menus
  src = $('#m'+mid+' img').attr('src');
  $('#m'+mid+' img').attr('src', src.replace(menuEnd, menuSelEnd));
  src = $('#sm'+selectedMenu+' img').attr('src');
  $('#sm'+selectedMenu+' img').attr('src', src.replace(menuEnd, menuSelEnd));

  // images nav
  if (smimages[mid-1][id-1].length > 1) {
    $('#co'+selectedMenu).append('<div class="pnav" id="ssn'+selectedMenu+'"></div>');
    if (isIE)
      $('#ssn'+selectedMenu).append('<span style="display: inline-block; width: 10px; height: 14px; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'http://www.casaleandco.com/images/pause.png\', sizingMethod=\'image\');"></span>');
    else
      $('#ssn'+selectedMenu).append('<img src="/images/pause.png"/>');
  }
  // preload images
  for (i = 1; i < smimages[mid-1][id-1].length; i ++)
    preloadImages('/'+names[mid-1]+'/'+snames[mid-1][id-1]+'/'+smimages[mid-1][id-1][i]);
  startMenuAnimation();
}


function prepareMenuAnimation() {
  $('#menubarbg').css('width', '100%');
  $('#logo').css('opacity', '1');
  $('#menubar div.menu').css('visibility', 'visible');
  $('#lang').css('visibility', 'visible');
  $('#about').css('visibility', 'visible');
  if (isIE && (ieVersion < 7))
    $('div.smbarie').css('visibility', 'visible');
  $('div.smenubar').css('visibility', 'visible');

  $('#page').append('<div class="contentbg" id="cbg'+selectedMenu+'"><div class="cbgv"></div><div class="cbgh"></div><div class="tlc"></div><div class="trc"></div><div class="brc"></div><div class="blc"></div></div>');

  $('#cbg'+selectedMenu).css('opacity', '0.7');
  $('#page #co'+selectedMenu).css('opacity', '0');

  if (selectedMenu > 10)
    return prepareSMenuAnimation();

  for (i = 0; i < mimages[selectedMenu-1].length; i ++) {
    $('#ss'+selectedMenu).append('<div id="p'+i+'" class="photo"><img src="/'+names[selectedMenu-1]+'/'+mimages[selectedMenu-1][i]+'"/></div>');
    $('#ssl'+selectedMenu).append('<div id="l'+i+'" class="legend">'+mlegends[selectedMenu-1][i]+'</div>');
  }
  // sel menu
  src = $('#m'+selectedMenu+' img').attr('src');
  $('#m'+selectedMenu+' img').attr('src', src.replace(menuEnd, menuSelEnd));

  // images nav
  if (mimages[selectedMenu-1].length > 1) {
    $('#co'+selectedMenu).append('<div class="pnav" id="ssn'+selectedMenu+'"></div>');
    if (isIE)
      $('#ssn'+selectedMenu).append('<span style="display: inline-block; width: 10px; height: 14px; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'http://www.casaleandco.com/images/pause.png\', sizingMethod=\'image\');"></span>');
    else
      $('#ssn'+selectedMenu).append('<img src="/images/pause.png"/>');
  }
  // preload images
  for (i = 1; i < mimages[selectedMenu-1].length; i ++)
    preloadImages('/'+names[selectedMenu-1]+'/'+mimages[selectedMenu-1][i]);
  PngFixImg();
  PngFixBkground();
  startMenuAnimation();
}

function prepareLangAnimation() {
  $('#menubarbg').css('width', '100%');
  $('#logo').css('opacity', '1');
  $('#menubar div.menu').css('visibility', 'visible');
  $('#lang').css('visibility', 'visible');
  $('#about').css('visibility', 'visible');
  if (isIE && (ieVersion < 7))
    $('div.smbarie').css('visibility', 'visible');
  $('div.smenubar').css('visibility', 'visible');
  PngFixImg();
  PngFixBkground();
  setEvents();
}

function preloadHome() {
  preloadImages('/images/presentation'+menuSelEnd+'.png', '/images/prestations'+menuSelEnd+'.png', '/images/references'+menuSelEnd+'.png', '/images/evenements'+menuSelEnd+'.png', '/images/contact'+menuSelEnd+'.png', '/images/english'+menuSelEnd+'.png', '/images/creation'+menuSelEnd+'.png', '/images/relations-presse'+menuSelEnd+'.png', '/images/evenementiel'+menuSelEnd+'.png', '/production'+menuSelEnd+'.png', '/images/mode'+menuSelEnd+'.png', '/images/haute-joaillerie'+menuSelEnd+'.png', '/images/banques-privees-finance'+menuSelEnd+'.png', '/images/beaute'+menuSelEnd+'.png', '/images/hotels'+menuSelEnd+'.png', '/images/pause'+menuSelEnd+'.png', '/images/next'+menuSelEnd+'.png', '/images/previous'+menuSelEnd+'.png', '/images/play'+menuSelEnd+'.png', '/images/corner-top-left.png', '/images/corner-top-right.png', '/images/corner-bottom-left.png', '/images/corner-bottom-right.png', '/images/prestations-bg.png', '/images/references-bg.png');
  for (i = 0; i < names.length; i ++) {
    preloadImages('/'+names[i]+'/'+mimages[i][0]);
    for (j = 0; j < snames[i].length; j ++)
      preloadImages('/'+names[i]+'/'+snames[i][j]+'/'+smimages[i][j][0]);
  }
}

function animateHome() {
  // menu or smenu
  if ((window.location.pathname != '/') && (window.location.pathname != '/index.php')) {
    menuFadeIn();
    $('#ssn'+selectedMenu).click(slideshowPause);
    $('#ssn'+selectedMenu).hover(actionOver, actionOut);
    $('#cn'+selectedMenu+' .cnext').click(contentNextPage);
    $('#cn'+selectedMenu+' .cnext').hover(actionOver, actionOut);
    preloadHome();
    return false;
  }
  // simple home
  if (document.referrer && (document.referrer.indexOf(window.location.hostname) >= 0)) {
    preloadHome();
    return false;
  }

  $('#lb_tl').animate({top: '50%', marginTop: '-57px'}, 3000, 'easeOutQuad');
  $('#lb_tr').animate({top: '50%', marginTop: '-57px'}, 3000, 'easeOutQuad');
  $('#lb_bl').animate({left: '50%', marginLeft: '-150px'}, 3000, 'easeOutQuad');
  $('#lb_br').animate({left: '50%', marginLeft: '58px'}, 3400, 'easeOutQuad', function(){
    $('#logobig').animate({opacity: '0'}, 1000, '', function(){
      $('#logobig').remove();
      animateFlash();
    });
  });
  return false;
}

function animateFlash() {
  $('#sound').css('visibility', 'visible');
  if (navigator.platform.match('Linux'))
    $('#movie').css('top', '0');
  if (!flashDetected)
    return endFlash();
  document.getElementById('mymovie').GotoFrame(1);
  if (englishVersion)
    $('body').append('<div id="intro"><a href="/" onclick="return endFlash();">Skip intro</a></div>');
  else
    $('body').append('<div id="intro"><a href="/" onclick="return endFlash();">Passer l\'intro</a></div>');
  if ($(window).height() >= 660)
    $('#intro').css('marginTop', '305px');
  else if ($(window).height() < 660)
    $('#intro').css({top: '580px', marginTop: '0'});
  $('#intro').click(endFlash);
  PngFixImg();
  PngFixBkground();
  preloadHome();
}

function endFlash() {
  $('#movie').remove();
  $('#intro').remove();
  $('#sound').css('visibility', 'hidden');
  animateNoFlash();
  return false;
}

function animateNoFlash() {
  $('#pagebg').animate({opacity: '1'}, 1000, '', function(){
    terminateHomeAnimation();
  });
}

function terminateHomeAnimation() {
  $('#logo').animate({opacity: '1'}, 2000);
  $('#menubarbg').animate({width: '100%'}, 3800, 'easeOutQuad', function(){
    setEvents();
  });
  if (isIE)
    return animateHomeIE('1');
  $('#m1').animate({opacity: '1'}, 600, '', function(){
    $('#m2').animate({opacity: '1'}, 400, '', function(){
      $('#m3').animate({opacity: '1'}, 400, '', function(){
	$('#m4').animate({opacity: '1'}, 400, '', function(){
	  $('#m5').animate({opacity: '1'}, 400, '', function(){
	    $('#m6').animate({opacity: '1'}, 400, '', function(){
	      $('#lang').animate({opacity: '1'}, 400, '', function(){
		$('#about').animate({opacity: '1'}, 400);
		$('#sound').css('visibility', 'visible');
	      });
	    });
	  });
	});
      });
    });
  });
}

function _showMenuIE(id) {
  if (id == 'about') {
    $('#about').css('visibility', 'visible');
    return;
  }
  if (id == 'sound') {
    $('#sound').css('visibility', 'visible');
    return animateHomeIE('about');
  }
  if (id == 'lang') {
    $('#lang').css('visibility', 'visible');
    return animateHomeIE('sound');
  }
  $('#m'+id).css('visibility', 'visible');
  i = parseInt(id);
  i ++;
  if (i == 7)
    return animateHomeIE('lang');
  animateHomeIE(i);
}

function animateHomeIE(id) {
  if (ieTimerid) clearTimeout(ieTimerid);
  ieTimerid = setTimeout("_showMenuIE('"+id+"')", 400);
}

function windowResize() {
  if ((windowCurrentSize >= 600) && ($(window).height() < 600)) {
    windowCurrentSize = $(window).height();
    $('#page').css({top: '3px', marginTop: '0'});
    $('#logo').css({top: '3px', marginTop: '0'});
    i = 13 - 603 + windowCurrentSize;
    $('#menubar').css({bottom: '0', marginBottom: i+'px'});
    $('#menubarbg').css({bottom: '0', marginBottom: i+'px'});
    $('#menubarbg2').css({bottom: '0', marginBottom: i+'px'});
    i = 58 - 603 + windowCurrentSize;
    $('.smenubar').css({bottom: '0', marginBottom: i+'px'});
    i = 53 - 603 + windowCurrentSize;
    $('#sinfo').css({bottom: '0', marginBottom: i+'px'});
    $('#ainfo').css({bottom: '0', marginBottom: i+'px'});
    return false;
  }
  if ((windowCurrentSize < 600) && ($(window).height() >= 600)) {
    windowCurrentSize = $(window).height();
    $('#page').css({top: '50%', marginTop: '-300px'});
    $('#logo').css({top: '50%', marginTop: '-300px'});
    $('#menubar').css({bottom: '50%', marginBottom: '-287px'});
    $('#menubarbg').css({bottom: '50%', marginBottom: '-287px'});
    $('#menubarbg2').css({bottom: '50%', marginBottom: '-287px'});
    $('.smenubar').css({bottom: '50%', marginBottom: '-242px'});
    $('#sinfo').css({bottom: '50%', marginBottom: '-247px'});
    $('#ainfo').css({bottom: '50%', marginBottom: '-247px'});
    return false;
  }
  windowCurrentSize = $(window).height();
  return false;
}


/***************************************************
****************** PNG FIX FUNCS *******************
***************************************************/

function PngFixImg() {
	if (isIE && (ieVersion >= 5.5) && (document.body.filters)) 
	{
	   for(var i=0; i<document.images.length; i++)
	   {
		  var img = document.images[i]
		  var imgName = img.src.toUpperCase()
		  if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
		  {
			 var imgID = (img.id) ? "id='" + img.id + "' " : ""
			 var imgClass = (img.className) ? "class='" + img.className + "' " : ""
			 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
			 var imgStyle = "display:inline-block;" + img.style.cssText 
			 if (img.align == "left") imgStyle = "float:left;" + imgStyle
			 if (img.align == "right") imgStyle = "float:right;" + imgStyle
			 if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
			 var strNewHTML = "<span " + imgID + imgClass + imgTitle
			 + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
			 + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
			 + "(src=\'" + img.src + "\', sizingMethod='image');\"></span>" 
			 img.outerHTML = strNewHTML
			 i = i-1
		  }
	   }
	}
}

function PngFixBkground() {
	if (!isIE || (ieVersion > 7))
	  return;
	var StyleSheets = document.styleSheets;
	i = 0;
			Rules = StyleSheets[i].rules;
			
			// Boucle sur les règles de la feuille de style
			for(j=0; j<Rules.length; j++)
				{
				// Si la règle contient une propriété "background"
				if(
				   (Rules[j].style.background) ||
				   (Rules[j].style.backgroundImage) ||
				   (Rules[j].style.backgroundRepeat)
				  )
					{
					// Récupération des règles
					if(Rules[j].style.background)
						{
						BkgroundImg = Rules[j].style.background.match('[a-zA-Z0-9_\-]*\.png');
						BkgroundRepeat = Rules[j].style.background.match('repeat|repeat\-x|repeat\-y|no\-repeat');
						}
					else
						{
						BkgroundImg = Rules[j].style.backgroundImage.match('[a-zA-Z0-9_\-]*\.png');
						BkgroundRepeat = Rules[j].style.backgroundRepeat;
						}
					// Prise en compte des exceptions
					var regex = new RegExp(BkgroundImg, 'g');
					var yatil = regex.test(Exceptions);
					if (ieVersion < 7) yatil = false;
					// Si l'image de fond est un PNG
					if(
					   	(BkgroundImg != null) &&
						(yatil == false)
					  )
						{
						// Détermination du sizingMethod suivant la méthode de repétition de l'image
						if(BkgroundRepeat != null)
							{
							// Cas "Etirer"
							if(
								(BkgroundRepeat == "repeat") 	||
								(BkgroundRepeat == "repeat-x") 	||
								(BkgroundRepeat == "repeat-y")
							  )
								{sizingMethod = 'scale';}
							// Cas "Rogner"
							else
								{sizingMethod = 'crop';}							
							}
						// Retrait de l'image de fond
						Rules[j].style.backgroundImage = "none";
						// Application du filtre
						Rules[j].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + ImgsPath + BkgroundImg + "')";
						}
					}
				}
}
