// JavaScript Document
function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else var expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
  var cookieValue = "";
  var search = name + "=";
  if(document.cookie.length > 0) {
    offset = document.cookie.indexOf(search);
    if (offset != -1) { 
      offset += search.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      cookieValue = unescape(document.cookie.substring(offset, end))
    }
  }
  return cookieValue;
}
function changeTab(host) {
  var Tabs = host.parentNode.getElementsByTagName(host.nodeName);
  for (i=0; i < Tabs.length; i++) {
    Tabs[i].className = Tabs[i].className.replace(/ active/g,"");
  }
  host.parentNode.nextSibling.className="tabLine "+host.className;
  host.className += " active";
}

function setToActive(host) {
  if (host.className.indexOf(' active') < 0)
    host.className += ' active';
}
function setToInActive(host) {
  host.className = host.className.replace(/active/g,"");
}
function toRadian(x) { return (x/180) * Math.PI; };
function makeDistance(N1,N2,E1,E2) {
  N1 = toRadian(N1); N2 = toRadian(N2); E1 = toRadian(E1); E2 = toRadian(E2);
  var Distanz = Math.acos(Math.sin(N1) * Math.sin(N2) + (Math.cos(N1) * Math.cos(N2)) * Math.cos(E1 - E2)) * 6371;
  return Math.round(Distanz*10)/10+' km';
}

var whiteShade = "";
var myPopUp = "";
function showPopUp() {
  document.getElementById('loginForm').style.display = "block";
  /*@cc_on @if (@_win32 && @_jscript_version <= 5.7)
    document.body.setAttribute('scroll','no');
  @end @*/ 
}
function hidePopUp() {
  document.getElementById('loginForm').style.display = "none";
  /*@cc_on @if (@_win32 && @_jscript_version <= 5.7)
    document.body.setAttribute('scroll','auto');
  @end @*/ 
}

nereidFadeObjects = new Object();
nereidFadeTimers = new Object();

function makeIEDelta(delta) {
  if (navigator.appName.toLowerCase().indexOf('internet explorer') >= 0) {
    delta=delta*2
  }
  return delta;
}

function nereidFade(object, destOp, rate, delta, actOpacity) {
  clearTimeout(nereidFadeTimers[object.sourceIndex]);
  diff = destOp-actOpacity;
  
  var direction = 1;
  if (actOpacity > destOp){
    direction = -1;
  }
  delta=Math.min(direction*diff,delta);
  actOpacity += direction*delta;
  
  if (object.filters != null) {
    object.filters.alpha.opacity = actOpacity;
  } else if (object.style.opacity != null) {
    object.style.opacity = actOpacity/100;
  }
  
  if (actOpacity != destOp) {
    nereidFadeObjects[object.sourceIndex]=object;
    nereidFadeTimers[object.sourceIndex]=
    setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],  "+destOp+","+rate+","+delta+","+actOpacity+")",rate);
  } else if (actOpacity == 0) {
    object.style.display='none';
  }
}

function fixFavIcon() {
  favicon = document.createElement("link");
  favicon.rel = "shortcut icon";
  favicon.href = "/img/favicon.ico";
  favicon.id = "FaviconLink";
  if (document.getElementById('FaviconLink') != null)
    document.getElementsByTagName('head')[0].replaceChild(favicon, document.getElementById('FaviconLink'));

}

function makeActImage(d, x) {
  if (d == 'next' && x != (slideshow.length-1)) x+=1;
    else if (d == 'next' && x == (slideshow.length-1)) x=0;
  if (d == 'previous' && x != 0) x-=1;
    else if (d == 'previous' && x == 0) x=(slideshow.length-1);
  if (d == 'first') x = 0;
  if (d == 'last') x = (slideshow.length-1);
  return x;
}

function disableArrowButtons(d, x) {
  if (document.getElementById('ArrowFirst') != null ) {
    if (x == 0) document.getElementById('ArrowFirst').className = 'arrowButtonInactive';
    else document.getElementById('ArrowFirst').className = 'arrowButton';
  }
  if (document.getElementById('ArrowLast') != null) {
    if (x == (slideshow.length-1)) document.getElementById('ArrowLast').className = 'arrowButtonInactive';
    else document.getElementById('ArrowLast').className = 'arrowButton';
  }
  if (document.getElementById('ArrowNext') != null) {
    if (slideshow.length == 1) document.getElementById('ArrowNext').className = 'arrowButtonInactive';
    else document.getElementById('ArrowNext').className = 'arrowButton';
  }
  if (document.getElementById('ArrowPrev') != null) {
    if (slideshow.length == 1) document.getElementById('ArrowPrev').className = 'arrowButtonInactive';
    else document.getElementById('ArrowPrev').className = 'arrowButton';
  }
}
function gotoImage(direction) {
  dontFade = false;
  oldImage = actImage;
  actImage = makeActImage(direction,actImage);
  if (direction == 'initial' ||
    slideshow.length == 1 ||
    (direction == 'first' && oldImage == 0) ||
    (direction == 'last' && oldImage == (slideshow.length-1))) dontFade = true;
  disableArrowButtons(direction,actImage);
  if (typeof(vote) != 'undefined') vote.prepareVoting(slideshow[actImage].id);
  preloadImages(actImage);
  if (typeof(pictNum) != 'undefined' && direction != 'initial') {
    location.hash = '#pic'+(actImage+1);
    fixFavIcon();
  }
}
function preloadImages(x) {
  if (slideshow.length >= 2) {
    var myRow = new Array((x-1),x,(x+1));
    if (x == (slideshow.length-1)) { myRow[0] = slideshow.length-2; myRow[2] = 0; }
    else if (x == 0) { myRow[0] = slideshow.length-1; myRow[2] = 1; }
    for (i=0; i<myRow.length; i++) {
      if (slideshow[myRow[i]].img.src == '') {
        slideshow[myRow[i]].img.src = slideshow[myRow[i]].src;
      }
      if (document.getElementById('img_'+slideshow[myRow[i]].id) == null) {
        slideshow[myRow[i]].img.id = 'img_'+slideshow[myRow[i]].id;
        slideshow[myRow[i]].div.appendChild(slideshow[myRow[i]].img);
      }
    }
  } else {
    slideshow[x].img.src = slideshow[x].src;
    slideshow[x].img.id = 'img_'+slideshow[x].id;
    slideshow[x].div.appendChild(slideshow[x].img);
  }
  if (slideshow[x].img.complete != true) window.setTimeout('preloadImages('+x+')',1);
  else renderImages(x);
}

function renderImages(x) {
  /**** Tiefenebene ****/
  for (i=0; i<slideshow.length; i++) {
    slideshow[i].div.style.zIndex= 1;
    if (i == oldImage || i == x) slideshow[i].div.style.display = 'block';
    else slideshow[i].div.style.display= 'none';
  }
  slideshow[oldImage].div.style.zIndex= 2;
  slideshow[x].div.style.zIndex= 3;

  /**** Seitenverhältnis ****/
  var picFrame = document.getElementById('fcmsslideshow');
  var aspectRatio = picFrame.offsetWidth/picFrame.offsetHeight;
  if (slideshow[x].img.offsetWidth/(slideshow[x].img.offsetHeight-40) < aspectRatio) {
    slideshow[x].img.style.height = '100%';
    slideshow[x].img.style.marginLeft = ((picFrame.offsetWidth-slideshow[x].img.clientWidth)/20)+'em';
  }
  else if (slideshow[x].img.offsetWidth/(slideshow[x].img.offsetHeight+40) >= aspectRatio) {
    slideshow[x].img.style.width = '100%';
    slideshow[x].img.style.marginTop = ((picFrame.offsetHeight-slideshow[x].img.clientHeight)/20)+'em';
  }
  else {
    if (slideshow[x].img.offsetWidth/slideshow[x].img.offsetHeight < aspectRatio) {
      slideshow[x].img.style.width = '100%';
      slideshow[x].img.style.marginTop = ((picFrame.offsetHeight-slideshow[x].img.clientHeight)/20)+'em';
    }
    else if (slideshow[x].img.offsetWidth/slideshow[x].img.offsetHeight >= aspectRatio) {
      slideshow[x].img.style.height = '100%';
      slideshow[x].img.style.marginLeft = ((picFrame.offsetWidth-slideshow[x].img.clientWidth)/20)+'em';
    }
  }

  /**** Module zuschalten und befüllen ****/
  if (document.getElementById('slideshowText') != null && typeof(slideshow[x].text) != 'undefined') {
    if (slideshow[x].text.length > 350) slideshow[x].text = slideshow[x].text.substring(0,350)+'...';
    document.getElementById('slideshowText').innerHTML = slideshow[x].text;
  }
  if (document.getElementById('voteDIV') != null && typeof(vote) != 'undefined') {
    if (slideshow[x].switches.toLowerCase().indexOf('voting') >= 0) {
      document.getElementById('voteDIV').style.display = 'block';
      changeStarsTo(slideshow[x].votevalue,'',slideshow[x].votecount);
    } else document.getElementById('voteDIV').style.display = 'none';
  }
  if (document.getElementById('socialBookmarks') != null) {
    if (slideshow[x].switches.toLowerCase().indexOf('socialbookmarks') >= 0) {
      document.getElementById('socialBookmarks').style.display = 'block';
    } else document.getElementById('socialBookmarks').style.display = 'none';
  }
  if (document.getElementById('slideshowPuzzle') != null) {
    if (slideshow[x].switches.toLowerCase().indexOf('puzzle') >= 0) {
    document.getElementById('slideshowPuzzle').style.display = 'block';
    } else document.getElementById('slideshowPuzzle').style.display = 'none';
  }
  if (document.getElementById('slideshowDownload') != null) {
    if (typeof(slideshow[x].download) != 'undefined') {
      document.getElementById('slideshowDownload').style.display = 'block';
      document.getElementById('slideshowDownload').innerHTML = slideshow[x].download;
    } else document.getElementById('slideshowDownload').style.display = 'none';
  }
  if (document.getElementById('slideshowAuthor') != null && typeof(slideshow[x].author) != 'undefined') {
    document.getElementById('slideshowAuthor').innerHTML = '<span class="bildCreditdropShadow">&copy; '+slideshow[x].author+'</span><span class="bildCredit">&copy; '+slideshow[x].author+'</span>';
    document.getElementById('slideshowAuthor').style.right = (slideshow[x].img.offsetWidth < picFrame.offsetWidth)
    ?((picFrame.offsetWidth-slideshow[x].img.offsetWidth)/20)+ 1 +'em'
    : '1em';
    document.getElementById('slideshowAuthor').style.bottom = (slideshow[x].img.offsetHeight < picFrame.offsetHeight)
    ? (((picFrame.offsetHeight-slideshow[x].img.clientHeight)/20)+0.5)+'em'
    : '0.5em';
  }
  if (document.getElementById('pictureHeader') != null)
    document.getElementById('pictureHeader').innerHTML = slideshow[x].folderName;
  if (document.getElementById('ImageCount') != null)
    document.getElementById('ImageCount').innerHTML = 'Bild '+(x+1)+' von '+slideshow.length;

  /*** Fade ***/
  if (dontFade == false) {
    slideshow[x].div.style.opacity = 0;
    nereidFade(slideshow[x].div,100,1,makeIEDelta(5),0);
  }
}

function gotoMedia(direction) {
  actImage = makeActImage(direction,actImage);
  disableArrowButtons(direction,actImage);
  if (typeof(pictNum) != 'undefined') {
    if (direction != 'initial') location.hash = '#vid'+(actImage+1);
    fixFavIcon();
  };
  document.getElementById('mediaFrame').src = '/unterhaltung/mediathek/nakedvideo/sts' + slideshow[actImage].folderID + ','+slideshow[actImage].id + '.html';
  if (document.getElementById('slideshowText') != null && typeof(slideshow[actImage].text) != 'undefined') {
    if (slideshow[actImage].text.length > 250) slideshow[actImage].text = slideshow[actImage].text.substring(0,250)+'...';
    document.getElementById('slideshowText').innerHTML = slideshow[actImage].text;
  }
  if (document.getElementById('socialBookmarks') != null) {
    if (slideshow[actImage].switches.toLowerCase().indexOf('socialbookmarks') >= 0) {
      document.getElementById('socialBookmarks').style.display = 'block';
    } else document.getElementById('socialBookmarks').style.display = 'none';
  }
  if (document.getElementById('pictureHeader') != null)
    document.getElementById('pictureHeader').innerHTML = slideshow[actImage].title;
  if (document.getElementById('ImageCount') != null)
    document.getElementById('ImageCount').innerHTML = 'Video '+(actImage+1)+' von '+slideshow.length;
}

function starHover(vote, e) {
  if (slideshow[actImage].voted == false) {
    changeStarsTo(vote);
    e.style.cursor='pointer';
  } else {
    e.style.cursor='default';
  }
}

function starClick(vote,x) {
  if (typeof(x) == 'undefined') x = actImage;
  if (slideshow[x].voted == false) {
    var voteForm = document.getElementById('voteForm');
    var voteFields = voteForm.getElementsByTagName('input');
    voteFields[1].value = slideshow[x].path;
    voteFields[2].value = slideshow[x].id;
    voteFields[3].value = vote;
    voteForm.submit();
  }
}

function checkVoteStatus(e,status) {
  if (status != 0 && status != 2) {
    slideshow[actImage].voted = true;
    document.getElementById('alreadyVoted').innerHTML = LockMessage;
    document.getElementById('alreadyVoted').className = 'warning';
  } else {
    slideshow[actImage].voted = false;
    document.getElementById('alreadyVoted').innerHTML = 'Bewerten Sie dieses Foto:';
    document.getElementById('alreadyVoted').className = '';
  }
}

function changeStarsTo(votevalue,e,votecount) {
  if (typeof(e) == 'undefined') var e = '';
  var myStars = document.getElementById('starHolder'+e);
  myStars.style.width = votevalue*myStars.offsetHeight+'px';
  var textWert = '';
  switch(Math.round(votevalue)) {
    case 0: textWert = 'Nicht bewertet' ;
      break;
    case 1: textWert = 'Langweilig';
      break;
    case 2: textWert = 'Geht so';
      break;
    case 3: textWert = 'Mittelmäßig';
      break;
    case 4: textWert = 'Gut';
      break;
    case 5: textWert = 'Sehr Gut';
      break;
    case 6: textWert = 'Perfekt';
      break;
  }
  if (document.getElementById('voteValue'+e) != null)
    document.getElementById('voteValue'+e).innerHTML = textWert;
  if (document.getElementById('voteCount'+e) != null && typeof(votecount) != 'undefined')
    document.getElementById('voteCount'+e).innerHTML = (votecount == 1) ? '(1 Stimme)' : '('+votecount + ' Stimmen)';
}

function openTab(host) {
  host.getElementsByTagName('div')[0].style.display='';
  document.getElementById('picInfo').style.display='none';
}
function closeTab(host) {
  host.getElementsByTagName('div')[0].style.display='none';
  document.getElementById('picInfo').style.display='';
}
function makeMail(Name) {
  var Wort = Name.split(' ');
  if (Wort.length > 1) {
    return '<a href="mailto:' + Wort[0].toLowerCase().substring(0,1) + '.' + Wort[1].toLowerCase() + '@heute.at">' + Wort[0].toLowerCase().substring(0,1) + '.' + Wort[1].toLowerCase() + '@heute.at</a>'; 
  } else {
    return '<a href="mailto:' + Wort[0].toLowerCase() + '@heute.at">' + Wort[0].toLowerCase() + '@heute.at</a>'; 
  }
}