/*
 * jQuery One Page Nav Plugin
 * http://github.com/davist11/jQuery-One-Page-Nav
 *
 * Copyright (c) 2010 Trevor Davis (http://trevordavis.net)
 * Dual licensed under the MIT and GPL licenses.
 * Uses the same license as jQuery, see:
 * http://jquery.org/license
 *
 * @version 0.4
 *
 * Example usage:
 * $('#nav').onePageNav({
 *   currentClass: 'current',
 *   changeHash: false,
 *   scrollSpeed: 750
 * });
 */
;(function($) {
  $.fn.onePageNav = function(options) {
    var opts = $.extend({}, $.fn.onePageNav.defaults, options),
        onePageNav = {};
    
    onePageNav.sections = {};
    
    onePageNav.bindNav = function($el, $this, curClass, changeHash, scrollSpeed) {
      var $par = $el.parent(),
          newLoc = $el.attr('href'),
          $doc = $(window);

      if(!$par.hasClass(curClass)) {
        onePageNav.adjustNav($this, $par, curClass);
        $doc.unbind('.onePageNav');
        $.scrollTo(newLoc, scrollSpeed, {
          onAfter: function() {
            if(changeHash) {
              window.location.hash = newLoc;
            }
			if (ipaddevice == true) {
				$('#navbar').css('top', $(window).scrollTop());
			}
            //alert($this.attr('class'));
            //positionMenu($this, $el.hasClass('page-item-5'));
            $doc.bind('scroll.onePageNav', function() {
              onePageNav.scrollChange($this, curClass);
            });
          }
        });
      }
    };
    
    onePageNav.adjustNav = function($this, $el, curClass) {
      $this.find('.'+curClass).removeClass(curClass);
      $el.addClass(curClass);
      var sid = $('a', $el).not('.notme').attr('href');
      $('.section').removeClass(curClass);
      $(sid).addClass(curClass);
      activateAktNav($el.hasClass('page-item-11'));
      /*positionMenu($this, $el.hasClass('page-item-5'));*/
    };
    	

		
    function activateAktNav(gotit) {
    	checkNav();

    	var aktNav = $('#aktuellt-nav');
		if (gotit == true) {
			if (aktNav.hasClass('on') != true) {
				aktNav.fadeIn(250);
				aktNav.addClass('on');
			}
		} else {
			if (aktNav.hasClass('on') == true) {
				aktNav.removeClass('on');
				aktNav.fadeOut(250);
			}
		}
    }
    
    onePageNav.getPositions = function($this) {
      $this.find('a').not('.notme').each(function() {
        var linkHref = $(this).attr('href');
        var divPos = $(linkHref).offset();
        var topPos = divPos.top;
        onePageNav.sections[linkHref.substr(1)] = Math.round(topPos);
      });
    };
    
    onePageNav.getSection = function(windowPos) {
      var returnValue = '',
          windowHeight = Math.round($(window).height() / 2);
      
      for(var section in onePageNav.sections) {

        if((onePageNav.sections[section] - windowHeight) < windowPos) {

          returnValue = section;
        }
      }
      return returnValue;
    };
    
    onePageNav.scrollChange = function($this, curClass) {
      onePageNav.getPositions($this);
      
      var windowTop = $(window).scrollTop(),
          position = onePageNav.getSection(windowTop);
     
      if(position !== '') {
        onePageNav.adjustNav($this,$this.find('a[href=#'+position+']').parent(), curClass);
      }
      	
      if (ipaddevice == true) {
      	$('#navbar').css('top', windowTop);
      }
    };
    
    function positionMenu($this, gotit) {
    	$this = $this.parent().parent();
    	if ((gotit == true) && ($this.parent().css('top') != '0px')) {
    		$this.stop().animate({ top: 0 }, 250);
    	} else if ((gotit == false) && ($this.css('top') == '0px')) {
    		$this.stop().animate({ top: $(window).height()-$this.height() }, 250);
    	}
    }
    
    $('#aktuellt-nav .next').click(function() {
		$('div#aktuellt-scroll').scrollTo('+=320px', {duration:250, onAfter:function(){ checkNav(); }});
	});
	
	$('#aktuellt-nav .prev').click(function() {
		$('div#aktuellt-scroll').scrollTo('-=320px', {duration:250, onAfter:function(){ checkNav(); }});
	});
		
	function checkNav() {
		if ($('div#aktuellt-scroll').scrollLeft() > 0) {
			$('#aktuellt-nav .prev').fadeIn(250);
		} else {
			$('#aktuellt-nav .prev').fadeOut(250);
		}
		if ($('div#aktuellt-scroll').scrollLeft() == ($('div#aktuellt-scroll').width()/3)) {
			$('#aktuellt-nav .next').fadeOut(250);
		} else {
			$('#aktuellt-nav .next').fadeIn(250);
		}
	}
    
    onePageNav.init = function($this, o) {
      $this.find('a').not('.notme').bind('click', function(e) {
      	if (ipaddevice == true) {
      	o.scrollSpeed = 0;
      }
        onePageNav.bindNav($(this), $this, o.currentClass, o.changeHash, o.scrollSpeed);

        e.preventDefault();
        
      });
    
      onePageNav.getPositions($this);
       $('<li><a class="notme" href="http://79.136.125.109/online/index.php?c=Q29sb3JfOTk3NTUwMDEzMTIzNDU2Nzg5" target="_blank">Boka</a></li>').insertAfter('li.page-item-165');

      var didScroll = false;
    
      $(window).bind('scroll.onePageNav', function() {
        didScroll = true;
      });
      
      setInterval(function() {
        if(didScroll) {
          didScroll = false;
          onePageNav.scrollChange($this, o.currentClass);
        }
      }, 250);
    };
    
    return this.each(function() {
      var $this = $(this),
          o = $.meta ? $.extend({}, opts, $this.data()) : opts;
      
      onePageNav.init($this, o);
    
    });
  };

  // default options
  $.fn.onePageNav.defaults = {
    currentClass: 'current',
    changeHash: false,
    scrollSpeed: 750
  };

})(jQuery);

