var MAPPPER = MAPPPER || {};

/**
 * Estrae i parametri GET dalla location corrente. Ritorna un hash mappato nome ->
 * valore
 */
MAPPPER.getQueryParameters = function() {
  var map = {};
  var params = location.href.split('#')[0].split('?');
  if (params) {
    params = params.slice(1)[0].split('&');
    $.each(params, function(index, value) {
      var pieces = value.split('=');
      map[pieces[0]] = pieces[1];
    });
  }
  return map;
};

/**
 * Estrae un parametro dalla GET della location corrente. Permette di fornire un
 * default nel caso il parametro non sia definito.
 */
MAPPPER.getParam = function(name, default_val) {
  var params = MAPPPER.getQueryParameters();
  return (params[name]) ? params[name] : default_val;
};

MAPPPER.getLang = function() {
  return MAPPPER.getParam('ln', 'en');
};

/**
 * Configure l'URL di cui effettuare il like su FB nell'iframe.
 */
MAPPPER.facebookLikeUrl = function(url) {
  if (window.console) {
    console.log('Aggiorno FB share: ' + url);
  }
  var url = [ 'http://www.facebook.com/plugins/like.php?href=', escape(url),
      '&layout=button_count&show_faces=false&action=like&font&colorscheme=light;' ]
      .join('');
  $("#fb").attr('src', url);
};

/**
 * Dati dei parametri, genera un url corretta che rispetti la route del
 * framework.
 */
MAPPPER.generatePublicUrl = function(username, trip_id, stage_id) {
  var url = [ 'http://' + location.host, MAPPPER.getLang() ];
  if (username) {
    url.push('user');
    url.push(username);
    url.push('trip');
    if (trip_id) {
      url.push(trip_id);
      if (stage_id) {
        url.push(stage_id);
      }
    }
  }
  return url.join('/');
}

MAPPPER.contentMouseOver = function() {
  $('#mappperbox_contents_inner').hover(
    function(){ $("#zoom").show(); },
    function(){ $("#zoom").hide(); }
  );
}
MAPPPER.contentMouseOverDom = function() {
  return '<div id="zoom" style="position: absolute; bottom: 10px; left: 57px; display: none">click image to zoom</div>';
}