//INSERT PLUGINS HERE
/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 2/19/2008
 * @author Ariel Flesler
 * @version 1.3.3
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function($){var o=$.scrollTo=function(a,b,c){o.window().scrollTo(a,b,c)};o.defaults={axis:'y',duration:1};o.window=function(){return $($.browser.safari?'body':'html')};$.fn.scrollTo=function(l,m,n){if(typeof m=='object'){n=m;m=0}n=$.extend({},o.defaults,n);m=m||n.speed||n.duration;n.queue=n.queue&&n.axis.length>1;if(n.queue)m/=2;n.offset=j(n.offset);n.over=j(n.over);return this.each(function(){var a=this,b=$(a),t=l,c,d={},w=b.is('html,body');switch(typeof t){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(t)){t=j(t);break}t=$(t,this);case'object':if(t.is||t.style)c=(t=$(t)).offset()}$.each(n.axis.split(''),function(i,f){var P=f=='x'?'Left':'Top',p=P.toLowerCase(),k='scroll'+P,e=a[k],D=f=='x'?'Width':'Height';if(c){d[k]=c[p]+(w?0:e-b.offset()[p]);if(n.margin){d[k]-=parseInt(t.css('margin'+P))||0;d[k]-=parseInt(t.css('border'+P+'Width'))||0}d[k]+=n.offset[p]||0;if(n.over[p])d[k]+=t[D.toLowerCase()]()*n.over[p]}else d[k]=t[p];if(/^\d+$/.test(d[k]))d[k]=d[k]<=0?0:Math.min(d[k],h(D));if(!i&&n.queue){if(e!=d[k])g(n.onAfterFirst);delete d[k]}});g(n.onAfter);function g(a){b.animate(d,m,n.easing,a&&function(){a.call(this,l)})};function h(D){var b=w?$.browser.opera?document.body:document.documentElement:a;return b['scroll'+D]-b['client'+D]}})};function j(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
/**
 * jQuery[a] - Animated scrolling of series
 * Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 3/20/2008
 * @author Ariel Flesler
 * @version 1.2.1
 *
 * http://flesler.blogspot.com/2008/02/jqueryserialscroll.html
 */
;(function($){var a='serialScroll',b='.'+a,c='bind',C=$[a]=function(b){$.scrollTo.window()[a](b)};C.defaults={duration:1e3,axis:'x',event:'click',start:0,step:1,lock:1,cycle:1,constant:1};$.fn[a]=function(y){y=$.extend({},C.defaults,y);var z=y.event,A=y.step,B=y.lazy;return this.each(function(){var j=y.target?this:document,k=$(y.target||this,j),l=k[0],m=y.items,o=y.start,p=y.interval,q=y.navigation,r;if(!B)m=w();if(y.force)t({},o);$(y.prev||[],j)[c](z,-A,s);$(y.next||[],j)[c](z,A,s);if(!l.ssbound)k[c]('prev'+b,-A,s)[c]('next'+b,A,s)[c]('goto'+b,t);if(p)k[c]('start'+b,function(e){if(!p){v();p=1;u()}})[c]('stop'+b,function(){v();p=0});k[c]('notify'+b,function(e,a){var i=x(a);if(i>-1)o=i});l.ssbound=1;if(y.jump)(B?k:w())[c](z,function(e){t(e,x(e.target))});if(q)q=$(q,j)[c](z,function(e){e.data=Math.round(w().length/q.length)*q.index(this);t(e,this)});function s(e){e.data+=o;t(e,this)};function t(e,a){if(!isNaN(a)){e.data=a;a=l}var c=e.data,n,d=e.type,f=y.exclude?w().slice(0,-y.exclude):w(),g=f.length,h=f[c],i=y.duration;if(d)e.preventDefault();if(p){v();r=setTimeout(u,y.interval)}if(!h){n=c<0?0:n=g-1;if(o!=n)c=n;else if(!y.cycle)return;else c=g-n-1;h=f[c]}if(!h||d&&o==c||y.lock&&k.is(':animated')||d&&y.onBefore&&y.onBefore.call(a,e,h,k,w(),c)===!1)return;if(y.stop)k.queue('fx',[]).stop();if(y.constant)i=Math.abs(i/A*(o-c));k.scrollTo(h,i,y).trigger('notify'+b,[c])};function u(){k.trigger('next'+b)};function v(){clearTimeout(r)};function w(){return $(m,l)};function x(a){if(!isNaN(a))return a;var b=w(),i;while((i=b.index(a))==-1&&a!=l)a=a.parentNode;return i}})}})(jQuery);
/**
 * jQuery - Set Sibling Hover
 * Copyright (c) 2008 - 2009 Mike Slater
 * @author Mike Slater
 *
 */
;(function($){
  $.fn.setSiblingHover = function(options) {
  	var settings = $.extend({
  		fadeLevel : 0.5,
  		overSpeed : 250,
  		sibSpeed : 250
  	},options||{});
	var item = $(this)
	item.hover(
		function(){
			$(this).stop()
			.fadeTo(settings.overSpeed, 1.0)
			.siblings()
			.stop()
			.fadeTo(settings.sibSpeed, settings.fadeLevel);
		}, function(){
			item.parent().children()
			.stop()
			.fadeTo(settings.sibSpeed, 1.0);
	});
    return this;
  };
})(jQuery);
/**
 * SLATRONICA TABS
 * Copyright (c) 2008 - 2009 Mike Slater
 * @author Mike Slater
 *
 */
;(function($){
	$.slatronica = { 
	
		tabs: function(options)
		{
			var settings = $.extend({
				firstTab : 0
				}, options||{});
				
			var $tabbar = $('div.tabbar');
			
			var showTab = function()
			{
				var theTab = $(this).find('a').attr('rel');
				$(this).removeClass('tabinact').addClass('tabactive')
								.siblings().removeClass('tabactive').addClass('tabinact');
				$('.' + theTab).siblings('.tabcontent').hide();
				$('.' + theTab).show();
				return false;
			};
			
			$tabbar.find('li').bind('click', showTab);
			$tabbar.find('li:eq('+settings.firstTab+')').trigger('click');
		
		}
	};
})(jQuery);

//GLOBAL VARIABLES
var galXmlURL;
var $galInfo;
var $galXML;
var $gallery;
var $galList;
var galName;
var galItems = 0;

//GLOBAL FUNCTIONS
var setGal = function(num)
{

	var $theItem = $galXML.find('item:eq('+num+')');
	
	if($theItem.find('theImg').text() !== '')
	{
		$gallery.empty();
		var $newImg = $('<img />')
			.fadeTo(1, 0.01)
			.attr('alt', '')
			.attr('src', 'galleries/' + galName + '/' + $theItem.find('theImg').text())
			.appendTo($gallery)
			.fadeTo(2000, 1.0);
			/*
			.load(function()
			{
				$(this).fadeTo(450, 1.0);
			});
			*/
			
	}
	if($theItem.find('title').text() !== '')
	{
		$galInfo.find('.title').text($theItem.find('title').text());
	}
	if($theItem.find('subtitle').text() !== '')
	{
		$galInfo.find('.subtitle').text($theItem.find('subtitle').text());
	}
		
};

var setupGalleryAnimation = function()
{
	
	//SET IMAGE SLIDER WIDTH
	$galList.width(570);
	var pagewidth = $galList.find('li:first-child').width() + 10;
	var total = galItems * pagewidth;
	if (total > 570)
	{
		$galList.width(total);
	}

	//CACHE WRAPPER VARIABLES
	var $prev = $('#arrow_left'),		//prev button
		$next = $('#arrow_right');		//next button
	
	var $pane = $('#pane'), 			//the item being scrolled
		$items = $pane.find('ul > li');	//the scrolled items
	
	var numItems = $items.length;
		
	$prev.fadeTo(1, 0.2);
	$next.addClass('hand');
	
	//MAKE THE SCROLLER WORK
	$pane.serialScroll(
	{
	    items:$items,
	    prev:$prev,
	    next:$next,
	    cycle:false,
	    force:true,
	    exclude: 3,
		onBefore:function( e, elem, $pane, $items, pos )
		{			
			if( pos > 0 ) {
				$prev.fadeTo(1, 1.0).addClass('hand');
			}
			
			if( pos < numItems ) {
				$next.fadeTo(1, 1.0).addClass('hand');
			}

			if( pos === 0 ) {
				$prev.fadeTo(1, 0.2).removeClass('hand');
			}
			else if( (pos + 4) === numItems ) {
				$next.fadeTo(1, 0.2).removeClass('hand');
			}
		}
	});

	$galList.find('li').setSiblingHover();
		
};

//ON DOM READY
$(function(){

	//LINK THE LOGO TO THE HOMEPAGE
	$('#site_logo').bind('click', function(){document.location="http://hannadesigngroup.com";})

	//INITIATE HP ACCORDION
	$("#accordion").accordion();

	//SETUP MAIN NAVIGATION
	//--------------------------------------------------
    var $el, leftPos, newWidth,
        $Nav = $("#nav");
    
    $Nav.append("<li id='magic-line'></li>");
    
    var $magicLine = $("#magic-line");
    
    $magicLine
    	.width(($(".current_page_item").width()) - 5)
        .height($Nav.height())
        .css("left", $(".current_page_item a").position().left)
        .data("origLeft", $(".current_page_item a").position().left)
        .data("origWidth", $magicLine.width())
        .data("origColor", '#fff');
        
    $(".current_page_item a").css("color", "#000");
                
    $("#nav li").find("a").hover(function() {
        $el = $(this);
        leftPos = $el.position().left;
        newWidth = ($el.parent().width()) - 5;
        $magicLine.stop().animate({
            left: leftPos,
            width: newWidth,
            backgroundColor: $el.attr("rel")
        })
        if ($el.parent().hasClass("current_page_item")){ $(".current_page_item a").css("color", "#fff"); }
    }, function() {

        $magicLine.stop().animate({
            //left: $magicLine.data("origLeft"),
            //width: $magicLine.data("origWidth"),
            backgroundColor: $magicLine.data("origColor")
        });    
        $(".current_page_item a").css("color", "#000");
    });

	//--------------------------------------------------
	//ANIMATE RAIL NAVIGATION LINKS
    //--------------------------------------------------
    
	$("#rail .rail_links").find("a").hover(function()
    {
    	$(this).siblings().stop().animate({left: 0})
    }, function()
    {
    	$(this).siblings().stop().animate({left: -250})
    });
    
    $('#rail .rail_clients li:odd').addClass('right');

	//--------------------------------------------------
	//POPULATE THE GALLERY WITH THE XML DATA
	//--------------------------------------------------

	if(document.getElementById('gallery'))
	{
		var $container = $('#gallery').addClass('loading').empty();
		galName = $container.attr('rel');
		$galList = $('ul#gal_tmbs');
		
		galXmlURL = 'galleries/' + galName + '/settings.xml';
				
		$.get(galXmlURL, function(data)
		{
		
			if($('gallery item', data).size() > 0)
			{
				galItems = $('gallery item', data).size();
				$('gallery item', data).each(function()
				{					
					var $newImg = $('<img />')
						.attr('alt', '')
						.attr('src', 'galleries/' + galName + '/tmb/' + $('theImg', this).text())
						.bind('click', function()
						{
							setGal($(this).parent('li').index());
						})
						.addClass('hand');
					var $newItem = $('<li></li>')
						.append($newImg)
						.addClass('item')
						.appendTo($galList);
				});
				
				$galInfo = $('#title_bar');
				$gallery = $('#gallery');
				$galXML = $(data);
				setGal(0);
				
				setupGalleryAnimation();
			}
		});
		
		//INITIATE GALLERY DESC TABS
		$.slatronica.tabs({firstTab: 0});
		
		$('#desc_nav_bar ul li').setSiblingHover({overSpeed : 500, sibSpeed : 500});

	}
	//--------------------------------------------------
	
});

//ON IMAGES READY
$(window).load(function() {

	$('ul.clients_list li').setSiblingHover({overSpeed : 500, sibSpeed : 500, fadeLevel : 0.2});

});
