
  function adaptWebSite(defaultHeight)
  {

    var width  = screen.width;
    var height = screen.height;

    var max_height = 550;
    var min_height = 450;
    var bar_height = 17;

    var scrollcontent_max = 400;
    var scrollcontent_min = 300;

    var optimal_height = 0;
    var optimal_scroll = 0;
  
    if (height <= 1024)
    {
      optimal_height = min_height;
      optimal_scroll = scrollcontent_min;
    }
    else
    {
      optimal_height = max_height;
      optimal_scroll = scrollcontent_max;
    }

    if (defaultHeight > 0)
    {
      optimal_height = defaultHeight;
      optimal_scroll = defaultHeight - 150;
    }

    document.getElementById('CenterContentFrame').style.height = (optimal_height + bar_height) + 'px';
    if (document.getElementById('scrollContent'))
      document.getElementById('scrollContent').style.height = optimal_scroll + 'px';

    className = 'GaleryPicture';
    var all   = document.all ? document.all : document.getElementsByTagName('*');  

    for (var e = 0; e < all.length; e++) {  
      var classes = all[e].className.split(/\s/g);  
      for (var c = 0; c < classes.length; c++) 
      { 
        if (classes[c] == className) 
          all[e].style.height= optimal_height + 'px';
      }  
    }  

  }

  function adaptSplash(defaultHeight)
  {

    var width  = screen.width;
    var height = screen.height;

    var max_height = 440;
    var min_height = 300;

    var optimal_height = 0;

    if (height <= 1024)
      optimal_height = min_height;
    else
      optimal_height = max_height;

    if (defaultHeight > 0)
      optimal_height = defaultHeight;

    document.getElementById('splash').style.height = optimal_height + 'px';

  }

  function XMLHTTPRequest() {

    var request = false;

    try {
      request = new ActiveXObject('Msxml2.XMLHTTP');
    } catch (err2) {
      try {
        request = new ActiveXObject('Microsoft.XMLHTTP');
      } catch (err3) {
        try {
          request = new XMLHttpRequest();
        } catch (err1) {
          request = false;
        }
      }
    }
    return request;
  }

  function getGalImages(Gal, SubDir, Page, E)
  {

    var CenterContentImagesFrame = document.getElementById('CenterContentImagesFrame');
    var LeftMenuContent          = document.getElementById('LeftMenuContent');

    var url    = 'libs/updateGal.php';
    var params = '?Gal=' + Gal + '&SubDir=' + SubDir + '&Page=' + Page;
    var http   = XMLHTTPRequest();

    http.onreadystatechange=function() {
      if (http.readyState == 4) {

        var XMLRPCContent     = http.responseText;
        var PageNumber        = 0;
        var PageHTMLContent   = '';
        var PageLineHeight    = 0;
        var AlertMessage      = '';
        var PageSelectStyle   = '';

        XMLRPCContent = XMLRPCContent.split("|");
        PageNumber    = parseFloat(XMLRPCContent[0]);
        AlertMessage  = XMLRPCContent[1];

        if (PageNumber == 0)
          return false;

        if (AlertMessage != '')
        {
          if (!confirm(AlertMessage))
            return false;
        }
 
 /*       for (i = 1; i <= PageNumber; i++)
        {
          if (i == Page)
            PageHTMLContent += "<span onClick=\"javascript:getGalImages('" + Gal + "', '" + SubDir + "', " + i + ");\" class='ElementLink ElementLinkSelected'>" + i + "</span><br/>";
          else
            PageHTMLContent += "<span onClick=\"javascript:getGalImages('" + Gal + "', '" + SubDir + "', " + i + ");\" class='ElementLink'>" + i + "</span><br/>";
        }
*/
        if (Page > 1)
          PageHTMLContent += '<span class="ElementLink" onClick="javascript:getGalImages(\'' + Gal + '\', \'' + SubDir + '\', ' + (Page-1) + ');">&lt;</span>&nbsp;&nbsp;';
        else
          PageHTMLContent += '&lt;&nbsp;&nbsp;';


        PageHTMLContent += 'Page ' + Page + '/';

        if (PageNumber > 1)
          PageHTMLContent += '<span style=\'color: white; font-weight: bold;\'>' + PageNumber + '</span>';
        else
          PageHTMLContent += PageNumber;

        if (Page < PageNumber)
          PageHTMLContent += '&nbsp;&nbsp;<span class="ElementLink" onClick="javascript:getGalImages(\'' + Gal + '\', \'' + SubDir + '\', ' + (Page+1) + ');">></span>';
        else
          PageHTMLContent += '&nbsp;&nbsp;>';

        document.getElementById('DetailsDataPages').innerHTML = PageHTMLContent;

        PageLineHeight                     = Math.ceil(600/PageNumber);
//        LeftMenuContent.innerHTML          = PageHTMLContent;
        CenterContentImagesFrame.innerHTML = XMLRPCContent[2];
        LeftMenuContent.style.lineHeight   = PageLineHeight+'px';

        hideSubMenu();

        if (E)
        {
          E.style.color = '#FFF';
          E.style.fontWeight = 'bold';
          document.getElementById('openedGal').value = SubDir;
        }

        document.getElementById('curGal').value     = SubDir;
        document.getElementById('curPage').value    = Page;
        adaptWebSite(0);

      }
    }

    http.open("GET", url + params, true);
    http.send(null);

  }

  function rolloverImage(E, URL)
  {
    E.src = URL;
  }

  function editDetails(FileName, Actual, isEditable)
  {
  
    var Datas = prompt('Edition of the informations :', Actual)
    if (!Datas) return false;

    var url    = 'libs/editCredits.php';
    var params = 'Image=' + FileName + '&Datas=' + Datas;
    var http   = XMLHTTPRequest();

    http.onreadystatechange=function() {
      if (http.readyState == 4) {

        var XMLRPCContent     = http.responseText;
        getDetails(FileName, isEditable);
        
      }
    }

    http.open("POST", url); /* + params, true);*/
    http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    http.send(params);

  }

  function getDetails(FileName, isEditable)
  {

    var url    = 'libs/getCredits.php';
    var params = 'Image=' + FileName;
    var http   = XMLHTTPRequest();

    http.onreadystatechange=function() {
      if (http.readyState == 4) {

        var XMLRPCContent     = http.responseText;
        var ReturnedTable     = XMLRPCContent.split("[|]");

//        var BBCodedContent    = ReturnedTable[0].replace(/\'/g,"\\\'");
//        var BBCodedContent    = BBCodedContent.replace(/\"/g,"\\\"");
        var BBCodedContent = ReturnedTable[0];

        var HTMLContent       = ReturnedTable[1];

        if (isEditable)
          var EditLink = '&nbsp;&nbsp;<span onClick="javascript:editDetails(\'' + FileName + '\', \'' + BBCodedContent + '\', ' + isEditable + ');">[ Edit ]</span>';
        else
          var EditLink = '';

        document.getElementById('curImg').value                 = FileName;
//        document.getElementById('DetailsDataTitle').innerHTML   = FileName;
        document.getElementById('DetailsDataCredits').innerHTML = HTMLContent + EditLink;

      }
    }

    http.open("POST", url); /* + params, true);*/
    http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    http.send(params);

  }


  function showDetails(FileName)
  {
getDetails(FileName, false);
//    getDetails(FileName, true)
//    alert(document.getElementById(FileName).offsetLeft);
    document.getElementById('CenterContentFrame').scrollLeft = document.getElementById(FileName).offsetLeft - 85;

  }

  function displayMenu(Menu, DestinationMenu, RememberQuickLinkChange)
  {

    RememberQuickLinkChange = typeof(RememberQuickLinkChange) != 'undefined' ? RememberQuickLinkChange : true;

    // Defining Menu ID To Display 
    MenuID = 'menu_' + Menu;

    // Highlight the Destination Menu
    DestinationMenu.style.color = '#FFFFFF';
    DestinationMenu.style.fontWeight = 'bold';

    // Hide Old Menu ID
    hideMenu();

    // Open the SubMenu related to the DestinationMenu
    new Effect.BlindDown(MenuID, { queue : 'end' , duration : '0.5' });

    // Save the actual Menu
    document.getElementById('openedMenu').value = Menu;

    // Save the actual Menu for QuickLinks
    if (RememberQuickLinkChange)
      document.getElementById('curMenu').value    = Menu;
    else
      document.getElementById('curMenu').value    = '';

    // Reset Quick Link Sub & Img
    document.getElementById('curGal').value     = '';
    document.getElementById('curImg').value     = '';

    // Reset the DetailImage Div    
    document.getElementById('DetailsDataCredits').innerHTML = 'Please click on a picture';
  }

  function hideMenu()
  {

    // Get 'old' Menu 
    var OpenedMenu = document.getElementById('openedMenu').value;

    if (OpenedMenu != "")
    {
      document.getElementById('title_' + OpenedMenu).style.color = '#AAA';
      document.getElementById('title_' + OpenedMenu).style.fontWeight  = 'normal';

      new Effect.BlindUp('menu_' + OpenedMenu, { duration : '0.5' });
    }
  }

  function hideSubMenu()
  {
    var OpenedSubMenu = document.getElementById('openedGal').value.toUpperCase();

    if (OpenedSubMenu != "")
    {
      document.getElementById('sub_' + OpenedSubMenu).style.color = '#AAA';
      document.getElementById('sub_' + OpenedSubMenu).style.fontWeight = 'normal';
    }
  }

  function checkEvent(ev)
  {
    var ExplEvent;
    if (window.event)
      ExplEvent = window.event.srcElement;
    else
      ExplEvent = ev.target;
    return ExplEvent;
  }

  function getURL()
  {
    var Galery = document.getElementById('curMenu').value.toLowerCase();
    var Sub    = document.getElementById('curGal').value;
    var Image  = document.getElementById('curImg').value;
    var Page   = document.getElementById('curPage').value;

    if ((Sub == "./") || (Sub == ""))
    {
      Sub = "NONE";
    }

    prompt('Copy the link below to get the direct link to the actual galery and picture :', 'http://www.samten.fr/Quick-' + Galery + '-' + Sub + '-' + Page + '-' + Image + '.html');
  }

  function displayHTML(url)
  {

    var http   = XMLHTTPRequest();

    http.onreadystatechange=function() {
      if (http.readyState == 4) {

        var XMLRPCContent     = http.responseText;
        XMLRPCContent = XMLRPCContent.split("|");
         
        if (XMLRPCContent[0].length > 0)
          var Image    = "<td width=100><img src='" + XMLRPCContent[0] + "' alt='' class='GaleryPicture' /></td>";
        else
          var Image    = "";

        var HTMLData = XMLRPCContent[1];

        var Structure = "<table cellspacing='0' cellpadding='0' style='width: 100%; height: 100%;'><tr>" + Image + "<td valign='top'>" + HTMLData + "</td></tr></table>";

        document.getElementById('DetailsDataPages').innerHTML   = 'No more pages';
        document.getElementById('DetailsDataCredits').innerHTML = 'No informations available...';

        document.getElementById('CenterContentImagesFrame').innerHTML = Structure;

        adaptWebSite(0);

      }
    }

    http.open("GET", url, true); /* + params, true);*/
    http.send(null);

  }

  function sendContact()
  {

    var http   = XMLHTTPRequest();
    var url    = "libs/sendMail.php";

    var contactName      = document.getElementById('contact_Name').value;
    var contactCompany   = document.getElementById('contact_Company').value;
    var contactEmail     = document.getElementById('contact_Email').value;
    var contactTelephone = document.getElementById('contact_Telephone').value;
    var contactIP        = document.getElementById('contact_IP').value;
    var contactMessage   = document.getElementById('contact_Message').value;
  
    var params           = "Name=" + contactName + "&Company=" + contactCompany + "&Email=" + contactEmail + "&Telephone=" + contactTelephone + "&IP=" + contactIP + "&Message=" + contactMessage;

    http.onreadystatechange=function() {
      if (http.readyState == 4) {

        var XMLRPCContent     = http.responseText;
        alert(XMLRPCContent);
      }
    }

    http.open("POST", url); /* + params, true);*/
    http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    http.send(params);

  }


  function subscribeNewsletter()
  {

    var http   = XMLHTTPRequest();
    var url    = "libs/subscribeNewsletter.php";

    var newsEmail     = document.getElementById('news_Email').value;
    var newsAction    = document.getElementById('news_Action').options.selectedIndex;

    var params           = "Email=" + newsEmail + "&Action=" + newsAction;

    http.onreadystatechange=function() {
      if (http.readyState == 4) {

        var XMLRPCContent     = http.responseText;
        alert(XMLRPCContent);
      }
    }

    http.open("POST", url); /* + params, true);*/
    http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    http.send(params);

  }


  function formMouseover(E)
  {
    E.style.border='1px solid white';
  }
 
  function formMouseout(E)
  {
    E.style.border='1px dashed #AAA';
  }
