function loadGallery(pathStr,slide,is_portfolio){
	
	var tempSlide = slide,
		port = is_portfolio;
	
	$.post(template_dir+'/buildgallery.php?reswidth='+$(window).width()+'&resheight='+$(window).height()+'&url='+pathStr, function(data) {
			log('loading new gallery..',pathStr);
		var wp = $('#wallpaper'),
			slide = (tempSlide) ? tempSlide : 1;		
		
		wp.html(data);
		
		var mouseNav = $('#mousenav');

			wp.superbgimage({
				reload:true,
				z_index:-50,
				inlineMode:1,
				onMouseenter: function(){
					if(port && !jQuery.browser.mobile){
						$('#mousenav').show();
					}
					//$('body').css('cursor','none');
				},
				onMousemove: function(e,curr,total){
					if(port && !jQuery.browser.mobile){
						var mouseX = e.pageX,
							mouseY = e.pageY,
							windowW = $(window).width();
						
						mouseNav.css({
							left: mouseX,
							top: mouseY + 15
						});
						
						
						if($.superbg_imgIndex > 1){
						if(mouseX > windowW / 2){
							var next = mouseNav.children('.next');
							if(next.is(':hidden')){
								next.show();
								mouseNav.children('.prev').hide();
							}
						}else{
							var prev = mouseNav.children('.prev');
							if(prev.is(':hidden')){
								prev.show();
								mouseNav.children('.next').hide();
							}
						}
						}else{
							mouseNav.children('.prev').hide();
							mouseNav.children('.next').hide();
						}
					}
				},
				onMouseleave: function(a){
					if(port && !jQuery.browser.mobile){
						$('#mousenav').hide();
					}
					//$('body').css('cursor','default');
				},
				onClick: function(e,curr,total){
					if(port && $.superbg_imgIndex > 1){
						var mouseX = e.pageX,
							mouseY = e.pageY,
							windowW = $(window).width();
						
						if(mouseX > windowW / 2){
							$('#wallpaper').nextSlide();
						}else{
							$('#wallpaper').prevSlide();
						}
						$('.current-slide').html($.superbg_imgActual);
					}
				}
			}).hide();
			
			if(!port){
				mouseNav.hide();
			}
			
			$('.current-slide').html($.superbg_imgActual);
			$('.total-slides').html($.superbg_imagesLoaded);
			
			if(port && $('body').hasClass('handheld') && $.superbg_imgIndex > 1){
				$('.ipad-nav').show();
			}else{
				$('.ipad-nav').hide();
			} 

	});   
	$('.firstLoad').removeClass('firstLoad');
 	
}
$(function() {

	log('gaaf');

	$([
		template_dir+'/images/arrow-down-black-small.png',
		template_dir+'/images/arrow-down-black.png',
		template_dir+'/images/arrow-down-grey-small.png',
		template_dir+'/images/arrow-down-grey.png',
		template_dir+'/images/arrow-left-grey.png',
		template_dir+'/images/arrow-right-black-small.png',
		template_dir+'/images/arrow-right-black.png',
		template_dir+'/images/arrow-right-grey-small.png',
		template_dir+'/images/arrow-right-grey.png'
	]).preload();
	
	$('.menu').find('.info').hide();

	$('.menu').find('a[target!="_blank"]').click(function(){
		var $this = $(this),
			sib = $this.siblings('ul');
		
		if(sib.length > 0){
			if(sib.is(':hidden')){
				$this.parent().addClass('open').removeClass('closed');
				sib.slideDown('fast');
			}else{
				$this.parent().removeClass('open').addClass('closed');
				sib.slideUp('fast');
			}
			//$this.parent().siblings().removeClass('active');
		}else{
			if(!$this.parent().hasClass('active')){
				$this.parent().addClass('active').siblings().removeClass('active');
			}else{
				$this.parent().removeClass('active');
				$('#infowindow').fadeOut('fast');
			}
		}
		
		return false;	
	});
	
	/*
	if($.browser.msie && $.browser.version == "7.0"){
		$('.whitebg').each(function(){
			$(this).height($(this).parent().height());
		});
	}
	*/
	
	$('.showmenu').click(function(){
		
		if($('.main').is(':visible')){
			$(this).removeClass('showmain');
			$('.main').fadeOut('fast');
		}else{
			$(this).addClass('showmain');
			$('.main').fadeIn('fast');
		}
		
		return false;
	});
	
	$('.close-info').livequery(function(){
		$(this).click(function(){
			$('#infowindow').fadeOut('fast');
			$('.active-info').removeClass('active-info');
			//$('.info:visible').slideUp('fast').parent().addClass('closed');
			
			/*
			var parli = $(this).parent().parent('li');
			
			if(parli.length > 0){
				parli.removeClass('active').children('.info').slideUp('fast');
			}
			*/
			
			return false;
		});
	});
	
	
	$('.info').livequery(function(){
		$(this).click(function(){
			//if($(this).hasClass('information')){ $('#infowindow').fadeIn('fast'); }
			//else{ $.address.value($(this).children('.open-info').attr('href')); $('#infowindow').fadeIn('fast'); }
			$('#infowindow').fadeIn('fast');
			$('.active-info').removeClass('active-info');
			$(this).addClass('active-info');
		});
	});
	
	
	$('.ipad-nav').livequery(function(){
		$(this).click(function(){
			var t = $(this);
			
			if($.superbg_imgIndex > 1){
				if(t.attr('id') == 'ipad-left'){
					$('#wallpaper').prevSlide();
				}else{
					$('#wallpaper').nextSlide();
				}
			}			
			return false;
		});
	});
	
});

/****************************************************************************************
* Address
****************************************************************************************/

var hostname,
	init;

$.address.init(function() {
	
	var french;
	hostname = 'http://'+window.location.hostname;
	var request_uri = $.address.baseURL().replace(hostname,''); //"http://localhost"; //$.address.baseURL();
	
	if(request_uri){
		refresh_to = hostname + '/#!' + request_uri + '/';
		window.location = refresh_to;
	}else{
		$('#section').css({opacity: 1});
	}	

	title = document.title;

	$('a[target!="_blank"][rel!="no-address"]').address(function() { //.nav a, .jqa
        return $(this).attr('href').replace(hostname + '/', '');
    }).click(function(){
    	if($(this).siblings('.info').is(':hidden')){
			if($(this).parent().hasClass('active')) $('#infowindow').fadeIn('fast');
			$(this).siblings('.info').slideDown('fast').parent().removeClass('closed');
    	}else if($(this).siblings().length < 1){
			if($(this).parent().hasClass('active')) $('#infowindow').fadeIn('fast');
    	}
    	
    	return false;
    }); 
	
	init = true;	
	
}).change(function(event) {
	
	log('change occurred!');
	
	var wp = $('#wallpaper');

	var pathArr = $.address.pathNames();
	var pathUri = $.address.value();
	var pathStr = $.address.path();
	var qS = $.address.queryString();
	var is_portfolio = ((pathStr.indexOf("/project/") >= 0 && pathStr != "/projects/") || (pathStr.indexOf("/commissioned/") >= 0 && pathStr != "/commissioned/")) ? true : false;
	var is_publication = (pathStr.indexOf("/publications/") >= 0) ? true : false;
	
	// Activate the menu
	var activenav = $('.menu').find('a[href="'+hostname+pathStr+'"]');
	$('.menu').find('.active').removeClass('active');
	activenav.parents('li').addClass('active').children('ul, .info').slideDown('fast');
	$('.menu').find('.info').each(function(){
		if(!$(this).parent().hasClass('active')) $(this).slideUp('fast');
	});
	
	var names = $.map(event.pathNames, function(n) {
         if(!strpos(n,'.php')) return n.substr(0, 1).toUpperCase() + n.substr(1);
     });
     
	 var newTitle = title + " | " + names.join(' | ');
	 $.address.title(newTitle);
	
	if(pathStr != "/"){
		var getVars =  { url: pathStr };
		
		$('#loading').show();
		$.post(template_dir+'/ajaxrequest.php', getVars, function(data){
			$('#content').html(data).parent('#infowindow').fadeIn('fast');
			$('#loading').hide();			
		});
		
		if(!is_publication){
			if(wp.hasClass('default') && is_portfolio){
				wp.removeClass('default').addClass('portfolio');
				if(wp.attr('rel') != pathStr) loadGallery(pathStr,1,is_portfolio);
			}else if(is_portfolio){
				if(wp.attr('rel') != pathStr) loadGallery(pathStr,1,is_portfolio);
			}else if(wp.hasClass('portfolio') && !is_portfolio){
				wp.removeClass('portfolio').addClass('default');
				loadGallery(pathStr,1,is_portfolio);
			}else if(wp.hasClass('firstLoad')){
				loadGallery(pathStr,1,is_portfolio);
			}
			
						wp.attr('rel',pathStr);

		}
		
		$('.showmenu').addClass('showmain');
	}else{
		$('.main').hide();
		if($('#wallpaper').hasClass('firstLoad')){
			loadGallery("",1,is_portfolio);
			$('.firstLoad').removeClass('firstLoad');
		}
	}
						
	init = false;
});
