// ***************** slides ********************************


// ********************************************************
// * Globale Variablen                                    *
// ********************************************************

// * Allgemein*********************************************

// Browser-Status
var gecko_ver = 0;
var msie_ver = 0;
var alternate_browser = false;

// * Überblendungen ***************************************

// Bildüberblendung aktiv
var trans_in_progress = false;

// Aktuell gezeigtes Bild bei Überblendungen
var startslide = 0;


// ********************************************************
// * Initialisierungen                                    *
// ********************************************************

// * Fehlerbehandlung**************************************

// Event-Handler für Fehler einrichten
window.onerror = ignoreError;

// * Main *************************************************

// Initialisierungen der Scriptteile
function init()
{
  initPhotos();

  // Browser-Erkennung
  var ua = navigator.userAgent.toLowerCase();
  var pos_gecko = ua.indexOf('gecko/');
  var pos_msie = ua.indexOf('; msie ');

  if (pos_gecko != -1)
  {
    var navi_ver = ua.substr(pos_gecko + 6, 4);

    if (!isNaN(navi_ver))
    {
      gecko_ver = parseInt(navi_ver);
    }
  }
  else if (pos_msie != -1)
  {
    var navi_ver = ua.substr(pos_msie + 7, 1);

    if (!isNaN(navi_ver))
    {
      msie_ver = parseInt(navi_ver);
    }
  }

  if (gecko_ver === false && msie_ver === false)
  {
    alternate_browser = true;
  }
}


// ********************************************************
// * Allgemeine - Scripte                                 *
// ********************************************************

// * Fehlerbehandlung**************************************

// Fehlerbehandlungsfunktion
function ignoreError()
{
  return true;
}

// * Überblendungen ***************************************

// Objekt Faden
function fadeObject(object_id, opacity)
{
  var object = document.getElementById(object_id);

  object.style.opacity = (opacity / 101);
  if (msie_ver > 0)
  {
    if (msie_ver > 5)
    {
      object.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opacity + ')';
    }
    else
    {
      object.style.filter = 'alpha(opacity=' + opacity + ')';
    }
  }
  else
  {
    object.style.MozOpacity = (opacity / 101);
    object.style.KhtmlOpacity = (opacity / 101);
  }
}


// ********************************************************
// * Photoüberblend-Funktionen                            *
// ********************************************************

// * Überblendungen starten *******************************

// Vorheriges Photo zeigen
function previousPhoto()
{
  var duration = 1200;

  if (trans_in_progress != true)
  {
    var previous_photo_num = getPrevPhotoNumber(startslide, 'photosbox');

    if (   (previous_photo_num !== false)
        && (document.getElementById('pic_photobox_'.concat(previous_photo_num)).width != 1))
    {
      startslide = blendImage(previous_photo_num, startslide, duration, 'photobox_');
    }
    else
    {
      if (photo_init !== undefined)
      {
        initPhotos();
      }
    }
  }
}

// Nächstes Photo zeigen
function nextPhoto()
{
  var duration = 1200;

  if (trans_in_progress != true)
  {
    var next_photo_num = getNextPhotoNumber(startslide, 'photosbox');

    if (   (next_photo_num !== false)
        && (document.getElementById('pic_photobox_'.concat(next_photo_num)).width != 1))
    {
      startslide = blendImage(next_photo_num, startslide, duration, 'photobox_');
    }
    else
    {
      if (photo_init !== undefined)
      {
        initPhotos();
      }
    }
  }
}

// * Photonummern ermitteln *******************************

// Nächstes Photo ermitteln
function getNextPhotoNumber(startslide, container)
{
  var nextnumber = startslide + 1;

  var photosdiv =  document.getElementById(container);
  var imgarray  = photosdiv.getElementsByTagName('img');
  var imgnumber = imgarray.length;

  if (nextnumber > (imgnumber - 1))
  {
    nextnumber = 0;
  }
  else
  {
    if (imgnumber == 1)
    {
      return false;
    }
  }

  return nextnumber;
}

// Vorheriges Photo ermitteln
function getPrevPhotoNumber(startslide, container)
{
  var nextnumber = startslide - 1;

  if (nextnumber < 0)
  {
    var photosdiv =  document.getElementById(container);
    var imgarray  = photosdiv.getElementsByTagName('img');
    var imgnumber = imgarray.length;

    if (imgnumber == 1)
    {
      return false;
    }

    nextnumber = imgnumber - 1;
  }

  return nextnumber;
}

// * Überblendfunktionen **********************************

// Bild überblenden
function blendImage(endslide, startslide, duration, identifier)
{
  if (trans_in_progress != true)
  {
    if (endslide != startslide)
    {
      trans_in_progress = true;

      var speed = Math.round(duration / 100);

      var old_image_id = identifier.concat(startslide);
      var new_image_id = identifier.concat(endslide);

      // Neues Bild in Vordergrund setzen
      changeImageOpac(0, new_image_id);
      document.getElementById(new_image_id).style.zIndex = 1001;

      // Neues Bild einblenden
      for (var i = 0; i <= 100; i++)
      {
        setTimeout("changeImageOpac(" + i + ", '" + new_image_id + "', '" + old_image_id + "')", i * speed);
      }
    }
  }
  else
  {
    endslide = startslide;
  }

  return endslide;
}

// Transparenz einstellen
function changeImageOpac(opacity, new_id, old_id)
{
  var object = document.getElementById(new_id);

  if (opacity <= 0)
  {
    object.style.display = "none";
  }

  fadeObject(new_id, opacity);

  if (opacity == 1)
  {
    object.style.display = "block";
  }

  if (old_id !== undefined && opacity < 100)
  {
    changeImageOpac(100 - opacity, old_id);
  }

  if (opacity >= 100)
  {
    if (old_id !== undefined)
    {

      // Aktuelles Photo als Background setzen
      if (gecko_ver > 0 && gecko_ver < 2007)
      {
        document.getElementById(new_id).style.backgroundImage = "url(" + document.getElementById('pic_'.concat(new_id)).src + ")";
      }

      // Altes Photo in Hintergrund setzen
      changeImageOpac(0, old_id);
      document.getElementById(old_id).style.zIndex = 0;
      if (gecko_ver > 0 && gecko_ver < 2007)
      {
        document.getElementById(old_id).style.backgroundImage = 'none';
      }

      // Z-Index setzen
      document.getElementById(new_id).style.zIndex = 1000;

      trans_in_progress = false;
    }
  }
}


// *********************************** main.js **************************
//  Links
function setLinkTarget(link_object, target)
{
  if (target === undefined)
  {
    target = '_blank';
  }

  link_object.target = target;
}

// Bilder
function imgSelect(img_object)
{
  img_object.className = 'hoveredboxed';
}

function imgUnselect(img_object)
{
  img_object.className = 'boxed';
}

function showGraphic(file)
{
  var pathname = '/graphics/vb/';
  var filename = pathname.concat(file, '.jpg');

  showFullImage(filename);
}

function showPhoto(file)
{
  var pathname = '/photos/vb/';
  var filename = pathname.concat(file, '.jpg');

  showFullImage(filename);
}


function showFullImage(filename)
{
  var posx = ((screen.availWidth) - 770) / 2;
  var posy = (((screen.availHeight) - 600) - 30) / 2;

  if (posx < 1) {posx = 1;}
  if (posy < 1) {posy = 1;}

  posx = Math.floor(posx);
  posy = Math.floor(posy);

  var fenster = window.open('', 'MSC', 'width=770,height=600,left='+posx+',top='+posy+',location=no,menubar=no,resizeable=no,scrollbars=no,status=no,toolbar=no,hotkeys=no,dependent=yes');

  fenster.document.open();

  with (fenster.document)
  {
    write('<html><head><title>Copyright Enthaarungsstudio Marla Schnee</title><meta http-equiv="imagetoolbar" content="no"></head><body bgcolor="#7a485a" onblur="window.close()" onclick="window.close()">');

    write('<table width="100%" height="100%"><tr><td align="center" valign="middle"><img style="border-style: solid; border-width: 2px; border-color: #683848;" src="',filename,'" border="0" alt="loading..." title=""></td></tr></table></body></html>');
  }

  fenster.document.close();
}



// Videos
function showVideo(file)
{
  var pathname = '/videos/';
  var filename = pathname.concat('video', file, '.html');

  var posx = ((screen.availWidth) - 430) / 2;
  var posy = ((screen.availHeight) - 430) / 2;

  if (posx < 1) {posx = 1;}
  if (posy < 1) {posy = 1;}

  posx = Math.floor(posx);
  posy = Math.floor(posy);

  var fenster = window.open(filename, 'MSC', 'width=430,height=430,left='+posx+',top='+posy+',location=no,menubar=no,resizeable=yes,scrollbars=no,status=no,toolbar=no,hotkeys=no,dependent=no');
}

// Formulare
function checkForm(form_object, form_type, sendbutton_id)
{
  var result = true;

  // Sendebutton vorhanden?
  if (sendbutton_id == undefined)
  {
    sendbutton_id = false;
  }

  // Formular-Typ vorhanden
  if (form_type == undefined)
  {
    form_type = 'formular';
  }

  // Eingaben prüfen
  switch (form_type)
  {
    case 'kontakt':
      if (document.getElementById('f_kontakt_name').value == '')
      {
        alert("Bitte geben Sie Ihren Namen ein!");
        document.getElementById('f_kontakt_name').focus();
        result = false;
      }
      if (result && (document.getElementById('f_kontakt_email').value == ''))
      {
        alert("Bitte geben Sie Ihre e-Mail Adresse ein!");
        document.getElementById('f_kontakt_email').focus();
        result = false;
      }
      if (result && (document.getElementById('f_kontakt_nachricht').value == ''))
      {
        alert("Bitte geben Sie Ihre Nachricht an uns ein!");
        document.getElementById('f_kontakt_nachricht').focus();
        result = false;
      }
      break;
    case 'partnersites':
      if (document.getElementById('f_partnersites_name').value == '')
      {
        alert("Bitte geben Sie Ihren Namen ein!");
        document.getElementById('f_partnersites_name').focus();
        result = false;
      }
      if (result && (document.getElementById('f_partnersites_email').value == ''))
      {
        alert("Bitte geben Sie Ihre e-Mail Adresse ein!");
        document.getElementById('f_partnersites_email').focus();
        result = false;
      }
      if (result && (document.getElementById('f_partnersites_backlink').value == ''))
      {
        alert("Bitte geben Sie die geplante Backlink-URL ein!");
        document.getElementById('f_partnersites_backlink').focus();
        result = false;
      }
      if (result && (document.getElementById('f_partnersites_url').value == ''))
      {
        alert("Bitte geben Sie Ihre URL ein!");
        document.getElementById('f_partnersites_url').focus();
        result = false;
      }
      if (result && (document.getElementById('f_partnersites_titel').value == ''))
      {
        alert("Bitte geben Sie Ihren Linkwunschtext ein!");
        document.getElementById('f_partnersites_titel').focus();
        result = false;
      }
      break;
    case 'feedback':
      if (document.getElementById('f_feedback_name').value == '')
      {
        alert("Bitte geben Sie Ihren Namen ein!");
        document.getElementById('f_feedback_name').focus();
        result = false;
      }
      if (result && (document.getElementById('f_feedback_nachricht').value == ''))
      {
        alert("Bitte geben Sie Ihre Nachricht an uns ein!");
        document.getElementById('f_feedback_nachricht').focus();
        result = false;
      }
      break;
    default:
      alert('Formular nicht aktiv!');
      result = false;
      break;
  }

  if (result && (sendbutton_id !== false))
  {
    document.getElementById(sendbutton_id).disabled = true;
  }

  return result;
}

function inputSelect(input_object)
{
  input_object.style.borderColor = '#f87cb3';
  input_object.style.backgroundColor = '#fef8fb';
}

function inputUnselect(input_object)
{
  input_object.style.borderColor = '#f8adce';
  input_object.style.backgroundColor = '#fef0f6';
}

// Text
function copyProtection(para)
{
  switch (para)
  {
    case 'extern':
      alert('Die hier abgebildeten Texte, Fotos und Grafiken\nsind urheberrechtlich geschützt.');
      break;
    case 'partly':
      alert('Ein Teil der hier abgebildeten Texte, Fotos und Grafiken\nsind urheberrechtlich durch den Rechteinhaber\nmarla schnee cosmetics geschützt.');
      break;
    default:
      alert('Alle hier abgebildeten Texte, Fotos und Grafiken\nsind urheberrechtlich durch den Rechteinhaber\nmarla schnee cosmetics geschützt.');
      break;
  }

  return false;
}

