
  function count(){
    var counter={ 
      tag: 'Die_60_besten_taz-Titelseiten_aus_30_Jahren',
      ivw: { el: $('#counter #ivwcounter'), base: 'http://taz.ivwbox.de/cgi-bin/ivw/CP/' },
      taz: { el: $('#counter #tazcounter'), base: '/digitaz/cntres/', suffix: '.taz/countergif' }
      };
    var r = ""+Math.random();
    var random = r.substr( r.length-10, 10 );
    counter.ivw.el.attr({ src: counter.ivw.base + counter.tag +'?r='+ escape(document.referrer) +'&d='+ random });  
    counter.taz.el.attr({ src: counter.taz.base + counter.tag +'/ecnt/'+ random + counter.taz.suffix });
    }


$(document).ready(function() {

  var ol=$('#taz-titel-container');
  var date_el=$('.date',ol);
  var toolbox_ul=$('.toolbox ul',ol);
  var title_el=$('.title',ol);
  var text_el=$('.artikeltext',ol);
  var pic_el=$('#titelseite',ol);
  var index_el=$('#index',ol);
  var thumb_tpl=$('.content>.thumb',ol);
  var thumb2_tpl=$('.content>.thumb2',ol);
  var form_el=$('.formular',ol);
  
  var iconbase = '/fileadmin/static/icons/';
  var icon = {
    blank:     'blank_icon.gif',
    index:     'index_icon.gif',
    slides:    'slideshow_icon.gif',
    basket:    'basket_icon.gif',
    seperator: 'seperator.gif',
    first:     'first_icon.gif',
    prev:      'prev1_icon.gif',
    likeit:    'bookmark_icon.gif',
    next:      'next1_icon.gif',
    last:      'last_icon.gif',
    close:     'close_icon.gif'
    }
  var button = {
    blank:     {},
    index:     { hint: { de: 'Ãœbersicht' },      click: function(){  index();  } },
    slides:    { hint: { de: 'einzeln' },  click: function(){  load();  } },
    basket:    { hint: { de: 'abstimmen' },     click: function(){  basket();  } },
    seperator: {},
    first:     { hint: { de: 'erster' },  click: function(){  show(0);  } },
    prev:      { hint: { de: 'zurÃ¼ck' }, click: function(){  page==0 ? index( true ) : shift( -1 );  } },
    likeit:    { hint: { de: 'vormerken' }, unhint: { de: 'entfernen' },
                 click: function(){  
                   catalog.list[page].selected=!catalog.list[page].selected;
		   preselection+= catalog.list[page].selected ? 1 : -1;
		   button['basket'].active=preselection>0; //button['likeit'].active=!catalog.list[page].selected;
		   button['likeit'].undo=catalog.list[page].selected;
		   buttons(); $('.bookmark',pic_el).toggle(); pic_el.attr({ title: button.likeit[ catalog.list[page].selected ?'unhint' : 'hint' ].de });
		   } 
	       },
    next:      { hint: { de: 'weiter' }, click: function(){  page==catalog.list.length-1 ? index() : shift( 1 );  } },
    last:      { hint: { de: 'letzter' }, click: function(){  show(catalog.list.length-1);  } },
    close:     { hint: { de: 'schlieÃŸen' }, click: function(){  ol.hide(); document.title = oldtitle;  } },
    input:     { focus: function(){  $( this ).val('').css({ color:'black' });  } },
    send:      { click: function(){
                   var email=$('input.email',form_el).val();
		   var name=$('input.name',form_el).val();
		   var vote='';
		   var chosen=$.grep( catalog.list, function( pic, i ){ return pic.selected && pic.chosen; } );
		   if( chosen.length <1 || chosen.length >3 ){ alert('Bitte wÃhlen Sie aus Ihrer Vorauswahl bis zu drei Top-Favoriten aus!'); return false; } 
		   if(  name.length<1 || name  == "Name"  ){ alert('Bitte geben Sie Ihren Namen an!'); return false; }
		   if( email.length<7 || email == "eMail" ){ alert('Bitte geben Sie Ihre eMail-Adresse an!'); return false; } 
		   $.each( chosen, function( i, pic ){  vote+=pic.date.de +',';  });
		   $.get( '/titlevote.php', { email:email, name:name, vote:vote }, function(msg){ 
                     alert( msg );
		     document.location='/';
		     }, 'text' );
		   return false;
		   } 
	       }
    } 
  $.each( button, function( i, b ){  b.icon = icon[i]  } ); //each( button )
  var shownbuttons;
  function buttons( shown, active ) {
    if( shown ) shownbuttons=shown;
    if( active ) {
      $.each( button, function( i, b ){  b.active=false;  } );
      $.each( active, function( i, name ){  if(button[name]) button[name].active=true;  } );
      }
    toolbox_ul.empty();
    $.each( shownbuttons,  function( i, name ){  if(!button[name]) return true; // skip empty
      var el = $('<li style="display:block; float:left; width:102px;"> <a style="'+ (button[name].active?'cursor:pointer;':'color:#aaaaaa;') +'" title="'+ (button[name].hint?(button[name].undo?button[name].unhint.de:button[name].hint.de):'') +'"><img src="/fileadmin/static/icons/' + (button[name].active?'':'gray/') + button[name].icon +'" />&nbsp;<span style="vertical-align:top;">'+ (button[name].hint?(button[name].undo?button[name].unhint.de:button[name].hint.de):'') +'</span></a> </li>')
      if( button[name].active ) el.click( button[name].click );
      el.appendTo(toolbox_ul);
      } );
    }


  var oldtitle;
  var catalog;
  var preselection = 0;
  
  var page=-1, slideshow=false;
  
  function index( inline ) {  if( !catalog.list ) return;
    count();
    var x=6;
    var y=10;
    slideshow=false;
    pic_el.hide(); index_el.show(); form_el.hide();
    date_el.html( '&nbsp;' );
    buttons( [ page>0 ?'prev' :'blank', 'next', 'slides', 'blank' ] ,
             [         'prev',          'next', 'slides'          ] );
    title_el.text( catalog.title );
    text_el.html(  catalog.text );
    index_el.empty();
    $.each( catalog.list, function( i, pic ){
      var thumb = thumb_tpl.clone(true).show().appendTo(index_el);
      if( i%x == x-1 ) $('.shadow',thumb).css({ width:'121px' });
      if( i >= x*y-x ) $('.shadow',thumb).css({ height:'177px' });
      $('img.titel',thumb)
        .attr({ src: catalog.base+pic.thumb })
        .click( function(){ show(i); } )
	.attr({ title:pic.date.de })
        ;
      if( pic.selected ) $('.bookmark',thumb).show(); else $('.bookmark',thumb).hide();
      } ); //each( catalog.list )
    }
    
  function load()  {  if( !catalog.list ) return;
    count();
    slideshow=true; 
    scroll(0,0); 
    if( page<0 ) page=0;
    index_el.hide(); form_el.hide();
    var pic = pic_el.clone(true); pic_el.remove(); pic_el=pic;
    pic.css({ background:'url('+catalog.base+catalog.list[page].file+') no-repeat' })
      .click( button.likeit.click ).attr({ title:button.likeit.hint.de })
      .show();
    if( catalog.list[page].selected ) $('.bookmark',pic).show(); else $('.bookmark',pic).hide();
    date_el.html(  catalog.list[page].date.de );
    button['likeit'].undo=catalog.list[page].selected;
    buttons( [ 'prev', 'next', 'index' ] ,
             [ 'prev', 'next', 'index' ] );
    title_el.text( catalog.list[page].title );
    text_el.html(  catalog.list[page].text );
    $('.content',ol).append( pic );
    }
    
  function shift( n ) {  if( !catalog.list ) return;
    page = ( page + n ) % catalog.list.length;
    page = page<0 ? page+catalog.list.length : page;
    load();
    }
  function show( n ) { if( !catalog.list ) return;
    page = n % catalog.list.length;
    page = page<0 ? page+catalog.list.length : page;
    load();
    }
    
  var chosen=0;
  function basket( inline ) {  if( !catalog.list ) return;
    count();
    if( preselection<=0 ) { alert('Bitte merken Sie zunÃ¤chst einige Bilder vor!'); page=-1; index(); return; }
    slideshow=true;  
    pic_el.hide(); index_el.show(); 
    if($('.artikeltext',form_el).length<1) form_el.append( '<p class="artikeltext">'+ catalog.basket.foot +'</p>' );
    form_el.show();
    date_el.html( '&nbsp;' );
    buttons( [ 'prev', page+1<catalog.list.length ?'next' :'blank', 'index', 'blank', 'slides' ] ,
             [ 'prev',                             'next',          'index',          'slides' ] );
    title_el.text( catalog.basket.title );
    text_el.html(  catalog.basket.text );
    index_el.empty();
    var selected = $.grep( catalog.list, function( pic, i ){ return pic.selected; } );
    $.each( selected, function( i, pic ){
      var thumb = thumb2_tpl.clone().show().appendTo(index_el);
      function mark( th ){ th.css({ background: pic.chosen ? 'url(/fileadmin/static/images/chosen.gif)' : 'none' }); }
      mark( thumb );
      $('img',thumb)
        .attr({ src: catalog.base+pic.thumb })
        .click( function(){
          pic.chosen ? chosen-- : chosen++;
          if( chosen>catalog.config.maxChoice ) {
            alert( catalog.config.warnMaxChoice );
            chosen=catalog.config.maxChoice;
            } else {
            pic.chosen = !pic.chosen;  
            mark( $(this).parent() );
	    $(this).attr({ title: pic.chosen ?'abwÃ¤hlen' :'auswÃ¤hlen' });
            }
          } )
        ;
      } ); //each( selected )
    }; //basket(){}
 
  $.getJSON( '/fileadmin/static/images/taz-titel/catalog.json', function(json){
    catalog = json;
    index(true);
    oldtitle = document.title; document.title = catalog.title;
    } );

  $('.index',ol).css({ cursor:"pointer" }).click( button.index.click );
  $('.slides',ol).css({ cursor:"pointer" }).click( button.slides.click );
  $('.first',ol).css({ cursor:"pointer" }).click( button.first.click );
  $('.prev',ol).css({ cursor:"pointer" }).click( button.prev.click );
  $('.select',ol).css({ cursor:"pointer" }).click( button.likeit.click );
  $('.next',ol).css({ cursor:"pointer" }).click( button.next.click );
  $('.last',ol).css({ cursor:"pointer" }).click( button.last.click );
  $('.basket',ol).css({ cursor:"pointer" }).click( button.basket.click );
  $('.formelement>input',form_el).focus( button.input.focus );
  $('.sendbutton',form_el).css({ cursor:"pointer" }).click( button.send.click );
  

//  ol.find('img.close').click( button.close.click );


  
  });

