function getAnchorPosition(anchorname){var useWindow=false;var coordinates=new Object();var x=0,y=0;var use_gebi=false,use_css=false,use_layers=false;if(document.getElementById){use_gebi=true}else if(document.all){use_css=true}else if(document.layers){use_layers=true}if(use_gebi&&document.all){x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);y=AnchorPosition_getPageOffsetTop(document.all[anchorname])}else if(use_gebi){var o=document.getElementById(anchorname);x=AnchorPosition_getPageOffsetLeft(o);y=AnchorPosition_getPageOffsetTop(o)}else if(use_css){x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);y=AnchorPosition_getPageOffsetTop(document.all[anchorname])}else if(use_layers){var found=0;for(var i=0;i<document.anchors.length;i++){if(document.anchors[i].name==anchorname){found=1;break}}if(found==0){coordinates.x=0;coordinates.y=0;return coordinates}x=document.anchors[i].x;y=document.anchors[i].y}else{coordinates.x=0;coordinates.y=0;return coordinates}coordinates.x=x;coordinates.y=y;return coordinates}function getAnchorWindowPosition(anchorname){var coordinates=getAnchorPosition(anchorname);var x=0;var y=0;if(document.getElementById){if(isNaN(window.screenX)){x=coordinates.x-document.body.scrollLeft+window.screenLeft;y=coordinates.y-document.body.scrollTop+window.screenTop}else{x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset}}else if(document.all){x=coordinates.x-document.body.scrollLeft+window.screenLeft;y=coordinates.y-document.body.scrollTop+window.screenTop}else if(document.layers){x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset}coordinates.x=x;coordinates.y=y;return coordinates}function AnchorPosition_getPageOffsetLeft(el){var ol=el.offsetLeft;while((el=el.offsetParent)!=null){ol+=el.offsetLeft}return ol}function AnchorPosition_getWindowOffsetLeft(el){return AnchorPosition_getPageOffsetLeft(el)-document.body.scrollLeft}function AnchorPosition_getPageOffsetTop(el){var ot=el.offsetTop;while((el=el.offsetParent)!=null){ot+=el.offsetTop}return ot}function AnchorPosition_getWindowOffsetTop(el){return AnchorPosition_getPageOffsetTop(el)-document.body.scrollTop}

var bg = new Array();
var bg_id = "home";
var current_bg_id = "home";

// Home submenu

var i = 0;
bg["home"]       = new Array();
bg["home"][i++]  = new Array('home/home_0002.jpg','0px','0px');
bg["home"][i++]  = new Array('home/home_0001.jpg','0px','0px');

/*
bg["tour"]     = new Array();
bg["tour"][0]  = new Array('divers_0001.jpg','80px','0px');
bg["tour"][1]  = new Array('divers_0002.jpg','80px','0px');
*/

// Tour submenu

  var i = 0;
  bg["rooms"]       = new Array();
  bg["rooms"][i++]  = new Array('rooms/Confort_0001.jpg','0px','170px');
  bg["rooms"][i++]  = new Array('rooms/Confort_0018.jpg','90px','0px');
  bg["rooms"][i++]  = new Array('rooms/Sup_Junior_0015.jpg','90px','0px');
    
    var i = 0;
    bg["comfort"]       = new Array();    
    bg["comfort"][i++]  = new Array('rooms/comfort/bain_0009.jpg','90px','0px');
    bg["comfort"][i++]  = new Array('rooms/comfort/Confort_0006.jpg','0px','150px');
    bg["comfort"][i++]  = new Array('rooms/comfort/Confort_0018.jpg','90px','0px');
    bg["comfort"][i++]  = new Array('rooms/comfort/Confort_0011.jpg','90px','0px');
    bg["comfort"][i++]  = new Array('rooms/comfort/Confort_0001.jpg','0px','170px');
    
    var i = 0;
    bg["upper"]       = new Array();
    bg["upper"][i++]  = new Array('rooms/upper/Sup_0004.jpg','0px','175px');
    bg["upper"][i++]  = new Array('rooms/upper/bain_0002.jpg','90px','0px');
    bg["upper"][i++]  = new Array('rooms/upper/Sup_Junior_0015.jpg','90px','0px');
    bg["upper"][i++]  = new Array('rooms/upper/Sup_Junior_0021.jpg','90px','0px')
    
    var i = 0;
    bg["deluxe"]       = new Array();     
    bg["deluxe"][i++]  = new Array('rooms/deluxe/Deluxe_0003.jpg','0px','138px');
    bg["deluxe"][i++]  = new Array('rooms/deluxe/bain_0001.jpg','90px','0px');
    bg["deluxe"][i++]  = new Array('rooms/deluxe/bain_0003.jpg','90px','0px');
    bg["deluxe"][i++]  = new Array('rooms/deluxe/bain_0004.jpg','90px','0px');
    bg["deluxe"][i++]  = new Array('rooms/deluxe/Deluxe_0005.jpg','0px','170px');
    bg["deluxe"][i++]  = new Array('rooms/deluxe/Deluxe_0007.jpg','0px','180px');
    
    var i = 0;
    bg["junior"]       = new Array();
    bg["junior"][i++]  = new Array('rooms/junior/bain_0005.jpg','90px','0px');
    bg["junior"][i++]  = new Array('rooms/junior/bain_0006.jpg','90px','0px');
    bg["junior"][i++]  = new Array('rooms/junior/bain_0008.jpg','90px','0px');
    bg["junior"][i++]  = new Array('rooms/junior/Junior_0002.jpg','0px','170px');
    
  var i = 0;
  bg["bar"]         = new Array();
  bg["bar"][i++]    = new Array('bar/bar_0002.jpg','90px','0px');
  bg["bar"][i++]    = new Array('bar/bar_0003.jpg','90px','0px');
  bg["bar"][i++]    = new Array('bar/bar_0004.jpg','90px','0px');
  bg["bar"][i++]    = new Array('bar/bar_0005.jpg','90px','0px');
  bg["bar"][i++]    = new Array('bar/bar_0001.jpg','0px','0px');
  bg["bar"][i++]    = new Array('bar/bar_0006.jpg','90px','0px');
  bg["bar"][i++]    = new Array('bar/bar_0007.jpg','90px','0px');
  
  var i = 0;
  bg["reception"]       = new Array();
  bg["reception"][i++]  = new Array('reception/divers_0005.jpg','90px','0px');
  bg["reception"][i++]  = new Array('reception/divers_0004.jpg','90px','0px');
  
  var i = 0;
  bg["lunch"]       = new Array();
  bg["lunch"][i++]  = new Array('lunch/dej_0001.jpg','90px','0px');
  bg["lunch"][i++]  = new Array('lunch/dej_0002.jpg','90px','0px');
  bg["lunch"][i++]  = new Array('lunch/dej_0003.jpg','90px','0px');
  bg["lunch"][i++]  = new Array('lunch/dej_0004.jpg','90px','0px');
    
  var i = 0;
  bg["meeting"]       = new Array();
  bg["meeting"][i++]  = new Array('meeting/reunion_0001.jpg','90px','0px');
    
  bg["wifi"]        = new Array();

// Club submenu

  var i = 0;
  bg["business"]       = new Array();
  bg["business"][i++]  = new Array('business/divers_0001.jpg','90px','0px');
  bg["business"][i++]  = new Array('business/divers_0002.jpg','90px','0px');
  
  var i = 0;
  bg["partners"]    = new Array();
  bg["partners"][i++]  = new Array('partners/divers_0013.jpg','90px','0px');
  
  var i = 0;
  bg["info"]        = new Array();
  bg["info"][i++]  = new Array('info/stgermain_0019.jpg','90px','0px');
  bg["info"][i++]  = new Array('info/stgermain_0013.jpg.jpg','90px','0px');
  bg["info"][i++]  = new Array('info/stgermain_0014.jpg.jpg','90px','0px');
  bg["info"][i++]  = new Array('info/stgermain_0006.jpg.jpg','90px','0px');
  bg["info"][i++]  = new Array('info/stgermain_0018.jpg.jpg','90px','0px');
  
// Contact submenu

var i = 0;
bg["contact"]       = new Array();
bg["contact"][i++]  = new Array('empty.png','0px','0px');
/*
bg["contact"][i++]  = new Array('contact/divers_0009.jpg','90px','0px');
bg["contact"][i++]  = new Array('contact/divers_0006.jpg','0px','0px');
*/

// Pricing submenu

var i = 0;
bg["price"]       = new Array();
bg["price"][i++]  = new Array('other/divers_0001.jpg','80px','0px');
bg["price"][i++]  = new Array('other/divers_0002.jpg','80px','0px');

// ----------
//
// Functions
//
// ---------

var get_content = function() {
  $.get("/xml/get.php?html=1",function(xml) {
    if (!parseInt($("error",xml).text())) {
      $(".partners .middle").html($("partner",xml).text());
      $(".info .middle").html($("info",xml).text());
      bind_links();
    }
  });
}

var check_bg = function() {
  if (bg_id != current_bg_id) {
    bg_id = current_bg_id;
    set_bg(1);
  }
  setTimeout(check_bg,400);
}

var get_bg = function(image) {
  return 'images/bg/'+image+'';
}
var timeout = 3000;
var set_bg = function(option) {

  var image = '';
  var current_bg = '';
  var found_id = 0;
  
  for (var i in bg[bg_id]) {
    current_bg = ($("#bg_fade1").css("background-image") != "none") ? $("#bg_fade1").css("background-image") : $("#bg_fade2").css("background-image");
    if (typeof(bg[bg_id][i]) == "object") {
      if (current_bg.toString().indexOf(bg[bg_id][i][0]) > -1) {
        found_id = parseInt(i)+1;
        continue;
      }
    }  
  }
  
  if (typeof(bg[bg_id][found_id]) != "object") found_id = 0;
  image = get_bg(bg[bg_id][found_id][0]);
  
  if ($("#bg_fade1").css("background-image") != "none") {    
    $("#bg_fade2").hide()
    $("#bg_fade2").css({ 'background':'url('+image+') no-repeat '+bg[bg_id][found_id][1]+' '+bg[bg_id][found_id][2] });
    $("#bg_fade2").fadeIn("slow");
    $("#bg_fade1").fadeOut("slow").queue(function() { $(this).hide().css("background-image",""); $(this).dequeue(); });
  }
  else {
    $("#bg_fade1").hide();
    $("#bg_fade1").css({ 'background':'url('+image+') no-repeat '+bg[bg_id][found_id][1]+' '+bg[bg_id][found_id][2] });
    $("#bg_fade1").fadeIn("slow");
    $("#bg_fade2").fadeOut("slow").queue(function() { $(this).hide().css("background-image",""); $(this).dequeue(); });
  }
  
  if (!option) setTimeout(set_bg,timeout);
  
}

var videos = new Array('reception','lunch','meeting','room_upper','room_deluxe','room_junior');
var is_video = function(id) {
  for (var i in videos) {
    if (id == videos[i])
      return true;
  }
  return false;
}

var bind_room_video = function() {
  $(".preview a").unbind("click").click(function() {
    current_bg_id = $(this).attr("class");
    if (current_bg_id != "comfort") {
      var video = new SWFObject("swf/room_"+current_bg_id+".swf","mediaplayer","400","300","9");
      video.addParam("allowfullscreen","false");
      video.addParam("autoplay","true");
      video.addVariable("width","400");
      video.addVariable("height","300");
      video.write("video");
      $("#tour .video .content").empty().append($("#video").html()).parent().show();
      $("#video").empty();
    }
    else $("#tour .video").empty().hide();
    return false;    
  });
}

var bind_other_video = function() {  
  $(".preview2 a").unbind("click").click(function() {
    var video_id = $(this).attr("class");
    if (is_video(video_id)) {      
      var video = new SWFObject("swf/"+video_id+".swf","mediaplayer","400","300","9");
      video.addParam("allowfullscreen","false");
      video.addParam("autoplay","true");
      video.addVariable("width","400");
      video.addVariable("height","300");
      video.write("video");
      $("#"+video_id).parent().parent().find(".video .content").empty().append($("#video").html()).parent().show();
      $("#video").empty();
    }
    return false;
  });
}

function bind_links(container) {

  $(".partners .content .middle, .info .content .middle").each(function(i) {
    var html_tmp = $(this).html();
    html_tmp = html_tmp.replace(/<\/?a [^>]+>(.*)<\/a>/gi, '$1');
    var links = $($.unique($.makeArray(html_tmp.match(/\b(?:http:\/\/|www.)[^\<\>\s]+/gi))));
    links = $($.grep(links, function(e) { return e.match(/^http:\/\//i); })).add($(jQuery.grep(links, function(e) { return ! e.match(/^http:\/\//i); })));
    links.each(function(i, e) { html_tmp = html_tmp.replace(e, '<<<' + i + '>>>'); });
    links.each(function(i, e) { html_tmp = html_tmp.replace('<<<' + i + '>>>', '<a href="' + (e.match(/^http:\/\//i) ? '' : 'http://') + e + '" target="_blank" style="text-decoration: underline;">' + e + '</a>'); });
    $(this).html(html_tmp);
  });
}

$(document).ready(function() {
	
  set_bg();
  check_bg();
  
  $("#menubar .menu").click(function() {
    $(this).parent().find(".menu").removeClass("focus");
    if ($(this).attr("id") != "m_home") $(this).addClass("focus");
    if ($(this).attr("id") == "m_tour" || $(this).attr("id") == "m_club")
      $("#menu").removeClass("large").addClass("small");
    else $("#menu").removeClass("small").addClass("large");
    $("#container").removeClass().addClass($(this).attr("id").replace("m_",""));
    $(".video").hide();
  });
  
  $(".menubar .menu").click(function() {
     $(this).parent().find(".menu").removeClass("focus");
     $(this).addClass("focus");
     $(".video").hide();
  });
  
  $("span.menu, div.menu").click(function() {
    var id = $(this).attr("id").replace("m_","");
    current_bg_id = ($("#"+id+" .bar").size()) ? $("#"+id+" span.focus").attr("id") : id;
    if (!$(this).parent().hasClass("thumbs")) $(".text1").hide();
    if ($.browser.msie) $("."+id).show(); else $("."+id).fadeIn();
    $("#"+id+" span.focus").click();    
  });
  
  $(".go_contact").click(function() { $("#m_contact").click(); });
  $(".room_choice").hover(function() { $(".thumbs #"+$.trim($(this).attr("class").replace("room_choice",""))).addClass("thumb_hover"); }, function() { $(".thumbs #"+$.trim($(this).attr("class").replace("room_choice",""))).removeClass("thumb_hover"); });
  $(".thumb")
    .hover(function() { $(this).addClass("thumb_hover"); }, function() { $(this).removeClass("thumb_hover"); })
    .click(function() {
      var video_class = $(this).attr("id");
      $(".rooms .content .top").text($(this).find(".title").text());
      $(".rooms .content .middle").html($(this).find(".desc").html()).find(".preview a").addClass(video_class);
      $("#tour .video").hide();
      bind_room_video();
    });
  
  $(".booking").click(function() { $("#booking").click(); /*window.open("http://www.availpro.com/be/book.aspx?p=386&language=FR&s=0&property=890&trf=RACKPRI&trfb=false&trfd=false&back=http%3a%2f%2fwww.villa-saintgermain.com&sid=8054fc40-10d2-4e11-8831-eef7de85c0b9"); return false; */ });
	$(".tariffs").click(function() { $("#tariffs").click(); /*window.open("http://www.availpro.com/ext/v2rates.aspx?flow=V9BMVKZX"); return false; */ });
	$("#home .title:first").click(function() { $("#m_tour").click(); });
	$(".video .close").click(function() {
    $(".video").fadeOut().find(".content").empty();
	});
	
	$("#room_choice .room_choice").click(function() {
	  $("#"+$.trim($(this).attr("class").replace("room_choice",""))).click();
	  return false;
	});
	
	bind_other_video();
  get_content();
	
});