
// on DOM ready

$(document).ready(function(){

	$('html').addClass('dom-loaded');

    $('body').css({ backgroundImage: 'url(' + config.basePath  + 'assets/images/layout/loading.gif)' });
    
    $('#day-map').slimbox();
    
    $('a[rel*=external],#content a[href^=http://]:not([href*=' + location.hostname + '])"').newWindow();
    
    /*
    if ($('body').hasClass('home')) {
    
        $('#photo-gallery ul li a').attr({ rel: 'photo-gallery' }).fancybox();
    }
    */
    
   if ($('body').hasClass('contact-us')) {
         $('#contact-form').validate({
	              rules: {
	                  'full-name': {
	                      required: true
	                  },
	                  email: {
	                      required: true,
	                      email: true
	                  },
	                  enquiry: {
	                      required: true
	                  }

	              },
	              errorPlacement: function(error, element) {
	                 element.parent().after(error);

	               }

	          });          

    };

       
});


// on window loaded



$(window).load(function(){  // window load

	$('html').addClass('window-loaded');
    
    $('body').css({ backgroundImage: 'none' });
    
	//google analytics

	try {

		var pageTracker = _gat._getTracker('UA-693909-51');

		pageTracker._trackPageview();

	} catch(err) {
	   //alert('analytics error');
	}

});

var pageScroll = (function() {
    var $page,
    	$next,
    	$prev,
    	canScroll = true,
    	textHeight,
    	scrollHeight;

    var init = function() {
        $page = $('#secondary-page');
        
        // reset text 
        $page.scrollTop(0);
        
        textHeight = $page.outerHeight();
        scrollHeight = $page.attr('scrollHeight');
        
        if (textHeight === scrollHeight) { // not enough text to scroll
            return false;    
        };

        
        $page.after('<div id="page-controls"><button id="page-prev">prev</button><button id="page-next">next</button></div>');
    	
    	$next = $('#page-next');
    	$prev = $('#page-prev');
    	
    	$prev.hide();
    	
    	$next.click(scrollDown);
    	
    	$prev.click(scrollUp);
    	
    };
    
    var scrollDown = function() {
    	
    	if ( ! canScroll) return;
    	
    	canScroll = false;
    	
        var scrollTop = $page.scrollTop();
    
        $prev.fadeIn(500);
        if (scrollTop == textHeight) { // can we scroll any lower?
            $next.fadeOut(500);
        }
        $page.animate({ scrollTop: '+=' + textHeight + 'px'}, 500, function() {
            canScroll = true;
        });    
    
    };
    
    var scrollUp = function() {
    	
    	
        $next.fadeIn(500);
      
        $prev.fadeOut(500);

        $page.animate({ scrollTop: 0}, 500);    
    
    };

    $(document).ready(init);
    

}());


var cycleImages = function() {
   var changeDuration = 3000;
   var fadeDuration = 500;
   var images = [];
   var currentImage = 0;
   var $gallery;
  // console.log(imagePaths)
   
  
   var init = function() {
      
      // Preload them
      $gallery = $('#gallery');
      $gallery.find('img').wrap('<div class="container" />');
      $gallery.after('<div id="safari" />');
      
      $gallery.append('<button id="view-all">View all images</button>');
      
      $gallery.click(function() {
      

	    $.getJSON( config.basePath + 'get-images/', function(images) {
	
	            
	        $.slimbox(images, 0);    
	    });
	



      
      });
      
      $gallery.find('a').each(function() {
      
        var imageObj = new Image;
        imageObj.src = $(this).attr('href'); 
        images.push(imageObj.src);
      });
      
      
      var imgSrc = images[0]; 
      
            
      setInterval(function() { fadeToNextImage(); }, changeDuration);            
       
   };
   
    
   var fadeToNextImage = function() {
   
   
        var imgSrc = images[currentImage];
		
   
        $('#gallery .container').css('backgroundImage', 'url(\'' + (imgSrc)  +'\')');		
    
    	$('#gallery img').show().fadeOut(fadeDuration, function() { $(this).attr({src: imgSrc}) });
        
        if (currentImage == images.length - 1) {
        	currentImage = 0;
        } else {
        	currentImage++; 
   		}
   
   }
   
   $(document).ready( function() {
       init();
   });
    
}();


// Open links in new window

 (function($){  
  $.fn.newWindow = function(options) {   
    var defaults = {
		titleText: 'Link opens in a new window'
	};	
	var options = $.extend(defaults, options);   
     return this.each(function() {  
	   var obj = $(this);
       if ( ! obj.is('a')) {
           return;
       };
	   if (options.titleText != '') {   
		   if (obj.attr('title')) {
				var newTitle = obj.attr('title') + ' (' + options.titleText + ')';
		   } else {
				var newTitle = options.titleText;   
		   };		   
		   obj.attr('title', newTitle);   
	   };
	   obj.click(function(event) {
	   	  event.preventDefault();  
		  var newBlankWindow = window.open(obj.attr('href'), '_blank');
		  newBlankWindow.focus();
		}); 
	   });
  };  
 })(jQuery); 
 
