// JavaScript Document
$(document).ready(function(){
// Swap classes onload and domready 
$(function(){ $('html').removeClass('not-ready').addClass('ready'); }); // jQuery 
$(window).load(function(){ $('html').removeClass('loading').addClass('loaded'); });
// Footer Blind
	$("#footerlink").click(function(){
		$(this).toggleClass('active');
		$("#slide_hidden").slideToggle("slow");
	});
// PAGE FADE-IN
	$('#page_effect').fadeIn(4000);
// IMAGE PRELOADING
	var images = [
	'images/nav_home_hover.gif',
	'images/nav_email_on.gif',
	'images/nav_rss_on.gif',
	'images/nav_linkedin_on.gif',
	'images/nav_facebook_on.gif',
	'images/nav_twitter_on.gif',
	'images/nav_about.gif',
	'images/nav_services.gif',
	'images/nav_portfolio.gif',
	'images/nav_blog.gif',
	'images/nav_contact.gif',
	'images/footer_tab_on.png',
	'images/about_cta_email_on.gif',
	'images/about_cta_portfolio_on.gif',
	'images/about_cta_resume_on.gif',
	'images/about_cta_rss_on.gif',
	'images/slider_btn_prev.png',
	'images/slider_btn_next.png'
	];
	$(images).each(function(key, value) {
		var img = new Image();
		$(img)
		.attr('src', value)
		.error(function (){
			alert('Error preloading image ' . value);
		})
	});
document.documentElement.className = 'js';
// SOCIAL icon popup
	$("#nav_logo a").hover(function() { 
		$(this).next("em").stop(true, true).animate({opacity: "show", top: "47"}, "slow"); 
	}, function() { 
		$(this).next("em").animate({opacity: "hide", top: "70"}, "fast"); 
	}); 
document.documentElement.className = 'js';
// SOCIAL icon popup
	$("#nav_facebook a").hover(function() { 
		$(this).next("em").stop(true, true).animate({opacity: "show", top: "47"}, "slow"); 
	}, function() { 
		$(this).next("em").animate({opacity: "hide", top: "70"}, "fast"); 
	}); 
document.documentElement.className = 'js';
// SOCIAL icon popup
	$("#nav_twitter a").hover(function() { 
		$(this).next("em").stop(true, true).animate({opacity: "show", top: "47"}, "slow"); 
	}, function() { 
		$(this).next("em").animate({opacity: "hide", top: "70"}, "fast"); 
	}); 
document.documentElement.className = 'js';
// SOCIAL icon popup
	$("#nav_linkedin a").hover(function() { 
		$(this).next("em").stop(true, true).animate({opacity: "show", top: "47"}, "slow"); 
	}, function() { 
		$(this).next("em").animate({opacity: "hide", top: "70"}, "fast"); 
	}); 
document.documentElement.className = 'js';
// SOCIAL icon popup
	$("#nav_rss a").hover(function() { 
		$(this).next("em").stop(true, true).animate({opacity: "show", top: "47"}, "slow"); 
	}, function() { 
		$(this).next("em").animate({opacity: "hide", top: "70"}, "fast"); 
	}); 
document.documentElement.className = 'js';
// SOCIAL icon popup
	$("#nav_email a").hover(function() { 
		$(this).next("em").stop(true, true).animate({opacity: "show", top: "47"}, "slow"); 
	}, function() { 
		$(this).next("em").animate({opacity: "hide", top: "70"}, "fast"); 
	}); 
// START NAV SCROLLING
	jQuery(function( $ ){
		// Scroll the x and y axis
		$.localScroll.defaults.axis = 'xy';
		
		// Scroll if there's a hash (#something) in the url 
		$.localScroll.hash({
			target: '#content', // Could be a selector or a jQuery object too.
			queue:true,
			duration:1500
		});
		/**
		 * NOTE: I use $.localScroll instead of $('#navigation').localScroll() so I
		 * also affect the >> and << links. I want every link in the page to scroll.
		 */
		$.localScroll({
			target: '#content', // could be a selector or a jQuery object too.
			queue:true,
			duration:1000,
			hash:true,
			onBefore:function( e, anchor, $target ){
				// The 'this' is the settings object, can be modified
			},
			onAfter:function( anchor, settings ){
				// The 'this' contains the scrolled element (#content)
			}
		});
	});
// setting the selected menu item'class as active
	$(function(){
		$('#nav a').click(function(){
				$('#nav a').removeClass('active');
				$(this).addClass('active');
				$('html, body').animate({scrollTop:0}, 'fast');
		});
	});
// EASY SLIDERs
	$("#slider").easySlider({
		prevId:         'prevBtn',
		prevText:       'Previous',
		nextId:         'nextBtn',
		nextText:       'Next',
		controlsShow:   true,
		controlsBefore: '',
		controlsAfter:  '',
		controlsFade:   true,
		insertAfter:    true,
		firstId:        'firstBtn',
		firstText:      'First',
		firstShow:      false,
		lastId:         'lastBtn',
		lastText:       'Last',
		lastShow:       false,
		vertical:       false,
		speed:          800,
		ease:           'swing',
		auto:           true,
		pause:          6000,
		continuous:     true,
		prevNext:       true,
		numeric:        false,
		numericId:      'controls' 
	});
// ACCORDION - FRONT PAGE
	$(function() {
		var icons = {
			header: "accordion_home_arrow_closed",
			headerSelected: "accordion_home_arrow_open"
		};
		$("#accordion_home").accordion({
			icons: icons,
			fillSpace: true,
			active: 3
		});
	});
// ACCORDION - SERVICES PAGE
	$(function() {
		var icons = {
			header: "accordion_services_arrow_closed",
			headerSelected: "accordion_services_arrow_open"
		};
		$("#accordion_services").accordion({
			icons: icons,
			fillSpace: true,
			active: 0
		});
	});
// FRONT PAGE SCROLLER
/**
 * Utility function for truncating a string without breaking words.
 */
function mycarousel_truncate(str, length, suffix) {
    if (str.length <= length) {
        return str;
    }
    if (suffix === undefined) {
        suffix = '...';
    }
    return str.substr(0, length).replace(/\s+?(\S+)?$/g, '') + suffix;
}
/**
 * Item html creation helper.
 */
function mycarousel_getItemHTML(item)
{
    return '<h3><a href="'+$('link', item).text()+'">'+$('title', item).text()+'</a></h3><p>'+mycarousel_truncate($('description', item).text(), 90)+'</p>';
}
function mycarousel_itemAddCallback(carousel, xml)
{
    var $items = jQuery('item', xml);
    $items.each(function(i) {
        carousel.add(i + 1, mycarousel_getItemHTML(this));
    });
    carousel.size($items.size());
    // Unlock and setup.
    carousel.unlock();
    carousel.setup();
}
function mycarousel_initCallback(carousel, state)
{
    // Lock until all items are loaded. That prevents jCarousel from
    // setup correctly and we have to do that in the ajax callback
    // function with carousel.setup().
    // We're doing that because we don't know the exact height of each
    // items until they are added to the list.
    carousel.lock();
    jQuery.get(
        'special_textscroller.php',
        {
            'feed': 'http://twitter.com/statuses/user_timeline/28488553.rss'
        },
        function(xml) {
            mycarousel_itemAddCallback(carousel, xml);
        },
        'xml'
    );
}
    /**
     * We show a simple loading indicator
     * using the jQuery ajax events
     */
    jQuery().ajaxStart(function() {
        jQuery(".jcarousel-clip-vertical").addClass('loading');
    });
    jQuery().ajaxStop(function() {
        jQuery(".jcarousel-clip-vertical").removeClass('loading');
    });
    jQuery('#twitfeed').jcarousel({
        vertical: true,
        size: 0,
		scroll: 1,
        initCallback: mycarousel_initCallback
    });
// ABOUT - SLIDESHOW SCRIPT
	$(function() {
	$('#aboutslides').crossSlide({
	  fade: 2,
	  shuffle:true
	}, [
	{
		src:  'images/about_slideshow_32.jpg',
		href: '#',
		from: '0% 100% 1x',
		to:   '20% 0% .7x',
		time: 5
	  }, {
		src:  'images/about_slideshow_31.jpg',
		href: '#',
		from: '100% 100% .6x',
		to:   '0% 50% 1x',
		time: 5
	  }, {
		src:  'images/about_slideshow_24.jpg',
		href: '#',
		from: '50% 50% .6x',
		to:   '50% 0% 1x',
		time: 5
	  },
	{
		src:  'images/about_slideshow_27.jpg',
		href: '#',
		from: 'bottom center .6x',
		to:   'top center 1x',
		time: 5
	  },{
		src:  'images/about_slideshow_01.jpg',
		href: '#',
		from: 'center center 0.7x',
		to:   'top center 1x',
		time: 5
	  }, 
	{
		src:  'images/about_slideshow_06.jpg',
		href: '#',
		from: '100% 50% 1x',
		to:   '20% 0% 1x',
		time: 5
	  },
	{
		src:  'images/about_slideshow_08.jpg',
		href: '#',
		from: '100% 50% .7x',
		to:   '0% 0% 1x',
		time: 5
	  },
	{
		src:  'images/about_slideshow_17.jpg',
		href: '#',
		from: '100% 100% 1.2x',
		to:   '0% 50% .8x',
		time: 5
	  },
	{
		src:  'images/about_slideshow_19.jpg',
		href: '#',
		from: '50% 20% .7x',
		to:   '100% 0% 1x',
		time: 5
	  },
	{
		src:  'images/about_slideshow_20.jpg',
		href: '#',
		from: 'bottom right .7x',
		to:   'top left 1x',
		time: 5
	  },
	{
		src:  'images/about_slideshow_22.jpg',
		href: '#',
		from: '50% 0% 1x',
		to:   '100% 100% .6x',
		time: 5
	  },
	{
		src:  'images/about_slideshow_23.jpg',
		href: '#',
		from: '0% 120% .8x',
		to:   '30% 0% 1.3x',
		time: 5
	  }
	  ]);
	});
//TAB EFFECTS - PORTFOLIO
var TabbedContent = {
	init: function() {	
		$(".tab_item").click(function() {
			var background = $(this).parent().find(".moving_bg");
			$(background).stop().animate({
				left: $(this).position()['left']
			}, {
				duration: 300
			});
			TabbedContent.slideContent($(this));
		});
	},
	slideContent: function(obj) {
		var margin = $(obj).parent().parent().find(".slide_content").width();
		margin = margin * ($(obj).prevAll().size() - 1);
		margin = margin * -1;
		$(obj).parent().parent().find(".tabslider").stop().animate({
			marginLeft: margin + "px"
		}, {
			duration: 300
		});
	}
};
	TabbedContent.init();
	
// PORTFOLIO GRID MOUSEOVER EFFECT
	//To switch directions up/down and left/right just place a "-" in front of the top/left attribute
	$('.foliogrid .boxgrid.captionfull').hover(function(){
		$(".cover", this).stop().animate({top:'100px'},{queue:false,duration:160});
	}, function() {
		$(".cover", this).stop().animate({top:'180px'},{queue:false,duration:160});
	});
// FRONT PAGE FEATURED MOUSEOVER EFFECT
	//To switch directions up/down and left/right just place a "-" in front of the top/left attribute
	$('#featured .boxgrid.captionfull').hover(function(){
		$(".cover", this).stop().animate({top:'216px'},{queue:false,duration:160});
	}, function() {
		$(".cover", this).stop().animate({top:'356px'},{queue:false,duration:160});
	});

// FANCYBOX SCRIPT FOR FEATURED
	$("[rel=shots_phfs]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=shots_box]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=shots_rivers]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=shots_myreg]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=shots_pps]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
// FANCYBOX SCRIPT FOR PORTFOLIO
	$("[rel=folio_sandk]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_rivers]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_box]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_nautilus]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_phfs]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_gst]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_mrf]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_bfi]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_oyc]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_emerge]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_snc]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_chif]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_enhance]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_orreef]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_pnwmas]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_reeflabs]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_trancium]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_hood]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
// START TAB - BRANDING
	$("[rel=folio_id_issp]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });

	$("[rel=folio_id_sandk]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });

	$("[rel=folio_id_box]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });

	$("[rel=folio_id_myreg]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_id_nc1]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_id_nc2]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_id_nc3]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
	$("[rel=folio_id_trancium]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true',
				'cyclic'			: 'true'
	 });
// START TAB - WIREFRAMES
	$("[rel=folio_wf_1]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true'
	 });
	$("[rel=folio_wf_2]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true'
	 });
	$("[rel=folio_wf_3]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true'
	 });
	$("[rel=folio_wf_4]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true'
	 });
	$("[rel=folio_wf_5]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true'
	 });
// START TAB - SITEMAPS
	$("[rel=folio_sm_1]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true'
	 });
	$("[rel=folio_sm_2]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true'
	 });
	$("[rel=folio_sm_3]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true'
	 });
	$("[rel=folio_sm_4]").fancybox({
				'titlePosition'		: 'inside',
				'transitionIn'		: 'elastic',
				'transitionOut'		: 'elastic',
				'showNavArrows'		: 'true'
	 });

// CONTACTABLE
	$(function(){
		$('#contact').contactable({
			subject: 'A Feeback Message'
		});
	});

//START jQuery Tooltip Plugin
	$('.service_icons li').tinyTips('light', 'title');	
// CLOSE DOC READY
});

