/**
* jQuery Masonry v2.0.110526
* A dynamic layout plugin for jQuery
* The flip-side of CSS Floats
* http://masonry.desandro.com
*
* Licensed under the MIT license.
* Copyright 2011 David DeSandro
*/
(function(a,b,c){var d=b.event,e;d.special.smartresize={setup:function(){b(this).bind("resize",d.special.smartresize.handler)},teardown:function(){b(this).unbind("resize",d.special.smartresize.handler)},handler:function(a,b){var c=this,d=arguments;a.type="smartresize",e&&clearTimeout(e),e=setTimeout(function(){jQuery.event.handle.apply(c,d)},b==="execAsap"?0:100)}},b.fn.smartresize=function(a){return a?this.bind("smartresize",a):this.trigger("smartresize",["execAsap"])},b.Mason=function(a,c){this.element=b(c),this._create(a),this._init()};var f=["position","height"];b.Mason.settings={isResizable:!0,isAnimated:!1,animationOptions:{queue:!1,duration:500},gutterWidth:0,isRTL:!1,isFitWidth:!1},b.Mason.prototype={_filterFindBricks:function(a){var b=this.options.itemSelector;return b?a.filter(b).add(a.find(b)):a},_getBricks:function(a){var b=this._filterFindBricks(a).css({position:"absolute"}).addClass("masonry-brick");return b},_create:function(c){this.options=b.extend(!0,{},b.Mason.settings,c),this.styleQueue=[],this.reloadItems();var d=this.element[0].style;this.originalStyle={};for(var e=0,g=f.length;e<g;e++){var h=f[e];this.originalStyle[h]=d[h]||null}this.element.css({position:"relative"}),this.horizontalDirection=this.options.isRTL?"right":"left",this.offset={};var i=b(document.createElement("div"));this.element.prepend(i),this.offset.y=Math.round(i.position().top),this.options.isRTL?(i.css({"float":"right",display:"inline-block"}),this.offset.x=Math.round(this.element.outerWidth()-i.position().left)):this.offset.x=Math.round(i.position().left),i.remove();var j=this;setTimeout(function(){j.element.addClass("masonry")},0),this.options.isResizable&&b(a).bind("smartresize.masonry",function(){j.resize()})},_init:function(a){this._getColumns("masonry"),this._reLayout(a)},option:function(a,c){b.isPlainObject(a)&&(this.options=b.extend(!0,this.options,a))},layout:function(a,c){var d,e,f,g,h,i;for(var j=0,k=a.length;j<k;j++){d=b(a[j]),e=Math.ceil(d.outerWidth(!0)/this.columnWidth),e=Math.min(e,this.cols);if(e===1)this._placeBrick(d,this.colYs);else{f=this.cols+1-e,g=[];for(i=0;i<f;i++)h=this.colYs.slice(i,i+e),g[i]=Math.max.apply(Math,h);this._placeBrick(d,g)}}var l={};l.height=Math.max.apply(Math,this.colYs)-this.offset.y,this.options.isFitWidth&&(l.width=this.cols*this.columnWidth-this.options.gutterWidth),this.styleQueue.push({$el:this.element,style:l});var m=this.isLaidOut?this.options.isAnimated?"animate":"css":"css",n=this.options.animationOptions,o;for(j=0,k=this.styleQueue.length;j<k;j++)o=this.styleQueue[j],o.$el[m](o.style,n);this.styleQueue=[],c&&c.call(a),this.isLaidOut=!0},_getColumns:function(){var a=this.options.isFitWidth?this.element.parent():this.element,b=a.width();this.columnWidth=this.options.columnWidth||this.$bricks.outerWidth(!0)||b,this.columnWidth+=this.options.gutterWidth,this.cols=Math.floor((b+this.options.gutterWidth)/this.columnWidth),this.cols=Math.max(this.cols,1)},_placeBrick:function(a,b){var c=Math.min.apply(Math,b),d=0;for(var e=0,f=b.length;e<f;e++)if(b[e]===c){d=e;break}var g={top:c};g[this.horizontalDirection]=this.columnWidth*d+this.offset.x,this.styleQueue.push({$el:a,style:g});var h=c+a.outerHeight(!0),i=this.cols+1-f;for(e=0;e<i;e++)this.colYs[d+e]=h},resize:function(){var a=this.cols;this._getColumns("masonry"),this.cols!==a&&this._reLayout()},_reLayout:function(a){var b=this.cols;this.colYs=[];while(b--)this.colYs.push(this.offset.y);this.layout(this.$bricks,a)},reloadItems:function(){this.$bricks=this._getBricks(this.element.children())},reload:function(a){this.reloadItems(),this._init(a)},appended:function(a,b,c){if(b){this._filterFindBricks(a).css({top:this.element.height()});var d=this;setTimeout(function(){d._appended(a,c)},1)}else this._appended(a,c)},_appended:function(a,b){var c=this._getBricks(a);this.$bricks=this.$bricks.add(c),this.layout(c,b)},remove:function(a){this.$bricks=this.$bricks.not(a),a.remove()},destroy:function(){this.$bricks.removeClass("masonry-brick").each(function(){this.style.position=null,this.style.top=null,this.style.left=null});var c=this.element[0].style;for(var d=0,e=f.length;d<e;d++){var g=f[d];c[g]=this.originalStyle[g]}this.element.unbind(".masonry").removeClass("masonry").removeData("masonry"),b(a).unbind(".masonry")}},b.fn.imagesLoaded=function(a){var b=this.find("img"),d=b.length,e="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",f=this,g=function(){--d<=0&&this.src!==e&&(a.call(f),b.unbind("load",g))};if(!d){a.call(this);return this}b.bind("load",g).each(function(){if(this.complete||this.complete===c){var a=this.src;this.src=e,this.src=a}});return this},b.fn.masonry=function(a){if(typeof a=="string"){var c=Array.prototype.slice.call(arguments,1);this.each(function(){var d=b.data(this,"masonry");if(!d)return b.error("cannot call methods on masonry prior to initialization; attempted to call method '"+a+"'");if(!b.isFunction(d[a])||a.charAt(0)==="_")return b.error("no such method '"+a+"' for masonry instance");d[a].apply(d,c)})}else this.each(function(){var c=b.data(this,"masonry");c?(c.option(a||{}),c._init()):b.data(this,"masonry",new b.Mason(a,this))});return this}})(window,jQuery);
var paged = 1;
$(function() {
	
	$('#posts-list-masonry').masonry({
		itemSelector : 'li',
		columnWidth : 321,
		gutterWidth: 0
	});
	
	/* => Blog post selector */
	/* ----------------------------------------------*/
	$('#posts-list li').live('click', function(e) {
		if( e.target.nodeName.toLowerCase() != 'a' )
		{
			if( e.ctrlKey )
				window.open($(this).find('h2 a').attr('href'));	
			else 
				window.location.href = $(this).find('h2 a').attr('href');
		}
	});
	
	/* => Blog Widget */
	/* ----------------------------------------------*/
	
	var widget = $('#blog-widget');
	
	$('#toggle-blog-widget').toggle(function() {
		
		$(this).addClass('open');
		window.setTimeout(function() {
			$('#author').addClass('moved');
		}, 80 );
		widget.slideDown('fast');
		
	}, function() {
		
		$(this).removeClass('open');
		window.setTimeout(function() {
			$('#author').removeClass('moved');
		}, 160 );
		widget.slideUp('fast');
		
	});
	
	/* => Blog categories selector */
	/* ----------------------------------------------*/
	
	var catCon = $('#categories-list'),
		curCat = $('.current_cat', catCon),
		slider = $('.slider', catCon),
		cat = null,
		tite = '';
	
	curCatPos = curCat.position();
	slider.css( 'left', curCatPos.left );
	
	var getPostsViaAjax = function(category, paged) {
		
		cat = category;
		
		$.ajax({
			
			url: '/wp-admin/admin-ajax.php',
			type: 'POST',
			data: { 'action' : 'okia_get_posts', 'cat' : cat.split('=')[1], 'paged' : paged },
			success: function(data) {
				
				$('#posts-list').html( data );
				window.location.hash = '#/'+ cat;
				document.title = title + ' \u00ab Blog | OKIA' ;
				
				if( paged > 1 ) {
					
					document.title += ' | Leht ' + paged;
					window.location.hash = '#/'+ cat + '/page/' + paged;
					
				}

				$('#posts-list-masonry').masonry({
					itemSelector : 'li',
					columnWidth : 293,
					gutterWidth: 28
				});
				
			}
			
		});
		
	}

	$('#ajax-pagination').find('a').live('click', function(event) {
		
		event.preventDefault;
		
		var href = $(event.target).attr('href');
		page = href.split('paged=')[1];

		getPostsViaAjax(cat, page );
		
		return false;
		
	});
	
	catCon.find('a').click(function(event) {
			
		var self = $(this);
			
		if( type != 'single' ) {
			
			event.preventDefault();
		
			var cat = self.attr('href').split('#')[1],
				pos = self.parent().position();
			
			self.parent().addClass('slider-active').siblings().removeClass('current_cat slider-active');
			
			title = self.text();
			getPostsViaAjax(cat, paged);

			slider.show().animate({
				
				left: pos.left,
				width: self.parent().width()
					
			}, 500, 'easeOutCubic', function() {
				
				$(this).hide();
				self.parent().addClass('current_cat').removeClass('slider-active');
				curCat = $('.current_cat', catCon);
				
			});

		}
			
	});
	
	$('#respond').mouseenter(function() {
		$('#fcode').val(1);
	});
		
	if( window.location.hash )
	{
		var hash = window.location.hash;
		
		if( /cat=/.test( hash ) )
		{
			var token = hash.split('/'),
				slug = token[1];

			if( typeof(slug) != 'undefined' ) {
				paged = ( /\d/.test( token[3] ) ) ? token[3] : 1;
				catCon.find('a[href$="' + slug.split('=')[1] + '"]').click();
			}
		}
	}
	
});
