
var siteLang = 'fr';
var nTid = null, nTid2 = null, oTid = null;
var newsState = 'hidden';
var siteH = 510;
var menuCur = 0;
var smenuCur = 0;
var ssmenuCur = 0;
var sssmenuCur = 0;
var sssmenuType = '';
var menuLoading = false;
var isIE7 = false;

var errorMes = new Array();
errorMes['fr'] = new Array(
	"Merci d'indiquer votre adresse email.",
	"Email incorrect. Merci de corriger.",
	"Merci de bien vouloir patienter...",
	"Découvrez l'univers",
	"Découvrez l'e-shop"
);
errorMes['en'] = new Array(
	"Please indicate your email address.",
	"Bad email. Please correct.",
	"Please wait...",
	"Discover the world of...",
	"Discover the e-shop"
);


function prepareDocument(lang, m, sm, ssm, sssm) {
  if (lang) siteLang = lang;
  if (m) menuCur = m;
  if (sm) smenuCur = sm;
  if (ssm) ssmenuCur = ssm;
  if (sssm) sssmenuCur = sssm;
  $('#page').css('overflow', 'hidden');
  $('#menu li.etara').html($('#menu li.etara a').html());
  if ($('h1').css('backgroundImage') == 'none')
    isIE7 = true;
  $('body').append('<div id="bgcache"></div>');
  // homepage
  if ($('#news').length) {
    $('body').append('<div id="newsbg"></div><div id="intro"><img class="illus" src="'+$('body').attr('intro')+'"/><p class="site">'+errorMes[siteLang][3]+'</p><p class="shop">'+errorMes[siteLang][4]+'</p></div>');
    $('#news').css('opacity', '0');
    $('#newsbg').css('opacity', '0');
    $('#news').wrap('<div id="newscont"></div>');
    $('#news h2').after('<div id="nclose" class="close"></div>');
    $('#news').append('<div id="nnavbar"></div>');
    var color = 'blanche';
    var cl = ' class="active"';
    $('#nimg div').each(function(){
      $('#nnavbar').append('<img id="n'+$(this).attr('id')+
	'"'+cl+' src="images/news-bulle-'+color+'.png"/>');
      color = 'grise'; cl = '';
    });
  }
  resizeDocumentOnLoad();
  // history
  $.history.init(menuLoadFromHash, {unescape: "/"});
  // actions
  $(window).resize(resizeDocument);
  $('li.social img').hover(pngOver, pngOut);
  $('#news').hover(newsOver, newsOut);
  $('#nimg a').click(newsLoad);
  $('#nnavbar img').hover(bulleOver, bulleOut);
  $('#nnavbar img').click(newsGoto);
  $('#nclose').click(newsDisappear);
  $('#newsletter').click(nlForm);
  $('#nlclose').live('click', nlClose);
  $('#menu li.menu a').click(menuLoad);
  $('#menu li.etara').click(gotoShop);
  $('#footer a').click(menuLoad);
  $('#intro p.shop').click(gotoShop2);
  $('#intro p.site').click(gotoSite);
}

function resizeDocumentOnLoad() {
  _resizeDocument(true);
}

function resizeDocument() {
  _resizeDocument(false);
}

function _resizeDocument(onload) {
  var w = $(window).width();
  var h = $(window).height();
  // intro
  if ($('#intro').length) {
    var iw = 778;
    if (h < 1096) {
      $('#intro img.illus').height(h);
      iw = Math.ceil(778 * h / 1096);
      $('#intro img.illus').css('top', '0');
    }
    else {
      $('#intro img.illus').css('top', Math.floor((h-1096)/2)+'px');
    }
    $('#intro img.illus').css('left', Math.floor((w-iw)/2)+'px');
    $('#intro p.site').css('left', (Math.floor((w-iw)/2)-29-158)+'px');
    $('#intro p.shop').css('left', (Math.floor((w-iw)/2)+iw+29)+'px');
  }
  $('#bg img, #bgbg img').css('width', 'auto');
  if ($('#bg').length && $('#bg').hasClass('loaded'))
    $('#bg img').css('marginLeft', '-'+Math.floor($('#bg img').width()/2)+'px');
  if ($('#bgbg').length && $('#bgbg').hasClass('loaded'))
    $('#bgbg img').css('marginLeft', '-'+Math.floor($('#bgbg img').width()/2)+'px');
  // calc page width
  var ww = 1860;
  if (h < 1436) ww = Math.floor(1860 * h / 1436);
  if (ww > w - 60)
    ww = w - 60;
  if (ww <= 920) ww = 920;
  else if (ww > 1278) ww = 1278;
  // calc page left
  var l = Math.floor((w-ww)/2);
  if (l < 30) l = 30;
  if (l > 120) {
    ww += (l - 120) * 2;
    l = 120;
    if (ww > 1278) {
      l += Math.floor((ww - 1278) / 2);
      ww = 1278;
    }
  }
  $('#page').width(ww);
  $('#page').css('left', l+'px');
  var pad = Math.floor((ww-930)/11);
  if (siteLang == 'en') pad += 37;
  else pad += 30;
  // set menu pad
  $('#menu li.menu').css('padding', '0 '+pad+'px 0 '+pad+'px');
  $('#menu li.etara').css('paddingRight', pad+'px');
  // calc page height
  siteH = h - 90;
  if (siteH < 510) siteH = 510;
  else if (siteH > 734) siteH = 734;
  if ($('#page').hasClass('closed'))
    $('#page').css({top: 'auto', bottom: '0', height: '70px'});
  else {
    if (siteH + 90 > h)
      $('#page').css({top: '90px', bottom: 'auto'});
    else
      $('#page').css({top: 'auto', bottom: '0'});
    $('#page').height(siteH);
  }
  $('#content').height(siteH - 70);
  // news
  if ($('#news').length)
    $('#news').css('left', ($('#m2').offset().left - 133 + ($('#m2').width())/2 + 20)+'px');
  if (!onload && (typeof(localResize) == 'function'))
    localResize();
}

function documentPrepared() {
  var a = $('body').attr('bg').split('|');
  a[1] = Math.ceil(a[1] * $(window).height() / a[2]);
  $('body').append('<div id="bg"><img src="'+a[0]+'" style="width: '+a[1]+
	'px; margin-left: -'+Math.floor(a[1]/2)+'px;"/></div>');
  $('#bg img').load(function(){
    $('#bg').addClass('loaded');
    $('#bgcache').animate({opacity: '0'}, 200, '', function(){
      $('#bgcache').remove();
    });
    if (menuCur) {
      $('#bg').fadeOut(1000, function(){$(this).remove();});
      var h = siteH;
      if (siteH + 90 > $(window).height())
	h = $(window).height() - 90;
      localResize();
      $('#page').animate({height: h+'px'}, 1000, '', function(){
	$('#page').removeClass('closed');
	if (siteH + 90 > $(window).height()) {
	  $('#page').css({top: '90px', bottom: 'auto'});
	  $('#page').animate({height: siteH+'px'}, 200);
	}
      });
    }
/*    else {
      nTid = setTimeout('newsAppear()', 1000);
      nTid2 = setTimeout('newsDisappear()', 11000);
    }*/
  });
  a = $('body').attr('bgbg').split('|');
  a[1] = Math.ceil(a[1] * $(window).height() / a[2]);
  $('body').append('<div id="bgbg"><img src="'+a[0]+'" style="width: '+a[1]+
	'px; margin-left: -'+Math.floor(a[1]/2)+'px;"/></div>');
  $('#bgbg img').load(function(){
    $('#bgbg').addClass('loaded');
  });

  preloadImages('/images/facebook-hover.png', '/images/twitter-hover.png', 
	'/images/rss-hover.png', '/images/scroll-top-over.png', 
	'/images/scroll-bot-over.png', '/images/vig-prev-over.png', '/images/vig-next.png', 
	'/images/photo-prev-over.png', '/images/photo-next.png');
}

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 = a[i];
      }
  }
}

function emailIsValid( email ) {
  var e = email.toLowerCase(); 
  e = e.replace( /(^\s+|\s+$)/g, '' );
  if (!e.match(/[a-z0-9\.\-]+@[a-z0-9\.\-]+\.[a-z]{2,4}/))
    return null;
  return e;
}

function pngOver() {
  $(this).attr('src', $(this).attr('src').replace('.png', '-hover.png'));
}

function pngOut() {
  $(this).attr('src', $(this).attr('src').replace('-hover', ''));
}

function bulleOver() {
  if (!$(this).hasClass('active'))
  $(this).attr('src', $(this).attr('src').replace('grise', 'blanche'));
}

function bulleOut() {
  if (!$(this).hasClass('active'))
  $(this).attr('src', $(this).attr('src').replace('blanche', 'grise'));
}


function newsAppear(){
  newsState = 'on';
  $('#newsbg').stop();
  if (isIE7)
    $('#newsbg').animate({opacity: '0.7'}, 1000);
  else
    $('#newsbg').animate({opacity: '1'}, 1000);
  $("#news").animate({bottom: '80px', opacity: '1'}, 1000, '', function(){
    newsSlideWait();
  });
}

function newsDisappear(){
  if (!$('#news').length)
    return false;
  if (nTid) clearTimeout(nTid);
  if (nTid2) clearTimeout(nTid2);
  if (newsState == 'hidden') {
    $('#newsbg, #news').remove();
    return false;
  }
  newsState = 'off';
  $('#nclose').unbind();
  $('#newsbg').stop();
  $('#newsbg').animate({opacity: '0'}, 1000, function(){
    $('#newsbg').remove();
  });
  $("#news").animate({bottom: '-217px', opacity: '0'}, 1000, '', function(){
    $("#news").remove();
  });
}

function newsSlideWait(){
  if (newsState == 'off')
    return false;
  if (nTid) clearTimeout(nTid);
  nTid = setTimeout('newsSlideNext()', 3000);
}

function newsSlideNext(){
  if (!$('#nnavbar img.active').length || (newsState == 'off'))
    return false;
  var i = $('#nnavbar img.active:first').index();
  i ++;
  if (i >= $('#nnavbar img').length) i = 0;
  var id = parseInt($('#nnavbar img:eq('+i+')').attr('id').substr(2));
  _newsSlideNext(id);
}

function newsGoto(){
  if (nTid) clearTimeout(nTid);
  var next = parseInt($(this).attr('id').substr(2));
  _newsSlideNext(next);
}

function _newsSlideNext(next){
  var id = parseInt($('#nnavbar img.active:first').attr('id').substr(2));
  $('#nnavbar img.active').attr('src', 
	$('#nnavbar img.active').attr('src').replace('blanche', 'grise'));
  $('#nnavbar img.active').removeClass('active');
  $('#nn'+next).addClass('active');
  $('#nn'+next).attr('src', 
	$('#nn'+next).attr('src').replace('grise', 'blanche'));

  $('#n'+id).animate({left: '-256px'}, 400);
  $('#n'+next).css('left', '256px');
  $('#n'+next).animate({left: '0px'}, 400, '', function(){
    newsSlideWait();
  });
}

function newsOver() {
  if (nTid2) clearTimeout(nTid2);
}

function newsOut() {
  if (nTid2) clearTimeout(nTid2);
  nTid2 = setTimeout('newsDisappear()', 3000);
}

function nlForm() {
  $.ajax({
    type: "GET",
    cache: false,
    url: '/templates/nl-form.php',
    data: 'lang='+siteLang,
    success: function(data){
      $('body').append(data);
      $('#nl').css('marginTop', '-'+Math.floor($('#nl').height()/2)+'px');
      if (isIE7) {
	var o = $('#nlclose').offset();
	$('#nlclose').detach().appendTo('body');
	$('#nlclose').css({top: o.top+'px', left: o.left+'px'});
      }
      if (!$('#zoombg').length)
	$('body').append('<div id="zoombg"></div>');
      $('#zoombg').css({display: 'block'});
      $('#nl p.submit').click(nlSubmit);
      $('#nl input').keypress(function(e){
	if (e.which == 13) nlSubmit();
      });
    }
  });
}

function nlClose() {
  $('#nl, #nlclose').remove();
  $('#zoombg').css('display', 'none');
}

function nlSubmit() {
  var f = document.nlform;
  if (f.nl_email.value)
    f.nl_email.value = f.nl_email.value.replace(/^(\s+)/, '').replace(/(\s+)$/, '');
  if (!f.nl_email.value) {
    $('#nl p.mes').html(errorMes[siteLang][0]);
    return false;
  }
  var e = emailIsValid(f.nl_email.value);
  if (e == null) {
    $('#nl p.mes').html(errorMes[siteLang][1]);
    return false;
  }
  $('#nl p.mes').html(errorMes[siteLang][2]);
  $('#nl p.submit, #nl input').unbind();
  $.ajax({
    type: "POST",
    cache: false,
    url: '/scripts/nl-register.php',
    data: 'lang='+siteLang+'&nl_email='+e,
    success: function(data){
      $('#nl p.mes').html(data);
      $('#nl p.input, #nl p.submit').remove();
    }
  });
}

function menuLoad() {
  if ($(this).hasClass('directlink'))
    return true;
  var id = 0;
  if ($(this).attr('id'))
    id = parseInt($(this).attr('id').substr(1));
  else
    id = parseInt($(this).parent().attr('id').substr(1));
  if (id == menuCur)
    return false;
  menuCur = id;
  smenuCur = 0;
  ssmenuCur = 0;
  sssmenuCur = 0;
  sssmenuType = '';
  $('#menu .current, #footer .current').removeClass('current');
  if ($(this).attr('id'))
    $(this).addClass('current');
  else
    $(this).parent().addClass('current');
  _menuLoad();
  return false;
}

function footerLoad() {
  if (!$(this).attr('id'))
    return true;
  var id = parseInt($(this).attr('id').substr(1));
  if (id == menuCur)
    return false;
  menuCur = id;
  smenuCur = 0;
  ssmenuCur = 0;
  sssmenuCur = 0;
  sssmenuType = '';
  $('#menu .current, #footer .current').removeClass('current');
  $(this).addClass('current');
  _menuLoad();
  return false;
}

function menuLoadFromHash(hash) {
  if (!hash)
    return false;
  if (menuLoading) {
    menuLoading = false;
    return false;
  }
  hash = hash.replace(/(^\/|\/$)/g, '');
  $.ajax({
    type: "GET",
    url: '/templates/rubrique-id.php',
    data: 'lang='+siteLang+'&hash='+hash,
    success: function(data){
      if (data.match('|')) {
	arr = data.split('|');
	menuCur = parseInt(arr[0]);
	smenuCur = parseInt(arr[1]);
	if (arr.length > 2) ssmenuCur = parseInt(arr[2]);
	if (arr.length > 3) sssmenuCur = parseInt(arr[3]);
      }
      else {
	menuCur = parseInt(data);
	smenuCur = 0;
	ssmenuCur = 0;
	sssmenuCur = 0;
	sssmenuType = '';
      }
      $('.current').removeClass('current');
      $('#m'+menuCur).addClass('current');
      _menuLoad();
    }
  });
}

function newsLoad() {
  var id = parseInt($(this).parent().attr('id').substr(1));
  menuCur = 2;
  smenuCur = 0;
  ssmenuCur = 0;
  sssmenuCur = 0;
  sssmenuType = '';
  $('body').data('scrollto', id);
  $('#menu .current, #footer .current').removeClass('current');
  $('#m2').addClass('current');
  _menuLoad();
  return false;
}

function _menuLoad() {
  // popup news
  if (newsState == 'hidden') {
    if (nTid) clearTimeout(nTid);
    if (nTid2) clearTimeout(nTid2);
    $('#news, #newsbg').remove();
  }
  else if (newsState == 'on')
    newsDisappear();
  // page open
  if ($('#page').hasClass('closed')) {
    $('#bg').fadeOut(1000, function(){$(this).remove();});
    var h = siteH;
    if (siteH + 90 > $(window).height())
      h = $(window).height() - 90;
    $('#page').animate({height: h+'px'}, 1000, '', function(){
      $('#page').removeClass('closed');
      if (siteH + 90 > $(window).height()) {
	$('#page').css({top: '90px', bottom: 'auto'});
	$('#page').animate({height: siteH+'px'}, 200);
      }
    });
  }
  // remove old datas
  if (!$('#content div.cinner').length)
    return __menuLoad();
  if (isIE7)
    return __menuLoad();
  $('#content div.cinner').animate({opacity: '0'}, 200, '', function(){
    __menuLoad();
  });
}

function __menuLoad() {
  $('#content').html('<img id="loading" src="/images/loading.gif"/>');
  // load datas
  var addons = '';
  if ($('body').data('scrollto'))
    addons = '&scrollto='+$('body').data('scrollto');
  $.ajax({
    type: "GET",
    cache: false,
    url: '/templates/rubrique.php',
    data: 'lang='+siteLang+'&id='+menuCur+'&sid='+smenuCur+'&ssid='+ssmenuCur
	+'&sssid='+sssmenuCur+'&ssst='+sssmenuType+addons,
    success: function(data){
//alert(data);
      $('#content').html(data);
      localResize();
      menuLoading = true;
      $('body').data('scrollto', 0);
      if ($('#m'+menuCur).children('a').length)
        $.history.load($('#m'+menuCur).children('a').first().attr('href'));
      else
        $.history.load($('#m'+menuCur).attr('href'));
    }
  });
}

function popupTempo() {
  var mes = 'Fermer la fenêtre';
  if (siteLang == 'en') mes = 'Close this window';
  $('body').append('<div id="tempo" class="'+siteLang+'" title="'+mes+'"></div>');
  $('#tempo').click(function(){
    $('#tempo').remove();
  });
  return false;
}

function gotoShop() {
  window.open('http://www.eboutique-tarajarmon.com', '_blank');
}

function gotoShop2() {
  window.location.href = 'http://www.eboutique-tarajarmon.com';
}


function gotoSite() {
  $('#intro').animate({opacity: '0'}, 400, '', function(){
    newsAppear();
    nTid2 = setTimeout('newsDisappear()', 10000);
    $('#intro').remove();
  });
}


