// $Id: base.js,v 1.29 2012-02-06 09:45:23 jasper Exp $

jQuery(document).ready(function($){
  $("html").addClass("js");
  $.cookie("iAreCookie", true, { path: "/" });

  top.entityDecode = function(str){ return $("<textarea/>").html(str).val(); }

  // Overlay labels
  $("label.overlay").each(function(){
    var label = $(this);
    var input = $("#"+ label.attr("for"));
    setVisibleState = function(hidden) {hidden == true ? label.addClass("hidden") : label.removeClass("hidden")}
    autoVisibleSate = function(){setVisibleState(input.val() != "")}
    autoVisibleSate();
    input.focus(function(){setVisibleState(true)}).blur(autoVisibleSate);
  });

  // Links
  $("a").each(function(){
    if (this.protocol.indexOf("http") != 0) return;
    if (this.href.indexOf("http://www.facebook.com/dialog/oauth") == 0 || this.href.indexOf("http://www.flyingblue") == 0) return;
    if (this.hostname.replace(/:[0-9]+$/, "") != document.location.hostname) {
      $(this).click(function(){
        var popup = window.open(this.href);
        return false;
        })
    }
    else if (this.href.match(/\.pdf$/)) $(this).click(function(){
      var popup = window.open(this.href);
      return false;
    });
  });

  $("#social-media-comments a[href='#comments']").click(function(){
    $.scrollTo($(this).attr("href"), 1000);
    return false;
  });

  // Facebook
  if ($("#fb-root").length == 1) {
    window.fbAsyncInit = function(){
      FB.init({appId: facebookAppId, status: true, cookie: true, xfbml: true});
    };
    (function(){
      var e = document.createElement("script");
      e.type = "text/javascript";
      e.src = document.location.protocol +"//connect.facebook.net/"+ ($("html")[0].lang == "fr" ? "fr_FR" : "en_US") +"/all.js";
      e.async = true;
      document.getElementById("fb-root").appendChild(e);
    }());
  }

  // Twitter / Google +1
  var socialMedia = $("#social-media");
  if (socialMedia.length == 1) {
    if ($("html")[0].lang == "fr") window.___gcfg = {lang: 'fr'};

    (function() {
      var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
      po.src = 'https://apis.google.com/js/plusone.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();

    var tweetUrl = "http://twitter.com/share?url="
      + encodeURIComponent(document.location.href) +"&via=fbclubafrica&text="
      + encodeURIComponent(document.title);
    var tweet = $("<span id=tweet-this><a href=\""+tweetUrl+"\" onClick=\"var win = window.open('"+tweetUrl+"', 'win', 'width=500,height=500');return false;\"\"><img src=\'"+ contextPath +"img/button_tweet.png\' alt=\'Tweet\'/></a></span>");
    socialMedia.append(tweet);
  }

  // Locale select
  if ($("#lang-user ul").size() > 0) {
    var LocaleSelect = function(){
      var ls = this;
      ls.store = function(lang){ $.cookie("langPref", (lang || $("html")[0].lang), { expires: 365, path: "/" }) };
      if (document.location.search.indexOf("fromLang=") > 0) ls.store();
      if (!$.cookie("langPref")) {
        ls.store();
        localeSelectWin = function(){
          ls.w = this;
          ls.w.content = $("<div id=langPref/>").hide();
          ls.w.content.append("<h1>Please choose your preferred language:<br/>Veuillez choisir votre langue :</h1><ul/>");
          $("#lang-user li").each(function(){
            var flagA = $("a", this);
            var flagLang = this.lang || $("html")[0].lang;
            var link = flagA.size() > 0 ? flagA[0].href : "#";
            var line = $("<li><a href='"+ link +"' lang="+ flagLang +"> "+ jsProperties[("js_take_me_to_"+ flagLang)] +"</a></li>");
            var a = $("a", line);
            a.prepend($("img", this).clone());
            a.prepend("<input type=radio />");
            a.click(function(){
              if (a.attr("href") == "#") $("#langPref").overlay().close();
              else ls.store(a[0].lang);
            });
            flagA.click(function(){ ls.store(flagLang) });
            $("ul", ls.w.content).append(line);
          });
          ls.w.content.wrapInner("<div class=content/>");
          $("body").append(ls.w.content);
          $("#langPref").overlay({load: true, left: 0, top: 0});
        }
        localeSelectWin();
      }
      else if ($("html")[0].lang != $.cookie("langPref")) {
        document.location.href = $("#lang-user li[lang="+ $.cookie("langPref") +"] a")[0].href;
      }
      else ls.store();
      $("#lang-user li a").click(function(){
        ls.store(this.parentNode.lang);
        document.location.href = this.href;
      });
    }
    if ($.cookie("iAreCookie")) ls = new LocaleSelect();
  }

  if ($(".navigate #steps") != null) manageNavigateSteps("step1");

});

var currentStep;
function manageNavigateSteps(activeStep)
{
  $(".navigate #steps li").empty();
  $(".navigate #steps li").removeClass().addClass("fade");

  if (activeStep == null) {
    currentStep = "step1";
  }
  else
  {
    currentStep = activeStep;
  }

  switch (currentStep)
  {
    case "step4":
      $(".navigate #steps li").removeClass().addClass("non-active");
      $(".navigate #steps #step4").removeClass().addClass("active");
      $(".navigate #steps #step4").html('Step 4');
      $(".navigate #steps #step3").html('<a href=\''+contextPath+''+jsProperties.js_navigate_path_add_location+'\' onclick=\'returnToStep3(); return false;\'>Step 3</a>');
      $(".navigate #steps #step2").html('<a href=\''+contextPath+''+jsProperties.js_navigate_path_add_location+'\' onclick=\'returnToStep2(); return false;\'>Step 2</a>');
      $(".navigate #steps #step1").html('<a href=\''+contextPath+''+jsProperties.js_navigate_path_add_location+'\'>Step 1</a>');
      break;
    case "step3":
      $(".navigate #steps li").removeClass().addClass("non-active");
      $(".navigate #steps #step3").removeClass().addClass("active");
      $(".navigate #steps #step4").removeClass().addClass("fade");
      $(".navigate #steps #step5").removeClass().addClass("fade");
      $(".navigate #steps #step3").html('Step 3');
      $(".navigate #steps #step2").html('<a href=\''+contextPath+''+jsProperties.js_navigate_path_add_location+'\' onclick=\'returnToStep2(); return false;\'>Step 2</a>');
      $(".navigate #steps #step1").html('<a href=\''+contextPath+''+jsProperties.js_navigate_path_add_location+'\'>Step 1</a>');
      break;
    case "step2":
      $(".navigate #steps #step1").removeClass().addClass("non-active");
      $(".navigate #steps #step2").removeClass().addClass("active");
      $(".navigate #steps #step2").html('Step 2');
      $(".navigate #steps #step1").html('<a href=\''+contextPath+''+jsProperties.js_navigate_path_add_location+'\'>Step 1</a>');
      break;
    case "step1":
      $(".navigate #steps #step1").removeClass().addClass("active");
      $(".navigate #steps #step1").html('Step 1');
      break;
    default:
      break;
  }

}

