window.doResize = true;
window.delayResize = false;
$(document).ready(function($){
		String.prototype.capitalize = function(){
			return this.replace( /(^|\s)([a-z])/g , function(m,p1,p2){ return p1+p2.toUpperCase(); } );
		}
		window.glb = {
			overlay: $("#top-layer"),
			loading: $("#load-layer"),
			container: $("#main-layer"),
			menu: $(".menu-block"),
			scrolled : 0,
			index : false
		}
	var title = document.title;		
	$.address.init(function(event) {
    	serialize({
			value: $.address.value(), 
			path: $.address.path(),
			pathNames: $.address.pathNames(),
			parameterNames: $.address.parameterNames(),
			queryString: $.address.queryString()
    	});
		$('.address').address(function() {
			return $(this).attr('href').replace($.address.baseURL(), '');
		});
    }).change(function(event) {
		serialize(event, /parameters|parametersNames|path|pathNames|queryString|value/);
        var names = $.map(event.pathNames, function(n) {
			n = n.split('_').join(' ').split('-').join(' ').capitalize();
        	return n;
        }).concat(event.parameters.id ? event.parameters.id.split('.') : []);
        $.address.title([title].concat(names).join(' / '));
		if(glb.index==true) {
			glb.scrolled = window.pageYOffset;
		}
		var cat = $.address.path().indexOf("category");
		var page = $.address.pathNames()[0];
		if($.address.path()!="/" && $.address.path()!="/index/" && cat<0) {
			glb.index = false;
			var content_show = $.address.path().substr(1)+" #window";
			loadContent(content_show);
			return false;
		} else if (cat>-0) {
			var $filter = $.address.path().replace("/category/", "");
			$filter = $filter.replace("/", "");
			filterItems($filter);
			glb.container.fadeIn("fast");
		} else {
			glb.index = true;
			$.address.path("/index/");
			glb.overlay.css("display", "none");
			glb.overlay.html("");
			glb.container.css("display", "block");
			glb.container.fadeIn("fast"); //animation
			filterItems("index");
			window.scrollTo(0, glb.scrolled);
		}
	});
});
function loadContent(content_show) {
	
	glb.container.css("display", "none");
	glb.loading.css("display", "block");
	glb.overlay.load(content_show, function() {
			glb.loading.css("display", "none");
			glb.overlay.css("display", "block"); //animation
			loadSingle();
	});
}
function filterItems($filter) {
		window.scrollTo(0, 0);
		glb.menu.children('a').each(function() {
            $(this).toggleClass('selected', $(this).attr("rel") == $filter);
       	});
		$(".section").each(function() {
			$self = $(this);
			if($self.attr("rel")) {
				$contains = $self.attr("rel").indexOf($filter);
				if($contains<0 && $filter!="index") {
					$self.css("display", "none");	
				} else {
					$self.css("display", "inline-block");
				}
			}
		});
}
function loadSingle() {
			window.scrollTo(0, 0);
			path = $.address.path();
			$('.post-adj').children('div').find('a').address(function() {
				return $(this).attr('href').replace($.address.baseURL(), '');
			});
			$('.back-link').address( function() {
				return $(this).attr('href').replace($.address.baseURL(), 'index');
			});
			var zoom = 0;
			var loaded = false;
			var sm_w = 0;
			var sm_h = 0;
			var l_w = 0;
			var l_h = 0;
			$("div").filter('.enlarge-itm').find("a").click(function(ev) {
				ev.preventDefault();
				var $self=$(this);
				if(zoom==0 && loaded==false) {
					zoom = 1;
					glb.loading.css("display", "block");
					var sm_href = $self.children('img').attr('href');
					sm_w = $self.children('img').width();
					sm_h = $self.children('img').height();
					$self.children('img').attr('src', $self.attr('href')).load(function() {
						glb.loading.css("display", "none");
						loaded = true;
						$self.attr('id', 'lrg');
						$self.children('img').removeAttr('width');
						$self.children('img').removeAttr('height');
						l_w = $self.children('img').width();
						l_h = $self.children('img').height();
						$self.children('img').attr('width', sm_w);
						$self.children('img').attr('height', sm_h);
						$self.children('img').animate({
							width: l_w+"px",
							height: l_h+"px"
						});
					});							
				} else if(zoom==0){
					zoom = 1;
					$self.attr('id', 'lrg');
					$self.children('img').animate({
						width: l_w+"px",
						height: l_h+"px"
					});
				} else if(zoom==1){
					zoom = 0;
					$self.attr('id', 'sm');
					$self.children('img').animate({
						width: sm_w+"px",
						height: sm_h+"px"
					});
				}
		});
		$('#imgnav').css("display", "block");
		$('.slide').find('img').each(function() {
			var $self = $(this);
			$self.addClass("next");
		})
		$('.slide').cycle({ 
			fx: 'fade',
			slideExpr: 'img',
			timeout: 0,
			speed: 500,
			next:   '.next', 
			prev:   '.prev',
			after: onAfter
		});
		function onAfter(curr, next, opts) {
			var index = opts.currSlide+1;
			$('#imgcount').html("Image "+index+" of "+opts.slideCount);
			$('#imgdesc').html(this.alt);
		}
}
function getScrollY() {
		var y = 0;
		if( typeof( window.pageYOffset ) == 'number' ) {
			// Netscap
			y = window.pageYOffset;
		} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
			// DOM
			y = document.body.scrollTop;
		} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
			// IE6 standards compliant mode
			y = document.documentElement.scrollTop;
		}
		return [y];
}
function serialize(obj, re) {
	var result = [];
	$.each(obj, function(i, val) {
		if ((re && re.test(i)) || !re)
			result.push(i + ': ' + (typeof val == 'object' ? val.join ? '\'' + val.join(', ') + '\'' : serialize(val) : '\'' + val + '\''));
		});
	return '{' + result.join(', ') + '}';
}
