Cufon.replace('ul.navigation a');
Cufon.replace('.main-quote blockquote p', { fontFamily: 'Helvetica Neue' });
var J = jQuery.noConflict();
J(document).ready(function(){

	/* Home page fade slider */
	J('#header .slider').cycle({
		next:   '#header .controls .next',
    	prev:   '#header .controls .prev',
		timeout: 6000
	});
	
	/* Show dropdown menus */
	J('.browse-services a.open-link, .filter-by a.open-link').click(function(){
		J(this).next().toggle();
		J(this).toggleClass('open');
		hideDropdown();
		hideDropdownFilters();
	});
	
	/* Slideshow on single post */
	J(".rotator").carousel({
		btnsPosition:'outside'
	});
	
	/* Share, Print buttons */
	J('a.share, a.print').hover(function(){
		J(this).stop(true, true).animate({right: "-=45"});
	}, function(){
		J(this).stop(true, true).animate({right: "-1"});
	});
	
	/* Read more button */
	readMore();
	
	/* Function darkness image in blocks */
	//showView();

	/* Contact form fields validation */
	J('form.wpcf7-form').submit(function(){
		setTimeout(function(){
			J('form.wpcf7-form').find('.form-row').each(function(){
				if (J(this).find('span.wpcf7-not-valid-tip').length > 0){
					J(this).find('input[type="text"], textarea').addClass('not-valid');
				} else {
					J(this).find('input[type="text"], textarea').removeClass('not-valid');
				}
			});
		}, 500)
	});
	
	/* Lightbox */
	J('.blocks ul a').each(function(){
		if (J(this).attr('class') != 'lightview'){
			/* J(this).lightBox({
				imageLoading: './wp-content/themes/yodi/public/images/lightbox/lightbox-ico-loading.gif',
				imageBtnClose: './wp-content/themes/yodi/public/images/lightbox/lightbox-btn-close.gif',
				imageBtnPrev: './wp-content/themes/yodi/public/images/lightbox/lightbox-btn-prev.gif',
				imageBtnNext: './wp-content/themes/yodi/public/images/lightbox/lightbox-btn-next.gif',
				fixedNavigation:true
			}); */
		}
	})
	
	/* Stylization twitter list */
	J('.twitter ul .entry-content').each(function(){
		J(this).appendTo(J(this).parent());
	});
	J('.twitter ul .time-meta').each(function(){
		J(this).appendTo(J(this).parent());
	});
	
	/* Stylization checkboxes */
	J('input[type=checkbox]').prettyCheckboxes({
		checkboxWidth: 17,
		checkboxHeight: 17,
		className : 'prettyCheckbox',
		display: 'list'
	});
	
	/* Preload images */
	J('#content .image span').each(function(i, el){
		var preloadImg = new Image();
		preloadImg.src = J(el).text();
		J(el).parent().html(preloadImg).fadeIn(500);
	});
	
	/* Initialization quicksand javascript */
	initQuicksand();
	//featuresClick();
	
	/* Posts rotator */
	if (J('#posts-list').length > 0){
		var postsSize = J('#posts-list > ul > li').size();
		var startPost = J('#posts-list li.current').index();
		var isLoadingInProgress = false, btnPrevPath = '.pager .prev a, .pager-top .prev-page a', btnNextPath = '.pager .next a, .pager-top .next-page a';
		
		var getCurrentLi = function(){
			return J(J('#posts-list UL LI.current')[0]);
		};

		J(btnPrevPath + ',' + btnNextPath).click(function(e){
			if(isLoadingInProgress){
				e.stopImmediatePropagation();
				return false;
			}

			var moveRight = !J(this).parent().hasClass('prev-page') && !J(this).parent().hasClass('prev');
			var cli = getCurrentLi();
			if(typeof cli == 'undefined'){
				return;
			}

			if(moveRight && cli.next().length > 0){
				cli.next().addClass('current');
			} else if(cli.prev().length > 0) {
				cli.prev().addClass('current');	
			}

			var prevli = cli;
			cli.removeClass('current');
			cli = getCurrentLi();
			if(cli.children('DIV.hidden').length > 0){
				var url = cli.children('DIV.hidden').text();
				if(url != ''){
					isLoadingInProgress = true;
					prevli.css('opacity', 0.5);
					J.ajax({
						url: url + '?ajaxmode=true',
						success: function(rcvdData){
							cli.css('height', 'auto');
							cli.html(rcvdData);
							setTimeout(function(){
								isLoadingInProgress = false;
								J('#posts-list').jCarouselLite.go(cli.index());
								if(typeof window.history != 'undefined' && typeof window.history.pushState != 'undefined'){
									window.history.pushState({}, '', url);
								}
								prevli.css('opacity', 1);
								prevli.css('height', '1px');
							}, 500);
						}
					});
				}
			} else {
				cli.css('height', 'auto');
				prevli.css('height', '1px');
			}
		});

		J('#posts-list').jCarouselLite({
			visible: 1,
			start: startPost,
			circular: false,
			btnPrev: btnPrevPath,
			btnNext: btnNextPath,
			beforeStart: function(){
				if(isLoadingInProgress){
					return false;
				}
				return true;
			},
			afterEnd: function(){
				setTimeout(function(){
					J(".rotator").carousel({
						btnsPosition:'outside'
					});
					readMore();
					var projUrl = J('li.current span.project-url').text();
					J("a.addthis_button").attr("addthis:url", projUrl);
					window.addthis.ost = 0;
					window.addthis.ready();
					refreshPrint();
				}, 300);
				setTimeout(function(){
					//showView();
					J('.blocks ul a').each(function(){
						if (J(this).attr('class') != 'lightview'){
							J('.blocks ul a').each(function(){
								if (J(this).attr('class') != 'lightview'){
									/* J(this).lightBox({
										imageLoading: './wp-content/themes/yodi/public/images/lightbox/lightbox-ico-loading.gif',
										imageBtnClose: './wp-content/themes/yodi/public/images/lightbox/lightbox-btn-close.gif',
										imageBtnPrev: './wp-content/themes/yodi/public/images/lightbox/lightbox-btn-prev.gif',
										imageBtnNext: './wp-content/themes/yodi/public/images/lightbox/lightbox-btn-next.gif',
										fixedNavigation:true
									}); */
								}
							})
						}
					})
				}, 500)
			}
		});
		
		J('#posts-list').css('visibility', 'visible');
		if ( postsSize < 2 ){
			J('.pager-top .next-page, .pager-top .prev-page, .pager .next, .pager .prev').addClass('disabled');
		} else if ( postsSize == startPost+1 ){
			J('.pager .next a, .pager-top .next-page a').addClass('disabled');
		} else if ( startPost == 0 ){
			J('.pager .prev a, .pager-top .prev-page a').addClass('disabled');
		}
	}
	
	/* Download pdf on banner click */
	J('#content .banner a').click(function(){
		var filePath = J(this).attr('href');
		var currPath = window.location;
		window.location.href = currPath + "wp-content/themes/yodi/download.php?path=" + filePath;
		return false;
	})
	
	/* Formatting blocks styles */
	J('.blocks ul li div').addClass('descr');
	J('.blocks ul li:last').addClass('last');
	
})

function showView(){
	J('.blocks ul a').each(function(){
		if ( !J(this).find('span.view').length ){
			var addElems = '<span class="view"><span>&nbsp;</span></span>';
			var overlayWidth = J(this).find('img').attr('clientWidth');
			var overlayHeight = J(this).find('img').attr('clientHeight');
			
			//alert(overlayHeight);
			J(this).css({
				'position': 'relative',
				'float': 'left'
			}).append(addElems);
			J(this).find('span span').css({
				width: overlayWidth,
				height: overlayHeight
			});
		}
	})
	J('.blocks ul a').each(function(){
		J(this).unbind('hover');
	})
	J('.blocks ul a').hover(function(){
		J(this).find('.view').stop(true, true).fadeIn(500);
	}, function(){
		J(this).find('.view').stop(true, true).fadeOut(500);
	});
}

function initQuicksand(){
	var url = location.href;
	var filter = url.split('filter=');
	
	// bind checkbuttons in the form
	var $filterType = J('#filter input[name="filter"]');

	// get the first collection
	var $works = J('#work-list');
		
	// clone works to get a second collection
	var $data = $works.clone();
	
	if (filter[1]){
		if (filter[1].indexOf(",") != -1){
			var filterList = filter[1].split(",");
			var elems = '';
			for (var i=0;i < filterList.length;i++ ){
				var val = filterList[i];
				elems += 'li[data-type~=' + val + '], ';
				var $filteredData = $data.find(elems);
			}
			$works.quicksand($filteredData, { duration: 1000 });
		} else {
			var elems = 'li[data-type~=' + filter[1] + '], ';
			var $filteredData = $data.find(elems);
			$works.quicksand($filteredData, { duration: 1000 });
		}
	}

	// attempt to call Quicksand on every form change
	$filterType.change(function(e) {
		
		if (J($filterType+':checked').val() == undefined) {
			$filteredData = $data.find('li');
		} else {
			elems = '';
			J($filterType+':checked').each(function(){
				elems += 'li[data-type~=' + J(this).val() + '], ';
			});
			$filteredData = $data.find(elems);
		}
		
		filtersSubmit();
		var filters = [];
		J('form#filter label.checked').each(function(){
			filters.push(J(this).prev().attr('id'));
		});
		J('form#filters-list input').attr('value', filters);
		J('#filters-list').submit();
		
		$works.quicksand($filteredData, { duration: 1000 });
	});
	
	if (J($filterType+':checked').val() == undefined) {
		$filteredData = $data.find('li');
	} else {
		elems = '';
		J($filterType+':checked').each(function(){
			elems += 'li[data-type~=' + J(this).val() + '], ';
		});
		$filteredData = $data.find(elems);
	}
	
	$works.quicksand($filteredData, { duration: 1000 }, function() {
		filtersSubmit();
		var filters = [];
		J('form#filter label.checked').each(function(){
			filters.push(J(this).prev().attr('id'));
		});
		J('form#filters-list input').attr('value', filters);
		J('#filters-list').submit();
	});
	
}

function hideDropdownFilters(){
	J('#content .filter-by').mouseleave(function(){
		var timer = setTimeout(function(){
			J('#content .filter-by').find('form').fadeOut('normal');
		}, 3000);
		J('#content .filter-by').mouseenter(function(){
			clearTimeout(timer);
			hideDropdownFilters();
		});
	})
}

function hideDropdown(){
	J('#content .browse-services').mouseleave(function(){
		var timer = setTimeout(function(){
			J('#content .browse-services').find('.open-services').fadeOut('normal', function(){
				J(this).prev().removeClass('open');
			});
		}, 1000);
		J('#content .browse-services').mouseenter(function(){
			clearTimeout(timer);
			hideDropdown();
		});
	})
}
function readMore(){
	J('.left-col a.read-more').unbind('click').click(function(){
		var classObj = this;
		J('.left-col .content-end').slideToggle();
		J('.left-col a.read-more span.center').fadeToggle();
		J('.left-col a.read-more span.center_hide').fadeToggle();
	});
}

function filtersSubmit(){
	J('form#filters-list').submit(function(){
		var formData = J(this).serialize();
		J.ajax({
			type: 'POST', url: J(this).attr('action'), data: formData
		});
		
		return false;
	});	
}

function featuresClick(){
	J('ul.features a').click(function(){
		var url = J(this).attr('href');
		window.location.href = url+'?single=1';
		return false;
	});
}

function refreshPrint(){
	var url = J('li.current span.project-url').text();
	var cPrint = J('a.print').attr('href');
	var postId = url.split('-');
	postId_sz = postId.length;
	postId = postId[postId_sz-1];
	postId = postId.split('.html');
	postId = postId[0];
	cPrint = cPrint.split('=');
	cPrint = cPrint[0] + '=' + postId;
	J('a.print').attr('href', cPrint);
}

