﻿

jsredirector = {};

/** Les noms de domaines */
jsredirector.ndd = new Array();
jsredirector.ndd['fr'] = 'http://www.malocationvacances.fr/';
jsredirector.ndd['en'] = 'http://www.misterholidays.co.uk/';
jsredirector.ndd['es'] = 'http://www.mialquilervacaciones.es/';
jsredirector.ndd['de'] = 'http://www.herrurlaub.de/';
jsredirector.ndd['it'] = 'http://www.signorevacanze.it/';
jsredirector.ndd['nl'] = 'http://www.heervakantie.nl/';
jsredirector.ndd['pt'] = 'http://www.aluguerferias.com/';


/** Les traductions des mots-clés de statisation */
/** Important : un array avec le ndd par langue **/
/** Important : respecter le même ordre pour les mots-clés dans chacune des langues */
jsredirector.urlKeywords = new Array();
jsredirector.urlKeywords['fr'] = new Array();
jsredirector.urlKeywords['fr'].push('location/appartement-');
jsredirector.urlKeywords['fr'].push('location/maison-');
jsredirector.urlKeywords['fr'].push('location/villa___chalet-');
jsredirector.urlKeywords['fr'].push('location/camping-');
jsredirector.urlKeywords['fr'].push('location/chambre_dhotes-');
jsredirector.urlKeywords['fr'].push('location/gite-');
jsredirector.urlKeywords['fr'].push('location/');
jsredirector.urlKeywords['fr'].push('annonce-');

jsredirector.urlKeywords['en'] = new Array();
jsredirector.urlKeywords['en'].push('holidays/apartments-');
jsredirector.urlKeywords['en'].push('holidays/house-');
jsredirector.urlKeywords['en'].push('holidays/villa-');
jsredirector.urlKeywords['en'].push('holidays/camping-');
jsredirector.urlKeywords['en'].push('holidays/bed_and_breakfast_bb-');
jsredirector.urlKeywords['en'].push('holidays/cottages-');
jsredirector.urlKeywords['en'].push('holidays/');
jsredirector.urlKeywords['en'].push('advert-');

jsredirector.urlKeywords['es'] = new Array();
jsredirector.urlKeywords['es'].push('alquiler/apartamentos-');
jsredirector.urlKeywords['es'].push('alquiler/casa-');
jsredirector.urlKeywords['es'].push('alquiler/villa-');
jsredirector.urlKeywords['es'].push('alquiler/camping-');
jsredirector.urlKeywords['es'].push('alquiler/bed_and_breakfast_bb-');
jsredirector.urlKeywords['es'].push('alquiler/casas_rurales-');
jsredirector.urlKeywords['es'].push('alquiler/');
jsredirector.urlKeywords['es'].push('anuncio-');

jsredirector.urlKeywords['de'] = new Array();
jsredirector.urlKeywords['de'].push('urlaub/ferienwohnung-');
jsredirector.urlKeywords['de'].push('urlaub/ferienhaus-');
jsredirector.urlKeywords['de'].push('urlaub/villa-');
jsredirector.urlKeywords['de'].push('urlaub/camping-');
jsredirector.urlKeywords['de'].push('urlaub/bed_and_breakfast_bb-');
jsredirector.urlKeywords['de'].push('urlaub/bauernhof-');
jsredirector.urlKeywords['de'].push('urlaub/');
jsredirector.urlKeywords['de'].push('anzeige-');

jsredirector.urlKeywords['it'] = new Array();
jsredirector.urlKeywords['it'].push('affitto/appartamenti-');
jsredirector.urlKeywords['it'].push('affitto/casa-');
jsredirector.urlKeywords['it'].push('affitto/villa-');
jsredirector.urlKeywords['it'].push('affitto/campeggi_villaggi-');
jsredirector.urlKeywords['it'].push('affitto/bed_and_breakfast_bb-');
jsredirector.urlKeywords['it'].push('affitto/agriturismo-');
jsredirector.urlKeywords['it'].push('affitto/');
jsredirector.urlKeywords['it'].push('annuncio-');

jsredirector.urlKeywords['nl'] = new Array();
jsredirector.urlKeywords['nl'].push('vakantie/appartement-');
jsredirector.urlKeywords['nl'].push('vakantie/huis-');
jsredirector.urlKeywords['nl'].push('vakantie/vakantiehuizen-');
jsredirector.urlKeywords['nl'].push('vakantie/camping-');
jsredirector.urlKeywords['nl'].push('vakantie/bed_and_breakfast_bb-');
jsredirector.urlKeywords['nl'].push('vakantie/gites-');
jsredirector.urlKeywords['nl'].push('vakantie/');
jsredirector.urlKeywords['nl'].push('advertentie-');

jsredirector.urlKeywords['pt'] = new Array();
jsredirector.urlKeywords['pt'].push('aluguer/apartamentos-');
jsredirector.urlKeywords['pt'].push('aluguer/casa-');
jsredirector.urlKeywords['pt'].push('aluguer/villa-');
jsredirector.urlKeywords['pt'].push('aluguer/camping-');
jsredirector.urlKeywords['pt'].push('aluguer/bed_and_breakfast_bb-');
jsredirector.urlKeywords['pt'].push('aluguer/turismo_rural-');
jsredirector.urlKeywords['pt'].push('aluguer/');
jsredirector.urlKeywords['pt'].push('anuncio-');

jsredirector.documentKeyword = 'document';

/**
 * Change le nom de domaine, et donc la langue du site, en préservant
 * la page sur laquelle était l'internaute.
 */
jsredirector.switchNdd = function(nddSource, nddCible) {
  var urlActuelle = window.location.href;
  // Si c'est une URL de document, on redirige vers la home
  if ( this.isUrlDocument() ) {
    window.location = this.ndd[nddCible];
  }
  else {
    var indexKeyword = this.isUrlStatised(nddSource);
    if ( indexKeyword == -1 ) {
      // URL non statisée, on coupe le nom de domaine et on le remplace par le cible
      window.location = this.ndd[nddCible] + urlActuelle.substring(this.ndd[nddSource].length);
    }
    else {
      // URL statisée, on remplace le ndd et on traduit le mot-clé
      window.location =
          this.ndd[nddCible] +
          this.urlKeywords[nddCible][indexKeyword] +
          urlActuelle.substring(this.ndd[nddSource].length + this.urlKeywords[nddSource][indexKeyword].length);
    }
  }
}


/**
 * Détecte si l'url dans la barre de navigation est statisée.
 * Statisée = contient :
 *      - le nom de domaine contenu dans ndd[nddSource]
 *      - suivi d'un des mots clés contenus dans urlKeywords[nddSource]
 *
 * @param nddSource : le code du nom de domaine source
 * @returns l'index de l'urlKeyword si l'url est statisée, -1 sinon.
 */ 
jsredirector.isUrlStatised = function(nddSource) {

  for ( var i = 0 ; i < this.urlKeywords[nddSource].length ; i++ ) {
    if ( window.location.href.indexOf(this.ndd[nddSource] + this.urlKeywords[nddSource][i]) != -1 ) {
      return i;
    }
  }
  return -1;
}


/**
 * Renvoie true si on est en présence d'une URL affichant un document,
 * que l'URL soit statisée ou non.
 * Renvoie false si l'URL n'est pas une URL document.
 */
jsredirector.isUrlDocument = function() {
  var urlActuelle = window.location.href;
  if ( urlActuelle.indexOf('rubriqueid=2') != -1 || urlActuelle.indexOf(this.ndd['fr'] + this.documentKeyword) != -1 ) {
    return true;
  }
  else {
    return false;
  }

}