$(document).ready(function(){

  $('#zoek-trefwoord').hide();

  $('#zoek-talen .toggle').bind('click', function(e) {
    e.preventDefault();
    $('#zoek-talen').hide();
    $('#zoek-trefwoord').show();
  });
  $('#zoek-trefwoord .toggle').bind('click', function(e) {
    e.preventDefault();
    $('#zoek-trefwoord').hide();
    $('#zoek-talen').show();
  });
  // snelle wissel .. deze regel uitzetten als zoeken op trefwoord weer eerst moet zijn
  //$('#zoek-trefwoord .toggle').click();

  loc = $(document).attr('location');
  //console.log('taal match', loc.pathname.indexOf('taal'), loc);
  //console.log('trefwoord match', loc.pathname.indexOf('trefwoord'), loc);

  /*
  if(loc.pathname.indexOf('taal')>-1) {
    //console.log('taal match', loc.pathname.indexOf('taal'), loc);
    $('#zoek-trefwoord .toggle').click();
  }
  */
  if(loc.pathname.indexOf('trefwoord')>-1) {
    //console.log('abc trefwoord match', loc.pathname.indexOf('trefwoord'), loc);
    $('#zoek-talen .toggle').click();
  }

  // verstop het mailformulier voor de toggle
  $('#mailform').hide();
  $('#mailform-toggle').toggle(
    function(e) {
      e.preventDefault();
      $('#mailform').slideDown('slow');
      $('#mailform-toggle a').text('Contactformulier sluiten');
    },
    function(e) {
      e.preventDefault();
      $('#mailform').slideUp('slow');
      $('#mailform-toggle a').text('Neem contact op met deze vertaler');
    }
  );

  // formulieren voor nieuwe items verbergen en link toevoegen om het formulier weer te geven
  $('form[id$=_new]').each(function() {
    $(this).css({'border': 'none'});
    //console.log($(this), $(this).closest('fieldset').find('legend').text());
    $(this).append('<p class="addbutton"><a href="#">'+$(this).closest('fieldset').find('legend').text()+' toevoegen</a></p>').find('.formrow').hide();
  });
  $('form[id$=_new] p a').bind('click', function(e) {
    e.preventDefault();
    //console.log(e, $(this),  $(this).closest('form'));
    $(this).closest('form').children('.formrow').slideDown('slow');
    $(this).closest('p').slideUp('slow');
  });
  
  // ajax formulieren
  $('form.ajaxform').each(function() {
    $(this).css({'border-left': '2px dotted #eee', 'padding-left': '5px'});
  });
  

  /*
  $('.formrow select').bind('change', function() {
    $(this).parents('.formrow').find('input.hidden').show();
  });
  $('.formrow input:not([type=submit]), .formrow textarea').bind('focus change', function() {
    $(this).parents('form').find('input.hidden').show();
  });
  */
  $('.formrow input[type=file]').bind('focus, change', function() {
    $(this).parents('.formrow').find('input').after('<input type="submit" class="submitbutton bestandbewaren" name="save" value="Bestand bewaren" />');
  });
  
  /**
   * autosave blok is nu uitgezet
   *
  // verberg savebuttons
  $('.formrow input.hidden').hide();
  
  $('form:not(.languageform, .addform) input[type=submit].bewaren').each(function() {
    //console.log($(this).parents('form'));
    var form = $(this).parents('form');
    //console.log('initialize form', form, form.attr('id'), form.attr('action'));
    form.autosave({
      //url : function(e,o,callback) {} <-- If not defined, uses standard AJAX call on the form.
      url : 'edit?ajaxcall=ajaxcall',
      // Timer durations
      interval: 10000,
      monitor:   1000,
      // Callbacks
      setup:     function(e,o) {
        //console.log(e, o, "Setting up autosaver...");
      },
      record:   function(e,o) {
        //console.log(e, o, "Recording form's state for the autosaver...");
        $(this).find('input.bewaren').attr('value', 'bewaren').hide();
      },
      save:     function(e,o) {
        //console.log(e, o, "Autosaver is now saving...");
        $(this).find('input.bewaren').attr('value', 'bewaren').hide();
      },
      shutdown:   function(e,o) {
        //console.log(e, o, "Shutting down autosaver...");
      },
      dirty:     function(e,o) {
        //console.log(e, o, "Autosaver detected a dirty form...");
        $(this).find('input.bewaren').attr('value', 'wordt bewaard').show();
      }
    });
  });
  */


  // update sorteren
  $(".sortable fieldset").sortable({
    placeholder: 'empty-drop',
    axis: 'y',
    cursor: 'move',
    opacity: 0.4,
    scroll: true,
    update: function(event, ui) {
      var currentform = ui.item.attr('id');
      //console.log(event, ui, ui.item.attr('id'), $("#"+currentform).prev(), $("#"+currentform).next());
      var currentitem = ui.item.context.item_id.value;
      var form_url = ui.item.context.action;
      var __formo = ui.item.context.__formo.value;
      var group_id = ui.item.context.group_id.value;
      var translator_id = ui.item.context.translator_id.value;
      var beforeitem = $("#"+currentform).prev();
      var before_item_id = 'none';
      if (beforeitem.is('form')) {
        before_item_id = beforeitem.find('[name=item_id]').attr('value');
      }
      var afteritem = $("#"+currentform).next();
      var after_item_id = 'none';
      if (afteritem.is('form')) {
        after_item_id = afteritem.find('[name=item_id]').attr('value');
      }
      $.post(
          form_url,
          {"__formo": __formo,
            "group_id": group_id,
            "translator_id": translator_id,
            "item_id": currentitem,
            "before_item_id": before_item_id,
            "after_item_id": after_item_id,
            "weight": "update"},
          function(data) {
            //console.log(data);
            if($('.profile .message').is('*')) {
              $('.profile').prepend('<div class="message"><p class="info">'+data+'</p></div>');
            } else {
              $('.profile').prepend('<div class="message"><p class="info">'+data+'</p></div>');
              //$('.profile .message:first').html('<p>'+data+'</p>');
            }
          }
        );
    }
  });
  $(".sortable fieldset form").prepend('<span class="handler" title="Versleep dit icoontje om de blokjes te sorteren">&nbsp;</span>');
  $(".sortable fieldset").sortable('option', 'handle', 'span.handler');
  //$(".sortable fieldset").disableSelection();

  // externe links & pdf in nieuw venster openen
  $(".tekstblok a[href]")
    .not('.externallink')
    .not('.documentlink')
    .each(function() {
      var linklocation = $(this).attr('href');
      //console.log(linklocation);
      if(linklocation.match('(http\:\/\/|https\:\/\/)') && linklocation.indexOf(location.hostname) == -1) {
        // externe links
        $(this)
          .addClass('externallink')
          .append('<span class="externallinkicon" title="deze link opent in een nieuw venster.">[+]</span>');
        //console.log('external');
        $(this).bind('click', function(e) {
          e.preventDefault();
          window.open($(this).attr('href'));
        });
      } else
        // interne document links
        if (linklocation.match('\.(pdf|doc(x|m)?|ppt(x|m)?|pps|sld(x|m)|xls(x|m|b)?|zip|rar|exe|txt|od(t|s|p))$')) {
          $(this)
            .addClass('documentlink')
            .append('<span class="externallinkicon" title="dit document opent in een nieuw venster.">[+]</span>');
          //console.log('document');
        $(this).bind('click', function(e) {
          e.preventDefault();
          window.open($(this).attr('href'));
        });
      }
    });
    
    /*
    // automagisch datum popupje
    $('.dateinput').datepicker({
      showOn: 'both',
      buttonImage: '../images/calendar.png',
      buttonImageOnly: true,
      changeMonth: true,
      changeYear: true,
      minDate: new Date(1910, 1 - 1, 1),
      maxDate: '+1Y',
      dateFormat: 'yy-mm-dd',
      gotoCurrent: true,
      yearRange: '-100:+20',
      firstDay: 1,
      monthNames: ['Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December'],
      monthNamesShort: ['Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December'],
      //monthNamesShort: ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],
      dayNames: ['Zondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag'],
      dayNamesMin: ['Zo', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za'],
      navigationAsDateFormat: true
    });
    */
});
