function initSlideDrop() {
	var _menu = $('div.sub-nav > ul');
	var _items = _menu.find('.active');
	var _hoverClass = 'hover-active';
	var _slideSpeed = 300;
	var _delay = 300;
	var _element = $('.slide');
	var _$link3 = $('.link3');
	var _$link4 = $('.link4');
	
	slide(_$link3, _slideSpeed, _delay);
	slide(_$link4, _slideSpeed, _delay);
}

function slide($element, speed, delay) {
	var _timer;
	var _speed = speed;
	var _delay = delay;
	
	var _$element = $element;
	var _wrapper = _$element.find('div');
	var _menu = _$element.find('div ul.subnav');
	var _sWidth = _$element.outerWidth(true);
	
	_menu.css({marginLeft:-_sWidth}).hide();

	_$element.hover(function(event){
				_wrapper.css({width:_sWidth,overflow:'hidden'});
				_menu.stop().show().animate({marginLeft:0},{duration:_speed,queue:true});
		},function() {
				_menu.stop().show().animate({marginLeft:-_sWidth},{duration:_speed,queue:true,complete:function(){
				_wrapper.css({width:0,overflow:'hidden'});
				}});
		});
}

function initTooltip() {
	var _tooltip = $('<div class="tooltip"><p></p></div>');
	$('body').append(_tooltip);
	var _tooltipTextHolder = _tooltip.find('p');
	var _tipWidth = 135;//parseInt(_tooltip.css('width'));
	var _cBlock = $('.content-wraper');
	var _diff = 25;
	var _timer;

	$('a[rel*="tooltip"]').each(function(){
		var _tooltipText = $(this).attr('title');
		$(this).attr('title','');

		$(this).hover(function(){
			if(_timer) clearTimeout(_timer);

			var _coords = $(this).offset();
			var _minLeft = _cBlock.offset().left;

			if(_coords.left-_tipWidth < _minLeft) _coords.left += $(this).width() + _tipWidth;
			_tooltip.css({
				left:_coords.left-_tipWidth,
				top:_coords.top - _diff
			});
			_tooltipTextHolder.html(_tooltipText);
			_tooltip.show();
		},function(){
			_timer = setTimeout(function(){
				_tooltip.hide();
			}, 50);
		});

		_tooltip.hover(function(){
			if(_timer) clearTimeout(_timer);
		},function(){
			_timer = setTimeout(function(){
				_tooltip.hide();
			}, 50);
		});
	});
}

function initGalleries() {
	$('div.featured-columns').galleryScroll({
		btPrev: 'a.prev',
		btNext: 'a.next',
		holderList: 'div.gallery-holder',
		scrollElParent: 'div.gallery-holder ul',
		scrollEl: 'div.gallery-holder li',
		disableClass: 'disable',
		duration : 650,
		circleSlide: true,
		autoSlide:false
	});
}

function initInfiniteGallery() {
	var _gallery = $('#featured-carousel');
	_gallery.each(function(){
		var _holder = $(this);
		var _holderList = _holder.find('div.featured-holder');
		var _paginationHolder = _holder.find('div.centering-2');
		var _slider = _holder.find('ul.images-list');
		var _sliderItems = _slider.find(' > li');
		var _slideCount = _sliderItems.length;
		var _slideWidth = _holderList.width();
		var _sumWidth = _slideCount * _slideWidth;
		var _autoSlide = 9000;
		var _duration = 1000;
		var _currentIndex = 0;
		var _activeClass = 'active';
		var _animationFlag = false;
		var _hoverFlag = false;
		var _offset;
		var _timer;

		// generate pagination
		_paginationHolder.empty();
		var _list = $('<ul></ul>');
		_sliderItems.each(function(_ind){
			_list.append('<li><a href="#">'+_ind+'</a></li>');
		});
		_paginationHolder.append(_list);
		var _paginationLinks = _list.find('li');
		_paginationLinks.find('a').each(function(_ind){
			$(this).click(function(){
				if(_animationFlag) return;
				_currentIndex = _ind;
				updatePagination();
				switchSlide();
				return false;
			});
		});

		// clone scroll items
		_slider.append(_sliderItems.clone()).append(_sliderItems.clone());
		_slider.css({marginLeft:-_sumWidth});

		// animation functions
		function nextSlide() {
			_currentIndex++;
			switchSlide();
		}
		function switchSlide() {
			if(_animationFlag) return;
			_animationFlag = true;
			_offset = -(_currentIndex*_slideWidth + _sumWidth);

			if(_currentIndex >= _slideCount) {
				updatePagination(0);
			}
			else updatePagination();

			_slider.stop().animate({marginLeft:_offset},{duration:_duration,queue:true,complete:function(){
				if(_currentIndex >= _slideCount) {
					_currentIndex = 0;
					_slider.css({marginLeft:-_sumWidth});
				}
				_animationFlag = false;
				updatePagination();
				if(!_hoverFlag) _timer = setTimeout(function(){nextSlide()},_autoSlide);
			}});
		}
		function updatePagination(_c) {
			if(_c != null) {
				_paginationLinks.removeClass(_activeClass).eq(_c).addClass(_activeClass);
			}
			else _paginationLinks.removeClass(_activeClass).eq(_currentIndex).addClass(_activeClass);
      cookier.setCookie('gallery_number', _currentIndex, 10);
		}

	  var cookier = new CookieHandler();
	  var temp_start = Number(cookier.getCookie('gallery_number'));
		// autoslide code
		updatePagination();
		_timer = setTimeout(function(){nextSlide()},_autoSlide);
    
		if (temp_start) {
		  _currentIndex = temp_start + 1;
		  _paginationLinks.eq(_currentIndex).find('a').click();
	  }
		
		_holder.hover(function(){
			_hoverFlag = true;
			if(_timer) clearTimeout(_timer);
		},function(){
			_hoverFlag = false;
			_timer = setTimeout(function(){nextSlide()},_autoSlide);
		});
	});
}
function initAjaxSearch()
{
	var _localUrl = 'http://www.oregon4biz.com/Grow-Your-Business/Business-services/Find-Oregon-Suppliers/NWConnectory/search.php';
	var _errorMsg = "Sorry but there was an error: ";
	
	if($("#ajax-loading").length > 0)
	{
		$("#ajax-container").load(_localUrl, function(response, status, xhr)
		{
			if(status == "error")
			{
				$("#error").html(_errorMsg + xhr.status + " " + xhr.statusText);
			}else{
				$("#ajax-loading").remove();
			}
		});
	}
}
$(document).ready(function()
{
	initSlideDrop();
});
$(window).bind("load", function() {
	initGalleries();
	initInfiniteGallery();
	initTooltip();
	initAjaxSearch();
});