

var moviesList = new Array();
var moviesSimpleList = new Array();
var moviesRequest = new Array();
var listtype;
var dvdlist = false;
var posFlow = false;
var showBreak = false;
var showMyBreak = false;



function openComment( ahref, bhref, id )
{
  softlayer_showURL(ahref);
  window.setTimeout(function(){
    checkComment(id,bhref);
  },10);
  return false;
}
function checkComment(id,bhref) {

  if($('myMovieData')) {
    showMy(id,bhref,'Movie');
  }else{
    window.setTimeout(function(){
      checkComment(id,bhref);
    },500);
  }
}

function changeVis( url, box, param ) 
{
      replaceContent(document.getElementById('changi'),url+'?box='+box+'&param='+param);
      return true;
}

function showMy( element, url, type )
{
  showBreak = false;
  if( showMyBreak == false ) {
    showMyBreak = true;
    $('my' + type + 'Data').innerHTML = '<div></div>';
    new Effect.Opacity('bender',
      { duration: 0.1, 
        transition: Effect.Transitions.linear, 
        from: 1.0, to: 0.6});
    window.setTimeout(function(){
      if( $('bender') ) {
        $('bender').style.display = '';
      }
      new Effect.SlideRight('my' + type);
      window.setTimeout(function(){
          document.getElementById('my' + type + 'Data').innerHTML = '<div style="z-index:999999999;position:absolute;left:120px;top:100px;height:100px;"></div>';
          replaceContent(document.getElementById('my' + type + 'Data'),url);
          showBreak = true;
      },100);
    },100);
  }
  return false;
}

function closeMy(type)
{
 /* if( $('blender') ) {
    $('blender').style.display = 'none';
  }*/
  if( showBreak == true ) {
    new Effect.Opacity('bender',
      { duration: 0.1, 
        transition: Effect.Transitions.linear, 
        from: 0.6, to: 1.0});
    document.getElementById('my' + type).style.display = 'none';
    showBreak = false;
    showMyBreak = false;
  }
  return false;
}

function saveMyComment( element, url ) 
{
  var text = document.getElementById('text'+element);
  var title = document.getElementById('title'+element);
  var rating = document.getElementById('rating'+element);
  var pub = document.getElementById('public'+element);
  if( document.getElementById('ratingBlock'+element) && rating.options[rating.selectedIndex].value > 0 ) {
    var ratdispl = document.getElementById('ratingBlock'+element);
    replaceContent(document.getElementById('ratingBlock'+element),'/actions/displayrating.html?rating='+rating.options[rating.selectedIndex].value);
  }
  if( document.getElementById('ratingNewBlock'+element) && rating.options[rating.selectedIndex].value > 0 ) {
    var ratnewdispl = document.getElementById('ratingNewBlock'+element);
    replaceContent(document.getElementById('ratingNewBlock'+element),'/actions/displayrating.html?rating='+rating.options[rating.selectedIndex].value);
  }
  var checked = 0;
  if( document.getElementById('public'+element) ) {
    if( pub.checked ) 
      checked = 1;
  }
  if( document.getElementById('img'+element) ) {
    var image = document.getElementById('img'+element);
    if( text.value.length > 0 ) {
      image.src = '/designs/default/images/head_comments.gif';
    } else {
      image.src = '/designs/default/images/head_comments_no.gif';
    }
  }
  if( document.getElementById('img2'+element) ) {
    var image2 = document.getElementById('img2'+element);
    if( text.value.length > 0 ) {
      image2.src = '/designs/default/images/head_comments.gif';
    } else {
      image2.src = '/designs/default/images/head_comments_no.gif';
    }
  }
  if( document.getElementById('priv'+element) ) {
    var privState = document.getElementById('priv'+element);
    if( checked == 0) {
      privState.innerHTML = 'privat';
    } else {
      privState.innerHTML = '';
    }
  }
  if( document.getElementById('privNew'+element) ) {
    var privState = document.getElementById('privNew'+element);
    if( checked == 0) {
      privState.innerHTML = 'privat';
    } else {
      privState.innerHTML = '';
    }
  }
	new Ajax.Request(
    url, 
    { method: 'post', postBody: 'movie=' + element + '&title=' + title.value + '&text=' + text.value + '&rating=' + rating.options[rating.selectedIndex].value + '&pub=' + checked}
  );
  closeMy('Movie');
  return false;
}

function saveMyPrice( element ) 
{
  var price = document.getElementById('price'+element);
  var newprice = document.getElementById('newprice'+element);
  var newprice2 = document.getElementById('newprice2'+element);
  if( price.value.length > 0 ) {
    newprice.innerHTML = price.value.replace( /\./, "," );
    newprice2.innerHTML = price.value.replace( /\./, "," );
  }
  replaceContent(document.getElementById('changi'),'/actions/myprice.html'+'?movie='+element+'&price='+price.value);
  //closeMy('Movie');
  return false;
}

function saveMyTags( element, cont ) 
{
  var tags = document.getElementById('tags'+element);
  replaceContent(document.getElementById('tags'),'/actions/mytags.html?movie=' + element + '&tags=' + tags.value);
  addDVDToContainer(cont + '?tag=' + tags.value);
  alarmi("<b>Hinweis:</b></br>Das Schlagwort wurde hinzugefügt");
  return false;
}

function deleteMyTags( url ) 
{
  replaceContent(document.getElementById('tags'),url);
  return false;
}

function setListPublic( element, url ) 
{
  var pub = document.getElementById('listpublic'+element);
  var checked = 0;
  if( pub.checked ) {
    checked = 1;
    alarmi("<b>Hinweis:</b><br/>Liste ist nun öffentlich.");
  } else {
    alarmi("<b>Hinweis:</b><br/>Liste ist privat.");
  }
  replaceContent(document.getElementById('cautioni'),url);
  return true;
}

function newMovieForToplist(url)
{	
  if ( name = prompt( 'Bitte Titel und Jahr des Films eingeben (z.B. "Goldfinger, 1964"). Anschließend werden die Angaben von der Redaktion geprüft und als neuer Film-Eintrag in unsere Datenbank aufgenommen.' ) )
  {
    url = url + "&movie=" + name;
    replaceContent(document.getElementById('newMovieCheck'),url);
    alert("Vielen Dank! Deine Film-Anfrage wird nun von der Redaktion geprüft.");
  }
  return false;
}

function newDVDForToplist(url)
{	
  if ( name = prompt( 'Bitte Titel und Jahr der DVD eingeben (z.B. "Goldfinger 2 DVD-Set, 1964"). Anschließend werden die Angaben von der Redaktion geprüft und als neuer DVD-Eintrag in unsere Datenbank aufgenommen. Die DVD wird deiner Liste automatisch hinzugefügt.' ) )
  {
    url = url + "&movie=" + name;
    replaceContent(document.getElementById('changi'),url);
    alert("Vielen Dank! Deine DVD-Anfrage wird nun von der Redaktion geprüft.");
  }
  return false;
}

function newTopList(url)
{
  containerIsSet = 0;
  var fieldsets = document.getElementById( 'toplistList' );
  var cnt = fieldsets.length;
  var maxLists = parseInt( document.getElementById( 'maxToplists' ).value );
  if ( cnt>=maxLists )
  {
    alert( 'Es können maximal '+maxLists+' Toplisten angelegt werden.' );
    return false;
  }

  if ( name = prompt( 'Namen für die neue Topliste eingeben (z.B. "Meine Lieblingsfilme").' ) )
  {
    url = url + "&new=" + name;
    replaceContent(document.getElementById('toplistManager'),url);
    alarmi("<b>Filme hinzufügen!</b><br/>Füge über die Suche Filme hinzu!<br/><div style='text-align:right;font-size:22px;'><b>&rarr;</b></div>",400);
  }
  return false;
}

function removeToplist(url)
{
  containerIsSet = 0;
  if ( confirm('Achtung: Durch löschen dieser Liste gehen auch alle Filmeinträge der Liste verlohren!') )
  {
    replaceContent(document.getElementById('toplistManager'),url);
  }
  return false;
}


function switchList( url, list )
{
  containerIsSet = 0;
  var oldlist = document.getElementById( 'listID' );
  var param = "&l="+oldlist+"&e="+list;
  inity = 0;
  moviesList.clear();
  moviesSimpleList.clear();
  replaceContent(document.getElementById('toplistManager'),url+param);
  return false;
}

function removeDVD(parentID,elem,movieID) {
  var d = document.getElementById(parentID);
  while( elem!=null && (elem.nodeName.toLowerCase()!='li' || elem.className!='e') && elem.parentNode!=null )
    elem = elem.parentNode;
  if ( elem==null || elem.parentNode==null ) {if( elemt==null) alert("Fehler"); return false; }
  d.removeChild(elem);
  moviesList[movieID] = false;
  reenumerateList(parentID);
  alarmi("<b>Hinweis</b><br/>Die DVD wurde entfernt");
  return false;
}

function removeElement(parentID,elem,movieID) {
  var d = document.getElementById(parentID);
  while( elem!=null && (elem.nodeName.toLowerCase()!='li' || elem.className!='e') && elem.parentNode!=null )
    elem = elem.parentNode;
  if ( elem==null || elem.parentNode==null ) {if( elemt==null) alert("Fehler"); return false; }
  d.removeChild(elem);
  moviesList[movieID] = false;
  reenumerateList(parentID);
  return false;
}

function setMovieList(element)
{
  containerIsSet = 0;
  var list = document.getElementById(element);
  while( list!=null && list.nodeName.toLowerCase()!='ul' && list.parentNode!=null )
    list = list.parentNode;
  if ( list==null ) return false;
  for ( var i=0; i<list.childNodes.length; i++ )
  {
    var li = list.childNodes[i];
    if ( li.className )
    {
      if ( li.className=='e' )
      {
        for( var nodi = li.firstChild; nodi!=null; nodi = nodi.nextSibling )
        {
          if ( nodi.nodeName.toLowerCase()=='#text' ) continue;
          switch ( nodi.className )
          {
            case 'data':
              for( var node = nodi.firstChild; node!=null; node = node.nextSibling )
              {
                if ( node.nodeName.toLowerCase()=='#text' ) continue;
                switch ( node.className )
                {
                  case 'ip':
                    moviesList[node.value] = true;
                   break;
                }
              }
              break;
          }
        }
      }
    }
  }
}

function reenumerateList(element)
{
  var list = document.getElementById(element);
  while( list!=null && list.nodeName.toLowerCase()!='ul' && list.parentNode!=null )
    list = list.parentNode;
  if ( list==null ) return false;
  var cnt = 0;
  var currentID = 0;
  var empty = null;
  for ( var i=0; i<list.childNodes.length; i++ )
  {
    var li = list.childNodes[i];
    if ( li.className )
    {
      if ( li.className.match( /empty/ ) )
        empty = li;
      if ( li.className=='e' )
      {
        cnt++;
        for( var nodi = li.firstChild; nodi!=null; nodi = nodi.nextSibling )
        {
          if ( nodi.nodeName.toLowerCase()=='#text' ) continue;
          switch ( nodi.className )
          {
            case 'data':
              for( var node = nodi.firstChild; node!=null; node = node.nextSibling )
              {
                if ( node.nodeName.toLowerCase()=='#text' ) continue;
                switch ( node.className )
                {
                  case 'num':
                    node.innerHTML = cnt+'.';
                    break;
                  case 'ip':
                    currentID = node.value;
                    moviesSimpleList[cnt] = currentID;
                    if ( node.name.match( /^(.+)\[\d*\]$/ ) ) node.name = RegExp.$1+'['+cnt+']';
                    break;
                }
              }
              break;
          }
        }
      }
    }
  }
  // Okay, we save the current state!
  moviesRequest.clear();
  for (var i = 1; i <= moviesSimpleList.length; i++) {
    moviesRequest.push(i+"-"+moviesSimpleList[i]);
  }
	new Ajax.Request(
    '/actions/movielist.html', 
    { method: 'post', postBody: 'movies=' + moviesRequest.inspect() + '&list=' + document.getElementById('listID').value}
  );
  if ( empty!=null )
  {
    empty.style.display = ( cnt!=0 ? 'none' : '' );
  }
  //var pub = document.getElementById('listpublic'+document.getElementById('listID').value);
  //pub.checked = false;
  var cautioni = document.getElementById('cautioni');
  cautioni.innerHTML = "<div style=\"padding:5px;\"><b>Hinweis:</b> Alle Änderungen sind sofort wirksam.</div>";
}



function renameToplist( elem )
{
  containerIsSet = 0;
  var legend = elem;
  while( elem!=null && elem.nodeName.toLowerCase()!='fieldset' && elem.parentNode!=null )
    elem = elem.parentNode;

  if ( elem==null ) return;
  var name = prompt( 'Bitte neuen Namen der Topliste eingeben.' );
  if ( !name ) return;

  legend.innerHTML = name;
  var inps = elem.getElementsByTagName( 'input' );
  for ( var i=0; i<inps.length; i++ )
  {
    if ( inps[i].className && inps[i].className == 'it' )
    {
      inps[i].value = name;
      break;
    }
  }
}


var openmenu = 0;

  function getMenu(element)
  {
    if( openmenu != element && openmenu != 0) {
      closeMenu(openmenu);
    }
     $('edit'+element).style.display = '';
     openmenu = element;
    return false;
  }
  function closeMenu(element)
  {
    $('edit'+element).style.display = 'none';
    return false;
  }
  function openTagsMenu()
  {
    var obj = document.getElementById( 'tags' );
    obj.style.display='';
    var options = { distance: 5, angle: 150, opacity: 0.7, nestedShadows: 10, color: '#000000'};
    Shadower.shadow('tags', options, true); 
    return false;
  }
  function closeTagsMenu()
  {
    var obj = document.getElementById( 'tags' );
    obj.style.display='none';
    $$('.' + 'shadtags').each(function(value, index){
      value.style.display = 'none';
    });
    return false;
  }
  function openGenreMenu()
  {
    var obj = document.getElementById( 'genre' );
    obj.style.display='';
    var options = { distance: 5, angle: 150, opacity: 0.7, nestedShadows: 10, color: '#000000'};
    Shadower.shadow('genre', options, true); 
    return false;
  }
  function closeGenreMenu()
  {
    var obj = document.getElementById( 'genre' );
    obj.style.display='none';
    $$('.' + 'shadgenre').each(function(value, index){
      value.style.display = 'none';
    });
    return false;
  }
  function delDVD(href) 
  {
    check = confirm("Möchtest Du diese DVD wirklich entfernen? Solltest Du die DVD kommentiert haben, wird Dein Kommentar nicht gelöscht!");
    if (check == true) 
      addDVDToContainer(href);
    return false;
  }
  function addDVD(href,tab) 
  {
    check = confirm("Wollen Sie diese DVD in Ihre Sammlung aufnehmen?");
    if (check == true) 
      addDVDToContainer(href,tab);
    return false;
  }
  
  
  function delAbo(href){
    check = confirm('Wirklich entfernen?');
    if (check == true) 
      replaceContent(document.getElementById('moviesList'),href);
    return false;
  }