var slideshow = {
  init: function(){
      $('.slideHolder').cycle({
        fx: 'scrollHorz',
        speed: 500,
        timeout: 5000,
        next: $('.slidenext'),
        prev: $('.slideprevious')
      });
  }
}

var quickscan = {
    init: function(){
      var currentPosition = 0;
      var numberOfSlides = $('.quickscan-slides .quickscan-slide').length;
      var prevButtonClass = $('.quickscan-prevbutton');
      var nextButtonClass = $('.quickscan-nextbutton');
      var nextButton = $('#quickscan-next')
      var prevButton = $('#quickscan-prev');
      var scoreButton = $('#quickscan-score');
      var totalScore = $('#quickscan-total-score');
      var infoBox = $('.quickscan-control .info');
      var score = 0;

      infoBox.html((numberOfSlides-2) + ' vragen totaal');
      nextButton.hide();
      prevButton.hide();
      scoreButton.hide();
      
      $('.quickscan input:radio').bind('click', function(){
        if (currentPosition != numberOfSlides-2){
          nextButton.show();
        }
        else {
          $('input:radio:checked').each(function(el){
                if(this){
                  var input = this;
                  score = (score + parseInt($(input).val()));
                }
              });
          
          $('.quickscan-outcome').each(function(el)
          {
            outcome_score = this.id.split('-');
            if (score >= parseInt(outcome_score[2]) && score <= parseInt(outcome_score[3]))
            {
              $('#quickscan-outcome-' + outcome_score[2] + '-' + outcome_score[3]).show();
            }
          });
          
          totalScore.html(score);
          $('#quickscan-hidden-score').val(score);
          scoreButton.show();
        }
      });
      
      nextButtonClass.bind('click', function(){
        currentPosition = currentPosition+1;

        infoBox.html('vraag ' + currentPosition + ' van ' + (numberOfSlides-2));
        if ($('input[name=slide_' + (currentPosition).toString() + ']:checked').length > 0){
          nextButton.show();
        }
        else {
          nextButton.hide();
        }
        if (currentPosition == numberOfSlides-1){
          infoBox.html('Uitslag');
          scoreButton.hide();
        }
        if (currentPosition > 0){
          prevButton.show();
        }
      });
      
      prevButtonClass.bind('click', function(){
        currentPosition = currentPosition-1;
        if (currentPosition < 1){
          prevButton.hide();
        }
        if ($('input[name=slide_' + (currentPosition).toString() + ']:checked').length > 0){
          nextButton.show();
        }
        else {
          nextButton.hide();
        }
        if (currentPosition == 0){
          infoBox.html((numberOfSlides-2) + ' vragen totaal');
          nextButton.hide();
          prevButton.hide();
          scoreButton.hide();
        }
        else {
          infoBox.html('vraag ' + currentPosition + ' van ' + (numberOfSlides-2));
        }
      });
      
        $('.quickscan-slides').cycle({
          fx: 'scrollHorz',
          speed: 300,
          timeout: 0,
          nowrap: numberOfSlides,
          after: 0,
          next: nextButtonClass,
          prev: prevButtonClass
        });
    }
  }

var login = {
  init: function(){
    $('.login').click(function(){
      $('#loginBox').hide();
      $('#loginDropdown').show();
    });
    $('.down').click(function(){
      $('#loginDropdown').hide();
      $('#loginBox').show();
    });
  }
}

var toggler = {
  classnames: new Array('collapse', 'expand'),
  init: function(){
    $('.toggleContent').hide();
    $('.archive-selected').parent().show().prev('a').removeClass('expand').addClass('collapse');
    $('.toggleBox').each(function(el){
      var toggleBox = this;
      $(this).find('a.toggle').each(function(){
        this.counter = ($(this).hasClass('collapse')?0:1);
        $(this).click(function(e){
          $(this).removeClass(toggler.classnames[this.counter++ % 2]).addClass(toggler.classnames[this.counter % 2]);
          $(toggleBox).find('.toggleContent').toggle();
          return false;
        });
      });
    });
  }
}

var externalCheck = {
  init: function(){
    $('a').each(function(){
      if ($(this).attr('rel').indexOf('external') > -1){
        $(this).attr('target', '_blank');
      }
    });  
  }
}

var rating = {
  init: function(){
    $(".radio_star").rating({
       callback: function(value, link){
         $.ajax({
           type: "POST",
           url: '/async/rate/' + $("input#model").val() + '/' + $("input#item_id").val() + '/' + value,
           dataType: "text"
        });
       }
     });
  }
}

var tabs = {
	init: function(){
		$('.blogtab').hide();
		$('a.newsmessages').click(function(){
			$(this).addClass('active');
			$('.blogmessages').removeClass('active');
			$('.blogtab').hide();
			$('.newstab').show();
		});
		$('a.blogmessages').click(function(){
			$(this).addClass('active');
			$('.newsmessages').removeClass('active');
			$('.newstab').hide();
			$('.blogtab').show();
		});
	}
}

var clearInput = {
		init: function(){
			$('#header_union_number, #header_password, #header_q').focus(function() {
				var inputVal = $(this).val();
				if(inputVal == 'Lidmaatschapsnummer' || inputVal == 'Zoekopdracht' || inputVal == 'Wachtwoord'){
					$(this).val('');
				}
			}).blur(function(){
		    	if ($(this).val() == ''){
		    		$(this).val($(this)[0].defaultValue);
			    }
			});
			
			$('form').submit(function() {
				var inputField = $(this).find('#header_union_number, #header_password, #header_q').each(function(){
					var inputVal = $(this).val();
					if(inputVal == 'Lidmaatschapsnummer' || inputVal == 'Zoekopdracht'|| inputVal == 'Wachtwoord'){
						$(this).val('');
					}
				});
			});
		}
	}

$(document).ready(function(){
  login.init();
  clearInput.init();
  slideshow.init();
  quickscan.init();
  toggler.init();
  externalCheck.init();
  rating.init();
  tabs.init();
});